missile-120func-v20221120.js 392 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070
  1. var ENVIRONMENT_IS_PTHREAD = true;
  2. var Module = typeof Module !== "undefined" ? Module : {};
  3. var moduleOverrides = {};
  4. var key;
  5. for (key in Module) {
  6. if (Module.hasOwnProperty(key)) {
  7. moduleOverrides[key] = Module[key]
  8. }
  9. }
  10. var arguments_ = [];
  11. var thisProgram = "./this.program";
  12. var quit_ = function(status, toThrow) {
  13. throw toThrow
  14. };
  15. var ENVIRONMENT_IS_WEB = false;
  16. var ENVIRONMENT_IS_WORKER = false;
  17. var ENVIRONMENT_IS_NODE = false;
  18. var ENVIRONMENT_HAS_NODE = false;
  19. var ENVIRONMENT_IS_SHELL = false;
  20. ENVIRONMENT_IS_WEB = typeof window === "object";
  21. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  22. ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string";
  23. ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
  24. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  25. if (Module["ENVIRONMENT"]) {
  26. 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)")
  27. }
  28. var scriptDirectory = "";
  29. function locateFile(path) {
  30. if (Module["locateFile"]) {
  31. return Module["locateFile"](path, scriptDirectory)
  32. }
  33. return scriptDirectory + path
  34. }
  35. var read_, readAsync, readBinary, setWindowTitle;
  36. if (ENVIRONMENT_IS_NODE) {
  37. scriptDirectory = __dirname + "/";
  38. var nodeFS;
  39. var nodePath;
  40. read_ = function shell_read(filename, binary) {
  41. var ret;
  42. if (!nodeFS) nodeFS = require("fs");
  43. if (!nodePath) nodePath = require("path");
  44. filename = nodePath["normalize"](filename);
  45. ret = nodeFS["readFileSync"](filename);
  46. return binary ? ret : ret.toString()
  47. };
  48. readBinary = function readBinary(filename) {
  49. var ret = read_(filename, true);
  50. if (!ret.buffer) {
  51. ret = new Uint8Array(ret)
  52. }
  53. assert(ret.buffer);
  54. return ret
  55. };
  56. if (process["argv"].length > 1) {
  57. thisProgram = process["argv"][1].replace(/\\/g, "/")
  58. }
  59. arguments_ = process["argv"].slice(2);
  60. if (typeof module !== "undefined") {
  61. module["exports"] = Module
  62. }
  63. process["on"]("uncaughtException", function(ex) {
  64. if (!(ex instanceof ExitStatus)) {
  65. throw ex
  66. }
  67. });
  68. process["on"]("unhandledRejection", abort);
  69. quit_ = function(status) {
  70. process["exit"](status)
  71. };
  72. Module["inspect"] = function() {
  73. return "[Emscripten Module object]"
  74. }
  75. } else if (ENVIRONMENT_IS_SHELL) {
  76. if (typeof read != "undefined") {
  77. read_ = function shell_read(f) {
  78. return read(f)
  79. }
  80. }
  81. readBinary = function readBinary(f) {
  82. var data;
  83. if (typeof readbuffer === "function") {
  84. return new Uint8Array(readbuffer(f))
  85. }
  86. data = read(f, "binary");
  87. assert(typeof data === "object");
  88. return data
  89. };
  90. if (typeof scriptArgs != "undefined") {
  91. arguments_ = scriptArgs
  92. } else if (typeof arguments != "undefined") {
  93. arguments_ = arguments
  94. }
  95. if (typeof quit === "function") {
  96. quit_ = function(status) {
  97. quit(status)
  98. }
  99. }
  100. if (typeof print !== "undefined") {
  101. if (typeof console === "undefined") console = {};
  102. console.log = print;
  103. console.warn = console.error = typeof printErr !== "undefined" ? printErr : print
  104. }
  105. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  106. if (ENVIRONMENT_IS_WORKER) {
  107. scriptDirectory = self.location.href
  108. } else if (document.currentScript) {
  109. scriptDirectory = document.currentScript.src
  110. }
  111. if (scriptDirectory.indexOf("blob:") !== 0) {
  112. scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1)
  113. } else {
  114. scriptDirectory = ""
  115. }
  116. read_ = function shell_read(url) {
  117. var xhr = new XMLHttpRequest;
  118. xhr.open("GET", url, false);
  119. xhr.send(null);
  120. return xhr.responseText
  121. };
  122. if (ENVIRONMENT_IS_WORKER) {
  123. readBinary = function readBinary(url) {
  124. var xhr = new XMLHttpRequest;
  125. xhr.open("GET", url, false);
  126. xhr.responseType = "arraybuffer";
  127. xhr.send(null);
  128. return new Uint8Array(xhr.response)
  129. }
  130. }
  131. readAsync = function readAsync(url, onload, onerror) {
  132. var xhr = new XMLHttpRequest;
  133. xhr.open("GET", url, true);
  134. xhr.responseType = "arraybuffer";
  135. xhr.onload = function xhr_onload() {
  136. if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
  137. onload(xhr.response);
  138. return
  139. }
  140. onerror()
  141. };
  142. xhr.onerror = onerror;
  143. xhr.send(null)
  144. };
  145. setWindowTitle = function(title) {
  146. document.title = title
  147. }
  148. } else {
  149. throw new Error("environment detection error")
  150. }
  151. var out = Module["print"] || console.log.bind(console);
  152. var err = Module["printErr"] || console.warn.bind(console);
  153. for (key in moduleOverrides) {
  154. if (moduleOverrides.hasOwnProperty(key)) {
  155. Module[key] = moduleOverrides[key]
  156. }
  157. }
  158. moduleOverrides = null;
  159. if (Module["arguments"]) arguments_ = Module["arguments"];
  160. if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", {
  161. configurable: true,
  162. get: function() {
  163. abort("Module.arguments has been replaced with plain arguments_")
  164. }
  165. });
  166. if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
  167. if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", {
  168. configurable: true,
  169. get: function() {
  170. abort("Module.thisProgram has been replaced with plain thisProgram")
  171. }
  172. });
  173. if (Module["quit"]) quit_ = Module["quit"];
  174. if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", {
  175. configurable: true,
  176. get: function() {
  177. abort("Module.quit has been replaced with plain quit_")
  178. }
  179. });
  180. assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
  181. assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
  182. assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
  183. assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
  184. assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)");
  185. assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)");
  186. assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)");
  187. assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)");
  188. if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", {
  189. configurable: true,
  190. get: function() {
  191. abort("Module.read has been replaced with plain read_")
  192. }
  193. });
  194. if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", {
  195. configurable: true,
  196. get: function() {
  197. abort("Module.readAsync has been replaced with plain readAsync")
  198. }
  199. });
  200. if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", {
  201. configurable: true,
  202. get: function() {
  203. abort("Module.readBinary has been replaced with plain readBinary")
  204. }
  205. });
  206. stackSave = stackRestore = stackAlloc = function() {
  207. abort("cannot use the stack before compiled code is ready to run, and has provided stack access")
  208. };
  209. function dynamicAlloc(size) {
  210. assert(DYNAMICTOP_PTR);
  211. var ret = HEAP32[DYNAMICTOP_PTR >> 2];
  212. var end = ret + size + 15 & -16;
  213. if (end > _emscripten_get_heap_size()) {
  214. abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly")
  215. }
  216. HEAP32[DYNAMICTOP_PTR >> 2] = end;
  217. return ret
  218. }
  219. function getNativeTypeSize(type) {
  220. switch (type) {
  221. case "i1":
  222. case "i8":
  223. return 1;
  224. case "i16":
  225. return 2;
  226. case "i32":
  227. return 4;
  228. case "i64":
  229. return 8;
  230. case "float":
  231. return 4;
  232. case "double":
  233. return 8;
  234. default: {
  235. if (type[type.length - 1] === "*") {
  236. return 4
  237. } else if (type[0] === "i") {
  238. var bits = parseInt(type.substr(1));
  239. assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type);
  240. return bits / 8
  241. } else {
  242. return 0
  243. }
  244. }
  245. }
  246. }
  247. function warnOnce(text) {
  248. if (!warnOnce.shown) warnOnce.shown = {};
  249. if (!warnOnce.shown[text]) {
  250. warnOnce.shown[text] = 1;
  251. err(text)
  252. }
  253. }
  254. var asm2wasmImports = {
  255. "f64-rem": function(x, y) {
  256. return x % y
  257. },
  258. "debugger": function() {
  259. debugger
  260. }
  261. };
  262. var jsCallStartIndex = 1;
  263. var functionPointers = new Array(100);
  264. function addFunction(func, sig) {
  265. assert(typeof func !== "undefined");
  266. var base = 0;
  267. for (var i = base; i < base + 100; i++) {
  268. if (!functionPointers[i]) {
  269. functionPointers[i] = func;
  270. return jsCallStartIndex + i
  271. }
  272. }
  273. throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."
  274. }
  275. function removeFunction(index) {
  276. functionPointers[index - jsCallStartIndex] = null
  277. }
  278. var tempRet0 = 0;
  279. var getTempRet0 = function() {
  280. return tempRet0
  281. };
  282. var wasmBinary;
  283. if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
  284. if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", {
  285. configurable: true,
  286. get: function() {
  287. abort("Module.wasmBinary has been replaced with plain wasmBinary")
  288. }
  289. });
  290. var noExitRuntime;
  291. if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
  292. if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", {
  293. configurable: true,
  294. get: function() {
  295. abort("Module.noExitRuntime has been replaced with plain noExitRuntime")
  296. }
  297. });
  298. if (typeof WebAssembly !== "object") {
  299. abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.")
  300. }
  301. function setValue(ptr, value, type, noSafe) {
  302. type = type || "i8";
  303. if (type.charAt(type.length - 1) === "*") type = "i32";
  304. switch (type) {
  305. case "i1":
  306. HEAP8[ptr >> 0] = value;
  307. break;
  308. case "i8":
  309. HEAP8[ptr >> 0] = value;
  310. break;
  311. case "i16":
  312. HEAP16[ptr >> 1] = value;
  313. break;
  314. case "i32":
  315. HEAP32[ptr >> 2] = value;
  316. break;
  317. case "i64":
  318. 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];
  319. break;
  320. case "float":
  321. HEAPF32[ptr >> 2] = value;
  322. break;
  323. case "double":
  324. HEAPF64[ptr >> 3] = value;
  325. break;
  326. default:
  327. abort("invalid type for setValue: " + type)
  328. }
  329. }
  330. var wasmMemory;
  331. var wasmTable = new WebAssembly.Table({
  332. "initial": 8960,
  333. "element": "anyfunc"
  334. });
  335. var ABORT = false;
  336. var EXITSTATUS = 0;
  337. function assert(condition, text) {
  338. if (!condition) {
  339. abort("Assertion failed: " + text)
  340. }
  341. }
  342. function getCFunc(ident) {
  343. var func = Module["_" + ident];
  344. assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
  345. return func
  346. }
  347. function ccall(ident, returnType, argTypes, args, opts) {
  348. var toC = {
  349. "string": function(str) {
  350. var ret = 0;
  351. if (str !== null && str !== undefined && str !== 0) {
  352. var len = (str.length << 2) + 1;
  353. ret = stackAlloc(len);
  354. stringToUTF8(str, ret, len)
  355. }
  356. return ret
  357. },
  358. "array": function(arr) {
  359. var ret = stackAlloc(arr.length);
  360. writeArrayToMemory(arr, ret);
  361. return ret
  362. }
  363. };
  364. function convertReturnValue(ret) {
  365. if (returnType === "string") return UTF8ToString(ret);
  366. if (returnType === "boolean") return Boolean(ret);
  367. return ret
  368. }
  369. var func = getCFunc(ident);
  370. var cArgs = [];
  371. var stack = 0;
  372. assert(returnType !== "array", 'Return type should not be "array".');
  373. if (args) {
  374. for (var i = 0; i < args.length; i++) {
  375. var converter = toC[argTypes[i]];
  376. if (converter) {
  377. if (stack === 0) stack = stackSave();
  378. cArgs[i] = converter(args[i])
  379. } else {
  380. cArgs[i] = args[i]
  381. }
  382. }
  383. }
  384. var ret = func.apply(null, cArgs);
  385. ret = convertReturnValue(ret);
  386. if (stack !== 0) stackRestore(stack);
  387. return ret
  388. }
  389. function cwrap(ident, returnType, argTypes, opts) {
  390. return function() {
  391. return ccall(ident, returnType, argTypes, arguments, opts)
  392. }
  393. }
  394. var ALLOC_NORMAL = 0;
  395. var ALLOC_NONE = 3;
  396. function allocate(slab, types, allocator, ptr) {
  397. var zeroinit, size;
  398. if (typeof slab === "number") {
  399. zeroinit = true;
  400. size = slab
  401. } else {
  402. zeroinit = false;
  403. size = slab.length
  404. }
  405. var singleType = typeof types === "string" ? types : null;
  406. var ret;
  407. if (allocator == ALLOC_NONE) {
  408. ret = ptr
  409. } else {
  410. ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length))
  411. }
  412. if (zeroinit) {
  413. var stop;
  414. ptr = ret;
  415. assert((ret & 3) == 0);
  416. stop = ret + (size & ~3);
  417. for (; ptr < stop; ptr += 4) {
  418. HEAP32[ptr >> 2] = 0
  419. }
  420. stop = ret + size;
  421. while (ptr < stop) {
  422. HEAP8[ptr++ >> 0] = 0
  423. }
  424. return ret
  425. }
  426. if (singleType === "i8") {
  427. if (slab.subarray || slab.slice) {
  428. HEAPU8.set(slab, ret)
  429. } else {
  430. HEAPU8.set(new Uint8Array(slab), ret)
  431. }
  432. return ret
  433. }
  434. var i = 0,
  435. type, typeSize, previousType;
  436. while (i < size) {
  437. var curr = slab[i];
  438. type = singleType || types[i];
  439. if (type === 0) {
  440. i++;
  441. continue
  442. }
  443. assert(type, "Must know what type to store in allocate!");
  444. if (type == "i64") type = "i32";
  445. setValue(ret + i, curr, type);
  446. if (previousType !== type) {
  447. typeSize = getNativeTypeSize(type);
  448. previousType = type
  449. }
  450. i += typeSize
  451. }
  452. return ret
  453. }
  454. function getMemory(size) {
  455. if (!runtimeInitialized) return dynamicAlloc(size);
  456. return _malloc(size)
  457. }
  458. var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
  459. function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
  460. var endIdx = idx + maxBytesToRead;
  461. var endPtr = idx;
  462. while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
  463. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  464. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr))
  465. } else {
  466. var str = "";
  467. while (idx < endPtr) {
  468. var u0 = u8Array[idx++];
  469. if (!(u0 & 128)) {
  470. str += String.fromCharCode(u0);
  471. continue
  472. }
  473. var u1 = u8Array[idx++] & 63;
  474. if ((u0 & 224) == 192) {
  475. str += String.fromCharCode((u0 & 31) << 6 | u1);
  476. continue
  477. }
  478. var u2 = u8Array[idx++] & 63;
  479. if ((u0 & 240) == 224) {
  480. u0 = (u0 & 15) << 12 | u1 << 6 | u2
  481. } else {
  482. if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!");
  483. u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63
  484. }
  485. if (u0 < 65536) {
  486. str += String.fromCharCode(u0)
  487. } else {
  488. var ch = u0 - 65536;
  489. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)
  490. }
  491. }
  492. }
  493. return str
  494. }
  495. function UTF8ToString(ptr, maxBytesToRead) {
  496. return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""
  497. }
  498. function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
  499. if (!(maxBytesToWrite > 0)) return 0;
  500. var startIdx = outIdx;
  501. var endIdx = outIdx + maxBytesToWrite - 1;
  502. for (var i = 0; i < str.length; ++i) {
  503. var u = str.charCodeAt(i);
  504. if (u >= 55296 && u <= 57343) {
  505. var u1 = str.charCodeAt(++i);
  506. u = 65536 + ((u & 1023) << 10) | u1 & 1023
  507. }
  508. if (u <= 127) {
  509. if (outIdx >= endIdx) break;
  510. outU8Array[outIdx++] = u
  511. } else if (u <= 2047) {
  512. if (outIdx + 1 >= endIdx) break;
  513. outU8Array[outIdx++] = 192 | u >> 6;
  514. outU8Array[outIdx++] = 128 | u & 63
  515. } else if (u <= 65535) {
  516. if (outIdx + 2 >= endIdx) break;
  517. outU8Array[outIdx++] = 224 | u >> 12;
  518. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  519. outU8Array[outIdx++] = 128 | u & 63
  520. } else {
  521. if (outIdx + 3 >= endIdx) break;
  522. if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");
  523. outU8Array[outIdx++] = 240 | u >> 18;
  524. outU8Array[outIdx++] = 128 | u >> 12 & 63;
  525. outU8Array[outIdx++] = 128 | u >> 6 & 63;
  526. outU8Array[outIdx++] = 128 | u & 63
  527. }
  528. }
  529. outU8Array[outIdx] = 0;
  530. return outIdx - startIdx
  531. }
  532. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  533. assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
  534. return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite)
  535. }
  536. function lengthBytesUTF8(str) {
  537. var len = 0;
  538. for (var i = 0; i < str.length; ++i) {
  539. var u = str.charCodeAt(i);
  540. if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
  541. if (u <= 127) ++len;
  542. else if (u <= 2047) len += 2;
  543. else if (u <= 65535) len += 3;
  544. else len += 4
  545. }
  546. return len
  547. }
  548. var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
  549. function allocateUTF8(str) {
  550. var size = lengthBytesUTF8(str) + 1;
  551. var ret = _malloc(size);
  552. if (ret) stringToUTF8Array(str, HEAP8, ret, size);
  553. return ret
  554. }
  555. function allocateUTF8OnStack(str) {
  556. var size = lengthBytesUTF8(str) + 1;
  557. var ret = stackAlloc(size);
  558. stringToUTF8Array(str, HEAP8, ret, size);
  559. return ret
  560. }
  561. function writeArrayToMemory(array, buffer) {
  562. assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)");
  563. HEAP8.set(array, buffer)
  564. }
  565. function writeAsciiToMemory(str, buffer, dontAddNull) {
  566. for (var i = 0; i < str.length; ++i) {
  567. assert(str.charCodeAt(i) === str.charCodeAt(i) & 255);
  568. HEAP8[buffer++ >> 0] = str.charCodeAt(i)
  569. }
  570. if (!dontAddNull) HEAP8[buffer >> 0] = 0
  571. }
  572. var PAGE_SIZE = 16384;
  573. var WASM_PAGE_SIZE = 65536;
  574. var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
  575. function updateGlobalBufferAndViews(buf) {
  576. buffer = buf;
  577. Module["HEAP8"] = HEAP8 = new Int8Array(buf);
  578. Module["HEAP16"] = HEAP16 = new Int16Array(buf);
  579. Module["HEAP32"] = HEAP32 = new Int32Array(buf);
  580. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
  581. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
  582. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
  583. Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
  584. Module["HEAPF64"] = HEAPF64 = new Float64Array(buf)
  585. }
  586. var STACK_BASE = 1398224,
  587. STACK_MAX = 6641104,
  588. DYNAMIC_BASE = 6641104,
  589. DYNAMICTOP_PTR = 1398e3;
  590. assert(STACK_BASE % 16 === 0, "stack must start aligned");
  591. assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned");
  592. var TOTAL_STACK = 5242880;
  593. if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime");
  594. var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 2147483648;
  595. if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", {
  596. configurable: true,
  597. get: function() {
  598. abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY")
  599. }
  600. });
  601. assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");
  602. assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support");
  603. if (Module["wasmMemory"]) {
  604. wasmMemory = Module["wasmMemory"]
  605. } else {
  606. wasmMemory = new WebAssembly.Memory({
  607. "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE,
  608. "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE
  609. })
  610. }
  611. if (wasmMemory) {
  612. buffer = wasmMemory.buffer
  613. }
  614. INITIAL_TOTAL_MEMORY = buffer.byteLength;
  615. assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0);
  616. updateGlobalBufferAndViews(buffer);
  617. HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
  618. function writeStackCookie() {
  619. assert((STACK_MAX & 3) == 0);
  620. HEAPU32[(STACK_MAX >> 2) - 1] = 34821223;
  621. HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022;
  622. HEAP32[0] = 1668509029
  623. }
  624. function checkStackCookie() {
  625. var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1];
  626. var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2];
  627. if (cookie1 != 34821223 || cookie2 != 2310721022) {
  628. abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16))
  629. }
  630. if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!")
  631. }
  632. function abortStackOverflow(allocSize) {
  633. abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!")
  634. }(function() {
  635. var h16 = new Int16Array(1);
  636. var h8 = new Int8Array(h16.buffer);
  637. h16[0] = 25459;
  638. if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!"
  639. })();
  640. function abortFnPtrError(ptr, sig) {
  641. var possibleSig = "";
  642. for (var x in debug_tables) {
  643. var tbl = debug_tables[x];
  644. if (tbl[ptr]) {
  645. possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", "
  646. }
  647. }
  648. abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. 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). This pointer might make sense in another type signature: " + possibleSig)
  649. }
  650. function callRuntimeCallbacks(callbacks) {
  651. while (callbacks.length > 0) {
  652. var callback = callbacks.shift();
  653. if (typeof callback == "function") {
  654. callback();
  655. continue
  656. }
  657. var func = callback.func;
  658. if (typeof func === "number") {
  659. if (callback.arg === undefined) {
  660. Module["dynCall_v"](func)
  661. } else {
  662. Module["dynCall_vi"](func, callback.arg)
  663. }
  664. } else {
  665. func(callback.arg === undefined ? null : callback.arg)
  666. }
  667. }
  668. }
  669. var __ATPRERUN__ = [];
  670. var __ATINIT__ = [];
  671. var __ATMAIN__ = [];
  672. var __ATPOSTRUN__ = [];
  673. var runtimeInitialized = false;
  674. var runtimeExited = false;
  675. function preRun() {
  676. if (Module["preRun"]) {
  677. if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
  678. while (Module["preRun"].length) {
  679. addOnPreRun(Module["preRun"].shift())
  680. }
  681. }
  682. callRuntimeCallbacks(__ATPRERUN__)
  683. }
  684. function initRuntime() {
  685. checkStackCookie();
  686. assert(!runtimeInitialized);
  687. runtimeInitialized = true;
  688. if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
  689. TTY.init();
  690. callRuntimeCallbacks(__ATINIT__)
  691. }
  692. function preMain() {
  693. checkStackCookie();
  694. FS.ignorePermissions = false;
  695. callRuntimeCallbacks(__ATMAIN__)
  696. }
  697. function exitRuntime() {
  698. checkStackCookie();
  699. runtimeExited = true
  700. }
  701. function postRun() {
  702. checkStackCookie();
  703. if (Module["postRun"]) {
  704. if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
  705. while (Module["postRun"].length) {
  706. addOnPostRun(Module["postRun"].shift())
  707. }
  708. }
  709. callRuntimeCallbacks(__ATPOSTRUN__)
  710. }
  711. function addOnPreRun(cb) {
  712. __ATPRERUN__.unshift(cb)
  713. }
  714. function addOnPostRun(cb) {
  715. __ATPOSTRUN__.unshift(cb)
  716. }
  717. assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
  718. assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
  719. assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
  720. assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
  721. var Math_abs = Math.abs;
  722. var Math_ceil = Math.ceil;
  723. var Math_floor = Math.floor;
  724. var Math_min = Math.min;
  725. var Math_trunc = Math.trunc;
  726. var runDependencies = 0;
  727. var runDependencyWatcher = null;
  728. var dependenciesFulfilled = null;
  729. var runDependencyTracking = {};
  730. function getUniqueRunDependency(id) {
  731. var orig = id;
  732. while (1) {
  733. if (!runDependencyTracking[id]) return id;
  734. id = orig + Math.random()
  735. }
  736. return id
  737. }
  738. function addRunDependency(id) {
  739. runDependencies++;
  740. if (Module["monitorRunDependencies"]) {
  741. Module["monitorRunDependencies"](runDependencies)
  742. }
  743. if (id) {
  744. assert(!runDependencyTracking[id]);
  745. runDependencyTracking[id] = 1;
  746. if (runDependencyWatcher === null && typeof setInterval !== "undefined") {
  747. runDependencyWatcher = setInterval(function() {
  748. if (ABORT) {
  749. clearInterval(runDependencyWatcher);
  750. runDependencyWatcher = null;
  751. return
  752. }
  753. var shown = false;
  754. for (var dep in runDependencyTracking) {
  755. if (!shown) {
  756. shown = true;
  757. err("still waiting on run dependencies:")
  758. }
  759. err("dependency: " + dep)
  760. }
  761. if (shown) {
  762. err("(end of list)")
  763. }
  764. }, 1e4)
  765. }
  766. } else {
  767. err("warning: run dependency added without ID")
  768. }
  769. }
  770. function removeRunDependency(id) {
  771. runDependencies--;
  772. if (Module["monitorRunDependencies"]) {
  773. Module["monitorRunDependencies"](runDependencies)
  774. }
  775. if (id) {
  776. assert(runDependencyTracking[id]);
  777. delete runDependencyTracking[id]
  778. } else {
  779. err("warning: run dependency removed without ID")
  780. }
  781. if (runDependencies == 0) {
  782. if (runDependencyWatcher !== null) {
  783. clearInterval(runDependencyWatcher);
  784. runDependencyWatcher = null
  785. }
  786. if (dependenciesFulfilled) {
  787. var callback = dependenciesFulfilled;
  788. dependenciesFulfilled = null;
  789. callback()
  790. }
  791. }
  792. }
  793. Module["preloadedImages"] = {};
  794. Module["preloadedAudios"] = {};
  795. function abort(what) {
  796. if (Module["onAbort"]) {
  797. Module["onAbort"](what)
  798. }
  799. what += "";
  800. out(what);
  801. err(what);
  802. ABORT = true;
  803. EXITSTATUS = 1;
  804. var extra = "";
  805. var output = "abort(" + what + ") at " + stackTrace() + extra;
  806. throw output
  807. }
  808. if (!ENVIRONMENT_IS_PTHREAD) addOnPreRun(function() {
  809. if (typeof SharedArrayBuffer !== "undefined") {
  810. addRunDependency("pthreads");
  811. PThread.allocateUnusedWorkers(5, function() {
  812. removeRunDependency("pthreads")
  813. })
  814. }
  815. });
  816. var dataURIPrefix = "data:application/octet-stream;base64,";
  817. function isDataURI(filename) {
  818. return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0
  819. }
  820. var wasmBinaryFile = "missile-120func-v20221120.wasm";
  821. if (!isDataURI(wasmBinaryFile)) {
  822. wasmBinaryFile = locateFile(wasmBinaryFile)
  823. }
  824. function getBinary() {
  825. try {
  826. if (wasmBinary) {
  827. return new Uint8Array(wasmBinary)
  828. }
  829. if (readBinary) {
  830. return readBinary(wasmBinaryFile)
  831. } else {
  832. throw "both async and sync fetching of the wasm failed"
  833. }
  834. } catch (err) {
  835. abort(err)
  836. }
  837. }
  838. function getBinaryPromise() {
  839. if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") {
  840. return fetch(wasmBinaryFile, {
  841. credentials: "same-origin"
  842. }).then(function(response) {
  843. if (!response["ok"]) {
  844. throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"
  845. }
  846. return response["arrayBuffer"]()
  847. }).catch(function() {
  848. return getBinary()
  849. })
  850. }
  851. return new Promise(function(resolve, reject) {
  852. resolve(getBinary())
  853. })
  854. }
  855. function createWasm() {
  856. var info = {
  857. "env": asmLibraryArg,
  858. "wasi_unstable": asmLibraryArg,
  859. "global": {
  860. "NaN": NaN,
  861. Infinity: Infinity
  862. },
  863. "global.Math": Math,
  864. "asm2wasm": asm2wasmImports
  865. };
  866. function receiveInstance(instance, module) {
  867. var exports = instance.exports;
  868. Module["asm"] = exports;
  869. removeRunDependency("wasm-instantiate")
  870. }
  871. addRunDependency("wasm-instantiate");
  872. var trueModule = Module;
  873. function receiveInstantiatedSource(output) {
  874. assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");
  875. trueModule = null;
  876. receiveInstance(output["instance"])
  877. }
  878. function instantiateArrayBuffer(receiver) {
  879. return getBinaryPromise().then(function(binary) {
  880. return WebAssembly.instantiate(binary, info)
  881. }).then(receiver, function(reason) {
  882. err("failed to asynchronously prepare wasm: " + reason);
  883. abort(reason)
  884. })
  885. }
  886. function instantiateAsync() {
  887. if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") {
  888. fetch(wasmBinaryFile, {
  889. credentials: "same-origin"
  890. }).then(function(response) {
  891. var result = WebAssembly.instantiateStreaming(response, info);
  892. return result.then(receiveInstantiatedSource, function(reason) {
  893. err("wasm streaming compile failed: " + reason);
  894. err("falling back to ArrayBuffer instantiation");
  895. instantiateArrayBuffer(receiveInstantiatedSource)
  896. })
  897. })
  898. } else {
  899. return instantiateArrayBuffer(receiveInstantiatedSource)
  900. }
  901. }
  902. if (Module["instantiateWasm"]) {
  903. try {
  904. var exports = Module["instantiateWasm"](info, receiveInstance);
  905. return exports
  906. } catch (e) {
  907. err("Module.instantiateWasm callback failed with error: " + e);
  908. return false
  909. }
  910. }
  911. instantiateAsync();
  912. return {}
  913. }
  914. Module["asm"] = createWasm;
  915. var tempDouble;
  916. var tempI64;
  917. var ASM_CONSTS = [function() {
  918. if (typeof window != "undefined") {
  919. window.dispatchEvent(new CustomEvent("wasmLoaded"))
  920. } else {}
  921. }];
  922. function _emscripten_asm_const_i(code) {
  923. return ASM_CONSTS[code]()
  924. }
  925. __ATINIT__.push({
  926. func: function() {
  927. ___emscripten_environ_constructor()
  928. }
  929. });
  930. var tempDoublePtr = 1398208;
  931. assert(tempDoublePtr % 8 == 0);
  932. function demangle(func) {
  933. warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");
  934. return func
  935. }
  936. function demangleAll(text) {
  937. var regex = /\b__Z[\w\d_]+/g;
  938. return text.replace(regex, function(x) {
  939. var y = demangle(x);
  940. return x === y ? x : y + " [" + x + "]"
  941. })
  942. }
  943. function jsStackTrace() {
  944. var err = new Error;
  945. if (!err.stack) {
  946. try {
  947. throw new Error(0)
  948. } catch (e) {
  949. err = e
  950. }
  951. if (!err.stack) {
  952. return "(no stack trace available)"
  953. }
  954. }
  955. return err.stack.toString()
  956. }
  957. function stackTrace() {
  958. var js = jsStackTrace();
  959. if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
  960. return demangleAll(js)
  961. }
  962. var ENV = {};
  963. function ___buildEnvironment(environ) {
  964. var MAX_ENV_VALUES = 64;
  965. var TOTAL_ENV_SIZE = 1024;
  966. var poolPtr;
  967. var envPtr;
  968. if (!___buildEnvironment.called) {
  969. ___buildEnvironment.called = true;
  970. ENV["USER"] = "web_user";
  971. ENV["LOGNAME"] = "web_user";
  972. ENV["PATH"] = "/";
  973. ENV["PWD"] = "/";
  974. ENV["HOME"] = "/home/web_user";
  975. ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8";
  976. ENV["_"] = thisProgram;
  977. poolPtr = getMemory(TOTAL_ENV_SIZE);
  978. envPtr = getMemory(MAX_ENV_VALUES * 4);
  979. HEAP32[envPtr >> 2] = poolPtr;
  980. HEAP32[environ >> 2] = envPtr
  981. } else {
  982. envPtr = HEAP32[environ >> 2];
  983. poolPtr = HEAP32[envPtr >> 2]
  984. }
  985. var strings = [];
  986. var totalSize = 0;
  987. for (var key in ENV) {
  988. if (typeof ENV[key] === "string") {
  989. var line = key + "=" + ENV[key];
  990. strings.push(line);
  991. totalSize += line.length
  992. }
  993. }
  994. if (totalSize > TOTAL_ENV_SIZE) {
  995. throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")
  996. }
  997. var ptrSize = 4;
  998. for (var i = 0; i < strings.length; i++) {
  999. var line = strings[i];
  1000. writeAsciiToMemory(line, poolPtr);
  1001. HEAP32[envPtr + i * ptrSize >> 2] = poolPtr;
  1002. poolPtr += line.length + 1
  1003. }
  1004. HEAP32[envPtr + strings.length * ptrSize >> 2] = 0
  1005. }
  1006. function ___lock() {}
  1007. function ___setErrNo(value) {
  1008. if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;
  1009. else err("failed to set errno from JS");
  1010. return value
  1011. }
  1012. var PATH = {
  1013. splitPath: function(filename) {
  1014. var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  1015. return splitPathRe.exec(filename).slice(1)
  1016. },
  1017. normalizeArray: function(parts, allowAboveRoot) {
  1018. var up = 0;
  1019. for (var i = parts.length - 1; i >= 0; i--) {
  1020. var last = parts[i];
  1021. if (last === ".") {
  1022. parts.splice(i, 1)
  1023. } else if (last === "..") {
  1024. parts.splice(i, 1);
  1025. up++
  1026. } else if (up) {
  1027. parts.splice(i, 1);
  1028. up--
  1029. }
  1030. }
  1031. if (allowAboveRoot) {
  1032. for (; up; up--) {
  1033. parts.unshift("..")
  1034. }
  1035. }
  1036. return parts
  1037. },
  1038. normalize: function(path) {
  1039. var isAbsolute = path.charAt(0) === "/",
  1040. trailingSlash = path.substr(-1) === "/";
  1041. path = PATH.normalizeArray(path.split("/").filter(function(p) {
  1042. return !!p
  1043. }), !isAbsolute).join("/");
  1044. if (!path && !isAbsolute) {
  1045. path = "."
  1046. }
  1047. if (path && trailingSlash) {
  1048. path += "/"
  1049. }
  1050. return (isAbsolute ? "/" : "") + path
  1051. },
  1052. dirname: function(path) {
  1053. var result = PATH.splitPath(path),
  1054. root = result[0],
  1055. dir = result[1];
  1056. if (!root && !dir) {
  1057. return "."
  1058. }
  1059. if (dir) {
  1060. dir = dir.substr(0, dir.length - 1)
  1061. }
  1062. return root + dir
  1063. },
  1064. basename: function(path) {
  1065. if (path === "/") return "/";
  1066. var lastSlash = path.lastIndexOf("/");
  1067. if (lastSlash === -1) return path;
  1068. return path.substr(lastSlash + 1)
  1069. },
  1070. extname: function(path) {
  1071. return PATH.splitPath(path)[3]
  1072. },
  1073. join: function() {
  1074. var paths = Array.prototype.slice.call(arguments, 0);
  1075. return PATH.normalize(paths.join("/"))
  1076. },
  1077. join2: function(l, r) {
  1078. return PATH.normalize(l + "/" + r)
  1079. }
  1080. };
  1081. var PATH_FS = {
  1082. resolve: function() {
  1083. var resolvedPath = "",
  1084. resolvedAbsolute = false;
  1085. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  1086. var path = i >= 0 ? arguments[i] : FS.cwd();
  1087. if (typeof path !== "string") {
  1088. throw new TypeError("Arguments to path.resolve must be strings")
  1089. } else if (!path) {
  1090. return ""
  1091. }
  1092. resolvedPath = path + "/" + resolvedPath;
  1093. resolvedAbsolute = path.charAt(0) === "/"
  1094. }
  1095. resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
  1096. return !!p
  1097. }), !resolvedAbsolute).join("/");
  1098. return (resolvedAbsolute ? "/" : "") + resolvedPath || "."
  1099. },
  1100. relative: function(from, to) {
  1101. from = PATH_FS.resolve(from).substr(1);
  1102. to = PATH_FS.resolve(to).substr(1);
  1103. function trim(arr) {
  1104. var start = 0;
  1105. for (; start < arr.length; start++) {
  1106. if (arr[start] !== "") break
  1107. }
  1108. var end = arr.length - 1;
  1109. for (; end >= 0; end--) {
  1110. if (arr[end] !== "") break
  1111. }
  1112. if (start > end) return [];
  1113. return arr.slice(start, end - start + 1)
  1114. }
  1115. var fromParts = trim(from.split("/"));
  1116. var toParts = trim(to.split("/"));
  1117. var length = Math.min(fromParts.length, toParts.length);
  1118. var samePartsLength = length;
  1119. for (var i = 0; i < length; i++) {
  1120. if (fromParts[i] !== toParts[i]) {
  1121. samePartsLength = i;
  1122. break
  1123. }
  1124. }
  1125. var outputParts = [];
  1126. for (var i = samePartsLength; i < fromParts.length; i++) {
  1127. outputParts.push("..")
  1128. }
  1129. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  1130. return outputParts.join("/")
  1131. }
  1132. };
  1133. var TTY = {
  1134. ttys: [],
  1135. init: function() {},
  1136. shutdown: function() {},
  1137. register: function(dev, ops) {
  1138. TTY.ttys[dev] = {
  1139. input: [],
  1140. output: [],
  1141. ops: ops
  1142. };
  1143. FS.registerDevice(dev, TTY.stream_ops)
  1144. },
  1145. stream_ops: {
  1146. open: function(stream) {
  1147. var tty = TTY.ttys[stream.node.rdev];
  1148. if (!tty) {
  1149. throw new FS.ErrnoError(43)
  1150. }
  1151. stream.tty = tty;
  1152. stream.seekable = false
  1153. },
  1154. close: function(stream) {
  1155. stream.tty.ops.flush(stream.tty)
  1156. },
  1157. flush: function(stream) {
  1158. stream.tty.ops.flush(stream.tty)
  1159. },
  1160. read: function(stream, buffer, offset, length, pos) {
  1161. if (!stream.tty || !stream.tty.ops.get_char) {
  1162. throw new FS.ErrnoError(60)
  1163. }
  1164. var bytesRead = 0;
  1165. for (var i = 0; i < length; i++) {
  1166. var result;
  1167. try {
  1168. result = stream.tty.ops.get_char(stream.tty)
  1169. } catch (e) {
  1170. throw new FS.ErrnoError(29)
  1171. }
  1172. if (result === undefined && bytesRead === 0) {
  1173. throw new FS.ErrnoError(6)
  1174. }
  1175. if (result === null || result === undefined) break;
  1176. bytesRead++;
  1177. buffer[offset + i] = result
  1178. }
  1179. if (bytesRead) {
  1180. stream.node.timestamp = Date.now()
  1181. }
  1182. return bytesRead
  1183. },
  1184. write: function(stream, buffer, offset, length, pos) {
  1185. if (!stream.tty || !stream.tty.ops.put_char) {
  1186. throw new FS.ErrnoError(60)
  1187. }
  1188. try {
  1189. for (var i = 0; i < length; i++) {
  1190. stream.tty.ops.put_char(stream.tty, buffer[offset + i])
  1191. }
  1192. } catch (e) {
  1193. throw new FS.ErrnoError(29)
  1194. }
  1195. if (length) {
  1196. stream.node.timestamp = Date.now()
  1197. }
  1198. return i
  1199. }
  1200. },
  1201. default_tty_ops: {
  1202. get_char: function(tty) {
  1203. if (!tty.input.length) {
  1204. var result = null;
  1205. if (ENVIRONMENT_IS_NODE) {
  1206. var BUFSIZE = 256;
  1207. var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
  1208. var bytesRead = 0;
  1209. try {
  1210. bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null)
  1211. } catch (e) {
  1212. if (e.toString().indexOf("EOF") != -1) bytesRead = 0;
  1213. else throw e
  1214. }
  1215. if (bytesRead > 0) {
  1216. result = buf.slice(0, bytesRead).toString("utf-8")
  1217. } else {
  1218. result = null
  1219. }
  1220. } else if (typeof window != "undefined" && typeof window.prompt == "function") {
  1221. result = window.prompt("Input: ");
  1222. if (result !== null) {
  1223. result += "\n"
  1224. }
  1225. } else if (typeof readline == "function") {
  1226. result = readline();
  1227. if (result !== null) {
  1228. result += "\n"
  1229. }
  1230. }
  1231. if (!result) {
  1232. return null
  1233. }
  1234. tty.input = intArrayFromString(result, true)
  1235. }
  1236. return tty.input.shift()
  1237. },
  1238. put_char: function(tty, val) {
  1239. if (val === null || val === 10) {
  1240. out(UTF8ArrayToString(tty.output, 0));
  1241. tty.output = []
  1242. } else {
  1243. if (val != 0) tty.output.push(val)
  1244. }
  1245. },
  1246. flush: function(tty) {
  1247. if (tty.output && tty.output.length > 0) {
  1248. out(UTF8ArrayToString(tty.output, 0));
  1249. tty.output = []
  1250. }
  1251. }
  1252. },
  1253. default_tty1_ops: {
  1254. put_char: function(tty, val) {
  1255. if (val === null || val === 10) {
  1256. err(UTF8ArrayToString(tty.output, 0));
  1257. tty.output = []
  1258. } else {
  1259. if (val != 0) tty.output.push(val)
  1260. }
  1261. },
  1262. flush: function(tty) {
  1263. if (tty.output && tty.output.length > 0) {
  1264. err(UTF8ArrayToString(tty.output, 0));
  1265. tty.output = []
  1266. }
  1267. }
  1268. }
  1269. };
  1270. var MEMFS = {
  1271. ops_table: null,
  1272. mount: function(mount) {
  1273. return MEMFS.createNode(null, "/", 16384 | 511, 0)
  1274. },
  1275. createNode: function(parent, name, mode, dev) {
  1276. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  1277. throw new FS.ErrnoError(63)
  1278. }
  1279. if (!MEMFS.ops_table) {
  1280. MEMFS.ops_table = {
  1281. dir: {
  1282. node: {
  1283. getattr: MEMFS.node_ops.getattr,
  1284. setattr: MEMFS.node_ops.setattr,
  1285. lookup: MEMFS.node_ops.lookup,
  1286. mknod: MEMFS.node_ops.mknod,
  1287. rename: MEMFS.node_ops.rename,
  1288. unlink: MEMFS.node_ops.unlink,
  1289. rmdir: MEMFS.node_ops.rmdir,
  1290. readdir: MEMFS.node_ops.readdir,
  1291. symlink: MEMFS.node_ops.symlink
  1292. },
  1293. stream: {
  1294. llseek: MEMFS.stream_ops.llseek
  1295. }
  1296. },
  1297. file: {
  1298. node: {
  1299. getattr: MEMFS.node_ops.getattr,
  1300. setattr: MEMFS.node_ops.setattr
  1301. },
  1302. stream: {
  1303. llseek: MEMFS.stream_ops.llseek,
  1304. read: MEMFS.stream_ops.read,
  1305. write: MEMFS.stream_ops.write,
  1306. allocate: MEMFS.stream_ops.allocate,
  1307. mmap: MEMFS.stream_ops.mmap,
  1308. msync: MEMFS.stream_ops.msync
  1309. }
  1310. },
  1311. link: {
  1312. node: {
  1313. getattr: MEMFS.node_ops.getattr,
  1314. setattr: MEMFS.node_ops.setattr,
  1315. readlink: MEMFS.node_ops.readlink
  1316. },
  1317. stream: {}
  1318. },
  1319. chrdev: {
  1320. node: {
  1321. getattr: MEMFS.node_ops.getattr,
  1322. setattr: MEMFS.node_ops.setattr
  1323. },
  1324. stream: FS.chrdev_stream_ops
  1325. }
  1326. }
  1327. }
  1328. var node = FS.createNode(parent, name, mode, dev);
  1329. if (FS.isDir(node.mode)) {
  1330. node.node_ops = MEMFS.ops_table.dir.node;
  1331. node.stream_ops = MEMFS.ops_table.dir.stream;
  1332. node.contents = {}
  1333. } else if (FS.isFile(node.mode)) {
  1334. node.node_ops = MEMFS.ops_table.file.node;
  1335. node.stream_ops = MEMFS.ops_table.file.stream;
  1336. node.usedBytes = 0;
  1337. node.contents = null
  1338. } else if (FS.isLink(node.mode)) {
  1339. node.node_ops = MEMFS.ops_table.link.node;
  1340. node.stream_ops = MEMFS.ops_table.link.stream
  1341. } else if (FS.isChrdev(node.mode)) {
  1342. node.node_ops = MEMFS.ops_table.chrdev.node;
  1343. node.stream_ops = MEMFS.ops_table.chrdev.stream
  1344. }
  1345. node.timestamp = Date.now();
  1346. if (parent) {
  1347. parent.contents[name] = node
  1348. }
  1349. return node
  1350. },
  1351. getFileDataAsRegularArray: function(node) {
  1352. if (node.contents && node.contents.subarray) {
  1353. var arr = [];
  1354. for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
  1355. return arr
  1356. }
  1357. return node.contents
  1358. },
  1359. getFileDataAsTypedArray: function(node) {
  1360. if (!node.contents) return new Uint8Array;
  1361. if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
  1362. return new Uint8Array(node.contents)
  1363. },
  1364. expandFileStorage: function(node, newCapacity) {
  1365. var prevCapacity = node.contents ? node.contents.length : 0;
  1366. if (prevCapacity >= newCapacity) return;
  1367. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  1368. newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
  1369. if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
  1370. var oldContents = node.contents;
  1371. node.contents = new Uint8Array(newCapacity);
  1372. if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
  1373. return
  1374. },
  1375. resizeFileStorage: function(node, newSize) {
  1376. if (node.usedBytes == newSize) return;
  1377. if (newSize == 0) {
  1378. node.contents = null;
  1379. node.usedBytes = 0;
  1380. return
  1381. }
  1382. if (!node.contents || node.contents.subarray) {
  1383. var oldContents = node.contents;
  1384. node.contents = new Uint8Array(new ArrayBuffer(newSize));
  1385. if (oldContents) {
  1386. node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)))
  1387. }
  1388. node.usedBytes = newSize;
  1389. return
  1390. }
  1391. if (!node.contents) node.contents = [];
  1392. if (node.contents.length > newSize) node.contents.length = newSize;
  1393. else
  1394. while (node.contents.length < newSize) node.contents.push(0);
  1395. node.usedBytes = newSize
  1396. },
  1397. node_ops: {
  1398. getattr: function(node) {
  1399. var attr = {};
  1400. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  1401. attr.ino = node.id;
  1402. attr.mode = node.mode;
  1403. attr.nlink = 1;
  1404. attr.uid = 0;
  1405. attr.gid = 0;
  1406. attr.rdev = node.rdev;
  1407. if (FS.isDir(node.mode)) {
  1408. attr.size = 4096
  1409. } else if (FS.isFile(node.mode)) {
  1410. attr.size = node.usedBytes
  1411. } else if (FS.isLink(node.mode)) {
  1412. attr.size = node.link.length
  1413. } else {
  1414. attr.size = 0
  1415. }
  1416. attr.atime = new Date(node.timestamp);
  1417. attr.mtime = new Date(node.timestamp);
  1418. attr.ctime = new Date(node.timestamp);
  1419. attr.blksize = 4096;
  1420. attr.blocks = Math.ceil(attr.size / attr.blksize);
  1421. return attr
  1422. },
  1423. setattr: function(node, attr) {
  1424. if (attr.mode !== undefined) {
  1425. node.mode = attr.mode
  1426. }
  1427. if (attr.timestamp !== undefined) {
  1428. node.timestamp = attr.timestamp
  1429. }
  1430. if (attr.size !== undefined) {
  1431. MEMFS.resizeFileStorage(node, attr.size)
  1432. }
  1433. },
  1434. lookup: function(parent, name) {
  1435. throw FS.genericErrors[44]
  1436. },
  1437. mknod: function(parent, name, mode, dev) {
  1438. return MEMFS.createNode(parent, name, mode, dev)
  1439. },
  1440. rename: function(old_node, new_dir, new_name) {
  1441. if (FS.isDir(old_node.mode)) {
  1442. var new_node;
  1443. try {
  1444. new_node = FS.lookupNode(new_dir, new_name)
  1445. } catch (e) {}
  1446. if (new_node) {
  1447. for (var i in new_node.contents) {
  1448. throw new FS.ErrnoError(55)
  1449. }
  1450. }
  1451. }
  1452. delete old_node.parent.contents[old_node.name];
  1453. old_node.name = new_name;
  1454. new_dir.contents[new_name] = old_node;
  1455. old_node.parent = new_dir
  1456. },
  1457. unlink: function(parent, name) {
  1458. delete parent.contents[name]
  1459. },
  1460. rmdir: function(parent, name) {
  1461. var node = FS.lookupNode(parent, name);
  1462. for (var i in node.contents) {
  1463. throw new FS.ErrnoError(55)
  1464. }
  1465. delete parent.contents[name]
  1466. },
  1467. readdir: function(node) {
  1468. var entries = [".", ".."];
  1469. for (var key in node.contents) {
  1470. if (!node.contents.hasOwnProperty(key)) {
  1471. continue
  1472. }
  1473. entries.push(key)
  1474. }
  1475. return entries
  1476. },
  1477. symlink: function(parent, newname, oldpath) {
  1478. var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
  1479. node.link = oldpath;
  1480. return node
  1481. },
  1482. readlink: function(node) {
  1483. if (!FS.isLink(node.mode)) {
  1484. throw new FS.ErrnoError(28)
  1485. }
  1486. return node.link
  1487. }
  1488. },
  1489. stream_ops: {
  1490. read: function(stream, buffer, offset, length, position) {
  1491. var contents = stream.node.contents;
  1492. if (position >= stream.node.usedBytes) return 0;
  1493. var size = Math.min(stream.node.usedBytes - position, length);
  1494. assert(size >= 0);
  1495. if (size > 8 && contents.subarray) {
  1496. buffer.set(contents.subarray(position, position + size), offset)
  1497. } else {
  1498. for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]
  1499. }
  1500. return size
  1501. },
  1502. write: function(stream, buffer, offset, length, position, canOwn) {
  1503. if (!length) return 0;
  1504. var node = stream.node;
  1505. node.timestamp = Date.now();
  1506. if (buffer.subarray && (!node.contents || node.contents.subarray)) {
  1507. if (canOwn) {
  1508. assert(position === 0, "canOwn must imply no weird position inside the file");
  1509. node.contents = buffer.subarray(offset, offset + length);
  1510. node.usedBytes = length;
  1511. return length
  1512. } else if (node.usedBytes === 0 && position === 0) {
  1513. node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
  1514. node.usedBytes = length;
  1515. return length
  1516. } else if (position + length <= node.usedBytes) {
  1517. node.contents.set(buffer.subarray(offset, offset + length), position);
  1518. return length
  1519. }
  1520. }
  1521. MEMFS.expandFileStorage(node, position + length);
  1522. if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);
  1523. else {
  1524. for (var i = 0; i < length; i++) {
  1525. node.contents[position + i] = buffer[offset + i]
  1526. }
  1527. }
  1528. node.usedBytes = Math.max(node.usedBytes, position + length);
  1529. return length
  1530. },
  1531. llseek: function(stream, offset, whence) {
  1532. var position = offset;
  1533. if (whence === 1) {
  1534. position += stream.position
  1535. } else if (whence === 2) {
  1536. if (FS.isFile(stream.node.mode)) {
  1537. position += stream.node.usedBytes
  1538. }
  1539. }
  1540. if (position < 0) {
  1541. throw new FS.ErrnoError(28)
  1542. }
  1543. return position
  1544. },
  1545. allocate: function(stream, offset, length) {
  1546. MEMFS.expandFileStorage(stream.node, offset + length);
  1547. stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length)
  1548. },
  1549. mmap: function(stream, buffer, offset, length, position, prot, flags) {
  1550. if (!FS.isFile(stream.node.mode)) {
  1551. throw new FS.ErrnoError(43)
  1552. }
  1553. var ptr;
  1554. var allocated;
  1555. var contents = stream.node.contents;
  1556. if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) {
  1557. allocated = false;
  1558. ptr = contents.byteOffset
  1559. } else {
  1560. if (position > 0 || position + length < stream.node.usedBytes) {
  1561. if (contents.subarray) {
  1562. contents = contents.subarray(position, position + length)
  1563. } else {
  1564. contents = Array.prototype.slice.call(contents, position, position + length)
  1565. }
  1566. }
  1567. allocated = true;
  1568. var fromHeap = buffer.buffer == HEAP8.buffer;
  1569. ptr = _malloc(length);
  1570. if (!ptr) {
  1571. throw new FS.ErrnoError(48)
  1572. }(fromHeap ? HEAP8 : buffer).set(contents, ptr)
  1573. }
  1574. return {
  1575. ptr: ptr,
  1576. allocated: allocated
  1577. }
  1578. },
  1579. msync: function(stream, buffer, offset, length, mmapFlags) {
  1580. if (!FS.isFile(stream.node.mode)) {
  1581. throw new FS.ErrnoError(43)
  1582. }
  1583. if (mmapFlags & 2) {
  1584. return 0
  1585. }
  1586. var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
  1587. return 0
  1588. }
  1589. }
  1590. };
  1591. var IDBFS = {
  1592. dbs: {},
  1593. indexedDB: function() {
  1594. if (typeof indexedDB !== "undefined") return indexedDB;
  1595. var ret = null;
  1596. if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  1597. assert(ret, "IDBFS used, but indexedDB not supported");
  1598. return ret
  1599. },
  1600. DB_VERSION: 21,
  1601. DB_STORE_NAME: "FILE_DATA",
  1602. mount: function(mount) {
  1603. return MEMFS.mount.apply(null, arguments)
  1604. },
  1605. syncfs: function(mount, populate, callback) {
  1606. IDBFS.getLocalSet(mount, function(err, local) {
  1607. if (err) return callback(err);
  1608. IDBFS.getRemoteSet(mount, function(err, remote) {
  1609. if (err) return callback(err);
  1610. var src = populate ? remote : local;
  1611. var dst = populate ? local : remote;
  1612. IDBFS.reconcile(src, dst, callback)
  1613. })
  1614. })
  1615. },
  1616. getDB: function(name, callback) {
  1617. var db = IDBFS.dbs[name];
  1618. if (db) {
  1619. return callback(null, db)
  1620. }
  1621. var req;
  1622. try {
  1623. req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION)
  1624. } catch (e) {
  1625. return callback(e)
  1626. }
  1627. if (!req) {
  1628. return callback("Unable to connect to IndexedDB")
  1629. }
  1630. req.onupgradeneeded = function(e) {
  1631. var db = e.target.result;
  1632. var transaction = e.target.transaction;
  1633. var fileStore;
  1634. if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
  1635. fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME)
  1636. } else {
  1637. fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME)
  1638. }
  1639. if (!fileStore.indexNames.contains("timestamp")) {
  1640. fileStore.createIndex("timestamp", "timestamp", {
  1641. unique: false
  1642. })
  1643. }
  1644. };
  1645. req.onsuccess = function() {
  1646. db = req.result;
  1647. IDBFS.dbs[name] = db;
  1648. callback(null, db)
  1649. };
  1650. req.onerror = function(e) {
  1651. callback(this.error);
  1652. e.preventDefault()
  1653. }
  1654. },
  1655. getLocalSet: function(mount, callback) {
  1656. var entries = {};
  1657. function isRealDir(p) {
  1658. return p !== "." && p !== ".."
  1659. }
  1660. function toAbsolute(root) {
  1661. return function(p) {
  1662. return PATH.join2(root, p)
  1663. }
  1664. }
  1665. var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
  1666. while (check.length) {
  1667. var path = check.pop();
  1668. var stat;
  1669. try {
  1670. stat = FS.stat(path)
  1671. } catch (e) {
  1672. return callback(e)
  1673. }
  1674. if (FS.isDir(stat.mode)) {
  1675. check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))
  1676. }
  1677. entries[path] = {
  1678. timestamp: stat.mtime
  1679. }
  1680. }
  1681. return callback(null, {
  1682. type: "local",
  1683. entries: entries
  1684. })
  1685. },
  1686. getRemoteSet: function(mount, callback) {
  1687. var entries = {};
  1688. IDBFS.getDB(mount.mountpoint, function(err, db) {
  1689. if (err) return callback(err);
  1690. try {
  1691. var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly");
  1692. transaction.onerror = function(e) {
  1693. callback(this.error);
  1694. e.preventDefault()
  1695. };
  1696. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  1697. var index = store.index("timestamp");
  1698. index.openKeyCursor().onsuccess = function(event) {
  1699. var cursor = event.target.result;
  1700. if (!cursor) {
  1701. return callback(null, {
  1702. type: "remote",
  1703. db: db,
  1704. entries: entries
  1705. })
  1706. }
  1707. entries[cursor.primaryKey] = {
  1708. timestamp: cursor.key
  1709. };
  1710. cursor.continue()
  1711. }
  1712. } catch (e) {
  1713. return callback(e)
  1714. }
  1715. })
  1716. },
  1717. loadLocalEntry: function(path, callback) {
  1718. var stat, node;
  1719. try {
  1720. var lookup = FS.lookupPath(path);
  1721. node = lookup.node;
  1722. stat = FS.stat(path)
  1723. } catch (e) {
  1724. return callback(e)
  1725. }
  1726. if (FS.isDir(stat.mode)) {
  1727. return callback(null, {
  1728. timestamp: stat.mtime,
  1729. mode: stat.mode
  1730. })
  1731. } else if (FS.isFile(stat.mode)) {
  1732. node.contents = MEMFS.getFileDataAsTypedArray(node);
  1733. return callback(null, {
  1734. timestamp: stat.mtime,
  1735. mode: stat.mode,
  1736. contents: node.contents
  1737. })
  1738. } else {
  1739. return callback(new Error("node type not supported"))
  1740. }
  1741. },
  1742. storeLocalEntry: function(path, entry, callback) {
  1743. try {
  1744. if (FS.isDir(entry.mode)) {
  1745. FS.mkdir(path, entry.mode)
  1746. } else if (FS.isFile(entry.mode)) {
  1747. FS.writeFile(path, entry.contents, {
  1748. canOwn: true
  1749. })
  1750. } else {
  1751. return callback(new Error("node type not supported"))
  1752. }
  1753. FS.chmod(path, entry.mode);
  1754. FS.utime(path, entry.timestamp, entry.timestamp)
  1755. } catch (e) {
  1756. return callback(e)
  1757. }
  1758. callback(null)
  1759. },
  1760. removeLocalEntry: function(path, callback) {
  1761. try {
  1762. var lookup = FS.lookupPath(path);
  1763. var stat = FS.stat(path);
  1764. if (FS.isDir(stat.mode)) {
  1765. FS.rmdir(path)
  1766. } else if (FS.isFile(stat.mode)) {
  1767. FS.unlink(path)
  1768. }
  1769. } catch (e) {
  1770. return callback(e)
  1771. }
  1772. callback(null)
  1773. },
  1774. loadRemoteEntry: function(store, path, callback) {
  1775. var req = store.get(path);
  1776. req.onsuccess = function(event) {
  1777. callback(null, event.target.result)
  1778. };
  1779. req.onerror = function(e) {
  1780. callback(this.error);
  1781. e.preventDefault()
  1782. }
  1783. },
  1784. storeRemoteEntry: function(store, path, entry, callback) {
  1785. var req = store.put(entry, path);
  1786. req.onsuccess = function() {
  1787. callback(null)
  1788. };
  1789. req.onerror = function(e) {
  1790. callback(this.error);
  1791. e.preventDefault()
  1792. }
  1793. },
  1794. removeRemoteEntry: function(store, path, callback) {
  1795. var req = store.delete(path);
  1796. req.onsuccess = function() {
  1797. callback(null)
  1798. };
  1799. req.onerror = function(e) {
  1800. callback(this.error);
  1801. e.preventDefault()
  1802. }
  1803. },
  1804. reconcile: function(src, dst, callback) {
  1805. var total = 0;
  1806. var create = [];
  1807. Object.keys(src.entries).forEach(function(key) {
  1808. var e = src.entries[key];
  1809. var e2 = dst.entries[key];
  1810. if (!e2 || e.timestamp > e2.timestamp) {
  1811. create.push(key);
  1812. total++
  1813. }
  1814. });
  1815. var remove = [];
  1816. Object.keys(dst.entries).forEach(function(key) {
  1817. var e = dst.entries[key];
  1818. var e2 = src.entries[key];
  1819. if (!e2) {
  1820. remove.push(key);
  1821. total++
  1822. }
  1823. });
  1824. if (!total) {
  1825. return callback(null)
  1826. }
  1827. var errored = false;
  1828. var db = src.type === "remote" ? src.db : dst.db;
  1829. var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite");
  1830. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  1831. function done(err) {
  1832. if (err && !errored) {
  1833. errored = true;
  1834. return callback(err)
  1835. }
  1836. }
  1837. transaction.onerror = function(e) {
  1838. done(this.error);
  1839. e.preventDefault()
  1840. };
  1841. transaction.oncomplete = function(e) {
  1842. if (!errored) {
  1843. callback(null)
  1844. }
  1845. };
  1846. create.sort().forEach(function(path) {
  1847. if (dst.type === "local") {
  1848. IDBFS.loadRemoteEntry(store, path, function(err, entry) {
  1849. if (err) return done(err);
  1850. IDBFS.storeLocalEntry(path, entry, done)
  1851. })
  1852. } else {
  1853. IDBFS.loadLocalEntry(path, function(err, entry) {
  1854. if (err) return done(err);
  1855. IDBFS.storeRemoteEntry(store, path, entry, done)
  1856. })
  1857. }
  1858. });
  1859. remove.sort().reverse().forEach(function(path) {
  1860. if (dst.type === "local") {
  1861. IDBFS.removeLocalEntry(path, done)
  1862. } else {
  1863. IDBFS.removeRemoteEntry(store, path, done)
  1864. }
  1865. })
  1866. }
  1867. };
  1868. var ERRNO_CODES = {
  1869. EPERM: 63,
  1870. ENOENT: 44,
  1871. ESRCH: 71,
  1872. EINTR: 27,
  1873. EIO: 29,
  1874. ENXIO: 60,
  1875. E2BIG: 1,
  1876. ENOEXEC: 45,
  1877. EBADF: 8,
  1878. ECHILD: 12,
  1879. EAGAIN: 6,
  1880. EWOULDBLOCK: 6,
  1881. ENOMEM: 48,
  1882. EACCES: 2,
  1883. EFAULT: 21,
  1884. ENOTBLK: 105,
  1885. EBUSY: 10,
  1886. EEXIST: 20,
  1887. EXDEV: 75,
  1888. ENODEV: 43,
  1889. ENOTDIR: 54,
  1890. EISDIR: 31,
  1891. EINVAL: 28,
  1892. ENFILE: 41,
  1893. EMFILE: 33,
  1894. ENOTTY: 59,
  1895. ETXTBSY: 74,
  1896. EFBIG: 22,
  1897. ENOSPC: 51,
  1898. ESPIPE: 70,
  1899. EROFS: 69,
  1900. EMLINK: 34,
  1901. EPIPE: 64,
  1902. EDOM: 18,
  1903. ERANGE: 68,
  1904. ENOMSG: 49,
  1905. EIDRM: 24,
  1906. ECHRNG: 106,
  1907. EL2NSYNC: 156,
  1908. EL3HLT: 107,
  1909. EL3RST: 108,
  1910. ELNRNG: 109,
  1911. EUNATCH: 110,
  1912. ENOCSI: 111,
  1913. EL2HLT: 112,
  1914. EDEADLK: 16,
  1915. ENOLCK: 46,
  1916. EBADE: 113,
  1917. EBADR: 114,
  1918. EXFULL: 115,
  1919. ENOANO: 104,
  1920. EBADRQC: 103,
  1921. EBADSLT: 102,
  1922. EDEADLOCK: 16,
  1923. EBFONT: 101,
  1924. ENOSTR: 100,
  1925. ENODATA: 116,
  1926. ETIME: 117,
  1927. ENOSR: 118,
  1928. ENONET: 119,
  1929. ENOPKG: 120,
  1930. EREMOTE: 121,
  1931. ENOLINK: 47,
  1932. EADV: 122,
  1933. ESRMNT: 123,
  1934. ECOMM: 124,
  1935. EPROTO: 65,
  1936. EMULTIHOP: 36,
  1937. EDOTDOT: 125,
  1938. EBADMSG: 9,
  1939. ENOTUNIQ: 126,
  1940. EBADFD: 127,
  1941. EREMCHG: 128,
  1942. ELIBACC: 129,
  1943. ELIBBAD: 130,
  1944. ELIBSCN: 131,
  1945. ELIBMAX: 132,
  1946. ELIBEXEC: 133,
  1947. ENOSYS: 52,
  1948. ENOTEMPTY: 55,
  1949. ENAMETOOLONG: 37,
  1950. ELOOP: 32,
  1951. EOPNOTSUPP: 138,
  1952. EPFNOSUPPORT: 139,
  1953. ECONNRESET: 15,
  1954. ENOBUFS: 42,
  1955. EAFNOSUPPORT: 5,
  1956. EPROTOTYPE: 67,
  1957. ENOTSOCK: 57,
  1958. ENOPROTOOPT: 50,
  1959. ESHUTDOWN: 140,
  1960. ECONNREFUSED: 14,
  1961. EADDRINUSE: 3,
  1962. ECONNABORTED: 13,
  1963. ENETUNREACH: 40,
  1964. ENETDOWN: 38,
  1965. ETIMEDOUT: 73,
  1966. EHOSTDOWN: 142,
  1967. EHOSTUNREACH: 23,
  1968. EINPROGRESS: 26,
  1969. EALREADY: 7,
  1970. EDESTADDRREQ: 17,
  1971. EMSGSIZE: 35,
  1972. EPROTONOSUPPORT: 66,
  1973. ESOCKTNOSUPPORT: 137,
  1974. EADDRNOTAVAIL: 4,
  1975. ENETRESET: 39,
  1976. EISCONN: 30,
  1977. ENOTCONN: 53,
  1978. ETOOMANYREFS: 141,
  1979. EUSERS: 136,
  1980. EDQUOT: 19,
  1981. ESTALE: 72,
  1982. ENOTSUP: 138,
  1983. ENOMEDIUM: 148,
  1984. EILSEQ: 25,
  1985. EOVERFLOW: 61,
  1986. ECANCELED: 11,
  1987. ENOTRECOVERABLE: 56,
  1988. EOWNERDEAD: 62,
  1989. ESTRPIPE: 135
  1990. };
  1991. var NODEFS = {
  1992. isWindows: false,
  1993. staticInit: function() {
  1994. NODEFS.isWindows = !!process.platform.match(/^win/);
  1995. var flags = process["binding"]("constants");
  1996. if (flags["fs"]) {
  1997. flags = flags["fs"]
  1998. }
  1999. NODEFS.flagsForNodeMap = {
  2000. 1024: flags["O_APPEND"],
  2001. 64: flags["O_CREAT"],
  2002. 128: flags["O_EXCL"],
  2003. 0: flags["O_RDONLY"],
  2004. 2: flags["O_RDWR"],
  2005. 4096: flags["O_SYNC"],
  2006. 512: flags["O_TRUNC"],
  2007. 1: flags["O_WRONLY"]
  2008. }
  2009. },
  2010. bufferFrom: function(arrayBuffer) {
  2011. return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer)
  2012. },
  2013. convertNodeCode: function(e) {
  2014. var code = e.code;
  2015. assert(code in ERRNO_CODES);
  2016. return ERRNO_CODES[code]
  2017. },
  2018. mount: function(mount) {
  2019. assert(ENVIRONMENT_HAS_NODE);
  2020. return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0)
  2021. },
  2022. createNode: function(parent, name, mode, dev) {
  2023. if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
  2024. throw new FS.ErrnoError(28)
  2025. }
  2026. var node = FS.createNode(parent, name, mode);
  2027. node.node_ops = NODEFS.node_ops;
  2028. node.stream_ops = NODEFS.stream_ops;
  2029. return node
  2030. },
  2031. getMode: function(path) {
  2032. var stat;
  2033. try {
  2034. stat = fs.lstatSync(path);
  2035. if (NODEFS.isWindows) {
  2036. stat.mode = stat.mode | (stat.mode & 292) >> 2
  2037. }
  2038. } catch (e) {
  2039. if (!e.code) throw e;
  2040. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2041. }
  2042. return stat.mode
  2043. },
  2044. realPath: function(node) {
  2045. var parts = [];
  2046. while (node.parent !== node) {
  2047. parts.push(node.name);
  2048. node = node.parent
  2049. }
  2050. parts.push(node.mount.opts.root);
  2051. parts.reverse();
  2052. return PATH.join.apply(null, parts)
  2053. },
  2054. flagsForNode: function(flags) {
  2055. flags &= ~2097152;
  2056. flags &= ~2048;
  2057. flags &= ~32768;
  2058. flags &= ~524288;
  2059. var newFlags = 0;
  2060. for (var k in NODEFS.flagsForNodeMap) {
  2061. if (flags & k) {
  2062. newFlags |= NODEFS.flagsForNodeMap[k];
  2063. flags ^= k
  2064. }
  2065. }
  2066. if (!flags) {
  2067. return newFlags
  2068. } else {
  2069. throw new FS.ErrnoError(28)
  2070. }
  2071. },
  2072. node_ops: {
  2073. getattr: function(node) {
  2074. var path = NODEFS.realPath(node);
  2075. var stat;
  2076. try {
  2077. stat = fs.lstatSync(path)
  2078. } catch (e) {
  2079. if (!e.code) throw e;
  2080. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2081. }
  2082. if (NODEFS.isWindows && !stat.blksize) {
  2083. stat.blksize = 4096
  2084. }
  2085. if (NODEFS.isWindows && !stat.blocks) {
  2086. stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0
  2087. }
  2088. return {
  2089. dev: stat.dev,
  2090. ino: stat.ino,
  2091. mode: stat.mode,
  2092. nlink: stat.nlink,
  2093. uid: stat.uid,
  2094. gid: stat.gid,
  2095. rdev: stat.rdev,
  2096. size: stat.size,
  2097. atime: stat.atime,
  2098. mtime: stat.mtime,
  2099. ctime: stat.ctime,
  2100. blksize: stat.blksize,
  2101. blocks: stat.blocks
  2102. }
  2103. },
  2104. setattr: function(node, attr) {
  2105. var path = NODEFS.realPath(node);
  2106. try {
  2107. if (attr.mode !== undefined) {
  2108. fs.chmodSync(path, attr.mode);
  2109. node.mode = attr.mode
  2110. }
  2111. if (attr.timestamp !== undefined) {
  2112. var date = new Date(attr.timestamp);
  2113. fs.utimesSync(path, date, date)
  2114. }
  2115. if (attr.size !== undefined) {
  2116. fs.truncateSync(path, attr.size)
  2117. }
  2118. } catch (e) {
  2119. if (!e.code) throw e;
  2120. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2121. }
  2122. },
  2123. lookup: function(parent, name) {
  2124. var path = PATH.join2(NODEFS.realPath(parent), name);
  2125. var mode = NODEFS.getMode(path);
  2126. return NODEFS.createNode(parent, name, mode)
  2127. },
  2128. mknod: function(parent, name, mode, dev) {
  2129. var node = NODEFS.createNode(parent, name, mode, dev);
  2130. var path = NODEFS.realPath(node);
  2131. try {
  2132. if (FS.isDir(node.mode)) {
  2133. fs.mkdirSync(path, node.mode)
  2134. } else {
  2135. fs.writeFileSync(path, "", {
  2136. mode: node.mode
  2137. })
  2138. }
  2139. } catch (e) {
  2140. if (!e.code) throw e;
  2141. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2142. }
  2143. return node
  2144. },
  2145. rename: function(oldNode, newDir, newName) {
  2146. var oldPath = NODEFS.realPath(oldNode);
  2147. var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
  2148. try {
  2149. fs.renameSync(oldPath, newPath)
  2150. } catch (e) {
  2151. if (!e.code) throw e;
  2152. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2153. }
  2154. },
  2155. unlink: function(parent, name) {
  2156. var path = PATH.join2(NODEFS.realPath(parent), name);
  2157. try {
  2158. fs.unlinkSync(path)
  2159. } catch (e) {
  2160. if (!e.code) throw e;
  2161. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2162. }
  2163. },
  2164. rmdir: function(parent, name) {
  2165. var path = PATH.join2(NODEFS.realPath(parent), name);
  2166. try {
  2167. fs.rmdirSync(path)
  2168. } catch (e) {
  2169. if (!e.code) throw e;
  2170. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2171. }
  2172. },
  2173. readdir: function(node) {
  2174. var path = NODEFS.realPath(node);
  2175. try {
  2176. return fs.readdirSync(path)
  2177. } catch (e) {
  2178. if (!e.code) throw e;
  2179. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2180. }
  2181. },
  2182. symlink: function(parent, newName, oldPath) {
  2183. var newPath = PATH.join2(NODEFS.realPath(parent), newName);
  2184. try {
  2185. fs.symlinkSync(oldPath, newPath)
  2186. } catch (e) {
  2187. if (!e.code) throw e;
  2188. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2189. }
  2190. },
  2191. readlink: function(node) {
  2192. var path = NODEFS.realPath(node);
  2193. try {
  2194. path = fs.readlinkSync(path);
  2195. path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
  2196. return path
  2197. } catch (e) {
  2198. if (!e.code) throw e;
  2199. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2200. }
  2201. }
  2202. },
  2203. stream_ops: {
  2204. open: function(stream) {
  2205. var path = NODEFS.realPath(stream.node);
  2206. try {
  2207. if (FS.isFile(stream.node.mode)) {
  2208. stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags))
  2209. }
  2210. } catch (e) {
  2211. if (!e.code) throw e;
  2212. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2213. }
  2214. },
  2215. close: function(stream) {
  2216. try {
  2217. if (FS.isFile(stream.node.mode) && stream.nfd) {
  2218. fs.closeSync(stream.nfd)
  2219. }
  2220. } catch (e) {
  2221. if (!e.code) throw e;
  2222. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2223. }
  2224. },
  2225. read: function(stream, buffer, offset, length, position) {
  2226. if (length === 0) return 0;
  2227. try {
  2228. return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position)
  2229. } catch (e) {
  2230. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2231. }
  2232. },
  2233. write: function(stream, buffer, offset, length, position) {
  2234. try {
  2235. return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position)
  2236. } catch (e) {
  2237. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2238. }
  2239. },
  2240. llseek: function(stream, offset, whence) {
  2241. var position = offset;
  2242. if (whence === 1) {
  2243. position += stream.position
  2244. } else if (whence === 2) {
  2245. if (FS.isFile(stream.node.mode)) {
  2246. try {
  2247. var stat = fs.fstatSync(stream.nfd);
  2248. position += stat.size
  2249. } catch (e) {
  2250. throw new FS.ErrnoError(NODEFS.convertNodeCode(e))
  2251. }
  2252. }
  2253. }
  2254. if (position < 0) {
  2255. throw new FS.ErrnoError(28)
  2256. }
  2257. return position
  2258. }
  2259. }
  2260. };
  2261. var WORKERFS = {
  2262. DIR_MODE: 16895,
  2263. FILE_MODE: 33279,
  2264. reader: null,
  2265. mount: function(mount) {
  2266. assert(ENVIRONMENT_IS_WORKER);
  2267. if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync;
  2268. var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0);
  2269. var createdParents = {};
  2270. function ensureParent(path) {
  2271. var parts = path.split("/");
  2272. var parent = root;
  2273. for (var i = 0; i < parts.length - 1; i++) {
  2274. var curr = parts.slice(0, i + 1).join("/");
  2275. if (!createdParents[curr]) {
  2276. createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0)
  2277. }
  2278. parent = createdParents[curr]
  2279. }
  2280. return parent
  2281. }
  2282. function base(path) {
  2283. var parts = path.split("/");
  2284. return parts[parts.length - 1]
  2285. }
  2286. Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
  2287. WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate)
  2288. });
  2289. (mount.opts["blobs"] || []).forEach(function(obj) {
  2290. WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"])
  2291. });
  2292. (mount.opts["packages"] || []).forEach(function(pack) {
  2293. pack["metadata"].files.forEach(function(file) {
  2294. var name = file.filename.substr(1);
  2295. WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end))
  2296. })
  2297. });
  2298. return root
  2299. },
  2300. createNode: function(parent, name, mode, dev, contents, mtime) {
  2301. var node = FS.createNode(parent, name, mode);
  2302. node.mode = mode;
  2303. node.node_ops = WORKERFS.node_ops;
  2304. node.stream_ops = WORKERFS.stream_ops;
  2305. node.timestamp = (mtime || new Date).getTime();
  2306. assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
  2307. if (mode === WORKERFS.FILE_MODE) {
  2308. node.size = contents.size;
  2309. node.contents = contents
  2310. } else {
  2311. node.size = 4096;
  2312. node.contents = {}
  2313. }
  2314. if (parent) {
  2315. parent.contents[name] = node
  2316. }
  2317. return node
  2318. },
  2319. node_ops: {
  2320. getattr: function(node) {
  2321. return {
  2322. dev: 1,
  2323. ino: undefined,
  2324. mode: node.mode,
  2325. nlink: 1,
  2326. uid: 0,
  2327. gid: 0,
  2328. rdev: undefined,
  2329. size: node.size,
  2330. atime: new Date(node.timestamp),
  2331. mtime: new Date(node.timestamp),
  2332. ctime: new Date(node.timestamp),
  2333. blksize: 4096,
  2334. blocks: Math.ceil(node.size / 4096)
  2335. }
  2336. },
  2337. setattr: function(node, attr) {
  2338. if (attr.mode !== undefined) {
  2339. node.mode = attr.mode
  2340. }
  2341. if (attr.timestamp !== undefined) {
  2342. node.timestamp = attr.timestamp
  2343. }
  2344. },
  2345. lookup: function(parent, name) {
  2346. throw new FS.ErrnoError(44)
  2347. },
  2348. mknod: function(parent, name, mode, dev) {
  2349. throw new FS.ErrnoError(63)
  2350. },
  2351. rename: function(oldNode, newDir, newName) {
  2352. throw new FS.ErrnoError(63)
  2353. },
  2354. unlink: function(parent, name) {
  2355. throw new FS.ErrnoError(63)
  2356. },
  2357. rmdir: function(parent, name) {
  2358. throw new FS.ErrnoError(63)
  2359. },
  2360. readdir: function(node) {
  2361. var entries = [".", ".."];
  2362. for (var key in node.contents) {
  2363. if (!node.contents.hasOwnProperty(key)) {
  2364. continue
  2365. }
  2366. entries.push(key)
  2367. }
  2368. return entries
  2369. },
  2370. symlink: function(parent, newName, oldPath) {
  2371. throw new FS.ErrnoError(63)
  2372. },
  2373. readlink: function(node) {
  2374. throw new FS.ErrnoError(63)
  2375. }
  2376. },
  2377. stream_ops: {
  2378. read: function(stream, buffer, offset, length, position) {
  2379. if (position >= stream.node.size) return 0;
  2380. var chunk = stream.node.contents.slice(position, position + length);
  2381. var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
  2382. buffer.set(new Uint8Array(ab), offset);
  2383. return chunk.size
  2384. },
  2385. write: function(stream, buffer, offset, length, position) {
  2386. throw new FS.ErrnoError(29)
  2387. },
  2388. llseek: function(stream, offset, whence) {
  2389. var position = offset;
  2390. if (whence === 1) {
  2391. position += stream.position
  2392. } else if (whence === 2) {
  2393. if (FS.isFile(stream.node.mode)) {
  2394. position += stream.node.size
  2395. }
  2396. }
  2397. if (position < 0) {
  2398. throw new FS.ErrnoError(28)
  2399. }
  2400. return position
  2401. }
  2402. }
  2403. };
  2404. var ERRNO_MESSAGES = {
  2405. 0: "Success",
  2406. 1: "Arg list too long",
  2407. 2: "Permission denied",
  2408. 3: "Address already in use",
  2409. 4: "Address not available",
  2410. 5: "Address family not supported by protocol family",
  2411. 6: "No more processes",
  2412. 7: "Socket already connected",
  2413. 8: "Bad file number",
  2414. 9: "Trying to read unreadable message",
  2415. 10: "Mount device busy",
  2416. 11: "Operation canceled",
  2417. 12: "No children",
  2418. 13: "Connection aborted",
  2419. 14: "Connection refused",
  2420. 15: "Connection reset by peer",
  2421. 16: "File locking deadlock error",
  2422. 17: "Destination address required",
  2423. 18: "Math arg out of domain of func",
  2424. 19: "Quota exceeded",
  2425. 20: "File exists",
  2426. 21: "Bad address",
  2427. 22: "File too large",
  2428. 23: "Host is unreachable",
  2429. 24: "Identifier removed",
  2430. 25: "Illegal byte sequence",
  2431. 26: "Connection already in progress",
  2432. 27: "Interrupted system call",
  2433. 28: "Invalid argument",
  2434. 29: "I/O error",
  2435. 30: "Socket is already connected",
  2436. 31: "Is a directory",
  2437. 32: "Too many symbolic links",
  2438. 33: "Too many open files",
  2439. 34: "Too many links",
  2440. 35: "Message too long",
  2441. 36: "Multihop attempted",
  2442. 37: "File or path name too long",
  2443. 38: "Network interface is not configured",
  2444. 39: "Connection reset by network",
  2445. 40: "Network is unreachable",
  2446. 41: "Too many open files in system",
  2447. 42: "No buffer space available",
  2448. 43: "No such device",
  2449. 44: "No such file or directory",
  2450. 45: "Exec format error",
  2451. 46: "No record locks available",
  2452. 47: "The link has been severed",
  2453. 48: "Not enough core",
  2454. 49: "No message of desired type",
  2455. 50: "Protocol not available",
  2456. 51: "No space left on device",
  2457. 52: "Function not implemented",
  2458. 53: "Socket is not connected",
  2459. 54: "Not a directory",
  2460. 55: "Directory not empty",
  2461. 56: "State not recoverable",
  2462. 57: "Socket operation on non-socket",
  2463. 59: "Not a typewriter",
  2464. 60: "No such device or address",
  2465. 61: "Value too large for defined data type",
  2466. 62: "Previous owner died",
  2467. 63: "Not super-user",
  2468. 64: "Broken pipe",
  2469. 65: "Protocol error",
  2470. 66: "Unknown protocol",
  2471. 67: "Protocol wrong type for socket",
  2472. 68: "Math result not representable",
  2473. 69: "Read only file system",
  2474. 70: "Illegal seek",
  2475. 71: "No such process",
  2476. 72: "Stale file handle",
  2477. 73: "Connection timed out",
  2478. 74: "Text file busy",
  2479. 75: "Cross-device link",
  2480. 100: "Device not a stream",
  2481. 101: "Bad font file fmt",
  2482. 102: "Invalid slot",
  2483. 103: "Invalid request code",
  2484. 104: "No anode",
  2485. 105: "Block device required",
  2486. 106: "Channel number out of range",
  2487. 107: "Level 3 halted",
  2488. 108: "Level 3 reset",
  2489. 109: "Link number out of range",
  2490. 110: "Protocol driver not attached",
  2491. 111: "No CSI structure available",
  2492. 112: "Level 2 halted",
  2493. 113: "Invalid exchange",
  2494. 114: "Invalid request descriptor",
  2495. 115: "Exchange full",
  2496. 116: "No data (for no delay io)",
  2497. 117: "Timer expired",
  2498. 118: "Out of streams resources",
  2499. 119: "Machine is not on the network",
  2500. 120: "Package not installed",
  2501. 121: "The object is remote",
  2502. 122: "Advertise error",
  2503. 123: "Srmount error",
  2504. 124: "Communication error on send",
  2505. 125: "Cross mount point (not really error)",
  2506. 126: "Given log. name not unique",
  2507. 127: "f.d. invalid for this operation",
  2508. 128: "Remote address changed",
  2509. 129: "Can access a needed shared lib",
  2510. 130: "Accessing a corrupted shared lib",
  2511. 131: ".lib section in a.out corrupted",
  2512. 132: "Attempting to link in too many libs",
  2513. 133: "Attempting to exec a shared library",
  2514. 135: "Streams pipe error",
  2515. 136: "Too many users",
  2516. 137: "Socket type not supported",
  2517. 138: "Not supported",
  2518. 139: "Protocol family not supported",
  2519. 140: "Can't send after socket shutdown",
  2520. 141: "Too many references",
  2521. 142: "Host is down",
  2522. 148: "No medium (in tape drive)",
  2523. 156: "Level 2 not synchronized"
  2524. };
  2525. var FS = {
  2526. root: null,
  2527. mounts: [],
  2528. devices: {},
  2529. streams: [],
  2530. nextInode: 1,
  2531. nameTable: null,
  2532. currentPath: "/",
  2533. initialized: false,
  2534. ignorePermissions: true,
  2535. trackingDelegate: {},
  2536. tracking: {
  2537. openFlags: {
  2538. READ: 1,
  2539. WRITE: 2
  2540. }
  2541. },
  2542. ErrnoError: null,
  2543. genericErrors: {},
  2544. filesystems: null,
  2545. syncFSRequests: 0,
  2546. handleFSError: function(e) {
  2547. if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
  2548. return ___setErrNo(e.errno)
  2549. },
  2550. lookupPath: function(path, opts) {
  2551. path = PATH_FS.resolve(FS.cwd(), path);
  2552. opts = opts || {};
  2553. if (!path) return {
  2554. path: "",
  2555. node: null
  2556. };
  2557. var defaults = {
  2558. follow_mount: true,
  2559. recurse_count: 0
  2560. };
  2561. for (var key in defaults) {
  2562. if (opts[key] === undefined) {
  2563. opts[key] = defaults[key]
  2564. }
  2565. }
  2566. if (opts.recurse_count > 8) {
  2567. throw new FS.ErrnoError(32)
  2568. }
  2569. var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
  2570. return !!p
  2571. }), false);
  2572. var current = FS.root;
  2573. var current_path = "/";
  2574. for (var i = 0; i < parts.length; i++) {
  2575. var islast = i === parts.length - 1;
  2576. if (islast && opts.parent) {
  2577. break
  2578. }
  2579. current = FS.lookupNode(current, parts[i]);
  2580. current_path = PATH.join2(current_path, parts[i]);
  2581. if (FS.isMountpoint(current)) {
  2582. if (!islast || islast && opts.follow_mount) {
  2583. current = current.mounted.root
  2584. }
  2585. }
  2586. if (!islast || opts.follow) {
  2587. var count = 0;
  2588. while (FS.isLink(current.mode)) {
  2589. var link = FS.readlink(current_path);
  2590. current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
  2591. var lookup = FS.lookupPath(current_path, {
  2592. recurse_count: opts.recurse_count
  2593. });
  2594. current = lookup.node;
  2595. if (count++ > 40) {
  2596. throw new FS.ErrnoError(32)
  2597. }
  2598. }
  2599. }
  2600. }
  2601. return {
  2602. path: current_path,
  2603. node: current
  2604. }
  2605. },
  2606. getPath: function(node) {
  2607. var path;
  2608. while (true) {
  2609. if (FS.isRoot(node)) {
  2610. var mount = node.mount.mountpoint;
  2611. if (!path) return mount;
  2612. return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path
  2613. }
  2614. path = path ? node.name + "/" + path : node.name;
  2615. node = node.parent
  2616. }
  2617. },
  2618. hashName: function(parentid, name) {
  2619. var hash = 0;
  2620. for (var i = 0; i < name.length; i++) {
  2621. hash = (hash << 5) - hash + name.charCodeAt(i) | 0
  2622. }
  2623. return (parentid + hash >>> 0) % FS.nameTable.length
  2624. },
  2625. hashAddNode: function(node) {
  2626. var hash = FS.hashName(node.parent.id, node.name);
  2627. node.name_next = FS.nameTable[hash];
  2628. FS.nameTable[hash] = node
  2629. },
  2630. hashRemoveNode: function(node) {
  2631. var hash = FS.hashName(node.parent.id, node.name);
  2632. if (FS.nameTable[hash] === node) {
  2633. FS.nameTable[hash] = node.name_next
  2634. } else {
  2635. var current = FS.nameTable[hash];
  2636. while (current) {
  2637. if (current.name_next === node) {
  2638. current.name_next = node.name_next;
  2639. break
  2640. }
  2641. current = current.name_next
  2642. }
  2643. }
  2644. },
  2645. lookupNode: function(parent, name) {
  2646. var err = FS.mayLookup(parent);
  2647. if (err) {
  2648. throw new FS.ErrnoError(err, parent)
  2649. }
  2650. var hash = FS.hashName(parent.id, name);
  2651. for (var node = FS.nameTable[hash]; node; node = node.name_next) {
  2652. var nodeName = node.name;
  2653. if (node.parent.id === parent.id && nodeName === name) {
  2654. return node
  2655. }
  2656. }
  2657. return FS.lookup(parent, name)
  2658. },
  2659. createNode: function(parent, name, mode, rdev) {
  2660. if (!FS.FSNode) {
  2661. FS.FSNode = function(parent, name, mode, rdev) {
  2662. if (!parent) {
  2663. parent = this
  2664. }
  2665. this.parent = parent;
  2666. this.mount = parent.mount;
  2667. this.mounted = null;
  2668. this.id = FS.nextInode++;
  2669. this.name = name;
  2670. this.mode = mode;
  2671. this.node_ops = {};
  2672. this.stream_ops = {};
  2673. this.rdev = rdev
  2674. };
  2675. FS.FSNode.prototype = {};
  2676. var readMode = 292 | 73;
  2677. var writeMode = 146;
  2678. Object.defineProperties(FS.FSNode.prototype, {
  2679. read: {
  2680. get: function() {
  2681. return (this.mode & readMode) === readMode
  2682. },
  2683. set: function(val) {
  2684. val ? this.mode |= readMode : this.mode &= ~readMode
  2685. }
  2686. },
  2687. write: {
  2688. get: function() {
  2689. return (this.mode & writeMode) === writeMode
  2690. },
  2691. set: function(val) {
  2692. val ? this.mode |= writeMode : this.mode &= ~writeMode
  2693. }
  2694. },
  2695. isFolder: {
  2696. get: function() {
  2697. return FS.isDir(this.mode)
  2698. }
  2699. },
  2700. isDevice: {
  2701. get: function() {
  2702. return FS.isChrdev(this.mode)
  2703. }
  2704. }
  2705. })
  2706. }
  2707. var node = new FS.FSNode(parent, name, mode, rdev);
  2708. FS.hashAddNode(node);
  2709. return node
  2710. },
  2711. destroyNode: function(node) {
  2712. FS.hashRemoveNode(node)
  2713. },
  2714. isRoot: function(node) {
  2715. return node === node.parent
  2716. },
  2717. isMountpoint: function(node) {
  2718. return !!node.mounted
  2719. },
  2720. isFile: function(mode) {
  2721. return (mode & 61440) === 32768
  2722. },
  2723. isDir: function(mode) {
  2724. return (mode & 61440) === 16384
  2725. },
  2726. isLink: function(mode) {
  2727. return (mode & 61440) === 40960
  2728. },
  2729. isChrdev: function(mode) {
  2730. return (mode & 61440) === 8192
  2731. },
  2732. isBlkdev: function(mode) {
  2733. return (mode & 61440) === 24576
  2734. },
  2735. isFIFO: function(mode) {
  2736. return (mode & 61440) === 4096
  2737. },
  2738. isSocket: function(mode) {
  2739. return (mode & 49152) === 49152
  2740. },
  2741. flagModes: {
  2742. "r": 0,
  2743. "rs": 1052672,
  2744. "r+": 2,
  2745. "w": 577,
  2746. "wx": 705,
  2747. "xw": 705,
  2748. "w+": 578,
  2749. "wx+": 706,
  2750. "xw+": 706,
  2751. "a": 1089,
  2752. "ax": 1217,
  2753. "xa": 1217,
  2754. "a+": 1090,
  2755. "ax+": 1218,
  2756. "xa+": 1218
  2757. },
  2758. modeStringToFlags: function(str) {
  2759. var flags = FS.flagModes[str];
  2760. if (typeof flags === "undefined") {
  2761. throw new Error("Unknown file open mode: " + str)
  2762. }
  2763. return flags
  2764. },
  2765. flagsToPermissionString: function(flag) {
  2766. var perms = ["r", "w", "rw"][flag & 3];
  2767. if (flag & 512) {
  2768. perms += "w"
  2769. }
  2770. return perms
  2771. },
  2772. nodePermissions: function(node, perms) {
  2773. if (FS.ignorePermissions) {
  2774. return 0
  2775. }
  2776. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  2777. return 2
  2778. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  2779. return 2
  2780. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  2781. return 2
  2782. }
  2783. return 0
  2784. },
  2785. mayLookup: function(dir) {
  2786. var err = FS.nodePermissions(dir, "x");
  2787. if (err) return err;
  2788. if (!dir.node_ops.lookup) return 2;
  2789. return 0
  2790. },
  2791. mayCreate: function(dir, name) {
  2792. try {
  2793. var node = FS.lookupNode(dir, name);
  2794. return 20
  2795. } catch (e) {}
  2796. return FS.nodePermissions(dir, "wx")
  2797. },
  2798. mayDelete: function(dir, name, isdir) {
  2799. var node;
  2800. try {
  2801. node = FS.lookupNode(dir, name)
  2802. } catch (e) {
  2803. return e.errno
  2804. }
  2805. var err = FS.nodePermissions(dir, "wx");
  2806. if (err) {
  2807. return err
  2808. }
  2809. if (isdir) {
  2810. if (!FS.isDir(node.mode)) {
  2811. return 54
  2812. }
  2813. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  2814. return 10
  2815. }
  2816. } else {
  2817. if (FS.isDir(node.mode)) {
  2818. return 31
  2819. }
  2820. }
  2821. return 0
  2822. },
  2823. mayOpen: function(node, flags) {
  2824. if (!node) {
  2825. return 44
  2826. }
  2827. if (FS.isLink(node.mode)) {
  2828. return 32
  2829. } else if (FS.isDir(node.mode)) {
  2830. if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
  2831. return 31
  2832. }
  2833. }
  2834. return FS.nodePermissions(node, FS.flagsToPermissionString(flags))
  2835. },
  2836. MAX_OPEN_FDS: 4096,
  2837. nextfd: function(fd_start, fd_end) {
  2838. fd_start = fd_start || 0;
  2839. fd_end = fd_end || FS.MAX_OPEN_FDS;
  2840. for (var fd = fd_start; fd <= fd_end; fd++) {
  2841. if (!FS.streams[fd]) {
  2842. return fd
  2843. }
  2844. }
  2845. throw new FS.ErrnoError(33)
  2846. },
  2847. getStream: function(fd) {
  2848. return FS.streams[fd]
  2849. },
  2850. createStream: function(stream, fd_start, fd_end) {
  2851. if (!FS.FSStream) {
  2852. FS.FSStream = function() {};
  2853. FS.FSStream.prototype = {};
  2854. Object.defineProperties(FS.FSStream.prototype, {
  2855. object: {
  2856. get: function() {
  2857. return this.node
  2858. },
  2859. set: function(val) {
  2860. this.node = val
  2861. }
  2862. },
  2863. isRead: {
  2864. get: function() {
  2865. return (this.flags & 2097155) !== 1
  2866. }
  2867. },
  2868. isWrite: {
  2869. get: function() {
  2870. return (this.flags & 2097155) !== 0
  2871. }
  2872. },
  2873. isAppend: {
  2874. get: function() {
  2875. return this.flags & 1024
  2876. }
  2877. }
  2878. })
  2879. }
  2880. var newStream = new FS.FSStream;
  2881. for (var p in stream) {
  2882. newStream[p] = stream[p]
  2883. }
  2884. stream = newStream;
  2885. var fd = FS.nextfd(fd_start, fd_end);
  2886. stream.fd = fd;
  2887. FS.streams[fd] = stream;
  2888. return stream
  2889. },
  2890. closeStream: function(fd) {
  2891. FS.streams[fd] = null
  2892. },
  2893. chrdev_stream_ops: {
  2894. open: function(stream) {
  2895. var device = FS.getDevice(stream.node.rdev);
  2896. stream.stream_ops = device.stream_ops;
  2897. if (stream.stream_ops.open) {
  2898. stream.stream_ops.open(stream)
  2899. }
  2900. },
  2901. llseek: function() {
  2902. throw new FS.ErrnoError(70)
  2903. }
  2904. },
  2905. major: function(dev) {
  2906. return dev >> 8
  2907. },
  2908. minor: function(dev) {
  2909. return dev & 255
  2910. },
  2911. makedev: function(ma, mi) {
  2912. return ma << 8 | mi
  2913. },
  2914. registerDevice: function(dev, ops) {
  2915. FS.devices[dev] = {
  2916. stream_ops: ops
  2917. }
  2918. },
  2919. getDevice: function(dev) {
  2920. return FS.devices[dev]
  2921. },
  2922. getMounts: function(mount) {
  2923. var mounts = [];
  2924. var check = [mount];
  2925. while (check.length) {
  2926. var m = check.pop();
  2927. mounts.push(m);
  2928. check.push.apply(check, m.mounts)
  2929. }
  2930. return mounts
  2931. },
  2932. syncfs: function(populate, callback) {
  2933. if (typeof populate === "function") {
  2934. callback = populate;
  2935. populate = false
  2936. }
  2937. FS.syncFSRequests++;
  2938. if (FS.syncFSRequests > 1) {
  2939. console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work")
  2940. }
  2941. var mounts = FS.getMounts(FS.root.mount);
  2942. var completed = 0;
  2943. function doCallback(err) {
  2944. assert(FS.syncFSRequests > 0);
  2945. FS.syncFSRequests--;
  2946. return callback(err)
  2947. }
  2948. function done(err) {
  2949. if (err) {
  2950. if (!done.errored) {
  2951. done.errored = true;
  2952. return doCallback(err)
  2953. }
  2954. return
  2955. }
  2956. if (++completed >= mounts.length) {
  2957. doCallback(null)
  2958. }
  2959. }
  2960. mounts.forEach(function(mount) {
  2961. if (!mount.type.syncfs) {
  2962. return done(null)
  2963. }
  2964. mount.type.syncfs(mount, populate, done)
  2965. })
  2966. },
  2967. mount: function(type, opts, mountpoint) {
  2968. var root = mountpoint === "/";
  2969. var pseudo = !mountpoint;
  2970. var node;
  2971. if (root && FS.root) {
  2972. throw new FS.ErrnoError(10)
  2973. } else if (!root && !pseudo) {
  2974. var lookup = FS.lookupPath(mountpoint, {
  2975. follow_mount: false
  2976. });
  2977. mountpoint = lookup.path;
  2978. node = lookup.node;
  2979. if (FS.isMountpoint(node)) {
  2980. throw new FS.ErrnoError(10)
  2981. }
  2982. if (!FS.isDir(node.mode)) {
  2983. throw new FS.ErrnoError(54)
  2984. }
  2985. }
  2986. var mount = {
  2987. type: type,
  2988. opts: opts,
  2989. mountpoint: mountpoint,
  2990. mounts: []
  2991. };
  2992. var mountRoot = type.mount(mount);
  2993. mountRoot.mount = mount;
  2994. mount.root = mountRoot;
  2995. if (root) {
  2996. FS.root = mountRoot
  2997. } else if (node) {
  2998. node.mounted = mount;
  2999. if (node.mount) {
  3000. node.mount.mounts.push(mount)
  3001. }
  3002. }
  3003. return mountRoot
  3004. },
  3005. unmount: function(mountpoint) {
  3006. var lookup = FS.lookupPath(mountpoint, {
  3007. follow_mount: false
  3008. });
  3009. if (!FS.isMountpoint(lookup.node)) {
  3010. throw new FS.ErrnoError(28)
  3011. }
  3012. var node = lookup.node;
  3013. var mount = node.mounted;
  3014. var mounts = FS.getMounts(mount);
  3015. Object.keys(FS.nameTable).forEach(function(hash) {
  3016. var current = FS.nameTable[hash];
  3017. while (current) {
  3018. var next = current.name_next;
  3019. if (mounts.indexOf(current.mount) !== -1) {
  3020. FS.destroyNode(current)
  3021. }
  3022. current = next
  3023. }
  3024. });
  3025. node.mounted = null;
  3026. var idx = node.mount.mounts.indexOf(mount);
  3027. assert(idx !== -1);
  3028. node.mount.mounts.splice(idx, 1)
  3029. },
  3030. lookup: function(parent, name) {
  3031. return parent.node_ops.lookup(parent, name)
  3032. },
  3033. mknod: function(path, mode, dev) {
  3034. var lookup = FS.lookupPath(path, {
  3035. parent: true
  3036. });
  3037. var parent = lookup.node;
  3038. var name = PATH.basename(path);
  3039. if (!name || name === "." || name === "..") {
  3040. throw new FS.ErrnoError(28)
  3041. }
  3042. var err = FS.mayCreate(parent, name);
  3043. if (err) {
  3044. throw new FS.ErrnoError(err)
  3045. }
  3046. if (!parent.node_ops.mknod) {
  3047. throw new FS.ErrnoError(63)
  3048. }
  3049. return parent.node_ops.mknod(parent, name, mode, dev)
  3050. },
  3051. create: function(path, mode) {
  3052. mode = mode !== undefined ? mode : 438;
  3053. mode &= 4095;
  3054. mode |= 32768;
  3055. return FS.mknod(path, mode, 0)
  3056. },
  3057. mkdir: function(path, mode) {
  3058. mode = mode !== undefined ? mode : 511;
  3059. mode &= 511 | 512;
  3060. mode |= 16384;
  3061. return FS.mknod(path, mode, 0)
  3062. },
  3063. mkdirTree: function(path, mode) {
  3064. var dirs = path.split("/");
  3065. var d = "";
  3066. for (var i = 0; i < dirs.length; ++i) {
  3067. if (!dirs[i]) continue;
  3068. d += "/" + dirs[i];
  3069. try {
  3070. FS.mkdir(d, mode)
  3071. } catch (e) {
  3072. if (e.errno != 20) throw e
  3073. }
  3074. }
  3075. },
  3076. mkdev: function(path, mode, dev) {
  3077. if (typeof dev === "undefined") {
  3078. dev = mode;
  3079. mode = 438
  3080. }
  3081. mode |= 8192;
  3082. return FS.mknod(path, mode, dev)
  3083. },
  3084. symlink: function(oldpath, newpath) {
  3085. if (!PATH_FS.resolve(oldpath)) {
  3086. throw new FS.ErrnoError(44)
  3087. }
  3088. var lookup = FS.lookupPath(newpath, {
  3089. parent: true
  3090. });
  3091. var parent = lookup.node;
  3092. if (!parent) {
  3093. throw new FS.ErrnoError(44)
  3094. }
  3095. var newname = PATH.basename(newpath);
  3096. var err = FS.mayCreate(parent, newname);
  3097. if (err) {
  3098. throw new FS.ErrnoError(err)
  3099. }
  3100. if (!parent.node_ops.symlink) {
  3101. throw new FS.ErrnoError(63)
  3102. }
  3103. return parent.node_ops.symlink(parent, newname, oldpath)
  3104. },
  3105. rename: function(old_path, new_path) {
  3106. var old_dirname = PATH.dirname(old_path);
  3107. var new_dirname = PATH.dirname(new_path);
  3108. var old_name = PATH.basename(old_path);
  3109. var new_name = PATH.basename(new_path);
  3110. var lookup, old_dir, new_dir;
  3111. try {
  3112. lookup = FS.lookupPath(old_path, {
  3113. parent: true
  3114. });
  3115. old_dir = lookup.node;
  3116. lookup = FS.lookupPath(new_path, {
  3117. parent: true
  3118. });
  3119. new_dir = lookup.node
  3120. } catch (e) {
  3121. throw new FS.ErrnoError(10)
  3122. }
  3123. if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
  3124. if (old_dir.mount !== new_dir.mount) {
  3125. throw new FS.ErrnoError(75)
  3126. }
  3127. var old_node = FS.lookupNode(old_dir, old_name);
  3128. var relative = PATH_FS.relative(old_path, new_dirname);
  3129. if (relative.charAt(0) !== ".") {
  3130. throw new FS.ErrnoError(28)
  3131. }
  3132. relative = PATH_FS.relative(new_path, old_dirname);
  3133. if (relative.charAt(0) !== ".") {
  3134. throw new FS.ErrnoError(55)
  3135. }
  3136. var new_node;
  3137. try {
  3138. new_node = FS.lookupNode(new_dir, new_name)
  3139. } catch (e) {}
  3140. if (old_node === new_node) {
  3141. return
  3142. }
  3143. var isdir = FS.isDir(old_node.mode);
  3144. var err = FS.mayDelete(old_dir, old_name, isdir);
  3145. if (err) {
  3146. throw new FS.ErrnoError(err)
  3147. }
  3148. err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
  3149. if (err) {
  3150. throw new FS.ErrnoError(err)
  3151. }
  3152. if (!old_dir.node_ops.rename) {
  3153. throw new FS.ErrnoError(63)
  3154. }
  3155. if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
  3156. throw new FS.ErrnoError(10)
  3157. }
  3158. if (new_dir !== old_dir) {
  3159. err = FS.nodePermissions(old_dir, "w");
  3160. if (err) {
  3161. throw new FS.ErrnoError(err)
  3162. }
  3163. }
  3164. try {
  3165. if (FS.trackingDelegate["willMovePath"]) {
  3166. FS.trackingDelegate["willMovePath"](old_path, new_path)
  3167. }
  3168. } catch (e) {
  3169. console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message)
  3170. }
  3171. FS.hashRemoveNode(old_node);
  3172. try {
  3173. old_dir.node_ops.rename(old_node, new_dir, new_name)
  3174. } catch (e) {
  3175. throw e
  3176. } finally {
  3177. FS.hashAddNode(old_node)
  3178. }
  3179. try {
  3180. if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path)
  3181. } catch (e) {
  3182. console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message)
  3183. }
  3184. },
  3185. rmdir: function(path) {
  3186. var lookup = FS.lookupPath(path, {
  3187. parent: true
  3188. });
  3189. var parent = lookup.node;
  3190. var name = PATH.basename(path);
  3191. var node = FS.lookupNode(parent, name);
  3192. var err = FS.mayDelete(parent, name, true);
  3193. if (err) {
  3194. throw new FS.ErrnoError(err)
  3195. }
  3196. if (!parent.node_ops.rmdir) {
  3197. throw new FS.ErrnoError(63)
  3198. }
  3199. if (FS.isMountpoint(node)) {
  3200. throw new FS.ErrnoError(10)
  3201. }
  3202. try {
  3203. if (FS.trackingDelegate["willDeletePath"]) {
  3204. FS.trackingDelegate["willDeletePath"](path)
  3205. }
  3206. } catch (e) {
  3207. console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message)
  3208. }
  3209. parent.node_ops.rmdir(parent, name);
  3210. FS.destroyNode(node);
  3211. try {
  3212. if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path)
  3213. } catch (e) {
  3214. console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message)
  3215. }
  3216. },
  3217. readdir: function(path) {
  3218. var lookup = FS.lookupPath(path, {
  3219. follow: true
  3220. });
  3221. var node = lookup.node;
  3222. if (!node.node_ops.readdir) {
  3223. throw new FS.ErrnoError(54)
  3224. }
  3225. return node.node_ops.readdir(node)
  3226. },
  3227. unlink: function(path) {
  3228. var lookup = FS.lookupPath(path, {
  3229. parent: true
  3230. });
  3231. var parent = lookup.node;
  3232. var name = PATH.basename(path);
  3233. var node = FS.lookupNode(parent, name);
  3234. var err = FS.mayDelete(parent, name, false);
  3235. if (err) {
  3236. throw new FS.ErrnoError(err)
  3237. }
  3238. if (!parent.node_ops.unlink) {
  3239. throw new FS.ErrnoError(63)
  3240. }
  3241. if (FS.isMountpoint(node)) {
  3242. throw new FS.ErrnoError(10)
  3243. }
  3244. try {
  3245. if (FS.trackingDelegate["willDeletePath"]) {
  3246. FS.trackingDelegate["willDeletePath"](path)
  3247. }
  3248. } catch (e) {
  3249. console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message)
  3250. }
  3251. parent.node_ops.unlink(parent, name);
  3252. FS.destroyNode(node);
  3253. try {
  3254. if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path)
  3255. } catch (e) {
  3256. console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message)
  3257. }
  3258. },
  3259. readlink: function(path) {
  3260. var lookup = FS.lookupPath(path);
  3261. var link = lookup.node;
  3262. if (!link) {
  3263. throw new FS.ErrnoError(44)
  3264. }
  3265. if (!link.node_ops.readlink) {
  3266. throw new FS.ErrnoError(28)
  3267. }
  3268. return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link))
  3269. },
  3270. stat: function(path, dontFollow) {
  3271. var lookup = FS.lookupPath(path, {
  3272. follow: !dontFollow
  3273. });
  3274. var node = lookup.node;
  3275. if (!node) {
  3276. throw new FS.ErrnoError(44)
  3277. }
  3278. if (!node.node_ops.getattr) {
  3279. throw new FS.ErrnoError(63)
  3280. }
  3281. return node.node_ops.getattr(node)
  3282. },
  3283. lstat: function(path) {
  3284. return FS.stat(path, true)
  3285. },
  3286. chmod: function(path, mode, dontFollow) {
  3287. var node;
  3288. if (typeof path === "string") {
  3289. var lookup = FS.lookupPath(path, {
  3290. follow: !dontFollow
  3291. });
  3292. node = lookup.node
  3293. } else {
  3294. node = path
  3295. }
  3296. if (!node.node_ops.setattr) {
  3297. throw new FS.ErrnoError(63)
  3298. }
  3299. node.node_ops.setattr(node, {
  3300. mode: mode & 4095 | node.mode & ~4095,
  3301. timestamp: Date.now()
  3302. })
  3303. },
  3304. lchmod: function(path, mode) {
  3305. FS.chmod(path, mode, true)
  3306. },
  3307. fchmod: function(fd, mode) {
  3308. var stream = FS.getStream(fd);
  3309. if (!stream) {
  3310. throw new FS.ErrnoError(8)
  3311. }
  3312. FS.chmod(stream.node, mode)
  3313. },
  3314. chown: function(path, uid, gid, dontFollow) {
  3315. var node;
  3316. if (typeof path === "string") {
  3317. var lookup = FS.lookupPath(path, {
  3318. follow: !dontFollow
  3319. });
  3320. node = lookup.node
  3321. } else {
  3322. node = path
  3323. }
  3324. if (!node.node_ops.setattr) {
  3325. throw new FS.ErrnoError(63)
  3326. }
  3327. node.node_ops.setattr(node, {
  3328. timestamp: Date.now()
  3329. })
  3330. },
  3331. lchown: function(path, uid, gid) {
  3332. FS.chown(path, uid, gid, true)
  3333. },
  3334. fchown: function(fd, uid, gid) {
  3335. var stream = FS.getStream(fd);
  3336. if (!stream) {
  3337. throw new FS.ErrnoError(8)
  3338. }
  3339. FS.chown(stream.node, uid, gid)
  3340. },
  3341. truncate: function(path, len) {
  3342. if (len < 0) {
  3343. throw new FS.ErrnoError(28)
  3344. }
  3345. var node;
  3346. if (typeof path === "string") {
  3347. var lookup = FS.lookupPath(path, {
  3348. follow: true
  3349. });
  3350. node = lookup.node
  3351. } else {
  3352. node = path
  3353. }
  3354. if (!node.node_ops.setattr) {
  3355. throw new FS.ErrnoError(63)
  3356. }
  3357. if (FS.isDir(node.mode)) {
  3358. throw new FS.ErrnoError(31)
  3359. }
  3360. if (!FS.isFile(node.mode)) {
  3361. throw new FS.ErrnoError(28)
  3362. }
  3363. var err = FS.nodePermissions(node, "w");
  3364. if (err) {
  3365. throw new FS.ErrnoError(err)
  3366. }
  3367. node.node_ops.setattr(node, {
  3368. size: len,
  3369. timestamp: Date.now()
  3370. })
  3371. },
  3372. ftruncate: function(fd, len) {
  3373. var stream = FS.getStream(fd);
  3374. if (!stream) {
  3375. throw new FS.ErrnoError(8)
  3376. }
  3377. if ((stream.flags & 2097155) === 0) {
  3378. throw new FS.ErrnoError(28)
  3379. }
  3380. FS.truncate(stream.node, len)
  3381. },
  3382. utime: function(path, atime, mtime) {
  3383. var lookup = FS.lookupPath(path, {
  3384. follow: true
  3385. });
  3386. var node = lookup.node;
  3387. node.node_ops.setattr(node, {
  3388. timestamp: Math.max(atime, mtime)
  3389. })
  3390. },
  3391. open: function(path, flags, mode, fd_start, fd_end) {
  3392. if (path === "") {
  3393. throw new FS.ErrnoError(44)
  3394. }
  3395. flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
  3396. mode = typeof mode === "undefined" ? 438 : mode;
  3397. if (flags & 64) {
  3398. mode = mode & 4095 | 32768
  3399. } else {
  3400. mode = 0
  3401. }
  3402. var node;
  3403. if (typeof path === "object") {
  3404. node = path
  3405. } else {
  3406. path = PATH.normalize(path);
  3407. try {
  3408. var lookup = FS.lookupPath(path, {
  3409. follow: !(flags & 131072)
  3410. });
  3411. node = lookup.node
  3412. } catch (e) {}
  3413. }
  3414. var created = false;
  3415. if (flags & 64) {
  3416. if (node) {
  3417. if (flags & 128) {
  3418. throw new FS.ErrnoError(20)
  3419. }
  3420. } else {
  3421. node = FS.mknod(path, mode, 0);
  3422. created = true
  3423. }
  3424. }
  3425. if (!node) {
  3426. throw new FS.ErrnoError(44)
  3427. }
  3428. if (FS.isChrdev(node.mode)) {
  3429. flags &= ~512
  3430. }
  3431. if (flags & 65536 && !FS.isDir(node.mode)) {
  3432. throw new FS.ErrnoError(54)
  3433. }
  3434. if (!created) {
  3435. var err = FS.mayOpen(node, flags);
  3436. if (err) {
  3437. throw new FS.ErrnoError(err)
  3438. }
  3439. }
  3440. if (flags & 512) {
  3441. FS.truncate(node, 0)
  3442. }
  3443. flags &= ~(128 | 512);
  3444. var stream = FS.createStream({
  3445. node: node,
  3446. path: FS.getPath(node),
  3447. flags: flags,
  3448. seekable: true,
  3449. position: 0,
  3450. stream_ops: node.stream_ops,
  3451. ungotten: [],
  3452. error: false
  3453. }, fd_start, fd_end);
  3454. if (stream.stream_ops.open) {
  3455. stream.stream_ops.open(stream)
  3456. }
  3457. if (Module["logReadFiles"] && !(flags & 1)) {
  3458. if (!FS.readFiles) FS.readFiles = {};
  3459. if (!(path in FS.readFiles)) {
  3460. FS.readFiles[path] = 1;
  3461. console.log("FS.trackingDelegate error on read file: " + path)
  3462. }
  3463. }
  3464. try {
  3465. if (FS.trackingDelegate["onOpenFile"]) {
  3466. var trackingFlags = 0;
  3467. if ((flags & 2097155) !== 1) {
  3468. trackingFlags |= FS.tracking.openFlags.READ
  3469. }
  3470. if ((flags & 2097155) !== 0) {
  3471. trackingFlags |= FS.tracking.openFlags.WRITE
  3472. }
  3473. FS.trackingDelegate["onOpenFile"](path, trackingFlags)
  3474. }
  3475. } catch (e) {
  3476. console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message)
  3477. }
  3478. return stream
  3479. },
  3480. close: function(stream) {
  3481. if (FS.isClosed(stream)) {
  3482. throw new FS.ErrnoError(8)
  3483. }
  3484. if (stream.getdents) stream.getdents = null;
  3485. try {
  3486. if (stream.stream_ops.close) {
  3487. stream.stream_ops.close(stream)
  3488. }
  3489. } catch (e) {
  3490. throw e
  3491. } finally {
  3492. FS.closeStream(stream.fd)
  3493. }
  3494. stream.fd = null
  3495. },
  3496. isClosed: function(stream) {
  3497. return stream.fd === null
  3498. },
  3499. llseek: function(stream, offset, whence) {
  3500. if (FS.isClosed(stream)) {
  3501. throw new FS.ErrnoError(8)
  3502. }
  3503. if (!stream.seekable || !stream.stream_ops.llseek) {
  3504. throw new FS.ErrnoError(70)
  3505. }
  3506. if (whence != 0 && whence != 1 && whence != 2) {
  3507. throw new FS.ErrnoError(28)
  3508. }
  3509. stream.position = stream.stream_ops.llseek(stream, offset, whence);
  3510. stream.ungotten = [];
  3511. return stream.position
  3512. },
  3513. read: function(stream, buffer, offset, length, position) {
  3514. if (length < 0 || position < 0) {
  3515. throw new FS.ErrnoError(28)
  3516. }
  3517. if (FS.isClosed(stream)) {
  3518. throw new FS.ErrnoError(8)
  3519. }
  3520. if ((stream.flags & 2097155) === 1) {
  3521. throw new FS.ErrnoError(8)
  3522. }
  3523. if (FS.isDir(stream.node.mode)) {
  3524. throw new FS.ErrnoError(31)
  3525. }
  3526. if (!stream.stream_ops.read) {
  3527. throw new FS.ErrnoError(28)
  3528. }
  3529. var seeking = typeof position !== "undefined";
  3530. if (!seeking) {
  3531. position = stream.position
  3532. } else if (!stream.seekable) {
  3533. throw new FS.ErrnoError(70)
  3534. }
  3535. var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
  3536. if (!seeking) stream.position += bytesRead;
  3537. return bytesRead
  3538. },
  3539. write: function(stream, buffer, offset, length, position, canOwn) {
  3540. if (length < 0 || position < 0) {
  3541. throw new FS.ErrnoError(28)
  3542. }
  3543. if (FS.isClosed(stream)) {
  3544. throw new FS.ErrnoError(8)
  3545. }
  3546. if ((stream.flags & 2097155) === 0) {
  3547. throw new FS.ErrnoError(8)
  3548. }
  3549. if (FS.isDir(stream.node.mode)) {
  3550. throw new FS.ErrnoError(31)
  3551. }
  3552. if (!stream.stream_ops.write) {
  3553. throw new FS.ErrnoError(28)
  3554. }
  3555. if (stream.flags & 1024) {
  3556. FS.llseek(stream, 0, 2)
  3557. }
  3558. var seeking = typeof position !== "undefined";
  3559. if (!seeking) {
  3560. position = stream.position
  3561. } else if (!stream.seekable) {
  3562. throw new FS.ErrnoError(70)
  3563. }
  3564. var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
  3565. if (!seeking) stream.position += bytesWritten;
  3566. try {
  3567. if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path)
  3568. } catch (e) {
  3569. console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message)
  3570. }
  3571. return bytesWritten
  3572. },
  3573. allocate: function(stream, offset, length) {
  3574. if (FS.isClosed(stream)) {
  3575. throw new FS.ErrnoError(8)
  3576. }
  3577. if (offset < 0 || length <= 0) {
  3578. throw new FS.ErrnoError(28)
  3579. }
  3580. if ((stream.flags & 2097155) === 0) {
  3581. throw new FS.ErrnoError(8)
  3582. }
  3583. if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
  3584. throw new FS.ErrnoError(43)
  3585. }
  3586. if (!stream.stream_ops.allocate) {
  3587. throw new FS.ErrnoError(138)
  3588. }
  3589. stream.stream_ops.allocate(stream, offset, length)
  3590. },
  3591. mmap: function(stream, buffer, offset, length, position, prot, flags) {
  3592. if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
  3593. throw new FS.ErrnoError(2)
  3594. }
  3595. if ((stream.flags & 2097155) === 1) {
  3596. throw new FS.ErrnoError(2)
  3597. }
  3598. if (!stream.stream_ops.mmap) {
  3599. throw new FS.ErrnoError(43)
  3600. }
  3601. return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags)
  3602. },
  3603. msync: function(stream, buffer, offset, length, mmapFlags) {
  3604. if (!stream || !stream.stream_ops.msync) {
  3605. return 0
  3606. }
  3607. return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags)
  3608. },
  3609. munmap: function(stream) {
  3610. return 0
  3611. },
  3612. ioctl: function(stream, cmd, arg) {
  3613. if (!stream.stream_ops.ioctl) {
  3614. throw new FS.ErrnoError(59)
  3615. }
  3616. return stream.stream_ops.ioctl(stream, cmd, arg)
  3617. },
  3618. readFile: function(path, opts) {
  3619. opts = opts || {};
  3620. opts.flags = opts.flags || "r";
  3621. opts.encoding = opts.encoding || "binary";
  3622. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  3623. throw new Error('Invalid encoding type "' + opts.encoding + '"')
  3624. }
  3625. var ret;
  3626. var stream = FS.open(path, opts.flags);
  3627. var stat = FS.stat(path);
  3628. var length = stat.size;
  3629. var buf = new Uint8Array(length);
  3630. FS.read(stream, buf, 0, length, 0);
  3631. if (opts.encoding === "utf8") {
  3632. ret = UTF8ArrayToString(buf, 0)
  3633. } else if (opts.encoding === "binary") {
  3634. ret = buf
  3635. }
  3636. FS.close(stream);
  3637. return ret
  3638. },
  3639. writeFile: function(path, data, opts) {
  3640. opts = opts || {};
  3641. opts.flags = opts.flags || "w";
  3642. var stream = FS.open(path, opts.flags, opts.mode);
  3643. if (typeof data === "string") {
  3644. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  3645. var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
  3646. FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn)
  3647. } else if (ArrayBuffer.isView(data)) {
  3648. FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn)
  3649. } else {
  3650. throw new Error("Unsupported data type")
  3651. }
  3652. FS.close(stream)
  3653. },
  3654. cwd: function() {
  3655. return FS.currentPath
  3656. },
  3657. chdir: function(path) {
  3658. var lookup = FS.lookupPath(path, {
  3659. follow: true
  3660. });
  3661. if (lookup.node === null) {
  3662. throw new FS.ErrnoError(44)
  3663. }
  3664. if (!FS.isDir(lookup.node.mode)) {
  3665. throw new FS.ErrnoError(54)
  3666. }
  3667. var err = FS.nodePermissions(lookup.node, "x");
  3668. if (err) {
  3669. throw new FS.ErrnoError(err)
  3670. }
  3671. FS.currentPath = lookup.path
  3672. },
  3673. createDefaultDirectories: function() {
  3674. FS.mkdir("/tmp");
  3675. FS.mkdir("/home");
  3676. FS.mkdir("/home/web_user")
  3677. },
  3678. createDefaultDevices: function() {
  3679. FS.mkdir("/dev");
  3680. FS.registerDevice(FS.makedev(1, 3), {
  3681. read: function() {
  3682. return 0
  3683. },
  3684. write: function(stream, buffer, offset, length, pos) {
  3685. return length
  3686. }
  3687. });
  3688. FS.mkdev("/dev/null", FS.makedev(1, 3));
  3689. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  3690. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  3691. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  3692. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  3693. var random_device;
  3694. if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
  3695. var randomBuffer = new Uint8Array(1);
  3696. random_device = function() {
  3697. crypto.getRandomValues(randomBuffer);
  3698. return randomBuffer[0]
  3699. }
  3700. } else if (ENVIRONMENT_IS_NODE) {
  3701. try {
  3702. var crypto_module = require("crypto");
  3703. random_device = function() {
  3704. return crypto_module["randomBytes"](1)[0]
  3705. }
  3706. } catch (e) {}
  3707. } else {}
  3708. if (!random_device) {
  3709. random_device = function() {
  3710. abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")
  3711. }
  3712. }
  3713. FS.createDevice("/dev", "random", random_device);
  3714. FS.createDevice("/dev", "urandom", random_device);
  3715. FS.mkdir("/dev/shm");
  3716. FS.mkdir("/dev/shm/tmp")
  3717. },
  3718. createSpecialDirectories: function() {
  3719. FS.mkdir("/proc");
  3720. FS.mkdir("/proc/self");
  3721. FS.mkdir("/proc/self/fd");
  3722. FS.mount({
  3723. mount: function() {
  3724. var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
  3725. node.node_ops = {
  3726. lookup: function(parent, name) {
  3727. var fd = +name;
  3728. var stream = FS.getStream(fd);
  3729. if (!stream) throw new FS.ErrnoError(8);
  3730. var ret = {
  3731. parent: null,
  3732. mount: {
  3733. mountpoint: "fake"
  3734. },
  3735. node_ops: {
  3736. readlink: function() {
  3737. return stream.path
  3738. }
  3739. }
  3740. };
  3741. ret.parent = ret;
  3742. return ret
  3743. }
  3744. };
  3745. return node
  3746. }
  3747. }, {}, "/proc/self/fd")
  3748. },
  3749. createStandardStreams: function() {
  3750. if (Module["stdin"]) {
  3751. FS.createDevice("/dev", "stdin", Module["stdin"])
  3752. } else {
  3753. FS.symlink("/dev/tty", "/dev/stdin")
  3754. }
  3755. if (Module["stdout"]) {
  3756. FS.createDevice("/dev", "stdout", null, Module["stdout"])
  3757. } else {
  3758. FS.symlink("/dev/tty", "/dev/stdout")
  3759. }
  3760. if (Module["stderr"]) {
  3761. FS.createDevice("/dev", "stderr", null, Module["stderr"])
  3762. } else {
  3763. FS.symlink("/dev/tty1", "/dev/stderr")
  3764. }
  3765. var stdin = FS.open("/dev/stdin", "r");
  3766. var stdout = FS.open("/dev/stdout", "w");
  3767. var stderr = FS.open("/dev/stderr", "w");
  3768. assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")");
  3769. assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")");
  3770. assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")")
  3771. },
  3772. ensureErrnoError: function() {
  3773. if (FS.ErrnoError) return;
  3774. FS.ErrnoError = function ErrnoError(errno, node) {
  3775. this.node = node;
  3776. this.setErrno = function(errno) {
  3777. this.errno = errno;
  3778. for (var key in ERRNO_CODES) {
  3779. if (ERRNO_CODES[key] === errno) {
  3780. this.code = key;
  3781. break
  3782. }
  3783. }
  3784. };
  3785. this.setErrno(errno);
  3786. this.message = ERRNO_MESSAGES[errno];
  3787. if (this.stack) {
  3788. Object.defineProperty(this, "stack", {
  3789. value: (new Error).stack,
  3790. writable: true
  3791. });
  3792. this.stack = demangleAll(this.stack)
  3793. }
  3794. };
  3795. FS.ErrnoError.prototype = new Error;
  3796. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  3797. [44].forEach(function(code) {
  3798. FS.genericErrors[code] = new FS.ErrnoError(code);
  3799. FS.genericErrors[code].stack = "<generic error, no stack>"
  3800. })
  3801. },
  3802. staticInit: function() {
  3803. FS.ensureErrnoError();
  3804. FS.nameTable = new Array(4096);
  3805. FS.mount(MEMFS, {}, "/");
  3806. FS.createDefaultDirectories();
  3807. FS.createDefaultDevices();
  3808. FS.createSpecialDirectories();
  3809. FS.filesystems = {
  3810. "MEMFS": MEMFS,
  3811. "IDBFS": IDBFS,
  3812. "NODEFS": NODEFS,
  3813. "WORKERFS": WORKERFS
  3814. }
  3815. },
  3816. init: function(input, output, error) {
  3817. 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)");
  3818. FS.init.initialized = true;
  3819. FS.ensureErrnoError();
  3820. Module["stdin"] = input || Module["stdin"];
  3821. Module["stdout"] = output || Module["stdout"];
  3822. Module["stderr"] = error || Module["stderr"];
  3823. FS.createStandardStreams()
  3824. },
  3825. quit: function() {
  3826. FS.init.initialized = false;
  3827. var fflush = Module["_fflush"];
  3828. if (fflush) fflush(0);
  3829. for (var i = 0; i < FS.streams.length; i++) {
  3830. var stream = FS.streams[i];
  3831. if (!stream) {
  3832. continue
  3833. }
  3834. FS.close(stream)
  3835. }
  3836. },
  3837. getMode: function(canRead, canWrite) {
  3838. var mode = 0;
  3839. if (canRead) mode |= 292 | 73;
  3840. if (canWrite) mode |= 146;
  3841. return mode
  3842. },
  3843. joinPath: function(parts, forceRelative) {
  3844. var path = PATH.join.apply(null, parts);
  3845. if (forceRelative && path[0] == "/") path = path.substr(1);
  3846. return path
  3847. },
  3848. absolutePath: function(relative, base) {
  3849. return PATH_FS.resolve(base, relative)
  3850. },
  3851. standardizePath: function(path) {
  3852. return PATH.normalize(path)
  3853. },
  3854. findObject: function(path, dontResolveLastLink) {
  3855. var ret = FS.analyzePath(path, dontResolveLastLink);
  3856. if (ret.exists) {
  3857. return ret.object
  3858. } else {
  3859. ___setErrNo(ret.error);
  3860. return null
  3861. }
  3862. },
  3863. analyzePath: function(path, dontResolveLastLink) {
  3864. try {
  3865. var lookup = FS.lookupPath(path, {
  3866. follow: !dontResolveLastLink
  3867. });
  3868. path = lookup.path
  3869. } catch (e) {}
  3870. var ret = {
  3871. isRoot: false,
  3872. exists: false,
  3873. error: 0,
  3874. name: null,
  3875. path: null,
  3876. object: null,
  3877. parentExists: false,
  3878. parentPath: null,
  3879. parentObject: null
  3880. };
  3881. try {
  3882. var lookup = FS.lookupPath(path, {
  3883. parent: true
  3884. });
  3885. ret.parentExists = true;
  3886. ret.parentPath = lookup.path;
  3887. ret.parentObject = lookup.node;
  3888. ret.name = PATH.basename(path);
  3889. lookup = FS.lookupPath(path, {
  3890. follow: !dontResolveLastLink
  3891. });
  3892. ret.exists = true;
  3893. ret.path = lookup.path;
  3894. ret.object = lookup.node;
  3895. ret.name = lookup.node.name;
  3896. ret.isRoot = lookup.path === "/"
  3897. } catch (e) {
  3898. ret.error = e.errno
  3899. }
  3900. return ret
  3901. },
  3902. createFolder: function(parent, name, canRead, canWrite) {
  3903. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3904. var mode = FS.getMode(canRead, canWrite);
  3905. return FS.mkdir(path, mode)
  3906. },
  3907. createPath: function(parent, path, canRead, canWrite) {
  3908. parent = typeof parent === "string" ? parent : FS.getPath(parent);
  3909. var parts = path.split("/").reverse();
  3910. while (parts.length) {
  3911. var part = parts.pop();
  3912. if (!part) continue;
  3913. var current = PATH.join2(parent, part);
  3914. try {
  3915. FS.mkdir(current)
  3916. } catch (e) {}
  3917. parent = current
  3918. }
  3919. return current
  3920. },
  3921. createFile: function(parent, name, properties, canRead, canWrite) {
  3922. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3923. var mode = FS.getMode(canRead, canWrite);
  3924. return FS.create(path, mode)
  3925. },
  3926. createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
  3927. var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
  3928. var mode = FS.getMode(canRead, canWrite);
  3929. var node = FS.create(path, mode);
  3930. if (data) {
  3931. if (typeof data === "string") {
  3932. var arr = new Array(data.length);
  3933. for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
  3934. data = arr
  3935. }
  3936. FS.chmod(node, mode | 146);
  3937. var stream = FS.open(node, "w");
  3938. FS.write(stream, data, 0, data.length, 0, canOwn);
  3939. FS.close(stream);
  3940. FS.chmod(node, mode)
  3941. }
  3942. return node
  3943. },
  3944. createDevice: function(parent, name, input, output) {
  3945. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3946. var mode = FS.getMode(!!input, !!output);
  3947. if (!FS.createDevice.major) FS.createDevice.major = 64;
  3948. var dev = FS.makedev(FS.createDevice.major++, 0);
  3949. FS.registerDevice(dev, {
  3950. open: function(stream) {
  3951. stream.seekable = false
  3952. },
  3953. close: function(stream) {
  3954. if (output && output.buffer && output.buffer.length) {
  3955. output(10)
  3956. }
  3957. },
  3958. read: function(stream, buffer, offset, length, pos) {
  3959. var bytesRead = 0;
  3960. for (var i = 0; i < length; i++) {
  3961. var result;
  3962. try {
  3963. result = input()
  3964. } catch (e) {
  3965. throw new FS.ErrnoError(29)
  3966. }
  3967. if (result === undefined && bytesRead === 0) {
  3968. throw new FS.ErrnoError(6)
  3969. }
  3970. if (result === null || result === undefined) break;
  3971. bytesRead++;
  3972. buffer[offset + i] = result
  3973. }
  3974. if (bytesRead) {
  3975. stream.node.timestamp = Date.now()
  3976. }
  3977. return bytesRead
  3978. },
  3979. write: function(stream, buffer, offset, length, pos) {
  3980. for (var i = 0; i < length; i++) {
  3981. try {
  3982. output(buffer[offset + i])
  3983. } catch (e) {
  3984. throw new FS.ErrnoError(29)
  3985. }
  3986. }
  3987. if (length) {
  3988. stream.node.timestamp = Date.now()
  3989. }
  3990. return i
  3991. }
  3992. });
  3993. return FS.mkdev(path, mode, dev)
  3994. },
  3995. createLink: function(parent, name, target, canRead, canWrite) {
  3996. var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
  3997. return FS.symlink(target, path)
  3998. },
  3999. forceLoadFile: function(obj) {
  4000. if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
  4001. var success = true;
  4002. if (typeof XMLHttpRequest !== "undefined") {
  4003. 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.")
  4004. } else if (read_) {
  4005. try {
  4006. obj.contents = intArrayFromString(read_(obj.url), true);
  4007. obj.usedBytes = obj.contents.length
  4008. } catch (e) {
  4009. success = false
  4010. }
  4011. } else {
  4012. throw new Error("Cannot load without read() or XMLHttpRequest.")
  4013. }
  4014. if (!success) ___setErrNo(29);
  4015. return success
  4016. },
  4017. createLazyFile: function(parent, name, url, canRead, canWrite) {
  4018. function LazyUint8Array() {
  4019. this.lengthKnown = false;
  4020. this.chunks = []
  4021. }
  4022. LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
  4023. if (idx > this.length - 1 || idx < 0) {
  4024. return undefined
  4025. }
  4026. var chunkOffset = idx % this.chunkSize;
  4027. var chunkNum = idx / this.chunkSize | 0;
  4028. return this.getter(chunkNum)[chunkOffset]
  4029. };
  4030. LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
  4031. this.getter = getter
  4032. };
  4033. LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
  4034. var xhr = new XMLHttpRequest;
  4035. xhr.open("HEAD", url, false);
  4036. xhr.send(null);
  4037. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  4038. var datalength = Number(xhr.getResponseHeader("Content-length"));
  4039. var header;
  4040. var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
  4041. var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
  4042. var chunkSize = 1024 * 1024;
  4043. if (!hasByteServing) chunkSize = datalength;
  4044. var doXHR = function(from, to) {
  4045. if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
  4046. if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
  4047. var xhr = new XMLHttpRequest;
  4048. xhr.open("GET", url, false);
  4049. if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
  4050. if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
  4051. if (xhr.overrideMimeType) {
  4052. xhr.overrideMimeType("text/plain; charset=x-user-defined")
  4053. }
  4054. xhr.send(null);
  4055. if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
  4056. if (xhr.response !== undefined) {
  4057. return new Uint8Array(xhr.response || [])
  4058. } else {
  4059. return intArrayFromString(xhr.responseText || "", true)
  4060. }
  4061. };
  4062. var lazyArray = this;
  4063. lazyArray.setDataGetter(function(chunkNum) {
  4064. var start = chunkNum * chunkSize;
  4065. var end = (chunkNum + 1) * chunkSize - 1;
  4066. end = Math.min(end, datalength - 1);
  4067. if (typeof lazyArray.chunks[chunkNum] === "undefined") {
  4068. lazyArray.chunks[chunkNum] = doXHR(start, end)
  4069. }
  4070. if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
  4071. return lazyArray.chunks[chunkNum]
  4072. });
  4073. if (usesGzip || !datalength) {
  4074. chunkSize = datalength = 1;
  4075. datalength = this.getter(0).length;
  4076. chunkSize = datalength;
  4077. console.log("LazyFiles on gzip forces download of the whole file when length is accessed")
  4078. }
  4079. this._length = datalength;
  4080. this._chunkSize = chunkSize;
  4081. this.lengthKnown = true
  4082. };
  4083. if (typeof XMLHttpRequest !== "undefined") {
  4084. if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  4085. var lazyArray = new LazyUint8Array;
  4086. Object.defineProperties(lazyArray, {
  4087. length: {
  4088. get: function() {
  4089. if (!this.lengthKnown) {
  4090. this.cacheLength()
  4091. }
  4092. return this._length
  4093. }
  4094. },
  4095. chunkSize: {
  4096. get: function() {
  4097. if (!this.lengthKnown) {
  4098. this.cacheLength()
  4099. }
  4100. return this._chunkSize
  4101. }
  4102. }
  4103. });
  4104. var properties = {
  4105. isDevice: false,
  4106. contents: lazyArray
  4107. }
  4108. } else {
  4109. var properties = {
  4110. isDevice: false,
  4111. url: url
  4112. }
  4113. }
  4114. var node = FS.createFile(parent, name, properties, canRead, canWrite);
  4115. if (properties.contents) {
  4116. node.contents = properties.contents
  4117. } else if (properties.url) {
  4118. node.contents = null;
  4119. node.url = properties.url
  4120. }
  4121. Object.defineProperties(node, {
  4122. usedBytes: {
  4123. get: function() {
  4124. return this.contents.length
  4125. }
  4126. }
  4127. });
  4128. var stream_ops = {};
  4129. var keys = Object.keys(node.stream_ops);
  4130. keys.forEach(function(key) {
  4131. var fn = node.stream_ops[key];
  4132. stream_ops[key] = function forceLoadLazyFile() {
  4133. if (!FS.forceLoadFile(node)) {
  4134. throw new FS.ErrnoError(29)
  4135. }
  4136. return fn.apply(null, arguments)
  4137. }
  4138. });
  4139. stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
  4140. if (!FS.forceLoadFile(node)) {
  4141. throw new FS.ErrnoError(29)
  4142. }
  4143. var contents = stream.node.contents;
  4144. if (position >= contents.length) return 0;
  4145. var size = Math.min(contents.length - position, length);
  4146. assert(size >= 0);
  4147. if (contents.slice) {
  4148. for (var i = 0; i < size; i++) {
  4149. buffer[offset + i] = contents[position + i]
  4150. }
  4151. } else {
  4152. for (var i = 0; i < size; i++) {
  4153. buffer[offset + i] = contents.get(position + i)
  4154. }
  4155. }
  4156. return size
  4157. };
  4158. node.stream_ops = stream_ops;
  4159. return node
  4160. },
  4161. createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
  4162. Browser.init();
  4163. var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
  4164. var dep = getUniqueRunDependency("cp " + fullname);
  4165. function processData(byteArray) {
  4166. function finish(byteArray) {
  4167. if (preFinish) preFinish();
  4168. if (!dontCreateFile) {
  4169. FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn)
  4170. }
  4171. if (onload) onload();
  4172. removeRunDependency(dep)
  4173. }
  4174. var handled = false;
  4175. Module["preloadPlugins"].forEach(function(plugin) {
  4176. if (handled) return;
  4177. if (plugin["canHandle"](fullname)) {
  4178. plugin["handle"](byteArray, fullname, finish, function() {
  4179. if (onerror) onerror();
  4180. removeRunDependency(dep)
  4181. });
  4182. handled = true
  4183. }
  4184. });
  4185. if (!handled) finish(byteArray)
  4186. }
  4187. addRunDependency(dep);
  4188. if (typeof url == "string") {
  4189. Browser.asyncLoad(url, function(byteArray) {
  4190. processData(byteArray)
  4191. }, onerror)
  4192. } else {
  4193. processData(url)
  4194. }
  4195. },
  4196. indexedDB: function() {
  4197. return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB
  4198. },
  4199. DB_NAME: function() {
  4200. return "EM_FS_" + window.location.pathname
  4201. },
  4202. DB_VERSION: 20,
  4203. DB_STORE_NAME: "FILE_DATA",
  4204. saveFilesToDB: function(paths, onload, onerror) {
  4205. onload = onload || function() {};
  4206. onerror = onerror || function() {};
  4207. var indexedDB = FS.indexedDB();
  4208. try {
  4209. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION)
  4210. } catch (e) {
  4211. return onerror(e)
  4212. }
  4213. openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
  4214. console.log("creating db");
  4215. var db = openRequest.result;
  4216. db.createObjectStore(FS.DB_STORE_NAME)
  4217. };
  4218. openRequest.onsuccess = function openRequest_onsuccess() {
  4219. var db = openRequest.result;
  4220. var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");
  4221. var files = transaction.objectStore(FS.DB_STORE_NAME);
  4222. var ok = 0,
  4223. fail = 0,
  4224. total = paths.length;
  4225. function finish() {
  4226. if (fail == 0) onload();
  4227. else onerror()
  4228. }
  4229. paths.forEach(function(path) {
  4230. var putRequest = files.put(FS.analyzePath(path).object.contents, path);
  4231. putRequest.onsuccess = function putRequest_onsuccess() {
  4232. ok++;
  4233. if (ok + fail == total) finish()
  4234. };
  4235. putRequest.onerror = function putRequest_onerror() {
  4236. fail++;
  4237. if (ok + fail == total) finish()
  4238. }
  4239. });
  4240. transaction.onerror = onerror
  4241. };
  4242. openRequest.onerror = onerror
  4243. },
  4244. loadFilesFromDB: function(paths, onload, onerror) {
  4245. onload = onload || function() {};
  4246. onerror = onerror || function() {};
  4247. var indexedDB = FS.indexedDB();
  4248. try {
  4249. var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION)
  4250. } catch (e) {
  4251. return onerror(e)
  4252. }
  4253. openRequest.onupgradeneeded = onerror;
  4254. openRequest.onsuccess = function openRequest_onsuccess() {
  4255. var db = openRequest.result;
  4256. try {
  4257. var transaction = db.transaction([FS.DB_STORE_NAME], "readonly")
  4258. } catch (e) {
  4259. onerror(e);
  4260. return
  4261. }
  4262. var files = transaction.objectStore(FS.DB_STORE_NAME);
  4263. var ok = 0,
  4264. fail = 0,
  4265. total = paths.length;
  4266. function finish() {
  4267. if (fail == 0) onload();
  4268. else onerror()
  4269. }
  4270. paths.forEach(function(path) {
  4271. var getRequest = files.get(path);
  4272. getRequest.onsuccess = function getRequest_onsuccess() {
  4273. if (FS.analyzePath(path).exists) {
  4274. FS.unlink(path)
  4275. }
  4276. FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
  4277. ok++;
  4278. if (ok + fail == total) finish()
  4279. };
  4280. getRequest.onerror = function getRequest_onerror() {
  4281. fail++;
  4282. if (ok + fail == total) finish()
  4283. }
  4284. });
  4285. transaction.onerror = onerror
  4286. };
  4287. openRequest.onerror = onerror
  4288. }
  4289. };
  4290. var SYSCALLS = {
  4291. DEFAULT_POLLMASK: 5,
  4292. mappings: {},
  4293. umask: 511,
  4294. calculateAt: function(dirfd, path) {
  4295. if (path[0] !== "/") {
  4296. var dir;
  4297. if (dirfd === -100) {
  4298. dir = FS.cwd()
  4299. } else {
  4300. var dirstream = FS.getStream(dirfd);
  4301. if (!dirstream) throw new FS.ErrnoError(8);
  4302. dir = dirstream.path
  4303. }
  4304. path = PATH.join2(dir, path)
  4305. }
  4306. return path
  4307. },
  4308. doStat: function(func, path, buf) {
  4309. try {
  4310. var stat = func(path)
  4311. } catch (e) {
  4312. if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
  4313. return -54
  4314. }
  4315. throw e
  4316. }
  4317. HEAP32[buf >> 2] = stat.dev;
  4318. HEAP32[buf + 4 >> 2] = 0;
  4319. HEAP32[buf + 8 >> 2] = stat.ino;
  4320. HEAP32[buf + 12 >> 2] = stat.mode;
  4321. HEAP32[buf + 16 >> 2] = stat.nlink;
  4322. HEAP32[buf + 20 >> 2] = stat.uid;
  4323. HEAP32[buf + 24 >> 2] = stat.gid;
  4324. HEAP32[buf + 28 >> 2] = stat.rdev;
  4325. HEAP32[buf + 32 >> 2] = 0;
  4326. tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];
  4327. HEAP32[buf + 48 >> 2] = 4096;
  4328. HEAP32[buf + 52 >> 2] = stat.blocks;
  4329. HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0;
  4330. HEAP32[buf + 60 >> 2] = 0;
  4331. HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0;
  4332. HEAP32[buf + 68 >> 2] = 0;
  4333. HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0;
  4334. HEAP32[buf + 76 >> 2] = 0;
  4335. tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1];
  4336. return 0
  4337. },
  4338. doMsync: function(addr, stream, len, flags) {
  4339. var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
  4340. FS.msync(stream, buffer, 0, len, flags)
  4341. },
  4342. doMkdir: function(path, mode) {
  4343. path = PATH.normalize(path);
  4344. if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
  4345. FS.mkdir(path, mode, 0);
  4346. return 0
  4347. },
  4348. doMknod: function(path, mode, dev) {
  4349. switch (mode & 61440) {
  4350. case 32768:
  4351. case 8192:
  4352. case 24576:
  4353. case 4096:
  4354. case 49152:
  4355. break;
  4356. default:
  4357. return -28
  4358. }
  4359. FS.mknod(path, mode, dev);
  4360. return 0
  4361. },
  4362. doReadlink: function(path, buf, bufsize) {
  4363. if (bufsize <= 0) return -28;
  4364. var ret = FS.readlink(path);
  4365. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  4366. var endChar = HEAP8[buf + len];
  4367. stringToUTF8(ret, buf, bufsize + 1);
  4368. HEAP8[buf + len] = endChar;
  4369. return len
  4370. },
  4371. doAccess: function(path, amode) {
  4372. if (amode & ~7) {
  4373. return -28
  4374. }
  4375. var node;
  4376. var lookup = FS.lookupPath(path, {
  4377. follow: true
  4378. });
  4379. node = lookup.node;
  4380. if (!node) {
  4381. return -44
  4382. }
  4383. var perms = "";
  4384. if (amode & 4) perms += "r";
  4385. if (amode & 2) perms += "w";
  4386. if (amode & 1) perms += "x";
  4387. if (perms && FS.nodePermissions(node, perms)) {
  4388. return -2
  4389. }
  4390. return 0
  4391. },
  4392. doDup: function(path, flags, suggestFD) {
  4393. var suggest = FS.getStream(suggestFD);
  4394. if (suggest) FS.close(suggest);
  4395. return FS.open(path, flags, 0, suggestFD, suggestFD).fd
  4396. },
  4397. doReadv: function(stream, iov, iovcnt, offset) {
  4398. var ret = 0;
  4399. for (var i = 0; i < iovcnt; i++) {
  4400. var ptr = HEAP32[iov + i * 8 >> 2];
  4401. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  4402. var curr = FS.read(stream, HEAP8, ptr, len, offset);
  4403. if (curr < 0) return -1;
  4404. ret += curr;
  4405. if (curr < len) break
  4406. }
  4407. return ret
  4408. },
  4409. doWritev: function(stream, iov, iovcnt, offset) {
  4410. var ret = 0;
  4411. for (var i = 0; i < iovcnt; i++) {
  4412. var ptr = HEAP32[iov + i * 8 >> 2];
  4413. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  4414. var curr = FS.write(stream, HEAP8, ptr, len, offset);
  4415. if (curr < 0) return -1;
  4416. ret += curr
  4417. }
  4418. return ret
  4419. },
  4420. varargs: 0,
  4421. get: function(varargs) {
  4422. SYSCALLS.varargs += 4;
  4423. var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
  4424. return ret
  4425. },
  4426. getStr: function() {
  4427. var ret = UTF8ToString(SYSCALLS.get());
  4428. return ret
  4429. },
  4430. getStreamFromFD: function(fd) {
  4431. if (fd === undefined) fd = SYSCALLS.get();
  4432. var stream = FS.getStream(fd);
  4433. if (!stream) throw new FS.ErrnoError(8);
  4434. return stream
  4435. },
  4436. get64: function() {
  4437. var low = SYSCALLS.get(),
  4438. high = SYSCALLS.get();
  4439. if (low >= 0) assert(high === 0);
  4440. else assert(high === -1);
  4441. return low
  4442. },
  4443. getZero: function() {
  4444. assert(SYSCALLS.get() === 0)
  4445. }
  4446. };
  4447. function ___syscall221(which, varargs) {
  4448. SYSCALLS.varargs = varargs;
  4449. try {
  4450. var stream = SYSCALLS.getStreamFromFD(),
  4451. cmd = SYSCALLS.get();
  4452. switch (cmd) {
  4453. case 0: {
  4454. var arg = SYSCALLS.get();
  4455. if (arg < 0) {
  4456. return -28
  4457. }
  4458. var newStream;
  4459. newStream = FS.open(stream.path, stream.flags, 0, arg);
  4460. return newStream.fd
  4461. }
  4462. case 1:
  4463. case 2:
  4464. return 0;
  4465. case 3:
  4466. return stream.flags;
  4467. case 4: {
  4468. var arg = SYSCALLS.get();
  4469. stream.flags |= arg;
  4470. return 0
  4471. }
  4472. case 12: {
  4473. var arg = SYSCALLS.get();
  4474. var offset = 0;
  4475. HEAP16[arg + offset >> 1] = 2;
  4476. return 0
  4477. }
  4478. case 13:
  4479. case 14:
  4480. return 0;
  4481. case 16:
  4482. case 8:
  4483. return -28;
  4484. case 9:
  4485. ___setErrNo(28);
  4486. return -1;
  4487. default: {
  4488. return -28
  4489. }
  4490. }
  4491. } catch (e) {
  4492. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4493. return -e.errno
  4494. }
  4495. }
  4496. function ___syscall3(which, varargs) {
  4497. SYSCALLS.varargs = varargs;
  4498. try {
  4499. var stream = SYSCALLS.getStreamFromFD(),
  4500. buf = SYSCALLS.get(),
  4501. count = SYSCALLS.get();
  4502. return FS.read(stream, HEAP8, buf, count)
  4503. } catch (e) {
  4504. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4505. return -e.errno
  4506. }
  4507. }
  4508. function ___syscall5(which, varargs) {
  4509. SYSCALLS.varargs = varargs;
  4510. try {
  4511. var pathname = SYSCALLS.getStr(),
  4512. flags = SYSCALLS.get(),
  4513. mode = SYSCALLS.get();
  4514. var stream = FS.open(pathname, flags, mode);
  4515. return stream.fd
  4516. } catch (e) {
  4517. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4518. return -e.errno
  4519. }
  4520. }
  4521. function ___unlock() {}
  4522. function _fd_close(fd) {
  4523. try {
  4524. var stream = SYSCALLS.getStreamFromFD(fd);
  4525. FS.close(stream);
  4526. return 0
  4527. } catch (e) {
  4528. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4529. return e.errno
  4530. }
  4531. }
  4532. function ___wasi_fd_close() {
  4533. return _fd_close.apply(null, arguments)
  4534. }
  4535. function _fd_fdstat_get(fd, pbuf) {
  4536. try {
  4537. var stream = SYSCALLS.getStreamFromFD(fd);
  4538. var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
  4539. HEAP8[pbuf >> 0] = type;
  4540. return 0
  4541. } catch (e) {
  4542. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4543. return e.errno
  4544. }
  4545. }
  4546. function ___wasi_fd_fdstat_get() {
  4547. return _fd_fdstat_get.apply(null, arguments)
  4548. }
  4549. function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
  4550. try {
  4551. var stream = SYSCALLS.getStreamFromFD(fd);
  4552. var HIGH_OFFSET = 4294967296;
  4553. var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
  4554. var DOUBLE_LIMIT = 9007199254740992;
  4555. if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
  4556. return -61
  4557. }
  4558. FS.llseek(stream, offset, whence);
  4559. tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];
  4560. if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
  4561. return 0
  4562. } catch (e) {
  4563. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4564. return e.errno
  4565. }
  4566. }
  4567. function ___wasi_fd_seek() {
  4568. return _fd_seek.apply(null, arguments)
  4569. }
  4570. function _fd_write(fd, iov, iovcnt, pnum) {
  4571. try {
  4572. var stream = SYSCALLS.getStreamFromFD(fd);
  4573. var num = SYSCALLS.doWritev(stream, iov, iovcnt);
  4574. HEAP32[pnum >> 2] = num;
  4575. return 0
  4576. } catch (e) {
  4577. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
  4578. return e.errno
  4579. }
  4580. }
  4581. function ___wasi_fd_write() {
  4582. return _fd_write.apply(null, arguments)
  4583. }
  4584. function __emscripten_fetch_free(id) {
  4585. delete Fetch.xhrs[id - 1]
  4586. }
  4587. function _abort() {
  4588. abort()
  4589. }
  4590. function _clock() {
  4591. if (_clock.start === undefined) _clock.start = Date.now();
  4592. return (Date.now() - _clock.start) * (1e6 / 1e3) | 0
  4593. }
  4594. function _emscripten_get_now() {
  4595. abort()
  4596. }
  4597. function _emscripten_get_now_is_monotonic() {
  4598. return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function"
  4599. }
  4600. function _clock_gettime(clk_id, tp) {
  4601. var now;
  4602. if (clk_id === 0) {
  4603. now = Date.now()
  4604. } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) {
  4605. now = _emscripten_get_now()
  4606. } else {
  4607. ___setErrNo(28);
  4608. return -1
  4609. }
  4610. HEAP32[tp >> 2] = now / 1e3 | 0;
  4611. HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0;
  4612. return 0
  4613. }
  4614. function _emscripten_get_heap_size() {
  4615. return HEAP8.length
  4616. }
  4617. function _emscripten_is_main_browser_thread() {
  4618. return !ENVIRONMENT_IS_WORKER
  4619. }
  4620. function abortOnCannotGrowMemory(requestedSize) {
  4621. abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (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 ")
  4622. }
  4623. function _emscripten_resize_heap(requestedSize) {
  4624. abortOnCannotGrowMemory(requestedSize)
  4625. }
  4626. var Fetch = {
  4627. xhrs: [],
  4628. setu64: function(addr, val) {
  4629. HEAPU32[addr >> 2] = val;
  4630. HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0
  4631. },
  4632. openDatabase: function(dbname, dbversion, onsuccess, onerror) {
  4633. try {
  4634. var openRequest = indexedDB.open(dbname, dbversion)
  4635. } catch (e) {
  4636. return onerror(e)
  4637. }
  4638. openRequest.onupgradeneeded = function(event) {
  4639. var db = event.target.result;
  4640. if (db.objectStoreNames.contains("FILES")) {
  4641. db.deleteObjectStore("FILES")
  4642. }
  4643. db.createObjectStore("FILES")
  4644. };
  4645. openRequest.onsuccess = function(event) {
  4646. onsuccess(event.target.result)
  4647. };
  4648. openRequest.onerror = function(error) {
  4649. onerror(error)
  4650. }
  4651. },
  4652. staticInit: function() {
  4653. var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined";
  4654. var onsuccess = function(db) {
  4655. Fetch.dbInstance = db;
  4656. if (isMainThread) {
  4657. removeRunDependency("library_fetch_init")
  4658. }
  4659. };
  4660. var onerror = function() {
  4661. Fetch.dbInstance = false;
  4662. if (isMainThread) {
  4663. removeRunDependency("library_fetch_init")
  4664. }
  4665. };
  4666. Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror);
  4667. if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init")
  4668. }
  4669. };
  4670. function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) {
  4671. var url = HEAPU32[fetch + 8 >> 2];
  4672. if (!url) {
  4673. onerror(fetch, 0, "no url specified!");
  4674. return
  4675. }
  4676. var url_ = UTF8ToString(url);
  4677. var fetch_attr = fetch + 112;
  4678. var requestMethod = UTF8ToString(fetch_attr);
  4679. if (!requestMethod) requestMethod = "GET";
  4680. var userData = HEAPU32[fetch_attr + 32 >> 2];
  4681. var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2];
  4682. var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2];
  4683. var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2];
  4684. var destinationPath = HEAPU32[fetch_attr + 64 >> 2];
  4685. var userName = HEAPU32[fetch_attr + 68 >> 2];
  4686. var password = HEAPU32[fetch_attr + 72 >> 2];
  4687. var requestHeaders = HEAPU32[fetch_attr + 76 >> 2];
  4688. var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2];
  4689. var dataPtr = HEAPU32[fetch_attr + 84 >> 2];
  4690. var dataLength = HEAPU32[fetch_attr + 88 >> 2];
  4691. var fetchAttrLoadToMemory = !!(fetchAttributes & 1);
  4692. var fetchAttrStreamData = !!(fetchAttributes & 2);
  4693. var fetchAttrPersistFile = !!(fetchAttributes & 4);
  4694. var fetchAttrAppend = !!(fetchAttributes & 8);
  4695. var fetchAttrReplace = !!(fetchAttributes & 16);
  4696. var fetchAttrSynchronous = !!(fetchAttributes & 64);
  4697. var fetchAttrWaitable = !!(fetchAttributes & 128);
  4698. var userNameStr = userName ? UTF8ToString(userName) : undefined;
  4699. var passwordStr = password ? UTF8ToString(password) : undefined;
  4700. var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined;
  4701. var xhr = new XMLHttpRequest;
  4702. xhr.withCredentials = withCredentials;
  4703. xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr);
  4704. if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs;
  4705. xhr.url_ = url_;
  4706. assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()");
  4707. xhr.responseType = "arraybuffer";
  4708. if (overriddenMimeType) {
  4709. xhr.overrideMimeType(overriddenMimeTypeStr)
  4710. }
  4711. if (requestHeaders) {
  4712. for (;;) {
  4713. var key = HEAPU32[requestHeaders >> 2];
  4714. if (!key) break;
  4715. var value = HEAPU32[requestHeaders + 4 >> 2];
  4716. if (!value) break;
  4717. requestHeaders += 8;
  4718. var keyStr = UTF8ToString(key);
  4719. var valueStr = UTF8ToString(value);
  4720. xhr.setRequestHeader(keyStr, valueStr)
  4721. }
  4722. }
  4723. Fetch.xhrs.push(xhr);
  4724. var id = Fetch.xhrs.length;
  4725. HEAPU32[fetch + 0 >> 2] = id;
  4726. var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null;
  4727. xhr.onload = function(e) {
  4728. var len = xhr.response ? xhr.response.byteLength : 0;
  4729. var ptr = 0;
  4730. var ptrLen = 0;
  4731. if (fetchAttrLoadToMemory && !fetchAttrStreamData) {
  4732. ptrLen = len;
  4733. ptr = _malloc(ptrLen);
  4734. HEAPU8.set(new Uint8Array(xhr.response), ptr)
  4735. }
  4736. HEAPU32[fetch + 12 >> 2] = ptr;
  4737. Fetch.setu64(fetch + 16, ptrLen);
  4738. Fetch.setu64(fetch + 24, 0);
  4739. if (len) {
  4740. Fetch.setu64(fetch + 32, len)
  4741. }
  4742. HEAPU16[fetch + 40 >> 1] = xhr.readyState;
  4743. if (xhr.readyState === 4 && xhr.status === 0) {
  4744. if (len > 0) xhr.status = 200;
  4745. else xhr.status = 404
  4746. }
  4747. HEAPU16[fetch + 42 >> 1] = xhr.status;
  4748. if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64);
  4749. if (xhr.status >= 200 && xhr.status < 300) {
  4750. if (onsuccess) onsuccess(fetch, xhr, e)
  4751. } else {
  4752. if (onerror) onerror(fetch, xhr, e)
  4753. }
  4754. };
  4755. xhr.onerror = function(e) {
  4756. var status = xhr.status;
  4757. if (xhr.readyState === 4 && status === 0) status = 404;
  4758. HEAPU32[fetch + 12 >> 2] = 0;
  4759. Fetch.setu64(fetch + 16, 0);
  4760. Fetch.setu64(fetch + 24, 0);
  4761. Fetch.setu64(fetch + 32, 0);
  4762. HEAPU16[fetch + 40 >> 1] = xhr.readyState;
  4763. HEAPU16[fetch + 42 >> 1] = status;
  4764. if (onerror) onerror(fetch, xhr, e)
  4765. };
  4766. xhr.ontimeout = function(e) {
  4767. if (onerror) onerror(fetch, xhr, e)
  4768. };
  4769. xhr.onprogress = function(e) {
  4770. var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0;
  4771. var ptr = 0;
  4772. if (fetchAttrLoadToMemory && fetchAttrStreamData) {
  4773. ptr = _malloc(ptrLen);
  4774. HEAPU8.set(new Uint8Array(xhr.response), ptr)
  4775. }
  4776. HEAPU32[fetch + 12 >> 2] = ptr;
  4777. Fetch.setu64(fetch + 16, ptrLen);
  4778. Fetch.setu64(fetch + 24, e.loaded - ptrLen);
  4779. Fetch.setu64(fetch + 32, e.total);
  4780. HEAPU16[fetch + 40 >> 1] = xhr.readyState;
  4781. if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200;
  4782. HEAPU16[fetch + 42 >> 1] = xhr.status;
  4783. if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64);
  4784. if (onprogress) onprogress(fetch, xhr, e)
  4785. };
  4786. xhr.onreadystatechange = function(e) {
  4787. HEAPU16[fetch + 40 >> 1] = xhr.readyState;
  4788. if (xhr.readyState >= 2) {
  4789. HEAPU16[fetch + 42 >> 1] = xhr.status
  4790. }
  4791. if (onreadystatechange) onreadystatechange(fetch, xhr, e)
  4792. };
  4793. try {
  4794. xhr.send(data)
  4795. } catch (e) {
  4796. if (onerror) onerror(fetch, xhr, e)
  4797. }
  4798. }
  4799. function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) {
  4800. if (!db) {
  4801. onerror(fetch, 0, "IndexedDB not available!");
  4802. return
  4803. }
  4804. var fetch_attr = fetch + 112;
  4805. var destinationPath = HEAPU32[fetch_attr + 64 >> 2];
  4806. if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2];
  4807. var destinationPathStr = UTF8ToString(destinationPath);
  4808. try {
  4809. var transaction = db.transaction(["FILES"], "readwrite");
  4810. var packages = transaction.objectStore("FILES");
  4811. var putRequest = packages.put(data, destinationPathStr);
  4812. putRequest.onsuccess = function(event) {
  4813. HEAPU16[fetch + 40 >> 1] = 4;
  4814. HEAPU16[fetch + 42 >> 1] = 200;
  4815. stringToUTF8("OK", fetch + 44, 64);
  4816. onsuccess(fetch, 0, destinationPathStr)
  4817. };
  4818. putRequest.onerror = function(error) {
  4819. HEAPU16[fetch + 40 >> 1] = 4;
  4820. HEAPU16[fetch + 42 >> 1] = 413;
  4821. stringToUTF8("Payload Too Large", fetch + 44, 64);
  4822. onerror(fetch, 0, error)
  4823. }
  4824. } catch (e) {
  4825. onerror(fetch, 0, e)
  4826. }
  4827. }
  4828. function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) {
  4829. if (!db) {
  4830. onerror(fetch, 0, "IndexedDB not available!");
  4831. return
  4832. }
  4833. var fetch_attr = fetch + 112;
  4834. var path = HEAPU32[fetch_attr + 64 >> 2];
  4835. if (!path) path = HEAPU32[fetch + 8 >> 2];
  4836. var pathStr = UTF8ToString(path);
  4837. try {
  4838. var transaction = db.transaction(["FILES"], "readonly");
  4839. var packages = transaction.objectStore("FILES");
  4840. var getRequest = packages.get(pathStr);
  4841. getRequest.onsuccess = function(event) {
  4842. if (event.target.result) {
  4843. var value = event.target.result;
  4844. var len = value.byteLength || value.length;
  4845. var ptr = _malloc(len);
  4846. HEAPU8.set(new Uint8Array(value), ptr);
  4847. HEAPU32[fetch + 12 >> 2] = ptr;
  4848. Fetch.setu64(fetch + 16, len);
  4849. Fetch.setu64(fetch + 24, 0);
  4850. Fetch.setu64(fetch + 32, len);
  4851. HEAPU16[fetch + 40 >> 1] = 4;
  4852. HEAPU16[fetch + 42 >> 1] = 200;
  4853. stringToUTF8("OK", fetch + 44, 64);
  4854. onsuccess(fetch, 0, value)
  4855. } else {
  4856. HEAPU16[fetch + 40 >> 1] = 4;
  4857. HEAPU16[fetch + 42 >> 1] = 404;
  4858. stringToUTF8("Not Found", fetch + 44, 64);
  4859. onerror(fetch, 0, "no data")
  4860. }
  4861. };
  4862. getRequest.onerror = function(error) {
  4863. HEAPU16[fetch + 40 >> 1] = 4;
  4864. HEAPU16[fetch + 42 >> 1] = 404;
  4865. stringToUTF8("Not Found", fetch + 44, 64);
  4866. onerror(fetch, 0, error)
  4867. }
  4868. } catch (e) {
  4869. onerror(fetch, 0, e)
  4870. }
  4871. }
  4872. function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) {
  4873. if (!db) {
  4874. onerror(fetch, 0, "IndexedDB not available!");
  4875. return
  4876. }
  4877. var fetch_attr = fetch + 112;
  4878. var path = HEAPU32[fetch_attr + 64 >> 2];
  4879. if (!path) path = HEAPU32[fetch + 8 >> 2];
  4880. var pathStr = UTF8ToString(path);
  4881. try {
  4882. var transaction = db.transaction(["FILES"], "readwrite");
  4883. var packages = transaction.objectStore("FILES");
  4884. var request = packages.delete(pathStr);
  4885. request.onsuccess = function(event) {
  4886. var value = event.target.result;
  4887. HEAPU32[fetch + 12 >> 2] = 0;
  4888. Fetch.setu64(fetch + 16, 0);
  4889. Fetch.setu64(fetch + 24, 0);
  4890. Fetch.setu64(fetch + 32, 0);
  4891. HEAPU16[fetch + 40 >> 1] = 4;
  4892. HEAPU16[fetch + 42 >> 1] = 200;
  4893. stringToUTF8("OK", fetch + 44, 64);
  4894. onsuccess(fetch, 0, value)
  4895. };
  4896. request.onerror = function(error) {
  4897. HEAPU16[fetch + 40 >> 1] = 4;
  4898. HEAPU16[fetch + 42 >> 1] = 404;
  4899. stringToUTF8("Not Found", fetch + 44, 64);
  4900. onerror(fetch, 0, error)
  4901. }
  4902. } catch (e) {
  4903. onerror(fetch, 0, e)
  4904. }
  4905. }
  4906. function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) {
  4907. if (typeof noExitRuntime !== "undefined") noExitRuntime = true;
  4908. var fetch_attr = fetch + 112;
  4909. var requestMethod = UTF8ToString(fetch_attr);
  4910. var onsuccess = HEAPU32[fetch_attr + 36 >> 2];
  4911. var onerror = HEAPU32[fetch_attr + 40 >> 2];
  4912. var onprogress = HEAPU32[fetch_attr + 44 >> 2];
  4913. var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2];
  4914. var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2];
  4915. var fetchAttrLoadToMemory = !!(fetchAttributes & 1);
  4916. var fetchAttrStreamData = !!(fetchAttributes & 2);
  4917. var fetchAttrPersistFile = !!(fetchAttributes & 4);
  4918. var fetchAttrNoDownload = !!(fetchAttributes & 32);
  4919. var fetchAttrAppend = !!(fetchAttributes & 8);
  4920. var fetchAttrReplace = !!(fetchAttributes & 16);
  4921. var reportSuccess = function(fetch, xhr, e) {
  4922. if (onsuccess) dynCall_vi(onsuccess, fetch);
  4923. else if (successcb) successcb(fetch)
  4924. };
  4925. var reportProgress = function(fetch, xhr, e) {
  4926. if (onprogress) dynCall_vi(onprogress, fetch);
  4927. else if (progresscb) progresscb(fetch)
  4928. };
  4929. var reportError = function(fetch, xhr, e) {
  4930. if (onerror) dynCall_vi(onerror, fetch);
  4931. else if (errorcb) errorcb(fetch)
  4932. };
  4933. var reportReadyStateChange = function(fetch, xhr, e) {
  4934. if (onreadystatechange) dynCall_vi(onreadystatechange, fetch);
  4935. else if (readystatechangecb) readystatechangecb(fetch)
  4936. };
  4937. var performUncachedXhr = function(fetch, xhr, e) {
  4938. __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange)
  4939. };
  4940. var cacheResultAndReportSuccess = function(fetch, xhr, e) {
  4941. var storeSuccess = function(fetch, xhr, e) {
  4942. if (onsuccess) dynCall_vi(onsuccess, fetch);
  4943. else if (successcb) successcb(fetch)
  4944. };
  4945. var storeError = function(fetch, xhr, e) {
  4946. if (onsuccess) dynCall_vi(onsuccess, fetch);
  4947. else if (successcb) successcb(fetch)
  4948. };
  4949. __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError)
  4950. };
  4951. var performCachedXhr = function(fetch, xhr, e) {
  4952. __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange)
  4953. };
  4954. if (requestMethod === "EM_IDB_STORE") {
  4955. var ptr = HEAPU32[fetch_attr + 84 >> 2];
  4956. __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError)
  4957. } else if (requestMethod === "EM_IDB_DELETE") {
  4958. __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError)
  4959. } else if (!fetchAttrReplace) {
  4960. __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr)
  4961. } else if (!fetchAttrNoDownload) {
  4962. __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange)
  4963. } else {
  4964. return 0
  4965. }
  4966. return fetch
  4967. }
  4968. var _fabs = Math_abs;
  4969. function _getenv(name) {
  4970. if (name === 0) return 0;
  4971. name = UTF8ToString(name);
  4972. if (!ENV.hasOwnProperty(name)) return 0;
  4973. if (_getenv.ret) _free(_getenv.ret);
  4974. _getenv.ret = allocateUTF8(ENV[name]);
  4975. return _getenv.ret
  4976. }
  4977. function _gettimeofday(ptr) {
  4978. var now = Date.now();
  4979. HEAP32[ptr >> 2] = now / 1e3 | 0;
  4980. HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0;
  4981. return 0
  4982. }
  4983. var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096);
  4984. function _gmtime_r(time, tmPtr) {
  4985. var date = new Date(HEAP32[time >> 2] * 1e3);
  4986. HEAP32[tmPtr >> 2] = date.getUTCSeconds();
  4987. HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();
  4988. HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();
  4989. HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();
  4990. HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();
  4991. HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;
  4992. HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
  4993. HEAP32[tmPtr + 36 >> 2] = 0;
  4994. HEAP32[tmPtr + 32 >> 2] = 0;
  4995. var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
  4996. var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
  4997. HEAP32[tmPtr + 28 >> 2] = yday;
  4998. HEAP32[tmPtr + 40 >> 2] = ___tm_timezone;
  4999. return tmPtr
  5000. }
  5001. function _llvm_exp2_f32(x) {
  5002. return Math.pow(2, x)
  5003. }
  5004. function _llvm_exp2_f64(a0) {
  5005. return _llvm_exp2_f32(a0)
  5006. }
  5007. function _llvm_log2_f32(x) {
  5008. return Math.log(x) / Math.LN2
  5009. }
  5010. function _llvm_stackrestore(p) {
  5011. var self = _llvm_stacksave;
  5012. var ret = self.LLVM_SAVEDSTACKS[p];
  5013. self.LLVM_SAVEDSTACKS.splice(p, 1);
  5014. stackRestore(ret)
  5015. }
  5016. function _llvm_stacksave() {
  5017. var self = _llvm_stacksave;
  5018. if (!self.LLVM_SAVEDSTACKS) {
  5019. self.LLVM_SAVEDSTACKS = []
  5020. }
  5021. self.LLVM_SAVEDSTACKS.push(stackSave());
  5022. return self.LLVM_SAVEDSTACKS.length - 1
  5023. }
  5024. var _llvm_trunc_f64 = Math_trunc;
  5025. function _tzset() {
  5026. if (_tzset.called) return;
  5027. _tzset.called = true;
  5028. HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60;
  5029. var currentYear = (new Date).getFullYear();
  5030. var winter = new Date(currentYear, 0, 1);
  5031. var summer = new Date(currentYear, 6, 1);
  5032. HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
  5033. function extractZone(date) {
  5034. var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
  5035. return match ? match[1] : "GMT"
  5036. }
  5037. var winterName = extractZone(winter);
  5038. var summerName = extractZone(summer);
  5039. var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL);
  5040. var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL);
  5041. if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
  5042. HEAP32[__get_tzname() >> 2] = winterNamePtr;
  5043. HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr
  5044. } else {
  5045. HEAP32[__get_tzname() >> 2] = summerNamePtr;
  5046. HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr
  5047. }
  5048. }
  5049. function _localtime_r(time, tmPtr) {
  5050. _tzset();
  5051. var date = new Date(HEAP32[time >> 2] * 1e3);
  5052. HEAP32[tmPtr >> 2] = date.getSeconds();
  5053. HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
  5054. HEAP32[tmPtr + 8 >> 2] = date.getHours();
  5055. HEAP32[tmPtr + 12 >> 2] = date.getDate();
  5056. HEAP32[tmPtr + 16 >> 2] = date.getMonth();
  5057. HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
  5058. HEAP32[tmPtr + 24 >> 2] = date.getDay();
  5059. var start = new Date(date.getFullYear(), 0, 1);
  5060. var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0;
  5061. HEAP32[tmPtr + 28 >> 2] = yday;
  5062. HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
  5063. var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
  5064. var winterOffset = start.getTimezoneOffset();
  5065. var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
  5066. HEAP32[tmPtr + 32 >> 2] = dst;
  5067. var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2];
  5068. HEAP32[tmPtr + 40 >> 2] = zonePtr;
  5069. return tmPtr
  5070. }
  5071. function _emscripten_memcpy_big(dest, src, num) {
  5072. HEAPU8.set(HEAPU8.subarray(src, src + num), dest)
  5073. }
  5074. function _usleep(useconds) {
  5075. var msec = useconds / 1e3;
  5076. if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) {
  5077. var start = self["performance"]["now"]();
  5078. while (self["performance"]["now"]() - start < msec) {}
  5079. } else {
  5080. var start = Date.now();
  5081. while (Date.now() - start < msec) {}
  5082. }
  5083. return 0
  5084. }
  5085. Module["_usleep"] = _usleep;
  5086. function _nanosleep(rqtp, rmtp) {
  5087. if (rqtp === 0) {
  5088. ___setErrNo(28);
  5089. return -1
  5090. }
  5091. var seconds = HEAP32[rqtp >> 2];
  5092. var nanoseconds = HEAP32[rqtp + 4 >> 2];
  5093. if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) {
  5094. ___setErrNo(28);
  5095. return -1
  5096. }
  5097. if (rmtp !== 0) {
  5098. HEAP32[rmtp >> 2] = 0;
  5099. HEAP32[rmtp + 4 >> 2] = 0
  5100. }
  5101. return _usleep(seconds * 1e6 + nanoseconds / 1e3)
  5102. }
  5103. function _pthread_cond_destroy() {
  5104. return 0
  5105. }
  5106. function _pthread_cond_init() {
  5107. return 0
  5108. }
  5109. function _pthread_create() {
  5110. return 6
  5111. }
  5112. function _pthread_join() {}
  5113. function __isLeapYear(year) {
  5114. return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)
  5115. }
  5116. function __arraySum(array, index) {
  5117. var sum = 0;
  5118. for (var i = 0; i <= index; sum += array[i++]);
  5119. return sum
  5120. }
  5121. var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  5122. var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  5123. function __addDays(date, days) {
  5124. var newDate = new Date(date.getTime());
  5125. while (days > 0) {
  5126. var leap = __isLeapYear(newDate.getFullYear());
  5127. var currentMonth = newDate.getMonth();
  5128. var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
  5129. if (days > daysInCurrentMonth - newDate.getDate()) {
  5130. days -= daysInCurrentMonth - newDate.getDate() + 1;
  5131. newDate.setDate(1);
  5132. if (currentMonth < 11) {
  5133. newDate.setMonth(currentMonth + 1)
  5134. } else {
  5135. newDate.setMonth(0);
  5136. newDate.setFullYear(newDate.getFullYear() + 1)
  5137. }
  5138. } else {
  5139. newDate.setDate(newDate.getDate() + days);
  5140. return newDate
  5141. }
  5142. }
  5143. return newDate
  5144. }
  5145. function _strftime(s, maxsize, format, tm) {
  5146. var tm_zone = HEAP32[tm + 40 >> 2];
  5147. var date = {
  5148. tm_sec: HEAP32[tm >> 2],
  5149. tm_min: HEAP32[tm + 4 >> 2],
  5150. tm_hour: HEAP32[tm + 8 >> 2],
  5151. tm_mday: HEAP32[tm + 12 >> 2],
  5152. tm_mon: HEAP32[tm + 16 >> 2],
  5153. tm_year: HEAP32[tm + 20 >> 2],
  5154. tm_wday: HEAP32[tm + 24 >> 2],
  5155. tm_yday: HEAP32[tm + 28 >> 2],
  5156. tm_isdst: HEAP32[tm + 32 >> 2],
  5157. tm_gmtoff: HEAP32[tm + 36 >> 2],
  5158. tm_zone: tm_zone ? UTF8ToString(tm_zone) : ""
  5159. };
  5160. var pattern = UTF8ToString(format);
  5161. var EXPANSION_RULES_1 = {
  5162. "%c": "%a %b %d %H:%M:%S %Y",
  5163. "%D": "%m/%d/%y",
  5164. "%F": "%Y-%m-%d",
  5165. "%h": "%b",
  5166. "%r": "%I:%M:%S %p",
  5167. "%R": "%H:%M",
  5168. "%T": "%H:%M:%S",
  5169. "%x": "%m/%d/%y",
  5170. "%X": "%H:%M:%S",
  5171. "%Ec": "%c",
  5172. "%EC": "%C",
  5173. "%Ex": "%m/%d/%y",
  5174. "%EX": "%H:%M:%S",
  5175. "%Ey": "%y",
  5176. "%EY": "%Y",
  5177. "%Od": "%d",
  5178. "%Oe": "%e",
  5179. "%OH": "%H",
  5180. "%OI": "%I",
  5181. "%Om": "%m",
  5182. "%OM": "%M",
  5183. "%OS": "%S",
  5184. "%Ou": "%u",
  5185. "%OU": "%U",
  5186. "%OV": "%V",
  5187. "%Ow": "%w",
  5188. "%OW": "%W",
  5189. "%Oy": "%y"
  5190. };
  5191. for (var rule in EXPANSION_RULES_1) {
  5192. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule])
  5193. }
  5194. var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
  5195. var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  5196. function leadingSomething(value, digits, character) {
  5197. var str = typeof value === "number" ? value.toString() : value || "";
  5198. while (str.length < digits) {
  5199. str = character[0] + str
  5200. }
  5201. return str
  5202. }
  5203. function leadingNulls(value, digits) {
  5204. return leadingSomething(value, digits, "0")
  5205. }
  5206. function compareByDay(date1, date2) {
  5207. function sgn(value) {
  5208. return value < 0 ? -1 : value > 0 ? 1 : 0
  5209. }
  5210. var compare;
  5211. if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
  5212. if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
  5213. compare = sgn(date1.getDate() - date2.getDate())
  5214. }
  5215. }
  5216. return compare
  5217. }
  5218. function getFirstWeekStartDate(janFourth) {
  5219. switch (janFourth.getDay()) {
  5220. case 0:
  5221. return new Date(janFourth.getFullYear() - 1, 11, 29);
  5222. case 1:
  5223. return janFourth;
  5224. case 2:
  5225. return new Date(janFourth.getFullYear(), 0, 3);
  5226. case 3:
  5227. return new Date(janFourth.getFullYear(), 0, 2);
  5228. case 4:
  5229. return new Date(janFourth.getFullYear(), 0, 1);
  5230. case 5:
  5231. return new Date(janFourth.getFullYear() - 1, 11, 31);
  5232. case 6:
  5233. return new Date(janFourth.getFullYear() - 1, 11, 30)
  5234. }
  5235. }
  5236. function getWeekBasedYear(date) {
  5237. var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
  5238. var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
  5239. var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
  5240. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  5241. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  5242. if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
  5243. if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
  5244. return thisDate.getFullYear() + 1
  5245. } else {
  5246. return thisDate.getFullYear()
  5247. }
  5248. } else {
  5249. return thisDate.getFullYear() - 1
  5250. }
  5251. }
  5252. var EXPANSION_RULES_2 = {
  5253. "%a": function(date) {
  5254. return WEEKDAYS[date.tm_wday].substring(0, 3)
  5255. },
  5256. "%A": function(date) {
  5257. return WEEKDAYS[date.tm_wday]
  5258. },
  5259. "%b": function(date) {
  5260. return MONTHS[date.tm_mon].substring(0, 3)
  5261. },
  5262. "%B": function(date) {
  5263. return MONTHS[date.tm_mon]
  5264. },
  5265. "%C": function(date) {
  5266. var year = date.tm_year + 1900;
  5267. return leadingNulls(year / 100 | 0, 2)
  5268. },
  5269. "%d": function(date) {
  5270. return leadingNulls(date.tm_mday, 2)
  5271. },
  5272. "%e": function(date) {
  5273. return leadingSomething(date.tm_mday, 2, " ")
  5274. },
  5275. "%g": function(date) {
  5276. return getWeekBasedYear(date).toString().substring(2)
  5277. },
  5278. "%G": function(date) {
  5279. return getWeekBasedYear(date)
  5280. },
  5281. "%H": function(date) {
  5282. return leadingNulls(date.tm_hour, 2)
  5283. },
  5284. "%I": function(date) {
  5285. var twelveHour = date.tm_hour;
  5286. if (twelveHour == 0) twelveHour = 12;
  5287. else if (twelveHour > 12) twelveHour -= 12;
  5288. return leadingNulls(twelveHour, 2)
  5289. },
  5290. "%j": function(date) {
  5291. return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3)
  5292. },
  5293. "%m": function(date) {
  5294. return leadingNulls(date.tm_mon + 1, 2)
  5295. },
  5296. "%M": function(date) {
  5297. return leadingNulls(date.tm_min, 2)
  5298. },
  5299. "%n": function() {
  5300. return "\n"
  5301. },
  5302. "%p": function(date) {
  5303. if (date.tm_hour >= 0 && date.tm_hour < 12) {
  5304. return "AM"
  5305. } else {
  5306. return "PM"
  5307. }
  5308. },
  5309. "%S": function(date) {
  5310. return leadingNulls(date.tm_sec, 2)
  5311. },
  5312. "%t": function() {
  5313. return "\t"
  5314. },
  5315. "%u": function(date) {
  5316. return date.tm_wday || 7
  5317. },
  5318. "%U": function(date) {
  5319. var janFirst = new Date(date.tm_year + 1900, 0, 1);
  5320. var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
  5321. var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
  5322. if (compareByDay(firstSunday, endDate) < 0) {
  5323. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  5324. var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
  5325. var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  5326. return leadingNulls(Math.ceil(days / 7), 2)
  5327. }
  5328. return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00"
  5329. },
  5330. "%V": function(date) {
  5331. var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4);
  5332. var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4);
  5333. var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
  5334. var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
  5335. var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
  5336. if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
  5337. return "53"
  5338. }
  5339. if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
  5340. return "01"
  5341. }
  5342. var daysDifference;
  5343. if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) {
  5344. daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate()
  5345. } else {
  5346. daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate()
  5347. }
  5348. return leadingNulls(Math.ceil(daysDifference / 7), 2)
  5349. },
  5350. "%w": function(date) {
  5351. return date.tm_wday
  5352. },
  5353. "%W": function(date) {
  5354. var janFirst = new Date(date.tm_year, 0, 1);
  5355. var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
  5356. var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
  5357. if (compareByDay(firstMonday, endDate) < 0) {
  5358. var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
  5359. var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
  5360. var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
  5361. return leadingNulls(Math.ceil(days / 7), 2)
  5362. }
  5363. return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00"
  5364. },
  5365. "%y": function(date) {
  5366. return (date.tm_year + 1900).toString().substring(2)
  5367. },
  5368. "%Y": function(date) {
  5369. return date.tm_year + 1900
  5370. },
  5371. "%z": function(date) {
  5372. var off = date.tm_gmtoff;
  5373. var ahead = off >= 0;
  5374. off = Math.abs(off) / 60;
  5375. off = off / 60 * 100 + off % 60;
  5376. return (ahead ? "+" : "-") + String("0000" + off).slice(-4)
  5377. },
  5378. "%Z": function(date) {
  5379. return date.tm_zone
  5380. },
  5381. "%%": function() {
  5382. return "%"
  5383. }
  5384. };
  5385. for (var rule in EXPANSION_RULES_2) {
  5386. if (pattern.indexOf(rule) >= 0) {
  5387. pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date))
  5388. }
  5389. }
  5390. var bytes = intArrayFromString(pattern, false);
  5391. if (bytes.length > maxsize) {
  5392. return 0
  5393. }
  5394. writeArrayToMemory(bytes, s);
  5395. return bytes.length - 1
  5396. }
  5397. function _sysconf(name) {
  5398. switch (name) {
  5399. case 30:
  5400. return PAGE_SIZE;
  5401. case 85:
  5402. var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536;
  5403. maxHeapSize = HEAPU8.length;
  5404. return maxHeapSize / PAGE_SIZE;
  5405. case 132:
  5406. case 133:
  5407. case 12:
  5408. case 137:
  5409. case 138:
  5410. case 15:
  5411. case 235:
  5412. case 16:
  5413. case 17:
  5414. case 18:
  5415. case 19:
  5416. case 20:
  5417. case 149:
  5418. case 13:
  5419. case 10:
  5420. case 236:
  5421. case 153:
  5422. case 9:
  5423. case 21:
  5424. case 22:
  5425. case 159:
  5426. case 154:
  5427. case 14:
  5428. case 77:
  5429. case 78:
  5430. case 139:
  5431. case 80:
  5432. case 81:
  5433. case 82:
  5434. case 68:
  5435. case 67:
  5436. case 164:
  5437. case 11:
  5438. case 29:
  5439. case 47:
  5440. case 48:
  5441. case 95:
  5442. case 52:
  5443. case 51:
  5444. case 46:
  5445. return 200809;
  5446. case 79:
  5447. return 0;
  5448. case 27:
  5449. case 246:
  5450. case 127:
  5451. case 128:
  5452. case 23:
  5453. case 24:
  5454. case 160:
  5455. case 161:
  5456. case 181:
  5457. case 182:
  5458. case 242:
  5459. case 183:
  5460. case 184:
  5461. case 243:
  5462. case 244:
  5463. case 245:
  5464. case 165:
  5465. case 178:
  5466. case 179:
  5467. case 49:
  5468. case 50:
  5469. case 168:
  5470. case 169:
  5471. case 175:
  5472. case 170:
  5473. case 171:
  5474. case 172:
  5475. case 97:
  5476. case 76:
  5477. case 32:
  5478. case 173:
  5479. case 35:
  5480. return -1;
  5481. case 176:
  5482. case 177:
  5483. case 7:
  5484. case 155:
  5485. case 8:
  5486. case 157:
  5487. case 125:
  5488. case 126:
  5489. case 92:
  5490. case 93:
  5491. case 129:
  5492. case 130:
  5493. case 131:
  5494. case 94:
  5495. case 91:
  5496. return 1;
  5497. case 74:
  5498. case 60:
  5499. case 69:
  5500. case 70:
  5501. case 4:
  5502. return 1024;
  5503. case 31:
  5504. case 42:
  5505. case 72:
  5506. return 32;
  5507. case 87:
  5508. case 26:
  5509. case 33:
  5510. return 2147483647;
  5511. case 34:
  5512. case 1:
  5513. return 47839;
  5514. case 38:
  5515. case 36:
  5516. return 99;
  5517. case 43:
  5518. case 37:
  5519. return 2048;
  5520. case 0:
  5521. return 2097152;
  5522. case 3:
  5523. return 65536;
  5524. case 28:
  5525. return 32768;
  5526. case 44:
  5527. return 32767;
  5528. case 75:
  5529. return 16384;
  5530. case 39:
  5531. return 1e3;
  5532. case 89:
  5533. return 700;
  5534. case 71:
  5535. return 256;
  5536. case 40:
  5537. return 255;
  5538. case 2:
  5539. return 100;
  5540. case 180:
  5541. return 64;
  5542. case 25:
  5543. return 20;
  5544. case 5:
  5545. return 16;
  5546. case 6:
  5547. return 6;
  5548. case 73:
  5549. return 4;
  5550. case 84: {
  5551. if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1;
  5552. return 1
  5553. }
  5554. }
  5555. ___setErrNo(28);
  5556. return -1
  5557. }
  5558. function _time(ptr) {
  5559. var ret = Date.now() / 1e3 | 0;
  5560. if (ptr) {
  5561. HEAP32[ptr >> 2] = ret
  5562. }
  5563. return ret
  5564. }
  5565. FS.staticInit();
  5566. if (ENVIRONMENT_HAS_NODE) {
  5567. var fs = require("fs");
  5568. var NODEJS_PATH = require("path");
  5569. NODEFS.staticInit()
  5570. }
  5571. if (ENVIRONMENT_IS_NODE) {
  5572. _emscripten_get_now = function _emscripten_get_now_actual() {
  5573. var t = process["hrtime"]();
  5574. return t[0] * 1e3 + t[1] / 1e6
  5575. }
  5576. } else if (typeof dateNow !== "undefined") {
  5577. _emscripten_get_now = dateNow
  5578. } else if (typeof performance === "object" && performance && typeof performance["now"] === "function") {
  5579. _emscripten_get_now = function() {
  5580. return performance["now"]()
  5581. }
  5582. } else {
  5583. _emscripten_get_now = Date.now
  5584. }
  5585. Fetch.staticInit();
  5586. function intArrayFromString(stringy, dontAddNull, length) {
  5587. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  5588. var u8array = new Array(len);
  5589. var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
  5590. if (dontAddNull) u8array.length = numBytesWritten;
  5591. return u8array
  5592. }
  5593. var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "jsCall_dd_35", "jsCall_dd_36", "jsCall_dd_37", "jsCall_dd_38", "jsCall_dd_39", "jsCall_dd_40", "jsCall_dd_41", "jsCall_dd_42", "jsCall_dd_43", "jsCall_dd_44", "jsCall_dd_45", "jsCall_dd_46", "jsCall_dd_47", "jsCall_dd_48", "jsCall_dd_49", "jsCall_dd_50", "jsCall_dd_51", "jsCall_dd_52", "jsCall_dd_53", "jsCall_dd_54", "jsCall_dd_55", "jsCall_dd_56", "jsCall_dd_57", "jsCall_dd_58", "jsCall_dd_59", "jsCall_dd_60", "jsCall_dd_61", "jsCall_dd_62", "jsCall_dd_63", "jsCall_dd_64", "jsCall_dd_65", "jsCall_dd_66", "jsCall_dd_67", "jsCall_dd_68", "jsCall_dd_69", "jsCall_dd_70", "jsCall_dd_71", "jsCall_dd_72", "jsCall_dd_73", "jsCall_dd_74", "jsCall_dd_75", "jsCall_dd_76", "jsCall_dd_77", "jsCall_dd_78", "jsCall_dd_79", "jsCall_dd_80", "jsCall_dd_81", "jsCall_dd_82", "jsCall_dd_83", "jsCall_dd_84", "jsCall_dd_85", "jsCall_dd_86", "jsCall_dd_87", "jsCall_dd_88", "jsCall_dd_89", "jsCall_dd_90", "jsCall_dd_91", "jsCall_dd_92", "jsCall_dd_93", "jsCall_dd_94", "jsCall_dd_95", "jsCall_dd_96", "jsCall_dd_97", "jsCall_dd_98", "jsCall_dd_99", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5594. var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", "jsCall_did_35", "jsCall_did_36", "jsCall_did_37", "jsCall_did_38", "jsCall_did_39", "jsCall_did_40", "jsCall_did_41", "jsCall_did_42", "jsCall_did_43", "jsCall_did_44", "jsCall_did_45", "jsCall_did_46", "jsCall_did_47", "jsCall_did_48", "jsCall_did_49", "jsCall_did_50", "jsCall_did_51", "jsCall_did_52", "jsCall_did_53", "jsCall_did_54", "jsCall_did_55", "jsCall_did_56", "jsCall_did_57", "jsCall_did_58", "jsCall_did_59", "jsCall_did_60", "jsCall_did_61", "jsCall_did_62", "jsCall_did_63", "jsCall_did_64", "jsCall_did_65", "jsCall_did_66", "jsCall_did_67", "jsCall_did_68", "jsCall_did_69", "jsCall_did_70", "jsCall_did_71", "jsCall_did_72", "jsCall_did_73", "jsCall_did_74", "jsCall_did_75", "jsCall_did_76", "jsCall_did_77", "jsCall_did_78", "jsCall_did_79", "jsCall_did_80", "jsCall_did_81", "jsCall_did_82", "jsCall_did_83", "jsCall_did_84", "jsCall_did_85", "jsCall_did_86", "jsCall_did_87", "jsCall_did_88", "jsCall_did_89", "jsCall_did_90", "jsCall_did_91", "jsCall_did_92", "jsCall_did_93", "jsCall_did_94", "jsCall_did_95", "jsCall_did_96", "jsCall_did_97", "jsCall_did_98", "jsCall_did_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5595. var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", "jsCall_didd_35", "jsCall_didd_36", "jsCall_didd_37", "jsCall_didd_38", "jsCall_didd_39", "jsCall_didd_40", "jsCall_didd_41", "jsCall_didd_42", "jsCall_didd_43", "jsCall_didd_44", "jsCall_didd_45", "jsCall_didd_46", "jsCall_didd_47", "jsCall_didd_48", "jsCall_didd_49", "jsCall_didd_50", "jsCall_didd_51", "jsCall_didd_52", "jsCall_didd_53", "jsCall_didd_54", "jsCall_didd_55", "jsCall_didd_56", "jsCall_didd_57", "jsCall_didd_58", "jsCall_didd_59", "jsCall_didd_60", "jsCall_didd_61", "jsCall_didd_62", "jsCall_didd_63", "jsCall_didd_64", "jsCall_didd_65", "jsCall_didd_66", "jsCall_didd_67", "jsCall_didd_68", "jsCall_didd_69", "jsCall_didd_70", "jsCall_didd_71", "jsCall_didd_72", "jsCall_didd_73", "jsCall_didd_74", "jsCall_didd_75", "jsCall_didd_76", "jsCall_didd_77", "jsCall_didd_78", "jsCall_didd_79", "jsCall_didd_80", "jsCall_didd_81", "jsCall_didd_82", "jsCall_didd_83", "jsCall_didd_84", "jsCall_didd_85", "jsCall_didd_86", "jsCall_didd_87", "jsCall_didd_88", "jsCall_didd_89", "jsCall_didd_90", "jsCall_didd_91", "jsCall_didd_92", "jsCall_didd_93", "jsCall_didd_94", "jsCall_didd_95", "jsCall_didd_96", "jsCall_didd_97", "jsCall_didd_98", "jsCall_didd_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5596. var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "jsCall_fii_35", "jsCall_fii_36", "jsCall_fii_37", "jsCall_fii_38", "jsCall_fii_39", "jsCall_fii_40", "jsCall_fii_41", "jsCall_fii_42", "jsCall_fii_43", "jsCall_fii_44", "jsCall_fii_45", "jsCall_fii_46", "jsCall_fii_47", "jsCall_fii_48", "jsCall_fii_49", "jsCall_fii_50", "jsCall_fii_51", "jsCall_fii_52", "jsCall_fii_53", "jsCall_fii_54", "jsCall_fii_55", "jsCall_fii_56", "jsCall_fii_57", "jsCall_fii_58", "jsCall_fii_59", "jsCall_fii_60", "jsCall_fii_61", "jsCall_fii_62", "jsCall_fii_63", "jsCall_fii_64", "jsCall_fii_65", "jsCall_fii_66", "jsCall_fii_67", "jsCall_fii_68", "jsCall_fii_69", "jsCall_fii_70", "jsCall_fii_71", "jsCall_fii_72", "jsCall_fii_73", "jsCall_fii_74", "jsCall_fii_75", "jsCall_fii_76", "jsCall_fii_77", "jsCall_fii_78", "jsCall_fii_79", "jsCall_fii_80", "jsCall_fii_81", "jsCall_fii_82", "jsCall_fii_83", "jsCall_fii_84", "jsCall_fii_85", "jsCall_fii_86", "jsCall_fii_87", "jsCall_fii_88", "jsCall_fii_89", "jsCall_fii_90", "jsCall_fii_91", "jsCall_fii_92", "jsCall_fii_93", "jsCall_fii_94", "jsCall_fii_95", "jsCall_fii_96", "jsCall_fii_97", "jsCall_fii_98", "jsCall_fii_99", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5597. var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "jsCall_fiii_35", "jsCall_fiii_36", "jsCall_fiii_37", "jsCall_fiii_38", "jsCall_fiii_39", "jsCall_fiii_40", "jsCall_fiii_41", "jsCall_fiii_42", "jsCall_fiii_43", "jsCall_fiii_44", "jsCall_fiii_45", "jsCall_fiii_46", "jsCall_fiii_47", "jsCall_fiii_48", "jsCall_fiii_49", "jsCall_fiii_50", "jsCall_fiii_51", "jsCall_fiii_52", "jsCall_fiii_53", "jsCall_fiii_54", "jsCall_fiii_55", "jsCall_fiii_56", "jsCall_fiii_57", "jsCall_fiii_58", "jsCall_fiii_59", "jsCall_fiii_60", "jsCall_fiii_61", "jsCall_fiii_62", "jsCall_fiii_63", "jsCall_fiii_64", "jsCall_fiii_65", "jsCall_fiii_66", "jsCall_fiii_67", "jsCall_fiii_68", "jsCall_fiii_69", "jsCall_fiii_70", "jsCall_fiii_71", "jsCall_fiii_72", "jsCall_fiii_73", "jsCall_fiii_74", "jsCall_fiii_75", "jsCall_fiii_76", "jsCall_fiii_77", "jsCall_fiii_78", "jsCall_fiii_79", "jsCall_fiii_80", "jsCall_fiii_81", "jsCall_fiii_82", "jsCall_fiii_83", "jsCall_fiii_84", "jsCall_fiii_85", "jsCall_fiii_86", "jsCall_fiii_87", "jsCall_fiii_88", "jsCall_fiii_89", "jsCall_fiii_90", "jsCall_fiii_91", "jsCall_fiii_92", "jsCall_fiii_93", "jsCall_fiii_94", "jsCall_fiii_95", "jsCall_fiii_96", "jsCall_fiii_97", "jsCall_fiii_98", "jsCall_fiii_99", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5598. var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "jsCall_ii_35", "jsCall_ii_36", "jsCall_ii_37", "jsCall_ii_38", "jsCall_ii_39", "jsCall_ii_40", "jsCall_ii_41", "jsCall_ii_42", "jsCall_ii_43", "jsCall_ii_44", "jsCall_ii_45", "jsCall_ii_46", "jsCall_ii_47", "jsCall_ii_48", "jsCall_ii_49", "jsCall_ii_50", "jsCall_ii_51", "jsCall_ii_52", "jsCall_ii_53", "jsCall_ii_54", "jsCall_ii_55", "jsCall_ii_56", "jsCall_ii_57", "jsCall_ii_58", "jsCall_ii_59", "jsCall_ii_60", "jsCall_ii_61", "jsCall_ii_62", "jsCall_ii_63", "jsCall_ii_64", "jsCall_ii_65", "jsCall_ii_66", "jsCall_ii_67", "jsCall_ii_68", "jsCall_ii_69", "jsCall_ii_70", "jsCall_ii_71", "jsCall_ii_72", "jsCall_ii_73", "jsCall_ii_74", "jsCall_ii_75", "jsCall_ii_76", "jsCall_ii_77", "jsCall_ii_78", "jsCall_ii_79", "jsCall_ii_80", "jsCall_ii_81", "jsCall_ii_82", "jsCall_ii_83", "jsCall_ii_84", "jsCall_ii_85", "jsCall_ii_86", "jsCall_ii_87", "jsCall_ii_88", "jsCall_ii_89", "jsCall_ii_90", "jsCall_ii_91", "jsCall_ii_92", "jsCall_ii_93", "jsCall_ii_94", "jsCall_ii_95", "jsCall_ii_96", "jsCall_ii_97", "jsCall_ii_98", "jsCall_ii_99", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5599. var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "jsCall_iid_35", "jsCall_iid_36", "jsCall_iid_37", "jsCall_iid_38", "jsCall_iid_39", "jsCall_iid_40", "jsCall_iid_41", "jsCall_iid_42", "jsCall_iid_43", "jsCall_iid_44", "jsCall_iid_45", "jsCall_iid_46", "jsCall_iid_47", "jsCall_iid_48", "jsCall_iid_49", "jsCall_iid_50", "jsCall_iid_51", "jsCall_iid_52", "jsCall_iid_53", "jsCall_iid_54", "jsCall_iid_55", "jsCall_iid_56", "jsCall_iid_57", "jsCall_iid_58", "jsCall_iid_59", "jsCall_iid_60", "jsCall_iid_61", "jsCall_iid_62", "jsCall_iid_63", "jsCall_iid_64", "jsCall_iid_65", "jsCall_iid_66", "jsCall_iid_67", "jsCall_iid_68", "jsCall_iid_69", "jsCall_iid_70", "jsCall_iid_71", "jsCall_iid_72", "jsCall_iid_73", "jsCall_iid_74", "jsCall_iid_75", "jsCall_iid_76", "jsCall_iid_77", "jsCall_iid_78", "jsCall_iid_79", "jsCall_iid_80", "jsCall_iid_81", "jsCall_iid_82", "jsCall_iid_83", "jsCall_iid_84", "jsCall_iid_85", "jsCall_iid_86", "jsCall_iid_87", "jsCall_iid_88", "jsCall_iid_89", "jsCall_iid_90", "jsCall_iid_91", "jsCall_iid_92", "jsCall_iid_93", "jsCall_iid_94", "jsCall_iid_95", "jsCall_iid_96", "jsCall_iid_97", "jsCall_iid_98", "jsCall_iid_99", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5600. var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "jsCall_iidiiii_35", "jsCall_iidiiii_36", "jsCall_iidiiii_37", "jsCall_iidiiii_38", "jsCall_iidiiii_39", "jsCall_iidiiii_40", "jsCall_iidiiii_41", "jsCall_iidiiii_42", "jsCall_iidiiii_43", "jsCall_iidiiii_44", "jsCall_iidiiii_45", "jsCall_iidiiii_46", "jsCall_iidiiii_47", "jsCall_iidiiii_48", "jsCall_iidiiii_49", "jsCall_iidiiii_50", "jsCall_iidiiii_51", "jsCall_iidiiii_52", "jsCall_iidiiii_53", "jsCall_iidiiii_54", "jsCall_iidiiii_55", "jsCall_iidiiii_56", "jsCall_iidiiii_57", "jsCall_iidiiii_58", "jsCall_iidiiii_59", "jsCall_iidiiii_60", "jsCall_iidiiii_61", "jsCall_iidiiii_62", "jsCall_iidiiii_63", "jsCall_iidiiii_64", "jsCall_iidiiii_65", "jsCall_iidiiii_66", "jsCall_iidiiii_67", "jsCall_iidiiii_68", "jsCall_iidiiii_69", "jsCall_iidiiii_70", "jsCall_iidiiii_71", "jsCall_iidiiii_72", "jsCall_iidiiii_73", "jsCall_iidiiii_74", "jsCall_iidiiii_75", "jsCall_iidiiii_76", "jsCall_iidiiii_77", "jsCall_iidiiii_78", "jsCall_iidiiii_79", "jsCall_iidiiii_80", "jsCall_iidiiii_81", "jsCall_iidiiii_82", "jsCall_iidiiii_83", "jsCall_iidiiii_84", "jsCall_iidiiii_85", "jsCall_iidiiii_86", "jsCall_iidiiii_87", "jsCall_iidiiii_88", "jsCall_iidiiii_89", "jsCall_iidiiii_90", "jsCall_iidiiii_91", "jsCall_iidiiii_92", "jsCall_iidiiii_93", "jsCall_iidiiii_94", "jsCall_iidiiii_95", "jsCall_iidiiii_96", "jsCall_iidiiii_97", "jsCall_iidiiii_98", "jsCall_iidiiii_99", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5601. var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "jsCall_iii_35", "jsCall_iii_36", "jsCall_iii_37", "jsCall_iii_38", "jsCall_iii_39", "jsCall_iii_40", "jsCall_iii_41", "jsCall_iii_42", "jsCall_iii_43", "jsCall_iii_44", "jsCall_iii_45", "jsCall_iii_46", "jsCall_iii_47", "jsCall_iii_48", "jsCall_iii_49", "jsCall_iii_50", "jsCall_iii_51", "jsCall_iii_52", "jsCall_iii_53", "jsCall_iii_54", "jsCall_iii_55", "jsCall_iii_56", "jsCall_iii_57", "jsCall_iii_58", "jsCall_iii_59", "jsCall_iii_60", "jsCall_iii_61", "jsCall_iii_62", "jsCall_iii_63", "jsCall_iii_64", "jsCall_iii_65", "jsCall_iii_66", "jsCall_iii_67", "jsCall_iii_68", "jsCall_iii_69", "jsCall_iii_70", "jsCall_iii_71", "jsCall_iii_72", "jsCall_iii_73", "jsCall_iii_74", "jsCall_iii_75", "jsCall_iii_76", "jsCall_iii_77", "jsCall_iii_78", "jsCall_iii_79", "jsCall_iii_80", "jsCall_iii_81", "jsCall_iii_82", "jsCall_iii_83", "jsCall_iii_84", "jsCall_iii_85", "jsCall_iii_86", "jsCall_iii_87", "jsCall_iii_88", "jsCall_iii_89", "jsCall_iii_90", "jsCall_iii_91", "jsCall_iii_92", "jsCall_iii_93", "jsCall_iii_94", "jsCall_iii_95", "jsCall_iii_96", "jsCall_iii_97", "jsCall_iii_98", "jsCall_iii_99", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5602. var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "jsCall_iiii_35", "jsCall_iiii_36", "jsCall_iiii_37", "jsCall_iiii_38", "jsCall_iiii_39", "jsCall_iiii_40", "jsCall_iiii_41", "jsCall_iiii_42", "jsCall_iiii_43", "jsCall_iiii_44", "jsCall_iiii_45", "jsCall_iiii_46", "jsCall_iiii_47", "jsCall_iiii_48", "jsCall_iiii_49", "jsCall_iiii_50", "jsCall_iiii_51", "jsCall_iiii_52", "jsCall_iiii_53", "jsCall_iiii_54", "jsCall_iiii_55", "jsCall_iiii_56", "jsCall_iiii_57", "jsCall_iiii_58", "jsCall_iiii_59", "jsCall_iiii_60", "jsCall_iiii_61", "jsCall_iiii_62", "jsCall_iiii_63", "jsCall_iiii_64", "jsCall_iiii_65", "jsCall_iiii_66", "jsCall_iiii_67", "jsCall_iiii_68", "jsCall_iiii_69", "jsCall_iiii_70", "jsCall_iiii_71", "jsCall_iiii_72", "jsCall_iiii_73", "jsCall_iiii_74", "jsCall_iiii_75", "jsCall_iiii_76", "jsCall_iiii_77", "jsCall_iiii_78", "jsCall_iiii_79", "jsCall_iiii_80", "jsCall_iiii_81", "jsCall_iiii_82", "jsCall_iiii_83", "jsCall_iiii_84", "jsCall_iiii_85", "jsCall_iiii_86", "jsCall_iiii_87", "jsCall_iiii_88", "jsCall_iiii_89", "jsCall_iiii_90", "jsCall_iiii_91", "jsCall_iiii_92", "jsCall_iiii_93", "jsCall_iiii_94", "jsCall_iiii_95", "jsCall_iiii_96", "jsCall_iiii_97", "jsCall_iiii_98", "jsCall_iiii_99", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5603. var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "jsCall_iiiii_35", "jsCall_iiiii_36", "jsCall_iiiii_37", "jsCall_iiiii_38", "jsCall_iiiii_39", "jsCall_iiiii_40", "jsCall_iiiii_41", "jsCall_iiiii_42", "jsCall_iiiii_43", "jsCall_iiiii_44", "jsCall_iiiii_45", "jsCall_iiiii_46", "jsCall_iiiii_47", "jsCall_iiiii_48", "jsCall_iiiii_49", "jsCall_iiiii_50", "jsCall_iiiii_51", "jsCall_iiiii_52", "jsCall_iiiii_53", "jsCall_iiiii_54", "jsCall_iiiii_55", "jsCall_iiiii_56", "jsCall_iiiii_57", "jsCall_iiiii_58", "jsCall_iiiii_59", "jsCall_iiiii_60", "jsCall_iiiii_61", "jsCall_iiiii_62", "jsCall_iiiii_63", "jsCall_iiiii_64", "jsCall_iiiii_65", "jsCall_iiiii_66", "jsCall_iiiii_67", "jsCall_iiiii_68", "jsCall_iiiii_69", "jsCall_iiiii_70", "jsCall_iiiii_71", "jsCall_iiiii_72", "jsCall_iiiii_73", "jsCall_iiiii_74", "jsCall_iiiii_75", "jsCall_iiiii_76", "jsCall_iiiii_77", "jsCall_iiiii_78", "jsCall_iiiii_79", "jsCall_iiiii_80", "jsCall_iiiii_81", "jsCall_iiiii_82", "jsCall_iiiii_83", "jsCall_iiiii_84", "jsCall_iiiii_85", "jsCall_iiiii_86", "jsCall_iiiii_87", "jsCall_iiiii_88", "jsCall_iiiii_89", "jsCall_iiiii_90", "jsCall_iiiii_91", "jsCall_iiiii_92", "jsCall_iiiii_93", "jsCall_iiiii_94", "jsCall_iiiii_95", "jsCall_iiiii_96", "jsCall_iiiii_97", "jsCall_iiiii_98", "jsCall_iiiii_99", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0];
  5604. var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "jsCall_iiiiii_35", "jsCall_iiiiii_36", "jsCall_iiiiii_37", "jsCall_iiiiii_38", "jsCall_iiiiii_39", "jsCall_iiiiii_40", "jsCall_iiiiii_41", "jsCall_iiiiii_42", "jsCall_iiiiii_43", "jsCall_iiiiii_44", "jsCall_iiiiii_45", "jsCall_iiiiii_46", "jsCall_iiiiii_47", "jsCall_iiiiii_48", "jsCall_iiiiii_49", "jsCall_iiiiii_50", "jsCall_iiiiii_51", "jsCall_iiiiii_52", "jsCall_iiiiii_53", "jsCall_iiiiii_54", "jsCall_iiiiii_55", "jsCall_iiiiii_56", "jsCall_iiiiii_57", "jsCall_iiiiii_58", "jsCall_iiiiii_59", "jsCall_iiiiii_60", "jsCall_iiiiii_61", "jsCall_iiiiii_62", "jsCall_iiiiii_63", "jsCall_iiiiii_64", "jsCall_iiiiii_65", "jsCall_iiiiii_66", "jsCall_iiiiii_67", "jsCall_iiiiii_68", "jsCall_iiiiii_69", "jsCall_iiiiii_70", "jsCall_iiiiii_71", "jsCall_iiiiii_72", "jsCall_iiiiii_73", "jsCall_iiiiii_74", "jsCall_iiiiii_75", "jsCall_iiiiii_76", "jsCall_iiiiii_77", "jsCall_iiiiii_78", "jsCall_iiiiii_79", "jsCall_iiiiii_80", "jsCall_iiiiii_81", "jsCall_iiiiii_82", "jsCall_iiiiii_83", "jsCall_iiiiii_84", "jsCall_iiiiii_85", "jsCall_iiiiii_86", "jsCall_iiiiii_87", "jsCall_iiiiii_88", "jsCall_iiiiii_89", "jsCall_iiiiii_90", "jsCall_iiiiii_91", "jsCall_iiiiii_92", "jsCall_iiiiii_93", "jsCall_iiiiii_94", "jsCall_iiiiii_95", "jsCall_iiiiii_96", "jsCall_iiiiii_97", "jsCall_iiiiii_98", "jsCall_iiiiii_99", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5605. var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "jsCall_iiiiiii_35", "jsCall_iiiiiii_36", "jsCall_iiiiiii_37", "jsCall_iiiiiii_38", "jsCall_iiiiiii_39", "jsCall_iiiiiii_40", "jsCall_iiiiiii_41", "jsCall_iiiiiii_42", "jsCall_iiiiiii_43", "jsCall_iiiiiii_44", "jsCall_iiiiiii_45", "jsCall_iiiiiii_46", "jsCall_iiiiiii_47", "jsCall_iiiiiii_48", "jsCall_iiiiiii_49", "jsCall_iiiiiii_50", "jsCall_iiiiiii_51", "jsCall_iiiiiii_52", "jsCall_iiiiiii_53", "jsCall_iiiiiii_54", "jsCall_iiiiiii_55", "jsCall_iiiiiii_56", "jsCall_iiiiiii_57", "jsCall_iiiiiii_58", "jsCall_iiiiiii_59", "jsCall_iiiiiii_60", "jsCall_iiiiiii_61", "jsCall_iiiiiii_62", "jsCall_iiiiiii_63", "jsCall_iiiiiii_64", "jsCall_iiiiiii_65", "jsCall_iiiiiii_66", "jsCall_iiiiiii_67", "jsCall_iiiiiii_68", "jsCall_iiiiiii_69", "jsCall_iiiiiii_70", "jsCall_iiiiiii_71", "jsCall_iiiiiii_72", "jsCall_iiiiiii_73", "jsCall_iiiiiii_74", "jsCall_iiiiiii_75", "jsCall_iiiiiii_76", "jsCall_iiiiiii_77", "jsCall_iiiiiii_78", "jsCall_iiiiiii_79", "jsCall_iiiiiii_80", "jsCall_iiiiiii_81", "jsCall_iiiiiii_82", "jsCall_iiiiiii_83", "jsCall_iiiiiii_84", "jsCall_iiiiiii_85", "jsCall_iiiiiii_86", "jsCall_iiiiiii_87", "jsCall_iiiiiii_88", "jsCall_iiiiiii_89", "jsCall_iiiiiii_90", "jsCall_iiiiiii_91", "jsCall_iiiiiii_92", "jsCall_iiiiiii_93", "jsCall_iiiiiii_94", "jsCall_iiiiiii_95", "jsCall_iiiiiii_96", "jsCall_iiiiiii_97", "jsCall_iiiiiii_98", "jsCall_iiiiiii_99", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5606. var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "jsCall_iiiiiiidiiddii_35", "jsCall_iiiiiiidiiddii_36", "jsCall_iiiiiiidiiddii_37", "jsCall_iiiiiiidiiddii_38", "jsCall_iiiiiiidiiddii_39", "jsCall_iiiiiiidiiddii_40", "jsCall_iiiiiiidiiddii_41", "jsCall_iiiiiiidiiddii_42", "jsCall_iiiiiiidiiddii_43", "jsCall_iiiiiiidiiddii_44", "jsCall_iiiiiiidiiddii_45", "jsCall_iiiiiiidiiddii_46", "jsCall_iiiiiiidiiddii_47", "jsCall_iiiiiiidiiddii_48", "jsCall_iiiiiiidiiddii_49", "jsCall_iiiiiiidiiddii_50", "jsCall_iiiiiiidiiddii_51", "jsCall_iiiiiiidiiddii_52", "jsCall_iiiiiiidiiddii_53", "jsCall_iiiiiiidiiddii_54", "jsCall_iiiiiiidiiddii_55", "jsCall_iiiiiiidiiddii_56", "jsCall_iiiiiiidiiddii_57", "jsCall_iiiiiiidiiddii_58", "jsCall_iiiiiiidiiddii_59", "jsCall_iiiiiiidiiddii_60", "jsCall_iiiiiiidiiddii_61", "jsCall_iiiiiiidiiddii_62", "jsCall_iiiiiiidiiddii_63", "jsCall_iiiiiiidiiddii_64", "jsCall_iiiiiiidiiddii_65", "jsCall_iiiiiiidiiddii_66", "jsCall_iiiiiiidiiddii_67", "jsCall_iiiiiiidiiddii_68", "jsCall_iiiiiiidiiddii_69", "jsCall_iiiiiiidiiddii_70", "jsCall_iiiiiiidiiddii_71", "jsCall_iiiiiiidiiddii_72", "jsCall_iiiiiiidiiddii_73", "jsCall_iiiiiiidiiddii_74", "jsCall_iiiiiiidiiddii_75", "jsCall_iiiiiiidiiddii_76", "jsCall_iiiiiiidiiddii_77", "jsCall_iiiiiiidiiddii_78", "jsCall_iiiiiiidiiddii_79", "jsCall_iiiiiiidiiddii_80", "jsCall_iiiiiiidiiddii_81", "jsCall_iiiiiiidiiddii_82", "jsCall_iiiiiiidiiddii_83", "jsCall_iiiiiiidiiddii_84", "jsCall_iiiiiiidiiddii_85", "jsCall_iiiiiiidiiddii_86", "jsCall_iiiiiiidiiddii_87", "jsCall_iiiiiiidiiddii_88", "jsCall_iiiiiiidiiddii_89", "jsCall_iiiiiiidiiddii_90", "jsCall_iiiiiiidiiddii_91", "jsCall_iiiiiiidiiddii_92", "jsCall_iiiiiiidiiddii_93", "jsCall_iiiiiiidiiddii_94", "jsCall_iiiiiiidiiddii_95", "jsCall_iiiiiiidiiddii_96", "jsCall_iiiiiiidiiddii_97", "jsCall_iiiiiiidiiddii_98", "jsCall_iiiiiiidiiddii_99", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5607. var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "jsCall_iiiiiiii_35", "jsCall_iiiiiiii_36", "jsCall_iiiiiiii_37", "jsCall_iiiiiiii_38", "jsCall_iiiiiiii_39", "jsCall_iiiiiiii_40", "jsCall_iiiiiiii_41", "jsCall_iiiiiiii_42", "jsCall_iiiiiiii_43", "jsCall_iiiiiiii_44", "jsCall_iiiiiiii_45", "jsCall_iiiiiiii_46", "jsCall_iiiiiiii_47", "jsCall_iiiiiiii_48", "jsCall_iiiiiiii_49", "jsCall_iiiiiiii_50", "jsCall_iiiiiiii_51", "jsCall_iiiiiiii_52", "jsCall_iiiiiiii_53", "jsCall_iiiiiiii_54", "jsCall_iiiiiiii_55", "jsCall_iiiiiiii_56", "jsCall_iiiiiiii_57", "jsCall_iiiiiiii_58", "jsCall_iiiiiiii_59", "jsCall_iiiiiiii_60", "jsCall_iiiiiiii_61", "jsCall_iiiiiiii_62", "jsCall_iiiiiiii_63", "jsCall_iiiiiiii_64", "jsCall_iiiiiiii_65", "jsCall_iiiiiiii_66", "jsCall_iiiiiiii_67", "jsCall_iiiiiiii_68", "jsCall_iiiiiiii_69", "jsCall_iiiiiiii_70", "jsCall_iiiiiiii_71", "jsCall_iiiiiiii_72", "jsCall_iiiiiiii_73", "jsCall_iiiiiiii_74", "jsCall_iiiiiiii_75", "jsCall_iiiiiiii_76", "jsCall_iiiiiiii_77", "jsCall_iiiiiiii_78", "jsCall_iiiiiiii_79", "jsCall_iiiiiiii_80", "jsCall_iiiiiiii_81", "jsCall_iiiiiiii_82", "jsCall_iiiiiiii_83", "jsCall_iiiiiiii_84", "jsCall_iiiiiiii_85", "jsCall_iiiiiiii_86", "jsCall_iiiiiiii_87", "jsCall_iiiiiiii_88", "jsCall_iiiiiiii_89", "jsCall_iiiiiiii_90", "jsCall_iiiiiiii_91", "jsCall_iiiiiiii_92", "jsCall_iiiiiiii_93", "jsCall_iiiiiiii_94", "jsCall_iiiiiiii_95", "jsCall_iiiiiiii_96", "jsCall_iiiiiiii_97", "jsCall_iiiiiiii_98", "jsCall_iiiiiiii_99", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5608. var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "jsCall_iiiiiiiid_35", "jsCall_iiiiiiiid_36", "jsCall_iiiiiiiid_37", "jsCall_iiiiiiiid_38", "jsCall_iiiiiiiid_39", "jsCall_iiiiiiiid_40", "jsCall_iiiiiiiid_41", "jsCall_iiiiiiiid_42", "jsCall_iiiiiiiid_43", "jsCall_iiiiiiiid_44", "jsCall_iiiiiiiid_45", "jsCall_iiiiiiiid_46", "jsCall_iiiiiiiid_47", "jsCall_iiiiiiiid_48", "jsCall_iiiiiiiid_49", "jsCall_iiiiiiiid_50", "jsCall_iiiiiiiid_51", "jsCall_iiiiiiiid_52", "jsCall_iiiiiiiid_53", "jsCall_iiiiiiiid_54", "jsCall_iiiiiiiid_55", "jsCall_iiiiiiiid_56", "jsCall_iiiiiiiid_57", "jsCall_iiiiiiiid_58", "jsCall_iiiiiiiid_59", "jsCall_iiiiiiiid_60", "jsCall_iiiiiiiid_61", "jsCall_iiiiiiiid_62", "jsCall_iiiiiiiid_63", "jsCall_iiiiiiiid_64", "jsCall_iiiiiiiid_65", "jsCall_iiiiiiiid_66", "jsCall_iiiiiiiid_67", "jsCall_iiiiiiiid_68", "jsCall_iiiiiiiid_69", "jsCall_iiiiiiiid_70", "jsCall_iiiiiiiid_71", "jsCall_iiiiiiiid_72", "jsCall_iiiiiiiid_73", "jsCall_iiiiiiiid_74", "jsCall_iiiiiiiid_75", "jsCall_iiiiiiiid_76", "jsCall_iiiiiiiid_77", "jsCall_iiiiiiiid_78", "jsCall_iiiiiiiid_79", "jsCall_iiiiiiiid_80", "jsCall_iiiiiiiid_81", "jsCall_iiiiiiiid_82", "jsCall_iiiiiiiid_83", "jsCall_iiiiiiiid_84", "jsCall_iiiiiiiid_85", "jsCall_iiiiiiiid_86", "jsCall_iiiiiiiid_87", "jsCall_iiiiiiiid_88", "jsCall_iiiiiiiid_89", "jsCall_iiiiiiiid_90", "jsCall_iiiiiiiid_91", "jsCall_iiiiiiiid_92", "jsCall_iiiiiiiid_93", "jsCall_iiiiiiiid_94", "jsCall_iiiiiiiid_95", "jsCall_iiiiiiiid_96", "jsCall_iiiiiiiid_97", "jsCall_iiiiiiiid_98", "jsCall_iiiiiiiid_99", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5609. var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "jsCall_iiiiij_35", "jsCall_iiiiij_36", "jsCall_iiiiij_37", "jsCall_iiiiij_38", "jsCall_iiiiij_39", "jsCall_iiiiij_40", "jsCall_iiiiij_41", "jsCall_iiiiij_42", "jsCall_iiiiij_43", "jsCall_iiiiij_44", "jsCall_iiiiij_45", "jsCall_iiiiij_46", "jsCall_iiiiij_47", "jsCall_iiiiij_48", "jsCall_iiiiij_49", "jsCall_iiiiij_50", "jsCall_iiiiij_51", "jsCall_iiiiij_52", "jsCall_iiiiij_53", "jsCall_iiiiij_54", "jsCall_iiiiij_55", "jsCall_iiiiij_56", "jsCall_iiiiij_57", "jsCall_iiiiij_58", "jsCall_iiiiij_59", "jsCall_iiiiij_60", "jsCall_iiiiij_61", "jsCall_iiiiij_62", "jsCall_iiiiij_63", "jsCall_iiiiij_64", "jsCall_iiiiij_65", "jsCall_iiiiij_66", "jsCall_iiiiij_67", "jsCall_iiiiij_68", "jsCall_iiiiij_69", "jsCall_iiiiij_70", "jsCall_iiiiij_71", "jsCall_iiiiij_72", "jsCall_iiiiij_73", "jsCall_iiiiij_74", "jsCall_iiiiij_75", "jsCall_iiiiij_76", "jsCall_iiiiij_77", "jsCall_iiiiij_78", "jsCall_iiiiij_79", "jsCall_iiiiij_80", "jsCall_iiiiij_81", "jsCall_iiiiij_82", "jsCall_iiiiij_83", "jsCall_iiiiij_84", "jsCall_iiiiij_85", "jsCall_iiiiij_86", "jsCall_iiiiij_87", "jsCall_iiiiij_88", "jsCall_iiiiij_89", "jsCall_iiiiij_90", "jsCall_iiiiij_91", "jsCall_iiiiij_92", "jsCall_iiiiij_93", "jsCall_iiiiij_94", "jsCall_iiiiij_95", "jsCall_iiiiij_96", "jsCall_iiiiij_97", "jsCall_iiiiij_98", "jsCall_iiiiij_99", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5610. var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "jsCall_iiiji_35", "jsCall_iiiji_36", "jsCall_iiiji_37", "jsCall_iiiji_38", "jsCall_iiiji_39", "jsCall_iiiji_40", "jsCall_iiiji_41", "jsCall_iiiji_42", "jsCall_iiiji_43", "jsCall_iiiji_44", "jsCall_iiiji_45", "jsCall_iiiji_46", "jsCall_iiiji_47", "jsCall_iiiji_48", "jsCall_iiiji_49", "jsCall_iiiji_50", "jsCall_iiiji_51", "jsCall_iiiji_52", "jsCall_iiiji_53", "jsCall_iiiji_54", "jsCall_iiiji_55", "jsCall_iiiji_56", "jsCall_iiiji_57", "jsCall_iiiji_58", "jsCall_iiiji_59", "jsCall_iiiji_60", "jsCall_iiiji_61", "jsCall_iiiji_62", "jsCall_iiiji_63", "jsCall_iiiji_64", "jsCall_iiiji_65", "jsCall_iiiji_66", "jsCall_iiiji_67", "jsCall_iiiji_68", "jsCall_iiiji_69", "jsCall_iiiji_70", "jsCall_iiiji_71", "jsCall_iiiji_72", "jsCall_iiiji_73", "jsCall_iiiji_74", "jsCall_iiiji_75", "jsCall_iiiji_76", "jsCall_iiiji_77", "jsCall_iiiji_78", "jsCall_iiiji_79", "jsCall_iiiji_80", "jsCall_iiiji_81", "jsCall_iiiji_82", "jsCall_iiiji_83", "jsCall_iiiji_84", "jsCall_iiiji_85", "jsCall_iiiji_86", "jsCall_iiiji_87", "jsCall_iiiji_88", "jsCall_iiiji_89", "jsCall_iiiji_90", "jsCall_iiiji_91", "jsCall_iiiji_92", "jsCall_iiiji_93", "jsCall_iiiji_94", "jsCall_iiiji_95", "jsCall_iiiji_96", "jsCall_iiiji_97", "jsCall_iiiji_98", "jsCall_iiiji_99", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5611. var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", "jsCall_iiijjji_35", "jsCall_iiijjji_36", "jsCall_iiijjji_37", "jsCall_iiijjji_38", "jsCall_iiijjji_39", "jsCall_iiijjji_40", "jsCall_iiijjji_41", "jsCall_iiijjji_42", "jsCall_iiijjji_43", "jsCall_iiijjji_44", "jsCall_iiijjji_45", "jsCall_iiijjji_46", "jsCall_iiijjji_47", "jsCall_iiijjji_48", "jsCall_iiijjji_49", "jsCall_iiijjji_50", "jsCall_iiijjji_51", "jsCall_iiijjji_52", "jsCall_iiijjji_53", "jsCall_iiijjji_54", "jsCall_iiijjji_55", "jsCall_iiijjji_56", "jsCall_iiijjji_57", "jsCall_iiijjji_58", "jsCall_iiijjji_59", "jsCall_iiijjji_60", "jsCall_iiijjji_61", "jsCall_iiijjji_62", "jsCall_iiijjji_63", "jsCall_iiijjji_64", "jsCall_iiijjji_65", "jsCall_iiijjji_66", "jsCall_iiijjji_67", "jsCall_iiijjji_68", "jsCall_iiijjji_69", "jsCall_iiijjji_70", "jsCall_iiijjji_71", "jsCall_iiijjji_72", "jsCall_iiijjji_73", "jsCall_iiijjji_74", "jsCall_iiijjji_75", "jsCall_iiijjji_76", "jsCall_iiijjji_77", "jsCall_iiijjji_78", "jsCall_iiijjji_79", "jsCall_iiijjji_80", "jsCall_iiijjji_81", "jsCall_iiijjji_82", "jsCall_iiijjji_83", "jsCall_iiijjji_84", "jsCall_iiijjji_85", "jsCall_iiijjji_86", "jsCall_iiijjji_87", "jsCall_iiijjji_88", "jsCall_iiijjji_89", "jsCall_iiijjji_90", "jsCall_iiijjji_91", "jsCall_iiijjji_92", "jsCall_iiijjji_93", "jsCall_iiijjji_94", "jsCall_iiijjji_95", "jsCall_iiijjji_96", "jsCall_iiijjji_97", "jsCall_iiijjji_98", "jsCall_iiijjji_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5612. var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "jsCall_jii_35", "jsCall_jii_36", "jsCall_jii_37", "jsCall_jii_38", "jsCall_jii_39", "jsCall_jii_40", "jsCall_jii_41", "jsCall_jii_42", "jsCall_jii_43", "jsCall_jii_44", "jsCall_jii_45", "jsCall_jii_46", "jsCall_jii_47", "jsCall_jii_48", "jsCall_jii_49", "jsCall_jii_50", "jsCall_jii_51", "jsCall_jii_52", "jsCall_jii_53", "jsCall_jii_54", "jsCall_jii_55", "jsCall_jii_56", "jsCall_jii_57", "jsCall_jii_58", "jsCall_jii_59", "jsCall_jii_60", "jsCall_jii_61", "jsCall_jii_62", "jsCall_jii_63", "jsCall_jii_64", "jsCall_jii_65", "jsCall_jii_66", "jsCall_jii_67", "jsCall_jii_68", "jsCall_jii_69", "jsCall_jii_70", "jsCall_jii_71", "jsCall_jii_72", "jsCall_jii_73", "jsCall_jii_74", "jsCall_jii_75", "jsCall_jii_76", "jsCall_jii_77", "jsCall_jii_78", "jsCall_jii_79", "jsCall_jii_80", "jsCall_jii_81", "jsCall_jii_82", "jsCall_jii_83", "jsCall_jii_84", "jsCall_jii_85", "jsCall_jii_86", "jsCall_jii_87", "jsCall_jii_88", "jsCall_jii_89", "jsCall_jii_90", "jsCall_jii_91", "jsCall_jii_92", "jsCall_jii_93", "jsCall_jii_94", "jsCall_jii_95", "jsCall_jii_96", "jsCall_jii_97", "jsCall_jii_98", "jsCall_jii_99", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5613. var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "jsCall_jiiij_35", "jsCall_jiiij_36", "jsCall_jiiij_37", "jsCall_jiiij_38", "jsCall_jiiij_39", "jsCall_jiiij_40", "jsCall_jiiij_41", "jsCall_jiiij_42", "jsCall_jiiij_43", "jsCall_jiiij_44", "jsCall_jiiij_45", "jsCall_jiiij_46", "jsCall_jiiij_47", "jsCall_jiiij_48", "jsCall_jiiij_49", "jsCall_jiiij_50", "jsCall_jiiij_51", "jsCall_jiiij_52", "jsCall_jiiij_53", "jsCall_jiiij_54", "jsCall_jiiij_55", "jsCall_jiiij_56", "jsCall_jiiij_57", "jsCall_jiiij_58", "jsCall_jiiij_59", "jsCall_jiiij_60", "jsCall_jiiij_61", "jsCall_jiiij_62", "jsCall_jiiij_63", "jsCall_jiiij_64", "jsCall_jiiij_65", "jsCall_jiiij_66", "jsCall_jiiij_67", "jsCall_jiiij_68", "jsCall_jiiij_69", "jsCall_jiiij_70", "jsCall_jiiij_71", "jsCall_jiiij_72", "jsCall_jiiij_73", "jsCall_jiiij_74", "jsCall_jiiij_75", "jsCall_jiiij_76", "jsCall_jiiij_77", "jsCall_jiiij_78", "jsCall_jiiij_79", "jsCall_jiiij_80", "jsCall_jiiij_81", "jsCall_jiiij_82", "jsCall_jiiij_83", "jsCall_jiiij_84", "jsCall_jiiij_85", "jsCall_jiiij_86", "jsCall_jiiij_87", "jsCall_jiiij_88", "jsCall_jiiij_89", "jsCall_jiiij_90", "jsCall_jiiij_91", "jsCall_jiiij_92", "jsCall_jiiij_93", "jsCall_jiiij_94", "jsCall_jiiij_95", "jsCall_jiiij_96", "jsCall_jiiij_97", "jsCall_jiiij_98", "jsCall_jiiij_99", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5614. var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "jsCall_jiiji_35", "jsCall_jiiji_36", "jsCall_jiiji_37", "jsCall_jiiji_38", "jsCall_jiiji_39", "jsCall_jiiji_40", "jsCall_jiiji_41", "jsCall_jiiji_42", "jsCall_jiiji_43", "jsCall_jiiji_44", "jsCall_jiiji_45", "jsCall_jiiji_46", "jsCall_jiiji_47", "jsCall_jiiji_48", "jsCall_jiiji_49", "jsCall_jiiji_50", "jsCall_jiiji_51", "jsCall_jiiji_52", "jsCall_jiiji_53", "jsCall_jiiji_54", "jsCall_jiiji_55", "jsCall_jiiji_56", "jsCall_jiiji_57", "jsCall_jiiji_58", "jsCall_jiiji_59", "jsCall_jiiji_60", "jsCall_jiiji_61", "jsCall_jiiji_62", "jsCall_jiiji_63", "jsCall_jiiji_64", "jsCall_jiiji_65", "jsCall_jiiji_66", "jsCall_jiiji_67", "jsCall_jiiji_68", "jsCall_jiiji_69", "jsCall_jiiji_70", "jsCall_jiiji_71", "jsCall_jiiji_72", "jsCall_jiiji_73", "jsCall_jiiji_74", "jsCall_jiiji_75", "jsCall_jiiji_76", "jsCall_jiiji_77", "jsCall_jiiji_78", "jsCall_jiiji_79", "jsCall_jiiji_80", "jsCall_jiiji_81", "jsCall_jiiji_82", "jsCall_jiiji_83", "jsCall_jiiji_84", "jsCall_jiiji_85", "jsCall_jiiji_86", "jsCall_jiiji_87", "jsCall_jiiji_88", "jsCall_jiiji_89", "jsCall_jiiji_90", "jsCall_jiiji_91", "jsCall_jiiji_92", "jsCall_jiiji_93", "jsCall_jiiji_94", "jsCall_jiiji_95", "jsCall_jiiji_96", "jsCall_jiiji_97", "jsCall_jiiji_98", "jsCall_jiiji_99", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5615. var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "jsCall_jij_35", "jsCall_jij_36", "jsCall_jij_37", "jsCall_jij_38", "jsCall_jij_39", "jsCall_jij_40", "jsCall_jij_41", "jsCall_jij_42", "jsCall_jij_43", "jsCall_jij_44", "jsCall_jij_45", "jsCall_jij_46", "jsCall_jij_47", "jsCall_jij_48", "jsCall_jij_49", "jsCall_jij_50", "jsCall_jij_51", "jsCall_jij_52", "jsCall_jij_53", "jsCall_jij_54", "jsCall_jij_55", "jsCall_jij_56", "jsCall_jij_57", "jsCall_jij_58", "jsCall_jij_59", "jsCall_jij_60", "jsCall_jij_61", "jsCall_jij_62", "jsCall_jij_63", "jsCall_jij_64", "jsCall_jij_65", "jsCall_jij_66", "jsCall_jij_67", "jsCall_jij_68", "jsCall_jij_69", "jsCall_jij_70", "jsCall_jij_71", "jsCall_jij_72", "jsCall_jij_73", "jsCall_jij_74", "jsCall_jij_75", "jsCall_jij_76", "jsCall_jij_77", "jsCall_jij_78", "jsCall_jij_79", "jsCall_jij_80", "jsCall_jij_81", "jsCall_jij_82", "jsCall_jij_83", "jsCall_jij_84", "jsCall_jij_85", "jsCall_jij_86", "jsCall_jij_87", "jsCall_jij_88", "jsCall_jij_89", "jsCall_jij_90", "jsCall_jij_91", "jsCall_jij_92", "jsCall_jij_93", "jsCall_jij_94", "jsCall_jij_95", "jsCall_jij_96", "jsCall_jij_97", "jsCall_jij_98", "jsCall_jij_99", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5616. var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "jsCall_jiji_35", "jsCall_jiji_36", "jsCall_jiji_37", "jsCall_jiji_38", "jsCall_jiji_39", "jsCall_jiji_40", "jsCall_jiji_41", "jsCall_jiji_42", "jsCall_jiji_43", "jsCall_jiji_44", "jsCall_jiji_45", "jsCall_jiji_46", "jsCall_jiji_47", "jsCall_jiji_48", "jsCall_jiji_49", "jsCall_jiji_50", "jsCall_jiji_51", "jsCall_jiji_52", "jsCall_jiji_53", "jsCall_jiji_54", "jsCall_jiji_55", "jsCall_jiji_56", "jsCall_jiji_57", "jsCall_jiji_58", "jsCall_jiji_59", "jsCall_jiji_60", "jsCall_jiji_61", "jsCall_jiji_62", "jsCall_jiji_63", "jsCall_jiji_64", "jsCall_jiji_65", "jsCall_jiji_66", "jsCall_jiji_67", "jsCall_jiji_68", "jsCall_jiji_69", "jsCall_jiji_70", "jsCall_jiji_71", "jsCall_jiji_72", "jsCall_jiji_73", "jsCall_jiji_74", "jsCall_jiji_75", "jsCall_jiji_76", "jsCall_jiji_77", "jsCall_jiji_78", "jsCall_jiji_79", "jsCall_jiji_80", "jsCall_jiji_81", "jsCall_jiji_82", "jsCall_jiji_83", "jsCall_jiji_84", "jsCall_jiji_85", "jsCall_jiji_86", "jsCall_jiji_87", "jsCall_jiji_88", "jsCall_jiji_89", "jsCall_jiji_90", "jsCall_jiji_91", "jsCall_jiji_92", "jsCall_jiji_93", "jsCall_jiji_94", "jsCall_jiji_95", "jsCall_jiji_96", "jsCall_jiji_97", "jsCall_jiji_98", "jsCall_jiji_99", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5617. var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "jsCall_v_35", "jsCall_v_36", "jsCall_v_37", "jsCall_v_38", "jsCall_v_39", "jsCall_v_40", "jsCall_v_41", "jsCall_v_42", "jsCall_v_43", "jsCall_v_44", "jsCall_v_45", "jsCall_v_46", "jsCall_v_47", "jsCall_v_48", "jsCall_v_49", "jsCall_v_50", "jsCall_v_51", "jsCall_v_52", "jsCall_v_53", "jsCall_v_54", "jsCall_v_55", "jsCall_v_56", "jsCall_v_57", "jsCall_v_58", "jsCall_v_59", "jsCall_v_60", "jsCall_v_61", "jsCall_v_62", "jsCall_v_63", "jsCall_v_64", "jsCall_v_65", "jsCall_v_66", "jsCall_v_67", "jsCall_v_68", "jsCall_v_69", "jsCall_v_70", "jsCall_v_71", "jsCall_v_72", "jsCall_v_73", "jsCall_v_74", "jsCall_v_75", "jsCall_v_76", "jsCall_v_77", "jsCall_v_78", "jsCall_v_79", "jsCall_v_80", "jsCall_v_81", "jsCall_v_82", "jsCall_v_83", "jsCall_v_84", "jsCall_v_85", "jsCall_v_86", "jsCall_v_87", "jsCall_v_88", "jsCall_v_89", "jsCall_v_90", "jsCall_v_91", "jsCall_v_92", "jsCall_v_93", "jsCall_v_94", "jsCall_v_95", "jsCall_v_96", "jsCall_v_97", "jsCall_v_98", "jsCall_v_99", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5618. var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", "jsCall_vdiidiiiii_35", "jsCall_vdiidiiiii_36", "jsCall_vdiidiiiii_37", "jsCall_vdiidiiiii_38", "jsCall_vdiidiiiii_39", "jsCall_vdiidiiiii_40", "jsCall_vdiidiiiii_41", "jsCall_vdiidiiiii_42", "jsCall_vdiidiiiii_43", "jsCall_vdiidiiiii_44", "jsCall_vdiidiiiii_45", "jsCall_vdiidiiiii_46", "jsCall_vdiidiiiii_47", "jsCall_vdiidiiiii_48", "jsCall_vdiidiiiii_49", "jsCall_vdiidiiiii_50", "jsCall_vdiidiiiii_51", "jsCall_vdiidiiiii_52", "jsCall_vdiidiiiii_53", "jsCall_vdiidiiiii_54", "jsCall_vdiidiiiii_55", "jsCall_vdiidiiiii_56", "jsCall_vdiidiiiii_57", "jsCall_vdiidiiiii_58", "jsCall_vdiidiiiii_59", "jsCall_vdiidiiiii_60", "jsCall_vdiidiiiii_61", "jsCall_vdiidiiiii_62", "jsCall_vdiidiiiii_63", "jsCall_vdiidiiiii_64", "jsCall_vdiidiiiii_65", "jsCall_vdiidiiiii_66", "jsCall_vdiidiiiii_67", "jsCall_vdiidiiiii_68", "jsCall_vdiidiiiii_69", "jsCall_vdiidiiiii_70", "jsCall_vdiidiiiii_71", "jsCall_vdiidiiiii_72", "jsCall_vdiidiiiii_73", "jsCall_vdiidiiiii_74", "jsCall_vdiidiiiii_75", "jsCall_vdiidiiiii_76", "jsCall_vdiidiiiii_77", "jsCall_vdiidiiiii_78", "jsCall_vdiidiiiii_79", "jsCall_vdiidiiiii_80", "jsCall_vdiidiiiii_81", "jsCall_vdiidiiiii_82", "jsCall_vdiidiiiii_83", "jsCall_vdiidiiiii_84", "jsCall_vdiidiiiii_85", "jsCall_vdiidiiiii_86", "jsCall_vdiidiiiii_87", "jsCall_vdiidiiiii_88", "jsCall_vdiidiiiii_89", "jsCall_vdiidiiiii_90", "jsCall_vdiidiiiii_91", "jsCall_vdiidiiiii_92", "jsCall_vdiidiiiii_93", "jsCall_vdiidiiiii_94", "jsCall_vdiidiiiii_95", "jsCall_vdiidiiiii_96", "jsCall_vdiidiiiii_97", "jsCall_vdiidiiiii_98", "jsCall_vdiidiiiii_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5619. var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", "jsCall_vdiidiiiiii_35", "jsCall_vdiidiiiiii_36", "jsCall_vdiidiiiiii_37", "jsCall_vdiidiiiiii_38", "jsCall_vdiidiiiiii_39", "jsCall_vdiidiiiiii_40", "jsCall_vdiidiiiiii_41", "jsCall_vdiidiiiiii_42", "jsCall_vdiidiiiiii_43", "jsCall_vdiidiiiiii_44", "jsCall_vdiidiiiiii_45", "jsCall_vdiidiiiiii_46", "jsCall_vdiidiiiiii_47", "jsCall_vdiidiiiiii_48", "jsCall_vdiidiiiiii_49", "jsCall_vdiidiiiiii_50", "jsCall_vdiidiiiiii_51", "jsCall_vdiidiiiiii_52", "jsCall_vdiidiiiiii_53", "jsCall_vdiidiiiiii_54", "jsCall_vdiidiiiiii_55", "jsCall_vdiidiiiiii_56", "jsCall_vdiidiiiiii_57", "jsCall_vdiidiiiiii_58", "jsCall_vdiidiiiiii_59", "jsCall_vdiidiiiiii_60", "jsCall_vdiidiiiiii_61", "jsCall_vdiidiiiiii_62", "jsCall_vdiidiiiiii_63", "jsCall_vdiidiiiiii_64", "jsCall_vdiidiiiiii_65", "jsCall_vdiidiiiiii_66", "jsCall_vdiidiiiiii_67", "jsCall_vdiidiiiiii_68", "jsCall_vdiidiiiiii_69", "jsCall_vdiidiiiiii_70", "jsCall_vdiidiiiiii_71", "jsCall_vdiidiiiiii_72", "jsCall_vdiidiiiiii_73", "jsCall_vdiidiiiiii_74", "jsCall_vdiidiiiiii_75", "jsCall_vdiidiiiiii_76", "jsCall_vdiidiiiiii_77", "jsCall_vdiidiiiiii_78", "jsCall_vdiidiiiiii_79", "jsCall_vdiidiiiiii_80", "jsCall_vdiidiiiiii_81", "jsCall_vdiidiiiiii_82", "jsCall_vdiidiiiiii_83", "jsCall_vdiidiiiiii_84", "jsCall_vdiidiiiiii_85", "jsCall_vdiidiiiiii_86", "jsCall_vdiidiiiiii_87", "jsCall_vdiidiiiiii_88", "jsCall_vdiidiiiiii_89", "jsCall_vdiidiiiiii_90", "jsCall_vdiidiiiiii_91", "jsCall_vdiidiiiiii_92", "jsCall_vdiidiiiiii_93", "jsCall_vdiidiiiiii_94", "jsCall_vdiidiiiiii_95", "jsCall_vdiidiiiiii_96", "jsCall_vdiidiiiiii_97", "jsCall_vdiidiiiiii_98", "jsCall_vdiidiiiiii_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5620. var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "jsCall_vi_35", "jsCall_vi_36", "jsCall_vi_37", "jsCall_vi_38", "jsCall_vi_39", "jsCall_vi_40", "jsCall_vi_41", "jsCall_vi_42", "jsCall_vi_43", "jsCall_vi_44", "jsCall_vi_45", "jsCall_vi_46", "jsCall_vi_47", "jsCall_vi_48", "jsCall_vi_49", "jsCall_vi_50", "jsCall_vi_51", "jsCall_vi_52", "jsCall_vi_53", "jsCall_vi_54", "jsCall_vi_55", "jsCall_vi_56", "jsCall_vi_57", "jsCall_vi_58", "jsCall_vi_59", "jsCall_vi_60", "jsCall_vi_61", "jsCall_vi_62", "jsCall_vi_63", "jsCall_vi_64", "jsCall_vi_65", "jsCall_vi_66", "jsCall_vi_67", "jsCall_vi_68", "jsCall_vi_69", "jsCall_vi_70", "jsCall_vi_71", "jsCall_vi_72", "jsCall_vi_73", "jsCall_vi_74", "jsCall_vi_75", "jsCall_vi_76", "jsCall_vi_77", "jsCall_vi_78", "jsCall_vi_79", "jsCall_vi_80", "jsCall_vi_81", "jsCall_vi_82", "jsCall_vi_83", "jsCall_vi_84", "jsCall_vi_85", "jsCall_vi_86", "jsCall_vi_87", "jsCall_vi_88", "jsCall_vi_89", "jsCall_vi_90", "jsCall_vi_91", "jsCall_vi_92", "jsCall_vi_93", "jsCall_vi_94", "jsCall_vi_95", "jsCall_vi_96", "jsCall_vi_97", "jsCall_vi_98", "jsCall_vi_99", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5621. var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "jsCall_vii_35", "jsCall_vii_36", "jsCall_vii_37", "jsCall_vii_38", "jsCall_vii_39", "jsCall_vii_40", "jsCall_vii_41", "jsCall_vii_42", "jsCall_vii_43", "jsCall_vii_44", "jsCall_vii_45", "jsCall_vii_46", "jsCall_vii_47", "jsCall_vii_48", "jsCall_vii_49", "jsCall_vii_50", "jsCall_vii_51", "jsCall_vii_52", "jsCall_vii_53", "jsCall_vii_54", "jsCall_vii_55", "jsCall_vii_56", "jsCall_vii_57", "jsCall_vii_58", "jsCall_vii_59", "jsCall_vii_60", "jsCall_vii_61", "jsCall_vii_62", "jsCall_vii_63", "jsCall_vii_64", "jsCall_vii_65", "jsCall_vii_66", "jsCall_vii_67", "jsCall_vii_68", "jsCall_vii_69", "jsCall_vii_70", "jsCall_vii_71", "jsCall_vii_72", "jsCall_vii_73", "jsCall_vii_74", "jsCall_vii_75", "jsCall_vii_76", "jsCall_vii_77", "jsCall_vii_78", "jsCall_vii_79", "jsCall_vii_80", "jsCall_vii_81", "jsCall_vii_82", "jsCall_vii_83", "jsCall_vii_84", "jsCall_vii_85", "jsCall_vii_86", "jsCall_vii_87", "jsCall_vii_88", "jsCall_vii_89", "jsCall_vii_90", "jsCall_vii_91", "jsCall_vii_92", "jsCall_vii_93", "jsCall_vii_94", "jsCall_vii_95", "jsCall_vii_96", "jsCall_vii_97", "jsCall_vii_98", "jsCall_vii_99", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5622. var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "jsCall_viidi_35", "jsCall_viidi_36", "jsCall_viidi_37", "jsCall_viidi_38", "jsCall_viidi_39", "jsCall_viidi_40", "jsCall_viidi_41", "jsCall_viidi_42", "jsCall_viidi_43", "jsCall_viidi_44", "jsCall_viidi_45", "jsCall_viidi_46", "jsCall_viidi_47", "jsCall_viidi_48", "jsCall_viidi_49", "jsCall_viidi_50", "jsCall_viidi_51", "jsCall_viidi_52", "jsCall_viidi_53", "jsCall_viidi_54", "jsCall_viidi_55", "jsCall_viidi_56", "jsCall_viidi_57", "jsCall_viidi_58", "jsCall_viidi_59", "jsCall_viidi_60", "jsCall_viidi_61", "jsCall_viidi_62", "jsCall_viidi_63", "jsCall_viidi_64", "jsCall_viidi_65", "jsCall_viidi_66", "jsCall_viidi_67", "jsCall_viidi_68", "jsCall_viidi_69", "jsCall_viidi_70", "jsCall_viidi_71", "jsCall_viidi_72", "jsCall_viidi_73", "jsCall_viidi_74", "jsCall_viidi_75", "jsCall_viidi_76", "jsCall_viidi_77", "jsCall_viidi_78", "jsCall_viidi_79", "jsCall_viidi_80", "jsCall_viidi_81", "jsCall_viidi_82", "jsCall_viidi_83", "jsCall_viidi_84", "jsCall_viidi_85", "jsCall_viidi_86", "jsCall_viidi_87", "jsCall_viidi_88", "jsCall_viidi_89", "jsCall_viidi_90", "jsCall_viidi_91", "jsCall_viidi_92", "jsCall_viidi_93", "jsCall_viidi_94", "jsCall_viidi_95", "jsCall_viidi_96", "jsCall_viidi_97", "jsCall_viidi_98", "jsCall_viidi_99", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5623. var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "jsCall_viifi_35", "jsCall_viifi_36", "jsCall_viifi_37", "jsCall_viifi_38", "jsCall_viifi_39", "jsCall_viifi_40", "jsCall_viifi_41", "jsCall_viifi_42", "jsCall_viifi_43", "jsCall_viifi_44", "jsCall_viifi_45", "jsCall_viifi_46", "jsCall_viifi_47", "jsCall_viifi_48", "jsCall_viifi_49", "jsCall_viifi_50", "jsCall_viifi_51", "jsCall_viifi_52", "jsCall_viifi_53", "jsCall_viifi_54", "jsCall_viifi_55", "jsCall_viifi_56", "jsCall_viifi_57", "jsCall_viifi_58", "jsCall_viifi_59", "jsCall_viifi_60", "jsCall_viifi_61", "jsCall_viifi_62", "jsCall_viifi_63", "jsCall_viifi_64", "jsCall_viifi_65", "jsCall_viifi_66", "jsCall_viifi_67", "jsCall_viifi_68", "jsCall_viifi_69", "jsCall_viifi_70", "jsCall_viifi_71", "jsCall_viifi_72", "jsCall_viifi_73", "jsCall_viifi_74", "jsCall_viifi_75", "jsCall_viifi_76", "jsCall_viifi_77", "jsCall_viifi_78", "jsCall_viifi_79", "jsCall_viifi_80", "jsCall_viifi_81", "jsCall_viifi_82", "jsCall_viifi_83", "jsCall_viifi_84", "jsCall_viifi_85", "jsCall_viifi_86", "jsCall_viifi_87", "jsCall_viifi_88", "jsCall_viifi_89", "jsCall_viifi_90", "jsCall_viifi_91", "jsCall_viifi_92", "jsCall_viifi_93", "jsCall_viifi_94", "jsCall_viifi_95", "jsCall_viifi_96", "jsCall_viifi_97", "jsCall_viifi_98", "jsCall_viifi_99", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5624. var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "jsCall_viii_35", "jsCall_viii_36", "jsCall_viii_37", "jsCall_viii_38", "jsCall_viii_39", "jsCall_viii_40", "jsCall_viii_41", "jsCall_viii_42", "jsCall_viii_43", "jsCall_viii_44", "jsCall_viii_45", "jsCall_viii_46", "jsCall_viii_47", "jsCall_viii_48", "jsCall_viii_49", "jsCall_viii_50", "jsCall_viii_51", "jsCall_viii_52", "jsCall_viii_53", "jsCall_viii_54", "jsCall_viii_55", "jsCall_viii_56", "jsCall_viii_57", "jsCall_viii_58", "jsCall_viii_59", "jsCall_viii_60", "jsCall_viii_61", "jsCall_viii_62", "jsCall_viii_63", "jsCall_viii_64", "jsCall_viii_65", "jsCall_viii_66", "jsCall_viii_67", "jsCall_viii_68", "jsCall_viii_69", "jsCall_viii_70", "jsCall_viii_71", "jsCall_viii_72", "jsCall_viii_73", "jsCall_viii_74", "jsCall_viii_75", "jsCall_viii_76", "jsCall_viii_77", "jsCall_viii_78", "jsCall_viii_79", "jsCall_viii_80", "jsCall_viii_81", "jsCall_viii_82", "jsCall_viii_83", "jsCall_viii_84", "jsCall_viii_85", "jsCall_viii_86", "jsCall_viii_87", "jsCall_viii_88", "jsCall_viii_89", "jsCall_viii_90", "jsCall_viii_91", "jsCall_viii_92", "jsCall_viii_93", "jsCall_viii_94", "jsCall_viii_95", "jsCall_viii_96", "jsCall_viii_97", "jsCall_viii_98", "jsCall_viii_99", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5625. var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", "jsCall_viiid_35", "jsCall_viiid_36", "jsCall_viiid_37", "jsCall_viiid_38", "jsCall_viiid_39", "jsCall_viiid_40", "jsCall_viiid_41", "jsCall_viiid_42", "jsCall_viiid_43", "jsCall_viiid_44", "jsCall_viiid_45", "jsCall_viiid_46", "jsCall_viiid_47", "jsCall_viiid_48", "jsCall_viiid_49", "jsCall_viiid_50", "jsCall_viiid_51", "jsCall_viiid_52", "jsCall_viiid_53", "jsCall_viiid_54", "jsCall_viiid_55", "jsCall_viiid_56", "jsCall_viiid_57", "jsCall_viiid_58", "jsCall_viiid_59", "jsCall_viiid_60", "jsCall_viiid_61", "jsCall_viiid_62", "jsCall_viiid_63", "jsCall_viiid_64", "jsCall_viiid_65", "jsCall_viiid_66", "jsCall_viiid_67", "jsCall_viiid_68", "jsCall_viiid_69", "jsCall_viiid_70", "jsCall_viiid_71", "jsCall_viiid_72", "jsCall_viiid_73", "jsCall_viiid_74", "jsCall_viiid_75", "jsCall_viiid_76", "jsCall_viiid_77", "jsCall_viiid_78", "jsCall_viiid_79", "jsCall_viiid_80", "jsCall_viiid_81", "jsCall_viiid_82", "jsCall_viiid_83", "jsCall_viiid_84", "jsCall_viiid_85", "jsCall_viiid_86", "jsCall_viiid_87", "jsCall_viiid_88", "jsCall_viiid_89", "jsCall_viiid_90", "jsCall_viiid_91", "jsCall_viiid_92", "jsCall_viiid_93", "jsCall_viiid_94", "jsCall_viiid_95", "jsCall_viiid_96", "jsCall_viiid_97", "jsCall_viiid_98", "jsCall_viiid_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5626. var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "jsCall_viiii_35", "jsCall_viiii_36", "jsCall_viiii_37", "jsCall_viiii_38", "jsCall_viiii_39", "jsCall_viiii_40", "jsCall_viiii_41", "jsCall_viiii_42", "jsCall_viiii_43", "jsCall_viiii_44", "jsCall_viiii_45", "jsCall_viiii_46", "jsCall_viiii_47", "jsCall_viiii_48", "jsCall_viiii_49", "jsCall_viiii_50", "jsCall_viiii_51", "jsCall_viiii_52", "jsCall_viiii_53", "jsCall_viiii_54", "jsCall_viiii_55", "jsCall_viiii_56", "jsCall_viiii_57", "jsCall_viiii_58", "jsCall_viiii_59", "jsCall_viiii_60", "jsCall_viiii_61", "jsCall_viiii_62", "jsCall_viiii_63", "jsCall_viiii_64", "jsCall_viiii_65", "jsCall_viiii_66", "jsCall_viiii_67", "jsCall_viiii_68", "jsCall_viiii_69", "jsCall_viiii_70", "jsCall_viiii_71", "jsCall_viiii_72", "jsCall_viiii_73", "jsCall_viiii_74", "jsCall_viiii_75", "jsCall_viiii_76", "jsCall_viiii_77", "jsCall_viiii_78", "jsCall_viiii_79", "jsCall_viiii_80", "jsCall_viiii_81", "jsCall_viiii_82", "jsCall_viiii_83", "jsCall_viiii_84", "jsCall_viiii_85", "jsCall_viiii_86", "jsCall_viiii_87", "jsCall_viiii_88", "jsCall_viiii_89", "jsCall_viiii_90", "jsCall_viiii_91", "jsCall_viiii_92", "jsCall_viiii_93", "jsCall_viiii_94", "jsCall_viiii_95", "jsCall_viiii_96", "jsCall_viiii_97", "jsCall_viiii_98", "jsCall_viiii_99", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5627. var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "jsCall_viiiifii_35", "jsCall_viiiifii_36", "jsCall_viiiifii_37", "jsCall_viiiifii_38", "jsCall_viiiifii_39", "jsCall_viiiifii_40", "jsCall_viiiifii_41", "jsCall_viiiifii_42", "jsCall_viiiifii_43", "jsCall_viiiifii_44", "jsCall_viiiifii_45", "jsCall_viiiifii_46", "jsCall_viiiifii_47", "jsCall_viiiifii_48", "jsCall_viiiifii_49", "jsCall_viiiifii_50", "jsCall_viiiifii_51", "jsCall_viiiifii_52", "jsCall_viiiifii_53", "jsCall_viiiifii_54", "jsCall_viiiifii_55", "jsCall_viiiifii_56", "jsCall_viiiifii_57", "jsCall_viiiifii_58", "jsCall_viiiifii_59", "jsCall_viiiifii_60", "jsCall_viiiifii_61", "jsCall_viiiifii_62", "jsCall_viiiifii_63", "jsCall_viiiifii_64", "jsCall_viiiifii_65", "jsCall_viiiifii_66", "jsCall_viiiifii_67", "jsCall_viiiifii_68", "jsCall_viiiifii_69", "jsCall_viiiifii_70", "jsCall_viiiifii_71", "jsCall_viiiifii_72", "jsCall_viiiifii_73", "jsCall_viiiifii_74", "jsCall_viiiifii_75", "jsCall_viiiifii_76", "jsCall_viiiifii_77", "jsCall_viiiifii_78", "jsCall_viiiifii_79", "jsCall_viiiifii_80", "jsCall_viiiifii_81", "jsCall_viiiifii_82", "jsCall_viiiifii_83", "jsCall_viiiifii_84", "jsCall_viiiifii_85", "jsCall_viiiifii_86", "jsCall_viiiifii_87", "jsCall_viiiifii_88", "jsCall_viiiifii_89", "jsCall_viiiifii_90", "jsCall_viiiifii_91", "jsCall_viiiifii_92", "jsCall_viiiifii_93", "jsCall_viiiifii_94", "jsCall_viiiifii_95", "jsCall_viiiifii_96", "jsCall_viiiifii_97", "jsCall_viiiifii_98", "jsCall_viiiifii_99", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5628. var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "jsCall_viiiii_35", "jsCall_viiiii_36", "jsCall_viiiii_37", "jsCall_viiiii_38", "jsCall_viiiii_39", "jsCall_viiiii_40", "jsCall_viiiii_41", "jsCall_viiiii_42", "jsCall_viiiii_43", "jsCall_viiiii_44", "jsCall_viiiii_45", "jsCall_viiiii_46", "jsCall_viiiii_47", "jsCall_viiiii_48", "jsCall_viiiii_49", "jsCall_viiiii_50", "jsCall_viiiii_51", "jsCall_viiiii_52", "jsCall_viiiii_53", "jsCall_viiiii_54", "jsCall_viiiii_55", "jsCall_viiiii_56", "jsCall_viiiii_57", "jsCall_viiiii_58", "jsCall_viiiii_59", "jsCall_viiiii_60", "jsCall_viiiii_61", "jsCall_viiiii_62", "jsCall_viiiii_63", "jsCall_viiiii_64", "jsCall_viiiii_65", "jsCall_viiiii_66", "jsCall_viiiii_67", "jsCall_viiiii_68", "jsCall_viiiii_69", "jsCall_viiiii_70", "jsCall_viiiii_71", "jsCall_viiiii_72", "jsCall_viiiii_73", "jsCall_viiiii_74", "jsCall_viiiii_75", "jsCall_viiiii_76", "jsCall_viiiii_77", "jsCall_viiiii_78", "jsCall_viiiii_79", "jsCall_viiiii_80", "jsCall_viiiii_81", "jsCall_viiiii_82", "jsCall_viiiii_83", "jsCall_viiiii_84", "jsCall_viiiii_85", "jsCall_viiiii_86", "jsCall_viiiii_87", "jsCall_viiiii_88", "jsCall_viiiii_89", "jsCall_viiiii_90", "jsCall_viiiii_91", "jsCall_viiiii_92", "jsCall_viiiii_93", "jsCall_viiiii_94", "jsCall_viiiii_95", "jsCall_viiiii_96", "jsCall_viiiii_97", "jsCall_viiiii_98", "jsCall_viiiii_99", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5629. var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", "jsCall_viiiiidd_35", "jsCall_viiiiidd_36", "jsCall_viiiiidd_37", "jsCall_viiiiidd_38", "jsCall_viiiiidd_39", "jsCall_viiiiidd_40", "jsCall_viiiiidd_41", "jsCall_viiiiidd_42", "jsCall_viiiiidd_43", "jsCall_viiiiidd_44", "jsCall_viiiiidd_45", "jsCall_viiiiidd_46", "jsCall_viiiiidd_47", "jsCall_viiiiidd_48", "jsCall_viiiiidd_49", "jsCall_viiiiidd_50", "jsCall_viiiiidd_51", "jsCall_viiiiidd_52", "jsCall_viiiiidd_53", "jsCall_viiiiidd_54", "jsCall_viiiiidd_55", "jsCall_viiiiidd_56", "jsCall_viiiiidd_57", "jsCall_viiiiidd_58", "jsCall_viiiiidd_59", "jsCall_viiiiidd_60", "jsCall_viiiiidd_61", "jsCall_viiiiidd_62", "jsCall_viiiiidd_63", "jsCall_viiiiidd_64", "jsCall_viiiiidd_65", "jsCall_viiiiidd_66", "jsCall_viiiiidd_67", "jsCall_viiiiidd_68", "jsCall_viiiiidd_69", "jsCall_viiiiidd_70", "jsCall_viiiiidd_71", "jsCall_viiiiidd_72", "jsCall_viiiiidd_73", "jsCall_viiiiidd_74", "jsCall_viiiiidd_75", "jsCall_viiiiidd_76", "jsCall_viiiiidd_77", "jsCall_viiiiidd_78", "jsCall_viiiiidd_79", "jsCall_viiiiidd_80", "jsCall_viiiiidd_81", "jsCall_viiiiidd_82", "jsCall_viiiiidd_83", "jsCall_viiiiidd_84", "jsCall_viiiiidd_85", "jsCall_viiiiidd_86", "jsCall_viiiiidd_87", "jsCall_viiiiidd_88", "jsCall_viiiiidd_89", "jsCall_viiiiidd_90", "jsCall_viiiiidd_91", "jsCall_viiiiidd_92", "jsCall_viiiiidd_93", "jsCall_viiiiidd_94", "jsCall_viiiiidd_95", "jsCall_viiiiidd_96", "jsCall_viiiiidd_97", "jsCall_viiiiidd_98", "jsCall_viiiiidd_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5630. var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", "jsCall_viiiiiddi_35", "jsCall_viiiiiddi_36", "jsCall_viiiiiddi_37", "jsCall_viiiiiddi_38", "jsCall_viiiiiddi_39", "jsCall_viiiiiddi_40", "jsCall_viiiiiddi_41", "jsCall_viiiiiddi_42", "jsCall_viiiiiddi_43", "jsCall_viiiiiddi_44", "jsCall_viiiiiddi_45", "jsCall_viiiiiddi_46", "jsCall_viiiiiddi_47", "jsCall_viiiiiddi_48", "jsCall_viiiiiddi_49", "jsCall_viiiiiddi_50", "jsCall_viiiiiddi_51", "jsCall_viiiiiddi_52", "jsCall_viiiiiddi_53", "jsCall_viiiiiddi_54", "jsCall_viiiiiddi_55", "jsCall_viiiiiddi_56", "jsCall_viiiiiddi_57", "jsCall_viiiiiddi_58", "jsCall_viiiiiddi_59", "jsCall_viiiiiddi_60", "jsCall_viiiiiddi_61", "jsCall_viiiiiddi_62", "jsCall_viiiiiddi_63", "jsCall_viiiiiddi_64", "jsCall_viiiiiddi_65", "jsCall_viiiiiddi_66", "jsCall_viiiiiddi_67", "jsCall_viiiiiddi_68", "jsCall_viiiiiddi_69", "jsCall_viiiiiddi_70", "jsCall_viiiiiddi_71", "jsCall_viiiiiddi_72", "jsCall_viiiiiddi_73", "jsCall_viiiiiddi_74", "jsCall_viiiiiddi_75", "jsCall_viiiiiddi_76", "jsCall_viiiiiddi_77", "jsCall_viiiiiddi_78", "jsCall_viiiiiddi_79", "jsCall_viiiiiddi_80", "jsCall_viiiiiddi_81", "jsCall_viiiiiddi_82", "jsCall_viiiiiddi_83", "jsCall_viiiiiddi_84", "jsCall_viiiiiddi_85", "jsCall_viiiiiddi_86", "jsCall_viiiiiddi_87", "jsCall_viiiiiddi_88", "jsCall_viiiiiddi_89", "jsCall_viiiiiddi_90", "jsCall_viiiiiddi_91", "jsCall_viiiiiddi_92", "jsCall_viiiiiddi_93", "jsCall_viiiiiddi_94", "jsCall_viiiiiddi_95", "jsCall_viiiiiddi_96", "jsCall_viiiiiddi_97", "jsCall_viiiiiddi_98", "jsCall_viiiiiddi_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5631. var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "jsCall_viiiiii_35", "jsCall_viiiiii_36", "jsCall_viiiiii_37", "jsCall_viiiiii_38", "jsCall_viiiiii_39", "jsCall_viiiiii_40", "jsCall_viiiiii_41", "jsCall_viiiiii_42", "jsCall_viiiiii_43", "jsCall_viiiiii_44", "jsCall_viiiiii_45", "jsCall_viiiiii_46", "jsCall_viiiiii_47", "jsCall_viiiiii_48", "jsCall_viiiiii_49", "jsCall_viiiiii_50", "jsCall_viiiiii_51", "jsCall_viiiiii_52", "jsCall_viiiiii_53", "jsCall_viiiiii_54", "jsCall_viiiiii_55", "jsCall_viiiiii_56", "jsCall_viiiiii_57", "jsCall_viiiiii_58", "jsCall_viiiiii_59", "jsCall_viiiiii_60", "jsCall_viiiiii_61", "jsCall_viiiiii_62", "jsCall_viiiiii_63", "jsCall_viiiiii_64", "jsCall_viiiiii_65", "jsCall_viiiiii_66", "jsCall_viiiiii_67", "jsCall_viiiiii_68", "jsCall_viiiiii_69", "jsCall_viiiiii_70", "jsCall_viiiiii_71", "jsCall_viiiiii_72", "jsCall_viiiiii_73", "jsCall_viiiiii_74", "jsCall_viiiiii_75", "jsCall_viiiiii_76", "jsCall_viiiiii_77", "jsCall_viiiiii_78", "jsCall_viiiiii_79", "jsCall_viiiiii_80", "jsCall_viiiiii_81", "jsCall_viiiiii_82", "jsCall_viiiiii_83", "jsCall_viiiiii_84", "jsCall_viiiiii_85", "jsCall_viiiiii_86", "jsCall_viiiiii_87", "jsCall_viiiiii_88", "jsCall_viiiiii_89", "jsCall_viiiiii_90", "jsCall_viiiiii_91", "jsCall_viiiiii_92", "jsCall_viiiiii_93", "jsCall_viiiiii_94", "jsCall_viiiiii_95", "jsCall_viiiiii_96", "jsCall_viiiiii_97", "jsCall_viiiiii_98", "jsCall_viiiiii_99", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5632. var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "jsCall_viiiiiifi_35", "jsCall_viiiiiifi_36", "jsCall_viiiiiifi_37", "jsCall_viiiiiifi_38", "jsCall_viiiiiifi_39", "jsCall_viiiiiifi_40", "jsCall_viiiiiifi_41", "jsCall_viiiiiifi_42", "jsCall_viiiiiifi_43", "jsCall_viiiiiifi_44", "jsCall_viiiiiifi_45", "jsCall_viiiiiifi_46", "jsCall_viiiiiifi_47", "jsCall_viiiiiifi_48", "jsCall_viiiiiifi_49", "jsCall_viiiiiifi_50", "jsCall_viiiiiifi_51", "jsCall_viiiiiifi_52", "jsCall_viiiiiifi_53", "jsCall_viiiiiifi_54", "jsCall_viiiiiifi_55", "jsCall_viiiiiifi_56", "jsCall_viiiiiifi_57", "jsCall_viiiiiifi_58", "jsCall_viiiiiifi_59", "jsCall_viiiiiifi_60", "jsCall_viiiiiifi_61", "jsCall_viiiiiifi_62", "jsCall_viiiiiifi_63", "jsCall_viiiiiifi_64", "jsCall_viiiiiifi_65", "jsCall_viiiiiifi_66", "jsCall_viiiiiifi_67", "jsCall_viiiiiifi_68", "jsCall_viiiiiifi_69", "jsCall_viiiiiifi_70", "jsCall_viiiiiifi_71", "jsCall_viiiiiifi_72", "jsCall_viiiiiifi_73", "jsCall_viiiiiifi_74", "jsCall_viiiiiifi_75", "jsCall_viiiiiifi_76", "jsCall_viiiiiifi_77", "jsCall_viiiiiifi_78", "jsCall_viiiiiifi_79", "jsCall_viiiiiifi_80", "jsCall_viiiiiifi_81", "jsCall_viiiiiifi_82", "jsCall_viiiiiifi_83", "jsCall_viiiiiifi_84", "jsCall_viiiiiifi_85", "jsCall_viiiiiifi_86", "jsCall_viiiiiifi_87", "jsCall_viiiiiifi_88", "jsCall_viiiiiifi_89", "jsCall_viiiiiifi_90", "jsCall_viiiiiifi_91", "jsCall_viiiiiifi_92", "jsCall_viiiiiifi_93", "jsCall_viiiiiifi_94", "jsCall_viiiiiifi_95", "jsCall_viiiiiifi_96", "jsCall_viiiiiifi_97", "jsCall_viiiiiifi_98", "jsCall_viiiiiifi_99", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5633. var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "jsCall_viiiiiii_35", "jsCall_viiiiiii_36", "jsCall_viiiiiii_37", "jsCall_viiiiiii_38", "jsCall_viiiiiii_39", "jsCall_viiiiiii_40", "jsCall_viiiiiii_41", "jsCall_viiiiiii_42", "jsCall_viiiiiii_43", "jsCall_viiiiiii_44", "jsCall_viiiiiii_45", "jsCall_viiiiiii_46", "jsCall_viiiiiii_47", "jsCall_viiiiiii_48", "jsCall_viiiiiii_49", "jsCall_viiiiiii_50", "jsCall_viiiiiii_51", "jsCall_viiiiiii_52", "jsCall_viiiiiii_53", "jsCall_viiiiiii_54", "jsCall_viiiiiii_55", "jsCall_viiiiiii_56", "jsCall_viiiiiii_57", "jsCall_viiiiiii_58", "jsCall_viiiiiii_59", "jsCall_viiiiiii_60", "jsCall_viiiiiii_61", "jsCall_viiiiiii_62", "jsCall_viiiiiii_63", "jsCall_viiiiiii_64", "jsCall_viiiiiii_65", "jsCall_viiiiiii_66", "jsCall_viiiiiii_67", "jsCall_viiiiiii_68", "jsCall_viiiiiii_69", "jsCall_viiiiiii_70", "jsCall_viiiiiii_71", "jsCall_viiiiiii_72", "jsCall_viiiiiii_73", "jsCall_viiiiiii_74", "jsCall_viiiiiii_75", "jsCall_viiiiiii_76", "jsCall_viiiiiii_77", "jsCall_viiiiiii_78", "jsCall_viiiiiii_79", "jsCall_viiiiiii_80", "jsCall_viiiiiii_81", "jsCall_viiiiiii_82", "jsCall_viiiiiii_83", "jsCall_viiiiiii_84", "jsCall_viiiiiii_85", "jsCall_viiiiiii_86", "jsCall_viiiiiii_87", "jsCall_viiiiiii_88", "jsCall_viiiiiii_89", "jsCall_viiiiiii_90", "jsCall_viiiiiii_91", "jsCall_viiiiiii_92", "jsCall_viiiiiii_93", "jsCall_viiiiiii_94", "jsCall_viiiiiii_95", "jsCall_viiiiiii_96", "jsCall_viiiiiii_97", "jsCall_viiiiiii_98", "jsCall_viiiiiii_99", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5634. var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "jsCall_viiiiiiii_35", "jsCall_viiiiiiii_36", "jsCall_viiiiiiii_37", "jsCall_viiiiiiii_38", "jsCall_viiiiiiii_39", "jsCall_viiiiiiii_40", "jsCall_viiiiiiii_41", "jsCall_viiiiiiii_42", "jsCall_viiiiiiii_43", "jsCall_viiiiiiii_44", "jsCall_viiiiiiii_45", "jsCall_viiiiiiii_46", "jsCall_viiiiiiii_47", "jsCall_viiiiiiii_48", "jsCall_viiiiiiii_49", "jsCall_viiiiiiii_50", "jsCall_viiiiiiii_51", "jsCall_viiiiiiii_52", "jsCall_viiiiiiii_53", "jsCall_viiiiiiii_54", "jsCall_viiiiiiii_55", "jsCall_viiiiiiii_56", "jsCall_viiiiiiii_57", "jsCall_viiiiiiii_58", "jsCall_viiiiiiii_59", "jsCall_viiiiiiii_60", "jsCall_viiiiiiii_61", "jsCall_viiiiiiii_62", "jsCall_viiiiiiii_63", "jsCall_viiiiiiii_64", "jsCall_viiiiiiii_65", "jsCall_viiiiiiii_66", "jsCall_viiiiiiii_67", "jsCall_viiiiiiii_68", "jsCall_viiiiiiii_69", "jsCall_viiiiiiii_70", "jsCall_viiiiiiii_71", "jsCall_viiiiiiii_72", "jsCall_viiiiiiii_73", "jsCall_viiiiiiii_74", "jsCall_viiiiiiii_75", "jsCall_viiiiiiii_76", "jsCall_viiiiiiii_77", "jsCall_viiiiiiii_78", "jsCall_viiiiiiii_79", "jsCall_viiiiiiii_80", "jsCall_viiiiiiii_81", "jsCall_viiiiiiii_82", "jsCall_viiiiiiii_83", "jsCall_viiiiiiii_84", "jsCall_viiiiiiii_85", "jsCall_viiiiiiii_86", "jsCall_viiiiiiii_87", "jsCall_viiiiiiii_88", "jsCall_viiiiiiii_89", "jsCall_viiiiiiii_90", "jsCall_viiiiiiii_91", "jsCall_viiiiiiii_92", "jsCall_viiiiiiii_93", "jsCall_viiiiiiii_94", "jsCall_viiiiiiii_95", "jsCall_viiiiiiii_96", "jsCall_viiiiiiii_97", "jsCall_viiiiiiii_98", "jsCall_viiiiiiii_99", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5635. var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", "jsCall_viiiiiiiid_35", "jsCall_viiiiiiiid_36", "jsCall_viiiiiiiid_37", "jsCall_viiiiiiiid_38", "jsCall_viiiiiiiid_39", "jsCall_viiiiiiiid_40", "jsCall_viiiiiiiid_41", "jsCall_viiiiiiiid_42", "jsCall_viiiiiiiid_43", "jsCall_viiiiiiiid_44", "jsCall_viiiiiiiid_45", "jsCall_viiiiiiiid_46", "jsCall_viiiiiiiid_47", "jsCall_viiiiiiiid_48", "jsCall_viiiiiiiid_49", "jsCall_viiiiiiiid_50", "jsCall_viiiiiiiid_51", "jsCall_viiiiiiiid_52", "jsCall_viiiiiiiid_53", "jsCall_viiiiiiiid_54", "jsCall_viiiiiiiid_55", "jsCall_viiiiiiiid_56", "jsCall_viiiiiiiid_57", "jsCall_viiiiiiiid_58", "jsCall_viiiiiiiid_59", "jsCall_viiiiiiiid_60", "jsCall_viiiiiiiid_61", "jsCall_viiiiiiiid_62", "jsCall_viiiiiiiid_63", "jsCall_viiiiiiiid_64", "jsCall_viiiiiiiid_65", "jsCall_viiiiiiiid_66", "jsCall_viiiiiiiid_67", "jsCall_viiiiiiiid_68", "jsCall_viiiiiiiid_69", "jsCall_viiiiiiiid_70", "jsCall_viiiiiiiid_71", "jsCall_viiiiiiiid_72", "jsCall_viiiiiiiid_73", "jsCall_viiiiiiiid_74", "jsCall_viiiiiiiid_75", "jsCall_viiiiiiiid_76", "jsCall_viiiiiiiid_77", "jsCall_viiiiiiiid_78", "jsCall_viiiiiiiid_79", "jsCall_viiiiiiiid_80", "jsCall_viiiiiiiid_81", "jsCall_viiiiiiiid_82", "jsCall_viiiiiiiid_83", "jsCall_viiiiiiiid_84", "jsCall_viiiiiiiid_85", "jsCall_viiiiiiiid_86", "jsCall_viiiiiiiid_87", "jsCall_viiiiiiiid_88", "jsCall_viiiiiiiid_89", "jsCall_viiiiiiiid_90", "jsCall_viiiiiiiid_91", "jsCall_viiiiiiiid_92", "jsCall_viiiiiiiid_93", "jsCall_viiiiiiiid_94", "jsCall_viiiiiiiid_95", "jsCall_viiiiiiiid_96", "jsCall_viiiiiiiid_97", "jsCall_viiiiiiiid_98", "jsCall_viiiiiiiid_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5636. var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", "jsCall_viiiiiiiidi_35", "jsCall_viiiiiiiidi_36", "jsCall_viiiiiiiidi_37", "jsCall_viiiiiiiidi_38", "jsCall_viiiiiiiidi_39", "jsCall_viiiiiiiidi_40", "jsCall_viiiiiiiidi_41", "jsCall_viiiiiiiidi_42", "jsCall_viiiiiiiidi_43", "jsCall_viiiiiiiidi_44", "jsCall_viiiiiiiidi_45", "jsCall_viiiiiiiidi_46", "jsCall_viiiiiiiidi_47", "jsCall_viiiiiiiidi_48", "jsCall_viiiiiiiidi_49", "jsCall_viiiiiiiidi_50", "jsCall_viiiiiiiidi_51", "jsCall_viiiiiiiidi_52", "jsCall_viiiiiiiidi_53", "jsCall_viiiiiiiidi_54", "jsCall_viiiiiiiidi_55", "jsCall_viiiiiiiidi_56", "jsCall_viiiiiiiidi_57", "jsCall_viiiiiiiidi_58", "jsCall_viiiiiiiidi_59", "jsCall_viiiiiiiidi_60", "jsCall_viiiiiiiidi_61", "jsCall_viiiiiiiidi_62", "jsCall_viiiiiiiidi_63", "jsCall_viiiiiiiidi_64", "jsCall_viiiiiiiidi_65", "jsCall_viiiiiiiidi_66", "jsCall_viiiiiiiidi_67", "jsCall_viiiiiiiidi_68", "jsCall_viiiiiiiidi_69", "jsCall_viiiiiiiidi_70", "jsCall_viiiiiiiidi_71", "jsCall_viiiiiiiidi_72", "jsCall_viiiiiiiidi_73", "jsCall_viiiiiiiidi_74", "jsCall_viiiiiiiidi_75", "jsCall_viiiiiiiidi_76", "jsCall_viiiiiiiidi_77", "jsCall_viiiiiiiidi_78", "jsCall_viiiiiiiidi_79", "jsCall_viiiiiiiidi_80", "jsCall_viiiiiiiidi_81", "jsCall_viiiiiiiidi_82", "jsCall_viiiiiiiidi_83", "jsCall_viiiiiiiidi_84", "jsCall_viiiiiiiidi_85", "jsCall_viiiiiiiidi_86", "jsCall_viiiiiiiidi_87", "jsCall_viiiiiiiidi_88", "jsCall_viiiiiiiidi_89", "jsCall_viiiiiiiidi_90", "jsCall_viiiiiiiidi_91", "jsCall_viiiiiiiidi_92", "jsCall_viiiiiiiidi_93", "jsCall_viiiiiiiidi_94", "jsCall_viiiiiiiidi_95", "jsCall_viiiiiiiidi_96", "jsCall_viiiiiiiidi_97", "jsCall_viiiiiiiidi_98", "jsCall_viiiiiiiidi_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5637. var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "jsCall_viiiiiiiii_35", "jsCall_viiiiiiiii_36", "jsCall_viiiiiiiii_37", "jsCall_viiiiiiiii_38", "jsCall_viiiiiiiii_39", "jsCall_viiiiiiiii_40", "jsCall_viiiiiiiii_41", "jsCall_viiiiiiiii_42", "jsCall_viiiiiiiii_43", "jsCall_viiiiiiiii_44", "jsCall_viiiiiiiii_45", "jsCall_viiiiiiiii_46", "jsCall_viiiiiiiii_47", "jsCall_viiiiiiiii_48", "jsCall_viiiiiiiii_49", "jsCall_viiiiiiiii_50", "jsCall_viiiiiiiii_51", "jsCall_viiiiiiiii_52", "jsCall_viiiiiiiii_53", "jsCall_viiiiiiiii_54", "jsCall_viiiiiiiii_55", "jsCall_viiiiiiiii_56", "jsCall_viiiiiiiii_57", "jsCall_viiiiiiiii_58", "jsCall_viiiiiiiii_59", "jsCall_viiiiiiiii_60", "jsCall_viiiiiiiii_61", "jsCall_viiiiiiiii_62", "jsCall_viiiiiiiii_63", "jsCall_viiiiiiiii_64", "jsCall_viiiiiiiii_65", "jsCall_viiiiiiiii_66", "jsCall_viiiiiiiii_67", "jsCall_viiiiiiiii_68", "jsCall_viiiiiiiii_69", "jsCall_viiiiiiiii_70", "jsCall_viiiiiiiii_71", "jsCall_viiiiiiiii_72", "jsCall_viiiiiiiii_73", "jsCall_viiiiiiiii_74", "jsCall_viiiiiiiii_75", "jsCall_viiiiiiiii_76", "jsCall_viiiiiiiii_77", "jsCall_viiiiiiiii_78", "jsCall_viiiiiiiii_79", "jsCall_viiiiiiiii_80", "jsCall_viiiiiiiii_81", "jsCall_viiiiiiiii_82", "jsCall_viiiiiiiii_83", "jsCall_viiiiiiiii_84", "jsCall_viiiiiiiii_85", "jsCall_viiiiiiiii_86", "jsCall_viiiiiiiii_87", "jsCall_viiiiiiiii_88", "jsCall_viiiiiiiii_89", "jsCall_viiiiiiiii_90", "jsCall_viiiiiiiii_91", "jsCall_viiiiiiiii_92", "jsCall_viiiiiiiii_93", "jsCall_viiiiiiiii_94", "jsCall_viiiiiiiii_95", "jsCall_viiiiiiiii_96", "jsCall_viiiiiiiii_97", "jsCall_viiiiiiiii_98", "jsCall_viiiiiiiii_99", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5638. var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "jsCall_viiiiiiiiii_35", "jsCall_viiiiiiiiii_36", "jsCall_viiiiiiiiii_37", "jsCall_viiiiiiiiii_38", "jsCall_viiiiiiiiii_39", "jsCall_viiiiiiiiii_40", "jsCall_viiiiiiiiii_41", "jsCall_viiiiiiiiii_42", "jsCall_viiiiiiiiii_43", "jsCall_viiiiiiiiii_44", "jsCall_viiiiiiiiii_45", "jsCall_viiiiiiiiii_46", "jsCall_viiiiiiiiii_47", "jsCall_viiiiiiiiii_48", "jsCall_viiiiiiiiii_49", "jsCall_viiiiiiiiii_50", "jsCall_viiiiiiiiii_51", "jsCall_viiiiiiiiii_52", "jsCall_viiiiiiiiii_53", "jsCall_viiiiiiiiii_54", "jsCall_viiiiiiiiii_55", "jsCall_viiiiiiiiii_56", "jsCall_viiiiiiiiii_57", "jsCall_viiiiiiiiii_58", "jsCall_viiiiiiiiii_59", "jsCall_viiiiiiiiii_60", "jsCall_viiiiiiiiii_61", "jsCall_viiiiiiiiii_62", "jsCall_viiiiiiiiii_63", "jsCall_viiiiiiiiii_64", "jsCall_viiiiiiiiii_65", "jsCall_viiiiiiiiii_66", "jsCall_viiiiiiiiii_67", "jsCall_viiiiiiiiii_68", "jsCall_viiiiiiiiii_69", "jsCall_viiiiiiiiii_70", "jsCall_viiiiiiiiii_71", "jsCall_viiiiiiiiii_72", "jsCall_viiiiiiiiii_73", "jsCall_viiiiiiiiii_74", "jsCall_viiiiiiiiii_75", "jsCall_viiiiiiiiii_76", "jsCall_viiiiiiiiii_77", "jsCall_viiiiiiiiii_78", "jsCall_viiiiiiiiii_79", "jsCall_viiiiiiiiii_80", "jsCall_viiiiiiiiii_81", "jsCall_viiiiiiiiii_82", "jsCall_viiiiiiiiii_83", "jsCall_viiiiiiiiii_84", "jsCall_viiiiiiiiii_85", "jsCall_viiiiiiiiii_86", "jsCall_viiiiiiiiii_87", "jsCall_viiiiiiiiii_88", "jsCall_viiiiiiiiii_89", "jsCall_viiiiiiiiii_90", "jsCall_viiiiiiiiii_91", "jsCall_viiiiiiiiii_92", "jsCall_viiiiiiiiii_93", "jsCall_viiiiiiiiii_94", "jsCall_viiiiiiiiii_95", "jsCall_viiiiiiiiii_96", "jsCall_viiiiiiiiii_97", "jsCall_viiiiiiiiii_98", "jsCall_viiiiiiiiii_99", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5639. var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "jsCall_viiiiiiiiiii_35", "jsCall_viiiiiiiiiii_36", "jsCall_viiiiiiiiiii_37", "jsCall_viiiiiiiiiii_38", "jsCall_viiiiiiiiiii_39", "jsCall_viiiiiiiiiii_40", "jsCall_viiiiiiiiiii_41", "jsCall_viiiiiiiiiii_42", "jsCall_viiiiiiiiiii_43", "jsCall_viiiiiiiiiii_44", "jsCall_viiiiiiiiiii_45", "jsCall_viiiiiiiiiii_46", "jsCall_viiiiiiiiiii_47", "jsCall_viiiiiiiiiii_48", "jsCall_viiiiiiiiiii_49", "jsCall_viiiiiiiiiii_50", "jsCall_viiiiiiiiiii_51", "jsCall_viiiiiiiiiii_52", "jsCall_viiiiiiiiiii_53", "jsCall_viiiiiiiiiii_54", "jsCall_viiiiiiiiiii_55", "jsCall_viiiiiiiiiii_56", "jsCall_viiiiiiiiiii_57", "jsCall_viiiiiiiiiii_58", "jsCall_viiiiiiiiiii_59", "jsCall_viiiiiiiiiii_60", "jsCall_viiiiiiiiiii_61", "jsCall_viiiiiiiiiii_62", "jsCall_viiiiiiiiiii_63", "jsCall_viiiiiiiiiii_64", "jsCall_viiiiiiiiiii_65", "jsCall_viiiiiiiiiii_66", "jsCall_viiiiiiiiiii_67", "jsCall_viiiiiiiiiii_68", "jsCall_viiiiiiiiiii_69", "jsCall_viiiiiiiiiii_70", "jsCall_viiiiiiiiiii_71", "jsCall_viiiiiiiiiii_72", "jsCall_viiiiiiiiiii_73", "jsCall_viiiiiiiiiii_74", "jsCall_viiiiiiiiiii_75", "jsCall_viiiiiiiiiii_76", "jsCall_viiiiiiiiiii_77", "jsCall_viiiiiiiiiii_78", "jsCall_viiiiiiiiiii_79", "jsCall_viiiiiiiiiii_80", "jsCall_viiiiiiiiiii_81", "jsCall_viiiiiiiiiii_82", "jsCall_viiiiiiiiiii_83", "jsCall_viiiiiiiiiii_84", "jsCall_viiiiiiiiiii_85", "jsCall_viiiiiiiiiii_86", "jsCall_viiiiiiiiiii_87", "jsCall_viiiiiiiiiii_88", "jsCall_viiiiiiiiiii_89", "jsCall_viiiiiiiiiii_90", "jsCall_viiiiiiiiiii_91", "jsCall_viiiiiiiiiii_92", "jsCall_viiiiiiiiiii_93", "jsCall_viiiiiiiiiii_94", "jsCall_viiiiiiiiiii_95", "jsCall_viiiiiiiiiii_96", "jsCall_viiiiiiiiiii_97", "jsCall_viiiiiiiiiii_98", "jsCall_viiiiiiiiiii_99", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5640. var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "jsCall_viiiiiiiiiiii_35", "jsCall_viiiiiiiiiiii_36", "jsCall_viiiiiiiiiiii_37", "jsCall_viiiiiiiiiiii_38", "jsCall_viiiiiiiiiiii_39", "jsCall_viiiiiiiiiiii_40", "jsCall_viiiiiiiiiiii_41", "jsCall_viiiiiiiiiiii_42", "jsCall_viiiiiiiiiiii_43", "jsCall_viiiiiiiiiiii_44", "jsCall_viiiiiiiiiiii_45", "jsCall_viiiiiiiiiiii_46", "jsCall_viiiiiiiiiiii_47", "jsCall_viiiiiiiiiiii_48", "jsCall_viiiiiiiiiiii_49", "jsCall_viiiiiiiiiiii_50", "jsCall_viiiiiiiiiiii_51", "jsCall_viiiiiiiiiiii_52", "jsCall_viiiiiiiiiiii_53", "jsCall_viiiiiiiiiiii_54", "jsCall_viiiiiiiiiiii_55", "jsCall_viiiiiiiiiiii_56", "jsCall_viiiiiiiiiiii_57", "jsCall_viiiiiiiiiiii_58", "jsCall_viiiiiiiiiiii_59", "jsCall_viiiiiiiiiiii_60", "jsCall_viiiiiiiiiiii_61", "jsCall_viiiiiiiiiiii_62", "jsCall_viiiiiiiiiiii_63", "jsCall_viiiiiiiiiiii_64", "jsCall_viiiiiiiiiiii_65", "jsCall_viiiiiiiiiiii_66", "jsCall_viiiiiiiiiiii_67", "jsCall_viiiiiiiiiiii_68", "jsCall_viiiiiiiiiiii_69", "jsCall_viiiiiiiiiiii_70", "jsCall_viiiiiiiiiiii_71", "jsCall_viiiiiiiiiiii_72", "jsCall_viiiiiiiiiiii_73", "jsCall_viiiiiiiiiiii_74", "jsCall_viiiiiiiiiiii_75", "jsCall_viiiiiiiiiiii_76", "jsCall_viiiiiiiiiiii_77", "jsCall_viiiiiiiiiiii_78", "jsCall_viiiiiiiiiiii_79", "jsCall_viiiiiiiiiiii_80", "jsCall_viiiiiiiiiiii_81", "jsCall_viiiiiiiiiiii_82", "jsCall_viiiiiiiiiiii_83", "jsCall_viiiiiiiiiiii_84", "jsCall_viiiiiiiiiiii_85", "jsCall_viiiiiiiiiiii_86", "jsCall_viiiiiiiiiiii_87", "jsCall_viiiiiiiiiiii_88", "jsCall_viiiiiiiiiiii_89", "jsCall_viiiiiiiiiiii_90", "jsCall_viiiiiiiiiiii_91", "jsCall_viiiiiiiiiiii_92", "jsCall_viiiiiiiiiiii_93", "jsCall_viiiiiiiiiiii_94", "jsCall_viiiiiiiiiiii_95", "jsCall_viiiiiiiiiiii_96", "jsCall_viiiiiiiiiiii_97", "jsCall_viiiiiiiiiiii_98", "jsCall_viiiiiiiiiiii_99", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5641. var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "jsCall_viiiiiiiiiiiiii_35", "jsCall_viiiiiiiiiiiiii_36", "jsCall_viiiiiiiiiiiiii_37", "jsCall_viiiiiiiiiiiiii_38", "jsCall_viiiiiiiiiiiiii_39", "jsCall_viiiiiiiiiiiiii_40", "jsCall_viiiiiiiiiiiiii_41", "jsCall_viiiiiiiiiiiiii_42", "jsCall_viiiiiiiiiiiiii_43", "jsCall_viiiiiiiiiiiiii_44", "jsCall_viiiiiiiiiiiiii_45", "jsCall_viiiiiiiiiiiiii_46", "jsCall_viiiiiiiiiiiiii_47", "jsCall_viiiiiiiiiiiiii_48", "jsCall_viiiiiiiiiiiiii_49", "jsCall_viiiiiiiiiiiiii_50", "jsCall_viiiiiiiiiiiiii_51", "jsCall_viiiiiiiiiiiiii_52", "jsCall_viiiiiiiiiiiiii_53", "jsCall_viiiiiiiiiiiiii_54", "jsCall_viiiiiiiiiiiiii_55", "jsCall_viiiiiiiiiiiiii_56", "jsCall_viiiiiiiiiiiiii_57", "jsCall_viiiiiiiiiiiiii_58", "jsCall_viiiiiiiiiiiiii_59", "jsCall_viiiiiiiiiiiiii_60", "jsCall_viiiiiiiiiiiiii_61", "jsCall_viiiiiiiiiiiiii_62", "jsCall_viiiiiiiiiiiiii_63", "jsCall_viiiiiiiiiiiiii_64", "jsCall_viiiiiiiiiiiiii_65", "jsCall_viiiiiiiiiiiiii_66", "jsCall_viiiiiiiiiiiiii_67", "jsCall_viiiiiiiiiiiiii_68", "jsCall_viiiiiiiiiiiiii_69", "jsCall_viiiiiiiiiiiiii_70", "jsCall_viiiiiiiiiiiiii_71", "jsCall_viiiiiiiiiiiiii_72", "jsCall_viiiiiiiiiiiiii_73", "jsCall_viiiiiiiiiiiiii_74", "jsCall_viiiiiiiiiiiiii_75", "jsCall_viiiiiiiiiiiiii_76", "jsCall_viiiiiiiiiiiiii_77", "jsCall_viiiiiiiiiiiiii_78", "jsCall_viiiiiiiiiiiiii_79", "jsCall_viiiiiiiiiiiiii_80", "jsCall_viiiiiiiiiiiiii_81", "jsCall_viiiiiiiiiiiiii_82", "jsCall_viiiiiiiiiiiiii_83", "jsCall_viiiiiiiiiiiiii_84", "jsCall_viiiiiiiiiiiiii_85", "jsCall_viiiiiiiiiiiiii_86", "jsCall_viiiiiiiiiiiiii_87", "jsCall_viiiiiiiiiiiiii_88", "jsCall_viiiiiiiiiiiiii_89", "jsCall_viiiiiiiiiiiiii_90", "jsCall_viiiiiiiiiiiiii_91", "jsCall_viiiiiiiiiiiiii_92", "jsCall_viiiiiiiiiiiiii_93", "jsCall_viiiiiiiiiiiiii_94", "jsCall_viiiiiiiiiiiiii_95", "jsCall_viiiiiiiiiiiiii_96", "jsCall_viiiiiiiiiiiiii_97", "jsCall_viiiiiiiiiiiiii_98", "jsCall_viiiiiiiiiiiiii_99", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5642. var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "jsCall_viiijj_35", "jsCall_viiijj_36", "jsCall_viiijj_37", "jsCall_viiijj_38", "jsCall_viiijj_39", "jsCall_viiijj_40", "jsCall_viiijj_41", "jsCall_viiijj_42", "jsCall_viiijj_43", "jsCall_viiijj_44", "jsCall_viiijj_45", "jsCall_viiijj_46", "jsCall_viiijj_47", "jsCall_viiijj_48", "jsCall_viiijj_49", "jsCall_viiijj_50", "jsCall_viiijj_51", "jsCall_viiijj_52", "jsCall_viiijj_53", "jsCall_viiijj_54", "jsCall_viiijj_55", "jsCall_viiijj_56", "jsCall_viiijj_57", "jsCall_viiijj_58", "jsCall_viiijj_59", "jsCall_viiijj_60", "jsCall_viiijj_61", "jsCall_viiijj_62", "jsCall_viiijj_63", "jsCall_viiijj_64", "jsCall_viiijj_65", "jsCall_viiijj_66", "jsCall_viiijj_67", "jsCall_viiijj_68", "jsCall_viiijj_69", "jsCall_viiijj_70", "jsCall_viiijj_71", "jsCall_viiijj_72", "jsCall_viiijj_73", "jsCall_viiijj_74", "jsCall_viiijj_75", "jsCall_viiijj_76", "jsCall_viiijj_77", "jsCall_viiijj_78", "jsCall_viiijj_79", "jsCall_viiijj_80", "jsCall_viiijj_81", "jsCall_viiijj_82", "jsCall_viiijj_83", "jsCall_viiijj_84", "jsCall_viiijj_85", "jsCall_viiijj_86", "jsCall_viiijj_87", "jsCall_viiijj_88", "jsCall_viiijj_89", "jsCall_viiijj_90", "jsCall_viiijj_91", "jsCall_viiijj_92", "jsCall_viiijj_93", "jsCall_viiijj_94", "jsCall_viiijj_95", "jsCall_viiijj_96", "jsCall_viiijj_97", "jsCall_viiijj_98", "jsCall_viiijj_99", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5643. var debug_tables = {
  5644. "dd": debug_table_dd,
  5645. "did": debug_table_did,
  5646. "didd": debug_table_didd,
  5647. "fii": debug_table_fii,
  5648. "fiii": debug_table_fiii,
  5649. "ii": debug_table_ii,
  5650. "iid": debug_table_iid,
  5651. "iidiiii": debug_table_iidiiii,
  5652. "iii": debug_table_iii,
  5653. "iiii": debug_table_iiii,
  5654. "iiiii": debug_table_iiiii,
  5655. "iiiiii": debug_table_iiiiii,
  5656. "iiiiiii": debug_table_iiiiiii,
  5657. "iiiiiiidiiddii": debug_table_iiiiiiidiiddii,
  5658. "iiiiiiii": debug_table_iiiiiiii,
  5659. "iiiiiiiid": debug_table_iiiiiiiid,
  5660. "iiiiij": debug_table_iiiiij,
  5661. "iiiji": debug_table_iiiji,
  5662. "iiijjji": debug_table_iiijjji,
  5663. "jii": debug_table_jii,
  5664. "jiiij": debug_table_jiiij,
  5665. "jiiji": debug_table_jiiji,
  5666. "jij": debug_table_jij,
  5667. "jiji": debug_table_jiji,
  5668. "v": debug_table_v,
  5669. "vdiidiiiii": debug_table_vdiidiiiii,
  5670. "vdiidiiiiii": debug_table_vdiidiiiiii,
  5671. "vi": debug_table_vi,
  5672. "vii": debug_table_vii,
  5673. "viidi": debug_table_viidi,
  5674. "viifi": debug_table_viifi,
  5675. "viii": debug_table_viii,
  5676. "viiid": debug_table_viiid,
  5677. "viiii": debug_table_viiii,
  5678. "viiiifii": debug_table_viiiifii,
  5679. "viiiii": debug_table_viiiii,
  5680. "viiiiidd": debug_table_viiiiidd,
  5681. "viiiiiddi": debug_table_viiiiiddi,
  5682. "viiiiii": debug_table_viiiiii,
  5683. "viiiiiifi": debug_table_viiiiiifi,
  5684. "viiiiiii": debug_table_viiiiiii,
  5685. "viiiiiiii": debug_table_viiiiiiii,
  5686. "viiiiiiiid": debug_table_viiiiiiiid,
  5687. "viiiiiiiidi": debug_table_viiiiiiiidi,
  5688. "viiiiiiiii": debug_table_viiiiiiiii,
  5689. "viiiiiiiiii": debug_table_viiiiiiiiii,
  5690. "viiiiiiiiiii": debug_table_viiiiiiiiiii,
  5691. "viiiiiiiiiiii": debug_table_viiiiiiiiiiii,
  5692. "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii,
  5693. "viiijj": debug_table_viiijj
  5694. };
  5695. function nullFunc_dd(x) {
  5696. abortFnPtrError(x, "dd")
  5697. }
  5698. function nullFunc_did(x) {
  5699. abortFnPtrError(x, "did")
  5700. }
  5701. function nullFunc_didd(x) {
  5702. abortFnPtrError(x, "didd")
  5703. }
  5704. function nullFunc_fii(x) {
  5705. abortFnPtrError(x, "fii")
  5706. }
  5707. function nullFunc_fiii(x) {
  5708. abortFnPtrError(x, "fiii")
  5709. }
  5710. function nullFunc_ii(x) {
  5711. abortFnPtrError(x, "ii")
  5712. }
  5713. function nullFunc_iid(x) {
  5714. abortFnPtrError(x, "iid")
  5715. }
  5716. function nullFunc_iidiiii(x) {
  5717. abortFnPtrError(x, "iidiiii")
  5718. }
  5719. function nullFunc_iii(x) {
  5720. abortFnPtrError(x, "iii")
  5721. }
  5722. function nullFunc_iiii(x) {
  5723. abortFnPtrError(x, "iiii")
  5724. }
  5725. function nullFunc_iiiii(x) {
  5726. abortFnPtrError(x, "iiiii")
  5727. }
  5728. function nullFunc_iiiiii(x) {
  5729. abortFnPtrError(x, "iiiiii")
  5730. }
  5731. function nullFunc_iiiiiii(x) {
  5732. abortFnPtrError(x, "iiiiiii")
  5733. }
  5734. function nullFunc_iiiiiiidiiddii(x) {
  5735. abortFnPtrError(x, "iiiiiiidiiddii")
  5736. }
  5737. function nullFunc_iiiiiiii(x) {
  5738. abortFnPtrError(x, "iiiiiiii")
  5739. }
  5740. function nullFunc_iiiiiiiid(x) {
  5741. abortFnPtrError(x, "iiiiiiiid")
  5742. }
  5743. function nullFunc_iiiiij(x) {
  5744. abortFnPtrError(x, "iiiiij")
  5745. }
  5746. function nullFunc_iiiji(x) {
  5747. abortFnPtrError(x, "iiiji")
  5748. }
  5749. function nullFunc_iiijjji(x) {
  5750. abortFnPtrError(x, "iiijjji")
  5751. }
  5752. function nullFunc_jii(x) {
  5753. abortFnPtrError(x, "jii")
  5754. }
  5755. function nullFunc_jiiij(x) {
  5756. abortFnPtrError(x, "jiiij")
  5757. }
  5758. function nullFunc_jiiji(x) {
  5759. abortFnPtrError(x, "jiiji")
  5760. }
  5761. function nullFunc_jij(x) {
  5762. abortFnPtrError(x, "jij")
  5763. }
  5764. function nullFunc_jiji(x) {
  5765. abortFnPtrError(x, "jiji")
  5766. }
  5767. function nullFunc_v(x) {
  5768. abortFnPtrError(x, "v")
  5769. }
  5770. function nullFunc_vdiidiiiii(x) {
  5771. abortFnPtrError(x, "vdiidiiiii")
  5772. }
  5773. function nullFunc_vdiidiiiiii(x) {
  5774. abortFnPtrError(x, "vdiidiiiiii")
  5775. }
  5776. function nullFunc_vi(x) {
  5777. abortFnPtrError(x, "vi")
  5778. }
  5779. function nullFunc_vii(x) {
  5780. abortFnPtrError(x, "vii")
  5781. }
  5782. function nullFunc_viidi(x) {
  5783. abortFnPtrError(x, "viidi")
  5784. }
  5785. function nullFunc_viifi(x) {
  5786. abortFnPtrError(x, "viifi")
  5787. }
  5788. function nullFunc_viii(x) {
  5789. abortFnPtrError(x, "viii")
  5790. }
  5791. function nullFunc_viiid(x) {
  5792. abortFnPtrError(x, "viiid")
  5793. }
  5794. function nullFunc_viiii(x) {
  5795. abortFnPtrError(x, "viiii")
  5796. }
  5797. function nullFunc_viiiifii(x) {
  5798. abortFnPtrError(x, "viiiifii")
  5799. }
  5800. function nullFunc_viiiii(x) {
  5801. abortFnPtrError(x, "viiiii")
  5802. }
  5803. function nullFunc_viiiiidd(x) {
  5804. abortFnPtrError(x, "viiiiidd")
  5805. }
  5806. function nullFunc_viiiiiddi(x) {
  5807. abortFnPtrError(x, "viiiiiddi")
  5808. }
  5809. function nullFunc_viiiiii(x) {
  5810. abortFnPtrError(x, "viiiiii")
  5811. }
  5812. function nullFunc_viiiiiifi(x) {
  5813. abortFnPtrError(x, "viiiiiifi")
  5814. }
  5815. function nullFunc_viiiiiii(x) {
  5816. abortFnPtrError(x, "viiiiiii")
  5817. }
  5818. function nullFunc_viiiiiiii(x) {
  5819. abortFnPtrError(x, "viiiiiiii")
  5820. }
  5821. function nullFunc_viiiiiiiid(x) {
  5822. abortFnPtrError(x, "viiiiiiiid")
  5823. }
  5824. function nullFunc_viiiiiiiidi(x) {
  5825. abortFnPtrError(x, "viiiiiiiidi")
  5826. }
  5827. function nullFunc_viiiiiiiii(x) {
  5828. abortFnPtrError(x, "viiiiiiiii")
  5829. }
  5830. function nullFunc_viiiiiiiiii(x) {
  5831. abortFnPtrError(x, "viiiiiiiiii")
  5832. }
  5833. function nullFunc_viiiiiiiiiii(x) {
  5834. abortFnPtrError(x, "viiiiiiiiiii")
  5835. }
  5836. function nullFunc_viiiiiiiiiiii(x) {
  5837. abortFnPtrError(x, "viiiiiiiiiiii")
  5838. }
  5839. function nullFunc_viiiiiiiiiiiiii(x) {
  5840. abortFnPtrError(x, "viiiiiiiiiiiiii")
  5841. }
  5842. function nullFunc_viiijj(x) {
  5843. abortFnPtrError(x, "viiijj")
  5844. }
  5845. function jsCall_dd(index, a1) {
  5846. return functionPointers[index](a1)
  5847. }
  5848. function jsCall_did(index, a1, a2) {
  5849. return functionPointers[index](a1, a2)
  5850. }
  5851. function jsCall_didd(index, a1, a2, a3) {
  5852. return functionPointers[index](a1, a2, a3)
  5853. }
  5854. function jsCall_fii(index, a1, a2) {
  5855. return functionPointers[index](a1, a2)
  5856. }
  5857. function jsCall_fiii(index, a1, a2, a3) {
  5858. return functionPointers[index](a1, a2, a3)
  5859. }
  5860. function jsCall_ii(index, a1) {
  5861. return functionPointers[index](a1)
  5862. }
  5863. function jsCall_iid(index, a1, a2) {
  5864. return functionPointers[index](a1, a2)
  5865. }
  5866. function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) {
  5867. return functionPointers[index](a1, a2, a3, a4, a5, a6)
  5868. }
  5869. function jsCall_iii(index, a1, a2) {
  5870. return functionPointers[index](a1, a2)
  5871. }
  5872. function jsCall_iiii(index, a1, a2, a3) {
  5873. return functionPointers[index](a1, a2, a3)
  5874. }
  5875. function jsCall_iiiii(index, a1, a2, a3, a4) {
  5876. return functionPointers[index](a1, a2, a3, a4)
  5877. }
  5878. function jsCall_iiiiii(index, a1, a2, a3, a4, a5) {
  5879. return functionPointers[index](a1, a2, a3, a4, a5)
  5880. }
  5881. function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
  5882. return functionPointers[index](a1, a2, a3, a4, a5, a6)
  5883. }
  5884. function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {
  5885. return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)
  5886. }
  5887. function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
  5888. return functionPointers[index](a1, a2, a3, a4, a5, a6, a7)
  5889. }
  5890. function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  5891. return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8)
  5892. }
  5893. function jsCall_iiiiij(index, a1, a2, a3, a4, a5) {
  5894. return functionPointers[index](a1, a2, a3, a4, a5)
  5895. }
  5896. function jsCall_iiiji(index, a1, a2, a3, a4) {
  5897. return functionPointers[index](a1, a2, a3, a4)
  5898. }
  5899. function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) {
  5900. return functionPointers[index](a1, a2, a3, a4, a5, a6)
  5901. }
  5902. function jsCall_jii(index, a1, a2) {
  5903. return functionPointers[index](a1, a2)
  5904. }
  5905. function jsCall_jiiij(index, a1, a2, a3, a4) {
  5906. return functionPointers[index](a1, a2, a3, a4)
  5907. }
  5908. function jsCall_jiiji(index, a1, a2, a3, a4) {
  5909. return functionPointers[index](a1, a2, a3, a4)
  5910. }
  5911. function jsCall_jij(index, a1, a2) {
  5912. return functionPointers[index](a1, a2)
  5913. }
  5914. function jsCall_jiji(index, a1, a2, a3) {
  5915. return functionPointers[index](a1, a2, a3)
  5916. }
  5917. function jsCall_v(index) {
  5918. functionPointers[index]()
  5919. }
  5920. function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  5921. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9)
  5922. }
  5923. function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  5924. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
  5925. }
  5926. function jsCall_vi(index, a1) {
  5927. functionPointers[index](a1)
  5928. }
  5929. function jsCall_vii(index, a1, a2) {
  5930. functionPointers[index](a1, a2)
  5931. }
  5932. function jsCall_viidi(index, a1, a2, a3, a4) {
  5933. functionPointers[index](a1, a2, a3, a4)
  5934. }
  5935. function jsCall_viifi(index, a1, a2, a3, a4) {
  5936. functionPointers[index](a1, a2, a3, a4)
  5937. }
  5938. function jsCall_viii(index, a1, a2, a3) {
  5939. functionPointers[index](a1, a2, a3)
  5940. }
  5941. function jsCall_viiid(index, a1, a2, a3, a4) {
  5942. functionPointers[index](a1, a2, a3, a4)
  5943. }
  5944. function jsCall_viiii(index, a1, a2, a3, a4) {
  5945. functionPointers[index](a1, a2, a3, a4)
  5946. }
  5947. function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) {
  5948. functionPointers[index](a1, a2, a3, a4, a5, a6, a7)
  5949. }
  5950. function jsCall_viiiii(index, a1, a2, a3, a4, a5) {
  5951. functionPointers[index](a1, a2, a3, a4, a5)
  5952. }
  5953. function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) {
  5954. functionPointers[index](a1, a2, a3, a4, a5, a6, a7)
  5955. }
  5956. function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  5957. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8)
  5958. }
  5959. function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) {
  5960. functionPointers[index](a1, a2, a3, a4, a5, a6)
  5961. }
  5962. function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  5963. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8)
  5964. }
  5965. function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
  5966. functionPointers[index](a1, a2, a3, a4, a5, a6, a7)
  5967. }
  5968. function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
  5969. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8)
  5970. }
  5971. function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  5972. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9)
  5973. }
  5974. function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  5975. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
  5976. }
  5977. function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
  5978. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9)
  5979. }
  5980. function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
  5981. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
  5982. }
  5983. function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
  5984. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)
  5985. }
  5986. function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
  5987. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)
  5988. }
  5989. function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
  5990. functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)
  5991. }
  5992. function jsCall_viiijj(index, a1, a2, a3, a4, a5) {
  5993. functionPointers[index](a1, a2, a3, a4, a5)
  5994. }
  5995. var asmGlobalArg = {};
  5996. var asmLibraryArg = {
  5997. "___buildEnvironment": ___buildEnvironment,
  5998. "___lock": ___lock,
  5999. "___syscall221": ___syscall221,
  6000. "___syscall3": ___syscall3,
  6001. "___syscall5": ___syscall5,
  6002. "___unlock": ___unlock,
  6003. "___wasi_fd_close": ___wasi_fd_close,
  6004. "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get,
  6005. "___wasi_fd_seek": ___wasi_fd_seek,
  6006. "___wasi_fd_write": ___wasi_fd_write,
  6007. "__emscripten_fetch_free": __emscripten_fetch_free,
  6008. "__memory_base": 1024,
  6009. "__table_base": 0,
  6010. "_abort": _abort,
  6011. "_clock": _clock,
  6012. "_clock_gettime": _clock_gettime,
  6013. "_emscripten_asm_const_i": _emscripten_asm_const_i,
  6014. "_emscripten_get_heap_size": _emscripten_get_heap_size,
  6015. "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread,
  6016. "_emscripten_memcpy_big": _emscripten_memcpy_big,
  6017. "_emscripten_resize_heap": _emscripten_resize_heap,
  6018. "_emscripten_start_fetch": _emscripten_start_fetch,
  6019. "_fabs": _fabs,
  6020. "_getenv": _getenv,
  6021. "_gettimeofday": _gettimeofday,
  6022. "_gmtime_r": _gmtime_r,
  6023. "_llvm_exp2_f64": _llvm_exp2_f64,
  6024. "_llvm_log2_f32": _llvm_log2_f32,
  6025. "_llvm_stackrestore": _llvm_stackrestore,
  6026. "_llvm_stacksave": _llvm_stacksave,
  6027. "_llvm_trunc_f64": _llvm_trunc_f64,
  6028. "_localtime_r": _localtime_r,
  6029. "_nanosleep": _nanosleep,
  6030. "_pthread_cond_destroy": _pthread_cond_destroy,
  6031. "_pthread_cond_init": _pthread_cond_init,
  6032. "_pthread_create": _pthread_create,
  6033. "_pthread_join": _pthread_join,
  6034. "_strftime": _strftime,
  6035. "_sysconf": _sysconf,
  6036. "_time": _time,
  6037. "abortStackOverflow": abortStackOverflow,
  6038. "getTempRet0": getTempRet0,
  6039. "jsCall_dd": jsCall_dd,
  6040. "jsCall_did": jsCall_did,
  6041. "jsCall_didd": jsCall_didd,
  6042. "jsCall_fii": jsCall_fii,
  6043. "jsCall_fiii": jsCall_fiii,
  6044. "jsCall_ii": jsCall_ii,
  6045. "jsCall_iid": jsCall_iid,
  6046. "jsCall_iidiiii": jsCall_iidiiii,
  6047. "jsCall_iii": jsCall_iii,
  6048. "jsCall_iiii": jsCall_iiii,
  6049. "jsCall_iiiii": jsCall_iiiii,
  6050. "jsCall_iiiiii": jsCall_iiiiii,
  6051. "jsCall_iiiiiii": jsCall_iiiiiii,
  6052. "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii,
  6053. "jsCall_iiiiiiii": jsCall_iiiiiiii,
  6054. "jsCall_iiiiiiiid": jsCall_iiiiiiiid,
  6055. "jsCall_iiiiij": jsCall_iiiiij,
  6056. "jsCall_iiiji": jsCall_iiiji,
  6057. "jsCall_iiijjji": jsCall_iiijjji,
  6058. "jsCall_jii": jsCall_jii,
  6059. "jsCall_jiiij": jsCall_jiiij,
  6060. "jsCall_jiiji": jsCall_jiiji,
  6061. "jsCall_jij": jsCall_jij,
  6062. "jsCall_jiji": jsCall_jiji,
  6063. "jsCall_v": jsCall_v,
  6064. "jsCall_vdiidiiiii": jsCall_vdiidiiiii,
  6065. "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii,
  6066. "jsCall_vi": jsCall_vi,
  6067. "jsCall_vii": jsCall_vii,
  6068. "jsCall_viidi": jsCall_viidi,
  6069. "jsCall_viifi": jsCall_viifi,
  6070. "jsCall_viii": jsCall_viii,
  6071. "jsCall_viiid": jsCall_viiid,
  6072. "jsCall_viiii": jsCall_viiii,
  6073. "jsCall_viiiifii": jsCall_viiiifii,
  6074. "jsCall_viiiii": jsCall_viiiii,
  6075. "jsCall_viiiiidd": jsCall_viiiiidd,
  6076. "jsCall_viiiiiddi": jsCall_viiiiiddi,
  6077. "jsCall_viiiiii": jsCall_viiiiii,
  6078. "jsCall_viiiiiifi": jsCall_viiiiiifi,
  6079. "jsCall_viiiiiii": jsCall_viiiiiii,
  6080. "jsCall_viiiiiiii": jsCall_viiiiiiii,
  6081. "jsCall_viiiiiiiid": jsCall_viiiiiiiid,
  6082. "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi,
  6083. "jsCall_viiiiiiiii": jsCall_viiiiiiiii,
  6084. "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii,
  6085. "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii,
  6086. "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii,
  6087. "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii,
  6088. "jsCall_viiijj": jsCall_viiijj,
  6089. "memory": wasmMemory,
  6090. "nullFunc_dd": nullFunc_dd,
  6091. "nullFunc_did": nullFunc_did,
  6092. "nullFunc_didd": nullFunc_didd,
  6093. "nullFunc_fii": nullFunc_fii,
  6094. "nullFunc_fiii": nullFunc_fiii,
  6095. "nullFunc_ii": nullFunc_ii,
  6096. "nullFunc_iid": nullFunc_iid,
  6097. "nullFunc_iidiiii": nullFunc_iidiiii,
  6098. "nullFunc_iii": nullFunc_iii,
  6099. "nullFunc_iiii": nullFunc_iiii,
  6100. "nullFunc_iiiii": nullFunc_iiiii,
  6101. "nullFunc_iiiiii": nullFunc_iiiiii,
  6102. "nullFunc_iiiiiii": nullFunc_iiiiiii,
  6103. "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii,
  6104. "nullFunc_iiiiiiii": nullFunc_iiiiiiii,
  6105. "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid,
  6106. "nullFunc_iiiiij": nullFunc_iiiiij,
  6107. "nullFunc_iiiji": nullFunc_iiiji,
  6108. "nullFunc_iiijjji": nullFunc_iiijjji,
  6109. "nullFunc_jii": nullFunc_jii,
  6110. "nullFunc_jiiij": nullFunc_jiiij,
  6111. "nullFunc_jiiji": nullFunc_jiiji,
  6112. "nullFunc_jij": nullFunc_jij,
  6113. "nullFunc_jiji": nullFunc_jiji,
  6114. "nullFunc_v": nullFunc_v,
  6115. "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii,
  6116. "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii,
  6117. "nullFunc_vi": nullFunc_vi,
  6118. "nullFunc_vii": nullFunc_vii,
  6119. "nullFunc_viidi": nullFunc_viidi,
  6120. "nullFunc_viifi": nullFunc_viifi,
  6121. "nullFunc_viii": nullFunc_viii,
  6122. "nullFunc_viiid": nullFunc_viiid,
  6123. "nullFunc_viiii": nullFunc_viiii,
  6124. "nullFunc_viiiifii": nullFunc_viiiifii,
  6125. "nullFunc_viiiii": nullFunc_viiiii,
  6126. "nullFunc_viiiiidd": nullFunc_viiiiidd,
  6127. "nullFunc_viiiiiddi": nullFunc_viiiiiddi,
  6128. "nullFunc_viiiiii": nullFunc_viiiiii,
  6129. "nullFunc_viiiiiifi": nullFunc_viiiiiifi,
  6130. "nullFunc_viiiiiii": nullFunc_viiiiiii,
  6131. "nullFunc_viiiiiiii": nullFunc_viiiiiiii,
  6132. "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid,
  6133. "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi,
  6134. "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii,
  6135. "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii,
  6136. "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii,
  6137. "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii,
  6138. "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii,
  6139. "nullFunc_viiijj": nullFunc_viiijj,
  6140. "table": wasmTable
  6141. };
  6142. var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer);
  6143. Module["asm"] = asm;
  6144. var _AVPlayerInit = Module["_AVPlayerInit"] = function() {
  6145. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6146. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6147. return Module["asm"]["_AVPlayerInit"].apply(null, arguments)
  6148. };
  6149. var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() {
  6150. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6151. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6152. return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments)
  6153. };
  6154. var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() {
  6155. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6156. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6157. return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments)
  6158. };
  6159. var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() {
  6160. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6161. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6162. return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments)
  6163. };
  6164. var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() {
  6165. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6166. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6167. return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments)
  6168. };
  6169. var ___errno_location = Module["___errno_location"] = function() {
  6170. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6171. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6172. return Module["asm"]["___errno_location"].apply(null, arguments)
  6173. };
  6174. var __get_daylight = Module["__get_daylight"] = function() {
  6175. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6176. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6177. return Module["asm"]["__get_daylight"].apply(null, arguments)
  6178. };
  6179. var __get_timezone = Module["__get_timezone"] = function() {
  6180. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6181. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6182. return Module["asm"]["__get_timezone"].apply(null, arguments)
  6183. };
  6184. var __get_tzname = Module["__get_tzname"] = function() {
  6185. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6186. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6187. return Module["asm"]["__get_tzname"].apply(null, arguments)
  6188. };
  6189. var _closeVideo = Module["_closeVideo"] = function() {
  6190. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6191. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6192. return Module["asm"]["_closeVideo"].apply(null, arguments)
  6193. };
  6194. var _decodeCodecContext = Module["_decodeCodecContext"] = function() {
  6195. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6196. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6197. return Module["asm"]["_decodeCodecContext"].apply(null, arguments)
  6198. };
  6199. var _decodeG711Frame = Module["_decodeG711Frame"] = function() {
  6200. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6201. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6202. return Module["asm"]["_decodeG711Frame"].apply(null, arguments)
  6203. };
  6204. var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() {
  6205. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6206. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6207. return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments)
  6208. };
  6209. var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() {
  6210. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6211. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6212. return Module["asm"]["_decodeVideoFrame"].apply(null, arguments)
  6213. };
  6214. var _demuxBox = Module["_demuxBox"] = function() {
  6215. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6216. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6217. return Module["asm"]["_demuxBox"].apply(null, arguments)
  6218. };
  6219. var _exitMissile = Module["_exitMissile"] = function() {
  6220. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6221. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6222. return Module["asm"]["_exitMissile"].apply(null, arguments)
  6223. };
  6224. var _exitTsMissile = Module["_exitTsMissile"] = function() {
  6225. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6226. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6227. return Module["asm"]["_exitTsMissile"].apply(null, arguments)
  6228. };
  6229. var _fflush = Module["_fflush"] = function() {
  6230. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6231. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6232. return Module["asm"]["_fflush"].apply(null, arguments)
  6233. };
  6234. var _free = Module["_free"] = function() {
  6235. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6236. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6237. return Module["asm"]["_free"].apply(null, arguments)
  6238. };
  6239. var _getAudioCodecID = Module["_getAudioCodecID"] = function() {
  6240. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6241. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6242. return Module["asm"]["_getAudioCodecID"].apply(null, arguments)
  6243. };
  6244. var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() {
  6245. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6246. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6247. return Module["asm"]["_getBufferLengthApi"].apply(null, arguments)
  6248. };
  6249. var _getExtensionInfo = Module["_getExtensionInfo"] = function() {
  6250. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6251. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6252. return Module["asm"]["_getExtensionInfo"].apply(null, arguments)
  6253. };
  6254. var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() {
  6255. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6256. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6257. return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments)
  6258. };
  6259. var _getMediaInfo = Module["_getMediaInfo"] = function() {
  6260. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6261. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6262. return Module["asm"]["_getMediaInfo"].apply(null, arguments)
  6263. };
  6264. var _getPPS = Module["_getPPS"] = function() {
  6265. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6266. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6267. return Module["asm"]["_getPPS"].apply(null, arguments)
  6268. };
  6269. var _getPPSLen = Module["_getPPSLen"] = function() {
  6270. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6271. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6272. return Module["asm"]["_getPPSLen"].apply(null, arguments)
  6273. };
  6274. var _getPacket = Module["_getPacket"] = function() {
  6275. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6276. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6277. return Module["asm"]["_getPacket"].apply(null, arguments)
  6278. };
  6279. var _getSEI = Module["_getSEI"] = function() {
  6280. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6281. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6282. return Module["asm"]["_getSEI"].apply(null, arguments)
  6283. };
  6284. var _getSEILen = Module["_getSEILen"] = function() {
  6285. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6286. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6287. return Module["asm"]["_getSEILen"].apply(null, arguments)
  6288. };
  6289. var _getSPS = Module["_getSPS"] = function() {
  6290. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6291. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6292. return Module["asm"]["_getSPS"].apply(null, arguments)
  6293. };
  6294. var _getSPSLen = Module["_getSPSLen"] = function() {
  6295. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6296. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6297. return Module["asm"]["_getSPSLen"].apply(null, arguments)
  6298. };
  6299. var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() {
  6300. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6301. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6302. return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments)
  6303. };
  6304. var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() {
  6305. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6306. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6307. return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments)
  6308. };
  6309. var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() {
  6310. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6311. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6312. return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments)
  6313. };
  6314. var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() {
  6315. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6316. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6317. return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments)
  6318. };
  6319. var _getVLC = Module["_getVLC"] = function() {
  6320. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6321. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6322. return Module["asm"]["_getVLC"].apply(null, arguments)
  6323. };
  6324. var _getVLCLen = Module["_getVLCLen"] = function() {
  6325. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6326. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6327. return Module["asm"]["_getVLCLen"].apply(null, arguments)
  6328. };
  6329. var _getVPS = Module["_getVPS"] = function() {
  6330. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6331. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6332. return Module["asm"]["_getVPS"].apply(null, arguments)
  6333. };
  6334. var _getVPSLen = Module["_getVPSLen"] = function() {
  6335. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6336. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6337. return Module["asm"]["_getVPSLen"].apply(null, arguments)
  6338. };
  6339. var _getVideoCodecID = Module["_getVideoCodecID"] = function() {
  6340. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6341. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6342. return Module["asm"]["_getVideoCodecID"].apply(null, arguments)
  6343. };
  6344. var _initTsMissile = Module["_initTsMissile"] = function() {
  6345. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6346. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6347. return Module["asm"]["_initTsMissile"].apply(null, arguments)
  6348. };
  6349. var _initializeDecoder = Module["_initializeDecoder"] = function() {
  6350. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6351. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6352. return Module["asm"]["_initializeDecoder"].apply(null, arguments)
  6353. };
  6354. var _initializeDemuxer = Module["_initializeDemuxer"] = function() {
  6355. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6356. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6357. return Module["asm"]["_initializeDemuxer"].apply(null, arguments)
  6358. };
  6359. var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() {
  6360. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6361. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6362. return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments)
  6363. };
  6364. var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() {
  6365. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6366. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6367. return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments)
  6368. };
  6369. var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() {
  6370. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6371. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6372. return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments)
  6373. };
  6374. var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() {
  6375. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6376. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6377. return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments)
  6378. };
  6379. var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() {
  6380. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6381. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6382. return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments)
  6383. };
  6384. var _main = Module["_main"] = function() {
  6385. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6386. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6387. return Module["asm"]["_main"].apply(null, arguments)
  6388. };
  6389. var _malloc = Module["_malloc"] = function() {
  6390. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6391. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6392. return Module["asm"]["_malloc"].apply(null, arguments)
  6393. };
  6394. var _naluLListLength = Module["_naluLListLength"] = function() {
  6395. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6396. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6397. return Module["asm"]["_naluLListLength"].apply(null, arguments)
  6398. };
  6399. var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() {
  6400. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6401. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6402. return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments)
  6403. };
  6404. var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() {
  6405. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6406. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6407. return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments)
  6408. };
  6409. var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() {
  6410. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6411. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6412. return Module["asm"]["_pushSniffStreamData"].apply(null, arguments)
  6413. };
  6414. var _registerPlayer = Module["_registerPlayer"] = function() {
  6415. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6416. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6417. return Module["asm"]["_registerPlayer"].apply(null, arguments)
  6418. };
  6419. var _release = Module["_release"] = function() {
  6420. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6421. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6422. return Module["asm"]["_release"].apply(null, arguments)
  6423. };
  6424. var _releaseG711 = Module["_releaseG711"] = function() {
  6425. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6426. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6427. return Module["asm"]["_releaseG711"].apply(null, arguments)
  6428. };
  6429. var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() {
  6430. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6431. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6432. return Module["asm"]["_releaseHttpFLV"].apply(null, arguments)
  6433. };
  6434. var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() {
  6435. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6436. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6437. return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments)
  6438. };
  6439. var _releaseSniffStream = Module["_releaseSniffStream"] = function() {
  6440. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6441. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6442. return Module["asm"]["_releaseSniffStream"].apply(null, arguments)
  6443. };
  6444. var _setCodecType = Module["_setCodecType"] = function() {
  6445. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6446. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6447. return Module["asm"]["_setCodecType"].apply(null, arguments)
  6448. };
  6449. var establishStackSpace = Module["establishStackSpace"] = function() {
  6450. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6451. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6452. return Module["asm"]["establishStackSpace"].apply(null, arguments)
  6453. };
  6454. var stackAlloc = Module["stackAlloc"] = function() {
  6455. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6456. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6457. return Module["asm"]["stackAlloc"].apply(null, arguments)
  6458. };
  6459. var stackRestore = Module["stackRestore"] = function() {
  6460. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6461. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6462. return Module["asm"]["stackRestore"].apply(null, arguments)
  6463. };
  6464. var stackSave = Module["stackSave"] = function() {
  6465. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6466. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6467. return Module["asm"]["stackSave"].apply(null, arguments)
  6468. };
  6469. var dynCall_v = Module["dynCall_v"] = function() {
  6470. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6471. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6472. return Module["asm"]["dynCall_v"].apply(null, arguments)
  6473. };
  6474. var dynCall_vi = Module["dynCall_vi"] = function() {
  6475. assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)");
  6476. assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");
  6477. return Module["asm"]["dynCall_vi"].apply(null, arguments)
  6478. };
  6479. Module["asm"] = asm;
  6480. if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() {
  6481. abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6482. };
  6483. if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() {
  6484. abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6485. };
  6486. Module["ccall"] = ccall;
  6487. Module["cwrap"] = cwrap;
  6488. if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() {
  6489. abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6490. };
  6491. if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() {
  6492. abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6493. };
  6494. if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() {
  6495. abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6496. };
  6497. if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() {
  6498. 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")
  6499. };
  6500. if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() {
  6501. abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6502. };
  6503. if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() {
  6504. abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6505. };
  6506. if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() {
  6507. abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6508. };
  6509. if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() {
  6510. abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6511. };
  6512. if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() {
  6513. abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6514. };
  6515. if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() {
  6516. abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6517. };
  6518. if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() {
  6519. abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6520. };
  6521. if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() {
  6522. abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6523. };
  6524. if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() {
  6525. abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6526. };
  6527. if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() {
  6528. abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6529. };
  6530. if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() {
  6531. abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6532. };
  6533. if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() {
  6534. abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6535. };
  6536. if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() {
  6537. abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6538. };
  6539. if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() {
  6540. abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6541. };
  6542. if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() {
  6543. abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6544. };
  6545. if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() {
  6546. abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6547. };
  6548. if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() {
  6549. abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6550. };
  6551. if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() {
  6552. abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6553. };
  6554. if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() {
  6555. abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6556. };
  6557. if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() {
  6558. abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6559. };
  6560. if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() {
  6561. abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6562. };
  6563. if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() {
  6564. abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6565. };
  6566. if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() {
  6567. abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6568. };
  6569. if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() {
  6570. abort("'addRunDependency' 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")
  6571. };
  6572. if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() {
  6573. abort("'removeRunDependency' 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")
  6574. };
  6575. if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() {
  6576. abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6577. };
  6578. if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() {
  6579. abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6580. };
  6581. if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() {
  6582. 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")
  6583. };
  6584. if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() {
  6585. abort("'FS_createPath' 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")
  6586. };
  6587. if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() {
  6588. abort("'FS_createDataFile' 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")
  6589. };
  6590. if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() {
  6591. 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")
  6592. };
  6593. if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() {
  6594. 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")
  6595. };
  6596. if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() {
  6597. 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")
  6598. };
  6599. if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() {
  6600. 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")
  6601. };
  6602. if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() {
  6603. 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")
  6604. };
  6605. if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() {
  6606. abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6607. };
  6608. if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() {
  6609. abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6610. };
  6611. if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() {
  6612. abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6613. };
  6614. if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() {
  6615. abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6616. };
  6617. if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() {
  6618. abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6619. };
  6620. if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() {
  6621. abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6622. };
  6623. if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() {
  6624. abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6625. };
  6626. if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() {
  6627. abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6628. };
  6629. Module["addFunction"] = addFunction;
  6630. Module["removeFunction"] = removeFunction;
  6631. if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() {
  6632. abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6633. };
  6634. if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() {
  6635. abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6636. };
  6637. if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() {
  6638. abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6639. };
  6640. if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() {
  6641. abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6642. };
  6643. if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() {
  6644. abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6645. };
  6646. if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() {
  6647. abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6648. };
  6649. if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() {
  6650. abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6651. };
  6652. if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() {
  6653. abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6654. };
  6655. if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() {
  6656. abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6657. };
  6658. if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() {
  6659. abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6660. };
  6661. if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() {
  6662. abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6663. };
  6664. if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() {
  6665. abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6666. };
  6667. if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() {
  6668. abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6669. };
  6670. if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() {
  6671. abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6672. };
  6673. if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() {
  6674. abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6675. };
  6676. if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() {
  6677. abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6678. };
  6679. if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() {
  6680. abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6681. };
  6682. if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", {
  6683. configurable: true,
  6684. get: function() {
  6685. abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6686. }
  6687. });
  6688. if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", {
  6689. configurable: true,
  6690. get: function() {
  6691. abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6692. }
  6693. });
  6694. if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", {
  6695. configurable: true,
  6696. get: function() {
  6697. abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6698. }
  6699. });
  6700. if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", {
  6701. configurable: true,
  6702. get: function() {
  6703. abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")
  6704. }
  6705. });
  6706. if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", {
  6707. configurable: true,
  6708. get: function() {
  6709. abort("'calledRun' 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")
  6710. }
  6711. });
  6712. var calledRun;
  6713. function ExitStatus(status) {
  6714. this.name = "ExitStatus";
  6715. this.message = "Program terminated with exit(" + status + ")";
  6716. this.status = status
  6717. }
  6718. var calledMain = false;
  6719. dependenciesFulfilled = function runCaller() {
  6720. if (!calledRun) run();
  6721. if (!calledRun) dependenciesFulfilled = runCaller
  6722. };
  6723. function callMain(args) {
  6724. assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');
  6725. assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called");
  6726. args = args || [];
  6727. var argc = args.length + 1;
  6728. var argv = stackAlloc((argc + 1) * 4);
  6729. HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram);
  6730. for (var i = 1; i < argc; i++) {
  6731. HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1])
  6732. }
  6733. HEAP32[(argv >> 2) + argc] = 0;
  6734. try {
  6735. var ret = Module["_main"](argc, argv);
  6736. exit(ret, true)
  6737. } catch (e) {
  6738. if (e instanceof ExitStatus) {
  6739. return
  6740. } else if (e == "SimulateInfiniteLoop") {
  6741. noExitRuntime = true;
  6742. return
  6743. } else {
  6744. var toLog = e;
  6745. if (e && typeof e === "object" && e.stack) {
  6746. toLog = [e, e.stack]
  6747. }
  6748. err("exception thrown: " + toLog);
  6749. quit_(1, e)
  6750. }
  6751. } finally {
  6752. calledMain = true
  6753. }
  6754. }
  6755. function run(args) {
  6756. args = args || arguments_;
  6757. if (runDependencies > 0) {
  6758. return
  6759. }
  6760. writeStackCookie();
  6761. preRun();
  6762. if (runDependencies > 0) return;
  6763. function doRun() {
  6764. if (calledRun) return;
  6765. calledRun = true;
  6766. if (ABORT) return;
  6767. initRuntime();
  6768. preMain();
  6769. if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
  6770. if (shouldRunNow) callMain(args);
  6771. postRun()
  6772. }
  6773. if (Module["setStatus"]) {
  6774. Module["setStatus"]("Running...");
  6775. setTimeout(function() {
  6776. setTimeout(function() {
  6777. Module["setStatus"]("")
  6778. }, 1);
  6779. doRun()
  6780. }, 1)
  6781. } else {
  6782. doRun()
  6783. }
  6784. checkStackCookie()
  6785. }
  6786. Module["run"] = run;
  6787. function checkUnflushedContent() {
  6788. var print = out;
  6789. var printErr = err;
  6790. var has = false;
  6791. out = err = function(x) {
  6792. has = true
  6793. };
  6794. try {
  6795. var flush = Module["_fflush"];
  6796. if (flush) flush(0);
  6797. ["stdout", "stderr"].forEach(function(name) {
  6798. var info = FS.analyzePath("/dev/" + name);
  6799. if (!info) return;
  6800. var stream = info.object;
  6801. var rdev = stream.rdev;
  6802. var tty = TTY.ttys[rdev];
  6803. if (tty && tty.output && tty.output.length) {
  6804. has = true
  6805. }
  6806. })
  6807. } catch (e) {}
  6808. out = print;
  6809. err = printErr;
  6810. if (has) {
  6811. warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")
  6812. }
  6813. }
  6814. function exit(status, implicit) {
  6815. checkUnflushedContent();
  6816. if (implicit && noExitRuntime && status === 0) {
  6817. return
  6818. }
  6819. if (noExitRuntime) {
  6820. if (!implicit) {
  6821. err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")
  6822. }
  6823. } else {
  6824. ABORT = true;
  6825. EXITSTATUS = status;
  6826. exitRuntime();
  6827. if (Module["onExit"]) Module["onExit"](status)
  6828. }
  6829. quit_(status, new ExitStatus(status))
  6830. }
  6831. if (Module["preInit"]) {
  6832. if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
  6833. while (Module["preInit"].length > 0) {
  6834. Module["preInit"].pop()()
  6835. }
  6836. }
  6837. var shouldRunNow = true;
  6838. if (Module["noInitialRun"]) shouldRunNow = false;
  6839. noExitRuntime = true;
  6840. run();