dist.framework.js 1.2 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693
  1. function unityFramework(Module) {
  2. var Module = typeof Module !== "undefined" ? Module : {};
  3. ;
  4. var stackTraceReference = "(^|\\n)(\\s+at\\s+|)jsStackTrace(\\s+\\(|@)([^\\n]+):\\d+:\\d+(\\)|)(\\n|$)";
  5. var stackTraceReferenceMatch = jsStackTrace().match(new RegExp(stackTraceReference));
  6. if (stackTraceReferenceMatch) Module.stackTraceRegExp = new RegExp(stackTraceReference.replace("([^\\n]+)", stackTraceReferenceMatch[4].replace(/[\\^${}[\]().*+?|]/g, "\\$&")).replace("jsStackTrace", "[^\\n]+"));
  7. var abort = (function(what) {
  8. if (ABORT) return;
  9. ABORT = true;
  10. EXITSTATUS = 1;
  11. if (typeof ENVIRONMENT_IS_PTHREAD !== "undefined" && ENVIRONMENT_IS_PTHREAD) console.error("Pthread aborting at " + (new Error).stack);
  12. if (what !== undefined) {
  13. out(what);
  14. err(what);
  15. what = JSON.stringify(what);
  16. } else {
  17. what = "";
  18. }
  19. var message = "abort(" + what + ") at " + stackTrace();
  20. if (Module.abortHandler && Module.abortHandler(message)) return;
  21. throw message;
  22. });
  23. if (typeof ENVIRONMENT_IS_PTHREAD === "undefined" || !ENVIRONMENT_IS_PTHREAD) {
  24. Module["preRun"].push((function() {
  25. var unityFileSystemInit = Module["unityFileSystemInit"] || (function() {
  26. FS.mkdir("/idbfs");
  27. FS.mount(IDBFS, {}, "/idbfs");
  28. Module.addRunDependency("JS_FileSystem_Mount");
  29. FS.syncfs(true, (function(err) {
  30. if (err) console.log("IndexedDB is not available. Data will not persist in cache and PlayerPrefs will not be saved.");
  31. Module.removeRunDependency("JS_FileSystem_Mount");
  32. }));
  33. });
  34. unityFileSystemInit();
  35. }));
  36. }
  37. Module["SetFullscreen"] = (function(fullscreen) {
  38. if (typeof runtimeInitialized === "undefined" || !runtimeInitialized) {
  39. console.log("Runtime not initialized yet.");
  40. } else if (typeof JSEvents === "undefined") {
  41. console.log("Player not loaded yet.");
  42. } else {
  43. var tmp = JSEvents.canPerformEventHandlerRequests;
  44. JSEvents.canPerformEventHandlerRequests = (function() {
  45. return 1;
  46. });
  47. Module.ccall("SetFullscreen", null, [ "number" ], [ fullscreen ]);
  48. JSEvents.canPerformEventHandlerRequests = tmp;
  49. }
  50. });
  51. var MediaDevices = [];
  52. if (typeof ENVIRONMENT_IS_PTHREAD === "undefined" || !ENVIRONMENT_IS_PTHREAD) {
  53. Module["preRun"].push((function() {
  54. var enumerateMediaDevices = (function() {
  55. var getMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
  56. if (!getMedia) return;
  57. function addDevice(label) {
  58. label = label ? label : "device #" + MediaDevices.length;
  59. var device = {
  60. deviceName: label,
  61. refCount: 0,
  62. video: null
  63. };
  64. MediaDevices.push(device);
  65. }
  66. if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
  67. if (typeof MediaStreamTrack == "undefined" || typeof MediaStreamTrack.getSources == "undefined") {
  68. console.log("Media Devices cannot be enumerated on this browser.");
  69. return;
  70. }
  71. function gotSources(sourceInfos) {
  72. for (var i = 0; i !== sourceInfos.length; ++i) {
  73. var sourceInfo = sourceInfos[i];
  74. if (sourceInfo.kind === "video") addDevice(sourceInfo.label);
  75. }
  76. }
  77. MediaStreamTrack.getSources(gotSources);
  78. }
  79. navigator.mediaDevices.enumerateDevices().then((function(devices) {
  80. devices.forEach((function(device) {
  81. if (device.kind == "videoinput") addDevice(device.label);
  82. }));
  83. })).catch((function(err) {
  84. console.log(err.name + ": " + error.message);
  85. }));
  86. });
  87. enumerateMediaDevices();
  88. }));
  89. }
  90. function SendMessage(gameObject, func, param) {
  91. if (param === undefined) Module.ccall("SendMessage", null, [ "string", "string" ], [ gameObject, func ]); else if (typeof param === "string") Module.ccall("SendMessageString", null, [ "string", "string", "string" ], [ gameObject, func, param ]); else if (typeof param === "number") Module.ccall("SendMessageFloat", null, [ "string", "string", "number" ], [ gameObject, func, param ]); else throw "" + param + " is does not have a type which is supported by SendMessage.";
  92. }
  93. Module["SendMessage"] = SendMessage;
  94. var ___cxa_throw = (function() {
  95. var original___cxa_throw = ___cxa_throw;
  96. return (function() {
  97. console.log("Exception at: \n" + stackTrace());
  98. original___cxa_throw();
  99. });
  100. })();
  101. var moduleOverrides = {};
  102. var key;
  103. for (key in Module) {
  104. if (Module.hasOwnProperty(key)) {
  105. moduleOverrides[key] = Module[key];
  106. }
  107. }
  108. Module["arguments"] = [];
  109. Module["thisProgram"] = "./this.program";
  110. Module["quit"] = (function(status, toThrow) {
  111. throw toThrow;
  112. });
  113. Module["preRun"] = [];
  114. Module["postRun"] = [];
  115. var ENVIRONMENT_IS_WEB = false;
  116. var ENVIRONMENT_IS_WORKER = false;
  117. var ENVIRONMENT_IS_NODE = false;
  118. var ENVIRONMENT_IS_SHELL = false;
  119. ENVIRONMENT_IS_WEB = typeof window === "object";
  120. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  121. ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
  122. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  123. if (Module["ENVIRONMENT"]) {
  124. throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");
  125. }
  126. assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
  127. assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
  128. assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
  129. assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
  130. var scriptDirectory = "";
  131. function locateFile(path) {
  132. if (Module["locateFile"]) {
  133. return Module["locateFile"](path, scriptDirectory);
  134. } else {
  135. return scriptDirectory + path;
  136. }
  137. }
  138. if (ENVIRONMENT_IS_NODE) {
  139. scriptDirectory = __dirname + "/";
  140. var nodeFS;
  141. var nodePath;
  142. Module["read"] = function shell_read(filename, binary) {
  143. var ret;
  144. if (!nodeFS) nodeFS = require("fs");
  145. if (!nodePath) nodePath = require("path");
  146. filename = nodePath["normalize"](filename);
  147. ret = nodeFS["readFileSync"](filename);
  148. return binary ? ret : ret.toString();
  149. };
  150. Module["readBinary"] = function readBinary(filename) {
  151. var ret = Module["read"](filename, true);
  152. if (!ret.buffer) {
  153. ret = new Uint8Array(ret);
  154. }
  155. assert(ret.buffer);
  156. return ret;
  157. };
  158. if (process["argv"].length > 1) {
  159. Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/");
  160. }
  161. Module["arguments"] = process["argv"].slice(2);
  162. if (typeof module !== "undefined") {
  163. module["exports"] = Module;
  164. }
  165. process["on"]("uncaughtException", (function(ex) {
  166. if (!(ex instanceof ExitStatus)) {
  167. throw ex;
  168. }
  169. }));
  170. process["on"]("unhandledRejection", (function(reason, p) {
  171. err("node.js exiting due to unhandled promise rejection");
  172. process["exit"](1);
  173. }));
  174. Module["quit"] = (function(status) {
  175. process["exit"](status);
  176. });
  177. Module["inspect"] = (function() {
  178. return "[Emscripten Module object]";
  179. });
  180. } else if (ENVIRONMENT_IS_SHELL) {
  181. if (typeof read != "undefined") {
  182. Module["read"] = function shell_read(f) {
  183. return read(f);
  184. };
  185. }
  186. Module["readBinary"] = function readBinary(f) {
  187. var data;
  188. if (typeof readbuffer === "function") {
  189. return new Uint8Array(readbuffer(f));
  190. }
  191. data = read(f, "binary");
  192. assert(typeof data === "object");
  193. return data;
  194. };
  195. if (typeof scriptArgs != "undefined") {
  196. Module["arguments"] = scriptArgs;
  197. } else if (typeof arguments != "undefined") {
  198. Module["arguments"] = arguments;
  199. }
  200. if (typeof quit === "function") {
  201. Module["quit"] = (function(status) {
  202. quit(status);
  203. });
  204. }
  205. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  206. if (ENVIRONMENT_IS_WEB) {
  207. if (document.currentScript) {
  208. scriptDirectory = document.currentScript.src;
  209. }
  210. } else {
  211. scriptDirectory = self.location.href;
  212. }
  213. if (scriptDirectory.indexOf("blob:") !== 0) {
  214. scriptDirectory = scriptDirectory.split("/").slice(0, -1).join("/") + "/";
  215. } else {
  216. scriptDirectory = "";
  217. }
  218. Module["read"] = function shell_read(url) {
  219. var xhr = new XMLHttpRequest;
  220. xhr.open("GET", url, false);
  221. xhr.send(null);
  222. return xhr.responseText;
  223. };
  224. if (ENVIRONMENT_IS_WORKER) {
  225. Module["readBinary"] = function readBinary(url) {
  226. var xhr = new XMLHttpRequest;
  227. xhr.open("GET", url, false);
  228. xhr.responseType = "arraybuffer";
  229. xhr.send(null);
  230. return new Uint8Array(xhr.response);
  231. };
  232. }
  233. Module["readAsync"] = function readAsync(url, onload, onerror) {
  234. var xhr = new XMLHttpRequest;
  235. xhr.open("GET", url, true);
  236. xhr.responseType = "arraybuffer";
  237. xhr.onload = function xhr_onload() {
  238. if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
  239. onload(xhr.response);
  240. return;
  241. }
  242. onerror();
  243. };
  244. xhr.onerror = onerror;
  245. xhr.send(null);
  246. };
  247. Module["setWindowTitle"] = (function(title) {
  248. document.title = title;
  249. });
  250. } else {
  251. throw new Error("environment detection error");
  252. }
  253. var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null);
  254. var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out);
  255. for (key in moduleOverrides) {
  256. if (moduleOverrides.hasOwnProperty(key)) {
  257. Module[key] = moduleOverrides[key];
  258. }
  259. }
  260. moduleOverrides = undefined;
  261. var STACK_ALIGN = 16;
  262. stackSave = stackRestore = stackAlloc = setTempRet0 = getTempRet0 = (function() {
  263. abort("cannot use the stack before compiled code is ready to run, and has provided stack access");
  264. });
  265. function staticAlloc(size) {
  266. assert(!staticSealed);
  267. var ret = STATICTOP;
  268. STATICTOP = STATICTOP + size + 15 & -16;
  269. assert(STATICTOP < TOTAL_MEMORY, "not enough memory for static allocation - increase TOTAL_MEMORY");
  270. return ret;
  271. }
  272. function dynamicAlloc(size) {
  273. assert(DYNAMICTOP_PTR);
  274. var ret = HEAP32[DYNAMICTOP_PTR >> 2];
  275. var end = ret + size + 15 & -16;
  276. HEAP32[DYNAMICTOP_PTR >> 2] = end;
  277. if (end >= TOTAL_MEMORY) {
  278. var success = enlargeMemory();
  279. if (!success) {
  280. HEAP32[DYNAMICTOP_PTR >> 2] = ret;
  281. return 0;
  282. }
  283. }
  284. return ret;
  285. }
  286. function alignMemory(size, factor) {
  287. if (!factor) factor = STACK_ALIGN;
  288. var ret = size = Math.ceil(size / factor) * factor;
  289. return ret;
  290. }
  291. function getNativeTypeSize(type) {
  292. switch (type) {
  293. case "i1":
  294. case "i8":
  295. return 1;
  296. case "i16":
  297. return 2;
  298. case "i32":
  299. return 4;
  300. case "i64":
  301. return 8;
  302. case "float":
  303. return 4;
  304. case "double":
  305. return 8;
  306. default:
  307. {
  308. if (type[type.length - 1] === "*") {
  309. return 4;
  310. } else if (type[0] === "i") {
  311. var bits = parseInt(type.substr(1));
  312. assert(bits % 8 === 0);
  313. return bits / 8;
  314. } else {
  315. return 0;
  316. }
  317. }
  318. }
  319. }
  320. function warnOnce(text) {
  321. if (!warnOnce.shown) warnOnce.shown = {};
  322. if (!warnOnce.shown[text]) {
  323. warnOnce.shown[text] = 1;
  324. err(text);
  325. }
  326. }
  327. var asm2wasmImports = {
  328. "f64-rem": (function(x, y) {
  329. return x % y;
  330. }),
  331. "debugger": (function() {
  332. debugger;
  333. })
  334. };
  335. var jsCallStartIndex = 1;
  336. var functionPointers = new Array(0);
  337. function addFunction(func, sig) {
  338. if (typeof sig === "undefined") {
  339. err("warning: addFunction(): You should provide a wasm function signature string as a second argument. This is not necessary for asm.js and asm2wasm, but is required for the LLVM wasm backend, so it is recommended for full portability.");
  340. }
  341. var base = 0;
  342. for (var i = base; i < base + 0; i++) {
  343. if (!functionPointers[i]) {
  344. functionPointers[i] = func;
  345. return jsCallStartIndex + i;
  346. }
  347. }
  348. throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";
  349. }
  350. var funcWrappers = {};
  351. function getFuncWrapper(func, sig) {
  352. if (!func) return;
  353. assert(sig);
  354. if (!funcWrappers[sig]) {
  355. funcWrappers[sig] = {};
  356. }
  357. var sigCache = funcWrappers[sig];
  358. if (!sigCache[func]) {
  359. if (sig.length === 1) {
  360. sigCache[func] = function dynCall_wrapper() {
  361. return dynCall(sig, func);
  362. };
  363. } else if (sig.length === 2) {
  364. sigCache[func] = function dynCall_wrapper(arg) {
  365. return dynCall(sig, func, [ arg ]);
  366. };
  367. } else {
  368. sigCache[func] = function dynCall_wrapper() {
  369. return dynCall(sig, func, Array.prototype.slice.call(arguments));
  370. };
  371. }
  372. }
  373. return sigCache[func];
  374. }
  375. function makeBigInt(low, high, unsigned) {
  376. return unsigned ? +(low >>> 0) + +(high >>> 0) * 4294967296 : +(low >>> 0) + +(high | 0) * 4294967296;
  377. }
  378. function dynCall(sig, ptr, args) {
  379. if (args && args.length) {
  380. assert(args.length == sig.length - 1);
  381. assert("dynCall_" + sig in Module, "bad function pointer type - no table for sig '" + sig + "'");
  382. return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args));
  383. } else {
  384. assert(sig.length == 1);
  385. assert("dynCall_" + sig in Module, "bad function pointer type - no table for sig '" + sig + "'");
  386. return Module["dynCall_" + sig].call(null, ptr);
  387. }
  388. }
  389. var GLOBAL_BASE = 1024;
  390. var ABORT = 0;
  391. var EXITSTATUS = 0;
  392. function assert(condition, text) {
  393. if (!condition) {
  394. abort("Assertion failed: " + text);
  395. }
  396. }
  397. function getCFunc(ident) {
  398. var func = Module["_" + ident];
  399. assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
  400. return func;
  401. }
  402. var JSfuncs = {
  403. "stackSave": (function() {
  404. stackSave();
  405. }),
  406. "stackRestore": (function() {
  407. stackRestore();
  408. }),
  409. "arrayToC": (function(arr) {
  410. var ret = stackAlloc(arr.length);
  411. writeArrayToMemory(arr, ret);
  412. return ret;
  413. }),
  414. "stringToC": (function(str) {
  415. var ret = 0;
  416. if (str !== null && str !== undefined && str !== 0) {
  417. var len = (str.length << 2) + 1;
  418. ret = stackAlloc(len);
  419. stringToUTF8(str, ret, len);
  420. }
  421. return ret;
  422. })
  423. };
  424. var toC = {
  425. "string": JSfuncs["stringToC"],
  426. "array": JSfuncs["arrayToC"]
  427. };
  428. function ccall(ident, returnType, argTypes, args, opts) {
  429. function convertReturnValue(ret) {
  430. if (returnType === "string") return Pointer_stringify(ret);
  431. if (returnType === "boolean") return Boolean(ret);
  432. return ret;
  433. }
  434. var func = getCFunc(ident);
  435. var cArgs = [];
  436. var stack = 0;
  437. assert(returnType !== "array", 'Return type should not be "array".');
  438. if (args) {
  439. for (var i = 0; i < args.length; i++) {
  440. var converter = toC[argTypes[i]];
  441. if (converter) {
  442. if (stack === 0) stack = stackSave();
  443. cArgs[i] = converter(args[i]);
  444. } else {
  445. cArgs[i] = args[i];
  446. }
  447. }
  448. }
  449. var ret = func.apply(null, cArgs);
  450. ret = convertReturnValue(ret);
  451. if (stack !== 0) stackRestore(stack);
  452. return ret;
  453. }
  454. function cwrap(ident, returnType, argTypes, opts) {
  455. return (function() {
  456. return ccall(ident, returnType, argTypes, arguments, opts);
  457. });
  458. }
  459. function setValue(ptr, value, type, noSafe) {
  460. type = type || "i8";
  461. if (type.charAt(type.length - 1) === "*") type = "i32";
  462. switch (type) {
  463. case "i1":
  464. HEAP8[ptr >> 0] = value;
  465. break;
  466. case "i8":
  467. HEAP8[ptr >> 0] = value;
  468. break;
  469. case "i16":
  470. HEAP16[ptr >> 1] = value;
  471. break;
  472. case "i32":
  473. HEAP32[ptr >> 2] = value;
  474. break;
  475. case "i64":
  476. tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
  477. break;
  478. case "float":
  479. HEAPF32[ptr >> 2] = value;
  480. break;
  481. case "double":
  482. HEAPF64[ptr >> 3] = value;
  483. break;
  484. default:
  485. abort("invalid type for setValue: " + type);
  486. }
  487. }
  488. var ALLOC_NORMAL = 0;
  489. var ALLOC_STACK = 1;
  490. var ALLOC_STATIC = 2;
  491. var ALLOC_NONE = 4;
  492. function allocate(slab, types, allocator, ptr) {
  493. var zeroinit, size;
  494. if (typeof slab === "number") {
  495. zeroinit = true;
  496. size = slab;
  497. } else {
  498. zeroinit = false;
  499. size = slab.length;
  500. }
  501. var singleType = typeof types === "string" ? types : null;
  502. var ret;
  503. if (allocator == ALLOC_NONE) {
  504. ret = ptr;
  505. } else {
  506. ret = [ typeof _malloc === "function" ? _malloc : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc ][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
  507. }
  508. if (zeroinit) {
  509. var stop;
  510. ptr = ret;
  511. assert((ret & 3) == 0);
  512. stop = ret + (size & ~3);
  513. for (; ptr < stop; ptr += 4) {
  514. HEAP32[ptr >> 2] = 0;
  515. }
  516. stop = ret + size;
  517. while (ptr < stop) {
  518. HEAP8[ptr++ >> 0] = 0;
  519. }
  520. return ret;
  521. }
  522. if (singleType === "i8") {
  523. if (slab.subarray || slab.slice) {
  524. HEAPU8.set(slab, ret);
  525. } else {
  526. HEAPU8.set(new Uint8Array(slab), ret);
  527. }
  528. return ret;
  529. }
  530. var i = 0, type, typeSize, previousType;
  531. while (i < size) {
  532. var curr = slab[i];
  533. type = singleType || types[i];
  534. if (type === 0) {
  535. i++;
  536. continue;
  537. }
  538. assert(type, "Must know what type to store in allocate!");
  539. if (type == "i64") type = "i32";
  540. setValue(ret + i, curr, type);
  541. if (previousType !== type) {
  542. typeSize = getNativeTypeSize(type);
  543. previousType = type;
  544. }
  545. i += typeSize;
  546. }
  547. return ret;
  548. }
  549. function getMemory(size) {
  550. if (!staticSealed) return staticAlloc(size);
  551. if (!runtimeInitialized) return dynamicAlloc(size);
  552. return _malloc(size);
  553. }
  554. function Pointer_stringify(ptr, length) {
  555. if (length === 0 || !ptr) return "";
  556. var hasUtf = 0;
  557. var t;
  558. var i = 0;
  559. while (1) {
  560. assert(ptr + i < TOTAL_MEMORY);
  561. t = HEAPU8[ptr + i >> 0];
  562. hasUtf |= t;
  563. if (t == 0 && !length) break;
  564. i++;
  565. if (length && i == length) break;
  566. }
  567. if (!length) length = i;
  568. var ret = "";
  569. if (hasUtf < 128) {
  570. var MAX_CHUNK = 1024;
  571. var curr;
  572. while (length > 0) {
  573. curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
  574. ret = ret ? ret + curr : curr;
  575. ptr += MAX_CHUNK;
  576. length -= MAX_CHUNK;
  577. }
  578. return ret;
  579. }
  580. return UTF8ToString(ptr);
  581. }
  582. var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
  583. function UTF8ArrayToString(u8Array, idx) {
  584. var endPtr = idx;
  585. while (u8Array[endPtr]) ++endPtr;
  586. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  587. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
  588. } else {
  589. var u0, u1, u2, u3, u4, u5;
  590. var str = "";
  591. while (1) {
  592. u0 = u8Array[idx++];
  593. if (!u0) return str;
  594. if (!(u0 & 128)) {
  595. str += String.fromCharCode(u0);
  596. continue;
  597. }
  598. u1 = u8Array[idx++] & 63;
  599. if ((u0 & 224) == 192) {
  600. str += String.fromCharCode((u0 & 31) << 6 | u1);
  601. continue;
  602. }
  603. u2 = u8Array[idx++] & 63;
  604. if ((u0 & 240) == 224) {
  605. u0 = (u0 & 15) << 12 | u1 << 6 | u2;
  606. } else {
  607. u3 = u8Array[idx++] & 63;
  608. if ((u0 & 248) == 240) {
  609. u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u3;
  610. } else {
  611. u4 = u8Array[idx++] & 63;
  612. if ((u0 & 252) == 248) {
  613. u0 = (u0 & 3) << 24 | u1 << 18 | u2 << 12 | u3 << 6 | u4;
  614. } else {
  615. u5 = u8Array[idx++] & 63;
  616. u0 = (u0 & 1) << 30 | u1 << 24 | u2 << 18 | u3 << 12 | u4 << 6 | u5;
  617. }
  618. }
  619. }
  620. if (u0 < 65536) {
  621. str += String.fromCharCode(u0);
  622. } else {
  623. var ch = u0 - 65536;
  624. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  625. }
  626. }
  627. }
  628. }
  629. function UTF8ToString(ptr) {
  630. return UTF8ArrayToString(HEAPU8, ptr);
  631. }
  632. function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
  633. if (!(maxBytesToWrite > 0)) return 0;
  634. var startIdx = outIdx;
  635. var endIdx = outIdx + maxBytesToWrite - 1;
  636. for (var i = 0; i < str.length; ++i) {
  637. var u = str.charCodeAt(i);
  638. if (u >= 55296 && u <= 57343) {
  639. var u1 = str.charCodeAt(++i);
  640. u = 65536 + ((u & 1023) << 10) | u1 & 1023;
  641. }
  642. if (u <= 127) {
  643. if (outIdx >= endIdx) break;
  644. outU8Array[outIdx++] = u;
  645. } else if (u <= 2047) {
  646. if (outIdx + 1 >= endIdx) break;
  647. outU8Array[outIdx++] = 192 | u >> 6;
  648. outU8Array[outIdx++] = 128 | u & 63;
  649. } else if (u <= 65535) {
  650. if (outIdx + 2 >= endIdx) break;
  651. outU8Array[outIdx++] = 224 | u >> 12;
  652. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  653. outU8Array[outIdx++] = 128 | u & 63;
  654. } else if (u <= 2097151) {
  655. if (outIdx + 3 >= endIdx) break;
  656. outU8Array[outIdx++] = 240 | u >> 18;
  657. outU8Array[outIdx++] = 128 | u >> 12 & 63;
  658. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  659. outU8Array[outIdx++] = 128 | u & 63;
  660. } else if (u <= 67108863) {
  661. if (outIdx + 4 >= endIdx) break;
  662. outU8Array[outIdx++] = 248 | u >> 24;
  663. outU8Array[outIdx++] = 128 | u >> 18 & 63;
  664. outU8Array[outIdx++] = 128 | u >> 12 & 63;
  665. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  666. outU8Array[outIdx++] = 128 | u & 63;
  667. } else {
  668. if (outIdx + 5 >= endIdx) break;
  669. outU8Array[outIdx++] = 252 | u >> 30;
  670. outU8Array[outIdx++] = 128 | u >> 24 & 63;
  671. outU8Array[outIdx++] = 128 | u >> 18 & 63;
  672. outU8Array[outIdx++] = 128 | u >> 12 & 63;
  673. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  674. outU8Array[outIdx++] = 128 | u & 63;
  675. }
  676. }
  677. outU8Array[outIdx] = 0;
  678. return outIdx - startIdx;
  679. }
  680. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  681. assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
  682. return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
  683. }
  684. function lengthBytesUTF8(str) {
  685. var len = 0;
  686. for (var i = 0; i < str.length; ++i) {
  687. var u = str.charCodeAt(i);
  688. if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
  689. if (u <= 127) {
  690. ++len;
  691. } else if (u <= 2047) {
  692. len += 2;
  693. } else if (u <= 65535) {
  694. len += 3;
  695. } else if (u <= 2097151) {
  696. len += 4;
  697. } else if (u <= 67108863) {
  698. len += 5;
  699. } else {
  700. len += 6;
  701. }
  702. }
  703. return len;
  704. }
  705. var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
  706. function allocateUTF8(str) {
  707. var size = lengthBytesUTF8(str) + 1;
  708. var ret = _malloc(size);
  709. if (ret) stringToUTF8Array(str, HEAP8, ret, size);
  710. return ret;
  711. }
  712. function allocateUTF8OnStack(str) {
  713. var size = lengthBytesUTF8(str) + 1;
  714. var ret = stackAlloc(size);
  715. stringToUTF8Array(str, HEAP8, ret, size);
  716. return ret;
  717. }
  718. function demangle(func) {
  719. var __cxa_demangle_func = Module["___cxa_demangle"] || Module["__cxa_demangle"];
  720. assert(__cxa_demangle_func);
  721. try {
  722. var s = func.substr(1);
  723. var len = lengthBytesUTF8(s) + 1;
  724. var buf = _malloc(len);
  725. stringToUTF8(s, buf, len);
  726. var status = _malloc(4);
  727. var ret = __cxa_demangle_func(buf, 0, 0, status);
  728. if (HEAP32[status >> 2] === 0 && ret) {
  729. return Pointer_stringify(ret);
  730. }
  731. } catch (e) {} finally {
  732. if (buf) _free(buf);
  733. if (status) _free(status);
  734. if (ret) _free(ret);
  735. }
  736. return func;
  737. }
  738. function demangleAll(text) {
  739. var regex = /__Z[\w\d_]+/g;
  740. return text.replace(regex, (function(x) {
  741. var y = demangle(x);
  742. return x === y ? x : x + " [" + y + "]";
  743. }));
  744. }
  745. function jsStackTrace() {
  746. var err = new Error;
  747. if (!err.stack) {
  748. try {
  749. throw new Error(0);
  750. } catch (e) {
  751. err = e;
  752. }
  753. if (!err.stack) {
  754. return "(no stack trace available)";
  755. }
  756. }
  757. return err.stack.toString();
  758. }
  759. function stackTrace() {
  760. var js = jsStackTrace();
  761. if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
  762. return demangleAll(js);
  763. }
  764. var PAGE_SIZE = 16384;
  765. var WASM_PAGE_SIZE = 65536;
  766. var ASMJS_PAGE_SIZE = 16777216;
  767. var MIN_TOTAL_MEMORY = 16777216;
  768. function alignUp(x, multiple) {
  769. if (x % multiple > 0) {
  770. x += multiple - x % multiple;
  771. }
  772. return x;
  773. }
  774. var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
  775. function updateGlobalBuffer(buf) {
  776. Module["buffer"] = buffer = buf;
  777. }
  778. function updateGlobalBufferViews() {
  779. Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
  780. Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
  781. Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
  782. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
  783. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
  784. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
  785. Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
  786. Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
  787. }
  788. var STATIC_BASE, STATICTOP, staticSealed;
  789. var STACK_BASE, STACKTOP, STACK_MAX;
  790. var DYNAMIC_BASE, DYNAMICTOP_PTR;
  791. STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
  792. staticSealed = false;
  793. function writeStackCookie() {
  794. assert((STACK_MAX & 3) == 0);
  795. HEAPU32[(STACK_MAX >> 2) - 1] = 34821223;
  796. HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022;
  797. }
  798. function checkStackCookie() {
  799. if (HEAPU32[(STACK_MAX >> 2) - 1] != 34821223 || HEAPU32[(STACK_MAX >> 2) - 2] != 2310721022) {
  800. abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + HEAPU32[(STACK_MAX >> 2) - 2].toString(16) + " " + HEAPU32[(STACK_MAX >> 2) - 1].toString(16));
  801. }
  802. if (HEAP32[0] !== 1668509029) throw "Runtime error: The application has corrupted its heap memory area (address zero)!";
  803. }
  804. function abortStackOverflow(allocSize) {
  805. abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!");
  806. }
  807. function abortOnCannotGrowMemory() {
  808. abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ");
  809. }
  810. if (!Module["reallocBuffer"]) Module["reallocBuffer"] = (function(size) {
  811. var ret;
  812. try {
  813. if (ArrayBuffer.transfer) {
  814. ret = ArrayBuffer.transfer(buffer, size);
  815. } else {
  816. var oldHEAP8 = HEAP8;
  817. ret = new ArrayBuffer(size);
  818. var temp = new Int8Array(ret);
  819. temp.set(oldHEAP8);
  820. }
  821. } catch (e) {
  822. return false;
  823. }
  824. var success = _emscripten_replace_memory(ret);
  825. if (!success) return false;
  826. return ret;
  827. });
  828. function enlargeMemory() {
  829. assert(HEAP32[DYNAMICTOP_PTR >> 2] > TOTAL_MEMORY);
  830. var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE;
  831. var LIMIT = 2147483648 - PAGE_MULTIPLE;
  832. if (HEAP32[DYNAMICTOP_PTR >> 2] > LIMIT) {
  833. err("Cannot enlarge memory, asked to go up to " + HEAP32[DYNAMICTOP_PTR >> 2] + " bytes, but the limit is " + LIMIT + " bytes!");
  834. return false;
  835. }
  836. var OLD_TOTAL_MEMORY = TOTAL_MEMORY;
  837. TOTAL_MEMORY = Math.max(TOTAL_MEMORY, MIN_TOTAL_MEMORY);
  838. while (TOTAL_MEMORY < HEAP32[DYNAMICTOP_PTR >> 2]) {
  839. if (TOTAL_MEMORY <= 536870912) {
  840. TOTAL_MEMORY = alignUp(2 * TOTAL_MEMORY, PAGE_MULTIPLE);
  841. } else {
  842. TOTAL_MEMORY = Math.min(alignUp((3 * TOTAL_MEMORY + 2147483648) / 4, PAGE_MULTIPLE), LIMIT);
  843. if (TOTAL_MEMORY === OLD_TOTAL_MEMORY) {
  844. warnOnce("Cannot ask for more memory since we reached the practical limit in browsers (which is just below 2GB), so the request would have failed. Requesting only " + TOTAL_MEMORY);
  845. }
  846. }
  847. }
  848. var start = Date.now();
  849. var replacement = Module["reallocBuffer"](TOTAL_MEMORY);
  850. if (!replacement || replacement.byteLength != TOTAL_MEMORY) {
  851. err("Failed to grow the heap from " + OLD_TOTAL_MEMORY + " bytes to " + TOTAL_MEMORY + " bytes, not enough memory!");
  852. if (replacement) {
  853. err("Expected to get back a buffer of size " + TOTAL_MEMORY + " bytes, but instead got back a buffer of size " + replacement.byteLength);
  854. }
  855. TOTAL_MEMORY = OLD_TOTAL_MEMORY;
  856. return false;
  857. }
  858. updateGlobalBuffer(replacement);
  859. updateGlobalBufferViews();
  860. if (!Module["usingWasm"]) {
  861. err("Warning: Enlarging memory arrays, this is not fast! " + [ OLD_TOTAL_MEMORY, TOTAL_MEMORY ]);
  862. }
  863. return true;
  864. }
  865. var byteLength;
  866. try {
  867. byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get);
  868. byteLength(new ArrayBuffer(4));
  869. } catch (e) {
  870. byteLength = (function(buffer) {
  871. return buffer.byteLength;
  872. });
  873. }
  874. var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880;
  875. var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 33554432;
  876. if (TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");
  877. assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support");
  878. if (Module["buffer"]) {
  879. buffer = Module["buffer"];
  880. assert(buffer.byteLength === TOTAL_MEMORY, "provided buffer should be " + TOTAL_MEMORY + " bytes, but it is " + buffer.byteLength);
  881. } else {
  882. if (typeof WebAssembly === "object" && typeof WebAssembly.Memory === "function") {
  883. assert(TOTAL_MEMORY % WASM_PAGE_SIZE === 0);
  884. Module["wasmMemory"] = new WebAssembly.Memory({
  885. "initial": TOTAL_MEMORY / WASM_PAGE_SIZE
  886. });
  887. buffer = Module["wasmMemory"].buffer;
  888. } else {
  889. buffer = new ArrayBuffer(TOTAL_MEMORY);
  890. }
  891. assert(buffer.byteLength === TOTAL_MEMORY);
  892. Module["buffer"] = buffer;
  893. }
  894. updateGlobalBufferViews();
  895. function getTotalMemory() {
  896. return TOTAL_MEMORY;
  897. }
  898. HEAP32[0] = 1668509029;
  899. HEAP16[1] = 25459;
  900. if (HEAPU8[2] !== 115 || HEAPU8[3] !== 99) throw "Runtime error: expected the system to be little-endian!";
  901. function callRuntimeCallbacks(callbacks) {
  902. while (callbacks.length > 0) {
  903. var callback = callbacks.shift();
  904. if (typeof callback == "function") {
  905. callback();
  906. continue;
  907. }
  908. var func = callback.func;
  909. if (typeof func === "number") {
  910. if (callback.arg === undefined) {
  911. Module["dynCall_v"](func);
  912. } else {
  913. Module["dynCall_vi"](func, callback.arg);
  914. }
  915. } else {
  916. func(callback.arg === undefined ? null : callback.arg);
  917. }
  918. }
  919. }
  920. var __ATPRERUN__ = [];
  921. var __ATINIT__ = [];
  922. var __ATMAIN__ = [];
  923. var __ATEXIT__ = [];
  924. var __ATPOSTRUN__ = [];
  925. var runtimeInitialized = false;
  926. var runtimeExited = false;
  927. function preRun() {
  928. if (Module["preRun"]) {
  929. if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
  930. while (Module["preRun"].length) {
  931. addOnPreRun(Module["preRun"].shift());
  932. }
  933. }
  934. callRuntimeCallbacks(__ATPRERUN__);
  935. }
  936. function ensureInitRuntime() {
  937. checkStackCookie();
  938. if (runtimeInitialized) return;
  939. runtimeInitialized = true;
  940. callRuntimeCallbacks(__ATINIT__);
  941. }
  942. function preMain() {
  943. checkStackCookie();
  944. callRuntimeCallbacks(__ATMAIN__);
  945. }
  946. function exitRuntime() {
  947. checkStackCookie();
  948. callRuntimeCallbacks(__ATEXIT__);
  949. runtimeExited = true;
  950. }
  951. function postRun() {
  952. checkStackCookie();
  953. if (Module["postRun"]) {
  954. if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
  955. while (Module["postRun"].length) {
  956. addOnPostRun(Module["postRun"].shift());
  957. }
  958. }
  959. callRuntimeCallbacks(__ATPOSTRUN__);
  960. }
  961. function addOnPreRun(cb) {
  962. __ATPRERUN__.unshift(cb);
  963. }
  964. function addOnPostRun(cb) {
  965. __ATPOSTRUN__.unshift(cb);
  966. }
  967. function writeArrayToMemory(array, buffer) {
  968. assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)");
  969. HEAP8.set(array, buffer);
  970. }
  971. function writeAsciiToMemory(str, buffer, dontAddNull) {
  972. for (var i = 0; i < str.length; ++i) {
  973. assert(str.charCodeAt(i) === str.charCodeAt(i) & 255);
  974. HEAP8[buffer++ >> 0] = str.charCodeAt(i);
  975. }
  976. if (!dontAddNull) HEAP8[buffer >> 0] = 0;
  977. }
  978. function unSign(value, bits, ignore) {
  979. if (value >= 0) {
  980. return value;
  981. }
  982. return bits <= 32 ? 2 * Math.abs(1 << bits - 1) + value : Math.pow(2, bits) + value;
  983. }
  984. function reSign(value, bits, ignore) {
  985. if (value <= 0) {
  986. return value;
  987. }
  988. var half = bits <= 32 ? Math.abs(1 << bits - 1) : Math.pow(2, bits - 1);
  989. if (value >= half && (bits <= 32 || value > half)) {
  990. value = -2 * half + value;
  991. }
  992. return value;
  993. }
  994. assert(Math["imul"] && Math["fround"] && Math["clz32"] && Math["trunc"], "this is a legacy browser, build with LEGACY_VM_SUPPORT");
  995. var Math_abs = Math.abs;
  996. var Math_sqrt = Math.sqrt;
  997. var Math_ceil = Math.ceil;
  998. var Math_floor = Math.floor;
  999. var Math_pow = Math.pow;
  1000. var Math_min = Math.min;
  1001. var Math_clz32 = Math.clz32;
  1002. var Math_trunc = Math.trunc;
  1003. var runDependencies = 0;
  1004. var runDependencyWatcher = null;
  1005. var dependenciesFulfilled = null;
  1006. var runDependencyTracking = {};
  1007. function getUniqueRunDependency(id) {
  1008. var orig = id;
  1009. while (1) {
  1010. if (!runDependencyTracking[id]) return id;
  1011. id = orig + Math.random();
  1012. }
  1013. return id;
  1014. }
  1015. function addRunDependency(id) {
  1016. runDependencies++;
  1017. if (Module["monitorRunDependencies"]) {
  1018. Module["monitorRunDependencies"](runDependencies);
  1019. }
  1020. if (id) {
  1021. assert(!runDependencyTracking[id]);
  1022. runDependencyTracking[id] = 1;
  1023. if (runDependencyWatcher === null && typeof setInterval !== "undefined") {
  1024. runDependencyWatcher = setInterval((function() {
  1025. if (ABORT) {
  1026. clearInterval(runDependencyWatcher);
  1027. runDependencyWatcher = null;
  1028. return;
  1029. }
  1030. var shown = false;
  1031. for (var dep in runDependencyTracking) {
  1032. if (!shown) {
  1033. shown = true;
  1034. err("still waiting on run dependencies:");
  1035. }
  1036. err("dependency: " + dep);
  1037. }
  1038. if (shown) {
  1039. err("(end of list)");
  1040. }
  1041. }), 1e4);
  1042. }
  1043. } else {
  1044. err("warning: run dependency added without ID");
  1045. }
  1046. }
  1047. function removeRunDependency(id) {
  1048. runDependencies--;
  1049. if (Module["monitorRunDependencies"]) {
  1050. Module["monitorRunDependencies"](runDependencies);
  1051. }
  1052. if (id) {
  1053. assert(runDependencyTracking[id]);
  1054. delete runDependencyTracking[id];
  1055. } else {
  1056. err("warning: run dependency removed without ID");
  1057. }
  1058. if (runDependencies == 0) {
  1059. if (runDependencyWatcher !== null) {
  1060. clearInterval(runDependencyWatcher);
  1061. runDependencyWatcher = null;
  1062. }
  1063. if (dependenciesFulfilled) {
  1064. var callback = dependenciesFulfilled;
  1065. dependenciesFulfilled = null;
  1066. callback();
  1067. }
  1068. }
  1069. }
  1070. Module["preloadedImages"] = {};
  1071. Module["preloadedAudios"] = {};
  1072. var dataURIPrefix = "data:application/octet-stream;base64,";
  1073. function isDataURI(filename) {
  1074. return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
  1075. }
  1076. function integrateWasmJS() {
  1077. var wasmTextFile = "build.wast";
  1078. var wasmBinaryFile = "build.wasm";
  1079. var asmjsCodeFile = "build.temp.asm.js";
  1080. if (!isDataURI(wasmTextFile)) {
  1081. wasmTextFile = locateFile(wasmTextFile);
  1082. }
  1083. if (!isDataURI(wasmBinaryFile)) {
  1084. wasmBinaryFile = locateFile(wasmBinaryFile);
  1085. }
  1086. if (!isDataURI(asmjsCodeFile)) {
  1087. asmjsCodeFile = locateFile(asmjsCodeFile);
  1088. }
  1089. var wasmPageSize = 64 * 1024;
  1090. var info = {
  1091. "global": null,
  1092. "env": null,
  1093. "asm2wasm": asm2wasmImports,
  1094. "parent": Module
  1095. };
  1096. var exports = null;
  1097. function mergeMemory(newBuffer) {
  1098. var oldBuffer = Module["buffer"];
  1099. if (newBuffer.byteLength < oldBuffer.byteLength) {
  1100. err("the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here");
  1101. }
  1102. var oldView = new Int8Array(oldBuffer);
  1103. var newView = new Int8Array(newBuffer);
  1104. newView.set(oldView);
  1105. updateGlobalBuffer(newBuffer);
  1106. updateGlobalBufferViews();
  1107. }
  1108. function fixImports(imports) {
  1109. return imports;
  1110. }
  1111. function getBinary() {
  1112. try {
  1113. if (Module["wasmBinary"]) {
  1114. return new Uint8Array(Module["wasmBinary"]);
  1115. }
  1116. if (Module["readBinary"]) {
  1117. return Module["readBinary"](wasmBinaryFile);
  1118. } else {
  1119. throw "both async and sync fetching of the wasm failed";
  1120. }
  1121. } catch (err) {
  1122. abort(err);
  1123. }
  1124. }
  1125. function getBinaryPromise() {
  1126. if (!Module["wasmBinary"] && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") {
  1127. return fetch(wasmBinaryFile, {
  1128. credentials: "same-origin"
  1129. }).then((function(response) {
  1130. if (!response["ok"]) {
  1131. throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
  1132. }
  1133. return response["arrayBuffer"]();
  1134. })).catch((function() {
  1135. return getBinary();
  1136. }));
  1137. }
  1138. return new Promise((function(resolve, reject) {
  1139. resolve(getBinary());
  1140. }));
  1141. }
  1142. function doNativeWasm(global, env, providedBuffer) {
  1143. if (typeof WebAssembly !== "object") {
  1144. abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.");
  1145. err("no native wasm support detected");
  1146. return false;
  1147. }
  1148. if (!(Module["wasmMemory"] instanceof WebAssembly.Memory)) {
  1149. err("no native wasm Memory in use");
  1150. return false;
  1151. }
  1152. env["memory"] = Module["wasmMemory"];
  1153. info["global"] = {
  1154. "NaN": NaN,
  1155. "Infinity": Infinity
  1156. };
  1157. info["global.Math"] = Math;
  1158. info["env"] = env;
  1159. function receiveInstance(instance, module) {
  1160. exports = instance.exports;
  1161. if (exports.memory) mergeMemory(exports.memory);
  1162. Module["asm"] = exports;
  1163. Module["usingWasm"] = true;
  1164. removeRunDependency("wasm-instantiate");
  1165. }
  1166. addRunDependency("wasm-instantiate");
  1167. if (Module["instantiateWasm"]) {
  1168. try {
  1169. return Module["instantiateWasm"](info, receiveInstance);
  1170. } catch (e) {
  1171. err("Module.instantiateWasm callback failed with error: " + e);
  1172. return false;
  1173. }
  1174. }
  1175. var trueModule = Module;
  1176. function receiveInstantiatedSource(output) {
  1177. assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");
  1178. trueModule = null;
  1179. receiveInstance(output["instance"], output["module"]);
  1180. }
  1181. function instantiateArrayBuffer(receiver) {
  1182. getBinaryPromise().then((function(binary) {
  1183. return WebAssembly.instantiate(binary, info);
  1184. })).then(receiver).catch((function(reason) {
  1185. err("failed to asynchronously prepare wasm: " + reason);
  1186. abort(reason);
  1187. }));
  1188. }
  1189. if (!Module["wasmBinary"] && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") {
  1190. WebAssembly.instantiateStreaming(fetch(wasmBinaryFile, {
  1191. credentials: "same-origin"
  1192. }), info).then(receiveInstantiatedSource).catch((function(reason) {
  1193. err("wasm streaming compile failed: " + reason);
  1194. err("falling back to ArrayBuffer instantiation");
  1195. instantiateArrayBuffer(receiveInstantiatedSource);
  1196. }));
  1197. } else {
  1198. instantiateArrayBuffer(receiveInstantiatedSource);
  1199. }
  1200. return {};
  1201. }
  1202. Module["asmPreload"] = Module["asm"];
  1203. var asmjsReallocBuffer = Module["reallocBuffer"];
  1204. var wasmReallocBuffer = (function(size) {
  1205. var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE;
  1206. size = alignUp(size, PAGE_MULTIPLE);
  1207. var old = Module["buffer"];
  1208. var oldSize = old.byteLength;
  1209. if (Module["usingWasm"]) {
  1210. try {
  1211. var result = Module["wasmMemory"].grow((size - oldSize) / wasmPageSize);
  1212. if (result !== (-1 | 0)) {
  1213. return Module["buffer"] = Module["wasmMemory"].buffer;
  1214. } else {
  1215. return null;
  1216. }
  1217. } catch (e) {
  1218. console.error("Module.reallocBuffer: Attempted to grow from " + oldSize + " bytes to " + size + " bytes, but got error: " + e);
  1219. return null;
  1220. }
  1221. }
  1222. });
  1223. Module["reallocBuffer"] = (function(size) {
  1224. if (finalMethod === "asmjs") {
  1225. return asmjsReallocBuffer(size);
  1226. } else {
  1227. return wasmReallocBuffer(size);
  1228. }
  1229. });
  1230. var finalMethod = "";
  1231. Module["asm"] = (function(global, env, providedBuffer) {
  1232. env = fixImports(env);
  1233. if (!env["table"]) {
  1234. var TABLE_SIZE = Module["wasmTableSize"];
  1235. if (TABLE_SIZE === undefined) TABLE_SIZE = 1024;
  1236. var MAX_TABLE_SIZE = Module["wasmMaxTableSize"];
  1237. if (typeof WebAssembly === "object" && typeof WebAssembly.Table === "function") {
  1238. if (MAX_TABLE_SIZE !== undefined) {
  1239. env["table"] = new WebAssembly.Table({
  1240. "initial": TABLE_SIZE,
  1241. "maximum": MAX_TABLE_SIZE,
  1242. "element": "anyfunc"
  1243. });
  1244. } else {
  1245. env["table"] = new WebAssembly.Table({
  1246. "initial": TABLE_SIZE,
  1247. element: "anyfunc"
  1248. });
  1249. }
  1250. } else {
  1251. env["table"] = new Array(TABLE_SIZE);
  1252. }
  1253. Module["wasmTable"] = env["table"];
  1254. }
  1255. if (!env["memoryBase"]) {
  1256. env["memoryBase"] = Module["STATIC_BASE"];
  1257. }
  1258. if (!env["tableBase"]) {
  1259. env["tableBase"] = 0;
  1260. }
  1261. var exports;
  1262. exports = doNativeWasm(global, env, providedBuffer);
  1263. assert(exports, "no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods");
  1264. return exports;
  1265. });
  1266. }
  1267. integrateWasmJS();
  1268. var ASM_CONSTS = [ (function() {
  1269. return Module.webglContextAttributes.premultipliedAlpha;
  1270. }), (function() {
  1271. return Module.webglContextAttributes.preserveDrawingBuffer;
  1272. }), (function() {
  1273. Module["emscripten_get_now_backup"] = performance.now;
  1274. }), (function($0) {
  1275. performance.now = (function() {
  1276. return $0;
  1277. });
  1278. }), (function() {
  1279. performance.now = Module["emscripten_get_now_backup"];
  1280. }), (function() {
  1281. return typeof Module.shouldQuit != "undefined";
  1282. }), (function() {
  1283. for (var id in Module.intervals) {
  1284. window.clearInterval(id);
  1285. }
  1286. Module.intervals = {};
  1287. for (var i = 0; i < Module.deinitializers.length; i++) {
  1288. Module.deinitializers[i]();
  1289. }
  1290. Module.deinitializers = [];
  1291. if (typeof Module.onQuit == "function") Module.onQuit();
  1292. }) ];
  1293. function _emscripten_asm_const_i(code) {
  1294. return ASM_CONSTS[code]();
  1295. }
  1296. function _emscripten_asm_const_sync_on_main_thread_i(code) {
  1297. return ASM_CONSTS[code]();
  1298. }
  1299. function _emscripten_asm_const_id(code, a0) {
  1300. return ASM_CONSTS[code](a0);
  1301. }
  1302. STATIC_BASE = GLOBAL_BASE;
  1303. STATICTOP = STATIC_BASE + 2444848;
  1304. __ATINIT__.push({
  1305. func: (function() {
  1306. __GLOBAL__sub_I_AccessibilityScriptingClasses_cpp();
  1307. })
  1308. }, {
  1309. func: (function() {
  1310. __GLOBAL__sub_I_AIScriptingClasses_cpp();
  1311. })
  1312. }, {
  1313. func: (function() {
  1314. ___cxx_global_var_init_47();
  1315. })
  1316. }, {
  1317. func: (function() {
  1318. ___cxx_global_var_init_48();
  1319. })
  1320. }, {
  1321. func: (function() {
  1322. __GLOBAL__sub_I_Modules_AI_1_cpp();
  1323. })
  1324. }, {
  1325. func: (function() {
  1326. __GLOBAL__sub_I_Modules_AI_Builder_0_cpp();
  1327. })
  1328. }, {
  1329. func: (function() {
  1330. __GLOBAL__sub_I_Modules_AI_Crowd_0_cpp();
  1331. })
  1332. }, {
  1333. func: (function() {
  1334. __GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp();
  1335. })
  1336. }, {
  1337. func: (function() {
  1338. __GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp();
  1339. })
  1340. }, {
  1341. func: (function() {
  1342. ___cxx_global_var_init_199();
  1343. })
  1344. }, {
  1345. func: (function() {
  1346. __GLOBAL__sub_I_AIBindings_gen_cpp();
  1347. })
  1348. }, {
  1349. func: (function() {
  1350. __GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp();
  1351. })
  1352. }, {
  1353. func: (function() {
  1354. __GLOBAL__sub_I_AnimationScriptingClasses_cpp();
  1355. })
  1356. }, {
  1357. func: (function() {
  1358. __GLOBAL__sub_I_Modules_Animation_0_cpp();
  1359. })
  1360. }, {
  1361. func: (function() {
  1362. __GLOBAL__sub_I_Modules_Animation_2_cpp();
  1363. })
  1364. }, {
  1365. func: (function() {
  1366. __GLOBAL__sub_I_Modules_Animation_3_cpp();
  1367. })
  1368. }, {
  1369. func: (function() {
  1370. __GLOBAL__sub_I_Modules_Animation_4_cpp();
  1371. })
  1372. }, {
  1373. func: (function() {
  1374. __GLOBAL__sub_I_Modules_Animation_5_cpp();
  1375. })
  1376. }, {
  1377. func: (function() {
  1378. __GLOBAL__sub_I_Modules_Animation_6_cpp();
  1379. })
  1380. }, {
  1381. func: (function() {
  1382. ___cxx_global_var_init_20();
  1383. })
  1384. }, {
  1385. func: (function() {
  1386. ___cxx_global_var_init_21();
  1387. })
  1388. }, {
  1389. func: (function() {
  1390. __GLOBAL__sub_I_Modules_Animation_7_cpp();
  1391. })
  1392. }, {
  1393. func: (function() {
  1394. ___cxx_global_var_init_53();
  1395. })
  1396. }, {
  1397. func: (function() {
  1398. __GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp();
  1399. })
  1400. }, {
  1401. func: (function() {
  1402. __GLOBAL__sub_I_Modules_Animation_Director_0_cpp();
  1403. })
  1404. }, {
  1405. func: (function() {
  1406. __GLOBAL__sub_I_Modules_Animation_Director_1_cpp();
  1407. })
  1408. }, {
  1409. func: (function() {
  1410. __GLOBAL__sub_I_AnimationBindings_gen_cpp();
  1411. })
  1412. }, {
  1413. func: (function() {
  1414. __GLOBAL__sub_I_ConstraintJob_cpp();
  1415. })
  1416. }, {
  1417. func: (function() {
  1418. __GLOBAL__sub_I_clipmuscle_cpp();
  1419. })
  1420. }, {
  1421. func: (function() {
  1422. __GLOBAL__sub_I_AnimationClip_cpp();
  1423. })
  1424. }, {
  1425. func: (function() {
  1426. __GLOBAL__sub_I_AssetBundleScriptingClasses_cpp();
  1427. })
  1428. }, {
  1429. func: (function() {
  1430. __GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp();
  1431. })
  1432. }, {
  1433. func: (function() {
  1434. __GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp();
  1435. })
  1436. }, {
  1437. func: (function() {
  1438. __GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp();
  1439. })
  1440. }, {
  1441. func: (function() {
  1442. __GLOBAL__sub_I_AudioScriptingClasses_cpp();
  1443. })
  1444. }, {
  1445. func: (function() {
  1446. __GLOBAL__sub_I_Runtime_Video_0_cpp();
  1447. })
  1448. }, {
  1449. func: (function() {
  1450. ___cxx_global_var_init_5();
  1451. })
  1452. }, {
  1453. func: (function() {
  1454. ___cxx_global_var_init_6_748();
  1455. })
  1456. }, {
  1457. func: (function() {
  1458. ___cxx_global_var_init_7();
  1459. })
  1460. }, {
  1461. func: (function() {
  1462. __GLOBAL__sub_I_Modules_Audio_Public_0_cpp();
  1463. })
  1464. }, {
  1465. func: (function() {
  1466. ___cxx_global_var_init_148();
  1467. })
  1468. }, {
  1469. func: (function() {
  1470. ___cxx_global_var_init_149();
  1471. })
  1472. }, {
  1473. func: (function() {
  1474. ___cxx_global_var_init_150();
  1475. })
  1476. }, {
  1477. func: (function() {
  1478. __GLOBAL__sub_I_Modules_Audio_Public_1_cpp();
  1479. })
  1480. }, {
  1481. func: (function() {
  1482. __GLOBAL__sub_I_Modules_Audio_Public_3_cpp();
  1483. })
  1484. }, {
  1485. func: (function() {
  1486. __GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp();
  1487. })
  1488. }, {
  1489. func: (function() {
  1490. __GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp();
  1491. })
  1492. }, {
  1493. func: (function() {
  1494. __GLOBAL__sub_I_ClothScriptingClasses_cpp();
  1495. })
  1496. }, {
  1497. func: (function() {
  1498. ___cxx_global_var_init_25();
  1499. })
  1500. }, {
  1501. func: (function() {
  1502. ___cxx_global_var_init_26();
  1503. })
  1504. }, {
  1505. func: (function() {
  1506. ___cxx_global_var_init_27();
  1507. })
  1508. }, {
  1509. func: (function() {
  1510. __GLOBAL__sub_I_Modules_Cloth_0_cpp();
  1511. })
  1512. }, {
  1513. func: (function() {
  1514. ___cxx_global_var_init_18();
  1515. })
  1516. }, {
  1517. func: (function() {
  1518. __GLOBAL__sub_I_nvcloth_src_0_cpp();
  1519. })
  1520. }, {
  1521. func: (function() {
  1522. __GLOBAL__sub_I_nvcloth_src_1_cpp();
  1523. })
  1524. }, {
  1525. func: (function() {
  1526. __GLOBAL__sub_I_SwInterCollision_cpp();
  1527. })
  1528. }, {
  1529. func: (function() {
  1530. __GLOBAL__sub_I_SwSolverKernel_cpp();
  1531. })
  1532. }, {
  1533. func: (function() {
  1534. __GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp();
  1535. })
  1536. }, {
  1537. func: (function() {
  1538. __GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp();
  1539. })
  1540. }, {
  1541. func: (function() {
  1542. __GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp();
  1543. })
  1544. }, {
  1545. func: (function() {
  1546. __GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp();
  1547. })
  1548. }, {
  1549. func: (function() {
  1550. __GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp();
  1551. })
  1552. }, {
  1553. func: (function() {
  1554. __GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp();
  1555. })
  1556. }, {
  1557. func: (function() {
  1558. __GLOBAL__sub_I_Runtime_Input_0_cpp();
  1559. })
  1560. }, {
  1561. func: (function() {
  1562. __GLOBAL__sub_I_GfxDeviceNull_cpp();
  1563. })
  1564. }, {
  1565. func: (function() {
  1566. __GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp();
  1567. })
  1568. }, {
  1569. func: (function() {
  1570. __GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp();
  1571. })
  1572. }, {
  1573. func: (function() {
  1574. ___cxx_global_var_init_19();
  1575. })
  1576. }, {
  1577. func: (function() {
  1578. __GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp();
  1579. })
  1580. }, {
  1581. func: (function() {
  1582. ___cxx_global_var_init_17();
  1583. })
  1584. }, {
  1585. func: (function() {
  1586. __GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp();
  1587. })
  1588. }, {
  1589. func: (function() {
  1590. __GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp();
  1591. })
  1592. }, {
  1593. func: (function() {
  1594. __GLOBAL__sub_I_Runtime_Allocator_0_cpp();
  1595. })
  1596. }, {
  1597. func: (function() {
  1598. __GLOBAL__sub_I_Runtime_Allocator_2_cpp();
  1599. })
  1600. }, {
  1601. func: (function() {
  1602. __GLOBAL__sub_I_Runtime_Allocator_3_cpp();
  1603. })
  1604. }, {
  1605. func: (function() {
  1606. ___cxx_global_var_init_7_1313();
  1607. })
  1608. }, {
  1609. func: (function() {
  1610. __GLOBAL__sub_I_Runtime_Application_0_cpp();
  1611. })
  1612. }, {
  1613. func: (function() {
  1614. __GLOBAL__sub_I_Runtime_BaseClasses_0_cpp();
  1615. })
  1616. }, {
  1617. func: (function() {
  1618. __GLOBAL__sub_I_Runtime_BaseClasses_1_cpp();
  1619. })
  1620. }, {
  1621. func: (function() {
  1622. __GLOBAL__sub_I_Runtime_BaseClasses_2_cpp();
  1623. })
  1624. }, {
  1625. func: (function() {
  1626. __GLOBAL__sub_I_Runtime_BaseClasses_3_cpp();
  1627. })
  1628. }, {
  1629. func: (function() {
  1630. __GLOBAL__sub_I_Runtime_Burst_0_cpp();
  1631. })
  1632. }, {
  1633. func: (function() {
  1634. __GLOBAL__sub_I_Runtime_Camera_0_cpp();
  1635. })
  1636. }, {
  1637. func: (function() {
  1638. __GLOBAL__sub_I_Runtime_Camera_1_cpp();
  1639. })
  1640. }, {
  1641. func: (function() {
  1642. __GLOBAL__sub_I_Runtime_Camera_2_cpp();
  1643. })
  1644. }, {
  1645. func: (function() {
  1646. ___cxx_global_var_init_10();
  1647. })
  1648. }, {
  1649. func: (function() {
  1650. __GLOBAL__sub_I_Runtime_Camera_3_cpp();
  1651. })
  1652. }, {
  1653. func: (function() {
  1654. __GLOBAL__sub_I_Runtime_Camera_4_cpp();
  1655. })
  1656. }, {
  1657. func: (function() {
  1658. __GLOBAL__sub_I_Runtime_Camera_5_cpp();
  1659. })
  1660. }, {
  1661. func: (function() {
  1662. ___cxx_global_var_init_210();
  1663. })
  1664. }, {
  1665. func: (function() {
  1666. ___cxx_global_var_init_211();
  1667. })
  1668. }, {
  1669. func: (function() {
  1670. __GLOBAL__sub_I_Runtime_Camera_6_cpp();
  1671. })
  1672. }, {
  1673. func: (function() {
  1674. ___cxx_global_var_init_104();
  1675. })
  1676. }, {
  1677. func: (function() {
  1678. ___cxx_global_var_init_105();
  1679. })
  1680. }, {
  1681. func: (function() {
  1682. __GLOBAL__sub_I_Runtime_Camera_7_cpp();
  1683. })
  1684. }, {
  1685. func: (function() {
  1686. __GLOBAL__sub_I_Runtime_Camera_8_cpp();
  1687. })
  1688. }, {
  1689. func: (function() {
  1690. __GLOBAL__sub_I_Shadows_cpp();
  1691. })
  1692. }, {
  1693. func: (function() {
  1694. __GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp();
  1695. })
  1696. }, {
  1697. func: (function() {
  1698. __GLOBAL__sub_I_GUITexture_cpp();
  1699. })
  1700. }, {
  1701. func: (function() {
  1702. __GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp();
  1703. })
  1704. }, {
  1705. func: (function() {
  1706. __GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp();
  1707. })
  1708. }, {
  1709. func: (function() {
  1710. __GLOBAL__sub_I_Runtime_Containers_0_cpp();
  1711. })
  1712. }, {
  1713. func: (function() {
  1714. __GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp();
  1715. })
  1716. }, {
  1717. func: (function() {
  1718. __GLOBAL__sub_I_Runtime_File_0_cpp();
  1719. })
  1720. }, {
  1721. func: (function() {
  1722. __GLOBAL__sub_I_Runtime_GameCode_0_cpp();
  1723. })
  1724. }, {
  1725. func: (function() {
  1726. __GLOBAL__sub_I_Runtime_Geometry_1_cpp();
  1727. })
  1728. }, {
  1729. func: (function() {
  1730. __GLOBAL__sub_I_Runtime_Geometry_2_cpp();
  1731. })
  1732. }, {
  1733. func: (function() {
  1734. __GLOBAL__sub_I_Runtime_Graphics_0_cpp();
  1735. })
  1736. }, {
  1737. func: (function() {
  1738. ___cxx_global_var_init_136();
  1739. })
  1740. }, {
  1741. func: (function() {
  1742. ___cxx_global_var_init_137();
  1743. })
  1744. }, {
  1745. func: (function() {
  1746. __GLOBAL__sub_I_Runtime_Graphics_1_cpp();
  1747. })
  1748. }, {
  1749. func: (function() {
  1750. __GLOBAL__sub_I_Runtime_Graphics_2_cpp();
  1751. })
  1752. }, {
  1753. func: (function() {
  1754. ___cxx_global_var_init_88();
  1755. })
  1756. }, {
  1757. func: (function() {
  1758. __GLOBAL__sub_I_Runtime_Graphics_4_cpp();
  1759. })
  1760. }, {
  1761. func: (function() {
  1762. __GLOBAL__sub_I_Runtime_Graphics_5_cpp();
  1763. })
  1764. }, {
  1765. func: (function() {
  1766. __GLOBAL__sub_I_Runtime_Graphics_6_cpp();
  1767. })
  1768. }, {
  1769. func: (function() {
  1770. __GLOBAL__sub_I_Runtime_Graphics_8_cpp();
  1771. })
  1772. }, {
  1773. func: (function() {
  1774. __GLOBAL__sub_I_Runtime_Graphics_10_cpp();
  1775. })
  1776. }, {
  1777. func: (function() {
  1778. __GLOBAL__sub_I_Runtime_Graphics_11_cpp();
  1779. })
  1780. }, {
  1781. func: (function() {
  1782. __GLOBAL__sub_I_Runtime_Graphics_12_cpp();
  1783. })
  1784. }, {
  1785. func: (function() {
  1786. __GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp();
  1787. })
  1788. }, {
  1789. func: (function() {
  1790. __GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp();
  1791. })
  1792. }, {
  1793. func: (function() {
  1794. __GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp();
  1795. })
  1796. }, {
  1797. func: (function() {
  1798. __GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp();
  1799. })
  1800. }, {
  1801. func: (function() {
  1802. __GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp();
  1803. })
  1804. }, {
  1805. func: (function() {
  1806. ___cxx_global_var_init_12();
  1807. })
  1808. }, {
  1809. func: (function() {
  1810. __GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp();
  1811. })
  1812. }, {
  1813. func: (function() {
  1814. __GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp();
  1815. })
  1816. }, {
  1817. func: (function() {
  1818. __GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp();
  1819. })
  1820. }, {
  1821. func: (function() {
  1822. ___cxx_global_var_init_55();
  1823. })
  1824. }, {
  1825. func: (function() {
  1826. __GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp();
  1827. })
  1828. }, {
  1829. func: (function() {
  1830. __GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp();
  1831. })
  1832. }, {
  1833. func: (function() {
  1834. __GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp();
  1835. })
  1836. }, {
  1837. func: (function() {
  1838. __GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp();
  1839. })
  1840. }, {
  1841. func: (function() {
  1842. __GLOBAL__sub_I_Runtime_Interfaces_0_cpp();
  1843. })
  1844. }, {
  1845. func: (function() {
  1846. __GLOBAL__sub_I_Runtime_Interfaces_1_cpp();
  1847. })
  1848. }, {
  1849. func: (function() {
  1850. __GLOBAL__sub_I_Runtime_Interfaces_3_cpp();
  1851. })
  1852. }, {
  1853. func: (function() {
  1854. __GLOBAL__sub_I_Runtime_Jobs_0_cpp();
  1855. })
  1856. }, {
  1857. func: (function() {
  1858. __GLOBAL__sub_I_Runtime_Jobs_1_cpp();
  1859. })
  1860. }, {
  1861. func: (function() {
  1862. __GLOBAL__sub_I_Runtime_Jobs_2_cpp();
  1863. })
  1864. }, {
  1865. func: (function() {
  1866. __GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp();
  1867. })
  1868. }, {
  1869. func: (function() {
  1870. __GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp();
  1871. })
  1872. }, {
  1873. func: (function() {
  1874. __GLOBAL__sub_I_Runtime_Math_2_cpp();
  1875. })
  1876. }, {
  1877. func: (function() {
  1878. __GLOBAL__sub_I_Runtime_Math_Random_0_cpp();
  1879. })
  1880. }, {
  1881. func: (function() {
  1882. __GLOBAL__sub_I_Runtime_Misc_0_cpp();
  1883. })
  1884. }, {
  1885. func: (function() {
  1886. ___cxx_global_var_init_71();
  1887. })
  1888. }, {
  1889. func: (function() {
  1890. __GLOBAL__sub_I_Runtime_Misc_1_cpp();
  1891. })
  1892. }, {
  1893. func: (function() {
  1894. ___cxx_global_var_init_192();
  1895. })
  1896. }, {
  1897. func: (function() {
  1898. ___cxx_global_var_init_193();
  1899. })
  1900. }, {
  1901. func: (function() {
  1902. ___cxx_global_var_init_194();
  1903. })
  1904. }, {
  1905. func: (function() {
  1906. ___cxx_global_var_init_195();
  1907. })
  1908. }, {
  1909. func: (function() {
  1910. ___cxx_global_var_init_196();
  1911. })
  1912. }, {
  1913. func: (function() {
  1914. ___cxx_global_var_init_197();
  1915. })
  1916. }, {
  1917. func: (function() {
  1918. ___cxx_global_var_init_198();
  1919. })
  1920. }, {
  1921. func: (function() {
  1922. __GLOBAL__sub_I_Runtime_Misc_2_cpp();
  1923. })
  1924. }, {
  1925. func: (function() {
  1926. ___cxx_global_var_init_162();
  1927. })
  1928. }, {
  1929. func: (function() {
  1930. __GLOBAL__sub_I_Runtime_Misc_3_cpp();
  1931. })
  1932. }, {
  1933. func: (function() {
  1934. ___cxx_global_var_init_15();
  1935. })
  1936. }, {
  1937. func: (function() {
  1938. __GLOBAL__sub_I_Runtime_Misc_4_cpp();
  1939. })
  1940. }, {
  1941. func: (function() {
  1942. ___cxx_global_var_init_172();
  1943. })
  1944. }, {
  1945. func: (function() {
  1946. ___cxx_global_var_init_173();
  1947. })
  1948. }, {
  1949. func: (function() {
  1950. ___cxx_global_var_init_174();
  1951. })
  1952. }, {
  1953. func: (function() {
  1954. ___cxx_global_var_init_175();
  1955. })
  1956. }, {
  1957. func: (function() {
  1958. ___cxx_global_var_init_176();
  1959. })
  1960. }, {
  1961. func: (function() {
  1962. ___cxx_global_var_init_177();
  1963. })
  1964. }, {
  1965. func: (function() {
  1966. ___cxx_global_var_init_178();
  1967. })
  1968. }, {
  1969. func: (function() {
  1970. ___cxx_global_var_init_179();
  1971. })
  1972. }, {
  1973. func: (function() {
  1974. ___cxx_global_var_init_180();
  1975. })
  1976. }, {
  1977. func: (function() {
  1978. ___cxx_global_var_init_181();
  1979. })
  1980. }, {
  1981. func: (function() {
  1982. ___cxx_global_var_init_182();
  1983. })
  1984. }, {
  1985. func: (function() {
  1986. ___cxx_global_var_init_183();
  1987. })
  1988. }, {
  1989. func: (function() {
  1990. ___cxx_global_var_init_184();
  1991. })
  1992. }, {
  1993. func: (function() {
  1994. ___cxx_global_var_init_185();
  1995. })
  1996. }, {
  1997. func: (function() {
  1998. ___cxx_global_var_init_186();
  1999. })
  2000. }, {
  2001. func: (function() {
  2002. ___cxx_global_var_init_187();
  2003. })
  2004. }, {
  2005. func: (function() {
  2006. ___cxx_global_var_init_188();
  2007. })
  2008. }, {
  2009. func: (function() {
  2010. ___cxx_global_var_init_189();
  2011. })
  2012. }, {
  2013. func: (function() {
  2014. ___cxx_global_var_init_190();
  2015. })
  2016. }, {
  2017. func: (function() {
  2018. ___cxx_global_var_init_191();
  2019. })
  2020. }, {
  2021. func: (function() {
  2022. ___cxx_global_var_init_192_8380();
  2023. })
  2024. }, {
  2025. func: (function() {
  2026. ___cxx_global_var_init_193_8381();
  2027. })
  2028. }, {
  2029. func: (function() {
  2030. ___cxx_global_var_init_194_8382();
  2031. })
  2032. }, {
  2033. func: (function() {
  2034. ___cxx_global_var_init_195_8383();
  2035. })
  2036. }, {
  2037. func: (function() {
  2038. ___cxx_global_var_init_196_8384();
  2039. })
  2040. }, {
  2041. func: (function() {
  2042. ___cxx_global_var_init_197_8385();
  2043. })
  2044. }, {
  2045. func: (function() {
  2046. ___cxx_global_var_init_198_8386();
  2047. })
  2048. }, {
  2049. func: (function() {
  2050. ___cxx_global_var_init_199_1314();
  2051. })
  2052. }, {
  2053. func: (function() {
  2054. ___cxx_global_var_init_200();
  2055. })
  2056. }, {
  2057. func: (function() {
  2058. ___cxx_global_var_init_201();
  2059. })
  2060. }, {
  2061. func: (function() {
  2062. ___cxx_global_var_init_202();
  2063. })
  2064. }, {
  2065. func: (function() {
  2066. ___cxx_global_var_init_203();
  2067. })
  2068. }, {
  2069. func: (function() {
  2070. ___cxx_global_var_init_204();
  2071. })
  2072. }, {
  2073. func: (function() {
  2074. ___cxx_global_var_init_205();
  2075. })
  2076. }, {
  2077. func: (function() {
  2078. ___cxx_global_var_init_206();
  2079. })
  2080. }, {
  2081. func: (function() {
  2082. ___cxx_global_var_init_207();
  2083. })
  2084. }, {
  2085. func: (function() {
  2086. ___cxx_global_var_init_208();
  2087. })
  2088. }, {
  2089. func: (function() {
  2090. ___cxx_global_var_init_209();
  2091. })
  2092. }, {
  2093. func: (function() {
  2094. ___cxx_global_var_init_210_8387();
  2095. })
  2096. }, {
  2097. func: (function() {
  2098. ___cxx_global_var_init_211_8388();
  2099. })
  2100. }, {
  2101. func: (function() {
  2102. ___cxx_global_var_init_212();
  2103. })
  2104. }, {
  2105. func: (function() {
  2106. ___cxx_global_var_init_213();
  2107. })
  2108. }, {
  2109. func: (function() {
  2110. ___cxx_global_var_init_214();
  2111. })
  2112. }, {
  2113. func: (function() {
  2114. ___cxx_global_var_init_215();
  2115. })
  2116. }, {
  2117. func: (function() {
  2118. ___cxx_global_var_init_216();
  2119. })
  2120. }, {
  2121. func: (function() {
  2122. ___cxx_global_var_init_217();
  2123. })
  2124. }, {
  2125. func: (function() {
  2126. ___cxx_global_var_init_218();
  2127. })
  2128. }, {
  2129. func: (function() {
  2130. ___cxx_global_var_init_219();
  2131. })
  2132. }, {
  2133. func: (function() {
  2134. ___cxx_global_var_init_220();
  2135. })
  2136. }, {
  2137. func: (function() {
  2138. ___cxx_global_var_init_221();
  2139. })
  2140. }, {
  2141. func: (function() {
  2142. ___cxx_global_var_init_222();
  2143. })
  2144. }, {
  2145. func: (function() {
  2146. ___cxx_global_var_init_223();
  2147. })
  2148. }, {
  2149. func: (function() {
  2150. ___cxx_global_var_init_224();
  2151. })
  2152. }, {
  2153. func: (function() {
  2154. ___cxx_global_var_init_225();
  2155. })
  2156. }, {
  2157. func: (function() {
  2158. ___cxx_global_var_init_226();
  2159. })
  2160. }, {
  2161. func: (function() {
  2162. ___cxx_global_var_init_227();
  2163. })
  2164. }, {
  2165. func: (function() {
  2166. __GLOBAL__sub_I_Runtime_Misc_5_cpp();
  2167. })
  2168. }, {
  2169. func: (function() {
  2170. ___cxx_global_var_init_34();
  2171. })
  2172. }, {
  2173. func: (function() {
  2174. __GLOBAL__sub_I_Runtime_Network_0_cpp();
  2175. })
  2176. }, {
  2177. func: (function() {
  2178. ___cxx_global_var_init_86();
  2179. })
  2180. }, {
  2181. func: (function() {
  2182. ___cxx_global_var_init_87();
  2183. })
  2184. }, {
  2185. func: (function() {
  2186. ___cxx_global_var_init_88_8675();
  2187. })
  2188. }, {
  2189. func: (function() {
  2190. __GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp();
  2191. })
  2192. }, {
  2193. func: (function() {
  2194. ___cxx_global_var_init_31_8788();
  2195. })
  2196. }, {
  2197. func: (function() {
  2198. ___cxx_global_var_init_32();
  2199. })
  2200. }, {
  2201. func: (function() {
  2202. ___cxx_global_var_init_33_8789();
  2203. })
  2204. }, {
  2205. func: (function() {
  2206. ___cxx_global_var_init_34_8790();
  2207. })
  2208. }, {
  2209. func: (function() {
  2210. ___cxx_global_var_init_35();
  2211. })
  2212. }, {
  2213. func: (function() {
  2214. __GLOBAL__sub_I_Runtime_PreloadManager_0_cpp();
  2215. })
  2216. }, {
  2217. func: (function() {
  2218. ___cxx_global_var_init_79();
  2219. })
  2220. }, {
  2221. func: (function() {
  2222. __GLOBAL__sub_I_Runtime_Profiler_0_cpp();
  2223. })
  2224. }, {
  2225. func: (function() {
  2226. __GLOBAL__sub_I_Runtime_Profiler_1_cpp();
  2227. })
  2228. }, {
  2229. func: (function() {
  2230. __GLOBAL__sub_I_Runtime_Profiler_2_cpp();
  2231. })
  2232. }, {
  2233. func: (function() {
  2234. __GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp();
  2235. })
  2236. }, {
  2237. func: (function() {
  2238. __GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp();
  2239. })
  2240. }, {
  2241. func: (function() {
  2242. ___cxx_global_var_init_27_9088();
  2243. })
  2244. }, {
  2245. func: (function() {
  2246. ___cxx_global_var_init_28();
  2247. })
  2248. }, {
  2249. func: (function() {
  2250. ___cxx_global_var_init_29_9089();
  2251. })
  2252. }, {
  2253. func: (function() {
  2254. ___cxx_global_var_init_30();
  2255. })
  2256. }, {
  2257. func: (function() {
  2258. ___cxx_global_var_init_31_9090();
  2259. })
  2260. }, {
  2261. func: (function() {
  2262. __GLOBAL__sub_I_Runtime_SceneManager_0_cpp();
  2263. })
  2264. }, {
  2265. func: (function() {
  2266. ___cxx_global_var_init_34_9202();
  2267. })
  2268. }, {
  2269. func: (function() {
  2270. __GLOBAL__sub_I_Runtime_Shaders_0_cpp();
  2271. })
  2272. }, {
  2273. func: (function() {
  2274. __GLOBAL__sub_I_Runtime_Shaders_1_cpp();
  2275. })
  2276. }, {
  2277. func: (function() {
  2278. ___cxx_global_var_init_61();
  2279. })
  2280. }, {
  2281. func: (function() {
  2282. __GLOBAL__sub_I_Runtime_Shaders_4_cpp();
  2283. })
  2284. }, {
  2285. func: (function() {
  2286. __GLOBAL__sub_I_Runtime_Shaders_5_cpp();
  2287. })
  2288. }, {
  2289. func: (function() {
  2290. __GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp();
  2291. })
  2292. }, {
  2293. func: (function() {
  2294. ___cxx_global_var_init_33_10225();
  2295. })
  2296. }, {
  2297. func: (function() {
  2298. __GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp();
  2299. })
  2300. }, {
  2301. func: (function() {
  2302. __GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp();
  2303. })
  2304. }, {
  2305. func: (function() {
  2306. __GLOBAL__sub_I_Runtime_Streaming_0_cpp();
  2307. })
  2308. }, {
  2309. func: (function() {
  2310. __GLOBAL__sub_I_Runtime_Streaming_1_cpp();
  2311. })
  2312. }, {
  2313. func: (function() {
  2314. ___cxx_global_var_init_47_1315();
  2315. })
  2316. }, {
  2317. func: (function() {
  2318. __GLOBAL__sub_I_Runtime_Transform_0_cpp();
  2319. })
  2320. }, {
  2321. func: (function() {
  2322. __GLOBAL__sub_I_Runtime_Transform_1_cpp();
  2323. })
  2324. }, {
  2325. func: (function() {
  2326. __GLOBAL__sub_I_UIWidgets_cpp();
  2327. })
  2328. }, {
  2329. func: (function() {
  2330. __GLOBAL__sub_I_Runtime_Utilities_2_cpp();
  2331. })
  2332. }, {
  2333. func: (function() {
  2334. ___cxx_global_var_init_10913();
  2335. })
  2336. }, {
  2337. func: (function() {
  2338. __GLOBAL__sub_I_Runtime_Utilities_5_cpp();
  2339. })
  2340. }, {
  2341. func: (function() {
  2342. __GLOBAL__sub_I_Runtime_Utilities_6_cpp();
  2343. })
  2344. }, {
  2345. func: (function() {
  2346. __GLOBAL__sub_I_Runtime_Utilities_7_cpp();
  2347. })
  2348. }, {
  2349. func: (function() {
  2350. __GLOBAL__sub_I_Runtime_Utilities_8_cpp();
  2351. })
  2352. }, {
  2353. func: (function() {
  2354. __GLOBAL__sub_I_Runtime_Utilities_9_cpp();
  2355. })
  2356. }, {
  2357. func: (function() {
  2358. __GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp();
  2359. })
  2360. }, {
  2361. func: (function() {
  2362. __GLOBAL__sub_I_AssetBundleFileSystem_cpp();
  2363. })
  2364. }, {
  2365. func: (function() {
  2366. __GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp();
  2367. })
  2368. }, {
  2369. func: (function() {
  2370. __GLOBAL__sub_I_Runtime_Modules_0_cpp();
  2371. })
  2372. }, {
  2373. func: (function() {
  2374. __GLOBAL__sub_I_Modules_Profiler_Public_0_cpp();
  2375. })
  2376. }, {
  2377. func: (function() {
  2378. ___cxx_global_var_init_58();
  2379. })
  2380. }, {
  2381. func: (function() {
  2382. ___cxx_global_var_init_59();
  2383. })
  2384. }, {
  2385. func: (function() {
  2386. ___cxx_global_var_init_60();
  2387. })
  2388. }, {
  2389. func: (function() {
  2390. __GLOBAL__sub_I_Modules_Profiler_Public_1_cpp();
  2391. })
  2392. }, {
  2393. func: (function() {
  2394. __GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp();
  2395. })
  2396. }, {
  2397. func: (function() {
  2398. __GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp();
  2399. })
  2400. }, {
  2401. func: (function() {
  2402. __GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp();
  2403. })
  2404. }, {
  2405. func: (function() {
  2406. __GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp();
  2407. })
  2408. }, {
  2409. func: (function() {
  2410. __GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp();
  2411. })
  2412. }, {
  2413. func: (function() {
  2414. __GLOBAL__sub_I_Runtime_GfxDevice_1_cpp();
  2415. })
  2416. }, {
  2417. func: (function() {
  2418. __GLOBAL__sub_I_Runtime_GfxDevice_2_cpp();
  2419. })
  2420. }, {
  2421. func: (function() {
  2422. __GLOBAL__sub_I_Runtime_GfxDevice_3_cpp();
  2423. })
  2424. }, {
  2425. func: (function() {
  2426. ___cxx_global_var_init_92();
  2427. })
  2428. }, {
  2429. func: (function() {
  2430. ___cxx_global_var_init_93();
  2431. })
  2432. }, {
  2433. func: (function() {
  2434. ___cxx_global_var_init_94();
  2435. })
  2436. }, {
  2437. func: (function() {
  2438. __GLOBAL__sub_I_Runtime_GfxDevice_4_cpp();
  2439. })
  2440. }, {
  2441. func: (function() {
  2442. __GLOBAL__sub_I_Runtime_GfxDevice_5_cpp();
  2443. })
  2444. }, {
  2445. func: (function() {
  2446. __GLOBAL__sub_I_Runtime_PluginInterface_0_cpp();
  2447. })
  2448. }, {
  2449. func: (function() {
  2450. __GLOBAL__sub_I_Runtime_Director_Core_0_cpp();
  2451. })
  2452. }, {
  2453. func: (function() {
  2454. ___cxx_global_var_init_36();
  2455. })
  2456. }, {
  2457. func: (function() {
  2458. ___cxx_global_var_init_37();
  2459. })
  2460. }, {
  2461. func: (function() {
  2462. ___cxx_global_var_init_38();
  2463. })
  2464. }, {
  2465. func: (function() {
  2466. ___cxx_global_var_init_39();
  2467. })
  2468. }, {
  2469. func: (function() {
  2470. ___cxx_global_var_init_40();
  2471. })
  2472. }, {
  2473. func: (function() {
  2474. ___cxx_global_var_init_41();
  2475. })
  2476. }, {
  2477. func: (function() {
  2478. ___cxx_global_var_init_42();
  2479. })
  2480. }, {
  2481. func: (function() {
  2482. ___cxx_global_var_init_43();
  2483. })
  2484. }, {
  2485. func: (function() {
  2486. ___cxx_global_var_init_44();
  2487. })
  2488. }, {
  2489. func: (function() {
  2490. ___cxx_global_var_init_45();
  2491. })
  2492. }, {
  2493. func: (function() {
  2494. ___cxx_global_var_init_46();
  2495. })
  2496. }, {
  2497. func: (function() {
  2498. ___cxx_global_var_init_47_12782();
  2499. })
  2500. }, {
  2501. func: (function() {
  2502. ___cxx_global_var_init_48_1316();
  2503. })
  2504. }, {
  2505. func: (function() {
  2506. ___cxx_global_var_init_49();
  2507. })
  2508. }, {
  2509. func: (function() {
  2510. __GLOBAL__sub_I_Runtime_Director_Core_1_cpp();
  2511. })
  2512. }, {
  2513. func: (function() {
  2514. __GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp();
  2515. })
  2516. }, {
  2517. func: (function() {
  2518. ___cxx_global_var_init_155();
  2519. })
  2520. }, {
  2521. func: (function() {
  2522. __GLOBAL__sub_I_Runtime_Scripting_0_cpp();
  2523. })
  2524. }, {
  2525. func: (function() {
  2526. __GLOBAL__sub_I_Runtime_Scripting_2_cpp();
  2527. })
  2528. }, {
  2529. func: (function() {
  2530. ___cxx_global_var_init_41_13464();
  2531. })
  2532. }, {
  2533. func: (function() {
  2534. __GLOBAL__sub_I_Runtime_Scripting_3_cpp();
  2535. })
  2536. }, {
  2537. func: (function() {
  2538. ___cxx_global_var_init_63();
  2539. })
  2540. }, {
  2541. func: (function() {
  2542. __GLOBAL__sub_I_Runtime_Mono_0_cpp();
  2543. })
  2544. }, {
  2545. func: (function() {
  2546. __GLOBAL__sub_I_Runtime_Mono_2_cpp();
  2547. })
  2548. }, {
  2549. func: (function() {
  2550. __GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp();
  2551. })
  2552. }, {
  2553. func: (function() {
  2554. __GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp();
  2555. })
  2556. }, {
  2557. func: (function() {
  2558. __GLOBAL__sub_I_TemplateInstantiations_cpp();
  2559. })
  2560. }, {
  2561. func: (function() {
  2562. __GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp();
  2563. })
  2564. }, {
  2565. func: (function() {
  2566. __GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp();
  2567. })
  2568. }, {
  2569. func: (function() {
  2570. __GLOBAL__sub_I_Runtime_Serialize_0_cpp();
  2571. })
  2572. }, {
  2573. func: (function() {
  2574. __GLOBAL__sub_I_Runtime_Serialize_1_cpp();
  2575. })
  2576. }, {
  2577. func: (function() {
  2578. __GLOBAL__sub_I_Runtime_Serialize_2_cpp();
  2579. })
  2580. }, {
  2581. func: (function() {
  2582. __GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp();
  2583. })
  2584. }, {
  2585. func: (function() {
  2586. __GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp();
  2587. })
  2588. }, {
  2589. func: (function() {
  2590. __GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp();
  2591. })
  2592. }, {
  2593. func: (function() {
  2594. ___cxx_global_var_init_144();
  2595. })
  2596. }, {
  2597. func: (function() {
  2598. __GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp();
  2599. })
  2600. }, {
  2601. func: (function() {
  2602. __GLOBAL__sub_I_CoreBindings_gen_cpp();
  2603. })
  2604. }, {
  2605. func: (function() {
  2606. __GLOBAL__sub_I_LineRenderer_cpp();
  2607. })
  2608. }, {
  2609. func: (function() {
  2610. __GLOBAL__sub_I_QualitySettings_cpp();
  2611. })
  2612. }, {
  2613. func: (function() {
  2614. __GLOBAL__sub_I_TrailRenderer_cpp();
  2615. })
  2616. }, {
  2617. func: (function() {
  2618. __GLOBAL__sub_I_Mesh_cpp();
  2619. })
  2620. }, {
  2621. func: (function() {
  2622. __GLOBAL__sub_I_LogAssert_cpp();
  2623. })
  2624. }, {
  2625. func: (function() {
  2626. ___cxx_global_var_init_17063();
  2627. })
  2628. }, {
  2629. func: (function() {
  2630. __GLOBAL__sub_I_Shader_cpp();
  2631. })
  2632. }, {
  2633. func: (function() {
  2634. __GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp();
  2635. })
  2636. }, {
  2637. func: (function() {
  2638. __GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp();
  2639. })
  2640. }, {
  2641. func: (function() {
  2642. __GLOBAL__sub_I_DirectorScriptingClasses_cpp();
  2643. })
  2644. }, {
  2645. func: (function() {
  2646. __GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp();
  2647. })
  2648. }, {
  2649. func: (function() {
  2650. __GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp();
  2651. })
  2652. }, {
  2653. func: (function() {
  2654. __GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp();
  2655. })
  2656. }, {
  2657. func: (function() {
  2658. __GLOBAL__sub_I_DSPGraphBindings_gen_cpp();
  2659. })
  2660. }, {
  2661. func: (function() {
  2662. __GLOBAL__sub_I_GridScriptingClasses_cpp();
  2663. })
  2664. }, {
  2665. func: (function() {
  2666. __GLOBAL__sub_I_Modules_Grid_Public_0_cpp();
  2667. })
  2668. }, {
  2669. func: (function() {
  2670. ___cxx_global_var_init_4115();
  2671. })
  2672. }, {
  2673. func: (function() {
  2674. __GLOBAL__sub_I_IMGUIScriptingClasses_cpp();
  2675. })
  2676. }, {
  2677. func: (function() {
  2678. __GLOBAL__sub_I_Modules_IMGUI_0_cpp();
  2679. })
  2680. }, {
  2681. func: (function() {
  2682. ___cxx_global_var_init_29_4254();
  2683. })
  2684. }, {
  2685. func: (function() {
  2686. ___cxx_global_var_init_30_4255();
  2687. })
  2688. }, {
  2689. func: (function() {
  2690. ___cxx_global_var_init_31_4256();
  2691. })
  2692. }, {
  2693. func: (function() {
  2694. __GLOBAL__sub_I_Modules_IMGUI_1_cpp();
  2695. })
  2696. }, {
  2697. func: (function() {
  2698. __GLOBAL__sub_I_InputLegacyScriptingClasses_cpp();
  2699. })
  2700. }, {
  2701. func: (function() {
  2702. ___cxx_global_var_init_3_4490();
  2703. })
  2704. }, {
  2705. func: (function() {
  2706. __GLOBAL__sub_I_InputLegacyModuleRegistration_cpp();
  2707. })
  2708. }, {
  2709. func: (function() {
  2710. __GLOBAL__sub_I_InputScriptingClasses_cpp();
  2711. })
  2712. }, {
  2713. func: (function() {
  2714. ___cxx_global_var_init_6_4577();
  2715. })
  2716. }, {
  2717. func: (function() {
  2718. ___cxx_global_var_init_7_4578();
  2719. })
  2720. }, {
  2721. func: (function() {
  2722. ___cxx_global_var_init_8_4579();
  2723. })
  2724. }, {
  2725. func: (function() {
  2726. ___cxx_global_var_init_9_4580();
  2727. })
  2728. }, {
  2729. func: (function() {
  2730. __GLOBAL__sub_I_Modules_Input_Private_0_cpp();
  2731. })
  2732. }, {
  2733. func: (function() {
  2734. __GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp();
  2735. })
  2736. }, {
  2737. func: (function() {
  2738. ___cxx_global_var_init_43_4837();
  2739. })
  2740. }, {
  2741. func: (function() {
  2742. __GLOBAL__sub_I_Modules_ParticleSystem_0_cpp();
  2743. })
  2744. }, {
  2745. func: (function() {
  2746. ___cxx_global_var_init_58_4838();
  2747. })
  2748. }, {
  2749. func: (function() {
  2750. ___cxx_global_var_init_59_4839();
  2751. })
  2752. }, {
  2753. func: (function() {
  2754. ___cxx_global_var_init_60_4840();
  2755. })
  2756. }, {
  2757. func: (function() {
  2758. __GLOBAL__sub_I_Modules_ParticleSystem_1_cpp();
  2759. })
  2760. }, {
  2761. func: (function() {
  2762. __GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp();
  2763. })
  2764. }, {
  2765. func: (function() {
  2766. __GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp();
  2767. })
  2768. }, {
  2769. func: (function() {
  2770. __GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp();
  2771. })
  2772. }, {
  2773. func: (function() {
  2774. __GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp();
  2775. })
  2776. }, {
  2777. func: (function() {
  2778. __GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp();
  2779. })
  2780. }, {
  2781. func: (function() {
  2782. __GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp();
  2783. })
  2784. }, {
  2785. func: (function() {
  2786. __GLOBAL__sub_I_ParticleSystemBindings_gen_cpp();
  2787. })
  2788. }, {
  2789. func: (function() {
  2790. __GLOBAL__sub_I_ParticleSystemGeometryJob_cpp();
  2791. })
  2792. }, {
  2793. func: (function() {
  2794. __GLOBAL__sub_I_ExternalForcesModule_cpp();
  2795. })
  2796. }, {
  2797. func: (function() {
  2798. __GLOBAL__sub_I_NoiseModule_cpp();
  2799. })
  2800. }, {
  2801. func: (function() {
  2802. __GLOBAL__sub_I_ShapeModule_cpp();
  2803. })
  2804. }, {
  2805. func: (function() {
  2806. __GLOBAL__sub_I_UVModule_cpp();
  2807. })
  2808. }, {
  2809. func: (function() {
  2810. __GLOBAL__sub_I_VelocityModule_cpp();
  2811. })
  2812. }, {
  2813. func: (function() {
  2814. ___cxx_global_var_init_27_5703();
  2815. })
  2816. }, {
  2817. func: (function() {
  2818. __GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp();
  2819. })
  2820. }, {
  2821. func: (function() {
  2822. __GLOBAL__sub_I_Physics2DScriptingClasses_cpp();
  2823. })
  2824. }, {
  2825. func: (function() {
  2826. __GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp();
  2827. })
  2828. }, {
  2829. func: (function() {
  2830. __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp();
  2831. })
  2832. }, {
  2833. func: (function() {
  2834. __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp();
  2835. })
  2836. }, {
  2837. func: (function() {
  2838. __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp();
  2839. })
  2840. }, {
  2841. func: (function() {
  2842. __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp();
  2843. })
  2844. }, {
  2845. func: (function() {
  2846. ___cxx_global_var_init_112();
  2847. })
  2848. }, {
  2849. func: (function() {
  2850. ___cxx_global_var_init_113();
  2851. })
  2852. }, {
  2853. func: (function() {
  2854. ___cxx_global_var_init_114();
  2855. })
  2856. }, {
  2857. func: (function() {
  2858. __GLOBAL__sub_I_Modules_Physics2D_0_cpp();
  2859. })
  2860. }, {
  2861. func: (function() {
  2862. __GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp();
  2863. })
  2864. }, {
  2865. func: (function() {
  2866. __GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp();
  2867. })
  2868. }, {
  2869. func: (function() {
  2870. __GLOBAL__sub_I_PhysicsScriptingClasses_cpp();
  2871. })
  2872. }, {
  2873. func: (function() {
  2874. __GLOBAL__sub_I_Modules_Physics_0_cpp();
  2875. })
  2876. }, {
  2877. func: (function() {
  2878. ___cxx_global_var_init_91();
  2879. })
  2880. }, {
  2881. func: (function() {
  2882. ___cxx_global_var_init_92_6304();
  2883. })
  2884. }, {
  2885. func: (function() {
  2886. ___cxx_global_var_init_93_6305();
  2887. })
  2888. }, {
  2889. func: (function() {
  2890. ___cxx_global_var_init_94_6306();
  2891. })
  2892. }, {
  2893. func: (function() {
  2894. ___cxx_global_var_init_95();
  2895. })
  2896. }, {
  2897. func: (function() {
  2898. __GLOBAL__sub_I_Modules_Physics_2_cpp();
  2899. })
  2900. }, {
  2901. func: (function() {
  2902. __GLOBAL__sub_I_Modules_Physics_3_cpp();
  2903. })
  2904. }, {
  2905. func: (function() {
  2906. __GLOBAL__sub_I_Modules_Physics_4_cpp();
  2907. })
  2908. }, {
  2909. func: (function() {
  2910. __GLOBAL__sub_I_PhysicsQuery_cpp();
  2911. })
  2912. }, {
  2913. func: (function() {
  2914. __GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp();
  2915. })
  2916. }, {
  2917. func: (function() {
  2918. __GLOBAL__sub_I_PhysicsScene_cpp();
  2919. })
  2920. }, {
  2921. func: (function() {
  2922. __GLOBAL__sub_I_PhysicsBindings_gen_cpp();
  2923. })
  2924. }, {
  2925. func: (function() {
  2926. ___cxx_global_var_init_8_7080();
  2927. })
  2928. }, {
  2929. func: (function() {
  2930. ___cxx_global_var_init_11();
  2931. })
  2932. }, {
  2933. func: (function() {
  2934. __GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp();
  2935. })
  2936. }, {
  2937. func: (function() {
  2938. __GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp();
  2939. })
  2940. }, {
  2941. func: (function() {
  2942. ___cxx_global_var_init_4_7142();
  2943. })
  2944. }, {
  2945. func: (function() {
  2946. __GLOBAL__sub_I_SpriteShapeBindings_gen_cpp();
  2947. })
  2948. }, {
  2949. func: (function() {
  2950. ___cxx_global_var_init_1_7199();
  2951. })
  2952. }, {
  2953. func: (function() {
  2954. __GLOBAL__sub_I_SubsystemsScriptingClasses_cpp();
  2955. })
  2956. }, {
  2957. func: (function() {
  2958. ___cxx_global_var_init_28_7239();
  2959. })
  2960. }, {
  2961. func: (function() {
  2962. ___cxx_global_var_init_29_7240();
  2963. })
  2964. }, {
  2965. func: (function() {
  2966. __GLOBAL__sub_I_Modules_Subsystems_0_cpp();
  2967. })
  2968. }, {
  2969. func: (function() {
  2970. __GLOBAL__sub_I_TerrainScriptingClasses_cpp();
  2971. })
  2972. }, {
  2973. func: (function() {
  2974. __GLOBAL__sub_I_Modules_Terrain_Public_0_cpp();
  2975. })
  2976. }, {
  2977. func: (function() {
  2978. __GLOBAL__sub_I_Modules_Terrain_Public_1_cpp();
  2979. })
  2980. }, {
  2981. func: (function() {
  2982. ___cxx_global_var_init_110();
  2983. })
  2984. }, {
  2985. func: (function() {
  2986. ___cxx_global_var_init_111();
  2987. })
  2988. }, {
  2989. func: (function() {
  2990. __GLOBAL__sub_I_Modules_Terrain_Public_2_cpp();
  2991. })
  2992. }, {
  2993. func: (function() {
  2994. __GLOBAL__sub_I_Modules_Terrain_Public_3_cpp();
  2995. })
  2996. }, {
  2997. func: (function() {
  2998. __GLOBAL__sub_I_Modules_Terrain_VR_0_cpp();
  2999. })
  3000. }, {
  3001. func: (function() {
  3002. __GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp();
  3003. })
  3004. }, {
  3005. func: (function() {
  3006. __GLOBAL__sub_I_TextCoreScriptingClasses_cpp();
  3007. })
  3008. }, {
  3009. func: (function() {
  3010. __GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp();
  3011. })
  3012. }, {
  3013. func: (function() {
  3014. __GLOBAL__sub_I_TextRenderingScriptingClasses_cpp();
  3015. })
  3016. }, {
  3017. func: (function() {
  3018. ___cxx_global_var_init_35_7727();
  3019. })
  3020. }, {
  3021. func: (function() {
  3022. ___cxx_global_var_init_36_7728();
  3023. })
  3024. }, {
  3025. func: (function() {
  3026. __GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp();
  3027. })
  3028. }, {
  3029. func: (function() {
  3030. __GLOBAL__sub_I_TilemapScriptingClasses_cpp();
  3031. })
  3032. }, {
  3033. func: (function() {
  3034. __GLOBAL__sub_I_Modules_Tilemap_0_cpp();
  3035. })
  3036. }, {
  3037. func: (function() {
  3038. ___cxx_global_var_init_44_7946();
  3039. })
  3040. }, {
  3041. func: (function() {
  3042. __GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp();
  3043. })
  3044. }, {
  3045. func: (function() {
  3046. __GLOBAL__sub_I_TLSModule_cpp();
  3047. })
  3048. }, {
  3049. func: (function() {
  3050. __GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp();
  3051. })
  3052. }, {
  3053. func: (function() {
  3054. __GLOBAL__sub_I_External_Yoga_Yoga_0_cpp();
  3055. })
  3056. }, {
  3057. func: (function() {
  3058. ___cxx_global_var_init_10_8165();
  3059. })
  3060. }, {
  3061. func: (function() {
  3062. ___cxx_global_var_init_11_8166();
  3063. })
  3064. }, {
  3065. func: (function() {
  3066. ___cxx_global_var_init_12_8167();
  3067. })
  3068. }, {
  3069. func: (function() {
  3070. __GLOBAL__sub_I_Modules_UIElementsNative_0_cpp();
  3071. })
  3072. }, {
  3073. func: (function() {
  3074. __GLOBAL__sub_I_UIScriptingClasses_cpp();
  3075. })
  3076. }, {
  3077. func: (function() {
  3078. ___cxx_global_var_init_46_8335();
  3079. })
  3080. }, {
  3081. func: (function() {
  3082. ___cxx_global_var_init_47_8336();
  3083. })
  3084. }, {
  3085. func: (function() {
  3086. ___cxx_global_var_init_48_8337();
  3087. })
  3088. }, {
  3089. func: (function() {
  3090. ___cxx_global_var_init_49_8338();
  3091. })
  3092. }, {
  3093. func: (function() {
  3094. ___cxx_global_var_init_50();
  3095. })
  3096. }, {
  3097. func: (function() {
  3098. ___cxx_global_var_init_51();
  3099. })
  3100. }, {
  3101. func: (function() {
  3102. ___cxx_global_var_init_52();
  3103. })
  3104. }, {
  3105. func: (function() {
  3106. ___cxx_global_var_init_53_8339();
  3107. })
  3108. }, {
  3109. func: (function() {
  3110. __GLOBAL__sub_I_Modules_UI_0_cpp();
  3111. })
  3112. }, {
  3113. func: (function() {
  3114. __GLOBAL__sub_I_Modules_UI_1_cpp();
  3115. })
  3116. }, {
  3117. func: (function() {
  3118. __GLOBAL__sub_I_Modules_UI_2_cpp();
  3119. })
  3120. }, {
  3121. func: (function() {
  3122. __GLOBAL__sub_I_umbra_cpp();
  3123. })
  3124. }, {
  3125. func: (function() {
  3126. __GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp();
  3127. })
  3128. }, {
  3129. func: (function() {
  3130. ___cxx_global_var_init_67();
  3131. })
  3132. }, {
  3133. func: (function() {
  3134. __GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp();
  3135. })
  3136. }, {
  3137. func: (function() {
  3138. ___cxx_global_var_init_8552();
  3139. })
  3140. }, {
  3141. func: (function() {
  3142. __GLOBAL__sub_I_UnityAdsSettings_cpp();
  3143. })
  3144. }, {
  3145. func: (function() {
  3146. __GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp();
  3147. })
  3148. }, {
  3149. func: (function() {
  3150. __GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp();
  3151. })
  3152. }, {
  3153. func: (function() {
  3154. __GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp();
  3155. })
  3156. }, {
  3157. func: (function() {
  3158. __GLOBAL__sub_I_Modules_Vehicles_0_cpp();
  3159. })
  3160. }, {
  3161. func: (function() {
  3162. __GLOBAL__sub_I_VFXScriptingClasses_cpp();
  3163. })
  3164. }, {
  3165. func: (function() {
  3166. ___cxx_global_var_init_78();
  3167. })
  3168. }, {
  3169. func: (function() {
  3170. __GLOBAL__sub_I_Modules_VFX_Public_0_cpp();
  3171. })
  3172. }, {
  3173. func: (function() {
  3174. __GLOBAL__sub_I_Modules_VFX_Public_1_cpp();
  3175. })
  3176. }, {
  3177. func: (function() {
  3178. __GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp();
  3179. })
  3180. }, {
  3181. func: (function() {
  3182. __GLOBAL__sub_I_VisualEffectAsset_cpp();
  3183. })
  3184. }, {
  3185. func: (function() {
  3186. __GLOBAL__sub_I_VideoScriptingClasses_cpp();
  3187. })
  3188. }, {
  3189. func: (function() {
  3190. __GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp();
  3191. })
  3192. }, {
  3193. func: (function() {
  3194. ___cxx_global_var_init_1_9527();
  3195. })
  3196. }, {
  3197. func: (function() {
  3198. ___cxx_global_var_init_2_9528();
  3199. })
  3200. }, {
  3201. func: (function() {
  3202. __GLOBAL__sub_I_Modules_Video_Public_0_cpp();
  3203. })
  3204. }, {
  3205. func: (function() {
  3206. __GLOBAL__sub_I_VideoMediaOutput_cpp();
  3207. })
  3208. }, {
  3209. func: (function() {
  3210. __GLOBAL__sub_I_VideoYUV420Convert_cpp();
  3211. })
  3212. }, {
  3213. func: (function() {
  3214. __GLOBAL__sub_I_VRScriptingClasses_cpp();
  3215. })
  3216. }, {
  3217. func: (function() {
  3218. ___cxx_global_var_init_54();
  3219. })
  3220. }, {
  3221. func: (function() {
  3222. ___cxx_global_var_init_55_9709();
  3223. })
  3224. }, {
  3225. func: (function() {
  3226. ___cxx_global_var_init_56();
  3227. })
  3228. }, {
  3229. func: (function() {
  3230. ___cxx_global_var_init_57();
  3231. })
  3232. }, {
  3233. func: (function() {
  3234. ___cxx_global_var_init_58_9710();
  3235. })
  3236. }, {
  3237. func: (function() {
  3238. ___cxx_global_var_init_59_9711();
  3239. })
  3240. }, {
  3241. func: (function() {
  3242. ___cxx_global_var_init_60_9712();
  3243. })
  3244. }, {
  3245. func: (function() {
  3246. ___cxx_global_var_init_61_9713();
  3247. })
  3248. }, {
  3249. func: (function() {
  3250. __GLOBAL__sub_I_Modules_VR_0_cpp();
  3251. })
  3252. }, {
  3253. func: (function() {
  3254. __GLOBAL__sub_I_Modules_VR_1_cpp();
  3255. })
  3256. }, {
  3257. func: (function() {
  3258. __GLOBAL__sub_I_PluginInterfaceVR_cpp();
  3259. })
  3260. }, {
  3261. func: (function() {
  3262. __GLOBAL__sub_I_Wind_cpp();
  3263. })
  3264. }, {
  3265. func: (function() {
  3266. __GLOBAL__sub_I_XRScriptingClasses_cpp();
  3267. })
  3268. }, {
  3269. func: (function() {
  3270. __GLOBAL__sub_I_Modules_XR_0_cpp();
  3271. })
  3272. }, {
  3273. func: (function() {
  3274. ___cxx_global_var_init_2_9864();
  3275. })
  3276. }, {
  3277. func: (function() {
  3278. __GLOBAL__sub_I_XRAudio_cpp();
  3279. })
  3280. }, {
  3281. func: (function() {
  3282. ___cxx_global_var_init_3_9865();
  3283. })
  3284. }, {
  3285. func: (function() {
  3286. __GLOBAL__sub_I_XRPreInit_cpp();
  3287. })
  3288. }, {
  3289. func: (function() {
  3290. ___cxx_global_var_init_3_27();
  3291. })
  3292. }, {
  3293. func: (function() {
  3294. ___cxx_global_var_init_4_9866();
  3295. })
  3296. }, {
  3297. func: (function() {
  3298. ___cxx_global_var_init_5_9867();
  3299. })
  3300. }, {
  3301. func: (function() {
  3302. ___cxx_global_var_init_6_9868();
  3303. })
  3304. }, {
  3305. func: (function() {
  3306. ___cxx_global_var_init_7_9869();
  3307. })
  3308. }, {
  3309. func: (function() {
  3310. ___cxx_global_var_init_8_9870();
  3311. })
  3312. }, {
  3313. func: (function() {
  3314. ___cxx_global_var_init_9_9871();
  3315. })
  3316. }, {
  3317. func: (function() {
  3318. ___cxx_global_var_init_10_9872();
  3319. })
  3320. }, {
  3321. func: (function() {
  3322. __GLOBAL__sub_I_Modules_XR_Public_0_cpp();
  3323. })
  3324. }, {
  3325. func: (function() {
  3326. __GLOBAL__sub_I_Modules_XR_Stats_0_cpp();
  3327. })
  3328. }, {
  3329. func: (function() {
  3330. __GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp();
  3331. })
  3332. }, {
  3333. func: (function() {
  3334. __GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp();
  3335. })
  3336. }, {
  3337. func: (function() {
  3338. __GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp();
  3339. })
  3340. }, {
  3341. func: (function() {
  3342. __GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp();
  3343. })
  3344. }, {
  3345. func: (function() {
  3346. __GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp();
  3347. })
  3348. }, {
  3349. func: (function() {
  3350. __GLOBAL__sub_I_Modules_XR_Tracing_0_cpp();
  3351. })
  3352. }, {
  3353. func: (function() {
  3354. __GLOBAL__sub_I_XRWindowsLocatableCamera_cpp();
  3355. })
  3356. }, {
  3357. func: (function() {
  3358. __GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp();
  3359. })
  3360. }, {
  3361. func: (function() {
  3362. __GLOBAL__sub_I_Lump_libil2cpp_os_cpp();
  3363. })
  3364. }, {
  3365. func: (function() {
  3366. __GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp();
  3367. })
  3368. }, {
  3369. func: (function() {
  3370. __GLOBAL__sub_I_Lump_libil2cpp_vm_cpp();
  3371. })
  3372. }, {
  3373. func: (function() {
  3374. __GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp();
  3375. })
  3376. }, {
  3377. func: (function() {
  3378. __GLOBAL__sub_I_Lump_libil2cpp_utils_cpp();
  3379. })
  3380. }, {
  3381. func: (function() {
  3382. __GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp();
  3383. })
  3384. }, {
  3385. func: (function() {
  3386. __GLOBAL__sub_I_Lump_libil2cpp_mono_cpp();
  3387. })
  3388. }, {
  3389. func: (function() {
  3390. __GLOBAL__sub_I_Lump_libil2cpp_gc_cpp();
  3391. })
  3392. }, {
  3393. func: (function() {
  3394. ___emscripten_environ_constructor();
  3395. })
  3396. });
  3397. var STATIC_BUMP = 2444848;
  3398. Module["STATIC_BASE"] = STATIC_BASE;
  3399. Module["STATIC_BUMP"] = STATIC_BUMP;
  3400. var tempDoublePtr = STATICTOP;
  3401. STATICTOP += 16;
  3402. assert(tempDoublePtr % 8 == 0);
  3403. function _CreateIFrame() {
  3404. window.location.href = "https://fangzhen.cocorobo.cn/blockly";
  3405. }
  3406. function _JS_Cursor_SetImage(ptr, length) {
  3407. var binary = "";
  3408. for (var i = 0; i < length; i++) binary += String.fromCharCode(HEAPU8[ptr + i]);
  3409. Module.canvas.style.cursor = "url(data:image/cur;base64," + btoa(binary) + "),default";
  3410. }
  3411. function _JS_Cursor_SetShow(show) {
  3412. Module.canvas.style.cursor = show ? "default" : "none";
  3413. }
  3414. function _JS_Eval_ClearInterval(id) {
  3415. window.clearInterval(id);
  3416. }
  3417. function _JS_Eval_SetInterval(func, arg, millis) {
  3418. Module["noExitRuntime"] = true;
  3419. function wrapper() {
  3420. getFuncWrapper(func, "vi")(arg);
  3421. }
  3422. return Browser.safeSetInterval(wrapper, millis);
  3423. }
  3424. var fs = {
  3425. numPendingSync: 0,
  3426. syncInternal: 1e3,
  3427. syncInProgress: false,
  3428. sync: (function(onlyPendingSync) {
  3429. if (onlyPendingSync) {
  3430. if (fs.numPendingSync == 0) return;
  3431. } else if (fs.syncInProgress) {
  3432. fs.numPendingSync++;
  3433. return;
  3434. }
  3435. fs.syncInProgress = true;
  3436. FS.syncfs(false, (function(err) {
  3437. fs.syncInProgress = false;
  3438. }));
  3439. fs.numPendingSync = 0;
  3440. })
  3441. };
  3442. function _JS_FileSystem_Initialize() {
  3443. Module.setInterval((function() {
  3444. fs.sync(true);
  3445. }), fs.syncInternal);
  3446. }
  3447. function _JS_FileSystem_Sync() {
  3448. fs.sync(false);
  3449. }
  3450. function _JS_Log_Dump(ptr, type) {
  3451. var str = Pointer_stringify(ptr);
  3452. if (typeof dump == "function") dump(str);
  3453. switch (type) {
  3454. case 0:
  3455. case 1:
  3456. case 4:
  3457. console.error(str);
  3458. return;
  3459. case 2:
  3460. console.warn(str);
  3461. return;
  3462. case 3:
  3463. case 5:
  3464. console.log(str);
  3465. return;
  3466. default:
  3467. console.error("Unknown console message type!");
  3468. console.error(str);
  3469. }
  3470. }
  3471. function _JS_Log_StackTrace(buffer, bufferSize) {
  3472. var trace = stackTrace();
  3473. if (buffer) stringToUTF8(trace, buffer, bufferSize);
  3474. return lengthBytesUTF8(trace);
  3475. }
  3476. function _JS_Profiler_InjectJobs() {
  3477. for (var jobname in Module["Jobs"]) {
  3478. var job = Module["Jobs"][jobname];
  3479. if (typeof job["endtime"] != "undefined") Module.ccall("InjectProfilerSample", null, [ "string", "number", "number" ], [ jobname, job.starttime, job.endtime ]);
  3480. }
  3481. }
  3482. var WEBAudio = {
  3483. audioInstanceIdCounter: 0,
  3484. audioInstances: {},
  3485. audioContext: null,
  3486. audioWebEnabled: 0
  3487. };
  3488. function _JS_Sound_Create_Channel(callback, userData) {
  3489. if (WEBAudio.audioWebEnabled == 0) return;
  3490. var channel = {
  3491. gain: WEBAudio.audioContext.createGain(),
  3492. panner: WEBAudio.audioContext.createPanner(),
  3493. threeD: false,
  3494. playBuffer: (function(startTime, buffer, startOffset) {
  3495. this.setup();
  3496. this.source.buffer = buffer;
  3497. var chan = this;
  3498. this.source.onended = (function() {
  3499. chan.disconnectSource();
  3500. if (callback) dynCall("vi", callback, [ userData ]);
  3501. });
  3502. this.source.start(startTime, startOffset);
  3503. this.source.playbackStartTime = startTime - startOffset / this.source.playbackRate.value;
  3504. }),
  3505. disconnectSource: (function() {
  3506. if (this.source && !this.source.isPausedMockNode) {
  3507. this.source.onended = null;
  3508. this.source.disconnect();
  3509. delete this.source;
  3510. }
  3511. }),
  3512. stop: (function(delay) {
  3513. if (channel.source && channel.source.buffer) {
  3514. try {
  3515. channel.source.stop(WEBAudio.audioContext.currentTime + delay);
  3516. } catch (e) {}
  3517. if (delay == 0) {
  3518. channel.disconnectSource();
  3519. }
  3520. }
  3521. }),
  3522. pause: (function() {
  3523. var s = this.source;
  3524. if (!s) return;
  3525. var pausedSource = {
  3526. isPausedMockNode: true,
  3527. loop: s.loop,
  3528. loopStart: s.loopStart,
  3529. loopEnd: s.loopEnd,
  3530. buffer: s.buffer,
  3531. playbackRate: s.playbackRate.value,
  3532. playbackPausedAtPosition: s.estimatePlaybackPosition(),
  3533. setPitch: (function(v) {
  3534. this.playbackRate = v;
  3535. })
  3536. };
  3537. this.stop(0);
  3538. this.disconnectSource();
  3539. this.source = pausedSource;
  3540. }),
  3541. resume: (function() {
  3542. var pausedSource = this.source;
  3543. if (!pausedSource || !pausedSource.isPausedMockNode) return;
  3544. delete this.source;
  3545. this.setup();
  3546. this.playBuffer(WEBAudio.audioContext.currentTime - Math.min(0, pausedSource.playbackPausedAtPosition), pausedSource.buffer, Math.max(0, pausedSource.playbackPausedAtPosition));
  3547. this.source.loop = pausedSource.loop;
  3548. this.source.loopStart = pausedSource.loopStart;
  3549. this.source.loopEnd = pausedSource.loopEnd;
  3550. this.source.setPitch(pausedSource.playbackRate);
  3551. }),
  3552. setup: (function() {
  3553. if (this.source && !this.source.isPausedMockNode) return;
  3554. this.source = WEBAudio.audioContext.createBufferSource();
  3555. this.source.estimatePlaybackPosition = (function() {
  3556. var t = (WEBAudio.audioContext.currentTime - this.playbackStartTime) * this.playbackRate.value;
  3557. if (this.loop && t >= this.loopStart) {
  3558. t = (t - this.loopStart) % (this.loopEnd - this.loopStart) + this.loopStart;
  3559. }
  3560. return t;
  3561. });
  3562. this.source.setPitch = (function(newPitch) {
  3563. var curPosition = this.estimatePlaybackPosition();
  3564. if (curPosition >= 0) {
  3565. this.playbackStartTime = WEBAudio.audioContext.currentTime - curPosition / newPitch;
  3566. }
  3567. this.playbackRate.value = newPitch;
  3568. });
  3569. this.setupPanning();
  3570. }),
  3571. setupPanning: (function() {
  3572. if (this.source.isPausedMockNode) return;
  3573. this.source.disconnect();
  3574. if (this.threeD) {
  3575. this.source.connect(this.panner);
  3576. this.panner.connect(this.gain);
  3577. } else {
  3578. this.panner.disconnect();
  3579. this.source.connect(this.gain);
  3580. }
  3581. })
  3582. };
  3583. channel.panner.rolloffFactor = 0;
  3584. channel.gain.connect(WEBAudio.audioContext.destination);
  3585. WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter] = channel;
  3586. return WEBAudio.audioInstanceIdCounter;
  3587. }
  3588. function _JS_Sound_GetLength(bufferInstance) {
  3589. if (WEBAudio.audioWebEnabled == 0) return 0;
  3590. var sound = WEBAudio.audioInstances[bufferInstance];
  3591. var sampleRateRatio = 44100 / sound.buffer.sampleRate;
  3592. return sound.buffer.length * sampleRateRatio;
  3593. }
  3594. function _JS_Sound_GetLoadState(bufferInstance) {
  3595. if (WEBAudio.audioWebEnabled == 0) return 2;
  3596. var sound = WEBAudio.audioInstances[bufferInstance];
  3597. if (sound.error) return 2;
  3598. if (sound.buffer) return 0;
  3599. return 1;
  3600. }
  3601. function _JS_Sound_Init() {
  3602. try {
  3603. window.AudioContext = window.AudioContext || window.webkitAudioContext;
  3604. WEBAudio.audioContext = new AudioContext;
  3605. var tryToResumeAudioContext = (function() {
  3606. if (WEBAudio.audioContext.state === "suspended") WEBAudio.audioContext.resume(); else Module.clearInterval(resumeInterval);
  3607. });
  3608. var resumeInterval = Module.setInterval(tryToResumeAudioContext, 400);
  3609. WEBAudio.audioWebEnabled = 1;
  3610. } catch (e) {
  3611. alert("Web Audio API is not supported in this browser");
  3612. }
  3613. }
  3614. function _JS_Sound_Load(ptr, length) {
  3615. if (WEBAudio.audioWebEnabled == 0) return 0;
  3616. var sound = {
  3617. buffer: null,
  3618. error: false
  3619. };
  3620. WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter] = sound;
  3621. var audioData = HEAPU8.buffer.slice(ptr, ptr + length);
  3622. WEBAudio.audioContext.decodeAudioData(audioData, (function(buffer) {
  3623. sound.buffer = buffer;
  3624. }), (function() {
  3625. sound.error = true;
  3626. console.log("Decode error.");
  3627. }));
  3628. return WEBAudio.audioInstanceIdCounter;
  3629. }
  3630. function _JS_Sound_Load_PCM(channels, length, sampleRate, ptr) {
  3631. if (WEBAudio.audioWebEnabled == 0) return 0;
  3632. var sound = {
  3633. buffer: WEBAudio.audioContext.createBuffer(channels, length, sampleRate),
  3634. error: false
  3635. };
  3636. for (var i = 0; i < channels; i++) {
  3637. var offs = (ptr >> 2) + length * i;
  3638. var buffer = sound.buffer;
  3639. var copyToChannel = buffer["copyToChannel"] || (function(source, channelNumber, startInChannel) {
  3640. var clipped = source.subarray(0, Math.min(source.length, this.length - (startInChannel | 0)));
  3641. this.getChannelData(channelNumber | 0).set(clipped, startInChannel | 0);
  3642. });
  3643. copyToChannel.apply(buffer, [ HEAPF32.subarray(offs, offs + length), i, 0 ]);
  3644. }
  3645. WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter] = sound;
  3646. return WEBAudio.audioInstanceIdCounter;
  3647. }
  3648. function _JS_Sound_Play(bufferInstance, channelInstance, offset, delay) {
  3649. _JS_Sound_Stop(channelInstance, 0);
  3650. if (WEBAudio.audioWebEnabled == 0) return;
  3651. var sound = WEBAudio.audioInstances[bufferInstance];
  3652. var channel = WEBAudio.audioInstances[channelInstance];
  3653. if (sound.buffer) {
  3654. try {
  3655. channel.playBuffer(WEBAudio.audioContext.currentTime + delay, sound.buffer, offset);
  3656. } catch (e) {
  3657. console.error("playBuffer error. Exception: " + e);
  3658. }
  3659. } else console.log("Trying to play sound which is not loaded.");
  3660. }
  3661. function _JS_Sound_ReleaseInstance(instance) {
  3662. delete WEBAudio.audioInstances[instance];
  3663. }
  3664. function _JS_Sound_ResumeIfNeeded() {
  3665. if (WEBAudio.audioWebEnabled == 0) return;
  3666. if (WEBAudio.audioContext.state === "suspended") WEBAudio.audioContext.resume();
  3667. }
  3668. function _JS_Sound_Set3D(channelInstance, threeD) {
  3669. var channel = WEBAudio.audioInstances[channelInstance];
  3670. if (channel.threeD != threeD) {
  3671. channel.threeD = threeD;
  3672. if (!channel.source) {
  3673. channel.setup();
  3674. }
  3675. channel.setupPanning();
  3676. }
  3677. }
  3678. function _JS_Sound_SetListenerOrientation(x, y, z, xUp, yUp, zUp) {
  3679. if (WEBAudio.audioWebEnabled == 0) return;
  3680. if (WEBAudio.audioContext.listener.forwardX) {
  3681. WEBAudio.audioContext.listener.forwardX.setValueAtTime(-x, WEBAudio.audioContext.currentTime);
  3682. WEBAudio.audioContext.listener.forwardY.setValueAtTime(-y, WEBAudio.audioContext.currentTime);
  3683. WEBAudio.audioContext.listener.forwardZ.setValueAtTime(-z, WEBAudio.audioContext.currentTime);
  3684. WEBAudio.audioContext.listener.upX.setValueAtTime(xUp, WEBAudio.audioContext.currentTime);
  3685. WEBAudio.audioContext.listener.upY.setValueAtTime(yUp, WEBAudio.audioContext.currentTime);
  3686. WEBAudio.audioContext.listener.upZ.setValueAtTime(zUp, WEBAudio.audioContext.currentTime);
  3687. } else {
  3688. WEBAudio.audioContext.listener.setOrientation(-x, -y, -z, xUp, yUp, zUp);
  3689. }
  3690. }
  3691. function _JS_Sound_SetListenerPosition(x, y, z) {
  3692. if (WEBAudio.audioWebEnabled == 0) return;
  3693. if (WEBAudio.audioContext.listener.positionX) {
  3694. WEBAudio.audioContext.listener.positionX.setValueAtTime(x, WEBAudio.audioContext.currentTime);
  3695. WEBAudio.audioContext.listener.positionY.setValueAtTime(y, WEBAudio.audioContext.currentTime);
  3696. WEBAudio.audioContext.listener.positionZ.setValueAtTime(z, WEBAudio.audioContext.currentTime);
  3697. } else {
  3698. WEBAudio.audioContext.listener.setPosition(x, y, z);
  3699. }
  3700. }
  3701. function _JS_Sound_SetLoop(channelInstance, loop) {
  3702. if (WEBAudio.audioWebEnabled == 0) return;
  3703. var channel = WEBAudio.audioInstances[channelInstance];
  3704. if (!channel.source) {
  3705. channel.setup();
  3706. }
  3707. channel.source.loop = loop;
  3708. }
  3709. function _JS_Sound_SetLoopPoints(channelInstance, loopStart, loopEnd) {
  3710. if (WEBAudio.audioWebEnabled == 0) return;
  3711. var channel = WEBAudio.audioInstances[channelInstance];
  3712. if (!channel.source) {
  3713. channel.setup();
  3714. }
  3715. channel.source.loopStart = loopStart;
  3716. channel.source.loopEnd = loopEnd;
  3717. }
  3718. function _JS_Sound_SetPaused(channelInstance, paused) {
  3719. if (WEBAudio.audioWebEnabled == 0) return;
  3720. var channel = WEBAudio.audioInstances[channelInstance];
  3721. var channelCurrentlyPaused = !channel.source || channel.source.isPausedMockNode;
  3722. if (paused != channelCurrentlyPaused) {
  3723. if (paused) channel.pause(); else channel.resume();
  3724. }
  3725. }
  3726. function _JS_Sound_SetPitch(channelInstance, v) {
  3727. if (WEBAudio.audioWebEnabled == 0) return;
  3728. try {
  3729. WEBAudio.audioInstances[channelInstance].source.setPitch(v);
  3730. } catch (e) {
  3731. console.error("Invalid audio pitch " + v + " specified to WebAudio backend!");
  3732. }
  3733. }
  3734. function _JS_Sound_SetPosition(channelInstance, x, y, z) {
  3735. if (WEBAudio.audioWebEnabled == 0) return;
  3736. var channel = WEBAudio.audioInstances[channelInstance];
  3737. if (channel.x != x || channel.y != y || channel.z != z) {
  3738. channel.panner.setPosition(x, y, z);
  3739. channel.x = x;
  3740. channel.y = y;
  3741. channel.z = z;
  3742. }
  3743. }
  3744. function _JS_Sound_SetVolume(channelInstance, v) {
  3745. if (WEBAudio.audioWebEnabled == 0) return;
  3746. try {
  3747. WEBAudio.audioInstances[channelInstance].gain.gain.setValueAtTime(v, WEBAudio.audioContext.currentTime);
  3748. } catch (e) {
  3749. console.error("Invalid audio volume " + v + " specified to WebAudio backend!");
  3750. }
  3751. }
  3752. function _JS_Sound_Stop(channelInstance, delay) {
  3753. if (WEBAudio.audioWebEnabled == 0) return;
  3754. var channel = WEBAudio.audioInstances[channelInstance];
  3755. channel.stop(delay);
  3756. }
  3757. function _JS_SystemInfo_GetBrowserName(buffer, bufferSize) {
  3758. var browser = Module.SystemInfo.browser;
  3759. if (buffer) stringToUTF8(browser, buffer, bufferSize);
  3760. return lengthBytesUTF8(browser);
  3761. }
  3762. function _JS_SystemInfo_GetBrowserVersionString(buffer, bufferSize) {
  3763. var browserVer = Module.SystemInfo.browserVersion;
  3764. if (buffer) stringToUTF8(browserVer, buffer, bufferSize);
  3765. return lengthBytesUTF8(browserVer);
  3766. }
  3767. function _JS_SystemInfo_GetCanvasClientSize(domElementSelector, outWidth, outHeight) {
  3768. var selector = UTF8ToString(domElementSelector);
  3769. var canvas = selector == "#canvas" ? Module["canvas"] : document.querySelector(selector);
  3770. HEAPF64[outWidth >> 3] = canvas ? canvas.clientWidth : 0;
  3771. HEAPF64[outHeight >> 3] = canvas ? canvas.clientHeight : 0;
  3772. }
  3773. function _JS_SystemInfo_GetDocumentURL(buffer, bufferSize) {
  3774. if (buffer) stringToUTF8(document.URL, buffer, bufferSize);
  3775. return lengthBytesUTF8(document.URL);
  3776. }
  3777. function _JS_SystemInfo_GetGPUInfo(buffer, bufferSize) {
  3778. var gpuinfo = Module.SystemInfo.gpu;
  3779. if (buffer) stringToUTF8(gpuinfo, buffer, bufferSize);
  3780. return lengthBytesUTF8(gpuinfo);
  3781. }
  3782. function _JS_SystemInfo_GetLanguage(buffer, bufferSize) {
  3783. var language = Module.SystemInfo.language;
  3784. if (buffer) stringToUTF8(language, buffer, bufferSize);
  3785. return lengthBytesUTF8(language);
  3786. }
  3787. function _JS_SystemInfo_GetMatchWebGLToCanvasSize() {
  3788. return Module.matchWebGLToCanvasSize || Module.matchWebGLToCanvasSize === undefined;
  3789. }
  3790. function _JS_SystemInfo_GetMemory() {
  3791. return TOTAL_MEMORY / (1024 * 1024);
  3792. }
  3793. function _JS_SystemInfo_GetOS(buffer, bufferSize) {
  3794. var browser = Module.SystemInfo.os + " " + Module.SystemInfo.osVersion;
  3795. if (buffer) stringToUTF8(browser, buffer, bufferSize);
  3796. return lengthBytesUTF8(browser);
  3797. }
  3798. function _JS_SystemInfo_GetPreferredDevicePixelRatio() {
  3799. return Module.matchWebGLToCanvasSize == false ? 1 : Module.devicePixelRatio || window.devicePixelRatio || 1;
  3800. }
  3801. function _JS_SystemInfo_GetScreenSize(outWidth, outHeight) {
  3802. HEAPF64[outWidth >> 3] = Module.SystemInfo.width;
  3803. HEAPF64[outHeight >> 3] = Module.SystemInfo.height;
  3804. }
  3805. function _JS_SystemInfo_HasCursorLock() {
  3806. return Module.SystemInfo.hasCursorLock;
  3807. }
  3808. function _JS_SystemInfo_HasFullscreen() {
  3809. return Module.SystemInfo.hasFullscreen;
  3810. }
  3811. function _JS_SystemInfo_HasWebGL() {
  3812. return Module.SystemInfo.hasWebGL;
  3813. }
  3814. var webcam = {
  3815. canvas: null
  3816. };
  3817. function _JS_WebCamVideo_CanPlay(deviceId) {
  3818. return MediaDevices[deviceId].video && MediaDevices[deviceId].video.videoWidth > 0 && MediaDevices[deviceId].video.videoHeight > 0;
  3819. }
  3820. function _JS_WebCamVideo_GetDeviceName(deviceId, buffer, bufferSize) {
  3821. if (buffer) stringToUTF8(MediaDevices[deviceId].deviceName, buffer, bufferSize);
  3822. return lengthBytesUTF8(MediaDevices[deviceId].deviceName);
  3823. }
  3824. function _JS_WebCamVideo_GetNativeHeight(deviceId) {
  3825. return MediaDevices[deviceId].video ? MediaDevices[deviceId].video.videoHeight : 0;
  3826. }
  3827. function _JS_WebCamVideo_GetNativeWidth(deviceId) {
  3828. return MediaDevices[deviceId].video ? MediaDevices[deviceId].video.videoWidth : 0;
  3829. }
  3830. function _JS_WebCamVideo_GetNumDevices() {
  3831. return MediaDevices.length;
  3832. }
  3833. function _JS_WebCamVideo_GrabFrame(deviceId, buffer, destWidth, destHeight) {
  3834. if (!MediaDevices[deviceId].video) {
  3835. console.error("WebCam not initialized.");
  3836. return;
  3837. }
  3838. var context = webcam.canvas.getContext("2d");
  3839. if (context) {
  3840. canvas.width = destWidth;
  3841. canvas.height = destHeight;
  3842. context.drawImage(MediaDevices[deviceId].video, 0, 0, MediaDevices[deviceId].video.videoWidth, MediaDevices[deviceId].video.videoHeight, 0, 0, destWidth, destHeight);
  3843. var imageData = context.getImageData(0, 0, destWidth, destHeight);
  3844. writeArrayToMemory(imageData.data, buffer);
  3845. } else {
  3846. console.log("2d Context is null");
  3847. }
  3848. }
  3849. function _JS_WebCamVideo_Start(deviceId) {
  3850. if (MediaDevices[deviceId].video) {
  3851. MediaDevices[deviceId].refCount++;
  3852. return;
  3853. }
  3854. if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
  3855. navigator.getMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
  3856. } else {
  3857. navigator.getMedia = (function(constraints, success, error) {
  3858. navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);
  3859. });
  3860. }
  3861. if (!navigator.getMedia) {
  3862. console.log("WebCam is not supported. Try a different browser.");
  3863. return;
  3864. }
  3865. if (!webcam.canvas) {
  3866. canvas = document.createElement("canvas");
  3867. canvas.style.display = "none";
  3868. var context2d = canvas.getContext("2d");
  3869. if (!context2d) {
  3870. console.log("context2d is null");
  3871. return;
  3872. }
  3873. document.body.appendChild(canvas);
  3874. webcam.canvas = canvas;
  3875. }
  3876. var video = document.createElement("video");
  3877. navigator.getMedia({
  3878. video: true,
  3879. audio: false
  3880. }, (function(stream) {
  3881. video.srcObject = stream;
  3882. webcam.canvas.appendChild(video);
  3883. video.play();
  3884. MediaDevices[deviceId].video = video;
  3885. MediaDevices[deviceId].stream = stream;
  3886. MediaDevices[deviceId].refCount++;
  3887. }), (function(err) {
  3888. console.log("An error occurred! " + err);
  3889. }));
  3890. }
  3891. function _JS_WebCamVideo_Stop(deviceId) {
  3892. if (!MediaDevices[deviceId].video) {
  3893. console.error("WebCam not initialized.");
  3894. return;
  3895. }
  3896. if (--MediaDevices[deviceId].refCount == 0) {
  3897. webcam.canvas.removeChild(MediaDevices[deviceId].video);
  3898. MediaDevices[deviceId].video = null;
  3899. MediaDevices[deviceId].stream.getVideoTracks().forEach((function(track) {
  3900. if (track.stop) track.stop();
  3901. }));
  3902. }
  3903. }
  3904. function _JS_WebCam_IsSupported() {
  3905. var getMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
  3906. return getMedia != null;
  3907. }
  3908. var wr = {
  3909. requestInstances: {},
  3910. nextRequestId: 1
  3911. };
  3912. function _JS_WebRequest_Abort(request) {
  3913. wr.requestInstances[request].abort();
  3914. }
  3915. function _JS_WebRequest_Create(url, method) {
  3916. var _url = Pointer_stringify(url);
  3917. var _method = Pointer_stringify(method);
  3918. var http = Module.companyName && Module.productName && Module.XMLHttpRequest ? new Module.XMLHttpRequest({
  3919. companyName: Module.companyName,
  3920. productName: Module.productName,
  3921. cacheControl: Module.cacheControl(_url)
  3922. }) : new XMLHttpRequest;
  3923. http.open(_method, _url, true);
  3924. http.responseType = "arraybuffer";
  3925. wr.requestInstances[wr.nextRequestId] = http;
  3926. return wr.nextRequestId++;
  3927. }
  3928. function _JS_WebRequest_GetResponseHeaders(request, buffer, bufferSize) {
  3929. var headers = wr.requestInstances[request].getAllResponseHeaders();
  3930. if (buffer) stringToUTF8(headers, buffer, bufferSize);
  3931. return lengthBytesUTF8(headers);
  3932. }
  3933. function _JS_WebRequest_Release(request) {
  3934. var http = wr.requestInstances[request];
  3935. http.onload = null;
  3936. http.onerror = null;
  3937. http.ontimeout = null;
  3938. http.onabort = null;
  3939. delete http;
  3940. wr.requestInstances[request] = null;
  3941. }
  3942. function _JS_WebRequest_Send(request, ptr, length) {
  3943. var http = wr.requestInstances[request];
  3944. try {
  3945. if (length > 0) {
  3946. var postData = HEAPU8.subarray(ptr, ptr + length);
  3947. http.send(postData);
  3948. } else http.send();
  3949. } catch (e) {
  3950. console.error(e.name + ": " + e.message);
  3951. }
  3952. }
  3953. function _JS_WebRequest_SetProgressHandler(request, arg, onprogress) {
  3954. var http = wr.requestInstances[request];
  3955. http.onprogress = function http_onprogress(e) {
  3956. if (onprogress) {
  3957. if (e.lengthComputable) dynCall("viii", onprogress, [ arg, e.loaded, e.total ]);
  3958. }
  3959. };
  3960. }
  3961. function _JS_WebRequest_SetRequestHeader(request, header, value) {
  3962. var _header = Pointer_stringify(header);
  3963. var _value = Pointer_stringify(value);
  3964. wr.requestInstances[request].setRequestHeader(_header, _value);
  3965. }
  3966. function _JS_WebRequest_SetResponseHandler(request, arg, onresponse) {
  3967. var http = wr.requestInstances[request];
  3968. http.onload = function http_onload(e) {
  3969. if (onresponse) {
  3970. var kWebRequestOK = 0;
  3971. var byteArray = new Uint8Array(http.response);
  3972. if (byteArray.length != 0) {
  3973. var buffer = _malloc(byteArray.length);
  3974. HEAPU8.set(byteArray, buffer);
  3975. dynCall("viiiiii", onresponse, [ arg, http.status, buffer, byteArray.length, 0, kWebRequestOK ]);
  3976. } else {
  3977. dynCall("viiiiii", onresponse, [ arg, http.status, 0, 0, 0, kWebRequestOK ]);
  3978. }
  3979. }
  3980. };
  3981. function HandleError(err, code) {
  3982. if (onresponse) {
  3983. var len = lengthBytesUTF8(err) + 1;
  3984. var buffer = _malloc(len);
  3985. stringToUTF8(err, buffer, len);
  3986. dynCall("viiiiii", onresponse, [ arg, http.status, 0, 0, buffer, code ]);
  3987. _free(buffer);
  3988. }
  3989. }
  3990. http.onerror = function http_onerror(e) {
  3991. var kWebErrorUnknown = 2;
  3992. HandleError("Unknown error.", kWebErrorUnknown);
  3993. };
  3994. http.ontimeout = function http_onerror(e) {
  3995. var kWebErrorTimeout = 14;
  3996. HandleError("Connection timed out.", kWebErrorTimeout);
  3997. };
  3998. http.onabort = function http_onerror(e) {
  3999. var kWebErrorAborted = 17;
  4000. HandleError("Aborted.", kWebErrorAborted);
  4001. };
  4002. }
  4003. function _JS_WebRequest_SetTimeout(request, timeout) {
  4004. wr.requestInstances[request].timeout = timeout;
  4005. }
  4006. function ___atomic_compare_exchange_8(ptr, expected, desiredl, desiredh, weak, success_memmodel, failure_memmodel) {
  4007. var pl = HEAP32[ptr >> 2];
  4008. var ph = HEAP32[ptr + 4 >> 2];
  4009. var el = HEAP32[expected >> 2];
  4010. var eh = HEAP32[expected + 4 >> 2];
  4011. if (pl === el && ph === eh) {
  4012. HEAP32[ptr >> 2] = desiredl;
  4013. HEAP32[ptr + 4 >> 2] = desiredh;
  4014. return 1;
  4015. } else {
  4016. HEAP32[expected >> 2] = pl;
  4017. HEAP32[expected + 4 >> 2] = ph;
  4018. return 0;
  4019. }
  4020. }
  4021. function ___atomic_fetch_add_8(ptr, vall, valh, memmodel) {
  4022. var l = HEAP32[ptr >> 2];
  4023. var h = HEAP32[ptr + 4 >> 2];
  4024. HEAP32[ptr >> 2] = _i64Add(l, h, vall, valh);
  4025. HEAP32[ptr + 4 >> 2] = getTempRet0();
  4026. return (setTempRet0(h), l) | 0;
  4027. }
  4028. var ENV = {};
  4029. function ___buildEnvironment(environ) {
  4030. var MAX_ENV_VALUES = 64;
  4031. var TOTAL_ENV_SIZE = 1024;
  4032. var poolPtr;
  4033. var envPtr;
  4034. if (!___buildEnvironment.called) {
  4035. ___buildEnvironment.called = true;
  4036. ENV["USER"] = ENV["LOGNAME"] = "web_user";
  4037. ENV["PATH"] = "/";
  4038. ENV["PWD"] = "/";
  4039. ENV["HOME"] = "/home/web_user";
  4040. ENV["LANG"] = "C.UTF-8";
  4041. ENV["_"] = Module["thisProgram"];
  4042. poolPtr = getMemory(TOTAL_ENV_SIZE);
  4043. envPtr = getMemory(MAX_ENV_VALUES * 4);
  4044. HEAP32[envPtr >> 2] = poolPtr;
  4045. HEAP32[environ >> 2] = envPtr;
  4046. } else {
  4047. envPtr = HEAP32[environ >> 2];
  4048. poolPtr = HEAP32[envPtr >> 2];
  4049. }
  4050. var strings = [];
  4051. var totalSize = 0;
  4052. for (var key in ENV) {
  4053. if (typeof ENV[key] === "string") {
  4054. var line = key + "=" + ENV[key];
  4055. strings.push(line);
  4056. totalSize += line.length;
  4057. }
  4058. }
  4059. if (totalSize > TOTAL_ENV_SIZE) {
  4060. throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");
  4061. }
  4062. var ptrSize = 4;
  4063. for (var i = 0; i < strings.length; i++) {
  4064. var line = strings[i];
  4065. writeAsciiToMemory(line, poolPtr);
  4066. HEAP32[envPtr + i * ptrSize >> 2] = poolPtr;
  4067. poolPtr += line.length + 1;
  4068. }
  4069. HEAP32[envPtr + strings.length * ptrSize >> 2] = 0;
  4070. }
  4071. function ___cxa_allocate_exception(size) {
  4072. return _malloc(size);
  4073. }
  4074. function __ZSt18uncaught_exceptionv() {
  4075. return !!__ZSt18uncaught_exceptionv.uncaught_exception;
  4076. }
  4077. var EXCEPTIONS = {
  4078. last: 0,
  4079. caught: [],
  4080. infos: {},
  4081. deAdjust: (function(adjusted) {
  4082. if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
  4083. for (var key in EXCEPTIONS.infos) {
  4084. var ptr = +key;
  4085. var info = EXCEPTIONS.infos[ptr];
  4086. if (info.adjusted === adjusted) {
  4087. return ptr;
  4088. }
  4089. }
  4090. return adjusted;
  4091. }),
  4092. addRef: (function(ptr) {
  4093. if (!ptr) return;
  4094. var info = EXCEPTIONS.infos[ptr];
  4095. info.refcount++;
  4096. }),
  4097. decRef: (function(ptr) {
  4098. if (!ptr) return;
  4099. var info = EXCEPTIONS.infos[ptr];
  4100. assert(info.refcount > 0);
  4101. info.refcount--;
  4102. if (info.refcount === 0 && !info.rethrown) {
  4103. if (info.destructor) {
  4104. Module["dynCall_vi"](info.destructor, ptr);
  4105. }
  4106. delete EXCEPTIONS.infos[ptr];
  4107. ___cxa_free_exception(ptr);
  4108. }
  4109. }),
  4110. clearRef: (function(ptr) {
  4111. if (!ptr) return;
  4112. var info = EXCEPTIONS.infos[ptr];
  4113. info.refcount = 0;
  4114. })
  4115. };
  4116. function ___cxa_begin_catch(ptr) {
  4117. var info = EXCEPTIONS.infos[ptr];
  4118. if (info && !info.caught) {
  4119. info.caught = true;
  4120. __ZSt18uncaught_exceptionv.uncaught_exception--;
  4121. }
  4122. if (info) info.rethrown = false;
  4123. EXCEPTIONS.caught.push(ptr);
  4124. EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));
  4125. return ptr;
  4126. }
  4127. function ___cxa_pure_virtual() {
  4128. ABORT = true;
  4129. throw "Pure virtual function called!";
  4130. }
  4131. function ___resumeException(ptr) {
  4132. if (!EXCEPTIONS.last) {
  4133. EXCEPTIONS.last = ptr;
  4134. }
  4135. throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
  4136. }
  4137. function ___cxa_find_matching_catch() {
  4138. var thrown = EXCEPTIONS.last;
  4139. if (!thrown) {
  4140. return (setTempRet0(0), 0) | 0;
  4141. }
  4142. var info = EXCEPTIONS.infos[thrown];
  4143. var throwntype = info.type;
  4144. if (!throwntype) {
  4145. return (setTempRet0(0), thrown) | 0;
  4146. }
  4147. var typeArray = Array.prototype.slice.call(arguments);
  4148. var pointer = Module["___cxa_is_pointer_type"](throwntype);
  4149. if (!___cxa_find_matching_catch.buffer) ___cxa_find_matching_catch.buffer = _malloc(4);
  4150. HEAP32[___cxa_find_matching_catch.buffer >> 2] = thrown;
  4151. thrown = ___cxa_find_matching_catch.buffer;
  4152. for (var i = 0; i < typeArray.length; i++) {
  4153. if (typeArray[i] && Module["___cxa_can_catch"](typeArray[i], throwntype, thrown)) {
  4154. thrown = HEAP32[thrown >> 2];
  4155. info.adjusted = thrown;
  4156. return (setTempRet0(typeArray[i]), thrown) | 0;
  4157. }
  4158. }
  4159. thrown = HEAP32[thrown >> 2];
  4160. return (setTempRet0(throwntype), thrown) | 0;
  4161. }
  4162. function ___cxa_throw(ptr, type, destructor) {
  4163. EXCEPTIONS.infos[ptr] = {
  4164. ptr: ptr,
  4165. adjusted: ptr,
  4166. type: type,
  4167. destructor: destructor,
  4168. refcount: 0,
  4169. caught: false,
  4170. rethrown: false
  4171. };
  4172. EXCEPTIONS.last = ptr;
  4173. if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
  4174. __ZSt18uncaught_exceptionv.uncaught_exception = 1;
  4175. } else {
  4176. __ZSt18uncaught_exceptionv.uncaught_exception++;
  4177. }
  4178. throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
  4179. }
  4180. function ___gxx_personality_v0() {}
  4181. function ___lock() {}
  4182. var ERRNO_CODES = {
  4183. EPERM: 1,
  4184. ENOENT: 2,
  4185. ESRCH: 3,
  4186. EINTR: 4,
  4187. EIO: 5,
  4188. ENXIO: 6,
  4189. E2BIG: 7,
  4190. ENOEXEC: 8,
  4191. EBADF: 9,
  4192. ECHILD: 10,
  4193. EAGAIN: 11,
  4194. EWOULDBLOCK: 11,
  4195. ENOMEM: 12,
  4196. EACCES: 13,
  4197. EFAULT: 14,
  4198. ENOTBLK: 15,
  4199. EBUSY: 16,
  4200. EEXIST: 17,
  4201. EXDEV: 18,
  4202. ENODEV: 19,
  4203. ENOTDIR: 20,
  4204. EISDIR: 21,
  4205. EINVAL: 22,
  4206. ENFILE: 23,
  4207. EMFILE: 24,
  4208. ENOTTY: 25,
  4209. ETXTBSY: 26,
  4210. EFBIG: 27,
  4211. ENOSPC: 28,
  4212. ESPIPE: 29,
  4213. EROFS: 30,
  4214. EMLINK: 31,
  4215. EPIPE: 32,
  4216. EDOM: 33,
  4217. ERANGE: 34,
  4218. ENOMSG: 42,
  4219. EIDRM: 43,
  4220. ECHRNG: 44,
  4221. EL2NSYNC: 45,
  4222. EL3HLT: 46,
  4223. EL3RST: 47,
  4224. ELNRNG: 48,
  4225. EUNATCH: 49,
  4226. ENOCSI: 50,
  4227. EL2HLT: 51,
  4228. EDEADLK: 35,
  4229. ENOLCK: 37,
  4230. EBADE: 52,
  4231. EBADR: 53,
  4232. EXFULL: 54,
  4233. ENOANO: 55,
  4234. EBADRQC: 56,
  4235. EBADSLT: 57,
  4236. EDEADLOCK: 35,
  4237. EBFONT: 59,
  4238. ENOSTR: 60,
  4239. ENODATA: 61,
  4240. ETIME: 62,
  4241. ENOSR: 63,
  4242. ENONET: 64,
  4243. ENOPKG: 65,
  4244. EREMOTE: 66,
  4245. ENOLINK: 67,
  4246. EADV: 68,
  4247. ESRMNT: 69,
  4248. ECOMM: 70,
  4249. EPROTO: 71,
  4250. EMULTIHOP: 72,
  4251. EDOTDOT: 73,
  4252. EBADMSG: 74,
  4253. ENOTUNIQ: 76,
  4254. EBADFD: 77,
  4255. EREMCHG: 78,
  4256. ELIBACC: 79,
  4257. ELIBBAD: 80,
  4258. ELIBSCN: 81,
  4259. ELIBMAX: 82,
  4260. ELIBEXEC: 83,
  4261. ENOSYS: 38,
  4262. ENOTEMPTY: 39,
  4263. ENAMETOOLONG: 36,
  4264. ELOOP: 40,
  4265. EOPNOTSUPP: 95,
  4266. EPFNOSUPPORT: 96,
  4267. ECONNRESET: 104,
  4268. ENOBUFS: 105,
  4269. EAFNOSUPPORT: 97,
  4270. EPROTOTYPE: 91,
  4271. ENOTSOCK: 88,
  4272. ENOPROTOOPT: 92,
  4273. ESHUTDOWN: 108,
  4274. ECONNREFUSED: 111,
  4275. EADDRINUSE: 98,
  4276. ECONNABORTED: 103,
  4277. ENETUNREACH: 101,
  4278. ENETDOWN: 100,
  4279. ETIMEDOUT: 110,
  4280. EHOSTDOWN: 112,
  4281. EHOSTUNREACH: 113,
  4282. EINPROGRESS: 115,
  4283. EALREADY: 114,
  4284. EDESTADDRREQ: 89,
  4285. EMSGSIZE: 90,
  4286. EPROTONOSUPPORT: 93,
  4287. ESOCKTNOSUPPORT: 94,
  4288. EADDRNOTAVAIL: 99,
  4289. ENETRESET: 102,
  4290. EISCONN: 106,
  4291. ENOTCONN: 107,
  4292. ETOOMANYREFS: 109,
  4293. EUSERS: 87,
  4294. EDQUOT: 122,
  4295. ESTALE: 116,
  4296. ENOTSUP: 95,
  4297. ENOMEDIUM: 123,
  4298. EILSEQ: 84,
  4299. EOVERFLOW: 75,
  4300. ECANCELED: 125,
  4301. ENOTRECOVERABLE: 131,
  4302. EOWNERDEAD: 130,
  4303. ESTRPIPE: 86
  4304. };
  4305. function ___setErrNo(value) {
  4306. if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; else err("failed to set errno from JS");
  4307. return value;
  4308. }
  4309. function ___map_file(pathname, size) {
  4310. ___setErrNo(ERRNO_CODES.EPERM);
  4311. return -1;
  4312. }
  4313. var ERRNO_MESSAGES = {
  4314. 0: "Success",
  4315. 1: "Not super-user",
  4316. 2: "No such file or directory",
  4317. 3: "No such process",
  4318. 4: "Interrupted system call",
  4319. 5: "I/O error",
  4320. 6: "No such device or address",
  4321. 7: "Arg list too long",
  4322. 8: "Exec format error",
  4323. 9: "Bad file number",
  4324. 10: "No children",
  4325. 11: "No more processes",
  4326. 12: "Not enough core",
  4327. 13: "Permission denied",
  4328. 14: "Bad address",
  4329. 15: "Block device required",
  4330. 16: "Mount device busy",
  4331. 17: "File exists",
  4332. 18: "Cross-device link",
  4333. 19: "No such device",
  4334. 20: "Not a directory",
  4335. 21: "Is a directory",
  4336. 22: "Invalid argument",
  4337. 23: "Too many open files in system",
  4338. 24: "Too many open files",
  4339. 25: "Not a typewriter",
  4340. 26: "Text file busy",
  4341. 27: "File too large",
  4342. 28: "No space left on device",
  4343. 29: "Illegal seek",
  4344. 30: "Read only file system",
  4345. 31: "Too many links",
  4346. 32: "Broken pipe",
  4347. 33: "Math arg out of domain of func",
  4348. 34: "Math result not representable",
  4349. 35: "File locking deadlock error",
  4350. 36: "File or path name too long",
  4351. 37: "No record locks available",
  4352. 38: "Function not implemented",
  4353. 39: "Directory not empty",
  4354. 40: "Too many symbolic links",
  4355. 42: "No message of desired type",
  4356. 43: "Identifier removed",
  4357. 44: "Channel number out of range",
  4358. 45: "Level 2 not synchronized",
  4359. 46: "Level 3 halted",
  4360. 47: "Level 3 reset",
  4361. 48: "Link number out of range",
  4362. 49: "Protocol driver not attached",
  4363. 50: "No CSI structure available",
  4364. 51: "Level 2 halted",
  4365. 52: "Invalid exchange",
  4366. 53: "Invalid request descriptor",
  4367. 54: "Exchange full",
  4368. 55: "No anode",
  4369. 56: "Invalid request code",
  4370. 57: "Invalid slot",
  4371. 59: "Bad font file fmt",
  4372. 60: "Device not a stream",
  4373. 61: "No data (for no delay io)",
  4374. 62: "Timer expired",
  4375. 63: "Out of streams resources",
  4376. 64: "Machine is not on the network",
  4377. 65: "Package not installed",
  4378. 66: "The object is remote",
  4379. 67: "The link has been severed",
  4380. 68: "Advertise error",
  4381. 69: "Srmount error",
  4382. 70: "Communication error on send",
  4383. 71: "Protocol error",
  4384. 72: "Multihop attempted",
  4385. 73: "Cross mount point (not really error)",
  4386. 74: "Trying to read unreadable message",
  4387. 75: "Value too large for defined data type",
  4388. 76: "Given log. name not unique",
  4389. 77: "f.d. invalid for this operation",
  4390. 78: "Remote address changed",
  4391. 79: "Can access a needed shared lib",
  4392. 80: "Accessing a corrupted shared lib",
  4393. 81: ".lib section in a.out corrupted",
  4394. 82: "Attempting to link in too many libs",
  4395. 83: "Attempting to exec a shared library",
  4396. 84: "Illegal byte sequence",
  4397. 86: "Streams pipe error",
  4398. 87: "Too many users",
  4399. 88: "Socket operation on non-socket",
  4400. 89: "Destination address required",
  4401. 90: "Message too long",
  4402. 91: "Protocol wrong type for socket",
  4403. 92: "Protocol not available",
  4404. 93: "Unknown protocol",
  4405. 94: "Socket type not supported",
  4406. 95: "Not supported",
  4407. 96: "Protocol family not supported",
  4408. 97: "Address family not supported by protocol family",
  4409. 98: "Address already in use",
  4410. 99: "Address not available",
  4411. 100: "Network interface is not configured",
  4412. 101: "Network is unreachable",
  4413. 102: "Connection reset by network",
  4414. 103: "Connection aborted",
  4415. 104: "Connection reset by peer",
  4416. 105: "No buffer space available",
  4417. 106: "Socket is already connected",
  4418. 107: "Socket is not connected",
  4419. 108: "Can't send after socket shutdown",
  4420. 109: "Too many references",
  4421. 110: "Connection timed out",
  4422. 111: "Connection refused",
  4423. 112: "Host is down",
  4424. 113: "Host is unreachable",
  4425. 114: "Socket already connected",
  4426. 115: "Connection already in progress",
  4427. 116: "Stale file handle",
  4428. 122: "Quota exceeded",
  4429. 123: "No medium (in tape drive)",
  4430. 125: "Operation canceled",
  4431. 130: "Previous owner died",
  4432. 131: "State not recoverable"
  4433. };
  4434. var PATH = {
  4435. splitPath: (function(filename) {
  4436. var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  4437. return splitPathRe.exec(filename).slice(1);
  4438. }),
  4439. normalizeArray: (function(parts, allowAboveRoot) {
  4440. var up = 0;
  4441. for (var i = parts.length - 1; i >= 0; i--) {
  4442. var last = parts[i];
  4443. if (last === ".") {
  4444. parts.splice(i, 1);
  4445. } else if (last === "..") {
  4446. parts.splice(i, 1);
  4447. up++;
  4448. } else if (up) {
  4449. parts.splice(i, 1);
  4450. up--;
  4451. }
  4452. }
  4453. if (allowAboveRoot) {
  4454. for (; up; up--) {
  4455. parts.unshift("..");
  4456. }
  4457. }
  4458. return parts;
  4459. }),
  4460. normalize: (function(path) {
  4461. var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
  4462. path = PATH.normalizeArray(path.split("/").filter((function(p) {
  4463. return !!p;
  4464. })), !isAbsolute).join("/");
  4465. if (!path && !isAbsolute) {
  4466. path = ".";
  4467. }
  4468. if (path && trailingSlash) {
  4469. path += "/";
  4470. }
  4471. return (isAbsolute ? "/" : "") + path;
  4472. }),
  4473. dirname: (function(path) {
  4474. var result = PATH.splitPath(path), root = result[0], dir = result[1];
  4475. if (!root && !dir) {
  4476. return ".";
  4477. }
  4478. if (dir) {
  4479. dir = dir.substr(0, dir.length - 1);
  4480. }
  4481. return root + dir;
  4482. }),
  4483. basename: (function(path) {
  4484. if (path === "/") return "/";
  4485. var lastSlash = path.lastIndexOf("/");
  4486. if (lastSlash === -1) return path;
  4487. return path.substr(lastSlash + 1);
  4488. }),
  4489. extname: (function(path) {
  4490. return PATH.splitPath(path)[3];
  4491. }),
  4492. join: (function() {
  4493. var paths = Array.prototype.slice.call(arguments, 0);
  4494. return PATH.normalize(paths.join("/"));
  4495. }),
  4496. join2: (function(l, r) {
  4497. return PATH.normalize(l + "/" + r);
  4498. }),
  4499. resolve: (function() {
  4500. var resolvedPath = "", resolvedAbsolute = false;
  4501. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  4502. var path = i >= 0 ? arguments[i] : FS.cwd();
  4503. if (typeof path !== "string") {
  4504. throw new TypeError("Arguments to path.resolve must be strings");
  4505. } else if (!path) {
  4506. return "";
  4507. }
  4508. resolvedPath = path + "/" + resolvedPath;
  4509. resolvedAbsolute = path.charAt(0) === "/";
  4510. }
  4511. resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((function(p) {
  4512. return !!p;
  4513. })), !resolvedAbsolute).join("/");
  4514. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  4515. }),
  4516. relative: (function(from, to) {
  4517. from = PATH.resolve(from).substr(1);
  4518. to = PATH.resolve(to).substr(1);
  4519. function trim(arr) {
  4520. var start = 0;
  4521. for (; start < arr.length; start++) {
  4522. if (arr[start] !== "") break;
  4523. }
  4524. var end = arr.length - 1;
  4525. for (; end >= 0; end--) {
  4526. if (arr[end] !== "") break;
  4527. }
  4528. if (start > end) return [];
  4529. return arr.slice(start, end - start + 1);
  4530. }
  4531. var fromParts = trim(from.split("/"));
  4532. var toParts = trim(to.split("/"));
  4533. var length = Math.min(fromParts.length, toParts.length);
  4534. var samePartsLength = length;
  4535. for (var i = 0; i < length; i++) {
  4536. if (fromParts[i] !== toParts[i]) {
  4537. samePartsLength = i;
  4538. break;
  4539. }
  4540. }
  4541. var outputParts = [];
  4542. for (var i = samePartsLength; i < fromParts.length; i++) {
  4543. outputParts.push("..");
  4544. }
  4545. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  4546. return outputParts.join("/");
  4547. })
  4548. };
  4549. var TTY = {
  4550. ttys: [],
  4551. init: (function() {}),
  4552. shutdown: (function() {}),
  4553. register: (function(dev, ops) {
  4554. TTY.ttys[dev] = {
  4555. input: [],
  4556. output: [],
  4557. ops: ops
  4558. };
  4559. FS.registerDevice(dev, TTY.stream_ops);
  4560. }),
  4561. stream_ops: {
  4562. open: (function(stream) {
  4563. var tty = TTY.ttys[stream.node.rdev];
  4564. if (!tty) {
  4565. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  4566. }
  4567. stream.tty = tty;
  4568. stream.seekable = false;
  4569. }),
  4570. close: (function(stream) {
  4571. stream.tty.ops.flush(stream.tty);
  4572. }),
  4573. flush: (function(stream) {
  4574. stream.tty.ops.flush(stream.tty);
  4575. }),
  4576. read: (function(stream, buffer, offset, length, pos) {
  4577. if (!stream.tty || !stream.tty.ops.get_char) {
  4578. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  4579. }
  4580. var bytesRead = 0;
  4581. for (var i = 0; i < length; i++) {
  4582. var result;
  4583. try {
  4584. result = stream.tty.ops.get_char(stream.tty);
  4585. } catch (e) {
  4586. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  4587. }
  4588. if (result === undefined && bytesRead === 0) {
  4589. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  4590. }
  4591. if (result === null || result === undefined) break;
  4592. bytesRead++;
  4593. buffer[offset + i] = result;
  4594. }
  4595. if (bytesRead) {
  4596. stream.node.timestamp = Date.now();
  4597. }
  4598. return bytesRead;
  4599. }),
  4600. write: (function(stream, buffer, offset, length, pos) {
  4601. if (!stream.tty || !stream.tty.ops.put_char) {
  4602. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  4603. }
  4604. for (var i = 0; i < length; i++) {
  4605. try {
  4606. stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
  4607. } catch (e) {
  4608. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  4609. }
  4610. }
  4611. if (length) {
  4612. stream.node.timestamp = Date.now();
  4613. }
  4614. return i;
  4615. })
  4616. },
  4617. default_tty_ops: {
  4618. get_char: (function(tty) {
  4619. if (!tty.input.length) {
  4620. var result = null;
  4621. if (ENVIRONMENT_IS_NODE) {
  4622. var BUFSIZE = 256;
  4623. var buf = new Buffer(BUFSIZE);
  4624. var bytesRead = 0;
  4625. var isPosixPlatform = process.platform != "win32";
  4626. var fd = process.stdin.fd;
  4627. if (isPosixPlatform) {
  4628. var usingDevice = false;
  4629. try {
  4630. fd = fs.openSync("/dev/stdin", "r");
  4631. usingDevice = true;
  4632. } catch (e) {}
  4633. }
  4634. try {
  4635. bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
  4636. } catch (e) {
  4637. if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e;
  4638. }
  4639. if (usingDevice) {
  4640. fs.closeSync(fd);
  4641. }
  4642. if (bytesRead > 0) {
  4643. result = buf.slice(0, bytesRead).toString("utf-8");
  4644. } else {
  4645. result = null;
  4646. }
  4647. } else if (typeof window != "undefined" && typeof window.prompt == "function") {
  4648. result = window.prompt("Input: ");
  4649. if (result !== null) {
  4650. result += "\n";
  4651. }
  4652. } else if (typeof readline == "function") {
  4653. result = readline();
  4654. if (result !== null) {
  4655. result += "\n";
  4656. }
  4657. }
  4658. if (!result) {
  4659. return null;
  4660. }
  4661. tty.input = intArrayFromString(result, true);
  4662. }
  4663. return tty.input.shift();
  4664. }),
  4665. put_char: (function(tty, val) {
  4666. if (val === null || val === 10) {
  4667. out(UTF8ArrayToString(tty.output, 0));
  4668. tty.output = [];
  4669. } else {
  4670. if (val != 0) tty.output.push(val);
  4671. }
  4672. }),
  4673. flush: (function(tty) {
  4674. if (tty.output && tty.output.length > 0) {
  4675. out(UTF8ArrayToString(tty.output, 0));
  4676. tty.output = [];
  4677. }
  4678. })
  4679. },
  4680. default_tty1_ops: {
  4681. put_char: (function(tty, val) {
  4682. if (val === null || val === 10) {
  4683. err(UTF8ArrayToString(tty.output, 0));
  4684. tty.output = [];
  4685. } else {
  4686. if (val != 0) tty.output.push(val);
  4687. }
  4688. }),
  4689. flush: (function(tty) {
  4690. if (tty.output && tty.output.length > 0) {
  4691. err(UTF8ArrayToString(tty.output, 0));
  4692. tty.output = [];
  4693. }
  4694. })
  4695. }
  4696. };
  4697. var MEMFS = {
  4698. ops_table: null,
  4699. mount: (function(mount) {
  4700. return MEMFS.createNode(null, "/", 16384 | 511, 0);
  4701. }),
  4702. createNode: (function(parent, name, mode, dev) {
  4703. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  4704. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  4705. }
  4706. if (!MEMFS.ops_table) {
  4707. MEMFS.ops_table = {
  4708. dir: {
  4709. node: {
  4710. getattr: MEMFS.node_ops.getattr,
  4711. setattr: MEMFS.node_ops.setattr,
  4712. lookup: MEMFS.node_ops.lookup,
  4713. mknod: MEMFS.node_ops.mknod,
  4714. rename: MEMFS.node_ops.rename,
  4715. unlink: MEMFS.node_ops.unlink,
  4716. rmdir: MEMFS.node_ops.rmdir,
  4717. readdir: MEMFS.node_ops.readdir,
  4718. symlink: MEMFS.node_ops.symlink
  4719. },
  4720. stream: {
  4721. llseek: MEMFS.stream_ops.llseek
  4722. }
  4723. },
  4724. file: {
  4725. node: {
  4726. getattr: MEMFS.node_ops.getattr,
  4727. setattr: MEMFS.node_ops.setattr
  4728. },
  4729. stream: {
  4730. llseek: MEMFS.stream_ops.llseek,
  4731. read: MEMFS.stream_ops.read,
  4732. write: MEMFS.stream_ops.write,
  4733. allocate: MEMFS.stream_ops.allocate,
  4734. mmap: MEMFS.stream_ops.mmap,
  4735. msync: MEMFS.stream_ops.msync
  4736. }
  4737. },
  4738. link: {
  4739. node: {
  4740. getattr: MEMFS.node_ops.getattr,
  4741. setattr: MEMFS.node_ops.setattr,
  4742. readlink: MEMFS.node_ops.readlink
  4743. },
  4744. stream: {}
  4745. },
  4746. chrdev: {
  4747. node: {
  4748. getattr: MEMFS.node_ops.getattr,
  4749. setattr: MEMFS.node_ops.setattr
  4750. },
  4751. stream: FS.chrdev_stream_ops
  4752. }
  4753. };
  4754. }
  4755. var node = FS.createNode(parent, name, mode, dev);
  4756. if (FS.isDir(node.mode)) {
  4757. node.node_ops = MEMFS.ops_table.dir.node;
  4758. node.stream_ops = MEMFS.ops_table.dir.stream;
  4759. node.contents = {};
  4760. } else if (FS.isFile(node.mode)) {
  4761. node.node_ops = MEMFS.ops_table.file.node;
  4762. node.stream_ops = MEMFS.ops_table.file.stream;
  4763. node.usedBytes = 0;
  4764. node.contents = null;
  4765. } else if (FS.isLink(node.mode)) {
  4766. node.node_ops = MEMFS.ops_table.link.node;
  4767. node.stream_ops = MEMFS.ops_table.link.stream;
  4768. } else if (FS.isChrdev(node.mode)) {
  4769. node.node_ops = MEMFS.ops_table.chrdev.node;
  4770. node.stream_ops = MEMFS.ops_table.chrdev.stream;
  4771. }
  4772. node.timestamp = Date.now();
  4773. if (parent) {
  4774. parent.contents[name] = node;
  4775. }
  4776. return node;
  4777. }),
  4778. getFileDataAsRegularArray: (function(node) {
  4779. if (node.contents && node.contents.subarray) {
  4780. var arr = [];
  4781. for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
  4782. return arr;
  4783. }
  4784. return node.contents;
  4785. }),
  4786. getFileDataAsTypedArray: (function(node) {
  4787. if (!node.contents) return new Uint8Array;
  4788. if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
  4789. return new Uint8Array(node.contents);
  4790. }),
  4791. expandFileStorage: (function(node, newCapacity) {
  4792. if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
  4793. node.contents = MEMFS.getFileDataAsRegularArray(node);
  4794. node.usedBytes = node.contents.length;
  4795. }
  4796. if (!node.contents || node.contents.subarray) {
  4797. var prevCapacity = node.contents ? node.contents.length : 0;
  4798. if (prevCapacity >= newCapacity) return;
  4799. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  4800. newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
  4801. if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
  4802. var oldContents = node.contents;
  4803. node.contents = new Uint8Array(newCapacity);
  4804. if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
  4805. return;
  4806. }
  4807. if (!node.contents && newCapacity > 0) node.contents = [];
  4808. while (node.contents.length < newCapacity) node.contents.push(0);
  4809. }),
  4810. resizeFileStorage: (function(node, newSize) {
  4811. if (node.usedBytes == newSize) return;
  4812. if (newSize == 0) {
  4813. node.contents = null;
  4814. node.usedBytes = 0;
  4815. return;
  4816. }
  4817. if (!node.contents || node.contents.subarray) {
  4818. var oldContents = node.contents;
  4819. node.contents = new Uint8Array(new ArrayBuffer(newSize));
  4820. if (oldContents) {
  4821. node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
  4822. }
  4823. node.usedBytes = newSize;
  4824. return;
  4825. }
  4826. if (!node.contents) node.contents = [];
  4827. if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0);
  4828. node.usedBytes = newSize;
  4829. }),
  4830. node_ops: {
  4831. getattr: (function(node) {
  4832. var attr = {};
  4833. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  4834. attr.ino = node.id;
  4835. attr.mode = node.mode;
  4836. attr.nlink = 1;
  4837. attr.uid = 0;
  4838. attr.gid = 0;
  4839. attr.rdev = node.rdev;
  4840. if (FS.isDir(node.mode)) {
  4841. attr.size = 4096;
  4842. } else if (FS.isFile(node.mode)) {
  4843. attr.size = node.usedBytes;
  4844. } else if (FS.isLink(node.mode)) {
  4845. attr.size = node.link.length;
  4846. } else {
  4847. attr.size = 0;
  4848. }
  4849. attr.atime = new Date(node.timestamp);
  4850. attr.mtime = new Date(node.timestamp);
  4851. attr.ctime = new Date(node.timestamp);
  4852. attr.blksize = 4096;
  4853. attr.blocks = Math.ceil(attr.size / attr.blksize);
  4854. return attr;
  4855. }),
  4856. setattr: (function(node, attr) {
  4857. if (attr.mode !== undefined) {
  4858. node.mode = attr.mode;
  4859. }
  4860. if (attr.timestamp !== undefined) {
  4861. node.timestamp = attr.timestamp;
  4862. }
  4863. if (attr.size !== undefined) {
  4864. MEMFS.resizeFileStorage(node, attr.size);
  4865. }
  4866. }),
  4867. lookup: (function(parent, name) {
  4868. throw FS.genericErrors[ERRNO_CODES.ENOENT];
  4869. }),
  4870. mknod: (function(parent, name, mode, dev) {
  4871. return MEMFS.createNode(parent, name, mode, dev);
  4872. }),
  4873. rename: (function(old_node, new_dir, new_name) {
  4874. if (FS.isDir(old_node.mode)) {
  4875. var new_node;
  4876. try {
  4877. new_node = FS.lookupNode(new_dir, new_name);
  4878. } catch (e) {}
  4879. if (new_node) {
  4880. for (var i in new_node.contents) {
  4881. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  4882. }
  4883. }
  4884. }
  4885. delete old_node.parent.contents[old_node.name];
  4886. old_node.name = new_name;
  4887. new_dir.contents[new_name] = old_node;
  4888. old_node.parent = new_dir;
  4889. }),
  4890. unlink: (function(parent, name) {
  4891. delete parent.contents[name];
  4892. }),
  4893. rmdir: (function(parent, name) {
  4894. var node = FS.lookupNode(parent, name);
  4895. for (var i in node.contents) {
  4896. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  4897. }
  4898. delete parent.contents[name];
  4899. }),
  4900. readdir: (function(node) {
  4901. var entries = [ ".", ".." ];
  4902. for (var key in node.contents) {
  4903. if (!node.contents.hasOwnProperty(key)) {
  4904. continue;
  4905. }
  4906. entries.push(key);
  4907. }
  4908. return entries;
  4909. }),
  4910. symlink: (function(parent, newname, oldpath) {
  4911. var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
  4912. node.link = oldpath;
  4913. return node;
  4914. }),
  4915. readlink: (function(node) {
  4916. if (!FS.isLink(node.mode)) {
  4917. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4918. }
  4919. return node.link;
  4920. })
  4921. },
  4922. stream_ops: {
  4923. read: (function(stream, buffer, offset, length, position) {
  4924. var contents = stream.node.contents;
  4925. if (position >= stream.node.usedBytes) return 0;
  4926. var size = Math.min(stream.node.usedBytes - position, length);
  4927. assert(size >= 0);
  4928. if (size > 8 && contents.subarray) {
  4929. buffer.set(contents.subarray(position, position + size), offset);
  4930. } else {
  4931. for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
  4932. }
  4933. return size;
  4934. }),
  4935. write: (function(stream, buffer, offset, length, position, canOwn) {
  4936. if (!length) return 0;
  4937. var node = stream.node;
  4938. node.timestamp = Date.now();
  4939. if (buffer.subarray && (!node.contents || node.contents.subarray)) {
  4940. if (canOwn) {
  4941. assert(position === 0, "canOwn must imply no weird position inside the file");
  4942. node.contents = buffer.subarray(offset, offset + length);
  4943. node.usedBytes = length;
  4944. return length;
  4945. } else if (node.usedBytes === 0 && position === 0) {
  4946. node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
  4947. node.usedBytes = length;
  4948. return length;
  4949. } else if (position + length <= node.usedBytes) {
  4950. node.contents.set(buffer.subarray(offset, offset + length), position);
  4951. return length;
  4952. }
  4953. }
  4954. MEMFS.expandFileStorage(node, position + length);
  4955. if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else {
  4956. for (var i = 0; i < length; i++) {
  4957. node.contents[position + i] = buffer[offset + i];
  4958. }
  4959. }
  4960. node.usedBytes = Math.max(node.usedBytes, position + length);
  4961. return length;
  4962. }),
  4963. llseek: (function(stream, offset, whence) {
  4964. var position = offset;
  4965. if (whence === 1) {
  4966. position += stream.position;
  4967. } else if (whence === 2) {
  4968. if (FS.isFile(stream.node.mode)) {
  4969. position += stream.node.usedBytes;
  4970. }
  4971. }
  4972. if (position < 0) {
  4973. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4974. }
  4975. return position;
  4976. }),
  4977. allocate: (function(stream, offset, length) {
  4978. MEMFS.expandFileStorage(stream.node, offset + length);
  4979. stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
  4980. }),
  4981. mmap: (function(stream, buffer, offset, length, position, prot, flags) {
  4982. if (!FS.isFile(stream.node.mode)) {
  4983. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  4984. }
  4985. var ptr;
  4986. var allocated;
  4987. var contents = stream.node.contents;
  4988. if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) {
  4989. allocated = false;
  4990. ptr = contents.byteOffset;
  4991. } else {
  4992. if (position > 0 || position + length < stream.node.usedBytes) {
  4993. if (contents.subarray) {
  4994. contents = contents.subarray(position, position + length);
  4995. } else {
  4996. contents = Array.prototype.slice.call(contents, position, position + length);
  4997. }
  4998. }
  4999. allocated = true;
  5000. var fromHeap = buffer.buffer == HEAP8.buffer;
  5001. ptr = _malloc(length);
  5002. if (!ptr) {
  5003. throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
  5004. }
  5005. (fromHeap ? HEAP8 : buffer).set(contents, ptr);
  5006. }
  5007. return {
  5008. ptr: ptr,
  5009. allocated: allocated
  5010. };
  5011. }),
  5012. msync: (function(stream, buffer, offset, length, mmapFlags) {
  5013. if (!FS.isFile(stream.node.mode)) {
  5014. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  5015. }
  5016. if (mmapFlags & 2) {
  5017. return 0;
  5018. }
  5019. var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
  5020. return 0;
  5021. })
  5022. }
  5023. };
  5024. var IDBFS = {
  5025. dbs: {},
  5026. indexedDB: (function() {
  5027. if (typeof indexedDB !== "undefined") return indexedDB;
  5028. var ret = null;
  5029. if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  5030. assert(ret, "IDBFS used, but indexedDB not supported");
  5031. return ret;
  5032. }),
  5033. DB_VERSION: 21,
  5034. DB_STORE_NAME: "FILE_DATA",
  5035. mount: (function(mount) {
  5036. return MEMFS.mount.apply(null, arguments);
  5037. }),
  5038. syncfs: (function(mount, populate, callback) {
  5039. IDBFS.getLocalSet(mount, (function(err, local) {
  5040. if (err) return callback(err);
  5041. IDBFS.getRemoteSet(mount, (function(err, remote) {
  5042. if (err) return callback(err);
  5043. var src = populate ? remote : local;
  5044. var dst = populate ? local : remote;
  5045. IDBFS.reconcile(src, dst, callback);
  5046. }));
  5047. }));
  5048. }),
  5049. getDB: (function(name, callback) {
  5050. var db = IDBFS.dbs[name];
  5051. if (db) {
  5052. return callback(null, db);
  5053. }
  5054. var req;
  5055. try {
  5056. req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
  5057. } catch (e) {
  5058. return callback(e);
  5059. }
  5060. if (!req) {
  5061. return callback("Unable to connect to IndexedDB");
  5062. }
  5063. req.onupgradeneeded = (function(e) {
  5064. var db = e.target.result;
  5065. var transaction = e.target.transaction;
  5066. var fileStore;
  5067. if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
  5068. fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
  5069. } else {
  5070. fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
  5071. }
  5072. if (!fileStore.indexNames.contains("timestamp")) {
  5073. fileStore.createIndex("timestamp", "timestamp", {
  5074. unique: false
  5075. });
  5076. }
  5077. });
  5078. req.onsuccess = (function() {
  5079. db = req.result;
  5080. IDBFS.dbs[name] = db;
  5081. callback(null, db);
  5082. });
  5083. req.onerror = (function(e) {
  5084. callback(this.error);
  5085. e.preventDefault();
  5086. });
  5087. }),
  5088. getLocalSet: (function(mount, callback) {
  5089. var entries = {};
  5090. function isRealDir(p) {
  5091. return p !== "." && p !== "..";
  5092. }
  5093. function toAbsolute(root) {
  5094. return (function(p) {
  5095. return PATH.join2(root, p);
  5096. });
  5097. }
  5098. var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
  5099. while (check.length) {
  5100. var path = check.pop();
  5101. var stat;
  5102. try {
  5103. stat = FS.stat(path);
  5104. } catch (e) {
  5105. return callback(e);
  5106. }
  5107. if (FS.isDir(stat.mode)) {
  5108. check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
  5109. }
  5110. entries[path] = {
  5111. timestamp: stat.mtime
  5112. };
  5113. }
  5114. return callback(null, {
  5115. type: "local",
  5116. entries: entries
  5117. });
  5118. }),
  5119. getRemoteSet: (function(mount, callback) {
  5120. var entries = {};
  5121. IDBFS.getDB(mount.mountpoint, (function(err, db) {
  5122. if (err) return callback(err);
  5123. try {
  5124. var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readonly");
  5125. transaction.onerror = (function(e) {
  5126. callback(this.error);
  5127. e.preventDefault();
  5128. });
  5129. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  5130. var index = store.index("timestamp");
  5131. index.openKeyCursor().onsuccess = (function(event) {
  5132. var cursor = event.target.result;
  5133. if (!cursor) {
  5134. return callback(null, {
  5135. type: "remote",
  5136. db: db,
  5137. entries: entries
  5138. });
  5139. }
  5140. entries[cursor.primaryKey] = {
  5141. timestamp: cursor.key
  5142. };
  5143. cursor.continue();
  5144. });
  5145. } catch (e) {
  5146. return callback(e);
  5147. }
  5148. }));
  5149. }),
  5150. loadLocalEntry: (function(path, callback) {
  5151. var stat, node;
  5152. try {
  5153. var lookup = FS.lookupPath(path);
  5154. node = lookup.node;
  5155. stat = FS.stat(path);
  5156. } catch (e) {
  5157. return callback(e);
  5158. }
  5159. if (FS.isDir(stat.mode)) {
  5160. return callback(null, {
  5161. timestamp: stat.mtime,
  5162. mode: stat.mode
  5163. });
  5164. } else if (FS.isFile(stat.mode)) {
  5165. node.contents = MEMFS.getFileDataAsTypedArray(node);
  5166. return callback(null, {
  5167. timestamp: stat.mtime,
  5168. mode: stat.mode,
  5169. contents: node.contents
  5170. });
  5171. } else {
  5172. return callback(new Error("node type not supported"));
  5173. }
  5174. }),
  5175. storeLocalEntry: (function(path, entry, callback) {
  5176. try {
  5177. if (FS.isDir(entry.mode)) {
  5178. FS.mkdir(path, entry.mode);
  5179. } else if (FS.isFile(entry.mode)) {
  5180. FS.writeFile(path, entry.contents, {
  5181. canOwn: true
  5182. });
  5183. } else {
  5184. return callback(new Error("node type not supported"));
  5185. }
  5186. FS.chmod(path, entry.mode);
  5187. FS.utime(path, entry.timestamp, entry.timestamp);
  5188. } catch (e) {
  5189. return callback(e);
  5190. }
  5191. callback(null);
  5192. }),
  5193. removeLocalEntry: (function(path, callback) {
  5194. try {
  5195. var lookup = FS.lookupPath(path);
  5196. var stat = FS.stat(path);
  5197. if (FS.isDir(stat.mode)) {
  5198. FS.rmdir(path);
  5199. } else if (FS.isFile(stat.mode)) {
  5200. FS.unlink(path);
  5201. }
  5202. } catch (e) {
  5203. return callback(e);
  5204. }
  5205. callback(null);
  5206. }),
  5207. loadRemoteEntry: (function(store, path, callback) {
  5208. var req = store.get(path);
  5209. req.onsuccess = (function(event) {
  5210. callback(null, event.target.result);
  5211. });
  5212. req.onerror = (function(e) {
  5213. callback(this.error);
  5214. e.preventDefault();
  5215. });
  5216. }),
  5217. storeRemoteEntry: (function(store, path, entry, callback) {
  5218. var req = store.put(entry, path);
  5219. req.onsuccess = (function() {
  5220. callback(null);
  5221. });
  5222. req.onerror = (function(e) {
  5223. callback(this.error);
  5224. e.preventDefault();
  5225. });
  5226. }),
  5227. removeRemoteEntry: (function(store, path, callback) {
  5228. var req = store.delete(path);
  5229. req.onsuccess = (function() {
  5230. callback(null);
  5231. });
  5232. req.onerror = (function(e) {
  5233. callback(this.error);
  5234. e.preventDefault();
  5235. });
  5236. }),
  5237. reconcile: (function(src, dst, callback) {
  5238. var total = 0;
  5239. var create = [];
  5240. Object.keys(src.entries).forEach((function(key) {
  5241. var e = src.entries[key];
  5242. var e2 = dst.entries[key];
  5243. if (!e2 || e.timestamp > e2.timestamp) {
  5244. create.push(key);
  5245. total++;
  5246. }
  5247. }));
  5248. var remove = [];
  5249. Object.keys(dst.entries).forEach((function(key) {
  5250. var e = dst.entries[key];
  5251. var e2 = src.entries[key];
  5252. if (!e2) {
  5253. remove.push(key);
  5254. total++;
  5255. }
  5256. }));
  5257. if (!total) {
  5258. return callback(null);
  5259. }
  5260. var completed = 0;
  5261. var db = src.type === "remote" ? src.db : dst.db;
  5262. var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readwrite");
  5263. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  5264. function done(err) {
  5265. if (err) {
  5266. if (!done.errored) {
  5267. done.errored = true;
  5268. return callback(err);
  5269. }
  5270. return;
  5271. }
  5272. if (++completed >= total) {
  5273. return callback(null);
  5274. }
  5275. }
  5276. transaction.onerror = (function(e) {
  5277. done(this.error);
  5278. e.preventDefault();
  5279. });
  5280. create.sort().forEach((function(path) {
  5281. if (dst.type === "local") {
  5282. IDBFS.loadRemoteEntry(store, path, (function(err, entry) {
  5283. if (err) return done(err);
  5284. IDBFS.storeLocalEntry(path, entry, done);
  5285. }));
  5286. } else {
  5287. IDBFS.loadLocalEntry(path, (function(err, entry) {
  5288. if (err) return done(err);
  5289. IDBFS.storeRemoteEntry(store, path, entry, done);
  5290. }));
  5291. }
  5292. }));
  5293. remove.sort().reverse().forEach((function(path) {
  5294. if (dst.type === "local") {
  5295. IDBFS.removeLocalEntry(path, done);
  5296. } else {
  5297. IDBFS.removeRemoteEntry(store, path, done);
  5298. }
  5299. }));
  5300. })
  5301. };
  5302. var NODEFS = {
  5303. isWindows: false,
  5304. staticInit: (function() {
  5305. NODEFS.isWindows = !!process.platform.match(/^win/);
  5306. var flags = process["binding"]("constants");
  5307. if (flags["fs"]) {
  5308. flags = flags["fs"];
  5309. }
  5310. NODEFS.flagsForNodeMap = {
  5311. "1024": flags["O_APPEND"],
  5312. "64": flags["O_CREAT"],
  5313. "128": flags["O_EXCL"],
  5314. "0": flags["O_RDONLY"],
  5315. "2": flags["O_RDWR"],
  5316. "4096": flags["O_SYNC"],
  5317. "512": flags["O_TRUNC"],
  5318. "1": flags["O_WRONLY"]
  5319. };
  5320. }),
  5321. bufferFrom: (function(arrayBuffer) {
  5322. return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
  5323. }),
  5324. mount: (function(mount) {
  5325. assert(ENVIRONMENT_IS_NODE);
  5326. return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);
  5327. }),
  5328. createNode: (function(parent, name, mode, dev) {
  5329. if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
  5330. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  5331. }
  5332. var node = FS.createNode(parent, name, mode);
  5333. node.node_ops = NODEFS.node_ops;
  5334. node.stream_ops = NODEFS.stream_ops;
  5335. return node;
  5336. }),
  5337. getMode: (function(path) {
  5338. var stat;
  5339. try {
  5340. stat = fs.lstatSync(path);
  5341. if (NODEFS.isWindows) {
  5342. stat.mode = stat.mode | (stat.mode & 292) >> 2;
  5343. }
  5344. } catch (e) {
  5345. if (!e.code) throw e;
  5346. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5347. }
  5348. return stat.mode;
  5349. }),
  5350. realPath: (function(node) {
  5351. var parts = [];
  5352. while (node.parent !== node) {
  5353. parts.push(node.name);
  5354. node = node.parent;
  5355. }
  5356. parts.push(node.mount.opts.root);
  5357. parts.reverse();
  5358. return PATH.join.apply(null, parts);
  5359. }),
  5360. flagsForNode: (function(flags) {
  5361. flags &= ~2097152;
  5362. flags &= ~2048;
  5363. flags &= ~32768;
  5364. flags &= ~524288;
  5365. var newFlags = 0;
  5366. for (var k in NODEFS.flagsForNodeMap) {
  5367. if (flags & k) {
  5368. newFlags |= NODEFS.flagsForNodeMap[k];
  5369. flags ^= k;
  5370. }
  5371. }
  5372. if (!flags) {
  5373. return newFlags;
  5374. } else {
  5375. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  5376. }
  5377. }),
  5378. node_ops: {
  5379. getattr: (function(node) {
  5380. var path = NODEFS.realPath(node);
  5381. var stat;
  5382. try {
  5383. stat = fs.lstatSync(path);
  5384. } catch (e) {
  5385. if (!e.code) throw e;
  5386. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5387. }
  5388. if (NODEFS.isWindows && !stat.blksize) {
  5389. stat.blksize = 4096;
  5390. }
  5391. if (NODEFS.isWindows && !stat.blocks) {
  5392. stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0;
  5393. }
  5394. return {
  5395. dev: stat.dev,
  5396. ino: stat.ino,
  5397. mode: stat.mode,
  5398. nlink: stat.nlink,
  5399. uid: stat.uid,
  5400. gid: stat.gid,
  5401. rdev: stat.rdev,
  5402. size: stat.size,
  5403. atime: stat.atime,
  5404. mtime: stat.mtime,
  5405. ctime: stat.ctime,
  5406. blksize: stat.blksize,
  5407. blocks: stat.blocks
  5408. };
  5409. }),
  5410. setattr: (function(node, attr) {
  5411. var path = NODEFS.realPath(node);
  5412. try {
  5413. if (attr.mode !== undefined) {
  5414. fs.chmodSync(path, attr.mode);
  5415. node.mode = attr.mode;
  5416. }
  5417. if (attr.timestamp !== undefined) {
  5418. var date = new Date(attr.timestamp);
  5419. fs.utimesSync(path, date, date);
  5420. }
  5421. if (attr.size !== undefined) {
  5422. fs.truncateSync(path, attr.size);
  5423. }
  5424. } catch (e) {
  5425. if (!e.code) throw e;
  5426. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5427. }
  5428. }),
  5429. lookup: (function(parent, name) {
  5430. var path = PATH.join2(NODEFS.realPath(parent), name);
  5431. var mode = NODEFS.getMode(path);
  5432. return NODEFS.createNode(parent, name, mode);
  5433. }),
  5434. mknod: (function(parent, name, mode, dev) {
  5435. var node = NODEFS.createNode(parent, name, mode, dev);
  5436. var path = NODEFS.realPath(node);
  5437. try {
  5438. if (FS.isDir(node.mode)) {
  5439. fs.mkdirSync(path, node.mode);
  5440. } else {
  5441. fs.writeFileSync(path, "", {
  5442. mode: node.mode
  5443. });
  5444. }
  5445. } catch (e) {
  5446. if (!e.code) throw e;
  5447. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5448. }
  5449. return node;
  5450. }),
  5451. rename: (function(oldNode, newDir, newName) {
  5452. var oldPath = NODEFS.realPath(oldNode);
  5453. var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
  5454. try {
  5455. fs.renameSync(oldPath, newPath);
  5456. } catch (e) {
  5457. if (!e.code) throw e;
  5458. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5459. }
  5460. }),
  5461. unlink: (function(parent, name) {
  5462. var path = PATH.join2(NODEFS.realPath(parent), name);
  5463. try {
  5464. fs.unlinkSync(path);
  5465. } catch (e) {
  5466. if (!e.code) throw e;
  5467. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5468. }
  5469. }),
  5470. rmdir: (function(parent, name) {
  5471. var path = PATH.join2(NODEFS.realPath(parent), name);
  5472. try {
  5473. fs.rmdirSync(path);
  5474. } catch (e) {
  5475. if (!e.code) throw e;
  5476. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5477. }
  5478. }),
  5479. readdir: (function(node) {
  5480. var path = NODEFS.realPath(node);
  5481. try {
  5482. return fs.readdirSync(path);
  5483. } catch (e) {
  5484. if (!e.code) throw e;
  5485. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5486. }
  5487. }),
  5488. symlink: (function(parent, newName, oldPath) {
  5489. var newPath = PATH.join2(NODEFS.realPath(parent), newName);
  5490. try {
  5491. fs.symlinkSync(oldPath, newPath);
  5492. } catch (e) {
  5493. if (!e.code) throw e;
  5494. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5495. }
  5496. }),
  5497. readlink: (function(node) {
  5498. var path = NODEFS.realPath(node);
  5499. try {
  5500. path = fs.readlinkSync(path);
  5501. path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
  5502. return path;
  5503. } catch (e) {
  5504. if (!e.code) throw e;
  5505. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5506. }
  5507. })
  5508. },
  5509. stream_ops: {
  5510. open: (function(stream) {
  5511. var path = NODEFS.realPath(stream.node);
  5512. try {
  5513. if (FS.isFile(stream.node.mode)) {
  5514. stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
  5515. }
  5516. } catch (e) {
  5517. if (!e.code) throw e;
  5518. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5519. }
  5520. }),
  5521. close: (function(stream) {
  5522. try {
  5523. if (FS.isFile(stream.node.mode) && stream.nfd) {
  5524. fs.closeSync(stream.nfd);
  5525. }
  5526. } catch (e) {
  5527. if (!e.code) throw e;
  5528. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5529. }
  5530. }),
  5531. read: (function(stream, buffer, offset, length, position) {
  5532. if (length === 0) return 0;
  5533. try {
  5534. return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
  5535. } catch (e) {
  5536. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5537. }
  5538. }),
  5539. write: (function(stream, buffer, offset, length, position) {
  5540. try {
  5541. return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
  5542. } catch (e) {
  5543. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5544. }
  5545. }),
  5546. llseek: (function(stream, offset, whence) {
  5547. var position = offset;
  5548. if (whence === 1) {
  5549. position += stream.position;
  5550. } else if (whence === 2) {
  5551. if (FS.isFile(stream.node.mode)) {
  5552. try {
  5553. var stat = fs.fstatSync(stream.nfd);
  5554. position += stat.size;
  5555. } catch (e) {
  5556. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  5557. }
  5558. }
  5559. }
  5560. if (position < 0) {
  5561. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  5562. }
  5563. return position;
  5564. })
  5565. }
  5566. };
  5567. var WORKERFS = {
  5568. DIR_MODE: 16895,
  5569. FILE_MODE: 33279,
  5570. reader: null,
  5571. mount: (function(mount) {
  5572. assert(ENVIRONMENT_IS_WORKER);
  5573. if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync;
  5574. var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0);
  5575. var createdParents = {};
  5576. function ensureParent(path) {
  5577. var parts = path.split("/");
  5578. var parent = root;
  5579. for (var i = 0; i < parts.length - 1; i++) {
  5580. var curr = parts.slice(0, i + 1).join("/");
  5581. if (!createdParents[curr]) {
  5582. createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
  5583. }
  5584. parent = createdParents[curr];
  5585. }
  5586. return parent;
  5587. }
  5588. function base(path) {
  5589. var parts = path.split("/");
  5590. return parts[parts.length - 1];
  5591. }
  5592. Array.prototype.forEach.call(mount.opts["files"] || [], (function(file) {
  5593. WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
  5594. }));
  5595. (mount.opts["blobs"] || []).forEach((function(obj) {
  5596. WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
  5597. }));
  5598. (mount.opts["packages"] || []).forEach((function(pack) {
  5599. pack["metadata"].files.forEach((function(file) {
  5600. var name = file.filename.substr(1);
  5601. WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end));
  5602. }));
  5603. }));
  5604. return root;
  5605. }),
  5606. createNode: (function(parent, name, mode, dev, contents, mtime) {
  5607. var node = FS.createNode(parent, name, mode);
  5608. node.mode = mode;
  5609. node.node_ops = WORKERFS.node_ops;
  5610. node.stream_ops = WORKERFS.stream_ops;
  5611. node.timestamp = (mtime || new Date).getTime();
  5612. assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
  5613. if (mode === WORKERFS.FILE_MODE) {
  5614. node.size = contents.size;
  5615. node.contents = contents;
  5616. } else {
  5617. node.size = 4096;
  5618. node.contents = {};
  5619. }
  5620. if (parent) {
  5621. parent.contents[name] = node;
  5622. }
  5623. return node;
  5624. }),
  5625. node_ops: {
  5626. getattr: (function(node) {
  5627. return {
  5628. dev: 1,
  5629. ino: undefined,
  5630. mode: node.mode,
  5631. nlink: 1,
  5632. uid: 0,
  5633. gid: 0,
  5634. rdev: undefined,
  5635. size: node.size,
  5636. atime: new Date(node.timestamp),
  5637. mtime: new Date(node.timestamp),
  5638. ctime: new Date(node.timestamp),
  5639. blksize: 4096,
  5640. blocks: Math.ceil(node.size / 4096)
  5641. };
  5642. }),
  5643. setattr: (function(node, attr) {
  5644. if (attr.mode !== undefined) {
  5645. node.mode = attr.mode;
  5646. }
  5647. if (attr.timestamp !== undefined) {
  5648. node.timestamp = attr.timestamp;
  5649. }
  5650. }),
  5651. lookup: (function(parent, name) {
  5652. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  5653. }),
  5654. mknod: (function(parent, name, mode, dev) {
  5655. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  5656. }),
  5657. rename: (function(oldNode, newDir, newName) {
  5658. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  5659. }),
  5660. unlink: (function(parent, name) {
  5661. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  5662. }),
  5663. rmdir: (function(parent, name) {
  5664. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  5665. }),
  5666. readdir: (function(node) {
  5667. var entries = [ ".", ".." ];
  5668. for (var key in node.contents) {
  5669. if (!node.contents.hasOwnProperty(key)) {
  5670. continue;
  5671. }
  5672. entries.push(key);
  5673. }
  5674. return entries;
  5675. }),
  5676. symlink: (function(parent, newName, oldPath) {
  5677. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  5678. }),
  5679. readlink: (function(node) {
  5680. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  5681. })
  5682. },
  5683. stream_ops: {
  5684. read: (function(stream, buffer, offset, length, position) {
  5685. if (position >= stream.node.size) return 0;
  5686. var chunk = stream.node.contents.slice(position, position + length);
  5687. var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
  5688. buffer.set(new Uint8Array(ab), offset);
  5689. return chunk.size;
  5690. }),
  5691. write: (function(stream, buffer, offset, length, position) {
  5692. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  5693. }),
  5694. llseek: (function(stream, offset, whence) {
  5695. var position = offset;
  5696. if (whence === 1) {
  5697. position += stream.position;
  5698. } else if (whence === 2) {
  5699. if (FS.isFile(stream.node.mode)) {
  5700. position += stream.node.size;
  5701. }
  5702. }
  5703. if (position < 0) {
  5704. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  5705. }
  5706. return position;
  5707. })
  5708. }
  5709. };
  5710. STATICTOP += 16;
  5711. STATICTOP += 16;
  5712. STATICTOP += 16;
  5713. var FS = {
  5714. root: null,
  5715. mounts: [],
  5716. devices: {},
  5717. streams: [],
  5718. nextInode: 1,
  5719. nameTable: null,
  5720. currentPath: "/",
  5721. initialized: false,
  5722. ignorePermissions: true,
  5723. trackingDelegate: {},
  5724. tracking: {
  5725. openFlags: {
  5726. READ: 1,
  5727. WRITE: 2
  5728. }
  5729. },
  5730. ErrnoError: null,
  5731. genericErrors: {},
  5732. filesystems: null,
  5733. syncFSRequests: 0,
  5734. handleFSError: (function(e) {
  5735. if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
  5736. return ___setErrNo(e.errno);
  5737. }),
  5738. lookupPath: (function(path, opts) {
  5739. path = PATH.resolve(FS.cwd(), path);
  5740. opts = opts || {};
  5741. if (!path) return {
  5742. path: "",
  5743. node: null
  5744. };
  5745. var defaults = {
  5746. follow_mount: true,
  5747. recurse_count: 0
  5748. };
  5749. for (var key in defaults) {
  5750. if (opts[key] === undefined) {
  5751. opts[key] = defaults[key];
  5752. }
  5753. }
  5754. if (opts.recurse_count > 8) {
  5755. throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
  5756. }
  5757. var parts = PATH.normalizeArray(path.split("/").filter((function(p) {
  5758. return !!p;
  5759. })), false);
  5760. var current = FS.root;
  5761. var current_path = "/";
  5762. for (var i = 0; i < parts.length; i++) {
  5763. var islast = i === parts.length - 1;
  5764. if (islast && opts.parent) {
  5765. break;
  5766. }
  5767. current = FS.lookupNode(current, parts[i]);
  5768. current_path = PATH.join2(current_path, parts[i]);
  5769. if (FS.isMountpoint(current)) {
  5770. if (!islast || islast && opts.follow_mount) {
  5771. current = current.mounted.root;
  5772. }
  5773. }
  5774. if (!islast || opts.follow) {
  5775. var count = 0;
  5776. while (FS.isLink(current.mode)) {
  5777. var link = FS.readlink(current_path);
  5778. current_path = PATH.resolve(PATH.dirname(current_path), link);
  5779. var lookup = FS.lookupPath(current_path, {
  5780. recurse_count: opts.recurse_count
  5781. });
  5782. current = lookup.node;
  5783. if (count++ > 40) {
  5784. throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
  5785. }
  5786. }
  5787. }
  5788. }
  5789. return {
  5790. path: current_path,
  5791. node: current
  5792. };
  5793. }),
  5794. getPath: (function(node) {
  5795. var path;
  5796. while (true) {
  5797. if (FS.isRoot(node)) {
  5798. var mount = node.mount.mountpoint;
  5799. if (!path) return mount;
  5800. return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
  5801. }
  5802. path = path ? node.name + "/" + path : node.name;
  5803. node = node.parent;
  5804. }
  5805. }),
  5806. hashName: (function(parentid, name) {
  5807. var hash = 0;
  5808. for (var i = 0; i < name.length; i++) {
  5809. hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
  5810. }
  5811. return (parentid + hash >>> 0) % FS.nameTable.length;
  5812. }),
  5813. hashAddNode: (function(node) {
  5814. var hash = FS.hashName(node.parent.id, node.name);
  5815. node.name_next = FS.nameTable[hash];
  5816. FS.nameTable[hash] = node;
  5817. }),
  5818. hashRemoveNode: (function(node) {
  5819. var hash = FS.hashName(node.parent.id, node.name);
  5820. if (FS.nameTable[hash] === node) {
  5821. FS.nameTable[hash] = node.name_next;
  5822. } else {
  5823. var current = FS.nameTable[hash];
  5824. while (current) {
  5825. if (current.name_next === node) {
  5826. current.name_next = node.name_next;
  5827. break;
  5828. }
  5829. current = current.name_next;
  5830. }
  5831. }
  5832. }),
  5833. lookupNode: (function(parent, name) {
  5834. var err = FS.mayLookup(parent);
  5835. if (err) {
  5836. throw new FS.ErrnoError(err, parent);
  5837. }
  5838. var hash = FS.hashName(parent.id, name);
  5839. for (var node = FS.nameTable[hash]; node; node = node.name_next) {
  5840. var nodeName = node.name;
  5841. if (node.parent.id === parent.id && nodeName === name) {
  5842. return node;
  5843. }
  5844. }
  5845. return FS.lookup(parent, name);
  5846. }),
  5847. createNode: (function(parent, name, mode, rdev) {
  5848. if (!FS.FSNode) {
  5849. FS.FSNode = (function(parent, name, mode, rdev) {
  5850. if (!parent) {
  5851. parent = this;
  5852. }
  5853. this.parent = parent;
  5854. this.mount = parent.mount;
  5855. this.mounted = null;
  5856. this.id = FS.nextInode++;
  5857. this.name = name;
  5858. this.mode = mode;
  5859. this.node_ops = {};
  5860. this.stream_ops = {};
  5861. this.rdev = rdev;
  5862. });
  5863. FS.FSNode.prototype = {};
  5864. var readMode = 292 | 73;
  5865. var writeMode = 146;
  5866. Object.defineProperties(FS.FSNode.prototype, {
  5867. read: {
  5868. get: (function() {
  5869. return (this.mode & readMode) === readMode;
  5870. }),
  5871. set: (function(val) {
  5872. val ? this.mode |= readMode : this.mode &= ~readMode;
  5873. })
  5874. },
  5875. write: {
  5876. get: (function() {
  5877. return (this.mode & writeMode) === writeMode;
  5878. }),
  5879. set: (function(val) {
  5880. val ? this.mode |= writeMode : this.mode &= ~writeMode;
  5881. })
  5882. },
  5883. isFolder: {
  5884. get: (function() {
  5885. return FS.isDir(this.mode);
  5886. })
  5887. },
  5888. isDevice: {
  5889. get: (function() {
  5890. return FS.isChrdev(this.mode);
  5891. })
  5892. }
  5893. });
  5894. }
  5895. var node = new FS.FSNode(parent, name, mode, rdev);
  5896. FS.hashAddNode(node);
  5897. return node;
  5898. }),
  5899. destroyNode: (function(node) {
  5900. FS.hashRemoveNode(node);
  5901. }),
  5902. isRoot: (function(node) {
  5903. return node === node.parent;
  5904. }),
  5905. isMountpoint: (function(node) {
  5906. return !!node.mounted;
  5907. }),
  5908. isFile: (function(mode) {
  5909. return (mode & 61440) === 32768;
  5910. }),
  5911. isDir: (function(mode) {
  5912. return (mode & 61440) === 16384;
  5913. }),
  5914. isLink: (function(mode) {
  5915. return (mode & 61440) === 40960;
  5916. }),
  5917. isChrdev: (function(mode) {
  5918. return (mode & 61440) === 8192;
  5919. }),
  5920. isBlkdev: (function(mode) {
  5921. return (mode & 61440) === 24576;
  5922. }),
  5923. isFIFO: (function(mode) {
  5924. return (mode & 61440) === 4096;
  5925. }),
  5926. isSocket: (function(mode) {
  5927. return (mode & 49152) === 49152;
  5928. }),
  5929. flagModes: {
  5930. "r": 0,
  5931. "rs": 1052672,
  5932. "r+": 2,
  5933. "w": 577,
  5934. "wx": 705,
  5935. "xw": 705,
  5936. "w+": 578,
  5937. "wx+": 706,
  5938. "xw+": 706,
  5939. "a": 1089,
  5940. "ax": 1217,
  5941. "xa": 1217,
  5942. "a+": 1090,
  5943. "ax+": 1218,
  5944. "xa+": 1218
  5945. },
  5946. modeStringToFlags: (function(str) {
  5947. var flags = FS.flagModes[str];
  5948. if (typeof flags === "undefined") {
  5949. throw new Error("Unknown file open mode: " + str);
  5950. }
  5951. return flags;
  5952. }),
  5953. flagsToPermissionString: (function(flag) {
  5954. var perms = [ "r", "w", "rw" ][flag & 3];
  5955. if (flag & 512) {
  5956. perms += "w";
  5957. }
  5958. return perms;
  5959. }),
  5960. nodePermissions: (function(node, perms) {
  5961. if (FS.ignorePermissions) {
  5962. return 0;
  5963. }
  5964. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  5965. return ERRNO_CODES.EACCES;
  5966. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  5967. return ERRNO_CODES.EACCES;
  5968. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  5969. return ERRNO_CODES.EACCES;
  5970. }
  5971. return 0;
  5972. }),
  5973. mayLookup: (function(dir) {
  5974. var err = FS.nodePermissions(dir, "x");
  5975. if (err) return err;
  5976. if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
  5977. return 0;
  5978. }),
  5979. mayCreate: (function(dir, name) {
  5980. try {
  5981. var node = FS.lookupNode(dir, name);
  5982. return ERRNO_CODES.EEXIST;
  5983. } catch (e) {}
  5984. return FS.nodePermissions(dir, "wx");
  5985. }),
  5986. mayDelete: (function(dir, name, isdir) {
  5987. var node;
  5988. try {
  5989. node = FS.lookupNode(dir, name);
  5990. } catch (e) {
  5991. return e.errno;
  5992. }
  5993. var err = FS.nodePermissions(dir, "wx");
  5994. if (err) {
  5995. return err;
  5996. }
  5997. if (isdir) {
  5998. if (!FS.isDir(node.mode)) {
  5999. return ERRNO_CODES.ENOTDIR;
  6000. }
  6001. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  6002. return ERRNO_CODES.EBUSY;
  6003. }
  6004. } else {
  6005. if (FS.isDir(node.mode)) {
  6006. return ERRNO_CODES.EISDIR;
  6007. }
  6008. }
  6009. return 0;
  6010. }),
  6011. mayOpen: (function(node, flags) {
  6012. if (!node) {
  6013. return ERRNO_CODES.ENOENT;
  6014. }
  6015. if (FS.isLink(node.mode)) {
  6016. return ERRNO_CODES.ELOOP;
  6017. } else if (FS.isDir(node.mode)) {
  6018. if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
  6019. return ERRNO_CODES.EISDIR;
  6020. }
  6021. }
  6022. return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
  6023. }),
  6024. MAX_OPEN_FDS: 4096,
  6025. nextfd: (function(fd_start, fd_end) {
  6026. fd_start = fd_start || 0;
  6027. fd_end = fd_end || FS.MAX_OPEN_FDS;
  6028. for (var fd = fd_start; fd <= fd_end; fd++) {
  6029. if (!FS.streams[fd]) {
  6030. return fd;
  6031. }
  6032. }
  6033. throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
  6034. }),
  6035. getStream: (function(fd) {
  6036. return FS.streams[fd];
  6037. }),
  6038. createStream: (function(stream, fd_start, fd_end) {
  6039. if (!FS.FSStream) {
  6040. FS.FSStream = (function() {});
  6041. FS.FSStream.prototype = {};
  6042. Object.defineProperties(FS.FSStream.prototype, {
  6043. object: {
  6044. get: (function() {
  6045. return this.node;
  6046. }),
  6047. set: (function(val) {
  6048. this.node = val;
  6049. })
  6050. },
  6051. isRead: {
  6052. get: (function() {
  6053. return (this.flags & 2097155) !== 1;
  6054. })
  6055. },
  6056. isWrite: {
  6057. get: (function() {
  6058. return (this.flags & 2097155) !== 0;
  6059. })
  6060. },
  6061. isAppend: {
  6062. get: (function() {
  6063. return this.flags & 1024;
  6064. })
  6065. }
  6066. });
  6067. }
  6068. var newStream = new FS.FSStream;
  6069. for (var p in stream) {
  6070. newStream[p] = stream[p];
  6071. }
  6072. stream = newStream;
  6073. var fd = FS.nextfd(fd_start, fd_end);
  6074. stream.fd = fd;
  6075. FS.streams[fd] = stream;
  6076. return stream;
  6077. }),
  6078. closeStream: (function(fd) {
  6079. FS.streams[fd] = null;
  6080. }),
  6081. chrdev_stream_ops: {
  6082. open: (function(stream) {
  6083. var device = FS.getDevice(stream.node.rdev);
  6084. stream.stream_ops = device.stream_ops;
  6085. if (stream.stream_ops.open) {
  6086. stream.stream_ops.open(stream);
  6087. }
  6088. }),
  6089. llseek: (function() {
  6090. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  6091. })
  6092. },
  6093. major: (function(dev) {
  6094. return dev >> 8;
  6095. }),
  6096. minor: (function(dev) {
  6097. return dev & 255;
  6098. }),
  6099. makedev: (function(ma, mi) {
  6100. return ma << 8 | mi;
  6101. }),
  6102. registerDevice: (function(dev, ops) {
  6103. FS.devices[dev] = {
  6104. stream_ops: ops
  6105. };
  6106. }),
  6107. getDevice: (function(dev) {
  6108. return FS.devices[dev];
  6109. }),
  6110. getMounts: (function(mount) {
  6111. var mounts = [];
  6112. var check = [ mount ];
  6113. while (check.length) {
  6114. var m = check.pop();
  6115. mounts.push(m);
  6116. check.push.apply(check, m.mounts);
  6117. }
  6118. return mounts;
  6119. }),
  6120. syncfs: (function(populate, callback) {
  6121. if (typeof populate === "function") {
  6122. callback = populate;
  6123. populate = false;
  6124. }
  6125. FS.syncFSRequests++;
  6126. if (FS.syncFSRequests > 1) {
  6127. console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
  6128. }
  6129. var mounts = FS.getMounts(FS.root.mount);
  6130. var completed = 0;
  6131. function doCallback(err) {
  6132. assert(FS.syncFSRequests > 0);
  6133. FS.syncFSRequests--;
  6134. return callback(err);
  6135. }
  6136. function done(err) {
  6137. if (err) {
  6138. if (!done.errored) {
  6139. done.errored = true;
  6140. return doCallback(err);
  6141. }
  6142. return;
  6143. }
  6144. if (++completed >= mounts.length) {
  6145. doCallback(null);
  6146. }
  6147. }
  6148. mounts.forEach((function(mount) {
  6149. if (!mount.type.syncfs) {
  6150. return done(null);
  6151. }
  6152. mount.type.syncfs(mount, populate, done);
  6153. }));
  6154. }),
  6155. mount: (function(type, opts, mountpoint) {
  6156. var root = mountpoint === "/";
  6157. var pseudo = !mountpoint;
  6158. var node;
  6159. if (root && FS.root) {
  6160. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  6161. } else if (!root && !pseudo) {
  6162. var lookup = FS.lookupPath(mountpoint, {
  6163. follow_mount: false
  6164. });
  6165. mountpoint = lookup.path;
  6166. node = lookup.node;
  6167. if (FS.isMountpoint(node)) {
  6168. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  6169. }
  6170. if (!FS.isDir(node.mode)) {
  6171. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  6172. }
  6173. }
  6174. var mount = {
  6175. type: type,
  6176. opts: opts,
  6177. mountpoint: mountpoint,
  6178. mounts: []
  6179. };
  6180. var mountRoot = type.mount(mount);
  6181. mountRoot.mount = mount;
  6182. mount.root = mountRoot;
  6183. if (root) {
  6184. FS.root = mountRoot;
  6185. } else if (node) {
  6186. node.mounted = mount;
  6187. if (node.mount) {
  6188. node.mount.mounts.push(mount);
  6189. }
  6190. }
  6191. return mountRoot;
  6192. }),
  6193. unmount: (function(mountpoint) {
  6194. var lookup = FS.lookupPath(mountpoint, {
  6195. follow_mount: false
  6196. });
  6197. if (!FS.isMountpoint(lookup.node)) {
  6198. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6199. }
  6200. var node = lookup.node;
  6201. var mount = node.mounted;
  6202. var mounts = FS.getMounts(mount);
  6203. Object.keys(FS.nameTable).forEach((function(hash) {
  6204. var current = FS.nameTable[hash];
  6205. while (current) {
  6206. var next = current.name_next;
  6207. if (mounts.indexOf(current.mount) !== -1) {
  6208. FS.destroyNode(current);
  6209. }
  6210. current = next;
  6211. }
  6212. }));
  6213. node.mounted = null;
  6214. var idx = node.mount.mounts.indexOf(mount);
  6215. assert(idx !== -1);
  6216. node.mount.mounts.splice(idx, 1);
  6217. }),
  6218. lookup: (function(parent, name) {
  6219. return parent.node_ops.lookup(parent, name);
  6220. }),
  6221. mknod: (function(path, mode, dev) {
  6222. var lookup = FS.lookupPath(path, {
  6223. parent: true
  6224. });
  6225. var parent = lookup.node;
  6226. var name = PATH.basename(path);
  6227. if (!name || name === "." || name === "..") {
  6228. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6229. }
  6230. var err = FS.mayCreate(parent, name);
  6231. if (err) {
  6232. throw new FS.ErrnoError(err);
  6233. }
  6234. if (!parent.node_ops.mknod) {
  6235. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6236. }
  6237. return parent.node_ops.mknod(parent, name, mode, dev);
  6238. }),
  6239. create: (function(path, mode) {
  6240. mode = mode !== undefined ? mode : 438;
  6241. mode &= 4095;
  6242. mode |= 32768;
  6243. return FS.mknod(path, mode, 0);
  6244. }),
  6245. mkdir: (function(path, mode) {
  6246. mode = mode !== undefined ? mode : 511;
  6247. mode &= 511 | 512;
  6248. mode |= 16384;
  6249. return FS.mknod(path, mode, 0);
  6250. }),
  6251. mkdirTree: (function(path, mode) {
  6252. var dirs = path.split("/");
  6253. var d = "";
  6254. for (var i = 0; i < dirs.length; ++i) {
  6255. if (!dirs[i]) continue;
  6256. d += "/" + dirs[i];
  6257. try {
  6258. FS.mkdir(d, mode);
  6259. } catch (e) {
  6260. if (e.errno != ERRNO_CODES.EEXIST) throw e;
  6261. }
  6262. }
  6263. }),
  6264. mkdev: (function(path, mode, dev) {
  6265. if (typeof dev === "undefined") {
  6266. dev = mode;
  6267. mode = 438;
  6268. }
  6269. mode |= 8192;
  6270. return FS.mknod(path, mode, dev);
  6271. }),
  6272. symlink: (function(oldpath, newpath) {
  6273. if (!PATH.resolve(oldpath)) {
  6274. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6275. }
  6276. var lookup = FS.lookupPath(newpath, {
  6277. parent: true
  6278. });
  6279. var parent = lookup.node;
  6280. if (!parent) {
  6281. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6282. }
  6283. var newname = PATH.basename(newpath);
  6284. var err = FS.mayCreate(parent, newname);
  6285. if (err) {
  6286. throw new FS.ErrnoError(err);
  6287. }
  6288. if (!parent.node_ops.symlink) {
  6289. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6290. }
  6291. return parent.node_ops.symlink(parent, newname, oldpath);
  6292. }),
  6293. rename: (function(old_path, new_path) {
  6294. var old_dirname = PATH.dirname(old_path);
  6295. var new_dirname = PATH.dirname(new_path);
  6296. var old_name = PATH.basename(old_path);
  6297. var new_name = PATH.basename(new_path);
  6298. var lookup, old_dir, new_dir;
  6299. try {
  6300. lookup = FS.lookupPath(old_path, {
  6301. parent: true
  6302. });
  6303. old_dir = lookup.node;
  6304. lookup = FS.lookupPath(new_path, {
  6305. parent: true
  6306. });
  6307. new_dir = lookup.node;
  6308. } catch (e) {
  6309. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  6310. }
  6311. if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6312. if (old_dir.mount !== new_dir.mount) {
  6313. throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
  6314. }
  6315. var old_node = FS.lookupNode(old_dir, old_name);
  6316. var relative = PATH.relative(old_path, new_dirname);
  6317. if (relative.charAt(0) !== ".") {
  6318. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6319. }
  6320. relative = PATH.relative(new_path, old_dirname);
  6321. if (relative.charAt(0) !== ".") {
  6322. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  6323. }
  6324. var new_node;
  6325. try {
  6326. new_node = FS.lookupNode(new_dir, new_name);
  6327. } catch (e) {}
  6328. if (old_node === new_node) {
  6329. return;
  6330. }
  6331. var isdir = FS.isDir(old_node.mode);
  6332. var err = FS.mayDelete(old_dir, old_name, isdir);
  6333. if (err) {
  6334. throw new FS.ErrnoError(err);
  6335. }
  6336. err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
  6337. if (err) {
  6338. throw new FS.ErrnoError(err);
  6339. }
  6340. if (!old_dir.node_ops.rename) {
  6341. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6342. }
  6343. if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
  6344. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  6345. }
  6346. if (new_dir !== old_dir) {
  6347. err = FS.nodePermissions(old_dir, "w");
  6348. if (err) {
  6349. throw new FS.ErrnoError(err);
  6350. }
  6351. }
  6352. try {
  6353. if (FS.trackingDelegate["willMovePath"]) {
  6354. FS.trackingDelegate["willMovePath"](old_path, new_path);
  6355. }
  6356. } catch (e) {
  6357. console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  6358. }
  6359. FS.hashRemoveNode(old_node);
  6360. try {
  6361. old_dir.node_ops.rename(old_node, new_dir, new_name);
  6362. } catch (e) {
  6363. throw e;
  6364. } finally {
  6365. FS.hashAddNode(old_node);
  6366. }
  6367. try {
  6368. if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
  6369. } catch (e) {
  6370. console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
  6371. }
  6372. }),
  6373. rmdir: (function(path) {
  6374. var lookup = FS.lookupPath(path, {
  6375. parent: true
  6376. });
  6377. var parent = lookup.node;
  6378. var name = PATH.basename(path);
  6379. var node = FS.lookupNode(parent, name);
  6380. var err = FS.mayDelete(parent, name, true);
  6381. if (err) {
  6382. throw new FS.ErrnoError(err);
  6383. }
  6384. if (!parent.node_ops.rmdir) {
  6385. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6386. }
  6387. if (FS.isMountpoint(node)) {
  6388. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  6389. }
  6390. try {
  6391. if (FS.trackingDelegate["willDeletePath"]) {
  6392. FS.trackingDelegate["willDeletePath"](path);
  6393. }
  6394. } catch (e) {
  6395. console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  6396. }
  6397. parent.node_ops.rmdir(parent, name);
  6398. FS.destroyNode(node);
  6399. try {
  6400. if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
  6401. } catch (e) {
  6402. console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  6403. }
  6404. }),
  6405. readdir: (function(path) {
  6406. var lookup = FS.lookupPath(path, {
  6407. follow: true
  6408. });
  6409. var node = lookup.node;
  6410. if (!node.node_ops.readdir) {
  6411. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  6412. }
  6413. return node.node_ops.readdir(node);
  6414. }),
  6415. unlink: (function(path) {
  6416. var lookup = FS.lookupPath(path, {
  6417. parent: true
  6418. });
  6419. var parent = lookup.node;
  6420. var name = PATH.basename(path);
  6421. var node = FS.lookupNode(parent, name);
  6422. var err = FS.mayDelete(parent, name, false);
  6423. if (err) {
  6424. throw new FS.ErrnoError(err);
  6425. }
  6426. if (!parent.node_ops.unlink) {
  6427. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6428. }
  6429. if (FS.isMountpoint(node)) {
  6430. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  6431. }
  6432. try {
  6433. if (FS.trackingDelegate["willDeletePath"]) {
  6434. FS.trackingDelegate["willDeletePath"](path);
  6435. }
  6436. } catch (e) {
  6437. console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
  6438. }
  6439. parent.node_ops.unlink(parent, name);
  6440. FS.destroyNode(node);
  6441. try {
  6442. if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
  6443. } catch (e) {
  6444. console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
  6445. }
  6446. }),
  6447. readlink: (function(path) {
  6448. var lookup = FS.lookupPath(path);
  6449. var link = lookup.node;
  6450. if (!link) {
  6451. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6452. }
  6453. if (!link.node_ops.readlink) {
  6454. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6455. }
  6456. return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
  6457. }),
  6458. stat: (function(path, dontFollow) {
  6459. var lookup = FS.lookupPath(path, {
  6460. follow: !dontFollow
  6461. });
  6462. var node = lookup.node;
  6463. if (!node) {
  6464. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6465. }
  6466. if (!node.node_ops.getattr) {
  6467. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6468. }
  6469. return node.node_ops.getattr(node);
  6470. }),
  6471. lstat: (function(path) {
  6472. return FS.stat(path, true);
  6473. }),
  6474. chmod: (function(path, mode, dontFollow) {
  6475. var node;
  6476. if (typeof path === "string") {
  6477. var lookup = FS.lookupPath(path, {
  6478. follow: !dontFollow
  6479. });
  6480. node = lookup.node;
  6481. } else {
  6482. node = path;
  6483. }
  6484. if (!node.node_ops.setattr) {
  6485. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6486. }
  6487. node.node_ops.setattr(node, {
  6488. mode: mode & 4095 | node.mode & ~4095,
  6489. timestamp: Date.now()
  6490. });
  6491. }),
  6492. lchmod: (function(path, mode) {
  6493. FS.chmod(path, mode, true);
  6494. }),
  6495. fchmod: (function(fd, mode) {
  6496. var stream = FS.getStream(fd);
  6497. if (!stream) {
  6498. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6499. }
  6500. FS.chmod(stream.node, mode);
  6501. }),
  6502. chown: (function(path, uid, gid, dontFollow) {
  6503. var node;
  6504. if (typeof path === "string") {
  6505. var lookup = FS.lookupPath(path, {
  6506. follow: !dontFollow
  6507. });
  6508. node = lookup.node;
  6509. } else {
  6510. node = path;
  6511. }
  6512. if (!node.node_ops.setattr) {
  6513. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6514. }
  6515. node.node_ops.setattr(node, {
  6516. timestamp: Date.now()
  6517. });
  6518. }),
  6519. lchown: (function(path, uid, gid) {
  6520. FS.chown(path, uid, gid, true);
  6521. }),
  6522. fchown: (function(fd, uid, gid) {
  6523. var stream = FS.getStream(fd);
  6524. if (!stream) {
  6525. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6526. }
  6527. FS.chown(stream.node, uid, gid);
  6528. }),
  6529. truncate: (function(path, len) {
  6530. if (len < 0) {
  6531. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6532. }
  6533. var node;
  6534. if (typeof path === "string") {
  6535. var lookup = FS.lookupPath(path, {
  6536. follow: true
  6537. });
  6538. node = lookup.node;
  6539. } else {
  6540. node = path;
  6541. }
  6542. if (!node.node_ops.setattr) {
  6543. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  6544. }
  6545. if (FS.isDir(node.mode)) {
  6546. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  6547. }
  6548. if (!FS.isFile(node.mode)) {
  6549. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6550. }
  6551. var err = FS.nodePermissions(node, "w");
  6552. if (err) {
  6553. throw new FS.ErrnoError(err);
  6554. }
  6555. node.node_ops.setattr(node, {
  6556. size: len,
  6557. timestamp: Date.now()
  6558. });
  6559. }),
  6560. ftruncate: (function(fd, len) {
  6561. var stream = FS.getStream(fd);
  6562. if (!stream) {
  6563. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6564. }
  6565. if ((stream.flags & 2097155) === 0) {
  6566. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6567. }
  6568. FS.truncate(stream.node, len);
  6569. }),
  6570. utime: (function(path, atime, mtime) {
  6571. var lookup = FS.lookupPath(path, {
  6572. follow: true
  6573. });
  6574. var node = lookup.node;
  6575. node.node_ops.setattr(node, {
  6576. timestamp: Math.max(atime, mtime)
  6577. });
  6578. }),
  6579. open: (function(path, flags, mode, fd_start, fd_end) {
  6580. if (path === "") {
  6581. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6582. }
  6583. flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
  6584. mode = typeof mode === "undefined" ? 438 : mode;
  6585. if (flags & 64) {
  6586. mode = mode & 4095 | 32768;
  6587. } else {
  6588. mode = 0;
  6589. }
  6590. var node;
  6591. if (typeof path === "object") {
  6592. node = path;
  6593. } else {
  6594. path = PATH.normalize(path);
  6595. try {
  6596. var lookup = FS.lookupPath(path, {
  6597. follow: !(flags & 131072)
  6598. });
  6599. node = lookup.node;
  6600. } catch (e) {}
  6601. }
  6602. var created = false;
  6603. if (flags & 64) {
  6604. if (node) {
  6605. if (flags & 128) {
  6606. throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
  6607. }
  6608. } else {
  6609. node = FS.mknod(path, mode, 0);
  6610. created = true;
  6611. }
  6612. }
  6613. if (!node) {
  6614. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6615. }
  6616. if (FS.isChrdev(node.mode)) {
  6617. flags &= ~512;
  6618. }
  6619. if (flags & 65536 && !FS.isDir(node.mode)) {
  6620. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  6621. }
  6622. if (!created) {
  6623. var err = FS.mayOpen(node, flags);
  6624. if (err) {
  6625. throw new FS.ErrnoError(err);
  6626. }
  6627. }
  6628. if (flags & 512) {
  6629. FS.truncate(node, 0);
  6630. }
  6631. flags &= ~(128 | 512);
  6632. var stream = FS.createStream({
  6633. node: node,
  6634. path: FS.getPath(node),
  6635. flags: flags,
  6636. seekable: true,
  6637. position: 0,
  6638. stream_ops: node.stream_ops,
  6639. ungotten: [],
  6640. error: false
  6641. }, fd_start, fd_end);
  6642. if (stream.stream_ops.open) {
  6643. stream.stream_ops.open(stream);
  6644. }
  6645. if (Module["logReadFiles"] && !(flags & 1)) {
  6646. if (!FS.readFiles) FS.readFiles = {};
  6647. if (!(path in FS.readFiles)) {
  6648. FS.readFiles[path] = 1;
  6649. err("read file: " + path);
  6650. }
  6651. }
  6652. try {
  6653. if (FS.trackingDelegate["onOpenFile"]) {
  6654. var trackingFlags = 0;
  6655. if ((flags & 2097155) !== 1) {
  6656. trackingFlags |= FS.tracking.openFlags.READ;
  6657. }
  6658. if ((flags & 2097155) !== 0) {
  6659. trackingFlags |= FS.tracking.openFlags.WRITE;
  6660. }
  6661. FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  6662. }
  6663. } catch (e) {
  6664. console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
  6665. }
  6666. return stream;
  6667. }),
  6668. close: (function(stream) {
  6669. if (FS.isClosed(stream)) {
  6670. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6671. }
  6672. if (stream.getdents) stream.getdents = null;
  6673. try {
  6674. if (stream.stream_ops.close) {
  6675. stream.stream_ops.close(stream);
  6676. }
  6677. } catch (e) {
  6678. throw e;
  6679. } finally {
  6680. FS.closeStream(stream.fd);
  6681. }
  6682. stream.fd = null;
  6683. }),
  6684. isClosed: (function(stream) {
  6685. return stream.fd === null;
  6686. }),
  6687. llseek: (function(stream, offset, whence) {
  6688. if (FS.isClosed(stream)) {
  6689. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6690. }
  6691. if (!stream.seekable || !stream.stream_ops.llseek) {
  6692. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  6693. }
  6694. stream.position = stream.stream_ops.llseek(stream, offset, whence);
  6695. stream.ungotten = [];
  6696. return stream.position;
  6697. }),
  6698. read: (function(stream, buffer, offset, length, position) {
  6699. if (length < 0 || position < 0) {
  6700. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6701. }
  6702. if (FS.isClosed(stream)) {
  6703. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6704. }
  6705. if ((stream.flags & 2097155) === 1) {
  6706. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6707. }
  6708. if (FS.isDir(stream.node.mode)) {
  6709. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  6710. }
  6711. if (!stream.stream_ops.read) {
  6712. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6713. }
  6714. var seeking = typeof position !== "undefined";
  6715. if (!seeking) {
  6716. position = stream.position;
  6717. } else if (!stream.seekable) {
  6718. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  6719. }
  6720. var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
  6721. if (!seeking) stream.position += bytesRead;
  6722. return bytesRead;
  6723. }),
  6724. write: (function(stream, buffer, offset, length, position, canOwn) {
  6725. if (length < 0 || position < 0) {
  6726. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6727. }
  6728. if (FS.isClosed(stream)) {
  6729. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6730. }
  6731. if ((stream.flags & 2097155) === 0) {
  6732. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6733. }
  6734. if (FS.isDir(stream.node.mode)) {
  6735. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  6736. }
  6737. if (!stream.stream_ops.write) {
  6738. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6739. }
  6740. if (stream.flags & 1024) {
  6741. FS.llseek(stream, 0, 2);
  6742. }
  6743. var seeking = typeof position !== "undefined";
  6744. if (!seeking) {
  6745. position = stream.position;
  6746. } else if (!stream.seekable) {
  6747. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  6748. }
  6749. var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
  6750. if (!seeking) stream.position += bytesWritten;
  6751. try {
  6752. if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
  6753. } catch (e) {
  6754. console.log("FS.trackingDelegate['onWriteToFile']('" + path + "') threw an exception: " + e.message);
  6755. }
  6756. return bytesWritten;
  6757. }),
  6758. allocate: (function(stream, offset, length) {
  6759. if (FS.isClosed(stream)) {
  6760. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6761. }
  6762. if (offset < 0 || length <= 0) {
  6763. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  6764. }
  6765. if ((stream.flags & 2097155) === 0) {
  6766. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6767. }
  6768. if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
  6769. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  6770. }
  6771. if (!stream.stream_ops.allocate) {
  6772. throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
  6773. }
  6774. stream.stream_ops.allocate(stream, offset, length);
  6775. }),
  6776. mmap: (function(stream, buffer, offset, length, position, prot, flags) {
  6777. if ((stream.flags & 2097155) === 1) {
  6778. throw new FS.ErrnoError(ERRNO_CODES.EACCES);
  6779. }
  6780. if (!stream.stream_ops.mmap) {
  6781. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  6782. }
  6783. return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
  6784. }),
  6785. msync: (function(stream, buffer, offset, length, mmapFlags) {
  6786. if (!stream || !stream.stream_ops.msync) {
  6787. return 0;
  6788. }
  6789. return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
  6790. }),
  6791. munmap: (function(stream) {
  6792. return 0;
  6793. }),
  6794. ioctl: (function(stream, cmd, arg) {
  6795. if (!stream.stream_ops.ioctl) {
  6796. throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
  6797. }
  6798. return stream.stream_ops.ioctl(stream, cmd, arg);
  6799. }),
  6800. readFile: (function(path, opts) {
  6801. opts = opts || {};
  6802. opts.flags = opts.flags || "r";
  6803. opts.encoding = opts.encoding || "binary";
  6804. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  6805. throw new Error('Invalid encoding type "' + opts.encoding + '"');
  6806. }
  6807. var ret;
  6808. var stream = FS.open(path, opts.flags);
  6809. var stat = FS.stat(path);
  6810. var length = stat.size;
  6811. var buf = new Uint8Array(length);
  6812. FS.read(stream, buf, 0, length, 0);
  6813. if (opts.encoding === "utf8") {
  6814. ret = UTF8ArrayToString(buf, 0);
  6815. } else if (opts.encoding === "binary") {
  6816. ret = buf;
  6817. }
  6818. FS.close(stream);
  6819. return ret;
  6820. }),
  6821. writeFile: (function(path, data, opts) {
  6822. opts = opts || {};
  6823. opts.flags = opts.flags || "w";
  6824. var stream = FS.open(path, opts.flags, opts.mode);
  6825. if (typeof data === "string") {
  6826. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  6827. var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
  6828. FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
  6829. } else if (ArrayBuffer.isView(data)) {
  6830. FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
  6831. } else {
  6832. throw new Error("Unsupported data type");
  6833. }
  6834. FS.close(stream);
  6835. }),
  6836. cwd: (function() {
  6837. return FS.currentPath;
  6838. }),
  6839. chdir: (function(path) {
  6840. var lookup = FS.lookupPath(path, {
  6841. follow: true
  6842. });
  6843. if (lookup.node === null) {
  6844. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  6845. }
  6846. if (!FS.isDir(lookup.node.mode)) {
  6847. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  6848. }
  6849. var err = FS.nodePermissions(lookup.node, "x");
  6850. if (err) {
  6851. throw new FS.ErrnoError(err);
  6852. }
  6853. FS.currentPath = lookup.path;
  6854. }),
  6855. createDefaultDirectories: (function() {
  6856. FS.mkdir("/tmp");
  6857. FS.mkdir("/home");
  6858. FS.mkdir("/home/web_user");
  6859. }),
  6860. createDefaultDevices: (function() {
  6861. FS.mkdir("/dev");
  6862. FS.registerDevice(FS.makedev(1, 3), {
  6863. read: (function() {
  6864. return 0;
  6865. }),
  6866. write: (function(stream, buffer, offset, length, pos) {
  6867. return length;
  6868. })
  6869. });
  6870. FS.mkdev("/dev/null", FS.makedev(1, 3));
  6871. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  6872. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  6873. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  6874. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  6875. var random_device;
  6876. if (typeof crypto !== "undefined") {
  6877. var randomBuffer = new Uint8Array(1);
  6878. random_device = (function() {
  6879. crypto.getRandomValues(randomBuffer);
  6880. return randomBuffer[0];
  6881. });
  6882. } else if (ENVIRONMENT_IS_NODE) {
  6883. random_device = (function() {
  6884. return require("crypto")["randomBytes"](1)[0];
  6885. });
  6886. } else {
  6887. random_device = (function() {
  6888. return Math.random() * 256 | 0;
  6889. });
  6890. }
  6891. FS.createDevice("/dev", "random", random_device);
  6892. FS.createDevice("/dev", "urandom", random_device);
  6893. FS.mkdir("/dev/shm");
  6894. FS.mkdir("/dev/shm/tmp");
  6895. }),
  6896. createSpecialDirectories: (function() {
  6897. FS.mkdir("/proc");
  6898. FS.mkdir("/proc/self");
  6899. FS.mkdir("/proc/self/fd");
  6900. FS.mount({
  6901. mount: (function() {
  6902. var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
  6903. node.node_ops = {
  6904. lookup: (function(parent, name) {
  6905. var fd = +name;
  6906. var stream = FS.getStream(fd);
  6907. if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  6908. var ret = {
  6909. parent: null,
  6910. mount: {
  6911. mountpoint: "fake"
  6912. },
  6913. node_ops: {
  6914. readlink: (function() {
  6915. return stream.path;
  6916. })
  6917. }
  6918. };
  6919. ret.parent = ret;
  6920. return ret;
  6921. })
  6922. };
  6923. return node;
  6924. })
  6925. }, {}, "/proc/self/fd");
  6926. }),
  6927. createStandardStreams: (function() {
  6928. if (Module["stdin"]) {
  6929. FS.createDevice("/dev", "stdin", Module["stdin"]);
  6930. } else {
  6931. FS.symlink("/dev/tty", "/dev/stdin");
  6932. }
  6933. if (Module["stdout"]) {
  6934. FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  6935. } else {
  6936. FS.symlink("/dev/tty", "/dev/stdout");
  6937. }
  6938. if (Module["stderr"]) {
  6939. FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  6940. } else {
  6941. FS.symlink("/dev/tty1", "/dev/stderr");
  6942. }
  6943. var stdin = FS.open("/dev/stdin", "r");
  6944. assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")");
  6945. var stdout = FS.open("/dev/stdout", "w");
  6946. assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")");
  6947. var stderr = FS.open("/dev/stderr", "w");
  6948. assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")");
  6949. }),
  6950. ensureErrnoError: (function() {
  6951. if (FS.ErrnoError) return;
  6952. FS.ErrnoError = function ErrnoError(errno, node) {
  6953. this.node = node;
  6954. this.setErrno = (function(errno) {
  6955. this.errno = errno;
  6956. for (var key in ERRNO_CODES) {
  6957. if (ERRNO_CODES[key] === errno) {
  6958. this.code = key;
  6959. break;
  6960. }
  6961. }
  6962. });
  6963. this.setErrno(errno);
  6964. this.message = ERRNO_MESSAGES[errno];
  6965. if (this.stack) Object.defineProperty(this, "stack", {
  6966. value: (new Error).stack,
  6967. writable: true
  6968. });
  6969. if (this.stack) this.stack = demangleAll(this.stack);
  6970. };
  6971. FS.ErrnoError.prototype = new Error;
  6972. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  6973. [ ERRNO_CODES.ENOENT ].forEach((function(code) {
  6974. FS.genericErrors[code] = new FS.ErrnoError(code);
  6975. FS.genericErrors[code].stack = "<generic error, no stack>";
  6976. }));
  6977. }),
  6978. staticInit: (function() {
  6979. FS.ensureErrnoError();
  6980. FS.nameTable = new Array(4096);
  6981. FS.mount(MEMFS, {}, "/");
  6982. FS.createDefaultDirectories();
  6983. FS.createDefaultDevices();
  6984. FS.createSpecialDirectories();
  6985. FS.filesystems = {
  6986. "MEMFS": MEMFS,
  6987. "IDBFS": IDBFS,
  6988. "NODEFS": NODEFS,
  6989. "WORKERFS": WORKERFS
  6990. };
  6991. }),
  6992. init: (function(input, output, error) {
  6993. assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
  6994. FS.init.initialized = true;
  6995. FS.ensureErrnoError();
  6996. Module["stdin"] = input || Module["stdin"];
  6997. Module["stdout"] = output || Module["stdout"];
  6998. Module["stderr"] = error || Module["stderr"];
  6999. FS.createStandardStreams();
  7000. }),
  7001. quit: (function() {
  7002. FS.init.initialized = false;
  7003. var fflush = Module["_fflush"];
  7004. if (fflush) fflush(0);
  7005. for (var i = 0; i < FS.streams.length; i++) {
  7006. var stream = FS.streams[i];
  7007. if (!stream) {
  7008. continue;
  7009. }
  7010. FS.close(stream);
  7011. }
  7012. }),
  7013. getMode: (function(canRead, canWrite) {
  7014. var mode = 0;
  7015. if (canRead) mode |= 292 | 73;
  7016. if (canWrite) mode |= 146;
  7017. return mode;
  7018. }),
  7019. joinPath: (function(parts, forceRelative) {
  7020. var path = PATH.join.apply(null, parts);
  7021. if (forceRelative && path[0] == "/") path = path.substr(1);
  7022. return path;
  7023. }),
  7024. absolutePath: (function(relative, base) {
  7025. return PATH.resolve(base, relative);
  7026. }),
  7027. standardizePath: (function(path) {
  7028. return PATH.normalize(path);
  7029. }),
  7030. findObject: (function(path, dontResolveLastLink) {
  7031. var ret = FS.analyzePath(path, dontResolveLastLink);
  7032. if (ret.exists) {
  7033. return ret.object;
  7034. } else {
  7035. ___setErrNo(ret.error);
  7036. return null;
  7037. }
  7038. }),
  7039. analyzePath: (function(path, dontResolveLastLink) {
  7040. try {
  7041. var lookup = FS.lookupPath(path, {
  7042. follow: !dontResolveLastLink
  7043. });
  7044. path = lookup.path;
  7045. } catch (e) {}
  7046. var ret = {
  7047. isRoot: false,
  7048. exists: false,
  7049. error: 0,
  7050. name: null,
  7051. path: null,
  7052. object: null,
  7053. parentExists: false,
  7054. parentPath: null,
  7055. parentObject: null
  7056. };
  7057. try {
  7058. var lookup = FS.lookupPath(path, {
  7059. parent: true
  7060. });
  7061. ret.parentExists = true;
  7062. ret.parentPath = lookup.path;
  7063. ret.parentObject = lookup.node;
  7064. ret.name = PATH.basename(path);
  7065. lookup = FS.lookupPath(path, {
  7066. follow: !dontResolveLastLink
  7067. });
  7068. ret.exists = true;
  7069. ret.path = lookup.path;
  7070. ret.object = lookup.node;
  7071. ret.name = lookup.node.name;
  7072. ret.isRoot = lookup.path === "/";
  7073. } catch (e) {
  7074. ret.error = e.errno;
  7075. }
  7076. return ret;
  7077. }),
  7078. createFolder: (function(parent, name, canRead, canWrite) {
  7079. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  7080. var mode = FS.getMode(canRead, canWrite);
  7081. return FS.mkdir(path, mode);
  7082. }),
  7083. createPath: (function(parent, path, canRead, canWrite) {
  7084. parent = typeof parent === "string" ? parent : FS.getPath(parent);
  7085. var parts = path.split("/").reverse();
  7086. while (parts.length) {
  7087. var part = parts.pop();
  7088. if (!part) continue;
  7089. var current = PATH.join2(parent, part);
  7090. try {
  7091. FS.mkdir(current);
  7092. } catch (e) {}
  7093. parent = current;
  7094. }
  7095. return current;
  7096. }),
  7097. createFile: (function(parent, name, properties, canRead, canWrite) {
  7098. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  7099. var mode = FS.getMode(canRead, canWrite);
  7100. return FS.create(path, mode);
  7101. }),
  7102. createDataFile: (function(parent, name, data, canRead, canWrite, canOwn) {
  7103. var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
  7104. var mode = FS.getMode(canRead, canWrite);
  7105. var node = FS.create(path, mode);
  7106. if (data) {
  7107. if (typeof data === "string") {
  7108. var arr = new Array(data.length);
  7109. for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
  7110. data = arr;
  7111. }
  7112. FS.chmod(node, mode | 146);
  7113. var stream = FS.open(node, "w");
  7114. FS.write(stream, data, 0, data.length, 0, canOwn);
  7115. FS.close(stream);
  7116. FS.chmod(node, mode);
  7117. }
  7118. return node;
  7119. }),
  7120. createDevice: (function(parent, name, input, output) {
  7121. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  7122. var mode = FS.getMode(!!input, !!output);
  7123. if (!FS.createDevice.major) FS.createDevice.major = 64;
  7124. var dev = FS.makedev(FS.createDevice.major++, 0);
  7125. FS.registerDevice(dev, {
  7126. open: (function(stream) {
  7127. stream.seekable = false;
  7128. }),
  7129. close: (function(stream) {
  7130. if (output && output.buffer && output.buffer.length) {
  7131. output(10);
  7132. }
  7133. }),
  7134. read: (function(stream, buffer, offset, length, pos) {
  7135. var bytesRead = 0;
  7136. for (var i = 0; i < length; i++) {
  7137. var result;
  7138. try {
  7139. result = input();
  7140. } catch (e) {
  7141. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  7142. }
  7143. if (result === undefined && bytesRead === 0) {
  7144. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  7145. }
  7146. if (result === null || result === undefined) break;
  7147. bytesRead++;
  7148. buffer[offset + i] = result;
  7149. }
  7150. if (bytesRead) {
  7151. stream.node.timestamp = Date.now();
  7152. }
  7153. return bytesRead;
  7154. }),
  7155. write: (function(stream, buffer, offset, length, pos) {
  7156. for (var i = 0; i < length; i++) {
  7157. try {
  7158. output(buffer[offset + i]);
  7159. } catch (e) {
  7160. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  7161. }
  7162. }
  7163. if (length) {
  7164. stream.node.timestamp = Date.now();
  7165. }
  7166. return i;
  7167. })
  7168. });
  7169. return FS.mkdev(path, mode, dev);
  7170. }),
  7171. createLink: (function(parent, name, target, canRead, canWrite) {
  7172. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  7173. return FS.symlink(target, path);
  7174. }),
  7175. forceLoadFile: (function(obj) {
  7176. if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
  7177. var success = true;
  7178. if (typeof XMLHttpRequest !== "undefined") {
  7179. throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
  7180. } else if (Module["read"]) {
  7181. try {
  7182. obj.contents = intArrayFromString(Module["read"](obj.url), true);
  7183. obj.usedBytes = obj.contents.length;
  7184. } catch (e) {
  7185. success = false;
  7186. }
  7187. } else {
  7188. throw new Error("Cannot load without read() or XMLHttpRequest.");
  7189. }
  7190. if (!success) ___setErrNo(ERRNO_CODES.EIO);
  7191. return success;
  7192. }),
  7193. createLazyFile: (function(parent, name, url, canRead, canWrite) {
  7194. function LazyUint8Array() {
  7195. this.lengthKnown = false;
  7196. this.chunks = [];
  7197. }
  7198. LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
  7199. if (idx > this.length - 1 || idx < 0) {
  7200. return undefined;
  7201. }
  7202. var chunkOffset = idx % this.chunkSize;
  7203. var chunkNum = idx / this.chunkSize | 0;
  7204. return this.getter(chunkNum)[chunkOffset];
  7205. };
  7206. LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
  7207. this.getter = getter;
  7208. };
  7209. LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
  7210. var xhr = new XMLHttpRequest;
  7211. xhr.open("HEAD", url, false);
  7212. xhr.send(null);
  7213. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  7214. var datalength = Number(xhr.getResponseHeader("Content-length"));
  7215. var header;
  7216. var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
  7217. var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
  7218. var chunkSize = 1024 * 1024;
  7219. if (!hasByteServing) chunkSize = datalength;
  7220. var doXHR = (function(from, to) {
  7221. if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
  7222. if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
  7223. var xhr = new XMLHttpRequest;
  7224. xhr.open("GET", url, false);
  7225. if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
  7226. if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
  7227. if (xhr.overrideMimeType) {
  7228. xhr.overrideMimeType("text/plain; charset=x-user-defined");
  7229. }
  7230. xhr.send(null);
  7231. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  7232. if (xhr.response !== undefined) {
  7233. return new Uint8Array(xhr.response || []);
  7234. } else {
  7235. return intArrayFromString(xhr.responseText || "", true);
  7236. }
  7237. });
  7238. var lazyArray = this;
  7239. lazyArray.setDataGetter((function(chunkNum) {
  7240. var start = chunkNum * chunkSize;
  7241. var end = (chunkNum + 1) * chunkSize - 1;
  7242. end = Math.min(end, datalength - 1);
  7243. if (typeof lazyArray.chunks[chunkNum] === "undefined") {
  7244. lazyArray.chunks[chunkNum] = doXHR(start, end);
  7245. }
  7246. if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
  7247. return lazyArray.chunks[chunkNum];
  7248. }));
  7249. if (usesGzip || !datalength) {
  7250. chunkSize = datalength = 1;
  7251. datalength = this.getter(0).length;
  7252. chunkSize = datalength;
  7253. console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
  7254. }
  7255. this._length = datalength;
  7256. this._chunkSize = chunkSize;
  7257. this.lengthKnown = true;
  7258. };
  7259. if (typeof XMLHttpRequest !== "undefined") {
  7260. if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  7261. var lazyArray = new LazyUint8Array;
  7262. Object.defineProperties(lazyArray, {
  7263. length: {
  7264. get: (function() {
  7265. if (!this.lengthKnown) {
  7266. this.cacheLength();
  7267. }
  7268. return this._length;
  7269. })
  7270. },
  7271. chunkSize: {
  7272. get: (function() {
  7273. if (!this.lengthKnown) {
  7274. this.cacheLength();
  7275. }
  7276. return this._chunkSize;
  7277. })
  7278. }
  7279. });
  7280. var properties = {
  7281. isDevice: false,
  7282. contents: lazyArray
  7283. };
  7284. } else {
  7285. var properties = {
  7286. isDevice: false,
  7287. url: url
  7288. };
  7289. }
  7290. var node = FS.createFile(parent, name, properties, canRead, canWrite);
  7291. if (properties.contents) {
  7292. node.contents = properties.contents;
  7293. } else if (properties.url) {
  7294. node.contents = null;
  7295. node.url = properties.url;
  7296. }
  7297. Object.defineProperties(node, {
  7298. usedBytes: {
  7299. get: (function() {
  7300. return this.contents.length;
  7301. })
  7302. }
  7303. });
  7304. var stream_ops = {};
  7305. var keys = Object.keys(node.stream_ops);
  7306. keys.forEach((function(key) {
  7307. var fn = node.stream_ops[key];
  7308. stream_ops[key] = function forceLoadLazyFile() {
  7309. if (!FS.forceLoadFile(node)) {
  7310. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  7311. }
  7312. return fn.apply(null, arguments);
  7313. };
  7314. }));
  7315. stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
  7316. if (!FS.forceLoadFile(node)) {
  7317. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  7318. }
  7319. var contents = stream.node.contents;
  7320. if (position >= contents.length) return 0;
  7321. var size = Math.min(contents.length - position, length);
  7322. assert(size >= 0);
  7323. if (contents.slice) {
  7324. for (var i = 0; i < size; i++) {
  7325. buffer[offset + i] = contents[position + i];
  7326. }
  7327. } else {
  7328. for (var i = 0; i < size; i++) {
  7329. buffer[offset + i] = contents.get(position + i);
  7330. }
  7331. }
  7332. return size;
  7333. };
  7334. node.stream_ops = stream_ops;
  7335. return node;
  7336. }),
  7337. createPreloadedFile: (function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
  7338. Browser.init();
  7339. var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
  7340. var dep = getUniqueRunDependency("cp " + fullname);
  7341. function processData(byteArray) {
  7342. function finish(byteArray) {
  7343. if (preFinish) preFinish();
  7344. if (!dontCreateFile) {
  7345. FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
  7346. }
  7347. if (onload) onload();
  7348. removeRunDependency(dep);
  7349. }
  7350. var handled = false;
  7351. Module["preloadPlugins"].forEach((function(plugin) {
  7352. if (handled) return;
  7353. if (plugin["canHandle"](fullname)) {
  7354. plugin["handle"](byteArray, fullname, finish, (function() {
  7355. if (onerror) onerror();
  7356. removeRunDependency(dep);
  7357. }));
  7358. handled = true;
  7359. }
  7360. }));
  7361. if (!handled) finish(byteArray);
  7362. }
  7363. addRunDependency(dep);
  7364. if (typeof url == "string") {
  7365. Browser.asyncLoad(url, (function(byteArray) {
  7366. processData(byteArray);
  7367. }), onerror);
  7368. } else {
  7369. processData(url);
  7370. }
  7371. }),
  7372. indexedDB: (function() {
  7373. return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  7374. }),
  7375. DB_NAME: (function() {
  7376. return "EM_FS_" + window.location.pathname;
  7377. }),
  7378. DB_VERSION: 20,
  7379. DB_STORE_NAME: "FILE_DATA",
  7380. saveFilesToDB: (function(paths, onload, onerror) {
  7381. onload = onload || (function() {});
  7382. onerror = onerror || (function() {});
  7383. var indexedDB = FS.indexedDB();
  7384. try {
  7385. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  7386. } catch (e) {
  7387. return onerror(e);
  7388. }
  7389. openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
  7390. console.log("creating db");
  7391. var db = openRequest.result;
  7392. db.createObjectStore(FS.DB_STORE_NAME);
  7393. };
  7394. openRequest.onsuccess = function openRequest_onsuccess() {
  7395. var db = openRequest.result;
  7396. var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
  7397. var files = transaction.objectStore(FS.DB_STORE_NAME);
  7398. var ok = 0, fail = 0, total = paths.length;
  7399. function finish() {
  7400. if (fail == 0) onload(); else onerror();
  7401. }
  7402. paths.forEach((function(path) {
  7403. var putRequest = files.put(FS.analyzePath(path).object.contents, path);
  7404. putRequest.onsuccess = function putRequest_onsuccess() {
  7405. ok++;
  7406. if (ok + fail == total) finish();
  7407. };
  7408. putRequest.onerror = function putRequest_onerror() {
  7409. fail++;
  7410. if (ok + fail == total) finish();
  7411. };
  7412. }));
  7413. transaction.onerror = onerror;
  7414. };
  7415. openRequest.onerror = onerror;
  7416. }),
  7417. loadFilesFromDB: (function(paths, onload, onerror) {
  7418. onload = onload || (function() {});
  7419. onerror = onerror || (function() {});
  7420. var indexedDB = FS.indexedDB();
  7421. try {
  7422. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  7423. } catch (e) {
  7424. return onerror(e);
  7425. }
  7426. openRequest.onupgradeneeded = onerror;
  7427. openRequest.onsuccess = function openRequest_onsuccess() {
  7428. var db = openRequest.result;
  7429. try {
  7430. var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
  7431. } catch (e) {
  7432. onerror(e);
  7433. return;
  7434. }
  7435. var files = transaction.objectStore(FS.DB_STORE_NAME);
  7436. var ok = 0, fail = 0, total = paths.length;
  7437. function finish() {
  7438. if (fail == 0) onload(); else onerror();
  7439. }
  7440. paths.forEach((function(path) {
  7441. var getRequest = files.get(path);
  7442. getRequest.onsuccess = function getRequest_onsuccess() {
  7443. if (FS.analyzePath(path).exists) {
  7444. FS.unlink(path);
  7445. }
  7446. FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
  7447. ok++;
  7448. if (ok + fail == total) finish();
  7449. };
  7450. getRequest.onerror = function getRequest_onerror() {
  7451. fail++;
  7452. if (ok + fail == total) finish();
  7453. };
  7454. }));
  7455. transaction.onerror = onerror;
  7456. };
  7457. openRequest.onerror = onerror;
  7458. })
  7459. };
  7460. var SYSCALLS = {
  7461. DEFAULT_POLLMASK: 5,
  7462. mappings: {},
  7463. umask: 511,
  7464. calculateAt: (function(dirfd, path) {
  7465. if (path[0] !== "/") {
  7466. var dir;
  7467. if (dirfd === -100) {
  7468. dir = FS.cwd();
  7469. } else {
  7470. var dirstream = FS.getStream(dirfd);
  7471. if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  7472. dir = dirstream.path;
  7473. }
  7474. path = PATH.join2(dir, path);
  7475. }
  7476. return path;
  7477. }),
  7478. doStat: (function(func, path, buf) {
  7479. try {
  7480. var stat = func(path);
  7481. } catch (e) {
  7482. if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
  7483. return -ERRNO_CODES.ENOTDIR;
  7484. }
  7485. throw e;
  7486. }
  7487. HEAP32[buf >> 2] = stat.dev;
  7488. HEAP32[buf + 4 >> 2] = 0;
  7489. HEAP32[buf + 8 >> 2] = stat.ino;
  7490. HEAP32[buf + 12 >> 2] = stat.mode;
  7491. HEAP32[buf + 16 >> 2] = stat.nlink;
  7492. HEAP32[buf + 20 >> 2] = stat.uid;
  7493. HEAP32[buf + 24 >> 2] = stat.gid;
  7494. HEAP32[buf + 28 >> 2] = stat.rdev;
  7495. HEAP32[buf + 32 >> 2] = 0;
  7496. HEAP32[buf + 36 >> 2] = stat.size;
  7497. HEAP32[buf + 40 >> 2] = 4096;
  7498. HEAP32[buf + 44 >> 2] = stat.blocks;
  7499. HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0;
  7500. HEAP32[buf + 52 >> 2] = 0;
  7501. HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0;
  7502. HEAP32[buf + 60 >> 2] = 0;
  7503. HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0;
  7504. HEAP32[buf + 68 >> 2] = 0;
  7505. HEAP32[buf + 72 >> 2] = stat.ino;
  7506. return 0;
  7507. }),
  7508. doMsync: (function(addr, stream, len, flags) {
  7509. var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
  7510. FS.msync(stream, buffer, 0, len, flags);
  7511. }),
  7512. doMkdir: (function(path, mode) {
  7513. path = PATH.normalize(path);
  7514. if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
  7515. FS.mkdir(path, mode, 0);
  7516. return 0;
  7517. }),
  7518. doMknod: (function(path, mode, dev) {
  7519. switch (mode & 61440) {
  7520. case 32768:
  7521. case 8192:
  7522. case 24576:
  7523. case 4096:
  7524. case 49152:
  7525. break;
  7526. default:
  7527. return -ERRNO_CODES.EINVAL;
  7528. }
  7529. FS.mknod(path, mode, dev);
  7530. return 0;
  7531. }),
  7532. doReadlink: (function(path, buf, bufsize) {
  7533. if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
  7534. var ret = FS.readlink(path);
  7535. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  7536. var endChar = HEAP8[buf + len];
  7537. stringToUTF8(ret, buf, bufsize + 1);
  7538. HEAP8[buf + len] = endChar;
  7539. return len;
  7540. }),
  7541. doAccess: (function(path, amode) {
  7542. if (amode & ~7) {
  7543. return -ERRNO_CODES.EINVAL;
  7544. }
  7545. var node;
  7546. var lookup = FS.lookupPath(path, {
  7547. follow: true
  7548. });
  7549. node = lookup.node;
  7550. var perms = "";
  7551. if (amode & 4) perms += "r";
  7552. if (amode & 2) perms += "w";
  7553. if (amode & 1) perms += "x";
  7554. if (perms && FS.nodePermissions(node, perms)) {
  7555. return -ERRNO_CODES.EACCES;
  7556. }
  7557. return 0;
  7558. }),
  7559. doDup: (function(path, flags, suggestFD) {
  7560. var suggest = FS.getStream(suggestFD);
  7561. if (suggest) FS.close(suggest);
  7562. return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  7563. }),
  7564. doReadv: (function(stream, iov, iovcnt, offset) {
  7565. var ret = 0;
  7566. for (var i = 0; i < iovcnt; i++) {
  7567. var ptr = HEAP32[iov + i * 8 >> 2];
  7568. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  7569. var curr = FS.read(stream, HEAP8, ptr, len, offset);
  7570. if (curr < 0) return -1;
  7571. ret += curr;
  7572. if (curr < len) break;
  7573. }
  7574. return ret;
  7575. }),
  7576. doWritev: (function(stream, iov, iovcnt, offset) {
  7577. var ret = 0;
  7578. for (var i = 0; i < iovcnt; i++) {
  7579. var ptr = HEAP32[iov + i * 8 >> 2];
  7580. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  7581. var curr = FS.write(stream, HEAP8, ptr, len, offset);
  7582. if (curr < 0) return -1;
  7583. ret += curr;
  7584. }
  7585. return ret;
  7586. }),
  7587. varargs: 0,
  7588. get: (function(varargs) {
  7589. SYSCALLS.varargs += 4;
  7590. var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
  7591. return ret;
  7592. }),
  7593. getStr: (function() {
  7594. var ret = Pointer_stringify(SYSCALLS.get());
  7595. return ret;
  7596. }),
  7597. getStreamFromFD: (function() {
  7598. var stream = FS.getStream(SYSCALLS.get());
  7599. if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  7600. return stream;
  7601. }),
  7602. getSocketFromFD: (function() {
  7603. var socket = SOCKFS.getSocket(SYSCALLS.get());
  7604. if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  7605. return socket;
  7606. }),
  7607. getSocketAddress: (function(allowNull) {
  7608. var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
  7609. if (allowNull && addrp === 0) return null;
  7610. var info = __read_sockaddr(addrp, addrlen);
  7611. if (info.errno) throw new FS.ErrnoError(info.errno);
  7612. info.addr = DNS.lookup_addr(info.addr) || info.addr;
  7613. return info;
  7614. }),
  7615. get64: (function() {
  7616. var low = SYSCALLS.get(), high = SYSCALLS.get();
  7617. if (low >= 0) assert(high === 0); else assert(high === -1);
  7618. return low;
  7619. }),
  7620. getZero: (function() {
  7621. assert(SYSCALLS.get() === 0);
  7622. })
  7623. };
  7624. function ___syscall10(which, varargs) {
  7625. SYSCALLS.varargs = varargs;
  7626. try {
  7627. var path = SYSCALLS.getStr();
  7628. FS.unlink(path);
  7629. return 0;
  7630. } catch (e) {
  7631. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  7632. return -e.errno;
  7633. }
  7634. }
  7635. var SOCKFS = {
  7636. mount: (function(mount) {
  7637. Module["websocket"] = Module["websocket"] && "object" === typeof Module["websocket"] ? Module["websocket"] : {};
  7638. Module["websocket"]._callbacks = {};
  7639. Module["websocket"]["on"] = (function(event, callback) {
  7640. if ("function" === typeof callback) {
  7641. this._callbacks[event] = callback;
  7642. }
  7643. return this;
  7644. });
  7645. Module["websocket"].emit = (function(event, param) {
  7646. if ("function" === typeof this._callbacks[event]) {
  7647. this._callbacks[event].call(this, param);
  7648. }
  7649. });
  7650. return FS.createNode(null, "/", 16384 | 511, 0);
  7651. }),
  7652. createSocket: (function(family, type, protocol) {
  7653. var streaming = type == 1;
  7654. if (protocol) {
  7655. assert(streaming == (protocol == 6));
  7656. }
  7657. var sock = {
  7658. family: family,
  7659. type: type,
  7660. protocol: protocol,
  7661. server: null,
  7662. error: null,
  7663. peers: {},
  7664. pending: [],
  7665. recv_queue: [],
  7666. sock_ops: SOCKFS.websocket_sock_ops
  7667. };
  7668. var name = SOCKFS.nextname();
  7669. var node = FS.createNode(SOCKFS.root, name, 49152, 0);
  7670. node.sock = sock;
  7671. var stream = FS.createStream({
  7672. path: name,
  7673. node: node,
  7674. flags: FS.modeStringToFlags("r+"),
  7675. seekable: false,
  7676. stream_ops: SOCKFS.stream_ops
  7677. });
  7678. sock.stream = stream;
  7679. return sock;
  7680. }),
  7681. getSocket: (function(fd) {
  7682. var stream = FS.getStream(fd);
  7683. if (!stream || !FS.isSocket(stream.node.mode)) {
  7684. return null;
  7685. }
  7686. return stream.node.sock;
  7687. }),
  7688. stream_ops: {
  7689. poll: (function(stream) {
  7690. var sock = stream.node.sock;
  7691. return sock.sock_ops.poll(sock);
  7692. }),
  7693. ioctl: (function(stream, request, varargs) {
  7694. var sock = stream.node.sock;
  7695. return sock.sock_ops.ioctl(sock, request, varargs);
  7696. }),
  7697. read: (function(stream, buffer, offset, length, position) {
  7698. var sock = stream.node.sock;
  7699. var msg = sock.sock_ops.recvmsg(sock, length);
  7700. if (!msg) {
  7701. return 0;
  7702. }
  7703. buffer.set(msg.buffer, offset);
  7704. return msg.buffer.length;
  7705. }),
  7706. write: (function(stream, buffer, offset, length, position) {
  7707. var sock = stream.node.sock;
  7708. return sock.sock_ops.sendmsg(sock, buffer, offset, length);
  7709. }),
  7710. close: (function(stream) {
  7711. var sock = stream.node.sock;
  7712. sock.sock_ops.close(sock);
  7713. })
  7714. },
  7715. nextname: (function() {
  7716. if (!SOCKFS.nextname.current) {
  7717. SOCKFS.nextname.current = 0;
  7718. }
  7719. return "socket[" + SOCKFS.nextname.current++ + "]";
  7720. }),
  7721. websocket_sock_ops: {
  7722. createPeer: (function(sock, addr, port) {
  7723. var ws;
  7724. if (typeof addr === "object") {
  7725. ws = addr;
  7726. addr = null;
  7727. port = null;
  7728. }
  7729. if (ws) {
  7730. if (ws._socket) {
  7731. addr = ws._socket.remoteAddress;
  7732. port = ws._socket.remotePort;
  7733. } else {
  7734. var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);
  7735. if (!result) {
  7736. throw new Error("WebSocket URL must be in the format ws(s)://address:port");
  7737. }
  7738. addr = result[1];
  7739. port = parseInt(result[2], 10);
  7740. }
  7741. } else {
  7742. try {
  7743. var runtimeConfig = Module["websocket"] && "object" === typeof Module["websocket"];
  7744. var url = "ws:#".replace("#", "//");
  7745. if (runtimeConfig) {
  7746. if ("string" === typeof Module["websocket"]["url"]) {
  7747. url = Module["websocket"]["url"];
  7748. }
  7749. }
  7750. if (url === "ws://" || url === "wss://") {
  7751. var parts = addr.split("/");
  7752. url = url + parts[0] + ":" + port + "/" + parts.slice(1).join("/");
  7753. }
  7754. var subProtocols = "binary";
  7755. if (runtimeConfig) {
  7756. if ("string" === typeof Module["websocket"]["subprotocol"]) {
  7757. subProtocols = Module["websocket"]["subprotocol"];
  7758. }
  7759. }
  7760. subProtocols = subProtocols.replace(/^ +| +$/g, "").split(/ *, */);
  7761. var opts = ENVIRONMENT_IS_NODE ? {
  7762. "protocol": subProtocols.toString()
  7763. } : subProtocols;
  7764. if (runtimeConfig && null === Module["websocket"]["subprotocol"]) {
  7765. subProtocols = "null";
  7766. opts = undefined;
  7767. }
  7768. var WebSocketConstructor;
  7769. if (ENVIRONMENT_IS_NODE) {
  7770. WebSocketConstructor = require("ws");
  7771. } else if (ENVIRONMENT_IS_WEB) {
  7772. WebSocketConstructor = window["WebSocket"];
  7773. } else {
  7774. WebSocketConstructor = WebSocket;
  7775. }
  7776. ws = new WebSocketConstructor(url, opts);
  7777. ws.binaryType = "arraybuffer";
  7778. } catch (e) {
  7779. throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH);
  7780. }
  7781. }
  7782. var peer = {
  7783. addr: addr,
  7784. port: port,
  7785. socket: ws,
  7786. dgram_send_queue: []
  7787. };
  7788. SOCKFS.websocket_sock_ops.addPeer(sock, peer);
  7789. SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer);
  7790. if (sock.type === 2 && typeof sock.sport !== "undefined") {
  7791. peer.dgram_send_queue.push(new Uint8Array([ 255, 255, 255, 255, "p".charCodeAt(0), "o".charCodeAt(0), "r".charCodeAt(0), "t".charCodeAt(0), (sock.sport & 65280) >> 8, sock.sport & 255 ]));
  7792. }
  7793. return peer;
  7794. }),
  7795. getPeer: (function(sock, addr, port) {
  7796. return sock.peers[addr + ":" + port];
  7797. }),
  7798. addPeer: (function(sock, peer) {
  7799. sock.peers[peer.addr + ":" + peer.port] = peer;
  7800. }),
  7801. removePeer: (function(sock, peer) {
  7802. delete sock.peers[peer.addr + ":" + peer.port];
  7803. }),
  7804. handlePeerEvents: (function(sock, peer) {
  7805. var first = true;
  7806. var handleOpen = (function() {
  7807. Module["websocket"].emit("open", sock.stream.fd);
  7808. try {
  7809. var queued = peer.dgram_send_queue.shift();
  7810. while (queued) {
  7811. peer.socket.send(queued);
  7812. queued = peer.dgram_send_queue.shift();
  7813. }
  7814. } catch (e) {
  7815. peer.socket.close();
  7816. }
  7817. });
  7818. function handleMessage(data) {
  7819. assert(typeof data !== "string" && data.byteLength !== undefined);
  7820. if (data.byteLength == 0) {
  7821. return;
  7822. }
  7823. data = new Uint8Array(data);
  7824. var wasfirst = first;
  7825. first = false;
  7826. if (wasfirst && data.length === 10 && data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && data[4] === "p".charCodeAt(0) && data[5] === "o".charCodeAt(0) && data[6] === "r".charCodeAt(0) && data[7] === "t".charCodeAt(0)) {
  7827. var newport = data[8] << 8 | data[9];
  7828. SOCKFS.websocket_sock_ops.removePeer(sock, peer);
  7829. peer.port = newport;
  7830. SOCKFS.websocket_sock_ops.addPeer(sock, peer);
  7831. return;
  7832. }
  7833. sock.recv_queue.push({
  7834. addr: peer.addr,
  7835. port: peer.port,
  7836. data: data
  7837. });
  7838. Module["websocket"].emit("message", sock.stream.fd);
  7839. }
  7840. if (ENVIRONMENT_IS_NODE) {
  7841. peer.socket.on("open", handleOpen);
  7842. peer.socket.on("message", (function(data, flags) {
  7843. if (!flags.binary) {
  7844. return;
  7845. }
  7846. handleMessage((new Uint8Array(data)).buffer);
  7847. }));
  7848. peer.socket.on("close", (function() {
  7849. Module["websocket"].emit("close", sock.stream.fd);
  7850. }));
  7851. peer.socket.on("error", (function(error) {
  7852. sock.error = ERRNO_CODES.ECONNREFUSED;
  7853. Module["websocket"].emit("error", [ sock.stream.fd, sock.error, "ECONNREFUSED: Connection refused" ]);
  7854. }));
  7855. } else {
  7856. peer.socket.onopen = handleOpen;
  7857. peer.socket.onclose = (function() {
  7858. Module["websocket"].emit("close", sock.stream.fd);
  7859. });
  7860. peer.socket.onmessage = function peer_socket_onmessage(event) {
  7861. handleMessage(event.data);
  7862. };
  7863. peer.socket.onerror = (function(error) {
  7864. sock.error = ERRNO_CODES.ECONNREFUSED;
  7865. Module["websocket"].emit("error", [ sock.stream.fd, sock.error, "ECONNREFUSED: Connection refused" ]);
  7866. });
  7867. }
  7868. }),
  7869. poll: (function(sock) {
  7870. if (sock.type === 1 && sock.server) {
  7871. return sock.pending.length ? 64 | 1 : 0;
  7872. }
  7873. var mask = 0;
  7874. var dest = sock.type === 1 ? SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : null;
  7875. if (sock.recv_queue.length || !dest || dest && dest.socket.readyState === dest.socket.CLOSING || dest && dest.socket.readyState === dest.socket.CLOSED) {
  7876. mask |= 64 | 1;
  7877. }
  7878. if (!dest || dest && dest.socket.readyState === dest.socket.OPEN) {
  7879. mask |= 4;
  7880. }
  7881. if (dest && dest.socket.readyState === dest.socket.CLOSING || dest && dest.socket.readyState === dest.socket.CLOSED) {
  7882. mask |= 16;
  7883. }
  7884. return mask;
  7885. }),
  7886. ioctl: (function(sock, request, arg) {
  7887. switch (request) {
  7888. case 21531:
  7889. var bytes = 0;
  7890. if (sock.recv_queue.length) {
  7891. bytes = sock.recv_queue[0].data.length;
  7892. }
  7893. HEAP32[arg >> 2] = bytes;
  7894. return 0;
  7895. default:
  7896. return ERRNO_CODES.EINVAL;
  7897. }
  7898. }),
  7899. close: (function(sock) {
  7900. if (sock.server) {
  7901. try {
  7902. sock.server.close();
  7903. } catch (e) {}
  7904. sock.server = null;
  7905. }
  7906. var peers = Object.keys(sock.peers);
  7907. for (var i = 0; i < peers.length; i++) {
  7908. var peer = sock.peers[peers[i]];
  7909. try {
  7910. peer.socket.close();
  7911. } catch (e) {}
  7912. SOCKFS.websocket_sock_ops.removePeer(sock, peer);
  7913. }
  7914. return 0;
  7915. }),
  7916. bind: (function(sock, addr, port) {
  7917. if (typeof sock.saddr !== "undefined" || typeof sock.sport !== "undefined") {
  7918. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  7919. }
  7920. sock.saddr = addr;
  7921. sock.sport = port;
  7922. if (sock.type === 2) {
  7923. if (sock.server) {
  7924. sock.server.close();
  7925. sock.server = null;
  7926. }
  7927. try {
  7928. sock.sock_ops.listen(sock, 0);
  7929. } catch (e) {
  7930. if (!(e instanceof FS.ErrnoError)) throw e;
  7931. if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e;
  7932. }
  7933. }
  7934. }),
  7935. connect: (function(sock, addr, port) {
  7936. if (sock.server) {
  7937. throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
  7938. }
  7939. if (typeof sock.daddr !== "undefined" && typeof sock.dport !== "undefined") {
  7940. var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
  7941. if (dest) {
  7942. if (dest.socket.readyState === dest.socket.CONNECTING) {
  7943. throw new FS.ErrnoError(ERRNO_CODES.EALREADY);
  7944. } else {
  7945. throw new FS.ErrnoError(ERRNO_CODES.EISCONN);
  7946. }
  7947. }
  7948. }
  7949. var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
  7950. sock.daddr = peer.addr;
  7951. sock.dport = peer.port;
  7952. throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS);
  7953. }),
  7954. listen: (function(sock, backlog) {
  7955. if (!ENVIRONMENT_IS_NODE) {
  7956. throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
  7957. }
  7958. if (sock.server) {
  7959. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  7960. }
  7961. var WebSocketServer = require("ws").Server;
  7962. var host = sock.saddr;
  7963. sock.server = new WebSocketServer({
  7964. host: host,
  7965. port: sock.sport
  7966. });
  7967. Module["websocket"].emit("listen", sock.stream.fd);
  7968. sock.server.on("connection", (function(ws) {
  7969. if (sock.type === 1) {
  7970. var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol);
  7971. var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws);
  7972. newsock.daddr = peer.addr;
  7973. newsock.dport = peer.port;
  7974. sock.pending.push(newsock);
  7975. Module["websocket"].emit("connection", newsock.stream.fd);
  7976. } else {
  7977. SOCKFS.websocket_sock_ops.createPeer(sock, ws);
  7978. Module["websocket"].emit("connection", sock.stream.fd);
  7979. }
  7980. }));
  7981. sock.server.on("closed", (function() {
  7982. Module["websocket"].emit("close", sock.stream.fd);
  7983. sock.server = null;
  7984. }));
  7985. sock.server.on("error", (function(error) {
  7986. sock.error = ERRNO_CODES.EHOSTUNREACH;
  7987. Module["websocket"].emit("error", [ sock.stream.fd, sock.error, "EHOSTUNREACH: Host is unreachable" ]);
  7988. }));
  7989. }),
  7990. accept: (function(listensock) {
  7991. if (!listensock.server) {
  7992. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  7993. }
  7994. var newsock = listensock.pending.shift();
  7995. newsock.stream.flags = listensock.stream.flags;
  7996. return newsock;
  7997. }),
  7998. getname: (function(sock, peer) {
  7999. var addr, port;
  8000. if (peer) {
  8001. if (sock.daddr === undefined || sock.dport === undefined) {
  8002. throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
  8003. }
  8004. addr = sock.daddr;
  8005. port = sock.dport;
  8006. } else {
  8007. addr = sock.saddr || 0;
  8008. port = sock.sport || 0;
  8009. }
  8010. return {
  8011. addr: addr,
  8012. port: port
  8013. };
  8014. }),
  8015. sendmsg: (function(sock, buffer, offset, length, addr, port) {
  8016. if (sock.type === 2) {
  8017. if (addr === undefined || port === undefined) {
  8018. addr = sock.daddr;
  8019. port = sock.dport;
  8020. }
  8021. if (addr === undefined || port === undefined) {
  8022. throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ);
  8023. }
  8024. } else {
  8025. addr = sock.daddr;
  8026. port = sock.dport;
  8027. }
  8028. var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port);
  8029. if (sock.type === 1) {
  8030. if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
  8031. throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
  8032. } else if (dest.socket.readyState === dest.socket.CONNECTING) {
  8033. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  8034. }
  8035. }
  8036. if (ArrayBuffer.isView(buffer)) {
  8037. offset += buffer.byteOffset;
  8038. buffer = buffer.buffer;
  8039. }
  8040. var data;
  8041. data = buffer.slice(offset, offset + length);
  8042. if (sock.type === 2) {
  8043. if (!dest || dest.socket.readyState !== dest.socket.OPEN) {
  8044. if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
  8045. dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
  8046. }
  8047. dest.dgram_send_queue.push(data);
  8048. return length;
  8049. }
  8050. }
  8051. try {
  8052. dest.socket.send(data);
  8053. return length;
  8054. } catch (e) {
  8055. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  8056. }
  8057. }),
  8058. recvmsg: (function(sock, length) {
  8059. if (sock.type === 1 && sock.server) {
  8060. throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
  8061. }
  8062. var queued = sock.recv_queue.shift();
  8063. if (!queued) {
  8064. if (sock.type === 1) {
  8065. var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
  8066. if (!dest) {
  8067. throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
  8068. } else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
  8069. return null;
  8070. } else {
  8071. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  8072. }
  8073. } else {
  8074. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  8075. }
  8076. }
  8077. var queuedLength = queued.data.byteLength || queued.data.length;
  8078. var queuedOffset = queued.data.byteOffset || 0;
  8079. var queuedBuffer = queued.data.buffer || queued.data;
  8080. var bytesRead = Math.min(length, queuedLength);
  8081. var res = {
  8082. buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead),
  8083. addr: queued.addr,
  8084. port: queued.port
  8085. };
  8086. if (sock.type === 1 && bytesRead < queuedLength) {
  8087. var bytesRemaining = queuedLength - bytesRead;
  8088. queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining);
  8089. sock.recv_queue.unshift(queued);
  8090. }
  8091. return res;
  8092. })
  8093. }
  8094. };
  8095. function __inet_pton4_raw(str) {
  8096. var b = str.split(".");
  8097. for (var i = 0; i < 4; i++) {
  8098. var tmp = Number(b[i]);
  8099. if (isNaN(tmp)) return null;
  8100. b[i] = tmp;
  8101. }
  8102. return (b[0] | b[1] << 8 | b[2] << 16 | b[3] << 24) >>> 0;
  8103. }
  8104. function __inet_pton6_raw(str) {
  8105. var words;
  8106. var w, offset, z;
  8107. var valid6regx = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;
  8108. var parts = [];
  8109. if (!valid6regx.test(str)) {
  8110. return null;
  8111. }
  8112. if (str === "::") {
  8113. return [ 0, 0, 0, 0, 0, 0, 0, 0 ];
  8114. }
  8115. if (str.indexOf("::") === 0) {
  8116. str = str.replace("::", "Z:");
  8117. } else {
  8118. str = str.replace("::", ":Z:");
  8119. }
  8120. if (str.indexOf(".") > 0) {
  8121. str = str.replace(new RegExp("[.]", "g"), ":");
  8122. words = str.split(":");
  8123. words[words.length - 4] = parseInt(words[words.length - 4]) + parseInt(words[words.length - 3]) * 256;
  8124. words[words.length - 3] = parseInt(words[words.length - 2]) + parseInt(words[words.length - 1]) * 256;
  8125. words = words.slice(0, words.length - 2);
  8126. } else {
  8127. words = str.split(":");
  8128. }
  8129. offset = 0;
  8130. z = 0;
  8131. for (w = 0; w < words.length; w++) {
  8132. if (typeof words[w] === "string") {
  8133. if (words[w] === "Z") {
  8134. for (z = 0; z < 8 - words.length + 1; z++) {
  8135. parts[w + z] = 0;
  8136. }
  8137. offset = z - 1;
  8138. } else {
  8139. parts[w + offset] = _htons(parseInt(words[w], 16));
  8140. }
  8141. } else {
  8142. parts[w + offset] = words[w];
  8143. }
  8144. }
  8145. return [ parts[1] << 16 | parts[0], parts[3] << 16 | parts[2], parts[5] << 16 | parts[4], parts[7] << 16 | parts[6] ];
  8146. }
  8147. var DNS = {
  8148. address_map: {
  8149. id: 1,
  8150. addrs: {},
  8151. names: {}
  8152. },
  8153. lookup_name: (function(name) {
  8154. var res = __inet_pton4_raw(name);
  8155. if (res !== null) {
  8156. return name;
  8157. }
  8158. res = __inet_pton6_raw(name);
  8159. if (res !== null) {
  8160. return name;
  8161. }
  8162. var addr;
  8163. if (DNS.address_map.addrs[name]) {
  8164. addr = DNS.address_map.addrs[name];
  8165. } else {
  8166. var id = DNS.address_map.id++;
  8167. assert(id < 65535, "exceeded max address mappings of 65535");
  8168. addr = "172.29." + (id & 255) + "." + (id & 65280);
  8169. DNS.address_map.names[addr] = name;
  8170. DNS.address_map.addrs[name] = addr;
  8171. }
  8172. return addr;
  8173. }),
  8174. lookup_addr: (function(addr) {
  8175. if (DNS.address_map.names[addr]) {
  8176. return DNS.address_map.names[addr];
  8177. }
  8178. return null;
  8179. })
  8180. };
  8181. function __inet_ntop4_raw(addr) {
  8182. return (addr & 255) + "." + (addr >> 8 & 255) + "." + (addr >> 16 & 255) + "." + (addr >> 24 & 255);
  8183. }
  8184. function __inet_ntop6_raw(ints) {
  8185. var str = "";
  8186. var word = 0;
  8187. var longest = 0;
  8188. var lastzero = 0;
  8189. var zstart = 0;
  8190. var len = 0;
  8191. var i = 0;
  8192. var parts = [ ints[0] & 65535, ints[0] >> 16, ints[1] & 65535, ints[1] >> 16, ints[2] & 65535, ints[2] >> 16, ints[3] & 65535, ints[3] >> 16 ];
  8193. var hasipv4 = true;
  8194. var v4part = "";
  8195. for (i = 0; i < 5; i++) {
  8196. if (parts[i] !== 0) {
  8197. hasipv4 = false;
  8198. break;
  8199. }
  8200. }
  8201. if (hasipv4) {
  8202. v4part = __inet_ntop4_raw(parts[6] | parts[7] << 16);
  8203. if (parts[5] === -1) {
  8204. str = "::ffff:";
  8205. str += v4part;
  8206. return str;
  8207. }
  8208. if (parts[5] === 0) {
  8209. str = "::";
  8210. if (v4part === "0.0.0.0") v4part = "";
  8211. if (v4part === "0.0.0.1") v4part = "1";
  8212. str += v4part;
  8213. return str;
  8214. }
  8215. }
  8216. for (word = 0; word < 8; word++) {
  8217. if (parts[word] === 0) {
  8218. if (word - lastzero > 1) {
  8219. len = 0;
  8220. }
  8221. lastzero = word;
  8222. len++;
  8223. }
  8224. if (len > longest) {
  8225. longest = len;
  8226. zstart = word - longest + 1;
  8227. }
  8228. }
  8229. for (word = 0; word < 8; word++) {
  8230. if (longest > 1) {
  8231. if (parts[word] === 0 && word >= zstart && word < zstart + longest) {
  8232. if (word === zstart) {
  8233. str += ":";
  8234. if (zstart === 0) str += ":";
  8235. }
  8236. continue;
  8237. }
  8238. }
  8239. str += Number(_ntohs(parts[word] & 65535)).toString(16);
  8240. str += word < 7 ? ":" : "";
  8241. }
  8242. return str;
  8243. }
  8244. function __read_sockaddr(sa, salen) {
  8245. var family = HEAP16[sa >> 1];
  8246. var port = _ntohs(HEAP16[sa + 2 >> 1]);
  8247. var addr;
  8248. switch (family) {
  8249. case 2:
  8250. if (salen !== 16) {
  8251. return {
  8252. errno: ERRNO_CODES.EINVAL
  8253. };
  8254. }
  8255. addr = HEAP32[sa + 4 >> 2];
  8256. addr = __inet_ntop4_raw(addr);
  8257. break;
  8258. case 10:
  8259. if (salen !== 28) {
  8260. return {
  8261. errno: ERRNO_CODES.EINVAL
  8262. };
  8263. }
  8264. addr = [ HEAP32[sa + 8 >> 2], HEAP32[sa + 12 >> 2], HEAP32[sa + 16 >> 2], HEAP32[sa + 20 >> 2] ];
  8265. addr = __inet_ntop6_raw(addr);
  8266. break;
  8267. default:
  8268. return {
  8269. errno: ERRNO_CODES.EAFNOSUPPORT
  8270. };
  8271. }
  8272. return {
  8273. family: family,
  8274. addr: addr,
  8275. port: port
  8276. };
  8277. }
  8278. function __write_sockaddr(sa, family, addr, port) {
  8279. switch (family) {
  8280. case 2:
  8281. addr = __inet_pton4_raw(addr);
  8282. HEAP16[sa >> 1] = family;
  8283. HEAP32[sa + 4 >> 2] = addr;
  8284. HEAP16[sa + 2 >> 1] = _htons(port);
  8285. break;
  8286. case 10:
  8287. addr = __inet_pton6_raw(addr);
  8288. HEAP32[sa >> 2] = family;
  8289. HEAP32[sa + 8 >> 2] = addr[0];
  8290. HEAP32[sa + 12 >> 2] = addr[1];
  8291. HEAP32[sa + 16 >> 2] = addr[2];
  8292. HEAP32[sa + 20 >> 2] = addr[3];
  8293. HEAP16[sa + 2 >> 1] = _htons(port);
  8294. HEAP32[sa + 4 >> 2] = 0;
  8295. HEAP32[sa + 24 >> 2] = 0;
  8296. break;
  8297. default:
  8298. return {
  8299. errno: ERRNO_CODES.EAFNOSUPPORT
  8300. };
  8301. }
  8302. return {};
  8303. }
  8304. function ___syscall102(which, varargs) {
  8305. SYSCALLS.varargs = varargs;
  8306. try {
  8307. var call = SYSCALLS.get(), socketvararg = SYSCALLS.get();
  8308. SYSCALLS.varargs = socketvararg;
  8309. switch (call) {
  8310. case 1:
  8311. {
  8312. var domain = SYSCALLS.get(), type = SYSCALLS.get(), protocol = SYSCALLS.get();
  8313. var sock = SOCKFS.createSocket(domain, type, protocol);
  8314. assert(sock.stream.fd < 64);
  8315. return sock.stream.fd;
  8316. }
  8317. case 2:
  8318. {
  8319. var sock = SYSCALLS.getSocketFromFD(), info = SYSCALLS.getSocketAddress();
  8320. sock.sock_ops.bind(sock, info.addr, info.port);
  8321. return 0;
  8322. }
  8323. case 3:
  8324. {
  8325. var sock = SYSCALLS.getSocketFromFD(), info = SYSCALLS.getSocketAddress();
  8326. sock.sock_ops.connect(sock, info.addr, info.port);
  8327. return 0;
  8328. }
  8329. case 4:
  8330. {
  8331. var sock = SYSCALLS.getSocketFromFD(), backlog = SYSCALLS.get();
  8332. sock.sock_ops.listen(sock, backlog);
  8333. return 0;
  8334. }
  8335. case 5:
  8336. {
  8337. var sock = SYSCALLS.getSocketFromFD(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get();
  8338. var newsock = sock.sock_ops.accept(sock);
  8339. if (addr) {
  8340. var res = __write_sockaddr(addr, newsock.family, DNS.lookup_name(newsock.daddr), newsock.dport);
  8341. assert(!res.errno);
  8342. }
  8343. return newsock.stream.fd;
  8344. }
  8345. case 6:
  8346. {
  8347. var sock = SYSCALLS.getSocketFromFD(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get();
  8348. var res = __write_sockaddr(addr, sock.family, DNS.lookup_name(sock.saddr || "0.0.0.0"), sock.sport);
  8349. assert(!res.errno);
  8350. return 0;
  8351. }
  8352. case 7:
  8353. {
  8354. var sock = SYSCALLS.getSocketFromFD(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get();
  8355. if (!sock.daddr) {
  8356. return -ERRNO_CODES.ENOTCONN;
  8357. }
  8358. var res = __write_sockaddr(addr, sock.family, DNS.lookup_name(sock.daddr), sock.dport);
  8359. assert(!res.errno);
  8360. return 0;
  8361. }
  8362. case 11:
  8363. {
  8364. var sock = SYSCALLS.getSocketFromFD(), message = SYSCALLS.get(), length = SYSCALLS.get(), flags = SYSCALLS.get(), dest = SYSCALLS.getSocketAddress(true);
  8365. if (!dest) {
  8366. return FS.write(sock.stream, HEAP8, message, length);
  8367. } else {
  8368. return sock.sock_ops.sendmsg(sock, HEAP8, message, length, dest.addr, dest.port);
  8369. }
  8370. }
  8371. case 12:
  8372. {
  8373. var sock = SYSCALLS.getSocketFromFD(), buf = SYSCALLS.get(), len = SYSCALLS.get(), flags = SYSCALLS.get(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get();
  8374. var msg = sock.sock_ops.recvmsg(sock, len);
  8375. if (!msg) return 0;
  8376. if (addr) {
  8377. var res = __write_sockaddr(addr, sock.family, DNS.lookup_name(msg.addr), msg.port);
  8378. assert(!res.errno);
  8379. }
  8380. HEAPU8.set(msg.buffer, buf);
  8381. return msg.buffer.byteLength;
  8382. }
  8383. case 14:
  8384. {
  8385. return -ERRNO_CODES.ENOPROTOOPT;
  8386. }
  8387. case 15:
  8388. {
  8389. var sock = SYSCALLS.getSocketFromFD(), level = SYSCALLS.get(), optname = SYSCALLS.get(), optval = SYSCALLS.get(), optlen = SYSCALLS.get();
  8390. if (level === 1) {
  8391. if (optname === 4) {
  8392. HEAP32[optval >> 2] = sock.error;
  8393. HEAP32[optlen >> 2] = 4;
  8394. sock.error = null;
  8395. return 0;
  8396. }
  8397. }
  8398. return -ERRNO_CODES.ENOPROTOOPT;
  8399. }
  8400. case 16:
  8401. {
  8402. var sock = SYSCALLS.getSocketFromFD(), message = SYSCALLS.get(), flags = SYSCALLS.get();
  8403. var iov = HEAP32[message + 8 >> 2];
  8404. var num = HEAP32[message + 12 >> 2];
  8405. var addr, port;
  8406. var name = HEAP32[message >> 2];
  8407. var namelen = HEAP32[message + 4 >> 2];
  8408. if (name) {
  8409. var info = __read_sockaddr(name, namelen);
  8410. if (info.errno) return -info.errno;
  8411. port = info.port;
  8412. addr = DNS.lookup_addr(info.addr) || info.addr;
  8413. }
  8414. var total = 0;
  8415. for (var i = 0; i < num; i++) {
  8416. total += HEAP32[iov + (8 * i + 4) >> 2];
  8417. }
  8418. var view = new Uint8Array(total);
  8419. var offset = 0;
  8420. for (var i = 0; i < num; i++) {
  8421. var iovbase = HEAP32[iov + (8 * i + 0) >> 2];
  8422. var iovlen = HEAP32[iov + (8 * i + 4) >> 2];
  8423. for (var j = 0; j < iovlen; j++) {
  8424. view[offset++] = HEAP8[iovbase + j >> 0];
  8425. }
  8426. }
  8427. return sock.sock_ops.sendmsg(sock, view, 0, total, addr, port);
  8428. }
  8429. case 17:
  8430. {
  8431. var sock = SYSCALLS.getSocketFromFD(), message = SYSCALLS.get(), flags = SYSCALLS.get();
  8432. var iov = HEAP32[message + 8 >> 2];
  8433. var num = HEAP32[message + 12 >> 2];
  8434. var total = 0;
  8435. for (var i = 0; i < num; i++) {
  8436. total += HEAP32[iov + (8 * i + 4) >> 2];
  8437. }
  8438. var msg = sock.sock_ops.recvmsg(sock, total);
  8439. if (!msg) return 0;
  8440. var name = HEAP32[message >> 2];
  8441. if (name) {
  8442. var res = __write_sockaddr(name, sock.family, DNS.lookup_name(msg.addr), msg.port);
  8443. assert(!res.errno);
  8444. }
  8445. var bytesRead = 0;
  8446. var bytesRemaining = msg.buffer.byteLength;
  8447. for (var i = 0; bytesRemaining > 0 && i < num; i++) {
  8448. var iovbase = HEAP32[iov + (8 * i + 0) >> 2];
  8449. var iovlen = HEAP32[iov + (8 * i + 4) >> 2];
  8450. if (!iovlen) {
  8451. continue;
  8452. }
  8453. var length = Math.min(iovlen, bytesRemaining);
  8454. var buf = msg.buffer.subarray(bytesRead, bytesRead + length);
  8455. HEAPU8.set(buf, iovbase + bytesRead);
  8456. bytesRead += length;
  8457. bytesRemaining -= length;
  8458. }
  8459. return bytesRead;
  8460. }
  8461. default:
  8462. abort("unsupported socketcall syscall " + call);
  8463. }
  8464. } catch (e) {
  8465. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8466. return -e.errno;
  8467. }
  8468. }
  8469. function ___syscall122(which, varargs) {
  8470. SYSCALLS.varargs = varargs;
  8471. try {
  8472. var buf = SYSCALLS.get();
  8473. if (!buf) return -ERRNO_CODES.EFAULT;
  8474. var layout = {
  8475. "sysname": 0,
  8476. "nodename": 65,
  8477. "domainname": 325,
  8478. "machine": 260,
  8479. "version": 195,
  8480. "release": 130,
  8481. "__size__": 390
  8482. };
  8483. function copyString(element, value) {
  8484. var offset = layout[element];
  8485. writeAsciiToMemory(value, buf + offset);
  8486. }
  8487. copyString("sysname", "Emscripten");
  8488. copyString("nodename", "emscripten");
  8489. copyString("release", "1.0");
  8490. copyString("version", "#1");
  8491. copyString("machine", "x86-JS");
  8492. return 0;
  8493. } catch (e) {
  8494. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8495. return -e.errno;
  8496. }
  8497. }
  8498. function ___syscall140(which, varargs) {
  8499. SYSCALLS.varargs = varargs;
  8500. try {
  8501. var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
  8502. var offset = offset_low;
  8503. FS.llseek(stream, offset, whence);
  8504. HEAP32[result >> 2] = stream.position;
  8505. if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
  8506. return 0;
  8507. } catch (e) {
  8508. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8509. return -e.errno;
  8510. }
  8511. }
  8512. function ___syscall142(which, varargs) {
  8513. SYSCALLS.varargs = varargs;
  8514. try {
  8515. var nfds = SYSCALLS.get(), readfds = SYSCALLS.get(), writefds = SYSCALLS.get(), exceptfds = SYSCALLS.get(), timeout = SYSCALLS.get();
  8516. assert(nfds <= 64, "nfds must be less than or equal to 64");
  8517. assert(!exceptfds, "exceptfds not supported");
  8518. var total = 0;
  8519. var srcReadLow = readfds ? HEAP32[readfds >> 2] : 0, srcReadHigh = readfds ? HEAP32[readfds + 4 >> 2] : 0;
  8520. var srcWriteLow = writefds ? HEAP32[writefds >> 2] : 0, srcWriteHigh = writefds ? HEAP32[writefds + 4 >> 2] : 0;
  8521. var srcExceptLow = exceptfds ? HEAP32[exceptfds >> 2] : 0, srcExceptHigh = exceptfds ? HEAP32[exceptfds + 4 >> 2] : 0;
  8522. var dstReadLow = 0, dstReadHigh = 0;
  8523. var dstWriteLow = 0, dstWriteHigh = 0;
  8524. var dstExceptLow = 0, dstExceptHigh = 0;
  8525. var allLow = (readfds ? HEAP32[readfds >> 2] : 0) | (writefds ? HEAP32[writefds >> 2] : 0) | (exceptfds ? HEAP32[exceptfds >> 2] : 0);
  8526. var allHigh = (readfds ? HEAP32[readfds + 4 >> 2] : 0) | (writefds ? HEAP32[writefds + 4 >> 2] : 0) | (exceptfds ? HEAP32[exceptfds + 4 >> 2] : 0);
  8527. function check(fd, low, high, val) {
  8528. return fd < 32 ? low & val : high & val;
  8529. }
  8530. for (var fd = 0; fd < nfds; fd++) {
  8531. var mask = 1 << fd % 32;
  8532. if (!check(fd, allLow, allHigh, mask)) {
  8533. continue;
  8534. }
  8535. var stream = FS.getStream(fd);
  8536. if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  8537. var flags = SYSCALLS.DEFAULT_POLLMASK;
  8538. if (stream.stream_ops.poll) {
  8539. flags = stream.stream_ops.poll(stream);
  8540. }
  8541. if (flags & 1 && check(fd, srcReadLow, srcReadHigh, mask)) {
  8542. fd < 32 ? dstReadLow = dstReadLow | mask : dstReadHigh = dstReadHigh | mask;
  8543. total++;
  8544. }
  8545. if (flags & 4 && check(fd, srcWriteLow, srcWriteHigh, mask)) {
  8546. fd < 32 ? dstWriteLow = dstWriteLow | mask : dstWriteHigh = dstWriteHigh | mask;
  8547. total++;
  8548. }
  8549. if (flags & 2 && check(fd, srcExceptLow, srcExceptHigh, mask)) {
  8550. fd < 32 ? dstExceptLow = dstExceptLow | mask : dstExceptHigh = dstExceptHigh | mask;
  8551. total++;
  8552. }
  8553. }
  8554. if (readfds) {
  8555. HEAP32[readfds >> 2] = dstReadLow;
  8556. HEAP32[readfds + 4 >> 2] = dstReadHigh;
  8557. }
  8558. if (writefds) {
  8559. HEAP32[writefds >> 2] = dstWriteLow;
  8560. HEAP32[writefds + 4 >> 2] = dstWriteHigh;
  8561. }
  8562. if (exceptfds) {
  8563. HEAP32[exceptfds >> 2] = dstExceptLow;
  8564. HEAP32[exceptfds + 4 >> 2] = dstExceptHigh;
  8565. }
  8566. return total;
  8567. } catch (e) {
  8568. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8569. return -e.errno;
  8570. }
  8571. }
  8572. function ___syscall145(which, varargs) {
  8573. SYSCALLS.varargs = varargs;
  8574. try {
  8575. var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
  8576. return SYSCALLS.doReadv(stream, iov, iovcnt);
  8577. } catch (e) {
  8578. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8579. return -e.errno;
  8580. }
  8581. }
  8582. function ___syscall146(which, varargs) {
  8583. SYSCALLS.varargs = varargs;
  8584. try {
  8585. var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
  8586. return SYSCALLS.doWritev(stream, iov, iovcnt);
  8587. } catch (e) {
  8588. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8589. return -e.errno;
  8590. }
  8591. }
  8592. function ___syscall15(which, varargs) {
  8593. SYSCALLS.varargs = varargs;
  8594. try {
  8595. var path = SYSCALLS.getStr(), mode = SYSCALLS.get();
  8596. FS.chmod(path, mode);
  8597. return 0;
  8598. } catch (e) {
  8599. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8600. return -e.errno;
  8601. }
  8602. }
  8603. function ___syscall183(which, varargs) {
  8604. SYSCALLS.varargs = varargs;
  8605. try {
  8606. var buf = SYSCALLS.get(), size = SYSCALLS.get();
  8607. if (size === 0) return -ERRNO_CODES.EINVAL;
  8608. var cwd = FS.cwd();
  8609. var cwdLengthInBytes = lengthBytesUTF8(cwd);
  8610. if (size < cwdLengthInBytes + 1) return -ERRNO_CODES.ERANGE;
  8611. stringToUTF8(cwd, buf, size);
  8612. return buf;
  8613. } catch (e) {
  8614. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8615. return -e.errno;
  8616. }
  8617. }
  8618. function ___syscall192(which, varargs) {
  8619. SYSCALLS.varargs = varargs;
  8620. try {
  8621. var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get();
  8622. off <<= 12;
  8623. var ptr;
  8624. var allocated = false;
  8625. if (fd === -1) {
  8626. ptr = _memalign(PAGE_SIZE, len);
  8627. if (!ptr) return -ERRNO_CODES.ENOMEM;
  8628. _memset(ptr, 0, len);
  8629. allocated = true;
  8630. } else {
  8631. var info = FS.getStream(fd);
  8632. if (!info) return -ERRNO_CODES.EBADF;
  8633. var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags);
  8634. ptr = res.ptr;
  8635. allocated = res.allocated;
  8636. }
  8637. SYSCALLS.mappings[ptr] = {
  8638. malloc: ptr,
  8639. len: len,
  8640. allocated: allocated,
  8641. fd: fd,
  8642. flags: flags
  8643. };
  8644. return ptr;
  8645. } catch (e) {
  8646. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8647. return -e.errno;
  8648. }
  8649. }
  8650. function ___syscall193(which, varargs) {
  8651. SYSCALLS.varargs = varargs;
  8652. try {
  8653. var path = SYSCALLS.getStr(), zero = SYSCALLS.getZero(), length = SYSCALLS.get64();
  8654. FS.truncate(path, length);
  8655. return 0;
  8656. } catch (e) {
  8657. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8658. return -e.errno;
  8659. }
  8660. }
  8661. function ___syscall195(which, varargs) {
  8662. SYSCALLS.varargs = varargs;
  8663. try {
  8664. var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
  8665. return SYSCALLS.doStat(FS.stat, path, buf);
  8666. } catch (e) {
  8667. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8668. return -e.errno;
  8669. }
  8670. }
  8671. function ___syscall196(which, varargs) {
  8672. SYSCALLS.varargs = varargs;
  8673. try {
  8674. var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
  8675. return SYSCALLS.doStat(FS.lstat, path, buf);
  8676. } catch (e) {
  8677. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8678. return -e.errno;
  8679. }
  8680. }
  8681. function ___syscall197(which, varargs) {
  8682. SYSCALLS.varargs = varargs;
  8683. try {
  8684. var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get();
  8685. return SYSCALLS.doStat(FS.stat, stream.path, buf);
  8686. } catch (e) {
  8687. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8688. return -e.errno;
  8689. }
  8690. }
  8691. function ___syscall202(which, varargs) {
  8692. SYSCALLS.varargs = varargs;
  8693. try {
  8694. return 0;
  8695. } catch (e) {
  8696. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8697. return -e.errno;
  8698. }
  8699. }
  8700. function ___syscall199() {
  8701. return ___syscall202.apply(null, arguments);
  8702. }
  8703. function ___syscall220(which, varargs) {
  8704. SYSCALLS.varargs = varargs;
  8705. try {
  8706. var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get();
  8707. if (!stream.getdents) {
  8708. stream.getdents = FS.readdir(stream.path);
  8709. }
  8710. var pos = 0;
  8711. while (stream.getdents.length > 0 && pos + 268 <= count) {
  8712. var id;
  8713. var type;
  8714. var name = stream.getdents.pop();
  8715. if (name[0] === ".") {
  8716. id = 1;
  8717. type = 4;
  8718. } else {
  8719. var child = FS.lookupNode(stream.node, name);
  8720. id = child.id;
  8721. type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;
  8722. }
  8723. HEAP32[dirp + pos >> 2] = id;
  8724. HEAP32[dirp + pos + 4 >> 2] = stream.position;
  8725. HEAP16[dirp + pos + 8 >> 1] = 268;
  8726. HEAP8[dirp + pos + 10 >> 0] = type;
  8727. stringToUTF8(name, dirp + pos + 11, 256);
  8728. pos += 268;
  8729. }
  8730. return pos;
  8731. } catch (e) {
  8732. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8733. return -e.errno;
  8734. }
  8735. }
  8736. function ___syscall221(which, varargs) {
  8737. SYSCALLS.varargs = varargs;
  8738. try {
  8739. var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
  8740. switch (cmd) {
  8741. case 0:
  8742. {
  8743. var arg = SYSCALLS.get();
  8744. if (arg < 0) {
  8745. return -ERRNO_CODES.EINVAL;
  8746. }
  8747. var newStream;
  8748. newStream = FS.open(stream.path, stream.flags, 0, arg);
  8749. return newStream.fd;
  8750. }
  8751. case 1:
  8752. case 2:
  8753. return 0;
  8754. case 3:
  8755. return stream.flags;
  8756. case 4:
  8757. {
  8758. var arg = SYSCALLS.get();
  8759. stream.flags |= arg;
  8760. return 0;
  8761. }
  8762. case 12:
  8763. case 12:
  8764. {
  8765. var arg = SYSCALLS.get();
  8766. var offset = 0;
  8767. HEAP16[arg + offset >> 1] = 2;
  8768. return 0;
  8769. }
  8770. case 13:
  8771. case 14:
  8772. case 13:
  8773. case 14:
  8774. return 0;
  8775. case 16:
  8776. case 8:
  8777. return -ERRNO_CODES.EINVAL;
  8778. case 9:
  8779. ___setErrNo(ERRNO_CODES.EINVAL);
  8780. return -1;
  8781. default:
  8782. {
  8783. return -ERRNO_CODES.EINVAL;
  8784. }
  8785. }
  8786. } catch (e) {
  8787. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8788. return -e.errno;
  8789. }
  8790. }
  8791. function ___syscall268(which, varargs) {
  8792. SYSCALLS.varargs = varargs;
  8793. try {
  8794. var path = SYSCALLS.getStr(), size = SYSCALLS.get(), buf = SYSCALLS.get();
  8795. assert(size === 64);
  8796. HEAP32[buf + 4 >> 2] = 4096;
  8797. HEAP32[buf + 40 >> 2] = 4096;
  8798. HEAP32[buf + 8 >> 2] = 1e6;
  8799. HEAP32[buf + 12 >> 2] = 5e5;
  8800. HEAP32[buf + 16 >> 2] = 5e5;
  8801. HEAP32[buf + 20 >> 2] = FS.nextInode;
  8802. HEAP32[buf + 24 >> 2] = 1e6;
  8803. HEAP32[buf + 28 >> 2] = 42;
  8804. HEAP32[buf + 44 >> 2] = 2;
  8805. HEAP32[buf + 36 >> 2] = 255;
  8806. return 0;
  8807. } catch (e) {
  8808. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8809. return -e.errno;
  8810. }
  8811. }
  8812. function ___syscall3(which, varargs) {
  8813. SYSCALLS.varargs = varargs;
  8814. try {
  8815. var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
  8816. return FS.read(stream, HEAP8, buf, count);
  8817. } catch (e) {
  8818. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8819. return -e.errno;
  8820. }
  8821. }
  8822. function ___syscall33(which, varargs) {
  8823. SYSCALLS.varargs = varargs;
  8824. try {
  8825. var path = SYSCALLS.getStr(), amode = SYSCALLS.get();
  8826. return SYSCALLS.doAccess(path, amode);
  8827. } catch (e) {
  8828. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8829. return -e.errno;
  8830. }
  8831. }
  8832. function ___syscall38(which, varargs) {
  8833. SYSCALLS.varargs = varargs;
  8834. try {
  8835. var old_path = SYSCALLS.getStr(), new_path = SYSCALLS.getStr();
  8836. FS.rename(old_path, new_path);
  8837. return 0;
  8838. } catch (e) {
  8839. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8840. return -e.errno;
  8841. }
  8842. }
  8843. function ___syscall39(which, varargs) {
  8844. SYSCALLS.varargs = varargs;
  8845. try {
  8846. var path = SYSCALLS.getStr(), mode = SYSCALLS.get();
  8847. return SYSCALLS.doMkdir(path, mode);
  8848. } catch (e) {
  8849. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8850. return -e.errno;
  8851. }
  8852. }
  8853. function ___syscall4(which, varargs) {
  8854. SYSCALLS.varargs = varargs;
  8855. try {
  8856. var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
  8857. return FS.write(stream, HEAP8, buf, count);
  8858. } catch (e) {
  8859. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8860. return -e.errno;
  8861. }
  8862. }
  8863. function ___syscall40(which, varargs) {
  8864. SYSCALLS.varargs = varargs;
  8865. try {
  8866. var path = SYSCALLS.getStr();
  8867. FS.rmdir(path);
  8868. return 0;
  8869. } catch (e) {
  8870. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8871. return -e.errno;
  8872. }
  8873. }
  8874. function ___syscall5(which, varargs) {
  8875. SYSCALLS.varargs = varargs;
  8876. try {
  8877. var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get();
  8878. var stream = FS.open(pathname, flags, mode);
  8879. return stream.fd;
  8880. } catch (e) {
  8881. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8882. return -e.errno;
  8883. }
  8884. }
  8885. function ___syscall54(which, varargs) {
  8886. SYSCALLS.varargs = varargs;
  8887. try {
  8888. var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
  8889. switch (op) {
  8890. case 21509:
  8891. case 21505:
  8892. {
  8893. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  8894. return 0;
  8895. }
  8896. case 21510:
  8897. case 21511:
  8898. case 21512:
  8899. case 21506:
  8900. case 21507:
  8901. case 21508:
  8902. {
  8903. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  8904. return 0;
  8905. }
  8906. case 21519:
  8907. {
  8908. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  8909. var argp = SYSCALLS.get();
  8910. HEAP32[argp >> 2] = 0;
  8911. return 0;
  8912. }
  8913. case 21520:
  8914. {
  8915. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  8916. return -ERRNO_CODES.EINVAL;
  8917. }
  8918. case 21531:
  8919. {
  8920. var argp = SYSCALLS.get();
  8921. return FS.ioctl(stream, op, argp);
  8922. }
  8923. case 21523:
  8924. {
  8925. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  8926. return 0;
  8927. }
  8928. case 21524:
  8929. {
  8930. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  8931. return 0;
  8932. }
  8933. default:
  8934. abort("bad ioctl syscall " + op);
  8935. }
  8936. } catch (e) {
  8937. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8938. return -e.errno;
  8939. }
  8940. }
  8941. function ___syscall6(which, varargs) {
  8942. SYSCALLS.varargs = varargs;
  8943. try {
  8944. var stream = SYSCALLS.getStreamFromFD();
  8945. FS.close(stream);
  8946. return 0;
  8947. } catch (e) {
  8948. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8949. return -e.errno;
  8950. }
  8951. }
  8952. function ___syscall77(which, varargs) {
  8953. SYSCALLS.varargs = varargs;
  8954. try {
  8955. var who = SYSCALLS.get(), usage = SYSCALLS.get();
  8956. _memset(usage, 0, 136);
  8957. HEAP32[usage >> 2] = 1;
  8958. HEAP32[usage + 4 >> 2] = 2;
  8959. HEAP32[usage + 8 >> 2] = 3;
  8960. HEAP32[usage + 12 >> 2] = 4;
  8961. return 0;
  8962. } catch (e) {
  8963. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8964. return -e.errno;
  8965. }
  8966. }
  8967. function ___syscall85(which, varargs) {
  8968. SYSCALLS.varargs = varargs;
  8969. try {
  8970. var path = SYSCALLS.getStr(), buf = SYSCALLS.get(), bufsize = SYSCALLS.get();
  8971. return SYSCALLS.doReadlink(path, buf, bufsize);
  8972. } catch (e) {
  8973. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8974. return -e.errno;
  8975. }
  8976. }
  8977. function ___syscall9(which, varargs) {
  8978. SYSCALLS.varargs = varargs;
  8979. try {
  8980. var oldpath = SYSCALLS.get(), newpath = SYSCALLS.get();
  8981. return -ERRNO_CODES.EMLINK;
  8982. } catch (e) {
  8983. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  8984. return -e.errno;
  8985. }
  8986. }
  8987. function ___syscall91(which, varargs) {
  8988. SYSCALLS.varargs = varargs;
  8989. try {
  8990. var addr = SYSCALLS.get(), len = SYSCALLS.get();
  8991. var info = SYSCALLS.mappings[addr];
  8992. if (!info) return 0;
  8993. if (len === info.len) {
  8994. var stream = FS.getStream(info.fd);
  8995. SYSCALLS.doMsync(addr, stream, len, info.flags);
  8996. FS.munmap(stream);
  8997. SYSCALLS.mappings[addr] = null;
  8998. if (info.allocated) {
  8999. _free(info.malloc);
  9000. }
  9001. }
  9002. return 0;
  9003. } catch (e) {
  9004. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  9005. return -e.errno;
  9006. }
  9007. }
  9008. function ___unlock() {}
  9009. function _abort() {
  9010. Module["abort"]();
  9011. }
  9012. function _atexit(func, arg) {
  9013. warnOnce("atexit() called, but NO_EXIT_RUNTIME is set, so atexits() will not be called. set NO_EXIT_RUNTIME to 0 (see the FAQ)");
  9014. __ATEXIT__.unshift({
  9015. func: func,
  9016. arg: arg
  9017. });
  9018. }
  9019. function _clock() {
  9020. if (_clock.start === undefined) _clock.start = Date.now();
  9021. return (Date.now() - _clock.start) * (1e6 / 1e3) | 0;
  9022. }
  9023. function _emscripten_get_now_res() {
  9024. if (ENVIRONMENT_IS_NODE) {
  9025. return 1;
  9026. } else if (typeof dateNow !== "undefined" || (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) {
  9027. return 1e3;
  9028. } else {
  9029. return 1e3 * 1e3;
  9030. }
  9031. }
  9032. function _emscripten_get_now() {
  9033. abort();
  9034. }
  9035. function _emscripten_get_now_is_monotonic() {
  9036. return ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"];
  9037. }
  9038. function _clock_getres(clk_id, res) {
  9039. var nsec;
  9040. if (clk_id === 0) {
  9041. nsec = 1e3 * 1e3;
  9042. } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) {
  9043. nsec = _emscripten_get_now_res();
  9044. } else {
  9045. ___setErrNo(ERRNO_CODES.EINVAL);
  9046. return -1;
  9047. }
  9048. HEAP32[res >> 2] = nsec / 1e9 | 0;
  9049. HEAP32[res + 4 >> 2] = nsec;
  9050. return 0;
  9051. }
  9052. function _clock_gettime(clk_id, tp) {
  9053. var now;
  9054. if (clk_id === 0) {
  9055. now = Date.now();
  9056. } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) {
  9057. now = _emscripten_get_now();
  9058. } else {
  9059. ___setErrNo(ERRNO_CODES.EINVAL);
  9060. return -1;
  9061. }
  9062. HEAP32[tp >> 2] = now / 1e3 | 0;
  9063. HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0;
  9064. return 0;
  9065. }
  9066. function _difftime(time1, time0) {
  9067. return time1 - time0;
  9068. }
  9069. var DLFCN = {
  9070. error: null,
  9071. errorMsg: null,
  9072. loadedLibs: {},
  9073. loadedLibNames: {}
  9074. };
  9075. function _dlclose(handle) {
  9076. if (!DLFCN.loadedLibs[handle]) {
  9077. DLFCN.errorMsg = "Tried to dlclose() unopened handle: " + handle;
  9078. return 1;
  9079. } else {
  9080. var lib_record = DLFCN.loadedLibs[handle];
  9081. if (--lib_record.refcount == 0) {
  9082. if (lib_record.module.cleanups) {
  9083. lib_record.module.cleanups.forEach((function(cleanup) {
  9084. cleanup();
  9085. }));
  9086. }
  9087. delete DLFCN.loadedLibNames[lib_record.name];
  9088. delete DLFCN.loadedLibs[handle];
  9089. }
  9090. return 0;
  9091. }
  9092. }
  9093. function _dlopen(filename, flag) {
  9094. abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/kripken/emscripten/wiki/Linking");
  9095. var searchpaths = [];
  9096. if (filename === 0) {
  9097. filename = "__self__";
  9098. } else {
  9099. var strfilename = Pointer_stringify(filename);
  9100. var isValidFile = (function(filename) {
  9101. var target = FS.findObject(filename);
  9102. return target && !target.isFolder && !target.isDevice;
  9103. });
  9104. if (isValidFile(strfilename)) {
  9105. filename = strfilename;
  9106. } else {
  9107. if (ENV["LD_LIBRARY_PATH"]) {
  9108. searchpaths = ENV["LD_LIBRARY_PATH"].split(":");
  9109. }
  9110. for (var ident in searchpaths) {
  9111. var searchfile = PATH.join2(searchpaths[ident], strfilename);
  9112. if (isValidFile(searchfile)) {
  9113. filename = searchfile;
  9114. break;
  9115. }
  9116. }
  9117. }
  9118. }
  9119. if (DLFCN.loadedLibNames[filename]) {
  9120. var handle = DLFCN.loadedLibNames[filename];
  9121. DLFCN.loadedLibs[handle].refcount++;
  9122. return handle;
  9123. }
  9124. var lib_module;
  9125. if (filename === "__self__") {
  9126. var handle = -1;
  9127. lib_module = Module;
  9128. } else {
  9129. if (Module["preloadedWasm"] !== undefined && Module["preloadedWasm"][filename] !== undefined) {
  9130. lib_module = Module["preloadedWasm"][filename];
  9131. } else {
  9132. var target = FS.findObject(filename);
  9133. if (!target || target.isFolder || target.isDevice) {
  9134. DLFCN.errorMsg = "Could not find dynamic lib: " + filename;
  9135. return 0;
  9136. }
  9137. FS.forceLoadFile(target);
  9138. try {
  9139. var lib_data = FS.readFile(filename, {
  9140. encoding: "binary"
  9141. });
  9142. if (!(lib_data instanceof Uint8Array)) lib_data = new Uint8Array(lib_data);
  9143. lib_module = loadWebAssemblyModule(lib_data);
  9144. } catch (e) {
  9145. err("Error in loading dynamic library: " + e);
  9146. DLFCN.errorMsg = "Could not evaluate dynamic lib: " + filename + "\n" + e;
  9147. return 0;
  9148. }
  9149. }
  9150. var handle = 1;
  9151. for (var key in DLFCN.loadedLibs) {
  9152. if (DLFCN.loadedLibs.hasOwnProperty(key)) handle++;
  9153. }
  9154. if (flag & 256) {
  9155. for (var ident in lib_module) {
  9156. if (lib_module.hasOwnProperty(ident)) {
  9157. if (ident[0] == "_") {
  9158. Module[ident] = lib_module[ident];
  9159. }
  9160. }
  9161. }
  9162. }
  9163. }
  9164. DLFCN.loadedLibs[handle] = {
  9165. refcount: 1,
  9166. name: filename,
  9167. module: lib_module
  9168. };
  9169. DLFCN.loadedLibNames[filename] = handle;
  9170. return handle;
  9171. }
  9172. function _dlsym(handle, symbol) {
  9173. symbol = Pointer_stringify(symbol);
  9174. if (!DLFCN.loadedLibs[handle]) {
  9175. DLFCN.errorMsg = "Tried to dlsym() from an unopened handle: " + handle;
  9176. return 0;
  9177. } else {
  9178. var lib = DLFCN.loadedLibs[handle];
  9179. symbol = "_" + symbol;
  9180. if (!lib.module.hasOwnProperty(symbol)) {
  9181. DLFCN.errorMsg = 'Tried to lookup unknown symbol "' + symbol + '" in dynamic lib: ' + lib.name;
  9182. return 0;
  9183. } else {
  9184. var result = lib.module[symbol];
  9185. if (typeof result === "function") {
  9186. return addFunction(result);
  9187. }
  9188. return result;
  9189. }
  9190. }
  9191. }
  9192. function _emscripten_set_main_loop_timing(mode, value) {
  9193. Browser.mainLoop.timingMode = mode;
  9194. Browser.mainLoop.timingValue = value;
  9195. if (!Browser.mainLoop.func) {
  9196. console.error("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");
  9197. return 1;
  9198. }
  9199. if (mode == 0) {
  9200. Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
  9201. var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0;
  9202. setTimeout(Browser.mainLoop.runner, timeUntilNextTick);
  9203. };
  9204. Browser.mainLoop.method = "timeout";
  9205. } else if (mode == 1) {
  9206. Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
  9207. Browser.requestAnimationFrame(Browser.mainLoop.runner);
  9208. };
  9209. Browser.mainLoop.method = "rAF";
  9210. } else if (mode == 2) {
  9211. if (typeof setImmediate === "undefined") {
  9212. var setImmediates = [];
  9213. var emscriptenMainLoopMessageId = "setimmediate";
  9214. function Browser_setImmediate_messageHandler(event) {
  9215. if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
  9216. event.stopPropagation();
  9217. setImmediates.shift()();
  9218. }
  9219. }
  9220. addEventListener("message", Browser_setImmediate_messageHandler, true);
  9221. setImmediate = function Browser_emulated_setImmediate(func) {
  9222. setImmediates.push(func);
  9223. if (ENVIRONMENT_IS_WORKER) {
  9224. if (Module["setImmediates"] === undefined) Module["setImmediates"] = [];
  9225. Module["setImmediates"].push(func);
  9226. postMessage({
  9227. target: emscriptenMainLoopMessageId
  9228. });
  9229. } else postMessage(emscriptenMainLoopMessageId, "*");
  9230. };
  9231. }
  9232. Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
  9233. setImmediate(Browser.mainLoop.runner);
  9234. };
  9235. Browser.mainLoop.method = "immediate";
  9236. }
  9237. return 0;
  9238. }
  9239. function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
  9240. Module["noExitRuntime"] = true;
  9241. assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
  9242. Browser.mainLoop.func = func;
  9243. Browser.mainLoop.arg = arg;
  9244. var browserIterationFunc;
  9245. if (typeof arg !== "undefined") {
  9246. browserIterationFunc = (function() {
  9247. Module["dynCall_vi"](func, arg);
  9248. });
  9249. } else {
  9250. browserIterationFunc = (function() {
  9251. Module["dynCall_v"](func);
  9252. });
  9253. }
  9254. var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
  9255. Browser.mainLoop.runner = function Browser_mainLoop_runner() {
  9256. if (ABORT) return;
  9257. if (Browser.mainLoop.queue.length > 0) {
  9258. var start = Date.now();
  9259. var blocker = Browser.mainLoop.queue.shift();
  9260. blocker.func(blocker.arg);
  9261. if (Browser.mainLoop.remainingBlockers) {
  9262. var remaining = Browser.mainLoop.remainingBlockers;
  9263. var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
  9264. if (blocker.counted) {
  9265. Browser.mainLoop.remainingBlockers = next;
  9266. } else {
  9267. next = next + .5;
  9268. Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
  9269. }
  9270. }
  9271. console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
  9272. Browser.mainLoop.updateStatus();
  9273. if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
  9274. setTimeout(Browser.mainLoop.runner, 0);
  9275. return;
  9276. }
  9277. if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
  9278. Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
  9279. if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
  9280. Browser.mainLoop.scheduler();
  9281. return;
  9282. } else if (Browser.mainLoop.timingMode == 0) {
  9283. Browser.mainLoop.tickStartTime = _emscripten_get_now();
  9284. }
  9285. if (Browser.mainLoop.method === "timeout" && Module.ctx) {
  9286. err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");
  9287. Browser.mainLoop.method = "";
  9288. }
  9289. Browser.mainLoop.runIter(browserIterationFunc);
  9290. checkStackCookie();
  9291. if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
  9292. if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
  9293. Browser.mainLoop.scheduler();
  9294. };
  9295. if (!noSetTiming) {
  9296. if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
  9297. Browser.mainLoop.scheduler();
  9298. }
  9299. if (simulateInfiniteLoop) {
  9300. throw "SimulateInfiniteLoop";
  9301. }
  9302. }
  9303. var Browser = {
  9304. mainLoop: {
  9305. scheduler: null,
  9306. method: "",
  9307. currentlyRunningMainloop: 0,
  9308. func: null,
  9309. arg: 0,
  9310. timingMode: 0,
  9311. timingValue: 0,
  9312. currentFrameNumber: 0,
  9313. queue: [],
  9314. pause: (function() {
  9315. Browser.mainLoop.scheduler = null;
  9316. Browser.mainLoop.currentlyRunningMainloop++;
  9317. }),
  9318. resume: (function() {
  9319. Browser.mainLoop.currentlyRunningMainloop++;
  9320. var timingMode = Browser.mainLoop.timingMode;
  9321. var timingValue = Browser.mainLoop.timingValue;
  9322. var func = Browser.mainLoop.func;
  9323. Browser.mainLoop.func = null;
  9324. _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true);
  9325. _emscripten_set_main_loop_timing(timingMode, timingValue);
  9326. Browser.mainLoop.scheduler();
  9327. }),
  9328. updateStatus: (function() {
  9329. if (Module["setStatus"]) {
  9330. var message = Module["statusMessage"] || "Please wait...";
  9331. var remaining = Browser.mainLoop.remainingBlockers;
  9332. var expected = Browser.mainLoop.expectedBlockers;
  9333. if (remaining) {
  9334. if (remaining < expected) {
  9335. Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")");
  9336. } else {
  9337. Module["setStatus"](message);
  9338. }
  9339. } else {
  9340. Module["setStatus"]("");
  9341. }
  9342. }
  9343. }),
  9344. runIter: (function(func) {
  9345. if (ABORT) return;
  9346. if (Module["preMainLoop"]) {
  9347. var preRet = Module["preMainLoop"]();
  9348. if (preRet === false) {
  9349. return;
  9350. }
  9351. }
  9352. try {
  9353. func();
  9354. } catch (e) {
  9355. if (e instanceof ExitStatus) {
  9356. return;
  9357. } else {
  9358. if (e && typeof e === "object" && e.stack) err("exception thrown: " + [ e, e.stack ]);
  9359. throw e;
  9360. }
  9361. }
  9362. if (Module["postMainLoop"]) Module["postMainLoop"]();
  9363. })
  9364. },
  9365. isFullscreen: false,
  9366. pointerLock: false,
  9367. moduleContextCreatedCallbacks: [],
  9368. workers: [],
  9369. init: (function() {
  9370. if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
  9371. if (Browser.initted) return;
  9372. Browser.initted = true;
  9373. try {
  9374. new Blob;
  9375. Browser.hasBlobConstructor = true;
  9376. } catch (e) {
  9377. Browser.hasBlobConstructor = false;
  9378. console.log("warning: no blob constructor, cannot create blobs with mimetypes");
  9379. }
  9380. Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null;
  9381. Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined;
  9382. if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") {
  9383. console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
  9384. Module.noImageDecoding = true;
  9385. }
  9386. var imagePlugin = {};
  9387. imagePlugin["canHandle"] = function imagePlugin_canHandle(name) {
  9388. return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
  9389. };
  9390. imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) {
  9391. var b = null;
  9392. if (Browser.hasBlobConstructor) {
  9393. try {
  9394. b = new Blob([ byteArray ], {
  9395. type: Browser.getMimetype(name)
  9396. });
  9397. if (b.size !== byteArray.length) {
  9398. b = new Blob([ (new Uint8Array(byteArray)).buffer ], {
  9399. type: Browser.getMimetype(name)
  9400. });
  9401. }
  9402. } catch (e) {
  9403. warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder");
  9404. }
  9405. }
  9406. if (!b) {
  9407. var bb = new Browser.BlobBuilder;
  9408. bb.append((new Uint8Array(byteArray)).buffer);
  9409. b = bb.getBlob();
  9410. }
  9411. var url = Browser.URLObject.createObjectURL(b);
  9412. assert(typeof url == "string", "createObjectURL must return a url as a string");
  9413. var img = new Image;
  9414. img.onload = function img_onload() {
  9415. assert(img.complete, "Image " + name + " could not be decoded");
  9416. var canvas = document.createElement("canvas");
  9417. canvas.width = img.width;
  9418. canvas.height = img.height;
  9419. var ctx = canvas.getContext("2d");
  9420. ctx.drawImage(img, 0, 0);
  9421. Module["preloadedImages"][name] = canvas;
  9422. Browser.URLObject.revokeObjectURL(url);
  9423. if (onload) onload(byteArray);
  9424. };
  9425. img.onerror = function img_onerror(event) {
  9426. console.log("Image " + url + " could not be decoded");
  9427. if (onerror) onerror();
  9428. };
  9429. img.src = url;
  9430. };
  9431. Module["preloadPlugins"].push(imagePlugin);
  9432. var audioPlugin = {};
  9433. audioPlugin["canHandle"] = function audioPlugin_canHandle(name) {
  9434. return !Module.noAudioDecoding && name.substr(-4) in {
  9435. ".ogg": 1,
  9436. ".wav": 1,
  9437. ".mp3": 1
  9438. };
  9439. };
  9440. audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) {
  9441. var done = false;
  9442. function finish(audio) {
  9443. if (done) return;
  9444. done = true;
  9445. Module["preloadedAudios"][name] = audio;
  9446. if (onload) onload(byteArray);
  9447. }
  9448. function fail() {
  9449. if (done) return;
  9450. done = true;
  9451. Module["preloadedAudios"][name] = new Audio;
  9452. if (onerror) onerror();
  9453. }
  9454. if (Browser.hasBlobConstructor) {
  9455. try {
  9456. var b = new Blob([ byteArray ], {
  9457. type: Browser.getMimetype(name)
  9458. });
  9459. } catch (e) {
  9460. return fail();
  9461. }
  9462. var url = Browser.URLObject.createObjectURL(b);
  9463. assert(typeof url == "string", "createObjectURL must return a url as a string");
  9464. var audio = new Audio;
  9465. audio.addEventListener("canplaythrough", (function() {
  9466. finish(audio);
  9467. }), false);
  9468. audio.onerror = function audio_onerror(event) {
  9469. if (done) return;
  9470. console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach");
  9471. function encode64(data) {
  9472. var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  9473. var PAD = "=";
  9474. var ret = "";
  9475. var leftchar = 0;
  9476. var leftbits = 0;
  9477. for (var i = 0; i < data.length; i++) {
  9478. leftchar = leftchar << 8 | data[i];
  9479. leftbits += 8;
  9480. while (leftbits >= 6) {
  9481. var curr = leftchar >> leftbits - 6 & 63;
  9482. leftbits -= 6;
  9483. ret += BASE[curr];
  9484. }
  9485. }
  9486. if (leftbits == 2) {
  9487. ret += BASE[(leftchar & 3) << 4];
  9488. ret += PAD + PAD;
  9489. } else if (leftbits == 4) {
  9490. ret += BASE[(leftchar & 15) << 2];
  9491. ret += PAD;
  9492. }
  9493. return ret;
  9494. }
  9495. audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
  9496. finish(audio);
  9497. };
  9498. audio.src = url;
  9499. Browser.safeSetTimeout((function() {
  9500. finish(audio);
  9501. }), 1e4);
  9502. } else {
  9503. return fail();
  9504. }
  9505. };
  9506. Module["preloadPlugins"].push(audioPlugin);
  9507. function pointerLockChange() {
  9508. Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"];
  9509. }
  9510. var canvas = Module["canvas"];
  9511. if (canvas) {
  9512. canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || (function() {});
  9513. canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || (function() {});
  9514. canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
  9515. document.addEventListener("pointerlockchange", pointerLockChange, false);
  9516. document.addEventListener("mozpointerlockchange", pointerLockChange, false);
  9517. document.addEventListener("webkitpointerlockchange", pointerLockChange, false);
  9518. document.addEventListener("mspointerlockchange", pointerLockChange, false);
  9519. if (Module["elementPointerLock"]) {
  9520. canvas.addEventListener("click", (function(ev) {
  9521. if (!Browser.pointerLock && Module["canvas"].requestPointerLock) {
  9522. Module["canvas"].requestPointerLock();
  9523. ev.preventDefault();
  9524. }
  9525. }), false);
  9526. }
  9527. }
  9528. }),
  9529. createContext: (function(canvas, useWebGL, setInModule, webGLContextAttributes) {
  9530. if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx;
  9531. var ctx;
  9532. var contextHandle;
  9533. if (useWebGL) {
  9534. var contextAttributes = {
  9535. antialias: false,
  9536. alpha: false
  9537. };
  9538. if (webGLContextAttributes) {
  9539. for (var attribute in webGLContextAttributes) {
  9540. contextAttributes[attribute] = webGLContextAttributes[attribute];
  9541. }
  9542. }
  9543. contextHandle = GL.createContext(canvas, contextAttributes);
  9544. if (contextHandle) {
  9545. ctx = GL.getContext(contextHandle).GLctx;
  9546. }
  9547. } else {
  9548. ctx = canvas.getContext("2d");
  9549. }
  9550. if (!ctx) return null;
  9551. if (setInModule) {
  9552. if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it");
  9553. Module.ctx = ctx;
  9554. if (useWebGL) GL.makeContextCurrent(contextHandle);
  9555. Module.useWebGL = useWebGL;
  9556. Browser.moduleContextCreatedCallbacks.forEach((function(callback) {
  9557. callback();
  9558. }));
  9559. Browser.init();
  9560. }
  9561. return ctx;
  9562. }),
  9563. destroyContext: (function(canvas, useWebGL, setInModule) {}),
  9564. fullscreenHandlersInstalled: false,
  9565. lockPointer: undefined,
  9566. resizeCanvas: undefined,
  9567. requestFullscreen: (function(lockPointer, resizeCanvas, vrDevice) {
  9568. Browser.lockPointer = lockPointer;
  9569. Browser.resizeCanvas = resizeCanvas;
  9570. Browser.vrDevice = vrDevice;
  9571. if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = true;
  9572. if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false;
  9573. if (typeof Browser.vrDevice === "undefined") Browser.vrDevice = null;
  9574. var canvas = Module["canvas"];
  9575. function fullscreenChange() {
  9576. Browser.isFullscreen = false;
  9577. var canvasContainer = canvas.parentNode;
  9578. if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) {
  9579. canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || (function() {});
  9580. canvas.exitFullscreen = canvas.exitFullscreen.bind(document);
  9581. if (Browser.lockPointer) canvas.requestPointerLock();
  9582. Browser.isFullscreen = true;
  9583. if (Browser.resizeCanvas) {
  9584. Browser.setFullscreenCanvasSize();
  9585. } else {
  9586. Browser.updateCanvasDimensions(canvas);
  9587. }
  9588. } else {
  9589. canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
  9590. canvasContainer.parentNode.removeChild(canvasContainer);
  9591. if (Browser.resizeCanvas) {
  9592. Browser.setWindowedCanvasSize();
  9593. } else {
  9594. Browser.updateCanvasDimensions(canvas);
  9595. }
  9596. }
  9597. if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen);
  9598. if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen);
  9599. }
  9600. if (!Browser.fullscreenHandlersInstalled) {
  9601. Browser.fullscreenHandlersInstalled = true;
  9602. document.addEventListener("fullscreenchange", fullscreenChange, false);
  9603. document.addEventListener("mozfullscreenchange", fullscreenChange, false);
  9604. document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
  9605. document.addEventListener("MSFullscreenChange", fullscreenChange, false);
  9606. }
  9607. var canvasContainer = document.createElement("div");
  9608. canvas.parentNode.insertBefore(canvasContainer, canvas);
  9609. canvasContainer.appendChild(canvas);
  9610. canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? (function() {
  9611. canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]);
  9612. }) : null) || (canvasContainer["webkitRequestFullScreen"] ? (function() {
  9613. canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]);
  9614. }) : null);
  9615. if (vrDevice) {
  9616. canvasContainer.requestFullscreen({
  9617. vrDisplay: vrDevice
  9618. });
  9619. } else {
  9620. canvasContainer.requestFullscreen();
  9621. }
  9622. }),
  9623. requestFullScreen: (function(lockPointer, resizeCanvas, vrDevice) {
  9624. err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");
  9625. Browser.requestFullScreen = (function(lockPointer, resizeCanvas, vrDevice) {
  9626. return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
  9627. });
  9628. return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
  9629. }),
  9630. nextRAF: 0,
  9631. fakeRequestAnimationFrame: (function(func) {
  9632. var now = Date.now();
  9633. if (Browser.nextRAF === 0) {
  9634. Browser.nextRAF = now + 1e3 / 60;
  9635. } else {
  9636. while (now + 2 >= Browser.nextRAF) {
  9637. Browser.nextRAF += 1e3 / 60;
  9638. }
  9639. }
  9640. var delay = Math.max(Browser.nextRAF - now, 0);
  9641. setTimeout(func, delay);
  9642. }),
  9643. requestAnimationFrame: function requestAnimationFrame(func) {
  9644. if (typeof window === "undefined") {
  9645. Browser.fakeRequestAnimationFrame(func);
  9646. } else {
  9647. if (!window.requestAnimationFrame) {
  9648. window.requestAnimationFrame = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || Browser.fakeRequestAnimationFrame;
  9649. }
  9650. window.requestAnimationFrame(func);
  9651. }
  9652. },
  9653. safeCallback: (function(func) {
  9654. return (function() {
  9655. if (!ABORT) return func.apply(null, arguments);
  9656. });
  9657. }),
  9658. allowAsyncCallbacks: true,
  9659. queuedAsyncCallbacks: [],
  9660. pauseAsyncCallbacks: (function() {
  9661. Browser.allowAsyncCallbacks = false;
  9662. }),
  9663. resumeAsyncCallbacks: (function() {
  9664. Browser.allowAsyncCallbacks = true;
  9665. if (Browser.queuedAsyncCallbacks.length > 0) {
  9666. var callbacks = Browser.queuedAsyncCallbacks;
  9667. Browser.queuedAsyncCallbacks = [];
  9668. callbacks.forEach((function(func) {
  9669. func();
  9670. }));
  9671. }
  9672. }),
  9673. safeRequestAnimationFrame: (function(func) {
  9674. return Browser.requestAnimationFrame((function() {
  9675. if (ABORT) return;
  9676. if (Browser.allowAsyncCallbacks) {
  9677. func();
  9678. } else {
  9679. Browser.queuedAsyncCallbacks.push(func);
  9680. }
  9681. }));
  9682. }),
  9683. safeSetTimeout: (function(func, timeout) {
  9684. Module["noExitRuntime"] = true;
  9685. return setTimeout((function() {
  9686. if (ABORT) return;
  9687. if (Browser.allowAsyncCallbacks) {
  9688. func();
  9689. } else {
  9690. Browser.queuedAsyncCallbacks.push(func);
  9691. }
  9692. }), timeout);
  9693. }),
  9694. safeSetInterval: (function(func, timeout) {
  9695. Module["noExitRuntime"] = true;
  9696. return setInterval((function() {
  9697. if (ABORT) return;
  9698. if (Browser.allowAsyncCallbacks) {
  9699. func();
  9700. }
  9701. }), timeout);
  9702. }),
  9703. getMimetype: (function(name) {
  9704. return {
  9705. "jpg": "image/jpeg",
  9706. "jpeg": "image/jpeg",
  9707. "png": "image/png",
  9708. "bmp": "image/bmp",
  9709. "ogg": "audio/ogg",
  9710. "wav": "audio/wav",
  9711. "mp3": "audio/mpeg"
  9712. }[name.substr(name.lastIndexOf(".") + 1)];
  9713. }),
  9714. getUserMedia: (function(func) {
  9715. if (!window.getUserMedia) {
  9716. window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"];
  9717. }
  9718. window.getUserMedia(func);
  9719. }),
  9720. getMovementX: (function(event) {
  9721. return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
  9722. }),
  9723. getMovementY: (function(event) {
  9724. return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
  9725. }),
  9726. getMouseWheelDelta: (function(event) {
  9727. var delta = 0;
  9728. switch (event.type) {
  9729. case "DOMMouseScroll":
  9730. delta = event.detail;
  9731. break;
  9732. case "mousewheel":
  9733. delta = event.wheelDelta;
  9734. break;
  9735. case "wheel":
  9736. delta = event["deltaY"];
  9737. break;
  9738. default:
  9739. throw "unrecognized mouse wheel event: " + event.type;
  9740. }
  9741. return delta;
  9742. }),
  9743. mouseX: 0,
  9744. mouseY: 0,
  9745. mouseMovementX: 0,
  9746. mouseMovementY: 0,
  9747. touches: {},
  9748. lastTouches: {},
  9749. calculateMouseEvent: (function(event) {
  9750. if (Browser.pointerLock) {
  9751. if (event.type != "mousemove" && "mozMovementX" in event) {
  9752. Browser.mouseMovementX = Browser.mouseMovementY = 0;
  9753. } else {
  9754. Browser.mouseMovementX = Browser.getMovementX(event);
  9755. Browser.mouseMovementY = Browser.getMovementY(event);
  9756. }
  9757. if (typeof SDL != "undefined") {
  9758. Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
  9759. Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
  9760. } else {
  9761. Browser.mouseX += Browser.mouseMovementX;
  9762. Browser.mouseY += Browser.mouseMovementY;
  9763. }
  9764. } else {
  9765. var rect = Module["canvas"].getBoundingClientRect();
  9766. var cw = Module["canvas"].width;
  9767. var ch = Module["canvas"].height;
  9768. var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
  9769. var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
  9770. assert(typeof scrollX !== "undefined" && typeof scrollY !== "undefined", "Unable to retrieve scroll position, mouse positions likely broken.");
  9771. if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
  9772. var touch = event.touch;
  9773. if (touch === undefined) {
  9774. return;
  9775. }
  9776. var adjustedX = touch.pageX - (scrollX + rect.left);
  9777. var adjustedY = touch.pageY - (scrollY + rect.top);
  9778. adjustedX = adjustedX * (cw / rect.width);
  9779. adjustedY = adjustedY * (ch / rect.height);
  9780. var coords = {
  9781. x: adjustedX,
  9782. y: adjustedY
  9783. };
  9784. if (event.type === "touchstart") {
  9785. Browser.lastTouches[touch.identifier] = coords;
  9786. Browser.touches[touch.identifier] = coords;
  9787. } else if (event.type === "touchend" || event.type === "touchmove") {
  9788. var last = Browser.touches[touch.identifier];
  9789. if (!last) last = coords;
  9790. Browser.lastTouches[touch.identifier] = last;
  9791. Browser.touches[touch.identifier] = coords;
  9792. }
  9793. return;
  9794. }
  9795. var x = event.pageX - (scrollX + rect.left);
  9796. var y = event.pageY - (scrollY + rect.top);
  9797. x = x * (cw / rect.width);
  9798. y = y * (ch / rect.height);
  9799. Browser.mouseMovementX = x - Browser.mouseX;
  9800. Browser.mouseMovementY = y - Browser.mouseY;
  9801. Browser.mouseX = x;
  9802. Browser.mouseY = y;
  9803. }
  9804. }),
  9805. asyncLoad: (function(url, onload, onerror, noRunDep) {
  9806. var dep = !noRunDep ? getUniqueRunDependency("al " + url) : "";
  9807. Module["readAsync"](url, (function(arrayBuffer) {
  9808. assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
  9809. onload(new Uint8Array(arrayBuffer));
  9810. if (dep) removeRunDependency(dep);
  9811. }), (function(event) {
  9812. if (onerror) {
  9813. onerror();
  9814. } else {
  9815. throw 'Loading data file "' + url + '" failed.';
  9816. }
  9817. }));
  9818. if (dep) addRunDependency(dep);
  9819. }),
  9820. resizeListeners: [],
  9821. updateResizeListeners: (function() {
  9822. var canvas = Module["canvas"];
  9823. Browser.resizeListeners.forEach((function(listener) {
  9824. listener(canvas.width, canvas.height);
  9825. }));
  9826. }),
  9827. setCanvasSize: (function(width, height, noUpdates) {
  9828. var canvas = Module["canvas"];
  9829. Browser.updateCanvasDimensions(canvas, width, height);
  9830. if (!noUpdates) Browser.updateResizeListeners();
  9831. }),
  9832. windowedWidth: 0,
  9833. windowedHeight: 0,
  9834. setFullscreenCanvasSize: (function() {
  9835. if (typeof SDL != "undefined") {
  9836. var flags = HEAPU32[SDL.screen >> 2];
  9837. flags = flags | 8388608;
  9838. HEAP32[SDL.screen >> 2] = flags;
  9839. }
  9840. Browser.updateCanvasDimensions(Module["canvas"]);
  9841. Browser.updateResizeListeners();
  9842. }),
  9843. setWindowedCanvasSize: (function() {
  9844. if (typeof SDL != "undefined") {
  9845. var flags = HEAPU32[SDL.screen >> 2];
  9846. flags = flags & ~8388608;
  9847. HEAP32[SDL.screen >> 2] = flags;
  9848. }
  9849. Browser.updateCanvasDimensions(Module["canvas"]);
  9850. Browser.updateResizeListeners();
  9851. }),
  9852. updateCanvasDimensions: (function(canvas, wNative, hNative) {
  9853. if (wNative && hNative) {
  9854. canvas.widthNative = wNative;
  9855. canvas.heightNative = hNative;
  9856. } else {
  9857. wNative = canvas.widthNative;
  9858. hNative = canvas.heightNative;
  9859. }
  9860. var w = wNative;
  9861. var h = hNative;
  9862. if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) {
  9863. if (w / h < Module["forcedAspectRatio"]) {
  9864. w = Math.round(h * Module["forcedAspectRatio"]);
  9865. } else {
  9866. h = Math.round(w / Module["forcedAspectRatio"]);
  9867. }
  9868. }
  9869. if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") {
  9870. var factor = Math.min(screen.width / w, screen.height / h);
  9871. w = Math.round(w * factor);
  9872. h = Math.round(h * factor);
  9873. }
  9874. if (Browser.resizeCanvas) {
  9875. if (canvas.width != w) canvas.width = w;
  9876. if (canvas.height != h) canvas.height = h;
  9877. if (typeof canvas.style != "undefined") {
  9878. canvas.style.removeProperty("width");
  9879. canvas.style.removeProperty("height");
  9880. }
  9881. } else {
  9882. if (canvas.width != wNative) canvas.width = wNative;
  9883. if (canvas.height != hNative) canvas.height = hNative;
  9884. if (typeof canvas.style != "undefined") {
  9885. if (w != wNative || h != hNative) {
  9886. canvas.style.setProperty("width", w + "px", "important");
  9887. canvas.style.setProperty("height", h + "px", "important");
  9888. } else {
  9889. canvas.style.removeProperty("width");
  9890. canvas.style.removeProperty("height");
  9891. }
  9892. }
  9893. }
  9894. }),
  9895. wgetRequests: {},
  9896. nextWgetRequestHandle: 0,
  9897. getNextWgetRequestHandle: (function() {
  9898. var handle = Browser.nextWgetRequestHandle;
  9899. Browser.nextWgetRequestHandle++;
  9900. return handle;
  9901. })
  9902. };
  9903. function _emscripten_cancel_main_loop() {
  9904. Browser.mainLoop.pause();
  9905. Browser.mainLoop.func = null;
  9906. }
  9907. function _emscripten_set_canvas_element_size(target, width, height) {
  9908. var canvas = JSEvents.findCanvasEventTarget(target);
  9909. if (!canvas) return -4;
  9910. canvas.width = width;
  9911. canvas.height = height;
  9912. return 0;
  9913. }
  9914. function emscripten_set_canvas_element_size_js(target, width, height) {
  9915. if (typeof target === "string") {
  9916. var stackTop = stackSave();
  9917. var targetInt = stackAlloc(target.length + 1);
  9918. stringToUTF8(target, targetInt, target.length + 1);
  9919. var ret = _emscripten_set_canvas_element_size(targetInt, width, height);
  9920. stackRestore(stackTop);
  9921. return ret;
  9922. } else {
  9923. return _emscripten_set_canvas_element_size(target, width, height);
  9924. }
  9925. }
  9926. function _emscripten_get_canvas_element_size_calling_thread(target, width, height) {
  9927. var canvas = JSEvents.findCanvasEventTarget(target);
  9928. if (!canvas) return -4;
  9929. if (canvas.canvasSharedPtr) {
  9930. var w = HEAP32[canvas.canvasSharedPtr >> 2];
  9931. var h = HEAP32[canvas.canvasSharedPtr + 4 >> 2];
  9932. HEAP32[width >> 2] = w;
  9933. HEAP32[height >> 2] = h;
  9934. } else if (canvas.offscreenCanvas) {
  9935. HEAP32[width >> 2] = canvas.offscreenCanvas.width;
  9936. HEAP32[height >> 2] = canvas.offscreenCanvas.height;
  9937. } else if (!canvas.controlTransferredOffscreen) {
  9938. HEAP32[width >> 2] = canvas.width;
  9939. HEAP32[height >> 2] = canvas.height;
  9940. } else {
  9941. return -4;
  9942. }
  9943. return 0;
  9944. }
  9945. function _emscripten_get_canvas_element_size_main_thread(target, width, height) {
  9946. return _emscripten_get_canvas_element_size_calling_thread(target, width, height);
  9947. }
  9948. function _emscripten_get_canvas_element_size(target, width, height) {
  9949. var canvas = JSEvents.findCanvasEventTarget(target);
  9950. if (canvas) return _emscripten_get_canvas_element_size_calling_thread(target, width, height); else return _emscripten_get_canvas_element_size_main_thread(target, width, height);
  9951. }
  9952. function emscripten_get_canvas_element_size_js(target) {
  9953. var stackTop = stackSave();
  9954. var w = stackAlloc(8);
  9955. var h = w + 4;
  9956. if (typeof target === "string") {
  9957. var targetInt = stackAlloc(target.length + 1);
  9958. stringToUTF8(target, targetInt, target.length + 1);
  9959. target = targetInt;
  9960. }
  9961. var ret = _emscripten_get_canvas_element_size(target, w, h);
  9962. var size = [ HEAP32[w >> 2], HEAP32[h >> 2] ];
  9963. stackRestore(stackTop);
  9964. return size;
  9965. }
  9966. var JSEvents = {
  9967. keyEvent: 0,
  9968. mouseEvent: 0,
  9969. wheelEvent: 0,
  9970. uiEvent: 0,
  9971. focusEvent: 0,
  9972. deviceOrientationEvent: 0,
  9973. deviceMotionEvent: 0,
  9974. fullscreenChangeEvent: 0,
  9975. pointerlockChangeEvent: 0,
  9976. visibilityChangeEvent: 0,
  9977. touchEvent: 0,
  9978. lastGamepadState: null,
  9979. lastGamepadStateFrame: null,
  9980. numGamepadsConnected: 0,
  9981. previousFullscreenElement: null,
  9982. previousScreenX: null,
  9983. previousScreenY: null,
  9984. removeEventListenersRegistered: false,
  9985. _onGamepadConnected: (function() {
  9986. ++JSEvents.numGamepadsConnected;
  9987. }),
  9988. _onGamepadDisconnected: (function() {
  9989. --JSEvents.numGamepadsConnected;
  9990. }),
  9991. staticInit: (function() {
  9992. if (typeof window !== "undefined") {
  9993. window.addEventListener("gamepadconnected", JSEvents._onGamepadConnected);
  9994. window.addEventListener("gamepaddisconnected", JSEvents._onGamepadDisconnected);
  9995. var firstState = navigator.getGamepads ? navigator.getGamepads() : navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null;
  9996. if (firstState) {
  9997. JSEvents.numGamepadsConnected = firstState.length;
  9998. }
  9999. }
  10000. }),
  10001. removeAllEventListeners: (function() {
  10002. for (var i = JSEvents.eventHandlers.length - 1; i >= 0; --i) {
  10003. JSEvents._removeHandler(i);
  10004. }
  10005. JSEvents.eventHandlers = [];
  10006. JSEvents.deferredCalls = [];
  10007. window.removeEventListener("gamepadconnected", JSEvents._onGamepadConnected);
  10008. window.removeEventListener("gamepaddisconnected", JSEvents._onGamepadDisconnected);
  10009. }),
  10010. registerRemoveEventListeners: (function() {
  10011. if (!JSEvents.removeEventListenersRegistered) {
  10012. __ATEXIT__.push(JSEvents.removeAllEventListeners);
  10013. JSEvents.removeEventListenersRegistered = true;
  10014. }
  10015. }),
  10016. findEventTarget: (function(target) {
  10017. try {
  10018. if (!target) return window;
  10019. if (typeof target === "number") target = Pointer_stringify(target);
  10020. if (target === "#window") return window; else if (target === "#document") return document; else if (target === "#screen") return window.screen; else if (target === "#canvas") return Module["canvas"];
  10021. return typeof target === "string" ? document.getElementById(target) : target;
  10022. } catch (e) {
  10023. return null;
  10024. }
  10025. }),
  10026. findCanvasEventTarget: (function(target) {
  10027. if (typeof target === "number") target = Pointer_stringify(target);
  10028. if (!target || target === "#canvas") {
  10029. if (typeof GL !== "undefined" && GL.offscreenCanvases["canvas"]) return GL.offscreenCanvases["canvas"];
  10030. return Module["canvas"];
  10031. }
  10032. if (typeof GL !== "undefined" && GL.offscreenCanvases[target]) return GL.offscreenCanvases[target];
  10033. return JSEvents.findEventTarget(target);
  10034. }),
  10035. deferredCalls: [],
  10036. deferCall: (function(targetFunction, precedence, argsList) {
  10037. function arraysHaveEqualContent(arrA, arrB) {
  10038. if (arrA.length != arrB.length) return false;
  10039. for (var i in arrA) {
  10040. if (arrA[i] != arrB[i]) return false;
  10041. }
  10042. return true;
  10043. }
  10044. for (var i in JSEvents.deferredCalls) {
  10045. var call = JSEvents.deferredCalls[i];
  10046. if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) {
  10047. return;
  10048. }
  10049. }
  10050. JSEvents.deferredCalls.push({
  10051. targetFunction: targetFunction,
  10052. precedence: precedence,
  10053. argsList: argsList
  10054. });
  10055. JSEvents.deferredCalls.sort((function(x, y) {
  10056. return x.precedence < y.precedence;
  10057. }));
  10058. }),
  10059. removeDeferredCalls: (function(targetFunction) {
  10060. for (var i = 0; i < JSEvents.deferredCalls.length; ++i) {
  10061. if (JSEvents.deferredCalls[i].targetFunction == targetFunction) {
  10062. JSEvents.deferredCalls.splice(i, 1);
  10063. --i;
  10064. }
  10065. }
  10066. }),
  10067. canPerformEventHandlerRequests: (function() {
  10068. return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls;
  10069. }),
  10070. runDeferredCalls: (function() {
  10071. if (!JSEvents.canPerformEventHandlerRequests()) {
  10072. return;
  10073. }
  10074. for (var i = 0; i < JSEvents.deferredCalls.length; ++i) {
  10075. var call = JSEvents.deferredCalls[i];
  10076. JSEvents.deferredCalls.splice(i, 1);
  10077. --i;
  10078. call.targetFunction.apply(this, call.argsList);
  10079. }
  10080. }),
  10081. inEventHandler: 0,
  10082. currentEventHandler: null,
  10083. eventHandlers: [],
  10084. isInternetExplorer: (function() {
  10085. return navigator.userAgent.indexOf("MSIE") !== -1 || navigator.appVersion.indexOf("Trident/") > 0;
  10086. }),
  10087. removeAllHandlersOnTarget: (function(target, eventTypeString) {
  10088. for (var i = 0; i < JSEvents.eventHandlers.length; ++i) {
  10089. if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) {
  10090. JSEvents._removeHandler(i--);
  10091. }
  10092. }
  10093. }),
  10094. _removeHandler: (function(i) {
  10095. var h = JSEvents.eventHandlers[i];
  10096. h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture);
  10097. JSEvents.eventHandlers.splice(i, 1);
  10098. }),
  10099. registerOrRemoveHandler: (function(eventHandler) {
  10100. var jsEventHandler = function jsEventHandler(event) {
  10101. ++JSEvents.inEventHandler;
  10102. JSEvents.currentEventHandler = eventHandler;
  10103. JSEvents.runDeferredCalls();
  10104. eventHandler.handlerFunc(event);
  10105. JSEvents.runDeferredCalls();
  10106. --JSEvents.inEventHandler;
  10107. };
  10108. if (eventHandler.callbackfunc) {
  10109. eventHandler.eventListenerFunc = jsEventHandler;
  10110. eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture);
  10111. JSEvents.eventHandlers.push(eventHandler);
  10112. JSEvents.registerRemoveEventListeners();
  10113. } else {
  10114. for (var i = 0; i < JSEvents.eventHandlers.length; ++i) {
  10115. if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) {
  10116. JSEvents._removeHandler(i--);
  10117. }
  10118. }
  10119. }
  10120. }),
  10121. registerKeyEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10122. if (!JSEvents.keyEvent) JSEvents.keyEvent = _malloc(164);
  10123. var keyEventHandlerFunc = (function(event) {
  10124. var e = event || window.event;
  10125. var keyEventData = JSEvents.keyEvent;
  10126. stringToUTF8(e.key ? e.key : "", keyEventData + 0, 32);
  10127. stringToUTF8(e.code ? e.code : "", keyEventData + 32, 32);
  10128. HEAP32[keyEventData + 64 >> 2] = e.location;
  10129. HEAP32[keyEventData + 68 >> 2] = e.ctrlKey;
  10130. HEAP32[keyEventData + 72 >> 2] = e.shiftKey;
  10131. HEAP32[keyEventData + 76 >> 2] = e.altKey;
  10132. HEAP32[keyEventData + 80 >> 2] = e.metaKey;
  10133. HEAP32[keyEventData + 84 >> 2] = e.repeat;
  10134. stringToUTF8(e.locale ? e.locale : "", keyEventData + 88, 32);
  10135. stringToUTF8(e.char ? e.char : "", keyEventData + 120, 32);
  10136. HEAP32[keyEventData + 152 >> 2] = e.charCode;
  10137. HEAP32[keyEventData + 156 >> 2] = e.keyCode;
  10138. HEAP32[keyEventData + 160 >> 2] = e.which;
  10139. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, keyEventData, userData)) e.preventDefault();
  10140. });
  10141. var eventHandler = {
  10142. target: JSEvents.findEventTarget(target),
  10143. allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true,
  10144. eventTypeString: eventTypeString,
  10145. callbackfunc: callbackfunc,
  10146. handlerFunc: keyEventHandlerFunc,
  10147. useCapture: useCapture
  10148. };
  10149. JSEvents.registerOrRemoveHandler(eventHandler);
  10150. }),
  10151. getBoundingClientRectOrZeros: (function(target) {
  10152. return target.getBoundingClientRect ? target.getBoundingClientRect() : {
  10153. left: 0,
  10154. top: 0
  10155. };
  10156. }),
  10157. fillMouseEventData: (function(eventStruct, e, target) {
  10158. HEAPF64[eventStruct >> 3] = JSEvents.tick();
  10159. HEAP32[eventStruct + 8 >> 2] = e.screenX;
  10160. HEAP32[eventStruct + 12 >> 2] = e.screenY;
  10161. HEAP32[eventStruct + 16 >> 2] = e.clientX;
  10162. HEAP32[eventStruct + 20 >> 2] = e.clientY;
  10163. HEAP32[eventStruct + 24 >> 2] = e.ctrlKey;
  10164. HEAP32[eventStruct + 28 >> 2] = e.shiftKey;
  10165. HEAP32[eventStruct + 32 >> 2] = e.altKey;
  10166. HEAP32[eventStruct + 36 >> 2] = e.metaKey;
  10167. HEAP16[eventStruct + 40 >> 1] = e.button;
  10168. HEAP16[eventStruct + 42 >> 1] = e.buttons;
  10169. HEAP32[eventStruct + 44 >> 2] = e["movementX"];
  10170. HEAP32[eventStruct + 48 >> 2] = e["movementY"];
  10171. if (Module["canvas"]) {
  10172. var rect = Module["canvas"].getBoundingClientRect();
  10173. HEAP32[eventStruct + 60 >> 2] = e.clientX - rect.left;
  10174. HEAP32[eventStruct + 64 >> 2] = e.clientY - rect.top;
  10175. } else {
  10176. HEAP32[eventStruct + 60 >> 2] = 0;
  10177. HEAP32[eventStruct + 64 >> 2] = 0;
  10178. }
  10179. if (target) {
  10180. var rect = JSEvents.getBoundingClientRectOrZeros(target);
  10181. HEAP32[eventStruct + 52 >> 2] = e.clientX - rect.left;
  10182. HEAP32[eventStruct + 56 >> 2] = e.clientY - rect.top;
  10183. } else {
  10184. HEAP32[eventStruct + 52 >> 2] = 0;
  10185. HEAP32[eventStruct + 56 >> 2] = 0;
  10186. }
  10187. if (e.type !== "wheel" && e.type !== "mousewheel") {
  10188. JSEvents.previousScreenX = e.screenX;
  10189. JSEvents.previousScreenY = e.screenY;
  10190. }
  10191. }),
  10192. registerMouseEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10193. if (!JSEvents.mouseEvent) JSEvents.mouseEvent = _malloc(72);
  10194. target = JSEvents.findEventTarget(target);
  10195. var mouseEventHandlerFunc = (function(event) {
  10196. var e = event || window.event;
  10197. JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target);
  10198. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData)) e.preventDefault();
  10199. });
  10200. var eventHandler = {
  10201. target: target,
  10202. allowsDeferredCalls: eventTypeString != "mousemove" && eventTypeString != "mouseenter" && eventTypeString != "mouseleave",
  10203. eventTypeString: eventTypeString,
  10204. callbackfunc: callbackfunc,
  10205. handlerFunc: mouseEventHandlerFunc,
  10206. useCapture: useCapture
  10207. };
  10208. if (JSEvents.isInternetExplorer() && eventTypeString == "mousedown") eventHandler.allowsDeferredCalls = false;
  10209. JSEvents.registerOrRemoveHandler(eventHandler);
  10210. }),
  10211. registerWheelEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10212. if (!JSEvents.wheelEvent) JSEvents.wheelEvent = _malloc(104);
  10213. target = JSEvents.findEventTarget(target);
  10214. var wheelHandlerFunc = (function(event) {
  10215. var e = event || window.event;
  10216. var wheelEvent = JSEvents.wheelEvent;
  10217. JSEvents.fillMouseEventData(wheelEvent, e, target);
  10218. HEAPF64[wheelEvent + 72 >> 3] = e["deltaX"];
  10219. HEAPF64[wheelEvent + 80 >> 3] = e["deltaY"];
  10220. HEAPF64[wheelEvent + 88 >> 3] = e["deltaZ"];
  10221. HEAP32[wheelEvent + 96 >> 2] = e["deltaMode"];
  10222. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, wheelEvent, userData)) e.preventDefault();
  10223. });
  10224. var mouseWheelHandlerFunc = (function(event) {
  10225. var e = event || window.event;
  10226. JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target);
  10227. HEAPF64[JSEvents.wheelEvent + 72 >> 3] = e["wheelDeltaX"] || 0;
  10228. HEAPF64[JSEvents.wheelEvent + 80 >> 3] = -(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]);
  10229. HEAPF64[JSEvents.wheelEvent + 88 >> 3] = 0;
  10230. HEAP32[JSEvents.wheelEvent + 96 >> 2] = 0;
  10231. var shouldCancel = Module["dynCall_iiii"](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData);
  10232. if (shouldCancel) {
  10233. e.preventDefault();
  10234. }
  10235. });
  10236. var eventHandler = {
  10237. target: target,
  10238. allowsDeferredCalls: true,
  10239. eventTypeString: eventTypeString,
  10240. callbackfunc: callbackfunc,
  10241. handlerFunc: eventTypeString == "wheel" ? wheelHandlerFunc : mouseWheelHandlerFunc,
  10242. useCapture: useCapture
  10243. };
  10244. JSEvents.registerOrRemoveHandler(eventHandler);
  10245. }),
  10246. pageScrollPos: (function() {
  10247. if (window.pageXOffset > 0 || window.pageYOffset > 0) {
  10248. return [ window.pageXOffset, window.pageYOffset ];
  10249. }
  10250. if (typeof document.documentElement.scrollLeft !== "undefined" || typeof document.documentElement.scrollTop !== "undefined") {
  10251. return [ document.documentElement.scrollLeft, document.documentElement.scrollTop ];
  10252. }
  10253. return [ document.body.scrollLeft | 0, document.body.scrollTop | 0 ];
  10254. }),
  10255. registerUiEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10256. if (!JSEvents.uiEvent) JSEvents.uiEvent = _malloc(36);
  10257. if (eventTypeString == "scroll" && !target) {
  10258. target = document;
  10259. } else {
  10260. target = JSEvents.findEventTarget(target);
  10261. }
  10262. var uiEventHandlerFunc = (function(event) {
  10263. var e = event || window.event;
  10264. if (e.target != target) {
  10265. return;
  10266. }
  10267. var scrollPos = JSEvents.pageScrollPos();
  10268. var uiEvent = JSEvents.uiEvent;
  10269. HEAP32[uiEvent >> 2] = e.detail;
  10270. HEAP32[uiEvent + 4 >> 2] = document.body.clientWidth;
  10271. HEAP32[uiEvent + 8 >> 2] = document.body.clientHeight;
  10272. HEAP32[uiEvent + 12 >> 2] = window.innerWidth;
  10273. HEAP32[uiEvent + 16 >> 2] = window.innerHeight;
  10274. HEAP32[uiEvent + 20 >> 2] = window.outerWidth;
  10275. HEAP32[uiEvent + 24 >> 2] = window.outerHeight;
  10276. HEAP32[uiEvent + 28 >> 2] = scrollPos[0];
  10277. HEAP32[uiEvent + 32 >> 2] = scrollPos[1];
  10278. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, uiEvent, userData)) e.preventDefault();
  10279. });
  10280. var eventHandler = {
  10281. target: target,
  10282. allowsDeferredCalls: false,
  10283. eventTypeString: eventTypeString,
  10284. callbackfunc: callbackfunc,
  10285. handlerFunc: uiEventHandlerFunc,
  10286. useCapture: useCapture
  10287. };
  10288. JSEvents.registerOrRemoveHandler(eventHandler);
  10289. }),
  10290. getNodeNameForTarget: (function(target) {
  10291. if (!target) return "";
  10292. if (target == window) return "#window";
  10293. if (target == window.screen) return "#screen";
  10294. return target && target.nodeName ? target.nodeName : "";
  10295. }),
  10296. registerFocusEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10297. if (!JSEvents.focusEvent) JSEvents.focusEvent = _malloc(256);
  10298. var focusEventHandlerFunc = (function(event) {
  10299. var e = event || window.event;
  10300. var nodeName = JSEvents.getNodeNameForTarget(e.target);
  10301. var id = e.target.id ? e.target.id : "";
  10302. var focusEvent = JSEvents.focusEvent;
  10303. stringToUTF8(nodeName, focusEvent + 0, 128);
  10304. stringToUTF8(id, focusEvent + 128, 128);
  10305. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, focusEvent, userData)) e.preventDefault();
  10306. });
  10307. var eventHandler = {
  10308. target: JSEvents.findEventTarget(target),
  10309. allowsDeferredCalls: false,
  10310. eventTypeString: eventTypeString,
  10311. callbackfunc: callbackfunc,
  10312. handlerFunc: focusEventHandlerFunc,
  10313. useCapture: useCapture
  10314. };
  10315. JSEvents.registerOrRemoveHandler(eventHandler);
  10316. }),
  10317. tick: (function() {
  10318. if (window["performance"] && window["performance"]["now"]) return window["performance"]["now"](); else return Date.now();
  10319. }),
  10320. fillDeviceOrientationEventData: (function(eventStruct, e, target) {
  10321. HEAPF64[eventStruct >> 3] = JSEvents.tick();
  10322. HEAPF64[eventStruct + 8 >> 3] = e.alpha;
  10323. HEAPF64[eventStruct + 16 >> 3] = e.beta;
  10324. HEAPF64[eventStruct + 24 >> 3] = e.gamma;
  10325. HEAP32[eventStruct + 32 >> 2] = e.absolute;
  10326. }),
  10327. registerDeviceOrientationEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10328. if (!JSEvents.deviceOrientationEvent) JSEvents.deviceOrientationEvent = _malloc(40);
  10329. var deviceOrientationEventHandlerFunc = (function(event) {
  10330. var e = event || window.event;
  10331. JSEvents.fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent, e, target);
  10332. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData)) e.preventDefault();
  10333. });
  10334. var eventHandler = {
  10335. target: JSEvents.findEventTarget(target),
  10336. allowsDeferredCalls: false,
  10337. eventTypeString: eventTypeString,
  10338. callbackfunc: callbackfunc,
  10339. handlerFunc: deviceOrientationEventHandlerFunc,
  10340. useCapture: useCapture
  10341. };
  10342. JSEvents.registerOrRemoveHandler(eventHandler);
  10343. }),
  10344. fillDeviceMotionEventData: (function(eventStruct, e, target) {
  10345. HEAPF64[eventStruct >> 3] = JSEvents.tick();
  10346. HEAPF64[eventStruct + 8 >> 3] = e.acceleration.x;
  10347. HEAPF64[eventStruct + 16 >> 3] = e.acceleration.y;
  10348. HEAPF64[eventStruct + 24 >> 3] = e.acceleration.z;
  10349. HEAPF64[eventStruct + 32 >> 3] = e.accelerationIncludingGravity.x;
  10350. HEAPF64[eventStruct + 40 >> 3] = e.accelerationIncludingGravity.y;
  10351. HEAPF64[eventStruct + 48 >> 3] = e.accelerationIncludingGravity.z;
  10352. HEAPF64[eventStruct + 56 >> 3] = e.rotationRate.alpha;
  10353. HEAPF64[eventStruct + 64 >> 3] = e.rotationRate.beta;
  10354. HEAPF64[eventStruct + 72 >> 3] = e.rotationRate.gamma;
  10355. }),
  10356. registerDeviceMotionEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10357. if (!JSEvents.deviceMotionEvent) JSEvents.deviceMotionEvent = _malloc(80);
  10358. var deviceMotionEventHandlerFunc = (function(event) {
  10359. var e = event || window.event;
  10360. JSEvents.fillDeviceMotionEventData(JSEvents.deviceMotionEvent, e, target);
  10361. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData)) e.preventDefault();
  10362. });
  10363. var eventHandler = {
  10364. target: JSEvents.findEventTarget(target),
  10365. allowsDeferredCalls: false,
  10366. eventTypeString: eventTypeString,
  10367. callbackfunc: callbackfunc,
  10368. handlerFunc: deviceMotionEventHandlerFunc,
  10369. useCapture: useCapture
  10370. };
  10371. JSEvents.registerOrRemoveHandler(eventHandler);
  10372. }),
  10373. screenOrientation: (function() {
  10374. if (!window.screen) return undefined;
  10375. return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation;
  10376. }),
  10377. fillOrientationChangeEventData: (function(eventStruct, e) {
  10378. var orientations = [ "portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary" ];
  10379. var orientations2 = [ "portrait", "portrait", "landscape", "landscape" ];
  10380. var orientationString = JSEvents.screenOrientation();
  10381. var orientation = orientations.indexOf(orientationString);
  10382. if (orientation == -1) {
  10383. orientation = orientations2.indexOf(orientationString);
  10384. }
  10385. HEAP32[eventStruct >> 2] = 1 << orientation;
  10386. HEAP32[eventStruct + 4 >> 2] = window.orientation;
  10387. }),
  10388. registerOrientationChangeEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10389. if (!JSEvents.orientationChangeEvent) JSEvents.orientationChangeEvent = _malloc(8);
  10390. if (!target) {
  10391. target = window.screen;
  10392. } else {
  10393. target = JSEvents.findEventTarget(target);
  10394. }
  10395. var orientationChangeEventHandlerFunc = (function(event) {
  10396. var e = event || window.event;
  10397. var orientationChangeEvent = JSEvents.orientationChangeEvent;
  10398. JSEvents.fillOrientationChangeEventData(orientationChangeEvent, e);
  10399. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, orientationChangeEvent, userData)) e.preventDefault();
  10400. });
  10401. if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) {
  10402. eventTypeString = "mozorientationchange";
  10403. }
  10404. var eventHandler = {
  10405. target: target,
  10406. allowsDeferredCalls: false,
  10407. eventTypeString: eventTypeString,
  10408. callbackfunc: callbackfunc,
  10409. handlerFunc: orientationChangeEventHandlerFunc,
  10410. useCapture: useCapture
  10411. };
  10412. JSEvents.registerOrRemoveHandler(eventHandler);
  10413. }),
  10414. fullscreenEnabled: (function() {
  10415. return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled;
  10416. }),
  10417. fillFullscreenChangeEventData: (function(eventStruct, e) {
  10418. var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
  10419. var isFullscreen = !!fullscreenElement;
  10420. HEAP32[eventStruct >> 2] = isFullscreen;
  10421. HEAP32[eventStruct + 4 >> 2] = JSEvents.fullscreenEnabled();
  10422. var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement;
  10423. var nodeName = JSEvents.getNodeNameForTarget(reportedElement);
  10424. var id = reportedElement && reportedElement.id ? reportedElement.id : "";
  10425. stringToUTF8(nodeName, eventStruct + 8, 128);
  10426. stringToUTF8(id, eventStruct + 136, 128);
  10427. HEAP32[eventStruct + 264 >> 2] = reportedElement ? reportedElement.clientWidth : 0;
  10428. HEAP32[eventStruct + 268 >> 2] = reportedElement ? reportedElement.clientHeight : 0;
  10429. HEAP32[eventStruct + 272 >> 2] = screen.width;
  10430. HEAP32[eventStruct + 276 >> 2] = screen.height;
  10431. if (isFullscreen) {
  10432. JSEvents.previousFullscreenElement = fullscreenElement;
  10433. }
  10434. }),
  10435. registerFullscreenChangeEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10436. if (!JSEvents.fullscreenChangeEvent) JSEvents.fullscreenChangeEvent = _malloc(280);
  10437. if (!target) target = document; else target = JSEvents.findEventTarget(target);
  10438. var fullscreenChangeEventhandlerFunc = (function(event) {
  10439. var e = event || window.event;
  10440. var fullscreenChangeEvent = JSEvents.fullscreenChangeEvent;
  10441. JSEvents.fillFullscreenChangeEventData(fullscreenChangeEvent, e);
  10442. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, fullscreenChangeEvent, userData)) e.preventDefault();
  10443. });
  10444. var eventHandler = {
  10445. target: target,
  10446. allowsDeferredCalls: false,
  10447. eventTypeString: eventTypeString,
  10448. callbackfunc: callbackfunc,
  10449. handlerFunc: fullscreenChangeEventhandlerFunc,
  10450. useCapture: useCapture
  10451. };
  10452. JSEvents.registerOrRemoveHandler(eventHandler);
  10453. }),
  10454. resizeCanvasForFullscreen: (function(target, strategy) {
  10455. var restoreOldStyle = __registerRestoreOldStyle(target);
  10456. var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width;
  10457. var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height;
  10458. var rect = target.getBoundingClientRect();
  10459. var windowedCssWidth = rect.right - rect.left;
  10460. var windowedCssHeight = rect.bottom - rect.top;
  10461. var canvasSize = emscripten_get_canvas_element_size_js(target.id);
  10462. var windowedRttWidth = canvasSize[0];
  10463. var windowedRttHeight = canvasSize[1];
  10464. if (strategy.scaleMode == 3) {
  10465. __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2);
  10466. cssWidth = windowedCssWidth;
  10467. cssHeight = windowedCssHeight;
  10468. } else if (strategy.scaleMode == 2) {
  10469. if (cssWidth * windowedRttHeight < windowedRttWidth * cssHeight) {
  10470. var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth;
  10471. __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0);
  10472. cssHeight = desiredCssHeight;
  10473. } else {
  10474. var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight;
  10475. __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2);
  10476. cssWidth = desiredCssWidth;
  10477. }
  10478. }
  10479. if (!target.style.backgroundColor) target.style.backgroundColor = "black";
  10480. if (!document.body.style.backgroundColor) document.body.style.backgroundColor = "black";
  10481. target.style.width = cssWidth + "px";
  10482. target.style.height = cssHeight + "px";
  10483. if (strategy.filteringMode == 1) {
  10484. target.style.imageRendering = "optimizeSpeed";
  10485. target.style.imageRendering = "-moz-crisp-edges";
  10486. target.style.imageRendering = "-o-crisp-edges";
  10487. target.style.imageRendering = "-webkit-optimize-contrast";
  10488. target.style.imageRendering = "optimize-contrast";
  10489. target.style.imageRendering = "crisp-edges";
  10490. target.style.imageRendering = "pixelated";
  10491. }
  10492. var dpiScale = strategy.canvasResolutionScaleMode == 2 ? window.devicePixelRatio : 1;
  10493. if (strategy.canvasResolutionScaleMode != 0) {
  10494. var newWidth = cssWidth * dpiScale | 0;
  10495. var newHeight = cssHeight * dpiScale | 0;
  10496. if (!target.controlTransferredOffscreen) {
  10497. target.width = newWidth;
  10498. target.height = newHeight;
  10499. } else {
  10500. emscripten_set_canvas_element_size_js(target.id, newWidth, newHeight);
  10501. }
  10502. if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, newWidth, newHeight);
  10503. }
  10504. return restoreOldStyle;
  10505. }),
  10506. requestFullscreen: (function(target, strategy) {
  10507. if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) {
  10508. JSEvents.resizeCanvasForFullscreen(target, strategy);
  10509. }
  10510. if (target.requestFullscreen) {
  10511. target.requestFullscreen();
  10512. } else if (target.msRequestFullscreen) {
  10513. target.msRequestFullscreen();
  10514. } else if (target.mozRequestFullScreen) {
  10515. target.mozRequestFullScreen();
  10516. } else if (target.mozRequestFullscreen) {
  10517. target.mozRequestFullscreen();
  10518. } else if (target.webkitRequestFullscreen) {
  10519. target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
  10520. } else {
  10521. if (typeof JSEvents.fullscreenEnabled() === "undefined") {
  10522. return -1;
  10523. } else {
  10524. return -3;
  10525. }
  10526. }
  10527. if (strategy.canvasResizedCallback) {
  10528. Module["dynCall_iiii"](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData);
  10529. }
  10530. return 0;
  10531. }),
  10532. fillPointerlockChangeEventData: (function(eventStruct, e) {
  10533. var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement;
  10534. var isPointerlocked = !!pointerLockElement;
  10535. HEAP32[eventStruct >> 2] = isPointerlocked;
  10536. var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement);
  10537. var id = pointerLockElement && pointerLockElement.id ? pointerLockElement.id : "";
  10538. stringToUTF8(nodeName, eventStruct + 4, 128);
  10539. stringToUTF8(id, eventStruct + 132, 128);
  10540. }),
  10541. registerPointerlockChangeEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10542. if (!JSEvents.pointerlockChangeEvent) JSEvents.pointerlockChangeEvent = _malloc(260);
  10543. if (!target) target = document; else target = JSEvents.findEventTarget(target);
  10544. var pointerlockChangeEventHandlerFunc = (function(event) {
  10545. var e = event || window.event;
  10546. var pointerlockChangeEvent = JSEvents.pointerlockChangeEvent;
  10547. JSEvents.fillPointerlockChangeEventData(pointerlockChangeEvent, e);
  10548. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, pointerlockChangeEvent, userData)) e.preventDefault();
  10549. });
  10550. var eventHandler = {
  10551. target: target,
  10552. allowsDeferredCalls: false,
  10553. eventTypeString: eventTypeString,
  10554. callbackfunc: callbackfunc,
  10555. handlerFunc: pointerlockChangeEventHandlerFunc,
  10556. useCapture: useCapture
  10557. };
  10558. JSEvents.registerOrRemoveHandler(eventHandler);
  10559. }),
  10560. registerPointerlockErrorEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) {
  10561. if (!target) target = document; else target = JSEvents.findEventTarget(target);
  10562. var pointerlockErrorEventHandlerFunc = (function(event) {
  10563. var e = event || window.event;
  10564. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, 0, userData)) e.preventDefault();
  10565. });
  10566. var eventHandler = {
  10567. target: target,
  10568. allowsDeferredCalls: false,
  10569. eventTypeString: eventTypeString,
  10570. callbackfunc: callbackfunc,
  10571. handlerFunc: pointerlockErrorEventHandlerFunc,
  10572. useCapture: useCapture
  10573. };
  10574. JSEvents.registerOrRemoveHandler(eventHandler);
  10575. }),
  10576. requestPointerLock: (function(target) {
  10577. if (target.requestPointerLock) {
  10578. target.requestPointerLock();
  10579. } else if (target.mozRequestPointerLock) {
  10580. target.mozRequestPointerLock();
  10581. } else if (target.webkitRequestPointerLock) {
  10582. target.webkitRequestPointerLock();
  10583. } else if (target.msRequestPointerLock) {
  10584. target.msRequestPointerLock();
  10585. } else {
  10586. if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) {
  10587. return -3;
  10588. } else {
  10589. return -1;
  10590. }
  10591. }
  10592. return 0;
  10593. }),
  10594. fillVisibilityChangeEventData: (function(eventStruct, e) {
  10595. var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ];
  10596. var visibilityState = visibilityStates.indexOf(document.visibilityState);
  10597. HEAP32[eventStruct >> 2] = document.hidden;
  10598. HEAP32[eventStruct + 4 >> 2] = visibilityState;
  10599. }),
  10600. registerVisibilityChangeEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10601. if (!JSEvents.visibilityChangeEvent) JSEvents.visibilityChangeEvent = _malloc(8);
  10602. if (!target) target = document; else target = JSEvents.findEventTarget(target);
  10603. var visibilityChangeEventHandlerFunc = (function(event) {
  10604. var e = event || window.event;
  10605. var visibilityChangeEvent = JSEvents.visibilityChangeEvent;
  10606. JSEvents.fillVisibilityChangeEventData(visibilityChangeEvent, e);
  10607. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, visibilityChangeEvent, userData)) e.preventDefault();
  10608. });
  10609. var eventHandler = {
  10610. target: target,
  10611. allowsDeferredCalls: false,
  10612. eventTypeString: eventTypeString,
  10613. callbackfunc: callbackfunc,
  10614. handlerFunc: visibilityChangeEventHandlerFunc,
  10615. useCapture: useCapture
  10616. };
  10617. JSEvents.registerOrRemoveHandler(eventHandler);
  10618. }),
  10619. registerTouchEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10620. if (!JSEvents.touchEvent) JSEvents.touchEvent = _malloc(1684);
  10621. target = JSEvents.findEventTarget(target);
  10622. var touchEventHandlerFunc = (function(event) {
  10623. var e = event || window.event;
  10624. var touches = {};
  10625. for (var i = 0; i < e.touches.length; ++i) {
  10626. var touch = e.touches[i];
  10627. touches[touch.identifier] = touch;
  10628. }
  10629. for (var i = 0; i < e.changedTouches.length; ++i) {
  10630. var touch = e.changedTouches[i];
  10631. touches[touch.identifier] = touch;
  10632. touch.changed = true;
  10633. }
  10634. for (var i = 0; i < e.targetTouches.length; ++i) {
  10635. var touch = e.targetTouches[i];
  10636. touches[touch.identifier].onTarget = true;
  10637. }
  10638. var touchEvent = JSEvents.touchEvent;
  10639. var ptr = touchEvent;
  10640. HEAP32[ptr + 4 >> 2] = e.ctrlKey;
  10641. HEAP32[ptr + 8 >> 2] = e.shiftKey;
  10642. HEAP32[ptr + 12 >> 2] = e.altKey;
  10643. HEAP32[ptr + 16 >> 2] = e.metaKey;
  10644. ptr += 20;
  10645. var canvasRect = Module["canvas"] ? Module["canvas"].getBoundingClientRect() : undefined;
  10646. var targetRect = JSEvents.getBoundingClientRectOrZeros(target);
  10647. var numTouches = 0;
  10648. for (var i in touches) {
  10649. var t = touches[i];
  10650. HEAP32[ptr >> 2] = t.identifier;
  10651. HEAP32[ptr + 4 >> 2] = t.screenX;
  10652. HEAP32[ptr + 8 >> 2] = t.screenY;
  10653. HEAP32[ptr + 12 >> 2] = t.clientX;
  10654. HEAP32[ptr + 16 >> 2] = t.clientY;
  10655. HEAP32[ptr + 20 >> 2] = t.pageX;
  10656. HEAP32[ptr + 24 >> 2] = t.pageY;
  10657. HEAP32[ptr + 28 >> 2] = t.changed;
  10658. HEAP32[ptr + 32 >> 2] = t.onTarget;
  10659. if (canvasRect) {
  10660. HEAP32[ptr + 44 >> 2] = t.clientX - canvasRect.left;
  10661. HEAP32[ptr + 48 >> 2] = t.clientY - canvasRect.top;
  10662. } else {
  10663. HEAP32[ptr + 44 >> 2] = 0;
  10664. HEAP32[ptr + 48 >> 2] = 0;
  10665. }
  10666. HEAP32[ptr + 36 >> 2] = t.clientX - targetRect.left;
  10667. HEAP32[ptr + 40 >> 2] = t.clientY - targetRect.top;
  10668. ptr += 52;
  10669. if (++numTouches >= 32) {
  10670. break;
  10671. }
  10672. }
  10673. HEAP32[touchEvent >> 2] = numTouches;
  10674. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, touchEvent, userData)) e.preventDefault();
  10675. });
  10676. var eventHandler = {
  10677. target: target,
  10678. allowsDeferredCalls: eventTypeString == "touchstart" || eventTypeString == "touchend",
  10679. eventTypeString: eventTypeString,
  10680. callbackfunc: callbackfunc,
  10681. handlerFunc: touchEventHandlerFunc,
  10682. useCapture: useCapture
  10683. };
  10684. JSEvents.registerOrRemoveHandler(eventHandler);
  10685. }),
  10686. fillGamepadEventData: (function(eventStruct, e) {
  10687. HEAPF64[eventStruct >> 3] = e.timestamp;
  10688. for (var i = 0; i < e.axes.length; ++i) {
  10689. HEAPF64[eventStruct + i * 8 + 16 >> 3] = e.axes[i];
  10690. }
  10691. for (var i = 0; i < e.buttons.length; ++i) {
  10692. if (typeof e.buttons[i] === "object") {
  10693. HEAPF64[eventStruct + i * 8 + 528 >> 3] = e.buttons[i].value;
  10694. } else {
  10695. HEAPF64[eventStruct + i * 8 + 528 >> 3] = e.buttons[i];
  10696. }
  10697. }
  10698. for (var i = 0; i < e.buttons.length; ++i) {
  10699. if (typeof e.buttons[i] === "object") {
  10700. HEAP32[eventStruct + i * 4 + 1040 >> 2] = e.buttons[i].pressed;
  10701. } else {
  10702. HEAP32[eventStruct + i * 4 + 1040 >> 2] = e.buttons[i] == 1;
  10703. }
  10704. }
  10705. HEAP32[eventStruct + 1296 >> 2] = e.connected;
  10706. HEAP32[eventStruct + 1300 >> 2] = e.index;
  10707. HEAP32[eventStruct + 8 >> 2] = e.axes.length;
  10708. HEAP32[eventStruct + 12 >> 2] = e.buttons.length;
  10709. stringToUTF8(e.id, eventStruct + 1304, 64);
  10710. stringToUTF8(e.mapping, eventStruct + 1368, 64);
  10711. }),
  10712. registerGamepadEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10713. if (!JSEvents.gamepadEvent) JSEvents.gamepadEvent = _malloc(1432);
  10714. var gamepadEventHandlerFunc = (function(event) {
  10715. var e = event || window.event;
  10716. var gamepadEvent = JSEvents.gamepadEvent;
  10717. JSEvents.fillGamepadEventData(gamepadEvent, e.gamepad);
  10718. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, gamepadEvent, userData)) e.preventDefault();
  10719. });
  10720. var eventHandler = {
  10721. target: JSEvents.findEventTarget(target),
  10722. allowsDeferredCalls: true,
  10723. eventTypeString: eventTypeString,
  10724. callbackfunc: callbackfunc,
  10725. handlerFunc: gamepadEventHandlerFunc,
  10726. useCapture: useCapture
  10727. };
  10728. JSEvents.registerOrRemoveHandler(eventHandler);
  10729. }),
  10730. registerBeforeUnloadEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) {
  10731. var beforeUnloadEventHandlerFunc = (function(event) {
  10732. var e = event || window.event;
  10733. var confirmationMessage = Module["dynCall_iiii"](callbackfunc, eventTypeId, 0, userData);
  10734. if (confirmationMessage) {
  10735. confirmationMessage = Pointer_stringify(confirmationMessage);
  10736. }
  10737. if (confirmationMessage) {
  10738. e.preventDefault();
  10739. e.returnValue = confirmationMessage;
  10740. return confirmationMessage;
  10741. }
  10742. });
  10743. var eventHandler = {
  10744. target: JSEvents.findEventTarget(target),
  10745. allowsDeferredCalls: false,
  10746. eventTypeString: eventTypeString,
  10747. callbackfunc: callbackfunc,
  10748. handlerFunc: beforeUnloadEventHandlerFunc,
  10749. useCapture: useCapture
  10750. };
  10751. JSEvents.registerOrRemoveHandler(eventHandler);
  10752. }),
  10753. battery: (function() {
  10754. return navigator.battery || navigator.mozBattery || navigator.webkitBattery;
  10755. }),
  10756. fillBatteryEventData: (function(eventStruct, e) {
  10757. HEAPF64[eventStruct >> 3] = e.chargingTime;
  10758. HEAPF64[eventStruct + 8 >> 3] = e.dischargingTime;
  10759. HEAPF64[eventStruct + 16 >> 3] = e.level;
  10760. HEAP32[eventStruct + 24 >> 2] = e.charging;
  10761. }),
  10762. registerBatteryEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10763. if (!JSEvents.batteryEvent) JSEvents.batteryEvent = _malloc(32);
  10764. var batteryEventHandlerFunc = (function(event) {
  10765. var e = event || window.event;
  10766. var batteryEvent = JSEvents.batteryEvent;
  10767. JSEvents.fillBatteryEventData(batteryEvent, JSEvents.battery());
  10768. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, batteryEvent, userData)) e.preventDefault();
  10769. });
  10770. var eventHandler = {
  10771. target: JSEvents.findEventTarget(target),
  10772. allowsDeferredCalls: false,
  10773. eventTypeString: eventTypeString,
  10774. callbackfunc: callbackfunc,
  10775. handlerFunc: batteryEventHandlerFunc,
  10776. useCapture: useCapture
  10777. };
  10778. JSEvents.registerOrRemoveHandler(eventHandler);
  10779. }),
  10780. registerWebGlEventCallback: (function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) {
  10781. if (!target) target = Module["canvas"];
  10782. var webGlEventHandlerFunc = (function(event) {
  10783. var e = event || window.event;
  10784. if (Module["dynCall_iiii"](callbackfunc, eventTypeId, 0, userData)) e.preventDefault();
  10785. });
  10786. var eventHandler = {
  10787. target: JSEvents.findEventTarget(target),
  10788. allowsDeferredCalls: false,
  10789. eventTypeString: eventTypeString,
  10790. callbackfunc: callbackfunc,
  10791. handlerFunc: webGlEventHandlerFunc,
  10792. useCapture: useCapture
  10793. };
  10794. JSEvents.registerOrRemoveHandler(eventHandler);
  10795. })
  10796. };
  10797. var __currentFullscreenStrategy = {};
  10798. function _emscripten_exit_fullscreen() {
  10799. if (typeof JSEvents.fullscreenEnabled() === "undefined") return -1;
  10800. JSEvents.removeDeferredCalls(JSEvents.requestFullscreen);
  10801. if (document.exitFullscreen) {
  10802. document.exitFullscreen();
  10803. } else if (document.msExitFullscreen) {
  10804. document.msExitFullscreen();
  10805. } else if (document.mozCancelFullScreen) {
  10806. document.mozCancelFullScreen();
  10807. } else if (document.webkitExitFullscreen) {
  10808. document.webkitExitFullscreen();
  10809. } else {
  10810. return -1;
  10811. }
  10812. if (__currentFullscreenStrategy.canvasResizedCallback) {
  10813. Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback, 37, 0, __currentFullscreenStrategy.canvasResizedCallbackUserData);
  10814. }
  10815. return 0;
  10816. }
  10817. function _emscripten_exit_pointerlock() {
  10818. JSEvents.removeDeferredCalls(JSEvents.requestPointerLock);
  10819. if (document.exitPointerLock) {
  10820. document.exitPointerLock();
  10821. } else if (document.msExitPointerLock) {
  10822. document.msExitPointerLock();
  10823. } else if (document.mozExitPointerLock) {
  10824. document.mozExitPointerLock();
  10825. } else if (document.webkitExitPointerLock) {
  10826. document.webkitExitPointerLock();
  10827. } else {
  10828. return -1;
  10829. }
  10830. return 0;
  10831. }
  10832. function _emscripten_get_fullscreen_status(fullscreenStatus) {
  10833. if (typeof JSEvents.fullscreenEnabled() === "undefined") return -1;
  10834. JSEvents.fillFullscreenChangeEventData(fullscreenStatus);
  10835. return 0;
  10836. }
  10837. function __emscripten_sample_gamepad_data() {
  10838. if (!JSEvents.numGamepadsConnected) return;
  10839. if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) {
  10840. JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null;
  10841. JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber;
  10842. }
  10843. }
  10844. function _emscripten_get_gamepad_status(index, gamepadState) {
  10845. __emscripten_sample_gamepad_data();
  10846. if (!JSEvents.lastGamepadState) return -1;
  10847. if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5;
  10848. if (!JSEvents.lastGamepadState[index]) return -7;
  10849. JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]);
  10850. return 0;
  10851. }
  10852. function _emscripten_get_main_loop_timing(mode, value) {
  10853. if (mode) HEAP32[mode >> 2] = Browser.mainLoop.timingMode;
  10854. if (value) HEAP32[value >> 2] = Browser.mainLoop.timingValue;
  10855. }
  10856. function _emscripten_get_num_gamepads() {
  10857. if (!JSEvents.numGamepadsConnected) return 0;
  10858. __emscripten_sample_gamepad_data();
  10859. if (!JSEvents.lastGamepadState) return -1;
  10860. return JSEvents.lastGamepadState.length;
  10861. }
  10862. function _emscripten_has_threading_support() {
  10863. return 0;
  10864. }
  10865. function _emscripten_html5_remove_all_event_listeners() {
  10866. JSEvents.removeAllEventListeners();
  10867. }
  10868. function _emscripten_is_webgl_context_lost(target) {
  10869. if (!Module.ctx) return true;
  10870. return Module.ctx.isContextLost();
  10871. }
  10872. function __reallyNegative(x) {
  10873. return x < 0 || x === 0 && 1 / x === -Infinity;
  10874. }
  10875. function __formatString(format, varargs) {
  10876. assert((varargs & 3) === 0);
  10877. var textIndex = format;
  10878. var argIndex = varargs;
  10879. function prepVararg(ptr, type) {
  10880. if (type === "double" || type === "i64") {
  10881. if (ptr & 7) {
  10882. assert((ptr & 7) === 4);
  10883. ptr += 4;
  10884. }
  10885. } else {
  10886. assert((ptr & 3) === 0);
  10887. }
  10888. return ptr;
  10889. }
  10890. function getNextArg(type) {
  10891. var ret;
  10892. argIndex = prepVararg(argIndex, type);
  10893. if (type === "double") {
  10894. ret = HEAPF64[argIndex >> 3];
  10895. argIndex += 8;
  10896. } else if (type == "i64") {
  10897. ret = [ HEAP32[argIndex >> 2], HEAP32[argIndex + 4 >> 2] ];
  10898. argIndex += 8;
  10899. } else {
  10900. assert((argIndex & 3) === 0);
  10901. type = "i32";
  10902. ret = HEAP32[argIndex >> 2];
  10903. argIndex += 4;
  10904. }
  10905. return ret;
  10906. }
  10907. var ret = [];
  10908. var curr, next, currArg;
  10909. while (1) {
  10910. var startTextIndex = textIndex;
  10911. curr = HEAP8[textIndex >> 0];
  10912. if (curr === 0) break;
  10913. next = HEAP8[textIndex + 1 >> 0];
  10914. if (curr == 37) {
  10915. var flagAlwaysSigned = false;
  10916. var flagLeftAlign = false;
  10917. var flagAlternative = false;
  10918. var flagZeroPad = false;
  10919. var flagPadSign = false;
  10920. flagsLoop : while (1) {
  10921. switch (next) {
  10922. case 43:
  10923. flagAlwaysSigned = true;
  10924. break;
  10925. case 45:
  10926. flagLeftAlign = true;
  10927. break;
  10928. case 35:
  10929. flagAlternative = true;
  10930. break;
  10931. case 48:
  10932. if (flagZeroPad) {
  10933. break flagsLoop;
  10934. } else {
  10935. flagZeroPad = true;
  10936. break;
  10937. }
  10938. case 32:
  10939. flagPadSign = true;
  10940. break;
  10941. default:
  10942. break flagsLoop;
  10943. }
  10944. textIndex++;
  10945. next = HEAP8[textIndex + 1 >> 0];
  10946. }
  10947. var width = 0;
  10948. if (next == 42) {
  10949. width = getNextArg("i32");
  10950. textIndex++;
  10951. next = HEAP8[textIndex + 1 >> 0];
  10952. } else {
  10953. while (next >= 48 && next <= 57) {
  10954. width = width * 10 + (next - 48);
  10955. textIndex++;
  10956. next = HEAP8[textIndex + 1 >> 0];
  10957. }
  10958. }
  10959. var precisionSet = false, precision = -1;
  10960. if (next == 46) {
  10961. precision = 0;
  10962. precisionSet = true;
  10963. textIndex++;
  10964. next = HEAP8[textIndex + 1 >> 0];
  10965. if (next == 42) {
  10966. precision = getNextArg("i32");
  10967. textIndex++;
  10968. } else {
  10969. while (1) {
  10970. var precisionChr = HEAP8[textIndex + 1 >> 0];
  10971. if (precisionChr < 48 || precisionChr > 57) break;
  10972. precision = precision * 10 + (precisionChr - 48);
  10973. textIndex++;
  10974. }
  10975. }
  10976. next = HEAP8[textIndex + 1 >> 0];
  10977. }
  10978. if (precision < 0) {
  10979. precision = 6;
  10980. precisionSet = false;
  10981. }
  10982. var argSize;
  10983. switch (String.fromCharCode(next)) {
  10984. case "h":
  10985. var nextNext = HEAP8[textIndex + 2 >> 0];
  10986. if (nextNext == 104) {
  10987. textIndex++;
  10988. argSize = 1;
  10989. } else {
  10990. argSize = 2;
  10991. }
  10992. break;
  10993. case "l":
  10994. var nextNext = HEAP8[textIndex + 2 >> 0];
  10995. if (nextNext == 108) {
  10996. textIndex++;
  10997. argSize = 8;
  10998. } else {
  10999. argSize = 4;
  11000. }
  11001. break;
  11002. case "L":
  11003. case "q":
  11004. case "j":
  11005. argSize = 8;
  11006. break;
  11007. case "z":
  11008. case "t":
  11009. case "I":
  11010. argSize = 4;
  11011. break;
  11012. default:
  11013. argSize = null;
  11014. }
  11015. if (argSize) textIndex++;
  11016. next = HEAP8[textIndex + 1 >> 0];
  11017. switch (String.fromCharCode(next)) {
  11018. case "d":
  11019. case "i":
  11020. case "u":
  11021. case "o":
  11022. case "x":
  11023. case "X":
  11024. case "p":
  11025. {
  11026. var signed = next == 100 || next == 105;
  11027. argSize = argSize || 4;
  11028. currArg = getNextArg("i" + argSize * 8);
  11029. var origArg = currArg;
  11030. var argText;
  11031. if (argSize == 8) {
  11032. currArg = makeBigInt(currArg[0], currArg[1], next == 117);
  11033. }
  11034. if (argSize <= 4) {
  11035. var limit = Math.pow(256, argSize) - 1;
  11036. currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8);
  11037. }
  11038. var currAbsArg = Math.abs(currArg);
  11039. var prefix = "";
  11040. if (next == 100 || next == 105) {
  11041. if (argSize == 8 && typeof i64Math === "object") argText = i64Math.stringify(origArg[0], origArg[1], null); else argText = reSign(currArg, 8 * argSize, 1).toString(10);
  11042. } else if (next == 117) {
  11043. if (argSize == 8 && typeof i64Math === "object") argText = i64Math.stringify(origArg[0], origArg[1], true); else argText = unSign(currArg, 8 * argSize, 1).toString(10);
  11044. currArg = Math.abs(currArg);
  11045. } else if (next == 111) {
  11046. argText = (flagAlternative ? "0" : "") + currAbsArg.toString(8);
  11047. } else if (next == 120 || next == 88) {
  11048. prefix = flagAlternative && currArg != 0 ? "0x" : "";
  11049. if (argSize == 8 && typeof i64Math === "object") {
  11050. if (origArg[1]) {
  11051. argText = (origArg[1] >>> 0).toString(16);
  11052. var lower = (origArg[0] >>> 0).toString(16);
  11053. while (lower.length < 8) lower = "0" + lower;
  11054. argText += lower;
  11055. } else {
  11056. argText = (origArg[0] >>> 0).toString(16);
  11057. }
  11058. } else if (currArg < 0) {
  11059. currArg = -currArg;
  11060. argText = (currAbsArg - 1).toString(16);
  11061. var buffer = [];
  11062. for (var i = 0; i < argText.length; i++) {
  11063. buffer.push((15 - parseInt(argText[i], 16)).toString(16));
  11064. }
  11065. argText = buffer.join("");
  11066. while (argText.length < argSize * 2) argText = "f" + argText;
  11067. } else {
  11068. argText = currAbsArg.toString(16);
  11069. }
  11070. if (next == 88) {
  11071. prefix = prefix.toUpperCase();
  11072. argText = argText.toUpperCase();
  11073. }
  11074. } else if (next == 112) {
  11075. if (currAbsArg === 0) {
  11076. argText = "(nil)";
  11077. } else {
  11078. prefix = "0x";
  11079. argText = currAbsArg.toString(16);
  11080. }
  11081. }
  11082. if (precisionSet) {
  11083. while (argText.length < precision) {
  11084. argText = "0" + argText;
  11085. }
  11086. }
  11087. if (currArg >= 0) {
  11088. if (flagAlwaysSigned) {
  11089. prefix = "+" + prefix;
  11090. } else if (flagPadSign) {
  11091. prefix = " " + prefix;
  11092. }
  11093. }
  11094. if (argText.charAt(0) == "-") {
  11095. prefix = "-" + prefix;
  11096. argText = argText.substr(1);
  11097. }
  11098. while (prefix.length + argText.length < width) {
  11099. if (flagLeftAlign) {
  11100. argText += " ";
  11101. } else {
  11102. if (flagZeroPad) {
  11103. argText = "0" + argText;
  11104. } else {
  11105. prefix = " " + prefix;
  11106. }
  11107. }
  11108. }
  11109. argText = prefix + argText;
  11110. argText.split("").forEach((function(chr) {
  11111. ret.push(chr.charCodeAt(0));
  11112. }));
  11113. break;
  11114. }
  11115. case "f":
  11116. case "F":
  11117. case "e":
  11118. case "E":
  11119. case "g":
  11120. case "G":
  11121. {
  11122. currArg = getNextArg("double");
  11123. var argText;
  11124. if (isNaN(currArg)) {
  11125. argText = "nan";
  11126. flagZeroPad = false;
  11127. } else if (!isFinite(currArg)) {
  11128. argText = (currArg < 0 ? "-" : "") + "inf";
  11129. flagZeroPad = false;
  11130. } else {
  11131. var isGeneral = false;
  11132. var effectivePrecision = Math.min(precision, 20);
  11133. if (next == 103 || next == 71) {
  11134. isGeneral = true;
  11135. precision = precision || 1;
  11136. var exponent = parseInt(currArg.toExponential(effectivePrecision).split("e")[1], 10);
  11137. if (precision > exponent && exponent >= -4) {
  11138. next = (next == 103 ? "f" : "F").charCodeAt(0);
  11139. precision -= exponent + 1;
  11140. } else {
  11141. next = (next == 103 ? "e" : "E").charCodeAt(0);
  11142. precision--;
  11143. }
  11144. effectivePrecision = Math.min(precision, 20);
  11145. }
  11146. if (next == 101 || next == 69) {
  11147. argText = currArg.toExponential(effectivePrecision);
  11148. if (/[eE][-+]\d$/.test(argText)) {
  11149. argText = argText.slice(0, -1) + "0" + argText.slice(-1);
  11150. }
  11151. } else if (next == 102 || next == 70) {
  11152. argText = currArg.toFixed(effectivePrecision);
  11153. if (currArg === 0 && __reallyNegative(currArg)) {
  11154. argText = "-" + argText;
  11155. }
  11156. }
  11157. var parts = argText.split("e");
  11158. if (isGeneral && !flagAlternative) {
  11159. while (parts[0].length > 1 && parts[0].indexOf(".") != -1 && (parts[0].slice(-1) == "0" || parts[0].slice(-1) == ".")) {
  11160. parts[0] = parts[0].slice(0, -1);
  11161. }
  11162. } else {
  11163. if (flagAlternative && argText.indexOf(".") == -1) parts[0] += ".";
  11164. while (precision > effectivePrecision++) parts[0] += "0";
  11165. }
  11166. argText = parts[0] + (parts.length > 1 ? "e" + parts[1] : "");
  11167. if (next == 69) argText = argText.toUpperCase();
  11168. if (currArg >= 0) {
  11169. if (flagAlwaysSigned) {
  11170. argText = "+" + argText;
  11171. } else if (flagPadSign) {
  11172. argText = " " + argText;
  11173. }
  11174. }
  11175. }
  11176. while (argText.length < width) {
  11177. if (flagLeftAlign) {
  11178. argText += " ";
  11179. } else {
  11180. if (flagZeroPad && (argText[0] == "-" || argText[0] == "+")) {
  11181. argText = argText[0] + "0" + argText.slice(1);
  11182. } else {
  11183. argText = (flagZeroPad ? "0" : " ") + argText;
  11184. }
  11185. }
  11186. }
  11187. if (next < 97) argText = argText.toUpperCase();
  11188. argText.split("").forEach((function(chr) {
  11189. ret.push(chr.charCodeAt(0));
  11190. }));
  11191. break;
  11192. }
  11193. case "s":
  11194. {
  11195. var arg = getNextArg("i8*");
  11196. var argLength = arg ? _strlen(arg) : "(null)".length;
  11197. if (precisionSet) argLength = Math.min(argLength, precision);
  11198. if (!flagLeftAlign) {
  11199. while (argLength < width--) {
  11200. ret.push(32);
  11201. }
  11202. }
  11203. if (arg) {
  11204. for (var i = 0; i < argLength; i++) {
  11205. ret.push(HEAPU8[arg++ >> 0]);
  11206. }
  11207. } else {
  11208. ret = ret.concat(intArrayFromString("(null)".substr(0, argLength), true));
  11209. }
  11210. if (flagLeftAlign) {
  11211. while (argLength < width--) {
  11212. ret.push(32);
  11213. }
  11214. }
  11215. break;
  11216. }
  11217. case "c":
  11218. {
  11219. if (flagLeftAlign) ret.push(getNextArg("i8"));
  11220. while (--width > 0) {
  11221. ret.push(32);
  11222. }
  11223. if (!flagLeftAlign) ret.push(getNextArg("i8"));
  11224. break;
  11225. }
  11226. case "n":
  11227. {
  11228. var ptr = getNextArg("i32*");
  11229. HEAP32[ptr >> 2] = ret.length;
  11230. break;
  11231. }
  11232. case "%":
  11233. {
  11234. ret.push(curr);
  11235. break;
  11236. }
  11237. default:
  11238. {
  11239. for (var i = startTextIndex; i < textIndex + 2; i++) {
  11240. ret.push(HEAP8[i >> 0]);
  11241. }
  11242. }
  11243. }
  11244. textIndex += 2;
  11245. } else {
  11246. ret.push(curr);
  11247. textIndex += 1;
  11248. }
  11249. }
  11250. return ret;
  11251. }
  11252. function __emscripten_traverse_stack(args) {
  11253. if (!args || !args.callee || !args.callee.name) {
  11254. return [ null, "", "" ];
  11255. }
  11256. var funstr = args.callee.toString();
  11257. var funcname = args.callee.name;
  11258. var str = "(";
  11259. var first = true;
  11260. for (var i in args) {
  11261. var a = args[i];
  11262. if (!first) {
  11263. str += ", ";
  11264. }
  11265. first = false;
  11266. if (typeof a === "number" || typeof a === "string") {
  11267. str += a;
  11268. } else {
  11269. str += "(" + typeof a + ")";
  11270. }
  11271. }
  11272. str += ")";
  11273. var caller = args.callee.caller;
  11274. args = caller ? caller.arguments : [];
  11275. if (first) str = "";
  11276. return [ args, funcname, str ];
  11277. }
  11278. function _emscripten_get_callstack_js(flags) {
  11279. var callstack = jsStackTrace();
  11280. var iThisFunc = callstack.lastIndexOf("_emscripten_log");
  11281. var iThisFunc2 = callstack.lastIndexOf("_emscripten_get_callstack");
  11282. var iNextLine = callstack.indexOf("\n", Math.max(iThisFunc, iThisFunc2)) + 1;
  11283. callstack = callstack.slice(iNextLine);
  11284. if (flags & 8 && typeof emscripten_source_map === "undefined") {
  11285. warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');
  11286. flags ^= 8;
  11287. flags |= 16;
  11288. }
  11289. var stack_args = null;
  11290. if (flags & 128) {
  11291. stack_args = __emscripten_traverse_stack(arguments);
  11292. while (stack_args[1].indexOf("_emscripten_") >= 0) stack_args = __emscripten_traverse_stack(stack_args[0]);
  11293. }
  11294. var lines = callstack.split("\n");
  11295. callstack = "";
  11296. var newFirefoxRe = new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");
  11297. var firefoxRe = new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");
  11298. var chromeRe = new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");
  11299. for (var l in lines) {
  11300. var line = lines[l];
  11301. var jsSymbolName = "";
  11302. var file = "";
  11303. var lineno = 0;
  11304. var column = 0;
  11305. var parts = chromeRe.exec(line);
  11306. if (parts && parts.length == 5) {
  11307. jsSymbolName = parts[1];
  11308. file = parts[2];
  11309. lineno = parts[3];
  11310. column = parts[4];
  11311. } else {
  11312. parts = newFirefoxRe.exec(line);
  11313. if (!parts) parts = firefoxRe.exec(line);
  11314. if (parts && parts.length >= 4) {
  11315. jsSymbolName = parts[1];
  11316. file = parts[2];
  11317. lineno = parts[3];
  11318. column = parts[4] | 0;
  11319. } else {
  11320. callstack += line + "\n";
  11321. continue;
  11322. }
  11323. }
  11324. var cSymbolName = flags & 32 ? demangle(jsSymbolName) : jsSymbolName;
  11325. if (!cSymbolName) {
  11326. cSymbolName = jsSymbolName;
  11327. }
  11328. var haveSourceMap = false;
  11329. if (flags & 8) {
  11330. var orig = emscripten_source_map.originalPositionFor({
  11331. line: lineno,
  11332. column: column
  11333. });
  11334. haveSourceMap = orig && orig.source;
  11335. if (haveSourceMap) {
  11336. if (flags & 64) {
  11337. orig.source = orig.source.substring(orig.source.replace(/\\/g, "/").lastIndexOf("/") + 1);
  11338. }
  11339. callstack += " at " + cSymbolName + " (" + orig.source + ":" + orig.line + ":" + orig.column + ")\n";
  11340. }
  11341. }
  11342. if (flags & 16 || !haveSourceMap) {
  11343. if (flags & 64) {
  11344. file = file.substring(file.replace(/\\/g, "/").lastIndexOf("/") + 1);
  11345. }
  11346. callstack += (haveSourceMap ? " = " + jsSymbolName : " at " + cSymbolName) + " (" + file + ":" + lineno + ":" + column + ")\n";
  11347. }
  11348. if (flags & 128 && stack_args[0]) {
  11349. if (stack_args[1] == jsSymbolName && stack_args[2].length > 0) {
  11350. callstack = callstack.replace(/\s+$/, "");
  11351. callstack += " with values: " + stack_args[1] + stack_args[2] + "\n";
  11352. }
  11353. stack_args = __emscripten_traverse_stack(stack_args[0]);
  11354. }
  11355. }
  11356. callstack = callstack.replace(/\s+$/, "");
  11357. return callstack;
  11358. }
  11359. function _emscripten_log_js(flags, str) {
  11360. if (flags & 24) {
  11361. str = str.replace(/\s+$/, "");
  11362. str += (str.length > 0 ? "\n" : "") + _emscripten_get_callstack_js(flags);
  11363. }
  11364. if (flags & 1) {
  11365. if (flags & 4) {
  11366. console.error(str);
  11367. } else if (flags & 2) {
  11368. console.warn(str);
  11369. } else {
  11370. console.log(str);
  11371. }
  11372. } else if (flags & 6) {
  11373. err(str);
  11374. } else {
  11375. out(str);
  11376. }
  11377. }
  11378. function _emscripten_log(flags, varargs) {
  11379. var format = HEAP32[varargs >> 2];
  11380. varargs += 4;
  11381. var str = "";
  11382. if (format) {
  11383. var result = __formatString(format, varargs);
  11384. for (var i = 0; i < result.length; ++i) {
  11385. str += String.fromCharCode(result[i]);
  11386. }
  11387. }
  11388. _emscripten_log_js(flags, str);
  11389. }
  11390. function _emscripten_num_logical_cores() {
  11391. return 1;
  11392. }
  11393. function __setLetterbox(element, topBottom, leftRight) {
  11394. if (JSEvents.isInternetExplorer()) {
  11395. element.style.marginLeft = element.style.marginRight = leftRight + "px";
  11396. element.style.marginTop = element.style.marginBottom = topBottom + "px";
  11397. } else {
  11398. element.style.paddingLeft = element.style.paddingRight = leftRight + "px";
  11399. element.style.paddingTop = element.style.paddingBottom = topBottom + "px";
  11400. }
  11401. }
  11402. function __emscripten_do_request_fullscreen(target, strategy) {
  11403. if (typeof JSEvents.fullscreenEnabled() === "undefined") return -1;
  11404. if (!JSEvents.fullscreenEnabled()) return -3;
  11405. if (!target) target = "#canvas";
  11406. target = JSEvents.findEventTarget(target);
  11407. if (!target) return -4;
  11408. if (!target.requestFullscreen && !target.msRequestFullscreen && !target.mozRequestFullScreen && !target.mozRequestFullscreen && !target.webkitRequestFullscreen) {
  11409. return -3;
  11410. }
  11411. var canPerformRequests = JSEvents.canPerformEventHandlerRequests();
  11412. if (!canPerformRequests) {
  11413. if (strategy.deferUntilInEventHandler) {
  11414. JSEvents.deferCall(JSEvents.requestFullscreen, 1, [ target, strategy ]);
  11415. return 1;
  11416. } else {
  11417. return -2;
  11418. }
  11419. }
  11420. return JSEvents.requestFullscreen(target, strategy);
  11421. }
  11422. function _emscripten_request_fullscreen(target, deferUntilInEventHandler) {
  11423. var strategy = {};
  11424. strategy.scaleMode = 0;
  11425. strategy.canvasResolutionScaleMode = 0;
  11426. strategy.filteringMode = 0;
  11427. strategy.deferUntilInEventHandler = deferUntilInEventHandler;
  11428. strategy.canvasResizedCallbackTargetThread = 2;
  11429. return __emscripten_do_request_fullscreen(target, strategy);
  11430. }
  11431. function _emscripten_request_pointerlock(target, deferUntilInEventHandler) {
  11432. if (!target) target = "#canvas";
  11433. target = JSEvents.findEventTarget(target);
  11434. if (!target) return -4;
  11435. if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) {
  11436. return -1;
  11437. }
  11438. var canPerformRequests = JSEvents.canPerformEventHandlerRequests();
  11439. if (!canPerformRequests) {
  11440. if (deferUntilInEventHandler) {
  11441. JSEvents.deferCall(JSEvents.requestPointerLock, 2, [ target ]);
  11442. return 1;
  11443. } else {
  11444. return -2;
  11445. }
  11446. }
  11447. return JSEvents.requestPointerLock(target);
  11448. }
  11449. function _emscripten_set_blur_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11450. JSEvents.registerFocusEventCallback(target, userData, useCapture, callbackfunc, 12, "blur", targetThread);
  11451. return 0;
  11452. }
  11453. function _emscripten_set_dblclick_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11454. JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 7, "dblclick", targetThread);
  11455. return 0;
  11456. }
  11457. function _emscripten_set_devicemotion_callback_on_thread(userData, useCapture, callbackfunc, targetThread) {
  11458. JSEvents.registerDeviceMotionEventCallback(window, userData, useCapture, callbackfunc, 17, "devicemotion", targetThread);
  11459. return 0;
  11460. }
  11461. function _emscripten_set_deviceorientation_callback_on_thread(userData, useCapture, callbackfunc, targetThread) {
  11462. JSEvents.registerDeviceOrientationEventCallback(window, userData, useCapture, callbackfunc, 16, "deviceorientation", targetThread);
  11463. return 0;
  11464. }
  11465. function _emscripten_set_focus_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11466. JSEvents.registerFocusEventCallback(target, userData, useCapture, callbackfunc, 13, "focus", targetThread);
  11467. return 0;
  11468. }
  11469. function _emscripten_set_fullscreenchange_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11470. if (typeof JSEvents.fullscreenEnabled() === "undefined") return -1;
  11471. if (!target) target = document; else {
  11472. target = JSEvents.findEventTarget(target);
  11473. if (!target) return -4;
  11474. }
  11475. JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange", targetThread);
  11476. JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange", targetThread);
  11477. JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange", targetThread);
  11478. JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange", targetThread);
  11479. return 0;
  11480. }
  11481. function _emscripten_set_gamepadconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) {
  11482. if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1;
  11483. JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected", targetThread);
  11484. return 0;
  11485. }
  11486. function _emscripten_set_gamepaddisconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) {
  11487. if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1;
  11488. JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected", targetThread);
  11489. return 0;
  11490. }
  11491. function _emscripten_set_keydown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11492. JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 2, "keydown", targetThread);
  11493. return 0;
  11494. }
  11495. function _emscripten_set_keypress_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11496. JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress", targetThread);
  11497. return 0;
  11498. }
  11499. function _emscripten_set_keyup_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11500. JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 3, "keyup", targetThread);
  11501. return 0;
  11502. }
  11503. function _emscripten_set_mousedown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11504. JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 5, "mousedown", targetThread);
  11505. return 0;
  11506. }
  11507. function _emscripten_set_mousemove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11508. JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 8, "mousemove", targetThread);
  11509. return 0;
  11510. }
  11511. function _emscripten_set_mouseup_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11512. JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 6, "mouseup", targetThread);
  11513. return 0;
  11514. }
  11515. function _emscripten_set_touchcancel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11516. JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel", targetThread);
  11517. return 0;
  11518. }
  11519. function _emscripten_set_touchend_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11520. JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend", targetThread);
  11521. return 0;
  11522. }
  11523. function _emscripten_set_touchmove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11524. JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove", targetThread);
  11525. return 0;
  11526. }
  11527. function _emscripten_set_touchstart_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11528. JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart", targetThread);
  11529. return 0;
  11530. }
  11531. function _emscripten_set_wheel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) {
  11532. target = JSEvents.findEventTarget(target);
  11533. if (typeof target.onwheel !== "undefined") {
  11534. JSEvents.registerWheelEventCallback(target, userData, useCapture, callbackfunc, 9, "wheel", targetThread);
  11535. return 0;
  11536. } else if (typeof target.onmousewheel !== "undefined") {
  11537. JSEvents.registerWheelEventCallback(target, userData, useCapture, callbackfunc, 9, "mousewheel", targetThread);
  11538. return 0;
  11539. } else {
  11540. return -1;
  11541. }
  11542. }
  11543. var GL = {
  11544. counter: 1,
  11545. lastError: 0,
  11546. buffers: [],
  11547. mappedBuffers: {},
  11548. programs: [],
  11549. framebuffers: [],
  11550. renderbuffers: [],
  11551. textures: [],
  11552. uniforms: [],
  11553. shaders: [],
  11554. vaos: [],
  11555. contexts: [],
  11556. currentContext: null,
  11557. offscreenCanvases: {},
  11558. timerQueriesEXT: [],
  11559. queries: [],
  11560. samplers: [],
  11561. transformFeedbacks: [],
  11562. syncs: [],
  11563. byteSizeByTypeRoot: 5120,
  11564. byteSizeByType: [ 1, 1, 2, 2, 4, 4, 4, 2, 3, 4, 8 ],
  11565. programInfos: {},
  11566. stringCache: {},
  11567. stringiCache: {},
  11568. tempFixedLengthArray: [],
  11569. packAlignment: 4,
  11570. unpackAlignment: 4,
  11571. init: (function() {
  11572. GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);
  11573. for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) {
  11574. GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1);
  11575. }
  11576. for (var i = 0; i < 32; i++) {
  11577. GL.tempFixedLengthArray.push(new Array(i));
  11578. }
  11579. }),
  11580. recordError: function recordError(errorCode) {
  11581. if (!GL.lastError) {
  11582. GL.lastError = errorCode;
  11583. }
  11584. },
  11585. getNewId: (function(table) {
  11586. var ret = GL.counter++;
  11587. for (var i = table.length; i < ret; i++) {
  11588. table[i] = null;
  11589. }
  11590. return ret;
  11591. }),
  11592. MINI_TEMP_BUFFER_SIZE: 256,
  11593. miniTempBuffer: null,
  11594. miniTempBufferViews: [ 0 ],
  11595. getSource: (function(shader, count, string, length) {
  11596. var source = "";
  11597. for (var i = 0; i < count; ++i) {
  11598. var frag;
  11599. if (length) {
  11600. var len = HEAP32[length + i * 4 >> 2];
  11601. if (len < 0) {
  11602. frag = Pointer_stringify(HEAP32[string + i * 4 >> 2]);
  11603. } else {
  11604. frag = Pointer_stringify(HEAP32[string + i * 4 >> 2], len);
  11605. }
  11606. } else {
  11607. frag = Pointer_stringify(HEAP32[string + i * 4 >> 2]);
  11608. }
  11609. source += frag;
  11610. }
  11611. return source;
  11612. }),
  11613. createContext: (function(canvas, webGLContextAttributes) {
  11614. if (typeof webGLContextAttributes["majorVersion"] === "undefined" && typeof webGLContextAttributes["minorVersion"] === "undefined") {
  11615. if (typeof WebGL2RenderingContext !== "undefined") webGLContextAttributes["majorVersion"] = 2; else webGLContextAttributes["majorVersion"] = 1;
  11616. webGLContextAttributes["minorVersion"] = 0;
  11617. }
  11618. var ctx;
  11619. var errorInfo = "?";
  11620. function onContextCreationError(event) {
  11621. errorInfo = event.statusMessage || errorInfo;
  11622. }
  11623. webGLContextAttributes["powerPreference"] = "high-performance";
  11624. try {
  11625. canvas.addEventListener("webglcontextcreationerror", onContextCreationError, false);
  11626. try {
  11627. if (webGLContextAttributes["majorVersion"] == 1 && webGLContextAttributes["minorVersion"] == 0) {
  11628. ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes);
  11629. } else if (webGLContextAttributes["majorVersion"] == 2 && webGLContextAttributes["minorVersion"] == 0) {
  11630. ctx = canvas.getContext("webgl2", webGLContextAttributes);
  11631. } else {
  11632. throw "Unsupported WebGL context version " + majorVersion + "." + minorVersion + "!";
  11633. }
  11634. } finally {
  11635. canvas.removeEventListener("webglcontextcreationerror", onContextCreationError, false);
  11636. }
  11637. if (!ctx) throw ":(";
  11638. } catch (e) {
  11639. out("Could not create canvas: " + [ errorInfo, e, JSON.stringify(webGLContextAttributes) ]);
  11640. return 0;
  11641. }
  11642. if (!ctx) return 0;
  11643. var context = GL.registerContext(ctx, webGLContextAttributes);
  11644. return context;
  11645. }),
  11646. registerContext: (function(ctx, webGLContextAttributes) {
  11647. var handle = _malloc(8);
  11648. HEAP32[handle >> 2] = webGLContextAttributes["explicitSwapControl"];
  11649. var context = {
  11650. handle: handle,
  11651. attributes: webGLContextAttributes,
  11652. version: webGLContextAttributes["majorVersion"],
  11653. GLctx: ctx
  11654. };
  11655. function getChromeVersion() {
  11656. var raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
  11657. return raw ? parseInt(raw[2], 10) : false;
  11658. }
  11659. context.supportsWebGL2EntryPoints = context.version >= 2 && (getChromeVersion() === false || getChromeVersion() >= 58);
  11660. if (ctx.canvas) ctx.canvas.GLctxObject = context;
  11661. GL.contexts[handle] = context;
  11662. if (typeof webGLContextAttributes["enableExtensionsByDefault"] === "undefined" || webGLContextAttributes["enableExtensionsByDefault"]) {
  11663. GL.initExtensions(context);
  11664. }
  11665. if (webGLContextAttributes["renderViaOffscreenBackBuffer"]) {
  11666. return 0;
  11667. }
  11668. return handle;
  11669. }),
  11670. makeContextCurrent: (function(contextHandle) {
  11671. if (!contextHandle) {
  11672. GLctx = Module.ctx = GL.currentContext = null;
  11673. return true;
  11674. }
  11675. var context = GL.contexts[contextHandle];
  11676. if (!context) {
  11677. return false;
  11678. }
  11679. GLctx = Module.ctx = context.GLctx;
  11680. GL.currentContext = context;
  11681. return true;
  11682. }),
  11683. getContext: (function(contextHandle) {
  11684. return GL.contexts[contextHandle];
  11685. }),
  11686. deleteContext: (function(contextHandle) {
  11687. if (!contextHandle) return;
  11688. if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null;
  11689. if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
  11690. if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined;
  11691. _free(GL.contexts[contextHandle]);
  11692. GL.contexts[contextHandle] = null;
  11693. }),
  11694. initExtensions: (function(context) {
  11695. if (!context) context = GL.currentContext;
  11696. if (context.initExtensionsDone) return;
  11697. context.initExtensionsDone = true;
  11698. var GLctx = context.GLctx;
  11699. context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);
  11700. if (context.version < 2) {
  11701. var instancedArraysExt = GLctx.getExtension("ANGLE_instanced_arrays");
  11702. if (instancedArraysExt) {
  11703. GLctx["vertexAttribDivisor"] = (function(index, divisor) {
  11704. instancedArraysExt["vertexAttribDivisorANGLE"](index, divisor);
  11705. });
  11706. GLctx["drawArraysInstanced"] = (function(mode, first, count, primcount) {
  11707. instancedArraysExt["drawArraysInstancedANGLE"](mode, first, count, primcount);
  11708. });
  11709. GLctx["drawElementsInstanced"] = (function(mode, count, type, indices, primcount) {
  11710. instancedArraysExt["drawElementsInstancedANGLE"](mode, count, type, indices, primcount);
  11711. });
  11712. }
  11713. var vaoExt = GLctx.getExtension("OES_vertex_array_object");
  11714. if (vaoExt) {
  11715. GLctx["createVertexArray"] = (function() {
  11716. return vaoExt["createVertexArrayOES"]();
  11717. });
  11718. GLctx["deleteVertexArray"] = (function(vao) {
  11719. vaoExt["deleteVertexArrayOES"](vao);
  11720. });
  11721. GLctx["bindVertexArray"] = (function(vao) {
  11722. vaoExt["bindVertexArrayOES"](vao);
  11723. });
  11724. GLctx["isVertexArray"] = (function(vao) {
  11725. return vaoExt["isVertexArrayOES"](vao);
  11726. });
  11727. }
  11728. var drawBuffersExt = GLctx.getExtension("WEBGL_draw_buffers");
  11729. if (drawBuffersExt) {
  11730. GLctx["drawBuffers"] = (function(n, bufs) {
  11731. drawBuffersExt["drawBuffersWEBGL"](n, bufs);
  11732. });
  11733. }
  11734. }
  11735. GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
  11736. var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "EXT_texture_norm16", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2", "WEBKIT_WEBGL_compressed_texture_pvrtc" ];
  11737. var exts = GLctx.getSupportedExtensions();
  11738. if (exts && exts.length > 0) {
  11739. GLctx.getSupportedExtensions().forEach((function(ext) {
  11740. if (automaticallyEnabledExtensions.indexOf(ext) != -1) {
  11741. GLctx.getExtension(ext);
  11742. }
  11743. }));
  11744. }
  11745. }),
  11746. populateUniformTable: (function(program) {
  11747. var p = GL.programs[program];
  11748. GL.programInfos[program] = {
  11749. uniforms: {},
  11750. maxUniformLength: 0,
  11751. maxAttributeLength: -1,
  11752. maxUniformBlockNameLength: -1
  11753. };
  11754. var ptable = GL.programInfos[program];
  11755. var utable = ptable.uniforms;
  11756. var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS);
  11757. for (var i = 0; i < numUniforms; ++i) {
  11758. var u = GLctx.getActiveUniform(p, i);
  11759. var name = u.name;
  11760. ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1);
  11761. if (name.indexOf("]", name.length - 1) !== -1) {
  11762. var ls = name.lastIndexOf("[");
  11763. name = name.slice(0, ls);
  11764. }
  11765. var loc = GLctx.getUniformLocation(p, name);
  11766. if (loc != null) {
  11767. var id = GL.getNewId(GL.uniforms);
  11768. utable[name] = [ u.size, id ];
  11769. GL.uniforms[id] = loc;
  11770. for (var j = 1; j < u.size; ++j) {
  11771. var n = name + "[" + j + "]";
  11772. loc = GLctx.getUniformLocation(p, n);
  11773. id = GL.getNewId(GL.uniforms);
  11774. GL.uniforms[id] = loc;
  11775. }
  11776. }
  11777. }
  11778. })
  11779. };
  11780. function _emscripten_webgl_do_create_context(target, attributes) {
  11781. var contextAttributes = {};
  11782. contextAttributes["alpha"] = !!HEAP32[attributes >> 2];
  11783. contextAttributes["depth"] = !!HEAP32[attributes + 4 >> 2];
  11784. contextAttributes["stencil"] = !!HEAP32[attributes + 8 >> 2];
  11785. contextAttributes["antialias"] = !!HEAP32[attributes + 12 >> 2];
  11786. contextAttributes["premultipliedAlpha"] = !!HEAP32[attributes + 16 >> 2];
  11787. contextAttributes["preserveDrawingBuffer"] = !!HEAP32[attributes + 20 >> 2];
  11788. contextAttributes["preferLowPowerToHighPerformance"] = !!HEAP32[attributes + 24 >> 2];
  11789. contextAttributes["failIfMajorPerformanceCaveat"] = !!HEAP32[attributes + 28 >> 2];
  11790. contextAttributes["majorVersion"] = HEAP32[attributes + 32 >> 2];
  11791. contextAttributes["minorVersion"] = HEAP32[attributes + 36 >> 2];
  11792. contextAttributes["explicitSwapControl"] = HEAP32[attributes + 44 >> 2];
  11793. contextAttributes["proxyContextToMainThread"] = HEAP32[attributes + 48 >> 2];
  11794. contextAttributes["renderViaOffscreenBackBuffer"] = HEAP32[attributes + 52 >> 2];
  11795. target = Pointer_stringify(target);
  11796. var canvas;
  11797. if ((!target || target === "#canvas") && Module["canvas"]) {
  11798. canvas = Module["canvas"].id && GL.offscreenCanvases[Module["canvas"].id] ? GL.offscreenCanvases[Module["canvas"].id].offscreenCanvas || JSEvents.findEventTarget(Module["canvas"].id) : Module["canvas"];
  11799. } else {
  11800. canvas = GL.offscreenCanvases[target] ? GL.offscreenCanvases[target].offscreenCanvas : JSEvents.findEventTarget(target);
  11801. }
  11802. if (!canvas) {
  11803. return 0;
  11804. }
  11805. if (contextAttributes["explicitSwapControl"]) {
  11806. return 0;
  11807. }
  11808. var contextHandle = GL.createContext(canvas, contextAttributes);
  11809. return contextHandle;
  11810. }
  11811. function _emscripten_webgl_create_context() {
  11812. return _emscripten_webgl_do_create_context.apply(null, arguments);
  11813. }
  11814. function _emscripten_webgl_destroy_context_calling_thread(contextHandle) {
  11815. GL.deleteContext(contextHandle);
  11816. }
  11817. function _emscripten_webgl_destroy_context() {
  11818. return _emscripten_webgl_destroy_context_calling_thread.apply(null, arguments);
  11819. }
  11820. function _emscripten_webgl_enable_extension_calling_thread(contextHandle, extension) {
  11821. var context = GL.getContext(contextHandle);
  11822. var extString = Pointer_stringify(extension);
  11823. if (extString.indexOf("GL_") == 0) extString = extString.substr(3);
  11824. var ext = context.GLctx.getExtension(extString);
  11825. return ext ? 1 : 0;
  11826. }
  11827. function _emscripten_webgl_enable_extension() {
  11828. return _emscripten_webgl_enable_extension_calling_thread.apply(null, arguments);
  11829. }
  11830. function _emscripten_webgl_do_get_current_context() {
  11831. return GL.currentContext ? GL.currentContext.handle : 0;
  11832. }
  11833. function _emscripten_webgl_get_current_context() {
  11834. return _emscripten_webgl_do_get_current_context.apply(null, arguments);
  11835. }
  11836. function _emscripten_webgl_init_context_attributes(attributes) {
  11837. HEAP32[attributes >> 2] = 1;
  11838. HEAP32[attributes + 4 >> 2] = 1;
  11839. HEAP32[attributes + 8 >> 2] = 0;
  11840. HEAP32[attributes + 12 >> 2] = 1;
  11841. HEAP32[attributes + 16 >> 2] = 1;
  11842. HEAP32[attributes + 20 >> 2] = 0;
  11843. HEAP32[attributes + 24 >> 2] = 0;
  11844. HEAP32[attributes + 28 >> 2] = 0;
  11845. HEAP32[attributes + 32 >> 2] = 1;
  11846. HEAP32[attributes + 36 >> 2] = 0;
  11847. HEAP32[attributes + 40 >> 2] = 1;
  11848. HEAP32[attributes + 44 >> 2] = 0;
  11849. HEAP32[attributes + 48 >> 2] = 0;
  11850. HEAP32[attributes + 52 >> 2] = 0;
  11851. }
  11852. function _emscripten_webgl_make_context_current(contextHandle) {
  11853. var success = GL.makeContextCurrent(contextHandle);
  11854. return success ? 0 : -5;
  11855. }
  11856. function __exit(status) {
  11857. exit(status);
  11858. }
  11859. function _exit(status) {
  11860. __exit(status);
  11861. }
  11862. function _flock(fd, operation) {
  11863. return 0;
  11864. }
  11865. function _getenv(name) {
  11866. if (name === 0) return 0;
  11867. name = Pointer_stringify(name);
  11868. if (!ENV.hasOwnProperty(name)) return 0;
  11869. if (_getenv.ret) _free(_getenv.ret);
  11870. _getenv.ret = allocateUTF8(ENV[name]);
  11871. return _getenv.ret;
  11872. }
  11873. function _gethostbyname(name) {
  11874. name = Pointer_stringify(name);
  11875. var ret = _malloc(20);
  11876. var nameBuf = _malloc(name.length + 1);
  11877. stringToUTF8(name, nameBuf, name.length + 1);
  11878. HEAP32[ret >> 2] = nameBuf;
  11879. var aliasesBuf = _malloc(4);
  11880. HEAP32[aliasesBuf >> 2] = 0;
  11881. HEAP32[ret + 4 >> 2] = aliasesBuf;
  11882. var afinet = 2;
  11883. HEAP32[ret + 8 >> 2] = afinet;
  11884. HEAP32[ret + 12 >> 2] = 4;
  11885. var addrListBuf = _malloc(12);
  11886. HEAP32[addrListBuf >> 2] = addrListBuf + 8;
  11887. HEAP32[addrListBuf + 4 >> 2] = 0;
  11888. HEAP32[addrListBuf + 8 >> 2] = __inet_pton4_raw(DNS.lookup_name(name));
  11889. HEAP32[ret + 16 >> 2] = addrListBuf;
  11890. return ret;
  11891. }
  11892. function _gethostbyaddr(addr, addrlen, type) {
  11893. if (type !== 2) {
  11894. ___setErrNo(ERRNO_CODES.EAFNOSUPPORT);
  11895. return null;
  11896. }
  11897. addr = HEAP32[addr >> 2];
  11898. var host = __inet_ntop4_raw(addr);
  11899. var lookup = DNS.lookup_addr(host);
  11900. if (lookup) {
  11901. host = lookup;
  11902. }
  11903. var hostp = allocate(intArrayFromString(host), "i8", ALLOC_STACK);
  11904. return _gethostbyname(hostp);
  11905. }
  11906. function _getpagesize() {
  11907. return PAGE_SIZE;
  11908. }
  11909. function _getpwuid(uid) {
  11910. return 0;
  11911. }
  11912. function _gettimeofday(ptr) {
  11913. var now = Date.now();
  11914. HEAP32[ptr >> 2] = now / 1e3 | 0;
  11915. HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0;
  11916. return 0;
  11917. }
  11918. function _glActiveTexture(x0) {
  11919. GLctx["activeTexture"](x0);
  11920. }
  11921. function _glAttachShader(program, shader) {
  11922. GLctx.attachShader(GL.programs[program], GL.shaders[shader]);
  11923. }
  11924. function _glBeginQuery(target, id) {
  11925. GLctx["beginQuery"](target, id ? GL.queries[id] : null);
  11926. }
  11927. function _glBeginTransformFeedback(x0) {
  11928. GLctx["beginTransformFeedback"](x0);
  11929. }
  11930. function _glBindAttribLocation(program, index, name) {
  11931. name = Pointer_stringify(name);
  11932. GLctx.bindAttribLocation(GL.programs[program], index, name);
  11933. }
  11934. function _glBindBuffer(target, buffer) {
  11935. var bufferObj = buffer ? GL.buffers[buffer] : null;
  11936. if (target == 35051) {
  11937. GLctx.currentPixelPackBufferBinding = buffer;
  11938. } else if (target == 35052) {
  11939. GLctx.currentPixelUnpackBufferBinding = buffer;
  11940. }
  11941. GLctx.bindBuffer(target, bufferObj);
  11942. }
  11943. function _glBindBufferBase(target, index, buffer) {
  11944. var bufferObj = buffer ? GL.buffers[buffer] : null;
  11945. GLctx["bindBufferBase"](target, index, bufferObj);
  11946. }
  11947. function _glBindBufferRange(target, index, buffer, offset, ptrsize) {
  11948. var bufferObj = buffer ? GL.buffers[buffer] : null;
  11949. GLctx["bindBufferRange"](target, index, bufferObj, offset, ptrsize);
  11950. }
  11951. function _glBindFramebuffer(target, framebuffer) {
  11952. GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null);
  11953. }
  11954. function _glBindRenderbuffer(target, renderbuffer) {
  11955. GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null);
  11956. }
  11957. function _glBindSampler(unit, sampler) {
  11958. GLctx["bindSampler"](unit, sampler ? GL.samplers[sampler] : null);
  11959. }
  11960. function _glBindTexture(target, texture) {
  11961. GLctx.bindTexture(target, texture ? GL.textures[texture] : null);
  11962. }
  11963. function _glBindTransformFeedback(target, id) {
  11964. var transformFeedback = id ? GL.transformFeedbacks[id] : null;
  11965. if (id && !transformFeedback) {
  11966. GL.recordError(1282);
  11967. return;
  11968. }
  11969. GLctx["bindTransformFeedback"](target, transformFeedback);
  11970. }
  11971. function _glBindVertexArray(vao) {
  11972. GLctx["bindVertexArray"](GL.vaos[vao]);
  11973. }
  11974. function _glBlendEquation(x0) {
  11975. GLctx["blendEquation"](x0);
  11976. }
  11977. function _glBlendEquationSeparate(x0, x1) {
  11978. GLctx["blendEquationSeparate"](x0, x1);
  11979. }
  11980. function _glBlendFuncSeparate(x0, x1, x2, x3) {
  11981. GLctx["blendFuncSeparate"](x0, x1, x2, x3);
  11982. }
  11983. function _glBlitFramebuffer(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) {
  11984. GLctx["blitFramebuffer"](x0, x1, x2, x3, x4, x5, x6, x7, x8, x9);
  11985. }
  11986. function _glBufferData(target, size, data, usage) {
  11987. if (!data) {
  11988. GLctx.bufferData(target, size, usage);
  11989. } else {
  11990. if (GL.currentContext.supportsWebGL2EntryPoints) {
  11991. GLctx.bufferData(target, HEAPU8, usage, data, size);
  11992. return;
  11993. }
  11994. GLctx.bufferData(target, HEAPU8.subarray(data, data + size), usage);
  11995. }
  11996. }
  11997. function _glBufferSubData(target, offset, size, data) {
  11998. if (GL.currentContext.supportsWebGL2EntryPoints) {
  11999. GLctx.bufferSubData(target, offset, HEAPU8, data, size);
  12000. return;
  12001. }
  12002. GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data + size));
  12003. }
  12004. function _glCheckFramebufferStatus(x0) {
  12005. return GLctx["checkFramebufferStatus"](x0);
  12006. }
  12007. function _glClear(x0) {
  12008. GLctx["clear"](x0);
  12009. }
  12010. function _glClearBufferfi(x0, x1, x2, x3) {
  12011. GLctx["clearBufferfi"](x0, x1, x2, x3);
  12012. }
  12013. function _glClearBufferfv(buffer, drawbuffer, value) {
  12014. GLctx["clearBufferfv"](buffer, drawbuffer, HEAPF32, value >> 2);
  12015. }
  12016. function _glClearBufferuiv(buffer, drawbuffer, value) {
  12017. GLctx["clearBufferuiv"](buffer, drawbuffer, HEAPU32, value >> 2);
  12018. }
  12019. function _glClearColor(x0, x1, x2, x3) {
  12020. GLctx["clearColor"](x0, x1, x2, x3);
  12021. }
  12022. function _glClearDepthf(x0) {
  12023. GLctx["clearDepth"](x0);
  12024. }
  12025. function _glClearStencil(x0) {
  12026. GLctx["clearStencil"](x0);
  12027. }
  12028. function _glClientWaitSync(sync, flags, timeoutLo, timeoutHi) {
  12029. timeoutLo = timeoutLo >>> 0;
  12030. timeoutHi = timeoutHi >>> 0;
  12031. var timeout = timeoutLo == 4294967295 && timeoutHi == 4294967295 ? -1 : makeBigInt(timeoutLo, timeoutHi, true);
  12032. return GLctx.clientWaitSync(GL.syncs[sync], flags, timeout);
  12033. }
  12034. function _glColorMask(red, green, blue, alpha) {
  12035. GLctx.colorMask(!!red, !!green, !!blue, !!alpha);
  12036. }
  12037. function _glCompileShader(shader) {
  12038. GLctx.compileShader(GL.shaders[shader]);
  12039. }
  12040. function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) {
  12041. if (GL.currentContext.supportsWebGL2EntryPoints) {
  12042. GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, HEAPU8, data, imageSize);
  12043. return;
  12044. }
  12045. GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray(data, data + imageSize) : null);
  12046. }
  12047. function _glCompressedTexImage3D(target, level, internalFormat, width, height, depth, border, imageSize, data) {
  12048. if (GL.currentContext.supportsWebGL2EntryPoints) {
  12049. GLctx["compressedTexImage3D"](target, level, internalFormat, width, height, depth, border, HEAPU8, data, imageSize);
  12050. } else {
  12051. GLctx["compressedTexImage3D"](target, level, internalFormat, width, height, depth, border, data ? HEAPU8.subarray(data, data + imageSize) : null);
  12052. }
  12053. }
  12054. function _glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) {
  12055. if (GL.currentContext.supportsWebGL2EntryPoints) {
  12056. GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, HEAPU8, data, imageSize);
  12057. return;
  12058. }
  12059. GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray(data, data + imageSize) : null);
  12060. }
  12061. function _glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) {
  12062. if (GL.currentContext.supportsWebGL2EntryPoints) {
  12063. GLctx["compressedTexSubImage3D"](target, level, xoffset, yoffset, zoffset, width, height, depth, format, HEAPU8, data, imageSize);
  12064. } else {
  12065. GLctx["compressedTexSubImage3D"](target, level, xoffset, yoffset, zoffset, width, height, depth, format, data ? HEAPU8.subarray(data, data + imageSize) : null);
  12066. }
  12067. }
  12068. function _glCopyBufferSubData(x0, x1, x2, x3, x4) {
  12069. GLctx["copyBufferSubData"](x0, x1, x2, x3, x4);
  12070. }
  12071. function _glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) {
  12072. GLctx["copyTexImage2D"](x0, x1, x2, x3, x4, x5, x6, x7);
  12073. }
  12074. function _glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) {
  12075. GLctx["copyTexSubImage2D"](x0, x1, x2, x3, x4, x5, x6, x7);
  12076. }
  12077. function _glCreateProgram() {
  12078. var id = GL.getNewId(GL.programs);
  12079. var program = GLctx.createProgram();
  12080. program.name = id;
  12081. GL.programs[id] = program;
  12082. return id;
  12083. }
  12084. function _glCreateShader(shaderType) {
  12085. var id = GL.getNewId(GL.shaders);
  12086. GL.shaders[id] = GLctx.createShader(shaderType);
  12087. return id;
  12088. }
  12089. function _glCullFace(x0) {
  12090. GLctx["cullFace"](x0);
  12091. }
  12092. function _glDeleteBuffers(n, buffers) {
  12093. for (var i = 0; i < n; i++) {
  12094. var id = HEAP32[buffers + i * 4 >> 2];
  12095. var buffer = GL.buffers[id];
  12096. if (!buffer) continue;
  12097. GLctx.deleteBuffer(buffer);
  12098. buffer.name = 0;
  12099. GL.buffers[id] = null;
  12100. if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0;
  12101. if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0;
  12102. }
  12103. }
  12104. function _glDeleteFramebuffers(n, framebuffers) {
  12105. for (var i = 0; i < n; ++i) {
  12106. var id = HEAP32[framebuffers + i * 4 >> 2];
  12107. var framebuffer = GL.framebuffers[id];
  12108. if (!framebuffer) continue;
  12109. GLctx.deleteFramebuffer(framebuffer);
  12110. framebuffer.name = 0;
  12111. GL.framebuffers[id] = null;
  12112. }
  12113. }
  12114. function _glDeleteProgram(id) {
  12115. if (!id) return;
  12116. var program = GL.programs[id];
  12117. if (!program) {
  12118. GL.recordError(1281);
  12119. return;
  12120. }
  12121. GLctx.deleteProgram(program);
  12122. program.name = 0;
  12123. GL.programs[id] = null;
  12124. GL.programInfos[id] = null;
  12125. }
  12126. function _glDeleteQueries(n, ids) {
  12127. for (var i = 0; i < n; i++) {
  12128. var id = HEAP32[ids + i * 4 >> 2];
  12129. var query = GL.queries[id];
  12130. if (!query) continue;
  12131. GLctx["deleteQuery"](query);
  12132. GL.queries[id] = null;
  12133. }
  12134. }
  12135. function _glDeleteRenderbuffers(n, renderbuffers) {
  12136. for (var i = 0; i < n; i++) {
  12137. var id = HEAP32[renderbuffers + i * 4 >> 2];
  12138. var renderbuffer = GL.renderbuffers[id];
  12139. if (!renderbuffer) continue;
  12140. GLctx.deleteRenderbuffer(renderbuffer);
  12141. renderbuffer.name = 0;
  12142. GL.renderbuffers[id] = null;
  12143. }
  12144. }
  12145. function _glDeleteSamplers(n, samplers) {
  12146. for (var i = 0; i < n; i++) {
  12147. var id = HEAP32[samplers + i * 4 >> 2];
  12148. var sampler = GL.samplers[id];
  12149. if (!sampler) continue;
  12150. GLctx["deleteSampler"](sampler);
  12151. sampler.name = 0;
  12152. GL.samplers[id] = null;
  12153. }
  12154. }
  12155. function _glDeleteShader(id) {
  12156. if (!id) return;
  12157. var shader = GL.shaders[id];
  12158. if (!shader) {
  12159. GL.recordError(1281);
  12160. return;
  12161. }
  12162. GLctx.deleteShader(shader);
  12163. GL.shaders[id] = null;
  12164. }
  12165. function _glDeleteSync(id) {
  12166. if (!id) return;
  12167. var sync = GL.syncs[id];
  12168. if (!sync) {
  12169. GL.recordError(1281);
  12170. return;
  12171. }
  12172. GLctx.deleteSync(sync);
  12173. sync.name = 0;
  12174. GL.syncs[id] = null;
  12175. }
  12176. function _glDeleteTextures(n, textures) {
  12177. for (var i = 0; i < n; i++) {
  12178. var id = HEAP32[textures + i * 4 >> 2];
  12179. var texture = GL.textures[id];
  12180. if (!texture) continue;
  12181. GLctx.deleteTexture(texture);
  12182. texture.name = 0;
  12183. GL.textures[id] = null;
  12184. }
  12185. }
  12186. function _glDeleteTransformFeedbacks(n, ids) {
  12187. for (var i = 0; i < n; i++) {
  12188. var id = HEAP32[ids + i * 4 >> 2];
  12189. var transformFeedback = GL.transformFeedbacks[id];
  12190. if (!transformFeedback) continue;
  12191. GLctx["deleteTransformFeedback"](transformFeedback);
  12192. transformFeedback.name = 0;
  12193. GL.transformFeedbacks[id] = null;
  12194. }
  12195. }
  12196. function _glDeleteVertexArrays(n, vaos) {
  12197. for (var i = 0; i < n; i++) {
  12198. var id = HEAP32[vaos + i * 4 >> 2];
  12199. GLctx["deleteVertexArray"](GL.vaos[id]);
  12200. GL.vaos[id] = null;
  12201. }
  12202. }
  12203. function _glDepthFunc(x0) {
  12204. GLctx["depthFunc"](x0);
  12205. }
  12206. function _glDepthMask(flag) {
  12207. GLctx.depthMask(!!flag);
  12208. }
  12209. function _glDetachShader(program, shader) {
  12210. GLctx.detachShader(GL.programs[program], GL.shaders[shader]);
  12211. }
  12212. function _glDisable(x0) {
  12213. GLctx["disable"](x0);
  12214. }
  12215. function _glDisableVertexAttribArray(index) {
  12216. GLctx.disableVertexAttribArray(index);
  12217. }
  12218. function _glDrawArrays(mode, first, count) {
  12219. GLctx.drawArrays(mode, first, count);
  12220. }
  12221. function _glDrawArraysInstanced(mode, first, count, primcount) {
  12222. GLctx["drawArraysInstanced"](mode, first, count, primcount);
  12223. }
  12224. function _glDrawBuffers(n, bufs) {
  12225. var bufArray = GL.tempFixedLengthArray[n];
  12226. for (var i = 0; i < n; i++) {
  12227. bufArray[i] = HEAP32[bufs + i * 4 >> 2];
  12228. }
  12229. GLctx["drawBuffers"](bufArray);
  12230. }
  12231. function _glDrawElements(mode, count, type, indices) {
  12232. GLctx.drawElements(mode, count, type, indices);
  12233. }
  12234. function _glDrawElementsInstanced(mode, count, type, indices, primcount) {
  12235. GLctx["drawElementsInstanced"](mode, count, type, indices, primcount);
  12236. }
  12237. function _glEnable(x0) {
  12238. GLctx["enable"](x0);
  12239. }
  12240. function _glEnableVertexAttribArray(index) {
  12241. GLctx.enableVertexAttribArray(index);
  12242. }
  12243. function _glEndQuery(x0) {
  12244. GLctx["endQuery"](x0);
  12245. }
  12246. function _glEndTransformFeedback() {
  12247. GLctx["endTransformFeedback"]();
  12248. }
  12249. function _glFenceSync(condition, flags) {
  12250. var sync = GLctx.fenceSync(condition, flags);
  12251. if (sync) {
  12252. var id = GL.getNewId(GL.syncs);
  12253. sync.name = id;
  12254. GL.syncs[id] = sync;
  12255. return id;
  12256. } else {
  12257. return 0;
  12258. }
  12259. }
  12260. function _glFinish() {
  12261. GLctx["finish"]();
  12262. }
  12263. function _glFlush() {
  12264. GLctx["flush"]();
  12265. }
  12266. function emscriptenWebGLGetBufferBinding(target) {
  12267. switch (target) {
  12268. case 34962:
  12269. target = 34964;
  12270. break;
  12271. case 34963:
  12272. target = 34965;
  12273. break;
  12274. case 35051:
  12275. target = 35053;
  12276. break;
  12277. case 35052:
  12278. target = 35055;
  12279. break;
  12280. case 35982:
  12281. target = 35983;
  12282. break;
  12283. case 36662:
  12284. target = 36662;
  12285. break;
  12286. case 36663:
  12287. target = 36663;
  12288. break;
  12289. case 35345:
  12290. target = 35368;
  12291. break;
  12292. }
  12293. var buffer = GLctx.getParameter(target);
  12294. if (buffer) return buffer.name | 0; else return 0;
  12295. }
  12296. function emscriptenWebGLValidateMapBufferTarget(target) {
  12297. switch (target) {
  12298. case 34962:
  12299. case 34963:
  12300. case 36662:
  12301. case 36663:
  12302. case 35051:
  12303. case 35052:
  12304. case 35882:
  12305. case 35982:
  12306. case 35345:
  12307. return true;
  12308. default:
  12309. return false;
  12310. }
  12311. }
  12312. function _glFlushMappedBufferRange(target, offset, length) {
  12313. if (!emscriptenWebGLValidateMapBufferTarget(target)) {
  12314. GL.recordError(1280);
  12315. err("GL_INVALID_ENUM in glFlushMappedBufferRange");
  12316. return;
  12317. }
  12318. var mapping = GL.mappedBuffers[emscriptenWebGLGetBufferBinding(target)];
  12319. if (!mapping) {
  12320. GL.recordError(1282);
  12321. Module.printError("buffer was never mapped in glFlushMappedBufferRange");
  12322. return;
  12323. }
  12324. if (!(mapping.access & 16)) {
  12325. GL.recordError(1282);
  12326. Module.printError("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange");
  12327. return;
  12328. }
  12329. if (offset < 0 || length < 0 || offset + length > mapping.length) {
  12330. GL.recordError(1281);
  12331. Module.printError("invalid range in glFlushMappedBufferRange");
  12332. return;
  12333. }
  12334. GLctx.bufferSubData(target, mapping.offset, HEAPU8.subarray(mapping.mem + offset, mapping.mem + offset + length));
  12335. }
  12336. function _glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) {
  12337. GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, GL.renderbuffers[renderbuffer]);
  12338. }
  12339. function _glFramebufferTexture2D(target, attachment, textarget, texture, level) {
  12340. GLctx.framebufferTexture2D(target, attachment, textarget, GL.textures[texture], level);
  12341. }
  12342. function _glFramebufferTextureLayer(target, attachment, texture, level, layer) {
  12343. GLctx.framebufferTextureLayer(target, attachment, GL.textures[texture], level, layer);
  12344. }
  12345. function _glFrontFace(x0) {
  12346. GLctx["frontFace"](x0);
  12347. }
  12348. function _glGenBuffers(n, buffers) {
  12349. for (var i = 0; i < n; i++) {
  12350. var buffer = GLctx.createBuffer();
  12351. if (!buffer) {
  12352. GL.recordError(1282);
  12353. while (i < n) HEAP32[buffers + i++ * 4 >> 2] = 0;
  12354. return;
  12355. }
  12356. var id = GL.getNewId(GL.buffers);
  12357. buffer.name = id;
  12358. GL.buffers[id] = buffer;
  12359. HEAP32[buffers + i * 4 >> 2] = id;
  12360. }
  12361. }
  12362. function _glGenFramebuffers(n, ids) {
  12363. for (var i = 0; i < n; ++i) {
  12364. var framebuffer = GLctx.createFramebuffer();
  12365. if (!framebuffer) {
  12366. GL.recordError(1282);
  12367. while (i < n) HEAP32[ids + i++ * 4 >> 2] = 0;
  12368. return;
  12369. }
  12370. var id = GL.getNewId(GL.framebuffers);
  12371. framebuffer.name = id;
  12372. GL.framebuffers[id] = framebuffer;
  12373. HEAP32[ids + i * 4 >> 2] = id;
  12374. }
  12375. }
  12376. function _glGenQueries(n, ids) {
  12377. for (var i = 0; i < n; i++) {
  12378. var query = GLctx["createQuery"]();
  12379. if (!query) {
  12380. GL.recordError(1282);
  12381. while (i < n) HEAP32[ids + i++ * 4 >> 2] = 0;
  12382. return;
  12383. }
  12384. var id = GL.getNewId(GL.queries);
  12385. query.name = id;
  12386. GL.queries[id] = query;
  12387. HEAP32[ids + i * 4 >> 2] = id;
  12388. }
  12389. }
  12390. function _glGenRenderbuffers(n, renderbuffers) {
  12391. for (var i = 0; i < n; i++) {
  12392. var renderbuffer = GLctx.createRenderbuffer();
  12393. if (!renderbuffer) {
  12394. GL.recordError(1282);
  12395. while (i < n) HEAP32[renderbuffers + i++ * 4 >> 2] = 0;
  12396. return;
  12397. }
  12398. var id = GL.getNewId(GL.renderbuffers);
  12399. renderbuffer.name = id;
  12400. GL.renderbuffers[id] = renderbuffer;
  12401. HEAP32[renderbuffers + i * 4 >> 2] = id;
  12402. }
  12403. }
  12404. function _glGenSamplers(n, samplers) {
  12405. for (var i = 0; i < n; i++) {
  12406. var sampler = GLctx["createSampler"]();
  12407. if (!sampler) {
  12408. GL.recordError(1282);
  12409. while (i < n) HEAP32[samplers + i++ * 4 >> 2] = 0;
  12410. return;
  12411. }
  12412. var id = GL.getNewId(GL.samplers);
  12413. sampler.name = id;
  12414. GL.samplers[id] = sampler;
  12415. HEAP32[samplers + i * 4 >> 2] = id;
  12416. }
  12417. }
  12418. function _glGenTextures(n, textures) {
  12419. for (var i = 0; i < n; i++) {
  12420. var texture = GLctx.createTexture();
  12421. if (!texture) {
  12422. GL.recordError(1282);
  12423. while (i < n) HEAP32[textures + i++ * 4 >> 2] = 0;
  12424. return;
  12425. }
  12426. var id = GL.getNewId(GL.textures);
  12427. texture.name = id;
  12428. GL.textures[id] = texture;
  12429. HEAP32[textures + i * 4 >> 2] = id;
  12430. }
  12431. }
  12432. function _glGenTransformFeedbacks(n, ids) {
  12433. for (var i = 0; i < n; i++) {
  12434. var transformFeedback = GLctx["createTransformFeedback"]();
  12435. if (!transformFeedback) {
  12436. GL.recordError(1282);
  12437. while (i < n) HEAP32[ids + i++ * 4 >> 2] = 0;
  12438. return;
  12439. }
  12440. var id = GL.getNewId(GL.transformFeedbacks);
  12441. transformFeedback.name = id;
  12442. GL.transformFeedbacks[id] = transformFeedback;
  12443. HEAP32[ids + i * 4 >> 2] = id;
  12444. }
  12445. }
  12446. function _glGenVertexArrays(n, arrays) {
  12447. for (var i = 0; i < n; i++) {
  12448. var vao = GLctx["createVertexArray"]();
  12449. if (!vao) {
  12450. GL.recordError(1282);
  12451. while (i < n) HEAP32[arrays + i++ * 4 >> 2] = 0;
  12452. return;
  12453. }
  12454. var id = GL.getNewId(GL.vaos);
  12455. vao.name = id;
  12456. GL.vaos[id] = vao;
  12457. HEAP32[arrays + i * 4 >> 2] = id;
  12458. }
  12459. }
  12460. function _glGenerateMipmap(x0) {
  12461. GLctx["generateMipmap"](x0);
  12462. }
  12463. function _glGetActiveAttrib(program, index, bufSize, length, size, type, name) {
  12464. program = GL.programs[program];
  12465. var info = GLctx.getActiveAttrib(program, index);
  12466. if (!info) return;
  12467. if (bufSize > 0 && name) {
  12468. var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize);
  12469. if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
  12470. } else {
  12471. if (length) HEAP32[length >> 2] = 0;
  12472. }
  12473. if (size) HEAP32[size >> 2] = info.size;
  12474. if (type) HEAP32[type >> 2] = info.type;
  12475. }
  12476. function _glGetActiveUniform(program, index, bufSize, length, size, type, name) {
  12477. program = GL.programs[program];
  12478. var info = GLctx.getActiveUniform(program, index);
  12479. if (!info) return;
  12480. if (bufSize > 0 && name) {
  12481. var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize);
  12482. if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
  12483. } else {
  12484. if (length) HEAP32[length >> 2] = 0;
  12485. }
  12486. if (size) HEAP32[size >> 2] = info.size;
  12487. if (type) HEAP32[type >> 2] = info.type;
  12488. }
  12489. function _glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName) {
  12490. program = GL.programs[program];
  12491. var result = GLctx["getActiveUniformBlockName"](program, uniformBlockIndex);
  12492. if (!result) return;
  12493. if (uniformBlockName && bufSize > 0) {
  12494. var numBytesWrittenExclNull = stringToUTF8(result, uniformBlockName, bufSize);
  12495. if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
  12496. } else {
  12497. if (length) HEAP32[length >> 2] = 0;
  12498. }
  12499. }
  12500. function _glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params) {
  12501. if (!params) {
  12502. GL.recordError(1281);
  12503. return;
  12504. }
  12505. program = GL.programs[program];
  12506. switch (pname) {
  12507. case 35393:
  12508. var name = GLctx["getActiveUniformBlockName"](program, uniformBlockIndex);
  12509. HEAP32[params >> 2] = name.length + 1;
  12510. return;
  12511. default:
  12512. var result = GLctx["getActiveUniformBlockParameter"](program, uniformBlockIndex, pname);
  12513. if (!result) return;
  12514. if (typeof result == "number") {
  12515. HEAP32[params >> 2] = result;
  12516. } else {
  12517. for (var i = 0; i < result.length; i++) {
  12518. HEAP32[params + i * 4 >> 2] = result[i];
  12519. }
  12520. }
  12521. }
  12522. }
  12523. function _glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params) {
  12524. if (!params) {
  12525. GL.recordError(1281);
  12526. return;
  12527. }
  12528. if (uniformCount > 0 && uniformIndices == 0) {
  12529. GL.recordError(1281);
  12530. return;
  12531. }
  12532. program = GL.programs[program];
  12533. var ids = [];
  12534. for (var i = 0; i < uniformCount; i++) {
  12535. ids.push(HEAP32[uniformIndices + i * 4 >> 2]);
  12536. }
  12537. var result = GLctx["getActiveUniforms"](program, ids, pname);
  12538. if (!result) return;
  12539. var len = result.length;
  12540. for (var i = 0; i < len; i++) {
  12541. HEAP32[params + i * 4 >> 2] = result[i];
  12542. }
  12543. }
  12544. function _glGetAttribLocation(program, name) {
  12545. return GLctx.getAttribLocation(GL.programs[program], Pointer_stringify(name));
  12546. }
  12547. function _glGetError() {
  12548. if (GL.lastError) {
  12549. var error = GL.lastError;
  12550. GL.lastError = 0;
  12551. return error;
  12552. } else {
  12553. return GLctx.getError();
  12554. }
  12555. }
  12556. function _glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) {
  12557. var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname);
  12558. if (result instanceof WebGLRenderbuffer || result instanceof WebGLTexture) {
  12559. result = result.name | 0;
  12560. }
  12561. HEAP32[params >> 2] = result;
  12562. }
  12563. function emscriptenWebGLGetIndexed(target, index, data, type) {
  12564. if (!data) {
  12565. GL.recordError(1281);
  12566. return;
  12567. }
  12568. var result = GLctx["getIndexedParameter"](target, index);
  12569. var ret;
  12570. switch (typeof result) {
  12571. case "boolean":
  12572. ret = result ? 1 : 0;
  12573. break;
  12574. case "number":
  12575. ret = result;
  12576. break;
  12577. case "object":
  12578. if (result === null) {
  12579. switch (target) {
  12580. case 35983:
  12581. case 35368:
  12582. ret = 0;
  12583. break;
  12584. default:
  12585. {
  12586. GL.recordError(1280);
  12587. return;
  12588. }
  12589. }
  12590. } else if (result instanceof WebGLBuffer) {
  12591. ret = result.name | 0;
  12592. } else {
  12593. GL.recordError(1280);
  12594. return;
  12595. }
  12596. break;
  12597. default:
  12598. GL.recordError(1280);
  12599. return;
  12600. }
  12601. switch (type) {
  12602. case "Integer64":
  12603. tempI64 = [ ret >>> 0, (tempDouble = ret, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], HEAP32[data >> 2] = tempI64[0], HEAP32[data + 4 >> 2] = tempI64[1];
  12604. break;
  12605. case "Integer":
  12606. HEAP32[data >> 2] = ret;
  12607. break;
  12608. case "Float":
  12609. HEAPF32[data >> 2] = ret;
  12610. break;
  12611. case "Boolean":
  12612. HEAP8[data >> 0] = ret ? 1 : 0;
  12613. break;
  12614. default:
  12615. throw "internal emscriptenWebGLGetIndexed() error, bad type: " + type;
  12616. }
  12617. }
  12618. function _glGetIntegeri_v(target, index, data) {
  12619. emscriptenWebGLGetIndexed(target, index, data, "Integer");
  12620. }
  12621. function emscriptenWebGLGet(name_, p, type) {
  12622. if (!p) {
  12623. GL.recordError(1281);
  12624. return;
  12625. }
  12626. var ret = undefined;
  12627. switch (name_) {
  12628. case 36346:
  12629. ret = 1;
  12630. break;
  12631. case 36344:
  12632. if (type !== "Integer" && type !== "Integer64") {
  12633. GL.recordError(1280);
  12634. }
  12635. return;
  12636. case 34814:
  12637. case 36345:
  12638. ret = 0;
  12639. break;
  12640. case 34466:
  12641. var formats = GLctx.getParameter(34467);
  12642. ret = formats.length;
  12643. break;
  12644. case 33309:
  12645. if (GLctx.canvas.GLctxObject.version < 2) {
  12646. GL.recordError(1282);
  12647. return;
  12648. }
  12649. var exts = GLctx.getSupportedExtensions();
  12650. ret = 2 * exts.length;
  12651. break;
  12652. case 33307:
  12653. case 33308:
  12654. if (GLctx.canvas.GLctxObject.version < 2) {
  12655. GL.recordError(1280);
  12656. return;
  12657. }
  12658. ret = name_ == 33307 ? 3 : 0;
  12659. break;
  12660. }
  12661. if (ret === undefined) {
  12662. var result = GLctx.getParameter(name_);
  12663. switch (typeof result) {
  12664. case "number":
  12665. ret = result;
  12666. break;
  12667. case "boolean":
  12668. ret = result ? 1 : 0;
  12669. break;
  12670. case "string":
  12671. GL.recordError(1280);
  12672. return;
  12673. case "object":
  12674. if (result === null) {
  12675. switch (name_) {
  12676. case 34964:
  12677. case 35725:
  12678. case 34965:
  12679. case 36006:
  12680. case 36007:
  12681. case 32873:
  12682. case 34229:
  12683. case 35097:
  12684. case 36389:
  12685. case 34068:
  12686. {
  12687. ret = 0;
  12688. break;
  12689. }
  12690. default:
  12691. {
  12692. GL.recordError(1280);
  12693. return;
  12694. }
  12695. }
  12696. } else if (result instanceof Float32Array || result instanceof Uint32Array || result instanceof Int32Array || result instanceof Array) {
  12697. for (var i = 0; i < result.length; ++i) {
  12698. switch (type) {
  12699. case "Integer":
  12700. HEAP32[p + i * 4 >> 2] = result[i];
  12701. break;
  12702. case "Float":
  12703. HEAPF32[p + i * 4 >> 2] = result[i];
  12704. break;
  12705. case "Boolean":
  12706. HEAP8[p + i >> 0] = result[i] ? 1 : 0;
  12707. break;
  12708. default:
  12709. throw "internal glGet error, bad type: " + type;
  12710. }
  12711. }
  12712. return;
  12713. } else if (result instanceof WebGLBuffer || result instanceof WebGLProgram || result instanceof WebGLFramebuffer || result instanceof WebGLRenderbuffer || result instanceof WebGLQuery || result instanceof WebGLSampler || result instanceof WebGLSync || result instanceof WebGLTransformFeedback || result instanceof WebGLVertexArrayObject || result instanceof WebGLTexture) {
  12714. ret = result.name | 0;
  12715. } else {
  12716. GL.recordError(1280);
  12717. return;
  12718. }
  12719. break;
  12720. default:
  12721. GL.recordError(1280);
  12722. return;
  12723. }
  12724. }
  12725. switch (type) {
  12726. case "Integer64":
  12727. tempI64 = [ ret >>> 0, (tempDouble = ret, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], HEAP32[p >> 2] = tempI64[0], HEAP32[p + 4 >> 2] = tempI64[1];
  12728. break;
  12729. case "Integer":
  12730. HEAP32[p >> 2] = ret;
  12731. break;
  12732. case "Float":
  12733. HEAPF32[p >> 2] = ret;
  12734. break;
  12735. case "Boolean":
  12736. HEAP8[p >> 0] = ret ? 1 : 0;
  12737. break;
  12738. default:
  12739. throw "internal glGet error, bad type: " + type;
  12740. }
  12741. }
  12742. function _glGetIntegerv(name_, p) {
  12743. emscriptenWebGLGet(name_, p, "Integer");
  12744. }
  12745. function _glGetInternalformativ(target, internalformat, pname, bufSize, params) {
  12746. if (bufSize < 0) {
  12747. GL.recordError(1281);
  12748. return;
  12749. }
  12750. var samples = GLctx["getInternalformatParameter"](target, internalformat, 32937);
  12751. if (!samples) {
  12752. GL.recordError(1280);
  12753. return;
  12754. }
  12755. switch (pname) {
  12756. case 32937:
  12757. var n = Math.min(bufSize, samples.length);
  12758. for (var i = 0; i < n; i++) {
  12759. var v = samples[i];
  12760. HEAP32[params + i * 4 >> 2] = v;
  12761. }
  12762. break;
  12763. case 37760:
  12764. if (bufSize > 1) {
  12765. var v = samples.length;
  12766. HEAP32[params >> 2] = v;
  12767. }
  12768. break;
  12769. default:
  12770. GL.recordError(1280);
  12771. }
  12772. }
  12773. function _glGetProgramBinary(program, bufSize, length, binaryFormat, binary) {
  12774. GL.recordError(1282);
  12775. }
  12776. function _glGetProgramInfoLog(program, maxLength, length, infoLog) {
  12777. var log = GLctx.getProgramInfoLog(GL.programs[program]);
  12778. if (log === null) log = "(unknown error)";
  12779. if (maxLength > 0 && infoLog) {
  12780. var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength);
  12781. if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
  12782. } else {
  12783. if (length) HEAP32[length >> 2] = 0;
  12784. }
  12785. }
  12786. function _glGetProgramiv(program, pname, p) {
  12787. if (!p) {
  12788. GL.recordError(1281);
  12789. return;
  12790. }
  12791. if (program >= GL.counter) {
  12792. GL.recordError(1281);
  12793. return;
  12794. }
  12795. var ptable = GL.programInfos[program];
  12796. if (!ptable) {
  12797. GL.recordError(1282);
  12798. return;
  12799. }
  12800. if (pname == 35716) {
  12801. var log = GLctx.getProgramInfoLog(GL.programs[program]);
  12802. if (log === null) log = "(unknown error)";
  12803. HEAP32[p >> 2] = log.length + 1;
  12804. } else if (pname == 35719) {
  12805. HEAP32[p >> 2] = ptable.maxUniformLength;
  12806. } else if (pname == 35722) {
  12807. if (ptable.maxAttributeLength == -1) {
  12808. program = GL.programs[program];
  12809. var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES);
  12810. ptable.maxAttributeLength = 0;
  12811. for (var i = 0; i < numAttribs; ++i) {
  12812. var activeAttrib = GLctx.getActiveAttrib(program, i);
  12813. ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length + 1);
  12814. }
  12815. }
  12816. HEAP32[p >> 2] = ptable.maxAttributeLength;
  12817. } else if (pname == 35381) {
  12818. if (ptable.maxUniformBlockNameLength == -1) {
  12819. program = GL.programs[program];
  12820. var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS);
  12821. ptable.maxUniformBlockNameLength = 0;
  12822. for (var i = 0; i < numBlocks; ++i) {
  12823. var activeBlockName = GLctx.getActiveUniformBlockName(program, i);
  12824. ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length + 1);
  12825. }
  12826. }
  12827. HEAP32[p >> 2] = ptable.maxUniformBlockNameLength;
  12828. } else {
  12829. HEAP32[p >> 2] = GLctx.getProgramParameter(GL.programs[program], pname);
  12830. }
  12831. }
  12832. function _glGetQueryObjectuiv(id, pname, params) {
  12833. if (!params) {
  12834. GL.recordError(1281);
  12835. return;
  12836. }
  12837. var query = GL.queries[id];
  12838. var param = GLctx["getQueryParameter"](query, pname);
  12839. var ret;
  12840. if (typeof param == "boolean") {
  12841. ret = param ? 1 : 0;
  12842. } else {
  12843. ret = param;
  12844. }
  12845. HEAP32[params >> 2] = ret;
  12846. }
  12847. function _glGetQueryiv(target, pname, params) {
  12848. if (!params) {
  12849. GL.recordError(1281);
  12850. return;
  12851. }
  12852. HEAP32[params >> 2] = GLctx["getQuery"](target, pname);
  12853. }
  12854. function _glGetRenderbufferParameteriv(target, pname, params) {
  12855. if (!params) {
  12856. GL.recordError(1281);
  12857. return;
  12858. }
  12859. HEAP32[params >> 2] = GLctx.getRenderbufferParameter(target, pname);
  12860. }
  12861. function _glGetShaderInfoLog(shader, maxLength, length, infoLog) {
  12862. var log = GLctx.getShaderInfoLog(GL.shaders[shader]);
  12863. if (log === null) log = "(unknown error)";
  12864. if (maxLength > 0 && infoLog) {
  12865. var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength);
  12866. if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
  12867. } else {
  12868. if (length) HEAP32[length >> 2] = 0;
  12869. }
  12870. }
  12871. function _glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) {
  12872. var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType);
  12873. HEAP32[range >> 2] = result.rangeMin;
  12874. HEAP32[range + 4 >> 2] = result.rangeMax;
  12875. HEAP32[precision >> 2] = result.precision;
  12876. }
  12877. function _glGetShaderSource(shader, bufSize, length, source) {
  12878. var result = GLctx.getShaderSource(GL.shaders[shader]);
  12879. if (!result) return;
  12880. if (bufSize > 0 && source) {
  12881. var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize);
  12882. if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
  12883. } else {
  12884. if (length) HEAP32[length >> 2] = 0;
  12885. }
  12886. }
  12887. function _glGetShaderiv(shader, pname, p) {
  12888. if (!p) {
  12889. GL.recordError(1281);
  12890. return;
  12891. }
  12892. if (pname == 35716) {
  12893. var log = GLctx.getShaderInfoLog(GL.shaders[shader]);
  12894. if (log === null) log = "(unknown error)";
  12895. HEAP32[p >> 2] = log.length + 1;
  12896. } else if (pname == 35720) {
  12897. var source = GLctx.getShaderSource(GL.shaders[shader]);
  12898. var sourceLength = source === null || source.length == 0 ? 0 : source.length + 1;
  12899. HEAP32[p >> 2] = sourceLength;
  12900. } else {
  12901. HEAP32[p >> 2] = GLctx.getShaderParameter(GL.shaders[shader], pname);
  12902. }
  12903. }
  12904. function _glGetString(name_) {
  12905. if (GL.stringCache[name_]) return GL.stringCache[name_];
  12906. var ret;
  12907. switch (name_) {
  12908. case 7936:
  12909. case 7937:
  12910. case 37445:
  12911. case 37446:
  12912. ret = allocate(intArrayFromString(GLctx.getParameter(name_)), "i8", ALLOC_NORMAL);
  12913. break;
  12914. case 7938:
  12915. var glVersion = GLctx.getParameter(GLctx.VERSION);
  12916. if (GLctx.canvas.GLctxObject.version >= 2) glVersion = "OpenGL ES 3.0 (" + glVersion + ")"; else {
  12917. glVersion = "OpenGL ES 2.0 (" + glVersion + ")";
  12918. }
  12919. ret = allocate(intArrayFromString(glVersion), "i8", ALLOC_NORMAL);
  12920. break;
  12921. case 7939:
  12922. var exts = GLctx.getSupportedExtensions();
  12923. var gl_exts = [];
  12924. for (var i = 0; i < exts.length; ++i) {
  12925. gl_exts.push(exts[i]);
  12926. gl_exts.push("GL_" + exts[i]);
  12927. }
  12928. ret = allocate(intArrayFromString(gl_exts.join(" ")), "i8", ALLOC_NORMAL);
  12929. break;
  12930. case 35724:
  12931. var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);
  12932. var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;
  12933. var ver_num = glslVersion.match(ver_re);
  12934. if (ver_num !== null) {
  12935. if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + "0";
  12936. glslVersion = "OpenGL ES GLSL ES " + ver_num[1] + " (" + glslVersion + ")";
  12937. }
  12938. ret = allocate(intArrayFromString(glslVersion), "i8", ALLOC_NORMAL);
  12939. break;
  12940. default:
  12941. GL.recordError(1280);
  12942. return 0;
  12943. }
  12944. GL.stringCache[name_] = ret;
  12945. return ret;
  12946. }
  12947. function _glGetStringi(name, index) {
  12948. if (GLctx.canvas.GLctxObject.version < 2) {
  12949. GL.recordError(1282);
  12950. return 0;
  12951. }
  12952. var stringiCache = GL.stringiCache[name];
  12953. if (stringiCache) {
  12954. if (index < 0 || index >= stringiCache.length) {
  12955. GL.recordError(1281);
  12956. return 0;
  12957. }
  12958. return stringiCache[index];
  12959. }
  12960. switch (name) {
  12961. case 7939:
  12962. var exts = GLctx.getSupportedExtensions();
  12963. var gl_exts = [];
  12964. for (var i = 0; i < exts.length; ++i) {
  12965. gl_exts.push(allocate(intArrayFromString(exts[i]), "i8", ALLOC_NORMAL));
  12966. gl_exts.push(allocate(intArrayFromString("GL_" + exts[i]), "i8", ALLOC_NORMAL));
  12967. }
  12968. stringiCache = GL.stringiCache[name] = gl_exts;
  12969. if (index < 0 || index >= stringiCache.length) {
  12970. GL.recordError(1281);
  12971. return 0;
  12972. }
  12973. return stringiCache[index];
  12974. default:
  12975. GL.recordError(1280);
  12976. return 0;
  12977. }
  12978. }
  12979. function _glGetTexParameteriv(target, pname, params) {
  12980. if (!params) {
  12981. GL.recordError(1281);
  12982. return;
  12983. }
  12984. HEAP32[params >> 2] = GLctx.getTexParameter(target, pname);
  12985. }
  12986. function _glGetUniformBlockIndex(program, uniformBlockName) {
  12987. program = GL.programs[program];
  12988. uniformBlockName = Pointer_stringify(uniformBlockName);
  12989. return GLctx["getUniformBlockIndex"](program, uniformBlockName);
  12990. }
  12991. function _glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices) {
  12992. if (!uniformIndices) {
  12993. GL.recordError(1281);
  12994. return;
  12995. }
  12996. if (uniformCount > 0 && (uniformNames == 0 || uniformIndices == 0)) {
  12997. GL.recordError(1281);
  12998. return;
  12999. }
  13000. program = GL.programs[program];
  13001. var names = [];
  13002. for (var i = 0; i < uniformCount; i++) names.push(Pointer_stringify(HEAP32[uniformNames + i * 4 >> 2]));
  13003. var result = GLctx["getUniformIndices"](program, names);
  13004. if (!result) return;
  13005. var len = result.length;
  13006. for (var i = 0; i < len; i++) {
  13007. HEAP32[uniformIndices + i * 4 >> 2] = result[i];
  13008. }
  13009. }
  13010. function _glGetUniformLocation(program, name) {
  13011. name = Pointer_stringify(name);
  13012. var arrayOffset = 0;
  13013. if (name.indexOf("]", name.length - 1) !== -1) {
  13014. var ls = name.lastIndexOf("[");
  13015. var arrayIndex = name.slice(ls + 1, -1);
  13016. if (arrayIndex.length > 0) {
  13017. arrayOffset = parseInt(arrayIndex);
  13018. if (arrayOffset < 0) {
  13019. return -1;
  13020. }
  13021. }
  13022. name = name.slice(0, ls);
  13023. }
  13024. var ptable = GL.programInfos[program];
  13025. if (!ptable) {
  13026. return -1;
  13027. }
  13028. var utable = ptable.uniforms;
  13029. var uniformInfo = utable[name];
  13030. if (uniformInfo && arrayOffset < uniformInfo[0]) {
  13031. return uniformInfo[1] + arrayOffset;
  13032. } else {
  13033. return -1;
  13034. }
  13035. }
  13036. function emscriptenWebGLGetUniform(program, location, params, type) {
  13037. if (!params) {
  13038. GL.recordError(1281);
  13039. return;
  13040. }
  13041. var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]);
  13042. if (typeof data == "number" || typeof data == "boolean") {
  13043. switch (type) {
  13044. case "Integer":
  13045. HEAP32[params >> 2] = data;
  13046. break;
  13047. case "Float":
  13048. HEAPF32[params >> 2] = data;
  13049. break;
  13050. default:
  13051. throw "internal emscriptenWebGLGetUniform() error, bad type: " + type;
  13052. }
  13053. } else {
  13054. for (var i = 0; i < data.length; i++) {
  13055. switch (type) {
  13056. case "Integer":
  13057. HEAP32[params + i * 4 >> 2] = data[i];
  13058. break;
  13059. case "Float":
  13060. HEAPF32[params + i * 4 >> 2] = data[i];
  13061. break;
  13062. default:
  13063. throw "internal emscriptenWebGLGetUniform() error, bad type: " + type;
  13064. }
  13065. }
  13066. }
  13067. }
  13068. function _glGetUniformiv(program, location, params) {
  13069. emscriptenWebGLGetUniform(program, location, params, "Integer");
  13070. }
  13071. function emscriptenWebGLGetVertexAttrib(index, pname, params, type) {
  13072. if (!params) {
  13073. GL.recordError(1281);
  13074. return;
  13075. }
  13076. var data = GLctx.getVertexAttrib(index, pname);
  13077. if (pname == 34975) {
  13078. HEAP32[params >> 2] = data["name"];
  13079. } else if (typeof data == "number" || typeof data == "boolean") {
  13080. switch (type) {
  13081. case "Integer":
  13082. HEAP32[params >> 2] = data;
  13083. break;
  13084. case "Float":
  13085. HEAPF32[params >> 2] = data;
  13086. break;
  13087. case "FloatToInteger":
  13088. HEAP32[params >> 2] = Math.fround(data);
  13089. break;
  13090. default:
  13091. throw "internal emscriptenWebGLGetVertexAttrib() error, bad type: " + type;
  13092. }
  13093. } else {
  13094. for (var i = 0; i < data.length; i++) {
  13095. switch (type) {
  13096. case "Integer":
  13097. HEAP32[params + i * 4 >> 2] = data[i];
  13098. break;
  13099. case "Float":
  13100. HEAPF32[params + i * 4 >> 2] = data[i];
  13101. break;
  13102. case "FloatToInteger":
  13103. HEAP32[params + i * 4 >> 2] = Math.fround(data[i]);
  13104. break;
  13105. default:
  13106. throw "internal emscriptenWebGLGetVertexAttrib() error, bad type: " + type;
  13107. }
  13108. }
  13109. }
  13110. }
  13111. function _glGetVertexAttribiv(index, pname, params) {
  13112. emscriptenWebGLGetVertexAttrib(index, pname, params, "FloatToInteger");
  13113. }
  13114. function _glInvalidateFramebuffer(target, numAttachments, attachments) {
  13115. var list = GL.tempFixedLengthArray[numAttachments];
  13116. for (var i = 0; i < numAttachments; i++) {
  13117. list[i] = HEAP32[attachments + i * 4 >> 2];
  13118. }
  13119. GLctx["invalidateFramebuffer"](target, list);
  13120. }
  13121. function _glIsEnabled(x0) {
  13122. return GLctx["isEnabled"](x0);
  13123. }
  13124. function _glIsVertexArray(array) {
  13125. var vao = GL.vaos[array];
  13126. if (!vao) return 0;
  13127. return GLctx["isVertexArray"](vao);
  13128. }
  13129. function _glLinkProgram(program) {
  13130. GLctx.linkProgram(GL.programs[program]);
  13131. GL.programInfos[program] = null;
  13132. GL.populateUniformTable(program);
  13133. }
  13134. function _glMapBufferRange(target, offset, length, access) {
  13135. if (access != 26 && access != 10) {
  13136. err("glMapBufferRange is only supported when access is MAP_WRITE|INVALIDATE_BUFFER");
  13137. return 0;
  13138. }
  13139. if (!emscriptenWebGLValidateMapBufferTarget(target)) {
  13140. GL.recordError(1280);
  13141. err("GL_INVALID_ENUM in glMapBufferRange");
  13142. return 0;
  13143. }
  13144. var mem = _malloc(length);
  13145. if (!mem) return 0;
  13146. GL.mappedBuffers[emscriptenWebGLGetBufferBinding(target)] = {
  13147. offset: offset,
  13148. length: length,
  13149. mem: mem,
  13150. access: access
  13151. };
  13152. return mem;
  13153. }
  13154. function _glPixelStorei(pname, param) {
  13155. if (pname == 3333) {
  13156. GL.packAlignment = param;
  13157. } else if (pname == 3317) {
  13158. GL.unpackAlignment = param;
  13159. }
  13160. GLctx.pixelStorei(pname, param);
  13161. }
  13162. function _glPolygonOffset(x0, x1) {
  13163. GLctx["polygonOffset"](x0, x1);
  13164. }
  13165. function _glProgramBinary(program, binaryFormat, binary, length) {
  13166. GL.recordError(1280);
  13167. }
  13168. function _glProgramParameteri(program, pname, value) {
  13169. GL.recordError(1280);
  13170. }
  13171. function _glReadBuffer(x0) {
  13172. GLctx["readBuffer"](x0);
  13173. }
  13174. function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) {
  13175. function roundedToNextMultipleOf(x, y) {
  13176. return Math.floor((x + y - 1) / y) * y;
  13177. }
  13178. var plainRowSize = width * sizePerPixel;
  13179. var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment);
  13180. return height <= 0 ? 0 : (height - 1) * alignedRowSize + plainRowSize;
  13181. }
  13182. function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) {
  13183. var sizePerPixel;
  13184. var numChannels;
  13185. switch (format) {
  13186. case 6406:
  13187. case 6409:
  13188. case 6402:
  13189. case 6403:
  13190. case 36244:
  13191. numChannels = 1;
  13192. break;
  13193. case 6410:
  13194. case 33319:
  13195. case 33320:
  13196. numChannels = 2;
  13197. break;
  13198. case 6407:
  13199. case 35904:
  13200. case 36248:
  13201. numChannels = 3;
  13202. break;
  13203. case 6408:
  13204. case 35906:
  13205. case 36249:
  13206. numChannels = 4;
  13207. break;
  13208. default:
  13209. GL.recordError(1280);
  13210. return null;
  13211. }
  13212. switch (type) {
  13213. case 5121:
  13214. case 5120:
  13215. sizePerPixel = numChannels * 1;
  13216. break;
  13217. case 5123:
  13218. case 36193:
  13219. case 5131:
  13220. case 5122:
  13221. sizePerPixel = numChannels * 2;
  13222. break;
  13223. case 5125:
  13224. case 5126:
  13225. case 5124:
  13226. sizePerPixel = numChannels * 4;
  13227. break;
  13228. case 34042:
  13229. case 35902:
  13230. case 33640:
  13231. case 35899:
  13232. case 34042:
  13233. sizePerPixel = 4;
  13234. break;
  13235. case 33635:
  13236. case 32819:
  13237. case 32820:
  13238. sizePerPixel = 2;
  13239. break;
  13240. default:
  13241. GL.recordError(1280);
  13242. return null;
  13243. }
  13244. var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment);
  13245. switch (type) {
  13246. case 5120:
  13247. return HEAP8.subarray(pixels, pixels + bytes);
  13248. case 5121:
  13249. return HEAPU8.subarray(pixels, pixels + bytes);
  13250. case 5122:
  13251. return HEAP16.subarray(pixels >> 1, pixels + bytes >> 1);
  13252. case 5124:
  13253. return HEAP32.subarray(pixels >> 2, pixels + bytes >> 2);
  13254. case 5126:
  13255. return HEAPF32.subarray(pixels >> 2, pixels + bytes >> 2);
  13256. case 5125:
  13257. case 34042:
  13258. case 35902:
  13259. case 33640:
  13260. case 35899:
  13261. case 34042:
  13262. return HEAPU32.subarray(pixels >> 2, pixels + bytes >> 2);
  13263. case 5123:
  13264. case 33635:
  13265. case 32819:
  13266. case 32820:
  13267. case 36193:
  13268. case 5131:
  13269. return HEAPU16.subarray(pixels >> 1, pixels + bytes >> 1);
  13270. default:
  13271. GL.recordError(1280);
  13272. return null;
  13273. }
  13274. }
  13275. function emscriptenWebGLGetHeapForType(type) {
  13276. switch (type) {
  13277. case 5120:
  13278. return HEAP8;
  13279. case 5121:
  13280. return HEAPU8;
  13281. case 5122:
  13282. return HEAP16;
  13283. case 5123:
  13284. case 33635:
  13285. case 32819:
  13286. case 32820:
  13287. case 36193:
  13288. case 5131:
  13289. return HEAPU16;
  13290. case 5124:
  13291. return HEAP32;
  13292. case 5125:
  13293. case 34042:
  13294. case 35902:
  13295. case 33640:
  13296. case 35899:
  13297. case 34042:
  13298. return HEAPU32;
  13299. case 5126:
  13300. return HEAPF32;
  13301. default:
  13302. return null;
  13303. }
  13304. }
  13305. function emscriptenWebGLGetShiftForType(type) {
  13306. switch (type) {
  13307. case 5120:
  13308. case 5121:
  13309. return 0;
  13310. case 5122:
  13311. case 5123:
  13312. case 33635:
  13313. case 32819:
  13314. case 32820:
  13315. case 36193:
  13316. case 5131:
  13317. return 1;
  13318. case 5124:
  13319. case 5126:
  13320. case 5125:
  13321. case 34042:
  13322. case 35902:
  13323. case 33640:
  13324. case 35899:
  13325. case 34042:
  13326. return 2;
  13327. default:
  13328. return 0;
  13329. }
  13330. }
  13331. function _glReadPixels(x, y, width, height, format, type, pixels) {
  13332. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13333. if (GLctx.currentPixelPackBufferBinding) {
  13334. GLctx.readPixels(x, y, width, height, format, type, pixels);
  13335. } else {
  13336. GLctx.readPixels(x, y, width, height, format, type, emscriptenWebGLGetHeapForType(type), pixels >> emscriptenWebGLGetShiftForType(type));
  13337. }
  13338. return;
  13339. }
  13340. var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format);
  13341. if (!pixelData) {
  13342. GL.recordError(1280);
  13343. return;
  13344. }
  13345. GLctx.readPixels(x, y, width, height, format, type, pixelData);
  13346. }
  13347. function _glRenderbufferStorage(x0, x1, x2, x3) {
  13348. GLctx["renderbufferStorage"](x0, x1, x2, x3);
  13349. }
  13350. function _glRenderbufferStorageMultisample(x0, x1, x2, x3, x4) {
  13351. GLctx["renderbufferStorageMultisample"](x0, x1, x2, x3, x4);
  13352. }
  13353. function _glSamplerParameteri(sampler, pname, param) {
  13354. GLctx["samplerParameteri"](sampler ? GL.samplers[sampler] : null, pname, param);
  13355. }
  13356. function _glScissor(x0, x1, x2, x3) {
  13357. GLctx["scissor"](x0, x1, x2, x3);
  13358. }
  13359. function _glShaderSource(shader, count, string, length) {
  13360. var source = GL.getSource(shader, count, string, length);
  13361. GLctx.shaderSource(GL.shaders[shader], source);
  13362. }
  13363. function _glStencilFuncSeparate(x0, x1, x2, x3) {
  13364. GLctx["stencilFuncSeparate"](x0, x1, x2, x3);
  13365. }
  13366. function _glStencilMask(x0) {
  13367. GLctx["stencilMask"](x0);
  13368. }
  13369. function _glStencilOpSeparate(x0, x1, x2, x3) {
  13370. GLctx["stencilOpSeparate"](x0, x1, x2, x3);
  13371. }
  13372. function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) {
  13373. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13374. if (GLctx.currentPixelUnpackBufferBinding) {
  13375. GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
  13376. } else if (pixels != 0) {
  13377. GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, emscriptenWebGLGetHeapForType(type), pixels >> emscriptenWebGLGetShiftForType(type));
  13378. } else {
  13379. GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, null);
  13380. }
  13381. return;
  13382. }
  13383. var pixelData = null;
  13384. if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat);
  13385. GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData);
  13386. }
  13387. function _glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels) {
  13388. if (GLctx.currentPixelUnpackBufferBinding) {
  13389. GLctx["texImage3D"](target, level, internalFormat, width, height, depth, border, format, type, pixels);
  13390. } else if (pixels != 0) {
  13391. GLctx["texImage3D"](target, level, internalFormat, width, height, depth, border, format, type, emscriptenWebGLGetHeapForType(type), pixels >> emscriptenWebGLGetShiftForType(type));
  13392. } else {
  13393. GLctx["texImage3D"](target, level, internalFormat, width, height, depth, border, format, type, null);
  13394. }
  13395. }
  13396. function _glTexParameterf(x0, x1, x2) {
  13397. GLctx["texParameterf"](x0, x1, x2);
  13398. }
  13399. function _glTexParameteri(x0, x1, x2) {
  13400. GLctx["texParameteri"](x0, x1, x2);
  13401. }
  13402. function _glTexParameteriv(target, pname, params) {
  13403. var param = HEAP32[params >> 2];
  13404. GLctx.texParameteri(target, pname, param);
  13405. }
  13406. function _glTexStorage2D(x0, x1, x2, x3, x4) {
  13407. GLctx["texStorage2D"](x0, x1, x2, x3, x4);
  13408. }
  13409. function _glTexStorage3D(x0, x1, x2, x3, x4, x5) {
  13410. GLctx["texStorage3D"](x0, x1, x2, x3, x4, x5);
  13411. }
  13412. function _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) {
  13413. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13414. if (GLctx.currentPixelUnpackBufferBinding) {
  13415. GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
  13416. } else if (pixels != 0) {
  13417. GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, emscriptenWebGLGetHeapForType(type), pixels >> emscriptenWebGLGetShiftForType(type));
  13418. } else {
  13419. GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, null);
  13420. }
  13421. return;
  13422. }
  13423. var pixelData = null;
  13424. if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0);
  13425. GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData);
  13426. }
  13427. function _glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) {
  13428. if (GLctx.currentPixelUnpackBufferBinding) {
  13429. GLctx["texSubImage3D"](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  13430. } else if (pixels != 0) {
  13431. GLctx["texSubImage3D"](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, emscriptenWebGLGetHeapForType(type), pixels >> emscriptenWebGLGetShiftForType(type));
  13432. } else {
  13433. GLctx["texSubImage3D"](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, null);
  13434. }
  13435. }
  13436. function _glTransformFeedbackVaryings(program, count, varyings, bufferMode) {
  13437. program = GL.programs[program];
  13438. var vars = [];
  13439. for (var i = 0; i < count; i++) vars.push(Pointer_stringify(HEAP32[varyings + i * 4 >> 2]));
  13440. GLctx["transformFeedbackVaryings"](program, vars, bufferMode);
  13441. }
  13442. function _glUniform1fv(location, count, value) {
  13443. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13444. GLctx.uniform1fv(GL.uniforms[location], HEAPF32, value >> 2, count);
  13445. return;
  13446. }
  13447. var view;
  13448. if (count <= GL.MINI_TEMP_BUFFER_SIZE) {
  13449. view = GL.miniTempBufferViews[count - 1];
  13450. for (var i = 0; i < count; ++i) {
  13451. view[i] = HEAPF32[value + 4 * i >> 2];
  13452. }
  13453. } else {
  13454. view = HEAPF32.subarray(value >> 2, value + count * 4 >> 2);
  13455. }
  13456. GLctx.uniform1fv(GL.uniforms[location], view);
  13457. }
  13458. function _glUniform1i(location, v0) {
  13459. GLctx.uniform1i(GL.uniforms[location], v0);
  13460. }
  13461. function _glUniform1iv(location, count, value) {
  13462. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13463. GLctx.uniform1iv(GL.uniforms[location], HEAP32, value >> 2, count);
  13464. return;
  13465. }
  13466. GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray(value >> 2, value + count * 4 >> 2));
  13467. }
  13468. function _glUniform1uiv(location, count, value) {
  13469. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13470. GLctx.uniform1uiv(GL.uniforms[location], HEAPU32, value >> 2, count);
  13471. } else {
  13472. GLctx.uniform1uiv(GL.uniforms[location], HEAPU32.subarray(value >> 2, value + count * 4 >> 2));
  13473. }
  13474. }
  13475. function _glUniform2fv(location, count, value) {
  13476. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13477. GLctx.uniform2fv(GL.uniforms[location], HEAPF32, value >> 2, count * 2);
  13478. return;
  13479. }
  13480. var view;
  13481. if (2 * count <= GL.MINI_TEMP_BUFFER_SIZE) {
  13482. view = GL.miniTempBufferViews[2 * count - 1];
  13483. for (var i = 0; i < 2 * count; i += 2) {
  13484. view[i] = HEAPF32[value + 4 * i >> 2];
  13485. view[i + 1] = HEAPF32[value + (4 * i + 4) >> 2];
  13486. }
  13487. } else {
  13488. view = HEAPF32.subarray(value >> 2, value + count * 8 >> 2);
  13489. }
  13490. GLctx.uniform2fv(GL.uniforms[location], view);
  13491. }
  13492. function _glUniform2iv(location, count, value) {
  13493. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13494. GLctx.uniform2iv(GL.uniforms[location], HEAP32, value >> 2, count * 2);
  13495. return;
  13496. }
  13497. GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray(value >> 2, value + count * 8 >> 2));
  13498. }
  13499. function _glUniform2uiv(location, count, value) {
  13500. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13501. GLctx.uniform2uiv(GL.uniforms[location], HEAPU32, value >> 2, count * 2);
  13502. } else {
  13503. GLctx.uniform2uiv(GL.uniforms[location], HEAPU32.subarray(value >> 2, value + count * 8 >> 2));
  13504. }
  13505. }
  13506. function _glUniform3fv(location, count, value) {
  13507. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13508. GLctx.uniform3fv(GL.uniforms[location], HEAPF32, value >> 2, count * 3);
  13509. return;
  13510. }
  13511. var view;
  13512. if (3 * count <= GL.MINI_TEMP_BUFFER_SIZE) {
  13513. view = GL.miniTempBufferViews[3 * count - 1];
  13514. for (var i = 0; i < 3 * count; i += 3) {
  13515. view[i] = HEAPF32[value + 4 * i >> 2];
  13516. view[i + 1] = HEAPF32[value + (4 * i + 4) >> 2];
  13517. view[i + 2] = HEAPF32[value + (4 * i + 8) >> 2];
  13518. }
  13519. } else {
  13520. view = HEAPF32.subarray(value >> 2, value + count * 12 >> 2);
  13521. }
  13522. GLctx.uniform3fv(GL.uniforms[location], view);
  13523. }
  13524. function _glUniform3iv(location, count, value) {
  13525. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13526. GLctx.uniform3iv(GL.uniforms[location], HEAP32, value >> 2, count * 3);
  13527. return;
  13528. }
  13529. GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray(value >> 2, value + count * 12 >> 2));
  13530. }
  13531. function _glUniform3uiv(location, count, value) {
  13532. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13533. GLctx.uniform3uiv(GL.uniforms[location], HEAPU32, value >> 2, count * 3);
  13534. } else {
  13535. GLctx.uniform3uiv(GL.uniforms[location], HEAPU32.subarray(value >> 2, value + count * 12 >> 2));
  13536. }
  13537. }
  13538. function _glUniform4fv(location, count, value) {
  13539. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13540. GLctx.uniform4fv(GL.uniforms[location], HEAPF32, value >> 2, count * 4);
  13541. return;
  13542. }
  13543. var view;
  13544. if (4 * count <= GL.MINI_TEMP_BUFFER_SIZE) {
  13545. view = GL.miniTempBufferViews[4 * count - 1];
  13546. for (var i = 0; i < 4 * count; i += 4) {
  13547. view[i] = HEAPF32[value + 4 * i >> 2];
  13548. view[i + 1] = HEAPF32[value + (4 * i + 4) >> 2];
  13549. view[i + 2] = HEAPF32[value + (4 * i + 8) >> 2];
  13550. view[i + 3] = HEAPF32[value + (4 * i + 12) >> 2];
  13551. }
  13552. } else {
  13553. view = HEAPF32.subarray(value >> 2, value + count * 16 >> 2);
  13554. }
  13555. GLctx.uniform4fv(GL.uniforms[location], view);
  13556. }
  13557. function _glUniform4iv(location, count, value) {
  13558. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13559. GLctx.uniform4iv(GL.uniforms[location], HEAP32, value >> 2, count * 4);
  13560. return;
  13561. }
  13562. GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray(value >> 2, value + count * 16 >> 2));
  13563. }
  13564. function _glUniform4uiv(location, count, value) {
  13565. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13566. GLctx.uniform4uiv(GL.uniforms[location], HEAPU32, value >> 2, count * 4);
  13567. } else {
  13568. GLctx.uniform4uiv(GL.uniforms[location], HEAPU32.subarray(value >> 2, value + count * 16 >> 2));
  13569. }
  13570. }
  13571. function _glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) {
  13572. program = GL.programs[program];
  13573. GLctx["uniformBlockBinding"](program, uniformBlockIndex, uniformBlockBinding);
  13574. }
  13575. function _glUniformMatrix3fv(location, count, transpose, value) {
  13576. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13577. GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, HEAPF32, value >> 2, count * 9);
  13578. return;
  13579. }
  13580. var view;
  13581. if (9 * count <= GL.MINI_TEMP_BUFFER_SIZE) {
  13582. view = GL.miniTempBufferViews[9 * count - 1];
  13583. for (var i = 0; i < 9 * count; i += 9) {
  13584. view[i] = HEAPF32[value + 4 * i >> 2];
  13585. view[i + 1] = HEAPF32[value + (4 * i + 4) >> 2];
  13586. view[i + 2] = HEAPF32[value + (4 * i + 8) >> 2];
  13587. view[i + 3] = HEAPF32[value + (4 * i + 12) >> 2];
  13588. view[i + 4] = HEAPF32[value + (4 * i + 16) >> 2];
  13589. view[i + 5] = HEAPF32[value + (4 * i + 20) >> 2];
  13590. view[i + 6] = HEAPF32[value + (4 * i + 24) >> 2];
  13591. view[i + 7] = HEAPF32[value + (4 * i + 28) >> 2];
  13592. view[i + 8] = HEAPF32[value + (4 * i + 32) >> 2];
  13593. }
  13594. } else {
  13595. view = HEAPF32.subarray(value >> 2, value + count * 36 >> 2);
  13596. }
  13597. GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view);
  13598. }
  13599. function _glUniformMatrix4fv(location, count, transpose, value) {
  13600. if (GL.currentContext.supportsWebGL2EntryPoints) {
  13601. GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, HEAPF32, value >> 2, count * 16);
  13602. return;
  13603. }
  13604. var view;
  13605. if (16 * count <= GL.MINI_TEMP_BUFFER_SIZE) {
  13606. view = GL.miniTempBufferViews[16 * count - 1];
  13607. for (var i = 0; i < 16 * count; i += 16) {
  13608. view[i] = HEAPF32[value + 4 * i >> 2];
  13609. view[i + 1] = HEAPF32[value + (4 * i + 4) >> 2];
  13610. view[i + 2] = HEAPF32[value + (4 * i + 8) >> 2];
  13611. view[i + 3] = HEAPF32[value + (4 * i + 12) >> 2];
  13612. view[i + 4] = HEAPF32[value + (4 * i + 16) >> 2];
  13613. view[i + 5] = HEAPF32[value + (4 * i + 20) >> 2];
  13614. view[i + 6] = HEAPF32[value + (4 * i + 24) >> 2];
  13615. view[i + 7] = HEAPF32[value + (4 * i + 28) >> 2];
  13616. view[i + 8] = HEAPF32[value + (4 * i + 32) >> 2];
  13617. view[i + 9] = HEAPF32[value + (4 * i + 36) >> 2];
  13618. view[i + 10] = HEAPF32[value + (4 * i + 40) >> 2];
  13619. view[i + 11] = HEAPF32[value + (4 * i + 44) >> 2];
  13620. view[i + 12] = HEAPF32[value + (4 * i + 48) >> 2];
  13621. view[i + 13] = HEAPF32[value + (4 * i + 52) >> 2];
  13622. view[i + 14] = HEAPF32[value + (4 * i + 56) >> 2];
  13623. view[i + 15] = HEAPF32[value + (4 * i + 60) >> 2];
  13624. }
  13625. } else {
  13626. view = HEAPF32.subarray(value >> 2, value + count * 64 >> 2);
  13627. }
  13628. GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view);
  13629. }
  13630. function _glUnmapBuffer(target) {
  13631. if (!emscriptenWebGLValidateMapBufferTarget(target)) {
  13632. GL.recordError(1280);
  13633. err("GL_INVALID_ENUM in glUnmapBuffer");
  13634. return 0;
  13635. }
  13636. var buffer = emscriptenWebGLGetBufferBinding(target);
  13637. var mapping = GL.mappedBuffers[buffer];
  13638. if (!mapping) {
  13639. GL.recordError(1282);
  13640. Module.printError("buffer was never mapped in glUnmapBuffer");
  13641. return 0;
  13642. }
  13643. GL.mappedBuffers[buffer] = null;
  13644. if (!(mapping.access & 16)) if (GL.currentContext.supportsWebGL2EntryPoints) {
  13645. GLctx.bufferSubData(target, mapping.offset, HEAPU8, mapping.mem, mapping.length);
  13646. } else {
  13647. GLctx.bufferSubData(target, mapping.offset, HEAPU8.subarray(mapping.mem, mapping.mem + mapping.length));
  13648. }
  13649. _free(mapping.mem);
  13650. return 1;
  13651. }
  13652. function _glUseProgram(program) {
  13653. GLctx.useProgram(program ? GL.programs[program] : null);
  13654. }
  13655. function _glValidateProgram(program) {
  13656. GLctx.validateProgram(GL.programs[program]);
  13657. }
  13658. function _glVertexAttrib4f(x0, x1, x2, x3, x4) {
  13659. GLctx["vertexAttrib4f"](x0, x1, x2, x3, x4);
  13660. }
  13661. function _glVertexAttrib4fv(index, v) {
  13662. GLctx.vertexAttrib4f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2], HEAPF32[v + 12 >> 2]);
  13663. }
  13664. function _glVertexAttribIPointer(index, size, type, stride, ptr) {
  13665. var cb = GL.currentContext.clientBuffers[index];
  13666. assert(cb, index);
  13667. if (!GL.currArrayBuffer) {
  13668. cb.size = size;
  13669. cb.type = type;
  13670. cb.normalized = false;
  13671. cb.stride = stride;
  13672. cb.ptr = ptr;
  13673. cb.clientside = true;
  13674. return;
  13675. }
  13676. cb.clientside = false;
  13677. GLctx.vertexAttribIPointer(index, size, type, stride, ptr);
  13678. }
  13679. function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) {
  13680. GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr);
  13681. }
  13682. function _glViewport(x0, x1, x2, x3) {
  13683. GLctx["viewport"](x0, x1, x2, x3);
  13684. }
  13685. var ___tm_current = STATICTOP;
  13686. STATICTOP += 48;
  13687. var ___tm_timezone = allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC);
  13688. function _gmtime_r(time, tmPtr) {
  13689. var date = new Date(HEAP32[time >> 2] * 1e3);
  13690. HEAP32[tmPtr >> 2] = date.getUTCSeconds();
  13691. HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();
  13692. HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();
  13693. HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();
  13694. HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();
  13695. HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;
  13696. HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
  13697. HEAP32[tmPtr + 36 >> 2] = 0;
  13698. HEAP32[tmPtr + 32 >> 2] = 0;
  13699. var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
  13700. var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
  13701. HEAP32[tmPtr + 28 >> 2] = yday;
  13702. HEAP32[tmPtr + 40 >> 2] = ___tm_timezone;
  13703. return tmPtr;
  13704. }
  13705. function _gmtime(time) {
  13706. return _gmtime_r(time, ___tm_current);
  13707. }
  13708. function _gotoUnity(type) {
  13709. window.location.href = "https://fangzhen.cocorobo.cn/unity?type=" + type;
  13710. }
  13711. function _inet_addr(ptr) {
  13712. var addr = __inet_pton4_raw(Pointer_stringify(ptr));
  13713. if (addr === null) {
  13714. return -1;
  13715. }
  13716. return addr;
  13717. }
  13718. var _llvm_ceil_f32 = Math_ceil;
  13719. var _llvm_ceil_f64 = Math_ceil;
  13720. function _llvm_copysign_f64(x, y) {
  13721. return y < 0 || y === 0 && 1 / y < 0 ? -Math_abs(x) : Math_abs(x);
  13722. }
  13723. function _llvm_cttz_i32(x) {
  13724. x = x | 0;
  13725. return (x ? 31 - (Math_clz32(x ^ x - 1) | 0) | 0 : 32) | 0;
  13726. }
  13727. function _llvm_exp2_f32(x) {
  13728. return Math.pow(2, x);
  13729. }
  13730. var _llvm_fabs_f32 = Math_abs;
  13731. var _llvm_fabs_f64 = Math_abs;
  13732. var _llvm_floor_f32 = Math_floor;
  13733. var _llvm_floor_f64 = Math_floor;
  13734. function _llvm_log10_f32(x) {
  13735. return Math.log(x) / Math.LN10;
  13736. }
  13737. function _llvm_log2_f32(x) {
  13738. return Math.log(x) / Math.LN2;
  13739. }
  13740. var _llvm_pow_f64 = Math_pow;
  13741. var _llvm_sqrt_f32 = Math_sqrt;
  13742. function _llvm_trap() {
  13743. abort("trap!");
  13744. }
  13745. var _llvm_trunc_f32 = Math_trunc;
  13746. function _tzset() {
  13747. if (_tzset.called) return;
  13748. _tzset.called = true;
  13749. HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60;
  13750. var currentYear = (new Date).getFullYear();
  13751. var winter = new Date(currentYear, 0, 1);
  13752. var summer = new Date(currentYear, 6, 1);
  13753. HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
  13754. function extractZone(date) {
  13755. var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
  13756. return match ? match[1] : "GMT";
  13757. }
  13758. var winterName = extractZone(winter);
  13759. var summerName = extractZone(summer);
  13760. var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL);
  13761. var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL);
  13762. if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
  13763. HEAP32[__get_tzname() >> 2] = winterNamePtr;
  13764. HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr;
  13765. } else {
  13766. HEAP32[__get_tzname() >> 2] = summerNamePtr;
  13767. HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr;
  13768. }
  13769. }
  13770. function _localtime_r(time, tmPtr) {
  13771. _tzset();
  13772. var date = new Date(HEAP32[time >> 2] * 1e3);
  13773. HEAP32[tmPtr >> 2] = date.getSeconds();
  13774. HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
  13775. HEAP32[tmPtr + 8 >> 2] = date.getHours();
  13776. HEAP32[tmPtr + 12 >> 2] = date.getDate();
  13777. HEAP32[tmPtr + 16 >> 2] = date.getMonth();
  13778. HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
  13779. HEAP32[tmPtr + 24 >> 2] = date.getDay();
  13780. var start = new Date(date.getFullYear(), 0, 1);
  13781. var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0;
  13782. HEAP32[tmPtr + 28 >> 2] = yday;
  13783. HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
  13784. var summerOffset = (new Date(date.getFullYear(), 6, 1)).getTimezoneOffset();
  13785. var winterOffset = start.getTimezoneOffset();
  13786. var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
  13787. HEAP32[tmPtr + 32 >> 2] = dst;
  13788. var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2];
  13789. HEAP32[tmPtr + 40 >> 2] = zonePtr;
  13790. return tmPtr;
  13791. }
  13792. function _localtime(time) {
  13793. return _localtime_r(time, ___tm_current);
  13794. }
  13795. function _emscripten_memcpy_big(dest, src, num) {
  13796. HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
  13797. return dest;
  13798. }
  13799. function _mktime(tmPtr) {
  13800. _tzset();
  13801. var date = new Date(HEAP32[tmPtr + 20 >> 2] + 1900, HEAP32[tmPtr + 16 >> 2], HEAP32[tmPtr + 12 >> 2], HEAP32[tmPtr + 8 >> 2], HEAP32[tmPtr + 4 >> 2], HEAP32[tmPtr >> 2], 0);
  13802. var dst = HEAP32[tmPtr + 32 >> 2];
  13803. var guessedOffset = date.getTimezoneOffset();
  13804. var start = new Date(date.getFullYear(), 0, 1);
  13805. var summerOffset = (new Date(date.getFullYear(), 6, 1)).getTimezoneOffset();
  13806. var winterOffset = start.getTimezoneOffset();
  13807. var dstOffset = Math.min(winterOffset, summerOffset);
  13808. if (dst < 0) {
  13809. HEAP32[tmPtr + 32 >> 2] = Number(summerOffset != winterOffset && dstOffset == guessedOffset);
  13810. } else if (dst > 0 != (dstOffset == guessedOffset)) {
  13811. var nonDstOffset = Math.max(winterOffset, summerOffset);
  13812. var trueOffset = dst > 0 ? dstOffset : nonDstOffset;
  13813. date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);
  13814. }
  13815. HEAP32[tmPtr + 24 >> 2] = date.getDay();
  13816. var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0;
  13817. HEAP32[tmPtr + 28 >> 2] = yday;
  13818. return date.getTime() / 1e3 | 0;
  13819. }
  13820. function _usleep(useconds) {
  13821. var msec = useconds / 1e3;
  13822. if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) {
  13823. var start = self["performance"]["now"]();
  13824. while (self["performance"]["now"]() - start < msec) {}
  13825. } else {
  13826. var start = Date.now();
  13827. while (Date.now() - start < msec) {}
  13828. }
  13829. return 0;
  13830. }
  13831. function _nanosleep(rqtp, rmtp) {
  13832. var seconds = HEAP32[rqtp >> 2];
  13833. var nanoseconds = HEAP32[rqtp + 4 >> 2];
  13834. if (rmtp !== 0) {
  13835. HEAP32[rmtp >> 2] = 0;
  13836. HEAP32[rmtp + 4 >> 2] = 0;
  13837. }
  13838. return _usleep(seconds * 1e6 + nanoseconds / 1e3);
  13839. }
  13840. function _noActive(type) {
  13841. window.noActive(type);
  13842. }
  13843. function _noCamera(str) {
  13844. window.noCamera(Pointer_stringify(str));
  13845. }
  13846. function _pthread_cond_destroy() {
  13847. return 0;
  13848. }
  13849. function _pthread_cond_init() {
  13850. return 0;
  13851. }
  13852. function _pthread_cond_timedwait() {
  13853. return 0;
  13854. }
  13855. function _pthread_cond_wait() {
  13856. return 0;
  13857. }
  13858. var PTHREAD_SPECIFIC = {};
  13859. function _pthread_getspecific(key) {
  13860. return PTHREAD_SPECIFIC[key] || 0;
  13861. }
  13862. var PTHREAD_SPECIFIC_NEXT_KEY = 1;
  13863. function _pthread_key_create(key, destructor) {
  13864. if (key == 0) {
  13865. return ERRNO_CODES.EINVAL;
  13866. }
  13867. HEAP32[key >> 2] = PTHREAD_SPECIFIC_NEXT_KEY;
  13868. PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0;
  13869. PTHREAD_SPECIFIC_NEXT_KEY++;
  13870. return 0;
  13871. }
  13872. function _pthread_key_delete(key) {
  13873. if (key in PTHREAD_SPECIFIC) {
  13874. delete PTHREAD_SPECIFIC[key];
  13875. return 0;
  13876. }
  13877. return ERRNO_CODES.EINVAL;
  13878. }
  13879. function _pthread_mutex_destroy() {}
  13880. function _pthread_mutex_init() {}
  13881. function _pthread_mutexattr_destroy() {}
  13882. function _pthread_mutexattr_init() {}
  13883. function _pthread_mutexattr_setprotocol() {}
  13884. function _pthread_mutexattr_settype() {}
  13885. function _pthread_once(ptr, func) {
  13886. if (!_pthread_once.seen) _pthread_once.seen = {};
  13887. if (ptr in _pthread_once.seen) return;
  13888. Module["dynCall_v"](func);
  13889. _pthread_once.seen[ptr] = 1;
  13890. }
  13891. function _pthread_setspecific(key, value) {
  13892. if (!(key in PTHREAD_SPECIFIC)) {
  13893. return ERRNO_CODES.EINVAL;
  13894. }
  13895. PTHREAD_SPECIFIC[key] = value;
  13896. return 0;
  13897. }
  13898. function _sched_yield() {
  13899. return 0;
  13900. }
  13901. function _setenv(envname, envval, overwrite) {
  13902. if (envname === 0) {
  13903. ___setErrNo(ERRNO_CODES.EINVAL);
  13904. return -1;
  13905. }
  13906. var name = Pointer_stringify(envname);
  13907. var val = Pointer_stringify(envval);
  13908. if (name === "" || name.indexOf("=") !== -1) {
  13909. ___setErrNo(ERRNO_CODES.EINVAL);
  13910. return -1;
  13911. }
  13912. if (ENV.hasOwnProperty(name) && !overwrite) return 0;
  13913. ENV[name] = val;
  13914. ___buildEnvironment(__get_environ());
  13915. return 0;
  13916. }
  13917. function _sigaction(signum, act, oldact) {
  13918. err("Calling stub instead of sigaction()");
  13919. return 0;
  13920. }
  13921. function _sigemptyset(set) {
  13922. HEAP32[set >> 2] = 0;
  13923. return 0;
  13924. }
  13925. function __isLeapYear(year) {
  13926. return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
  13927. }
  13928. function __arraySum(array, index) {
  13929. var sum = 0;
  13930. for (var i = 0; i <= index; sum += array[i++]) ;
  13931. return sum;
  13932. }
  13933. var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
  13934. var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
  13935. function __addDays(date, days) {
  13936. var newDate = new Date(date.getTime());
  13937. while (days > 0) {
  13938. var leap = __isLeapYear(newDate.getFullYear());
  13939. var currentMonth = newDate.getMonth();
  13940. var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
  13941. if (days > daysInCurrentMonth - newDate.getDate()) {
  13942. days -= daysInCurrentMonth - newDate.getDate() + 1;
  13943. newDate.setDate(1);
  13944. if (currentMonth < 11) {
  13945. newDate.setMonth(currentMonth + 1);
  13946. } else {
  13947. newDate.setMonth(0);
  13948. newDate.setFullYear(newDate.getFullYear() + 1);
  13949. }
  13950. } else {
  13951. newDate.setDate(newDate.getDate() + days);
  13952. return newDate;
  13953. }
  13954. }
  13955. return newDate;
  13956. }
  13957. function _strftime(s, maxsize, format, tm) {
  13958. var tm_zone = HEAP32[tm + 40 >> 2];
  13959. var date = {
  13960. tm_sec: HEAP32[tm >> 2],
  13961. tm_min: HEAP32[tm + 4 >> 2],
  13962. tm_hour: HEAP32[tm + 8 >> 2],
  13963. tm_mday: HEAP32[tm + 12 >> 2],
  13964. tm_mon: HEAP32[tm + 16 >> 2],
  13965. tm_year: HEAP32[tm + 20 >> 2],
  13966. tm_wday: HEAP32[tm + 24 >> 2],
  13967. tm_yday: HEAP32[tm + 28 >> 2],
  13968. tm_isdst: HEAP32[tm + 32 >> 2],
  13969. tm_gmtoff: HEAP32[tm + 36 >> 2],
  13970. tm_zone: tm_zone ? Pointer_stringify(tm_zone) : ""
  13971. };
  13972. var pattern = Pointer_stringify(format);
  13973. var EXPANSION_RULES_1 = {
  13974. "%c": "%a %b %d %H:%M:%S %Y",
  13975. "%D": "%m/%d/%y",
  13976. "%F": "%Y-%m-%d",
  13977. "%h": "%b",
  13978. "%r": "%I:%M:%S %p",
  13979. "%R": "%H:%M",
  13980. "%T": "%H:%M:%S",
  13981. "%x": "%m/%d/%y",
  13982. "%X": "%H:%M:%S"
  13983. };
  13984. for (var rule in EXPANSION_RULES_1) {
  13985. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
  13986. }
  13987. var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
  13988. var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
  13989. function leadingSomething(value, digits, character) {
  13990. var str = typeof value === "number" ? value.toString() : value || "";
  13991. while (str.length < digits) {
  13992. str = character[0] + str;
  13993. }
  13994. return str;
  13995. }
  13996. function leadingNulls(value, digits) {
  13997. return leadingSomething(value, digits, "0");
  13998. }
  13999. function compareByDay(date1, date2) {
  14000. function sgn(value) {
  14001. return value < 0 ? -1 : value > 0 ? 1 : 0;
  14002. }
  14003. var compare;
  14004. if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
  14005. if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
  14006. compare = sgn(date1.getDate() - date2.getDate());
  14007. }
  14008. }
  14009. return compare;
  14010. }
  14011. function getFirstWeekStartDate(janFourth) {
  14012. switch (janFourth.getDay()) {
  14013. case 0:
  14014. return new Date(janFourth.getFullYear() - 1, 11, 29);
  14015. case 1:
  14016. return janFourth;
  14017. case 2:
  14018. return new Date(janFourth.getFullYear(), 0, 3);
  14019. case 3:
  14020. return new Date(janFourth.getFullYear(), 0, 2);
  14021. case 4:
  14022. return new Date(janFourth.getFullYear(), 0, 1);
  14023. case 5:
  14024. return new Date(janFourth.getFullYear() - 1, 11, 31);
  14025. case 6:
  14026. return new Date(janFourth.getFullYear() - 1, 11, 30);
  14027. }
  14028. }
  14029. function getWeekBasedYear(date) {
  14030. var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
  14031. var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
  14032. var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
  14033. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  14034. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  14035. if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
  14036. if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
  14037. return thisDate.getFullYear() + 1;
  14038. } else {
  14039. return thisDate.getFullYear();
  14040. }
  14041. } else {
  14042. return thisDate.getFullYear() - 1;
  14043. }
  14044. }
  14045. var EXPANSION_RULES_2 = {
  14046. "%a": (function(date) {
  14047. return WEEKDAYS[date.tm_wday].substring(0, 3);
  14048. }),
  14049. "%A": (function(date) {
  14050. return WEEKDAYS[date.tm_wday];
  14051. }),
  14052. "%b": (function(date) {
  14053. return MONTHS[date.tm_mon].substring(0, 3);
  14054. }),
  14055. "%B": (function(date) {
  14056. return MONTHS[date.tm_mon];
  14057. }),
  14058. "%C": (function(date) {
  14059. var year = date.tm_year + 1900;
  14060. return leadingNulls(year / 100 | 0, 2);
  14061. }),
  14062. "%d": (function(date) {
  14063. return leadingNulls(date.tm_mday, 2);
  14064. }),
  14065. "%e": (function(date) {
  14066. return leadingSomething(date.tm_mday, 2, " ");
  14067. }),
  14068. "%g": (function(date) {
  14069. return getWeekBasedYear(date).toString().substring(2);
  14070. }),
  14071. "%G": (function(date) {
  14072. return getWeekBasedYear(date);
  14073. }),
  14074. "%H": (function(date) {
  14075. return leadingNulls(date.tm_hour, 2);
  14076. }),
  14077. "%I": (function(date) {
  14078. var twelveHour = date.tm_hour;
  14079. if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;
  14080. return leadingNulls(twelveHour, 2);
  14081. }),
  14082. "%j": (function(date) {
  14083. return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
  14084. }),
  14085. "%m": (function(date) {
  14086. return leadingNulls(date.tm_mon + 1, 2);
  14087. }),
  14088. "%M": (function(date) {
  14089. return leadingNulls(date.tm_min, 2);
  14090. }),
  14091. "%n": (function() {
  14092. return "\n";
  14093. }),
  14094. "%p": (function(date) {
  14095. if (date.tm_hour >= 0 && date.tm_hour < 12) {
  14096. return "AM";
  14097. } else {
  14098. return "PM";
  14099. }
  14100. }),
  14101. "%S": (function(date) {
  14102. return leadingNulls(date.tm_sec, 2);
  14103. }),
  14104. "%t": (function() {
  14105. return "\t";
  14106. }),
  14107. "%u": (function(date) {
  14108. var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
  14109. return day.getDay() || 7;
  14110. }),
  14111. "%U": (function(date) {
  14112. var janFirst = new Date(date.tm_year + 1900, 0, 1);
  14113. var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
  14114. var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
  14115. if (compareByDay(firstSunday, endDate) < 0) {
  14116. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  14117. var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
  14118. var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  14119. return leadingNulls(Math.ceil(days / 7), 2);
  14120. }
  14121. return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00";
  14122. }),
  14123. "%V": (function(date) {
  14124. var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4);
  14125. var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4);
  14126. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  14127. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  14128. var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
  14129. if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
  14130. return "53";
  14131. }
  14132. if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
  14133. return "01";
  14134. }
  14135. var daysDifference;
  14136. if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) {
  14137. daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate();
  14138. } else {
  14139. daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate();
  14140. }
  14141. return leadingNulls(Math.ceil(daysDifference / 7), 2);
  14142. }),
  14143. "%w": (function(date) {
  14144. var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
  14145. return day.getDay();
  14146. }),
  14147. "%W": (function(date) {
  14148. var janFirst = new Date(date.tm_year, 0, 1);
  14149. var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
  14150. var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
  14151. if (compareByDay(firstMonday, endDate) < 0) {
  14152. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  14153. var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
  14154. var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  14155. return leadingNulls(Math.ceil(days / 7), 2);
  14156. }
  14157. return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00";
  14158. }),
  14159. "%y": (function(date) {
  14160. return (date.tm_year + 1900).toString().substring(2);
  14161. }),
  14162. "%Y": (function(date) {
  14163. return date.tm_year + 1900;
  14164. }),
  14165. "%z": (function(date) {
  14166. var off = date.tm_gmtoff;
  14167. var ahead = off >= 0;
  14168. off = Math.abs(off) / 60;
  14169. off = off / 60 * 100 + off % 60;
  14170. return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
  14171. }),
  14172. "%Z": (function(date) {
  14173. return date.tm_zone;
  14174. }),
  14175. "%%": (function() {
  14176. return "%";
  14177. })
  14178. };
  14179. for (var rule in EXPANSION_RULES_2) {
  14180. if (pattern.indexOf(rule) >= 0) {
  14181. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
  14182. }
  14183. }
  14184. var bytes = intArrayFromString(pattern, false);
  14185. if (bytes.length > maxsize) {
  14186. return 0;
  14187. }
  14188. writeArrayToMemory(bytes, s);
  14189. return bytes.length - 1;
  14190. }
  14191. function _sysconf(name) {
  14192. switch (name) {
  14193. case 30:
  14194. return PAGE_SIZE;
  14195. case 85:
  14196. var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536;
  14197. return maxHeapSize / PAGE_SIZE;
  14198. case 132:
  14199. case 133:
  14200. case 12:
  14201. case 137:
  14202. case 138:
  14203. case 15:
  14204. case 235:
  14205. case 16:
  14206. case 17:
  14207. case 18:
  14208. case 19:
  14209. case 20:
  14210. case 149:
  14211. case 13:
  14212. case 10:
  14213. case 236:
  14214. case 153:
  14215. case 9:
  14216. case 21:
  14217. case 22:
  14218. case 159:
  14219. case 154:
  14220. case 14:
  14221. case 77:
  14222. case 78:
  14223. case 139:
  14224. case 80:
  14225. case 81:
  14226. case 82:
  14227. case 68:
  14228. case 67:
  14229. case 164:
  14230. case 11:
  14231. case 29:
  14232. case 47:
  14233. case 48:
  14234. case 95:
  14235. case 52:
  14236. case 51:
  14237. case 46:
  14238. return 200809;
  14239. case 79:
  14240. return 0;
  14241. case 27:
  14242. case 246:
  14243. case 127:
  14244. case 128:
  14245. case 23:
  14246. case 24:
  14247. case 160:
  14248. case 161:
  14249. case 181:
  14250. case 182:
  14251. case 242:
  14252. case 183:
  14253. case 184:
  14254. case 243:
  14255. case 244:
  14256. case 245:
  14257. case 165:
  14258. case 178:
  14259. case 179:
  14260. case 49:
  14261. case 50:
  14262. case 168:
  14263. case 169:
  14264. case 175:
  14265. case 170:
  14266. case 171:
  14267. case 172:
  14268. case 97:
  14269. case 76:
  14270. case 32:
  14271. case 173:
  14272. case 35:
  14273. return -1;
  14274. case 176:
  14275. case 177:
  14276. case 7:
  14277. case 155:
  14278. case 8:
  14279. case 157:
  14280. case 125:
  14281. case 126:
  14282. case 92:
  14283. case 93:
  14284. case 129:
  14285. case 130:
  14286. case 131:
  14287. case 94:
  14288. case 91:
  14289. return 1;
  14290. case 74:
  14291. case 60:
  14292. case 69:
  14293. case 70:
  14294. case 4:
  14295. return 1024;
  14296. case 31:
  14297. case 42:
  14298. case 72:
  14299. return 32;
  14300. case 87:
  14301. case 26:
  14302. case 33:
  14303. return 2147483647;
  14304. case 34:
  14305. case 1:
  14306. return 47839;
  14307. case 38:
  14308. case 36:
  14309. return 99;
  14310. case 43:
  14311. case 37:
  14312. return 2048;
  14313. case 0:
  14314. return 2097152;
  14315. case 3:
  14316. return 65536;
  14317. case 28:
  14318. return 32768;
  14319. case 44:
  14320. return 32767;
  14321. case 75:
  14322. return 16384;
  14323. case 39:
  14324. return 1e3;
  14325. case 89:
  14326. return 700;
  14327. case 71:
  14328. return 256;
  14329. case 40:
  14330. return 255;
  14331. case 2:
  14332. return 100;
  14333. case 180:
  14334. return 64;
  14335. case 25:
  14336. return 20;
  14337. case 5:
  14338. return 16;
  14339. case 6:
  14340. return 6;
  14341. case 73:
  14342. return 4;
  14343. case 84:
  14344. {
  14345. if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1;
  14346. return 1;
  14347. }
  14348. }
  14349. ___setErrNo(ERRNO_CODES.EINVAL);
  14350. return -1;
  14351. }
  14352. function _time(ptr) {
  14353. var ret = Date.now() / 1e3 | 0;
  14354. if (ptr) {
  14355. HEAP32[ptr >> 2] = ret;
  14356. }
  14357. return ret;
  14358. }
  14359. function _unsetenv(name) {
  14360. if (name === 0) {
  14361. ___setErrNo(ERRNO_CODES.EINVAL);
  14362. return -1;
  14363. }
  14364. name = Pointer_stringify(name);
  14365. if (name === "" || name.indexOf("=") !== -1) {
  14366. ___setErrNo(ERRNO_CODES.EINVAL);
  14367. return -1;
  14368. }
  14369. if (ENV.hasOwnProperty(name)) {
  14370. delete ENV[name];
  14371. ___buildEnvironment(__get_environ());
  14372. }
  14373. return 0;
  14374. }
  14375. function _utime(path, times) {
  14376. var time;
  14377. if (times) {
  14378. var offset = 4;
  14379. time = HEAP32[times + offset >> 2];
  14380. time *= 1e3;
  14381. } else {
  14382. time = Date.now();
  14383. }
  14384. path = Pointer_stringify(path);
  14385. try {
  14386. FS.utime(path, time, time);
  14387. return 0;
  14388. } catch (e) {
  14389. FS.handleFSError(e);
  14390. return -1;
  14391. }
  14392. }
  14393. FS.staticInit();
  14394. __ATINIT__.unshift((function() {
  14395. if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
  14396. }));
  14397. __ATMAIN__.push((function() {
  14398. FS.ignorePermissions = false;
  14399. }));
  14400. __ATEXIT__.push((function() {
  14401. FS.quit();
  14402. }));
  14403. Module["FS_createPath"] = FS.createPath;
  14404. Module["FS_createDataFile"] = FS.createDataFile;
  14405. __ATINIT__.unshift((function() {
  14406. TTY.init();
  14407. }));
  14408. __ATEXIT__.push((function() {
  14409. TTY.shutdown();
  14410. }));
  14411. if (ENVIRONMENT_IS_NODE) {
  14412. var fs = require("fs");
  14413. var NODEJS_PATH = require("path");
  14414. NODEFS.staticInit();
  14415. }
  14416. __ATINIT__.push((function() {
  14417. SOCKFS.root = FS.mount(SOCKFS, {}, null);
  14418. }));
  14419. if (ENVIRONMENT_IS_NODE) {
  14420. _emscripten_get_now = function _emscripten_get_now_actual() {
  14421. var t = process["hrtime"]();
  14422. return t[0] * 1e3 + t[1] / 1e6;
  14423. };
  14424. } else if (typeof dateNow !== "undefined") {
  14425. _emscripten_get_now = dateNow;
  14426. } else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") {
  14427. _emscripten_get_now = (function() {
  14428. return self["performance"]["now"]();
  14429. });
  14430. } else if (typeof performance === "object" && typeof performance["now"] === "function") {
  14431. _emscripten_get_now = (function() {
  14432. return performance["now"]();
  14433. });
  14434. } else {
  14435. _emscripten_get_now = Date.now;
  14436. }
  14437. Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) {
  14438. err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");
  14439. Module["requestFullScreen"] = Module["requestFullscreen"];
  14440. Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice);
  14441. };
  14442. Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) {
  14443. Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
  14444. };
  14445. Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
  14446. Browser.requestAnimationFrame(func);
  14447. };
  14448. Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
  14449. Browser.setCanvasSize(width, height, noUpdates);
  14450. };
  14451. Module["pauseMainLoop"] = function Module_pauseMainLoop() {
  14452. Browser.mainLoop.pause();
  14453. };
  14454. Module["resumeMainLoop"] = function Module_resumeMainLoop() {
  14455. Browser.mainLoop.resume();
  14456. };
  14457. Module["getUserMedia"] = function Module_getUserMedia() {
  14458. Browser.getUserMedia();
  14459. };
  14460. Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
  14461. return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
  14462. };
  14463. JSEvents.staticInit();
  14464. var GLctx;
  14465. GL.init();
  14466. DYNAMICTOP_PTR = staticAlloc(4);
  14467. STACK_BASE = STACKTOP = alignMemory(STATICTOP);
  14468. STACK_MAX = STACK_BASE + TOTAL_STACK;
  14469. DYNAMIC_BASE = alignMemory(STACK_MAX);
  14470. HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
  14471. staticSealed = true;
  14472. assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
  14473. function intArrayFromString(stringy, dontAddNull, length) {
  14474. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  14475. var u8array = new Array(len);
  14476. var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
  14477. if (dontAddNull) u8array.length = numBytesWritten;
  14478. return u8array;
  14479. }
  14480. function nullFunc_dddi(x) {
  14481. err("Invalid function pointer called with signature 'dddi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14482. err("Build with ASSERTIONS=2 for more info.");
  14483. abort(x);
  14484. }
  14485. function nullFunc_ddi(x) {
  14486. err("Invalid function pointer called with signature 'ddi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14487. err("Build with ASSERTIONS=2 for more info.");
  14488. abort(x);
  14489. }
  14490. function nullFunc_dfi(x) {
  14491. err("Invalid function pointer called with signature 'dfi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14492. err("Build with ASSERTIONS=2 for more info.");
  14493. abort(x);
  14494. }
  14495. function nullFunc_di(x) {
  14496. err("Invalid function pointer called with signature 'di'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14497. err("Build with ASSERTIONS=2 for more info.");
  14498. abort(x);
  14499. }
  14500. function nullFunc_diddi(x) {
  14501. err("Invalid function pointer called with signature 'diddi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14502. err("Build with ASSERTIONS=2 for more info.");
  14503. abort(x);
  14504. }
  14505. function nullFunc_didi(x) {
  14506. err("Invalid function pointer called with signature 'didi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14507. err("Build with ASSERTIONS=2 for more info.");
  14508. abort(x);
  14509. }
  14510. function nullFunc_dii(x) {
  14511. err("Invalid function pointer called with signature 'dii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14512. err("Build with ASSERTIONS=2 for more info.");
  14513. abort(x);
  14514. }
  14515. function nullFunc_diii(x) {
  14516. err("Invalid function pointer called with signature 'diii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14517. err("Build with ASSERTIONS=2 for more info.");
  14518. abort(x);
  14519. }
  14520. function nullFunc_diiii(x) {
  14521. err("Invalid function pointer called with signature 'diiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14522. err("Build with ASSERTIONS=2 for more info.");
  14523. abort(x);
  14524. }
  14525. function nullFunc_dji(x) {
  14526. err("Invalid function pointer called with signature 'dji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14527. err("Build with ASSERTIONS=2 for more info.");
  14528. abort(x);
  14529. }
  14530. function nullFunc_f(x) {
  14531. err("Invalid function pointer called with signature 'f'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14532. err("Build with ASSERTIONS=2 for more info.");
  14533. abort(x);
  14534. }
  14535. function nullFunc_fdi(x) {
  14536. err("Invalid function pointer called with signature 'fdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14537. err("Build with ASSERTIONS=2 for more info.");
  14538. abort(x);
  14539. }
  14540. function nullFunc_ff(x) {
  14541. err("Invalid function pointer called with signature 'ff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14542. err("Build with ASSERTIONS=2 for more info.");
  14543. abort(x);
  14544. }
  14545. function nullFunc_fff(x) {
  14546. err("Invalid function pointer called with signature 'fff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14547. err("Build with ASSERTIONS=2 for more info.");
  14548. abort(x);
  14549. }
  14550. function nullFunc_ffffi(x) {
  14551. err("Invalid function pointer called with signature 'ffffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14552. err("Build with ASSERTIONS=2 for more info.");
  14553. abort(x);
  14554. }
  14555. function nullFunc_fffi(x) {
  14556. err("Invalid function pointer called with signature 'fffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14557. err("Build with ASSERTIONS=2 for more info.");
  14558. abort(x);
  14559. }
  14560. function nullFunc_fffifffi(x) {
  14561. err("Invalid function pointer called with signature 'fffifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14562. err("Build with ASSERTIONS=2 for more info.");
  14563. abort(x);
  14564. }
  14565. function nullFunc_ffi(x) {
  14566. err("Invalid function pointer called with signature 'ffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14567. err("Build with ASSERTIONS=2 for more info.");
  14568. abort(x);
  14569. }
  14570. function nullFunc_fi(x) {
  14571. err("Invalid function pointer called with signature 'fi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14572. err("Build with ASSERTIONS=2 for more info.");
  14573. abort(x);
  14574. }
  14575. function nullFunc_fif(x) {
  14576. err("Invalid function pointer called with signature 'fif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14577. err("Build with ASSERTIONS=2 for more info.");
  14578. abort(x);
  14579. }
  14580. function nullFunc_fiff(x) {
  14581. err("Invalid function pointer called with signature 'fiff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14582. err("Build with ASSERTIONS=2 for more info.");
  14583. abort(x);
  14584. }
  14585. function nullFunc_fifffi(x) {
  14586. err("Invalid function pointer called with signature 'fifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14587. err("Build with ASSERTIONS=2 for more info.");
  14588. abort(x);
  14589. }
  14590. function nullFunc_fiffi(x) {
  14591. err("Invalid function pointer called with signature 'fiffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14592. err("Build with ASSERTIONS=2 for more info.");
  14593. abort(x);
  14594. }
  14595. function nullFunc_fifi(x) {
  14596. err("Invalid function pointer called with signature 'fifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14597. err("Build with ASSERTIONS=2 for more info.");
  14598. abort(x);
  14599. }
  14600. function nullFunc_fifii(x) {
  14601. err("Invalid function pointer called with signature 'fifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14602. err("Build with ASSERTIONS=2 for more info.");
  14603. abort(x);
  14604. }
  14605. function nullFunc_fii(x) {
  14606. err("Invalid function pointer called with signature 'fii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14607. err("Build with ASSERTIONS=2 for more info.");
  14608. abort(x);
  14609. }
  14610. function nullFunc_fiif(x) {
  14611. err("Invalid function pointer called with signature 'fiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14612. err("Build with ASSERTIONS=2 for more info.");
  14613. abort(x);
  14614. }
  14615. function nullFunc_fiifi(x) {
  14616. err("Invalid function pointer called with signature 'fiifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14617. err("Build with ASSERTIONS=2 for more info.");
  14618. abort(x);
  14619. }
  14620. function nullFunc_fiifii(x) {
  14621. err("Invalid function pointer called with signature 'fiifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14622. err("Build with ASSERTIONS=2 for more info.");
  14623. abort(x);
  14624. }
  14625. function nullFunc_fiii(x) {
  14626. err("Invalid function pointer called with signature 'fiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14627. err("Build with ASSERTIONS=2 for more info.");
  14628. abort(x);
  14629. }
  14630. function nullFunc_fiiii(x) {
  14631. err("Invalid function pointer called with signature 'fiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14632. err("Build with ASSERTIONS=2 for more info.");
  14633. abort(x);
  14634. }
  14635. function nullFunc_fiiiiiifiifif(x) {
  14636. err("Invalid function pointer called with signature 'fiiiiiifiifif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14637. err("Build with ASSERTIONS=2 for more info.");
  14638. abort(x);
  14639. }
  14640. function nullFunc_fiiiiiifiiiif(x) {
  14641. err("Invalid function pointer called with signature 'fiiiiiifiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14642. err("Build with ASSERTIONS=2 for more info.");
  14643. abort(x);
  14644. }
  14645. function nullFunc_fji(x) {
  14646. err("Invalid function pointer called with signature 'fji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14647. err("Build with ASSERTIONS=2 for more info.");
  14648. abort(x);
  14649. }
  14650. function nullFunc_i(x) {
  14651. err("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14652. err("Build with ASSERTIONS=2 for more info.");
  14653. abort(x);
  14654. }
  14655. function nullFunc_idi(x) {
  14656. err("Invalid function pointer called with signature 'idi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14657. err("Build with ASSERTIONS=2 for more info.");
  14658. abort(x);
  14659. }
  14660. function nullFunc_idiii(x) {
  14661. err("Invalid function pointer called with signature 'idiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14662. err("Build with ASSERTIONS=2 for more info.");
  14663. abort(x);
  14664. }
  14665. function nullFunc_ifffi(x) {
  14666. err("Invalid function pointer called with signature 'ifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14667. err("Build with ASSERTIONS=2 for more info.");
  14668. abort(x);
  14669. }
  14670. function nullFunc_iffi(x) {
  14671. err("Invalid function pointer called with signature 'iffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14672. err("Build with ASSERTIONS=2 for more info.");
  14673. abort(x);
  14674. }
  14675. function nullFunc_ifi(x) {
  14676. err("Invalid function pointer called with signature 'ifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14677. err("Build with ASSERTIONS=2 for more info.");
  14678. abort(x);
  14679. }
  14680. function nullFunc_ifiii(x) {
  14681. err("Invalid function pointer called with signature 'ifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14682. err("Build with ASSERTIONS=2 for more info.");
  14683. abort(x);
  14684. }
  14685. function nullFunc_ii(x) {
  14686. err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14687. err("Build with ASSERTIONS=2 for more info.");
  14688. abort(x);
  14689. }
  14690. function nullFunc_iidi(x) {
  14691. err("Invalid function pointer called with signature 'iidi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14692. err("Build with ASSERTIONS=2 for more info.");
  14693. abort(x);
  14694. }
  14695. function nullFunc_iidii(x) {
  14696. err("Invalid function pointer called with signature 'iidii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14697. err("Build with ASSERTIONS=2 for more info.");
  14698. abort(x);
  14699. }
  14700. function nullFunc_iif(x) {
  14701. err("Invalid function pointer called with signature 'iif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14702. err("Build with ASSERTIONS=2 for more info.");
  14703. abort(x);
  14704. }
  14705. function nullFunc_iifff(x) {
  14706. err("Invalid function pointer called with signature 'iifff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14707. err("Build with ASSERTIONS=2 for more info.");
  14708. abort(x);
  14709. }
  14710. function nullFunc_iifffi(x) {
  14711. err("Invalid function pointer called with signature 'iifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14712. err("Build with ASSERTIONS=2 for more info.");
  14713. abort(x);
  14714. }
  14715. function nullFunc_iiffi(x) {
  14716. err("Invalid function pointer called with signature 'iiffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14717. err("Build with ASSERTIONS=2 for more info.");
  14718. abort(x);
  14719. }
  14720. function nullFunc_iifi(x) {
  14721. err("Invalid function pointer called with signature 'iifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14722. err("Build with ASSERTIONS=2 for more info.");
  14723. abort(x);
  14724. }
  14725. function nullFunc_iifii(x) {
  14726. err("Invalid function pointer called with signature 'iifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14727. err("Build with ASSERTIONS=2 for more info.");
  14728. abort(x);
  14729. }
  14730. function nullFunc_iifiii(x) {
  14731. err("Invalid function pointer called with signature 'iifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14732. err("Build with ASSERTIONS=2 for more info.");
  14733. abort(x);
  14734. }
  14735. function nullFunc_iifiiiijii(x) {
  14736. err("Invalid function pointer called with signature 'iifiiiijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14737. err("Build with ASSERTIONS=2 for more info.");
  14738. abort(x);
  14739. }
  14740. function nullFunc_iii(x) {
  14741. err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14742. err("Build with ASSERTIONS=2 for more info.");
  14743. abort(x);
  14744. }
  14745. function nullFunc_iiif(x) {
  14746. err("Invalid function pointer called with signature 'iiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14747. err("Build with ASSERTIONS=2 for more info.");
  14748. abort(x);
  14749. }
  14750. function nullFunc_iiiff(x) {
  14751. err("Invalid function pointer called with signature 'iiiff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14752. err("Build with ASSERTIONS=2 for more info.");
  14753. abort(x);
  14754. }
  14755. function nullFunc_iiifi(x) {
  14756. err("Invalid function pointer called with signature 'iiifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14757. err("Build with ASSERTIONS=2 for more info.");
  14758. abort(x);
  14759. }
  14760. function nullFunc_iiifii(x) {
  14761. err("Invalid function pointer called with signature 'iiifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14762. err("Build with ASSERTIONS=2 for more info.");
  14763. abort(x);
  14764. }
  14765. function nullFunc_iiifiii(x) {
  14766. err("Invalid function pointer called with signature 'iiifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14767. err("Build with ASSERTIONS=2 for more info.");
  14768. abort(x);
  14769. }
  14770. function nullFunc_iiifiiii(x) {
  14771. err("Invalid function pointer called with signature 'iiifiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14772. err("Build with ASSERTIONS=2 for more info.");
  14773. abort(x);
  14774. }
  14775. function nullFunc_iiii(x) {
  14776. err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14777. err("Build with ASSERTIONS=2 for more info.");
  14778. abort(x);
  14779. }
  14780. function nullFunc_iiiifffffi(x) {
  14781. err("Invalid function pointer called with signature 'iiiifffffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14782. err("Build with ASSERTIONS=2 for more info.");
  14783. abort(x);
  14784. }
  14785. function nullFunc_iiiifffffii(x) {
  14786. err("Invalid function pointer called with signature 'iiiifffffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14787. err("Build with ASSERTIONS=2 for more info.");
  14788. abort(x);
  14789. }
  14790. function nullFunc_iiiifffiii(x) {
  14791. err("Invalid function pointer called with signature 'iiiifffiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14792. err("Build with ASSERTIONS=2 for more info.");
  14793. abort(x);
  14794. }
  14795. function nullFunc_iiiifi(x) {
  14796. err("Invalid function pointer called with signature 'iiiifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14797. err("Build with ASSERTIONS=2 for more info.");
  14798. abort(x);
  14799. }
  14800. function nullFunc_iiiifii(x) {
  14801. err("Invalid function pointer called with signature 'iiiifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14802. err("Build with ASSERTIONS=2 for more info.");
  14803. abort(x);
  14804. }
  14805. function nullFunc_iiiifiii(x) {
  14806. err("Invalid function pointer called with signature 'iiiifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14807. err("Build with ASSERTIONS=2 for more info.");
  14808. abort(x);
  14809. }
  14810. function nullFunc_iiiifiiii(x) {
  14811. err("Invalid function pointer called with signature 'iiiifiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14812. err("Build with ASSERTIONS=2 for more info.");
  14813. abort(x);
  14814. }
  14815. function nullFunc_iiiifiiiii(x) {
  14816. err("Invalid function pointer called with signature 'iiiifiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14817. err("Build with ASSERTIONS=2 for more info.");
  14818. abort(x);
  14819. }
  14820. function nullFunc_iiiii(x) {
  14821. err("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14822. err("Build with ASSERTIONS=2 for more info.");
  14823. abort(x);
  14824. }
  14825. function nullFunc_iiiiifiii(x) {
  14826. err("Invalid function pointer called with signature 'iiiiifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14827. err("Build with ASSERTIONS=2 for more info.");
  14828. abort(x);
  14829. }
  14830. function nullFunc_iiiiifiiiiif(x) {
  14831. err("Invalid function pointer called with signature 'iiiiifiiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14832. err("Build with ASSERTIONS=2 for more info.");
  14833. abort(x);
  14834. }
  14835. function nullFunc_iiiiii(x) {
  14836. err("Invalid function pointer called with signature 'iiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14837. err("Build with ASSERTIONS=2 for more info.");
  14838. abort(x);
  14839. }
  14840. function nullFunc_iiiiiifff(x) {
  14841. err("Invalid function pointer called with signature 'iiiiiifff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14842. err("Build with ASSERTIONS=2 for more info.");
  14843. abort(x);
  14844. }
  14845. function nullFunc_iiiiiifffiiifiii(x) {
  14846. err("Invalid function pointer called with signature 'iiiiiifffiiifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14847. err("Build with ASSERTIONS=2 for more info.");
  14848. abort(x);
  14849. }
  14850. function nullFunc_iiiiiiffiiiiiiiiiffffiii(x) {
  14851. err("Invalid function pointer called with signature 'iiiiiiffiiiiiiiiiffffiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14852. err("Build with ASSERTIONS=2 for more info.");
  14853. abort(x);
  14854. }
  14855. function nullFunc_iiiiiiffiiiiiiiiiffffiiii(x) {
  14856. err("Invalid function pointer called with signature 'iiiiiiffiiiiiiiiiffffiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14857. err("Build with ASSERTIONS=2 for more info.");
  14858. abort(x);
  14859. }
  14860. function nullFunc_iiiiiiffiiiiiiiiiiiiiii(x) {
  14861. err("Invalid function pointer called with signature 'iiiiiiffiiiiiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14862. err("Build with ASSERTIONS=2 for more info.");
  14863. abort(x);
  14864. }
  14865. function nullFunc_iiiiiifiif(x) {
  14866. err("Invalid function pointer called with signature 'iiiiiifiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14867. err("Build with ASSERTIONS=2 for more info.");
  14868. abort(x);
  14869. }
  14870. function nullFunc_iiiiiifiii(x) {
  14871. err("Invalid function pointer called with signature 'iiiiiifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14872. err("Build with ASSERTIONS=2 for more info.");
  14873. abort(x);
  14874. }
  14875. function nullFunc_iiiiiii(x) {
  14876. err("Invalid function pointer called with signature 'iiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14877. err("Build with ASSERTIONS=2 for more info.");
  14878. abort(x);
  14879. }
  14880. function nullFunc_iiiiiiifiif(x) {
  14881. err("Invalid function pointer called with signature 'iiiiiiifiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14882. err("Build with ASSERTIONS=2 for more info.");
  14883. abort(x);
  14884. }
  14885. function nullFunc_iiiiiiii(x) {
  14886. err("Invalid function pointer called with signature 'iiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14887. err("Build with ASSERTIONS=2 for more info.");
  14888. abort(x);
  14889. }
  14890. function nullFunc_iiiiiiiii(x) {
  14891. err("Invalid function pointer called with signature 'iiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14892. err("Build with ASSERTIONS=2 for more info.");
  14893. abort(x);
  14894. }
  14895. function nullFunc_iiiiiiiiii(x) {
  14896. err("Invalid function pointer called with signature 'iiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14897. err("Build with ASSERTIONS=2 for more info.");
  14898. abort(x);
  14899. }
  14900. function nullFunc_iiiiiiiiiii(x) {
  14901. err("Invalid function pointer called with signature 'iiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14902. err("Build with ASSERTIONS=2 for more info.");
  14903. abort(x);
  14904. }
  14905. function nullFunc_iiiiiiiiiiii(x) {
  14906. err("Invalid function pointer called with signature 'iiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14907. err("Build with ASSERTIONS=2 for more info.");
  14908. abort(x);
  14909. }
  14910. function nullFunc_iiiiiiiiiiiii(x) {
  14911. err("Invalid function pointer called with signature 'iiiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14912. err("Build with ASSERTIONS=2 for more info.");
  14913. abort(x);
  14914. }
  14915. function nullFunc_iiiiiiiiiiiiii(x) {
  14916. err("Invalid function pointer called with signature 'iiiiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14917. err("Build with ASSERTIONS=2 for more info.");
  14918. abort(x);
  14919. }
  14920. function nullFunc_iiiiiji(x) {
  14921. err("Invalid function pointer called with signature 'iiiiiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14922. err("Build with ASSERTIONS=2 for more info.");
  14923. abort(x);
  14924. }
  14925. function nullFunc_iiiij(x) {
  14926. err("Invalid function pointer called with signature 'iiiij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14927. err("Build with ASSERTIONS=2 for more info.");
  14928. abort(x);
  14929. }
  14930. function nullFunc_iiiiji(x) {
  14931. err("Invalid function pointer called with signature 'iiiiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14932. err("Build with ASSERTIONS=2 for more info.");
  14933. abort(x);
  14934. }
  14935. function nullFunc_iiiijii(x) {
  14936. err("Invalid function pointer called with signature 'iiiijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14937. err("Build with ASSERTIONS=2 for more info.");
  14938. abort(x);
  14939. }
  14940. function nullFunc_iiiijiii(x) {
  14941. err("Invalid function pointer called with signature 'iiiijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14942. err("Build with ASSERTIONS=2 for more info.");
  14943. abort(x);
  14944. }
  14945. function nullFunc_iiij(x) {
  14946. err("Invalid function pointer called with signature 'iiij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14947. err("Build with ASSERTIONS=2 for more info.");
  14948. abort(x);
  14949. }
  14950. function nullFunc_iiiji(x) {
  14951. err("Invalid function pointer called with signature 'iiiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14952. err("Build with ASSERTIONS=2 for more info.");
  14953. abort(x);
  14954. }
  14955. function nullFunc_iiijii(x) {
  14956. err("Invalid function pointer called with signature 'iiijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14957. err("Build with ASSERTIONS=2 for more info.");
  14958. abort(x);
  14959. }
  14960. function nullFunc_iiijiii(x) {
  14961. err("Invalid function pointer called with signature 'iiijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14962. err("Build with ASSERTIONS=2 for more info.");
  14963. abort(x);
  14964. }
  14965. function nullFunc_iiijji(x) {
  14966. err("Invalid function pointer called with signature 'iiijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14967. err("Build with ASSERTIONS=2 for more info.");
  14968. abort(x);
  14969. }
  14970. function nullFunc_iiijjiiii(x) {
  14971. err("Invalid function pointer called with signature 'iiijjiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14972. err("Build with ASSERTIONS=2 for more info.");
  14973. abort(x);
  14974. }
  14975. function nullFunc_iij(x) {
  14976. err("Invalid function pointer called with signature 'iij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14977. err("Build with ASSERTIONS=2 for more info.");
  14978. abort(x);
  14979. }
  14980. function nullFunc_iiji(x) {
  14981. err("Invalid function pointer called with signature 'iiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14982. err("Build with ASSERTIONS=2 for more info.");
  14983. abort(x);
  14984. }
  14985. function nullFunc_iijii(x) {
  14986. err("Invalid function pointer called with signature 'iijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14987. err("Build with ASSERTIONS=2 for more info.");
  14988. abort(x);
  14989. }
  14990. function nullFunc_iijiii(x) {
  14991. err("Invalid function pointer called with signature 'iijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14992. err("Build with ASSERTIONS=2 for more info.");
  14993. abort(x);
  14994. }
  14995. function nullFunc_iijji(x) {
  14996. err("Invalid function pointer called with signature 'iijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  14997. err("Build with ASSERTIONS=2 for more info.");
  14998. abort(x);
  14999. }
  15000. function nullFunc_iijjii(x) {
  15001. err("Invalid function pointer called with signature 'iijjii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15002. err("Build with ASSERTIONS=2 for more info.");
  15003. abort(x);
  15004. }
  15005. function nullFunc_iijjiii(x) {
  15006. err("Invalid function pointer called with signature 'iijjiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15007. err("Build with ASSERTIONS=2 for more info.");
  15008. abort(x);
  15009. }
  15010. function nullFunc_iijjji(x) {
  15011. err("Invalid function pointer called with signature 'iijjji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15012. err("Build with ASSERTIONS=2 for more info.");
  15013. abort(x);
  15014. }
  15015. function nullFunc_ij(x) {
  15016. err("Invalid function pointer called with signature 'ij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15017. err("Build with ASSERTIONS=2 for more info.");
  15018. abort(x);
  15019. }
  15020. function nullFunc_iji(x) {
  15021. err("Invalid function pointer called with signature 'iji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15022. err("Build with ASSERTIONS=2 for more info.");
  15023. abort(x);
  15024. }
  15025. function nullFunc_ijiii(x) {
  15026. err("Invalid function pointer called with signature 'ijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15027. err("Build with ASSERTIONS=2 for more info.");
  15028. abort(x);
  15029. }
  15030. function nullFunc_ijj(x) {
  15031. err("Invalid function pointer called with signature 'ijj'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15032. err("Build with ASSERTIONS=2 for more info.");
  15033. abort(x);
  15034. }
  15035. function nullFunc_ijji(x) {
  15036. err("Invalid function pointer called with signature 'ijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15037. err("Build with ASSERTIONS=2 for more info.");
  15038. abort(x);
  15039. }
  15040. function nullFunc_j(x) {
  15041. err("Invalid function pointer called with signature 'j'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15042. err("Build with ASSERTIONS=2 for more info.");
  15043. abort(x);
  15044. }
  15045. function nullFunc_jdi(x) {
  15046. err("Invalid function pointer called with signature 'jdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15047. err("Build with ASSERTIONS=2 for more info.");
  15048. abort(x);
  15049. }
  15050. function nullFunc_jdii(x) {
  15051. err("Invalid function pointer called with signature 'jdii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15052. err("Build with ASSERTIONS=2 for more info.");
  15053. abort(x);
  15054. }
  15055. function nullFunc_jfi(x) {
  15056. err("Invalid function pointer called with signature 'jfi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15057. err("Build with ASSERTIONS=2 for more info.");
  15058. abort(x);
  15059. }
  15060. function nullFunc_ji(x) {
  15061. err("Invalid function pointer called with signature 'ji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15062. err("Build with ASSERTIONS=2 for more info.");
  15063. abort(x);
  15064. }
  15065. function nullFunc_jidi(x) {
  15066. err("Invalid function pointer called with signature 'jidi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15067. err("Build with ASSERTIONS=2 for more info.");
  15068. abort(x);
  15069. }
  15070. function nullFunc_jidii(x) {
  15071. err("Invalid function pointer called with signature 'jidii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15072. err("Build with ASSERTIONS=2 for more info.");
  15073. abort(x);
  15074. }
  15075. function nullFunc_jii(x) {
  15076. err("Invalid function pointer called with signature 'jii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15077. err("Build with ASSERTIONS=2 for more info.");
  15078. abort(x);
  15079. }
  15080. function nullFunc_jiii(x) {
  15081. err("Invalid function pointer called with signature 'jiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15082. err("Build with ASSERTIONS=2 for more info.");
  15083. abort(x);
  15084. }
  15085. function nullFunc_jiiii(x) {
  15086. err("Invalid function pointer called with signature 'jiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15087. err("Build with ASSERTIONS=2 for more info.");
  15088. abort(x);
  15089. }
  15090. function nullFunc_jiiiii(x) {
  15091. err("Invalid function pointer called with signature 'jiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15092. err("Build with ASSERTIONS=2 for more info.");
  15093. abort(x);
  15094. }
  15095. function nullFunc_jiiiiii(x) {
  15096. err("Invalid function pointer called with signature 'jiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15097. err("Build with ASSERTIONS=2 for more info.");
  15098. abort(x);
  15099. }
  15100. function nullFunc_jiiiiiiiiii(x) {
  15101. err("Invalid function pointer called with signature 'jiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15102. err("Build with ASSERTIONS=2 for more info.");
  15103. abort(x);
  15104. }
  15105. function nullFunc_jiiji(x) {
  15106. err("Invalid function pointer called with signature 'jiiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15107. err("Build with ASSERTIONS=2 for more info.");
  15108. abort(x);
  15109. }
  15110. function nullFunc_jiji(x) {
  15111. err("Invalid function pointer called with signature 'jiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15112. err("Build with ASSERTIONS=2 for more info.");
  15113. abort(x);
  15114. }
  15115. function nullFunc_jijii(x) {
  15116. err("Invalid function pointer called with signature 'jijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15117. err("Build with ASSERTIONS=2 for more info.");
  15118. abort(x);
  15119. }
  15120. function nullFunc_jijiii(x) {
  15121. err("Invalid function pointer called with signature 'jijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15122. err("Build with ASSERTIONS=2 for more info.");
  15123. abort(x);
  15124. }
  15125. function nullFunc_jijji(x) {
  15126. err("Invalid function pointer called with signature 'jijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15127. err("Build with ASSERTIONS=2 for more info.");
  15128. abort(x);
  15129. }
  15130. function nullFunc_jji(x) {
  15131. err("Invalid function pointer called with signature 'jji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15132. err("Build with ASSERTIONS=2 for more info.");
  15133. abort(x);
  15134. }
  15135. function nullFunc_v(x) {
  15136. err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15137. err("Build with ASSERTIONS=2 for more info.");
  15138. abort(x);
  15139. }
  15140. function nullFunc_vd(x) {
  15141. err("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15142. err("Build with ASSERTIONS=2 for more info.");
  15143. abort(x);
  15144. }
  15145. function nullFunc_vf(x) {
  15146. err("Invalid function pointer called with signature 'vf'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15147. err("Build with ASSERTIONS=2 for more info.");
  15148. abort(x);
  15149. }
  15150. function nullFunc_vff(x) {
  15151. err("Invalid function pointer called with signature 'vff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15152. err("Build with ASSERTIONS=2 for more info.");
  15153. abort(x);
  15154. }
  15155. function nullFunc_vffff(x) {
  15156. err("Invalid function pointer called with signature 'vffff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15157. err("Build with ASSERTIONS=2 for more info.");
  15158. abort(x);
  15159. }
  15160. function nullFunc_vfi(x) {
  15161. err("Invalid function pointer called with signature 'vfi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15162. err("Build with ASSERTIONS=2 for more info.");
  15163. abort(x);
  15164. }
  15165. function nullFunc_vi(x) {
  15166. err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15167. err("Build with ASSERTIONS=2 for more info.");
  15168. abort(x);
  15169. }
  15170. function nullFunc_vid(x) {
  15171. err("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15172. err("Build with ASSERTIONS=2 for more info.");
  15173. abort(x);
  15174. }
  15175. function nullFunc_vidi(x) {
  15176. err("Invalid function pointer called with signature 'vidi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15177. err("Build with ASSERTIONS=2 for more info.");
  15178. abort(x);
  15179. }
  15180. function nullFunc_vif(x) {
  15181. err("Invalid function pointer called with signature 'vif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15182. err("Build with ASSERTIONS=2 for more info.");
  15183. abort(x);
  15184. }
  15185. function nullFunc_viff(x) {
  15186. err("Invalid function pointer called with signature 'viff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15187. err("Build with ASSERTIONS=2 for more info.");
  15188. abort(x);
  15189. }
  15190. function nullFunc_vifff(x) {
  15191. err("Invalid function pointer called with signature 'vifff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15192. err("Build with ASSERTIONS=2 for more info.");
  15193. abort(x);
  15194. }
  15195. function nullFunc_viffff(x) {
  15196. err("Invalid function pointer called with signature 'viffff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15197. err("Build with ASSERTIONS=2 for more info.");
  15198. abort(x);
  15199. }
  15200. function nullFunc_viffffi(x) {
  15201. err("Invalid function pointer called with signature 'viffffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15202. err("Build with ASSERTIONS=2 for more info.");
  15203. abort(x);
  15204. }
  15205. function nullFunc_viffffii(x) {
  15206. err("Invalid function pointer called with signature 'viffffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15207. err("Build with ASSERTIONS=2 for more info.");
  15208. abort(x);
  15209. }
  15210. function nullFunc_viffffiifffiiiiif(x) {
  15211. err("Invalid function pointer called with signature 'viffffiifffiiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15212. err("Build with ASSERTIONS=2 for more info.");
  15213. abort(x);
  15214. }
  15215. function nullFunc_viffffiii(x) {
  15216. err("Invalid function pointer called with signature 'viffffiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15217. err("Build with ASSERTIONS=2 for more info.");
  15218. abort(x);
  15219. }
  15220. function nullFunc_vifffi(x) {
  15221. err("Invalid function pointer called with signature 'vifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15222. err("Build with ASSERTIONS=2 for more info.");
  15223. abort(x);
  15224. }
  15225. function nullFunc_vifffii(x) {
  15226. err("Invalid function pointer called with signature 'vifffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15227. err("Build with ASSERTIONS=2 for more info.");
  15228. abort(x);
  15229. }
  15230. function nullFunc_viffi(x) {
  15231. err("Invalid function pointer called with signature 'viffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15232. err("Build with ASSERTIONS=2 for more info.");
  15233. abort(x);
  15234. }
  15235. function nullFunc_viffii(x) {
  15236. err("Invalid function pointer called with signature 'viffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15237. err("Build with ASSERTIONS=2 for more info.");
  15238. abort(x);
  15239. }
  15240. function nullFunc_viffiifffffiii(x) {
  15241. err("Invalid function pointer called with signature 'viffiifffffiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15242. err("Build with ASSERTIONS=2 for more info.");
  15243. abort(x);
  15244. }
  15245. function nullFunc_viffiii(x) {
  15246. err("Invalid function pointer called with signature 'viffiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15247. err("Build with ASSERTIONS=2 for more info.");
  15248. abort(x);
  15249. }
  15250. function nullFunc_viffiiiif(x) {
  15251. err("Invalid function pointer called with signature 'viffiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15252. err("Build with ASSERTIONS=2 for more info.");
  15253. abort(x);
  15254. }
  15255. function nullFunc_vifi(x) {
  15256. err("Invalid function pointer called with signature 'vifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15257. err("Build with ASSERTIONS=2 for more info.");
  15258. abort(x);
  15259. }
  15260. function nullFunc_vifii(x) {
  15261. err("Invalid function pointer called with signature 'vifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15262. err("Build with ASSERTIONS=2 for more info.");
  15263. abort(x);
  15264. }
  15265. function nullFunc_vifiiii(x) {
  15266. err("Invalid function pointer called with signature 'vifiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15267. err("Build with ASSERTIONS=2 for more info.");
  15268. abort(x);
  15269. }
  15270. function nullFunc_vifijii(x) {
  15271. err("Invalid function pointer called with signature 'vifijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15272. err("Build with ASSERTIONS=2 for more info.");
  15273. abort(x);
  15274. }
  15275. function nullFunc_vii(x) {
  15276. err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15277. err("Build with ASSERTIONS=2 for more info.");
  15278. abort(x);
  15279. }
  15280. function nullFunc_viid(x) {
  15281. err("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15282. err("Build with ASSERTIONS=2 for more info.");
  15283. abort(x);
  15284. }
  15285. function nullFunc_viidi(x) {
  15286. err("Invalid function pointer called with signature 'viidi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15287. err("Build with ASSERTIONS=2 for more info.");
  15288. abort(x);
  15289. }
  15290. function nullFunc_viidii(x) {
  15291. err("Invalid function pointer called with signature 'viidii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15292. err("Build with ASSERTIONS=2 for more info.");
  15293. abort(x);
  15294. }
  15295. function nullFunc_viif(x) {
  15296. err("Invalid function pointer called with signature 'viif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15297. err("Build with ASSERTIONS=2 for more info.");
  15298. abort(x);
  15299. }
  15300. function nullFunc_viiff(x) {
  15301. err("Invalid function pointer called with signature 'viiff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15302. err("Build with ASSERTIONS=2 for more info.");
  15303. abort(x);
  15304. }
  15305. function nullFunc_viifff(x) {
  15306. err("Invalid function pointer called with signature 'viifff'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15307. err("Build with ASSERTIONS=2 for more info.");
  15308. abort(x);
  15309. }
  15310. function nullFunc_viifffi(x) {
  15311. err("Invalid function pointer called with signature 'viifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15312. err("Build with ASSERTIONS=2 for more info.");
  15313. abort(x);
  15314. }
  15315. function nullFunc_viiffi(x) {
  15316. err("Invalid function pointer called with signature 'viiffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15317. err("Build with ASSERTIONS=2 for more info.");
  15318. abort(x);
  15319. }
  15320. function nullFunc_viiffii(x) {
  15321. err("Invalid function pointer called with signature 'viiffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15322. err("Build with ASSERTIONS=2 for more info.");
  15323. abort(x);
  15324. }
  15325. function nullFunc_viifi(x) {
  15326. err("Invalid function pointer called with signature 'viifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15327. err("Build with ASSERTIONS=2 for more info.");
  15328. abort(x);
  15329. }
  15330. function nullFunc_viifii(x) {
  15331. err("Invalid function pointer called with signature 'viifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15332. err("Build with ASSERTIONS=2 for more info.");
  15333. abort(x);
  15334. }
  15335. function nullFunc_viifiii(x) {
  15336. err("Invalid function pointer called with signature 'viifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15337. err("Build with ASSERTIONS=2 for more info.");
  15338. abort(x);
  15339. }
  15340. function nullFunc_viifiiii(x) {
  15341. err("Invalid function pointer called with signature 'viifiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15342. err("Build with ASSERTIONS=2 for more info.");
  15343. abort(x);
  15344. }
  15345. function nullFunc_viii(x) {
  15346. err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15347. err("Build with ASSERTIONS=2 for more info.");
  15348. abort(x);
  15349. }
  15350. function nullFunc_viiidi(x) {
  15351. err("Invalid function pointer called with signature 'viiidi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15352. err("Build with ASSERTIONS=2 for more info.");
  15353. abort(x);
  15354. }
  15355. function nullFunc_viiifffi(x) {
  15356. err("Invalid function pointer called with signature 'viiifffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15357. err("Build with ASSERTIONS=2 for more info.");
  15358. abort(x);
  15359. }
  15360. function nullFunc_viiiffi(x) {
  15361. err("Invalid function pointer called with signature 'viiiffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15362. err("Build with ASSERTIONS=2 for more info.");
  15363. abort(x);
  15364. }
  15365. function nullFunc_viiiffii(x) {
  15366. err("Invalid function pointer called with signature 'viiiffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15367. err("Build with ASSERTIONS=2 for more info.");
  15368. abort(x);
  15369. }
  15370. function nullFunc_viiifi(x) {
  15371. err("Invalid function pointer called with signature 'viiifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15372. err("Build with ASSERTIONS=2 for more info.");
  15373. abort(x);
  15374. }
  15375. function nullFunc_viiifii(x) {
  15376. err("Invalid function pointer called with signature 'viiifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15377. err("Build with ASSERTIONS=2 for more info.");
  15378. abort(x);
  15379. }
  15380. function nullFunc_viiifiii(x) {
  15381. err("Invalid function pointer called with signature 'viiifiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15382. err("Build with ASSERTIONS=2 for more info.");
  15383. abort(x);
  15384. }
  15385. function nullFunc_viiifiiiii(x) {
  15386. err("Invalid function pointer called with signature 'viiifiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15387. err("Build with ASSERTIONS=2 for more info.");
  15388. abort(x);
  15389. }
  15390. function nullFunc_viiii(x) {
  15391. err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15392. err("Build with ASSERTIONS=2 for more info.");
  15393. abort(x);
  15394. }
  15395. function nullFunc_viiiif(x) {
  15396. err("Invalid function pointer called with signature 'viiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15397. err("Build with ASSERTIONS=2 for more info.");
  15398. abort(x);
  15399. }
  15400. function nullFunc_viiiifii(x) {
  15401. err("Invalid function pointer called with signature 'viiiifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15402. err("Build with ASSERTIONS=2 for more info.");
  15403. abort(x);
  15404. }
  15405. function nullFunc_viiiifiiiiif(x) {
  15406. err("Invalid function pointer called with signature 'viiiifiiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15407. err("Build with ASSERTIONS=2 for more info.");
  15408. abort(x);
  15409. }
  15410. function nullFunc_viiiii(x) {
  15411. err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15412. err("Build with ASSERTIONS=2 for more info.");
  15413. abort(x);
  15414. }
  15415. function nullFunc_viiiiif(x) {
  15416. err("Invalid function pointer called with signature 'viiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15417. err("Build with ASSERTIONS=2 for more info.");
  15418. abort(x);
  15419. }
  15420. function nullFunc_viiiiiffi(x) {
  15421. err("Invalid function pointer called with signature 'viiiiiffi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15422. err("Build with ASSERTIONS=2 for more info.");
  15423. abort(x);
  15424. }
  15425. function nullFunc_viiiiiffii(x) {
  15426. err("Invalid function pointer called with signature 'viiiiiffii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15427. err("Build with ASSERTIONS=2 for more info.");
  15428. abort(x);
  15429. }
  15430. function nullFunc_viiiiifi(x) {
  15431. err("Invalid function pointer called with signature 'viiiiifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15432. err("Build with ASSERTIONS=2 for more info.");
  15433. abort(x);
  15434. }
  15435. function nullFunc_viiiiii(x) {
  15436. err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15437. err("Build with ASSERTIONS=2 for more info.");
  15438. abort(x);
  15439. }
  15440. function nullFunc_viiiiiif(x) {
  15441. err("Invalid function pointer called with signature 'viiiiiif'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15442. err("Build with ASSERTIONS=2 for more info.");
  15443. abort(x);
  15444. }
  15445. function nullFunc_viiiiiii(x) {
  15446. err("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15447. err("Build with ASSERTIONS=2 for more info.");
  15448. abort(x);
  15449. }
  15450. function nullFunc_viiiiiiifi(x) {
  15451. err("Invalid function pointer called with signature 'viiiiiiifi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15452. err("Build with ASSERTIONS=2 for more info.");
  15453. abort(x);
  15454. }
  15455. function nullFunc_viiiiiiii(x) {
  15456. err("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15457. err("Build with ASSERTIONS=2 for more info.");
  15458. abort(x);
  15459. }
  15460. function nullFunc_viiiiiiiii(x) {
  15461. err("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15462. err("Build with ASSERTIONS=2 for more info.");
  15463. abort(x);
  15464. }
  15465. function nullFunc_viiiiiiiiii(x) {
  15466. err("Invalid function pointer called with signature 'viiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15467. err("Build with ASSERTIONS=2 for more info.");
  15468. abort(x);
  15469. }
  15470. function nullFunc_viiiiiiiiiii(x) {
  15471. err("Invalid function pointer called with signature 'viiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15472. err("Build with ASSERTIONS=2 for more info.");
  15473. abort(x);
  15474. }
  15475. function nullFunc_viiiiiiiiiiifii(x) {
  15476. err("Invalid function pointer called with signature 'viiiiiiiiiiifii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15477. err("Build with ASSERTIONS=2 for more info.");
  15478. abort(x);
  15479. }
  15480. function nullFunc_viiiiiiiiiiii(x) {
  15481. err("Invalid function pointer called with signature 'viiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15482. err("Build with ASSERTIONS=2 for more info.");
  15483. abort(x);
  15484. }
  15485. function nullFunc_viiiiiiiiiiiiii(x) {
  15486. err("Invalid function pointer called with signature 'viiiiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15487. err("Build with ASSERTIONS=2 for more info.");
  15488. abort(x);
  15489. }
  15490. function nullFunc_viiiiiiiiiiiiiii(x) {
  15491. err("Invalid function pointer called with signature 'viiiiiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15492. err("Build with ASSERTIONS=2 for more info.");
  15493. abort(x);
  15494. }
  15495. function nullFunc_viiiiiiiiiiiiiiiiii(x) {
  15496. err("Invalid function pointer called with signature 'viiiiiiiiiiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15497. err("Build with ASSERTIONS=2 for more info.");
  15498. abort(x);
  15499. }
  15500. function nullFunc_viiiiiji(x) {
  15501. err("Invalid function pointer called with signature 'viiiiiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15502. err("Build with ASSERTIONS=2 for more info.");
  15503. abort(x);
  15504. }
  15505. function nullFunc_viiiij(x) {
  15506. err("Invalid function pointer called with signature 'viiiij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15507. err("Build with ASSERTIONS=2 for more info.");
  15508. abort(x);
  15509. }
  15510. function nullFunc_viiiijiiii(x) {
  15511. err("Invalid function pointer called with signature 'viiiijiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15512. err("Build with ASSERTIONS=2 for more info.");
  15513. abort(x);
  15514. }
  15515. function nullFunc_viiiji(x) {
  15516. err("Invalid function pointer called with signature 'viiiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15517. err("Build with ASSERTIONS=2 for more info.");
  15518. abort(x);
  15519. }
  15520. function nullFunc_viiijji(x) {
  15521. err("Invalid function pointer called with signature 'viiijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15522. err("Build with ASSERTIONS=2 for more info.");
  15523. abort(x);
  15524. }
  15525. function nullFunc_viij(x) {
  15526. err("Invalid function pointer called with signature 'viij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15527. err("Build with ASSERTIONS=2 for more info.");
  15528. abort(x);
  15529. }
  15530. function nullFunc_viiji(x) {
  15531. err("Invalid function pointer called with signature 'viiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15532. err("Build with ASSERTIONS=2 for more info.");
  15533. abort(x);
  15534. }
  15535. function nullFunc_viijii(x) {
  15536. err("Invalid function pointer called with signature 'viijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15537. err("Build with ASSERTIONS=2 for more info.");
  15538. abort(x);
  15539. }
  15540. function nullFunc_viijiijiii(x) {
  15541. err("Invalid function pointer called with signature 'viijiijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15542. err("Build with ASSERTIONS=2 for more info.");
  15543. abort(x);
  15544. }
  15545. function nullFunc_viijijii(x) {
  15546. err("Invalid function pointer called with signature 'viijijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15547. err("Build with ASSERTIONS=2 for more info.");
  15548. abort(x);
  15549. }
  15550. function nullFunc_viijijiii(x) {
  15551. err("Invalid function pointer called with signature 'viijijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15552. err("Build with ASSERTIONS=2 for more info.");
  15553. abort(x);
  15554. }
  15555. function nullFunc_viijijj(x) {
  15556. err("Invalid function pointer called with signature 'viijijj'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15557. err("Build with ASSERTIONS=2 for more info.");
  15558. abort(x);
  15559. }
  15560. function nullFunc_viijj(x) {
  15561. err("Invalid function pointer called with signature 'viijj'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15562. err("Build with ASSERTIONS=2 for more info.");
  15563. abort(x);
  15564. }
  15565. function nullFunc_viijji(x) {
  15566. err("Invalid function pointer called with signature 'viijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15567. err("Build with ASSERTIONS=2 for more info.");
  15568. abort(x);
  15569. }
  15570. function nullFunc_viijjii(x) {
  15571. err("Invalid function pointer called with signature 'viijjii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15572. err("Build with ASSERTIONS=2 for more info.");
  15573. abort(x);
  15574. }
  15575. function nullFunc_viijjiii(x) {
  15576. err("Invalid function pointer called with signature 'viijjiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15577. err("Build with ASSERTIONS=2 for more info.");
  15578. abort(x);
  15579. }
  15580. function nullFunc_viijjji(x) {
  15581. err("Invalid function pointer called with signature 'viijjji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15582. err("Build with ASSERTIONS=2 for more info.");
  15583. abort(x);
  15584. }
  15585. function nullFunc_vij(x) {
  15586. err("Invalid function pointer called with signature 'vij'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15587. err("Build with ASSERTIONS=2 for more info.");
  15588. abort(x);
  15589. }
  15590. function nullFunc_viji(x) {
  15591. err("Invalid function pointer called with signature 'viji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15592. err("Build with ASSERTIONS=2 for more info.");
  15593. abort(x);
  15594. }
  15595. function nullFunc_vijii(x) {
  15596. err("Invalid function pointer called with signature 'vijii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15597. err("Build with ASSERTIONS=2 for more info.");
  15598. abort(x);
  15599. }
  15600. function nullFunc_vijiii(x) {
  15601. err("Invalid function pointer called with signature 'vijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15602. err("Build with ASSERTIONS=2 for more info.");
  15603. abort(x);
  15604. }
  15605. function nullFunc_vijiji(x) {
  15606. err("Invalid function pointer called with signature 'vijiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15607. err("Build with ASSERTIONS=2 for more info.");
  15608. abort(x);
  15609. }
  15610. function nullFunc_vijijji(x) {
  15611. err("Invalid function pointer called with signature 'vijijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15612. err("Build with ASSERTIONS=2 for more info.");
  15613. abort(x);
  15614. }
  15615. function nullFunc_vijji(x) {
  15616. err("Invalid function pointer called with signature 'vijji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15617. err("Build with ASSERTIONS=2 for more info.");
  15618. abort(x);
  15619. }
  15620. function nullFunc_vijjii(x) {
  15621. err("Invalid function pointer called with signature 'vijjii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15622. err("Build with ASSERTIONS=2 for more info.");
  15623. abort(x);
  15624. }
  15625. function nullFunc_vijjji(x) {
  15626. err("Invalid function pointer called with signature 'vijjji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15627. err("Build with ASSERTIONS=2 for more info.");
  15628. abort(x);
  15629. }
  15630. function nullFunc_vji(x) {
  15631. err("Invalid function pointer called with signature 'vji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15632. err("Build with ASSERTIONS=2 for more info.");
  15633. abort(x);
  15634. }
  15635. function nullFunc_vjiiii(x) {
  15636. err("Invalid function pointer called with signature 'vjiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15637. err("Build with ASSERTIONS=2 for more info.");
  15638. abort(x);
  15639. }
  15640. function nullFunc_vjji(x) {
  15641. err("Invalid function pointer called with signature 'vjji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");
  15642. err("Build with ASSERTIONS=2 for more info.");
  15643. abort(x);
  15644. }
  15645. Module["wasmTableSize"] = 49729;
  15646. Module["wasmMaxTableSize"] = 49729;
  15647. function invoke_dddi(index, a1, a2, a3) {
  15648. var sp = stackSave();
  15649. try {
  15650. return Module["dynCall_dddi"](index, a1, a2, a3);
  15651. } catch (e) {
  15652. stackRestore(sp);
  15653. if (typeof e !== "number" && e !== "longjmp") throw e;
  15654. Module["setThrew"](1, 0);
  15655. }
  15656. }
  15657. function invoke_ddi(index, a1, a2) {
  15658. var sp = stackSave();
  15659. try {
  15660. return Module["dynCall_ddi"](index, a1, a2);
  15661. } catch (e) {
  15662. stackRestore(sp);
  15663. if (typeof e !== "number" && e !== "longjmp") throw e;
  15664. Module["setThrew"](1, 0);
  15665. }
  15666. }
  15667. function invoke_dfi(index, a1, a2) {
  15668. var sp = stackSave();
  15669. try {
  15670. return Module["dynCall_dfi"](index, a1, a2);
  15671. } catch (e) {
  15672. stackRestore(sp);
  15673. if (typeof e !== "number" && e !== "longjmp") throw e;
  15674. Module["setThrew"](1, 0);
  15675. }
  15676. }
  15677. function invoke_di(index, a1) {
  15678. var sp = stackSave();
  15679. try {
  15680. return Module["dynCall_di"](index, a1);
  15681. } catch (e) {
  15682. stackRestore(sp);
  15683. if (typeof e !== "number" && e !== "longjmp") throw e;
  15684. Module["setThrew"](1, 0);
  15685. }
  15686. }
  15687. function invoke_diddi(index, a1, a2, a3, a4) {
  15688. var sp = stackSave();
  15689. try {
  15690. return Module["dynCall_diddi"](index, a1, a2, a3, a4);
  15691. } catch (e) {
  15692. stackRestore(sp);
  15693. if (typeof e !== "number" && e !== "longjmp") throw e;
  15694. Module["setThrew"](1, 0);
  15695. }
  15696. }
  15697. function invoke_didi(index, a1, a2, a3) {
  15698. var sp = stackSave();
  15699. try {
  15700. return Module["dynCall_didi"](index, a1, a2, a3);
  15701. } catch (e) {
  15702. stackRestore(sp);
  15703. if (typeof e !== "number" && e !== "longjmp") throw e;
  15704. Module["setThrew"](1, 0);
  15705. }
  15706. }
  15707. function invoke_dii(index, a1, a2) {
  15708. var sp = stackSave();
  15709. try {
  15710. return Module["dynCall_dii"](index, a1, a2);
  15711. } catch (e) {
  15712. stackRestore(sp);
  15713. if (typeof e !== "number" && e !== "longjmp") throw e;
  15714. Module["setThrew"](1, 0);
  15715. }
  15716. }
  15717. function invoke_diii(index, a1, a2, a3) {
  15718. var sp = stackSave();
  15719. try {
  15720. return Module["dynCall_diii"](index, a1, a2, a3);
  15721. } catch (e) {
  15722. stackRestore(sp);
  15723. if (typeof e !== "number" && e !== "longjmp") throw e;
  15724. Module["setThrew"](1, 0);
  15725. }
  15726. }
  15727. function invoke_diiii(index, a1, a2, a3, a4) {
  15728. var sp = stackSave();
  15729. try {
  15730. return Module["dynCall_diiii"](index, a1, a2, a3, a4);
  15731. } catch (e) {
  15732. stackRestore(sp);
  15733. if (typeof e !== "number" && e !== "longjmp") throw e;
  15734. Module["setThrew"](1, 0);
  15735. }
  15736. }
  15737. function invoke_dji(index, a1, a2, a3) {
  15738. var sp = stackSave();
  15739. try {
  15740. return Module["dynCall_dji"](index, a1, a2, a3);
  15741. } catch (e) {
  15742. stackRestore(sp);
  15743. if (typeof e !== "number" && e !== "longjmp") throw e;
  15744. Module["setThrew"](1, 0);
  15745. }
  15746. }
  15747. function invoke_f(index) {
  15748. var sp = stackSave();
  15749. try {
  15750. return Module["dynCall_f"](index);
  15751. } catch (e) {
  15752. stackRestore(sp);
  15753. if (typeof e !== "number" && e !== "longjmp") throw e;
  15754. Module["setThrew"](1, 0);
  15755. }
  15756. }
  15757. function invoke_fdi(index, a1, a2) {
  15758. var sp = stackSave();
  15759. try {
  15760. return Module["dynCall_fdi"](index, a1, a2);
  15761. } catch (e) {
  15762. stackRestore(sp);
  15763. if (typeof e !== "number" && e !== "longjmp") throw e;
  15764. Module["setThrew"](1, 0);
  15765. }
  15766. }
  15767. function invoke_ff(index, a1) {
  15768. var sp = stackSave();
  15769. try {
  15770. return Module["dynCall_ff"](index, a1);
  15771. } catch (e) {
  15772. stackRestore(sp);
  15773. if (typeof e !== "number" && e !== "longjmp") throw e;
  15774. Module["setThrew"](1, 0);
  15775. }
  15776. }
  15777. function invoke_fff(index, a1, a2) {
  15778. var sp = stackSave();
  15779. try {
  15780. return Module["dynCall_fff"](index, a1, a2);
  15781. } catch (e) {
  15782. stackRestore(sp);
  15783. if (typeof e !== "number" && e !== "longjmp") throw e;
  15784. Module["setThrew"](1, 0);
  15785. }
  15786. }
  15787. function invoke_ffffi(index, a1, a2, a3, a4) {
  15788. var sp = stackSave();
  15789. try {
  15790. return Module["dynCall_ffffi"](index, a1, a2, a3, a4);
  15791. } catch (e) {
  15792. stackRestore(sp);
  15793. if (typeof e !== "number" && e !== "longjmp") throw e;
  15794. Module["setThrew"](1, 0);
  15795. }
  15796. }
  15797. function invoke_fffi(index, a1, a2, a3) {
  15798. var sp = stackSave();
  15799. try {
  15800. return Module["dynCall_fffi"](index, a1, a2, a3);
  15801. } catch (e) {
  15802. stackRestore(sp);
  15803. if (typeof e !== "number" && e !== "longjmp") throw e;
  15804. Module["setThrew"](1, 0);
  15805. }
  15806. }
  15807. function invoke_fffifffi(index, a1, a2, a3, a4, a5, a6, a7) {
  15808. var sp = stackSave();
  15809. try {
  15810. return Module["dynCall_fffifffi"](index, a1, a2, a3, a4, a5, a6, a7);
  15811. } catch (e) {
  15812. stackRestore(sp);
  15813. if (typeof e !== "number" && e !== "longjmp") throw e;
  15814. Module["setThrew"](1, 0);
  15815. }
  15816. }
  15817. function invoke_ffi(index, a1, a2) {
  15818. var sp = stackSave();
  15819. try {
  15820. return Module["dynCall_ffi"](index, a1, a2);
  15821. } catch (e) {
  15822. stackRestore(sp);
  15823. if (typeof e !== "number" && e !== "longjmp") throw e;
  15824. Module["setThrew"](1, 0);
  15825. }
  15826. }
  15827. function invoke_fi(index, a1) {
  15828. var sp = stackSave();
  15829. try {
  15830. return Module["dynCall_fi"](index, a1);
  15831. } catch (e) {
  15832. stackRestore(sp);
  15833. if (typeof e !== "number" && e !== "longjmp") throw e;
  15834. Module["setThrew"](1, 0);
  15835. }
  15836. }
  15837. function invoke_fif(index, a1, a2) {
  15838. var sp = stackSave();
  15839. try {
  15840. return Module["dynCall_fif"](index, a1, a2);
  15841. } catch (e) {
  15842. stackRestore(sp);
  15843. if (typeof e !== "number" && e !== "longjmp") throw e;
  15844. Module["setThrew"](1, 0);
  15845. }
  15846. }
  15847. function invoke_fiff(index, a1, a2, a3) {
  15848. var sp = stackSave();
  15849. try {
  15850. return Module["dynCall_fiff"](index, a1, a2, a3);
  15851. } catch (e) {
  15852. stackRestore(sp);
  15853. if (typeof e !== "number" && e !== "longjmp") throw e;
  15854. Module["setThrew"](1, 0);
  15855. }
  15856. }
  15857. function invoke_fifffi(index, a1, a2, a3, a4, a5) {
  15858. var sp = stackSave();
  15859. try {
  15860. return Module["dynCall_fifffi"](index, a1, a2, a3, a4, a5);
  15861. } catch (e) {
  15862. stackRestore(sp);
  15863. if (typeof e !== "number" && e !== "longjmp") throw e;
  15864. Module["setThrew"](1, 0);
  15865. }
  15866. }
  15867. function invoke_fiffi(index, a1, a2, a3, a4) {
  15868. var sp = stackSave();
  15869. try {
  15870. return Module["dynCall_fiffi"](index, a1, a2, a3, a4);
  15871. } catch (e) {
  15872. stackRestore(sp);
  15873. if (typeof e !== "number" && e !== "longjmp") throw e;
  15874. Module["setThrew"](1, 0);
  15875. }
  15876. }
  15877. function invoke_fifi(index, a1, a2, a3) {
  15878. var sp = stackSave();
  15879. try {
  15880. return Module["dynCall_fifi"](index, a1, a2, a3);
  15881. } catch (e) {
  15882. stackRestore(sp);
  15883. if (typeof e !== "number" && e !== "longjmp") throw e;
  15884. Module["setThrew"](1, 0);
  15885. }
  15886. }
  15887. function invoke_fifii(index, a1, a2, a3, a4) {
  15888. var sp = stackSave();
  15889. try {
  15890. return Module["dynCall_fifii"](index, a1, a2, a3, a4);
  15891. } catch (e) {
  15892. stackRestore(sp);
  15893. if (typeof e !== "number" && e !== "longjmp") throw e;
  15894. Module["setThrew"](1, 0);
  15895. }
  15896. }
  15897. function invoke_fii(index, a1, a2) {
  15898. var sp = stackSave();
  15899. try {
  15900. return Module["dynCall_fii"](index, a1, a2);
  15901. } catch (e) {
  15902. stackRestore(sp);
  15903. if (typeof e !== "number" && e !== "longjmp") throw e;
  15904. Module["setThrew"](1, 0);
  15905. }
  15906. }
  15907. function invoke_fiif(index, a1, a2, a3) {
  15908. var sp = stackSave();
  15909. try {
  15910. return Module["dynCall_fiif"](index, a1, a2, a3);
  15911. } catch (e) {
  15912. stackRestore(sp);
  15913. if (typeof e !== "number" && e !== "longjmp") throw e;
  15914. Module["setThrew"](1, 0);
  15915. }
  15916. }
  15917. function invoke_fiifi(index, a1, a2, a3, a4) {
  15918. var sp = stackSave();
  15919. try {
  15920. return Module["dynCall_fiifi"](index, a1, a2, a3, a4);
  15921. } catch (e) {
  15922. stackRestore(sp);
  15923. if (typeof e !== "number" && e !== "longjmp") throw e;
  15924. Module["setThrew"](1, 0);
  15925. }
  15926. }
  15927. function invoke_fiifii(index, a1, a2, a3, a4, a5) {
  15928. var sp = stackSave();
  15929. try {
  15930. return Module["dynCall_fiifii"](index, a1, a2, a3, a4, a5);
  15931. } catch (e) {
  15932. stackRestore(sp);
  15933. if (typeof e !== "number" && e !== "longjmp") throw e;
  15934. Module["setThrew"](1, 0);
  15935. }
  15936. }
  15937. function invoke_fiii(index, a1, a2, a3) {
  15938. var sp = stackSave();
  15939. try {
  15940. return Module["dynCall_fiii"](index, a1, a2, a3);
  15941. } catch (e) {
  15942. stackRestore(sp);
  15943. if (typeof e !== "number" && e !== "longjmp") throw e;
  15944. Module["setThrew"](1, 0);
  15945. }
  15946. }
  15947. function invoke_fiiii(index, a1, a2, a3, a4) {
  15948. var sp = stackSave();
  15949. try {
  15950. return Module["dynCall_fiiii"](index, a1, a2, a3, a4);
  15951. } catch (e) {
  15952. stackRestore(sp);
  15953. if (typeof e !== "number" && e !== "longjmp") throw e;
  15954. Module["setThrew"](1, 0);
  15955. }
  15956. }
  15957. function invoke_fiiiiiifiifif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
  15958. var sp = stackSave();
  15959. try {
  15960. return Module["dynCall_fiiiiiifiifif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
  15961. } catch (e) {
  15962. stackRestore(sp);
  15963. if (typeof e !== "number" && e !== "longjmp") throw e;
  15964. Module["setThrew"](1, 0);
  15965. }
  15966. }
  15967. function invoke_fiiiiiifiiiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
  15968. var sp = stackSave();
  15969. try {
  15970. return Module["dynCall_fiiiiiifiiiif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
  15971. } catch (e) {
  15972. stackRestore(sp);
  15973. if (typeof e !== "number" && e !== "longjmp") throw e;
  15974. Module["setThrew"](1, 0);
  15975. }
  15976. }
  15977. function invoke_fji(index, a1, a2, a3) {
  15978. var sp = stackSave();
  15979. try {
  15980. return Module["dynCall_fji"](index, a1, a2, a3);
  15981. } catch (e) {
  15982. stackRestore(sp);
  15983. if (typeof e !== "number" && e !== "longjmp") throw e;
  15984. Module["setThrew"](1, 0);
  15985. }
  15986. }
  15987. function invoke_i(index) {
  15988. var sp = stackSave();
  15989. try {
  15990. return Module["dynCall_i"](index);
  15991. } catch (e) {
  15992. stackRestore(sp);
  15993. if (typeof e !== "number" && e !== "longjmp") throw e;
  15994. Module["setThrew"](1, 0);
  15995. }
  15996. }
  15997. function invoke_idi(index, a1, a2) {
  15998. var sp = stackSave();
  15999. try {
  16000. return Module["dynCall_idi"](index, a1, a2);
  16001. } catch (e) {
  16002. stackRestore(sp);
  16003. if (typeof e !== "number" && e !== "longjmp") throw e;
  16004. Module["setThrew"](1, 0);
  16005. }
  16006. }
  16007. function invoke_idiii(index, a1, a2, a3, a4) {
  16008. var sp = stackSave();
  16009. try {
  16010. return Module["dynCall_idiii"](index, a1, a2, a3, a4);
  16011. } catch (e) {
  16012. stackRestore(sp);
  16013. if (typeof e !== "number" && e !== "longjmp") throw e;
  16014. Module["setThrew"](1, 0);
  16015. }
  16016. }
  16017. function invoke_ifffi(index, a1, a2, a3, a4) {
  16018. var sp = stackSave();
  16019. try {
  16020. return Module["dynCall_ifffi"](index, a1, a2, a3, a4);
  16021. } catch (e) {
  16022. stackRestore(sp);
  16023. if (typeof e !== "number" && e !== "longjmp") throw e;
  16024. Module["setThrew"](1, 0);
  16025. }
  16026. }
  16027. function invoke_iffi(index, a1, a2, a3) {
  16028. var sp = stackSave();
  16029. try {
  16030. return Module["dynCall_iffi"](index, a1, a2, a3);
  16031. } catch (e) {
  16032. stackRestore(sp);
  16033. if (typeof e !== "number" && e !== "longjmp") throw e;
  16034. Module["setThrew"](1, 0);
  16035. }
  16036. }
  16037. function invoke_ifi(index, a1, a2) {
  16038. var sp = stackSave();
  16039. try {
  16040. return Module["dynCall_ifi"](index, a1, a2);
  16041. } catch (e) {
  16042. stackRestore(sp);
  16043. if (typeof e !== "number" && e !== "longjmp") throw e;
  16044. Module["setThrew"](1, 0);
  16045. }
  16046. }
  16047. function invoke_ifiii(index, a1, a2, a3, a4) {
  16048. var sp = stackSave();
  16049. try {
  16050. return Module["dynCall_ifiii"](index, a1, a2, a3, a4);
  16051. } catch (e) {
  16052. stackRestore(sp);
  16053. if (typeof e !== "number" && e !== "longjmp") throw e;
  16054. Module["setThrew"](1, 0);
  16055. }
  16056. }
  16057. function invoke_ii(index, a1) {
  16058. var sp = stackSave();
  16059. try {
  16060. return Module["dynCall_ii"](index, a1);
  16061. } catch (e) {
  16062. stackRestore(sp);
  16063. if (typeof e !== "number" && e !== "longjmp") throw e;
  16064. Module["setThrew"](1, 0);
  16065. }
  16066. }
  16067. function invoke_iidi(index, a1, a2, a3) {
  16068. var sp = stackSave();
  16069. try {
  16070. return Module["dynCall_iidi"](index, a1, a2, a3);
  16071. } catch (e) {
  16072. stackRestore(sp);
  16073. if (typeof e !== "number" && e !== "longjmp") throw e;
  16074. Module["setThrew"](1, 0);
  16075. }
  16076. }
  16077. function invoke_iidii(index, a1, a2, a3, a4) {
  16078. var sp = stackSave();
  16079. try {
  16080. return Module["dynCall_iidii"](index, a1, a2, a3, a4);
  16081. } catch (e) {
  16082. stackRestore(sp);
  16083. if (typeof e !== "number" && e !== "longjmp") throw e;
  16084. Module["setThrew"](1, 0);
  16085. }
  16086. }
  16087. function invoke_iif(index, a1, a2) {
  16088. var sp = stackSave();
  16089. try {
  16090. return Module["dynCall_iif"](index, a1, a2);
  16091. } catch (e) {
  16092. stackRestore(sp);
  16093. if (typeof e !== "number" && e !== "longjmp") throw e;
  16094. Module["setThrew"](1, 0);
  16095. }
  16096. }
  16097. function invoke_iifff(index, a1, a2, a3, a4) {
  16098. var sp = stackSave();
  16099. try {
  16100. return Module["dynCall_iifff"](index, a1, a2, a3, a4);
  16101. } catch (e) {
  16102. stackRestore(sp);
  16103. if (typeof e !== "number" && e !== "longjmp") throw e;
  16104. Module["setThrew"](1, 0);
  16105. }
  16106. }
  16107. function invoke_iifffi(index, a1, a2, a3, a4, a5) {
  16108. var sp = stackSave();
  16109. try {
  16110. return Module["dynCall_iifffi"](index, a1, a2, a3, a4, a5);
  16111. } catch (e) {
  16112. stackRestore(sp);
  16113. if (typeof e !== "number" && e !== "longjmp") throw e;
  16114. Module["setThrew"](1, 0);
  16115. }
  16116. }
  16117. function invoke_iiffi(index, a1, a2, a3, a4) {
  16118. var sp = stackSave();
  16119. try {
  16120. return Module["dynCall_iiffi"](index, a1, a2, a3, a4);
  16121. } catch (e) {
  16122. stackRestore(sp);
  16123. if (typeof e !== "number" && e !== "longjmp") throw e;
  16124. Module["setThrew"](1, 0);
  16125. }
  16126. }
  16127. function invoke_iifi(index, a1, a2, a3) {
  16128. var sp = stackSave();
  16129. try {
  16130. return Module["dynCall_iifi"](index, a1, a2, a3);
  16131. } catch (e) {
  16132. stackRestore(sp);
  16133. if (typeof e !== "number" && e !== "longjmp") throw e;
  16134. Module["setThrew"](1, 0);
  16135. }
  16136. }
  16137. function invoke_iifii(index, a1, a2, a3, a4) {
  16138. var sp = stackSave();
  16139. try {
  16140. return Module["dynCall_iifii"](index, a1, a2, a3, a4);
  16141. } catch (e) {
  16142. stackRestore(sp);
  16143. if (typeof e !== "number" && e !== "longjmp") throw e;
  16144. Module["setThrew"](1, 0);
  16145. }
  16146. }
  16147. function invoke_iifiii(index, a1, a2, a3, a4, a5) {
  16148. var sp = stackSave();
  16149. try {
  16150. return Module["dynCall_iifiii"](index, a1, a2, a3, a4, a5);
  16151. } catch (e) {
  16152. stackRestore(sp);
  16153. if (typeof e !== "number" && e !== "longjmp") throw e;
  16154. Module["setThrew"](1, 0);
  16155. }
  16156. }
  16157. function invoke_iifiiiijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  16158. var sp = stackSave();
  16159. try {
  16160. return Module["dynCall_iifiiiijii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  16161. } catch (e) {
  16162. stackRestore(sp);
  16163. if (typeof e !== "number" && e !== "longjmp") throw e;
  16164. Module["setThrew"](1, 0);
  16165. }
  16166. }
  16167. function invoke_iii(index, a1, a2) {
  16168. var sp = stackSave();
  16169. try {
  16170. return Module["dynCall_iii"](index, a1, a2);
  16171. } catch (e) {
  16172. stackRestore(sp);
  16173. if (typeof e !== "number" && e !== "longjmp") throw e;
  16174. Module["setThrew"](1, 0);
  16175. }
  16176. }
  16177. function invoke_iiif(index, a1, a2, a3) {
  16178. var sp = stackSave();
  16179. try {
  16180. return Module["dynCall_iiif"](index, a1, a2, a3);
  16181. } catch (e) {
  16182. stackRestore(sp);
  16183. if (typeof e !== "number" && e !== "longjmp") throw e;
  16184. Module["setThrew"](1, 0);
  16185. }
  16186. }
  16187. function invoke_iiiff(index, a1, a2, a3, a4) {
  16188. var sp = stackSave();
  16189. try {
  16190. return Module["dynCall_iiiff"](index, a1, a2, a3, a4);
  16191. } catch (e) {
  16192. stackRestore(sp);
  16193. if (typeof e !== "number" && e !== "longjmp") throw e;
  16194. Module["setThrew"](1, 0);
  16195. }
  16196. }
  16197. function invoke_iiifi(index, a1, a2, a3, a4) {
  16198. var sp = stackSave();
  16199. try {
  16200. return Module["dynCall_iiifi"](index, a1, a2, a3, a4);
  16201. } catch (e) {
  16202. stackRestore(sp);
  16203. if (typeof e !== "number" && e !== "longjmp") throw e;
  16204. Module["setThrew"](1, 0);
  16205. }
  16206. }
  16207. function invoke_iiifii(index, a1, a2, a3, a4, a5) {
  16208. var sp = stackSave();
  16209. try {
  16210. return Module["dynCall_iiifii"](index, a1, a2, a3, a4, a5);
  16211. } catch (e) {
  16212. stackRestore(sp);
  16213. if (typeof e !== "number" && e !== "longjmp") throw e;
  16214. Module["setThrew"](1, 0);
  16215. }
  16216. }
  16217. function invoke_iiifiii(index, a1, a2, a3, a4, a5, a6) {
  16218. var sp = stackSave();
  16219. try {
  16220. return Module["dynCall_iiifiii"](index, a1, a2, a3, a4, a5, a6);
  16221. } catch (e) {
  16222. stackRestore(sp);
  16223. if (typeof e !== "number" && e !== "longjmp") throw e;
  16224. Module["setThrew"](1, 0);
  16225. }
  16226. }
  16227. function invoke_iiifiiii(index, a1, a2, a3, a4, a5, a6, a7) {
  16228. var sp = stackSave();
  16229. try {
  16230. return Module["dynCall_iiifiiii"](index, a1, a2, a3, a4, a5, a6, a7);
  16231. } catch (e) {
  16232. stackRestore(sp);
  16233. if (typeof e !== "number" && e !== "longjmp") throw e;
  16234. Module["setThrew"](1, 0);
  16235. }
  16236. }
  16237. function invoke_iiii(index, a1, a2, a3) {
  16238. var sp = stackSave();
  16239. try {
  16240. return Module["dynCall_iiii"](index, a1, a2, a3);
  16241. } catch (e) {
  16242. stackRestore(sp);
  16243. if (typeof e !== "number" && e !== "longjmp") throw e;
  16244. Module["setThrew"](1, 0);
  16245. }
  16246. }
  16247. function invoke_iiiifffffi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  16248. var sp = stackSave();
  16249. try {
  16250. return Module["dynCall_iiiifffffi"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  16251. } catch (e) {
  16252. stackRestore(sp);
  16253. if (typeof e !== "number" && e !== "longjmp") throw e;
  16254. Module["setThrew"](1, 0);
  16255. }
  16256. }
  16257. function invoke_iiiifffffii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  16258. var sp = stackSave();
  16259. try {
  16260. return Module["dynCall_iiiifffffii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  16261. } catch (e) {
  16262. stackRestore(sp);
  16263. if (typeof e !== "number" && e !== "longjmp") throw e;
  16264. Module["setThrew"](1, 0);
  16265. }
  16266. }
  16267. function invoke_iiiifffiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  16268. var sp = stackSave();
  16269. try {
  16270. return Module["dynCall_iiiifffiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  16271. } catch (e) {
  16272. stackRestore(sp);
  16273. if (typeof e !== "number" && e !== "longjmp") throw e;
  16274. Module["setThrew"](1, 0);
  16275. }
  16276. }
  16277. function invoke_iiiifi(index, a1, a2, a3, a4, a5) {
  16278. var sp = stackSave();
  16279. try {
  16280. return Module["dynCall_iiiifi"](index, a1, a2, a3, a4, a5);
  16281. } catch (e) {
  16282. stackRestore(sp);
  16283. if (typeof e !== "number" && e !== "longjmp") throw e;
  16284. Module["setThrew"](1, 0);
  16285. }
  16286. }
  16287. function invoke_iiiifii(index, a1, a2, a3, a4, a5, a6) {
  16288. var sp = stackSave();
  16289. try {
  16290. return Module["dynCall_iiiifii"](index, a1, a2, a3, a4, a5, a6);
  16291. } catch (e) {
  16292. stackRestore(sp);
  16293. if (typeof e !== "number" && e !== "longjmp") throw e;
  16294. Module["setThrew"](1, 0);
  16295. }
  16296. }
  16297. function invoke_iiiifiii(index, a1, a2, a3, a4, a5, a6, a7) {
  16298. var sp = stackSave();
  16299. try {
  16300. return Module["dynCall_iiiifiii"](index, a1, a2, a3, a4, a5, a6, a7);
  16301. } catch (e) {
  16302. stackRestore(sp);
  16303. if (typeof e !== "number" && e !== "longjmp") throw e;
  16304. Module["setThrew"](1, 0);
  16305. }
  16306. }
  16307. function invoke_iiiifiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16308. var sp = stackSave();
  16309. try {
  16310. return Module["dynCall_iiiifiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16311. } catch (e) {
  16312. stackRestore(sp);
  16313. if (typeof e !== "number" && e !== "longjmp") throw e;
  16314. Module["setThrew"](1, 0);
  16315. }
  16316. }
  16317. function invoke_iiiifiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  16318. var sp = stackSave();
  16319. try {
  16320. return Module["dynCall_iiiifiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  16321. } catch (e) {
  16322. stackRestore(sp);
  16323. if (typeof e !== "number" && e !== "longjmp") throw e;
  16324. Module["setThrew"](1, 0);
  16325. }
  16326. }
  16327. function invoke_iiiii(index, a1, a2, a3, a4) {
  16328. var sp = stackSave();
  16329. try {
  16330. return Module["dynCall_iiiii"](index, a1, a2, a3, a4);
  16331. } catch (e) {
  16332. stackRestore(sp);
  16333. if (typeof e !== "number" && e !== "longjmp") throw e;
  16334. Module["setThrew"](1, 0);
  16335. }
  16336. }
  16337. function invoke_iiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16338. var sp = stackSave();
  16339. try {
  16340. return Module["dynCall_iiiiifiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16341. } catch (e) {
  16342. stackRestore(sp);
  16343. if (typeof e !== "number" && e !== "longjmp") throw e;
  16344. Module["setThrew"](1, 0);
  16345. }
  16346. }
  16347. function invoke_iiiiifiiiiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
  16348. var sp = stackSave();
  16349. try {
  16350. return Module["dynCall_iiiiifiiiiif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  16351. } catch (e) {
  16352. stackRestore(sp);
  16353. if (typeof e !== "number" && e !== "longjmp") throw e;
  16354. Module["setThrew"](1, 0);
  16355. }
  16356. }
  16357. function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
  16358. var sp = stackSave();
  16359. try {
  16360. return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5);
  16361. } catch (e) {
  16362. stackRestore(sp);
  16363. if (typeof e !== "number" && e !== "longjmp") throw e;
  16364. Module["setThrew"](1, 0);
  16365. }
  16366. }
  16367. function invoke_iiiiiifff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16368. var sp = stackSave();
  16369. try {
  16370. return Module["dynCall_iiiiiifff"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16371. } catch (e) {
  16372. stackRestore(sp);
  16373. if (typeof e !== "number" && e !== "longjmp") throw e;
  16374. Module["setThrew"](1, 0);
  16375. }
  16376. }
  16377. function invoke_iiiiiifffiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {
  16378. var sp = stackSave();
  16379. try {
  16380. return Module["dynCall_iiiiiifffiiifiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
  16381. } catch (e) {
  16382. stackRestore(sp);
  16383. if (typeof e !== "number" && e !== "longjmp") throw e;
  16384. Module["setThrew"](1, 0);
  16385. }
  16386. }
  16387. function invoke_iiiiiiffiiiiiiiiiffffiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) {
  16388. var sp = stackSave();
  16389. try {
  16390. return Module["dynCall_iiiiiiffiiiiiiiiiffffiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
  16391. } catch (e) {
  16392. stackRestore(sp);
  16393. if (typeof e !== "number" && e !== "longjmp") throw e;
  16394. Module["setThrew"](1, 0);
  16395. }
  16396. }
  16397. function invoke_iiiiiiffiiiiiiiiiffffiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) {
  16398. var sp = stackSave();
  16399. try {
  16400. return Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24);
  16401. } catch (e) {
  16402. stackRestore(sp);
  16403. if (typeof e !== "number" && e !== "longjmp") throw e;
  16404. Module["setThrew"](1, 0);
  16405. }
  16406. }
  16407. function invoke_iiiiiiffiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) {
  16408. var sp = stackSave();
  16409. try {
  16410. return Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
  16411. } catch (e) {
  16412. stackRestore(sp);
  16413. if (typeof e !== "number" && e !== "longjmp") throw e;
  16414. Module["setThrew"](1, 0);
  16415. }
  16416. }
  16417. function invoke_iiiiiifiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  16418. var sp = stackSave();
  16419. try {
  16420. return Module["dynCall_iiiiiifiif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  16421. } catch (e) {
  16422. stackRestore(sp);
  16423. if (typeof e !== "number" && e !== "longjmp") throw e;
  16424. Module["setThrew"](1, 0);
  16425. }
  16426. }
  16427. function invoke_iiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  16428. var sp = stackSave();
  16429. try {
  16430. return Module["dynCall_iiiiiifiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  16431. } catch (e) {
  16432. stackRestore(sp);
  16433. if (typeof e !== "number" && e !== "longjmp") throw e;
  16434. Module["setThrew"](1, 0);
  16435. }
  16436. }
  16437. function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
  16438. var sp = stackSave();
  16439. try {
  16440. return Module["dynCall_iiiiiii"](index, a1, a2, a3, a4, a5, a6);
  16441. } catch (e) {
  16442. stackRestore(sp);
  16443. if (typeof e !== "number" && e !== "longjmp") throw e;
  16444. Module["setThrew"](1, 0);
  16445. }
  16446. }
  16447. function invoke_iiiiiiifiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  16448. var sp = stackSave();
  16449. try {
  16450. return Module["dynCall_iiiiiiifiif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  16451. } catch (e) {
  16452. stackRestore(sp);
  16453. if (typeof e !== "number" && e !== "longjmp") throw e;
  16454. Module["setThrew"](1, 0);
  16455. }
  16456. }
  16457. function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
  16458. var sp = stackSave();
  16459. try {
  16460. return Module["dynCall_iiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7);
  16461. } catch (e) {
  16462. stackRestore(sp);
  16463. if (typeof e !== "number" && e !== "longjmp") throw e;
  16464. Module["setThrew"](1, 0);
  16465. }
  16466. }
  16467. function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16468. var sp = stackSave();
  16469. try {
  16470. return Module["dynCall_iiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16471. } catch (e) {
  16472. stackRestore(sp);
  16473. if (typeof e !== "number" && e !== "longjmp") throw e;
  16474. Module["setThrew"](1, 0);
  16475. }
  16476. }
  16477. function invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  16478. var sp = stackSave();
  16479. try {
  16480. return Module["dynCall_iiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  16481. } catch (e) {
  16482. stackRestore(sp);
  16483. if (typeof e !== "number" && e !== "longjmp") throw e;
  16484. Module["setThrew"](1, 0);
  16485. }
  16486. }
  16487. function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  16488. var sp = stackSave();
  16489. try {
  16490. return Module["dynCall_iiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  16491. } catch (e) {
  16492. stackRestore(sp);
  16493. if (typeof e !== "number" && e !== "longjmp") throw e;
  16494. Module["setThrew"](1, 0);
  16495. }
  16496. }
  16497. function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
  16498. var sp = stackSave();
  16499. try {
  16500. return Module["dynCall_iiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  16501. } catch (e) {
  16502. stackRestore(sp);
  16503. if (typeof e !== "number" && e !== "longjmp") throw e;
  16504. Module["setThrew"](1, 0);
  16505. }
  16506. }
  16507. function invoke_iiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
  16508. var sp = stackSave();
  16509. try {
  16510. return Module["dynCall_iiiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
  16511. } catch (e) {
  16512. stackRestore(sp);
  16513. if (typeof e !== "number" && e !== "longjmp") throw e;
  16514. Module["setThrew"](1, 0);
  16515. }
  16516. }
  16517. function invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {
  16518. var sp = stackSave();
  16519. try {
  16520. return Module["dynCall_iiiiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
  16521. } catch (e) {
  16522. stackRestore(sp);
  16523. if (typeof e !== "number" && e !== "longjmp") throw e;
  16524. Module["setThrew"](1, 0);
  16525. }
  16526. }
  16527. function invoke_iiiiiji(index, a1, a2, a3, a4, a5, a6, a7) {
  16528. var sp = stackSave();
  16529. try {
  16530. return Module["dynCall_iiiiiji"](index, a1, a2, a3, a4, a5, a6, a7);
  16531. } catch (e) {
  16532. stackRestore(sp);
  16533. if (typeof e !== "number" && e !== "longjmp") throw e;
  16534. Module["setThrew"](1, 0);
  16535. }
  16536. }
  16537. function invoke_iiiij(index, a1, a2, a3, a4, a5) {
  16538. var sp = stackSave();
  16539. try {
  16540. return Module["dynCall_iiiij"](index, a1, a2, a3, a4, a5);
  16541. } catch (e) {
  16542. stackRestore(sp);
  16543. if (typeof e !== "number" && e !== "longjmp") throw e;
  16544. Module["setThrew"](1, 0);
  16545. }
  16546. }
  16547. function invoke_iiiiji(index, a1, a2, a3, a4, a5, a6) {
  16548. var sp = stackSave();
  16549. try {
  16550. return Module["dynCall_iiiiji"](index, a1, a2, a3, a4, a5, a6);
  16551. } catch (e) {
  16552. stackRestore(sp);
  16553. if (typeof e !== "number" && e !== "longjmp") throw e;
  16554. Module["setThrew"](1, 0);
  16555. }
  16556. }
  16557. function invoke_iiiijii(index, a1, a2, a3, a4, a5, a6, a7) {
  16558. var sp = stackSave();
  16559. try {
  16560. return Module["dynCall_iiiijii"](index, a1, a2, a3, a4, a5, a6, a7);
  16561. } catch (e) {
  16562. stackRestore(sp);
  16563. if (typeof e !== "number" && e !== "longjmp") throw e;
  16564. Module["setThrew"](1, 0);
  16565. }
  16566. }
  16567. function invoke_iiiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16568. var sp = stackSave();
  16569. try {
  16570. return Module["dynCall_iiiijiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16571. } catch (e) {
  16572. stackRestore(sp);
  16573. if (typeof e !== "number" && e !== "longjmp") throw e;
  16574. Module["setThrew"](1, 0);
  16575. }
  16576. }
  16577. function invoke_iiij(index, a1, a2, a3, a4) {
  16578. var sp = stackSave();
  16579. try {
  16580. return Module["dynCall_iiij"](index, a1, a2, a3, a4);
  16581. } catch (e) {
  16582. stackRestore(sp);
  16583. if (typeof e !== "number" && e !== "longjmp") throw e;
  16584. Module["setThrew"](1, 0);
  16585. }
  16586. }
  16587. function invoke_iiiji(index, a1, a2, a3, a4, a5) {
  16588. var sp = stackSave();
  16589. try {
  16590. return Module["dynCall_iiiji"](index, a1, a2, a3, a4, a5);
  16591. } catch (e) {
  16592. stackRestore(sp);
  16593. if (typeof e !== "number" && e !== "longjmp") throw e;
  16594. Module["setThrew"](1, 0);
  16595. }
  16596. }
  16597. function invoke_iiijii(index, a1, a2, a3, a4, a5, a6) {
  16598. var sp = stackSave();
  16599. try {
  16600. return Module["dynCall_iiijii"](index, a1, a2, a3, a4, a5, a6);
  16601. } catch (e) {
  16602. stackRestore(sp);
  16603. if (typeof e !== "number" && e !== "longjmp") throw e;
  16604. Module["setThrew"](1, 0);
  16605. }
  16606. }
  16607. function invoke_iiijiii(index, a1, a2, a3, a4, a5, a6, a7) {
  16608. var sp = stackSave();
  16609. try {
  16610. return Module["dynCall_iiijiii"](index, a1, a2, a3, a4, a5, a6, a7);
  16611. } catch (e) {
  16612. stackRestore(sp);
  16613. if (typeof e !== "number" && e !== "longjmp") throw e;
  16614. Module["setThrew"](1, 0);
  16615. }
  16616. }
  16617. function invoke_iiijji(index, a1, a2, a3, a4, a5, a6, a7) {
  16618. var sp = stackSave();
  16619. try {
  16620. return Module["dynCall_iiijji"](index, a1, a2, a3, a4, a5, a6, a7);
  16621. } catch (e) {
  16622. stackRestore(sp);
  16623. if (typeof e !== "number" && e !== "longjmp") throw e;
  16624. Module["setThrew"](1, 0);
  16625. }
  16626. }
  16627. function invoke_iiijjiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  16628. var sp = stackSave();
  16629. try {
  16630. return Module["dynCall_iiijjiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  16631. } catch (e) {
  16632. stackRestore(sp);
  16633. if (typeof e !== "number" && e !== "longjmp") throw e;
  16634. Module["setThrew"](1, 0);
  16635. }
  16636. }
  16637. function invoke_iij(index, a1, a2, a3) {
  16638. var sp = stackSave();
  16639. try {
  16640. return Module["dynCall_iij"](index, a1, a2, a3);
  16641. } catch (e) {
  16642. stackRestore(sp);
  16643. if (typeof e !== "number" && e !== "longjmp") throw e;
  16644. Module["setThrew"](1, 0);
  16645. }
  16646. }
  16647. function invoke_iiji(index, a1, a2, a3, a4) {
  16648. var sp = stackSave();
  16649. try {
  16650. return Module["dynCall_iiji"](index, a1, a2, a3, a4);
  16651. } catch (e) {
  16652. stackRestore(sp);
  16653. if (typeof e !== "number" && e !== "longjmp") throw e;
  16654. Module["setThrew"](1, 0);
  16655. }
  16656. }
  16657. function invoke_iijii(index, a1, a2, a3, a4, a5) {
  16658. var sp = stackSave();
  16659. try {
  16660. return Module["dynCall_iijii"](index, a1, a2, a3, a4, a5);
  16661. } catch (e) {
  16662. stackRestore(sp);
  16663. if (typeof e !== "number" && e !== "longjmp") throw e;
  16664. Module["setThrew"](1, 0);
  16665. }
  16666. }
  16667. function invoke_iijiii(index, a1, a2, a3, a4, a5, a6) {
  16668. var sp = stackSave();
  16669. try {
  16670. return Module["dynCall_iijiii"](index, a1, a2, a3, a4, a5, a6);
  16671. } catch (e) {
  16672. stackRestore(sp);
  16673. if (typeof e !== "number" && e !== "longjmp") throw e;
  16674. Module["setThrew"](1, 0);
  16675. }
  16676. }
  16677. function invoke_iijji(index, a1, a2, a3, a4, a5, a6) {
  16678. var sp = stackSave();
  16679. try {
  16680. return Module["dynCall_iijji"](index, a1, a2, a3, a4, a5, a6);
  16681. } catch (e) {
  16682. stackRestore(sp);
  16683. if (typeof e !== "number" && e !== "longjmp") throw e;
  16684. Module["setThrew"](1, 0);
  16685. }
  16686. }
  16687. function invoke_iijjii(index, a1, a2, a3, a4, a5, a6, a7) {
  16688. var sp = stackSave();
  16689. try {
  16690. return Module["dynCall_iijjii"](index, a1, a2, a3, a4, a5, a6, a7);
  16691. } catch (e) {
  16692. stackRestore(sp);
  16693. if (typeof e !== "number" && e !== "longjmp") throw e;
  16694. Module["setThrew"](1, 0);
  16695. }
  16696. }
  16697. function invoke_iijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16698. var sp = stackSave();
  16699. try {
  16700. return Module["dynCall_iijjiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16701. } catch (e) {
  16702. stackRestore(sp);
  16703. if (typeof e !== "number" && e !== "longjmp") throw e;
  16704. Module["setThrew"](1, 0);
  16705. }
  16706. }
  16707. function invoke_iijjji(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  16708. var sp = stackSave();
  16709. try {
  16710. return Module["dynCall_iijjji"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  16711. } catch (e) {
  16712. stackRestore(sp);
  16713. if (typeof e !== "number" && e !== "longjmp") throw e;
  16714. Module["setThrew"](1, 0);
  16715. }
  16716. }
  16717. function invoke_ij(index, a1, a2) {
  16718. var sp = stackSave();
  16719. try {
  16720. return Module["dynCall_ij"](index, a1, a2);
  16721. } catch (e) {
  16722. stackRestore(sp);
  16723. if (typeof e !== "number" && e !== "longjmp") throw e;
  16724. Module["setThrew"](1, 0);
  16725. }
  16726. }
  16727. function invoke_iji(index, a1, a2, a3) {
  16728. var sp = stackSave();
  16729. try {
  16730. return Module["dynCall_iji"](index, a1, a2, a3);
  16731. } catch (e) {
  16732. stackRestore(sp);
  16733. if (typeof e !== "number" && e !== "longjmp") throw e;
  16734. Module["setThrew"](1, 0);
  16735. }
  16736. }
  16737. function invoke_ijiii(index, a1, a2, a3, a4, a5) {
  16738. var sp = stackSave();
  16739. try {
  16740. return Module["dynCall_ijiii"](index, a1, a2, a3, a4, a5);
  16741. } catch (e) {
  16742. stackRestore(sp);
  16743. if (typeof e !== "number" && e !== "longjmp") throw e;
  16744. Module["setThrew"](1, 0);
  16745. }
  16746. }
  16747. function invoke_ijj(index, a1, a2, a3, a4) {
  16748. var sp = stackSave();
  16749. try {
  16750. return Module["dynCall_ijj"](index, a1, a2, a3, a4);
  16751. } catch (e) {
  16752. stackRestore(sp);
  16753. if (typeof e !== "number" && e !== "longjmp") throw e;
  16754. Module["setThrew"](1, 0);
  16755. }
  16756. }
  16757. function invoke_ijji(index, a1, a2, a3, a4, a5) {
  16758. var sp = stackSave();
  16759. try {
  16760. return Module["dynCall_ijji"](index, a1, a2, a3, a4, a5);
  16761. } catch (e) {
  16762. stackRestore(sp);
  16763. if (typeof e !== "number" && e !== "longjmp") throw e;
  16764. Module["setThrew"](1, 0);
  16765. }
  16766. }
  16767. function invoke_j(index) {
  16768. var sp = stackSave();
  16769. try {
  16770. return Module["dynCall_j"](index);
  16771. } catch (e) {
  16772. stackRestore(sp);
  16773. if (typeof e !== "number" && e !== "longjmp") throw e;
  16774. Module["setThrew"](1, 0);
  16775. }
  16776. }
  16777. function invoke_jdi(index, a1, a2) {
  16778. var sp = stackSave();
  16779. try {
  16780. return Module["dynCall_jdi"](index, a1, a2);
  16781. } catch (e) {
  16782. stackRestore(sp);
  16783. if (typeof e !== "number" && e !== "longjmp") throw e;
  16784. Module["setThrew"](1, 0);
  16785. }
  16786. }
  16787. function invoke_jdii(index, a1, a2, a3) {
  16788. var sp = stackSave();
  16789. try {
  16790. return Module["dynCall_jdii"](index, a1, a2, a3);
  16791. } catch (e) {
  16792. stackRestore(sp);
  16793. if (typeof e !== "number" && e !== "longjmp") throw e;
  16794. Module["setThrew"](1, 0);
  16795. }
  16796. }
  16797. function invoke_jfi(index, a1, a2) {
  16798. var sp = stackSave();
  16799. try {
  16800. return Module["dynCall_jfi"](index, a1, a2);
  16801. } catch (e) {
  16802. stackRestore(sp);
  16803. if (typeof e !== "number" && e !== "longjmp") throw e;
  16804. Module["setThrew"](1, 0);
  16805. }
  16806. }
  16807. function invoke_ji(index, a1) {
  16808. var sp = stackSave();
  16809. try {
  16810. return Module["dynCall_ji"](index, a1);
  16811. } catch (e) {
  16812. stackRestore(sp);
  16813. if (typeof e !== "number" && e !== "longjmp") throw e;
  16814. Module["setThrew"](1, 0);
  16815. }
  16816. }
  16817. function invoke_jidi(index, a1, a2, a3) {
  16818. var sp = stackSave();
  16819. try {
  16820. return Module["dynCall_jidi"](index, a1, a2, a3);
  16821. } catch (e) {
  16822. stackRestore(sp);
  16823. if (typeof e !== "number" && e !== "longjmp") throw e;
  16824. Module["setThrew"](1, 0);
  16825. }
  16826. }
  16827. function invoke_jidii(index, a1, a2, a3, a4) {
  16828. var sp = stackSave();
  16829. try {
  16830. return Module["dynCall_jidii"](index, a1, a2, a3, a4);
  16831. } catch (e) {
  16832. stackRestore(sp);
  16833. if (typeof e !== "number" && e !== "longjmp") throw e;
  16834. Module["setThrew"](1, 0);
  16835. }
  16836. }
  16837. function invoke_jii(index, a1, a2) {
  16838. var sp = stackSave();
  16839. try {
  16840. return Module["dynCall_jii"](index, a1, a2);
  16841. } catch (e) {
  16842. stackRestore(sp);
  16843. if (typeof e !== "number" && e !== "longjmp") throw e;
  16844. Module["setThrew"](1, 0);
  16845. }
  16846. }
  16847. function invoke_jiii(index, a1, a2, a3) {
  16848. var sp = stackSave();
  16849. try {
  16850. return Module["dynCall_jiii"](index, a1, a2, a3);
  16851. } catch (e) {
  16852. stackRestore(sp);
  16853. if (typeof e !== "number" && e !== "longjmp") throw e;
  16854. Module["setThrew"](1, 0);
  16855. }
  16856. }
  16857. function invoke_jiiii(index, a1, a2, a3, a4) {
  16858. var sp = stackSave();
  16859. try {
  16860. return Module["dynCall_jiiii"](index, a1, a2, a3, a4);
  16861. } catch (e) {
  16862. stackRestore(sp);
  16863. if (typeof e !== "number" && e !== "longjmp") throw e;
  16864. Module["setThrew"](1, 0);
  16865. }
  16866. }
  16867. function invoke_jiiiii(index, a1, a2, a3, a4, a5) {
  16868. var sp = stackSave();
  16869. try {
  16870. return Module["dynCall_jiiiii"](index, a1, a2, a3, a4, a5);
  16871. } catch (e) {
  16872. stackRestore(sp);
  16873. if (typeof e !== "number" && e !== "longjmp") throw e;
  16874. Module["setThrew"](1, 0);
  16875. }
  16876. }
  16877. function invoke_jiiiiii(index, a1, a2, a3, a4, a5, a6) {
  16878. var sp = stackSave();
  16879. try {
  16880. return Module["dynCall_jiiiiii"](index, a1, a2, a3, a4, a5, a6);
  16881. } catch (e) {
  16882. stackRestore(sp);
  16883. if (typeof e !== "number" && e !== "longjmp") throw e;
  16884. Module["setThrew"](1, 0);
  16885. }
  16886. }
  16887. function invoke_jiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  16888. var sp = stackSave();
  16889. try {
  16890. return Module["dynCall_jiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  16891. } catch (e) {
  16892. stackRestore(sp);
  16893. if (typeof e !== "number" && e !== "longjmp") throw e;
  16894. Module["setThrew"](1, 0);
  16895. }
  16896. }
  16897. function invoke_jiiji(index, a1, a2, a3, a4, a5) {
  16898. var sp = stackSave();
  16899. try {
  16900. return Module["dynCall_jiiji"](index, a1, a2, a3, a4, a5);
  16901. } catch (e) {
  16902. stackRestore(sp);
  16903. if (typeof e !== "number" && e !== "longjmp") throw e;
  16904. Module["setThrew"](1, 0);
  16905. }
  16906. }
  16907. function invoke_jiji(index, a1, a2, a3, a4) {
  16908. var sp = stackSave();
  16909. try {
  16910. return Module["dynCall_jiji"](index, a1, a2, a3, a4);
  16911. } catch (e) {
  16912. stackRestore(sp);
  16913. if (typeof e !== "number" && e !== "longjmp") throw e;
  16914. Module["setThrew"](1, 0);
  16915. }
  16916. }
  16917. function invoke_jijii(index, a1, a2, a3, a4, a5) {
  16918. var sp = stackSave();
  16919. try {
  16920. return Module["dynCall_jijii"](index, a1, a2, a3, a4, a5);
  16921. } catch (e) {
  16922. stackRestore(sp);
  16923. if (typeof e !== "number" && e !== "longjmp") throw e;
  16924. Module["setThrew"](1, 0);
  16925. }
  16926. }
  16927. function invoke_jijiii(index, a1, a2, a3, a4, a5, a6) {
  16928. var sp = stackSave();
  16929. try {
  16930. return Module["dynCall_jijiii"](index, a1, a2, a3, a4, a5, a6);
  16931. } catch (e) {
  16932. stackRestore(sp);
  16933. if (typeof e !== "number" && e !== "longjmp") throw e;
  16934. Module["setThrew"](1, 0);
  16935. }
  16936. }
  16937. function invoke_jijji(index, a1, a2, a3, a4, a5, a6) {
  16938. var sp = stackSave();
  16939. try {
  16940. return Module["dynCall_jijji"](index, a1, a2, a3, a4, a5, a6);
  16941. } catch (e) {
  16942. stackRestore(sp);
  16943. if (typeof e !== "number" && e !== "longjmp") throw e;
  16944. Module["setThrew"](1, 0);
  16945. }
  16946. }
  16947. function invoke_jji(index, a1, a2, a3) {
  16948. var sp = stackSave();
  16949. try {
  16950. return Module["dynCall_jji"](index, a1, a2, a3);
  16951. } catch (e) {
  16952. stackRestore(sp);
  16953. if (typeof e !== "number" && e !== "longjmp") throw e;
  16954. Module["setThrew"](1, 0);
  16955. }
  16956. }
  16957. function invoke_v(index) {
  16958. var sp = stackSave();
  16959. try {
  16960. Module["dynCall_v"](index);
  16961. } catch (e) {
  16962. stackRestore(sp);
  16963. if (typeof e !== "number" && e !== "longjmp") throw e;
  16964. Module["setThrew"](1, 0);
  16965. }
  16966. }
  16967. function invoke_vd(index, a1) {
  16968. var sp = stackSave();
  16969. try {
  16970. Module["dynCall_vd"](index, a1);
  16971. } catch (e) {
  16972. stackRestore(sp);
  16973. if (typeof e !== "number" && e !== "longjmp") throw e;
  16974. Module["setThrew"](1, 0);
  16975. }
  16976. }
  16977. function invoke_vf(index, a1) {
  16978. var sp = stackSave();
  16979. try {
  16980. Module["dynCall_vf"](index, a1);
  16981. } catch (e) {
  16982. stackRestore(sp);
  16983. if (typeof e !== "number" && e !== "longjmp") throw e;
  16984. Module["setThrew"](1, 0);
  16985. }
  16986. }
  16987. function invoke_vff(index, a1, a2) {
  16988. var sp = stackSave();
  16989. try {
  16990. Module["dynCall_vff"](index, a1, a2);
  16991. } catch (e) {
  16992. stackRestore(sp);
  16993. if (typeof e !== "number" && e !== "longjmp") throw e;
  16994. Module["setThrew"](1, 0);
  16995. }
  16996. }
  16997. function invoke_vffff(index, a1, a2, a3, a4) {
  16998. var sp = stackSave();
  16999. try {
  17000. Module["dynCall_vffff"](index, a1, a2, a3, a4);
  17001. } catch (e) {
  17002. stackRestore(sp);
  17003. if (typeof e !== "number" && e !== "longjmp") throw e;
  17004. Module["setThrew"](1, 0);
  17005. }
  17006. }
  17007. function invoke_vfi(index, a1, a2) {
  17008. var sp = stackSave();
  17009. try {
  17010. Module["dynCall_vfi"](index, a1, a2);
  17011. } catch (e) {
  17012. stackRestore(sp);
  17013. if (typeof e !== "number" && e !== "longjmp") throw e;
  17014. Module["setThrew"](1, 0);
  17015. }
  17016. }
  17017. function invoke_vi(index, a1) {
  17018. var sp = stackSave();
  17019. try {
  17020. Module["dynCall_vi"](index, a1);
  17021. } catch (e) {
  17022. stackRestore(sp);
  17023. if (typeof e !== "number" && e !== "longjmp") throw e;
  17024. Module["setThrew"](1, 0);
  17025. }
  17026. }
  17027. function invoke_vid(index, a1, a2) {
  17028. var sp = stackSave();
  17029. try {
  17030. Module["dynCall_vid"](index, a1, a2);
  17031. } catch (e) {
  17032. stackRestore(sp);
  17033. if (typeof e !== "number" && e !== "longjmp") throw e;
  17034. Module["setThrew"](1, 0);
  17035. }
  17036. }
  17037. function invoke_vidi(index, a1, a2, a3) {
  17038. var sp = stackSave();
  17039. try {
  17040. Module["dynCall_vidi"](index, a1, a2, a3);
  17041. } catch (e) {
  17042. stackRestore(sp);
  17043. if (typeof e !== "number" && e !== "longjmp") throw e;
  17044. Module["setThrew"](1, 0);
  17045. }
  17046. }
  17047. function invoke_vif(index, a1, a2) {
  17048. var sp = stackSave();
  17049. try {
  17050. Module["dynCall_vif"](index, a1, a2);
  17051. } catch (e) {
  17052. stackRestore(sp);
  17053. if (typeof e !== "number" && e !== "longjmp") throw e;
  17054. Module["setThrew"](1, 0);
  17055. }
  17056. }
  17057. function invoke_viff(index, a1, a2, a3) {
  17058. var sp = stackSave();
  17059. try {
  17060. Module["dynCall_viff"](index, a1, a2, a3);
  17061. } catch (e) {
  17062. stackRestore(sp);
  17063. if (typeof e !== "number" && e !== "longjmp") throw e;
  17064. Module["setThrew"](1, 0);
  17065. }
  17066. }
  17067. function invoke_vifff(index, a1, a2, a3, a4) {
  17068. var sp = stackSave();
  17069. try {
  17070. Module["dynCall_vifff"](index, a1, a2, a3, a4);
  17071. } catch (e) {
  17072. stackRestore(sp);
  17073. if (typeof e !== "number" && e !== "longjmp") throw e;
  17074. Module["setThrew"](1, 0);
  17075. }
  17076. }
  17077. function invoke_viffff(index, a1, a2, a3, a4, a5) {
  17078. var sp = stackSave();
  17079. try {
  17080. Module["dynCall_viffff"](index, a1, a2, a3, a4, a5);
  17081. } catch (e) {
  17082. stackRestore(sp);
  17083. if (typeof e !== "number" && e !== "longjmp") throw e;
  17084. Module["setThrew"](1, 0);
  17085. }
  17086. }
  17087. function invoke_viffffi(index, a1, a2, a3, a4, a5, a6) {
  17088. var sp = stackSave();
  17089. try {
  17090. Module["dynCall_viffffi"](index, a1, a2, a3, a4, a5, a6);
  17091. } catch (e) {
  17092. stackRestore(sp);
  17093. if (typeof e !== "number" && e !== "longjmp") throw e;
  17094. Module["setThrew"](1, 0);
  17095. }
  17096. }
  17097. function invoke_viffffii(index, a1, a2, a3, a4, a5, a6, a7) {
  17098. var sp = stackSave();
  17099. try {
  17100. Module["dynCall_viffffii"](index, a1, a2, a3, a4, a5, a6, a7);
  17101. } catch (e) {
  17102. stackRestore(sp);
  17103. if (typeof e !== "number" && e !== "longjmp") throw e;
  17104. Module["setThrew"](1, 0);
  17105. }
  17106. }
  17107. function invoke_viffffiifffiiiiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {
  17108. var sp = stackSave();
  17109. try {
  17110. Module["dynCall_viffffiifffiiiiif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
  17111. } catch (e) {
  17112. stackRestore(sp);
  17113. if (typeof e !== "number" && e !== "longjmp") throw e;
  17114. Module["setThrew"](1, 0);
  17115. }
  17116. }
  17117. function invoke_viffffiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17118. var sp = stackSave();
  17119. try {
  17120. Module["dynCall_viffffiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17121. } catch (e) {
  17122. stackRestore(sp);
  17123. if (typeof e !== "number" && e !== "longjmp") throw e;
  17124. Module["setThrew"](1, 0);
  17125. }
  17126. }
  17127. function invoke_vifffi(index, a1, a2, a3, a4, a5) {
  17128. var sp = stackSave();
  17129. try {
  17130. Module["dynCall_vifffi"](index, a1, a2, a3, a4, a5);
  17131. } catch (e) {
  17132. stackRestore(sp);
  17133. if (typeof e !== "number" && e !== "longjmp") throw e;
  17134. Module["setThrew"](1, 0);
  17135. }
  17136. }
  17137. function invoke_vifffii(index, a1, a2, a3, a4, a5, a6) {
  17138. var sp = stackSave();
  17139. try {
  17140. Module["dynCall_vifffii"](index, a1, a2, a3, a4, a5, a6);
  17141. } catch (e) {
  17142. stackRestore(sp);
  17143. if (typeof e !== "number" && e !== "longjmp") throw e;
  17144. Module["setThrew"](1, 0);
  17145. }
  17146. }
  17147. function invoke_viffi(index, a1, a2, a3, a4) {
  17148. var sp = stackSave();
  17149. try {
  17150. Module["dynCall_viffi"](index, a1, a2, a3, a4);
  17151. } catch (e) {
  17152. stackRestore(sp);
  17153. if (typeof e !== "number" && e !== "longjmp") throw e;
  17154. Module["setThrew"](1, 0);
  17155. }
  17156. }
  17157. function invoke_viffii(index, a1, a2, a3, a4, a5) {
  17158. var sp = stackSave();
  17159. try {
  17160. Module["dynCall_viffii"](index, a1, a2, a3, a4, a5);
  17161. } catch (e) {
  17162. stackRestore(sp);
  17163. if (typeof e !== "number" && e !== "longjmp") throw e;
  17164. Module["setThrew"](1, 0);
  17165. }
  17166. }
  17167. function invoke_viffiifffffiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {
  17168. var sp = stackSave();
  17169. try {
  17170. Module["dynCall_viffiifffffiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
  17171. } catch (e) {
  17172. stackRestore(sp);
  17173. if (typeof e !== "number" && e !== "longjmp") throw e;
  17174. Module["setThrew"](1, 0);
  17175. }
  17176. }
  17177. function invoke_viffiii(index, a1, a2, a3, a4, a5, a6) {
  17178. var sp = stackSave();
  17179. try {
  17180. Module["dynCall_viffiii"](index, a1, a2, a3, a4, a5, a6);
  17181. } catch (e) {
  17182. stackRestore(sp);
  17183. if (typeof e !== "number" && e !== "longjmp") throw e;
  17184. Module["setThrew"](1, 0);
  17185. }
  17186. }
  17187. function invoke_viffiiiif(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17188. var sp = stackSave();
  17189. try {
  17190. Module["dynCall_viffiiiif"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17191. } catch (e) {
  17192. stackRestore(sp);
  17193. if (typeof e !== "number" && e !== "longjmp") throw e;
  17194. Module["setThrew"](1, 0);
  17195. }
  17196. }
  17197. function invoke_vifi(index, a1, a2, a3) {
  17198. var sp = stackSave();
  17199. try {
  17200. Module["dynCall_vifi"](index, a1, a2, a3);
  17201. } catch (e) {
  17202. stackRestore(sp);
  17203. if (typeof e !== "number" && e !== "longjmp") throw e;
  17204. Module["setThrew"](1, 0);
  17205. }
  17206. }
  17207. function invoke_vifii(index, a1, a2, a3, a4) {
  17208. var sp = stackSave();
  17209. try {
  17210. Module["dynCall_vifii"](index, a1, a2, a3, a4);
  17211. } catch (e) {
  17212. stackRestore(sp);
  17213. if (typeof e !== "number" && e !== "longjmp") throw e;
  17214. Module["setThrew"](1, 0);
  17215. }
  17216. }
  17217. function invoke_vifiiii(index, a1, a2, a3, a4, a5, a6) {
  17218. var sp = stackSave();
  17219. try {
  17220. Module["dynCall_vifiiii"](index, a1, a2, a3, a4, a5, a6);
  17221. } catch (e) {
  17222. stackRestore(sp);
  17223. if (typeof e !== "number" && e !== "longjmp") throw e;
  17224. Module["setThrew"](1, 0);
  17225. }
  17226. }
  17227. function invoke_vifijii(index, a1, a2, a3, a4, a5, a6, a7) {
  17228. var sp = stackSave();
  17229. try {
  17230. Module["dynCall_vifijii"](index, a1, a2, a3, a4, a5, a6, a7);
  17231. } catch (e) {
  17232. stackRestore(sp);
  17233. if (typeof e !== "number" && e !== "longjmp") throw e;
  17234. Module["setThrew"](1, 0);
  17235. }
  17236. }
  17237. function invoke_vii(index, a1, a2) {
  17238. var sp = stackSave();
  17239. try {
  17240. Module["dynCall_vii"](index, a1, a2);
  17241. } catch (e) {
  17242. stackRestore(sp);
  17243. if (typeof e !== "number" && e !== "longjmp") throw e;
  17244. Module["setThrew"](1, 0);
  17245. }
  17246. }
  17247. function invoke_viid(index, a1, a2, a3) {
  17248. var sp = stackSave();
  17249. try {
  17250. Module["dynCall_viid"](index, a1, a2, a3);
  17251. } catch (e) {
  17252. stackRestore(sp);
  17253. if (typeof e !== "number" && e !== "longjmp") throw e;
  17254. Module["setThrew"](1, 0);
  17255. }
  17256. }
  17257. function invoke_viidi(index, a1, a2, a3, a4) {
  17258. var sp = stackSave();
  17259. try {
  17260. Module["dynCall_viidi"](index, a1, a2, a3, a4);
  17261. } catch (e) {
  17262. stackRestore(sp);
  17263. if (typeof e !== "number" && e !== "longjmp") throw e;
  17264. Module["setThrew"](1, 0);
  17265. }
  17266. }
  17267. function invoke_viidii(index, a1, a2, a3, a4, a5) {
  17268. var sp = stackSave();
  17269. try {
  17270. Module["dynCall_viidii"](index, a1, a2, a3, a4, a5);
  17271. } catch (e) {
  17272. stackRestore(sp);
  17273. if (typeof e !== "number" && e !== "longjmp") throw e;
  17274. Module["setThrew"](1, 0);
  17275. }
  17276. }
  17277. function invoke_viif(index, a1, a2, a3) {
  17278. var sp = stackSave();
  17279. try {
  17280. Module["dynCall_viif"](index, a1, a2, a3);
  17281. } catch (e) {
  17282. stackRestore(sp);
  17283. if (typeof e !== "number" && e !== "longjmp") throw e;
  17284. Module["setThrew"](1, 0);
  17285. }
  17286. }
  17287. function invoke_viiff(index, a1, a2, a3, a4) {
  17288. var sp = stackSave();
  17289. try {
  17290. Module["dynCall_viiff"](index, a1, a2, a3, a4);
  17291. } catch (e) {
  17292. stackRestore(sp);
  17293. if (typeof e !== "number" && e !== "longjmp") throw e;
  17294. Module["setThrew"](1, 0);
  17295. }
  17296. }
  17297. function invoke_viifff(index, a1, a2, a3, a4, a5) {
  17298. var sp = stackSave();
  17299. try {
  17300. Module["dynCall_viifff"](index, a1, a2, a3, a4, a5);
  17301. } catch (e) {
  17302. stackRestore(sp);
  17303. if (typeof e !== "number" && e !== "longjmp") throw e;
  17304. Module["setThrew"](1, 0);
  17305. }
  17306. }
  17307. function invoke_viifffi(index, a1, a2, a3, a4, a5, a6) {
  17308. var sp = stackSave();
  17309. try {
  17310. Module["dynCall_viifffi"](index, a1, a2, a3, a4, a5, a6);
  17311. } catch (e) {
  17312. stackRestore(sp);
  17313. if (typeof e !== "number" && e !== "longjmp") throw e;
  17314. Module["setThrew"](1, 0);
  17315. }
  17316. }
  17317. function invoke_viiffi(index, a1, a2, a3, a4, a5) {
  17318. var sp = stackSave();
  17319. try {
  17320. Module["dynCall_viiffi"](index, a1, a2, a3, a4, a5);
  17321. } catch (e) {
  17322. stackRestore(sp);
  17323. if (typeof e !== "number" && e !== "longjmp") throw e;
  17324. Module["setThrew"](1, 0);
  17325. }
  17326. }
  17327. function invoke_viiffii(index, a1, a2, a3, a4, a5, a6) {
  17328. var sp = stackSave();
  17329. try {
  17330. Module["dynCall_viiffii"](index, a1, a2, a3, a4, a5, a6);
  17331. } catch (e) {
  17332. stackRestore(sp);
  17333. if (typeof e !== "number" && e !== "longjmp") throw e;
  17334. Module["setThrew"](1, 0);
  17335. }
  17336. }
  17337. function invoke_viifi(index, a1, a2, a3, a4) {
  17338. var sp = stackSave();
  17339. try {
  17340. Module["dynCall_viifi"](index, a1, a2, a3, a4);
  17341. } catch (e) {
  17342. stackRestore(sp);
  17343. if (typeof e !== "number" && e !== "longjmp") throw e;
  17344. Module["setThrew"](1, 0);
  17345. }
  17346. }
  17347. function invoke_viifii(index, a1, a2, a3, a4, a5) {
  17348. var sp = stackSave();
  17349. try {
  17350. Module["dynCall_viifii"](index, a1, a2, a3, a4, a5);
  17351. } catch (e) {
  17352. stackRestore(sp);
  17353. if (typeof e !== "number" && e !== "longjmp") throw e;
  17354. Module["setThrew"](1, 0);
  17355. }
  17356. }
  17357. function invoke_viifiii(index, a1, a2, a3, a4, a5, a6) {
  17358. var sp = stackSave();
  17359. try {
  17360. Module["dynCall_viifiii"](index, a1, a2, a3, a4, a5, a6);
  17361. } catch (e) {
  17362. stackRestore(sp);
  17363. if (typeof e !== "number" && e !== "longjmp") throw e;
  17364. Module["setThrew"](1, 0);
  17365. }
  17366. }
  17367. function invoke_viifiiii(index, a1, a2, a3, a4, a5, a6, a7) {
  17368. var sp = stackSave();
  17369. try {
  17370. Module["dynCall_viifiiii"](index, a1, a2, a3, a4, a5, a6, a7);
  17371. } catch (e) {
  17372. stackRestore(sp);
  17373. if (typeof e !== "number" && e !== "longjmp") throw e;
  17374. Module["setThrew"](1, 0);
  17375. }
  17376. }
  17377. function invoke_viii(index, a1, a2, a3) {
  17378. var sp = stackSave();
  17379. try {
  17380. Module["dynCall_viii"](index, a1, a2, a3);
  17381. } catch (e) {
  17382. stackRestore(sp);
  17383. if (typeof e !== "number" && e !== "longjmp") throw e;
  17384. Module["setThrew"](1, 0);
  17385. }
  17386. }
  17387. function invoke_viiidi(index, a1, a2, a3, a4, a5) {
  17388. var sp = stackSave();
  17389. try {
  17390. Module["dynCall_viiidi"](index, a1, a2, a3, a4, a5);
  17391. } catch (e) {
  17392. stackRestore(sp);
  17393. if (typeof e !== "number" && e !== "longjmp") throw e;
  17394. Module["setThrew"](1, 0);
  17395. }
  17396. }
  17397. function invoke_viiifffi(index, a1, a2, a3, a4, a5, a6, a7) {
  17398. var sp = stackSave();
  17399. try {
  17400. Module["dynCall_viiifffi"](index, a1, a2, a3, a4, a5, a6, a7);
  17401. } catch (e) {
  17402. stackRestore(sp);
  17403. if (typeof e !== "number" && e !== "longjmp") throw e;
  17404. Module["setThrew"](1, 0);
  17405. }
  17406. }
  17407. function invoke_viiiffi(index, a1, a2, a3, a4, a5, a6) {
  17408. var sp = stackSave();
  17409. try {
  17410. Module["dynCall_viiiffi"](index, a1, a2, a3, a4, a5, a6);
  17411. } catch (e) {
  17412. stackRestore(sp);
  17413. if (typeof e !== "number" && e !== "longjmp") throw e;
  17414. Module["setThrew"](1, 0);
  17415. }
  17416. }
  17417. function invoke_viiiffii(index, a1, a2, a3, a4, a5, a6, a7) {
  17418. var sp = stackSave();
  17419. try {
  17420. Module["dynCall_viiiffii"](index, a1, a2, a3, a4, a5, a6, a7);
  17421. } catch (e) {
  17422. stackRestore(sp);
  17423. if (typeof e !== "number" && e !== "longjmp") throw e;
  17424. Module["setThrew"](1, 0);
  17425. }
  17426. }
  17427. function invoke_viiifi(index, a1, a2, a3, a4, a5) {
  17428. var sp = stackSave();
  17429. try {
  17430. Module["dynCall_viiifi"](index, a1, a2, a3, a4, a5);
  17431. } catch (e) {
  17432. stackRestore(sp);
  17433. if (typeof e !== "number" && e !== "longjmp") throw e;
  17434. Module["setThrew"](1, 0);
  17435. }
  17436. }
  17437. function invoke_viiifii(index, a1, a2, a3, a4, a5, a6) {
  17438. var sp = stackSave();
  17439. try {
  17440. Module["dynCall_viiifii"](index, a1, a2, a3, a4, a5, a6);
  17441. } catch (e) {
  17442. stackRestore(sp);
  17443. if (typeof e !== "number" && e !== "longjmp") throw e;
  17444. Module["setThrew"](1, 0);
  17445. }
  17446. }
  17447. function invoke_viiifiii(index, a1, a2, a3, a4, a5, a6, a7) {
  17448. var sp = stackSave();
  17449. try {
  17450. Module["dynCall_viiifiii"](index, a1, a2, a3, a4, a5, a6, a7);
  17451. } catch (e) {
  17452. stackRestore(sp);
  17453. if (typeof e !== "number" && e !== "longjmp") throw e;
  17454. Module["setThrew"](1, 0);
  17455. }
  17456. }
  17457. function invoke_viiifiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17458. var sp = stackSave();
  17459. try {
  17460. Module["dynCall_viiifiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17461. } catch (e) {
  17462. stackRestore(sp);
  17463. if (typeof e !== "number" && e !== "longjmp") throw e;
  17464. Module["setThrew"](1, 0);
  17465. }
  17466. }
  17467. function invoke_viiii(index, a1, a2, a3, a4) {
  17468. var sp = stackSave();
  17469. try {
  17470. Module["dynCall_viiii"](index, a1, a2, a3, a4);
  17471. } catch (e) {
  17472. stackRestore(sp);
  17473. if (typeof e !== "number" && e !== "longjmp") throw e;
  17474. Module["setThrew"](1, 0);
  17475. }
  17476. }
  17477. function invoke_viiiif(index, a1, a2, a3, a4, a5) {
  17478. var sp = stackSave();
  17479. try {
  17480. Module["dynCall_viiiif"](index, a1, a2, a3, a4, a5);
  17481. } catch (e) {
  17482. stackRestore(sp);
  17483. if (typeof e !== "number" && e !== "longjmp") throw e;
  17484. Module["setThrew"](1, 0);
  17485. }
  17486. }
  17487. function invoke_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) {
  17488. var sp = stackSave();
  17489. try {
  17490. Module["dynCall_viiiifii"](index, a1, a2, a3, a4, a5, a6, a7);
  17491. } catch (e) {
  17492. stackRestore(sp);
  17493. if (typeof e !== "number" && e !== "longjmp") throw e;
  17494. Module["setThrew"](1, 0);
  17495. }
  17496. }
  17497. function invoke_viiiifiiiiif(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
  17498. var sp = stackSave();
  17499. try {
  17500. Module["dynCall_viiiifiiiiif"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  17501. } catch (e) {
  17502. stackRestore(sp);
  17503. if (typeof e !== "number" && e !== "longjmp") throw e;
  17504. Module["setThrew"](1, 0);
  17505. }
  17506. }
  17507. function invoke_viiiii(index, a1, a2, a3, a4, a5) {
  17508. var sp = stackSave();
  17509. try {
  17510. Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5);
  17511. } catch (e) {
  17512. stackRestore(sp);
  17513. if (typeof e !== "number" && e !== "longjmp") throw e;
  17514. Module["setThrew"](1, 0);
  17515. }
  17516. }
  17517. function invoke_viiiiif(index, a1, a2, a3, a4, a5, a6) {
  17518. var sp = stackSave();
  17519. try {
  17520. Module["dynCall_viiiiif"](index, a1, a2, a3, a4, a5, a6);
  17521. } catch (e) {
  17522. stackRestore(sp);
  17523. if (typeof e !== "number" && e !== "longjmp") throw e;
  17524. Module["setThrew"](1, 0);
  17525. }
  17526. }
  17527. function invoke_viiiiiffi(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17528. var sp = stackSave();
  17529. try {
  17530. Module["dynCall_viiiiiffi"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17531. } catch (e) {
  17532. stackRestore(sp);
  17533. if (typeof e !== "number" && e !== "longjmp") throw e;
  17534. Module["setThrew"](1, 0);
  17535. }
  17536. }
  17537. function invoke_viiiiiffii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17538. var sp = stackSave();
  17539. try {
  17540. Module["dynCall_viiiiiffii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17541. } catch (e) {
  17542. stackRestore(sp);
  17543. if (typeof e !== "number" && e !== "longjmp") throw e;
  17544. Module["setThrew"](1, 0);
  17545. }
  17546. }
  17547. function invoke_viiiiifi(index, a1, a2, a3, a4, a5, a6, a7) {
  17548. var sp = stackSave();
  17549. try {
  17550. Module["dynCall_viiiiifi"](index, a1, a2, a3, a4, a5, a6, a7);
  17551. } catch (e) {
  17552. stackRestore(sp);
  17553. if (typeof e !== "number" && e !== "longjmp") throw e;
  17554. Module["setThrew"](1, 0);
  17555. }
  17556. }
  17557. function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
  17558. var sp = stackSave();
  17559. try {
  17560. Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6);
  17561. } catch (e) {
  17562. stackRestore(sp);
  17563. if (typeof e !== "number" && e !== "longjmp") throw e;
  17564. Module["setThrew"](1, 0);
  17565. }
  17566. }
  17567. function invoke_viiiiiif(index, a1, a2, a3, a4, a5, a6, a7) {
  17568. var sp = stackSave();
  17569. try {
  17570. Module["dynCall_viiiiiif"](index, a1, a2, a3, a4, a5, a6, a7);
  17571. } catch (e) {
  17572. stackRestore(sp);
  17573. if (typeof e !== "number" && e !== "longjmp") throw e;
  17574. Module["setThrew"](1, 0);
  17575. }
  17576. }
  17577. function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
  17578. var sp = stackSave();
  17579. try {
  17580. Module["dynCall_viiiiiii"](index, a1, a2, a3, a4, a5, a6, a7);
  17581. } catch (e) {
  17582. stackRestore(sp);
  17583. if (typeof e !== "number" && e !== "longjmp") throw e;
  17584. Module["setThrew"](1, 0);
  17585. }
  17586. }
  17587. function invoke_viiiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17588. var sp = stackSave();
  17589. try {
  17590. Module["dynCall_viiiiiiifi"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17591. } catch (e) {
  17592. stackRestore(sp);
  17593. if (typeof e !== "number" && e !== "longjmp") throw e;
  17594. Module["setThrew"](1, 0);
  17595. }
  17596. }
  17597. function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17598. var sp = stackSave();
  17599. try {
  17600. Module["dynCall_viiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17601. } catch (e) {
  17602. stackRestore(sp);
  17603. if (typeof e !== "number" && e !== "longjmp") throw e;
  17604. Module["setThrew"](1, 0);
  17605. }
  17606. }
  17607. function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17608. var sp = stackSave();
  17609. try {
  17610. Module["dynCall_viiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17611. } catch (e) {
  17612. stackRestore(sp);
  17613. if (typeof e !== "number" && e !== "longjmp") throw e;
  17614. Module["setThrew"](1, 0);
  17615. }
  17616. }
  17617. function invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  17618. var sp = stackSave();
  17619. try {
  17620. Module["dynCall_viiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  17621. } catch (e) {
  17622. stackRestore(sp);
  17623. if (typeof e !== "number" && e !== "longjmp") throw e;
  17624. Module["setThrew"](1, 0);
  17625. }
  17626. }
  17627. function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
  17628. var sp = stackSave();
  17629. try {
  17630. Module["dynCall_viiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  17631. } catch (e) {
  17632. stackRestore(sp);
  17633. if (typeof e !== "number" && e !== "longjmp") throw e;
  17634. Module["setThrew"](1, 0);
  17635. }
  17636. }
  17637. function invoke_viiiiiiiiiiifii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
  17638. var sp = stackSave();
  17639. try {
  17640. Module["dynCall_viiiiiiiiiiifii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
  17641. } catch (e) {
  17642. stackRestore(sp);
  17643. if (typeof e !== "number" && e !== "longjmp") throw e;
  17644. Module["setThrew"](1, 0);
  17645. }
  17646. }
  17647. function invoke_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
  17648. var sp = stackSave();
  17649. try {
  17650. Module["dynCall_viiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
  17651. } catch (e) {
  17652. stackRestore(sp);
  17653. if (typeof e !== "number" && e !== "longjmp") throw e;
  17654. Module["setThrew"](1, 0);
  17655. }
  17656. }
  17657. function invoke_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
  17658. var sp = stackSave();
  17659. try {
  17660. Module["dynCall_viiiiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
  17661. } catch (e) {
  17662. stackRestore(sp);
  17663. if (typeof e !== "number" && e !== "longjmp") throw e;
  17664. Module["setThrew"](1, 0);
  17665. }
  17666. }
  17667. function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {
  17668. var sp = stackSave();
  17669. try {
  17670. Module["dynCall_viiiiiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
  17671. } catch (e) {
  17672. stackRestore(sp);
  17673. if (typeof e !== "number" && e !== "longjmp") throw e;
  17674. Module["setThrew"](1, 0);
  17675. }
  17676. }
  17677. function invoke_viiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) {
  17678. var sp = stackSave();
  17679. try {
  17680. Module["dynCall_viiiiiiiiiiiiiiiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
  17681. } catch (e) {
  17682. stackRestore(sp);
  17683. if (typeof e !== "number" && e !== "longjmp") throw e;
  17684. Module["setThrew"](1, 0);
  17685. }
  17686. }
  17687. function invoke_viiiiiji(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17688. var sp = stackSave();
  17689. try {
  17690. Module["dynCall_viiiiiji"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17691. } catch (e) {
  17692. stackRestore(sp);
  17693. if (typeof e !== "number" && e !== "longjmp") throw e;
  17694. Module["setThrew"](1, 0);
  17695. }
  17696. }
  17697. function invoke_viiiij(index, a1, a2, a3, a4, a5, a6) {
  17698. var sp = stackSave();
  17699. try {
  17700. Module["dynCall_viiiij"](index, a1, a2, a3, a4, a5, a6);
  17701. } catch (e) {
  17702. stackRestore(sp);
  17703. if (typeof e !== "number" && e !== "longjmp") throw e;
  17704. Module["setThrew"](1, 0);
  17705. }
  17706. }
  17707. function invoke_viiiijiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  17708. var sp = stackSave();
  17709. try {
  17710. Module["dynCall_viiiijiiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  17711. } catch (e) {
  17712. stackRestore(sp);
  17713. if (typeof e !== "number" && e !== "longjmp") throw e;
  17714. Module["setThrew"](1, 0);
  17715. }
  17716. }
  17717. function invoke_viiiji(index, a1, a2, a3, a4, a5, a6) {
  17718. var sp = stackSave();
  17719. try {
  17720. Module["dynCall_viiiji"](index, a1, a2, a3, a4, a5, a6);
  17721. } catch (e) {
  17722. stackRestore(sp);
  17723. if (typeof e !== "number" && e !== "longjmp") throw e;
  17724. Module["setThrew"](1, 0);
  17725. }
  17726. }
  17727. function invoke_viiijji(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17728. var sp = stackSave();
  17729. try {
  17730. Module["dynCall_viiijji"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17731. } catch (e) {
  17732. stackRestore(sp);
  17733. if (typeof e !== "number" && e !== "longjmp") throw e;
  17734. Module["setThrew"](1, 0);
  17735. }
  17736. }
  17737. function invoke_viij(index, a1, a2, a3, a4) {
  17738. var sp = stackSave();
  17739. try {
  17740. Module["dynCall_viij"](index, a1, a2, a3, a4);
  17741. } catch (e) {
  17742. stackRestore(sp);
  17743. if (typeof e !== "number" && e !== "longjmp") throw e;
  17744. Module["setThrew"](1, 0);
  17745. }
  17746. }
  17747. function invoke_viiji(index, a1, a2, a3, a4, a5) {
  17748. var sp = stackSave();
  17749. try {
  17750. Module["dynCall_viiji"](index, a1, a2, a3, a4, a5);
  17751. } catch (e) {
  17752. stackRestore(sp);
  17753. if (typeof e !== "number" && e !== "longjmp") throw e;
  17754. Module["setThrew"](1, 0);
  17755. }
  17756. }
  17757. function invoke_viijii(index, a1, a2, a3, a4, a5, a6) {
  17758. var sp = stackSave();
  17759. try {
  17760. Module["dynCall_viijii"](index, a1, a2, a3, a4, a5, a6);
  17761. } catch (e) {
  17762. stackRestore(sp);
  17763. if (typeof e !== "number" && e !== "longjmp") throw e;
  17764. Module["setThrew"](1, 0);
  17765. }
  17766. }
  17767. function invoke_viijiijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
  17768. var sp = stackSave();
  17769. try {
  17770. Module["dynCall_viijiijiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  17771. } catch (e) {
  17772. stackRestore(sp);
  17773. if (typeof e !== "number" && e !== "longjmp") throw e;
  17774. Module["setThrew"](1, 0);
  17775. }
  17776. }
  17777. function invoke_viijijii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17778. var sp = stackSave();
  17779. try {
  17780. Module["dynCall_viijijii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17781. } catch (e) {
  17782. stackRestore(sp);
  17783. if (typeof e !== "number" && e !== "longjmp") throw e;
  17784. Module["setThrew"](1, 0);
  17785. }
  17786. }
  17787. function invoke_viijijiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  17788. var sp = stackSave();
  17789. try {
  17790. Module["dynCall_viijijiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  17791. } catch (e) {
  17792. stackRestore(sp);
  17793. if (typeof e !== "number" && e !== "longjmp") throw e;
  17794. Module["setThrew"](1, 0);
  17795. }
  17796. }
  17797. function invoke_viijijj(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17798. var sp = stackSave();
  17799. try {
  17800. Module["dynCall_viijijj"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17801. } catch (e) {
  17802. stackRestore(sp);
  17803. if (typeof e !== "number" && e !== "longjmp") throw e;
  17804. Module["setThrew"](1, 0);
  17805. }
  17806. }
  17807. function invoke_viijj(index, a1, a2, a3, a4, a5, a6) {
  17808. var sp = stackSave();
  17809. try {
  17810. Module["dynCall_viijj"](index, a1, a2, a3, a4, a5, a6);
  17811. } catch (e) {
  17812. stackRestore(sp);
  17813. if (typeof e !== "number" && e !== "longjmp") throw e;
  17814. Module["setThrew"](1, 0);
  17815. }
  17816. }
  17817. function invoke_viijji(index, a1, a2, a3, a4, a5, a6, a7) {
  17818. var sp = stackSave();
  17819. try {
  17820. Module["dynCall_viijji"](index, a1, a2, a3, a4, a5, a6, a7);
  17821. } catch (e) {
  17822. stackRestore(sp);
  17823. if (typeof e !== "number" && e !== "longjmp") throw e;
  17824. Module["setThrew"](1, 0);
  17825. }
  17826. }
  17827. function invoke_viijjii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17828. var sp = stackSave();
  17829. try {
  17830. Module["dynCall_viijjii"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17831. } catch (e) {
  17832. stackRestore(sp);
  17833. if (typeof e !== "number" && e !== "longjmp") throw e;
  17834. Module["setThrew"](1, 0);
  17835. }
  17836. }
  17837. function invoke_viijjiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17838. var sp = stackSave();
  17839. try {
  17840. Module["dynCall_viijjiii"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17841. } catch (e) {
  17842. stackRestore(sp);
  17843. if (typeof e !== "number" && e !== "longjmp") throw e;
  17844. Module["setThrew"](1, 0);
  17845. }
  17846. }
  17847. function invoke_viijjji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17848. var sp = stackSave();
  17849. try {
  17850. Module["dynCall_viijjji"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17851. } catch (e) {
  17852. stackRestore(sp);
  17853. if (typeof e !== "number" && e !== "longjmp") throw e;
  17854. Module["setThrew"](1, 0);
  17855. }
  17856. }
  17857. function invoke_vij(index, a1, a2, a3) {
  17858. var sp = stackSave();
  17859. try {
  17860. Module["dynCall_vij"](index, a1, a2, a3);
  17861. } catch (e) {
  17862. stackRestore(sp);
  17863. if (typeof e !== "number" && e !== "longjmp") throw e;
  17864. Module["setThrew"](1, 0);
  17865. }
  17866. }
  17867. function invoke_viji(index, a1, a2, a3, a4) {
  17868. var sp = stackSave();
  17869. try {
  17870. Module["dynCall_viji"](index, a1, a2, a3, a4);
  17871. } catch (e) {
  17872. stackRestore(sp);
  17873. if (typeof e !== "number" && e !== "longjmp") throw e;
  17874. Module["setThrew"](1, 0);
  17875. }
  17876. }
  17877. function invoke_vijii(index, a1, a2, a3, a4, a5) {
  17878. var sp = stackSave();
  17879. try {
  17880. Module["dynCall_vijii"](index, a1, a2, a3, a4, a5);
  17881. } catch (e) {
  17882. stackRestore(sp);
  17883. if (typeof e !== "number" && e !== "longjmp") throw e;
  17884. Module["setThrew"](1, 0);
  17885. }
  17886. }
  17887. function invoke_vijiii(index, a1, a2, a3, a4, a5, a6) {
  17888. var sp = stackSave();
  17889. try {
  17890. Module["dynCall_vijiii"](index, a1, a2, a3, a4, a5, a6);
  17891. } catch (e) {
  17892. stackRestore(sp);
  17893. if (typeof e !== "number" && e !== "longjmp") throw e;
  17894. Module["setThrew"](1, 0);
  17895. }
  17896. }
  17897. function invoke_vijiji(index, a1, a2, a3, a4, a5, a6, a7) {
  17898. var sp = stackSave();
  17899. try {
  17900. Module["dynCall_vijiji"](index, a1, a2, a3, a4, a5, a6, a7);
  17901. } catch (e) {
  17902. stackRestore(sp);
  17903. if (typeof e !== "number" && e !== "longjmp") throw e;
  17904. Module["setThrew"](1, 0);
  17905. }
  17906. }
  17907. function invoke_vijijji(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  17908. var sp = stackSave();
  17909. try {
  17910. Module["dynCall_vijijji"](index, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  17911. } catch (e) {
  17912. stackRestore(sp);
  17913. if (typeof e !== "number" && e !== "longjmp") throw e;
  17914. Module["setThrew"](1, 0);
  17915. }
  17916. }
  17917. function invoke_vijji(index, a1, a2, a3, a4, a5, a6) {
  17918. var sp = stackSave();
  17919. try {
  17920. Module["dynCall_vijji"](index, a1, a2, a3, a4, a5, a6);
  17921. } catch (e) {
  17922. stackRestore(sp);
  17923. if (typeof e !== "number" && e !== "longjmp") throw e;
  17924. Module["setThrew"](1, 0);
  17925. }
  17926. }
  17927. function invoke_vijjii(index, a1, a2, a3, a4, a5, a6, a7) {
  17928. var sp = stackSave();
  17929. try {
  17930. Module["dynCall_vijjii"](index, a1, a2, a3, a4, a5, a6, a7);
  17931. } catch (e) {
  17932. stackRestore(sp);
  17933. if (typeof e !== "number" && e !== "longjmp") throw e;
  17934. Module["setThrew"](1, 0);
  17935. }
  17936. }
  17937. function invoke_vijjji(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  17938. var sp = stackSave();
  17939. try {
  17940. Module["dynCall_vijjji"](index, a1, a2, a3, a4, a5, a6, a7, a8);
  17941. } catch (e) {
  17942. stackRestore(sp);
  17943. if (typeof e !== "number" && e !== "longjmp") throw e;
  17944. Module["setThrew"](1, 0);
  17945. }
  17946. }
  17947. function invoke_vji(index, a1, a2, a3) {
  17948. var sp = stackSave();
  17949. try {
  17950. Module["dynCall_vji"](index, a1, a2, a3);
  17951. } catch (e) {
  17952. stackRestore(sp);
  17953. if (typeof e !== "number" && e !== "longjmp") throw e;
  17954. Module["setThrew"](1, 0);
  17955. }
  17956. }
  17957. function invoke_vjiiii(index, a1, a2, a3, a4, a5, a6) {
  17958. var sp = stackSave();
  17959. try {
  17960. Module["dynCall_vjiiii"](index, a1, a2, a3, a4, a5, a6);
  17961. } catch (e) {
  17962. stackRestore(sp);
  17963. if (typeof e !== "number" && e !== "longjmp") throw e;
  17964. Module["setThrew"](1, 0);
  17965. }
  17966. }
  17967. function invoke_vjji(index, a1, a2, a3, a4, a5) {
  17968. var sp = stackSave();
  17969. try {
  17970. Module["dynCall_vjji"](index, a1, a2, a3, a4, a5);
  17971. } catch (e) {
  17972. stackRestore(sp);
  17973. if (typeof e !== "number" && e !== "longjmp") throw e;
  17974. Module["setThrew"](1, 0);
  17975. }
  17976. }
  17977. Module.asmGlobalArg = {};
  17978. Module.asmLibraryArg = {
  17979. "abort": abort,
  17980. "assert": assert,
  17981. "enlargeMemory": enlargeMemory,
  17982. "getTotalMemory": getTotalMemory,
  17983. "abortOnCannotGrowMemory": abortOnCannotGrowMemory,
  17984. "abortStackOverflow": abortStackOverflow,
  17985. "nullFunc_dddi": nullFunc_dddi,
  17986. "nullFunc_ddi": nullFunc_ddi,
  17987. "nullFunc_dfi": nullFunc_dfi,
  17988. "nullFunc_di": nullFunc_di,
  17989. "nullFunc_diddi": nullFunc_diddi,
  17990. "nullFunc_didi": nullFunc_didi,
  17991. "nullFunc_dii": nullFunc_dii,
  17992. "nullFunc_diii": nullFunc_diii,
  17993. "nullFunc_diiii": nullFunc_diiii,
  17994. "nullFunc_dji": nullFunc_dji,
  17995. "nullFunc_f": nullFunc_f,
  17996. "nullFunc_fdi": nullFunc_fdi,
  17997. "nullFunc_ff": nullFunc_ff,
  17998. "nullFunc_fff": nullFunc_fff,
  17999. "nullFunc_ffffi": nullFunc_ffffi,
  18000. "nullFunc_fffi": nullFunc_fffi,
  18001. "nullFunc_fffifffi": nullFunc_fffifffi,
  18002. "nullFunc_ffi": nullFunc_ffi,
  18003. "nullFunc_fi": nullFunc_fi,
  18004. "nullFunc_fif": nullFunc_fif,
  18005. "nullFunc_fiff": nullFunc_fiff,
  18006. "nullFunc_fifffi": nullFunc_fifffi,
  18007. "nullFunc_fiffi": nullFunc_fiffi,
  18008. "nullFunc_fifi": nullFunc_fifi,
  18009. "nullFunc_fifii": nullFunc_fifii,
  18010. "nullFunc_fii": nullFunc_fii,
  18011. "nullFunc_fiif": nullFunc_fiif,
  18012. "nullFunc_fiifi": nullFunc_fiifi,
  18013. "nullFunc_fiifii": nullFunc_fiifii,
  18014. "nullFunc_fiii": nullFunc_fiii,
  18015. "nullFunc_fiiii": nullFunc_fiiii,
  18016. "nullFunc_fiiiiiifiifif": nullFunc_fiiiiiifiifif,
  18017. "nullFunc_fiiiiiifiiiif": nullFunc_fiiiiiifiiiif,
  18018. "nullFunc_fji": nullFunc_fji,
  18019. "nullFunc_i": nullFunc_i,
  18020. "nullFunc_idi": nullFunc_idi,
  18021. "nullFunc_idiii": nullFunc_idiii,
  18022. "nullFunc_ifffi": nullFunc_ifffi,
  18023. "nullFunc_iffi": nullFunc_iffi,
  18024. "nullFunc_ifi": nullFunc_ifi,
  18025. "nullFunc_ifiii": nullFunc_ifiii,
  18026. "nullFunc_ii": nullFunc_ii,
  18027. "nullFunc_iidi": nullFunc_iidi,
  18028. "nullFunc_iidii": nullFunc_iidii,
  18029. "nullFunc_iif": nullFunc_iif,
  18030. "nullFunc_iifff": nullFunc_iifff,
  18031. "nullFunc_iifffi": nullFunc_iifffi,
  18032. "nullFunc_iiffi": nullFunc_iiffi,
  18033. "nullFunc_iifi": nullFunc_iifi,
  18034. "nullFunc_iifii": nullFunc_iifii,
  18035. "nullFunc_iifiii": nullFunc_iifiii,
  18036. "nullFunc_iifiiiijii": nullFunc_iifiiiijii,
  18037. "nullFunc_iii": nullFunc_iii,
  18038. "nullFunc_iiif": nullFunc_iiif,
  18039. "nullFunc_iiiff": nullFunc_iiiff,
  18040. "nullFunc_iiifi": nullFunc_iiifi,
  18041. "nullFunc_iiifii": nullFunc_iiifii,
  18042. "nullFunc_iiifiii": nullFunc_iiifiii,
  18043. "nullFunc_iiifiiii": nullFunc_iiifiiii,
  18044. "nullFunc_iiii": nullFunc_iiii,
  18045. "nullFunc_iiiifffffi": nullFunc_iiiifffffi,
  18046. "nullFunc_iiiifffffii": nullFunc_iiiifffffii,
  18047. "nullFunc_iiiifffiii": nullFunc_iiiifffiii,
  18048. "nullFunc_iiiifi": nullFunc_iiiifi,
  18049. "nullFunc_iiiifii": nullFunc_iiiifii,
  18050. "nullFunc_iiiifiii": nullFunc_iiiifiii,
  18051. "nullFunc_iiiifiiii": nullFunc_iiiifiiii,
  18052. "nullFunc_iiiifiiiii": nullFunc_iiiifiiiii,
  18053. "nullFunc_iiiii": nullFunc_iiiii,
  18054. "nullFunc_iiiiifiii": nullFunc_iiiiifiii,
  18055. "nullFunc_iiiiifiiiiif": nullFunc_iiiiifiiiiif,
  18056. "nullFunc_iiiiii": nullFunc_iiiiii,
  18057. "nullFunc_iiiiiifff": nullFunc_iiiiiifff,
  18058. "nullFunc_iiiiiifffiiifiii": nullFunc_iiiiiifffiiifiii,
  18059. "nullFunc_iiiiiiffiiiiiiiiiffffiii": nullFunc_iiiiiiffiiiiiiiiiffffiii,
  18060. "nullFunc_iiiiiiffiiiiiiiiiffffiiii": nullFunc_iiiiiiffiiiiiiiiiffffiiii,
  18061. "nullFunc_iiiiiiffiiiiiiiiiiiiiii": nullFunc_iiiiiiffiiiiiiiiiiiiiii,
  18062. "nullFunc_iiiiiifiif": nullFunc_iiiiiifiif,
  18063. "nullFunc_iiiiiifiii": nullFunc_iiiiiifiii,
  18064. "nullFunc_iiiiiii": nullFunc_iiiiiii,
  18065. "nullFunc_iiiiiiifiif": nullFunc_iiiiiiifiif,
  18066. "nullFunc_iiiiiiii": nullFunc_iiiiiiii,
  18067. "nullFunc_iiiiiiiii": nullFunc_iiiiiiiii,
  18068. "nullFunc_iiiiiiiiii": nullFunc_iiiiiiiiii,
  18069. "nullFunc_iiiiiiiiiii": nullFunc_iiiiiiiiiii,
  18070. "nullFunc_iiiiiiiiiiii": nullFunc_iiiiiiiiiiii,
  18071. "nullFunc_iiiiiiiiiiiii": nullFunc_iiiiiiiiiiiii,
  18072. "nullFunc_iiiiiiiiiiiiii": nullFunc_iiiiiiiiiiiiii,
  18073. "nullFunc_iiiiiji": nullFunc_iiiiiji,
  18074. "nullFunc_iiiij": nullFunc_iiiij,
  18075. "nullFunc_iiiiji": nullFunc_iiiiji,
  18076. "nullFunc_iiiijii": nullFunc_iiiijii,
  18077. "nullFunc_iiiijiii": nullFunc_iiiijiii,
  18078. "nullFunc_iiij": nullFunc_iiij,
  18079. "nullFunc_iiiji": nullFunc_iiiji,
  18080. "nullFunc_iiijii": nullFunc_iiijii,
  18081. "nullFunc_iiijiii": nullFunc_iiijiii,
  18082. "nullFunc_iiijji": nullFunc_iiijji,
  18083. "nullFunc_iiijjiiii": nullFunc_iiijjiiii,
  18084. "nullFunc_iij": nullFunc_iij,
  18085. "nullFunc_iiji": nullFunc_iiji,
  18086. "nullFunc_iijii": nullFunc_iijii,
  18087. "nullFunc_iijiii": nullFunc_iijiii,
  18088. "nullFunc_iijji": nullFunc_iijji,
  18089. "nullFunc_iijjii": nullFunc_iijjii,
  18090. "nullFunc_iijjiii": nullFunc_iijjiii,
  18091. "nullFunc_iijjji": nullFunc_iijjji,
  18092. "nullFunc_ij": nullFunc_ij,
  18093. "nullFunc_iji": nullFunc_iji,
  18094. "nullFunc_ijiii": nullFunc_ijiii,
  18095. "nullFunc_ijj": nullFunc_ijj,
  18096. "nullFunc_ijji": nullFunc_ijji,
  18097. "nullFunc_j": nullFunc_j,
  18098. "nullFunc_jdi": nullFunc_jdi,
  18099. "nullFunc_jdii": nullFunc_jdii,
  18100. "nullFunc_jfi": nullFunc_jfi,
  18101. "nullFunc_ji": nullFunc_ji,
  18102. "nullFunc_jidi": nullFunc_jidi,
  18103. "nullFunc_jidii": nullFunc_jidii,
  18104. "nullFunc_jii": nullFunc_jii,
  18105. "nullFunc_jiii": nullFunc_jiii,
  18106. "nullFunc_jiiii": nullFunc_jiiii,
  18107. "nullFunc_jiiiii": nullFunc_jiiiii,
  18108. "nullFunc_jiiiiii": nullFunc_jiiiiii,
  18109. "nullFunc_jiiiiiiiiii": nullFunc_jiiiiiiiiii,
  18110. "nullFunc_jiiji": nullFunc_jiiji,
  18111. "nullFunc_jiji": nullFunc_jiji,
  18112. "nullFunc_jijii": nullFunc_jijii,
  18113. "nullFunc_jijiii": nullFunc_jijiii,
  18114. "nullFunc_jijji": nullFunc_jijji,
  18115. "nullFunc_jji": nullFunc_jji,
  18116. "nullFunc_v": nullFunc_v,
  18117. "nullFunc_vd": nullFunc_vd,
  18118. "nullFunc_vf": nullFunc_vf,
  18119. "nullFunc_vff": nullFunc_vff,
  18120. "nullFunc_vffff": nullFunc_vffff,
  18121. "nullFunc_vfi": nullFunc_vfi,
  18122. "nullFunc_vi": nullFunc_vi,
  18123. "nullFunc_vid": nullFunc_vid,
  18124. "nullFunc_vidi": nullFunc_vidi,
  18125. "nullFunc_vif": nullFunc_vif,
  18126. "nullFunc_viff": nullFunc_viff,
  18127. "nullFunc_vifff": nullFunc_vifff,
  18128. "nullFunc_viffff": nullFunc_viffff,
  18129. "nullFunc_viffffi": nullFunc_viffffi,
  18130. "nullFunc_viffffii": nullFunc_viffffii,
  18131. "nullFunc_viffffiifffiiiiif": nullFunc_viffffiifffiiiiif,
  18132. "nullFunc_viffffiii": nullFunc_viffffiii,
  18133. "nullFunc_vifffi": nullFunc_vifffi,
  18134. "nullFunc_vifffii": nullFunc_vifffii,
  18135. "nullFunc_viffi": nullFunc_viffi,
  18136. "nullFunc_viffii": nullFunc_viffii,
  18137. "nullFunc_viffiifffffiii": nullFunc_viffiifffffiii,
  18138. "nullFunc_viffiii": nullFunc_viffiii,
  18139. "nullFunc_viffiiiif": nullFunc_viffiiiif,
  18140. "nullFunc_vifi": nullFunc_vifi,
  18141. "nullFunc_vifii": nullFunc_vifii,
  18142. "nullFunc_vifiiii": nullFunc_vifiiii,
  18143. "nullFunc_vifijii": nullFunc_vifijii,
  18144. "nullFunc_vii": nullFunc_vii,
  18145. "nullFunc_viid": nullFunc_viid,
  18146. "nullFunc_viidi": nullFunc_viidi,
  18147. "nullFunc_viidii": nullFunc_viidii,
  18148. "nullFunc_viif": nullFunc_viif,
  18149. "nullFunc_viiff": nullFunc_viiff,
  18150. "nullFunc_viifff": nullFunc_viifff,
  18151. "nullFunc_viifffi": nullFunc_viifffi,
  18152. "nullFunc_viiffi": nullFunc_viiffi,
  18153. "nullFunc_viiffii": nullFunc_viiffii,
  18154. "nullFunc_viifi": nullFunc_viifi,
  18155. "nullFunc_viifii": nullFunc_viifii,
  18156. "nullFunc_viifiii": nullFunc_viifiii,
  18157. "nullFunc_viifiiii": nullFunc_viifiiii,
  18158. "nullFunc_viii": nullFunc_viii,
  18159. "nullFunc_viiidi": nullFunc_viiidi,
  18160. "nullFunc_viiifffi": nullFunc_viiifffi,
  18161. "nullFunc_viiiffi": nullFunc_viiiffi,
  18162. "nullFunc_viiiffii": nullFunc_viiiffii,
  18163. "nullFunc_viiifi": nullFunc_viiifi,
  18164. "nullFunc_viiifii": nullFunc_viiifii,
  18165. "nullFunc_viiifiii": nullFunc_viiifiii,
  18166. "nullFunc_viiifiiiii": nullFunc_viiifiiiii,
  18167. "nullFunc_viiii": nullFunc_viiii,
  18168. "nullFunc_viiiif": nullFunc_viiiif,
  18169. "nullFunc_viiiifii": nullFunc_viiiifii,
  18170. "nullFunc_viiiifiiiiif": nullFunc_viiiifiiiiif,
  18171. "nullFunc_viiiii": nullFunc_viiiii,
  18172. "nullFunc_viiiiif": nullFunc_viiiiif,
  18173. "nullFunc_viiiiiffi": nullFunc_viiiiiffi,
  18174. "nullFunc_viiiiiffii": nullFunc_viiiiiffii,
  18175. "nullFunc_viiiiifi": nullFunc_viiiiifi,
  18176. "nullFunc_viiiiii": nullFunc_viiiiii,
  18177. "nullFunc_viiiiiif": nullFunc_viiiiiif,
  18178. "nullFunc_viiiiiii": nullFunc_viiiiiii,
  18179. "nullFunc_viiiiiiifi": nullFunc_viiiiiiifi,
  18180. "nullFunc_viiiiiiii": nullFunc_viiiiiiii,
  18181. "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii,
  18182. "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii,
  18183. "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii,
  18184. "nullFunc_viiiiiiiiiiifii": nullFunc_viiiiiiiiiiifii,
  18185. "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii,
  18186. "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii,
  18187. "nullFunc_viiiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiiii,
  18188. "nullFunc_viiiiiiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiiiiiii,
  18189. "nullFunc_viiiiiji": nullFunc_viiiiiji,
  18190. "nullFunc_viiiij": nullFunc_viiiij,
  18191. "nullFunc_viiiijiiii": nullFunc_viiiijiiii,
  18192. "nullFunc_viiiji": nullFunc_viiiji,
  18193. "nullFunc_viiijji": nullFunc_viiijji,
  18194. "nullFunc_viij": nullFunc_viij,
  18195. "nullFunc_viiji": nullFunc_viiji,
  18196. "nullFunc_viijii": nullFunc_viijii,
  18197. "nullFunc_viijiijiii": nullFunc_viijiijiii,
  18198. "nullFunc_viijijii": nullFunc_viijijii,
  18199. "nullFunc_viijijiii": nullFunc_viijijiii,
  18200. "nullFunc_viijijj": nullFunc_viijijj,
  18201. "nullFunc_viijj": nullFunc_viijj,
  18202. "nullFunc_viijji": nullFunc_viijji,
  18203. "nullFunc_viijjii": nullFunc_viijjii,
  18204. "nullFunc_viijjiii": nullFunc_viijjiii,
  18205. "nullFunc_viijjji": nullFunc_viijjji,
  18206. "nullFunc_vij": nullFunc_vij,
  18207. "nullFunc_viji": nullFunc_viji,
  18208. "nullFunc_vijii": nullFunc_vijii,
  18209. "nullFunc_vijiii": nullFunc_vijiii,
  18210. "nullFunc_vijiji": nullFunc_vijiji,
  18211. "nullFunc_vijijji": nullFunc_vijijji,
  18212. "nullFunc_vijji": nullFunc_vijji,
  18213. "nullFunc_vijjii": nullFunc_vijjii,
  18214. "nullFunc_vijjji": nullFunc_vijjji,
  18215. "nullFunc_vji": nullFunc_vji,
  18216. "nullFunc_vjiiii": nullFunc_vjiiii,
  18217. "nullFunc_vjji": nullFunc_vjji,
  18218. "invoke_dddi": invoke_dddi,
  18219. "invoke_ddi": invoke_ddi,
  18220. "invoke_dfi": invoke_dfi,
  18221. "invoke_di": invoke_di,
  18222. "invoke_diddi": invoke_diddi,
  18223. "invoke_didi": invoke_didi,
  18224. "invoke_dii": invoke_dii,
  18225. "invoke_diii": invoke_diii,
  18226. "invoke_diiii": invoke_diiii,
  18227. "invoke_dji": invoke_dji,
  18228. "invoke_f": invoke_f,
  18229. "invoke_fdi": invoke_fdi,
  18230. "invoke_ff": invoke_ff,
  18231. "invoke_fff": invoke_fff,
  18232. "invoke_ffffi": invoke_ffffi,
  18233. "invoke_fffi": invoke_fffi,
  18234. "invoke_fffifffi": invoke_fffifffi,
  18235. "invoke_ffi": invoke_ffi,
  18236. "invoke_fi": invoke_fi,
  18237. "invoke_fif": invoke_fif,
  18238. "invoke_fiff": invoke_fiff,
  18239. "invoke_fifffi": invoke_fifffi,
  18240. "invoke_fiffi": invoke_fiffi,
  18241. "invoke_fifi": invoke_fifi,
  18242. "invoke_fifii": invoke_fifii,
  18243. "invoke_fii": invoke_fii,
  18244. "invoke_fiif": invoke_fiif,
  18245. "invoke_fiifi": invoke_fiifi,
  18246. "invoke_fiifii": invoke_fiifii,
  18247. "invoke_fiii": invoke_fiii,
  18248. "invoke_fiiii": invoke_fiiii,
  18249. "invoke_fiiiiiifiifif": invoke_fiiiiiifiifif,
  18250. "invoke_fiiiiiifiiiif": invoke_fiiiiiifiiiif,
  18251. "invoke_fji": invoke_fji,
  18252. "invoke_i": invoke_i,
  18253. "invoke_idi": invoke_idi,
  18254. "invoke_idiii": invoke_idiii,
  18255. "invoke_ifffi": invoke_ifffi,
  18256. "invoke_iffi": invoke_iffi,
  18257. "invoke_ifi": invoke_ifi,
  18258. "invoke_ifiii": invoke_ifiii,
  18259. "invoke_ii": invoke_ii,
  18260. "invoke_iidi": invoke_iidi,
  18261. "invoke_iidii": invoke_iidii,
  18262. "invoke_iif": invoke_iif,
  18263. "invoke_iifff": invoke_iifff,
  18264. "invoke_iifffi": invoke_iifffi,
  18265. "invoke_iiffi": invoke_iiffi,
  18266. "invoke_iifi": invoke_iifi,
  18267. "invoke_iifii": invoke_iifii,
  18268. "invoke_iifiii": invoke_iifiii,
  18269. "invoke_iifiiiijii": invoke_iifiiiijii,
  18270. "invoke_iii": invoke_iii,
  18271. "invoke_iiif": invoke_iiif,
  18272. "invoke_iiiff": invoke_iiiff,
  18273. "invoke_iiifi": invoke_iiifi,
  18274. "invoke_iiifii": invoke_iiifii,
  18275. "invoke_iiifiii": invoke_iiifiii,
  18276. "invoke_iiifiiii": invoke_iiifiiii,
  18277. "invoke_iiii": invoke_iiii,
  18278. "invoke_iiiifffffi": invoke_iiiifffffi,
  18279. "invoke_iiiifffffii": invoke_iiiifffffii,
  18280. "invoke_iiiifffiii": invoke_iiiifffiii,
  18281. "invoke_iiiifi": invoke_iiiifi,
  18282. "invoke_iiiifii": invoke_iiiifii,
  18283. "invoke_iiiifiii": invoke_iiiifiii,
  18284. "invoke_iiiifiiii": invoke_iiiifiiii,
  18285. "invoke_iiiifiiiii": invoke_iiiifiiiii,
  18286. "invoke_iiiii": invoke_iiiii,
  18287. "invoke_iiiiifiii": invoke_iiiiifiii,
  18288. "invoke_iiiiifiiiiif": invoke_iiiiifiiiiif,
  18289. "invoke_iiiiii": invoke_iiiiii,
  18290. "invoke_iiiiiifff": invoke_iiiiiifff,
  18291. "invoke_iiiiiifffiiifiii": invoke_iiiiiifffiiifiii,
  18292. "invoke_iiiiiiffiiiiiiiiiffffiii": invoke_iiiiiiffiiiiiiiiiffffiii,
  18293. "invoke_iiiiiiffiiiiiiiiiffffiiii": invoke_iiiiiiffiiiiiiiiiffffiiii,
  18294. "invoke_iiiiiiffiiiiiiiiiiiiiii": invoke_iiiiiiffiiiiiiiiiiiiiii,
  18295. "invoke_iiiiiifiif": invoke_iiiiiifiif,
  18296. "invoke_iiiiiifiii": invoke_iiiiiifiii,
  18297. "invoke_iiiiiii": invoke_iiiiiii,
  18298. "invoke_iiiiiiifiif": invoke_iiiiiiifiif,
  18299. "invoke_iiiiiiii": invoke_iiiiiiii,
  18300. "invoke_iiiiiiiii": invoke_iiiiiiiii,
  18301. "invoke_iiiiiiiiii": invoke_iiiiiiiiii,
  18302. "invoke_iiiiiiiiiii": invoke_iiiiiiiiiii,
  18303. "invoke_iiiiiiiiiiii": invoke_iiiiiiiiiiii,
  18304. "invoke_iiiiiiiiiiiii": invoke_iiiiiiiiiiiii,
  18305. "invoke_iiiiiiiiiiiiii": invoke_iiiiiiiiiiiiii,
  18306. "invoke_iiiiiji": invoke_iiiiiji,
  18307. "invoke_iiiij": invoke_iiiij,
  18308. "invoke_iiiiji": invoke_iiiiji,
  18309. "invoke_iiiijii": invoke_iiiijii,
  18310. "invoke_iiiijiii": invoke_iiiijiii,
  18311. "invoke_iiij": invoke_iiij,
  18312. "invoke_iiiji": invoke_iiiji,
  18313. "invoke_iiijii": invoke_iiijii,
  18314. "invoke_iiijiii": invoke_iiijiii,
  18315. "invoke_iiijji": invoke_iiijji,
  18316. "invoke_iiijjiiii": invoke_iiijjiiii,
  18317. "invoke_iij": invoke_iij,
  18318. "invoke_iiji": invoke_iiji,
  18319. "invoke_iijii": invoke_iijii,
  18320. "invoke_iijiii": invoke_iijiii,
  18321. "invoke_iijji": invoke_iijji,
  18322. "invoke_iijjii": invoke_iijjii,
  18323. "invoke_iijjiii": invoke_iijjiii,
  18324. "invoke_iijjji": invoke_iijjji,
  18325. "invoke_ij": invoke_ij,
  18326. "invoke_iji": invoke_iji,
  18327. "invoke_ijiii": invoke_ijiii,
  18328. "invoke_ijj": invoke_ijj,
  18329. "invoke_ijji": invoke_ijji,
  18330. "invoke_j": invoke_j,
  18331. "invoke_jdi": invoke_jdi,
  18332. "invoke_jdii": invoke_jdii,
  18333. "invoke_jfi": invoke_jfi,
  18334. "invoke_ji": invoke_ji,
  18335. "invoke_jidi": invoke_jidi,
  18336. "invoke_jidii": invoke_jidii,
  18337. "invoke_jii": invoke_jii,
  18338. "invoke_jiii": invoke_jiii,
  18339. "invoke_jiiii": invoke_jiiii,
  18340. "invoke_jiiiii": invoke_jiiiii,
  18341. "invoke_jiiiiii": invoke_jiiiiii,
  18342. "invoke_jiiiiiiiiii": invoke_jiiiiiiiiii,
  18343. "invoke_jiiji": invoke_jiiji,
  18344. "invoke_jiji": invoke_jiji,
  18345. "invoke_jijii": invoke_jijii,
  18346. "invoke_jijiii": invoke_jijiii,
  18347. "invoke_jijji": invoke_jijji,
  18348. "invoke_jji": invoke_jji,
  18349. "invoke_v": invoke_v,
  18350. "invoke_vd": invoke_vd,
  18351. "invoke_vf": invoke_vf,
  18352. "invoke_vff": invoke_vff,
  18353. "invoke_vffff": invoke_vffff,
  18354. "invoke_vfi": invoke_vfi,
  18355. "invoke_vi": invoke_vi,
  18356. "invoke_vid": invoke_vid,
  18357. "invoke_vidi": invoke_vidi,
  18358. "invoke_vif": invoke_vif,
  18359. "invoke_viff": invoke_viff,
  18360. "invoke_vifff": invoke_vifff,
  18361. "invoke_viffff": invoke_viffff,
  18362. "invoke_viffffi": invoke_viffffi,
  18363. "invoke_viffffii": invoke_viffffii,
  18364. "invoke_viffffiifffiiiiif": invoke_viffffiifffiiiiif,
  18365. "invoke_viffffiii": invoke_viffffiii,
  18366. "invoke_vifffi": invoke_vifffi,
  18367. "invoke_vifffii": invoke_vifffii,
  18368. "invoke_viffi": invoke_viffi,
  18369. "invoke_viffii": invoke_viffii,
  18370. "invoke_viffiifffffiii": invoke_viffiifffffiii,
  18371. "invoke_viffiii": invoke_viffiii,
  18372. "invoke_viffiiiif": invoke_viffiiiif,
  18373. "invoke_vifi": invoke_vifi,
  18374. "invoke_vifii": invoke_vifii,
  18375. "invoke_vifiiii": invoke_vifiiii,
  18376. "invoke_vifijii": invoke_vifijii,
  18377. "invoke_vii": invoke_vii,
  18378. "invoke_viid": invoke_viid,
  18379. "invoke_viidi": invoke_viidi,
  18380. "invoke_viidii": invoke_viidii,
  18381. "invoke_viif": invoke_viif,
  18382. "invoke_viiff": invoke_viiff,
  18383. "invoke_viifff": invoke_viifff,
  18384. "invoke_viifffi": invoke_viifffi,
  18385. "invoke_viiffi": invoke_viiffi,
  18386. "invoke_viiffii": invoke_viiffii,
  18387. "invoke_viifi": invoke_viifi,
  18388. "invoke_viifii": invoke_viifii,
  18389. "invoke_viifiii": invoke_viifiii,
  18390. "invoke_viifiiii": invoke_viifiiii,
  18391. "invoke_viii": invoke_viii,
  18392. "invoke_viiidi": invoke_viiidi,
  18393. "invoke_viiifffi": invoke_viiifffi,
  18394. "invoke_viiiffi": invoke_viiiffi,
  18395. "invoke_viiiffii": invoke_viiiffii,
  18396. "invoke_viiifi": invoke_viiifi,
  18397. "invoke_viiifii": invoke_viiifii,
  18398. "invoke_viiifiii": invoke_viiifiii,
  18399. "invoke_viiifiiiii": invoke_viiifiiiii,
  18400. "invoke_viiii": invoke_viiii,
  18401. "invoke_viiiif": invoke_viiiif,
  18402. "invoke_viiiifii": invoke_viiiifii,
  18403. "invoke_viiiifiiiiif": invoke_viiiifiiiiif,
  18404. "invoke_viiiii": invoke_viiiii,
  18405. "invoke_viiiiif": invoke_viiiiif,
  18406. "invoke_viiiiiffi": invoke_viiiiiffi,
  18407. "invoke_viiiiiffii": invoke_viiiiiffii,
  18408. "invoke_viiiiifi": invoke_viiiiifi,
  18409. "invoke_viiiiii": invoke_viiiiii,
  18410. "invoke_viiiiiif": invoke_viiiiiif,
  18411. "invoke_viiiiiii": invoke_viiiiiii,
  18412. "invoke_viiiiiiifi": invoke_viiiiiiifi,
  18413. "invoke_viiiiiiii": invoke_viiiiiiii,
  18414. "invoke_viiiiiiiii": invoke_viiiiiiiii,
  18415. "invoke_viiiiiiiiii": invoke_viiiiiiiiii,
  18416. "invoke_viiiiiiiiiii": invoke_viiiiiiiiiii,
  18417. "invoke_viiiiiiiiiiifii": invoke_viiiiiiiiiiifii,
  18418. "invoke_viiiiiiiiiiii": invoke_viiiiiiiiiiii,
  18419. "invoke_viiiiiiiiiiiiii": invoke_viiiiiiiiiiiiii,
  18420. "invoke_viiiiiiiiiiiiiii": invoke_viiiiiiiiiiiiiii,
  18421. "invoke_viiiiiiiiiiiiiiiiii": invoke_viiiiiiiiiiiiiiiiii,
  18422. "invoke_viiiiiji": invoke_viiiiiji,
  18423. "invoke_viiiij": invoke_viiiij,
  18424. "invoke_viiiijiiii": invoke_viiiijiiii,
  18425. "invoke_viiiji": invoke_viiiji,
  18426. "invoke_viiijji": invoke_viiijji,
  18427. "invoke_viij": invoke_viij,
  18428. "invoke_viiji": invoke_viiji,
  18429. "invoke_viijii": invoke_viijii,
  18430. "invoke_viijiijiii": invoke_viijiijiii,
  18431. "invoke_viijijii": invoke_viijijii,
  18432. "invoke_viijijiii": invoke_viijijiii,
  18433. "invoke_viijijj": invoke_viijijj,
  18434. "invoke_viijj": invoke_viijj,
  18435. "invoke_viijji": invoke_viijji,
  18436. "invoke_viijjii": invoke_viijjii,
  18437. "invoke_viijjiii": invoke_viijjiii,
  18438. "invoke_viijjji": invoke_viijjji,
  18439. "invoke_vij": invoke_vij,
  18440. "invoke_viji": invoke_viji,
  18441. "invoke_vijii": invoke_vijii,
  18442. "invoke_vijiii": invoke_vijiii,
  18443. "invoke_vijiji": invoke_vijiji,
  18444. "invoke_vijijji": invoke_vijijji,
  18445. "invoke_vijji": invoke_vijji,
  18446. "invoke_vijjii": invoke_vijjii,
  18447. "invoke_vijjji": invoke_vijjji,
  18448. "invoke_vji": invoke_vji,
  18449. "invoke_vjiiii": invoke_vjiiii,
  18450. "invoke_vjji": invoke_vjji,
  18451. "_CreateIFrame": _CreateIFrame,
  18452. "_JS_Cursor_SetImage": _JS_Cursor_SetImage,
  18453. "_JS_Cursor_SetShow": _JS_Cursor_SetShow,
  18454. "_JS_Eval_ClearInterval": _JS_Eval_ClearInterval,
  18455. "_JS_Eval_SetInterval": _JS_Eval_SetInterval,
  18456. "_JS_FileSystem_Initialize": _JS_FileSystem_Initialize,
  18457. "_JS_FileSystem_Sync": _JS_FileSystem_Sync,
  18458. "_JS_Log_Dump": _JS_Log_Dump,
  18459. "_JS_Log_StackTrace": _JS_Log_StackTrace,
  18460. "_JS_Profiler_InjectJobs": _JS_Profiler_InjectJobs,
  18461. "_JS_Sound_Create_Channel": _JS_Sound_Create_Channel,
  18462. "_JS_Sound_GetLength": _JS_Sound_GetLength,
  18463. "_JS_Sound_GetLoadState": _JS_Sound_GetLoadState,
  18464. "_JS_Sound_Init": _JS_Sound_Init,
  18465. "_JS_Sound_Load": _JS_Sound_Load,
  18466. "_JS_Sound_Load_PCM": _JS_Sound_Load_PCM,
  18467. "_JS_Sound_Play": _JS_Sound_Play,
  18468. "_JS_Sound_ReleaseInstance": _JS_Sound_ReleaseInstance,
  18469. "_JS_Sound_ResumeIfNeeded": _JS_Sound_ResumeIfNeeded,
  18470. "_JS_Sound_Set3D": _JS_Sound_Set3D,
  18471. "_JS_Sound_SetListenerOrientation": _JS_Sound_SetListenerOrientation,
  18472. "_JS_Sound_SetListenerPosition": _JS_Sound_SetListenerPosition,
  18473. "_JS_Sound_SetLoop": _JS_Sound_SetLoop,
  18474. "_JS_Sound_SetLoopPoints": _JS_Sound_SetLoopPoints,
  18475. "_JS_Sound_SetPaused": _JS_Sound_SetPaused,
  18476. "_JS_Sound_SetPitch": _JS_Sound_SetPitch,
  18477. "_JS_Sound_SetPosition": _JS_Sound_SetPosition,
  18478. "_JS_Sound_SetVolume": _JS_Sound_SetVolume,
  18479. "_JS_Sound_Stop": _JS_Sound_Stop,
  18480. "_JS_SystemInfo_GetBrowserName": _JS_SystemInfo_GetBrowserName,
  18481. "_JS_SystemInfo_GetBrowserVersionString": _JS_SystemInfo_GetBrowserVersionString,
  18482. "_JS_SystemInfo_GetCanvasClientSize": _JS_SystemInfo_GetCanvasClientSize,
  18483. "_JS_SystemInfo_GetDocumentURL": _JS_SystemInfo_GetDocumentURL,
  18484. "_JS_SystemInfo_GetGPUInfo": _JS_SystemInfo_GetGPUInfo,
  18485. "_JS_SystemInfo_GetLanguage": _JS_SystemInfo_GetLanguage,
  18486. "_JS_SystemInfo_GetMatchWebGLToCanvasSize": _JS_SystemInfo_GetMatchWebGLToCanvasSize,
  18487. "_JS_SystemInfo_GetMemory": _JS_SystemInfo_GetMemory,
  18488. "_JS_SystemInfo_GetOS": _JS_SystemInfo_GetOS,
  18489. "_JS_SystemInfo_GetPreferredDevicePixelRatio": _JS_SystemInfo_GetPreferredDevicePixelRatio,
  18490. "_JS_SystemInfo_GetScreenSize": _JS_SystemInfo_GetScreenSize,
  18491. "_JS_SystemInfo_HasCursorLock": _JS_SystemInfo_HasCursorLock,
  18492. "_JS_SystemInfo_HasFullscreen": _JS_SystemInfo_HasFullscreen,
  18493. "_JS_SystemInfo_HasWebGL": _JS_SystemInfo_HasWebGL,
  18494. "_JS_WebCamVideo_CanPlay": _JS_WebCamVideo_CanPlay,
  18495. "_JS_WebCamVideo_GetDeviceName": _JS_WebCamVideo_GetDeviceName,
  18496. "_JS_WebCamVideo_GetNativeHeight": _JS_WebCamVideo_GetNativeHeight,
  18497. "_JS_WebCamVideo_GetNativeWidth": _JS_WebCamVideo_GetNativeWidth,
  18498. "_JS_WebCamVideo_GetNumDevices": _JS_WebCamVideo_GetNumDevices,
  18499. "_JS_WebCamVideo_GrabFrame": _JS_WebCamVideo_GrabFrame,
  18500. "_JS_WebCamVideo_Start": _JS_WebCamVideo_Start,
  18501. "_JS_WebCamVideo_Stop": _JS_WebCamVideo_Stop,
  18502. "_JS_WebCam_IsSupported": _JS_WebCam_IsSupported,
  18503. "_JS_WebRequest_Abort": _JS_WebRequest_Abort,
  18504. "_JS_WebRequest_Create": _JS_WebRequest_Create,
  18505. "_JS_WebRequest_GetResponseHeaders": _JS_WebRequest_GetResponseHeaders,
  18506. "_JS_WebRequest_Release": _JS_WebRequest_Release,
  18507. "_JS_WebRequest_Send": _JS_WebRequest_Send,
  18508. "_JS_WebRequest_SetProgressHandler": _JS_WebRequest_SetProgressHandler,
  18509. "_JS_WebRequest_SetRequestHeader": _JS_WebRequest_SetRequestHeader,
  18510. "_JS_WebRequest_SetResponseHandler": _JS_WebRequest_SetResponseHandler,
  18511. "_JS_WebRequest_SetTimeout": _JS_WebRequest_SetTimeout,
  18512. "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv,
  18513. "___atomic_compare_exchange_8": ___atomic_compare_exchange_8,
  18514. "___atomic_fetch_add_8": ___atomic_fetch_add_8,
  18515. "___buildEnvironment": ___buildEnvironment,
  18516. "___cxa_allocate_exception": ___cxa_allocate_exception,
  18517. "___cxa_begin_catch": ___cxa_begin_catch,
  18518. "___cxa_find_matching_catch": ___cxa_find_matching_catch,
  18519. "___cxa_pure_virtual": ___cxa_pure_virtual,
  18520. "___cxa_throw": ___cxa_throw,
  18521. "___gxx_personality_v0": ___gxx_personality_v0,
  18522. "___lock": ___lock,
  18523. "___map_file": ___map_file,
  18524. "___resumeException": ___resumeException,
  18525. "___setErrNo": ___setErrNo,
  18526. "___syscall10": ___syscall10,
  18527. "___syscall102": ___syscall102,
  18528. "___syscall122": ___syscall122,
  18529. "___syscall140": ___syscall140,
  18530. "___syscall142": ___syscall142,
  18531. "___syscall145": ___syscall145,
  18532. "___syscall146": ___syscall146,
  18533. "___syscall15": ___syscall15,
  18534. "___syscall183": ___syscall183,
  18535. "___syscall192": ___syscall192,
  18536. "___syscall193": ___syscall193,
  18537. "___syscall195": ___syscall195,
  18538. "___syscall196": ___syscall196,
  18539. "___syscall197": ___syscall197,
  18540. "___syscall199": ___syscall199,
  18541. "___syscall202": ___syscall202,
  18542. "___syscall220": ___syscall220,
  18543. "___syscall221": ___syscall221,
  18544. "___syscall268": ___syscall268,
  18545. "___syscall3": ___syscall3,
  18546. "___syscall33": ___syscall33,
  18547. "___syscall38": ___syscall38,
  18548. "___syscall39": ___syscall39,
  18549. "___syscall4": ___syscall4,
  18550. "___syscall40": ___syscall40,
  18551. "___syscall5": ___syscall5,
  18552. "___syscall54": ___syscall54,
  18553. "___syscall6": ___syscall6,
  18554. "___syscall77": ___syscall77,
  18555. "___syscall85": ___syscall85,
  18556. "___syscall9": ___syscall9,
  18557. "___syscall91": ___syscall91,
  18558. "___unlock": ___unlock,
  18559. "__addDays": __addDays,
  18560. "__arraySum": __arraySum,
  18561. "__emscripten_do_request_fullscreen": __emscripten_do_request_fullscreen,
  18562. "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data,
  18563. "__emscripten_traverse_stack": __emscripten_traverse_stack,
  18564. "__exit": __exit,
  18565. "__formatString": __formatString,
  18566. "__inet_ntop4_raw": __inet_ntop4_raw,
  18567. "__inet_ntop6_raw": __inet_ntop6_raw,
  18568. "__inet_pton4_raw": __inet_pton4_raw,
  18569. "__inet_pton6_raw": __inet_pton6_raw,
  18570. "__isLeapYear": __isLeapYear,
  18571. "__read_sockaddr": __read_sockaddr,
  18572. "__reallyNegative": __reallyNegative,
  18573. "__setLetterbox": __setLetterbox,
  18574. "__write_sockaddr": __write_sockaddr,
  18575. "_abort": _abort,
  18576. "_atexit": _atexit,
  18577. "_clock": _clock,
  18578. "_clock_getres": _clock_getres,
  18579. "_clock_gettime": _clock_gettime,
  18580. "_difftime": _difftime,
  18581. "_dlclose": _dlclose,
  18582. "_dlopen": _dlopen,
  18583. "_dlsym": _dlsym,
  18584. "_emscripten_asm_const_i": _emscripten_asm_const_i,
  18585. "_emscripten_asm_const_id": _emscripten_asm_const_id,
  18586. "_emscripten_asm_const_sync_on_main_thread_i": _emscripten_asm_const_sync_on_main_thread_i,
  18587. "_emscripten_cancel_main_loop": _emscripten_cancel_main_loop,
  18588. "_emscripten_exit_fullscreen": _emscripten_exit_fullscreen,
  18589. "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock,
  18590. "_emscripten_get_callstack_js": _emscripten_get_callstack_js,
  18591. "_emscripten_get_canvas_element_size": _emscripten_get_canvas_element_size,
  18592. "_emscripten_get_canvas_element_size_calling_thread": _emscripten_get_canvas_element_size_calling_thread,
  18593. "_emscripten_get_canvas_element_size_main_thread": _emscripten_get_canvas_element_size_main_thread,
  18594. "_emscripten_get_fullscreen_status": _emscripten_get_fullscreen_status,
  18595. "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status,
  18596. "_emscripten_get_main_loop_timing": _emscripten_get_main_loop_timing,
  18597. "_emscripten_get_now": _emscripten_get_now,
  18598. "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic,
  18599. "_emscripten_get_now_res": _emscripten_get_now_res,
  18600. "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads,
  18601. "_emscripten_has_threading_support": _emscripten_has_threading_support,
  18602. "_emscripten_html5_remove_all_event_listeners": _emscripten_html5_remove_all_event_listeners,
  18603. "_emscripten_is_webgl_context_lost": _emscripten_is_webgl_context_lost,
  18604. "_emscripten_log": _emscripten_log,
  18605. "_emscripten_log_js": _emscripten_log_js,
  18606. "_emscripten_memcpy_big": _emscripten_memcpy_big,
  18607. "_emscripten_num_logical_cores": _emscripten_num_logical_cores,
  18608. "_emscripten_request_fullscreen": _emscripten_request_fullscreen,
  18609. "_emscripten_request_pointerlock": _emscripten_request_pointerlock,
  18610. "_emscripten_set_blur_callback_on_thread": _emscripten_set_blur_callback_on_thread,
  18611. "_emscripten_set_canvas_element_size": _emscripten_set_canvas_element_size,
  18612. "_emscripten_set_dblclick_callback_on_thread": _emscripten_set_dblclick_callback_on_thread,
  18613. "_emscripten_set_devicemotion_callback_on_thread": _emscripten_set_devicemotion_callback_on_thread,
  18614. "_emscripten_set_deviceorientation_callback_on_thread": _emscripten_set_deviceorientation_callback_on_thread,
  18615. "_emscripten_set_focus_callback_on_thread": _emscripten_set_focus_callback_on_thread,
  18616. "_emscripten_set_fullscreenchange_callback_on_thread": _emscripten_set_fullscreenchange_callback_on_thread,
  18617. "_emscripten_set_gamepadconnected_callback_on_thread": _emscripten_set_gamepadconnected_callback_on_thread,
  18618. "_emscripten_set_gamepaddisconnected_callback_on_thread": _emscripten_set_gamepaddisconnected_callback_on_thread,
  18619. "_emscripten_set_keydown_callback_on_thread": _emscripten_set_keydown_callback_on_thread,
  18620. "_emscripten_set_keypress_callback_on_thread": _emscripten_set_keypress_callback_on_thread,
  18621. "_emscripten_set_keyup_callback_on_thread": _emscripten_set_keyup_callback_on_thread,
  18622. "_emscripten_set_main_loop": _emscripten_set_main_loop,
  18623. "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing,
  18624. "_emscripten_set_mousedown_callback_on_thread": _emscripten_set_mousedown_callback_on_thread,
  18625. "_emscripten_set_mousemove_callback_on_thread": _emscripten_set_mousemove_callback_on_thread,
  18626. "_emscripten_set_mouseup_callback_on_thread": _emscripten_set_mouseup_callback_on_thread,
  18627. "_emscripten_set_touchcancel_callback_on_thread": _emscripten_set_touchcancel_callback_on_thread,
  18628. "_emscripten_set_touchend_callback_on_thread": _emscripten_set_touchend_callback_on_thread,
  18629. "_emscripten_set_touchmove_callback_on_thread": _emscripten_set_touchmove_callback_on_thread,
  18630. "_emscripten_set_touchstart_callback_on_thread": _emscripten_set_touchstart_callback_on_thread,
  18631. "_emscripten_set_wheel_callback_on_thread": _emscripten_set_wheel_callback_on_thread,
  18632. "_emscripten_webgl_create_context": _emscripten_webgl_create_context,
  18633. "_emscripten_webgl_destroy_context": _emscripten_webgl_destroy_context,
  18634. "_emscripten_webgl_destroy_context_calling_thread": _emscripten_webgl_destroy_context_calling_thread,
  18635. "_emscripten_webgl_do_create_context": _emscripten_webgl_do_create_context,
  18636. "_emscripten_webgl_do_get_current_context": _emscripten_webgl_do_get_current_context,
  18637. "_emscripten_webgl_enable_extension": _emscripten_webgl_enable_extension,
  18638. "_emscripten_webgl_enable_extension_calling_thread": _emscripten_webgl_enable_extension_calling_thread,
  18639. "_emscripten_webgl_get_current_context": _emscripten_webgl_get_current_context,
  18640. "_emscripten_webgl_init_context_attributes": _emscripten_webgl_init_context_attributes,
  18641. "_emscripten_webgl_make_context_current": _emscripten_webgl_make_context_current,
  18642. "_exit": _exit,
  18643. "_flock": _flock,
  18644. "_getenv": _getenv,
  18645. "_gethostbyaddr": _gethostbyaddr,
  18646. "_gethostbyname": _gethostbyname,
  18647. "_getpagesize": _getpagesize,
  18648. "_getpwuid": _getpwuid,
  18649. "_gettimeofday": _gettimeofday,
  18650. "_glActiveTexture": _glActiveTexture,
  18651. "_glAttachShader": _glAttachShader,
  18652. "_glBeginQuery": _glBeginQuery,
  18653. "_glBeginTransformFeedback": _glBeginTransformFeedback,
  18654. "_glBindAttribLocation": _glBindAttribLocation,
  18655. "_glBindBuffer": _glBindBuffer,
  18656. "_glBindBufferBase": _glBindBufferBase,
  18657. "_glBindBufferRange": _glBindBufferRange,
  18658. "_glBindFramebuffer": _glBindFramebuffer,
  18659. "_glBindRenderbuffer": _glBindRenderbuffer,
  18660. "_glBindSampler": _glBindSampler,
  18661. "_glBindTexture": _glBindTexture,
  18662. "_glBindTransformFeedback": _glBindTransformFeedback,
  18663. "_glBindVertexArray": _glBindVertexArray,
  18664. "_glBlendEquation": _glBlendEquation,
  18665. "_glBlendEquationSeparate": _glBlendEquationSeparate,
  18666. "_glBlendFuncSeparate": _glBlendFuncSeparate,
  18667. "_glBlitFramebuffer": _glBlitFramebuffer,
  18668. "_glBufferData": _glBufferData,
  18669. "_glBufferSubData": _glBufferSubData,
  18670. "_glCheckFramebufferStatus": _glCheckFramebufferStatus,
  18671. "_glClear": _glClear,
  18672. "_glClearBufferfi": _glClearBufferfi,
  18673. "_glClearBufferfv": _glClearBufferfv,
  18674. "_glClearBufferuiv": _glClearBufferuiv,
  18675. "_glClearColor": _glClearColor,
  18676. "_glClearDepthf": _glClearDepthf,
  18677. "_glClearStencil": _glClearStencil,
  18678. "_glClientWaitSync": _glClientWaitSync,
  18679. "_glColorMask": _glColorMask,
  18680. "_glCompileShader": _glCompileShader,
  18681. "_glCompressedTexImage2D": _glCompressedTexImage2D,
  18682. "_glCompressedTexImage3D": _glCompressedTexImage3D,
  18683. "_glCompressedTexSubImage2D": _glCompressedTexSubImage2D,
  18684. "_glCompressedTexSubImage3D": _glCompressedTexSubImage3D,
  18685. "_glCopyBufferSubData": _glCopyBufferSubData,
  18686. "_glCopyTexImage2D": _glCopyTexImage2D,
  18687. "_glCopyTexSubImage2D": _glCopyTexSubImage2D,
  18688. "_glCreateProgram": _glCreateProgram,
  18689. "_glCreateShader": _glCreateShader,
  18690. "_glCullFace": _glCullFace,
  18691. "_glDeleteBuffers": _glDeleteBuffers,
  18692. "_glDeleteFramebuffers": _glDeleteFramebuffers,
  18693. "_glDeleteProgram": _glDeleteProgram,
  18694. "_glDeleteQueries": _glDeleteQueries,
  18695. "_glDeleteRenderbuffers": _glDeleteRenderbuffers,
  18696. "_glDeleteSamplers": _glDeleteSamplers,
  18697. "_glDeleteShader": _glDeleteShader,
  18698. "_glDeleteSync": _glDeleteSync,
  18699. "_glDeleteTextures": _glDeleteTextures,
  18700. "_glDeleteTransformFeedbacks": _glDeleteTransformFeedbacks,
  18701. "_glDeleteVertexArrays": _glDeleteVertexArrays,
  18702. "_glDepthFunc": _glDepthFunc,
  18703. "_glDepthMask": _glDepthMask,
  18704. "_glDetachShader": _glDetachShader,
  18705. "_glDisable": _glDisable,
  18706. "_glDisableVertexAttribArray": _glDisableVertexAttribArray,
  18707. "_glDrawArrays": _glDrawArrays,
  18708. "_glDrawArraysInstanced": _glDrawArraysInstanced,
  18709. "_glDrawBuffers": _glDrawBuffers,
  18710. "_glDrawElements": _glDrawElements,
  18711. "_glDrawElementsInstanced": _glDrawElementsInstanced,
  18712. "_glEnable": _glEnable,
  18713. "_glEnableVertexAttribArray": _glEnableVertexAttribArray,
  18714. "_glEndQuery": _glEndQuery,
  18715. "_glEndTransformFeedback": _glEndTransformFeedback,
  18716. "_glFenceSync": _glFenceSync,
  18717. "_glFinish": _glFinish,
  18718. "_glFlush": _glFlush,
  18719. "_glFlushMappedBufferRange": _glFlushMappedBufferRange,
  18720. "_glFramebufferRenderbuffer": _glFramebufferRenderbuffer,
  18721. "_glFramebufferTexture2D": _glFramebufferTexture2D,
  18722. "_glFramebufferTextureLayer": _glFramebufferTextureLayer,
  18723. "_glFrontFace": _glFrontFace,
  18724. "_glGenBuffers": _glGenBuffers,
  18725. "_glGenFramebuffers": _glGenFramebuffers,
  18726. "_glGenQueries": _glGenQueries,
  18727. "_glGenRenderbuffers": _glGenRenderbuffers,
  18728. "_glGenSamplers": _glGenSamplers,
  18729. "_glGenTextures": _glGenTextures,
  18730. "_glGenTransformFeedbacks": _glGenTransformFeedbacks,
  18731. "_glGenVertexArrays": _glGenVertexArrays,
  18732. "_glGenerateMipmap": _glGenerateMipmap,
  18733. "_glGetActiveAttrib": _glGetActiveAttrib,
  18734. "_glGetActiveUniform": _glGetActiveUniform,
  18735. "_glGetActiveUniformBlockName": _glGetActiveUniformBlockName,
  18736. "_glGetActiveUniformBlockiv": _glGetActiveUniformBlockiv,
  18737. "_glGetActiveUniformsiv": _glGetActiveUniformsiv,
  18738. "_glGetAttribLocation": _glGetAttribLocation,
  18739. "_glGetError": _glGetError,
  18740. "_glGetFramebufferAttachmentParameteriv": _glGetFramebufferAttachmentParameteriv,
  18741. "_glGetIntegeri_v": _glGetIntegeri_v,
  18742. "_glGetIntegerv": _glGetIntegerv,
  18743. "_glGetInternalformativ": _glGetInternalformativ,
  18744. "_glGetProgramBinary": _glGetProgramBinary,
  18745. "_glGetProgramInfoLog": _glGetProgramInfoLog,
  18746. "_glGetProgramiv": _glGetProgramiv,
  18747. "_glGetQueryObjectuiv": _glGetQueryObjectuiv,
  18748. "_glGetQueryiv": _glGetQueryiv,
  18749. "_glGetRenderbufferParameteriv": _glGetRenderbufferParameteriv,
  18750. "_glGetShaderInfoLog": _glGetShaderInfoLog,
  18751. "_glGetShaderPrecisionFormat": _glGetShaderPrecisionFormat,
  18752. "_glGetShaderSource": _glGetShaderSource,
  18753. "_glGetShaderiv": _glGetShaderiv,
  18754. "_glGetString": _glGetString,
  18755. "_glGetStringi": _glGetStringi,
  18756. "_glGetTexParameteriv": _glGetTexParameteriv,
  18757. "_glGetUniformBlockIndex": _glGetUniformBlockIndex,
  18758. "_glGetUniformIndices": _glGetUniformIndices,
  18759. "_glGetUniformLocation": _glGetUniformLocation,
  18760. "_glGetUniformiv": _glGetUniformiv,
  18761. "_glGetVertexAttribiv": _glGetVertexAttribiv,
  18762. "_glInvalidateFramebuffer": _glInvalidateFramebuffer,
  18763. "_glIsEnabled": _glIsEnabled,
  18764. "_glIsVertexArray": _glIsVertexArray,
  18765. "_glLinkProgram": _glLinkProgram,
  18766. "_glMapBufferRange": _glMapBufferRange,
  18767. "_glPixelStorei": _glPixelStorei,
  18768. "_glPolygonOffset": _glPolygonOffset,
  18769. "_glProgramBinary": _glProgramBinary,
  18770. "_glProgramParameteri": _glProgramParameteri,
  18771. "_glReadBuffer": _glReadBuffer,
  18772. "_glReadPixels": _glReadPixels,
  18773. "_glRenderbufferStorage": _glRenderbufferStorage,
  18774. "_glRenderbufferStorageMultisample": _glRenderbufferStorageMultisample,
  18775. "_glSamplerParameteri": _glSamplerParameteri,
  18776. "_glScissor": _glScissor,
  18777. "_glShaderSource": _glShaderSource,
  18778. "_glStencilFuncSeparate": _glStencilFuncSeparate,
  18779. "_glStencilMask": _glStencilMask,
  18780. "_glStencilOpSeparate": _glStencilOpSeparate,
  18781. "_glTexImage2D": _glTexImage2D,
  18782. "_glTexImage3D": _glTexImage3D,
  18783. "_glTexParameterf": _glTexParameterf,
  18784. "_glTexParameteri": _glTexParameteri,
  18785. "_glTexParameteriv": _glTexParameteriv,
  18786. "_glTexStorage2D": _glTexStorage2D,
  18787. "_glTexStorage3D": _glTexStorage3D,
  18788. "_glTexSubImage2D": _glTexSubImage2D,
  18789. "_glTexSubImage3D": _glTexSubImage3D,
  18790. "_glTransformFeedbackVaryings": _glTransformFeedbackVaryings,
  18791. "_glUniform1fv": _glUniform1fv,
  18792. "_glUniform1i": _glUniform1i,
  18793. "_glUniform1iv": _glUniform1iv,
  18794. "_glUniform1uiv": _glUniform1uiv,
  18795. "_glUniform2fv": _glUniform2fv,
  18796. "_glUniform2iv": _glUniform2iv,
  18797. "_glUniform2uiv": _glUniform2uiv,
  18798. "_glUniform3fv": _glUniform3fv,
  18799. "_glUniform3iv": _glUniform3iv,
  18800. "_glUniform3uiv": _glUniform3uiv,
  18801. "_glUniform4fv": _glUniform4fv,
  18802. "_glUniform4iv": _glUniform4iv,
  18803. "_glUniform4uiv": _glUniform4uiv,
  18804. "_glUniformBlockBinding": _glUniformBlockBinding,
  18805. "_glUniformMatrix3fv": _glUniformMatrix3fv,
  18806. "_glUniformMatrix4fv": _glUniformMatrix4fv,
  18807. "_glUnmapBuffer": _glUnmapBuffer,
  18808. "_glUseProgram": _glUseProgram,
  18809. "_glValidateProgram": _glValidateProgram,
  18810. "_glVertexAttrib4f": _glVertexAttrib4f,
  18811. "_glVertexAttrib4fv": _glVertexAttrib4fv,
  18812. "_glVertexAttribIPointer": _glVertexAttribIPointer,
  18813. "_glVertexAttribPointer": _glVertexAttribPointer,
  18814. "_glViewport": _glViewport,
  18815. "_gmtime": _gmtime,
  18816. "_gmtime_r": _gmtime_r,
  18817. "_gotoUnity": _gotoUnity,
  18818. "_inet_addr": _inet_addr,
  18819. "_llvm_ceil_f32": _llvm_ceil_f32,
  18820. "_llvm_ceil_f64": _llvm_ceil_f64,
  18821. "_llvm_copysign_f64": _llvm_copysign_f64,
  18822. "_llvm_cttz_i32": _llvm_cttz_i32,
  18823. "_llvm_exp2_f32": _llvm_exp2_f32,
  18824. "_llvm_fabs_f32": _llvm_fabs_f32,
  18825. "_llvm_fabs_f64": _llvm_fabs_f64,
  18826. "_llvm_floor_f32": _llvm_floor_f32,
  18827. "_llvm_floor_f64": _llvm_floor_f64,
  18828. "_llvm_log10_f32": _llvm_log10_f32,
  18829. "_llvm_log2_f32": _llvm_log2_f32,
  18830. "_llvm_pow_f64": _llvm_pow_f64,
  18831. "_llvm_sqrt_f32": _llvm_sqrt_f32,
  18832. "_llvm_trap": _llvm_trap,
  18833. "_llvm_trunc_f32": _llvm_trunc_f32,
  18834. "_localtime": _localtime,
  18835. "_localtime_r": _localtime_r,
  18836. "_mktime": _mktime,
  18837. "_nanosleep": _nanosleep,
  18838. "_noActive": _noActive,
  18839. "_noCamera": _noCamera,
  18840. "_pthread_cond_destroy": _pthread_cond_destroy,
  18841. "_pthread_cond_init": _pthread_cond_init,
  18842. "_pthread_cond_timedwait": _pthread_cond_timedwait,
  18843. "_pthread_cond_wait": _pthread_cond_wait,
  18844. "_pthread_getspecific": _pthread_getspecific,
  18845. "_pthread_key_create": _pthread_key_create,
  18846. "_pthread_key_delete": _pthread_key_delete,
  18847. "_pthread_mutex_destroy": _pthread_mutex_destroy,
  18848. "_pthread_mutex_init": _pthread_mutex_init,
  18849. "_pthread_mutexattr_destroy": _pthread_mutexattr_destroy,
  18850. "_pthread_mutexattr_init": _pthread_mutexattr_init,
  18851. "_pthread_mutexattr_setprotocol": _pthread_mutexattr_setprotocol,
  18852. "_pthread_mutexattr_settype": _pthread_mutexattr_settype,
  18853. "_pthread_once": _pthread_once,
  18854. "_pthread_setspecific": _pthread_setspecific,
  18855. "_sched_yield": _sched_yield,
  18856. "_setenv": _setenv,
  18857. "_sigaction": _sigaction,
  18858. "_sigemptyset": _sigemptyset,
  18859. "_strftime": _strftime,
  18860. "_sysconf": _sysconf,
  18861. "_time": _time,
  18862. "_tzset": _tzset,
  18863. "_unsetenv": _unsetenv,
  18864. "_usleep": _usleep,
  18865. "_utime": _utime,
  18866. "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize,
  18867. "emscriptenWebGLGet": emscriptenWebGLGet,
  18868. "emscriptenWebGLGetBufferBinding": emscriptenWebGLGetBufferBinding,
  18869. "emscriptenWebGLGetHeapForType": emscriptenWebGLGetHeapForType,
  18870. "emscriptenWebGLGetIndexed": emscriptenWebGLGetIndexed,
  18871. "emscriptenWebGLGetShiftForType": emscriptenWebGLGetShiftForType,
  18872. "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData,
  18873. "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform,
  18874. "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib,
  18875. "emscriptenWebGLValidateMapBufferTarget": emscriptenWebGLValidateMapBufferTarget,
  18876. "emscripten_get_canvas_element_size_js": emscripten_get_canvas_element_size_js,
  18877. "emscripten_set_canvas_element_size_js": emscripten_set_canvas_element_size_js,
  18878. "DYNAMICTOP_PTR": DYNAMICTOP_PTR,
  18879. "tempDoublePtr": tempDoublePtr,
  18880. "ABORT": ABORT,
  18881. "STACKTOP": STACKTOP,
  18882. "STACK_MAX": STACK_MAX
  18883. };
  18884. var asm = Module["asm"](Module.asmGlobalArg, Module.asmLibraryArg, buffer);
  18885. var real__InjectProfilerSample = asm["_InjectProfilerSample"];
  18886. asm["_InjectProfilerSample"] = (function() {
  18887. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18888. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18889. return real__InjectProfilerSample.apply(null, arguments);
  18890. });
  18891. var real__SendMessage = asm["_SendMessage"];
  18892. asm["_SendMessage"] = (function() {
  18893. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18894. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18895. return real__SendMessage.apply(null, arguments);
  18896. });
  18897. var real__SendMessageFloat = asm["_SendMessageFloat"];
  18898. asm["_SendMessageFloat"] = (function() {
  18899. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18900. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18901. return real__SendMessageFloat.apply(null, arguments);
  18902. });
  18903. var real__SendMessageString = asm["_SendMessageString"];
  18904. asm["_SendMessageString"] = (function() {
  18905. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18906. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18907. return real__SendMessageString.apply(null, arguments);
  18908. });
  18909. var real__SetFullscreen = asm["_SetFullscreen"];
  18910. asm["_SetFullscreen"] = (function() {
  18911. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18912. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18913. return real__SetFullscreen.apply(null, arguments);
  18914. });
  18915. var real___GLOBAL__sub_I_AIBindings_gen_cpp = asm["__GLOBAL__sub_I_AIBindings_gen_cpp"];
  18916. asm["__GLOBAL__sub_I_AIBindings_gen_cpp"] = (function() {
  18917. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18918. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18919. return real___GLOBAL__sub_I_AIBindings_gen_cpp.apply(null, arguments);
  18920. });
  18921. var real___GLOBAL__sub_I_AIScriptingClasses_cpp = asm["__GLOBAL__sub_I_AIScriptingClasses_cpp"];
  18922. asm["__GLOBAL__sub_I_AIScriptingClasses_cpp"] = (function() {
  18923. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18924. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18925. return real___GLOBAL__sub_I_AIScriptingClasses_cpp.apply(null, arguments);
  18926. });
  18927. var real___GLOBAL__sub_I_AccessibilityScriptingClasses_cpp = asm["__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp"];
  18928. asm["__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp"] = (function() {
  18929. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18930. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18931. return real___GLOBAL__sub_I_AccessibilityScriptingClasses_cpp.apply(null, arguments);
  18932. });
  18933. var real___GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp = asm["__GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp"];
  18934. asm["__GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp"] = (function() {
  18935. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18936. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18937. return real___GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp.apply(null, arguments);
  18938. });
  18939. var real___GLOBAL__sub_I_AnimationBindings_gen_cpp = asm["__GLOBAL__sub_I_AnimationBindings_gen_cpp"];
  18940. asm["__GLOBAL__sub_I_AnimationBindings_gen_cpp"] = (function() {
  18941. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18942. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18943. return real___GLOBAL__sub_I_AnimationBindings_gen_cpp.apply(null, arguments);
  18944. });
  18945. var real___GLOBAL__sub_I_AnimationClip_cpp = asm["__GLOBAL__sub_I_AnimationClip_cpp"];
  18946. asm["__GLOBAL__sub_I_AnimationClip_cpp"] = (function() {
  18947. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18948. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18949. return real___GLOBAL__sub_I_AnimationClip_cpp.apply(null, arguments);
  18950. });
  18951. var real___GLOBAL__sub_I_AnimationScriptingClasses_cpp = asm["__GLOBAL__sub_I_AnimationScriptingClasses_cpp"];
  18952. asm["__GLOBAL__sub_I_AnimationScriptingClasses_cpp"] = (function() {
  18953. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18954. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18955. return real___GLOBAL__sub_I_AnimationScriptingClasses_cpp.apply(null, arguments);
  18956. });
  18957. var real___GLOBAL__sub_I_AssetBundleFileSystem_cpp = asm["__GLOBAL__sub_I_AssetBundleFileSystem_cpp"];
  18958. asm["__GLOBAL__sub_I_AssetBundleFileSystem_cpp"] = (function() {
  18959. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18960. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18961. return real___GLOBAL__sub_I_AssetBundleFileSystem_cpp.apply(null, arguments);
  18962. });
  18963. var real___GLOBAL__sub_I_AssetBundleScriptingClasses_cpp = asm["__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp"];
  18964. asm["__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp"] = (function() {
  18965. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18966. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18967. return real___GLOBAL__sub_I_AssetBundleScriptingClasses_cpp.apply(null, arguments);
  18968. });
  18969. var real___GLOBAL__sub_I_AudioScriptingClasses_cpp = asm["__GLOBAL__sub_I_AudioScriptingClasses_cpp"];
  18970. asm["__GLOBAL__sub_I_AudioScriptingClasses_cpp"] = (function() {
  18971. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18972. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18973. return real___GLOBAL__sub_I_AudioScriptingClasses_cpp.apply(null, arguments);
  18974. });
  18975. var real___GLOBAL__sub_I_ClothScriptingClasses_cpp = asm["__GLOBAL__sub_I_ClothScriptingClasses_cpp"];
  18976. asm["__GLOBAL__sub_I_ClothScriptingClasses_cpp"] = (function() {
  18977. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18978. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18979. return real___GLOBAL__sub_I_ClothScriptingClasses_cpp.apply(null, arguments);
  18980. });
  18981. var real___GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp = asm["__GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp"];
  18982. asm["__GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp"] = (function() {
  18983. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18984. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18985. return real___GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp.apply(null, arguments);
  18986. });
  18987. var real___GLOBAL__sub_I_ConstraintJob_cpp = asm["__GLOBAL__sub_I_ConstraintJob_cpp"];
  18988. asm["__GLOBAL__sub_I_ConstraintJob_cpp"] = (function() {
  18989. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18990. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18991. return real___GLOBAL__sub_I_ConstraintJob_cpp.apply(null, arguments);
  18992. });
  18993. var real___GLOBAL__sub_I_CoreBindings_gen_cpp = asm["__GLOBAL__sub_I_CoreBindings_gen_cpp"];
  18994. asm["__GLOBAL__sub_I_CoreBindings_gen_cpp"] = (function() {
  18995. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  18996. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  18997. return real___GLOBAL__sub_I_CoreBindings_gen_cpp.apply(null, arguments);
  18998. });
  18999. var real___GLOBAL__sub_I_DSPGraphBindings_gen_cpp = asm["__GLOBAL__sub_I_DSPGraphBindings_gen_cpp"];
  19000. asm["__GLOBAL__sub_I_DSPGraphBindings_gen_cpp"] = (function() {
  19001. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19002. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19003. return real___GLOBAL__sub_I_DSPGraphBindings_gen_cpp.apply(null, arguments);
  19004. });
  19005. var real___GLOBAL__sub_I_DirectorScriptingClasses_cpp = asm["__GLOBAL__sub_I_DirectorScriptingClasses_cpp"];
  19006. asm["__GLOBAL__sub_I_DirectorScriptingClasses_cpp"] = (function() {
  19007. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19008. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19009. return real___GLOBAL__sub_I_DirectorScriptingClasses_cpp.apply(null, arguments);
  19010. });
  19011. var real___GLOBAL__sub_I_ExternalForcesModule_cpp = asm["__GLOBAL__sub_I_ExternalForcesModule_cpp"];
  19012. asm["__GLOBAL__sub_I_ExternalForcesModule_cpp"] = (function() {
  19013. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19014. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19015. return real___GLOBAL__sub_I_ExternalForcesModule_cpp.apply(null, arguments);
  19016. });
  19017. var real___GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp = asm["__GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp"];
  19018. asm["__GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp"] = (function() {
  19019. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19020. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19021. return real___GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp.apply(null, arguments);
  19022. });
  19023. var real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp = asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp"];
  19024. asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp"] = (function() {
  19025. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19026. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19027. return real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp.apply(null, arguments);
  19028. });
  19029. var real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp = asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp"];
  19030. asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp"] = (function() {
  19031. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19032. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19033. return real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp.apply(null, arguments);
  19034. });
  19035. var real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp = asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp"];
  19036. asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp"] = (function() {
  19037. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19038. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19039. return real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp.apply(null, arguments);
  19040. });
  19041. var real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp = asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp"];
  19042. asm["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp"] = (function() {
  19043. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19044. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19045. return real___GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp.apply(null, arguments);
  19046. });
  19047. var real___GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp = asm["__GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp"];
  19048. asm["__GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp"] = (function() {
  19049. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19050. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19051. return real___GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp.apply(null, arguments);
  19052. });
  19053. var real___GLOBAL__sub_I_External_Yoga_Yoga_0_cpp = asm["__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp"];
  19054. asm["__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp"] = (function() {
  19055. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19056. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19057. return real___GLOBAL__sub_I_External_Yoga_Yoga_0_cpp.apply(null, arguments);
  19058. });
  19059. var real___GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp = asm["__GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp"];
  19060. asm["__GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp"] = (function() {
  19061. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19062. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19063. return real___GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp.apply(null, arguments);
  19064. });
  19065. var real___GLOBAL__sub_I_GUITexture_cpp = asm["__GLOBAL__sub_I_GUITexture_cpp"];
  19066. asm["__GLOBAL__sub_I_GUITexture_cpp"] = (function() {
  19067. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19068. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19069. return real___GLOBAL__sub_I_GUITexture_cpp.apply(null, arguments);
  19070. });
  19071. var real___GLOBAL__sub_I_GfxDeviceNull_cpp = asm["__GLOBAL__sub_I_GfxDeviceNull_cpp"];
  19072. asm["__GLOBAL__sub_I_GfxDeviceNull_cpp"] = (function() {
  19073. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19074. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19075. return real___GLOBAL__sub_I_GfxDeviceNull_cpp.apply(null, arguments);
  19076. });
  19077. var real___GLOBAL__sub_I_GridScriptingClasses_cpp = asm["__GLOBAL__sub_I_GridScriptingClasses_cpp"];
  19078. asm["__GLOBAL__sub_I_GridScriptingClasses_cpp"] = (function() {
  19079. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19080. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19081. return real___GLOBAL__sub_I_GridScriptingClasses_cpp.apply(null, arguments);
  19082. });
  19083. var real___GLOBAL__sub_I_IMGUIScriptingClasses_cpp = asm["__GLOBAL__sub_I_IMGUIScriptingClasses_cpp"];
  19084. asm["__GLOBAL__sub_I_IMGUIScriptingClasses_cpp"] = (function() {
  19085. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19086. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19087. return real___GLOBAL__sub_I_IMGUIScriptingClasses_cpp.apply(null, arguments);
  19088. });
  19089. var real___GLOBAL__sub_I_InputLegacyModuleRegistration_cpp = asm["__GLOBAL__sub_I_InputLegacyModuleRegistration_cpp"];
  19090. asm["__GLOBAL__sub_I_InputLegacyModuleRegistration_cpp"] = (function() {
  19091. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19092. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19093. return real___GLOBAL__sub_I_InputLegacyModuleRegistration_cpp.apply(null, arguments);
  19094. });
  19095. var real___GLOBAL__sub_I_InputLegacyScriptingClasses_cpp = asm["__GLOBAL__sub_I_InputLegacyScriptingClasses_cpp"];
  19096. asm["__GLOBAL__sub_I_InputLegacyScriptingClasses_cpp"] = (function() {
  19097. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19098. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19099. return real___GLOBAL__sub_I_InputLegacyScriptingClasses_cpp.apply(null, arguments);
  19100. });
  19101. var real___GLOBAL__sub_I_InputScriptingClasses_cpp = asm["__GLOBAL__sub_I_InputScriptingClasses_cpp"];
  19102. asm["__GLOBAL__sub_I_InputScriptingClasses_cpp"] = (function() {
  19103. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19104. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19105. return real___GLOBAL__sub_I_InputScriptingClasses_cpp.apply(null, arguments);
  19106. });
  19107. var real___GLOBAL__sub_I_LineRenderer_cpp = asm["__GLOBAL__sub_I_LineRenderer_cpp"];
  19108. asm["__GLOBAL__sub_I_LineRenderer_cpp"] = (function() {
  19109. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19110. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19111. return real___GLOBAL__sub_I_LineRenderer_cpp.apply(null, arguments);
  19112. });
  19113. var real___GLOBAL__sub_I_LogAssert_cpp = asm["__GLOBAL__sub_I_LogAssert_cpp"];
  19114. asm["__GLOBAL__sub_I_LogAssert_cpp"] = (function() {
  19115. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19116. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19117. return real___GLOBAL__sub_I_LogAssert_cpp.apply(null, arguments);
  19118. });
  19119. var real___GLOBAL__sub_I_Lump_libil2cpp_gc_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_gc_cpp"];
  19120. asm["__GLOBAL__sub_I_Lump_libil2cpp_gc_cpp"] = (function() {
  19121. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19122. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19123. return real___GLOBAL__sub_I_Lump_libil2cpp_gc_cpp.apply(null, arguments);
  19124. });
  19125. var real___GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp"];
  19126. asm["__GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp"] = (function() {
  19127. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19128. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19129. return real___GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp.apply(null, arguments);
  19130. });
  19131. var real___GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp"];
  19132. asm["__GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp"] = (function() {
  19133. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19134. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19135. return real___GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp.apply(null, arguments);
  19136. });
  19137. var real___GLOBAL__sub_I_Lump_libil2cpp_mono_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_mono_cpp"];
  19138. asm["__GLOBAL__sub_I_Lump_libil2cpp_mono_cpp"] = (function() {
  19139. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19140. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19141. return real___GLOBAL__sub_I_Lump_libil2cpp_mono_cpp.apply(null, arguments);
  19142. });
  19143. var real___GLOBAL__sub_I_Lump_libil2cpp_os_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_os_cpp"];
  19144. asm["__GLOBAL__sub_I_Lump_libil2cpp_os_cpp"] = (function() {
  19145. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19146. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19147. return real___GLOBAL__sub_I_Lump_libil2cpp_os_cpp.apply(null, arguments);
  19148. });
  19149. var real___GLOBAL__sub_I_Lump_libil2cpp_utils_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_utils_cpp"];
  19150. asm["__GLOBAL__sub_I_Lump_libil2cpp_utils_cpp"] = (function() {
  19151. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19152. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19153. return real___GLOBAL__sub_I_Lump_libil2cpp_utils_cpp.apply(null, arguments);
  19154. });
  19155. var real___GLOBAL__sub_I_Lump_libil2cpp_vm_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_vm_cpp"];
  19156. asm["__GLOBAL__sub_I_Lump_libil2cpp_vm_cpp"] = (function() {
  19157. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19158. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19159. return real___GLOBAL__sub_I_Lump_libil2cpp_vm_cpp.apply(null, arguments);
  19160. });
  19161. var real___GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp = asm["__GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp"];
  19162. asm["__GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp"] = (function() {
  19163. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19164. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19165. return real___GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp.apply(null, arguments);
  19166. });
  19167. var real___GLOBAL__sub_I_Mesh_cpp = asm["__GLOBAL__sub_I_Mesh_cpp"];
  19168. asm["__GLOBAL__sub_I_Mesh_cpp"] = (function() {
  19169. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19170. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19171. return real___GLOBAL__sub_I_Mesh_cpp.apply(null, arguments);
  19172. });
  19173. var real___GLOBAL__sub_I_Modules_AI_1_cpp = asm["__GLOBAL__sub_I_Modules_AI_1_cpp"];
  19174. asm["__GLOBAL__sub_I_Modules_AI_1_cpp"] = (function() {
  19175. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19176. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19177. return real___GLOBAL__sub_I_Modules_AI_1_cpp.apply(null, arguments);
  19178. });
  19179. var real___GLOBAL__sub_I_Modules_AI_Builder_0_cpp = asm["__GLOBAL__sub_I_Modules_AI_Builder_0_cpp"];
  19180. asm["__GLOBAL__sub_I_Modules_AI_Builder_0_cpp"] = (function() {
  19181. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19182. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19183. return real___GLOBAL__sub_I_Modules_AI_Builder_0_cpp.apply(null, arguments);
  19184. });
  19185. var real___GLOBAL__sub_I_Modules_AI_Crowd_0_cpp = asm["__GLOBAL__sub_I_Modules_AI_Crowd_0_cpp"];
  19186. asm["__GLOBAL__sub_I_Modules_AI_Crowd_0_cpp"] = (function() {
  19187. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19188. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19189. return real___GLOBAL__sub_I_Modules_AI_Crowd_0_cpp.apply(null, arguments);
  19190. });
  19191. var real___GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp = asm["__GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp"];
  19192. asm["__GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp"] = (function() {
  19193. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19194. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19195. return real___GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp.apply(null, arguments);
  19196. });
  19197. var real___GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp = asm["__GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp"];
  19198. asm["__GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp"] = (function() {
  19199. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19200. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19201. return real___GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp.apply(null, arguments);
  19202. });
  19203. var real___GLOBAL__sub_I_Modules_Animation_0_cpp = asm["__GLOBAL__sub_I_Modules_Animation_0_cpp"];
  19204. asm["__GLOBAL__sub_I_Modules_Animation_0_cpp"] = (function() {
  19205. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19206. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19207. return real___GLOBAL__sub_I_Modules_Animation_0_cpp.apply(null, arguments);
  19208. });
  19209. var real___GLOBAL__sub_I_Modules_Animation_2_cpp = asm["__GLOBAL__sub_I_Modules_Animation_2_cpp"];
  19210. asm["__GLOBAL__sub_I_Modules_Animation_2_cpp"] = (function() {
  19211. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19212. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19213. return real___GLOBAL__sub_I_Modules_Animation_2_cpp.apply(null, arguments);
  19214. });
  19215. var real___GLOBAL__sub_I_Modules_Animation_3_cpp = asm["__GLOBAL__sub_I_Modules_Animation_3_cpp"];
  19216. asm["__GLOBAL__sub_I_Modules_Animation_3_cpp"] = (function() {
  19217. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19218. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19219. return real___GLOBAL__sub_I_Modules_Animation_3_cpp.apply(null, arguments);
  19220. });
  19221. var real___GLOBAL__sub_I_Modules_Animation_4_cpp = asm["__GLOBAL__sub_I_Modules_Animation_4_cpp"];
  19222. asm["__GLOBAL__sub_I_Modules_Animation_4_cpp"] = (function() {
  19223. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19224. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19225. return real___GLOBAL__sub_I_Modules_Animation_4_cpp.apply(null, arguments);
  19226. });
  19227. var real___GLOBAL__sub_I_Modules_Animation_5_cpp = asm["__GLOBAL__sub_I_Modules_Animation_5_cpp"];
  19228. asm["__GLOBAL__sub_I_Modules_Animation_5_cpp"] = (function() {
  19229. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19230. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19231. return real___GLOBAL__sub_I_Modules_Animation_5_cpp.apply(null, arguments);
  19232. });
  19233. var real___GLOBAL__sub_I_Modules_Animation_6_cpp = asm["__GLOBAL__sub_I_Modules_Animation_6_cpp"];
  19234. asm["__GLOBAL__sub_I_Modules_Animation_6_cpp"] = (function() {
  19235. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19236. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19237. return real___GLOBAL__sub_I_Modules_Animation_6_cpp.apply(null, arguments);
  19238. });
  19239. var real___GLOBAL__sub_I_Modules_Animation_7_cpp = asm["__GLOBAL__sub_I_Modules_Animation_7_cpp"];
  19240. asm["__GLOBAL__sub_I_Modules_Animation_7_cpp"] = (function() {
  19241. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19242. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19243. return real___GLOBAL__sub_I_Modules_Animation_7_cpp.apply(null, arguments);
  19244. });
  19245. var real___GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp = asm["__GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp"];
  19246. asm["__GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp"] = (function() {
  19247. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19248. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19249. return real___GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp.apply(null, arguments);
  19250. });
  19251. var real___GLOBAL__sub_I_Modules_Animation_Director_0_cpp = asm["__GLOBAL__sub_I_Modules_Animation_Director_0_cpp"];
  19252. asm["__GLOBAL__sub_I_Modules_Animation_Director_0_cpp"] = (function() {
  19253. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19254. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19255. return real___GLOBAL__sub_I_Modules_Animation_Director_0_cpp.apply(null, arguments);
  19256. });
  19257. var real___GLOBAL__sub_I_Modules_Animation_Director_1_cpp = asm["__GLOBAL__sub_I_Modules_Animation_Director_1_cpp"];
  19258. asm["__GLOBAL__sub_I_Modules_Animation_Director_1_cpp"] = (function() {
  19259. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19260. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19261. return real___GLOBAL__sub_I_Modules_Animation_Director_1_cpp.apply(null, arguments);
  19262. });
  19263. var real___GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp"];
  19264. asm["__GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp"] = (function() {
  19265. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19266. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19267. return real___GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp.apply(null, arguments);
  19268. });
  19269. var real___GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp"];
  19270. asm["__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp"] = (function() {
  19271. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19272. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19273. return real___GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp.apply(null, arguments);
  19274. });
  19275. var real___GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp = asm["__GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp"];
  19276. asm["__GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp"] = (function() {
  19277. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19278. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19279. return real___GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp.apply(null, arguments);
  19280. });
  19281. var real___GLOBAL__sub_I_Modules_Audio_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Audio_Public_0_cpp"];
  19282. asm["__GLOBAL__sub_I_Modules_Audio_Public_0_cpp"] = (function() {
  19283. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19284. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19285. return real___GLOBAL__sub_I_Modules_Audio_Public_0_cpp.apply(null, arguments);
  19286. });
  19287. var real___GLOBAL__sub_I_Modules_Audio_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_Audio_Public_1_cpp"];
  19288. asm["__GLOBAL__sub_I_Modules_Audio_Public_1_cpp"] = (function() {
  19289. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19290. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19291. return real___GLOBAL__sub_I_Modules_Audio_Public_1_cpp.apply(null, arguments);
  19292. });
  19293. var real___GLOBAL__sub_I_Modules_Audio_Public_3_cpp = asm["__GLOBAL__sub_I_Modules_Audio_Public_3_cpp"];
  19294. asm["__GLOBAL__sub_I_Modules_Audio_Public_3_cpp"] = (function() {
  19295. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19296. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19297. return real___GLOBAL__sub_I_Modules_Audio_Public_3_cpp.apply(null, arguments);
  19298. });
  19299. var real___GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp = asm["__GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp"];
  19300. asm["__GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp"] = (function() {
  19301. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19302. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19303. return real___GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp.apply(null, arguments);
  19304. });
  19305. var real___GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp = asm["__GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp"];
  19306. asm["__GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp"] = (function() {
  19307. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19308. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19309. return real___GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp.apply(null, arguments);
  19310. });
  19311. var real___GLOBAL__sub_I_Modules_Cloth_0_cpp = asm["__GLOBAL__sub_I_Modules_Cloth_0_cpp"];
  19312. asm["__GLOBAL__sub_I_Modules_Cloth_0_cpp"] = (function() {
  19313. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19314. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19315. return real___GLOBAL__sub_I_Modules_Cloth_0_cpp.apply(null, arguments);
  19316. });
  19317. var real___GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp"];
  19318. asm["__GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp"] = (function() {
  19319. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19320. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19321. return real___GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp.apply(null, arguments);
  19322. });
  19323. var real___GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp"];
  19324. asm["__GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp"] = (function() {
  19325. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19326. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19327. return real___GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp.apply(null, arguments);
  19328. });
  19329. var real___GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp"];
  19330. asm["__GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp"] = (function() {
  19331. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19332. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19333. return real___GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp.apply(null, arguments);
  19334. });
  19335. var real___GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp = asm["__GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp"];
  19336. asm["__GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp"] = (function() {
  19337. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19338. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19339. return real___GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp.apply(null, arguments);
  19340. });
  19341. var real___GLOBAL__sub_I_Modules_Grid_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Grid_Public_0_cpp"];
  19342. asm["__GLOBAL__sub_I_Modules_Grid_Public_0_cpp"] = (function() {
  19343. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19344. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19345. return real___GLOBAL__sub_I_Modules_Grid_Public_0_cpp.apply(null, arguments);
  19346. });
  19347. var real___GLOBAL__sub_I_Modules_IMGUI_0_cpp = asm["__GLOBAL__sub_I_Modules_IMGUI_0_cpp"];
  19348. asm["__GLOBAL__sub_I_Modules_IMGUI_0_cpp"] = (function() {
  19349. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19350. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19351. return real___GLOBAL__sub_I_Modules_IMGUI_0_cpp.apply(null, arguments);
  19352. });
  19353. var real___GLOBAL__sub_I_Modules_IMGUI_1_cpp = asm["__GLOBAL__sub_I_Modules_IMGUI_1_cpp"];
  19354. asm["__GLOBAL__sub_I_Modules_IMGUI_1_cpp"] = (function() {
  19355. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19356. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19357. return real___GLOBAL__sub_I_Modules_IMGUI_1_cpp.apply(null, arguments);
  19358. });
  19359. var real___GLOBAL__sub_I_Modules_Input_Private_0_cpp = asm["__GLOBAL__sub_I_Modules_Input_Private_0_cpp"];
  19360. asm["__GLOBAL__sub_I_Modules_Input_Private_0_cpp"] = (function() {
  19361. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19362. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19363. return real___GLOBAL__sub_I_Modules_Input_Private_0_cpp.apply(null, arguments);
  19364. });
  19365. var real___GLOBAL__sub_I_Modules_ParticleSystem_0_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_0_cpp"];
  19366. asm["__GLOBAL__sub_I_Modules_ParticleSystem_0_cpp"] = (function() {
  19367. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19368. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19369. return real___GLOBAL__sub_I_Modules_ParticleSystem_0_cpp.apply(null, arguments);
  19370. });
  19371. var real___GLOBAL__sub_I_Modules_ParticleSystem_1_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_1_cpp"];
  19372. asm["__GLOBAL__sub_I_Modules_ParticleSystem_1_cpp"] = (function() {
  19373. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19374. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19375. return real___GLOBAL__sub_I_Modules_ParticleSystem_1_cpp.apply(null, arguments);
  19376. });
  19377. var real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp"];
  19378. asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp"] = (function() {
  19379. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19380. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19381. return real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp.apply(null, arguments);
  19382. });
  19383. var real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp"];
  19384. asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp"] = (function() {
  19385. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19386. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19387. return real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp.apply(null, arguments);
  19388. });
  19389. var real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp"];
  19390. asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp"] = (function() {
  19391. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19392. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19393. return real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp.apply(null, arguments);
  19394. });
  19395. var real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp"];
  19396. asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp"] = (function() {
  19397. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19398. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19399. return real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp.apply(null, arguments);
  19400. });
  19401. var real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp"];
  19402. asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp"] = (function() {
  19403. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19404. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19405. return real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp.apply(null, arguments);
  19406. });
  19407. var real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp = asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp"];
  19408. asm["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp"] = (function() {
  19409. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19410. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19411. return real___GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp.apply(null, arguments);
  19412. });
  19413. var real___GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp = asm["__GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp"];
  19414. asm["__GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp"] = (function() {
  19415. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19416. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19417. return real___GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp.apply(null, arguments);
  19418. });
  19419. var real___GLOBAL__sub_I_Modules_Physics2D_0_cpp = asm["__GLOBAL__sub_I_Modules_Physics2D_0_cpp"];
  19420. asm["__GLOBAL__sub_I_Modules_Physics2D_0_cpp"] = (function() {
  19421. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19422. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19423. return real___GLOBAL__sub_I_Modules_Physics2D_0_cpp.apply(null, arguments);
  19424. });
  19425. var real___GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp"];
  19426. asm["__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp"] = (function() {
  19427. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19428. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19429. return real___GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp.apply(null, arguments);
  19430. });
  19431. var real___GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp"];
  19432. asm["__GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp"] = (function() {
  19433. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19434. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19435. return real___GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp.apply(null, arguments);
  19436. });
  19437. var real___GLOBAL__sub_I_Modules_Physics_0_cpp = asm["__GLOBAL__sub_I_Modules_Physics_0_cpp"];
  19438. asm["__GLOBAL__sub_I_Modules_Physics_0_cpp"] = (function() {
  19439. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19440. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19441. return real___GLOBAL__sub_I_Modules_Physics_0_cpp.apply(null, arguments);
  19442. });
  19443. var real___GLOBAL__sub_I_Modules_Physics_2_cpp = asm["__GLOBAL__sub_I_Modules_Physics_2_cpp"];
  19444. asm["__GLOBAL__sub_I_Modules_Physics_2_cpp"] = (function() {
  19445. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19446. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19447. return real___GLOBAL__sub_I_Modules_Physics_2_cpp.apply(null, arguments);
  19448. });
  19449. var real___GLOBAL__sub_I_Modules_Physics_3_cpp = asm["__GLOBAL__sub_I_Modules_Physics_3_cpp"];
  19450. asm["__GLOBAL__sub_I_Modules_Physics_3_cpp"] = (function() {
  19451. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19452. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19453. return real___GLOBAL__sub_I_Modules_Physics_3_cpp.apply(null, arguments);
  19454. });
  19455. var real___GLOBAL__sub_I_Modules_Physics_4_cpp = asm["__GLOBAL__sub_I_Modules_Physics_4_cpp"];
  19456. asm["__GLOBAL__sub_I_Modules_Physics_4_cpp"] = (function() {
  19457. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19458. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19459. return real___GLOBAL__sub_I_Modules_Physics_4_cpp.apply(null, arguments);
  19460. });
  19461. var real___GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp = asm["__GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp"];
  19462. asm["__GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp"] = (function() {
  19463. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19464. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19465. return real___GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp.apply(null, arguments);
  19466. });
  19467. var real___GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp = asm["__GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp"];
  19468. asm["__GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp"] = (function() {
  19469. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19470. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19471. return real___GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp.apply(null, arguments);
  19472. });
  19473. var real___GLOBAL__sub_I_Modules_Profiler_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp"];
  19474. asm["__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp"] = (function() {
  19475. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19476. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19477. return real___GLOBAL__sub_I_Modules_Profiler_Public_0_cpp.apply(null, arguments);
  19478. });
  19479. var real___GLOBAL__sub_I_Modules_Profiler_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_Profiler_Public_1_cpp"];
  19480. asm["__GLOBAL__sub_I_Modules_Profiler_Public_1_cpp"] = (function() {
  19481. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19482. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19483. return real___GLOBAL__sub_I_Modules_Profiler_Public_1_cpp.apply(null, arguments);
  19484. });
  19485. var real___GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp = asm["__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp"];
  19486. asm["__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp"] = (function() {
  19487. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19488. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19489. return real___GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp.apply(null, arguments);
  19490. });
  19491. var real___GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp = asm["__GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp"];
  19492. asm["__GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp"] = (function() {
  19493. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19494. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19495. return real___GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp.apply(null, arguments);
  19496. });
  19497. var real___GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp = asm["__GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp"];
  19498. asm["__GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp"] = (function() {
  19499. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19500. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19501. return real___GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp.apply(null, arguments);
  19502. });
  19503. var real___GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp = asm["__GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp"];
  19504. asm["__GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp"] = (function() {
  19505. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19506. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19507. return real___GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp.apply(null, arguments);
  19508. });
  19509. var real___GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp = asm["__GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp"];
  19510. asm["__GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp"] = (function() {
  19511. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19512. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19513. return real___GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp.apply(null, arguments);
  19514. });
  19515. var real___GLOBAL__sub_I_Modules_Subsystems_0_cpp = asm["__GLOBAL__sub_I_Modules_Subsystems_0_cpp"];
  19516. asm["__GLOBAL__sub_I_Modules_Subsystems_0_cpp"] = (function() {
  19517. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19518. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19519. return real___GLOBAL__sub_I_Modules_Subsystems_0_cpp.apply(null, arguments);
  19520. });
  19521. var real___GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp = asm["__GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp"];
  19522. asm["__GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp"] = (function() {
  19523. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19524. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19525. return real___GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp.apply(null, arguments);
  19526. });
  19527. var real___GLOBAL__sub_I_Modules_Terrain_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp"];
  19528. asm["__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp"] = (function() {
  19529. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19530. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19531. return real___GLOBAL__sub_I_Modules_Terrain_Public_0_cpp.apply(null, arguments);
  19532. });
  19533. var real___GLOBAL__sub_I_Modules_Terrain_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp"];
  19534. asm["__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp"] = (function() {
  19535. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19536. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19537. return real___GLOBAL__sub_I_Modules_Terrain_Public_1_cpp.apply(null, arguments);
  19538. });
  19539. var real___GLOBAL__sub_I_Modules_Terrain_Public_2_cpp = asm["__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp"];
  19540. asm["__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp"] = (function() {
  19541. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19542. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19543. return real___GLOBAL__sub_I_Modules_Terrain_Public_2_cpp.apply(null, arguments);
  19544. });
  19545. var real___GLOBAL__sub_I_Modules_Terrain_Public_3_cpp = asm["__GLOBAL__sub_I_Modules_Terrain_Public_3_cpp"];
  19546. asm["__GLOBAL__sub_I_Modules_Terrain_Public_3_cpp"] = (function() {
  19547. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19548. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19549. return real___GLOBAL__sub_I_Modules_Terrain_Public_3_cpp.apply(null, arguments);
  19550. });
  19551. var real___GLOBAL__sub_I_Modules_Terrain_VR_0_cpp = asm["__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp"];
  19552. asm["__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp"] = (function() {
  19553. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19554. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19555. return real___GLOBAL__sub_I_Modules_Terrain_VR_0_cpp.apply(null, arguments);
  19556. });
  19557. var real___GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp = asm["__GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp"];
  19558. asm["__GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp"] = (function() {
  19559. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19560. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19561. return real___GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp.apply(null, arguments);
  19562. });
  19563. var real___GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp"];
  19564. asm["__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp"] = (function() {
  19565. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19566. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19567. return real___GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp.apply(null, arguments);
  19568. });
  19569. var real___GLOBAL__sub_I_Modules_Tilemap_0_cpp = asm["__GLOBAL__sub_I_Modules_Tilemap_0_cpp"];
  19570. asm["__GLOBAL__sub_I_Modules_Tilemap_0_cpp"] = (function() {
  19571. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19572. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19573. return real___GLOBAL__sub_I_Modules_Tilemap_0_cpp.apply(null, arguments);
  19574. });
  19575. var real___GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp"];
  19576. asm["__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp"] = (function() {
  19577. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19578. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19579. return real___GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp.apply(null, arguments);
  19580. });
  19581. var real___GLOBAL__sub_I_Modules_UIElementsNative_0_cpp = asm["__GLOBAL__sub_I_Modules_UIElementsNative_0_cpp"];
  19582. asm["__GLOBAL__sub_I_Modules_UIElementsNative_0_cpp"] = (function() {
  19583. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19584. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19585. return real___GLOBAL__sub_I_Modules_UIElementsNative_0_cpp.apply(null, arguments);
  19586. });
  19587. var real___GLOBAL__sub_I_Modules_UI_0_cpp = asm["__GLOBAL__sub_I_Modules_UI_0_cpp"];
  19588. asm["__GLOBAL__sub_I_Modules_UI_0_cpp"] = (function() {
  19589. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19590. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19591. return real___GLOBAL__sub_I_Modules_UI_0_cpp.apply(null, arguments);
  19592. });
  19593. var real___GLOBAL__sub_I_Modules_UI_1_cpp = asm["__GLOBAL__sub_I_Modules_UI_1_cpp"];
  19594. asm["__GLOBAL__sub_I_Modules_UI_1_cpp"] = (function() {
  19595. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19596. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19597. return real___GLOBAL__sub_I_Modules_UI_1_cpp.apply(null, arguments);
  19598. });
  19599. var real___GLOBAL__sub_I_Modules_UI_2_cpp = asm["__GLOBAL__sub_I_Modules_UI_2_cpp"];
  19600. asm["__GLOBAL__sub_I_Modules_UI_2_cpp"] = (function() {
  19601. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19602. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19603. return real___GLOBAL__sub_I_Modules_UI_2_cpp.apply(null, arguments);
  19604. });
  19605. var real___GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp = asm["__GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp"];
  19606. asm["__GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp"] = (function() {
  19607. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19608. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19609. return real___GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp.apply(null, arguments);
  19610. });
  19611. var real___GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp"];
  19612. asm["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp"] = (function() {
  19613. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19614. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19615. return real___GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp.apply(null, arguments);
  19616. });
  19617. var real___GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp = asm["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp"];
  19618. asm["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp"] = (function() {
  19619. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19620. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19621. return real___GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp.apply(null, arguments);
  19622. });
  19623. var real___GLOBAL__sub_I_Modules_VFX_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_VFX_Public_0_cpp"];
  19624. asm["__GLOBAL__sub_I_Modules_VFX_Public_0_cpp"] = (function() {
  19625. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19626. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19627. return real___GLOBAL__sub_I_Modules_VFX_Public_0_cpp.apply(null, arguments);
  19628. });
  19629. var real___GLOBAL__sub_I_Modules_VFX_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_VFX_Public_1_cpp"];
  19630. asm["__GLOBAL__sub_I_Modules_VFX_Public_1_cpp"] = (function() {
  19631. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19632. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19633. return real___GLOBAL__sub_I_Modules_VFX_Public_1_cpp.apply(null, arguments);
  19634. });
  19635. var real___GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp = asm["__GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp"];
  19636. asm["__GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp"] = (function() {
  19637. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19638. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19639. return real___GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp.apply(null, arguments);
  19640. });
  19641. var real___GLOBAL__sub_I_Modules_VR_0_cpp = asm["__GLOBAL__sub_I_Modules_VR_0_cpp"];
  19642. asm["__GLOBAL__sub_I_Modules_VR_0_cpp"] = (function() {
  19643. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19644. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19645. return real___GLOBAL__sub_I_Modules_VR_0_cpp.apply(null, arguments);
  19646. });
  19647. var real___GLOBAL__sub_I_Modules_VR_1_cpp = asm["__GLOBAL__sub_I_Modules_VR_1_cpp"];
  19648. asm["__GLOBAL__sub_I_Modules_VR_1_cpp"] = (function() {
  19649. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19650. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19651. return real___GLOBAL__sub_I_Modules_VR_1_cpp.apply(null, arguments);
  19652. });
  19653. var real___GLOBAL__sub_I_Modules_Vehicles_0_cpp = asm["__GLOBAL__sub_I_Modules_Vehicles_0_cpp"];
  19654. asm["__GLOBAL__sub_I_Modules_Vehicles_0_cpp"] = (function() {
  19655. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19656. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19657. return real___GLOBAL__sub_I_Modules_Vehicles_0_cpp.apply(null, arguments);
  19658. });
  19659. var real___GLOBAL__sub_I_Modules_Video_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_Video_Public_0_cpp"];
  19660. asm["__GLOBAL__sub_I_Modules_Video_Public_0_cpp"] = (function() {
  19661. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19662. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19663. return real___GLOBAL__sub_I_Modules_Video_Public_0_cpp.apply(null, arguments);
  19664. });
  19665. var real___GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp = asm["__GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp"];
  19666. asm["__GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp"] = (function() {
  19667. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19668. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19669. return real___GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp.apply(null, arguments);
  19670. });
  19671. var real___GLOBAL__sub_I_Modules_XR_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_0_cpp"];
  19672. asm["__GLOBAL__sub_I_Modules_XR_0_cpp"] = (function() {
  19673. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19674. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19675. return real___GLOBAL__sub_I_Modules_XR_0_cpp.apply(null, arguments);
  19676. });
  19677. var real___GLOBAL__sub_I_Modules_XR_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_Public_0_cpp"];
  19678. asm["__GLOBAL__sub_I_Modules_XR_Public_0_cpp"] = (function() {
  19679. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19680. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19681. return real___GLOBAL__sub_I_Modules_XR_Public_0_cpp.apply(null, arguments);
  19682. });
  19683. var real___GLOBAL__sub_I_Modules_XR_Stats_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_Stats_0_cpp"];
  19684. asm["__GLOBAL__sub_I_Modules_XR_Stats_0_cpp"] = (function() {
  19685. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19686. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19687. return real___GLOBAL__sub_I_Modules_XR_Stats_0_cpp.apply(null, arguments);
  19688. });
  19689. var real___GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp"];
  19690. asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp"] = (function() {
  19691. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19692. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19693. return real___GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp.apply(null, arguments);
  19694. });
  19695. var real___GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp = asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp"];
  19696. asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp"] = (function() {
  19697. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19698. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19699. return real___GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp.apply(null, arguments);
  19700. });
  19701. var real___GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp"];
  19702. asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp"] = (function() {
  19703. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19704. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19705. return real___GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp.apply(null, arguments);
  19706. });
  19707. var real___GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp = asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp"];
  19708. asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp"] = (function() {
  19709. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19710. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19711. return real___GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp.apply(null, arguments);
  19712. });
  19713. var real___GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp"];
  19714. asm["__GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp"] = (function() {
  19715. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19716. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19717. return real___GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp.apply(null, arguments);
  19718. });
  19719. var real___GLOBAL__sub_I_Modules_XR_Tracing_0_cpp = asm["__GLOBAL__sub_I_Modules_XR_Tracing_0_cpp"];
  19720. asm["__GLOBAL__sub_I_Modules_XR_Tracing_0_cpp"] = (function() {
  19721. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19722. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19723. return real___GLOBAL__sub_I_Modules_XR_Tracing_0_cpp.apply(null, arguments);
  19724. });
  19725. var real___GLOBAL__sub_I_NoiseModule_cpp = asm["__GLOBAL__sub_I_NoiseModule_cpp"];
  19726. asm["__GLOBAL__sub_I_NoiseModule_cpp"] = (function() {
  19727. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19728. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19729. return real___GLOBAL__sub_I_NoiseModule_cpp.apply(null, arguments);
  19730. });
  19731. var real___GLOBAL__sub_I_ParticleSystemBindings_gen_cpp = asm["__GLOBAL__sub_I_ParticleSystemBindings_gen_cpp"];
  19732. asm["__GLOBAL__sub_I_ParticleSystemBindings_gen_cpp"] = (function() {
  19733. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19734. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19735. return real___GLOBAL__sub_I_ParticleSystemBindings_gen_cpp.apply(null, arguments);
  19736. });
  19737. var real___GLOBAL__sub_I_ParticleSystemGeometryJob_cpp = asm["__GLOBAL__sub_I_ParticleSystemGeometryJob_cpp"];
  19738. asm["__GLOBAL__sub_I_ParticleSystemGeometryJob_cpp"] = (function() {
  19739. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19740. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19741. return real___GLOBAL__sub_I_ParticleSystemGeometryJob_cpp.apply(null, arguments);
  19742. });
  19743. var real___GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp = asm["__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp"];
  19744. asm["__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp"] = (function() {
  19745. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19746. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19747. return real___GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp.apply(null, arguments);
  19748. });
  19749. var real___GLOBAL__sub_I_Physics2DScriptingClasses_cpp = asm["__GLOBAL__sub_I_Physics2DScriptingClasses_cpp"];
  19750. asm["__GLOBAL__sub_I_Physics2DScriptingClasses_cpp"] = (function() {
  19751. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19752. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19753. return real___GLOBAL__sub_I_Physics2DScriptingClasses_cpp.apply(null, arguments);
  19754. });
  19755. var real___GLOBAL__sub_I_PhysicsBindings_gen_cpp = asm["__GLOBAL__sub_I_PhysicsBindings_gen_cpp"];
  19756. asm["__GLOBAL__sub_I_PhysicsBindings_gen_cpp"] = (function() {
  19757. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19758. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19759. return real___GLOBAL__sub_I_PhysicsBindings_gen_cpp.apply(null, arguments);
  19760. });
  19761. var real___GLOBAL__sub_I_PhysicsQuery_cpp = asm["__GLOBAL__sub_I_PhysicsQuery_cpp"];
  19762. asm["__GLOBAL__sub_I_PhysicsQuery_cpp"] = (function() {
  19763. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19764. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19765. return real___GLOBAL__sub_I_PhysicsQuery_cpp.apply(null, arguments);
  19766. });
  19767. var real___GLOBAL__sub_I_PhysicsScene_cpp = asm["__GLOBAL__sub_I_PhysicsScene_cpp"];
  19768. asm["__GLOBAL__sub_I_PhysicsScene_cpp"] = (function() {
  19769. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19770. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19771. return real___GLOBAL__sub_I_PhysicsScene_cpp.apply(null, arguments);
  19772. });
  19773. var real___GLOBAL__sub_I_PhysicsScriptingClasses_cpp = asm["__GLOBAL__sub_I_PhysicsScriptingClasses_cpp"];
  19774. asm["__GLOBAL__sub_I_PhysicsScriptingClasses_cpp"] = (function() {
  19775. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19776. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19777. return real___GLOBAL__sub_I_PhysicsScriptingClasses_cpp.apply(null, arguments);
  19778. });
  19779. var real___GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp = asm["__GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp"];
  19780. asm["__GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp"] = (function() {
  19781. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19782. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19783. return real___GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp.apply(null, arguments);
  19784. });
  19785. var real___GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp = asm["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp"];
  19786. asm["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp"] = (function() {
  19787. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19788. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19789. return real___GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp.apply(null, arguments);
  19790. });
  19791. var real___GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp = asm["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp"];
  19792. asm["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp"] = (function() {
  19793. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19794. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19795. return real___GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp.apply(null, arguments);
  19796. });
  19797. var real___GLOBAL__sub_I_PluginInterfaceVR_cpp = asm["__GLOBAL__sub_I_PluginInterfaceVR_cpp"];
  19798. asm["__GLOBAL__sub_I_PluginInterfaceVR_cpp"] = (function() {
  19799. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19800. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19801. return real___GLOBAL__sub_I_PluginInterfaceVR_cpp.apply(null, arguments);
  19802. });
  19803. var real___GLOBAL__sub_I_QualitySettings_cpp = asm["__GLOBAL__sub_I_QualitySettings_cpp"];
  19804. asm["__GLOBAL__sub_I_QualitySettings_cpp"] = (function() {
  19805. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19806. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19807. return real___GLOBAL__sub_I_QualitySettings_cpp.apply(null, arguments);
  19808. });
  19809. var real___GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp = asm["__GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp"];
  19810. asm["__GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp"] = (function() {
  19811. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19812. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19813. return real___GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp.apply(null, arguments);
  19814. });
  19815. var real___GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp = asm["__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp"];
  19816. asm["__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp"] = (function() {
  19817. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19818. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19819. return real___GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp.apply(null, arguments);
  19820. });
  19821. var real___GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp = asm["__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp"];
  19822. asm["__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp"] = (function() {
  19823. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19824. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19825. return real___GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp.apply(null, arguments);
  19826. });
  19827. var real___GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp = asm["__GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp"];
  19828. asm["__GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp"] = (function() {
  19829. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19830. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19831. return real___GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp.apply(null, arguments);
  19832. });
  19833. var real___GLOBAL__sub_I_Runtime_Allocator_0_cpp = asm["__GLOBAL__sub_I_Runtime_Allocator_0_cpp"];
  19834. asm["__GLOBAL__sub_I_Runtime_Allocator_0_cpp"] = (function() {
  19835. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19836. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19837. return real___GLOBAL__sub_I_Runtime_Allocator_0_cpp.apply(null, arguments);
  19838. });
  19839. var real___GLOBAL__sub_I_Runtime_Allocator_2_cpp = asm["__GLOBAL__sub_I_Runtime_Allocator_2_cpp"];
  19840. asm["__GLOBAL__sub_I_Runtime_Allocator_2_cpp"] = (function() {
  19841. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19842. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19843. return real___GLOBAL__sub_I_Runtime_Allocator_2_cpp.apply(null, arguments);
  19844. });
  19845. var real___GLOBAL__sub_I_Runtime_Allocator_3_cpp = asm["__GLOBAL__sub_I_Runtime_Allocator_3_cpp"];
  19846. asm["__GLOBAL__sub_I_Runtime_Allocator_3_cpp"] = (function() {
  19847. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19848. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19849. return real___GLOBAL__sub_I_Runtime_Allocator_3_cpp.apply(null, arguments);
  19850. });
  19851. var real___GLOBAL__sub_I_Runtime_Application_0_cpp = asm["__GLOBAL__sub_I_Runtime_Application_0_cpp"];
  19852. asm["__GLOBAL__sub_I_Runtime_Application_0_cpp"] = (function() {
  19853. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19854. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19855. return real___GLOBAL__sub_I_Runtime_Application_0_cpp.apply(null, arguments);
  19856. });
  19857. var real___GLOBAL__sub_I_Runtime_BaseClasses_0_cpp = asm["__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp"];
  19858. asm["__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp"] = (function() {
  19859. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19860. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19861. return real___GLOBAL__sub_I_Runtime_BaseClasses_0_cpp.apply(null, arguments);
  19862. });
  19863. var real___GLOBAL__sub_I_Runtime_BaseClasses_1_cpp = asm["__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp"];
  19864. asm["__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp"] = (function() {
  19865. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19866. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19867. return real___GLOBAL__sub_I_Runtime_BaseClasses_1_cpp.apply(null, arguments);
  19868. });
  19869. var real___GLOBAL__sub_I_Runtime_BaseClasses_2_cpp = asm["__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp"];
  19870. asm["__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp"] = (function() {
  19871. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19872. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19873. return real___GLOBAL__sub_I_Runtime_BaseClasses_2_cpp.apply(null, arguments);
  19874. });
  19875. var real___GLOBAL__sub_I_Runtime_BaseClasses_3_cpp = asm["__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp"];
  19876. asm["__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp"] = (function() {
  19877. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19878. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19879. return real___GLOBAL__sub_I_Runtime_BaseClasses_3_cpp.apply(null, arguments);
  19880. });
  19881. var real___GLOBAL__sub_I_Runtime_Burst_0_cpp = asm["__GLOBAL__sub_I_Runtime_Burst_0_cpp"];
  19882. asm["__GLOBAL__sub_I_Runtime_Burst_0_cpp"] = (function() {
  19883. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19884. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19885. return real___GLOBAL__sub_I_Runtime_Burst_0_cpp.apply(null, arguments);
  19886. });
  19887. var real___GLOBAL__sub_I_Runtime_Camera_0_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_0_cpp"];
  19888. asm["__GLOBAL__sub_I_Runtime_Camera_0_cpp"] = (function() {
  19889. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19890. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19891. return real___GLOBAL__sub_I_Runtime_Camera_0_cpp.apply(null, arguments);
  19892. });
  19893. var real___GLOBAL__sub_I_Runtime_Camera_1_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_1_cpp"];
  19894. asm["__GLOBAL__sub_I_Runtime_Camera_1_cpp"] = (function() {
  19895. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19896. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19897. return real___GLOBAL__sub_I_Runtime_Camera_1_cpp.apply(null, arguments);
  19898. });
  19899. var real___GLOBAL__sub_I_Runtime_Camera_2_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_2_cpp"];
  19900. asm["__GLOBAL__sub_I_Runtime_Camera_2_cpp"] = (function() {
  19901. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19902. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19903. return real___GLOBAL__sub_I_Runtime_Camera_2_cpp.apply(null, arguments);
  19904. });
  19905. var real___GLOBAL__sub_I_Runtime_Camera_3_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_3_cpp"];
  19906. asm["__GLOBAL__sub_I_Runtime_Camera_3_cpp"] = (function() {
  19907. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19908. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19909. return real___GLOBAL__sub_I_Runtime_Camera_3_cpp.apply(null, arguments);
  19910. });
  19911. var real___GLOBAL__sub_I_Runtime_Camera_4_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_4_cpp"];
  19912. asm["__GLOBAL__sub_I_Runtime_Camera_4_cpp"] = (function() {
  19913. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19914. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19915. return real___GLOBAL__sub_I_Runtime_Camera_4_cpp.apply(null, arguments);
  19916. });
  19917. var real___GLOBAL__sub_I_Runtime_Camera_5_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_5_cpp"];
  19918. asm["__GLOBAL__sub_I_Runtime_Camera_5_cpp"] = (function() {
  19919. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19920. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19921. return real___GLOBAL__sub_I_Runtime_Camera_5_cpp.apply(null, arguments);
  19922. });
  19923. var real___GLOBAL__sub_I_Runtime_Camera_6_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_6_cpp"];
  19924. asm["__GLOBAL__sub_I_Runtime_Camera_6_cpp"] = (function() {
  19925. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19926. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19927. return real___GLOBAL__sub_I_Runtime_Camera_6_cpp.apply(null, arguments);
  19928. });
  19929. var real___GLOBAL__sub_I_Runtime_Camera_7_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_7_cpp"];
  19930. asm["__GLOBAL__sub_I_Runtime_Camera_7_cpp"] = (function() {
  19931. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19932. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19933. return real___GLOBAL__sub_I_Runtime_Camera_7_cpp.apply(null, arguments);
  19934. });
  19935. var real___GLOBAL__sub_I_Runtime_Camera_8_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_8_cpp"];
  19936. asm["__GLOBAL__sub_I_Runtime_Camera_8_cpp"] = (function() {
  19937. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19938. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19939. return real___GLOBAL__sub_I_Runtime_Camera_8_cpp.apply(null, arguments);
  19940. });
  19941. var real___GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp"];
  19942. asm["__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp"] = (function() {
  19943. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19944. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19945. return real___GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp.apply(null, arguments);
  19946. });
  19947. var real___GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp"];
  19948. asm["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp"] = (function() {
  19949. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19950. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19951. return real___GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp.apply(null, arguments);
  19952. });
  19953. var real___GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp = asm["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp"];
  19954. asm["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp"] = (function() {
  19955. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19956. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19957. return real___GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp.apply(null, arguments);
  19958. });
  19959. var real___GLOBAL__sub_I_Runtime_Containers_0_cpp = asm["__GLOBAL__sub_I_Runtime_Containers_0_cpp"];
  19960. asm["__GLOBAL__sub_I_Runtime_Containers_0_cpp"] = (function() {
  19961. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19962. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19963. return real___GLOBAL__sub_I_Runtime_Containers_0_cpp.apply(null, arguments);
  19964. });
  19965. var real___GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp = asm["__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp"];
  19966. asm["__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp"] = (function() {
  19967. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19968. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19969. return real___GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp.apply(null, arguments);
  19970. });
  19971. var real___GLOBAL__sub_I_Runtime_Director_Core_0_cpp = asm["__GLOBAL__sub_I_Runtime_Director_Core_0_cpp"];
  19972. asm["__GLOBAL__sub_I_Runtime_Director_Core_0_cpp"] = (function() {
  19973. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19974. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19975. return real___GLOBAL__sub_I_Runtime_Director_Core_0_cpp.apply(null, arguments);
  19976. });
  19977. var real___GLOBAL__sub_I_Runtime_Director_Core_1_cpp = asm["__GLOBAL__sub_I_Runtime_Director_Core_1_cpp"];
  19978. asm["__GLOBAL__sub_I_Runtime_Director_Core_1_cpp"] = (function() {
  19979. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19980. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19981. return real___GLOBAL__sub_I_Runtime_Director_Core_1_cpp.apply(null, arguments);
  19982. });
  19983. var real___GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp = asm["__GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp"];
  19984. asm["__GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp"] = (function() {
  19985. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19986. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19987. return real___GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp.apply(null, arguments);
  19988. });
  19989. var real___GLOBAL__sub_I_Runtime_File_0_cpp = asm["__GLOBAL__sub_I_Runtime_File_0_cpp"];
  19990. asm["__GLOBAL__sub_I_Runtime_File_0_cpp"] = (function() {
  19991. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19992. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19993. return real___GLOBAL__sub_I_Runtime_File_0_cpp.apply(null, arguments);
  19994. });
  19995. var real___GLOBAL__sub_I_Runtime_GameCode_0_cpp = asm["__GLOBAL__sub_I_Runtime_GameCode_0_cpp"];
  19996. asm["__GLOBAL__sub_I_Runtime_GameCode_0_cpp"] = (function() {
  19997. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  19998. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  19999. return real___GLOBAL__sub_I_Runtime_GameCode_0_cpp.apply(null, arguments);
  20000. });
  20001. var real___GLOBAL__sub_I_Runtime_Geometry_1_cpp = asm["__GLOBAL__sub_I_Runtime_Geometry_1_cpp"];
  20002. asm["__GLOBAL__sub_I_Runtime_Geometry_1_cpp"] = (function() {
  20003. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20004. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20005. return real___GLOBAL__sub_I_Runtime_Geometry_1_cpp.apply(null, arguments);
  20006. });
  20007. var real___GLOBAL__sub_I_Runtime_Geometry_2_cpp = asm["__GLOBAL__sub_I_Runtime_Geometry_2_cpp"];
  20008. asm["__GLOBAL__sub_I_Runtime_Geometry_2_cpp"] = (function() {
  20009. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20010. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20011. return real___GLOBAL__sub_I_Runtime_Geometry_2_cpp.apply(null, arguments);
  20012. });
  20013. var real___GLOBAL__sub_I_Runtime_GfxDevice_1_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp"];
  20014. asm["__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp"] = (function() {
  20015. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20016. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20017. return real___GLOBAL__sub_I_Runtime_GfxDevice_1_cpp.apply(null, arguments);
  20018. });
  20019. var real___GLOBAL__sub_I_Runtime_GfxDevice_2_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp"];
  20020. asm["__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp"] = (function() {
  20021. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20022. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20023. return real___GLOBAL__sub_I_Runtime_GfxDevice_2_cpp.apply(null, arguments);
  20024. });
  20025. var real___GLOBAL__sub_I_Runtime_GfxDevice_3_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp"];
  20026. asm["__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp"] = (function() {
  20027. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20028. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20029. return real___GLOBAL__sub_I_Runtime_GfxDevice_3_cpp.apply(null, arguments);
  20030. });
  20031. var real___GLOBAL__sub_I_Runtime_GfxDevice_4_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_4_cpp"];
  20032. asm["__GLOBAL__sub_I_Runtime_GfxDevice_4_cpp"] = (function() {
  20033. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20034. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20035. return real___GLOBAL__sub_I_Runtime_GfxDevice_4_cpp.apply(null, arguments);
  20036. });
  20037. var real___GLOBAL__sub_I_Runtime_GfxDevice_5_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_5_cpp"];
  20038. asm["__GLOBAL__sub_I_Runtime_GfxDevice_5_cpp"] = (function() {
  20039. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20040. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20041. return real___GLOBAL__sub_I_Runtime_GfxDevice_5_cpp.apply(null, arguments);
  20042. });
  20043. var real___GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp"];
  20044. asm["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp"] = (function() {
  20045. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20046. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20047. return real___GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp.apply(null, arguments);
  20048. });
  20049. var real___GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp = asm["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp"];
  20050. asm["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp"] = (function() {
  20051. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20052. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20053. return real___GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp.apply(null, arguments);
  20054. });
  20055. var real___GLOBAL__sub_I_Runtime_Graphics_0_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_0_cpp"];
  20056. asm["__GLOBAL__sub_I_Runtime_Graphics_0_cpp"] = (function() {
  20057. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20058. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20059. return real___GLOBAL__sub_I_Runtime_Graphics_0_cpp.apply(null, arguments);
  20060. });
  20061. var real___GLOBAL__sub_I_Runtime_Graphics_10_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_10_cpp"];
  20062. asm["__GLOBAL__sub_I_Runtime_Graphics_10_cpp"] = (function() {
  20063. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20064. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20065. return real___GLOBAL__sub_I_Runtime_Graphics_10_cpp.apply(null, arguments);
  20066. });
  20067. var real___GLOBAL__sub_I_Runtime_Graphics_11_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_11_cpp"];
  20068. asm["__GLOBAL__sub_I_Runtime_Graphics_11_cpp"] = (function() {
  20069. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20070. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20071. return real___GLOBAL__sub_I_Runtime_Graphics_11_cpp.apply(null, arguments);
  20072. });
  20073. var real___GLOBAL__sub_I_Runtime_Graphics_12_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_12_cpp"];
  20074. asm["__GLOBAL__sub_I_Runtime_Graphics_12_cpp"] = (function() {
  20075. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20076. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20077. return real___GLOBAL__sub_I_Runtime_Graphics_12_cpp.apply(null, arguments);
  20078. });
  20079. var real___GLOBAL__sub_I_Runtime_Graphics_1_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_1_cpp"];
  20080. asm["__GLOBAL__sub_I_Runtime_Graphics_1_cpp"] = (function() {
  20081. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20082. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20083. return real___GLOBAL__sub_I_Runtime_Graphics_1_cpp.apply(null, arguments);
  20084. });
  20085. var real___GLOBAL__sub_I_Runtime_Graphics_2_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_2_cpp"];
  20086. asm["__GLOBAL__sub_I_Runtime_Graphics_2_cpp"] = (function() {
  20087. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20088. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20089. return real___GLOBAL__sub_I_Runtime_Graphics_2_cpp.apply(null, arguments);
  20090. });
  20091. var real___GLOBAL__sub_I_Runtime_Graphics_4_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_4_cpp"];
  20092. asm["__GLOBAL__sub_I_Runtime_Graphics_4_cpp"] = (function() {
  20093. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20094. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20095. return real___GLOBAL__sub_I_Runtime_Graphics_4_cpp.apply(null, arguments);
  20096. });
  20097. var real___GLOBAL__sub_I_Runtime_Graphics_5_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_5_cpp"];
  20098. asm["__GLOBAL__sub_I_Runtime_Graphics_5_cpp"] = (function() {
  20099. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20100. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20101. return real___GLOBAL__sub_I_Runtime_Graphics_5_cpp.apply(null, arguments);
  20102. });
  20103. var real___GLOBAL__sub_I_Runtime_Graphics_6_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_6_cpp"];
  20104. asm["__GLOBAL__sub_I_Runtime_Graphics_6_cpp"] = (function() {
  20105. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20106. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20107. return real___GLOBAL__sub_I_Runtime_Graphics_6_cpp.apply(null, arguments);
  20108. });
  20109. var real___GLOBAL__sub_I_Runtime_Graphics_8_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_8_cpp"];
  20110. asm["__GLOBAL__sub_I_Runtime_Graphics_8_cpp"] = (function() {
  20111. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20112. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20113. return real___GLOBAL__sub_I_Runtime_Graphics_8_cpp.apply(null, arguments);
  20114. });
  20115. var real___GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp"];
  20116. asm["__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp"] = (function() {
  20117. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20118. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20119. return real___GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp.apply(null, arguments);
  20120. });
  20121. var real___GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp"];
  20122. asm["__GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp"] = (function() {
  20123. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20124. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20125. return real___GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp.apply(null, arguments);
  20126. });
  20127. var real___GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp"];
  20128. asm["__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp"] = (function() {
  20129. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20130. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20131. return real___GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp.apply(null, arguments);
  20132. });
  20133. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp"];
  20134. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp"] = (function() {
  20135. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20136. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20137. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp.apply(null, arguments);
  20138. });
  20139. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp"];
  20140. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp"] = (function() {
  20141. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20142. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20143. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp.apply(null, arguments);
  20144. });
  20145. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp"];
  20146. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp"] = (function() {
  20147. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20148. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20149. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp.apply(null, arguments);
  20150. });
  20151. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp"];
  20152. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp"] = (function() {
  20153. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20154. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20155. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp.apply(null, arguments);
  20156. });
  20157. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp"];
  20158. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp"] = (function() {
  20159. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20160. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20161. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp.apply(null, arguments);
  20162. });
  20163. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp"];
  20164. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp"] = (function() {
  20165. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20166. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20167. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp.apply(null, arguments);
  20168. });
  20169. var real___GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp"];
  20170. asm["__GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp"] = (function() {
  20171. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20172. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20173. return real___GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp.apply(null, arguments);
  20174. });
  20175. var real___GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp"];
  20176. asm["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp"] = (function() {
  20177. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20178. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20179. return real___GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp.apply(null, arguments);
  20180. });
  20181. var real___GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp = asm["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp"];
  20182. asm["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp"] = (function() {
  20183. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20184. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20185. return real___GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp.apply(null, arguments);
  20186. });
  20187. var real___GLOBAL__sub_I_Runtime_Input_0_cpp = asm["__GLOBAL__sub_I_Runtime_Input_0_cpp"];
  20188. asm["__GLOBAL__sub_I_Runtime_Input_0_cpp"] = (function() {
  20189. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20190. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20191. return real___GLOBAL__sub_I_Runtime_Input_0_cpp.apply(null, arguments);
  20192. });
  20193. var real___GLOBAL__sub_I_Runtime_Interfaces_0_cpp = asm["__GLOBAL__sub_I_Runtime_Interfaces_0_cpp"];
  20194. asm["__GLOBAL__sub_I_Runtime_Interfaces_0_cpp"] = (function() {
  20195. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20196. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20197. return real___GLOBAL__sub_I_Runtime_Interfaces_0_cpp.apply(null, arguments);
  20198. });
  20199. var real___GLOBAL__sub_I_Runtime_Interfaces_1_cpp = asm["__GLOBAL__sub_I_Runtime_Interfaces_1_cpp"];
  20200. asm["__GLOBAL__sub_I_Runtime_Interfaces_1_cpp"] = (function() {
  20201. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20202. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20203. return real___GLOBAL__sub_I_Runtime_Interfaces_1_cpp.apply(null, arguments);
  20204. });
  20205. var real___GLOBAL__sub_I_Runtime_Interfaces_3_cpp = asm["__GLOBAL__sub_I_Runtime_Interfaces_3_cpp"];
  20206. asm["__GLOBAL__sub_I_Runtime_Interfaces_3_cpp"] = (function() {
  20207. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20208. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20209. return real___GLOBAL__sub_I_Runtime_Interfaces_3_cpp.apply(null, arguments);
  20210. });
  20211. var real___GLOBAL__sub_I_Runtime_Jobs_0_cpp = asm["__GLOBAL__sub_I_Runtime_Jobs_0_cpp"];
  20212. asm["__GLOBAL__sub_I_Runtime_Jobs_0_cpp"] = (function() {
  20213. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20214. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20215. return real___GLOBAL__sub_I_Runtime_Jobs_0_cpp.apply(null, arguments);
  20216. });
  20217. var real___GLOBAL__sub_I_Runtime_Jobs_1_cpp = asm["__GLOBAL__sub_I_Runtime_Jobs_1_cpp"];
  20218. asm["__GLOBAL__sub_I_Runtime_Jobs_1_cpp"] = (function() {
  20219. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20220. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20221. return real___GLOBAL__sub_I_Runtime_Jobs_1_cpp.apply(null, arguments);
  20222. });
  20223. var real___GLOBAL__sub_I_Runtime_Jobs_2_cpp = asm["__GLOBAL__sub_I_Runtime_Jobs_2_cpp"];
  20224. asm["__GLOBAL__sub_I_Runtime_Jobs_2_cpp"] = (function() {
  20225. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20226. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20227. return real___GLOBAL__sub_I_Runtime_Jobs_2_cpp.apply(null, arguments);
  20228. });
  20229. var real___GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp = asm["__GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp"];
  20230. asm["__GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp"] = (function() {
  20231. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20232. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20233. return real___GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp.apply(null, arguments);
  20234. });
  20235. var real___GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp = asm["__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp"];
  20236. asm["__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp"] = (function() {
  20237. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20238. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20239. return real___GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp.apply(null, arguments);
  20240. });
  20241. var real___GLOBAL__sub_I_Runtime_Math_2_cpp = asm["__GLOBAL__sub_I_Runtime_Math_2_cpp"];
  20242. asm["__GLOBAL__sub_I_Runtime_Math_2_cpp"] = (function() {
  20243. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20244. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20245. return real___GLOBAL__sub_I_Runtime_Math_2_cpp.apply(null, arguments);
  20246. });
  20247. var real___GLOBAL__sub_I_Runtime_Math_Random_0_cpp = asm["__GLOBAL__sub_I_Runtime_Math_Random_0_cpp"];
  20248. asm["__GLOBAL__sub_I_Runtime_Math_Random_0_cpp"] = (function() {
  20249. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20250. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20251. return real___GLOBAL__sub_I_Runtime_Math_Random_0_cpp.apply(null, arguments);
  20252. });
  20253. var real___GLOBAL__sub_I_Runtime_Misc_0_cpp = asm["__GLOBAL__sub_I_Runtime_Misc_0_cpp"];
  20254. asm["__GLOBAL__sub_I_Runtime_Misc_0_cpp"] = (function() {
  20255. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20256. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20257. return real___GLOBAL__sub_I_Runtime_Misc_0_cpp.apply(null, arguments);
  20258. });
  20259. var real___GLOBAL__sub_I_Runtime_Misc_1_cpp = asm["__GLOBAL__sub_I_Runtime_Misc_1_cpp"];
  20260. asm["__GLOBAL__sub_I_Runtime_Misc_1_cpp"] = (function() {
  20261. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20262. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20263. return real___GLOBAL__sub_I_Runtime_Misc_1_cpp.apply(null, arguments);
  20264. });
  20265. var real___GLOBAL__sub_I_Runtime_Misc_2_cpp = asm["__GLOBAL__sub_I_Runtime_Misc_2_cpp"];
  20266. asm["__GLOBAL__sub_I_Runtime_Misc_2_cpp"] = (function() {
  20267. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20268. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20269. return real___GLOBAL__sub_I_Runtime_Misc_2_cpp.apply(null, arguments);
  20270. });
  20271. var real___GLOBAL__sub_I_Runtime_Misc_3_cpp = asm["__GLOBAL__sub_I_Runtime_Misc_3_cpp"];
  20272. asm["__GLOBAL__sub_I_Runtime_Misc_3_cpp"] = (function() {
  20273. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20274. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20275. return real___GLOBAL__sub_I_Runtime_Misc_3_cpp.apply(null, arguments);
  20276. });
  20277. var real___GLOBAL__sub_I_Runtime_Misc_4_cpp = asm["__GLOBAL__sub_I_Runtime_Misc_4_cpp"];
  20278. asm["__GLOBAL__sub_I_Runtime_Misc_4_cpp"] = (function() {
  20279. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20280. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20281. return real___GLOBAL__sub_I_Runtime_Misc_4_cpp.apply(null, arguments);
  20282. });
  20283. var real___GLOBAL__sub_I_Runtime_Misc_5_cpp = asm["__GLOBAL__sub_I_Runtime_Misc_5_cpp"];
  20284. asm["__GLOBAL__sub_I_Runtime_Misc_5_cpp"] = (function() {
  20285. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20286. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20287. return real___GLOBAL__sub_I_Runtime_Misc_5_cpp.apply(null, arguments);
  20288. });
  20289. var real___GLOBAL__sub_I_Runtime_Modules_0_cpp = asm["__GLOBAL__sub_I_Runtime_Modules_0_cpp"];
  20290. asm["__GLOBAL__sub_I_Runtime_Modules_0_cpp"] = (function() {
  20291. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20292. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20293. return real___GLOBAL__sub_I_Runtime_Modules_0_cpp.apply(null, arguments);
  20294. });
  20295. var real___GLOBAL__sub_I_Runtime_Mono_0_cpp = asm["__GLOBAL__sub_I_Runtime_Mono_0_cpp"];
  20296. asm["__GLOBAL__sub_I_Runtime_Mono_0_cpp"] = (function() {
  20297. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20298. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20299. return real___GLOBAL__sub_I_Runtime_Mono_0_cpp.apply(null, arguments);
  20300. });
  20301. var real___GLOBAL__sub_I_Runtime_Mono_2_cpp = asm["__GLOBAL__sub_I_Runtime_Mono_2_cpp"];
  20302. asm["__GLOBAL__sub_I_Runtime_Mono_2_cpp"] = (function() {
  20303. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20304. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20305. return real___GLOBAL__sub_I_Runtime_Mono_2_cpp.apply(null, arguments);
  20306. });
  20307. var real___GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp = asm["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp"];
  20308. asm["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp"] = (function() {
  20309. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20310. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20311. return real___GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp.apply(null, arguments);
  20312. });
  20313. var real___GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp = asm["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp"];
  20314. asm["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp"] = (function() {
  20315. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20316. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20317. return real___GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp.apply(null, arguments);
  20318. });
  20319. var real___GLOBAL__sub_I_Runtime_Network_0_cpp = asm["__GLOBAL__sub_I_Runtime_Network_0_cpp"];
  20320. asm["__GLOBAL__sub_I_Runtime_Network_0_cpp"] = (function() {
  20321. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20322. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20323. return real___GLOBAL__sub_I_Runtime_Network_0_cpp.apply(null, arguments);
  20324. });
  20325. var real___GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp = asm["__GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp"];
  20326. asm["__GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp"] = (function() {
  20327. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20328. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20329. return real___GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp.apply(null, arguments);
  20330. });
  20331. var real___GLOBAL__sub_I_Runtime_PluginInterface_0_cpp = asm["__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp"];
  20332. asm["__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp"] = (function() {
  20333. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20334. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20335. return real___GLOBAL__sub_I_Runtime_PluginInterface_0_cpp.apply(null, arguments);
  20336. });
  20337. var real___GLOBAL__sub_I_Runtime_PreloadManager_0_cpp = asm["__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp"];
  20338. asm["__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp"] = (function() {
  20339. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20340. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20341. return real___GLOBAL__sub_I_Runtime_PreloadManager_0_cpp.apply(null, arguments);
  20342. });
  20343. var real___GLOBAL__sub_I_Runtime_Profiler_0_cpp = asm["__GLOBAL__sub_I_Runtime_Profiler_0_cpp"];
  20344. asm["__GLOBAL__sub_I_Runtime_Profiler_0_cpp"] = (function() {
  20345. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20346. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20347. return real___GLOBAL__sub_I_Runtime_Profiler_0_cpp.apply(null, arguments);
  20348. });
  20349. var real___GLOBAL__sub_I_Runtime_Profiler_1_cpp = asm["__GLOBAL__sub_I_Runtime_Profiler_1_cpp"];
  20350. asm["__GLOBAL__sub_I_Runtime_Profiler_1_cpp"] = (function() {
  20351. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20352. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20353. return real___GLOBAL__sub_I_Runtime_Profiler_1_cpp.apply(null, arguments);
  20354. });
  20355. var real___GLOBAL__sub_I_Runtime_Profiler_2_cpp = asm["__GLOBAL__sub_I_Runtime_Profiler_2_cpp"];
  20356. asm["__GLOBAL__sub_I_Runtime_Profiler_2_cpp"] = (function() {
  20357. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20358. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20359. return real___GLOBAL__sub_I_Runtime_Profiler_2_cpp.apply(null, arguments);
  20360. });
  20361. var real___GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp = asm["__GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp"];
  20362. asm["__GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp"] = (function() {
  20363. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20364. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20365. return real___GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp.apply(null, arguments);
  20366. });
  20367. var real___GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp = asm["__GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp"];
  20368. asm["__GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp"] = (function() {
  20369. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20370. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20371. return real___GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp.apply(null, arguments);
  20372. });
  20373. var real___GLOBAL__sub_I_Runtime_SceneManager_0_cpp = asm["__GLOBAL__sub_I_Runtime_SceneManager_0_cpp"];
  20374. asm["__GLOBAL__sub_I_Runtime_SceneManager_0_cpp"] = (function() {
  20375. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20376. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20377. return real___GLOBAL__sub_I_Runtime_SceneManager_0_cpp.apply(null, arguments);
  20378. });
  20379. var real___GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp = asm["__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp"];
  20380. asm["__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp"] = (function() {
  20381. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20382. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20383. return real___GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp.apply(null, arguments);
  20384. });
  20385. var real___GLOBAL__sub_I_Runtime_Scripting_0_cpp = asm["__GLOBAL__sub_I_Runtime_Scripting_0_cpp"];
  20386. asm["__GLOBAL__sub_I_Runtime_Scripting_0_cpp"] = (function() {
  20387. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20388. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20389. return real___GLOBAL__sub_I_Runtime_Scripting_0_cpp.apply(null, arguments);
  20390. });
  20391. var real___GLOBAL__sub_I_Runtime_Scripting_2_cpp = asm["__GLOBAL__sub_I_Runtime_Scripting_2_cpp"];
  20392. asm["__GLOBAL__sub_I_Runtime_Scripting_2_cpp"] = (function() {
  20393. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20394. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20395. return real___GLOBAL__sub_I_Runtime_Scripting_2_cpp.apply(null, arguments);
  20396. });
  20397. var real___GLOBAL__sub_I_Runtime_Scripting_3_cpp = asm["__GLOBAL__sub_I_Runtime_Scripting_3_cpp"];
  20398. asm["__GLOBAL__sub_I_Runtime_Scripting_3_cpp"] = (function() {
  20399. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20400. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20401. return real___GLOBAL__sub_I_Runtime_Scripting_3_cpp.apply(null, arguments);
  20402. });
  20403. var real___GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp = asm["__GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp"];
  20404. asm["__GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp"] = (function() {
  20405. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20406. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20407. return real___GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp.apply(null, arguments);
  20408. });
  20409. var real___GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp = asm["__GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp"];
  20410. asm["__GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp"] = (function() {
  20411. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20412. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20413. return real___GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp.apply(null, arguments);
  20414. });
  20415. var real___GLOBAL__sub_I_Runtime_Serialize_0_cpp = asm["__GLOBAL__sub_I_Runtime_Serialize_0_cpp"];
  20416. asm["__GLOBAL__sub_I_Runtime_Serialize_0_cpp"] = (function() {
  20417. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20418. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20419. return real___GLOBAL__sub_I_Runtime_Serialize_0_cpp.apply(null, arguments);
  20420. });
  20421. var real___GLOBAL__sub_I_Runtime_Serialize_1_cpp = asm["__GLOBAL__sub_I_Runtime_Serialize_1_cpp"];
  20422. asm["__GLOBAL__sub_I_Runtime_Serialize_1_cpp"] = (function() {
  20423. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20424. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20425. return real___GLOBAL__sub_I_Runtime_Serialize_1_cpp.apply(null, arguments);
  20426. });
  20427. var real___GLOBAL__sub_I_Runtime_Serialize_2_cpp = asm["__GLOBAL__sub_I_Runtime_Serialize_2_cpp"];
  20428. asm["__GLOBAL__sub_I_Runtime_Serialize_2_cpp"] = (function() {
  20429. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20430. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20431. return real___GLOBAL__sub_I_Runtime_Serialize_2_cpp.apply(null, arguments);
  20432. });
  20433. var real___GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp = asm["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp"];
  20434. asm["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp"] = (function() {
  20435. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20436. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20437. return real___GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp.apply(null, arguments);
  20438. });
  20439. var real___GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp = asm["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp"];
  20440. asm["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp"] = (function() {
  20441. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20442. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20443. return real___GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp.apply(null, arguments);
  20444. });
  20445. var real___GLOBAL__sub_I_Runtime_Shaders_0_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_0_cpp"];
  20446. asm["__GLOBAL__sub_I_Runtime_Shaders_0_cpp"] = (function() {
  20447. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20448. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20449. return real___GLOBAL__sub_I_Runtime_Shaders_0_cpp.apply(null, arguments);
  20450. });
  20451. var real___GLOBAL__sub_I_Runtime_Shaders_1_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_1_cpp"];
  20452. asm["__GLOBAL__sub_I_Runtime_Shaders_1_cpp"] = (function() {
  20453. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20454. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20455. return real___GLOBAL__sub_I_Runtime_Shaders_1_cpp.apply(null, arguments);
  20456. });
  20457. var real___GLOBAL__sub_I_Runtime_Shaders_4_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_4_cpp"];
  20458. asm["__GLOBAL__sub_I_Runtime_Shaders_4_cpp"] = (function() {
  20459. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20460. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20461. return real___GLOBAL__sub_I_Runtime_Shaders_4_cpp.apply(null, arguments);
  20462. });
  20463. var real___GLOBAL__sub_I_Runtime_Shaders_5_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_5_cpp"];
  20464. asm["__GLOBAL__sub_I_Runtime_Shaders_5_cpp"] = (function() {
  20465. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20466. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20467. return real___GLOBAL__sub_I_Runtime_Shaders_5_cpp.apply(null, arguments);
  20468. });
  20469. var real___GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp"];
  20470. asm["__GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp"] = (function() {
  20471. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20472. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20473. return real___GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp.apply(null, arguments);
  20474. });
  20475. var real___GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp"];
  20476. asm["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp"] = (function() {
  20477. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20478. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20479. return real___GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp.apply(null, arguments);
  20480. });
  20481. var real___GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp = asm["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp"];
  20482. asm["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp"] = (function() {
  20483. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20484. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20485. return real___GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp.apply(null, arguments);
  20486. });
  20487. var real___GLOBAL__sub_I_Runtime_Streaming_0_cpp = asm["__GLOBAL__sub_I_Runtime_Streaming_0_cpp"];
  20488. asm["__GLOBAL__sub_I_Runtime_Streaming_0_cpp"] = (function() {
  20489. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20490. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20491. return real___GLOBAL__sub_I_Runtime_Streaming_0_cpp.apply(null, arguments);
  20492. });
  20493. var real___GLOBAL__sub_I_Runtime_Streaming_1_cpp = asm["__GLOBAL__sub_I_Runtime_Streaming_1_cpp"];
  20494. asm["__GLOBAL__sub_I_Runtime_Streaming_1_cpp"] = (function() {
  20495. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20496. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20497. return real___GLOBAL__sub_I_Runtime_Streaming_1_cpp.apply(null, arguments);
  20498. });
  20499. var real___GLOBAL__sub_I_Runtime_Transform_0_cpp = asm["__GLOBAL__sub_I_Runtime_Transform_0_cpp"];
  20500. asm["__GLOBAL__sub_I_Runtime_Transform_0_cpp"] = (function() {
  20501. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20502. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20503. return real___GLOBAL__sub_I_Runtime_Transform_0_cpp.apply(null, arguments);
  20504. });
  20505. var real___GLOBAL__sub_I_Runtime_Transform_1_cpp = asm["__GLOBAL__sub_I_Runtime_Transform_1_cpp"];
  20506. asm["__GLOBAL__sub_I_Runtime_Transform_1_cpp"] = (function() {
  20507. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20508. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20509. return real___GLOBAL__sub_I_Runtime_Transform_1_cpp.apply(null, arguments);
  20510. });
  20511. var real___GLOBAL__sub_I_Runtime_Utilities_2_cpp = asm["__GLOBAL__sub_I_Runtime_Utilities_2_cpp"];
  20512. asm["__GLOBAL__sub_I_Runtime_Utilities_2_cpp"] = (function() {
  20513. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20514. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20515. return real___GLOBAL__sub_I_Runtime_Utilities_2_cpp.apply(null, arguments);
  20516. });
  20517. var real___GLOBAL__sub_I_Runtime_Utilities_5_cpp = asm["__GLOBAL__sub_I_Runtime_Utilities_5_cpp"];
  20518. asm["__GLOBAL__sub_I_Runtime_Utilities_5_cpp"] = (function() {
  20519. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20520. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20521. return real___GLOBAL__sub_I_Runtime_Utilities_5_cpp.apply(null, arguments);
  20522. });
  20523. var real___GLOBAL__sub_I_Runtime_Utilities_6_cpp = asm["__GLOBAL__sub_I_Runtime_Utilities_6_cpp"];
  20524. asm["__GLOBAL__sub_I_Runtime_Utilities_6_cpp"] = (function() {
  20525. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20526. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20527. return real___GLOBAL__sub_I_Runtime_Utilities_6_cpp.apply(null, arguments);
  20528. });
  20529. var real___GLOBAL__sub_I_Runtime_Utilities_7_cpp = asm["__GLOBAL__sub_I_Runtime_Utilities_7_cpp"];
  20530. asm["__GLOBAL__sub_I_Runtime_Utilities_7_cpp"] = (function() {
  20531. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20532. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20533. return real___GLOBAL__sub_I_Runtime_Utilities_7_cpp.apply(null, arguments);
  20534. });
  20535. var real___GLOBAL__sub_I_Runtime_Utilities_8_cpp = asm["__GLOBAL__sub_I_Runtime_Utilities_8_cpp"];
  20536. asm["__GLOBAL__sub_I_Runtime_Utilities_8_cpp"] = (function() {
  20537. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20538. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20539. return real___GLOBAL__sub_I_Runtime_Utilities_8_cpp.apply(null, arguments);
  20540. });
  20541. var real___GLOBAL__sub_I_Runtime_Utilities_9_cpp = asm["__GLOBAL__sub_I_Runtime_Utilities_9_cpp"];
  20542. asm["__GLOBAL__sub_I_Runtime_Utilities_9_cpp"] = (function() {
  20543. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20544. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20545. return real___GLOBAL__sub_I_Runtime_Utilities_9_cpp.apply(null, arguments);
  20546. });
  20547. var real___GLOBAL__sub_I_Runtime_Video_0_cpp = asm["__GLOBAL__sub_I_Runtime_Video_0_cpp"];
  20548. asm["__GLOBAL__sub_I_Runtime_Video_0_cpp"] = (function() {
  20549. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20550. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20551. return real___GLOBAL__sub_I_Runtime_Video_0_cpp.apply(null, arguments);
  20552. });
  20553. var real___GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp = asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp"];
  20554. asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp"] = (function() {
  20555. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20556. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20557. return real___GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp.apply(null, arguments);
  20558. });
  20559. var real___GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp = asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp"];
  20560. asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp"] = (function() {
  20561. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20562. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20563. return real___GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp.apply(null, arguments);
  20564. });
  20565. var real___GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp = asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp"];
  20566. asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp"] = (function() {
  20567. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20568. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20569. return real___GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp.apply(null, arguments);
  20570. });
  20571. var real___GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp = asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp"];
  20572. asm["__GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp"] = (function() {
  20573. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20574. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20575. return real___GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp.apply(null, arguments);
  20576. });
  20577. var real___GLOBAL__sub_I_Shader_cpp = asm["__GLOBAL__sub_I_Shader_cpp"];
  20578. asm["__GLOBAL__sub_I_Shader_cpp"] = (function() {
  20579. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20580. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20581. return real___GLOBAL__sub_I_Shader_cpp.apply(null, arguments);
  20582. });
  20583. var real___GLOBAL__sub_I_Shadows_cpp = asm["__GLOBAL__sub_I_Shadows_cpp"];
  20584. asm["__GLOBAL__sub_I_Shadows_cpp"] = (function() {
  20585. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20586. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20587. return real___GLOBAL__sub_I_Shadows_cpp.apply(null, arguments);
  20588. });
  20589. var real___GLOBAL__sub_I_ShapeModule_cpp = asm["__GLOBAL__sub_I_ShapeModule_cpp"];
  20590. asm["__GLOBAL__sub_I_ShapeModule_cpp"] = (function() {
  20591. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20592. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20593. return real___GLOBAL__sub_I_ShapeModule_cpp.apply(null, arguments);
  20594. });
  20595. var real___GLOBAL__sub_I_SpriteShapeBindings_gen_cpp = asm["__GLOBAL__sub_I_SpriteShapeBindings_gen_cpp"];
  20596. asm["__GLOBAL__sub_I_SpriteShapeBindings_gen_cpp"] = (function() {
  20597. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20598. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20599. return real___GLOBAL__sub_I_SpriteShapeBindings_gen_cpp.apply(null, arguments);
  20600. });
  20601. var real___GLOBAL__sub_I_SubsystemsScriptingClasses_cpp = asm["__GLOBAL__sub_I_SubsystemsScriptingClasses_cpp"];
  20602. asm["__GLOBAL__sub_I_SubsystemsScriptingClasses_cpp"] = (function() {
  20603. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20604. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20605. return real___GLOBAL__sub_I_SubsystemsScriptingClasses_cpp.apply(null, arguments);
  20606. });
  20607. var real___GLOBAL__sub_I_SwInterCollision_cpp = asm["__GLOBAL__sub_I_SwInterCollision_cpp"];
  20608. asm["__GLOBAL__sub_I_SwInterCollision_cpp"] = (function() {
  20609. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20610. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20611. return real___GLOBAL__sub_I_SwInterCollision_cpp.apply(null, arguments);
  20612. });
  20613. var real___GLOBAL__sub_I_SwSolverKernel_cpp = asm["__GLOBAL__sub_I_SwSolverKernel_cpp"];
  20614. asm["__GLOBAL__sub_I_SwSolverKernel_cpp"] = (function() {
  20615. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20616. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20617. return real___GLOBAL__sub_I_SwSolverKernel_cpp.apply(null, arguments);
  20618. });
  20619. var real___GLOBAL__sub_I_TLSModule_cpp = asm["__GLOBAL__sub_I_TLSModule_cpp"];
  20620. asm["__GLOBAL__sub_I_TLSModule_cpp"] = (function() {
  20621. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20622. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20623. return real___GLOBAL__sub_I_TLSModule_cpp.apply(null, arguments);
  20624. });
  20625. var real___GLOBAL__sub_I_TemplateInstantiations_cpp = asm["__GLOBAL__sub_I_TemplateInstantiations_cpp"];
  20626. asm["__GLOBAL__sub_I_TemplateInstantiations_cpp"] = (function() {
  20627. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20628. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20629. return real___GLOBAL__sub_I_TemplateInstantiations_cpp.apply(null, arguments);
  20630. });
  20631. var real___GLOBAL__sub_I_TerrainScriptingClasses_cpp = asm["__GLOBAL__sub_I_TerrainScriptingClasses_cpp"];
  20632. asm["__GLOBAL__sub_I_TerrainScriptingClasses_cpp"] = (function() {
  20633. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20634. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20635. return real___GLOBAL__sub_I_TerrainScriptingClasses_cpp.apply(null, arguments);
  20636. });
  20637. var real___GLOBAL__sub_I_TextCoreScriptingClasses_cpp = asm["__GLOBAL__sub_I_TextCoreScriptingClasses_cpp"];
  20638. asm["__GLOBAL__sub_I_TextCoreScriptingClasses_cpp"] = (function() {
  20639. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20640. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20641. return real___GLOBAL__sub_I_TextCoreScriptingClasses_cpp.apply(null, arguments);
  20642. });
  20643. var real___GLOBAL__sub_I_TextRenderingScriptingClasses_cpp = asm["__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp"];
  20644. asm["__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp"] = (function() {
  20645. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20646. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20647. return real___GLOBAL__sub_I_TextRenderingScriptingClasses_cpp.apply(null, arguments);
  20648. });
  20649. var real___GLOBAL__sub_I_TilemapScriptingClasses_cpp = asm["__GLOBAL__sub_I_TilemapScriptingClasses_cpp"];
  20650. asm["__GLOBAL__sub_I_TilemapScriptingClasses_cpp"] = (function() {
  20651. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20652. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20653. return real___GLOBAL__sub_I_TilemapScriptingClasses_cpp.apply(null, arguments);
  20654. });
  20655. var real___GLOBAL__sub_I_TrailRenderer_cpp = asm["__GLOBAL__sub_I_TrailRenderer_cpp"];
  20656. asm["__GLOBAL__sub_I_TrailRenderer_cpp"] = (function() {
  20657. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20658. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20659. return real___GLOBAL__sub_I_TrailRenderer_cpp.apply(null, arguments);
  20660. });
  20661. var real___GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp = asm["__GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp"];
  20662. asm["__GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp"] = (function() {
  20663. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20664. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20665. return real___GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp.apply(null, arguments);
  20666. });
  20667. var real___GLOBAL__sub_I_UIScriptingClasses_cpp = asm["__GLOBAL__sub_I_UIScriptingClasses_cpp"];
  20668. asm["__GLOBAL__sub_I_UIScriptingClasses_cpp"] = (function() {
  20669. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20670. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20671. return real___GLOBAL__sub_I_UIScriptingClasses_cpp.apply(null, arguments);
  20672. });
  20673. var real___GLOBAL__sub_I_UIWidgets_cpp = asm["__GLOBAL__sub_I_UIWidgets_cpp"];
  20674. asm["__GLOBAL__sub_I_UIWidgets_cpp"] = (function() {
  20675. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20676. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20677. return real___GLOBAL__sub_I_UIWidgets_cpp.apply(null, arguments);
  20678. });
  20679. var real___GLOBAL__sub_I_UVModule_cpp = asm["__GLOBAL__sub_I_UVModule_cpp"];
  20680. asm["__GLOBAL__sub_I_UVModule_cpp"] = (function() {
  20681. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20682. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20683. return real___GLOBAL__sub_I_UVModule_cpp.apply(null, arguments);
  20684. });
  20685. var real___GLOBAL__sub_I_UnityAdsSettings_cpp = asm["__GLOBAL__sub_I_UnityAdsSettings_cpp"];
  20686. asm["__GLOBAL__sub_I_UnityAdsSettings_cpp"] = (function() {
  20687. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20688. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20689. return real___GLOBAL__sub_I_UnityAdsSettings_cpp.apply(null, arguments);
  20690. });
  20691. var real___GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp = asm["__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp"];
  20692. asm["__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp"] = (function() {
  20693. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20694. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20695. return real___GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp.apply(null, arguments);
  20696. });
  20697. var real___GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp = asm["__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp"];
  20698. asm["__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp"] = (function() {
  20699. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20700. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20701. return real___GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp.apply(null, arguments);
  20702. });
  20703. var real___GLOBAL__sub_I_VFXScriptingClasses_cpp = asm["__GLOBAL__sub_I_VFXScriptingClasses_cpp"];
  20704. asm["__GLOBAL__sub_I_VFXScriptingClasses_cpp"] = (function() {
  20705. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20706. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20707. return real___GLOBAL__sub_I_VFXScriptingClasses_cpp.apply(null, arguments);
  20708. });
  20709. var real___GLOBAL__sub_I_VRScriptingClasses_cpp = asm["__GLOBAL__sub_I_VRScriptingClasses_cpp"];
  20710. asm["__GLOBAL__sub_I_VRScriptingClasses_cpp"] = (function() {
  20711. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20712. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20713. return real___GLOBAL__sub_I_VRScriptingClasses_cpp.apply(null, arguments);
  20714. });
  20715. var real___GLOBAL__sub_I_VelocityModule_cpp = asm["__GLOBAL__sub_I_VelocityModule_cpp"];
  20716. asm["__GLOBAL__sub_I_VelocityModule_cpp"] = (function() {
  20717. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20718. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20719. return real___GLOBAL__sub_I_VelocityModule_cpp.apply(null, arguments);
  20720. });
  20721. var real___GLOBAL__sub_I_VideoMediaOutput_cpp = asm["__GLOBAL__sub_I_VideoMediaOutput_cpp"];
  20722. asm["__GLOBAL__sub_I_VideoMediaOutput_cpp"] = (function() {
  20723. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20724. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20725. return real___GLOBAL__sub_I_VideoMediaOutput_cpp.apply(null, arguments);
  20726. });
  20727. var real___GLOBAL__sub_I_VideoScriptingClasses_cpp = asm["__GLOBAL__sub_I_VideoScriptingClasses_cpp"];
  20728. asm["__GLOBAL__sub_I_VideoScriptingClasses_cpp"] = (function() {
  20729. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20730. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20731. return real___GLOBAL__sub_I_VideoScriptingClasses_cpp.apply(null, arguments);
  20732. });
  20733. var real___GLOBAL__sub_I_VideoYUV420Convert_cpp = asm["__GLOBAL__sub_I_VideoYUV420Convert_cpp"];
  20734. asm["__GLOBAL__sub_I_VideoYUV420Convert_cpp"] = (function() {
  20735. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20736. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20737. return real___GLOBAL__sub_I_VideoYUV420Convert_cpp.apply(null, arguments);
  20738. });
  20739. var real___GLOBAL__sub_I_VisualEffectAsset_cpp = asm["__GLOBAL__sub_I_VisualEffectAsset_cpp"];
  20740. asm["__GLOBAL__sub_I_VisualEffectAsset_cpp"] = (function() {
  20741. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20742. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20743. return real___GLOBAL__sub_I_VisualEffectAsset_cpp.apply(null, arguments);
  20744. });
  20745. var real___GLOBAL__sub_I_Wind_cpp = asm["__GLOBAL__sub_I_Wind_cpp"];
  20746. asm["__GLOBAL__sub_I_Wind_cpp"] = (function() {
  20747. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20748. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20749. return real___GLOBAL__sub_I_Wind_cpp.apply(null, arguments);
  20750. });
  20751. var real___GLOBAL__sub_I_XRAudio_cpp = asm["__GLOBAL__sub_I_XRAudio_cpp"];
  20752. asm["__GLOBAL__sub_I_XRAudio_cpp"] = (function() {
  20753. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20754. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20755. return real___GLOBAL__sub_I_XRAudio_cpp.apply(null, arguments);
  20756. });
  20757. var real___GLOBAL__sub_I_XRPreInit_cpp = asm["__GLOBAL__sub_I_XRPreInit_cpp"];
  20758. asm["__GLOBAL__sub_I_XRPreInit_cpp"] = (function() {
  20759. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20760. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20761. return real___GLOBAL__sub_I_XRPreInit_cpp.apply(null, arguments);
  20762. });
  20763. var real___GLOBAL__sub_I_XRScriptingClasses_cpp = asm["__GLOBAL__sub_I_XRScriptingClasses_cpp"];
  20764. asm["__GLOBAL__sub_I_XRScriptingClasses_cpp"] = (function() {
  20765. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20766. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20767. return real___GLOBAL__sub_I_XRScriptingClasses_cpp.apply(null, arguments);
  20768. });
  20769. var real___GLOBAL__sub_I_XRWindowsLocatableCamera_cpp = asm["__GLOBAL__sub_I_XRWindowsLocatableCamera_cpp"];
  20770. asm["__GLOBAL__sub_I_XRWindowsLocatableCamera_cpp"] = (function() {
  20771. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20772. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20773. return real___GLOBAL__sub_I_XRWindowsLocatableCamera_cpp.apply(null, arguments);
  20774. });
  20775. var real___GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp = asm["__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp"];
  20776. asm["__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp"] = (function() {
  20777. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20778. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20779. return real___GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp.apply(null, arguments);
  20780. });
  20781. var real___GLOBAL__sub_I_clipmuscle_cpp = asm["__GLOBAL__sub_I_clipmuscle_cpp"];
  20782. asm["__GLOBAL__sub_I_clipmuscle_cpp"] = (function() {
  20783. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20784. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20785. return real___GLOBAL__sub_I_clipmuscle_cpp.apply(null, arguments);
  20786. });
  20787. var real___GLOBAL__sub_I_nvcloth_src_0_cpp = asm["__GLOBAL__sub_I_nvcloth_src_0_cpp"];
  20788. asm["__GLOBAL__sub_I_nvcloth_src_0_cpp"] = (function() {
  20789. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20790. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20791. return real___GLOBAL__sub_I_nvcloth_src_0_cpp.apply(null, arguments);
  20792. });
  20793. var real___GLOBAL__sub_I_nvcloth_src_1_cpp = asm["__GLOBAL__sub_I_nvcloth_src_1_cpp"];
  20794. asm["__GLOBAL__sub_I_nvcloth_src_1_cpp"] = (function() {
  20795. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20796. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20797. return real___GLOBAL__sub_I_nvcloth_src_1_cpp.apply(null, arguments);
  20798. });
  20799. var real___GLOBAL__sub_I_umbra_cpp = asm["__GLOBAL__sub_I_umbra_cpp"];
  20800. asm["__GLOBAL__sub_I_umbra_cpp"] = (function() {
  20801. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20802. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20803. return real___GLOBAL__sub_I_umbra_cpp.apply(null, arguments);
  20804. });
  20805. var real____cxa_can_catch = asm["___cxa_can_catch"];
  20806. asm["___cxa_can_catch"] = (function() {
  20807. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20808. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20809. return real____cxa_can_catch.apply(null, arguments);
  20810. });
  20811. var real____cxa_demangle = asm["___cxa_demangle"];
  20812. asm["___cxa_demangle"] = (function() {
  20813. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20814. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20815. return real____cxa_demangle.apply(null, arguments);
  20816. });
  20817. var real____cxa_is_pointer_type = asm["___cxa_is_pointer_type"];
  20818. asm["___cxa_is_pointer_type"] = (function() {
  20819. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20820. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20821. return real____cxa_is_pointer_type.apply(null, arguments);
  20822. });
  20823. var real____cxx_global_var_init_10 = asm["___cxx_global_var_init_10"];
  20824. asm["___cxx_global_var_init_10"] = (function() {
  20825. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20826. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20827. return real____cxx_global_var_init_10.apply(null, arguments);
  20828. });
  20829. var real____cxx_global_var_init_104 = asm["___cxx_global_var_init_104"];
  20830. asm["___cxx_global_var_init_104"] = (function() {
  20831. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20832. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20833. return real____cxx_global_var_init_104.apply(null, arguments);
  20834. });
  20835. var real____cxx_global_var_init_105 = asm["___cxx_global_var_init_105"];
  20836. asm["___cxx_global_var_init_105"] = (function() {
  20837. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20838. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20839. return real____cxx_global_var_init_105.apply(null, arguments);
  20840. });
  20841. var real____cxx_global_var_init_10913 = asm["___cxx_global_var_init_10913"];
  20842. asm["___cxx_global_var_init_10913"] = (function() {
  20843. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20844. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20845. return real____cxx_global_var_init_10913.apply(null, arguments);
  20846. });
  20847. var real____cxx_global_var_init_10_8165 = asm["___cxx_global_var_init_10_8165"];
  20848. asm["___cxx_global_var_init_10_8165"] = (function() {
  20849. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20850. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20851. return real____cxx_global_var_init_10_8165.apply(null, arguments);
  20852. });
  20853. var real____cxx_global_var_init_10_9872 = asm["___cxx_global_var_init_10_9872"];
  20854. asm["___cxx_global_var_init_10_9872"] = (function() {
  20855. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20856. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20857. return real____cxx_global_var_init_10_9872.apply(null, arguments);
  20858. });
  20859. var real____cxx_global_var_init_11 = asm["___cxx_global_var_init_11"];
  20860. asm["___cxx_global_var_init_11"] = (function() {
  20861. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20862. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20863. return real____cxx_global_var_init_11.apply(null, arguments);
  20864. });
  20865. var real____cxx_global_var_init_110 = asm["___cxx_global_var_init_110"];
  20866. asm["___cxx_global_var_init_110"] = (function() {
  20867. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20868. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20869. return real____cxx_global_var_init_110.apply(null, arguments);
  20870. });
  20871. var real____cxx_global_var_init_111 = asm["___cxx_global_var_init_111"];
  20872. asm["___cxx_global_var_init_111"] = (function() {
  20873. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20874. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20875. return real____cxx_global_var_init_111.apply(null, arguments);
  20876. });
  20877. var real____cxx_global_var_init_112 = asm["___cxx_global_var_init_112"];
  20878. asm["___cxx_global_var_init_112"] = (function() {
  20879. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20880. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20881. return real____cxx_global_var_init_112.apply(null, arguments);
  20882. });
  20883. var real____cxx_global_var_init_113 = asm["___cxx_global_var_init_113"];
  20884. asm["___cxx_global_var_init_113"] = (function() {
  20885. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20886. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20887. return real____cxx_global_var_init_113.apply(null, arguments);
  20888. });
  20889. var real____cxx_global_var_init_114 = asm["___cxx_global_var_init_114"];
  20890. asm["___cxx_global_var_init_114"] = (function() {
  20891. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20892. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20893. return real____cxx_global_var_init_114.apply(null, arguments);
  20894. });
  20895. var real____cxx_global_var_init_11_8166 = asm["___cxx_global_var_init_11_8166"];
  20896. asm["___cxx_global_var_init_11_8166"] = (function() {
  20897. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20898. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20899. return real____cxx_global_var_init_11_8166.apply(null, arguments);
  20900. });
  20901. var real____cxx_global_var_init_12 = asm["___cxx_global_var_init_12"];
  20902. asm["___cxx_global_var_init_12"] = (function() {
  20903. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20904. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20905. return real____cxx_global_var_init_12.apply(null, arguments);
  20906. });
  20907. var real____cxx_global_var_init_12_8167 = asm["___cxx_global_var_init_12_8167"];
  20908. asm["___cxx_global_var_init_12_8167"] = (function() {
  20909. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20910. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20911. return real____cxx_global_var_init_12_8167.apply(null, arguments);
  20912. });
  20913. var real____cxx_global_var_init_136 = asm["___cxx_global_var_init_136"];
  20914. asm["___cxx_global_var_init_136"] = (function() {
  20915. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20916. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20917. return real____cxx_global_var_init_136.apply(null, arguments);
  20918. });
  20919. var real____cxx_global_var_init_137 = asm["___cxx_global_var_init_137"];
  20920. asm["___cxx_global_var_init_137"] = (function() {
  20921. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20922. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20923. return real____cxx_global_var_init_137.apply(null, arguments);
  20924. });
  20925. var real____cxx_global_var_init_144 = asm["___cxx_global_var_init_144"];
  20926. asm["___cxx_global_var_init_144"] = (function() {
  20927. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20928. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20929. return real____cxx_global_var_init_144.apply(null, arguments);
  20930. });
  20931. var real____cxx_global_var_init_148 = asm["___cxx_global_var_init_148"];
  20932. asm["___cxx_global_var_init_148"] = (function() {
  20933. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20934. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20935. return real____cxx_global_var_init_148.apply(null, arguments);
  20936. });
  20937. var real____cxx_global_var_init_149 = asm["___cxx_global_var_init_149"];
  20938. asm["___cxx_global_var_init_149"] = (function() {
  20939. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20940. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20941. return real____cxx_global_var_init_149.apply(null, arguments);
  20942. });
  20943. var real____cxx_global_var_init_15 = asm["___cxx_global_var_init_15"];
  20944. asm["___cxx_global_var_init_15"] = (function() {
  20945. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20946. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20947. return real____cxx_global_var_init_15.apply(null, arguments);
  20948. });
  20949. var real____cxx_global_var_init_150 = asm["___cxx_global_var_init_150"];
  20950. asm["___cxx_global_var_init_150"] = (function() {
  20951. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20952. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20953. return real____cxx_global_var_init_150.apply(null, arguments);
  20954. });
  20955. var real____cxx_global_var_init_155 = asm["___cxx_global_var_init_155"];
  20956. asm["___cxx_global_var_init_155"] = (function() {
  20957. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20958. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20959. return real____cxx_global_var_init_155.apply(null, arguments);
  20960. });
  20961. var real____cxx_global_var_init_162 = asm["___cxx_global_var_init_162"];
  20962. asm["___cxx_global_var_init_162"] = (function() {
  20963. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20964. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20965. return real____cxx_global_var_init_162.apply(null, arguments);
  20966. });
  20967. var real____cxx_global_var_init_17 = asm["___cxx_global_var_init_17"];
  20968. asm["___cxx_global_var_init_17"] = (function() {
  20969. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20970. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20971. return real____cxx_global_var_init_17.apply(null, arguments);
  20972. });
  20973. var real____cxx_global_var_init_17063 = asm["___cxx_global_var_init_17063"];
  20974. asm["___cxx_global_var_init_17063"] = (function() {
  20975. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20976. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20977. return real____cxx_global_var_init_17063.apply(null, arguments);
  20978. });
  20979. var real____cxx_global_var_init_172 = asm["___cxx_global_var_init_172"];
  20980. asm["___cxx_global_var_init_172"] = (function() {
  20981. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20982. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20983. return real____cxx_global_var_init_172.apply(null, arguments);
  20984. });
  20985. var real____cxx_global_var_init_173 = asm["___cxx_global_var_init_173"];
  20986. asm["___cxx_global_var_init_173"] = (function() {
  20987. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20988. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20989. return real____cxx_global_var_init_173.apply(null, arguments);
  20990. });
  20991. var real____cxx_global_var_init_174 = asm["___cxx_global_var_init_174"];
  20992. asm["___cxx_global_var_init_174"] = (function() {
  20993. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  20994. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  20995. return real____cxx_global_var_init_174.apply(null, arguments);
  20996. });
  20997. var real____cxx_global_var_init_175 = asm["___cxx_global_var_init_175"];
  20998. asm["___cxx_global_var_init_175"] = (function() {
  20999. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21000. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21001. return real____cxx_global_var_init_175.apply(null, arguments);
  21002. });
  21003. var real____cxx_global_var_init_176 = asm["___cxx_global_var_init_176"];
  21004. asm["___cxx_global_var_init_176"] = (function() {
  21005. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21006. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21007. return real____cxx_global_var_init_176.apply(null, arguments);
  21008. });
  21009. var real____cxx_global_var_init_177 = asm["___cxx_global_var_init_177"];
  21010. asm["___cxx_global_var_init_177"] = (function() {
  21011. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21012. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21013. return real____cxx_global_var_init_177.apply(null, arguments);
  21014. });
  21015. var real____cxx_global_var_init_178 = asm["___cxx_global_var_init_178"];
  21016. asm["___cxx_global_var_init_178"] = (function() {
  21017. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21018. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21019. return real____cxx_global_var_init_178.apply(null, arguments);
  21020. });
  21021. var real____cxx_global_var_init_179 = asm["___cxx_global_var_init_179"];
  21022. asm["___cxx_global_var_init_179"] = (function() {
  21023. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21024. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21025. return real____cxx_global_var_init_179.apply(null, arguments);
  21026. });
  21027. var real____cxx_global_var_init_18 = asm["___cxx_global_var_init_18"];
  21028. asm["___cxx_global_var_init_18"] = (function() {
  21029. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21030. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21031. return real____cxx_global_var_init_18.apply(null, arguments);
  21032. });
  21033. var real____cxx_global_var_init_180 = asm["___cxx_global_var_init_180"];
  21034. asm["___cxx_global_var_init_180"] = (function() {
  21035. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21036. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21037. return real____cxx_global_var_init_180.apply(null, arguments);
  21038. });
  21039. var real____cxx_global_var_init_181 = asm["___cxx_global_var_init_181"];
  21040. asm["___cxx_global_var_init_181"] = (function() {
  21041. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21042. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21043. return real____cxx_global_var_init_181.apply(null, arguments);
  21044. });
  21045. var real____cxx_global_var_init_182 = asm["___cxx_global_var_init_182"];
  21046. asm["___cxx_global_var_init_182"] = (function() {
  21047. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21048. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21049. return real____cxx_global_var_init_182.apply(null, arguments);
  21050. });
  21051. var real____cxx_global_var_init_183 = asm["___cxx_global_var_init_183"];
  21052. asm["___cxx_global_var_init_183"] = (function() {
  21053. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21054. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21055. return real____cxx_global_var_init_183.apply(null, arguments);
  21056. });
  21057. var real____cxx_global_var_init_184 = asm["___cxx_global_var_init_184"];
  21058. asm["___cxx_global_var_init_184"] = (function() {
  21059. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21060. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21061. return real____cxx_global_var_init_184.apply(null, arguments);
  21062. });
  21063. var real____cxx_global_var_init_185 = asm["___cxx_global_var_init_185"];
  21064. asm["___cxx_global_var_init_185"] = (function() {
  21065. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21066. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21067. return real____cxx_global_var_init_185.apply(null, arguments);
  21068. });
  21069. var real____cxx_global_var_init_186 = asm["___cxx_global_var_init_186"];
  21070. asm["___cxx_global_var_init_186"] = (function() {
  21071. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21072. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21073. return real____cxx_global_var_init_186.apply(null, arguments);
  21074. });
  21075. var real____cxx_global_var_init_187 = asm["___cxx_global_var_init_187"];
  21076. asm["___cxx_global_var_init_187"] = (function() {
  21077. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21078. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21079. return real____cxx_global_var_init_187.apply(null, arguments);
  21080. });
  21081. var real____cxx_global_var_init_188 = asm["___cxx_global_var_init_188"];
  21082. asm["___cxx_global_var_init_188"] = (function() {
  21083. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21084. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21085. return real____cxx_global_var_init_188.apply(null, arguments);
  21086. });
  21087. var real____cxx_global_var_init_189 = asm["___cxx_global_var_init_189"];
  21088. asm["___cxx_global_var_init_189"] = (function() {
  21089. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21090. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21091. return real____cxx_global_var_init_189.apply(null, arguments);
  21092. });
  21093. var real____cxx_global_var_init_19 = asm["___cxx_global_var_init_19"];
  21094. asm["___cxx_global_var_init_19"] = (function() {
  21095. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21096. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21097. return real____cxx_global_var_init_19.apply(null, arguments);
  21098. });
  21099. var real____cxx_global_var_init_190 = asm["___cxx_global_var_init_190"];
  21100. asm["___cxx_global_var_init_190"] = (function() {
  21101. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21102. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21103. return real____cxx_global_var_init_190.apply(null, arguments);
  21104. });
  21105. var real____cxx_global_var_init_191 = asm["___cxx_global_var_init_191"];
  21106. asm["___cxx_global_var_init_191"] = (function() {
  21107. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21108. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21109. return real____cxx_global_var_init_191.apply(null, arguments);
  21110. });
  21111. var real____cxx_global_var_init_192 = asm["___cxx_global_var_init_192"];
  21112. asm["___cxx_global_var_init_192"] = (function() {
  21113. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21114. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21115. return real____cxx_global_var_init_192.apply(null, arguments);
  21116. });
  21117. var real____cxx_global_var_init_192_8380 = asm["___cxx_global_var_init_192_8380"];
  21118. asm["___cxx_global_var_init_192_8380"] = (function() {
  21119. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21120. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21121. return real____cxx_global_var_init_192_8380.apply(null, arguments);
  21122. });
  21123. var real____cxx_global_var_init_193 = asm["___cxx_global_var_init_193"];
  21124. asm["___cxx_global_var_init_193"] = (function() {
  21125. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21126. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21127. return real____cxx_global_var_init_193.apply(null, arguments);
  21128. });
  21129. var real____cxx_global_var_init_193_8381 = asm["___cxx_global_var_init_193_8381"];
  21130. asm["___cxx_global_var_init_193_8381"] = (function() {
  21131. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21132. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21133. return real____cxx_global_var_init_193_8381.apply(null, arguments);
  21134. });
  21135. var real____cxx_global_var_init_194 = asm["___cxx_global_var_init_194"];
  21136. asm["___cxx_global_var_init_194"] = (function() {
  21137. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21138. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21139. return real____cxx_global_var_init_194.apply(null, arguments);
  21140. });
  21141. var real____cxx_global_var_init_194_8382 = asm["___cxx_global_var_init_194_8382"];
  21142. asm["___cxx_global_var_init_194_8382"] = (function() {
  21143. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21144. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21145. return real____cxx_global_var_init_194_8382.apply(null, arguments);
  21146. });
  21147. var real____cxx_global_var_init_195 = asm["___cxx_global_var_init_195"];
  21148. asm["___cxx_global_var_init_195"] = (function() {
  21149. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21150. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21151. return real____cxx_global_var_init_195.apply(null, arguments);
  21152. });
  21153. var real____cxx_global_var_init_195_8383 = asm["___cxx_global_var_init_195_8383"];
  21154. asm["___cxx_global_var_init_195_8383"] = (function() {
  21155. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21156. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21157. return real____cxx_global_var_init_195_8383.apply(null, arguments);
  21158. });
  21159. var real____cxx_global_var_init_196 = asm["___cxx_global_var_init_196"];
  21160. asm["___cxx_global_var_init_196"] = (function() {
  21161. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21162. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21163. return real____cxx_global_var_init_196.apply(null, arguments);
  21164. });
  21165. var real____cxx_global_var_init_196_8384 = asm["___cxx_global_var_init_196_8384"];
  21166. asm["___cxx_global_var_init_196_8384"] = (function() {
  21167. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21168. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21169. return real____cxx_global_var_init_196_8384.apply(null, arguments);
  21170. });
  21171. var real____cxx_global_var_init_197 = asm["___cxx_global_var_init_197"];
  21172. asm["___cxx_global_var_init_197"] = (function() {
  21173. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21174. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21175. return real____cxx_global_var_init_197.apply(null, arguments);
  21176. });
  21177. var real____cxx_global_var_init_197_8385 = asm["___cxx_global_var_init_197_8385"];
  21178. asm["___cxx_global_var_init_197_8385"] = (function() {
  21179. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21180. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21181. return real____cxx_global_var_init_197_8385.apply(null, arguments);
  21182. });
  21183. var real____cxx_global_var_init_198 = asm["___cxx_global_var_init_198"];
  21184. asm["___cxx_global_var_init_198"] = (function() {
  21185. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21186. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21187. return real____cxx_global_var_init_198.apply(null, arguments);
  21188. });
  21189. var real____cxx_global_var_init_198_8386 = asm["___cxx_global_var_init_198_8386"];
  21190. asm["___cxx_global_var_init_198_8386"] = (function() {
  21191. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21192. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21193. return real____cxx_global_var_init_198_8386.apply(null, arguments);
  21194. });
  21195. var real____cxx_global_var_init_199 = asm["___cxx_global_var_init_199"];
  21196. asm["___cxx_global_var_init_199"] = (function() {
  21197. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21198. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21199. return real____cxx_global_var_init_199.apply(null, arguments);
  21200. });
  21201. var real____cxx_global_var_init_199_1314 = asm["___cxx_global_var_init_199_1314"];
  21202. asm["___cxx_global_var_init_199_1314"] = (function() {
  21203. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21204. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21205. return real____cxx_global_var_init_199_1314.apply(null, arguments);
  21206. });
  21207. var real____cxx_global_var_init_1_7199 = asm["___cxx_global_var_init_1_7199"];
  21208. asm["___cxx_global_var_init_1_7199"] = (function() {
  21209. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21210. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21211. return real____cxx_global_var_init_1_7199.apply(null, arguments);
  21212. });
  21213. var real____cxx_global_var_init_1_9527 = asm["___cxx_global_var_init_1_9527"];
  21214. asm["___cxx_global_var_init_1_9527"] = (function() {
  21215. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21216. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21217. return real____cxx_global_var_init_1_9527.apply(null, arguments);
  21218. });
  21219. var real____cxx_global_var_init_20 = asm["___cxx_global_var_init_20"];
  21220. asm["___cxx_global_var_init_20"] = (function() {
  21221. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21222. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21223. return real____cxx_global_var_init_20.apply(null, arguments);
  21224. });
  21225. var real____cxx_global_var_init_200 = asm["___cxx_global_var_init_200"];
  21226. asm["___cxx_global_var_init_200"] = (function() {
  21227. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21228. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21229. return real____cxx_global_var_init_200.apply(null, arguments);
  21230. });
  21231. var real____cxx_global_var_init_201 = asm["___cxx_global_var_init_201"];
  21232. asm["___cxx_global_var_init_201"] = (function() {
  21233. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21234. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21235. return real____cxx_global_var_init_201.apply(null, arguments);
  21236. });
  21237. var real____cxx_global_var_init_202 = asm["___cxx_global_var_init_202"];
  21238. asm["___cxx_global_var_init_202"] = (function() {
  21239. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21240. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21241. return real____cxx_global_var_init_202.apply(null, arguments);
  21242. });
  21243. var real____cxx_global_var_init_203 = asm["___cxx_global_var_init_203"];
  21244. asm["___cxx_global_var_init_203"] = (function() {
  21245. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21246. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21247. return real____cxx_global_var_init_203.apply(null, arguments);
  21248. });
  21249. var real____cxx_global_var_init_204 = asm["___cxx_global_var_init_204"];
  21250. asm["___cxx_global_var_init_204"] = (function() {
  21251. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21252. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21253. return real____cxx_global_var_init_204.apply(null, arguments);
  21254. });
  21255. var real____cxx_global_var_init_205 = asm["___cxx_global_var_init_205"];
  21256. asm["___cxx_global_var_init_205"] = (function() {
  21257. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21258. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21259. return real____cxx_global_var_init_205.apply(null, arguments);
  21260. });
  21261. var real____cxx_global_var_init_206 = asm["___cxx_global_var_init_206"];
  21262. asm["___cxx_global_var_init_206"] = (function() {
  21263. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21264. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21265. return real____cxx_global_var_init_206.apply(null, arguments);
  21266. });
  21267. var real____cxx_global_var_init_207 = asm["___cxx_global_var_init_207"];
  21268. asm["___cxx_global_var_init_207"] = (function() {
  21269. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21270. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21271. return real____cxx_global_var_init_207.apply(null, arguments);
  21272. });
  21273. var real____cxx_global_var_init_208 = asm["___cxx_global_var_init_208"];
  21274. asm["___cxx_global_var_init_208"] = (function() {
  21275. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21276. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21277. return real____cxx_global_var_init_208.apply(null, arguments);
  21278. });
  21279. var real____cxx_global_var_init_209 = asm["___cxx_global_var_init_209"];
  21280. asm["___cxx_global_var_init_209"] = (function() {
  21281. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21282. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21283. return real____cxx_global_var_init_209.apply(null, arguments);
  21284. });
  21285. var real____cxx_global_var_init_21 = asm["___cxx_global_var_init_21"];
  21286. asm["___cxx_global_var_init_21"] = (function() {
  21287. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21288. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21289. return real____cxx_global_var_init_21.apply(null, arguments);
  21290. });
  21291. var real____cxx_global_var_init_210 = asm["___cxx_global_var_init_210"];
  21292. asm["___cxx_global_var_init_210"] = (function() {
  21293. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21294. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21295. return real____cxx_global_var_init_210.apply(null, arguments);
  21296. });
  21297. var real____cxx_global_var_init_210_8387 = asm["___cxx_global_var_init_210_8387"];
  21298. asm["___cxx_global_var_init_210_8387"] = (function() {
  21299. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21300. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21301. return real____cxx_global_var_init_210_8387.apply(null, arguments);
  21302. });
  21303. var real____cxx_global_var_init_211 = asm["___cxx_global_var_init_211"];
  21304. asm["___cxx_global_var_init_211"] = (function() {
  21305. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21306. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21307. return real____cxx_global_var_init_211.apply(null, arguments);
  21308. });
  21309. var real____cxx_global_var_init_211_8388 = asm["___cxx_global_var_init_211_8388"];
  21310. asm["___cxx_global_var_init_211_8388"] = (function() {
  21311. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21312. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21313. return real____cxx_global_var_init_211_8388.apply(null, arguments);
  21314. });
  21315. var real____cxx_global_var_init_212 = asm["___cxx_global_var_init_212"];
  21316. asm["___cxx_global_var_init_212"] = (function() {
  21317. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21318. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21319. return real____cxx_global_var_init_212.apply(null, arguments);
  21320. });
  21321. var real____cxx_global_var_init_213 = asm["___cxx_global_var_init_213"];
  21322. asm["___cxx_global_var_init_213"] = (function() {
  21323. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21324. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21325. return real____cxx_global_var_init_213.apply(null, arguments);
  21326. });
  21327. var real____cxx_global_var_init_214 = asm["___cxx_global_var_init_214"];
  21328. asm["___cxx_global_var_init_214"] = (function() {
  21329. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21330. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21331. return real____cxx_global_var_init_214.apply(null, arguments);
  21332. });
  21333. var real____cxx_global_var_init_215 = asm["___cxx_global_var_init_215"];
  21334. asm["___cxx_global_var_init_215"] = (function() {
  21335. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21336. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21337. return real____cxx_global_var_init_215.apply(null, arguments);
  21338. });
  21339. var real____cxx_global_var_init_216 = asm["___cxx_global_var_init_216"];
  21340. asm["___cxx_global_var_init_216"] = (function() {
  21341. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21342. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21343. return real____cxx_global_var_init_216.apply(null, arguments);
  21344. });
  21345. var real____cxx_global_var_init_217 = asm["___cxx_global_var_init_217"];
  21346. asm["___cxx_global_var_init_217"] = (function() {
  21347. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21348. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21349. return real____cxx_global_var_init_217.apply(null, arguments);
  21350. });
  21351. var real____cxx_global_var_init_218 = asm["___cxx_global_var_init_218"];
  21352. asm["___cxx_global_var_init_218"] = (function() {
  21353. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21354. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21355. return real____cxx_global_var_init_218.apply(null, arguments);
  21356. });
  21357. var real____cxx_global_var_init_219 = asm["___cxx_global_var_init_219"];
  21358. asm["___cxx_global_var_init_219"] = (function() {
  21359. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21360. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21361. return real____cxx_global_var_init_219.apply(null, arguments);
  21362. });
  21363. var real____cxx_global_var_init_220 = asm["___cxx_global_var_init_220"];
  21364. asm["___cxx_global_var_init_220"] = (function() {
  21365. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21366. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21367. return real____cxx_global_var_init_220.apply(null, arguments);
  21368. });
  21369. var real____cxx_global_var_init_221 = asm["___cxx_global_var_init_221"];
  21370. asm["___cxx_global_var_init_221"] = (function() {
  21371. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21372. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21373. return real____cxx_global_var_init_221.apply(null, arguments);
  21374. });
  21375. var real____cxx_global_var_init_222 = asm["___cxx_global_var_init_222"];
  21376. asm["___cxx_global_var_init_222"] = (function() {
  21377. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21378. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21379. return real____cxx_global_var_init_222.apply(null, arguments);
  21380. });
  21381. var real____cxx_global_var_init_223 = asm["___cxx_global_var_init_223"];
  21382. asm["___cxx_global_var_init_223"] = (function() {
  21383. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21384. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21385. return real____cxx_global_var_init_223.apply(null, arguments);
  21386. });
  21387. var real____cxx_global_var_init_224 = asm["___cxx_global_var_init_224"];
  21388. asm["___cxx_global_var_init_224"] = (function() {
  21389. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21390. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21391. return real____cxx_global_var_init_224.apply(null, arguments);
  21392. });
  21393. var real____cxx_global_var_init_225 = asm["___cxx_global_var_init_225"];
  21394. asm["___cxx_global_var_init_225"] = (function() {
  21395. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21396. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21397. return real____cxx_global_var_init_225.apply(null, arguments);
  21398. });
  21399. var real____cxx_global_var_init_226 = asm["___cxx_global_var_init_226"];
  21400. asm["___cxx_global_var_init_226"] = (function() {
  21401. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21402. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21403. return real____cxx_global_var_init_226.apply(null, arguments);
  21404. });
  21405. var real____cxx_global_var_init_227 = asm["___cxx_global_var_init_227"];
  21406. asm["___cxx_global_var_init_227"] = (function() {
  21407. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21408. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21409. return real____cxx_global_var_init_227.apply(null, arguments);
  21410. });
  21411. var real____cxx_global_var_init_25 = asm["___cxx_global_var_init_25"];
  21412. asm["___cxx_global_var_init_25"] = (function() {
  21413. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21414. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21415. return real____cxx_global_var_init_25.apply(null, arguments);
  21416. });
  21417. var real____cxx_global_var_init_26 = asm["___cxx_global_var_init_26"];
  21418. asm["___cxx_global_var_init_26"] = (function() {
  21419. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21420. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21421. return real____cxx_global_var_init_26.apply(null, arguments);
  21422. });
  21423. var real____cxx_global_var_init_27 = asm["___cxx_global_var_init_27"];
  21424. asm["___cxx_global_var_init_27"] = (function() {
  21425. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21426. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21427. return real____cxx_global_var_init_27.apply(null, arguments);
  21428. });
  21429. var real____cxx_global_var_init_27_5703 = asm["___cxx_global_var_init_27_5703"];
  21430. asm["___cxx_global_var_init_27_5703"] = (function() {
  21431. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21432. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21433. return real____cxx_global_var_init_27_5703.apply(null, arguments);
  21434. });
  21435. var real____cxx_global_var_init_27_9088 = asm["___cxx_global_var_init_27_9088"];
  21436. asm["___cxx_global_var_init_27_9088"] = (function() {
  21437. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21438. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21439. return real____cxx_global_var_init_27_9088.apply(null, arguments);
  21440. });
  21441. var real____cxx_global_var_init_28 = asm["___cxx_global_var_init_28"];
  21442. asm["___cxx_global_var_init_28"] = (function() {
  21443. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21444. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21445. return real____cxx_global_var_init_28.apply(null, arguments);
  21446. });
  21447. var real____cxx_global_var_init_28_7239 = asm["___cxx_global_var_init_28_7239"];
  21448. asm["___cxx_global_var_init_28_7239"] = (function() {
  21449. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21450. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21451. return real____cxx_global_var_init_28_7239.apply(null, arguments);
  21452. });
  21453. var real____cxx_global_var_init_29_4254 = asm["___cxx_global_var_init_29_4254"];
  21454. asm["___cxx_global_var_init_29_4254"] = (function() {
  21455. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21456. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21457. return real____cxx_global_var_init_29_4254.apply(null, arguments);
  21458. });
  21459. var real____cxx_global_var_init_29_7240 = asm["___cxx_global_var_init_29_7240"];
  21460. asm["___cxx_global_var_init_29_7240"] = (function() {
  21461. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21462. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21463. return real____cxx_global_var_init_29_7240.apply(null, arguments);
  21464. });
  21465. var real____cxx_global_var_init_29_9089 = asm["___cxx_global_var_init_29_9089"];
  21466. asm["___cxx_global_var_init_29_9089"] = (function() {
  21467. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21468. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21469. return real____cxx_global_var_init_29_9089.apply(null, arguments);
  21470. });
  21471. var real____cxx_global_var_init_2_9528 = asm["___cxx_global_var_init_2_9528"];
  21472. asm["___cxx_global_var_init_2_9528"] = (function() {
  21473. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21474. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21475. return real____cxx_global_var_init_2_9528.apply(null, arguments);
  21476. });
  21477. var real____cxx_global_var_init_2_9864 = asm["___cxx_global_var_init_2_9864"];
  21478. asm["___cxx_global_var_init_2_9864"] = (function() {
  21479. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21480. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21481. return real____cxx_global_var_init_2_9864.apply(null, arguments);
  21482. });
  21483. var real____cxx_global_var_init_30 = asm["___cxx_global_var_init_30"];
  21484. asm["___cxx_global_var_init_30"] = (function() {
  21485. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21486. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21487. return real____cxx_global_var_init_30.apply(null, arguments);
  21488. });
  21489. var real____cxx_global_var_init_30_4255 = asm["___cxx_global_var_init_30_4255"];
  21490. asm["___cxx_global_var_init_30_4255"] = (function() {
  21491. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21492. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21493. return real____cxx_global_var_init_30_4255.apply(null, arguments);
  21494. });
  21495. var real____cxx_global_var_init_31_4256 = asm["___cxx_global_var_init_31_4256"];
  21496. asm["___cxx_global_var_init_31_4256"] = (function() {
  21497. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21498. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21499. return real____cxx_global_var_init_31_4256.apply(null, arguments);
  21500. });
  21501. var real____cxx_global_var_init_31_8788 = asm["___cxx_global_var_init_31_8788"];
  21502. asm["___cxx_global_var_init_31_8788"] = (function() {
  21503. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21504. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21505. return real____cxx_global_var_init_31_8788.apply(null, arguments);
  21506. });
  21507. var real____cxx_global_var_init_31_9090 = asm["___cxx_global_var_init_31_9090"];
  21508. asm["___cxx_global_var_init_31_9090"] = (function() {
  21509. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21510. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21511. return real____cxx_global_var_init_31_9090.apply(null, arguments);
  21512. });
  21513. var real____cxx_global_var_init_32 = asm["___cxx_global_var_init_32"];
  21514. asm["___cxx_global_var_init_32"] = (function() {
  21515. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21516. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21517. return real____cxx_global_var_init_32.apply(null, arguments);
  21518. });
  21519. var real____cxx_global_var_init_33_10225 = asm["___cxx_global_var_init_33_10225"];
  21520. asm["___cxx_global_var_init_33_10225"] = (function() {
  21521. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21522. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21523. return real____cxx_global_var_init_33_10225.apply(null, arguments);
  21524. });
  21525. var real____cxx_global_var_init_33_8789 = asm["___cxx_global_var_init_33_8789"];
  21526. asm["___cxx_global_var_init_33_8789"] = (function() {
  21527. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21528. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21529. return real____cxx_global_var_init_33_8789.apply(null, arguments);
  21530. });
  21531. var real____cxx_global_var_init_34 = asm["___cxx_global_var_init_34"];
  21532. asm["___cxx_global_var_init_34"] = (function() {
  21533. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21534. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21535. return real____cxx_global_var_init_34.apply(null, arguments);
  21536. });
  21537. var real____cxx_global_var_init_34_8790 = asm["___cxx_global_var_init_34_8790"];
  21538. asm["___cxx_global_var_init_34_8790"] = (function() {
  21539. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21540. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21541. return real____cxx_global_var_init_34_8790.apply(null, arguments);
  21542. });
  21543. var real____cxx_global_var_init_34_9202 = asm["___cxx_global_var_init_34_9202"];
  21544. asm["___cxx_global_var_init_34_9202"] = (function() {
  21545. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21546. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21547. return real____cxx_global_var_init_34_9202.apply(null, arguments);
  21548. });
  21549. var real____cxx_global_var_init_35 = asm["___cxx_global_var_init_35"];
  21550. asm["___cxx_global_var_init_35"] = (function() {
  21551. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21552. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21553. return real____cxx_global_var_init_35.apply(null, arguments);
  21554. });
  21555. var real____cxx_global_var_init_35_7727 = asm["___cxx_global_var_init_35_7727"];
  21556. asm["___cxx_global_var_init_35_7727"] = (function() {
  21557. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21558. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21559. return real____cxx_global_var_init_35_7727.apply(null, arguments);
  21560. });
  21561. var real____cxx_global_var_init_36 = asm["___cxx_global_var_init_36"];
  21562. asm["___cxx_global_var_init_36"] = (function() {
  21563. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21564. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21565. return real____cxx_global_var_init_36.apply(null, arguments);
  21566. });
  21567. var real____cxx_global_var_init_36_7728 = asm["___cxx_global_var_init_36_7728"];
  21568. asm["___cxx_global_var_init_36_7728"] = (function() {
  21569. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21570. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21571. return real____cxx_global_var_init_36_7728.apply(null, arguments);
  21572. });
  21573. var real____cxx_global_var_init_37 = asm["___cxx_global_var_init_37"];
  21574. asm["___cxx_global_var_init_37"] = (function() {
  21575. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21576. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21577. return real____cxx_global_var_init_37.apply(null, arguments);
  21578. });
  21579. var real____cxx_global_var_init_38 = asm["___cxx_global_var_init_38"];
  21580. asm["___cxx_global_var_init_38"] = (function() {
  21581. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21582. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21583. return real____cxx_global_var_init_38.apply(null, arguments);
  21584. });
  21585. var real____cxx_global_var_init_39 = asm["___cxx_global_var_init_39"];
  21586. asm["___cxx_global_var_init_39"] = (function() {
  21587. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21588. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21589. return real____cxx_global_var_init_39.apply(null, arguments);
  21590. });
  21591. var real____cxx_global_var_init_3_27 = asm["___cxx_global_var_init_3_27"];
  21592. asm["___cxx_global_var_init_3_27"] = (function() {
  21593. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21594. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21595. return real____cxx_global_var_init_3_27.apply(null, arguments);
  21596. });
  21597. var real____cxx_global_var_init_3_4490 = asm["___cxx_global_var_init_3_4490"];
  21598. asm["___cxx_global_var_init_3_4490"] = (function() {
  21599. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21600. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21601. return real____cxx_global_var_init_3_4490.apply(null, arguments);
  21602. });
  21603. var real____cxx_global_var_init_3_9865 = asm["___cxx_global_var_init_3_9865"];
  21604. asm["___cxx_global_var_init_3_9865"] = (function() {
  21605. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21606. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21607. return real____cxx_global_var_init_3_9865.apply(null, arguments);
  21608. });
  21609. var real____cxx_global_var_init_40 = asm["___cxx_global_var_init_40"];
  21610. asm["___cxx_global_var_init_40"] = (function() {
  21611. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21612. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21613. return real____cxx_global_var_init_40.apply(null, arguments);
  21614. });
  21615. var real____cxx_global_var_init_41 = asm["___cxx_global_var_init_41"];
  21616. asm["___cxx_global_var_init_41"] = (function() {
  21617. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21618. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21619. return real____cxx_global_var_init_41.apply(null, arguments);
  21620. });
  21621. var real____cxx_global_var_init_4115 = asm["___cxx_global_var_init_4115"];
  21622. asm["___cxx_global_var_init_4115"] = (function() {
  21623. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21624. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21625. return real____cxx_global_var_init_4115.apply(null, arguments);
  21626. });
  21627. var real____cxx_global_var_init_41_13464 = asm["___cxx_global_var_init_41_13464"];
  21628. asm["___cxx_global_var_init_41_13464"] = (function() {
  21629. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21630. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21631. return real____cxx_global_var_init_41_13464.apply(null, arguments);
  21632. });
  21633. var real____cxx_global_var_init_42 = asm["___cxx_global_var_init_42"];
  21634. asm["___cxx_global_var_init_42"] = (function() {
  21635. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21636. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21637. return real____cxx_global_var_init_42.apply(null, arguments);
  21638. });
  21639. var real____cxx_global_var_init_43 = asm["___cxx_global_var_init_43"];
  21640. asm["___cxx_global_var_init_43"] = (function() {
  21641. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21642. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21643. return real____cxx_global_var_init_43.apply(null, arguments);
  21644. });
  21645. var real____cxx_global_var_init_43_4837 = asm["___cxx_global_var_init_43_4837"];
  21646. asm["___cxx_global_var_init_43_4837"] = (function() {
  21647. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21648. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21649. return real____cxx_global_var_init_43_4837.apply(null, arguments);
  21650. });
  21651. var real____cxx_global_var_init_44 = asm["___cxx_global_var_init_44"];
  21652. asm["___cxx_global_var_init_44"] = (function() {
  21653. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21654. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21655. return real____cxx_global_var_init_44.apply(null, arguments);
  21656. });
  21657. var real____cxx_global_var_init_44_7946 = asm["___cxx_global_var_init_44_7946"];
  21658. asm["___cxx_global_var_init_44_7946"] = (function() {
  21659. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21660. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21661. return real____cxx_global_var_init_44_7946.apply(null, arguments);
  21662. });
  21663. var real____cxx_global_var_init_45 = asm["___cxx_global_var_init_45"];
  21664. asm["___cxx_global_var_init_45"] = (function() {
  21665. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21666. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21667. return real____cxx_global_var_init_45.apply(null, arguments);
  21668. });
  21669. var real____cxx_global_var_init_46 = asm["___cxx_global_var_init_46"];
  21670. asm["___cxx_global_var_init_46"] = (function() {
  21671. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21672. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21673. return real____cxx_global_var_init_46.apply(null, arguments);
  21674. });
  21675. var real____cxx_global_var_init_46_8335 = asm["___cxx_global_var_init_46_8335"];
  21676. asm["___cxx_global_var_init_46_8335"] = (function() {
  21677. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21678. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21679. return real____cxx_global_var_init_46_8335.apply(null, arguments);
  21680. });
  21681. var real____cxx_global_var_init_47 = asm["___cxx_global_var_init_47"];
  21682. asm["___cxx_global_var_init_47"] = (function() {
  21683. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21684. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21685. return real____cxx_global_var_init_47.apply(null, arguments);
  21686. });
  21687. var real____cxx_global_var_init_47_12782 = asm["___cxx_global_var_init_47_12782"];
  21688. asm["___cxx_global_var_init_47_12782"] = (function() {
  21689. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21690. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21691. return real____cxx_global_var_init_47_12782.apply(null, arguments);
  21692. });
  21693. var real____cxx_global_var_init_47_1315 = asm["___cxx_global_var_init_47_1315"];
  21694. asm["___cxx_global_var_init_47_1315"] = (function() {
  21695. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21696. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21697. return real____cxx_global_var_init_47_1315.apply(null, arguments);
  21698. });
  21699. var real____cxx_global_var_init_47_8336 = asm["___cxx_global_var_init_47_8336"];
  21700. asm["___cxx_global_var_init_47_8336"] = (function() {
  21701. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21702. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21703. return real____cxx_global_var_init_47_8336.apply(null, arguments);
  21704. });
  21705. var real____cxx_global_var_init_48 = asm["___cxx_global_var_init_48"];
  21706. asm["___cxx_global_var_init_48"] = (function() {
  21707. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21708. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21709. return real____cxx_global_var_init_48.apply(null, arguments);
  21710. });
  21711. var real____cxx_global_var_init_48_1316 = asm["___cxx_global_var_init_48_1316"];
  21712. asm["___cxx_global_var_init_48_1316"] = (function() {
  21713. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21714. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21715. return real____cxx_global_var_init_48_1316.apply(null, arguments);
  21716. });
  21717. var real____cxx_global_var_init_48_8337 = asm["___cxx_global_var_init_48_8337"];
  21718. asm["___cxx_global_var_init_48_8337"] = (function() {
  21719. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21720. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21721. return real____cxx_global_var_init_48_8337.apply(null, arguments);
  21722. });
  21723. var real____cxx_global_var_init_49 = asm["___cxx_global_var_init_49"];
  21724. asm["___cxx_global_var_init_49"] = (function() {
  21725. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21726. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21727. return real____cxx_global_var_init_49.apply(null, arguments);
  21728. });
  21729. var real____cxx_global_var_init_49_8338 = asm["___cxx_global_var_init_49_8338"];
  21730. asm["___cxx_global_var_init_49_8338"] = (function() {
  21731. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21732. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21733. return real____cxx_global_var_init_49_8338.apply(null, arguments);
  21734. });
  21735. var real____cxx_global_var_init_4_7142 = asm["___cxx_global_var_init_4_7142"];
  21736. asm["___cxx_global_var_init_4_7142"] = (function() {
  21737. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21738. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21739. return real____cxx_global_var_init_4_7142.apply(null, arguments);
  21740. });
  21741. var real____cxx_global_var_init_4_9866 = asm["___cxx_global_var_init_4_9866"];
  21742. asm["___cxx_global_var_init_4_9866"] = (function() {
  21743. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21744. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21745. return real____cxx_global_var_init_4_9866.apply(null, arguments);
  21746. });
  21747. var real____cxx_global_var_init_5 = asm["___cxx_global_var_init_5"];
  21748. asm["___cxx_global_var_init_5"] = (function() {
  21749. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21750. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21751. return real____cxx_global_var_init_5.apply(null, arguments);
  21752. });
  21753. var real____cxx_global_var_init_50 = asm["___cxx_global_var_init_50"];
  21754. asm["___cxx_global_var_init_50"] = (function() {
  21755. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21756. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21757. return real____cxx_global_var_init_50.apply(null, arguments);
  21758. });
  21759. var real____cxx_global_var_init_51 = asm["___cxx_global_var_init_51"];
  21760. asm["___cxx_global_var_init_51"] = (function() {
  21761. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21762. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21763. return real____cxx_global_var_init_51.apply(null, arguments);
  21764. });
  21765. var real____cxx_global_var_init_52 = asm["___cxx_global_var_init_52"];
  21766. asm["___cxx_global_var_init_52"] = (function() {
  21767. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21768. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21769. return real____cxx_global_var_init_52.apply(null, arguments);
  21770. });
  21771. var real____cxx_global_var_init_53 = asm["___cxx_global_var_init_53"];
  21772. asm["___cxx_global_var_init_53"] = (function() {
  21773. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21774. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21775. return real____cxx_global_var_init_53.apply(null, arguments);
  21776. });
  21777. var real____cxx_global_var_init_53_8339 = asm["___cxx_global_var_init_53_8339"];
  21778. asm["___cxx_global_var_init_53_8339"] = (function() {
  21779. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21780. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21781. return real____cxx_global_var_init_53_8339.apply(null, arguments);
  21782. });
  21783. var real____cxx_global_var_init_54 = asm["___cxx_global_var_init_54"];
  21784. asm["___cxx_global_var_init_54"] = (function() {
  21785. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21786. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21787. return real____cxx_global_var_init_54.apply(null, arguments);
  21788. });
  21789. var real____cxx_global_var_init_55 = asm["___cxx_global_var_init_55"];
  21790. asm["___cxx_global_var_init_55"] = (function() {
  21791. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21792. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21793. return real____cxx_global_var_init_55.apply(null, arguments);
  21794. });
  21795. var real____cxx_global_var_init_55_9709 = asm["___cxx_global_var_init_55_9709"];
  21796. asm["___cxx_global_var_init_55_9709"] = (function() {
  21797. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21798. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21799. return real____cxx_global_var_init_55_9709.apply(null, arguments);
  21800. });
  21801. var real____cxx_global_var_init_56 = asm["___cxx_global_var_init_56"];
  21802. asm["___cxx_global_var_init_56"] = (function() {
  21803. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21804. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21805. return real____cxx_global_var_init_56.apply(null, arguments);
  21806. });
  21807. var real____cxx_global_var_init_57 = asm["___cxx_global_var_init_57"];
  21808. asm["___cxx_global_var_init_57"] = (function() {
  21809. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21810. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21811. return real____cxx_global_var_init_57.apply(null, arguments);
  21812. });
  21813. var real____cxx_global_var_init_58 = asm["___cxx_global_var_init_58"];
  21814. asm["___cxx_global_var_init_58"] = (function() {
  21815. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21816. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21817. return real____cxx_global_var_init_58.apply(null, arguments);
  21818. });
  21819. var real____cxx_global_var_init_58_4838 = asm["___cxx_global_var_init_58_4838"];
  21820. asm["___cxx_global_var_init_58_4838"] = (function() {
  21821. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21822. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21823. return real____cxx_global_var_init_58_4838.apply(null, arguments);
  21824. });
  21825. var real____cxx_global_var_init_58_9710 = asm["___cxx_global_var_init_58_9710"];
  21826. asm["___cxx_global_var_init_58_9710"] = (function() {
  21827. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21828. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21829. return real____cxx_global_var_init_58_9710.apply(null, arguments);
  21830. });
  21831. var real____cxx_global_var_init_59 = asm["___cxx_global_var_init_59"];
  21832. asm["___cxx_global_var_init_59"] = (function() {
  21833. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21834. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21835. return real____cxx_global_var_init_59.apply(null, arguments);
  21836. });
  21837. var real____cxx_global_var_init_59_4839 = asm["___cxx_global_var_init_59_4839"];
  21838. asm["___cxx_global_var_init_59_4839"] = (function() {
  21839. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21840. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21841. return real____cxx_global_var_init_59_4839.apply(null, arguments);
  21842. });
  21843. var real____cxx_global_var_init_59_9711 = asm["___cxx_global_var_init_59_9711"];
  21844. asm["___cxx_global_var_init_59_9711"] = (function() {
  21845. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21846. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21847. return real____cxx_global_var_init_59_9711.apply(null, arguments);
  21848. });
  21849. var real____cxx_global_var_init_5_9867 = asm["___cxx_global_var_init_5_9867"];
  21850. asm["___cxx_global_var_init_5_9867"] = (function() {
  21851. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21852. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21853. return real____cxx_global_var_init_5_9867.apply(null, arguments);
  21854. });
  21855. var real____cxx_global_var_init_60 = asm["___cxx_global_var_init_60"];
  21856. asm["___cxx_global_var_init_60"] = (function() {
  21857. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21858. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21859. return real____cxx_global_var_init_60.apply(null, arguments);
  21860. });
  21861. var real____cxx_global_var_init_60_4840 = asm["___cxx_global_var_init_60_4840"];
  21862. asm["___cxx_global_var_init_60_4840"] = (function() {
  21863. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21864. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21865. return real____cxx_global_var_init_60_4840.apply(null, arguments);
  21866. });
  21867. var real____cxx_global_var_init_60_9712 = asm["___cxx_global_var_init_60_9712"];
  21868. asm["___cxx_global_var_init_60_9712"] = (function() {
  21869. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21870. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21871. return real____cxx_global_var_init_60_9712.apply(null, arguments);
  21872. });
  21873. var real____cxx_global_var_init_61 = asm["___cxx_global_var_init_61"];
  21874. asm["___cxx_global_var_init_61"] = (function() {
  21875. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21876. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21877. return real____cxx_global_var_init_61.apply(null, arguments);
  21878. });
  21879. var real____cxx_global_var_init_61_9713 = asm["___cxx_global_var_init_61_9713"];
  21880. asm["___cxx_global_var_init_61_9713"] = (function() {
  21881. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21882. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21883. return real____cxx_global_var_init_61_9713.apply(null, arguments);
  21884. });
  21885. var real____cxx_global_var_init_63 = asm["___cxx_global_var_init_63"];
  21886. asm["___cxx_global_var_init_63"] = (function() {
  21887. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21888. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21889. return real____cxx_global_var_init_63.apply(null, arguments);
  21890. });
  21891. var real____cxx_global_var_init_67 = asm["___cxx_global_var_init_67"];
  21892. asm["___cxx_global_var_init_67"] = (function() {
  21893. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21894. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21895. return real____cxx_global_var_init_67.apply(null, arguments);
  21896. });
  21897. var real____cxx_global_var_init_6_4577 = asm["___cxx_global_var_init_6_4577"];
  21898. asm["___cxx_global_var_init_6_4577"] = (function() {
  21899. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21900. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21901. return real____cxx_global_var_init_6_4577.apply(null, arguments);
  21902. });
  21903. var real____cxx_global_var_init_6_748 = asm["___cxx_global_var_init_6_748"];
  21904. asm["___cxx_global_var_init_6_748"] = (function() {
  21905. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21906. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21907. return real____cxx_global_var_init_6_748.apply(null, arguments);
  21908. });
  21909. var real____cxx_global_var_init_6_9868 = asm["___cxx_global_var_init_6_9868"];
  21910. asm["___cxx_global_var_init_6_9868"] = (function() {
  21911. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21912. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21913. return real____cxx_global_var_init_6_9868.apply(null, arguments);
  21914. });
  21915. var real____cxx_global_var_init_7 = asm["___cxx_global_var_init_7"];
  21916. asm["___cxx_global_var_init_7"] = (function() {
  21917. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21918. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21919. return real____cxx_global_var_init_7.apply(null, arguments);
  21920. });
  21921. var real____cxx_global_var_init_71 = asm["___cxx_global_var_init_71"];
  21922. asm["___cxx_global_var_init_71"] = (function() {
  21923. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21924. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21925. return real____cxx_global_var_init_71.apply(null, arguments);
  21926. });
  21927. var real____cxx_global_var_init_78 = asm["___cxx_global_var_init_78"];
  21928. asm["___cxx_global_var_init_78"] = (function() {
  21929. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21930. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21931. return real____cxx_global_var_init_78.apply(null, arguments);
  21932. });
  21933. var real____cxx_global_var_init_79 = asm["___cxx_global_var_init_79"];
  21934. asm["___cxx_global_var_init_79"] = (function() {
  21935. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21936. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21937. return real____cxx_global_var_init_79.apply(null, arguments);
  21938. });
  21939. var real____cxx_global_var_init_7_1313 = asm["___cxx_global_var_init_7_1313"];
  21940. asm["___cxx_global_var_init_7_1313"] = (function() {
  21941. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21942. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21943. return real____cxx_global_var_init_7_1313.apply(null, arguments);
  21944. });
  21945. var real____cxx_global_var_init_7_4578 = asm["___cxx_global_var_init_7_4578"];
  21946. asm["___cxx_global_var_init_7_4578"] = (function() {
  21947. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21948. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21949. return real____cxx_global_var_init_7_4578.apply(null, arguments);
  21950. });
  21951. var real____cxx_global_var_init_7_9869 = asm["___cxx_global_var_init_7_9869"];
  21952. asm["___cxx_global_var_init_7_9869"] = (function() {
  21953. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21954. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21955. return real____cxx_global_var_init_7_9869.apply(null, arguments);
  21956. });
  21957. var real____cxx_global_var_init_8552 = asm["___cxx_global_var_init_8552"];
  21958. asm["___cxx_global_var_init_8552"] = (function() {
  21959. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21960. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21961. return real____cxx_global_var_init_8552.apply(null, arguments);
  21962. });
  21963. var real____cxx_global_var_init_86 = asm["___cxx_global_var_init_86"];
  21964. asm["___cxx_global_var_init_86"] = (function() {
  21965. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21966. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21967. return real____cxx_global_var_init_86.apply(null, arguments);
  21968. });
  21969. var real____cxx_global_var_init_87 = asm["___cxx_global_var_init_87"];
  21970. asm["___cxx_global_var_init_87"] = (function() {
  21971. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21972. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21973. return real____cxx_global_var_init_87.apply(null, arguments);
  21974. });
  21975. var real____cxx_global_var_init_88 = asm["___cxx_global_var_init_88"];
  21976. asm["___cxx_global_var_init_88"] = (function() {
  21977. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21978. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21979. return real____cxx_global_var_init_88.apply(null, arguments);
  21980. });
  21981. var real____cxx_global_var_init_88_8675 = asm["___cxx_global_var_init_88_8675"];
  21982. asm["___cxx_global_var_init_88_8675"] = (function() {
  21983. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21984. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21985. return real____cxx_global_var_init_88_8675.apply(null, arguments);
  21986. });
  21987. var real____cxx_global_var_init_8_4579 = asm["___cxx_global_var_init_8_4579"];
  21988. asm["___cxx_global_var_init_8_4579"] = (function() {
  21989. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21990. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21991. return real____cxx_global_var_init_8_4579.apply(null, arguments);
  21992. });
  21993. var real____cxx_global_var_init_8_7080 = asm["___cxx_global_var_init_8_7080"];
  21994. asm["___cxx_global_var_init_8_7080"] = (function() {
  21995. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  21996. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  21997. return real____cxx_global_var_init_8_7080.apply(null, arguments);
  21998. });
  21999. var real____cxx_global_var_init_8_9870 = asm["___cxx_global_var_init_8_9870"];
  22000. asm["___cxx_global_var_init_8_9870"] = (function() {
  22001. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22002. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22003. return real____cxx_global_var_init_8_9870.apply(null, arguments);
  22004. });
  22005. var real____cxx_global_var_init_91 = asm["___cxx_global_var_init_91"];
  22006. asm["___cxx_global_var_init_91"] = (function() {
  22007. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22008. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22009. return real____cxx_global_var_init_91.apply(null, arguments);
  22010. });
  22011. var real____cxx_global_var_init_92 = asm["___cxx_global_var_init_92"];
  22012. asm["___cxx_global_var_init_92"] = (function() {
  22013. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22014. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22015. return real____cxx_global_var_init_92.apply(null, arguments);
  22016. });
  22017. var real____cxx_global_var_init_92_6304 = asm["___cxx_global_var_init_92_6304"];
  22018. asm["___cxx_global_var_init_92_6304"] = (function() {
  22019. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22020. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22021. return real____cxx_global_var_init_92_6304.apply(null, arguments);
  22022. });
  22023. var real____cxx_global_var_init_93 = asm["___cxx_global_var_init_93"];
  22024. asm["___cxx_global_var_init_93"] = (function() {
  22025. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22026. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22027. return real____cxx_global_var_init_93.apply(null, arguments);
  22028. });
  22029. var real____cxx_global_var_init_93_6305 = asm["___cxx_global_var_init_93_6305"];
  22030. asm["___cxx_global_var_init_93_6305"] = (function() {
  22031. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22032. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22033. return real____cxx_global_var_init_93_6305.apply(null, arguments);
  22034. });
  22035. var real____cxx_global_var_init_94 = asm["___cxx_global_var_init_94"];
  22036. asm["___cxx_global_var_init_94"] = (function() {
  22037. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22038. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22039. return real____cxx_global_var_init_94.apply(null, arguments);
  22040. });
  22041. var real____cxx_global_var_init_94_6306 = asm["___cxx_global_var_init_94_6306"];
  22042. asm["___cxx_global_var_init_94_6306"] = (function() {
  22043. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22044. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22045. return real____cxx_global_var_init_94_6306.apply(null, arguments);
  22046. });
  22047. var real____cxx_global_var_init_95 = asm["___cxx_global_var_init_95"];
  22048. asm["___cxx_global_var_init_95"] = (function() {
  22049. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22050. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22051. return real____cxx_global_var_init_95.apply(null, arguments);
  22052. });
  22053. var real____cxx_global_var_init_9_4580 = asm["___cxx_global_var_init_9_4580"];
  22054. asm["___cxx_global_var_init_9_4580"] = (function() {
  22055. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22056. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22057. return real____cxx_global_var_init_9_4580.apply(null, arguments);
  22058. });
  22059. var real____cxx_global_var_init_9_9871 = asm["___cxx_global_var_init_9_9871"];
  22060. asm["___cxx_global_var_init_9_9871"] = (function() {
  22061. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22062. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22063. return real____cxx_global_var_init_9_9871.apply(null, arguments);
  22064. });
  22065. var real____emscripten_environ_constructor = asm["___emscripten_environ_constructor"];
  22066. asm["___emscripten_environ_constructor"] = (function() {
  22067. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22068. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22069. return real____emscripten_environ_constructor.apply(null, arguments);
  22070. });
  22071. var real____errno_location = asm["___errno_location"];
  22072. asm["___errno_location"] = (function() {
  22073. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22074. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22075. return real____errno_location.apply(null, arguments);
  22076. });
  22077. var real___get_daylight = asm["__get_daylight"];
  22078. asm["__get_daylight"] = (function() {
  22079. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22080. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22081. return real___get_daylight.apply(null, arguments);
  22082. });
  22083. var real___get_environ = asm["__get_environ"];
  22084. asm["__get_environ"] = (function() {
  22085. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22086. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22087. return real___get_environ.apply(null, arguments);
  22088. });
  22089. var real___get_timezone = asm["__get_timezone"];
  22090. asm["__get_timezone"] = (function() {
  22091. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22092. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22093. return real___get_timezone.apply(null, arguments);
  22094. });
  22095. var real___get_tzname = asm["__get_tzname"];
  22096. asm["__get_tzname"] = (function() {
  22097. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22098. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22099. return real___get_tzname.apply(null, arguments);
  22100. });
  22101. var real__fflush = asm["_fflush"];
  22102. asm["_fflush"] = (function() {
  22103. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22104. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22105. return real__fflush.apply(null, arguments);
  22106. });
  22107. var real__free = asm["_free"];
  22108. asm["_free"] = (function() {
  22109. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22110. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22111. return real__free.apply(null, arguments);
  22112. });
  22113. var real__htonl = asm["_htonl"];
  22114. asm["_htonl"] = (function() {
  22115. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22116. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22117. return real__htonl.apply(null, arguments);
  22118. });
  22119. var real__htons = asm["_htons"];
  22120. asm["_htons"] = (function() {
  22121. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22122. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22123. return real__htons.apply(null, arguments);
  22124. });
  22125. var real__i64Add = asm["_i64Add"];
  22126. asm["_i64Add"] = (function() {
  22127. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22128. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22129. return real__i64Add.apply(null, arguments);
  22130. });
  22131. var real__llvm_bswap_i16 = asm["_llvm_bswap_i16"];
  22132. asm["_llvm_bswap_i16"] = (function() {
  22133. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22134. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22135. return real__llvm_bswap_i16.apply(null, arguments);
  22136. });
  22137. var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"];
  22138. asm["_llvm_bswap_i32"] = (function() {
  22139. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22140. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22141. return real__llvm_bswap_i32.apply(null, arguments);
  22142. });
  22143. var real__llvm_ctlz_i64 = asm["_llvm_ctlz_i64"];
  22144. asm["_llvm_ctlz_i64"] = (function() {
  22145. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22146. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22147. return real__llvm_ctlz_i64.apply(null, arguments);
  22148. });
  22149. var real__llvm_ctpop_i32 = asm["_llvm_ctpop_i32"];
  22150. asm["_llvm_ctpop_i32"] = (function() {
  22151. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22152. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22153. return real__llvm_ctpop_i32.apply(null, arguments);
  22154. });
  22155. var real__llvm_maxnum_f32 = asm["_llvm_maxnum_f32"];
  22156. asm["_llvm_maxnum_f32"] = (function() {
  22157. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22158. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22159. return real__llvm_maxnum_f32.apply(null, arguments);
  22160. });
  22161. var real__llvm_maxnum_f64 = asm["_llvm_maxnum_f64"];
  22162. asm["_llvm_maxnum_f64"] = (function() {
  22163. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22164. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22165. return real__llvm_maxnum_f64.apply(null, arguments);
  22166. });
  22167. var real__llvm_minnum_f32 = asm["_llvm_minnum_f32"];
  22168. asm["_llvm_minnum_f32"] = (function() {
  22169. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22170. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22171. return real__llvm_minnum_f32.apply(null, arguments);
  22172. });
  22173. var real__llvm_round_f32 = asm["_llvm_round_f32"];
  22174. asm["_llvm_round_f32"] = (function() {
  22175. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22176. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22177. return real__llvm_round_f32.apply(null, arguments);
  22178. });
  22179. var real__main = asm["_main"];
  22180. asm["_main"] = (function() {
  22181. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22182. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22183. return real__main.apply(null, arguments);
  22184. });
  22185. var real__malloc = asm["_malloc"];
  22186. asm["_malloc"] = (function() {
  22187. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22188. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22189. return real__malloc.apply(null, arguments);
  22190. });
  22191. var real__memalign = asm["_memalign"];
  22192. asm["_memalign"] = (function() {
  22193. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22194. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22195. return real__memalign.apply(null, arguments);
  22196. });
  22197. var real__memmove = asm["_memmove"];
  22198. asm["_memmove"] = (function() {
  22199. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22200. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22201. return real__memmove.apply(null, arguments);
  22202. });
  22203. var real__ntohs = asm["_ntohs"];
  22204. asm["_ntohs"] = (function() {
  22205. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22206. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22207. return real__ntohs.apply(null, arguments);
  22208. });
  22209. var real__pthread_cond_broadcast = asm["_pthread_cond_broadcast"];
  22210. asm["_pthread_cond_broadcast"] = (function() {
  22211. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22212. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22213. return real__pthread_cond_broadcast.apply(null, arguments);
  22214. });
  22215. var real__pthread_mutex_lock = asm["_pthread_mutex_lock"];
  22216. asm["_pthread_mutex_lock"] = (function() {
  22217. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22218. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22219. return real__pthread_mutex_lock.apply(null, arguments);
  22220. });
  22221. var real__pthread_mutex_unlock = asm["_pthread_mutex_unlock"];
  22222. asm["_pthread_mutex_unlock"] = (function() {
  22223. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22224. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22225. return real__pthread_mutex_unlock.apply(null, arguments);
  22226. });
  22227. var real__realloc = asm["_realloc"];
  22228. asm["_realloc"] = (function() {
  22229. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22230. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22231. return real__realloc.apply(null, arguments);
  22232. });
  22233. var real__sbrk = asm["_sbrk"];
  22234. asm["_sbrk"] = (function() {
  22235. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22236. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22237. return real__sbrk.apply(null, arguments);
  22238. });
  22239. var real__strlen = asm["_strlen"];
  22240. asm["_strlen"] = (function() {
  22241. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22242. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22243. return real__strlen.apply(null, arguments);
  22244. });
  22245. var real_establishStackSpace = asm["establishStackSpace"];
  22246. asm["establishStackSpace"] = (function() {
  22247. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22248. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22249. return real_establishStackSpace.apply(null, arguments);
  22250. });
  22251. var real_getTempRet0 = asm["getTempRet0"];
  22252. asm["getTempRet0"] = (function() {
  22253. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22254. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22255. return real_getTempRet0.apply(null, arguments);
  22256. });
  22257. var real_setTempRet0 = asm["setTempRet0"];
  22258. asm["setTempRet0"] = (function() {
  22259. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22260. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22261. return real_setTempRet0.apply(null, arguments);
  22262. });
  22263. var real_setThrew = asm["setThrew"];
  22264. asm["setThrew"] = (function() {
  22265. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22266. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22267. return real_setThrew.apply(null, arguments);
  22268. });
  22269. var real_stackAlloc = asm["stackAlloc"];
  22270. asm["stackAlloc"] = (function() {
  22271. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22272. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22273. return real_stackAlloc.apply(null, arguments);
  22274. });
  22275. var real_stackRestore = asm["stackRestore"];
  22276. asm["stackRestore"] = (function() {
  22277. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22278. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22279. return real_stackRestore.apply(null, arguments);
  22280. });
  22281. var real_stackSave = asm["stackSave"];
  22282. asm["stackSave"] = (function() {
  22283. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22284. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22285. return real_stackSave.apply(null, arguments);
  22286. });
  22287. Module["asm"] = asm;
  22288. var _InjectProfilerSample = Module["_InjectProfilerSample"] = (function() {
  22289. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22290. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22291. return Module["asm"]["_InjectProfilerSample"].apply(null, arguments);
  22292. });
  22293. var _SendMessage = Module["_SendMessage"] = (function() {
  22294. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22295. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22296. return Module["asm"]["_SendMessage"].apply(null, arguments);
  22297. });
  22298. var _SendMessageFloat = Module["_SendMessageFloat"] = (function() {
  22299. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22300. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22301. return Module["asm"]["_SendMessageFloat"].apply(null, arguments);
  22302. });
  22303. var _SendMessageString = Module["_SendMessageString"] = (function() {
  22304. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22305. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22306. return Module["asm"]["_SendMessageString"].apply(null, arguments);
  22307. });
  22308. var _SetFullscreen = Module["_SetFullscreen"] = (function() {
  22309. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22310. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22311. return Module["asm"]["_SetFullscreen"].apply(null, arguments);
  22312. });
  22313. var __GLOBAL__sub_I_AIBindings_gen_cpp = Module["__GLOBAL__sub_I_AIBindings_gen_cpp"] = (function() {
  22314. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22315. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22316. return Module["asm"]["__GLOBAL__sub_I_AIBindings_gen_cpp"].apply(null, arguments);
  22317. });
  22318. var __GLOBAL__sub_I_AIScriptingClasses_cpp = Module["__GLOBAL__sub_I_AIScriptingClasses_cpp"] = (function() {
  22319. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22320. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22321. return Module["asm"]["__GLOBAL__sub_I_AIScriptingClasses_cpp"].apply(null, arguments);
  22322. });
  22323. var __GLOBAL__sub_I_AccessibilityScriptingClasses_cpp = Module["__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp"] = (function() {
  22324. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22325. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22326. return Module["asm"]["__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp"].apply(null, arguments);
  22327. });
  22328. var __GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp = Module["__GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp"] = (function() {
  22329. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22330. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22331. return Module["asm"]["__GLOBAL__sub_I_AndroidJNIScriptingClasses_cpp"].apply(null, arguments);
  22332. });
  22333. var __GLOBAL__sub_I_AnimationBindings_gen_cpp = Module["__GLOBAL__sub_I_AnimationBindings_gen_cpp"] = (function() {
  22334. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22335. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22336. return Module["asm"]["__GLOBAL__sub_I_AnimationBindings_gen_cpp"].apply(null, arguments);
  22337. });
  22338. var __GLOBAL__sub_I_AnimationClip_cpp = Module["__GLOBAL__sub_I_AnimationClip_cpp"] = (function() {
  22339. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22340. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22341. return Module["asm"]["__GLOBAL__sub_I_AnimationClip_cpp"].apply(null, arguments);
  22342. });
  22343. var __GLOBAL__sub_I_AnimationScriptingClasses_cpp = Module["__GLOBAL__sub_I_AnimationScriptingClasses_cpp"] = (function() {
  22344. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22345. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22346. return Module["asm"]["__GLOBAL__sub_I_AnimationScriptingClasses_cpp"].apply(null, arguments);
  22347. });
  22348. var __GLOBAL__sub_I_AssetBundleFileSystem_cpp = Module["__GLOBAL__sub_I_AssetBundleFileSystem_cpp"] = (function() {
  22349. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22350. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22351. return Module["asm"]["__GLOBAL__sub_I_AssetBundleFileSystem_cpp"].apply(null, arguments);
  22352. });
  22353. var __GLOBAL__sub_I_AssetBundleScriptingClasses_cpp = Module["__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp"] = (function() {
  22354. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22355. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22356. return Module["asm"]["__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp"].apply(null, arguments);
  22357. });
  22358. var __GLOBAL__sub_I_AudioScriptingClasses_cpp = Module["__GLOBAL__sub_I_AudioScriptingClasses_cpp"] = (function() {
  22359. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22360. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22361. return Module["asm"]["__GLOBAL__sub_I_AudioScriptingClasses_cpp"].apply(null, arguments);
  22362. });
  22363. var __GLOBAL__sub_I_ClothScriptingClasses_cpp = Module["__GLOBAL__sub_I_ClothScriptingClasses_cpp"] = (function() {
  22364. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22365. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22366. return Module["asm"]["__GLOBAL__sub_I_ClothScriptingClasses_cpp"].apply(null, arguments);
  22367. });
  22368. var __GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp = Module["__GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp"] = (function() {
  22369. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22370. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22371. return Module["asm"]["__GLOBAL__sub_I_CloudFoundationScriptingClasses_cpp"].apply(null, arguments);
  22372. });
  22373. var __GLOBAL__sub_I_ConstraintJob_cpp = Module["__GLOBAL__sub_I_ConstraintJob_cpp"] = (function() {
  22374. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22375. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22376. return Module["asm"]["__GLOBAL__sub_I_ConstraintJob_cpp"].apply(null, arguments);
  22377. });
  22378. var __GLOBAL__sub_I_CoreBindings_gen_cpp = Module["__GLOBAL__sub_I_CoreBindings_gen_cpp"] = (function() {
  22379. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22380. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22381. return Module["asm"]["__GLOBAL__sub_I_CoreBindings_gen_cpp"].apply(null, arguments);
  22382. });
  22383. var __GLOBAL__sub_I_DSPGraphBindings_gen_cpp = Module["__GLOBAL__sub_I_DSPGraphBindings_gen_cpp"] = (function() {
  22384. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22385. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22386. return Module["asm"]["__GLOBAL__sub_I_DSPGraphBindings_gen_cpp"].apply(null, arguments);
  22387. });
  22388. var __GLOBAL__sub_I_DirectorScriptingClasses_cpp = Module["__GLOBAL__sub_I_DirectorScriptingClasses_cpp"] = (function() {
  22389. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22390. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22391. return Module["asm"]["__GLOBAL__sub_I_DirectorScriptingClasses_cpp"].apply(null, arguments);
  22392. });
  22393. var __GLOBAL__sub_I_ExternalForcesModule_cpp = Module["__GLOBAL__sub_I_ExternalForcesModule_cpp"] = (function() {
  22394. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22395. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22396. return Module["asm"]["__GLOBAL__sub_I_ExternalForcesModule_cpp"].apply(null, arguments);
  22397. });
  22398. var __GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp = Module["__GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp"] = (function() {
  22399. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22400. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22401. return Module["asm"]["__GLOBAL__sub_I_External_Box2D_Box2D_Dynamics_0_cpp"].apply(null, arguments);
  22402. });
  22403. var __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp = Module["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp"] = (function() {
  22404. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22405. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22406. return Module["asm"]["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_0_cpp"].apply(null, arguments);
  22407. });
  22408. var __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp = Module["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp"] = (function() {
  22409. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22410. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22411. return Module["asm"]["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_1_cpp"].apply(null, arguments);
  22412. });
  22413. var __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp = Module["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp"] = (function() {
  22414. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22415. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22416. return Module["asm"]["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_2_cpp"].apply(null, arguments);
  22417. });
  22418. var __GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp = Module["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp"] = (function() {
  22419. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22420. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22421. return Module["asm"]["__GLOBAL__sub_I_External_Box2D_Box2D_Jobs_3_cpp"].apply(null, arguments);
  22422. });
  22423. var __GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp = Module["__GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp"] = (function() {
  22424. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22425. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22426. return Module["asm"]["__GLOBAL__sub_I_External_ProphecySDK_BlitOperations_1_cpp"].apply(null, arguments);
  22427. });
  22428. var __GLOBAL__sub_I_External_Yoga_Yoga_0_cpp = Module["__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp"] = (function() {
  22429. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22430. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22431. return Module["asm"]["__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp"].apply(null, arguments);
  22432. });
  22433. var __GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp = Module["__GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp"] = (function() {
  22434. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22435. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22436. return Module["asm"]["__GLOBAL__sub_I_External_il2cpp_builds_external_baselib_Platforms_WebGL_Source_0_cpp"].apply(null, arguments);
  22437. });
  22438. var __GLOBAL__sub_I_GUITexture_cpp = Module["__GLOBAL__sub_I_GUITexture_cpp"] = (function() {
  22439. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22440. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22441. return Module["asm"]["__GLOBAL__sub_I_GUITexture_cpp"].apply(null, arguments);
  22442. });
  22443. var __GLOBAL__sub_I_GfxDeviceNull_cpp = Module["__GLOBAL__sub_I_GfxDeviceNull_cpp"] = (function() {
  22444. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22445. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22446. return Module["asm"]["__GLOBAL__sub_I_GfxDeviceNull_cpp"].apply(null, arguments);
  22447. });
  22448. var __GLOBAL__sub_I_GridScriptingClasses_cpp = Module["__GLOBAL__sub_I_GridScriptingClasses_cpp"] = (function() {
  22449. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22450. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22451. return Module["asm"]["__GLOBAL__sub_I_GridScriptingClasses_cpp"].apply(null, arguments);
  22452. });
  22453. var __GLOBAL__sub_I_IMGUIScriptingClasses_cpp = Module["__GLOBAL__sub_I_IMGUIScriptingClasses_cpp"] = (function() {
  22454. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22455. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22456. return Module["asm"]["__GLOBAL__sub_I_IMGUIScriptingClasses_cpp"].apply(null, arguments);
  22457. });
  22458. var __GLOBAL__sub_I_InputLegacyModuleRegistration_cpp = Module["__GLOBAL__sub_I_InputLegacyModuleRegistration_cpp"] = (function() {
  22459. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22460. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22461. return Module["asm"]["__GLOBAL__sub_I_InputLegacyModuleRegistration_cpp"].apply(null, arguments);
  22462. });
  22463. var __GLOBAL__sub_I_InputLegacyScriptingClasses_cpp = Module["__GLOBAL__sub_I_InputLegacyScriptingClasses_cpp"] = (function() {
  22464. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22465. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22466. return Module["asm"]["__GLOBAL__sub_I_InputLegacyScriptingClasses_cpp"].apply(null, arguments);
  22467. });
  22468. var __GLOBAL__sub_I_InputScriptingClasses_cpp = Module["__GLOBAL__sub_I_InputScriptingClasses_cpp"] = (function() {
  22469. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22470. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22471. return Module["asm"]["__GLOBAL__sub_I_InputScriptingClasses_cpp"].apply(null, arguments);
  22472. });
  22473. var __GLOBAL__sub_I_LineRenderer_cpp = Module["__GLOBAL__sub_I_LineRenderer_cpp"] = (function() {
  22474. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22475. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22476. return Module["asm"]["__GLOBAL__sub_I_LineRenderer_cpp"].apply(null, arguments);
  22477. });
  22478. var __GLOBAL__sub_I_LogAssert_cpp = Module["__GLOBAL__sub_I_LogAssert_cpp"] = (function() {
  22479. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22480. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22481. return Module["asm"]["__GLOBAL__sub_I_LogAssert_cpp"].apply(null, arguments);
  22482. });
  22483. var __GLOBAL__sub_I_Lump_libil2cpp_gc_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_gc_cpp"] = (function() {
  22484. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22485. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22486. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_gc_cpp"].apply(null, arguments);
  22487. });
  22488. var __GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp"] = (function() {
  22489. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22490. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22491. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_icalls_cpp"].apply(null, arguments);
  22492. });
  22493. var __GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp"] = (function() {
  22494. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22495. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22496. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_metadata_cpp"].apply(null, arguments);
  22497. });
  22498. var __GLOBAL__sub_I_Lump_libil2cpp_mono_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_mono_cpp"] = (function() {
  22499. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22500. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22501. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_mono_cpp"].apply(null, arguments);
  22502. });
  22503. var __GLOBAL__sub_I_Lump_libil2cpp_os_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_os_cpp"] = (function() {
  22504. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22505. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22506. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_os_cpp"].apply(null, arguments);
  22507. });
  22508. var __GLOBAL__sub_I_Lump_libil2cpp_utils_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_utils_cpp"] = (function() {
  22509. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22510. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22511. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_utils_cpp"].apply(null, arguments);
  22512. });
  22513. var __GLOBAL__sub_I_Lump_libil2cpp_vm_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_vm_cpp"] = (function() {
  22514. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22515. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22516. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_vm_cpp"].apply(null, arguments);
  22517. });
  22518. var __GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp = Module["__GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp"] = (function() {
  22519. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22520. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22521. return Module["asm"]["__GLOBAL__sub_I_Lump_libil2cpp_vm_utils_cpp"].apply(null, arguments);
  22522. });
  22523. var __GLOBAL__sub_I_Mesh_cpp = Module["__GLOBAL__sub_I_Mesh_cpp"] = (function() {
  22524. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22525. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22526. return Module["asm"]["__GLOBAL__sub_I_Mesh_cpp"].apply(null, arguments);
  22527. });
  22528. var __GLOBAL__sub_I_Modules_AI_1_cpp = Module["__GLOBAL__sub_I_Modules_AI_1_cpp"] = (function() {
  22529. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22530. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22531. return Module["asm"]["__GLOBAL__sub_I_Modules_AI_1_cpp"].apply(null, arguments);
  22532. });
  22533. var __GLOBAL__sub_I_Modules_AI_Builder_0_cpp = Module["__GLOBAL__sub_I_Modules_AI_Builder_0_cpp"] = (function() {
  22534. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22535. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22536. return Module["asm"]["__GLOBAL__sub_I_Modules_AI_Builder_0_cpp"].apply(null, arguments);
  22537. });
  22538. var __GLOBAL__sub_I_Modules_AI_Crowd_0_cpp = Module["__GLOBAL__sub_I_Modules_AI_Crowd_0_cpp"] = (function() {
  22539. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22540. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22541. return Module["asm"]["__GLOBAL__sub_I_Modules_AI_Crowd_0_cpp"].apply(null, arguments);
  22542. });
  22543. var __GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp = Module["__GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp"] = (function() {
  22544. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22545. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22546. return Module["asm"]["__GLOBAL__sub_I_Modules_AI_NavMesh_0_cpp"].apply(null, arguments);
  22547. });
  22548. var __GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp = Module["__GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp"] = (function() {
  22549. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22550. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22551. return Module["asm"]["__GLOBAL__sub_I_Modules_AI_Obstacles_0_cpp"].apply(null, arguments);
  22552. });
  22553. var __GLOBAL__sub_I_Modules_Animation_0_cpp = Module["__GLOBAL__sub_I_Modules_Animation_0_cpp"] = (function() {
  22554. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22555. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22556. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_0_cpp"].apply(null, arguments);
  22557. });
  22558. var __GLOBAL__sub_I_Modules_Animation_2_cpp = Module["__GLOBAL__sub_I_Modules_Animation_2_cpp"] = (function() {
  22559. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22560. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22561. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_2_cpp"].apply(null, arguments);
  22562. });
  22563. var __GLOBAL__sub_I_Modules_Animation_3_cpp = Module["__GLOBAL__sub_I_Modules_Animation_3_cpp"] = (function() {
  22564. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22565. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22566. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_3_cpp"].apply(null, arguments);
  22567. });
  22568. var __GLOBAL__sub_I_Modules_Animation_4_cpp = Module["__GLOBAL__sub_I_Modules_Animation_4_cpp"] = (function() {
  22569. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22570. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22571. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_4_cpp"].apply(null, arguments);
  22572. });
  22573. var __GLOBAL__sub_I_Modules_Animation_5_cpp = Module["__GLOBAL__sub_I_Modules_Animation_5_cpp"] = (function() {
  22574. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22575. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22576. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_5_cpp"].apply(null, arguments);
  22577. });
  22578. var __GLOBAL__sub_I_Modules_Animation_6_cpp = Module["__GLOBAL__sub_I_Modules_Animation_6_cpp"] = (function() {
  22579. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22580. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22581. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_6_cpp"].apply(null, arguments);
  22582. });
  22583. var __GLOBAL__sub_I_Modules_Animation_7_cpp = Module["__GLOBAL__sub_I_Modules_Animation_7_cpp"] = (function() {
  22584. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22585. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22586. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_7_cpp"].apply(null, arguments);
  22587. });
  22588. var __GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp = Module["__GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp"] = (function() {
  22589. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22590. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22591. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_Constraints_0_cpp"].apply(null, arguments);
  22592. });
  22593. var __GLOBAL__sub_I_Modules_Animation_Director_0_cpp = Module["__GLOBAL__sub_I_Modules_Animation_Director_0_cpp"] = (function() {
  22594. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22595. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22596. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_Director_0_cpp"].apply(null, arguments);
  22597. });
  22598. var __GLOBAL__sub_I_Modules_Animation_Director_1_cpp = Module["__GLOBAL__sub_I_Modules_Animation_Director_1_cpp"] = (function() {
  22599. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22600. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22601. return Module["asm"]["__GLOBAL__sub_I_Modules_Animation_Director_1_cpp"].apply(null, arguments);
  22602. });
  22603. var __GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp"] = (function() {
  22604. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22605. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22606. return Module["asm"]["__GLOBAL__sub_I_Modules_AssetBundle_Public_0_cpp"].apply(null, arguments);
  22607. });
  22608. var __GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp"] = (function() {
  22609. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22610. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22611. return Module["asm"]["__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp"].apply(null, arguments);
  22612. });
  22613. var __GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp = Module["__GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp"] = (function() {
  22614. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22615. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22616. return Module["asm"]["__GLOBAL__sub_I_Modules_AssetBundle_Public_2_cpp"].apply(null, arguments);
  22617. });
  22618. var __GLOBAL__sub_I_Modules_Audio_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Audio_Public_0_cpp"] = (function() {
  22619. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22620. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22621. return Module["asm"]["__GLOBAL__sub_I_Modules_Audio_Public_0_cpp"].apply(null, arguments);
  22622. });
  22623. var __GLOBAL__sub_I_Modules_Audio_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_Audio_Public_1_cpp"] = (function() {
  22624. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22625. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22626. return Module["asm"]["__GLOBAL__sub_I_Modules_Audio_Public_1_cpp"].apply(null, arguments);
  22627. });
  22628. var __GLOBAL__sub_I_Modules_Audio_Public_3_cpp = Module["__GLOBAL__sub_I_Modules_Audio_Public_3_cpp"] = (function() {
  22629. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22630. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22631. return Module["asm"]["__GLOBAL__sub_I_Modules_Audio_Public_3_cpp"].apply(null, arguments);
  22632. });
  22633. var __GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp = Module["__GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp"] = (function() {
  22634. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22635. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22636. return Module["asm"]["__GLOBAL__sub_I_Modules_Audio_Public_ScriptBindings_1_cpp"].apply(null, arguments);
  22637. });
  22638. var __GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp = Module["__GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp"] = (function() {
  22639. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22640. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22641. return Module["asm"]["__GLOBAL__sub_I_Modules_Audio_Public_sound_0_cpp"].apply(null, arguments);
  22642. });
  22643. var __GLOBAL__sub_I_Modules_Cloth_0_cpp = Module["__GLOBAL__sub_I_Modules_Cloth_0_cpp"] = (function() {
  22644. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22645. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22646. return Module["asm"]["__GLOBAL__sub_I_Modules_Cloth_0_cpp"].apply(null, arguments);
  22647. });
  22648. var __GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp"] = (function() {
  22649. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22650. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22651. return Module["asm"]["__GLOBAL__sub_I_Modules_CrashReporting_Public_0_cpp"].apply(null, arguments);
  22652. });
  22653. var __GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp"] = (function() {
  22654. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22655. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22656. return Module["asm"]["__GLOBAL__sub_I_Modules_DSPGraph_Public_0_cpp"].apply(null, arguments);
  22657. });
  22658. var __GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp"] = (function() {
  22659. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22660. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22661. return Module["asm"]["__GLOBAL__sub_I_Modules_DSPGraph_Public_1_cpp"].apply(null, arguments);
  22662. });
  22663. var __GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp = Module["__GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp"] = (function() {
  22664. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22665. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22666. return Module["asm"]["__GLOBAL__sub_I_Modules_DSPGraph_Public_3_cpp"].apply(null, arguments);
  22667. });
  22668. var __GLOBAL__sub_I_Modules_Grid_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Grid_Public_0_cpp"] = (function() {
  22669. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22670. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22671. return Module["asm"]["__GLOBAL__sub_I_Modules_Grid_Public_0_cpp"].apply(null, arguments);
  22672. });
  22673. var __GLOBAL__sub_I_Modules_IMGUI_0_cpp = Module["__GLOBAL__sub_I_Modules_IMGUI_0_cpp"] = (function() {
  22674. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22675. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22676. return Module["asm"]["__GLOBAL__sub_I_Modules_IMGUI_0_cpp"].apply(null, arguments);
  22677. });
  22678. var __GLOBAL__sub_I_Modules_IMGUI_1_cpp = Module["__GLOBAL__sub_I_Modules_IMGUI_1_cpp"] = (function() {
  22679. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22680. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22681. return Module["asm"]["__GLOBAL__sub_I_Modules_IMGUI_1_cpp"].apply(null, arguments);
  22682. });
  22683. var __GLOBAL__sub_I_Modules_Input_Private_0_cpp = Module["__GLOBAL__sub_I_Modules_Input_Private_0_cpp"] = (function() {
  22684. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22685. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22686. return Module["asm"]["__GLOBAL__sub_I_Modules_Input_Private_0_cpp"].apply(null, arguments);
  22687. });
  22688. var __GLOBAL__sub_I_Modules_ParticleSystem_0_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_0_cpp"] = (function() {
  22689. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22690. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22691. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_0_cpp"].apply(null, arguments);
  22692. });
  22693. var __GLOBAL__sub_I_Modules_ParticleSystem_1_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_1_cpp"] = (function() {
  22694. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22695. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22696. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_1_cpp"].apply(null, arguments);
  22697. });
  22698. var __GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp"] = (function() {
  22699. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22700. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22701. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_0_cpp"].apply(null, arguments);
  22702. });
  22703. var __GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp"] = (function() {
  22704. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22705. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22706. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_1_cpp"].apply(null, arguments);
  22707. });
  22708. var __GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp"] = (function() {
  22709. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22710. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22711. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_2_cpp"].apply(null, arguments);
  22712. });
  22713. var __GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp"] = (function() {
  22714. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22715. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22716. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_3_cpp"].apply(null, arguments);
  22717. });
  22718. var __GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp"] = (function() {
  22719. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22720. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22721. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_4_cpp"].apply(null, arguments);
  22722. });
  22723. var __GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp = Module["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp"] = (function() {
  22724. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22725. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22726. return Module["asm"]["__GLOBAL__sub_I_Modules_ParticleSystem_Modules_5_cpp"].apply(null, arguments);
  22727. });
  22728. var __GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp = Module["__GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp"] = (function() {
  22729. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22730. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22731. return Module["asm"]["__GLOBAL__sub_I_Modules_PerformanceReporting_0_cpp"].apply(null, arguments);
  22732. });
  22733. var __GLOBAL__sub_I_Modules_Physics2D_0_cpp = Module["__GLOBAL__sub_I_Modules_Physics2D_0_cpp"] = (function() {
  22734. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22735. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22736. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics2D_0_cpp"].apply(null, arguments);
  22737. });
  22738. var __GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp"] = (function() {
  22739. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22740. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22741. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp"].apply(null, arguments);
  22742. });
  22743. var __GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp"] = (function() {
  22744. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22745. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22746. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics2D_Public_1_cpp"].apply(null, arguments);
  22747. });
  22748. var __GLOBAL__sub_I_Modules_Physics_0_cpp = Module["__GLOBAL__sub_I_Modules_Physics_0_cpp"] = (function() {
  22749. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22750. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22751. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics_0_cpp"].apply(null, arguments);
  22752. });
  22753. var __GLOBAL__sub_I_Modules_Physics_2_cpp = Module["__GLOBAL__sub_I_Modules_Physics_2_cpp"] = (function() {
  22754. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22755. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22756. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics_2_cpp"].apply(null, arguments);
  22757. });
  22758. var __GLOBAL__sub_I_Modules_Physics_3_cpp = Module["__GLOBAL__sub_I_Modules_Physics_3_cpp"] = (function() {
  22759. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22760. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22761. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics_3_cpp"].apply(null, arguments);
  22762. });
  22763. var __GLOBAL__sub_I_Modules_Physics_4_cpp = Module["__GLOBAL__sub_I_Modules_Physics_4_cpp"] = (function() {
  22764. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22765. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22766. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics_4_cpp"].apply(null, arguments);
  22767. });
  22768. var __GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp = Module["__GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp"] = (function() {
  22769. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22770. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22771. return Module["asm"]["__GLOBAL__sub_I_Modules_Physics_BatchCommands_0_cpp"].apply(null, arguments);
  22772. });
  22773. var __GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp = Module["__GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp"] = (function() {
  22774. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22775. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22776. return Module["asm"]["__GLOBAL__sub_I_Modules_Profiler_Dispatch_0_cpp"].apply(null, arguments);
  22777. });
  22778. var __GLOBAL__sub_I_Modules_Profiler_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp"] = (function() {
  22779. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22780. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22781. return Module["asm"]["__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp"].apply(null, arguments);
  22782. });
  22783. var __GLOBAL__sub_I_Modules_Profiler_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_Profiler_Public_1_cpp"] = (function() {
  22784. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22785. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22786. return Module["asm"]["__GLOBAL__sub_I_Modules_Profiler_Public_1_cpp"].apply(null, arguments);
  22787. });
  22788. var __GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp = Module["__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp"] = (function() {
  22789. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22790. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22791. return Module["asm"]["__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp"].apply(null, arguments);
  22792. });
  22793. var __GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp = Module["__GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp"] = (function() {
  22794. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22795. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22796. return Module["asm"]["__GLOBAL__sub_I_Modules_Profiler_Runtime_1_cpp"].apply(null, arguments);
  22797. });
  22798. var __GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp = Module["__GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp"] = (function() {
  22799. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22800. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22801. return Module["asm"]["__GLOBAL__sub_I_Modules_Profiler_Runtime_2_cpp"].apply(null, arguments);
  22802. });
  22803. var __GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp = Module["__GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp"] = (function() {
  22804. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22805. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22806. return Module["asm"]["__GLOBAL__sub_I_Modules_SpriteMask_Private_0_cpp"].apply(null, arguments);
  22807. });
  22808. var __GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp = Module["__GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp"] = (function() {
  22809. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22810. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22811. return Module["asm"]["__GLOBAL__sub_I_Modules_SpriteShape_Private_0_cpp"].apply(null, arguments);
  22812. });
  22813. var __GLOBAL__sub_I_Modules_Subsystems_0_cpp = Module["__GLOBAL__sub_I_Modules_Subsystems_0_cpp"] = (function() {
  22814. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22815. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22816. return Module["asm"]["__GLOBAL__sub_I_Modules_Subsystems_0_cpp"].apply(null, arguments);
  22817. });
  22818. var __GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp = Module["__GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp"] = (function() {
  22819. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22820. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22821. return Module["asm"]["__GLOBAL__sub_I_Modules_TerrainPhysics_0_cpp"].apply(null, arguments);
  22822. });
  22823. var __GLOBAL__sub_I_Modules_Terrain_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp"] = (function() {
  22824. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22825. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22826. return Module["asm"]["__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp"].apply(null, arguments);
  22827. });
  22828. var __GLOBAL__sub_I_Modules_Terrain_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp"] = (function() {
  22829. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22830. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22831. return Module["asm"]["__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp"].apply(null, arguments);
  22832. });
  22833. var __GLOBAL__sub_I_Modules_Terrain_Public_2_cpp = Module["__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp"] = (function() {
  22834. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22835. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22836. return Module["asm"]["__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp"].apply(null, arguments);
  22837. });
  22838. var __GLOBAL__sub_I_Modules_Terrain_Public_3_cpp = Module["__GLOBAL__sub_I_Modules_Terrain_Public_3_cpp"] = (function() {
  22839. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22840. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22841. return Module["asm"]["__GLOBAL__sub_I_Modules_Terrain_Public_3_cpp"].apply(null, arguments);
  22842. });
  22843. var __GLOBAL__sub_I_Modules_Terrain_VR_0_cpp = Module["__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp"] = (function() {
  22844. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22845. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22846. return Module["asm"]["__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp"].apply(null, arguments);
  22847. });
  22848. var __GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp = Module["__GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp"] = (function() {
  22849. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22850. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22851. return Module["asm"]["__GLOBAL__sub_I_Modules_TextCore_Native_FontEngine_0_cpp"].apply(null, arguments);
  22852. });
  22853. var __GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp"] = (function() {
  22854. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22855. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22856. return Module["asm"]["__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp"].apply(null, arguments);
  22857. });
  22858. var __GLOBAL__sub_I_Modules_Tilemap_0_cpp = Module["__GLOBAL__sub_I_Modules_Tilemap_0_cpp"] = (function() {
  22859. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22860. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22861. return Module["asm"]["__GLOBAL__sub_I_Modules_Tilemap_0_cpp"].apply(null, arguments);
  22862. });
  22863. var __GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp"] = (function() {
  22864. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22865. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22866. return Module["asm"]["__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp"].apply(null, arguments);
  22867. });
  22868. var __GLOBAL__sub_I_Modules_UIElementsNative_0_cpp = Module["__GLOBAL__sub_I_Modules_UIElementsNative_0_cpp"] = (function() {
  22869. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22870. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22871. return Module["asm"]["__GLOBAL__sub_I_Modules_UIElementsNative_0_cpp"].apply(null, arguments);
  22872. });
  22873. var __GLOBAL__sub_I_Modules_UI_0_cpp = Module["__GLOBAL__sub_I_Modules_UI_0_cpp"] = (function() {
  22874. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22875. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22876. return Module["asm"]["__GLOBAL__sub_I_Modules_UI_0_cpp"].apply(null, arguments);
  22877. });
  22878. var __GLOBAL__sub_I_Modules_UI_1_cpp = Module["__GLOBAL__sub_I_Modules_UI_1_cpp"] = (function() {
  22879. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22880. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22881. return Module["asm"]["__GLOBAL__sub_I_Modules_UI_1_cpp"].apply(null, arguments);
  22882. });
  22883. var __GLOBAL__sub_I_Modules_UI_2_cpp = Module["__GLOBAL__sub_I_Modules_UI_2_cpp"] = (function() {
  22884. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22885. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22886. return Module["asm"]["__GLOBAL__sub_I_Modules_UI_2_cpp"].apply(null, arguments);
  22887. });
  22888. var __GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp = Module["__GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp"] = (function() {
  22889. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22890. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22891. return Module["asm"]["__GLOBAL__sub_I_Modules_UnityAnalytics_CoreStats_0_cpp"].apply(null, arguments);
  22892. });
  22893. var __GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp"] = (function() {
  22894. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22895. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22896. return Module["asm"]["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp"].apply(null, arguments);
  22897. });
  22898. var __GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp = Module["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp"] = (function() {
  22899. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22900. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22901. return Module["asm"]["__GLOBAL__sub_I_Modules_UnityWebRequest_Public_DownloadHandler_0_cpp"].apply(null, arguments);
  22902. });
  22903. var __GLOBAL__sub_I_Modules_VFX_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_VFX_Public_0_cpp"] = (function() {
  22904. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22905. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22906. return Module["asm"]["__GLOBAL__sub_I_Modules_VFX_Public_0_cpp"].apply(null, arguments);
  22907. });
  22908. var __GLOBAL__sub_I_Modules_VFX_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_VFX_Public_1_cpp"] = (function() {
  22909. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22910. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22911. return Module["asm"]["__GLOBAL__sub_I_Modules_VFX_Public_1_cpp"].apply(null, arguments);
  22912. });
  22913. var __GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp = Module["__GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp"] = (function() {
  22914. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22915. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22916. return Module["asm"]["__GLOBAL__sub_I_Modules_VFX_Public_Systems_0_cpp"].apply(null, arguments);
  22917. });
  22918. var __GLOBAL__sub_I_Modules_VR_0_cpp = Module["__GLOBAL__sub_I_Modules_VR_0_cpp"] = (function() {
  22919. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22920. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22921. return Module["asm"]["__GLOBAL__sub_I_Modules_VR_0_cpp"].apply(null, arguments);
  22922. });
  22923. var __GLOBAL__sub_I_Modules_VR_1_cpp = Module["__GLOBAL__sub_I_Modules_VR_1_cpp"] = (function() {
  22924. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22925. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22926. return Module["asm"]["__GLOBAL__sub_I_Modules_VR_1_cpp"].apply(null, arguments);
  22927. });
  22928. var __GLOBAL__sub_I_Modules_Vehicles_0_cpp = Module["__GLOBAL__sub_I_Modules_Vehicles_0_cpp"] = (function() {
  22929. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22930. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22931. return Module["asm"]["__GLOBAL__sub_I_Modules_Vehicles_0_cpp"].apply(null, arguments);
  22932. });
  22933. var __GLOBAL__sub_I_Modules_Video_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_Video_Public_0_cpp"] = (function() {
  22934. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22935. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22936. return Module["asm"]["__GLOBAL__sub_I_Modules_Video_Public_0_cpp"].apply(null, arguments);
  22937. });
  22938. var __GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp = Module["__GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp"] = (function() {
  22939. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22940. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22941. return Module["asm"]["__GLOBAL__sub_I_Modules_Video_Public_Base_0_cpp"].apply(null, arguments);
  22942. });
  22943. var __GLOBAL__sub_I_Modules_XR_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_0_cpp"] = (function() {
  22944. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22945. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22946. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_0_cpp"].apply(null, arguments);
  22947. });
  22948. var __GLOBAL__sub_I_Modules_XR_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_Public_0_cpp"] = (function() {
  22949. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22950. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22951. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Public_0_cpp"].apply(null, arguments);
  22952. });
  22953. var __GLOBAL__sub_I_Modules_XR_Stats_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_Stats_0_cpp"] = (function() {
  22954. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22955. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22956. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Stats_0_cpp"].apply(null, arguments);
  22957. });
  22958. var __GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp"] = (function() {
  22959. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22960. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22961. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_0_cpp"].apply(null, arguments);
  22962. });
  22963. var __GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp = Module["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp"] = (function() {
  22964. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22965. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22966. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Subsystems_Display_1_cpp"].apply(null, arguments);
  22967. });
  22968. var __GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp"] = (function() {
  22969. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22970. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22971. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_0_cpp"].apply(null, arguments);
  22972. });
  22973. var __GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp = Module["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp"] = (function() {
  22974. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22975. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22976. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp"].apply(null, arguments);
  22977. });
  22978. var __GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp"] = (function() {
  22979. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22980. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22981. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Subsystems_Meshing_0_cpp"].apply(null, arguments);
  22982. });
  22983. var __GLOBAL__sub_I_Modules_XR_Tracing_0_cpp = Module["__GLOBAL__sub_I_Modules_XR_Tracing_0_cpp"] = (function() {
  22984. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22985. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22986. return Module["asm"]["__GLOBAL__sub_I_Modules_XR_Tracing_0_cpp"].apply(null, arguments);
  22987. });
  22988. var __GLOBAL__sub_I_NoiseModule_cpp = Module["__GLOBAL__sub_I_NoiseModule_cpp"] = (function() {
  22989. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22990. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22991. return Module["asm"]["__GLOBAL__sub_I_NoiseModule_cpp"].apply(null, arguments);
  22992. });
  22993. var __GLOBAL__sub_I_ParticleSystemBindings_gen_cpp = Module["__GLOBAL__sub_I_ParticleSystemBindings_gen_cpp"] = (function() {
  22994. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  22995. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  22996. return Module["asm"]["__GLOBAL__sub_I_ParticleSystemBindings_gen_cpp"].apply(null, arguments);
  22997. });
  22998. var __GLOBAL__sub_I_ParticleSystemGeometryJob_cpp = Module["__GLOBAL__sub_I_ParticleSystemGeometryJob_cpp"] = (function() {
  22999. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23000. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23001. return Module["asm"]["__GLOBAL__sub_I_ParticleSystemGeometryJob_cpp"].apply(null, arguments);
  23002. });
  23003. var __GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp = Module["__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp"] = (function() {
  23004. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23005. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23006. return Module["asm"]["__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp"].apply(null, arguments);
  23007. });
  23008. var __GLOBAL__sub_I_Physics2DScriptingClasses_cpp = Module["__GLOBAL__sub_I_Physics2DScriptingClasses_cpp"] = (function() {
  23009. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23010. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23011. return Module["asm"]["__GLOBAL__sub_I_Physics2DScriptingClasses_cpp"].apply(null, arguments);
  23012. });
  23013. var __GLOBAL__sub_I_PhysicsBindings_gen_cpp = Module["__GLOBAL__sub_I_PhysicsBindings_gen_cpp"] = (function() {
  23014. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23015. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23016. return Module["asm"]["__GLOBAL__sub_I_PhysicsBindings_gen_cpp"].apply(null, arguments);
  23017. });
  23018. var __GLOBAL__sub_I_PhysicsQuery_cpp = Module["__GLOBAL__sub_I_PhysicsQuery_cpp"] = (function() {
  23019. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23020. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23021. return Module["asm"]["__GLOBAL__sub_I_PhysicsQuery_cpp"].apply(null, arguments);
  23022. });
  23023. var __GLOBAL__sub_I_PhysicsScene_cpp = Module["__GLOBAL__sub_I_PhysicsScene_cpp"] = (function() {
  23024. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23025. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23026. return Module["asm"]["__GLOBAL__sub_I_PhysicsScene_cpp"].apply(null, arguments);
  23027. });
  23028. var __GLOBAL__sub_I_PhysicsScriptingClasses_cpp = Module["__GLOBAL__sub_I_PhysicsScriptingClasses_cpp"] = (function() {
  23029. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23030. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23031. return Module["asm"]["__GLOBAL__sub_I_PhysicsScriptingClasses_cpp"].apply(null, arguments);
  23032. });
  23033. var __GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp = Module["__GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp"] = (function() {
  23034. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23035. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23036. return Module["asm"]["__GLOBAL__sub_I_PlatformDependent_WebGL_External_baselib_builds_Source_0_cpp"].apply(null, arguments);
  23037. });
  23038. var __GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp = Module["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp"] = (function() {
  23039. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23040. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23041. return Module["asm"]["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp"].apply(null, arguments);
  23042. });
  23043. var __GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp = Module["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp"] = (function() {
  23044. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23045. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23046. return Module["asm"]["__GLOBAL__sub_I_PlatformDependent_WebGL_Source_2_cpp"].apply(null, arguments);
  23047. });
  23048. var __GLOBAL__sub_I_PluginInterfaceVR_cpp = Module["__GLOBAL__sub_I_PluginInterfaceVR_cpp"] = (function() {
  23049. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23050. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23051. return Module["asm"]["__GLOBAL__sub_I_PluginInterfaceVR_cpp"].apply(null, arguments);
  23052. });
  23053. var __GLOBAL__sub_I_QualitySettings_cpp = Module["__GLOBAL__sub_I_QualitySettings_cpp"] = (function() {
  23054. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23055. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23056. return Module["asm"]["__GLOBAL__sub_I_QualitySettings_cpp"].apply(null, arguments);
  23057. });
  23058. var __GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp = Module["__GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp"] = (function() {
  23059. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23060. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23061. return Module["asm"]["__GLOBAL__sub_I_Runtime_2D_Renderer_0_cpp"].apply(null, arguments);
  23062. });
  23063. var __GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp = Module["__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp"] = (function() {
  23064. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23065. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23066. return Module["asm"]["__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp"].apply(null, arguments);
  23067. });
  23068. var __GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp = Module["__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp"] = (function() {
  23069. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23070. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23071. return Module["asm"]["__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp"].apply(null, arguments);
  23072. });
  23073. var __GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp = Module["__GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp"] = (function() {
  23074. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23075. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23076. return Module["asm"]["__GLOBAL__sub_I_Runtime_2D_SpriteTiling_0_cpp"].apply(null, arguments);
  23077. });
  23078. var __GLOBAL__sub_I_Runtime_Allocator_0_cpp = Module["__GLOBAL__sub_I_Runtime_Allocator_0_cpp"] = (function() {
  23079. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23080. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23081. return Module["asm"]["__GLOBAL__sub_I_Runtime_Allocator_0_cpp"].apply(null, arguments);
  23082. });
  23083. var __GLOBAL__sub_I_Runtime_Allocator_2_cpp = Module["__GLOBAL__sub_I_Runtime_Allocator_2_cpp"] = (function() {
  23084. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23085. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23086. return Module["asm"]["__GLOBAL__sub_I_Runtime_Allocator_2_cpp"].apply(null, arguments);
  23087. });
  23088. var __GLOBAL__sub_I_Runtime_Allocator_3_cpp = Module["__GLOBAL__sub_I_Runtime_Allocator_3_cpp"] = (function() {
  23089. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23090. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23091. return Module["asm"]["__GLOBAL__sub_I_Runtime_Allocator_3_cpp"].apply(null, arguments);
  23092. });
  23093. var __GLOBAL__sub_I_Runtime_Application_0_cpp = Module["__GLOBAL__sub_I_Runtime_Application_0_cpp"] = (function() {
  23094. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23095. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23096. return Module["asm"]["__GLOBAL__sub_I_Runtime_Application_0_cpp"].apply(null, arguments);
  23097. });
  23098. var __GLOBAL__sub_I_Runtime_BaseClasses_0_cpp = Module["__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp"] = (function() {
  23099. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23100. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23101. return Module["asm"]["__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp"].apply(null, arguments);
  23102. });
  23103. var __GLOBAL__sub_I_Runtime_BaseClasses_1_cpp = Module["__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp"] = (function() {
  23104. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23105. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23106. return Module["asm"]["__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp"].apply(null, arguments);
  23107. });
  23108. var __GLOBAL__sub_I_Runtime_BaseClasses_2_cpp = Module["__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp"] = (function() {
  23109. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23110. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23111. return Module["asm"]["__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp"].apply(null, arguments);
  23112. });
  23113. var __GLOBAL__sub_I_Runtime_BaseClasses_3_cpp = Module["__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp"] = (function() {
  23114. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23115. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23116. return Module["asm"]["__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp"].apply(null, arguments);
  23117. });
  23118. var __GLOBAL__sub_I_Runtime_Burst_0_cpp = Module["__GLOBAL__sub_I_Runtime_Burst_0_cpp"] = (function() {
  23119. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23120. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23121. return Module["asm"]["__GLOBAL__sub_I_Runtime_Burst_0_cpp"].apply(null, arguments);
  23122. });
  23123. var __GLOBAL__sub_I_Runtime_Camera_0_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_0_cpp"] = (function() {
  23124. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23125. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23126. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_0_cpp"].apply(null, arguments);
  23127. });
  23128. var __GLOBAL__sub_I_Runtime_Camera_1_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_1_cpp"] = (function() {
  23129. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23130. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23131. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_1_cpp"].apply(null, arguments);
  23132. });
  23133. var __GLOBAL__sub_I_Runtime_Camera_2_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_2_cpp"] = (function() {
  23134. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23135. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23136. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_2_cpp"].apply(null, arguments);
  23137. });
  23138. var __GLOBAL__sub_I_Runtime_Camera_3_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_3_cpp"] = (function() {
  23139. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23140. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23141. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_3_cpp"].apply(null, arguments);
  23142. });
  23143. var __GLOBAL__sub_I_Runtime_Camera_4_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_4_cpp"] = (function() {
  23144. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23145. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23146. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_4_cpp"].apply(null, arguments);
  23147. });
  23148. var __GLOBAL__sub_I_Runtime_Camera_5_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_5_cpp"] = (function() {
  23149. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23150. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23151. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_5_cpp"].apply(null, arguments);
  23152. });
  23153. var __GLOBAL__sub_I_Runtime_Camera_6_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_6_cpp"] = (function() {
  23154. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23155. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23156. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_6_cpp"].apply(null, arguments);
  23157. });
  23158. var __GLOBAL__sub_I_Runtime_Camera_7_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_7_cpp"] = (function() {
  23159. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23160. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23161. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_7_cpp"].apply(null, arguments);
  23162. });
  23163. var __GLOBAL__sub_I_Runtime_Camera_8_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_8_cpp"] = (function() {
  23164. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23165. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23166. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_8_cpp"].apply(null, arguments);
  23167. });
  23168. var __GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp"] = (function() {
  23169. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23170. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23171. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp"].apply(null, arguments);
  23172. });
  23173. var __GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp"] = (function() {
  23174. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23175. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23176. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp"].apply(null, arguments);
  23177. });
  23178. var __GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp = Module["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp"] = (function() {
  23179. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23180. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23181. return Module["asm"]["__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp"].apply(null, arguments);
  23182. });
  23183. var __GLOBAL__sub_I_Runtime_Containers_0_cpp = Module["__GLOBAL__sub_I_Runtime_Containers_0_cpp"] = (function() {
  23184. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23185. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23186. return Module["asm"]["__GLOBAL__sub_I_Runtime_Containers_0_cpp"].apply(null, arguments);
  23187. });
  23188. var __GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp = Module["__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp"] = (function() {
  23189. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23190. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23191. return Module["asm"]["__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp"].apply(null, arguments);
  23192. });
  23193. var __GLOBAL__sub_I_Runtime_Director_Core_0_cpp = Module["__GLOBAL__sub_I_Runtime_Director_Core_0_cpp"] = (function() {
  23194. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23195. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23196. return Module["asm"]["__GLOBAL__sub_I_Runtime_Director_Core_0_cpp"].apply(null, arguments);
  23197. });
  23198. var __GLOBAL__sub_I_Runtime_Director_Core_1_cpp = Module["__GLOBAL__sub_I_Runtime_Director_Core_1_cpp"] = (function() {
  23199. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23200. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23201. return Module["asm"]["__GLOBAL__sub_I_Runtime_Director_Core_1_cpp"].apply(null, arguments);
  23202. });
  23203. var __GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp = Module["__GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp"] = (function() {
  23204. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23205. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23206. return Module["asm"]["__GLOBAL__sub_I_Runtime_Export_Unsafe_0_cpp"].apply(null, arguments);
  23207. });
  23208. var __GLOBAL__sub_I_Runtime_File_0_cpp = Module["__GLOBAL__sub_I_Runtime_File_0_cpp"] = (function() {
  23209. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23210. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23211. return Module["asm"]["__GLOBAL__sub_I_Runtime_File_0_cpp"].apply(null, arguments);
  23212. });
  23213. var __GLOBAL__sub_I_Runtime_GameCode_0_cpp = Module["__GLOBAL__sub_I_Runtime_GameCode_0_cpp"] = (function() {
  23214. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23215. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23216. return Module["asm"]["__GLOBAL__sub_I_Runtime_GameCode_0_cpp"].apply(null, arguments);
  23217. });
  23218. var __GLOBAL__sub_I_Runtime_Geometry_1_cpp = Module["__GLOBAL__sub_I_Runtime_Geometry_1_cpp"] = (function() {
  23219. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23220. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23221. return Module["asm"]["__GLOBAL__sub_I_Runtime_Geometry_1_cpp"].apply(null, arguments);
  23222. });
  23223. var __GLOBAL__sub_I_Runtime_Geometry_2_cpp = Module["__GLOBAL__sub_I_Runtime_Geometry_2_cpp"] = (function() {
  23224. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23225. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23226. return Module["asm"]["__GLOBAL__sub_I_Runtime_Geometry_2_cpp"].apply(null, arguments);
  23227. });
  23228. var __GLOBAL__sub_I_Runtime_GfxDevice_1_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp"] = (function() {
  23229. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23230. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23231. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp"].apply(null, arguments);
  23232. });
  23233. var __GLOBAL__sub_I_Runtime_GfxDevice_2_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp"] = (function() {
  23234. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23235. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23236. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp"].apply(null, arguments);
  23237. });
  23238. var __GLOBAL__sub_I_Runtime_GfxDevice_3_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp"] = (function() {
  23239. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23240. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23241. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp"].apply(null, arguments);
  23242. });
  23243. var __GLOBAL__sub_I_Runtime_GfxDevice_4_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_4_cpp"] = (function() {
  23244. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23245. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23246. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_4_cpp"].apply(null, arguments);
  23247. });
  23248. var __GLOBAL__sub_I_Runtime_GfxDevice_5_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_5_cpp"] = (function() {
  23249. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23250. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23251. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_5_cpp"].apply(null, arguments);
  23252. });
  23253. var __GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp"] = (function() {
  23254. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23255. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23256. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_0_cpp"].apply(null, arguments);
  23257. });
  23258. var __GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp = Module["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp"] = (function() {
  23259. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23260. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23261. return Module["asm"]["__GLOBAL__sub_I_Runtime_GfxDevice_opengles_2_cpp"].apply(null, arguments);
  23262. });
  23263. var __GLOBAL__sub_I_Runtime_Graphics_0_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_0_cpp"] = (function() {
  23264. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23265. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23266. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_0_cpp"].apply(null, arguments);
  23267. });
  23268. var __GLOBAL__sub_I_Runtime_Graphics_10_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_10_cpp"] = (function() {
  23269. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23270. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23271. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_10_cpp"].apply(null, arguments);
  23272. });
  23273. var __GLOBAL__sub_I_Runtime_Graphics_11_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_11_cpp"] = (function() {
  23274. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23275. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23276. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_11_cpp"].apply(null, arguments);
  23277. });
  23278. var __GLOBAL__sub_I_Runtime_Graphics_12_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_12_cpp"] = (function() {
  23279. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23280. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23281. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_12_cpp"].apply(null, arguments);
  23282. });
  23283. var __GLOBAL__sub_I_Runtime_Graphics_1_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_1_cpp"] = (function() {
  23284. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23285. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23286. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_1_cpp"].apply(null, arguments);
  23287. });
  23288. var __GLOBAL__sub_I_Runtime_Graphics_2_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_2_cpp"] = (function() {
  23289. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23290. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23291. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_2_cpp"].apply(null, arguments);
  23292. });
  23293. var __GLOBAL__sub_I_Runtime_Graphics_4_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_4_cpp"] = (function() {
  23294. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23295. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23296. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_4_cpp"].apply(null, arguments);
  23297. });
  23298. var __GLOBAL__sub_I_Runtime_Graphics_5_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_5_cpp"] = (function() {
  23299. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23300. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23301. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_5_cpp"].apply(null, arguments);
  23302. });
  23303. var __GLOBAL__sub_I_Runtime_Graphics_6_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_6_cpp"] = (function() {
  23304. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23305. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23306. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_6_cpp"].apply(null, arguments);
  23307. });
  23308. var __GLOBAL__sub_I_Runtime_Graphics_8_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_8_cpp"] = (function() {
  23309. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23310. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23311. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_8_cpp"].apply(null, arguments);
  23312. });
  23313. var __GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp"] = (function() {
  23314. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23315. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23316. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp"].apply(null, arguments);
  23317. });
  23318. var __GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp"] = (function() {
  23319. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23320. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23321. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_CommandBuffer_0_cpp"].apply(null, arguments);
  23322. });
  23323. var __GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp"] = (function() {
  23324. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23325. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23326. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp"].apply(null, arguments);
  23327. });
  23328. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp"] = (function() {
  23329. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23330. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23331. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp"].apply(null, arguments);
  23332. });
  23333. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp"] = (function() {
  23334. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23335. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23336. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp"].apply(null, arguments);
  23337. });
  23338. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp"] = (function() {
  23339. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23340. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23341. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_2_cpp"].apply(null, arguments);
  23342. });
  23343. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp"] = (function() {
  23344. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23345. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23346. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp"].apply(null, arguments);
  23347. });
  23348. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp"] = (function() {
  23349. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23350. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23351. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_4_cpp"].apply(null, arguments);
  23352. });
  23353. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp"] = (function() {
  23354. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23355. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23356. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_5_cpp"].apply(null, arguments);
  23357. });
  23358. var __GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp"] = (function() {
  23359. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23360. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23361. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_Mesh_6_cpp"].apply(null, arguments);
  23362. });
  23363. var __GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp"] = (function() {
  23364. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23365. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23366. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp"].apply(null, arguments);
  23367. });
  23368. var __GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp = Module["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp"] = (function() {
  23369. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23370. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23371. return Module["asm"]["__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_1_cpp"].apply(null, arguments);
  23372. });
  23373. var __GLOBAL__sub_I_Runtime_Input_0_cpp = Module["__GLOBAL__sub_I_Runtime_Input_0_cpp"] = (function() {
  23374. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23375. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23376. return Module["asm"]["__GLOBAL__sub_I_Runtime_Input_0_cpp"].apply(null, arguments);
  23377. });
  23378. var __GLOBAL__sub_I_Runtime_Interfaces_0_cpp = Module["__GLOBAL__sub_I_Runtime_Interfaces_0_cpp"] = (function() {
  23379. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23380. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23381. return Module["asm"]["__GLOBAL__sub_I_Runtime_Interfaces_0_cpp"].apply(null, arguments);
  23382. });
  23383. var __GLOBAL__sub_I_Runtime_Interfaces_1_cpp = Module["__GLOBAL__sub_I_Runtime_Interfaces_1_cpp"] = (function() {
  23384. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23385. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23386. return Module["asm"]["__GLOBAL__sub_I_Runtime_Interfaces_1_cpp"].apply(null, arguments);
  23387. });
  23388. var __GLOBAL__sub_I_Runtime_Interfaces_3_cpp = Module["__GLOBAL__sub_I_Runtime_Interfaces_3_cpp"] = (function() {
  23389. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23390. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23391. return Module["asm"]["__GLOBAL__sub_I_Runtime_Interfaces_3_cpp"].apply(null, arguments);
  23392. });
  23393. var __GLOBAL__sub_I_Runtime_Jobs_0_cpp = Module["__GLOBAL__sub_I_Runtime_Jobs_0_cpp"] = (function() {
  23394. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23395. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23396. return Module["asm"]["__GLOBAL__sub_I_Runtime_Jobs_0_cpp"].apply(null, arguments);
  23397. });
  23398. var __GLOBAL__sub_I_Runtime_Jobs_1_cpp = Module["__GLOBAL__sub_I_Runtime_Jobs_1_cpp"] = (function() {
  23399. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23400. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23401. return Module["asm"]["__GLOBAL__sub_I_Runtime_Jobs_1_cpp"].apply(null, arguments);
  23402. });
  23403. var __GLOBAL__sub_I_Runtime_Jobs_2_cpp = Module["__GLOBAL__sub_I_Runtime_Jobs_2_cpp"] = (function() {
  23404. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23405. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23406. return Module["asm"]["__GLOBAL__sub_I_Runtime_Jobs_2_cpp"].apply(null, arguments);
  23407. });
  23408. var __GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp = Module["__GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp"] = (function() {
  23409. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23410. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23411. return Module["asm"]["__GLOBAL__sub_I_Runtime_Jobs_Internal_1_cpp"].apply(null, arguments);
  23412. });
  23413. var __GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp = Module["__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp"] = (function() {
  23414. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23415. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23416. return Module["asm"]["__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp"].apply(null, arguments);
  23417. });
  23418. var __GLOBAL__sub_I_Runtime_Math_2_cpp = Module["__GLOBAL__sub_I_Runtime_Math_2_cpp"] = (function() {
  23419. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23420. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23421. return Module["asm"]["__GLOBAL__sub_I_Runtime_Math_2_cpp"].apply(null, arguments);
  23422. });
  23423. var __GLOBAL__sub_I_Runtime_Math_Random_0_cpp = Module["__GLOBAL__sub_I_Runtime_Math_Random_0_cpp"] = (function() {
  23424. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23425. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23426. return Module["asm"]["__GLOBAL__sub_I_Runtime_Math_Random_0_cpp"].apply(null, arguments);
  23427. });
  23428. var __GLOBAL__sub_I_Runtime_Misc_0_cpp = Module["__GLOBAL__sub_I_Runtime_Misc_0_cpp"] = (function() {
  23429. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23430. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23431. return Module["asm"]["__GLOBAL__sub_I_Runtime_Misc_0_cpp"].apply(null, arguments);
  23432. });
  23433. var __GLOBAL__sub_I_Runtime_Misc_1_cpp = Module["__GLOBAL__sub_I_Runtime_Misc_1_cpp"] = (function() {
  23434. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23435. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23436. return Module["asm"]["__GLOBAL__sub_I_Runtime_Misc_1_cpp"].apply(null, arguments);
  23437. });
  23438. var __GLOBAL__sub_I_Runtime_Misc_2_cpp = Module["__GLOBAL__sub_I_Runtime_Misc_2_cpp"] = (function() {
  23439. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23440. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23441. return Module["asm"]["__GLOBAL__sub_I_Runtime_Misc_2_cpp"].apply(null, arguments);
  23442. });
  23443. var __GLOBAL__sub_I_Runtime_Misc_3_cpp = Module["__GLOBAL__sub_I_Runtime_Misc_3_cpp"] = (function() {
  23444. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23445. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23446. return Module["asm"]["__GLOBAL__sub_I_Runtime_Misc_3_cpp"].apply(null, arguments);
  23447. });
  23448. var __GLOBAL__sub_I_Runtime_Misc_4_cpp = Module["__GLOBAL__sub_I_Runtime_Misc_4_cpp"] = (function() {
  23449. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23450. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23451. return Module["asm"]["__GLOBAL__sub_I_Runtime_Misc_4_cpp"].apply(null, arguments);
  23452. });
  23453. var __GLOBAL__sub_I_Runtime_Misc_5_cpp = Module["__GLOBAL__sub_I_Runtime_Misc_5_cpp"] = (function() {
  23454. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23455. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23456. return Module["asm"]["__GLOBAL__sub_I_Runtime_Misc_5_cpp"].apply(null, arguments);
  23457. });
  23458. var __GLOBAL__sub_I_Runtime_Modules_0_cpp = Module["__GLOBAL__sub_I_Runtime_Modules_0_cpp"] = (function() {
  23459. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23460. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23461. return Module["asm"]["__GLOBAL__sub_I_Runtime_Modules_0_cpp"].apply(null, arguments);
  23462. });
  23463. var __GLOBAL__sub_I_Runtime_Mono_0_cpp = Module["__GLOBAL__sub_I_Runtime_Mono_0_cpp"] = (function() {
  23464. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23465. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23466. return Module["asm"]["__GLOBAL__sub_I_Runtime_Mono_0_cpp"].apply(null, arguments);
  23467. });
  23468. var __GLOBAL__sub_I_Runtime_Mono_2_cpp = Module["__GLOBAL__sub_I_Runtime_Mono_2_cpp"] = (function() {
  23469. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23470. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23471. return Module["asm"]["__GLOBAL__sub_I_Runtime_Mono_2_cpp"].apply(null, arguments);
  23472. });
  23473. var __GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp = Module["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp"] = (function() {
  23474. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23475. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23476. return Module["asm"]["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp"].apply(null, arguments);
  23477. });
  23478. var __GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp = Module["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp"] = (function() {
  23479. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23480. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23481. return Module["asm"]["__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp"].apply(null, arguments);
  23482. });
  23483. var __GLOBAL__sub_I_Runtime_Network_0_cpp = Module["__GLOBAL__sub_I_Runtime_Network_0_cpp"] = (function() {
  23484. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23485. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23486. return Module["asm"]["__GLOBAL__sub_I_Runtime_Network_0_cpp"].apply(null, arguments);
  23487. });
  23488. var __GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp = Module["__GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp"] = (function() {
  23489. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23490. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23491. return Module["asm"]["__GLOBAL__sub_I_Runtime_Network_PlayerCommunicator_0_cpp"].apply(null, arguments);
  23492. });
  23493. var __GLOBAL__sub_I_Runtime_PluginInterface_0_cpp = Module["__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp"] = (function() {
  23494. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23495. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23496. return Module["asm"]["__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp"].apply(null, arguments);
  23497. });
  23498. var __GLOBAL__sub_I_Runtime_PreloadManager_0_cpp = Module["__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp"] = (function() {
  23499. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23500. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23501. return Module["asm"]["__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp"].apply(null, arguments);
  23502. });
  23503. var __GLOBAL__sub_I_Runtime_Profiler_0_cpp = Module["__GLOBAL__sub_I_Runtime_Profiler_0_cpp"] = (function() {
  23504. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23505. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23506. return Module["asm"]["__GLOBAL__sub_I_Runtime_Profiler_0_cpp"].apply(null, arguments);
  23507. });
  23508. var __GLOBAL__sub_I_Runtime_Profiler_1_cpp = Module["__GLOBAL__sub_I_Runtime_Profiler_1_cpp"] = (function() {
  23509. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23510. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23511. return Module["asm"]["__GLOBAL__sub_I_Runtime_Profiler_1_cpp"].apply(null, arguments);
  23512. });
  23513. var __GLOBAL__sub_I_Runtime_Profiler_2_cpp = Module["__GLOBAL__sub_I_Runtime_Profiler_2_cpp"] = (function() {
  23514. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23515. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23516. return Module["asm"]["__GLOBAL__sub_I_Runtime_Profiler_2_cpp"].apply(null, arguments);
  23517. });
  23518. var __GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp = Module["__GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp"] = (function() {
  23519. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23520. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23521. return Module["asm"]["__GLOBAL__sub_I_Runtime_Profiler_ExternalGPUProfiler_0_cpp"].apply(null, arguments);
  23522. });
  23523. var __GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp = Module["__GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp"] = (function() {
  23524. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23525. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23526. return Module["asm"]["__GLOBAL__sub_I_Runtime_Profiler_ScriptBindings_0_cpp"].apply(null, arguments);
  23527. });
  23528. var __GLOBAL__sub_I_Runtime_SceneManager_0_cpp = Module["__GLOBAL__sub_I_Runtime_SceneManager_0_cpp"] = (function() {
  23529. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23530. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23531. return Module["asm"]["__GLOBAL__sub_I_Runtime_SceneManager_0_cpp"].apply(null, arguments);
  23532. });
  23533. var __GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp = Module["__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp"] = (function() {
  23534. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23535. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23536. return Module["asm"]["__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp"].apply(null, arguments);
  23537. });
  23538. var __GLOBAL__sub_I_Runtime_Scripting_0_cpp = Module["__GLOBAL__sub_I_Runtime_Scripting_0_cpp"] = (function() {
  23539. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23540. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23541. return Module["asm"]["__GLOBAL__sub_I_Runtime_Scripting_0_cpp"].apply(null, arguments);
  23542. });
  23543. var __GLOBAL__sub_I_Runtime_Scripting_2_cpp = Module["__GLOBAL__sub_I_Runtime_Scripting_2_cpp"] = (function() {
  23544. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23545. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23546. return Module["asm"]["__GLOBAL__sub_I_Runtime_Scripting_2_cpp"].apply(null, arguments);
  23547. });
  23548. var __GLOBAL__sub_I_Runtime_Scripting_3_cpp = Module["__GLOBAL__sub_I_Runtime_Scripting_3_cpp"] = (function() {
  23549. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23550. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23551. return Module["asm"]["__GLOBAL__sub_I_Runtime_Scripting_3_cpp"].apply(null, arguments);
  23552. });
  23553. var __GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp = Module["__GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp"] = (function() {
  23554. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23555. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23556. return Module["asm"]["__GLOBAL__sub_I_Runtime_Scripting_APIUpdating_0_cpp"].apply(null, arguments);
  23557. });
  23558. var __GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp = Module["__GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp"] = (function() {
  23559. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23560. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23561. return Module["asm"]["__GLOBAL__sub_I_Runtime_Scripting_ManagedReference_0_cpp"].apply(null, arguments);
  23562. });
  23563. var __GLOBAL__sub_I_Runtime_Serialize_0_cpp = Module["__GLOBAL__sub_I_Runtime_Serialize_0_cpp"] = (function() {
  23564. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23565. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23566. return Module["asm"]["__GLOBAL__sub_I_Runtime_Serialize_0_cpp"].apply(null, arguments);
  23567. });
  23568. var __GLOBAL__sub_I_Runtime_Serialize_1_cpp = Module["__GLOBAL__sub_I_Runtime_Serialize_1_cpp"] = (function() {
  23569. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23570. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23571. return Module["asm"]["__GLOBAL__sub_I_Runtime_Serialize_1_cpp"].apply(null, arguments);
  23572. });
  23573. var __GLOBAL__sub_I_Runtime_Serialize_2_cpp = Module["__GLOBAL__sub_I_Runtime_Serialize_2_cpp"] = (function() {
  23574. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23575. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23576. return Module["asm"]["__GLOBAL__sub_I_Runtime_Serialize_2_cpp"].apply(null, arguments);
  23577. });
  23578. var __GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp = Module["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp"] = (function() {
  23579. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23580. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23581. return Module["asm"]["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp"].apply(null, arguments);
  23582. });
  23583. var __GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp = Module["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp"] = (function() {
  23584. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23585. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23586. return Module["asm"]["__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp"].apply(null, arguments);
  23587. });
  23588. var __GLOBAL__sub_I_Runtime_Shaders_0_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_0_cpp"] = (function() {
  23589. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23590. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23591. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_0_cpp"].apply(null, arguments);
  23592. });
  23593. var __GLOBAL__sub_I_Runtime_Shaders_1_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_1_cpp"] = (function() {
  23594. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23595. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23596. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_1_cpp"].apply(null, arguments);
  23597. });
  23598. var __GLOBAL__sub_I_Runtime_Shaders_4_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_4_cpp"] = (function() {
  23599. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23600. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23601. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_4_cpp"].apply(null, arguments);
  23602. });
  23603. var __GLOBAL__sub_I_Runtime_Shaders_5_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_5_cpp"] = (function() {
  23604. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23605. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23606. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_5_cpp"].apply(null, arguments);
  23607. });
  23608. var __GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp"] = (function() {
  23609. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23610. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23611. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_GpuPrograms_0_cpp"].apply(null, arguments);
  23612. });
  23613. var __GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp"] = (function() {
  23614. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23615. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23616. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp"].apply(null, arguments);
  23617. });
  23618. var __GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp = Module["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp"] = (function() {
  23619. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23620. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23621. return Module["asm"]["__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_2_cpp"].apply(null, arguments);
  23622. });
  23623. var __GLOBAL__sub_I_Runtime_Streaming_0_cpp = Module["__GLOBAL__sub_I_Runtime_Streaming_0_cpp"] = (function() {
  23624. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23625. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23626. return Module["asm"]["__GLOBAL__sub_I_Runtime_Streaming_0_cpp"].apply(null, arguments);
  23627. });
  23628. var __GLOBAL__sub_I_Runtime_Streaming_1_cpp = Module["__GLOBAL__sub_I_Runtime_Streaming_1_cpp"] = (function() {
  23629. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23630. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23631. return Module["asm"]["__GLOBAL__sub_I_Runtime_Streaming_1_cpp"].apply(null, arguments);
  23632. });
  23633. var __GLOBAL__sub_I_Runtime_Transform_0_cpp = Module["__GLOBAL__sub_I_Runtime_Transform_0_cpp"] = (function() {
  23634. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23635. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23636. return Module["asm"]["__GLOBAL__sub_I_Runtime_Transform_0_cpp"].apply(null, arguments);
  23637. });
  23638. var __GLOBAL__sub_I_Runtime_Transform_1_cpp = Module["__GLOBAL__sub_I_Runtime_Transform_1_cpp"] = (function() {
  23639. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23640. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23641. return Module["asm"]["__GLOBAL__sub_I_Runtime_Transform_1_cpp"].apply(null, arguments);
  23642. });
  23643. var __GLOBAL__sub_I_Runtime_Utilities_2_cpp = Module["__GLOBAL__sub_I_Runtime_Utilities_2_cpp"] = (function() {
  23644. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23645. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23646. return Module["asm"]["__GLOBAL__sub_I_Runtime_Utilities_2_cpp"].apply(null, arguments);
  23647. });
  23648. var __GLOBAL__sub_I_Runtime_Utilities_5_cpp = Module["__GLOBAL__sub_I_Runtime_Utilities_5_cpp"] = (function() {
  23649. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23650. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23651. return Module["asm"]["__GLOBAL__sub_I_Runtime_Utilities_5_cpp"].apply(null, arguments);
  23652. });
  23653. var __GLOBAL__sub_I_Runtime_Utilities_6_cpp = Module["__GLOBAL__sub_I_Runtime_Utilities_6_cpp"] = (function() {
  23654. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23655. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23656. return Module["asm"]["__GLOBAL__sub_I_Runtime_Utilities_6_cpp"].apply(null, arguments);
  23657. });
  23658. var __GLOBAL__sub_I_Runtime_Utilities_7_cpp = Module["__GLOBAL__sub_I_Runtime_Utilities_7_cpp"] = (function() {
  23659. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23660. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23661. return Module["asm"]["__GLOBAL__sub_I_Runtime_Utilities_7_cpp"].apply(null, arguments);
  23662. });
  23663. var __GLOBAL__sub_I_Runtime_Utilities_8_cpp = Module["__GLOBAL__sub_I_Runtime_Utilities_8_cpp"] = (function() {
  23664. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23665. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23666. return Module["asm"]["__GLOBAL__sub_I_Runtime_Utilities_8_cpp"].apply(null, arguments);
  23667. });
  23668. var __GLOBAL__sub_I_Runtime_Utilities_9_cpp = Module["__GLOBAL__sub_I_Runtime_Utilities_9_cpp"] = (function() {
  23669. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23670. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23671. return Module["asm"]["__GLOBAL__sub_I_Runtime_Utilities_9_cpp"].apply(null, arguments);
  23672. });
  23673. var __GLOBAL__sub_I_Runtime_Video_0_cpp = Module["__GLOBAL__sub_I_Runtime_Video_0_cpp"] = (function() {
  23674. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23675. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23676. return Module["asm"]["__GLOBAL__sub_I_Runtime_Video_0_cpp"].apply(null, arguments);
  23677. });
  23678. var __GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp = Module["__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp"] = (function() {
  23679. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23680. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23681. return Module["asm"]["__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp"].apply(null, arguments);
  23682. });
  23683. var __GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp = Module["__GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp"] = (function() {
  23684. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23685. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23686. return Module["asm"]["__GLOBAL__sub_I_Runtime_VirtualFileSystem_1_cpp"].apply(null, arguments);
  23687. });
  23688. var __GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp = Module["__GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp"] = (function() {
  23689. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23690. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23691. return Module["asm"]["__GLOBAL__sub_I_Runtime_VirtualFileSystem_ArchiveFileSystem_0_cpp"].apply(null, arguments);
  23692. });
  23693. var __GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp = Module["__GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp"] = (function() {
  23694. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23695. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23696. return Module["asm"]["__GLOBAL__sub_I_Runtime_VirtualFileSystem_MemoryFileSystem_0_cpp"].apply(null, arguments);
  23697. });
  23698. var __GLOBAL__sub_I_Shader_cpp = Module["__GLOBAL__sub_I_Shader_cpp"] = (function() {
  23699. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23700. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23701. return Module["asm"]["__GLOBAL__sub_I_Shader_cpp"].apply(null, arguments);
  23702. });
  23703. var __GLOBAL__sub_I_Shadows_cpp = Module["__GLOBAL__sub_I_Shadows_cpp"] = (function() {
  23704. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23705. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23706. return Module["asm"]["__GLOBAL__sub_I_Shadows_cpp"].apply(null, arguments);
  23707. });
  23708. var __GLOBAL__sub_I_ShapeModule_cpp = Module["__GLOBAL__sub_I_ShapeModule_cpp"] = (function() {
  23709. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23710. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23711. return Module["asm"]["__GLOBAL__sub_I_ShapeModule_cpp"].apply(null, arguments);
  23712. });
  23713. var __GLOBAL__sub_I_SpriteShapeBindings_gen_cpp = Module["__GLOBAL__sub_I_SpriteShapeBindings_gen_cpp"] = (function() {
  23714. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23715. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23716. return Module["asm"]["__GLOBAL__sub_I_SpriteShapeBindings_gen_cpp"].apply(null, arguments);
  23717. });
  23718. var __GLOBAL__sub_I_SubsystemsScriptingClasses_cpp = Module["__GLOBAL__sub_I_SubsystemsScriptingClasses_cpp"] = (function() {
  23719. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23720. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23721. return Module["asm"]["__GLOBAL__sub_I_SubsystemsScriptingClasses_cpp"].apply(null, arguments);
  23722. });
  23723. var __GLOBAL__sub_I_SwInterCollision_cpp = Module["__GLOBAL__sub_I_SwInterCollision_cpp"] = (function() {
  23724. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23725. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23726. return Module["asm"]["__GLOBAL__sub_I_SwInterCollision_cpp"].apply(null, arguments);
  23727. });
  23728. var __GLOBAL__sub_I_SwSolverKernel_cpp = Module["__GLOBAL__sub_I_SwSolverKernel_cpp"] = (function() {
  23729. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23730. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23731. return Module["asm"]["__GLOBAL__sub_I_SwSolverKernel_cpp"].apply(null, arguments);
  23732. });
  23733. var __GLOBAL__sub_I_TLSModule_cpp = Module["__GLOBAL__sub_I_TLSModule_cpp"] = (function() {
  23734. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23735. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23736. return Module["asm"]["__GLOBAL__sub_I_TLSModule_cpp"].apply(null, arguments);
  23737. });
  23738. var __GLOBAL__sub_I_TemplateInstantiations_cpp = Module["__GLOBAL__sub_I_TemplateInstantiations_cpp"] = (function() {
  23739. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23740. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23741. return Module["asm"]["__GLOBAL__sub_I_TemplateInstantiations_cpp"].apply(null, arguments);
  23742. });
  23743. var __GLOBAL__sub_I_TerrainScriptingClasses_cpp = Module["__GLOBAL__sub_I_TerrainScriptingClasses_cpp"] = (function() {
  23744. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23745. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23746. return Module["asm"]["__GLOBAL__sub_I_TerrainScriptingClasses_cpp"].apply(null, arguments);
  23747. });
  23748. var __GLOBAL__sub_I_TextCoreScriptingClasses_cpp = Module["__GLOBAL__sub_I_TextCoreScriptingClasses_cpp"] = (function() {
  23749. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23750. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23751. return Module["asm"]["__GLOBAL__sub_I_TextCoreScriptingClasses_cpp"].apply(null, arguments);
  23752. });
  23753. var __GLOBAL__sub_I_TextRenderingScriptingClasses_cpp = Module["__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp"] = (function() {
  23754. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23755. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23756. return Module["asm"]["__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp"].apply(null, arguments);
  23757. });
  23758. var __GLOBAL__sub_I_TilemapScriptingClasses_cpp = Module["__GLOBAL__sub_I_TilemapScriptingClasses_cpp"] = (function() {
  23759. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23760. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23761. return Module["asm"]["__GLOBAL__sub_I_TilemapScriptingClasses_cpp"].apply(null, arguments);
  23762. });
  23763. var __GLOBAL__sub_I_TrailRenderer_cpp = Module["__GLOBAL__sub_I_TrailRenderer_cpp"] = (function() {
  23764. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23765. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23766. return Module["asm"]["__GLOBAL__sub_I_TrailRenderer_cpp"].apply(null, arguments);
  23767. });
  23768. var __GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp = Module["__GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp"] = (function() {
  23769. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23770. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23771. return Module["asm"]["__GLOBAL__sub_I_UIElementsNativeScriptingClasses_cpp"].apply(null, arguments);
  23772. });
  23773. var __GLOBAL__sub_I_UIScriptingClasses_cpp = Module["__GLOBAL__sub_I_UIScriptingClasses_cpp"] = (function() {
  23774. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23775. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23776. return Module["asm"]["__GLOBAL__sub_I_UIScriptingClasses_cpp"].apply(null, arguments);
  23777. });
  23778. var __GLOBAL__sub_I_UIWidgets_cpp = Module["__GLOBAL__sub_I_UIWidgets_cpp"] = (function() {
  23779. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23780. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23781. return Module["asm"]["__GLOBAL__sub_I_UIWidgets_cpp"].apply(null, arguments);
  23782. });
  23783. var __GLOBAL__sub_I_UVModule_cpp = Module["__GLOBAL__sub_I_UVModule_cpp"] = (function() {
  23784. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23785. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23786. return Module["asm"]["__GLOBAL__sub_I_UVModule_cpp"].apply(null, arguments);
  23787. });
  23788. var __GLOBAL__sub_I_UnityAdsSettings_cpp = Module["__GLOBAL__sub_I_UnityAdsSettings_cpp"] = (function() {
  23789. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23790. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23791. return Module["asm"]["__GLOBAL__sub_I_UnityAdsSettings_cpp"].apply(null, arguments);
  23792. });
  23793. var __GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp = Module["__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp"] = (function() {
  23794. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23795. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23796. return Module["asm"]["__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp"].apply(null, arguments);
  23797. });
  23798. var __GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp = Module["__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp"] = (function() {
  23799. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23800. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23801. return Module["asm"]["__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp"].apply(null, arguments);
  23802. });
  23803. var __GLOBAL__sub_I_VFXScriptingClasses_cpp = Module["__GLOBAL__sub_I_VFXScriptingClasses_cpp"] = (function() {
  23804. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23805. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23806. return Module["asm"]["__GLOBAL__sub_I_VFXScriptingClasses_cpp"].apply(null, arguments);
  23807. });
  23808. var __GLOBAL__sub_I_VRScriptingClasses_cpp = Module["__GLOBAL__sub_I_VRScriptingClasses_cpp"] = (function() {
  23809. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23810. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23811. return Module["asm"]["__GLOBAL__sub_I_VRScriptingClasses_cpp"].apply(null, arguments);
  23812. });
  23813. var __GLOBAL__sub_I_VelocityModule_cpp = Module["__GLOBAL__sub_I_VelocityModule_cpp"] = (function() {
  23814. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23815. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23816. return Module["asm"]["__GLOBAL__sub_I_VelocityModule_cpp"].apply(null, arguments);
  23817. });
  23818. var __GLOBAL__sub_I_VideoMediaOutput_cpp = Module["__GLOBAL__sub_I_VideoMediaOutput_cpp"] = (function() {
  23819. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23820. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23821. return Module["asm"]["__GLOBAL__sub_I_VideoMediaOutput_cpp"].apply(null, arguments);
  23822. });
  23823. var __GLOBAL__sub_I_VideoScriptingClasses_cpp = Module["__GLOBAL__sub_I_VideoScriptingClasses_cpp"] = (function() {
  23824. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23825. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23826. return Module["asm"]["__GLOBAL__sub_I_VideoScriptingClasses_cpp"].apply(null, arguments);
  23827. });
  23828. var __GLOBAL__sub_I_VideoYUV420Convert_cpp = Module["__GLOBAL__sub_I_VideoYUV420Convert_cpp"] = (function() {
  23829. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23830. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23831. return Module["asm"]["__GLOBAL__sub_I_VideoYUV420Convert_cpp"].apply(null, arguments);
  23832. });
  23833. var __GLOBAL__sub_I_VisualEffectAsset_cpp = Module["__GLOBAL__sub_I_VisualEffectAsset_cpp"] = (function() {
  23834. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23835. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23836. return Module["asm"]["__GLOBAL__sub_I_VisualEffectAsset_cpp"].apply(null, arguments);
  23837. });
  23838. var __GLOBAL__sub_I_Wind_cpp = Module["__GLOBAL__sub_I_Wind_cpp"] = (function() {
  23839. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23840. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23841. return Module["asm"]["__GLOBAL__sub_I_Wind_cpp"].apply(null, arguments);
  23842. });
  23843. var __GLOBAL__sub_I_XRAudio_cpp = Module["__GLOBAL__sub_I_XRAudio_cpp"] = (function() {
  23844. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23845. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23846. return Module["asm"]["__GLOBAL__sub_I_XRAudio_cpp"].apply(null, arguments);
  23847. });
  23848. var __GLOBAL__sub_I_XRPreInit_cpp = Module["__GLOBAL__sub_I_XRPreInit_cpp"] = (function() {
  23849. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23850. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23851. return Module["asm"]["__GLOBAL__sub_I_XRPreInit_cpp"].apply(null, arguments);
  23852. });
  23853. var __GLOBAL__sub_I_XRScriptingClasses_cpp = Module["__GLOBAL__sub_I_XRScriptingClasses_cpp"] = (function() {
  23854. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23855. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23856. return Module["asm"]["__GLOBAL__sub_I_XRScriptingClasses_cpp"].apply(null, arguments);
  23857. });
  23858. var __GLOBAL__sub_I_XRWindowsLocatableCamera_cpp = Module["__GLOBAL__sub_I_XRWindowsLocatableCamera_cpp"] = (function() {
  23859. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23860. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23861. return Module["asm"]["__GLOBAL__sub_I_XRWindowsLocatableCamera_cpp"].apply(null, arguments);
  23862. });
  23863. var __GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp = Module["__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp"] = (function() {
  23864. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23865. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23866. return Module["asm"]["__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp"].apply(null, arguments);
  23867. });
  23868. var __GLOBAL__sub_I_clipmuscle_cpp = Module["__GLOBAL__sub_I_clipmuscle_cpp"] = (function() {
  23869. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23870. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23871. return Module["asm"]["__GLOBAL__sub_I_clipmuscle_cpp"].apply(null, arguments);
  23872. });
  23873. var __GLOBAL__sub_I_nvcloth_src_0_cpp = Module["__GLOBAL__sub_I_nvcloth_src_0_cpp"] = (function() {
  23874. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23875. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23876. return Module["asm"]["__GLOBAL__sub_I_nvcloth_src_0_cpp"].apply(null, arguments);
  23877. });
  23878. var __GLOBAL__sub_I_nvcloth_src_1_cpp = Module["__GLOBAL__sub_I_nvcloth_src_1_cpp"] = (function() {
  23879. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23880. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23881. return Module["asm"]["__GLOBAL__sub_I_nvcloth_src_1_cpp"].apply(null, arguments);
  23882. });
  23883. var __GLOBAL__sub_I_umbra_cpp = Module["__GLOBAL__sub_I_umbra_cpp"] = (function() {
  23884. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23885. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23886. return Module["asm"]["__GLOBAL__sub_I_umbra_cpp"].apply(null, arguments);
  23887. });
  23888. var ___cxa_can_catch = Module["___cxa_can_catch"] = (function() {
  23889. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23890. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23891. return Module["asm"]["___cxa_can_catch"].apply(null, arguments);
  23892. });
  23893. var ___cxa_demangle = Module["___cxa_demangle"] = (function() {
  23894. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23895. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23896. return Module["asm"]["___cxa_demangle"].apply(null, arguments);
  23897. });
  23898. var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = (function() {
  23899. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23900. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23901. return Module["asm"]["___cxa_is_pointer_type"].apply(null, arguments);
  23902. });
  23903. var ___cxx_global_var_init_10 = Module["___cxx_global_var_init_10"] = (function() {
  23904. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23905. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23906. return Module["asm"]["___cxx_global_var_init_10"].apply(null, arguments);
  23907. });
  23908. var ___cxx_global_var_init_104 = Module["___cxx_global_var_init_104"] = (function() {
  23909. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23910. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23911. return Module["asm"]["___cxx_global_var_init_104"].apply(null, arguments);
  23912. });
  23913. var ___cxx_global_var_init_105 = Module["___cxx_global_var_init_105"] = (function() {
  23914. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23915. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23916. return Module["asm"]["___cxx_global_var_init_105"].apply(null, arguments);
  23917. });
  23918. var ___cxx_global_var_init_10913 = Module["___cxx_global_var_init_10913"] = (function() {
  23919. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23920. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23921. return Module["asm"]["___cxx_global_var_init_10913"].apply(null, arguments);
  23922. });
  23923. var ___cxx_global_var_init_10_8165 = Module["___cxx_global_var_init_10_8165"] = (function() {
  23924. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23925. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23926. return Module["asm"]["___cxx_global_var_init_10_8165"].apply(null, arguments);
  23927. });
  23928. var ___cxx_global_var_init_10_9872 = Module["___cxx_global_var_init_10_9872"] = (function() {
  23929. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23930. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23931. return Module["asm"]["___cxx_global_var_init_10_9872"].apply(null, arguments);
  23932. });
  23933. var ___cxx_global_var_init_11 = Module["___cxx_global_var_init_11"] = (function() {
  23934. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23935. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23936. return Module["asm"]["___cxx_global_var_init_11"].apply(null, arguments);
  23937. });
  23938. var ___cxx_global_var_init_110 = Module["___cxx_global_var_init_110"] = (function() {
  23939. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23940. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23941. return Module["asm"]["___cxx_global_var_init_110"].apply(null, arguments);
  23942. });
  23943. var ___cxx_global_var_init_111 = Module["___cxx_global_var_init_111"] = (function() {
  23944. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23945. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23946. return Module["asm"]["___cxx_global_var_init_111"].apply(null, arguments);
  23947. });
  23948. var ___cxx_global_var_init_112 = Module["___cxx_global_var_init_112"] = (function() {
  23949. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23950. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23951. return Module["asm"]["___cxx_global_var_init_112"].apply(null, arguments);
  23952. });
  23953. var ___cxx_global_var_init_113 = Module["___cxx_global_var_init_113"] = (function() {
  23954. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23955. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23956. return Module["asm"]["___cxx_global_var_init_113"].apply(null, arguments);
  23957. });
  23958. var ___cxx_global_var_init_114 = Module["___cxx_global_var_init_114"] = (function() {
  23959. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23960. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23961. return Module["asm"]["___cxx_global_var_init_114"].apply(null, arguments);
  23962. });
  23963. var ___cxx_global_var_init_11_8166 = Module["___cxx_global_var_init_11_8166"] = (function() {
  23964. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23965. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23966. return Module["asm"]["___cxx_global_var_init_11_8166"].apply(null, arguments);
  23967. });
  23968. var ___cxx_global_var_init_12 = Module["___cxx_global_var_init_12"] = (function() {
  23969. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23970. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23971. return Module["asm"]["___cxx_global_var_init_12"].apply(null, arguments);
  23972. });
  23973. var ___cxx_global_var_init_12_8167 = Module["___cxx_global_var_init_12_8167"] = (function() {
  23974. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23975. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23976. return Module["asm"]["___cxx_global_var_init_12_8167"].apply(null, arguments);
  23977. });
  23978. var ___cxx_global_var_init_136 = Module["___cxx_global_var_init_136"] = (function() {
  23979. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23980. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23981. return Module["asm"]["___cxx_global_var_init_136"].apply(null, arguments);
  23982. });
  23983. var ___cxx_global_var_init_137 = Module["___cxx_global_var_init_137"] = (function() {
  23984. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23985. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23986. return Module["asm"]["___cxx_global_var_init_137"].apply(null, arguments);
  23987. });
  23988. var ___cxx_global_var_init_144 = Module["___cxx_global_var_init_144"] = (function() {
  23989. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23990. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23991. return Module["asm"]["___cxx_global_var_init_144"].apply(null, arguments);
  23992. });
  23993. var ___cxx_global_var_init_148 = Module["___cxx_global_var_init_148"] = (function() {
  23994. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  23995. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  23996. return Module["asm"]["___cxx_global_var_init_148"].apply(null, arguments);
  23997. });
  23998. var ___cxx_global_var_init_149 = Module["___cxx_global_var_init_149"] = (function() {
  23999. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24000. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24001. return Module["asm"]["___cxx_global_var_init_149"].apply(null, arguments);
  24002. });
  24003. var ___cxx_global_var_init_15 = Module["___cxx_global_var_init_15"] = (function() {
  24004. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24005. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24006. return Module["asm"]["___cxx_global_var_init_15"].apply(null, arguments);
  24007. });
  24008. var ___cxx_global_var_init_150 = Module["___cxx_global_var_init_150"] = (function() {
  24009. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24010. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24011. return Module["asm"]["___cxx_global_var_init_150"].apply(null, arguments);
  24012. });
  24013. var ___cxx_global_var_init_155 = Module["___cxx_global_var_init_155"] = (function() {
  24014. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24015. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24016. return Module["asm"]["___cxx_global_var_init_155"].apply(null, arguments);
  24017. });
  24018. var ___cxx_global_var_init_162 = Module["___cxx_global_var_init_162"] = (function() {
  24019. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24020. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24021. return Module["asm"]["___cxx_global_var_init_162"].apply(null, arguments);
  24022. });
  24023. var ___cxx_global_var_init_17 = Module["___cxx_global_var_init_17"] = (function() {
  24024. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24025. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24026. return Module["asm"]["___cxx_global_var_init_17"].apply(null, arguments);
  24027. });
  24028. var ___cxx_global_var_init_17063 = Module["___cxx_global_var_init_17063"] = (function() {
  24029. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24030. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24031. return Module["asm"]["___cxx_global_var_init_17063"].apply(null, arguments);
  24032. });
  24033. var ___cxx_global_var_init_172 = Module["___cxx_global_var_init_172"] = (function() {
  24034. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24035. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24036. return Module["asm"]["___cxx_global_var_init_172"].apply(null, arguments);
  24037. });
  24038. var ___cxx_global_var_init_173 = Module["___cxx_global_var_init_173"] = (function() {
  24039. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24040. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24041. return Module["asm"]["___cxx_global_var_init_173"].apply(null, arguments);
  24042. });
  24043. var ___cxx_global_var_init_174 = Module["___cxx_global_var_init_174"] = (function() {
  24044. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24045. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24046. return Module["asm"]["___cxx_global_var_init_174"].apply(null, arguments);
  24047. });
  24048. var ___cxx_global_var_init_175 = Module["___cxx_global_var_init_175"] = (function() {
  24049. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24050. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24051. return Module["asm"]["___cxx_global_var_init_175"].apply(null, arguments);
  24052. });
  24053. var ___cxx_global_var_init_176 = Module["___cxx_global_var_init_176"] = (function() {
  24054. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24055. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24056. return Module["asm"]["___cxx_global_var_init_176"].apply(null, arguments);
  24057. });
  24058. var ___cxx_global_var_init_177 = Module["___cxx_global_var_init_177"] = (function() {
  24059. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24060. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24061. return Module["asm"]["___cxx_global_var_init_177"].apply(null, arguments);
  24062. });
  24063. var ___cxx_global_var_init_178 = Module["___cxx_global_var_init_178"] = (function() {
  24064. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24065. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24066. return Module["asm"]["___cxx_global_var_init_178"].apply(null, arguments);
  24067. });
  24068. var ___cxx_global_var_init_179 = Module["___cxx_global_var_init_179"] = (function() {
  24069. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24070. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24071. return Module["asm"]["___cxx_global_var_init_179"].apply(null, arguments);
  24072. });
  24073. var ___cxx_global_var_init_18 = Module["___cxx_global_var_init_18"] = (function() {
  24074. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24075. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24076. return Module["asm"]["___cxx_global_var_init_18"].apply(null, arguments);
  24077. });
  24078. var ___cxx_global_var_init_180 = Module["___cxx_global_var_init_180"] = (function() {
  24079. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24080. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24081. return Module["asm"]["___cxx_global_var_init_180"].apply(null, arguments);
  24082. });
  24083. var ___cxx_global_var_init_181 = Module["___cxx_global_var_init_181"] = (function() {
  24084. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24085. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24086. return Module["asm"]["___cxx_global_var_init_181"].apply(null, arguments);
  24087. });
  24088. var ___cxx_global_var_init_182 = Module["___cxx_global_var_init_182"] = (function() {
  24089. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24090. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24091. return Module["asm"]["___cxx_global_var_init_182"].apply(null, arguments);
  24092. });
  24093. var ___cxx_global_var_init_183 = Module["___cxx_global_var_init_183"] = (function() {
  24094. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24095. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24096. return Module["asm"]["___cxx_global_var_init_183"].apply(null, arguments);
  24097. });
  24098. var ___cxx_global_var_init_184 = Module["___cxx_global_var_init_184"] = (function() {
  24099. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24100. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24101. return Module["asm"]["___cxx_global_var_init_184"].apply(null, arguments);
  24102. });
  24103. var ___cxx_global_var_init_185 = Module["___cxx_global_var_init_185"] = (function() {
  24104. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24105. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24106. return Module["asm"]["___cxx_global_var_init_185"].apply(null, arguments);
  24107. });
  24108. var ___cxx_global_var_init_186 = Module["___cxx_global_var_init_186"] = (function() {
  24109. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24110. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24111. return Module["asm"]["___cxx_global_var_init_186"].apply(null, arguments);
  24112. });
  24113. var ___cxx_global_var_init_187 = Module["___cxx_global_var_init_187"] = (function() {
  24114. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24115. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24116. return Module["asm"]["___cxx_global_var_init_187"].apply(null, arguments);
  24117. });
  24118. var ___cxx_global_var_init_188 = Module["___cxx_global_var_init_188"] = (function() {
  24119. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24120. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24121. return Module["asm"]["___cxx_global_var_init_188"].apply(null, arguments);
  24122. });
  24123. var ___cxx_global_var_init_189 = Module["___cxx_global_var_init_189"] = (function() {
  24124. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24125. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24126. return Module["asm"]["___cxx_global_var_init_189"].apply(null, arguments);
  24127. });
  24128. var ___cxx_global_var_init_19 = Module["___cxx_global_var_init_19"] = (function() {
  24129. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24130. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24131. return Module["asm"]["___cxx_global_var_init_19"].apply(null, arguments);
  24132. });
  24133. var ___cxx_global_var_init_190 = Module["___cxx_global_var_init_190"] = (function() {
  24134. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24135. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24136. return Module["asm"]["___cxx_global_var_init_190"].apply(null, arguments);
  24137. });
  24138. var ___cxx_global_var_init_191 = Module["___cxx_global_var_init_191"] = (function() {
  24139. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24140. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24141. return Module["asm"]["___cxx_global_var_init_191"].apply(null, arguments);
  24142. });
  24143. var ___cxx_global_var_init_192 = Module["___cxx_global_var_init_192"] = (function() {
  24144. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24145. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24146. return Module["asm"]["___cxx_global_var_init_192"].apply(null, arguments);
  24147. });
  24148. var ___cxx_global_var_init_192_8380 = Module["___cxx_global_var_init_192_8380"] = (function() {
  24149. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24150. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24151. return Module["asm"]["___cxx_global_var_init_192_8380"].apply(null, arguments);
  24152. });
  24153. var ___cxx_global_var_init_193 = Module["___cxx_global_var_init_193"] = (function() {
  24154. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24155. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24156. return Module["asm"]["___cxx_global_var_init_193"].apply(null, arguments);
  24157. });
  24158. var ___cxx_global_var_init_193_8381 = Module["___cxx_global_var_init_193_8381"] = (function() {
  24159. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24160. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24161. return Module["asm"]["___cxx_global_var_init_193_8381"].apply(null, arguments);
  24162. });
  24163. var ___cxx_global_var_init_194 = Module["___cxx_global_var_init_194"] = (function() {
  24164. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24165. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24166. return Module["asm"]["___cxx_global_var_init_194"].apply(null, arguments);
  24167. });
  24168. var ___cxx_global_var_init_194_8382 = Module["___cxx_global_var_init_194_8382"] = (function() {
  24169. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24170. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24171. return Module["asm"]["___cxx_global_var_init_194_8382"].apply(null, arguments);
  24172. });
  24173. var ___cxx_global_var_init_195 = Module["___cxx_global_var_init_195"] = (function() {
  24174. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24175. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24176. return Module["asm"]["___cxx_global_var_init_195"].apply(null, arguments);
  24177. });
  24178. var ___cxx_global_var_init_195_8383 = Module["___cxx_global_var_init_195_8383"] = (function() {
  24179. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24180. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24181. return Module["asm"]["___cxx_global_var_init_195_8383"].apply(null, arguments);
  24182. });
  24183. var ___cxx_global_var_init_196 = Module["___cxx_global_var_init_196"] = (function() {
  24184. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24185. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24186. return Module["asm"]["___cxx_global_var_init_196"].apply(null, arguments);
  24187. });
  24188. var ___cxx_global_var_init_196_8384 = Module["___cxx_global_var_init_196_8384"] = (function() {
  24189. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24190. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24191. return Module["asm"]["___cxx_global_var_init_196_8384"].apply(null, arguments);
  24192. });
  24193. var ___cxx_global_var_init_197 = Module["___cxx_global_var_init_197"] = (function() {
  24194. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24195. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24196. return Module["asm"]["___cxx_global_var_init_197"].apply(null, arguments);
  24197. });
  24198. var ___cxx_global_var_init_197_8385 = Module["___cxx_global_var_init_197_8385"] = (function() {
  24199. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24200. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24201. return Module["asm"]["___cxx_global_var_init_197_8385"].apply(null, arguments);
  24202. });
  24203. var ___cxx_global_var_init_198 = Module["___cxx_global_var_init_198"] = (function() {
  24204. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24205. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24206. return Module["asm"]["___cxx_global_var_init_198"].apply(null, arguments);
  24207. });
  24208. var ___cxx_global_var_init_198_8386 = Module["___cxx_global_var_init_198_8386"] = (function() {
  24209. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24210. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24211. return Module["asm"]["___cxx_global_var_init_198_8386"].apply(null, arguments);
  24212. });
  24213. var ___cxx_global_var_init_199 = Module["___cxx_global_var_init_199"] = (function() {
  24214. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24215. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24216. return Module["asm"]["___cxx_global_var_init_199"].apply(null, arguments);
  24217. });
  24218. var ___cxx_global_var_init_199_1314 = Module["___cxx_global_var_init_199_1314"] = (function() {
  24219. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24220. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24221. return Module["asm"]["___cxx_global_var_init_199_1314"].apply(null, arguments);
  24222. });
  24223. var ___cxx_global_var_init_1_7199 = Module["___cxx_global_var_init_1_7199"] = (function() {
  24224. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24225. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24226. return Module["asm"]["___cxx_global_var_init_1_7199"].apply(null, arguments);
  24227. });
  24228. var ___cxx_global_var_init_1_9527 = Module["___cxx_global_var_init_1_9527"] = (function() {
  24229. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24230. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24231. return Module["asm"]["___cxx_global_var_init_1_9527"].apply(null, arguments);
  24232. });
  24233. var ___cxx_global_var_init_20 = Module["___cxx_global_var_init_20"] = (function() {
  24234. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24235. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24236. return Module["asm"]["___cxx_global_var_init_20"].apply(null, arguments);
  24237. });
  24238. var ___cxx_global_var_init_200 = Module["___cxx_global_var_init_200"] = (function() {
  24239. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24240. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24241. return Module["asm"]["___cxx_global_var_init_200"].apply(null, arguments);
  24242. });
  24243. var ___cxx_global_var_init_201 = Module["___cxx_global_var_init_201"] = (function() {
  24244. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24245. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24246. return Module["asm"]["___cxx_global_var_init_201"].apply(null, arguments);
  24247. });
  24248. var ___cxx_global_var_init_202 = Module["___cxx_global_var_init_202"] = (function() {
  24249. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24250. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24251. return Module["asm"]["___cxx_global_var_init_202"].apply(null, arguments);
  24252. });
  24253. var ___cxx_global_var_init_203 = Module["___cxx_global_var_init_203"] = (function() {
  24254. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24255. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24256. return Module["asm"]["___cxx_global_var_init_203"].apply(null, arguments);
  24257. });
  24258. var ___cxx_global_var_init_204 = Module["___cxx_global_var_init_204"] = (function() {
  24259. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24260. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24261. return Module["asm"]["___cxx_global_var_init_204"].apply(null, arguments);
  24262. });
  24263. var ___cxx_global_var_init_205 = Module["___cxx_global_var_init_205"] = (function() {
  24264. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24265. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24266. return Module["asm"]["___cxx_global_var_init_205"].apply(null, arguments);
  24267. });
  24268. var ___cxx_global_var_init_206 = Module["___cxx_global_var_init_206"] = (function() {
  24269. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24270. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24271. return Module["asm"]["___cxx_global_var_init_206"].apply(null, arguments);
  24272. });
  24273. var ___cxx_global_var_init_207 = Module["___cxx_global_var_init_207"] = (function() {
  24274. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24275. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24276. return Module["asm"]["___cxx_global_var_init_207"].apply(null, arguments);
  24277. });
  24278. var ___cxx_global_var_init_208 = Module["___cxx_global_var_init_208"] = (function() {
  24279. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24280. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24281. return Module["asm"]["___cxx_global_var_init_208"].apply(null, arguments);
  24282. });
  24283. var ___cxx_global_var_init_209 = Module["___cxx_global_var_init_209"] = (function() {
  24284. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24285. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24286. return Module["asm"]["___cxx_global_var_init_209"].apply(null, arguments);
  24287. });
  24288. var ___cxx_global_var_init_21 = Module["___cxx_global_var_init_21"] = (function() {
  24289. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24290. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24291. return Module["asm"]["___cxx_global_var_init_21"].apply(null, arguments);
  24292. });
  24293. var ___cxx_global_var_init_210 = Module["___cxx_global_var_init_210"] = (function() {
  24294. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24295. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24296. return Module["asm"]["___cxx_global_var_init_210"].apply(null, arguments);
  24297. });
  24298. var ___cxx_global_var_init_210_8387 = Module["___cxx_global_var_init_210_8387"] = (function() {
  24299. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24300. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24301. return Module["asm"]["___cxx_global_var_init_210_8387"].apply(null, arguments);
  24302. });
  24303. var ___cxx_global_var_init_211 = Module["___cxx_global_var_init_211"] = (function() {
  24304. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24305. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24306. return Module["asm"]["___cxx_global_var_init_211"].apply(null, arguments);
  24307. });
  24308. var ___cxx_global_var_init_211_8388 = Module["___cxx_global_var_init_211_8388"] = (function() {
  24309. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24310. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24311. return Module["asm"]["___cxx_global_var_init_211_8388"].apply(null, arguments);
  24312. });
  24313. var ___cxx_global_var_init_212 = Module["___cxx_global_var_init_212"] = (function() {
  24314. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24315. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24316. return Module["asm"]["___cxx_global_var_init_212"].apply(null, arguments);
  24317. });
  24318. var ___cxx_global_var_init_213 = Module["___cxx_global_var_init_213"] = (function() {
  24319. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24320. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24321. return Module["asm"]["___cxx_global_var_init_213"].apply(null, arguments);
  24322. });
  24323. var ___cxx_global_var_init_214 = Module["___cxx_global_var_init_214"] = (function() {
  24324. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24325. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24326. return Module["asm"]["___cxx_global_var_init_214"].apply(null, arguments);
  24327. });
  24328. var ___cxx_global_var_init_215 = Module["___cxx_global_var_init_215"] = (function() {
  24329. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24330. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24331. return Module["asm"]["___cxx_global_var_init_215"].apply(null, arguments);
  24332. });
  24333. var ___cxx_global_var_init_216 = Module["___cxx_global_var_init_216"] = (function() {
  24334. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24335. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24336. return Module["asm"]["___cxx_global_var_init_216"].apply(null, arguments);
  24337. });
  24338. var ___cxx_global_var_init_217 = Module["___cxx_global_var_init_217"] = (function() {
  24339. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24340. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24341. return Module["asm"]["___cxx_global_var_init_217"].apply(null, arguments);
  24342. });
  24343. var ___cxx_global_var_init_218 = Module["___cxx_global_var_init_218"] = (function() {
  24344. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24345. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24346. return Module["asm"]["___cxx_global_var_init_218"].apply(null, arguments);
  24347. });
  24348. var ___cxx_global_var_init_219 = Module["___cxx_global_var_init_219"] = (function() {
  24349. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24350. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24351. return Module["asm"]["___cxx_global_var_init_219"].apply(null, arguments);
  24352. });
  24353. var ___cxx_global_var_init_220 = Module["___cxx_global_var_init_220"] = (function() {
  24354. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24355. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24356. return Module["asm"]["___cxx_global_var_init_220"].apply(null, arguments);
  24357. });
  24358. var ___cxx_global_var_init_221 = Module["___cxx_global_var_init_221"] = (function() {
  24359. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24360. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24361. return Module["asm"]["___cxx_global_var_init_221"].apply(null, arguments);
  24362. });
  24363. var ___cxx_global_var_init_222 = Module["___cxx_global_var_init_222"] = (function() {
  24364. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24365. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24366. return Module["asm"]["___cxx_global_var_init_222"].apply(null, arguments);
  24367. });
  24368. var ___cxx_global_var_init_223 = Module["___cxx_global_var_init_223"] = (function() {
  24369. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24370. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24371. return Module["asm"]["___cxx_global_var_init_223"].apply(null, arguments);
  24372. });
  24373. var ___cxx_global_var_init_224 = Module["___cxx_global_var_init_224"] = (function() {
  24374. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24375. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24376. return Module["asm"]["___cxx_global_var_init_224"].apply(null, arguments);
  24377. });
  24378. var ___cxx_global_var_init_225 = Module["___cxx_global_var_init_225"] = (function() {
  24379. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24380. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24381. return Module["asm"]["___cxx_global_var_init_225"].apply(null, arguments);
  24382. });
  24383. var ___cxx_global_var_init_226 = Module["___cxx_global_var_init_226"] = (function() {
  24384. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24385. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24386. return Module["asm"]["___cxx_global_var_init_226"].apply(null, arguments);
  24387. });
  24388. var ___cxx_global_var_init_227 = Module["___cxx_global_var_init_227"] = (function() {
  24389. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24390. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24391. return Module["asm"]["___cxx_global_var_init_227"].apply(null, arguments);
  24392. });
  24393. var ___cxx_global_var_init_25 = Module["___cxx_global_var_init_25"] = (function() {
  24394. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24395. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24396. return Module["asm"]["___cxx_global_var_init_25"].apply(null, arguments);
  24397. });
  24398. var ___cxx_global_var_init_26 = Module["___cxx_global_var_init_26"] = (function() {
  24399. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24400. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24401. return Module["asm"]["___cxx_global_var_init_26"].apply(null, arguments);
  24402. });
  24403. var ___cxx_global_var_init_27 = Module["___cxx_global_var_init_27"] = (function() {
  24404. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24405. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24406. return Module["asm"]["___cxx_global_var_init_27"].apply(null, arguments);
  24407. });
  24408. var ___cxx_global_var_init_27_5703 = Module["___cxx_global_var_init_27_5703"] = (function() {
  24409. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24410. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24411. return Module["asm"]["___cxx_global_var_init_27_5703"].apply(null, arguments);
  24412. });
  24413. var ___cxx_global_var_init_27_9088 = Module["___cxx_global_var_init_27_9088"] = (function() {
  24414. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24415. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24416. return Module["asm"]["___cxx_global_var_init_27_9088"].apply(null, arguments);
  24417. });
  24418. var ___cxx_global_var_init_28 = Module["___cxx_global_var_init_28"] = (function() {
  24419. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24420. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24421. return Module["asm"]["___cxx_global_var_init_28"].apply(null, arguments);
  24422. });
  24423. var ___cxx_global_var_init_28_7239 = Module["___cxx_global_var_init_28_7239"] = (function() {
  24424. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24425. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24426. return Module["asm"]["___cxx_global_var_init_28_7239"].apply(null, arguments);
  24427. });
  24428. var ___cxx_global_var_init_29_4254 = Module["___cxx_global_var_init_29_4254"] = (function() {
  24429. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24430. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24431. return Module["asm"]["___cxx_global_var_init_29_4254"].apply(null, arguments);
  24432. });
  24433. var ___cxx_global_var_init_29_7240 = Module["___cxx_global_var_init_29_7240"] = (function() {
  24434. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24435. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24436. return Module["asm"]["___cxx_global_var_init_29_7240"].apply(null, arguments);
  24437. });
  24438. var ___cxx_global_var_init_29_9089 = Module["___cxx_global_var_init_29_9089"] = (function() {
  24439. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24440. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24441. return Module["asm"]["___cxx_global_var_init_29_9089"].apply(null, arguments);
  24442. });
  24443. var ___cxx_global_var_init_2_9528 = Module["___cxx_global_var_init_2_9528"] = (function() {
  24444. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24445. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24446. return Module["asm"]["___cxx_global_var_init_2_9528"].apply(null, arguments);
  24447. });
  24448. var ___cxx_global_var_init_2_9864 = Module["___cxx_global_var_init_2_9864"] = (function() {
  24449. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24450. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24451. return Module["asm"]["___cxx_global_var_init_2_9864"].apply(null, arguments);
  24452. });
  24453. var ___cxx_global_var_init_30 = Module["___cxx_global_var_init_30"] = (function() {
  24454. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24455. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24456. return Module["asm"]["___cxx_global_var_init_30"].apply(null, arguments);
  24457. });
  24458. var ___cxx_global_var_init_30_4255 = Module["___cxx_global_var_init_30_4255"] = (function() {
  24459. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24460. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24461. return Module["asm"]["___cxx_global_var_init_30_4255"].apply(null, arguments);
  24462. });
  24463. var ___cxx_global_var_init_31_4256 = Module["___cxx_global_var_init_31_4256"] = (function() {
  24464. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24465. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24466. return Module["asm"]["___cxx_global_var_init_31_4256"].apply(null, arguments);
  24467. });
  24468. var ___cxx_global_var_init_31_8788 = Module["___cxx_global_var_init_31_8788"] = (function() {
  24469. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24470. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24471. return Module["asm"]["___cxx_global_var_init_31_8788"].apply(null, arguments);
  24472. });
  24473. var ___cxx_global_var_init_31_9090 = Module["___cxx_global_var_init_31_9090"] = (function() {
  24474. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24475. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24476. return Module["asm"]["___cxx_global_var_init_31_9090"].apply(null, arguments);
  24477. });
  24478. var ___cxx_global_var_init_32 = Module["___cxx_global_var_init_32"] = (function() {
  24479. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24480. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24481. return Module["asm"]["___cxx_global_var_init_32"].apply(null, arguments);
  24482. });
  24483. var ___cxx_global_var_init_33_10225 = Module["___cxx_global_var_init_33_10225"] = (function() {
  24484. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24485. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24486. return Module["asm"]["___cxx_global_var_init_33_10225"].apply(null, arguments);
  24487. });
  24488. var ___cxx_global_var_init_33_8789 = Module["___cxx_global_var_init_33_8789"] = (function() {
  24489. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24490. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24491. return Module["asm"]["___cxx_global_var_init_33_8789"].apply(null, arguments);
  24492. });
  24493. var ___cxx_global_var_init_34 = Module["___cxx_global_var_init_34"] = (function() {
  24494. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24495. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24496. return Module["asm"]["___cxx_global_var_init_34"].apply(null, arguments);
  24497. });
  24498. var ___cxx_global_var_init_34_8790 = Module["___cxx_global_var_init_34_8790"] = (function() {
  24499. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24500. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24501. return Module["asm"]["___cxx_global_var_init_34_8790"].apply(null, arguments);
  24502. });
  24503. var ___cxx_global_var_init_34_9202 = Module["___cxx_global_var_init_34_9202"] = (function() {
  24504. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24505. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24506. return Module["asm"]["___cxx_global_var_init_34_9202"].apply(null, arguments);
  24507. });
  24508. var ___cxx_global_var_init_35 = Module["___cxx_global_var_init_35"] = (function() {
  24509. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24510. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24511. return Module["asm"]["___cxx_global_var_init_35"].apply(null, arguments);
  24512. });
  24513. var ___cxx_global_var_init_35_7727 = Module["___cxx_global_var_init_35_7727"] = (function() {
  24514. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24515. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24516. return Module["asm"]["___cxx_global_var_init_35_7727"].apply(null, arguments);
  24517. });
  24518. var ___cxx_global_var_init_36 = Module["___cxx_global_var_init_36"] = (function() {
  24519. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24520. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24521. return Module["asm"]["___cxx_global_var_init_36"].apply(null, arguments);
  24522. });
  24523. var ___cxx_global_var_init_36_7728 = Module["___cxx_global_var_init_36_7728"] = (function() {
  24524. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24525. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24526. return Module["asm"]["___cxx_global_var_init_36_7728"].apply(null, arguments);
  24527. });
  24528. var ___cxx_global_var_init_37 = Module["___cxx_global_var_init_37"] = (function() {
  24529. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24530. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24531. return Module["asm"]["___cxx_global_var_init_37"].apply(null, arguments);
  24532. });
  24533. var ___cxx_global_var_init_38 = Module["___cxx_global_var_init_38"] = (function() {
  24534. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24535. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24536. return Module["asm"]["___cxx_global_var_init_38"].apply(null, arguments);
  24537. });
  24538. var ___cxx_global_var_init_39 = Module["___cxx_global_var_init_39"] = (function() {
  24539. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24540. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24541. return Module["asm"]["___cxx_global_var_init_39"].apply(null, arguments);
  24542. });
  24543. var ___cxx_global_var_init_3_27 = Module["___cxx_global_var_init_3_27"] = (function() {
  24544. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24545. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24546. return Module["asm"]["___cxx_global_var_init_3_27"].apply(null, arguments);
  24547. });
  24548. var ___cxx_global_var_init_3_4490 = Module["___cxx_global_var_init_3_4490"] = (function() {
  24549. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24550. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24551. return Module["asm"]["___cxx_global_var_init_3_4490"].apply(null, arguments);
  24552. });
  24553. var ___cxx_global_var_init_3_9865 = Module["___cxx_global_var_init_3_9865"] = (function() {
  24554. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24555. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24556. return Module["asm"]["___cxx_global_var_init_3_9865"].apply(null, arguments);
  24557. });
  24558. var ___cxx_global_var_init_40 = Module["___cxx_global_var_init_40"] = (function() {
  24559. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24560. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24561. return Module["asm"]["___cxx_global_var_init_40"].apply(null, arguments);
  24562. });
  24563. var ___cxx_global_var_init_41 = Module["___cxx_global_var_init_41"] = (function() {
  24564. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24565. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24566. return Module["asm"]["___cxx_global_var_init_41"].apply(null, arguments);
  24567. });
  24568. var ___cxx_global_var_init_4115 = Module["___cxx_global_var_init_4115"] = (function() {
  24569. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24570. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24571. return Module["asm"]["___cxx_global_var_init_4115"].apply(null, arguments);
  24572. });
  24573. var ___cxx_global_var_init_41_13464 = Module["___cxx_global_var_init_41_13464"] = (function() {
  24574. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24575. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24576. return Module["asm"]["___cxx_global_var_init_41_13464"].apply(null, arguments);
  24577. });
  24578. var ___cxx_global_var_init_42 = Module["___cxx_global_var_init_42"] = (function() {
  24579. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24580. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24581. return Module["asm"]["___cxx_global_var_init_42"].apply(null, arguments);
  24582. });
  24583. var ___cxx_global_var_init_43 = Module["___cxx_global_var_init_43"] = (function() {
  24584. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24585. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24586. return Module["asm"]["___cxx_global_var_init_43"].apply(null, arguments);
  24587. });
  24588. var ___cxx_global_var_init_43_4837 = Module["___cxx_global_var_init_43_4837"] = (function() {
  24589. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24590. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24591. return Module["asm"]["___cxx_global_var_init_43_4837"].apply(null, arguments);
  24592. });
  24593. var ___cxx_global_var_init_44 = Module["___cxx_global_var_init_44"] = (function() {
  24594. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24595. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24596. return Module["asm"]["___cxx_global_var_init_44"].apply(null, arguments);
  24597. });
  24598. var ___cxx_global_var_init_44_7946 = Module["___cxx_global_var_init_44_7946"] = (function() {
  24599. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24600. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24601. return Module["asm"]["___cxx_global_var_init_44_7946"].apply(null, arguments);
  24602. });
  24603. var ___cxx_global_var_init_45 = Module["___cxx_global_var_init_45"] = (function() {
  24604. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24605. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24606. return Module["asm"]["___cxx_global_var_init_45"].apply(null, arguments);
  24607. });
  24608. var ___cxx_global_var_init_46 = Module["___cxx_global_var_init_46"] = (function() {
  24609. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24610. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24611. return Module["asm"]["___cxx_global_var_init_46"].apply(null, arguments);
  24612. });
  24613. var ___cxx_global_var_init_46_8335 = Module["___cxx_global_var_init_46_8335"] = (function() {
  24614. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24615. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24616. return Module["asm"]["___cxx_global_var_init_46_8335"].apply(null, arguments);
  24617. });
  24618. var ___cxx_global_var_init_47 = Module["___cxx_global_var_init_47"] = (function() {
  24619. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24620. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24621. return Module["asm"]["___cxx_global_var_init_47"].apply(null, arguments);
  24622. });
  24623. var ___cxx_global_var_init_47_12782 = Module["___cxx_global_var_init_47_12782"] = (function() {
  24624. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24625. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24626. return Module["asm"]["___cxx_global_var_init_47_12782"].apply(null, arguments);
  24627. });
  24628. var ___cxx_global_var_init_47_1315 = Module["___cxx_global_var_init_47_1315"] = (function() {
  24629. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24630. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24631. return Module["asm"]["___cxx_global_var_init_47_1315"].apply(null, arguments);
  24632. });
  24633. var ___cxx_global_var_init_47_8336 = Module["___cxx_global_var_init_47_8336"] = (function() {
  24634. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24635. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24636. return Module["asm"]["___cxx_global_var_init_47_8336"].apply(null, arguments);
  24637. });
  24638. var ___cxx_global_var_init_48 = Module["___cxx_global_var_init_48"] = (function() {
  24639. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24640. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24641. return Module["asm"]["___cxx_global_var_init_48"].apply(null, arguments);
  24642. });
  24643. var ___cxx_global_var_init_48_1316 = Module["___cxx_global_var_init_48_1316"] = (function() {
  24644. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24645. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24646. return Module["asm"]["___cxx_global_var_init_48_1316"].apply(null, arguments);
  24647. });
  24648. var ___cxx_global_var_init_48_8337 = Module["___cxx_global_var_init_48_8337"] = (function() {
  24649. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24650. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24651. return Module["asm"]["___cxx_global_var_init_48_8337"].apply(null, arguments);
  24652. });
  24653. var ___cxx_global_var_init_49 = Module["___cxx_global_var_init_49"] = (function() {
  24654. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24655. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24656. return Module["asm"]["___cxx_global_var_init_49"].apply(null, arguments);
  24657. });
  24658. var ___cxx_global_var_init_49_8338 = Module["___cxx_global_var_init_49_8338"] = (function() {
  24659. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24660. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24661. return Module["asm"]["___cxx_global_var_init_49_8338"].apply(null, arguments);
  24662. });
  24663. var ___cxx_global_var_init_4_7142 = Module["___cxx_global_var_init_4_7142"] = (function() {
  24664. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24665. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24666. return Module["asm"]["___cxx_global_var_init_4_7142"].apply(null, arguments);
  24667. });
  24668. var ___cxx_global_var_init_4_9866 = Module["___cxx_global_var_init_4_9866"] = (function() {
  24669. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24670. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24671. return Module["asm"]["___cxx_global_var_init_4_9866"].apply(null, arguments);
  24672. });
  24673. var ___cxx_global_var_init_5 = Module["___cxx_global_var_init_5"] = (function() {
  24674. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24675. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24676. return Module["asm"]["___cxx_global_var_init_5"].apply(null, arguments);
  24677. });
  24678. var ___cxx_global_var_init_50 = Module["___cxx_global_var_init_50"] = (function() {
  24679. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24680. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24681. return Module["asm"]["___cxx_global_var_init_50"].apply(null, arguments);
  24682. });
  24683. var ___cxx_global_var_init_51 = Module["___cxx_global_var_init_51"] = (function() {
  24684. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24685. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24686. return Module["asm"]["___cxx_global_var_init_51"].apply(null, arguments);
  24687. });
  24688. var ___cxx_global_var_init_52 = Module["___cxx_global_var_init_52"] = (function() {
  24689. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24690. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24691. return Module["asm"]["___cxx_global_var_init_52"].apply(null, arguments);
  24692. });
  24693. var ___cxx_global_var_init_53 = Module["___cxx_global_var_init_53"] = (function() {
  24694. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24695. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24696. return Module["asm"]["___cxx_global_var_init_53"].apply(null, arguments);
  24697. });
  24698. var ___cxx_global_var_init_53_8339 = Module["___cxx_global_var_init_53_8339"] = (function() {
  24699. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24700. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24701. return Module["asm"]["___cxx_global_var_init_53_8339"].apply(null, arguments);
  24702. });
  24703. var ___cxx_global_var_init_54 = Module["___cxx_global_var_init_54"] = (function() {
  24704. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24705. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24706. return Module["asm"]["___cxx_global_var_init_54"].apply(null, arguments);
  24707. });
  24708. var ___cxx_global_var_init_55 = Module["___cxx_global_var_init_55"] = (function() {
  24709. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24710. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24711. return Module["asm"]["___cxx_global_var_init_55"].apply(null, arguments);
  24712. });
  24713. var ___cxx_global_var_init_55_9709 = Module["___cxx_global_var_init_55_9709"] = (function() {
  24714. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24715. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24716. return Module["asm"]["___cxx_global_var_init_55_9709"].apply(null, arguments);
  24717. });
  24718. var ___cxx_global_var_init_56 = Module["___cxx_global_var_init_56"] = (function() {
  24719. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24720. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24721. return Module["asm"]["___cxx_global_var_init_56"].apply(null, arguments);
  24722. });
  24723. var ___cxx_global_var_init_57 = Module["___cxx_global_var_init_57"] = (function() {
  24724. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24725. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24726. return Module["asm"]["___cxx_global_var_init_57"].apply(null, arguments);
  24727. });
  24728. var ___cxx_global_var_init_58 = Module["___cxx_global_var_init_58"] = (function() {
  24729. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24730. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24731. return Module["asm"]["___cxx_global_var_init_58"].apply(null, arguments);
  24732. });
  24733. var ___cxx_global_var_init_58_4838 = Module["___cxx_global_var_init_58_4838"] = (function() {
  24734. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24735. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24736. return Module["asm"]["___cxx_global_var_init_58_4838"].apply(null, arguments);
  24737. });
  24738. var ___cxx_global_var_init_58_9710 = Module["___cxx_global_var_init_58_9710"] = (function() {
  24739. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24740. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24741. return Module["asm"]["___cxx_global_var_init_58_9710"].apply(null, arguments);
  24742. });
  24743. var ___cxx_global_var_init_59 = Module["___cxx_global_var_init_59"] = (function() {
  24744. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24745. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24746. return Module["asm"]["___cxx_global_var_init_59"].apply(null, arguments);
  24747. });
  24748. var ___cxx_global_var_init_59_4839 = Module["___cxx_global_var_init_59_4839"] = (function() {
  24749. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24750. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24751. return Module["asm"]["___cxx_global_var_init_59_4839"].apply(null, arguments);
  24752. });
  24753. var ___cxx_global_var_init_59_9711 = Module["___cxx_global_var_init_59_9711"] = (function() {
  24754. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24755. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24756. return Module["asm"]["___cxx_global_var_init_59_9711"].apply(null, arguments);
  24757. });
  24758. var ___cxx_global_var_init_5_9867 = Module["___cxx_global_var_init_5_9867"] = (function() {
  24759. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24760. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24761. return Module["asm"]["___cxx_global_var_init_5_9867"].apply(null, arguments);
  24762. });
  24763. var ___cxx_global_var_init_60 = Module["___cxx_global_var_init_60"] = (function() {
  24764. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24765. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24766. return Module["asm"]["___cxx_global_var_init_60"].apply(null, arguments);
  24767. });
  24768. var ___cxx_global_var_init_60_4840 = Module["___cxx_global_var_init_60_4840"] = (function() {
  24769. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24770. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24771. return Module["asm"]["___cxx_global_var_init_60_4840"].apply(null, arguments);
  24772. });
  24773. var ___cxx_global_var_init_60_9712 = Module["___cxx_global_var_init_60_9712"] = (function() {
  24774. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24775. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24776. return Module["asm"]["___cxx_global_var_init_60_9712"].apply(null, arguments);
  24777. });
  24778. var ___cxx_global_var_init_61 = Module["___cxx_global_var_init_61"] = (function() {
  24779. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24780. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24781. return Module["asm"]["___cxx_global_var_init_61"].apply(null, arguments);
  24782. });
  24783. var ___cxx_global_var_init_61_9713 = Module["___cxx_global_var_init_61_9713"] = (function() {
  24784. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24785. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24786. return Module["asm"]["___cxx_global_var_init_61_9713"].apply(null, arguments);
  24787. });
  24788. var ___cxx_global_var_init_63 = Module["___cxx_global_var_init_63"] = (function() {
  24789. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24790. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24791. return Module["asm"]["___cxx_global_var_init_63"].apply(null, arguments);
  24792. });
  24793. var ___cxx_global_var_init_67 = Module["___cxx_global_var_init_67"] = (function() {
  24794. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24795. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24796. return Module["asm"]["___cxx_global_var_init_67"].apply(null, arguments);
  24797. });
  24798. var ___cxx_global_var_init_6_4577 = Module["___cxx_global_var_init_6_4577"] = (function() {
  24799. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24800. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24801. return Module["asm"]["___cxx_global_var_init_6_4577"].apply(null, arguments);
  24802. });
  24803. var ___cxx_global_var_init_6_748 = Module["___cxx_global_var_init_6_748"] = (function() {
  24804. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24805. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24806. return Module["asm"]["___cxx_global_var_init_6_748"].apply(null, arguments);
  24807. });
  24808. var ___cxx_global_var_init_6_9868 = Module["___cxx_global_var_init_6_9868"] = (function() {
  24809. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24810. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24811. return Module["asm"]["___cxx_global_var_init_6_9868"].apply(null, arguments);
  24812. });
  24813. var ___cxx_global_var_init_7 = Module["___cxx_global_var_init_7"] = (function() {
  24814. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24815. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24816. return Module["asm"]["___cxx_global_var_init_7"].apply(null, arguments);
  24817. });
  24818. var ___cxx_global_var_init_71 = Module["___cxx_global_var_init_71"] = (function() {
  24819. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24820. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24821. return Module["asm"]["___cxx_global_var_init_71"].apply(null, arguments);
  24822. });
  24823. var ___cxx_global_var_init_78 = Module["___cxx_global_var_init_78"] = (function() {
  24824. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24825. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24826. return Module["asm"]["___cxx_global_var_init_78"].apply(null, arguments);
  24827. });
  24828. var ___cxx_global_var_init_79 = Module["___cxx_global_var_init_79"] = (function() {
  24829. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24830. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24831. return Module["asm"]["___cxx_global_var_init_79"].apply(null, arguments);
  24832. });
  24833. var ___cxx_global_var_init_7_1313 = Module["___cxx_global_var_init_7_1313"] = (function() {
  24834. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24835. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24836. return Module["asm"]["___cxx_global_var_init_7_1313"].apply(null, arguments);
  24837. });
  24838. var ___cxx_global_var_init_7_4578 = Module["___cxx_global_var_init_7_4578"] = (function() {
  24839. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24840. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24841. return Module["asm"]["___cxx_global_var_init_7_4578"].apply(null, arguments);
  24842. });
  24843. var ___cxx_global_var_init_7_9869 = Module["___cxx_global_var_init_7_9869"] = (function() {
  24844. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24845. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24846. return Module["asm"]["___cxx_global_var_init_7_9869"].apply(null, arguments);
  24847. });
  24848. var ___cxx_global_var_init_8552 = Module["___cxx_global_var_init_8552"] = (function() {
  24849. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24850. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24851. return Module["asm"]["___cxx_global_var_init_8552"].apply(null, arguments);
  24852. });
  24853. var ___cxx_global_var_init_86 = Module["___cxx_global_var_init_86"] = (function() {
  24854. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24855. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24856. return Module["asm"]["___cxx_global_var_init_86"].apply(null, arguments);
  24857. });
  24858. var ___cxx_global_var_init_87 = Module["___cxx_global_var_init_87"] = (function() {
  24859. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24860. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24861. return Module["asm"]["___cxx_global_var_init_87"].apply(null, arguments);
  24862. });
  24863. var ___cxx_global_var_init_88 = Module["___cxx_global_var_init_88"] = (function() {
  24864. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24865. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24866. return Module["asm"]["___cxx_global_var_init_88"].apply(null, arguments);
  24867. });
  24868. var ___cxx_global_var_init_88_8675 = Module["___cxx_global_var_init_88_8675"] = (function() {
  24869. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24870. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24871. return Module["asm"]["___cxx_global_var_init_88_8675"].apply(null, arguments);
  24872. });
  24873. var ___cxx_global_var_init_8_4579 = Module["___cxx_global_var_init_8_4579"] = (function() {
  24874. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24875. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24876. return Module["asm"]["___cxx_global_var_init_8_4579"].apply(null, arguments);
  24877. });
  24878. var ___cxx_global_var_init_8_7080 = Module["___cxx_global_var_init_8_7080"] = (function() {
  24879. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24880. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24881. return Module["asm"]["___cxx_global_var_init_8_7080"].apply(null, arguments);
  24882. });
  24883. var ___cxx_global_var_init_8_9870 = Module["___cxx_global_var_init_8_9870"] = (function() {
  24884. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24885. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24886. return Module["asm"]["___cxx_global_var_init_8_9870"].apply(null, arguments);
  24887. });
  24888. var ___cxx_global_var_init_91 = Module["___cxx_global_var_init_91"] = (function() {
  24889. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24890. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24891. return Module["asm"]["___cxx_global_var_init_91"].apply(null, arguments);
  24892. });
  24893. var ___cxx_global_var_init_92 = Module["___cxx_global_var_init_92"] = (function() {
  24894. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24895. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24896. return Module["asm"]["___cxx_global_var_init_92"].apply(null, arguments);
  24897. });
  24898. var ___cxx_global_var_init_92_6304 = Module["___cxx_global_var_init_92_6304"] = (function() {
  24899. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24900. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24901. return Module["asm"]["___cxx_global_var_init_92_6304"].apply(null, arguments);
  24902. });
  24903. var ___cxx_global_var_init_93 = Module["___cxx_global_var_init_93"] = (function() {
  24904. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24905. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24906. return Module["asm"]["___cxx_global_var_init_93"].apply(null, arguments);
  24907. });
  24908. var ___cxx_global_var_init_93_6305 = Module["___cxx_global_var_init_93_6305"] = (function() {
  24909. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24910. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24911. return Module["asm"]["___cxx_global_var_init_93_6305"].apply(null, arguments);
  24912. });
  24913. var ___cxx_global_var_init_94 = Module["___cxx_global_var_init_94"] = (function() {
  24914. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24915. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24916. return Module["asm"]["___cxx_global_var_init_94"].apply(null, arguments);
  24917. });
  24918. var ___cxx_global_var_init_94_6306 = Module["___cxx_global_var_init_94_6306"] = (function() {
  24919. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24920. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24921. return Module["asm"]["___cxx_global_var_init_94_6306"].apply(null, arguments);
  24922. });
  24923. var ___cxx_global_var_init_95 = Module["___cxx_global_var_init_95"] = (function() {
  24924. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24925. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24926. return Module["asm"]["___cxx_global_var_init_95"].apply(null, arguments);
  24927. });
  24928. var ___cxx_global_var_init_9_4580 = Module["___cxx_global_var_init_9_4580"] = (function() {
  24929. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24930. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24931. return Module["asm"]["___cxx_global_var_init_9_4580"].apply(null, arguments);
  24932. });
  24933. var ___cxx_global_var_init_9_9871 = Module["___cxx_global_var_init_9_9871"] = (function() {
  24934. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24935. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24936. return Module["asm"]["___cxx_global_var_init_9_9871"].apply(null, arguments);
  24937. });
  24938. var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = (function() {
  24939. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24940. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24941. return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments);
  24942. });
  24943. var ___errno_location = Module["___errno_location"] = (function() {
  24944. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24945. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24946. return Module["asm"]["___errno_location"].apply(null, arguments);
  24947. });
  24948. var __get_daylight = Module["__get_daylight"] = (function() {
  24949. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24950. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24951. return Module["asm"]["__get_daylight"].apply(null, arguments);
  24952. });
  24953. var __get_environ = Module["__get_environ"] = (function() {
  24954. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24955. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24956. return Module["asm"]["__get_environ"].apply(null, arguments);
  24957. });
  24958. var __get_timezone = Module["__get_timezone"] = (function() {
  24959. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24960. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24961. return Module["asm"]["__get_timezone"].apply(null, arguments);
  24962. });
  24963. var __get_tzname = Module["__get_tzname"] = (function() {
  24964. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24965. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24966. return Module["asm"]["__get_tzname"].apply(null, arguments);
  24967. });
  24968. var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = (function() {
  24969. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24970. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24971. return Module["asm"]["_emscripten_replace_memory"].apply(null, arguments);
  24972. });
  24973. var _fflush = Module["_fflush"] = (function() {
  24974. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24975. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24976. return Module["asm"]["_fflush"].apply(null, arguments);
  24977. });
  24978. var _free = Module["_free"] = (function() {
  24979. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24980. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24981. return Module["asm"]["_free"].apply(null, arguments);
  24982. });
  24983. var _htonl = Module["_htonl"] = (function() {
  24984. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24985. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24986. return Module["asm"]["_htonl"].apply(null, arguments);
  24987. });
  24988. var _htons = Module["_htons"] = (function() {
  24989. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24990. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24991. return Module["asm"]["_htons"].apply(null, arguments);
  24992. });
  24993. var _i64Add = Module["_i64Add"] = (function() {
  24994. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  24995. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  24996. return Module["asm"]["_i64Add"].apply(null, arguments);
  24997. });
  24998. var _llvm_bswap_i16 = Module["_llvm_bswap_i16"] = (function() {
  24999. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25000. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25001. return Module["asm"]["_llvm_bswap_i16"].apply(null, arguments);
  25002. });
  25003. var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = (function() {
  25004. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25005. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25006. return Module["asm"]["_llvm_bswap_i32"].apply(null, arguments);
  25007. });
  25008. var _llvm_ctlz_i64 = Module["_llvm_ctlz_i64"] = (function() {
  25009. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25010. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25011. return Module["asm"]["_llvm_ctlz_i64"].apply(null, arguments);
  25012. });
  25013. var _llvm_ctpop_i32 = Module["_llvm_ctpop_i32"] = (function() {
  25014. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25015. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25016. return Module["asm"]["_llvm_ctpop_i32"].apply(null, arguments);
  25017. });
  25018. var _llvm_maxnum_f32 = Module["_llvm_maxnum_f32"] = (function() {
  25019. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25020. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25021. return Module["asm"]["_llvm_maxnum_f32"].apply(null, arguments);
  25022. });
  25023. var _llvm_maxnum_f64 = Module["_llvm_maxnum_f64"] = (function() {
  25024. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25025. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25026. return Module["asm"]["_llvm_maxnum_f64"].apply(null, arguments);
  25027. });
  25028. var _llvm_minnum_f32 = Module["_llvm_minnum_f32"] = (function() {
  25029. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25030. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25031. return Module["asm"]["_llvm_minnum_f32"].apply(null, arguments);
  25032. });
  25033. var _llvm_round_f32 = Module["_llvm_round_f32"] = (function() {
  25034. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25035. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25036. return Module["asm"]["_llvm_round_f32"].apply(null, arguments);
  25037. });
  25038. var _main = Module["_main"] = (function() {
  25039. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25040. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25041. return Module["asm"]["_main"].apply(null, arguments);
  25042. });
  25043. var _malloc = Module["_malloc"] = (function() {
  25044. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25045. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25046. return Module["asm"]["_malloc"].apply(null, arguments);
  25047. });
  25048. var _memalign = Module["_memalign"] = (function() {
  25049. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25050. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25051. return Module["asm"]["_memalign"].apply(null, arguments);
  25052. });
  25053. var _memcpy = Module["_memcpy"] = (function() {
  25054. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25055. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25056. return Module["asm"]["_memcpy"].apply(null, arguments);
  25057. });
  25058. var _memmove = Module["_memmove"] = (function() {
  25059. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25060. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25061. return Module["asm"]["_memmove"].apply(null, arguments);
  25062. });
  25063. var _memset = Module["_memset"] = (function() {
  25064. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25065. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25066. return Module["asm"]["_memset"].apply(null, arguments);
  25067. });
  25068. var _ntohs = Module["_ntohs"] = (function() {
  25069. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25070. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25071. return Module["asm"]["_ntohs"].apply(null, arguments);
  25072. });
  25073. var _pthread_cond_broadcast = Module["_pthread_cond_broadcast"] = (function() {
  25074. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25075. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25076. return Module["asm"]["_pthread_cond_broadcast"].apply(null, arguments);
  25077. });
  25078. var _pthread_mutex_lock = Module["_pthread_mutex_lock"] = (function() {
  25079. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25080. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25081. return Module["asm"]["_pthread_mutex_lock"].apply(null, arguments);
  25082. });
  25083. var _pthread_mutex_unlock = Module["_pthread_mutex_unlock"] = (function() {
  25084. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25085. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25086. return Module["asm"]["_pthread_mutex_unlock"].apply(null, arguments);
  25087. });
  25088. var _realloc = Module["_realloc"] = (function() {
  25089. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25090. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25091. return Module["asm"]["_realloc"].apply(null, arguments);
  25092. });
  25093. var _sbrk = Module["_sbrk"] = (function() {
  25094. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25095. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25096. return Module["asm"]["_sbrk"].apply(null, arguments);
  25097. });
  25098. var _strlen = Module["_strlen"] = (function() {
  25099. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25100. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25101. return Module["asm"]["_strlen"].apply(null, arguments);
  25102. });
  25103. var establishStackSpace = Module["establishStackSpace"] = (function() {
  25104. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25105. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25106. return Module["asm"]["establishStackSpace"].apply(null, arguments);
  25107. });
  25108. var getTempRet0 = Module["getTempRet0"] = (function() {
  25109. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25110. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25111. return Module["asm"]["getTempRet0"].apply(null, arguments);
  25112. });
  25113. var runPostSets = Module["runPostSets"] = (function() {
  25114. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25115. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25116. return Module["asm"]["runPostSets"].apply(null, arguments);
  25117. });
  25118. var setTempRet0 = Module["setTempRet0"] = (function() {
  25119. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25120. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25121. return Module["asm"]["setTempRet0"].apply(null, arguments);
  25122. });
  25123. var setThrew = Module["setThrew"] = (function() {
  25124. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25125. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25126. return Module["asm"]["setThrew"].apply(null, arguments);
  25127. });
  25128. var stackAlloc = Module["stackAlloc"] = (function() {
  25129. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25130. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25131. return Module["asm"]["stackAlloc"].apply(null, arguments);
  25132. });
  25133. var stackRestore = Module["stackRestore"] = (function() {
  25134. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25135. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25136. return Module["asm"]["stackRestore"].apply(null, arguments);
  25137. });
  25138. var stackSave = Module["stackSave"] = (function() {
  25139. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25140. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25141. return Module["asm"]["stackSave"].apply(null, arguments);
  25142. });
  25143. var dynCall_dddi = Module["dynCall_dddi"] = (function() {
  25144. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25145. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25146. return Module["asm"]["dynCall_dddi"].apply(null, arguments);
  25147. });
  25148. var dynCall_ddi = Module["dynCall_ddi"] = (function() {
  25149. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25150. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25151. return Module["asm"]["dynCall_ddi"].apply(null, arguments);
  25152. });
  25153. var dynCall_dfi = Module["dynCall_dfi"] = (function() {
  25154. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25155. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25156. return Module["asm"]["dynCall_dfi"].apply(null, arguments);
  25157. });
  25158. var dynCall_di = Module["dynCall_di"] = (function() {
  25159. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25160. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25161. return Module["asm"]["dynCall_di"].apply(null, arguments);
  25162. });
  25163. var dynCall_diddi = Module["dynCall_diddi"] = (function() {
  25164. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25165. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25166. return Module["asm"]["dynCall_diddi"].apply(null, arguments);
  25167. });
  25168. var dynCall_didi = Module["dynCall_didi"] = (function() {
  25169. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25170. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25171. return Module["asm"]["dynCall_didi"].apply(null, arguments);
  25172. });
  25173. var dynCall_dii = Module["dynCall_dii"] = (function() {
  25174. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25175. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25176. return Module["asm"]["dynCall_dii"].apply(null, arguments);
  25177. });
  25178. var dynCall_diii = Module["dynCall_diii"] = (function() {
  25179. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25180. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25181. return Module["asm"]["dynCall_diii"].apply(null, arguments);
  25182. });
  25183. var dynCall_diiii = Module["dynCall_diiii"] = (function() {
  25184. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25185. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25186. return Module["asm"]["dynCall_diiii"].apply(null, arguments);
  25187. });
  25188. var dynCall_dji = Module["dynCall_dji"] = (function() {
  25189. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25190. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25191. return Module["asm"]["dynCall_dji"].apply(null, arguments);
  25192. });
  25193. var dynCall_f = Module["dynCall_f"] = (function() {
  25194. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25195. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25196. return Module["asm"]["dynCall_f"].apply(null, arguments);
  25197. });
  25198. var dynCall_fdi = Module["dynCall_fdi"] = (function() {
  25199. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25200. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25201. return Module["asm"]["dynCall_fdi"].apply(null, arguments);
  25202. });
  25203. var dynCall_ff = Module["dynCall_ff"] = (function() {
  25204. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25205. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25206. return Module["asm"]["dynCall_ff"].apply(null, arguments);
  25207. });
  25208. var dynCall_fff = Module["dynCall_fff"] = (function() {
  25209. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25210. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25211. return Module["asm"]["dynCall_fff"].apply(null, arguments);
  25212. });
  25213. var dynCall_ffffi = Module["dynCall_ffffi"] = (function() {
  25214. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25215. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25216. return Module["asm"]["dynCall_ffffi"].apply(null, arguments);
  25217. });
  25218. var dynCall_fffi = Module["dynCall_fffi"] = (function() {
  25219. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25220. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25221. return Module["asm"]["dynCall_fffi"].apply(null, arguments);
  25222. });
  25223. var dynCall_fffifffi = Module["dynCall_fffifffi"] = (function() {
  25224. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25225. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25226. return Module["asm"]["dynCall_fffifffi"].apply(null, arguments);
  25227. });
  25228. var dynCall_ffi = Module["dynCall_ffi"] = (function() {
  25229. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25230. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25231. return Module["asm"]["dynCall_ffi"].apply(null, arguments);
  25232. });
  25233. var dynCall_fi = Module["dynCall_fi"] = (function() {
  25234. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25235. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25236. return Module["asm"]["dynCall_fi"].apply(null, arguments);
  25237. });
  25238. var dynCall_fif = Module["dynCall_fif"] = (function() {
  25239. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25240. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25241. return Module["asm"]["dynCall_fif"].apply(null, arguments);
  25242. });
  25243. var dynCall_fiff = Module["dynCall_fiff"] = (function() {
  25244. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25245. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25246. return Module["asm"]["dynCall_fiff"].apply(null, arguments);
  25247. });
  25248. var dynCall_fifffi = Module["dynCall_fifffi"] = (function() {
  25249. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25250. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25251. return Module["asm"]["dynCall_fifffi"].apply(null, arguments);
  25252. });
  25253. var dynCall_fiffi = Module["dynCall_fiffi"] = (function() {
  25254. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25255. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25256. return Module["asm"]["dynCall_fiffi"].apply(null, arguments);
  25257. });
  25258. var dynCall_fifi = Module["dynCall_fifi"] = (function() {
  25259. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25260. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25261. return Module["asm"]["dynCall_fifi"].apply(null, arguments);
  25262. });
  25263. var dynCall_fifii = Module["dynCall_fifii"] = (function() {
  25264. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25265. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25266. return Module["asm"]["dynCall_fifii"].apply(null, arguments);
  25267. });
  25268. var dynCall_fii = Module["dynCall_fii"] = (function() {
  25269. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25270. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25271. return Module["asm"]["dynCall_fii"].apply(null, arguments);
  25272. });
  25273. var dynCall_fiif = Module["dynCall_fiif"] = (function() {
  25274. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25275. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25276. return Module["asm"]["dynCall_fiif"].apply(null, arguments);
  25277. });
  25278. var dynCall_fiifi = Module["dynCall_fiifi"] = (function() {
  25279. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25280. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25281. return Module["asm"]["dynCall_fiifi"].apply(null, arguments);
  25282. });
  25283. var dynCall_fiifii = Module["dynCall_fiifii"] = (function() {
  25284. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25285. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25286. return Module["asm"]["dynCall_fiifii"].apply(null, arguments);
  25287. });
  25288. var dynCall_fiii = Module["dynCall_fiii"] = (function() {
  25289. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25290. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25291. return Module["asm"]["dynCall_fiii"].apply(null, arguments);
  25292. });
  25293. var dynCall_fiiii = Module["dynCall_fiiii"] = (function() {
  25294. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25295. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25296. return Module["asm"]["dynCall_fiiii"].apply(null, arguments);
  25297. });
  25298. var dynCall_fiiiiiifiifif = Module["dynCall_fiiiiiifiifif"] = (function() {
  25299. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25300. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25301. return Module["asm"]["dynCall_fiiiiiifiifif"].apply(null, arguments);
  25302. });
  25303. var dynCall_fiiiiiifiiiif = Module["dynCall_fiiiiiifiiiif"] = (function() {
  25304. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25305. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25306. return Module["asm"]["dynCall_fiiiiiifiiiif"].apply(null, arguments);
  25307. });
  25308. var dynCall_fji = Module["dynCall_fji"] = (function() {
  25309. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25310. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25311. return Module["asm"]["dynCall_fji"].apply(null, arguments);
  25312. });
  25313. var dynCall_i = Module["dynCall_i"] = (function() {
  25314. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25315. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25316. return Module["asm"]["dynCall_i"].apply(null, arguments);
  25317. });
  25318. var dynCall_idi = Module["dynCall_idi"] = (function() {
  25319. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25320. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25321. return Module["asm"]["dynCall_idi"].apply(null, arguments);
  25322. });
  25323. var dynCall_idiii = Module["dynCall_idiii"] = (function() {
  25324. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25325. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25326. return Module["asm"]["dynCall_idiii"].apply(null, arguments);
  25327. });
  25328. var dynCall_ifffi = Module["dynCall_ifffi"] = (function() {
  25329. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25330. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25331. return Module["asm"]["dynCall_ifffi"].apply(null, arguments);
  25332. });
  25333. var dynCall_iffi = Module["dynCall_iffi"] = (function() {
  25334. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25335. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25336. return Module["asm"]["dynCall_iffi"].apply(null, arguments);
  25337. });
  25338. var dynCall_ifi = Module["dynCall_ifi"] = (function() {
  25339. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25340. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25341. return Module["asm"]["dynCall_ifi"].apply(null, arguments);
  25342. });
  25343. var dynCall_ifiii = Module["dynCall_ifiii"] = (function() {
  25344. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25345. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25346. return Module["asm"]["dynCall_ifiii"].apply(null, arguments);
  25347. });
  25348. var dynCall_ii = Module["dynCall_ii"] = (function() {
  25349. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25350. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25351. return Module["asm"]["dynCall_ii"].apply(null, arguments);
  25352. });
  25353. var dynCall_iidi = Module["dynCall_iidi"] = (function() {
  25354. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25355. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25356. return Module["asm"]["dynCall_iidi"].apply(null, arguments);
  25357. });
  25358. var dynCall_iidii = Module["dynCall_iidii"] = (function() {
  25359. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25360. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25361. return Module["asm"]["dynCall_iidii"].apply(null, arguments);
  25362. });
  25363. var dynCall_iif = Module["dynCall_iif"] = (function() {
  25364. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25365. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25366. return Module["asm"]["dynCall_iif"].apply(null, arguments);
  25367. });
  25368. var dynCall_iifff = Module["dynCall_iifff"] = (function() {
  25369. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25370. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25371. return Module["asm"]["dynCall_iifff"].apply(null, arguments);
  25372. });
  25373. var dynCall_iifffi = Module["dynCall_iifffi"] = (function() {
  25374. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25375. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25376. return Module["asm"]["dynCall_iifffi"].apply(null, arguments);
  25377. });
  25378. var dynCall_iiffi = Module["dynCall_iiffi"] = (function() {
  25379. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25380. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25381. return Module["asm"]["dynCall_iiffi"].apply(null, arguments);
  25382. });
  25383. var dynCall_iifi = Module["dynCall_iifi"] = (function() {
  25384. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25385. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25386. return Module["asm"]["dynCall_iifi"].apply(null, arguments);
  25387. });
  25388. var dynCall_iifii = Module["dynCall_iifii"] = (function() {
  25389. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25390. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25391. return Module["asm"]["dynCall_iifii"].apply(null, arguments);
  25392. });
  25393. var dynCall_iifiii = Module["dynCall_iifiii"] = (function() {
  25394. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25395. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25396. return Module["asm"]["dynCall_iifiii"].apply(null, arguments);
  25397. });
  25398. var dynCall_iifiiiijii = Module["dynCall_iifiiiijii"] = (function() {
  25399. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25400. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25401. return Module["asm"]["dynCall_iifiiiijii"].apply(null, arguments);
  25402. });
  25403. var dynCall_iii = Module["dynCall_iii"] = (function() {
  25404. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25405. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25406. return Module["asm"]["dynCall_iii"].apply(null, arguments);
  25407. });
  25408. var dynCall_iiif = Module["dynCall_iiif"] = (function() {
  25409. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25410. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25411. return Module["asm"]["dynCall_iiif"].apply(null, arguments);
  25412. });
  25413. var dynCall_iiiff = Module["dynCall_iiiff"] = (function() {
  25414. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25415. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25416. return Module["asm"]["dynCall_iiiff"].apply(null, arguments);
  25417. });
  25418. var dynCall_iiifi = Module["dynCall_iiifi"] = (function() {
  25419. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25420. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25421. return Module["asm"]["dynCall_iiifi"].apply(null, arguments);
  25422. });
  25423. var dynCall_iiifii = Module["dynCall_iiifii"] = (function() {
  25424. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25425. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25426. return Module["asm"]["dynCall_iiifii"].apply(null, arguments);
  25427. });
  25428. var dynCall_iiifiii = Module["dynCall_iiifiii"] = (function() {
  25429. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25430. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25431. return Module["asm"]["dynCall_iiifiii"].apply(null, arguments);
  25432. });
  25433. var dynCall_iiifiiii = Module["dynCall_iiifiiii"] = (function() {
  25434. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25435. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25436. return Module["asm"]["dynCall_iiifiiii"].apply(null, arguments);
  25437. });
  25438. var dynCall_iiii = Module["dynCall_iiii"] = (function() {
  25439. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25440. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25441. return Module["asm"]["dynCall_iiii"].apply(null, arguments);
  25442. });
  25443. var dynCall_iiiifffffi = Module["dynCall_iiiifffffi"] = (function() {
  25444. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25445. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25446. return Module["asm"]["dynCall_iiiifffffi"].apply(null, arguments);
  25447. });
  25448. var dynCall_iiiifffffii = Module["dynCall_iiiifffffii"] = (function() {
  25449. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25450. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25451. return Module["asm"]["dynCall_iiiifffffii"].apply(null, arguments);
  25452. });
  25453. var dynCall_iiiifffiii = Module["dynCall_iiiifffiii"] = (function() {
  25454. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25455. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25456. return Module["asm"]["dynCall_iiiifffiii"].apply(null, arguments);
  25457. });
  25458. var dynCall_iiiifi = Module["dynCall_iiiifi"] = (function() {
  25459. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25460. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25461. return Module["asm"]["dynCall_iiiifi"].apply(null, arguments);
  25462. });
  25463. var dynCall_iiiifii = Module["dynCall_iiiifii"] = (function() {
  25464. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25465. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25466. return Module["asm"]["dynCall_iiiifii"].apply(null, arguments);
  25467. });
  25468. var dynCall_iiiifiii = Module["dynCall_iiiifiii"] = (function() {
  25469. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25470. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25471. return Module["asm"]["dynCall_iiiifiii"].apply(null, arguments);
  25472. });
  25473. var dynCall_iiiifiiii = Module["dynCall_iiiifiiii"] = (function() {
  25474. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25475. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25476. return Module["asm"]["dynCall_iiiifiiii"].apply(null, arguments);
  25477. });
  25478. var dynCall_iiiifiiiii = Module["dynCall_iiiifiiiii"] = (function() {
  25479. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25480. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25481. return Module["asm"]["dynCall_iiiifiiiii"].apply(null, arguments);
  25482. });
  25483. var dynCall_iiiii = Module["dynCall_iiiii"] = (function() {
  25484. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25485. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25486. return Module["asm"]["dynCall_iiiii"].apply(null, arguments);
  25487. });
  25488. var dynCall_iiiiifiii = Module["dynCall_iiiiifiii"] = (function() {
  25489. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25490. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25491. return Module["asm"]["dynCall_iiiiifiii"].apply(null, arguments);
  25492. });
  25493. var dynCall_iiiiifiiiiif = Module["dynCall_iiiiifiiiiif"] = (function() {
  25494. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25495. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25496. return Module["asm"]["dynCall_iiiiifiiiiif"].apply(null, arguments);
  25497. });
  25498. var dynCall_iiiiii = Module["dynCall_iiiiii"] = (function() {
  25499. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25500. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25501. return Module["asm"]["dynCall_iiiiii"].apply(null, arguments);
  25502. });
  25503. var dynCall_iiiiiifff = Module["dynCall_iiiiiifff"] = (function() {
  25504. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25505. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25506. return Module["asm"]["dynCall_iiiiiifff"].apply(null, arguments);
  25507. });
  25508. var dynCall_iiiiiifffiiifiii = Module["dynCall_iiiiiifffiiifiii"] = (function() {
  25509. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25510. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25511. return Module["asm"]["dynCall_iiiiiifffiiifiii"].apply(null, arguments);
  25512. });
  25513. var dynCall_iiiiiiffiiiiiiiiiffffiii = Module["dynCall_iiiiiiffiiiiiiiiiffffiii"] = (function() {
  25514. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25515. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25516. return Module["asm"]["dynCall_iiiiiiffiiiiiiiiiffffiii"].apply(null, arguments);
  25517. });
  25518. var dynCall_iiiiiiffiiiiiiiiiffffiiii = Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"] = (function() {
  25519. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25520. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25521. return Module["asm"]["dynCall_iiiiiiffiiiiiiiiiffffiiii"].apply(null, arguments);
  25522. });
  25523. var dynCall_iiiiiiffiiiiiiiiiiiiiii = Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"] = (function() {
  25524. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25525. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25526. return Module["asm"]["dynCall_iiiiiiffiiiiiiiiiiiiiii"].apply(null, arguments);
  25527. });
  25528. var dynCall_iiiiiifiif = Module["dynCall_iiiiiifiif"] = (function() {
  25529. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25530. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25531. return Module["asm"]["dynCall_iiiiiifiif"].apply(null, arguments);
  25532. });
  25533. var dynCall_iiiiiifiii = Module["dynCall_iiiiiifiii"] = (function() {
  25534. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25535. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25536. return Module["asm"]["dynCall_iiiiiifiii"].apply(null, arguments);
  25537. });
  25538. var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = (function() {
  25539. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25540. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25541. return Module["asm"]["dynCall_iiiiiii"].apply(null, arguments);
  25542. });
  25543. var dynCall_iiiiiiifiif = Module["dynCall_iiiiiiifiif"] = (function() {
  25544. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25545. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25546. return Module["asm"]["dynCall_iiiiiiifiif"].apply(null, arguments);
  25547. });
  25548. var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = (function() {
  25549. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25550. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25551. return Module["asm"]["dynCall_iiiiiiii"].apply(null, arguments);
  25552. });
  25553. var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = (function() {
  25554. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25555. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25556. return Module["asm"]["dynCall_iiiiiiiii"].apply(null, arguments);
  25557. });
  25558. var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = (function() {
  25559. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25560. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25561. return Module["asm"]["dynCall_iiiiiiiiii"].apply(null, arguments);
  25562. });
  25563. var dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = (function() {
  25564. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25565. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25566. return Module["asm"]["dynCall_iiiiiiiiiii"].apply(null, arguments);
  25567. });
  25568. var dynCall_iiiiiiiiiiii = Module["dynCall_iiiiiiiiiiii"] = (function() {
  25569. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25570. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25571. return Module["asm"]["dynCall_iiiiiiiiiiii"].apply(null, arguments);
  25572. });
  25573. var dynCall_iiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiii"] = (function() {
  25574. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25575. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25576. return Module["asm"]["dynCall_iiiiiiiiiiiii"].apply(null, arguments);
  25577. });
  25578. var dynCall_iiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiii"] = (function() {
  25579. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25580. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25581. return Module["asm"]["dynCall_iiiiiiiiiiiiii"].apply(null, arguments);
  25582. });
  25583. var dynCall_iiiiiji = Module["dynCall_iiiiiji"] = (function() {
  25584. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25585. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25586. return Module["asm"]["dynCall_iiiiiji"].apply(null, arguments);
  25587. });
  25588. var dynCall_iiiij = Module["dynCall_iiiij"] = (function() {
  25589. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25590. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25591. return Module["asm"]["dynCall_iiiij"].apply(null, arguments);
  25592. });
  25593. var dynCall_iiiiji = Module["dynCall_iiiiji"] = (function() {
  25594. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25595. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25596. return Module["asm"]["dynCall_iiiiji"].apply(null, arguments);
  25597. });
  25598. var dynCall_iiiijii = Module["dynCall_iiiijii"] = (function() {
  25599. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25600. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25601. return Module["asm"]["dynCall_iiiijii"].apply(null, arguments);
  25602. });
  25603. var dynCall_iiiijiii = Module["dynCall_iiiijiii"] = (function() {
  25604. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25605. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25606. return Module["asm"]["dynCall_iiiijiii"].apply(null, arguments);
  25607. });
  25608. var dynCall_iiij = Module["dynCall_iiij"] = (function() {
  25609. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25610. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25611. return Module["asm"]["dynCall_iiij"].apply(null, arguments);
  25612. });
  25613. var dynCall_iiiji = Module["dynCall_iiiji"] = (function() {
  25614. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25615. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25616. return Module["asm"]["dynCall_iiiji"].apply(null, arguments);
  25617. });
  25618. var dynCall_iiijii = Module["dynCall_iiijii"] = (function() {
  25619. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25620. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25621. return Module["asm"]["dynCall_iiijii"].apply(null, arguments);
  25622. });
  25623. var dynCall_iiijiii = Module["dynCall_iiijiii"] = (function() {
  25624. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25625. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25626. return Module["asm"]["dynCall_iiijiii"].apply(null, arguments);
  25627. });
  25628. var dynCall_iiijji = Module["dynCall_iiijji"] = (function() {
  25629. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25630. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25631. return Module["asm"]["dynCall_iiijji"].apply(null, arguments);
  25632. });
  25633. var dynCall_iiijjiiii = Module["dynCall_iiijjiiii"] = (function() {
  25634. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25635. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25636. return Module["asm"]["dynCall_iiijjiiii"].apply(null, arguments);
  25637. });
  25638. var dynCall_iij = Module["dynCall_iij"] = (function() {
  25639. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25640. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25641. return Module["asm"]["dynCall_iij"].apply(null, arguments);
  25642. });
  25643. var dynCall_iiji = Module["dynCall_iiji"] = (function() {
  25644. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25645. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25646. return Module["asm"]["dynCall_iiji"].apply(null, arguments);
  25647. });
  25648. var dynCall_iijii = Module["dynCall_iijii"] = (function() {
  25649. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25650. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25651. return Module["asm"]["dynCall_iijii"].apply(null, arguments);
  25652. });
  25653. var dynCall_iijiii = Module["dynCall_iijiii"] = (function() {
  25654. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25655. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25656. return Module["asm"]["dynCall_iijiii"].apply(null, arguments);
  25657. });
  25658. var dynCall_iijji = Module["dynCall_iijji"] = (function() {
  25659. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25660. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25661. return Module["asm"]["dynCall_iijji"].apply(null, arguments);
  25662. });
  25663. var dynCall_iijjii = Module["dynCall_iijjii"] = (function() {
  25664. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25665. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25666. return Module["asm"]["dynCall_iijjii"].apply(null, arguments);
  25667. });
  25668. var dynCall_iijjiii = Module["dynCall_iijjiii"] = (function() {
  25669. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25670. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25671. return Module["asm"]["dynCall_iijjiii"].apply(null, arguments);
  25672. });
  25673. var dynCall_iijjji = Module["dynCall_iijjji"] = (function() {
  25674. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25675. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25676. return Module["asm"]["dynCall_iijjji"].apply(null, arguments);
  25677. });
  25678. var dynCall_ij = Module["dynCall_ij"] = (function() {
  25679. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25680. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25681. return Module["asm"]["dynCall_ij"].apply(null, arguments);
  25682. });
  25683. var dynCall_iji = Module["dynCall_iji"] = (function() {
  25684. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25685. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25686. return Module["asm"]["dynCall_iji"].apply(null, arguments);
  25687. });
  25688. var dynCall_ijiii = Module["dynCall_ijiii"] = (function() {
  25689. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25690. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25691. return Module["asm"]["dynCall_ijiii"].apply(null, arguments);
  25692. });
  25693. var dynCall_ijj = Module["dynCall_ijj"] = (function() {
  25694. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25695. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25696. return Module["asm"]["dynCall_ijj"].apply(null, arguments);
  25697. });
  25698. var dynCall_ijji = Module["dynCall_ijji"] = (function() {
  25699. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25700. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25701. return Module["asm"]["dynCall_ijji"].apply(null, arguments);
  25702. });
  25703. var dynCall_j = Module["dynCall_j"] = (function() {
  25704. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25705. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25706. return Module["asm"]["dynCall_j"].apply(null, arguments);
  25707. });
  25708. var dynCall_jdi = Module["dynCall_jdi"] = (function() {
  25709. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25710. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25711. return Module["asm"]["dynCall_jdi"].apply(null, arguments);
  25712. });
  25713. var dynCall_jdii = Module["dynCall_jdii"] = (function() {
  25714. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25715. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25716. return Module["asm"]["dynCall_jdii"].apply(null, arguments);
  25717. });
  25718. var dynCall_jfi = Module["dynCall_jfi"] = (function() {
  25719. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25720. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25721. return Module["asm"]["dynCall_jfi"].apply(null, arguments);
  25722. });
  25723. var dynCall_ji = Module["dynCall_ji"] = (function() {
  25724. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25725. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25726. return Module["asm"]["dynCall_ji"].apply(null, arguments);
  25727. });
  25728. var dynCall_jidi = Module["dynCall_jidi"] = (function() {
  25729. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25730. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25731. return Module["asm"]["dynCall_jidi"].apply(null, arguments);
  25732. });
  25733. var dynCall_jidii = Module["dynCall_jidii"] = (function() {
  25734. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25735. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25736. return Module["asm"]["dynCall_jidii"].apply(null, arguments);
  25737. });
  25738. var dynCall_jii = Module["dynCall_jii"] = (function() {
  25739. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25740. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25741. return Module["asm"]["dynCall_jii"].apply(null, arguments);
  25742. });
  25743. var dynCall_jiii = Module["dynCall_jiii"] = (function() {
  25744. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25745. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25746. return Module["asm"]["dynCall_jiii"].apply(null, arguments);
  25747. });
  25748. var dynCall_jiiii = Module["dynCall_jiiii"] = (function() {
  25749. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25750. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25751. return Module["asm"]["dynCall_jiiii"].apply(null, arguments);
  25752. });
  25753. var dynCall_jiiiii = Module["dynCall_jiiiii"] = (function() {
  25754. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25755. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25756. return Module["asm"]["dynCall_jiiiii"].apply(null, arguments);
  25757. });
  25758. var dynCall_jiiiiii = Module["dynCall_jiiiiii"] = (function() {
  25759. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25760. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25761. return Module["asm"]["dynCall_jiiiiii"].apply(null, arguments);
  25762. });
  25763. var dynCall_jiiiiiiiiii = Module["dynCall_jiiiiiiiiii"] = (function() {
  25764. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25765. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25766. return Module["asm"]["dynCall_jiiiiiiiiii"].apply(null, arguments);
  25767. });
  25768. var dynCall_jiiji = Module["dynCall_jiiji"] = (function() {
  25769. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25770. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25771. return Module["asm"]["dynCall_jiiji"].apply(null, arguments);
  25772. });
  25773. var dynCall_jiji = Module["dynCall_jiji"] = (function() {
  25774. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25775. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25776. return Module["asm"]["dynCall_jiji"].apply(null, arguments);
  25777. });
  25778. var dynCall_jijii = Module["dynCall_jijii"] = (function() {
  25779. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25780. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25781. return Module["asm"]["dynCall_jijii"].apply(null, arguments);
  25782. });
  25783. var dynCall_jijiii = Module["dynCall_jijiii"] = (function() {
  25784. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25785. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25786. return Module["asm"]["dynCall_jijiii"].apply(null, arguments);
  25787. });
  25788. var dynCall_jijji = Module["dynCall_jijji"] = (function() {
  25789. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25790. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25791. return Module["asm"]["dynCall_jijji"].apply(null, arguments);
  25792. });
  25793. var dynCall_jji = Module["dynCall_jji"] = (function() {
  25794. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25795. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25796. return Module["asm"]["dynCall_jji"].apply(null, arguments);
  25797. });
  25798. var dynCall_v = Module["dynCall_v"] = (function() {
  25799. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25800. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25801. return Module["asm"]["dynCall_v"].apply(null, arguments);
  25802. });
  25803. var dynCall_vd = Module["dynCall_vd"] = (function() {
  25804. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25805. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25806. return Module["asm"]["dynCall_vd"].apply(null, arguments);
  25807. });
  25808. var dynCall_vf = Module["dynCall_vf"] = (function() {
  25809. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25810. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25811. return Module["asm"]["dynCall_vf"].apply(null, arguments);
  25812. });
  25813. var dynCall_vff = Module["dynCall_vff"] = (function() {
  25814. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25815. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25816. return Module["asm"]["dynCall_vff"].apply(null, arguments);
  25817. });
  25818. var dynCall_vffff = Module["dynCall_vffff"] = (function() {
  25819. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25820. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25821. return Module["asm"]["dynCall_vffff"].apply(null, arguments);
  25822. });
  25823. var dynCall_vfi = Module["dynCall_vfi"] = (function() {
  25824. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25825. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25826. return Module["asm"]["dynCall_vfi"].apply(null, arguments);
  25827. });
  25828. var dynCall_vi = Module["dynCall_vi"] = (function() {
  25829. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25830. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25831. return Module["asm"]["dynCall_vi"].apply(null, arguments);
  25832. });
  25833. var dynCall_vid = Module["dynCall_vid"] = (function() {
  25834. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25835. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25836. return Module["asm"]["dynCall_vid"].apply(null, arguments);
  25837. });
  25838. var dynCall_vidi = Module["dynCall_vidi"] = (function() {
  25839. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25840. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25841. return Module["asm"]["dynCall_vidi"].apply(null, arguments);
  25842. });
  25843. var dynCall_vif = Module["dynCall_vif"] = (function() {
  25844. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25845. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25846. return Module["asm"]["dynCall_vif"].apply(null, arguments);
  25847. });
  25848. var dynCall_viff = Module["dynCall_viff"] = (function() {
  25849. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25850. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25851. return Module["asm"]["dynCall_viff"].apply(null, arguments);
  25852. });
  25853. var dynCall_vifff = Module["dynCall_vifff"] = (function() {
  25854. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25855. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25856. return Module["asm"]["dynCall_vifff"].apply(null, arguments);
  25857. });
  25858. var dynCall_viffff = Module["dynCall_viffff"] = (function() {
  25859. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25860. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25861. return Module["asm"]["dynCall_viffff"].apply(null, arguments);
  25862. });
  25863. var dynCall_viffffi = Module["dynCall_viffffi"] = (function() {
  25864. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25865. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25866. return Module["asm"]["dynCall_viffffi"].apply(null, arguments);
  25867. });
  25868. var dynCall_viffffii = Module["dynCall_viffffii"] = (function() {
  25869. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25870. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25871. return Module["asm"]["dynCall_viffffii"].apply(null, arguments);
  25872. });
  25873. var dynCall_viffffiifffiiiiif = Module["dynCall_viffffiifffiiiiif"] = (function() {
  25874. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25875. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25876. return Module["asm"]["dynCall_viffffiifffiiiiif"].apply(null, arguments);
  25877. });
  25878. var dynCall_viffffiii = Module["dynCall_viffffiii"] = (function() {
  25879. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25880. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25881. return Module["asm"]["dynCall_viffffiii"].apply(null, arguments);
  25882. });
  25883. var dynCall_vifffi = Module["dynCall_vifffi"] = (function() {
  25884. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25885. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25886. return Module["asm"]["dynCall_vifffi"].apply(null, arguments);
  25887. });
  25888. var dynCall_vifffii = Module["dynCall_vifffii"] = (function() {
  25889. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25890. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25891. return Module["asm"]["dynCall_vifffii"].apply(null, arguments);
  25892. });
  25893. var dynCall_viffi = Module["dynCall_viffi"] = (function() {
  25894. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25895. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25896. return Module["asm"]["dynCall_viffi"].apply(null, arguments);
  25897. });
  25898. var dynCall_viffii = Module["dynCall_viffii"] = (function() {
  25899. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25900. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25901. return Module["asm"]["dynCall_viffii"].apply(null, arguments);
  25902. });
  25903. var dynCall_viffiifffffiii = Module["dynCall_viffiifffffiii"] = (function() {
  25904. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25905. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25906. return Module["asm"]["dynCall_viffiifffffiii"].apply(null, arguments);
  25907. });
  25908. var dynCall_viffiii = Module["dynCall_viffiii"] = (function() {
  25909. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25910. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25911. return Module["asm"]["dynCall_viffiii"].apply(null, arguments);
  25912. });
  25913. var dynCall_viffiiiif = Module["dynCall_viffiiiif"] = (function() {
  25914. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25915. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25916. return Module["asm"]["dynCall_viffiiiif"].apply(null, arguments);
  25917. });
  25918. var dynCall_vifi = Module["dynCall_vifi"] = (function() {
  25919. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25920. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25921. return Module["asm"]["dynCall_vifi"].apply(null, arguments);
  25922. });
  25923. var dynCall_vifii = Module["dynCall_vifii"] = (function() {
  25924. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25925. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25926. return Module["asm"]["dynCall_vifii"].apply(null, arguments);
  25927. });
  25928. var dynCall_vifiiii = Module["dynCall_vifiiii"] = (function() {
  25929. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25930. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25931. return Module["asm"]["dynCall_vifiiii"].apply(null, arguments);
  25932. });
  25933. var dynCall_vifijii = Module["dynCall_vifijii"] = (function() {
  25934. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25935. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25936. return Module["asm"]["dynCall_vifijii"].apply(null, arguments);
  25937. });
  25938. var dynCall_vii = Module["dynCall_vii"] = (function() {
  25939. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25940. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25941. return Module["asm"]["dynCall_vii"].apply(null, arguments);
  25942. });
  25943. var dynCall_viid = Module["dynCall_viid"] = (function() {
  25944. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25945. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25946. return Module["asm"]["dynCall_viid"].apply(null, arguments);
  25947. });
  25948. var dynCall_viidi = Module["dynCall_viidi"] = (function() {
  25949. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25950. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25951. return Module["asm"]["dynCall_viidi"].apply(null, arguments);
  25952. });
  25953. var dynCall_viidii = Module["dynCall_viidii"] = (function() {
  25954. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25955. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25956. return Module["asm"]["dynCall_viidii"].apply(null, arguments);
  25957. });
  25958. var dynCall_viif = Module["dynCall_viif"] = (function() {
  25959. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25960. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25961. return Module["asm"]["dynCall_viif"].apply(null, arguments);
  25962. });
  25963. var dynCall_viiff = Module["dynCall_viiff"] = (function() {
  25964. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25965. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25966. return Module["asm"]["dynCall_viiff"].apply(null, arguments);
  25967. });
  25968. var dynCall_viifff = Module["dynCall_viifff"] = (function() {
  25969. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25970. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25971. return Module["asm"]["dynCall_viifff"].apply(null, arguments);
  25972. });
  25973. var dynCall_viifffi = Module["dynCall_viifffi"] = (function() {
  25974. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25975. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25976. return Module["asm"]["dynCall_viifffi"].apply(null, arguments);
  25977. });
  25978. var dynCall_viiffi = Module["dynCall_viiffi"] = (function() {
  25979. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25980. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25981. return Module["asm"]["dynCall_viiffi"].apply(null, arguments);
  25982. });
  25983. var dynCall_viiffii = Module["dynCall_viiffii"] = (function() {
  25984. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25985. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25986. return Module["asm"]["dynCall_viiffii"].apply(null, arguments);
  25987. });
  25988. var dynCall_viifi = Module["dynCall_viifi"] = (function() {
  25989. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25990. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25991. return Module["asm"]["dynCall_viifi"].apply(null, arguments);
  25992. });
  25993. var dynCall_viifii = Module["dynCall_viifii"] = (function() {
  25994. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  25995. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  25996. return Module["asm"]["dynCall_viifii"].apply(null, arguments);
  25997. });
  25998. var dynCall_viifiii = Module["dynCall_viifiii"] = (function() {
  25999. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26000. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26001. return Module["asm"]["dynCall_viifiii"].apply(null, arguments);
  26002. });
  26003. var dynCall_viifiiii = Module["dynCall_viifiiii"] = (function() {
  26004. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26005. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26006. return Module["asm"]["dynCall_viifiiii"].apply(null, arguments);
  26007. });
  26008. var dynCall_viii = Module["dynCall_viii"] = (function() {
  26009. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26010. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26011. return Module["asm"]["dynCall_viii"].apply(null, arguments);
  26012. });
  26013. var dynCall_viiidi = Module["dynCall_viiidi"] = (function() {
  26014. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26015. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26016. return Module["asm"]["dynCall_viiidi"].apply(null, arguments);
  26017. });
  26018. var dynCall_viiifffi = Module["dynCall_viiifffi"] = (function() {
  26019. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26020. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26021. return Module["asm"]["dynCall_viiifffi"].apply(null, arguments);
  26022. });
  26023. var dynCall_viiiffi = Module["dynCall_viiiffi"] = (function() {
  26024. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26025. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26026. return Module["asm"]["dynCall_viiiffi"].apply(null, arguments);
  26027. });
  26028. var dynCall_viiiffii = Module["dynCall_viiiffii"] = (function() {
  26029. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26030. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26031. return Module["asm"]["dynCall_viiiffii"].apply(null, arguments);
  26032. });
  26033. var dynCall_viiifi = Module["dynCall_viiifi"] = (function() {
  26034. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26035. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26036. return Module["asm"]["dynCall_viiifi"].apply(null, arguments);
  26037. });
  26038. var dynCall_viiifii = Module["dynCall_viiifii"] = (function() {
  26039. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26040. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26041. return Module["asm"]["dynCall_viiifii"].apply(null, arguments);
  26042. });
  26043. var dynCall_viiifiii = Module["dynCall_viiifiii"] = (function() {
  26044. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26045. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26046. return Module["asm"]["dynCall_viiifiii"].apply(null, arguments);
  26047. });
  26048. var dynCall_viiifiiiii = Module["dynCall_viiifiiiii"] = (function() {
  26049. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26050. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26051. return Module["asm"]["dynCall_viiifiiiii"].apply(null, arguments);
  26052. });
  26053. var dynCall_viiii = Module["dynCall_viiii"] = (function() {
  26054. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26055. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26056. return Module["asm"]["dynCall_viiii"].apply(null, arguments);
  26057. });
  26058. var dynCall_viiiif = Module["dynCall_viiiif"] = (function() {
  26059. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26060. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26061. return Module["asm"]["dynCall_viiiif"].apply(null, arguments);
  26062. });
  26063. var dynCall_viiiifii = Module["dynCall_viiiifii"] = (function() {
  26064. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26065. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26066. return Module["asm"]["dynCall_viiiifii"].apply(null, arguments);
  26067. });
  26068. var dynCall_viiiifiiiiif = Module["dynCall_viiiifiiiiif"] = (function() {
  26069. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26070. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26071. return Module["asm"]["dynCall_viiiifiiiiif"].apply(null, arguments);
  26072. });
  26073. var dynCall_viiiii = Module["dynCall_viiiii"] = (function() {
  26074. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26075. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26076. return Module["asm"]["dynCall_viiiii"].apply(null, arguments);
  26077. });
  26078. var dynCall_viiiiif = Module["dynCall_viiiiif"] = (function() {
  26079. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26080. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26081. return Module["asm"]["dynCall_viiiiif"].apply(null, arguments);
  26082. });
  26083. var dynCall_viiiiiffi = Module["dynCall_viiiiiffi"] = (function() {
  26084. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26085. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26086. return Module["asm"]["dynCall_viiiiiffi"].apply(null, arguments);
  26087. });
  26088. var dynCall_viiiiiffii = Module["dynCall_viiiiiffii"] = (function() {
  26089. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26090. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26091. return Module["asm"]["dynCall_viiiiiffii"].apply(null, arguments);
  26092. });
  26093. var dynCall_viiiiifi = Module["dynCall_viiiiifi"] = (function() {
  26094. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26095. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26096. return Module["asm"]["dynCall_viiiiifi"].apply(null, arguments);
  26097. });
  26098. var dynCall_viiiiii = Module["dynCall_viiiiii"] = (function() {
  26099. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26100. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26101. return Module["asm"]["dynCall_viiiiii"].apply(null, arguments);
  26102. });
  26103. var dynCall_viiiiiif = Module["dynCall_viiiiiif"] = (function() {
  26104. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26105. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26106. return Module["asm"]["dynCall_viiiiiif"].apply(null, arguments);
  26107. });
  26108. var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = (function() {
  26109. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26110. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26111. return Module["asm"]["dynCall_viiiiiii"].apply(null, arguments);
  26112. });
  26113. var dynCall_viiiiiiifi = Module["dynCall_viiiiiiifi"] = (function() {
  26114. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26115. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26116. return Module["asm"]["dynCall_viiiiiiifi"].apply(null, arguments);
  26117. });
  26118. var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = (function() {
  26119. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26120. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26121. return Module["asm"]["dynCall_viiiiiiii"].apply(null, arguments);
  26122. });
  26123. var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = (function() {
  26124. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26125. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26126. return Module["asm"]["dynCall_viiiiiiiii"].apply(null, arguments);
  26127. });
  26128. var dynCall_viiiiiiiiii = Module["dynCall_viiiiiiiiii"] = (function() {
  26129. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26130. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26131. return Module["asm"]["dynCall_viiiiiiiiii"].apply(null, arguments);
  26132. });
  26133. var dynCall_viiiiiiiiiii = Module["dynCall_viiiiiiiiiii"] = (function() {
  26134. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26135. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26136. return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null, arguments);
  26137. });
  26138. var dynCall_viiiiiiiiiiifii = Module["dynCall_viiiiiiiiiiifii"] = (function() {
  26139. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26140. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26141. return Module["asm"]["dynCall_viiiiiiiiiiifii"].apply(null, arguments);
  26142. });
  26143. var dynCall_viiiiiiiiiiii = Module["dynCall_viiiiiiiiiiii"] = (function() {
  26144. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26145. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26146. return Module["asm"]["dynCall_viiiiiiiiiiii"].apply(null, arguments);
  26147. });
  26148. var dynCall_viiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiii"] = (function() {
  26149. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26150. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26151. return Module["asm"]["dynCall_viiiiiiiiiiiiii"].apply(null, arguments);
  26152. });
  26153. var dynCall_viiiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiiii"] = (function() {
  26154. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26155. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26156. return Module["asm"]["dynCall_viiiiiiiiiiiiiii"].apply(null, arguments);
  26157. });
  26158. var dynCall_viiiiiiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiiiiiii"] = (function() {
  26159. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26160. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26161. return Module["asm"]["dynCall_viiiiiiiiiiiiiiiiii"].apply(null, arguments);
  26162. });
  26163. var dynCall_viiiiiji = Module["dynCall_viiiiiji"] = (function() {
  26164. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26165. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26166. return Module["asm"]["dynCall_viiiiiji"].apply(null, arguments);
  26167. });
  26168. var dynCall_viiiij = Module["dynCall_viiiij"] = (function() {
  26169. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26170. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26171. return Module["asm"]["dynCall_viiiij"].apply(null, arguments);
  26172. });
  26173. var dynCall_viiiijiiii = Module["dynCall_viiiijiiii"] = (function() {
  26174. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26175. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26176. return Module["asm"]["dynCall_viiiijiiii"].apply(null, arguments);
  26177. });
  26178. var dynCall_viiiji = Module["dynCall_viiiji"] = (function() {
  26179. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26180. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26181. return Module["asm"]["dynCall_viiiji"].apply(null, arguments);
  26182. });
  26183. var dynCall_viiijji = Module["dynCall_viiijji"] = (function() {
  26184. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26185. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26186. return Module["asm"]["dynCall_viiijji"].apply(null, arguments);
  26187. });
  26188. var dynCall_viij = Module["dynCall_viij"] = (function() {
  26189. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26190. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26191. return Module["asm"]["dynCall_viij"].apply(null, arguments);
  26192. });
  26193. var dynCall_viiji = Module["dynCall_viiji"] = (function() {
  26194. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26195. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26196. return Module["asm"]["dynCall_viiji"].apply(null, arguments);
  26197. });
  26198. var dynCall_viijii = Module["dynCall_viijii"] = (function() {
  26199. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26200. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26201. return Module["asm"]["dynCall_viijii"].apply(null, arguments);
  26202. });
  26203. var dynCall_viijiijiii = Module["dynCall_viijiijiii"] = (function() {
  26204. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26205. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26206. return Module["asm"]["dynCall_viijiijiii"].apply(null, arguments);
  26207. });
  26208. var dynCall_viijijii = Module["dynCall_viijijii"] = (function() {
  26209. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26210. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26211. return Module["asm"]["dynCall_viijijii"].apply(null, arguments);
  26212. });
  26213. var dynCall_viijijiii = Module["dynCall_viijijiii"] = (function() {
  26214. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26215. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26216. return Module["asm"]["dynCall_viijijiii"].apply(null, arguments);
  26217. });
  26218. var dynCall_viijijj = Module["dynCall_viijijj"] = (function() {
  26219. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26220. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26221. return Module["asm"]["dynCall_viijijj"].apply(null, arguments);
  26222. });
  26223. var dynCall_viijj = Module["dynCall_viijj"] = (function() {
  26224. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26225. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26226. return Module["asm"]["dynCall_viijj"].apply(null, arguments);
  26227. });
  26228. var dynCall_viijji = Module["dynCall_viijji"] = (function() {
  26229. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26230. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26231. return Module["asm"]["dynCall_viijji"].apply(null, arguments);
  26232. });
  26233. var dynCall_viijjii = Module["dynCall_viijjii"] = (function() {
  26234. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26235. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26236. return Module["asm"]["dynCall_viijjii"].apply(null, arguments);
  26237. });
  26238. var dynCall_viijjiii = Module["dynCall_viijjiii"] = (function() {
  26239. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26240. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26241. return Module["asm"]["dynCall_viijjiii"].apply(null, arguments);
  26242. });
  26243. var dynCall_viijjji = Module["dynCall_viijjji"] = (function() {
  26244. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26245. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26246. return Module["asm"]["dynCall_viijjji"].apply(null, arguments);
  26247. });
  26248. var dynCall_vij = Module["dynCall_vij"] = (function() {
  26249. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26250. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26251. return Module["asm"]["dynCall_vij"].apply(null, arguments);
  26252. });
  26253. var dynCall_viji = Module["dynCall_viji"] = (function() {
  26254. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26255. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26256. return Module["asm"]["dynCall_viji"].apply(null, arguments);
  26257. });
  26258. var dynCall_vijii = Module["dynCall_vijii"] = (function() {
  26259. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26260. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26261. return Module["asm"]["dynCall_vijii"].apply(null, arguments);
  26262. });
  26263. var dynCall_vijiii = Module["dynCall_vijiii"] = (function() {
  26264. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26265. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26266. return Module["asm"]["dynCall_vijiii"].apply(null, arguments);
  26267. });
  26268. var dynCall_vijiji = Module["dynCall_vijiji"] = (function() {
  26269. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26270. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26271. return Module["asm"]["dynCall_vijiji"].apply(null, arguments);
  26272. });
  26273. var dynCall_vijijji = Module["dynCall_vijijji"] = (function() {
  26274. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26275. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26276. return Module["asm"]["dynCall_vijijji"].apply(null, arguments);
  26277. });
  26278. var dynCall_vijji = Module["dynCall_vijji"] = (function() {
  26279. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26280. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26281. return Module["asm"]["dynCall_vijji"].apply(null, arguments);
  26282. });
  26283. var dynCall_vijjii = Module["dynCall_vijjii"] = (function() {
  26284. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26285. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26286. return Module["asm"]["dynCall_vijjii"].apply(null, arguments);
  26287. });
  26288. var dynCall_vijjji = Module["dynCall_vijjji"] = (function() {
  26289. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26290. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26291. return Module["asm"]["dynCall_vijjji"].apply(null, arguments);
  26292. });
  26293. var dynCall_vji = Module["dynCall_vji"] = (function() {
  26294. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26295. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26296. return Module["asm"]["dynCall_vji"].apply(null, arguments);
  26297. });
  26298. var dynCall_vjiiii = Module["dynCall_vjiiii"] = (function() {
  26299. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26300. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26301. return Module["asm"]["dynCall_vjiiii"].apply(null, arguments);
  26302. });
  26303. var dynCall_vjji = Module["dynCall_vjji"] = (function() {
  26304. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  26305. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  26306. return Module["asm"]["dynCall_vjji"].apply(null, arguments);
  26307. });
  26308. Module["asm"] = asm;
  26309. if (!Module["intArrayFromString"]) Module["intArrayFromString"] = (function() {
  26310. abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26311. });
  26312. if (!Module["intArrayToString"]) Module["intArrayToString"] = (function() {
  26313. abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26314. });
  26315. Module["ccall"] = ccall;
  26316. Module["cwrap"] = cwrap;
  26317. if (!Module["setValue"]) Module["setValue"] = (function() {
  26318. abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26319. });
  26320. if (!Module["getValue"]) Module["getValue"] = (function() {
  26321. abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26322. });
  26323. if (!Module["allocate"]) Module["allocate"] = (function() {
  26324. abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26325. });
  26326. if (!Module["getMemory"]) Module["getMemory"] = (function() {
  26327. abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26328. });
  26329. if (!Module["Pointer_stringify"]) Module["Pointer_stringify"] = (function() {
  26330. abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26331. });
  26332. if (!Module["AsciiToString"]) Module["AsciiToString"] = (function() {
  26333. abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26334. });
  26335. if (!Module["stringToAscii"]) Module["stringToAscii"] = (function() {
  26336. abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26337. });
  26338. if (!Module["UTF8ArrayToString"]) Module["UTF8ArrayToString"] = (function() {
  26339. abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26340. });
  26341. if (!Module["UTF8ToString"]) Module["UTF8ToString"] = (function() {
  26342. abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26343. });
  26344. if (!Module["stringToUTF8Array"]) Module["stringToUTF8Array"] = (function() {
  26345. abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26346. });
  26347. if (!Module["stringToUTF8"]) Module["stringToUTF8"] = (function() {
  26348. abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26349. });
  26350. if (!Module["lengthBytesUTF8"]) Module["lengthBytesUTF8"] = (function() {
  26351. abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26352. });
  26353. if (!Module["UTF16ToString"]) Module["UTF16ToString"] = (function() {
  26354. abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26355. });
  26356. if (!Module["stringToUTF16"]) Module["stringToUTF16"] = (function() {
  26357. abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26358. });
  26359. if (!Module["lengthBytesUTF16"]) Module["lengthBytesUTF16"] = (function() {
  26360. abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26361. });
  26362. if (!Module["UTF32ToString"]) Module["UTF32ToString"] = (function() {
  26363. abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26364. });
  26365. if (!Module["stringToUTF32"]) Module["stringToUTF32"] = (function() {
  26366. abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26367. });
  26368. if (!Module["lengthBytesUTF32"]) Module["lengthBytesUTF32"] = (function() {
  26369. abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26370. });
  26371. if (!Module["allocateUTF8"]) Module["allocateUTF8"] = (function() {
  26372. abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26373. });
  26374. Module["stackTrace"] = stackTrace;
  26375. if (!Module["addOnPreRun"]) Module["addOnPreRun"] = (function() {
  26376. abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26377. });
  26378. if (!Module["addOnInit"]) Module["addOnInit"] = (function() {
  26379. abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26380. });
  26381. if (!Module["addOnPreMain"]) Module["addOnPreMain"] = (function() {
  26382. abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26383. });
  26384. if (!Module["addOnExit"]) Module["addOnExit"] = (function() {
  26385. abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26386. });
  26387. if (!Module["addOnPostRun"]) Module["addOnPostRun"] = (function() {
  26388. abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26389. });
  26390. if (!Module["writeStringToMemory"]) Module["writeStringToMemory"] = (function() {
  26391. abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26392. });
  26393. if (!Module["writeArrayToMemory"]) Module["writeArrayToMemory"] = (function() {
  26394. abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26395. });
  26396. if (!Module["writeAsciiToMemory"]) Module["writeAsciiToMemory"] = (function() {
  26397. abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26398. });
  26399. Module["addRunDependency"] = addRunDependency;
  26400. Module["removeRunDependency"] = removeRunDependency;
  26401. if (!Module["ENV"]) Module["ENV"] = (function() {
  26402. abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26403. });
  26404. if (!Module["FS"]) Module["FS"] = (function() {
  26405. abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26406. });
  26407. if (!Module["FS_createFolder"]) Module["FS_createFolder"] = (function() {
  26408. abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26409. });
  26410. Module["FS_createPath"] = FS.createPath;
  26411. Module["FS_createDataFile"] = FS.createDataFile;
  26412. if (!Module["FS_createPreloadedFile"]) Module["FS_createPreloadedFile"] = (function() {
  26413. abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26414. });
  26415. if (!Module["FS_createLazyFile"]) Module["FS_createLazyFile"] = (function() {
  26416. abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26417. });
  26418. if (!Module["FS_createLink"]) Module["FS_createLink"] = (function() {
  26419. abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26420. });
  26421. if (!Module["FS_createDevice"]) Module["FS_createDevice"] = (function() {
  26422. abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26423. });
  26424. if (!Module["FS_unlink"]) Module["FS_unlink"] = (function() {
  26425. abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you");
  26426. });
  26427. if (!Module["GL"]) Module["GL"] = (function() {
  26428. abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26429. });
  26430. if (!Module["staticAlloc"]) Module["staticAlloc"] = (function() {
  26431. abort("'staticAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26432. });
  26433. if (!Module["dynamicAlloc"]) Module["dynamicAlloc"] = (function() {
  26434. abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26435. });
  26436. if (!Module["warnOnce"]) Module["warnOnce"] = (function() {
  26437. abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26438. });
  26439. if (!Module["loadDynamicLibrary"]) Module["loadDynamicLibrary"] = (function() {
  26440. abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26441. });
  26442. if (!Module["loadWebAssemblyModule"]) Module["loadWebAssemblyModule"] = (function() {
  26443. abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26444. });
  26445. if (!Module["getLEB"]) Module["getLEB"] = (function() {
  26446. abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26447. });
  26448. if (!Module["getFunctionTables"]) Module["getFunctionTables"] = (function() {
  26449. abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26450. });
  26451. if (!Module["alignFunctionTables"]) Module["alignFunctionTables"] = (function() {
  26452. abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26453. });
  26454. if (!Module["registerFunctions"]) Module["registerFunctions"] = (function() {
  26455. abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26456. });
  26457. if (!Module["addFunction"]) Module["addFunction"] = (function() {
  26458. abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26459. });
  26460. if (!Module["removeFunction"]) Module["removeFunction"] = (function() {
  26461. abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26462. });
  26463. if (!Module["getFuncWrapper"]) Module["getFuncWrapper"] = (function() {
  26464. abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26465. });
  26466. if (!Module["prettyPrint"]) Module["prettyPrint"] = (function() {
  26467. abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26468. });
  26469. if (!Module["makeBigInt"]) Module["makeBigInt"] = (function() {
  26470. abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26471. });
  26472. if (!Module["dynCall"]) Module["dynCall"] = (function() {
  26473. abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26474. });
  26475. if (!Module["getCompilerSetting"]) Module["getCompilerSetting"] = (function() {
  26476. abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26477. });
  26478. if (!Module["stackSave"]) Module["stackSave"] = (function() {
  26479. abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26480. });
  26481. if (!Module["stackRestore"]) Module["stackRestore"] = (function() {
  26482. abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26483. });
  26484. if (!Module["stackAlloc"]) Module["stackAlloc"] = (function() {
  26485. abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26486. });
  26487. if (!Module["establishStackSpace"]) Module["establishStackSpace"] = (function() {
  26488. abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26489. });
  26490. if (!Module["print"]) Module["print"] = (function() {
  26491. abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26492. });
  26493. if (!Module["printErr"]) Module["printErr"] = (function() {
  26494. abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26495. });
  26496. Module["writeStackCookie"] = writeStackCookie;
  26497. Module["checkStackCookie"] = checkStackCookie;
  26498. if (!Module["abortStackOverflow"]) Module["abortStackOverflow"] = (function() {
  26499. abort("'abortStackOverflow' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26500. });
  26501. if (!Module["ALLOC_NORMAL"]) Object.defineProperty(Module, "ALLOC_NORMAL", {
  26502. get: (function() {
  26503. abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26504. })
  26505. });
  26506. if (!Module["ALLOC_STACK"]) Object.defineProperty(Module, "ALLOC_STACK", {
  26507. get: (function() {
  26508. abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26509. })
  26510. });
  26511. if (!Module["ALLOC_STATIC"]) Object.defineProperty(Module, "ALLOC_STATIC", {
  26512. get: (function() {
  26513. abort("'ALLOC_STATIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26514. })
  26515. });
  26516. if (!Module["ALLOC_DYNAMIC"]) Object.defineProperty(Module, "ALLOC_DYNAMIC", {
  26517. get: (function() {
  26518. abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26519. })
  26520. });
  26521. if (!Module["ALLOC_NONE"]) Object.defineProperty(Module, "ALLOC_NONE", {
  26522. get: (function() {
  26523. abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)");
  26524. })
  26525. });
  26526. function ExitStatus(status) {
  26527. this.name = "ExitStatus";
  26528. this.message = "Program terminated with exit(" + status + ")";
  26529. this.status = status;
  26530. }
  26531. ExitStatus.prototype = new Error;
  26532. ExitStatus.prototype.constructor = ExitStatus;
  26533. var initialStackTop;
  26534. var calledMain = false;
  26535. dependenciesFulfilled = function runCaller() {
  26536. if (!Module["calledRun"]) run();
  26537. if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
  26538. };
  26539. Module["callMain"] = function callMain(args) {
  26540. assert(runDependencies == 0, "cannot call main when async dependencies remain! (listen on __ATMAIN__)");
  26541. assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called");
  26542. args = args || [];
  26543. ensureInitRuntime();
  26544. var argc = args.length + 1;
  26545. var argv = stackAlloc((argc + 1) * 4);
  26546. HEAP32[argv >> 2] = allocateUTF8OnStack(Module["thisProgram"]);
  26547. for (var i = 1; i < argc; i++) {
  26548. HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
  26549. }
  26550. HEAP32[(argv >> 2) + argc] = 0;
  26551. try {
  26552. var ret = Module["_main"](argc, argv, 0);
  26553. exit(ret, true);
  26554. } catch (e) {
  26555. if (e instanceof ExitStatus) {
  26556. return;
  26557. } else if (e == "SimulateInfiniteLoop") {
  26558. Module["noExitRuntime"] = true;
  26559. return;
  26560. } else {
  26561. var toLog = e;
  26562. if (e && typeof e === "object" && e.stack) {
  26563. toLog = [ e, e.stack ];
  26564. }
  26565. err("exception thrown: " + toLog);
  26566. Module["quit"](1, e);
  26567. }
  26568. } finally {
  26569. calledMain = true;
  26570. }
  26571. };
  26572. function run(args) {
  26573. args = args || Module["arguments"];
  26574. if (runDependencies > 0) {
  26575. return;
  26576. }
  26577. writeStackCookie();
  26578. preRun();
  26579. if (runDependencies > 0) return;
  26580. if (Module["calledRun"]) return;
  26581. function doRun() {
  26582. if (Module["calledRun"]) return;
  26583. Module["calledRun"] = true;
  26584. if (ABORT) return;
  26585. ensureInitRuntime();
  26586. preMain();
  26587. if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
  26588. if (Module["_main"] && shouldRunNow) Module["callMain"](args);
  26589. postRun();
  26590. }
  26591. if (Module["setStatus"]) {
  26592. Module["setStatus"]("Running...");
  26593. setTimeout((function() {
  26594. setTimeout((function() {
  26595. Module["setStatus"]("");
  26596. }), 1);
  26597. doRun();
  26598. }), 1);
  26599. } else {
  26600. doRun();
  26601. }
  26602. checkStackCookie();
  26603. }
  26604. Module["run"] = run;
  26605. function checkUnflushedContent() {
  26606. var print = out;
  26607. var printErr = err;
  26608. var has = false;
  26609. out = err = (function(x) {
  26610. has = true;
  26611. });
  26612. try {
  26613. var flush = Module["_fflush"];
  26614. if (flush) flush(0);
  26615. var hasFS = true;
  26616. if (hasFS) {
  26617. [ "stdout", "stderr" ].forEach((function(name) {
  26618. var info = FS.analyzePath("/dev/" + name);
  26619. if (!info) return;
  26620. var stream = info.object;
  26621. var rdev = stream.rdev;
  26622. var tty = TTY.ttys[rdev];
  26623. if (tty && tty.output && tty.output.length) {
  26624. has = true;
  26625. }
  26626. }));
  26627. }
  26628. } catch (e) {}
  26629. out = print;
  26630. err = printErr;
  26631. if (has) {
  26632. warnOnce("stdio streams had content in them that was not flushed. you should set NO_EXIT_RUNTIME to 0 (see the FAQ), or make sure to emit a newline when you printf etc.");
  26633. }
  26634. }
  26635. function exit(status, implicit) {
  26636. checkUnflushedContent();
  26637. if (implicit && Module["noExitRuntime"] && status === 0) {
  26638. return;
  26639. }
  26640. if (Module["noExitRuntime"]) {
  26641. if (!implicit) {
  26642. err("exit(" + status + ") called, but NO_EXIT_RUNTIME is set, so halting execution but not exiting the runtime or preventing further async execution (build with NO_EXIT_RUNTIME=0, if you want a true shutdown)");
  26643. }
  26644. } else {
  26645. ABORT = true;
  26646. EXITSTATUS = status;
  26647. STACKTOP = initialStackTop;
  26648. exitRuntime();
  26649. if (Module["onExit"]) Module["onExit"](status);
  26650. }
  26651. Module["quit"](status, new ExitStatus(status));
  26652. }
  26653. var abortDecorators = [];
  26654. function abort(what) {
  26655. if (Module["onAbort"]) {
  26656. Module["onAbort"](what);
  26657. }
  26658. if (what !== undefined) {
  26659. out(what);
  26660. err(what);
  26661. what = JSON.stringify(what);
  26662. } else {
  26663. what = "";
  26664. }
  26665. ABORT = true;
  26666. EXITSTATUS = 1;
  26667. var extra = "";
  26668. var output = "abort(" + what + ") at " + stackTrace() + extra;
  26669. if (abortDecorators) {
  26670. abortDecorators.forEach((function(decorator) {
  26671. output = decorator(output, what);
  26672. }));
  26673. }
  26674. throw output;
  26675. }
  26676. Module["abort"] = abort;
  26677. if (Module["preInit"]) {
  26678. if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
  26679. while (Module["preInit"].length > 0) {
  26680. Module["preInit"].pop()();
  26681. }
  26682. }
  26683. var shouldRunNow = true;
  26684. if (Module["noInitialRun"]) {
  26685. shouldRunNow = false;
  26686. }
  26687. Module["noExitRuntime"] = true;
  26688. run();
  26689. }