bundle.js 7.2 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874122875122876122877122878122879122880122881122882122883122884122885122886122887122888122889122890122891122892122893122894122895122896122897122898122899122900122901122902122903122904122905122906122907122908122909122910122911122912122913122914122915122916122917122918122919122920122921122922122923122924122925122926122927122928122929122930122931122932122933122934122935122936122937122938122939122940122941122942122943122944122945122946122947122948122949122950122951122952122953122954122955122956122957122958122959122960122961122962122963122964122965122966122967122968122969122970122971122972122973122974122975122976122977122978122979122980122981122982122983122984122985122986122987122988122989122990122991122992122993122994122995122996122997122998122999123000123001123002123003123004123005123006123007123008123009123010123011123012123013123014123015123016123017123018123019123020123021123022123023123024123025123026123027123028123029123030123031123032123033123034123035123036123037123038123039123040123041123042123043123044123045123046123047123048123049123050123051123052123053123054123055123056123057123058123059123060123061123062123063123064123065123066123067123068123069123070123071123072123073123074123075123076123077123078123079123080123081123082123083123084123085123086123087123088123089123090123091123092123093123094123095123096123097123098123099123100123101123102123103123104123105123106123107123108123109123110123111123112123113123114123115123116123117123118123119123120123121123122123123123124123125123126123127123128123129123130123131123132123133123134123135123136123137123138123139123140123141123142123143123144123145123146123147123148123149123150123151123152123153123154123155123156123157123158123159123160123161123162123163123164123165123166123167123168123169123170123171123172123173123174123175123176123177123178123179123180123181123182123183123184123185123186123187123188123189123190123191123192123193123194123195123196123197123198123199123200123201123202123203123204123205123206123207123208123209123210123211123212123213123214123215123216123217123218123219123220123221123222123223123224123225123226123227123228123229123230123231123232123233123234123235123236123237123238123239123240123241123242123243123244123245123246123247123248123249123250123251123252123253123254123255123256123257123258123259123260123261123262123263123264123265123266123267123268123269123270123271123272123273123274123275123276123277123278123279123280123281123282123283123284123285123286123287123288123289123290123291123292123293123294123295123296123297123298123299123300123301123302123303123304123305123306123307123308123309123310123311123312123313123314123315123316123317123318123319123320123321123322123323123324123325123326123327123328123329123330123331123332123333123334123335123336123337123338123339123340123341123342123343123344123345123346123347123348123349123350123351123352123353123354123355123356123357123358123359123360123361123362123363123364123365123366123367123368123369123370123371123372123373123374123375123376123377123378123379123380123381123382123383123384123385123386123387123388123389123390123391123392123393123394123395123396123397123398123399123400123401123402123403123404123405123406123407123408123409123410123411123412123413123414123415123416123417123418123419123420123421123422123423123424123425123426123427123428123429123430123431123432123433123434123435123436123437123438123439123440123441123442123443123444123445123446123447123448123449123450123451123452123453123454123455123456123457123458123459123460123461123462123463123464123465123466123467123468123469123470123471123472123473123474123475123476123477123478123479123480123481123482123483123484123485123486123487123488123489123490123491123492123493123494123495123496123497123498123499123500123501123502123503123504123505123506123507123508123509123510123511123512123513123514123515123516123517123518123519123520123521123522123523123524123525123526123527123528123529123530123531123532123533123534123535123536123537123538123539123540123541123542123543123544123545123546123547123548123549123550123551123552123553123554123555123556123557123558123559123560123561123562123563123564123565123566123567123568123569123570123571123572123573123574123575123576123577123578123579123580123581123582123583123584123585123586123587123588123589123590123591123592123593123594123595123596123597123598123599123600123601123602123603123604123605123606123607123608123609123610123611123612123613123614123615123616123617123618123619123620123621123622123623123624123625123626123627123628123629123630123631123632123633123634123635123636123637123638123639123640123641123642123643123644123645123646123647123648123649123650123651123652123653123654123655123656123657123658123659123660123661123662123663123664123665123666123667123668123669123670123671123672123673123674123675123676123677123678123679123680123681123682123683123684123685123686123687123688123689123690123691123692123693123694123695123696123697123698123699123700123701123702123703123704123705123706123707123708123709123710123711123712123713123714123715123716123717123718123719123720123721123722123723123724123725123726123727123728123729123730123731123732123733123734123735123736123737123738123739123740123741123742123743123744123745123746123747123748123749123750123751123752123753123754123755123756123757123758123759123760123761123762123763123764123765123766123767123768123769123770123771123772123773123774123775123776123777123778123779123780123781123782123783123784123785123786123787123788123789123790123791123792123793123794123795123796123797123798123799123800123801123802123803123804123805123806123807123808123809123810123811123812123813123814123815123816123817123818123819123820123821123822123823123824123825123826123827123828123829123830123831123832123833123834123835123836123837123838123839123840123841123842123843123844123845123846123847123848123849123850123851123852123853123854123855123856123857123858123859123860123861123862123863123864123865123866123867123868123869123870123871123872123873123874123875123876123877123878123879123880123881123882123883123884123885123886123887123888123889123890123891123892123893123894123895123896123897123898123899123900123901123902123903123904123905123906123907123908123909123910123911123912123913123914123915123916123917123918123919123920123921123922123923123924123925123926123927123928123929123930123931123932123933123934123935123936123937123938123939123940123941123942123943123944123945123946123947123948123949123950123951123952123953123954123955123956123957123958123959123960123961123962123963123964123965123966123967123968123969123970123971123972123973123974123975123976123977123978123979123980123981123982123983123984123985123986123987123988123989123990123991123992123993123994123995123996123997123998123999124000124001124002124003124004124005124006124007124008124009124010124011124012124013124014124015124016124017124018124019124020124021124022124023124024124025124026124027124028124029124030124031124032124033124034124035124036124037124038124039124040124041124042124043124044124045124046124047124048124049124050124051124052124053124054124055124056124057124058124059124060124061124062124063124064124065124066124067124068124069124070124071124072124073124074124075124076124077124078124079124080124081124082124083124084124085124086124087124088124089124090124091124092124093124094124095124096124097124098124099124100124101124102124103124104124105124106124107124108124109124110124111124112124113124114124115124116124117124118124119124120124121124122124123124124124125124126124127124128124129124130124131124132124133124134124135124136124137124138124139124140124141124142124143124144124145124146124147124148124149124150124151124152124153124154124155124156124157124158124159124160124161124162124163124164124165124166124167124168124169124170124171124172124173124174124175124176124177124178124179124180124181124182124183124184124185124186124187124188124189124190124191124192124193124194124195124196124197124198124199124200124201124202124203124204124205124206124207124208124209124210124211124212124213124214124215124216124217124218124219124220124221124222124223124224124225124226124227124228124229124230124231124232124233124234124235124236124237124238124239124240124241124242124243124244124245124246124247124248124249124250124251124252124253124254124255124256124257124258124259124260124261124262124263124264124265124266124267124268124269124270124271124272124273124274124275124276124277124278124279124280124281124282124283124284124285124286124287124288124289124290124291124292124293124294124295124296124297124298124299124300124301124302124303124304124305124306124307124308124309124310124311124312124313124314124315124316124317124318124319124320124321124322124323124324124325124326124327124328124329124330124331124332124333124334124335124336124337124338124339124340124341124342124343124344124345124346124347124348124349124350124351124352124353124354124355124356124357124358124359124360124361124362124363124364124365124366124367124368124369124370124371124372124373124374124375124376124377124378124379124380124381124382124383124384124385124386124387124388124389124390124391124392124393124394124395124396124397124398124399124400124401124402124403124404124405124406124407124408124409124410124411124412124413124414124415124416124417124418124419124420124421124422124423124424124425124426124427124428124429124430124431124432124433124434124435124436124437124438124439124440124441124442124443124444124445124446124447124448124449124450124451124452124453124454124455124456124457124458124459124460124461124462124463124464124465124466124467124468124469124470124471124472124473124474124475124476124477124478124479124480124481124482124483124484124485124486124487124488124489124490124491124492124493124494124495124496124497124498124499124500124501124502124503124504124505124506124507124508124509124510124511124512124513124514124515124516124517124518124519124520124521124522124523124524124525124526124527124528124529124530124531124532124533124534124535124536124537124538124539124540124541124542124543124544124545124546124547124548124549124550124551124552124553124554124555124556124557124558124559124560124561124562124563124564124565124566124567124568124569124570124571124572124573124574124575124576124577124578124579124580124581124582124583124584124585124586124587124588124589124590124591124592124593124594124595124596124597124598124599124600124601124602124603124604124605124606124607124608124609124610124611124612124613124614124615124616124617124618124619124620124621124622124623124624124625124626124627124628124629124630124631124632124633124634124635124636124637124638124639124640124641124642124643124644124645124646124647124648124649124650124651124652124653124654124655124656124657124658124659124660124661124662124663124664124665124666124667124668124669124670124671124672124673124674124675124676124677124678124679124680124681124682124683124684124685124686124687124688124689124690124691124692124693124694124695124696124697124698124699124700124701124702124703124704124705124706124707124708124709124710124711124712124713124714124715124716124717124718124719124720124721124722124723124724124725124726124727124728124729124730124731124732124733124734124735124736124737124738124739124740124741124742124743124744124745124746124747124748124749124750124751124752124753124754124755124756124757124758124759124760124761124762124763124764124765124766124767124768124769124770124771124772124773124774124775124776124777124778124779124780124781124782124783124784124785124786124787124788124789124790124791124792124793124794124795124796124797124798124799124800124801124802124803124804124805124806124807124808124809124810124811124812124813124814124815124816124817124818124819124820124821124822124823124824124825124826124827124828124829124830124831124832124833124834124835124836124837124838124839124840124841124842124843124844124845124846124847124848124849124850124851124852124853124854124855124856124857124858124859124860124861124862124863124864124865124866124867124868124869124870124871124872124873124874124875124876124877124878124879124880124881124882124883124884124885124886124887124888124889124890124891124892124893124894124895124896124897124898124899124900124901124902124903124904124905124906124907124908124909124910124911124912124913124914124915124916124917124918124919124920124921124922124923124924124925124926124927124928124929124930124931124932124933124934124935124936124937124938124939124940124941124942124943124944124945124946124947124948124949124950124951124952124953124954124955124956124957124958124959124960124961124962124963124964124965124966124967124968124969124970124971124972124973124974124975124976124977124978124979124980124981124982124983124984124985124986124987124988124989124990124991124992124993124994124995124996124997124998124999125000125001125002125003125004125005125006125007125008125009125010125011125012125013125014125015125016125017125018125019125020125021125022125023125024125025125026125027125028125029125030125031125032125033125034125035125036125037125038125039125040125041125042125043125044125045125046125047125048125049125050125051125052125053125054125055125056125057125058125059125060125061125062125063125064125065125066125067125068125069125070125071125072125073125074125075125076125077125078125079125080125081125082125083125084125085125086125087125088125089125090125091125092125093125094125095125096125097125098125099125100125101125102125103125104125105125106125107125108125109125110125111125112125113125114125115125116125117125118125119125120125121125122125123125124125125125126125127125128125129125130125131125132125133125134125135125136125137125138125139125140125141125142125143125144125145125146125147125148125149125150125151125152125153125154125155125156125157125158125159125160125161125162125163125164125165125166125167125168125169125170125171125172125173125174125175125176125177125178125179125180125181125182125183125184125185125186125187125188125189125190125191125192125193125194125195125196125197125198125199125200125201125202125203125204125205125206125207125208125209125210125211125212125213125214125215125216125217125218125219125220125221125222125223125224125225125226125227125228125229125230125231125232125233125234125235125236125237125238125239125240125241125242125243125244125245125246125247125248125249125250125251125252125253125254125255125256125257125258125259125260125261125262125263125264125265125266125267125268125269125270125271125272125273125274125275125276125277125278125279125280125281125282125283125284125285125286125287125288125289125290125291125292125293125294125295125296125297125298125299125300125301125302125303125304125305125306125307125308125309125310125311125312125313125314125315125316125317125318125319125320125321125322125323125324125325125326125327125328125329125330125331125332125333125334125335125336125337125338125339125340125341125342125343125344125345125346125347125348125349125350125351125352125353125354125355125356125357125358125359125360125361125362125363125364125365125366125367125368125369125370125371125372125373125374125375125376125377125378125379125380125381125382125383125384125385125386125387125388125389125390125391125392125393125394125395125396125397125398125399125400125401125402125403125404125405125406125407125408125409125410125411125412125413125414125415125416125417125418125419125420125421125422125423125424125425125426125427125428125429125430125431125432125433125434125435125436125437125438125439125440125441125442125443125444125445125446125447125448125449125450125451125452125453125454125455125456125457125458125459125460125461125462125463125464125465125466125467125468125469125470125471125472125473125474125475125476125477125478125479125480125481125482125483125484125485125486125487125488125489125490125491125492125493125494125495125496125497125498125499125500125501125502125503125504125505125506125507125508125509125510125511125512125513125514125515125516125517125518125519125520125521125522125523125524125525125526125527125528125529125530125531125532125533125534125535125536125537125538125539125540125541125542125543125544125545125546125547125548125549125550125551125552125553125554125555125556125557125558125559125560125561125562125563125564125565125566125567125568125569125570125571125572125573125574125575125576125577125578125579125580125581125582125583125584125585125586125587125588125589125590125591125592125593125594125595125596125597125598125599125600125601125602125603125604125605125606125607125608125609125610125611125612125613125614125615125616125617125618125619125620125621125622125623125624125625125626125627125628125629125630125631125632125633125634125635125636125637125638125639125640125641125642125643125644125645125646125647125648125649125650125651125652125653125654125655125656125657125658125659125660125661125662125663125664125665125666125667125668125669125670125671125672125673125674125675125676125677125678125679125680125681125682125683125684125685125686125687125688125689125690125691125692125693125694125695125696125697125698125699125700125701125702125703125704125705125706125707125708125709125710125711125712125713125714125715125716125717125718125719125720125721125722125723125724125725125726125727125728125729125730125731125732125733125734125735125736125737125738125739125740125741125742125743125744125745125746125747125748125749125750125751125752125753125754125755125756125757125758125759125760125761125762125763125764125765125766125767125768125769125770125771125772125773125774125775125776125777125778125779125780125781125782125783125784125785125786125787125788125789125790125791125792125793125794125795125796125797125798125799125800125801125802125803125804125805125806125807125808125809125810125811125812125813125814125815125816125817125818125819125820125821125822125823125824125825125826125827125828125829125830125831125832125833125834125835125836125837125838125839125840125841125842125843125844125845125846125847125848125849125850125851125852125853125854125855125856125857125858125859125860125861125862125863125864125865125866125867125868125869125870125871125872125873125874125875125876125877125878125879125880125881125882125883125884125885125886125887125888125889125890125891125892125893125894125895125896125897125898125899125900125901125902125903125904125905125906125907125908125909125910125911125912125913125914125915125916125917125918125919125920125921125922125923125924125925125926125927125928125929125930125931125932125933125934125935125936125937125938125939125940125941125942125943125944125945125946125947125948125949125950125951125952125953125954125955125956125957125958125959125960125961125962125963125964125965125966125967125968125969125970125971125972125973125974125975125976125977125978125979125980125981125982125983125984125985125986125987125988125989125990125991125992125993125994125995125996125997125998125999126000126001126002126003126004126005126006126007126008126009126010126011126012126013126014126015126016126017126018126019126020126021126022126023126024126025126026126027126028126029126030126031126032126033126034126035126036126037126038126039126040126041126042126043126044126045126046126047126048126049126050126051126052126053126054126055126056126057126058126059126060126061126062126063126064126065126066126067126068126069126070126071126072126073126074126075126076126077126078126079126080126081126082126083126084126085126086126087126088126089126090126091126092126093126094126095126096126097126098126099126100126101126102126103126104126105126106126107126108126109126110126111126112126113126114126115126116126117126118126119126120126121126122126123126124126125126126126127126128126129126130126131126132126133126134126135126136126137126138126139126140126141126142126143126144126145126146126147126148126149126150126151126152126153126154126155126156126157126158126159126160126161126162126163126164126165126166126167126168126169126170126171126172126173126174126175126176126177126178126179126180126181126182126183126184126185126186126187126188126189126190126191126192126193126194126195126196126197126198126199126200126201126202126203126204126205126206126207126208126209126210126211126212126213126214126215126216126217126218126219126220126221126222126223126224126225126226126227126228126229126230126231126232126233126234126235126236126237126238126239126240126241126242126243126244126245126246126247126248126249126250126251126252126253126254126255126256126257126258126259126260126261126262126263126264126265126266126267126268126269126270126271126272126273126274126275126276126277126278126279126280126281126282126283126284126285126286126287126288126289126290126291126292126293126294126295126296126297126298126299126300126301126302126303126304126305126306126307126308126309126310126311126312126313126314126315126316126317126318126319126320126321126322126323126324126325126326126327126328126329126330126331126332126333126334126335126336126337126338126339126340126341126342126343126344126345126346126347126348126349126350126351126352126353126354126355126356126357126358126359126360126361126362126363126364126365126366126367126368126369126370126371126372126373126374126375126376126377126378126379126380126381126382126383126384126385126386126387126388126389126390126391126392126393126394126395126396126397126398126399126400126401126402126403126404126405126406126407126408126409126410126411126412126413126414126415126416126417126418126419126420126421126422126423126424126425126426126427126428126429126430126431126432126433126434126435126436126437126438126439126440126441126442126443126444126445126446126447126448126449126450126451126452126453126454126455126456126457126458126459126460126461126462126463126464126465126466126467126468126469126470126471126472126473126474126475126476126477126478126479126480126481126482126483126484126485126486126487126488126489126490126491126492126493126494126495126496126497126498126499126500126501126502126503126504126505126506126507126508126509126510126511126512126513126514126515126516126517126518126519126520126521126522126523126524126525126526126527126528126529126530126531126532126533126534126535126536126537126538126539126540126541126542126543126544126545126546126547126548126549126550126551126552126553126554126555126556126557126558126559126560126561126562126563126564126565126566126567126568126569126570126571126572126573126574126575126576126577126578126579126580126581126582126583126584126585126586126587126588126589126590126591126592126593126594126595126596126597126598126599126600126601126602126603126604126605126606126607126608126609126610126611126612126613126614126615126616126617126618126619126620126621126622126623126624126625126626126627126628126629126630126631126632126633126634126635126636126637126638126639126640126641126642126643126644126645126646126647126648126649126650126651126652126653126654126655126656126657126658126659126660126661126662126663126664126665126666126667126668126669126670126671126672126673126674126675126676126677126678126679126680126681126682126683126684126685126686126687126688126689126690126691126692126693126694126695126696126697126698126699126700126701126702126703126704126705126706126707126708126709126710126711126712126713126714126715126716126717126718126719126720126721126722126723126724126725126726126727126728126729126730126731126732126733126734126735126736126737126738126739126740126741126742126743126744126745126746126747126748126749126750126751126752126753126754126755126756126757126758126759126760126761126762126763126764126765126766126767126768126769126770126771126772126773126774126775126776126777126778126779126780126781126782126783126784126785126786126787126788126789126790126791126792126793126794126795126796126797126798126799126800126801126802126803126804126805126806126807126808126809126810126811126812126813126814126815126816126817126818126819126820126821126822126823126824126825126826126827126828126829126830126831126832126833126834126835126836126837126838126839126840126841126842126843126844126845126846126847126848126849126850126851126852126853126854126855126856126857126858126859126860126861126862126863126864126865126866126867126868126869126870126871126872126873126874126875126876126877126878126879126880126881126882126883126884126885126886126887126888126889126890126891126892126893126894126895126896126897126898126899126900126901126902126903126904126905126906126907126908126909126910126911126912126913126914126915126916126917126918126919126920126921126922126923126924126925126926126927126928126929126930126931126932126933126934126935126936126937126938126939126940126941126942126943126944126945126946126947126948126949126950126951126952126953126954126955126956126957126958126959126960126961126962126963126964126965126966126967126968126969126970126971126972126973126974126975126976126977126978126979126980126981126982126983126984126985126986126987126988126989126990126991126992126993126994126995126996126997126998126999127000127001127002127003127004127005127006127007127008127009127010127011127012127013127014127015127016127017127018127019127020127021127022127023127024127025127026127027127028127029127030127031127032127033127034127035127036127037127038127039127040127041127042127043127044127045127046127047127048127049127050127051127052127053127054127055127056127057127058127059127060127061127062127063127064127065127066127067127068127069127070127071127072127073127074127075127076127077127078127079127080127081127082127083127084127085127086127087127088127089127090127091127092127093127094127095127096127097127098127099127100127101127102127103127104127105127106127107127108127109127110127111127112127113127114127115127116127117127118127119127120127121127122127123127124127125127126127127127128127129127130127131127132127133127134127135127136127137127138127139127140127141127142127143127144127145127146127147127148127149127150127151127152127153127154127155127156127157127158127159127160127161127162127163127164127165127166127167127168127169127170127171127172127173127174127175127176127177127178127179127180127181127182127183127184127185127186127187127188127189127190127191127192127193127194127195127196127197127198127199127200127201127202127203127204127205127206127207127208127209127210127211127212127213127214127215127216127217127218127219127220127221127222127223127224127225127226127227127228127229127230127231127232127233127234127235127236127237127238127239127240127241127242127243127244127245127246127247127248127249127250127251127252127253127254127255127256127257127258127259127260127261127262127263127264127265127266127267127268127269127270127271127272127273127274127275127276127277127278127279127280127281127282127283127284127285127286127287127288127289127290127291127292127293127294127295127296127297127298127299127300127301127302127303127304127305127306127307127308127309127310127311127312127313127314127315127316127317127318127319127320127321127322127323127324127325127326127327127328127329127330127331127332127333127334127335127336127337127338127339127340127341127342127343127344127345127346127347127348127349127350127351127352127353127354127355127356127357127358127359127360127361127362127363127364127365127366127367127368127369127370127371127372127373127374127375127376127377127378127379127380127381127382127383127384127385127386127387127388127389127390127391127392127393127394127395127396127397127398127399127400127401127402127403127404127405127406127407127408127409127410127411127412127413127414127415127416127417127418127419127420127421127422127423127424127425127426127427127428127429127430127431127432127433127434127435127436127437127438127439127440127441127442127443127444127445127446127447127448127449127450127451127452127453127454127455127456127457127458127459127460127461127462127463127464127465127466127467127468127469127470127471127472127473127474127475127476127477127478127479127480127481127482127483127484127485127486127487127488127489127490127491127492127493127494127495127496127497127498127499127500127501127502127503127504127505127506127507127508127509127510127511127512127513127514127515127516127517127518127519127520127521127522127523127524127525127526127527127528127529127530127531127532127533127534127535127536127537127538127539127540127541127542127543127544127545127546127547127548127549127550127551127552127553127554127555127556127557127558127559127560127561127562127563127564127565127566127567127568127569127570127571127572127573127574127575127576127577127578127579127580127581127582127583127584127585127586127587127588127589127590127591127592127593127594127595127596127597127598127599127600127601127602127603127604127605127606127607127608127609127610127611127612127613127614127615127616127617127618127619127620127621127622127623127624127625127626127627127628127629127630127631127632127633127634127635127636127637127638127639127640127641127642127643127644127645127646127647127648127649127650127651127652127653127654127655127656127657127658127659127660127661127662127663127664127665127666127667127668127669127670127671127672127673127674127675127676127677127678127679127680127681127682127683127684127685127686127687127688127689127690127691127692127693127694127695127696127697127698127699127700127701127702127703127704127705127706127707127708127709127710127711127712127713127714127715127716127717127718127719127720127721127722127723127724127725127726127727127728127729127730127731127732127733127734127735127736127737127738127739127740127741127742127743127744127745127746127747127748127749127750127751127752127753127754127755127756127757127758127759127760127761127762127763127764127765127766127767127768127769127770127771127772127773127774127775127776127777127778127779127780127781127782127783127784127785127786127787127788127789127790127791127792127793127794127795127796127797127798127799127800127801127802127803127804127805127806127807127808127809127810127811127812127813127814127815127816127817127818127819127820127821127822127823127824127825127826127827127828127829127830127831127832127833127834127835127836127837127838127839127840127841127842127843127844127845127846127847127848127849127850127851127852127853127854127855127856127857127858127859127860127861127862127863127864127865127866127867127868127869127870127871127872127873127874127875127876127877127878127879127880127881127882127883127884127885127886127887127888127889127890127891127892127893127894127895127896127897127898127899127900127901127902127903127904127905127906127907127908127909127910127911127912127913127914127915127916127917127918127919127920127921127922127923127924127925127926127927127928127929127930127931127932127933127934127935127936127937127938127939127940127941127942127943127944127945127946127947127948127949127950127951127952127953127954127955127956127957127958127959127960127961127962127963127964127965127966127967127968127969127970127971127972127973127974127975127976127977127978127979127980127981127982127983127984127985127986127987127988127989127990127991127992127993127994127995127996127997127998127999128000128001128002128003128004128005128006128007128008128009128010128011128012128013128014128015128016128017128018128019128020128021128022128023128024128025128026128027128028128029128030128031128032128033128034128035128036128037128038128039128040128041128042128043128044128045128046128047128048128049128050128051128052128053128054128055128056128057128058128059128060128061128062128063128064128065128066128067128068128069128070128071128072128073128074128075128076128077128078128079128080128081128082128083128084128085128086128087128088128089128090128091128092128093128094128095128096128097128098128099128100128101128102128103128104128105128106128107128108128109128110128111128112128113128114128115128116128117128118128119128120128121128122128123128124128125128126128127128128128129128130128131128132128133128134128135128136128137128138128139128140128141128142128143128144128145128146128147128148128149128150128151128152128153128154128155128156128157128158128159128160128161128162128163128164128165128166128167128168128169128170128171128172128173128174128175128176128177128178128179128180128181128182128183128184128185128186128187128188128189128190128191128192128193128194128195128196128197128198128199128200128201128202128203128204128205128206128207128208128209128210128211128212128213128214128215128216128217128218128219128220128221128222128223128224128225128226128227128228128229128230128231128232128233128234128235128236128237128238128239128240128241128242128243128244128245128246128247128248128249128250128251128252128253128254128255128256128257128258128259128260128261128262128263128264128265128266128267128268128269128270128271128272128273128274128275128276128277128278128279128280128281128282128283128284128285128286128287128288128289128290128291128292128293128294128295128296128297128298128299128300128301128302128303128304128305128306128307128308128309128310128311128312128313128314128315128316128317128318128319128320128321128322128323128324128325128326128327128328128329128330128331128332128333128334128335128336128337128338128339128340128341128342128343128344128345128346128347128348128349128350128351128352128353128354128355128356128357128358128359128360128361128362128363128364128365128366128367128368128369128370128371128372128373128374128375128376128377128378128379128380128381128382128383128384128385128386128387128388128389128390128391128392128393128394128395128396128397128398128399128400128401128402128403128404128405128406128407128408128409128410128411128412128413128414128415128416128417128418128419128420128421128422128423128424128425128426128427128428128429128430128431128432128433128434128435128436128437128438128439128440128441128442128443128444128445128446128447128448128449128450128451128452128453128454128455128456128457128458128459128460128461128462128463128464128465128466128467128468128469128470128471128472128473128474128475128476128477128478128479128480128481128482128483128484128485128486128487128488128489128490128491128492128493128494128495128496128497128498128499128500128501128502128503128504128505128506128507128508128509128510128511128512128513128514128515128516128517128518128519128520128521128522128523128524128525128526128527128528128529128530128531128532128533128534128535128536128537128538128539128540128541128542128543128544128545128546128547128548128549128550128551128552128553128554128555128556128557128558128559128560128561128562128563128564128565128566128567128568128569128570128571128572128573128574128575128576128577128578128579128580128581128582128583128584128585128586128587128588128589128590128591128592128593128594128595128596128597128598128599128600128601128602128603128604128605128606128607128608128609128610128611128612128613128614128615128616128617128618128619128620128621128622128623128624128625128626128627128628128629128630128631128632128633128634128635128636128637128638128639128640128641128642128643128644128645128646128647128648128649128650128651128652128653128654128655128656128657128658128659128660128661128662128663128664128665128666128667128668128669128670128671128672128673128674128675128676128677128678128679128680128681128682128683128684128685128686128687128688128689128690128691128692128693128694128695128696128697128698128699128700128701128702128703128704128705128706128707128708128709128710128711128712128713128714128715128716128717128718128719128720128721128722128723128724128725128726128727128728128729128730128731128732128733128734128735128736128737128738128739128740128741128742128743128744128745128746128747128748128749128750128751128752128753128754128755128756128757128758128759128760128761128762128763128764128765128766128767128768128769128770128771128772128773128774128775128776128777128778128779128780128781128782128783128784128785128786128787128788128789128790128791128792128793128794128795128796128797128798128799128800128801128802128803128804128805128806128807128808128809128810128811128812128813128814128815128816128817128818128819128820128821128822128823128824128825128826128827128828128829128830128831128832128833128834128835128836128837128838128839128840128841128842128843128844128845128846128847128848128849128850128851128852128853128854128855128856128857128858128859128860128861128862128863128864128865128866128867128868128869128870128871128872128873128874128875128876128877128878128879128880128881128882128883128884128885128886128887128888128889128890128891128892128893128894128895128896128897128898128899128900128901128902128903128904128905128906128907128908128909128910128911128912128913128914128915128916128917128918128919128920128921128922128923128924128925128926128927128928128929128930128931128932128933128934128935128936128937128938128939128940128941128942128943128944128945128946128947128948128949128950128951128952128953128954128955128956128957128958128959128960128961128962128963128964128965128966128967128968128969128970128971128972128973128974128975128976128977128978128979128980128981128982128983128984128985128986128987128988128989128990128991128992128993128994128995128996128997128998128999129000129001129002129003129004129005129006129007129008129009129010129011129012129013129014129015129016129017129018129019129020129021129022129023129024129025129026129027129028129029129030129031129032129033129034129035129036129037129038129039129040129041129042129043129044129045129046129047129048129049129050129051129052129053129054129055129056129057129058129059129060129061129062129063129064129065129066129067129068129069129070129071129072129073129074129075129076129077129078129079129080129081129082129083129084129085129086129087129088129089129090129091129092129093129094129095129096129097129098129099129100129101129102129103129104129105129106129107129108129109129110129111129112129113129114129115129116129117129118129119129120129121129122129123129124129125129126129127129128129129129130129131129132129133129134129135129136129137129138129139129140129141129142129143129144129145129146129147129148129149129150129151129152129153129154129155129156129157129158129159129160129161129162129163129164129165129166129167129168129169129170129171129172129173129174129175129176129177129178129179129180129181129182129183129184129185129186129187129188129189129190129191129192129193129194129195129196129197129198129199129200129201129202129203129204129205129206129207129208129209129210129211129212129213129214129215129216129217129218129219129220129221129222129223129224129225129226129227129228129229129230129231129232129233129234129235129236129237129238129239129240129241129242129243129244129245129246129247129248129249129250129251129252129253129254129255129256129257129258129259129260129261129262129263129264129265129266129267129268129269129270129271129272129273129274129275129276129277129278129279129280129281129282129283129284129285129286129287129288129289129290129291129292129293129294129295129296129297129298129299129300129301129302129303129304129305129306129307129308129309129310129311129312129313129314129315129316129317129318129319129320129321129322129323129324129325129326129327129328129329129330129331129332129333129334129335129336129337129338129339129340129341129342129343129344129345129346129347129348129349129350129351129352129353129354129355129356129357129358129359129360129361129362129363129364129365129366129367129368129369129370129371129372129373129374129375129376129377129378129379129380129381129382129383129384129385129386129387129388129389129390129391129392129393129394129395129396129397129398129399129400129401129402129403129404129405129406129407129408129409129410129411129412129413129414129415129416129417129418129419129420129421129422129423129424129425129426129427129428129429129430129431129432129433129434129435129436129437129438129439129440129441129442129443129444129445129446129447129448129449129450129451129452129453129454129455129456129457129458129459129460129461129462129463129464129465129466129467129468129469129470129471129472129473129474129475129476129477129478129479129480129481129482129483129484129485129486129487129488129489129490129491129492129493129494129495129496129497129498129499129500129501129502129503129504129505129506129507129508129509129510129511129512129513129514129515129516129517129518129519129520129521129522129523129524129525129526129527129528129529129530129531129532129533129534129535129536129537129538129539129540129541129542129543129544129545129546129547129548129549129550129551129552129553129554129555129556129557129558129559129560129561129562129563129564129565129566129567129568129569129570129571129572129573129574129575129576129577129578129579129580129581129582129583129584129585129586129587129588129589129590129591129592129593129594129595129596129597129598129599129600129601129602129603129604129605129606129607129608129609129610129611129612129613129614129615129616129617129618129619129620129621129622129623129624129625129626129627129628129629129630129631129632129633129634129635129636129637129638129639129640129641129642129643129644129645129646129647129648129649129650129651129652129653129654129655129656129657129658129659129660129661129662129663129664129665129666129667129668129669129670129671129672129673129674129675129676129677129678129679129680129681129682129683129684129685129686129687129688129689129690129691129692129693129694129695129696129697129698129699129700129701129702129703129704129705129706129707129708129709129710129711129712129713129714129715129716129717129718129719129720129721129722129723129724129725129726129727129728129729129730129731129732129733129734129735129736129737129738129739129740129741129742129743129744129745129746129747129748129749129750129751129752129753129754129755129756129757129758129759129760129761129762129763129764129765129766129767129768129769129770129771129772129773129774129775129776129777129778129779129780129781129782129783129784129785129786129787129788129789129790129791129792129793129794129795129796129797129798129799129800129801129802129803129804129805129806129807129808129809129810129811129812129813129814129815129816129817129818129819129820129821129822129823129824129825129826129827129828129829129830129831129832129833129834129835129836129837129838129839129840129841129842129843129844129845129846129847129848129849129850129851129852129853129854129855129856129857129858129859129860129861129862129863129864129865129866129867129868129869129870129871129872129873129874129875129876129877129878129879129880129881129882129883129884129885129886129887129888129889129890129891129892129893129894129895129896129897129898129899129900129901129902129903129904129905129906129907129908129909129910129911129912129913129914129915129916129917129918129919129920129921129922129923129924129925129926129927129928129929129930129931129932129933129934129935129936129937129938129939129940129941129942129943129944129945129946129947129948129949129950129951129952129953129954129955129956129957129958129959129960129961129962129963129964129965129966129967129968129969129970129971129972129973129974129975129976129977129978129979129980129981129982129983129984129985129986129987129988129989129990129991129992129993129994129995129996129997129998129999130000130001130002130003130004130005130006130007130008130009130010130011130012130013130014130015130016130017130018130019130020130021130022130023130024130025130026130027130028130029130030130031130032130033130034130035130036130037130038130039130040130041130042130043130044130045130046130047130048130049130050130051130052130053130054130055130056130057130058130059130060130061130062130063130064130065130066130067130068130069130070130071130072130073130074130075130076130077130078130079130080130081130082130083130084130085130086130087130088130089130090130091130092130093130094130095130096130097130098130099130100130101130102130103130104130105130106130107130108130109130110130111130112130113130114130115130116130117130118130119130120130121130122130123130124130125130126130127130128130129130130130131130132130133130134130135130136130137130138130139130140130141130142130143130144130145130146130147130148130149130150130151130152130153130154130155130156130157130158130159130160130161130162130163130164130165130166130167130168130169130170130171130172130173130174130175130176130177130178130179130180130181130182130183130184130185130186130187130188130189130190130191130192130193130194130195130196130197130198130199130200130201130202130203130204130205130206130207130208130209130210130211130212130213130214130215130216130217130218130219130220130221130222130223130224130225130226130227130228130229130230130231130232130233130234130235130236130237130238130239130240130241130242130243130244130245130246130247130248130249130250130251130252130253130254130255130256130257130258130259130260130261130262130263130264130265130266130267130268130269130270130271130272130273130274130275130276130277130278130279130280130281130282130283130284130285130286130287130288130289130290130291130292130293130294130295130296130297130298130299130300130301130302130303130304130305130306130307130308130309130310130311130312130313130314130315130316130317130318130319130320130321130322130323130324130325130326130327130328130329130330130331130332130333130334130335130336130337130338130339130340130341130342130343130344130345130346130347130348130349130350130351130352130353130354130355130356130357130358130359130360130361130362130363130364130365130366130367130368130369130370130371130372130373130374130375130376130377130378130379130380130381130382130383130384130385130386130387130388130389130390130391130392130393130394130395130396130397130398130399130400130401130402130403130404130405130406130407130408130409130410130411130412130413130414130415130416130417130418130419130420130421130422130423130424130425130426130427130428130429130430130431130432130433130434130435130436130437130438130439130440130441130442130443130444130445130446130447130448130449130450130451130452130453130454130455130456130457130458130459130460130461130462130463130464130465130466130467130468130469130470130471130472130473130474130475130476130477130478130479130480130481130482130483130484130485130486130487130488130489130490130491130492130493130494130495130496130497130498130499130500130501130502130503130504130505130506130507130508130509130510130511130512130513130514130515130516130517130518130519130520130521130522130523130524130525130526130527130528130529130530130531130532130533130534130535130536130537130538130539130540130541130542130543130544130545130546130547130548130549130550130551130552130553130554130555130556130557130558130559130560130561130562130563130564130565130566130567130568130569130570130571130572130573130574130575130576130577130578130579130580130581130582130583130584130585130586130587130588130589130590130591130592130593130594130595130596130597130598130599130600130601130602130603130604130605130606130607130608130609130610130611130612130613130614130615130616130617130618130619130620130621130622130623130624130625130626130627130628130629130630130631130632130633130634130635130636130637130638130639130640130641130642130643130644130645130646130647130648130649130650130651130652130653130654130655130656130657130658130659130660130661130662130663130664130665130666130667130668130669130670130671130672130673130674130675130676130677130678130679130680130681130682130683130684130685130686130687130688130689130690130691130692130693130694130695130696130697130698130699130700130701130702130703130704130705130706130707130708130709130710130711130712130713130714130715130716130717130718130719130720130721130722130723130724130725130726130727130728130729130730130731130732130733130734130735130736130737130738130739130740130741130742130743130744130745130746130747130748130749130750130751130752130753130754130755130756130757130758130759130760130761130762130763130764130765130766130767130768130769130770130771130772130773130774130775130776130777130778130779130780130781130782130783130784130785130786130787130788130789130790130791130792130793130794130795130796130797130798130799130800130801130802130803130804130805130806130807130808130809130810130811130812130813130814130815130816130817130818130819130820130821130822130823130824130825130826130827130828130829130830130831130832130833130834130835130836130837130838130839130840130841130842130843130844130845130846130847130848130849130850130851130852130853130854130855130856130857130858130859130860130861130862130863130864130865130866130867130868130869130870130871130872130873130874130875130876130877130878130879130880130881130882130883130884130885130886130887130888130889130890130891130892130893130894130895130896130897130898130899130900130901130902130903130904130905130906130907130908130909130910130911130912130913130914130915130916130917130918130919130920130921130922130923130924130925130926130927130928130929130930130931130932130933130934130935130936130937130938130939130940130941130942130943130944130945130946130947130948130949130950130951130952130953130954130955130956130957130958130959130960130961130962130963130964130965130966130967130968130969130970130971130972130973130974130975130976130977130978130979130980130981130982130983130984130985130986130987130988130989130990130991130992130993130994130995130996130997130998130999131000131001131002131003131004131005131006131007131008131009131010131011131012131013131014131015131016131017131018131019131020131021131022131023131024131025131026131027131028131029131030131031131032131033131034131035131036131037131038131039131040131041131042131043131044131045131046131047131048131049131050131051131052131053131054131055131056131057131058131059131060131061131062131063131064131065131066131067131068131069131070131071131072131073131074131075131076131077131078131079131080131081131082131083131084131085131086131087131088131089131090131091131092131093131094131095131096131097131098131099131100131101131102131103131104131105131106131107131108131109131110131111131112131113131114131115131116131117131118131119131120131121131122131123131124131125131126131127131128131129131130131131131132131133131134131135131136131137131138131139131140131141131142131143131144131145131146131147131148131149131150131151131152131153131154131155131156131157131158131159131160131161131162131163131164131165131166131167131168131169131170131171131172131173131174131175131176131177131178131179131180131181131182131183131184131185131186131187131188131189131190131191131192131193131194131195131196131197131198131199131200131201131202131203131204131205131206131207131208131209131210131211131212131213131214131215131216131217131218131219131220131221131222131223131224131225131226131227131228131229131230131231131232131233131234131235131236131237131238131239131240131241131242131243131244131245131246131247131248131249131250131251131252131253131254131255131256131257131258131259131260131261131262131263131264131265131266131267131268131269131270131271131272131273131274131275131276131277131278131279131280131281131282131283131284131285131286131287131288131289131290131291131292131293131294131295131296131297131298131299131300131301131302131303131304131305131306131307131308131309131310131311131312131313131314131315131316131317131318131319131320131321131322131323131324131325131326131327131328131329131330131331131332131333131334131335131336131337131338131339131340131341131342131343131344131345131346131347131348131349131350131351131352131353131354131355131356131357131358131359131360131361131362131363131364131365131366131367131368131369131370131371131372131373131374131375131376131377131378131379131380131381131382131383131384131385131386131387131388131389131390131391131392131393131394131395131396131397131398131399131400131401131402131403131404131405131406131407131408131409131410131411131412131413131414131415131416131417131418131419131420131421131422131423131424131425131426131427131428131429131430131431131432131433131434131435131436131437131438131439131440131441131442131443131444131445131446131447131448131449131450131451131452131453131454131455131456131457131458131459131460131461131462131463131464131465131466131467131468131469131470131471131472131473131474131475131476131477131478131479131480131481131482131483131484131485131486131487131488131489131490131491131492131493131494131495131496131497131498131499131500131501131502131503131504131505131506131507131508131509131510131511131512131513131514131515131516131517131518131519131520131521131522131523131524131525131526131527131528131529131530131531131532131533131534131535131536131537131538131539131540131541131542131543131544131545131546131547131548131549131550131551131552131553131554131555131556131557131558131559131560131561131562131563131564131565131566131567131568131569131570131571131572131573131574131575131576131577131578131579131580131581131582131583131584131585131586131587131588131589131590131591131592131593131594131595131596131597131598131599131600131601131602131603131604131605131606131607131608131609131610131611131612131613131614131615131616131617131618131619131620131621131622131623131624131625131626131627131628131629131630131631131632131633131634131635131636131637131638131639131640131641131642131643131644131645131646131647131648131649131650131651131652131653131654131655131656131657131658131659131660131661131662131663131664131665131666131667131668131669131670131671131672131673131674131675131676131677131678131679131680131681131682131683131684131685131686131687131688131689131690131691131692131693131694131695131696131697131698131699131700131701131702131703131704131705131706131707131708131709131710131711131712131713131714131715131716131717131718131719131720131721131722131723131724131725131726131727131728131729131730131731131732131733131734131735131736131737131738131739131740131741131742131743131744131745131746131747131748131749131750131751131752131753131754131755131756131757131758131759131760131761131762131763131764131765131766131767131768131769131770131771131772131773131774131775131776131777131778131779131780131781131782131783131784131785131786131787131788131789131790131791131792131793131794131795131796131797131798131799131800131801131802131803131804131805131806131807131808131809131810131811131812131813131814131815131816131817131818131819131820131821131822131823131824131825131826131827131828131829131830131831131832131833131834131835131836131837131838131839131840131841131842131843131844131845131846131847131848131849131850131851131852131853131854131855131856131857131858131859131860131861131862131863131864131865131866131867131868131869131870131871131872131873131874131875131876131877131878131879131880131881131882131883131884131885131886131887131888131889131890131891131892131893131894131895131896131897131898131899131900131901131902131903131904131905131906131907131908131909131910131911131912131913131914131915131916131917131918131919131920131921131922131923131924131925131926131927131928131929131930131931131932131933131934131935131936131937131938131939131940131941131942131943131944131945131946131947131948131949131950131951131952131953131954131955131956131957131958131959131960131961131962131963131964131965131966131967131968131969131970131971131972131973131974131975131976131977131978131979131980131981131982131983131984131985131986131987131988131989131990131991131992131993131994131995131996131997131998131999132000132001132002132003132004132005132006132007132008132009132010132011132012132013132014132015132016132017132018132019132020132021132022132023132024132025132026132027132028132029132030132031132032132033132034132035132036132037132038132039132040132041132042132043132044132045132046132047132048132049132050132051132052132053132054132055132056132057132058132059132060132061132062132063132064132065132066132067132068132069132070132071132072132073132074132075132076132077132078132079132080132081132082132083132084132085132086132087132088132089132090132091132092132093132094132095132096132097132098132099132100132101132102132103132104132105132106132107132108132109132110132111132112132113132114132115132116132117132118132119132120132121132122132123132124132125132126132127132128132129132130132131132132132133132134132135132136132137132138132139132140132141132142132143132144132145132146132147132148132149132150132151132152132153132154132155132156132157132158132159132160132161132162132163132164132165132166132167132168132169132170132171132172132173132174132175132176132177132178132179132180132181132182132183132184132185132186132187132188132189132190132191132192132193132194132195132196132197132198132199132200132201132202132203132204132205132206132207132208132209132210132211132212132213132214132215132216132217132218132219132220132221132222132223132224132225132226132227132228132229132230132231132232132233132234132235132236132237132238132239132240132241132242132243132244132245132246132247132248132249132250132251132252132253132254132255132256132257132258132259132260132261132262132263132264132265132266132267132268132269132270132271132272132273132274132275132276132277132278132279132280132281132282132283132284132285132286132287132288132289132290132291132292132293132294132295132296132297132298132299132300132301132302132303132304132305132306132307132308132309132310132311132312132313132314132315132316132317132318132319132320132321132322132323132324132325132326132327132328132329132330132331132332132333132334132335132336132337132338132339132340132341132342132343132344132345132346132347132348132349132350132351132352132353132354132355132356132357132358132359132360132361132362132363132364132365132366132367132368132369132370132371132372132373132374132375132376132377132378132379132380132381132382132383132384132385132386132387132388132389132390132391132392132393132394132395132396132397132398132399132400132401132402132403132404132405132406132407132408132409132410132411132412132413132414132415132416132417132418132419132420132421132422132423132424132425132426132427132428132429132430132431132432132433132434132435132436132437132438132439132440132441132442132443132444132445132446132447132448132449132450132451132452132453132454132455132456132457132458132459132460132461132462132463132464132465132466132467132468132469132470132471132472132473132474132475132476132477132478132479132480132481132482132483132484132485132486132487132488132489132490132491132492132493132494132495132496132497132498132499132500132501132502132503132504132505132506132507132508132509132510132511132512132513132514132515132516132517132518132519132520132521132522132523132524132525132526132527132528132529132530132531132532132533132534132535132536132537132538132539132540132541132542132543132544132545132546132547132548132549132550132551132552132553132554132555132556132557132558132559132560132561132562132563132564132565132566132567132568132569132570132571132572132573132574132575132576132577132578132579132580132581132582132583132584132585132586132587132588132589132590132591132592132593132594132595132596132597132598132599132600132601132602132603132604132605132606132607132608132609132610132611132612132613132614132615132616132617132618132619132620132621132622132623132624132625132626132627132628132629132630132631132632132633132634132635132636132637132638132639132640132641132642132643132644132645132646132647132648132649132650132651132652132653132654132655132656132657132658132659132660132661132662132663132664132665132666132667132668132669132670132671132672132673132674132675132676132677132678132679132680132681132682132683132684132685132686132687132688132689132690132691132692132693132694132695132696132697132698132699132700132701132702132703132704132705132706132707132708132709132710132711132712132713132714132715132716132717132718132719132720132721132722132723132724132725132726132727132728132729132730132731132732132733132734132735132736132737132738132739132740132741132742132743132744132745132746132747132748132749132750132751132752132753132754132755132756132757132758132759132760132761132762132763132764132765132766132767132768132769132770132771132772132773132774132775132776132777132778132779132780132781132782132783132784132785132786132787132788132789132790132791132792132793132794132795132796132797132798132799132800132801132802132803132804132805132806132807132808132809132810132811132812132813132814132815132816132817132818132819132820132821132822132823132824132825132826132827132828132829132830132831132832132833132834132835132836132837132838132839132840132841132842132843132844132845132846132847132848132849132850132851132852132853132854132855132856132857132858132859132860132861132862132863132864132865132866132867132868132869132870132871132872132873132874132875132876132877132878132879132880132881132882132883132884132885132886132887132888132889132890132891132892132893132894132895132896132897132898132899132900132901132902132903132904132905132906132907132908132909132910132911132912132913132914132915132916132917132918132919132920132921132922132923132924132925132926132927132928132929132930132931132932132933132934132935132936132937132938132939132940132941132942132943132944132945132946132947132948132949132950132951132952132953132954132955132956132957132958132959132960132961132962132963132964132965132966132967132968132969132970132971132972132973132974132975132976132977132978132979132980132981132982132983132984132985132986132987132988132989132990132991132992132993132994132995132996132997132998132999133000133001133002133003133004133005133006133007133008133009133010133011133012133013133014133015133016133017133018133019133020133021133022133023133024133025133026133027133028133029133030133031133032133033133034133035133036133037133038133039133040133041133042133043133044133045133046133047133048133049133050133051133052133053133054133055133056133057133058133059133060133061133062133063133064133065133066133067133068133069133070133071133072133073133074133075133076133077133078133079133080133081133082133083133084133085133086133087133088133089133090133091133092133093133094133095133096133097133098133099133100133101133102133103133104133105133106133107133108133109133110133111133112133113133114133115133116133117133118133119133120133121133122133123133124133125133126133127133128133129133130133131133132133133133134133135133136133137133138133139133140133141133142133143133144133145133146133147133148133149133150133151133152133153133154133155133156133157133158133159133160133161133162133163133164133165133166133167133168133169133170133171133172133173133174133175133176133177133178133179133180133181133182133183133184133185133186133187133188133189133190133191133192133193133194133195133196133197133198133199133200133201133202133203133204133205133206133207133208133209133210133211133212133213133214133215133216133217133218133219133220133221133222133223133224133225133226133227133228133229133230133231133232133233133234133235133236133237133238133239133240133241133242133243133244133245133246133247133248133249133250133251133252133253133254133255133256133257133258133259133260133261133262133263133264133265133266133267133268133269133270133271133272133273133274133275133276133277133278133279133280133281133282133283133284133285133286133287133288133289133290133291133292133293133294133295133296133297133298133299133300133301133302133303133304133305133306133307133308133309133310133311133312133313133314133315133316133317133318133319133320133321133322133323133324133325133326133327133328133329133330133331133332133333133334133335133336133337133338133339133340133341133342133343133344133345133346133347133348133349133350133351133352133353133354133355133356133357133358133359133360133361133362133363133364133365133366133367133368133369133370133371133372133373133374133375133376133377133378133379133380133381133382133383133384133385133386133387133388133389133390133391133392133393133394133395133396133397133398133399133400133401133402133403133404133405133406133407133408133409133410133411133412133413133414133415133416133417133418133419133420133421133422133423133424133425133426133427133428133429133430133431133432133433133434133435133436133437133438133439133440133441133442133443133444133445133446133447133448133449133450133451133452133453133454133455133456133457133458133459133460133461133462133463133464133465133466133467133468133469133470133471133472133473133474133475133476133477133478133479133480133481133482133483133484133485133486133487133488133489133490133491133492133493133494133495133496133497133498133499133500133501133502133503133504133505133506133507133508133509133510133511133512133513133514133515133516133517133518133519133520133521133522133523133524133525133526133527133528133529133530133531133532133533133534133535133536133537133538133539133540133541133542133543133544133545133546133547133548133549133550133551133552133553133554133555133556133557133558133559133560133561133562133563133564133565133566133567133568133569133570133571133572133573133574133575133576133577133578133579133580133581133582133583133584133585133586133587133588133589133590133591133592133593133594133595133596133597133598133599133600133601133602133603133604133605133606133607133608133609133610133611133612133613133614133615133616133617133618133619133620133621133622133623133624133625133626133627133628133629133630133631133632133633133634133635133636133637133638133639133640133641133642133643133644133645133646133647133648133649133650133651133652133653133654133655133656133657133658133659133660133661133662133663133664133665133666133667133668133669133670133671133672133673133674133675133676133677133678133679133680133681133682133683133684133685133686133687133688133689133690133691133692133693133694133695133696133697133698133699133700133701133702133703133704133705133706133707133708133709133710133711133712133713133714133715133716133717133718133719133720133721133722133723133724133725133726133727133728133729133730133731133732133733133734133735133736133737133738133739133740133741133742133743133744133745133746133747133748133749133750133751133752133753133754133755133756133757133758133759133760133761133762133763133764133765133766133767133768133769133770133771133772133773133774133775133776133777133778133779133780133781133782133783133784133785133786133787133788133789133790133791133792133793133794133795133796133797133798133799133800133801133802133803133804133805133806133807133808133809133810133811133812133813133814133815133816133817133818133819133820133821133822133823133824133825133826133827133828133829133830133831133832133833133834133835133836133837133838133839133840133841133842133843133844133845133846133847133848133849133850133851133852133853133854133855133856133857133858133859133860133861133862133863133864133865133866133867133868133869133870133871133872133873133874133875133876133877133878133879133880133881133882133883133884133885133886133887133888133889133890133891133892133893133894133895133896133897133898133899133900133901133902133903133904133905133906133907133908133909133910133911133912133913133914133915133916133917133918133919133920133921133922133923133924133925133926133927133928133929133930133931133932133933133934133935133936133937133938133939133940133941133942133943133944133945133946133947133948133949133950133951133952133953133954133955133956133957133958133959133960133961133962133963133964133965133966133967133968133969133970133971133972133973133974133975133976133977133978133979133980133981133982133983133984133985133986133987133988133989133990133991133992133993133994133995133996133997133998133999134000134001134002134003134004134005134006134007134008134009134010134011134012134013134014134015134016134017134018134019134020134021134022134023134024134025134026134027134028134029134030134031134032134033134034134035134036134037134038134039134040134041134042134043134044134045134046134047134048134049134050134051134052134053134054134055134056134057134058134059134060134061134062134063134064134065134066134067134068134069134070134071134072134073134074134075134076134077134078134079134080134081134082134083134084134085134086134087134088134089134090134091134092134093134094134095134096134097134098134099134100134101134102134103134104134105134106134107134108134109134110134111134112134113134114134115134116134117134118134119134120134121134122134123134124134125134126134127134128134129134130134131134132134133134134134135134136134137134138134139134140134141134142134143134144134145134146134147134148134149134150134151134152134153134154134155134156134157134158134159134160134161134162134163134164134165134166134167134168134169134170134171134172134173134174134175134176134177134178134179134180134181134182134183134184134185134186134187134188134189134190134191134192134193134194134195134196134197134198134199134200134201134202134203134204134205134206134207134208134209134210134211134212134213134214134215134216134217134218134219134220134221134222134223134224134225134226134227134228134229134230134231134232134233134234134235134236134237134238134239134240134241134242134243134244134245134246134247134248134249134250134251134252134253134254134255134256134257134258134259134260134261134262134263134264134265134266134267134268134269134270134271134272134273134274134275134276134277134278134279134280134281134282134283134284134285134286134287134288134289134290134291134292134293134294134295134296134297134298134299134300134301134302134303134304134305134306134307134308134309134310134311134312134313134314134315134316134317134318134319134320134321134322134323134324134325134326134327134328134329134330134331134332134333134334134335134336134337134338134339134340134341134342134343134344134345134346134347134348134349134350134351134352134353134354134355134356134357134358134359134360134361134362134363134364134365134366134367134368134369134370134371134372134373134374134375134376134377134378134379134380134381134382134383134384134385134386134387134388134389134390134391134392134393134394134395134396134397134398134399134400134401134402134403134404134405134406134407134408134409134410134411134412134413134414134415134416134417134418134419134420134421134422134423134424134425134426134427134428134429134430134431134432134433134434134435134436134437134438134439134440134441134442134443134444134445134446134447134448134449134450134451134452134453134454134455134456134457134458134459134460134461134462134463134464134465134466134467134468134469134470134471134472134473134474134475134476134477134478134479134480134481134482134483134484134485134486134487134488134489134490134491134492134493134494134495134496134497134498134499134500134501134502134503134504134505134506134507134508134509134510134511134512134513134514134515134516134517134518134519134520134521134522134523134524134525134526134527134528134529134530134531134532134533134534134535134536134537134538134539134540134541134542134543134544134545134546134547134548134549134550134551134552134553134554134555134556134557134558134559134560134561134562134563134564134565134566134567134568134569134570134571134572134573134574134575134576134577134578134579134580134581134582134583134584134585134586134587134588134589134590134591134592134593134594134595134596134597134598134599134600134601134602134603134604134605134606134607134608134609134610134611134612134613134614134615134616134617134618134619134620134621134622134623134624134625134626134627134628134629134630134631134632134633134634134635134636134637134638134639134640134641134642134643134644134645134646134647134648134649134650134651134652134653134654134655134656134657134658134659134660134661134662134663134664134665134666134667134668134669134670134671134672134673134674134675134676134677134678134679134680134681134682134683134684134685134686134687134688134689134690134691134692134693134694134695134696134697134698134699134700134701134702134703134704134705134706134707134708134709134710134711134712134713134714134715134716134717134718134719134720134721134722134723134724134725134726134727134728134729134730134731134732134733134734134735134736134737134738134739134740134741134742134743134744134745134746134747134748134749134750134751134752134753134754134755134756134757134758134759134760134761134762134763134764134765134766134767134768134769134770134771134772134773134774134775134776134777134778134779134780134781134782134783134784134785134786134787134788134789134790134791134792134793134794134795134796134797134798134799134800134801134802134803134804134805134806134807134808134809134810134811134812134813134814134815134816134817134818134819134820134821134822134823134824134825134826134827134828134829134830134831134832134833134834134835134836134837134838134839134840134841134842134843134844134845134846134847134848134849134850134851134852134853134854134855134856134857134858134859134860134861134862134863134864134865134866134867134868134869134870134871134872134873134874134875134876134877134878134879134880134881134882134883134884134885134886134887134888134889134890134891134892134893134894134895134896134897134898134899134900134901134902134903134904134905134906134907134908134909134910134911134912134913134914134915134916134917134918134919134920134921134922134923134924134925134926134927134928134929134930134931134932134933134934134935134936134937134938134939134940134941134942134943134944134945134946134947134948134949134950134951134952134953134954134955134956134957134958134959134960134961134962134963134964134965134966134967134968134969134970134971134972134973134974134975134976134977134978134979134980134981134982134983134984134985134986134987134988134989134990134991134992134993134994134995134996134997134998134999135000135001135002135003135004135005135006135007135008135009135010135011135012135013135014135015135016135017135018135019135020135021135022135023135024135025135026135027135028135029135030135031135032135033135034135035135036135037135038135039135040135041135042135043135044135045135046135047135048135049135050135051135052135053135054135055135056135057135058135059135060135061135062135063135064135065135066135067135068135069135070135071135072135073135074135075135076135077135078135079135080135081135082135083135084135085135086135087135088135089135090135091135092135093135094135095135096135097135098135099135100135101135102135103135104135105135106135107135108135109135110135111135112135113135114135115135116135117135118135119135120135121135122135123135124135125135126135127135128135129135130135131135132135133135134135135135136135137135138135139135140135141135142135143135144135145135146135147135148135149135150135151135152135153135154135155135156135157135158135159135160135161135162135163135164135165135166135167135168135169135170135171135172135173135174135175135176135177135178135179135180135181135182135183135184135185135186135187135188135189135190135191135192135193135194135195135196135197135198135199135200135201135202135203135204135205135206135207135208135209135210135211135212135213135214135215135216135217135218135219135220135221135222135223135224135225135226135227135228135229135230135231135232135233135234135235135236135237135238135239135240135241135242135243135244135245135246135247135248135249135250135251135252135253135254135255135256135257135258135259135260135261135262135263135264135265135266135267135268135269135270135271135272135273135274135275135276135277135278135279135280135281135282135283135284135285135286135287135288135289135290135291135292135293135294135295135296135297135298135299135300135301135302135303135304135305135306135307135308135309135310135311135312135313135314135315135316135317135318135319135320135321135322135323135324135325135326135327135328135329135330135331135332135333135334135335135336135337135338135339135340135341135342135343135344135345135346135347135348135349135350135351135352135353135354135355135356135357135358135359135360135361135362135363135364135365135366135367135368135369135370135371135372135373135374135375135376135377135378135379135380135381135382135383135384135385135386135387135388135389135390135391135392135393135394135395135396135397135398135399135400135401135402135403135404135405135406135407135408135409135410135411135412135413135414135415135416135417135418135419135420135421135422135423135424135425135426135427135428135429135430135431135432135433135434135435135436135437135438135439135440135441135442135443135444135445135446135447135448135449135450135451135452135453135454135455135456135457135458135459135460135461135462135463135464135465135466135467135468135469135470135471135472135473135474135475135476135477135478135479135480135481135482135483135484135485135486135487135488135489135490135491135492135493135494135495135496135497135498135499135500135501135502135503135504135505135506135507135508135509135510135511135512135513135514135515135516135517135518135519135520135521135522135523135524135525135526135527135528135529135530135531135532135533135534135535135536135537135538135539135540135541135542135543135544135545135546135547135548135549135550135551135552135553135554135555135556135557135558135559135560135561135562135563135564135565135566135567135568135569135570135571135572135573135574135575135576135577135578135579135580135581135582135583135584135585135586135587135588135589135590135591135592135593135594135595135596135597135598135599135600135601135602135603135604135605135606135607135608135609135610135611135612135613135614135615135616135617135618135619135620135621135622135623135624135625135626135627135628135629135630135631135632135633135634135635135636135637135638135639135640135641135642135643135644135645135646135647135648135649135650135651135652135653135654135655135656135657135658135659135660135661135662135663135664135665135666135667135668135669135670135671135672135673135674135675135676135677135678135679135680135681135682135683135684135685135686135687135688135689135690135691135692135693135694135695135696135697135698135699135700135701135702135703135704135705135706135707135708135709135710135711135712135713135714135715135716135717135718135719135720135721135722135723135724135725135726135727135728135729135730135731135732135733135734135735135736135737135738135739135740135741135742135743135744135745135746135747135748135749135750135751135752135753135754135755135756135757135758135759135760135761135762135763135764135765135766135767135768135769135770135771135772135773135774135775135776135777135778135779135780135781135782135783135784135785135786135787135788135789135790135791135792135793135794135795135796135797135798135799135800135801135802135803135804135805135806135807135808135809135810135811135812135813135814135815135816135817135818135819135820135821135822135823135824135825135826135827135828135829135830135831135832135833135834135835135836135837135838135839135840135841135842135843135844135845135846135847135848135849135850135851135852135853135854135855135856135857135858135859135860135861135862135863135864135865135866135867135868135869135870135871135872135873135874135875135876135877135878135879135880135881135882135883135884135885135886135887135888135889135890135891135892135893135894135895135896135897135898135899135900135901135902135903135904135905135906135907135908135909135910135911135912135913135914135915135916135917135918135919135920135921135922135923135924135925135926135927135928135929135930135931135932135933135934135935135936135937135938135939135940135941135942135943135944135945135946135947135948135949135950135951135952135953135954135955135956135957135958135959135960135961135962135963135964135965135966135967135968135969135970135971135972135973135974135975135976135977135978135979135980135981135982135983135984135985135986135987135988135989135990135991135992135993135994135995135996135997135998135999136000136001136002136003136004136005136006136007136008136009136010136011136012136013136014136015136016136017136018136019136020136021136022136023136024136025136026136027136028136029136030136031136032136033136034136035136036136037136038136039136040136041136042136043136044136045136046136047136048136049136050136051136052136053136054136055136056136057136058136059136060136061136062136063136064136065136066136067136068136069136070136071136072136073136074136075136076136077136078136079136080136081136082136083136084136085136086136087136088136089136090136091136092136093136094136095136096136097136098136099136100136101136102136103136104136105136106136107136108136109136110136111136112136113136114136115136116136117136118136119136120136121136122136123136124136125136126136127136128136129136130136131136132136133136134136135136136136137136138136139136140136141136142136143136144136145136146136147136148136149136150136151136152136153136154136155136156136157136158136159136160136161136162136163136164136165136166136167136168136169136170136171136172136173136174136175136176136177136178136179136180136181136182136183136184136185136186136187136188136189136190136191136192136193136194136195136196136197136198136199136200136201136202136203136204136205136206136207136208136209136210136211136212136213136214136215136216136217136218136219136220136221136222136223136224136225136226136227136228136229136230136231136232136233136234136235136236136237136238136239136240136241136242136243136244136245136246136247136248136249136250136251136252136253136254136255136256136257136258136259136260136261136262136263136264136265136266136267136268136269136270136271136272136273136274136275136276136277136278136279136280136281136282136283136284136285136286136287136288136289136290136291136292136293136294136295136296136297136298136299136300136301136302136303136304136305136306136307136308136309136310136311136312136313136314136315136316136317136318136319136320136321136322136323136324136325136326136327136328136329136330136331136332136333136334136335136336136337136338136339136340136341136342136343136344136345136346136347136348136349136350136351136352136353136354136355136356136357136358136359136360136361136362136363136364136365136366136367136368136369136370136371136372136373136374136375136376136377136378136379136380136381136382136383136384136385136386136387136388136389136390136391136392136393136394136395136396136397136398136399136400136401136402136403136404136405136406136407136408136409136410136411136412136413136414136415136416136417136418136419136420136421136422136423136424136425136426136427136428136429136430136431136432136433136434136435136436136437136438136439136440136441136442136443136444136445136446136447136448136449136450136451136452136453136454136455136456136457136458136459136460136461136462136463136464136465136466136467136468136469136470136471136472136473136474136475136476136477136478136479136480136481136482136483136484136485136486136487136488136489136490136491136492136493136494136495136496136497136498136499136500136501136502136503136504136505136506136507136508136509136510136511136512136513136514136515136516136517136518136519136520136521136522136523136524136525136526136527136528136529136530136531136532136533136534136535136536136537136538136539136540136541136542136543136544136545136546136547136548136549136550136551136552136553136554136555136556136557136558136559136560136561136562136563136564136565136566136567136568136569136570136571136572136573136574136575136576136577136578136579136580136581136582136583136584136585136586136587136588136589136590136591136592136593136594136595136596136597136598136599136600136601136602136603136604136605136606136607136608136609136610136611136612136613136614136615136616136617136618136619136620136621136622136623136624136625136626136627136628136629136630136631136632136633136634136635136636136637136638136639136640136641136642136643136644136645136646136647136648136649136650136651136652136653136654136655136656136657136658136659136660136661136662136663136664136665136666136667136668136669136670136671136672136673136674136675136676136677136678136679136680136681136682136683136684136685136686136687136688136689136690136691136692136693136694136695136696136697136698136699136700136701136702136703136704136705136706136707136708136709136710136711136712136713136714136715136716136717136718136719136720136721136722136723136724136725136726136727136728136729136730136731136732136733136734136735136736136737136738136739136740136741136742136743136744136745136746136747136748136749136750136751136752136753136754136755136756136757136758136759136760136761136762136763136764136765136766136767136768136769136770136771136772136773136774136775136776136777136778136779136780136781136782136783136784136785136786136787136788136789136790136791136792136793136794136795136796136797136798136799136800136801136802136803136804136805136806136807136808136809136810136811136812136813136814136815136816136817136818136819136820136821136822136823136824136825136826136827136828136829136830136831136832136833136834136835136836136837136838136839136840136841136842136843136844136845136846136847136848136849136850136851136852136853136854136855136856136857136858136859136860136861136862136863136864136865136866136867136868136869136870136871136872136873136874136875136876136877136878136879136880136881136882136883136884136885136886136887136888136889136890136891136892136893136894136895136896136897136898136899136900136901136902136903136904136905136906136907136908136909136910136911136912136913136914136915136916136917136918136919136920136921136922136923136924136925136926136927136928136929136930136931136932136933136934136935136936136937136938136939136940136941136942136943136944136945136946136947136948136949136950136951136952136953136954136955136956136957136958136959136960136961136962136963136964136965136966136967136968136969136970136971136972136973136974136975136976136977136978136979136980136981136982136983136984136985136986136987136988136989136990136991136992136993136994136995136996136997136998136999137000137001137002137003137004137005137006137007137008137009137010137011137012137013137014137015137016137017137018137019137020137021137022137023137024137025137026137027137028137029137030137031137032137033137034137035137036137037137038137039137040137041137042137043137044137045137046137047137048137049137050137051137052137053137054137055137056137057137058137059137060137061137062137063137064137065137066137067137068137069137070137071137072137073137074137075137076137077137078137079137080137081137082137083137084137085137086137087137088137089137090137091137092137093137094137095137096137097137098137099137100137101137102137103137104137105137106137107137108137109137110137111137112137113137114137115137116137117137118137119137120137121137122137123137124137125137126137127137128137129137130137131137132137133137134137135137136137137137138137139137140137141137142137143137144137145137146137147137148137149137150137151137152137153137154137155137156137157137158137159137160137161137162137163137164137165137166137167137168137169137170137171137172137173137174137175137176137177137178137179137180137181137182137183137184137185137186137187137188137189137190137191137192137193137194137195137196137197137198137199137200137201137202137203137204137205137206137207137208137209137210137211137212137213137214137215137216137217137218137219137220137221137222137223137224137225137226137227137228137229137230137231137232137233137234137235137236137237137238137239137240137241137242137243137244137245137246137247137248137249137250137251137252137253137254137255137256137257137258137259137260137261137262137263137264137265137266137267137268137269137270137271137272137273137274137275137276137277137278137279137280137281137282137283137284137285137286137287137288137289137290137291137292137293137294137295137296137297137298137299137300137301137302137303137304137305137306137307137308137309137310137311137312137313137314137315137316137317137318137319137320137321137322137323137324137325137326137327137328137329137330137331137332137333137334137335137336137337137338137339137340137341137342137343137344137345137346137347137348137349137350137351137352137353137354137355137356137357137358137359137360137361137362137363137364137365137366137367137368137369137370137371137372137373137374137375137376137377137378137379137380137381137382137383137384137385137386137387137388137389137390137391137392137393137394137395137396137397137398137399137400137401137402137403137404137405137406137407137408137409137410137411137412137413137414137415137416137417137418137419137420137421137422137423137424137425137426137427137428137429137430137431137432137433137434137435137436137437137438137439137440137441137442137443137444137445137446137447137448137449137450137451137452137453137454137455137456137457137458137459137460137461137462137463137464137465137466137467137468137469137470137471137472137473137474137475137476137477137478137479137480137481137482137483137484137485137486137487137488137489137490137491137492137493137494137495137496137497137498137499137500137501137502137503137504137505137506137507137508137509137510137511137512137513137514137515137516137517137518137519137520137521137522137523137524137525137526137527137528137529137530137531137532137533137534137535137536137537137538137539137540137541137542137543137544137545137546137547137548137549137550137551137552137553137554137555137556137557137558137559137560137561137562137563137564137565137566137567137568137569137570137571137572137573137574137575137576137577137578137579137580137581137582137583137584137585137586137587137588137589137590137591137592137593137594137595137596137597137598137599137600137601137602137603137604137605137606137607137608137609137610137611137612137613137614137615137616137617137618137619137620137621137622137623137624137625137626137627137628137629137630137631137632137633137634137635137636137637137638137639137640137641137642137643137644137645137646137647137648137649137650137651137652137653137654137655137656137657137658137659137660137661137662137663137664137665137666137667137668137669137670137671137672137673137674137675137676137677137678137679137680137681137682137683137684137685137686137687137688137689137690137691137692137693137694137695137696137697137698137699137700137701137702137703137704137705137706137707137708137709137710137711137712137713137714137715137716137717137718137719137720137721137722137723137724137725137726137727137728137729137730137731137732137733137734137735137736137737137738137739137740137741137742137743137744137745137746137747137748137749137750137751137752137753137754137755137756137757137758137759137760137761137762137763137764137765137766137767137768137769137770137771137772137773137774137775137776137777137778137779137780137781137782137783137784137785137786137787137788137789137790137791137792137793137794137795137796137797137798137799137800137801137802137803137804137805137806137807137808137809137810137811137812137813137814137815137816137817137818137819137820137821137822137823137824137825137826137827137828137829137830137831137832137833137834137835137836137837137838137839137840137841137842137843137844137845137846137847137848137849137850137851137852137853137854137855137856137857137858137859137860137861137862137863137864137865137866137867137868137869137870137871137872137873137874137875137876137877137878137879137880137881137882137883137884137885137886137887137888137889137890137891137892137893137894137895137896137897137898137899137900137901137902137903137904137905137906137907137908137909137910137911137912137913137914137915137916137917137918137919137920137921137922137923137924137925137926137927137928137929137930137931137932137933137934137935137936137937137938137939137940137941137942137943137944137945137946137947137948137949137950137951137952137953137954137955137956137957137958137959137960137961137962137963137964137965137966137967137968137969137970137971137972137973137974137975137976137977137978137979137980137981137982137983137984137985137986137987137988137989137990137991137992137993137994137995137996137997137998137999138000138001138002138003138004138005138006138007138008138009138010138011138012138013138014138015138016138017138018138019138020138021138022138023138024138025138026138027138028138029138030138031138032138033138034138035138036138037138038138039138040138041138042138043138044138045138046138047138048138049138050138051138052138053138054138055138056138057138058138059138060138061138062138063138064138065138066138067138068138069138070138071138072138073138074138075138076138077138078138079138080138081138082138083138084138085138086138087138088138089138090138091138092138093138094138095138096138097138098138099138100138101138102138103138104138105138106138107138108138109138110138111138112138113138114138115138116138117138118138119138120138121138122138123138124138125138126138127138128138129138130138131138132138133138134138135138136138137138138138139138140138141138142138143138144138145138146138147138148138149138150138151138152138153138154138155138156138157138158138159138160138161138162138163138164138165138166138167138168138169138170138171138172138173138174138175138176138177138178138179138180138181138182138183138184138185138186138187138188138189138190138191138192138193138194138195138196138197138198138199138200138201138202138203138204138205138206138207138208138209138210138211138212138213138214138215138216138217138218138219138220138221138222138223138224138225138226138227138228138229138230138231138232138233138234138235138236138237138238138239138240138241138242138243138244138245138246138247138248138249138250138251138252138253138254138255138256138257138258138259138260138261138262138263138264138265138266138267138268138269138270138271138272138273138274138275138276138277138278138279138280138281138282138283138284138285138286138287138288138289138290138291138292138293138294138295138296138297138298138299138300138301138302138303138304138305138306138307138308138309138310138311138312138313138314138315138316138317138318138319138320138321138322138323138324138325138326138327138328138329138330138331138332138333138334138335138336138337138338138339138340138341138342138343138344138345138346138347138348138349138350138351138352138353138354138355138356138357138358138359138360138361138362138363138364138365138366138367138368138369138370138371138372138373138374138375138376138377138378138379138380138381138382138383138384138385138386138387138388138389138390138391138392138393138394138395138396138397138398138399138400138401138402138403138404138405138406138407138408138409138410138411138412138413138414138415138416138417138418138419138420138421138422138423138424138425138426138427138428138429138430138431138432138433138434138435138436138437138438138439138440138441138442138443138444138445138446138447138448138449138450138451138452138453138454138455138456138457138458138459138460138461138462138463138464138465138466138467138468138469138470138471138472138473138474138475138476138477138478138479138480138481138482138483138484138485138486138487138488138489138490138491138492138493138494138495138496138497138498138499138500138501138502138503138504138505138506138507138508138509138510138511138512138513138514138515138516138517138518138519138520138521138522138523138524138525138526138527138528138529138530138531138532138533138534138535138536138537138538138539138540138541138542138543138544138545138546138547138548138549138550138551138552138553138554138555138556138557138558138559138560138561138562138563138564138565138566138567138568138569138570138571138572138573138574138575138576138577138578138579138580138581138582138583138584138585138586138587138588138589138590138591138592138593138594138595138596138597138598138599138600138601138602138603138604138605138606138607138608138609138610138611138612138613138614138615138616138617138618138619138620138621138622138623138624138625138626138627138628138629138630138631138632138633138634138635138636138637138638138639138640138641138642138643138644138645138646138647138648138649138650138651138652138653138654138655138656138657138658138659138660138661138662138663138664138665138666138667138668138669138670138671138672138673138674138675138676138677138678138679138680138681138682138683138684138685138686138687138688138689138690138691138692138693138694138695138696138697138698138699138700138701138702138703138704138705138706138707138708138709138710138711138712138713138714138715138716138717138718138719138720138721138722138723138724138725138726138727138728138729138730138731138732138733138734138735138736138737138738138739138740138741138742138743138744138745138746138747138748138749138750138751138752138753138754138755138756138757138758138759138760138761138762138763138764138765138766138767138768138769138770138771138772138773138774138775138776138777138778138779138780138781138782138783138784138785138786138787138788138789138790138791138792138793138794138795138796138797138798138799138800138801138802138803138804138805138806138807138808138809138810138811138812138813138814138815138816138817138818138819138820138821138822138823138824138825138826138827138828138829138830138831138832138833138834138835138836138837138838138839138840138841138842138843138844138845138846138847138848138849138850138851138852138853138854138855138856138857138858138859138860138861138862138863138864138865138866138867138868138869138870138871138872138873138874138875138876138877138878138879138880138881138882138883138884138885138886138887138888138889138890138891138892138893138894138895138896138897138898138899138900138901138902138903138904138905138906138907138908138909138910138911138912138913138914138915138916138917138918138919138920138921138922138923138924138925138926138927138928138929138930138931138932138933138934138935138936138937138938138939138940138941138942138943138944138945138946138947138948138949138950138951138952138953138954138955138956138957138958138959138960138961138962138963138964138965138966138967138968138969138970138971138972138973138974138975138976138977138978138979138980138981138982138983138984138985138986138987138988138989138990138991138992138993138994138995138996138997138998138999139000139001139002139003139004139005139006139007139008139009139010139011139012139013139014139015139016139017139018139019139020139021139022139023139024139025139026139027139028139029139030139031139032139033139034139035139036139037139038139039139040139041139042139043139044139045139046139047139048139049139050139051139052139053139054139055139056139057139058139059139060139061139062139063139064139065139066139067139068139069139070139071139072139073139074139075139076139077139078139079139080139081139082139083139084139085139086139087139088139089139090139091139092139093139094139095139096139097139098139099139100139101139102139103139104139105139106139107139108139109139110139111139112139113139114139115139116139117139118139119139120139121139122139123139124139125139126139127139128139129139130139131139132139133139134139135139136139137139138139139139140139141139142139143139144139145139146139147139148139149139150139151139152139153139154139155139156139157139158139159139160139161139162139163139164139165139166139167139168139169139170139171139172139173139174139175139176139177139178139179139180139181139182139183139184139185139186139187139188139189139190139191139192139193139194139195139196139197139198139199139200139201139202139203139204139205139206139207139208139209139210139211139212139213139214139215139216139217139218139219139220139221139222139223139224139225139226139227139228139229139230139231139232139233139234139235139236139237139238139239139240139241139242139243139244139245139246139247139248139249139250139251139252139253139254139255139256139257139258139259139260139261139262139263139264139265139266139267139268139269139270139271139272139273139274139275139276139277139278139279139280139281139282139283139284139285139286139287139288139289139290139291139292139293139294139295139296139297139298139299139300139301139302139303139304139305139306139307139308139309139310139311139312139313139314139315139316139317139318139319139320139321139322139323139324139325139326139327139328139329139330139331139332139333139334139335139336139337139338139339139340139341139342139343139344139345139346139347139348139349139350139351139352139353139354139355139356139357139358139359139360139361139362139363139364139365139366139367139368139369139370139371139372139373139374139375139376139377139378139379139380139381139382139383139384139385139386139387139388139389139390139391139392139393139394139395139396139397139398139399139400139401139402139403139404139405139406139407139408139409139410139411139412139413139414139415139416139417139418139419139420139421139422139423139424139425139426139427139428139429139430139431139432139433139434139435139436139437139438139439139440139441139442139443139444139445139446139447139448139449139450139451139452139453139454139455139456139457139458139459139460139461139462139463139464139465139466139467139468139469139470139471139472139473139474139475139476139477139478139479139480139481139482139483139484139485139486139487139488139489139490139491139492139493139494139495139496139497139498139499139500139501139502139503139504139505139506139507139508139509139510139511139512139513139514139515139516139517139518139519139520139521139522139523139524139525139526139527139528139529139530139531139532139533139534139535139536139537139538139539139540139541139542139543139544139545139546139547139548139549139550139551139552139553139554139555139556139557139558139559139560139561139562139563139564139565139566139567139568139569139570139571139572139573139574139575139576139577139578139579139580139581139582139583139584139585139586139587139588139589139590139591139592139593139594139595139596139597139598139599139600139601139602139603139604139605139606139607139608139609139610139611139612139613139614139615139616139617139618139619139620139621139622139623139624139625139626139627139628139629139630139631139632139633139634139635139636139637139638139639139640139641139642139643139644139645139646139647139648139649139650139651139652139653139654139655139656139657139658139659139660139661139662139663139664139665139666139667139668139669139670139671139672139673139674139675139676139677139678139679139680139681139682139683139684139685139686139687139688139689139690139691139692139693139694139695139696139697139698139699139700139701139702139703139704139705139706139707139708139709139710139711139712139713139714139715139716139717139718139719139720139721139722139723139724139725139726139727139728139729139730139731139732139733139734139735139736139737139738139739139740139741139742139743139744139745139746139747139748139749139750139751139752139753139754139755139756139757139758139759139760139761139762139763139764139765139766139767139768139769139770139771139772139773139774139775139776139777139778139779139780139781139782139783139784139785139786139787139788139789139790139791139792139793139794139795139796139797139798139799139800139801139802139803139804139805139806139807139808139809139810139811139812139813139814139815139816139817139818139819139820139821139822139823139824139825139826139827139828139829139830139831139832139833139834139835139836139837139838139839139840139841139842139843139844139845139846139847139848139849139850139851139852139853139854139855139856139857139858139859139860139861139862139863139864139865139866139867139868139869139870139871139872139873139874139875139876139877139878139879139880139881139882139883139884139885139886139887139888139889139890139891139892139893139894139895139896139897139898139899139900139901139902139903139904139905139906139907139908139909139910139911139912139913139914139915139916139917139918139919139920139921139922139923139924139925139926139927139928139929139930139931139932139933139934139935139936139937139938139939139940139941139942139943139944139945139946139947139948139949139950139951139952139953139954139955139956139957139958139959139960139961139962139963139964139965139966139967139968139969139970139971139972139973139974139975139976139977139978139979139980139981139982139983139984139985139986139987139988139989139990139991139992139993139994139995139996139997139998139999140000140001140002140003140004140005140006140007140008140009140010140011140012140013140014140015140016140017140018140019140020140021140022140023140024140025140026140027140028140029140030140031140032140033140034140035140036140037140038140039140040140041140042140043140044140045140046140047140048140049140050140051140052140053140054140055140056140057140058140059140060140061140062140063140064140065140066140067140068140069140070140071140072140073140074140075140076140077140078140079140080140081140082140083140084140085140086140087140088140089140090140091140092140093140094140095140096140097140098140099140100140101140102140103140104140105140106140107140108140109140110140111140112140113140114140115140116140117140118140119140120140121140122140123140124140125140126140127140128140129140130140131140132140133140134140135140136140137140138140139140140140141140142140143140144140145140146140147140148140149140150140151140152140153140154140155140156140157140158140159140160140161140162140163140164140165140166140167140168140169140170140171140172140173140174140175140176140177140178140179140180140181140182140183140184140185140186140187140188140189140190140191140192140193140194140195140196140197140198140199140200140201140202140203140204140205140206140207140208140209140210140211140212140213140214140215140216140217140218140219140220140221140222140223140224140225140226140227140228140229140230140231140232140233140234140235140236140237140238140239140240140241140242140243140244140245140246140247140248140249140250140251140252140253140254140255140256140257140258140259140260140261140262140263140264140265140266140267140268140269140270140271140272140273140274140275140276140277140278140279140280140281140282140283140284140285140286140287140288140289140290140291140292140293140294140295140296140297140298140299140300140301140302140303140304140305140306140307140308140309140310140311140312140313140314140315140316140317140318140319140320140321140322140323140324140325140326140327140328140329140330140331140332140333140334140335140336140337140338140339140340140341140342140343140344140345140346140347140348140349140350140351140352140353140354140355140356140357140358140359140360140361140362140363140364140365140366140367140368140369140370140371140372140373140374140375140376140377140378140379140380140381140382140383140384140385140386140387140388140389140390140391140392140393140394140395140396140397140398140399140400140401140402140403140404140405140406140407140408140409140410140411140412140413140414140415140416140417140418140419140420140421140422140423140424140425140426140427140428140429140430140431140432140433140434140435140436140437140438140439140440140441140442140443140444140445140446140447140448140449140450140451140452140453140454140455140456140457140458140459140460140461140462140463140464140465140466140467140468140469140470140471140472140473140474140475140476140477140478140479140480140481140482140483140484140485140486140487140488140489140490140491140492140493140494140495140496140497140498140499140500140501140502140503140504140505140506140507140508140509140510140511140512140513140514140515140516140517140518140519140520140521140522140523140524140525140526140527140528140529140530140531140532140533140534140535140536140537140538140539140540140541140542140543140544140545140546140547140548140549140550140551140552140553140554140555140556140557140558140559140560140561140562140563140564140565140566140567140568140569140570140571140572140573140574140575140576140577140578140579140580140581140582140583140584140585140586140587140588140589140590140591140592140593140594140595140596140597140598140599140600140601140602140603140604140605140606140607140608140609140610140611140612140613140614140615140616140617140618140619140620140621140622140623140624140625140626140627140628140629140630140631140632140633140634140635140636140637140638140639140640140641140642140643140644140645140646140647140648140649140650140651140652140653140654140655140656140657140658140659140660140661140662140663140664140665140666140667140668140669140670140671140672140673140674140675140676140677140678140679140680140681140682140683140684140685140686140687140688140689140690140691140692140693140694140695140696140697140698140699140700140701140702140703140704140705140706140707140708140709140710140711140712140713140714140715140716140717140718140719140720140721140722140723140724140725140726140727140728140729140730140731140732140733140734140735140736140737140738140739140740140741140742140743140744140745140746140747140748140749140750140751140752140753140754140755140756140757140758140759140760140761140762140763140764140765140766140767140768140769140770140771140772140773140774140775140776140777140778140779140780140781140782140783140784140785140786140787140788140789140790140791140792140793140794140795140796140797140798140799140800140801140802140803140804140805140806140807140808140809140810140811140812140813140814140815140816140817140818140819140820140821140822140823140824140825140826140827140828140829140830140831140832140833140834140835140836140837140838140839140840140841140842140843140844140845140846140847140848140849140850140851140852140853140854140855140856140857140858140859140860140861140862140863140864140865140866140867140868140869140870140871140872140873140874140875140876140877140878140879140880140881140882140883140884140885140886140887140888140889140890140891140892140893140894140895140896140897140898140899140900140901140902140903140904140905140906140907140908140909140910140911140912140913140914140915140916140917140918140919140920140921140922140923140924140925140926140927140928140929140930140931140932140933140934140935140936140937140938140939140940140941140942140943140944140945140946140947140948140949140950140951140952140953140954140955140956140957140958140959140960140961140962140963140964140965140966140967140968140969140970140971140972140973140974140975140976140977140978140979140980140981140982140983140984140985140986140987140988140989140990140991140992140993140994140995140996140997140998140999141000141001141002141003141004141005141006141007141008141009141010141011141012141013141014141015141016141017141018141019141020141021141022141023141024141025141026141027141028141029141030141031141032141033141034141035141036141037141038141039141040141041141042141043141044141045141046141047141048141049141050141051141052141053141054141055141056141057141058141059141060141061141062141063141064141065141066141067141068141069141070141071141072141073141074141075141076141077141078141079141080141081141082141083141084141085141086141087141088141089141090141091141092141093141094141095141096141097141098141099141100141101141102141103141104141105141106141107141108141109141110141111141112141113141114141115141116141117141118141119141120141121141122141123141124141125141126141127141128141129141130141131141132141133141134141135141136141137141138141139141140141141141142141143141144141145141146141147141148141149141150141151141152141153141154141155141156141157141158141159141160141161141162141163141164141165141166141167141168141169141170141171141172141173141174141175141176141177141178141179141180141181141182141183141184141185141186141187141188141189141190141191141192141193141194141195141196141197141198141199141200141201141202141203141204141205141206141207141208141209141210141211141212141213141214141215141216141217141218141219141220141221141222141223141224141225141226141227141228141229141230141231141232141233141234141235141236141237141238141239141240141241141242141243141244141245141246141247141248141249141250141251141252141253141254141255141256141257141258141259141260141261141262141263141264141265141266141267141268141269141270141271141272141273141274141275141276141277141278141279141280141281141282141283141284141285141286141287141288141289141290141291141292141293141294141295141296141297141298141299141300141301141302141303141304141305141306141307141308141309141310141311141312141313141314141315141316141317141318141319141320141321141322141323141324141325141326141327141328141329141330141331141332141333141334141335141336141337141338141339141340141341141342141343141344141345141346141347141348141349141350141351141352141353141354141355141356141357141358141359141360141361141362141363141364141365141366141367141368141369141370141371141372141373141374141375141376141377141378141379141380141381141382141383141384141385141386141387141388141389141390141391141392141393141394141395141396141397141398141399141400141401141402141403141404141405141406141407141408141409141410141411141412141413141414141415141416141417141418141419141420141421141422141423141424141425141426141427141428141429141430141431141432141433141434141435141436141437141438141439141440141441141442141443141444141445141446141447141448141449141450141451141452141453141454141455141456141457141458141459141460141461141462141463141464141465141466141467141468141469141470141471141472141473141474141475141476141477141478141479141480141481141482141483141484141485141486141487141488141489141490141491141492141493141494141495141496141497141498141499141500141501141502141503141504141505141506141507141508141509141510141511141512141513141514141515141516141517141518141519141520141521141522141523141524141525141526141527141528141529141530141531141532141533141534141535141536141537141538141539141540141541141542141543141544141545141546141547141548141549141550141551141552141553141554141555141556141557141558141559141560141561141562141563141564141565141566141567141568141569141570141571141572141573141574141575141576141577141578141579141580141581141582141583141584141585141586141587141588141589141590141591141592141593141594141595141596141597141598141599141600141601141602141603141604141605141606141607141608141609141610141611141612141613141614141615141616141617141618141619141620141621141622141623141624141625141626141627141628141629141630141631141632141633141634141635141636141637141638141639141640141641141642141643141644141645141646141647141648141649141650141651141652141653141654141655141656141657141658141659141660141661141662141663141664141665141666141667141668141669141670141671141672141673141674141675141676141677141678141679141680141681141682141683141684141685141686141687141688141689141690141691141692141693141694141695141696141697141698141699141700141701141702141703141704141705141706141707141708141709141710141711141712141713141714141715141716141717141718141719141720141721141722141723141724141725141726141727141728141729141730141731141732141733141734141735141736141737141738141739141740141741141742141743141744141745141746141747141748141749141750141751141752141753141754141755141756141757141758141759141760141761141762141763141764141765141766141767141768141769141770141771141772141773141774141775141776141777141778141779141780141781141782141783141784141785141786141787141788141789141790141791141792141793141794141795141796141797141798141799141800141801141802141803141804141805141806141807141808141809141810141811141812141813141814141815141816141817141818141819141820141821141822141823141824141825141826141827141828141829141830141831141832141833141834141835141836141837141838141839141840141841141842141843141844141845141846141847141848141849141850141851141852141853141854141855141856141857141858141859141860141861141862141863141864141865141866141867141868141869141870141871141872141873141874141875141876141877141878141879141880141881141882141883141884141885141886141887141888141889141890141891141892141893141894141895141896141897141898141899141900141901141902141903141904141905141906141907141908141909141910141911141912141913141914141915141916141917141918141919141920141921141922141923141924141925141926141927141928141929141930141931141932141933141934141935141936141937141938141939141940141941141942141943141944141945141946141947141948141949141950141951141952141953141954141955141956141957141958141959141960141961141962141963141964141965141966141967141968141969141970141971141972141973141974141975141976141977141978141979141980141981141982141983141984141985141986141987141988141989141990141991141992141993141994141995141996141997141998141999142000142001142002142003142004142005142006142007142008142009142010142011142012142013142014142015142016142017142018142019142020142021142022142023142024142025142026142027142028142029142030142031142032142033142034142035142036142037142038142039142040142041142042142043142044142045142046142047142048142049142050142051142052142053142054142055142056142057142058142059142060142061142062142063142064142065142066142067142068142069142070142071142072142073142074142075142076142077142078142079142080142081142082142083142084142085142086142087142088142089142090142091142092142093142094142095142096142097142098142099142100142101142102142103142104142105142106142107142108142109142110142111142112142113142114142115142116142117142118142119142120142121142122142123142124142125142126142127142128142129142130142131142132142133142134142135142136142137142138142139142140142141142142142143142144142145142146142147142148142149142150142151142152142153142154142155142156142157142158142159142160142161142162142163142164142165142166142167142168142169142170142171142172142173142174142175142176142177142178142179142180142181142182142183142184142185142186142187142188142189142190142191142192142193142194142195142196142197142198142199142200142201142202142203142204142205142206142207142208142209142210142211142212142213142214142215142216142217142218142219142220142221142222142223142224142225142226142227142228142229142230142231142232142233142234142235142236142237142238142239142240142241142242142243142244142245142246142247142248142249142250142251142252142253142254142255142256142257142258142259142260142261142262142263142264142265142266142267142268142269142270142271142272142273142274142275142276142277142278142279142280142281142282142283142284142285142286142287142288142289142290142291142292142293142294142295142296142297142298142299142300142301142302142303142304142305142306142307142308142309142310142311142312142313142314142315142316142317142318142319142320142321142322142323142324142325142326142327142328142329142330142331142332142333142334142335142336142337142338142339142340142341142342142343142344142345142346142347142348142349142350142351142352142353142354142355142356142357142358142359142360142361142362142363142364142365142366142367142368142369142370142371142372142373142374142375142376142377142378142379142380142381142382142383142384142385142386142387142388142389142390142391142392142393142394142395142396142397142398142399142400142401142402142403142404142405142406142407142408142409142410142411142412142413142414142415142416142417142418142419142420142421142422142423142424142425142426142427142428142429142430142431142432142433142434142435142436142437142438142439142440142441142442142443142444142445142446142447142448142449142450142451142452142453142454142455142456142457142458142459142460142461142462142463142464142465142466142467142468142469142470142471142472142473142474142475142476142477142478142479142480142481142482142483142484142485142486142487142488142489142490142491142492142493142494142495142496142497142498142499142500142501142502142503142504142505142506142507142508142509142510142511142512142513142514142515142516142517142518142519142520142521142522142523142524142525142526142527142528142529142530142531142532142533142534142535142536142537142538142539142540142541142542142543142544142545142546142547142548142549142550142551142552142553142554142555142556142557142558142559142560142561142562142563142564142565142566142567142568142569142570142571142572142573142574142575142576142577142578142579142580142581142582142583142584142585142586142587142588142589142590142591142592142593142594142595142596142597142598142599142600142601142602142603142604142605142606142607142608142609142610142611142612142613142614142615142616142617142618142619142620142621142622142623142624142625142626142627142628142629142630142631142632142633142634142635142636142637142638142639142640142641142642142643142644142645142646142647142648142649142650142651142652142653142654142655142656142657142658142659142660142661142662142663142664142665142666142667142668142669142670142671142672142673142674142675142676142677142678142679142680142681142682142683142684142685142686142687142688142689142690142691142692142693142694142695142696142697142698142699142700142701142702142703142704142705142706142707142708142709142710142711142712142713142714142715142716142717142718142719142720142721142722142723142724142725142726142727142728142729142730142731142732142733142734142735142736142737142738142739142740142741142742142743142744142745142746142747142748142749142750142751142752142753142754142755142756142757142758142759142760142761142762142763142764142765142766142767142768142769142770142771142772142773142774142775142776142777142778142779142780142781142782142783142784142785142786142787142788142789142790142791142792142793142794142795142796142797142798142799142800142801142802142803142804142805142806142807142808142809142810142811142812142813142814142815142816142817142818142819142820142821142822142823142824142825142826142827142828142829142830142831142832142833142834142835142836142837142838142839142840142841142842142843142844142845142846142847142848142849142850142851142852142853142854142855142856142857142858142859142860142861142862142863142864142865142866142867142868142869142870142871142872142873142874142875142876142877142878142879142880142881142882142883142884142885142886142887142888142889142890142891142892142893142894142895142896142897142898142899142900142901142902142903142904142905142906142907142908142909142910142911142912142913142914142915142916142917142918142919142920142921142922142923142924142925142926142927142928142929142930142931142932142933142934142935142936142937142938142939142940142941142942142943142944142945142946142947142948142949142950142951142952142953142954142955142956142957142958142959142960142961142962142963142964142965142966142967142968142969142970142971142972142973142974142975142976142977142978142979142980142981142982142983142984142985142986142987142988142989142990142991142992142993142994142995142996142997142998142999143000143001143002143003143004143005143006143007143008143009143010143011143012143013143014143015143016143017143018143019143020143021143022143023143024143025143026143027143028143029143030143031143032143033143034143035143036143037143038143039143040143041143042143043143044143045143046143047143048143049143050143051143052143053143054143055143056143057143058143059143060143061143062143063143064143065143066143067143068143069143070143071143072143073143074143075143076143077143078143079143080143081143082143083143084143085143086143087143088143089143090143091143092143093143094143095143096143097143098143099143100143101143102143103143104143105143106143107143108143109143110143111143112143113143114143115143116143117143118143119143120143121143122143123143124143125143126143127143128143129143130143131143132143133143134143135143136143137143138143139143140143141143142143143143144143145143146143147143148143149143150143151143152143153143154143155143156143157143158143159143160143161143162143163143164143165143166143167143168143169143170143171143172143173143174143175143176143177143178143179143180143181143182143183143184143185143186143187143188143189143190143191143192143193143194143195143196143197143198143199143200143201143202143203143204143205143206143207143208143209143210143211143212143213143214143215143216143217143218143219143220143221143222143223143224143225143226143227143228143229143230143231143232143233143234143235143236143237143238143239143240143241143242143243143244143245143246143247143248143249143250143251143252143253143254143255143256143257143258143259143260143261143262143263143264143265143266143267143268143269143270143271143272143273143274143275143276143277143278143279143280143281143282143283143284143285143286143287143288143289143290143291143292143293143294143295143296143297143298143299143300143301143302143303143304143305143306143307143308143309143310143311143312143313143314143315143316143317143318143319143320143321143322143323143324143325143326143327143328143329143330143331143332143333143334143335143336143337143338143339143340143341143342143343143344143345143346143347143348143349143350143351143352143353143354143355143356143357143358143359143360143361143362143363143364143365143366143367143368143369143370143371143372143373143374143375143376143377143378143379143380143381143382143383143384143385143386143387143388143389143390143391143392143393143394143395143396143397143398143399143400143401143402143403143404143405143406143407143408143409143410143411143412143413143414143415143416143417143418143419143420143421143422143423143424143425143426143427143428143429143430143431143432143433143434143435143436143437143438143439143440143441143442143443143444143445143446143447143448143449143450143451143452143453143454143455143456143457143458143459143460143461143462143463143464143465143466143467143468143469143470143471143472143473143474143475143476143477143478143479143480143481143482143483143484143485143486143487143488143489143490143491143492143493143494143495143496143497143498143499143500143501143502143503143504143505143506143507143508143509143510143511143512143513143514143515143516143517143518143519143520143521143522143523143524143525143526143527143528143529143530143531143532143533143534143535143536143537143538143539143540143541143542143543143544143545143546143547143548143549143550143551143552143553143554143555143556143557143558143559143560143561143562143563143564143565143566143567143568143569143570143571143572143573143574143575143576143577143578143579143580143581143582143583143584143585143586143587143588143589143590143591143592143593143594143595143596143597143598143599143600143601143602143603143604143605143606143607143608143609143610143611143612143613143614143615143616143617143618143619143620143621143622143623143624143625143626143627143628143629143630143631143632143633143634143635143636143637143638143639143640143641143642143643143644143645143646143647143648143649143650143651143652143653143654143655143656143657143658143659143660143661143662143663143664143665143666143667143668143669143670143671143672143673143674143675143676143677143678143679143680143681143682143683143684143685143686143687143688143689143690143691143692143693143694143695143696143697143698143699143700143701143702143703143704143705143706143707143708143709143710143711143712143713143714143715143716143717143718143719143720143721143722143723143724143725143726143727143728143729143730143731143732143733143734143735143736143737143738143739143740143741143742143743143744143745143746143747143748143749143750143751143752143753143754143755143756143757143758143759143760143761143762143763143764143765143766143767143768143769143770143771143772143773143774143775143776143777143778143779143780143781143782143783143784143785143786143787143788143789143790143791143792143793143794143795143796143797143798143799143800143801143802143803143804143805143806143807143808143809143810143811143812143813143814143815143816143817143818143819143820143821143822143823143824143825143826143827143828143829143830143831143832143833143834143835143836143837143838143839143840143841143842143843143844143845143846143847143848143849143850143851143852143853143854143855143856143857143858143859143860143861143862143863143864143865143866143867143868143869143870143871143872143873143874143875143876143877143878143879143880143881143882143883143884143885143886143887143888143889143890143891143892143893143894143895143896143897143898143899143900143901143902143903143904143905143906143907143908143909143910143911143912143913143914143915143916143917143918143919143920143921143922143923143924143925143926143927143928143929143930143931143932143933143934143935143936143937143938143939143940143941143942143943143944143945143946143947143948143949143950143951143952143953143954143955143956143957143958143959143960143961143962143963143964143965143966143967143968143969143970143971143972143973143974143975143976143977143978143979143980143981143982143983143984143985143986143987143988143989143990143991143992143993143994143995143996143997143998143999144000144001144002144003144004144005144006144007144008144009144010144011144012144013144014144015144016144017144018144019144020144021144022144023144024144025144026144027144028144029144030144031144032144033144034144035144036144037144038144039144040144041144042144043144044144045144046144047144048144049144050144051144052144053144054144055144056144057144058144059144060144061144062144063144064144065144066144067144068144069144070144071144072144073144074144075144076144077144078144079144080144081144082144083144084144085144086144087144088144089144090144091144092144093144094144095144096144097144098144099144100144101144102144103144104144105144106144107144108144109144110144111144112144113144114144115144116144117144118144119144120144121144122144123144124144125144126144127144128144129144130144131144132144133144134144135144136144137144138144139144140144141144142144143144144144145144146144147144148144149144150144151144152144153144154144155144156144157144158144159144160144161144162144163144164144165144166144167144168144169144170144171144172144173144174144175144176144177144178144179144180144181144182144183144184144185144186144187144188144189144190144191144192144193144194144195144196144197144198144199144200144201144202144203144204144205144206144207144208144209144210144211144212144213144214144215144216144217144218144219144220144221144222144223144224144225144226144227144228144229144230144231144232144233144234144235144236144237144238144239144240144241144242144243144244144245144246144247144248144249144250144251144252144253144254144255144256144257144258144259144260144261144262144263144264144265144266144267144268144269144270144271144272144273144274144275144276144277144278144279144280144281144282144283144284144285144286144287144288144289144290144291144292144293144294144295144296144297144298144299144300144301144302144303144304144305144306144307144308144309144310144311144312144313144314144315144316144317144318144319144320144321144322144323144324144325144326144327144328144329144330144331144332144333144334144335144336144337144338144339144340144341144342144343144344144345144346144347144348144349144350144351144352144353144354144355144356144357144358144359144360144361144362144363144364144365144366144367144368144369144370144371144372144373144374144375144376144377144378144379144380144381144382144383144384144385144386144387144388144389144390144391144392144393144394144395144396144397144398144399144400144401144402144403144404144405144406144407144408144409144410144411144412144413144414144415144416144417144418144419144420144421144422144423144424144425144426144427144428144429144430144431144432144433144434144435144436144437144438144439144440144441144442144443144444144445144446144447144448144449144450144451144452144453144454144455144456144457144458144459144460144461144462144463144464144465144466144467144468144469144470144471144472144473144474144475144476144477144478144479144480144481144482144483144484144485144486144487144488144489144490144491144492144493144494144495144496144497144498144499144500144501144502144503144504144505144506144507144508144509144510144511144512144513144514144515144516144517144518144519144520144521144522144523144524144525144526144527144528144529144530144531144532144533144534144535144536144537144538144539144540144541144542144543144544144545144546144547144548144549144550144551144552144553144554144555144556144557144558144559144560144561144562144563144564144565144566144567144568144569144570144571144572144573144574144575144576144577144578144579144580144581144582144583144584144585144586144587144588144589144590144591144592144593144594144595144596144597144598144599144600144601144602144603144604144605144606144607144608144609144610144611144612144613144614144615144616144617144618144619144620144621144622144623144624144625144626144627144628144629144630144631144632144633144634144635144636144637144638144639144640144641144642144643144644144645144646144647144648144649144650144651144652144653144654144655144656144657144658144659144660144661144662144663144664144665144666144667144668144669144670144671144672144673144674144675144676144677144678144679144680144681144682144683144684144685144686144687144688144689144690144691144692144693144694144695144696144697144698144699144700144701144702144703144704144705144706144707144708144709144710144711144712144713144714144715144716144717144718144719144720144721144722144723144724144725144726144727144728144729144730144731144732144733144734144735144736144737144738144739144740144741144742144743144744144745144746144747144748144749144750144751144752144753144754144755144756144757144758144759144760144761144762144763144764144765144766144767144768144769144770144771144772144773144774144775144776144777144778144779144780144781144782144783144784144785144786144787144788144789144790144791144792144793144794144795144796144797144798144799144800144801144802144803144804144805144806144807144808144809144810144811144812144813144814144815144816144817144818144819144820144821144822144823144824144825144826144827144828144829144830144831144832144833144834144835144836144837144838144839144840144841144842144843144844144845144846144847144848144849144850144851144852144853144854144855144856144857144858144859144860144861144862144863144864144865144866144867144868144869144870144871144872144873144874144875144876144877144878144879144880144881144882144883144884144885144886144887144888144889144890144891144892144893144894144895144896144897144898144899144900144901144902144903144904144905144906144907144908144909144910144911144912144913144914144915144916144917144918144919144920144921144922144923144924144925144926144927144928144929144930144931144932144933144934144935144936144937144938144939144940144941144942144943144944144945144946144947144948144949144950144951144952144953144954144955144956144957144958144959144960144961144962144963144964144965144966144967144968144969144970144971144972144973144974144975144976144977144978144979144980144981144982144983144984144985144986144987144988144989144990144991144992144993144994144995144996144997144998144999145000145001145002145003145004145005145006145007145008145009145010145011145012145013145014145015145016145017145018145019145020145021145022145023145024145025145026145027145028145029145030145031145032145033145034145035145036145037145038145039145040145041145042145043145044145045145046145047145048145049145050145051145052145053145054145055145056145057145058145059145060145061145062145063145064145065145066145067145068145069145070145071145072145073145074145075145076145077145078145079145080145081145082145083145084145085145086145087145088145089145090145091145092145093145094145095145096145097145098145099145100145101145102145103145104145105145106145107145108145109145110145111145112145113145114145115145116145117145118145119145120145121145122145123145124145125145126145127145128145129145130145131145132145133145134145135145136145137145138145139145140145141145142145143145144145145145146145147145148145149145150145151145152145153145154145155145156145157145158145159145160145161145162145163145164145165145166145167145168145169145170145171145172145173145174145175145176145177145178145179145180145181145182145183145184145185145186145187145188145189145190145191145192145193145194145195145196145197145198145199145200145201145202145203145204145205145206145207145208145209145210145211145212145213145214145215145216145217145218145219145220145221145222145223145224145225145226145227145228145229145230145231145232145233145234145235145236145237145238145239145240145241145242145243145244145245145246145247145248145249145250145251145252145253145254145255145256145257145258145259145260145261145262145263145264145265145266145267145268145269145270145271145272145273145274145275145276145277145278145279145280145281145282145283145284145285145286145287145288145289145290145291145292145293145294145295145296145297145298145299145300145301145302145303145304145305145306145307145308145309145310145311145312145313145314145315145316145317145318145319145320145321145322145323145324145325145326145327145328145329145330145331145332145333145334145335145336145337145338145339145340145341145342145343145344145345145346145347145348145349145350145351145352145353145354145355145356145357145358145359145360145361145362145363145364145365145366145367145368145369145370145371145372145373145374145375145376145377145378145379145380145381145382145383145384145385145386145387145388145389145390145391145392145393145394145395145396145397145398145399145400145401145402145403145404145405145406145407145408145409145410145411145412145413145414145415145416145417145418145419145420145421145422145423145424145425145426145427145428145429145430145431145432145433145434145435145436145437145438145439145440145441145442145443145444145445145446145447145448145449145450145451145452145453145454145455145456145457145458145459145460145461145462145463145464145465145466145467145468145469145470145471145472145473145474145475145476145477145478145479145480145481145482145483145484145485145486145487145488145489145490145491145492145493145494145495145496145497145498145499145500145501145502145503145504145505145506145507145508145509145510145511145512145513145514145515145516145517145518145519145520145521145522145523145524145525145526145527145528145529145530145531145532145533145534145535145536145537145538145539145540145541145542145543145544145545145546145547145548145549145550145551145552145553145554145555145556145557145558145559145560145561145562145563145564145565145566145567145568145569145570145571145572145573145574145575145576145577145578145579145580145581145582145583145584145585145586145587145588145589145590145591145592145593145594145595145596145597145598145599145600145601145602145603145604145605145606145607145608145609145610145611145612145613145614145615145616145617145618145619145620145621145622145623145624145625145626145627145628145629145630145631145632145633145634145635145636145637145638145639145640145641145642145643145644145645145646145647145648145649145650145651145652145653145654145655145656145657145658145659145660145661145662145663145664145665145666145667145668145669145670145671145672145673145674145675145676145677145678145679145680145681145682145683145684145685145686145687145688145689145690145691145692145693145694145695145696145697145698145699145700145701145702145703145704145705145706145707145708145709145710145711145712145713145714145715145716145717145718145719145720145721145722145723145724145725145726145727145728145729145730145731145732145733145734145735145736145737145738145739145740145741145742145743145744145745145746145747145748145749145750145751145752145753145754145755145756145757145758145759145760145761145762145763145764145765145766145767145768145769145770145771145772145773145774145775145776145777145778145779145780145781145782145783145784145785145786145787145788145789145790145791145792145793145794145795145796145797145798145799145800145801145802145803145804145805145806145807145808145809145810145811145812145813145814145815145816145817145818145819145820145821145822145823145824145825145826145827145828145829145830145831145832145833145834145835145836145837145838145839145840145841145842145843145844145845145846145847145848145849145850145851145852145853145854145855145856145857145858145859145860145861145862145863145864145865145866145867145868145869145870145871145872145873145874145875145876145877145878145879145880145881145882145883145884145885145886145887145888145889145890145891145892145893145894145895145896145897145898145899145900145901145902145903145904145905145906145907145908145909145910145911145912145913145914145915145916145917145918145919145920145921145922145923145924145925145926145927145928145929145930145931145932145933145934145935145936145937145938145939145940145941145942145943145944145945145946145947145948145949145950145951145952145953145954145955145956145957145958145959145960145961145962145963145964145965145966145967145968145969145970145971145972145973145974145975145976145977145978145979145980145981145982145983145984145985145986145987145988145989145990145991145992145993145994145995145996145997145998145999146000146001146002146003146004146005146006146007146008146009146010146011146012146013146014146015146016146017146018146019146020146021146022146023146024146025146026146027146028146029146030146031146032146033146034146035146036146037146038146039146040146041146042146043146044146045146046146047146048146049146050146051146052146053146054146055146056146057146058146059146060146061146062146063146064146065146066146067146068146069146070146071146072146073146074146075146076146077146078146079146080146081146082146083146084146085146086146087146088146089146090146091146092146093146094146095146096146097146098146099146100146101146102146103146104146105146106146107146108146109146110146111146112146113146114146115146116146117146118146119146120146121146122146123146124146125146126146127146128146129146130146131146132146133146134146135146136146137146138146139146140146141146142146143146144146145146146146147146148146149146150146151146152146153146154146155146156146157146158146159146160146161146162146163146164146165146166146167146168146169146170146171146172146173146174146175146176146177146178146179146180146181146182146183146184146185146186146187146188146189146190146191146192146193146194146195146196146197146198146199146200146201146202146203146204146205146206146207146208146209146210146211146212146213146214146215146216146217146218146219146220146221146222146223146224146225146226146227146228146229146230146231146232146233146234146235146236146237146238146239146240146241146242146243146244146245146246146247146248146249146250146251146252146253146254146255146256146257146258146259146260146261146262146263146264146265146266146267146268146269146270146271146272146273146274146275146276146277146278146279146280146281146282146283146284146285146286146287146288146289146290146291146292146293146294146295146296146297146298146299146300146301146302146303146304146305146306146307146308146309146310146311146312146313146314146315146316146317146318146319146320146321146322146323146324146325146326146327146328146329146330146331146332146333146334146335146336146337146338146339146340146341146342146343146344146345146346146347146348146349146350146351146352146353146354146355146356146357146358146359146360146361146362146363146364146365146366146367146368146369146370146371146372146373146374146375146376146377146378146379146380146381146382146383146384146385146386146387146388146389146390146391146392146393146394146395146396146397146398146399146400146401146402146403146404146405146406146407146408146409146410146411146412146413146414146415146416146417146418146419146420146421146422146423146424146425146426146427146428146429146430146431146432146433146434146435146436146437146438146439146440146441146442146443146444146445146446146447146448146449146450146451146452146453146454146455146456146457146458146459146460146461146462146463146464146465146466146467146468146469146470146471146472146473146474146475146476146477146478146479146480146481146482146483146484146485146486146487146488146489146490146491146492146493146494146495146496146497146498146499146500146501146502146503146504146505146506146507146508146509146510146511146512146513146514146515146516146517146518146519146520146521146522146523146524146525146526146527146528146529146530146531146532146533146534146535146536146537146538146539146540146541146542146543146544146545146546146547146548146549146550146551146552146553146554146555146556146557146558146559146560146561146562146563146564146565146566146567146568146569146570146571146572146573146574146575146576146577146578146579146580146581146582146583146584146585146586146587146588146589146590146591146592146593146594146595146596146597146598146599146600146601146602146603146604146605146606146607146608146609146610146611146612146613146614146615146616146617146618146619146620146621146622146623146624146625146626146627146628146629146630146631146632146633146634146635146636146637146638146639146640146641146642146643146644146645146646146647146648146649146650146651146652146653146654146655146656146657146658146659146660146661146662146663146664146665146666146667146668146669146670146671146672146673146674146675146676146677146678146679146680146681146682146683146684146685146686146687146688146689146690146691146692146693146694146695146696146697146698146699146700146701146702146703146704146705146706146707146708146709146710146711146712146713146714146715146716146717146718146719146720146721146722146723146724146725146726146727146728146729146730146731146732146733146734146735146736146737146738146739146740146741146742146743146744146745146746146747146748146749146750146751146752146753146754146755146756146757146758146759146760146761146762146763146764146765146766146767146768146769146770146771146772146773146774146775146776146777146778146779146780146781146782146783146784146785146786146787146788146789146790146791146792146793146794146795146796146797146798146799146800146801146802146803146804146805146806146807146808146809146810146811146812146813146814146815146816146817146818146819146820146821146822146823146824146825146826146827146828146829146830146831146832146833146834146835146836146837146838146839146840146841146842146843146844146845146846146847146848146849146850146851146852146853146854146855146856146857146858146859146860146861146862146863146864146865146866146867146868146869146870146871146872146873146874146875146876146877146878146879146880146881146882146883146884146885146886146887146888146889146890146891146892146893146894146895146896146897146898146899146900146901146902146903146904146905146906146907146908146909146910146911146912146913146914146915146916146917146918146919146920146921146922146923146924146925146926146927146928146929146930146931146932146933146934146935146936146937146938146939146940146941146942146943146944146945146946146947146948146949146950146951146952146953146954146955146956146957146958146959146960146961146962146963146964146965146966146967146968146969146970146971146972146973146974146975146976146977146978146979146980146981146982146983146984146985146986146987146988146989146990146991146992146993146994146995146996146997146998146999147000147001147002147003147004147005147006147007147008147009147010147011147012147013147014147015147016147017147018147019147020147021147022147023147024147025147026147027147028147029147030147031147032147033147034147035147036147037147038147039147040147041147042147043147044147045147046147047147048147049147050147051147052147053147054147055147056147057147058147059147060147061147062147063147064147065147066147067147068147069147070147071147072147073147074147075147076147077147078147079147080147081147082147083147084147085147086147087147088147089147090147091147092147093147094147095147096147097147098147099147100147101147102147103147104147105147106147107147108147109147110147111147112147113147114147115147116147117147118147119147120147121147122147123147124147125147126147127147128147129147130147131147132147133147134147135147136147137147138147139147140147141147142147143147144147145147146147147147148147149147150147151147152147153147154147155147156147157147158147159147160147161147162147163147164147165147166147167147168147169147170147171147172147173147174147175147176147177147178147179147180147181147182147183147184147185147186147187147188147189147190147191147192147193147194147195147196147197147198147199147200147201147202147203147204147205147206147207147208147209147210147211147212147213147214147215147216147217147218147219147220147221147222147223147224147225147226147227147228147229147230147231147232147233147234147235147236147237147238147239147240147241147242147243147244147245147246147247147248147249147250147251147252147253147254147255147256147257147258147259147260147261147262147263147264147265147266147267147268147269147270147271147272147273147274147275147276147277147278147279147280147281147282147283147284147285147286147287147288147289147290147291147292147293147294147295147296147297147298147299147300147301147302147303147304147305147306147307147308147309147310147311147312147313147314147315147316147317147318147319147320147321147322147323147324147325147326147327147328147329147330147331147332147333147334147335147336147337147338147339147340147341147342147343147344147345147346147347147348147349147350147351147352147353147354147355147356147357147358147359147360147361147362147363147364147365147366147367147368147369147370147371147372147373147374147375147376147377147378147379147380147381147382147383147384147385147386147387147388147389147390147391147392147393147394147395147396147397147398147399147400147401147402147403147404147405147406147407147408147409147410147411147412147413147414147415147416147417147418147419147420147421147422147423147424147425147426147427147428147429147430147431147432147433147434147435147436147437147438147439147440147441147442147443147444147445147446147447147448147449147450147451147452147453147454147455147456147457147458147459147460147461147462147463147464147465147466147467147468147469147470147471147472147473147474147475147476147477147478147479147480147481147482147483147484147485147486147487147488147489147490147491147492147493147494147495147496147497147498147499147500147501147502147503147504147505147506147507147508147509147510147511147512147513147514147515147516147517147518147519147520147521147522147523147524147525147526147527147528147529147530147531147532147533147534147535147536147537147538147539147540147541147542147543147544147545147546147547147548147549147550147551147552147553147554147555147556147557147558147559147560147561147562147563147564147565147566147567147568147569147570147571147572147573147574147575147576147577147578147579147580147581147582147583147584147585147586147587147588147589147590147591147592147593147594147595147596147597147598147599147600147601147602147603147604147605147606147607147608147609147610147611147612147613147614147615147616147617147618147619147620147621147622147623147624147625147626147627147628147629147630147631147632147633147634147635147636147637147638147639147640147641147642147643147644147645147646147647147648147649147650147651147652147653147654147655147656147657147658147659147660147661147662147663147664147665147666147667147668147669147670147671147672147673147674147675147676147677147678147679147680147681147682147683147684147685147686147687147688147689147690147691147692147693147694147695147696147697147698147699147700147701147702147703147704147705147706147707147708147709147710147711147712147713147714147715147716147717147718147719147720147721147722147723147724147725147726147727147728147729147730147731147732147733147734147735147736147737147738147739147740147741147742147743147744147745147746147747147748147749147750147751147752147753147754147755147756147757147758147759147760147761147762147763147764147765147766147767147768147769147770147771147772147773147774147775147776147777147778147779147780147781147782147783147784147785147786147787147788147789147790147791147792147793147794147795147796147797147798147799147800147801147802147803147804147805147806147807147808147809147810147811147812147813147814147815147816147817147818147819147820147821147822147823147824147825147826147827147828147829147830147831147832147833147834147835147836147837147838147839147840147841147842147843147844147845147846147847147848147849147850147851147852147853147854147855147856147857147858147859147860147861147862147863147864147865147866147867147868147869147870147871147872147873147874147875147876147877147878147879147880147881147882147883147884147885147886147887147888147889147890147891147892147893147894147895147896147897147898147899147900147901147902147903147904147905147906147907147908147909147910147911147912147913147914147915147916147917147918147919147920147921147922147923147924147925147926147927147928147929147930147931147932147933147934147935147936147937147938147939147940147941147942147943147944147945147946147947147948147949147950147951147952147953147954147955147956147957147958147959147960147961147962147963147964147965147966147967147968147969147970147971147972147973147974147975147976147977147978147979147980147981147982147983147984147985147986147987147988147989147990147991147992147993147994147995147996147997147998147999148000148001148002148003148004148005148006148007148008148009148010148011148012148013148014148015148016148017148018148019148020148021148022148023148024148025148026148027148028148029148030148031148032148033148034148035148036148037148038148039148040148041148042148043148044148045148046148047148048148049148050148051148052148053148054148055148056148057148058148059148060148061148062148063148064148065148066148067148068148069148070148071148072148073148074148075148076148077148078148079148080148081148082148083148084148085148086148087148088148089148090148091148092148093148094148095148096148097148098148099148100148101148102148103148104148105148106148107148108148109148110148111148112148113148114148115148116148117148118148119148120148121148122148123148124148125148126148127148128148129148130148131148132148133148134148135148136148137148138148139148140148141148142148143148144148145148146148147148148148149148150148151148152148153148154148155148156148157148158148159148160148161148162148163148164148165148166148167148168148169148170148171148172148173148174148175148176148177148178148179148180148181148182148183148184148185148186148187148188148189148190148191148192148193148194148195148196148197148198148199148200148201148202148203148204148205148206148207148208148209148210148211148212148213148214148215148216148217148218148219148220148221148222148223148224148225148226148227148228148229148230148231148232148233148234148235148236148237148238148239148240148241148242148243148244148245148246148247148248148249148250148251148252148253148254148255148256148257148258148259148260148261148262148263148264148265148266148267148268148269148270148271148272148273148274148275148276148277148278148279148280148281148282148283148284148285148286148287148288148289148290148291148292148293148294148295148296148297148298148299148300148301148302148303148304148305148306148307148308148309148310148311148312148313148314148315148316148317148318148319148320148321148322148323148324148325148326148327148328148329148330148331148332148333148334148335148336148337148338148339148340148341148342148343148344148345148346148347148348148349148350148351148352148353148354148355148356148357148358148359148360148361148362148363148364148365148366148367148368148369148370148371148372148373148374148375148376148377148378148379148380148381148382148383148384148385148386148387148388148389148390148391148392148393148394148395148396148397148398148399148400148401148402148403148404148405148406148407148408148409148410148411148412148413148414148415148416148417148418148419148420148421148422148423148424148425148426148427148428148429148430148431148432148433148434148435148436148437148438148439148440148441148442148443148444148445148446148447148448148449148450148451148452148453148454148455148456148457148458148459148460148461148462148463148464148465148466148467148468148469148470148471148472148473148474148475148476148477148478148479148480148481148482148483148484148485148486148487148488148489148490148491148492148493148494148495148496148497148498148499148500148501148502148503148504148505148506148507148508148509148510148511148512148513148514148515148516148517148518148519148520148521148522148523148524148525148526148527148528148529148530148531148532148533148534148535148536148537148538148539148540148541148542148543148544148545148546148547148548148549148550148551148552148553148554148555148556148557148558148559148560148561148562148563148564148565148566148567148568148569148570148571148572148573148574148575148576148577148578148579148580148581148582148583148584148585148586148587148588148589148590148591148592148593148594148595148596148597148598148599148600148601148602148603148604148605148606148607148608148609148610148611148612148613148614148615148616148617148618148619148620148621148622148623148624148625148626148627148628148629148630148631148632148633148634148635148636148637148638148639148640148641148642148643148644148645148646148647148648148649148650148651148652148653148654148655148656148657148658148659148660148661148662148663148664148665148666148667148668148669148670148671148672148673148674148675148676148677148678148679148680148681148682148683148684148685148686148687148688148689148690148691148692148693148694148695148696148697148698148699148700148701148702148703148704148705148706148707148708148709148710148711148712148713148714148715148716148717148718148719148720148721148722148723148724148725148726148727148728148729148730148731148732148733148734148735148736148737148738148739148740148741148742148743148744148745148746148747148748148749148750148751148752148753148754148755148756148757148758148759148760148761148762148763148764148765148766148767148768148769148770148771148772148773148774148775148776148777148778148779148780148781148782148783148784148785148786148787148788148789148790148791148792148793148794148795148796148797148798148799148800148801148802148803148804148805148806148807148808148809148810148811148812148813148814148815148816148817148818148819148820148821148822148823148824148825148826148827148828148829148830148831148832148833148834148835148836148837148838148839148840148841148842148843148844148845148846148847148848148849148850148851148852148853148854148855148856148857148858148859148860148861148862148863148864148865148866148867148868148869148870148871148872148873148874148875148876148877148878148879148880148881148882148883148884148885148886148887148888148889148890148891148892148893148894148895148896148897148898148899148900148901148902148903148904148905148906148907148908148909148910148911148912148913148914148915148916148917148918148919148920148921148922148923148924148925148926148927148928148929148930148931148932148933148934148935148936148937148938148939148940148941148942148943148944148945148946148947148948148949148950148951148952148953148954148955148956148957148958148959148960148961148962148963148964148965148966148967148968148969148970148971148972148973148974148975148976148977148978148979148980148981148982148983148984148985148986148987148988148989148990148991148992148993148994148995148996148997148998148999149000149001149002149003149004149005149006149007149008149009149010149011149012149013149014149015149016149017149018149019149020149021149022149023149024149025149026149027149028149029149030149031149032149033149034149035149036149037149038149039149040149041149042149043149044149045149046149047149048149049149050149051149052149053149054149055149056149057149058149059149060149061149062149063149064149065149066149067149068149069149070149071149072149073149074149075149076149077149078149079149080149081149082149083149084149085149086149087149088149089149090149091149092149093149094149095149096149097149098149099149100149101149102149103149104149105149106149107149108149109149110149111149112149113149114149115149116149117149118149119149120149121149122149123149124149125149126149127149128149129149130149131149132149133149134149135149136149137149138149139149140149141149142149143149144149145149146149147149148149149149150149151149152149153149154149155149156149157149158149159149160149161149162149163149164149165149166149167149168149169149170149171149172149173149174149175149176149177149178149179149180149181149182149183149184149185149186149187149188149189149190149191149192149193149194149195149196149197149198149199149200149201149202149203149204149205149206149207149208149209149210149211149212149213149214149215149216149217149218149219149220149221149222149223149224149225149226149227149228149229149230149231149232149233149234149235149236149237149238149239149240149241149242149243149244149245149246149247149248149249149250149251149252149253149254149255149256149257149258149259149260149261149262149263149264149265149266149267149268149269149270149271149272149273149274149275149276149277149278149279149280149281149282149283149284149285149286149287149288149289149290149291149292149293149294149295149296149297149298149299149300149301149302149303149304149305149306149307149308149309149310149311149312149313149314149315149316149317149318149319149320149321149322149323149324149325149326149327149328149329149330149331149332149333149334149335149336149337149338149339149340149341149342149343149344149345149346149347149348149349149350149351149352149353149354149355149356149357149358149359149360149361149362149363149364149365149366149367149368149369149370149371149372149373149374149375149376149377149378149379149380149381149382149383149384149385149386149387149388149389149390149391149392149393149394149395149396149397149398149399149400149401149402149403149404149405149406149407149408149409149410149411149412149413149414149415149416149417149418149419149420149421149422149423149424149425149426149427149428149429149430149431149432149433149434149435149436149437149438149439149440149441149442149443149444149445149446149447149448149449149450149451149452149453149454149455149456149457149458149459149460149461149462149463149464149465149466149467149468149469149470149471149472149473149474149475149476149477149478149479149480149481149482149483149484149485149486149487149488149489149490149491149492149493149494149495149496149497149498149499149500149501149502149503149504149505149506149507149508149509149510149511149512149513149514149515149516149517149518149519149520149521149522149523149524149525149526149527149528149529149530149531149532149533149534149535149536149537149538149539149540149541149542149543149544149545149546149547149548149549149550149551149552149553149554149555149556149557149558149559149560149561149562149563149564149565149566149567149568149569149570149571149572149573149574149575149576149577149578149579149580149581149582149583149584149585149586149587149588149589149590149591149592149593149594149595149596149597149598149599149600149601149602149603149604149605149606149607149608149609149610149611149612149613149614149615149616149617149618149619149620149621149622149623149624149625149626149627149628149629149630149631149632149633149634149635149636149637149638149639149640149641149642149643149644149645149646149647149648149649149650149651149652149653149654149655149656149657149658149659149660149661149662149663149664149665149666149667149668149669149670149671149672149673149674149675149676149677149678149679149680149681149682149683149684149685149686149687149688149689149690149691149692149693149694149695149696149697149698149699149700149701149702149703149704149705149706149707149708149709149710149711149712149713149714149715149716149717149718149719149720149721149722149723149724149725149726149727149728149729149730149731149732149733149734149735149736149737149738149739149740149741149742149743149744149745149746149747149748149749149750149751149752149753149754149755149756149757149758149759149760149761149762149763149764149765149766149767149768149769149770149771149772149773149774149775149776149777149778149779149780149781149782149783149784149785149786149787149788149789149790149791149792149793149794149795149796149797149798149799149800149801149802149803149804149805149806149807149808149809149810149811149812149813149814149815149816149817149818149819149820149821149822149823149824149825149826149827149828149829149830149831149832149833149834149835149836149837149838149839149840149841149842149843149844149845149846149847149848149849149850149851149852149853149854149855149856149857149858149859149860149861149862149863149864149865149866149867149868149869149870149871149872149873149874149875149876149877149878149879149880149881149882149883149884149885149886149887149888149889149890149891149892149893149894149895149896149897149898149899149900149901149902149903149904149905149906149907149908149909149910149911149912149913149914149915149916149917149918149919149920149921149922149923149924149925149926149927149928149929149930149931149932149933149934149935149936149937149938149939149940149941149942149943149944149945149946149947149948149949149950149951149952149953149954149955149956149957149958149959149960149961149962149963149964149965149966149967149968149969149970149971149972149973149974149975149976149977149978149979149980149981149982149983149984149985149986149987149988149989149990149991149992149993149994149995149996149997149998149999150000150001150002150003150004150005150006150007150008150009150010150011150012150013150014150015150016150017150018150019150020150021150022150023150024150025150026150027150028150029150030150031150032150033150034150035150036150037150038150039150040150041150042150043150044150045150046150047150048150049150050150051150052150053150054150055150056150057150058150059150060150061150062150063150064150065150066150067150068150069150070150071150072150073150074150075150076150077150078150079150080150081150082150083150084150085150086150087150088150089150090150091150092150093150094150095150096150097150098150099150100150101150102150103150104150105150106150107150108150109150110150111150112150113150114150115150116150117150118150119150120150121150122150123150124150125150126150127150128150129150130150131150132150133150134150135150136150137150138150139150140150141150142150143150144150145150146150147150148150149150150150151150152150153150154150155150156150157150158150159150160150161150162150163150164150165150166150167150168150169150170150171150172150173150174150175150176150177150178150179150180150181150182150183150184150185150186150187150188150189150190150191150192150193150194150195150196150197150198150199150200150201150202150203150204150205150206150207150208150209150210150211150212150213150214150215150216150217150218150219150220150221150222150223150224150225150226150227150228150229150230150231150232150233150234150235150236150237150238150239150240150241150242150243150244150245150246150247150248150249150250150251150252150253150254150255150256150257150258150259150260150261150262150263150264150265150266150267150268150269150270150271150272150273150274150275150276150277150278150279150280150281150282150283150284150285150286150287150288150289150290150291150292150293150294150295150296150297150298150299150300150301150302150303150304150305150306150307150308150309150310150311150312150313150314150315150316150317150318150319150320150321150322150323150324150325150326150327150328150329150330150331150332150333150334150335150336150337150338150339150340150341150342150343150344150345150346150347150348150349150350150351150352150353150354150355150356150357150358150359150360150361150362150363150364150365150366150367150368150369150370150371150372150373150374150375150376150377150378150379150380150381150382150383150384150385150386150387150388150389150390150391150392150393150394150395150396150397150398150399150400150401150402150403150404150405150406150407150408150409150410150411150412150413150414150415150416150417150418150419150420150421150422150423150424150425150426150427150428150429150430150431150432150433150434150435150436150437150438150439150440150441150442150443150444150445150446150447150448150449150450150451150452150453150454150455150456150457150458150459150460150461150462150463150464150465150466150467150468150469150470150471150472150473150474150475150476150477150478150479150480150481150482150483150484150485150486150487150488150489150490150491150492150493150494150495150496150497150498150499150500150501150502150503150504150505150506150507150508150509150510150511150512150513150514150515150516150517150518150519150520150521150522150523150524150525150526150527150528150529150530150531150532150533150534150535150536150537150538150539150540150541150542150543150544150545150546150547150548150549150550150551150552150553150554150555150556150557150558150559150560150561150562150563150564150565150566150567150568150569150570150571150572150573150574150575150576150577150578150579150580150581150582150583150584150585150586150587150588150589150590150591150592150593150594150595150596150597150598150599150600150601150602150603150604150605150606150607150608150609150610150611150612150613150614150615150616150617150618150619150620150621150622150623150624150625150626150627150628150629150630150631150632150633150634150635150636150637150638150639150640150641150642150643150644150645150646150647150648150649150650150651150652150653150654150655150656150657150658150659150660150661150662150663150664150665150666150667150668150669150670150671150672150673150674150675150676150677150678150679150680150681150682150683150684150685150686150687150688150689150690150691150692150693150694150695150696150697150698150699150700150701150702150703150704150705150706150707150708150709150710150711150712150713150714150715150716150717150718150719150720150721150722150723150724150725150726150727150728150729150730150731150732150733150734150735150736150737150738150739150740150741150742150743150744150745150746150747150748150749150750150751150752150753150754150755150756150757150758150759150760150761150762150763150764150765150766150767150768150769150770150771150772150773150774150775150776150777150778150779150780150781150782150783150784150785150786150787150788150789150790150791150792150793150794150795150796150797150798150799150800150801150802150803150804150805150806150807150808150809150810150811150812150813150814150815150816150817150818150819150820150821150822150823150824150825150826150827150828150829150830150831150832150833150834150835150836150837150838150839150840150841150842150843150844150845150846150847150848150849150850150851150852150853150854150855150856150857150858150859150860150861150862150863150864150865150866150867150868150869150870150871150872150873150874150875150876150877150878150879150880150881150882150883150884150885150886150887150888150889150890150891150892150893150894150895150896150897150898150899150900150901150902150903150904150905150906150907150908150909150910150911150912150913150914150915150916150917150918150919150920150921150922150923150924150925150926150927150928150929150930150931150932150933150934150935150936150937150938150939150940150941150942150943150944150945150946150947150948150949150950150951150952150953150954150955150956150957150958150959150960150961150962150963150964150965150966150967150968150969150970150971150972150973150974150975150976150977150978150979150980150981150982150983150984150985150986150987150988150989150990150991150992150993150994150995150996150997150998150999151000151001151002151003151004151005151006151007151008151009151010151011151012151013151014151015151016151017151018151019151020151021151022151023151024151025151026151027151028151029151030151031151032151033151034151035151036151037151038151039151040151041151042151043151044151045151046151047151048151049151050151051151052151053151054151055151056151057151058151059151060151061151062151063151064151065151066151067151068151069151070151071151072151073151074151075151076151077151078151079151080151081151082151083151084151085151086151087151088151089151090151091151092151093151094151095151096151097151098151099151100151101151102151103151104151105151106151107151108151109151110151111151112151113151114151115151116151117151118151119151120151121151122151123151124151125151126151127151128151129151130151131151132151133151134151135151136151137151138151139151140151141151142151143151144151145151146151147151148151149151150151151151152151153151154151155151156151157151158151159151160151161151162151163151164151165151166151167151168151169151170151171151172151173151174151175151176151177151178151179151180151181151182151183151184151185151186151187151188151189151190151191151192151193151194151195151196151197151198151199151200151201151202151203151204151205151206151207151208151209151210151211151212151213151214151215151216151217151218151219151220151221151222151223151224151225151226151227151228151229151230151231151232151233151234151235151236151237151238151239151240151241151242151243151244151245151246151247151248151249151250151251151252151253151254151255151256151257151258151259151260151261151262151263151264151265151266151267151268151269151270151271151272151273151274151275151276151277151278151279151280151281151282151283151284151285151286151287151288151289151290151291151292151293151294151295151296151297151298151299151300151301151302151303151304151305151306151307151308151309151310151311151312151313151314151315151316151317151318151319151320151321151322151323151324151325151326151327151328151329151330151331151332151333151334151335151336151337151338151339151340151341151342151343151344151345151346151347151348151349151350151351151352151353151354151355151356151357151358151359151360151361151362151363151364151365151366151367151368151369151370151371151372151373151374151375151376151377151378151379151380151381151382151383151384151385151386151387151388151389151390151391151392151393151394151395151396151397151398151399151400151401151402151403151404151405151406151407151408151409151410151411151412151413151414151415151416151417151418151419151420151421151422151423151424151425151426151427151428151429151430151431151432151433151434151435151436151437151438151439151440151441151442151443151444151445151446151447151448151449151450151451151452151453151454151455151456151457151458151459151460151461151462151463151464151465151466151467151468151469151470151471151472151473151474151475151476151477151478151479151480151481151482151483151484151485151486151487151488151489151490151491151492151493151494151495151496151497151498151499151500151501151502151503151504151505151506151507151508151509151510151511151512151513151514151515151516151517151518151519151520151521151522151523151524151525151526151527151528151529151530151531151532151533151534151535151536151537151538151539151540151541151542151543151544151545151546151547151548151549151550151551151552151553151554151555151556151557151558151559151560151561151562151563151564151565151566151567151568151569151570151571151572151573151574151575151576151577151578151579151580151581151582151583151584151585151586151587151588151589151590151591151592151593151594151595151596151597151598151599151600151601151602151603151604151605151606151607151608151609151610151611151612151613151614151615151616151617151618151619151620151621151622151623151624151625151626151627151628151629151630151631151632151633151634151635151636151637151638151639151640151641151642151643151644151645151646151647151648151649151650151651151652151653151654151655151656151657151658151659151660151661151662151663151664151665151666151667151668151669151670151671151672151673151674151675151676151677151678151679151680151681151682151683151684151685151686151687151688151689151690151691151692151693151694151695151696151697151698151699151700151701151702151703151704151705151706151707151708151709151710151711151712151713151714151715151716151717151718151719151720151721151722151723151724151725151726151727151728151729151730151731151732151733151734151735151736151737151738151739151740151741151742151743151744151745151746151747151748151749151750151751151752151753151754151755151756151757151758151759151760151761151762151763151764151765151766151767151768151769151770151771151772151773151774151775151776151777151778151779151780151781151782151783151784151785151786151787151788151789151790151791151792151793151794151795151796151797151798151799151800151801151802151803151804151805151806151807151808151809151810151811151812151813151814151815151816151817151818151819151820151821151822151823151824151825151826151827151828151829151830151831151832151833151834151835151836151837151838151839151840151841151842151843151844151845151846151847151848151849151850151851151852151853151854151855151856151857151858151859151860151861151862151863151864151865151866151867151868151869151870151871151872151873151874151875151876151877151878151879151880151881151882151883151884151885151886151887151888151889151890151891151892151893151894151895151896151897151898151899151900151901151902151903151904151905151906151907151908151909151910151911151912151913151914151915151916151917151918151919151920151921151922151923151924151925151926151927151928151929151930151931151932151933151934151935151936151937151938151939151940151941151942151943151944151945151946151947151948151949151950151951151952151953151954151955151956151957151958151959151960151961151962151963151964151965151966151967151968151969151970151971151972151973151974151975151976151977151978151979151980151981151982151983151984151985151986151987151988151989151990151991151992151993151994151995151996151997151998151999152000152001152002152003152004152005152006152007152008152009152010152011152012152013152014152015152016152017152018152019152020152021152022152023152024152025152026152027152028152029152030152031152032152033152034152035152036152037152038152039152040152041152042152043152044152045152046152047152048152049152050152051152052152053152054152055152056152057152058152059152060152061152062152063152064152065152066152067152068152069152070152071152072152073152074152075152076152077152078152079152080152081152082152083152084152085152086152087152088152089152090152091152092152093152094152095152096152097152098152099152100152101152102152103152104152105152106152107152108152109152110152111152112152113152114152115152116152117152118152119152120152121152122152123152124152125152126152127152128152129152130152131152132152133152134152135152136152137152138152139152140152141152142152143152144152145152146152147152148152149152150152151152152152153152154152155152156152157152158152159152160152161152162152163152164152165152166152167152168152169152170152171152172152173152174152175152176152177152178152179152180152181152182152183152184152185152186152187152188152189152190152191152192152193152194152195152196152197152198152199152200152201152202152203152204152205152206152207152208152209152210152211152212152213152214152215152216152217152218152219152220152221152222152223152224152225152226152227152228152229152230152231152232152233152234152235152236152237152238152239152240152241152242152243152244152245152246152247152248152249152250152251152252152253152254152255152256152257152258152259152260152261152262152263152264152265152266152267152268152269152270152271152272152273152274152275152276152277152278152279152280152281152282152283152284152285152286152287152288152289152290152291152292152293152294152295152296152297152298152299152300152301152302152303152304152305152306152307152308152309152310152311152312152313152314152315152316152317152318152319152320152321152322152323152324152325152326152327152328152329152330152331152332152333152334152335152336152337152338152339152340152341152342152343152344152345152346152347152348152349152350152351152352152353152354152355152356152357152358152359152360152361152362152363152364152365152366152367152368152369152370152371152372152373152374152375152376152377152378152379152380152381152382152383152384152385152386152387152388152389152390152391152392152393152394152395152396152397152398152399152400152401152402152403152404152405152406152407152408152409152410152411152412152413152414152415152416152417152418152419152420152421152422152423152424152425152426152427152428152429152430152431152432152433152434152435152436152437152438152439152440152441152442152443152444152445152446152447152448152449152450152451152452152453152454152455152456152457152458152459152460152461152462152463152464152465152466152467152468152469152470152471152472152473152474152475152476152477152478152479152480152481152482152483152484152485152486152487152488152489152490152491152492152493152494152495152496152497152498152499152500152501152502152503152504152505152506152507152508152509152510152511152512152513152514152515152516152517152518152519152520152521152522152523152524152525152526152527152528152529152530152531152532152533152534152535152536152537152538152539152540152541152542152543152544152545152546152547152548152549152550152551152552152553152554152555152556152557152558152559152560152561152562152563152564152565152566152567152568152569152570152571152572152573152574152575152576152577152578152579152580152581152582152583152584152585152586152587152588152589152590152591152592152593152594152595152596152597152598152599152600152601152602152603152604152605152606152607152608152609152610152611152612152613152614152615152616152617152618152619152620152621152622152623152624152625152626152627152628152629152630152631152632152633152634152635152636152637152638152639152640152641152642152643152644152645152646152647152648152649152650152651152652152653152654152655152656152657152658152659152660152661152662152663152664152665152666152667152668152669152670152671152672152673152674152675152676152677152678152679152680152681152682152683152684152685152686152687152688152689152690152691152692152693152694152695152696152697152698152699152700152701152702152703152704152705152706152707152708152709152710152711152712152713152714152715152716152717152718152719152720152721152722152723152724152725152726152727152728152729152730152731152732152733152734152735152736152737152738152739152740152741152742152743152744152745152746152747152748152749152750152751152752152753152754152755152756152757152758152759152760152761152762152763152764152765152766152767152768152769152770152771152772152773152774152775152776152777152778152779152780152781152782152783152784152785152786152787152788152789152790152791152792152793152794152795152796152797152798152799152800152801152802152803152804152805152806152807152808152809152810152811152812152813152814152815152816152817152818152819152820152821152822152823152824152825152826152827152828152829152830152831152832152833152834152835152836152837152838152839152840152841152842152843152844152845152846152847152848152849152850152851152852152853152854152855152856152857152858152859152860152861152862152863152864152865152866152867152868152869152870152871152872152873152874152875152876152877152878152879152880152881152882152883152884152885152886152887152888152889152890152891152892152893152894152895152896152897152898152899152900152901152902152903152904152905152906152907152908152909152910152911152912152913152914152915152916152917152918152919152920152921152922152923152924152925152926152927152928152929152930152931152932152933152934152935152936152937152938152939152940152941152942152943152944152945152946152947152948152949152950152951152952152953152954152955152956152957152958152959152960152961152962152963152964152965152966152967152968152969152970152971152972152973152974152975152976152977152978152979152980152981152982152983152984152985152986152987152988152989152990152991152992152993152994152995152996152997152998152999153000153001153002153003153004153005153006153007153008153009153010153011153012153013153014153015153016153017153018153019153020153021153022153023153024153025153026153027153028153029153030153031153032153033153034153035153036153037153038153039153040153041153042153043153044153045153046153047153048153049153050153051153052153053153054153055153056153057153058153059153060153061153062153063153064153065153066153067153068153069153070153071153072153073153074153075153076153077153078153079153080153081153082153083153084153085153086153087153088153089153090153091153092153093153094153095153096153097153098153099153100153101153102153103153104153105153106153107153108153109153110153111153112153113153114153115153116153117153118153119153120153121153122153123153124153125153126153127153128153129153130153131153132153133153134153135153136153137153138153139153140153141153142153143153144153145153146153147153148153149153150153151153152153153153154153155153156153157153158153159153160153161153162153163153164153165153166153167153168153169153170153171153172153173153174153175153176153177153178153179153180153181153182153183153184153185153186153187153188153189153190153191153192153193153194153195153196153197153198153199153200153201153202153203153204153205153206153207153208153209153210153211153212153213153214153215153216153217153218153219153220153221153222153223153224153225153226153227153228153229153230153231153232153233153234153235153236153237153238153239153240153241153242153243153244153245153246153247153248153249153250153251153252153253153254153255153256153257153258153259153260153261153262153263153264153265153266153267153268153269153270153271153272153273153274153275153276153277153278153279153280153281153282153283153284153285153286153287153288153289153290153291153292153293153294153295153296153297153298153299153300153301153302153303153304153305153306153307153308153309153310153311153312153313153314153315153316153317153318153319153320153321153322153323153324153325153326153327153328153329153330153331153332153333153334153335153336153337153338153339153340153341153342153343153344153345153346153347153348153349153350153351153352153353153354153355153356153357153358153359153360153361153362153363153364153365153366153367153368153369153370153371153372153373153374153375153376153377153378153379153380153381153382153383153384153385153386153387153388153389153390153391153392153393153394153395153396153397153398153399153400153401153402153403153404153405153406153407153408153409153410153411153412153413153414153415153416153417153418153419153420153421153422153423153424153425153426153427153428153429153430153431153432153433153434153435153436153437153438153439153440153441153442153443153444153445153446153447153448153449153450153451153452153453153454153455153456153457153458153459153460153461153462153463153464153465153466153467153468153469153470153471153472153473153474153475153476153477153478153479153480153481153482153483153484153485153486153487153488153489153490153491153492153493153494153495153496153497153498153499153500153501153502153503153504153505153506153507153508153509153510153511153512153513153514153515153516153517153518153519153520153521153522153523153524153525153526153527153528153529153530153531153532153533153534153535153536153537153538153539153540153541153542153543153544153545153546153547153548153549153550153551153552153553153554153555153556153557153558153559153560153561153562153563153564153565153566153567153568153569153570153571153572153573153574153575153576153577153578153579153580153581153582153583153584153585153586153587153588153589153590153591153592153593153594153595153596153597153598153599153600153601153602153603153604153605153606153607153608153609153610153611153612153613153614153615153616153617153618153619153620153621153622153623153624153625153626153627153628153629153630153631153632153633153634153635153636153637153638153639153640153641153642153643153644153645153646153647153648153649153650153651153652153653153654153655153656153657153658153659153660153661153662153663153664153665153666153667153668153669153670153671153672153673153674153675153676153677153678153679153680153681153682153683153684153685153686153687153688153689153690153691153692153693153694153695153696153697153698153699153700153701153702153703153704153705153706153707153708153709153710153711153712153713153714153715153716153717153718153719153720153721153722153723153724153725153726153727153728153729153730153731153732153733153734153735153736153737153738153739153740153741153742153743153744153745153746153747153748153749153750153751153752153753153754153755153756153757153758153759153760153761153762153763153764153765153766153767153768153769153770153771153772153773153774153775153776153777153778153779153780153781153782153783153784153785153786153787153788153789153790153791153792153793153794153795153796153797153798153799153800153801153802153803153804153805153806153807153808153809153810153811153812153813153814153815153816153817153818153819153820153821153822153823153824153825153826153827153828153829153830153831153832153833153834153835153836153837153838153839153840153841153842153843153844153845153846153847153848153849153850153851153852153853153854153855153856153857153858153859153860153861153862153863153864153865153866153867153868153869153870153871153872153873153874153875153876153877153878153879153880153881153882153883153884153885153886153887153888153889153890153891153892153893153894153895153896153897153898153899153900153901153902153903153904153905153906153907153908153909153910153911153912153913153914153915153916153917153918153919153920153921153922153923153924153925153926153927153928153929153930153931153932153933153934153935153936153937153938153939153940153941153942153943153944153945153946153947153948153949153950153951153952153953153954153955153956153957153958153959153960153961153962153963153964153965153966153967153968153969153970153971153972153973153974153975153976153977153978153979153980153981153982153983153984153985153986153987153988153989153990153991153992153993153994153995153996153997153998153999154000154001154002154003154004154005154006154007154008154009154010154011154012154013154014154015154016154017154018154019154020154021154022154023154024154025154026154027154028154029154030154031154032154033154034154035154036154037154038154039154040154041154042154043154044154045154046154047154048154049154050154051154052154053154054154055154056154057154058154059154060154061154062154063154064154065154066154067154068154069154070154071154072154073154074154075154076154077154078154079154080154081154082154083154084154085154086154087154088154089154090154091154092154093154094154095154096154097154098154099154100154101154102154103154104154105154106154107154108154109154110154111154112154113154114154115154116154117154118154119154120154121154122154123154124154125154126154127154128154129154130154131154132154133154134154135154136154137154138154139154140154141154142154143154144154145154146154147154148154149154150154151154152154153154154154155154156154157154158154159154160154161154162154163154164154165154166154167154168154169154170154171154172154173154174154175154176154177154178154179154180154181154182154183154184154185154186154187154188154189154190154191154192154193154194154195154196154197154198154199154200154201154202154203154204154205154206154207154208154209154210154211154212154213154214154215154216154217154218154219154220154221154222154223154224154225154226154227154228154229154230154231154232154233154234154235154236154237154238154239154240154241154242154243154244154245154246154247154248154249154250154251154252154253154254154255154256154257154258154259154260154261154262154263154264154265154266154267154268154269154270154271154272154273154274154275154276154277154278154279154280154281154282154283154284154285154286154287154288154289154290154291154292154293154294154295154296154297154298154299154300154301154302154303154304154305154306154307154308154309154310154311154312154313154314154315154316154317154318154319154320154321154322154323154324154325154326154327154328154329154330154331154332154333154334154335154336154337154338154339154340154341154342154343154344154345154346154347154348154349154350154351154352154353154354154355154356154357154358154359154360154361154362154363154364154365154366154367154368154369154370154371154372154373154374154375154376154377154378154379154380154381154382154383154384154385154386154387154388154389154390154391154392154393154394154395154396154397154398154399154400154401154402154403154404154405154406154407154408154409154410154411154412154413154414154415154416154417154418154419154420154421154422154423154424154425154426154427154428154429154430154431154432154433154434154435154436154437154438154439154440154441154442154443154444154445154446154447154448154449154450154451154452154453154454154455154456154457154458154459154460154461154462154463154464154465154466154467154468154469154470154471154472154473154474154475154476154477154478154479154480154481154482154483154484154485154486154487154488154489154490154491154492154493154494154495154496154497154498154499154500154501154502154503154504154505154506154507154508154509154510154511154512154513154514154515154516154517154518154519154520154521154522154523154524154525154526154527154528154529154530154531154532154533154534154535154536154537154538154539154540154541154542154543154544154545154546154547154548154549154550154551154552154553154554154555154556154557154558154559154560154561154562154563154564154565154566154567154568154569154570154571154572154573154574154575154576154577154578154579154580154581154582154583154584154585154586154587154588154589154590154591154592154593154594154595154596154597154598154599154600154601154602154603154604154605154606154607154608154609154610154611154612154613154614154615154616154617154618154619154620154621154622154623154624154625154626154627154628154629154630154631154632154633154634154635154636154637154638154639154640154641154642154643154644154645154646154647154648154649154650154651154652154653154654154655154656154657154658154659154660154661154662154663154664154665154666154667154668154669154670154671154672154673154674154675154676154677154678154679154680154681154682154683154684154685154686154687154688154689154690154691154692154693154694154695154696154697154698154699154700154701154702154703154704154705154706154707154708154709154710154711154712154713154714154715154716154717154718154719154720154721154722154723154724154725154726154727154728154729154730154731154732154733154734154735154736154737154738154739154740154741154742154743154744154745154746154747154748154749154750154751154752154753154754154755154756154757154758154759154760154761154762154763154764154765154766154767154768154769154770154771154772154773154774154775154776154777154778154779154780154781154782154783154784154785154786154787154788154789154790154791154792154793154794154795154796154797154798154799154800154801154802154803154804154805154806154807154808154809154810154811154812154813154814154815154816154817154818154819154820154821154822154823154824154825154826154827154828154829154830154831154832154833154834154835154836154837154838154839154840154841154842154843154844154845154846154847154848154849154850154851154852154853154854154855154856154857154858154859154860154861154862154863154864154865154866154867154868154869154870154871154872154873154874154875154876154877154878154879154880154881154882154883154884154885154886154887154888154889154890154891154892154893154894154895154896154897154898154899154900154901154902154903154904154905154906154907154908154909154910154911154912154913154914154915154916154917154918154919154920154921154922154923154924154925154926154927154928154929154930154931154932154933154934154935154936154937154938154939154940154941154942154943154944154945154946154947154948154949154950154951154952154953154954154955154956154957154958154959154960154961154962154963154964154965154966154967154968154969154970154971154972154973154974154975154976154977154978154979154980154981154982154983154984154985154986154987154988154989154990154991154992154993154994154995154996154997154998154999155000155001155002155003155004155005155006155007155008155009155010155011155012155013155014155015155016155017155018155019155020155021155022155023155024155025155026155027155028155029155030155031155032155033155034155035155036155037155038155039155040155041155042155043155044155045155046155047155048155049155050155051155052155053155054155055155056155057155058155059155060155061155062155063155064155065155066155067155068155069155070155071155072155073155074155075155076155077155078155079155080155081155082155083155084155085155086155087155088155089155090155091155092155093155094155095155096155097155098155099155100155101155102155103155104155105155106155107155108155109155110155111155112155113155114155115155116155117155118155119155120155121155122155123155124155125155126155127155128155129155130155131155132155133155134155135155136155137155138155139155140155141155142155143155144155145155146155147155148155149155150155151155152155153155154155155155156155157155158155159155160155161155162155163155164155165155166155167155168155169155170155171155172155173155174155175155176155177155178155179155180155181155182155183155184155185155186155187155188155189155190155191155192155193155194155195155196155197155198155199155200155201155202155203155204155205155206155207155208155209155210155211155212155213155214155215155216155217155218155219155220155221155222155223155224155225155226155227155228155229155230155231155232155233155234155235155236155237155238155239155240155241155242155243155244155245155246155247155248155249155250155251155252155253155254155255155256155257155258155259155260155261155262155263155264155265155266155267155268155269155270155271155272155273155274155275155276155277155278155279155280155281155282155283155284155285155286155287155288155289155290155291155292155293155294155295155296155297155298155299155300155301155302155303155304155305155306155307155308155309155310155311155312155313155314155315155316155317155318155319155320155321155322155323155324155325155326155327155328155329155330155331155332155333155334155335155336155337155338155339155340155341155342155343155344155345155346155347155348155349155350155351155352155353155354155355155356155357155358155359155360155361155362155363155364155365155366155367155368155369155370155371155372155373155374155375155376155377155378155379155380155381155382155383155384155385155386155387155388155389155390155391155392155393155394155395155396155397155398155399155400155401155402155403155404155405155406155407155408155409155410155411155412155413155414155415155416155417155418155419155420155421155422155423155424155425155426155427155428155429155430155431155432155433155434155435155436155437155438155439155440155441155442155443155444155445155446155447155448155449155450155451155452155453155454155455155456155457155458155459155460155461155462155463155464155465155466155467155468155469155470155471155472155473155474155475155476155477155478155479155480155481155482155483155484155485155486155487155488155489155490155491155492155493155494155495155496155497155498155499155500155501155502155503155504155505155506155507155508155509155510155511155512155513155514155515155516155517155518155519155520155521155522155523155524155525155526155527155528155529155530155531155532155533155534155535155536155537155538155539155540155541155542155543155544155545155546155547155548155549155550155551155552155553155554155555155556155557155558155559155560155561155562155563155564155565155566155567155568155569155570155571155572155573155574155575155576155577155578155579155580155581155582155583155584155585155586155587155588155589155590155591155592155593155594155595155596155597155598155599155600155601155602155603155604155605155606155607155608155609155610155611155612155613155614155615155616155617155618155619155620155621155622155623155624155625155626155627155628155629155630155631155632155633155634155635155636155637155638155639155640155641155642155643155644155645155646155647155648155649155650155651155652155653155654155655155656155657155658155659155660155661155662155663155664155665155666155667155668155669155670155671155672155673155674155675155676155677155678155679155680155681155682155683155684155685155686155687155688155689155690155691155692155693155694155695155696155697155698155699155700155701155702155703155704155705155706155707155708155709155710155711155712155713155714155715155716155717155718155719155720155721155722155723155724155725155726155727155728155729155730155731155732155733155734155735155736155737155738155739155740155741155742155743155744155745155746155747155748155749155750155751155752155753155754155755155756155757155758155759155760155761155762155763155764155765155766155767155768155769155770155771155772155773155774155775155776155777155778155779155780155781155782155783155784155785155786155787155788155789155790155791155792155793155794155795155796155797155798155799155800155801155802155803155804155805155806155807155808155809155810155811155812155813155814155815155816155817155818155819155820155821155822155823155824155825155826155827155828155829155830155831155832155833155834155835155836155837155838155839155840155841155842155843155844155845155846155847155848155849155850155851155852155853155854155855155856155857155858155859155860155861155862155863155864155865155866155867155868155869155870155871155872155873155874155875155876155877155878155879155880155881155882155883155884155885155886155887155888155889155890155891155892155893155894155895155896155897155898155899155900155901155902155903155904155905155906155907155908155909155910155911155912155913155914155915155916155917155918155919155920155921155922155923155924155925155926155927155928155929155930155931155932155933155934155935155936155937155938155939155940155941155942155943155944155945155946155947155948155949155950155951155952155953155954155955155956155957155958155959155960155961155962155963155964155965155966155967155968155969155970155971155972155973155974155975155976155977155978155979155980155981155982155983155984155985155986155987155988155989155990155991155992155993155994155995155996155997155998155999156000156001156002156003156004156005156006156007156008156009156010156011156012156013156014156015156016156017156018156019156020156021156022156023156024156025156026156027156028156029156030156031156032156033156034156035156036156037156038156039156040156041156042156043156044156045156046156047156048156049156050156051156052156053156054156055156056156057156058156059156060156061156062156063156064156065156066156067156068156069156070156071156072156073156074156075156076156077156078156079156080156081156082156083156084156085156086156087156088156089156090156091156092156093156094156095156096156097156098156099156100156101156102156103156104156105156106156107156108156109156110156111156112156113156114156115156116156117156118156119156120156121156122156123156124156125156126156127156128156129156130156131156132156133156134156135156136156137156138156139156140156141156142156143156144156145156146156147156148156149156150156151156152156153156154156155156156156157156158156159156160156161156162156163156164156165156166156167156168156169156170156171156172156173156174156175156176156177156178156179156180156181156182156183156184156185156186156187156188156189156190156191156192156193156194156195156196156197156198156199156200156201156202156203156204156205156206156207156208156209156210156211156212156213156214156215156216156217156218156219156220156221156222156223156224156225156226156227156228156229156230156231156232156233156234156235156236156237156238156239156240156241156242156243156244156245156246156247156248156249156250156251156252156253156254156255156256156257156258156259156260156261156262156263156264156265156266156267156268156269156270156271156272156273156274156275156276156277156278156279156280156281156282156283156284156285156286156287156288156289156290156291156292156293156294156295156296156297156298156299156300156301156302156303156304156305156306156307156308156309156310156311156312156313156314156315156316156317156318156319156320156321156322156323156324156325156326156327156328156329156330156331156332156333156334156335156336156337156338156339156340156341156342156343156344156345156346156347156348156349156350156351156352156353156354156355156356156357156358156359156360156361156362156363156364156365156366156367156368156369156370156371156372156373156374156375156376156377156378156379156380156381156382156383156384156385156386156387156388156389156390156391156392156393156394156395156396156397156398156399156400156401156402156403156404156405156406156407156408156409156410156411156412156413156414156415156416156417156418156419156420156421156422156423156424156425156426156427156428156429156430156431156432156433156434156435156436156437156438156439156440156441156442156443156444156445156446156447156448156449156450156451156452156453156454156455156456156457156458156459156460156461156462156463156464156465156466156467156468156469156470156471156472156473156474156475156476156477156478156479156480156481156482156483156484156485156486156487156488156489156490156491156492156493156494156495156496156497156498156499156500156501156502156503156504156505156506156507156508156509156510156511156512156513156514156515156516156517156518156519156520156521156522156523156524156525156526156527156528156529156530156531156532156533156534156535156536156537156538156539156540156541156542156543156544156545156546156547156548156549156550156551156552156553156554156555156556156557156558156559156560156561156562156563156564156565156566156567156568156569156570156571156572156573156574156575156576156577156578156579156580156581156582156583156584156585156586156587156588156589156590156591156592156593156594156595156596156597156598156599156600156601156602156603156604156605156606156607156608156609156610156611156612156613156614156615156616156617156618156619156620156621156622156623156624156625156626156627156628156629156630156631156632156633156634156635156636156637156638156639156640156641156642156643156644156645156646156647156648156649156650156651156652156653156654156655156656156657156658156659156660156661156662156663156664156665156666156667156668156669156670156671156672156673156674156675156676156677156678156679156680156681156682156683156684156685156686156687156688156689156690156691156692156693156694156695156696156697156698156699156700156701156702156703156704156705156706156707156708156709156710156711156712156713156714156715156716156717156718156719156720156721156722156723156724156725156726156727156728156729156730156731156732156733156734156735156736156737156738156739156740156741156742156743156744156745156746156747156748156749156750156751156752156753156754156755156756156757156758156759156760156761156762156763156764156765156766156767156768156769156770156771156772156773156774156775156776156777156778156779156780156781156782156783156784156785156786156787156788156789156790156791156792156793156794156795156796156797156798156799156800156801156802156803156804156805156806156807156808156809156810156811156812156813156814156815156816156817156818156819156820156821156822156823156824156825156826156827156828156829156830156831156832156833156834156835156836156837156838156839156840156841156842156843156844156845156846156847156848156849156850156851156852156853156854156855156856156857156858156859156860156861156862156863156864156865156866156867156868156869156870156871156872156873156874156875156876156877156878156879156880156881156882156883156884156885156886156887156888156889156890156891156892156893156894156895156896156897156898156899156900156901156902156903156904156905156906156907156908156909156910156911156912156913156914156915156916156917156918156919156920156921156922156923156924156925156926156927156928156929156930156931156932156933156934156935156936156937156938156939156940156941156942156943156944156945156946156947156948156949156950156951156952156953156954156955156956156957156958156959156960156961156962156963156964156965156966156967156968156969156970156971156972156973156974156975156976156977156978156979156980156981156982156983156984156985156986156987156988156989156990156991156992156993156994156995156996156997156998156999157000157001157002157003157004157005157006157007157008157009157010157011157012157013157014157015157016157017157018157019157020157021157022157023157024157025157026157027157028157029157030157031157032157033157034157035157036157037157038157039157040157041157042157043157044157045157046157047157048157049157050157051157052157053157054157055157056157057157058157059157060157061157062157063157064157065157066157067157068157069157070157071157072157073157074157075157076157077157078157079157080157081157082157083157084157085157086157087157088157089157090157091157092157093157094157095157096157097157098157099157100157101157102157103157104157105157106157107157108157109157110157111157112157113157114157115157116157117157118157119157120157121157122157123157124157125157126157127157128157129157130157131157132157133157134157135157136157137157138157139157140157141157142157143157144157145157146157147157148157149157150157151157152157153157154157155157156157157157158157159157160157161157162157163157164157165157166157167157168157169157170157171157172157173157174157175157176157177157178157179157180157181157182157183157184157185157186157187157188157189157190157191157192157193157194157195157196157197157198157199157200157201157202157203157204157205157206157207157208157209157210157211157212157213157214157215157216157217157218157219157220157221157222157223157224157225157226157227157228157229157230157231157232157233157234157235157236157237157238157239157240157241157242157243157244157245157246157247157248157249157250157251157252157253157254157255157256157257157258157259157260157261157262157263157264157265157266157267157268157269157270157271157272157273157274157275157276157277157278157279157280157281157282157283157284157285157286157287157288157289157290157291157292157293157294157295157296157297157298157299157300157301157302157303157304157305157306157307157308157309157310157311157312157313157314157315157316157317157318157319157320157321157322157323157324157325157326157327157328157329157330157331157332157333157334157335157336157337157338157339157340157341157342157343157344157345157346157347157348157349157350157351157352157353157354157355157356157357157358157359157360157361157362157363157364157365157366157367157368157369157370157371157372157373157374157375157376157377157378157379157380157381157382157383157384157385157386157387157388157389157390157391157392157393157394157395157396157397157398157399157400157401157402157403157404157405157406157407157408157409157410157411157412157413157414157415157416157417157418157419157420157421157422157423157424157425157426157427157428157429157430157431157432157433157434157435157436157437157438157439157440157441157442157443157444157445157446157447157448157449157450157451157452157453157454157455157456157457157458157459157460157461157462157463157464157465157466157467157468157469157470157471157472157473157474157475157476157477157478157479157480157481157482157483157484157485157486157487157488157489157490157491157492157493157494157495157496157497157498157499157500157501157502157503157504157505157506157507157508157509157510157511157512157513157514157515157516157517157518157519157520157521157522157523157524157525157526157527157528157529157530157531157532157533157534157535157536157537157538157539157540157541157542157543157544157545157546157547157548157549157550157551157552157553157554157555157556157557157558157559157560157561157562157563157564157565157566157567157568157569157570157571157572157573157574157575157576157577157578157579157580157581157582157583157584157585157586157587157588157589157590157591157592157593157594157595157596157597157598157599157600157601157602157603157604157605157606157607157608157609157610157611157612157613157614157615157616157617157618157619157620157621157622157623157624157625157626157627157628157629157630157631157632157633157634157635157636157637157638157639157640157641157642157643157644157645157646157647157648157649157650157651157652157653157654157655157656157657157658157659157660157661157662157663157664157665157666157667157668157669157670157671157672157673157674157675157676157677157678157679157680157681157682157683157684157685157686157687157688157689157690157691157692157693157694157695157696157697157698157699157700157701157702157703157704157705157706157707157708157709157710157711157712157713157714157715157716157717157718157719157720157721157722157723157724157725157726157727157728157729157730157731157732157733157734157735157736157737157738157739157740157741157742157743157744157745157746157747157748157749157750157751157752157753157754157755157756157757157758157759157760157761157762157763157764157765157766157767157768157769157770157771157772157773157774157775157776157777157778157779157780157781157782157783157784157785157786157787157788157789157790157791157792157793157794157795157796157797157798157799157800157801157802157803157804157805157806157807157808157809157810157811157812157813157814157815157816157817157818157819157820157821157822157823157824157825157826157827157828157829157830157831157832157833157834157835157836157837157838157839157840157841157842157843157844157845157846157847157848157849157850157851157852157853157854157855157856157857157858157859157860157861157862157863157864157865157866157867157868157869157870157871157872157873157874157875157876157877157878157879157880157881157882157883157884157885157886157887157888157889157890157891157892157893157894157895157896157897157898157899157900157901157902157903157904157905157906157907157908157909157910157911157912157913157914157915157916157917157918157919157920157921157922157923157924157925157926157927157928157929157930157931157932157933157934157935157936157937157938157939157940157941157942157943157944157945157946157947157948157949157950157951157952157953157954157955157956157957157958157959157960157961157962157963157964157965157966157967157968157969157970157971157972157973157974157975157976157977157978157979157980157981157982157983157984157985157986157987157988157989157990157991157992157993157994157995157996157997157998157999158000158001158002158003158004158005158006158007158008158009158010158011158012158013158014158015158016158017158018158019158020158021158022158023158024158025158026158027158028158029158030158031158032158033158034158035158036158037158038158039158040158041158042158043158044158045158046158047158048158049158050158051158052158053158054158055158056158057158058158059158060158061158062158063158064158065158066158067158068158069158070158071158072158073158074158075158076158077158078158079158080158081158082158083158084158085158086158087158088158089158090158091158092158093158094158095158096158097158098158099158100158101158102158103158104158105158106158107158108158109158110158111158112158113158114158115158116158117158118158119158120158121158122158123158124158125158126158127158128158129158130158131158132158133158134158135158136158137158138158139158140158141158142158143158144158145158146158147158148158149158150158151158152158153158154158155158156158157158158158159158160158161158162158163158164158165158166158167158168158169158170158171158172158173158174158175158176158177158178158179158180158181158182158183158184158185158186158187158188158189158190158191158192158193158194158195158196158197158198158199158200158201158202158203158204158205158206158207158208158209158210158211158212158213158214158215158216158217158218158219158220158221158222158223158224158225158226158227158228158229158230158231158232158233158234158235158236158237158238158239158240158241158242158243158244158245158246158247158248158249158250158251158252158253158254158255158256158257158258158259158260158261158262158263158264158265158266158267158268158269158270158271158272158273158274158275158276158277158278158279158280158281158282158283158284158285158286158287158288158289158290158291158292158293158294158295158296158297158298158299158300158301158302158303158304158305158306158307158308158309158310158311158312158313158314158315158316158317158318158319158320158321158322158323158324158325158326158327158328158329158330158331158332158333158334158335158336158337158338158339158340158341158342158343158344158345158346158347158348158349158350158351158352158353158354158355158356158357158358158359158360158361158362158363158364158365158366158367158368158369158370158371158372158373158374158375158376158377158378158379158380158381158382158383158384158385158386158387158388158389158390158391158392158393158394158395158396158397158398158399158400158401158402158403158404158405158406158407158408158409158410158411158412158413158414158415158416158417158418158419158420158421158422158423158424158425158426158427158428158429158430158431158432158433158434158435158436158437158438158439158440158441158442158443158444158445158446158447158448158449158450158451158452158453158454158455158456158457158458158459158460158461158462158463158464158465158466158467158468158469158470158471158472158473158474158475158476158477158478158479158480158481158482158483158484158485158486158487158488158489158490158491158492158493158494158495158496158497158498158499158500158501158502158503158504158505158506158507158508158509158510158511158512158513158514158515158516158517158518158519158520158521158522158523158524158525158526158527158528158529158530158531158532158533158534158535158536158537158538158539158540158541158542158543158544158545158546158547158548158549158550158551158552158553158554158555158556158557158558158559158560158561158562158563158564158565158566158567158568158569158570158571158572158573158574158575158576158577158578158579158580158581158582158583158584158585158586158587158588158589158590158591158592158593158594158595158596158597158598158599158600158601158602158603158604158605158606158607158608158609158610158611158612158613158614158615158616158617158618158619158620158621158622158623158624158625158626158627158628158629158630158631158632158633158634158635158636158637158638158639158640158641158642158643158644158645158646158647158648158649158650158651158652158653158654158655158656158657158658158659158660158661158662158663158664158665158666158667158668158669158670158671158672158673158674158675158676158677158678158679158680158681158682158683158684158685158686158687158688158689158690158691158692158693158694158695158696158697158698158699158700158701158702158703158704158705158706158707158708158709158710158711158712158713158714158715158716158717158718158719158720158721158722158723158724158725158726158727158728158729158730158731158732158733158734158735158736158737158738158739158740158741158742158743158744158745158746158747158748158749158750158751158752158753158754158755158756158757158758158759158760158761158762158763158764158765158766158767158768158769158770158771158772158773158774158775158776158777158778158779158780158781158782158783158784158785158786158787158788158789158790158791158792158793158794158795158796158797158798158799158800158801158802158803158804158805158806158807158808158809158810158811158812158813158814158815158816158817158818158819158820158821158822158823158824158825158826158827158828158829158830158831158832158833158834158835158836158837158838158839158840158841158842158843158844158845158846158847158848158849158850158851158852158853158854158855158856158857158858158859158860158861158862158863158864158865158866158867158868158869158870158871158872158873158874158875158876158877158878158879158880158881158882158883158884158885158886158887158888158889158890158891158892158893158894158895158896158897158898158899158900158901158902158903158904158905158906158907158908158909158910158911158912158913158914158915158916158917158918158919158920158921158922158923158924158925158926158927158928158929158930158931158932158933158934158935158936158937158938158939158940158941158942158943158944158945158946158947158948158949158950158951158952158953158954158955158956158957158958158959158960158961158962158963158964158965158966158967158968158969158970158971158972158973158974158975158976158977158978158979158980158981158982158983158984158985158986158987158988158989158990158991158992158993158994158995158996158997158998158999159000159001159002159003159004159005159006159007159008159009159010159011159012159013159014159015159016159017159018159019159020159021159022159023159024159025159026159027159028159029159030159031159032159033159034159035159036159037159038159039159040159041159042159043159044159045159046159047159048159049159050159051159052159053159054159055159056159057159058159059159060159061159062159063159064159065159066159067159068159069159070159071159072159073159074159075159076159077159078159079159080159081159082159083159084159085159086159087159088159089159090159091159092159093159094159095159096159097159098159099159100159101159102159103159104159105159106159107159108159109159110159111159112159113159114159115159116159117159118159119159120159121159122159123159124159125159126159127159128159129159130159131159132159133159134159135159136159137159138159139159140159141159142159143159144159145159146159147159148159149159150159151159152159153159154159155159156159157159158159159159160159161159162159163159164159165159166159167159168159169159170159171159172159173159174159175159176159177159178159179159180159181159182159183159184159185159186159187159188159189159190159191159192159193159194159195159196159197159198159199159200159201159202159203159204159205159206159207159208159209159210159211159212159213159214159215159216159217159218159219159220159221159222159223159224159225159226159227159228159229159230159231159232159233159234159235159236159237159238159239159240159241159242159243159244159245159246159247159248159249159250159251159252159253159254159255159256159257159258159259159260159261159262159263159264159265159266159267159268159269159270159271159272159273159274159275159276159277159278159279159280159281159282159283159284159285159286159287159288159289159290159291159292159293159294159295159296159297159298159299159300159301159302159303159304159305159306159307159308159309159310159311159312159313159314159315159316159317159318159319159320159321159322159323159324159325159326159327159328159329159330159331159332159333159334159335159336159337159338159339159340159341159342159343159344159345159346159347159348159349159350159351159352159353159354159355159356159357159358159359159360159361159362159363159364159365159366159367159368159369159370159371159372159373159374159375159376159377159378159379159380159381159382159383159384159385159386159387159388159389159390159391159392159393159394159395159396159397159398159399159400159401159402159403159404159405159406159407159408159409159410159411159412159413159414159415159416159417159418159419159420159421159422159423159424159425159426159427159428159429159430159431159432159433159434159435159436159437159438159439159440159441159442159443159444159445159446159447159448159449159450159451159452159453159454159455159456159457159458159459159460159461159462159463159464159465159466159467159468159469159470159471159472159473159474159475159476159477159478159479159480159481159482159483159484159485159486159487159488159489159490159491159492159493159494159495159496159497159498159499159500159501159502159503159504159505159506159507159508159509159510159511159512159513159514159515159516159517159518159519159520159521159522159523159524159525159526159527159528159529159530159531159532159533159534159535159536159537159538159539159540159541159542159543159544159545159546159547159548159549159550159551159552159553159554159555159556159557159558159559159560159561159562159563159564159565159566159567159568159569159570159571159572159573159574159575159576159577159578159579159580159581159582159583159584159585159586159587159588159589159590159591159592159593159594159595159596159597159598159599159600159601159602159603159604159605159606159607159608159609159610159611159612159613159614159615159616159617159618159619159620159621159622159623159624159625159626159627159628159629159630159631159632159633159634159635159636159637159638159639159640159641159642159643159644159645159646159647159648159649159650159651159652159653159654159655159656159657159658159659159660159661159662159663159664159665159666159667159668159669159670159671159672159673159674159675159676159677159678159679159680159681159682159683159684159685159686159687159688159689159690159691159692159693159694159695159696159697159698159699159700159701159702159703159704159705159706159707159708159709159710159711159712159713159714159715159716159717159718159719159720159721159722159723159724159725159726159727159728159729159730159731159732159733159734159735159736159737159738159739159740159741159742159743159744159745159746159747159748159749159750159751159752159753159754159755159756159757159758159759159760159761159762159763159764159765159766159767159768159769159770159771159772159773159774159775159776159777159778159779159780159781159782159783159784159785159786159787159788159789159790159791159792159793159794159795159796159797159798159799159800159801159802159803159804159805159806159807159808159809159810159811159812159813159814159815159816159817159818159819159820159821159822159823159824159825159826159827159828159829159830159831159832159833159834159835159836159837159838159839159840159841159842159843159844159845159846159847159848159849159850159851159852159853159854159855159856159857159858159859159860159861159862159863159864159865159866159867159868159869159870159871159872159873159874159875159876159877159878159879159880159881159882159883159884159885159886159887159888159889159890159891159892159893159894159895159896159897159898159899159900159901159902159903159904159905159906159907159908159909159910159911159912159913159914159915159916159917159918159919159920159921159922159923159924159925159926159927159928159929159930159931159932159933159934159935159936159937159938159939159940159941159942159943159944159945159946159947159948159949159950159951159952159953159954159955159956159957159958159959159960159961159962159963159964159965159966159967159968159969159970159971159972159973159974159975159976159977159978159979159980159981159982159983159984159985159986159987159988159989159990159991159992159993159994159995159996159997159998159999160000160001160002160003160004160005160006160007160008160009160010160011160012160013160014160015160016160017160018160019160020160021160022160023160024160025160026160027160028160029160030160031160032160033160034160035160036160037160038160039160040160041160042160043160044160045160046160047160048160049160050160051160052160053160054160055160056160057160058160059160060160061160062160063160064160065160066160067160068160069160070160071160072160073160074160075160076160077160078160079160080160081160082160083160084160085160086160087160088160089160090160091160092160093160094160095160096160097160098160099160100160101160102160103160104160105160106160107160108160109160110160111160112160113160114160115160116160117160118160119160120160121160122160123160124160125160126160127160128160129160130160131160132160133160134160135160136160137160138160139160140160141160142160143160144160145160146160147160148160149160150160151160152160153160154160155160156160157160158160159160160160161160162160163160164160165160166160167160168160169160170160171160172160173160174160175160176160177160178160179160180160181160182160183160184160185160186160187160188160189160190160191160192160193160194160195160196160197160198160199160200160201160202160203160204160205160206160207160208160209160210160211160212160213160214160215160216160217160218160219160220160221160222160223160224160225160226160227160228160229160230160231160232160233160234160235160236160237160238160239160240160241160242160243160244160245160246160247160248160249160250160251160252160253160254160255160256160257160258160259160260160261160262160263160264160265160266160267160268160269160270160271160272160273160274160275160276160277160278160279160280160281160282160283160284160285160286160287160288160289160290160291160292160293160294160295160296160297160298160299160300160301160302160303160304160305160306160307160308160309160310160311160312160313160314160315160316160317160318160319160320160321160322160323160324160325160326160327160328160329160330160331160332160333160334160335160336160337160338160339160340160341160342160343160344160345160346160347160348160349160350160351160352160353160354160355160356160357160358160359160360160361160362160363160364160365160366160367160368160369160370160371160372160373160374160375160376160377160378160379160380160381160382160383160384160385160386160387160388160389160390160391160392160393160394160395160396160397160398160399160400160401160402160403160404160405160406160407160408160409160410160411160412160413160414160415160416160417160418160419160420160421160422160423160424160425160426160427160428160429160430160431160432160433160434160435160436160437160438160439160440160441160442160443160444160445160446160447160448160449160450160451160452160453160454160455160456160457160458160459160460160461160462160463160464160465160466160467160468160469160470160471160472160473160474160475160476160477160478160479160480160481160482160483160484160485160486160487160488160489160490160491160492160493160494160495160496160497160498160499160500160501160502160503160504160505160506160507160508160509160510160511160512160513160514160515160516160517160518160519160520160521160522160523160524160525160526160527160528160529160530160531160532160533160534160535160536160537160538160539160540160541160542160543160544160545160546160547160548160549160550160551160552160553160554160555160556160557160558160559160560160561160562160563160564160565160566160567160568160569160570160571160572160573160574160575160576160577160578160579160580160581160582160583160584160585160586160587160588160589160590160591160592160593160594160595160596160597160598160599160600160601160602160603160604160605160606160607160608160609160610160611160612160613160614160615160616160617160618160619160620160621160622160623160624160625160626160627160628160629160630160631160632160633160634160635160636160637160638160639160640160641160642160643160644160645160646160647160648160649160650160651160652160653160654160655160656160657160658160659160660160661160662160663160664160665160666160667160668160669160670160671160672160673160674160675160676160677160678160679160680160681160682160683160684160685160686160687160688160689160690160691160692160693160694160695160696160697160698160699160700160701160702160703160704160705160706160707160708160709160710160711160712160713160714160715160716160717160718160719160720160721160722160723160724160725160726160727160728160729160730160731160732160733160734160735160736160737160738160739160740160741160742160743160744160745160746160747160748160749160750160751160752160753160754160755160756160757160758160759160760160761160762160763160764160765160766160767160768160769160770160771160772160773160774160775160776160777160778160779160780160781160782160783160784160785160786160787160788160789160790160791160792160793160794160795160796160797160798160799160800160801160802160803160804160805160806160807160808160809160810160811160812160813160814160815160816160817160818160819160820160821160822160823160824160825160826160827160828160829160830160831160832160833160834160835160836160837160838160839160840160841160842160843160844160845160846160847160848160849160850160851160852160853160854160855160856160857160858160859160860160861160862160863160864160865160866160867160868160869160870160871160872160873160874160875160876160877160878160879160880160881160882160883160884160885160886160887160888160889160890160891160892160893160894160895160896160897160898160899160900160901160902160903160904160905160906160907160908160909160910160911160912160913160914160915160916160917160918160919160920160921160922160923160924160925160926160927160928160929160930160931160932160933160934160935160936160937160938160939160940160941160942160943160944160945160946160947160948160949160950160951160952160953160954160955160956160957160958160959160960160961160962160963160964160965160966160967160968160969160970160971160972160973160974160975160976160977160978160979160980160981160982160983160984160985160986160987160988160989160990160991160992160993160994160995160996160997160998160999161000161001161002161003161004161005161006161007161008161009161010161011161012161013161014161015161016161017161018161019161020161021161022161023161024161025161026161027161028161029161030161031161032161033161034161035161036161037161038161039161040161041161042161043161044161045161046161047161048161049161050161051161052161053161054161055161056161057161058161059161060161061161062161063161064161065161066161067161068161069161070161071161072161073161074161075161076161077161078161079161080161081161082161083161084161085161086161087161088161089161090161091161092161093161094161095161096161097161098161099161100161101161102161103161104161105161106161107161108161109161110161111161112161113161114161115161116161117161118161119161120161121161122161123161124161125161126161127161128161129161130161131161132161133161134161135161136161137161138161139161140161141161142161143161144161145161146161147161148161149161150161151161152161153161154161155161156161157161158161159161160161161161162161163161164161165161166161167161168161169161170161171161172161173161174161175161176161177161178161179161180161181161182161183161184161185161186161187161188161189161190161191161192161193161194161195161196161197161198161199161200161201161202161203161204161205161206161207161208161209161210161211161212161213161214161215161216161217161218161219161220161221161222161223161224161225161226161227161228161229161230161231161232161233161234161235161236161237161238161239161240161241161242161243161244161245161246161247161248161249161250161251161252161253161254161255161256161257161258161259161260161261161262161263161264161265161266161267161268161269161270161271161272161273161274161275161276161277161278161279161280161281161282161283161284161285161286161287161288161289161290161291161292161293161294161295161296161297161298161299161300161301161302161303161304161305161306161307161308161309161310161311161312161313161314161315161316161317161318161319161320161321161322161323161324161325161326161327161328161329161330161331161332161333161334161335161336161337161338161339161340161341161342161343161344161345161346161347161348161349161350161351161352161353161354161355161356161357161358161359161360161361161362161363161364161365161366161367161368161369161370161371161372161373161374161375161376161377161378161379161380161381161382161383161384161385161386161387161388161389161390161391161392161393161394161395161396161397161398161399161400161401161402161403161404161405161406161407161408161409161410161411161412161413161414161415161416161417161418161419161420161421161422161423161424161425161426161427161428161429161430161431161432161433161434161435161436161437161438161439161440161441161442161443161444161445161446161447161448161449161450161451161452161453161454161455161456161457161458161459161460161461161462161463161464161465161466161467161468161469161470161471161472161473161474161475161476161477161478161479161480161481161482161483161484161485161486161487161488161489161490161491161492161493161494161495161496161497161498161499161500161501161502161503161504161505161506161507161508161509161510161511161512161513161514161515161516161517161518161519161520161521161522161523161524161525161526161527161528161529161530161531161532161533161534161535161536161537161538161539161540161541161542161543161544161545161546161547161548161549161550161551161552161553161554161555161556161557161558161559161560161561161562161563161564161565161566161567161568161569161570161571161572161573161574161575161576161577161578161579161580161581161582161583161584161585161586161587161588161589161590161591161592161593161594161595161596161597161598161599161600161601161602161603161604161605161606161607161608161609161610161611161612161613161614161615161616161617161618161619161620161621161622161623161624161625161626161627161628161629161630161631161632161633161634161635161636161637161638161639161640161641161642161643161644161645161646161647161648161649161650161651161652161653161654161655161656161657161658161659161660161661161662161663161664161665161666161667161668161669161670161671161672161673161674161675161676161677161678161679161680161681161682161683161684161685161686161687161688161689161690161691161692161693161694161695161696161697161698161699161700161701161702161703161704161705161706161707161708161709161710161711161712161713161714161715161716161717161718161719161720161721161722161723161724161725161726161727161728161729161730161731161732161733161734161735161736161737161738161739161740161741161742161743161744161745161746161747161748161749161750161751161752161753161754161755161756161757161758161759161760161761161762161763161764161765161766161767161768161769161770161771161772161773161774161775161776161777161778161779161780161781161782161783161784161785161786161787161788161789161790161791161792161793161794161795161796161797161798161799161800161801161802161803161804161805161806161807161808161809161810161811161812161813161814161815161816161817161818161819161820161821161822161823161824161825161826161827161828161829161830161831161832161833161834161835161836161837161838161839161840161841161842161843161844161845161846161847161848161849161850161851161852161853161854161855161856161857161858161859161860161861161862161863161864161865161866161867161868161869161870161871161872161873161874161875161876161877161878161879161880161881161882161883161884161885161886161887161888161889161890161891161892161893161894161895161896161897161898161899161900161901161902161903161904161905161906161907161908161909161910161911161912161913161914161915161916161917161918161919161920161921161922161923161924161925161926161927161928161929161930161931161932161933161934161935161936161937161938161939161940161941161942161943161944161945161946161947161948161949161950161951161952161953161954161955161956161957161958161959161960161961161962161963161964161965161966161967161968161969161970161971161972161973161974161975161976161977161978161979161980161981161982161983161984161985161986161987161988161989161990161991161992161993161994161995161996161997161998161999162000162001162002162003162004162005162006162007162008162009162010162011162012162013162014162015162016162017162018162019162020162021162022162023162024162025162026162027162028162029162030162031162032162033162034162035162036162037162038162039162040162041162042162043162044162045162046162047162048162049162050162051162052162053162054162055162056162057162058162059162060162061162062162063162064162065162066162067162068162069162070162071162072162073162074162075162076162077162078162079162080162081162082162083162084162085162086162087162088162089162090162091162092162093162094162095162096162097162098162099162100162101162102162103162104162105162106162107162108162109162110162111162112162113162114162115162116162117162118162119162120162121162122162123162124162125162126162127162128162129162130162131162132162133162134162135162136162137162138162139162140162141162142162143162144162145162146162147162148162149162150162151162152162153162154162155162156162157162158162159162160162161162162162163162164162165162166162167162168162169162170162171162172162173162174162175162176162177162178162179162180162181162182162183162184162185162186162187162188162189162190162191162192162193162194162195162196162197162198162199162200162201162202162203162204162205162206162207162208162209162210162211162212162213162214162215162216162217162218162219162220162221162222162223162224162225162226162227162228162229162230162231162232162233162234162235162236162237162238162239162240162241162242162243162244162245162246162247162248162249162250162251162252162253162254162255162256162257162258162259162260162261162262162263162264162265162266162267162268162269162270162271162272162273162274162275162276162277162278162279162280162281162282162283162284162285162286162287162288162289162290162291162292162293162294162295162296162297162298162299162300162301162302162303162304162305162306162307162308162309162310162311162312162313162314162315162316162317162318162319162320162321162322162323162324162325162326162327162328162329162330162331162332162333162334162335162336162337162338162339162340162341162342162343162344162345162346162347162348162349162350162351162352162353162354162355162356162357162358162359162360162361162362162363162364162365162366162367162368162369162370162371162372162373162374162375162376162377162378162379162380162381162382162383162384162385162386162387162388162389162390162391162392162393162394162395162396162397162398162399162400162401162402162403162404162405162406162407162408162409162410162411162412162413162414162415162416162417162418162419162420162421162422162423162424162425162426162427162428162429162430162431162432162433162434162435162436162437162438162439162440162441162442162443162444162445162446162447162448162449162450162451162452162453162454162455162456162457162458162459162460162461162462162463162464162465162466162467162468162469162470162471162472162473162474162475162476162477162478162479162480162481162482162483162484162485162486162487162488162489162490162491162492162493162494162495162496162497162498162499162500162501162502162503162504162505162506162507162508162509162510162511162512162513162514162515162516162517162518162519162520162521162522162523162524162525162526162527162528162529162530162531162532162533162534162535162536162537162538162539162540162541162542162543162544162545162546162547162548162549162550162551162552162553162554162555162556162557162558162559162560162561162562162563162564162565162566162567162568162569162570162571162572162573162574162575162576162577162578162579162580162581162582162583162584162585162586162587162588162589162590162591162592162593162594162595162596162597162598162599162600162601162602162603162604162605162606162607162608162609162610162611162612162613162614162615162616162617162618162619162620162621162622162623162624162625162626162627162628162629162630162631162632162633162634162635162636162637162638162639162640162641162642162643162644162645162646162647162648162649162650162651162652162653162654162655162656162657162658162659162660162661162662162663162664162665162666162667162668162669162670162671162672162673162674162675162676162677162678162679162680162681162682162683162684162685162686162687162688162689162690162691162692162693162694162695162696162697162698162699162700162701162702162703162704162705162706162707162708162709162710162711162712162713162714162715162716162717162718162719162720162721162722162723162724162725162726162727162728162729162730162731162732162733162734162735162736162737162738162739162740162741162742162743162744162745162746162747162748162749162750162751162752162753162754162755162756162757162758162759162760162761162762162763162764162765162766162767162768162769162770162771162772162773162774162775162776162777162778162779162780162781162782162783162784162785162786162787162788162789162790162791162792162793162794162795162796162797162798162799162800162801162802162803162804162805162806162807162808162809162810162811162812162813162814162815162816162817162818162819162820162821162822162823162824162825162826162827162828162829162830162831162832162833162834162835162836162837162838162839162840162841162842162843162844162845162846162847162848162849162850162851162852162853162854162855162856162857162858162859162860162861162862162863162864162865162866162867162868162869162870162871162872162873162874162875162876162877162878162879162880162881162882162883162884162885162886162887162888162889162890162891162892162893162894162895162896162897162898162899162900162901162902162903162904162905162906162907162908162909162910162911162912162913162914162915162916162917162918162919162920162921162922162923162924162925162926162927162928162929162930162931162932162933162934162935162936162937162938162939162940162941162942162943162944162945162946162947162948162949162950162951162952162953162954162955162956162957162958162959162960162961162962162963162964162965162966162967162968162969162970162971162972162973162974162975162976162977162978162979162980162981162982162983162984162985162986162987162988162989162990162991162992162993162994162995162996162997162998162999163000163001163002163003163004163005163006163007163008163009163010163011163012163013163014163015163016163017163018163019163020163021163022163023163024163025163026163027163028163029163030163031163032163033163034163035163036163037163038163039163040163041163042163043163044163045163046163047163048163049163050163051163052163053163054163055163056163057163058163059163060163061163062163063163064163065163066163067163068163069163070163071163072163073163074163075163076163077163078163079163080163081163082163083163084163085163086163087163088163089163090163091163092163093163094163095163096163097163098163099163100163101163102163103163104163105163106163107163108163109163110163111163112163113163114163115163116163117163118163119163120163121163122163123163124163125163126163127163128163129163130163131163132163133163134163135163136163137163138163139163140163141163142163143163144163145163146163147163148163149163150163151163152163153163154163155163156163157163158163159163160163161163162163163163164163165163166163167163168163169163170163171163172163173163174163175163176163177163178163179163180163181163182163183163184163185163186163187163188163189163190163191163192163193163194163195163196163197163198163199163200163201163202163203163204163205163206163207163208163209163210163211163212163213163214163215163216163217163218163219163220163221163222163223163224163225163226163227163228163229163230163231163232163233163234163235163236163237163238163239163240163241163242163243163244163245163246163247163248163249163250163251163252163253163254163255163256163257163258163259163260163261163262163263163264163265163266163267163268163269163270163271163272163273163274163275163276163277163278163279163280163281163282163283163284163285163286163287163288163289163290163291163292163293163294163295163296163297163298163299163300163301163302163303163304163305163306163307163308163309163310163311163312163313163314163315163316163317163318163319163320163321163322163323163324163325163326163327163328163329163330163331163332163333163334163335163336163337163338163339163340163341163342163343163344163345163346163347163348163349163350163351163352163353163354163355163356163357163358163359163360163361163362163363163364163365163366163367163368163369163370163371163372163373163374163375163376163377163378163379163380163381163382163383163384163385163386163387163388163389163390163391163392163393163394163395163396163397163398163399163400163401163402163403163404163405163406163407163408163409163410163411163412163413163414163415163416163417163418163419163420163421163422163423163424163425163426163427163428163429163430163431163432163433163434163435163436163437163438163439163440163441163442163443163444163445163446163447163448163449163450163451163452163453163454163455163456163457163458163459163460163461163462163463163464163465163466163467163468163469163470163471163472163473163474163475163476163477163478163479163480163481163482163483163484163485163486163487163488163489163490163491163492163493163494163495163496163497163498163499163500163501163502163503163504163505163506163507163508163509163510163511163512163513163514163515163516163517163518163519163520163521163522163523163524163525163526163527163528163529163530163531163532163533163534163535163536163537163538163539163540163541163542163543163544163545163546163547163548163549163550163551163552163553163554163555163556163557163558163559163560163561163562163563163564163565163566163567163568163569163570163571163572163573163574163575163576163577163578163579163580163581163582163583163584163585163586163587163588163589163590163591163592163593163594163595163596163597163598163599163600163601163602163603163604163605163606163607163608163609163610163611163612163613163614163615163616163617163618163619163620163621163622163623163624163625163626163627163628163629163630163631163632163633163634163635163636163637163638163639163640163641163642163643163644163645163646163647163648163649163650163651163652163653163654163655163656163657163658163659163660163661163662163663163664163665163666163667163668163669163670163671163672163673163674163675163676163677163678163679163680163681163682163683163684163685163686163687163688163689163690163691163692163693163694163695163696163697163698163699163700163701163702163703163704163705163706163707163708163709163710163711163712163713163714163715163716163717163718163719163720163721163722163723163724163725163726163727163728163729163730163731163732163733163734163735163736163737163738163739163740163741163742163743163744163745163746163747163748163749163750163751163752163753163754163755163756163757163758163759163760163761163762163763163764163765163766163767163768163769163770163771163772163773163774163775163776163777163778163779163780163781163782163783163784163785163786163787163788163789163790163791163792163793163794163795163796163797163798163799163800163801163802163803163804163805163806163807163808163809163810163811163812163813163814163815163816163817163818163819163820163821163822163823163824163825163826163827163828163829163830163831163832163833163834163835163836163837163838163839163840163841163842163843163844163845163846163847163848163849163850163851163852163853163854163855163856163857163858163859163860163861163862163863163864163865163866163867163868163869163870163871163872163873163874163875163876163877163878163879163880163881163882163883163884163885163886163887163888163889163890163891163892163893163894163895163896163897163898163899163900163901163902163903163904163905163906163907163908163909163910163911163912163913163914163915163916163917163918163919163920163921163922163923163924163925163926163927163928163929163930163931163932163933163934163935163936163937163938163939163940163941163942163943163944163945163946163947163948163949163950163951163952163953163954163955163956163957163958163959163960163961163962163963163964163965163966163967163968163969163970163971163972163973163974163975163976163977163978163979163980163981163982163983163984163985163986163987163988163989163990163991163992163993163994163995163996163997163998163999164000164001164002164003164004164005164006164007164008164009164010164011164012164013164014164015164016164017164018164019164020164021164022164023164024164025164026164027164028164029164030164031164032164033164034164035164036164037164038164039164040164041164042164043164044164045164046164047164048164049164050164051164052164053164054164055164056164057164058164059164060164061164062164063164064164065164066164067164068164069164070164071164072164073164074164075164076164077164078164079164080164081164082164083164084164085164086164087164088164089164090164091164092164093164094164095164096164097164098164099164100164101164102164103164104164105164106164107164108164109164110164111164112164113164114164115164116164117164118164119164120164121164122164123164124164125164126164127164128164129164130164131164132164133164134164135164136164137164138164139164140164141164142164143164144164145164146164147164148164149164150164151164152164153164154164155164156164157164158164159164160164161164162164163164164164165164166164167164168164169164170164171164172164173164174164175164176164177164178164179164180164181164182164183164184164185164186164187164188164189164190164191164192164193164194164195164196164197164198164199164200164201164202164203164204164205164206164207164208164209164210164211164212164213164214164215164216164217164218164219164220164221164222164223164224164225164226164227164228164229164230164231164232164233164234164235164236164237164238164239164240164241164242164243164244164245164246164247164248164249164250164251164252164253164254164255164256164257164258164259164260164261164262164263164264164265164266164267164268164269164270164271164272164273164274164275164276164277164278164279164280164281164282164283164284164285164286164287164288164289164290164291164292164293164294164295164296164297164298164299164300164301164302164303164304164305164306164307164308164309164310164311164312164313164314164315164316164317164318164319164320164321164322164323164324164325164326164327164328164329164330164331164332164333164334164335164336164337164338164339164340164341164342164343164344164345164346164347164348164349164350164351164352164353164354164355164356164357164358164359164360164361164362164363164364164365164366164367164368164369164370164371164372164373164374164375164376164377164378164379164380164381164382164383164384164385164386164387164388164389164390164391164392164393164394164395164396164397164398164399164400164401164402164403164404164405164406164407164408164409164410164411164412164413164414164415164416164417164418164419164420164421164422164423164424164425164426164427164428164429164430164431164432164433164434164435164436164437164438164439164440164441164442164443164444164445164446164447164448164449164450164451164452164453164454164455164456164457164458164459164460164461164462164463164464164465164466164467164468164469164470164471164472164473164474164475164476164477164478164479164480164481164482164483164484164485164486164487164488164489164490164491164492164493164494164495164496164497164498164499164500164501164502164503164504164505164506164507164508164509164510164511164512164513164514164515164516164517164518164519164520164521164522164523164524164525164526164527164528164529164530164531164532164533164534164535164536164537164538164539164540164541164542164543164544164545164546164547164548164549164550164551164552164553164554164555164556164557164558164559164560164561164562164563164564164565164566164567164568164569164570164571164572164573164574164575164576164577164578164579164580164581164582164583164584164585164586164587164588164589164590164591164592164593164594164595164596164597164598164599164600164601164602164603164604164605164606164607164608164609164610164611164612164613164614164615164616164617164618164619164620164621164622164623164624164625164626164627164628164629164630164631164632164633164634164635164636164637164638164639164640164641164642164643164644164645164646164647164648164649164650164651164652164653164654164655164656164657164658164659164660164661164662164663164664164665164666164667164668164669164670164671164672164673164674164675164676164677164678164679164680164681164682164683164684164685164686164687164688164689164690164691164692164693164694164695164696164697164698164699164700164701164702164703164704164705164706164707164708164709164710164711164712164713164714164715164716164717164718164719164720164721164722164723164724164725164726164727164728164729164730164731164732164733164734164735164736164737164738164739164740164741164742164743164744164745164746164747164748164749164750164751164752164753164754164755164756164757164758164759164760164761164762164763164764164765164766164767164768164769164770164771164772164773164774164775164776164777164778164779164780164781164782164783164784164785164786164787164788164789164790164791164792164793164794164795164796164797164798164799164800164801164802164803164804164805164806164807164808164809164810164811164812164813164814164815164816164817164818164819164820164821164822164823164824164825164826164827164828164829164830164831164832164833164834164835164836164837164838164839164840164841164842164843164844164845164846164847164848164849164850164851164852164853164854164855164856164857164858164859164860164861164862164863164864164865164866164867164868164869164870164871164872164873164874164875164876164877164878164879164880164881164882164883164884164885164886164887164888164889164890164891164892164893164894164895164896164897164898164899164900164901164902164903164904164905164906164907164908164909164910164911164912164913164914164915164916164917164918164919164920164921164922164923164924164925164926164927164928164929164930164931164932164933164934164935164936164937164938164939164940164941164942164943164944164945164946164947164948164949164950164951164952164953164954164955164956164957164958164959164960164961164962164963164964164965164966164967164968164969164970164971164972164973164974164975164976164977164978164979164980164981164982164983164984164985164986164987164988164989164990164991164992164993164994164995164996164997164998164999165000165001165002165003165004165005165006165007165008165009165010165011165012165013165014165015165016165017165018165019165020165021165022165023165024165025165026165027165028165029165030165031165032165033165034165035165036165037165038165039165040165041165042165043165044165045165046165047165048165049165050165051165052165053165054165055165056165057165058165059165060165061165062165063165064165065165066165067165068165069165070165071165072165073165074165075165076165077165078165079165080165081165082165083165084165085165086165087165088165089165090165091165092165093165094165095165096165097165098165099165100165101165102165103165104165105165106165107165108165109165110165111165112165113165114165115165116165117165118165119165120165121165122165123165124165125165126165127165128165129165130165131165132165133165134165135165136165137165138165139165140165141165142165143165144165145165146165147165148165149165150165151165152165153165154165155165156165157165158165159165160165161165162165163165164165165165166165167165168165169165170165171165172165173165174165175165176165177165178165179165180165181165182165183165184165185165186165187165188165189165190165191165192165193165194165195165196165197165198165199165200165201165202165203165204165205165206165207165208165209165210165211165212165213165214165215165216165217165218165219165220165221165222165223165224165225165226165227165228165229165230165231165232165233165234165235165236165237165238165239165240165241165242165243165244165245165246165247165248165249165250165251165252165253165254165255165256165257165258165259165260165261165262165263165264165265165266165267165268165269165270165271165272165273165274165275165276165277165278165279165280165281165282165283165284165285165286165287165288165289165290165291165292165293165294165295165296165297165298165299165300165301165302165303165304165305165306165307165308165309165310165311165312165313165314165315165316165317165318165319165320165321165322165323165324165325165326165327165328165329165330165331165332165333165334165335165336165337165338165339165340165341165342165343165344165345165346165347165348165349165350165351165352165353165354165355165356165357165358165359165360165361165362165363165364165365165366165367165368165369165370165371165372165373165374165375165376165377165378165379165380165381165382165383165384165385165386165387165388165389165390165391165392165393165394165395165396165397165398165399165400165401165402165403165404165405165406165407165408165409165410165411165412165413165414165415165416165417165418165419165420165421165422165423165424165425165426165427165428165429165430165431165432165433165434165435165436165437165438165439165440165441165442165443165444165445165446165447165448165449165450165451165452165453165454165455165456165457165458165459165460165461165462165463165464165465165466165467165468165469165470165471165472165473165474165475165476165477165478165479165480165481165482165483165484165485165486165487165488165489165490165491165492165493165494165495165496165497165498165499165500165501165502165503165504165505165506165507165508165509165510165511165512165513165514165515165516165517165518165519165520165521165522165523165524165525165526165527165528165529165530165531165532165533165534165535165536165537165538165539165540165541165542165543165544165545165546165547165548165549165550165551165552165553165554165555165556165557165558165559165560165561165562165563165564165565165566165567165568165569165570165571165572165573165574165575165576165577165578165579165580165581165582165583165584165585165586165587165588165589165590165591165592165593165594165595165596165597165598165599165600165601165602165603165604165605165606165607165608165609165610165611165612165613165614165615165616165617165618165619165620165621165622165623165624165625165626165627165628165629165630165631165632165633165634165635165636165637165638165639165640165641165642165643165644165645165646165647165648165649165650165651165652165653165654165655165656165657165658165659165660165661165662165663165664165665165666165667165668165669165670165671165672165673165674165675165676165677165678165679165680165681165682165683165684165685165686165687165688165689165690165691165692165693165694165695165696165697165698165699165700165701165702165703165704165705165706165707165708165709165710165711165712165713165714165715165716165717165718165719165720165721165722165723165724165725165726165727165728165729165730165731165732165733165734165735165736165737165738165739165740165741165742165743165744165745165746165747165748165749165750165751165752165753165754165755165756165757165758165759165760165761165762165763165764165765165766165767165768165769165770165771165772165773165774165775165776165777165778165779165780165781165782165783165784165785165786165787165788165789165790165791165792165793165794165795165796165797165798165799165800165801165802165803165804165805165806165807165808165809165810165811165812165813165814165815165816165817165818165819165820165821165822165823165824165825165826165827165828165829165830165831165832165833165834165835165836165837165838165839165840165841165842165843165844165845165846165847165848165849165850165851165852165853165854165855165856165857165858165859165860165861165862165863165864165865165866165867165868165869165870165871165872165873165874165875165876165877165878165879165880165881165882165883165884165885165886165887165888165889165890165891165892165893165894165895165896165897165898165899165900165901165902165903165904165905165906165907165908165909165910165911165912165913165914165915165916165917165918165919165920165921165922165923165924165925165926165927165928165929165930165931165932165933165934165935165936165937165938165939165940165941165942165943165944165945165946165947165948165949165950165951165952165953165954165955165956165957165958165959165960165961165962165963165964165965165966165967165968165969165970165971165972165973165974165975165976165977165978165979165980165981165982165983165984165985165986165987165988165989165990165991165992165993165994165995165996165997165998165999166000166001166002166003166004166005166006166007166008166009166010166011166012166013166014166015166016166017166018166019166020166021166022166023166024166025166026166027166028166029166030166031166032166033166034166035166036166037166038166039166040166041166042166043166044166045166046166047166048166049166050166051166052166053166054166055166056166057166058166059166060166061166062166063166064166065166066166067166068166069166070166071166072166073166074166075166076166077166078166079166080166081166082166083166084166085166086166087166088166089166090166091166092166093166094166095166096166097166098166099166100166101166102166103166104166105166106166107166108166109166110166111166112166113166114166115166116166117166118166119166120166121166122166123166124166125166126166127166128166129166130166131166132166133166134166135166136166137166138166139166140166141166142166143166144166145166146166147166148166149166150166151166152166153166154166155166156166157166158166159166160166161166162166163166164166165166166166167166168166169166170166171166172166173166174166175166176166177166178166179166180166181166182166183166184166185166186166187166188166189166190166191166192166193166194166195166196166197166198166199166200166201166202166203166204166205166206166207166208166209166210166211166212166213166214166215166216166217166218166219166220166221166222166223166224166225166226166227166228166229166230166231166232166233166234166235166236166237166238166239166240166241166242166243166244166245166246166247166248166249166250166251166252166253166254166255166256166257166258166259166260166261166262166263166264166265166266166267166268166269166270166271166272166273166274166275166276166277166278166279166280166281166282166283166284166285166286166287166288166289166290166291166292166293166294166295166296166297166298166299166300166301166302166303166304166305166306166307166308166309166310166311166312166313166314166315166316166317166318166319166320166321166322166323166324166325166326166327166328166329166330166331166332166333166334166335166336166337166338166339166340166341166342166343166344166345166346166347166348166349166350166351166352166353166354166355166356166357166358166359166360166361166362166363166364166365166366166367166368166369166370166371166372166373166374166375166376166377166378166379166380166381166382166383166384166385166386166387166388166389166390166391166392166393166394166395166396166397166398166399166400166401166402166403166404166405166406166407166408166409166410166411166412166413166414166415166416166417166418166419166420166421166422166423166424166425166426166427166428166429166430166431166432166433166434166435166436166437166438166439166440166441166442166443166444166445166446166447166448166449166450166451166452166453166454166455166456166457166458166459166460166461166462166463166464166465166466166467166468166469166470166471166472166473166474166475166476166477166478166479166480166481166482166483166484166485166486166487166488166489166490166491166492166493166494166495166496166497166498166499166500166501166502166503166504166505166506166507166508166509166510166511166512166513166514166515166516166517166518166519166520166521166522166523166524166525166526166527166528166529166530166531166532166533166534166535166536166537166538166539166540166541166542166543166544166545166546166547166548166549166550166551166552166553166554166555166556166557166558166559166560166561166562166563166564166565166566166567166568166569166570166571166572166573166574166575166576166577166578166579166580166581166582166583166584166585166586166587166588166589166590166591166592166593166594166595166596166597166598166599166600166601166602166603166604166605166606166607166608166609166610166611166612166613166614166615166616166617166618166619166620166621166622166623166624166625166626166627166628166629166630166631166632166633166634166635166636166637166638166639166640166641166642166643166644166645166646166647166648166649166650166651166652166653166654166655166656166657166658166659166660166661166662166663166664166665166666166667166668166669166670166671166672166673166674166675166676166677166678166679166680166681166682166683166684166685166686166687166688166689166690166691166692166693166694166695166696166697166698166699166700166701166702166703166704166705166706166707166708166709166710166711166712166713166714166715166716166717166718166719166720166721166722166723166724166725166726166727166728166729166730166731166732166733166734166735166736166737166738166739166740166741166742166743166744166745166746166747166748166749166750166751166752166753166754166755166756166757166758166759166760166761166762166763166764166765166766166767166768166769166770166771166772166773166774166775166776166777166778166779166780166781166782166783166784166785166786166787166788166789166790166791166792166793166794166795166796166797166798166799166800166801166802166803166804166805166806166807166808166809166810166811166812166813166814166815166816166817166818166819166820166821166822166823166824166825166826166827166828166829166830166831166832166833166834166835166836166837166838166839166840166841166842166843166844166845166846166847166848166849166850166851166852166853166854166855166856166857166858166859166860166861166862166863166864166865166866166867166868166869166870166871166872166873166874166875166876166877166878166879166880166881166882166883166884166885166886166887166888166889166890166891166892166893166894166895166896166897166898166899166900166901166902166903166904166905166906166907166908166909166910166911166912166913166914166915166916166917166918166919166920166921166922166923166924166925166926166927166928166929166930166931166932166933166934166935166936166937166938166939166940166941166942166943166944166945166946166947166948166949166950166951166952166953166954166955166956166957166958166959166960166961166962166963166964166965166966166967166968166969166970166971166972166973166974166975166976166977166978166979166980166981166982166983166984166985166986166987166988166989166990166991166992166993166994166995166996166997166998166999167000167001167002167003167004167005167006167007167008167009167010167011167012167013167014167015167016167017167018167019167020167021167022167023167024167025167026167027167028167029167030167031167032167033167034167035167036167037167038167039167040167041167042167043167044167045167046167047167048167049167050167051167052167053167054167055167056167057167058167059167060167061167062167063167064167065167066167067167068167069167070167071167072167073167074167075167076167077167078167079167080167081167082167083167084167085167086167087167088167089167090167091167092167093167094167095167096167097167098167099167100167101167102167103167104167105167106167107167108167109167110167111167112167113167114167115167116167117167118167119167120167121167122167123167124167125167126167127167128167129167130167131167132167133167134167135167136167137167138167139167140167141167142167143167144167145167146167147167148167149167150167151167152167153167154167155167156167157167158167159167160167161167162167163167164167165167166167167167168167169167170167171167172167173167174167175167176167177167178167179167180167181167182167183167184167185167186167187167188167189167190167191167192167193167194167195167196167197167198167199167200167201167202167203167204167205167206167207167208167209167210167211167212167213167214167215167216167217167218167219167220167221167222167223167224167225167226167227167228167229167230167231167232167233167234167235167236167237167238167239167240167241167242167243167244167245167246167247167248167249167250167251167252167253167254167255167256167257167258167259167260167261167262167263167264167265167266167267167268167269167270167271167272167273167274167275167276167277167278167279167280167281167282167283167284167285167286167287167288167289167290167291167292167293167294167295167296167297167298167299167300167301167302167303167304167305167306167307167308167309167310167311167312167313167314167315167316167317167318167319167320167321167322167323167324167325167326167327167328167329167330167331167332167333167334167335167336167337167338167339167340167341167342167343167344167345167346167347167348167349167350167351167352167353167354167355167356167357167358167359167360167361167362167363167364167365167366167367167368167369167370167371167372167373167374167375167376167377167378167379167380167381167382167383167384167385167386167387167388167389167390167391167392167393167394167395167396167397167398167399167400167401167402167403167404167405167406167407167408167409167410167411167412167413167414167415167416167417167418167419167420167421167422167423167424167425167426167427167428167429167430167431167432167433167434167435167436167437167438167439167440167441167442167443167444167445167446167447167448167449167450167451167452167453167454167455167456167457167458167459167460167461167462167463167464167465167466167467167468167469167470167471167472167473167474167475167476167477167478167479167480167481167482167483167484167485167486167487167488167489167490167491167492167493167494167495167496167497167498167499167500167501167502167503167504167505167506167507167508167509167510167511167512167513167514167515167516167517167518167519167520167521167522167523167524167525167526167527167528167529167530167531167532167533167534167535167536167537167538167539167540167541167542167543167544167545167546167547167548167549167550167551167552167553167554167555167556167557167558167559167560167561167562167563167564167565167566167567167568167569167570167571167572167573167574167575167576167577167578167579167580167581167582167583167584167585167586167587167588167589167590167591167592167593167594167595167596167597167598167599167600167601167602167603167604167605167606167607167608167609167610167611167612167613167614167615167616167617167618167619167620167621167622167623167624167625167626167627167628167629167630167631167632167633167634167635167636167637167638167639167640167641167642167643167644167645167646167647167648167649167650167651167652167653167654167655167656167657167658167659167660167661167662167663167664167665167666167667167668167669167670167671167672167673167674167675167676167677167678167679167680167681167682167683167684167685167686167687167688167689167690167691167692167693167694167695167696167697167698167699167700167701167702167703167704167705167706167707167708167709167710167711167712167713167714167715167716167717167718167719167720167721167722167723167724167725167726167727167728167729167730167731167732167733167734167735167736167737167738167739167740167741167742167743167744167745167746167747167748167749167750167751167752167753167754167755167756167757167758167759167760167761167762167763167764167765167766167767167768167769167770167771167772167773167774167775167776167777167778167779167780167781167782167783167784167785167786167787167788167789167790167791167792167793167794167795167796167797167798167799167800167801167802167803167804167805167806167807167808167809167810167811167812167813167814167815167816167817167818167819167820167821167822167823167824167825167826167827167828167829167830167831167832167833167834167835167836167837167838167839167840167841167842167843167844167845167846167847167848167849167850167851167852167853167854167855167856167857167858167859167860167861167862167863167864167865167866167867167868167869167870167871167872167873167874167875167876167877167878167879167880167881167882167883167884167885167886167887167888167889167890167891167892167893167894167895167896167897167898167899167900167901167902167903167904167905167906167907167908167909167910167911167912167913167914167915167916167917167918167919167920167921167922167923167924167925167926167927167928167929167930167931167932167933167934167935167936167937167938167939167940167941167942167943167944167945167946167947167948167949167950167951167952167953167954167955167956167957167958167959167960167961167962167963167964167965167966167967167968167969167970167971167972167973167974167975167976167977167978167979167980167981167982167983167984167985167986167987167988167989167990167991167992167993167994167995167996167997167998167999168000168001168002168003168004168005168006168007168008168009168010168011168012168013168014168015168016168017168018168019168020168021168022168023168024168025168026168027168028168029168030168031168032168033168034168035168036168037168038168039168040168041168042168043168044168045168046168047168048168049168050168051168052168053168054168055168056168057168058168059168060168061168062168063168064168065168066168067168068168069168070168071168072168073168074168075168076168077168078168079168080168081168082168083168084168085168086168087168088168089168090168091168092168093168094168095168096168097168098168099168100168101168102168103168104168105168106168107168108168109168110168111168112168113168114168115168116168117168118168119168120168121168122168123168124168125168126168127168128168129168130168131168132168133168134168135168136168137168138168139168140168141168142168143168144168145168146168147168148168149168150168151168152168153168154168155168156168157168158168159168160168161168162168163168164168165168166168167168168168169168170168171168172168173168174168175168176168177168178168179168180168181168182168183168184168185168186168187168188168189168190168191168192168193168194168195168196168197168198168199168200168201168202168203168204168205168206168207168208168209168210168211168212168213168214168215168216168217168218168219168220168221168222168223168224168225168226168227168228168229168230168231168232168233168234168235168236168237168238168239168240168241168242168243168244168245168246168247168248168249168250168251168252168253168254168255168256168257168258168259168260168261168262168263168264168265168266168267168268168269168270168271168272168273168274168275168276168277168278168279168280168281168282168283168284168285168286168287168288168289168290168291168292168293168294168295168296168297168298168299168300168301168302168303168304168305168306168307168308168309168310168311168312168313168314168315168316168317168318168319168320168321168322168323168324168325168326168327168328168329168330168331168332168333168334168335168336168337168338168339168340168341168342168343168344168345168346168347168348168349168350168351168352168353168354168355168356168357168358168359168360168361168362168363168364168365168366168367168368168369168370168371168372168373168374168375168376168377168378168379168380168381168382168383168384168385168386168387168388168389168390168391168392168393168394168395168396168397168398168399168400168401168402168403168404168405168406168407168408168409168410168411168412168413168414168415168416168417168418168419168420168421168422168423168424168425168426168427168428168429168430168431168432168433168434168435168436168437168438168439168440168441168442168443168444168445168446168447168448168449168450168451168452168453168454168455168456168457168458168459168460168461168462168463168464168465168466168467168468168469168470168471168472168473168474168475168476168477168478168479168480168481168482168483168484168485168486168487168488168489168490168491168492168493168494168495168496168497168498168499168500168501168502168503168504168505168506168507168508168509168510168511168512168513168514168515168516168517168518168519168520168521168522168523168524168525168526168527168528168529168530168531168532168533168534168535168536168537168538168539168540168541168542168543168544168545168546168547168548168549168550168551168552168553168554168555168556168557168558168559168560168561168562168563168564168565168566168567168568168569168570168571168572168573168574168575168576168577168578168579168580168581168582168583168584168585168586168587168588168589168590168591168592168593168594168595168596168597168598168599168600168601168602168603168604168605168606168607168608168609168610168611168612168613168614168615168616168617168618168619168620168621168622168623168624168625168626168627168628168629168630168631168632168633168634168635168636168637168638168639168640168641168642168643168644168645168646168647168648168649168650168651168652168653168654168655168656168657168658168659168660168661168662168663168664168665168666168667168668168669168670168671168672168673168674168675168676168677168678168679168680168681168682168683168684168685168686168687168688168689168690168691168692168693168694168695168696168697168698168699168700168701168702168703168704168705168706168707168708168709168710168711168712168713168714168715168716168717168718168719168720168721168722168723168724168725168726168727168728168729168730168731168732168733168734168735168736168737168738168739168740168741168742168743168744168745168746168747168748168749168750168751168752168753168754168755168756168757168758168759168760168761168762168763168764168765168766168767168768168769168770168771168772168773168774168775168776168777168778168779168780168781168782168783168784168785168786168787168788168789168790168791168792168793168794168795168796168797168798168799168800168801168802168803168804168805168806168807168808168809168810168811168812168813168814168815168816168817168818168819168820168821168822168823168824168825168826168827168828168829168830168831168832168833168834168835168836168837168838168839168840168841168842168843168844168845168846168847168848168849168850168851168852168853168854168855168856168857168858168859168860168861168862168863168864168865168866168867168868168869168870168871168872168873168874168875168876168877168878168879168880168881168882168883168884168885168886168887168888168889168890168891168892168893168894168895168896168897168898168899168900168901168902168903168904168905168906168907168908168909168910168911168912168913168914168915168916168917168918168919168920168921168922168923168924168925168926168927168928168929168930168931168932168933168934168935168936168937168938168939168940168941168942168943168944168945168946168947168948168949168950168951168952168953168954168955168956168957168958168959168960168961168962168963168964168965168966168967168968168969168970168971168972168973168974168975168976168977168978168979168980168981168982168983168984168985168986168987168988168989168990168991168992168993168994168995168996168997168998168999169000169001169002169003169004169005169006169007169008169009169010169011169012169013169014169015169016169017169018169019169020169021169022169023169024169025169026169027169028169029169030169031169032169033169034169035169036169037169038169039169040169041169042169043169044169045169046169047169048169049169050169051169052169053169054169055169056169057169058169059169060169061169062169063169064169065169066169067169068169069169070169071169072169073169074169075169076169077169078169079169080169081169082169083169084169085169086169087169088169089169090169091169092169093169094169095169096169097169098169099169100169101169102169103169104169105169106169107169108169109169110169111169112169113169114169115169116169117169118169119169120169121169122169123169124169125169126169127169128169129169130169131169132169133169134169135169136169137169138169139169140169141169142169143169144169145169146169147169148169149169150169151169152169153169154169155169156169157169158169159169160169161169162169163169164169165169166169167169168169169169170169171169172169173169174169175169176169177169178169179169180169181169182169183169184169185169186169187169188169189169190169191169192169193169194169195169196169197169198169199169200169201169202169203169204169205169206169207169208169209169210169211169212169213169214169215169216169217169218169219169220169221169222169223169224169225169226169227169228169229169230169231169232169233169234169235169236169237169238169239169240169241169242169243169244169245169246169247169248169249169250169251169252169253169254169255169256169257169258169259169260169261169262169263169264169265169266169267169268169269169270169271169272169273169274169275169276169277169278169279169280169281169282169283169284169285169286169287169288169289169290169291169292169293169294169295169296169297169298169299169300169301169302169303169304169305169306169307169308169309169310169311169312169313169314169315169316169317169318169319169320169321169322169323169324169325169326169327169328169329169330169331169332169333169334169335169336169337169338169339169340169341169342169343169344169345169346169347169348169349169350169351169352169353169354169355169356169357169358169359169360169361169362169363169364169365169366169367169368169369169370169371169372169373169374169375169376169377169378169379169380169381169382169383169384169385169386169387169388169389169390169391169392169393169394169395169396169397169398169399169400169401169402169403169404169405169406169407169408169409169410169411169412169413169414169415169416169417169418169419169420169421169422169423169424169425169426169427169428169429169430169431169432169433169434169435169436169437169438169439169440169441169442169443169444169445169446169447169448169449169450169451169452169453169454169455169456169457169458169459169460169461169462169463169464169465169466169467169468169469169470169471169472169473169474169475169476169477169478169479169480169481169482169483169484169485169486169487169488169489169490169491169492169493169494169495169496169497169498169499169500169501169502169503169504169505169506169507169508169509169510169511169512169513169514169515169516169517169518169519169520169521169522169523169524169525169526169527169528169529169530169531169532169533169534169535169536169537169538169539169540169541169542169543169544169545169546169547169548169549169550169551169552169553169554169555169556169557169558169559169560169561169562169563169564169565169566169567169568169569169570169571169572169573169574169575169576169577169578169579169580169581169582169583169584169585169586169587169588169589169590169591169592169593169594169595169596169597169598169599169600169601169602169603169604169605169606169607169608169609169610169611169612169613169614169615169616169617169618169619169620169621169622169623169624169625169626169627169628169629169630169631169632169633169634169635169636169637169638169639169640169641169642169643169644169645169646169647169648169649169650169651169652169653169654169655169656169657169658169659169660169661169662169663169664169665169666169667169668169669169670169671169672169673169674169675169676169677169678169679169680169681169682169683169684169685169686169687169688169689169690169691169692169693169694169695169696169697169698169699169700169701169702169703169704169705169706169707169708169709169710169711169712169713169714169715169716169717169718169719169720169721169722169723169724169725169726169727169728169729169730169731169732169733169734169735169736169737169738169739169740169741169742169743169744169745169746169747169748169749169750169751169752169753169754169755169756169757169758169759169760169761169762169763169764169765169766169767169768169769169770169771169772169773169774169775169776169777169778169779169780169781169782169783169784169785169786169787169788169789169790169791169792169793169794169795169796169797169798169799169800169801169802169803169804169805169806169807169808169809169810169811169812169813169814169815169816169817169818169819169820169821169822169823169824169825169826169827169828169829169830169831169832169833169834169835169836169837169838169839169840169841169842169843169844169845169846169847169848169849169850169851169852169853169854169855169856169857169858169859169860169861169862169863169864169865169866169867169868169869169870169871169872169873169874169875169876169877169878169879169880169881169882169883169884169885169886169887169888169889169890169891169892169893169894169895169896169897169898169899169900169901169902169903169904169905169906169907169908169909169910169911169912169913169914169915169916169917169918169919169920169921169922169923169924169925169926169927169928169929169930169931169932169933169934169935169936169937169938169939169940169941169942169943169944169945169946169947169948169949169950169951169952169953169954169955169956169957169958169959169960169961169962169963169964169965169966169967169968169969169970169971169972169973169974169975169976169977169978169979169980169981169982169983169984169985169986169987169988169989169990169991169992169993169994169995169996169997169998169999170000170001170002170003170004170005170006170007170008170009170010170011170012170013170014170015170016170017170018170019170020170021170022170023170024170025170026170027170028170029170030170031170032170033170034170035170036170037170038170039170040170041170042170043170044170045170046170047170048170049170050170051170052170053170054170055170056170057170058170059170060170061170062170063170064170065170066170067170068170069170070170071170072170073170074170075170076170077170078170079170080170081170082170083170084170085170086170087170088170089170090170091170092170093170094170095170096170097170098170099170100170101170102170103170104170105170106170107170108170109170110170111170112170113170114170115170116170117170118170119170120170121170122170123170124170125170126170127170128170129170130170131170132170133170134170135170136170137170138170139170140170141170142170143170144170145170146170147170148170149170150170151170152170153170154170155170156170157170158170159170160170161170162170163170164170165170166170167170168170169170170170171170172170173170174170175170176170177170178170179170180170181170182170183170184170185170186170187170188170189170190170191170192170193170194170195170196170197170198170199170200170201170202170203170204170205170206170207170208170209170210170211170212170213170214170215170216170217170218170219170220170221170222170223170224170225170226170227170228170229170230170231170232170233170234170235170236170237170238170239170240170241170242170243170244170245170246170247170248170249170250170251170252170253170254170255170256170257170258170259170260170261170262170263170264170265170266170267170268170269170270170271170272170273170274170275170276170277170278170279170280170281170282170283170284170285170286170287170288170289170290170291170292170293170294170295170296170297170298170299170300170301170302170303170304170305170306170307170308170309170310170311170312170313170314170315170316170317170318170319170320170321170322170323170324170325170326170327170328170329170330170331170332170333170334170335170336170337170338170339170340170341170342170343170344170345170346170347170348170349170350170351170352170353170354170355170356170357170358170359170360170361170362170363170364170365170366170367170368170369170370170371170372170373170374170375170376170377170378170379170380170381170382170383170384170385170386170387170388170389170390170391170392170393170394170395170396170397170398170399170400170401170402170403170404170405170406170407170408170409170410170411170412170413170414170415170416170417170418170419170420170421170422170423170424170425170426170427170428170429170430170431170432170433170434170435170436170437170438170439170440170441170442170443170444170445170446170447170448170449170450170451170452170453170454170455170456170457170458170459170460170461170462170463170464170465170466170467170468170469170470170471170472170473170474170475170476170477170478170479170480170481170482170483170484170485170486170487170488170489170490170491170492170493170494170495170496170497170498170499170500170501170502170503170504170505170506170507170508170509170510170511170512170513170514170515170516170517170518170519170520170521170522170523170524170525170526170527170528170529170530170531170532170533170534170535170536170537170538170539170540170541170542170543170544170545170546170547170548170549170550170551170552170553170554170555170556170557170558170559170560170561170562170563170564170565170566170567170568170569170570170571170572170573170574170575170576170577170578170579170580170581170582170583170584170585170586170587170588170589170590170591170592170593170594170595170596170597170598170599170600170601170602170603170604170605170606170607170608170609170610170611170612170613170614170615170616170617170618170619170620170621170622170623170624170625170626170627170628170629170630170631170632170633170634170635170636170637170638170639170640170641170642170643170644170645170646170647170648170649170650170651170652170653170654170655170656170657170658170659170660170661170662170663170664170665170666170667170668170669170670170671170672170673170674170675170676170677170678170679170680170681170682170683170684170685170686170687170688170689170690170691170692170693170694170695170696170697170698170699170700170701170702170703170704170705170706170707170708170709170710170711170712170713170714170715170716170717170718170719170720170721170722170723170724170725170726170727170728170729170730170731170732170733170734170735170736170737170738170739170740170741170742170743170744170745170746170747170748170749170750170751170752170753170754170755170756170757170758170759170760170761170762170763170764170765170766170767170768170769170770170771170772170773170774170775170776170777170778170779170780170781170782170783170784170785170786170787170788170789170790170791170792170793170794170795170796170797170798170799170800170801170802170803170804170805170806170807170808170809170810170811170812170813170814170815170816170817170818170819170820170821170822170823170824170825170826170827170828170829170830170831170832170833170834170835170836170837170838170839170840170841170842170843170844170845170846170847170848170849170850170851170852170853170854170855170856170857170858170859170860170861170862170863170864170865170866170867170868170869170870170871170872170873170874170875170876170877170878170879170880170881170882170883170884170885170886170887170888170889170890170891170892170893170894170895170896170897170898170899170900170901170902170903170904170905170906170907170908170909170910170911170912170913170914170915170916170917170918170919170920170921170922170923170924170925170926170927170928170929170930170931170932170933170934170935170936170937170938170939170940170941170942170943170944170945170946170947170948170949170950170951170952170953170954170955170956170957170958170959170960170961170962170963170964170965170966170967170968170969170970170971170972170973170974170975170976170977170978170979170980170981170982170983170984170985170986170987170988170989170990170991170992170993170994170995170996170997170998170999171000171001171002171003171004171005171006171007171008171009171010171011171012171013171014171015171016171017171018171019171020171021171022171023171024171025171026171027171028171029171030171031171032171033171034171035171036171037171038171039171040171041171042171043171044171045171046171047171048171049171050171051171052171053171054171055171056171057171058171059171060171061171062171063171064171065171066171067171068171069171070171071171072171073171074171075171076171077171078171079171080171081171082171083171084171085171086171087171088171089171090171091171092171093171094171095171096171097171098171099171100171101171102171103171104171105171106171107171108171109171110171111171112171113171114171115171116171117171118171119171120171121171122171123171124171125171126171127171128171129171130171131171132171133171134171135171136171137171138171139171140171141171142171143171144171145171146171147171148171149171150171151171152171153171154171155171156171157171158171159171160171161171162171163171164171165171166171167171168171169171170171171171172171173171174171175171176171177171178171179171180171181171182171183171184171185171186171187171188171189171190171191171192171193171194171195171196171197171198171199171200171201171202171203171204171205171206171207171208171209171210171211171212171213171214171215171216171217171218171219171220171221171222171223171224171225171226171227171228171229171230171231171232171233171234171235171236171237171238171239171240171241171242171243171244171245171246171247171248171249171250171251171252171253171254171255171256171257171258171259171260171261171262171263171264171265171266171267171268171269171270171271171272171273171274171275171276171277171278171279171280171281171282171283171284171285171286171287171288171289171290171291171292171293171294171295171296171297171298171299171300171301171302171303171304171305171306171307171308171309171310171311171312171313171314171315171316171317171318171319171320171321171322171323171324171325171326171327171328171329171330171331171332171333171334171335171336171337171338171339171340171341171342171343171344171345171346171347171348171349171350171351171352171353171354171355171356171357171358171359171360171361171362171363171364171365171366171367171368171369171370171371171372171373171374171375171376171377171378171379171380171381171382171383171384171385171386171387171388171389171390171391171392171393171394171395171396171397171398171399171400171401171402171403171404171405171406171407171408171409171410171411171412171413171414171415171416171417171418171419171420171421171422171423171424171425171426171427171428171429171430171431171432171433171434171435171436171437171438171439171440171441171442171443171444171445171446171447171448171449171450171451171452171453171454171455171456171457171458171459171460171461171462171463171464171465171466171467171468171469171470171471171472171473171474171475171476171477171478171479171480171481171482171483171484171485171486171487171488171489171490171491171492171493171494171495171496171497171498171499171500171501171502171503171504171505171506171507171508171509171510171511171512171513171514171515171516171517171518171519171520171521171522171523171524171525171526171527171528171529171530171531171532171533171534171535171536171537171538171539171540171541171542171543171544171545171546171547171548171549171550171551171552171553171554171555171556171557171558171559171560171561171562171563171564171565171566171567171568171569171570171571171572171573171574171575171576171577171578171579171580171581171582171583171584171585171586171587171588171589171590171591171592171593171594171595171596171597171598171599171600171601171602171603171604171605171606171607171608171609171610171611171612171613171614171615171616171617171618171619171620171621171622171623171624171625171626171627171628171629171630171631171632171633171634171635171636171637171638171639171640171641171642171643171644171645171646171647171648171649171650171651171652171653171654171655171656171657171658171659171660171661171662171663171664171665171666171667171668171669171670171671171672171673171674171675171676171677171678171679171680171681171682171683171684171685171686171687171688171689171690171691171692171693171694171695171696171697171698171699171700171701171702171703171704171705171706171707171708171709171710171711171712171713171714171715171716171717171718171719171720171721171722171723171724171725171726171727171728171729171730171731171732171733171734171735171736171737171738171739171740171741171742171743171744171745171746171747171748171749171750171751171752171753171754171755171756171757171758171759171760171761171762171763171764171765171766171767171768171769171770171771171772171773171774171775171776171777171778171779171780171781171782171783171784171785171786171787171788171789171790171791171792171793171794171795171796171797171798171799171800171801171802171803171804171805171806171807171808171809171810171811171812171813171814171815171816171817171818171819171820171821171822171823171824171825171826171827171828171829171830171831171832171833171834171835171836171837171838171839171840171841171842171843171844171845171846171847171848171849171850171851171852171853171854171855171856171857171858171859171860171861171862171863171864171865171866171867171868171869171870171871171872171873171874171875171876171877171878171879171880171881171882171883171884171885171886171887171888171889171890171891171892171893171894171895171896171897171898171899171900171901171902171903171904171905171906171907171908171909171910171911171912171913
  1. (function e(t, n, r) {
  2. function s(o, u) {
  3. if (!n[o]) {
  4. if (!t[o]) {
  5. var a = typeof require == "function" && require;
  6. if (!u && a) return a(o, !0);
  7. if (i) return i(o, !0);
  8. var f = new Error("Cannot find module '" + o + "'");
  9. throw ((f.code = "MODULE_NOT_FOUND"), f);
  10. }
  11. var l = (n[o] = { exports: {} });
  12. t[o][0].call(
  13. l.exports,
  14. function (e) {
  15. var n = t[o][1][e];
  16. return s(n ? n : e);
  17. },
  18. l,
  19. l.exports,
  20. e,
  21. t,
  22. n,
  23. r
  24. );
  25. }
  26. return n[o].exports;
  27. }
  28. var i = typeof require == "function" && require;
  29. for (var o = 0; o < r.length; o++) s(r[o]);
  30. return s;
  31. })(
  32. {
  33. 1: [
  34. function (require, module, exports) {
  35. "use strict";
  36. window.ZstdCodec = require("./lib/zstd-codec.js");
  37. window.ZstdStream = require("./lib/zstd-stream.js");
  38. },
  39. { "./lib/zstd-codec.js": 7, "./lib/zstd-stream.js": 8 },
  40. ],
  41. 2: [
  42. function (require, module, exports) {
  43. "use strict";
  44. exports.DEFAULT_COMPRESSION_LEVEL = 3;
  45. exports.STREAMING_DEFAULT_BUFFER_SIZE = 512 * 1024;
  46. },
  47. {},
  48. ],
  49. 3: [
  50. function (require, module, exports) {
  51. (function (Buffer) {
  52. "use strict";
  53. var _typeof =
  54. typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
  55. ? function (obj) {
  56. return typeof obj;
  57. }
  58. : function (obj) {
  59. return obj &&
  60. typeof Symbol === "function" &&
  61. obj.constructor === Symbol &&
  62. obj !== Symbol.prototype
  63. ? "symbol"
  64. : typeof obj;
  65. };
  66. var _createClass = (function () {
  67. function defineProperties(target, props) {
  68. for (var i = 0; i < props.length; i++) {
  69. var descriptor = props[i];
  70. descriptor.enumerable = descriptor.enumerable || false;
  71. descriptor.configurable = true;
  72. if ("value" in descriptor) descriptor.writable = true;
  73. Object.defineProperty(target, descriptor.key, descriptor);
  74. }
  75. }
  76. return function (Constructor, protoProps, staticProps) {
  77. if (protoProps)
  78. defineProperties(Constructor.prototype, protoProps);
  79. if (staticProps) defineProperties(Constructor, staticProps);
  80. return Constructor;
  81. };
  82. })();
  83. function _classCallCheck(instance, Constructor) {
  84. if (!(instance instanceof Constructor)) {
  85. throw new TypeError("Cannot call a class as a function");
  86. }
  87. }
  88. var ArrayBufferHelper = (function () {
  89. function ArrayBufferHelper() {
  90. _classCallCheck(this, ArrayBufferHelper);
  91. }
  92. _createClass(ArrayBufferHelper, null, [
  93. {
  94. key: "transfer",
  95. value: function transfer(old_buffer, new_capacity) {
  96. var bytes = new Uint8Array(new ArrayBuffer(new_capacity));
  97. bytes.set(new Uint8Array(old_buffer.slice(0, new_capacity)));
  98. return bytes.buffer;
  99. },
  100. },
  101. ]);
  102. return ArrayBufferHelper;
  103. })();
  104. var getClassName = function getClassName(obj) {
  105. if (
  106. !obj ||
  107. (typeof obj === "undefined" ? "undefined" : _typeof(obj)) !=
  108. "object"
  109. )
  110. return null; // Object.prototype.toString returns '[object ClassName]',
  111. // remove prefix '[object ' and suffix ']'
  112. return Object.prototype.toString
  113. .call(obj)
  114. .slice("[object ".length, -1);
  115. };
  116. var isUint8Array = function isUint8Array(obj) {
  117. return getClassName(obj) == "Uint8Array";
  118. };
  119. var isString = function isString(obj) {
  120. return typeof obj == "string" || getClassName(obj) == "String";
  121. };
  122. var toTypedArray = function toTypedArray(
  123. chunk,
  124. encoding,
  125. string_decoder
  126. ) {
  127. if (isString(chunk)) {
  128. chunk = string_decoder(encoding);
  129. }
  130. if (isUint8Array(chunk)) {
  131. // NOTE: Buffer is recognized as Uint8Array object.
  132. return chunk;
  133. } else if (getClassName(chunk) == "ArrayBuffer") {
  134. return new Uint8Array(chunk);
  135. } else if (Array.isArray(chunk)) {
  136. return new Uint8Array(chunk);
  137. }
  138. return null;
  139. }; // NOTE: only available on Node.js environment
  140. var fromTypedArrayToBuffer = function fromTypedArrayToBuffer(
  141. typedArray
  142. ) {
  143. return Buffer.from(typedArray.buffer);
  144. };
  145. exports.ArrayBufferHelper = ArrayBufferHelper;
  146. exports.getClassName = getClassName;
  147. exports.isUint8Array = isUint8Array;
  148. exports.isString = isString;
  149. exports.toTypedArray = toTypedArray;
  150. exports.fromTypedArrayToBuffer = fromTypedArrayToBuffer;
  151. }).call(this, require("buffer").Buffer);
  152. },
  153. { buffer: 54 },
  154. ],
  155. 4: [
  156. function (require, module, exports) {
  157. "use strict";
  158. var _typeof =
  159. typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
  160. ? function (obj) {
  161. return typeof obj;
  162. }
  163. : function (obj) {
  164. return obj &&
  165. typeof Symbol === "function" &&
  166. obj.constructor === Symbol &&
  167. obj !== Symbol.prototype
  168. ? "symbol"
  169. : typeof obj;
  170. }; // REF: https://stackoverflow.com/a/47880734
  171. var wasmSupported = (function () {
  172. try {
  173. if (
  174. (typeof WebAssembly === "undefined"
  175. ? "undefined"
  176. : _typeof(WebAssembly)) === "object" &&
  177. typeof WebAssembly.instantiate === "function"
  178. ) {
  179. var module = new WebAssembly.Module(
  180. Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00)
  181. );
  182. if (module instanceof WebAssembly.Module)
  183. return (
  184. new WebAssembly.Instance(module) instanceof
  185. WebAssembly.Instance
  186. );
  187. }
  188. } catch (e) {}
  189. return false;
  190. })();
  191. exports.run = function (f) {
  192. var Module = {};
  193. Module.onRuntimeInitialized = function () {
  194. f(Module);
  195. };
  196. if (wasmSupported) {
  197. require("./zstd-codec-binding-wasm.js")(Module);
  198. } else {
  199. require("./zstd-codec-binding.js")(Module);
  200. }
  201. };
  202. },
  203. { "./zstd-codec-binding-wasm.js": 5, "./zstd-codec-binding.js": 6 },
  204. ],
  205. 5: [
  206. function (require, module, exports) {
  207. (function (process, Buffer, __dirname) {
  208. "use strict";
  209. var _typeof =
  210. typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
  211. ? function (obj) {
  212. return typeof obj;
  213. }
  214. : function (obj) {
  215. return obj &&
  216. typeof Symbol === "function" &&
  217. obj.constructor === Symbol &&
  218. obj !== Symbol.prototype
  219. ? "symbol"
  220. : typeof obj;
  221. };
  222. var Module = (function () {
  223. var _scriptDir =
  224. typeof document !== "undefined" && document.currentScript
  225. ? document.currentScript.src
  226. : undefined;
  227. return function (Module) {
  228. Module = Module || {};
  229. var Module;
  230. if (!Module) Module = typeof Module !== "undefined" ? Module : {};
  231. var moduleOverrides = {};
  232. var key;
  233. for (key in Module) {
  234. if (Module.hasOwnProperty(key)) {
  235. moduleOverrides[key] = Module[key];
  236. }
  237. }
  238. Module["arguments"] = [];
  239. Module["thisProgram"] = "./this.program";
  240. Module["quit"] = function (status, toThrow) {
  241. throw toThrow;
  242. };
  243. Module["preRun"] = [];
  244. Module["postRun"] = [];
  245. var ENVIRONMENT_IS_WEB = false;
  246. var ENVIRONMENT_IS_WORKER = false;
  247. var ENVIRONMENT_IS_NODE = false;
  248. var ENVIRONMENT_IS_SHELL = false;
  249. ENVIRONMENT_IS_WEB =
  250. (typeof window === "undefined"
  251. ? "undefined"
  252. : _typeof(window)) === "object";
  253. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  254. ENVIRONMENT_IS_NODE =
  255. (typeof process === "undefined"
  256. ? "undefined"
  257. : _typeof(process)) === "object" &&
  258. typeof require === "function" &&
  259. !ENVIRONMENT_IS_WEB &&
  260. !ENVIRONMENT_IS_WORKER;
  261. ENVIRONMENT_IS_SHELL =
  262. !ENVIRONMENT_IS_WEB &&
  263. !ENVIRONMENT_IS_NODE &&
  264. !ENVIRONMENT_IS_WORKER;
  265. var scriptDirectory = "";
  266. function locateFile(path) {
  267. if (Module["locateFile"]) {
  268. return Module["locateFile"](path, scriptDirectory);
  269. } else {
  270. return scriptDirectory + path;
  271. }
  272. }
  273. if (ENVIRONMENT_IS_NODE) {
  274. scriptDirectory = __dirname + "/";
  275. var nodeFS;
  276. var nodePath;
  277. Module["read"] = function shell_read(filename, binary) {
  278. var ret;
  279. ret = tryParseAsDataURI(filename);
  280. if (!ret) {
  281. if (!nodeFS) nodeFS = require("fs");
  282. if (!nodePath) nodePath = require("path");
  283. filename = nodePath["normalize"](filename);
  284. ret = nodeFS["readFileSync"](filename);
  285. }
  286. return binary ? ret : ret.toString();
  287. };
  288. Module["readBinary"] = function readBinary(filename) {
  289. var ret = Module["read"](filename, true);
  290. if (!ret.buffer) {
  291. ret = new Uint8Array(ret);
  292. }
  293. assert(ret.buffer);
  294. return ret;
  295. };
  296. if (process["argv"].length > 1) {
  297. Module["thisProgram"] = process["argv"][1].replace(
  298. /\\/g,
  299. "/"
  300. );
  301. }
  302. Module["arguments"] = process["argv"].slice(2);
  303. process["on"]("uncaughtException", function (ex) {
  304. if (!(ex instanceof ExitStatus)) {
  305. throw ex;
  306. }
  307. });
  308. process["on"]("unhandledRejection", function (reason, p) {
  309. process["exit"](1);
  310. });
  311. Module["quit"] = function (status) {
  312. process["exit"](status);
  313. };
  314. Module["inspect"] = function () {
  315. return "[Emscripten Module object]";
  316. };
  317. } else if (ENVIRONMENT_IS_SHELL) {
  318. if (typeof read != "undefined") {
  319. Module["read"] = function shell_read(f) {
  320. var data = tryParseAsDataURI(f);
  321. if (data) {
  322. return intArrayToString(data);
  323. }
  324. return read(f);
  325. };
  326. }
  327. Module["readBinary"] = function readBinary(f) {
  328. var data;
  329. data = tryParseAsDataURI(f);
  330. if (data) {
  331. return data;
  332. }
  333. if (typeof readbuffer === "function") {
  334. return new Uint8Array(readbuffer(f));
  335. }
  336. data = read(f, "binary");
  337. assert(
  338. (typeof data === "undefined"
  339. ? "undefined"
  340. : _typeof(data)) === "object"
  341. );
  342. return data;
  343. };
  344. if (typeof scriptArgs != "undefined") {
  345. Module["arguments"] = scriptArgs;
  346. } else if (typeof arguments != "undefined") {
  347. Module["arguments"] = arguments;
  348. }
  349. if (typeof quit === "function") {
  350. Module["quit"] = function (status) {
  351. quit(status);
  352. };
  353. }
  354. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  355. if (ENVIRONMENT_IS_WEB) {
  356. if (document.currentScript) {
  357. scriptDirectory = document.currentScript.src;
  358. }
  359. } else {
  360. scriptDirectory = self.location.href;
  361. }
  362. if (_scriptDir) {
  363. scriptDirectory = _scriptDir;
  364. }
  365. if (scriptDirectory.indexOf("blob:") !== 0) {
  366. scriptDirectory =
  367. scriptDirectory.split("/").slice(0, -1).join("/") + "/";
  368. } else {
  369. scriptDirectory = "";
  370. }
  371. Module["read"] = function shell_read(url) {
  372. try {
  373. var xhr = new XMLHttpRequest();
  374. xhr.open("GET", url, false);
  375. xhr.send(null);
  376. return xhr.responseText;
  377. } catch (err) {
  378. var data = tryParseAsDataURI(url);
  379. if (data) {
  380. return intArrayToString(data);
  381. }
  382. throw err;
  383. }
  384. };
  385. if (ENVIRONMENT_IS_WORKER) {
  386. Module["readBinary"] = function readBinary(url) {
  387. try {
  388. var xhr = new XMLHttpRequest();
  389. xhr.open("GET", url, false);
  390. xhr.responseType = "arraybuffer";
  391. xhr.send(null);
  392. return new Uint8Array(xhr.response);
  393. } catch (err) {
  394. var data = tryParseAsDataURI(url);
  395. if (data) {
  396. return data;
  397. }
  398. throw err;
  399. }
  400. };
  401. }
  402. Module["readAsync"] = function readAsync(url, onload, onerror) {
  403. var xhr = new XMLHttpRequest();
  404. xhr.open("GET", url, true);
  405. xhr.responseType = "arraybuffer";
  406. xhr.onload = function xhr_onload() {
  407. if (
  408. xhr.status == 200 ||
  409. (xhr.status == 0 && xhr.response)
  410. ) {
  411. onload(xhr.response);
  412. return;
  413. }
  414. var data = tryParseAsDataURI(url);
  415. if (data) {
  416. onload(data.buffer);
  417. return;
  418. }
  419. onerror();
  420. };
  421. xhr.onerror = onerror;
  422. xhr.send(null);
  423. };
  424. Module["setWindowTitle"] = function (title) {
  425. document.title = title;
  426. };
  427. } else {
  428. }
  429. var out =
  430. Module["print"] ||
  431. (typeof console !== "undefined"
  432. ? console.log.bind(console)
  433. : typeof print !== "undefined"
  434. ? print
  435. : null);
  436. var err =
  437. Module["printErr"] ||
  438. (typeof printErr !== "undefined"
  439. ? printErr
  440. : (typeof console !== "undefined" &&
  441. console.warn.bind(console)) ||
  442. out);
  443. for (key in moduleOverrides) {
  444. if (moduleOverrides.hasOwnProperty(key)) {
  445. Module[key] = moduleOverrides[key];
  446. }
  447. }
  448. moduleOverrides = undefined;
  449. var STACK_ALIGN = 16;
  450. function staticAlloc(size) {
  451. var ret = STATICTOP;
  452. STATICTOP = (STATICTOP + size + 15) & -16;
  453. return ret;
  454. }
  455. function dynamicAlloc(size) {
  456. var ret = HEAP32[DYNAMICTOP_PTR >> 2];
  457. var end = (ret + size + 15) & -16;
  458. HEAP32[DYNAMICTOP_PTR >> 2] = end;
  459. if (end >= TOTAL_MEMORY) {
  460. var success = enlargeMemory();
  461. if (!success) {
  462. HEAP32[DYNAMICTOP_PTR >> 2] = ret;
  463. return 0;
  464. }
  465. }
  466. return ret;
  467. }
  468. function alignMemory(size, factor) {
  469. if (!factor) factor = STACK_ALIGN;
  470. var ret = (size = Math.ceil(size / factor) * factor);
  471. return ret;
  472. }
  473. function getNativeTypeSize(type) {
  474. switch (type) {
  475. case "i1":
  476. case "i8":
  477. return 1;
  478. case "i16":
  479. return 2;
  480. case "i32":
  481. return 4;
  482. case "i64":
  483. return 8;
  484. case "float":
  485. return 4;
  486. case "double":
  487. return 8;
  488. default: {
  489. if (type[type.length - 1] === "*") {
  490. return 4;
  491. } else if (type[0] === "i") {
  492. var bits = parseInt(type.substr(1));
  493. assert(bits % 8 === 0);
  494. return bits / 8;
  495. } else {
  496. return 0;
  497. }
  498. }
  499. }
  500. }
  501. function warnOnce(text) {
  502. if (!warnOnce.shown) warnOnce.shown = {};
  503. if (!warnOnce.shown[text]) {
  504. warnOnce.shown[text] = 1;
  505. err(text);
  506. }
  507. }
  508. var asm2wasmImports = {
  509. "f64-rem": function f64Rem(x, y) {
  510. return x % y;
  511. },
  512. debugger: function _debugger() {
  513. debugger;
  514. },
  515. };
  516. var jsCallStartIndex = 1;
  517. var functionPointers = new Array(0);
  518. var funcWrappers = {};
  519. function dynCall(sig, ptr, args) {
  520. if (args && args.length) {
  521. return Module["dynCall_" + sig].apply(
  522. null,
  523. [ptr].concat(args)
  524. );
  525. } else {
  526. return Module["dynCall_" + sig].call(null, ptr);
  527. }
  528. }
  529. var GLOBAL_BASE = 1024;
  530. var ABORT = 0;
  531. var EXITSTATUS = 0;
  532. function assert(condition, text) {
  533. if (!condition) {
  534. abort("Assertion failed: " + text);
  535. }
  536. }
  537. function getCFunc(ident) {
  538. var func = Module["_" + ident];
  539. assert(
  540. func,
  541. "Cannot call unknown function " +
  542. ident +
  543. ", make sure it is exported"
  544. );
  545. return func;
  546. }
  547. var JSfuncs = {
  548. stackSave: function stackSave() {
  549. _stackSave();
  550. },
  551. stackRestore: function stackRestore() {
  552. _stackRestore();
  553. },
  554. arrayToC: function arrayToC(arr) {
  555. var ret = stackAlloc(arr.length);
  556. writeArrayToMemory(arr, ret);
  557. return ret;
  558. },
  559. stringToC: function stringToC(str) {
  560. var ret = 0;
  561. if (str !== null && str !== undefined && str !== 0) {
  562. var len = (str.length << 2) + 1;
  563. ret = stackAlloc(len);
  564. stringToUTF8(str, ret, len);
  565. }
  566. return ret;
  567. },
  568. };
  569. var toC = {
  570. string: JSfuncs["stringToC"],
  571. array: JSfuncs["arrayToC"],
  572. };
  573. function ccall(ident, returnType, argTypes, args, opts) {
  574. function convertReturnValue(ret) {
  575. if (returnType === "string") return Pointer_stringify(ret);
  576. if (returnType === "boolean") return Boolean(ret);
  577. return ret;
  578. }
  579. var func = getCFunc(ident);
  580. var cArgs = [];
  581. var stack = 0;
  582. if (args) {
  583. for (var i = 0; i < args.length; i++) {
  584. var converter = toC[argTypes[i]];
  585. if (converter) {
  586. if (stack === 0) stack = _stackSave();
  587. cArgs[i] = converter(args[i]);
  588. } else {
  589. cArgs[i] = args[i];
  590. }
  591. }
  592. }
  593. var ret = func.apply(null, cArgs);
  594. ret = convertReturnValue(ret);
  595. if (stack !== 0) _stackRestore(stack);
  596. return ret;
  597. }
  598. function setValue(ptr, value, type, noSafe) {
  599. type = type || "i8";
  600. if (type.charAt(type.length - 1) === "*") type = "i32";
  601. switch (type) {
  602. case "i1":
  603. HEAP8[ptr >> 0] = value;
  604. break;
  605. case "i8":
  606. HEAP8[ptr >> 0] = value;
  607. break;
  608. case "i16":
  609. HEAP16[ptr >> 1] = value;
  610. break;
  611. case "i32":
  612. HEAP32[ptr >> 2] = value;
  613. break;
  614. case "i64":
  615. (tempI64 = [
  616. value >>> 0,
  617. ((tempDouble = value),
  618. +Math_abs(tempDouble) >= 1
  619. ? tempDouble > 0
  620. ? (Math_min(
  621. +Math_floor(tempDouble / 4294967296),
  622. 4294967295
  623. ) |
  624. 0) >>>
  625. 0
  626. : ~~+Math_ceil(
  627. (tempDouble - +(~~tempDouble >>> 0)) / 4294967296
  628. ) >>> 0
  629. : 0),
  630. ]),
  631. (HEAP32[ptr >> 2] = tempI64[0]),
  632. (HEAP32[(ptr + 4) >> 2] = tempI64[1]);
  633. break;
  634. case "float":
  635. HEAPF32[ptr >> 2] = value;
  636. break;
  637. case "double":
  638. HEAPF64[ptr >> 3] = value;
  639. break;
  640. default:
  641. abort("invalid type for setValue: " + type);
  642. }
  643. }
  644. var ALLOC_STATIC = 2;
  645. var ALLOC_NONE = 4;
  646. function Pointer_stringify(ptr, length) {
  647. if (length === 0 || !ptr) return "";
  648. var hasUtf = 0;
  649. var t;
  650. var i = 0;
  651. while (1) {
  652. t = HEAPU8[(ptr + i) >> 0];
  653. hasUtf |= t;
  654. if (t == 0 && !length) break;
  655. i++;
  656. if (length && i == length) break;
  657. }
  658. if (!length) length = i;
  659. var ret = "";
  660. if (hasUtf < 128) {
  661. var MAX_CHUNK = 1024;
  662. var curr;
  663. while (length > 0) {
  664. curr = String.fromCharCode.apply(
  665. String,
  666. HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))
  667. );
  668. ret = ret ? ret + curr : curr;
  669. ptr += MAX_CHUNK;
  670. length -= MAX_CHUNK;
  671. }
  672. return ret;
  673. }
  674. return UTF8ToString(ptr);
  675. }
  676. var UTF8Decoder =
  677. typeof TextDecoder !== "undefined"
  678. ? new TextDecoder("utf8")
  679. : undefined;
  680. function UTF8ArrayToString(u8Array, idx) {
  681. var endPtr = idx;
  682. while (u8Array[endPtr]) {
  683. ++endPtr;
  684. }
  685. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  686. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
  687. } else {
  688. var u0, u1, u2, u3, u4, u5;
  689. var str = "";
  690. while (1) {
  691. u0 = u8Array[idx++];
  692. if (!u0) return str;
  693. if (!(u0 & 128)) {
  694. str += String.fromCharCode(u0);
  695. continue;
  696. }
  697. u1 = u8Array[idx++] & 63;
  698. if ((u0 & 224) == 192) {
  699. str += String.fromCharCode(((u0 & 31) << 6) | u1);
  700. continue;
  701. }
  702. u2 = u8Array[idx++] & 63;
  703. if ((u0 & 240) == 224) {
  704. u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
  705. } else {
  706. u3 = u8Array[idx++] & 63;
  707. if ((u0 & 248) == 240) {
  708. u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
  709. } else {
  710. u4 = u8Array[idx++] & 63;
  711. if ((u0 & 252) == 248) {
  712. u0 =
  713. ((u0 & 3) << 24) |
  714. (u1 << 18) |
  715. (u2 << 12) |
  716. (u3 << 6) |
  717. u4;
  718. } else {
  719. u5 = u8Array[idx++] & 63;
  720. u0 =
  721. ((u0 & 1) << 30) |
  722. (u1 << 24) |
  723. (u2 << 18) |
  724. (u3 << 12) |
  725. (u4 << 6) |
  726. u5;
  727. }
  728. }
  729. }
  730. if (u0 < 65536) {
  731. str += String.fromCharCode(u0);
  732. } else {
  733. var ch = u0 - 65536;
  734. str += String.fromCharCode(
  735. 55296 | (ch >> 10),
  736. 56320 | (ch & 1023)
  737. );
  738. }
  739. }
  740. }
  741. }
  742. function UTF8ToString(ptr) {
  743. return UTF8ArrayToString(HEAPU8, ptr);
  744. }
  745. function stringToUTF8Array(
  746. str,
  747. outU8Array,
  748. outIdx,
  749. maxBytesToWrite
  750. ) {
  751. if (!(maxBytesToWrite > 0)) return 0;
  752. var startIdx = outIdx;
  753. var endIdx = outIdx + maxBytesToWrite - 1;
  754. for (var i = 0; i < str.length; ++i) {
  755. var u = str.charCodeAt(i);
  756. if (u >= 55296 && u <= 57343) {
  757. var u1 = str.charCodeAt(++i);
  758. u = (65536 + ((u & 1023) << 10)) | (u1 & 1023);
  759. }
  760. if (u <= 127) {
  761. if (outIdx >= endIdx) break;
  762. outU8Array[outIdx++] = u;
  763. } else if (u <= 2047) {
  764. if (outIdx + 1 >= endIdx) break;
  765. outU8Array[outIdx++] = 192 | (u >> 6);
  766. outU8Array[outIdx++] = 128 | (u & 63);
  767. } else if (u <= 65535) {
  768. if (outIdx + 2 >= endIdx) break;
  769. outU8Array[outIdx++] = 224 | (u >> 12);
  770. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  771. outU8Array[outIdx++] = 128 | (u & 63);
  772. } else if (u <= 2097151) {
  773. if (outIdx + 3 >= endIdx) break;
  774. outU8Array[outIdx++] = 240 | (u >> 18);
  775. outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
  776. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  777. outU8Array[outIdx++] = 128 | (u & 63);
  778. } else if (u <= 67108863) {
  779. if (outIdx + 4 >= endIdx) break;
  780. outU8Array[outIdx++] = 248 | (u >> 24);
  781. outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
  782. outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
  783. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  784. outU8Array[outIdx++] = 128 | (u & 63);
  785. } else {
  786. if (outIdx + 5 >= endIdx) break;
  787. outU8Array[outIdx++] = 252 | (u >> 30);
  788. outU8Array[outIdx++] = 128 | ((u >> 24) & 63);
  789. outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
  790. outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
  791. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  792. outU8Array[outIdx++] = 128 | (u & 63);
  793. }
  794. }
  795. outU8Array[outIdx] = 0;
  796. return outIdx - startIdx;
  797. }
  798. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  799. return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
  800. }
  801. function lengthBytesUTF8(str) {
  802. var len = 0;
  803. for (var i = 0; i < str.length; ++i) {
  804. var u = str.charCodeAt(i);
  805. if (u >= 55296 && u <= 57343)
  806. u =
  807. (65536 + ((u & 1023) << 10)) |
  808. (str.charCodeAt(++i) & 1023);
  809. if (u <= 127) {
  810. ++len;
  811. } else if (u <= 2047) {
  812. len += 2;
  813. } else if (u <= 65535) {
  814. len += 3;
  815. } else if (u <= 2097151) {
  816. len += 4;
  817. } else if (u <= 67108863) {
  818. len += 5;
  819. } else {
  820. len += 6;
  821. }
  822. }
  823. return len;
  824. }
  825. var UTF16Decoder =
  826. typeof TextDecoder !== "undefined"
  827. ? new TextDecoder("utf-16le")
  828. : undefined;
  829. function demangle(func) {
  830. var __cxa_demangle_func =
  831. Module["___cxa_demangle"] || Module["__cxa_demangle"];
  832. assert(__cxa_demangle_func);
  833. try {
  834. var s = func.substr(1);
  835. var len = lengthBytesUTF8(s) + 1;
  836. var buf = _malloc(len);
  837. stringToUTF8(s, buf, len);
  838. var status = _malloc(4);
  839. var ret = __cxa_demangle_func(buf, 0, 0, status);
  840. if (HEAP32[status >> 2] === 0 && ret) {
  841. return Pointer_stringify(ret);
  842. }
  843. } catch (e) {
  844. } finally {
  845. if (buf) _free(buf);
  846. if (status) _free(status);
  847. if (ret) _free(ret);
  848. }
  849. return func;
  850. }
  851. function demangleAll(text) {
  852. var regex = /__Z[\w\d_]+/g;
  853. return text.replace(regex, function (x) {
  854. var y = demangle(x);
  855. return x === y ? x : x + " [" + y + "]";
  856. });
  857. }
  858. function jsStackTrace() {
  859. var err = new Error();
  860. if (!err.stack) {
  861. try {
  862. throw new Error(0);
  863. } catch (e) {
  864. err = e;
  865. }
  866. if (!err.stack) {
  867. return "(no stack trace available)";
  868. }
  869. }
  870. return err.stack.toString();
  871. }
  872. function stackTrace() {
  873. var js = jsStackTrace();
  874. if (Module["extraStackTrace"])
  875. js += "\n" + Module["extraStackTrace"]();
  876. return demangleAll(js);
  877. }
  878. var WASM_PAGE_SIZE = 65536;
  879. var ASMJS_PAGE_SIZE = 16777216;
  880. function alignUp(x, multiple) {
  881. if (x % multiple > 0) {
  882. x += multiple - (x % multiple);
  883. }
  884. return x;
  885. }
  886. var buffer,
  887. HEAP8,
  888. HEAPU8,
  889. HEAP16,
  890. HEAPU16,
  891. HEAP32,
  892. HEAPU32,
  893. HEAPF32,
  894. HEAPF64;
  895. function updateGlobalBuffer(buf) {
  896. Module["buffer"] = buffer = buf;
  897. }
  898. function updateGlobalBufferViews() {
  899. Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
  900. Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
  901. Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
  902. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
  903. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
  904. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
  905. Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
  906. Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
  907. }
  908. var STATIC_BASE, STATICTOP, staticSealed;
  909. var STACK_BASE, STACKTOP, STACK_MAX;
  910. var DYNAMIC_BASE, DYNAMICTOP_PTR;
  911. STATIC_BASE =
  912. STATICTOP =
  913. STACK_BASE =
  914. STACKTOP =
  915. STACK_MAX =
  916. DYNAMIC_BASE =
  917. DYNAMICTOP_PTR =
  918. 0;
  919. staticSealed = false;
  920. function abortOnCannotGrowMemory() {
  921. abort(
  922. "Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " +
  923. TOTAL_MEMORY +
  924. ", (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 "
  925. );
  926. }
  927. function enlargeMemory() {
  928. abortOnCannotGrowMemory();
  929. }
  930. var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880;
  931. var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;
  932. if (TOTAL_MEMORY < TOTAL_STACK)
  933. err(
  934. "TOTAL_MEMORY should be larger than TOTAL_STACK, was " +
  935. TOTAL_MEMORY +
  936. "! (TOTAL_STACK=" +
  937. TOTAL_STACK +
  938. ")"
  939. );
  940. if (Module["buffer"]) {
  941. buffer = Module["buffer"];
  942. } else {
  943. if (
  944. (typeof WebAssembly === "undefined"
  945. ? "undefined"
  946. : _typeof(WebAssembly)) === "object" &&
  947. typeof WebAssembly.Memory === "function"
  948. ) {
  949. Module["wasmMemory"] = new WebAssembly.Memory({
  950. initial: TOTAL_MEMORY / WASM_PAGE_SIZE,
  951. maximum: TOTAL_MEMORY / WASM_PAGE_SIZE,
  952. });
  953. buffer = Module["wasmMemory"].buffer;
  954. } else {
  955. buffer = new ArrayBuffer(TOTAL_MEMORY);
  956. }
  957. Module["buffer"] = buffer;
  958. }
  959. updateGlobalBufferViews();
  960. function getTotalMemory() {
  961. return TOTAL_MEMORY;
  962. }
  963. function callRuntimeCallbacks(callbacks) {
  964. while (callbacks.length > 0) {
  965. var callback = callbacks.shift();
  966. if (typeof callback == "function") {
  967. callback();
  968. continue;
  969. }
  970. var func = callback.func;
  971. if (typeof func === "number") {
  972. if (callback.arg === undefined) {
  973. Module["dynCall_v"](func);
  974. } else {
  975. Module["dynCall_vi"](func, callback.arg);
  976. }
  977. } else {
  978. func(callback.arg === undefined ? null : callback.arg);
  979. }
  980. }
  981. }
  982. var __ATPRERUN__ = [];
  983. var __ATINIT__ = [];
  984. var __ATMAIN__ = [];
  985. var __ATEXIT__ = [];
  986. var __ATPOSTRUN__ = [];
  987. var runtimeInitialized = false;
  988. var runtimeExited = false;
  989. function preRun() {
  990. if (Module["preRun"]) {
  991. if (typeof Module["preRun"] == "function")
  992. Module["preRun"] = [Module["preRun"]];
  993. while (Module["preRun"].length) {
  994. addOnPreRun(Module["preRun"].shift());
  995. }
  996. }
  997. callRuntimeCallbacks(__ATPRERUN__);
  998. }
  999. function ensureInitRuntime() {
  1000. if (runtimeInitialized) return;
  1001. runtimeInitialized = true;
  1002. callRuntimeCallbacks(__ATINIT__);
  1003. }
  1004. function preMain() {
  1005. callRuntimeCallbacks(__ATMAIN__);
  1006. }
  1007. function exitRuntime() {
  1008. callRuntimeCallbacks(__ATEXIT__);
  1009. runtimeExited = true;
  1010. }
  1011. function postRun() {
  1012. if (Module["postRun"]) {
  1013. if (typeof Module["postRun"] == "function")
  1014. Module["postRun"] = [Module["postRun"]];
  1015. while (Module["postRun"].length) {
  1016. addOnPostRun(Module["postRun"].shift());
  1017. }
  1018. }
  1019. callRuntimeCallbacks(__ATPOSTRUN__);
  1020. }
  1021. function addOnPreRun(cb) {
  1022. __ATPRERUN__.unshift(cb);
  1023. }
  1024. function addOnPostRun(cb) {
  1025. __ATPOSTRUN__.unshift(cb);
  1026. }
  1027. function writeArrayToMemory(array, buffer) {
  1028. HEAP8.set(array, buffer);
  1029. }
  1030. function writeAsciiToMemory(str, buffer, dontAddNull) {
  1031. for (var i = 0; i < str.length; ++i) {
  1032. HEAP8[buffer++ >> 0] = str.charCodeAt(i);
  1033. }
  1034. if (!dontAddNull) HEAP8[buffer >> 0] = 0;
  1035. }
  1036. var Math_abs = Math.abs;
  1037. var Math_ceil = Math.ceil;
  1038. var Math_floor = Math.floor;
  1039. var Math_min = Math.min;
  1040. var Math_clz32 = Math.clz32;
  1041. var runDependencies = 0;
  1042. var runDependencyWatcher = null;
  1043. var dependenciesFulfilled = null;
  1044. function getUniqueRunDependency(id) {
  1045. return id;
  1046. }
  1047. function addRunDependency(id) {
  1048. runDependencies++;
  1049. if (Module["monitorRunDependencies"]) {
  1050. Module["monitorRunDependencies"](runDependencies);
  1051. }
  1052. }
  1053. function removeRunDependency(id) {
  1054. runDependencies--;
  1055. if (Module["monitorRunDependencies"]) {
  1056. Module["monitorRunDependencies"](runDependencies);
  1057. }
  1058. if (runDependencies == 0) {
  1059. if (runDependencyWatcher !== null) {
  1060. clearInterval(runDependencyWatcher);
  1061. runDependencyWatcher = null;
  1062. }
  1063. if (dependenciesFulfilled) {
  1064. var callback = dependenciesFulfilled;
  1065. dependenciesFulfilled = null;
  1066. callback();
  1067. }
  1068. }
  1069. }
  1070. Module["preloadedImages"] = {};
  1071. Module["preloadedAudios"] = {};
  1072. var dataURIPrefix = "data:application/octet-stream;base64,";
  1073. function isDataURI(filename) {
  1074. return String.prototype.startsWith
  1075. ? filename.startsWith(dataURIPrefix)
  1076. : filename.indexOf(dataURIPrefix) === 0;
  1077. }
  1078. function integrateWasmJS() {
  1079. var wasmTextFile = "";
  1080. var wasmBinaryFile =
  1081. "data:application/octet-stream;base64,AGFzbQEAAAABxQMzYAF/AGAAAX9gAn9/AGADf39/AGABfwF/YAN/f38Bf2AAAGACf38Bf2AEf39/fwF/YAV/f39/fwF/YAZ/f39/f38Bf2AEf39/fwBgBn9/f39/fwBgBX9/f39/AGANf39/f39/f39/f39/fwBgCH9/f39/f39/AGADf39/AXxgB39/f39/f38Bf2ABfwF+YAF+AX5gAn5+AX5gAn9+AX9gAn9+AGANf39/f39/f39/f39/fwF/YAh/f39/f39/fwF/YAx/f39/f39/f39/f38Bf2AEf39+fwBgAn5/AX9gBX9/fn9/AX9gBn9/f39/fgF/YAN/f34Bf2AFf39/f34Bf2ALf39/f39/f39/f38Bf2AHf39/f39/fwBgBX9/f35/AX9gCX9/f39/f39/fwF/YAp/f39/f39/f39/AX9gEH9/f39/f39/f39/f39/f38Bf2AEfn9/fgF+YAJ/fwF+YAN+f38Bf2AFf35/f38AYAd/fn9/f39/AX5gCH9/f39/f35/AX9gBn9/f39+fwF/YAR/f39+AX9gB39/f39/f34Bf2AJf39/f39/f39/AGACfn4Bf2AGf3x/f39/AX9gAnx/AXwC9Ak0A2VudgZtZW1vcnkCAYACgAIDZW52BXRhYmxlAXABnAOcAwNlbnYJdGFibGVCYXNlA38AA2Vudg5EWU5BTUlDVE9QX1BUUgN/AANlbnYIU1RBQ0tUT1ADfwADZW52CVNUQUNLX01BWAN/AANlbnYFYWJvcnQAAANlbnYNZW5sYXJnZU1lbW9yeQABA2Vudg5nZXRUb3RhbE1lbW9yeQABA2VudhdhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeQABA2VudhlfX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9uAAQDZW52DF9fX2N4YV90aHJvdwADA2VudgdfX19sb2NrAAADZW52C19fX3NldEVyck5vAAADZW52DV9fX3N5c2NhbGwxNDAABwNlbnYNX19fc3lzY2FsbDE0NQAHA2Vudg1fX19zeXNjYWxsMTQ2AAcDZW52DV9fX3N5c2NhbGwyMjEABwNlbnYLX19fc3lzY2FsbDUABwNlbnYMX19fc3lzY2FsbDU0AAcDZW52C19fX3N5c2NhbGw2AAcDZW52CV9fX3VubG9jawAAA2VudhZfX2VtYmluZF9yZWdpc3Rlcl9ib29sAA0DZW52F19fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzAA4DZW52I19fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NvbnN0cnVjdG9yAAwDZW52IF9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2Z1bmN0aW9uAA8DZW52F19fZW1iaW5kX3JlZ2lzdGVyX2VtdmFsAAIDZW52F19fZW1iaW5kX3JlZ2lzdGVyX2Zsb2F0AAMDZW52Gl9fZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uAAwDZW52GV9fZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIADQNlbnYdX19lbWJpbmRfcmVnaXN0ZXJfbWVtb3J5X3ZpZXcAAwNlbnYcX19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwACA2Vudh1fX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZwADA2VudhZfX2VtYmluZF9yZWdpc3Rlcl92b2lkAAIDZW52Cl9fZW12YWxfYXMAEANlbnYMX19lbXZhbF9jYWxsAAgDZW52GF9fZW12YWxfY2FsbF92b2lkX21ldGhvZAALA2Vudg5fX2VtdmFsX2RlY3JlZgAAA2VudhlfX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAAcDZW52G19fZW12YWxfZ2V0X21vZHVsZV9wcm9wZXJ0eQAEA2VudhRfX2VtdmFsX2dldF9wcm9wZXJ0eQAHA2Vudg5fX2VtdmFsX2luY3JlZgAAA2VudgtfX2VtdmFsX25ldwAIA2VudhNfX2VtdmFsX25ld19jc3RyaW5nAAQDZW52F19fZW12YWxfcnVuX2Rlc3RydWN0b3JzAAADZW52El9fZW12YWxfdGFrZV92YWx1ZQAHA2VudgZfYWJvcnQABgNlbnYWX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZwAFA2VudhRfcHRocmVhZF9nZXRzcGVjaWZpYwAEA2VudhNfcHRocmVhZF9rZXlfY3JlYXRlAAcDZW52DV9wdGhyZWFkX29uY2UABwNlbnYUX3B0aHJlYWRfc2V0c3BlY2lmaWMABwPmB+QHBAEAAgIAAQYCAgQCBwIEBwcFBwcEBwUHBwAAAwMABAIAAgcEBAIHBAQCBwQEAgcEBAIHBAQCBwQCAwMFAwQAAQQDCwcFCAADBwQAAAUEBwQAAQUJCAQAAQgFBAEGBwcIBQgABAICBwQIAAQCBwQDAAQCBwQCAAQCBwQAAAcHAgQCBwcEBwQCBwcEBQcHAAQHBAIHBwQHBAIHBwQFBwcEBAkEBAQRCgQICQUDBAcHBwcCBwcEEhITBBIUFBUFBRIHBwIKBwkKCAkKCQgHBQkJBwkKBQMDAAACBAMDAgIWFgICBAUICQgKAwUKCQoCAhcYBQUZGQQBBAAEBBoaBwUKBwoACREICgUFAwMFCwoFBQkEBwcHBwcbGxsbBwgAAAAEBxwdHgISBRQHBx8CAAQEGSAHCgoKCgoKCgoKCgoKCgoKCgMHBwgLBQgFDQ0AAwIFBwgHBwcJCQoNESERGAkJCgkRIgoJAwAYCQMjGAQkCSUICAcIAwsJJicoGwUbCCkqCwsCBQIDAyssAxoJBRgYCgkFAi0RCgEEBC4dLQceBwgIBQcJAgoJBAoJBBgJDy8KCQoJGAcKGAoYAAQBBAQHBAQEBAQEBAcHBQQFCCcnBQUFBAcEEgQHBwcFBAcHBwcFBQcEBQggAwwCCgQREREDGAIRERgEBAoHBQkFCAgEBQUFCAERAREBEQUCCQUJBQkRBQMEAhgEAgQjBwgJBAkJCQkJCAgHCQkFCQUJEQgJBQkPLwICCQQFBQUEBwIFCQUJBQkRBQIYCAgJCAgFCREICQUJCQQFAwUFAgkFBQkFCSMFAwQCGAcJCAQICAkJCAgFCREPLwgJBAUJCQkEBQMFAQkRBAMFBQkFCRgFAwQCGAQJCAgICAUJCREPLwgJBQkJBQkIBAQJCQkJBwcKAQQECQUFBAcEMAUICQQIBAUBBQEFAQUEBQQBCQkJCQQJBAkECQkECQIGAAQEAAcHBwIEBQUEAQUFBQcEBAUHBQcHCAgFCQMEAygbGw0HMTIFBwUEBQcHBwQHBAEEBAAEBwQEBAQGAQIFDA0LBQsLDQgMDQsGAAUFBQwNCwsMDQgCAgILAAAEBQAAAwMEBQIPAwAFBQUFBQIFBwICBQUDAgUFAwUFBQIFAwICAgIFBQUFBwMFAAMLBQUICAUFBQUFBQUFBQUFBQUFBQUFBQUFAgUCAwUFBQUFBQUFBQICAgACAgIDAggFAwwCAgUAAAsCAAcHCAIFBQUCBQUFBwIAAgIFCwIAAAIIAAAAAAIAAgACBQAHBAUEBgQFBQUFBAcFCAkKEQIDCw0MIQEEBwUICQoGAAIDCw0MBh8GfwEjAQt/ASMCC38BIwMLfwFBAAt/AUEAC38BQQALB94EJRhfX0dMT0JBTF9fc3ViX0lfYmluZF9jcHAAgwYfX19HTE9CQUxfX3N1Yl9JX3pzdGRfYmluZGluZ19jYwCKARBfX19jeGFfY2FuX2NhdGNoAO8HD19fX2N4YV9kZW1hbmdsZQDZBhZfX19jeGFfaXNfcG9pbnRlcl90eXBlAPAHEV9fX2Vycm5vX2xvY2F0aW9uAJAGDl9fX2dldFR5cGVOYW1lAIUGBV9mcmVlAIcGD19sbHZtX2Jzd2FwX2kzMgDyBw5fbGx2bV9jdGx6X2k2NADzBwdfbWFsbG9jAIYGB19tZW1jcHkA9AcIX21lbW1vdmUA9QcHX21lbXNldAD2BwVfc2JyawD3BwlkeW5DYWxsX2kAbgpkeW5DYWxsX2lpAPgHC2R5bkNhbGxfaWlpAPkHDGR5bkNhbGxfaWlpaQD6Bw1keW5DYWxsX2lpaWlpAPsHDmR5bkNhbGxfaWlpaWlpAPwHD2R5bkNhbGxfaWlpaWlpaQD9BwlkeW5DYWxsX3YAdApkeW5DYWxsX3ZpAP4HC2R5bkNhbGxfdmlpAP8HDGR5bkNhbGxfdmlpaQCACA1keW5DYWxsX3ZpaWlpAIEIDmR5bkNhbGxfdmlpaWlpAIIID2R5bkNhbGxfdmlpaWlpaQCDCBNlc3RhYmxpc2hTdGFja1NwYWNlADELZ2V0VGVtcFJldDAANAtydW5Qb3N0U2V0cwDxBwtzZXRUZW1wUmV0MAAzCHNldFRocmV3ADIKc3RhY2tBbGxvYwAuDHN0YWNrUmVzdG9yZQAwCXN0YWNrU2F2ZQAvCbcFAQAjAAucA4QIf4UBiQFthAiECIQIhQhMUVJVVllaXV5hYmWRAZUBmAGbAZ4BoQGkAacBrQGxAbMBtwG+AcIBxAHIAYwGvQZ3ezx9boMBbogBbkJrbjjGA9wFhQiFCIUIhQiFCIUIhQiFCIUIhQiFCIUIhQiFCIUIhQiFCIUIhghQVFhcYGSUAZoBoAGmAa8BsAG1AbYBwAHBAcYBxwHoBHY6fIsBjAE9PkBBcUNFRnGGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiG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ACAEJAUgAA8LIARBEWohASAEQRBqIQIgAygCACAFKAIANgIMIAMoAgAgAygCACgCDEEEajYCEAJAIAAoAgBBBE8EQCADKAIAIAUoAgAgACgCAGpBfGo2AgggAygCACgCCBDhASECIAMoAgAgAjYCACABIAUoAgAgACgCAEEBa2osAAA6AAAgAS0AAAR/QQggAS0AABDUAWsFQQALIQIgAygCACACNgIEIAEtAABFBEAgBkF/NgIAIAYoAgAhACAEJAUgAA8LBSADKAIAIAMoAgAoAgw2AgggAygCACADKAIAKAIMLQAANgIAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEECaw4GBQQDAgEABgsgAygCACIBIAEoAgAgBSgCAC0ABkEQdGo2AgAMBgsMBQsMBQsMBQsMBQsMBQsMBQsgAygCACIBIAEoAgAgBSgCAC0ABUEIdGo2AgALIAMoAgAiASABKAIAIAUoAgAtAARqNgIACyADKAIAIgEgASgCACAFKAIALQADQRh0ajYCAAsgAygCACIBIAEoAgAgBSgCAC0AAkEQdGo2AgALIAMoAgAiASABKAIAIAUoAgAtAAFBCHRqNgIACyACIAUoAgAgACgCAEEBa2osAAA6AAAgAi0AAAR/QQggAi0AABDUAWsFQQALIQEgAygCACABNgIEIAItAAAEQCADKAIAQQRqIgEgASgCAEEEIAAoAgBrQQN0ajYCAAwCCyAGQWw2AgAgBigCACEAIAQkBSAADwsLIAYgACgCADYCACAGKAIAIQAgBCQFIAALhQEBAn8jBSEDIwVBIGokBSADQRBqIgQgADYCACADQQxqIgAgATYCACADQQhqIgEgAjYCACADQQRqIgIgASgCADYCACADIAIoAgA2AgAgACgCACADKAIALwEAENwBIQIgBCgCACACNgIAIAAoAgAQ2QEaIAQoAgAgASgCAEEEajYCBCADJAULvQMBBn8jBSEDIwVBEGokBSADQQxqIQIgA0EIaiIBIAA2AgAgASgCACgCBEEgSwRAIAJBAzYCACACKAIAIQAgAyQFIAAPCyABKAIAIQUgASgCACgCCCABKAIAKAIQTwRAIAEoAgBBCGoiACAAKAIAIAUoAgRBA3ZrNgIAIAEoAgBBBGoiACAAKAIAQQdxNgIAIAEoAgAoAggQ4QEhACAB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AzAgAkIANwM4IAJBQGtCADcDACACQgA3A0ggAiAAKQMAQoeVr6+Ytt6bnn98Qs/W077Sx6vZQnw3AwggAiAAKQMAQs/W077Sx6vZQnw3AxAgAiAAKQMAQgB8NwMYIAIgACkDAEKHla+vmLbem55/fTcDICADKAIAIgAgAikDADcDACAAIAIpAwg3AwggACACKQMQNwMQIAAgAikDGDcDGCAAIAIpAyA3AyAgACACKQMoNwMoIAAgAikDMDcDMCAAIAIpAzg3AzggAEFAayACQUBrKQMANwMAIAAgAikDSDcDSCAAIAIpA1A3A1AgAiQFQQALSQECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIgEgACgCACADKAIAEPQHGiADJAUgAQvcJQJ8fwJ+IwUhAyMFQeAEaiQFIANBuAFqIRogA0HQBGohLCADQcwEaiEtIANByARqIS4gA0HEBGohLyADQcAEaiEwIANBsAFqIRsgA0G8BGohMSADQbgEaiEyIANBtARqITMgA0GwBGohNCADQawEaiE1IANBqAFqIRwgA0GoBGohNiADQaQEaiE3IANBoARqITggA0GcBGohOSADQZgEaiE6IANBoAFqIR0gA0GUBGohOyADQZAEaiE8IANBjARqIT0gA0GIBGohPiADQYQEaiE/IANBmAFqIR4gA0GABGohQCADQfwDaiFBIANB+ANqIUIgA0H0A2ohQyADQfADaiFEIANBkAFqIR8gA0HsA2ohRSADQegDaiFGIANB5ANqIUcgA0HgA2ohSCADQdwDaiFJIANBiAFqISAgA0HYA2ohSiADQdQDaiFLIANB0ANqIUwgA0HMA2ohTSADQcgDaiFOIANBgAFqISEgA0HEA2ohTyADQcADaiFQIANBvANqIVEgA0G4A2ohUiADQbQDaiFTIANBsANqISIgA0GsA2ohBCADQagDaiEOIANBpANqIQogA0GgA2ohCCADQZwDaiEGIANBmANqIQsgA0GUA2ohVCADQfgAaiEPIANB8ABqIRAgA0HoAGohESADQeAAaiESIANB2ABqISMgA0GQA2ohVSADQYwDaiFWIANBiANqIVcgA0GEA2ohWCADQYADaiFZIANB0ABqISQgA0H8AmohWiADQfgCaiFbIANB9AJqIVwgA0HwAmohXSADQewCaiFeIANByABqISUgA0HoAmohXyADQeQCaiFgIANB4AJqIWEgA0HcAmohYiADQdgCaiFjIANBQGshJiADQdQCaiFkIANB0AJqIWUgA0HMAmohZiADQcgCaiFnIANBxAJqIWggA0E4aiEnIANBwAJqIWkgA0G8AmohaiADQbgCaiFrIANBtAJqIWwgA0GwAmohbSADQTBqISggA0GsAmohbiADQagCaiFvIANBpAJqIXAgA0GgAmohcSADQZwCaiFyIANBKGohKSADQZgCaiFzIANBlAJqIXQgA0GQAmohdSADQYwCaiF2IANBiAJqIXcgA0EgaiEqIANBhAJqIXggA0GAAmoheSADQfwBaiF6IANB+AFqIXsgA0H0AWohfCADQfABaiErIANB7AFqIQUgA0HoAWohEyADQeQBaiEMIANB4AFqIQkgA0HcAWohByADQdgBaiENIANB1AFqIX0gA0EYaiEUIANBEGohFSADQQhqIRYgAyEXIANB0AFqIRggA0HMAWoiGSAANgIAIANByAFqIn4gATYCACADQcQBaiIBIAI2AgAgA0HAAWoiAEGA5QAsAAA2AgAgGSgCACEZIH4oAgAhAiABKAIAIQEgACgCAEEBRgR/IAUgGTYCACATIAI2AgAgDCABNgIAIAlBATYCACAHIBMoAgA2AgAgDSAHKAIAIAwoAgBqNgIAIAUoAgAiACAAKQMAIAwoAgCtfDcDACAFKAIAIQAgBSgCACgCSCAMKAIAakEgSQRAIABBKGogBSgCACgCSGogEygCACAMKAIAEOoBGiAFKAIAQcgAaiIAIAAoAgAgDCgCAGo2AgAgK0EANgIABSAAKAJIBEAgBSgCAEEoaiAFKAIAKAJIaiATKAIAQSAgBSgCACgCSGsQ6gEaIAUoAgApAwghgAEgCSgCACEAIHsgBSgCAEEoajYCACB8IAA2AgAgfCgCACEAIHggeygCADYCACB5IAA2AgAgekEBNgIAIHkoAgBBAUYhASB4KAIAIQAgeigCAEEBRgRAIAAQ5gEhfyABRQRAIH8Q5AEhfwsgKiB/NwMABSAAKQMAIX8gAUUEQCB/EOQBIX8LICogfzcDAAsggAEgKikDABDnASF/IAUoAgAgfzcDCCAFKAIAKQMQIYABIAkoAgAhACB2IAUoAgBBMGo2AgAgdyAANgIA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AgAgGyAANgIAIBxBATYCACAbKAIAQQFGIQQgGigCACEAIBwoAgBBAUYEQCAAEOUBIQAgBEUEQCAAENEBIQALIBQgADYCAAUgACgCACEAIARFBEAgABDRASEACyAUIAA2AgALIAIgAikDACAUKAIArUKHla+vmLbem55/foU3AwAgAiACKQMAQheGIAIpAwBCKYiEQs/W077Sx6vZQn5C+fPd8Zn2masWfDcDACAFIAUoAgBBBGo2AgALA0AgBSgCACAJKAIASQRAIAIgAikDACAFKAIALQAArULFz9my8eW66id+hTcDACACIAIpAwBCC4YgAikDAEI1iIRCh5Wvr5i23puef343AwAgBSAFKAIAQQFqNgIADAELCyACIAIpAwAgAikDAEIhiIU3AwAgAiACKQMAQs/W077Sx6vZQn43AwAgAiACKQMAIAIpAwBCHYiFNwMAIAIgAikDAEL5893xmfaZqxZ+NwMAIAIgAikDACACKQMAQiCIhTcDACATIAIpAwA3AwAgEykDACEwIAEkBSAwCwttAQN/IwUhAiMFQRBqJAUgAkEEaiEDIAIiBCAANgIAIAEoAgAEfyADIAEoAgggBCgCACABKAIAQT9xQcgAahEHADYCACADKAIAIQAgAiQFIAAFIAMgBCgCABCGBjYCACADKAIAIQAgAiQFIAALC5ABAQR/IwUhAiMFQRBqJAUgAkEIaiEDIAIhBCACQQRqIgUgADYCACABKAIABH8gBCABKAIIIAUoAgAgASgCAEE/cUHIAGoRBwA2AgAgBCgCAEEAIAUoAgAQ9gcaIAMgBCgCADYCACADKAIAIQAgAiQFIAAFIANBASAFKAIAEIgGNgIAIAMoAgAhACACJAUgAAsLWAECfyMFIQIjBUEQaiQFIAIiAyAANgIAIAIoAgBFBEAgAiQFDwsgASgCBARAIAEoAgggAygCACABKAIEQR9xQeQCahECACACJAUFIAMoAgAQhwYgAiQFCwvLCgEOfyMFIQYjBUHwCGokBSAGQeQIaiEKIAZBtAhqIQ0gBkGwCGohCyAGQawIaiERIAZBqAhqIQggBkHgCGoiDiAANgIAIAZB3AhqIgcgATYCACAGQdgIaiIPIAI2AgAgBkHUCGoiCSADNgIAIAZB0AhqIgEgBDYCACAGQcwIaiIDIAU2AgAgBkHICGoiAkEBIAko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AgAoAhBLBEAgASgCACABKAIAKAIQNgIMCyABKAIAQQRqIgMgAygCAEEHcTYCACABKAIAIgEgASgCACAAKAIAQQN0djYCACACJAULRgECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIAIoAgAoAgAgAigCACgCDBCIAiADKAIAEIQCIAIkBQuLAQEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIAQQFBARCHAiABKAIAEIQCIAEoAgAoAgwgASgCACgCEE8EfyADQQA2AgAgAygCACEAIAIkBSAABSADIAEoAgAoAgwgASgCACgCCGsgASgCACgCBEEAS2o2AgAgAygCACEAIAIkBSAACwtoAQJ/IwUhAyMFQRBqJAUgA0EIaiIEIAA2AgAgA0EEaiIAIAE2AgAgAyACNgIAIAQoAgAiASABKAIAIAAoAgAgBCgCACgCBHRyNgIAIAQoAgBBBGoiACAAKAIAIAMoAgBqNgIAIAMkBQt4AQJ/IwUhAyMFQRBqJAUgA0EIaiIEIAA2AgAgA0EEaiIAIAE2AgAgAyACNgIAIAQoAgAiASABKAIAIAAoAgAgAygCAEECdEHgHWooAgBxIAQoAgAoAgR0cjYCACAEKAIAQQRqIgAgACgCACADKAIAajYCACADJAULNwECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIgMgAigCACIBEIoCIAIkBQtUAQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAhAyACKAIAIQFBkOUALQAABEAgAyABEI0CIAIkBQUgAyABENEBEI0CIAIkBQsLVAECfyMFIQIjBUEQaiQFIAJBCGoiAyAANgIAIAIgATcDACADKAIAIQMgAikDACEBQZDlAC0AAARAIAMgARCMAiACJAUFIAMgARDkARCMAiACJAULCzMBAn8jBSECIwVBEGokBSACQQhqIgMgADYCACACIAE3AwAgAygCACACKQMANwAAIAIkBQszAQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAgAigCADYAACACJAULuAEBBH8jBSECIwVBIGokBSACQRBqIgMgADYCACACQQxqIgQgATYCACACQQhqIgEgBCgCADYCACACQQRqIgUgASgCADYCACACIgAgASgCABCPAkH//wNxNgIAIAMoAgBBASACKAIAdDYCACADKAIAIAUoAgBBBGo2AgQgAygCACAEKAIAIgRBBGogAigCAAR/QQEgACgCAEEBa3QFQQELIgFBAnRqNgIIIAMoAgAgACgCADYCDCACJAULJgEBfyMFIQEjBUEQaiQFIAEgADYCACABKAIALgAAIQAgASQFIAALSgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIAAoAgAgAygCAEEBEPgBIQAgAyQFIAAL+gUBCX8jBSEEIwVB0ANqJAUgBEHEA2ohBSAEQcADaiIHIAA2AgAgBEG8A2oiACABNgIAIARBuANqIgogAjYCACAEQbQDaiICIAM2AgAgBEGwA2oiCSAHKAIANgIAIARBrANqIgEgCSgCADYCACAEQagDaiILIAkoAgAgACgCAGo2AgAgBEGkA2oiA0EMNgIAIARBoANqIgdBBjYCACACKAIAQQFNBEAgBUEANgIAIAUoAgAhACAEJAUgAA8LIARBnANqIgAgBEEgaiIIIAMgCigCACACKAIAEPQBNgIAIAAoAgAQzQFBAEchDCAAKAIAIQYgDARAIAUgBjYCACAFKAIAIQAgBCQFIAAPCyAGIAIoAgBGBEAgBUEBNgIAIAUoAgAhACAEJAUgAA8LIAAoAgBBAUYEQCAFQQA2AgAgBSgCACEAIAQkBSAADwsgByAHKAIAIAIoAgAgAygCABD6ATYCACAEQZgDaiIGIAQiACAHKAIAIAggAigCACADKAIAEPsBNgIAIAYoAgAQzQEEQCAFIAYoAgA2AgAgBSgCACEAIAQkBSAADwsgBEGUA2oiBiABKAIAIAsoAgAgASgCAGsgACADKAIAIAcoAgAQ8gE2AgAgBigCABDNAUEARyEIIAYoAgAhBiAIBEAgBSAGNgIAIAUoAgAhACAEJAUgAA8LIAEgASgCACAGajYCACAEQZADaiIGIARBoAFqIgggACADKAIAIAcoAgAgBEHgAGpBwAAQ8AE2AgAgBigCABDNAQRAIAUgBigCADYCACAFKAIAIQAgBCQFIAAPCyAEQYwDaiIAIAEoAgAgCygCACABKAIAayAKKAIAIAIoAgAgCBD+ATYCACAAKAIAEM0BQQBHIQMgACgCACECIAMEQCAFIAI2AgAgBSgCACEAIAQkBSAADwsgAgR/IAEgASgCACAAKAIAajYCACAFIAEoAgAgCSgCAGs2AgAgBSgCACEAIAQkBSAABSAFQQA2AgAgBSgCACEAIAQkBSAACwulBQEGfyMFIQUjBUHAAmokBSAFQaACaiEGIAVBnAJqIgcgADYCACAFQZgCaiIJIAE2AgAgBUGUAmoiCiACNgIAIAVBkAJqIgIgAzYCACAFQYwCaiIIIAQ2AgAgBUGIAmoiBCAHKAIANgIAIAIoAgBB/wFLBEAgBkFSNgIAIAYoAgAhACAFJAUgAA8LIAUhACAFQYACaiEDIAVBpAJqIgdBADoAACAFQYQCaiIBQQE2AgADQCABKAIAIAgoAgBBAWpJBEAgByABKAIAaiAIKAIAQQFqIAEoAgBrOgAAIAEgASgCAEEBajYCAAwBCwsgAUEANgIAA0AgASgCACACKAIASQRAIAAgASgCAGogByAKKAIAIAEoAgBBAnRqLQACaiwAADoAACABIAEoAgBBAWo2AgAMAQsLIAMgBCgCAEEBaiAJKAIAQQFrIAAgAigCABCRAjYCACADKAIAEM0BQQBHIQcgAygCACEIIAcEQCAGIAg2AgAgBigCACEAIAUkBSAADwsgCEEBSyADKAIAIAIoAgBBAm5JcQRAIAQoAgAgAygCADoAACAGIAMoAgBBAWo2AgAgBigCACEAIAUkBSAADwsgAigCAEGAAUsEQCAGQX82AgAgBigCACEAIAUkBSAADwsgAigCAEEBakECbkEBaiAJKAIASwRAIAZBun82AgAgBigCACEAIAUkBSAADwsgBCgCACACKAIAQf8AajoAACAAIAIoAgBqQQA6AAAgAUEANgIAA0AgASgCACACKAIASQRAIAQoAgAgASgCAEECbkEBamogACABKAIAai0AAEEEdCAAIAEoAgBBAWpqLQAAajoAACABIAEoAgBBAmo2AgAMAQsLIAYgAigCAEEBakECbkEBajYCACAGKAIAIQAgBSQFIAALmAcBEH8jBSEEIwVB0ANqJAUgBEG8A2ohBSAEQbgDaiIMIAA2AgAgBEG0A2oiDyABNgIAIARBsANqIgAgAjYCACAEQawDaiIGIAM2AgAgBEGoA2oiAUEANgIAIARBpANqIgJBADYCACAEQaADaiINIARB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akEAQfwHIAMoAgBBAnRrEPYHGiANQQhqIgggBygCACARKAIAIAEoAgBBgAhqIAMoAgAgACgCABCSAjYCACAIKAIAEM0BBEAgDiAIKAIANgIAIA4oAgAhACANJAUgAA8LIA1BBGohCyANIQACQCAEKAIABEAgBCgCACgCAARAIAsgBSgCACABKAIAIAMoAgAQnwI2AgAgACABKAIAQYAIaiABKAIAIAMoAgAQnwI2AgAgCygCACAIKAIAIAAoAgBqSwRAIAgoAgBBDGogAigCAEkNAwsgDiAGKAIAIAcoAgAgCigCACAPKAIAIAIoAgAgECgCACAFKAIAIAkoAgAQnQI2AgAgDigCACEAIA0kBSAADwsLCyAIKAIAQQxqIAIoAgBPBEAgDkEANgIAIA4oAgAhACANJAUgAA8LIAcgBygCACAIKAIAajYCACAEKAIABEAgBCgCAEEANgIACyAFKAIABEAgBSgCACABKAIAQYAIakGACBD0BxoLIA4gBigCACAHKAIAIAooAgAgDygCACACKAIAIBAoAgAgASgCAEGACGogCSgCABCdAjYCACAOKAIAIQAgDSQFIAAL+gIBBX8jBSEIIwVBMGokBSAIQSBqIgogADYCACAIQRxqIgkgATYCACAIQRhqIgEgAjYCACAIQRRqIgsgAzYCACAIQRBqIgIgBDYCACAIQQxqIgwgBTYCACAIQQhqIgUgBjYCACAIQQRqIgYgBzYCACAJKAIAIQAgASgCACAJKAIAayEBIAsoAgAhAyACKAIAIQQgBSgCACEFIAYoAgAhBiAMKAIABH8gACABIAMgBCAFIAYQlwIFIAAgASADIAQgBSAGEJkCCyEDIAhBJGohASAIIgAgAzYCACAIKAIAEM0BQQBHIQQgCCgCACEDIAQEQCABIAM2AgAgASgCACEAIAgkBSAADwsgA0UEQCABQQA2AgAgASgCACEAIAgkBSAADwsgCSAJKAIAIAAoAgBqNgIAIAkoAgAgCigCAGsgAigCAEEBa08EfyABQQA2AgAgASgCACEAIAgkBSAABSABIAkoAgAgCigCAGs2AgAgASgCACEAIAgkBSAACwutAQEDfyMFIQMjBUEgaiQFIANBEGoiBCAANgIAIANBDGoiBSABNgIAIANBCGoiASACNgIAIANBBGoiAkEANgIAIAMiAEEANgIAA0Ag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AiQFIAALnRIBBH8jBSEGIwVBIGokBSAGQRBqIQQgBiIFQQxqIgMgADYCACAFQQhqIgAgATYCACAFQQRqIgEgAjYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQprDsMIABYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAQIDBAUGBwgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWERITFBUWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgoLDBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDg8QFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg0WCyABKAIAQQFLBEAgBEFYNgIADBcFIAMoAgAgASgCADYCACAEIAMoAgAoAgA2AgAMFwsACyAFIAEoAgA2AgAgBSgCAEEWSgRAIAVBFjYCAAsgBSgCAARAIAMoAgAgBSgCAEEASDYCMCADKAIAIAUoAgA2AiwLIAMoAgAoAixBAE4EQCAEIAMoAgAoAiw2AgAMFgUgBEEANgIADBYLAAsgASgCAEEASwRAIAEoAgBBCkkgASgCAEEeS3IEQCAEQVY2AgAMFgsLIAMoAgAgASgCADYCBCAEIAMoAgAoAgQ2AgAMFAsgASgCAEEASwRAIAEoAgBBBkkgASgCAEEeS3IEQCAEQVY2AgAMFQsLIAMoAgAgASgCADYCDCAEIAMoAgAoAgw2AgAMEwsgASgCAEEASwRAIAEoAgBBBkkgASgCAEEdS3IEQCAEQVY2AgAMFAsLIAMoAgAgASgCADYCCCAEIAMoAgAoAgg2AgAMEgsgASgCAEEASwRAIAEoAgBBAUkgASgCAEEdS3IEQCAEQVY2AgAMEwsLIAMoAgAgASgCADYCECAEIAEoAgA2AgAMEQsgASgCAEEASwRAIAEoAgBBA0kgASgCAEEHS3IEQCAEQVY2AgAMEgsLIAMoAgAgASgCADYCFCAEIAMoAgAoAhQ2AgAMEAsgAygCACABKAIANgIYIAQgAygCACgCGDYCAAwPCyABKAIAQQBLBEAgASgCAEEBSSABKAIAQQhLcgRAIARBVjYCAAwQCwsgAygCACABKAIANgIc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BiQFIAALC8kBAQN/IwUhAyMFQSBqJAUgA0EQaiEEIANBDGoiBSAANgIAIANBCGoiACABNgIAIANBBGoiASACNgIAIAAoAgAgASgCAEkEQCAEQWI2AgAgBCgCACEAIAMkBSAADwsgAyIAQQA2AgACQAJAA0AgACgCACABKAIASw0CIAUoAgAgACgCAEEBdGouAQBFDQEgACAAKAIAQQFqNgIADAALAAsgBEFiNgIAIAQoAgAhACADJAUgAA8LIARBADYCACAEKAIAIQAgAyQFIAALogMBBH8jBSEEIwVBIGokBSAEQQhqIQUgBEEcaiIDIAA2AgAgBEEYaiIGIAE2AgAgBEEUaiIBIAI2AgAgBEEQaiIAIAYoAgA2AgAgBEEMaiICQQE2AgAgBigCACADKAIAKAIARwRAIAUgAygCACgCACADKAIAKAIEazYCACADKAIAIAMoAgAoAgw2AhAgAygCACAFKAIANgIMIAMoAgAgAygCACgCBDYCCCADKAIAIAAoAgAgBSgCAGs2AgQgAygCACgCDCADKAIAKAIQa0EISQRAIAMoAgAgAygCACgCDDYCEAsgAkEANgIACyADKAIAIAAoAgAgASgCAGo2AgAgACgCACABKAIAaiADKAIAKAIIIAMoAgAoAhBqSyAAKAIAIAMoAgAoAgggAygCACgCDGpJcUUEQCACKAIAIQAgBCQFIAAPCyAEQQRqIgUgACgCACABKAIAaiADKAIAKAIIazYCACAEIAUoAgAgAygCACgCDEoEfyADKAIAKAIMBSAFKAIACyIANgIAIAMoAgAgBCgCADYCECACKAIAIQAgBCQFIAAL9wIBCX8jBSEDIwVBQGskBSADQQhqIQkgA0EEaiEEIAMhByADQTBqIgggADYCACADQSxqIgAgATYCACADQShqIgUgAjYCACADQSRqIgogCCgCACgCJDYCACADQSBqIgIgACgCACgCCDYCACADQRxqIgEgACgCACgCEDYCACADQRhqIgsgCCgCACgCBDYCACADQRRqIgYgCygCACAIKAIAKAIYajYCACADQRBqIgAgBSgCAEF4ajYCACADQQM2AgwDQCAGKAIAQQJqIAAoAgBNBEAgCSAGKAIAIAsoAgBrNgIAIARBADYCAANAIAYoAgAhBSAEKAIAQQNJBEAgByAFIAQoAgBqIAIoAgAgASgCABC7AjYCAAJAAkAgBCgCAEUNACAKKAIAIAcoAgBBAnRqKAIARQ0ADAELIAooAgAgBygCAEECdGogCSgCACAEKAIAajYCAAsgBCAEKAIAQQFqNgIADAELCyAGIAVBA2o2AgAMAQsLIAMkBQvjAwEMfyMFIQMjBUFAayQFIANBDGohCCADQQhqIQQgA0EEaiEKIAMhCSADQTxqIgYgADYCACADQThqIgAgATYCACADQTRqIgcgAjYCACADQTBqIgsgBigCACgCJDYCACADQSxqIg0gACgCACgCCDYCACADQShqIg4gACgCACgCEDYCACADQSRqIgIgBigCACgCLDYCACADQSBqIgEgACgCACgCBDYCACADQRxqIgwgBigCACgCBDYCACADQRhqIgUgDCgCACAGKAIAKAIYajYCACADQRRqIgAgBygCAEF4ajYCACADQQM2AhADQCAFKAIAQQJqIAAoAgBNBEAgCCAFKAIAIAwoAgBrNgIAIARBADYCAANAAkAgBSgCACEHIAQoAgBBA08NACAKIAcgBCgCAGogASgCACAOKAIAELsCNgIAIAkgBSgCACAEKAIAaiANKAIAQQgQuwI2AgAgBCgCAEUEQCACKAIAIAooAgBBAnRqIAgoAgAgBCgCAGo2AgALAkACQCAEKAIARQ0AIAsoAgAgCSgCAEECdGooAgBFDQAMAQsgCygCACAJKAIAQQJ0aiAIKAIAIAQoAgBqNgIACyAEIAQoAgBBAWo2AgAMAQsLIAUgB0EDajYCAAwBCwsgAyQFC1ABAn8jBSEDIwVBEGokBSADQQhqIgQgADYCACADQQRqIgAgATYCACADIAI2AgAgBCgCACAAKAIAIAMoAgAgACgCACgCEBDJAiEAIAMkBSAAC7cCAQZ/IwUhBCMFQUBrJAUgBEEMaiIFIAA2AgAgBEEIaiIAIAE2AgAgBEEEaiIBIAI2AgAgBCADNgIAIAAoAgAhAiABKAIAIQEgBCgCACEDIAAoAgAoAhAhBiAEQTBqIgAgBSgCADYCACAEQSxqIgUgAjYCACAEQShqIgcgATYCACAEQSRqIgggAzYCACAEQSBqIgkgBjYCACAEQRxqIgZBADYCACAEQRhqIgIgACgCACgCBDYCACAEQRRqIgMgBygCACACKAIAazYCACAEQRBqIgEgACgCACgCGDYCAANAIAEo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IAQ2AgAgDEEYaiIEIAU2AgAgDEEUaiIFIAY2AgAgDEEQaiIGIAc2AgAgDEEMaiIHIAg2AgAgDEEIaiIIIAk2AgAgDEEEaiIJIAo2AgAgDCALNgIAIAwoAgAEfyANIA4oAgAgACgCACABKAIAIAIoAgAgAygCACAEKAIAIAUoAgAgBigCACAHKAIAIAgoAgAgCSgCABDeAjYCACANKAIAIQAgDCQFIAAFIA0gDigCACAAKAIAIAEoAgAgAigCACADKAIAIAQoAgAgBSgCACAGKAIAIAcoAgAgCCgCACAJKAIAEN4CNgIAIA0oAgAhACAMJAUgAAsLlwsBCn8jBSELIwVB0AFqJAUgC0HAAWohDSALQShqIgwgADYCACALQSRqIgAgATYCACALQSBqIgEgAjYCACALQRxqIgIgAzYCACALQRhqIgMgBDYCACALQRRqIgQgBTYCACALQRBqIgUgBjYCACALQQxqIgYgBzYCACALQQhqIgcgCDYCACALQQRqIgggCTYCACALIAo2AgAgACgCACEAIAEoAgAhASACKAIAIQIgAygCACEDIAQoAgAhBCAFKAIAIQUgBigCACEGIAcoAgAhByAIKAIAIQ4gCygCACEPIAtBvAFqIhAgDCgCADYCACALQbgBaiIMIAA2AgAgC0G0AWoiESABNgIAIAtBsAFqIgkgAjYCACALQawBaiICIAM2AgAgC0GoAWoiCCAENgIAIAtBpAFqIgQgBTYCACALQaABaiIKIAY2AgAgC0GcAWoiAyAHNgIAIAtBmAFqIgEgDjYCACALQZQBaiISIA82AgAgC0HMAGoiBSALQYABaiIAIBAoAgAgDCgCABCAAjYCACAFKAIAEM0BBEAgDUG6fzYCACANKAIAIQAgCyQFIAAPCyALQfAAaiITIBEoAgAgCSgCACABKAIAQQFrai0AABCBAiALQeAAaiIRIAIoAgAgCCgCACABKAIAQQFrai0AABCBAiALQdAAaiIUIAQoAgAgCigCACABKAIAQQFrai0AABCBAiAAIAMoAgAgASgCAEEDdGpBfGovAQAgCigCACABKAIAQQFrai0AAEECdEGwNGooAgAQiAIgABCEAiAAIAMoAgAgASgCAEEDdGpBfmovAQAgCSgCACABKAIAQQFrai0AAEECdEHANWooAgAQiAIgABCEAiALQcgAaiECIAtBxABqIQQgEigCAARAIAIgCCgCACABKAIAQQFrai0AADYCACAEIAIoAgAgAigCAEEYSQR/IAIoAgAFQRgLazYCACAEKAIABEAgACADKAIAIAEoAgBBAWtBA3RqKAIAIAQoAgAQiAIgABCEAgsgACADKAIAIAEoAgBBAWtBA3RqKAIAIAQoAgB2IAIoAgAgBCgCAGsQiAIFIAAgAygCACABKAIAQQFrQQN0aigCACAIKAIAIAEoAgBBAWtqLQAAEIgCCyALQcYBaiEMIAtBxQFqIQ4gC0HEAWohDyALQTxqIQUgC0E4aiEEIAtBNGohBiALQTBqIQcgC0EsaiEQIAAQhAIgC0FAayICIAEoAgBBAms2AgADQCACKAIAIAEoAgBJBEAgDCAKKAIAIAIoAgBqLAAAOgAAIA4gCCgCACACKAIAaiwAADoAACAPIAkoAgAgAigCAGosAAA6AAAgBSAMLQAAQQJ0QbA0aigCADYCACAEIA4tAAA2AgAgBiAPLQAAQQJ0QcA1aigCADYCACAAIBEgDi0AABCCAiAAIBMgDy0AABCCAiAAEIQCIAAgFCAMLQAAEIICIAAQhAIgACADKAIAIAIoAgBBA3RqLwEEIAUoAgAQiAIgBSgCACAGKAIAakEYSwRAIAAQhAILIAAgAygCACACKAIAQQN0ai8BBiAGKAIAEIgCIAAQhAIgEigCAARAIAcgBCgCACAEKAIAQRhJBH8gBCgCAAVBGAtrNgIAIAcoAgAEQCAAIAMoAgAgAigCAEEDdGooAgAgBygCABCIAiAAEIQCCyAAIAMoAgAgAigCAEEDdGooAgAgBygCAHYgBCgCACAHKAIAaxCIAgUgACADKAIAIAIoAgBBA3RqKAIAIAQoAgAQiAILIAAQhAIgAiACKAIAQX9qNgIADAELCyAAIBMQhQIgACAREIUCIAAgFBCFAiAQIAAQhgI2AgAgECgCAAR/IA0gECgCADYCACANKAIAIQAgCyQFIAAFIA1Bun82AgAgDSgCACEAIAskBSAACwtFAQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAIoAgBBAEdBJGxB4B5qIAMoAgBBAnRqKAIAIQAgAiQFIAALnDIBeX8jBSEGIwVBgARqJAUgBkH0A2ohPCAGQfADaiE9IAZB7ANqISwgBkHoA2ohbyAGQeQDaiFwIAZB4ANqIS0gBkHcA2ohcSAGQdgDaiEuIAZB1ANqISQgBkHQA2ohHCAGQcwDaiE+IAZByANqIQcgBkHEA2ohEyAGQcADaiFWIAZBvANqIT8gBkG4A2ohJSAGQbQDaiFAIAZBsANqIQsgBkGsA2ohDyAGQagDaiEvIAZBpANqIVcgBkGgA2ohHSAGQZwDaiFYIAZBmANqIUEgBkGUA2ohWSAGQZADaiEXIAZBjANqIVogBkGIA2ohWyAGQYQDaiFyIAZBgANqIUIgBkH8AmohQyAGQfgCaiEwIAZB9AJqIXMgBkHwAmohdCAGQewCaiExIAZB6AJqIXUgBkHkAmohMiAGQeACaiEmIAZB3AJqIR4gBkHYAmohRCAGQdQCaiEIIAZB0AJqIRQgBkHMAmohXCAGQcgCaiFFIAZBxAJqIScgBkHAAmohRiAGQbwCaiEMIAZBuAJqIRAgBkG0AmohMyAGQbACaiFdIAZBrAJqIR8gBkGoAmohXiAGQaQCaiFHIAZBoAJqIV8gBkGcAmohGCAGQZgCaiFgIAZBlAJqIWEgBkGQAmohdiAGQYwCaiFIIAZBiAJqIUkgBkGEAmohNCAGQYACaiF3IAZB/AFqIXggBkH4AWohNSAGQfQBaiF5IAZB8AFqITYgBkHsAWohKCAGQegBaiEgIAZB5AFqIUogBkHgAWohCSAGQdwBaiEVIAZB2AFqIWIgBkHUAWohSyAGQdABaiEpIAZBzAFqIUwgBkHIAWohDSAGQcQBaiERIAZBwAFqITcgBkG8AWohYyAGQbgBaiEhIAZBtAFqIWQgBkGwAWohTSAGQawBaiFlIAZBqAFqIRkgBkGkAWohZiAGQaABaiFnIAZBnAFqIXogBkGYAWohTiAGQZQBaiFPIAZBkAFqITggBkGMAWoheyAGQYgBaiF8IAZBhAFqITkgBkGAAWohfSAGQfwAaiE6IAZB+ABqISogBkH0AGohIiAGQfAAaiFQIAZB7ABqIQogBkHoAGohFiAGQeQAaiFoIAZB4ABqIVEgBkHcAGohKyAGQdgAaiFSIAZB1ABqIQ4gBkHQAGohEiAGQcwAaiE7IAZByABqIWkgBkHEAGohIyAGQUBrIWogBkE8aiFTIAZBOGohayAGQTRqIRogBkEwaiFsIAZBLGohbSAGQShqIX4gBkEkaiEbIAZBIGoi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IFIoAgBJBEAgaiAKKAIAIDkoAgAgOigCABC7AjYCACBTIAooAgAgIigCAGs2AgAgayAqKAIAIGooAgBBAnRqKAIANgIAIBogIigCACBrKAIAajYCACAqKAIAIGooAgBBAnRqIFMoAgA2AgACQCAOKAIAQQBLIAooAgBBAWogDigCAGsQ0AEgCigCAEEBahDQAUZxBEAgIyAKKAIAQQVqIAooAgBBBWogDigCAGsgKygCABC8AkEEajYCACAKIAooAgBBAWo2AgAgTygCACAKKAIAIBYoAgBrIBYoAgBBACAjKAIAQQNrEPkCBSBrKAIAIGgoAgBLBEAgGigCABDQASAKKAIAENABRgRAICMgCigCAEEEaiAaKAIAQQRqICsoAgAQvAJBBGo2AgAgbCAKKAIAIBooAgBrNgIAA0ACQCAKKAIAIBYoAgBLIBooAgAgUSgCAEtxRQ0AIAooAgBBf2otAAAgGigCAEF/ai0AAEcNACAKIAooAgBBf2o2AgAgGiAaKAIAQX9qNgIAICMgIygCAEEBajYCAAwBCwsgEiAOKAIANgIAIA4gbCgCADYCACBPKAIAIAooAgAgFigCAGsgFigCACBsKAIAQQJqICMoAgBBA2sQ+QIMAwsLIAogCigCACAKKAIAIBYoAgBrQQh1IH0oAgBqajYCAAwDCwsgCiAKKAIAICMoAgBqNgIAIBYgCigCADYCAAJAIAooAgAgUigCAE0EQCBTKAIAQQJqIQAgKigCACAiKAIAIFMoAgBqQQJqIDkoAgAgOigCABC7AkECdGogADYCACAKKAIAQX5qICIoAgBrIQAgKigCACAKKAIAQX5qIDkoAgAgOigCABC7AkECdGogADYCAANAIAooAgAgUigCAEsNAiASKAIAQQBLIAooAgAQ0AEgCigCACASKAIAaxDQAUZxRQ0CIG0gCigCAEEEaiAKKAIAQQRqIBIoAgBrICsoAgAQvAJBBGo2AgAgfiASKAIANgIAIBIgDigCADYCACAOIH4oAgA2AgAgCigCACAiKAIAayEAICooAgAgCigCACA5KAIAIDooAgAQuwJBAnRqIAA2AgAgTygCAEEAIBYoAgBBACBtKAIAQQNrEPkCIAogCigCACBtKAIAajYCACAWIAooAgA2AgAMAAsACwsMAQsLIA4oAgAhACA7KAIAIQEgOCgCACAO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ai0AAEcNAyAHIAcoAgBBf2o2AgAgIiAiKAIAQX9qNgIAIA0gDSgCAEEBajYCAAwACwALCyAHIAcoAgAgBygCACALKAIAa0EIdUEBamo2AgAMAwsgFyAMKAIANgIAIAwgSigCADYCACBgKAIAIAcoAgAgCygCAGsgCygCACBKKAIAQQJqIA0oAgBBA2sQ+QILIAcgBygCACANKAIAajYCACALIAcoAgA2AgACQCAHKAIAIGIoAgBNBEAgNygCAEECaiEAIDUoAgAgGygCACA3KAIAakECaiBHKAIAIEYoAgAQuwJBAnRqIAA2AgAgHygCACAbKAIAIDcoAgBqQQJqIDQoAgBBCBC7AkECdGogADYCACAHKAIAQX5qIBsoAgBrIQAgNSgCACAHKAIAQX5qIEcoAgAgRigCABC7AkECdGogADYCACAfKAIAIAcoAgBBfmogNCgCAEEIELsCQQJ0aiAANgIAA0AgBygCACBiKAIASw0CIBcoAgBBAEsgBygCABDQASAHKAIAIBcoAgBrENABRnFFDQIgdiAHKAIAQQRqIAcoAgBBBGogFygCAGsgICgCABC8AkEEajYCACCUASAXKAIANgIAIBcgDCgCADYCACAMIJQBKAIANgIAIAcoAgAgGygCAGshACA1KAIAIAcoAgAgRygCACBGKAIAELsCQQJ0aiAANgIAIAcoAgAgGygCAGshACAfKAIAIAcoAgAgNCgCAEEIELsCQQJ0aiAANgIAIGAoAgBBACALKAIAQQAgdigCAEEDaxD5AiAHIAcoAgAgdigCAGo2AgAgCyAHKAIANgIADAALAAsLDAELCyAMKAIAIQAgSSgCACEBIEUoAgAgDCgCAAR/IAAFIAELNgIAIBcoAgAhACBJKAIAIQEgRSgCACAXKAIABH8gAAUgAQs2AgQgMyAgKAIAIAsoAgBrNgIAIDMoAgAhACAGJAUgAA8LIG0oAgAhBCABKAIAIQEgACgCACEAIAIoAgAhAiADKAIAIQMgUiBsKAIANgIAIGYgBDYCACBTIAE2AgAggAEgADYCACCYASACNgIAIJkBIAM2AgAgVEEFNgIAICkgUigCACgCJDYCACA8IIABKAIAKAIINgIAID0gUigCACgCLDYCACBVIIABKAIAKAIENgIAIB0gUigCACgCBDYCACBnIJgBKAIANgIAIAkgZygC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BE8EQCAcKAIAIB0oAgBKBEAgASAPKAIANgIAIAIgDigCADYCACADIAAoAgA2AgAMAgsLIBQoAgBBAkcNAiAAKAIAIA0oAgBPDQIgACAAKAIAQQFqNgIAAkAgAigCAARAIAcoAgBBAEsgACgCABDQASAAKAIAIAcoAgBrENABRnEEQCAQIAAoAgBBBGogACgCAEEEaiAHKAIAayAEKAIAELwCQQRqNgIAIB4gECgCAEECdDYCACAfIAEoAgBBAnQgAigCAEEBahDUAWtBAWo2AgAgECgCAEEETwRAIB4oAgAgHygCAEwNAyABIBAoAgA2AgAgAkEANgIAIAMgACgCADYCAAsLCwsgEUH/wdcvNgIAIBIgCigCACATKAIAIAAoAgAgBCgCACARIBYoAgBBB3FBuAFqEQkANgIAICAgEigCAEECdCARKAIAQQFqENQBazYCACAhIAEoAgBBAnQgAigCAEEBahDUAWtBB2o2AgAgEigCAEEESQ0CICAoAgAgISgCAEwNAiABIBIoAgA2AgAgAiARKAIANgIAIAMgACgCADYCAAwACwALCyACKAIABEADQAJAIAMoAgAgBSgCAEsgAygCACACKAIAQQJrayAVKAIAS3FFDQAgAygCAEF/ai0AACADKAIAIAIoAgBrLQABRw0AIAMgAygCAEF/ajYCACABIAEoAgBBAWo2AgAMAQsLIAggBygCADYCACAHIAIoAgBBAms2AgALCyAiIAMoAgAgBSgCAGs2AgAgGSgCACAiKAIAIAUoAgAgAigCACABKAIAQQNrEPkCIAAgAygCACABKAIAaiIjNgIAIAUgIzYCAANAAkAgACgCACANKAIATSAIKAIAQQBLcUUNACAAKAIAENABIAAoAgAgCCgCAGsQ0AFHDQAgASAAKAIAQQRqIAAoAgBBBGogCCgCAGsgBCgCABC8AkEEajYCACACIAgoAgA2AgAgCCAHKAIANgIAIAcgAigCADYCACAZKAIAQQAgBSgCAEEAIAEoAgBBA2sQ+QIgACAAKAIAIAEoAgBqNgIAIAUgACgCADYCAAwBCwsMAQsLIAcoAgAhACAMKAIAIQEgCygCACAHKAIABH8gAAUgAQs2AgAgCCgCACEAIAwoAgAhASALKAIAIAgoAgAEfyAABSABCzYCBCAEKAIAIAUoAgBrIQAgBiQFIAALjREB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IRwgBkHoD2ohkQIgBkHkD2ohugMgBkHgD2ohnQEgBkHcD2ohkgIgBkHYD2ohkwIgBkHUD2oh2QEgBkHQD2ohUyAGQcwPaiGUAiAGQcgPaiGVAiAGQcQPaiHsAiAGQcAPaiGWAiAGQbwPaiHaASAGQbgPaiHbASAGQbQPaiGXAiAGQbAPaiG7AyAGQawPaiEvIAZBqA9qIe0CIAZBpA9qIWogBkGgD2ohvAMgBkGcD2ohayAGQZgPaiGeASAGQZQPaiHuAiAGQZAPaiFUIAZBjA9qIe8CIAZBiA9qIWwgBkGED2ohbSAGQYAPaiG9AyAGQfwOaiG+AyAGQfgOaiHcASAGQfQOaiECIAZB8A5qIZ8BIAZB7A5qIZgCIAZB6A5qIUMgBkHkDmohoAEgBkHgDmohFCAGQdwOaiFEIAZB2A5qIZkCIAZB1A5qIb8DIAZB0A5qIZoCIAZBzA5qIW4gBkHIDmohwAMgBkHEDmohoQEgBkHADmoh8AIgBkG8DmohogEgBkG4DmohKCAGQbQOaiHBAyAGQbAOaiE6IAZBrA5qIfECIAZBqA5qIfICIAZBpA5qIR0gBkGgDmohmwIgBkGcDmohwgMgBkGYDmohowEgBkGUDmohnAIgBkGQDmohnQIgBkGMDmoh3QEgBkGIDmohVSAGQYQOaiGeAiAGQYAOaiGfAiAGQfwNaiHzAiAGQfgNaiGgAiAGQfQNaiHeASAGQfANaiHfASAGQewNaiGhAiAGQegNaiHDAyAGQeQNaiEwIAZB4A1qIfQCIAZB3A1qIW8gBkHYDWohxAMgBkHUDWohcCAGQdANaiGkASAGQcwNaiH1AiAGQcgNaiFWIAZBxA1qIfYCIAZBwA1qIXEgBkG8DWohciAGQbgNaiHFAyAGQbQNaiHGAyAGQbANaiHgASAGQawNaiEDIAZBqA1qIaUBIAZBpA1qIaICIAZBoA1qIUUgBkGcDWohpgEgBkGYDWohFSAGQZQNaiFGIAZBkA1qIaMCIAZBjA1qIccDIAZBiA1qIaQCIAZBhA1qIXMgBkGADWohyAMgBkH8DGohpwEgBkH4DGoh9wIgBkH0DGohqAEgBkHwDGohKSAGQewMaiHJAyAGQegMaiE7IAZB5AxqIfgCIAZB4AxqIfkCIAZB3AxqIR4gBkHYDGohpQIgBkHUDGohygMgBkHQDGohqQEg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NgIAIJIBKAIAIKADKAIASyAaKAIAIJIBKAIAaiBQKAIARnIEQCBPKAIAIC4oAgBBAWo2Ahgg1AJBATYCAAwFCwsLCwsgoQMoAgAgogMoAgBBAnRqIC4oAgA2AgACQAJAAkADQAJAIKQDIKQDKAIAIgdBf2o2AgAgB0UNACAjKAIAINwCKAIATQ0AIP4BINcCKAIAICMoAgAgzQEoAgBxQQN0ajYCACDYAigCACEHINkCKAIAIQggDyDYAigCACDZAigCAEkEfyAHBSAICzYCAAJAAkAg1QIoAgBFDQAgIygCACAPKAIAaiBiKAIATw0AIM8BIPsBKAIAICMoAgBqNgIAIBooAgAgDygCAGogzwEoAgAgDygCAGogUCgCACDaAigCACDbAigCABC9AiEHIA8gDygCACAHajYCACAjKAIAIA8oAgBqIGIoAgBPBEAgzwEgzAEoAgAgIygCAGo2AgALDAELIM8BIMwBKAIAICMoAgBqNgIAIBooAgAgDygCAGogzwEoAgAgDygCAGogUCgCABC8AiEHIA8gDygCACAHajYCAAsgDygCACCPASgCAEsEQCAPKAIAIN0CKAIAICMoAgBrSwRAIN0CICMoAgAgDygCAGo2AgALII8BIA8oAgA2AgAgjgEoAgAgNigCAEEDdGogLigCACAjKAIAa0ECajYCACCOASgCACA2KAIAQQN0aiAPKAIANgIEIDYgNigCAEEBajYCACAPKAIAQYAgSw0BIBooAgAgDygCAGogUCgCAEYNAQsgIygCACEHIM8BKAIAIA8oAgBqLQAAIBooAgAgDygCAGotAABIBEAg/AEoAgAgBzYCACDYAiAPKAIANgIAICMoAgAgowMoAgBNDQMg/AEg/gEoAgBBBGo2AgAgIyD+ASgCACgCBDYCAAUg/QEoAgAgBzYCACDZAiAPKAIANgIAICMoAgAgowMoAgBNDQQg/QEg/gEoAgA2AgAgIyD+ASgCACgCADYCAAsMAQsLDAILIPwBIPsDNgIADAELIP0BIPsDNgIACyD9ASgCAEEANgIAIPwBKAIAQQA2AgAgTygCACDdAigCAEEIazYCGCDUAiA2KAIANgIACyDQASDUAigCADYCAAwECyCTASgCACEHIJQBKAIAIQgg0QEoAgAhCSDSASgCACEKIIECKAIAIQwgggIoAgAhECCDAigCACERIIQCKAIAIRIgSSBkKAIANgIAILgBIAc2AgAgFyAINgIAIEogCTYCACC3AiAKNgIAIN8DIAw2AgAguAIgEDYCACB/IBE2AgAg4AMgEjYCACC5AUEGNgIAIIsDILgBKAIAKAIUQf8fSQR/ILgBKAIAKAIUBUH/HwsiBzYCACC6ASBJKAIAKAIENgIAICsgFygCACC6ASgCAGs2AgAg4QMguAEoAgAoAgg2AgAgPSC5ASgCAEEDRgR/QQMFQQQLNgIAIIwDIEkoAgAoAiQ2AgAgjQMgFygCACDhAygCACC5ASgCABC7AjYCACAgIIwDKAIAII0DKAIAQQJ0aigCADYCACC5AiBJKAIAKAIsNgIAIOIDILgBKAIAKAIEQQFrNgIAILsBQQEg4gMoAgB0QQFrNgIAILoCQQA2AgAguwJBADYCACDvASBJKAIAKAIINgIAIFwgSSgCACgCDDYCACC8AiDvASgCACBcKAIAajYCACC9AiC6ASgCACBcKAIAajYCACCOAyC7ASgCACArKAIATwR/QQAFICsoAgAguwEoAgBrCyIHNgIAIL4CIEkoAgAoAhA2AgAg8AEguQIoAgAgKygCACC7ASgCAHFBA3RqNgIAIPEBILkCKAIAICsoAgAguwEoAgBxQQN0akEEajYCACC/AiArKAIAQQlqNgIAIDNBADYCACCPA0EBILgBKAIAKAIMdDYCACCAASDgAygCAEEBazYCACDkAyC4AigCAEEDajYCACCBASC4AigCADYCAAJAAkACQANAIIEBKAIAIOQDKAIATw0CIN8DKAIAIQcgvAEggQEoAgBBA0YEfyAHKAIAQQFrBSAHIIEBKAIAQQJ0aigCAAsiBzYCACCQAyArKAIAILwBKAIAazYCACBdQQA2AgAgvAEoAgBBAWsgKygCACBcKAIAa0kEQCAXKAIAID0oAgAQ8QIgFygCACC8ASgCAGsgPSgCABDxAkYEQCBdIBcoAgAgPSgCAGogFygCACA9KAIAaiC8ASgCAGsgSigCABC8AiA9KAIAajYCAAsFIJEDIO8BKAIAIJADKAIAajYCACC3AigCAARAILwBKAIAQQFrICsoAgAgvgIoAgBrSSBcKAIAQQFrIJADKAIAa0EDT3EEQCAXKAIAID0oAgAQ8QIgkQMoAgAgPSgCABDxAkYEQCBdIBcoAgAgPSgCAGogkQMoAgAgPSgCAGogSigCACC8AigCACC9AigCABC9AiA9KAIAajYCAAsLCwsgXSgCACCAASgCAEsEQCCAASBdKAIANgIAIH8oAgAgMygCAEEDdGoggQEoAgAguAIoAgBrNgIAIH8oAgAgMygCAEEDdGogXSgCADYCBCAzIDMoAgBBAWo2AgAgXSgCACCLAygCAEsgFygCACBdKAIAaiBKKAIARnINAgsggQEggQEoAgBBAWo2AgAMAAsACyC2AiAzKAIANgIADAELILkBKAIAQQNGBEAggAEoAgAguQEoAgBJBEAgggEgSSgCACAXKAIAEPICNgIAIIIBKAIAIL4CKAIASyArKAIAIIIBKAIAa0GAgBBJcQRAAkACQCC3AigCAEUNACCCASgCACBcKAIATw0AIOYDIO8BKAIAIIIBKAIAajYCACCDASAXKAIAIOYDKAIAIEooAgAgvAIoAgAgvQIoAgAQvQI2AgAMAQsg5QMgugEoAgAgggEoAgBqNgIAIIMBIBcoAgAg5QMoAgAgSigCABC8AjYCAAsggwEoAgAguQEoAgBPBEAggAEggwEoAgA2AgAgfygCACArKAIAIIIBKAIAa0ECajYCACB/KAIAIIMBKAIANgIEIDNBATYCACCDASgCACCLAygCAEsgFygCACCDASgCAGogSigCAEZyBEAgSSgCACArKAIAQQFqNgIYILYCQQE2AgAMBQsLCwsLIIwDKAIAII0DKAIAQQJ0aiArKAIANgIAAkACQAJAA0ACQCCPAyCPAygCACIHQX9qNgIAIAdFDQAgICgCACC+AigCAE0NACDyASC5AigCACAgKAIAILsBKAIAcUEDdGo2AgAgugIoAgAhByC7AigCACEIIAsgugIoAgAguwIoAgBJBH8gBwUgCAs2AgACQAJAILcCKAIARQ0AICAoAgAgCygCAGogXCgCAE8NACC9ASDvASgCACAgKAIAajYCACAXKAIAIAsoAgBqIL0BKAIAIAsoAgBqIEooAgAgvAIoAgAgvQIoAgAQvQIhByALIAsoAgAgB2o2AgAgICgCACALKAIAaiBcKAIATwRAIL0BILoBKAIAICAoAgBqNgIACwwBCyC9ASC6ASgCACAgKAIAajYCACAXKAIAIAsoAgBqIL0BKAIAIAsoAgBqIEooAgAQvAIhByALIAsoAgAgB2o2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ASAlKAIAIIUCKAIAazYCAAsLILADIIUCKAIANgIAILEDIN8CKAIANgIAIGYgASgCADYCAANAIOQCIAAoAgAgZigCAEEcbGooAgg2AgAgiwQgACgCACBmKAIAQRxsaigCBDYCACAAKAIAIGYoAgBBHGxqILADKAIANgIIIAAoAgAgZigCAEEcbGogsQMoAgA2AgQgsAMg5AIoAgA2AgAgsQMgiwQoAgA2AgAg5AIoAgAgZigCAE0EQCBmIGYoAgAg5AIoAgBrNgIADAELCyBnQQA2AgADQCBnKAIAICUoAgBJBEAg5QIgJCgCACBSKAIAazYCACDWASAAKAIAIGcoAgBBHGxqKAIINgIAINcBIAAoAgAgZygCAEEcbGooAgQ2AgAg1gEoAgBBAUYEQCAkICQoAgBBAWo2AgAgZyBnKAIAQQFqNgIADAILIGcgZygCACDWASgCAGo2AgAgJCAkKAIAINYBKAIAajYCACDXASgCAEEDTwRAICYoAgAgJigCACgCBDYCCCAmKAIAICYoAgAoAgA2AgQgJigCACDXASgCAEECazYCAAUgigIg1wEoAgAg5QIoAgBFajYCACCKAigCAARAICYoAgAhByCMBCCKAigCAEEDRgR/IAcoAgBBAWsFIAcgigIoAgBBAnRqKAIACyIHNgIAIIoCKAIAQQJPBEAgJigCACAmKAIAKAIENgIICyAmKAIAICYoAgAoAgA2AgQgJigCACCMBCgCADYCAAsLIDgoAgAg5QIoAgAgUigCACDXASgCACDWASgCABD4AiCOBCgCACDlAigCACBSKAIAINcBKAIAINYBKAIAQQNrEPkCIFIgJCgCADYCAAwBCwsgOCgCABD6AgwBCwsgjQIoAgAgUigCAGshACAGJAUgAAuM1gEBiQR/IwUhBiMFQeAQaiQFIAZBFGoiCyAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQMgBigCACEEIAZBsAJqImggCygCADYCACAGQawCaiKOBCAANgIAIAZBqAJqIiYgATYCACAGQaQCaiLYASACNgIAIAZBoAJqIgcgAzYCACAGQZwCaiIIIAQ2AgAgBkGYAmoijAJBAjYCACAGQZQC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IDYoAgBBA3RqIJABKAIAINYCKAIAazYCACCOASgCACA2KAIAQQN0aiBjKAIANgIEIDYgNigCAEEBajYCACBjKAIAIKADKAIASyAaKAIAIGMoAgBqIFAoAgBGcg0CCyCQASCQASgCAEEBajYCAAwACwALINQCIDYoAgA2AgAMAQsgywEoAgBBA0YEQCCPASgCACDLASgCAEkEQCCRASBPKAIAIBooAgAQ8gI2AgAgkQEoAgAg3AIoAgBLIC4oAgAgkQEoAgBrQYCAEElxBEACQAJAINUCKAIARQ0AIJEBKAIAIGIoAgBPDQAg/gMg+wEoAgAgkQEoAgBqNgIAIJIBIBooAgAg/gMoAgAgUCgCACDaAigCACDbAigCABC9AjYCAAwBCyD9AyDMASgCACCRASgCAGo2AgAgkgEgGigCACD9AygCACBQKAIAELwCNgIACyCSASgCACDLASgCAE8EQCCPASCSASgCADYCACCOASgCACAuKAIAIJEBKAIAa0ECajYCACCOASgCACCSASgCADYCBCA2QQE2AgAgkgEoAgAgoAMoAgBLIBooAgAgkgEoAgBqIFAoAgBGcgRAIE8oAgAgLigCAEEBajYCGCDUAkEBNgIADAULCwsLCyChAygCACCiAygCAEECdGogLigCADYCAAJAAkACQANAAkAgpAMgpAMoAgAiB0F/ajYCACAHRQ0AICMoAgAg3AIoAgBNDQAg/gEg1wIoAgAgIygCACDNASgCAHFBA3RqNgIAINgCKAIAIQcg2QIoAgAhCCAPINgCKAIAINkCKAIASQR/IAcFIAgLNgIAAkACQCDVAigCAEUNACAjKAIAIA8oAgBqIGIoAgBPDQAgzwEg+wEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAINoCKAIAINsCKAIAEL0CIQcgDyAPKAIAIAdqNgIAICMoAgAgDygCAGogYigCAE8EQCDPASDMASgCACAjKAIAajYCAAsMAQsgzwEgzAEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAELwCIQcgDyAPKAIAIAdqNgIACyAPKAIAII8BKAIASwRAIA8oAgAg3QIoAgAgIygCAGtLBEAg3QIgIygCACAPKAIAajYCAAsgjwEgDygCADYCACCOASgCACA2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KAIASyAXKAIAIIMBKAIAaiBKKAIARnIEQCBJKAIAICsoAgBBAWo2AhggtgJBATYCAAwFCwsLCwsgjAMoAgAgjQMoAgBBAnRqICsoAgA2AgACQAJAAkADQAJAII8DII8DKAIAIgdBf2o2AgAgB0UNACAgKAIAIL4CKAIATQ0AIPIBILkCKAIAICAoAgAguwEoAgBxQQN0ajYCACC6AigCACEHILsCKAIAIQggCyC6AigCACC7AigCAEkEfyAHBSAICzYCAAJAAkAgtwIoAgBFDQAgICgCACALKAIAaiBcKAIATw0AIL0BIO8BKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCACC8AigCACC9AigCABC9AiEHIAsgCygCACAHajYCACAgKAIAIAsoAgBqIFwoAgBPBEAgvQEgugEoAgAgICgCAGo2AgALDAELIL0BILoBKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCABC8AiEHIAsgCygCACAHajYCAAsgCygCACCAASgCAEsEQCALKAIAIL8CKAIAICAoAgBrSwRAIL8CICAoAgAgCygCAGo2AgALIIABIAsoAgA2AgAgfygCACAzKAIAQQN0aiArKAIAICAoAgBrQQJqNgIAIH8oAgAgMygCAEEDdGogCygCADYCBCAzIDMoAgBBAWo2AgAgCygCAEGAIEsNASAXKAIAIAsoAgBqIEooAgBGDQELICAoAgAhByC9ASgCACALKAIAai0AACAXKAIAIAsoAgBqLQAASARAIPABKAIAIAc2AgAgugIgCygCADYCACAgKAIAII4DKAIATQ0DIPABIPIBKAIAQQRqNgIAICAg8gEoAgAoAgQ2AgAFIPEBKAIAIAc2AgAguwIgCygCADYCACAgKAIAII4DKAIATQ0EIPEBIPIBKAIANgIAICAg8gEoAgAoAgA2AgALDAELCwwCCyDwASDjAzYCAAwBCyDxASDjAzYCAAsg8QEoAgBBADYCACDwASgCAEEANgIAIEkoAgAgvwIoAgBBCGs2AhggtgIgMygCADYCAAsg0AEgtgIoAgA2AgAMAwsgkwEoAgAhByCUASgCACEIINEBKAIAIQkg0gEoAgAhCiCBAigCACEMIIICKAIAIRAggwIoAgAhESCEAigCACESIEsg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sgFBADYCAAUgfSgCACEHIH4oAgAhCCCzASgCACEJIIcDKAIAIQogtAEoAgAhDCDpASBbKAIANgIAINcDIAc2AgAg2AMgCDYCACDZAyAJNgIAINoDIAo2AgAg2wMgDDYCACCFAyDpASgCACgCBDYCACCGAyDYAygCACCFAygCAGs2AgAg6gEg6QEoAgAoAhg2AgADQCDqASgCACCGAygCAEkEQCDpASgCACDXAygCACCFAygCACDqASgCAGog2QMoAgAg2gMoAgAg2wMoAgAQugIhByDqASDqASgCACAHajYCAAwBCwsg6QEoAgAghgMoAgA2AhgCQAJAAkACQCCHAygCAEEDaw4FAAMCAQEDCyB9KAIAIQcgfigCACEIILMBKAIAIQkgtAEoAgAhCiDrASgCACEMIOwBKAIAIRAg7QEoAgAhESDuASgCACESIEcgWygCADYCACCsASAHNgIAIBYgCDYCACBIIAk2AgAgrQIgCjYCACDPAyAMNgIAIK4CIBA2AgAgeCARNgIAINADIBI2AgAgrQFBAzYCACD+AiCsASgCACgCFEH/H0kEfyCsASgCACgCFAVB/x8LIgc2AgAgrgEgRygCACgCBDYCACAqIBYoAgAgrgEoAgBrNgIAINEDIKwBKAIAKAIINgIAIDwgrQEoAgBBA0YEf0EDBUEECzYCACD/AiBHKAIAKAIkNgIAIIADIBYoAgAg0QMoAgAgrQEoAgAQuwI2AgAgHyD/AigCACCAAygCAEECdGooAgA2AgAgrwIgRygCACgCLDYCACDSAyCsASgCACgCBEEBazYCACCvAUEBINIDKAIAdEEBazYCACCwAkEANgIAILECQQA2AgAg5QEgRygCACgCCDYCACBZIEcoAgAoAgw2AgAgsgIg5QEoAgAgWSgCAGo2AgAgswIgrgEoAgAgWSgCAGo2AgAggQMgrwEoAgAgKigCAE8Ef0EABSAqKAIAIK8BKAIAawsiBzYCACC0AiBHKAIAKAIQNgIAIOYBIK8CKAIAICooAgAgrwEoAgBxQQN0ajYCACDnASCvAigCACAqKAIAIK8BKAIAcUEDdGpBBGo2AgAgtQIgKigCAEEJajYCACAyQQA2AgAgggNBASCsASgCACgCDHQ2AgAgeSDQAygCAEEBazYCACDUAyCuAigCAEEDajYCACB6IK4CKAIANgIA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NgIAAkACQCBRKAIAICUoAgBLDQAgrwMoAgAgACgCACBRKAIAQRxsaigCAEgNACCMAigCAEUNAgwBCwNAICUoAgAgUSgCAEkEQCAAKAIAICUoAgBBAWpBHGxqQYCAgIAENgIAICUgJSgCAEEBajYCAAwBCwsgACgCACBRKAIAQRxsaiCWASgCADYCCCAAKAIAIFEoAgBBHGxqIOMCKAIANgIEIAAoAgAgUSgCAEEcbGog1QEoAgA2AgwgACgCACBRKAIAQRxsaiCvAygCADYCACAAKAIAIFEoAgBBHGxqQRBqIgcgrgMpAgA3AgAgByCuAygCCDYCCAsglgEglgEoAgBBf2o2AgAMAQsLIGUgZSgCAEEBajYCAAwACwALCwsgASABKAIAQQFqNgIADAALAAsghQIg4gIoAgA2AgAg3wIgNygCACCJAigCAEEBa0EDdGooAgA2AgAgJSABKAIAQQFqNgIADAILIIUCIAAoAgAgJSgCAEEcbGooAgg2AgAg3wIgACgCACAlKAIAQRxsaigCBDYCACABICUoAgAghQIoAgBrNgIACwsgsAMghQIoAgA2AgAgsQMg3wIoAgA2AgAgZiABKAIANgIAA0Ag5AIgACgCACBmKAIAQRxsaigCCDYCACCLBCAAKAIAIGYoAgBBHGxqKAIENgIAIAAoAgAgZigCAEEcbGogsAMoAgA2AgggACgCACBmKAIAQRxsaiCxAygCADYCBCCwAyDkAigCADYCACCxAyCLBCgCADYCACDkAigCACBmKAIATQRAIGYgZigCACDkAigCAGs2AgAMAQsLIGdBADYCAANAIGcoAgAgJSgCAEkEQCDlAiAkKAIAIFIoAgBrNgIAINYBIAAoAgAgZygCAEEcbGooAgg2AgAg1wEgACgCACBnKAIAQRxsaigCBDYCACDWASgCAEEBRgRAICQgJCgCAEEBajYCACBnIGcoAgBBAWo2AgAMAgsgZyBnKAIAINYBKAIAajYCACAkICQoAgAg1gEoAgBqNgIAINcBKAIAQQNPBEAgJigCACAmKAIAKAIENgIIICYoAgAgJigCACgCADYCBCAmKAIAINcBKAIAQQJrNgIABSCKAiDXASgCACDlAigCAEVqNgIAIIoCKAIABEAgJigCACEHIIwEIIoCKAIAQQNGBH8gBygCAEEBawUgByCKAigCAEEC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ACEQIDcoAgAhESCLAigCACESIGQgaCgCADYCACCTASAHNgIAIJQBIAg2AgAg0QEgCTYCACDSASAKNgIAIIECIAw2AgAgggIgEDYCACCDAiARNgIAIIQCIBI2AgAgqQMgkwEoAgAoAhA2AgACQCCUASgCACBkKAIAKAIEIGQoAgAoAhhqSQRAINABQQA2AgAFIJMBKAIAIQcglAEoAgAhCCDRASgCACEJIKkDKAIAIQog0gEoAgAhDCD/ASBkKAIANgIAIP8DIAc2AgAggAQgCDYCACCBBCAJNgIAIIIEIAo2AgAggwQgDDYCACCnAyD/ASgCACgCBDYCACCoAyCABCgCACCnAygCAGs2AgAggAIg/wEoAgAoAhg2AgADQCCAAigCACCoAygCAEkEQCD/ASgCACD/AygCACCnAygCACCAAigCAGoggQQoAgAgggQoAgAggwQoAgAQugIhByCAAiCAAigCACAHajYCAAwBCwsg/wEoAgAgqAMoAgA2AhgCQAJAAkACQCCpAygCAEEDaw4FAAMCAQEDCyCTASgCACEHIJQBKAIAIQgg0QEoAgAhCSDSASgCACEKIIECKAIAIQwgggIoAgAhECCDAigCACERIIQCKAIAIRIgTyBkKAIANgIAIMoBIAc2AgAgGiAINgIAIFAgCTYCACDVAiAKNgIAIPcDIAw2AgAg1gIgEDYCACCOASARNgIAIPgDIBI2AgAgywFBAzYCACCgAyDKASgCACgCFEH/H0kEfyDKASgCACgCFAVB/x8LIgc2AgAgzAEgTygCACgCBDYCACAuIBooAgAgzAEoAgBrNgIAIPkDIMoBKAIAKAIINgIAIEAgywEoAgBBA0YEf0EDBUEECzYCACChAyBPKAIAKAIkNgIAIKIDIBooAgAg+QMoAgAgywEoAgAQuwI2AgAgIyChAygCACCiAygCAEECdGooAgA2AgAg1wIgTygCACgCLDYCACD6AyDKASgCACgCBEEBazYCACDNAUEBIPoDKAIAdEEBazYCACDYAkEANgIAINkCQQA2AgAg+wEgTygCACgCCDYCACBiIE8oAgAoAgw2AgAg2gIg+wEoAgAgYigCAGo2AgAg2wIgzAEoAgAgYigCAGo2AgAgowMgzQEoAgAgLigCAE8Ef0EABSAuKAIAIM0BKAIAawsiBzYCACDcAiBPKAIAKAIQ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a0EDT3EEQCAXKAIAID0oAgAQ8QIgkQMoAgAgPSgCABDxAkYEQCBdIBcoAgAgPSgCAGogkQMoAgAgPSgCAGogSigCACC8AigCACC9AigCABC9AiA9KAIAajYCAAsLCwsgXSgCACCAASgCAEsEQCCAASBdKAIANgIAIH8oAgAgMygCAEEDdGoggQEoAgAguAIoAgBrNgIAIH8oAgAgMygCAEEDdGogXSgCADYCBCAzIDMoAgBBAWo2AgAgXSgCACCLAygCAEsgFygCACBdKAIAaiBKKAIARnINAgsggQEggQEoAgBBAWo2AgAMAAsACyC2AiAzKAIANgIADAELILkBKAIAQQNGBEAggAEoAgAguQEoAgBJBEAgggEgSSgCACAXKAIAEPICNgIAIIIBKAIAIL4CKAIASyArKAIAIIIBKAIAa0GAgBBJcQRAAkACQCC3AigCAEUNACCCASgCACBcKAIATw0AIOYDIO8BKAIAIIIBKAIAajYCACCDASAXKAIAIOYDKAIAIEooAgAgvAIoAgAgvQIoAgAQvQI2AgAMAQsg5QMgugEoAgAgggEoAgBqNgIAIIMBIBcoAgAg5QMoAgAgSigCABC8AjYCAAsggwEoAgAguQEoAgBPBEAggAEggwEoAgA2AgAgfygCACArKAIAIIIBKAIAa0ECajYCACB/KAIAIIMBKAIANgIEIDNBATYCACCDASgCACCLAygCAEsgFygCACCDASgCAGogSigCAEZyBEAgSSgCACArKAIAQQFqNgIYILYCQQE2AgAMBQsLCwsLIIwDKAIAII0DKAIAQQJ0aiArKAIANgIAAkACQAJAA0ACQCCPAyCPAygCACIHQX9qNgIAIAdFDQAgICgCACC+AigCAE0NACDyASC5AigCACAgKAIAILsBKAIAcUEDdGo2AgAgugIoAgAhByC7AigCACEIIAsgugIoAgAguwIoAgBJBH8gBwUgCAs2AgACQAJAILcCKAIARQ0AICAoAgAgCygCAGogXCgCAE8NACC9ASDvASgCACAgKAIAajYCACAXKAIAIAsoAgBqIL0BKAIAIAsoAgBqIEooAgAgvAIoAgAgvQIoAgAQvQIhByALIAsoAgAgB2o2AgAgICgCACALKAIAaiBcKAIATwRAIL0BILoBKAIAICAoAgBqNgIACwwBCyC9ASC6ASgCACAgKAIA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CyCFAiAAKAIAICUoAgBBHGxqKAIINgIAIN8CIAAoAgAgJSgCAEEcbGooAgQ2AgAgASAlKAIAIIUCKAIAazYCAAsLILADIIUCKAIANgIAILEDIN8CKAIANgIAIGYgASgCADYCAANAIOQCIAAoAgAgZigCAEEcbGooAgg2AgAgiwQgACgCACBmKAIAQRxsaigCBDYCACAAKAIAIGYoAgBBHGxqILADKAIANgIIIAAoAgAgZigCAEEcbGogsQMoAgA2AgQgsAMg5AIoAgA2AgAgsQMgiwQoAgA2AgAg5AIoAgAgZigCAE0EQCBmIGYoAgAg5AIoAgBrNgIADAELCyBnQQA2AgADQCBnKAIAICUoAgBJBEAg5QIgJCgCACBSKAIAazYCACDWASAAKAIAIGcoAgBBHGxqKAIINgIAINcBIAAoAgAgZygCAEEcbGooAgQ2AgAg1gEoAgBBAUYEQCAkICQoAgBBAWo2AgAgZyBnKAIAQQFqNgIADAILIGcgZygCACDWASgCAGo2AgAgJCAkKAIAINYBKAIAajYCACDXASgCAEEDTwRAICYoAgAgJigCACgCBDYCCCAmKAIAICYoAgAoAgA2AgQgJigCACDXASgCAEECazYCAAUgigIg1wEoAgAg5QIoAgBFajYCACCKAigCAARAICYoAgAhByCMBCCKAigCAEEDRgR/IAcoAgBBAWsFIAcgigIoAgBBAnRqKAIACyIHNgIAIIoCKAIAQQJPBEAgJigCACAmKAIAKAIENgIICyAmKAIAICYoAgAoAgA2AgQgJigCACCMBCgCADYCAAsLIDgoAgAg5QIoAgAgUigCACDXASgCACDWASgCABD4AiCOBCgCACDlAigCACBSKAIAINcBKAIAINYBKAIAQQNrEPkCIFIgJCgCADYCAAwBCwsgOCgCABD6AgwBCwsgjQIoAgAgUigCAGshACAGJAUgAAuM1gEBiQR/IwUhBiMFQeAQaiQFIAZBFGoiCyAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQMgBigCACEEIAZBsAJqImggCygCADYCACAGQawCaiKOBCAANgIAIAZBqAJqIiYgATYCACAGQaQCaiLYASAC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ABC9AiBAKAIAajYCAAsLCwsgYygCACCPASgCAEsEQCCPASBjKAIANgIAII4BKAIAIDYoAgBBA3RqIJABKAIAINYCKAIAazYCACCOASgCACA2KAIAQQN0aiBjKAIANgIEIDYgNigCAEEBajYCACBjKAIAIKADKAIASyAaKAIAIGMoAgBqIFAoAgBGcg0CCyCQASCQASgCAEEBajYCAAwACwALINQCIDYoAgA2AgAMAQsgywEoAgBBA0YEQCCPASgCACDLASgCAEkEQCCRASBPKAIAIBooAgAQ8gI2AgAgkQEoAgAg3AIoAgBLIC4oAgAgkQEoAgBrQYCAEElxBEACQAJAINUCKAIARQ0AIJEBKAIAIGIoAgBPDQAg/gMg+wEoAgAgkQEoAgBqNgIAIJIBIBooAgAg/gMoAgAgUCgCACDaAigCACDbAigCABC9AjYCAAwBCyD9AyDMASgCACCRASgCAGo2AgAgkgEgGigCACD9AygCACBQKAIAELwCNgIACyCSASgCACDLASgCAE8EQCCPASCSASgCADYCACCOASgCACAuKAIAIJEBKAIAa0ECajYCACCOASgCACCSASgCADYCBCA2QQE2AgAgkgEoAgAgoAMoAgBLIBooAgAgkgEoAgBqIFAoAgBGcgRAIE8oAgAgLigCAEEBajYCGCDUAkEBNgIADAULCwsLCyChAygCACCiAygCAEECdGogLigCADYCAAJAAkACQANAAkAgpAMgpAMoAgAiB0F/ajYCACAHRQ0AICMoAgAg3AIoAgBNDQAg/gEg1wIoAgAgIygCACDNASgCAHFBA3RqNgIAINgCKAIAIQcg2QIoAgAhCCAPINgCKAIAINkCKAIASQR/IAcFIAgLNgIAAkACQCDVAigCAEUNACAjKAIAIA8oAgBqIGIoAgBPDQAgzwEg+wEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAINoCKAIAINsCKAIAEL0CIQcgDyAPKAIAIAdqNgIAICMoAgAgDygCAGogYigCAE8EQCDPASDMASgCACAjKAIAajYCAAsMAQsgzwEgzAEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAELwCIQcgDyAPKAIAIAdqNgIACyAPKAIAII8BKAIASwRAIA8oAgAg3QIo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ICsoAgAgggEoAgBrQQJqNgIAIH8oAgAggwEoAgA2AgQgM0EBNgIAIIMBKAIAIIsDKAIASyAXKAIAIIMBKAIAaiBKKAIARnIEQCBJKAIAICsoAgBBAWo2AhggtgJBATYCAAwFCwsLCwsgjAMoAgAgjQMoAgBBAnRqICsoAgA2AgACQAJAAkADQAJAII8DII8DKAIAIgdBf2o2AgAgB0UNACAgKAIAIL4CKAIATQ0AIPIBILkCKAIAICAoAgAguwEoAgBxQQN0ajYCACC6AigCACEHILsCKAIAIQggCyC6AigCACC7AigCAEkEfyAHBSAICzYCAAJAAkAgtwIoAgBFDQAgICgCACALKAIAaiBcKAIATw0AIL0BIO8BKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCACC8AigCACC9AigCABC9AiEHIAsgCygCACAHajYCACAgKAIAIAsoAgBqIFwoAgBPBEAgvQEgugEoAgAgICgCAGo2AgALDAELIL0BILoBKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCABC8AiEHIAsgCygCACAHajYCAAsgCygCACCAASgCAEsEQCALKAIAIL8CKAIAICAoAgBrSwRAIL8CICAoAgAgCygCAGo2AgALIIABIAsoAgA2AgAgfygCACAzKAIAQQN0aiArKAIAICAoAgBrQQJqNgIAIH8oAgAgMygCAEEDdGogCygCADYCBCAzIDMoAgBBAWo2AgAgCygCAEGAIEsNASAXKAIAIAsoAgBqIEooAgBGDQELICAoAgAhByC9ASgCACALKAIAai0AACAXKAIAIAsoAgBqLQAASARAIPABKAIAIAc2AgAgugIgCygCADYCACAgKAIAII4DKAIATQ0DIPABIPIBKAIAQQRqNgIAICAg8gEoAgAoAgQ2AgAFIPEBKAIAIAc2AgAguwIgCygCADYCACAgKAIAII4DKAIATQ0EIPEBIPIBKAIANgIAICAg8gEoAgAoAgA2AgALDAELCwwCCyDwASDjAzYCAAwBCyDxASDjAzYCAAsg8QEoAgBBADYCACDwASgCAEEANgIAIEkoAgAgvwIoAgBBCGs2AhggtgIgMygCADYCAAsg0AEgtgIoAgA2AgAMAwsgkwEoAgAhByCUASgCACEIINEB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ASASNgIAIIcDIH0oAgAoAhA2AgACQCB+KAIAIFsoAgAoAgQgWygCACgCGGpJBEAgsgFBADYCAAUgfSgCACEHIH4oAgAhCCCzASgCACEJIIcDKAIAIQogtAEoAgAhDCDpASBbKAIANgIAINcDIAc2AgAg2AMgCDYCACDZAyAJNgIAINoDIAo2AgAg2wMgDDYCACCFAyDpASgCACgCBDYCACCGAyDYAygCACCFAygCAGs2AgAg6gEg6QEoAgAoAhg2AgADQCDqASgCACCGAygCAEkEQCDpASgCACDXAygCACCFAygCACDqASgCAGog2QMoAgAg2gMoAgAg2wMoAgAQugIhByDqASDqASgCACAHajYCAAwBCwsg6QEoAgAghgMoAgA2AhgCQAJAAkACQCCHAygCAEEDaw4FAAMCAQEDCyB9KAIAIQcgfigCACEIILMBKAIAIQkgtAEoAgAhCiDrASgCACEMIOwBKAIAIRAg7QEoAgAhESDuASgCACESIEcgWygCADYCACCsASAHNgIAIBYgCDYCACBIIAk2AgAgrQIgCjYCACDPAyAMNgIAIK4CIBA2AgAgeCARNgIAINADIBI2AgAgrQFBAzYCACD+AiCsASgCACgCFEH/H0kEfyCsASgCACgCFAVB/x8LIgc2AgAgrgEgRygCACgCBDYCACAqIBYoAgAgrgEoAgBrNgIAINEDIKwBKAIAKAIINgIAIDwgrQEoAgBBA0YEf0EDBUEECzYCACD/AiBHKAIAKAIkNgIAIIADIBYoAgAg0QMoAgAgrQEoAgAQuwI2AgAgHyD/AigCACCAAygCAEECdGooAgA2AgAgrwIgRygCACgCLDYCACDSAyCsASgCACgCBEEBazYCACCvAUEBINIDKAIAdEEBazYCACCwAkEANgIAILECQQA2AgAg5QEgRygCACgCCDYCACBZIEcoAgAoAgw2AgAgsgIg5QEoAgAgWSgCAGo2AgAgswIgrgEoAgAgWSgCAGo2AgAggQMgrwEoAgAgKigCAE8Ef0EABSAqKAIAIK8BKAIAawsiBzYCACC0AiBHKAIAKAIQNgIAIOYBIK8CKAIAICooAgAgrwEoAgBxQQN0ajYCACDnASCvAigCACAqKAIAIK8BKAIAcUEDdGpBBGo2AgAgtQIgKigCAEEJajYCACAyQQA2AgAgggNBASCsASgCACgCDHQ2AgAgeSDQAygCAEEBazYCACDUAyCuAigCAEEDajYCACB6IK4CKAIANgIAAkACQAJAA0AgeigCACDUAygCAE8NAiDPAygCACEHILABIHooAgBBA0YEfyAHKAIAQQFrBSAHIHooAgBBAnRqKAIACyIHNgIAIIMDICooAgAgsAEoAgBrNgIAIFpBADYCAAJAILABKAIAQQFrICooAgAgWSgCAGtJBEAgFigCACA8KAIAEPECIBYoAgAgsAEoAgBrIDwoAgAQ8QJHDQEgWiAWKAIAIDwoAgBqIBYoAgAgPCgCAGogsAEoAgBrIEgoAgAQvAIgPCgCAGo2AgAFIIQDIOUBKAIAIIMDKAIAajYCACCtAigCAEUNASCwASgCAEEBayAqKAIAILQCKAIAa0kgWSgCAEEBayCDAygCAGtBA09xRQ0BIBYoAgAgPCgCABDxAiCEAygCACA8KAIAEPECRw0BIFogFigCACA8KAIAaiCEAygCACA8KAIAaiBIKAIAILICKAIAILMCKAIAEL0CIDwoAgBqNgIACwsgWigCACB5KAIASwRAIHkgWigCADYCACB4KAIAIDIoAgBBA3RqIHooAgAgrgIoAgBrNgIAIHgoAgAgMigCAEEDdGogWigCADYCBCAyIDIoAgBBAWo2AgAgWigCACD+AigCAEsgFigCACBaKAIAaiBIKAIARnINAgsgeiB6KAIAQQFqNgIADAALAAsgrAIgMigCADYCAAwBCwJAIK0BKAIAQQNGBEAgeSgCACCtASgCAE8NASB7IEcoAgAgFigCABDyAjYCACB7KAIAILQCKAIASyAqKAIAIHsoAgBrQYCAEElxRQ0BAkACQCCtAigCAEUNACB7KAIAIFkoAgBPDQAg1gMg5QEoAgAgeygCAGo2AgAgfCAWKAIAINYDKAIAIEgoAgAgsgIoAgAgswIoAgAQvQI2AgAMAQsg1QMgrgEoAgAgeygCAGo2AgAgfCAWKAIAINUDKAIAIEgoAgAQvAI2AgALIHwoAgAgrQEoAgBJDQEgeSB8KAIANgIAIHgoAgAgKigCACB7KAIAa0ECajYCACB4KAIAIHwoAgA2AgQgMkEBNgIAIHwoAgAg/gIoAgBLIBYoAgAgfCgCAGogSCgCAEZyRQ0BIEcoAgAgKigCAEEBajYCGCCsAkEBNgIADAILCyD/AigCACCAAygCAEECdGogKigCADYCAAJAAkACQANAAkAgggMgggMoAgAiB0F/ajYCACAHRQ0AIB8oAgAgtAIoAgBNDQAg6AEgrwIoAgAgHygCACCvASgCAHFBA3RqNgIAILACKAIAIQcgsQIoAgAhCCAFILACKAIAILECKAIASQR/IAcFIAgLNgIAAkACQCCtAigCAEUNACAfKAIAIAUoAgBqIFkoAgBPDQAgsQEg5QEoAgAgHygCAGo2AgAgFigCACAFKAIAaiCxASgCACAFKAIAaiBIKAIAILICKAIAILMCKAIAEL0CIQcgBSAFKAIAIAdqNgIAIB8oAgAgBSgCAGogWSgCAEkNASCxASCuASgCACAfKAIAajYCAAwBCyCxASCuASgCACAfKAIAajYCACAWKAIAIAUoAgBqILEBKAIAIAUoAgBqIEgoAgAQvAIhByAFIAUoAgAgB2o2AgALIAUoAgAgeSgCAEsEQCAFKAIAILUCKAIAIB8oAgBrSwRAILUCIB8oAgAgBSgCAGo2AgALIHkgBSgCADYCACB4KAIAIDIoAgBBA3RqICooAgAgHygCAGtBAmo2AgAgeCgCACAyKAIAQQN0aiAFKAIANgIEIDIgMigCAEEBajYCACAFKAIAQYAgSw0BIBYoAgAgBSgCAGogSCgCAEYNAQsgHygCACEHILEBKAIAIAUoAgBqLQAAIBYoAgAgBSgCAGotAABIBEAg5gEoAgAgBzYCACCwAiAFKAIANgIAIB8oAgAggQMoAgBNDQMg5gEg6AEoAgBBBGo2AgAgHyDoASgCACgCBDYCAAUg5wEoAgAgBzYCACCxAiAFKAIANgIAIB8oAgAggQMoAgBNDQQg5wEg6AEoAgA2AgAgHyDoASgCACgCADYCAAsMAQsLDAILIOYBINMDNgIADAELIOcBINMDNgIACyDnASgCAEEANgIAIOYBKAIAQQA2AgAgRygCACC1AigCAEEIazYCGCCsAiAyKAIANgIACyCyASCsAigCADYCAAwECyB9KAIAIQcgfigCACEIILMBKAIAIQkgtAEoAgAhCiDrASgCACEMIOwBKAIAIRAg7QEoAgAhESDuASgCACESIEEgWygCADYCACCaASAHNgIAIBMgCDYCACBCIAk2AgAgjwIgCjYCACC3AyAMNgIAIJACIBA2AgAgaSARNgIAILgDIBI2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CyAHQUBrIR8gB0E8aiEgIAdBOGohFSAHQTRqIRYgB0EwaiEdIAdBLGohCiAHQShqISEgB0EkaiEiIAdBIGohDSAHQRxqIQ4gB0EYaiEXIAdBFGohIyAHQRBqIQYgB0EMaiEPIAdBCGohASAHQQRqIQggACATKAIANgIAA0AgACgCAARAIB8gBCgCACAAKAIAIAIoAgBxQQN0akEEajYCACAgIB8oAgAoAgA2AgAgCSgCACALKAIAIAAoAgAgECgCACAFKAIAIBwoAgAgHigCABCIAyAAICAoAgA2AgAgBSAFKAIAQQFqNgIADAELCyAVQQA2AgAgFkEANgIAIB0gCSgCACgCCDYCACAKIAkoAgAoAgw2AgAgISAdKAIAIAooAgBqNgIAICIgESgCACAKKAIAajYCACANIAQoAgAgAygCACACKAIAcUEDdGo2AgAgDiAEKAIAIAMoAgAgAigCAHFBA3RqQQRqNgIAIBcgAygCAEEJajYCACAGQQA2AgAgACAZKAIAIBooAgBBAnRqKAIANgIAIBkoAgAgGigCAEECdGogAygCADYCAAJAAkACQANAAkAgEiASKAIAIgVBf2o2AgAgBUUNACAAKAIAIBsoAgBNDQAgDyAEKAIAIAAoAgAgAigCAHFBA3RqNgIAIBUoAgAhBSAWKAIAIQsgASAVKAIAIBYoAgBJBH8gBQUgCws2AgACQAJAIB4oAgBFDQAgACgCACABKAIAaiAKKAIATw0AIAggHSgCACAAKAIAajYCACAMKAIAIAEoAgBqIAgoAgAgASgCAGogECgCACAhKAIAICIoAgAQvQIhBSABIAEoAgAgBWo2AgAgACgCACABKAIAaiAKKAIATwRAIAggESgCACAAKAIAajYCAAsMAQsgCCARKAIAIAAoAgBqNgIAIAwoAgAgASgCAGogCCgCACABKAIAaiAQKAIAELwCIQUgASABKAIAIAVqNgIACyABKAIAIAYoAgBLBEAgASgCACAXKAIAIAAoAgBrSwRAIBcgACgCACABKAIAajYCAAsgASgCACAGKAIAa0ECdCADKAIAIAAoAgBrQQFqENQBIBgoAgAoAgBBAWoQ1AFrSgRAIAYgASgCADYCACAYKAIAIAMoAgBBAmogACgCAGs2AgALIAwoAgAgASgCAGogECgCAEYNAQsgACgCACEFIAgoAgAg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ACEAIAUkBSAADwsgAigCAEUEQCAIKAIAQajqvmkQigIgAUEENgIACyAPLAAAIQIgBCgCACEHIAEgASgCACIIQQFqNgIAIAcgCGogAjoAACAKKAIARQRAIA4sAAAhAiAEKAIAIQcgASABKAIAIghBAWo2AgAgByAIaiACOgAACwJAAkACQAJAIAsoAgBBAWsOAwECAAMLIAQoAgAgASgCAGogCSgCABCKAiABIAEoAgBBBGo2AgAMAgsgBCgCACABKAIAaiAJKAIAOgAAIAEgASgCAEEBajYCAAwBCyAEKAIAIAEoAgBqIAkoAgBB//8DcRCaAiABIAEoAgBBAmo2AgALAkACQAJAAkACQCAMKAIAQQFrDgMBAgADCyAEKAIAIAEoAgBqIAApAwAQiwIgASABKAIAQQhqNgIADAMLIAQoAgAgASgCAGogACkDAEKAAn2nQf//A3EQmgIgASABKAIAQQJqNgIADAILIAQoAgAgASgCAGogACkDAKcQigIgASABKAIAQQRqNgIADAELIAooAgAEQCAAKQMAp0H/AXEhACAEKAIAIQIgASABKAIAIgRBAWo2AgAgAiAEaiAAOgAACwsgBiABKAIANgIAIAYoAgAhACAFJAUgAAuQCAEPfyMFIQYjBUHwAGokBSAGQcgAaiIHIAA2AgAgBkHEAGoiCiABNgIAIAZBQGsiDSACNgIAIAZBPGoiASADNgIAIAZBOGoiACAENgIAIAZBNGoiECAFNgIAIAZBMGoiAiAHKAIAKALoATYCACAGQSxqIgsgACgCADYCACAGQShqIgggASgCADYCACAGQSRqIg8gCigCADYCACAGQSBqIgQgDygCADYCACAGQRxqIhFBASAHKAIAKAJ4dDYCACAHKAIAKAKYAUEARyAAKAIAQQBHcQRAIAcoAgBBiAJqIAEoAgAgACgCABDrARoLIAZB0ABqIQogBkHMAGohBSAGQRhqIQEgBkEUaiESIAZBEGohEyAGQQxqIQ4gBkEIaiEDIAZBBGohFCAGIQACQAJAAkACQANAIAsoAgBFDQQgASAHKAIAQeADajYCACASIBAoAgAgAigCACALKAIAT3E2AgAgDSgCAEEGSQ0BIAsoAgAgAigCAEkEQCACIAsoAgA2AgALIAgoAgAgAigCAGohDCAKIAEoAgAiCSkCADcCACAKIAkpAgg3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KAIAIgYpAgA3AgAgAiAGKQIINwIIIAIgBikCEDcCECAhIAcgCiACEKkDNgIAICJBADYCACAoIAApAwAgDSgCABCqAzYCACADICEoAgA2AgADQCADKAIAICEoAgAgLygCAEEDdGpJBEACQCADKAIAKAIEICgoAgBGBEAgAygCACgCACAmKAIASwRAIBQoAgAEQCAlKAIAIQYgDygCACEHICkgAygCACgCACAOKAIASQR/IAYFIAcLNgIAICMgKSgCACADKAIAKAIAajYCACAnKAIAIQYgECgCACEHICogAygCACgCACAOKAIASQR/IAYFIAcLNgIAIDIoAgAhBiAZKAIAIQcgKyADKAIAKAIAIA4oAgBJBH8gBgUgBws2AgAgCyABKAIAICMoAgAgECgCACAqKAIAIBkoAgAQvQI2AgAgCygCACAMKAIASQ0DIBYgASgCACARKAIAICMoAgAgKygCABCrAzYCACAcIAsoAgAgFigCAGo2AgAFICQgDygCACADKAIAKAIAajYCACALIAEoAgAgJCgCACAQKAIAELwCNgIAIAsoAgAgDCgCAEkNAyAWIAEoAgAgESgCACAkKAIAIBkoAgAQqwM2AgAgHCALKAIAIBYoAgBqNgIACyAcKAIAICIoAgBLBEAgIiAcKAIANgIAICAgCygCADYCACAaIBYoAgA2AgAgGyADKAIANgIACwsLCyADIAMoAgBBCGo2AgAMAQsLIBsoAgBFBEAgCCgCACEHIAApAwAhNSANKAIAIQogHygCACEXIAIgCSgCACIGKQIANwIAIAIgBikCCDcCCCACIAYpAhA3AhAgByA1IAogFyACEKwDIAEgASgCAEEBajYCAAwBCyASICAoAgAgGigCAGo2AgAgASABKAIAIBooAgBrNgIAICwgGygCACgCADYCACAtIB8oAgAgLCgCAGs2AgAgHSATKAIAKAIAIBMoAgAoAghBDGxqNgIAIBMoAgAoAgggEygCACgCDEYNASAdKAIAIAEoAgAgESgCAGs2AgQgHSgCACASKAIANgIIIB0oAgAgLSgCADYCACATKAIAQQhqIgYgBigCAEEBajYCACAIKAIAIQcgACkDACE1IA0oAgAhCiAEKAIAIA8oAgBrIRcgAiAJKAIAIgYpAgA3AgAgAiAGKQIINwIIIAIgBikCEDcCECAHIDUgCiAXIAIQrAMgASgCACASKAIAaiAeKAIATQRAIAgoAgAhByAAKQMAITUgBCgCACEKIAEoAgAgEigCAGohFyAPKAIAITMgDSgCACE0IAIgCSgCACIGKQIANwIAIAIgBikCCDcCCCACIAYpAhA3AhAgACAHIDUgCiAXIDMgNCACEK0DNwMAIAQgASgCACASKAIAakF/ajYCAAsgASABKAIAIBIoAgBqNgIAIBEgASgCADYCAAwACwALIBhBun82AgAgGCgCACEAIAUkBSAADwsgGCAQKAIAIBEoAgBrNgIAIBgoAgAhACAFJAUgAAuKAQEDfyMFIQUjBUEgaiQFIAVBCGoiBCAANwMAIAVBEWoiBiABOgAAIAVBEGoiASACOgAAIAUgAzcDACAEIAQpAwAgBi0AAEEKaqwgBSkDAH59NwMAIAQgBCkDAELjyJW9y5vvjU9+NwMAIAQgBCkDACABLQAAQQpqrHw3AwAgBCkDACEAIAUkBSAAC5oBAgN/AX4jBSECIwVBIGokBSACQRBqIgMgADYCACACQQxqIgQgATYCACACIgBCADcDACAAQQhqIgFBADYCAANAIAApAwAhBSABKAIAIAQoAgBJBEAgACAFQuPIlb3Lm++NT343AwAgACAAKQMAIAMoAgAgASgCAGotAABBCmqsfDcDACABIAEoAgBBAWo2AgAMAQsLIAIkBSAFC6ABAQN/IwUhAyMFQSBqJAUgA0EQaiEEIAMgADcDACADQQxqIgUgATYCACADQQhqIgEgAjYCACADKQMAIQBBICAFKAIAayABKAIASQR/IAQgAEEBIAEoAgB0QQFrrYM+AgAgBCgCACEBIAMkBSABBSAEIABBICAFKAIAayABKAIAa62IQQEgASgCAHRBAWutgz4CACAEKAIAIQEgAyQFIAELC00BA38jBSECIwVBEGokBSACIgQgADcDACACQQhqIgMgATYCACADKAIARQRAIAIkBUEADwsgBCkDAEHAACADKAIAa62IpyEBIAIkBSABC0EBAn8jBSEDIwVBEGokBSADQQRqIgQgADYCACADIAE2AgAgBCgCACgCFCADKAIAIAIoAgh0QQN0aiEAIAMkBSAAC0EBAn8jBSECIwVBEGokBSACIAA3AwAgAkEIaiIDIAE2AgAgAikDAEEgIAMoAgBrrYhC/////w+DpyEBIAIkBSAB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CyAANgIAIAlBIGoiDCABNgIAIAlBHGoiASACNgIAIAlBGGoiDSADNgIAIAlBFGoiAiAENgIAIAkiACAGNwMAIAlBEGoiAyAHNgIAIAIoAgAEQCACKAIAKAIIQQBLBEAgCygCAEEMaiIBIAUpAgA3AgAgASAFKQIINwIIIAEgBSkCEDcCECABIAUpAhg3AhggASAFKQIgNwIgIAEgBSkCKDcCKCABIAUpAjA3AjAgASAFKQI4NwI4IAFBQGsgBUFAaykCADcCACABIAUpAkg3AkggASAFKQJQNwJQIAEgBSkCWDcCWCABIAUpAmA3AmAgCygCACEBIAIoAgAhAiAFKAIEIQQgACkDACEGIAMoAgAhACAIIAVBIGoiAykCADcCACAIIAMoAgg2AgggCiABIAIgBCAIIAYgABC2AzYCACAKKAIAIQAgCSQFIAAPCwsgCygCACECIAApAwAhBiADKAIAIQMgCCAFKQIANwIAIAggBSkCCDcCCCAIIAUpAhA3AhAgCCAFKQIYNwIYIAggBSkCIDcCICAIIAUpAig3AiggCCAFKQIwNwIwIAggBSkCODcCOCAIQUBrIAVBQGspAgA3AgAgCCAFKQJINwJIIAggBSkCUDcCUCAIIAUpAlg3AlggCCAFKQJgNwJgIAlBDGoiACACIAggBkEAIAMQzwI2AgAgACgCABDNAQRAIAogACgCADYCACAKKAIAIQAgCSQFIAAPCyAJQQhqIgAgCygCACgC2AMgCygCAEHgA2ogBSAMKAIAIAEoAgAgDSgCACALKAIAKALMBBCxAjYCACAAKAIAEMwBQQBHIQEgACgCACEAIAEEfyAKIAA2AgAgCigCACEAIAkkBSAABSALKAIAIAA2AtwBIApBADYCACAKKAIAIQAgCSQFIAALC80GAQV/IwUhBiMFQYACaiQFIAZBlAFqIgcgADYCACAGQZABaiIIIAE2AgAgBkGMAWoiCSACNgIAIAYiACAENwMAIABBiAFqIgogBTYCACAAQSBqIgEgBygCAEEMaiICKQIANwIAIAEgAikCCDcCCCABIAIpAhA3AhAgASACKQIYNwIYIAEgAikCIDcCICABIAIpAig3AiggASACKQIwNwIwIAEgAikCODcCOCABQUBrIAJBQGspAgA3AgAgASACKQJINwJIIAEgAikCUDcCUCABIAIpAlg3AlggASACKQJgNwJgIAFBBGoiAiAIKAIAQfAkaiIFKQIANwIAIAIgBSkCCDcCCCACIAUpAhA3AhAgAiAFKAIYNgIYIAkoAgAEQCABIAkoAgA2AgQLIAFBIGoiAiADKQIANwIAIAIgAygCCDYCCCAHKAIAIQIgACkDACEEIAooAgAhAyAGQZgBaiIAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggACABKQIgNwIgIAAgASkCKDcCKCAAIAEpAjA3AjAgACABKQI4NwI4IABBQGsgAUFAaykCADcCACAAIAEpAkg3AkggACABKQJQNwJQIAAgASkCWDcCWCAAIAEpAmA3AmAgAiAAIARBASADEM8CGiAGQRxqIgEgCCgCAEGIJWooAgBBAUYEf0EABUEBIAgoAgBB9CRqKAIAdAsiADYCACAGQRhqIgBBASAIKAIAQfgkaigCAHQ2AgAgBkEUaiICIAEoAgAgACgCAGpBAnQ2AgAgBygCACgChAQgCCgCACgCOCACKAIAEPQHGiAGQRBqIgBBASAHKAIAKAKABHQ2AgAgBygCACgCiARBACAAKAIAQQJ0EPYHGiAGQQxqIgAgCCgCAEEUajYCACAGQQhqIgEgBygCAEHgA2o2AgAgASgCACICIAAoAgAiAykCADcCACACIAMpAgg3AgggAiADKAIQNgIQIAEoAgAgACgCACgCGDYCGCABKAIAIAAoAgAoAhw2AhwgASgCACAAKAIAKAIUNgIUIAcoAgAgCCgCAEGYJWooAgA2AtwBIAcoAgAoAtgDIAgoAgBBgAFqQfAjEPQHGiAGJAVBAAv2AgECfyMFIQMjBUHwAGokBSADIAEpAgA3AgAgAyABKQIINwIIIAMgASkCEDcCECADIAEpAhg3AhggAyABKQIgNwIgIAMgASkCKDcCKCADIAEpAjA3AjAgAyABKQI4NwI4IANBQGsgAUFAaykCADcCACADIAEpAkg3AkggAyABKQJQNwJQIAMgASkCWDcCWCADIAEpAmA3AmAgA0EEaiIBIAIpAgA3AgAgASACKQIINwIIIAEgAikCEDcCECABIAIoAhg2AhggA0EgaiIEIAJBHGoiASkCADcCACAEIAEoAgg2AgggA0EDNgIsIAAgAykCADcCACAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAIAMpAiA3AiAgACADKQIoNwIoIAAgAykCMDcCMCAAIAMpAjg3AjggAEFAayADQUBrKQIANwIAIAAgAykCSDcCSCAAIAMpAlA3AlAgACADKQJYNwJYIAAgAykCYDcCYCADJAUL1wEBAn8jBSEEIwVB4ABqJAUgBEHUAGoiBSABNgIAIAQgAjcDACAEQdAAaiIBIAM2AgAgBEEIaiIDIAUoAgAgBCkDACABKAIAEKgCIARBKGoiAUIANwIAIAFCADcCCCABQgA3AhAgAUIANwIYIAFCADcCICABIAMpAgA3AgAgASADKQIINwIIIAEgAykCEDcCECABIAMoAhg2AhggAUEBNgIcIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCAAIAEpAiA3AiAgBCQFC78CAQV/IwUhBSMFQSBqJAUgBUEcaiEGIAVBGGoiByAANgIAIAVBFGoiCCABNgIAIAVBEGoiCSACNgIAIAVBDGoiASADNgIAIAVBCGoiAiAENgIAIAUiACAHKAIAIAgoAgAgCSgCACABKAIAIAIoAgBBAUEBEI8DNgIAIAUoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgBUEEaiIBIAcoAgAgCCgCACAAKAIAaiAJKAIAIAAoAgBrELoDNgIAIAEoAgAQzAEEQCAGIAEoAgA2AgAgBigCACEAIAUkBSAADwsgBygCACgClAEEQCAHKAIAKQPwASAHKAIAKQP4AUIBfFIEQCAGQbh/NgIAIAYoAgAhACAFJAUgAA8LCyAGIAAoAgAgASgCAGo2AgAgBigCACEAIAUkBSAAC5UFAQp/IwUhAyMFQZABaiQFIANBIGohBCADQRxqIgYgADYCACADQRhqIgggATYCACADQRRqIgcgAjYCACADQRBqIgogCCgCADYCACADQQxqIgUgCigCADYCACADQQhqIglBADYCACAGKAIAKAIARQRAIARBRDYCACAEKAIAIQAgAyQFIAAPCyADQShqIQEgA0EEaiELIAMhAAJAIAYoAgAoAgBBAUYEQCAIKAIAIQggBygCACEMIAEgBigCAEH0AGoiAikCADcCACABIAIpAgg3AgggASACKQIQNwIQIAEgAikCGDcCGCABIAIpAiA3AiAgASACKQIoNwIoIAEg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AgAiBkEBajYCACAGIAQ6AAAgGSgCACEEIBooAgAhBiBHIAwoAgA2AgAgSCAENgIAIGEgBjYCACBJIEcoAgAgYSgCABDgATYCACBiIEgoAgAgSSgCAEEBdGosAAA6AAAgRygCACBIKAIAIEkoAgBBAXRqLQABEN4BIGIsAAAhBCADIAMoAgAiBkEBajYCACAGIAQ6AAAMAQsLAkADQCAMKAIAENkBRSADKAIAIB4oAgBJcUUNASAZKAIAIQQgGigCACEGIEQgDCgCADYCACBFIAQ2AgAgXyAGNgIAIEYgRCgCACBfKAIAEOABNgIAIGAgRSgCACBGKAIAQQF0aiwAADoAACBEKAIAIEUoAgAgRigCAEEBdGotAAEQ3gEgYCwAACEEIAMgAygCACIGQQFqNgIAIAYgBDoAAAwACwALA0AgAygCACAeKAIASQRAIBkoAgAhBCAaKAIAIQYgJSAMKAIANgIAIEIgBDYCACBdIAY2AgAgQyAlKAIAIF0oAgAQ4AE2AgAgXiBCKAIAIEMoAgBBAXRqLAAAOgAAICUoAgAgQigCACBDKAIAQQF0ai0AARDeASBeLAAAIQQgAyADKAIAIgZBAWo2AgAgBiAEOgAADAELCyBUKAIAIQMgACgCACEAIAEoAgAhASACICgoAgA2AgAgCyAYNgIAIB0gAzYCACAOIAA2AgAgDyABNgIAIHYgAigCADYCAANAIAsoAgAQ2QFFIAIoAgAgHSgCAEF9aklxBEAgDigCACEAIA8oAgAhASAiIAsoAgA2AgAgIyAANgIAIFsgATYCACAkICIoAgAgWygCABDgATYCACBcICMoAgAgJCgCAEEBdGosAAA6AAAgIigCACAjKAIAICQoAgBBAXRqLQABEN4BIFwsAAAhACACIAIoAgAiAUEBajYCACABIAA6AAAgDigCACEAIA8oAgAhASBBIAsoAgA2AgAgICAANgIAIFkgATYCACAhIEEoAgAgWSgCABDgATYCACBaICAoAgAgISgCAEEBdGosAAA6AAAgQSgCACAgKAIAICEoAgBBAXRqLQABEN4BIFosAAAhACACIAIoAgAiAUEBajYCACABIAA6AAAMAQsLAkADQCALKAIAENkBRSACKAIAIB0oAgBJcUUNASAOKAIAIQAgDygCACEBID4gCygCADYCACA/IAA2AgAgVyABNgIA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BzYCACAlICEoAgAgOigCABDgATYCACA5KAIAIB0oAgAgJSgCAEECdGouAAA7AAAgISgCACAdKAIAICUoAgBBAnRqLQACEN4BIAMgAygCACAdKAIAICUoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDcgBCgCADYCACAcICo2AgAgFCAINgIAIDggBzYCACAXIBwoAgAgOCgCABDgATYCACA3KAIAIBQoAgAgFygCAEECdGouAAA7AAAgHCgCACAUKAIAIBcoAgBBAnRqLQACEN4BIAQgBCgCACAUKAIAIBcoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDUgECgCADYCACAbICs2AgAgICAINgIAIDYgBzYCACAWIBsoAgAgNigCABDgATYCACA1KAIAICAoAgAgFigCAEECdGouAAA7AAAgGygCACAgKAIAIBYoAgBBAnRqLQACEN4BIBAgECgCACAgKAIAIBYoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDMgJCgCADYCACAuICw2AgAgGSAINgIAIDQgBzYCACAaIC4oAgAgNCgCABDgATYCACAzKAIAIBkoAgAgGigCAEECdGouAAA7AAAgLigCACAZKAIAIBooAgBBAnRqLQACEN4BICQgJCgCACAZKAIAIBooAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDEgAygCADYCACAVICk2AgAgDiAINgIAIDIgBzYCACAPIBUoAgAgMigCABDgATYCACAxKAIAIA4oAgAgDygCAEECdGouAAA7AAAgFSgCACAOKAIAIA8oAgBBAnRqLQACEN4BIAMgAygCACAOKAIAIA8oAgBBAnRqLQADajYCACABKAIAIQggAigCACEHICggBCgCADYCACAeICo2AgAgDSAINgIAIC0gBzYCACALIB4oAgAgLSgCABDgATYCACAoKAIAIA0oAgAgCygCAEECdGouAAA7AAAgHigCACANKAIAIAsoAgBBAnRqLQACEN4BIAQgBCgCACANKAIAIAsoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHICYgECgCADYCACASICs2AgAgDCAINgIAICcgBzYCACAKIBIoAgAgJygCABDgATYCACAmKAIAIAwoAgAgCigCAEECdGouAAA7AAAgEigCACAM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IQAgASQFIAALegEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIABH8gASgCACgCABDyAxogASgCACgCMBCHBiABKAIAKAI8EIcGIAEoAgAQhwYgA0EANgIAIAMoAgAhACACJAUgAAUgA0EANgIAIAMoAgAhACACJAUgAAsLegEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIABH8gASgCACgCABDyAxogASgCACgCHBCHBiABKAIAKAIoEIcGIAEoAgAQhwYgA0EANgIAIAMoAgAhACACJAUgAAUgA0EANgIAIAMoAgAhACACJAUgAAsL1gEBA38jBSECIwVBEGokBSACQQRqIQMgAiIBIAA2AgAgASgCAEUEQCADQQA2AgAgAygCACEAIAIkBSAADwsgASgCACgCABDxAxogASgCACgCJARAIAEoAgAoAmQgASgCACgCJCABKAIAKAJgQR9xQeQCahECAAsgASgCACgCMARAIAEoAgAoAmQgASgCACgCMCABKAIAKAJgQR9xQeQCahECAAsgASgCACgCZCABKAIAIAEoAgAoAmBBH3FB5AJqEQIAIANBADYCACADKAIAIQAgAiQFIAALeQEDfyMFIQEjBUEQaiQFIAFBBGohAiABIgMgADYCACABKAIABH8gAygCAEHEqQFqKAIAIAMoAgAgAygCAEHAqQFqKAIAQR9xQeQCahECACACQQA2AgAgAigCACEAIAEkBSAABSACQQA2AgAgAigCACEAIAEkBSAACwskAQF/IwUhASMFQRBqJAUgASAANgIAIAEoAgAQhwYgASQFQQALegEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIABH8gASgCACgCABDyAxogASgCACgCKBCHBiABKAIAKAI0EIcGIAEoAgAQhwYgA0EANgIAIAMoAgAhACACJAUgAAUgA0EANgIAIAMoAgAhACACJAUgAAsLrgEBBH8jBSEDIwVBEGokBSADQQxqIQIgAyEEIANBCGoiBSAANgIAIANBBGoiACABNgIAAkAgACgCAEEESQRAIAJBADYCAAUgBCAFKAIAEM8BNgIAAkACQAJAAkACQCAEKAIAQaTqvmlrDgQAAQIDBAsgAkEENgIADAULIAJBBTYCAAwECyACQQY2AgAMAwsgAkEHNgIADAILIAJBADYCAAsLIAIoAgAhACADJAUgAAs5AQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAgAigCAEEAEPYDIQAgAiQFIAALpgIBBH8jBSEDIwVBMGokBSADQRxqIQQgA0EYaiIFIAA2AgAgA0EUaiIAIAE2AgAgA0EQaiIGIAI2AgAgA0EMaiIBIAYoAgAQ9wM2AgAgACgCACABKAIASQRAIARBuH82AgAgBCgCACEAIAMkBSAADwsgA0EgaiICIAUoAgAgASgCAEEBa2osAAA6AAAgA0EIaiIGIAItAABBA3E2AgAgA0EEaiIFIAItAABBBXVBAXE2AgAgAyIAIAItAABBBnU2AgAgBCABKAIAIgEgBSgCACICQQBHQQFzaiAGKAIAQQJ0QfAiaigCACIGaiADKAIAQQJ0QYAjaigCAGogBSgCAAR/IAAoAgBBAEdBAXMFQQALIgBBAXFqNgIAIAQoAgAhACADJAUgAAs/AQJ/IwUhASMFQRBqJAUgAUEEaiICIAA2AgAgASIAIAIoAgBBAUYEf0EBBUEFCzYCACAAKAIAIQAgASQFIAALSgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIAAoAgAgAygCAEEAEPkDIQAgAyQFIAALiwkCDH8BfiMFIQQjBUHQAGokBSAEQcgAaiEFIARBxABqIgcgADYCACAEQUBrIgAgATYCACAEQTxqIgEgAjYCACAEQThqIgYgAzYCACAEQTRqIgIgACgCADYCACAEQTBqIgMgBigCABD3AzYCACABKAIAIAMoAgBJBEAgBSADKAIANgIAIAUoAgAhACAEJAUgAA8LIAYoAgBBAUcEQCAAKAIAEM8BQajqvmlHBEAgACgCABDPAUFwcUHQ1LTCAUcEQCAFQXY2AgAgBSgCACEAIAQkBSAADwsgASgCAEEISQRAIAVBCDYCACAFKAIAIQAgBCQFIAAPBSAHKAIAIgFCADcDACABQgA3AwggAUIANwMQIAFCADcDGCABQgA3AyAgACgCAEEEahDPAa0hECAHKAIAIBA3AwAgBygCAEEBNgIUIAVBADYCACAFKAIAIQAgBCQFIAAPCwALCyAEQSxqIgggACgCACABKAIAIAYoAgAQ9gM2AgAgCCgCACEAIAEoAgAgCCgCAEkEQCAFIAA2AgAgBSgCACEAIAQkBSAADwsgBygCACAANgIYIARBzQBqIgYgAigCACADKAIAQQFraiwAADoAACAEQShqIgEgAygCADYCACAEQSRqIgsgBi0AAEEDcTYCACAEQSBqIgwgBi0AAEECdUEBcTYCACAEQRxqIgkgBi0AAEEFdUEBcTYCACAEQRhqIg0gBi0AAEEGdTYCACAEQQhqIgNCADcDACAEQRRqIghBADYCACAEIgBCfzcDACAGLQAAQQhxBEAgBUFyNgIAIAUoAgAhACAEJAUgAA8LIARBzABqIQYgBEEQaiEKAkAgCSgCAEUEQCACKAIAIQ4gASABKAIAIg9BAWo2AgAgBiAOIA9qLAAAOgAAIAogBi0AAEEDdUEKajYCACAKKAIAQR5NBEAgA0IBIAooAgCthjcDACADIAMpAwAgAykDAEIDiCAGLQAAQQdxrH58NwMADAILIAVBcDYCACAFKAIAIQAgBCQFIAAPCwsCQAJAAkACQCALKAIAQQFrDgMBAgADCyAIIAIoAgAgASgCAGoQzwE2AgAgASABKAIAQQRqNgIADAILIAggAigCACABKAIAai0AADYCACABIAEoAgBBAWo2AgAMAQsgCCACKAIAIAEoAgBqENgDQf//A3E2AgAgASABKAIAQQJqNgIACwJAAkACQAJAAkAgDSgCAEEBaw4DAQIAAwsgACACKAIAIAEoAgBqEOIBNwMADAMLIAAgAigCACABKAIAahDYA0H//wNxQYACaqw3AwAMAgsgACACKAIAIAEoAgBqEM8BrTcDAAwBCyAJKAIABEAgACACKAIAIAEoAgBqLQAArTcDAAsLIAkoAgAEQCADIAApAwA3AwALIAcoAgBBADYCFCAHKAIAIAApAwA3AwAgBygCACADKQMANwMIIAMpAwAhECAHKAIAIAMpAwBCgIAIVAR+IBAFQoCACAs+AhAgBygCACAIKAIANgIcIAcoAgAgDCgCADYCICAFQQA2AgAgBSgCACEAIAQkBSAAC8sBAgZ/AX4jBSECIwVBQGskBSACQTBqIQMgAkEoaiEFIAIhBiACQTxqIgQgADYCACACQThqIgcgATYCACAEKAIAIAcoAgAQ9ANBAEchACAEKAIAIQQgBygCACEBAkAgAARAIAUgBCABEPsDNwMAIAUp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AiQFIAALxQEBA38jBSECIwVBEGokBSACQQxqIQMgAkEIaiIEIAA2AgAgAkEEaiIAIAE2AgAgAiAEKAIAIAAoAgAQ9AM2AgACQAJAAkACQAJAAkAgAigCAEEEaw4EAAECAwQLIAMgBCgCACAAKAIAEIkENgIADAQLIAMgBCgCACAAKAIAEIoENgIADAMLIAMgBCgCACAAKAIAEIsENgIADAILIAMgBCgCACAAKAIAEIwENgIADAELIANBdjYCAAsgAygCACEAIAIkBSAAC4kCAQN/IwUhAyMFQSBqJAUgA0EUaiEEIANBEGoiBSAANgIAIANBDGoiACABNgIAIANBCGoiASACNgIAIAAoAgBBA0kEQCAEQbh/NgIAIAQoAgAhACADJAUgAA8LIANBBGoiAiAFKAIAEIgENgIAIAMiACACKAIAQQN2NgIAIAEoAgAgAigCAEEBcTYCBCABKAIAIAIoAgBBAXZBA3E2AgAgASgCACADKAIANgIIIAEoAgAoAgBBAUYEQCAEQQE2AgAgBCgCACEAIAMkBSAADwsgASgCACgCAEEDRgR/IARBbDYCACAEKAIAIQAgAyQFIAAFIAQgACgCADYCACAEKAIAIQAgAyQFIAALCzcBAX8jBSEBIwVBEGokBSABIAA2AgAgASgCABDYA0H//wNxIAEoAgAtAAJBEHRqIQAgASQFIAALNwECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIAIoAgAQjwQhACACJAUgAAv/AgEFfyMFIQIjBUEwaiQFIAJBIGohAyACQRxqIgUgADYCACACQRhqIgAgATYCACACQRRqIgEgBSgCADYCACACQRBqIgQgACgCADYCACAAKAIAQQVJBEAgA0G4fzYCACADKAIAIQAgAiQFIAAPCyAFKAIAEM8BQaXqvmlHBEAgA0F2NgIAIAMoAgAhACACJAUgAA8LIAJBCGohBiACIQAgASABKAIAQQVqNgIAIAQgBCgCAEEFazYCAAJAAkACQANAIAAgASgCACAEKAIAIAYQjgQ2AgAgACgCABDMAQ0BIAEgASgCAEEDajYCACAEIAQoAgBBA2s2AgAgACgCACAEKAIASw0CIAAoAgBFDQMgASABKAIAIAAoAgBqNgIAIAQgBCgCACAAKAIAazYCAAwACwALIAMgACgCADYCACADKAIAIQAgAiQFIAAPCyADQbh/NgIAIAMoAgAhACACJAUgAA8LIAMgASgCACAFKAIAazYCACADKAIAIQAgAiQFIAALxwMBBn8jBSECIwVBMGokBSACQSBqIQMgAkEcaiIGIAA2AgAgAkEYaiIAIAE2AgAgAkEUaiIBIAYoAgA2AgAgAkEQaiIEIAAoAgA2AgAgAkEIaiIHQgA3AgAgAkEEaiIFIAYoAgBBBRCEBDYCACAFKAIAEM0BBEAgAyAFKAIANgIAIAMoAgAhACACJAUgAA8LIAYoAgAQ/wNBpuq+aUcEQCADQXY2AgAgAygCACEAIAIkBSAADwsgACgCACAFKAIAQQNqSQRAIANBuH82AgAgAygCACEAIAIkBSAADwsgAiEAIAEgASgCACAFKAIAajYCACAEIAQoAgAgBSgCAGs2AgACQAJAAkADQCAAIAEoAgAgBCgCACAHEI0ENgIAIAAoAgAQzQENASABIAEoAgBBA2o2AgAgBCAEKAIAQQNrNgIAIAAoAgAgBCgCAEsNAiAAKAIARQ0DIAEgASgCACAAKAIAajYCACAEIAQoAgAgACgCAGs2AgAMAAsACyADIAAoAgA2AgAgAygCACEAIAIkBSAADwsgA0G4fzYCACADKAIAIQAgAiQFIAAPCyADIAEoAgAgBigCAGs2AgAgAygCACEAIAIkBSAAC+UDAQZ/IwUhAiMFQTBqJAUgAkEkaiEDIAJBIGoiBiAANgIAIAJBHGoiACABNgIAIAJBGGoiASAGKAIANgIAIAJBFGoiBCAAKAIANgIAIAAoAgBBCEkEQCADQbh/NgIAIAMoAgAhACACJAUgAA8LIAJBEGoiBSAGKAIAQQUQgAQ2AgAgBSgCABDNAQRAIAMgBSgCADYCACADKAIAIQAgAiQFIAAPCyAGKAIAEP8DQafqvmlHBEAgA0F2NgIAIAMoAgAhACACJAUgAA8LIAAoAgAgBSgCAEEDakkEQCADQbh/NgIAIAMoAgAhACACJAUgAA8LIAJBCGohByACIQAgASABKAIAIAUoAgBqNgIAIAQgBCgCACAFKAIAazYCAAJAAkACQANAIAAgASgCACAEKAIAIAcQjQQ2AgAgACgCABDNAQ0BIAEgASgCAEEDajYCACAEIAQoAgBBA2s2AgAgBygCAEEDRg0DIAAoAgAgBCgCAEsNAiABIAEoAgAgACgCAGo2AgAgBCAEKAIAIAAoAgBrNgIADAALAAsgAyAAKAIANgIAIAMoAgAhACACJAUgAA8LIANBuH82AgAgAygCACEAIAIkBSAADwsgAyABKAIAIAYoAgBrNgIAIAMoAgAhACACJAUgAAumAgEDfyMFIQMjBUEgaiQFIANBFGohBCADQRBqIgUgADYCACADQQxqIgAgATYCACADQQhqIgEgAjYCACADQQRqIgIgBSgCADYCACAAKAIAQQNJBEAgBEG4fzYCACAEKAIAIQAgAyQFIAAPCyABKAIAIAIoAgAtAABBBnU2AgAgAyIAIAIoAgAtAAIgAigCAC0AAUEIdGogAigCAC0AAEEHcUEQdGo2AgAgAygCACECIAEoAgAgASgCACgCAEECRgR/IAIFQQALNgIEIAEoAgAoAgBBA0YEQCAEQQA2AgAgBCgCACEAIAMkBSAADwsgASgCACgCAEECRgR/IARBATYCACAEKAIAIQAgAyQFIAAFIAQgACgCADYCACAEKAIAIQAgAyQFIAALC7UCAQN/IwUhAyMFQSBqJAUgA0EUaiEEIANBEGoiBSAANgIAIANBDGoiACABNgIAIANBCGoiASACNgIAIANBBGoiAiAFKAIANgIAIAAoAgBBA0kEQCAEQbh/NgIAIAQoAgAhACADJAUgAA8LIANBGGoiBSACKAIALAAAOgAAIAMiACACKAIALQACIAIoAgAtAAFBCHRqIAIoAgAtAABBB3FBEHRqNgIAIAEoAgAgBS0AAEEGdTYCACADKAIAIQIgASgCACABKAIAKAIAQQJGBH8gAgVBAAs2AgQgASgCACgCAEEDRgRAIARBADYCACAEKAIAIQAgAyQFIAAPCyABKAIAKAIAQQJGBH8gBEEBNgIAIAQoAgAhACADJAUgAAUgBCAAKAIANgIAIAQoAgAhACADJAUgAAsL/wIBBX8jBSECIwVBMGokBSACQSBqIQMgAkEcaiIFIAA2AgAgAkEYaiIAIAE2AgAgAkEUaiIBIAUoAgA2AgAgAkEQaiIEIAAoAgA2AgAgACgCAEEFSQRAIANBuH82AgAgAygCACEAIAIkBSAADwsgBSgCABCQBEGk6r5pRwRAIANBdjYCACADKAIAIQAgAiQFIAAPCyACQQhqIQYgAiEAIAEgASgCAEEFajYCACAEIAQoAgBBBWs2AgACQAJAAkADQCAAIAEoAgAgBCgCACAGEI4ENgIAIAAoAgAQzAENASABIAEoAgBBA2o2AgAgBCAEKAIAQQNrNgIAIAAoAgAgBCgCAEsNAiAAKAIARQ0DIAEgASgCACAAKAIAajYCACAEIAQoAgAgACgCAGs2AgAMAAsACyADIAAoAgA2AgAgAygCACEAIAIkBSAADwsgA0G4fzYCACADKAIAIQAgAiQFIAAPCyADIAEoAgAgBSgCAGs2AgAgAygCACEAIAIkBSAAC5IBAQR/IwUhAiMFQRBqJAUgAkEIaiEDIAIiAUEEaiIEIAA2AgAgBCgCACEEQZDlAC0AAAR/IAMgBBDlATYCACADKAIAIQAgAiQFIAAFIAEgBDYCACADIAEoAgAtAAAgASgCAC0AAUEIdGogASgCAC0AAkEQdGogASgCAC0AA0EYdGo2AgAgAygCACEAIAIkBSAACwu/DQEPfyMFIQMjBUHQAGokBSADQcQAaiEEIANBQGsiBSAANgIAIANBPGoiDiABNgIAIANBOGoiCCACNgIAIAgoAgBBA0kEQCAEQWw2AgAgBCgCACEAIAMkBSAADwsgA0EsaiEKIANBKGohCyADQSRqIQwgA0EgaiENIANBHGohDyADQRhqIQcgA0EUaiECIANBEGohBiADQQxqIRAgA0EIaiERIANBBGohCSADIQAgA0E0aiIBIA4oAgA2AgAgA0EwaiIOIAEoAgAtAABBA3E2AgACQAJAAkACQAJAAkAgDigCAA4EAgMBAAQLIAUoAgBBiOEBaigCAEUEQCAEQWI2AgAgBCgCACEAIAMkBSAADwsMBAsMAwsgECABKAIALQAAQQJ1QQNxNgIAAkACQAJAAkAgECgCAEEBaw4DAQIAAgsgBkEDNgIAIAIgASgCABCIBEEEdjYCAAwCCyAGQQI2AgAgAiABKAIAENgDQf//A3FBBHU2AgAMAQsgBkEBNgIAIAIgASgCAC0AAEEDdTYCAAsgBigCACACKAIAakEIaiAIKAIATQRAIAUoAgBB9OEBaiABKAIAIAYoAgBqNgIAIAUoAgBBhOIBaiACKAIANgIAIAQgBigCACACKAIAajYCACAEKAIAIQAgAyQFIAAPCyACKAIAIAYoAgBqIAgoAgBLBEAgBEFsNgIAIAQoAgAhACADJAUgAA8FIAUoAgBB1OIBaiABKAIAIAYoAgBqIAIoAgAQ9AcaIAUoAgBB9OEBaiAFKAIAQdTiAWo2AgAgBSgCAEGE4gFqIAIoAgA2AgAgBSgCAEHU4gFqIAUoAgBBhOIBaigCAGpCADcAACAEIAYoAgAgAigCAGo2AgAgBCgCACEAIAMkBSAADwsACyARIAEoAgAtAABBAnVBA3E2AgACQAJAAkACQCARKAIAQQFrDgMBAgACCyAAQQM2AgAgCSABKAIAEIgEQQR2NgIAIAgoAgBBBEkEQCAEQWw2AgAgBCgCACEAIAMkBSAADwsMAgsgAEECNgIAIAkgASgCABDYA0H//wNxQQR1NgIADAELIABBATYCACAJIAEoAgAtAABBA3U2AgALIAkoAgBBgIAISwRAIARBbDYCACAEKAIAIQAgAyQFIAAPBSAFKAIAQdTiAWogASgCACAAKAIAai0AACAJKAIAQQhqEPYHGiAFKAIAQfThAWogBSgCAEHU4gFqNgIAIAUoAgBBhOIBaiAJKAIANgIAIAQgACgCAEEBajYCACAEKAIAIQAgAyQFIAAPCwALIARBbDYCACAEKAIAIQAgAyQFIAAPCyAIKAIAQQVJBEAgBEFsNgIAIAQoAgAhACADJAUgAA8LIA1BADYCACAPIAEoAgAtAABBAnVBA3E2AgAgByABKAIAEM8BNgIAAkACQAJAAkAgDygCAEECaw4CAQACCyAKQQU2AgAgCyAHKAIAQQR2Qf//D3E2AgAgDCAHKAIAQRZ2IAEoAgAtAARBCnRqNgIADAILIApBBDYCACALIAcoAgBBBHZB//8AcTYCACAMIAcoAgBBEnY2AgAMAQsgDSAPKAIAQQBHQQFzNgIAIApBAzYCACALIAcoAgBBBHZB/wdxNgIAIAwgBygCAEEOdkH/B3E2AgALIAsoAgBBgIAISwRAIARBbDYCACAEKAIAIQAgAyQFIAAPCyAMKAIAIAooAgBqIAgoAgBLBEAgBEFsNgIAIAQoAgAhACADJAUgAA8LIA0oAgBBAEchACAFKAIAIQIgDigCAEEDRgR/IAJB1OIBaiECIAsoAgAhBiABKAIAIAooAgBqIQEgDCgCACEHIAUoAgAoAgwhCCAFKAIAQZDiAWooAgAhCSAABH8gAiAGIAEgByAIIAkQ4wMFIAIgBiABIAcgCCAJEOUDCwUgAkGo0ABqIQIgBSgCAEHU4gFqIQYgCygCACEHIAEoAgAgCigCAGohASAMKAIAIQggBSgCAEGs0AFqIQkgBSgCAEGQ4gFqKAIAIQ0gAAR/IAIgBiAHIAEgCCAJQYAQIA0Q5AMFIAIgBiAHIAEgCCAJQYAQIA0Q5gMLCyIAEM0BBEAgBEFsNgIAIAQoAgAhACADJAUgAA8LIAUoAgBB9OEBaiAFKAIAQdTiAWo2AgAgBSgCAEGE4gFqIAsoAgA2AgAgBSgCAEGI4QFqQQE2AgAgDigCAEECRgRAIAUoAgAgBSgCAEGo0ABqNgIMCyAFKAIAQdTiAWogBSgCAEGE4gFqKAIAakIANwAAIAQgDCgCACAKKAIAajYCACAEKAIAIQAgAyQFIAALugcBDH8jBSEEIwVBQGskBSAEQThqIQUgBEE0aiIGIAA2AgAgBEEwaiILIAE2AgAgBEEsaiIBIAI2AgAgBEEoaiIAIAM2AgAgBEEkaiIIIAEoAgA2AgAgBEEgaiIDIAgoAgAgACgCAGo2AgAgBEEcaiIBIAgoAgA2AgAgACgCAEEBSQRAIAVBuH82AgAgBSgCACEAIAQkBSAADwsgASABKAIAIgBBAWo2AgAgBEEYaiICIAAtAAA2AgAgAigCAEUEQCALKAIAQQA2AgAgBUEBNgIAIAUoAgAhACAEJAUgAA8LIARBFGohDCAEQRBqIQ0gBEEMaiEOIARBCGohCSAEQQRqIQogBCEAAkAgAigCAEH/AEoEQCABKAIAIQcgAigCAEH/AUYEQCAHQQJqIAMoAgBNBEAgAiABKAIAENgDQf//A3FBgP4BajYCACABIAEoAgBBAmo2AgAMAwsgBUG4fzYCACAFKAIAIQAgBCQFIAAPBSAHIAMoAgBJBEAgAigCAEGAAWtBCHQhByABIAEoAgAiD0EBajYCACACIAcgDy0AAGo2AgAMAwsgBUG4fzYCACAFKAIAIQAgBCQFIAAPCwALCyALKAIAIAIoAgA2AgAgASgCAEEEaiADKAIASwRAIAVBuH82AgAgBSgCACEAIAQkBSAADwsgDCABKAIALQAAQQZ1NgIAIA0gASgCAC0AAEEEdUEDcTYCACAOIAEoAgAtAABBAnVBA3E2AgAgASABKAIAQQFqNgIAIAkgBigCAEEQaiAGKAIAIAwoAgBBI0EJIAEoAgAgAygCACABKAIAa0GAOkGwNEGgIyAGKAIAQYzhAWooAgAQkwQ2AgAgCSgCABDNAQRAIAVBbDYCACAFKAIAIQAgBCQFIAAPCyABIAEoAgAgCSgCAGo2AgAgCiAGKAIAQZggaiAGKAIAQQhqIA0oAgBBH0EIIAEoAgAgAygCACABKAIAa0GwJ0GwKEGwKSAGKAIAQYzhAWooAgAQkwQ2AgAgCigCABDNAQRAIAVBbDYCACAFKAIAIQAgBCQFIAAPCyABIAEoAgAgCigCAGo2AgAgACAGKAIAQaAwaiAGKAIAQQRqIA4oAgBBNEEJIAEoAgAgAygCACABKAIAa0HQMEHANUHAKyAGKAIAQYzhAWooAgAQkwQ2AgAgACgCABDNAQR/IAVBbDYCACAFKAIAIQAgBCQFIAAFIAEgASgCACAAKAIAajYCACAFIAEoAgAgCCgCAGs2AgAgBSgCACEAIAQkBSAACwvDBAENfyMFIQsjBUGwAWokBSALQawBaiEMIAtB/ABqIQ4gC0H4AGohFCALQfQAaiEVIAtB8ABqIQ8gCyEWIAtB7ABqIRAgC0GoAWoiDSAANgIAIAtBpAFqIhEgATYCACALQaABaiIXIAI2AgAgC0GcAWoiEiADNgIAIAtBmAFqIgIgBDYCACALQZQBaiITIAU2AgAgC0GQAWoiBSAGNgIAIAtBjAFqIgQgBzYCACALQYgBaiIDIAg2AgAgC0GEAWoiASAJNgIAIAtBgAFqIgAgCjYCAAJAAkACQAJAAkACQCAXKAIADgQBAAMCBAsgBSgCAEUEQCAMQbh/NgIADAULIBMoAgAtAAAgEigCAEsEQCAMQWw2AgAMBQUgDiATKAIALQAANgIAIBQgBCgCACAOKAIAQQJ0aigCADYCACAVIAMoAgAgDigCAEECdGooAgA2AgAgDSgCACAUKAIAIBUoAgAQlAQgESgCACANKAIANgIAIAxBATYCAAwFCwALIBEoAgAgASgCADYCACAMQQA2AgAMAwsgACgCAARAIAxBADYCAAwDBSAMQWw2AgAMAwsACyAQIBYgEiAPIBMoAgAgBSgCABDOATYCACAQKAIAEM0BBEAgDEFsNgIADAILIA8oAgAgAigCAEsEQCAMQWw2AgAMAgUgDSgCACAWIBIoAgAgBCgCACADKAIAIA8oAgAQlQQgESgCACANKAIANgIAIAwgECgCADYCAAwCCwALIAxBfzYCAAsgDCgCACEAIAskBSAAC6QBAQN/IwUhAyMFQSBqJAUgA0EUaiIEIAA2AgAgA0EQaiIFIAE2AgAgA0EMaiIBIAI2AgAgA0EIaiICIAQoAgA2AgAgA0EEaiIAIAIoAgA2AgAgAyAEKAIAQQhqNgIAIAAoAgBBADYCBCAAKAIAQQA2AgAgAygCAEEAOgADIAMoAgBBADsBACADKAIAIAEoAgA6AAIgAygCACAFKAIANgIEIAMkBQvGBwETfyMFIQYjBUHQAWokBSAGIREgBkGIAWohEiAGQYQBaiETIAZBgAFqIQwgBkH8AGohCiAGQfgAaiENIAZB9ABqIQcgBkHwAGohDiAGQewAaiEUIAZBvAFqIhYgADYCACAGQbgBaiIPIAE2AgAgBkG0AWoiACACNgIAIAZBsAFqIhcgAzYCACAGQawBaiIYIAQ2AgAgBkGoAWoiECAFNgIAIAZBpAFqIgkgFigCAEEIajYCACAGQaABaiIEIAAoAgBBAWo2AgAgBkGcAWoiC0EBIBAoAgB0NgIAIAZBmAFqIhUgCygCAEEBazYCACAGQZABaiIFIBAoAgA2AgQgBUEBNgIAIAZBwAFqIgNBASAQKAIAQQFrdDsBACAGQYwBaiIIQQA2AgADQCAIKAIAIAQoAgBJBEAgDygCACAIKAIAQQF0ai4BAEF/RgRAIAgoAgAhAiAJKAIAIQEgFSAVKAIAIgBBf2o2AgAgASAAQQN0aiACNgIEIBEgCCgCAEEBdGpBATsBAAUgDygCACAIKAIAQQF0ai4BACADLgEATgRAIAVBADYCAAsgESAIKAIAQQF0aiAPKAIAIAgoAgBBAXRqLgEAOwEACyAIIAgoAgBBAWo2AgAMAQsLIBYoAgAgBSkCADcCACASIAsoAgBBAWs2AgAgEyALKAIAQQF2IAsoAgBBA3ZqQQNqNgIAIApBADYCACAMQQA2AgADQCAMKAIAIAQoAgBJBEAgDUEANgIAA0AgDCgCACEAIA0oAgAgDygCACAMKAIAQQF0ai4BAEgEQCAJKAIAIAooAgBBA3RqIAA2AgQgCiAKKAIAIBMoAgBqIBIoAgBxNgIAA0AgCigCACAVKAIASwRAIAogCigCACATKAIAaiASKAIAcTYCAAwBCwsgDSANKAIAQQFqNgIADAELCyAMIABBAWo2AgAMAQsLIAdBADYCAANAIAcoAgAgCygCAEkEQCAOIAkoAgAgBygCAEEDdGooAgQ2AgAgESAOKAIAQQF0aiIALgEAIQEgACABQQFqOwEAIBQgAUH//wNxNgIAIBAoAgAgFCgCABDUAWtB/wFxIQAgCSgCACAHKAIAQQN0aiAAOgADIAkoAgAgBygCAEEDdGogFCgCACAJKAIAIAcoAgBBA3RqLQADdCALKAIAazsBACAJKAIAIAcoAgBBA3RqIBgoAgAgDigCAEECdGooAgA6AAIgCSgCACAHKAIAQQN0aiAXKAIAIA4oAgBBAnRqKAIANgIEIAcgBygCAEEBajYCAAwBCwsgBiQFC68BAQJ/IwUhAyMFQRBqJAUgA0EEaiICIAA2AgAgAyIAIAE2AgAgAygCACACKAIAQbjgAWooAgBGBEAgAyQFDwsgAigCAEHE4AFqIAIoAgBBuOABaigCADYCACACKAIAQcDgAWogACgCACACKAIAQbjgAWooAgAgAigCAEG84AFqKAIAa2s2AgAgAigCAEG84AFqIAAoAgA2AgAgAigCAEG44AFqIAAoAgA2AgAgAyQFC+oEAQh/IwUhBiMFQUBrJAUgBkEwaiIHIAA2AgAgBkEsaiIJIAE2AgAgBkEoaiIKIAI2AgAgBkEkaiIIIAM2AgAgBkEgaiICIAQ2AgAgBkEcaiILIAU2AgAgBkEYaiIDIAgoAgA2AgAgBkE0aiEBIAZBFGoiDCALKAIABH8gBygCAEHY4AFqKQMAQoCAgBBWBUEBC0EBcTYCACACKAIAQYCACE8EQCABQbh/NgIAIAEoAgAhACAGJAUgAA8LIAZBEGoiACAHKAIAIAgoAgAgAigCABCRBDYCACAAKAIAEM0BQQBHIQUgACgCACEEIAUEQCABIAQ2AgAgASgCACEAIAYkBSAADwsgAyADKAIAIARqNgIAIAIgAigCACAAKAIAazYCACAGQQhqIgUgBygCACAGQQxqIgQgAygCACACKAIAEJIENgIAIAUoAgAQzQFBAEchACAFKAIAIQggAARAIAEgCDYCACABKAIAIQAgBiQFIAAPCyAGQQRqIQ0gBiEAIAMgAygCACAIajYCACACIAIoAgAgBSgCAGs2AgACQAJAIAsoAgAEQCAHKAIAQdjgAWopAwBCgICACFYgBCgCAEEASnENAQUgBCgCAEEASg0BCwwBCyANIAcoAgAoAggQmAQ2AgAgAEEUNgIAIA0oAgAgACgCAE8EQCABIAcoAgAgCSgCACAKKAIAIAMoAgAgAigCACAEKAIAIAwoAgAQmQQ2AgAgASgCACEAIAYkBSAADwsLIAEgBygCACAJKAIAIAooAgAgAygCACACKAIAIAQoAgAgDCgCABCaBDYCACABKAIAIQAgBiQFIAAL2QEBBX8jBSEBIwVBIGokBSABQRhqIgIgADYCACABQRRqIgAgAigCADYCACABQRBqIgMgACgCACgCBDYCACABQQxqIgQgAigCAEEIajYCACABQQhqIgVBASADKAIAdDYCACABIgBBADYCACAAQQRqIgJBADYCAANAIAIoAgAgBSgCAEkEQCAEKAIAIAIoAgBBA3RqLQACQRZKBEAgACAAKAIAQQFqNgIACyACIAIoAgBBAWo2AgAMAQsLIAAgACgCAEEIIAMoAgBrdDYCACAAKAIAIQAgASQFIAAL7QEBBX8jBSEHIwVBIGokBSAHQRxqIQggB0EYaiIJIAA2AgAgB0EUaiIKIAE2AgAgB0EQaiILIAI2AgAgB0EMaiICIAM2AgAgB0EIaiIBIAQ2AgAgB0EEaiIAIAU2AgAgByAGNgIAIAkoAgAhBiAKKAIAIQUgCygCACEEIAIoAgAhAyABKAIAIQIgACgCACEBIAcoAgAhACAJKAIAQZDiAWooAgAEfyAIIAYgBSAEIAMgAiABIAAQnwQ2AgAgCCgCACEAIAckBSAABSAIIAYgBSAEIAMgAiABIAAQnwQ2AgAgCCgCACEAIAckBSAACwvtAQEFfyMFIQcjBUEgaiQFIAdBHGohCCAHQRhqIgkgADYCACAHQRRqIgogATYCACAHQRBqIgsgAjYCACAHQQxqIgIgAzYCACAHQQhqIgEgBDYCACAHQQRqIgAgBTYCACAHIAY2AgAgCSgCACEGIAooAgAhBSALKAIAIQQgAigCACEDIAEoAgAhAiAAKAIAIQEgBygCACEAIAkoAgBBkOIBaigCAAR/IAggBiAFIAQgAyACIAEgABCbBDYCACAIKAIAIQAgByQFIAAFIAggBiAFIAQgAyACIAEgABCbBDYCACAIKAIAIQAgByQFIAALC4YdAUJ/IwUhByMFQcADaiQFIAdBsANqISwgB0GoA2ohEiAHQaQDaiEKIAdBoANqIRkgB0GcA2ohFSAHQZgDaiEtIAdBlANqIRogB0GQA2ohLiAHQYwDaiEbIAdBiANqIREgB0GEA2ohHCAHQYADaiEjIAdB/AJqIRQgB0H4AmohLyAHQfQCaiEJIAdB8AJqISQgB0HsAmohFiAHQegCaiE6IAchCyAHQeQCaiElIAdB4AJqITsgB0HYAmohMCAHQdQCaiE8IAdB0AJqIT0gB0HMAmohJiAHQcgCaiE+IAdBwAJqITEgB0G8AmohPyAHQbgCaiFAIAdBtAJqIScgB0GwAmohQSAHQagCaiEyIAdBpAJqIUIgB0GgAmohQyAHQZwCaiEIIAdBmAJqIUQgB0GIAmohHSAHQYACaiEeIAdB/AFqIR8gB0H4AWohDyAHQfQBaiFFIAdB8AFqITMgB0HsAWohRiAHQegBaiE0IAdB5AFqIQwgB0HgAWohICAHQdwBaiEhIAdB2AFqIRAgB0HQAGohDSAHQcwAaiEXIAdByABqISIgB0E4aiEoIAdBNGohNSAHQTBqIRggB0EsaiEpIAdBKGoiNiAANgIAIAdBJGoiNyABNgIAIAdBIGoiACACNgIAIAdBHGoiASADNgIAIAdBGGoiOCAENgIAIAdBFGoiBCAFNgIAIAdBEGoiAyAGNgIAIDcoAgAhAiAAKAIAIQAgASgCACEBIDgoAgAhBiAEKAIAIQUgAygCACEEIAdB1AFqIg4gNigCADYCACAHQdABaiIDIAI2AgAgB0HMAWoiAiAANgIAIAdByAFqIgAgATYCACAHQcQBaiIBIAY2AgAgB0HAAWoiKiAFNgIAIAdBvAFqIjYgBDYCACAHQbgBaiIEIAAoAgA2AgAgB0G0AWoiACAEKAIAIAEoAgBqNgIAIAdBsAFqIjkgAygCADYCACAHQawBaiJHIDkoAgAgAigCAGo2AgAgB0GoAWoiEyA5KAIANgIAIAdBpAFqIisgDigCAEH04QFqKAIANgIAIAdBoAFqIkggKygCACAOKAIAQYTiAWooAgBqNgIAIAdBnAFqIjcgDigCAEG84AFqKAIANgIAIAdBmAFqIjggDigCAEHA4AFqKAIANgIAIAdBlAFqIgYgDigCAEHE4AFqKAIANgIAAkAgKigCAARAIA4oAgBBjOEBakEBNgIAIBdBADYCAANAIBcoAgBBA0kEQCANQSxqIBcoAgBBAnRqIA4oAgBBrOABaiAXKAIAQQJ0aigCADYCACAXIBcoAgBBAWo2AgAMAQsLICIgDSAEKAIAIAAoAgAgBCgCAGsQ1wE2AgAgIigCABDNAQRAIBBBbDYCACAQKAIAIQAgByQFIAAPCyANQRRqIA0gDigCACgCABCcBCANQRxqIA0gDigCACgCCBCcBCANQSRqIA0gDigCACgCBBCcBAJAAkADQAJAIA0Q2QFBAk0hASAqKAIAQQBHIQAgKigCACECIAEEfyAABUEAC0UNACAqIAJBf2o2AgAgNigCACEAIAggDTYCACBEIAA2AgAgHiAIKAIAKAIYIAgoAgAoAhRBA3RqLQACNgIAIB8gCCgCACgCKCAIKAIAKAIkQQN0ai0AAjYCACAPIAgoAgAoAiAgCCgCACgCHEEDdGotAAI2AgAgRSAeKAIAIB8oAgBqIA8oAgBqNgIAIDMgCCgCACgCGCAIKAIAKAIUQQN0aigCBDYCACBGIAgoAgAoAiggCCgCACgCJEEDdGooAgQ2AgAgNCAIKAIAKAIgIAgoAgAoAhxBA3RqKAIENgIAAkAgDygCAARAIEQoAgBBAEcgDygCAEEZT3FFBEAgDCA0KAIAIAgoAgAgDygCABDfAWo2AgAgCCgCABDZARoMAgsgICAPKAIAIA8oAgBBICAIKAIAKAIEa0kEfyAPKAIABUEgIAgoAgAoAgRrC2s2AgAgDCA0KAIAIAgoAgAgDygCACAgKAIAaxDfASAgKAIAdGo2AgAgCCgCABDZARogICgCAARAIAgoAgAgICgCABDfASEAIAwgDCgCACAAajYCAAsFIAxBADYCAAsLAkAgDygCAEEBTQRAIAwgDCgCACAzKAIARWo2AgAgDCgCAEUEQCAMIAgoAgAoAiw2AgAMAgsgCCgCAEEsaiEAICEgDCgCAEEDRgR/IAAoAgBBAWsFIAAgDCgCAEECdGooAgALNgIAICEgISgCACAhKAIAQQBHQQFzajYCACAMKAIAQQFHBEAgCCgCACAIKAIAKAIwNgI0CyAIKAIAIAgoAgAoAiw2AjAgDCAhKAIAIgA2AgAgCCgCACAANgIsBSAIKAIAIAgoAgAoAjA2AjQgCCgCACAIKAIAKAIsNgIwIAgoAgAgDCgCADYCLAsLIB0gDCgCADYCCCAdIEYoAgAgHygCAEEASwR/IAgoAgAgHygCABDfAQVBAAtqNgIEIB8oAgAgHigCAGpBFE8EQCAIKAIAENkBGgsgRSgCAEEfT0EAcQRAIAgoAgAQ2QEaCyAdIDMoAgAgHigCAEEASwR/IAgoAgAgHigCABDfAQVBAAtqNgIAIAgoAgAQ2QEaIAgoAgAhACAnIAgoAgBBFGo2AgAgQSAANgIAIDIgJygCACgCBCAnKAIAKAIAQQN0aikCADcCACBCIDItAAM2AgAgQyBBKAIAIEIoAgAQ3AE2AgAgJygCACAyLwEAIEMoAgBqNgIAIAgoAgAhACAmIAgoAgBBJGo2AgAgPiAANgIAIDEgJigCACgCBCAmKAIAKAIAQQN0aikCADcCACA/IDEtAAM2AgAgQCA+KAIAID8oAgAQ3AE2AgAgJigCACAxLwEAIEAoAgBqNgIAIAgoAgAQ2QEaIAgoAgAhACAlIAgoAgBBHGo2AgAgOyAANgIAIDAgJSgCACgCBCAlKAIAKAIAQQN0aikCADcCACA8IDAtAAM2AgAgPSA7KAIAIDwoAgAQ3AE2AgAgJSgCACAwLwEAID0oAgBqNgIAICggHSkCADcCACAoIB0pAgg3AgggEygCACEFIEcoAgAhBCBIKAIAIQMgNygCACECIDgoAgAhASAGKAIAIQAgCyAoKQAANwAAIAsgKCkACDcACCAKIAU2AgAgGSAENgIAIBUgKzYCACAtIAM2AgAgGiACNgIAIC4gATYCACAbIAA2AgAgESAKKAIAIAsoAgBqNgIAIBwgCygCACALKAIEajYCACAjIAooAgAgHCgCAGo2AgAgFCAZKAIAQXhqNgIAIC8gFSgCACgCACALKAIAajYCACAJIBEoAgAgCygCCGs2AgACQCAjKAIAIBkoAgBLBEAgEkG6fzYCAAUgLygCACAtKAIASwRAIBJBbDYCAAwCCyAKKAIAISIgESgCACAUKAIASwRAIBkoAgAhBSAVKAIAIQQgLSgCACEDIBooAgAhAiAuKAIAIQEgGygCACEAICwgCykCADcCACAsIAspAgg3AgggEiAiIAUgLCAEIAMgAiABIAAQnQQ2AgAMAgsgIiAVKAIAKAIAEPwCIAsoAgBBCEsEQCAKKAIAQQhqIBUoAgAoAgBBCGogCygCAEEIaxD7AgsgCiARKAIANgIAIBUoAgAgLygCADYCAAJAIAsoAgggESgCACAaKAIAa0sEQCALKAIIIBEoAgAgLigCAGtLBEAgEkFsNgIADAQLIAkgGygCACAJKAIAIBooAgBrajYCACAJKAIAIAsoAgRqIBsoAgBNBEAgESgCACAJKAIAIAsoAgQQ9QcaIBIgHCgCADYCAAwECyAkIBsoAgAgCSgCAGs2AgAgESgCACAJKAIAICQoAgAQ9QcaIAogESgCACAkKAIAajYCACALQQRqIgAgACgCACAkKAIAazYCACAJIBooAgA2AgAgCigCACAUKAIATQRAIAsoAgRBA08NAgsgFkEANgIAA0AgFigCACALKAIESQRAIAooAgAgFigCAGogCSgCACAWKAIAaiwAADoAACAWIBYoAgBBAWo2AgAMAQsLIBIgHCgCADYCAAwDCwsgCygCCEEISQRAIDogCygCCEECdEGQPWooAgA2AgAgCigCACAJKAIALAAAOgAAIAooAgAgCSgCACwAAToAASAKKAIAIAkoAgAsAAI6AAIgCigCACAJKAIALAADOgADIAkgCSgCACALKAIIQQJ0QbA9aigCAGo2AgAgCigCAEEEaiAJKAIAEJ4EIAkgCSgCACA6KAIAazYCAAUgCigCACAJKAIAEPwCCyAKIAooAgBBCGo2AgAgCSAJKAIAQQhqNgIAIAooAgAhAAJAICMoAgAgGSgCAEFzaksEQCAAIBQoAgBJBEAgCigCACAJKAIAIBQoAgAgCigCAGsQ+wIgCSAJKAIAIBQoAgAgCigCAGtqNgIAIAogFCgCADYCAAsDQCAKKAIAICMoAgBPDQIgCSAJKAIAIgBBAWo2AgAgACwAACEBIAogCigCACIAQQFqNgIAIAAgAToAAAwACwAFIAAgCSgCACALKAIEQQhrEPsCCwsgEiAcKAIANgIACwsgNSASKAIANgIAIDUoAgAQzQFBAEchACA1KAIAIQEgAA0CIBMgEygCACABajYCAAwBCwsMAQsgECABNgIAIBAoAgAhACAHJAUgAA8LIAIEQCAQQWw2AgAgECgCACEAIAckBSAADwsgGEEANgIAA0AgGCgCAEEDTw0CIA4oAgBBrOABaiAYKAIAQQJ0aiANQSxqIBgoAgBBAnRqKAIANgIAIBggGCgCAEEBajYCAAwACwALCyApIEgoAgAgKygCAGs2AgAgKSgCACBHKAIAIBMoAgBrSwR/IBBBun82AgAgECgCACEAIAckBSAA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IAAoAgAgOygCAGs2AgAgCyA4KAIANgIAIAooAgAgHygCAE0EQCAOKAIEQQNPDQILICNBADYCAANAICMoAgAgDigCBEkEQCAKKAIAICMoAgBqIAsoAgAgIygCAGosAAA6AAAgIyAjKAIAQQFqNgIADAELCyAbICwoAgA2AgAMAwsLIA4oAghBCEkEQCBkIA4oAghBAnRBkD1qKAIANgIAIAooAgAgCygCACwAADoAACAKKAIAIAsoAgAsAAE6AAEgCigCACALKAIALAACOgACIAooAgAgCygCACwAAzoAAyALIAsoAgAgDigCCEECdEGwPWooAgBqNgIAIAooAgBBBGogCygCABCeBCALIAsoAgAgZCgCAGs2AgAFIAooAgAgCygCABD8AgsgCiAKKAIAQQhqNgIAIAsgCygCAEEIajYCACAKKAIAIQACQCA6KAIAICsoAgBBc2pLBEAgACAfKAIASQRAIAooAgAgCygCACAfKAIAIAooAgBrEPsCIAsgCygCACAfKAIAIAooAgBrajYCACAKIB8oAgA2AgALA0AgCigCACA6KAIATw0CIAsgCygCACIAQQFqNgIAIAAsAAAhASAKIAooAgAiAEEBajYCACAAIAE6AAAMAAsABSAAIAsoAgAgDigCBEEIaxD7AgsLIBsgLCgCADYCAAsLIGAgGygCADYCACBgKAIAEM0BQQBHIQAgYCgCACEBIAANAiAVIBUoAgAgAWo2AgAgECAQKAIAQQFqNgIADAELCwwBCyAUIAE2AgAgFCgCACEAIAckBSAADwsgKUEANgIAA0AgKSgCAEEDTw0CIBYoAgBBrOABaiApKAIAQQJ0aiARQSxqICkoAgBBAnRqKAIANgIAICkgKSgCAEEBajYCAAwACwALCyBMIGMoAgAgNygCAGs2AgAgTCgCACBiKAIAIBUoAgBrSwR/IBRBun82AgAgFCgCACEAIAckBSAABSAVKAIAIDcoAgAgTCgCABD0BxogFSAVKAIAIEwoAgBqNgIAIBQgFSgCACBhKAIAazYCACAUKAIAIQAgByQFIAALC44BAQJ/IwUhByMFQSBqJAUgB0EYaiIIIAA2AgAgB0EUaiIAIAE2AgAgB0EQaiIBIAI2AgAgB0EMaiICIAM2AgAgB0EIaiIDIAQ2AgAgB0EEaiIEIAU2AgAgByAGNgIAIAgoAgAg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IAMoAgAoAgQ2AgAgAigCAEHA4AFqIAMoAgAoAgQ2AgAgAigCAEHE4AFqIAMoAgAoAgQgAygCACgCCGo2AgAgAigCAEG44AFqIAIoAgBBxOABaigCADYCACACKAIAQYjhAWohACADKAIAQbjgAWooAgAEQCAAQQE2AgAgAigCAEGM4QFqQQE2AgAgAigCACADKAIAQQxqNgIAIAIoAgAgAygCAEGcMGo2AgQgAigCACADKAIAQZQgajYCCCACKAIAIAMoAgBBpNAAajYCDCACKAIAQazgAWogAygCAEGo4AFqKAIANgIAIAIoAgBBsOABaiADKAIAQazgAWooAgA2AgAgAigCAEG04AFqIAMoAgBBsOABaigCADYCAAUgAEEANgIAIAIoAgBBjOEBakEANgIACwsgBUEANgIAIAUoAgAhACAEJAUgAAvSAQEEfyMFIQMjBUEgaiQFIANBFGohBCADQRBqIgUgADYCACADQQxqIgYgATYCACADQQhqIgEgAjYCACADQQRqIgAgBSgCABCrBDYCACAAKAIAEM0BBEAgBCAAKAIANgIAIAQoAgAhACADJAUgAA8LIAMhACAGKAIAQQBHIAEoAgBBAEdxBEAgACAFKAIAIAYoAgAgASgCABCsBDYCACAAKAIAEM0BBEAgBEFiNgIAIAQoAgAhACADJAUgAA8LCyAEQQA2AgAgBCgCACEAIAMkBSAAC+gIAQt/IwUhBSMFQdAAaiQFIAVBzABqIQYgBUHIAGoiCCAANgIAIAVBxABqIgAgATYCACAFQUBrIgcgAjYCACAFQTxqIg0gAzYCACAFQThqIg4gBDYCACAFQTRqIgEgDSgCACgCADYCACAFQTBqIgogACgCADYCACAFQSxqIgwgCigCACAHKAIAajYCACAFQShqIgMgCigCADYCACAFQSRqIgIgDigCACgCADYCACACKAIAQQlJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFQSBqIgkgASgCAEEFEPUDNgIAIAkoAgAQzQEEQCAGIAkoAgA2AgAgBigCACEAIAUkBSAADwsgAigCACAJKAIAQQNqSQRAIAZBuH82AgAgBigCACEAIAUkBSAADwsgBUEcaiIAIAgoAgAgASgCACAJKAIAEKgENgIAIAAoAgAQzQEEQCAGIAAoAgA2AgAgBigCACEAIAUk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ACANKAIAQQJ0aigCADYCACAOIBEoAgA2AgAgFCARKAIAIBAoAgBqNgIAIAogBC8BACATKAIAQQh0akH//wNxEOAEIAogDygCACAWKAIAajoAAiAKQQI6AAMDQCAVKAIAIQEgDiAOKAIAIgJBAWo2AgAgASACQQJ0aiAKKAEANgEAIA4oAgAgFCgCAEkNAAsgACANKAIAQQJ0aiIBIAEoAgAgECgCAGo2AgAgCyALKAIAQQFqNgIADAELCyAJJAULcwEDfyMFIQIjBUEQaiQFIAIhAyACQQRqIgQgADYCACACQQhqIgAgATsBACAEKAIAIQFBkOUALQAABEAgASAALgEAEOEEIAIkBQUgAyABNgIAIAMoAgAgAC4BADoAACADKAIAIAAvAQBBCHU6AAEgAiQFCwszAQF/IwUhAiMFQRBqJAUgAiAANgIAIAJBBGoiACABOwEAIAIoAgAgAC4AADsAACACJAULwgIBBn8jBSEFIwVB0ABqJAUgBUE8aiEGIAVBOGoiByAANgIAIAVBNGoiCCABNgIAIAVBMGoiCSACNgIAIAVBLGoiCiADNgIAIAVBKGoiACAENgIAIAVBJGoiASAHKAIANgIAIAVBIGoiAyABKAIAIAgoAgBqNgIAIAVBHGoiAiAAKAIAQQRqNgIAIAVBGGoiBCACKAIANgIAIAVBQGsiAiAAKAIAENIDIAVBBGoiByACLQACNgIAIAUiACAFQQhqIgIgCSgCACAKKAIAEL4ENgIAIAUoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgASgCACACIAMoAgAgBCgCACAHKAIAENgEGiACENUDBH8gBiAIKAIANgIAIAYoAgAhACAFJAUgAAUgBkFsNgIAIAYoAgAhACAFJAUgAAsLhgIBAn8jBSECIwVBEGokBSACQQRqIgEgADYCACABKAIAQaCoAWpBBTYCACABKAIAQcyoAWpBADYCACABKAIAQZCoAWpBADYCACABKAIAQZSoAWpBADYCACABKAIAQZioAWpBADYCACABKAIAQZyoAWpBADYCACABKAIAQYwoakGMgIDgADYCACABKAIAQdSoAWpBADYCACABKAIAQdCoAWpBADYCACABKAIAQbSpAWpBADYCACACIgBBADYCAANAIAAoAgBBA0gEQCABKAIAQaSoAWogACgC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ACIBIAEoAgAgBSgCAC0AAUEIdGo2AgALIAIgBSgCACAAKAIAQQFraiwAADoAACACLQAABEBBCCACLQAAENQBayEBIAMoAgAgATYCBCADKAIAQQRqIgEgASgCAEEEIAAoAgBrQQN0ajYCAAwCCyAGQX82AgAgBigCACEAIAQkBSAADwsACyAGIAAoAgA2AgAgBigCACEAIAQkBSAAC+MFAQl/IwUhBCMFQTBqJAUgBEEEaiEDIARBKGoiBiAANgIAIARBJGoiAiABNgIAIARBIGoiASACKAIAQRBqEMMEQf8BcTYCACAEQRxqIgcgAigCAEEgahDDBEH/AXE2AgAgBEEYaiIAIAIoAgBBGGoQwwRB/wFxNgIAIARBFGoiCCABKAIAQQJ0QbA0aigCADYCACAEQRBqIgkgBygCAEECdEHANWooAgA2AgAgBEEMaiIFIAAoAgA2AgAgBEEIaiIKIAgoAgAgCSgCAGogBSgCAGo2AgAgACgCAARAIAMgACgCAEECdEGgN2ooAgAgAigCACAFKAIAENwBajYCACACKAIAEMAEGgUgA0EANgIACyAEIQACQCADKAIAQQNJBEAgASgCAEUgAygCAEEBTXEEQCADQQEgAygCAGs2AgALIAIoAgBBKGohBSADKAIARQRAIAMgBSgCADYCAAwCCyAAIAUgAygCAEECdGooAgA2AgAgAygCAEEBRwRAIAIoAgAgAigCACgCLDYCMAsgAigCACACKAIAKAIoNgIsIAMgACgCACIANgIAIAIoAgAgADYCKAUgAyADKAIAQQJrNgIAIAIoAgAgAigCACgCLDYCMCACKAIAIAIoAgAoAig2AiwgAigCACADKAIANgIoCwsgBigCACADKAIANgIIIAcoAgBBAnRBoDhqKAIAIQMgBygCAEEfSwR/IAIoAgAgCSgCABDcAQVBAAshACAGKAIAIANBA2ogAGo2AgQgCSgCACAIKAIAakEYSwRAIAIoAgAQwAQaCyABKAIAQQJ0QYA6aigCACEDIAEoAgBBD0sEfyACKAIAIAgoAgAQ3AEFQQALIQAgBigCACADIABqNgIAIAooAgBBH0tBAXIEQCACKAIAEMAEGgsgAigCAEEQaiACKAIAEMQEIAIoAgBBIGogAigCABDEBCACKAIAEMAEGiACKAIAQRhqIAIoAgAQxAQgBCQFC+gI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QTBqIgcgACgCAEEGajYCACAFQSxqIhMgBygCACAKKAIAajYCACAFQShqIhQgEygCACALKAIAajYCACAFQSRqIhYgFCgCACAMKAIAajYCACAFQSBqIgAgECgCAEEDakEEbjYCACAFQRxqIg4gBCgCACAAKAIAajYCACAFQRhqIg8gDigCACAAKAIAajYCACAFQRRqIhEgDygCACAAKAIAajYCACAFQRBqIgMgBCgCADYCACAFQQxqIgQgDigCADYCACAFQQhqIgggDygCADYCACAFQQRqIg0gESgCADYCACAFQTRqIhUgCSgCACAKKAIAIAsoAgBqIAwoAgBqQQZqazYCACAVKAIAIAkoAgBLBEAgBkFsNgIAIAYoAgAhACAFJAUgAA8LIAVBiAFqIgAgBUH4AGoiCSAHKAIAIAooAgAQ8QQ2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAAIAVB6ABqIgogEygCACALKAIAEPEENgIAIAAoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgACAFQdgAaiILIBQoAgAgDCgCABDxBDYCACAAKAIAEMwBBEAgBiAAKAIANgIAIAYoAgAhACAFJAUgAA8LIAAgBUHIAGoiDCAWKAIAIBUoAgAQ8QQ2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAFIgAgCRDABCAKEMAEciALEMAEciAMEMAEcjYCAANAAkAgACgCAA0AIA0oAgAgEigCAEF5ak8NACADKAIAIAkgASgCACACKAIAENAEIQcgAyADKAIAIAdqNgIAIAQoAgAgCiABKAIAIAIoAgAQ0AQhByAEIAQoAgAgB2o2AgAgCCgCACALIAEoAgAgAigCABDQBCEHIAggCCgCACAHajYCACANKAIAIAwgASgCACACKAIAENAEIQcgDSANKAIAIAdqNgIAIAMoAgAgCSABKAIAIAIoAgAQ0AQhByADIAMoAgAgB2o2AgAgBCgCACAKIAEoAgAgAigCABDQBCEHIAQgBCgCACAHajYCACAIKAIAIAsgASgCACACKAIAENAEIQcgCCAIKAIAIAdqNgIAIA0oAgAgDCABKAIAIAIoAgAQ0AQhByANIA0oAgAgB2o2AgAgACAJEMAEIAoQwARyIAsQwARy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mNABaiAAKAIAIAIoAgBBkNABaigCACACKAIAQZTQAWooAgBrazYCACACKAIAQZTQAWogACgCADYCACACKAIAQZDQAWogACgCADYCACADJAUL/AYBCX8jBSEFIwVB0ABqJAUgBUHEAGohBiAFQUBrIgkgADYCACAFQTxqIgAgATYCACAFQThqIgogAjYCACAFQTRqIgggAzYCACAFQTBqIgcgBDYCACAFQSxqIgEgCCgCADYCACAFQShqIg0gASgCACAHKAIAajYCACAFQSRqIgsgACgCADYCACAFQSBqIgMgCygCADYCACAFQRxqIgwgCygCACAKKAIAajYCACAFQRhqIgIgBygCADYCACAHKAIAQQhJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFQQhqIgAgCSgCACAIKAIAQQUQiAU2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAHKAIAIAAoAgBBA2pJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyABIAEoAgAgACgCAGo2AgAgAiACKAIAIAAoAgBrNgIAIAAgCSgCACAIKAIAIAAoAgAQiQU2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAFQRBqIQcgBUEEaiEEIAUhAAJAAkACQAJAAkACQAJAA0AgBEEANgIAIAAgASgCACANKAIAIAEoAgBrIAcQjgQ2AgAgACgCABDMAQ0BIAEgASgCAEEDajYCACACIAIoAgBBA2s2AgAgACgCACACKAIASw0CAkACQAJAAkACQAJAIAcoAgAOBAECAAMECwwICyAEIAkoAgAgAygCACAMKAIAIAMoAgBrIAEoAgAgACgCABCKBTYCAAwDCyAEIAMoAgAgDCgCACADKAIAayABKAIAIAAoAgAQqQQ2AgAMAgsgAigCAA0GDAELDAYLIAAoAgBFDQcgBCgCABDMAUEARyEKIAQoAgAhCCAKDQYgAyADKAIAIAhqNgIAIAEgASgCACAAKAIAajYCACACIAIoAgAgACgCAGs2AgAMAAsACyAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAGQX82AgAgBigCACEAIAUkBSAADwsgBkG4fzYCACAGKAIAIQAgBSQFIAAP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AgAgCigCACEAIAkkBSAADwsgBygCAEEKTQRAIAEgASgCACADKAIAajYCACANKAIAIAAgEigCACAHKAIAEJUFGgwBCyAKQWw2AgAgCigCACEAIAkkBSAADwsgCiABKAIAIAgoAgBrNgIAIAooAgAhACAJJAUgAAuuBQEFfyMFIQQjBUEgaiQFIARBFGohBSAEQRBqIgMgADYCACAEQQxqIgYgATYCACAEQQhqIgEgAjYCACABKAIAQQFJBEAgAygCACIAQgA3AgAgAEIANwIIIAVBuH82AgAgBSgCACEAIAQkBSAADwsgBEEEaiECIAQhACABKAIAQQRPIQcgAygCACAGKAIANgIMAkAgBwRAIAMoAgAgBigCACABKAIAakF8ajYCCCADKAIAKAIIEOEBIQAgAygCACAANgIAIAIgBigCACABKAIAQQFrai0AADYCACACKAIABEBBCCACKAIAENQBayEAIAMoAgAgADYCBAwCCyAFQX82AgAgBSgCACEAIAQkBSAADwUgAygCACADKAIAKAIMNgIIIAMoAgAgAygCACgCDC0AADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAmsOBgUEAwIBAAYLIAMoAgAiAiACKAIAIAMoAgAoAgwtAAZBEHRqNgIADAYLDAULDAULDAULDAULDAULDAULIAMoAgAiAiACKAIAIAMoAgAoAgwtAAVBCHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQAEajYCAAsgAygCACICIAIoAgAgAygCACgCDC0AA0EYdGo2AgALIAMoAgAiAiACKAIAIAMoAgAoAgwtAAJBEHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQABQQh0ajYCAAsgACAGKAIAIAEoAgBBAWtqLQAANgIAIAAoAgAEQEEIIAAoAgAQ1AFrIQAgAygCACAANgIEIAMoAgBBBGoiACAAKAIAQQQgASgCAGtBA3RqNgIADAILIAVBfzYCACAFKAIAIQAgBCQFIAAPCwALIAUgASgCADYCACAFKAIAIQAgBCQFIAALhQEBAn8jBSEDIwVBIGokBSADQRBqIgQgADYCACADQQxqIgAgATYCACADQQhqIgEgAjYCACADQQRqIgIgASgCADYCACADIAIoAgA2AgAgACgCACADKAIALwEAENwB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BiAANgIAIAVBDGoiACABNgIAIAVBCGoiASACNgIAIAVBBGoiAiADNgIAIAUgBDYCACAGKAIAIAAoAgAgASgCACACKAIAIAUoAgBBAEEAEK8FIQAgBSQFIAALxggBB38jBSEHIwVB0ABqJAUgB0HIAGoiCCAANgIAIAdBxABqIgAgATYCACAHQUBrIgsgAjYCACAHQTxqIgogAzYCACAHQThqIgkgBDYCACAHQTRqIgEgBTYCACAHQTBqIgUgBjYCACAHQSxqIgIgCigCADYCACAHQShqIg0gAigCACAJKAIAajYCACAHQSRqIgYgACgCADYCACAHQSBqIgQgBigCADYCACAHQRxqIgwgBigCACALKAIAajYCACAHQRhqIgMgCSgCADYCACAIKAIAELAFGiABKAIABEAgCCgCACABKAIAIAUoAgAQsQUgCCgCAEGY0ABqIAgoAgBBjNAAaigCADYCACAIKAIAQZTQAGogACgCACAIKAIAQYzQAGooAgAgCCgCAEGQ0ABqKAIAa2s2AgAgCCgCAEGQ0ABqIAAoAgA2AgAFIAgoAgBBmNAAaiAAKAIAIgA2AgAgCCgCAEGQ0ABqIAA2AgAgCCgCAEGU0ABqIAA2AgALIAdBzABqIQEgCSgCAEEISQRAIAFBuH82AgAgASgCACEAIAckBSAADwsgB0EIaiIAIAgoAgAgCigCAEEFELIFNgIAIAAoAgAQzAEEQCABIAAoAgA2AgAgASgCACEAIAckBSAADwsgCSgCACAAKAIAQQNqSQRAIAFBuH82AgAgASgCACEAIAckBSAADwsgAiACKAIAIAAoAgBqNgIAIAMgAygCACAAKAIAazYCACAAIAgoAgAgCigCACAAKAIAELMFNgIAIAAoAgAQzAEEQCABIAAoAgA2AgAgASgCACEAIAckBSAADwsgB0EQaiEJIAdBBGohBSAHIQACQAJAAkACQAJAAkACQANAIAVBADYCACAAIAIoAgAgDSgCACACKAIAayAJEI4ENgIAIAAoAgAQzAENASACIAIoAgBBA2o2AgAgAyADKAIAQQNrNgIAIAAoAgAgAygCAEsNAgJAAkACQAJAAkACQCAJKAIADgQBAgADBAsMCAsgBSAIKAIAIAQoAgAgDCgCACAEKAIAayACKAIAIAAoAgAQtAU2AgAMAwsgBSAEKAIAIAwoAgAg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AgAgBSgCACEAIAQkBSAADwsgBEEEaiECIAQhACABKAIAQQRPIQcgAygCACAGKAIANgIMAkAgBwRAIAMoAgAgBigCACABKAIAakF8ajYCCCADKAIAKAIIEL0FIQAgAygCACAANgIAIAIgBigCACABKAIAQQFrai0AADYCACACKAIABEBBCCACKAIAENQBayEAIAMoAgAgADYCBAwCCyAFQX82AgAgBSgCACEAIAQkBSAADwUgAygCACADKAIAKAIMNgIIIAMoAgAgAygCACgCDC0AADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAmsOBgUEAwIBAAYLIAMoAgAiAiACKAIAIAMoAgAoAgwtAAZBEHRqNgIADAYLDAULDAULDAULDAULDAULDAULIAMoAgAiAiACKAIAIAMoAgAoAgwtAAVBCHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQAEajYCAAsgAygCACICIAIoAgAgAygCACgCDC0AA0EYdGo2AgALIAMoAgAiAiACKAIAIAMoAgAoAgwtAAJBEHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQABQQh0ajYCAAsgACAGKAIAIAEoAgBBAWtqLQAANgIAIAAoAgAEQEEIIAAoAgAQ1AFrIQAgAygCACAANgIEIAMoAgBBBGoiACAAKAIAQQQgASgCAGtBA3RqNgIADAILIAVBfzYCACAFKAIAIQAgBCQFIAAPCwALIAUgASgCADYCACAFKAIAIQAgBCQFIAALdgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACADQQxqIgEgAygCACgBADYBACAAKAIAIAEvAQAQ3AEhASAEKAIAIAE2AgAgACgCABC6BRogBCgCACADKAIAQQRqNgIEIAMkBQvAAwEGfyMFIQMjBUEQaiQFIANBDGohAiADQQhqIgEgADYCACABKAIAKAIEQSBLBEAgAkEDNgIAIAIoAgAhACADJAUgAA8LIAEoAgAhBSABKAIAKAIIIAEoAgAoAgxBBGpPBEAgASgCAEEIaiIAIAAoAgAgBSgCBEEDdms2AgAgASgCAEEEaiIAIAAoAgBBB3E2AgAgASgCACgCCBC9BSEAIAEoAgAgADYCACACQQA2AgAgAigCACEAIAMk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QCACKAIIQQRPDQILA0AgCCgCACAGKAIASQRAIAEgASgCACIAQQFqNgIAIAAsAAAhACAIIAgoAgAiAkEBajYCACACIAA6AAAMAQsLIAogBSgCADYCACAKKAIAIQAgCSQFIAAPCwsgAigCBEEISQRAIAAgAigCBEECdEGQPWooAgA2AgAgCCgCACABKAIALAAAOgAAIAgoAgAgASgCACwAAToAASAIKAIAIAEoAgAsAAI6AAIgCCgCACABKAIALAADOgADIAEgASgCACACKAIEQQJ0QbA9aigCAGo2AgAgCCgCAEEEaiABKAIAEJ4EIAEgASgCACAAKAIAazYCAAUgCCgCACABKAIAEPwCCyAIIAgoAgBBCGo2AgAgASABKAIAQQhqNgIAIAgoAgAhAAJAIAYoAgAgCygCAEF0aksEQCAAIAQoAgBJBEAgCCgCACABKAIAIAQoAgAgCCgCAGsQ+wIgASABKAIAIAQoAgAgCCgCAGtqNgIAIAggBCgCADYCAAsDQCAIKAIAIAYoAgBPDQIgASABKAIAIgBBAWo2AgAgACwAACEAIAggCCgCACICQQFqNgIAIAIgADoAAAwACwAFIAAgASgCACACKAIIQQhrEPsCCwsgCiAFKAIANgIAIAooAgAhACAJJAUgAAs3AQJ/IwUhASMFQRBqJAUgASAANgIAIAFBBGoiAiABKAIAIgAQkAQ2AgAgAigCACEAIAEkBSAAC40LARB/IwUhBSMFQdAAaiQFIAVBQGshBiAFQTxqIhIgADYCACAFQThqIg8gATYCACAFQTRqIgggAjYCACAFQTBqIgAgAzYCACAFQSxqIhAgBDYCACAFQShqIg4gACgCADYCACAFQSRqIgsgDigCACAQKAIAajYCACAFQSBqIgIgDigCADYCACAFQQhqIglBADYCACAFQQRqIhNBADYCACAQKAIAQQRJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFQRBqIgMgAigCABCQBDYCACAFQRxqIgQgAygCAEEPcUEFajYCACAEKAIAQQ9KBEAgBkFUNgIAIAYoAgAhACAFJAUgAA8LIAUhACAFQcYAaiERIAVBxABqIQcgAyADKAIAQQR2NgIAIAVBDGoiAUEENgIAIAgoAgAgBCgCADYCACAFQRhqIgxBASAEKAIAdEEBajYCACAFQRRqIghB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CyABQQRqIgAgACgCACABKAIEQQR2ajYCACABQQhqIgAgACgCACABKAIIQQN2ajYCACABKAIEIAEoAgBJBEAgA0EBNgIACyAFIAcoAgAgBigCACAIKAIAIAIoAgAgAygCAEECdEHE5QBqKAIAQQ9xQagBahEIADYCACAFKAIAIQAgBCQFIAALrQIBBn8jBSEEIwVBoMAAaiQFIARBnMAAaiEFIARBmMAAaiIHIAA2AgAgBEGUwABqIgggATYCACAEQZDAAGoiBiACNgIAIARBjMAAaiIBIAM2AgAgBCIAQQBBgsAAEPYHGiAEQQw7AQAgBEGIwABqIgMgBigCADYCACAEQYTAAGoiAiAEIAYoAgAgASgCABDLBTYCACACKAIAEMwBQQBHIQkgAigCACEGIAkEQCAFIAY2AgAgBSgCACEAIAQkBSAADwsgBiABKAIATwR/IAVBuH82AgAgBSgCACEAIAQkBSAABSADIAMoAgAgAigCAGo2AgAgASABKAIAIAIoAgBrNgIAIAUgBygCACAIKAIAIAMoAgAgASgCACAAEMwFNgIAIAUoAgAhACAEJAUgAAsLrQIBBn8jBSEEIwVBoIABaiQFIARBnIABaiEFIARBmIABaiIHIAA2AgAgBEGUgAFqIgggATYCACAEQZCAAWoiBiACNgIAIARBjIABaiIBIAM2AgAgBCIAQQBBhIABEPYHGiAEQQw2AgAgBEGIgAFqIgMgBigCADYCACAEQYSAAWoiAiAEIAYoAgAgASgCABDDBTYCACACKAIAEMwBQQBHIQkgAigCACEGIAkEQCAFIAY2AgAgBSgCACEAIAQkBSAADwsgBiABKAIATwR/IAVBuH82AgAgBSgCACEAIAQkBSAABSADIAMoAgAgAigCAGo2AgAgASABKAIAIAIoAgBrNgIAIAUgBygCACAIKAIAIAMoAgAgASgCACAAEMQFNgIAIAUoAgAhACAEJAUgAAsLhQoBG38jBSEDIwVB0BBqJAUgA0HIEGohBiADQcQQaiIEIAA2AgAgA0HAEGoiACABNgIAIANBvBBqIgEgAjYCACADQZAJaiICQgA3AwAgAkIANwMIIAJCADcDECACQgA3AxggAkIANwMgIAJCADcDKCACQgA3AzAgAkIANwM4IAJBQGtBADYCACADQcAIaiIHQgA3AwAgB0IANwMIIAdC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AigCAEECdGooAgA2AgAgCiAELgEAEOAEIAogFigCADoAAiAKQQE6AAMgDEEANgIAA0AgDCgCACASKAIATw0CIBUoAgAgDCgCAEECdGogCigBADYBACAMIAwoAgBBAWo2AgAMAAsACwsgC0EANgIAA0AgCygCACAFKAIASQRAIBMgAygCACALKAIAQQF0ai0AADYCACANIAMoAgAgCygCAEEBdGotAAE2AgAgDyAGKAIAIA0oAgBrNgIAIBBBASAXKAIAIA8oAgBrdDYCACARIAAgDSgCAEECdGooAgA2AgAgDiARKAIANgIAIBQgESgCACAQKAIAajYCACAKIAQvAQAgEygCAEEIdGpB//8DcRDgBCAKIA8oAgAgFigCAGo6AAIgCkECOgADA0AgFSgCACEBIA4gDigCACICQQFqNgIAIAEgAkECdGogCigBADYBACAOKAIAIBQoAgBJDQALIAAgDSgCAEECdGoiASABKAIAIBAoAgBqNgIAIAsgCygCAEEBajYCAAwBCwsgCSQFC6YDAQh/IwUhBCMFQcCEAWokBSAEQbSEAWohBSAEQbCEAWoiByAANgIAIARBrIQBaiIIIAE2AgAgBEGohAFqIgEgAjYCACAEQaSEAWoiAiADNgIAIARBoIQBaiIAIAEoAgA2AgAgBEGchAFqIgMgACgCADYCACAEQZSEAWoiBkH/ATYCACACKAIAQQJJBEAgBUG4fzYCACAFKAIAIQAgBCQFIAAPCyAEQZCEAWoiASAEQZCAAWoiCSAGIARBmIQBaiIKIAAoAgAgAigCABC+BTYCACABKAIAEMwBQQBHIQsgASgCACEAIAsEQCAFIAA2AgAgBSgCACEAIAQkBSAADwsgACACKAIATwRAIAVBuH82AgAgBSgCACEAIAQkBSAADwsgAyADKAIAIAEoAgBqNgIAIAIgAigCACABKAIAazYCACABIAQiACAJIAYoAgAgCigCABCVBTYCACABKAIAEMwBBH8gBSABKAIANgIAIAUoAgAhACAEJAUgAAUgBSAHKAIAIAgoAgAgAygCACACKAIAIAAQygU2AgAgBSgCACEAIAQkBSAACwuNDgEkfyMFIQUjBUHAAWokBSAFQbgBaiEQIAVBtAFqIRsgBUGwAWohHCAFQawBaiEdIAVBqAFqIR4gBUGkAWohFSAFQaABaiEKIAVB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AWogADYCACAFKAIAQejhAWooAgAQzQFBAEchAyAFKAIAIQAgAwRAIAYgAEHo4QFqKAIANgIAIAYoAgAhACAHJAUgAA8FIABB3OIJaiACKAIAIAEoAgAQ9AcaIAUoAgBByOABaiAFKAIAQejhAWooAgAgASgCAGs2AgAgBSgCAEGE4QFqQQE2AgAgBkEANgIAIAYoAgAhACAHJAUgAA8LAAsgBSgCAEHc4glqIAUoAgBB6OEBaigCACABKAIAa2ogAigCACABKAIAEPQHGiALIAUoAgAgBSgCAEHc4glqIAUoAgBB6OEBaigCABCoBDYCACALKAIAEM0BBEAgBiALKAIANgIAIAYoAgAhACAHJAUgAA8FIAUoAgBByOABakEDNgIAIAUoAgBBhOEBakECNgIAIAZBADYCACAGKAIAIQAgByQFIAAPCwALIAogAigCAEEDIAQQhwQ2AgAgCigCABDNAUEARyEBIAooAgAhACABBEAgBiAANgIAIAYoAgAhACAHJAUgAA8LIAUoAgBByOABaiAANgIAIAUoAgBBgOEBaiAEKAIANgIAIAUoAgBBiOIBaiAEKAIINgIAIAQoAgRBAEchACAKKAIABEAgBSgCAEGE4QFqIAAEf0EEBUEDCzYCACAGQQA2AgAgBigCACEAIAckBSAADwsgBSgCACEBIAAEQCAFKAIAQcjgAWohACABQfDgAWooAgAEQCAAQQQ2AgAgBSgCAEGE4QFqQQU2AgAFIABBADYCACAFKAIAQYThAWpBADYCAAsFIAFByOABakEDNgIAIAUoAgBBhOEBakECNgIACyAGQQA2AgAgBigCACEAIAckBSAADwsCQAJAAkACQAJAIAUoAgBBgOEBaigCAA4DAQIAAwsgAyAFKAIAIAgoAgAgCSgCACACKAIAIAEoAgBBARCXBDYCAAwDCyADIAgoAgAgCSgCACACKAIAIAEoAgAQqQQ2AgAMAgsgAyAIKAIAIAkoAgAgAigCACABKAIAIAUoAgBBiOIBaigCABDUBTYCAAwBCyAGQWw2AgAgBigCACEAIAckBSAADwsgAygCABDNAUEARyEBIAMoAgAhACABBEAgBiAANgIAIAYoAgAhACAHJAUgAA8LIAUoAgBB+OABaiIBIAEpAwAgAK18NwMAIAUoAgBB8OABaigCAARAIAUoAgBBkOEBaiAI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AygCAEGE4QFqQQI2AgALIAMoAgBB2OABaiADKAIAQdjgAWopAwBCgAhWBH4gAygCAEHY4AFqKQMABUKACAs3AwAgAygCAEHY4AFqKQMAIAMoAgBBrOIBaigCAK1WBEBBNCEBDAULIBkgAygCAEHg4AFqKAIAQQRLBH8gAygCAEHg4AFqKAIABUEECyIGNgIAIBogAygCAEHY4AFqKQMAIAMoAgBB0OABaikDABDjBTYCAAJAAkAgAygCAEGk4gFqKAIAIBkoAgBJDQAgAygCAEG04gFqKAIAIBooAgBJDQAMAQsgIiAZKAIAIBooAgBqNgIAIAMoAgBBjOIBaigCAARAICIoAgAgAygCAEGM4gFqKAIAQfDiCWtLBEBBOyEBDAcLBSADKAIAQaDiAWooAgAhBiANIAMoAgBB+OEBaiIOKQIANwIAIA0gDigCCDYCCCAGIA0Q7wEgAygCAEGk4gFqQQA2AgAgAygCAEG04gFqQQA2AgAgIigCACEGIA0gAygCAEH44QFqIg4pAgA3AgAgDSAOKAIINgIIIAYgDRDtASEGIAMoAgBBoOIBaiAGNgIAIAMoAgBBoOIBaigCAEUEQEE9IQEMBwsLIAMoAgBBpOIBaiAZKAIANgIAIAMoAgBBsOIBaiADKAIAQaDiAWooAgAgAygCAEGk4gFqKAIAajYCACADKAIAQbTiAWogGigCADYCAAsgAygCAEGc4gFqQQI2AgALIBEgAygCABDRBTYCACARKAIARQRAIAMoAgBBnOIBakEANgIAIAFBADYCAAwDCyALKAIAIAIoAgBrIBEoAgBJBEAgAigCACALKAIARgRAIAFBADYCAAwEBSADKAIAQZziAWpBAzYCAAwCCwALICMgAygCABDnBTYCACASIAMoAgAiDiADKAIAQbDiAWooAgAgAygCAEG44gFqKAIAaiAjKAIABH9BAAUgAygCAEG04gFqKAIAIAMoAgBBuOIBaigCAGsLIgYgAigCACARKAIAENMFNgIAIBIoAgAQzQEEQEHGACEBDAQLIAIgAigCACARKAIAajYCACASKAIAICMoAgByBEAgAygCAEG84gFqIAMoAgBBuOIBaigCACASKAIAajYCACADKAIAQZziAWpBBDYCAAsMAgsgJCADKAIAENEFNgIAIBMgJCgCACADKAIAQajiAWooAgBrNgIAICUgAygCABDnBTYCACATKAIAIQYgJSgCAARAIBQgBiALKAIAIAIoAgBrSQR/IBMoAgAFIAsoAgAgAigCAGsLIgY2AgAFIAYgAygCAEGk4gFqKAIAIAMoAgBBqOIBaigCAGtLBEBB0gAhAQwECyAUIAMoAgBBoOIBaigCACADKAIAQajiAWooAgBqIBMoAgAgAigCACALKAIAIAIoAgBrEOgFNgIACyACIAIoAgAgFCgCAGo2AgAgAygCAEGo4gFqIgYgBigCACAUKAIAajYCACAUKAIAIBMoAgBJBEAgAUEANgIADAILIBUgAygCACADKAIAQbDiAWooAgAgAygCAEG44gFqKAIAaiADKAIAQbTiAWooAgAgAygCAEG44gFqKAIAayADKAIAQaDiAWooAgAgJCgCABDTBTYCACAVKAIAEM0BBEBB1wAhAQwDCyADKAIAQajiAWpBADYCACADKAIAIQYgFSgCACAlKAIAcgRAIAMoAgBBvOIBaiAGQbjiAWooAgAgFSgCAGo2AgAgAygCAEGc4gFqQQQ2AgAMAQUgBkGc4gFqQQI2AgALDAELICYgAygCAEG84gFqKAIAIAMoAgBBuOIBaigCAGs2AgAgGyAIKAIAIBwoAgAgCCgCAGsgAygCAEGw4gFqKAIAIAMoAgBBuOIBaigCAGogJigCABDoBTYCACAIIAgoAgAgGygCAGo2AgAgAygCAEG44gFqIgYgBigCACAbKAIAajYCACAbKAIAICYoAgBHBEAgAUEANgIADAELIAMoAgBBnOIBakECNgIAIAMoAgBBtOIBaigCAK0gAygCAEHQ4AFqKQMAVARAIAMoAgBBuOIBaigCACADKAIAQeDgAWooAgBqIAMoAgBBtOIBaigCAEsEQCADKAIAQbziAWpBADYCACADKAIAQbjiAWpBADYCAAsLCwwBCwsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEKaw5ZAA4ODg4OAQ4ODg4ODg4ODg4ODg4OAg4ODg4ODg4OAw4OBA4ODgUODg4OBg4ODg4ODgcOCA4ODg4ODg4OCQ4ODg4ODg4ODg4OCg4ODg4LDg4ODg4ODg4MDg0OCyAqQYziAWooAgAEQCAFQUA2AgAgBSgCACEAIAQkBSAADwsgHSADKAIAQcTiAWooAgAgAygCAEHM4gFqKAIAIAkoAgAgBygCABDlBTYCACAdKAIARQRAIAMoAgBBnOIBakEANgIACyAFIB0oAgA2AgAgBSgCACEAIAQkBSAADwsgDyAKKAIAIAsoAgAgCigCAGsQ9AM2AgAgDygCAEUEQCAFIAwoAgA2AgAgBSgCACEAIAQkBSAADwsgKCADKAIAQZjiAWooAgAEfyADKAIAQZjiAWooAgAoAgQFQQALIgA2AgAgKSADKAIAQZjiAWooAgAEfyADKAIAQZjiAWooAgAoAggFQQALIgA2AgAgAygCAEGM4gFqKAIABEAgBUFANgIAIAUoAgAhACAEJAUgAA8LIB4gAygCAEHE4gFqIAMoAgBByOIBaigCACAPKAIAICgoAgAgKSgCABDmBTYCACAeKAIAEM0BBEAgBSAeKAIANgIAIAUoAgAhACAEJAUgAA8LIAMoAgBByOIBaiAPKAIAIgA2AgAgAygCAEHM4gFqIAA2AgAgHyADKAIAQcTiAWooAgAgDygCACAJKAIAIAcoAgAQ5QU2AgAgHygCAEUEQCADKAIAQZziAWpBADYCAAsgBSAfKAIANgIAIAUoAgAhACAEJAUgAA8LIBAoAgBBAEsEQCADKAIAQdziCWogAygCAEHA4gFqKAIAaiACKAIAIBAoAgAQ9AcaIAMoAgBBwOIBaiIAIAAoAgAgECgCAGo2AgALIAcoAgAgBygCACgCBDYCCCAMKAIAIQAgBUEGIAwoAgBLBH9BBgUgAAsgAygCAEHA4gFqKAIAa0EDajYCACAFKAIAIQAgBCQFIAAPCyAFIBgoAgA2AgAgBSgCACEAIAQkBSAADwsgBSAgKAIANgIAIAUoAgAhACAEJAUgAA8LIAUgISgCADYCACAFKAIAIQAgBCQFIAAPCyAFQXA2AgAgBSgCACEAIAQkBSAADwsgBUFANgIAIAUoAgAhACAEJAUgAA8LIAVBQDYCACAFKAIAIQAgBCQFIAAPCyAFIBIoAgA2AgAgBSgCACEAIAQkBSAADwsgBUFsNgIAIAUoAgAhACAEJAUgAA8LIAUgFSgCADYCACAFKAIAIQAgBCQFIAAPCyAFQX82AgAgBSgCACEAIAQkBSAADwsgBygCAEEIaiIBIAEoAgAgAigCACAKKAIAa2o2AgAgCSgCAEEIaiIBIAEoAgAgCCgCACAnKAIAa2o2AgAgACADKAIAENEFNgIAIAMoAgAhASAAKAIABEAgARDSBUECRkEDbCEBIAAgACgCACABajYCACAAIAAoAgAgAygCAEGo4gFqKAIAazYCACAFIAAoAgA2AgAgBSgCACEAIAQkBSAADwsgAygCAEHQ4gFqKAIAQQBHIQAgAUG84gFqKAIAIAMoAgBBuOIBaigCAEcEQCAARQRAIAcoAgBBCGoiACAAKAIAQX9qNgIAIAMoAgBB0OIBakEBNgIACyAFQQE2AgAgBSgCACEAIAQkBSAADwsCQCAABEAgBygCACgCCCAHKAIAKAIESQRAIAcoAgBBCGoiACAAKAIAQQFqNgIADAILIAMoAgBBnOIBakECNgIAIAVBATYCACAFKAIAIQAgBCQFIAAPCwsgBUEANgIAIAUoAgAhACAEJAUgAA8LQQALvggBHH8jBSEEIwVBgAFqJAUgBEHwAGohBiAEQdwAaiEQIARB2ABqIREgBEHUAGohCCAEQdAAaiESIARBzABqIQkgBEHIAGohEyAEQcQAaiEUIARBQGshFSAEQTxqIQogBEE4aiEWIARBNGohCyAEQTBqIRcgBEEsaiEYIARBKGohGSAEQSRqIQwgBEEgaiEaIARBHGohDSAEQRhqIRsgBEEUaiEcIARBEGohHSAEQQxqIQ4gBEEIaiEeIARBBGohDyAEIR8gBEHsAGoiByAANgIAIARB6ABqIgAgATYCACAEQeQAaiIFIAI2AgAgBEHgAGoiASADNgIAAkACQAJAAkACQCAAKAIAQQRrDgQDAgEABAsgHCAHKAIANgIAIB0gASgCACgCACABKAIAKAIIajYCACAOIAEoAgAoAgQgASgCACgCCGs2AgAgHiAFKAIAKAIAIAUoAgAoAghqNgIAIA8gBSgCACgCBCAFKAIAKAIIazYCACAfIBwoAgAgHigCACAPIB0oAgAgDhD4BTYCACAFKAIAQQhqIgAgACgCACAPKAIAajYCACABKAIAQQhqIgAgACgCACAOKAIAajYCACAGIB8oAgA2AgAgBigCACEAIAQkBSAADwsgGCAHKAIANgIAIBkgASgCACgCACABKAIAKAIIajYCACAMIAEoAgAoAgQgASgCACgCCGs2AgAgGiAFKAIAKAIAIAUoAgAoAghqNgIAIA0gBSgCACgCBCAFKAIAKAIIazYCACAbIBgoAgAgGigCACANIBkoAgAgDBD3BTYCACAFKAIAQQhqIgAgACgCACANKAIAajYCACABKAIAQQhqIgAgACgCACAMKAIAajYCACAGIBsoAgA2AgAgBigCACEAIAQkBSAADwsgFCAHKAIANgIAIBUgASgCACgCACABKAIAKAIIajYCACAKIAEoAgAoAgQgASgCACgCCGs2AgAgFiAFKAIAKAIAIAUoAgAoAghqNgIAIAsgBSgCACgCBCAFKAIAKAIIazYCACAXIBQoAgAgFigCACALIBUoAgAgChD2BTYCACAFKAIAQQhqIgAgACgCACALKAIAajYCACABKAIAQQhqIgAgACgCACAKKAIAajYCACAGIBcoAgA2AgAgBigCACEAIAQkBSAADwsgECAHKAIANgIAIBEgASgCACgCACABKAIAKAIIajYCACAIIAEoAgAoAgQgASgCACgCCGs2AgAgEiAFKAIAKAIAIAUoAgAoAghqNgIAIAkgBSgCACgCBCAFKAIAKAIIazYCACATIBAoAgAgEigCACAJIBEoAgAgCBD1BTYCACAFKAIAQQhqIgAgACgCACAJKAIAajYCACABKAIAQQhqIgAgACgCACAIKAIAajYCACAGIBMoAgA2AgAgBigCACEAIAQkBSAADwsgBkF0NgIAIAYoAgAhACAEJAUgAAuRBQEGfyMFIQUjBUEwaiQFIAVBIGoiBiAANgIAIAVBHGoiByABNgIAIAVBGGoiCCACNgIAIAVBFGoiCSADNgIAIAVBEGoiAyAENgIAIAcoAgAgCCgCAEcEQCAGKAIAKAIAIAcoAgAQ7AMaCyAFQSRqIQEgBUEMaiECIAVBCGohBCAFQQRqIQogBSEAAkACQAJAAkACQCAIKAIAQQRrDgQDAgEABAsgACAHKAIAIAgoAgBHBH8Q7wUFIAYoAgAoAgALNgIAIAAoAgAEQCAAKAIAIAkoAgAgAygCABDwBRogBigCACAAKAIANgIAIAFBADYCACABKAIAIQAgBSQFIAAPBSABQUA2AgAgASgCACEAIAUkBSAADwsACyAKIAcoAgAgCCgCAEcEfxDtBQUgBigCACgCAAs2AgAgCigCAARAIAooAgAgCSgCACADKAIAEO4FGiAGKAIAIAooAgA2AgAgAUEANgIAIAEoAgAhACAFJAUgAA8FIAFBQDYCACABKAIAIQAgBSQFIAAPCwALIAQgBygCACAIKAIARwR/EOsFBSAGKAIAKAIACzYCACAEKAIABEAgBCgCACAJKAIAIAMoAgAQ7AUaIAYoAgAgBCgCADYCACABQQA2AgAgASgCACEAIAUkBSAADwUgAUFANgIAIAEoAgAhACAFJAUgAA8LAAsgAiAHKAIAIAgoAgBHBH8Q9AUFIAYoAgAoAgALNgIAIAIoAgAEQCACKAIAEOkFGiACKAIAIAkoAgAgAygCABDqBRogBigCACACKAIANgIAIAFBADYCACABKAIAIQAgBSQFIAAPBSABQUA2AgAgASgCACEAIAUkBSAADwsACyABQQA2AgAgASgCACEAIAUkBSAACy4BAX8jBSEBIwVBEGokBSABIAA2AgAgASgCAEGE4QFqKAIAQQdGIQAgASQFIAALhwEBBH8jBSEEIwVBIGokBSAEQRBqIgYgADYCACAEQQxqIgUgATYCACAEQQhqIgcgAjYCACAEQQRqIgEgAzYCACAFKAIAIQIgASgCACEDIAQiACAFKAIAIAEoAgBJBH8gAgUgAws2AgAgBigCACAHKAIAIAAoAgAQ9AcaIAAoAgAhACAEJAUgAAsmAQF/IwUhASMFQRBqJAUgASAANgIAIAEoAgAQ8wUhACABJAUgAAtIAQJ/IwUhAyMFQRBqJAUgA0EIaiIEIAA2AgAgA0EEaiIAIAE2AgAgAyACNgIAIAQoAgAgACgCACADKAIAEPIFIQAgAyQFIAALzAEBBH8jBSECIwVBEGokBSACQQRqIQMgAiIBQeAAEIYGNgIAIAEoAgAEfyABKAIAIgBCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0IANwMAIABCADcDSCAAQgA3A1AgAEIANwNYELAEIQAgASgCACAANgIAIAEoAgBBADYCUCADIAEoAgA2AgAgAygCACEBIAIkBSABBSADQQA2AgAgAygCACEBIAIkBSABCwt9AQJ/IwUhBCMFQRBqJAUgBEEIaiIDIAA2AgAgBEEEaiIAIAE2AgAgBCACNgIAIAMoAgBBATYCUCADKAIAQQA2AkggAygCAEEANgJEIAMoAgBBADYCOCADKAIAQQA2AkwgAygCACgCACAAKAIAIAQoAgAQhQUhACAEJAUgAAu+AQEEfyMFIQIjBUEQaiQFIAJBBGohAyACIgFB0AAQhgY2AgAgASgCAAR/IAEoAgAiAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABCADcDOCAAQUBrQgA3AwAgAEIANwNIELIEIQAgASgCACAANgIAIAEoAgBBADYCGCADIAEoAgA2AgAgAygCACEBIAIkBSABBSADQQA2AgAgAygCACEBIAIkBSABCwt9AQJ/IwUhBCMFQRBqJAUgBEEIaiIDIAA2AgAgBEEEaiIAIAE2AgAgBCACNgIAIAMoAgBBATYCGCADKAIAQQA2AjQgAygCAEEANgIwIAMoAgBBADYCJCADKAIAQQA2AkwgAygCACgCACAAKAIAIAQoAgAQ6gQhACAEJAUgAAs0AQJ/IwUhACMFQRBqJAUgAEGg5QApAgA3AgAgAEGo5QAoAgA2AgggABDxBSEBIAAkBSABC30BAn8jBSEEIwVBEGokBSAEQQhqIgMgADYCACAEQQRqIgAgATYCACAEIAI2AgAgAygCAEEBNgIgIAMoAgBBADYCPCADKAIAQQA2AjggAygCAEEANgIsIAMoAgBBADYCWCADKAIAKAIAIAAoAgAgBCgCABC2BCEAIAQkBSAAC5wDAQV/IwUhBCMFQSBqJAUgACgCAEUEQCAAKAIERQRAIABBoOUAKQIANwIAIABBqOUAKAIANgIICwsgBEEIaiEFIARBBGohAiAEIQMgACgCAARAIAAoAgQEQCADIAAoAghB6AAgACgCAEE/cUHIAGoRBwA2AgAgAygCAEUEQCACQQA2AgAgAigCACEAIAQkBSAADwsgAygCACIBQgA3AwAgAUIANwMIIAFCADcDECABQgA3AxggAUIANwMgIAFCADcDKCABQgA3AzAgAUIANwM4IAFBQGtCADcDACABQgA3A0ggAUIANwNQIAFCADcDWCABQgA3A2AgAygCAEHcAGoiASAAKQIANwIAIAEgACgCCDYCCCAFIAApAgA3AgAgBSAAKAIINgIIIAUQ5wQhACADKAIAIAA2AgAgAygCACEAIAMoAgAoAgAEQCAAQQA2AiAgAiADKAIANgIAIAIoAgAhACAEJAUgAA8FIAAQ8AMaIAJBADYCACACKAIAIQAgBCQFIAAPCwALCyACQQA2AgAgAigCACEAIAQkBSAAC04B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AAAAAAAAAGIEfyAARAAAAAAAAPBDoiABEKkGIQAgASgCAEFAagVBAAsiAjYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAAC6UCAAJ/IAAEfyABQYABSQRAIAAgAToAAEEBDAILQZDpACgCACgCAEUEQCABQYB/cUGAvwNGBEAgACABOgAAQQEMAwVByLUBQdQANgIAQX8MAwsACyABQYAQSQRAIAAgAUEGdkHAAXI6AAAgACABQT9xQYABcjoAAUECDAILIAFBgLADSSABQYBAcUGAwANGcgRAIAAgAUEMdkHgAXI6AAAgACABQQZ2QT9xQYABcjoAASAAIAFBP3FBgAFyOgACQQMMAgsgAUGAgHxqQYCAwABJBH8gACABQRJ2QfABcjoAACAAIAFBDHZBP3FBgAFyOgABIAAgAUEGdkE/cUGAAXI6AAIgACABQT9xQYABcjoAA0EEBUHItQFB1AA2AgBBfwsFQQELCwuTAQECfwJAAkACQANAIAJB8MUAai0AACAARg0BIAJBAWoiAkHXAEcNAAtB1wAhAgwBCyACDQBB0MYAIQAMAQtB0MYAIQADQCAAIQMDQCADQQFqIQAgAywAAARAIAAhAwwBCwsgAkF/aiICDQALCyABKAIUIgEEfyABKAIAIAEoAgQgABCZBgVBAAsiAQR/IAEFIAALC/MBAQR/AkACQCACQRBqIgQoAgAiAw0AIAIQrQYEf0EABSAEKAIAIQMMAQshAgwBCyADIAJBFGoiBSgCACIEayABSQRAIAIgACABIAIoAiRBH3FBiAFqEQUAIQIMAQsCfyACLABLQQBIIAFFcgR/QQAFIAEhAwNAIAAgA0F/aiIGaiwAAEEKRwRAIAYEQCAGIQMMAgVBAAwECwALCyACIAAgAyACKAIkQR9xQYgBahEFACICIANJDQIgACADaiEAIAEgA2shASAFKAIAIQQgAwsLIQIgBCAAIAEQ9AcaIAUgBSgCACABajYCACACIAFqIQILIAILawECfyAAQcoAaiICLAAAIQEgAiABQf8BaiABcjoAACAAKAIAIgFBCHEEfyAAIAFBIHI2AgBBfwUgAEEANgIIIABBADYCBCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQQQALIgALOwECfyAA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QXhqKAIAIQggCUH/AXEhCSACQWhqIAYEfyAMBSAHCyAGBH8gCAUgCQsQ4QYaIAAoAgBBaGoiACwAC0EASARAIAAoAgAhAAsgASAAIAQQ9AcaIAEgBGpBADoAAEEAIQALIAMEQCADIAA2AgALIAVBIGoQ4gYgBUEQahDjBiAFEN8GIApBgCBqQQA2AgAMAQsgAwR/IANBfTYCAEEABUEACyEBCyALJAUgAQuPAQECfyMFIQIjBUEQaiQFIAIgATYCACAAQQA2AgAgAEEANgIEIABBADYCCCAAIAIoAgA2AgwgAiABENsGIABBEGoiA0EANgIAIANBADYCBCADQQA2AgggAyACKAIANgIMIAIgATYCACAAQSBqIgBBADYCACAAQQA2AgQgAEEANgIIIAAgAigCADYCDCACJAULCQAgACABNgIAC9sBAQl/IwUhBSMFQSBqJAUgBUEUaiEGIAUhBEH/////ACIHIABBBGoiCCgCACAAKAIAa0EEdUEBaiIDSQRAECgFIAAoAgggACgCACIJayICQQR1IAdBAXZJIQogAkEDdSICIANPBEAgAiEDCyAAQQxqIQIgBCAKBH8gAwUgBwsgCCgCACAJa0EEdSACENwHIARBCGoiAygCACECIAYgARDbBiACQQA2AgAgAkEANgIEIAJBADYCCCACIAYoAgA2AgwgAyACQRBqNgIAIAAgBBDdByAEEN4HIAUkBQsLtgIBAX8CQCAAIAFJBEACQCAALAAAQd8ARgRAIAEgAGtBA0wEQCADQX42AgAMBAsCQAJAAkACQAJAIAAsAAFB2gBrDgYAAgICAgECCyAAQQJqIgQgASACEOwGIgAgBEYgACABRnJFBEAgACwAAEEuRgRAIAAgASACEO0GIQALCyAAIAFGDQUgA0F+NgIADAcLDAELDAELIAAsAAJB3wBGBEAgACwAA0HaAEYEQCAAQQRqIgQgASACEOwGIgAgBEYgACABRnIEQCADQX42AgAMBwsgACABIAIQ7gYgAUYNBCADQX42AgAMBgsLCyADQX42AgAMAwUgACABIAIQ7wYgAUcEQCADQX42AgAMBAsLCyADKAIARQRAIAIoAgAgAigCBEYEQCADQX42AgALCwUgA0F+NgIACwsLDwAgAEEMahDrBiAAEOsGC1IBA38gACgCACICBEAgAEEEaiIDKAIAIQED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aiEADAELCyADIAZBDGoiAEECEPwGQduZARCWBiECIAMoAgQhBSADLAALIg1B/wFxIQ4gAiANQQBIBH8gBQUgDgtGBEAgA0HbmQEgAhD9BkUhAiADEOsGIAIEQCAAEOQHCwUgAxDrBgsgBCAJEIAHIARBAEHbmQEQ8gYaIAogBCkCADcCACAKIAQoAgg2AghBACECA0AgAkEDRwRAIAQgAkECdGpBADYCACACQQFqIQIMAQsLIApBkpoBEPMGGiAIIAopAgA3AgAgCCAKKAIINgIIQQAhAgNAIAJBA0cEQCAKIAJBAnRqQQA2AgAgAkEBaiECDAELCyAALAALIgVBAEghAiAAKAIAIQ0gBigCECEOIAVB/wFxIQUgCCACBH8gDQUgAAsgAgR/IA4FIAULEOEGGiAMIAgpAgA3AgAgDCAIKAIINgIIQQAhAANAIABBA0cEQCAIIABBAnRqQQA2AgAgAEEBaiEADAELCyAHKAIAIgJBdGoiAEELaiIHLAAAQQBIBEAgACgCACEHIANBADoAACAHIAMQ6AYgAkF4akEANgIABSADQQA6AAAgACADEOgGIAdBADoAAAsgABCOByAAIAwpAgA3AgAgACAMKAIINgIIQQAhAANAIABBA0cEQCAMIABBAnRqQQA2AgAgAEEBaiEADAELCyAMEOsGIAgQ6wYgChDrBiAEEOsGIAkQ3gYgBhDeBiABIQALCwsLCwsLCyALJAUgAAtEAQF/IABBADYCACAAQQRqIgNBADYCACAAQQA2AgggACACKAIANgIMIAAQ4wcgAygCACABEPQGIAMgAygCAEEYajYCAAuSAgEIfyMFIQcjBUEgaiQFIAchBUH/////ACIIIABBBGoiCSgCACAAKAIAa0EEdUEBaiIDSQRAECgFIAAoAgggACgCACIEayICQQR1IAhBAXZJIQYgAkEDdSICIANPBEAgAiEDCyAAQQxqIQIgBSAGBH8gAwUgCAsgCSgCACAEa0EEdSACENwHIAVBCGoiBigCACIEQQA2AgAgBEEEaiICQQA2AgAgBEEIaiIDQQA2AgAgBCABKAIMNgIMIAQgASgCADYCACACIAFBBGoiAigCADYCACADIAFBCGoiAygCADYCACADQQA2AgAgAkEANgIAIAFBADYCACAGIARBEGo2AgAgACAFEN0HIAUQ4gcgByQFCwvrBgERfyMFIQojBUEgaiQFIApBDGohBCAKIQgCQCAAIAFHBEAgACwAAEHGAEYEQCAAQQFqIgMgAUcEQCADLAAAQdkARgRAIABBAmoiAyABRg0ECyADIAEgAhDvBiIFIANHBEAgBEIANwIAIARBADYCCCAEQeOZAUHjmQEQlgYQjAcgAkEEaiEGIARBC2ohDSAEQQRqIQ4gCEELaiERIAhBBGohEiAFIQMCQAJAAkADQAJAA0ACQCADIAFGDQQCfwJAAkACQAJAAkAgAywAAEHFAGsOMgAEBAQEBAQEBAQDBAQCBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBAsMCgsgA0EBagwDCyADQQFqIgUgAUYNASAFLAAAQcUARw0BQQEhDyAFIQMMAwsgA0EBaiIFIAFGDQAgBSwAAEHFAEcNAEECIQ8gBSEDDAILIAYoAgAgAigCAGtBGG0hBSADIAEgAhDvBiELIAYoAgAgAigCAGtBGG0hECALIANGIAsgAUZyDQMgBSEDA0AgAyAQSQRAIA4oAgAhByANLAAAIglB/wFxIQwgCUEASAR/IAcFIAwLQQFLBEAgBEHBmwEQ8wYaCyAIIAIoAgAgA0EYbGoQgAcgESwAACIJQQBIIQcgCCgCACEMIBIoAgAhEyAJQf8BcSEJIAQgBwR/IAwFIAgLIAcEfyATBSAJCxDhBhogCBDrBiADQQFqIQMMAQsLA38gBSAQSQR/IAYoAgAhB0EAIQMDQCADQX9HBEAgByADQX9qIgNBGGxqEN4GDAELCyAGIAdBaGo2AgAgBUEBaiEFDAEFIAsLCwshAwwBCwsMAQsLDAILIAYoAgAhAkEAIQEDQCABQX9HBEAgAiABQX9qIgFBGGxqEN4GDAELCyAGIAJBaGo2AgAMAQsgA0EBaiEBIARB4ZkBEPMGGgJAAkACQCAPQQFrDgIAAQILIARB9aQBEPMGGgwBCyAEQfikARDzBhoLIAIoAgAgBigCACICRwRAIAJBaGpBg5oBEPMGGiANLAAAIgJBAEghACAEKAIAIQMgDigCACEFIAJB/wFxIQIgBigCAEF0akEAIAAEfyADBSAECyAABH8gBQUgAgsQ4QcaIAQQ6wYgASEADAYLCyAEEOsGCwsLCwsgCiQFIAALwwsBDH8jBSEMIwVB8ABqJAUgDEHgAGohBSAMQcgAaiEJIAxBMGohDSAMQSRqIQMgDEEYaiEHIAxBDGohCCAMIQQgACABRwRAIAAsAABBzQBGBEAgAEEBaiIGIAEgAhDvBiILIAZHBEAgCyABIAIQ7wYiASALRwRAIAJBBGoiCygCACIGIAIoAgBrQRhtQQJPBEAgCSAGQWhqEIUHIAsoAgAhAkEAIQADQCAAQX9HBEAgAiAAQX9qIgBBGGxqEN4GDAELCyALIAJBaGo2AgAgDSACQVBqEIUHIAlBDGoiACgCACECAkAgACwAC0EASAR/IAIFIAALLAAAQShGBEAgCUHjmQEQ8wYaIAggCSkCADcCACAIIAkoAgg2AghBACECA0AgAkEDRwRAIAkgAkECdGpBADYCACACQQFqIQIMAQsLIAQgDRCAByAELAALIgZBAEghAiAEKAIAIQogBCgCBCEOIAZB/wFxIQYgCCACBH8gCgUgBAsgAgR/IA4FIAYLEOEGGiAHIAgpAgA3AgAgByAIKAIINgIIQQAhAgNAIAJBA0cEQCAIIAJBAnRqQQA2AgAgAkEBaiECDAELCyAHQfGkARDzBhogAyAHKQIANwIAIAMgBygCCDYCCEEAIQIDQCACQQNHBEAgByACQQJ0akEANgIAIAJBAWohAgwBCwsgCygCACIGQWhqIgJBC2oiCiwAAEEASARAIAIoAgAhCiAFQQA6AAAgCiAFEOgGIAZBbGpBADYCAAUgBUEAOgAAIAIgBRDoBiAKQQA6AAALIAIQjgcgAiADKQIANwIAIAIgAygCCDYCCEEAIQIDQCACQQNHBEAgAyACQQJ0akEANgIAIAJBAWohAgwBCwsgAxDrBiAHEOsGIAQQ6wYgCBDrBiAAQQBB4ZkBEPIGGiADIAApAgA3AgAgAyAAKAIINgIIQQAhAgNAIAJBA0cEQCAAIAJBAnRqQQA2AgAgAkEBaiECDAELCyALKAIAIgJBdGoiAEELaiIELAAAQQBIBEAgACgCACEEIAVBADoAACAEIAUQ6AYgAkF4akEANgIABSAFQQA6AAAgACAFEOgGIARBADoAAAsgABCOByAAIAMpAgA3AgAgACADKAIINgIIQQAhAANAIABBA0cEQCADIABBAnRqQQA2AgAgAEEBaiEADAELCyADEOsGBSAJQYOaARDzBhogCCAJKQIANwIAIAggCSgCCDYCCEEAIQIDQCACQQNHBEAgCSACQQJ0akEANgIAIAJBAWohAgwBCwsgBCANEIAHIAQsAAsiBkEASCECIAQoAgAhCiAEKAIEIQ4gBkH/AXEhBiAIIAIEfyAKBSAECyACBH8gDgUgBgsQ4QYaIAcgCCkCADcCACAHIAgoAgg2AghBACECA0AgAkEDRwRAIAggAkECdGpBADYCACACQQFqIQIMAQsLIAdB8aQBEPMGGiADIAcpAgA3AgAgAyAHKAIINgIIQQAhAgNAIAJBA0cEQCAHIAJBAnRqQQA2AgAgAkEBaiECDAELCyALKAIAIgZBaGoiAkELaiIKLAAAQQBIBEAgAigCACEKIAVBADoAACAKIAUQ6AYgBkFsakEANgIABSAFQQA6AAAgAiAFEOgGIApBADoAAAsgAhCOByACIAMpAgA3AgAgAiADKAIINgIIQQAhAgNAIAJBA0cEQCADIAJBAnRqQQA2AgAgAkEBaiECDAELCyADEOsGIAcQ6wYgBBDrBiAIEOsGIAsoAgAiBEF0aiICQQtqIgMsAABBAEgEQCACKAIAIQMgBUEAOgAAIAMgBRDoBiAEQXhqQQA2AgAFIAVBADoAACACIAUQ6AYgA0EAOgAACyACEI4HIAIgACkCADcCACACIAAoAgg2AghBACECA0AgAkEDRg0CIAAgAkECdGpBADYCACACQQFqIQIMAAsACwsgDRDeBiAJEN4GIAEhAAsLCwsLIAwkBSAAC1oBBH8gAEIANwIAIABBADYCCCABLAALIgNBAEghBSABKAIEIQQgASgCACEGIANB/wFxIQMgBUUEQCADIQQLIAAgBQR/IAYFIAELIAQgAkkEfyAEBSACCxCMBwtwAQN/IAAsAAsiA0EASCIEBH8gACgCBAUgA0H/AXELIQMgAkF/RgRAECgLIAQEQCAAKAIAIQALIAAhBCADIAJLIgAEfyACBSADCyIFBH8gBCABIAUQkwYFQQALIgEEfyABBSADIAJJBH9BfwUgAAsLC/AEAQd/IwUhCCMFQTBqJAUgCEEQaiEFIAghBAJAIAEgAGtBAUoEQCAALAAAQdQARgRAIAAsAAEiA0HfAEYEQCACKAIgIAIoAiQiAUYNAyABQXBqKAIAIgMgAUF0aigCAEYEQCAFEN8HIAJBBGoiASgCACIEIAIoAghJBEAgBCAFEIUHIAEgASgCAEEYajYCAAUgAiAFEIYHCyAFEN4GIAJBAToAPiAAQQJqIQAMBAsgAygCBCEFIAJBBGohBCACQQhqIQYgAygCACEBA0AgASAFRwRAIAQoAgAiAyAGKAIARgRAIAIgARD1BgUgAyABEPQGIAQgBCgCAEEYajYCAAsgAUEYaiEBDAELCyAAQQJqIQAMAwsgA0FQaiIDQQpJBEAgAEECaiEGA0AgBiABRg0EIAYsAAAiB0FQaiIJQQpJBEAgCSADQQpsaiEDIAZBAWohBgwBCwsgB0HfAEYEQCACKAIgIAIoAiQiAUcEQCADQQFqIgMgAUF0aigCACABQXBqKAIAIgdrQQR1TwRAIARCADcCACAEQQA2AgggBCAAIAZBAWoiABDBByAFIAQQgwcgAkEEaiIBKAIAIgMgAigCCEkEQCADIAUQhQcgASABKAIAQRhqNgIABSACIAUQhgcLIAUQ3gYgBBDrBiACQQE6AD4MBgsgByADQQR0aigCBCEEIAJBBGohASACQQhqIQUgByADQQR0aigCACEAA0AgACAERwRAIAEoAgAiAyAFKAIARgRAIAIgABD1BgUgAyAAEPQGIAEgASgCAEEYajYCAAsgAEEYaiEADAELCyAGQQFqIQALCwsLCwsgCCQFIAAL7wgBF38jBSENIwVBQGskBSANQSBqIQcgDUEQaiEFIA1BDGohECANIQ8CQCABIABrQQFKBEAgACwAAEHJAEYEQCACQSRqIQkgAkE9aiIRLAAABEAgCSgCACIGQXBqKAIAIQMgBkF0aiILKAIAIQYDQCAGIANHBEAgBkFwaiIGEN8GDAELCyALIAM2AgALIAVCADcCACAFQQA2AgggBUGFmgFBhZoBEJYGEIwHIAJBBGohDCACQQxqIRMgAkEoaiEWIAJBIGohFyAFQQtqIRQgBUEEaiEVIAdBC2ohGCAHQQRqIRkgAEEBaiEDAkACQANAIAMsAABBxQBHBEAgESwAAARAIBAgEygCADYCACAJKAIAIgYgFigCAEkEQCAHIBAQ2QcgBkEANgIAIAZBADYCBCAGQQA2AgggBiAHKAIANgIMIAkgCSgCAEEQajYCAAUgFyAQENoHCwsgDCgCACACKAIAa0EYbSEGIAMgASACENsHIQsgDCgCACACKAIAa0EYbSEOIBEsAAAEQCAJKAIAIQhBACEEA0AgBEF/RwRAIAggBEF/aiIEQQR0ahDjBgwBCwsgCSAIQXBqNgIACyALIANGIAsgAUZyDQICQCARLAAABEAgCSgCACEEIAcgEygCACIKNgIAIARBdGoiCCgCACIDIARBeGooAgBJBEAgA0EANgIAIANBADYCBCADQQA2AgggAyAKNgIMIAggCCgCAEEQajYCAAUgBEFwaiAHEPEGCyAGIQMDQCADIA5PDQIgAigCACADQRhsaiEEIAkoAgBBdGooAgAiCEF0aiIKKAIAIhIgCEF4aigCAEYEQCAIQXBqIAQQ9QYFIBIgBBD0BiAKIAooAgBBGGo2AgALIANBAWohAwwACwALCyAGIQMDQCADIA5JBEAgFSgCACEEIBQsAAAiCEH/AXEhCiAIQQBIBH8gBAUgCgtBAUsEQCAFQcGbARDzBhoLIAcgAigCACADQRhsahCAByAYLAAAIghBAEghBCAHKAIAIQogGSgCACESIAhB/wFxIQggBSAEBH8gCgUgBwsgBAR/IBIFIAgLEOEGGiAHEOsGIANBAWohAwwBCwsDQCAOIAZHBEAgDCgCACEEQQAhAwNAIANBf0cEQCAEIANBf2oiA0EYbGoQ3gYMAQsLIAwgBEFoajYCACAOQX9qIQ4MAQsLIAshAwwBCwsMAQsgBRDrBgwDCyAULAAAIgFBAEghACAFKAIAIQYgFSgCACELIAFB/wFxIQEgAAR/IAYFIAULIAAEfyALBSABC2pBf2osAABBPkYEfyAFQeikARDzBgUgBUGHmgEQ8wYLGiAPIAUpAgA3AgAgDyAFKAIINgIIQQAhAANAIABBA0cEQCAFIABBAnRqQQA2AgAgAEEBaiEADAELCyAHIA8QgwcgDCgCACIAIAIoAghJBEAgACAHEIUHIAwgDCgCAEEYajYCAAUgAiAHEIYHCyAHEN4GIA8Q6wYgBRDrBiADQQFqIQALCwsgDSQFIAALfgEFfyABQQxqIgMsAAsiAkEASCEEIAMoAgAhBSABKAIQIQYgAkH/AXEhAiABIAQEfyAFBSADCyAEBH8gBgUgAgsQ4QYaIAAgASkCADcCACAAIAEoAgg2AghBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLC7gDAQh/IwUhByMFQUBrJAUgB0EoaiEEIAdBEGohAyAHIQgCQCAAIAFHBEAgACwAAEFQaiIGQQpJBEAgAEEBaiIFIAFHBEADQCAFLAAAQVBqIglBCkkEQCAFQQFqIgUgAUYEQAwGBSAJIAZBCmxqIQYMAgsACwsgASAFayAGTwRAIARCADcCACAEQQA2AgggBCAFIAYQjAcgAyAEQQoQ/AZBx6QBEJYGIQAgAygCBCEBIAMsAAsiCUH/AXEhCiAAIAlBAEgEfyABBSAKC0YEfyADQcekASAAEP0GRQVBAAshACADEOsGIAAEQCADENgHIAJBBGoiACgCACIBIAIoAghJBEAgASADEIUHIAAgACgCAEEYajYCAAUgAiADEIYHCyADEN4GBSAIIAQpAgA3AgAgCCAEKAIINgIIQQAhAANAIABBA0cEQCAEIABBAnRqQQA2AgAgAEEBaiEADAELCyADIAgQgwcgAkEEaiIAKAIAIgEgAigCCEkEQCABIAMQhQcgACAAKAIAQRhqNgIABSACIAMQhgcLIAMQ3gYgCBDrBgsgBBDrBiAFIAZqIQALCwsLCyAHJAUgAAuMAQEEfyAAQgA3AgAgAEEANgIIA0AgA0EDRwRAIAAgA0ECdGpBADYCACADQQFqIQMMAQsLIAEoAgQhAyABQQtqIgYsAAAiBEH/AXEhBSAEQQBOBEAgBSEDCyACEJYGIQQgASgCACEFIAAgBiwAAEEASAR/IAUFIAELIAMgAyAEahCQByAAIAIgBBDhBhoLcQEBfyAAIAEpAgA3AgAgACABKAIINgIIA0AgAkEDRwRAIAEgAkECdGpBADYCACACQQFqIQIMAQsLIABBDGoiAUIANwIAIAFBADYCCEEAIQADQCAAQQNHBEAgASAAQQJ0akEANgIAIABBAWohAAwBCwsLoQIBBH8jBSEFIwVBEGokBSAFIQMgAEELaiICLAAAQQBIBEAgACgCACECIANBADoAACACIAMQ6AYgAEEANgIEBSADQQA6AAAgACADEOgGIAJBADoAAAsgABCOByAAIAEpAgA3AgAgACABKAIINgIIQQAhAgNAIAJBA0cEQCABIAJBAnRqQQA2AgAgAkEBaiECDAELCyAAQQxqIgRBC2oiAiwAAEEASARAIAQoAgAhAiADQQA6AAAgAiADEOgGIABBADYCEAUgA0EAOgAAIAQgAxDoBiACQQA6AAALIAQQjgcgBCABQQxqIgApAgA3AgAgBCAAKAIINgIIQQAhAQNAIAFBA0cEQCAAIAFBAnRqQQA2AgAgAUEBaiEBDAELCyAFJAULfAEBfyAAIAEpAgA3AgAgACABKAIINgIIA0AgAkEDRwRAIAEgAkECdGpBADYCACACQQFqIQIMAQsLIABBDGoiACABQQxqIgEpAgA3AgAgACABKAIINgIIQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwuzAQEIfyMFIQUjBUEgaiQFIAUhBEGq1arVACIGIABBBGoiBygCACAAKAIAa0EYbUEBaiIDSQRAECgFIAAoAgggACgCACIIa0EYbSICIAZBAXZJIQkgAkEBdCICIANPBEAgAiEDCyAAQQxqIQIgBCAJBH8gAwUgBgsgBygCACAIa0EYbSACEMgHIARBCGoiAigCACIDIAEQhQcgAiADQRhqNgIAIAAgBBDJByAEEMoHIAUkBQsLgwYBCH8jBSEHIwVBIGokBSAHQQhqIQQgByEGAkAgASAAa0EBSgRAIABBAWohAwJAAkACQCAALAAAQcwARgR/IAMFIAAiAwssAABBzgBrDg0AAgICAgICAgICAgIBAgsgAyABIAIQ0wciASADRwRAIAEhAAsMAwsgAyABIAIQ1AciASADRwRAIAEhAAsMAgsgAyABIAIQ1QciBSADRgRAIAMgASACEIgHIgUgA0YgBSABRnINAiAFLAAAQckARw0CIAUgASACEP8GIgEgBUYNAiACQQRqIgMoAgAiBSACKAIAa0EYbUECSQ0CIAQgBUFoahCAByADKAIAIQJBACEAA0AgAEF/RwRAIAIgAEF/aiIAQRhsahDeBgwBCwsgAyACQWhqNgIAIAQsAAsiA0EASCEAIAQoAgAhBSAEKAIEIQYgA0H/AXEhAyACQVBqIAAEfyAFBSAECyAABH8gBgUgAwsQ4QYaIAQQ6wYgASEADAILIAUgAUYEQCABIQAMAgsgBSwAAEHJAEcEQCAFIQAMAgsgAigCACACQQRqIggoAgAiA0YNASAGIAIoAgw2AgAgBCADQWhqIAYQ+AYgAkEUaiIGKAIAIgMgAigCGEkEQCADQQA2AgAgA0EEaiIJQQA2AgAgA0EIaiIKQQA2AgAgAyAEKAIMNgIMIAMgBCgCADYCACAJIARBBGoiAygCADYCACAKIARBCGoiCSgCADYCACAJQQA2AgAgA0EANgIAIARBADYCACAGIAYoAgBBEGo2AgAFIAJBEGogBBD5BgsgBBDfBiAFIAEgAhD/BiIBIAVGDQEgCCgCACIDIAIoAgBrQRhtQQJJDQEgBCADQWhqEIAHIAgoAgAhAkEAIQADQCAAQX9HBEAgAiAAQX9qIgBBGGxqEN4GDAELCyAIIAJBaGo2AgAgBCwACyIDQQBIIQAgBCgCACEFIAQoAgQhBiADQf8BcSEDIAJBUGogAAR/IAUFIAQLIAAEfyAGBSADCxDhBhogBBDrBiABIQALCyAHJAUgAAulBwEHfyMFIQgjBUEgaiQFIAghAwJAIAEgAGtBAUoEQCAALAAAQdMARgRAAkACQAJAAkACQAJAAkACQCAALAABIgRB3wBrDhUGBwABBwUHBwcHAwcHBwcHBAcHBwIHCyADQZGkARC7ByACQQRqIgEoAgAiBCACKAIISQRAIAQgAxCFByABIAEoAgBBGGo2AgAFIAIgAxCGBwsgAxDeBiAAQQJqIQAMCQsgA0GgpAEQuAcgAkEEaiIBKAIAIgQgAigCCEkEQCAEIAMQhQcgASABKAIAQRhqNgIABSACIAMQhgcLIAMQ3gYgAEECaiEADAgLIANBl6ABELoHIAJBBGoiASgCACIEIAIoAghJBEAgBCADEIUHIAEgASgCAEEYajYCAAUgAiADEIYHCyADEN4GIABBAmohAAwHCyADQfegARC8ByACQQRqIgEoAgAiBCACKAIISQRAIAQgAxCFByABIAEoAgBBGGo2AgAFIAIgAxCGBwsgAxDeBiAAQQJqIQAMBgsgA0HEoQEQvAcgAkEEaiIBKAIAIgQgAigCCEkEQCAEIAMQhQcgASABKAIAQRhqNgIABSACIAMQhgcLIAMQ3gYgAEECaiEADAULIANBkaIBENIHIAJBBGoiASgCACIEIAIoAghJBEAgBCADEIUHIAEgASgCAEEYajYCAAUgAiADEIYHCyADEN4GIABBAmohAAwECyACKAIQIgEgAigCFEYNAyABKAIEIQQgAkEEaiEDIAJBCGohBSABKAIAIQEDQCABIARHBEAgAygCACIGIAUoAgBGBEAgAiABEPUGBSAGIAEQ9AYgAyADKAIAQRhqNgIACyABQRhqIQEMAQsLIABBAmohAAwDCyAEQVBqIgNBCkkiBUUEQCAEELsGRQ0DCyAEQUlqIQYgAEECaiEEIAVFBEAgBiEDCwNAAkAgBCABRg0EIAQsAAAiBiIFQVBqIgdBCkkiCUUEQCAFELsGRQ0BCyADQSRsIQMgBUFJaiEFIARBAWohBCAJBH8gBwUgBQsgA2ohAwwBCwsgBkHfAEcNAiADQQFqIgMgAigCFCACKAIQIgVrQQR1Tw0CIAUgA0EEdGooAgQhBiACQQRqIQEgAkEIaiEHIAUgA0EEdGooAgAhAANAIAAgBkcEQCABKAIAIgMgBygCAEYEQCACIAAQ9QYFIAMgABD0BiABIAEoAgBBGGo2AgALIABBGGohAAwBCwsgBEEBaiEACwsLIAgkBSAAC4EDAQd/IwUhBSMFQUBrJAUgBUEoaiEHIAVBDGohBiAFQRhqIQMgBSEEAkAgASAAa0EDSgRAIAAsAABBxABGBEACQAJAAkAgACwAAUHUAGsOIQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAELDAELDAMLIABBAmoiCSABIAIQjQciCCAJRiAIIAFGckUEQCAILAAAQcUARgRAIAIoAgAgAkEEaiIBKAIAIgJHBEAgBCACQWhqEIAHIARBAEGHpAEQ8gYaIAMgBCkCADcCACADIAQoAgg2AghBACEAA0AgAEEDRwRAIAQgAEECdGpBADYCACAAQQFqIQAMAQsLIANB4ZkBEPMGGiAGIAMpAgA3AgAgBiADKAIINgIIQQAhAANAIABBA0cEQCADIABBAnRqQQA2AgAgAEEBaiEADAELCyAHIAYQgwcgASgCAEFoaiAHEIQHIAcQ3gYgBhDrBiADEOsGIAQQ6wYgCEEBaiEACwsLCwsLIAUkBSAAC9IJAQl/IwUhCiMFQUBrJAUgCkEoaiEGIApBDGohBCAKIgVBGGohBwJAIAEgAGtBA0oEQCAALAAAQcQARgRAIAAsAAFB9gBGBEAgAEECaiIDLAAAIghBT2pBGHRBGHVB/wFxQQlIBEAgAyABEIsHIgggAUYNBCAILAAAQd8ARw0EIAhBAWoiCSABRg0EIAggA2shCyAJLAAAQfAARwRAIAkgASACEO8GIgEgCUYNBSACKAIAIAJBBGoiAigCAEYNBSAFQgA3AgAgBUEANgIIIAUgAyALEIwHIAVBAEGJmgEQ8gYaIAQgBSkCADcCACAEIAUoAgg2AghBACEAA0AgAEEDRwRAIAUgAEECdGpBADYCACAAQQFqIQAMAQsLIARBkpoBEPMGGiAGIAQpAgA3AgAgBiAEKAIINgIIQQAhAANAIABBA0cEQCAEIABBAnRqQQA2AgAgAEEBaiEADAELCyAGLAALIgNBAEghACAGKAIAIQcgBigCBCEIIANB/wFxIQMgAigCAEFoaiAABH8gBwUgBgsgAAR/IAgFIAMLEOEGGiAGEOsGIAQQ6wYgBRDrBiABIQAMBQsgBUIANwIAIAVBADYCCCAFIAMgCxCMByAFQQBBlJoBEPIGGiAEIAUpAgA3AgAgBCAFKAIINgIIQQAhAANAIABBA0cEQCAFIABBAnRqQQA2AgAgAEEBaiEADAELCyAEQZKaARDzBhogByAEKQIANwIAIAcgBCgCCDYCCEEAIQADQCAAQQNHBEAgBCAAQQJ0akEANgIAIABBAWohAAwBCwsgBiAHEIMHIAJBBGoiACgCACIBIAIoAghJBEAgASAGEIUHIAAgACgCAEEYajYCAAUgAiAGEIYHCyAGEN4GIAcQ6wYgBBDrBiAFEOsGIAhBAmohAAwECyAEQgA3AgAgBEEANgIIQQAhBwNAIAdBA0cEQCAEIAdBAnRqQQA2AgAgB0EBaiEHDAELCwJAAkAgCEHfAEYNACADIAEgAhCNByIHIANGDQAgAigCACACQQRqIggoAgAiA0cEQCAFIANBaGoQgAcgBEELaiIDLAAAQQBIBEAgBCgCACEDIAZBADoAACADIAYQ6AYgBEEANgIEBSAGQQA6AAAgBCAGEOgGIANBADoAAAsgBBCOByAEIAUpAgA3AgAgBCAFKAIINgIIQQAhAwNAIANBA0cEQCAFIANBAnRqQQA2AgAgA0EBaiEDDAELCyAFEOsGIAgoAgAhCUEAIQMDQCADQX9HBEAgCSADQX9qIgNBGGxqEN4GDAELCyAIIAlBaGo2AgAgByEDDAELDAELIAMgAUcEQCADLAAAQd8ARgRAIANBAWoiAyABRwRAIAMgASACEO8GIgEgA0cEQCACKAIAIAJBBGoiAigCAEYNBCAFQYmaASAEEI8HIAVBkpoBEPMGGiAGIAUpAgA3AgAgBiAFKAIINgIIQQAhAANAIABBA0cEQCAFIABBAnRqQQA2AgAgAEEBaiEADAELCyAGLAALIgNBAEghACAGKAIAIQcgBigCBCEIIANB/wFxIQMgAigCAEFoaiAABH8gBwUgBgsgAAR/IAgFIAMLEOEGGiAGEOsGIAUQ6wYgASEACwsLCyAEEOsGDAQLIAQQ6wYLCwsLIAokBSAAC4MBAQJ/AkAgACABRwRAIABBAWohAiAALAAAQe4ARgR/IAIFIAAiAgsgAUcEQCACLAAAIgNBMEYEQCACQQFqIQAMAwsgA0FPakEYdEEYdUH/AXFBCUgEQCACIQADQCAAQQFqIgAgAUYEQCABIQAMBQsgACwAAEFQakEKSQ0ACwsLCwsgAAt1AQN/IwUhAyMFQRBqJAUgAkFvSwRAECgLIAJBC0kEQCAAIAI6AAsFIAAgAkEQakFwcSIEEIYGIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhDnBhogA0EAOgAAIAAgAmogAxDoBiADJAUL4zcBEX8jBSELIwVB0AFqJAUgC0GwAWohAyALQfAAaiEFIAtB2ABqIQYgC0FAayEHIAtBMGohCCALQaABaiEQIAtBJGohDCALQZQBaiERIAtBiAFqIRIgC0H8AGohEyALQRhqIQ0gC0EMaiEOIAshCQJAIAEiDyAAayIEQQFKBEAgBEEDSgRAIAAsAABB5wBGBEAgAEECaiEEIAAsAAFB8wBGIgpFBEAgACEECwUgACEECwUgACEECwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCwAAEExaw5EEhISEhISEhISExMTExMTExMTExMTExMTExMTABMTExMTExMBExMTExMTExMTExMTAxMEBQYCBxMIExMJCgsMDQ4PEBETCyAAIAEgAhCRByEADBQLIAAgASACEP4GIQAMEwsgACABIAIQkgchAAwSCwJAAkACQAJAAkACQAJAAkAgBCwAAUHOAGsOLQMHBwcHBAcHBwcHBwcHBwcHBwcABwcBBwcHBwcHBwcHAgcHBwcHBQcHBwcHBgcLIANCADcCACADQQA2AgggA0HlmQFB5ZkBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMGAsgA0IANwIAIANBADYCCCADQfeZAUH3mQEQlgYQjAcgAEECaiIEIAEgAyACEJQHIQEgAxDrBiABIARHBEAgASEACwwXCyADQgA3AgAgA0EANgIIIANB95kBQfeZARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDBYLIANCADcCACADQQA2AgggA0GimgFBopoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMFQsgA0IANwIAIANBADYCCCADQaWaAUGlmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwUCyAAIAEgAhCVByEADBMLIAAgASACEJYHIQAMEgsMEQsCQAJAAkACQAJAAkAgBCwAAUHjAGsOFAAFBQUFBQUFBQECBQMFBQUFBQUEBQsgACABIAIQlwchAAwVCyAAIAEgAhCYByEADBQLIANCADcCACADQQA2AgggA0GnmgFBp5oBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMEwsgA0IANwIAIANBADYCCCADQamaAUGpmgEQlgYQjAcgAEECaiIEIAEgAyACEJQHIQEgAxDrBiABIARHBEAgASEACwwSCyAAIAEgAhCZByEADBELDBALAkACQAJAAkACQAJAAkACQAJAAkAgBCwAAUHWAGsOIQgJCQkJCQkJCQkJAAkBCQIJCQkJCQkDCQQJCQkJBQYJBwkLIARBAmoiBCABIAIQjQciASAERg0YIAIoAgAgAkEEaiICKAIARg0YIAdCADcCACAHQQA2AggCQCAKBEAgB0GrmgFBq5oBEJYGEIwHBUEAIQADQCAAQQNGDQIgByAAQQJ0akEANgIAIABBAWohAAwACwALCyAHQa6aARDzBhogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgCCACKAIAQWhqEIAHIAgsAAsiBEEASCEAIAgoAgAhCSAIKAIEIQogBEH/AXEhBCAGIAAEfyAJBSAICyAABH8gCgUgBAsQ4QYaIAUgBikCADcCACAFIAYoAgg2AghBACEAA0AgAEEDRwRAIAYgAEECdGpBADYCACAAQQFqIQAMAQsLIAIoAgAiAkFoaiIAQQtqIgQsAABBAEgEQCAAKAIAIQQgA0EAOgAAIAQgAxDoBiACQWxqQQA2AgAFIANBADoAACAAIAMQ6AYgBEEAOgAACyAAEI4HIAAgBSkCADcCACAAIAUoAgg2AghBACEAA0AgAEEDRwRAIAUgAEECdGpBADYCACAAQQFqIQAMAQsLIAUQ6wYgCBDrBiAGEOsGIAcQ6wYgASEADBgLIAAgASACEJoHIQAMFwsgA0IANwIAIANBADYCCCADQfWZAUH1mQEQlgYQjAcgAEECaiIEIAEgAyACEJQHIQEgAxDrBiABIARHBEAgASEACwwWCyAEQQJqIgQgASACEI0HIgEgBEYNFSACKAIAIAJBBGoiAigCAEYNFSAHQgA3AgAgB0EANgIIAkAgCgRAIAdBq5oBQauaARCWBhCMBwVBACEAA0AgAEEDRg0CIAcgAEECdGpBADYCACAAQQFqIQAMAAsACwsgB0G4mgEQ8wYaIAYgBykCADcCACAGIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAggAigCAEFoahCAByAILAALIgRBAEghACAIKAIAIQkgCCgCBCEKIARB/wFxIQQgBiAABH8gCQUgCAsgAAR/IAoFIAQLEOEGGiAFIAYpAgA3AgAgBSAGKAIINgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyACKAIAIgJBaGoiAEELaiIELAAAQQBIBEAgACgCACEEIANBADoAACAEIAMQ6AYgAkFsakEANgIABSADQQA6AAAgACADEOgGIARBADoAAAsgABCOByAAIAUpAgA3AgAgACAFKAIINgIIQQAhAANAIABBA0cEQCAFIABBAnRqQQA2AgAgAEEBaiEADAELCyAFEOsGIAgQ6wYgBhDrBiAHEOsGIAEhAAwVCyAAIAEgAhCbByEADBQLIAAgASACEJwHIQAMEwsgACABIAIQnQchAAwSCyADQgA3AgAgA0EANgIIIANBwJoBQcCaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDBELIANCADcCACADQQA2AgggA0HCmgFBwpoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMEAsMDwsCQAJAAkACQCAELAABQc8Aaw4jAQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwIDCyADQgA3AgAgA0EANgIIIANBxZoBQcWaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDBELIANCADcCACADQQA2AgggA0HHmgFBx5oBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMEAsgA0IANwIAIANBADYCCCADQcqaAUHKmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwPCwwOCwJAAkACQCAELAABQeUAaw4QAAICAgICAgICAgICAgICAQILIANCADcCACADQQA2AgggA0HNmgFBzZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDwsgA0IANwIAIANBADYCCCADQYeaAUGHmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwOCwwNCyAELAABQfgARw0MIABBAmoiBCABIAIQjQciCSAERg0MIAJBBGohBCAJIAEgAhCNByIBIAlGBEAgBCgCACECQQAhAQNAIAFBf0cEQCACIAFBf2oiAUEYbGoQ3gYMAQsLIAQgAkFoajYCAAwNCyAEKAIAIgkgAigCAGtBGG1BAkkNDCADIAlBaGoQgAcgBCgCACECQQAhAANAIABBf0cEQCACIABBf2oiAEEYbGoQ3gYMAQsLIAQgAkFoajYCACAFIAJBUGoQgAcgDEHjmQEgBRCPByAMQdCaARDzBhogCCAMKQIANwIAIAggDCgCCDYCCEEAIQADQCAAQQNHBEAgDCAAQQJ0akEANgIAIABBAWohAAwBCwsgAywACyICQQBIIQAgAygCACEJIAMoAgQhCiACQf8BcSECIAggAAR/IAkFIAMLIAAEfyAKBSACCxDhBhogByAIKQIANwIAIAcgCCgCCDYCCEEAIQADQCAAQQNHBEAgCCAAQQJ0akEANgIAIABBAWohAAwBCwsgB0GSmgEQ8wYaIBAgBykCADcCACAQIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAYgEBCDByAEKAIAQWhqIAYQhAcgBhDeBiAQEOsGIAcQ6wYgCBDrBiAMEOsGIAUQ6wYgAxDrBiABIQAMDAsCQAJAAkACQAJAIAQsAAFB0wBrDiICBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAEDBAsgA0IANwIAIANBADYCCCADQdOaAUHTmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwPCyADQgA3AgAgA0EANgIIIANB1poBQdaaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDA4LIANCADcCACADQQA2AgggA0HZmgFB2ZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDQsgA0IANwIAIANBADYCCCADQYWaAUGFmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwMCwwLCwJAAkACQAJAAkACQCAELAABQckAaw4lAQUFAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQUCBAULIANCADcCACADQQA2AgggA0HdmgFB3ZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDwsgA0IANwIAIANBADYCCCADQd+aAUHfmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwOCyADQgA3AgAgA0EANgIIIANB9ZkBQfWZARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDA0LIANCADcCACADQQA2AgggA0HimgFB4poBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDAsgAEECaiIEIAFHBEAgBCwAAEHfAEYEQCADQgA3AgAgA0EANgIIIANB5ZoBQeWaARCWBhCMByAAQQNqIgQgASADIAIQlAchASADEOsGIAEgBEcEQCABIQALDA0LCyAEIAEgAhCNByIBIARGDQsgAigCACACQQRqIgIoAgAiBEYNCyAGIARBaGoQgAcgBkEAQeOZARDyBhogBSAGKQIANwIAIAUgBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgBUHomgEQ8wYaIBEgBSkCADcCACARIAUoAgg2AghBACEAA0AgAEEDRwRAIAUgAEECdGpBADYCACAAQQFqIQAMAQsLIAMgERCDByACKAIAQWhqIAMQhAcgAxDeBiAREOsGIAUQ6wYgBhDrBiABIQAMCwsMCgsCQAJAAkACQAJAAkAgBCwAAUHhAGsOGAAFBQUBBQIFBQUFBQUFBQUFBQUDBQUABAULIAAgASACEJ4HIQAMDgsgA0IANwIAIANBADYCCCADQeyaAUHsmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwNCyADQgA3AgAgA0EANgIIIANB3ZoBQd2aARCWBhCMByAAQQJqIgQgASADIAIQlAchASADEOsGIAEgBEcEQCABIQALDAwLIANCADcCACADQQA2AgggA0HvmgFB75oBEJYGEIwHIABBAmoiBCABIAMgAhCUByEBIAMQ6wYgASAERwRAIAEhAAsMCwsgAEECaiIEIAEgAhCfByIBIARHBEAgASEACwwKCwwJCwJAAkACQAJAAkAgBCwAAUHSAGsOIQMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAQQEAgQLIAAgASACEJsHIQAMDAsgA0IANwIAIANBADYCCCADQfGaAUHxmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwLCyADQgA3AgAgA0EANgIIIANB9JoBQfSaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDAoLIANCADcCACADQQA2AgggA0H2mgFB9poBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMCQsMCAsCQAJAAkACQAJAAkACQCAELAABQcwAaw4pAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYBAAYGAwYGBAUGCyADQgA3AgAgA0EANgIIIANB+ZoBQfmaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDA0LIANCADcCACADQQA2AgggA0H9mgFB/ZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDAsgA0IANwIAIANBADYCCCADQf+aAUH/mgEQlgYQjAcgAEECaiIEIAEg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BEAgACwAAEHMAEYEQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQQFqIgUsAABB1ABrDiYAFBQUFBQUFBQUFBMUBAIDERIQFAUICRQKCw4PFBQUBgcUFAEMDRQLDBYLIANCADcCACADQQA2AgggA0GLowFBi6MBEJYGEIwHIABBAmoiBCABIAMgAhDNByEBIAMQ6wYgASAERwRAIAEhAAsMFQsgACwAA0HFAEcNFAJAAkACQCAALAACQTBrDgIAAQILIANBk6MBEKkHIAJBBGoiBCgCACIBIAIoAghJBEAgASADEIUHIAQgBCgCAEEYajYCAAUgAiADEIYHCyADEN4GIABBBGohAAwWCyADQZmjARDOByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCFByAEIAQoAgBBGGo2AgAFIAIgAxCGBwsgAxDeBiAAQQRqIQAMFQsMFAsgA0IANwIAIANBADYCCCADQZ6jAUGeowEQlgYQjAcgAEECaiIEIAEgAyACEM0HIQEgAxDrBiABIARHBEAgASEACwwTCyADQgA3AgAgA0EANgIIIANBo6MBQaOjARCWBhCMByAAQQJqIgQgASADIAIQzQchASADEOsGIAEgBEcEQCABIQALDBILIANCADcCACADQQA2AgggA0GvowFBr6MBEJYGEIwHIABBAmoiBCABIAMgAhDNByEBIAMQ6wYgASAERwRAIAEhAAsMEQsgA0IANwIAIANBADYCCCADQb2jAUG9owEQlgYQjAcgAEECaiIEIAEgAyACEM0HIQEgAxDrBiABIARHBEAgASEACwwQCyADQgA3AgAgA0EANgIIIANBw6MBQcOjARCWBhCMByAAQQJqIgQgASADIAIQzQchASADEOsGIAEgBEcEQCABIQALDA8LIANCADcCACADQQA2AgggA0HstQFB7LUBEJYGEIwHIABBAmoiBCABIAMgAhDNByEBIAMQ6wYgASAERwRAIAEhAAsMDgsgA0IANwIAIANBADYCCCADQdKjAUHSowEQlgYQjAcgAEECaiIEIAEgAyACEM0HIQEgAxDrBiABIARHBEAgASEACwwNCyADQgA3AgAgA0EANgIIIANB1KMBQdSjARCWBhCMByAAQQJqIgQgASADIAIQzQchASADEOsGIAEgBEcEQCAB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QQA6AAAgACALEOgGIARBADoAAAsgABCOByAAIAkpAgA3AgAgACAJKAIINgIIQQAhAANAIABBA0cEQCAJIABBAnRqQQA2AgAgAEEBaiEADAELCyAJEOsGIAMQ6wYgBRDrBiAHEOsGIAgQ6wYgASEADAILAkACQCAEIAEQ7QciAyAERgR/IAAhAUEDBSADIAEgAhDsBiIBIANGBH8gACEBQQAFIAIoAgAgAigCBCICRgR/IAAhAUEBBSACQWhqIQIgACwAAkH2AEYEfyACQQBB4acBEPIGGkEABSACQQBB86cBEPIGGkEACwsLCyICQQNxDgQAAQEAAQsgASEADAILIAJFBEAgASEACwsLIAYkBSAACw8AIAAoAgAgACwABDoAAAvHAQECfwJAIAAgAUcEQAJAAkACQAJAIAAsAABB6ABrDg8AAgICAgICAgICAgICAgECCyAAQQFqIgMgARCLByICIANGIAIgAUZyDQQgAkEBaiEBIAIsAABB3wBGBH8gAQUgAAsPCwwBCwwCCyAAQQFqIgMgARCLByICIANGIAIgAUZyRQRAIAIsAABB3wBGBEAgAkEBaiIDIAEQiwciAiADRiACIAFGckUEQCACQQFqIQEgAiwAAEHfAEYEQCABIQALCwsLCwsgAAsZACAALAAAQQFGBH9BAAUgAEEBOgAAQQELC0sBAn8jBSEDIwVBEGokBSADIgQgAigCADYCACAAIAEgAyAAKAIAKAIQQR9xQYgBahEFACIABEAgAiAEKAIANgIACyADJAUgAEEBcQscACAABH8gAEHI3ABBgN0AQQAQygZBAEcFQQALCwMAAQsrACAAQf8BcUEYdCAAQQh1Qf8BcUEQdHIgAEEQdUH/AXFBCHRyIABBGHZyCx0BAX8gAWciA0EgRgRAIAMgAGdqIQMLQQAkCSADC8MDAQN/IAJBgMAATgRAIAAgASACECkPCyAAIQQgACACaiEDIABBA3EgAUEDcUYEQANAIABBA3EEQCACRQRAIAQPCyAAIAEsAAA6AAAgAEEBaiEAIAFBAWohASACQQFrIQIMAQsLIANBfHEiAkFAaiEFA0AgACAFTARAIAAgASgCADYCACAAIAEoAgQ2AgQgACABKAIINgIIIAAgASgCDDYCDCAAIAEoAhA2AhAgACABKAIUNgIUIAAgASgCGDYCGCAAIAEoAhw2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AAAFAAAAAwAAAEAAAAAHAAAAFwAAABcAAAAWAAAABwAAAAMAAACAAAAABwAAABkAAAAZAAAAFwAAAAcAAAADAAAAgAAAAAgAAAAaAAAAGgAAABgAAAAHAAAAAwAAAAABAAAIAAAAGwAAABsAAAAZAAAACQAAAAMAAAAAAgAACAAAABIAAAAMAAAADQAAAAEAAAAFAAAAAQAAAAEAAAASAAAADQAAAA4AAAABAAAABgAAAAEAAAABAAAAEgAAAA4AAAANAAAAAQAAAAUAAAAIAAAAAgAAABIAAAAQAAAADwAAAAEAAAAFAAAACAAAAAIAAAASAAAADwAAABEAAAABAAAABQAAAAgAAAADAAAAEgAAABAAAAARAAAABAAAAAUAAAAIAAAAAwAAABIAAAAQAAAAEQAAAAMAAAAFAAAACAAAAAQAAAASAAAAEQAAABEAAAAEAAAABAAAAAgAAAAEAAAAEgAAABEAAAARAAAABAAAAAQAAAAIAAAABQAAABIAAAARAAAAEQAAAAUAAAAEAAAACAAAAAUAAAASAAAAEQAAABEAAAAGAAAABAAAAAgAAAAFAAAAEgAAABIAAAARAAAABgAAAAQAAAAIAAAABQAAABIAAAASAAAAEQAAAAUAAAAEAAAACAAAAAYAAAASAAAAEwAAABEAAAAHAAAABAAAAAgAAAAGAAAAEgAAABIAAAASAAAABAAAAAQAAAAQAAAABwAAABIAAAASAAAAEgAAAAQAAAADAAAAEAAAAAcAAAASAAAAEwAAABIAAAAGAAAAAwAAACAAAAAHAAAAEgAAABMAAAASAAAACAAAAAMAAABAAAAABwAAABIAAAATAAAAEgAAAAkAAAADAAAAgAAAAAcAAAASAAAAEwAAABIAAAAKAAAAAwAAAAABAAAHAAAAEgAAABMAAAASAAAACwAAAAMAAAAAAgAACAAAABIAAAATAAAAEgAAAAwAAAADAAAAAAIAAAgAAAASAAAAEwAAABIAAAANAAAAAwAAAAACAAAIAAAAEQAAAAwAAAAMAAAAAQAAAAUAAAABAAAAAQAAABEAAAAMAAAADQAAAAEAAAAGAAAAAQAAAAEAAAARAAAADQAAABAAAAABAAAABQAAAAEAAAABAAAAEQAAABAAAAAQAAAAAgAAAAUAAAAIAAAAAgAAABEAAAANAAAADwAAAAMAAAAEAAAACAAAAAMAAAARAAAADwAAABEAAAAEAAAABAAAAAgAAAADAAAAEQAAABAAAAARAAAAAwAAAAQAAAAIAAAABAAAABEAAAAPAAAAEQAAAAQAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAEAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABQAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAYAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAHAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAACAAAAAQAAAAIAAAABQAAABEAAAASAAAAEQAAAAYAAAAEAAAACAAAAAYAAAARAAAAEQAAABEAAAAHAAAAAwAAAAgAAAAHAAAAEQAAABEAAAARAAAABwAAAAMAAAAQAAAABwAAABEAAAASAAAAEQAAAAcAAAADAAAAIAAAAAcAAAARAAAAEgAAABEAAAAHAAAAAwAAAEAAAAAHAAAAEQAAABIAAAARAAAABwAAAAMAAAAAAQAABwAAABEAAAASAAAAEQAAAAgAAAADAAAAAAEAAAcAAAARAAAAEgAAABEAAAAJAAAAAwAAAAABAAAIAAAAEQAAABIAAAARAAAACgAAAAMAAAAAAQAACAAAABEAAAASAAAAEQAAAAsAAAADAAAAAAIAAAgAAAAOAAAADAAAAA0AAAABAAAABQAAAAEAAAABAAAADgAAAA4AAAAOAAAAAQAAAAYAAAABAAAAAQAAAA4AAAAOAAAADgAAAAEAAAAEAAAAAQAAAAEAAAAOAAAADgAAAA4AAAABAAAABAAAAAYAAAACAAAADgAAAA4AAAAOAAAABAAAAAQAAAAGAAAAAwAAAA4AAAAOAAAADgAAAAMAAAAEAAAABgAAAAQAAAAOAAAADgAAAA4AAAAEAAAABAAAAAYAAAAFAAAADgAAAA4AAAAOAAAABQAAAAQAAAAGAAAABQAAAA4AAAAOAAAADgAAAAYAAAAEAAAABgAAAAUAAAAOAAAADwAAAA4AAAAGAAAABAAAAAYAAAAGAAAADgAAAA8AAAAOAAAAAwAAAAMAAAAGAAAABwAAAA4AAAAPAAAADgAAAAYAAAADAAAACAAAAAcAAAAOAAAADwAAAA4AAAAGAAAAAwAAABAAAAAHAAAADgAAAA8AAAAOAAAABgAAAAMAAAAYAAAABwAAAA4AAAAPAAAADwAAAAYAAAADAAAAMAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAAEAAAAAHAAAADgAAAA8AAAAPAAAABgAAAAMAAABgAAAABwAAAA4AAAAPAAAADwAAAAYAAAADAAAAgAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAAAABAAAHAAAADgAAAA8AAAAPAAAABwAAAAMAAAAAAQAABwAAAA4AAAAPAAAADwAAAAgAAAADAAAAAAEAAAgAAAAOAAAADwAAAA8AAAAJAAAAAwAAAAABAAAIAAAADgAAAA8AAAAPAAAACgAAAAMAAAAAAQAACAAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAEGxHwuHAgECAwQFBgcICQoLDA0ODxAQERESEhMTFBQUFBUVFRUWFhYWFhYWFhcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICAhISIiIyMkJCQkJSUlJSYmJiYmJiYmJycnJycnJycoKCgoKCgoKCgoKCgoKCgoKSkpKSkpKSkpKSkpKSkpKSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqBAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AEHAIQuqAQEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////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AAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQbAyC0gEAAMAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAMAAgABAAEAAQABAAEA//////////8AQYAzC6oBAQABAAEAAQABAAEAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA/////////////wAAAAAAAAEABAADAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA//////////////////8AQfA0C00BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEABBwDYLUQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEABBpDcLbQEAAAADAAAABwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8DAQAAAAEAQaQ4C88BAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAiAAAAJAAAACYAAAAoAAAALAAAADAAAAA4AAAAQAAAAFAAAABgAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAEGEOgvUAQEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAASAAAAFAAAABYAAAAYAAAAHAAAACAAAAAoAAAAMAAAAEAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEABAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AEHgOwvtAgEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////////////AAAAAAAACAAAAAgAAAAIAAAABwAAAAgAAAAJAAAACgAAAAsAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAEAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgEAAAABAAAAAQAAAAEAAAABAEHYPgsNAQAAAAEAAAACAAAAAgBB8D4LlQMBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAQAAAAIAAAADAAAABAAAAAcAAAAIAAAADwAAABAAAAAfAAAAIAAAAD8AAABAAAAAfwAAAIAAQZDCAAsYEQAKABEREQAAAAAFAAAAAAAACQAAAAALAEGwwgALIREADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQBB4cIACwELAEHqwgALGBEACgoREREACgAAAgAJCwAAAAkACwAACwBBm8MACwEMAEGnwwALFQwAAAAADAAAAAAJDAAAAAAADAAADABB1cMACwEOAEHhwwALFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBBj8QACwEQAEGbxAALHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBB0sQACw4SAAAAEhISAAAAAAAACQBBg8UACwELAEGPxQALFQoAAAAACgAAAAAJCwAAAAAACwAACwBBvcUACwEMAEHJxQALfgwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABB0MYAC/0cSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVk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AAAAAAAAAAMAAAAEAAAAAAAAAAUAAAAGAAAAAAAAANQyAAAFAEHg5QALAR0AQfjlAAsOAQAAAAIAAABIVAAAAAQAQZDmAAsBAQBBn+YACwUK/////wBB0OYACwnUMgAAWDMAAAUAQeTmAAsBHQBB/OYACwoDAAAAAgAAAOxaAEGU5wALAQIAQaPnAAsF//////8AQZDpAAsCsFoAQezpAAsBBABBk+oACwX//////wBByOoAC+09IC4AADIAAAAzAAAAHgAAAAEAAAAAAAAAOC4AADQAAAA1AAAANgAAADcAAAAFAAAAAQAAAAEAAAABAAAAAAAAAGAuAAA0AAAAOAAAADYAAAA3AAAABQAAAAIAAAACAAAAAgAAAAAAAACQLgAANAAAADkAAAA2AAAANwAAAAYAAAAAAAAAgC4AADQAAAA6AAAANgAAADcAAAAHAAAAAAAAABAvAAA0AAAAOwAAADYAAAA3AAAACAAAAAAAAAAgLwAANAAAADwAAAA2AAAANwAAAAUAAAADAAAAAwAAAAMAAABkdW1teQByYgBsZW5ndGgAYnVmZmVyAGNvbnN0cnVjdG9yAHNldABIRUFQVTgAVmVjdG9yVTgAY2xvbmVUb1ZlY3RvcgBjbG9uZUFzVHlwZWRBcnJheQB0b1R5cGVkQXJyYXlWaWV3AFpzdGRDb21wcmVzc2lvbkRpY3QAY3JlYXRlQ29tcHJlc3Npb25EaWN0AFpzdGREZWNvbXByZXNzaW9uRGljdABjcmVhdGVEZWNvbXByZXNzaW9uRGljdABac3RkQ29kZWMAY29tcHJlc3NCb3VuZABjb250ZW50U2l6ZQBjb21wcmVzcwBkZWNvbXByZXNzAGNvbXByZXNzVXNpbmdEaWN0AGRlY29tcHJlc3NVc2luZ0RpY3QAWnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBiZWdpbgBiZWdpblVzaW5nRGljdAB0cmFuc2Zvcm0AZmx1c2gAZW5kAFpzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8wTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UktOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFRUVFAFpOMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nOVRyYW5zZm9ybUVOMTBlbXNjcmlwdGVuM3ZhbEVTMV9FMyRfMABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzNFbmRFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzJOU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmczRW5kRU4xMGVtc2NyaXB0ZW4zdmFsRUUzJF8yAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8zTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAFpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVMxX0UzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc1Rmx1c2hFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzROU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNQBwdXNoX2JhY2sAcmVzaXplAHNpemUAZ2V0AE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJaE5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjIwX192ZWN0b3JfYmFzZV9jb21tb25JTGIxRUVFAFBOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQBQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkAaWlpaQBpaWlpaQAxOVpzdGRDb21wcmVzc2lvbkRpY3QAOFJlc291cmNlSTEyWlNURF9DRGljdF9zRQBQMTlac3RkQ29tcHJlc3Npb25EaWN0AFBLMTlac3RkQ29tcHJlc3Npb25EaWN0ADIxWnN0ZERlY29tcHJlc3Npb25EaWN0ADhSZXNvdXJjZUkxMlpTVERfRERpY3Rfc0UAUDIxWnN0ZERlY29tcHJlc3Npb25EaWN0AFBLMjFac3RkRGVjb21wcmVzc2lvbkRpY3QAOVpzdGRDb2RlYwBQOVpzdGRDb2RlYwBQSzlac3RkQ29kZWMAaWlpaWlpADI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBQMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nAFBLMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nADI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFAyN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBQSzI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFBGdlAxMVpTVERfQ0N0eF9zRQBGdlAxMVpTVERfQ0N0eF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTFaU1REX0NDdHhfc0VOU185YWxsb2NhdG9ySVM1X0VFUzRfRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZQMTFaU1REX0NDdHhfc0VFRQBQRnZQMTFaU1REX0RDdHhfc0UARnZQMTFaU1REX0RDdHhfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDExWlNURF9EQ3R4X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDExWlNURF9EQ3R4X3NFRUUAUEZ2UDEyWlNURF9DRGljdF9zRQBGdlAxMlpTVERfQ0RpY3Rfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDEyWlNURF9DRGljdF9zRU5TXzlhbGxvY2F0b3JJUzVfRUVTNF9FRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlAxMlpTVERfQ0RpY3Rfc0VFRQBQRnZQMTJaU1REX0REaWN0X3NFAEZ2UDEyWlNURF9ERGljdF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTJaU1REX0REaWN0X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDEyWlNURF9ERGljdF9zRUVFAFpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9DQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0NDdHhfc0VFRQBaTjE4WnN0ZENvbXByZXNzU3RyZWFtNUJlZ2luRVJLMTlac3RkQ29tcHJlc3Npb25EaWN0RTMkXzEATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4xOFpzdGRDb21wcmVzc1N0cmVhbTVCZWdpbkVSSzE5WnN0ZENvbXByZXNzaW9uRGljdEUzJF8xTlNfOWFsbG9jYXRvcklTNl9FRUZtUDExWlNURF9DQ3R4X3NFRUUAWk4yMFpzdGREZWNvbXByZXNzU3RyZWFtNUJlZ2luRXZFMyRfMgBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FdkUzJF8yTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9EQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0RDdHhfc0VFRQBaTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FUksyMVpzdGREZWNvbXByZXNzaW9uRGljdEUzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjBac3RkRGVjb21wcmVzc1N0cmVhbTVCZWdpbkVSSzIxWnN0ZERlY29tcHJlc3Npb25EaWN0RTMkXzNOU185YWxsb2NhdG9ySVM2X0VFRm1QMTFaU1REX0RDdHhfc0VFRQBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAHJ3YQBzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAIGNvbnN0ACB2b2xhdGlsZQAgcmVzdHJpY3QAIGNvbXBsZXgAIGltYWdpbmFyeQAgWwAgKAApACgAJiYAb2JqY19vYmplY3Q8ACoAJgBvYmpjcHJvdG8AIAA8AD4AIHZlY3RvclsAXQBwaXhlbCB2ZWN0b3JbACY9AD0ALAB+ADo6AGRlbGV0ZVtdIABkZWxldGUgAC8ALz0AXgBePQA9PQA+PQApWwA8PQA8PAA8PD0ALQAtPQAqPQAtLQApLS0AIT0AIQB8fAB8AHw9AC0+KgArACs9ACsrACkrKwApID8gKAApIDogKAAlACU9AD4+AD4+PQB0aHJvdwB0aHJvdyAAdHlwZWlkKABzaXplb2YuLi4oACwgAHNpemVvZiAoAHN0YXRpY19jYXN0PAA+KAByZWludGVycHJldF9jYXN0PAAtPgBub2V4Y2VwdCAoAFtdIAApIAAuAC4qAHN0ZDo6AG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciAAb3BlcmF0b3IgZGVsZXRlW10Ab3BlcmF0b3IqAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yIiIgAG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3IgZGVsZXRlACd1bm5hbWVkACdsYW1iZGEnKABzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AGJhc2ljX3N0cmluZwBzdGQ6OmlzdHJlYW0Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJhc2ljX29zdHJlYW0Ac3RkOjppb3N0cmVhbQBzdGQ6OmJhc2ljX2lvc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pb3N0cmVhbQBkeW5hbWljX2Nhc3Q8ACkoAGNvbnN0X2Nhc3Q8AGFsaWdub2YgKABmcAB3Y2hhcl90AGZhbHNlAHRydWUAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AHUAbAB1bABsbAB1bGwAX19pbnQxMjgAdW5zaWduZWQgX19pbnQxMjgAJUxhTAAlYQAlYWYAZGVjbHR5cGUoAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nADo6c3RyaW5nIGxpdGVyYWwAc3RkAF9HTE9CQUxfX04AKGFub255bW91cyBuYW1lc3BhY2UpACA+AFRfAGlkADo6KgAgJgAgJiYAIFtdAHZvaWQAYm9vbABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBsb25nIGxvbmcAZmxvYXQAbG9uZyBkb3VibGUAX19mbG9hdDEyOAAuLi4AZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABhdXRvAHN0ZDo6bnVsbHB0cl90AGRvdWJsZQB1bnNpZ25lZCBsb25nIGxvbmcAX2Jsb2NrX2ludm9rZQBpbnZvY2F0aW9uIGZ1bmN0aW9uIGZvciBibG9jayBpbiAAdnRhYmxlIGZvciAAVlRUIGZvciAAdHlwZWluZm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdmlydHVhbCB0aHVuayB0byAAbm9uLXZpcnR1YWwgdGh1bmsgdG8gAGd1YXJkIHZhcmlhYmxlIGZvciAAcmVmZXJlbmNlIHRlbXBvcmFyeSBmb3Ig";
  1082. var asmjsCodeFile = "";
  1083. if (!isDataURI(wasmTextFile)) {
  1084. wasmTextFile = locateFile(wasmTextFile);
  1085. }
  1086. if (!isDataURI(wasmBinaryFile)) {
  1087. wasmBinaryFile = locateFile(wasmBinaryFile);
  1088. }
  1089. if (!isDataURI(asmjsCodeFile)) {
  1090. asmjsCodeFile = locateFile(asmjsCodeFile);
  1091. }
  1092. var wasmPageSize = 64 * 1024;
  1093. var info = {
  1094. global: null,
  1095. env: null,
  1096. asm2wasm: asm2wasmImports,
  1097. parent: Module,
  1098. };
  1099. var exports = null;
  1100. function mergeMemory(newBuffer) {
  1101. var oldBuffer = Module["buffer"];
  1102. if (newBuffer.byteLength < oldBuffer.byteLength) {
  1103. err(
  1104. "the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here"
  1105. );
  1106. }
  1107. var oldView = new Int8Array(oldBuffer);
  1108. var newView = new Int8Array(newBuffer);
  1109. newView.set(oldView);
  1110. updateGlobalBuffer(newBuffer);
  1111. updateGlobalBufferViews();
  1112. }
  1113. function fixImports(imports) {
  1114. return imports;
  1115. }
  1116. function getBinary() {
  1117. try {
  1118. if (Module["wasmBinary"]) {
  1119. return new Uint8Array(Module["wasmBinary"]);
  1120. }
  1121. var binary = tryParseAsDataURI(wasmBinaryFile);
  1122. if (binary) {
  1123. return binary;
  1124. }
  1125. if (Module["readBinary"]) {
  1126. return Module["readBinary"](wasmBinaryFile);
  1127. } else {
  1128. throw "both async and sync fetching of the wasm failed";
  1129. }
  1130. } catch (err) {
  1131. abort(err);
  1132. }
  1133. }
  1134. function getBinaryPromise() {
  1135. if (
  1136. !Module["wasmBinary"] &&
  1137. (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) &&
  1138. typeof fetch === "function"
  1139. ) {
  1140. return fetch(wasmBinaryFile, { credentials: "same-origin" })
  1141. .then(function (response) {
  1142. if (!response["ok"]) {
  1143. throw (
  1144. "failed to load wasm binary file at '" +
  1145. wasmBinaryFile +
  1146. "'"
  1147. );
  1148. }
  1149. return response["arrayBuffer"]();
  1150. })
  1151. .catch(function () {
  1152. return getBinary();
  1153. });
  1154. }
  1155. return new Promise(function (resolve, reject) {
  1156. resolve(getBinary());
  1157. });
  1158. }
  1159. function doNativeWasm(global, env, providedBuffer) {
  1160. if (
  1161. (typeof WebAssembly === "undefined"
  1162. ? "undefined"
  1163. : _typeof(WebAssembly)) !== "object"
  1164. ) {
  1165. err("no native wasm support detected");
  1166. return false;
  1167. }
  1168. if (!(Module["wasmMemory"] instanceof WebAssembly.Memory)) {
  1169. err("no native wasm Memory in use");
  1170. return false;
  1171. }
  1172. env["memory"] = Module["wasmMemory"];
  1173. info["global"] = { NaN: NaN, Infinity: Infinity };
  1174. info["global.Math"] = Math;
  1175. info["env"] = env;
  1176. function receiveInstance(instance, module) {
  1177. exports = instance.exports;
  1178. if (exports.memory) mergeMemory(exports.memory);
  1179. Module["asm"] = exports;
  1180. Module["usingWasm"] = true;
  1181. removeRunDependency("wasm-instantiate");
  1182. }
  1183. addRunDependency("wasm-instantiate");
  1184. if (Module["instantiateWasm"]) {
  1185. try {
  1186. return Module["instantiateWasm"](info, receiveInstance);
  1187. } catch (e) {
  1188. err(
  1189. "Module.instantiateWasm callback failed with error: " +
  1190. e
  1191. );
  1192. return false;
  1193. }
  1194. }
  1195. function receiveInstantiatedSource(output) {
  1196. receiveInstance(output["instance"], output["module"]);
  1197. }
  1198. function instantiateArrayBuffer(receiver) {
  1199. getBinaryPromise()
  1200. .then(function (binary) {
  1201. return WebAssembly.instantiate(binary, info);
  1202. })
  1203. .then(receiver)
  1204. .catch(function (reason) {
  1205. err("failed to asynchronously prepare wasm: " + reason);
  1206. abort(reason);
  1207. });
  1208. }
  1209. if (
  1210. !Module["wasmBinary"] &&
  1211. typeof WebAssembly.instantiateStreaming === "function" &&
  1212. !isDataURI(wasmBinaryFile) &&
  1213. typeof fetch === "function"
  1214. ) {
  1215. WebAssembly.instantiateStreaming(
  1216. fetch(wasmBinaryFile, { credentials: "same-origin" }),
  1217. info
  1218. )
  1219. .then(receiveInstantiatedSource)
  1220. .catch(function (reason) {
  1221. err("wasm streaming compile failed: " + reason);
  1222. err("falling back to ArrayBuffer instantiation");
  1223. instantiateArrayBuffer(receiveInstantiatedSource);
  1224. });
  1225. } else {
  1226. instantiateArrayBuffer(receiveInstantiatedSource);
  1227. }
  1228. return {};
  1229. }
  1230. Module["asmPreload"] = Module["asm"];
  1231. var asmjsReallocBuffer = Module["reallocBuffer"];
  1232. var wasmReallocBuffer = function wasmReallocBuffer(size) {
  1233. var PAGE_MULTIPLE = Module["usingWasm"]
  1234. ? WASM_PAGE_SIZE
  1235. : ASMJS_PAGE_SIZE;
  1236. size = alignUp(size, PAGE_MULTIPLE);
  1237. var old = Module["buffer"];
  1238. var oldSize = old.byteLength;
  1239. if (Module["usingWasm"]) {
  1240. try {
  1241. var result = Module["wasmMemory"].grow(
  1242. (size - oldSize) / wasmPageSize
  1243. );
  1244. if (result !== (-1 | 0)) {
  1245. return (Module["buffer"] = Module["wasmMemory"].buffer);
  1246. } else {
  1247. return null;
  1248. }
  1249. } catch (e) {
  1250. return null;
  1251. }
  1252. }
  1253. };
  1254. Module["reallocBuffer"] = function (size) {
  1255. if (finalMethod === "asmjs") {
  1256. return asmjsReallocBuffer(size);
  1257. } else {
  1258. return wasmReallocBuffer(size);
  1259. }
  1260. };
  1261. var finalMethod = "";
  1262. Module["asm"] = function (global, env, providedBuffer) {
  1263. env = fixImports(env);
  1264. if (!env["table"]) {
  1265. var TABLE_SIZE = Module["wasmTableSize"];
  1266. if (TABLE_SIZE === undefined) TABLE_SIZE = 1024;
  1267. var MAX_TABLE_SIZE = Module["wasmMaxTableSize"];
  1268. if (
  1269. (typeof WebAssembly === "undefined"
  1270. ? "undefined"
  1271. : _typeof(WebAssembly)) === "object" &&
  1272. typeof WebAssembly.Table === "function"
  1273. ) {
  1274. if (MAX_TABLE_SIZE !== undefined) {
  1275. env["table"] = new WebAssembly.Table({
  1276. initial: TABLE_SIZE,
  1277. maximum: MAX_TABLE_SIZE,
  1278. element: "anyfunc",
  1279. });
  1280. } else {
  1281. env["table"] = new WebAssembly.Table({
  1282. initial: TABLE_SIZE,
  1283. element: "anyfunc",
  1284. });
  1285. }
  1286. } else {
  1287. env["table"] = new Array(TABLE_SIZE);
  1288. }
  1289. Module["wasmTable"] = env["table"];
  1290. }
  1291. if (!env["memoryBase"]) {
  1292. env["memoryBase"] = Module["STATIC_BASE"];
  1293. }
  1294. if (!env["tableBase"]) {
  1295. env["tableBase"] = 0;
  1296. }
  1297. var exports;
  1298. exports = doNativeWasm(global, env, providedBuffer);
  1299. assert(exports, "no binaryen method succeeded.");
  1300. return exports;
  1301. };
  1302. }
  1303. integrateWasmJS();
  1304. STATIC_BASE = GLOBAL_BASE;
  1305. STATICTOP = STATIC_BASE + 23280;
  1306. __ATINIT__.push(
  1307. {
  1308. func: function func() {
  1309. __GLOBAL__sub_I_zstd_binding_cc();
  1310. },
  1311. },
  1312. {
  1313. func: function func() {
  1314. __GLOBAL__sub_I_bind_cpp();
  1315. },
  1316. }
  1317. );
  1318. var STATIC_BUMP = 23280;
  1319. Module["STATIC_BASE"] = STATIC_BASE;
  1320. Module["STATIC_BUMP"] = STATIC_BUMP;
  1321. var tempDoublePtr = STATICTOP;
  1322. STATICTOP += 16;
  1323. function ___cxa_allocate_exception(size) {
  1324. return _malloc(size);
  1325. }
  1326. function __ZSt18uncaught_exceptionv() {
  1327. return !!__ZSt18uncaught_exceptionv.uncaught_exception;
  1328. }
  1329. var EXCEPTIONS = {
  1330. last: 0,
  1331. caught: [],
  1332. infos: {},
  1333. deAdjust: function deAdjust(adjusted) {
  1334. if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
  1335. for (var key in EXCEPTIONS.infos) {
  1336. var ptr = +key;
  1337. var info = EXCEPTIONS.infos[ptr];
  1338. if (info.adjusted === adjusted) {
  1339. return ptr;
  1340. }
  1341. }
  1342. return adjusted;
  1343. },
  1344. addRef: function addRef(ptr) {
  1345. if (!ptr) return;
  1346. var info = EXCEPTIONS.infos[ptr];
  1347. info.refcount++;
  1348. },
  1349. decRef: function decRef(ptr) {
  1350. if (!ptr) return;
  1351. var info = EXCEPTIONS.infos[ptr];
  1352. assert(info.refcount > 0);
  1353. info.refcount--;
  1354. if (info.refcount === 0 && !info.rethrown) {
  1355. if (info.destructor) {
  1356. Module["dynCall_vi"](info.destructor, ptr);
  1357. }
  1358. delete EXCEPTIONS.infos[ptr];
  1359. ___cxa_free_exception(ptr);
  1360. }
  1361. },
  1362. clearRef: function clearRef(ptr) {
  1363. if (!ptr) return;
  1364. var info = EXCEPTIONS.infos[ptr];
  1365. info.refcount = 0;
  1366. },
  1367. };
  1368. function ___cxa_begin_catch(ptr) {
  1369. var info = EXCEPTIONS.infos[ptr];
  1370. if (info && !info.caught) {
  1371. info.caught = true;
  1372. __ZSt18uncaught_exceptionv.uncaught_exception--;
  1373. }
  1374. if (info) info.rethrown = false;
  1375. EXCEPTIONS.caught.push(ptr);
  1376. EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));
  1377. return ptr;
  1378. }
  1379. function ___resumeException(ptr) {
  1380. if (!EXCEPTIONS.last) {
  1381. EXCEPTIONS.last = ptr;
  1382. }
  1383. throw (
  1384. ptr +
  1385. " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
  1386. );
  1387. }
  1388. function ___cxa_find_matching_catch() {
  1389. var thrown = EXCEPTIONS.last;
  1390. if (!thrown) {
  1391. return (setTempRet0(0), 0) | 0;
  1392. }
  1393. var info = EXCEPTIONS.infos[thrown];
  1394. var throwntype = info.type;
  1395. if (!throwntype) {
  1396. return (setTempRet0(0), thrown) | 0;
  1397. }
  1398. var typeArray = Array.prototype.slice.call(arguments);
  1399. var pointer = Module["___cxa_is_pointer_type"](throwntype);
  1400. if (!___cxa_find_matching_catch.buffer)
  1401. ___cxa_find_matching_catch.buffer = _malloc(4);
  1402. HEAP32[___cxa_find_matching_catch.buffer >> 2] = thrown;
  1403. thrown = ___cxa_find_matching_catch.buffer;
  1404. for (var i = 0; i < typeArray.length; i++) {
  1405. if (
  1406. typeArray[i] &&
  1407. Module["___cxa_can_catch"](typeArray[i], throwntype, thrown)
  1408. ) {
  1409. thrown = HEAP32[thrown >> 2];
  1410. info.adjusted = thrown;
  1411. return (setTempRet0(typeArray[i]), thrown) | 0;
  1412. }
  1413. }
  1414. thrown = HEAP32[thrown >> 2];
  1415. return (setTempRet0(throwntype), thrown) | 0;
  1416. }
  1417. function ___cxa_throw(ptr, type, destructor) {
  1418. EXCEPTIONS.infos[ptr] = {
  1419. ptr: ptr,
  1420. adjusted: ptr,
  1421. type: type,
  1422. destructor: destructor,
  1423. refcount: 0,
  1424. caught: false,
  1425. rethrown: false,
  1426. };
  1427. EXCEPTIONS.last = ptr;
  1428. if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
  1429. __ZSt18uncaught_exceptionv.uncaught_exception = 1;
  1430. } else {
  1431. __ZSt18uncaught_exceptionv.uncaught_exception++;
  1432. }
  1433. throw (
  1434. ptr +
  1435. " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
  1436. );
  1437. }
  1438. function ___gxx_personality_v0() {}
  1439. function ___lock() {}
  1440. var ERRNO_CODES = {
  1441. EPERM: 1,
  1442. ENOENT: 2,
  1443. ESRCH: 3,
  1444. EINTR: 4,
  1445. EIO: 5,
  1446. ENXIO: 6,
  1447. E2BIG: 7,
  1448. ENOEXEC: 8,
  1449. EBADF: 9,
  1450. ECHILD: 10,
  1451. EAGAIN: 11,
  1452. EWOULDBLOCK: 11,
  1453. ENOMEM: 12,
  1454. EACCES: 13,
  1455. EFAULT: 14,
  1456. ENOTBLK: 15,
  1457. EBUSY: 16,
  1458. EEXIST: 17,
  1459. EXDEV: 18,
  1460. ENODEV: 19,
  1461. ENOTDIR: 20,
  1462. EISDIR: 21,
  1463. EINVAL: 22,
  1464. ENFILE: 23,
  1465. EMFILE: 24,
  1466. ENOTTY: 25,
  1467. ETXTBSY: 26,
  1468. EFBIG: 27,
  1469. ENOSPC: 28,
  1470. ESPIPE: 29,
  1471. EROFS: 30,
  1472. EMLINK: 31,
  1473. EPIPE: 32,
  1474. EDOM: 33,
  1475. ERANGE: 34,
  1476. ENOMSG: 42,
  1477. EIDRM: 43,
  1478. ECHRNG: 44,
  1479. EL2NSYNC: 45,
  1480. EL3HLT: 46,
  1481. EL3RST: 47,
  1482. ELNRNG: 48,
  1483. EUNATCH: 49,
  1484. ENOCSI: 50,
  1485. EL2HLT: 51,
  1486. EDEADLK: 35,
  1487. ENOLCK: 37,
  1488. EBADE: 52,
  1489. EBADR: 53,
  1490. EXFULL: 54,
  1491. ENOANO: 55,
  1492. EBADRQC: 56,
  1493. EBADSLT: 57,
  1494. EDEADLOCK: 35,
  1495. EBFONT: 59,
  1496. ENOSTR: 60,
  1497. ENODATA: 61,
  1498. ETIME: 62,
  1499. ENOSR: 63,
  1500. ENONET: 64,
  1501. ENOPKG: 65,
  1502. EREMOTE: 66,
  1503. ENOLINK: 67,
  1504. EADV: 68,
  1505. ESRMNT: 69,
  1506. ECOMM: 70,
  1507. EPROTO: 71,
  1508. EMULTIHOP: 72,
  1509. EDOTDOT: 73,
  1510. EBADMSG: 74,
  1511. ENOTUNIQ: 76,
  1512. EBADFD: 77,
  1513. EREMCHG: 78,
  1514. ELIBACC: 79,
  1515. ELIBBAD: 80,
  1516. ELIBSCN: 81,
  1517. ELIBMAX: 82,
  1518. ELIBEXEC: 83,
  1519. ENOSYS: 38,
  1520. ENOTEMPTY: 39,
  1521. ENAMETOOLONG: 36,
  1522. ELOOP: 40,
  1523. EOPNOTSUPP: 95,
  1524. EPFNOSUPPORT: 96,
  1525. ECONNRESET: 104,
  1526. ENOBUFS: 105,
  1527. EAFNOSUPPORT: 97,
  1528. EPROTOTYPE: 91,
  1529. ENOTSOCK: 88,
  1530. ENOPROTOOPT: 92,
  1531. ESHUTDOWN: 108,
  1532. ECONNREFUSED: 111,
  1533. EADDRINUSE: 98,
  1534. ECONNABORTED: 103,
  1535. ENETUNREACH: 101,
  1536. ENETDOWN: 100,
  1537. ETIMEDOUT: 110,
  1538. EHOSTDOWN: 112,
  1539. EHOSTUNREACH: 113,
  1540. EINPROGRESS: 115,
  1541. EALREADY: 114,
  1542. EDESTADDRREQ: 89,
  1543. EMSGSIZE: 90,
  1544. EPROTONOSUPPORT: 93,
  1545. ESOCKTNOSUPPORT: 94,
  1546. EADDRNOTAVAIL: 99,
  1547. ENETRESET: 102,
  1548. EISCONN: 106,
  1549. ENOTCONN: 107,
  1550. ETOOMANYREFS: 109,
  1551. EUSERS: 87,
  1552. EDQUOT: 122,
  1553. ESTALE: 116,
  1554. ENOTSUP: 95,
  1555. ENOMEDIUM: 123,
  1556. EILSEQ: 84,
  1557. EOVERFLOW: 75,
  1558. ECANCELED: 125,
  1559. ENOTRECOVERABLE: 131,
  1560. EOWNERDEAD: 130,
  1561. ESTRPIPE: 86,
  1562. };
  1563. var ERRNO_MESSAGES = {
  1564. 0: "Success",
  1565. 1: "Not super-user",
  1566. 2: "No such file or directory",
  1567. 3: "No such process",
  1568. 4: "Interrupted system call",
  1569. 5: "I/O error",
  1570. 6: "No such device or address",
  1571. 7: "Arg list too long",
  1572. 8: "Exec format error",
  1573. 9: "Bad file number",
  1574. 10: "No children",
  1575. 11: "No more processes",
  1576. 12: "Not enough core",
  1577. 13: "Permission denied",
  1578. 14: "Bad address",
  1579. 15: "Block device required",
  1580. 16: "Mount device busy",
  1581. 17: "File exists",
  1582. 18: "Cross-device link",
  1583. 19: "No such device",
  1584. 20: "Not a directory",
  1585. 21: "Is a directory",
  1586. 22: "Invalid argument",
  1587. 23: "Too many open files in system",
  1588. 24: "Too many open files",
  1589. 25: "Not a typewriter",
  1590. 26: "Text file busy",
  1591. 27: "File too large",
  1592. 28: "No space left on device",
  1593. 29: "Illegal seek",
  1594. 30: "Read only file system",
  1595. 31: "Too many links",
  1596. 32: "Broken pipe",
  1597. 33: "Math arg out of domain of func",
  1598. 34: "Math result not representable",
  1599. 35: "File locking deadlock error",
  1600. 36: "File or path name too long",
  1601. 37: "No record locks available",
  1602. 38: "Function not implemented",
  1603. 39: "Directory not empty",
  1604. 40: "Too many symbolic links",
  1605. 42: "No message of desired type",
  1606. 43: "Identifier removed",
  1607. 44: "Channel number out of range",
  1608. 45: "Level 2 not synchronized",
  1609. 46: "Level 3 halted",
  1610. 47: "Level 3 reset",
  1611. 48: "Link number out of range",
  1612. 49: "Protocol driver not attached",
  1613. 50: "No CSI structure available",
  1614. 51: "Level 2 halted",
  1615. 52: "Invalid exchange",
  1616. 53: "Invalid request descriptor",
  1617. 54: "Exchange full",
  1618. 55: "No anode",
  1619. 56: "Invalid request code",
  1620. 57: "Invalid slot",
  1621. 59: "Bad font file fmt",
  1622. 60: "Device not a stream",
  1623. 61: "No data (for no delay io)",
  1624. 62: "Timer expired",
  1625. 63: "Out of streams resources",
  1626. 64: "Machine is not on the network",
  1627. 65: "Package not installed",
  1628. 66: "The object is remote",
  1629. 67: "The link has been severed",
  1630. 68: "Advertise error",
  1631. 69: "Srmount error",
  1632. 70: "Communication error on send",
  1633. 71: "Protocol error",
  1634. 72: "Multihop attempted",
  1635. 73: "Cross mount point (not really error)",
  1636. 74: "Trying to read unreadable message",
  1637. 75: "Value too large for defined data type",
  1638. 76: "Given log. name not unique",
  1639. 77: "f.d. invalid for this operation",
  1640. 78: "Remote address changed",
  1641. 79: "Can access a needed shared lib",
  1642. 80: "Accessing a corrupted shared lib",
  1643. 81: ".lib section in a.out corrupted",
  1644. 82: "Attempting to link in too many libs",
  1645. 83: "Attempting to exec a shared library",
  1646. 84: "Illegal byte sequence",
  1647. 86: "Streams pipe error",
  1648. 87: "Too many users",
  1649. 88: "Socket operation on non-socket",
  1650. 89: "Destination address required",
  1651. 90: "Message too long",
  1652. 91: "Protocol wrong type for socket",
  1653. 92: "Protocol not available",
  1654. 93: "Unknown protocol",
  1655. 94: "Socket type not supported",
  1656. 95: "Not supported",
  1657. 96: "Protocol family not supported",
  1658. 97: "Address family not supported by protocol family",
  1659. 98: "Address already in use",
  1660. 99: "Address not available",
  1661. 100: "Network interface is not configured",
  1662. 101: "Network is unreachable",
  1663. 102: "Connection reset by network",
  1664. 103: "Connection aborted",
  1665. 104: "Connection reset by peer",
  1666. 105: "No buffer space available",
  1667. 106: "Socket is already connected",
  1668. 107: "Socket is not connected",
  1669. 108: "Can't send after socket shutdown",
  1670. 109: "Too many references",
  1671. 110: "Connection timed out",
  1672. 111: "Connection refused",
  1673. 112: "Host is down",
  1674. 113: "Host is unreachable",
  1675. 114: "Socket already connected",
  1676. 115: "Connection already in progress",
  1677. 116: "Stale file handle",
  1678. 122: "Quota exceeded",
  1679. 123: "No medium (in tape drive)",
  1680. 125: "Operation canceled",
  1681. 130: "Previous owner died",
  1682. 131: "State not recoverable",
  1683. };
  1684. function ___setErrNo(value) {
  1685. if (Module["___errno_location"])
  1686. HEAP32[Module["___errno_location"]() >> 2] = value;
  1687. return value;
  1688. }
  1689. var PATH = {
  1690. splitPath: function splitPath(filename) {
  1691. var splitPathRe =
  1692. /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  1693. return splitPathRe.exec(filename).slice(1);
  1694. },
  1695. normalizeArray: function normalizeArray(parts, allowAboveRoot) {
  1696. var up = 0;
  1697. for (var i = parts.length - 1; i >= 0; i--) {
  1698. var last = parts[i];
  1699. if (last === ".") {
  1700. parts.splice(i, 1);
  1701. } else if (last === "..") {
  1702. parts.splice(i, 1);
  1703. up++;
  1704. } else if (up) {
  1705. parts.splice(i, 1);
  1706. up--;
  1707. }
  1708. }
  1709. if (allowAboveRoot) {
  1710. for (; up; up--) {
  1711. parts.unshift("..");
  1712. }
  1713. }
  1714. return parts;
  1715. },
  1716. normalize: function normalize(path) {
  1717. var isAbsolute = path.charAt(0) === "/",
  1718. trailingSlash = path.substr(-1) === "/";
  1719. path = PATH.normalizeArray(
  1720. path.split("/").filter(function (p) {
  1721. return !!p;
  1722. }),
  1723. !isAbsolute
  1724. ).join("/");
  1725. if (!path && !isAbsolute) {
  1726. path = ".";
  1727. }
  1728. if (path && trailingSlash) {
  1729. path += "/";
  1730. }
  1731. return (isAbsolute ? "/" : "") + path;
  1732. },
  1733. dirname: function dirname(path) {
  1734. var result = PATH.splitPath(path),
  1735. root = result[0],
  1736. dir = result[1];
  1737. if (!root && !dir) {
  1738. return ".";
  1739. }
  1740. if (dir) {
  1741. dir = dir.substr(0, dir.length - 1);
  1742. }
  1743. return root + dir;
  1744. },
  1745. basename: function basename(path) {
  1746. if (path === "/") return "/";
  1747. var lastSlash = path.lastIndexOf("/");
  1748. if (lastSlash === -1) return path;
  1749. return path.substr(lastSlash + 1);
  1750. },
  1751. extname: function extname(path) {
  1752. return PATH.splitPath(path)[3];
  1753. },
  1754. join: function join() {
  1755. var paths = Array.prototype.slice.call(arguments, 0);
  1756. return PATH.normalize(paths.join("/"));
  1757. },
  1758. join2: function join2(l, r) {
  1759. return PATH.normalize(l + "/" + r);
  1760. },
  1761. resolve: function resolve() {
  1762. var resolvedPath = "",
  1763. resolvedAbsolute = false;
  1764. for (
  1765. var i = arguments.length - 1;
  1766. i >= -1 && !resolvedAbsolute;
  1767. i--
  1768. ) {
  1769. var path = i >= 0 ? arguments[i] : FS.cwd();
  1770. if (typeof path !== "string") {
  1771. throw new TypeError(
  1772. "Arguments to path.resolve must be strings"
  1773. );
  1774. } else if (!path) {
  1775. return "";
  1776. }
  1777. resolvedPath = path + "/" + resolvedPath;
  1778. resolvedAbsolute = path.charAt(0) === "/";
  1779. }
  1780. resolvedPath = PATH.normalizeArray(
  1781. resolvedPath.split("/").filter(function (p) {
  1782. return !!p;
  1783. }),
  1784. !resolvedAbsolute
  1785. ).join("/");
  1786. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  1787. },
  1788. relative: function relative(from, to) {
  1789. from = PATH.resolve(from).substr(1);
  1790. to = PATH.resolve(to).substr(1);
  1791. function trim(arr) {
  1792. var start = 0;
  1793. for (; start < arr.length; start++) {
  1794. if (arr[start] !== "") break;
  1795. }
  1796. var end = arr.length - 1;
  1797. for (; end >= 0; end--) {
  1798. if (arr[end] !== "") break;
  1799. }
  1800. if (start > end) return [];
  1801. return arr.slice(start, end - start + 1);
  1802. }
  1803. var fromParts = trim(from.split("/"));
  1804. var toParts = trim(to.split("/"));
  1805. var length = Math.min(fromParts.length, toParts.length);
  1806. var samePartsLength = length;
  1807. for (var i = 0; i < length; i++) {
  1808. if (fromParts[i] !== toParts[i]) {
  1809. samePartsLength = i;
  1810. break;
  1811. }
  1812. }
  1813. var outputParts = [];
  1814. for (var i = samePartsLength; i < fromParts.length; i++) {
  1815. outputParts.push("..");
  1816. }
  1817. outputParts = outputParts.concat(
  1818. toParts.slice(samePartsLength)
  1819. );
  1820. return outputParts.join("/");
  1821. },
  1822. };
  1823. var TTY = {
  1824. ttys: [],
  1825. init: function init() {},
  1826. shutdown: function shutdown() {},
  1827. register: function register(dev, ops) {
  1828. TTY.ttys[dev] = { input: [], output: [], ops: ops };
  1829. FS.registerDevice(dev, TTY.stream_ops);
  1830. },
  1831. stream_ops: {
  1832. open: function open(stream) {
  1833. var tty = TTY.ttys[stream.node.rdev];
  1834. if (!tty) {
  1835. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  1836. }
  1837. stream.tty = tty;
  1838. stream.seekable = false;
  1839. },
  1840. close: function close(stream) {
  1841. stream.tty.ops.flush(stream.tty);
  1842. },
  1843. flush: function flush(stream) {
  1844. stream.tty.ops.flush(stream.tty);
  1845. },
  1846. read: function read(stream, buffer, offset, length, pos) {
  1847. if (!stream.tty || !stream.tty.ops.get_char) {
  1848. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  1849. }
  1850. var bytesRead = 0;
  1851. for (var i = 0; i < length; i++) {
  1852. var result;
  1853. try {
  1854. result = stream.tty.ops.get_char(stream.tty);
  1855. } catch (e) {
  1856. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  1857. }
  1858. if (result === undefined && bytesRead === 0) {
  1859. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  1860. }
  1861. if (result === null || result === undefined) break;
  1862. bytesRead++;
  1863. buffer[offset + i] = result;
  1864. }
  1865. if (bytesRead) {
  1866. stream.node.timestamp = Date.now();
  1867. }
  1868. return bytesRead;
  1869. },
  1870. write: function write(stream, buffer, offset, length, pos) {
  1871. if (!stream.tty || !stream.tty.ops.put_char) {
  1872. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  1873. }
  1874. for (var i = 0; i < length; i++) {
  1875. try {
  1876. stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
  1877. } catch (e) {
  1878. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  1879. }
  1880. }
  1881. if (length) {
  1882. stream.node.timestamp = Date.now();
  1883. }
  1884. return i;
  1885. },
  1886. },
  1887. default_tty_ops: {
  1888. get_char: function get_char(tty) {
  1889. if (!tty.input.length) {
  1890. var result = null;
  1891. if (ENVIRONMENT_IS_NODE) {
  1892. var BUFSIZE = 256;
  1893. var buf = new Buffer(BUFSIZE);
  1894. var bytesRead = 0;
  1895. var isPosixPlatform = process.platform != "win32";
  1896. var fd = process.stdin.fd;
  1897. if (isPosixPlatform) {
  1898. var usingDevice = false;
  1899. try {
  1900. fd = fs.openSync("/dev/stdin", "r");
  1901. usingDevice = true;
  1902. } catch (e) {}
  1903. }
  1904. try {
  1905. bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
  1906. } catch (e) {
  1907. if (e.toString().indexOf("EOF") != -1) bytesRead = 0;
  1908. else throw e;
  1909. }
  1910. if (usingDevice) {
  1911. fs.closeSync(fd);
  1912. }
  1913. if (bytesRead > 0) {
  1914. result = buf.slice(0, bytesRead).toString("utf-8");
  1915. } else {
  1916. result = null;
  1917. }
  1918. } else if (
  1919. typeof window != "undefined" &&
  1920. typeof window.prompt == "function"
  1921. ) {
  1922. result = window.prompt("Input: ");
  1923. if (result !== null) {
  1924. result += "\n";
  1925. }
  1926. } else if (typeof readline == "function") {
  1927. result = readline();
  1928. if (result !== null) {
  1929. result += "\n";
  1930. }
  1931. }
  1932. if (!result) {
  1933. return null;
  1934. }
  1935. tty.input = intArrayFromString(result, true);
  1936. }
  1937. return tty.input.shift();
  1938. },
  1939. put_char: function put_char(tty, val) {
  1940. if (val === null || val === 10) {
  1941. out(UTF8ArrayToString(tty.output, 0));
  1942. tty.output = [];
  1943. } else {
  1944. if (val != 0) tty.output.push(val);
  1945. }
  1946. },
  1947. flush: function flush(tty) {
  1948. if (tty.output && tty.output.length > 0) {
  1949. out(UTF8ArrayToString(tty.output, 0));
  1950. tty.output = [];
  1951. }
  1952. },
  1953. },
  1954. default_tty1_ops: {
  1955. put_char: function put_char(tty, val) {
  1956. if (val === null || val === 10) {
  1957. err(UTF8ArrayToString(tty.output, 0));
  1958. tty.output = [];
  1959. } else {
  1960. if (val != 0) tty.output.push(val);
  1961. }
  1962. },
  1963. flush: function flush(tty) {
  1964. if (tty.output && tty.output.length > 0) {
  1965. err(UTF8ArrayToString(tty.output, 0));
  1966. tty.output = [];
  1967. }
  1968. },
  1969. },
  1970. };
  1971. var MEMFS = {
  1972. ops_table: null,
  1973. mount: function mount(_mount) {
  1974. return MEMFS.createNode(null, "/", 16384 | 511, 0);
  1975. },
  1976. createNode: function createNode(parent, name, mode, dev) {
  1977. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  1978. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  1979. }
  1980. if (!MEMFS.ops_table) {
  1981. MEMFS.ops_table = {
  1982. dir: {
  1983. node: {
  1984. getattr: MEMFS.node_ops.getattr,
  1985. setattr: MEMFS.node_ops.setattr,
  1986. lookup: MEMFS.node_ops.lookup,
  1987. mknod: MEMFS.node_ops.mknod,
  1988. rename: MEMFS.node_ops.rename,
  1989. unlink: MEMFS.node_ops.unlink,
  1990. rmdir: MEMFS.node_ops.rmdir,
  1991. readdir: MEMFS.node_ops.readdir,
  1992. symlink: MEMFS.node_ops.symlink,
  1993. },
  1994. stream: { llseek: MEMFS.stream_ops.llseek },
  1995. },
  1996. file: {
  1997. node: {
  1998. getattr: MEMFS.node_ops.getattr,
  1999. setattr: MEMFS.node_ops.setattr,
  2000. },
  2001. stream: {
  2002. llseek: MEMFS.stream_ops.llseek,
  2003. read: MEMFS.stream_ops.read,
  2004. write: MEMFS.stream_ops.write,
  2005. allocate: MEMFS.stream_ops.allocate,
  2006. mmap: MEMFS.stream_ops.mmap,
  2007. msync: MEMFS.stream_ops.msync,
  2008. },
  2009. },
  2010. link: {
  2011. node: {
  2012. getattr: MEMFS.node_ops.getattr,
  2013. setattr: MEMFS.node_ops.setattr,
  2014. readlink: MEMFS.node_ops.readlink,
  2015. },
  2016. stream: {},
  2017. },
  2018. chrdev: {
  2019. node: {
  2020. getattr: MEMFS.node_ops.getattr,
  2021. setattr: MEMFS.node_ops.setattr,
  2022. },
  2023. stream: FS.chrdev_stream_ops,
  2024. },
  2025. };
  2026. }
  2027. var node = FS.createNode(parent, name, mode, dev);
  2028. if (FS.isDir(node.mode)) {
  2029. node.node_ops = MEMFS.ops_table.dir.node;
  2030. node.stream_ops = MEMFS.ops_table.dir.stream;
  2031. node.contents = {};
  2032. } else if (FS.isFile(node.mode)) {
  2033. node.node_ops = MEMFS.ops_table.file.node;
  2034. node.stream_ops = MEMFS.ops_table.file.stream;
  2035. node.usedBytes = 0;
  2036. node.contents = null;
  2037. } else if (FS.isLink(node.mode)) {
  2038. node.node_ops = MEMFS.ops_table.link.node;
  2039. node.stream_ops = MEMFS.ops_table.link.stream;
  2040. } else if (FS.isChrdev(node.mode)) {
  2041. node.node_ops = MEMFS.ops_table.chrdev.node;
  2042. node.stream_ops = MEMFS.ops_table.chrdev.stream;
  2043. }
  2044. node.timestamp = Date.now();
  2045. if (parent) {
  2046. parent.contents[name] = node;
  2047. }
  2048. return node;
  2049. },
  2050. getFileDataAsRegularArray: function getFileDataAsRegularArray(
  2051. node
  2052. ) {
  2053. if (node.contents && node.contents.subarray) {
  2054. var arr = [];
  2055. for (var i = 0; i < node.usedBytes; ++i) {
  2056. arr.push(node.contents[i]);
  2057. }
  2058. return arr;
  2059. }
  2060. return node.contents;
  2061. },
  2062. getFileDataAsTypedArray: function getFileDataAsTypedArray(
  2063. node
  2064. ) {
  2065. if (!node.contents) return new Uint8Array();
  2066. if (node.contents.subarray)
  2067. return node.contents.subarray(0, node.usedBytes);
  2068. return new Uint8Array(node.contents);
  2069. },
  2070. expandFileStorage: function expandFileStorage(
  2071. node,
  2072. newCapacity
  2073. ) {
  2074. if (
  2075. node.contents &&
  2076. node.contents.subarray &&
  2077. newCapacity > node.contents.length
  2078. ) {
  2079. node.contents = MEMFS.getFileDataAsRegularArray(node);
  2080. node.usedBytes = node.contents.length;
  2081. }
  2082. if (!node.contents || node.contents.subarray) {
  2083. var prevCapacity = node.contents ? node.contents.length : 0;
  2084. if (prevCapacity >= newCapacity) return;
  2085. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  2086. newCapacity = Math.max(
  2087. newCapacity,
  2088. (prevCapacity *
  2089. (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) |
  2090. 0
  2091. );
  2092. if (prevCapacity != 0)
  2093. newCapacity = Math.max(newCapacity, 256);
  2094. var oldContents = node.contents;
  2095. node.contents = new Uint8Array(newCapacity);
  2096. if (node.usedBytes > 0)
  2097. node.contents.set(
  2098. oldContents.subarray(0, node.usedBytes),
  2099. 0
  2100. );
  2101. return;
  2102. }
  2103. if (!node.contents && newCapacity > 0) node.contents = [];
  2104. while (node.contents.length < newCapacity) {
  2105. node.contents.push(0);
  2106. }
  2107. },
  2108. resizeFileStorage: function resizeFileStorage(node, newSize) {
  2109. if (node.usedBytes == newSize) return;
  2110. if (newSize == 0) {
  2111. node.contents = null;
  2112. node.usedBytes = 0;
  2113. return;
  2114. }
  2115. if (!node.contents || node.contents.subarray) {
  2116. var oldContents = node.contents;
  2117. node.contents = new Uint8Array(new ArrayBuffer(newSize));
  2118. if (oldContents) {
  2119. node.contents.set(
  2120. oldContents.subarray(
  2121. 0,
  2122. Math.min(newSize, node.usedBytes)
  2123. )
  2124. );
  2125. }
  2126. node.usedBytes = newSize;
  2127. return;
  2128. }
  2129. if (!node.contents) node.contents = [];
  2130. if (node.contents.length > newSize)
  2131. node.contents.length = newSize;
  2132. else
  2133. while (node.contents.length < newSize) {
  2134. node.contents.push(0);
  2135. }
  2136. node.usedBytes = newSize;
  2137. },
  2138. node_ops: {
  2139. getattr: function getattr(node) {
  2140. var attr = {};
  2141. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  2142. attr.ino = node.id;
  2143. attr.mode = node.mode;
  2144. attr.nlink = 1;
  2145. attr.uid = 0;
  2146. attr.gid = 0;
  2147. attr.rdev = node.rdev;
  2148. if (FS.isDir(node.mode)) {
  2149. attr.size = 4096;
  2150. } else if (FS.isFile(node.mode)) {
  2151. attr.size = node.usedBytes;
  2152. } else if (FS.isLink(node.mode)) {
  2153. attr.size = node.link.length;
  2154. } else {
  2155. attr.size = 0;
  2156. }
  2157. attr.atime = new Date(node.timestamp);
  2158. attr.mtime = new Date(node.timestamp);
  2159. attr.ctime = new Date(node.timestamp);
  2160. attr.blksize = 4096;
  2161. attr.blocks = Math.ceil(attr.size / attr.blksize);
  2162. return attr;
  2163. },
  2164. setattr: function setattr(node, attr) {
  2165. if (attr.mode !== undefined) {
  2166. node.mode = attr.mode;
  2167. }
  2168. if (attr.timestamp !== undefined) {
  2169. node.timestamp = attr.timestamp;
  2170. }
  2171. if (attr.size !== undefined) {
  2172. MEMFS.resizeFileStorage(node, attr.size);
  2173. }
  2174. },
  2175. lookup: function lookup(parent, name) {
  2176. throw FS.genericErrors[ERRNO_CODES.ENOENT];
  2177. },
  2178. mknod: function mknod(parent, name, mode, dev) {
  2179. return MEMFS.createNode(parent, name, mode, dev);
  2180. },
  2181. rename: function rename(old_node, new_dir, new_name) {
  2182. if (FS.isDir(old_node.mode)) {
  2183. var new_node;
  2184. try {
  2185. new_node = FS.lookupNode(new_dir, new_name);
  2186. } catch (e) {}
  2187. if (new_node) {
  2188. for (var i in new_node.contents) {
  2189. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  2190. }
  2191. }
  2192. }
  2193. delete old_node.parent.contents[old_node.name];
  2194. old_node.name = new_name;
  2195. new_dir.contents[new_name] = old_node;
  2196. old_node.parent = new_dir;
  2197. },
  2198. unlink: function unlink(parent, name) {
  2199. delete parent.contents[name];
  2200. },
  2201. rmdir: function rmdir(parent, name) {
  2202. var node = FS.lookupNode(parent, name);
  2203. for (var i in node.contents) {
  2204. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  2205. }
  2206. delete parent.contents[name];
  2207. },
  2208. readdir: function readdir(node) {
  2209. var entries = [".", ".."];
  2210. for (var key in node.contents) {
  2211. if (!node.contents.hasOwnProperty(key)) {
  2212. continue;
  2213. }
  2214. entries.push(key);
  2215. }
  2216. return entries;
  2217. },
  2218. symlink: function symlink(parent, newname, oldpath) {
  2219. var node = MEMFS.createNode(
  2220. parent,
  2221. newname,
  2222. 511 | 40960,
  2223. 0
  2224. );
  2225. node.link = oldpath;
  2226. return node;
  2227. },
  2228. readlink: function readlink(node) {
  2229. if (!FS.isLink(node.mode)) {
  2230. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2231. }
  2232. return node.link;
  2233. },
  2234. },
  2235. stream_ops: {
  2236. read: function read(
  2237. stream,
  2238. buffer,
  2239. offset,
  2240. length,
  2241. position
  2242. ) {
  2243. var contents = stream.node.contents;
  2244. if (position >= stream.node.usedBytes) return 0;
  2245. var size = Math.min(
  2246. stream.node.usedBytes - position,
  2247. length
  2248. );
  2249. assert(size >= 0);
  2250. if (size > 8 && contents.subarray) {
  2251. buffer.set(
  2252. contents.subarray(position, position + size),
  2253. offset
  2254. );
  2255. } else {
  2256. for (var i = 0; i < size; i++) {
  2257. buffer[offset + i] = contents[position + i];
  2258. }
  2259. }
  2260. return size;
  2261. },
  2262. write: function write(
  2263. stream,
  2264. buffer,
  2265. offset,
  2266. length,
  2267. position,
  2268. canOwn
  2269. ) {
  2270. if (!length) return 0;
  2271. var node = stream.node;
  2272. node.timestamp = Date.now();
  2273. if (
  2274. buffer.subarray &&
  2275. (!node.contents || node.contents.subarray)
  2276. ) {
  2277. if (canOwn) {
  2278. node.contents = buffer.subarray(
  2279. offset,
  2280. offset + length
  2281. );
  2282. node.usedBytes = length;
  2283. return length;
  2284. } else if (node.usedBytes === 0 && position === 0) {
  2285. node.contents = new Uint8Array(
  2286. buffer.subarray(offset, offset + length)
  2287. );
  2288. node.usedBytes = length;
  2289. return length;
  2290. } else if (position + length <= node.usedBytes) {
  2291. node.contents.set(
  2292. buffer.subarray(offset, offset + length),
  2293. position
  2294. );
  2295. return length;
  2296. }
  2297. }
  2298. MEMFS.expandFileStorage(node, position + length);
  2299. if (node.contents.subarray && buffer.subarray)
  2300. node.contents.set(
  2301. buffer.subarray(offset, offset + length),
  2302. position
  2303. );
  2304. else {
  2305. for (var i = 0; i < length; i++) {
  2306. node.contents[position + i] = buffer[offset + i];
  2307. }
  2308. }
  2309. node.usedBytes = Math.max(
  2310. node.usedBytes,
  2311. position + length
  2312. );
  2313. return length;
  2314. },
  2315. llseek: function llseek(stream, offset, whence) {
  2316. var position = offset;
  2317. if (whence === 1) {
  2318. position += stream.position;
  2319. } else if (whence === 2) {
  2320. if (FS.isFile(stream.node.mode)) {
  2321. position += stream.node.usedBytes;
  2322. }
  2323. }
  2324. if (position < 0) {
  2325. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2326. }
  2327. return position;
  2328. },
  2329. allocate: function allocate(stream, offset, length) {
  2330. MEMFS.expandFileStorage(stream.node, offset + length);
  2331. stream.node.usedBytes = Math.max(
  2332. stream.node.usedBytes,
  2333. offset + length
  2334. );
  2335. },
  2336. mmap: function mmap(
  2337. stream,
  2338. buffer,
  2339. offset,
  2340. length,
  2341. position,
  2342. prot,
  2343. flags
  2344. ) {
  2345. if (!FS.isFile(stream.node.mode)) {
  2346. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  2347. }
  2348. var ptr;
  2349. var allocated;
  2350. var contents = stream.node.contents;
  2351. if (
  2352. !(flags & 2) &&
  2353. (contents.buffer === buffer ||
  2354. contents.buffer === buffer.buffer)
  2355. ) {
  2356. allocated = false;
  2357. ptr = contents.byteOffset;
  2358. } else {
  2359. if (
  2360. position > 0 ||
  2361. position + length < stream.node.usedBytes
  2362. ) {
  2363. if (contents.subarray) {
  2364. contents = contents.subarray(
  2365. position,
  2366. position + length
  2367. );
  2368. } else {
  2369. contents = Array.prototype.slice.call(
  2370. contents,
  2371. position,
  2372. position + length
  2373. );
  2374. }
  2375. }
  2376. allocated = true;
  2377. ptr = _malloc(length);
  2378. if (!ptr) {
  2379. throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
  2380. }
  2381. buffer.set(contents, ptr);
  2382. }
  2383. return { ptr: ptr, allocated: allocated };
  2384. },
  2385. msync: function msync(
  2386. stream,
  2387. buffer,
  2388. offset,
  2389. length,
  2390. mmapFlags
  2391. ) {
  2392. if (!FS.isFile(stream.node.mode)) {
  2393. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  2394. }
  2395. if (mmapFlags & 2) {
  2396. return 0;
  2397. }
  2398. var bytesWritten = MEMFS.stream_ops.write(
  2399. stream,
  2400. buffer,
  2401. 0,
  2402. length,
  2403. offset,
  2404. false
  2405. );
  2406. return 0;
  2407. },
  2408. },
  2409. };
  2410. var IDBFS = {
  2411. dbs: {},
  2412. indexedDB: (function (_indexedDB) {
  2413. function indexedDB() {
  2414. return _indexedDB.apply(this, arguments);
  2415. }
  2416. indexedDB.toString = function () {
  2417. return _indexedDB.toString();
  2418. };
  2419. return indexedDB;
  2420. })(function () {
  2421. if (typeof indexedDB !== "undefined") return indexedDB;
  2422. var ret = null;
  2423. if (
  2424. (typeof window === "undefined"
  2425. ? "undefined"
  2426. : _typeof(window)) === "object"
  2427. )
  2428. ret =
  2429. window.indexedDB ||
  2430. window.mozIndexedDB ||
  2431. window.webkitIndexedDB ||
  2432. window.msIndexedDB;
  2433. assert(ret, "IDBFS used, but indexedDB not supported");
  2434. return ret;
  2435. }),
  2436. DB_VERSION: 21,
  2437. DB_STORE_NAME: "FILE_DATA",
  2438. mount: function mount(_mount2) {
  2439. return MEMFS.mount.apply(null, arguments);
  2440. },
  2441. syncfs: function syncfs(mount, populate, callback) {
  2442. IDBFS.getLocalSet(mount, function (err, local) {
  2443. if (err) return callback(err);
  2444. IDBFS.getRemoteSet(mount, function (err, remote) {
  2445. if (err) return callback(err);
  2446. var src = populate ? remote : local;
  2447. var dst = populate ? local : remote;
  2448. IDBFS.reconcile(src, dst, callback);
  2449. });
  2450. });
  2451. },
  2452. getDB: function getDB(name, callback) {
  2453. var db = IDBFS.dbs[name];
  2454. if (db) {
  2455. return callback(null, db);
  2456. }
  2457. var req;
  2458. try {
  2459. req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
  2460. } catch (e) {
  2461. return callback(e);
  2462. }
  2463. if (!req) {
  2464. return callback("Unable to connect to IndexedDB");
  2465. }
  2466. req.onupgradeneeded = function (e) {
  2467. var db = e.target.result;
  2468. var transaction = e.target.transaction;
  2469. var fileStore;
  2470. if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
  2471. fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
  2472. } else {
  2473. fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
  2474. }
  2475. if (!fileStore.indexNames.contains("timestamp")) {
  2476. fileStore.createIndex("timestamp", "timestamp", {
  2477. unique: false,
  2478. });
  2479. }
  2480. };
  2481. req.onsuccess = function () {
  2482. db = req.result;
  2483. IDBFS.dbs[name] = db;
  2484. callback(null, db);
  2485. };
  2486. req.onerror = function (e) {
  2487. callback(this.error);
  2488. e.preventDefault();
  2489. };
  2490. },
  2491. getLocalSet: function getLocalSet(mount, callback) {
  2492. var entries = {};
  2493. function isRealDir(p) {
  2494. return p !== "." && p !== "..";
  2495. }
  2496. function toAbsolute(root) {
  2497. return function (p) {
  2498. return PATH.join2(root, p);
  2499. };
  2500. }
  2501. var check = FS.readdir(mount.mountpoint)
  2502. .filter(isRealDir)
  2503. .map(toAbsolute(mount.mountpoint));
  2504. while (check.length) {
  2505. var path = check.pop();
  2506. var stat;
  2507. try {
  2508. stat = FS.stat(path);
  2509. } catch (e) {
  2510. return callback(e);
  2511. }
  2512. if (FS.isDir(stat.mode)) {
  2513. check.push.apply(
  2514. check,
  2515. FS.readdir(path).filter(isRealDir).map(toAbsolute(path))
  2516. );
  2517. }
  2518. entries[path] = { timestamp: stat.mtime };
  2519. }
  2520. return callback(null, { type: "local", entries: entries });
  2521. },
  2522. getRemoteSet: function getRemoteSet(mount, callback) {
  2523. var entries = {};
  2524. IDBFS.getDB(mount.mountpoint, function (err, db) {
  2525. if (err) return callback(err);
  2526. try {
  2527. var transaction = db.transaction(
  2528. [IDBFS.DB_STORE_NAME],
  2529. "readonly"
  2530. );
  2531. transaction.onerror = function (e) {
  2532. callback(this.error);
  2533. e.preventDefault();
  2534. };
  2535. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  2536. var index = store.index("timestamp");
  2537. index.openKeyCursor().onsuccess = function (event) {
  2538. var cursor = event.target.result;
  2539. if (!cursor) {
  2540. return callback(null, {
  2541. type: "remote",
  2542. db: db,
  2543. entries: entries,
  2544. });
  2545. }
  2546. entries[cursor.primaryKey] = { timestamp: cursor.key };
  2547. cursor.continue();
  2548. };
  2549. } catch (e) {
  2550. return callback(e);
  2551. }
  2552. });
  2553. },
  2554. loadLocalEntry: function loadLocalEntry(path, callback) {
  2555. var stat, node;
  2556. try {
  2557. var lookup = FS.lookupPath(path);
  2558. node = lookup.node;
  2559. stat = FS.stat(path);
  2560. } catch (e) {
  2561. return callback(e);
  2562. }
  2563. if (FS.isDir(stat.mode)) {
  2564. return callback(null, {
  2565. timestamp: stat.mtime,
  2566. mode: stat.mode,
  2567. });
  2568. } else if (FS.isFile(stat.mode)) {
  2569. node.contents = MEMFS.getFileDataAsTypedArray(node);
  2570. return callback(null, {
  2571. timestamp: stat.mtime,
  2572. mode: stat.mode,
  2573. contents: node.contents,
  2574. });
  2575. } else {
  2576. return callback(new Error("node type not supported"));
  2577. }
  2578. },
  2579. storeLocalEntry: function storeLocalEntry(
  2580. path,
  2581. entry,
  2582. callback
  2583. ) {
  2584. try {
  2585. if (FS.isDir(entry.mode)) {
  2586. FS.mkdir(path, entry.mode);
  2587. } else if (FS.isFile(entry.mode)) {
  2588. FS.writeFile(path, entry.contents, { canOwn: true });
  2589. } else {
  2590. return callback(new Error("node type not supported"));
  2591. }
  2592. FS.chmod(path, entry.mode);
  2593. FS.utime(path, entry.timestamp, entry.timestamp);
  2594. } catch (e) {
  2595. return callback(e);
  2596. }
  2597. callback(null);
  2598. },
  2599. removeLocalEntry: function removeLocalEntry(path, callback) {
  2600. try {
  2601. var lookup = FS.lookupPath(path);
  2602. var stat = FS.stat(path);
  2603. if (FS.isDir(stat.mode)) {
  2604. FS.rmdir(path);
  2605. } else if (FS.isFile(stat.mode)) {
  2606. FS.unlink(path);
  2607. }
  2608. } catch (e) {
  2609. return callback(e);
  2610. }
  2611. callback(null);
  2612. },
  2613. loadRemoteEntry: function loadRemoteEntry(
  2614. store,
  2615. path,
  2616. callback
  2617. ) {
  2618. var req = store.get(path);
  2619. req.onsuccess = function (event) {
  2620. callback(null, event.target.result);
  2621. };
  2622. req.onerror = function (e) {
  2623. callback(this.error);
  2624. e.preventDefault();
  2625. };
  2626. },
  2627. storeRemoteEntry: function storeRemoteEntry(
  2628. store,
  2629. path,
  2630. entry,
  2631. callback
  2632. ) {
  2633. var req = store.put(entry, path);
  2634. req.onsuccess = function () {
  2635. callback(null);
  2636. };
  2637. req.onerror = function (e) {
  2638. callback(this.error);
  2639. e.preventDefault();
  2640. };
  2641. },
  2642. removeRemoteEntry: function removeRemoteEntry(
  2643. store,
  2644. path,
  2645. callback
  2646. ) {
  2647. var req = store.delete(path);
  2648. req.onsuccess = function () {
  2649. callback(null);
  2650. };
  2651. req.onerror = function (e) {
  2652. callback(this.error);
  2653. e.preventDefault();
  2654. };
  2655. },
  2656. reconcile: function reconcile(src, dst, callback) {
  2657. var total = 0;
  2658. var create = [];
  2659. Object.keys(src.entries).forEach(function (key) {
  2660. var e = src.entries[key];
  2661. var e2 = dst.entries[key];
  2662. if (!e2 || e.timestamp > e2.timestamp) {
  2663. create.push(key);
  2664. total++;
  2665. }
  2666. });
  2667. var remove = [];
  2668. Object.keys(dst.entries).forEach(function (key) {
  2669. var e = dst.entries[key];
  2670. var e2 = src.entries[key];
  2671. if (!e2) {
  2672. remove.push(key);
  2673. total++;
  2674. }
  2675. });
  2676. if (!total) {
  2677. return callback(null);
  2678. }
  2679. var completed = 0;
  2680. var db = src.type === "remote" ? src.db : dst.db;
  2681. var transaction = db.transaction(
  2682. [IDBFS.DB_STORE_NAME],
  2683. "readwrite"
  2684. );
  2685. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  2686. function done(err) {
  2687. if (err) {
  2688. if (!done.errored) {
  2689. done.errored = true;
  2690. return callback(err);
  2691. }
  2692. return;
  2693. }
  2694. if (++completed >= total) {
  2695. return callback(null);
  2696. }
  2697. }
  2698. transaction.onerror = function (e) {
  2699. done(this.error);
  2700. e.preventDefault();
  2701. };
  2702. create.sort().forEach(function (path) {
  2703. if (dst.type === "local") {
  2704. IDBFS.loadRemoteEntry(store, path, function (err, entry) {
  2705. if (err) return done(err);
  2706. IDBFS.storeLocalEntry(path, entry, done);
  2707. });
  2708. } else {
  2709. IDBFS.loadLocalEntry(path, function (err, entry) {
  2710. if (err) return done(err);
  2711. IDBFS.storeRemoteEntry(store, path, entry, done);
  2712. });
  2713. }
  2714. });
  2715. remove
  2716. .sort()
  2717. .reverse()
  2718. .forEach(function (path) {
  2719. if (dst.type === "local") {
  2720. IDBFS.removeLocalEntry(path, done);
  2721. } else {
  2722. IDBFS.removeRemoteEntry(store, path, done);
  2723. }
  2724. });
  2725. },
  2726. };
  2727. var NODEFS = {
  2728. isWindows: false,
  2729. staticInit: function staticInit() {
  2730. NODEFS.isWindows = !!process.platform.match(/^win/);
  2731. var flags = process["binding"]("constants");
  2732. if (flags["fs"]) {
  2733. flags = flags["fs"];
  2734. }
  2735. NODEFS.flagsForNodeMap = {
  2736. 1024: flags["O_APPEND"],
  2737. 64: flags["O_CREAT"],
  2738. 128: flags["O_EXCL"],
  2739. 0: flags["O_RDONLY"],
  2740. 2: flags["O_RDWR"],
  2741. 4096: flags["O_SYNC"],
  2742. 512: flags["O_TRUNC"],
  2743. 1: flags["O_WRONLY"],
  2744. };
  2745. },
  2746. bufferFrom: function bufferFrom(arrayBuffer) {
  2747. return Buffer.alloc
  2748. ? Buffer.from(arrayBuffer)
  2749. : new Buffer(arrayBuffer);
  2750. },
  2751. mount: function mount(_mount3) {
  2752. assert(ENVIRONMENT_IS_NODE);
  2753. return NODEFS.createNode(
  2754. null,
  2755. "/",
  2756. NODEFS.getMode(_mount3.opts.root),
  2757. 0
  2758. );
  2759. },
  2760. createNode: function createNode(parent, name, mode, dev) {
  2761. if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
  2762. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2763. }
  2764. var node = FS.createNode(parent, name, mode);
  2765. node.node_ops = NODEFS.node_ops;
  2766. node.stream_ops = NODEFS.stream_ops;
  2767. return node;
  2768. },
  2769. getMode: function getMode(path) {
  2770. var stat;
  2771. try {
  2772. stat = fs.lstatSync(path);
  2773. if (NODEFS.isWindows) {
  2774. stat.mode = stat.mode | ((stat.mode & 292) >> 2);
  2775. }
  2776. } catch (e) {
  2777. if (!e.code) throw e;
  2778. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2779. }
  2780. return stat.mode;
  2781. },
  2782. realPath: function realPath(node) {
  2783. var parts = [];
  2784. while (node.parent !== node) {
  2785. parts.push(node.name);
  2786. node = node.parent;
  2787. }
  2788. parts.push(node.mount.opts.root);
  2789. parts.reverse();
  2790. return PATH.join.apply(null, parts);
  2791. },
  2792. flagsForNode: function flagsForNode(flags) {
  2793. flags &= ~2097152;
  2794. flags &= ~2048;
  2795. flags &= ~32768;
  2796. flags &= ~524288;
  2797. var newFlags = 0;
  2798. for (var k in NODEFS.flagsForNodeMap) {
  2799. if (flags & k) {
  2800. newFlags |= NODEFS.flagsForNodeMap[k];
  2801. flags ^= k;
  2802. }
  2803. }
  2804. if (!flags) {
  2805. return newFlags;
  2806. } else {
  2807. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  2808. }
  2809. },
  2810. node_ops: {
  2811. getattr: function getattr(node) {
  2812. var path = NODEFS.realPath(node);
  2813. var stat;
  2814. try {
  2815. stat = fs.lstatSync(path);
  2816. } catch (e) {
  2817. if (!e.code) throw e;
  2818. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2819. }
  2820. if (NODEFS.isWindows && !stat.blksize) {
  2821. stat.blksize = 4096;
  2822. }
  2823. if (NODEFS.isWindows && !stat.blocks) {
  2824. stat.blocks =
  2825. ((stat.size + stat.blksize - 1) / stat.blksize) | 0;
  2826. }
  2827. return {
  2828. dev: stat.dev,
  2829. ino: stat.ino,
  2830. mode: stat.mode,
  2831. nlink: stat.nlink,
  2832. uid: stat.uid,
  2833. gid: stat.gid,
  2834. rdev: stat.rdev,
  2835. size: stat.size,
  2836. atime: stat.atime,
  2837. mtime: stat.mtime,
  2838. ctime: stat.ctime,
  2839. blksize: stat.blksize,
  2840. blocks: stat.blocks,
  2841. };
  2842. },
  2843. setattr: function setattr(node, attr) {
  2844. var path = NODEFS.realPath(node);
  2845. try {
  2846. if (attr.mode !== undefined) {
  2847. fs.chmodSync(path, attr.mode);
  2848. node.mode = attr.mode;
  2849. }
  2850. if (attr.timestamp !== undefined) {
  2851. var date = new Date(attr.timestamp);
  2852. fs.utimesSync(path, date, date);
  2853. }
  2854. if (attr.size !== undefined) {
  2855. fs.truncateSync(path, attr.size);
  2856. }
  2857. } catch (e) {
  2858. if (!e.code) throw e;
  2859. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2860. }
  2861. },
  2862. lookup: function lookup(parent, name) {
  2863. var path = PATH.join2(NODEFS.realPath(parent), name);
  2864. var mode = NODEFS.getMode(path);
  2865. return NODEFS.createNode(parent, name, mode);
  2866. },
  2867. mknod: function mknod(parent, name, mode, dev) {
  2868. var node = NODEFS.createNode(parent, name, mode, dev);
  2869. var path = NODEFS.realPath(node);
  2870. try {
  2871. if (FS.isDir(node.mode)) {
  2872. fs.mkdirSync(path, node.mode);
  2873. } else {
  2874. fs.writeFileSync(path, "", { mode: node.mode });
  2875. }
  2876. } catch (e) {
  2877. if (!e.code) throw e;
  2878. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2879. }
  2880. return node;
  2881. },
  2882. rename: function rename(oldNode, newDir, newName) {
  2883. var oldPath = NODEFS.realPath(oldNode);
  2884. var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
  2885. try {
  2886. fs.renameSync(oldPath, newPath);
  2887. } catch (e) {
  2888. if (!e.code) throw e;
  2889. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2890. }
  2891. },
  2892. unlink: function unlink(parent, name) {
  2893. var path = PATH.join2(NODEFS.realPath(parent), name);
  2894. try {
  2895. fs.unlinkSync(path);
  2896. } catch (e) {
  2897. if (!e.code) throw e;
  2898. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2899. }
  2900. },
  2901. rmdir: function rmdir(parent, name) {
  2902. var path = PATH.join2(NODEFS.realPath(parent), name);
  2903. try {
  2904. fs.rmdirSync(path);
  2905. } catch (e) {
  2906. if (!e.code) throw e;
  2907. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2908. }
  2909. },
  2910. readdir: function readdir(node) {
  2911. var path = NODEFS.realPath(node);
  2912. try {
  2913. return fs.readdirSync(path);
  2914. } catch (e) {
  2915. if (!e.code) throw e;
  2916. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2917. }
  2918. },
  2919. symlink: function symlink(parent, newName, oldPath) {
  2920. var newPath = PATH.join2(NODEFS.realPath(parent), newName);
  2921. try {
  2922. fs.symlinkSync(oldPath, newPath);
  2923. } catch (e) {
  2924. if (!e.code) throw e;
  2925. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2926. }
  2927. },
  2928. readlink: function readlink(node) {
  2929. var path = NODEFS.realPath(node);
  2930. try {
  2931. path = fs.readlinkSync(path);
  2932. path = NODEJS_PATH.relative(
  2933. NODEJS_PATH.resolve(node.mount.opts.root),
  2934. path
  2935. );
  2936. return path;
  2937. } catch (e) {
  2938. if (!e.code) throw e;
  2939. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2940. }
  2941. },
  2942. },
  2943. stream_ops: {
  2944. open: function open(stream) {
  2945. var path = NODEFS.realPath(stream.node);
  2946. try {
  2947. if (FS.isFile(stream.node.mode)) {
  2948. stream.nfd = fs.openSync(
  2949. path,
  2950. NODEFS.flagsForNode(stream.flags)
  2951. );
  2952. }
  2953. } catch (e) {
  2954. if (!e.code) throw e;
  2955. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2956. }
  2957. },
  2958. close: function close(stream) {
  2959. try {
  2960. if (FS.isFile(stream.node.mode) && stream.nfd) {
  2961. fs.closeSync(stream.nfd);
  2962. }
  2963. } catch (e) {
  2964. if (!e.code) throw e;
  2965. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2966. }
  2967. },
  2968. read: function read(
  2969. stream,
  2970. buffer,
  2971. offset,
  2972. length,
  2973. position
  2974. ) {
  2975. if (length === 0) return 0;
  2976. try {
  2977. return fs.readSync(
  2978. stream.nfd,
  2979. NODEFS.bufferFrom(buffer.buffer),
  2980. offset,
  2981. length,
  2982. position
  2983. );
  2984. } catch (e) {
  2985. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  2986. }
  2987. },
  2988. write: function write(
  2989. stream,
  2990. buffer,
  2991. offset,
  2992. length,
  2993. position
  2994. ) {
  2995. try {
  2996. return fs.writeSync(
  2997. stream.nfd,
  2998. NODEFS.bufferFrom(buffer.buffer),
  2999. offset,
  3000. length,
  3001. position
  3002. );
  3003. } catch (e) {
  3004. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  3005. }
  3006. },
  3007. llseek: function llseek(stream, offset, whence) {
  3008. var position = offset;
  3009. if (whence === 1) {
  3010. position += stream.position;
  3011. } else if (whence === 2) {
  3012. if (FS.isFile(stream.node.mode)) {
  3013. try {
  3014. var stat = fs.fstatSync(stream.nfd);
  3015. position += stat.size;
  3016. } catch (e) {
  3017. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  3018. }
  3019. }
  3020. }
  3021. if (position < 0) {
  3022. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  3023. }
  3024. return position;
  3025. },
  3026. },
  3027. };
  3028. var WORKERFS = {
  3029. DIR_MODE: 16895,
  3030. FILE_MODE: 33279,
  3031. reader: null,
  3032. mount: function mount(_mount4) {
  3033. assert(ENVIRONMENT_IS_WORKER);
  3034. if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
  3035. var root = WORKERFS.createNode(
  3036. null,
  3037. "/",
  3038. WORKERFS.DIR_MODE,
  3039. 0
  3040. );
  3041. var createdParents = {};
  3042. function ensureParent(path) {
  3043. var parts = path.split("/");
  3044. var parent = root;
  3045. for (var i = 0; i < parts.length - 1; i++) {
  3046. var curr = parts.slice(0, i + 1).join("/");
  3047. if (!createdParents[curr]) {
  3048. createdParents[curr] = WORKERFS.createNode(
  3049. parent,
  3050. parts[i],
  3051. WORKERFS.DIR_MODE,
  3052. 0
  3053. );
  3054. }
  3055. parent = createdParents[curr];
  3056. }
  3057. return parent;
  3058. }
  3059. function base(path) {
  3060. var parts = path.split("/");
  3061. return parts[parts.length - 1];
  3062. }
  3063. Array.prototype.forEach.call(
  3064. _mount4.opts["files"] || [],
  3065. function (file) {
  3066. WORKERFS.createNode(
  3067. ensureParent(file.name),
  3068. base(file.name),
  3069. WORKERFS.FILE_MODE,
  3070. 0,
  3071. file,
  3072. file.lastModifiedDate
  3073. );
  3074. }
  3075. );
  3076. (_mount4.opts["blobs"] || []).forEach(function (obj) {
  3077. WORKERFS.createNode(
  3078. ensureParent(obj["name"]),
  3079. base(obj["name"]),
  3080. WORKERFS.FILE_MODE,
  3081. 0,
  3082. obj["data"]
  3083. );
  3084. });
  3085. (_mount4.opts["packages"] || []).forEach(function (pack) {
  3086. pack["metadata"].files.forEach(function (file) {
  3087. var name = file.filename.substr(1);
  3088. WORKERFS.createNode(
  3089. ensureParent(name),
  3090. base(name),
  3091. WORKERFS.FILE_MODE,
  3092. 0,
  3093. pack["blob"].slice(file.start, file.end)
  3094. );
  3095. });
  3096. });
  3097. return root;
  3098. },
  3099. createNode: function createNode(
  3100. parent,
  3101. name,
  3102. mode,
  3103. dev,
  3104. contents,
  3105. mtime
  3106. ) {
  3107. var node = FS.createNode(parent, name, mode);
  3108. node.mode = mode;
  3109. node.node_ops = WORKERFS.node_ops;
  3110. node.stream_ops = WORKERFS.stream_ops;
  3111. node.timestamp = (mtime || new Date()).getTime();
  3112. assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
  3113. if (mode === WORKERFS.FILE_MODE) {
  3114. node.size = contents.size;
  3115. node.contents = contents;
  3116. } else {
  3117. node.size = 4096;
  3118. node.contents = {};
  3119. }
  3120. if (parent) {
  3121. parent.contents[name] = node;
  3122. }
  3123. return node;
  3124. },
  3125. node_ops: {
  3126. getattr: function getattr(node) {
  3127. return {
  3128. dev: 1,
  3129. ino: undefined,
  3130. mode: node.mode,
  3131. nlink: 1,
  3132. uid: 0,
  3133. gid: 0,
  3134. rdev: undefined,
  3135. size: node.size,
  3136. atime: new Date(node.timestamp),
  3137. mtime: new Date(node.timestamp),
  3138. ctime: new Date(node.timestamp),
  3139. blksize: 4096,
  3140. blocks: Math.ceil(node.size / 4096),
  3141. };
  3142. },
  3143. setattr: function setattr(node, attr) {
  3144. if (attr.mode !== undefined) {
  3145. node.mode = attr.mode;
  3146. }
  3147. if (attr.timestamp !== undefined) {
  3148. node.timestamp = attr.timestamp;
  3149. }
  3150. },
  3151. lookup: function lookup(parent, name) {
  3152. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  3153. },
  3154. mknod: function mknod(parent, name, mode, dev) {
  3155. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3156. },
  3157. rename: function rename(oldNode, newDir, newName) {
  3158. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3159. },
  3160. unlink: function unlink(parent, name) {
  3161. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3162. },
  3163. rmdir: function rmdir(parent, name) {
  3164. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3165. },
  3166. readdir: function readdir(node) {
  3167. var entries = [".", ".."];
  3168. for (var key in node.contents) {
  3169. if (!node.contents.hasOwnProperty(key)) {
  3170. continue;
  3171. }
  3172. entries.push(key);
  3173. }
  3174. return entries;
  3175. },
  3176. symlink: function symlink(parent, newName, oldPath) {
  3177. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3178. },
  3179. readlink: function readlink(node) {
  3180. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3181. },
  3182. },
  3183. stream_ops: {
  3184. read: function read(
  3185. stream,
  3186. buffer,
  3187. offset,
  3188. length,
  3189. position
  3190. ) {
  3191. if (position >= stream.node.size) return 0;
  3192. var chunk = stream.node.contents.slice(
  3193. position,
  3194. position + length
  3195. );
  3196. var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
  3197. buffer.set(new Uint8Array(ab), offset);
  3198. return chunk.size;
  3199. },
  3200. write: function write(
  3201. stream,
  3202. buffer,
  3203. offset,
  3204. length,
  3205. position
  3206. ) {
  3207. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  3208. },
  3209. llseek: function llseek(stream, offset, whence) {
  3210. var position = offset;
  3211. if (whence === 1) {
  3212. position += stream.position;
  3213. } else if (whence === 2) {
  3214. if (FS.isFile(stream.node.mode)) {
  3215. position += stream.node.size;
  3216. }
  3217. }
  3218. if (position < 0) {
  3219. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  3220. }
  3221. return position;
  3222. },
  3223. },
  3224. };
  3225. STATICTOP += 16;
  3226. STATICTOP += 16;
  3227. STATICTOP += 16;
  3228. var FS = {
  3229. root: null,
  3230. mounts: [],
  3231. devices: {},
  3232. streams: [],
  3233. nextInode: 1,
  3234. nameTable: null,
  3235. currentPath: "/",
  3236. initialized: false,
  3237. ignorePermissions: true,
  3238. trackingDelegate: {},
  3239. tracking: { openFlags: { READ: 1, WRITE: 2 } },
  3240. ErrnoError: null,
  3241. genericErrors: {},
  3242. filesystems: null,
  3243. syncFSRequests: 0,
  3244. handleFSError: function handleFSError(e) {
  3245. if (!(e instanceof FS.ErrnoError))
  3246. throw e + " : " + stackTrace();
  3247. return ___setErrNo(e.errno);
  3248. },
  3249. lookupPath: function lookupPath(path, opts) {
  3250. path = PATH.resolve(FS.cwd(), path);
  3251. opts = opts || {};
  3252. if (!path) return { path: "", node: null };
  3253. var defaults = { follow_mount: true, recurse_count: 0 };
  3254. for (var key in defaults) {
  3255. if (opts[key] === undefined) {
  3256. opts[key] = defaults[key];
  3257. }
  3258. }
  3259. if (opts.recurse_count > 8) {
  3260. throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
  3261. }
  3262. var parts = PATH.normalizeArray(
  3263. path.split("/").filter(function (p) {
  3264. return !!p;
  3265. }),
  3266. false
  3267. );
  3268. var current = FS.root;
  3269. var current_path = "/";
  3270. for (var i = 0; i < parts.length; i++) {
  3271. var islast = i === parts.length - 1;
  3272. if (islast && opts.parent) {
  3273. break;
  3274. }
  3275. current = FS.lookupNode(current, parts[i]);
  3276. current_path = PATH.join2(current_path, parts[i]);
  3277. if (FS.isMountpoint(current)) {
  3278. if (!islast || (islast && opts.follow_mount)) {
  3279. current = current.mounted.root;
  3280. }
  3281. }
  3282. if (!islast || opts.follow) {
  3283. var count = 0;
  3284. while (FS.isLink(current.mode)) {
  3285. var link = FS.readlink(current_path);
  3286. current_path = PATH.resolve(
  3287. PATH.dirname(current_path),
  3288. link
  3289. );
  3290. var lookup = FS.lookupPath(current_path, {
  3291. recurse_count: opts.recurse_count,
  3292. });
  3293. current = lookup.node;
  3294. if (count++ > 40) {
  3295. throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
  3296. }
  3297. }
  3298. }
  3299. }
  3300. return { path: current_path, node: current };
  3301. },
  3302. getPath: function getPath(node) {
  3303. var path;
  3304. while (true) {
  3305. if (FS.isRoot(node)) {
  3306. var mount = node.mount.mountpoint;
  3307. if (!path) return mount;
  3308. return mount[mount.length - 1] !== "/"
  3309. ? mount + "/" + path
  3310. : mount + path;
  3311. }
  3312. path = path ? node.name + "/" + path : node.name;
  3313. node = node.parent;
  3314. }
  3315. },
  3316. hashName: function hashName(parentid, name) {
  3317. var hash = 0;
  3318. for (var i = 0; i < name.length; i++) {
  3319. hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
  3320. }
  3321. return ((parentid + hash) >>> 0) % FS.nameTable.length;
  3322. },
  3323. hashAddNode: function hashAddNode(node) {
  3324. var hash = FS.hashName(node.parent.id, node.name);
  3325. node.name_next = FS.nameTable[hash];
  3326. FS.nameTable[hash] = node;
  3327. },
  3328. hashRemoveNode: function hashRemoveNode(node) {
  3329. var hash = FS.hashName(node.parent.id, node.name);
  3330. if (FS.nameTable[hash] === node) {
  3331. FS.nameTable[hash] = node.name_next;
  3332. } else {
  3333. var current = FS.nameTable[hash];
  3334. while (current) {
  3335. if (current.name_next === node) {
  3336. current.name_next = node.name_next;
  3337. break;
  3338. }
  3339. current = current.name_next;
  3340. }
  3341. }
  3342. },
  3343. lookupNode: function lookupNode(parent, name) {
  3344. var err = FS.mayLookup(parent);
  3345. if (err) {
  3346. throw new FS.ErrnoError(err, parent);
  3347. }
  3348. var hash = FS.hashName(parent.id, name);
  3349. for (
  3350. var node = FS.nameTable[hash];
  3351. node;
  3352. node = node.name_next
  3353. ) {
  3354. var nodeName = node.name;
  3355. if (node.parent.id === parent.id && nodeName === name) {
  3356. return node;
  3357. }
  3358. }
  3359. return FS.lookup(parent, name);
  3360. },
  3361. createNode: function createNode(parent, name, mode, rdev) {
  3362. if (!FS.FSNode) {
  3363. FS.FSNode = function (parent, name, mode, rdev) {
  3364. if (!parent) {
  3365. parent = this;
  3366. }
  3367. this.parent = parent;
  3368. this.mount = parent.mount;
  3369. this.mounted = null;
  3370. this.id = FS.nextInode++;
  3371. this.name = name;
  3372. this.mode = mode;
  3373. this.node_ops = {};
  3374. this.stream_ops = {};
  3375. this.rdev = rdev;
  3376. };
  3377. FS.FSNode.prototype = {};
  3378. var readMode = 292 | 73;
  3379. var writeMode = 146;
  3380. Object.defineProperties(FS.FSNode.prototype, {
  3381. read: {
  3382. get: function get() {
  3383. return (this.mode & readMode) === readMode;
  3384. },
  3385. set: function set(val) {
  3386. val
  3387. ? (this.mode |= readMode)
  3388. : (this.mode &= ~readMode);
  3389. },
  3390. },
  3391. write: {
  3392. get: function get() {
  3393. return (this.mode & writeMode) === writeMode;
  3394. },
  3395. set: function set(val) {
  3396. val
  3397. ? (this.mode |= writeMode)
  3398. : (this.mode &= ~writeMode);
  3399. },
  3400. },
  3401. isFolder: {
  3402. get: function get() {
  3403. return FS.isDir(this.mode);
  3404. },
  3405. },
  3406. isDevice: {
  3407. get: function get() {
  3408. return FS.isChrdev(this.mode);
  3409. },
  3410. },
  3411. });
  3412. }
  3413. var node = new FS.FSNode(parent, name, mode, rdev);
  3414. FS.hashAddNode(node);
  3415. return node;
  3416. },
  3417. destroyNode: function destroyNode(node) {
  3418. FS.hashRemoveNode(node);
  3419. },
  3420. isRoot: function isRoot(node) {
  3421. return node === node.parent;
  3422. },
  3423. isMountpoint: function isMountpoint(node) {
  3424. return !!node.mounted;
  3425. },
  3426. isFile: function isFile(mode) {
  3427. return (mode & 61440) === 32768;
  3428. },
  3429. isDir: function isDir(mode) {
  3430. return (mode & 61440) === 16384;
  3431. },
  3432. isLink: function isLink(mode) {
  3433. return (mode & 61440) === 40960;
  3434. },
  3435. isChrdev: function isChrdev(mode) {
  3436. return (mode & 61440) === 8192;
  3437. },
  3438. isBlkdev: function isBlkdev(mode) {
  3439. return (mode & 61440) === 24576;
  3440. },
  3441. isFIFO: function isFIFO(mode) {
  3442. return (mode & 61440) === 4096;
  3443. },
  3444. isSocket: function isSocket(mode) {
  3445. return (mode & 49152) === 49152;
  3446. },
  3447. flagModes: {
  3448. r: 0,
  3449. rs: 1052672,
  3450. "r+": 2,
  3451. w: 577,
  3452. wx: 705,
  3453. xw: 705,
  3454. "w+": 578,
  3455. "wx+": 706,
  3456. "xw+": 706,
  3457. a: 1089,
  3458. ax: 1217,
  3459. xa: 1217,
  3460. "a+": 1090,
  3461. "ax+": 1218,
  3462. "xa+": 1218,
  3463. },
  3464. modeStringToFlags: function modeStringToFlags(str) {
  3465. var flags = FS.flagModes[str];
  3466. if (typeof flags === "undefined") {
  3467. throw new Error("Unknown file open mode: " + str);
  3468. }
  3469. return flags;
  3470. },
  3471. flagsToPermissionString: function flagsToPermissionString(
  3472. flag
  3473. ) {
  3474. var perms = ["r", "w", "rw"][flag & 3];
  3475. if (flag & 512) {
  3476. perms += "w";
  3477. }
  3478. return perms;
  3479. },
  3480. nodePermissions: function nodePermissions(node, perms) {
  3481. if (FS.ignorePermissions) {
  3482. return 0;
  3483. }
  3484. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  3485. return ERRNO_CODES.EACCES;
  3486. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  3487. return ERRNO_CODES.EACCES;
  3488. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  3489. return ERRNO_CODES.EACCES;
  3490. }
  3491. return 0;
  3492. },
  3493. mayLookup: function mayLookup(dir) {
  3494. var err = FS.nodePermissions(dir, "x");
  3495. if (err) return err;
  3496. if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
  3497. return 0;
  3498. },
  3499. mayCreate: function mayCreate(dir, name) {
  3500. try {
  3501. var node = FS.lookupNode(dir, name);
  3502. return ERRNO_CODES.EEXIST;
  3503. } catch (e) {}
  3504. return FS.nodePermissions(dir, "wx");
  3505. },
  3506. mayDelete: function mayDelete(dir, name, isdir) {
  3507. var node;
  3508. try {
  3509. node = FS.lookupNode(dir, name);
  3510. } catch (e) {
  3511. return e.errno;
  3512. }
  3513. var err = FS.nodePermissions(dir, "wx");
  3514. if (err) {
  3515. return err;
  3516. }
  3517. if (isdir) {
  3518. if (!FS.isDir(node.mode)) {
  3519. return ERRNO_CODES.ENOTDIR;
  3520. }
  3521. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  3522. return ERRNO_CODES.EBUSY;
  3523. }
  3524. } else {
  3525. if (FS.isDir(node.mode)) {
  3526. return ERRNO_CODES.EISDIR;
  3527. }
  3528. }
  3529. return 0;
  3530. },
  3531. mayOpen: function mayOpen(node, flags) {
  3532. if (!node) {
  3533. return ERRNO_CODES.ENOENT;
  3534. }
  3535. if (FS.isLink(node.mode)) {
  3536. return ERRNO_CODES.ELOOP;
  3537. } else if (FS.isDir(node.mode)) {
  3538. if (
  3539. FS.flagsToPermissionString(flags) !== "r" ||
  3540. flags & 512
  3541. ) {
  3542. return ERRNO_CODES.EISDIR;
  3543. }
  3544. }
  3545. return FS.nodePermissions(
  3546. node,
  3547. FS.flagsToPermissionString(flags)
  3548. );
  3549. },
  3550. MAX_OPEN_FDS: 4096,
  3551. nextfd: function nextfd(fd_start, fd_end) {
  3552. fd_start = fd_start || 0;
  3553. fd_end = fd_end || FS.MAX_OPEN_FDS;
  3554. for (var fd = fd_start; fd <= fd_end; fd++) {
  3555. if (!FS.streams[fd]) {
  3556. return fd;
  3557. }
  3558. }
  3559. throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
  3560. },
  3561. getStream: function getStream(fd) {
  3562. return FS.streams[fd];
  3563. },
  3564. createStream: function createStream(stream, fd_start, fd_end) {
  3565. if (!FS.FSStream) {
  3566. FS.FSStream = function () {};
  3567. FS.FSStream.prototype = {};
  3568. Object.defineProperties(FS.FSStream.prototype, {
  3569. object: {
  3570. get: function get() {
  3571. return this.node;
  3572. },
  3573. set: function set(val) {
  3574. this.node = val;
  3575. },
  3576. },
  3577. isRead: {
  3578. get: function get() {
  3579. return (this.flags & 2097155) !== 1;
  3580. },
  3581. },
  3582. isWrite: {
  3583. get: function get() {
  3584. return (this.flags & 2097155) !== 0;
  3585. },
  3586. },
  3587. isAppend: {
  3588. get: function get() {
  3589. return this.flags & 1024;
  3590. },
  3591. },
  3592. });
  3593. }
  3594. var newStream = new FS.FSStream();
  3595. for (var p in stream) {
  3596. newStream[p] = stream[p];
  3597. }
  3598. stream = newStream;
  3599. var fd = FS.nextfd(fd_start, fd_end);
  3600. stream.fd = fd;
  3601. FS.streams[fd] = stream;
  3602. return stream;
  3603. },
  3604. closeStream: function closeStream(fd) {
  3605. FS.streams[fd] = null;
  3606. },
  3607. chrdev_stream_ops: {
  3608. open: function open(stream) {
  3609. var device = FS.getDevice(stream.node.rdev);
  3610. stream.stream_ops = device.stream_ops;
  3611. if (stream.stream_ops.open) {
  3612. stream.stream_ops.open(stream);
  3613. }
  3614. },
  3615. llseek: function llseek() {
  3616. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  3617. },
  3618. },
  3619. major: function major(dev) {
  3620. return dev >> 8;
  3621. },
  3622. minor: function minor(dev) {
  3623. return dev & 255;
  3624. },
  3625. makedev: function makedev(ma, mi) {
  3626. return (ma << 8) | mi;
  3627. },
  3628. registerDevice: function registerDevice(dev, ops) {
  3629. FS.devices[dev] = { stream_ops: ops };
  3630. },
  3631. getDevice: function getDevice(dev) {
  3632. return FS.devices[dev];
  3633. },
  3634. getMounts: function getMounts(mount) {
  3635. var mounts = [];
  3636. var check = [mount];
  3637. while (check.length) {
  3638. var m = check.pop();
  3639. mounts.push(m);
  3640. check.push.apply(check, m.mounts);
  3641. }
  3642. return mounts;
  3643. },
  3644. syncfs: function syncfs(populate, callback) {
  3645. if (typeof populate === "function") {
  3646. callback = populate;
  3647. populate = false;
  3648. }
  3649. FS.syncFSRequests++;
  3650. if (FS.syncFSRequests > 1) {
  3651. console.log(
  3652. "warning: " +
  3653. FS.syncFSRequests +
  3654. " FS.syncfs operations in flight at once, probably just doing extra work"
  3655. );
  3656. }
  3657. var mounts = FS.getMounts(FS.root.mount);
  3658. var completed = 0;
  3659. function doCallback(err) {
  3660. assert(FS.syncFSRequests > 0);
  3661. FS.syncFSRequests--;
  3662. return callback(err);
  3663. }
  3664. function done(err) {
  3665. if (err) {
  3666. if (!done.errored) {
  3667. done.errored = true;
  3668. return doCallback(err);
  3669. }
  3670. return;
  3671. }
  3672. if (++completed >= mounts.length) {
  3673. doCallback(null);
  3674. }
  3675. }
  3676. mounts.forEach(function (mount) {
  3677. if (!mount.type.syncfs) {
  3678. return done(null);
  3679. }
  3680. mount.type.syncfs(mount, populate, done);
  3681. });
  3682. },
  3683. mount: function mount(type, opts, mountpoint) {
  3684. var root = mountpoint === "/";
  3685. var pseudo = !mountpoint;
  3686. var node;
  3687. if (root && FS.root) {
  3688. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  3689. } else if (!root && !pseudo) {
  3690. var lookup = FS.lookupPath(mountpoint, {
  3691. follow_mount: false,
  3692. });
  3693. mountpoint = lookup.path;
  3694. node = lookup.node;
  3695. if (FS.isMountpoint(node)) {
  3696. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  3697. }
  3698. if (!FS.isDir(node.mode)) {
  3699. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  3700. }
  3701. }
  3702. var mount = {
  3703. type: type,
  3704. opts: opts,
  3705. mountpoint: mountpoint,
  3706. mounts: [],
  3707. };
  3708. var mountRoot = type.mount(mount);
  3709. mountRoot.mount = mount;
  3710. mount.root = mountRoot;
  3711. if (root) {
  3712. FS.root = mountRoot;
  3713. } else if (node) {
  3714. node.mounted = mount;
  3715. if (node.mount) {
  3716. node.mount.mounts.push(mount);
  3717. }
  3718. }
  3719. return mountRoot;
  3720. },
  3721. unmount: function unmount(mountpoint) {
  3722. var lookup = FS.lookupPath(mountpoint, {
  3723. follow_mount: false,
  3724. });
  3725. if (!FS.isMountpoint(lookup.node)) {
  3726. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  3727. }
  3728. var node = lookup.node;
  3729. var mount = node.mounted;
  3730. var mounts = FS.getMounts(mount);
  3731. Object.keys(FS.nameTable).forEach(function (hash) {
  3732. var current = FS.nameTable[hash];
  3733. while (current) {
  3734. var next = current.name_next;
  3735. if (mounts.indexOf(current.mount) !== -1) {
  3736. FS.destroyNode(current);
  3737. }
  3738. current = next;
  3739. }
  3740. });
  3741. node.mounted = null;
  3742. var idx = node.mount.mounts.indexOf(mount);
  3743. assert(idx !== -1);
  3744. node.mount.mounts.splice(idx, 1);
  3745. },
  3746. lookup: function lookup(parent, name) {
  3747. return parent.node_ops.lookup(parent, name);
  3748. },
  3749. mknod: function mknod(path, mode, dev) {
  3750. var lookup = FS.lookupPath(path, { parent: true });
  3751. var parent = lookup.node;
  3752. var name = PATH.basename(path);
  3753. if (!name || name === "." || name === "..") {
  3754. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  3755. }
  3756. var err = FS.mayCreate(parent, name);
  3757. if (err) {
  3758. throw new FS.ErrnoError(err);
  3759. }
  3760. if (!parent.node_ops.mknod) {
  3761. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3762. }
  3763. return parent.node_ops.mknod(parent, name, mode, dev);
  3764. },
  3765. create: function create(path, mode) {
  3766. mode = mode !== undefined ? mode : 438;
  3767. mode &= 4095;
  3768. mode |= 32768;
  3769. return FS.mknod(path, mode, 0);
  3770. },
  3771. mkdir: function mkdir(path, mode) {
  3772. mode = mode !== undefined ? mode : 511;
  3773. mode &= 511 | 512;
  3774. mode |= 16384;
  3775. return FS.mknod(path, mode, 0);
  3776. },
  3777. mkdirTree: function mkdirTree(path, mode) {
  3778. var dirs = path.split("/");
  3779. var d = "";
  3780. for (var i = 0; i < dirs.length; ++i) {
  3781. if (!dirs[i]) continue;
  3782. d += "/" + dirs[i];
  3783. try {
  3784. FS.mkdir(d, mode);
  3785. } catch (e) {
  3786. if (e.errno != ERRNO_CODES.EEXIST) throw e;
  3787. }
  3788. }
  3789. },
  3790. mkdev: function mkdev(path, mode, dev) {
  3791. if (typeof dev === "undefined") {
  3792. dev = mode;
  3793. mode = 438;
  3794. }
  3795. mode |= 8192;
  3796. return FS.mknod(path, mode, dev);
  3797. },
  3798. symlink: function symlink(oldpath, newpath) {
  3799. if (!PATH.resolve(oldpath)) {
  3800. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  3801. }
  3802. var lookup = FS.lookupPath(newpath, { parent: true });
  3803. var parent = lookup.node;
  3804. if (!parent) {
  3805. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  3806. }
  3807. var newname = PATH.basename(newpath);
  3808. var err = FS.mayCreate(parent, newname);
  3809. if (err) {
  3810. throw new FS.ErrnoError(err);
  3811. }
  3812. if (!parent.node_ops.symlink) {
  3813. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3814. }
  3815. return parent.node_ops.symlink(parent, newname, oldpath);
  3816. },
  3817. rename: function rename(old_path, new_path) {
  3818. var old_dirname = PATH.dirname(old_path);
  3819. var new_dirname = PATH.dirname(new_path);
  3820. var old_name = PATH.basename(old_path);
  3821. var new_name = PATH.basename(new_path);
  3822. var lookup, old_dir, new_dir;
  3823. try {
  3824. lookup = FS.lookupPath(old_path, { parent: true });
  3825. old_dir = lookup.node;
  3826. lookup = FS.lookupPath(new_path, { parent: true });
  3827. new_dir = lookup.node;
  3828. } catch (e) {
  3829. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  3830. }
  3831. if (!old_dir || !new_dir)
  3832. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  3833. if (old_dir.mount !== new_dir.mount) {
  3834. throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
  3835. }
  3836. var old_node = FS.lookupNode(old_dir, old_name);
  3837. var relative = PATH.relative(old_path, new_dirname);
  3838. if (relative.charAt(0) !== ".") {
  3839. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  3840. }
  3841. relative = PATH.relative(new_path, old_dirname);
  3842. if (relative.charAt(0) !== ".") {
  3843. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  3844. }
  3845. var new_node;
  3846. try {
  3847. new_node = FS.lookupNode(new_dir, new_name);
  3848. } catch (e) {}
  3849. if (old_node === new_node) {
  3850. return;
  3851. }
  3852. var isdir = FS.isDir(old_node.mode);
  3853. var err = FS.mayDelete(old_dir, old_name, isdir);
  3854. if (err) {
  3855. throw new FS.ErrnoError(err);
  3856. }
  3857. err = new_node
  3858. ? FS.mayDelete(new_dir, new_name, isdir)
  3859. : FS.mayCreate(new_dir, new_name);
  3860. if (err) {
  3861. throw new FS.ErrnoError(err);
  3862. }
  3863. if (!old_dir.node_ops.rename) {
  3864. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3865. }
  3866. if (
  3867. FS.isMountpoint(old_node) ||
  3868. (new_node && FS.isMountpoint(new_node))
  3869. ) {
  3870. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  3871. }
  3872. if (new_dir !== old_dir) {
  3873. err = FS.nodePermissions(old_dir, "w");
  3874. if (err) {
  3875. throw new FS.ErrnoError(err);
  3876. }
  3877. }
  3878. try {
  3879. if (FS.trackingDelegate["willMovePath"]) {
  3880. FS.trackingDelegate["willMovePath"](old_path, new_path);
  3881. }
  3882. } catch (e) {
  3883. console.log(
  3884. "FS.trackingDelegate['willMovePath']('" +
  3885. old_path +
  3886. "', '" +
  3887. new_path +
  3888. "') threw an exception: " +
  3889. e.message
  3890. );
  3891. }
  3892. FS.hashRemoveNode(old_node);
  3893. try {
  3894. old_dir.node_ops.rename(old_node, new_dir, new_name);
  3895. } catch (e) {
  3896. throw e;
  3897. } finally {
  3898. FS.hashAddNode(old_node);
  3899. }
  3900. try {
  3901. if (FS.trackingDelegate["onMovePath"])
  3902. FS.trackingDelegate["onMovePath"](old_path, new_path);
  3903. } catch (e) {
  3904. console.log(
  3905. "FS.trackingDelegate['onMovePath']('" +
  3906. old_path +
  3907. "', '" +
  3908. new_path +
  3909. "') threw an exception: " +
  3910. e.message
  3911. );
  3912. }
  3913. },
  3914. rmdir: function rmdir(path) {
  3915. var lookup = FS.lookupPath(path, { parent: true });
  3916. var parent = lookup.node;
  3917. var name = PATH.basename(path);
  3918. var node = FS.lookupNode(parent, name);
  3919. var err = FS.mayDelete(parent, name, true);
  3920. if (err) {
  3921. throw new FS.ErrnoError(err);
  3922. }
  3923. if (!parent.node_ops.rmdir) {
  3924. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3925. }
  3926. if (FS.isMountpoint(node)) {
  3927. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  3928. }
  3929. try {
  3930. if (FS.trackingDelegate["willDeletePath"]) {
  3931. FS.trackingDelegate["willDeletePath"](path);
  3932. }
  3933. } catch (e) {
  3934. console.log(
  3935. "FS.trackingDelegate['willDeletePath']('" +
  3936. path +
  3937. "') threw an exception: " +
  3938. e.message
  3939. );
  3940. }
  3941. parent.node_ops.rmdir(parent, name);
  3942. FS.destroyNode(node);
  3943. try {
  3944. if (FS.trackingDelegate["onDeletePath"])
  3945. FS.trackingDelegate["onDeletePath"](path);
  3946. } catch (e) {
  3947. console.log(
  3948. "FS.trackingDelegate['onDeletePath']('" +
  3949. path +
  3950. "') threw an exception: " +
  3951. e.message
  3952. );
  3953. }
  3954. },
  3955. readdir: function readdir(path) {
  3956. var lookup = FS.lookupPath(path, { follow: true });
  3957. var node = lookup.node;
  3958. if (!node.node_ops.readdir) {
  3959. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  3960. }
  3961. return node.node_ops.readdir(node);
  3962. },
  3963. unlink: function unlink(path) {
  3964. var lookup = FS.lookupPath(path, { parent: true });
  3965. var parent = lookup.node;
  3966. var name = PATH.basename(path);
  3967. var node = FS.lookupNode(parent, name);
  3968. var err = FS.mayDelete(parent, name, false);
  3969. if (err) {
  3970. throw new FS.ErrnoError(err);
  3971. }
  3972. if (!parent.node_ops.unlink) {
  3973. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  3974. }
  3975. if (FS.isMountpoint(node)) {
  3976. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  3977. }
  3978. try {
  3979. if (FS.trackingDelegate["willDeletePath"]) {
  3980. FS.trackingDelegate["willDeletePath"](path);
  3981. }
  3982. } catch (e) {
  3983. console.log(
  3984. "FS.trackingDelegate['willDeletePath']('" +
  3985. path +
  3986. "') threw an exception: " +
  3987. e.message
  3988. );
  3989. }
  3990. parent.node_ops.unlink(parent, name);
  3991. FS.destroyNode(node);
  3992. try {
  3993. if (FS.trackingDelegate["onDeletePath"])
  3994. FS.trackingDelegate["onDeletePath"](path);
  3995. } catch (e) {
  3996. console.log(
  3997. "FS.trackingDelegate['onDeletePath']('" +
  3998. path +
  3999. "') threw an exception: " +
  4000. e.message
  4001. );
  4002. }
  4003. },
  4004. readlink: function readlink(path) {
  4005. var lookup = FS.lookupPath(path);
  4006. var link = lookup.node;
  4007. if (!link) {
  4008. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  4009. }
  4010. if (!link.node_ops.readlink) {
  4011. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4012. }
  4013. return PATH.resolve(
  4014. FS.getPath(link.parent),
  4015. link.node_ops.readlink(link)
  4016. );
  4017. },
  4018. stat: function stat(path, dontFollow) {
  4019. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  4020. var node = lookup.node;
  4021. if (!node) {
  4022. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  4023. }
  4024. if (!node.node_ops.getattr) {
  4025. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  4026. }
  4027. return node.node_ops.getattr(node);
  4028. },
  4029. lstat: function lstat(path) {
  4030. return FS.stat(path, true);
  4031. },
  4032. chmod: function chmod(path, mode, dontFollow) {
  4033. var node;
  4034. if (typeof path === "string") {
  4035. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  4036. node = lookup.node;
  4037. } else {
  4038. node = path;
  4039. }
  4040. if (!node.node_ops.setattr) {
  4041. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  4042. }
  4043. node.node_ops.setattr(node, {
  4044. mode: (mode & 4095) | (node.mode & ~4095),
  4045. timestamp: Date.now(),
  4046. });
  4047. },
  4048. lchmod: function lchmod(path, mode) {
  4049. FS.chmod(path, mode, true);
  4050. },
  4051. fchmod: function fchmod(fd, mode) {
  4052. var stream = FS.getStream(fd);
  4053. if (!stream) {
  4054. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4055. }
  4056. FS.chmod(stream.node, mode);
  4057. },
  4058. chown: function chown(path, uid, gid, dontFollow) {
  4059. var node;
  4060. if (typeof path === "string") {
  4061. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  4062. node = lookup.node;
  4063. } else {
  4064. node = path;
  4065. }
  4066. if (!node.node_ops.setattr) {
  4067. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  4068. }
  4069. node.node_ops.setattr(node, { timestamp: Date.now() });
  4070. },
  4071. lchown: function lchown(path, uid, gid) {
  4072. FS.chown(path, uid, gid, true);
  4073. },
  4074. fchown: function fchown(fd, uid, gid) {
  4075. var stream = FS.getStream(fd);
  4076. if (!stream) {
  4077. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4078. }
  4079. FS.chown(stream.node, uid, gid);
  4080. },
  4081. truncate: function truncate(path, len) {
  4082. if (len < 0) {
  4083. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4084. }
  4085. var node;
  4086. if (typeof path === "string") {
  4087. var lookup = FS.lookupPath(path, { follow: true });
  4088. node = lookup.node;
  4089. } else {
  4090. node = path;
  4091. }
  4092. if (!node.node_ops.setattr) {
  4093. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  4094. }
  4095. if (FS.isDir(node.mode)) {
  4096. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  4097. }
  4098. if (!FS.isFile(node.mode)) {
  4099. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4100. }
  4101. var err = FS.nodePermissions(node, "w");
  4102. if (err) {
  4103. throw new FS.ErrnoError(err);
  4104. }
  4105. node.node_ops.setattr(node, {
  4106. size: len,
  4107. timestamp: Date.now(),
  4108. });
  4109. },
  4110. ftruncate: function ftruncate(fd, len) {
  4111. var stream = FS.getStream(fd);
  4112. if (!stream) {
  4113. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4114. }
  4115. if ((stream.flags & 2097155) === 0) {
  4116. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4117. }
  4118. FS.truncate(stream.node, len);
  4119. },
  4120. utime: function utime(path, atime, mtime) {
  4121. var lookup = FS.lookupPath(path, { follow: true });
  4122. var node = lookup.node;
  4123. node.node_ops.setattr(node, {
  4124. timestamp: Math.max(atime, mtime),
  4125. });
  4126. },
  4127. open: function open(path, flags, mode, fd_start, fd_end) {
  4128. if (path === "") {
  4129. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  4130. }
  4131. flags =
  4132. typeof flags === "string"
  4133. ? FS.modeStringToFlags(flags)
  4134. : flags;
  4135. mode = typeof mode === "undefined" ? 438 : mode;
  4136. if (flags & 64) {
  4137. mode = (mode & 4095) | 32768;
  4138. } else {
  4139. mode = 0;
  4140. }
  4141. var node;
  4142. if (
  4143. (typeof path === "undefined"
  4144. ? "undefined"
  4145. : _typeof(path)) === "object"
  4146. ) {
  4147. node = path;
  4148. } else {
  4149. path = PATH.normalize(path);
  4150. try {
  4151. var lookup = FS.lookupPath(path, {
  4152. follow: !(flags & 131072),
  4153. });
  4154. node = lookup.node;
  4155. } catch (e) {}
  4156. }
  4157. var created = false;
  4158. if (flags & 64) {
  4159. if (node) {
  4160. if (flags & 128) {
  4161. throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
  4162. }
  4163. } else {
  4164. node = FS.mknod(path, mode, 0);
  4165. created = true;
  4166. }
  4167. }
  4168. if (!node) {
  4169. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  4170. }
  4171. if (FS.isChrdev(node.mode)) {
  4172. flags &= ~512;
  4173. }
  4174. if (flags & 65536 && !FS.isDir(node.mode)) {
  4175. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  4176. }
  4177. if (!created) {
  4178. var err = FS.mayOpen(node, flags);
  4179. if (err) {
  4180. throw new FS.ErrnoError(err);
  4181. }
  4182. }
  4183. if (flags & 512) {
  4184. FS.truncate(node, 0);
  4185. }
  4186. flags &= ~(128 | 512);
  4187. var stream = FS.createStream(
  4188. {
  4189. node: node,
  4190. path: FS.getPath(node),
  4191. flags: flags,
  4192. seekable: true,
  4193. position: 0,
  4194. stream_ops: node.stream_ops,
  4195. ungotten: [],
  4196. error: false,
  4197. },
  4198. fd_start,
  4199. fd_end
  4200. );
  4201. if (stream.stream_ops.open) {
  4202. stream.stream_ops.open(stream);
  4203. }
  4204. if (Module["logReadFiles"] && !(flags & 1)) {
  4205. if (!FS.readFiles) FS.readFiles = {};
  4206. if (!(path in FS.readFiles)) {
  4207. FS.readFiles[path] = 1;
  4208. err("read file: " + path);
  4209. }
  4210. }
  4211. try {
  4212. if (FS.trackingDelegate["onOpenFile"]) {
  4213. var trackingFlags = 0;
  4214. if ((flags & 2097155) !== 1) {
  4215. trackingFlags |= FS.tracking.openFlags.READ;
  4216. }
  4217. if ((flags & 2097155) !== 0) {
  4218. trackingFlags |= FS.tracking.openFlags.WRITE;
  4219. }
  4220. FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  4221. }
  4222. } catch (e) {
  4223. console.log(
  4224. "FS.trackingDelegate['onOpenFile']('" +
  4225. path +
  4226. "', flags) threw an exception: " +
  4227. e.message
  4228. );
  4229. }
  4230. return stream;
  4231. },
  4232. close: function close(stream) {
  4233. if (FS.isClosed(stream)) {
  4234. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4235. }
  4236. if (stream.getdents) stream.getdents = null;
  4237. try {
  4238. if (stream.stream_ops.close) {
  4239. stream.stream_ops.close(stream);
  4240. }
  4241. } catch (e) {
  4242. throw e;
  4243. } finally {
  4244. FS.closeStream(stream.fd);
  4245. }
  4246. stream.fd = null;
  4247. },
  4248. isClosed: function isClosed(stream) {
  4249. return stream.fd === null;
  4250. },
  4251. llseek: function llseek(stream, offset, whence) {
  4252. if (FS.isClosed(stream)) {
  4253. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4254. }
  4255. if (!stream.seekable || !stream.stream_ops.llseek) {
  4256. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  4257. }
  4258. stream.position = stream.stream_ops.llseek(
  4259. stream,
  4260. offset,
  4261. whence
  4262. );
  4263. stream.ungotten = [];
  4264. return stream.position;
  4265. },
  4266. read: function read(stream, buffer, offset, length, position) {
  4267. if (length < 0 || position < 0) {
  4268. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4269. }
  4270. if (FS.isClosed(stream)) {
  4271. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4272. }
  4273. if ((stream.flags & 2097155) === 1) {
  4274. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4275. }
  4276. if (FS.isDir(stream.node.mode)) {
  4277. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  4278. }
  4279. if (!stream.stream_ops.read) {
  4280. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4281. }
  4282. var seeking = typeof position !== "undefined";
  4283. if (!seeking) {
  4284. position = stream.position;
  4285. } else if (!stream.seekable) {
  4286. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  4287. }
  4288. var bytesRead = stream.stream_ops.read(
  4289. stream,
  4290. buffer,
  4291. offset,
  4292. length,
  4293. position
  4294. );
  4295. if (!seeking) stream.position += bytesRead;
  4296. return bytesRead;
  4297. },
  4298. write: function write(
  4299. stream,
  4300. buffer,
  4301. offset,
  4302. length,
  4303. position,
  4304. canOwn
  4305. ) {
  4306. if (length < 0 || position < 0) {
  4307. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4308. }
  4309. if (FS.isClosed(stream)) {
  4310. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4311. }
  4312. if ((stream.flags & 2097155) === 0) {
  4313. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4314. }
  4315. if (FS.isDir(stream.node.mode)) {
  4316. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  4317. }
  4318. if (!stream.stream_ops.write) {
  4319. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4320. }
  4321. if (stream.flags & 1024) {
  4322. FS.llseek(stream, 0, 2);
  4323. }
  4324. var seeking = typeof position !== "undefined";
  4325. if (!seeking) {
  4326. position = stream.position;
  4327. } else if (!stream.seekable) {
  4328. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  4329. }
  4330. var bytesWritten = stream.stream_ops.write(
  4331. stream,
  4332. buffer,
  4333. offset,
  4334. length,
  4335. position,
  4336. canOwn
  4337. );
  4338. if (!seeking) stream.position += bytesWritten;
  4339. try {
  4340. if (stream.path && FS.trackingDelegate["onWriteToFile"])
  4341. FS.trackingDelegate["onWriteToFile"](stream.path);
  4342. } catch (e) {
  4343. console.log(
  4344. "FS.trackingDelegate['onWriteToFile']('" +
  4345. path +
  4346. "') threw an exception: " +
  4347. e.message
  4348. );
  4349. }
  4350. return bytesWritten;
  4351. },
  4352. allocate: function allocate(stream, offset, length) {
  4353. if (FS.isClosed(stream)) {
  4354. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4355. }
  4356. if (offset < 0 || length <= 0) {
  4357. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  4358. }
  4359. if ((stream.flags & 2097155) === 0) {
  4360. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4361. }
  4362. if (
  4363. !FS.isFile(stream.node.mode) &&
  4364. !FS.isDir(stream.node.mode)
  4365. ) {
  4366. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  4367. }
  4368. if (!stream.stream_ops.allocate) {
  4369. throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
  4370. }
  4371. stream.stream_ops.allocate(stream, offset, length);
  4372. },
  4373. mmap: function mmap(
  4374. stream,
  4375. buffer,
  4376. offset,
  4377. length,
  4378. position,
  4379. prot,
  4380. flags
  4381. ) {
  4382. if ((stream.flags & 2097155) === 1) {
  4383. throw new FS.ErrnoError(ERRNO_CODES.EACCES);
  4384. }
  4385. if (!stream.stream_ops.mmap) {
  4386. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  4387. }
  4388. return stream.stream_ops.mmap(
  4389. stream,
  4390. buffer,
  4391. offset,
  4392. length,
  4393. position,
  4394. prot,
  4395. flags
  4396. );
  4397. },
  4398. msync: function msync(
  4399. stream,
  4400. buffer,
  4401. offset,
  4402. length,
  4403. mmapFlags
  4404. ) {
  4405. if (!stream || !stream.stream_ops.msync) {
  4406. return 0;
  4407. }
  4408. return stream.stream_ops.msync(
  4409. stream,
  4410. buffer,
  4411. offset,
  4412. length,
  4413. mmapFlags
  4414. );
  4415. },
  4416. munmap: function munmap(stream) {
  4417. return 0;
  4418. },
  4419. ioctl: function ioctl(stream, cmd, arg) {
  4420. if (!stream.stream_ops.ioctl) {
  4421. throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
  4422. }
  4423. return stream.stream_ops.ioctl(stream, cmd, arg);
  4424. },
  4425. readFile: function readFile(path, opts) {
  4426. opts = opts || {};
  4427. opts.flags = opts.flags || "r";
  4428. opts.encoding = opts.encoding || "binary";
  4429. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  4430. throw new Error(
  4431. 'Invalid encoding type "' + opts.encoding + '"'
  4432. );
  4433. }
  4434. var ret;
  4435. var stream = FS.open(path, opts.flags);
  4436. var stat = FS.stat(path);
  4437. var length = stat.size;
  4438. var buf = new Uint8Array(length);
  4439. FS.read(stream, buf, 0, length, 0);
  4440. if (opts.encoding === "utf8") {
  4441. ret = UTF8ArrayToString(buf, 0);
  4442. } else if (opts.encoding === "binary") {
  4443. ret = buf;
  4444. }
  4445. FS.close(stream);
  4446. return ret;
  4447. },
  4448. writeFile: function writeFile(path, data, opts) {
  4449. opts = opts || {};
  4450. opts.flags = opts.flags || "w";
  4451. var stream = FS.open(path, opts.flags, opts.mode);
  4452. if (typeof data === "string") {
  4453. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  4454. var actualNumBytes = stringToUTF8Array(
  4455. data,
  4456. buf,
  4457. 0,
  4458. buf.length
  4459. );
  4460. FS.write(
  4461. stream,
  4462. buf,
  4463. 0,
  4464. actualNumBytes,
  4465. undefined,
  4466. opts.canOwn
  4467. );
  4468. } else if (ArrayBuffer.isView(data)) {
  4469. FS.write(
  4470. stream,
  4471. data,
  4472. 0,
  4473. data.byteLength,
  4474. undefined,
  4475. opts.canOwn
  4476. );
  4477. } else {
  4478. throw new Error("Unsupported data type");
  4479. }
  4480. FS.close(stream);
  4481. },
  4482. cwd: function cwd() {
  4483. return FS.currentPath;
  4484. },
  4485. chdir: function chdir(path) {
  4486. var lookup = FS.lookupPath(path, { follow: true });
  4487. if (lookup.node === null) {
  4488. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  4489. }
  4490. if (!FS.isDir(lookup.node.mode)) {
  4491. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  4492. }
  4493. var err = FS.nodePermissions(lookup.node, "x");
  4494. if (err) {
  4495. throw new FS.ErrnoError(err);
  4496. }
  4497. FS.currentPath = lookup.path;
  4498. },
  4499. createDefaultDirectories: function createDefaultDirectories() {
  4500. FS.mkdir("/tmp");
  4501. FS.mkdir("/home");
  4502. FS.mkdir("/home/web_user");
  4503. },
  4504. createDefaultDevices: function createDefaultDevices() {
  4505. FS.mkdir("/dev");
  4506. FS.registerDevice(FS.makedev(1, 3), {
  4507. read: function read() {
  4508. return 0;
  4509. },
  4510. write: function write(stream, buffer, offset, length, pos) {
  4511. return length;
  4512. },
  4513. });
  4514. FS.mkdev("/dev/null", FS.makedev(1, 3));
  4515. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  4516. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  4517. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  4518. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  4519. var random_device;
  4520. if (typeof crypto !== "undefined") {
  4521. var randomBuffer = new Uint8Array(1);
  4522. random_device = function random_device() {
  4523. crypto.getRandomValues(randomBuffer);
  4524. return randomBuffer[0];
  4525. };
  4526. } else if (ENVIRONMENT_IS_NODE) {
  4527. random_device = function random_device() {
  4528. return require("crypto")["randomBytes"](1)[0];
  4529. };
  4530. } else {
  4531. random_device = function random_device() {
  4532. return (Math.random() * 256) | 0;
  4533. };
  4534. }
  4535. FS.createDevice("/dev", "random", random_device);
  4536. FS.createDevice("/dev", "urandom", random_device);
  4537. FS.mkdir("/dev/shm");
  4538. FS.mkdir("/dev/shm/tmp");
  4539. },
  4540. createSpecialDirectories: function createSpecialDirectories() {
  4541. FS.mkdir("/proc");
  4542. FS.mkdir("/proc/self");
  4543. FS.mkdir("/proc/self/fd");
  4544. FS.mount(
  4545. {
  4546. mount: function mount() {
  4547. var node = FS.createNode(
  4548. "/proc/self",
  4549. "fd",
  4550. 16384 | 511,
  4551. 73
  4552. );
  4553. node.node_ops = {
  4554. lookup: function lookup(parent, name) {
  4555. var fd = +name;
  4556. var stream = FS.getStream(fd);
  4557. if (!stream)
  4558. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  4559. var ret = {
  4560. parent: null,
  4561. mount: { mountpoint: "fake" },
  4562. node_ops: {
  4563. readlink: function readlink() {
  4564. return stream.path;
  4565. },
  4566. },
  4567. };
  4568. ret.parent = ret;
  4569. return ret;
  4570. },
  4571. };
  4572. return node;
  4573. },
  4574. },
  4575. {},
  4576. "/proc/self/fd"
  4577. );
  4578. },
  4579. createStandardStreams: function createStandardStreams() {
  4580. if (Module["stdin"]) {
  4581. FS.createDevice("/dev", "stdin", Module["stdin"]);
  4582. } else {
  4583. FS.symlink("/dev/tty", "/dev/stdin");
  4584. }
  4585. if (Module["stdout"]) {
  4586. FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  4587. } else {
  4588. FS.symlink("/dev/tty", "/dev/stdout");
  4589. }
  4590. if (Module["stderr"]) {
  4591. FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  4592. } else {
  4593. FS.symlink("/dev/tty1", "/dev/stderr");
  4594. }
  4595. var stdin = FS.open("/dev/stdin", "r");
  4596. assert(
  4597. stdin.fd === 0,
  4598. "invalid handle for stdin (" + stdin.fd + ")"
  4599. );
  4600. var stdout = FS.open("/dev/stdout", "w");
  4601. assert(
  4602. stdout.fd === 1,
  4603. "invalid handle for stdout (" + stdout.fd + ")"
  4604. );
  4605. var stderr = FS.open("/dev/stderr", "w");
  4606. assert(
  4607. stderr.fd === 2,
  4608. "invalid handle for stderr (" + stderr.fd + ")"
  4609. );
  4610. },
  4611. ensureErrnoError: function ensureErrnoError() {
  4612. if (FS.ErrnoError) return;
  4613. FS.ErrnoError = function ErrnoError(errno, node) {
  4614. this.node = node;
  4615. this.setErrno = function (errno) {
  4616. this.errno = errno;
  4617. for (var key in ERRNO_CODES) {
  4618. if (ERRNO_CODES[key] === errno) {
  4619. this.code = key;
  4620. break;
  4621. }
  4622. }
  4623. };
  4624. this.setErrno(errno);
  4625. this.message = ERRNO_MESSAGES[errno];
  4626. if (this.stack)
  4627. Object.defineProperty(this, "stack", {
  4628. value: new Error().stack,
  4629. writable: true,
  4630. });
  4631. };
  4632. FS.ErrnoError.prototype = new Error();
  4633. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  4634. [ERRNO_CODES.ENOENT].forEach(function (code) {
  4635. FS.genericErrors[code] = new FS.ErrnoError(code);
  4636. FS.genericErrors[code].stack = "<generic error, no stack>";
  4637. });
  4638. },
  4639. staticInit: function staticInit() {
  4640. FS.ensureErrnoError();
  4641. FS.nameTable = new Array(4096);
  4642. FS.mount(MEMFS, {}, "/");
  4643. FS.createDefaultDirectories();
  4644. FS.createDefaultDevices();
  4645. FS.createSpecialDirectories();
  4646. FS.filesystems = {
  4647. MEMFS: MEMFS,
  4648. IDBFS: IDBFS,
  4649. NODEFS: NODEFS,
  4650. WORKERFS: WORKERFS,
  4651. };
  4652. },
  4653. init: function init(input, output, error) {
  4654. assert(
  4655. !FS.init.initialized,
  4656. "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)"
  4657. );
  4658. FS.init.initialized = true;
  4659. FS.ensureErrnoError();
  4660. Module["stdin"] = input || Module["stdin"];
  4661. Module["stdout"] = output || Module["stdout"];
  4662. Module["stderr"] = error || Module["stderr"];
  4663. FS.createStandardStreams();
  4664. },
  4665. quit: function quit() {
  4666. FS.init.initialized = false;
  4667. var fflush = Module["_fflush"];
  4668. if (fflush) fflush(0);
  4669. for (var i = 0; i < FS.streams.length; i++) {
  4670. var stream = FS.streams[i];
  4671. if (!stream) {
  4672. continue;
  4673. }
  4674. FS.close(stream);
  4675. }
  4676. },
  4677. getMode: function getMode(canRead, canWrite) {
  4678. var mode = 0;
  4679. if (canRead) mode |= 292 | 73;
  4680. if (canWrite) mode |= 146;
  4681. return mode;
  4682. },
  4683. joinPath: function joinPath(parts, forceRelative) {
  4684. var path = PATH.join.apply(null, parts);
  4685. if (forceRelative && path[0] == "/") path = path.substr(1);
  4686. return path;
  4687. },
  4688. absolutePath: function absolutePath(relative, base) {
  4689. return PATH.resolve(base, relative);
  4690. },
  4691. standardizePath: function standardizePath(path) {
  4692. return PATH.normalize(path);
  4693. },
  4694. findObject: function findObject(path, dontResolveLastLink) {
  4695. var ret = FS.analyzePath(path, dontResolveLastLink);
  4696. if (ret.exists) {
  4697. return ret.object;
  4698. } else {
  4699. ___setErrNo(ret.error);
  4700. return null;
  4701. }
  4702. },
  4703. analyzePath: function analyzePath(path, dontResolveLastLink) {
  4704. try {
  4705. var lookup = FS.lookupPath(path, {
  4706. follow: !dontResolveLastLink,
  4707. });
  4708. path = lookup.path;
  4709. } catch (e) {}
  4710. var ret = {
  4711. isRoot: false,
  4712. exists: false,
  4713. error: 0,
  4714. name: null,
  4715. path: null,
  4716. object: null,
  4717. parentExists: false,
  4718. parentPath: null,
  4719. parentObject: null,
  4720. };
  4721. try {
  4722. var lookup = FS.lookupPath(path, { parent: true });
  4723. ret.parentExists = true;
  4724. ret.parentPath = lookup.path;
  4725. ret.parentObject = lookup.node;
  4726. ret.name = PATH.basename(path);
  4727. lookup = FS.lookupPath(path, {
  4728. follow: !dontResolveLastLink,
  4729. });
  4730. ret.exists = true;
  4731. ret.path = lookup.path;
  4732. ret.object = lookup.node;
  4733. ret.name = lookup.node.name;
  4734. ret.isRoot = lookup.path === "/";
  4735. } catch (e) {
  4736. ret.error = e.errno;
  4737. }
  4738. return ret;
  4739. },
  4740. createFolder: function createFolder(
  4741. parent,
  4742. name,
  4743. canRead,
  4744. canWrite
  4745. ) {
  4746. var path = PATH.join2(
  4747. typeof parent === "string" ? parent : FS.getPath(parent),
  4748. name
  4749. );
  4750. var mode = FS.getMode(canRead, canWrite);
  4751. return FS.mkdir(path, mode);
  4752. },
  4753. createPath: function createPath(
  4754. parent,
  4755. path,
  4756. canRead,
  4757. canWrite
  4758. ) {
  4759. parent =
  4760. typeof parent === "string" ? parent : FS.getPath(parent);
  4761. var parts = path.split("/").reverse();
  4762. while (parts.length) {
  4763. var part = parts.pop();
  4764. if (!part) continue;
  4765. var current = PATH.join2(parent, part);
  4766. try {
  4767. FS.mkdir(current);
  4768. } catch (e) {}
  4769. parent = current;
  4770. }
  4771. return current;
  4772. },
  4773. createFile: function createFile(
  4774. parent,
  4775. name,
  4776. properties,
  4777. canRead,
  4778. canWrite
  4779. ) {
  4780. var path = PATH.join2(
  4781. typeof parent === "string" ? parent : FS.getPath(parent),
  4782. name
  4783. );
  4784. var mode = FS.getMode(canRead, canWrite);
  4785. return FS.create(path, mode);
  4786. },
  4787. createDataFile: function createDataFile(
  4788. parent,
  4789. name,
  4790. data,
  4791. canRead,
  4792. canWrite,
  4793. canOwn
  4794. ) {
  4795. var path = name
  4796. ? PATH.join2(
  4797. typeof parent === "string"
  4798. ? parent
  4799. : FS.getPath(parent),
  4800. name
  4801. )
  4802. : parent;
  4803. var mode = FS.getMode(canRead, canWrite);
  4804. var node = FS.create(path, mode);
  4805. if (data) {
  4806. if (typeof data === "string") {
  4807. var arr = new Array(data.length);
  4808. for (var i = 0, len = data.length; i < len; ++i) {
  4809. arr[i] = data.charCodeAt(i);
  4810. }
  4811. data = arr;
  4812. }
  4813. FS.chmod(node, mode | 146);
  4814. var stream = FS.open(node, "w");
  4815. FS.write(stream, data, 0, data.length, 0, canOwn);
  4816. FS.close(stream);
  4817. FS.chmod(node, mode);
  4818. }
  4819. return node;
  4820. },
  4821. createDevice: function createDevice(
  4822. parent,
  4823. name,
  4824. input,
  4825. output
  4826. ) {
  4827. var path = PATH.join2(
  4828. typeof parent === "string" ? parent : FS.getPath(parent),
  4829. name
  4830. );
  4831. var mode = FS.getMode(!!input, !!output);
  4832. if (!FS.createDevice.major) FS.createDevice.major = 64;
  4833. var dev = FS.makedev(FS.createDevice.major++, 0);
  4834. FS.registerDevice(dev, {
  4835. open: function open(stream) {
  4836. stream.seekable = false;
  4837. },
  4838. close: function close(stream) {
  4839. if (output && output.buffer && output.buffer.length) {
  4840. output(10);
  4841. }
  4842. },
  4843. read: function read(stream, buffer, offset, length, pos) {
  4844. var bytesRead = 0;
  4845. for (var i = 0; i < length; i++) {
  4846. var result;
  4847. try {
  4848. result = input();
  4849. } catch (e) {
  4850. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  4851. }
  4852. if (result === undefined && bytesRead === 0) {
  4853. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  4854. }
  4855. if (result === null || result === undefined) break;
  4856. bytesRead++;
  4857. buffer[offset + i] = result;
  4858. }
  4859. if (bytesRead) {
  4860. stream.node.timestamp = Date.now();
  4861. }
  4862. return bytesRead;
  4863. },
  4864. write: function write(stream, buffer, offset, length, pos) {
  4865. for (var i = 0; i < length; i++) {
  4866. try {
  4867. output(buffer[offset + i]);
  4868. } catch (e) {
  4869. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  4870. }
  4871. }
  4872. if (length) {
  4873. stream.node.timestamp = Date.now();
  4874. }
  4875. return i;
  4876. },
  4877. });
  4878. return FS.mkdev(path, mode, dev);
  4879. },
  4880. createLink: function createLink(
  4881. parent,
  4882. name,
  4883. target,
  4884. canRead,
  4885. canWrite
  4886. ) {
  4887. var path = PATH.join2(
  4888. typeof parent === "string" ? parent : FS.getPath(parent),
  4889. name
  4890. );
  4891. return FS.symlink(target, path);
  4892. },
  4893. forceLoadFile: function forceLoadFile(obj) {
  4894. if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
  4895. return true;
  4896. var success = true;
  4897. if (typeof XMLHttpRequest !== "undefined") {
  4898. throw new Error(
  4899. "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."
  4900. );
  4901. } else if (Module["read"]) {
  4902. try {
  4903. obj.contents = intArrayFromString(
  4904. Module["read"](obj.url),
  4905. true
  4906. );
  4907. obj.usedBytes = obj.contents.length;
  4908. } catch (e) {
  4909. success = false;
  4910. }
  4911. } else {
  4912. throw new Error(
  4913. "Cannot load without read() or XMLHttpRequest."
  4914. );
  4915. }
  4916. if (!success) ___setErrNo(ERRNO_CODES.EIO);
  4917. return success;
  4918. },
  4919. createLazyFile: function createLazyFile(
  4920. parent,
  4921. name,
  4922. url,
  4923. canRead,
  4924. canWrite
  4925. ) {
  4926. function LazyUint8Array() {
  4927. this.lengthKnown = false;
  4928. this.chunks = [];
  4929. }
  4930. LazyUint8Array.prototype.get = function LazyUint8Array_get(
  4931. idx
  4932. ) {
  4933. if (idx > this.length - 1 || idx < 0) {
  4934. return undefined;
  4935. }
  4936. var chunkOffset = idx % this.chunkSize;
  4937. var chunkNum = (idx / this.chunkSize) | 0;
  4938. return this.getter(chunkNum)[chunkOffset];
  4939. };
  4940. LazyUint8Array.prototype.setDataGetter =
  4941. function LazyUint8Array_setDataGetter(getter) {
  4942. this.getter = getter;
  4943. };
  4944. LazyUint8Array.prototype.cacheLength =
  4945. function LazyUint8Array_cacheLength() {
  4946. var xhr = new XMLHttpRequest();
  4947. xhr.open("HEAD", url, false);
  4948. xhr.send(null);
  4949. if (
  4950. !(
  4951. (xhr.status >= 200 && xhr.status < 300) ||
  4952. xhr.status === 304
  4953. )
  4954. )
  4955. throw new Error(
  4956. "Couldn't load " + url + ". Status: " + xhr.status
  4957. );
  4958. var datalength = Number(
  4959. xhr.getResponseHeader("Content-length")
  4960. );
  4961. var header;
  4962. var hasByteServing =
  4963. (header = xhr.getResponseHeader("Accept-Ranges")) &&
  4964. header === "bytes";
  4965. var usesGzip =
  4966. (header = xhr.getResponseHeader("Content-Encoding")) &&
  4967. header === "gzip";
  4968. var chunkSize = 1024 * 1024;
  4969. if (!hasByteServing) chunkSize = datalength;
  4970. var doXHR = function doXHR(from, to) {
  4971. if (from > to)
  4972. throw new Error(
  4973. "invalid range (" +
  4974. from +
  4975. ", " +
  4976. to +
  4977. ") or no bytes requested!"
  4978. );
  4979. if (to > datalength - 1)
  4980. throw new Error(
  4981. "only " +
  4982. datalength +
  4983. " bytes available! programmer error!"
  4984. );
  4985. var xhr = new XMLHttpRequest();
  4986. xhr.open("GET", url, false);
  4987. if (datalength !== chunkSize)
  4988. xhr.setRequestHeader(
  4989. "Range",
  4990. "bytes=" + from + "-" + to
  4991. );
  4992. if (typeof Uint8Array != "undefined")
  4993. xhr.responseType = "arraybuffer";
  4994. if (xhr.overrideMimeType) {
  4995. xhr.overrideMimeType(
  4996. "text/plain; charset=x-user-defined"
  4997. );
  4998. }
  4999. xhr.send(null);
  5000. if (
  5001. !(
  5002. (xhr.status >= 200 && xhr.status < 300) ||
  5003. xhr.status === 304
  5004. )
  5005. )
  5006. throw new Error(
  5007. "Couldn't load " + url + ". Status: " + xhr.status
  5008. );
  5009. if (xhr.response !== undefined) {
  5010. return new Uint8Array(xhr.response || []);
  5011. } else {
  5012. return intArrayFromString(
  5013. xhr.responseText || "",
  5014. true
  5015. );
  5016. }
  5017. };
  5018. var lazyArray = this;
  5019. lazyArray.setDataGetter(function (chunkNum) {
  5020. var start = chunkNum * chunkSize;
  5021. var end = (chunkNum + 1) * chunkSize - 1;
  5022. end = Math.min(end, datalength - 1);
  5023. if (typeof lazyArray.chunks[chunkNum] === "undefined") {
  5024. lazyArray.chunks[chunkNum] = doXHR(start, end);
  5025. }
  5026. if (typeof lazyArray.chunks[chunkNum] === "undefined")
  5027. throw new Error("doXHR failed!");
  5028. return lazyArray.chunks[chunkNum];
  5029. });
  5030. if (usesGzip || !datalength) {
  5031. chunkSize = datalength = 1;
  5032. datalength = this.getter(0).length;
  5033. chunkSize = datalength;
  5034. console.log(
  5035. "LazyFiles on gzip forces download of the whole file when length is accessed"
  5036. );
  5037. }
  5038. this._length = datalength;
  5039. this._chunkSize = chunkSize;
  5040. this.lengthKnown = true;
  5041. };
  5042. if (typeof XMLHttpRequest !== "undefined") {
  5043. if (!ENVIRONMENT_IS_WORKER)
  5044. throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  5045. var lazyArray = new LazyUint8Array();
  5046. Object.defineProperties(lazyArray, {
  5047. length: {
  5048. get: function get() {
  5049. if (!this.lengthKnown) {
  5050. this.cacheLength();
  5051. }
  5052. return this._length;
  5053. },
  5054. },
  5055. chunkSize: {
  5056. get: function get() {
  5057. if (!this.lengthKnown) {
  5058. this.cacheLength();
  5059. }
  5060. return this._chunkSize;
  5061. },
  5062. },
  5063. });
  5064. var properties = { isDevice: false, contents: lazyArray };
  5065. } else {
  5066. var properties = { isDevice: false, url: url };
  5067. }
  5068. var node = FS.createFile(
  5069. parent,
  5070. name,
  5071. properties,
  5072. canRead,
  5073. canWrite
  5074. );
  5075. if (properties.contents) {
  5076. node.contents = properties.contents;
  5077. } else if (properties.url) {
  5078. node.contents = null;
  5079. node.url = properties.url;
  5080. }
  5081. Object.defineProperties(node, {
  5082. usedBytes: {
  5083. get: function get() {
  5084. return this.contents.length;
  5085. },
  5086. },
  5087. });
  5088. var stream_ops = {};
  5089. var keys = Object.keys(node.stream_ops);
  5090. keys.forEach(function (key) {
  5091. var fn = node.stream_ops[key];
  5092. stream_ops[key] = function forceLoadLazyFile() {
  5093. if (!FS.forceLoadFile(node)) {
  5094. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  5095. }
  5096. return fn.apply(null, arguments);
  5097. };
  5098. });
  5099. stream_ops.read = function stream_ops_read(
  5100. stream,
  5101. buffer,
  5102. offset,
  5103. length,
  5104. position
  5105. ) {
  5106. if (!FS.forceLoadFile(node)) {
  5107. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  5108. }
  5109. var contents = stream.node.contents;
  5110. if (position >= contents.length) return 0;
  5111. var size = Math.min(contents.length - position, length);
  5112. assert(size >= 0);
  5113. if (contents.slice) {
  5114. for (var i = 0; i < size; i++) {
  5115. buffer[offset + i] = contents[position + i];
  5116. }
  5117. } else {
  5118. for (var i = 0; i < size; i++) {
  5119. buffer[offset + i] = contents.get(position + i);
  5120. }
  5121. }
  5122. return size;
  5123. };
  5124. node.stream_ops = stream_ops;
  5125. return node;
  5126. },
  5127. createPreloadedFile: function createPreloadedFile(
  5128. parent,
  5129. name,
  5130. url,
  5131. canRead,
  5132. canWrite,
  5133. onload,
  5134. onerror,
  5135. dontCreateFile,
  5136. canOwn,
  5137. preFinish
  5138. ) {
  5139. Browser.init();
  5140. var fullname = name
  5141. ? PATH.resolve(PATH.join2(parent, name))
  5142. : parent;
  5143. var dep = getUniqueRunDependency("cp " + fullname);
  5144. function processData(byteArray) {
  5145. function finish(byteArray) {
  5146. if (preFinish) preFinish();
  5147. if (!dontCreateFile) {
  5148. FS.createDataFile(
  5149. parent,
  5150. name,
  5151. byteArray,
  5152. canRead,
  5153. canWrite,
  5154. canOwn
  5155. );
  5156. }
  5157. if (onload) onload();
  5158. removeRunDependency(dep);
  5159. }
  5160. var handled = false;
  5161. Module["preloadPlugins"].forEach(function (plugin) {
  5162. if (handled) return;
  5163. if (plugin["canHandle"](fullname)) {
  5164. plugin["handle"](
  5165. byteArray,
  5166. fullname,
  5167. finish,
  5168. function () {
  5169. if (onerror) onerror();
  5170. removeRunDependency(dep);
  5171. }
  5172. );
  5173. handled = true;
  5174. }
  5175. });
  5176. if (!handled) finish(byteArray);
  5177. }
  5178. addRunDependency(dep);
  5179. if (typeof url == "string") {
  5180. Browser.asyncLoad(
  5181. url,
  5182. function (byteArray) {
  5183. processData(byteArray);
  5184. },
  5185. onerror
  5186. );
  5187. } else {
  5188. processData(url);
  5189. }
  5190. },
  5191. indexedDB: function indexedDB() {
  5192. return (
  5193. window.indexedDB ||
  5194. window.mozIndexedDB ||
  5195. window.webkitIndexedDB ||
  5196. window.msIndexedDB
  5197. );
  5198. },
  5199. DB_NAME: function DB_NAME() {
  5200. return "EM_FS_" + window.location.pathname;
  5201. },
  5202. DB_VERSION: 20,
  5203. DB_STORE_NAME: "FILE_DATA",
  5204. saveFilesToDB: function saveFilesToDB(paths, onload, onerror) {
  5205. onload = onload || function () {};
  5206. onerror = onerror || function () {};
  5207. var indexedDB = FS.indexedDB();
  5208. try {
  5209. var openRequest = indexedDB.open(
  5210. FS.DB_NAME(),
  5211. FS.DB_VERSION
  5212. );
  5213. } catch (e) {
  5214. return onerror(e);
  5215. }
  5216. openRequest.onupgradeneeded =
  5217. function openRequest_onupgradeneeded() {
  5218. console.log("creating db");
  5219. var db = openRequest.result;
  5220. db.createObjectStore(FS.DB_STORE_NAME);
  5221. };
  5222. openRequest.onsuccess = function openRequest_onsuccess() {
  5223. var db = openRequest.result;
  5224. var transaction = db.transaction(
  5225. [FS.DB_STORE_NAME],
  5226. "readwrite"
  5227. );
  5228. var files = transaction.objectStore(FS.DB_STORE_NAME);
  5229. var ok = 0,
  5230. fail = 0,
  5231. total = paths.length;
  5232. function finish() {
  5233. if (fail == 0) onload();
  5234. else onerror();
  5235. }
  5236. paths.forEach(function (path) {
  5237. var putRequest = files.put(
  5238. FS.analyzePath(path).object.contents,
  5239. path
  5240. );
  5241. putRequest.onsuccess = function putRequest_onsuccess() {
  5242. ok++;
  5243. if (ok + fail == total) finish();
  5244. };
  5245. putRequest.onerror = function putRequest_onerror() {
  5246. fail++;
  5247. if (ok + fail == total) finish();
  5248. };
  5249. });
  5250. transaction.onerror = onerror;
  5251. };
  5252. openRequest.onerror = onerror;
  5253. },
  5254. loadFilesFromDB: function loadFilesFromDB(
  5255. paths,
  5256. onload,
  5257. onerror
  5258. ) {
  5259. onload = onload || function () {};
  5260. onerror = onerror || function () {};
  5261. var indexedDB = FS.indexedDB();
  5262. try {
  5263. var openRequest = indexedDB.open(
  5264. FS.DB_NAME(),
  5265. FS.DB_VERSION
  5266. );
  5267. } catch (e) {
  5268. return onerror(e);
  5269. }
  5270. openRequest.onupgradeneeded = onerror;
  5271. openRequest.onsuccess = function openRequest_onsuccess() {
  5272. var db = openRequest.result;
  5273. try {
  5274. var transaction = db.transaction(
  5275. [FS.DB_STORE_NAME],
  5276. "readonly"
  5277. );
  5278. } catch (e) {
  5279. onerror(e);
  5280. return;
  5281. }
  5282. var files = transaction.objectStore(FS.DB_STORE_NAME);
  5283. var ok = 0,
  5284. fail = 0,
  5285. total = paths.length;
  5286. function finish() {
  5287. if (fail == 0) onload();
  5288. else onerror();
  5289. }
  5290. paths.forEach(function (path) {
  5291. var getRequest = files.get(path);
  5292. getRequest.onsuccess = function getRequest_onsuccess() {
  5293. if (FS.analyzePath(path).exists) {
  5294. FS.unlink(path);
  5295. }
  5296. FS.createDataFile(
  5297. PATH.dirname(path),
  5298. PATH.basename(path),
  5299. getRequest.result,
  5300. true,
  5301. true,
  5302. true
  5303. );
  5304. ok++;
  5305. if (ok + fail == total) finish();
  5306. };
  5307. getRequest.onerror = function getRequest_onerror() {
  5308. fail++;
  5309. if (ok + fail == total) finish();
  5310. };
  5311. });
  5312. transaction.onerror = onerror;
  5313. };
  5314. openRequest.onerror = onerror;
  5315. },
  5316. };
  5317. var SYSCALLS = {
  5318. DEFAULT_POLLMASK: 5,
  5319. mappings: {},
  5320. umask: 511,
  5321. calculateAt: function calculateAt(dirfd, path) {
  5322. if (path[0] !== "/") {
  5323. var dir;
  5324. if (dirfd === -100) {
  5325. dir = FS.cwd();
  5326. } else {
  5327. var dirstream = FS.getStream(dirfd);
  5328. if (!dirstream)
  5329. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  5330. dir = dirstream.path;
  5331. }
  5332. path = PATH.join2(dir, path);
  5333. }
  5334. return path;
  5335. },
  5336. doStat: function doStat(func, path, buf) {
  5337. try {
  5338. var stat = func(path);
  5339. } catch (e) {
  5340. if (
  5341. e &&
  5342. e.node &&
  5343. PATH.normalize(path) !==
  5344. PATH.normalize(FS.getPath(e.node))
  5345. ) {
  5346. return -ERRNO_CODES.ENOTDIR;
  5347. }
  5348. throw e;
  5349. }
  5350. HEAP32[buf >> 2] = stat.dev;
  5351. HEAP32[(buf + 4) >> 2] = 0;
  5352. HEAP32[(buf + 8) >> 2] = stat.ino;
  5353. HEAP32[(buf + 12) >> 2] = stat.mode;
  5354. HEAP32[(buf + 16) >> 2] = stat.nlink;
  5355. HEAP32[(buf + 20) >> 2] = stat.uid;
  5356. HEAP32[(buf + 24) >> 2] = stat.gid;
  5357. HEAP32[(buf + 28) >> 2] = stat.rdev;
  5358. HEAP32[(buf + 32) >> 2] = 0;
  5359. HEAP32[(buf + 36) >> 2] = stat.size;
  5360. HEAP32[(buf + 40) >> 2] = 4096;
  5361. HEAP32[(buf + 44) >> 2] = stat.blocks;
  5362. HEAP32[(buf + 48) >> 2] = (stat.atime.getTime() / 1e3) | 0;
  5363. HEAP32[(buf + 52) >> 2] = 0;
  5364. HEAP32[(buf + 56) >> 2] = (stat.mtime.getTime() / 1e3) | 0;
  5365. HEAP32[(buf + 60) >> 2] = 0;
  5366. HEAP32[(buf + 64) >> 2] = (stat.ctime.getTime() / 1e3) | 0;
  5367. HEAP32[(buf + 68) >> 2] = 0;
  5368. HEAP32[(buf + 72) >> 2] = stat.ino;
  5369. return 0;
  5370. },
  5371. doMsync: function doMsync(addr, stream, len, flags) {
  5372. var buffer = new Uint8Array(
  5373. HEAPU8.subarray(addr, addr + len)
  5374. );
  5375. FS.msync(stream, buffer, 0, len, flags);
  5376. },
  5377. doMkdir: function doMkdir(path, mode) {
  5378. path = PATH.normalize(path);
  5379. if (path[path.length - 1] === "/")
  5380. path = path.substr(0, path.length - 1);
  5381. FS.mkdir(path, mode, 0);
  5382. return 0;
  5383. },
  5384. doMknod: function doMknod(path, mode, dev) {
  5385. switch (mode & 61440) {
  5386. case 32768:
  5387. case 8192:
  5388. case 24576:
  5389. case 4096:
  5390. case 49152:
  5391. break;
  5392. default:
  5393. return -ERRNO_CODES.EINVAL;
  5394. }
  5395. FS.mknod(path, mode, dev);
  5396. return 0;
  5397. },
  5398. doReadlink: function doReadlink(path, buf, bufsize) {
  5399. if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
  5400. var ret = FS.readlink(path);
  5401. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  5402. var endChar = HEAP8[buf + len];
  5403. stringToUTF8(ret, buf, bufsize + 1);
  5404. HEAP8[buf + len] = endChar;
  5405. return len;
  5406. },
  5407. doAccess: function doAccess(path, amode) {
  5408. if (amode & ~7) {
  5409. return -ERRNO_CODES.EINVAL;
  5410. }
  5411. var node;
  5412. var lookup = FS.lookupPath(path, { follow: true });
  5413. node = lookup.node;
  5414. var perms = "";
  5415. if (amode & 4) perms += "r";
  5416. if (amode & 2) perms += "w";
  5417. if (amode & 1) perms += "x";
  5418. if (perms && FS.nodePermissions(node, perms)) {
  5419. return -ERRNO_CODES.EACCES;
  5420. }
  5421. return 0;
  5422. },
  5423. doDup: function doDup(path, flags, suggestFD) {
  5424. var suggest = FS.getStream(suggestFD);
  5425. if (suggest) FS.close(suggest);
  5426. return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  5427. },
  5428. doReadv: function doReadv(stream, iov, iovcnt, offset) {
  5429. var ret = 0;
  5430. for (var i = 0; i < iovcnt; i++) {
  5431. var ptr = HEAP32[(iov + i * 8) >> 2];
  5432. var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
  5433. var curr = FS.read(stream, HEAP8, ptr, len, offset);
  5434. if (curr < 0) return -1;
  5435. ret += curr;
  5436. if (curr < len) break;
  5437. }
  5438. return ret;
  5439. },
  5440. doWritev: function doWritev(stream, iov, iovcnt, offset) {
  5441. var ret = 0;
  5442. for (var i = 0; i < iovcnt; i++) {
  5443. var ptr = HEAP32[(iov + i * 8) >> 2];
  5444. var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
  5445. var curr = FS.write(stream, HEAP8, ptr, len, offset);
  5446. if (curr < 0) return -1;
  5447. ret += curr;
  5448. }
  5449. return ret;
  5450. },
  5451. varargs: 0,
  5452. get: function get(varargs) {
  5453. SYSCALLS.varargs += 4;
  5454. var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2];
  5455. return ret;
  5456. },
  5457. getStr: function getStr() {
  5458. var ret = Pointer_stringify(SYSCALLS.get());
  5459. return ret;
  5460. },
  5461. getStreamFromFD: function getStreamFromFD() {
  5462. var stream = FS.getStream(SYSCALLS.get());
  5463. if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  5464. return stream;
  5465. },
  5466. getSocketFromFD: function getSocketFromFD() {
  5467. var socket = SOCKFS.getSocket(SYSCALLS.get());
  5468. if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  5469. return socket;
  5470. },
  5471. getSocketAddress: function getSocketAddress(allowNull) {
  5472. var addrp = SYSCALLS.get(),
  5473. addrlen = SYSCALLS.get();
  5474. if (allowNull && addrp === 0) return null;
  5475. var info = __read_sockaddr(addrp, addrlen);
  5476. if (info.errno) throw new FS.ErrnoError(info.errno);
  5477. info.addr = DNS.lookup_addr(info.addr) || info.addr;
  5478. return info;
  5479. },
  5480. get64: function get64() {
  5481. var low = SYSCALLS.get(),
  5482. high = SYSCALLS.get();
  5483. if (low >= 0) assert(high === 0);
  5484. else assert(high === -1);
  5485. return low;
  5486. },
  5487. getZero: function getZero() {
  5488. assert(SYSCALLS.get() === 0);
  5489. },
  5490. };
  5491. function ___syscall140(which, varargs) {
  5492. SYSCALLS.varargs = varargs;
  5493. try {
  5494. var stream = SYSCALLS.getStreamFromFD(),
  5495. offset_high = SYSCALLS.get(),
  5496. offset_low = SYSCALLS.get(),
  5497. result = SYSCALLS.get(),
  5498. whence = SYSCALLS.get();
  5499. var offset = offset_low;
  5500. FS.llseek(stream, offset, whence);
  5501. HEAP32[result >> 2] = stream.position;
  5502. if (stream.getdents && offset === 0 && whence === 0)
  5503. stream.getdents = null;
  5504. return 0;
  5505. } catch (e) {
  5506. if (
  5507. typeof FS === "undefined" ||
  5508. !(e instanceof FS.ErrnoError)
  5509. )
  5510. abort(e);
  5511. return -e.errno;
  5512. }
  5513. }
  5514. function ___syscall145(which, varargs) {
  5515. SYSCALLS.varargs = varargs;
  5516. try {
  5517. var stream = SYSCALLS.getStreamFromFD(),
  5518. iov = SYSCALLS.get(),
  5519. iovcnt = SYSCALLS.get();
  5520. return SYSCALLS.doReadv(stream, iov, iovcnt);
  5521. } catch (e) {
  5522. if (
  5523. typeof FS === "undefined" ||
  5524. !(e instanceof FS.ErrnoError)
  5525. )
  5526. abort(e);
  5527. return -e.errno;
  5528. }
  5529. }
  5530. function ___syscall146(which, varargs) {
  5531. SYSCALLS.varargs = varargs;
  5532. try {
  5533. var stream = SYSCALLS.getStreamFromFD(),
  5534. iov = SYSCALLS.get(),
  5535. iovcnt = SYSCALLS.get();
  5536. return SYSCALLS.doWritev(stream, iov, iovcnt);
  5537. } catch (e) {
  5538. if (
  5539. typeof FS === "undefined" ||
  5540. !(e instanceof FS.ErrnoError)
  5541. )
  5542. abort(e);
  5543. return -e.errno;
  5544. }
  5545. }
  5546. function ___syscall221(which, varargs) {
  5547. SYSCALLS.varargs = varargs;
  5548. try {
  5549. var stream = SYSCALLS.getStreamFromFD(),
  5550. cmd = SYSCALLS.get();
  5551. switch (cmd) {
  5552. case 0: {
  5553. var arg = SYSCALLS.get();
  5554. if (arg < 0) {
  5555. return -ERRNO_CODES.EINVAL;
  5556. }
  5557. var newStream;
  5558. newStream = FS.open(stream.path, stream.flags, 0, arg);
  5559. return newStream.fd;
  5560. }
  5561. case 1:
  5562. case 2:
  5563. return 0;
  5564. case 3:
  5565. return stream.flags;
  5566. case 4: {
  5567. var arg = SYSCALLS.get();
  5568. stream.flags |= arg;
  5569. return 0;
  5570. }
  5571. case 12:
  5572. case 12: {
  5573. var arg = SYSCALLS.get();
  5574. var offset = 0;
  5575. HEAP16[(arg + offset) >> 1] = 2;
  5576. return 0;
  5577. }
  5578. case 13:
  5579. case 14:
  5580. case 13:
  5581. case 14:
  5582. return 0;
  5583. case 16:
  5584. case 8:
  5585. return -ERRNO_CODES.EINVAL;
  5586. case 9:
  5587. ___setErrNo(ERRNO_CODES.EINVAL);
  5588. return -1;
  5589. default: {
  5590. return -ERRNO_CODES.EINVAL;
  5591. }
  5592. }
  5593. } catch (e) {
  5594. if (
  5595. typeof FS === "undefined" ||
  5596. !(e instanceof FS.ErrnoError)
  5597. )
  5598. abort(e);
  5599. return -e.errno;
  5600. }
  5601. }
  5602. function ___syscall5(which, varargs) {
  5603. SYSCALLS.varargs = varargs;
  5604. try {
  5605. var pathname = SYSCALLS.getStr(),
  5606. flags = SYSCALLS.get(),
  5607. mode = SYSCALLS.get();
  5608. var stream = FS.open(pathname, flags, mode);
  5609. return stream.fd;
  5610. } catch (e) {
  5611. if (
  5612. typeof FS === "undefined" ||
  5613. !(e instanceof FS.ErrnoError)
  5614. )
  5615. abort(e);
  5616. return -e.errno;
  5617. }
  5618. }
  5619. function ___syscall54(which, varargs) {
  5620. SYSCALLS.varargs = varargs;
  5621. try {
  5622. var stream = SYSCALLS.getStreamFromFD(),
  5623. op = SYSCALLS.get();
  5624. switch (op) {
  5625. case 21509:
  5626. case 21505: {
  5627. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  5628. return 0;
  5629. }
  5630. case 21510:
  5631. case 21511:
  5632. case 21512:
  5633. case 21506:
  5634. case 21507:
  5635. case 21508: {
  5636. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  5637. return 0;
  5638. }
  5639. case 21519: {
  5640. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  5641. var argp = SYSCALLS.get();
  5642. HEAP32[argp >> 2] = 0;
  5643. return 0;
  5644. }
  5645. case 21520: {
  5646. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  5647. return -ERRNO_CODES.EINVAL;
  5648. }
  5649. case 21531: {
  5650. var argp = SYSCALLS.get();
  5651. return FS.ioctl(stream, op, argp);
  5652. }
  5653. case 21523: {
  5654. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  5655. return 0;
  5656. }
  5657. case 21524: {
  5658. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  5659. return 0;
  5660. }
  5661. default:
  5662. abort("bad ioctl syscall " + op);
  5663. }
  5664. } catch (e) {
  5665. if (
  5666. typeof FS === "undefined" ||
  5667. !(e instanceof FS.ErrnoError)
  5668. )
  5669. abort(e);
  5670. return -e.errno;
  5671. }
  5672. }
  5673. function ___syscall6(which, varargs) {
  5674. SYSCALLS.varargs = varargs;
  5675. try {
  5676. var stream = SYSCALLS.getStreamFromFD();
  5677. FS.close(stream);
  5678. return 0;
  5679. } catch (e) {
  5680. if (
  5681. typeof FS === "undefined" ||
  5682. !(e instanceof FS.ErrnoError)
  5683. )
  5684. abort(e);
  5685. return -e.errno;
  5686. }
  5687. }
  5688. function ___unlock() {}
  5689. function getShiftFromSize(size) {
  5690. switch (size) {
  5691. case 1:
  5692. return 0;
  5693. case 2:
  5694. return 1;
  5695. case 4:
  5696. return 2;
  5697. case 8:
  5698. return 3;
  5699. default:
  5700. throw new TypeError("Unknown type size: " + size);
  5701. }
  5702. }
  5703. function embind_init_charCodes() {
  5704. var codes = new Array(256);
  5705. for (var i = 0; i < 256; ++i) {
  5706. codes[i] = String.fromCharCode(i);
  5707. }
  5708. embind_charCodes = codes;
  5709. }
  5710. var embind_charCodes = undefined;
  5711. function readLatin1String(ptr) {
  5712. var ret = "";
  5713. var c = ptr;
  5714. while (HEAPU8[c]) {
  5715. ret += embind_charCodes[HEAPU8[c++]];
  5716. }
  5717. return ret;
  5718. }
  5719. var awaitingDependencies = {};
  5720. var registeredTypes = {};
  5721. var typeDependencies = {};
  5722. var char_0 = 48;
  5723. var char_9 = 57;
  5724. function makeLegalFunctionName(name) {
  5725. if (undefined === name) {
  5726. return "_unknown";
  5727. }
  5728. name = name.replace(/[^a-zA-Z0-9_]/g, "$");
  5729. var f = name.charCodeAt(0);
  5730. if (f >= char_0 && f <= char_9) {
  5731. return "_" + name;
  5732. } else {
  5733. return name;
  5734. }
  5735. }
  5736. function createNamedFunction(name, body) {
  5737. name = makeLegalFunctionName(name);
  5738. return new Function(
  5739. "body",
  5740. "return function " +
  5741. name +
  5742. "() {\n" +
  5743. ' "use strict";' +
  5744. " return body.apply(this, arguments);\n" +
  5745. "};\n"
  5746. )(body);
  5747. }
  5748. function extendError(baseErrorType, errorName) {
  5749. var errorClass = createNamedFunction(
  5750. errorName,
  5751. function (message) {
  5752. this.name = errorName;
  5753. this.message = message;
  5754. var stack = new Error(message).stack;
  5755. if (stack !== undefined) {
  5756. this.stack =
  5757. this.toString() +
  5758. "\n" +
  5759. stack.replace(/^Error(:[^\n]*)?\n/, "");
  5760. }
  5761. }
  5762. );
  5763. errorClass.prototype = Object.create(baseErrorType.prototype);
  5764. errorClass.prototype.constructor = errorClass;
  5765. errorClass.prototype.toString = function () {
  5766. if (this.message === undefined) {
  5767. return this.name;
  5768. } else {
  5769. return this.name + ": " + this.message;
  5770. }
  5771. };
  5772. return errorClass;
  5773. }
  5774. var BindingError = undefined;
  5775. function throwBindingError(message) {
  5776. throw new BindingError(message);
  5777. }
  5778. var InternalError = undefined;
  5779. function throwInternalError(message) {
  5780. throw new InternalError(message);
  5781. }
  5782. function whenDependentTypesAreResolved(
  5783. myTypes,
  5784. dependentTypes,
  5785. getTypeConverters
  5786. ) {
  5787. myTypes.forEach(function (type) {
  5788. typeDependencies[type] = dependentTypes;
  5789. });
  5790. function onComplete(typeConverters) {
  5791. var myTypeConverters = getTypeConverters(typeConverters);
  5792. if (myTypeConverters.length !== myTypes.length) {
  5793. throwInternalError("Mismatched type converter count");
  5794. }
  5795. for (var i = 0; i < myTypes.length; ++i) {
  5796. registerType(myTypes[i], myTypeConverters[i]);
  5797. }
  5798. }
  5799. var typeConverters = new Array(dependentTypes.length);
  5800. var unregisteredTypes = [];
  5801. var registered = 0;
  5802. dependentTypes.forEach(function (dt, i) {
  5803. if (registeredTypes.hasOwnProperty(dt)) {
  5804. typeConverters[i] = registeredTypes[dt];
  5805. } else {
  5806. unregisteredTypes.push(dt);
  5807. if (!awaitingDependencies.hasOwnProperty(dt)) {
  5808. awaitingDependencies[dt] = [];
  5809. }
  5810. awaitingDependencies[dt].push(function () {
  5811. typeConverters[i] = registeredTypes[dt];
  5812. ++registered;
  5813. if (registered === unregisteredTypes.length) {
  5814. onComplete(typeConverters);
  5815. }
  5816. });
  5817. }
  5818. });
  5819. if (0 === unregisteredTypes.length) {
  5820. onComplete(typeConverters);
  5821. }
  5822. }
  5823. function registerType(rawType, registeredInstance, options) {
  5824. options = options || {};
  5825. if (!("argPackAdvance" in registeredInstance)) {
  5826. throw new TypeError(
  5827. "registerType registeredInstance requires argPackAdvance"
  5828. );
  5829. }
  5830. var name = registeredInstance.name;
  5831. if (!rawType) {
  5832. throwBindingError(
  5833. 'type "' +
  5834. name +
  5835. '" must have a positive integer typeid pointer'
  5836. );
  5837. }
  5838. if (registeredTypes.hasOwnProperty(rawType)) {
  5839. if (options.ignoreDuplicateRegistrations) {
  5840. return;
  5841. } else {
  5842. throwBindingError(
  5843. "Cannot register type '" + name + "' twice"
  5844. );
  5845. }
  5846. }
  5847. registeredTypes[rawType] = registeredInstance;
  5848. delete typeDependencies[rawType];
  5849. if (awaitingDependencies.hasOwnProperty(rawType)) {
  5850. var callbacks = awaitingDependencies[rawType];
  5851. delete awaitingDependencies[rawType];
  5852. callbacks.forEach(function (cb) {
  5853. cb();
  5854. });
  5855. }
  5856. }
  5857. function __embind_register_bool(
  5858. rawType,
  5859. name,
  5860. size,
  5861. trueValue,
  5862. falseValue
  5863. ) {
  5864. var shift = getShiftFromSize(size);
  5865. name = readLatin1String(name);
  5866. registerType(rawType, {
  5867. name: name,
  5868. fromWireType: function fromWireType(wt) {
  5869. return !!wt;
  5870. },
  5871. toWireType: function toWireType(destructors, o) {
  5872. return o ? trueValue : falseValue;
  5873. },
  5874. argPackAdvance: 8,
  5875. readValueFromPointer: function readValueFromPointer(pointer) {
  5876. var heap;
  5877. if (size === 1) {
  5878. heap = HEAP8;
  5879. } else if (size === 2) {
  5880. heap = HEAP16;
  5881. } else if (size === 4) {
  5882. heap = HEAP32;
  5883. } else {
  5884. throw new TypeError("Unknown boolean type size: " + name);
  5885. }
  5886. return this["fromWireType"](heap[pointer >> shift]);
  5887. },
  5888. destructorFunction: null,
  5889. });
  5890. }
  5891. function ClassHandle_isAliasOf(other) {
  5892. if (!(this instanceof ClassHandle)) {
  5893. return false;
  5894. }
  5895. if (!(other instanceof ClassHandle)) {
  5896. return false;
  5897. }
  5898. var leftClass = this.$$.ptrType.registeredClass;
  5899. var left = this.$$.ptr;
  5900. var rightClass = other.$$.ptrType.registeredClass;
  5901. var right = other.$$.ptr;
  5902. while (leftClass.baseClass) {
  5903. left = leftClass.upcast(left);
  5904. leftClass = leftClass.baseClass;
  5905. }
  5906. while (rightClass.baseClass) {
  5907. right = rightClass.upcast(right);
  5908. rightClass = rightClass.baseClass;
  5909. }
  5910. return leftClass === rightClass && left === right;
  5911. }
  5912. function shallowCopyInternalPointer(o) {
  5913. return {
  5914. count: o.count,
  5915. deleteScheduled: o.deleteScheduled,
  5916. preservePointerOnDelete: o.preservePointerOnDelete,
  5917. ptr: o.ptr,
  5918. ptrType: o.ptrType,
  5919. smartPtr: o.smartPtr,
  5920. smartPtrType: o.smartPtrType,
  5921. };
  5922. }
  5923. function throwInstanceAlreadyDeleted(obj) {
  5924. function getInstanceTypeName(handle) {
  5925. return handle.$$.ptrType.registeredClass.name;
  5926. }
  5927. throwBindingError(
  5928. getInstanceTypeName(obj) + " instance already deleted"
  5929. );
  5930. }
  5931. function ClassHandle_clone() {
  5932. if (!this.$$.ptr) {
  5933. throwInstanceAlreadyDeleted(this);
  5934. }
  5935. if (this.$$.preservePointerOnDelete) {
  5936. this.$$.count.value += 1;
  5937. return this;
  5938. } else {
  5939. var clone = Object.create(Object.getPrototypeOf(this), {
  5940. $$: { value: shallowCopyInternalPointer(this.$$) },
  5941. });
  5942. clone.$$.count.value += 1;
  5943. clone.$$.deleteScheduled = false;
  5944. return clone;
  5945. }
  5946. }
  5947. function runDestructor(handle) {
  5948. var $$ = handle.$$;
  5949. if ($$.smartPtr) {
  5950. $$.smartPtrType.rawDestructor($$.smartPtr);
  5951. } else {
  5952. $$.ptrType.registeredClass.rawDestructor($$.ptr);
  5953. }
  5954. }
  5955. function ClassHandle_delete() {
  5956. if (!this.$$.ptr) {
  5957. throwInstanceAlreadyDeleted(this);
  5958. }
  5959. if (
  5960. this.$$.deleteScheduled &&
  5961. !this.$$.preservePointerOnDelete
  5962. ) {
  5963. throwBindingError("Object already scheduled for deletion");
  5964. }
  5965. this.$$.count.value -= 1;
  5966. var toDelete = 0 === this.$$.count.value;
  5967. if (toDelete) {
  5968. runDestructor(this);
  5969. }
  5970. if (!this.$$.preservePointerOnDelete) {
  5971. this.$$.smartPtr = undefined;
  5972. this.$$.ptr = undefined;
  5973. }
  5974. }
  5975. function ClassHandle_isDeleted() {
  5976. return !this.$$.ptr;
  5977. }
  5978. var delayFunction = undefined;
  5979. var deletionQueue = [];
  5980. function flushPendingDeletes() {
  5981. while (deletionQueue.length) {
  5982. var obj = deletionQueue.pop();
  5983. obj.$$.deleteScheduled = false;
  5984. obj["delete"]();
  5985. }
  5986. }
  5987. function ClassHandle_deleteLater() {
  5988. if (!this.$$.ptr) {
  5989. throwInstanceAlreadyDeleted(this);
  5990. }
  5991. if (
  5992. this.$$.deleteScheduled &&
  5993. !this.$$.preservePointerOnDelete
  5994. ) {
  5995. throwBindingError("Object already scheduled for deletion");
  5996. }
  5997. deletionQueue.push(this);
  5998. if (deletionQueue.length === 1 && delayFunction) {
  5999. delayFunction(flushPendingDeletes);
  6000. }
  6001. this.$$.deleteScheduled = true;
  6002. return this;
  6003. }
  6004. function init_ClassHandle() {
  6005. ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
  6006. ClassHandle.prototype["clone"] = ClassHandle_clone;
  6007. ClassHandle.prototype["delete"] = ClassHandle_delete;
  6008. ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
  6009. ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
  6010. }
  6011. function ClassHandle() {}
  6012. var registeredPointers = {};
  6013. function ensureOverloadTable(proto, methodName, humanName) {
  6014. if (undefined === proto[methodName].overloadTable) {
  6015. var prevFunc = proto[methodName];
  6016. proto[methodName] = function () {
  6017. if (
  6018. !proto[methodName].overloadTable.hasOwnProperty(
  6019. arguments.length
  6020. )
  6021. ) {
  6022. throwBindingError(
  6023. "Function '" +
  6024. humanName +
  6025. "' called with an invalid number of arguments (" +
  6026. arguments.length +
  6027. ") - expects one of (" +
  6028. proto[methodName].overloadTable +
  6029. ")!"
  6030. );
  6031. }
  6032. return proto[methodName].overloadTable[
  6033. arguments.length
  6034. ].apply(this, arguments);
  6035. };
  6036. proto[methodName].overloadTable = [];
  6037. proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
  6038. }
  6039. }
  6040. function exposePublicSymbol(name, value, numArguments) {
  6041. if (Module.hasOwnProperty(name)) {
  6042. if (
  6043. undefined === numArguments ||
  6044. (undefined !== Module[name].overloadTable &&
  6045. undefined !== Module[name].overloadTable[numArguments])
  6046. ) {
  6047. throwBindingError(
  6048. "Cannot register public name '" + name + "' twice"
  6049. );
  6050. }
  6051. ensureOverloadTable(Module, name, name);
  6052. if (Module.hasOwnProperty(numArguments)) {
  6053. throwBindingError(
  6054. "Cannot register multiple overloads of a function with the same number of arguments (" +
  6055. numArguments +
  6056. ")!"
  6057. );
  6058. }
  6059. Module[name].overloadTable[numArguments] = value;
  6060. } else {
  6061. Module[name] = value;
  6062. if (undefined !== numArguments) {
  6063. Module[name].numArguments = numArguments;
  6064. }
  6065. }
  6066. }
  6067. function RegisteredClass(
  6068. name,
  6069. constructor,
  6070. instancePrototype,
  6071. rawDestructor,
  6072. baseClass,
  6073. getActualType,
  6074. upcast,
  6075. downcast
  6076. ) {
  6077. this.name = name;
  6078. this.constructor = constructor;
  6079. this.instancePrototype = instancePrototype;
  6080. this.rawDestructor = rawDestructor;
  6081. this.baseClass = baseClass;
  6082. this.getActualType = getActualType;
  6083. this.upcast = upcast;
  6084. this.downcast = downcast;
  6085. this.pureVirtualFunctions = [];
  6086. }
  6087. function upcastPointer(ptr, ptrClass, desiredClass) {
  6088. while (ptrClass !== desiredClass) {
  6089. if (!ptrClass.upcast) {
  6090. throwBindingError(
  6091. "Expected null or instance of " +
  6092. desiredClass.name +
  6093. ", got an instance of " +
  6094. ptrClass.name
  6095. );
  6096. }
  6097. ptr = ptrClass.upcast(ptr);
  6098. ptrClass = ptrClass.baseClass;
  6099. }
  6100. return ptr;
  6101. }
  6102. function constNoSmartPtrRawPointerToWireType(
  6103. destructors,
  6104. handle
  6105. ) {
  6106. if (handle === null) {
  6107. if (this.isReference) {
  6108. throwBindingError("null is not a valid " + this.name);
  6109. }
  6110. return 0;
  6111. }
  6112. if (!handle.$$) {
  6113. throwBindingError(
  6114. 'Cannot pass "' +
  6115. _embind_repr(handle) +
  6116. '" as a ' +
  6117. this.name
  6118. );
  6119. }
  6120. if (!handle.$$.ptr) {
  6121. throwBindingError(
  6122. "Cannot pass deleted object as a pointer of type " +
  6123. this.name
  6124. );
  6125. }
  6126. var handleClass = handle.$$.ptrType.registeredClass;
  6127. var ptr = upcastPointer(
  6128. handle.$$.ptr,
  6129. handleClass,
  6130. this.registeredClass
  6131. );
  6132. return ptr;
  6133. }
  6134. function genericPointerToWireType(destructors, handle) {
  6135. var ptr;
  6136. if (handle === null) {
  6137. if (this.isReference) {
  6138. throwBindingError("null is not a valid " + this.name);
  6139. }
  6140. if (this.isSmartPointer) {
  6141. ptr = this.rawConstructor();
  6142. if (destructors !== null) {
  6143. destructors.push(this.rawDestructor, ptr);
  6144. }
  6145. return ptr;
  6146. } else {
  6147. return 0;
  6148. }
  6149. }
  6150. if (!handle.$$) {
  6151. throwBindingError(
  6152. 'Cannot pass "' +
  6153. _embind_repr(handle) +
  6154. '" as a ' +
  6155. this.name
  6156. );
  6157. }
  6158. if (!handle.$$.ptr) {
  6159. throwBindingError(
  6160. "Cannot pass deleted object as a pointer of type " +
  6161. this.name
  6162. );
  6163. }
  6164. if (!this.isConst && handle.$$.ptrType.isConst) {
  6165. throwBindingError(
  6166. "Cannot convert argument of type " +
  6167. (handle.$$.smartPtrType
  6168. ? handle.$$.smartPtrType.name
  6169. : handle.$$.ptrType.name) +
  6170. " to parameter type " +
  6171. this.name
  6172. );
  6173. }
  6174. var handleClass = handle.$$.ptrType.registeredClass;
  6175. ptr = upcastPointer(
  6176. handle.$$.ptr,
  6177. handleClass,
  6178. this.registeredClass
  6179. );
  6180. if (this.isSmartPointer) {
  6181. if (undefined === handle.$$.smartPtr) {
  6182. throwBindingError(
  6183. "Passing raw pointer to smart pointer is illegal"
  6184. );
  6185. }
  6186. switch (this.sharingPolicy) {
  6187. case 0:
  6188. if (handle.$$.smartPtrType === this) {
  6189. ptr = handle.$$.smartPtr;
  6190. } else {
  6191. throwBindingError(
  6192. "Cannot convert argument of type " +
  6193. (handle.$$.smartPtrType
  6194. ? handle.$$.smartPtrType.name
  6195. : handle.$$.ptrType.name) +
  6196. " to parameter type " +
  6197. this.name
  6198. );
  6199. }
  6200. break;
  6201. case 1:
  6202. ptr = handle.$$.smartPtr;
  6203. break;
  6204. case 2:
  6205. if (handle.$$.smartPtrType === this) {
  6206. ptr = handle.$$.smartPtr;
  6207. } else {
  6208. var clonedHandle = handle["clone"]();
  6209. ptr = this.rawShare(
  6210. ptr,
  6211. __emval_register(function () {
  6212. clonedHandle["delete"]();
  6213. })
  6214. );
  6215. if (destructors !== null) {
  6216. destructors.push(this.rawDestructor, ptr);
  6217. }
  6218. }
  6219. break;
  6220. default:
  6221. throwBindingError("Unsupporting sharing policy");
  6222. }
  6223. }
  6224. return ptr;
  6225. }
  6226. function nonConstNoSmartPtrRawPointerToWireType(
  6227. destructors,
  6228. handle
  6229. ) {
  6230. if (handle === null) {
  6231. if (this.isReference) {
  6232. throwBindingError("null is not a valid " + this.name);
  6233. }
  6234. return 0;
  6235. }
  6236. if (!handle.$$) {
  6237. throwBindingError(
  6238. 'Cannot pass "' +
  6239. _embind_repr(handle) +
  6240. '" as a ' +
  6241. this.name
  6242. );
  6243. }
  6244. if (!handle.$$.ptr) {
  6245. throwBindingError(
  6246. "Cannot pass deleted object as a pointer of type " +
  6247. this.name
  6248. );
  6249. }
  6250. if (handle.$$.ptrType.isConst) {
  6251. throwBindingError(
  6252. "Cannot convert argument of type " +
  6253. handle.$$.ptrType.name +
  6254. " to parameter type " +
  6255. this.name
  6256. );
  6257. }
  6258. var handleClass = handle.$$.ptrType.registeredClass;
  6259. var ptr = upcastPointer(
  6260. handle.$$.ptr,
  6261. handleClass,
  6262. this.registeredClass
  6263. );
  6264. return ptr;
  6265. }
  6266. function simpleReadValueFromPointer(pointer) {
  6267. return this["fromWireType"](HEAPU32[pointer >> 2]);
  6268. }
  6269. function RegisteredPointer_getPointee(ptr) {
  6270. if (this.rawGetPointee) {
  6271. ptr = this.rawGetPointee(ptr);
  6272. }
  6273. return ptr;
  6274. }
  6275. function RegisteredPointer_destructor(ptr) {
  6276. if (this.rawDestructor) {
  6277. this.rawDestructor(ptr);
  6278. }
  6279. }
  6280. function RegisteredPointer_deleteObject(handle) {
  6281. if (handle !== null) {
  6282. handle["delete"]();
  6283. }
  6284. }
  6285. function downcastPointer(ptr, ptrClass, desiredClass) {
  6286. if (ptrClass === desiredClass) {
  6287. return ptr;
  6288. }
  6289. if (undefined === desiredClass.baseClass) {
  6290. return null;
  6291. }
  6292. var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
  6293. if (rv === null) {
  6294. return null;
  6295. }
  6296. return desiredClass.downcast(rv);
  6297. }
  6298. function getInheritedInstanceCount() {
  6299. return Object.keys(registeredInstances).length;
  6300. }
  6301. function getLiveInheritedInstances() {
  6302. var rv = [];
  6303. for (var k in registeredInstances) {
  6304. if (registeredInstances.hasOwnProperty(k)) {
  6305. rv.push(registeredInstances[k]);
  6306. }
  6307. }
  6308. return rv;
  6309. }
  6310. function setDelayFunction(fn) {
  6311. delayFunction = fn;
  6312. if (deletionQueue.length && delayFunction) {
  6313. delayFunction(flushPendingDeletes);
  6314. }
  6315. }
  6316. function init_embind() {
  6317. Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
  6318. Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
  6319. Module["flushPendingDeletes"] = flushPendingDeletes;
  6320. Module["setDelayFunction"] = setDelayFunction;
  6321. }
  6322. var registeredInstances = {};
  6323. function getBasestPointer(class_, ptr) {
  6324. if (ptr === undefined) {
  6325. throwBindingError("ptr should not be undefined");
  6326. }
  6327. while (class_.baseClass) {
  6328. ptr = class_.upcast(ptr);
  6329. class_ = class_.baseClass;
  6330. }
  6331. return ptr;
  6332. }
  6333. function getInheritedInstance(class_, ptr) {
  6334. ptr = getBasestPointer(class_, ptr);
  6335. return registeredInstances[ptr];
  6336. }
  6337. function makeClassHandle(prototype, record) {
  6338. if (!record.ptrType || !record.ptr) {
  6339. throwInternalError(
  6340. "makeClassHandle requires ptr and ptrType"
  6341. );
  6342. }
  6343. var hasSmartPtrType = !!record.smartPtrType;
  6344. var hasSmartPtr = !!record.smartPtr;
  6345. if (hasSmartPtrType !== hasSmartPtr) {
  6346. throwInternalError(
  6347. "Both smartPtrType and smartPtr must be specified"
  6348. );
  6349. }
  6350. record.count = { value: 1 };
  6351. return Object.create(prototype, { $$: { value: record } });
  6352. }
  6353. function RegisteredPointer_fromWireType(ptr) {
  6354. var rawPointer = this.getPointee(ptr);
  6355. if (!rawPointer) {
  6356. this.destructor(ptr);
  6357. return null;
  6358. }
  6359. var registeredInstance = getInheritedInstance(
  6360. this.registeredClass,
  6361. rawPointer
  6362. );
  6363. if (undefined !== registeredInstance) {
  6364. if (0 === registeredInstance.$$.count.value) {
  6365. registeredInstance.$$.ptr = rawPointer;
  6366. registeredInstance.$$.smartPtr = ptr;
  6367. return registeredInstance["clone"]();
  6368. } else {
  6369. var rv = registeredInstance["clone"]();
  6370. this.destructor(ptr);
  6371. return rv;
  6372. }
  6373. }
  6374. function makeDefaultHandle() {
  6375. if (this.isSmartPointer) {
  6376. return makeClassHandle(
  6377. this.registeredClass.instancePrototype,
  6378. {
  6379. ptrType: this.pointeeType,
  6380. ptr: rawPointer,
  6381. smartPtrType: this,
  6382. smartPtr: ptr,
  6383. }
  6384. );
  6385. } else {
  6386. return makeClassHandle(
  6387. this.registeredClass.instancePrototype,
  6388. { ptrType: this, ptr: ptr }
  6389. );
  6390. }
  6391. }
  6392. var actualType = this.registeredClass.getActualType(rawPointer);
  6393. var registeredPointerRecord = registeredPointers[actualType];
  6394. if (!registeredPointerRecord) {
  6395. return makeDefaultHandle.call(this);
  6396. }
  6397. var toType;
  6398. if (this.isConst) {
  6399. toType = registeredPointerRecord.constPointerType;
  6400. } else {
  6401. toType = registeredPointerRecord.pointerType;
  6402. }
  6403. var dp = downcastPointer(
  6404. rawPointer,
  6405. this.registeredClass,
  6406. toType.registeredClass
  6407. );
  6408. if (dp === null) {
  6409. return makeDefaultHandle.call(this);
  6410. }
  6411. if (this.isSmartPointer) {
  6412. return makeClassHandle(
  6413. toType.registeredClass.instancePrototype,
  6414. {
  6415. ptrType: toType,
  6416. ptr: dp,
  6417. smartPtrType: this,
  6418. smartPtr: ptr,
  6419. }
  6420. );
  6421. } else {
  6422. return makeClassHandle(
  6423. toType.registeredClass.instancePrototype,
  6424. { ptrType: toType, ptr: dp }
  6425. );
  6426. }
  6427. }
  6428. function init_RegisteredPointer() {
  6429. RegisteredPointer.prototype.getPointee =
  6430. RegisteredPointer_getPointee;
  6431. RegisteredPointer.prototype.destructor =
  6432. RegisteredPointer_destructor;
  6433. RegisteredPointer.prototype["argPackAdvance"] = 8;
  6434. RegisteredPointer.prototype["readValueFromPointer"] =
  6435. simpleReadValueFromPointer;
  6436. RegisteredPointer.prototype["deleteObject"] =
  6437. RegisteredPointer_deleteObject;
  6438. RegisteredPointer.prototype["fromWireType"] =
  6439. RegisteredPointer_fromWireType;
  6440. }
  6441. function RegisteredPointer(
  6442. name,
  6443. registeredClass,
  6444. isReference,
  6445. isConst,
  6446. isSmartPointer,
  6447. pointeeType,
  6448. sharingPolicy,
  6449. rawGetPointee,
  6450. rawConstructor,
  6451. rawShare,
  6452. rawDestructor
  6453. ) {
  6454. this.name = name;
  6455. this.registeredClass = registeredClass;
  6456. this.isReference = isReference;
  6457. this.isConst = isConst;
  6458. this.isSmartPointer = isSmartPointer;
  6459. this.pointeeType = pointeeType;
  6460. this.sharingPolicy = sharingPolicy;
  6461. this.rawGetPointee = rawGetPointee;
  6462. this.rawConstructor = rawConstructor;
  6463. this.rawShare = rawShare;
  6464. this.rawDestructor = rawDestructor;
  6465. if (
  6466. !isSmartPointer &&
  6467. registeredClass.baseClass === undefined
  6468. ) {
  6469. if (isConst) {
  6470. this["toWireType"] = constNoSmartPtrRawPointerToWireType;
  6471. this.destructorFunction = null;
  6472. } else {
  6473. this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
  6474. this.destructorFunction = null;
  6475. }
  6476. } else {
  6477. this["toWireType"] = genericPointerToWireType;
  6478. }
  6479. }
  6480. function replacePublicSymbol(name, value, numArguments) {
  6481. if (!Module.hasOwnProperty(name)) {
  6482. throwInternalError("Replacing nonexistant public symbol");
  6483. }
  6484. if (
  6485. undefined !== Module[name].overloadTable &&
  6486. undefined !== numArguments
  6487. ) {
  6488. Module[name].overloadTable[numArguments] = value;
  6489. } else {
  6490. Module[name] = value;
  6491. Module[name].argCount = numArguments;
  6492. }
  6493. }
  6494. function embind__requireFunction(signature, rawFunction) {
  6495. signature = readLatin1String(signature);
  6496. function makeDynCaller(dynCall) {
  6497. var args = [];
  6498. for (var i = 1; i < signature.length; ++i) {
  6499. args.push("a" + i);
  6500. }
  6501. var name = "dynCall_" + signature + "_" + rawFunction;
  6502. var body =
  6503. "return function " + name + "(" + args.join(", ") + ") {\n";
  6504. body +=
  6505. " return dynCall(rawFunction" +
  6506. (args.length ? ", " : "") +
  6507. args.join(", ") +
  6508. ");\n";
  6509. body += "};\n";
  6510. return new Function("dynCall", "rawFunction", body)(
  6511. dynCall,
  6512. rawFunction
  6513. );
  6514. }
  6515. var fp;
  6516. if (Module["FUNCTION_TABLE_" + signature] !== undefined) {
  6517. fp = Module["FUNCTION_TABLE_" + signature][rawFunction];
  6518. } else if (typeof FUNCTION_TABLE !== "undefined") {
  6519. fp = FUNCTION_TABLE[rawFunction];
  6520. } else {
  6521. var dc = Module["asm"]["dynCall_" + signature];
  6522. if (dc === undefined) {
  6523. dc =
  6524. Module["asm"]["dynCall_" + signature.replace(/f/g, "d")];
  6525. if (dc === undefined) {
  6526. throwBindingError(
  6527. "No dynCall invoker for signature: " + signature
  6528. );
  6529. }
  6530. }
  6531. fp = makeDynCaller(dc);
  6532. }
  6533. if (typeof fp !== "function") {
  6534. throwBindingError(
  6535. "unknown function pointer with signature " +
  6536. signature +
  6537. ": " +
  6538. rawFunction
  6539. );
  6540. }
  6541. return fp;
  6542. }
  6543. var UnboundTypeError = undefined;
  6544. function getTypeName(type) {
  6545. var ptr = ___getTypeName(type);
  6546. var rv = readLatin1String(ptr);
  6547. _free(ptr);
  6548. return rv;
  6549. }
  6550. function throwUnboundTypeError(message, types) {
  6551. var unboundTypes = [];
  6552. var seen = {};
  6553. function visit(type) {
  6554. if (seen[type]) {
  6555. return;
  6556. }
  6557. if (registeredTypes[type]) {
  6558. return;
  6559. }
  6560. if (typeDependencies[type]) {
  6561. typeDependencies[type].forEach(visit);
  6562. return;
  6563. }
  6564. unboundTypes.push(type);
  6565. seen[type] = true;
  6566. }
  6567. types.forEach(visit);
  6568. throw new UnboundTypeError(
  6569. message + ": " + unboundTypes.map(getTypeName).join([", "])
  6570. );
  6571. }
  6572. function __embind_register_class(
  6573. rawType,
  6574. rawPointerType,
  6575. rawConstPointerType,
  6576. baseClassRawType,
  6577. getActualTypeSignature,
  6578. getActualType,
  6579. upcastSignature,
  6580. upcast,
  6581. downcastSignature,
  6582. downcast,
  6583. name,
  6584. destructorSignature,
  6585. rawDestructor
  6586. ) {
  6587. name = readLatin1String(name);
  6588. getActualType = embind__requireFunction(
  6589. getActualTypeSignature,
  6590. getActualType
  6591. );
  6592. if (upcast) {
  6593. upcast = embind__requireFunction(upcastSignature, upcast);
  6594. }
  6595. if (downcast) {
  6596. downcast = embind__requireFunction(
  6597. downcastSignature,
  6598. downcast
  6599. );
  6600. }
  6601. rawDestructor = embind__requireFunction(
  6602. destructorSignature,
  6603. rawDestructor
  6604. );
  6605. var legalFunctionName = makeLegalFunctionName(name);
  6606. exposePublicSymbol(legalFunctionName, function () {
  6607. throwUnboundTypeError(
  6608. "Cannot construct " + name + " due to unbound types",
  6609. [baseClassRawType]
  6610. );
  6611. });
  6612. whenDependentTypesAreResolved(
  6613. [rawType, rawPointerType, rawConstPointerType],
  6614. baseClassRawType ? [baseClassRawType] : [],
  6615. function (base) {
  6616. base = base[0];
  6617. var baseClass;
  6618. var basePrototype;
  6619. if (baseClassRawType) {
  6620. baseClass = base.registeredClass;
  6621. basePrototype = baseClass.instancePrototype;
  6622. } else {
  6623. basePrototype = ClassHandle.prototype;
  6624. }
  6625. var constructor = createNamedFunction(
  6626. legalFunctionName,
  6627. function () {
  6628. if (Object.getPrototypeOf(this) !== instancePrototype) {
  6629. throw new BindingError(
  6630. "Use 'new' to construct " + name
  6631. );
  6632. }
  6633. if (undefined === registeredClass.constructor_body) {
  6634. throw new BindingError(
  6635. name + " has no accessible constructor"
  6636. );
  6637. }
  6638. var body =
  6639. registeredClass.constructor_body[arguments.length];
  6640. if (undefined === body) {
  6641. throw new BindingError(
  6642. "Tried to invoke ctor of " +
  6643. name +
  6644. " with invalid number of parameters (" +
  6645. arguments.length +
  6646. ") - expected (" +
  6647. Object.keys(
  6648. registeredClass.constructor_body
  6649. ).toString() +
  6650. ") parameters instead!"
  6651. );
  6652. }
  6653. return body.apply(this, arguments);
  6654. }
  6655. );
  6656. var instancePrototype = Object.create(basePrototype, {
  6657. constructor: { value: constructor },
  6658. });
  6659. constructor.prototype = instancePrototype;
  6660. var registeredClass = new RegisteredClass(
  6661. name,
  6662. constructor,
  6663. instancePrototype,
  6664. rawDestructor,
  6665. baseClass,
  6666. getActualType,
  6667. upcast,
  6668. downcast
  6669. );
  6670. var referenceConverter = new RegisteredPointer(
  6671. name,
  6672. registeredClass,
  6673. true,
  6674. false,
  6675. false
  6676. );
  6677. var pointerConverter = new RegisteredPointer(
  6678. name + "*",
  6679. registeredClass,
  6680. false,
  6681. false,
  6682. false
  6683. );
  6684. var constPointerConverter = new RegisteredPointer(
  6685. name + " const*",
  6686. registeredClass,
  6687. false,
  6688. true,
  6689. false
  6690. );
  6691. registeredPointers[rawType] = {
  6692. pointerType: pointerConverter,
  6693. constPointerType: constPointerConverter,
  6694. };
  6695. replacePublicSymbol(legalFunctionName, constructor);
  6696. return [
  6697. referenceConverter,
  6698. pointerConverter,
  6699. constPointerConverter,
  6700. ];
  6701. }
  6702. );
  6703. }
  6704. function heap32VectorToArray(count, firstElement) {
  6705. var array = [];
  6706. for (var i = 0; i < count; i++) {
  6707. array.push(HEAP32[(firstElement >> 2) + i]);
  6708. }
  6709. return array;
  6710. }
  6711. function runDestructors(destructors) {
  6712. while (destructors.length) {
  6713. var ptr = destructors.pop();
  6714. var del = destructors.pop();
  6715. del(ptr);
  6716. }
  6717. }
  6718. function __embind_register_class_constructor(
  6719. rawClassType,
  6720. argCount,
  6721. rawArgTypesAddr,
  6722. invokerSignature,
  6723. invoker,
  6724. rawConstructor
  6725. ) {
  6726. var rawArgTypes = heap32VectorToArray(
  6727. argCount,
  6728. rawArgTypesAddr
  6729. );
  6730. invoker = embind__requireFunction(invokerSignature, invoker);
  6731. whenDependentTypesAreResolved(
  6732. [],
  6733. [rawClassType],
  6734. function (classType) {
  6735. classType = classType[0];
  6736. var humanName = "constructor " + classType.name;
  6737. if (
  6738. undefined === classType.registeredClass.constructor_body
  6739. ) {
  6740. classType.registeredClass.constructor_body = [];
  6741. }
  6742. if (
  6743. undefined !==
  6744. classType.registeredClass.constructor_body[argCount - 1]
  6745. ) {
  6746. throw new BindingError(
  6747. "Cannot register multiple constructors with identical number of parameters (" +
  6748. (argCount - 1) +
  6749. ") for class '" +
  6750. classType.name +
  6751. "'! Overload resolution is currently only performed using the parameter count, not actual type info!"
  6752. );
  6753. }
  6754. classType.registeredClass.constructor_body[argCount - 1] =
  6755. function unboundTypeHandler() {
  6756. throwUnboundTypeError(
  6757. "Cannot construct " +
  6758. classType.name +
  6759. " due to unbound types",
  6760. rawArgTypes
  6761. );
  6762. };
  6763. whenDependentTypesAreResolved(
  6764. [],
  6765. rawArgTypes,
  6766. function (argTypes) {
  6767. classType.registeredClass.constructor_body[
  6768. argCount - 1
  6769. ] = function constructor_body() {
  6770. if (arguments.length !== argCount - 1) {
  6771. throwBindingError(
  6772. humanName +
  6773. " called with " +
  6774. arguments.length +
  6775. " arguments, expected " +
  6776. (argCount - 1)
  6777. );
  6778. }
  6779. var destructors = [];
  6780. var args = new Array(argCount);
  6781. args[0] = rawConstructor;
  6782. for (var i = 1; i < argCount; ++i) {
  6783. args[i] = argTypes[i]["toWireType"](
  6784. destructors,
  6785. arguments[i - 1]
  6786. );
  6787. }
  6788. var ptr = invoker.apply(null, args);
  6789. runDestructors(destructors);
  6790. return argTypes[0]["fromWireType"](ptr);
  6791. };
  6792. return [];
  6793. }
  6794. );
  6795. return [];
  6796. }
  6797. );
  6798. }
  6799. function new_(constructor, argumentList) {
  6800. if (!(constructor instanceof Function)) {
  6801. throw new TypeError(
  6802. "new_ called with constructor type " +
  6803. (typeof constructor === "undefined"
  6804. ? "undefined"
  6805. : _typeof(constructor)) +
  6806. " which is not a function"
  6807. );
  6808. }
  6809. var dummy = createNamedFunction(
  6810. constructor.name || "unknownFunctionName",
  6811. function () {}
  6812. );
  6813. dummy.prototype = constructor.prototype;
  6814. var obj = new dummy();
  6815. var r = constructor.apply(obj, argumentList);
  6816. return r instanceof Object ? r : obj;
  6817. }
  6818. function craftInvokerFunction(
  6819. humanName,
  6820. argTypes,
  6821. classType,
  6822. cppInvokerFunc,
  6823. cppTargetFunc
  6824. ) {
  6825. var argCount = argTypes.length;
  6826. if (argCount < 2) {
  6827. throwBindingError(
  6828. "argTypes array size mismatch! Must at least get return value and 'this' types!"
  6829. );
  6830. }
  6831. var isClassMethodFunc =
  6832. argTypes[1] !== null && classType !== null;
  6833. var needsDestructorStack = false;
  6834. for (var i = 1; i < argTypes.length; ++i) {
  6835. if (
  6836. argTypes[i] !== null &&
  6837. argTypes[i].destructorFunction === undefined
  6838. ) {
  6839. needsDestructorStack = true;
  6840. break;
  6841. }
  6842. }
  6843. var returns = argTypes[0].name !== "void";
  6844. var argsList = "";
  6845. var argsListWired = "";
  6846. for (var i = 0; i < argCount - 2; ++i) {
  6847. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  6848. argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
  6849. }
  6850. var invokerFnBody =
  6851. "return function " +
  6852. makeLegalFunctionName(humanName) +
  6853. "(" +
  6854. argsList +
  6855. ") {\n" +
  6856. "if (arguments.length !== " +
  6857. (argCount - 2) +
  6858. ") {\n" +
  6859. "throwBindingError('function " +
  6860. humanName +
  6861. " called with ' + arguments.length + ' arguments, expected " +
  6862. (argCount - 2) +
  6863. " args!');\n" +
  6864. "}\n";
  6865. if (needsDestructorStack) {
  6866. invokerFnBody += "var destructors = [];\n";
  6867. }
  6868. var dtorStack = needsDestructorStack ? "destructors" : "null";
  6869. var args1 = [
  6870. "throwBindingError",
  6871. "invoker",
  6872. "fn",
  6873. "runDestructors",
  6874. "retType",
  6875. "classParam",
  6876. ];
  6877. var args2 = [
  6878. throwBindingError,
  6879. cppInvokerFunc,
  6880. cppTargetFunc,
  6881. runDestructors,
  6882. argTypes[0],
  6883. argTypes[1],
  6884. ];
  6885. if (isClassMethodFunc) {
  6886. invokerFnBody +=
  6887. "var thisWired = classParam.toWireType(" +
  6888. dtorStack +
  6889. ", this);\n";
  6890. }
  6891. for (var i = 0; i < argCount - 2; ++i) {
  6892. invokerFnBody +=
  6893. "var arg" +
  6894. i +
  6895. "Wired = argType" +
  6896. i +
  6897. ".toWireType(" +
  6898. dtorStack +
  6899. ", arg" +
  6900. i +
  6901. "); // " +
  6902. argTypes[i + 2].name +
  6903. "\n";
  6904. args1.push("argType" + i);
  6905. args2.push(argTypes[i + 2]);
  6906. }
  6907. if (isClassMethodFunc) {
  6908. argsListWired =
  6909. "thisWired" +
  6910. (argsListWired.length > 0 ? ", " : "") +
  6911. argsListWired;
  6912. }
  6913. invokerFnBody +=
  6914. (returns ? "var rv = " : "") +
  6915. "invoker(fn" +
  6916. (argsListWired.length > 0 ? ", " : "") +
  6917. argsListWired +
  6918. ");\n";
  6919. if (needsDestructorStack) {
  6920. invokerFnBody += "runDestructors(destructors);\n";
  6921. } else {
  6922. for (
  6923. var i = isClassMethodFunc ? 1 : 2;
  6924. i < argTypes.length;
  6925. ++i
  6926. ) {
  6927. var paramName =
  6928. i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
  6929. if (argTypes[i].destructorFunction !== null) {
  6930. invokerFnBody +=
  6931. paramName +
  6932. "_dtor(" +
  6933. paramName +
  6934. "); // " +
  6935. argTypes[i].name +
  6936. "\n";
  6937. args1.push(paramName + "_dtor");
  6938. args2.push(argTypes[i].destructorFunction);
  6939. }
  6940. }
  6941. }
  6942. if (returns) {
  6943. invokerFnBody +=
  6944. "var ret = retType.fromWireType(rv);\n" + "return ret;\n";
  6945. } else {
  6946. }
  6947. invokerFnBody += "}\n";
  6948. args1.push(invokerFnBody);
  6949. var invokerFunction = new_(Function, args1).apply(null, args2);
  6950. return invokerFunction;
  6951. }
  6952. function __embind_register_class_function(
  6953. rawClassType,
  6954. methodName,
  6955. argCount,
  6956. rawArgTypesAddr,
  6957. invokerSignature,
  6958. rawInvoker,
  6959. context,
  6960. isPureVirtual
  6961. ) {
  6962. var rawArgTypes = heap32VectorToArray(
  6963. argCount,
  6964. rawArgTypesAddr
  6965. );
  6966. methodName = readLatin1String(methodName);
  6967. rawInvoker = embind__requireFunction(
  6968. invokerSignature,
  6969. rawInvoker
  6970. );
  6971. whenDependentTypesAreResolved(
  6972. [],
  6973. [rawClassType],
  6974. function (classType) {
  6975. classType = classType[0];
  6976. var humanName = classType.name + "." + methodName;
  6977. if (isPureVirtual) {
  6978. classType.registeredClass.pureVirtualFunctions.push(
  6979. methodName
  6980. );
  6981. }
  6982. function unboundTypesHandler() {
  6983. throwUnboundTypeError(
  6984. "Cannot call " + humanName + " due to unbound types",
  6985. rawArgTypes
  6986. );
  6987. }
  6988. var proto = classType.registeredClass.instancePrototype;
  6989. var method = proto[methodName];
  6990. if (
  6991. undefined === method ||
  6992. (undefined === method.overloadTable &&
  6993. method.className !== classType.name &&
  6994. method.argCount === argCount - 2)
  6995. ) {
  6996. unboundTypesHandler.argCount = argCount - 2;
  6997. unboundTypesHandler.className = classType.name;
  6998. proto[methodName] = unboundTypesHandler;
  6999. } else {
  7000. ensureOverloadTable(proto, methodName, humanName);
  7001. proto[methodName].overloadTable[argCount - 2] =
  7002. unboundTypesHandler;
  7003. }
  7004. whenDependentTypesAreResolved(
  7005. [],
  7006. rawArgTypes,
  7007. function (argTypes) {
  7008. var memberFunction = craftInvokerFunction(
  7009. humanName,
  7010. argTypes,
  7011. classType,
  7012. rawInvoker,
  7013. context
  7014. );
  7015. if (undefined === proto[methodName].overloadTable) {
  7016. memberFunction.argCount = argCount - 2;
  7017. proto[methodName] = memberFunction;
  7018. } else {
  7019. proto[methodName].overloadTable[argCount - 2] =
  7020. memberFunction;
  7021. }
  7022. return [];
  7023. }
  7024. );
  7025. return [];
  7026. }
  7027. );
  7028. }
  7029. var emval_free_list = [];
  7030. var emval_handle_array = [
  7031. {},
  7032. { value: undefined },
  7033. { value: null },
  7034. { value: true },
  7035. { value: false },
  7036. ];
  7037. function __emval_decref(handle) {
  7038. if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
  7039. emval_handle_array[handle] = undefined;
  7040. emval_free_list.push(handle);
  7041. }
  7042. }
  7043. function count_emval_handles() {
  7044. var count = 0;
  7045. for (var i = 5; i < emval_handle_array.length; ++i) {
  7046. if (emval_handle_array[i] !== undefined) {
  7047. ++count;
  7048. }
  7049. }
  7050. return count;
  7051. }
  7052. function get_first_emval() {
  7053. for (var i = 5; i < emval_handle_array.length; ++i) {
  7054. if (emval_handle_array[i] !== undefined) {
  7055. return emval_handle_array[i];
  7056. }
  7057. }
  7058. return null;
  7059. }
  7060. function init_emval() {
  7061. Module["count_emval_handles"] = count_emval_handles;
  7062. Module["get_first_emval"] = get_first_emval;
  7063. }
  7064. function __emval_register(value) {
  7065. switch (value) {
  7066. case undefined: {
  7067. return 1;
  7068. }
  7069. case null: {
  7070. return 2;
  7071. }
  7072. case true: {
  7073. return 3;
  7074. }
  7075. case false: {
  7076. return 4;
  7077. }
  7078. default: {
  7079. var handle = emval_free_list.length
  7080. ? emval_free_list.pop()
  7081. : emval_handle_array.length;
  7082. emval_handle_array[handle] = { refcount: 1, value: value };
  7083. return handle;
  7084. }
  7085. }
  7086. }
  7087. function __embind_register_emval(rawType, name) {
  7088. name = readLatin1String(name);
  7089. registerType(rawType, {
  7090. name: name,
  7091. fromWireType: function fromWireType(handle) {
  7092. var rv = emval_handle_array[handle].value;
  7093. __emval_decref(handle);
  7094. return rv;
  7095. },
  7096. toWireType: function toWireType(destructors, value) {
  7097. return __emval_register(value);
  7098. },
  7099. argPackAdvance: 8,
  7100. readValueFromPointer: simpleReadValueFromPointer,
  7101. destructorFunction: null,
  7102. });
  7103. }
  7104. function _embind_repr(v) {
  7105. if (v === null) {
  7106. return "null";
  7107. }
  7108. var t = typeof v === "undefined" ? "undefined" : _typeof(v);
  7109. if (t === "object" || t === "array" || t === "function") {
  7110. return v.toString();
  7111. } else {
  7112. return "" + v;
  7113. }
  7114. }
  7115. function floatReadValueFromPointer(name, shift) {
  7116. switch (shift) {
  7117. case 2:
  7118. return function (pointer) {
  7119. return this["fromWireType"](HEAPF32[pointer >> 2]);
  7120. };
  7121. case 3:
  7122. return function (pointer) {
  7123. return this["fromWireType"](HEAPF64[pointer >> 3]);
  7124. };
  7125. default:
  7126. throw new TypeError("Unknown float type: " + name);
  7127. }
  7128. }
  7129. function __embind_register_float(rawType, name, size) {
  7130. var shift = getShiftFromSize(size);
  7131. name = readLatin1String(name);
  7132. registerType(rawType, {
  7133. name: name,
  7134. fromWireType: function fromWireType(value) {
  7135. return value;
  7136. },
  7137. toWireType: function toWireType(destructors, value) {
  7138. if (
  7139. typeof value !== "number" &&
  7140. typeof value !== "boolean"
  7141. ) {
  7142. throw new TypeError(
  7143. 'Cannot convert "' +
  7144. _embind_repr(value) +
  7145. '" to ' +
  7146. this.name
  7147. );
  7148. }
  7149. return value;
  7150. },
  7151. argPackAdvance: 8,
  7152. readValueFromPointer: floatReadValueFromPointer(name, shift),
  7153. destructorFunction: null,
  7154. });
  7155. }
  7156. function __embind_register_function(
  7157. name,
  7158. argCount,
  7159. rawArgTypesAddr,
  7160. signature,
  7161. rawInvoker,
  7162. fn
  7163. ) {
  7164. var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  7165. name = readLatin1String(name);
  7166. rawInvoker = embind__requireFunction(signature, rawInvoker);
  7167. exposePublicSymbol(
  7168. name,
  7169. function () {
  7170. throwUnboundTypeError(
  7171. "Cannot call " + name + " due to unbound types",
  7172. argTypes
  7173. );
  7174. },
  7175. argCount - 1
  7176. );
  7177. whenDependentTypesAreResolved(
  7178. [],
  7179. argTypes,
  7180. function (argTypes) {
  7181. var invokerArgsArray = [argTypes[0], null].concat(
  7182. argTypes.slice(1)
  7183. );
  7184. replacePublicSymbol(
  7185. name,
  7186. craftInvokerFunction(
  7187. name,
  7188. invokerArgsArray,
  7189. null,
  7190. rawInvoker,
  7191. fn
  7192. ),
  7193. argCount - 1
  7194. );
  7195. return [];
  7196. }
  7197. );
  7198. }
  7199. function integerReadValueFromPointer(name, shift, signed) {
  7200. switch (shift) {
  7201. case 0:
  7202. return signed
  7203. ? function readS8FromPointer(pointer) {
  7204. return HEAP8[pointer];
  7205. }
  7206. : function readU8FromPointer(pointer) {
  7207. return HEAPU8[pointer];
  7208. };
  7209. case 1:
  7210. return signed
  7211. ? function readS16FromPointer(pointer) {
  7212. return HEAP16[pointer >> 1];
  7213. }
  7214. : function readU16FromPointer(pointer) {
  7215. return HEAPU16[pointer >> 1];
  7216. };
  7217. case 2:
  7218. return signed
  7219. ? function readS32FromPointer(pointer) {
  7220. return HEAP32[pointer >> 2];
  7221. }
  7222. : function readU32FromPointer(pointer) {
  7223. return HEAPU32[pointer >> 2];
  7224. };
  7225. default:
  7226. throw new TypeError("Unknown integer type: " + name);
  7227. }
  7228. }
  7229. function __embind_register_integer(
  7230. primitiveType,
  7231. name,
  7232. size,
  7233. minRange,
  7234. maxRange
  7235. ) {
  7236. name = readLatin1String(name);
  7237. if (maxRange === -1) {
  7238. maxRange = 4294967295;
  7239. }
  7240. var shift = getShiftFromSize(size);
  7241. var fromWireType = function fromWireType(value) {
  7242. return value;
  7243. };
  7244. if (minRange === 0) {
  7245. var bitshift = 32 - 8 * size;
  7246. fromWireType = function fromWireType(value) {
  7247. return (value << bitshift) >>> bitshift;
  7248. };
  7249. }
  7250. var isUnsignedType = name.indexOf("unsigned") != -1;
  7251. registerType(primitiveType, {
  7252. name: name,
  7253. fromWireType: fromWireType,
  7254. toWireType: function toWireType(destructors, value) {
  7255. if (
  7256. typeof value !== "number" &&
  7257. typeof value !== "boolean"
  7258. ) {
  7259. throw new TypeError(
  7260. 'Cannot convert "' +
  7261. _embind_repr(value) +
  7262. '" to ' +
  7263. this.name
  7264. );
  7265. }
  7266. if (value < minRange || value > maxRange) {
  7267. throw new TypeError(
  7268. 'Passing a number "' +
  7269. _embind_repr(value) +
  7270. '" from JS side to C/C++ side to an argument of type "' +
  7271. name +
  7272. '", which is outside the valid range [' +
  7273. minRange +
  7274. ", " +
  7275. maxRange +
  7276. "]!"
  7277. );
  7278. }
  7279. return isUnsignedType ? value >>> 0 : value | 0;
  7280. },
  7281. argPackAdvance: 8,
  7282. readValueFromPointer: integerReadValueFromPointer(
  7283. name,
  7284. shift,
  7285. minRange !== 0
  7286. ),
  7287. destructorFunction: null,
  7288. });
  7289. }
  7290. function __embind_register_memory_view(
  7291. rawType,
  7292. dataTypeIndex,
  7293. name
  7294. ) {
  7295. var typeMapping = [
  7296. Int8Array,
  7297. Uint8Array,
  7298. Int16Array,
  7299. Uint16Array,
  7300. Int32Array,
  7301. Uint32Array,
  7302. Float32Array,
  7303. Float64Array,
  7304. ];
  7305. var TA = typeMapping[dataTypeIndex];
  7306. function decodeMemoryView(handle) {
  7307. handle = handle >> 2;
  7308. var heap = HEAPU32;
  7309. var size = heap[handle];
  7310. var data = heap[handle + 1];
  7311. return new TA(heap["buffer"], data, size);
  7312. }
  7313. name = readLatin1String(name);
  7314. registerType(
  7315. rawType,
  7316. {
  7317. name: name,
  7318. fromWireType: decodeMemoryView,
  7319. argPackAdvance: 8,
  7320. readValueFromPointer: decodeMemoryView,
  7321. },
  7322. { ignoreDuplicateRegistrations: true }
  7323. );
  7324. }
  7325. function __embind_register_std_string(rawType, name) {
  7326. name = readLatin1String(name);
  7327. var stdStringIsUTF8 = name === "std::string";
  7328. registerType(rawType, {
  7329. name: name,
  7330. fromWireType: function fromWireType(value) {
  7331. var length = HEAPU32[value >> 2];
  7332. var str;
  7333. if (stdStringIsUTF8) {
  7334. var endChar = HEAPU8[value + 4 + length];
  7335. var endCharSwap = 0;
  7336. if (endChar != 0) {
  7337. endCharSwap = endChar;
  7338. HEAPU8[value + 4 + length] = 0;
  7339. }
  7340. var decodeStartPtr = value + 4;
  7341. for (var i = 0; i <= length; ++i) {
  7342. var currentBytePtr = value + 4 + i;
  7343. if (HEAPU8[currentBytePtr] == 0) {
  7344. var stringSegment = UTF8ToString(decodeStartPtr);
  7345. if (str === undefined) str = stringSegment;
  7346. else {
  7347. str += String.fromCharCode(0);
  7348. str += stringSegment;
  7349. }
  7350. decodeStartPtr = currentBytePtr + 1;
  7351. }
  7352. }
  7353. if (endCharSwap != 0)
  7354. HEAPU8[value + 4 + length] = endCharSwap;
  7355. } else {
  7356. var a = new Array(length);
  7357. for (var i = 0; i < length; ++i) {
  7358. a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
  7359. }
  7360. str = a.join("");
  7361. }
  7362. _free(value);
  7363. return str;
  7364. },
  7365. toWireType: function toWireType(destructors, value) {
  7366. if (value instanceof ArrayBuffer) {
  7367. value = new Uint8Array(value);
  7368. }
  7369. var getLength;
  7370. var valueIsOfTypeString = typeof value === "string";
  7371. if (
  7372. !(
  7373. valueIsOfTypeString ||
  7374. value instanceof Uint8Array ||
  7375. value instanceof Uint8ClampedArray ||
  7376. value instanceof Int8Array
  7377. )
  7378. ) {
  7379. throwBindingError(
  7380. "Cannot pass non-string to std::string"
  7381. );
  7382. }
  7383. if (stdStringIsUTF8 && valueIsOfTypeString) {
  7384. getLength = function getLength() {
  7385. return lengthBytesUTF8(value);
  7386. };
  7387. } else {
  7388. getLength = function getLength() {
  7389. return value.length;
  7390. };
  7391. }
  7392. var length = getLength();
  7393. var ptr = _malloc(4 + length + 1);
  7394. HEAPU32[ptr >> 2] = length;
  7395. if (stdStringIsUTF8 && valueIsOfTypeString) {
  7396. stringToUTF8(value, ptr + 4, length + 1);
  7397. } else {
  7398. if (valueIsOfTypeString) {
  7399. for (var i = 0; i < length; ++i) {
  7400. var charCode = value.charCodeAt(i);
  7401. if (charCode > 255) {
  7402. _free(ptr);
  7403. throwBindingError(
  7404. "String has UTF-16 code units that do not fit in 8 bits"
  7405. );
  7406. }
  7407. HEAPU8[ptr + 4 + i] = charCode;
  7408. }
  7409. } else {
  7410. for (var i = 0; i < length; ++i) {
  7411. HEAPU8[ptr + 4 + i] = value[i];
  7412. }
  7413. }
  7414. }
  7415. if (destructors !== null) {
  7416. destructors.push(_free, ptr);
  7417. }
  7418. return ptr;
  7419. },
  7420. argPackAdvance: 8,
  7421. readValueFromPointer: simpleReadValueFromPointer,
  7422. destructorFunction: function destructorFunction(ptr) {
  7423. _free(ptr);
  7424. },
  7425. });
  7426. }
  7427. function __embind_register_std_wstring(rawType, charSize, name) {
  7428. name = readLatin1String(name);
  7429. var getHeap, shift;
  7430. if (charSize === 2) {
  7431. getHeap = function getHeap() {
  7432. return HEAPU16;
  7433. };
  7434. shift = 1;
  7435. } else if (charSize === 4) {
  7436. getHeap = function getHeap() {
  7437. return HEAPU32;
  7438. };
  7439. shift = 2;
  7440. }
  7441. registerType(rawType, {
  7442. name: name,
  7443. fromWireType: function fromWireType(value) {
  7444. var HEAP = getHeap();
  7445. var length = HEAPU32[value >> 2];
  7446. var a = new Array(length);
  7447. var start = (value + 4) >> shift;
  7448. for (var i = 0; i < length; ++i) {
  7449. a[i] = String.fromCharCode(HEAP[start + i]);
  7450. }
  7451. _free(value);
  7452. return a.join("");
  7453. },
  7454. toWireType: function toWireType(destructors, value) {
  7455. var HEAP = getHeap();
  7456. var length = value.length;
  7457. var ptr = _malloc(4 + length * charSize);
  7458. HEAPU32[ptr >> 2] = length;
  7459. var start = (ptr + 4) >> shift;
  7460. for (var i = 0; i < length; ++i) {
  7461. HEAP[start + i] = value.charCodeAt(i);
  7462. }
  7463. if (destructors !== null) {
  7464. destructors.push(_free, ptr);
  7465. }
  7466. return ptr;
  7467. },
  7468. argPackAdvance: 8,
  7469. readValueFromPointer: simpleReadValueFromPointer,
  7470. destructorFunction: function destructorFunction(ptr) {
  7471. _free(ptr);
  7472. },
  7473. });
  7474. }
  7475. function __embind_register_void(rawType, name) {
  7476. name = readLatin1String(name);
  7477. registerType(rawType, {
  7478. isVoid: true,
  7479. name: name,
  7480. argPackAdvance: 0,
  7481. fromWireType: function fromWireType() {
  7482. return undefined;
  7483. },
  7484. toWireType: function toWireType(destructors, o) {
  7485. return undefined;
  7486. },
  7487. });
  7488. }
  7489. function requireHandle(handle) {
  7490. if (!handle) {
  7491. throwBindingError(
  7492. "Cannot use deleted val. handle = " + handle
  7493. );
  7494. }
  7495. return emval_handle_array[handle].value;
  7496. }
  7497. function requireRegisteredType(rawType, humanName) {
  7498. var impl = registeredTypes[rawType];
  7499. if (undefined === impl) {
  7500. throwBindingError(
  7501. humanName + " has unknown type " + getTypeName(rawType)
  7502. );
  7503. }
  7504. return impl;
  7505. }
  7506. function __emval_as(handle, returnType, destructorsRef) {
  7507. handle = requireHandle(handle);
  7508. returnType = requireRegisteredType(returnType, "emval::as");
  7509. var destructors = [];
  7510. var rd = __emval_register(destructors);
  7511. HEAP32[destructorsRef >> 2] = rd;
  7512. return returnType["toWireType"](destructors, handle);
  7513. }
  7514. function __emval_lookupTypes(argCount, argTypes, argWireTypes) {
  7515. var a = new Array(argCount);
  7516. for (var i = 0; i < argCount; ++i) {
  7517. a[i] = requireRegisteredType(
  7518. HEAP32[(argTypes >> 2) + i],
  7519. "parameter " + i
  7520. );
  7521. }
  7522. return a;
  7523. }
  7524. function __emval_call(handle, argCount, argTypes, argv) {
  7525. handle = requireHandle(handle);
  7526. var types = __emval_lookupTypes(argCount, argTypes);
  7527. var args = new Array(argCount);
  7528. for (var i = 0; i < argCount; ++i) {
  7529. var type = types[i];
  7530. args[i] = type["readValueFromPointer"](argv);
  7531. argv += type["argPackAdvance"];
  7532. }
  7533. var rv = handle.apply(undefined, args);
  7534. return __emval_register(rv);
  7535. }
  7536. function __emval_allocateDestructors(destructorsRef) {
  7537. var destructors = [];
  7538. HEAP32[destructorsRef >> 2] = __emval_register(destructors);
  7539. return destructors;
  7540. }
  7541. var emval_symbols = {};
  7542. function getStringOrSymbol(address) {
  7543. var symbol = emval_symbols[address];
  7544. if (symbol === undefined) {
  7545. return readLatin1String(address);
  7546. } else {
  7547. return symbol;
  7548. }
  7549. }
  7550. var emval_methodCallers = [];
  7551. function __emval_call_void_method(
  7552. caller,
  7553. handle,
  7554. methodName,
  7555. args
  7556. ) {
  7557. caller = emval_methodCallers[caller];
  7558. handle = requireHandle(handle);
  7559. methodName = getStringOrSymbol(methodName);
  7560. caller(handle, methodName, null, args);
  7561. }
  7562. function __emval_addMethodCaller(caller) {
  7563. var id = emval_methodCallers.length;
  7564. emval_methodCallers.push(caller);
  7565. return id;
  7566. }
  7567. function __emval_get_method_caller(argCount, argTypes) {
  7568. var types = __emval_lookupTypes(argCount, argTypes);
  7569. var retType = types[0];
  7570. var signatureName =
  7571. retType.name +
  7572. "_$" +
  7573. types
  7574. .slice(1)
  7575. .map(function (t) {
  7576. return t.name;
  7577. })
  7578. .join("_") +
  7579. "$";
  7580. var params = ["retType"];
  7581. var args = [retType];
  7582. var argsList = "";
  7583. for (var i = 0; i < argCount - 1; ++i) {
  7584. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  7585. params.push("argType" + i);
  7586. args.push(types[1 + i]);
  7587. }
  7588. var functionName = makeLegalFunctionName(
  7589. "methodCaller_" + signatureName
  7590. );
  7591. var functionBody =
  7592. "return function " +
  7593. functionName +
  7594. "(handle, name, destructors, args) {\n";
  7595. var offset = 0;
  7596. for (var i = 0; i < argCount - 1; ++i) {
  7597. functionBody +=
  7598. " var arg" +
  7599. i +
  7600. " = argType" +
  7601. i +
  7602. ".readValueFromPointer(args" +
  7603. (offset ? "+" + offset : "") +
  7604. ");\n";
  7605. offset += types[i + 1]["argPackAdvance"];
  7606. }
  7607. functionBody +=
  7608. " var rv = handle[name](" + argsList + ");\n";
  7609. for (var i = 0; i < argCount - 1; ++i) {
  7610. if (types[i + 1]["deleteObject"]) {
  7611. functionBody +=
  7612. " argType" + i + ".deleteObject(arg" + i + ");\n";
  7613. }
  7614. }
  7615. if (!retType.isVoid) {
  7616. functionBody +=
  7617. " return retType.toWireType(destructors, rv);\n";
  7618. }
  7619. functionBody += "};\n";
  7620. params.push(functionBody);
  7621. var invokerFunction = new_(Function, params).apply(null, args);
  7622. return __emval_addMethodCaller(invokerFunction);
  7623. }
  7624. function __emval_get_module_property(name) {
  7625. name = getStringOrSymbol(name);
  7626. return __emval_register(Module[name]);
  7627. }
  7628. function __emval_get_property(handle, key) {
  7629. handle = requireHandle(handle);
  7630. key = requireHandle(key);
  7631. return __emval_register(handle[key]);
  7632. }
  7633. function __emval_incref(handle) {
  7634. if (handle > 4) {
  7635. emval_handle_array[handle].refcount += 1;
  7636. }
  7637. }
  7638. function craftEmvalAllocator(argCount) {
  7639. var argsList = "";
  7640. for (var i = 0; i < argCount; ++i) {
  7641. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  7642. }
  7643. var functionBody =
  7644. "return function emval_allocator_" +
  7645. argCount +
  7646. "(constructor, argTypes, args) {\n";
  7647. for (var i = 0; i < argCount; ++i) {
  7648. functionBody +=
  7649. "var argType" +
  7650. i +
  7651. " = requireRegisteredType(HEAP32[(argTypes >> 2) + " +
  7652. i +
  7653. '], "parameter ' +
  7654. i +
  7655. '");\n' +
  7656. "var arg" +
  7657. i +
  7658. " = argType" +
  7659. i +
  7660. ".readValueFromPointer(args);\n" +
  7661. "args += argType" +
  7662. i +
  7663. "['argPackAdvance'];\n";
  7664. }
  7665. functionBody +=
  7666. "var obj = new constructor(" +
  7667. argsList +
  7668. ");\n" +
  7669. "return __emval_register(obj);\n" +
  7670. "}\n";
  7671. return new Function(
  7672. "requireRegisteredType",
  7673. "HEAP32",
  7674. "__emval_register",
  7675. functionBody
  7676. )(requireRegisteredType, HEAP32, __emval_register);
  7677. }
  7678. var emval_newers = {};
  7679. function __emval_new(handle, argCount, argTypes, args) {
  7680. handle = requireHandle(handle);
  7681. var newer = emval_newers[argCount];
  7682. if (!newer) {
  7683. newer = craftEmvalAllocator(argCount);
  7684. emval_newers[argCount] = newer;
  7685. }
  7686. return newer(handle, argTypes, args);
  7687. }
  7688. function __emval_new_cstring(v) {
  7689. return __emval_register(getStringOrSymbol(v));
  7690. }
  7691. function __emval_run_destructors(handle) {
  7692. var destructors = emval_handle_array[handle].value;
  7693. runDestructors(destructors);
  7694. __emval_decref(handle);
  7695. }
  7696. function __emval_take_value(type, argv) {
  7697. type = requireRegisteredType(type, "_emval_take_value");
  7698. var v = type["readValueFromPointer"](argv);
  7699. return __emval_register(v);
  7700. }
  7701. function _abort() {
  7702. Module["abort"]();
  7703. }
  7704. function _llvm_cttz_i32(x) {
  7705. x = x | 0;
  7706. return (x ? (31 - (Math_clz32(x ^ (x - 1)) | 0)) | 0 : 32) | 0;
  7707. }
  7708. function _llvm_cttz_i64(l, h) {
  7709. var ret = _llvm_cttz_i32(l);
  7710. if (ret == 32) ret += _llvm_cttz_i32(h);
  7711. return (setTempRet0(0), ret) | 0;
  7712. }
  7713. function _emscripten_memcpy_big(dest, src, num) {
  7714. HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
  7715. return dest;
  7716. }
  7717. var PTHREAD_SPECIFIC = {};
  7718. function _pthread_getspecific(key) {
  7719. return PTHREAD_SPECIFIC[key] || 0;
  7720. }
  7721. var PTHREAD_SPECIFIC_NEXT_KEY = 1;
  7722. function _pthread_key_create(key, destructor) {
  7723. if (key == 0) {
  7724. return ERRNO_CODES.EINVAL;
  7725. }
  7726. HEAP32[key >> 2] = PTHREAD_SPECIFIC_NEXT_KEY;
  7727. PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0;
  7728. PTHREAD_SPECIFIC_NEXT_KEY++;
  7729. return 0;
  7730. }
  7731. function _pthread_once(ptr, func) {
  7732. if (!_pthread_once.seen) _pthread_once.seen = {};
  7733. if (ptr in _pthread_once.seen) return;
  7734. Module["dynCall_v"](func);
  7735. _pthread_once.seen[ptr] = 1;
  7736. }
  7737. function _pthread_setspecific(key, value) {
  7738. if (!(key in PTHREAD_SPECIFIC)) {
  7739. return ERRNO_CODES.EINVAL;
  7740. }
  7741. PTHREAD_SPECIFIC[key] = value;
  7742. return 0;
  7743. }
  7744. FS.staticInit();
  7745. __ATINIT__.unshift(function () {
  7746. if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
  7747. });
  7748. __ATMAIN__.push(function () {
  7749. FS.ignorePermissions = false;
  7750. });
  7751. __ATEXIT__.push(function () {
  7752. FS.quit();
  7753. });
  7754. __ATINIT__.unshift(function () {
  7755. TTY.init();
  7756. });
  7757. __ATEXIT__.push(function () {
  7758. TTY.shutdown();
  7759. });
  7760. if (ENVIRONMENT_IS_NODE) {
  7761. var fs = require("fs");
  7762. var NODEJS_PATH = require("path");
  7763. NODEFS.staticInit();
  7764. }
  7765. embind_init_charCodes();
  7766. BindingError = Module["BindingError"] = extendError(
  7767. Error,
  7768. "BindingError"
  7769. );
  7770. InternalError = Module["InternalError"] = extendError(
  7771. Error,
  7772. "InternalError"
  7773. );
  7774. init_ClassHandle();
  7775. init_RegisteredPointer();
  7776. init_embind();
  7777. UnboundTypeError = Module["UnboundTypeError"] = extendError(
  7778. Error,
  7779. "UnboundTypeError"
  7780. );
  7781. init_emval();
  7782. DYNAMICTOP_PTR = staticAlloc(4);
  7783. STACK_BASE = STACKTOP = alignMemory(STATICTOP);
  7784. STACK_MAX = STACK_BASE + TOTAL_STACK;
  7785. DYNAMIC_BASE = alignMemory(STACK_MAX);
  7786. HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
  7787. staticSealed = true;
  7788. var ASSERTIONS = false;
  7789. function intArrayFromString(stringy, dontAddNull, length) {
  7790. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  7791. var u8array = new Array(len);
  7792. var numBytesWritten = stringToUTF8Array(
  7793. stringy,
  7794. u8array,
  7795. 0,
  7796. u8array.length
  7797. );
  7798. if (dontAddNull) u8array.length = numBytesWritten;
  7799. return u8array;
  7800. }
  7801. function intArrayToString(array) {
  7802. var ret = [];
  7803. for (var i = 0; i < array.length; i++) {
  7804. var chr = array[i];
  7805. if (chr > 255) {
  7806. if (ASSERTIONS) {
  7807. assert(
  7808. false,
  7809. "Character code " +
  7810. chr +
  7811. " (" +
  7812. String.fromCharCode(chr) +
  7813. ") at offset " +
  7814. i +
  7815. " not in 0x00-0xFF."
  7816. );
  7817. }
  7818. chr &= 255;
  7819. }
  7820. ret.push(String.fromCharCode(chr));
  7821. }
  7822. return ret.join("");
  7823. }
  7824. var decodeBase64 =
  7825. typeof atob === "function"
  7826. ? atob
  7827. : function (input) {
  7828. var keyStr =
  7829. "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  7830. var output = "";
  7831. var chr1, chr2, chr3;
  7832. var enc1, enc2, enc3, enc4;
  7833. var i = 0;
  7834. input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
  7835. do {
  7836. enc1 = keyStr.indexOf(input.charAt(i++));
  7837. enc2 = keyStr.indexOf(input.charAt(i++));
  7838. enc3 = keyStr.indexOf(input.charAt(i++));
  7839. enc4 = keyStr.indexOf(input.charAt(i++));
  7840. chr1 = (enc1 << 2) | (enc2 >> 4);
  7841. chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
  7842. chr3 = ((enc3 & 3) << 6) | enc4;
  7843. output = output + String.fromCharCode(chr1);
  7844. if (enc3 !== 64) {
  7845. output = output + String.fromCharCode(chr2);
  7846. }
  7847. if (enc4 !== 64) {
  7848. output = output + String.fromCharCode(chr3);
  7849. }
  7850. } while (i < input.length);
  7851. return output;
  7852. };
  7853. function intArrayFromBase64(s) {
  7854. if (
  7855. typeof ENVIRONMENT_IS_NODE === "boolean" &&
  7856. ENVIRONMENT_IS_NODE
  7857. ) {
  7858. var buf;
  7859. try {
  7860. buf = Buffer.from(s, "base64");
  7861. } catch (_) {
  7862. buf = new Buffer(s, "base64");
  7863. }
  7864. return new Uint8Array(
  7865. buf.buffer,
  7866. buf.byteOffset,
  7867. buf.byteLength
  7868. );
  7869. }
  7870. try {
  7871. var decoded = decodeBase64(s);
  7872. var bytes = new Uint8Array(decoded.length);
  7873. for (var i = 0; i < decoded.length; ++i) {
  7874. bytes[i] = decoded.charCodeAt(i);
  7875. }
  7876. return bytes;
  7877. } catch (_) {
  7878. throw new Error("Converting base64 string to bytes failed.");
  7879. }
  7880. }
  7881. function tryParseAsDataURI(filename) {
  7882. if (!isDataURI(filename)) {
  7883. return;
  7884. }
  7885. return intArrayFromBase64(filename.slice(dataURIPrefix.length));
  7886. }
  7887. Module["wasmTableSize"] = 412;
  7888. Module["wasmMaxTableSize"] = 412;
  7889. function invoke_i(index) {
  7890. var sp = _stackSave();
  7891. try {
  7892. return Module["dynCall_i"](index);
  7893. } catch (e) {
  7894. _stackRestore(sp);
  7895. if (typeof e !== "number" && e !== "longjmp") throw e;
  7896. Module["setThrew"](1, 0);
  7897. }
  7898. }
  7899. function invoke_ii(index, a1) {
  7900. var sp = _stackSave();
  7901. try {
  7902. return Module["dynCall_ii"](index, a1);
  7903. } catch (e) {
  7904. _stackRestore(sp);
  7905. if (typeof e !== "number" && e !== "longjmp") throw e;
  7906. Module["setThrew"](1, 0);
  7907. }
  7908. }
  7909. function invoke_iii(index, a1, a2) {
  7910. var sp = _stackSave();
  7911. try {
  7912. return Module["dynCall_iii"](index, a1, a2);
  7913. } catch (e) {
  7914. _stackRestore(sp);
  7915. if (typeof e !== "number" && e !== "longjmp") throw e;
  7916. Module["setThrew"](1, 0);
  7917. }
  7918. }
  7919. function invoke_iiii(index, a1, a2, a3) {
  7920. var sp = _stackSave();
  7921. try {
  7922. return Module["dynCall_iiii"](index, a1, a2, a3);
  7923. } catch (e) {
  7924. _stackRestore(sp);
  7925. if (typeof e !== "number" && e !== "longjmp") throw e;
  7926. Module["setThrew"](1, 0);
  7927. }
  7928. }
  7929. function invoke_iiiii(index, a1, a2, a3, a4) {
  7930. var sp = _stackSave();
  7931. try {
  7932. return Module["dynCall_iiiii"](index, a1, a2, a3, a4);
  7933. } catch (e) {
  7934. _stackRestore(sp);
  7935. if (typeof e !== "number" && e !== "longjmp") throw e;
  7936. Module["setThrew"](1, 0);
  7937. }
  7938. }
  7939. function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
  7940. var sp = _stackSave();
  7941. try {
  7942. return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5);
  7943. } catch (e) {
  7944. _stackRestore(sp);
  7945. if (typeof e !== "number" && e !== "longjmp") throw e;
  7946. Module["setThrew"](1, 0);
  7947. }
  7948. }
  7949. function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
  7950. var sp = _stackSave();
  7951. try {
  7952. return Module["dynCall_iiiiiii"](
  7953. index,
  7954. a1,
  7955. a2,
  7956. a3,
  7957. a4,
  7958. a5,
  7959. a6
  7960. );
  7961. } catch (e) {
  7962. _stackRestore(sp);
  7963. if (typeof e !== "number" && e !== "longjmp") throw e;
  7964. Module["setThrew"](1, 0);
  7965. }
  7966. }
  7967. function invoke_v(index) {
  7968. var sp = _stackSave();
  7969. try {
  7970. Module["dynCall_v"](index);
  7971. } catch (e) {
  7972. _stackRestore(sp);
  7973. if (typeof e !== "number" && e !== "longjmp") throw e;
  7974. Module["setThrew"](1, 0);
  7975. }
  7976. }
  7977. function invoke_vi(index, a1) {
  7978. var sp = _stackSave();
  7979. try {
  7980. Module["dynCall_vi"](index, a1);
  7981. } catch (e) {
  7982. _stackRestore(sp);
  7983. if (typeof e !== "number" && e !== "longjmp") throw e;
  7984. Module["setThrew"](1, 0);
  7985. }
  7986. }
  7987. function invoke_vii(index, a1, a2) {
  7988. var sp = _stackSave();
  7989. try {
  7990. Module["dynCall_vii"](index, a1, a2);
  7991. } catch (e) {
  7992. _stackRestore(sp);
  7993. if (typeof e !== "number" && e !== "longjmp") throw e;
  7994. Module["setThrew"](1, 0);
  7995. }
  7996. }
  7997. function invoke_viii(index, a1, a2, a3) {
  7998. var sp = _stackSave();
  7999. try {
  8000. Module["dynCall_viii"](index, a1, a2, a3);
  8001. } catch (e) {
  8002. _stackRestore(sp);
  8003. if (typeof e !== "number" && e !== "longjmp") throw e;
  8004. Module["setThrew"](1, 0);
  8005. }
  8006. }
  8007. function invoke_viiii(index, a1, a2, a3, a4) {
  8008. var sp = _stackSave();
  8009. try {
  8010. Module["dynCall_viiii"](index, a1, a2, a3, a4);
  8011. } catch (e) {
  8012. _stackRestore(sp);
  8013. if (typeof e !== "number" && e !== "longjmp") throw e;
  8014. Module["setThrew"](1, 0);
  8015. }
  8016. }
  8017. function invoke_viiiii(index, a1, a2, a3, a4, a5) {
  8018. var sp = _stackSave();
  8019. try {
  8020. Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5);
  8021. } catch (e) {
  8022. _stackRestore(sp);
  8023. if (typeof e !== "number" && e !== "longjmp") throw e;
  8024. Module["setThrew"](1, 0);
  8025. }
  8026. }
  8027. function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
  8028. var sp = _stackSave();
  8029. try {
  8030. Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6);
  8031. } catch (e) {
  8032. _stackRestore(sp);
  8033. if (typeof e !== "number" && e !== "longjmp") throw e;
  8034. Module["setThrew"](1, 0);
  8035. }
  8036. }
  8037. Module.asmGlobalArg = {};
  8038. Module.asmLibraryArg = {
  8039. abort: abort,
  8040. assert: assert,
  8041. enlargeMemory: enlargeMemory,
  8042. getTotalMemory: getTotalMemory,
  8043. abortOnCannotGrowMemory: abortOnCannotGrowMemory,
  8044. invoke_i: invoke_i,
  8045. invoke_ii: invoke_ii,
  8046. invoke_iii: invoke_iii,
  8047. invoke_iiii: invoke_iiii,
  8048. invoke_iiiii: invoke_iiiii,
  8049. invoke_iiiiii: invoke_iiiiii,
  8050. invoke_iiiiiii: invoke_iiiiiii,
  8051. invoke_v: invoke_v,
  8052. invoke_vi: invoke_vi,
  8053. invoke_vii: invoke_vii,
  8054. invoke_viii: invoke_viii,
  8055. invoke_viiii: invoke_viiii,
  8056. invoke_viiiii: invoke_viiiii,
  8057. invoke_viiiiii: invoke_viiiiii,
  8058. ClassHandle: ClassHandle,
  8059. ClassHandle_clone: ClassHandle_clone,
  8060. ClassHandle_delete: ClassHandle_delete,
  8061. ClassHandle_deleteLater: ClassHandle_deleteLater,
  8062. ClassHandle_isAliasOf: ClassHandle_isAliasOf,
  8063. ClassHandle_isDeleted: ClassHandle_isDeleted,
  8064. RegisteredClass: RegisteredClass,
  8065. RegisteredPointer: RegisteredPointer,
  8066. RegisteredPointer_deleteObject: RegisteredPointer_deleteObject,
  8067. RegisteredPointer_destructor: RegisteredPointer_destructor,
  8068. RegisteredPointer_fromWireType: RegisteredPointer_fromWireType,
  8069. RegisteredPointer_getPointee: RegisteredPointer_getPointee,
  8070. __ZSt18uncaught_exceptionv: __ZSt18uncaught_exceptionv,
  8071. ___cxa_allocate_exception: ___cxa_allocate_exception,
  8072. ___cxa_begin_catch: ___cxa_begin_catch,
  8073. ___cxa_find_matching_catch: ___cxa_find_matching_catch,
  8074. ___cxa_throw: ___cxa_throw,
  8075. ___gxx_personality_v0: ___gxx_personality_v0,
  8076. ___lock: ___lock,
  8077. ___resumeException: ___resumeException,
  8078. ___setErrNo: ___setErrNo,
  8079. ___syscall140: ___syscall140,
  8080. ___syscall145: ___syscall145,
  8081. ___syscall146: ___syscall146,
  8082. ___syscall221: ___syscall221,
  8083. ___syscall5: ___syscall5,
  8084. ___syscall54: ___syscall54,
  8085. ___syscall6: ___syscall6,
  8086. ___unlock: ___unlock,
  8087. __embind_register_bool: __embind_register_bool,
  8088. __embind_register_class: __embind_register_class,
  8089. __embind_register_class_constructor:
  8090. __embind_register_class_constructor,
  8091. __embind_register_class_function:
  8092. __embind_register_class_function,
  8093. __embind_register_emval: __embind_register_emval,
  8094. __embind_register_float: __embind_register_float,
  8095. __embind_register_function: __embind_register_function,
  8096. __embind_register_integer: __embind_register_integer,
  8097. __embind_register_memory_view: __embind_register_memory_view,
  8098. __embind_register_std_string: __embind_register_std_string,
  8099. __embind_register_std_wstring: __embind_register_std_wstring,
  8100. __embind_register_void: __embind_register_void,
  8101. __emval_addMethodCaller: __emval_addMethodCaller,
  8102. __emval_allocateDestructors: __emval_allocateDestructors,
  8103. __emval_as: __emval_as,
  8104. __emval_call: __emval_call,
  8105. __emval_call_void_method: __emval_call_void_method,
  8106. __emval_decref: __emval_decref,
  8107. __emval_get_method_caller: __emval_get_method_caller,
  8108. __emval_get_module_property: __emval_get_module_property,
  8109. __emval_get_property: __emval_get_property,
  8110. __emval_incref: __emval_incref,
  8111. __emval_lookupTypes: __emval_lookupTypes,
  8112. __emval_new: __emval_new,
  8113. __emval_new_cstring: __emval_new_cstring,
  8114. __emval_register: __emval_register,
  8115. __emval_run_destructors: __emval_run_destructors,
  8116. __emval_take_value: __emval_take_value,
  8117. _abort: _abort,
  8118. _embind_repr: _embind_repr,
  8119. _emscripten_memcpy_big: _emscripten_memcpy_big,
  8120. _llvm_cttz_i32: _llvm_cttz_i32,
  8121. _llvm_cttz_i64: _llvm_cttz_i64,
  8122. _pthread_getspecific: _pthread_getspecific,
  8123. _pthread_key_create: _pthread_key_create,
  8124. _pthread_once: _pthread_once,
  8125. _pthread_setspecific: _pthread_setspecific,
  8126. constNoSmartPtrRawPointerToWireType:
  8127. constNoSmartPtrRawPointerToWireType,
  8128. count_emval_handles: count_emval_handles,
  8129. craftEmvalAllocator: craftEmvalAllocator,
  8130. craftInvokerFunction: craftInvokerFunction,
  8131. createNamedFunction: createNamedFunction,
  8132. downcastPointer: downcastPointer,
  8133. embind__requireFunction: embind__requireFunction,
  8134. embind_init_charCodes: embind_init_charCodes,
  8135. ensureOverloadTable: ensureOverloadTable,
  8136. exposePublicSymbol: exposePublicSymbol,
  8137. extendError: extendError,
  8138. floatReadValueFromPointer: floatReadValueFromPointer,
  8139. flushPendingDeletes: flushPendingDeletes,
  8140. genericPointerToWireType: genericPointerToWireType,
  8141. getBasestPointer: getBasestPointer,
  8142. getInheritedInstance: getInheritedInstance,
  8143. getInheritedInstanceCount: getInheritedInstanceCount,
  8144. getLiveInheritedInstances: getLiveInheritedInstances,
  8145. getShiftFromSize: getShiftFromSize,
  8146. getStringOrSymbol: getStringOrSymbol,
  8147. getTypeName: getTypeName,
  8148. get_first_emval: get_first_emval,
  8149. heap32VectorToArray: heap32VectorToArray,
  8150. init_ClassHandle: init_ClassHandle,
  8151. init_RegisteredPointer: init_RegisteredPointer,
  8152. init_embind: init_embind,
  8153. init_emval: init_emval,
  8154. integerReadValueFromPointer: integerReadValueFromPointer,
  8155. makeClassHandle: makeClassHandle,
  8156. makeLegalFunctionName: makeLegalFunctionName,
  8157. new_: new_,
  8158. nonConstNoSmartPtrRawPointerToWireType:
  8159. nonConstNoSmartPtrRawPointerToWireType,
  8160. readLatin1String: readLatin1String,
  8161. registerType: registerType,
  8162. replacePublicSymbol: replacePublicSymbol,
  8163. requireHandle: requireHandle,
  8164. requireRegisteredType: requireRegisteredType,
  8165. runDestructor: runDestructor,
  8166. runDestructors: runDestructors,
  8167. setDelayFunction: setDelayFunction,
  8168. shallowCopyInternalPointer: shallowCopyInternalPointer,
  8169. simpleReadValueFromPointer: simpleReadValueFromPointer,
  8170. throwBindingError: throwBindingError,
  8171. throwInstanceAlreadyDeleted: throwInstanceAlreadyDeleted,
  8172. throwInternalError: throwInternalError,
  8173. throwUnboundTypeError: throwUnboundTypeError,
  8174. upcastPointer: upcastPointer,
  8175. whenDependentTypesAreResolved: whenDependentTypesAreResolved,
  8176. DYNAMICTOP_PTR: DYNAMICTOP_PTR,
  8177. tempDoublePtr: tempDoublePtr,
  8178. ABORT: ABORT,
  8179. STACKTOP: STACKTOP,
  8180. STACK_MAX: STACK_MAX,
  8181. };
  8182. var asm = Module["asm"](
  8183. Module.asmGlobalArg,
  8184. Module.asmLibraryArg,
  8185. buffer
  8186. );
  8187. Module["asm"] = asm;
  8188. var __GLOBAL__sub_I_bind_cpp = (Module[
  8189. "__GLOBAL__sub_I_bind_cpp"
  8190. ] = function () {
  8191. return Module["asm"]["__GLOBAL__sub_I_bind_cpp"].apply(
  8192. null,
  8193. arguments
  8194. );
  8195. });
  8196. var __GLOBAL__sub_I_zstd_binding_cc = (Module[
  8197. "__GLOBAL__sub_I_zstd_binding_cc"
  8198. ] = function () {
  8199. return Module["asm"]["__GLOBAL__sub_I_zstd_binding_cc"].apply(
  8200. null,
  8201. arguments
  8202. );
  8203. });
  8204. var ___cxa_can_catch = (Module["___cxa_can_catch"] = function () {
  8205. return Module["asm"]["___cxa_can_catch"].apply(null, arguments);
  8206. });
  8207. var ___cxa_demangle = (Module["___cxa_demangle"] = function () {
  8208. return Module["asm"]["___cxa_demangle"].apply(null, arguments);
  8209. });
  8210. var ___cxa_is_pointer_type = (Module["___cxa_is_pointer_type"] =
  8211. function () {
  8212. return Module["asm"]["___cxa_is_pointer_type"].apply(
  8213. null,
  8214. arguments
  8215. );
  8216. });
  8217. var ___errno_location = (Module["___errno_location"] =
  8218. function () {
  8219. return Module["asm"]["___errno_location"].apply(
  8220. null,
  8221. arguments
  8222. );
  8223. });
  8224. var ___getTypeName = (Module["___getTypeName"] = function () {
  8225. return Module["asm"]["___getTypeName"].apply(null, arguments);
  8226. });
  8227. var _free = (Module["_free"] = function () {
  8228. return Module["asm"]["_free"].apply(null, arguments);
  8229. });
  8230. var _llvm_bswap_i32 = (Module["_llvm_bswap_i32"] = function () {
  8231. return Module["asm"]["_llvm_bswap_i32"].apply(null, arguments);
  8232. });
  8233. var _llvm_ctlz_i64 = (Module["_llvm_ctlz_i64"] = function () {
  8234. return Module["asm"]["_llvm_ctlz_i64"].apply(null, arguments);
  8235. });
  8236. var _malloc = (Module["_malloc"] = function () {
  8237. return Module["asm"]["_malloc"].apply(null, arguments);
  8238. });
  8239. var _memcpy = (Module["_memcpy"] = function () {
  8240. return Module["asm"]["_memcpy"].apply(null, arguments);
  8241. });
  8242. var _memmove = (Module["_memmove"] = function () {
  8243. return Module["asm"]["_memmove"].apply(null, arguments);
  8244. });
  8245. var _memset = (Module["_memset"] = function () {
  8246. return Module["asm"]["_memset"].apply(null, arguments);
  8247. });
  8248. var _sbrk = (Module["_sbrk"] = function () {
  8249. return Module["asm"]["_sbrk"].apply(null, arguments);
  8250. });
  8251. var establishStackSpace = (Module["establishStackSpace"] =
  8252. function () {
  8253. return Module["asm"]["establishStackSpace"].apply(
  8254. null,
  8255. arguments
  8256. );
  8257. });
  8258. var getTempRet0 = (Module["getTempRet0"] = function () {
  8259. return Module["asm"]["getTempRet0"].apply(null, arguments);
  8260. });
  8261. var runPostSets = (Module["runPostSets"] = function () {
  8262. return Module["asm"]["runPostSets"].apply(null, arguments);
  8263. });
  8264. var setTempRet0 = (Module["setTempRet0"] = function () {
  8265. return Module["asm"]["setTempRet0"].apply(null, arguments);
  8266. });
  8267. var setThrew = (Module["setThrew"] = function () {
  8268. return Module["asm"]["setThrew"].apply(null, arguments);
  8269. });
  8270. var stackAlloc = (Module["stackAlloc"] = function () {
  8271. return Module["asm"]["stackAlloc"].apply(null, arguments);
  8272. });
  8273. var _stackRestore = (Module["stackRestore"] = function () {
  8274. return Module["asm"]["stackRestore"].apply(null, arguments);
  8275. });
  8276. var _stackSave = (Module["stackSave"] = function () {
  8277. return Module["asm"]["stackSave"].apply(null, arguments);
  8278. });
  8279. var dynCall_i = (Module["dynCall_i"] = function () {
  8280. return Module["asm"]["dynCall_i"].apply(null, arguments);
  8281. });
  8282. var dynCall_ii = (Module["dynCall_ii"] = function () {
  8283. return Module["asm"]["dynCall_ii"].apply(null, arguments);
  8284. });
  8285. var dynCall_iii = (Module["dynCall_iii"] = function () {
  8286. return Module["asm"]["dynCall_iii"].apply(null, arguments);
  8287. });
  8288. var dynCall_iiii = (Module["dynCall_iiii"] = function () {
  8289. return Module["asm"]["dynCall_iiii"].apply(null, arguments);
  8290. });
  8291. var dynCall_iiiii = (Module["dynCall_iiiii"] = function () {
  8292. return Module["asm"]["dynCall_iiiii"].apply(null, arguments);
  8293. });
  8294. var dynCall_iiiiii = (Module["dynCall_iiiiii"] = function () {
  8295. return Module["asm"]["dynCall_iiiiii"].apply(null, arguments);
  8296. });
  8297. var dynCall_iiiiiii = (Module["dynCall_iiiiiii"] = function () {
  8298. return Module["asm"]["dynCall_iiiiiii"].apply(null, arguments);
  8299. });
  8300. var dynCall_v = (Module["dynCall_v"] = function () {
  8301. return Module["asm"]["dynCall_v"].apply(null, arguments);
  8302. });
  8303. var dynCall_vi = (Module["dynCall_vi"] = function () {
  8304. return Module["asm"]["dynCall_vi"].apply(null, arguments);
  8305. });
  8306. var dynCall_vii = (Module["dynCall_vii"] = function () {
  8307. return Module["asm"]["dynCall_vii"].apply(null, arguments);
  8308. });
  8309. var dynCall_viii = (Module["dynCall_viii"] = function () {
  8310. return Module["asm"]["dynCall_viii"].apply(null, arguments);
  8311. });
  8312. var dynCall_viiii = (Module["dynCall_viiii"] = function () {
  8313. return Module["asm"]["dynCall_viiii"].apply(null, arguments);
  8314. });
  8315. var dynCall_viiiii = (Module["dynCall_viiiii"] = function () {
  8316. return Module["asm"]["dynCall_viiiii"].apply(null, arguments);
  8317. });
  8318. var dynCall_viiiiii = (Module["dynCall_viiiiii"] = function () {
  8319. return Module["asm"]["dynCall_viiiiii"].apply(null, arguments);
  8320. });
  8321. Module["asm"] = asm;
  8322. Module["FS"] = FS;
  8323. Module["then"] = function (func) {
  8324. if (Module["calledRun"]) {
  8325. func(Module);
  8326. } else {
  8327. var old = Module["onRuntimeInitialized"];
  8328. Module["onRuntimeInitialized"] = function () {
  8329. if (old) old();
  8330. func(Module);
  8331. };
  8332. }
  8333. return Module;
  8334. };
  8335. function ExitStatus(status) {
  8336. this.name = "ExitStatus";
  8337. this.message = "Program terminated with exit(" + status + ")";
  8338. this.status = status;
  8339. }
  8340. ExitStatus.prototype = new Error();
  8341. ExitStatus.prototype.constructor = ExitStatus;
  8342. var initialStackTop;
  8343. dependenciesFulfilled = function runCaller() {
  8344. if (!Module["calledRun"]) run();
  8345. if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
  8346. };
  8347. function run(args) {
  8348. args = args || Module["arguments"];
  8349. if (runDependencies > 0) {
  8350. return;
  8351. }
  8352. preRun();
  8353. if (runDependencies > 0) return;
  8354. if (Module["calledRun"]) return;
  8355. function doRun() {
  8356. if (Module["calledRun"]) return;
  8357. Module["calledRun"] = true;
  8358. if (ABORT) return;
  8359. ensureInitRuntime();
  8360. preMain();
  8361. if (Module["onRuntimeInitialized"])
  8362. Module["onRuntimeInitialized"]();
  8363. postRun();
  8364. }
  8365. if (Module["setStatus"]) {
  8366. Module["setStatus"]("Running...");
  8367. setTimeout(function () {
  8368. setTimeout(function () {
  8369. Module["setStatus"]("");
  8370. }, 1);
  8371. doRun();
  8372. }, 1);
  8373. } else {
  8374. doRun();
  8375. }
  8376. }
  8377. Module["run"] = run;
  8378. function abort(what) {
  8379. if (Module["onAbort"]) {
  8380. Module["onAbort"](what);
  8381. }
  8382. if (what !== undefined) {
  8383. out(what);
  8384. err(what);
  8385. what = JSON.stringify(what);
  8386. } else {
  8387. what = "";
  8388. }
  8389. ABORT = true;
  8390. EXITSTATUS = 1;
  8391. throw (
  8392. "abort(" +
  8393. what +
  8394. "). Build with -s ASSERTIONS=1 for more info."
  8395. );
  8396. }
  8397. Module["abort"] = abort;
  8398. if (Module["preInit"]) {
  8399. if (typeof Module["preInit"] == "function")
  8400. Module["preInit"] = [Module["preInit"]];
  8401. while (Module["preInit"].length > 0) {
  8402. Module["preInit"].pop()();
  8403. }
  8404. }
  8405. Module["noExitRuntime"] = true;
  8406. run();
  8407. return Module;
  8408. };
  8409. })();
  8410. if (
  8411. (typeof exports === "undefined"
  8412. ? "undefined"
  8413. : _typeof(exports)) === "object" &&
  8414. (typeof module === "undefined" ? "undefined" : _typeof(module)) ===
  8415. "object"
  8416. )
  8417. module.exports = Module;
  8418. else if (typeof define === "function" && define["amd"])
  8419. define([], function () {
  8420. return Module;
  8421. });
  8422. else if (
  8423. (typeof exports === "undefined"
  8424. ? "undefined"
  8425. : _typeof(exports)) === "object"
  8426. )
  8427. exports["Module"] = Module;
  8428. }).call(this, require("_process"), require("buffer").Buffer, "/lib");
  8429. },
  8430. { _process: 126, buffer: 54, crypto: 63, fs: 9, path: 119 },
  8431. ],
  8432. 6: [
  8433. function (require, module, exports) {
  8434. (function (process, Buffer, __dirname) {
  8435. "use strict";
  8436. var _typeof =
  8437. typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
  8438. ? function (obj) {
  8439. return typeof obj;
  8440. }
  8441. : function (obj) {
  8442. return obj &&
  8443. typeof Symbol === "function" &&
  8444. obj.constructor === Symbol &&
  8445. obj !== Symbol.prototype
  8446. ? "symbol"
  8447. : typeof obj;
  8448. };
  8449. var Module = (function () {
  8450. var _scriptDir =
  8451. typeof document !== "undefined" && document.currentScript
  8452. ? document.currentScript.src
  8453. : undefined;
  8454. return function (Module) {
  8455. Module = Module || {};
  8456. var Module;
  8457. if (!Module) Module = typeof Module !== "undefined" ? Module : {};
  8458. var moduleOverrides = {};
  8459. var key;
  8460. for (key in Module) {
  8461. if (Module.hasOwnProperty(key)) {
  8462. moduleOverrides[key] = Module[key];
  8463. }
  8464. }
  8465. Module["arguments"] = [];
  8466. Module["thisProgram"] = "./this.program";
  8467. Module["quit"] = function (status, toThrow) {
  8468. throw toThrow;
  8469. };
  8470. Module["preRun"] = [];
  8471. Module["postRun"] = [];
  8472. var ENVIRONMENT_IS_WEB = false;
  8473. var ENVIRONMENT_IS_WORKER = false;
  8474. var ENVIRONMENT_IS_NODE = false;
  8475. var ENVIRONMENT_IS_SHELL = false;
  8476. ENVIRONMENT_IS_WEB =
  8477. (typeof window === "undefined"
  8478. ? "undefined"
  8479. : _typeof(window)) === "object";
  8480. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  8481. ENVIRONMENT_IS_NODE =
  8482. (typeof process === "undefined"
  8483. ? "undefined"
  8484. : _typeof(process)) === "object" &&
  8485. typeof require === "function" &&
  8486. !ENVIRONMENT_IS_WEB &&
  8487. !ENVIRONMENT_IS_WORKER;
  8488. ENVIRONMENT_IS_SHELL =
  8489. !ENVIRONMENT_IS_WEB &&
  8490. !ENVIRONMENT_IS_NODE &&
  8491. !ENVIRONMENT_IS_WORKER;
  8492. var scriptDirectory = "";
  8493. function locateFile(path) {
  8494. if (Module["locateFile"]) {
  8495. return Module["locateFile"](path, scriptDirectory);
  8496. } else {
  8497. return scriptDirectory + path;
  8498. }
  8499. }
  8500. if (ENVIRONMENT_IS_NODE) {
  8501. scriptDirectory = __dirname + "/";
  8502. var nodeFS;
  8503. var nodePath;
  8504. Module["read"] = function shell_read(filename, binary) {
  8505. var ret;
  8506. ret = tryParseAsDataURI(filename);
  8507. if (!ret) {
  8508. if (!nodeFS) nodeFS = require("fs");
  8509. if (!nodePath) nodePath = require("path");
  8510. filename = nodePath["normalize"](filename);
  8511. ret = nodeFS["readFileSync"](filename);
  8512. }
  8513. return binary ? ret : ret.toString();
  8514. };
  8515. Module["readBinary"] = function readBinary(filename) {
  8516. var ret = Module["read"](filename, true);
  8517. if (!ret.buffer) {
  8518. ret = new Uint8Array(ret);
  8519. }
  8520. assert(ret.buffer);
  8521. return ret;
  8522. };
  8523. if (process["argv"].length > 1) {
  8524. Module["thisProgram"] = process["argv"][1].replace(
  8525. /\\/g,
  8526. "/"
  8527. );
  8528. }
  8529. Module["arguments"] = process["argv"].slice(2);
  8530. process["on"]("uncaughtException", function (ex) {
  8531. if (!(ex instanceof ExitStatus)) {
  8532. throw ex;
  8533. }
  8534. });
  8535. process["on"]("unhandledRejection", function (reason, p) {
  8536. process["exit"](1);
  8537. });
  8538. Module["quit"] = function (status) {
  8539. process["exit"](status);
  8540. };
  8541. Module["inspect"] = function () {
  8542. return "[Emscripten Module object]";
  8543. };
  8544. } else if (ENVIRONMENT_IS_SHELL) {
  8545. if (typeof read != "undefined") {
  8546. Module["read"] = function shell_read(f) {
  8547. var data = tryParseAsDataURI(f);
  8548. if (data) {
  8549. return intArrayToString(data);
  8550. }
  8551. return read(f);
  8552. };
  8553. }
  8554. Module["readBinary"] = function readBinary(f) {
  8555. var data;
  8556. data = tryParseAsDataURI(f);
  8557. if (data) {
  8558. return data;
  8559. }
  8560. if (typeof readbuffer === "function") {
  8561. return new Uint8Array(readbuffer(f));
  8562. }
  8563. data = read(f, "binary");
  8564. assert(
  8565. (typeof data === "undefined"
  8566. ? "undefined"
  8567. : _typeof(data)) === "object"
  8568. );
  8569. return data;
  8570. };
  8571. if (typeof scriptArgs != "undefined") {
  8572. Module["arguments"] = scriptArgs;
  8573. } else if (typeof arguments != "undefined") {
  8574. Module["arguments"] = arguments;
  8575. }
  8576. if (typeof quit === "function") {
  8577. Module["quit"] = function (status) {
  8578. quit(status);
  8579. };
  8580. }
  8581. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  8582. if (ENVIRONMENT_IS_WEB) {
  8583. if (document.currentScript) {
  8584. scriptDirectory = document.currentScript.src;
  8585. }
  8586. } else {
  8587. scriptDirectory = self.location.href;
  8588. }
  8589. if (_scriptDir) {
  8590. scriptDirectory = _scriptDir;
  8591. }
  8592. if (scriptDirectory.indexOf("blob:") !== 0) {
  8593. scriptDirectory =
  8594. scriptDirectory.split("/").slice(0, -1).join("/") + "/";
  8595. } else {
  8596. scriptDirectory = "";
  8597. }
  8598. Module["read"] = function shell_read(url) {
  8599. try {
  8600. var xhr = new XMLHttpRequest();
  8601. xhr.open("GET", url, false);
  8602. xhr.send(null);
  8603. return xhr.responseText;
  8604. } catch (err) {
  8605. var data = tryParseAsDataURI(url);
  8606. if (data) {
  8607. return intArrayToString(data);
  8608. }
  8609. throw err;
  8610. }
  8611. };
  8612. if (ENVIRONMENT_IS_WORKER) {
  8613. Module["readBinary"] = function readBinary(url) {
  8614. try {
  8615. var xhr = new XMLHttpRequest();
  8616. xhr.open("GET", url, false);
  8617. xhr.responseType = "arraybuffer";
  8618. xhr.send(null);
  8619. return new Uint8Array(xhr.response);
  8620. } catch (err) {
  8621. var data = tryParseAsDataURI(url);
  8622. if (data) {
  8623. return data;
  8624. }
  8625. throw err;
  8626. }
  8627. };
  8628. }
  8629. Module["readAsync"] = function readAsync(url, onload, onerror) {
  8630. var xhr = new XMLHttpRequest();
  8631. xhr.open("GET", url, true);
  8632. xhr.responseType = "arraybuffer";
  8633. xhr.onload = function xhr_onload() {
  8634. if (
  8635. xhr.status == 200 ||
  8636. (xhr.status == 0 && xhr.response)
  8637. ) {
  8638. onload(xhr.response);
  8639. return;
  8640. }
  8641. var data = tryParseAsDataURI(url);
  8642. if (data) {
  8643. onload(data.buffer);
  8644. return;
  8645. }
  8646. onerror();
  8647. };
  8648. xhr.onerror = onerror;
  8649. xhr.send(null);
  8650. };
  8651. Module["setWindowTitle"] = function (title) {
  8652. document.title = title;
  8653. };
  8654. } else {
  8655. }
  8656. var out =
  8657. Module["print"] ||
  8658. (typeof console !== "undefined"
  8659. ? console.log.bind(console)
  8660. : typeof print !== "undefined"
  8661. ? print
  8662. : null);
  8663. var err =
  8664. Module["printErr"] ||
  8665. (typeof printErr !== "undefined"
  8666. ? printErr
  8667. : (typeof console !== "undefined" &&
  8668. console.warn.bind(console)) ||
  8669. out);
  8670. for (key in moduleOverrides) {
  8671. if (moduleOverrides.hasOwnProperty(key)) {
  8672. Module[key] = moduleOverrides[key];
  8673. }
  8674. }
  8675. moduleOverrides = undefined;
  8676. var STACK_ALIGN = 16;
  8677. function staticAlloc(size) {
  8678. var ret = STATICTOP;
  8679. STATICTOP = (STATICTOP + size + 15) & -16;
  8680. return ret;
  8681. }
  8682. function dynamicAlloc(size) {
  8683. var ret = HEAP32[DYNAMICTOP_PTR >> 2];
  8684. var end = (ret + size + 15) & -16;
  8685. HEAP32[DYNAMICTOP_PTR >> 2] = end;
  8686. if (end >= TOTAL_MEMORY) {
  8687. var success = enlargeMemory();
  8688. if (!success) {
  8689. HEAP32[DYNAMICTOP_PTR >> 2] = ret;
  8690. return 0;
  8691. }
  8692. }
  8693. return ret;
  8694. }
  8695. function alignMemory(size, factor) {
  8696. if (!factor) factor = STACK_ALIGN;
  8697. var ret = (size = Math.ceil(size / factor) * factor);
  8698. return ret;
  8699. }
  8700. function getNativeTypeSize(type) {
  8701. switch (type) {
  8702. case "i1":
  8703. case "i8":
  8704. return 1;
  8705. case "i16":
  8706. return 2;
  8707. case "i32":
  8708. return 4;
  8709. case "i64":
  8710. return 8;
  8711. case "float":
  8712. return 4;
  8713. case "double":
  8714. return 8;
  8715. default: {
  8716. if (type[type.length - 1] === "*") {
  8717. return 4;
  8718. } else if (type[0] === "i") {
  8719. var bits = parseInt(type.substr(1));
  8720. assert(bits % 8 === 0);
  8721. return bits / 8;
  8722. } else {
  8723. return 0;
  8724. }
  8725. }
  8726. }
  8727. }
  8728. function warnOnce(text) {
  8729. if (!warnOnce.shown) warnOnce.shown = {};
  8730. if (!warnOnce.shown[text]) {
  8731. warnOnce.shown[text] = 1;
  8732. err(text);
  8733. }
  8734. }
  8735. var jsCallStartIndex = 1;
  8736. var functionPointers = new Array(0);
  8737. var funcWrappers = {};
  8738. function dynCall(sig, ptr, args) {
  8739. if (args && args.length) {
  8740. return Module["dynCall_" + sig].apply(
  8741. null,
  8742. [ptr].concat(args)
  8743. );
  8744. } else {
  8745. return Module["dynCall_" + sig].call(null, ptr);
  8746. }
  8747. }
  8748. var GLOBAL_BASE = 8;
  8749. var ABORT = 0;
  8750. var EXITSTATUS = 0;
  8751. function assert(condition, text) {
  8752. if (!condition) {
  8753. abort("Assertion failed: " + text);
  8754. }
  8755. }
  8756. function getCFunc(ident) {
  8757. var func = Module["_" + ident];
  8758. assert(
  8759. func,
  8760. "Cannot call unknown function " +
  8761. ident +
  8762. ", make sure it is exported"
  8763. );
  8764. return func;
  8765. }
  8766. var JSfuncs = {
  8767. stackSave: function stackSave() {
  8768. _stackSave();
  8769. },
  8770. stackRestore: function stackRestore() {
  8771. _stackRestore();
  8772. },
  8773. arrayToC: function arrayToC(arr) {
  8774. var ret = stackAlloc(arr.length);
  8775. writeArrayToMemory(arr, ret);
  8776. return ret;
  8777. },
  8778. stringToC: function stringToC(str) {
  8779. var ret = 0;
  8780. if (str !== null && str !== undefined && str !== 0) {
  8781. var len = (str.length << 2) + 1;
  8782. ret = stackAlloc(len);
  8783. stringToUTF8(str, ret, len);
  8784. }
  8785. return ret;
  8786. },
  8787. };
  8788. var toC = {
  8789. string: JSfuncs["stringToC"],
  8790. array: JSfuncs["arrayToC"],
  8791. };
  8792. function ccall(ident, returnType, argTypes, args, opts) {
  8793. function convertReturnValue(ret) {
  8794. if (returnType === "string") return Pointer_stringify(ret);
  8795. if (returnType === "boolean") return Boolean(ret);
  8796. return ret;
  8797. }
  8798. var func = getCFunc(ident);
  8799. var cArgs = [];
  8800. var stack = 0;
  8801. if (args) {
  8802. for (var i = 0; i < args.length; i++) {
  8803. var converter = toC[argTypes[i]];
  8804. if (converter) {
  8805. if (stack === 0) stack = _stackSave();
  8806. cArgs[i] = converter(args[i]);
  8807. } else {
  8808. cArgs[i] = args[i];
  8809. }
  8810. }
  8811. }
  8812. var ret = func.apply(null, cArgs);
  8813. ret = convertReturnValue(ret);
  8814. if (stack !== 0) _stackRestore(stack);
  8815. return ret;
  8816. }
  8817. function setValue(ptr, value, type, noSafe) {
  8818. type = type || "i8";
  8819. if (type.charAt(type.length - 1) === "*") type = "i32";
  8820. switch (type) {
  8821. case "i1":
  8822. HEAP8[ptr >> 0] = value;
  8823. break;
  8824. case "i8":
  8825. HEAP8[ptr >> 0] = value;
  8826. break;
  8827. case "i16":
  8828. HEAP16[ptr >> 1] = value;
  8829. break;
  8830. case "i32":
  8831. HEAP32[ptr >> 2] = value;
  8832. break;
  8833. case "i64":
  8834. (tempI64 = [
  8835. value >>> 0,
  8836. ((tempDouble = value),
  8837. +Math_abs(tempDouble) >= +1
  8838. ? tempDouble > +0
  8839. ? (Math_min(
  8840. +Math_floor(tempDouble / +4294967296),
  8841. +4294967295
  8842. ) |
  8843. 0) >>>
  8844. 0
  8845. : ~~+Math_ceil(
  8846. (tempDouble - +(~~tempDouble >>> 0)) / +4294967296
  8847. ) >>> 0
  8848. : 0),
  8849. ]),
  8850. (HEAP32[ptr >> 2] = tempI64[0]),
  8851. (HEAP32[(ptr + 4) >> 2] = tempI64[1]);
  8852. break;
  8853. case "float":
  8854. HEAPF32[ptr >> 2] = value;
  8855. break;
  8856. case "double":
  8857. HEAPF64[ptr >> 3] = value;
  8858. break;
  8859. default:
  8860. abort("invalid type for setValue: " + type);
  8861. }
  8862. }
  8863. var ALLOC_STATIC = 2;
  8864. var ALLOC_NONE = 4;
  8865. function Pointer_stringify(ptr, length) {
  8866. if (length === 0 || !ptr) return "";
  8867. var hasUtf = 0;
  8868. var t;
  8869. var i = 0;
  8870. while (1) {
  8871. t = HEAPU8[(ptr + i) >> 0];
  8872. hasUtf |= t;
  8873. if (t == 0 && !length) break;
  8874. i++;
  8875. if (length && i == length) break;
  8876. }
  8877. if (!length) length = i;
  8878. var ret = "";
  8879. if (hasUtf < 128) {
  8880. var MAX_CHUNK = 1024;
  8881. var curr;
  8882. while (length > 0) {
  8883. curr = String.fromCharCode.apply(
  8884. String,
  8885. HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))
  8886. );
  8887. ret = ret ? ret + curr : curr;
  8888. ptr += MAX_CHUNK;
  8889. length -= MAX_CHUNK;
  8890. }
  8891. return ret;
  8892. }
  8893. return UTF8ToString(ptr);
  8894. }
  8895. var UTF8Decoder =
  8896. typeof TextDecoder !== "undefined"
  8897. ? new TextDecoder("utf8")
  8898. : undefined;
  8899. function UTF8ArrayToString(u8Array, idx) {
  8900. var endPtr = idx;
  8901. while (u8Array[endPtr]) {
  8902. ++endPtr;
  8903. }
  8904. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  8905. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
  8906. } else {
  8907. var u0, u1, u2, u3, u4, u5;
  8908. var str = "";
  8909. while (1) {
  8910. u0 = u8Array[idx++];
  8911. if (!u0) return str;
  8912. if (!(u0 & 128)) {
  8913. str += String.fromCharCode(u0);
  8914. continue;
  8915. }
  8916. u1 = u8Array[idx++] & 63;
  8917. if ((u0 & 224) == 192) {
  8918. str += String.fromCharCode(((u0 & 31) << 6) | u1);
  8919. continue;
  8920. }
  8921. u2 = u8Array[idx++] & 63;
  8922. if ((u0 & 240) == 224) {
  8923. u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
  8924. } else {
  8925. u3 = u8Array[idx++] & 63;
  8926. if ((u0 & 248) == 240) {
  8927. u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
  8928. } else {
  8929. u4 = u8Array[idx++] & 63;
  8930. if ((u0 & 252) == 248) {
  8931. u0 =
  8932. ((u0 & 3) << 24) |
  8933. (u1 << 18) |
  8934. (u2 << 12) |
  8935. (u3 << 6) |
  8936. u4;
  8937. } else {
  8938. u5 = u8Array[idx++] & 63;
  8939. u0 =
  8940. ((u0 & 1) << 30) |
  8941. (u1 << 24) |
  8942. (u2 << 18) |
  8943. (u3 << 12) |
  8944. (u4 << 6) |
  8945. u5;
  8946. }
  8947. }
  8948. }
  8949. if (u0 < 65536) {
  8950. str += String.fromCharCode(u0);
  8951. } else {
  8952. var ch = u0 - 65536;
  8953. str += String.fromCharCode(
  8954. 55296 | (ch >> 10),
  8955. 56320 | (ch & 1023)
  8956. );
  8957. }
  8958. }
  8959. }
  8960. }
  8961. function UTF8ToString(ptr) {
  8962. return UTF8ArrayToString(HEAPU8, ptr);
  8963. }
  8964. function stringToUTF8Array(
  8965. str,
  8966. outU8Array,
  8967. outIdx,
  8968. maxBytesToWrite
  8969. ) {
  8970. if (!(maxBytesToWrite > 0)) return 0;
  8971. var startIdx = outIdx;
  8972. var endIdx = outIdx + maxBytesToWrite - 1;
  8973. for (var i = 0; i < str.length; ++i) {
  8974. var u = str.charCodeAt(i);
  8975. if (u >= 55296 && u <= 57343) {
  8976. var u1 = str.charCodeAt(++i);
  8977. u = (65536 + ((u & 1023) << 10)) | (u1 & 1023);
  8978. }
  8979. if (u <= 127) {
  8980. if (outIdx >= endIdx) break;
  8981. outU8Array[outIdx++] = u;
  8982. } else if (u <= 2047) {
  8983. if (outIdx + 1 >= endIdx) break;
  8984. outU8Array[outIdx++] = 192 | (u >> 6);
  8985. outU8Array[outIdx++] = 128 | (u & 63);
  8986. } else if (u <= 65535) {
  8987. if (outIdx + 2 >= endIdx) break;
  8988. outU8Array[outIdx++] = 224 | (u >> 12);
  8989. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  8990. outU8Array[outIdx++] = 128 | (u & 63);
  8991. } else if (u <= 2097151) {
  8992. if (outIdx + 3 >= endIdx) break;
  8993. outU8Array[outIdx++] = 240 | (u >> 18);
  8994. outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
  8995. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  8996. outU8Array[outIdx++] = 128 | (u & 63);
  8997. } else if (u <= 67108863) {
  8998. if (outIdx + 4 >= endIdx) break;
  8999. outU8Array[outIdx++] = 248 | (u >> 24);
  9000. outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
  9001. outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
  9002. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  9003. outU8Array[outIdx++] = 128 | (u & 63);
  9004. } else {
  9005. if (outIdx + 5 >= endIdx) break;
  9006. outU8Array[outIdx++] = 252 | (u >> 30);
  9007. outU8Array[outIdx++] = 128 | ((u >> 24) & 63);
  9008. outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
  9009. outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
  9010. outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
  9011. outU8Array[outIdx++] = 128 | (u & 63);
  9012. }
  9013. }
  9014. outU8Array[outIdx] = 0;
  9015. return outIdx - startIdx;
  9016. }
  9017. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  9018. return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
  9019. }
  9020. function lengthBytesUTF8(str) {
  9021. var len = 0;
  9022. for (var i = 0; i < str.length; ++i) {
  9023. var u = str.charCodeAt(i);
  9024. if (u >= 55296 && u <= 57343)
  9025. u =
  9026. (65536 + ((u & 1023) << 10)) |
  9027. (str.charCodeAt(++i) & 1023);
  9028. if (u <= 127) {
  9029. ++len;
  9030. } else if (u <= 2047) {
  9031. len += 2;
  9032. } else if (u <= 65535) {
  9033. len += 3;
  9034. } else if (u <= 2097151) {
  9035. len += 4;
  9036. } else if (u <= 67108863) {
  9037. len += 5;
  9038. } else {
  9039. len += 6;
  9040. }
  9041. }
  9042. return len;
  9043. }
  9044. var UTF16Decoder =
  9045. typeof TextDecoder !== "undefined"
  9046. ? new TextDecoder("utf-16le")
  9047. : undefined;
  9048. function demangle(func) {
  9049. var __cxa_demangle_func =
  9050. Module["___cxa_demangle"] || Module["__cxa_demangle"];
  9051. assert(__cxa_demangle_func);
  9052. try {
  9053. var s = func.substr(1);
  9054. var len = lengthBytesUTF8(s) + 1;
  9055. var buf = _malloc(len);
  9056. stringToUTF8(s, buf, len);
  9057. var status = _malloc(4);
  9058. var ret = __cxa_demangle_func(buf, 0, 0, status);
  9059. if (HEAP32[status >> 2] === 0 && ret) {
  9060. return Pointer_stringify(ret);
  9061. }
  9062. } catch (e) {
  9063. } finally {
  9064. if (buf) _free(buf);
  9065. if (status) _free(status);
  9066. if (ret) _free(ret);
  9067. }
  9068. return func;
  9069. }
  9070. function demangleAll(text) {
  9071. var regex = /__Z[\w\d_]+/g;
  9072. return text.replace(regex, function (x) {
  9073. var y = demangle(x);
  9074. return x === y ? x : x + " [" + y + "]";
  9075. });
  9076. }
  9077. function jsStackTrace() {
  9078. var err = new Error();
  9079. if (!err.stack) {
  9080. try {
  9081. throw new Error(0);
  9082. } catch (e) {
  9083. err = e;
  9084. }
  9085. if (!err.stack) {
  9086. return "(no stack trace available)";
  9087. }
  9088. }
  9089. return err.stack.toString();
  9090. }
  9091. function stackTrace() {
  9092. var js = jsStackTrace();
  9093. if (Module["extraStackTrace"])
  9094. js += "\n" + Module["extraStackTrace"]();
  9095. return demangleAll(js);
  9096. }
  9097. var buffer,
  9098. HEAP8,
  9099. HEAPU8,
  9100. HEAP16,
  9101. HEAPU16,
  9102. HEAP32,
  9103. HEAPU32,
  9104. HEAPF32,
  9105. HEAPF64;
  9106. function updateGlobalBufferViews() {
  9107. Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
  9108. Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
  9109. Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
  9110. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
  9111. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
  9112. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
  9113. Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
  9114. Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
  9115. }
  9116. var STATIC_BASE, STATICTOP, staticSealed;
  9117. var STACK_BASE, STACKTOP, STACK_MAX;
  9118. var DYNAMIC_BASE, DYNAMICTOP_PTR;
  9119. STATIC_BASE =
  9120. STATICTOP =
  9121. STACK_BASE =
  9122. STACKTOP =
  9123. STACK_MAX =
  9124. DYNAMIC_BASE =
  9125. DYNAMICTOP_PTR =
  9126. 0;
  9127. staticSealed = false;
  9128. function abortOnCannotGrowMemory() {
  9129. abort(
  9130. "Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " +
  9131. TOTAL_MEMORY +
  9132. ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "
  9133. );
  9134. }
  9135. function enlargeMemory() {
  9136. abortOnCannotGrowMemory();
  9137. }
  9138. var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880;
  9139. var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;
  9140. if (TOTAL_MEMORY < TOTAL_STACK)
  9141. err(
  9142. "TOTAL_MEMORY should be larger than TOTAL_STACK, was " +
  9143. TOTAL_MEMORY +
  9144. "! (TOTAL_STACK=" +
  9145. TOTAL_STACK +
  9146. ")"
  9147. );
  9148. if (Module["buffer"]) {
  9149. buffer = Module["buffer"];
  9150. } else {
  9151. {
  9152. buffer = new ArrayBuffer(TOTAL_MEMORY);
  9153. }
  9154. Module["buffer"] = buffer;
  9155. }
  9156. updateGlobalBufferViews();
  9157. function getTotalMemory() {
  9158. return TOTAL_MEMORY;
  9159. }
  9160. function callRuntimeCallbacks(callbacks) {
  9161. while (callbacks.length > 0) {
  9162. var callback = callbacks.shift();
  9163. if (typeof callback == "function") {
  9164. callback();
  9165. continue;
  9166. }
  9167. var func = callback.func;
  9168. if (typeof func === "number") {
  9169. if (callback.arg === undefined) {
  9170. Module["dynCall_v"](func);
  9171. } else {
  9172. Module["dynCall_vi"](func, callback.arg);
  9173. }
  9174. } else {
  9175. func(callback.arg === undefined ? null : callback.arg);
  9176. }
  9177. }
  9178. }
  9179. var __ATPRERUN__ = [];
  9180. var __ATINIT__ = [];
  9181. var __ATMAIN__ = [];
  9182. var __ATEXIT__ = [];
  9183. var __ATPOSTRUN__ = [];
  9184. var runtimeInitialized = false;
  9185. var runtimeExited = false;
  9186. function preRun() {
  9187. if (Module["preRun"]) {
  9188. if (typeof Module["preRun"] == "function")
  9189. Module["preRun"] = [Module["preRun"]];
  9190. while (Module["preRun"].length) {
  9191. addOnPreRun(Module["preRun"].shift());
  9192. }
  9193. }
  9194. callRuntimeCallbacks(__ATPRERUN__);
  9195. }
  9196. function ensureInitRuntime() {
  9197. if (runtimeInitialized) return;
  9198. runtimeInitialized = true;
  9199. callRuntimeCallbacks(__ATINIT__);
  9200. }
  9201. function preMain() {
  9202. callRuntimeCallbacks(__ATMAIN__);
  9203. }
  9204. function exitRuntime() {
  9205. callRuntimeCallbacks(__ATEXIT__);
  9206. runtimeExited = true;
  9207. }
  9208. function postRun() {
  9209. if (Module["postRun"]) {
  9210. if (typeof Module["postRun"] == "function")
  9211. Module["postRun"] = [Module["postRun"]];
  9212. while (Module["postRun"].length) {
  9213. addOnPostRun(Module["postRun"].shift());
  9214. }
  9215. }
  9216. callRuntimeCallbacks(__ATPOSTRUN__);
  9217. }
  9218. function addOnPreRun(cb) {
  9219. __ATPRERUN__.unshift(cb);
  9220. }
  9221. function addOnPostRun(cb) {
  9222. __ATPOSTRUN__.unshift(cb);
  9223. }
  9224. function writeArrayToMemory(array, buffer) {
  9225. HEAP8.set(array, buffer);
  9226. }
  9227. function writeAsciiToMemory(str, buffer, dontAddNull) {
  9228. for (var i = 0; i < str.length; ++i) {
  9229. HEAP8[buffer++ >> 0] = str.charCodeAt(i);
  9230. }
  9231. if (!dontAddNull) HEAP8[buffer >> 0] = 0;
  9232. }
  9233. var Math_abs = Math.abs;
  9234. var Math_ceil = Math.ceil;
  9235. var Math_floor = Math.floor;
  9236. var Math_min = Math.min;
  9237. var runDependencies = 0;
  9238. var runDependencyWatcher = null;
  9239. var dependenciesFulfilled = null;
  9240. function getUniqueRunDependency(id) {
  9241. return id;
  9242. }
  9243. function addRunDependency(id) {
  9244. runDependencies++;
  9245. if (Module["monitorRunDependencies"]) {
  9246. Module["monitorRunDependencies"](runDependencies);
  9247. }
  9248. }
  9249. function removeRunDependency(id) {
  9250. runDependencies--;
  9251. if (Module["monitorRunDependencies"]) {
  9252. Module["monitorRunDependencies"](runDependencies);
  9253. }
  9254. if (runDependencies == 0) {
  9255. if (runDependencyWatcher !== null) {
  9256. clearInterval(runDependencyWatcher);
  9257. runDependencyWatcher = null;
  9258. }
  9259. if (dependenciesFulfilled) {
  9260. var callback = dependenciesFulfilled;
  9261. dependenciesFulfilled = null;
  9262. callback();
  9263. }
  9264. }
  9265. }
  9266. Module["preloadedImages"] = {};
  9267. Module["preloadedAudios"] = {};
  9268. var memoryInitializer = null;
  9269. var dataURIPrefix = "data:application/octet-stream;base64,";
  9270. function isDataURI(filename) {
  9271. return String.prototype.startsWith
  9272. ? filename.startsWith(dataURIPrefix)
  9273. : filename.indexOf(dataURIPrefix) === 0;
  9274. }
  9275. STATIC_BASE = GLOBAL_BASE;
  9276. STATICTOP = STATIC_BASE + 22272;
  9277. __ATINIT__.push(
  9278. {
  9279. func: function func() {
  9280. __GLOBAL__sub_I_zstd_binding_cc();
  9281. },
  9282. },
  9283. {
  9284. func: function func() {
  9285. __GLOBAL__sub_I_bind_cpp();
  9286. },
  9287. }
  9288. );
  9289. memoryInitializer =
  9290. "data:application/octet-stream;base64,AAAAAAAAAACwKgAASCcAAAgrAADQKgAAwCoAADAnAAAIKwAA0CoAAPAqAADwJwAAMCcAADAnAADwKgAAAAAAAAAAAAAAAAAA8CoAAPAnAAAwJwAAMCcAAPAqAADwJwAAMCcAADAnAABwJwAAAAAAAAAAAAAAAAAA8CoAAPAnAAAwJwAAMCcAAKgnAAAAAAAAAAAAAAAAAADAKgAACCgAAHAmAABwJgAAwCoAADAoAABwJgAAcCYAAAAAAABrOAcADbIHAJzyBwBwZAgAYK4KALBxCwAwqgwAEwAAAAwAAAANAAAAAQAAAAYAAAABAAAAAQAAABMAAAANAAAADgAAAAEAAAAHAAAAAQAAAAEAAAATAAAADwAAABAAAAABAAAABgAAAAEAAAABAAAAFAAAABAAAAARAAAAAQAAAAUAAAAIAAAAAgAAABQAAAARAAAAEgAAAAEAAAAFAAAACAAAAAIAAAAUAAAAEQAAABIAAAACAAAABQAAABAAAAADAAAAFQAAABEAAAATAAAAAgAAAAUAAAAQAAAABAAAABUAAAASAAAAEwAAAAMAAAAFAAAAEAAAAAQAAAAVAAAAEgAAABQAAAADAAAABQAAABAAAAAFAAAAFQAAABMAAAAUAAAAAwAAAAUAAAAQAAAABQAAABUAAAATAAAAFQAAAAQAAAAFAAAAEAAAAAUAAAAWAAAAFAAAABYAAAAEAAAABQAAABAAAAAFAAAAFgAAABQAAAAWAAAABQAAAAUAAAAQAAAABQAAABYAAAAVAAAAFgAAAAQAAAAFAAAAIAAAAAYAAAAWAAAAFQAAABYAAAAFAAAABQAAACAAAAAGAAAAFgAAABYAAAAWAAAABgAAAAUAAAAgAAAABgAAABYAAAAVAAAAFgAAAAQAAAAFAAAAMAAAAAcAAAAXAAAAFgAAABYAAAAEAAAABAAAADAAAAAHAAAAFwAAABYAAAAWAAAABQAAAAMAAABAAAAABwAAABcAAAAXAAAAFgAAAAcAAAADAAAAgAAAAAcAAAAZAAAAGQAAABcAAAAHAAAAAwAAAIAAAAAIAAAAGgAAABoAAAAYAAAABwAAAAMAAAAAAQAACAAAABsAAAAbAAAAGQAAAAkAAAADAAAAAAIAAAgAAAASAAAADAAAAA0AAAABAAAABQAAAAEAAAABAAAAEgAAAA0AAAAOAAAAAQAAAAYAAAABAAAAAQAAABIAAAAOAAAADQAAAAEAAAAFAAAACAAAAAIAAAASAAAAEAAAAA8AAAABAAAABQAAAAgAAAACAAAAEgAAAA8AAAARAAAAAQAAAAUAAAAIAAAAAwAAABIAAAAQAAAAEQAAAAQAAAAFAAAACAAAAAMAAAASAAAAEAAAABEAAAADAAAABQAAAAgAAAAEAAAAEgAAABEAAAARAAAABAAAAAQAAAAIAAAABAAAABIAAAARAAAAEQAAAAQAAAAEAAAACAAAAAUAAAASAAAAEQAAABEAAAAFAAAABAAAAAgAAAAFAAAAEgAAABEAAAARAAAABgAAAAQAAAAIAAAABQAAABIAAAASAAAAEQAAAAYAAAAEAAAACAAAAAUAAAASAAAAEgAAABEAAAAFAAAABAAAAAgAAAAGAAAAEgAAABMAAAARAAAABwAAAAQAAAAIAAAABgAAABIAAAASAAAAEgAAAAQAAAAEAAAAEAAAAAcAAAASAAAAEgAAABIAAAAEAAAAAwAAABAAAAAHAAAAEgAAABMAAAASAAAABgAAAAMAAAAgAAAABwAAABIAAAATAAAAEgAAAAgAAAADAAAAQAAAAAcAAAASAAAAEwAAABIAAAAJAAAAAwAAAIAAAAAHAAAAEgAAABMAAAASAAAACgAAAAMAAAAAAQAABwAAABIAAAATAAAAEgAAAAsAAAADAAAAAAIAAAgAAAASAAAAEwAAABIAAAAMAAAAAwAAAAACAAAIAAAAEgAAABMAAAASAAAADQAAAAMAAAAAAgAACAAAABEAAAAMAAAADAAAAAEAAAAFAAAAAQAAAAEAAAARAAAADAAAAA0AAAABAAAABgAAAAEAAAABAAAAEQAAAA0AAAAQAAAAAQAAAAUAAAABAAAAAQAAABEAAAAQAAAAEAAAAAIAAAAFAAAACAAAAAIAAAARAAAADQAAAA8AAAADAAAABAAAAAgAAAADAAAAEQAAAA8AAAARAAAABAAAAAQAAAAIAAAAAwAAABEAAAAQAAAAEQAAAAMAAAAEAAAACAAAAAQAAAARAAAADwAAABEAAAAEAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABAAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAUAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAGAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABwAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAgAAAAEAAAACAAAAAUAAAARAAAAEgAAABEAAAAGAAAABAAAAAgAAAAGAAAAEQAAABEAAAARAAAABwAAAAMAAAAIAAAABwAAABEAAAARAAAAEQAAAAcAAAADAAAAEAAAAAcAAAARAAAAEgAAABEAAAAHAAAAAwAAACAAAAAHAAAAEQAAABIAAAARAAAABwAAAAMAAABAAAAABwAAABEAAAASAAAAEQAAAAcAAAADAAAAAAEAAAcAAAARAAAAEgAAABEAAAAIAAAAAwAAAAABAAAHAAAAEQAAABIAAAARAAAACQAAAAMAAAAAAQAACAAAABEAAAASAAAAEQAAAAoAAAADAAAAAAEAAAgAAAARAAAAEgAAABEAAAALAAAAAwAAAAACAAAIAAAADgAAAAwAAAANAAAAAQAAAAUAAAABAAAAAQAAAA4AAAAOAAAADgAAAAEAAAAGAAAAAQAAAAEAAAAOAAAADgAAAA4AAAABAAAABAAAAAEAAAABAAAADgAAAA4AAAAOAAAAAQAAAAQAAAAGAAAAAgAAAA4AAAAOAAAADgAAAAQAAAAEAAAABgAAAAMAAAAOAAAADgAAAA4AAAADAAAABAAAAAYAAAAEAAAADgAAAA4AAAAOAAAABAAAAAQAAAAGAAAABQAAAA4AAAAOAAAADgAAAAUAAAAEAAAABgAAAAUAAAAOAAAADgAAAA4AAAAGAAAABAAAAAYAAAAFAAAADgAAAA8AAAAOAAAABgAAAAQAAAAGAAAABgAAAA4AAAAPAAAADgAAAAMAAAADAAAABgAAAAcAAAAOAAAADwAAAA4AAAAGAAAAAwAAAAgAAAAHAAAADgAAAA8AAAAOAAAABgAAAAMAAAAQAAAABwAAAA4AAAAPAAAADgAAAAYAAAADAAAAGAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAADAAAAAHAAAADgAAAA8AAAAPAAAABgAAAAMAAABAAAAABwAAAA4AAAAPAAAADwAAAAYAAAADAAAAYAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAAIAAAAAHAAAADgAAAA8AAAAPAAAABgAAAAMAAAAAAQAABwAAAA4AAAAPAAAADwAAAAcAAAADAAAAAAEAAAcAAAAOAAAADwAAAA8AAAAIAAAAAwAAAAABAAAIAAAADgAAAA8AAAAPAAAACQAAAAMAAAAAAQAACAAAAA4AAAAPAAAADwAAAAoAAAADAAAAAAEAAAgAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8A////Af///wP///8H////D////x////8/////fwEAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAQERESEhMTFBQUFBUVFRUWFhYWFhYWFhcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICAhISIiIyMkJCQkJSUlJSYmJiYmJiYmJycnJycnJycoKCgoKCgoKCgoKCgoKCgoKSkpKSkpKSkpKSkpKSkpKSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqBAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AAAAAAAAAAABAAEAAQABAAEAAQACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD/////////////AAAAAAAAAQAEAAMAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD//////////////////wAAAAAAAAAAAAABAAAAAgAAAAQAAAAAAAAAAgAAAAQAAAAIAAAAAAAAAAEAAAACAAAACAAAAAEAAQEGAAAAAAAABAAAAAAQAAAEAAAAACAAAAUBAAAAAAAABQMAAAAAAAAFBAAAAAAAAAUGAAAAAAAABQcAAAAAAAAFCQAAAAAAAAUKAAAAAAAABQwAAAAAAAAGDgAAAAAAAQUQAAAA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AxAAAAMgAAADQAAAA4AAAAMAAQAAAAAAAAAAAAAAAAAEAAMAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAMAAgABAAEAAQABAAEA//////////8AAAAAAAAAAAEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8A////Af///wMBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACIAAAAkAAAAJgAAACgAAAAsAAAAMAAAADgAAABAAAAAUAAAAGAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAASAAAAFAAAABYAAAAYAAAAHAAAACAAAAAoAAAAMAAAAEAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEABAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AAAAAAAAAAABAAEAAQABAAEAAQACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD/////////////AAAAAAAAAQAEAAMAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD//////////////////wAAAAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAAAEAAAACAAAAAQAAAAQAAAAEAAAABAAAAAQAAAABAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIBAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAACYAAACCAAAAIQUAAEoAAABnCAAAJgAAAMABAACAAAAASQUAAEoAAAC+CAAAKQAAACwCAACAAAAASQUAAEoAAAC+CAAALwAAAMoCAACAAAAAigUAAEoAAACECQAANQAAAHMDAACAAAAAnQUAAEoAAACgCQAAPQAAAIEDAACAAAAA6wUAAEsAAAA+CgAARAAAAJ4DAACAAAAATQYAAEsAAACqCgAASwAAALMDAACAAAAAwQYAAE0AAAAfDQAATQAAAFMEAACAAAAAIwgAAFEAAACmDwAAVAAAAJkEAACAAAAASwkAAFcAAACxEgAAWAAAANoEAACAAAAAbwkAAF0AAAAjFAAAVAAAAEUFAACAAAAAVAoAAGoAAACMFAAAagAAAK8FAACAAAAAdgkAAHwAAABOEAAAfAAAANICAACAAAAAYwcAAJEAAACQBwAAkgAAAAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAA8AAAAQAAAAHwAAACAAAAA/AAAAQAAAAH8AAACAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAHQxAAC1MwAAdDEAAFY0AACcMQAAyDMAAHgmAAAAAAAAdDEAAJg0AACcMQAA2zQAAHgmAAAAAAAAdDEAAGI1AACcMQAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCoAADIAAAAzAAAAHgAAAAEAAAAAAAAASCoAADQAAAA1AAAANgAAADcAAAAFAAAAAQAAAAEAAAABAAAAAAAAAHAqAAA0AAAAOAAAADYAAAA3AAAABQAAAAIAAAACAAAAAgAAAAAAAACgKgAANAAAADkAAAA2AAAANwAAAAYAAAAAAAAAkCoAADQAAAA6AAAANgAAADcAAAAHAAAAAAAAACArAAA0AAAAOwAAADYAAAA3AAAACAAAAAAAAAAwKwAANAAAADwAAAA2AAAANwAAAAUAAAADAAAAAwAAAAMAAABkdW1teQByYgBsZW5ndGgAYnVmZmVyAGNvbnN0cnVjdG9yAHNldABIRUFQVTgAVmVjdG9yVTgAY2xvbmVUb1ZlY3RvcgBjbG9uZUFzVHlwZWRBcnJheQB0b1R5cGVkQXJyYXlWaWV3AFpzdGRDb21wcmVzc2lvbkRpY3QAY3JlYXRlQ29tcHJlc3Npb25EaWN0AFpzdGREZWNvbXByZXNzaW9uRGljdABjcmVhdGVEZWNvbXByZXNzaW9uRGljdABac3RkQ29kZWMAY29tcHJlc3NCb3VuZABjb250ZW50U2l6ZQBjb21wcmVzcwBkZWNvbXByZXNzAGNvbXByZXNzVXNpbmdEaWN0AGRlY29tcHJlc3NVc2luZ0RpY3QAWnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBiZWdpbgBiZWdpblVzaW5nRGljdAB0cmFuc2Zvcm0AZmx1c2gAZW5kAFpzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8wTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UktOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFRUVFAFpOMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nOVRyYW5zZm9ybUVOMTBlbXNjcmlwdGVuM3ZhbEVTMV9FMyRfMABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzNFbmRFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzJOU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmczRW5kRU4xMGVtc2NyaXB0ZW4zdmFsRUUzJF8yAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8zTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAFpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVMxX0UzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc1Rmx1c2hFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzROU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNQBwdXNoX2JhY2sAcmVzaXplAHNpemUAZ2V0AE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJaE5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjIwX192ZWN0b3JfYmFzZV9jb21tb25JTGIxRUVFAFBOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQBQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkAaWlpaQBpaWlpaQAxOVpzdGRDb21wcmVzc2lvbkRpY3QAOFJlc291cmNlSTEyWlNURF9DRGljdF9zRQBQMTlac3RkQ29tcHJlc3Npb25EaWN0AFBLMTlac3RkQ29tcHJlc3Npb25EaWN0ADIxWnN0ZERlY29tcHJlc3Npb25EaWN0ADhSZXNvdXJjZUkxMlpTVERfRERpY3Rfc0UAUDIxWnN0ZERlY29tcHJlc3Npb25EaWN0AFBLMjFac3RkRGVjb21wcmVzc2lvbkRpY3QAOVpzdGRDb2RlYwBQOVpzdGRDb2RlYwBQSzlac3RkQ29kZWMAaWlpaWlpADI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBQMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nAFBLMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nADI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFAyN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBQSzI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFBGdlAxMVpTVERfQ0N0eF9zRQBGdlAxMVpTVERfQ0N0eF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTFaU1REX0NDdHhfc0VOU185YWxsb2NhdG9ySVM1X0VFUzRfRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZQMTFaU1REX0NDdHhfc0VFRQBQRnZQMTFaU1REX0RDdHhfc0UARnZQMTFaU1REX0RDdHhfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDExWlNURF9EQ3R4X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDExWlNURF9EQ3R4X3NFRUUAUEZ2UDEyWlNURF9DRGljdF9zRQBGdlAxMlpTVERfQ0RpY3Rfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDEyWlNURF9DRGljdF9zRU5TXzlhbGxvY2F0b3JJUzVfRUVTNF9FRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlAxMlpTVERfQ0RpY3Rfc0VFRQBQRnZQMTJaU1REX0REaWN0X3NFAEZ2UDEyWlNURF9ERGljdF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTJaU1REX0REaWN0X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDEyWlNURF9ERGljdF9zRUVFAFpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9DQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0NDdHhfc0VFRQBaTjE4WnN0ZENvbXByZXNzU3RyZWFtNUJlZ2luRVJLMTlac3RkQ29tcHJlc3Npb25EaWN0RTMkXzEATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4xOFpzdGRDb21wcmVzc1N0cmVhbTVCZWdpbkVSSzE5WnN0ZENvbXByZXNzaW9uRGljdEUzJF8xTlNfOWFsbG9jYXRvcklTNl9FRUZtUDExWlNURF9DQ3R4X3NFRUUAWk4yMFpzdGREZWNvbXByZXNzU3RyZWFtNUJlZ2luRXZFMyRfMgBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FdkUzJF8yTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9EQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0RDdHhfc0VFRQBaTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FUksyMVpzdGREZWNvbXByZXNzaW9uRGljdEUzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjBac3RkRGVjb21wcmVzc1N0cmVhbTVCZWdpbkVSSzIxWnN0ZERlY29tcHJlc3Npb25EaWN0RTMkXzNOU185YWxsb2NhdG9ySVM2X0VFRm1QMTFaU1REX0RDdHhfc0VFRQBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAHJ3YQBzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAIGNvbnN0ACB2b2xhdGlsZQAgcmVzdHJpY3QAIGNvbXBsZXgAIGltYWdpbmFyeQAgWwAgKAApACgAJiYAb2JqY19vYmplY3Q8ACoAJgBvYmpjcHJvdG8AIAA8AD4AIHZlY3RvclsAXQBwaXhlbCB2ZWN0b3JbACY9AD0ALAB+ADo6AGRlbGV0ZVtdIABkZWxldGUgAC8ALz0AXgBePQA9PQA+PQApWwA8PQA8PAA8PD0ALQAtPQAqPQAtLQApLS0AIT0AIQB8fAB8AHw9AC0+KgArACs9ACsrACkrKwApID8gKAApIDogKAAlACU9AD4+AD4+PQB0aHJvdwB0aHJvdyAAdHlwZWlkKABzaXplb2YuLi4oACwgAHNpemVvZiAoAHN0YXRpY19jYXN0PAA+KAByZWludGVycHJldF9jYXN0PAAtPgBub2V4Y2VwdCAoAFtdIAApIAAuAC4qAHN0ZDo6AG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciAAb3BlcmF0b3IgZGVsZXRlW10Ab3BlcmF0b3IqAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yIiIgAG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3IgZGVsZXRlACd1bm5hbWVkACdsYW1iZGEnKABzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AGJhc2ljX3N0cmluZwBzdGQ6OmlzdHJlYW0Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJhc2ljX29zdHJlYW0Ac3RkOjppb3N0cmVhbQBzdGQ6OmJhc2ljX2lvc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pb3N0cmVhbQBkeW5hbWljX2Nhc3Q8ACkoAGNvbnN0X2Nhc3Q8AGFsaWdub2YgKABmcAB3Y2hhcl90AGZhbHNlAHRydWUAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AHUAbAB1bABsbAB1bGwAX19pbnQxMjgAdW5zaWduZWQgX19pbnQxMjgAJUxhTAAlYQAlYWYAZGVjbHR5cGUoAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nADo6c3RyaW5nIGxpdGVyYWwAc3RkAF9HTE9CQUxfX04AKGFub255bW91cyBuYW1lc3BhY2UpACA+AFRfAGlkADo6KgAgJgAgJiYAIFtdAHZvaWQAYm9vbABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBsb25nIGxvbmcAZmxvYXQAbG9uZyBkb3VibGUAX19mbG9hdDEyOAAuLi4AZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABhdXRvAHN0ZDo6bnVsbHB0cl90AGRvdWJsZQB1bnNpZ25lZCBsb25nIGxvbmcAX2Jsb2NrX2ludm9rZQBpbnZvY2F0aW9uIGZ1bmN0aW9uIGZvciBibG9jayBpbiAAdnRhYmxlIGZvciAAVlRUIGZvciAAdHlwZWluZm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdmlydHVhbCB0aHVuayB0byAAbm9uLXZpcnR1YWwgdGh1bmsgdG8gAGd1YXJkIHZhcmlhYmxlIGZvciAAcmVmZXJlbmNlIHRlbXBvcmFyeSBmb3Ig";
  9291. var tempDoublePtr = STATICTOP;
  9292. STATICTOP += 16;
  9293. function ___cxa_allocate_exception(size) {
  9294. return _malloc(size);
  9295. }
  9296. function __ZSt18uncaught_exceptionv() {
  9297. return !!__ZSt18uncaught_exceptionv.uncaught_exception;
  9298. }
  9299. var EXCEPTIONS = {
  9300. last: 0,
  9301. caught: [],
  9302. infos: {},
  9303. deAdjust: function deAdjust(adjusted) {
  9304. if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
  9305. for (var key in EXCEPTIONS.infos) {
  9306. var ptr = +key;
  9307. var info = EXCEPTIONS.infos[ptr];
  9308. if (info.adjusted === adjusted) {
  9309. return ptr;
  9310. }
  9311. }
  9312. return adjusted;
  9313. },
  9314. addRef: function addRef(ptr) {
  9315. if (!ptr) return;
  9316. var info = EXCEPTIONS.infos[ptr];
  9317. info.refcount++;
  9318. },
  9319. decRef: function decRef(ptr) {
  9320. if (!ptr) return;
  9321. var info = EXCEPTIONS.infos[ptr];
  9322. assert(info.refcount > 0);
  9323. info.refcount--;
  9324. if (info.refcount === 0 && !info.rethrown) {
  9325. if (info.destructor) {
  9326. Module["dynCall_vi"](info.destructor, ptr);
  9327. }
  9328. delete EXCEPTIONS.infos[ptr];
  9329. ___cxa_free_exception(ptr);
  9330. }
  9331. },
  9332. clearRef: function clearRef(ptr) {
  9333. if (!ptr) return;
  9334. var info = EXCEPTIONS.infos[ptr];
  9335. info.refcount = 0;
  9336. },
  9337. };
  9338. function ___cxa_begin_catch(ptr) {
  9339. var info = EXCEPTIONS.infos[ptr];
  9340. if (info && !info.caught) {
  9341. info.caught = true;
  9342. __ZSt18uncaught_exceptionv.uncaught_exception--;
  9343. }
  9344. if (info) info.rethrown = false;
  9345. EXCEPTIONS.caught.push(ptr);
  9346. EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));
  9347. return ptr;
  9348. }
  9349. function ___resumeException(ptr) {
  9350. if (!EXCEPTIONS.last) {
  9351. EXCEPTIONS.last = ptr;
  9352. }
  9353. throw (
  9354. ptr +
  9355. " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
  9356. );
  9357. }
  9358. function ___cxa_find_matching_catch() {
  9359. var thrown = EXCEPTIONS.last;
  9360. if (!thrown) {
  9361. return (setTempRet0(0), 0) | 0;
  9362. }
  9363. var info = EXCEPTIONS.infos[thrown];
  9364. var throwntype = info.type;
  9365. if (!throwntype) {
  9366. return (setTempRet0(0), thrown) | 0;
  9367. }
  9368. var typeArray = Array.prototype.slice.call(arguments);
  9369. var pointer = Module["___cxa_is_pointer_type"](throwntype);
  9370. if (!___cxa_find_matching_catch.buffer)
  9371. ___cxa_find_matching_catch.buffer = _malloc(4);
  9372. HEAP32[___cxa_find_matching_catch.buffer >> 2] = thrown;
  9373. thrown = ___cxa_find_matching_catch.buffer;
  9374. for (var i = 0; i < typeArray.length; i++) {
  9375. if (
  9376. typeArray[i] &&
  9377. Module["___cxa_can_catch"](typeArray[i], throwntype, thrown)
  9378. ) {
  9379. thrown = HEAP32[thrown >> 2];
  9380. info.adjusted = thrown;
  9381. return (setTempRet0(typeArray[i]), thrown) | 0;
  9382. }
  9383. }
  9384. thrown = HEAP32[thrown >> 2];
  9385. return (setTempRet0(throwntype), thrown) | 0;
  9386. }
  9387. function ___cxa_throw(ptr, type, destructor) {
  9388. EXCEPTIONS.infos[ptr] = {
  9389. ptr: ptr,
  9390. adjusted: ptr,
  9391. type: type,
  9392. destructor: destructor,
  9393. refcount: 0,
  9394. caught: false,
  9395. rethrown: false,
  9396. };
  9397. EXCEPTIONS.last = ptr;
  9398. if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
  9399. __ZSt18uncaught_exceptionv.uncaught_exception = 1;
  9400. } else {
  9401. __ZSt18uncaught_exceptionv.uncaught_exception++;
  9402. }
  9403. throw (
  9404. ptr +
  9405. " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
  9406. );
  9407. }
  9408. function ___gxx_personality_v0() {}
  9409. function ___lock() {}
  9410. var ERRNO_CODES = {
  9411. EPERM: 1,
  9412. ENOENT: 2,
  9413. ESRCH: 3,
  9414. EINTR: 4,
  9415. EIO: 5,
  9416. ENXIO: 6,
  9417. E2BIG: 7,
  9418. ENOEXEC: 8,
  9419. EBADF: 9,
  9420. ECHILD: 10,
  9421. EAGAIN: 11,
  9422. EWOULDBLOCK: 11,
  9423. ENOMEM: 12,
  9424. EACCES: 13,
  9425. EFAULT: 14,
  9426. ENOTBLK: 15,
  9427. EBUSY: 16,
  9428. EEXIST: 17,
  9429. EXDEV: 18,
  9430. ENODEV: 19,
  9431. ENOTDIR: 20,
  9432. EISDIR: 21,
  9433. EINVAL: 22,
  9434. ENFILE: 23,
  9435. EMFILE: 24,
  9436. ENOTTY: 25,
  9437. ETXTBSY: 26,
  9438. EFBIG: 27,
  9439. ENOSPC: 28,
  9440. ESPIPE: 29,
  9441. EROFS: 30,
  9442. EMLINK: 31,
  9443. EPIPE: 32,
  9444. EDOM: 33,
  9445. ERANGE: 34,
  9446. ENOMSG: 42,
  9447. EIDRM: 43,
  9448. ECHRNG: 44,
  9449. EL2NSYNC: 45,
  9450. EL3HLT: 46,
  9451. EL3RST: 47,
  9452. ELNRNG: 48,
  9453. EUNATCH: 49,
  9454. ENOCSI: 50,
  9455. EL2HLT: 51,
  9456. EDEADLK: 35,
  9457. ENOLCK: 37,
  9458. EBADE: 52,
  9459. EBADR: 53,
  9460. EXFULL: 54,
  9461. ENOANO: 55,
  9462. EBADRQC: 56,
  9463. EBADSLT: 57,
  9464. EDEADLOCK: 35,
  9465. EBFONT: 59,
  9466. ENOSTR: 60,
  9467. ENODATA: 61,
  9468. ETIME: 62,
  9469. ENOSR: 63,
  9470. ENONET: 64,
  9471. ENOPKG: 65,
  9472. EREMOTE: 66,
  9473. ENOLINK: 67,
  9474. EADV: 68,
  9475. ESRMNT: 69,
  9476. ECOMM: 70,
  9477. EPROTO: 71,
  9478. EMULTIHOP: 72,
  9479. EDOTDOT: 73,
  9480. EBADMSG: 74,
  9481. ENOTUNIQ: 76,
  9482. EBADFD: 77,
  9483. EREMCHG: 78,
  9484. ELIBACC: 79,
  9485. ELIBBAD: 80,
  9486. ELIBSCN: 81,
  9487. ELIBMAX: 82,
  9488. ELIBEXEC: 83,
  9489. ENOSYS: 38,
  9490. ENOTEMPTY: 39,
  9491. ENAMETOOLONG: 36,
  9492. ELOOP: 40,
  9493. EOPNOTSUPP: 95,
  9494. EPFNOSUPPORT: 96,
  9495. ECONNRESET: 104,
  9496. ENOBUFS: 105,
  9497. EAFNOSUPPORT: 97,
  9498. EPROTOTYPE: 91,
  9499. ENOTSOCK: 88,
  9500. ENOPROTOOPT: 92,
  9501. ESHUTDOWN: 108,
  9502. ECONNREFUSED: 111,
  9503. EADDRINUSE: 98,
  9504. ECONNABORTED: 103,
  9505. ENETUNREACH: 101,
  9506. ENETDOWN: 100,
  9507. ETIMEDOUT: 110,
  9508. EHOSTDOWN: 112,
  9509. EHOSTUNREACH: 113,
  9510. EINPROGRESS: 115,
  9511. EALREADY: 114,
  9512. EDESTADDRREQ: 89,
  9513. EMSGSIZE: 90,
  9514. EPROTONOSUPPORT: 93,
  9515. ESOCKTNOSUPPORT: 94,
  9516. EADDRNOTAVAIL: 99,
  9517. ENETRESET: 102,
  9518. EISCONN: 106,
  9519. ENOTCONN: 107,
  9520. ETOOMANYREFS: 109,
  9521. EUSERS: 87,
  9522. EDQUOT: 122,
  9523. ESTALE: 116,
  9524. ENOTSUP: 95,
  9525. ENOMEDIUM: 123,
  9526. EILSEQ: 84,
  9527. EOVERFLOW: 75,
  9528. ECANCELED: 125,
  9529. ENOTRECOVERABLE: 131,
  9530. EOWNERDEAD: 130,
  9531. ESTRPIPE: 86,
  9532. };
  9533. var ERRNO_MESSAGES = {
  9534. 0: "Success",
  9535. 1: "Not super-user",
  9536. 2: "No such file or directory",
  9537. 3: "No such process",
  9538. 4: "Interrupted system call",
  9539. 5: "I/O error",
  9540. 6: "No such device or address",
  9541. 7: "Arg list too long",
  9542. 8: "Exec format error",
  9543. 9: "Bad file number",
  9544. 10: "No children",
  9545. 11: "No more processes",
  9546. 12: "Not enough core",
  9547. 13: "Permission denied",
  9548. 14: "Bad address",
  9549. 15: "Block device required",
  9550. 16: "Mount device busy",
  9551. 17: "File exists",
  9552. 18: "Cross-device link",
  9553. 19: "No such device",
  9554. 20: "Not a directory",
  9555. 21: "Is a directory",
  9556. 22: "Invalid argument",
  9557. 23: "Too many open files in system",
  9558. 24: "Too many open files",
  9559. 25: "Not a typewriter",
  9560. 26: "Text file busy",
  9561. 27: "File too large",
  9562. 28: "No space left on device",
  9563. 29: "Illegal seek",
  9564. 30: "Read only file system",
  9565. 31: "Too many links",
  9566. 32: "Broken pipe",
  9567. 33: "Math arg out of domain of func",
  9568. 34: "Math result not representable",
  9569. 35: "File locking deadlock error",
  9570. 36: "File or path name too long",
  9571. 37: "No record locks available",
  9572. 38: "Function not implemented",
  9573. 39: "Directory not empty",
  9574. 40: "Too many symbolic links",
  9575. 42: "No message of desired type",
  9576. 43: "Identifier removed",
  9577. 44: "Channel number out of range",
  9578. 45: "Level 2 not synchronized",
  9579. 46: "Level 3 halted",
  9580. 47: "Level 3 reset",
  9581. 48: "Link number out of range",
  9582. 49: "Protocol driver not attached",
  9583. 50: "No CSI structure available",
  9584. 51: "Level 2 halted",
  9585. 52: "Invalid exchange",
  9586. 53: "Invalid request descriptor",
  9587. 54: "Exchange full",
  9588. 55: "No anode",
  9589. 56: "Invalid request code",
  9590. 57: "Invalid slot",
  9591. 59: "Bad font file fmt",
  9592. 60: "Device not a stream",
  9593. 61: "No data (for no delay io)",
  9594. 62: "Timer expired",
  9595. 63: "Out of streams resources",
  9596. 64: "Machine is not on the network",
  9597. 65: "Package not installed",
  9598. 66: "The object is remote",
  9599. 67: "The link has been severed",
  9600. 68: "Advertise error",
  9601. 69: "Srmount error",
  9602. 70: "Communication error on send",
  9603. 71: "Protocol error",
  9604. 72: "Multihop attempted",
  9605. 73: "Cross mount point (not really error)",
  9606. 74: "Trying to read unreadable message",
  9607. 75: "Value too large for defined data type",
  9608. 76: "Given log. name not unique",
  9609. 77: "f.d. invalid for this operation",
  9610. 78: "Remote address changed",
  9611. 79: "Can access a needed shared lib",
  9612. 80: "Accessing a corrupted shared lib",
  9613. 81: ".lib section in a.out corrupted",
  9614. 82: "Attempting to link in too many libs",
  9615. 83: "Attempting to exec a shared library",
  9616. 84: "Illegal byte sequence",
  9617. 86: "Streams pipe error",
  9618. 87: "Too many users",
  9619. 88: "Socket operation on non-socket",
  9620. 89: "Destination address required",
  9621. 90: "Message too long",
  9622. 91: "Protocol wrong type for socket",
  9623. 92: "Protocol not available",
  9624. 93: "Unknown protocol",
  9625. 94: "Socket type not supported",
  9626. 95: "Not supported",
  9627. 96: "Protocol family not supported",
  9628. 97: "Address family not supported by protocol family",
  9629. 98: "Address already in use",
  9630. 99: "Address not available",
  9631. 100: "Network interface is not configured",
  9632. 101: "Network is unreachable",
  9633. 102: "Connection reset by network",
  9634. 103: "Connection aborted",
  9635. 104: "Connection reset by peer",
  9636. 105: "No buffer space available",
  9637. 106: "Socket is already connected",
  9638. 107: "Socket is not connected",
  9639. 108: "Can't send after socket shutdown",
  9640. 109: "Too many references",
  9641. 110: "Connection timed out",
  9642. 111: "Connection refused",
  9643. 112: "Host is down",
  9644. 113: "Host is unreachable",
  9645. 114: "Socket already connected",
  9646. 115: "Connection already in progress",
  9647. 116: "Stale file handle",
  9648. 122: "Quota exceeded",
  9649. 123: "No medium (in tape drive)",
  9650. 125: "Operation canceled",
  9651. 130: "Previous owner died",
  9652. 131: "State not recoverable",
  9653. };
  9654. function ___setErrNo(value) {
  9655. if (Module["___errno_location"])
  9656. HEAP32[Module["___errno_location"]() >> 2] = value;
  9657. return value;
  9658. }
  9659. var PATH = {
  9660. splitPath: function splitPath(filename) {
  9661. var splitPathRe =
  9662. /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  9663. return splitPathRe.exec(filename).slice(1);
  9664. },
  9665. normalizeArray: function normalizeArray(parts, allowAboveRoot) {
  9666. var up = 0;
  9667. for (var i = parts.length - 1; i >= 0; i--) {
  9668. var last = parts[i];
  9669. if (last === ".") {
  9670. parts.splice(i, 1);
  9671. } else if (last === "..") {
  9672. parts.splice(i, 1);
  9673. up++;
  9674. } else if (up) {
  9675. parts.splice(i, 1);
  9676. up--;
  9677. }
  9678. }
  9679. if (allowAboveRoot) {
  9680. for (; up; up--) {
  9681. parts.unshift("..");
  9682. }
  9683. }
  9684. return parts;
  9685. },
  9686. normalize: function normalize(path) {
  9687. var isAbsolute = path.charAt(0) === "/",
  9688. trailingSlash = path.substr(-1) === "/";
  9689. path = PATH.normalizeArray(
  9690. path.split("/").filter(function (p) {
  9691. return !!p;
  9692. }),
  9693. !isAbsolute
  9694. ).join("/");
  9695. if (!path && !isAbsolute) {
  9696. path = ".";
  9697. }
  9698. if (path && trailingSlash) {
  9699. path += "/";
  9700. }
  9701. return (isAbsolute ? "/" : "") + path;
  9702. },
  9703. dirname: function dirname(path) {
  9704. var result = PATH.splitPath(path),
  9705. root = result[0],
  9706. dir = result[1];
  9707. if (!root && !dir) {
  9708. return ".";
  9709. }
  9710. if (dir) {
  9711. dir = dir.substr(0, dir.length - 1);
  9712. }
  9713. return root + dir;
  9714. },
  9715. basename: function basename(path) {
  9716. if (path === "/") return "/";
  9717. var lastSlash = path.lastIndexOf("/");
  9718. if (lastSlash === -1) return path;
  9719. return path.substr(lastSlash + 1);
  9720. },
  9721. extname: function extname(path) {
  9722. return PATH.splitPath(path)[3];
  9723. },
  9724. join: function join() {
  9725. var paths = Array.prototype.slice.call(arguments, 0);
  9726. return PATH.normalize(paths.join("/"));
  9727. },
  9728. join2: function join2(l, r) {
  9729. return PATH.normalize(l + "/" + r);
  9730. },
  9731. resolve: function resolve() {
  9732. var resolvedPath = "",
  9733. resolvedAbsolute = false;
  9734. for (
  9735. var i = arguments.length - 1;
  9736. i >= -1 && !resolvedAbsolute;
  9737. i--
  9738. ) {
  9739. var path = i >= 0 ? arguments[i] : FS.cwd();
  9740. if (typeof path !== "string") {
  9741. throw new TypeError(
  9742. "Arguments to path.resolve must be strings"
  9743. );
  9744. } else if (!path) {
  9745. return "";
  9746. }
  9747. resolvedPath = path + "/" + resolvedPath;
  9748. resolvedAbsolute = path.charAt(0) === "/";
  9749. }
  9750. resolvedPath = PATH.normalizeArray(
  9751. resolvedPath.split("/").filter(function (p) {
  9752. return !!p;
  9753. }),
  9754. !resolvedAbsolute
  9755. ).join("/");
  9756. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  9757. },
  9758. relative: function relative(from, to) {
  9759. from = PATH.resolve(from).substr(1);
  9760. to = PATH.resolve(to).substr(1);
  9761. function trim(arr) {
  9762. var start = 0;
  9763. for (; start < arr.length; start++) {
  9764. if (arr[start] !== "") break;
  9765. }
  9766. var end = arr.length - 1;
  9767. for (; end >= 0; end--) {
  9768. if (arr[end] !== "") break;
  9769. }
  9770. if (start > end) return [];
  9771. return arr.slice(start, end - start + 1);
  9772. }
  9773. var fromParts = trim(from.split("/"));
  9774. var toParts = trim(to.split("/"));
  9775. var length = Math.min(fromParts.length, toParts.length);
  9776. var samePartsLength = length;
  9777. for (var i = 0; i < length; i++) {
  9778. if (fromParts[i] !== toParts[i]) {
  9779. samePartsLength = i;
  9780. break;
  9781. }
  9782. }
  9783. var outputParts = [];
  9784. for (var i = samePartsLength; i < fromParts.length; i++) {
  9785. outputParts.push("..");
  9786. }
  9787. outputParts = outputParts.concat(
  9788. toParts.slice(samePartsLength)
  9789. );
  9790. return outputParts.join("/");
  9791. },
  9792. };
  9793. var TTY = {
  9794. ttys: [],
  9795. init: function init() {},
  9796. shutdown: function shutdown() {},
  9797. register: function register(dev, ops) {
  9798. TTY.ttys[dev] = { input: [], output: [], ops: ops };
  9799. FS.registerDevice(dev, TTY.stream_ops);
  9800. },
  9801. stream_ops: {
  9802. open: function open(stream) {
  9803. var tty = TTY.ttys[stream.node.rdev];
  9804. if (!tty) {
  9805. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  9806. }
  9807. stream.tty = tty;
  9808. stream.seekable = false;
  9809. },
  9810. close: function close(stream) {
  9811. stream.tty.ops.flush(stream.tty);
  9812. },
  9813. flush: function flush(stream) {
  9814. stream.tty.ops.flush(stream.tty);
  9815. },
  9816. read: function read(stream, buffer, offset, length, pos) {
  9817. if (!stream.tty || !stream.tty.ops.get_char) {
  9818. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  9819. }
  9820. var bytesRead = 0;
  9821. for (var i = 0; i < length; i++) {
  9822. var result;
  9823. try {
  9824. result = stream.tty.ops.get_char(stream.tty);
  9825. } catch (e) {
  9826. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  9827. }
  9828. if (result === undefined && bytesRead === 0) {
  9829. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  9830. }
  9831. if (result === null || result === undefined) break;
  9832. bytesRead++;
  9833. buffer[offset + i] = result;
  9834. }
  9835. if (bytesRead) {
  9836. stream.node.timestamp = Date.now();
  9837. }
  9838. return bytesRead;
  9839. },
  9840. write: function write(stream, buffer, offset, length, pos) {
  9841. if (!stream.tty || !stream.tty.ops.put_char) {
  9842. throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
  9843. }
  9844. for (var i = 0; i < length; i++) {
  9845. try {
  9846. stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
  9847. } catch (e) {
  9848. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  9849. }
  9850. }
  9851. if (length) {
  9852. stream.node.timestamp = Date.now();
  9853. }
  9854. return i;
  9855. },
  9856. },
  9857. default_tty_ops: {
  9858. get_char: function get_char(tty) {
  9859. if (!tty.input.length) {
  9860. var result = null;
  9861. if (ENVIRONMENT_IS_NODE) {
  9862. var BUFSIZE = 256;
  9863. var buf = new Buffer(BUFSIZE);
  9864. var bytesRead = 0;
  9865. var isPosixPlatform = process.platform != "win32";
  9866. var fd = process.stdin.fd;
  9867. if (isPosixPlatform) {
  9868. var usingDevice = false;
  9869. try {
  9870. fd = fs.openSync("/dev/stdin", "r");
  9871. usingDevice = true;
  9872. } catch (e) {}
  9873. }
  9874. try {
  9875. bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
  9876. } catch (e) {
  9877. if (e.toString().indexOf("EOF") != -1) bytesRead = 0;
  9878. else throw e;
  9879. }
  9880. if (usingDevice) {
  9881. fs.closeSync(fd);
  9882. }
  9883. if (bytesRead > 0) {
  9884. result = buf.slice(0, bytesRead).toString("utf-8");
  9885. } else {
  9886. result = null;
  9887. }
  9888. } else if (
  9889. typeof window != "undefined" &&
  9890. typeof window.prompt == "function"
  9891. ) {
  9892. result = window.prompt("Input: ");
  9893. if (result !== null) {
  9894. result += "\n";
  9895. }
  9896. } else if (typeof readline == "function") {
  9897. result = readline();
  9898. if (result !== null) {
  9899. result += "\n";
  9900. }
  9901. }
  9902. if (!result) {
  9903. return null;
  9904. }
  9905. tty.input = intArrayFromString(result, true);
  9906. }
  9907. return tty.input.shift();
  9908. },
  9909. put_char: function put_char(tty, val) {
  9910. if (val === null || val === 10) {
  9911. out(UTF8ArrayToString(tty.output, 0));
  9912. tty.output = [];
  9913. } else {
  9914. if (val != 0) tty.output.push(val);
  9915. }
  9916. },
  9917. flush: function flush(tty) {
  9918. if (tty.output && tty.output.length > 0) {
  9919. out(UTF8ArrayToString(tty.output, 0));
  9920. tty.output = [];
  9921. }
  9922. },
  9923. },
  9924. default_tty1_ops: {
  9925. put_char: function put_char(tty, val) {
  9926. if (val === null || val === 10) {
  9927. err(UTF8ArrayToString(tty.output, 0));
  9928. tty.output = [];
  9929. } else {
  9930. if (val != 0) tty.output.push(val);
  9931. }
  9932. },
  9933. flush: function flush(tty) {
  9934. if (tty.output && tty.output.length > 0) {
  9935. err(UTF8ArrayToString(tty.output, 0));
  9936. tty.output = [];
  9937. }
  9938. },
  9939. },
  9940. };
  9941. var MEMFS = {
  9942. ops_table: null,
  9943. mount: function mount(_mount) {
  9944. return MEMFS.createNode(null, "/", 16384 | 511, 0);
  9945. },
  9946. createNode: function createNode(parent, name, mode, dev) {
  9947. if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  9948. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  9949. }
  9950. if (!MEMFS.ops_table) {
  9951. MEMFS.ops_table = {
  9952. dir: {
  9953. node: {
  9954. getattr: MEMFS.node_ops.getattr,
  9955. setattr: MEMFS.node_ops.setattr,
  9956. lookup: MEMFS.node_ops.lookup,
  9957. mknod: MEMFS.node_ops.mknod,
  9958. rename: MEMFS.node_ops.rename,
  9959. unlink: MEMFS.node_ops.unlink,
  9960. rmdir: MEMFS.node_ops.rmdir,
  9961. readdir: MEMFS.node_ops.readdir,
  9962. symlink: MEMFS.node_ops.symlink,
  9963. },
  9964. stream: { llseek: MEMFS.stream_ops.llseek },
  9965. },
  9966. file: {
  9967. node: {
  9968. getattr: MEMFS.node_ops.getattr,
  9969. setattr: MEMFS.node_ops.setattr,
  9970. },
  9971. stream: {
  9972. llseek: MEMFS.stream_ops.llseek,
  9973. read: MEMFS.stream_ops.read,
  9974. write: MEMFS.stream_ops.write,
  9975. allocate: MEMFS.stream_ops.allocate,
  9976. mmap: MEMFS.stream_ops.mmap,
  9977. msync: MEMFS.stream_ops.msync,
  9978. },
  9979. },
  9980. link: {
  9981. node: {
  9982. getattr: MEMFS.node_ops.getattr,
  9983. setattr: MEMFS.node_ops.setattr,
  9984. readlink: MEMFS.node_ops.readlink,
  9985. },
  9986. stream: {},
  9987. },
  9988. chrdev: {
  9989. node: {
  9990. getattr: MEMFS.node_ops.getattr,
  9991. setattr: MEMFS.node_ops.setattr,
  9992. },
  9993. stream: FS.chrdev_stream_ops,
  9994. },
  9995. };
  9996. }
  9997. var node = FS.createNode(parent, name, mode, dev);
  9998. if (FS.isDir(node.mode)) {
  9999. node.node_ops = MEMFS.ops_table.dir.node;
  10000. node.stream_ops = MEMFS.ops_table.dir.stream;
  10001. node.contents = {};
  10002. } else if (FS.isFile(node.mode)) {
  10003. node.node_ops = MEMFS.ops_table.file.node;
  10004. node.stream_ops = MEMFS.ops_table.file.stream;
  10005. node.usedBytes = 0;
  10006. node.contents = null;
  10007. } else if (FS.isLink(node.mode)) {
  10008. node.node_ops = MEMFS.ops_table.link.node;
  10009. node.stream_ops = MEMFS.ops_table.link.stream;
  10010. } else if (FS.isChrdev(node.mode)) {
  10011. node.node_ops = MEMFS.ops_table.chrdev.node;
  10012. node.stream_ops = MEMFS.ops_table.chrdev.stream;
  10013. }
  10014. node.timestamp = Date.now();
  10015. if (parent) {
  10016. parent.contents[name] = node;
  10017. }
  10018. return node;
  10019. },
  10020. getFileDataAsRegularArray: function getFileDataAsRegularArray(
  10021. node
  10022. ) {
  10023. if (node.contents && node.contents.subarray) {
  10024. var arr = [];
  10025. for (var i = 0; i < node.usedBytes; ++i) {
  10026. arr.push(node.contents[i]);
  10027. }
  10028. return arr;
  10029. }
  10030. return node.contents;
  10031. },
  10032. getFileDataAsTypedArray: function getFileDataAsTypedArray(
  10033. node
  10034. ) {
  10035. if (!node.contents) return new Uint8Array();
  10036. if (node.contents.subarray)
  10037. return node.contents.subarray(0, node.usedBytes);
  10038. return new Uint8Array(node.contents);
  10039. },
  10040. expandFileStorage: function expandFileStorage(
  10041. node,
  10042. newCapacity
  10043. ) {
  10044. if (
  10045. node.contents &&
  10046. node.contents.subarray &&
  10047. newCapacity > node.contents.length
  10048. ) {
  10049. node.contents = MEMFS.getFileDataAsRegularArray(node);
  10050. node.usedBytes = node.contents.length;
  10051. }
  10052. if (!node.contents || node.contents.subarray) {
  10053. var prevCapacity = node.contents ? node.contents.length : 0;
  10054. if (prevCapacity >= newCapacity) return;
  10055. var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  10056. newCapacity = Math.max(
  10057. newCapacity,
  10058. (prevCapacity *
  10059. (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) |
  10060. 0
  10061. );
  10062. if (prevCapacity != 0)
  10063. newCapacity = Math.max(newCapacity, 256);
  10064. var oldContents = node.contents;
  10065. node.contents = new Uint8Array(newCapacity);
  10066. if (node.usedBytes > 0)
  10067. node.contents.set(
  10068. oldContents.subarray(0, node.usedBytes),
  10069. 0
  10070. );
  10071. return;
  10072. }
  10073. if (!node.contents && newCapacity > 0) node.contents = [];
  10074. while (node.contents.length < newCapacity) {
  10075. node.contents.push(0);
  10076. }
  10077. },
  10078. resizeFileStorage: function resizeFileStorage(node, newSize) {
  10079. if (node.usedBytes == newSize) return;
  10080. if (newSize == 0) {
  10081. node.contents = null;
  10082. node.usedBytes = 0;
  10083. return;
  10084. }
  10085. if (!node.contents || node.contents.subarray) {
  10086. var oldContents = node.contents;
  10087. node.contents = new Uint8Array(new ArrayBuffer(newSize));
  10088. if (oldContents) {
  10089. node.contents.set(
  10090. oldContents.subarray(
  10091. 0,
  10092. Math.min(newSize, node.usedBytes)
  10093. )
  10094. );
  10095. }
  10096. node.usedBytes = newSize;
  10097. return;
  10098. }
  10099. if (!node.contents) node.contents = [];
  10100. if (node.contents.length > newSize)
  10101. node.contents.length = newSize;
  10102. else
  10103. while (node.contents.length < newSize) {
  10104. node.contents.push(0);
  10105. }
  10106. node.usedBytes = newSize;
  10107. },
  10108. node_ops: {
  10109. getattr: function getattr(node) {
  10110. var attr = {};
  10111. attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  10112. attr.ino = node.id;
  10113. attr.mode = node.mode;
  10114. attr.nlink = 1;
  10115. attr.uid = 0;
  10116. attr.gid = 0;
  10117. attr.rdev = node.rdev;
  10118. if (FS.isDir(node.mode)) {
  10119. attr.size = 4096;
  10120. } else if (FS.isFile(node.mode)) {
  10121. attr.size = node.usedBytes;
  10122. } else if (FS.isLink(node.mode)) {
  10123. attr.size = node.link.length;
  10124. } else {
  10125. attr.size = 0;
  10126. }
  10127. attr.atime = new Date(node.timestamp);
  10128. attr.mtime = new Date(node.timestamp);
  10129. attr.ctime = new Date(node.timestamp);
  10130. attr.blksize = 4096;
  10131. attr.blocks = Math.ceil(attr.size / attr.blksize);
  10132. return attr;
  10133. },
  10134. setattr: function setattr(node, attr) {
  10135. if (attr.mode !== undefined) {
  10136. node.mode = attr.mode;
  10137. }
  10138. if (attr.timestamp !== undefined) {
  10139. node.timestamp = attr.timestamp;
  10140. }
  10141. if (attr.size !== undefined) {
  10142. MEMFS.resizeFileStorage(node, attr.size);
  10143. }
  10144. },
  10145. lookup: function lookup(parent, name) {
  10146. throw FS.genericErrors[ERRNO_CODES.ENOENT];
  10147. },
  10148. mknod: function mknod(parent, name, mode, dev) {
  10149. return MEMFS.createNode(parent, name, mode, dev);
  10150. },
  10151. rename: function rename(old_node, new_dir, new_name) {
  10152. if (FS.isDir(old_node.mode)) {
  10153. var new_node;
  10154. try {
  10155. new_node = FS.lookupNode(new_dir, new_name);
  10156. } catch (e) {}
  10157. if (new_node) {
  10158. for (var i in new_node.contents) {
  10159. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  10160. }
  10161. }
  10162. }
  10163. delete old_node.parent.contents[old_node.name];
  10164. old_node.name = new_name;
  10165. new_dir.contents[new_name] = old_node;
  10166. old_node.parent = new_dir;
  10167. },
  10168. unlink: function unlink(parent, name) {
  10169. delete parent.contents[name];
  10170. },
  10171. rmdir: function rmdir(parent, name) {
  10172. var node = FS.lookupNode(parent, name);
  10173. for (var i in node.contents) {
  10174. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  10175. }
  10176. delete parent.contents[name];
  10177. },
  10178. readdir: function readdir(node) {
  10179. var entries = [".", ".."];
  10180. for (var key in node.contents) {
  10181. if (!node.contents.hasOwnProperty(key)) {
  10182. continue;
  10183. }
  10184. entries.push(key);
  10185. }
  10186. return entries;
  10187. },
  10188. symlink: function symlink(parent, newname, oldpath) {
  10189. var node = MEMFS.createNode(
  10190. parent,
  10191. newname,
  10192. 511 | 40960,
  10193. 0
  10194. );
  10195. node.link = oldpath;
  10196. return node;
  10197. },
  10198. readlink: function readlink(node) {
  10199. if (!FS.isLink(node.mode)) {
  10200. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  10201. }
  10202. return node.link;
  10203. },
  10204. },
  10205. stream_ops: {
  10206. read: function read(
  10207. stream,
  10208. buffer,
  10209. offset,
  10210. length,
  10211. position
  10212. ) {
  10213. var contents = stream.node.contents;
  10214. if (position >= stream.node.usedBytes) return 0;
  10215. var size = Math.min(
  10216. stream.node.usedBytes - position,
  10217. length
  10218. );
  10219. assert(size >= 0);
  10220. if (size > 8 && contents.subarray) {
  10221. buffer.set(
  10222. contents.subarray(position, position + size),
  10223. offset
  10224. );
  10225. } else {
  10226. for (var i = 0; i < size; i++) {
  10227. buffer[offset + i] = contents[position + i];
  10228. }
  10229. }
  10230. return size;
  10231. },
  10232. write: function write(
  10233. stream,
  10234. buffer,
  10235. offset,
  10236. length,
  10237. position,
  10238. canOwn
  10239. ) {
  10240. if (!length) return 0;
  10241. var node = stream.node;
  10242. node.timestamp = Date.now();
  10243. if (
  10244. buffer.subarray &&
  10245. (!node.contents || node.contents.subarray)
  10246. ) {
  10247. if (canOwn) {
  10248. node.contents = buffer.subarray(
  10249. offset,
  10250. offset + length
  10251. );
  10252. node.usedBytes = length;
  10253. return length;
  10254. } else if (node.usedBytes === 0 && position === 0) {
  10255. node.contents = new Uint8Array(
  10256. buffer.subarray(offset, offset + length)
  10257. );
  10258. node.usedBytes = length;
  10259. return length;
  10260. } else if (position + length <= node.usedBytes) {
  10261. node.contents.set(
  10262. buffer.subarray(offset, offset + length),
  10263. position
  10264. );
  10265. return length;
  10266. }
  10267. }
  10268. MEMFS.expandFileStorage(node, position + length);
  10269. if (node.contents.subarray && buffer.subarray)
  10270. node.contents.set(
  10271. buffer.subarray(offset, offset + length),
  10272. position
  10273. );
  10274. else {
  10275. for (var i = 0; i < length; i++) {
  10276. node.contents[position + i] = buffer[offset + i];
  10277. }
  10278. }
  10279. node.usedBytes = Math.max(
  10280. node.usedBytes,
  10281. position + length
  10282. );
  10283. return length;
  10284. },
  10285. llseek: function llseek(stream, offset, whence) {
  10286. var position = offset;
  10287. if (whence === 1) {
  10288. position += stream.position;
  10289. } else if (whence === 2) {
  10290. if (FS.isFile(stream.node.mode)) {
  10291. position += stream.node.usedBytes;
  10292. }
  10293. }
  10294. if (position < 0) {
  10295. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  10296. }
  10297. return position;
  10298. },
  10299. allocate: function allocate(stream, offset, length) {
  10300. MEMFS.expandFileStorage(stream.node, offset + length);
  10301. stream.node.usedBytes = Math.max(
  10302. stream.node.usedBytes,
  10303. offset + length
  10304. );
  10305. },
  10306. mmap: function mmap(
  10307. stream,
  10308. buffer,
  10309. offset,
  10310. length,
  10311. position,
  10312. prot,
  10313. flags
  10314. ) {
  10315. if (!FS.isFile(stream.node.mode)) {
  10316. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  10317. }
  10318. var ptr;
  10319. var allocated;
  10320. var contents = stream.node.contents;
  10321. if (
  10322. !(flags & 2) &&
  10323. (contents.buffer === buffer ||
  10324. contents.buffer === buffer.buffer)
  10325. ) {
  10326. allocated = false;
  10327. ptr = contents.byteOffset;
  10328. } else {
  10329. if (
  10330. position > 0 ||
  10331. position + length < stream.node.usedBytes
  10332. ) {
  10333. if (contents.subarray) {
  10334. contents = contents.subarray(
  10335. position,
  10336. position + length
  10337. );
  10338. } else {
  10339. contents = Array.prototype.slice.call(
  10340. contents,
  10341. position,
  10342. position + length
  10343. );
  10344. }
  10345. }
  10346. allocated = true;
  10347. ptr = _malloc(length);
  10348. if (!ptr) {
  10349. throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
  10350. }
  10351. buffer.set(contents, ptr);
  10352. }
  10353. return { ptr: ptr, allocated: allocated };
  10354. },
  10355. msync: function msync(
  10356. stream,
  10357. buffer,
  10358. offset,
  10359. length,
  10360. mmapFlags
  10361. ) {
  10362. if (!FS.isFile(stream.node.mode)) {
  10363. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  10364. }
  10365. if (mmapFlags & 2) {
  10366. return 0;
  10367. }
  10368. var bytesWritten = MEMFS.stream_ops.write(
  10369. stream,
  10370. buffer,
  10371. 0,
  10372. length,
  10373. offset,
  10374. false
  10375. );
  10376. return 0;
  10377. },
  10378. },
  10379. };
  10380. var IDBFS = {
  10381. dbs: {},
  10382. indexedDB: (function (_indexedDB) {
  10383. function indexedDB() {
  10384. return _indexedDB.apply(this, arguments);
  10385. }
  10386. indexedDB.toString = function () {
  10387. return _indexedDB.toString();
  10388. };
  10389. return indexedDB;
  10390. })(function () {
  10391. if (typeof indexedDB !== "undefined") return indexedDB;
  10392. var ret = null;
  10393. if (
  10394. (typeof window === "undefined"
  10395. ? "undefined"
  10396. : _typeof(window)) === "object"
  10397. )
  10398. ret =
  10399. window.indexedDB ||
  10400. window.mozIndexedDB ||
  10401. window.webkitIndexedDB ||
  10402. window.msIndexedDB;
  10403. assert(ret, "IDBFS used, but indexedDB not supported");
  10404. return ret;
  10405. }),
  10406. DB_VERSION: 21,
  10407. DB_STORE_NAME: "FILE_DATA",
  10408. mount: function mount(_mount2) {
  10409. return MEMFS.mount.apply(null, arguments);
  10410. },
  10411. syncfs: function syncfs(mount, populate, callback) {
  10412. IDBFS.getLocalSet(mount, function (err, local) {
  10413. if (err) return callback(err);
  10414. IDBFS.getRemoteSet(mount, function (err, remote) {
  10415. if (err) return callback(err);
  10416. var src = populate ? remote : local;
  10417. var dst = populate ? local : remote;
  10418. IDBFS.reconcile(src, dst, callback);
  10419. });
  10420. });
  10421. },
  10422. getDB: function getDB(name, callback) {
  10423. var db = IDBFS.dbs[name];
  10424. if (db) {
  10425. return callback(null, db);
  10426. }
  10427. var req;
  10428. try {
  10429. req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
  10430. } catch (e) {
  10431. return callback(e);
  10432. }
  10433. if (!req) {
  10434. return callback("Unable to connect to IndexedDB");
  10435. }
  10436. req.onupgradeneeded = function (e) {
  10437. var db = e.target.result;
  10438. var transaction = e.target.transaction;
  10439. var fileStore;
  10440. if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
  10441. fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
  10442. } else {
  10443. fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
  10444. }
  10445. if (!fileStore.indexNames.contains("timestamp")) {
  10446. fileStore.createIndex("timestamp", "timestamp", {
  10447. unique: false,
  10448. });
  10449. }
  10450. };
  10451. req.onsuccess = function () {
  10452. db = req.result;
  10453. IDBFS.dbs[name] = db;
  10454. callback(null, db);
  10455. };
  10456. req.onerror = function (e) {
  10457. callback(this.error);
  10458. e.preventDefault();
  10459. };
  10460. },
  10461. getLocalSet: function getLocalSet(mount, callback) {
  10462. var entries = {};
  10463. function isRealDir(p) {
  10464. return p !== "." && p !== "..";
  10465. }
  10466. function toAbsolute(root) {
  10467. return function (p) {
  10468. return PATH.join2(root, p);
  10469. };
  10470. }
  10471. var check = FS.readdir(mount.mountpoint)
  10472. .filter(isRealDir)
  10473. .map(toAbsolute(mount.mountpoint));
  10474. while (check.length) {
  10475. var path = check.pop();
  10476. var stat;
  10477. try {
  10478. stat = FS.stat(path);
  10479. } catch (e) {
  10480. return callback(e);
  10481. }
  10482. if (FS.isDir(stat.mode)) {
  10483. check.push.apply(
  10484. check,
  10485. FS.readdir(path).filter(isRealDir).map(toAbsolute(path))
  10486. );
  10487. }
  10488. entries[path] = { timestamp: stat.mtime };
  10489. }
  10490. return callback(null, { type: "local", entries: entries });
  10491. },
  10492. getRemoteSet: function getRemoteSet(mount, callback) {
  10493. var entries = {};
  10494. IDBFS.getDB(mount.mountpoint, function (err, db) {
  10495. if (err) return callback(err);
  10496. try {
  10497. var transaction = db.transaction(
  10498. [IDBFS.DB_STORE_NAME],
  10499. "readonly"
  10500. );
  10501. transaction.onerror = function (e) {
  10502. callback(this.error);
  10503. e.preventDefault();
  10504. };
  10505. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  10506. var index = store.index("timestamp");
  10507. index.openKeyCursor().onsuccess = function (event) {
  10508. var cursor = event.target.result;
  10509. if (!cursor) {
  10510. return callback(null, {
  10511. type: "remote",
  10512. db: db,
  10513. entries: entries,
  10514. });
  10515. }
  10516. entries[cursor.primaryKey] = { timestamp: cursor.key };
  10517. cursor.continue();
  10518. };
  10519. } catch (e) {
  10520. return callback(e);
  10521. }
  10522. });
  10523. },
  10524. loadLocalEntry: function loadLocalEntry(path, callback) {
  10525. var stat, node;
  10526. try {
  10527. var lookup = FS.lookupPath(path);
  10528. node = lookup.node;
  10529. stat = FS.stat(path);
  10530. } catch (e) {
  10531. return callback(e);
  10532. }
  10533. if (FS.isDir(stat.mode)) {
  10534. return callback(null, {
  10535. timestamp: stat.mtime,
  10536. mode: stat.mode,
  10537. });
  10538. } else if (FS.isFile(stat.mode)) {
  10539. node.contents = MEMFS.getFileDataAsTypedArray(node);
  10540. return callback(null, {
  10541. timestamp: stat.mtime,
  10542. mode: stat.mode,
  10543. contents: node.contents,
  10544. });
  10545. } else {
  10546. return callback(new Error("node type not supported"));
  10547. }
  10548. },
  10549. storeLocalEntry: function storeLocalEntry(
  10550. path,
  10551. entry,
  10552. callback
  10553. ) {
  10554. try {
  10555. if (FS.isDir(entry.mode)) {
  10556. FS.mkdir(path, entry.mode);
  10557. } else if (FS.isFile(entry.mode)) {
  10558. FS.writeFile(path, entry.contents, { canOwn: true });
  10559. } else {
  10560. return callback(new Error("node type not supported"));
  10561. }
  10562. FS.chmod(path, entry.mode);
  10563. FS.utime(path, entry.timestamp, entry.timestamp);
  10564. } catch (e) {
  10565. return callback(e);
  10566. }
  10567. callback(null);
  10568. },
  10569. removeLocalEntry: function removeLocalEntry(path, callback) {
  10570. try {
  10571. var lookup = FS.lookupPath(path);
  10572. var stat = FS.stat(path);
  10573. if (FS.isDir(stat.mode)) {
  10574. FS.rmdir(path);
  10575. } else if (FS.isFile(stat.mode)) {
  10576. FS.unlink(path);
  10577. }
  10578. } catch (e) {
  10579. return callback(e);
  10580. }
  10581. callback(null);
  10582. },
  10583. loadRemoteEntry: function loadRemoteEntry(
  10584. store,
  10585. path,
  10586. callback
  10587. ) {
  10588. var req = store.get(path);
  10589. req.onsuccess = function (event) {
  10590. callback(null, event.target.result);
  10591. };
  10592. req.onerror = function (e) {
  10593. callback(this.error);
  10594. e.preventDefault();
  10595. };
  10596. },
  10597. storeRemoteEntry: function storeRemoteEntry(
  10598. store,
  10599. path,
  10600. entry,
  10601. callback
  10602. ) {
  10603. var req = store.put(entry, path);
  10604. req.onsuccess = function () {
  10605. callback(null);
  10606. };
  10607. req.onerror = function (e) {
  10608. callback(this.error);
  10609. e.preventDefault();
  10610. };
  10611. },
  10612. removeRemoteEntry: function removeRemoteEntry(
  10613. store,
  10614. path,
  10615. callback
  10616. ) {
  10617. var req = store.delete(path);
  10618. req.onsuccess = function () {
  10619. callback(null);
  10620. };
  10621. req.onerror = function (e) {
  10622. callback(this.error);
  10623. e.preventDefault();
  10624. };
  10625. },
  10626. reconcile: function reconcile(src, dst, callback) {
  10627. var total = 0;
  10628. var create = [];
  10629. Object.keys(src.entries).forEach(function (key) {
  10630. var e = src.entries[key];
  10631. var e2 = dst.entries[key];
  10632. if (!e2 || e.timestamp > e2.timestamp) {
  10633. create.push(key);
  10634. total++;
  10635. }
  10636. });
  10637. var remove = [];
  10638. Object.keys(dst.entries).forEach(function (key) {
  10639. var e = dst.entries[key];
  10640. var e2 = src.entries[key];
  10641. if (!e2) {
  10642. remove.push(key);
  10643. total++;
  10644. }
  10645. });
  10646. if (!total) {
  10647. return callback(null);
  10648. }
  10649. var completed = 0;
  10650. var db = src.type === "remote" ? src.db : dst.db;
  10651. var transaction = db.transaction(
  10652. [IDBFS.DB_STORE_NAME],
  10653. "readwrite"
  10654. );
  10655. var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
  10656. function done(err) {
  10657. if (err) {
  10658. if (!done.errored) {
  10659. done.errored = true;
  10660. return callback(err);
  10661. }
  10662. return;
  10663. }
  10664. if (++completed >= total) {
  10665. return callback(null);
  10666. }
  10667. }
  10668. transaction.onerror = function (e) {
  10669. done(this.error);
  10670. e.preventDefault();
  10671. };
  10672. create.sort().forEach(function (path) {
  10673. if (dst.type === "local") {
  10674. IDBFS.loadRemoteEntry(store, path, function (err, entry) {
  10675. if (err) return done(err);
  10676. IDBFS.storeLocalEntry(path, entry, done);
  10677. });
  10678. } else {
  10679. IDBFS.loadLocalEntry(path, function (err, entry) {
  10680. if (err) return done(err);
  10681. IDBFS.storeRemoteEntry(store, path, entry, done);
  10682. });
  10683. }
  10684. });
  10685. remove
  10686. .sort()
  10687. .reverse()
  10688. .forEach(function (path) {
  10689. if (dst.type === "local") {
  10690. IDBFS.removeLocalEntry(path, done);
  10691. } else {
  10692. IDBFS.removeRemoteEntry(store, path, done);
  10693. }
  10694. });
  10695. },
  10696. };
  10697. var NODEFS = {
  10698. isWindows: false,
  10699. staticInit: function staticInit() {
  10700. NODEFS.isWindows = !!process.platform.match(/^win/);
  10701. var flags = process["binding"]("constants");
  10702. if (flags["fs"]) {
  10703. flags = flags["fs"];
  10704. }
  10705. NODEFS.flagsForNodeMap = {
  10706. 1024: flags["O_APPEND"],
  10707. 64: flags["O_CREAT"],
  10708. 128: flags["O_EXCL"],
  10709. 0: flags["O_RDONLY"],
  10710. 2: flags["O_RDWR"],
  10711. 4096: flags["O_SYNC"],
  10712. 512: flags["O_TRUNC"],
  10713. 1: flags["O_WRONLY"],
  10714. };
  10715. },
  10716. bufferFrom: function bufferFrom(arrayBuffer) {
  10717. return Buffer.alloc
  10718. ? Buffer.from(arrayBuffer)
  10719. : new Buffer(arrayBuffer);
  10720. },
  10721. mount: function mount(_mount3) {
  10722. assert(ENVIRONMENT_IS_NODE);
  10723. return NODEFS.createNode(
  10724. null,
  10725. "/",
  10726. NODEFS.getMode(_mount3.opts.root),
  10727. 0
  10728. );
  10729. },
  10730. createNode: function createNode(parent, name, mode, dev) {
  10731. if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
  10732. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  10733. }
  10734. var node = FS.createNode(parent, name, mode);
  10735. node.node_ops = NODEFS.node_ops;
  10736. node.stream_ops = NODEFS.stream_ops;
  10737. return node;
  10738. },
  10739. getMode: function getMode(path) {
  10740. var stat;
  10741. try {
  10742. stat = fs.lstatSync(path);
  10743. if (NODEFS.isWindows) {
  10744. stat.mode = stat.mode | ((stat.mode & 292) >> 2);
  10745. }
  10746. } catch (e) {
  10747. if (!e.code) throw e;
  10748. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10749. }
  10750. return stat.mode;
  10751. },
  10752. realPath: function realPath(node) {
  10753. var parts = [];
  10754. while (node.parent !== node) {
  10755. parts.push(node.name);
  10756. node = node.parent;
  10757. }
  10758. parts.push(node.mount.opts.root);
  10759. parts.reverse();
  10760. return PATH.join.apply(null, parts);
  10761. },
  10762. flagsForNode: function flagsForNode(flags) {
  10763. flags &= ~2097152;
  10764. flags &= ~2048;
  10765. flags &= ~32768;
  10766. flags &= ~524288;
  10767. var newFlags = 0;
  10768. for (var k in NODEFS.flagsForNodeMap) {
  10769. if (flags & k) {
  10770. newFlags |= NODEFS.flagsForNodeMap[k];
  10771. flags ^= k;
  10772. }
  10773. }
  10774. if (!flags) {
  10775. return newFlags;
  10776. } else {
  10777. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  10778. }
  10779. },
  10780. node_ops: {
  10781. getattr: function getattr(node) {
  10782. var path = NODEFS.realPath(node);
  10783. var stat;
  10784. try {
  10785. stat = fs.lstatSync(path);
  10786. } catch (e) {
  10787. if (!e.code) throw e;
  10788. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10789. }
  10790. if (NODEFS.isWindows && !stat.blksize) {
  10791. stat.blksize = 4096;
  10792. }
  10793. if (NODEFS.isWindows && !stat.blocks) {
  10794. stat.blocks =
  10795. ((stat.size + stat.blksize - 1) / stat.blksize) | 0;
  10796. }
  10797. return {
  10798. dev: stat.dev,
  10799. ino: stat.ino,
  10800. mode: stat.mode,
  10801. nlink: stat.nlink,
  10802. uid: stat.uid,
  10803. gid: stat.gid,
  10804. rdev: stat.rdev,
  10805. size: stat.size,
  10806. atime: stat.atime,
  10807. mtime: stat.mtime,
  10808. ctime: stat.ctime,
  10809. blksize: stat.blksize,
  10810. blocks: stat.blocks,
  10811. };
  10812. },
  10813. setattr: function setattr(node, attr) {
  10814. var path = NODEFS.realPath(node);
  10815. try {
  10816. if (attr.mode !== undefined) {
  10817. fs.chmodSync(path, attr.mode);
  10818. node.mode = attr.mode;
  10819. }
  10820. if (attr.timestamp !== undefined) {
  10821. var date = new Date(attr.timestamp);
  10822. fs.utimesSync(path, date, date);
  10823. }
  10824. if (attr.size !== undefined) {
  10825. fs.truncateSync(path, attr.size);
  10826. }
  10827. } catch (e) {
  10828. if (!e.code) throw e;
  10829. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10830. }
  10831. },
  10832. lookup: function lookup(parent, name) {
  10833. var path = PATH.join2(NODEFS.realPath(parent), name);
  10834. var mode = NODEFS.getMode(path);
  10835. return NODEFS.createNode(parent, name, mode);
  10836. },
  10837. mknod: function mknod(parent, name, mode, dev) {
  10838. var node = NODEFS.createNode(parent, name, mode, dev);
  10839. var path = NODEFS.realPath(node);
  10840. try {
  10841. if (FS.isDir(node.mode)) {
  10842. fs.mkdirSync(path, node.mode);
  10843. } else {
  10844. fs.writeFileSync(path, "", { mode: node.mode });
  10845. }
  10846. } catch (e) {
  10847. if (!e.code) throw e;
  10848. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10849. }
  10850. return node;
  10851. },
  10852. rename: function rename(oldNode, newDir, newName) {
  10853. var oldPath = NODEFS.realPath(oldNode);
  10854. var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
  10855. try {
  10856. fs.renameSync(oldPath, newPath);
  10857. } catch (e) {
  10858. if (!e.code) throw e;
  10859. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10860. }
  10861. },
  10862. unlink: function unlink(parent, name) {
  10863. var path = PATH.join2(NODEFS.realPath(parent), name);
  10864. try {
  10865. fs.unlinkSync(path);
  10866. } catch (e) {
  10867. if (!e.code) throw e;
  10868. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10869. }
  10870. },
  10871. rmdir: function rmdir(parent, name) {
  10872. var path = PATH.join2(NODEFS.realPath(parent), name);
  10873. try {
  10874. fs.rmdirSync(path);
  10875. } catch (e) {
  10876. if (!e.code) throw e;
  10877. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10878. }
  10879. },
  10880. readdir: function readdir(node) {
  10881. var path = NODEFS.realPath(node);
  10882. try {
  10883. return fs.readdirSync(path);
  10884. } catch (e) {
  10885. if (!e.code) throw e;
  10886. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10887. }
  10888. },
  10889. symlink: function symlink(parent, newName, oldPath) {
  10890. var newPath = PATH.join2(NODEFS.realPath(parent), newName);
  10891. try {
  10892. fs.symlinkSync(oldPath, newPath);
  10893. } catch (e) {
  10894. if (!e.code) throw e;
  10895. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10896. }
  10897. },
  10898. readlink: function readlink(node) {
  10899. var path = NODEFS.realPath(node);
  10900. try {
  10901. path = fs.readlinkSync(path);
  10902. path = NODEJS_PATH.relative(
  10903. NODEJS_PATH.resolve(node.mount.opts.root),
  10904. path
  10905. );
  10906. return path;
  10907. } catch (e) {
  10908. if (!e.code) throw e;
  10909. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10910. }
  10911. },
  10912. },
  10913. stream_ops: {
  10914. open: function open(stream) {
  10915. var path = NODEFS.realPath(stream.node);
  10916. try {
  10917. if (FS.isFile(stream.node.mode)) {
  10918. stream.nfd = fs.openSync(
  10919. path,
  10920. NODEFS.flagsForNode(stream.flags)
  10921. );
  10922. }
  10923. } catch (e) {
  10924. if (!e.code) throw e;
  10925. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10926. }
  10927. },
  10928. close: function close(stream) {
  10929. try {
  10930. if (FS.isFile(stream.node.mode) && stream.nfd) {
  10931. fs.closeSync(stream.nfd);
  10932. }
  10933. } catch (e) {
  10934. if (!e.code) throw e;
  10935. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10936. }
  10937. },
  10938. read: function read(
  10939. stream,
  10940. buffer,
  10941. offset,
  10942. length,
  10943. position
  10944. ) {
  10945. if (length === 0) return 0;
  10946. try {
  10947. return fs.readSync(
  10948. stream.nfd,
  10949. NODEFS.bufferFrom(buffer.buffer),
  10950. offset,
  10951. length,
  10952. position
  10953. );
  10954. } catch (e) {
  10955. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10956. }
  10957. },
  10958. write: function write(
  10959. stream,
  10960. buffer,
  10961. offset,
  10962. length,
  10963. position
  10964. ) {
  10965. try {
  10966. return fs.writeSync(
  10967. stream.nfd,
  10968. NODEFS.bufferFrom(buffer.buffer),
  10969. offset,
  10970. length,
  10971. position
  10972. );
  10973. } catch (e) {
  10974. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10975. }
  10976. },
  10977. llseek: function llseek(stream, offset, whence) {
  10978. var position = offset;
  10979. if (whence === 1) {
  10980. position += stream.position;
  10981. } else if (whence === 2) {
  10982. if (FS.isFile(stream.node.mode)) {
  10983. try {
  10984. var stat = fs.fstatSync(stream.nfd);
  10985. position += stat.size;
  10986. } catch (e) {
  10987. throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  10988. }
  10989. }
  10990. }
  10991. if (position < 0) {
  10992. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  10993. }
  10994. return position;
  10995. },
  10996. },
  10997. };
  10998. var WORKERFS = {
  10999. DIR_MODE: 16895,
  11000. FILE_MODE: 33279,
  11001. reader: null,
  11002. mount: function mount(_mount4) {
  11003. assert(ENVIRONMENT_IS_WORKER);
  11004. if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
  11005. var root = WORKERFS.createNode(
  11006. null,
  11007. "/",
  11008. WORKERFS.DIR_MODE,
  11009. 0
  11010. );
  11011. var createdParents = {};
  11012. function ensureParent(path) {
  11013. var parts = path.split("/");
  11014. var parent = root;
  11015. for (var i = 0; i < parts.length - 1; i++) {
  11016. var curr = parts.slice(0, i + 1).join("/");
  11017. if (!createdParents[curr]) {
  11018. createdParents[curr] = WORKERFS.createNode(
  11019. parent,
  11020. parts[i],
  11021. WORKERFS.DIR_MODE,
  11022. 0
  11023. );
  11024. }
  11025. parent = createdParents[curr];
  11026. }
  11027. return parent;
  11028. }
  11029. function base(path) {
  11030. var parts = path.split("/");
  11031. return parts[parts.length - 1];
  11032. }
  11033. Array.prototype.forEach.call(
  11034. _mount4.opts["files"] || [],
  11035. function (file) {
  11036. WORKERFS.createNode(
  11037. ensureParent(file.name),
  11038. base(file.name),
  11039. WORKERFS.FILE_MODE,
  11040. 0,
  11041. file,
  11042. file.lastModifiedDate
  11043. );
  11044. }
  11045. );
  11046. (_mount4.opts["blobs"] || []).forEach(function (obj) {
  11047. WORKERFS.createNode(
  11048. ensureParent(obj["name"]),
  11049. base(obj["name"]),
  11050. WORKERFS.FILE_MODE,
  11051. 0,
  11052. obj["data"]
  11053. );
  11054. });
  11055. (_mount4.opts["packages"] || []).forEach(function (pack) {
  11056. pack["metadata"].files.forEach(function (file) {
  11057. var name = file.filename.substr(1);
  11058. WORKERFS.createNode(
  11059. ensureParent(name),
  11060. base(name),
  11061. WORKERFS.FILE_MODE,
  11062. 0,
  11063. pack["blob"].slice(file.start, file.end)
  11064. );
  11065. });
  11066. });
  11067. return root;
  11068. },
  11069. createNode: function createNode(
  11070. parent,
  11071. name,
  11072. mode,
  11073. dev,
  11074. contents,
  11075. mtime
  11076. ) {
  11077. var node = FS.createNode(parent, name, mode);
  11078. node.mode = mode;
  11079. node.node_ops = WORKERFS.node_ops;
  11080. node.stream_ops = WORKERFS.stream_ops;
  11081. node.timestamp = (mtime || new Date()).getTime();
  11082. assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
  11083. if (mode === WORKERFS.FILE_MODE) {
  11084. node.size = contents.size;
  11085. node.contents = contents;
  11086. } else {
  11087. node.size = 4096;
  11088. node.contents = {};
  11089. }
  11090. if (parent) {
  11091. parent.contents[name] = node;
  11092. }
  11093. return node;
  11094. },
  11095. node_ops: {
  11096. getattr: function getattr(node) {
  11097. return {
  11098. dev: 1,
  11099. ino: undefined,
  11100. mode: node.mode,
  11101. nlink: 1,
  11102. uid: 0,
  11103. gid: 0,
  11104. rdev: undefined,
  11105. size: node.size,
  11106. atime: new Date(node.timestamp),
  11107. mtime: new Date(node.timestamp),
  11108. ctime: new Date(node.timestamp),
  11109. blksize: 4096,
  11110. blocks: Math.ceil(node.size / 4096),
  11111. };
  11112. },
  11113. setattr: function setattr(node, attr) {
  11114. if (attr.mode !== undefined) {
  11115. node.mode = attr.mode;
  11116. }
  11117. if (attr.timestamp !== undefined) {
  11118. node.timestamp = attr.timestamp;
  11119. }
  11120. },
  11121. lookup: function lookup(parent, name) {
  11122. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  11123. },
  11124. mknod: function mknod(parent, name, mode, dev) {
  11125. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11126. },
  11127. rename: function rename(oldNode, newDir, newName) {
  11128. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11129. },
  11130. unlink: function unlink(parent, name) {
  11131. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11132. },
  11133. rmdir: function rmdir(parent, name) {
  11134. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11135. },
  11136. readdir: function readdir(node) {
  11137. var entries = [".", ".."];
  11138. for (var key in node.contents) {
  11139. if (!node.contents.hasOwnProperty(key)) {
  11140. continue;
  11141. }
  11142. entries.push(key);
  11143. }
  11144. return entries;
  11145. },
  11146. symlink: function symlink(parent, newName, oldPath) {
  11147. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11148. },
  11149. readlink: function readlink(node) {
  11150. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11151. },
  11152. },
  11153. stream_ops: {
  11154. read: function read(
  11155. stream,
  11156. buffer,
  11157. offset,
  11158. length,
  11159. position
  11160. ) {
  11161. if (position >= stream.node.size) return 0;
  11162. var chunk = stream.node.contents.slice(
  11163. position,
  11164. position + length
  11165. );
  11166. var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
  11167. buffer.set(new Uint8Array(ab), offset);
  11168. return chunk.size;
  11169. },
  11170. write: function write(
  11171. stream,
  11172. buffer,
  11173. offset,
  11174. length,
  11175. position
  11176. ) {
  11177. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  11178. },
  11179. llseek: function llseek(stream, offset, whence) {
  11180. var position = offset;
  11181. if (whence === 1) {
  11182. position += stream.position;
  11183. } else if (whence === 2) {
  11184. if (FS.isFile(stream.node.mode)) {
  11185. position += stream.node.size;
  11186. }
  11187. }
  11188. if (position < 0) {
  11189. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  11190. }
  11191. return position;
  11192. },
  11193. },
  11194. };
  11195. STATICTOP += 16;
  11196. STATICTOP += 16;
  11197. STATICTOP += 16;
  11198. var FS = {
  11199. root: null,
  11200. mounts: [],
  11201. devices: {},
  11202. streams: [],
  11203. nextInode: 1,
  11204. nameTable: null,
  11205. currentPath: "/",
  11206. initialized: false,
  11207. ignorePermissions: true,
  11208. trackingDelegate: {},
  11209. tracking: { openFlags: { READ: 1, WRITE: 2 } },
  11210. ErrnoError: null,
  11211. genericErrors: {},
  11212. filesystems: null,
  11213. syncFSRequests: 0,
  11214. handleFSError: function handleFSError(e) {
  11215. if (!(e instanceof FS.ErrnoError))
  11216. throw e + " : " + stackTrace();
  11217. return ___setErrNo(e.errno);
  11218. },
  11219. lookupPath: function lookupPath(path, opts) {
  11220. path = PATH.resolve(FS.cwd(), path);
  11221. opts = opts || {};
  11222. if (!path) return { path: "", node: null };
  11223. var defaults = { follow_mount: true, recurse_count: 0 };
  11224. for (var key in defaults) {
  11225. if (opts[key] === undefined) {
  11226. opts[key] = defaults[key];
  11227. }
  11228. }
  11229. if (opts.recurse_count > 8) {
  11230. throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
  11231. }
  11232. var parts = PATH.normalizeArray(
  11233. path.split("/").filter(function (p) {
  11234. return !!p;
  11235. }),
  11236. false
  11237. );
  11238. var current = FS.root;
  11239. var current_path = "/";
  11240. for (var i = 0; i < parts.length; i++) {
  11241. var islast = i === parts.length - 1;
  11242. if (islast && opts.parent) {
  11243. break;
  11244. }
  11245. current = FS.lookupNode(current, parts[i]);
  11246. current_path = PATH.join2(current_path, parts[i]);
  11247. if (FS.isMountpoint(current)) {
  11248. if (!islast || (islast && opts.follow_mount)) {
  11249. current = current.mounted.root;
  11250. }
  11251. }
  11252. if (!islast || opts.follow) {
  11253. var count = 0;
  11254. while (FS.isLink(current.mode)) {
  11255. var link = FS.readlink(current_path);
  11256. current_path = PATH.resolve(
  11257. PATH.dirname(current_path),
  11258. link
  11259. );
  11260. var lookup = FS.lookupPath(current_path, {
  11261. recurse_count: opts.recurse_count,
  11262. });
  11263. current = lookup.node;
  11264. if (count++ > 40) {
  11265. throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
  11266. }
  11267. }
  11268. }
  11269. }
  11270. return { path: current_path, node: current };
  11271. },
  11272. getPath: function getPath(node) {
  11273. var path;
  11274. while (true) {
  11275. if (FS.isRoot(node)) {
  11276. var mount = node.mount.mountpoint;
  11277. if (!path) return mount;
  11278. return mount[mount.length - 1] !== "/"
  11279. ? mount + "/" + path
  11280. : mount + path;
  11281. }
  11282. path = path ? node.name + "/" + path : node.name;
  11283. node = node.parent;
  11284. }
  11285. },
  11286. hashName: function hashName(parentid, name) {
  11287. var hash = 0;
  11288. for (var i = 0; i < name.length; i++) {
  11289. hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
  11290. }
  11291. return ((parentid + hash) >>> 0) % FS.nameTable.length;
  11292. },
  11293. hashAddNode: function hashAddNode(node) {
  11294. var hash = FS.hashName(node.parent.id, node.name);
  11295. node.name_next = FS.nameTable[hash];
  11296. FS.nameTable[hash] = node;
  11297. },
  11298. hashRemoveNode: function hashRemoveNode(node) {
  11299. var hash = FS.hashName(node.parent.id, node.name);
  11300. if (FS.nameTable[hash] === node) {
  11301. FS.nameTable[hash] = node.name_next;
  11302. } else {
  11303. var current = FS.nameTable[hash];
  11304. while (current) {
  11305. if (current.name_next === node) {
  11306. current.name_next = node.name_next;
  11307. break;
  11308. }
  11309. current = current.name_next;
  11310. }
  11311. }
  11312. },
  11313. lookupNode: function lookupNode(parent, name) {
  11314. var err = FS.mayLookup(parent);
  11315. if (err) {
  11316. throw new FS.ErrnoError(err, parent);
  11317. }
  11318. var hash = FS.hashName(parent.id, name);
  11319. for (
  11320. var node = FS.nameTable[hash];
  11321. node;
  11322. node = node.name_next
  11323. ) {
  11324. var nodeName = node.name;
  11325. if (node.parent.id === parent.id && nodeName === name) {
  11326. return node;
  11327. }
  11328. }
  11329. return FS.lookup(parent, name);
  11330. },
  11331. createNode: function createNode(parent, name, mode, rdev) {
  11332. if (!FS.FSNode) {
  11333. FS.FSNode = function (parent, name, mode, rdev) {
  11334. if (!parent) {
  11335. parent = this;
  11336. }
  11337. this.parent = parent;
  11338. this.mount = parent.mount;
  11339. this.mounted = null;
  11340. this.id = FS.nextInode++;
  11341. this.name = name;
  11342. this.mode = mode;
  11343. this.node_ops = {};
  11344. this.stream_ops = {};
  11345. this.rdev = rdev;
  11346. };
  11347. FS.FSNode.prototype = {};
  11348. var readMode = 292 | 73;
  11349. var writeMode = 146;
  11350. Object.defineProperties(FS.FSNode.prototype, {
  11351. read: {
  11352. get: function get() {
  11353. return (this.mode & readMode) === readMode;
  11354. },
  11355. set: function set(val) {
  11356. val
  11357. ? (this.mode |= readMode)
  11358. : (this.mode &= ~readMode);
  11359. },
  11360. },
  11361. write: {
  11362. get: function get() {
  11363. return (this.mode & writeMode) === writeMode;
  11364. },
  11365. set: function set(val) {
  11366. val
  11367. ? (this.mode |= writeMode)
  11368. : (this.mode &= ~writeMode);
  11369. },
  11370. },
  11371. isFolder: {
  11372. get: function get() {
  11373. return FS.isDir(this.mode);
  11374. },
  11375. },
  11376. isDevice: {
  11377. get: function get() {
  11378. return FS.isChrdev(this.mode);
  11379. },
  11380. },
  11381. });
  11382. }
  11383. var node = new FS.FSNode(parent, name, mode, rdev);
  11384. FS.hashAddNode(node);
  11385. return node;
  11386. },
  11387. destroyNode: function destroyNode(node) {
  11388. FS.hashRemoveNode(node);
  11389. },
  11390. isRoot: function isRoot(node) {
  11391. return node === node.parent;
  11392. },
  11393. isMountpoint: function isMountpoint(node) {
  11394. return !!node.mounted;
  11395. },
  11396. isFile: function isFile(mode) {
  11397. return (mode & 61440) === 32768;
  11398. },
  11399. isDir: function isDir(mode) {
  11400. return (mode & 61440) === 16384;
  11401. },
  11402. isLink: function isLink(mode) {
  11403. return (mode & 61440) === 40960;
  11404. },
  11405. isChrdev: function isChrdev(mode) {
  11406. return (mode & 61440) === 8192;
  11407. },
  11408. isBlkdev: function isBlkdev(mode) {
  11409. return (mode & 61440) === 24576;
  11410. },
  11411. isFIFO: function isFIFO(mode) {
  11412. return (mode & 61440) === 4096;
  11413. },
  11414. isSocket: function isSocket(mode) {
  11415. return (mode & 49152) === 49152;
  11416. },
  11417. flagModes: {
  11418. r: 0,
  11419. rs: 1052672,
  11420. "r+": 2,
  11421. w: 577,
  11422. wx: 705,
  11423. xw: 705,
  11424. "w+": 578,
  11425. "wx+": 706,
  11426. "xw+": 706,
  11427. a: 1089,
  11428. ax: 1217,
  11429. xa: 1217,
  11430. "a+": 1090,
  11431. "ax+": 1218,
  11432. "xa+": 1218,
  11433. },
  11434. modeStringToFlags: function modeStringToFlags(str) {
  11435. var flags = FS.flagModes[str];
  11436. if (typeof flags === "undefined") {
  11437. throw new Error("Unknown file open mode: " + str);
  11438. }
  11439. return flags;
  11440. },
  11441. flagsToPermissionString: function flagsToPermissionString(
  11442. flag
  11443. ) {
  11444. var perms = ["r", "w", "rw"][flag & 3];
  11445. if (flag & 512) {
  11446. perms += "w";
  11447. }
  11448. return perms;
  11449. },
  11450. nodePermissions: function nodePermissions(node, perms) {
  11451. if (FS.ignorePermissions) {
  11452. return 0;
  11453. }
  11454. if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
  11455. return ERRNO_CODES.EACCES;
  11456. } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
  11457. return ERRNO_CODES.EACCES;
  11458. } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
  11459. return ERRNO_CODES.EACCES;
  11460. }
  11461. return 0;
  11462. },
  11463. mayLookup: function mayLookup(dir) {
  11464. var err = FS.nodePermissions(dir, "x");
  11465. if (err) return err;
  11466. if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
  11467. return 0;
  11468. },
  11469. mayCreate: function mayCreate(dir, name) {
  11470. try {
  11471. var node = FS.lookupNode(dir, name);
  11472. return ERRNO_CODES.EEXIST;
  11473. } catch (e) {}
  11474. return FS.nodePermissions(dir, "wx");
  11475. },
  11476. mayDelete: function mayDelete(dir, name, isdir) {
  11477. var node;
  11478. try {
  11479. node = FS.lookupNode(dir, name);
  11480. } catch (e) {
  11481. return e.errno;
  11482. }
  11483. var err = FS.nodePermissions(dir, "wx");
  11484. if (err) {
  11485. return err;
  11486. }
  11487. if (isdir) {
  11488. if (!FS.isDir(node.mode)) {
  11489. return ERRNO_CODES.ENOTDIR;
  11490. }
  11491. if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  11492. return ERRNO_CODES.EBUSY;
  11493. }
  11494. } else {
  11495. if (FS.isDir(node.mode)) {
  11496. return ERRNO_CODES.EISDIR;
  11497. }
  11498. }
  11499. return 0;
  11500. },
  11501. mayOpen: function mayOpen(node, flags) {
  11502. if (!node) {
  11503. return ERRNO_CODES.ENOENT;
  11504. }
  11505. if (FS.isLink(node.mode)) {
  11506. return ERRNO_CODES.ELOOP;
  11507. } else if (FS.isDir(node.mode)) {
  11508. if (
  11509. FS.flagsToPermissionString(flags) !== "r" ||
  11510. flags & 512
  11511. ) {
  11512. return ERRNO_CODES.EISDIR;
  11513. }
  11514. }
  11515. return FS.nodePermissions(
  11516. node,
  11517. FS.flagsToPermissionString(flags)
  11518. );
  11519. },
  11520. MAX_OPEN_FDS: 4096,
  11521. nextfd: function nextfd(fd_start, fd_end) {
  11522. fd_start = fd_start || 0;
  11523. fd_end = fd_end || FS.MAX_OPEN_FDS;
  11524. for (var fd = fd_start; fd <= fd_end; fd++) {
  11525. if (!FS.streams[fd]) {
  11526. return fd;
  11527. }
  11528. }
  11529. throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
  11530. },
  11531. getStream: function getStream(fd) {
  11532. return FS.streams[fd];
  11533. },
  11534. createStream: function createStream(stream, fd_start, fd_end) {
  11535. if (!FS.FSStream) {
  11536. FS.FSStream = function () {};
  11537. FS.FSStream.prototype = {};
  11538. Object.defineProperties(FS.FSStream.prototype, {
  11539. object: {
  11540. get: function get() {
  11541. return this.node;
  11542. },
  11543. set: function set(val) {
  11544. this.node = val;
  11545. },
  11546. },
  11547. isRead: {
  11548. get: function get() {
  11549. return (this.flags & 2097155) !== 1;
  11550. },
  11551. },
  11552. isWrite: {
  11553. get: function get() {
  11554. return (this.flags & 2097155) !== 0;
  11555. },
  11556. },
  11557. isAppend: {
  11558. get: function get() {
  11559. return this.flags & 1024;
  11560. },
  11561. },
  11562. });
  11563. }
  11564. var newStream = new FS.FSStream();
  11565. for (var p in stream) {
  11566. newStream[p] = stream[p];
  11567. }
  11568. stream = newStream;
  11569. var fd = FS.nextfd(fd_start, fd_end);
  11570. stream.fd = fd;
  11571. FS.streams[fd] = stream;
  11572. return stream;
  11573. },
  11574. closeStream: function closeStream(fd) {
  11575. FS.streams[fd] = null;
  11576. },
  11577. chrdev_stream_ops: {
  11578. open: function open(stream) {
  11579. var device = FS.getDevice(stream.node.rdev);
  11580. stream.stream_ops = device.stream_ops;
  11581. if (stream.stream_ops.open) {
  11582. stream.stream_ops.open(stream);
  11583. }
  11584. },
  11585. llseek: function llseek() {
  11586. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  11587. },
  11588. },
  11589. major: function major(dev) {
  11590. return dev >> 8;
  11591. },
  11592. minor: function minor(dev) {
  11593. return dev & 255;
  11594. },
  11595. makedev: function makedev(ma, mi) {
  11596. return (ma << 8) | mi;
  11597. },
  11598. registerDevice: function registerDevice(dev, ops) {
  11599. FS.devices[dev] = { stream_ops: ops };
  11600. },
  11601. getDevice: function getDevice(dev) {
  11602. return FS.devices[dev];
  11603. },
  11604. getMounts: function getMounts(mount) {
  11605. var mounts = [];
  11606. var check = [mount];
  11607. while (check.length) {
  11608. var m = check.pop();
  11609. mounts.push(m);
  11610. check.push.apply(check, m.mounts);
  11611. }
  11612. return mounts;
  11613. },
  11614. syncfs: function syncfs(populate, callback) {
  11615. if (typeof populate === "function") {
  11616. callback = populate;
  11617. populate = false;
  11618. }
  11619. FS.syncFSRequests++;
  11620. if (FS.syncFSRequests > 1) {
  11621. console.log(
  11622. "warning: " +
  11623. FS.syncFSRequests +
  11624. " FS.syncfs operations in flight at once, probably just doing extra work"
  11625. );
  11626. }
  11627. var mounts = FS.getMounts(FS.root.mount);
  11628. var completed = 0;
  11629. function doCallback(err) {
  11630. assert(FS.syncFSRequests > 0);
  11631. FS.syncFSRequests--;
  11632. return callback(err);
  11633. }
  11634. function done(err) {
  11635. if (err) {
  11636. if (!done.errored) {
  11637. done.errored = true;
  11638. return doCallback(err);
  11639. }
  11640. return;
  11641. }
  11642. if (++completed >= mounts.length) {
  11643. doCallback(null);
  11644. }
  11645. }
  11646. mounts.forEach(function (mount) {
  11647. if (!mount.type.syncfs) {
  11648. return done(null);
  11649. }
  11650. mount.type.syncfs(mount, populate, done);
  11651. });
  11652. },
  11653. mount: function mount(type, opts, mountpoint) {
  11654. var root = mountpoint === "/";
  11655. var pseudo = !mountpoint;
  11656. var node;
  11657. if (root && FS.root) {
  11658. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  11659. } else if (!root && !pseudo) {
  11660. var lookup = FS.lookupPath(mountpoint, {
  11661. follow_mount: false,
  11662. });
  11663. mountpoint = lookup.path;
  11664. node = lookup.node;
  11665. if (FS.isMountpoint(node)) {
  11666. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  11667. }
  11668. if (!FS.isDir(node.mode)) {
  11669. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  11670. }
  11671. }
  11672. var mount = {
  11673. type: type,
  11674. opts: opts,
  11675. mountpoint: mountpoint,
  11676. mounts: [],
  11677. };
  11678. var mountRoot = type.mount(mount);
  11679. mountRoot.mount = mount;
  11680. mount.root = mountRoot;
  11681. if (root) {
  11682. FS.root = mountRoot;
  11683. } else if (node) {
  11684. node.mounted = mount;
  11685. if (node.mount) {
  11686. node.mount.mounts.push(mount);
  11687. }
  11688. }
  11689. return mountRoot;
  11690. },
  11691. unmount: function unmount(mountpoint) {
  11692. var lookup = FS.lookupPath(mountpoint, {
  11693. follow_mount: false,
  11694. });
  11695. if (!FS.isMountpoint(lookup.node)) {
  11696. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  11697. }
  11698. var node = lookup.node;
  11699. var mount = node.mounted;
  11700. var mounts = FS.getMounts(mount);
  11701. Object.keys(FS.nameTable).forEach(function (hash) {
  11702. var current = FS.nameTable[hash];
  11703. while (current) {
  11704. var next = current.name_next;
  11705. if (mounts.indexOf(current.mount) !== -1) {
  11706. FS.destroyNode(current);
  11707. }
  11708. current = next;
  11709. }
  11710. });
  11711. node.mounted = null;
  11712. var idx = node.mount.mounts.indexOf(mount);
  11713. assert(idx !== -1);
  11714. node.mount.mounts.splice(idx, 1);
  11715. },
  11716. lookup: function lookup(parent, name) {
  11717. return parent.node_ops.lookup(parent, name);
  11718. },
  11719. mknod: function mknod(path, mode, dev) {
  11720. var lookup = FS.lookupPath(path, { parent: true });
  11721. var parent = lookup.node;
  11722. var name = PATH.basename(path);
  11723. if (!name || name === "." || name === "..") {
  11724. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  11725. }
  11726. var err = FS.mayCreate(parent, name);
  11727. if (err) {
  11728. throw new FS.ErrnoError(err);
  11729. }
  11730. if (!parent.node_ops.mknod) {
  11731. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11732. }
  11733. return parent.node_ops.mknod(parent, name, mode, dev);
  11734. },
  11735. create: function create(path, mode) {
  11736. mode = mode !== undefined ? mode : 438;
  11737. mode &= 4095;
  11738. mode |= 32768;
  11739. return FS.mknod(path, mode, 0);
  11740. },
  11741. mkdir: function mkdir(path, mode) {
  11742. mode = mode !== undefined ? mode : 511;
  11743. mode &= 511 | 512;
  11744. mode |= 16384;
  11745. return FS.mknod(path, mode, 0);
  11746. },
  11747. mkdirTree: function mkdirTree(path, mode) {
  11748. var dirs = path.split("/");
  11749. var d = "";
  11750. for (var i = 0; i < dirs.length; ++i) {
  11751. if (!dirs[i]) continue;
  11752. d += "/" + dirs[i];
  11753. try {
  11754. FS.mkdir(d, mode);
  11755. } catch (e) {
  11756. if (e.errno != ERRNO_CODES.EEXIST) throw e;
  11757. }
  11758. }
  11759. },
  11760. mkdev: function mkdev(path, mode, dev) {
  11761. if (typeof dev === "undefined") {
  11762. dev = mode;
  11763. mode = 438;
  11764. }
  11765. mode |= 8192;
  11766. return FS.mknod(path, mode, dev);
  11767. },
  11768. symlink: function symlink(oldpath, newpath) {
  11769. if (!PATH.resolve(oldpath)) {
  11770. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  11771. }
  11772. var lookup = FS.lookupPath(newpath, { parent: true });
  11773. var parent = lookup.node;
  11774. if (!parent) {
  11775. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  11776. }
  11777. var newname = PATH.basename(newpath);
  11778. var err = FS.mayCreate(parent, newname);
  11779. if (err) {
  11780. throw new FS.ErrnoError(err);
  11781. }
  11782. if (!parent.node_ops.symlink) {
  11783. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11784. }
  11785. return parent.node_ops.symlink(parent, newname, oldpath);
  11786. },
  11787. rename: function rename(old_path, new_path) {
  11788. var old_dirname = PATH.dirname(old_path);
  11789. var new_dirname = PATH.dirname(new_path);
  11790. var old_name = PATH.basename(old_path);
  11791. var new_name = PATH.basename(new_path);
  11792. var lookup, old_dir, new_dir;
  11793. try {
  11794. lookup = FS.lookupPath(old_path, { parent: true });
  11795. old_dir = lookup.node;
  11796. lookup = FS.lookupPath(new_path, { parent: true });
  11797. new_dir = lookup.node;
  11798. } catch (e) {
  11799. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  11800. }
  11801. if (!old_dir || !new_dir)
  11802. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  11803. if (old_dir.mount !== new_dir.mount) {
  11804. throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
  11805. }
  11806. var old_node = FS.lookupNode(old_dir, old_name);
  11807. var relative = PATH.relative(old_path, new_dirname);
  11808. if (relative.charAt(0) !== ".") {
  11809. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  11810. }
  11811. relative = PATH.relative(new_path, old_dirname);
  11812. if (relative.charAt(0) !== ".") {
  11813. throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
  11814. }
  11815. var new_node;
  11816. try {
  11817. new_node = FS.lookupNode(new_dir, new_name);
  11818. } catch (e) {}
  11819. if (old_node === new_node) {
  11820. return;
  11821. }
  11822. var isdir = FS.isDir(old_node.mode);
  11823. var err = FS.mayDelete(old_dir, old_name, isdir);
  11824. if (err) {
  11825. throw new FS.ErrnoError(err);
  11826. }
  11827. err = new_node
  11828. ? FS.mayDelete(new_dir, new_name, isdir)
  11829. : FS.mayCreate(new_dir, new_name);
  11830. if (err) {
  11831. throw new FS.ErrnoError(err);
  11832. }
  11833. if (!old_dir.node_ops.rename) {
  11834. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11835. }
  11836. if (
  11837. FS.isMountpoint(old_node) ||
  11838. (new_node && FS.isMountpoint(new_node))
  11839. ) {
  11840. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  11841. }
  11842. if (new_dir !== old_dir) {
  11843. err = FS.nodePermissions(old_dir, "w");
  11844. if (err) {
  11845. throw new FS.ErrnoError(err);
  11846. }
  11847. }
  11848. try {
  11849. if (FS.trackingDelegate["willMovePath"]) {
  11850. FS.trackingDelegate["willMovePath"](old_path, new_path);
  11851. }
  11852. } catch (e) {
  11853. console.log(
  11854. "FS.trackingDelegate['willMovePath']('" +
  11855. old_path +
  11856. "', '" +
  11857. new_path +
  11858. "') threw an exception: " +
  11859. e.message
  11860. );
  11861. }
  11862. FS.hashRemoveNode(old_node);
  11863. try {
  11864. old_dir.node_ops.rename(old_node, new_dir, new_name);
  11865. } catch (e) {
  11866. throw e;
  11867. } finally {
  11868. FS.hashAddNode(old_node);
  11869. }
  11870. try {
  11871. if (FS.trackingDelegate["onMovePath"])
  11872. FS.trackingDelegate["onMovePath"](old_path, new_path);
  11873. } catch (e) {
  11874. console.log(
  11875. "FS.trackingDelegate['onMovePath']('" +
  11876. old_path +
  11877. "', '" +
  11878. new_path +
  11879. "') threw an exception: " +
  11880. e.message
  11881. );
  11882. }
  11883. },
  11884. rmdir: function rmdir(path) {
  11885. var lookup = FS.lookupPath(path, { parent: true });
  11886. var parent = lookup.node;
  11887. var name = PATH.basename(path);
  11888. var node = FS.lookupNode(parent, name);
  11889. var err = FS.mayDelete(parent, name, true);
  11890. if (err) {
  11891. throw new FS.ErrnoError(err);
  11892. }
  11893. if (!parent.node_ops.rmdir) {
  11894. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11895. }
  11896. if (FS.isMountpoint(node)) {
  11897. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  11898. }
  11899. try {
  11900. if (FS.trackingDelegate["willDeletePath"]) {
  11901. FS.trackingDelegate["willDeletePath"](path);
  11902. }
  11903. } catch (e) {
  11904. console.log(
  11905. "FS.trackingDelegate['willDeletePath']('" +
  11906. path +
  11907. "') threw an exception: " +
  11908. e.message
  11909. );
  11910. }
  11911. parent.node_ops.rmdir(parent, name);
  11912. FS.destroyNode(node);
  11913. try {
  11914. if (FS.trackingDelegate["onDeletePath"])
  11915. FS.trackingDelegate["onDeletePath"](path);
  11916. } catch (e) {
  11917. console.log(
  11918. "FS.trackingDelegate['onDeletePath']('" +
  11919. path +
  11920. "') threw an exception: " +
  11921. e.message
  11922. );
  11923. }
  11924. },
  11925. readdir: function readdir(path) {
  11926. var lookup = FS.lookupPath(path, { follow: true });
  11927. var node = lookup.node;
  11928. if (!node.node_ops.readdir) {
  11929. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  11930. }
  11931. return node.node_ops.readdir(node);
  11932. },
  11933. unlink: function unlink(path) {
  11934. var lookup = FS.lookupPath(path, { parent: true });
  11935. var parent = lookup.node;
  11936. var name = PATH.basename(path);
  11937. var node = FS.lookupNode(parent, name);
  11938. var err = FS.mayDelete(parent, name, false);
  11939. if (err) {
  11940. throw new FS.ErrnoError(err);
  11941. }
  11942. if (!parent.node_ops.unlink) {
  11943. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11944. }
  11945. if (FS.isMountpoint(node)) {
  11946. throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
  11947. }
  11948. try {
  11949. if (FS.trackingDelegate["willDeletePath"]) {
  11950. FS.trackingDelegate["willDeletePath"](path);
  11951. }
  11952. } catch (e) {
  11953. console.log(
  11954. "FS.trackingDelegate['willDeletePath']('" +
  11955. path +
  11956. "') threw an exception: " +
  11957. e.message
  11958. );
  11959. }
  11960. parent.node_ops.unlink(parent, name);
  11961. FS.destroyNode(node);
  11962. try {
  11963. if (FS.trackingDelegate["onDeletePath"])
  11964. FS.trackingDelegate["onDeletePath"](path);
  11965. } catch (e) {
  11966. console.log(
  11967. "FS.trackingDelegate['onDeletePath']('" +
  11968. path +
  11969. "') threw an exception: " +
  11970. e.message
  11971. );
  11972. }
  11973. },
  11974. readlink: function readlink(path) {
  11975. var lookup = FS.lookupPath(path);
  11976. var link = lookup.node;
  11977. if (!link) {
  11978. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  11979. }
  11980. if (!link.node_ops.readlink) {
  11981. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  11982. }
  11983. return PATH.resolve(
  11984. FS.getPath(link.parent),
  11985. link.node_ops.readlink(link)
  11986. );
  11987. },
  11988. stat: function stat(path, dontFollow) {
  11989. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  11990. var node = lookup.node;
  11991. if (!node) {
  11992. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  11993. }
  11994. if (!node.node_ops.getattr) {
  11995. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  11996. }
  11997. return node.node_ops.getattr(node);
  11998. },
  11999. lstat: function lstat(path) {
  12000. return FS.stat(path, true);
  12001. },
  12002. chmod: function chmod(path, mode, dontFollow) {
  12003. var node;
  12004. if (typeof path === "string") {
  12005. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  12006. node = lookup.node;
  12007. } else {
  12008. node = path;
  12009. }
  12010. if (!node.node_ops.setattr) {
  12011. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  12012. }
  12013. node.node_ops.setattr(node, {
  12014. mode: (mode & 4095) | (node.mode & ~4095),
  12015. timestamp: Date.now(),
  12016. });
  12017. },
  12018. lchmod: function lchmod(path, mode) {
  12019. FS.chmod(path, mode, true);
  12020. },
  12021. fchmod: function fchmod(fd, mode) {
  12022. var stream = FS.getStream(fd);
  12023. if (!stream) {
  12024. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12025. }
  12026. FS.chmod(stream.node, mode);
  12027. },
  12028. chown: function chown(path, uid, gid, dontFollow) {
  12029. var node;
  12030. if (typeof path === "string") {
  12031. var lookup = FS.lookupPath(path, { follow: !dontFollow });
  12032. node = lookup.node;
  12033. } else {
  12034. node = path;
  12035. }
  12036. if (!node.node_ops.setattr) {
  12037. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  12038. }
  12039. node.node_ops.setattr(node, { timestamp: Date.now() });
  12040. },
  12041. lchown: function lchown(path, uid, gid) {
  12042. FS.chown(path, uid, gid, true);
  12043. },
  12044. fchown: function fchown(fd, uid, gid) {
  12045. var stream = FS.getStream(fd);
  12046. if (!stream) {
  12047. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12048. }
  12049. FS.chown(stream.node, uid, gid);
  12050. },
  12051. truncate: function truncate(path, len) {
  12052. if (len < 0) {
  12053. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12054. }
  12055. var node;
  12056. if (typeof path === "string") {
  12057. var lookup = FS.lookupPath(path, { follow: true });
  12058. node = lookup.node;
  12059. } else {
  12060. node = path;
  12061. }
  12062. if (!node.node_ops.setattr) {
  12063. throw new FS.ErrnoError(ERRNO_CODES.EPERM);
  12064. }
  12065. if (FS.isDir(node.mode)) {
  12066. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  12067. }
  12068. if (!FS.isFile(node.mode)) {
  12069. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12070. }
  12071. var err = FS.nodePermissions(node, "w");
  12072. if (err) {
  12073. throw new FS.ErrnoError(err);
  12074. }
  12075. node.node_ops.setattr(node, {
  12076. size: len,
  12077. timestamp: Date.now(),
  12078. });
  12079. },
  12080. ftruncate: function ftruncate(fd, len) {
  12081. var stream = FS.getStream(fd);
  12082. if (!stream) {
  12083. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12084. }
  12085. if ((stream.flags & 2097155) === 0) {
  12086. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12087. }
  12088. FS.truncate(stream.node, len);
  12089. },
  12090. utime: function utime(path, atime, mtime) {
  12091. var lookup = FS.lookupPath(path, { follow: true });
  12092. var node = lookup.node;
  12093. node.node_ops.setattr(node, {
  12094. timestamp: Math.max(atime, mtime),
  12095. });
  12096. },
  12097. open: function open(path, flags, mode, fd_start, fd_end) {
  12098. if (path === "") {
  12099. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  12100. }
  12101. flags =
  12102. typeof flags === "string"
  12103. ? FS.modeStringToFlags(flags)
  12104. : flags;
  12105. mode = typeof mode === "undefined" ? 438 : mode;
  12106. if (flags & 64) {
  12107. mode = (mode & 4095) | 32768;
  12108. } else {
  12109. mode = 0;
  12110. }
  12111. var node;
  12112. if (
  12113. (typeof path === "undefined"
  12114. ? "undefined"
  12115. : _typeof(path)) === "object"
  12116. ) {
  12117. node = path;
  12118. } else {
  12119. path = PATH.normalize(path);
  12120. try {
  12121. var lookup = FS.lookupPath(path, {
  12122. follow: !(flags & 131072),
  12123. });
  12124. node = lookup.node;
  12125. } catch (e) {}
  12126. }
  12127. var created = false;
  12128. if (flags & 64) {
  12129. if (node) {
  12130. if (flags & 128) {
  12131. throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
  12132. }
  12133. } else {
  12134. node = FS.mknod(path, mode, 0);
  12135. created = true;
  12136. }
  12137. }
  12138. if (!node) {
  12139. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  12140. }
  12141. if (FS.isChrdev(node.mode)) {
  12142. flags &= ~512;
  12143. }
  12144. if (flags & 65536 && !FS.isDir(node.mode)) {
  12145. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  12146. }
  12147. if (!created) {
  12148. var err = FS.mayOpen(node, flags);
  12149. if (err) {
  12150. throw new FS.ErrnoError(err);
  12151. }
  12152. }
  12153. if (flags & 512) {
  12154. FS.truncate(node, 0);
  12155. }
  12156. flags &= ~(128 | 512);
  12157. var stream = FS.createStream(
  12158. {
  12159. node: node,
  12160. path: FS.getPath(node),
  12161. flags: flags,
  12162. seekable: true,
  12163. position: 0,
  12164. stream_ops: node.stream_ops,
  12165. ungotten: [],
  12166. error: false,
  12167. },
  12168. fd_start,
  12169. fd_end
  12170. );
  12171. if (stream.stream_ops.open) {
  12172. stream.stream_ops.open(stream);
  12173. }
  12174. if (Module["logReadFiles"] && !(flags & 1)) {
  12175. if (!FS.readFiles) FS.readFiles = {};
  12176. if (!(path in FS.readFiles)) {
  12177. FS.readFiles[path] = 1;
  12178. err("read file: " + path);
  12179. }
  12180. }
  12181. try {
  12182. if (FS.trackingDelegate["onOpenFile"]) {
  12183. var trackingFlags = 0;
  12184. if ((flags & 2097155) !== 1) {
  12185. trackingFlags |= FS.tracking.openFlags.READ;
  12186. }
  12187. if ((flags & 2097155) !== 0) {
  12188. trackingFlags |= FS.tracking.openFlags.WRITE;
  12189. }
  12190. FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  12191. }
  12192. } catch (e) {
  12193. console.log(
  12194. "FS.trackingDelegate['onOpenFile']('" +
  12195. path +
  12196. "', flags) threw an exception: " +
  12197. e.message
  12198. );
  12199. }
  12200. return stream;
  12201. },
  12202. close: function close(stream) {
  12203. if (FS.isClosed(stream)) {
  12204. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12205. }
  12206. if (stream.getdents) stream.getdents = null;
  12207. try {
  12208. if (stream.stream_ops.close) {
  12209. stream.stream_ops.close(stream);
  12210. }
  12211. } catch (e) {
  12212. throw e;
  12213. } finally {
  12214. FS.closeStream(stream.fd);
  12215. }
  12216. stream.fd = null;
  12217. },
  12218. isClosed: function isClosed(stream) {
  12219. return stream.fd === null;
  12220. },
  12221. llseek: function llseek(stream, offset, whence) {
  12222. if (FS.isClosed(stream)) {
  12223. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12224. }
  12225. if (!stream.seekable || !stream.stream_ops.llseek) {
  12226. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  12227. }
  12228. stream.position = stream.stream_ops.llseek(
  12229. stream,
  12230. offset,
  12231. whence
  12232. );
  12233. stream.ungotten = [];
  12234. return stream.position;
  12235. },
  12236. read: function read(stream, buffer, offset, length, position) {
  12237. if (length < 0 || position < 0) {
  12238. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12239. }
  12240. if (FS.isClosed(stream)) {
  12241. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12242. }
  12243. if ((stream.flags & 2097155) === 1) {
  12244. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12245. }
  12246. if (FS.isDir(stream.node.mode)) {
  12247. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  12248. }
  12249. if (!stream.stream_ops.read) {
  12250. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12251. }
  12252. var seeking = typeof position !== "undefined";
  12253. if (!seeking) {
  12254. position = stream.position;
  12255. } else if (!stream.seekable) {
  12256. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  12257. }
  12258. var bytesRead = stream.stream_ops.read(
  12259. stream,
  12260. buffer,
  12261. offset,
  12262. length,
  12263. position
  12264. );
  12265. if (!seeking) stream.position += bytesRead;
  12266. return bytesRead;
  12267. },
  12268. write: function write(
  12269. stream,
  12270. buffer,
  12271. offset,
  12272. length,
  12273. position,
  12274. canOwn
  12275. ) {
  12276. if (length < 0 || position < 0) {
  12277. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12278. }
  12279. if (FS.isClosed(stream)) {
  12280. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12281. }
  12282. if ((stream.flags & 2097155) === 0) {
  12283. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12284. }
  12285. if (FS.isDir(stream.node.mode)) {
  12286. throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
  12287. }
  12288. if (!stream.stream_ops.write) {
  12289. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12290. }
  12291. if (stream.flags & 1024) {
  12292. FS.llseek(stream, 0, 2);
  12293. }
  12294. var seeking = typeof position !== "undefined";
  12295. if (!seeking) {
  12296. position = stream.position;
  12297. } else if (!stream.seekable) {
  12298. throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
  12299. }
  12300. var bytesWritten = stream.stream_ops.write(
  12301. stream,
  12302. buffer,
  12303. offset,
  12304. length,
  12305. position,
  12306. canOwn
  12307. );
  12308. if (!seeking) stream.position += bytesWritten;
  12309. try {
  12310. if (stream.path && FS.trackingDelegate["onWriteToFile"])
  12311. FS.trackingDelegate["onWriteToFile"](stream.path);
  12312. } catch (e) {
  12313. console.log(
  12314. "FS.trackingDelegate['onWriteToFile']('" +
  12315. path +
  12316. "') threw an exception: " +
  12317. e.message
  12318. );
  12319. }
  12320. return bytesWritten;
  12321. },
  12322. allocate: function allocate(stream, offset, length) {
  12323. if (FS.isClosed(stream)) {
  12324. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12325. }
  12326. if (offset < 0 || length <= 0) {
  12327. throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  12328. }
  12329. if ((stream.flags & 2097155) === 0) {
  12330. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12331. }
  12332. if (
  12333. !FS.isFile(stream.node.mode) &&
  12334. !FS.isDir(stream.node.mode)
  12335. ) {
  12336. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  12337. }
  12338. if (!stream.stream_ops.allocate) {
  12339. throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
  12340. }
  12341. stream.stream_ops.allocate(stream, offset, length);
  12342. },
  12343. mmap: function mmap(
  12344. stream,
  12345. buffer,
  12346. offset,
  12347. length,
  12348. position,
  12349. prot,
  12350. flags
  12351. ) {
  12352. if ((stream.flags & 2097155) === 1) {
  12353. throw new FS.ErrnoError(ERRNO_CODES.EACCES);
  12354. }
  12355. if (!stream.stream_ops.mmap) {
  12356. throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
  12357. }
  12358. return stream.stream_ops.mmap(
  12359. stream,
  12360. buffer,
  12361. offset,
  12362. length,
  12363. position,
  12364. prot,
  12365. flags
  12366. );
  12367. },
  12368. msync: function msync(
  12369. stream,
  12370. buffer,
  12371. offset,
  12372. length,
  12373. mmapFlags
  12374. ) {
  12375. if (!stream || !stream.stream_ops.msync) {
  12376. return 0;
  12377. }
  12378. return stream.stream_ops.msync(
  12379. stream,
  12380. buffer,
  12381. offset,
  12382. length,
  12383. mmapFlags
  12384. );
  12385. },
  12386. munmap: function munmap(stream) {
  12387. return 0;
  12388. },
  12389. ioctl: function ioctl(stream, cmd, arg) {
  12390. if (!stream.stream_ops.ioctl) {
  12391. throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
  12392. }
  12393. return stream.stream_ops.ioctl(stream, cmd, arg);
  12394. },
  12395. readFile: function readFile(path, opts) {
  12396. opts = opts || {};
  12397. opts.flags = opts.flags || "r";
  12398. opts.encoding = opts.encoding || "binary";
  12399. if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  12400. throw new Error(
  12401. 'Invalid encoding type "' + opts.encoding + '"'
  12402. );
  12403. }
  12404. var ret;
  12405. var stream = FS.open(path, opts.flags);
  12406. var stat = FS.stat(path);
  12407. var length = stat.size;
  12408. var buf = new Uint8Array(length);
  12409. FS.read(stream, buf, 0, length, 0);
  12410. if (opts.encoding === "utf8") {
  12411. ret = UTF8ArrayToString(buf, 0);
  12412. } else if (opts.encoding === "binary") {
  12413. ret = buf;
  12414. }
  12415. FS.close(stream);
  12416. return ret;
  12417. },
  12418. writeFile: function writeFile(path, data, opts) {
  12419. opts = opts || {};
  12420. opts.flags = opts.flags || "w";
  12421. var stream = FS.open(path, opts.flags, opts.mode);
  12422. if (typeof data === "string") {
  12423. var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  12424. var actualNumBytes = stringToUTF8Array(
  12425. data,
  12426. buf,
  12427. 0,
  12428. buf.length
  12429. );
  12430. FS.write(
  12431. stream,
  12432. buf,
  12433. 0,
  12434. actualNumBytes,
  12435. undefined,
  12436. opts.canOwn
  12437. );
  12438. } else if (ArrayBuffer.isView(data)) {
  12439. FS.write(
  12440. stream,
  12441. data,
  12442. 0,
  12443. data.byteLength,
  12444. undefined,
  12445. opts.canOwn
  12446. );
  12447. } else {
  12448. throw new Error("Unsupported data type");
  12449. }
  12450. FS.close(stream);
  12451. },
  12452. cwd: function cwd() {
  12453. return FS.currentPath;
  12454. },
  12455. chdir: function chdir(path) {
  12456. var lookup = FS.lookupPath(path, { follow: true });
  12457. if (lookup.node === null) {
  12458. throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
  12459. }
  12460. if (!FS.isDir(lookup.node.mode)) {
  12461. throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
  12462. }
  12463. var err = FS.nodePermissions(lookup.node, "x");
  12464. if (err) {
  12465. throw new FS.ErrnoError(err);
  12466. }
  12467. FS.currentPath = lookup.path;
  12468. },
  12469. createDefaultDirectories: function createDefaultDirectories() {
  12470. FS.mkdir("/tmp");
  12471. FS.mkdir("/home");
  12472. FS.mkdir("/home/web_user");
  12473. },
  12474. createDefaultDevices: function createDefaultDevices() {
  12475. FS.mkdir("/dev");
  12476. FS.registerDevice(FS.makedev(1, 3), {
  12477. read: function read() {
  12478. return 0;
  12479. },
  12480. write: function write(stream, buffer, offset, length, pos) {
  12481. return length;
  12482. },
  12483. });
  12484. FS.mkdev("/dev/null", FS.makedev(1, 3));
  12485. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  12486. TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  12487. FS.mkdev("/dev/tty", FS.makedev(5, 0));
  12488. FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  12489. var random_device;
  12490. if (typeof crypto !== "undefined") {
  12491. var randomBuffer = new Uint8Array(1);
  12492. random_device = function random_device() {
  12493. crypto.getRandomValues(randomBuffer);
  12494. return randomBuffer[0];
  12495. };
  12496. } else if (ENVIRONMENT_IS_NODE) {
  12497. random_device = function random_device() {
  12498. return require("crypto")["randomBytes"](1)[0];
  12499. };
  12500. } else {
  12501. random_device = function random_device() {
  12502. return (Math.random() * 256) | 0;
  12503. };
  12504. }
  12505. FS.createDevice("/dev", "random", random_device);
  12506. FS.createDevice("/dev", "urandom", random_device);
  12507. FS.mkdir("/dev/shm");
  12508. FS.mkdir("/dev/shm/tmp");
  12509. },
  12510. createSpecialDirectories: function createSpecialDirectories() {
  12511. FS.mkdir("/proc");
  12512. FS.mkdir("/proc/self");
  12513. FS.mkdir("/proc/self/fd");
  12514. FS.mount(
  12515. {
  12516. mount: function mount() {
  12517. var node = FS.createNode(
  12518. "/proc/self",
  12519. "fd",
  12520. 16384 | 511,
  12521. 73
  12522. );
  12523. node.node_ops = {
  12524. lookup: function lookup(parent, name) {
  12525. var fd = +name;
  12526. var stream = FS.getStream(fd);
  12527. if (!stream)
  12528. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  12529. var ret = {
  12530. parent: null,
  12531. mount: { mountpoint: "fake" },
  12532. node_ops: {
  12533. readlink: function readlink() {
  12534. return stream.path;
  12535. },
  12536. },
  12537. };
  12538. ret.parent = ret;
  12539. return ret;
  12540. },
  12541. };
  12542. return node;
  12543. },
  12544. },
  12545. {},
  12546. "/proc/self/fd"
  12547. );
  12548. },
  12549. createStandardStreams: function createStandardStreams() {
  12550. if (Module["stdin"]) {
  12551. FS.createDevice("/dev", "stdin", Module["stdin"]);
  12552. } else {
  12553. FS.symlink("/dev/tty", "/dev/stdin");
  12554. }
  12555. if (Module["stdout"]) {
  12556. FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  12557. } else {
  12558. FS.symlink("/dev/tty", "/dev/stdout");
  12559. }
  12560. if (Module["stderr"]) {
  12561. FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  12562. } else {
  12563. FS.symlink("/dev/tty1", "/dev/stderr");
  12564. }
  12565. var stdin = FS.open("/dev/stdin", "r");
  12566. assert(
  12567. stdin.fd === 0,
  12568. "invalid handle for stdin (" + stdin.fd + ")"
  12569. );
  12570. var stdout = FS.open("/dev/stdout", "w");
  12571. assert(
  12572. stdout.fd === 1,
  12573. "invalid handle for stdout (" + stdout.fd + ")"
  12574. );
  12575. var stderr = FS.open("/dev/stderr", "w");
  12576. assert(
  12577. stderr.fd === 2,
  12578. "invalid handle for stderr (" + stderr.fd + ")"
  12579. );
  12580. },
  12581. ensureErrnoError: function ensureErrnoError() {
  12582. if (FS.ErrnoError) return;
  12583. FS.ErrnoError = function ErrnoError(errno, node) {
  12584. this.node = node;
  12585. this.setErrno = function (errno) {
  12586. this.errno = errno;
  12587. for (var key in ERRNO_CODES) {
  12588. if (ERRNO_CODES[key] === errno) {
  12589. this.code = key;
  12590. break;
  12591. }
  12592. }
  12593. };
  12594. this.setErrno(errno);
  12595. this.message = ERRNO_MESSAGES[errno];
  12596. if (this.stack)
  12597. Object.defineProperty(this, "stack", {
  12598. value: new Error().stack,
  12599. writable: true,
  12600. });
  12601. };
  12602. FS.ErrnoError.prototype = new Error();
  12603. FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  12604. [ERRNO_CODES.ENOENT].forEach(function (code) {
  12605. FS.genericErrors[code] = new FS.ErrnoError(code);
  12606. FS.genericErrors[code].stack = "<generic error, no stack>";
  12607. });
  12608. },
  12609. staticInit: function staticInit() {
  12610. FS.ensureErrnoError();
  12611. FS.nameTable = new Array(4096);
  12612. FS.mount(MEMFS, {}, "/");
  12613. FS.createDefaultDirectories();
  12614. FS.createDefaultDevices();
  12615. FS.createSpecialDirectories();
  12616. FS.filesystems = {
  12617. MEMFS: MEMFS,
  12618. IDBFS: IDBFS,
  12619. NODEFS: NODEFS,
  12620. WORKERFS: WORKERFS,
  12621. };
  12622. },
  12623. init: function init(input, output, error) {
  12624. assert(
  12625. !FS.init.initialized,
  12626. "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)"
  12627. );
  12628. FS.init.initialized = true;
  12629. FS.ensureErrnoError();
  12630. Module["stdin"] = input || Module["stdin"];
  12631. Module["stdout"] = output || Module["stdout"];
  12632. Module["stderr"] = error || Module["stderr"];
  12633. FS.createStandardStreams();
  12634. },
  12635. quit: function quit() {
  12636. FS.init.initialized = false;
  12637. var fflush = Module["_fflush"];
  12638. if (fflush) fflush(0);
  12639. for (var i = 0; i < FS.streams.length; i++) {
  12640. var stream = FS.streams[i];
  12641. if (!stream) {
  12642. continue;
  12643. }
  12644. FS.close(stream);
  12645. }
  12646. },
  12647. getMode: function getMode(canRead, canWrite) {
  12648. var mode = 0;
  12649. if (canRead) mode |= 292 | 73;
  12650. if (canWrite) mode |= 146;
  12651. return mode;
  12652. },
  12653. joinPath: function joinPath(parts, forceRelative) {
  12654. var path = PATH.join.apply(null, parts);
  12655. if (forceRelative && path[0] == "/") path = path.substr(1);
  12656. return path;
  12657. },
  12658. absolutePath: function absolutePath(relative, base) {
  12659. return PATH.resolve(base, relative);
  12660. },
  12661. standardizePath: function standardizePath(path) {
  12662. return PATH.normalize(path);
  12663. },
  12664. findObject: function findObject(path, dontResolveLastLink) {
  12665. var ret = FS.analyzePath(path, dontResolveLastLink);
  12666. if (ret.exists) {
  12667. return ret.object;
  12668. } else {
  12669. ___setErrNo(ret.error);
  12670. return null;
  12671. }
  12672. },
  12673. analyzePath: function analyzePath(path, dontResolveLastLink) {
  12674. try {
  12675. var lookup = FS.lookupPath(path, {
  12676. follow: !dontResolveLastLink,
  12677. });
  12678. path = lookup.path;
  12679. } catch (e) {}
  12680. var ret = {
  12681. isRoot: false,
  12682. exists: false,
  12683. error: 0,
  12684. name: null,
  12685. path: null,
  12686. object: null,
  12687. parentExists: false,
  12688. parentPath: null,
  12689. parentObject: null,
  12690. };
  12691. try {
  12692. var lookup = FS.lookupPath(path, { parent: true });
  12693. ret.parentExists = true;
  12694. ret.parentPath = lookup.path;
  12695. ret.parentObject = lookup.node;
  12696. ret.name = PATH.basename(path);
  12697. lookup = FS.lookupPath(path, {
  12698. follow: !dontResolveLastLink,
  12699. });
  12700. ret.exists = true;
  12701. ret.path = lookup.path;
  12702. ret.object = lookup.node;
  12703. ret.name = lookup.node.name;
  12704. ret.isRoot = lookup.path === "/";
  12705. } catch (e) {
  12706. ret.error = e.errno;
  12707. }
  12708. return ret;
  12709. },
  12710. createFolder: function createFolder(
  12711. parent,
  12712. name,
  12713. canRead,
  12714. canWrite
  12715. ) {
  12716. var path = PATH.join2(
  12717. typeof parent === "string" ? parent : FS.getPath(parent),
  12718. name
  12719. );
  12720. var mode = FS.getMode(canRead, canWrite);
  12721. return FS.mkdir(path, mode);
  12722. },
  12723. createPath: function createPath(
  12724. parent,
  12725. path,
  12726. canRead,
  12727. canWrite
  12728. ) {
  12729. parent =
  12730. typeof parent === "string" ? parent : FS.getPath(parent);
  12731. var parts = path.split("/").reverse();
  12732. while (parts.length) {
  12733. var part = parts.pop();
  12734. if (!part) continue;
  12735. var current = PATH.join2(parent, part);
  12736. try {
  12737. FS.mkdir(current);
  12738. } catch (e) {}
  12739. parent = current;
  12740. }
  12741. return current;
  12742. },
  12743. createFile: function createFile(
  12744. parent,
  12745. name,
  12746. properties,
  12747. canRead,
  12748. canWrite
  12749. ) {
  12750. var path = PATH.join2(
  12751. typeof parent === "string" ? parent : FS.getPath(parent),
  12752. name
  12753. );
  12754. var mode = FS.getMode(canRead, canWrite);
  12755. return FS.create(path, mode);
  12756. },
  12757. createDataFile: function createDataFile(
  12758. parent,
  12759. name,
  12760. data,
  12761. canRead,
  12762. canWrite,
  12763. canOwn
  12764. ) {
  12765. var path = name
  12766. ? PATH.join2(
  12767. typeof parent === "string"
  12768. ? parent
  12769. : FS.getPath(parent),
  12770. name
  12771. )
  12772. : parent;
  12773. var mode = FS.getMode(canRead, canWrite);
  12774. var node = FS.create(path, mode);
  12775. if (data) {
  12776. if (typeof data === "string") {
  12777. var arr = new Array(data.length);
  12778. for (var i = 0, len = data.length; i < len; ++i) {
  12779. arr[i] = data.charCodeAt(i);
  12780. }
  12781. data = arr;
  12782. }
  12783. FS.chmod(node, mode | 146);
  12784. var stream = FS.open(node, "w");
  12785. FS.write(stream, data, 0, data.length, 0, canOwn);
  12786. FS.close(stream);
  12787. FS.chmod(node, mode);
  12788. }
  12789. return node;
  12790. },
  12791. createDevice: function createDevice(
  12792. parent,
  12793. name,
  12794. input,
  12795. output
  12796. ) {
  12797. var path = PATH.join2(
  12798. typeof parent === "string" ? parent : FS.getPath(parent),
  12799. name
  12800. );
  12801. var mode = FS.getMode(!!input, !!output);
  12802. if (!FS.createDevice.major) FS.createDevice.major = 64;
  12803. var dev = FS.makedev(FS.createDevice.major++, 0);
  12804. FS.registerDevice(dev, {
  12805. open: function open(stream) {
  12806. stream.seekable = false;
  12807. },
  12808. close: function close(stream) {
  12809. if (output && output.buffer && output.buffer.length) {
  12810. output(10);
  12811. }
  12812. },
  12813. read: function read(stream, buffer, offset, length, pos) {
  12814. var bytesRead = 0;
  12815. for (var i = 0; i < length; i++) {
  12816. var result;
  12817. try {
  12818. result = input();
  12819. } catch (e) {
  12820. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  12821. }
  12822. if (result === undefined && bytesRead === 0) {
  12823. throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
  12824. }
  12825. if (result === null || result === undefined) break;
  12826. bytesRead++;
  12827. buffer[offset + i] = result;
  12828. }
  12829. if (bytesRead) {
  12830. stream.node.timestamp = Date.now();
  12831. }
  12832. return bytesRead;
  12833. },
  12834. write: function write(stream, buffer, offset, length, pos) {
  12835. for (var i = 0; i < length; i++) {
  12836. try {
  12837. output(buffer[offset + i]);
  12838. } catch (e) {
  12839. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  12840. }
  12841. }
  12842. if (length) {
  12843. stream.node.timestamp = Date.now();
  12844. }
  12845. return i;
  12846. },
  12847. });
  12848. return FS.mkdev(path, mode, dev);
  12849. },
  12850. createLink: function createLink(
  12851. parent,
  12852. name,
  12853. target,
  12854. canRead,
  12855. canWrite
  12856. ) {
  12857. var path = PATH.join2(
  12858. typeof parent === "string" ? parent : FS.getPath(parent),
  12859. name
  12860. );
  12861. return FS.symlink(target, path);
  12862. },
  12863. forceLoadFile: function forceLoadFile(obj) {
  12864. if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
  12865. return true;
  12866. var success = true;
  12867. if (typeof XMLHttpRequest !== "undefined") {
  12868. throw new Error(
  12869. "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."
  12870. );
  12871. } else if (Module["read"]) {
  12872. try {
  12873. obj.contents = intArrayFromString(
  12874. Module["read"](obj.url),
  12875. true
  12876. );
  12877. obj.usedBytes = obj.contents.length;
  12878. } catch (e) {
  12879. success = false;
  12880. }
  12881. } else {
  12882. throw new Error(
  12883. "Cannot load without read() or XMLHttpRequest."
  12884. );
  12885. }
  12886. if (!success) ___setErrNo(ERRNO_CODES.EIO);
  12887. return success;
  12888. },
  12889. createLazyFile: function createLazyFile(
  12890. parent,
  12891. name,
  12892. url,
  12893. canRead,
  12894. canWrite
  12895. ) {
  12896. function LazyUint8Array() {
  12897. this.lengthKnown = false;
  12898. this.chunks = [];
  12899. }
  12900. LazyUint8Array.prototype.get = function LazyUint8Array_get(
  12901. idx
  12902. ) {
  12903. if (idx > this.length - 1 || idx < 0) {
  12904. return undefined;
  12905. }
  12906. var chunkOffset = idx % this.chunkSize;
  12907. var chunkNum = (idx / this.chunkSize) | 0;
  12908. return this.getter(chunkNum)[chunkOffset];
  12909. };
  12910. LazyUint8Array.prototype.setDataGetter =
  12911. function LazyUint8Array_setDataGetter(getter) {
  12912. this.getter = getter;
  12913. };
  12914. LazyUint8Array.prototype.cacheLength =
  12915. function LazyUint8Array_cacheLength() {
  12916. var xhr = new XMLHttpRequest();
  12917. xhr.open("HEAD", url, false);
  12918. xhr.send(null);
  12919. if (
  12920. !(
  12921. (xhr.status >= 200 && xhr.status < 300) ||
  12922. xhr.status === 304
  12923. )
  12924. )
  12925. throw new Error(
  12926. "Couldn't load " + url + ". Status: " + xhr.status
  12927. );
  12928. var datalength = Number(
  12929. xhr.getResponseHeader("Content-length")
  12930. );
  12931. var header;
  12932. var hasByteServing =
  12933. (header = xhr.getResponseHeader("Accept-Ranges")) &&
  12934. header === "bytes";
  12935. var usesGzip =
  12936. (header = xhr.getResponseHeader("Content-Encoding")) &&
  12937. header === "gzip";
  12938. var chunkSize = 1024 * 1024;
  12939. if (!hasByteServing) chunkSize = datalength;
  12940. var doXHR = function doXHR(from, to) {
  12941. if (from > to)
  12942. throw new Error(
  12943. "invalid range (" +
  12944. from +
  12945. ", " +
  12946. to +
  12947. ") or no bytes requested!"
  12948. );
  12949. if (to > datalength - 1)
  12950. throw new Error(
  12951. "only " +
  12952. datalength +
  12953. " bytes available! programmer error!"
  12954. );
  12955. var xhr = new XMLHttpRequest();
  12956. xhr.open("GET", url, false);
  12957. if (datalength !== chunkSize)
  12958. xhr.setRequestHeader(
  12959. "Range",
  12960. "bytes=" + from + "-" + to
  12961. );
  12962. if (typeof Uint8Array != "undefined")
  12963. xhr.responseType = "arraybuffer";
  12964. if (xhr.overrideMimeType) {
  12965. xhr.overrideMimeType(
  12966. "text/plain; charset=x-user-defined"
  12967. );
  12968. }
  12969. xhr.send(null);
  12970. if (
  12971. !(
  12972. (xhr.status >= 200 && xhr.status < 300) ||
  12973. xhr.status === 304
  12974. )
  12975. )
  12976. throw new Error(
  12977. "Couldn't load " + url + ". Status: " + xhr.status
  12978. );
  12979. if (xhr.response !== undefined) {
  12980. return new Uint8Array(xhr.response || []);
  12981. } else {
  12982. return intArrayFromString(
  12983. xhr.responseText || "",
  12984. true
  12985. );
  12986. }
  12987. };
  12988. var lazyArray = this;
  12989. lazyArray.setDataGetter(function (chunkNum) {
  12990. var start = chunkNum * chunkSize;
  12991. var end = (chunkNum + 1) * chunkSize - 1;
  12992. end = Math.min(end, datalength - 1);
  12993. if (typeof lazyArray.chunks[chunkNum] === "undefined") {
  12994. lazyArray.chunks[chunkNum] = doXHR(start, end);
  12995. }
  12996. if (typeof lazyArray.chunks[chunkNum] === "undefined")
  12997. throw new Error("doXHR failed!");
  12998. return lazyArray.chunks[chunkNum];
  12999. });
  13000. if (usesGzip || !datalength) {
  13001. chunkSize = datalength = 1;
  13002. datalength = this.getter(0).length;
  13003. chunkSize = datalength;
  13004. console.log(
  13005. "LazyFiles on gzip forces download of the whole file when length is accessed"
  13006. );
  13007. }
  13008. this._length = datalength;
  13009. this._chunkSize = chunkSize;
  13010. this.lengthKnown = true;
  13011. };
  13012. if (typeof XMLHttpRequest !== "undefined") {
  13013. if (!ENVIRONMENT_IS_WORKER)
  13014. throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
  13015. var lazyArray = new LazyUint8Array();
  13016. Object.defineProperties(lazyArray, {
  13017. length: {
  13018. get: function get() {
  13019. if (!this.lengthKnown) {
  13020. this.cacheLength();
  13021. }
  13022. return this._length;
  13023. },
  13024. },
  13025. chunkSize: {
  13026. get: function get() {
  13027. if (!this.lengthKnown) {
  13028. this.cacheLength();
  13029. }
  13030. return this._chunkSize;
  13031. },
  13032. },
  13033. });
  13034. var properties = { isDevice: false, contents: lazyArray };
  13035. } else {
  13036. var properties = { isDevice: false, url: url };
  13037. }
  13038. var node = FS.createFile(
  13039. parent,
  13040. name,
  13041. properties,
  13042. canRead,
  13043. canWrite
  13044. );
  13045. if (properties.contents) {
  13046. node.contents = properties.contents;
  13047. } else if (properties.url) {
  13048. node.contents = null;
  13049. node.url = properties.url;
  13050. }
  13051. Object.defineProperties(node, {
  13052. usedBytes: {
  13053. get: function get() {
  13054. return this.contents.length;
  13055. },
  13056. },
  13057. });
  13058. var stream_ops = {};
  13059. var keys = Object.keys(node.stream_ops);
  13060. keys.forEach(function (key) {
  13061. var fn = node.stream_ops[key];
  13062. stream_ops[key] = function forceLoadLazyFile() {
  13063. if (!FS.forceLoadFile(node)) {
  13064. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  13065. }
  13066. return fn.apply(null, arguments);
  13067. };
  13068. });
  13069. stream_ops.read = function stream_ops_read(
  13070. stream,
  13071. buffer,
  13072. offset,
  13073. length,
  13074. position
  13075. ) {
  13076. if (!FS.forceLoadFile(node)) {
  13077. throw new FS.ErrnoError(ERRNO_CODES.EIO);
  13078. }
  13079. var contents = stream.node.contents;
  13080. if (position >= contents.length) return 0;
  13081. var size = Math.min(contents.length - position, length);
  13082. assert(size >= 0);
  13083. if (contents.slice) {
  13084. for (var i = 0; i < size; i++) {
  13085. buffer[offset + i] = contents[position + i];
  13086. }
  13087. } else {
  13088. for (var i = 0; i < size; i++) {
  13089. buffer[offset + i] = contents.get(position + i);
  13090. }
  13091. }
  13092. return size;
  13093. };
  13094. node.stream_ops = stream_ops;
  13095. return node;
  13096. },
  13097. createPreloadedFile: function createPreloadedFile(
  13098. parent,
  13099. name,
  13100. url,
  13101. canRead,
  13102. canWrite,
  13103. onload,
  13104. onerror,
  13105. dontCreateFile,
  13106. canOwn,
  13107. preFinish
  13108. ) {
  13109. Browser.init();
  13110. var fullname = name
  13111. ? PATH.resolve(PATH.join2(parent, name))
  13112. : parent;
  13113. var dep = getUniqueRunDependency("cp " + fullname);
  13114. function processData(byteArray) {
  13115. function finish(byteArray) {
  13116. if (preFinish) preFinish();
  13117. if (!dontCreateFile) {
  13118. FS.createDataFile(
  13119. parent,
  13120. name,
  13121. byteArray,
  13122. canRead,
  13123. canWrite,
  13124. canOwn
  13125. );
  13126. }
  13127. if (onload) onload();
  13128. removeRunDependency(dep);
  13129. }
  13130. var handled = false;
  13131. Module["preloadPlugins"].forEach(function (plugin) {
  13132. if (handled) return;
  13133. if (plugin["canHandle"](fullname)) {
  13134. plugin["handle"](
  13135. byteArray,
  13136. fullname,
  13137. finish,
  13138. function () {
  13139. if (onerror) onerror();
  13140. removeRunDependency(dep);
  13141. }
  13142. );
  13143. handled = true;
  13144. }
  13145. });
  13146. if (!handled) finish(byteArray);
  13147. }
  13148. addRunDependency(dep);
  13149. if (typeof url == "string") {
  13150. Browser.asyncLoad(
  13151. url,
  13152. function (byteArray) {
  13153. processData(byteArray);
  13154. },
  13155. onerror
  13156. );
  13157. } else {
  13158. processData(url);
  13159. }
  13160. },
  13161. indexedDB: function indexedDB() {
  13162. return (
  13163. window.indexedDB ||
  13164. window.mozIndexedDB ||
  13165. window.webkitIndexedDB ||
  13166. window.msIndexedDB
  13167. );
  13168. },
  13169. DB_NAME: function DB_NAME() {
  13170. return "EM_FS_" + window.location.pathname;
  13171. },
  13172. DB_VERSION: 20,
  13173. DB_STORE_NAME: "FILE_DATA",
  13174. saveFilesToDB: function saveFilesToDB(paths, onload, onerror) {
  13175. onload = onload || function () {};
  13176. onerror = onerror || function () {};
  13177. var indexedDB = FS.indexedDB();
  13178. try {
  13179. var openRequest = indexedDB.open(
  13180. FS.DB_NAME(),
  13181. FS.DB_VERSION
  13182. );
  13183. } catch (e) {
  13184. return onerror(e);
  13185. }
  13186. openRequest.onupgradeneeded =
  13187. function openRequest_onupgradeneeded() {
  13188. console.log("creating db");
  13189. var db = openRequest.result;
  13190. db.createObjectStore(FS.DB_STORE_NAME);
  13191. };
  13192. openRequest.onsuccess = function openRequest_onsuccess() {
  13193. var db = openRequest.result;
  13194. var transaction = db.transaction(
  13195. [FS.DB_STORE_NAME],
  13196. "readwrite"
  13197. );
  13198. var files = transaction.objectStore(FS.DB_STORE_NAME);
  13199. var ok = 0,
  13200. fail = 0,
  13201. total = paths.length;
  13202. function finish() {
  13203. if (fail == 0) onload();
  13204. else onerror();
  13205. }
  13206. paths.forEach(function (path) {
  13207. var putRequest = files.put(
  13208. FS.analyzePath(path).object.contents,
  13209. path
  13210. );
  13211. putRequest.onsuccess = function putRequest_onsuccess() {
  13212. ok++;
  13213. if (ok + fail == total) finish();
  13214. };
  13215. putRequest.onerror = function putRequest_onerror() {
  13216. fail++;
  13217. if (ok + fail == total) finish();
  13218. };
  13219. });
  13220. transaction.onerror = onerror;
  13221. };
  13222. openRequest.onerror = onerror;
  13223. },
  13224. loadFilesFromDB: function loadFilesFromDB(
  13225. paths,
  13226. onload,
  13227. onerror
  13228. ) {
  13229. onload = onload || function () {};
  13230. onerror = onerror || function () {};
  13231. var indexedDB = FS.indexedDB();
  13232. try {
  13233. var openRequest = indexedDB.open(
  13234. FS.DB_NAME(),
  13235. FS.DB_VERSION
  13236. );
  13237. } catch (e) {
  13238. return onerror(e);
  13239. }
  13240. openRequest.onupgradeneeded = onerror;
  13241. openRequest.onsuccess = function openRequest_onsuccess() {
  13242. var db = openRequest.result;
  13243. try {
  13244. var transaction = db.transaction(
  13245. [FS.DB_STORE_NAME],
  13246. "readonly"
  13247. );
  13248. } catch (e) {
  13249. onerror(e);
  13250. return;
  13251. }
  13252. var files = transaction.objectStore(FS.DB_STORE_NAME);
  13253. var ok = 0,
  13254. fail = 0,
  13255. total = paths.length;
  13256. function finish() {
  13257. if (fail == 0) onload();
  13258. else onerror();
  13259. }
  13260. paths.forEach(function (path) {
  13261. var getRequest = files.get(path);
  13262. getRequest.onsuccess = function getRequest_onsuccess() {
  13263. if (FS.analyzePath(path).exists) {
  13264. FS.unlink(path);
  13265. }
  13266. FS.createDataFile(
  13267. PATH.dirname(path),
  13268. PATH.basename(path),
  13269. getRequest.result,
  13270. true,
  13271. true,
  13272. true
  13273. );
  13274. ok++;
  13275. if (ok + fail == total) finish();
  13276. };
  13277. getRequest.onerror = function getRequest_onerror() {
  13278. fail++;
  13279. if (ok + fail == total) finish();
  13280. };
  13281. });
  13282. transaction.onerror = onerror;
  13283. };
  13284. openRequest.onerror = onerror;
  13285. },
  13286. };
  13287. var SYSCALLS = {
  13288. DEFAULT_POLLMASK: 5,
  13289. mappings: {},
  13290. umask: 511,
  13291. calculateAt: function calculateAt(dirfd, path) {
  13292. if (path[0] !== "/") {
  13293. var dir;
  13294. if (dirfd === -100) {
  13295. dir = FS.cwd();
  13296. } else {
  13297. var dirstream = FS.getStream(dirfd);
  13298. if (!dirstream)
  13299. throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  13300. dir = dirstream.path;
  13301. }
  13302. path = PATH.join2(dir, path);
  13303. }
  13304. return path;
  13305. },
  13306. doStat: function doStat(func, path, buf) {
  13307. try {
  13308. var stat = func(path);
  13309. } catch (e) {
  13310. if (
  13311. e &&
  13312. e.node &&
  13313. PATH.normalize(path) !==
  13314. PATH.normalize(FS.getPath(e.node))
  13315. ) {
  13316. return -ERRNO_CODES.ENOTDIR;
  13317. }
  13318. throw e;
  13319. }
  13320. HEAP32[buf >> 2] = stat.dev;
  13321. HEAP32[(buf + 4) >> 2] = 0;
  13322. HEAP32[(buf + 8) >> 2] = stat.ino;
  13323. HEAP32[(buf + 12) >> 2] = stat.mode;
  13324. HEAP32[(buf + 16) >> 2] = stat.nlink;
  13325. HEAP32[(buf + 20) >> 2] = stat.uid;
  13326. HEAP32[(buf + 24) >> 2] = stat.gid;
  13327. HEAP32[(buf + 28) >> 2] = stat.rdev;
  13328. HEAP32[(buf + 32) >> 2] = 0;
  13329. HEAP32[(buf + 36) >> 2] = stat.size;
  13330. HEAP32[(buf + 40) >> 2] = 4096;
  13331. HEAP32[(buf + 44) >> 2] = stat.blocks;
  13332. HEAP32[(buf + 48) >> 2] = (stat.atime.getTime() / 1e3) | 0;
  13333. HEAP32[(buf + 52) >> 2] = 0;
  13334. HEAP32[(buf + 56) >> 2] = (stat.mtime.getTime() / 1e3) | 0;
  13335. HEAP32[(buf + 60) >> 2] = 0;
  13336. HEAP32[(buf + 64) >> 2] = (stat.ctime.getTime() / 1e3) | 0;
  13337. HEAP32[(buf + 68) >> 2] = 0;
  13338. HEAP32[(buf + 72) >> 2] = stat.ino;
  13339. return 0;
  13340. },
  13341. doMsync: function doMsync(addr, stream, len, flags) {
  13342. var buffer = new Uint8Array(
  13343. HEAPU8.subarray(addr, addr + len)
  13344. );
  13345. FS.msync(stream, buffer, 0, len, flags);
  13346. },
  13347. doMkdir: function doMkdir(path, mode) {
  13348. path = PATH.normalize(path);
  13349. if (path[path.length - 1] === "/")
  13350. path = path.substr(0, path.length - 1);
  13351. FS.mkdir(path, mode, 0);
  13352. return 0;
  13353. },
  13354. doMknod: function doMknod(path, mode, dev) {
  13355. switch (mode & 61440) {
  13356. case 32768:
  13357. case 8192:
  13358. case 24576:
  13359. case 4096:
  13360. case 49152:
  13361. break;
  13362. default:
  13363. return -ERRNO_CODES.EINVAL;
  13364. }
  13365. FS.mknod(path, mode, dev);
  13366. return 0;
  13367. },
  13368. doReadlink: function doReadlink(path, buf, bufsize) {
  13369. if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
  13370. var ret = FS.readlink(path);
  13371. var len = Math.min(bufsize, lengthBytesUTF8(ret));
  13372. var endChar = HEAP8[buf + len];
  13373. stringToUTF8(ret, buf, bufsize + 1);
  13374. HEAP8[buf + len] = endChar;
  13375. return len;
  13376. },
  13377. doAccess: function doAccess(path, amode) {
  13378. if (amode & ~7) {
  13379. return -ERRNO_CODES.EINVAL;
  13380. }
  13381. var node;
  13382. var lookup = FS.lookupPath(path, { follow: true });
  13383. node = lookup.node;
  13384. var perms = "";
  13385. if (amode & 4) perms += "r";
  13386. if (amode & 2) perms += "w";
  13387. if (amode & 1) perms += "x";
  13388. if (perms && FS.nodePermissions(node, perms)) {
  13389. return -ERRNO_CODES.EACCES;
  13390. }
  13391. return 0;
  13392. },
  13393. doDup: function doDup(path, flags, suggestFD) {
  13394. var suggest = FS.getStream(suggestFD);
  13395. if (suggest) FS.close(suggest);
  13396. return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  13397. },
  13398. doReadv: function doReadv(stream, iov, iovcnt, offset) {
  13399. var ret = 0;
  13400. for (var i = 0; i < iovcnt; i++) {
  13401. var ptr = HEAP32[(iov + i * 8) >> 2];
  13402. var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
  13403. var curr = FS.read(stream, HEAP8, ptr, len, offset);
  13404. if (curr < 0) return -1;
  13405. ret += curr;
  13406. if (curr < len) break;
  13407. }
  13408. return ret;
  13409. },
  13410. doWritev: function doWritev(stream, iov, iovcnt, offset) {
  13411. var ret = 0;
  13412. for (var i = 0; i < iovcnt; i++) {
  13413. var ptr = HEAP32[(iov + i * 8) >> 2];
  13414. var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
  13415. var curr = FS.write(stream, HEAP8, ptr, len, offset);
  13416. if (curr < 0) return -1;
  13417. ret += curr;
  13418. }
  13419. return ret;
  13420. },
  13421. varargs: 0,
  13422. get: function get(varargs) {
  13423. SYSCALLS.varargs += 4;
  13424. var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2];
  13425. return ret;
  13426. },
  13427. getStr: function getStr() {
  13428. var ret = Pointer_stringify(SYSCALLS.get());
  13429. return ret;
  13430. },
  13431. getStreamFromFD: function getStreamFromFD() {
  13432. var stream = FS.getStream(SYSCALLS.get());
  13433. if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  13434. return stream;
  13435. },
  13436. getSocketFromFD: function getSocketFromFD() {
  13437. var socket = SOCKFS.getSocket(SYSCALLS.get());
  13438. if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
  13439. return socket;
  13440. },
  13441. getSocketAddress: function getSocketAddress(allowNull) {
  13442. var addrp = SYSCALLS.get(),
  13443. addrlen = SYSCALLS.get();
  13444. if (allowNull && addrp === 0) return null;
  13445. var info = __read_sockaddr(addrp, addrlen);
  13446. if (info.errno) throw new FS.ErrnoError(info.errno);
  13447. info.addr = DNS.lookup_addr(info.addr) || info.addr;
  13448. return info;
  13449. },
  13450. get64: function get64() {
  13451. var low = SYSCALLS.get(),
  13452. high = SYSCALLS.get();
  13453. if (low >= 0) assert(high === 0);
  13454. else assert(high === -1);
  13455. return low;
  13456. },
  13457. getZero: function getZero() {
  13458. assert(SYSCALLS.get() === 0);
  13459. },
  13460. };
  13461. function ___syscall140(which, varargs) {
  13462. SYSCALLS.varargs = varargs;
  13463. try {
  13464. var stream = SYSCALLS.getStreamFromFD(),
  13465. offset_high = SYSCALLS.get(),
  13466. offset_low = SYSCALLS.get(),
  13467. result = SYSCALLS.get(),
  13468. whence = SYSCALLS.get();
  13469. var offset = offset_low;
  13470. FS.llseek(stream, offset, whence);
  13471. HEAP32[result >> 2] = stream.position;
  13472. if (stream.getdents && offset === 0 && whence === 0)
  13473. stream.getdents = null;
  13474. return 0;
  13475. } catch (e) {
  13476. if (
  13477. typeof FS === "undefined" ||
  13478. !(e instanceof FS.ErrnoError)
  13479. )
  13480. abort(e);
  13481. return -e.errno;
  13482. }
  13483. }
  13484. function ___syscall145(which, varargs) {
  13485. SYSCALLS.varargs = varargs;
  13486. try {
  13487. var stream = SYSCALLS.getStreamFromFD(),
  13488. iov = SYSCALLS.get(),
  13489. iovcnt = SYSCALLS.get();
  13490. return SYSCALLS.doReadv(stream, iov, iovcnt);
  13491. } catch (e) {
  13492. if (
  13493. typeof FS === "undefined" ||
  13494. !(e instanceof FS.ErrnoError)
  13495. )
  13496. abort(e);
  13497. return -e.errno;
  13498. }
  13499. }
  13500. function ___syscall146(which, varargs) {
  13501. SYSCALLS.varargs = varargs;
  13502. try {
  13503. var stream = SYSCALLS.getStreamFromFD(),
  13504. iov = SYSCALLS.get(),
  13505. iovcnt = SYSCALLS.get();
  13506. return SYSCALLS.doWritev(stream, iov, iovcnt);
  13507. } catch (e) {
  13508. if (
  13509. typeof FS === "undefined" ||
  13510. !(e instanceof FS.ErrnoError)
  13511. )
  13512. abort(e);
  13513. return -e.errno;
  13514. }
  13515. }
  13516. function ___syscall221(which, varargs) {
  13517. SYSCALLS.varargs = varargs;
  13518. try {
  13519. var stream = SYSCALLS.getStreamFromFD(),
  13520. cmd = SYSCALLS.get();
  13521. switch (cmd) {
  13522. case 0: {
  13523. var arg = SYSCALLS.get();
  13524. if (arg < 0) {
  13525. return -ERRNO_CODES.EINVAL;
  13526. }
  13527. var newStream;
  13528. newStream = FS.open(stream.path, stream.flags, 0, arg);
  13529. return newStream.fd;
  13530. }
  13531. case 1:
  13532. case 2:
  13533. return 0;
  13534. case 3:
  13535. return stream.flags;
  13536. case 4: {
  13537. var arg = SYSCALLS.get();
  13538. stream.flags |= arg;
  13539. return 0;
  13540. }
  13541. case 12:
  13542. case 12: {
  13543. var arg = SYSCALLS.get();
  13544. var offset = 0;
  13545. HEAP16[(arg + offset) >> 1] = 2;
  13546. return 0;
  13547. }
  13548. case 13:
  13549. case 14:
  13550. case 13:
  13551. case 14:
  13552. return 0;
  13553. case 16:
  13554. case 8:
  13555. return -ERRNO_CODES.EINVAL;
  13556. case 9:
  13557. ___setErrNo(ERRNO_CODES.EINVAL);
  13558. return -1;
  13559. default: {
  13560. return -ERRNO_CODES.EINVAL;
  13561. }
  13562. }
  13563. } catch (e) {
  13564. if (
  13565. typeof FS === "undefined" ||
  13566. !(e instanceof FS.ErrnoError)
  13567. )
  13568. abort(e);
  13569. return -e.errno;
  13570. }
  13571. }
  13572. function ___syscall5(which, varargs) {
  13573. SYSCALLS.varargs = varargs;
  13574. try {
  13575. var pathname = SYSCALLS.getStr(),
  13576. flags = SYSCALLS.get(),
  13577. mode = SYSCALLS.get();
  13578. var stream = FS.open(pathname, flags, mode);
  13579. return stream.fd;
  13580. } catch (e) {
  13581. if (
  13582. typeof FS === "undefined" ||
  13583. !(e instanceof FS.ErrnoError)
  13584. )
  13585. abort(e);
  13586. return -e.errno;
  13587. }
  13588. }
  13589. function ___syscall54(which, varargs) {
  13590. SYSCALLS.varargs = varargs;
  13591. try {
  13592. var stream = SYSCALLS.getStreamFromFD(),
  13593. op = SYSCALLS.get();
  13594. switch (op) {
  13595. case 21509:
  13596. case 21505: {
  13597. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  13598. return 0;
  13599. }
  13600. case 21510:
  13601. case 21511:
  13602. case 21512:
  13603. case 21506:
  13604. case 21507:
  13605. case 21508: {
  13606. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  13607. return 0;
  13608. }
  13609. case 21519: {
  13610. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  13611. var argp = SYSCALLS.get();
  13612. HEAP32[argp >> 2] = 0;
  13613. return 0;
  13614. }
  13615. case 21520: {
  13616. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  13617. return -ERRNO_CODES.EINVAL;
  13618. }
  13619. case 21531: {
  13620. var argp = SYSCALLS.get();
  13621. return FS.ioctl(stream, op, argp);
  13622. }
  13623. case 21523: {
  13624. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  13625. return 0;
  13626. }
  13627. case 21524: {
  13628. if (!stream.tty) return -ERRNO_CODES.ENOTTY;
  13629. return 0;
  13630. }
  13631. default:
  13632. abort("bad ioctl syscall " + op);
  13633. }
  13634. } catch (e) {
  13635. if (
  13636. typeof FS === "undefined" ||
  13637. !(e instanceof FS.ErrnoError)
  13638. )
  13639. abort(e);
  13640. return -e.errno;
  13641. }
  13642. }
  13643. function ___syscall6(which, varargs) {
  13644. SYSCALLS.varargs = varargs;
  13645. try {
  13646. var stream = SYSCALLS.getStreamFromFD();
  13647. FS.close(stream);
  13648. return 0;
  13649. } catch (e) {
  13650. if (
  13651. typeof FS === "undefined" ||
  13652. !(e instanceof FS.ErrnoError)
  13653. )
  13654. abort(e);
  13655. return -e.errno;
  13656. }
  13657. }
  13658. function ___unlock() {}
  13659. function getShiftFromSize(size) {
  13660. switch (size) {
  13661. case 1:
  13662. return 0;
  13663. case 2:
  13664. return 1;
  13665. case 4:
  13666. return 2;
  13667. case 8:
  13668. return 3;
  13669. default:
  13670. throw new TypeError("Unknown type size: " + size);
  13671. }
  13672. }
  13673. function embind_init_charCodes() {
  13674. var codes = new Array(256);
  13675. for (var i = 0; i < 256; ++i) {
  13676. codes[i] = String.fromCharCode(i);
  13677. }
  13678. embind_charCodes = codes;
  13679. }
  13680. var embind_charCodes = undefined;
  13681. function readLatin1String(ptr) {
  13682. var ret = "";
  13683. var c = ptr;
  13684. while (HEAPU8[c]) {
  13685. ret += embind_charCodes[HEAPU8[c++]];
  13686. }
  13687. return ret;
  13688. }
  13689. var awaitingDependencies = {};
  13690. var registeredTypes = {};
  13691. var typeDependencies = {};
  13692. var char_0 = 48;
  13693. var char_9 = 57;
  13694. function makeLegalFunctionName(name) {
  13695. if (undefined === name) {
  13696. return "_unknown";
  13697. }
  13698. name = name.replace(/[^a-zA-Z0-9_]/g, "$");
  13699. var f = name.charCodeAt(0);
  13700. if (f >= char_0 && f <= char_9) {
  13701. return "_" + name;
  13702. } else {
  13703. return name;
  13704. }
  13705. }
  13706. function createNamedFunction(name, body) {
  13707. name = makeLegalFunctionName(name);
  13708. return new Function(
  13709. "body",
  13710. "return function " +
  13711. name +
  13712. "() {\n" +
  13713. ' "use strict";' +
  13714. " return body.apply(this, arguments);\n" +
  13715. "};\n"
  13716. )(body);
  13717. }
  13718. function extendError(baseErrorType, errorName) {
  13719. var errorClass = createNamedFunction(
  13720. errorName,
  13721. function (message) {
  13722. this.name = errorName;
  13723. this.message = message;
  13724. var stack = new Error(message).stack;
  13725. if (stack !== undefined) {
  13726. this.stack =
  13727. this.toString() +
  13728. "\n" +
  13729. stack.replace(/^Error(:[^\n]*)?\n/, "");
  13730. }
  13731. }
  13732. );
  13733. errorClass.prototype = Object.create(baseErrorType.prototype);
  13734. errorClass.prototype.constructor = errorClass;
  13735. errorClass.prototype.toString = function () {
  13736. if (this.message === undefined) {
  13737. return this.name;
  13738. } else {
  13739. return this.name + ": " + this.message;
  13740. }
  13741. };
  13742. return errorClass;
  13743. }
  13744. var BindingError = undefined;
  13745. function throwBindingError(message) {
  13746. throw new BindingError(message);
  13747. }
  13748. var InternalError = undefined;
  13749. function throwInternalError(message) {
  13750. throw new InternalError(message);
  13751. }
  13752. function whenDependentTypesAreResolved(
  13753. myTypes,
  13754. dependentTypes,
  13755. getTypeConverters
  13756. ) {
  13757. myTypes.forEach(function (type) {
  13758. typeDependencies[type] = dependentTypes;
  13759. });
  13760. function onComplete(typeConverters) {
  13761. var myTypeConverters = getTypeConverters(typeConverters);
  13762. if (myTypeConverters.length !== myTypes.length) {
  13763. throwInternalError("Mismatched type converter count");
  13764. }
  13765. for (var i = 0; i < myTypes.length; ++i) {
  13766. registerType(myTypes[i], myTypeConverters[i]);
  13767. }
  13768. }
  13769. var typeConverters = new Array(dependentTypes.length);
  13770. var unregisteredTypes = [];
  13771. var registered = 0;
  13772. dependentTypes.forEach(function (dt, i) {
  13773. if (registeredTypes.hasOwnProperty(dt)) {
  13774. typeConverters[i] = registeredTypes[dt];
  13775. } else {
  13776. unregisteredTypes.push(dt);
  13777. if (!awaitingDependencies.hasOwnProperty(dt)) {
  13778. awaitingDependencies[dt] = [];
  13779. }
  13780. awaitingDependencies[dt].push(function () {
  13781. typeConverters[i] = registeredTypes[dt];
  13782. ++registered;
  13783. if (registered === unregisteredTypes.length) {
  13784. onComplete(typeConverters);
  13785. }
  13786. });
  13787. }
  13788. });
  13789. if (0 === unregisteredTypes.length) {
  13790. onComplete(typeConverters);
  13791. }
  13792. }
  13793. function registerType(rawType, registeredInstance, options) {
  13794. options = options || {};
  13795. if (!("argPackAdvance" in registeredInstance)) {
  13796. throw new TypeError(
  13797. "registerType registeredInstance requires argPackAdvance"
  13798. );
  13799. }
  13800. var name = registeredInstance.name;
  13801. if (!rawType) {
  13802. throwBindingError(
  13803. 'type "' +
  13804. name +
  13805. '" must have a positive integer typeid pointer'
  13806. );
  13807. }
  13808. if (registeredTypes.hasOwnProperty(rawType)) {
  13809. if (options.ignoreDuplicateRegistrations) {
  13810. return;
  13811. } else {
  13812. throwBindingError(
  13813. "Cannot register type '" + name + "' twice"
  13814. );
  13815. }
  13816. }
  13817. registeredTypes[rawType] = registeredInstance;
  13818. delete typeDependencies[rawType];
  13819. if (awaitingDependencies.hasOwnProperty(rawType)) {
  13820. var callbacks = awaitingDependencies[rawType];
  13821. delete awaitingDependencies[rawType];
  13822. callbacks.forEach(function (cb) {
  13823. cb();
  13824. });
  13825. }
  13826. }
  13827. function __embind_register_bool(
  13828. rawType,
  13829. name,
  13830. size,
  13831. trueValue,
  13832. falseValue
  13833. ) {
  13834. var shift = getShiftFromSize(size);
  13835. name = readLatin1String(name);
  13836. registerType(rawType, {
  13837. name: name,
  13838. fromWireType: function fromWireType(wt) {
  13839. return !!wt;
  13840. },
  13841. toWireType: function toWireType(destructors, o) {
  13842. return o ? trueValue : falseValue;
  13843. },
  13844. argPackAdvance: 8,
  13845. readValueFromPointer: function readValueFromPointer(pointer) {
  13846. var heap;
  13847. if (size === 1) {
  13848. heap = HEAP8;
  13849. } else if (size === 2) {
  13850. heap = HEAP16;
  13851. } else if (size === 4) {
  13852. heap = HEAP32;
  13853. } else {
  13854. throw new TypeError("Unknown boolean type size: " + name);
  13855. }
  13856. return this["fromWireType"](heap[pointer >> shift]);
  13857. },
  13858. destructorFunction: null,
  13859. });
  13860. }
  13861. function ClassHandle_isAliasOf(other) {
  13862. if (!(this instanceof ClassHandle)) {
  13863. return false;
  13864. }
  13865. if (!(other instanceof ClassHandle)) {
  13866. return false;
  13867. }
  13868. var leftClass = this.$$.ptrType.registeredClass;
  13869. var left = this.$$.ptr;
  13870. var rightClass = other.$$.ptrType.registeredClass;
  13871. var right = other.$$.ptr;
  13872. while (leftClass.baseClass) {
  13873. left = leftClass.upcast(left);
  13874. leftClass = leftClass.baseClass;
  13875. }
  13876. while (rightClass.baseClass) {
  13877. right = rightClass.upcast(right);
  13878. rightClass = rightClass.baseClass;
  13879. }
  13880. return leftClass === rightClass && left === right;
  13881. }
  13882. function shallowCopyInternalPointer(o) {
  13883. return {
  13884. count: o.count,
  13885. deleteScheduled: o.deleteScheduled,
  13886. preservePointerOnDelete: o.preservePointerOnDelete,
  13887. ptr: o.ptr,
  13888. ptrType: o.ptrType,
  13889. smartPtr: o.smartPtr,
  13890. smartPtrType: o.smartPtrType,
  13891. };
  13892. }
  13893. function throwInstanceAlreadyDeleted(obj) {
  13894. function getInstanceTypeName(handle) {
  13895. return handle.$$.ptrType.registeredClass.name;
  13896. }
  13897. throwBindingError(
  13898. getInstanceTypeName(obj) + " instance already deleted"
  13899. );
  13900. }
  13901. function ClassHandle_clone() {
  13902. if (!this.$$.ptr) {
  13903. throwInstanceAlreadyDeleted(this);
  13904. }
  13905. if (this.$$.preservePointerOnDelete) {
  13906. this.$$.count.value += 1;
  13907. return this;
  13908. } else {
  13909. var clone = Object.create(Object.getPrototypeOf(this), {
  13910. $$: { value: shallowCopyInternalPointer(this.$$) },
  13911. });
  13912. clone.$$.count.value += 1;
  13913. clone.$$.deleteScheduled = false;
  13914. return clone;
  13915. }
  13916. }
  13917. function runDestructor(handle) {
  13918. var $$ = handle.$$;
  13919. if ($$.smartPtr) {
  13920. $$.smartPtrType.rawDestructor($$.smartPtr);
  13921. } else {
  13922. $$.ptrType.registeredClass.rawDestructor($$.ptr);
  13923. }
  13924. }
  13925. function ClassHandle_delete() {
  13926. if (!this.$$.ptr) {
  13927. throwInstanceAlreadyDeleted(this);
  13928. }
  13929. if (
  13930. this.$$.deleteScheduled &&
  13931. !this.$$.preservePointerOnDelete
  13932. ) {
  13933. throwBindingError("Object already scheduled for deletion");
  13934. }
  13935. this.$$.count.value -= 1;
  13936. var toDelete = 0 === this.$$.count.value;
  13937. if (toDelete) {
  13938. runDestructor(this);
  13939. }
  13940. if (!this.$$.preservePointerOnDelete) {
  13941. this.$$.smartPtr = undefined;
  13942. this.$$.ptr = undefined;
  13943. }
  13944. }
  13945. function ClassHandle_isDeleted() {
  13946. return !this.$$.ptr;
  13947. }
  13948. var delayFunction = undefined;
  13949. var deletionQueue = [];
  13950. function flushPendingDeletes() {
  13951. while (deletionQueue.length) {
  13952. var obj = deletionQueue.pop();
  13953. obj.$$.deleteScheduled = false;
  13954. obj["delete"]();
  13955. }
  13956. }
  13957. function ClassHandle_deleteLater() {
  13958. if (!this.$$.ptr) {
  13959. throwInstanceAlreadyDeleted(this);
  13960. }
  13961. if (
  13962. this.$$.deleteScheduled &&
  13963. !this.$$.preservePointerOnDelete
  13964. ) {
  13965. throwBindingError("Object already scheduled for deletion");
  13966. }
  13967. deletionQueue.push(this);
  13968. if (deletionQueue.length === 1 && delayFunction) {
  13969. delayFunction(flushPendingDeletes);
  13970. }
  13971. this.$$.deleteScheduled = true;
  13972. return this;
  13973. }
  13974. function init_ClassHandle() {
  13975. ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
  13976. ClassHandle.prototype["clone"] = ClassHandle_clone;
  13977. ClassHandle.prototype["delete"] = ClassHandle_delete;
  13978. ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
  13979. ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
  13980. }
  13981. function ClassHandle() {}
  13982. var registeredPointers = {};
  13983. function ensureOverloadTable(proto, methodName, humanName) {
  13984. if (undefined === proto[methodName].overloadTable) {
  13985. var prevFunc = proto[methodName];
  13986. proto[methodName] = function () {
  13987. if (
  13988. !proto[methodName].overloadTable.hasOwnProperty(
  13989. arguments.length
  13990. )
  13991. ) {
  13992. throwBindingError(
  13993. "Function '" +
  13994. humanName +
  13995. "' called with an invalid number of arguments (" +
  13996. arguments.length +
  13997. ") - expects one of (" +
  13998. proto[methodName].overloadTable +
  13999. ")!"
  14000. );
  14001. }
  14002. return proto[methodName].overloadTable[
  14003. arguments.length
  14004. ].apply(this, arguments);
  14005. };
  14006. proto[methodName].overloadTable = [];
  14007. proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
  14008. }
  14009. }
  14010. function exposePublicSymbol(name, value, numArguments) {
  14011. if (Module.hasOwnProperty(name)) {
  14012. if (
  14013. undefined === numArguments ||
  14014. (undefined !== Module[name].overloadTable &&
  14015. undefined !== Module[name].overloadTable[numArguments])
  14016. ) {
  14017. throwBindingError(
  14018. "Cannot register public name '" + name + "' twice"
  14019. );
  14020. }
  14021. ensureOverloadTable(Module, name, name);
  14022. if (Module.hasOwnProperty(numArguments)) {
  14023. throwBindingError(
  14024. "Cannot register multiple overloads of a function with the same number of arguments (" +
  14025. numArguments +
  14026. ")!"
  14027. );
  14028. }
  14029. Module[name].overloadTable[numArguments] = value;
  14030. } else {
  14031. Module[name] = value;
  14032. if (undefined !== numArguments) {
  14033. Module[name].numArguments = numArguments;
  14034. }
  14035. }
  14036. }
  14037. function RegisteredClass(
  14038. name,
  14039. constructor,
  14040. instancePrototype,
  14041. rawDestructor,
  14042. baseClass,
  14043. getActualType,
  14044. upcast,
  14045. downcast
  14046. ) {
  14047. this.name = name;
  14048. this.constructor = constructor;
  14049. this.instancePrototype = instancePrototype;
  14050. this.rawDestructor = rawDestructor;
  14051. this.baseClass = baseClass;
  14052. this.getActualType = getActualType;
  14053. this.upcast = upcast;
  14054. this.downcast = downcast;
  14055. this.pureVirtualFunctions = [];
  14056. }
  14057. function upcastPointer(ptr, ptrClass, desiredClass) {
  14058. while (ptrClass !== desiredClass) {
  14059. if (!ptrClass.upcast) {
  14060. throwBindingError(
  14061. "Expected null or instance of " +
  14062. desiredClass.name +
  14063. ", got an instance of " +
  14064. ptrClass.name
  14065. );
  14066. }
  14067. ptr = ptrClass.upcast(ptr);
  14068. ptrClass = ptrClass.baseClass;
  14069. }
  14070. return ptr;
  14071. }
  14072. function constNoSmartPtrRawPointerToWireType(
  14073. destructors,
  14074. handle
  14075. ) {
  14076. if (handle === null) {
  14077. if (this.isReference) {
  14078. throwBindingError("null is not a valid " + this.name);
  14079. }
  14080. return 0;
  14081. }
  14082. if (!handle.$$) {
  14083. throwBindingError(
  14084. 'Cannot pass "' +
  14085. _embind_repr(handle) +
  14086. '" as a ' +
  14087. this.name
  14088. );
  14089. }
  14090. if (!handle.$$.ptr) {
  14091. throwBindingError(
  14092. "Cannot pass deleted object as a pointer of type " +
  14093. this.name
  14094. );
  14095. }
  14096. var handleClass = handle.$$.ptrType.registeredClass;
  14097. var ptr = upcastPointer(
  14098. handle.$$.ptr,
  14099. handleClass,
  14100. this.registeredClass
  14101. );
  14102. return ptr;
  14103. }
  14104. function genericPointerToWireType(destructors, handle) {
  14105. var ptr;
  14106. if (handle === null) {
  14107. if (this.isReference) {
  14108. throwBindingError("null is not a valid " + this.name);
  14109. }
  14110. if (this.isSmartPointer) {
  14111. ptr = this.rawConstructor();
  14112. if (destructors !== null) {
  14113. destructors.push(this.rawDestructor, ptr);
  14114. }
  14115. return ptr;
  14116. } else {
  14117. return 0;
  14118. }
  14119. }
  14120. if (!handle.$$) {
  14121. throwBindingError(
  14122. 'Cannot pass "' +
  14123. _embind_repr(handle) +
  14124. '" as a ' +
  14125. this.name
  14126. );
  14127. }
  14128. if (!handle.$$.ptr) {
  14129. throwBindingError(
  14130. "Cannot pass deleted object as a pointer of type " +
  14131. this.name
  14132. );
  14133. }
  14134. if (!this.isConst && handle.$$.ptrType.isConst) {
  14135. throwBindingError(
  14136. "Cannot convert argument of type " +
  14137. (handle.$$.smartPtrType
  14138. ? handle.$$.smartPtrType.name
  14139. : handle.$$.ptrType.name) +
  14140. " to parameter type " +
  14141. this.name
  14142. );
  14143. }
  14144. var handleClass = handle.$$.ptrType.registeredClass;
  14145. ptr = upcastPointer(
  14146. handle.$$.ptr,
  14147. handleClass,
  14148. this.registeredClass
  14149. );
  14150. if (this.isSmartPointer) {
  14151. if (undefined === handle.$$.smartPtr) {
  14152. throwBindingError(
  14153. "Passing raw pointer to smart pointer is illegal"
  14154. );
  14155. }
  14156. switch (this.sharingPolicy) {
  14157. case 0:
  14158. if (handle.$$.smartPtrType === this) {
  14159. ptr = handle.$$.smartPtr;
  14160. } else {
  14161. throwBindingError(
  14162. "Cannot convert argument of type " +
  14163. (handle.$$.smartPtrType
  14164. ? handle.$$.smartPtrType.name
  14165. : handle.$$.ptrType.name) +
  14166. " to parameter type " +
  14167. this.name
  14168. );
  14169. }
  14170. break;
  14171. case 1:
  14172. ptr = handle.$$.smartPtr;
  14173. break;
  14174. case 2:
  14175. if (handle.$$.smartPtrType === this) {
  14176. ptr = handle.$$.smartPtr;
  14177. } else {
  14178. var clonedHandle = handle["clone"]();
  14179. ptr = this.rawShare(
  14180. ptr,
  14181. __emval_register(function () {
  14182. clonedHandle["delete"]();
  14183. })
  14184. );
  14185. if (destructors !== null) {
  14186. destructors.push(this.rawDestructor, ptr);
  14187. }
  14188. }
  14189. break;
  14190. default:
  14191. throwBindingError("Unsupporting sharing policy");
  14192. }
  14193. }
  14194. return ptr;
  14195. }
  14196. function nonConstNoSmartPtrRawPointerToWireType(
  14197. destructors,
  14198. handle
  14199. ) {
  14200. if (handle === null) {
  14201. if (this.isReference) {
  14202. throwBindingError("null is not a valid " + this.name);
  14203. }
  14204. return 0;
  14205. }
  14206. if (!handle.$$) {
  14207. throwBindingError(
  14208. 'Cannot pass "' +
  14209. _embind_repr(handle) +
  14210. '" as a ' +
  14211. this.name
  14212. );
  14213. }
  14214. if (!handle.$$.ptr) {
  14215. throwBindingError(
  14216. "Cannot pass deleted object as a pointer of type " +
  14217. this.name
  14218. );
  14219. }
  14220. if (handle.$$.ptrType.isConst) {
  14221. throwBindingError(
  14222. "Cannot convert argument of type " +
  14223. handle.$$.ptrType.name +
  14224. " to parameter type " +
  14225. this.name
  14226. );
  14227. }
  14228. var handleClass = handle.$$.ptrType.registeredClass;
  14229. var ptr = upcastPointer(
  14230. handle.$$.ptr,
  14231. handleClass,
  14232. this.registeredClass
  14233. );
  14234. return ptr;
  14235. }
  14236. function simpleReadValueFromPointer(pointer) {
  14237. return this["fromWireType"](HEAPU32[pointer >> 2]);
  14238. }
  14239. function RegisteredPointer_getPointee(ptr) {
  14240. if (this.rawGetPointee) {
  14241. ptr = this.rawGetPointee(ptr);
  14242. }
  14243. return ptr;
  14244. }
  14245. function RegisteredPointer_destructor(ptr) {
  14246. if (this.rawDestructor) {
  14247. this.rawDestructor(ptr);
  14248. }
  14249. }
  14250. function RegisteredPointer_deleteObject(handle) {
  14251. if (handle !== null) {
  14252. handle["delete"]();
  14253. }
  14254. }
  14255. function downcastPointer(ptr, ptrClass, desiredClass) {
  14256. if (ptrClass === desiredClass) {
  14257. return ptr;
  14258. }
  14259. if (undefined === desiredClass.baseClass) {
  14260. return null;
  14261. }
  14262. var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
  14263. if (rv === null) {
  14264. return null;
  14265. }
  14266. return desiredClass.downcast(rv);
  14267. }
  14268. function getInheritedInstanceCount() {
  14269. return Object.keys(registeredInstances).length;
  14270. }
  14271. function getLiveInheritedInstances() {
  14272. var rv = [];
  14273. for (var k in registeredInstances) {
  14274. if (registeredInstances.hasOwnProperty(k)) {
  14275. rv.push(registeredInstances[k]);
  14276. }
  14277. }
  14278. return rv;
  14279. }
  14280. function setDelayFunction(fn) {
  14281. delayFunction = fn;
  14282. if (deletionQueue.length && delayFunction) {
  14283. delayFunction(flushPendingDeletes);
  14284. }
  14285. }
  14286. function init_embind() {
  14287. Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
  14288. Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
  14289. Module["flushPendingDeletes"] = flushPendingDeletes;
  14290. Module["setDelayFunction"] = setDelayFunction;
  14291. }
  14292. var registeredInstances = {};
  14293. function getBasestPointer(class_, ptr) {
  14294. if (ptr === undefined) {
  14295. throwBindingError("ptr should not be undefined");
  14296. }
  14297. while (class_.baseClass) {
  14298. ptr = class_.upcast(ptr);
  14299. class_ = class_.baseClass;
  14300. }
  14301. return ptr;
  14302. }
  14303. function getInheritedInstance(class_, ptr) {
  14304. ptr = getBasestPointer(class_, ptr);
  14305. return registeredInstances[ptr];
  14306. }
  14307. function makeClassHandle(prototype, record) {
  14308. if (!record.ptrType || !record.ptr) {
  14309. throwInternalError(
  14310. "makeClassHandle requires ptr and ptrType"
  14311. );
  14312. }
  14313. var hasSmartPtrType = !!record.smartPtrType;
  14314. var hasSmartPtr = !!record.smartPtr;
  14315. if (hasSmartPtrType !== hasSmartPtr) {
  14316. throwInternalError(
  14317. "Both smartPtrType and smartPtr must be specified"
  14318. );
  14319. }
  14320. record.count = { value: 1 };
  14321. return Object.create(prototype, { $$: { value: record } });
  14322. }
  14323. function RegisteredPointer_fromWireType(ptr) {
  14324. var rawPointer = this.getPointee(ptr);
  14325. if (!rawPointer) {
  14326. this.destructor(ptr);
  14327. return null;
  14328. }
  14329. var registeredInstance = getInheritedInstance(
  14330. this.registeredClass,
  14331. rawPointer
  14332. );
  14333. if (undefined !== registeredInstance) {
  14334. if (0 === registeredInstance.$$.count.value) {
  14335. registeredInstance.$$.ptr = rawPointer;
  14336. registeredInstance.$$.smartPtr = ptr;
  14337. return registeredInstance["clone"]();
  14338. } else {
  14339. var rv = registeredInstance["clone"]();
  14340. this.destructor(ptr);
  14341. return rv;
  14342. }
  14343. }
  14344. function makeDefaultHandle() {
  14345. if (this.isSmartPointer) {
  14346. return makeClassHandle(
  14347. this.registeredClass.instancePrototype,
  14348. {
  14349. ptrType: this.pointeeType,
  14350. ptr: rawPointer,
  14351. smartPtrType: this,
  14352. smartPtr: ptr,
  14353. }
  14354. );
  14355. } else {
  14356. return makeClassHandle(
  14357. this.registeredClass.instancePrototype,
  14358. { ptrType: this, ptr: ptr }
  14359. );
  14360. }
  14361. }
  14362. var actualType = this.registeredClass.getActualType(rawPointer);
  14363. var registeredPointerRecord = registeredPointers[actualType];
  14364. if (!registeredPointerRecord) {
  14365. return makeDefaultHandle.call(this);
  14366. }
  14367. var toType;
  14368. if (this.isConst) {
  14369. toType = registeredPointerRecord.constPointerType;
  14370. } else {
  14371. toType = registeredPointerRecord.pointerType;
  14372. }
  14373. var dp = downcastPointer(
  14374. rawPointer,
  14375. this.registeredClass,
  14376. toType.registeredClass
  14377. );
  14378. if (dp === null) {
  14379. return makeDefaultHandle.call(this);
  14380. }
  14381. if (this.isSmartPointer) {
  14382. return makeClassHandle(
  14383. toType.registeredClass.instancePrototype,
  14384. {
  14385. ptrType: toType,
  14386. ptr: dp,
  14387. smartPtrType: this,
  14388. smartPtr: ptr,
  14389. }
  14390. );
  14391. } else {
  14392. return makeClassHandle(
  14393. toType.registeredClass.instancePrototype,
  14394. { ptrType: toType, ptr: dp }
  14395. );
  14396. }
  14397. }
  14398. function init_RegisteredPointer() {
  14399. RegisteredPointer.prototype.getPointee =
  14400. RegisteredPointer_getPointee;
  14401. RegisteredPointer.prototype.destructor =
  14402. RegisteredPointer_destructor;
  14403. RegisteredPointer.prototype["argPackAdvance"] = 8;
  14404. RegisteredPointer.prototype["readValueFromPointer"] =
  14405. simpleReadValueFromPointer;
  14406. RegisteredPointer.prototype["deleteObject"] =
  14407. RegisteredPointer_deleteObject;
  14408. RegisteredPointer.prototype["fromWireType"] =
  14409. RegisteredPointer_fromWireType;
  14410. }
  14411. function RegisteredPointer(
  14412. name,
  14413. registeredClass,
  14414. isReference,
  14415. isConst,
  14416. isSmartPointer,
  14417. pointeeType,
  14418. sharingPolicy,
  14419. rawGetPointee,
  14420. rawConstructor,
  14421. rawShare,
  14422. rawDestructor
  14423. ) {
  14424. this.name = name;
  14425. this.registeredClass = registeredClass;
  14426. this.isReference = isReference;
  14427. this.isConst = isConst;
  14428. this.isSmartPointer = isSmartPointer;
  14429. this.pointeeType = pointeeType;
  14430. this.sharingPolicy = sharingPolicy;
  14431. this.rawGetPointee = rawGetPointee;
  14432. this.rawConstructor = rawConstructor;
  14433. this.rawShare = rawShare;
  14434. this.rawDestructor = rawDestructor;
  14435. if (
  14436. !isSmartPointer &&
  14437. registeredClass.baseClass === undefined
  14438. ) {
  14439. if (isConst) {
  14440. this["toWireType"] = constNoSmartPtrRawPointerToWireType;
  14441. this.destructorFunction = null;
  14442. } else {
  14443. this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
  14444. this.destructorFunction = null;
  14445. }
  14446. } else {
  14447. this["toWireType"] = genericPointerToWireType;
  14448. }
  14449. }
  14450. function replacePublicSymbol(name, value, numArguments) {
  14451. if (!Module.hasOwnProperty(name)) {
  14452. throwInternalError("Replacing nonexistant public symbol");
  14453. }
  14454. if (
  14455. undefined !== Module[name].overloadTable &&
  14456. undefined !== numArguments
  14457. ) {
  14458. Module[name].overloadTable[numArguments] = value;
  14459. } else {
  14460. Module[name] = value;
  14461. Module[name].argCount = numArguments;
  14462. }
  14463. }
  14464. function embind__requireFunction(signature, rawFunction) {
  14465. signature = readLatin1String(signature);
  14466. function makeDynCaller(dynCall) {
  14467. var args = [];
  14468. for (var i = 1; i < signature.length; ++i) {
  14469. args.push("a" + i);
  14470. }
  14471. var name = "dynCall_" + signature + "_" + rawFunction;
  14472. var body =
  14473. "return function " + name + "(" + args.join(", ") + ") {\n";
  14474. body +=
  14475. " return dynCall(rawFunction" +
  14476. (args.length ? ", " : "") +
  14477. args.join(", ") +
  14478. ");\n";
  14479. body += "};\n";
  14480. return new Function("dynCall", "rawFunction", body)(
  14481. dynCall,
  14482. rawFunction
  14483. );
  14484. }
  14485. var fp;
  14486. if (Module["FUNCTION_TABLE_" + signature] !== undefined) {
  14487. fp = Module["FUNCTION_TABLE_" + signature][rawFunction];
  14488. } else if (typeof FUNCTION_TABLE !== "undefined") {
  14489. fp = FUNCTION_TABLE[rawFunction];
  14490. } else {
  14491. var dc = Module["asm"]["dynCall_" + signature];
  14492. if (dc === undefined) {
  14493. dc =
  14494. Module["asm"]["dynCall_" + signature.replace(/f/g, "d")];
  14495. if (dc === undefined) {
  14496. throwBindingError(
  14497. "No dynCall invoker for signature: " + signature
  14498. );
  14499. }
  14500. }
  14501. fp = makeDynCaller(dc);
  14502. }
  14503. if (typeof fp !== "function") {
  14504. throwBindingError(
  14505. "unknown function pointer with signature " +
  14506. signature +
  14507. ": " +
  14508. rawFunction
  14509. );
  14510. }
  14511. return fp;
  14512. }
  14513. var UnboundTypeError = undefined;
  14514. function getTypeName(type) {
  14515. var ptr = ___getTypeName(type);
  14516. var rv = readLatin1String(ptr);
  14517. _free(ptr);
  14518. return rv;
  14519. }
  14520. function throwUnboundTypeError(message, types) {
  14521. var unboundTypes = [];
  14522. var seen = {};
  14523. function visit(type) {
  14524. if (seen[type]) {
  14525. return;
  14526. }
  14527. if (registeredTypes[type]) {
  14528. return;
  14529. }
  14530. if (typeDependencies[type]) {
  14531. typeDependencies[type].forEach(visit);
  14532. return;
  14533. }
  14534. unboundTypes.push(type);
  14535. seen[type] = true;
  14536. }
  14537. types.forEach(visit);
  14538. throw new UnboundTypeError(
  14539. message + ": " + unboundTypes.map(getTypeName).join([", "])
  14540. );
  14541. }
  14542. function __embind_register_class(
  14543. rawType,
  14544. rawPointerType,
  14545. rawConstPointerType,
  14546. baseClassRawType,
  14547. getActualTypeSignature,
  14548. getActualType,
  14549. upcastSignature,
  14550. upcast,
  14551. downcastSignature,
  14552. downcast,
  14553. name,
  14554. destructorSignature,
  14555. rawDestructor
  14556. ) {
  14557. name = readLatin1String(name);
  14558. getActualType = embind__requireFunction(
  14559. getActualTypeSignature,
  14560. getActualType
  14561. );
  14562. if (upcast) {
  14563. upcast = embind__requireFunction(upcastSignature, upcast);
  14564. }
  14565. if (downcast) {
  14566. downcast = embind__requireFunction(
  14567. downcastSignature,
  14568. downcast
  14569. );
  14570. }
  14571. rawDestructor = embind__requireFunction(
  14572. destructorSignature,
  14573. rawDestructor
  14574. );
  14575. var legalFunctionName = makeLegalFunctionName(name);
  14576. exposePublicSymbol(legalFunctionName, function () {
  14577. throwUnboundTypeError(
  14578. "Cannot construct " + name + " due to unbound types",
  14579. [baseClassRawType]
  14580. );
  14581. });
  14582. whenDependentTypesAreResolved(
  14583. [rawType, rawPointerType, rawConstPointerType],
  14584. baseClassRawType ? [baseClassRawType] : [],
  14585. function (base) {
  14586. base = base[0];
  14587. var baseClass;
  14588. var basePrototype;
  14589. if (baseClassRawType) {
  14590. baseClass = base.registeredClass;
  14591. basePrototype = baseClass.instancePrototype;
  14592. } else {
  14593. basePrototype = ClassHandle.prototype;
  14594. }
  14595. var constructor = createNamedFunction(
  14596. legalFunctionName,
  14597. function () {
  14598. if (Object.getPrototypeOf(this) !== instancePrototype) {
  14599. throw new BindingError(
  14600. "Use 'new' to construct " + name
  14601. );
  14602. }
  14603. if (undefined === registeredClass.constructor_body) {
  14604. throw new BindingError(
  14605. name + " has no accessible constructor"
  14606. );
  14607. }
  14608. var body =
  14609. registeredClass.constructor_body[arguments.length];
  14610. if (undefined === body) {
  14611. throw new BindingError(
  14612. "Tried to invoke ctor of " +
  14613. name +
  14614. " with invalid number of parameters (" +
  14615. arguments.length +
  14616. ") - expected (" +
  14617. Object.keys(
  14618. registeredClass.constructor_body
  14619. ).toString() +
  14620. ") parameters instead!"
  14621. );
  14622. }
  14623. return body.apply(this, arguments);
  14624. }
  14625. );
  14626. var instancePrototype = Object.create(basePrototype, {
  14627. constructor: { value: constructor },
  14628. });
  14629. constructor.prototype = instancePrototype;
  14630. var registeredClass = new RegisteredClass(
  14631. name,
  14632. constructor,
  14633. instancePrototype,
  14634. rawDestructor,
  14635. baseClass,
  14636. getActualType,
  14637. upcast,
  14638. downcast
  14639. );
  14640. var referenceConverter = new RegisteredPointer(
  14641. name,
  14642. registeredClass,
  14643. true,
  14644. false,
  14645. false
  14646. );
  14647. var pointerConverter = new RegisteredPointer(
  14648. name + "*",
  14649. registeredClass,
  14650. false,
  14651. false,
  14652. false
  14653. );
  14654. var constPointerConverter = new RegisteredPointer(
  14655. name + " const*",
  14656. registeredClass,
  14657. false,
  14658. true,
  14659. false
  14660. );
  14661. registeredPointers[rawType] = {
  14662. pointerType: pointerConverter,
  14663. constPointerType: constPointerConverter,
  14664. };
  14665. replacePublicSymbol(legalFunctionName, constructor);
  14666. return [
  14667. referenceConverter,
  14668. pointerConverter,
  14669. constPointerConverter,
  14670. ];
  14671. }
  14672. );
  14673. }
  14674. function heap32VectorToArray(count, firstElement) {
  14675. var array = [];
  14676. for (var i = 0; i < count; i++) {
  14677. array.push(HEAP32[(firstElement >> 2) + i]);
  14678. }
  14679. return array;
  14680. }
  14681. function runDestructors(destructors) {
  14682. while (destructors.length) {
  14683. var ptr = destructors.pop();
  14684. var del = destructors.pop();
  14685. del(ptr);
  14686. }
  14687. }
  14688. function __embind_register_class_constructor(
  14689. rawClassType,
  14690. argCount,
  14691. rawArgTypesAddr,
  14692. invokerSignature,
  14693. invoker,
  14694. rawConstructor
  14695. ) {
  14696. var rawArgTypes = heap32VectorToArray(
  14697. argCount,
  14698. rawArgTypesAddr
  14699. );
  14700. invoker = embind__requireFunction(invokerSignature, invoker);
  14701. whenDependentTypesAreResolved(
  14702. [],
  14703. [rawClassType],
  14704. function (classType) {
  14705. classType = classType[0];
  14706. var humanName = "constructor " + classType.name;
  14707. if (
  14708. undefined === classType.registeredClass.constructor_body
  14709. ) {
  14710. classType.registeredClass.constructor_body = [];
  14711. }
  14712. if (
  14713. undefined !==
  14714. classType.registeredClass.constructor_body[argCount - 1]
  14715. ) {
  14716. throw new BindingError(
  14717. "Cannot register multiple constructors with identical number of parameters (" +
  14718. (argCount - 1) +
  14719. ") for class '" +
  14720. classType.name +
  14721. "'! Overload resolution is currently only performed using the parameter count, not actual type info!"
  14722. );
  14723. }
  14724. classType.registeredClass.constructor_body[argCount - 1] =
  14725. function unboundTypeHandler() {
  14726. throwUnboundTypeError(
  14727. "Cannot construct " +
  14728. classType.name +
  14729. " due to unbound types",
  14730. rawArgTypes
  14731. );
  14732. };
  14733. whenDependentTypesAreResolved(
  14734. [],
  14735. rawArgTypes,
  14736. function (argTypes) {
  14737. classType.registeredClass.constructor_body[
  14738. argCount - 1
  14739. ] = function constructor_body() {
  14740. if (arguments.length !== argCount - 1) {
  14741. throwBindingError(
  14742. humanName +
  14743. " called with " +
  14744. arguments.length +
  14745. " arguments, expected " +
  14746. (argCount - 1)
  14747. );
  14748. }
  14749. var destructors = [];
  14750. var args = new Array(argCount);
  14751. args[0] = rawConstructor;
  14752. for (var i = 1; i < argCount; ++i) {
  14753. args[i] = argTypes[i]["toWireType"](
  14754. destructors,
  14755. arguments[i - 1]
  14756. );
  14757. }
  14758. var ptr = invoker.apply(null, args);
  14759. runDestructors(destructors);
  14760. return argTypes[0]["fromWireType"](ptr);
  14761. };
  14762. return [];
  14763. }
  14764. );
  14765. return [];
  14766. }
  14767. );
  14768. }
  14769. function new_(constructor, argumentList) {
  14770. if (!(constructor instanceof Function)) {
  14771. throw new TypeError(
  14772. "new_ called with constructor type " +
  14773. (typeof constructor === "undefined"
  14774. ? "undefined"
  14775. : _typeof(constructor)) +
  14776. " which is not a function"
  14777. );
  14778. }
  14779. var dummy = createNamedFunction(
  14780. constructor.name || "unknownFunctionName",
  14781. function () {}
  14782. );
  14783. dummy.prototype = constructor.prototype;
  14784. var obj = new dummy();
  14785. var r = constructor.apply(obj, argumentList);
  14786. return r instanceof Object ? r : obj;
  14787. }
  14788. function craftInvokerFunction(
  14789. humanName,
  14790. argTypes,
  14791. classType,
  14792. cppInvokerFunc,
  14793. cppTargetFunc
  14794. ) {
  14795. var argCount = argTypes.length;
  14796. if (argCount < 2) {
  14797. throwBindingError(
  14798. "argTypes array size mismatch! Must at least get return value and 'this' types!"
  14799. );
  14800. }
  14801. var isClassMethodFunc =
  14802. argTypes[1] !== null && classType !== null;
  14803. var needsDestructorStack = false;
  14804. for (var i = 1; i < argTypes.length; ++i) {
  14805. if (
  14806. argTypes[i] !== null &&
  14807. argTypes[i].destructorFunction === undefined
  14808. ) {
  14809. needsDestructorStack = true;
  14810. break;
  14811. }
  14812. }
  14813. var returns = argTypes[0].name !== "void";
  14814. var argsList = "";
  14815. var argsListWired = "";
  14816. for (var i = 0; i < argCount - 2; ++i) {
  14817. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  14818. argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
  14819. }
  14820. var invokerFnBody =
  14821. "return function " +
  14822. makeLegalFunctionName(humanName) +
  14823. "(" +
  14824. argsList +
  14825. ") {\n" +
  14826. "if (arguments.length !== " +
  14827. (argCount - 2) +
  14828. ") {\n" +
  14829. "throwBindingError('function " +
  14830. humanName +
  14831. " called with ' + arguments.length + ' arguments, expected " +
  14832. (argCount - 2) +
  14833. " args!');\n" +
  14834. "}\n";
  14835. if (needsDestructorStack) {
  14836. invokerFnBody += "var destructors = [];\n";
  14837. }
  14838. var dtorStack = needsDestructorStack ? "destructors" : "null";
  14839. var args1 = [
  14840. "throwBindingError",
  14841. "invoker",
  14842. "fn",
  14843. "runDestructors",
  14844. "retType",
  14845. "classParam",
  14846. ];
  14847. var args2 = [
  14848. throwBindingError,
  14849. cppInvokerFunc,
  14850. cppTargetFunc,
  14851. runDestructors,
  14852. argTypes[0],
  14853. argTypes[1],
  14854. ];
  14855. if (isClassMethodFunc) {
  14856. invokerFnBody +=
  14857. "var thisWired = classParam.toWireType(" +
  14858. dtorStack +
  14859. ", this);\n";
  14860. }
  14861. for (var i = 0; i < argCount - 2; ++i) {
  14862. invokerFnBody +=
  14863. "var arg" +
  14864. i +
  14865. "Wired = argType" +
  14866. i +
  14867. ".toWireType(" +
  14868. dtorStack +
  14869. ", arg" +
  14870. i +
  14871. "); // " +
  14872. argTypes[i + 2].name +
  14873. "\n";
  14874. args1.push("argType" + i);
  14875. args2.push(argTypes[i + 2]);
  14876. }
  14877. if (isClassMethodFunc) {
  14878. argsListWired =
  14879. "thisWired" +
  14880. (argsListWired.length > 0 ? ", " : "") +
  14881. argsListWired;
  14882. }
  14883. invokerFnBody +=
  14884. (returns ? "var rv = " : "") +
  14885. "invoker(fn" +
  14886. (argsListWired.length > 0 ? ", " : "") +
  14887. argsListWired +
  14888. ");\n";
  14889. if (needsDestructorStack) {
  14890. invokerFnBody += "runDestructors(destructors);\n";
  14891. } else {
  14892. for (
  14893. var i = isClassMethodFunc ? 1 : 2;
  14894. i < argTypes.length;
  14895. ++i
  14896. ) {
  14897. var paramName =
  14898. i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
  14899. if (argTypes[i].destructorFunction !== null) {
  14900. invokerFnBody +=
  14901. paramName +
  14902. "_dtor(" +
  14903. paramName +
  14904. "); // " +
  14905. argTypes[i].name +
  14906. "\n";
  14907. args1.push(paramName + "_dtor");
  14908. args2.push(argTypes[i].destructorFunction);
  14909. }
  14910. }
  14911. }
  14912. if (returns) {
  14913. invokerFnBody +=
  14914. "var ret = retType.fromWireType(rv);\n" + "return ret;\n";
  14915. } else {
  14916. }
  14917. invokerFnBody += "}\n";
  14918. args1.push(invokerFnBody);
  14919. var invokerFunction = new_(Function, args1).apply(null, args2);
  14920. return invokerFunction;
  14921. }
  14922. function __embind_register_class_function(
  14923. rawClassType,
  14924. methodName,
  14925. argCount,
  14926. rawArgTypesAddr,
  14927. invokerSignature,
  14928. rawInvoker,
  14929. context,
  14930. isPureVirtual
  14931. ) {
  14932. var rawArgTypes = heap32VectorToArray(
  14933. argCount,
  14934. rawArgTypesAddr
  14935. );
  14936. methodName = readLatin1String(methodName);
  14937. rawInvoker = embind__requireFunction(
  14938. invokerSignature,
  14939. rawInvoker
  14940. );
  14941. whenDependentTypesAreResolved(
  14942. [],
  14943. [rawClassType],
  14944. function (classType) {
  14945. classType = classType[0];
  14946. var humanName = classType.name + "." + methodName;
  14947. if (isPureVirtual) {
  14948. classType.registeredClass.pureVirtualFunctions.push(
  14949. methodName
  14950. );
  14951. }
  14952. function unboundTypesHandler() {
  14953. throwUnboundTypeError(
  14954. "Cannot call " + humanName + " due to unbound types",
  14955. rawArgTypes
  14956. );
  14957. }
  14958. var proto = classType.registeredClass.instancePrototype;
  14959. var method = proto[methodName];
  14960. if (
  14961. undefined === method ||
  14962. (undefined === method.overloadTable &&
  14963. method.className !== classType.name &&
  14964. method.argCount === argCount - 2)
  14965. ) {
  14966. unboundTypesHandler.argCount = argCount - 2;
  14967. unboundTypesHandler.className = classType.name;
  14968. proto[methodName] = unboundTypesHandler;
  14969. } else {
  14970. ensureOverloadTable(proto, methodName, humanName);
  14971. proto[methodName].overloadTable[argCount - 2] =
  14972. unboundTypesHandler;
  14973. }
  14974. whenDependentTypesAreResolved(
  14975. [],
  14976. rawArgTypes,
  14977. function (argTypes) {
  14978. var memberFunction = craftInvokerFunction(
  14979. humanName,
  14980. argTypes,
  14981. classType,
  14982. rawInvoker,
  14983. context
  14984. );
  14985. if (undefined === proto[methodName].overloadTable) {
  14986. memberFunction.argCount = argCount - 2;
  14987. proto[methodName] = memberFunction;
  14988. } else {
  14989. proto[methodName].overloadTable[argCount - 2] =
  14990. memberFunction;
  14991. }
  14992. return [];
  14993. }
  14994. );
  14995. return [];
  14996. }
  14997. );
  14998. }
  14999. var emval_free_list = [];
  15000. var emval_handle_array = [
  15001. {},
  15002. { value: undefined },
  15003. { value: null },
  15004. { value: true },
  15005. { value: false },
  15006. ];
  15007. function __emval_decref(handle) {
  15008. if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
  15009. emval_handle_array[handle] = undefined;
  15010. emval_free_list.push(handle);
  15011. }
  15012. }
  15013. function count_emval_handles() {
  15014. var count = 0;
  15015. for (var i = 5; i < emval_handle_array.length; ++i) {
  15016. if (emval_handle_array[i] !== undefined) {
  15017. ++count;
  15018. }
  15019. }
  15020. return count;
  15021. }
  15022. function get_first_emval() {
  15023. for (var i = 5; i < emval_handle_array.length; ++i) {
  15024. if (emval_handle_array[i] !== undefined) {
  15025. return emval_handle_array[i];
  15026. }
  15027. }
  15028. return null;
  15029. }
  15030. function init_emval() {
  15031. Module["count_emval_handles"] = count_emval_handles;
  15032. Module["get_first_emval"] = get_first_emval;
  15033. }
  15034. function __emval_register(value) {
  15035. switch (value) {
  15036. case undefined: {
  15037. return 1;
  15038. }
  15039. case null: {
  15040. return 2;
  15041. }
  15042. case true: {
  15043. return 3;
  15044. }
  15045. case false: {
  15046. return 4;
  15047. }
  15048. default: {
  15049. var handle = emval_free_list.length
  15050. ? emval_free_list.pop()
  15051. : emval_handle_array.length;
  15052. emval_handle_array[handle] = { refcount: 1, value: value };
  15053. return handle;
  15054. }
  15055. }
  15056. }
  15057. function __embind_register_emval(rawType, name) {
  15058. name = readLatin1String(name);
  15059. registerType(rawType, {
  15060. name: name,
  15061. fromWireType: function fromWireType(handle) {
  15062. var rv = emval_handle_array[handle].value;
  15063. __emval_decref(handle);
  15064. return rv;
  15065. },
  15066. toWireType: function toWireType(destructors, value) {
  15067. return __emval_register(value);
  15068. },
  15069. argPackAdvance: 8,
  15070. readValueFromPointer: simpleReadValueFromPointer,
  15071. destructorFunction: null,
  15072. });
  15073. }
  15074. function _embind_repr(v) {
  15075. if (v === null) {
  15076. return "null";
  15077. }
  15078. var t = typeof v === "undefined" ? "undefined" : _typeof(v);
  15079. if (t === "object" || t === "array" || t === "function") {
  15080. return v.toString();
  15081. } else {
  15082. return "" + v;
  15083. }
  15084. }
  15085. function floatReadValueFromPointer(name, shift) {
  15086. switch (shift) {
  15087. case 2:
  15088. return function (pointer) {
  15089. return this["fromWireType"](HEAPF32[pointer >> 2]);
  15090. };
  15091. case 3:
  15092. return function (pointer) {
  15093. return this["fromWireType"](HEAPF64[pointer >> 3]);
  15094. };
  15095. default:
  15096. throw new TypeError("Unknown float type: " + name);
  15097. }
  15098. }
  15099. function __embind_register_float(rawType, name, size) {
  15100. var shift = getShiftFromSize(size);
  15101. name = readLatin1String(name);
  15102. registerType(rawType, {
  15103. name: name,
  15104. fromWireType: function fromWireType(value) {
  15105. return value;
  15106. },
  15107. toWireType: function toWireType(destructors, value) {
  15108. if (
  15109. typeof value !== "number" &&
  15110. typeof value !== "boolean"
  15111. ) {
  15112. throw new TypeError(
  15113. 'Cannot convert "' +
  15114. _embind_repr(value) +
  15115. '" to ' +
  15116. this.name
  15117. );
  15118. }
  15119. return value;
  15120. },
  15121. argPackAdvance: 8,
  15122. readValueFromPointer: floatReadValueFromPointer(name, shift),
  15123. destructorFunction: null,
  15124. });
  15125. }
  15126. function __embind_register_function(
  15127. name,
  15128. argCount,
  15129. rawArgTypesAddr,
  15130. signature,
  15131. rawInvoker,
  15132. fn
  15133. ) {
  15134. var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
  15135. name = readLatin1String(name);
  15136. rawInvoker = embind__requireFunction(signature, rawInvoker);
  15137. exposePublicSymbol(
  15138. name,
  15139. function () {
  15140. throwUnboundTypeError(
  15141. "Cannot call " + name + " due to unbound types",
  15142. argTypes
  15143. );
  15144. },
  15145. argCount - 1
  15146. );
  15147. whenDependentTypesAreResolved(
  15148. [],
  15149. argTypes,
  15150. function (argTypes) {
  15151. var invokerArgsArray = [argTypes[0], null].concat(
  15152. argTypes.slice(1)
  15153. );
  15154. replacePublicSymbol(
  15155. name,
  15156. craftInvokerFunction(
  15157. name,
  15158. invokerArgsArray,
  15159. null,
  15160. rawInvoker,
  15161. fn
  15162. ),
  15163. argCount - 1
  15164. );
  15165. return [];
  15166. }
  15167. );
  15168. }
  15169. function integerReadValueFromPointer(name, shift, signed) {
  15170. switch (shift) {
  15171. case 0:
  15172. return signed
  15173. ? function readS8FromPointer(pointer) {
  15174. return HEAP8[pointer];
  15175. }
  15176. : function readU8FromPointer(pointer) {
  15177. return HEAPU8[pointer];
  15178. };
  15179. case 1:
  15180. return signed
  15181. ? function readS16FromPointer(pointer) {
  15182. return HEAP16[pointer >> 1];
  15183. }
  15184. : function readU16FromPointer(pointer) {
  15185. return HEAPU16[pointer >> 1];
  15186. };
  15187. case 2:
  15188. return signed
  15189. ? function readS32FromPointer(pointer) {
  15190. return HEAP32[pointer >> 2];
  15191. }
  15192. : function readU32FromPointer(pointer) {
  15193. return HEAPU32[pointer >> 2];
  15194. };
  15195. default:
  15196. throw new TypeError("Unknown integer type: " + name);
  15197. }
  15198. }
  15199. function __embind_register_integer(
  15200. primitiveType,
  15201. name,
  15202. size,
  15203. minRange,
  15204. maxRange
  15205. ) {
  15206. name = readLatin1String(name);
  15207. if (maxRange === -1) {
  15208. maxRange = 4294967295;
  15209. }
  15210. var shift = getShiftFromSize(size);
  15211. var fromWireType = function fromWireType(value) {
  15212. return value;
  15213. };
  15214. if (minRange === 0) {
  15215. var bitshift = 32 - 8 * size;
  15216. fromWireType = function fromWireType(value) {
  15217. return (value << bitshift) >>> bitshift;
  15218. };
  15219. }
  15220. var isUnsignedType = name.indexOf("unsigned") != -1;
  15221. registerType(primitiveType, {
  15222. name: name,
  15223. fromWireType: fromWireType,
  15224. toWireType: function toWireType(destructors, value) {
  15225. if (
  15226. typeof value !== "number" &&
  15227. typeof value !== "boolean"
  15228. ) {
  15229. throw new TypeError(
  15230. 'Cannot convert "' +
  15231. _embind_repr(value) +
  15232. '" to ' +
  15233. this.name
  15234. );
  15235. }
  15236. if (value < minRange || value > maxRange) {
  15237. throw new TypeError(
  15238. 'Passing a number "' +
  15239. _embind_repr(value) +
  15240. '" from JS side to C/C++ side to an argument of type "' +
  15241. name +
  15242. '", which is outside the valid range [' +
  15243. minRange +
  15244. ", " +
  15245. maxRange +
  15246. "]!"
  15247. );
  15248. }
  15249. return isUnsignedType ? value >>> 0 : value | 0;
  15250. },
  15251. argPackAdvance: 8,
  15252. readValueFromPointer: integerReadValueFromPointer(
  15253. name,
  15254. shift,
  15255. minRange !== 0
  15256. ),
  15257. destructorFunction: null,
  15258. });
  15259. }
  15260. function __embind_register_memory_view(
  15261. rawType,
  15262. dataTypeIndex,
  15263. name
  15264. ) {
  15265. var typeMapping = [
  15266. Int8Array,
  15267. Uint8Array,
  15268. Int16Array,
  15269. Uint16Array,
  15270. Int32Array,
  15271. Uint32Array,
  15272. Float32Array,
  15273. Float64Array,
  15274. ];
  15275. var TA = typeMapping[dataTypeIndex];
  15276. function decodeMemoryView(handle) {
  15277. handle = handle >> 2;
  15278. var heap = HEAPU32;
  15279. var size = heap[handle];
  15280. var data = heap[handle + 1];
  15281. return new TA(heap["buffer"], data, size);
  15282. }
  15283. name = readLatin1String(name);
  15284. registerType(
  15285. rawType,
  15286. {
  15287. name: name,
  15288. fromWireType: decodeMemoryView,
  15289. argPackAdvance: 8,
  15290. readValueFromPointer: decodeMemoryView,
  15291. },
  15292. { ignoreDuplicateRegistrations: true }
  15293. );
  15294. }
  15295. function __embind_register_std_string(rawType, name) {
  15296. name = readLatin1String(name);
  15297. var stdStringIsUTF8 = name === "std::string";
  15298. registerType(rawType, {
  15299. name: name,
  15300. fromWireType: function fromWireType(value) {
  15301. var length = HEAPU32[value >> 2];
  15302. var str;
  15303. if (stdStringIsUTF8) {
  15304. var endChar = HEAPU8[value + 4 + length];
  15305. var endCharSwap = 0;
  15306. if (endChar != 0) {
  15307. endCharSwap = endChar;
  15308. HEAPU8[value + 4 + length] = 0;
  15309. }
  15310. var decodeStartPtr = value + 4;
  15311. for (var i = 0; i <= length; ++i) {
  15312. var currentBytePtr = value + 4 + i;
  15313. if (HEAPU8[currentBytePtr] == 0) {
  15314. var stringSegment = UTF8ToString(decodeStartPtr);
  15315. if (str === undefined) str = stringSegment;
  15316. else {
  15317. str += String.fromCharCode(0);
  15318. str += stringSegment;
  15319. }
  15320. decodeStartPtr = currentBytePtr + 1;
  15321. }
  15322. }
  15323. if (endCharSwap != 0)
  15324. HEAPU8[value + 4 + length] = endCharSwap;
  15325. } else {
  15326. var a = new Array(length);
  15327. for (var i = 0; i < length; ++i) {
  15328. a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
  15329. }
  15330. str = a.join("");
  15331. }
  15332. _free(value);
  15333. return str;
  15334. },
  15335. toWireType: function toWireType(destructors, value) {
  15336. if (value instanceof ArrayBuffer) {
  15337. value = new Uint8Array(value);
  15338. }
  15339. var getLength;
  15340. var valueIsOfTypeString = typeof value === "string";
  15341. if (
  15342. !(
  15343. valueIsOfTypeString ||
  15344. value instanceof Uint8Array ||
  15345. value instanceof Uint8ClampedArray ||
  15346. value instanceof Int8Array
  15347. )
  15348. ) {
  15349. throwBindingError(
  15350. "Cannot pass non-string to std::string"
  15351. );
  15352. }
  15353. if (stdStringIsUTF8 && valueIsOfTypeString) {
  15354. getLength = function getLength() {
  15355. return lengthBytesUTF8(value);
  15356. };
  15357. } else {
  15358. getLength = function getLength() {
  15359. return value.length;
  15360. };
  15361. }
  15362. var length = getLength();
  15363. var ptr = _malloc(4 + length + 1);
  15364. HEAPU32[ptr >> 2] = length;
  15365. if (stdStringIsUTF8 && valueIsOfTypeString) {
  15366. stringToUTF8(value, ptr + 4, length + 1);
  15367. } else {
  15368. if (valueIsOfTypeString) {
  15369. for (var i = 0; i < length; ++i) {
  15370. var charCode = value.charCodeAt(i);
  15371. if (charCode > 255) {
  15372. _free(ptr);
  15373. throwBindingError(
  15374. "String has UTF-16 code units that do not fit in 8 bits"
  15375. );
  15376. }
  15377. HEAPU8[ptr + 4 + i] = charCode;
  15378. }
  15379. } else {
  15380. for (var i = 0; i < length; ++i) {
  15381. HEAPU8[ptr + 4 + i] = value[i];
  15382. }
  15383. }
  15384. }
  15385. if (destructors !== null) {
  15386. destructors.push(_free, ptr);
  15387. }
  15388. return ptr;
  15389. },
  15390. argPackAdvance: 8,
  15391. readValueFromPointer: simpleReadValueFromPointer,
  15392. destructorFunction: function destructorFunction(ptr) {
  15393. _free(ptr);
  15394. },
  15395. });
  15396. }
  15397. function __embind_register_std_wstring(rawType, charSize, name) {
  15398. name = readLatin1String(name);
  15399. var getHeap, shift;
  15400. if (charSize === 2) {
  15401. getHeap = function getHeap() {
  15402. return HEAPU16;
  15403. };
  15404. shift = 1;
  15405. } else if (charSize === 4) {
  15406. getHeap = function getHeap() {
  15407. return HEAPU32;
  15408. };
  15409. shift = 2;
  15410. }
  15411. registerType(rawType, {
  15412. name: name,
  15413. fromWireType: function fromWireType(value) {
  15414. var HEAP = getHeap();
  15415. var length = HEAPU32[value >> 2];
  15416. var a = new Array(length);
  15417. var start = (value + 4) >> shift;
  15418. for (var i = 0; i < length; ++i) {
  15419. a[i] = String.fromCharCode(HEAP[start + i]);
  15420. }
  15421. _free(value);
  15422. return a.join("");
  15423. },
  15424. toWireType: function toWireType(destructors, value) {
  15425. var HEAP = getHeap();
  15426. var length = value.length;
  15427. var ptr = _malloc(4 + length * charSize);
  15428. HEAPU32[ptr >> 2] = length;
  15429. var start = (ptr + 4) >> shift;
  15430. for (var i = 0; i < length; ++i) {
  15431. HEAP[start + i] = value.charCodeAt(i);
  15432. }
  15433. if (destructors !== null) {
  15434. destructors.push(_free, ptr);
  15435. }
  15436. return ptr;
  15437. },
  15438. argPackAdvance: 8,
  15439. readValueFromPointer: simpleReadValueFromPointer,
  15440. destructorFunction: function destructorFunction(ptr) {
  15441. _free(ptr);
  15442. },
  15443. });
  15444. }
  15445. function __embind_register_void(rawType, name) {
  15446. name = readLatin1String(name);
  15447. registerType(rawType, {
  15448. isVoid: true,
  15449. name: name,
  15450. argPackAdvance: 0,
  15451. fromWireType: function fromWireType() {
  15452. return undefined;
  15453. },
  15454. toWireType: function toWireType(destructors, o) {
  15455. return undefined;
  15456. },
  15457. });
  15458. }
  15459. function requireHandle(handle) {
  15460. if (!handle) {
  15461. throwBindingError(
  15462. "Cannot use deleted val. handle = " + handle
  15463. );
  15464. }
  15465. return emval_handle_array[handle].value;
  15466. }
  15467. function requireRegisteredType(rawType, humanName) {
  15468. var impl = registeredTypes[rawType];
  15469. if (undefined === impl) {
  15470. throwBindingError(
  15471. humanName + " has unknown type " + getTypeName(rawType)
  15472. );
  15473. }
  15474. return impl;
  15475. }
  15476. function __emval_as(handle, returnType, destructorsRef) {
  15477. handle = requireHandle(handle);
  15478. returnType = requireRegisteredType(returnType, "emval::as");
  15479. var destructors = [];
  15480. var rd = __emval_register(destructors);
  15481. HEAP32[destructorsRef >> 2] = rd;
  15482. return returnType["toWireType"](destructors, handle);
  15483. }
  15484. function __emval_lookupTypes(argCount, argTypes, argWireTypes) {
  15485. var a = new Array(argCount);
  15486. for (var i = 0; i < argCount; ++i) {
  15487. a[i] = requireRegisteredType(
  15488. HEAP32[(argTypes >> 2) + i],
  15489. "parameter " + i
  15490. );
  15491. }
  15492. return a;
  15493. }
  15494. function __emval_call(handle, argCount, argTypes, argv) {
  15495. handle = requireHandle(handle);
  15496. var types = __emval_lookupTypes(argCount, argTypes);
  15497. var args = new Array(argCount);
  15498. for (var i = 0; i < argCount; ++i) {
  15499. var type = types[i];
  15500. args[i] = type["readValueFromPointer"](argv);
  15501. argv += type["argPackAdvance"];
  15502. }
  15503. var rv = handle.apply(undefined, args);
  15504. return __emval_register(rv);
  15505. }
  15506. function __emval_allocateDestructors(destructorsRef) {
  15507. var destructors = [];
  15508. HEAP32[destructorsRef >> 2] = __emval_register(destructors);
  15509. return destructors;
  15510. }
  15511. var emval_symbols = {};
  15512. function getStringOrSymbol(address) {
  15513. var symbol = emval_symbols[address];
  15514. if (symbol === undefined) {
  15515. return readLatin1String(address);
  15516. } else {
  15517. return symbol;
  15518. }
  15519. }
  15520. var emval_methodCallers = [];
  15521. function __emval_call_void_method(
  15522. caller,
  15523. handle,
  15524. methodName,
  15525. args
  15526. ) {
  15527. caller = emval_methodCallers[caller];
  15528. handle = requireHandle(handle);
  15529. methodName = getStringOrSymbol(methodName);
  15530. caller(handle, methodName, null, args);
  15531. }
  15532. function __emval_addMethodCaller(caller) {
  15533. var id = emval_methodCallers.length;
  15534. emval_methodCallers.push(caller);
  15535. return id;
  15536. }
  15537. function __emval_get_method_caller(argCount, argTypes) {
  15538. var types = __emval_lookupTypes(argCount, argTypes);
  15539. var retType = types[0];
  15540. var signatureName =
  15541. retType.name +
  15542. "_$" +
  15543. types
  15544. .slice(1)
  15545. .map(function (t) {
  15546. return t.name;
  15547. })
  15548. .join("_") +
  15549. "$";
  15550. var params = ["retType"];
  15551. var args = [retType];
  15552. var argsList = "";
  15553. for (var i = 0; i < argCount - 1; ++i) {
  15554. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  15555. params.push("argType" + i);
  15556. args.push(types[1 + i]);
  15557. }
  15558. var functionName = makeLegalFunctionName(
  15559. "methodCaller_" + signatureName
  15560. );
  15561. var functionBody =
  15562. "return function " +
  15563. functionName +
  15564. "(handle, name, destructors, args) {\n";
  15565. var offset = 0;
  15566. for (var i = 0; i < argCount - 1; ++i) {
  15567. functionBody +=
  15568. " var arg" +
  15569. i +
  15570. " = argType" +
  15571. i +
  15572. ".readValueFromPointer(args" +
  15573. (offset ? "+" + offset : "") +
  15574. ");\n";
  15575. offset += types[i + 1]["argPackAdvance"];
  15576. }
  15577. functionBody +=
  15578. " var rv = handle[name](" + argsList + ");\n";
  15579. for (var i = 0; i < argCount - 1; ++i) {
  15580. if (types[i + 1]["deleteObject"]) {
  15581. functionBody +=
  15582. " argType" + i + ".deleteObject(arg" + i + ");\n";
  15583. }
  15584. }
  15585. if (!retType.isVoid) {
  15586. functionBody +=
  15587. " return retType.toWireType(destructors, rv);\n";
  15588. }
  15589. functionBody += "};\n";
  15590. params.push(functionBody);
  15591. var invokerFunction = new_(Function, params).apply(null, args);
  15592. return __emval_addMethodCaller(invokerFunction);
  15593. }
  15594. function __emval_get_module_property(name) {
  15595. name = getStringOrSymbol(name);
  15596. return __emval_register(Module[name]);
  15597. }
  15598. function __emval_get_property(handle, key) {
  15599. handle = requireHandle(handle);
  15600. key = requireHandle(key);
  15601. return __emval_register(handle[key]);
  15602. }
  15603. function __emval_incref(handle) {
  15604. if (handle > 4) {
  15605. emval_handle_array[handle].refcount += 1;
  15606. }
  15607. }
  15608. function craftEmvalAllocator(argCount) {
  15609. var argsList = "";
  15610. for (var i = 0; i < argCount; ++i) {
  15611. argsList += (i !== 0 ? ", " : "") + "arg" + i;
  15612. }
  15613. var functionBody =
  15614. "return function emval_allocator_" +
  15615. argCount +
  15616. "(constructor, argTypes, args) {\n";
  15617. for (var i = 0; i < argCount; ++i) {
  15618. functionBody +=
  15619. "var argType" +
  15620. i +
  15621. " = requireRegisteredType(HEAP32[(argTypes >> 2) + " +
  15622. i +
  15623. '], "parameter ' +
  15624. i +
  15625. '");\n' +
  15626. "var arg" +
  15627. i +
  15628. " = argType" +
  15629. i +
  15630. ".readValueFromPointer(args);\n" +
  15631. "args += argType" +
  15632. i +
  15633. "['argPackAdvance'];\n";
  15634. }
  15635. functionBody +=
  15636. "var obj = new constructor(" +
  15637. argsList +
  15638. ");\n" +
  15639. "return __emval_register(obj);\n" +
  15640. "}\n";
  15641. return new Function(
  15642. "requireRegisteredType",
  15643. "HEAP32",
  15644. "__emval_register",
  15645. functionBody
  15646. )(requireRegisteredType, HEAP32, __emval_register);
  15647. }
  15648. var emval_newers = {};
  15649. function __emval_new(handle, argCount, argTypes, args) {
  15650. handle = requireHandle(handle);
  15651. var newer = emval_newers[argCount];
  15652. if (!newer) {
  15653. newer = craftEmvalAllocator(argCount);
  15654. emval_newers[argCount] = newer;
  15655. }
  15656. return newer(handle, argTypes, args);
  15657. }
  15658. function __emval_new_cstring(v) {
  15659. return __emval_register(getStringOrSymbol(v));
  15660. }
  15661. function __emval_run_destructors(handle) {
  15662. var destructors = emval_handle_array[handle].value;
  15663. runDestructors(destructors);
  15664. __emval_decref(handle);
  15665. }
  15666. function __emval_take_value(type, argv) {
  15667. type = requireRegisteredType(type, "_emval_take_value");
  15668. var v = type["readValueFromPointer"](argv);
  15669. return __emval_register(v);
  15670. }
  15671. function _abort() {
  15672. Module["abort"]();
  15673. }
  15674. function _llvm_cttz_i64(l, h) {
  15675. var ret = _llvm_cttz_i32(l);
  15676. if (ret == 32) ret += _llvm_cttz_i32(h);
  15677. return (setTempRet0(0), ret) | 0;
  15678. }
  15679. function _emscripten_memcpy_big(dest, src, num) {
  15680. HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
  15681. return dest;
  15682. }
  15683. var PTHREAD_SPECIFIC = {};
  15684. function _pthread_getspecific(key) {
  15685. return PTHREAD_SPECIFIC[key] || 0;
  15686. }
  15687. var PTHREAD_SPECIFIC_NEXT_KEY = 1;
  15688. function _pthread_key_create(key, destructor) {
  15689. if (key == 0) {
  15690. return ERRNO_CODES.EINVAL;
  15691. }
  15692. HEAP32[key >> 2] = PTHREAD_SPECIFIC_NEXT_KEY;
  15693. PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0;
  15694. PTHREAD_SPECIFIC_NEXT_KEY++;
  15695. return 0;
  15696. }
  15697. function _pthread_once(ptr, func) {
  15698. if (!_pthread_once.seen) _pthread_once.seen = {};
  15699. if (ptr in _pthread_once.seen) return;
  15700. Module["dynCall_v"](func);
  15701. _pthread_once.seen[ptr] = 1;
  15702. }
  15703. function _pthread_setspecific(key, value) {
  15704. if (!(key in PTHREAD_SPECIFIC)) {
  15705. return ERRNO_CODES.EINVAL;
  15706. }
  15707. PTHREAD_SPECIFIC[key] = value;
  15708. return 0;
  15709. }
  15710. FS.staticInit();
  15711. __ATINIT__.unshift(function () {
  15712. if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
  15713. });
  15714. __ATMAIN__.push(function () {
  15715. FS.ignorePermissions = false;
  15716. });
  15717. __ATEXIT__.push(function () {
  15718. FS.quit();
  15719. });
  15720. __ATINIT__.unshift(function () {
  15721. TTY.init();
  15722. });
  15723. __ATEXIT__.push(function () {
  15724. TTY.shutdown();
  15725. });
  15726. if (ENVIRONMENT_IS_NODE) {
  15727. var fs = require("fs");
  15728. var NODEJS_PATH = require("path");
  15729. NODEFS.staticInit();
  15730. }
  15731. embind_init_charCodes();
  15732. BindingError = Module["BindingError"] = extendError(
  15733. Error,
  15734. "BindingError"
  15735. );
  15736. InternalError = Module["InternalError"] = extendError(
  15737. Error,
  15738. "InternalError"
  15739. );
  15740. init_ClassHandle();
  15741. init_RegisteredPointer();
  15742. init_embind();
  15743. UnboundTypeError = Module["UnboundTypeError"] = extendError(
  15744. Error,
  15745. "UnboundTypeError"
  15746. );
  15747. init_emval();
  15748. DYNAMICTOP_PTR = staticAlloc(4);
  15749. STACK_BASE = STACKTOP = alignMemory(STATICTOP);
  15750. STACK_MAX = STACK_BASE + TOTAL_STACK;
  15751. DYNAMIC_BASE = alignMemory(STACK_MAX);
  15752. HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
  15753. staticSealed = true;
  15754. var ASSERTIONS = false;
  15755. function intArrayFromString(stringy, dontAddNull, length) {
  15756. var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  15757. var u8array = new Array(len);
  15758. var numBytesWritten = stringToUTF8Array(
  15759. stringy,
  15760. u8array,
  15761. 0,
  15762. u8array.length
  15763. );
  15764. if (dontAddNull) u8array.length = numBytesWritten;
  15765. return u8array;
  15766. }
  15767. function intArrayToString(array) {
  15768. var ret = [];
  15769. for (var i = 0; i < array.length; i++) {
  15770. var chr = array[i];
  15771. if (chr > 255) {
  15772. if (ASSERTIONS) {
  15773. assert(
  15774. false,
  15775. "Character code " +
  15776. chr +
  15777. " (" +
  15778. String.fromCharCode(chr) +
  15779. ") at offset " +
  15780. i +
  15781. " not in 0x00-0xFF."
  15782. );
  15783. }
  15784. chr &= 255;
  15785. }
  15786. ret.push(String.fromCharCode(chr));
  15787. }
  15788. return ret.join("");
  15789. }
  15790. var decodeBase64 =
  15791. typeof atob === "function"
  15792. ? atob
  15793. : function (input) {
  15794. var keyStr =
  15795. "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  15796. var output = "";
  15797. var chr1, chr2, chr3;
  15798. var enc1, enc2, enc3, enc4;
  15799. var i = 0;
  15800. input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
  15801. do {
  15802. enc1 = keyStr.indexOf(input.charAt(i++));
  15803. enc2 = keyStr.indexOf(input.charAt(i++));
  15804. enc3 = keyStr.indexOf(input.charAt(i++));
  15805. enc4 = keyStr.indexOf(input.charAt(i++));
  15806. chr1 = (enc1 << 2) | (enc2 >> 4);
  15807. chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
  15808. chr3 = ((enc3 & 3) << 6) | enc4;
  15809. output = output + String.fromCharCode(chr1);
  15810. if (enc3 !== 64) {
  15811. output = output + String.fromCharCode(chr2);
  15812. }
  15813. if (enc4 !== 64) {
  15814. output = output + String.fromCharCode(chr3);
  15815. }
  15816. } while (i < input.length);
  15817. return output;
  15818. };
  15819. function intArrayFromBase64(s) {
  15820. if (
  15821. typeof ENVIRONMENT_IS_NODE === "boolean" &&
  15822. ENVIRONMENT_IS_NODE
  15823. ) {
  15824. var buf;
  15825. try {
  15826. buf = Buffer.from(s, "base64");
  15827. } catch (_) {
  15828. buf = new Buffer(s, "base64");
  15829. }
  15830. return new Uint8Array(
  15831. buf.buffer,
  15832. buf.byteOffset,
  15833. buf.byteLength
  15834. );
  15835. }
  15836. try {
  15837. var decoded = decodeBase64(s);
  15838. var bytes = new Uint8Array(decoded.length);
  15839. for (var i = 0; i < decoded.length; ++i) {
  15840. bytes[i] = decoded.charCodeAt(i);
  15841. }
  15842. return bytes;
  15843. } catch (_) {
  15844. throw new Error("Converting base64 string to bytes failed.");
  15845. }
  15846. }
  15847. function tryParseAsDataURI(filename) {
  15848. if (!isDataURI(filename)) {
  15849. return;
  15850. }
  15851. return intArrayFromBase64(filename.slice(dataURIPrefix.length));
  15852. }
  15853. function invoke_i(index) {
  15854. var sp = _stackSave();
  15855. try {
  15856. return Module["dynCall_i"](index);
  15857. } catch (e) {
  15858. _stackRestore(sp);
  15859. if (typeof e !== "number" && e !== "longjmp") throw e;
  15860. Module["setThrew"](1, 0);
  15861. }
  15862. }
  15863. function invoke_ii(index, a1) {
  15864. var sp = _stackSave();
  15865. try {
  15866. return Module["dynCall_ii"](index, a1);
  15867. } catch (e) {
  15868. _stackRestore(sp);
  15869. if (typeof e !== "number" && e !== "longjmp") throw e;
  15870. Module["setThrew"](1, 0);
  15871. }
  15872. }
  15873. function invoke_iii(index, a1, a2) {
  15874. var sp = _stackSave();
  15875. try {
  15876. return Module["dynCall_iii"](index, a1, a2);
  15877. } catch (e) {
  15878. _stackRestore(sp);
  15879. if (typeof e !== "number" && e !== "longjmp") throw e;
  15880. Module["setThrew"](1, 0);
  15881. }
  15882. }
  15883. function invoke_iiii(index, a1, a2, a3) {
  15884. var sp = _stackSave();
  15885. try {
  15886. return Module["dynCall_iiii"](index, a1, a2, a3);
  15887. } catch (e) {
  15888. _stackRestore(sp);
  15889. if (typeof e !== "number" && e !== "longjmp") throw e;
  15890. Module["setThrew"](1, 0);
  15891. }
  15892. }
  15893. function invoke_iiiii(index, a1, a2, a3, a4) {
  15894. var sp = _stackSave();
  15895. try {
  15896. return Module["dynCall_iiiii"](index, a1, a2, a3, a4);
  15897. } catch (e) {
  15898. _stackRestore(sp);
  15899. if (typeof e !== "number" && e !== "longjmp") throw e;
  15900. Module["setThrew"](1, 0);
  15901. }
  15902. }
  15903. function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
  15904. var sp = _stackSave();
  15905. try {
  15906. return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5);
  15907. } catch (e) {
  15908. _stackRestore(sp);
  15909. if (typeof e !== "number" && e !== "longjmp") throw e;
  15910. Module["setThrew"](1, 0);
  15911. }
  15912. }
  15913. function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
  15914. var sp = _stackSave();
  15915. try {
  15916. return Module["dynCall_iiiiiii"](
  15917. index,
  15918. a1,
  15919. a2,
  15920. a3,
  15921. a4,
  15922. a5,
  15923. a6
  15924. );
  15925. } catch (e) {
  15926. _stackRestore(sp);
  15927. if (typeof e !== "number" && e !== "longjmp") throw e;
  15928. Module["setThrew"](1, 0);
  15929. }
  15930. }
  15931. function invoke_v(index) {
  15932. var sp = _stackSave();
  15933. try {
  15934. Module["dynCall_v"](index);
  15935. } catch (e) {
  15936. _stackRestore(sp);
  15937. if (typeof e !== "number" && e !== "longjmp") throw e;
  15938. Module["setThrew"](1, 0);
  15939. }
  15940. }
  15941. function invoke_vi(index, a1) {
  15942. var sp = _stackSave();
  15943. try {
  15944. Module["dynCall_vi"](index, a1);
  15945. } catch (e) {
  15946. _stackRestore(sp);
  15947. if (typeof e !== "number" && e !== "longjmp") throw e;
  15948. Module["setThrew"](1, 0);
  15949. }
  15950. }
  15951. function invoke_vii(index, a1, a2) {
  15952. var sp = _stackSave();
  15953. try {
  15954. Module["dynCall_vii"](index, a1, a2);
  15955. } catch (e) {
  15956. _stackRestore(sp);
  15957. if (typeof e !== "number" && e !== "longjmp") throw e;
  15958. Module["setThrew"](1, 0);
  15959. }
  15960. }
  15961. function invoke_viii(index, a1, a2, a3) {
  15962. var sp = _stackSave();
  15963. try {
  15964. Module["dynCall_viii"](index, a1, a2, a3);
  15965. } catch (e) {
  15966. _stackRestore(sp);
  15967. if (typeof e !== "number" && e !== "longjmp") throw e;
  15968. Module["setThrew"](1, 0);
  15969. }
  15970. }
  15971. function invoke_viiii(index, a1, a2, a3, a4) {
  15972. var sp = _stackSave();
  15973. try {
  15974. Module["dynCall_viiii"](index, a1, a2, a3, a4);
  15975. } catch (e) {
  15976. _stackRestore(sp);
  15977. if (typeof e !== "number" && e !== "longjmp") throw e;
  15978. Module["setThrew"](1, 0);
  15979. }
  15980. }
  15981. function invoke_viiiii(index, a1, a2, a3, a4, a5) {
  15982. var sp = _stackSave();
  15983. try {
  15984. Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5);
  15985. } catch (e) {
  15986. _stackRestore(sp);
  15987. if (typeof e !== "number" && e !== "longjmp") throw e;
  15988. Module["setThrew"](1, 0);
  15989. }
  15990. }
  15991. function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
  15992. var sp = _stackSave();
  15993. try {
  15994. Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6);
  15995. } catch (e) {
  15996. _stackRestore(sp);
  15997. if (typeof e !== "number" && e !== "longjmp") throw e;
  15998. Module["setThrew"](1, 0);
  15999. }
  16000. }
  16001. Module.asmGlobalArg = {
  16002. Math: Math,
  16003. Int8Array: Int8Array,
  16004. Int16Array: Int16Array,
  16005. Int32Array: Int32Array,
  16006. Uint8Array: Uint8Array,
  16007. Uint16Array: Uint16Array,
  16008. Uint32Array: Uint32Array,
  16009. Float32Array: Float32Array,
  16010. Float64Array: Float64Array,
  16011. NaN: NaN,
  16012. Infinity: Infinity,
  16013. };
  16014. Module.asmLibraryArg = {
  16015. abort: abort,
  16016. assert: assert,
  16017. enlargeMemory: enlargeMemory,
  16018. getTotalMemory: getTotalMemory,
  16019. abortOnCannotGrowMemory: abortOnCannotGrowMemory,
  16020. invoke_i: invoke_i,
  16021. invoke_ii: invoke_ii,
  16022. invoke_iii: invoke_iii,
  16023. invoke_iiii: invoke_iiii,
  16024. invoke_iiiii: invoke_iiiii,
  16025. invoke_iiiiii: invoke_iiiiii,
  16026. invoke_iiiiiii: invoke_iiiiiii,
  16027. invoke_v: invoke_v,
  16028. invoke_vi: invoke_vi,
  16029. invoke_vii: invoke_vii,
  16030. invoke_viii: invoke_viii,
  16031. invoke_viiii: invoke_viiii,
  16032. invoke_viiiii: invoke_viiiii,
  16033. invoke_viiiiii: invoke_viiiiii,
  16034. ClassHandle: ClassHandle,
  16035. ClassHandle_clone: ClassHandle_clone,
  16036. ClassHandle_delete: ClassHandle_delete,
  16037. ClassHandle_deleteLater: ClassHandle_deleteLater,
  16038. ClassHandle_isAliasOf: ClassHandle_isAliasOf,
  16039. ClassHandle_isDeleted: ClassHandle_isDeleted,
  16040. RegisteredClass: RegisteredClass,
  16041. RegisteredPointer: RegisteredPointer,
  16042. RegisteredPointer_deleteObject: RegisteredPointer_deleteObject,
  16043. RegisteredPointer_destructor: RegisteredPointer_destructor,
  16044. RegisteredPointer_fromWireType: RegisteredPointer_fromWireType,
  16045. RegisteredPointer_getPointee: RegisteredPointer_getPointee,
  16046. __ZSt18uncaught_exceptionv: __ZSt18uncaught_exceptionv,
  16047. ___cxa_allocate_exception: ___cxa_allocate_exception,
  16048. ___cxa_begin_catch: ___cxa_begin_catch,
  16049. ___cxa_find_matching_catch: ___cxa_find_matching_catch,
  16050. ___cxa_throw: ___cxa_throw,
  16051. ___gxx_personality_v0: ___gxx_personality_v0,
  16052. ___lock: ___lock,
  16053. ___resumeException: ___resumeException,
  16054. ___setErrNo: ___setErrNo,
  16055. ___syscall140: ___syscall140,
  16056. ___syscall145: ___syscall145,
  16057. ___syscall146: ___syscall146,
  16058. ___syscall221: ___syscall221,
  16059. ___syscall5: ___syscall5,
  16060. ___syscall54: ___syscall54,
  16061. ___syscall6: ___syscall6,
  16062. ___unlock: ___unlock,
  16063. __embind_register_bool: __embind_register_bool,
  16064. __embind_register_class: __embind_register_class,
  16065. __embind_register_class_constructor:
  16066. __embind_register_class_constructor,
  16067. __embind_register_class_function:
  16068. __embind_register_class_function,
  16069. __embind_register_emval: __embind_register_emval,
  16070. __embind_register_float: __embind_register_float,
  16071. __embind_register_function: __embind_register_function,
  16072. __embind_register_integer: __embind_register_integer,
  16073. __embind_register_memory_view: __embind_register_memory_view,
  16074. __embind_register_std_string: __embind_register_std_string,
  16075. __embind_register_std_wstring: __embind_register_std_wstring,
  16076. __embind_register_void: __embind_register_void,
  16077. __emval_addMethodCaller: __emval_addMethodCaller,
  16078. __emval_allocateDestructors: __emval_allocateDestructors,
  16079. __emval_as: __emval_as,
  16080. __emval_call: __emval_call,
  16081. __emval_call_void_method: __emval_call_void_method,
  16082. __emval_decref: __emval_decref,
  16083. __emval_get_method_caller: __emval_get_method_caller,
  16084. __emval_get_module_property: __emval_get_module_property,
  16085. __emval_get_property: __emval_get_property,
  16086. __emval_incref: __emval_incref,
  16087. __emval_lookupTypes: __emval_lookupTypes,
  16088. __emval_new: __emval_new,
  16089. __emval_new_cstring: __emval_new_cstring,
  16090. __emval_register: __emval_register,
  16091. __emval_run_destructors: __emval_run_destructors,
  16092. __emval_take_value: __emval_take_value,
  16093. _abort: _abort,
  16094. _embind_repr: _embind_repr,
  16095. _emscripten_memcpy_big: _emscripten_memcpy_big,
  16096. _llvm_cttz_i64: _llvm_cttz_i64,
  16097. _pthread_getspecific: _pthread_getspecific,
  16098. _pthread_key_create: _pthread_key_create,
  16099. _pthread_once: _pthread_once,
  16100. _pthread_setspecific: _pthread_setspecific,
  16101. constNoSmartPtrRawPointerToWireType:
  16102. constNoSmartPtrRawPointerToWireType,
  16103. count_emval_handles: count_emval_handles,
  16104. craftEmvalAllocator: craftEmvalAllocator,
  16105. craftInvokerFunction: craftInvokerFunction,
  16106. createNamedFunction: createNamedFunction,
  16107. downcastPointer: downcastPointer,
  16108. embind__requireFunction: embind__requireFunction,
  16109. embind_init_charCodes: embind_init_charCodes,
  16110. ensureOverloadTable: ensureOverloadTable,
  16111. exposePublicSymbol: exposePublicSymbol,
  16112. extendError: extendError,
  16113. floatReadValueFromPointer: floatReadValueFromPointer,
  16114. flushPendingDeletes: flushPendingDeletes,
  16115. genericPointerToWireType: genericPointerToWireType,
  16116. getBasestPointer: getBasestPointer,
  16117. getInheritedInstance: getInheritedInstance,
  16118. getInheritedInstanceCount: getInheritedInstanceCount,
  16119. getLiveInheritedInstances: getLiveInheritedInstances,
  16120. getShiftFromSize: getShiftFromSize,
  16121. getStringOrSymbol: getStringOrSymbol,
  16122. getTypeName: getTypeName,
  16123. get_first_emval: get_first_emval,
  16124. heap32VectorToArray: heap32VectorToArray,
  16125. init_ClassHandle: init_ClassHandle,
  16126. init_RegisteredPointer: init_RegisteredPointer,
  16127. init_embind: init_embind,
  16128. init_emval: init_emval,
  16129. integerReadValueFromPointer: integerReadValueFromPointer,
  16130. makeClassHandle: makeClassHandle,
  16131. makeLegalFunctionName: makeLegalFunctionName,
  16132. new_: new_,
  16133. nonConstNoSmartPtrRawPointerToWireType:
  16134. nonConstNoSmartPtrRawPointerToWireType,
  16135. readLatin1String: readLatin1String,
  16136. registerType: registerType,
  16137. replacePublicSymbol: replacePublicSymbol,
  16138. requireHandle: requireHandle,
  16139. requireRegisteredType: requireRegisteredType,
  16140. runDestructor: runDestructor,
  16141. runDestructors: runDestructors,
  16142. setDelayFunction: setDelayFunction,
  16143. shallowCopyInternalPointer: shallowCopyInternalPointer,
  16144. simpleReadValueFromPointer: simpleReadValueFromPointer,
  16145. throwBindingError: throwBindingError,
  16146. throwInstanceAlreadyDeleted: throwInstanceAlreadyDeleted,
  16147. throwInternalError: throwInternalError,
  16148. throwUnboundTypeError: throwUnboundTypeError,
  16149. upcastPointer: upcastPointer,
  16150. whenDependentTypesAreResolved: whenDependentTypesAreResolved,
  16151. DYNAMICTOP_PTR: DYNAMICTOP_PTR,
  16152. tempDoublePtr: tempDoublePtr,
  16153. ABORT: ABORT,
  16154. STACKTOP: STACKTOP,
  16155. STACK_MAX: STACK_MAX,
  16156. }; // EMSCRIPTEN_START_ASM
  16157. var asm = /** @suppress {uselessCode} */ (function (
  16158. global,
  16159. env,
  16160. buffer
  16161. ) {
  16162. "use asm";
  16163. var a = new global.Int8Array(buffer);
  16164. var b = new global.Int16Array(buffer);
  16165. var c = new global.Int32Array(buffer);
  16166. var d = new global.Uint8Array(buffer);
  16167. var e = new global.Uint16Array(buffer);
  16168. var f = new global.Uint32Array(buffer);
  16169. var g = new global.Float32Array(buffer);
  16170. var h = new global.Float64Array(buffer);
  16171. var i = env.DYNAMICTOP_PTR | 0;
  16172. var j = env.tempDoublePtr | 0;
  16173. var k = env.ABORT | 0;
  16174. var l = env.STACKTOP | 0;
  16175. var m = env.STACK_MAX | 0;
  16176. var n = 0;
  16177. var o = 0;
  16178. var p = 0;
  16179. var q = 0;
  16180. var r = global.NaN,
  16181. s = global.Infinity;
  16182. var t = 0,
  16183. u = 0,
  16184. v = 0,
  16185. w = 0,
  16186. x = 0.0;
  16187. var y = 0;
  16188. var z = global.Math.floor;
  16189. var A = global.Math.abs;
  16190. var B = global.Math.sqrt;
  16191. var C = global.Math.pow;
  16192. var D = global.Math.cos;
  16193. var E = global.Math.sin;
  16194. var F = global.Math.tan;
  16195. var G = global.Math.acos;
  16196. var H = global.Math.asin;
  16197. var I = global.Math.atan;
  16198. var J = global.Math.atan2;
  16199. var K = global.Math.exp;
  16200. var L = global.Math.log;
  16201. var M = global.Math.ceil;
  16202. var N = global.Math.imul;
  16203. var O = global.Math.min;
  16204. var P = global.Math.max;
  16205. var Q = global.Math.clz32;
  16206. var R = env.abort;
  16207. var S = env.assert;
  16208. var T = env.enlargeMemory;
  16209. var U = env.getTotalMemory;
  16210. var V = env.abortOnCannotGrowMemory;
  16211. var W = env.invoke_i;
  16212. var X = env.invoke_ii;
  16213. var Y = env.invoke_iii;
  16214. var Z = env.invoke_iiii;
  16215. var _ = env.invoke_iiiii;
  16216. var $ = env.invoke_iiiiii;
  16217. var aa = env.invoke_iiiiiii;
  16218. var ba = env.invoke_v;
  16219. var ca = env.invoke_vi;
  16220. var da = env.invoke_vii;
  16221. var ea = env.invoke_viii;
  16222. var fa = env.invoke_viiii;
  16223. var ga = env.invoke_viiiii;
  16224. var ha = env.invoke_viiiiii;
  16225. var ia = env.ClassHandle;
  16226. var ja = env.ClassHandle_clone;
  16227. var ka = env.ClassHandle_delete;
  16228. var la = env.ClassHandle_deleteLater;
  16229. var ma = env.ClassHandle_isAliasOf;
  16230. var na = env.ClassHandle_isDeleted;
  16231. var oa = env.RegisteredClass;
  16232. var pa = env.RegisteredPointer;
  16233. var qa = env.RegisteredPointer_deleteObject;
  16234. var ra = env.RegisteredPointer_destructor;
  16235. var sa = env.RegisteredPointer_fromWireType;
  16236. var ta = env.RegisteredPointer_getPointee;
  16237. var ua = env.__ZSt18uncaught_exceptionv;
  16238. var va = env.___cxa_allocate_exception;
  16239. var wa = env.___cxa_begin_catch;
  16240. var xa = env.___cxa_find_matching_catch;
  16241. var ya = env.___cxa_throw;
  16242. var za = env.___gxx_personality_v0;
  16243. var Aa = env.___lock;
  16244. var Ba = env.___resumeException;
  16245. var Ca = env.___setErrNo;
  16246. var Da = env.___syscall140;
  16247. var Ea = env.___syscall145;
  16248. var Fa = env.___syscall146;
  16249. var Ga = env.___syscall221;
  16250. var Ha = env.___syscall5;
  16251. var Ia = env.___syscall54;
  16252. var Ja = env.___syscall6;
  16253. var Ka = env.___unlock;
  16254. var La = env.__embind_register_bool;
  16255. var Ma = env.__embind_register_class;
  16256. var Na = env.__embind_register_class_constructor;
  16257. var Oa = env.__embind_register_class_function;
  16258. var Pa = env.__embind_register_emval;
  16259. var Qa = env.__embind_register_float;
  16260. var Ra = env.__embind_register_function;
  16261. var Sa = env.__embind_register_integer;
  16262. var Ta = env.__embind_register_memory_view;
  16263. var Ua = env.__embind_register_std_string;
  16264. var Va = env.__embind_register_std_wstring;
  16265. var Wa = env.__embind_register_void;
  16266. var Xa = env.__emval_addMethodCaller;
  16267. var Ya = env.__emval_allocateDestructors;
  16268. var Za = env.__emval_as;
  16269. var _a = env.__emval_call;
  16270. var $a = env.__emval_call_void_method;
  16271. var ab = env.__emval_decref;
  16272. var bb = env.__emval_get_method_caller;
  16273. var cb = env.__emval_get_module_property;
  16274. var db = env.__emval_get_property;
  16275. var eb = env.__emval_incref;
  16276. var fb = env.__emval_lookupTypes;
  16277. var gb = env.__emval_new;
  16278. var hb = env.__emval_new_cstring;
  16279. var ib = env.__emval_register;
  16280. var jb = env.__emval_run_destructors;
  16281. var kb = env.__emval_take_value;
  16282. var lb = env._abort;
  16283. var mb = env._embind_repr;
  16284. var nb = env._emscripten_memcpy_big;
  16285. var ob = env._llvm_cttz_i64;
  16286. var pb = env._pthread_getspecific;
  16287. var qb = env._pthread_key_create;
  16288. var rb = env._pthread_once;
  16289. var sb = env._pthread_setspecific;
  16290. var tb = env.constNoSmartPtrRawPointerToWireType;
  16291. var ub = env.count_emval_handles;
  16292. var vb = env.craftEmvalAllocator;
  16293. var wb = env.craftInvokerFunction;
  16294. var xb = env.createNamedFunction;
  16295. var yb = env.downcastPointer;
  16296. var zb = env.embind__requireFunction;
  16297. var Ab = env.embind_init_charCodes;
  16298. var Bb = env.ensureOverloadTable;
  16299. var Cb = env.exposePublicSymbol;
  16300. var Db = env.extendError;
  16301. var Eb = env.floatReadValueFromPointer;
  16302. var Fb = env.flushPendingDeletes;
  16303. var Gb = env.genericPointerToWireType;
  16304. var Hb = env.getBasestPointer;
  16305. var Ib = env.getInheritedInstance;
  16306. var Jb = env.getInheritedInstanceCount;
  16307. var Kb = env.getLiveInheritedInstances;
  16308. var Lb = env.getShiftFromSize;
  16309. var Mb = env.getStringOrSymbol;
  16310. var Nb = env.getTypeName;
  16311. var Ob = env.get_first_emval;
  16312. var Pb = env.heap32VectorToArray;
  16313. var Qb = env.init_ClassHandle;
  16314. var Rb = env.init_RegisteredPointer;
  16315. var Sb = env.init_embind;
  16316. var Tb = env.init_emval;
  16317. var Ub = env.integerReadValueFromPointer;
  16318. var Vb = env.makeClassHandle;
  16319. var Wb = env.makeLegalFunctionName;
  16320. var Xb = env.new_;
  16321. var Yb = env.nonConstNoSmartPtrRawPointerToWireType;
  16322. var Zb = env.readLatin1String;
  16323. var _b = env.registerType;
  16324. var $b = env.replacePublicSymbol;
  16325. var ac = env.requireHandle;
  16326. var bc = env.requireRegisteredType;
  16327. var cc = env.runDestructor;
  16328. var dc = env.runDestructors;
  16329. var ec = env.setDelayFunction;
  16330. var fc = env.shallowCopyInternalPointer;
  16331. var gc = env.simpleReadValueFromPointer;
  16332. var hc = env.throwBindingError;
  16333. var ic = env.throwInstanceAlreadyDeleted;
  16334. var jc = env.throwInternalError;
  16335. var kc = env.throwUnboundTypeError;
  16336. var lc = env.upcastPointer;
  16337. var mc = env.whenDependentTypesAreResolved;
  16338. var nc = 0.0; // EMSCRIPTEN_START_FUNCS
  16339. function Ds(b, e, f) {
  16340. b = b | 0;
  16341. e = e | 0;
  16342. f = f | 0;
  16343. var g = 0,
  16344. h = 0,
  16345. i = 0,
  16346. j = 0,
  16347. k = 0,
  16348. m = 0,
  16349. n = 0,
  16350. o = 0,
  16351. p = 0,
  16352. q = 0,
  16353. r = 0;
  16354. g = l;
  16355. l = (l + 32) | 0;
  16356. h = (g + 12) | 0;
  16357. i = (g + 8) | 0;
  16358. j = (g + 4) | 0;
  16359. k = g;
  16360. m = (g + 17) | 0;
  16361. n = (g + 16) | 0;
  16362. c[i >> 2] = b;
  16363. c[j >> 2] = e;
  16364. c[k >> 2] = f;
  16365. if ((c[k >> 2] | 0) >>> 0 < 1) {
  16366. f = c[i >> 2] | 0;
  16367. c[f >> 2] = 0;
  16368. c[(f + 4) >> 2] = 0;
  16369. c[(f + 8) >> 2] = 0;
  16370. c[(f + 12) >> 2] = 0;
  16371. c[h >> 2] = -72;
  16372. o = c[h >> 2] | 0;
  16373. l = g;
  16374. return o | 0;
  16375. }
  16376. f = (c[k >> 2] | 0) >>> 0 >= 4;
  16377. c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
  16378. do {
  16379. if (f) {
  16380. c[((c[i >> 2] | 0) + 8) >> 2] =
  16381. (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
  16382. e = Qs(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
  16383. c[c[i >> 2] >> 2] = e;
  16384. a[m >> 0] =
  16385. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  16386. if (d[m >> 0] | 0 | 0)
  16387. p = (8 - (Rs(d[m >> 0] | 0) | 0)) | 0;
  16388. else p = 0;
  16389. c[((c[i >> 2] | 0) + 4) >> 2] = p;
  16390. if (!(d[m >> 0] | 0)) {
  16391. c[h >> 2] = -1;
  16392. o = c[h >> 2] | 0;
  16393. l = g;
  16394. return o | 0;
  16395. }
  16396. } else {
  16397. c[((c[i >> 2] | 0) + 8) >> 2] =
  16398. c[((c[i >> 2] | 0) + 12) >> 2];
  16399. c[c[i >> 2] >> 2] =
  16400. d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
  16401. switch (c[k >> 2] | 0) {
  16402. case 7: {
  16403. e = c[i >> 2] | 0;
  16404. c[e >> 2] =
  16405. (c[e >> 2] | 0) +
  16406. ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
  16407. q = 10;
  16408. break;
  16409. }
  16410. case 6: {
  16411. q = 10;
  16412. break;
  16413. }
  16414. case 5: {
  16415. q = 11;
  16416. break;
  16417. }
  16418. case 4: {
  16419. q = 12;
  16420. break;
  16421. }
  16422. case 3: {
  16423. q = 13;
  16424. break;
  16425. }
  16426. case 2: {
  16427. q = 14;
  16428. break;
  16429. }
  16430. default: {
  16431. }
  16432. }
  16433. if ((q | 0) == 10) {
  16434. e = c[i >> 2] | 0;
  16435. c[e >> 2] =
  16436. (c[e >> 2] | 0) +
  16437. ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
  16438. q = 11;
  16439. }
  16440. if ((q | 0) == 11) {
  16441. e = c[i >> 2] | 0;
  16442. c[e >> 2] =
  16443. (c[e >> 2] | 0) +
  16444. ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
  16445. q = 12;
  16446. }
  16447. if ((q | 0) == 12) {
  16448. e = c[i >> 2] | 0;
  16449. c[e >> 2] =
  16450. (c[e >> 2] | 0) +
  16451. ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
  16452. q = 13;
  16453. }
  16454. if ((q | 0) == 13) {
  16455. e = c[i >> 2] | 0;
  16456. c[e >> 2] =
  16457. (c[e >> 2] | 0) +
  16458. ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
  16459. q = 14;
  16460. }
  16461. if ((q | 0) == 14) {
  16462. e = c[i >> 2] | 0;
  16463. c[e >> 2] =
  16464. (c[e >> 2] | 0) +
  16465. ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
  16466. }
  16467. a[n >> 0] =
  16468. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  16469. if (d[n >> 0] | 0 | 0)
  16470. r = (8 - (Rs(d[n >> 0] | 0) | 0)) | 0;
  16471. else r = 0;
  16472. c[((c[i >> 2] | 0) + 4) >> 2] = r;
  16473. if (d[n >> 0] | 0 | 0) {
  16474. e = ((c[i >> 2] | 0) + 4) | 0;
  16475. c[e >> 2] =
  16476. (c[e >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
  16477. break;
  16478. }
  16479. c[h >> 2] = -1;
  16480. o = c[h >> 2] | 0;
  16481. l = g;
  16482. return o | 0;
  16483. }
  16484. } while (0);
  16485. c[h >> 2] = c[k >> 2];
  16486. o = c[h >> 2] | 0;
  16487. l = g;
  16488. return o | 0;
  16489. }
  16490. function Es(a, b, d) {
  16491. a = a | 0;
  16492. b = b | 0;
  16493. d = d | 0;
  16494. var f = 0,
  16495. g = 0,
  16496. h = 0,
  16497. i = 0,
  16498. j = 0,
  16499. k = 0;
  16500. f = l;
  16501. l = (l + 32) | 0;
  16502. g = (f + 16) | 0;
  16503. h = (f + 12) | 0;
  16504. i = (f + 8) | 0;
  16505. j = (f + 4) | 0;
  16506. k = f;
  16507. c[g >> 2] = a;
  16508. c[h >> 2] = b;
  16509. c[i >> 2] = d;
  16510. c[j >> 2] = c[i >> 2];
  16511. c[k >> 2] = c[j >> 2];
  16512. j = Ms(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
  16513. c[c[g >> 2] >> 2] = j;
  16514. Fs(c[h >> 2] | 0) | 0;
  16515. c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
  16516. l = f;
  16517. return;
  16518. }
  16519. function Fs(a) {
  16520. a = a | 0;
  16521. var b = 0,
  16522. d = 0,
  16523. e = 0,
  16524. f = 0,
  16525. g = 0,
  16526. h = 0,
  16527. i = 0;
  16528. b = l;
  16529. l = (l + 16) | 0;
  16530. d = (b + 12) | 0;
  16531. e = (b + 8) | 0;
  16532. f = (b + 4) | 0;
  16533. g = b;
  16534. c[e >> 2] = a;
  16535. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  16536. c[d >> 2] = 3;
  16537. h = c[d >> 2] | 0;
  16538. l = b;
  16539. return h | 0;
  16540. }
  16541. a = c[e >> 2] | 0;
  16542. if (
  16543. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  16544. (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
  16545. ) {
  16546. i = ((c[e >> 2] | 0) + 8) | 0;
  16547. c[i >> 2] =
  16548. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  16549. i = ((c[e >> 2] | 0) + 4) | 0;
  16550. c[i >> 2] = c[i >> 2] & 7;
  16551. i = Qs(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  16552. c[c[e >> 2] >> 2] = i;
  16553. c[d >> 2] = 0;
  16554. h = c[d >> 2] | 0;
  16555. l = b;
  16556. return h | 0;
  16557. }
  16558. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  16559. if (
  16560. (c[(a + 8) >> 2] | 0) !=
  16561. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  16562. ) {
  16563. c[f >> 2] = i >>> 3;
  16564. c[g >> 2] = 0;
  16565. if (
  16566. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  16567. (0 - (c[f >> 2] | 0))) |
  16568. 0) >>>
  16569. 0 <
  16570. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  16571. ) {
  16572. c[f >> 2] =
  16573. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  16574. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  16575. c[g >> 2] = 1;
  16576. }
  16577. a = ((c[e >> 2] | 0) + 8) | 0;
  16578. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  16579. a = ((c[e >> 2] | 0) + 4) | 0;
  16580. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  16581. f = Qs(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  16582. c[c[e >> 2] >> 2] = f;
  16583. c[d >> 2] = c[g >> 2];
  16584. h = c[d >> 2] | 0;
  16585. l = b;
  16586. return h | 0;
  16587. }
  16588. if (i >>> 0 < 32) {
  16589. c[d >> 2] = 1;
  16590. h = c[d >> 2] | 0;
  16591. l = b;
  16592. return h | 0;
  16593. } else {
  16594. c[d >> 2] = 2;
  16595. h = c[d >> 2] | 0;
  16596. l = b;
  16597. return h | 0;
  16598. }
  16599. return 0;
  16600. }
  16601. function Gs(a, b) {
  16602. a = a | 0;
  16603. b = b | 0;
  16604. var d = 0,
  16605. e = 0,
  16606. f = 0,
  16607. g = 0,
  16608. h = 0,
  16609. i = 0,
  16610. j = 0,
  16611. k = 0,
  16612. m = 0,
  16613. n = 0,
  16614. o = 0,
  16615. p = 0,
  16616. q = 0,
  16617. r = 0,
  16618. s = 0,
  16619. t = 0,
  16620. u = 0;
  16621. d = l;
  16622. l = (l + 64) | 0;
  16623. e = (d + 48) | 0;
  16624. f = (d + 36) | 0;
  16625. g = (d + 32) | 0;
  16626. h = (d + 28) | 0;
  16627. i = (d + 24) | 0;
  16628. j = (d + 20) | 0;
  16629. k = (d + 16) | 0;
  16630. m = (d + 12) | 0;
  16631. n = (d + 8) | 0;
  16632. o = (d + 4) | 0;
  16633. p = d;
  16634. c[e >> 2] = b;
  16635. c[g >> 2] = (Ls(((c[e >> 2] | 0) + 16) | 0) | 0) & 255;
  16636. c[h >> 2] = (Ls(((c[e >> 2] | 0) + 32) | 0) | 0) & 255;
  16637. c[i >> 2] = (Ls(((c[e >> 2] | 0) + 24) | 0) | 0) & 255;
  16638. c[j >> 2] = c[(5696 + (c[g >> 2] << 2)) >> 2];
  16639. c[k >> 2] = c[(5840 + (c[h >> 2] << 2)) >> 2];
  16640. c[m >> 2] = c[i >> 2];
  16641. c[n >> 2] =
  16642. (c[j >> 2] | 0) + (c[k >> 2] | 0) + (c[m >> 2] | 0);
  16643. if (c[i >> 2] | 0) {
  16644. b = c[(5088 + (c[i >> 2] << 2)) >> 2] | 0;
  16645. c[o >> 2] = b + (Ms(c[e >> 2] | 0, c[m >> 2] | 0) | 0);
  16646. if (Dq() | 0) Fs(c[e >> 2] | 0) | 0;
  16647. } else c[o >> 2] = 0;
  16648. do {
  16649. if ((c[i >> 2] | 0) >>> 0 <= 1) {
  16650. if (
  16651. (((c[g >> 2] | 0) == 0) &
  16652. ((c[o >> 2] | 0) >>> 0 <= 1)) |
  16653. 0
  16654. )
  16655. c[o >> 2] = 1 - (c[o >> 2] | 0);
  16656. m = ((c[e >> 2] | 0) + 40) | 0;
  16657. if (!(c[o >> 2] | 0)) {
  16658. c[o >> 2] = c[m >> 2];
  16659. break;
  16660. }
  16661. c[p >> 2] = c[(m + (c[o >> 2] << 2)) >> 2];
  16662. if ((c[o >> 2] | 0) != 1)
  16663. c[((c[e >> 2] | 0) + 40 + 8) >> 2] =
  16664. c[((c[e >> 2] | 0) + 40 + 4) >> 2];
  16665. c[((c[e >> 2] | 0) + 40 + 4) >> 2] =
  16666. c[((c[e >> 2] | 0) + 40) >> 2];
  16667. m = c[p >> 2] | 0;
  16668. c[o >> 2] = m;
  16669. c[((c[e >> 2] | 0) + 40) >> 2] = m;
  16670. } else {
  16671. c[((c[e >> 2] | 0) + 40 + 8) >> 2] =
  16672. c[((c[e >> 2] | 0) + 40 + 4) >> 2];
  16673. c[((c[e >> 2] | 0) + 40 + 4) >> 2] =
  16674. c[((c[e >> 2] | 0) + 40) >> 2];
  16675. c[((c[e >> 2] | 0) + 40) >> 2] = c[o >> 2];
  16676. }
  16677. } while (0);
  16678. c[(f + 8) >> 2] = c[o >> 2];
  16679. o = c[(5216 + (c[h >> 2] << 2)) >> 2] | 0;
  16680. if ((c[h >> 2] | 0) >>> 0 > 31)
  16681. q = Ms(c[e >> 2] | 0, c[k >> 2] | 0) | 0;
  16682. else q = 0;
  16683. c[(f + 4) >> 2] = o + q;
  16684. if (
  16685. Dq() | 0
  16686. ? (((c[k >> 2] | 0) + (c[j >> 2] | 0)) | 0) >>> 0 > 24
  16687. : 0
  16688. )
  16689. Fs(c[e >> 2] | 0) | 0;
  16690. k = c[(6416 + (c[g >> 2] << 2)) >> 2] | 0;
  16691. if ((c[g >> 2] | 0) >>> 0 > 15)
  16692. r = Ms(c[e >> 2] | 0, c[j >> 2] | 0) | 0;
  16693. else r = 0;
  16694. c[f >> 2] = k + r;
  16695. r = (Dq() | 0) != 0;
  16696. if (r | ((c[n >> 2] | 0) >>> 0 > 31)) Fs(c[e >> 2] | 0) | 0;
  16697. Ns(((c[e >> 2] | 0) + 16) | 0, c[e >> 2] | 0);
  16698. Ns(((c[e >> 2] | 0) + 32) | 0, c[e >> 2] | 0);
  16699. if (!(Dq() | 0)) {
  16700. s = c[e >> 2] | 0;
  16701. t = (s + 24) | 0;
  16702. u = c[e >> 2] | 0;
  16703. Ns(t, u);
  16704. c[a >> 2] = c[f >> 2];
  16705. c[(a + 4) >> 2] = c[(f + 4) >> 2];
  16706. c[(a + 8) >> 2] = c[(f + 8) >> 2];
  16707. l = d;
  16708. return;
  16709. }
  16710. Fs(c[e >> 2] | 0) | 0;
  16711. s = c[e >> 2] | 0;
  16712. t = (s + 24) | 0;
  16713. u = c[e >> 2] | 0;
  16714. Ns(t, u);
  16715. c[a >> 2] = c[f >> 2];
  16716. c[(a + 4) >> 2] = c[(f + 4) >> 2];
  16717. c[(a + 8) >> 2] = c[(f + 8) >> 2];
  16718. l = d;
  16719. return;
  16720. }
  16721. function Hs(b, d, e, f, g, h, i, j) {
  16722. b = b | 0;
  16723. d = d | 0;
  16724. e = e | 0;
  16725. f = f | 0;
  16726. g = g | 0;
  16727. h = h | 0;
  16728. i = i | 0;
  16729. j = j | 0;
  16730. var k = 0,
  16731. m = 0,
  16732. n = 0,
  16733. o = 0,
  16734. p = 0,
  16735. q = 0,
  16736. r = 0,
  16737. s = 0,
  16738. t = 0,
  16739. u = 0,
  16740. v = 0,
  16741. w = 0,
  16742. x = 0,
  16743. y = 0,
  16744. z = 0,
  16745. A = 0,
  16746. B = 0,
  16747. C = 0;
  16748. k = l;
  16749. l = (l + 64) | 0;
  16750. m = (k + 60) | 0;
  16751. n = (k + 56) | 0;
  16752. o = (k + 52) | 0;
  16753. p = (k + 48) | 0;
  16754. q = (k + 44) | 0;
  16755. r = (k + 40) | 0;
  16756. s = (k + 36) | 0;
  16757. t = (k + 32) | 0;
  16758. u = (k + 28) | 0;
  16759. v = (k + 24) | 0;
  16760. w = (k + 20) | 0;
  16761. x = (k + 16) | 0;
  16762. y = (k + 12) | 0;
  16763. z = (k + 8) | 0;
  16764. A = (k + 4) | 0;
  16765. B = k;
  16766. c[n >> 2] = b;
  16767. c[o >> 2] = d;
  16768. c[p >> 2] = f;
  16769. c[q >> 2] = g;
  16770. c[r >> 2] = h;
  16771. c[s >> 2] = i;
  16772. c[t >> 2] = j;
  16773. c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
  16774. c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
  16775. c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
  16776. c[x >> 2] = (c[o >> 2] | 0) + -8;
  16777. c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
  16778. c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
  16779. if (
  16780. ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0
  16781. ? 1
  16782. : (c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) | 0
  16783. ) {
  16784. c[m >> 2] = -70;
  16785. C = c[m >> 2] | 0;
  16786. l = k;
  16787. return C | 0;
  16788. }
  16789. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
  16790. c[m >> 2] = -20;
  16791. C = c[m >> 2] | 0;
  16792. l = k;
  16793. return C | 0;
  16794. }
  16795. Is(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
  16796. c[n >> 2] = c[u >> 2];
  16797. c[c[p >> 2] >> 2] = c[y >> 2];
  16798. do {
  16799. if (
  16800. (c[(e + 8) >> 2] | 0) >>> 0 >
  16801. (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
  16802. ) {
  16803. if (
  16804. (c[(e + 8) >> 2] | 0) >>> 0 >
  16805. (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
  16806. ) {
  16807. c[m >> 2] = -20;
  16808. C = c[m >> 2] | 0;
  16809. l = k;
  16810. return C | 0;
  16811. }
  16812. c[z >> 2] =
  16813. (c[t >> 2] | 0) +
  16814. (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
  16815. if (
  16816. (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 <=
  16817. (c[t >> 2] | 0) >>> 0
  16818. ) {
  16819. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) |
  16820. 0;
  16821. c[m >> 2] = c[v >> 2];
  16822. C = c[m >> 2] | 0;
  16823. l = k;
  16824. return C | 0;
  16825. }
  16826. c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
  16827. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
  16828. c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
  16829. y = (e + 4) | 0;
  16830. c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
  16831. c[z >> 2] = c[r >> 2];
  16832. if (
  16833. (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
  16834. ? (c[(e + 4) >> 2] | 0) >>> 0 >= 3
  16835. : 0
  16836. )
  16837. break;
  16838. while (1) {
  16839. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  16840. break;
  16841. y = c[z >> 2] | 0;
  16842. c[z >> 2] = y + 1;
  16843. p = a[y >> 0] | 0;
  16844. y = c[n >> 2] | 0;
  16845. c[n >> 2] = y + 1;
  16846. a[y >> 0] = p;
  16847. }
  16848. c[m >> 2] = c[v >> 2];
  16849. C = c[m >> 2] | 0;
  16850. l = k;
  16851. return C | 0;
  16852. }
  16853. } while (0);
  16854. if ((c[(e + 8) >> 2] | 0) >>> 0 < 8) {
  16855. c[B >> 2] = c[(6816 + (c[(e + 8) >> 2] << 2)) >> 2];
  16856. a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
  16857. a[((c[n >> 2] | 0) + 1) >> 0] =
  16858. a[((c[z >> 2] | 0) + 1) >> 0] | 0;
  16859. a[((c[n >> 2] | 0) + 2) >> 0] =
  16860. a[((c[z >> 2] | 0) + 2) >> 0] | 0;
  16861. a[((c[n >> 2] | 0) + 3) >> 0] =
  16862. a[((c[z >> 2] | 0) + 3) >> 0] | 0;
  16863. c[z >> 2] =
  16864. (c[z >> 2] | 0) +
  16865. (c[(6848 + (c[(e + 8) >> 2] << 2)) >> 2] | 0);
  16866. Js(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
  16867. c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
  16868. } else Ks(c[n >> 2] | 0, c[z >> 2] | 0);
  16869. c[n >> 2] = (c[n >> 2] | 0) + 8;
  16870. c[z >> 2] = (c[z >> 2] | 0) + 8;
  16871. B = c[n >> 2] | 0;
  16872. a: do {
  16873. if (
  16874. (c[w >> 2] | 0) >>> 0 >
  16875. (((c[o >> 2] | 0) + -13) | 0) >>> 0
  16876. ) {
  16877. if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
  16878. Is(
  16879. c[n >> 2] | 0,
  16880. c[z >> 2] | 0,
  16881. ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
  16882. );
  16883. c[z >> 2] =
  16884. (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
  16885. c[n >> 2] = c[x >> 2];
  16886. }
  16887. while (1) {
  16888. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  16889. break a;
  16890. r = c[z >> 2] | 0;
  16891. c[z >> 2] = r + 1;
  16892. A = a[r >> 0] | 0;
  16893. r = c[n >> 2] | 0;
  16894. c[n >> 2] = r + 1;
  16895. a[r >> 0] = A;
  16896. }
  16897. } else
  16898. Is(B, c[z >> 2] | 0, ((c[(e + 4) >> 2] | 0) - 8) | 0);
  16899. } while (0);
  16900. c[m >> 2] = c[v >> 2];
  16901. C = c[m >> 2] | 0;
  16902. l = k;
  16903. return C | 0;
  16904. }
  16905. function Is(a, b, d) {
  16906. a = a | 0;
  16907. b = b | 0;
  16908. d = d | 0;
  16909. var e = 0,
  16910. f = 0,
  16911. g = 0,
  16912. h = 0,
  16913. i = 0,
  16914. j = 0,
  16915. k = 0;
  16916. e = l;
  16917. l = (l + 32) | 0;
  16918. f = (e + 20) | 0;
  16919. g = (e + 16) | 0;
  16920. h = (e + 12) | 0;
  16921. i = (e + 8) | 0;
  16922. j = (e + 4) | 0;
  16923. k = e;
  16924. c[f >> 2] = a;
  16925. c[g >> 2] = b;
  16926. c[h >> 2] = d;
  16927. c[i >> 2] = c[g >> 2];
  16928. c[j >> 2] = c[f >> 2];
  16929. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  16930. do {
  16931. Ks(c[j >> 2] | 0, c[i >> 2] | 0);
  16932. c[j >> 2] = (c[j >> 2] | 0) + 8;
  16933. c[i >> 2] = (c[i >> 2] | 0) + 8;
  16934. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  16935. l = e;
  16936. return;
  16937. }
  16938. function Js(b, d) {
  16939. b = b | 0;
  16940. d = d | 0;
  16941. var e = 0,
  16942. f = 0,
  16943. g = 0;
  16944. e = l;
  16945. l = (l + 16) | 0;
  16946. f = (e + 4) | 0;
  16947. g = e;
  16948. c[f >> 2] = b;
  16949. c[g >> 2] = d;
  16950. d = c[f >> 2] | 0;
  16951. f = c[g >> 2] | 0;
  16952. a[d >> 0] = a[f >> 0] | 0;
  16953. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  16954. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  16955. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  16956. l = e;
  16957. return;
  16958. }
  16959. function Ks(b, d) {
  16960. b = b | 0;
  16961. d = d | 0;
  16962. var e = 0,
  16963. f = 0,
  16964. g = 0;
  16965. e = l;
  16966. l = (l + 16) | 0;
  16967. f = (e + 4) | 0;
  16968. g = e;
  16969. c[f >> 2] = b;
  16970. c[g >> 2] = d;
  16971. d = c[f >> 2] | 0;
  16972. f = c[g >> 2] | 0;
  16973. a[d >> 0] = a[f >> 0] | 0;
  16974. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  16975. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  16976. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  16977. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  16978. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  16979. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  16980. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  16981. l = e;
  16982. return;
  16983. }
  16984. function Ls(d) {
  16985. d = d | 0;
  16986. var e = 0,
  16987. f = 0,
  16988. g = 0;
  16989. e = l;
  16990. l = (l + 16) | 0;
  16991. f = e;
  16992. g = (e + 4) | 0;
  16993. c[f >> 2] = d;
  16994. d =
  16995. ((c[((c[f >> 2] | 0) + 4) >> 2] | 0) +
  16996. (c[c[f >> 2] >> 2] << 2)) |
  16997. 0;
  16998. b[g >> 1] = b[d >> 1] | 0;
  16999. b[(g + 2) >> 1] = b[(d + 2) >> 1] | 0;
  17000. l = e;
  17001. return a[(g + 2) >> 0] | 0;
  17002. }
  17003. function Ms(a, b) {
  17004. a = a | 0;
  17005. b = b | 0;
  17006. var d = 0,
  17007. e = 0,
  17008. f = 0,
  17009. g = 0;
  17010. d = l;
  17011. l = (l + 16) | 0;
  17012. e = (d + 8) | 0;
  17013. f = (d + 4) | 0;
  17014. g = d;
  17015. c[e >> 2] = a;
  17016. c[f >> 2] = b;
  17017. c[g >> 2] = Os(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  17018. Ps(c[e >> 2] | 0, c[f >> 2] | 0);
  17019. l = d;
  17020. return c[g >> 2] | 0;
  17021. }
  17022. function Ns(a, f) {
  17023. a = a | 0;
  17024. f = f | 0;
  17025. var g = 0,
  17026. h = 0,
  17027. i = 0,
  17028. j = 0,
  17029. k = 0,
  17030. m = 0;
  17031. g = l;
  17032. l = (l + 32) | 0;
  17033. h = (g + 12) | 0;
  17034. i = (g + 8) | 0;
  17035. j = (g + 16) | 0;
  17036. k = (g + 4) | 0;
  17037. m = g;
  17038. c[h >> 2] = a;
  17039. c[i >> 2] = f;
  17040. f =
  17041. ((c[((c[h >> 2] | 0) + 4) >> 2] | 0) +
  17042. (c[c[h >> 2] >> 2] << 2)) |
  17043. 0;
  17044. b[j >> 1] = b[f >> 1] | 0;
  17045. b[(j + 2) >> 1] = b[(f + 2) >> 1] | 0;
  17046. c[k >> 2] = d[(j + 3) >> 0];
  17047. c[m >> 2] = Ms(c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  17048. c[c[h >> 2] >> 2] = (e[j >> 1] | 0) + (c[m >> 2] | 0);
  17049. l = g;
  17050. return;
  17051. }
  17052. function Os(a, b) {
  17053. a = a | 0;
  17054. b = b | 0;
  17055. var d = 0,
  17056. e = 0,
  17057. f = 0;
  17058. d = l;
  17059. l = (l + 16) | 0;
  17060. e = (d + 8) | 0;
  17061. f = (d + 4) | 0;
  17062. c[e >> 2] = a;
  17063. c[f >> 2] = b;
  17064. c[d >> 2] = 31;
  17065. l = d;
  17066. return (
  17067. (((c[c[e >> 2] >> 2] <<
  17068. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  17069. 1) >>>
  17070. ((31 - (c[f >> 2] | 0)) & 31)) |
  17071. 0
  17072. );
  17073. }
  17074. function Ps(a, b) {
  17075. a = a | 0;
  17076. b = b | 0;
  17077. var d = 0,
  17078. e = 0,
  17079. f = 0;
  17080. d = l;
  17081. l = (l + 16) | 0;
  17082. e = (d + 4) | 0;
  17083. f = d;
  17084. c[e >> 2] = a;
  17085. c[f >> 2] = b;
  17086. b = ((c[e >> 2] | 0) + 4) | 0;
  17087. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  17088. l = d;
  17089. return;
  17090. }
  17091. function Qs(a) {
  17092. a = a | 0;
  17093. var b = 0,
  17094. d = 0,
  17095. e = 0,
  17096. f = 0,
  17097. g = 0;
  17098. b = l;
  17099. l = (l + 16) | 0;
  17100. d = (b + 4) | 0;
  17101. e = b;
  17102. c[e >> 2] = a;
  17103. a = (Dq() | 0) != 0;
  17104. f = c[e >> 2] | 0;
  17105. if (a) {
  17106. c[d >> 2] = Bq(f) | 0;
  17107. g = c[d >> 2] | 0;
  17108. l = b;
  17109. return g | 0;
  17110. } else {
  17111. a = Fq(f) | 0;
  17112. c[d >> 2] = a;
  17113. g = c[d >> 2] | 0;
  17114. l = b;
  17115. return g | 0;
  17116. }
  17117. return 0;
  17118. }
  17119. function Rs(a) {
  17120. a = a | 0;
  17121. var b = 0,
  17122. d = 0;
  17123. b = l;
  17124. l = (l + 16) | 0;
  17125. d = b;
  17126. c[d >> 2] = a;
  17127. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  17128. l = b;
  17129. return a | 0;
  17130. }
  17131. function Ss(b, e, f, g, h, i, j, k, m) {
  17132. b = b | 0;
  17133. e = e | 0;
  17134. f = f | 0;
  17135. g = g | 0;
  17136. h = h | 0;
  17137. i = i | 0;
  17138. j = j | 0;
  17139. k = k | 0;
  17140. m = m | 0;
  17141. var n = 0,
  17142. o = 0,
  17143. p = 0,
  17144. q = 0,
  17145. r = 0,
  17146. s = 0,
  17147. t = 0,
  17148. u = 0,
  17149. v = 0,
  17150. w = 0,
  17151. x = 0,
  17152. y = 0,
  17153. z = 0,
  17154. A = 0;
  17155. n = l;
  17156. l = (l + 160) | 0;
  17157. o = (n + 152) | 0;
  17158. p = (n + 148) | 0;
  17159. q = (n + 144) | 0;
  17160. r = (n + 140) | 0;
  17161. s = (n + 136) | 0;
  17162. t = (n + 132) | 0;
  17163. u = (n + 128) | 0;
  17164. v = (n + 124) | 0;
  17165. w = (n + 120) | 0;
  17166. x = (n + 116) | 0;
  17167. y = (n + 112) | 0;
  17168. z = n;
  17169. A = (n + 108) | 0;
  17170. c[p >> 2] = b;
  17171. c[q >> 2] = e;
  17172. c[r >> 2] = f;
  17173. c[s >> 2] = g;
  17174. c[t >> 2] = h;
  17175. c[u >> 2] = i;
  17176. c[v >> 2] = j;
  17177. c[w >> 2] = k;
  17178. c[x >> 2] = m;
  17179. a: do {
  17180. switch (c[q >> 2] | 0) {
  17181. case 1: {
  17182. if (!(c[u >> 2] | 0)) {
  17183. c[o >> 2] = -72;
  17184. break a;
  17185. }
  17186. if (
  17187. (d[c[t >> 2] >> 0] | 0) >>> 0 >
  17188. (c[r >> 2] | 0) >>> 0
  17189. ) {
  17190. c[o >> 2] = -20;
  17191. break a;
  17192. } else {
  17193. Ts(c[p >> 2] | 0, a[c[t >> 2] >> 0] | 0) | 0;
  17194. c[o >> 2] = 1;
  17195. break a;
  17196. }
  17197. break;
  17198. }
  17199. case 0: {
  17200. Us(
  17201. c[p >> 2] | 0,
  17202. c[v >> 2] | 0,
  17203. c[r >> 2] | 0,
  17204. c[w >> 2] | 0
  17205. ) | 0;
  17206. c[o >> 2] = 0;
  17207. break;
  17208. }
  17209. case 2: {
  17210. if (c[x >> 2] | 0) {
  17211. c[o >> 2] = 0;
  17212. break a;
  17213. } else {
  17214. c[o >> 2] = -20;
  17215. break a;
  17216. }
  17217. break;
  17218. }
  17219. default: {
  17220. c[A >> 2] =
  17221. Vs(z, r, y, c[t >> 2] | 0, c[u >> 2] | 0) | 0;
  17222. if (hr(c[A >> 2] | 0) | 0) {
  17223. c[o >> 2] = -20;
  17224. break a;
  17225. }
  17226. if ((c[y >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  17227. c[o >> 2] = -20;
  17228. break a;
  17229. } else {
  17230. Us(c[p >> 2] | 0, z, c[r >> 2] | 0, c[y >> 2] | 0) |
  17231. 0;
  17232. c[o >> 2] = c[A >> 2];
  17233. break a;
  17234. }
  17235. }
  17236. }
  17237. } while (0);
  17238. l = n;
  17239. return c[o >> 2] | 0;
  17240. }
  17241. function Ts(d, e) {
  17242. d = d | 0;
  17243. e = e | 0;
  17244. var f = 0,
  17245. g = 0,
  17246. h = 0,
  17247. i = 0,
  17248. j = 0,
  17249. k = 0,
  17250. m = 0;
  17251. f = l;
  17252. l = (l + 32) | 0;
  17253. g = (f + 16) | 0;
  17254. h = (f + 20) | 0;
  17255. i = (f + 12) | 0;
  17256. j = (f + 8) | 0;
  17257. k = (f + 4) | 0;
  17258. m = f;
  17259. c[g >> 2] = d;
  17260. a[h >> 0] = e;
  17261. c[i >> 2] = c[g >> 2];
  17262. c[j >> 2] = c[i >> 2];
  17263. c[k >> 2] = (c[g >> 2] | 0) + 4;
  17264. c[m >> 2] = c[k >> 2];
  17265. b[c[j >> 2] >> 1] = 0;
  17266. b[((c[j >> 2] | 0) + 2) >> 1] = 0;
  17267. b[c[m >> 2] >> 1] = 0;
  17268. a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
  17269. a[((c[m >> 2] | 0) + 3) >> 0] = 0;
  17270. l = f;
  17271. return 0;
  17272. }
  17273. function Us(f, g, h, i) {
  17274. f = f | 0;
  17275. g = g | 0;
  17276. h = h | 0;
  17277. i = i | 0;
  17278. var j = 0,
  17279. k = 0,
  17280. m = 0,
  17281. n = 0,
  17282. o = 0,
  17283. p = 0,
  17284. q = 0,
  17285. r = 0,
  17286. s = 0,
  17287. t = 0,
  17288. u = 0,
  17289. v = 0,
  17290. w = 0,
  17291. x = 0,
  17292. y = 0,
  17293. z = 0,
  17294. A = 0,
  17295. B = 0,
  17296. C = 0,
  17297. D = 0,
  17298. E = 0,
  17299. F = 0,
  17300. G = 0,
  17301. H = 0,
  17302. I = 0;
  17303. j = l;
  17304. l = (l + 592) | 0;
  17305. k = (j + 576) | 0;
  17306. m = (j + 572) | 0;
  17307. n = (j + 568) | 0;
  17308. o = (j + 564) | 0;
  17309. p = (j + 560) | 0;
  17310. q = (j + 556) | 0;
  17311. r = (j + 552) | 0;
  17312. s = j;
  17313. t = (j + 548) | 0;
  17314. u = (j + 544) | 0;
  17315. v = (j + 540) | 0;
  17316. w = (j + 584) | 0;
  17317. x = (j + 582) | 0;
  17318. y = (j + 536) | 0;
  17319. z = (j + 532) | 0;
  17320. A = (j + 528) | 0;
  17321. B = (j + 524) | 0;
  17322. C = (j + 520) | 0;
  17323. D = (j + 516) | 0;
  17324. E = (j + 512) | 0;
  17325. F = (j + 588) | 0;
  17326. G = (j + 580) | 0;
  17327. c[m >> 2] = f;
  17328. c[n >> 2] = g;
  17329. c[o >> 2] = h;
  17330. c[p >> 2] = i;
  17331. c[q >> 2] = (c[m >> 2] | 0) + 4;
  17332. c[r >> 2] = c[q >> 2];
  17333. c[t >> 2] = (c[o >> 2] | 0) + 1;
  17334. c[u >> 2] = 1 << c[p >> 2];
  17335. c[v >> 2] = (c[u >> 2] | 0) - 1;
  17336. if ((c[o >> 2] | 0) >>> 0 > 255) {
  17337. c[k >> 2] = -46;
  17338. H = c[k >> 2] | 0;
  17339. l = j;
  17340. return H | 0;
  17341. }
  17342. if ((c[p >> 2] | 0) >>> 0 > 12) {
  17343. c[k >> 2] = -44;
  17344. H = c[k >> 2] | 0;
  17345. l = j;
  17346. return H | 0;
  17347. }
  17348. b[w >> 1] = c[p >> 2];
  17349. b[(w + 2) >> 1] = 1;
  17350. b[x >> 1] = 1 << ((c[p >> 2] | 0) - 1);
  17351. c[y >> 2] = 0;
  17352. while (1) {
  17353. if ((c[y >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  17354. if (
  17355. (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) ==
  17356. -1
  17357. ) {
  17358. o = c[y >> 2] & 255;
  17359. q = c[r >> 2] | 0;
  17360. i = c[v >> 2] | 0;
  17361. c[v >> 2] = i + -1;
  17362. a[(q + (i << 2) + 2) >> 0] = o;
  17363. b[(s + (c[y >> 2] << 1)) >> 1] = 1;
  17364. } else {
  17365. if (
  17366. (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) >=
  17367. (b[x >> 1] | 0)
  17368. )
  17369. b[(w + 2) >> 1] = 0;
  17370. b[(s + (c[y >> 2] << 1)) >> 1] =
  17371. b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0;
  17372. }
  17373. c[y >> 2] = (c[y >> 2] | 0) + 1;
  17374. }
  17375. y = c[m >> 2] | 0;
  17376. b[y >> 1] = b[w >> 1] | 0;
  17377. b[(y + 2) >> 1] = b[(w + 2) >> 1] | 0;
  17378. c[z >> 2] = (c[u >> 2] | 0) - 1;
  17379. c[A >> 2] =
  17380. ((c[u >> 2] | 0) >>> 1) + ((c[u >> 2] | 0) >>> 3) + 3;
  17381. c[C >> 2] = 0;
  17382. c[B >> 2] = 0;
  17383. while (1) {
  17384. if ((c[B >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  17385. c[D >> 2] = 0;
  17386. while (1) {
  17387. I = c[B >> 2] | 0;
  17388. if (
  17389. (c[D >> 2] | 0) >=
  17390. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
  17391. )
  17392. break;
  17393. a[((c[r >> 2] | 0) + (c[C >> 2] << 2) + 2) >> 0] = I;
  17394. c[C >> 2] =
  17395. ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
  17396. while (1) {
  17397. if ((c[C >> 2] | 0) >>> 0 <= (c[v >> 2] | 0) >>> 0)
  17398. break;
  17399. c[C >> 2] =
  17400. ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
  17401. }
  17402. c[D >> 2] = (c[D >> 2] | 0) + 1;
  17403. }
  17404. c[B >> 2] = I + 1;
  17405. }
  17406. if (c[C >> 2] | 0) {
  17407. c[k >> 2] = -1;
  17408. H = c[k >> 2] | 0;
  17409. l = j;
  17410. return H | 0;
  17411. }
  17412. c[E >> 2] = 0;
  17413. while (1) {
  17414. if ((c[E >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
  17415. a[F >> 0] =
  17416. a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 2) >> 0] | 0;
  17417. C = (s + (d[F >> 0] << 1)) | 0;
  17418. I = b[C >> 1] | 0;
  17419. b[C >> 1] = ((I + 1) << 16) >> 16;
  17420. b[G >> 1] = I;
  17421. I = c[p >> 2] | 0;
  17422. C = (I - (Rs(e[G >> 1] | 0) | 0)) & 255;
  17423. a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0] = C;
  17424. b[((c[r >> 2] | 0) + (c[E >> 2] << 2)) >> 1] =
  17425. (e[G >> 1] <<
  17426. d[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0]) -
  17427. (c[u >> 2] | 0);
  17428. c[E >> 2] = (c[E >> 2] | 0) + 1;
  17429. }
  17430. c[k >> 2] = 0;
  17431. H = c[k >> 2] | 0;
  17432. l = j;
  17433. return H | 0;
  17434. }
  17435. function Vs(a, d, e, f, g) {
  17436. a = a | 0;
  17437. d = d | 0;
  17438. e = e | 0;
  17439. f = f | 0;
  17440. g = g | 0;
  17441. var h = 0,
  17442. i = 0,
  17443. j = 0,
  17444. k = 0,
  17445. m = 0,
  17446. n = 0,
  17447. o = 0,
  17448. p = 0,
  17449. q = 0,
  17450. r = 0,
  17451. s = 0,
  17452. t = 0,
  17453. u = 0,
  17454. v = 0,
  17455. w = 0,
  17456. x = 0,
  17457. y = 0,
  17458. z = 0,
  17459. A = 0,
  17460. B = 0,
  17461. C = 0,
  17462. D = 0;
  17463. h = l;
  17464. l = (l + 80) | 0;
  17465. i = (h + 64) | 0;
  17466. j = (h + 60) | 0;
  17467. k = (h + 56) | 0;
  17468. m = (h + 52) | 0;
  17469. n = (h + 48) | 0;
  17470. o = (h + 44) | 0;
  17471. p = (h + 40) | 0;
  17472. q = (h + 36) | 0;
  17473. r = (h + 32) | 0;
  17474. s = (h + 28) | 0;
  17475. t = (h + 24) | 0;
  17476. u = (h + 20) | 0;
  17477. v = (h + 16) | 0;
  17478. w = (h + 12) | 0;
  17479. x = (h + 8) | 0;
  17480. y = (h + 4) | 0;
  17481. z = h;
  17482. A = (h + 70) | 0;
  17483. B = (h + 68) | 0;
  17484. c[j >> 2] = a;
  17485. c[k >> 2] = d;
  17486. c[m >> 2] = e;
  17487. c[n >> 2] = f;
  17488. c[o >> 2] = g;
  17489. c[p >> 2] = c[n >> 2];
  17490. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  17491. c[r >> 2] = c[p >> 2];
  17492. c[x >> 2] = 0;
  17493. c[y >> 2] = 0;
  17494. if ((c[o >> 2] | 0) >>> 0 < 4) {
  17495. c[i >> 2] = -72;
  17496. C = c[i >> 2] | 0;
  17497. l = h;
  17498. return C | 0;
  17499. }
  17500. c[v >> 2] = Bq(c[r >> 2] | 0) | 0;
  17501. c[s >> 2] = (c[v >> 2] & 15) + 5;
  17502. if ((c[s >> 2] | 0) > 15) {
  17503. c[i >> 2] = -44;
  17504. C = c[i >> 2] | 0;
  17505. l = h;
  17506. return C | 0;
  17507. }
  17508. c[v >> 2] = (c[v >> 2] | 0) >>> 4;
  17509. c[w >> 2] = 4;
  17510. c[c[m >> 2] >> 2] = c[s >> 2];
  17511. c[t >> 2] = (1 << c[s >> 2]) + 1;
  17512. c[u >> 2] = 1 << c[s >> 2];
  17513. c[s >> 2] = (c[s >> 2] | 0) + 1;
  17514. a: while (1) {
  17515. if ((c[t >> 2] | 0) <= 1) break;
  17516. if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
  17517. break;
  17518. do {
  17519. if (c[y >> 2] | 0) {
  17520. c[z >> 2] = c[x >> 2];
  17521. while (1) {
  17522. if (((c[v >> 2] & 65535) | 0) != 65535) break;
  17523. c[z >> 2] = (c[z >> 2] | 0) + 24;
  17524. if (
  17525. (c[r >> 2] | 0) >>> 0 <
  17526. (((c[q >> 2] | 0) + -5) | 0) >>> 0
  17527. ) {
  17528. c[r >> 2] = (c[r >> 2] | 0) + 2;
  17529. m = Bq(c[r >> 2] | 0) | 0;
  17530. c[v >> 2] = m >>> (c[w >> 2] | 0);
  17531. } else {
  17532. c[v >> 2] = (c[v >> 2] | 0) >>> 16;
  17533. c[w >> 2] = (c[w >> 2] | 0) + 16;
  17534. }
  17535. }
  17536. while (1) {
  17537. if (((c[v >> 2] & 3) | 0) != 3) break;
  17538. c[z >> 2] = (c[z >> 2] | 0) + 3;
  17539. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  17540. c[w >> 2] = (c[w >> 2] | 0) + 2;
  17541. }
  17542. c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
  17543. c[w >> 2] = (c[w >> 2] | 0) + 2;
  17544. if (
  17545. (c[z >> 2] | 0) >>> 0 >
  17546. (c[c[k >> 2] >> 2] | 0) >>> 0
  17547. ) {
  17548. D = 19;
  17549. break a;
  17550. }
  17551. while (1) {
  17552. if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
  17553. break;
  17554. m = c[j >> 2] | 0;
  17555. n = c[x >> 2] | 0;
  17556. c[x >> 2] = n + 1;
  17557. b[(m + (n << 1)) >> 1] = 0;
  17558. }
  17559. if (
  17560. (c[r >> 2] | 0) >>> 0 >
  17561. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  17562. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  17563. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  17564. : 0
  17565. ) {
  17566. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  17567. break;
  17568. }
  17569. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  17570. c[w >> 2] = c[w >> 2] & 7;
  17571. n = Bq(c[r >> 2] | 0) | 0;
  17572. c[v >> 2] = n >>> (c[w >> 2] | 0);
  17573. }
  17574. } while (0);
  17575. b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
  17576. n = c[v >> 2] | 0;
  17577. m = c[u >> 2] | 0;
  17578. if (
  17579. (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
  17580. (b[A >> 1] | 0) >>> 0
  17581. ) {
  17582. b[B >> 1] = n & (m - 1);
  17583. c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
  17584. } else {
  17585. b[B >> 1] = n & ((m << 1) - 1);
  17586. if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
  17587. b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
  17588. c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
  17589. }
  17590. b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
  17591. m = ((Ws(b[B >> 1] | 0) | 0) << 16) >> 16;
  17592. c[t >> 2] = (c[t >> 2] | 0) - m;
  17593. m = b[B >> 1] | 0;
  17594. n = c[j >> 2] | 0;
  17595. g = c[x >> 2] | 0;
  17596. c[x >> 2] = g + 1;
  17597. b[(n + (g << 1)) >> 1] = m;
  17598. c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
  17599. while (1) {
  17600. if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
  17601. c[s >> 2] = (c[s >> 2] | 0) + -1;
  17602. c[u >> 2] = c[u >> 2] >> 1;
  17603. }
  17604. if (
  17605. (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
  17606. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  17607. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  17608. : 0
  17609. ) {
  17610. c[w >> 2] =
  17611. (c[w >> 2] | 0) -
  17612. (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
  17613. c[r >> 2] = (c[q >> 2] | 0) + -4;
  17614. } else {
  17615. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  17616. c[w >> 2] = c[w >> 2] & 7;
  17617. }
  17618. m = Bq(c[r >> 2] | 0) | 0;
  17619. c[v >> 2] = m >>> (c[w >> 2] & 31);
  17620. }
  17621. if ((D | 0) == 19) {
  17622. c[i >> 2] = -48;
  17623. C = c[i >> 2] | 0;
  17624. l = h;
  17625. return C | 0;
  17626. }
  17627. if ((c[t >> 2] | 0) != 1) {
  17628. c[i >> 2] = -1;
  17629. C = c[i >> 2] | 0;
  17630. l = h;
  17631. return C | 0;
  17632. }
  17633. c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
  17634. c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
  17635. if (
  17636. (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
  17637. (c[o >> 2] | 0) >>> 0
  17638. ) {
  17639. c[i >> 2] = -72;
  17640. C = c[i >> 2] | 0;
  17641. l = h;
  17642. return C | 0;
  17643. } else {
  17644. c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
  17645. C = c[i >> 2] | 0;
  17646. l = h;
  17647. return C | 0;
  17648. }
  17649. return 0;
  17650. }
  17651. function Ws(a) {
  17652. a = a | 0;
  17653. var c = 0,
  17654. d = 0;
  17655. c = l;
  17656. l = (l + 16) | 0;
  17657. d = c;
  17658. b[d >> 1] = a;
  17659. a = b[d >> 1] | 0;
  17660. l = c;
  17661. return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
  17662. }
  17663. function Xs(a, b, d, e, f) {
  17664. a = a | 0;
  17665. b = b | 0;
  17666. d = d | 0;
  17667. e = e | 0;
  17668. f = f | 0;
  17669. var g = 0,
  17670. h = 0,
  17671. i = 0,
  17672. j = 0,
  17673. k = 0,
  17674. m = 0,
  17675. n = 0,
  17676. o = 0,
  17677. p = 0,
  17678. q = 0;
  17679. g = l;
  17680. l = (l + 32) | 0;
  17681. h = (g + 28) | 0;
  17682. i = (g + 24) | 0;
  17683. j = (g + 20) | 0;
  17684. k = (g + 16) | 0;
  17685. m = (g + 12) | 0;
  17686. n = (g + 8) | 0;
  17687. o = (g + 4) | 0;
  17688. p = g;
  17689. c[i >> 2] = a;
  17690. c[j >> 2] = b;
  17691. c[k >> 2] = d;
  17692. c[m >> 2] = e;
  17693. c[n >> 2] = f;
  17694. c[o >> 2] = c[m >> 2];
  17695. c[p >> 2] =
  17696. kt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  17697. m = (at(c[p >> 2] | 0) | 0) != 0;
  17698. f = c[p >> 2] | 0;
  17699. if (m) {
  17700. c[h >> 2] = f;
  17701. q = c[h >> 2] | 0;
  17702. l = g;
  17703. return q | 0;
  17704. }
  17705. if (f >>> 0 >= (c[n >> 2] | 0) >>> 0) {
  17706. c[h >> 2] = -72;
  17707. q = c[h >> 2] | 0;
  17708. l = g;
  17709. return q | 0;
  17710. } else {
  17711. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  17712. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  17713. c[h >> 2] =
  17714. Bt(
  17715. c[j >> 2] | 0,
  17716. c[k >> 2] | 0,
  17717. c[o >> 2] | 0,
  17718. c[n >> 2] | 0,
  17719. c[i >> 2] | 0
  17720. ) | 0;
  17721. q = c[h >> 2] | 0;
  17722. l = g;
  17723. return q | 0;
  17724. }
  17725. return 0;
  17726. }
  17727. function Ys(a, b, d, e, f) {
  17728. a = a | 0;
  17729. b = b | 0;
  17730. d = d | 0;
  17731. e = e | 0;
  17732. f = f | 0;
  17733. var g = 0,
  17734. h = 0,
  17735. i = 0,
  17736. j = 0,
  17737. k = 0,
  17738. m = 0,
  17739. n = 0,
  17740. o = 0,
  17741. p = 0,
  17742. q = 0;
  17743. g = l;
  17744. l = (l + 32) | 0;
  17745. h = (g + 24) | 0;
  17746. i = (g + 20) | 0;
  17747. j = (g + 16) | 0;
  17748. k = (g + 12) | 0;
  17749. m = (g + 8) | 0;
  17750. n = (g + 4) | 0;
  17751. o = g;
  17752. c[i >> 2] = a;
  17753. c[j >> 2] = b;
  17754. c[k >> 2] = d;
  17755. c[m >> 2] = e;
  17756. c[n >> 2] = f;
  17757. if (!(c[k >> 2] | 0)) {
  17758. c[h >> 2] = -70;
  17759. p = c[h >> 2] | 0;
  17760. l = g;
  17761. return p | 0;
  17762. }
  17763. if (
  17764. (c[n >> 2] | 0) >>> 0 <= 1
  17765. ? 1
  17766. : (c[n >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0
  17767. ) {
  17768. c[h >> 2] = -20;
  17769. p = c[h >> 2] | 0;
  17770. l = g;
  17771. return p | 0;
  17772. }
  17773. c[o >> 2] = ht(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
  17774. f = c[i >> 2] | 0;
  17775. i = c[j >> 2] | 0;
  17776. j = c[k >> 2] | 0;
  17777. k = c[m >> 2] | 0;
  17778. m = c[n >> 2] | 0;
  17779. if (c[o >> 2] | 0) q = it(f, i, j, k, m) | 0;
  17780. else q = jt(f, i, j, k, m) | 0;
  17781. c[h >> 2] = q;
  17782. p = c[h >> 2] | 0;
  17783. l = g;
  17784. return p | 0;
  17785. }
  17786. function Zs(a, b, e, f, g) {
  17787. a = a | 0;
  17788. b = b | 0;
  17789. e = e | 0;
  17790. f = f | 0;
  17791. g = g | 0;
  17792. var h = 0,
  17793. i = 0,
  17794. j = 0,
  17795. k = 0,
  17796. m = 0,
  17797. n = 0,
  17798. o = 0,
  17799. p = 0,
  17800. q = 0;
  17801. h = l;
  17802. l = (l + 32) | 0;
  17803. i = (h + 20) | 0;
  17804. j = (h + 16) | 0;
  17805. k = (h + 12) | 0;
  17806. m = (h + 8) | 0;
  17807. n = (h + 4) | 0;
  17808. o = h;
  17809. p = (h + 24) | 0;
  17810. c[j >> 2] = a;
  17811. c[k >> 2] = b;
  17812. c[m >> 2] = e;
  17813. c[n >> 2] = f;
  17814. c[o >> 2] = g;
  17815. _s(p, c[o >> 2] | 0);
  17816. if ((d[(p + 1) >> 0] | 0 | 0) != 1) {
  17817. c[i >> 2] = -1;
  17818. q = c[i >> 2] | 0;
  17819. l = h;
  17820. return q | 0;
  17821. } else {
  17822. c[i >> 2] =
  17823. $s(
  17824. c[j >> 2] | 0,
  17825. c[k >> 2] | 0,
  17826. c[m >> 2] | 0,
  17827. c[n >> 2] | 0,
  17828. c[o >> 2] | 0
  17829. ) | 0;
  17830. q = c[i >> 2] | 0;
  17831. l = h;
  17832. return q | 0;
  17833. }
  17834. return 0;
  17835. }
  17836. function _s(b, d) {
  17837. b = b | 0;
  17838. d = d | 0;
  17839. var e = 0,
  17840. f = 0,
  17841. g = 0;
  17842. e = l;
  17843. l = (l + 16) | 0;
  17844. f = e;
  17845. g = (e + 4) | 0;
  17846. c[f >> 2] = d;
  17847. d = c[f >> 2] | 0;
  17848. a[g >> 0] = a[d >> 0] | 0;
  17849. a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
  17850. a[(g + 2) >> 0] = a[(d + 2) >> 0] | 0;
  17851. a[(g + 3) >> 0] = a[(d + 3) >> 0] | 0;
  17852. a[b >> 0] = a[g >> 0] | 0;
  17853. a[(b + 1) >> 0] = a[(g + 1) >> 0] | 0;
  17854. a[(b + 2) >> 0] = a[(g + 2) >> 0] | 0;
  17855. a[(b + 3) >> 0] = a[(g + 3) >> 0] | 0;
  17856. l = e;
  17857. return;
  17858. }
  17859. function $s(a, b, e, f, g) {
  17860. a = a | 0;
  17861. b = b | 0;
  17862. e = e | 0;
  17863. f = f | 0;
  17864. g = g | 0;
  17865. var h = 0,
  17866. i = 0,
  17867. j = 0,
  17868. k = 0,
  17869. m = 0,
  17870. n = 0,
  17871. o = 0,
  17872. p = 0,
  17873. q = 0,
  17874. r = 0,
  17875. s = 0,
  17876. t = 0,
  17877. u = 0,
  17878. v = 0,
  17879. w = 0;
  17880. h = l;
  17881. l = (l + 80) | 0;
  17882. i = (h + 60) | 0;
  17883. j = (h + 56) | 0;
  17884. k = (h + 52) | 0;
  17885. m = (h + 48) | 0;
  17886. n = (h + 44) | 0;
  17887. o = (h + 40) | 0;
  17888. p = (h + 24) | 0;
  17889. q = (h + 16) | 0;
  17890. r = (h + 12) | 0;
  17891. s = (h + 8) | 0;
  17892. t = (h + 4) | 0;
  17893. u = h;
  17894. v = (h + 64) | 0;
  17895. c[j >> 2] = a;
  17896. c[k >> 2] = b;
  17897. c[m >> 2] = e;
  17898. c[n >> 2] = f;
  17899. c[o >> 2] = g;
  17900. c[q >> 2] = Ds(p, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  17901. if (at(c[q >> 2] | 0) | 0) {
  17902. c[i >> 2] = c[q >> 2];
  17903. w = c[i >> 2] | 0;
  17904. l = h;
  17905. return w | 0;
  17906. }
  17907. c[r >> 2] = c[j >> 2];
  17908. c[s >> 2] = (c[r >> 2] | 0) + (c[k >> 2] | 0);
  17909. c[t >> 2] = (c[o >> 2] | 0) + 4;
  17910. c[u >> 2] = c[t >> 2];
  17911. _s(v, c[o >> 2] | 0);
  17912. bt(
  17913. c[r >> 2] | 0,
  17914. p,
  17915. c[s >> 2] | 0,
  17916. c[u >> 2] | 0,
  17917. d[(v + 2) >> 0] | 0
  17918. ) | 0;
  17919. if (ct(p) | 0) {
  17920. c[i >> 2] = c[k >> 2];
  17921. w = c[i >> 2] | 0;
  17922. l = h;
  17923. return w | 0;
  17924. } else {
  17925. c[i >> 2] = -20;
  17926. w = c[i >> 2] | 0;
  17927. l = h;
  17928. return w | 0;
  17929. }
  17930. return 0;
  17931. }
  17932. function at(a) {
  17933. a = a | 0;
  17934. var b = 0,
  17935. d = 0;
  17936. b = l;
  17937. l = (l + 16) | 0;
  17938. d = b;
  17939. c[d >> 2] = a;
  17940. a = hr(c[d >> 2] | 0) | 0;
  17941. l = b;
  17942. return a | 0;
  17943. }
  17944. function bt(a, b, d, e, f) {
  17945. a = a | 0;
  17946. b = b | 0;
  17947. d = d | 0;
  17948. e = e | 0;
  17949. f = f | 0;
  17950. var g = 0,
  17951. h = 0,
  17952. i = 0,
  17953. j = 0,
  17954. k = 0,
  17955. m = 0,
  17956. n = 0,
  17957. o = 0,
  17958. p = 0,
  17959. q = 0,
  17960. r = 0,
  17961. s = 0,
  17962. t = 0;
  17963. g = l;
  17964. l = (l + 32) | 0;
  17965. h = (g + 20) | 0;
  17966. i = (g + 16) | 0;
  17967. j = (g + 12) | 0;
  17968. k = (g + 8) | 0;
  17969. m = (g + 4) | 0;
  17970. n = g;
  17971. c[h >> 2] = a;
  17972. c[i >> 2] = b;
  17973. c[j >> 2] = d;
  17974. c[k >> 2] = e;
  17975. c[m >> 2] = f;
  17976. c[n >> 2] = c[h >> 2];
  17977. while (1) {
  17978. if (Fs(c[i >> 2] | 0) | 0) break;
  17979. if (
  17980. (c[h >> 2] | 0) >>> 0 >=
  17981. (((c[j >> 2] | 0) + -7) | 0) >>> 0
  17982. )
  17983. break;
  17984. if (dt() | 0) {
  17985. f =
  17986. et(
  17987. c[h >> 2] | 0,
  17988. c[i >> 2] | 0,
  17989. c[k >> 2] | 0,
  17990. c[m >> 2] | 0
  17991. ) | 0;
  17992. c[h >> 2] = (c[h >> 2] | 0) + f;
  17993. }
  17994. dt() | 0;
  17995. f =
  17996. et(
  17997. c[h >> 2] | 0,
  17998. c[i >> 2] | 0,
  17999. c[k >> 2] | 0,
  18000. c[m >> 2] | 0
  18001. ) | 0;
  18002. c[h >> 2] = (c[h >> 2] | 0) + f;
  18003. if (dt() | 0) {
  18004. f =
  18005. et(
  18006. c[h >> 2] | 0,
  18007. c[i >> 2] | 0,
  18008. c[k >> 2] | 0,
  18009. c[m >> 2] | 0
  18010. ) | 0;
  18011. c[h >> 2] = (c[h >> 2] | 0) + f;
  18012. }
  18013. f =
  18014. et(
  18015. c[h >> 2] | 0,
  18016. c[i >> 2] | 0,
  18017. c[k >> 2] | 0,
  18018. c[m >> 2] | 0
  18019. ) | 0;
  18020. c[h >> 2] = (c[h >> 2] | 0) + f;
  18021. }
  18022. while (1) {
  18023. if (Fs(c[i >> 2] | 0) | 0) break;
  18024. if (
  18025. (c[h >> 2] | 0) >>> 0 >
  18026. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  18027. )
  18028. break;
  18029. f =
  18030. et(
  18031. c[h >> 2] | 0,
  18032. c[i >> 2] | 0,
  18033. c[k >> 2] | 0,
  18034. c[m >> 2] | 0
  18035. ) | 0;
  18036. c[h >> 2] = (c[h >> 2] | 0) + f;
  18037. }
  18038. while (1) {
  18039. o = c[h >> 2] | 0;
  18040. if (
  18041. (c[h >> 2] | 0) >>> 0 >
  18042. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  18043. )
  18044. break;
  18045. f = et(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  18046. c[h >> 2] = (c[h >> 2] | 0) + f;
  18047. }
  18048. if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
  18049. p = c[h >> 2] | 0;
  18050. q = c[n >> 2] | 0;
  18051. r = p;
  18052. s = q;
  18053. t = (r - s) | 0;
  18054. l = g;
  18055. return t | 0;
  18056. }
  18057. j =
  18058. ft(
  18059. c[h >> 2] | 0,
  18060. c[i >> 2] | 0,
  18061. c[k >> 2] | 0,
  18062. c[m >> 2] | 0
  18063. ) | 0;
  18064. c[h >> 2] = (c[h >> 2] | 0) + j;
  18065. p = c[h >> 2] | 0;
  18066. q = c[n >> 2] | 0;
  18067. r = p;
  18068. s = q;
  18069. t = (r - s) | 0;
  18070. l = g;
  18071. return t | 0;
  18072. }
  18073. function ct(a) {
  18074. a = a | 0;
  18075. var b = 0,
  18076. d = 0,
  18077. e = 0,
  18078. f = 0;
  18079. b = l;
  18080. l = (l + 16) | 0;
  18081. d = b;
  18082. c[d >> 2] = a;
  18083. if (
  18084. (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
  18085. (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
  18086. ) {
  18087. e = 0;
  18088. f = e & 1;
  18089. l = b;
  18090. return f | 0;
  18091. }
  18092. e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
  18093. f = e & 1;
  18094. l = b;
  18095. return f | 0;
  18096. }
  18097. function dt() {
  18098. return 0;
  18099. }
  18100. function et(b, e, f, g) {
  18101. b = b | 0;
  18102. e = e | 0;
  18103. f = f | 0;
  18104. g = g | 0;
  18105. var h = 0,
  18106. i = 0,
  18107. j = 0,
  18108. k = 0,
  18109. m = 0,
  18110. n = 0;
  18111. h = l;
  18112. l = (l + 32) | 0;
  18113. i = (h + 16) | 0;
  18114. j = (h + 12) | 0;
  18115. k = (h + 8) | 0;
  18116. m = (h + 4) | 0;
  18117. n = h;
  18118. c[i >> 2] = b;
  18119. c[j >> 2] = e;
  18120. c[k >> 2] = f;
  18121. c[m >> 2] = g;
  18122. c[n >> 2] = gt(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  18123. m = c[i >> 2] | 0;
  18124. i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
  18125. a[m >> 0] = a[i >> 0] | 0;
  18126. a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
  18127. Ps(
  18128. c[j >> 2] | 0,
  18129. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  18130. );
  18131. l = h;
  18132. return (
  18133. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
  18134. );
  18135. }
  18136. function ft(b, e, f, g) {
  18137. b = b | 0;
  18138. e = e | 0;
  18139. f = f | 0;
  18140. g = g | 0;
  18141. var h = 0,
  18142. i = 0,
  18143. j = 0,
  18144. k = 0,
  18145. m = 0,
  18146. n = 0;
  18147. h = l;
  18148. l = (l + 32) | 0;
  18149. i = (h + 16) | 0;
  18150. j = (h + 12) | 0;
  18151. k = (h + 8) | 0;
  18152. m = (h + 4) | 0;
  18153. n = h;
  18154. c[i >> 2] = b;
  18155. c[j >> 2] = e;
  18156. c[k >> 2] = f;
  18157. c[m >> 2] = g;
  18158. c[n >> 2] = gt(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  18159. a[c[i >> 2] >> 0] =
  18160. a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
  18161. i = c[j >> 2] | 0;
  18162. if (
  18163. (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
  18164. 0 |
  18165. 0) ==
  18166. 1
  18167. ) {
  18168. Ps(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
  18169. l = h;
  18170. return 1;
  18171. }
  18172. if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
  18173. l = h;
  18174. return 1;
  18175. }
  18176. Ps(
  18177. c[j >> 2] | 0,
  18178. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  18179. );
  18180. if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
  18181. l = h;
  18182. return 1;
  18183. }
  18184. c[((c[j >> 2] | 0) + 4) >> 2] = 32;
  18185. l = h;
  18186. return 1;
  18187. }
  18188. function gt(a, b) {
  18189. a = a | 0;
  18190. b = b | 0;
  18191. var d = 0,
  18192. e = 0,
  18193. f = 0;
  18194. d = l;
  18195. l = (l + 16) | 0;
  18196. e = (d + 8) | 0;
  18197. f = (d + 4) | 0;
  18198. c[e >> 2] = a;
  18199. c[f >> 2] = b;
  18200. c[d >> 2] = 31;
  18201. l = d;
  18202. return (
  18203. ((c[c[e >> 2] >> 2] <<
  18204. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  18205. ((32 - (c[f >> 2] | 0)) & 31)) |
  18206. 0
  18207. );
  18208. }
  18209. function ht(a, b) {
  18210. a = a | 0;
  18211. b = b | 0;
  18212. var d = 0,
  18213. e = 0,
  18214. f = 0,
  18215. g = 0,
  18216. h = 0,
  18217. i = 0,
  18218. j = 0;
  18219. d = l;
  18220. l = (l + 32) | 0;
  18221. e = (d + 20) | 0;
  18222. f = (d + 16) | 0;
  18223. g = (d + 12) | 0;
  18224. h = (d + 8) | 0;
  18225. i = (d + 4) | 0;
  18226. j = d;
  18227. c[e >> 2] = a;
  18228. c[f >> 2] = b;
  18229. c[g >> 2] =
  18230. (((c[f >> 2] << 4) >>> 0) / ((c[e >> 2] | 0) >>> 0)) | 0;
  18231. c[h >> 2] = (c[e >> 2] | 0) >>> 8;
  18232. c[i >> 2] =
  18233. (c[(7008 + (((c[g >> 2] | 0) * 24) | 0)) >> 2] | 0) +
  18234. (N(
  18235. c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 4) >> 2] | 0,
  18236. c[h >> 2] | 0
  18237. ) |
  18238. 0);
  18239. c[j >> 2] =
  18240. (c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8) >> 2] | 0) +
  18241. (N(
  18242. c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8 + 4) >> 2] | 0,
  18243. c[h >> 2] | 0
  18244. ) |
  18245. 0);
  18246. c[j >> 2] = (c[j >> 2] | 0) + ((c[j >> 2] | 0) >>> 3);
  18247. l = d;
  18248. return ((c[j >> 2] | 0) >>> 0 < (c[i >> 2] | 0) >>> 0) | 0;
  18249. }
  18250. function it(a, b, d, e, f) {
  18251. a = a | 0;
  18252. b = b | 0;
  18253. d = d | 0;
  18254. e = e | 0;
  18255. f = f | 0;
  18256. var g = 0,
  18257. h = 0,
  18258. i = 0,
  18259. j = 0,
  18260. k = 0,
  18261. m = 0,
  18262. n = 0,
  18263. o = 0,
  18264. p = 0,
  18265. q = 0;
  18266. g = l;
  18267. l = (l + 32) | 0;
  18268. h = (g + 28) | 0;
  18269. i = (g + 24) | 0;
  18270. j = (g + 20) | 0;
  18271. k = (g + 16) | 0;
  18272. m = (g + 12) | 0;
  18273. n = (g + 8) | 0;
  18274. o = (g + 4) | 0;
  18275. p = g;
  18276. c[i >> 2] = a;
  18277. c[j >> 2] = b;
  18278. c[k >> 2] = d;
  18279. c[m >> 2] = e;
  18280. c[n >> 2] = f;
  18281. c[o >> 2] = c[m >> 2];
  18282. c[p >> 2] =
  18283. vt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18284. m = (at(c[p >> 2] | 0) | 0) != 0;
  18285. f = c[p >> 2] | 0;
  18286. if (m) {
  18287. c[h >> 2] = f;
  18288. q = c[h >> 2] | 0;
  18289. l = g;
  18290. return q | 0;
  18291. }
  18292. if (f >>> 0 >= (c[n >> 2] | 0) >>> 0) {
  18293. c[h >> 2] = -72;
  18294. q = c[h >> 2] | 0;
  18295. l = g;
  18296. return q | 0;
  18297. } else {
  18298. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  18299. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  18300. c[h >> 2] =
  18301. wt(
  18302. c[j >> 2] | 0,
  18303. c[k >> 2] | 0,
  18304. c[o >> 2] | 0,
  18305. c[n >> 2] | 0,
  18306. c[i >> 2] | 0
  18307. ) | 0;
  18308. q = c[h >> 2] | 0;
  18309. l = g;
  18310. return q | 0;
  18311. }
  18312. return 0;
  18313. }
  18314. function jt(a, b, d, e, f) {
  18315. a = a | 0;
  18316. b = b | 0;
  18317. d = d | 0;
  18318. e = e | 0;
  18319. f = f | 0;
  18320. var g = 0,
  18321. h = 0,
  18322. i = 0,
  18323. j = 0,
  18324. k = 0,
  18325. m = 0,
  18326. n = 0,
  18327. o = 0,
  18328. p = 0,
  18329. q = 0;
  18330. g = l;
  18331. l = (l + 32) | 0;
  18332. h = (g + 28) | 0;
  18333. i = (g + 24) | 0;
  18334. j = (g + 20) | 0;
  18335. k = (g + 16) | 0;
  18336. m = (g + 12) | 0;
  18337. n = (g + 8) | 0;
  18338. o = (g + 4) | 0;
  18339. p = g;
  18340. c[i >> 2] = a;
  18341. c[j >> 2] = b;
  18342. c[k >> 2] = d;
  18343. c[m >> 2] = e;
  18344. c[n >> 2] = f;
  18345. c[o >> 2] = c[m >> 2];
  18346. c[p >> 2] =
  18347. kt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18348. m = (at(c[p >> 2] | 0) | 0) != 0;
  18349. f = c[p >> 2] | 0;
  18350. if (m) {
  18351. c[h >> 2] = f;
  18352. q = c[h >> 2] | 0;
  18353. l = g;
  18354. return q | 0;
  18355. }
  18356. if (f >>> 0 >= (c[n >> 2] | 0) >>> 0) {
  18357. c[h >> 2] = -72;
  18358. q = c[h >> 2] | 0;
  18359. l = g;
  18360. return q | 0;
  18361. } else {
  18362. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  18363. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  18364. c[h >> 2] =
  18365. lt(
  18366. c[j >> 2] | 0,
  18367. c[k >> 2] | 0,
  18368. c[o >> 2] | 0,
  18369. c[n >> 2] | 0,
  18370. c[i >> 2] | 0
  18371. ) | 0;
  18372. q = c[h >> 2] | 0;
  18373. l = g;
  18374. return q | 0;
  18375. }
  18376. return 0;
  18377. }
  18378. function kt(b, e, f) {
  18379. b = b | 0;
  18380. e = e | 0;
  18381. f = f | 0;
  18382. var g = 0,
  18383. h = 0,
  18384. i = 0,
  18385. j = 0,
  18386. k = 0,
  18387. m = 0,
  18388. n = 0,
  18389. o = 0,
  18390. p = 0,
  18391. q = 0,
  18392. r = 0,
  18393. s = 0,
  18394. t = 0,
  18395. u = 0,
  18396. v = 0,
  18397. w = 0,
  18398. x = 0,
  18399. y = 0,
  18400. z = 0,
  18401. A = 0,
  18402. B = 0,
  18403. C = 0;
  18404. g = l;
  18405. l = (l + 416) | 0;
  18406. h = (g + 396) | 0;
  18407. i = (g + 392) | 0;
  18408. j = (g + 388) | 0;
  18409. k = (g + 384) | 0;
  18410. m = (g + 80) | 0;
  18411. n = g;
  18412. o = (g + 380) | 0;
  18413. p = (g + 376) | 0;
  18414. q = (g + 372) | 0;
  18415. r = (g + 368) | 0;
  18416. s = (g + 364) | 0;
  18417. t = (g + 404) | 0;
  18418. u = (g + 360) | 0;
  18419. v = (g + 356) | 0;
  18420. w = (g + 352) | 0;
  18421. x = (g + 348) | 0;
  18422. y = (g + 344) | 0;
  18423. z = (g + 340) | 0;
  18424. A = (g + 336) | 0;
  18425. B = (g + 400) | 0;
  18426. c[i >> 2] = b;
  18427. c[j >> 2] = e;
  18428. c[k >> 2] = f;
  18429. c[o >> 2] = 0;
  18430. c[p >> 2] = 0;
  18431. c[r >> 2] = (c[i >> 2] | 0) + 4;
  18432. c[s >> 2] = c[r >> 2];
  18433. c[q >> 2] =
  18434. ot(m, 256, n, p, o, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  18435. if (at(c[q >> 2] | 0) | 0) {
  18436. c[h >> 2] = c[q >> 2];
  18437. C = c[h >> 2] | 0;
  18438. l = g;
  18439. return C | 0;
  18440. }
  18441. _s(t, c[i >> 2] | 0);
  18442. if (
  18443. (c[o >> 2] | 0) >>> 0 >
  18444. (((d[t >> 0] | 0) + 1) | 0) >>> 0
  18445. ) {
  18446. c[h >> 2] = -44;
  18447. C = c[h >> 2] | 0;
  18448. l = g;
  18449. return C | 0;
  18450. }
  18451. a[(t + 1) >> 0] = 0;
  18452. a[(t + 2) >> 0] = c[o >> 2];
  18453. k = c[i >> 2] | 0;
  18454. a[k >> 0] = a[t >> 0] | 0;
  18455. a[(k + 1) >> 0] = a[(t + 1) >> 0] | 0;
  18456. a[(k + 2) >> 0] = a[(t + 2) >> 0] | 0;
  18457. a[(k + 3) >> 0] = a[(t + 3) >> 0] | 0;
  18458. c[v >> 2] = 0;
  18459. c[u >> 2] = 1;
  18460. while (1) {
  18461. if (
  18462. (c[u >> 2] | 0) >>> 0 >=
  18463. (((c[o >> 2] | 0) + 1) | 0) >>> 0
  18464. )
  18465. break;
  18466. c[w >> 2] = c[v >> 2];
  18467. c[v >> 2] =
  18468. (c[v >> 2] | 0) +
  18469. (c[(n + (c[u >> 2] << 2)) >> 2] << ((c[u >> 2] | 0) - 1));
  18470. c[(n + (c[u >> 2] << 2)) >> 2] = c[w >> 2];
  18471. c[u >> 2] = (c[u >> 2] | 0) + 1;
  18472. }
  18473. c[x >> 2] = 0;
  18474. while (1) {
  18475. if ((c[x >> 2] | 0) >>> 0 >= (c[p >> 2] | 0) >>> 0) break;
  18476. c[y >> 2] = d[(m + (c[x >> 2] | 0)) >> 0];
  18477. c[z >> 2] = (1 << c[y >> 2]) >> 1;
  18478. a[B >> 0] = c[x >> 2];
  18479. a[(B + 1) >> 0] = (c[o >> 2] | 0) + 1 - (c[y >> 2] | 0);
  18480. c[A >> 2] = c[(n + (c[y >> 2] << 2)) >> 2];
  18481. while (1) {
  18482. if (
  18483. (c[A >> 2] | 0) >>> 0 >=
  18484. (((c[(n + (c[y >> 2] << 2)) >> 2] | 0) +
  18485. (c[z >> 2] | 0)) |
  18486. 0) >>>
  18487. 0
  18488. )
  18489. break;
  18490. u = ((c[s >> 2] | 0) + (c[A >> 2] << 1)) | 0;
  18491. a[u >> 0] = a[B >> 0] | 0;
  18492. a[(u + 1) >> 0] = a[(B + 1) >> 0] | 0;
  18493. c[A >> 2] = (c[A >> 2] | 0) + 1;
  18494. }
  18495. u = (n + (c[y >> 2] << 2)) | 0;
  18496. c[u >> 2] = (c[u >> 2] | 0) + (c[z >> 2] | 0);
  18497. c[x >> 2] = (c[x >> 2] | 0) + 1;
  18498. }
  18499. c[h >> 2] = c[q >> 2];
  18500. C = c[h >> 2] | 0;
  18501. l = g;
  18502. return C | 0;
  18503. }
  18504. function lt(b, e, f, g, h) {
  18505. b = b | 0;
  18506. e = e | 0;
  18507. f = f | 0;
  18508. g = g | 0;
  18509. h = h | 0;
  18510. var i = 0,
  18511. j = 0,
  18512. k = 0,
  18513. m = 0,
  18514. n = 0,
  18515. o = 0,
  18516. p = 0,
  18517. q = 0,
  18518. r = 0,
  18519. s = 0,
  18520. t = 0,
  18521. u = 0,
  18522. v = 0,
  18523. w = 0,
  18524. x = 0,
  18525. y = 0,
  18526. z = 0,
  18527. A = 0,
  18528. B = 0,
  18529. C = 0,
  18530. D = 0,
  18531. E = 0,
  18532. F = 0,
  18533. G = 0,
  18534. H = 0,
  18535. I = 0,
  18536. J = 0,
  18537. K = 0,
  18538. L = 0,
  18539. M = 0,
  18540. N = 0,
  18541. O = 0,
  18542. P = 0,
  18543. Q = 0,
  18544. R = 0,
  18545. S = 0,
  18546. T = 0,
  18547. U = 0,
  18548. V = 0,
  18549. W = 0;
  18550. i = l;
  18551. l = (l + 208) | 0;
  18552. j = (i + 192) | 0;
  18553. k = (i + 188) | 0;
  18554. m = (i + 184) | 0;
  18555. n = (i + 180) | 0;
  18556. o = (i + 176) | 0;
  18557. p = (i + 172) | 0;
  18558. q = (i + 168) | 0;
  18559. r = (i + 164) | 0;
  18560. s = (i + 160) | 0;
  18561. t = (i + 156) | 0;
  18562. u = (i + 152) | 0;
  18563. v = (i + 136) | 0;
  18564. w = (i + 120) | 0;
  18565. x = (i + 104) | 0;
  18566. y = (i + 88) | 0;
  18567. z = (i + 84) | 0;
  18568. A = (i + 80) | 0;
  18569. B = (i + 76) | 0;
  18570. C = (i + 72) | 0;
  18571. D = (i + 68) | 0;
  18572. E = (i + 64) | 0;
  18573. F = (i + 60) | 0;
  18574. G = (i + 56) | 0;
  18575. H = (i + 52) | 0;
  18576. I = (i + 48) | 0;
  18577. J = (i + 44) | 0;
  18578. K = (i + 40) | 0;
  18579. L = (i + 36) | 0;
  18580. M = (i + 32) | 0;
  18581. N = (i + 28) | 0;
  18582. O = (i + 24) | 0;
  18583. P = (i + 20) | 0;
  18584. Q = (i + 196) | 0;
  18585. R = (i + 16) | 0;
  18586. S = (i + 12) | 0;
  18587. T = (i + 8) | 0;
  18588. U = (i + 4) | 0;
  18589. V = i;
  18590. c[k >> 2] = b;
  18591. c[m >> 2] = e;
  18592. c[n >> 2] = f;
  18593. c[o >> 2] = g;
  18594. c[p >> 2] = h;
  18595. if ((c[o >> 2] | 0) >>> 0 < 10) {
  18596. c[j >> 2] = -20;
  18597. W = c[j >> 2] | 0;
  18598. l = i;
  18599. return W | 0;
  18600. }
  18601. c[q >> 2] = c[n >> 2];
  18602. c[r >> 2] = c[k >> 2];
  18603. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  18604. c[t >> 2] = (c[p >> 2] | 0) + 4;
  18605. c[u >> 2] = c[t >> 2];
  18606. c[z >> 2] = (Eq(c[q >> 2] | 0) | 0) & 65535;
  18607. c[A >> 2] = (Eq(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
  18608. c[B >> 2] = (Eq(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
  18609. c[C >> 2] =
  18610. (c[o >> 2] | 0) -
  18611. ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
  18612. c[D >> 2] = (c[q >> 2] | 0) + 6;
  18613. c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
  18614. c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
  18615. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  18616. c[H >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  18617. c[I >> 2] = (c[r >> 2] | 0) + (c[H >> 2] | 0);
  18618. c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  18619. c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
  18620. c[L >> 2] = c[r >> 2];
  18621. c[M >> 2] = c[I >> 2];
  18622. c[N >> 2] = c[J >> 2];
  18623. c[O >> 2] = c[K >> 2];
  18624. _s(Q, c[p >> 2] | 0);
  18625. c[R >> 2] = d[(Q + 2) >> 0];
  18626. if ((c[C >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  18627. c[j >> 2] = -20;
  18628. W = c[j >> 2] | 0;
  18629. l = i;
  18630. return W | 0;
  18631. }
  18632. c[S >> 2] = Ds(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
  18633. if (at(c[S >> 2] | 0) | 0) {
  18634. c[j >> 2] = c[S >> 2];
  18635. W = c[j >> 2] | 0;
  18636. l = i;
  18637. return W | 0;
  18638. }
  18639. c[T >> 2] = Ds(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
  18640. if (at(c[T >> 2] | 0) | 0) {
  18641. c[j >> 2] = c[T >> 2];
  18642. W = c[j >> 2] | 0;
  18643. l = i;
  18644. return W | 0;
  18645. }
  18646. c[U >> 2] = Ds(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  18647. if (at(c[U >> 2] | 0) | 0) {
  18648. c[j >> 2] = c[U >> 2];
  18649. W = c[j >> 2] | 0;
  18650. l = i;
  18651. return W | 0;
  18652. }
  18653. c[V >> 2] = Ds(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  18654. if (at(c[V >> 2] | 0) | 0) {
  18655. c[j >> 2] = c[V >> 2];
  18656. W = c[j >> 2] | 0;
  18657. l = i;
  18658. return W | 0;
  18659. }
  18660. V = Fs(v) | 0;
  18661. C = V | (Fs(w) | 0);
  18662. V = C | (Fs(x) | 0);
  18663. c[P >> 2] = V | (Fs(y) | 0);
  18664. while (1) {
  18665. if (c[P >> 2] | 0) break;
  18666. if (
  18667. (c[O >> 2] | 0) >>> 0 >=
  18668. (((c[s >> 2] | 0) + -7) | 0) >>> 0
  18669. )
  18670. break;
  18671. if (dt() | 0) {
  18672. V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18673. C = c[L >> 2] | 0;
  18674. c[L >> 2] = C + 1;
  18675. a[C >> 0] = V;
  18676. }
  18677. if (dt() | 0) {
  18678. V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18679. C = c[M >> 2] | 0;
  18680. c[M >> 2] = C + 1;
  18681. a[C >> 0] = V;
  18682. }
  18683. if (dt() | 0) {
  18684. V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18685. C = c[N >> 2] | 0;
  18686. c[N >> 2] = C + 1;
  18687. a[C >> 0] = V;
  18688. }
  18689. if (dt() | 0) {
  18690. V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18691. C = c[O >> 2] | 0;
  18692. c[O >> 2] = C + 1;
  18693. a[C >> 0] = V;
  18694. }
  18695. dt() | 0;
  18696. V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18697. C = c[L >> 2] | 0;
  18698. c[L >> 2] = C + 1;
  18699. a[C >> 0] = V;
  18700. dt() | 0;
  18701. V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18702. C = c[M >> 2] | 0;
  18703. c[M >> 2] = C + 1;
  18704. a[C >> 0] = V;
  18705. dt() | 0;
  18706. V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18707. C = c[N >> 2] | 0;
  18708. c[N >> 2] = C + 1;
  18709. a[C >> 0] = V;
  18710. dt() | 0;
  18711. V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18712. C = c[O >> 2] | 0;
  18713. c[O >> 2] = C + 1;
  18714. a[C >> 0] = V;
  18715. if (dt() | 0) {
  18716. V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18717. C = c[L >> 2] | 0;
  18718. c[L >> 2] = C + 1;
  18719. a[C >> 0] = V;
  18720. }
  18721. if (dt() | 0) {
  18722. V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18723. C = c[M >> 2] | 0;
  18724. c[M >> 2] = C + 1;
  18725. a[C >> 0] = V;
  18726. }
  18727. if (dt() | 0) {
  18728. V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18729. C = c[N >> 2] | 0;
  18730. c[N >> 2] = C + 1;
  18731. a[C >> 0] = V;
  18732. }
  18733. if (dt() | 0) {
  18734. V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18735. C = c[O >> 2] | 0;
  18736. c[O >> 2] = C + 1;
  18737. a[C >> 0] = V;
  18738. }
  18739. V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18740. C = c[L >> 2] | 0;
  18741. c[L >> 2] = C + 1;
  18742. a[C >> 0] = V;
  18743. V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18744. C = c[M >> 2] | 0;
  18745. c[M >> 2] = C + 1;
  18746. a[C >> 0] = V;
  18747. V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18748. C = c[N >> 2] | 0;
  18749. c[N >> 2] = C + 1;
  18750. a[C >> 0] = V;
  18751. V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
  18752. C = c[O >> 2] | 0;
  18753. c[O >> 2] = C + 1;
  18754. a[C >> 0] = V;
  18755. V = Fs(v) | 0;
  18756. C = V | (Fs(w) | 0);
  18757. V = C | (Fs(x) | 0);
  18758. c[P >> 2] = V | (Fs(y) | 0);
  18759. }
  18760. if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
  18761. c[j >> 2] = -20;
  18762. W = c[j >> 2] | 0;
  18763. l = i;
  18764. return W | 0;
  18765. }
  18766. if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
  18767. c[j >> 2] = -20;
  18768. W = c[j >> 2] | 0;
  18769. l = i;
  18770. return W | 0;
  18771. }
  18772. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  18773. c[j >> 2] = -20;
  18774. W = c[j >> 2] | 0;
  18775. l = i;
  18776. return W | 0;
  18777. }
  18778. nt(
  18779. c[L >> 2] | 0,
  18780. v,
  18781. c[I >> 2] | 0,
  18782. c[u >> 2] | 0,
  18783. c[R >> 2] | 0
  18784. ) | 0;
  18785. nt(
  18786. c[M >> 2] | 0,
  18787. w,
  18788. c[J >> 2] | 0,
  18789. c[u >> 2] | 0,
  18790. c[R >> 2] | 0
  18791. ) | 0;
  18792. nt(
  18793. c[N >> 2] | 0,
  18794. x,
  18795. c[K >> 2] | 0,
  18796. c[u >> 2] | 0,
  18797. c[R >> 2] | 0
  18798. ) | 0;
  18799. nt(
  18800. c[O >> 2] | 0,
  18801. y,
  18802. c[s >> 2] | 0,
  18803. c[u >> 2] | 0,
  18804. c[R >> 2] | 0
  18805. ) | 0;
  18806. R = ct(v) | 0;
  18807. v = R & (ct(w) | 0);
  18808. w = v & (ct(x) | 0);
  18809. c[P >> 2] = w & (ct(y) | 0);
  18810. if (c[P >> 2] | 0) {
  18811. c[j >> 2] = c[m >> 2];
  18812. W = c[j >> 2] | 0;
  18813. l = i;
  18814. return W | 0;
  18815. } else {
  18816. c[j >> 2] = -20;
  18817. W = c[j >> 2] | 0;
  18818. l = i;
  18819. return W | 0;
  18820. }
  18821. return 0;
  18822. }
  18823. function mt(b, e, f) {
  18824. b = b | 0;
  18825. e = e | 0;
  18826. f = f | 0;
  18827. var g = 0,
  18828. h = 0,
  18829. i = 0,
  18830. j = 0,
  18831. k = 0,
  18832. m = 0;
  18833. g = l;
  18834. l = (l + 32) | 0;
  18835. h = (g + 12) | 0;
  18836. i = (g + 8) | 0;
  18837. j = (g + 4) | 0;
  18838. k = g;
  18839. m = (g + 16) | 0;
  18840. c[h >> 2] = b;
  18841. c[i >> 2] = e;
  18842. c[j >> 2] = f;
  18843. c[k >> 2] = gt(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
  18844. a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
  18845. Ps(
  18846. c[h >> 2] | 0,
  18847. d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
  18848. );
  18849. l = g;
  18850. return a[m >> 0] | 0;
  18851. }
  18852. function nt(b, d, e, f, g) {
  18853. b = b | 0;
  18854. d = d | 0;
  18855. e = e | 0;
  18856. f = f | 0;
  18857. g = g | 0;
  18858. var h = 0,
  18859. i = 0,
  18860. j = 0,
  18861. k = 0,
  18862. m = 0,
  18863. n = 0,
  18864. o = 0;
  18865. h = l;
  18866. l = (l + 32) | 0;
  18867. i = (h + 20) | 0;
  18868. j = (h + 16) | 0;
  18869. k = (h + 12) | 0;
  18870. m = (h + 8) | 0;
  18871. n = (h + 4) | 0;
  18872. o = h;
  18873. c[i >> 2] = b;
  18874. c[j >> 2] = d;
  18875. c[k >> 2] = e;
  18876. c[m >> 2] = f;
  18877. c[n >> 2] = g;
  18878. c[o >> 2] = c[i >> 2];
  18879. while (1) {
  18880. if (Fs(c[j >> 2] | 0) | 0) break;
  18881. if (
  18882. (c[i >> 2] | 0) >>> 0 >
  18883. (((c[k >> 2] | 0) + -4) | 0) >>> 0
  18884. )
  18885. break;
  18886. if (dt() | 0) {
  18887. g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18888. f = c[i >> 2] | 0;
  18889. c[i >> 2] = f + 1;
  18890. a[f >> 0] = g;
  18891. }
  18892. dt() | 0;
  18893. g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18894. f = c[i >> 2] | 0;
  18895. c[i >> 2] = f + 1;
  18896. a[f >> 0] = g;
  18897. if (dt() | 0) {
  18898. g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18899. f = c[i >> 2] | 0;
  18900. c[i >> 2] = f + 1;
  18901. a[f >> 0] = g;
  18902. }
  18903. g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18904. f = c[i >> 2] | 0;
  18905. c[i >> 2] = f + 1;
  18906. a[f >> 0] = g;
  18907. }
  18908. while (1) {
  18909. if (Fs(c[j >> 2] | 0) | 0) break;
  18910. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  18911. g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18912. f = c[i >> 2] | 0;
  18913. c[i >> 2] = f + 1;
  18914. a[f >> 0] = g;
  18915. }
  18916. while (1) {
  18917. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  18918. g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  18919. f = c[i >> 2] | 0;
  18920. c[i >> 2] = f + 1;
  18921. a[f >> 0] = g;
  18922. }
  18923. l = h;
  18924. return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
  18925. }
  18926. function ot(b, e, f, g, h, i, j) {
  18927. b = b | 0;
  18928. e = e | 0;
  18929. f = f | 0;
  18930. g = g | 0;
  18931. h = h | 0;
  18932. i = i | 0;
  18933. j = j | 0;
  18934. var k = 0,
  18935. m = 0,
  18936. n = 0,
  18937. o = 0,
  18938. p = 0,
  18939. q = 0,
  18940. r = 0,
  18941. s = 0,
  18942. t = 0,
  18943. u = 0,
  18944. v = 0,
  18945. w = 0,
  18946. x = 0,
  18947. y = 0,
  18948. z = 0,
  18949. A = 0,
  18950. B = 0,
  18951. C = 0,
  18952. D = 0,
  18953. E = 0,
  18954. F = 0,
  18955. G = 0;
  18956. k = l;
  18957. l = (l + 80) | 0;
  18958. m = (k + 72) | 0;
  18959. n = (k + 68) | 0;
  18960. o = (k + 64) | 0;
  18961. p = (k + 60) | 0;
  18962. q = (k + 56) | 0;
  18963. r = (k + 52) | 0;
  18964. s = (k + 48) | 0;
  18965. t = (k + 44) | 0;
  18966. u = (k + 40) | 0;
  18967. v = (k + 36) | 0;
  18968. w = (k + 32) | 0;
  18969. x = (k + 28) | 0;
  18970. y = (k + 24) | 0;
  18971. z = (k + 20) | 0;
  18972. A = (k + 16) | 0;
  18973. B = (k + 12) | 0;
  18974. C = (k + 8) | 0;
  18975. D = (k + 4) | 0;
  18976. E = k;
  18977. c[n >> 2] = b;
  18978. c[o >> 2] = e;
  18979. c[p >> 2] = f;
  18980. c[q >> 2] = g;
  18981. c[r >> 2] = h;
  18982. c[s >> 2] = i;
  18983. c[t >> 2] = j;
  18984. c[v >> 2] = c[s >> 2];
  18985. if (!(c[t >> 2] | 0)) {
  18986. c[m >> 2] = -72;
  18987. F = c[m >> 2] | 0;
  18988. l = k;
  18989. return F | 0;
  18990. }
  18991. c[w >> 2] = d[c[v >> 2] >> 0];
  18992. s = c[w >> 2] | 0;
  18993. a: do {
  18994. if ((c[w >> 2] | 0) >>> 0 < 128) {
  18995. if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  18996. c[m >> 2] = -72;
  18997. F = c[m >> 2] | 0;
  18998. l = k;
  18999. return F | 0;
  19000. }
  19001. c[x >> 2] =
  19002. pt(
  19003. c[n >> 2] | 0,
  19004. ((c[o >> 2] | 0) - 1) | 0,
  19005. ((c[v >> 2] | 0) + 1) | 0,
  19006. c[w >> 2] | 0
  19007. ) | 0;
  19008. if (qt(c[x >> 2] | 0) | 0) {
  19009. c[m >> 2] = c[x >> 2];
  19010. F = c[m >> 2] | 0;
  19011. l = k;
  19012. return F | 0;
  19013. }
  19014. } else {
  19015. j = c[w >> 2] | 0;
  19016. if (s >>> 0 >= 242) {
  19017. c[x >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
  19018. oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
  19019. c[w >> 2] = 0;
  19020. break;
  19021. }
  19022. c[x >> 2] = j - 127;
  19023. c[w >> 2] = (((((c[x >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
  19024. if (
  19025. (((c[w >> 2] | 0) + 1) | 0) >>> 0 >
  19026. (c[t >> 2] | 0) >>> 0
  19027. ) {
  19028. c[m >> 2] = -72;
  19029. F = c[m >> 2] | 0;
  19030. l = k;
  19031. return F | 0;
  19032. }
  19033. if ((c[x >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
  19034. c[m >> 2] = -20;
  19035. F = c[m >> 2] | 0;
  19036. l = k;
  19037. return F | 0;
  19038. }
  19039. c[v >> 2] = (c[v >> 2] | 0) + 1;
  19040. c[y >> 2] = 0;
  19041. while (1) {
  19042. if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0)
  19043. break a;
  19044. a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] =
  19045. (d[
  19046. ((c[v >> 2] | 0) +
  19047. ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
  19048. 0
  19049. ] |
  19050. 0) >>
  19051. 4;
  19052. a[((c[n >> 2] | 0) + ((c[y >> 2] | 0) + 1)) >> 0] =
  19053. (d[
  19054. ((c[v >> 2] | 0) +
  19055. ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
  19056. 0
  19057. ] |
  19058. 0) &
  19059. 15;
  19060. c[y >> 2] = (c[y >> 2] | 0) + 2;
  19061. }
  19062. }
  19063. } while (0);
  19064. y = c[p >> 2] | 0;
  19065. v = (y + 68) | 0;
  19066. do {
  19067. c[y >> 2] = 0;
  19068. y = (y + 4) | 0;
  19069. } while ((y | 0) < (v | 0));
  19070. c[u >> 2] = 0;
  19071. c[z >> 2] = 0;
  19072. while (1) {
  19073. if ((c[z >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
  19074. if (
  19075. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
  19076. 16
  19077. ) {
  19078. G = 20;
  19079. break;
  19080. }
  19081. y =
  19082. ((c[p >> 2] | 0) +
  19083. ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
  19084. 2)) |
  19085. 0;
  19086. c[y >> 2] = (c[y >> 2] | 0) + 1;
  19087. c[u >> 2] =
  19088. (c[u >> 2] | 0) +
  19089. ((1 <<
  19090. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
  19091. 1);
  19092. c[z >> 2] = (c[z >> 2] | 0) + 1;
  19093. }
  19094. if ((G | 0) == 20) {
  19095. c[m >> 2] = -20;
  19096. F = c[m >> 2] | 0;
  19097. l = k;
  19098. return F | 0;
  19099. }
  19100. if (!(c[u >> 2] | 0)) {
  19101. c[m >> 2] = -20;
  19102. F = c[m >> 2] | 0;
  19103. l = k;
  19104. return F | 0;
  19105. }
  19106. c[A >> 2] = (Rs(c[u >> 2] | 0) | 0) + 1;
  19107. if ((c[A >> 2] | 0) >>> 0 > 16) {
  19108. c[m >> 2] = -20;
  19109. F = c[m >> 2] | 0;
  19110. l = k;
  19111. return F | 0;
  19112. }
  19113. c[c[r >> 2] >> 2] = c[A >> 2];
  19114. c[B >> 2] = 1 << c[A >> 2];
  19115. c[C >> 2] = (c[B >> 2] | 0) - (c[u >> 2] | 0);
  19116. c[D >> 2] = 1 << (Rs(c[C >> 2] | 0) | 0);
  19117. c[E >> 2] = (Rs(c[C >> 2] | 0) | 0) + 1;
  19118. if ((c[D >> 2] | 0) != (c[C >> 2] | 0)) {
  19119. c[m >> 2] = -20;
  19120. F = c[m >> 2] | 0;
  19121. l = k;
  19122. return F | 0;
  19123. }
  19124. a[((c[n >> 2] | 0) + (c[x >> 2] | 0)) >> 0] = c[E >> 2];
  19125. n = ((c[p >> 2] | 0) + (c[E >> 2] << 2)) | 0;
  19126. c[n >> 2] = (c[n >> 2] | 0) + 1;
  19127. if (
  19128. (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
  19129. ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
  19130. : 0
  19131. ) {
  19132. c[c[q >> 2] >> 2] = (c[x >> 2] | 0) + 1;
  19133. c[m >> 2] = (c[w >> 2] | 0) + 1;
  19134. F = c[m >> 2] | 0;
  19135. l = k;
  19136. return F | 0;
  19137. }
  19138. c[m >> 2] = -20;
  19139. F = c[m >> 2] | 0;
  19140. l = k;
  19141. return F | 0;
  19142. }
  19143. function pt(a, b, d, e) {
  19144. a = a | 0;
  19145. b = b | 0;
  19146. d = d | 0;
  19147. e = e | 0;
  19148. var f = 0,
  19149. g = 0,
  19150. h = 0,
  19151. i = 0,
  19152. j = 0,
  19153. k = 0,
  19154. m = 0,
  19155. n = 0,
  19156. o = 0,
  19157. p = 0,
  19158. q = 0,
  19159. r = 0,
  19160. s = 0,
  19161. t = 0,
  19162. u = 0;
  19163. f = l;
  19164. l = (l + 16960) | 0;
  19165. g = (f + 16952) | 0;
  19166. h = (f + 16948) | 0;
  19167. i = (f + 16944) | 0;
  19168. j = (f + 16940) | 0;
  19169. k = (f + 16936) | 0;
  19170. m = (f + 16932) | 0;
  19171. n = (f + 16928) | 0;
  19172. o = (f + 16400) | 0;
  19173. p = f;
  19174. q = (f + 16924) | 0;
  19175. r = (f + 16920) | 0;
  19176. s = (f + 16916) | 0;
  19177. t = (f + 16912) | 0;
  19178. c[h >> 2] = a;
  19179. c[i >> 2] = b;
  19180. c[j >> 2] = d;
  19181. c[k >> 2] = e;
  19182. c[m >> 2] = c[j >> 2];
  19183. c[n >> 2] = c[m >> 2];
  19184. c[r >> 2] = 255;
  19185. if ((c[k >> 2] | 0) >>> 0 < 2) {
  19186. c[g >> 2] = -72;
  19187. u = c[g >> 2] | 0;
  19188. l = f;
  19189. return u | 0;
  19190. }
  19191. c[s >> 2] = Vs(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
  19192. m = (hr(c[s >> 2] | 0) | 0) != 0;
  19193. j = c[s >> 2] | 0;
  19194. if (m) {
  19195. c[g >> 2] = j;
  19196. u = c[g >> 2] | 0;
  19197. l = f;
  19198. return u | 0;
  19199. }
  19200. if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  19201. c[g >> 2] = -72;
  19202. u = c[g >> 2] | 0;
  19203. l = f;
  19204. return u | 0;
  19205. }
  19206. c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
  19207. c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
  19208. c[t >> 2] = Us(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
  19209. if (hr(c[t >> 2] | 0) | 0) {
  19210. c[g >> 2] = c[t >> 2];
  19211. u = c[g >> 2] | 0;
  19212. l = f;
  19213. return u | 0;
  19214. } else {
  19215. c[g >> 2] =
  19216. rt(
  19217. c[h >> 2] | 0,
  19218. c[i >> 2] | 0,
  19219. c[n >> 2] | 0,
  19220. c[k >> 2] | 0,
  19221. p
  19222. ) | 0;
  19223. u = c[g >> 2] | 0;
  19224. l = f;
  19225. return u | 0;
  19226. }
  19227. return 0;
  19228. }
  19229. function qt(a) {
  19230. a = a | 0;
  19231. var b = 0,
  19232. d = 0;
  19233. b = l;
  19234. l = (l + 16) | 0;
  19235. d = b;
  19236. c[d >> 2] = a;
  19237. a = hr(c[d >> 2] | 0) | 0;
  19238. l = b;
  19239. return a | 0;
  19240. }
  19241. function rt(b, d, f, g, h) {
  19242. b = b | 0;
  19243. d = d | 0;
  19244. f = f | 0;
  19245. g = g | 0;
  19246. h = h | 0;
  19247. var i = 0,
  19248. j = 0,
  19249. k = 0,
  19250. m = 0,
  19251. n = 0,
  19252. o = 0,
  19253. p = 0,
  19254. q = 0,
  19255. r = 0,
  19256. s = 0,
  19257. t = 0,
  19258. u = 0,
  19259. v = 0,
  19260. w = 0,
  19261. x = 0,
  19262. y = 0,
  19263. z = 0,
  19264. A = 0,
  19265. B = 0,
  19266. C = 0,
  19267. D = 0,
  19268. E = 0,
  19269. F = 0,
  19270. G = 0,
  19271. H = 0,
  19272. I = 0,
  19273. J = 0,
  19274. K = 0,
  19275. L = 0,
  19276. M = 0,
  19277. N = 0,
  19278. O = 0,
  19279. P = 0,
  19280. Q = 0,
  19281. R = 0,
  19282. S = 0,
  19283. T = 0,
  19284. U = 0,
  19285. V = 0,
  19286. W = 0,
  19287. X = 0,
  19288. Y = 0,
  19289. Z = 0,
  19290. _ = 0,
  19291. $ = 0,
  19292. aa = 0,
  19293. ba = 0,
  19294. ca = 0,
  19295. da = 0,
  19296. ea = 0,
  19297. fa = 0,
  19298. ga = 0,
  19299. ha = 0,
  19300. ia = 0,
  19301. ja = 0,
  19302. ka = 0,
  19303. la = 0,
  19304. ma = 0;
  19305. i = l;
  19306. l = (l + 208) | 0;
  19307. j = (i + 192) | 0;
  19308. k = (i + 188) | 0;
  19309. m = (i + 184) | 0;
  19310. n = (i + 180) | 0;
  19311. o = (i + 176) | 0;
  19312. p = (i + 172) | 0;
  19313. q = (i + 168) | 0;
  19314. r = (i + 164) | 0;
  19315. s = (i + 160) | 0;
  19316. t = (i + 156) | 0;
  19317. u = (i + 152) | 0;
  19318. v = (i + 136) | 0;
  19319. w = (i + 128) | 0;
  19320. x = (i + 120) | 0;
  19321. y = (i + 116) | 0;
  19322. z = (i + 112) | 0;
  19323. A = (i + 108) | 0;
  19324. B = (i + 104) | 0;
  19325. C = (i + 100) | 0;
  19326. D = (i + 96) | 0;
  19327. E = (i + 92) | 0;
  19328. F = (i + 88) | 0;
  19329. G = (i + 84) | 0;
  19330. H = (i + 80) | 0;
  19331. I = (i + 76) | 0;
  19332. J = (i + 72) | 0;
  19333. K = (i + 56) | 0;
  19334. L = (i + 48) | 0;
  19335. M = (i + 40) | 0;
  19336. N = (i + 36) | 0;
  19337. O = (i + 32) | 0;
  19338. P = (i + 28) | 0;
  19339. Q = (i + 24) | 0;
  19340. R = (i + 20) | 0;
  19341. S = (i + 16) | 0;
  19342. T = (i + 12) | 0;
  19343. U = (i + 8) | 0;
  19344. V = (i + 4) | 0;
  19345. W = i;
  19346. c[P >> 2] = b;
  19347. c[Q >> 2] = d;
  19348. c[R >> 2] = f;
  19349. c[S >> 2] = g;
  19350. c[T >> 2] = h;
  19351. c[U >> 2] = c[T >> 2];
  19352. c[V >> 2] = c[U >> 2];
  19353. c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
  19354. V = c[P >> 2] | 0;
  19355. P = c[Q >> 2] | 0;
  19356. Q = c[R >> 2] | 0;
  19357. R = c[S >> 2] | 0;
  19358. S = c[T >> 2] | 0;
  19359. if (c[W >> 2] | 0) {
  19360. c[A >> 2] = V;
  19361. c[B >> 2] = P;
  19362. c[C >> 2] = Q;
  19363. c[D >> 2] = R;
  19364. c[E >> 2] = S;
  19365. c[F >> 2] = 1;
  19366. c[G >> 2] = c[A >> 2];
  19367. c[H >> 2] = c[G >> 2];
  19368. c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
  19369. c[J >> 2] = (c[I >> 2] | 0) + -3;
  19370. c[N >> 2] = Ds(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
  19371. do {
  19372. if (hr(c[N >> 2] | 0) | 0) c[z >> 2] = c[N >> 2];
  19373. else {
  19374. Es(L, K, c[E >> 2] | 0);
  19375. Es(M, K, c[E >> 2] | 0);
  19376. while (1) {
  19377. if (Fs(K) | 0) break;
  19378. if ((c[H >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
  19379. break;
  19380. if (c[F >> 2] | 0) X = (st(L, K) | 0) & 255;
  19381. else X = (tt(L, K) | 0) & 255;
  19382. a[c[H >> 2] >> 0] = X;
  19383. if (c[F >> 2] | 0) Y = (st(M, K) | 0) & 255;
  19384. else Y = (tt(M, K) | 0) & 255;
  19385. a[((c[H >> 2] | 0) + 1) >> 0] = Y;
  19386. if ((Fs(K) | 0) >>> 0 > 0) {
  19387. Z = 14;
  19388. break;
  19389. }
  19390. if (c[F >> 2] | 0) _ = (st(L, K) | 0) & 255;
  19391. else _ = (tt(L, K) | 0) & 255;
  19392. a[((c[H >> 2] | 0) + 2) >> 0] = _;
  19393. if (c[F >> 2] | 0) $ = (st(M, K) | 0) & 255;
  19394. else $ = (tt(M, K) | 0) & 255;
  19395. a[((c[H >> 2] | 0) + 3) >> 0] = $;
  19396. c[H >> 2] = (c[H >> 2] | 0) + 4;
  19397. }
  19398. if ((Z | 0) == 14) c[H >> 2] = (c[H >> 2] | 0) + 2;
  19399. while (1) {
  19400. if (
  19401. (c[H >> 2] | 0) >>> 0 >
  19402. (((c[I >> 2] | 0) + -2) | 0) >>> 0
  19403. ) {
  19404. Z = 24;
  19405. break;
  19406. }
  19407. if (c[F >> 2] | 0) aa = (st(L, K) | 0) & 255;
  19408. else aa = (tt(L, K) | 0) & 255;
  19409. D = c[H >> 2] | 0;
  19410. c[H >> 2] = D + 1;
  19411. a[D >> 0] = aa;
  19412. if ((Fs(K) | 0) == 3) {
  19413. Z = 29;
  19414. break;
  19415. }
  19416. if (
  19417. (c[H >> 2] | 0) >>> 0 >
  19418. (((c[I >> 2] | 0) + -2) | 0) >>> 0
  19419. ) {
  19420. Z = 34;
  19421. break;
  19422. }
  19423. if (c[F >> 2] | 0) ba = (st(M, K) | 0) & 255;
  19424. else ba = (tt(M, K) | 0) & 255;
  19425. D = c[H >> 2] | 0;
  19426. c[H >> 2] = D + 1;
  19427. a[D >> 0] = ba;
  19428. if ((Fs(K) | 0) == 3) {
  19429. Z = 39;
  19430. break;
  19431. }
  19432. }
  19433. if ((Z | 0) == 24) {
  19434. c[z >> 2] = -70;
  19435. break;
  19436. } else if ((Z | 0) == 29) {
  19437. if (c[F >> 2] | 0) ca = (st(M, K) | 0) & 255;
  19438. else ca = (tt(M, K) | 0) & 255;
  19439. D = c[H >> 2] | 0;
  19440. c[H >> 2] = D + 1;
  19441. a[D >> 0] = ca;
  19442. } else if ((Z | 0) == 34) {
  19443. c[z >> 2] = -70;
  19444. break;
  19445. } else if ((Z | 0) == 39) {
  19446. if (c[F >> 2] | 0) da = (st(L, K) | 0) & 255;
  19447. else da = (tt(L, K) | 0) & 255;
  19448. D = c[H >> 2] | 0;
  19449. c[H >> 2] = D + 1;
  19450. a[D >> 0] = da;
  19451. }
  19452. c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
  19453. }
  19454. } while (0);
  19455. c[O >> 2] = c[z >> 2];
  19456. ea = c[O >> 2] | 0;
  19457. l = i;
  19458. return ea | 0;
  19459. } else {
  19460. c[k >> 2] = V;
  19461. c[m >> 2] = P;
  19462. c[n >> 2] = Q;
  19463. c[o >> 2] = R;
  19464. c[p >> 2] = S;
  19465. c[q >> 2] = 0;
  19466. c[r >> 2] = c[k >> 2];
  19467. c[s >> 2] = c[r >> 2];
  19468. c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
  19469. c[u >> 2] = (c[t >> 2] | 0) + -3;
  19470. c[y >> 2] = Ds(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
  19471. do {
  19472. if (hr(c[y >> 2] | 0) | 0) c[j >> 2] = c[y >> 2];
  19473. else {
  19474. Es(w, v, c[p >> 2] | 0);
  19475. Es(x, v, c[p >> 2] | 0);
  19476. while (1) {
  19477. if (Fs(v) | 0) break;
  19478. if ((c[s >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0)
  19479. break;
  19480. if (c[q >> 2] | 0) fa = (st(w, v) | 0) & 255;
  19481. else fa = (tt(w, v) | 0) & 255;
  19482. a[c[s >> 2] >> 0] = fa;
  19483. if (c[q >> 2] | 0) ga = (st(x, v) | 0) & 255;
  19484. else ga = (tt(x, v) | 0) & 255;
  19485. a[((c[s >> 2] | 0) + 1) >> 0] = ga;
  19486. if ((Fs(v) | 0) >>> 0 > 0) {
  19487. Z = 58;
  19488. break;
  19489. }
  19490. if (c[q >> 2] | 0) ha = (st(w, v) | 0) & 255;
  19491. else ha = (tt(w, v) | 0) & 255;
  19492. a[((c[s >> 2] | 0) + 2) >> 0] = ha;
  19493. if (c[q >> 2] | 0) ia = (st(x, v) | 0) & 255;
  19494. else ia = (tt(x, v) | 0) & 255;
  19495. a[((c[s >> 2] | 0) + 3) >> 0] = ia;
  19496. c[s >> 2] = (c[s >> 2] | 0) + 4;
  19497. }
  19498. if ((Z | 0) == 58) c[s >> 2] = (c[s >> 2] | 0) + 2;
  19499. while (1) {
  19500. if (
  19501. (c[s >> 2] | 0) >>> 0 >
  19502. (((c[t >> 2] | 0) + -2) | 0) >>> 0
  19503. ) {
  19504. Z = 68;
  19505. break;
  19506. }
  19507. if (c[q >> 2] | 0) ja = (st(w, v) | 0) & 255;
  19508. else ja = (tt(w, v) | 0) & 255;
  19509. o = c[s >> 2] | 0;
  19510. c[s >> 2] = o + 1;
  19511. a[o >> 0] = ja;
  19512. if ((Fs(v) | 0) == 3) {
  19513. Z = 73;
  19514. break;
  19515. }
  19516. if (
  19517. (c[s >> 2] | 0) >>> 0 >
  19518. (((c[t >> 2] | 0) + -2) | 0) >>> 0
  19519. ) {
  19520. Z = 78;
  19521. break;
  19522. }
  19523. if (c[q >> 2] | 0) ka = (st(x, v) | 0) & 255;
  19524. else ka = (tt(x, v) | 0) & 255;
  19525. o = c[s >> 2] | 0;
  19526. c[s >> 2] = o + 1;
  19527. a[o >> 0] = ka;
  19528. if ((Fs(v) | 0) == 3) {
  19529. Z = 83;
  19530. break;
  19531. }
  19532. }
  19533. if ((Z | 0) == 68) {
  19534. c[j >> 2] = -70;
  19535. break;
  19536. } else if ((Z | 0) == 73) {
  19537. if (c[q >> 2] | 0) la = (st(x, v) | 0) & 255;
  19538. else la = (tt(x, v) | 0) & 255;
  19539. o = c[s >> 2] | 0;
  19540. c[s >> 2] = o + 1;
  19541. a[o >> 0] = la;
  19542. } else if ((Z | 0) == 78) {
  19543. c[j >> 2] = -70;
  19544. break;
  19545. } else if ((Z | 0) == 83) {
  19546. if (c[q >> 2] | 0) ma = (st(w, v) | 0) & 255;
  19547. else ma = (tt(w, v) | 0) & 255;
  19548. o = c[s >> 2] | 0;
  19549. c[s >> 2] = o + 1;
  19550. a[o >> 0] = ma;
  19551. }
  19552. c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  19553. }
  19554. } while (0);
  19555. c[O >> 2] = c[j >> 2];
  19556. ea = c[O >> 2] | 0;
  19557. l = i;
  19558. return ea | 0;
  19559. }
  19560. return 0;
  19561. }
  19562. function st(f, g) {
  19563. f = f | 0;
  19564. g = g | 0;
  19565. var h = 0,
  19566. i = 0,
  19567. j = 0,
  19568. k = 0,
  19569. m = 0,
  19570. n = 0,
  19571. o = 0;
  19572. h = l;
  19573. l = (l + 32) | 0;
  19574. i = (h + 12) | 0;
  19575. j = (h + 8) | 0;
  19576. k = (h + 16) | 0;
  19577. m = (h + 4) | 0;
  19578. n = (h + 20) | 0;
  19579. o = h;
  19580. c[i >> 2] = f;
  19581. c[j >> 2] = g;
  19582. g =
  19583. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  19584. (c[c[i >> 2] >> 2] << 2)) |
  19585. 0;
  19586. b[k >> 1] = b[g >> 1] | 0;
  19587. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  19588. c[m >> 2] = d[(k + 3) >> 0];
  19589. a[n >> 0] = a[(k + 2) >> 0] | 0;
  19590. c[o >> 2] = ut(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  19591. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  19592. l = h;
  19593. return a[n >> 0] | 0;
  19594. }
  19595. function tt(f, g) {
  19596. f = f | 0;
  19597. g = g | 0;
  19598. var h = 0,
  19599. i = 0,
  19600. j = 0,
  19601. k = 0,
  19602. m = 0,
  19603. n = 0,
  19604. o = 0;
  19605. h = l;
  19606. l = (l + 32) | 0;
  19607. i = (h + 12) | 0;
  19608. j = (h + 8) | 0;
  19609. k = (h + 16) | 0;
  19610. m = (h + 4) | 0;
  19611. n = (h + 20) | 0;
  19612. o = h;
  19613. c[i >> 2] = f;
  19614. c[j >> 2] = g;
  19615. g =
  19616. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  19617. (c[c[i >> 2] >> 2] << 2)) |
  19618. 0;
  19619. b[k >> 1] = b[g >> 1] | 0;
  19620. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  19621. c[m >> 2] = d[(k + 3) >> 0];
  19622. a[n >> 0] = a[(k + 2) >> 0] | 0;
  19623. c[o >> 2] = Ms(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  19624. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  19625. l = h;
  19626. return a[n >> 0] | 0;
  19627. }
  19628. function ut(a, b) {
  19629. a = a | 0;
  19630. b = b | 0;
  19631. var d = 0,
  19632. e = 0,
  19633. f = 0,
  19634. g = 0;
  19635. d = l;
  19636. l = (l + 16) | 0;
  19637. e = (d + 8) | 0;
  19638. f = (d + 4) | 0;
  19639. g = d;
  19640. c[e >> 2] = a;
  19641. c[f >> 2] = b;
  19642. c[g >> 2] = gt(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  19643. Ps(c[e >> 2] | 0, c[f >> 2] | 0);
  19644. l = d;
  19645. return c[g >> 2] | 0;
  19646. }
  19647. function vt(b, e, f) {
  19648. b = b | 0;
  19649. e = e | 0;
  19650. f = f | 0;
  19651. var g = 0,
  19652. h = 0,
  19653. i = 0,
  19654. j = 0,
  19655. k = 0,
  19656. m = 0,
  19657. n = 0,
  19658. o = 0,
  19659. p = 0,
  19660. q = 0,
  19661. r = 0,
  19662. s = 0,
  19663. t = 0,
  19664. u = 0,
  19665. v = 0,
  19666. w = 0,
  19667. x = 0,
  19668. y = 0,
  19669. z = 0,
  19670. A = 0,
  19671. B = 0,
  19672. C = 0,
  19673. D = 0,
  19674. E = 0,
  19675. F = 0,
  19676. G = 0,
  19677. H = 0,
  19678. I = 0,
  19679. J = 0,
  19680. K = 0,
  19681. L = 0,
  19682. M = 0,
  19683. N = 0,
  19684. O = 0,
  19685. P = 0,
  19686. Q = 0,
  19687. R = 0;
  19688. g = l;
  19689. l = (l + 2144) | 0;
  19690. h = (g + 2124) | 0;
  19691. i = (g + 2120) | 0;
  19692. j = (g + 2116) | 0;
  19693. k = (g + 2112) | 0;
  19694. m = (g + 1760) | 0;
  19695. n = (g + 1248) | 0;
  19696. o = (g + 1168) | 0;
  19697. p = (g + 1088) | 0;
  19698. q = (g + 2108) | 0;
  19699. r = g;
  19700. s = (g + 2104) | 0;
  19701. t = (g + 2100) | 0;
  19702. u = (g + 2096) | 0;
  19703. v = (g + 2092) | 0;
  19704. w = (g + 2128) | 0;
  19705. x = (g + 2088) | 0;
  19706. y = (g + 2084) | 0;
  19707. z = (g + 2080) | 0;
  19708. A = (g + 2076) | 0;
  19709. B = (g + 2072) | 0;
  19710. C = (g + 2068) | 0;
  19711. D = (g + 2064) | 0;
  19712. E = (g + 2060) | 0;
  19713. F = (g + 2056) | 0;
  19714. G = (g + 2052) | 0;
  19715. H = (g + 2048) | 0;
  19716. I = (g + 2044) | 0;
  19717. J = (g + 2040) | 0;
  19718. K = (g + 2036) | 0;
  19719. L = (g + 2032) | 0;
  19720. M = (g + 2028) | 0;
  19721. N = (g + 2024) | 0;
  19722. O = (g + 2020) | 0;
  19723. P = (g + 2016) | 0;
  19724. c[i >> 2] = b;
  19725. c[j >> 2] = e;
  19726. c[k >> 2] = f;
  19727. f = o;
  19728. e = (f + 68) | 0;
  19729. do {
  19730. c[f >> 2] = 0;
  19731. f = (f + 4) | 0;
  19732. } while ((f | 0) < (e | 0));
  19733. f = p;
  19734. e = (f + 72) | 0;
  19735. do {
  19736. c[f >> 2] = 0;
  19737. f = (f + 4) | 0;
  19738. } while ((f | 0) < (e | 0));
  19739. c[q >> 2] = p + 4;
  19740. _s(w, c[i >> 2] | 0);
  19741. c[x >> 2] = d[w >> 0];
  19742. c[z >> 2] = (c[i >> 2] | 0) + 4;
  19743. c[A >> 2] = c[z >> 2];
  19744. if ((c[x >> 2] | 0) >>> 0 > 16) {
  19745. c[h >> 2] = -44;
  19746. Q = c[h >> 2] | 0;
  19747. l = g;
  19748. return Q | 0;
  19749. }
  19750. c[y >> 2] =
  19751. ot(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  19752. if (at(c[y >> 2] | 0) | 0) {
  19753. c[h >> 2] = c[y >> 2];
  19754. Q = c[h >> 2] | 0;
  19755. l = g;
  19756. return Q | 0;
  19757. }
  19758. if ((c[s >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  19759. c[h >> 2] = -44;
  19760. Q = c[h >> 2] | 0;
  19761. l = g;
  19762. return Q | 0;
  19763. }
  19764. c[t >> 2] = c[s >> 2];
  19765. while (1) {
  19766. if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
  19767. c[t >> 2] = (c[t >> 2] | 0) + -1;
  19768. }
  19769. c[C >> 2] = 0;
  19770. c[B >> 2] = 1;
  19771. while (1) {
  19772. R = c[C >> 2] | 0;
  19773. if (
  19774. (c[B >> 2] | 0) >>> 0 >=
  19775. (((c[t >> 2] | 0) + 1) | 0) >>> 0
  19776. )
  19777. break;
  19778. c[D >> 2] = R;
  19779. c[C >> 2] =
  19780. (c[C >> 2] | 0) + (c[(o + (c[B >> 2] << 2)) >> 2] | 0);
  19781. c[((c[q >> 2] | 0) + (c[B >> 2] << 2)) >> 2] = c[D >> 2];
  19782. c[B >> 2] = (c[B >> 2] | 0) + 1;
  19783. }
  19784. c[c[q >> 2] >> 2] = R;
  19785. c[u >> 2] = c[C >> 2];
  19786. c[E >> 2] = 0;
  19787. while (1) {
  19788. if ((c[E >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
  19789. c[F >> 2] = d[(m + (c[E >> 2] | 0)) >> 0];
  19790. C = ((c[q >> 2] | 0) + (c[F >> 2] << 2)) | 0;
  19791. R = c[C >> 2] | 0;
  19792. c[C >> 2] = R + 1;
  19793. c[G >> 2] = R;
  19794. a[(n + (c[G >> 2] << 1)) >> 0] = c[E >> 2];
  19795. a[(n + (c[G >> 2] << 1) + 1) >> 0] = c[F >> 2];
  19796. c[E >> 2] = (c[E >> 2] | 0) + 1;
  19797. }
  19798. c[c[q >> 2] >> 2] = 0;
  19799. c[H >> 2] = r;
  19800. c[I >> 2] = (c[x >> 2] | 0) - (c[s >> 2] | 0) - 1;
  19801. c[J >> 2] = 0;
  19802. c[K >> 2] = 1;
  19803. while (1) {
  19804. if (
  19805. (c[K >> 2] | 0) >>> 0 >=
  19806. (((c[t >> 2] | 0) + 1) | 0) >>> 0
  19807. )
  19808. break;
  19809. c[L >> 2] = c[J >> 2];
  19810. c[J >> 2] =
  19811. (c[J >> 2] | 0) +
  19812. (c[(o + (c[K >> 2] << 2)) >> 2] <<
  19813. ((c[K >> 2] | 0) + (c[I >> 2] | 0)));
  19814. c[((c[H >> 2] | 0) + (c[K >> 2] << 2)) >> 2] = c[L >> 2];
  19815. c[K >> 2] = (c[K >> 2] | 0) + 1;
  19816. }
  19817. c[M >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
  19818. c[N >> 2] = c[M >> 2];
  19819. while (1) {
  19820. if (
  19821. (c[N >> 2] | 0) >>> 0 >=
  19822. (((c[x >> 2] | 0) - (c[M >> 2] | 0) + 1) | 0) >>> 0
  19823. )
  19824. break;
  19825. c[O >> 2] = r + (((c[N >> 2] | 0) * 68) | 0);
  19826. c[P >> 2] = 1;
  19827. while (1) {
  19828. if (
  19829. (c[P >> 2] | 0) >>> 0 >=
  19830. (((c[t >> 2] | 0) + 1) | 0) >>> 0
  19831. )
  19832. break;
  19833. c[((c[O >> 2] | 0) + (c[P >> 2] << 2)) >> 2] =
  19834. (c[((c[H >> 2] | 0) + (c[P >> 2] << 2)) >> 2] | 0) >>>
  19835. (c[N >> 2] | 0);
  19836. c[P >> 2] = (c[P >> 2] | 0) + 1;
  19837. }
  19838. c[N >> 2] = (c[N >> 2] | 0) + 1;
  19839. }
  19840. xt(
  19841. c[A >> 2] | 0,
  19842. c[x >> 2] | 0,
  19843. n,
  19844. c[u >> 2] | 0,
  19845. p,
  19846. r,
  19847. c[t >> 2] | 0,
  19848. ((c[s >> 2] | 0) + 1) | 0
  19849. );
  19850. a[(w + 2) >> 0] = c[x >> 2];
  19851. a[(w + 1) >> 0] = 1;
  19852. x = c[i >> 2] | 0;
  19853. a[x >> 0] = a[w >> 0] | 0;
  19854. a[(x + 1) >> 0] = a[(w + 1) >> 0] | 0;
  19855. a[(x + 2) >> 0] = a[(w + 2) >> 0] | 0;
  19856. a[(x + 3) >> 0] = a[(w + 3) >> 0] | 0;
  19857. c[h >> 2] = c[y >> 2];
  19858. Q = c[h >> 2] | 0;
  19859. l = g;
  19860. return Q | 0;
  19861. }
  19862. function wt(a, b, e, f, g) {
  19863. a = a | 0;
  19864. b = b | 0;
  19865. e = e | 0;
  19866. f = f | 0;
  19867. g = g | 0;
  19868. var h = 0,
  19869. i = 0,
  19870. j = 0,
  19871. k = 0,
  19872. m = 0,
  19873. n = 0,
  19874. o = 0,
  19875. p = 0,
  19876. q = 0,
  19877. r = 0,
  19878. s = 0,
  19879. t = 0,
  19880. u = 0,
  19881. v = 0,
  19882. w = 0,
  19883. x = 0,
  19884. y = 0,
  19885. z = 0,
  19886. A = 0,
  19887. B = 0,
  19888. C = 0,
  19889. D = 0,
  19890. E = 0,
  19891. F = 0,
  19892. G = 0,
  19893. H = 0,
  19894. I = 0,
  19895. J = 0,
  19896. K = 0,
  19897. L = 0,
  19898. M = 0,
  19899. N = 0,
  19900. O = 0,
  19901. P = 0,
  19902. Q = 0,
  19903. R = 0,
  19904. S = 0,
  19905. T = 0,
  19906. U = 0,
  19907. V = 0,
  19908. W = 0;
  19909. h = l;
  19910. l = (l + 208) | 0;
  19911. i = (h + 200) | 0;
  19912. j = (h + 196) | 0;
  19913. k = (h + 192) | 0;
  19914. m = (h + 188) | 0;
  19915. n = (h + 184) | 0;
  19916. o = (h + 180) | 0;
  19917. p = (h + 176) | 0;
  19918. q = (h + 172) | 0;
  19919. r = (h + 168) | 0;
  19920. s = (h + 164) | 0;
  19921. t = (h + 160) | 0;
  19922. u = (h + 144) | 0;
  19923. v = (h + 128) | 0;
  19924. w = (h + 112) | 0;
  19925. x = (h + 96) | 0;
  19926. y = (h + 88) | 0;
  19927. z = (h + 84) | 0;
  19928. A = (h + 80) | 0;
  19929. B = (h + 76) | 0;
  19930. C = (h + 72) | 0;
  19931. D = (h + 68) | 0;
  19932. E = (h + 64) | 0;
  19933. F = (h + 60) | 0;
  19934. G = (h + 56) | 0;
  19935. H = (h + 52) | 0;
  19936. I = (h + 48) | 0;
  19937. J = (h + 44) | 0;
  19938. K = (h + 40) | 0;
  19939. L = (h + 36) | 0;
  19940. M = (h + 32) | 0;
  19941. N = (h + 28) | 0;
  19942. O = (h + 24) | 0;
  19943. P = (h + 204) | 0;
  19944. Q = (h + 20) | 0;
  19945. R = (h + 16) | 0;
  19946. S = (h + 12) | 0;
  19947. T = (h + 8) | 0;
  19948. U = (h + 4) | 0;
  19949. V = h;
  19950. c[j >> 2] = a;
  19951. c[k >> 2] = b;
  19952. c[m >> 2] = e;
  19953. c[n >> 2] = f;
  19954. c[o >> 2] = g;
  19955. if ((c[n >> 2] | 0) >>> 0 < 10) {
  19956. c[i >> 2] = -20;
  19957. W = c[i >> 2] | 0;
  19958. l = h;
  19959. return W | 0;
  19960. }
  19961. c[p >> 2] = c[m >> 2];
  19962. c[q >> 2] = c[j >> 2];
  19963. c[r >> 2] = (c[q >> 2] | 0) + (c[k >> 2] | 0);
  19964. c[s >> 2] = (c[o >> 2] | 0) + 4;
  19965. c[t >> 2] = c[s >> 2];
  19966. c[y >> 2] = (Eq(c[p >> 2] | 0) | 0) & 65535;
  19967. c[z >> 2] = (Eq(((c[p >> 2] | 0) + 2) | 0) | 0) & 65535;
  19968. c[A >> 2] = (Eq(((c[p >> 2] | 0) + 4) | 0) | 0) & 65535;
  19969. c[B >> 2] =
  19970. (c[n >> 2] | 0) -
  19971. ((c[y >> 2] | 0) + (c[z >> 2] | 0) + (c[A >> 2] | 0) + 6);
  19972. c[C >> 2] = (c[p >> 2] | 0) + 6;
  19973. c[D >> 2] = (c[C >> 2] | 0) + (c[y >> 2] | 0);
  19974. c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
  19975. c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
  19976. c[G >> 2] = (((((c[k >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  19977. c[H >> 2] = (c[q >> 2] | 0) + (c[G >> 2] | 0);
  19978. c[I >> 2] = (c[H >> 2] | 0) + (c[G >> 2] | 0);
  19979. c[J >> 2] = (c[I >> 2] | 0) + (c[G >> 2] | 0);
  19980. c[K >> 2] = c[q >> 2];
  19981. c[L >> 2] = c[H >> 2];
  19982. c[M >> 2] = c[I >> 2];
  19983. c[N >> 2] = c[J >> 2];
  19984. _s(P, c[o >> 2] | 0);
  19985. c[Q >> 2] = d[(P + 2) >> 0];
  19986. if ((c[B >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0) {
  19987. c[i >> 2] = -20;
  19988. W = c[i >> 2] | 0;
  19989. l = h;
  19990. return W | 0;
  19991. }
  19992. c[R >> 2] = Ds(u, c[C >> 2] | 0, c[y >> 2] | 0) | 0;
  19993. if (at(c[R >> 2] | 0) | 0) {
  19994. c[i >> 2] = c[R >> 2];
  19995. W = c[i >> 2] | 0;
  19996. l = h;
  19997. return W | 0;
  19998. }
  19999. c[S >> 2] = Ds(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
  20000. if (at(c[S >> 2] | 0) | 0) {
  20001. c[i >> 2] = c[S >> 2];
  20002. W = c[i >> 2] | 0;
  20003. l = h;
  20004. return W | 0;
  20005. }
  20006. c[T >> 2] = Ds(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
  20007. if (at(c[T >> 2] | 0) | 0) {
  20008. c[i >> 2] = c[T >> 2];
  20009. W = c[i >> 2] | 0;
  20010. l = h;
  20011. return W | 0;
  20012. }
  20013. c[U >> 2] = Ds(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  20014. if (at(c[U >> 2] | 0) | 0) {
  20015. c[i >> 2] = c[U >> 2];
  20016. W = c[i >> 2] | 0;
  20017. l = h;
  20018. return W | 0;
  20019. }
  20020. U = Fs(u) | 0;
  20021. B = U | (Fs(v) | 0);
  20022. U = B | (Fs(w) | 0);
  20023. c[O >> 2] = U | (Fs(x) | 0);
  20024. while (1) {
  20025. if (c[O >> 2] | 0) break;
  20026. if (
  20027. (c[N >> 2] | 0) >>> 0 >=
  20028. (((c[r >> 2] | 0) + -7) | 0) >>> 0
  20029. )
  20030. break;
  20031. if (dt() | 0) {
  20032. U =
  20033. et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20034. c[K >> 2] = (c[K >> 2] | 0) + U;
  20035. }
  20036. if (dt() | 0) {
  20037. U =
  20038. et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20039. c[L >> 2] = (c[L >> 2] | 0) + U;
  20040. }
  20041. if (dt() | 0) {
  20042. U =
  20043. et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20044. c[M >> 2] = (c[M >> 2] | 0) + U;
  20045. }
  20046. if (dt() | 0) {
  20047. U =
  20048. et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20049. c[N >> 2] = (c[N >> 2] | 0) + U;
  20050. }
  20051. dt() | 0;
  20052. U = et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20053. c[K >> 2] = (c[K >> 2] | 0) + U;
  20054. dt() | 0;
  20055. U = et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20056. c[L >> 2] = (c[L >> 2] | 0) + U;
  20057. dt() | 0;
  20058. U = et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20059. c[M >> 2] = (c[M >> 2] | 0) + U;
  20060. dt() | 0;
  20061. U = et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20062. c[N >> 2] = (c[N >> 2] | 0) + U;
  20063. if (dt() | 0) {
  20064. U =
  20065. et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20066. c[K >> 2] = (c[K >> 2] | 0) + U;
  20067. }
  20068. if (dt() | 0) {
  20069. U =
  20070. et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20071. c[L >> 2] = (c[L >> 2] | 0) + U;
  20072. }
  20073. if (dt() | 0) {
  20074. U =
  20075. et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20076. c[M >> 2] = (c[M >> 2] | 0) + U;
  20077. }
  20078. if (dt() | 0) {
  20079. U =
  20080. et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20081. c[N >> 2] = (c[N >> 2] | 0) + U;
  20082. }
  20083. U = et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20084. c[K >> 2] = (c[K >> 2] | 0) + U;
  20085. U = et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20086. c[L >> 2] = (c[L >> 2] | 0) + U;
  20087. U = et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20088. c[M >> 2] = (c[M >> 2] | 0) + U;
  20089. U = et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
  20090. c[N >> 2] = (c[N >> 2] | 0) + U;
  20091. U = Fs(u) | 0;
  20092. B = U | (Fs(v) | 0);
  20093. U = B | (Fs(w) | 0);
  20094. c[O >> 2] = U | (Fs(x) | 0);
  20095. }
  20096. if ((c[K >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  20097. c[i >> 2] = -20;
  20098. W = c[i >> 2] | 0;
  20099. l = h;
  20100. return W | 0;
  20101. }
  20102. if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
  20103. c[i >> 2] = -20;
  20104. W = c[i >> 2] | 0;
  20105. l = h;
  20106. return W | 0;
  20107. }
  20108. if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
  20109. c[i >> 2] = -20;
  20110. W = c[i >> 2] | 0;
  20111. l = h;
  20112. return W | 0;
  20113. }
  20114. bt(
  20115. c[K >> 2] | 0,
  20116. u,
  20117. c[H >> 2] | 0,
  20118. c[t >> 2] | 0,
  20119. c[Q >> 2] | 0
  20120. ) | 0;
  20121. bt(
  20122. c[L >> 2] | 0,
  20123. v,
  20124. c[I >> 2] | 0,
  20125. c[t >> 2] | 0,
  20126. c[Q >> 2] | 0
  20127. ) | 0;
  20128. bt(
  20129. c[M >> 2] | 0,
  20130. w,
  20131. c[J >> 2] | 0,
  20132. c[t >> 2] | 0,
  20133. c[Q >> 2] | 0
  20134. ) | 0;
  20135. bt(
  20136. c[N >> 2] | 0,
  20137. x,
  20138. c[r >> 2] | 0,
  20139. c[t >> 2] | 0,
  20140. c[Q >> 2] | 0
  20141. ) | 0;
  20142. Q = ct(u) | 0;
  20143. u = Q & (ct(v) | 0);
  20144. v = u & (ct(w) | 0);
  20145. c[V >> 2] = v & (ct(x) | 0);
  20146. if (c[V >> 2] | 0) {
  20147. c[i >> 2] = c[k >> 2];
  20148. W = c[i >> 2] | 0;
  20149. l = h;
  20150. return W | 0;
  20151. } else {
  20152. c[i >> 2] = -20;
  20153. W = c[i >> 2] | 0;
  20154. l = h;
  20155. return W | 0;
  20156. }
  20157. return 0;
  20158. }
  20159. function xt(e, f, g, h, i, j, k, m) {
  20160. e = e | 0;
  20161. f = f | 0;
  20162. g = g | 0;
  20163. h = h | 0;
  20164. i = i | 0;
  20165. j = j | 0;
  20166. k = k | 0;
  20167. m = m | 0;
  20168. var n = 0,
  20169. o = 0,
  20170. p = 0,
  20171. q = 0,
  20172. r = 0,
  20173. s = 0,
  20174. t = 0,
  20175. u = 0,
  20176. v = 0,
  20177. w = 0,
  20178. x = 0,
  20179. y = 0,
  20180. z = 0,
  20181. A = 0,
  20182. B = 0,
  20183. C = 0,
  20184. D = 0,
  20185. E = 0,
  20186. F = 0,
  20187. G = 0,
  20188. H = 0,
  20189. I = 0,
  20190. J = 0;
  20191. n = l;
  20192. l = (l + 160) | 0;
  20193. o = (n + 140) | 0;
  20194. p = (n + 136) | 0;
  20195. q = (n + 132) | 0;
  20196. r = (n + 128) | 0;
  20197. s = (n + 124) | 0;
  20198. t = (n + 120) | 0;
  20199. u = (n + 116) | 0;
  20200. v = (n + 112) | 0;
  20201. w = n;
  20202. x = (n + 108) | 0;
  20203. y = (n + 104) | 0;
  20204. z = (n + 100) | 0;
  20205. A = (n + 148) | 0;
  20206. B = (n + 96) | 0;
  20207. C = (n + 92) | 0;
  20208. D = (n + 88) | 0;
  20209. E = (n + 84) | 0;
  20210. F = (n + 80) | 0;
  20211. G = (n + 76) | 0;
  20212. H = (n + 144) | 0;
  20213. I = (n + 72) | 0;
  20214. J = (n + 68) | 0;
  20215. c[o >> 2] = e;
  20216. c[p >> 2] = f;
  20217. c[q >> 2] = g;
  20218. c[r >> 2] = h;
  20219. c[s >> 2] = i;
  20220. c[t >> 2] = j;
  20221. c[u >> 2] = k;
  20222. c[v >> 2] = m;
  20223. c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
  20224. c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  20225. u = w;
  20226. m = c[t >> 2] | 0;
  20227. k = (u + 68) | 0;
  20228. do {
  20229. c[u >> 2] = c[m >> 2];
  20230. u = (u + 4) | 0;
  20231. m = (m + 4) | 0;
  20232. } while ((u | 0) < (k | 0));
  20233. c[z >> 2] = 0;
  20234. while (1) {
  20235. if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
  20236. b[A >> 1] =
  20237. d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
  20238. c[B >> 2] =
  20239. d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
  20240. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  20241. c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
  20242. c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
  20243. a: do {
  20244. if (
  20245. (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
  20246. (c[y >> 2] | 0) >>> 0
  20247. ) {
  20248. m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
  20249. c[G >> 2] = m;
  20250. c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
  20251. c[F >> 2] =
  20252. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  20253. yt(
  20254. ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
  20255. ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
  20256. c[C >> 2] | 0,
  20257. ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
  20258. c[G >> 2] | 0,
  20259. ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
  20260. ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
  20261. c[v >> 2] | 0,
  20262. b[A >> 1] | 0
  20263. );
  20264. } else {
  20265. zt(H, b[A >> 1] | 0);
  20266. a[(H + 2) >> 0] = c[C >> 2];
  20267. a[(H + 3) >> 0] = 1;
  20268. c[J >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
  20269. c[I >> 2] = c[D >> 2];
  20270. while (1) {
  20271. if ((c[I >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
  20272. break a;
  20273. m = ((c[o >> 2] | 0) + (c[I >> 2] << 2)) | 0;
  20274. b[m >> 1] = b[H >> 1] | 0;
  20275. b[(m + 2) >> 1] = b[(H + 2) >> 1] | 0;
  20276. c[I >> 2] = (c[I >> 2] | 0) + 1;
  20277. }
  20278. }
  20279. } while (0);
  20280. m = (w + (c[B >> 2] << 2)) | 0;
  20281. c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
  20282. c[z >> 2] = (c[z >> 2] | 0) + 1;
  20283. }
  20284. l = n;
  20285. return;
  20286. }
  20287. function yt(f, g, h, i, j, k, m, n, o) {
  20288. f = f | 0;
  20289. g = g | 0;
  20290. h = h | 0;
  20291. i = i | 0;
  20292. j = j | 0;
  20293. k = k | 0;
  20294. m = m | 0;
  20295. n = n | 0;
  20296. o = o | 0;
  20297. var p = 0,
  20298. q = 0,
  20299. r = 0,
  20300. s = 0,
  20301. t = 0,
  20302. u = 0,
  20303. v = 0,
  20304. w = 0,
  20305. x = 0,
  20306. y = 0,
  20307. z = 0,
  20308. A = 0,
  20309. B = 0,
  20310. C = 0,
  20311. D = 0,
  20312. E = 0,
  20313. F = 0,
  20314. G = 0,
  20315. H = 0,
  20316. I = 0,
  20317. J = 0,
  20318. K = 0;
  20319. p = l;
  20320. l = (l + 160) | 0;
  20321. q = (p + 136) | 0;
  20322. r = (p + 132) | 0;
  20323. s = (p + 128) | 0;
  20324. t = (p + 124) | 0;
  20325. u = (p + 120) | 0;
  20326. v = (p + 116) | 0;
  20327. w = (p + 112) | 0;
  20328. x = (p + 108) | 0;
  20329. y = (p + 144) | 0;
  20330. z = (p + 140) | 0;
  20331. A = p;
  20332. B = (p + 104) | 0;
  20333. C = (p + 100) | 0;
  20334. D = (p + 96) | 0;
  20335. E = (p + 92) | 0;
  20336. F = (p + 88) | 0;
  20337. G = (p + 84) | 0;
  20338. H = (p + 80) | 0;
  20339. I = (p + 76) | 0;
  20340. J = (p + 72) | 0;
  20341. K = (p + 68) | 0;
  20342. c[q >> 2] = f;
  20343. c[r >> 2] = g;
  20344. c[s >> 2] = h;
  20345. c[t >> 2] = i;
  20346. c[u >> 2] = j;
  20347. c[v >> 2] = k;
  20348. c[w >> 2] = m;
  20349. c[x >> 2] = n;
  20350. b[y >> 1] = o;
  20351. o = A;
  20352. n = c[t >> 2] | 0;
  20353. t = (o + 68) | 0;
  20354. do {
  20355. c[o >> 2] = c[n >> 2];
  20356. o = (o + 4) | 0;
  20357. n = (n + 4) | 0;
  20358. } while ((o | 0) < (t | 0));
  20359. a: do {
  20360. if ((c[u >> 2] | 0) > 1) {
  20361. c[C >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
  20362. zt(z, b[y >> 1] | 0);
  20363. a[(z + 2) >> 0] = c[s >> 2];
  20364. a[(z + 3) >> 0] = 1;
  20365. c[B >> 2] = 0;
  20366. while (1) {
  20367. if ((c[B >> 2] | 0) >>> 0 >= (c[C >> 2] | 0) >>> 0)
  20368. break a;
  20369. n = ((c[q >> 2] | 0) + (c[B >> 2] << 2)) | 0;
  20370. b[n >> 1] = b[z >> 1] | 0;
  20371. b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
  20372. c[B >> 2] = (c[B >> 2] | 0) + 1;
  20373. }
  20374. }
  20375. } while (0);
  20376. c[D >> 2] = 0;
  20377. while (1) {
  20378. if ((c[D >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  20379. c[E >> 2] = d[((c[v >> 2] | 0) + (c[D >> 2] << 1)) >> 0];
  20380. c[F >> 2] =
  20381. d[((c[v >> 2] | 0) + (c[D >> 2] << 1) + 1) >> 0];
  20382. c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
  20383. c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
  20384. c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
  20385. c[J >> 2] = c[I >> 2];
  20386. c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  20387. zt(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
  20388. a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
  20389. a[(z + 3) >> 0] = 2;
  20390. do {
  20391. B = c[q >> 2] | 0;
  20392. C = c[J >> 2] | 0;
  20393. c[J >> 2] = C + 1;
  20394. u = (B + (C << 2)) | 0;
  20395. b[u >> 1] = b[z >> 1] | 0;
  20396. b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
  20397. } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
  20398. u = (A + (c[F >> 2] << 2)) | 0;
  20399. c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
  20400. c[D >> 2] = (c[D >> 2] | 0) + 1;
  20401. }
  20402. l = p;
  20403. return;
  20404. }
  20405. function zt(d, f) {
  20406. d = d | 0;
  20407. f = f | 0;
  20408. var g = 0,
  20409. h = 0,
  20410. i = 0,
  20411. j = 0;
  20412. g = l;
  20413. l = (l + 16) | 0;
  20414. h = (g + 4) | 0;
  20415. i = (g + 8) | 0;
  20416. j = g;
  20417. c[h >> 2] = d;
  20418. b[i >> 1] = f;
  20419. f = (Gq() | 0) != 0;
  20420. d = c[h >> 2] | 0;
  20421. if (f) {
  20422. At(d, b[i >> 1] | 0);
  20423. l = g;
  20424. return;
  20425. } else {
  20426. c[j >> 2] = d;
  20427. a[c[j >> 2] >> 0] = b[i >> 1];
  20428. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  20429. l = g;
  20430. return;
  20431. }
  20432. }
  20433. function At(d, e) {
  20434. d = d | 0;
  20435. e = e | 0;
  20436. var f = 0,
  20437. g = 0,
  20438. h = 0;
  20439. f = l;
  20440. l = (l + 16) | 0;
  20441. g = f;
  20442. h = (f + 4) | 0;
  20443. c[g >> 2] = d;
  20444. b[h >> 1] = e;
  20445. e = c[g >> 2] | 0;
  20446. a[e >> 0] = a[h >> 0] | 0;
  20447. a[(e + 1) >> 0] = a[(h + 1) >> 0] | 0;
  20448. l = f;
  20449. return;
  20450. }
  20451. function Bt(a, b, e, f, g) {
  20452. a = a | 0;
  20453. b = b | 0;
  20454. e = e | 0;
  20455. f = f | 0;
  20456. g = g | 0;
  20457. var h = 0,
  20458. i = 0,
  20459. j = 0,
  20460. k = 0,
  20461. m = 0,
  20462. n = 0,
  20463. o = 0,
  20464. p = 0,
  20465. q = 0,
  20466. r = 0,
  20467. s = 0,
  20468. t = 0,
  20469. u = 0,
  20470. v = 0,
  20471. w = 0,
  20472. x = 0;
  20473. h = l;
  20474. l = (l + 80) | 0;
  20475. i = (h + 60) | 0;
  20476. j = (h + 56) | 0;
  20477. k = (h + 52) | 0;
  20478. m = (h + 48) | 0;
  20479. n = (h + 44) | 0;
  20480. o = (h + 40) | 0;
  20481. p = (h + 36) | 0;
  20482. q = (h + 32) | 0;
  20483. r = (h + 28) | 0;
  20484. s = (h + 24) | 0;
  20485. t = (h + 8) | 0;
  20486. u = (h + 64) | 0;
  20487. v = (h + 4) | 0;
  20488. w = h;
  20489. c[j >> 2] = a;
  20490. c[k >> 2] = b;
  20491. c[m >> 2] = e;
  20492. c[n >> 2] = f;
  20493. c[o >> 2] = g;
  20494. c[p >> 2] = c[j >> 2];
  20495. c[q >> 2] = (c[p >> 2] | 0) + (c[k >> 2] | 0);
  20496. c[r >> 2] = (c[o >> 2] | 0) + 4;
  20497. c[s >> 2] = c[r >> 2];
  20498. _s(u, c[o >> 2] | 0);
  20499. c[v >> 2] = d[(u + 2) >> 0];
  20500. c[w >> 2] = Ds(t, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  20501. if (at(c[w >> 2] | 0) | 0) {
  20502. c[i >> 2] = c[w >> 2];
  20503. x = c[i >> 2] | 0;
  20504. l = h;
  20505. return x | 0;
  20506. }
  20507. nt(
  20508. c[p >> 2] | 0,
  20509. t,
  20510. c[q >> 2] | 0,
  20511. c[s >> 2] | 0,
  20512. c[v >> 2] | 0
  20513. ) | 0;
  20514. if (ct(t) | 0) {
  20515. c[i >> 2] = c[k >> 2];
  20516. x = c[i >> 2] | 0;
  20517. l = h;
  20518. return x | 0;
  20519. } else {
  20520. c[i >> 2] = -20;
  20521. x = c[i >> 2] | 0;
  20522. l = h;
  20523. return x | 0;
  20524. }
  20525. return 0;
  20526. }
  20527. function Ct(a) {
  20528. a = a | 0;
  20529. var b = 0,
  20530. d = 0,
  20531. e = 0;
  20532. b = l;
  20533. l = (l + 16) | 0;
  20534. d = (b + 4) | 0;
  20535. e = b;
  20536. c[d >> 2] = a;
  20537. c[((c[d >> 2] | 0) + 21536) >> 2] = 5;
  20538. c[((c[d >> 2] | 0) + 21580) >> 2] = 0;
  20539. c[((c[d >> 2] | 0) + 21520) >> 2] = 0;
  20540. c[((c[d >> 2] | 0) + 21524) >> 2] = 0;
  20541. c[((c[d >> 2] | 0) + 21528) >> 2] = 0;
  20542. c[((c[d >> 2] | 0) + 21532) >> 2] = 0;
  20543. c[((c[d >> 2] | 0) + 5132) >> 2] = 201326604;
  20544. c[((c[d >> 2] | 0) + 21588) >> 2] = 0;
  20545. c[((c[d >> 2] | 0) + 21584) >> 2] = 0;
  20546. c[((c[d >> 2] | 0) + 21684) >> 2] = 0;
  20547. c[e >> 2] = 0;
  20548. while (1) {
  20549. if ((c[e >> 2] | 0) >= 3) break;
  20550. c[((c[d >> 2] | 0) + 21540 + (c[e >> 2] << 2)) >> 2] =
  20551. c[(11940 + (c[e >> 2] << 2)) >> 2];
  20552. c[e >> 2] = (c[e >> 2] | 0) + 1;
  20553. }
  20554. l = b;
  20555. return 0;
  20556. }
  20557. function Dt(a, b, d) {
  20558. a = a | 0;
  20559. b = b | 0;
  20560. d = d | 0;
  20561. var e = 0,
  20562. f = 0,
  20563. g = 0,
  20564. h = 0,
  20565. i = 0,
  20566. j = 0,
  20567. k = 0,
  20568. m = 0;
  20569. e = l;
  20570. l = (l + 32) | 0;
  20571. f = (e + 20) | 0;
  20572. g = (e + 16) | 0;
  20573. h = (e + 12) | 0;
  20574. i = (e + 8) | 0;
  20575. j = (e + 4) | 0;
  20576. k = e;
  20577. c[g >> 2] = a;
  20578. c[h >> 2] = b;
  20579. c[i >> 2] = d;
  20580. if ((c[i >> 2] | 0) >>> 0 < 8) {
  20581. c[f >> 2] =
  20582. Et(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  20583. m = c[f >> 2] | 0;
  20584. l = e;
  20585. return m | 0;
  20586. }
  20587. c[j >> 2] = Bq(c[h >> 2] | 0) | 0;
  20588. if ((c[j >> 2] | 0) != -332356553) {
  20589. c[f >> 2] =
  20590. Et(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  20591. m = c[f >> 2] | 0;
  20592. l = e;
  20593. return m | 0;
  20594. }
  20595. j = Bq(((c[h >> 2] | 0) + 4) | 0) | 0;
  20596. c[((c[g >> 2] | 0) + 21684) >> 2] = j;
  20597. c[h >> 2] = (c[h >> 2] | 0) + 8;
  20598. c[i >> 2] = (c[i >> 2] | 0) - 8;
  20599. c[k >> 2] =
  20600. Ft(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  20601. if (hr(c[k >> 2] | 0) | 0) {
  20602. c[f >> 2] = -30;
  20603. m = c[f >> 2] | 0;
  20604. l = e;
  20605. return m | 0;
  20606. } else {
  20607. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  20608. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  20609. c[f >> 2] =
  20610. Et(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  20611. m = c[f >> 2] | 0;
  20612. l = e;
  20613. return m | 0;
  20614. }
  20615. return 0;
  20616. }
  20617. function Et(a, b, d) {
  20618. a = a | 0;
  20619. b = b | 0;
  20620. d = d | 0;
  20621. var e = 0,
  20622. f = 0,
  20623. g = 0,
  20624. h = 0;
  20625. e = l;
  20626. l = (l + 16) | 0;
  20627. f = (e + 8) | 0;
  20628. g = (e + 4) | 0;
  20629. h = e;
  20630. c[f >> 2] = a;
  20631. c[g >> 2] = b;
  20632. c[h >> 2] = d;
  20633. c[((c[f >> 2] | 0) + 21532) >> 2] =
  20634. c[((c[f >> 2] | 0) + 21520) >> 2];
  20635. c[((c[f >> 2] | 0) + 21528) >> 2] =
  20636. (c[g >> 2] | 0) +
  20637. (0 -
  20638. ((c[((c[f >> 2] | 0) + 21520) >> 2] | 0) -
  20639. (c[((c[f >> 2] | 0) + 21524) >> 2] | 0)));
  20640. c[((c[f >> 2] | 0) + 21524) >> 2] = c[g >> 2];
  20641. c[((c[f >> 2] | 0) + 21520) >> 2] =
  20642. (c[g >> 2] | 0) + (c[h >> 2] | 0);
  20643. l = e;
  20644. return 0;
  20645. }
  20646. function Ft(a, b, d) {
  20647. a = a | 0;
  20648. b = b | 0;
  20649. d = d | 0;
  20650. var e = 0,
  20651. f = 0,
  20652. g = 0,
  20653. h = 0,
  20654. i = 0,
  20655. j = 0,
  20656. k = 0,
  20657. m = 0,
  20658. n = 0,
  20659. o = 0,
  20660. p = 0,
  20661. q = 0,
  20662. r = 0,
  20663. s = 0,
  20664. t = 0,
  20665. u = 0,
  20666. v = 0,
  20667. w = 0,
  20668. x = 0,
  20669. y = 0,
  20670. z = 0,
  20671. A = 0,
  20672. B = 0,
  20673. C = 0;
  20674. e = l;
  20675. l = (l + 336) | 0;
  20676. f = (e + 324) | 0;
  20677. g = (e + 320) | 0;
  20678. h = (e + 316) | 0;
  20679. i = (e + 312) | 0;
  20680. j = (e + 308) | 0;
  20681. k = (e + 304) | 0;
  20682. m = (e + 300) | 0;
  20683. n = (e + 192) | 0;
  20684. o = (e + 296) | 0;
  20685. p = (e + 292) | 0;
  20686. q = (e + 288) | 0;
  20687. r = (e + 284) | 0;
  20688. s = (e + 80) | 0;
  20689. t = (e + 280) | 0;
  20690. u = (e + 276) | 0;
  20691. v = (e + 272) | 0;
  20692. w = (e + 268) | 0;
  20693. x = e;
  20694. y = (e + 264) | 0;
  20695. z = (e + 260) | 0;
  20696. A = (e + 256) | 0;
  20697. B = (e + 252) | 0;
  20698. c[g >> 2] = a;
  20699. c[h >> 2] = b;
  20700. c[i >> 2] = d;
  20701. c[j >> 2] = c[h >> 2];
  20702. c[k >> 2] = (c[j >> 2] | 0) + (c[i >> 2] | 0);
  20703. c[m >> 2] =
  20704. vt(
  20705. ((c[g >> 2] | 0) + 5132) | 0,
  20706. c[h >> 2] | 0,
  20707. c[i >> 2] | 0
  20708. ) | 0;
  20709. if (hr(c[m >> 2] | 0) | 0) {
  20710. c[f >> 2] = -30;
  20711. C = c[f >> 2] | 0;
  20712. l = e;
  20713. return C | 0;
  20714. }
  20715. c[j >> 2] = (c[j >> 2] | 0) + (c[m >> 2] | 0);
  20716. c[o >> 2] = 28;
  20717. c[q >> 2] =
  20718. Vs(
  20719. n,
  20720. o,
  20721. p,
  20722. c[j >> 2] | 0,
  20723. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
  20724. ) | 0;
  20725. if (hr(c[q >> 2] | 0) | 0) {
  20726. c[f >> 2] = -30;
  20727. C = c[f >> 2] | 0;
  20728. l = e;
  20729. return C | 0;
  20730. }
  20731. if ((c[p >> 2] | 0) >>> 0 > 8) {
  20732. c[f >> 2] = -30;
  20733. C = c[f >> 2] | 0;
  20734. l = e;
  20735. return C | 0;
  20736. }
  20737. c[r >> 2] =
  20738. Us(
  20739. ((c[g >> 2] | 0) + 2052) | 0,
  20740. n,
  20741. c[o >> 2] | 0,
  20742. c[p >> 2] | 0
  20743. ) | 0;
  20744. if (hr(c[r >> 2] | 0) | 0) {
  20745. c[f >> 2] = -30;
  20746. C = c[f >> 2] | 0;
  20747. l = e;
  20748. return C | 0;
  20749. }
  20750. c[j >> 2] = (c[j >> 2] | 0) + (c[q >> 2] | 0);
  20751. c[t >> 2] = 52;
  20752. c[v >> 2] =
  20753. Vs(
  20754. s,
  20755. t,
  20756. u,
  20757. c[j >> 2] | 0,
  20758. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
  20759. ) | 0;
  20760. if (hr(c[v >> 2] | 0) | 0) {
  20761. c[f >> 2] = -30;
  20762. C = c[f >> 2] | 0;
  20763. l = e;
  20764. return C | 0;
  20765. }
  20766. if ((c[u >> 2] | 0) >>> 0 > 9) {
  20767. c[f >> 2] = -30;
  20768. C = c[f >> 2] | 0;
  20769. l = e;
  20770. return C | 0;
  20771. }
  20772. c[w >> 2] =
  20773. Us(
  20774. ((c[g >> 2] | 0) + 3080) | 0,
  20775. s,
  20776. c[t >> 2] | 0,
  20777. c[u >> 2] | 0
  20778. ) | 0;
  20779. if (hr(c[w >> 2] | 0) | 0) {
  20780. c[f >> 2] = -30;
  20781. C = c[f >> 2] | 0;
  20782. l = e;
  20783. return C | 0;
  20784. }
  20785. c[j >> 2] = (c[j >> 2] | 0) + (c[v >> 2] | 0);
  20786. c[y >> 2] = 35;
  20787. c[A >> 2] =
  20788. Vs(
  20789. x,
  20790. y,
  20791. z,
  20792. c[j >> 2] | 0,
  20793. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
  20794. ) | 0;
  20795. if (hr(c[A >> 2] | 0) | 0) {
  20796. c[f >> 2] = -30;
  20797. C = c[f >> 2] | 0;
  20798. l = e;
  20799. return C | 0;
  20800. }
  20801. if ((c[z >> 2] | 0) >>> 0 > 9) {
  20802. c[f >> 2] = -30;
  20803. C = c[f >> 2] | 0;
  20804. l = e;
  20805. return C | 0;
  20806. }
  20807. c[B >> 2] =
  20808. Us(c[g >> 2] | 0, x, c[y >> 2] | 0, c[z >> 2] | 0) | 0;
  20809. if (hr(c[B >> 2] | 0) | 0) {
  20810. c[f >> 2] = -30;
  20811. C = c[f >> 2] | 0;
  20812. l = e;
  20813. return C | 0;
  20814. }
  20815. c[j >> 2] = (c[j >> 2] | 0) + (c[A >> 2] | 0);
  20816. if (
  20817. (((c[j >> 2] | 0) + 12) | 0) >>> 0 >
  20818. (c[k >> 2] | 0) >>> 0
  20819. ) {
  20820. c[f >> 2] = -30;
  20821. C = c[f >> 2] | 0;
  20822. l = e;
  20823. return C | 0;
  20824. }
  20825. k = Bq(c[j >> 2] | 0) | 0;
  20826. c[((c[g >> 2] | 0) + 21540) >> 2] = k;
  20827. if (
  20828. c[((c[g >> 2] | 0) + 21540) >> 2] | 0
  20829. ? (c[((c[g >> 2] | 0) + 21540) >> 2] | 0) >>> 0 <
  20830. (c[i >> 2] | 0) >>> 0
  20831. : 0
  20832. ) {
  20833. k = Bq(((c[j >> 2] | 0) + 4) | 0) | 0;
  20834. c[((c[g >> 2] | 0) + 21540 + 4) >> 2] = k;
  20835. if (
  20836. c[((c[g >> 2] | 0) + 21540 + 4) >> 2] | 0
  20837. ? (c[((c[g >> 2] | 0) + 21540 + 4) >> 2] | 0) >>> 0 <
  20838. (c[i >> 2] | 0) >>> 0
  20839. : 0
  20840. ) {
  20841. k = Bq(((c[j >> 2] | 0) + 8) | 0) | 0;
  20842. c[((c[g >> 2] | 0) + 21540 + 8) >> 2] = k;
  20843. if (
  20844. c[((c[g >> 2] | 0) + 21540 + 8) >> 2] | 0
  20845. ? (c[((c[g >> 2] | 0) + 21540 + 8) >> 2] | 0) >>> 0 <
  20846. (c[i >> 2] | 0) >>> 0
  20847. : 0
  20848. ) {
  20849. c[j >> 2] = (c[j >> 2] | 0) + 12;
  20850. c[((c[g >> 2] | 0) + 21588) >> 2] = 1;
  20851. c[((c[g >> 2] | 0) + 21584) >> 2] = 1;
  20852. c[f >> 2] = (c[j >> 2] | 0) - (c[h >> 2] | 0);
  20853. C = c[f >> 2] | 0;
  20854. l = e;
  20855. return C | 0;
  20856. }
  20857. c[f >> 2] = -30;
  20858. C = c[f >> 2] | 0;
  20859. l = e;
  20860. return C | 0;
  20861. }
  20862. c[f >> 2] = -30;
  20863. C = c[f >> 2] | 0;
  20864. l = e;
  20865. return C | 0;
  20866. }
  20867. c[f >> 2] = -30;
  20868. C = c[f >> 2] | 0;
  20869. l = e;
  20870. return C | 0;
  20871. }
  20872. function Gt(a) {
  20873. a = a | 0;
  20874. var b = 0,
  20875. d = 0,
  20876. e = 0,
  20877. f = 0,
  20878. g = 0;
  20879. b = l;
  20880. l = (l + 16) | 0;
  20881. d = (b + 4) | 0;
  20882. e = b;
  20883. if ((c[a >> 2] | 0) == 0 ? (c[(a + 4) >> 2] | 0) == 0 : 0) {
  20884. c[a >> 2] = c[2988];
  20885. c[(a + 4) >> 2] = c[2989];
  20886. c[(a + 8) >> 2] = c[2990];
  20887. }
  20888. if (c[a >> 2] | 0 ? c[(a + 4) >> 2] | 0 : 0) {
  20889. c[e >> 2] =
  20890. qc[c[a >> 2] & 63](c[(a + 8) >> 2] | 0, 152808) | 0;
  20891. if (c[e >> 2] | 0) {
  20892. f = ((c[e >> 2] | 0) + 21692) | 0;
  20893. c[f >> 2] = c[a >> 2];
  20894. c[(f + 4) >> 2] = c[(a + 4) >> 2];
  20895. c[(f + 8) >> 2] = c[(a + 8) >> 2];
  20896. Ct(c[e >> 2] | 0) | 0;
  20897. c[d >> 2] = c[e >> 2];
  20898. g = c[d >> 2] | 0;
  20899. l = b;
  20900. return g | 0;
  20901. } else {
  20902. c[d >> 2] = 0;
  20903. g = c[d >> 2] | 0;
  20904. l = b;
  20905. return g | 0;
  20906. }
  20907. }
  20908. c[d >> 2] = 0;
  20909. g = c[d >> 2] | 0;
  20910. l = b;
  20911. return g | 0;
  20912. }
  20913. function Ht(a, b) {
  20914. a = a | 0;
  20915. b = b | 0;
  20916. var d = 0,
  20917. e = 0,
  20918. f = 0;
  20919. d = l;
  20920. l = (l + 16) | 0;
  20921. e = (d + 4) | 0;
  20922. f = d;
  20923. c[(d + 8) >> 2] = a;
  20924. c[e >> 2] = b;
  20925. c[f >> 2] = Cy(c[e >> 2] | 0) | 0;
  20926. l = d;
  20927. return c[f >> 2] | 0;
  20928. }
  20929. function It(a, b) {
  20930. a = a | 0;
  20931. b = b | 0;
  20932. var d = 0,
  20933. e = 0;
  20934. d = l;
  20935. l = (l + 16) | 0;
  20936. e = d;
  20937. c[(d + 4) >> 2] = a;
  20938. c[e >> 2] = b;
  20939. Dy(c[e >> 2] | 0);
  20940. l = d;
  20941. return;
  20942. }
  20943. function Jt(a, b, d) {
  20944. a = a | 0;
  20945. b = b | 0;
  20946. d = d | 0;
  20947. var e = 0,
  20948. f = 0,
  20949. g = 0,
  20950. h = 0,
  20951. i = 0,
  20952. j = 0,
  20953. k = 0,
  20954. m = 0;
  20955. e = l;
  20956. l = (l + 32) | 0;
  20957. f = (e + 20) | 0;
  20958. g = (e + 16) | 0;
  20959. h = (e + 12) | 0;
  20960. i = (e + 8) | 0;
  20961. j = (e + 4) | 0;
  20962. k = e;
  20963. c[g >> 2] = a;
  20964. c[h >> 2] = b;
  20965. c[i >> 2] = d;
  20966. c[j >> 2] = Ou(c[g >> 2] | 0) | 0;
  20967. if (jr(c[j >> 2] | 0) | 0) {
  20968. c[f >> 2] = c[j >> 2];
  20969. m = c[f >> 2] | 0;
  20970. l = e;
  20971. return m | 0;
  20972. }
  20973. if (
  20974. ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
  20975. ? ((c[k >> 2] =
  20976. Pu(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
  20977. jr(c[k >> 2] | 0) | 0)
  20978. : 0
  20979. ) {
  20980. c[f >> 2] = -30;
  20981. m = c[f >> 2] | 0;
  20982. l = e;
  20983. return m | 0;
  20984. }
  20985. c[f >> 2] = 0;
  20986. m = c[f >> 2] | 0;
  20987. l = e;
  20988. return m | 0;
  20989. }
  20990. function Kt(a, b) {
  20991. a = a | 0;
  20992. b = b | 0;
  20993. var d = 0,
  20994. e = 0,
  20995. f = 0;
  20996. d = l;
  20997. l = (l + 16) | 0;
  20998. e = (d + 4) | 0;
  20999. f = d;
  21000. c[e >> 2] = a;
  21001. c[f >> 2] = b;
  21002. if (
  21003. (c[f >> 2] | 0) ==
  21004. (c[((c[e >> 2] | 0) + 21520) >> 2] | 0)
  21005. ) {
  21006. l = d;
  21007. return;
  21008. }
  21009. c[((c[e >> 2] | 0) + 21532) >> 2] =
  21010. c[((c[e >> 2] | 0) + 21520) >> 2];
  21011. c[((c[e >> 2] | 0) + 21528) >> 2] =
  21012. (c[f >> 2] | 0) +
  21013. (0 -
  21014. ((c[((c[e >> 2] | 0) + 21520) >> 2] | 0) -
  21015. (c[((c[e >> 2] | 0) + 21524) >> 2] | 0)));
  21016. c[((c[e >> 2] | 0) + 21524) >> 2] = c[f >> 2];
  21017. c[((c[e >> 2] | 0) + 21520) >> 2] = c[f >> 2];
  21018. l = d;
  21019. return;
  21020. }
  21021. function Lt(a, b, d, e, f) {
  21022. a = a | 0;
  21023. b = b | 0;
  21024. d = d | 0;
  21025. e = e | 0;
  21026. f = f | 0;
  21027. var g = 0,
  21028. h = 0,
  21029. i = 0,
  21030. j = 0,
  21031. k = 0,
  21032. m = 0,
  21033. n = 0,
  21034. o = 0,
  21035. p = 0,
  21036. q = 0,
  21037. r = 0,
  21038. s = 0,
  21039. t = 0,
  21040. u = 0,
  21041. v = 0,
  21042. w = 0,
  21043. x = 0,
  21044. y = 0,
  21045. z = 0,
  21046. A = 0;
  21047. g = l;
  21048. l = (l + 80) | 0;
  21049. h = (g + 68) | 0;
  21050. i = (g + 64) | 0;
  21051. j = (g + 60) | 0;
  21052. k = (g + 56) | 0;
  21053. m = (g + 52) | 0;
  21054. n = (g + 48) | 0;
  21055. o = (g + 44) | 0;
  21056. p = (g + 40) | 0;
  21057. q = (g + 36) | 0;
  21058. r = (g + 32) | 0;
  21059. s = (g + 28) | 0;
  21060. t = (g + 24) | 0;
  21061. u = (g + 16) | 0;
  21062. v = (g + 8) | 0;
  21063. w = (g + 4) | 0;
  21064. x = g;
  21065. c[i >> 2] = a;
  21066. c[j >> 2] = b;
  21067. c[k >> 2] = d;
  21068. c[m >> 2] = e;
  21069. c[n >> 2] = f;
  21070. c[o >> 2] = c[m >> 2];
  21071. c[p >> 2] = (c[o >> 2] | 0) + (c[n >> 2] | 0);
  21072. c[q >> 2] = c[j >> 2];
  21073. c[r >> 2] = c[q >> 2];
  21074. c[s >> 2] = (c[q >> 2] | 0) + (c[k >> 2] | 0);
  21075. c[t >> 2] = c[n >> 2];
  21076. c[u >> 2] = 0;
  21077. c[(u + 4) >> 2] = 0;
  21078. if ((c[n >> 2] | 0) >>> 0 < 8) {
  21079. c[h >> 2] = -72;
  21080. y = c[h >> 2] | 0;
  21081. l = g;
  21082. return y | 0;
  21083. }
  21084. c[v >> 2] = Nq(c[m >> 2] | 0, 5) | 0;
  21085. if (jr(c[v >> 2] | 0) | 0) {
  21086. c[h >> 2] = c[v >> 2];
  21087. y = c[h >> 2] | 0;
  21088. l = g;
  21089. return y | 0;
  21090. }
  21091. if (
  21092. (c[n >> 2] | 0) >>> 0 <
  21093. (((c[v >> 2] | 0) + 3) | 0) >>> 0
  21094. ) {
  21095. c[h >> 2] = -72;
  21096. y = c[h >> 2] | 0;
  21097. l = g;
  21098. return y | 0;
  21099. }
  21100. if (Mt(c[i >> 2] | 0, c[m >> 2] | 0, c[v >> 2] | 0) | 0) {
  21101. c[h >> 2] = -20;
  21102. y = c[h >> 2] | 0;
  21103. l = g;
  21104. return y | 0;
  21105. }
  21106. c[o >> 2] = (c[o >> 2] | 0) + (c[v >> 2] | 0);
  21107. c[t >> 2] = (c[t >> 2] | 0) - (c[v >> 2] | 0);
  21108. a: while (1) {
  21109. c[w >> 2] = 0;
  21110. c[x >> 2] =
  21111. kr(
  21112. c[o >> 2] | 0,
  21113. ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0,
  21114. u
  21115. ) | 0;
  21116. if (jr(c[x >> 2] | 0) | 0) {
  21117. z = 11;
  21118. break;
  21119. }
  21120. c[o >> 2] = (c[o >> 2] | 0) + 3;
  21121. c[t >> 2] = (c[t >> 2] | 0) - 3;
  21122. if ((c[x >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  21123. z = 13;
  21124. break;
  21125. }
  21126. switch (c[u >> 2] | 0) {
  21127. case 2: {
  21128. z = 17;
  21129. break a;
  21130. break;
  21131. }
  21132. case 0: {
  21133. c[w >> 2] =
  21134. Nt(
  21135. c[i >> 2] | 0,
  21136. c[r >> 2] | 0,
  21137. ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  21138. c[o >> 2] | 0,
  21139. c[x >> 2] | 0
  21140. ) | 0;
  21141. break;
  21142. }
  21143. case 1: {
  21144. c[w >> 2] =
  21145. Ot(
  21146. c[r >> 2] | 0,
  21147. ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  21148. c[o >> 2] | 0,
  21149. c[x >> 2] | 0
  21150. ) | 0;
  21151. break;
  21152. }
  21153. case 3: {
  21154. if (c[t >> 2] | 0) {
  21155. z = 19;
  21156. break a;
  21157. }
  21158. break;
  21159. }
  21160. default: {
  21161. z = 20;
  21162. break a;
  21163. }
  21164. }
  21165. if (!(c[x >> 2] | 0)) {
  21166. z = 25;
  21167. break;
  21168. }
  21169. v = (jr(c[w >> 2] | 0) | 0) != 0;
  21170. A = c[w >> 2] | 0;
  21171. if (v) {
  21172. z = 23;
  21173. break;
  21174. }
  21175. c[r >> 2] = (c[r >> 2] | 0) + A;
  21176. c[o >> 2] = (c[o >> 2] | 0) + (c[x >> 2] | 0);
  21177. c[t >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  21178. }
  21179. if ((z | 0) == 11) {
  21180. c[h >> 2] = c[x >> 2];
  21181. y = c[h >> 2] | 0;
  21182. l = g;
  21183. return y | 0;
  21184. } else if ((z | 0) == 13) {
  21185. c[h >> 2] = -72;
  21186. y = c[h >> 2] | 0;
  21187. l = g;
  21188. return y | 0;
  21189. } else if ((z | 0) == 17) {
  21190. c[h >> 2] = -1;
  21191. y = c[h >> 2] | 0;
  21192. l = g;
  21193. return y | 0;
  21194. } else if ((z | 0) == 19) {
  21195. c[h >> 2] = -72;
  21196. y = c[h >> 2] | 0;
  21197. l = g;
  21198. return y | 0;
  21199. } else if ((z | 0) == 20) {
  21200. c[h >> 2] = -1;
  21201. y = c[h >> 2] | 0;
  21202. l = g;
  21203. return y | 0;
  21204. } else if ((z | 0) == 23) {
  21205. c[h >> 2] = A;
  21206. y = c[h >> 2] | 0;
  21207. l = g;
  21208. return y | 0;
  21209. } else if ((z | 0) == 25) {
  21210. c[h >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
  21211. y = c[h >> 2] | 0;
  21212. l = g;
  21213. return y | 0;
  21214. }
  21215. return 0;
  21216. }
  21217. function Mt(a, b, d) {
  21218. a = a | 0;
  21219. b = b | 0;
  21220. d = d | 0;
  21221. var e = 0,
  21222. f = 0,
  21223. g = 0,
  21224. h = 0,
  21225. i = 0,
  21226. j = 0,
  21227. k = 0;
  21228. e = l;
  21229. l = (l + 32) | 0;
  21230. f = (e + 16) | 0;
  21231. g = (e + 12) | 0;
  21232. h = (e + 8) | 0;
  21233. i = (e + 4) | 0;
  21234. j = e;
  21235. c[g >> 2] = a;
  21236. c[h >> 2] = b;
  21237. c[i >> 2] = d;
  21238. c[j >> 2] =
  21239. zq(
  21240. ((c[g >> 2] | 0) + 21544) | 0,
  21241. c[h >> 2] | 0,
  21242. c[i >> 2] | 0
  21243. ) | 0;
  21244. if (
  21245. au() | 0
  21246. ? (c[((c[g >> 2] | 0) + 21544 + 8) >> 2] | 0) >>> 0 > 25
  21247. : 0
  21248. ) {
  21249. c[f >> 2] = -14;
  21250. k = c[f >> 2] | 0;
  21251. l = e;
  21252. return k | 0;
  21253. }
  21254. c[f >> 2] = c[j >> 2];
  21255. k = c[f >> 2] | 0;
  21256. l = e;
  21257. return k | 0;
  21258. }
  21259. function Nt(a, b, d, e, f) {
  21260. a = a | 0;
  21261. b = b | 0;
  21262. d = d | 0;
  21263. e = e | 0;
  21264. f = f | 0;
  21265. var g = 0,
  21266. h = 0,
  21267. i = 0,
  21268. j = 0,
  21269. k = 0,
  21270. m = 0,
  21271. n = 0,
  21272. o = 0,
  21273. p = 0,
  21274. q = 0;
  21275. g = l;
  21276. l = (l + 32) | 0;
  21277. h = (g + 28) | 0;
  21278. i = (g + 24) | 0;
  21279. j = (g + 20) | 0;
  21280. k = (g + 16) | 0;
  21281. m = (g + 12) | 0;
  21282. n = (g + 8) | 0;
  21283. o = (g + 4) | 0;
  21284. p = g;
  21285. c[i >> 2] = a;
  21286. c[j >> 2] = b;
  21287. c[k >> 2] = d;
  21288. c[m >> 2] = e;
  21289. c[n >> 2] = f;
  21290. c[o >> 2] = c[m >> 2];
  21291. if ((c[n >> 2] | 0) >>> 0 >= 131072) {
  21292. c[h >> 2] = -72;
  21293. q = c[h >> 2] | 0;
  21294. l = g;
  21295. return q | 0;
  21296. }
  21297. c[p >> 2] =
  21298. Pt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  21299. m = (jr(c[p >> 2] | 0) | 0) != 0;
  21300. f = c[p >> 2] | 0;
  21301. if (m) {
  21302. c[h >> 2] = f;
  21303. q = c[h >> 2] | 0;
  21304. l = g;
  21305. return q | 0;
  21306. } else {
  21307. c[o >> 2] = (c[o >> 2] | 0) + f;
  21308. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  21309. c[h >> 2] =
  21310. Qt(
  21311. c[i >> 2] | 0,
  21312. c[j >> 2] | 0,
  21313. c[k >> 2] | 0,
  21314. c[o >> 2] | 0,
  21315. c[n >> 2] | 0
  21316. ) | 0;
  21317. q = c[h >> 2] | 0;
  21318. l = g;
  21319. return q | 0;
  21320. }
  21321. return 0;
  21322. }
  21323. function Ot(a, b, d, e) {
  21324. a = a | 0;
  21325. b = b | 0;
  21326. d = d | 0;
  21327. e = e | 0;
  21328. var f = 0,
  21329. g = 0,
  21330. h = 0,
  21331. i = 0,
  21332. j = 0,
  21333. k = 0,
  21334. m = 0;
  21335. f = l;
  21336. l = (l + 32) | 0;
  21337. g = (f + 16) | 0;
  21338. h = (f + 12) | 0;
  21339. i = (f + 8) | 0;
  21340. j = (f + 4) | 0;
  21341. k = f;
  21342. c[h >> 2] = a;
  21343. c[i >> 2] = b;
  21344. c[j >> 2] = d;
  21345. c[k >> 2] = e;
  21346. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  21347. c[g >> 2] = -70;
  21348. m = c[g >> 2] | 0;
  21349. l = f;
  21350. return m | 0;
  21351. } else {
  21352. mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  21353. c[g >> 2] = c[k >> 2];
  21354. m = c[g >> 2] | 0;
  21355. l = f;
  21356. return m | 0;
  21357. }
  21358. return 0;
  21359. }
  21360. function Pt(b, e, f) {
  21361. b = b | 0;
  21362. e = e | 0;
  21363. f = f | 0;
  21364. var g = 0,
  21365. h = 0,
  21366. i = 0,
  21367. j = 0,
  21368. k = 0,
  21369. m = 0,
  21370. n = 0,
  21371. o = 0,
  21372. p = 0,
  21373. q = 0,
  21374. r = 0,
  21375. s = 0,
  21376. t = 0,
  21377. u = 0,
  21378. v = 0,
  21379. w = 0,
  21380. x = 0,
  21381. y = 0,
  21382. z = 0,
  21383. A = 0;
  21384. g = l;
  21385. l = (l + 80) | 0;
  21386. h = (g + 64) | 0;
  21387. i = (g + 60) | 0;
  21388. j = (g + 56) | 0;
  21389. k = (g + 52) | 0;
  21390. m = (g + 48) | 0;
  21391. n = (g + 44) | 0;
  21392. o = (g + 40) | 0;
  21393. p = (g + 36) | 0;
  21394. q = (g + 32) | 0;
  21395. r = (g + 28) | 0;
  21396. s = (g + 24) | 0;
  21397. t = (g + 20) | 0;
  21398. u = (g + 16) | 0;
  21399. v = (g + 12) | 0;
  21400. w = (g + 8) | 0;
  21401. x = (g + 4) | 0;
  21402. y = g;
  21403. c[i >> 2] = b;
  21404. c[j >> 2] = e;
  21405. c[k >> 2] = f;
  21406. c[m >> 2] = c[j >> 2];
  21407. if ((c[k >> 2] | 0) >>> 0 < 3) {
  21408. c[h >> 2] = -20;
  21409. z = c[h >> 2] | 0;
  21410. l = g;
  21411. return z | 0;
  21412. }
  21413. switch (((d[c[m >> 2] >> 0] | 0) >> 6) | 0) {
  21414. case 0: {
  21415. c[p >> 2] = 0;
  21416. c[q >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  21417. if ((c[k >> 2] | 0) >>> 0 < 5) {
  21418. c[h >> 2] = -20;
  21419. z = c[h >> 2] | 0;
  21420. l = g;
  21421. return z | 0;
  21422. }
  21423. switch (c[q >> 2] | 0) {
  21424. case 3: {
  21425. c[q >> 2] = 5;
  21426. c[n >> 2] =
  21427. (((d[c[m >> 2] >> 0] | 0) & 15) << 14) +
  21428. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 6) +
  21429. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 2);
  21430. c[o >> 2] =
  21431. (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 3) << 16) +
  21432. ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) << 8) +
  21433. (d[((c[m >> 2] | 0) + 4) >> 0] | 0);
  21434. break;
  21435. }
  21436. case 2: {
  21437. c[q >> 2] = 4;
  21438. c[n >> 2] =
  21439. (((d[c[m >> 2] >> 0] | 0) & 15) << 10) +
  21440. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 2) +
  21441. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 6);
  21442. c[o >> 2] =
  21443. (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 63) << 8) +
  21444. (d[((c[m >> 2] | 0) + 3) >> 0] | 0);
  21445. break;
  21446. }
  21447. default: {
  21448. c[q >> 2] = 3;
  21449. c[p >> 2] = (d[c[m >> 2] >> 0] | 0) & 16;
  21450. c[n >> 2] =
  21451. (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
  21452. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
  21453. c[o >> 2] =
  21454. (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
  21455. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  21456. }
  21457. }
  21458. if ((c[n >> 2] | 0) >>> 0 > 131072) {
  21459. c[h >> 2] = -20;
  21460. z = c[h >> 2] | 0;
  21461. l = g;
  21462. return z | 0;
  21463. }
  21464. if (
  21465. (((c[o >> 2] | 0) + (c[q >> 2] | 0)) | 0) >>> 0 >
  21466. (c[k >> 2] | 0) >>> 0
  21467. ) {
  21468. c[h >> 2] = -20;
  21469. z = c[h >> 2] | 0;
  21470. l = g;
  21471. return z | 0;
  21472. }
  21473. j = ((c[i >> 2] | 0) + 21580) | 0;
  21474. f = c[n >> 2] | 0;
  21475. e = ((c[m >> 2] | 0) + (c[q >> 2] | 0)) | 0;
  21476. b = c[o >> 2] | 0;
  21477. if (c[p >> 2] | 0) A = lu(j, f, e, b) | 0;
  21478. else A = mu(j, f, e, b) | 0;
  21479. if (jr(A) | 0) {
  21480. c[h >> 2] = -20;
  21481. z = c[h >> 2] | 0;
  21482. l = g;
  21483. return z | 0;
  21484. } else {
  21485. c[((c[i >> 2] | 0) + 21572) >> 2] =
  21486. (c[i >> 2] | 0) + 21580;
  21487. c[((c[i >> 2] | 0) + 21576) >> 2] = c[n >> 2];
  21488. n =
  21489. ((c[i >> 2] | 0) +
  21490. 21580 +
  21491. (c[((c[i >> 2] | 0) + 21576) >> 2] | 0)) |
  21492. 0;
  21493. a[n >> 0] = 0;
  21494. a[(n + 1) >> 0] = 0;
  21495. a[(n + 2) >> 0] = 0;
  21496. a[(n + 3) >> 0] = 0;
  21497. a[(n + 4) >> 0] = 0;
  21498. a[(n + 5) >> 0] = 0;
  21499. a[(n + 6) >> 0] = 0;
  21500. a[(n + 7) >> 0] = 0;
  21501. c[h >> 2] = (c[o >> 2] | 0) + (c[q >> 2] | 0);
  21502. z = c[h >> 2] | 0;
  21503. l = g;
  21504. return z | 0;
  21505. }
  21506. break;
  21507. }
  21508. case 1: {
  21509. c[t >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  21510. if ((c[t >> 2] | 0) != 1) {
  21511. c[h >> 2] = -20;
  21512. z = c[h >> 2] | 0;
  21513. l = g;
  21514. return z | 0;
  21515. }
  21516. if (!(c[((c[i >> 2] | 0) + 21568) >> 2] | 0)) {
  21517. c[h >> 2] = -30;
  21518. z = c[h >> 2] | 0;
  21519. l = g;
  21520. return z | 0;
  21521. }
  21522. c[t >> 2] = 3;
  21523. c[r >> 2] =
  21524. (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
  21525. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
  21526. c[s >> 2] =
  21527. (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
  21528. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  21529. if (
  21530. (((c[s >> 2] | 0) + (c[t >> 2] | 0)) | 0) >>> 0 >
  21531. (c[k >> 2] | 0) >>> 0
  21532. ) {
  21533. c[h >> 2] = -20;
  21534. z = c[h >> 2] | 0;
  21535. l = g;
  21536. return z | 0;
  21537. }
  21538. c[u >> 2] =
  21539. nu(
  21540. ((c[i >> 2] | 0) + 21580) | 0,
  21541. c[r >> 2] | 0,
  21542. ((c[m >> 2] | 0) + (c[t >> 2] | 0)) | 0,
  21543. c[s >> 2] | 0,
  21544. ((c[i >> 2] | 0) + 5132) | 0
  21545. ) | 0;
  21546. if (jr(c[u >> 2] | 0) | 0) {
  21547. c[h >> 2] = -20;
  21548. z = c[h >> 2] | 0;
  21549. l = g;
  21550. return z | 0;
  21551. } else {
  21552. c[((c[i >> 2] | 0) + 21572) >> 2] =
  21553. (c[i >> 2] | 0) + 21580;
  21554. c[((c[i >> 2] | 0) + 21576) >> 2] = c[r >> 2];
  21555. r =
  21556. ((c[i >> 2] | 0) +
  21557. 21580 +
  21558. (c[((c[i >> 2] | 0) + 21576) >> 2] | 0)) |
  21559. 0;
  21560. a[r >> 0] = 0;
  21561. a[(r + 1) >> 0] = 0;
  21562. a[(r + 2) >> 0] = 0;
  21563. a[(r + 3) >> 0] = 0;
  21564. a[(r + 4) >> 0] = 0;
  21565. a[(r + 5) >> 0] = 0;
  21566. a[(r + 6) >> 0] = 0;
  21567. a[(r + 7) >> 0] = 0;
  21568. c[h >> 2] = (c[s >> 2] | 0) + (c[t >> 2] | 0);
  21569. z = c[h >> 2] | 0;
  21570. l = g;
  21571. return z | 0;
  21572. }
  21573. break;
  21574. }
  21575. case 2: {
  21576. c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  21577. switch (c[w >> 2] | 0) {
  21578. case 3: {
  21579. c[v >> 2] =
  21580. (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
  21581. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  21582. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  21583. break;
  21584. }
  21585. case 2: {
  21586. c[v >> 2] =
  21587. (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
  21588. (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
  21589. break;
  21590. }
  21591. default: {
  21592. c[w >> 2] = 1;
  21593. c[v >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
  21594. }
  21595. }
  21596. if (
  21597. (((c[w >> 2] | 0) + (c[v >> 2] | 0) + 8) | 0) >>> 0 <=
  21598. (c[k >> 2] | 0) >>> 0
  21599. ) {
  21600. c[((c[i >> 2] | 0) + 21572) >> 2] =
  21601. (c[m >> 2] | 0) + (c[w >> 2] | 0);
  21602. c[((c[i >> 2] | 0) + 21576) >> 2] = c[v >> 2];
  21603. c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  21604. z = c[h >> 2] | 0;
  21605. l = g;
  21606. return z | 0;
  21607. }
  21608. if (
  21609. (((c[v >> 2] | 0) + (c[w >> 2] | 0)) | 0) >>> 0 >
  21610. (c[k >> 2] | 0) >>> 0
  21611. ) {
  21612. c[h >> 2] = -20;
  21613. z = c[h >> 2] | 0;
  21614. l = g;
  21615. return z | 0;
  21616. } else {
  21617. mE(
  21618. ((c[i >> 2] | 0) + 21580) | 0,
  21619. ((c[m >> 2] | 0) + (c[w >> 2] | 0)) | 0,
  21620. c[v >> 2] | 0
  21621. ) | 0;
  21622. c[((c[i >> 2] | 0) + 21572) >> 2] =
  21623. (c[i >> 2] | 0) + 21580;
  21624. c[((c[i >> 2] | 0) + 21576) >> 2] = c[v >> 2];
  21625. t =
  21626. ((c[i >> 2] | 0) +
  21627. 21580 +
  21628. (c[((c[i >> 2] | 0) + 21576) >> 2] | 0)) |
  21629. 0;
  21630. a[t >> 0] = 0;
  21631. a[(t + 1) >> 0] = 0;
  21632. a[(t + 2) >> 0] = 0;
  21633. a[(t + 3) >> 0] = 0;
  21634. a[(t + 4) >> 0] = 0;
  21635. a[(t + 5) >> 0] = 0;
  21636. a[(t + 6) >> 0] = 0;
  21637. a[(t + 7) >> 0] = 0;
  21638. c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  21639. z = c[h >> 2] | 0;
  21640. l = g;
  21641. return z | 0;
  21642. }
  21643. break;
  21644. }
  21645. case 3: {
  21646. c[y >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  21647. switch (c[y >> 2] | 0) {
  21648. case 3: {
  21649. c[x >> 2] =
  21650. (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
  21651. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  21652. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  21653. if ((c[k >> 2] | 0) >>> 0 < 4) {
  21654. c[h >> 2] = -20;
  21655. z = c[h >> 2] | 0;
  21656. l = g;
  21657. return z | 0;
  21658. }
  21659. break;
  21660. }
  21661. case 2: {
  21662. c[x >> 2] =
  21663. (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
  21664. (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
  21665. break;
  21666. }
  21667. default: {
  21668. c[y >> 2] = 1;
  21669. c[x >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
  21670. }
  21671. }
  21672. if ((c[x >> 2] | 0) >>> 0 > 131072) {
  21673. c[h >> 2] = -20;
  21674. z = c[h >> 2] | 0;
  21675. l = g;
  21676. return z | 0;
  21677. } else {
  21678. oE(
  21679. ((c[i >> 2] | 0) + 21580) | 0,
  21680. ((d[((c[m >> 2] | 0) + (c[y >> 2] | 0)) >> 0] | 0) &
  21681. 255) |
  21682. 0,
  21683. ((c[x >> 2] | 0) + 8) | 0
  21684. ) | 0;
  21685. c[((c[i >> 2] | 0) + 21572) >> 2] =
  21686. (c[i >> 2] | 0) + 21580;
  21687. c[((c[i >> 2] | 0) + 21576) >> 2] = c[x >> 2];
  21688. c[h >> 2] = (c[y >> 2] | 0) + 1;
  21689. z = c[h >> 2] | 0;
  21690. l = g;
  21691. return z | 0;
  21692. }
  21693. break;
  21694. }
  21695. default: {
  21696. }
  21697. }
  21698. return 0;
  21699. }
  21700. function Qt(a, b, d, e, f) {
  21701. a = a | 0;
  21702. b = b | 0;
  21703. d = d | 0;
  21704. e = e | 0;
  21705. f = f | 0;
  21706. var g = 0,
  21707. h = 0,
  21708. i = 0,
  21709. j = 0,
  21710. k = 0,
  21711. m = 0,
  21712. n = 0,
  21713. o = 0,
  21714. p = 0,
  21715. q = 0,
  21716. r = 0,
  21717. s = 0,
  21718. t = 0,
  21719. u = 0,
  21720. v = 0,
  21721. w = 0,
  21722. x = 0,
  21723. y = 0,
  21724. z = 0,
  21725. A = 0,
  21726. B = 0,
  21727. C = 0,
  21728. D = 0,
  21729. E = 0,
  21730. F = 0,
  21731. G = 0,
  21732. H = 0,
  21733. I = 0,
  21734. J = 0,
  21735. K = 0,
  21736. L = 0,
  21737. M = 0,
  21738. N = 0;
  21739. g = l;
  21740. l = (l + 176) | 0;
  21741. h = (g + 164) | 0;
  21742. i = (g + 160) | 0;
  21743. j = (g + 156) | 0;
  21744. k = (g + 152) | 0;
  21745. m = (g + 148) | 0;
  21746. n = (g + 144) | 0;
  21747. o = (g + 140) | 0;
  21748. p = (g + 136) | 0;
  21749. q = (g + 132) | 0;
  21750. r = (g + 128) | 0;
  21751. s = (g + 124) | 0;
  21752. t = (g + 120) | 0;
  21753. u = (g + 116) | 0;
  21754. v = (g + 112) | 0;
  21755. w = (g + 108) | 0;
  21756. x = (g + 104) | 0;
  21757. y = (g + 100) | 0;
  21758. z = (g + 96) | 0;
  21759. A = (g + 92) | 0;
  21760. B = (g + 88) | 0;
  21761. C = (g + 84) | 0;
  21762. D = (g + 80) | 0;
  21763. E = (g + 68) | 0;
  21764. F = (g + 16) | 0;
  21765. G = (g + 12) | 0;
  21766. H = (g + 8) | 0;
  21767. I = (g + 4) | 0;
  21768. J = g;
  21769. c[j >> 2] = a;
  21770. c[k >> 2] = b;
  21771. c[m >> 2] = d;
  21772. c[n >> 2] = e;
  21773. c[o >> 2] = f;
  21774. c[p >> 2] = c[n >> 2];
  21775. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  21776. c[r >> 2] = c[k >> 2];
  21777. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  21778. c[t >> 2] = c[r >> 2];
  21779. c[u >> 2] = c[((c[j >> 2] | 0) + 21572) >> 2];
  21780. c[v >> 2] =
  21781. (c[u >> 2] | 0) + (c[((c[j >> 2] | 0) + 21576) >> 2] | 0);
  21782. c[w >> 2] = c[j >> 2];
  21783. c[x >> 2] = (c[j >> 2] | 0) + 3080;
  21784. c[y >> 2] = (c[j >> 2] | 0) + 2052;
  21785. c[z >> 2] = c[((c[j >> 2] | 0) + 21524) >> 2];
  21786. c[A >> 2] = c[((c[j >> 2] | 0) + 21528) >> 2];
  21787. c[B >> 2] = c[((c[j >> 2] | 0) + 21532) >> 2];
  21788. c[D >> 2] =
  21789. Rt(
  21790. C,
  21791. c[w >> 2] | 0,
  21792. c[x >> 2] | 0,
  21793. c[y >> 2] | 0,
  21794. c[((c[j >> 2] | 0) + 21568) >> 2] | 0,
  21795. c[p >> 2] | 0,
  21796. c[o >> 2] | 0
  21797. ) | 0;
  21798. o = (jr(c[D >> 2] | 0) | 0) != 0;
  21799. m = c[D >> 2] | 0;
  21800. if (o) {
  21801. c[i >> 2] = m;
  21802. K = c[i >> 2] | 0;
  21803. l = g;
  21804. return K | 0;
  21805. }
  21806. c[p >> 2] = (c[p >> 2] | 0) + m;
  21807. c[((c[j >> 2] | 0) + 21568) >> 2] = 0;
  21808. if (c[C >> 2] | 0) {
  21809. c[E >> 2] = 0;
  21810. c[(E + 4) >> 2] = 0;
  21811. c[(E + 8) >> 2] = 0;
  21812. c[(E + 8) >> 2] = 1;
  21813. c[G >> 2] = 0;
  21814. while (1) {
  21815. if ((c[G >> 2] | 0) >>> 0 >= 3) break;
  21816. c[(F + 40 + (c[G >> 2] << 2)) >> 2] = 1;
  21817. c[G >> 2] = (c[G >> 2] | 0) + 1;
  21818. }
  21819. c[H >> 2] =
  21820. St(
  21821. F,
  21822. c[p >> 2] | 0,
  21823. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  21824. ) | 0;
  21825. if (jr(c[H >> 2] | 0) | 0) {
  21826. c[i >> 2] = -20;
  21827. K = c[i >> 2] | 0;
  21828. l = g;
  21829. return K | 0;
  21830. }
  21831. Tt((F + 16) | 0, F, c[w >> 2] | 0);
  21832. Tt((F + 24) | 0, F, c[y >> 2] | 0);
  21833. Tt((F + 32) | 0, F, c[x >> 2] | 0);
  21834. while (1) {
  21835. x = (Ut(F) | 0) >>> 0 <= 2;
  21836. L = c[C >> 2] | 0;
  21837. if (!(x ? (c[C >> 2] | 0) != 0 : 0)) break;
  21838. c[C >> 2] = L + -1;
  21839. Vt(E, F);
  21840. x = c[t >> 2] | 0;
  21841. y = c[s >> 2] | 0;
  21842. w = c[v >> 2] | 0;
  21843. H = c[z >> 2] | 0;
  21844. p = c[A >> 2] | 0;
  21845. q = c[B >> 2] | 0;
  21846. c[h >> 2] = c[E >> 2];
  21847. c[(h + 4) >> 2] = c[(E + 4) >> 2];
  21848. c[(h + 8) >> 2] = c[(E + 8) >> 2];
  21849. c[I >> 2] = Wt(x, y, h, u, w, H, p, q) | 0;
  21850. q = (jr(c[I >> 2] | 0) | 0) != 0;
  21851. M = c[I >> 2] | 0;
  21852. if (q) {
  21853. N = 12;
  21854. break;
  21855. }
  21856. c[t >> 2] = (c[t >> 2] | 0) + M;
  21857. }
  21858. if ((N | 0) == 12) {
  21859. c[i >> 2] = M;
  21860. K = c[i >> 2] | 0;
  21861. l = g;
  21862. return K | 0;
  21863. }
  21864. if (L | 0) {
  21865. c[i >> 2] = -20;
  21866. K = c[i >> 2] | 0;
  21867. l = g;
  21868. return K | 0;
  21869. }
  21870. }
  21871. c[J >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  21872. if ((c[u >> 2] | 0) >>> 0 > (c[v >> 2] | 0) >>> 0) {
  21873. c[i >> 2] = -20;
  21874. K = c[i >> 2] | 0;
  21875. l = g;
  21876. return K | 0;
  21877. }
  21878. if (
  21879. (((c[t >> 2] | 0) + (c[J >> 2] | 0)) | 0) >>> 0 >
  21880. (c[s >> 2] | 0) >>> 0
  21881. ) {
  21882. c[i >> 2] = -70;
  21883. K = c[i >> 2] | 0;
  21884. l = g;
  21885. return K | 0;
  21886. } else {
  21887. mE(c[t >> 2] | 0, c[u >> 2] | 0, c[J >> 2] | 0) | 0;
  21888. c[t >> 2] = (c[t >> 2] | 0) + (c[J >> 2] | 0);
  21889. c[i >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
  21890. K = c[i >> 2] | 0;
  21891. l = g;
  21892. return K | 0;
  21893. }
  21894. return 0;
  21895. }
  21896. function Rt(a, b, e, f, g, h, i) {
  21897. a = a | 0;
  21898. b = b | 0;
  21899. e = e | 0;
  21900. f = f | 0;
  21901. g = g | 0;
  21902. h = h | 0;
  21903. i = i | 0;
  21904. var j = 0,
  21905. k = 0,
  21906. m = 0,
  21907. n = 0,
  21908. o = 0,
  21909. p = 0,
  21910. q = 0,
  21911. r = 0,
  21912. s = 0,
  21913. t = 0,
  21914. u = 0,
  21915. v = 0,
  21916. w = 0,
  21917. x = 0,
  21918. y = 0,
  21919. z = 0,
  21920. A = 0,
  21921. B = 0,
  21922. C = 0,
  21923. D = 0;
  21924. j = l;
  21925. l = (l + 80) | 0;
  21926. k = (j + 68) | 0;
  21927. m = (j + 64) | 0;
  21928. n = (j + 60) | 0;
  21929. o = (j + 56) | 0;
  21930. p = (j + 52) | 0;
  21931. q = (j + 48) | 0;
  21932. r = (j + 44) | 0;
  21933. s = (j + 40) | 0;
  21934. t = (j + 36) | 0;
  21935. u = (j + 32) | 0;
  21936. v = (j + 28) | 0;
  21937. w = (j + 24) | 0;
  21938. x = (j + 20) | 0;
  21939. y = (j + 16) | 0;
  21940. z = (j + 12) | 0;
  21941. A = (j + 8) | 0;
  21942. B = (j + 4) | 0;
  21943. C = j;
  21944. c[m >> 2] = a;
  21945. c[n >> 2] = b;
  21946. c[o >> 2] = e;
  21947. c[p >> 2] = f;
  21948. c[q >> 2] = g;
  21949. c[r >> 2] = h;
  21950. c[s >> 2] = i;
  21951. c[t >> 2] = c[r >> 2];
  21952. c[u >> 2] = (c[t >> 2] | 0) + (c[s >> 2] | 0);
  21953. c[v >> 2] = c[t >> 2];
  21954. if ((c[s >> 2] | 0) >>> 0 < 1) {
  21955. c[k >> 2] = -72;
  21956. D = c[k >> 2] | 0;
  21957. l = j;
  21958. return D | 0;
  21959. }
  21960. s = c[v >> 2] | 0;
  21961. c[v >> 2] = s + 1;
  21962. c[w >> 2] = d[s >> 0];
  21963. if (!(c[w >> 2] | 0)) {
  21964. c[c[m >> 2] >> 2] = 0;
  21965. c[k >> 2] = 1;
  21966. D = c[k >> 2] | 0;
  21967. l = j;
  21968. return D | 0;
  21969. }
  21970. do {
  21971. if ((c[w >> 2] | 0) > 127) {
  21972. s = c[v >> 2] | 0;
  21973. if ((c[w >> 2] | 0) == 255) {
  21974. if (((s + 2) | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0) {
  21975. c[w >> 2] = ((Oq(c[v >> 2] | 0) | 0) & 65535) + 32512;
  21976. c[v >> 2] = (c[v >> 2] | 0) + 2;
  21977. break;
  21978. }
  21979. c[k >> 2] = -72;
  21980. D = c[k >> 2] | 0;
  21981. l = j;
  21982. return D | 0;
  21983. } else {
  21984. if (s >>> 0 < (c[u >> 2] | 0) >>> 0) {
  21985. s = ((c[w >> 2] | 0) - 128) << 8;
  21986. r = c[v >> 2] | 0;
  21987. c[v >> 2] = r + 1;
  21988. c[w >> 2] = s + (d[r >> 0] | 0);
  21989. break;
  21990. }
  21991. c[k >> 2] = -72;
  21992. D = c[k >> 2] | 0;
  21993. l = j;
  21994. return D | 0;
  21995. }
  21996. }
  21997. } while (0);
  21998. c[c[m >> 2] >> 2] = c[w >> 2];
  21999. c[x >> 2] = (d[c[v >> 2] >> 0] | 0) >> 6;
  22000. c[y >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 4) & 3;
  22001. c[z >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 2) & 3;
  22002. c[v >> 2] = (c[v >> 2] | 0) + 1;
  22003. if (
  22004. (c[v >> 2] | 0) >>> 0 >
  22005. (((c[u >> 2] | 0) + -3) | 0) >>> 0
  22006. ) {
  22007. c[k >> 2] = -72;
  22008. D = c[k >> 2] | 0;
  22009. l = j;
  22010. return D | 0;
  22011. }
  22012. c[A >> 2] =
  22013. gu(
  22014. c[n >> 2] | 0,
  22015. c[x >> 2] | 0,
  22016. 35,
  22017. 9,
  22018. c[v >> 2] | 0,
  22019. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  22020. 6560,
  22021. 6,
  22022. c[q >> 2] | 0
  22023. ) | 0;
  22024. if (jr(c[A >> 2] | 0) | 0) {
  22025. c[k >> 2] = -20;
  22026. D = c[k >> 2] | 0;
  22027. l = j;
  22028. return D | 0;
  22029. }
  22030. c[v >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0);
  22031. c[B >> 2] =
  22032. gu(
  22033. c[p >> 2] | 0,
  22034. c[y >> 2] | 0,
  22035. 28,
  22036. 8,
  22037. c[v >> 2] | 0,
  22038. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  22039. 6640,
  22040. 5,
  22041. c[q >> 2] | 0
  22042. ) | 0;
  22043. if (jr(c[B >> 2] | 0) | 0) {
  22044. c[k >> 2] = -20;
  22045. D = c[k >> 2] | 0;
  22046. l = j;
  22047. return D | 0;
  22048. }
  22049. c[v >> 2] = (c[v >> 2] | 0) + (c[B >> 2] | 0);
  22050. c[C >> 2] =
  22051. gu(
  22052. c[o >> 2] | 0,
  22053. c[z >> 2] | 0,
  22054. 52,
  22055. 9,
  22056. c[v >> 2] | 0,
  22057. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  22058. 6704,
  22059. 6,
  22060. c[q >> 2] | 0
  22061. ) | 0;
  22062. if (jr(c[C >> 2] | 0) | 0) {
  22063. c[k >> 2] = -20;
  22064. D = c[k >> 2] | 0;
  22065. l = j;
  22066. return D | 0;
  22067. } else {
  22068. c[v >> 2] = (c[v >> 2] | 0) + (c[C >> 2] | 0);
  22069. c[k >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
  22070. D = c[k >> 2] | 0;
  22071. l = j;
  22072. return D | 0;
  22073. }
  22074. return 0;
  22075. }
  22076. function St(b, e, f) {
  22077. b = b | 0;
  22078. e = e | 0;
  22079. f = f | 0;
  22080. var g = 0,
  22081. h = 0,
  22082. i = 0,
  22083. j = 0,
  22084. k = 0,
  22085. m = 0,
  22086. n = 0,
  22087. o = 0,
  22088. p = 0;
  22089. g = l;
  22090. l = (l + 32) | 0;
  22091. h = (g + 12) | 0;
  22092. i = (g + 8) | 0;
  22093. j = (g + 4) | 0;
  22094. k = g;
  22095. m = (g + 17) | 0;
  22096. n = (g + 16) | 0;
  22097. c[i >> 2] = b;
  22098. c[j >> 2] = e;
  22099. c[k >> 2] = f;
  22100. if ((c[k >> 2] | 0) >>> 0 < 1) {
  22101. f = c[i >> 2] | 0;
  22102. c[f >> 2] = 0;
  22103. c[(f + 4) >> 2] = 0;
  22104. c[(f + 8) >> 2] = 0;
  22105. c[(f + 12) >> 2] = 0;
  22106. c[h >> 2] = -72;
  22107. o = c[h >> 2] | 0;
  22108. l = g;
  22109. return o | 0;
  22110. }
  22111. f = (c[k >> 2] | 0) >>> 0 >= 4;
  22112. c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
  22113. do {
  22114. if (f) {
  22115. c[((c[i >> 2] | 0) + 8) >> 2] =
  22116. (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
  22117. e = eu(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
  22118. c[c[i >> 2] >> 2] = e;
  22119. a[m >> 0] =
  22120. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  22121. if (d[m >> 0] | 0 | 0) {
  22122. e = (8 - (fu(d[m >> 0] | 0) | 0)) | 0;
  22123. c[((c[i >> 2] | 0) + 4) >> 2] = e;
  22124. break;
  22125. }
  22126. c[h >> 2] = -1;
  22127. o = c[h >> 2] | 0;
  22128. l = g;
  22129. return o | 0;
  22130. } else {
  22131. c[((c[i >> 2] | 0) + 8) >> 2] =
  22132. c[((c[i >> 2] | 0) + 12) >> 2];
  22133. c[c[i >> 2] >> 2] =
  22134. d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
  22135. switch (c[k >> 2] | 0) {
  22136. case 7: {
  22137. e = c[i >> 2] | 0;
  22138. c[e >> 2] =
  22139. (c[e >> 2] | 0) +
  22140. ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
  22141. p = 9;
  22142. break;
  22143. }
  22144. case 6: {
  22145. p = 9;
  22146. break;
  22147. }
  22148. case 5: {
  22149. p = 10;
  22150. break;
  22151. }
  22152. case 4: {
  22153. p = 11;
  22154. break;
  22155. }
  22156. case 3: {
  22157. p = 12;
  22158. break;
  22159. }
  22160. case 2: {
  22161. p = 13;
  22162. break;
  22163. }
  22164. default: {
  22165. }
  22166. }
  22167. if ((p | 0) == 9) {
  22168. e = c[i >> 2] | 0;
  22169. c[e >> 2] =
  22170. (c[e >> 2] | 0) +
  22171. ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
  22172. p = 10;
  22173. }
  22174. if ((p | 0) == 10) {
  22175. e = c[i >> 2] | 0;
  22176. c[e >> 2] =
  22177. (c[e >> 2] | 0) +
  22178. ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
  22179. p = 11;
  22180. }
  22181. if ((p | 0) == 11) {
  22182. e = c[i >> 2] | 0;
  22183. c[e >> 2] =
  22184. (c[e >> 2] | 0) +
  22185. ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
  22186. p = 12;
  22187. }
  22188. if ((p | 0) == 12) {
  22189. e = c[i >> 2] | 0;
  22190. c[e >> 2] =
  22191. (c[e >> 2] | 0) +
  22192. ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
  22193. p = 13;
  22194. }
  22195. if ((p | 0) == 13) {
  22196. e = c[i >> 2] | 0;
  22197. c[e >> 2] =
  22198. (c[e >> 2] | 0) +
  22199. ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
  22200. }
  22201. a[n >> 0] =
  22202. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  22203. if (d[n >> 0] | 0 | 0) {
  22204. e = (8 - (fu(d[n >> 0] | 0) | 0)) | 0;
  22205. c[((c[i >> 2] | 0) + 4) >> 2] = e;
  22206. e = ((c[i >> 2] | 0) + 4) | 0;
  22207. c[e >> 2] =
  22208. (c[e >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
  22209. break;
  22210. }
  22211. c[h >> 2] = -1;
  22212. o = c[h >> 2] | 0;
  22213. l = g;
  22214. return o | 0;
  22215. }
  22216. } while (0);
  22217. c[h >> 2] = c[k >> 2];
  22218. o = c[h >> 2] | 0;
  22219. l = g;
  22220. return o | 0;
  22221. }
  22222. function Tt(a, b, d) {
  22223. a = a | 0;
  22224. b = b | 0;
  22225. d = d | 0;
  22226. var f = 0,
  22227. g = 0,
  22228. h = 0,
  22229. i = 0,
  22230. j = 0,
  22231. k = 0;
  22232. f = l;
  22233. l = (l + 32) | 0;
  22234. g = (f + 16) | 0;
  22235. h = (f + 12) | 0;
  22236. i = (f + 8) | 0;
  22237. j = (f + 4) | 0;
  22238. k = f;
  22239. c[g >> 2] = a;
  22240. c[h >> 2] = b;
  22241. c[i >> 2] = d;
  22242. c[j >> 2] = c[i >> 2];
  22243. c[k >> 2] = c[j >> 2];
  22244. j = $t(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
  22245. c[c[g >> 2] >> 2] = j;
  22246. Ut(c[h >> 2] | 0) | 0;
  22247. c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
  22248. l = f;
  22249. return;
  22250. }
  22251. function Ut(a) {
  22252. a = a | 0;
  22253. var b = 0,
  22254. d = 0,
  22255. e = 0,
  22256. f = 0,
  22257. g = 0,
  22258. h = 0,
  22259. i = 0;
  22260. b = l;
  22261. l = (l + 16) | 0;
  22262. d = (b + 12) | 0;
  22263. e = (b + 8) | 0;
  22264. f = (b + 4) | 0;
  22265. g = b;
  22266. c[e >> 2] = a;
  22267. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  22268. c[d >> 2] = 3;
  22269. h = c[d >> 2] | 0;
  22270. l = b;
  22271. return h | 0;
  22272. }
  22273. a = c[e >> 2] | 0;
  22274. if (
  22275. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  22276. (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
  22277. ) {
  22278. i = ((c[e >> 2] | 0) + 8) | 0;
  22279. c[i >> 2] =
  22280. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  22281. i = ((c[e >> 2] | 0) + 4) | 0;
  22282. c[i >> 2] = c[i >> 2] & 7;
  22283. i = eu(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  22284. c[c[e >> 2] >> 2] = i;
  22285. c[d >> 2] = 0;
  22286. h = c[d >> 2] | 0;
  22287. l = b;
  22288. return h | 0;
  22289. }
  22290. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  22291. if (
  22292. (c[(a + 8) >> 2] | 0) !=
  22293. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  22294. ) {
  22295. c[f >> 2] = i >>> 3;
  22296. c[g >> 2] = 0;
  22297. if (
  22298. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  22299. (0 - (c[f >> 2] | 0))) |
  22300. 0) >>>
  22301. 0 <
  22302. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  22303. ) {
  22304. c[f >> 2] =
  22305. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  22306. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  22307. c[g >> 2] = 1;
  22308. }
  22309. a = ((c[e >> 2] | 0) + 8) | 0;
  22310. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  22311. a = ((c[e >> 2] | 0) + 4) | 0;
  22312. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  22313. f = eu(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  22314. c[c[e >> 2] >> 2] = f;
  22315. c[d >> 2] = c[g >> 2];
  22316. h = c[d >> 2] | 0;
  22317. l = b;
  22318. return h | 0;
  22319. }
  22320. if (i >>> 0 < 32) {
  22321. c[d >> 2] = 1;
  22322. h = c[d >> 2] | 0;
  22323. l = b;
  22324. return h | 0;
  22325. } else {
  22326. c[d >> 2] = 2;
  22327. h = c[d >> 2] | 0;
  22328. l = b;
  22329. return h | 0;
  22330. }
  22331. return 0;
  22332. }
  22333. function Vt(a, b) {
  22334. a = a | 0;
  22335. b = b | 0;
  22336. var d = 0,
  22337. e = 0,
  22338. f = 0,
  22339. g = 0,
  22340. h = 0,
  22341. i = 0,
  22342. j = 0,
  22343. k = 0,
  22344. m = 0,
  22345. n = 0,
  22346. o = 0,
  22347. p = 0,
  22348. q = 0,
  22349. r = 0,
  22350. s = 0,
  22351. t = 0,
  22352. u = 0;
  22353. d = l;
  22354. l = (l + 48) | 0;
  22355. e = (d + 40) | 0;
  22356. f = (d + 36) | 0;
  22357. g = (d + 32) | 0;
  22358. h = (d + 28) | 0;
  22359. i = (d + 24) | 0;
  22360. j = (d + 20) | 0;
  22361. k = (d + 16) | 0;
  22362. m = (d + 12) | 0;
  22363. n = (d + 8) | 0;
  22364. o = (d + 4) | 0;
  22365. p = d;
  22366. c[e >> 2] = a;
  22367. c[f >> 2] = b;
  22368. c[g >> 2] = (_t(((c[f >> 2] | 0) + 16) | 0) | 0) & 255;
  22369. c[h >> 2] = (_t(((c[f >> 2] | 0) + 32) | 0) | 0) & 255;
  22370. c[i >> 2] = (_t(((c[f >> 2] | 0) + 24) | 0) | 0) & 255;
  22371. c[j >> 2] = c[(5696 + (c[g >> 2] << 2)) >> 2];
  22372. c[k >> 2] = c[(5840 + (c[h >> 2] << 2)) >> 2];
  22373. c[m >> 2] = c[i >> 2];
  22374. c[n >> 2] =
  22375. (c[j >> 2] | 0) + (c[k >> 2] | 0) + (c[m >> 2] | 0);
  22376. if (c[i >> 2] | 0) {
  22377. b = c[(6064 + (c[i >> 2] << 2)) >> 2] | 0;
  22378. c[o >> 2] = b + ($t(c[f >> 2] | 0, c[m >> 2] | 0) | 0);
  22379. if (au() | 0) Ut(c[f >> 2] | 0) | 0;
  22380. } else c[o >> 2] = 0;
  22381. do {
  22382. if ((c[o >> 2] | 0) >>> 0 < 3) {
  22383. if (((c[g >> 2] | 0) == 0) & ((c[o >> 2] | 0) >>> 0 <= 1))
  22384. c[o >> 2] = 1 - (c[o >> 2] | 0);
  22385. m = ((c[f >> 2] | 0) + 40) | 0;
  22386. if (!(c[o >> 2] | 0)) {
  22387. c[o >> 2] = c[m >> 2];
  22388. break;
  22389. }
  22390. c[p >> 2] = c[(m + (c[o >> 2] << 2)) >> 2];
  22391. if ((c[o >> 2] | 0) != 1)
  22392. c[((c[f >> 2] | 0) + 40 + 8) >> 2] =
  22393. c[((c[f >> 2] | 0) + 40 + 4) >> 2];
  22394. c[((c[f >> 2] | 0) + 40 + 4) >> 2] =
  22395. c[((c[f >> 2] | 0) + 40) >> 2];
  22396. m = c[p >> 2] | 0;
  22397. c[o >> 2] = m;
  22398. c[((c[f >> 2] | 0) + 40) >> 2] = m;
  22399. } else {
  22400. c[o >> 2] = (c[o >> 2] | 0) - 2;
  22401. c[((c[f >> 2] | 0) + 40 + 8) >> 2] =
  22402. c[((c[f >> 2] | 0) + 40 + 4) >> 2];
  22403. c[((c[f >> 2] | 0) + 40 + 4) >> 2] =
  22404. c[((c[f >> 2] | 0) + 40) >> 2];
  22405. c[((c[f >> 2] | 0) + 40) >> 2] = c[o >> 2];
  22406. }
  22407. } while (0);
  22408. c[((c[e >> 2] | 0) + 8) >> 2] = c[o >> 2];
  22409. o = ((c[(6192 + (c[h >> 2] << 2)) >> 2] | 0) + 3) | 0;
  22410. if ((c[h >> 2] | 0) >>> 0 > 31)
  22411. q = $t(c[f >> 2] | 0, c[k >> 2] | 0) | 0;
  22412. else q = 0;
  22413. c[((c[e >> 2] | 0) + 4) >> 2] = o + q;
  22414. if (
  22415. au() | 0
  22416. ? (((c[k >> 2] | 0) + (c[j >> 2] | 0)) | 0) >>> 0 > 24
  22417. : 0
  22418. )
  22419. Ut(c[f >> 2] | 0) | 0;
  22420. k = c[(6416 + (c[g >> 2] << 2)) >> 2] | 0;
  22421. if ((c[g >> 2] | 0) >>> 0 > 15)
  22422. r = $t(c[f >> 2] | 0, c[j >> 2] | 0) | 0;
  22423. else r = 0;
  22424. c[c[e >> 2] >> 2] = k + r;
  22425. r = (au() | 0) != 0;
  22426. if (r | ((c[n >> 2] | 0) >>> 0 > 31)) Ut(c[f >> 2] | 0) | 0;
  22427. bu(((c[f >> 2] | 0) + 16) | 0, c[f >> 2] | 0);
  22428. bu(((c[f >> 2] | 0) + 32) | 0, c[f >> 2] | 0);
  22429. if (!(au() | 0)) {
  22430. s = c[f >> 2] | 0;
  22431. t = (s + 24) | 0;
  22432. u = c[f >> 2] | 0;
  22433. bu(t, u);
  22434. l = d;
  22435. return;
  22436. }
  22437. Ut(c[f >> 2] | 0) | 0;
  22438. s = c[f >> 2] | 0;
  22439. t = (s + 24) | 0;
  22440. u = c[f >> 2] | 0;
  22441. bu(t, u);
  22442. l = d;
  22443. return;
  22444. }
  22445. function Wt(b, d, e, f, g, h, i, j) {
  22446. b = b | 0;
  22447. d = d | 0;
  22448. e = e | 0;
  22449. f = f | 0;
  22450. g = g | 0;
  22451. h = h | 0;
  22452. i = i | 0;
  22453. j = j | 0;
  22454. var k = 0,
  22455. m = 0,
  22456. n = 0,
  22457. o = 0,
  22458. p = 0,
  22459. q = 0,
  22460. r = 0,
  22461. s = 0,
  22462. t = 0,
  22463. u = 0,
  22464. v = 0,
  22465. w = 0,
  22466. x = 0,
  22467. y = 0,
  22468. z = 0,
  22469. A = 0,
  22470. B = 0,
  22471. C = 0;
  22472. k = l;
  22473. l = (l + 64) | 0;
  22474. m = (k + 60) | 0;
  22475. n = (k + 56) | 0;
  22476. o = (k + 52) | 0;
  22477. p = (k + 48) | 0;
  22478. q = (k + 44) | 0;
  22479. r = (k + 40) | 0;
  22480. s = (k + 36) | 0;
  22481. t = (k + 32) | 0;
  22482. u = (k + 28) | 0;
  22483. v = (k + 24) | 0;
  22484. w = (k + 20) | 0;
  22485. x = (k + 16) | 0;
  22486. y = (k + 12) | 0;
  22487. z = (k + 8) | 0;
  22488. A = (k + 4) | 0;
  22489. B = k;
  22490. c[n >> 2] = b;
  22491. c[o >> 2] = d;
  22492. c[p >> 2] = f;
  22493. c[q >> 2] = g;
  22494. c[r >> 2] = h;
  22495. c[s >> 2] = i;
  22496. c[t >> 2] = j;
  22497. c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
  22498. c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
  22499. c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
  22500. c[x >> 2] = (c[o >> 2] | 0) + -8;
  22501. c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
  22502. c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
  22503. if ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  22504. c[m >> 2] = -70;
  22505. C = c[m >> 2] | 0;
  22506. l = k;
  22507. return C | 0;
  22508. }
  22509. if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  22510. c[m >> 2] = -70;
  22511. C = c[m >> 2] | 0;
  22512. l = k;
  22513. return C | 0;
  22514. }
  22515. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
  22516. c[m >> 2] = -20;
  22517. C = c[m >> 2] | 0;
  22518. l = k;
  22519. return C | 0;
  22520. }
  22521. Xt(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
  22522. c[n >> 2] = c[u >> 2];
  22523. c[c[p >> 2] >> 2] = c[y >> 2];
  22524. do {
  22525. if (
  22526. (c[(e + 8) >> 2] | 0) >>> 0 >
  22527. (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
  22528. ) {
  22529. if (
  22530. (c[(e + 8) >> 2] | 0) >>> 0 >
  22531. (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
  22532. ) {
  22533. c[m >> 2] = -20;
  22534. C = c[m >> 2] | 0;
  22535. l = k;
  22536. return C | 0;
  22537. }
  22538. c[z >> 2] =
  22539. (c[t >> 2] | 0) +
  22540. (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
  22541. if (
  22542. (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 <=
  22543. (c[t >> 2] | 0) >>> 0
  22544. ) {
  22545. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) |
  22546. 0;
  22547. c[m >> 2] = c[v >> 2];
  22548. C = c[m >> 2] | 0;
  22549. l = k;
  22550. return C | 0;
  22551. }
  22552. c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
  22553. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
  22554. c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
  22555. y = (e + 4) | 0;
  22556. c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
  22557. c[z >> 2] = c[r >> 2];
  22558. if (
  22559. (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
  22560. ? (c[(e + 4) >> 2] | 0) >>> 0 >= 3
  22561. : 0
  22562. )
  22563. break;
  22564. while (1) {
  22565. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  22566. break;
  22567. y = c[z >> 2] | 0;
  22568. c[z >> 2] = y + 1;
  22569. p = a[y >> 0] | 0;
  22570. y = c[n >> 2] | 0;
  22571. c[n >> 2] = y + 1;
  22572. a[y >> 0] = p;
  22573. }
  22574. c[m >> 2] = c[v >> 2];
  22575. C = c[m >> 2] | 0;
  22576. l = k;
  22577. return C | 0;
  22578. }
  22579. } while (0);
  22580. if ((c[(e + 8) >> 2] | 0) >>> 0 < 8) {
  22581. c[B >> 2] = c[(6816 + (c[(e + 8) >> 2] << 2)) >> 2];
  22582. a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
  22583. a[((c[n >> 2] | 0) + 1) >> 0] =
  22584. a[((c[z >> 2] | 0) + 1) >> 0] | 0;
  22585. a[((c[n >> 2] | 0) + 2) >> 0] =
  22586. a[((c[z >> 2] | 0) + 2) >> 0] | 0;
  22587. a[((c[n >> 2] | 0) + 3) >> 0] =
  22588. a[((c[z >> 2] | 0) + 3) >> 0] | 0;
  22589. c[z >> 2] =
  22590. (c[z >> 2] | 0) +
  22591. (c[(6848 + (c[(e + 8) >> 2] << 2)) >> 2] | 0);
  22592. Yt(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
  22593. c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
  22594. } else Zt(c[n >> 2] | 0, c[z >> 2] | 0);
  22595. c[n >> 2] = (c[n >> 2] | 0) + 8;
  22596. c[z >> 2] = (c[z >> 2] | 0) + 8;
  22597. B = c[n >> 2] | 0;
  22598. a: do {
  22599. if (
  22600. (c[w >> 2] | 0) >>> 0 >
  22601. (((c[o >> 2] | 0) + -13) | 0) >>> 0
  22602. ) {
  22603. if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
  22604. Xt(
  22605. c[n >> 2] | 0,
  22606. c[z >> 2] | 0,
  22607. ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
  22608. );
  22609. c[z >> 2] =
  22610. (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
  22611. c[n >> 2] = c[x >> 2];
  22612. }
  22613. while (1) {
  22614. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  22615. break a;
  22616. r = c[z >> 2] | 0;
  22617. c[z >> 2] = r + 1;
  22618. A = a[r >> 0] | 0;
  22619. r = c[n >> 2] | 0;
  22620. c[n >> 2] = r + 1;
  22621. a[r >> 0] = A;
  22622. }
  22623. } else
  22624. Xt(B, c[z >> 2] | 0, ((c[(e + 4) >> 2] | 0) - 8) | 0);
  22625. } while (0);
  22626. c[m >> 2] = c[v >> 2];
  22627. C = c[m >> 2] | 0;
  22628. l = k;
  22629. return C | 0;
  22630. }
  22631. function Xt(a, b, d) {
  22632. a = a | 0;
  22633. b = b | 0;
  22634. d = d | 0;
  22635. var e = 0,
  22636. f = 0,
  22637. g = 0,
  22638. h = 0,
  22639. i = 0,
  22640. j = 0,
  22641. k = 0;
  22642. e = l;
  22643. l = (l + 32) | 0;
  22644. f = (e + 20) | 0;
  22645. g = (e + 16) | 0;
  22646. h = (e + 12) | 0;
  22647. i = (e + 8) | 0;
  22648. j = (e + 4) | 0;
  22649. k = e;
  22650. c[f >> 2] = a;
  22651. c[g >> 2] = b;
  22652. c[h >> 2] = d;
  22653. c[i >> 2] = c[g >> 2];
  22654. c[j >> 2] = c[f >> 2];
  22655. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  22656. do {
  22657. Zt(c[j >> 2] | 0, c[i >> 2] | 0);
  22658. c[j >> 2] = (c[j >> 2] | 0) + 8;
  22659. c[i >> 2] = (c[i >> 2] | 0) + 8;
  22660. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  22661. l = e;
  22662. return;
  22663. }
  22664. function Yt(b, d) {
  22665. b = b | 0;
  22666. d = d | 0;
  22667. var e = 0,
  22668. f = 0,
  22669. g = 0;
  22670. e = l;
  22671. l = (l + 16) | 0;
  22672. f = (e + 4) | 0;
  22673. g = e;
  22674. c[f >> 2] = b;
  22675. c[g >> 2] = d;
  22676. d = c[f >> 2] | 0;
  22677. f = c[g >> 2] | 0;
  22678. a[d >> 0] = a[f >> 0] | 0;
  22679. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  22680. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  22681. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  22682. l = e;
  22683. return;
  22684. }
  22685. function Zt(b, d) {
  22686. b = b | 0;
  22687. d = d | 0;
  22688. var e = 0,
  22689. f = 0,
  22690. g = 0;
  22691. e = l;
  22692. l = (l + 16) | 0;
  22693. f = (e + 4) | 0;
  22694. g = e;
  22695. c[f >> 2] = b;
  22696. c[g >> 2] = d;
  22697. d = c[f >> 2] | 0;
  22698. f = c[g >> 2] | 0;
  22699. a[d >> 0] = a[f >> 0] | 0;
  22700. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  22701. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  22702. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  22703. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  22704. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  22705. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  22706. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  22707. l = e;
  22708. return;
  22709. }
  22710. function _t(d) {
  22711. d = d | 0;
  22712. var e = 0,
  22713. f = 0,
  22714. g = 0;
  22715. e = l;
  22716. l = (l + 16) | 0;
  22717. f = e;
  22718. g = (e + 4) | 0;
  22719. c[f >> 2] = d;
  22720. d =
  22721. ((c[((c[f >> 2] | 0) + 4) >> 2] | 0) +
  22722. (c[c[f >> 2] >> 2] << 2)) |
  22723. 0;
  22724. b[g >> 1] = b[d >> 1] | 0;
  22725. b[(g + 2) >> 1] = b[(d + 2) >> 1] | 0;
  22726. l = e;
  22727. return a[(g + 2) >> 0] | 0;
  22728. }
  22729. function $t(a, b) {
  22730. a = a | 0;
  22731. b = b | 0;
  22732. var d = 0,
  22733. e = 0,
  22734. f = 0,
  22735. g = 0;
  22736. d = l;
  22737. l = (l + 16) | 0;
  22738. e = (d + 8) | 0;
  22739. f = (d + 4) | 0;
  22740. g = d;
  22741. c[e >> 2] = a;
  22742. c[f >> 2] = b;
  22743. c[g >> 2] = cu(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  22744. du(c[e >> 2] | 0, c[f >> 2] | 0);
  22745. l = d;
  22746. return c[g >> 2] | 0;
  22747. }
  22748. function au() {
  22749. return 1;
  22750. }
  22751. function bu(a, f) {
  22752. a = a | 0;
  22753. f = f | 0;
  22754. var g = 0,
  22755. h = 0,
  22756. i = 0,
  22757. j = 0,
  22758. k = 0,
  22759. m = 0;
  22760. g = l;
  22761. l = (l + 32) | 0;
  22762. h = (g + 12) | 0;
  22763. i = (g + 8) | 0;
  22764. j = (g + 16) | 0;
  22765. k = (g + 4) | 0;
  22766. m = g;
  22767. c[h >> 2] = a;
  22768. c[i >> 2] = f;
  22769. f =
  22770. ((c[((c[h >> 2] | 0) + 4) >> 2] | 0) +
  22771. (c[c[h >> 2] >> 2] << 2)) |
  22772. 0;
  22773. b[j >> 1] = b[f >> 1] | 0;
  22774. b[(j + 2) >> 1] = b[(f + 2) >> 1] | 0;
  22775. c[k >> 2] = d[(j + 3) >> 0];
  22776. c[m >> 2] = $t(c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  22777. c[c[h >> 2] >> 2] = (e[j >> 1] | 0) + (c[m >> 2] | 0);
  22778. l = g;
  22779. return;
  22780. }
  22781. function cu(a, b) {
  22782. a = a | 0;
  22783. b = b | 0;
  22784. var d = 0,
  22785. e = 0,
  22786. f = 0;
  22787. d = l;
  22788. l = (l + 16) | 0;
  22789. e = (d + 8) | 0;
  22790. f = (d + 4) | 0;
  22791. c[e >> 2] = a;
  22792. c[f >> 2] = b;
  22793. c[d >> 2] = 31;
  22794. l = d;
  22795. return (
  22796. (((c[c[e >> 2] >> 2] <<
  22797. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  22798. 1) >>>
  22799. ((31 - (c[f >> 2] | 0)) & 31)) |
  22800. 0
  22801. );
  22802. }
  22803. function du(a, b) {
  22804. a = a | 0;
  22805. b = b | 0;
  22806. var d = 0,
  22807. e = 0,
  22808. f = 0;
  22809. d = l;
  22810. l = (l + 16) | 0;
  22811. e = (d + 4) | 0;
  22812. f = d;
  22813. c[e >> 2] = a;
  22814. c[f >> 2] = b;
  22815. b = ((c[e >> 2] | 0) + 4) | 0;
  22816. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  22817. l = d;
  22818. return;
  22819. }
  22820. function eu(a) {
  22821. a = a | 0;
  22822. var b = 0,
  22823. d = 0,
  22824. e = 0,
  22825. f = 0,
  22826. g = 0;
  22827. b = l;
  22828. l = (l + 16) | 0;
  22829. d = (b + 4) | 0;
  22830. e = b;
  22831. c[e >> 2] = a;
  22832. a = (au() | 0) != 0;
  22833. f = c[e >> 2] | 0;
  22834. if (a) {
  22835. c[d >> 2] = Mq(f) | 0;
  22836. g = c[d >> 2] | 0;
  22837. l = b;
  22838. return g | 0;
  22839. } else {
  22840. a = Pq(f) | 0;
  22841. c[d >> 2] = a;
  22842. g = c[d >> 2] | 0;
  22843. l = b;
  22844. return g | 0;
  22845. }
  22846. return 0;
  22847. }
  22848. function fu(a) {
  22849. a = a | 0;
  22850. var b = 0,
  22851. d = 0;
  22852. b = l;
  22853. l = (l + 16) | 0;
  22854. d = b;
  22855. c[d >> 2] = a;
  22856. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  22857. l = b;
  22858. return a | 0;
  22859. }
  22860. function gu(b, e, f, g, h, i, j, k, m) {
  22861. b = b | 0;
  22862. e = e | 0;
  22863. f = f | 0;
  22864. g = g | 0;
  22865. h = h | 0;
  22866. i = i | 0;
  22867. j = j | 0;
  22868. k = k | 0;
  22869. m = m | 0;
  22870. var n = 0,
  22871. o = 0,
  22872. p = 0,
  22873. q = 0,
  22874. r = 0,
  22875. s = 0,
  22876. t = 0,
  22877. u = 0,
  22878. v = 0,
  22879. w = 0,
  22880. x = 0,
  22881. y = 0,
  22882. z = 0,
  22883. A = 0;
  22884. n = l;
  22885. l = (l + 160) | 0;
  22886. o = (n + 152) | 0;
  22887. p = (n + 148) | 0;
  22888. q = (n + 144) | 0;
  22889. r = (n + 140) | 0;
  22890. s = (n + 136) | 0;
  22891. t = (n + 132) | 0;
  22892. u = (n + 128) | 0;
  22893. v = (n + 124) | 0;
  22894. w = (n + 120) | 0;
  22895. x = (n + 116) | 0;
  22896. y = (n + 112) | 0;
  22897. z = n;
  22898. A = (n + 108) | 0;
  22899. c[p >> 2] = b;
  22900. c[q >> 2] = e;
  22901. c[r >> 2] = f;
  22902. c[s >> 2] = g;
  22903. c[t >> 2] = h;
  22904. c[u >> 2] = i;
  22905. c[v >> 2] = j;
  22906. c[w >> 2] = k;
  22907. c[x >> 2] = m;
  22908. a: do {
  22909. switch (c[q >> 2] | 0) {
  22910. case 1: {
  22911. if (!(c[u >> 2] | 0)) {
  22912. c[o >> 2] = -72;
  22913. break a;
  22914. }
  22915. if (
  22916. (d[c[t >> 2] >> 0] | 0) >>> 0 >
  22917. (c[r >> 2] | 0) >>> 0
  22918. ) {
  22919. c[o >> 2] = -20;
  22920. break a;
  22921. } else {
  22922. hu(c[p >> 2] | 0, a[c[t >> 2] >> 0] | 0) | 0;
  22923. c[o >> 2] = 1;
  22924. break a;
  22925. }
  22926. break;
  22927. }
  22928. case 0: {
  22929. iu(
  22930. c[p >> 2] | 0,
  22931. c[v >> 2] | 0,
  22932. c[r >> 2] | 0,
  22933. c[w >> 2] | 0
  22934. ) | 0;
  22935. c[o >> 2] = 0;
  22936. break;
  22937. }
  22938. case 2: {
  22939. if (c[x >> 2] | 0) {
  22940. c[o >> 2] = 0;
  22941. break a;
  22942. } else {
  22943. c[o >> 2] = -20;
  22944. break a;
  22945. }
  22946. break;
  22947. }
  22948. default: {
  22949. c[A >> 2] =
  22950. ju(z, r, y, c[t >> 2] | 0, c[u >> 2] | 0) | 0;
  22951. if (jr(c[A >> 2] | 0) | 0) {
  22952. c[o >> 2] = -20;
  22953. break a;
  22954. }
  22955. if ((c[y >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  22956. c[o >> 2] = -20;
  22957. break a;
  22958. } else {
  22959. iu(c[p >> 2] | 0, z, c[r >> 2] | 0, c[y >> 2] | 0) |
  22960. 0;
  22961. c[o >> 2] = c[A >> 2];
  22962. break a;
  22963. }
  22964. }
  22965. }
  22966. } while (0);
  22967. l = n;
  22968. return c[o >> 2] | 0;
  22969. }
  22970. function hu(d, e) {
  22971. d = d | 0;
  22972. e = e | 0;
  22973. var f = 0,
  22974. g = 0,
  22975. h = 0,
  22976. i = 0,
  22977. j = 0,
  22978. k = 0,
  22979. m = 0;
  22980. f = l;
  22981. l = (l + 32) | 0;
  22982. g = (f + 16) | 0;
  22983. h = (f + 20) | 0;
  22984. i = (f + 12) | 0;
  22985. j = (f + 8) | 0;
  22986. k = (f + 4) | 0;
  22987. m = f;
  22988. c[g >> 2] = d;
  22989. a[h >> 0] = e;
  22990. c[i >> 2] = c[g >> 2];
  22991. c[j >> 2] = c[i >> 2];
  22992. c[k >> 2] = (c[g >> 2] | 0) + 4;
  22993. c[m >> 2] = c[k >> 2];
  22994. b[c[j >> 2] >> 1] = 0;
  22995. b[((c[j >> 2] | 0) + 2) >> 1] = 0;
  22996. b[c[m >> 2] >> 1] = 0;
  22997. a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
  22998. a[((c[m >> 2] | 0) + 3) >> 0] = 0;
  22999. l = f;
  23000. return 0;
  23001. }
  23002. function iu(f, g, h, i) {
  23003. f = f | 0;
  23004. g = g | 0;
  23005. h = h | 0;
  23006. i = i | 0;
  23007. var j = 0,
  23008. k = 0,
  23009. m = 0,
  23010. n = 0,
  23011. o = 0,
  23012. p = 0,
  23013. q = 0,
  23014. r = 0,
  23015. s = 0,
  23016. t = 0,
  23017. u = 0,
  23018. v = 0,
  23019. w = 0,
  23020. x = 0,
  23021. y = 0,
  23022. z = 0,
  23023. A = 0,
  23024. B = 0,
  23025. C = 0,
  23026. D = 0,
  23027. E = 0,
  23028. F = 0,
  23029. G = 0,
  23030. H = 0,
  23031. I = 0;
  23032. j = l;
  23033. l = (l + 592) | 0;
  23034. k = (j + 576) | 0;
  23035. m = (j + 572) | 0;
  23036. n = (j + 568) | 0;
  23037. o = (j + 564) | 0;
  23038. p = (j + 560) | 0;
  23039. q = (j + 556) | 0;
  23040. r = (j + 552) | 0;
  23041. s = j;
  23042. t = (j + 548) | 0;
  23043. u = (j + 544) | 0;
  23044. v = (j + 540) | 0;
  23045. w = (j + 584) | 0;
  23046. x = (j + 582) | 0;
  23047. y = (j + 536) | 0;
  23048. z = (j + 532) | 0;
  23049. A = (j + 528) | 0;
  23050. B = (j + 524) | 0;
  23051. C = (j + 520) | 0;
  23052. D = (j + 516) | 0;
  23053. E = (j + 512) | 0;
  23054. F = (j + 588) | 0;
  23055. G = (j + 580) | 0;
  23056. c[m >> 2] = f;
  23057. c[n >> 2] = g;
  23058. c[o >> 2] = h;
  23059. c[p >> 2] = i;
  23060. c[q >> 2] = (c[m >> 2] | 0) + 4;
  23061. c[r >> 2] = c[q >> 2];
  23062. c[t >> 2] = (c[o >> 2] | 0) + 1;
  23063. c[u >> 2] = 1 << c[p >> 2];
  23064. c[v >> 2] = (c[u >> 2] | 0) - 1;
  23065. if ((c[o >> 2] | 0) >>> 0 > 255) {
  23066. c[k >> 2] = -46;
  23067. H = c[k >> 2] | 0;
  23068. l = j;
  23069. return H | 0;
  23070. }
  23071. if ((c[p >> 2] | 0) >>> 0 > 12) {
  23072. c[k >> 2] = -44;
  23073. H = c[k >> 2] | 0;
  23074. l = j;
  23075. return H | 0;
  23076. }
  23077. b[w >> 1] = c[p >> 2];
  23078. b[(w + 2) >> 1] = 1;
  23079. b[x >> 1] = 1 << ((c[p >> 2] | 0) - 1);
  23080. c[y >> 2] = 0;
  23081. while (1) {
  23082. if ((c[y >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  23083. if (
  23084. (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) ==
  23085. -1
  23086. ) {
  23087. o = c[y >> 2] & 255;
  23088. q = c[r >> 2] | 0;
  23089. i = c[v >> 2] | 0;
  23090. c[v >> 2] = i + -1;
  23091. a[(q + (i << 2) + 2) >> 0] = o;
  23092. b[(s + (c[y >> 2] << 1)) >> 1] = 1;
  23093. } else {
  23094. if (
  23095. (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) >=
  23096. (b[x >> 1] | 0)
  23097. )
  23098. b[(w + 2) >> 1] = 0;
  23099. b[(s + (c[y >> 2] << 1)) >> 1] =
  23100. b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0;
  23101. }
  23102. c[y >> 2] = (c[y >> 2] | 0) + 1;
  23103. }
  23104. y = c[m >> 2] | 0;
  23105. b[y >> 1] = b[w >> 1] | 0;
  23106. b[(y + 2) >> 1] = b[(w + 2) >> 1] | 0;
  23107. c[z >> 2] = (c[u >> 2] | 0) - 1;
  23108. c[A >> 2] =
  23109. ((c[u >> 2] | 0) >>> 1) + ((c[u >> 2] | 0) >>> 3) + 3;
  23110. c[C >> 2] = 0;
  23111. c[B >> 2] = 0;
  23112. while (1) {
  23113. if ((c[B >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  23114. c[D >> 2] = 0;
  23115. while (1) {
  23116. I = c[B >> 2] | 0;
  23117. if (
  23118. (c[D >> 2] | 0) >=
  23119. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
  23120. )
  23121. break;
  23122. a[((c[r >> 2] | 0) + (c[C >> 2] << 2) + 2) >> 0] = I;
  23123. c[C >> 2] =
  23124. ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
  23125. while (1) {
  23126. if ((c[C >> 2] | 0) >>> 0 <= (c[v >> 2] | 0) >>> 0)
  23127. break;
  23128. c[C >> 2] =
  23129. ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
  23130. }
  23131. c[D >> 2] = (c[D >> 2] | 0) + 1;
  23132. }
  23133. c[B >> 2] = I + 1;
  23134. }
  23135. if (c[C >> 2] | 0) {
  23136. c[k >> 2] = -1;
  23137. H = c[k >> 2] | 0;
  23138. l = j;
  23139. return H | 0;
  23140. }
  23141. c[E >> 2] = 0;
  23142. while (1) {
  23143. if ((c[E >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
  23144. a[F >> 0] =
  23145. a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 2) >> 0] | 0;
  23146. C = (s + (d[F >> 0] << 1)) | 0;
  23147. I = b[C >> 1] | 0;
  23148. b[C >> 1] = ((I + 1) << 16) >> 16;
  23149. b[G >> 1] = I;
  23150. I = c[p >> 2] | 0;
  23151. C = (I - (fu(e[G >> 1] | 0) | 0)) & 255;
  23152. a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0] = C;
  23153. b[((c[r >> 2] | 0) + (c[E >> 2] << 2)) >> 1] =
  23154. (e[G >> 1] <<
  23155. d[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0]) -
  23156. (c[u >> 2] | 0);
  23157. c[E >> 2] = (c[E >> 2] | 0) + 1;
  23158. }
  23159. c[k >> 2] = 0;
  23160. H = c[k >> 2] | 0;
  23161. l = j;
  23162. return H | 0;
  23163. }
  23164. function ju(a, d, e, f, g) {
  23165. a = a | 0;
  23166. d = d | 0;
  23167. e = e | 0;
  23168. f = f | 0;
  23169. g = g | 0;
  23170. var h = 0,
  23171. i = 0,
  23172. j = 0,
  23173. k = 0,
  23174. m = 0,
  23175. n = 0,
  23176. o = 0,
  23177. p = 0,
  23178. q = 0,
  23179. r = 0,
  23180. s = 0,
  23181. t = 0,
  23182. u = 0,
  23183. v = 0,
  23184. w = 0,
  23185. x = 0,
  23186. y = 0,
  23187. z = 0,
  23188. A = 0,
  23189. B = 0,
  23190. C = 0,
  23191. D = 0;
  23192. h = l;
  23193. l = (l + 80) | 0;
  23194. i = (h + 64) | 0;
  23195. j = (h + 60) | 0;
  23196. k = (h + 56) | 0;
  23197. m = (h + 52) | 0;
  23198. n = (h + 48) | 0;
  23199. o = (h + 44) | 0;
  23200. p = (h + 40) | 0;
  23201. q = (h + 36) | 0;
  23202. r = (h + 32) | 0;
  23203. s = (h + 28) | 0;
  23204. t = (h + 24) | 0;
  23205. u = (h + 20) | 0;
  23206. v = (h + 16) | 0;
  23207. w = (h + 12) | 0;
  23208. x = (h + 8) | 0;
  23209. y = (h + 4) | 0;
  23210. z = h;
  23211. A = (h + 70) | 0;
  23212. B = (h + 68) | 0;
  23213. c[j >> 2] = a;
  23214. c[k >> 2] = d;
  23215. c[m >> 2] = e;
  23216. c[n >> 2] = f;
  23217. c[o >> 2] = g;
  23218. c[p >> 2] = c[n >> 2];
  23219. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  23220. c[r >> 2] = c[p >> 2];
  23221. c[x >> 2] = 0;
  23222. c[y >> 2] = 0;
  23223. if ((c[o >> 2] | 0) >>> 0 < 4) {
  23224. c[i >> 2] = -72;
  23225. C = c[i >> 2] | 0;
  23226. l = h;
  23227. return C | 0;
  23228. }
  23229. c[v >> 2] = Mq(c[r >> 2] | 0) | 0;
  23230. c[s >> 2] = (c[v >> 2] & 15) + 5;
  23231. if ((c[s >> 2] | 0) > 15) {
  23232. c[i >> 2] = -44;
  23233. C = c[i >> 2] | 0;
  23234. l = h;
  23235. return C | 0;
  23236. }
  23237. c[v >> 2] = (c[v >> 2] | 0) >>> 4;
  23238. c[w >> 2] = 4;
  23239. c[c[m >> 2] >> 2] = c[s >> 2];
  23240. c[t >> 2] = (1 << c[s >> 2]) + 1;
  23241. c[u >> 2] = 1 << c[s >> 2];
  23242. c[s >> 2] = (c[s >> 2] | 0) + 1;
  23243. a: while (1) {
  23244. if ((c[t >> 2] | 0) <= 1) break;
  23245. if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
  23246. break;
  23247. do {
  23248. if (c[y >> 2] | 0) {
  23249. c[z >> 2] = c[x >> 2];
  23250. while (1) {
  23251. if (((c[v >> 2] & 65535) | 0) != 65535) break;
  23252. c[z >> 2] = (c[z >> 2] | 0) + 24;
  23253. if (
  23254. (c[r >> 2] | 0) >>> 0 <
  23255. (((c[q >> 2] | 0) + -5) | 0) >>> 0
  23256. ) {
  23257. c[r >> 2] = (c[r >> 2] | 0) + 2;
  23258. m = Mq(c[r >> 2] | 0) | 0;
  23259. c[v >> 2] = m >>> (c[w >> 2] | 0);
  23260. } else {
  23261. c[v >> 2] = (c[v >> 2] | 0) >>> 16;
  23262. c[w >> 2] = (c[w >> 2] | 0) + 16;
  23263. }
  23264. }
  23265. while (1) {
  23266. if (((c[v >> 2] & 3) | 0) != 3) break;
  23267. c[z >> 2] = (c[z >> 2] | 0) + 3;
  23268. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  23269. c[w >> 2] = (c[w >> 2] | 0) + 2;
  23270. }
  23271. c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
  23272. c[w >> 2] = (c[w >> 2] | 0) + 2;
  23273. if (
  23274. (c[z >> 2] | 0) >>> 0 >
  23275. (c[c[k >> 2] >> 2] | 0) >>> 0
  23276. ) {
  23277. D = 19;
  23278. break a;
  23279. }
  23280. while (1) {
  23281. if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
  23282. break;
  23283. m = c[j >> 2] | 0;
  23284. n = c[x >> 2] | 0;
  23285. c[x >> 2] = n + 1;
  23286. b[(m + (n << 1)) >> 1] = 0;
  23287. }
  23288. if (
  23289. (c[r >> 2] | 0) >>> 0 >
  23290. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  23291. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  23292. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  23293. : 0
  23294. ) {
  23295. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  23296. break;
  23297. }
  23298. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  23299. c[w >> 2] = c[w >> 2] & 7;
  23300. n = Mq(c[r >> 2] | 0) | 0;
  23301. c[v >> 2] = n >>> (c[w >> 2] | 0);
  23302. }
  23303. } while (0);
  23304. b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
  23305. n = c[v >> 2] | 0;
  23306. m = c[u >> 2] | 0;
  23307. if (
  23308. (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
  23309. (b[A >> 1] | 0) >>> 0
  23310. ) {
  23311. b[B >> 1] = n & (m - 1);
  23312. c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
  23313. } else {
  23314. b[B >> 1] = n & ((m << 1) - 1);
  23315. if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
  23316. b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
  23317. c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
  23318. }
  23319. b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
  23320. m = ((ku(b[B >> 1] | 0) | 0) << 16) >> 16;
  23321. c[t >> 2] = (c[t >> 2] | 0) - m;
  23322. m = b[B >> 1] | 0;
  23323. n = c[j >> 2] | 0;
  23324. g = c[x >> 2] | 0;
  23325. c[x >> 2] = g + 1;
  23326. b[(n + (g << 1)) >> 1] = m;
  23327. c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
  23328. while (1) {
  23329. if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
  23330. c[s >> 2] = (c[s >> 2] | 0) + -1;
  23331. c[u >> 2] = c[u >> 2] >> 1;
  23332. }
  23333. if (
  23334. (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
  23335. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  23336. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  23337. : 0
  23338. ) {
  23339. c[w >> 2] =
  23340. (c[w >> 2] | 0) -
  23341. (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
  23342. c[r >> 2] = (c[q >> 2] | 0) + -4;
  23343. } else {
  23344. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  23345. c[w >> 2] = c[w >> 2] & 7;
  23346. }
  23347. m = Mq(c[r >> 2] | 0) | 0;
  23348. c[v >> 2] = m >>> (c[w >> 2] & 31);
  23349. }
  23350. if ((D | 0) == 19) {
  23351. c[i >> 2] = -48;
  23352. C = c[i >> 2] | 0;
  23353. l = h;
  23354. return C | 0;
  23355. }
  23356. if ((c[t >> 2] | 0) != 1) {
  23357. c[i >> 2] = -1;
  23358. C = c[i >> 2] | 0;
  23359. l = h;
  23360. return C | 0;
  23361. }
  23362. c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
  23363. c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
  23364. if (
  23365. (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
  23366. (c[o >> 2] | 0) >>> 0
  23367. ) {
  23368. c[i >> 2] = -72;
  23369. C = c[i >> 2] | 0;
  23370. l = h;
  23371. return C | 0;
  23372. } else {
  23373. c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
  23374. C = c[i >> 2] | 0;
  23375. l = h;
  23376. return C | 0;
  23377. }
  23378. return 0;
  23379. }
  23380. function ku(a) {
  23381. a = a | 0;
  23382. var c = 0,
  23383. d = 0;
  23384. c = l;
  23385. l = (l + 16) | 0;
  23386. d = c;
  23387. b[d >> 1] = a;
  23388. a = b[d >> 1] | 0;
  23389. l = c;
  23390. return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
  23391. }
  23392. function lu(a, d, e, f) {
  23393. a = a | 0;
  23394. d = d | 0;
  23395. e = e | 0;
  23396. f = f | 0;
  23397. var g = 0,
  23398. h = 0,
  23399. i = 0,
  23400. j = 0,
  23401. k = 0,
  23402. m = 0,
  23403. n = 0,
  23404. o = 0,
  23405. p = 0,
  23406. q = 0;
  23407. g = l;
  23408. l = (l + 8224) | 0;
  23409. h = (g + 8220) | 0;
  23410. i = (g + 8216) | 0;
  23411. j = (g + 8212) | 0;
  23412. k = (g + 8208) | 0;
  23413. m = (g + 8204) | 0;
  23414. n = g;
  23415. o = (g + 8200) | 0;
  23416. p = (g + 8196) | 0;
  23417. c[i >> 2] = a;
  23418. c[j >> 2] = d;
  23419. c[k >> 2] = e;
  23420. c[m >> 2] = f;
  23421. oE(n | 0, 0, 8194) | 0;
  23422. b[n >> 1] = 12;
  23423. c[o >> 2] = c[k >> 2];
  23424. c[p >> 2] = Ju(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  23425. k = (ou(c[p >> 2] | 0) | 0) != 0;
  23426. f = c[p >> 2] | 0;
  23427. if (k) {
  23428. c[h >> 2] = f;
  23429. q = c[h >> 2] | 0;
  23430. l = g;
  23431. return q | 0;
  23432. }
  23433. if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
  23434. c[h >> 2] = -72;
  23435. q = c[h >> 2] | 0;
  23436. l = g;
  23437. return q | 0;
  23438. } else {
  23439. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  23440. c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
  23441. c[h >> 2] =
  23442. Nu(
  23443. c[i >> 2] | 0,
  23444. c[j >> 2] | 0,
  23445. c[o >> 2] | 0,
  23446. c[m >> 2] | 0,
  23447. n
  23448. ) | 0;
  23449. q = c[h >> 2] | 0;
  23450. l = g;
  23451. return q | 0;
  23452. }
  23453. return 0;
  23454. }
  23455. function mu(a, b, e, f) {
  23456. a = a | 0;
  23457. b = b | 0;
  23458. e = e | 0;
  23459. f = f | 0;
  23460. var g = 0,
  23461. h = 0,
  23462. i = 0,
  23463. j = 0,
  23464. k = 0,
  23465. m = 0,
  23466. n = 0,
  23467. o = 0,
  23468. p = 0,
  23469. q = 0,
  23470. r = 0,
  23471. s = 0;
  23472. g = l;
  23473. l = (l + 48) | 0;
  23474. h = (g + 44) | 0;
  23475. i = (g + 40) | 0;
  23476. j = (g + 36) | 0;
  23477. k = (g + 32) | 0;
  23478. m = (g + 28) | 0;
  23479. n = (g + 16) | 0;
  23480. o = (g + 12) | 0;
  23481. p = (g + 8) | 0;
  23482. q = (g + 4) | 0;
  23483. r = g;
  23484. c[i >> 2] = a;
  23485. c[j >> 2] = b;
  23486. c[k >> 2] = e;
  23487. c[m >> 2] = f;
  23488. if (!(c[j >> 2] | 0)) {
  23489. c[h >> 2] = -70;
  23490. s = c[h >> 2] | 0;
  23491. l = g;
  23492. return s | 0;
  23493. }
  23494. if ((c[m >> 2] | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
  23495. c[h >> 2] = -20;
  23496. s = c[h >> 2] | 0;
  23497. l = g;
  23498. return s | 0;
  23499. }
  23500. if ((c[m >> 2] | 0) == (c[j >> 2] | 0)) {
  23501. mE(c[i >> 2] | 0, c[k >> 2] | 0, c[j >> 2] | 0) | 0;
  23502. c[h >> 2] = c[j >> 2];
  23503. s = c[h >> 2] | 0;
  23504. l = g;
  23505. return s | 0;
  23506. }
  23507. if ((c[m >> 2] | 0) == 1) {
  23508. oE(
  23509. c[i >> 2] | 0,
  23510. ((d[c[k >> 2] >> 0] | 0) & 255) | 0,
  23511. c[j >> 2] | 0
  23512. ) | 0;
  23513. c[h >> 2] = c[j >> 2];
  23514. s = c[h >> 2] | 0;
  23515. l = g;
  23516. return s | 0;
  23517. }
  23518. c[o >> 2] =
  23519. (((c[m >> 2] << 4) >>> 0) / ((c[j >> 2] | 0) >>> 0)) | 0;
  23520. c[p >> 2] = (c[j >> 2] | 0) >>> 8;
  23521. c[q >> 2] = 0;
  23522. while (1) {
  23523. if ((c[q >> 2] | 0) >>> 0 >= 3) break;
  23524. f =
  23525. ((c[
  23526. (7008 +
  23527. (((c[o >> 2] | 0) * 24) | 0) +
  23528. (c[q >> 2] << 3)) >>
  23529. 2
  23530. ] |
  23531. 0) +
  23532. (N(
  23533. c[
  23534. (7008 +
  23535. (((c[o >> 2] | 0) * 24) | 0) +
  23536. (c[q >> 2] << 3) +
  23537. 4) >>
  23538. 2
  23539. ] | 0,
  23540. c[p >> 2] | 0
  23541. ) |
  23542. 0)) |
  23543. 0;
  23544. c[(n + (c[q >> 2] << 2)) >> 2] = f;
  23545. c[q >> 2] = (c[q >> 2] | 0) + 1;
  23546. }
  23547. q = (n + 4) | 0;
  23548. c[q >> 2] = (c[q >> 2] | 0) + ((c[(n + 4) >> 2] | 0) >>> 4);
  23549. q = (n + 8) | 0;
  23550. c[q >> 2] = (c[q >> 2] | 0) + ((c[(n + 8) >> 2] | 0) >>> 3);
  23551. c[r >> 2] = 0;
  23552. c[r >> 2] =
  23553. (c[(n + 4) >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0 ? 1 : 0;
  23554. c[h >> 2] =
  23555. sc[c[(11964 + (c[r >> 2] << 2)) >> 2] & 15](
  23556. c[i >> 2] | 0,
  23557. c[j >> 2] | 0,
  23558. c[k >> 2] | 0,
  23559. c[m >> 2] | 0
  23560. ) | 0;
  23561. s = c[h >> 2] | 0;
  23562. l = g;
  23563. return s | 0;
  23564. }
  23565. function nu(a, b, d, e, f) {
  23566. a = a | 0;
  23567. b = b | 0;
  23568. d = d | 0;
  23569. e = e | 0;
  23570. f = f | 0;
  23571. var g = 0,
  23572. h = 0,
  23573. i = 0,
  23574. j = 0,
  23575. k = 0,
  23576. m = 0,
  23577. n = 0,
  23578. o = 0,
  23579. p = 0,
  23580. q = 0,
  23581. r = 0,
  23582. s = 0,
  23583. t = 0,
  23584. u = 0,
  23585. v = 0,
  23586. w = 0;
  23587. g = l;
  23588. l = (l + 80) | 0;
  23589. h = (g + 68) | 0;
  23590. i = (g + 64) | 0;
  23591. j = (g + 60) | 0;
  23592. k = (g + 56) | 0;
  23593. m = (g + 52) | 0;
  23594. n = (g + 48) | 0;
  23595. o = (g + 44) | 0;
  23596. p = (g + 40) | 0;
  23597. q = (g + 36) | 0;
  23598. r = (g + 32) | 0;
  23599. s = (g + 28) | 0;
  23600. t = (g + 24) | 0;
  23601. u = (g + 8) | 0;
  23602. v = g;
  23603. c[i >> 2] = a;
  23604. c[j >> 2] = b;
  23605. c[k >> 2] = d;
  23606. c[m >> 2] = e;
  23607. c[n >> 2] = f;
  23608. c[o >> 2] = c[k >> 2];
  23609. c[p >> 2] = c[i >> 2];
  23610. c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
  23611. c[r >> 2] = c[c[n >> 2] >> 2];
  23612. c[s >> 2] = c[n >> 2];
  23613. c[t >> 2] = (c[s >> 2] | 0) + 4;
  23614. c[v >> 2] = St(u, c[o >> 2] | 0, c[m >> 2] | 0) | 0;
  23615. if (ou(c[v >> 2] | 0) | 0) {
  23616. c[h >> 2] = c[v >> 2];
  23617. w = c[h >> 2] | 0;
  23618. l = g;
  23619. return w | 0;
  23620. }
  23621. pu(
  23622. c[p >> 2] | 0,
  23623. u,
  23624. c[q >> 2] | 0,
  23625. c[t >> 2] | 0,
  23626. c[r >> 2] | 0
  23627. ) | 0;
  23628. if (qu(u) | 0) {
  23629. c[h >> 2] = c[j >> 2];
  23630. w = c[h >> 2] | 0;
  23631. l = g;
  23632. return w | 0;
  23633. } else {
  23634. c[h >> 2] = -20;
  23635. w = c[h >> 2] | 0;
  23636. l = g;
  23637. return w | 0;
  23638. }
  23639. return 0;
  23640. }
  23641. function ou(a) {
  23642. a = a | 0;
  23643. var b = 0,
  23644. d = 0;
  23645. b = l;
  23646. l = (l + 16) | 0;
  23647. d = b;
  23648. c[d >> 2] = a;
  23649. a = jr(c[d >> 2] | 0) | 0;
  23650. l = b;
  23651. return a | 0;
  23652. }
  23653. function pu(a, b, d, e, f) {
  23654. a = a | 0;
  23655. b = b | 0;
  23656. d = d | 0;
  23657. e = e | 0;
  23658. f = f | 0;
  23659. var g = 0,
  23660. h = 0,
  23661. i = 0,
  23662. j = 0,
  23663. k = 0,
  23664. m = 0,
  23665. n = 0,
  23666. o = 0,
  23667. p = 0,
  23668. q = 0,
  23669. r = 0,
  23670. s = 0,
  23671. t = 0;
  23672. g = l;
  23673. l = (l + 32) | 0;
  23674. h = (g + 20) | 0;
  23675. i = (g + 16) | 0;
  23676. j = (g + 12) | 0;
  23677. k = (g + 8) | 0;
  23678. m = (g + 4) | 0;
  23679. n = g;
  23680. c[h >> 2] = a;
  23681. c[i >> 2] = b;
  23682. c[j >> 2] = d;
  23683. c[k >> 2] = e;
  23684. c[m >> 2] = f;
  23685. c[n >> 2] = c[h >> 2];
  23686. while (1) {
  23687. if (Ut(c[i >> 2] | 0) | 0) break;
  23688. if (
  23689. (c[h >> 2] | 0) >>> 0 >=
  23690. (((c[j >> 2] | 0) + -7) | 0) >>> 0
  23691. )
  23692. break;
  23693. if (ru() | 0) {
  23694. f =
  23695. su(
  23696. c[h >> 2] | 0,
  23697. c[i >> 2] | 0,
  23698. c[k >> 2] | 0,
  23699. c[m >> 2] | 0
  23700. ) | 0;
  23701. c[h >> 2] = (c[h >> 2] | 0) + f;
  23702. }
  23703. ru() | 0;
  23704. f =
  23705. su(
  23706. c[h >> 2] | 0,
  23707. c[i >> 2] | 0,
  23708. c[k >> 2] | 0,
  23709. c[m >> 2] | 0
  23710. ) | 0;
  23711. c[h >> 2] = (c[h >> 2] | 0) + f;
  23712. if (ru() | 0) {
  23713. f =
  23714. su(
  23715. c[h >> 2] | 0,
  23716. c[i >> 2] | 0,
  23717. c[k >> 2] | 0,
  23718. c[m >> 2] | 0
  23719. ) | 0;
  23720. c[h >> 2] = (c[h >> 2] | 0) + f;
  23721. }
  23722. f =
  23723. su(
  23724. c[h >> 2] | 0,
  23725. c[i >> 2] | 0,
  23726. c[k >> 2] | 0,
  23727. c[m >> 2] | 0
  23728. ) | 0;
  23729. c[h >> 2] = (c[h >> 2] | 0) + f;
  23730. }
  23731. while (1) {
  23732. if (Ut(c[i >> 2] | 0) | 0) break;
  23733. if (
  23734. (c[h >> 2] | 0) >>> 0 >
  23735. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  23736. )
  23737. break;
  23738. f =
  23739. su(
  23740. c[h >> 2] | 0,
  23741. c[i >> 2] | 0,
  23742. c[k >> 2] | 0,
  23743. c[m >> 2] | 0
  23744. ) | 0;
  23745. c[h >> 2] = (c[h >> 2] | 0) + f;
  23746. }
  23747. while (1) {
  23748. o = c[h >> 2] | 0;
  23749. if (
  23750. (c[h >> 2] | 0) >>> 0 >
  23751. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  23752. )
  23753. break;
  23754. f = su(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  23755. c[h >> 2] = (c[h >> 2] | 0) + f;
  23756. }
  23757. if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
  23758. p = c[h >> 2] | 0;
  23759. q = c[n >> 2] | 0;
  23760. r = p;
  23761. s = q;
  23762. t = (r - s) | 0;
  23763. l = g;
  23764. return t | 0;
  23765. }
  23766. j =
  23767. tu(
  23768. c[h >> 2] | 0,
  23769. c[i >> 2] | 0,
  23770. c[k >> 2] | 0,
  23771. c[m >> 2] | 0
  23772. ) | 0;
  23773. c[h >> 2] = (c[h >> 2] | 0) + j;
  23774. p = c[h >> 2] | 0;
  23775. q = c[n >> 2] | 0;
  23776. r = p;
  23777. s = q;
  23778. t = (r - s) | 0;
  23779. l = g;
  23780. return t | 0;
  23781. }
  23782. function qu(a) {
  23783. a = a | 0;
  23784. var b = 0,
  23785. d = 0,
  23786. e = 0,
  23787. f = 0;
  23788. b = l;
  23789. l = (l + 16) | 0;
  23790. d = b;
  23791. c[d >> 2] = a;
  23792. if (
  23793. (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
  23794. (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
  23795. ) {
  23796. e = 0;
  23797. f = e & 1;
  23798. l = b;
  23799. return f | 0;
  23800. }
  23801. e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
  23802. f = e & 1;
  23803. l = b;
  23804. return f | 0;
  23805. }
  23806. function ru() {
  23807. return 0;
  23808. }
  23809. function su(b, e, f, g) {
  23810. b = b | 0;
  23811. e = e | 0;
  23812. f = f | 0;
  23813. g = g | 0;
  23814. var h = 0,
  23815. i = 0,
  23816. j = 0,
  23817. k = 0,
  23818. m = 0,
  23819. n = 0;
  23820. h = l;
  23821. l = (l + 32) | 0;
  23822. i = (h + 16) | 0;
  23823. j = (h + 12) | 0;
  23824. k = (h + 8) | 0;
  23825. m = (h + 4) | 0;
  23826. n = h;
  23827. c[i >> 2] = b;
  23828. c[j >> 2] = e;
  23829. c[k >> 2] = f;
  23830. c[m >> 2] = g;
  23831. c[n >> 2] = uu(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  23832. m = c[i >> 2] | 0;
  23833. i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
  23834. a[m >> 0] = a[i >> 0] | 0;
  23835. a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
  23836. du(
  23837. c[j >> 2] | 0,
  23838. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  23839. );
  23840. l = h;
  23841. return (
  23842. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
  23843. );
  23844. }
  23845. function tu(b, e, f, g) {
  23846. b = b | 0;
  23847. e = e | 0;
  23848. f = f | 0;
  23849. g = g | 0;
  23850. var h = 0,
  23851. i = 0,
  23852. j = 0,
  23853. k = 0,
  23854. m = 0,
  23855. n = 0;
  23856. h = l;
  23857. l = (l + 32) | 0;
  23858. i = (h + 16) | 0;
  23859. j = (h + 12) | 0;
  23860. k = (h + 8) | 0;
  23861. m = (h + 4) | 0;
  23862. n = h;
  23863. c[i >> 2] = b;
  23864. c[j >> 2] = e;
  23865. c[k >> 2] = f;
  23866. c[m >> 2] = g;
  23867. c[n >> 2] = uu(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  23868. a[c[i >> 2] >> 0] =
  23869. a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
  23870. i = c[j >> 2] | 0;
  23871. if (
  23872. (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
  23873. 0 |
  23874. 0) ==
  23875. 1
  23876. ) {
  23877. du(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
  23878. l = h;
  23879. return 1;
  23880. }
  23881. if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
  23882. l = h;
  23883. return 1;
  23884. }
  23885. du(
  23886. c[j >> 2] | 0,
  23887. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  23888. );
  23889. if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
  23890. l = h;
  23891. return 1;
  23892. }
  23893. c[((c[j >> 2] | 0) + 4) >> 2] = 32;
  23894. l = h;
  23895. return 1;
  23896. }
  23897. function uu(a, b) {
  23898. a = a | 0;
  23899. b = b | 0;
  23900. var d = 0,
  23901. e = 0,
  23902. f = 0;
  23903. d = l;
  23904. l = (l + 16) | 0;
  23905. e = (d + 8) | 0;
  23906. f = (d + 4) | 0;
  23907. c[e >> 2] = a;
  23908. c[f >> 2] = b;
  23909. c[d >> 2] = 31;
  23910. l = d;
  23911. return (
  23912. ((c[c[e >> 2] >> 2] <<
  23913. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  23914. ((32 - (c[f >> 2] | 0)) & 31)) |
  23915. 0
  23916. );
  23917. }
  23918. function vu(a, d, e, f) {
  23919. a = a | 0;
  23920. d = d | 0;
  23921. e = e | 0;
  23922. f = f | 0;
  23923. var g = 0,
  23924. h = 0,
  23925. i = 0,
  23926. j = 0,
  23927. k = 0,
  23928. m = 0,
  23929. n = 0,
  23930. o = 0,
  23931. p = 0,
  23932. q = 0;
  23933. g = l;
  23934. l = (l + 8224) | 0;
  23935. h = (g + 8220) | 0;
  23936. i = (g + 8216) | 0;
  23937. j = (g + 8212) | 0;
  23938. k = (g + 8208) | 0;
  23939. m = (g + 8204) | 0;
  23940. n = g;
  23941. o = (g + 8200) | 0;
  23942. p = (g + 8196) | 0;
  23943. c[i >> 2] = a;
  23944. c[j >> 2] = d;
  23945. c[k >> 2] = e;
  23946. c[m >> 2] = f;
  23947. oE(n | 0, 0, 8194) | 0;
  23948. b[n >> 1] = 12;
  23949. c[o >> 2] = c[k >> 2];
  23950. c[p >> 2] = Ju(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  23951. k = (ou(c[p >> 2] | 0) | 0) != 0;
  23952. f = c[p >> 2] | 0;
  23953. if (k) {
  23954. c[h >> 2] = f;
  23955. q = c[h >> 2] | 0;
  23956. l = g;
  23957. return q | 0;
  23958. }
  23959. if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
  23960. c[h >> 2] = -72;
  23961. q = c[h >> 2] | 0;
  23962. l = g;
  23963. return q | 0;
  23964. } else {
  23965. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  23966. c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
  23967. c[h >> 2] =
  23968. Ku(
  23969. c[i >> 2] | 0,
  23970. c[j >> 2] | 0,
  23971. c[o >> 2] | 0,
  23972. c[m >> 2] | 0,
  23973. n
  23974. ) | 0;
  23975. q = c[h >> 2] | 0;
  23976. l = g;
  23977. return q | 0;
  23978. }
  23979. return 0;
  23980. }
  23981. function wu(a, b, d, e) {
  23982. a = a | 0;
  23983. b = b | 0;
  23984. d = d | 0;
  23985. e = e | 0;
  23986. var f = 0,
  23987. g = 0,
  23988. h = 0,
  23989. i = 0,
  23990. j = 0,
  23991. k = 0,
  23992. m = 0,
  23993. n = 0,
  23994. o = 0,
  23995. p = 0;
  23996. f = l;
  23997. l = (l + 16416) | 0;
  23998. g = (f + 16412) | 0;
  23999. h = (f + 16408) | 0;
  24000. i = (f + 16404) | 0;
  24001. j = (f + 16400) | 0;
  24002. k = (f + 16396) | 0;
  24003. m = f;
  24004. n = (f + 16392) | 0;
  24005. o = (f + 16388) | 0;
  24006. c[h >> 2] = a;
  24007. c[i >> 2] = b;
  24008. c[j >> 2] = d;
  24009. c[k >> 2] = e;
  24010. oE(m | 0, 0, 16388) | 0;
  24011. c[m >> 2] = 12;
  24012. c[n >> 2] = c[j >> 2];
  24013. c[o >> 2] = xu(m, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  24014. j = (ou(c[o >> 2] | 0) | 0) != 0;
  24015. e = c[o >> 2] | 0;
  24016. if (j) {
  24017. c[g >> 2] = e;
  24018. p = c[g >> 2] | 0;
  24019. l = f;
  24020. return p | 0;
  24021. }
  24022. if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  24023. c[g >> 2] = -72;
  24024. p = c[g >> 2] | 0;
  24025. l = f;
  24026. return p | 0;
  24027. } else {
  24028. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  24029. c[k >> 2] = (c[k >> 2] | 0) - (c[o >> 2] | 0);
  24030. c[g >> 2] =
  24031. yu(
  24032. c[h >> 2] | 0,
  24033. c[i >> 2] | 0,
  24034. c[n >> 2] | 0,
  24035. c[k >> 2] | 0,
  24036. m
  24037. ) | 0;
  24038. p = c[g >> 2] | 0;
  24039. l = f;
  24040. return p | 0;
  24041. }
  24042. return 0;
  24043. }
  24044. function xu(b, e, f) {
  24045. b = b | 0;
  24046. e = e | 0;
  24047. f = f | 0;
  24048. var g = 0,
  24049. h = 0,
  24050. i = 0,
  24051. j = 0,
  24052. k = 0,
  24053. m = 0,
  24054. n = 0,
  24055. o = 0,
  24056. p = 0,
  24057. q = 0,
  24058. r = 0,
  24059. s = 0,
  24060. t = 0,
  24061. u = 0,
  24062. v = 0,
  24063. w = 0,
  24064. x = 0,
  24065. y = 0,
  24066. z = 0,
  24067. A = 0,
  24068. B = 0,
  24069. C = 0,
  24070. D = 0,
  24071. E = 0,
  24072. F = 0,
  24073. G = 0,
  24074. H = 0,
  24075. I = 0,
  24076. J = 0,
  24077. K = 0,
  24078. L = 0,
  24079. M = 0,
  24080. N = 0,
  24081. O = 0,
  24082. P = 0,
  24083. Q = 0;
  24084. g = l;
  24085. l = (l + 2128) | 0;
  24086. h = (g + 2124) | 0;
  24087. i = (g + 2120) | 0;
  24088. j = (g + 2116) | 0;
  24089. k = (g + 2112) | 0;
  24090. m = (g + 1760) | 0;
  24091. n = (g + 1248) | 0;
  24092. o = (g + 1168) | 0;
  24093. p = (g + 1088) | 0;
  24094. q = (g + 2108) | 0;
  24095. r = g;
  24096. s = (g + 2104) | 0;
  24097. t = (g + 2100) | 0;
  24098. u = (g + 2096) | 0;
  24099. v = (g + 2092) | 0;
  24100. w = (g + 2088) | 0;
  24101. x = (g + 2084) | 0;
  24102. y = (g + 2080) | 0;
  24103. z = (g + 2076) | 0;
  24104. A = (g + 2072) | 0;
  24105. B = (g + 2068) | 0;
  24106. C = (g + 2064) | 0;
  24107. D = (g + 2060) | 0;
  24108. E = (g + 2056) | 0;
  24109. F = (g + 2052) | 0;
  24110. G = (g + 2048) | 0;
  24111. H = (g + 2044) | 0;
  24112. I = (g + 2040) | 0;
  24113. J = (g + 2036) | 0;
  24114. K = (g + 2032) | 0;
  24115. L = (g + 2028) | 0;
  24116. M = (g + 2024) | 0;
  24117. N = (g + 2020) | 0;
  24118. O = (g + 2016) | 0;
  24119. c[i >> 2] = b;
  24120. c[j >> 2] = e;
  24121. c[k >> 2] = f;
  24122. f = o;
  24123. e = (f + 68) | 0;
  24124. do {
  24125. c[f >> 2] = 0;
  24126. f = (f + 4) | 0;
  24127. } while ((f | 0) < (e | 0));
  24128. f = p;
  24129. e = (f + 72) | 0;
  24130. do {
  24131. c[f >> 2] = 0;
  24132. f = (f + 4) | 0;
  24133. } while ((f | 0) < (e | 0));
  24134. c[q >> 2] = p + 4;
  24135. c[w >> 2] = c[c[i >> 2] >> 2];
  24136. c[y >> 2] = c[i >> 2];
  24137. c[z >> 2] = (c[y >> 2] | 0) + 4;
  24138. if ((c[w >> 2] | 0) >>> 0 > 16) {
  24139. c[h >> 2] = -44;
  24140. P = c[h >> 2] | 0;
  24141. l = g;
  24142. return P | 0;
  24143. }
  24144. c[x >> 2] =
  24145. zu(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  24146. if (ou(c[x >> 2] | 0) | 0) {
  24147. c[h >> 2] = c[x >> 2];
  24148. P = c[h >> 2] | 0;
  24149. l = g;
  24150. return P | 0;
  24151. }
  24152. if ((c[s >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) {
  24153. c[h >> 2] = -44;
  24154. P = c[h >> 2] | 0;
  24155. l = g;
  24156. return P | 0;
  24157. }
  24158. c[t >> 2] = c[s >> 2];
  24159. while (1) {
  24160. if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
  24161. c[t >> 2] = (c[t >> 2] | 0) + -1;
  24162. }
  24163. c[B >> 2] = 0;
  24164. c[A >> 2] = 1;
  24165. while (1) {
  24166. Q = c[B >> 2] | 0;
  24167. if (
  24168. (c[A >> 2] | 0) >>> 0 >=
  24169. (((c[t >> 2] | 0) + 1) | 0) >>> 0
  24170. )
  24171. break;
  24172. c[C >> 2] = Q;
  24173. c[B >> 2] =
  24174. (c[B >> 2] | 0) + (c[(o + (c[A >> 2] << 2)) >> 2] | 0);
  24175. c[((c[q >> 2] | 0) + (c[A >> 2] << 2)) >> 2] = c[C >> 2];
  24176. c[A >> 2] = (c[A >> 2] | 0) + 1;
  24177. }
  24178. c[c[q >> 2] >> 2] = Q;
  24179. c[u >> 2] = c[B >> 2];
  24180. c[D >> 2] = 0;
  24181. while (1) {
  24182. if ((c[D >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
  24183. c[E >> 2] = d[(m + (c[D >> 2] | 0)) >> 0];
  24184. B = ((c[q >> 2] | 0) + (c[E >> 2] << 2)) | 0;
  24185. Q = c[B >> 2] | 0;
  24186. c[B >> 2] = Q + 1;
  24187. c[F >> 2] = Q;
  24188. a[(n + (c[F >> 2] << 1)) >> 0] = c[D >> 2];
  24189. a[(n + (c[F >> 2] << 1) + 1) >> 0] = c[E >> 2];
  24190. c[D >> 2] = (c[D >> 2] | 0) + 1;
  24191. }
  24192. c[c[q >> 2] >> 2] = 0;
  24193. c[G >> 2] = r;
  24194. c[H >> 2] = (c[w >> 2] | 0) - (c[s >> 2] | 0) - 1;
  24195. c[I >> 2] = 0;
  24196. c[J >> 2] = 1;
  24197. while (1) {
  24198. if (
  24199. (c[J >> 2] | 0) >>> 0 >=
  24200. (((c[t >> 2] | 0) + 1) | 0) >>> 0
  24201. )
  24202. break;
  24203. c[K >> 2] = c[I >> 2];
  24204. c[I >> 2] =
  24205. (c[I >> 2] | 0) +
  24206. (c[(o + (c[J >> 2] << 2)) >> 2] <<
  24207. ((c[J >> 2] | 0) + (c[H >> 2] | 0)));
  24208. c[((c[G >> 2] | 0) + (c[J >> 2] << 2)) >> 2] = c[K >> 2];
  24209. c[J >> 2] = (c[J >> 2] | 0) + 1;
  24210. }
  24211. c[L >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
  24212. c[M >> 2] = c[L >> 2];
  24213. while (1) {
  24214. if (
  24215. (c[M >> 2] | 0) >>> 0 >=
  24216. (((c[w >> 2] | 0) - (c[L >> 2] | 0) + 1) | 0) >>> 0
  24217. )
  24218. break;
  24219. c[N >> 2] = r + (((c[M >> 2] | 0) * 68) | 0);
  24220. c[O >> 2] = 1;
  24221. while (1) {
  24222. if (
  24223. (c[O >> 2] | 0) >>> 0 >=
  24224. (((c[t >> 2] | 0) + 1) | 0) >>> 0
  24225. )
  24226. break;
  24227. c[((c[N >> 2] | 0) + (c[O >> 2] << 2)) >> 2] =
  24228. (c[((c[G >> 2] | 0) + (c[O >> 2] << 2)) >> 2] | 0) >>>
  24229. (c[M >> 2] | 0);
  24230. c[O >> 2] = (c[O >> 2] | 0) + 1;
  24231. }
  24232. c[M >> 2] = (c[M >> 2] | 0) + 1;
  24233. }
  24234. Au(
  24235. c[z >> 2] | 0,
  24236. c[w >> 2] | 0,
  24237. n,
  24238. c[u >> 2] | 0,
  24239. p,
  24240. r,
  24241. c[t >> 2] | 0,
  24242. ((c[s >> 2] | 0) + 1) | 0
  24243. );
  24244. c[h >> 2] = c[x >> 2];
  24245. P = c[h >> 2] | 0;
  24246. l = g;
  24247. return P | 0;
  24248. }
  24249. function yu(a, b, d, e, f) {
  24250. a = a | 0;
  24251. b = b | 0;
  24252. d = d | 0;
  24253. e = e | 0;
  24254. f = f | 0;
  24255. var g = 0,
  24256. h = 0,
  24257. i = 0,
  24258. j = 0,
  24259. k = 0,
  24260. m = 0,
  24261. n = 0,
  24262. o = 0,
  24263. p = 0,
  24264. q = 0,
  24265. r = 0,
  24266. s = 0,
  24267. t = 0,
  24268. u = 0,
  24269. v = 0,
  24270. w = 0,
  24271. x = 0,
  24272. y = 0,
  24273. z = 0,
  24274. A = 0,
  24275. B = 0,
  24276. C = 0,
  24277. D = 0,
  24278. E = 0,
  24279. F = 0,
  24280. G = 0,
  24281. H = 0,
  24282. I = 0,
  24283. J = 0,
  24284. K = 0,
  24285. L = 0,
  24286. M = 0,
  24287. N = 0,
  24288. O = 0,
  24289. P = 0,
  24290. Q = 0;
  24291. g = l;
  24292. l = (l + 192) | 0;
  24293. h = (g + 184) | 0;
  24294. i = (g + 180) | 0;
  24295. j = (g + 176) | 0;
  24296. k = (g + 172) | 0;
  24297. m = (g + 168) | 0;
  24298. n = (g + 164) | 0;
  24299. o = (g + 160) | 0;
  24300. p = (g + 156) | 0;
  24301. q = (g + 152) | 0;
  24302. r = (g + 148) | 0;
  24303. s = (g + 144) | 0;
  24304. t = (g + 140) | 0;
  24305. u = (g + 136) | 0;
  24306. v = (g + 120) | 0;
  24307. w = (g + 104) | 0;
  24308. x = (g + 88) | 0;
  24309. y = (g + 72) | 0;
  24310. z = (g + 64) | 0;
  24311. A = (g + 60) | 0;
  24312. B = (g + 56) | 0;
  24313. C = (g + 52) | 0;
  24314. D = (g + 48) | 0;
  24315. E = (g + 44) | 0;
  24316. F = (g + 40) | 0;
  24317. G = (g + 36) | 0;
  24318. H = (g + 32) | 0;
  24319. I = (g + 28) | 0;
  24320. J = (g + 24) | 0;
  24321. K = (g + 20) | 0;
  24322. L = (g + 16) | 0;
  24323. M = (g + 12) | 0;
  24324. N = (g + 8) | 0;
  24325. O = (g + 4) | 0;
  24326. P = g;
  24327. c[i >> 2] = a;
  24328. c[j >> 2] = b;
  24329. c[k >> 2] = d;
  24330. c[m >> 2] = e;
  24331. c[n >> 2] = f;
  24332. if ((c[m >> 2] | 0) >>> 0 < 10) {
  24333. c[h >> 2] = -20;
  24334. Q = c[h >> 2] | 0;
  24335. l = g;
  24336. return Q | 0;
  24337. }
  24338. c[o >> 2] = c[k >> 2];
  24339. c[p >> 2] = c[i >> 2];
  24340. c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
  24341. c[r >> 2] = c[n >> 2];
  24342. c[s >> 2] = (c[r >> 2] | 0) + 4;
  24343. c[t >> 2] = c[c[n >> 2] >> 2];
  24344. c[z >> 2] = (Oq(c[o >> 2] | 0) | 0) & 65535;
  24345. c[A >> 2] = (Oq(((c[o >> 2] | 0) + 2) | 0) | 0) & 65535;
  24346. c[B >> 2] = (Oq(((c[o >> 2] | 0) + 4) | 0) | 0) & 65535;
  24347. c[D >> 2] = (c[o >> 2] | 0) + 6;
  24348. c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
  24349. c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
  24350. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  24351. c[H >> 2] = (((((c[j >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  24352. c[I >> 2] = (c[p >> 2] | 0) + (c[H >> 2] | 0);
  24353. c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  24354. c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
  24355. c[L >> 2] = c[p >> 2];
  24356. c[M >> 2] = c[I >> 2];
  24357. c[N >> 2] = c[J >> 2];
  24358. c[O >> 2] = c[K >> 2];
  24359. c[C >> 2] =
  24360. (c[m >> 2] | 0) -
  24361. ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
  24362. if ((c[C >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) {
  24363. c[h >> 2] = -20;
  24364. Q = c[h >> 2] | 0;
  24365. l = g;
  24366. return Q | 0;
  24367. }
  24368. c[u >> 2] = St(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
  24369. if (ou(c[u >> 2] | 0) | 0) {
  24370. c[h >> 2] = c[u >> 2];
  24371. Q = c[h >> 2] | 0;
  24372. l = g;
  24373. return Q | 0;
  24374. }
  24375. c[u >> 2] = St(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
  24376. if (ou(c[u >> 2] | 0) | 0) {
  24377. c[h >> 2] = c[u >> 2];
  24378. Q = c[h >> 2] | 0;
  24379. l = g;
  24380. return Q | 0;
  24381. }
  24382. c[u >> 2] = St(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  24383. if (ou(c[u >> 2] | 0) | 0) {
  24384. c[h >> 2] = c[u >> 2];
  24385. Q = c[h >> 2] | 0;
  24386. l = g;
  24387. return Q | 0;
  24388. }
  24389. c[u >> 2] = St(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  24390. if (ou(c[u >> 2] | 0) | 0) {
  24391. c[h >> 2] = c[u >> 2];
  24392. Q = c[h >> 2] | 0;
  24393. l = g;
  24394. return Q | 0;
  24395. }
  24396. u = Ut(v) | 0;
  24397. C = u | (Ut(w) | 0);
  24398. u = C | (Ut(x) | 0);
  24399. c[P >> 2] = u | (Ut(y) | 0);
  24400. while (1) {
  24401. if (c[P >> 2] | 0) break;
  24402. if (
  24403. (c[O >> 2] | 0) >>> 0 >=
  24404. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  24405. )
  24406. break;
  24407. if (ru() | 0) {
  24408. u =
  24409. su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24410. c[L >> 2] = (c[L >> 2] | 0) + u;
  24411. }
  24412. if (ru() | 0) {
  24413. u =
  24414. su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24415. c[M >> 2] = (c[M >> 2] | 0) + u;
  24416. }
  24417. if (ru() | 0) {
  24418. u =
  24419. su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24420. c[N >> 2] = (c[N >> 2] | 0) + u;
  24421. }
  24422. if (ru() | 0) {
  24423. u =
  24424. su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24425. c[O >> 2] = (c[O >> 2] | 0) + u;
  24426. }
  24427. ru() | 0;
  24428. u = su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24429. c[L >> 2] = (c[L >> 2] | 0) + u;
  24430. ru() | 0;
  24431. u = su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24432. c[M >> 2] = (c[M >> 2] | 0) + u;
  24433. ru() | 0;
  24434. u = su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24435. c[N >> 2] = (c[N >> 2] | 0) + u;
  24436. ru() | 0;
  24437. u = su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24438. c[O >> 2] = (c[O >> 2] | 0) + u;
  24439. if (ru() | 0) {
  24440. u =
  24441. su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24442. c[L >> 2] = (c[L >> 2] | 0) + u;
  24443. }
  24444. if (ru() | 0) {
  24445. u =
  24446. su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24447. c[M >> 2] = (c[M >> 2] | 0) + u;
  24448. }
  24449. if (ru() | 0) {
  24450. u =
  24451. su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24452. c[N >> 2] = (c[N >> 2] | 0) + u;
  24453. }
  24454. if (ru() | 0) {
  24455. u =
  24456. su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24457. c[O >> 2] = (c[O >> 2] | 0) + u;
  24458. }
  24459. u = su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24460. c[L >> 2] = (c[L >> 2] | 0) + u;
  24461. u = su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24462. c[M >> 2] = (c[M >> 2] | 0) + u;
  24463. u = su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24464. c[N >> 2] = (c[N >> 2] | 0) + u;
  24465. u = su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  24466. c[O >> 2] = (c[O >> 2] | 0) + u;
  24467. u = Ut(v) | 0;
  24468. C = u | (Ut(w) | 0);
  24469. u = C | (Ut(x) | 0);
  24470. c[P >> 2] = u | (Ut(y) | 0);
  24471. }
  24472. if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
  24473. c[h >> 2] = -20;
  24474. Q = c[h >> 2] | 0;
  24475. l = g;
  24476. return Q | 0;
  24477. }
  24478. if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
  24479. c[h >> 2] = -20;
  24480. Q = c[h >> 2] | 0;
  24481. l = g;
  24482. return Q | 0;
  24483. }
  24484. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  24485. c[h >> 2] = -20;
  24486. Q = c[h >> 2] | 0;
  24487. l = g;
  24488. return Q | 0;
  24489. }
  24490. pu(
  24491. c[L >> 2] | 0,
  24492. v,
  24493. c[I >> 2] | 0,
  24494. c[s >> 2] | 0,
  24495. c[t >> 2] | 0
  24496. ) | 0;
  24497. pu(
  24498. c[M >> 2] | 0,
  24499. w,
  24500. c[J >> 2] | 0,
  24501. c[s >> 2] | 0,
  24502. c[t >> 2] | 0
  24503. ) | 0;
  24504. pu(
  24505. c[N >> 2] | 0,
  24506. x,
  24507. c[K >> 2] | 0,
  24508. c[s >> 2] | 0,
  24509. c[t >> 2] | 0
  24510. ) | 0;
  24511. pu(
  24512. c[O >> 2] | 0,
  24513. y,
  24514. c[q >> 2] | 0,
  24515. c[s >> 2] | 0,
  24516. c[t >> 2] | 0
  24517. ) | 0;
  24518. t = qu(v) | 0;
  24519. v = t & (qu(w) | 0);
  24520. w = v & (qu(x) | 0);
  24521. c[P >> 2] = w & (qu(y) | 0);
  24522. if (c[P >> 2] | 0) {
  24523. c[h >> 2] = c[j >> 2];
  24524. Q = c[h >> 2] | 0;
  24525. l = g;
  24526. return Q | 0;
  24527. } else {
  24528. c[h >> 2] = -20;
  24529. Q = c[h >> 2] | 0;
  24530. l = g;
  24531. return Q | 0;
  24532. }
  24533. return 0;
  24534. }
  24535. function zu(b, e, f, g, h, i, j) {
  24536. b = b | 0;
  24537. e = e | 0;
  24538. f = f | 0;
  24539. g = g | 0;
  24540. h = h | 0;
  24541. i = i | 0;
  24542. j = j | 0;
  24543. var k = 0,
  24544. m = 0,
  24545. n = 0,
  24546. o = 0,
  24547. p = 0,
  24548. q = 0,
  24549. r = 0,
  24550. s = 0,
  24551. t = 0,
  24552. u = 0,
  24553. v = 0,
  24554. w = 0,
  24555. x = 0,
  24556. y = 0,
  24557. z = 0,
  24558. A = 0,
  24559. B = 0,
  24560. C = 0,
  24561. D = 0,
  24562. E = 0,
  24563. F = 0,
  24564. G = 0;
  24565. k = l;
  24566. l = (l + 80) | 0;
  24567. m = (k + 72) | 0;
  24568. n = (k + 68) | 0;
  24569. o = (k + 64) | 0;
  24570. p = (k + 60) | 0;
  24571. q = (k + 56) | 0;
  24572. r = (k + 52) | 0;
  24573. s = (k + 48) | 0;
  24574. t = (k + 44) | 0;
  24575. u = (k + 40) | 0;
  24576. v = (k + 36) | 0;
  24577. w = (k + 32) | 0;
  24578. x = (k + 28) | 0;
  24579. y = (k + 24) | 0;
  24580. z = (k + 20) | 0;
  24581. A = (k + 16) | 0;
  24582. B = (k + 12) | 0;
  24583. C = (k + 8) | 0;
  24584. D = (k + 4) | 0;
  24585. E = k;
  24586. c[n >> 2] = b;
  24587. c[o >> 2] = e;
  24588. c[p >> 2] = f;
  24589. c[q >> 2] = g;
  24590. c[r >> 2] = h;
  24591. c[s >> 2] = i;
  24592. c[t >> 2] = j;
  24593. c[v >> 2] = c[s >> 2];
  24594. if (!(c[t >> 2] | 0)) {
  24595. c[m >> 2] = -72;
  24596. F = c[m >> 2] | 0;
  24597. l = k;
  24598. return F | 0;
  24599. }
  24600. c[w >> 2] = d[c[v >> 2] >> 0];
  24601. s = c[w >> 2] | 0;
  24602. a: do {
  24603. if ((c[w >> 2] | 0) >>> 0 < 128) {
  24604. if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  24605. c[m >> 2] = -72;
  24606. F = c[m >> 2] | 0;
  24607. l = k;
  24608. return F | 0;
  24609. }
  24610. c[x >> 2] =
  24611. Eu(
  24612. c[n >> 2] | 0,
  24613. ((c[o >> 2] | 0) - 1) | 0,
  24614. ((c[v >> 2] | 0) + 1) | 0,
  24615. c[w >> 2] | 0
  24616. ) | 0;
  24617. if (jr(c[x >> 2] | 0) | 0) {
  24618. c[m >> 2] = c[x >> 2];
  24619. F = c[m >> 2] | 0;
  24620. l = k;
  24621. return F | 0;
  24622. }
  24623. } else {
  24624. j = c[w >> 2] | 0;
  24625. if (s >>> 0 >= 242) {
  24626. c[x >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
  24627. oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
  24628. c[w >> 2] = 0;
  24629. break;
  24630. }
  24631. c[x >> 2] = j - 127;
  24632. c[w >> 2] = (((((c[x >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
  24633. if (
  24634. (((c[w >> 2] | 0) + 1) | 0) >>> 0 >
  24635. (c[t >> 2] | 0) >>> 0
  24636. ) {
  24637. c[m >> 2] = -72;
  24638. F = c[m >> 2] | 0;
  24639. l = k;
  24640. return F | 0;
  24641. }
  24642. if ((c[x >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
  24643. c[m >> 2] = -20;
  24644. F = c[m >> 2] | 0;
  24645. l = k;
  24646. return F | 0;
  24647. }
  24648. c[v >> 2] = (c[v >> 2] | 0) + 1;
  24649. c[y >> 2] = 0;
  24650. while (1) {
  24651. if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0)
  24652. break a;
  24653. a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] =
  24654. (d[
  24655. ((c[v >> 2] | 0) +
  24656. ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
  24657. 0
  24658. ] |
  24659. 0) >>
  24660. 4;
  24661. a[((c[n >> 2] | 0) + ((c[y >> 2] | 0) + 1)) >> 0] =
  24662. (d[
  24663. ((c[v >> 2] | 0) +
  24664. ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
  24665. 0
  24666. ] |
  24667. 0) &
  24668. 15;
  24669. c[y >> 2] = (c[y >> 2] | 0) + 2;
  24670. }
  24671. }
  24672. } while (0);
  24673. y = c[p >> 2] | 0;
  24674. v = (y + 68) | 0;
  24675. do {
  24676. c[y >> 2] = 0;
  24677. y = (y + 4) | 0;
  24678. } while ((y | 0) < (v | 0));
  24679. c[u >> 2] = 0;
  24680. c[z >> 2] = 0;
  24681. while (1) {
  24682. if ((c[z >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
  24683. if (
  24684. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
  24685. 16
  24686. ) {
  24687. G = 20;
  24688. break;
  24689. }
  24690. y =
  24691. ((c[p >> 2] | 0) +
  24692. ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
  24693. 2)) |
  24694. 0;
  24695. c[y >> 2] = (c[y >> 2] | 0) + 1;
  24696. c[u >> 2] =
  24697. (c[u >> 2] | 0) +
  24698. ((1 <<
  24699. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
  24700. 1);
  24701. c[z >> 2] = (c[z >> 2] | 0) + 1;
  24702. }
  24703. if ((G | 0) == 20) {
  24704. c[m >> 2] = -20;
  24705. F = c[m >> 2] | 0;
  24706. l = k;
  24707. return F | 0;
  24708. }
  24709. if (!(c[u >> 2] | 0)) {
  24710. c[m >> 2] = -20;
  24711. F = c[m >> 2] | 0;
  24712. l = k;
  24713. return F | 0;
  24714. }
  24715. c[A >> 2] = (fu(c[u >> 2] | 0) | 0) + 1;
  24716. if ((c[A >> 2] | 0) >>> 0 > 16) {
  24717. c[m >> 2] = -20;
  24718. F = c[m >> 2] | 0;
  24719. l = k;
  24720. return F | 0;
  24721. }
  24722. c[c[r >> 2] >> 2] = c[A >> 2];
  24723. c[B >> 2] = 1 << c[A >> 2];
  24724. c[C >> 2] = (c[B >> 2] | 0) - (c[u >> 2] | 0);
  24725. c[D >> 2] = 1 << (fu(c[C >> 2] | 0) | 0);
  24726. c[E >> 2] = (fu(c[C >> 2] | 0) | 0) + 1;
  24727. if ((c[D >> 2] | 0) != (c[C >> 2] | 0)) {
  24728. c[m >> 2] = -20;
  24729. F = c[m >> 2] | 0;
  24730. l = k;
  24731. return F | 0;
  24732. }
  24733. a[((c[n >> 2] | 0) + (c[x >> 2] | 0)) >> 0] = c[E >> 2];
  24734. n = ((c[p >> 2] | 0) + (c[E >> 2] << 2)) | 0;
  24735. c[n >> 2] = (c[n >> 2] | 0) + 1;
  24736. if (
  24737. (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
  24738. ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
  24739. : 0
  24740. ) {
  24741. c[c[q >> 2] >> 2] = (c[x >> 2] | 0) + 1;
  24742. c[m >> 2] = (c[w >> 2] | 0) + 1;
  24743. F = c[m >> 2] | 0;
  24744. l = k;
  24745. return F | 0;
  24746. }
  24747. c[m >> 2] = -20;
  24748. F = c[m >> 2] | 0;
  24749. l = k;
  24750. return F | 0;
  24751. }
  24752. function Au(e, f, g, h, i, j, k, m) {
  24753. e = e | 0;
  24754. f = f | 0;
  24755. g = g | 0;
  24756. h = h | 0;
  24757. i = i | 0;
  24758. j = j | 0;
  24759. k = k | 0;
  24760. m = m | 0;
  24761. var n = 0,
  24762. o = 0,
  24763. p = 0,
  24764. q = 0,
  24765. r = 0,
  24766. s = 0,
  24767. t = 0,
  24768. u = 0,
  24769. v = 0,
  24770. w = 0,
  24771. x = 0,
  24772. y = 0,
  24773. z = 0,
  24774. A = 0,
  24775. B = 0,
  24776. C = 0,
  24777. D = 0,
  24778. E = 0,
  24779. F = 0,
  24780. G = 0,
  24781. H = 0,
  24782. I = 0,
  24783. J = 0;
  24784. n = l;
  24785. l = (l + 160) | 0;
  24786. o = (n + 140) | 0;
  24787. p = (n + 136) | 0;
  24788. q = (n + 132) | 0;
  24789. r = (n + 128) | 0;
  24790. s = (n + 124) | 0;
  24791. t = (n + 120) | 0;
  24792. u = (n + 116) | 0;
  24793. v = (n + 112) | 0;
  24794. w = n;
  24795. x = (n + 108) | 0;
  24796. y = (n + 104) | 0;
  24797. z = (n + 100) | 0;
  24798. A = (n + 148) | 0;
  24799. B = (n + 96) | 0;
  24800. C = (n + 92) | 0;
  24801. D = (n + 88) | 0;
  24802. E = (n + 84) | 0;
  24803. F = (n + 80) | 0;
  24804. G = (n + 76) | 0;
  24805. H = (n + 144) | 0;
  24806. I = (n + 72) | 0;
  24807. J = (n + 68) | 0;
  24808. c[o >> 2] = e;
  24809. c[p >> 2] = f;
  24810. c[q >> 2] = g;
  24811. c[r >> 2] = h;
  24812. c[s >> 2] = i;
  24813. c[t >> 2] = j;
  24814. c[u >> 2] = k;
  24815. c[v >> 2] = m;
  24816. c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
  24817. c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  24818. u = w;
  24819. m = c[t >> 2] | 0;
  24820. k = (u + 68) | 0;
  24821. do {
  24822. c[u >> 2] = c[m >> 2];
  24823. u = (u + 4) | 0;
  24824. m = (m + 4) | 0;
  24825. } while ((u | 0) < (k | 0));
  24826. c[z >> 2] = 0;
  24827. while (1) {
  24828. if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
  24829. b[A >> 1] =
  24830. d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
  24831. c[B >> 2] =
  24832. d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
  24833. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  24834. c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
  24835. c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
  24836. a: do {
  24837. if (
  24838. (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
  24839. (c[y >> 2] | 0) >>> 0
  24840. ) {
  24841. m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
  24842. c[G >> 2] = m;
  24843. c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
  24844. c[F >> 2] =
  24845. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  24846. Bu(
  24847. ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
  24848. ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
  24849. c[C >> 2] | 0,
  24850. ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
  24851. c[G >> 2] | 0,
  24852. ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
  24853. ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
  24854. c[v >> 2] | 0,
  24855. b[A >> 1] | 0
  24856. );
  24857. } else {
  24858. Cu(H, b[A >> 1] | 0);
  24859. a[(H + 2) >> 0] = c[C >> 2];
  24860. a[(H + 3) >> 0] = 1;
  24861. c[J >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
  24862. c[I >> 2] = c[D >> 2];
  24863. while (1) {
  24864. if ((c[I >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
  24865. break a;
  24866. m = ((c[o >> 2] | 0) + (c[I >> 2] << 2)) | 0;
  24867. b[m >> 1] = b[H >> 1] | 0;
  24868. b[(m + 2) >> 1] = b[(H + 2) >> 1] | 0;
  24869. c[I >> 2] = (c[I >> 2] | 0) + 1;
  24870. }
  24871. }
  24872. } while (0);
  24873. m = (w + (c[B >> 2] << 2)) | 0;
  24874. c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
  24875. c[z >> 2] = (c[z >> 2] | 0) + 1;
  24876. }
  24877. l = n;
  24878. return;
  24879. }
  24880. function Bu(f, g, h, i, j, k, m, n, o) {
  24881. f = f | 0;
  24882. g = g | 0;
  24883. h = h | 0;
  24884. i = i | 0;
  24885. j = j | 0;
  24886. k = k | 0;
  24887. m = m | 0;
  24888. n = n | 0;
  24889. o = o | 0;
  24890. var p = 0,
  24891. q = 0,
  24892. r = 0,
  24893. s = 0,
  24894. t = 0,
  24895. u = 0,
  24896. v = 0,
  24897. w = 0,
  24898. x = 0,
  24899. y = 0,
  24900. z = 0,
  24901. A = 0,
  24902. B = 0,
  24903. C = 0,
  24904. D = 0,
  24905. E = 0,
  24906. F = 0,
  24907. G = 0,
  24908. H = 0,
  24909. I = 0,
  24910. J = 0,
  24911. K = 0;
  24912. p = l;
  24913. l = (l + 160) | 0;
  24914. q = (p + 136) | 0;
  24915. r = (p + 132) | 0;
  24916. s = (p + 128) | 0;
  24917. t = (p + 124) | 0;
  24918. u = (p + 120) | 0;
  24919. v = (p + 116) | 0;
  24920. w = (p + 112) | 0;
  24921. x = (p + 108) | 0;
  24922. y = (p + 144) | 0;
  24923. z = (p + 140) | 0;
  24924. A = p;
  24925. B = (p + 104) | 0;
  24926. C = (p + 100) | 0;
  24927. D = (p + 96) | 0;
  24928. E = (p + 92) | 0;
  24929. F = (p + 88) | 0;
  24930. G = (p + 84) | 0;
  24931. H = (p + 80) | 0;
  24932. I = (p + 76) | 0;
  24933. J = (p + 72) | 0;
  24934. K = (p + 68) | 0;
  24935. c[q >> 2] = f;
  24936. c[r >> 2] = g;
  24937. c[s >> 2] = h;
  24938. c[t >> 2] = i;
  24939. c[u >> 2] = j;
  24940. c[v >> 2] = k;
  24941. c[w >> 2] = m;
  24942. c[x >> 2] = n;
  24943. b[y >> 1] = o;
  24944. o = A;
  24945. n = c[t >> 2] | 0;
  24946. t = (o + 68) | 0;
  24947. do {
  24948. c[o >> 2] = c[n >> 2];
  24949. o = (o + 4) | 0;
  24950. n = (n + 4) | 0;
  24951. } while ((o | 0) < (t | 0));
  24952. a: do {
  24953. if ((c[u >> 2] | 0) > 1) {
  24954. c[C >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
  24955. Cu(z, b[y >> 1] | 0);
  24956. a[(z + 2) >> 0] = c[s >> 2];
  24957. a[(z + 3) >> 0] = 1;
  24958. c[B >> 2] = 0;
  24959. while (1) {
  24960. if ((c[B >> 2] | 0) >>> 0 >= (c[C >> 2] | 0) >>> 0)
  24961. break a;
  24962. n = ((c[q >> 2] | 0) + (c[B >> 2] << 2)) | 0;
  24963. b[n >> 1] = b[z >> 1] | 0;
  24964. b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
  24965. c[B >> 2] = (c[B >> 2] | 0) + 1;
  24966. }
  24967. }
  24968. } while (0);
  24969. c[D >> 2] = 0;
  24970. while (1) {
  24971. if ((c[D >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  24972. c[E >> 2] = d[((c[v >> 2] | 0) + (c[D >> 2] << 1)) >> 0];
  24973. c[F >> 2] =
  24974. d[((c[v >> 2] | 0) + (c[D >> 2] << 1) + 1) >> 0];
  24975. c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
  24976. c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
  24977. c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
  24978. c[J >> 2] = c[I >> 2];
  24979. c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  24980. Cu(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
  24981. a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
  24982. a[(z + 3) >> 0] = 2;
  24983. do {
  24984. B = c[q >> 2] | 0;
  24985. C = c[J >> 2] | 0;
  24986. c[J >> 2] = C + 1;
  24987. u = (B + (C << 2)) | 0;
  24988. b[u >> 1] = b[z >> 1] | 0;
  24989. b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
  24990. } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
  24991. u = (A + (c[F >> 2] << 2)) | 0;
  24992. c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
  24993. c[D >> 2] = (c[D >> 2] | 0) + 1;
  24994. }
  24995. l = p;
  24996. return;
  24997. }
  24998. function Cu(d, f) {
  24999. d = d | 0;
  25000. f = f | 0;
  25001. var g = 0,
  25002. h = 0,
  25003. i = 0,
  25004. j = 0;
  25005. g = l;
  25006. l = (l + 16) | 0;
  25007. h = (g + 4) | 0;
  25008. i = (g + 8) | 0;
  25009. j = g;
  25010. c[h >> 2] = d;
  25011. b[i >> 1] = f;
  25012. f = (Qq() | 0) != 0;
  25013. d = c[h >> 2] | 0;
  25014. if (f) {
  25015. Du(d, b[i >> 1] | 0);
  25016. l = g;
  25017. return;
  25018. } else {
  25019. c[j >> 2] = d;
  25020. a[c[j >> 2] >> 0] = b[i >> 1];
  25021. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  25022. l = g;
  25023. return;
  25024. }
  25025. }
  25026. function Du(d, e) {
  25027. d = d | 0;
  25028. e = e | 0;
  25029. var f = 0,
  25030. g = 0,
  25031. h = 0;
  25032. f = l;
  25033. l = (l + 16) | 0;
  25034. g = f;
  25035. h = (f + 4) | 0;
  25036. c[g >> 2] = d;
  25037. b[h >> 1] = e;
  25038. e = c[g >> 2] | 0;
  25039. a[e >> 0] = a[h >> 0] | 0;
  25040. a[(e + 1) >> 0] = a[(h + 1) >> 0] | 0;
  25041. l = f;
  25042. return;
  25043. }
  25044. function Eu(a, b, d, e) {
  25045. a = a | 0;
  25046. b = b | 0;
  25047. d = d | 0;
  25048. e = e | 0;
  25049. var f = 0,
  25050. g = 0,
  25051. h = 0,
  25052. i = 0,
  25053. j = 0,
  25054. k = 0,
  25055. m = 0,
  25056. n = 0,
  25057. o = 0,
  25058. p = 0,
  25059. q = 0,
  25060. r = 0,
  25061. s = 0,
  25062. t = 0,
  25063. u = 0;
  25064. f = l;
  25065. l = (l + 16960) | 0;
  25066. g = (f + 16952) | 0;
  25067. h = (f + 16948) | 0;
  25068. i = (f + 16944) | 0;
  25069. j = (f + 16940) | 0;
  25070. k = (f + 16936) | 0;
  25071. m = (f + 16932) | 0;
  25072. n = (f + 16928) | 0;
  25073. o = (f + 16400) | 0;
  25074. p = f;
  25075. q = (f + 16924) | 0;
  25076. r = (f + 16920) | 0;
  25077. s = (f + 16916) | 0;
  25078. t = (f + 16912) | 0;
  25079. c[h >> 2] = a;
  25080. c[i >> 2] = b;
  25081. c[j >> 2] = d;
  25082. c[k >> 2] = e;
  25083. c[m >> 2] = c[j >> 2];
  25084. c[n >> 2] = c[m >> 2];
  25085. c[r >> 2] = 255;
  25086. if ((c[k >> 2] | 0) >>> 0 < 2) {
  25087. c[g >> 2] = -72;
  25088. u = c[g >> 2] | 0;
  25089. l = f;
  25090. return u | 0;
  25091. }
  25092. c[s >> 2] = ju(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
  25093. m = (jr(c[s >> 2] | 0) | 0) != 0;
  25094. j = c[s >> 2] | 0;
  25095. if (m) {
  25096. c[g >> 2] = j;
  25097. u = c[g >> 2] | 0;
  25098. l = f;
  25099. return u | 0;
  25100. }
  25101. if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  25102. c[g >> 2] = -72;
  25103. u = c[g >> 2] | 0;
  25104. l = f;
  25105. return u | 0;
  25106. }
  25107. c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
  25108. c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
  25109. c[t >> 2] = iu(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
  25110. if (jr(c[t >> 2] | 0) | 0) {
  25111. c[g >> 2] = c[t >> 2];
  25112. u = c[g >> 2] | 0;
  25113. l = f;
  25114. return u | 0;
  25115. } else {
  25116. c[g >> 2] =
  25117. Fu(
  25118. c[h >> 2] | 0,
  25119. c[i >> 2] | 0,
  25120. c[n >> 2] | 0,
  25121. c[k >> 2] | 0,
  25122. p
  25123. ) | 0;
  25124. u = c[g >> 2] | 0;
  25125. l = f;
  25126. return u | 0;
  25127. }
  25128. return 0;
  25129. }
  25130. function Fu(b, d, f, g, h) {
  25131. b = b | 0;
  25132. d = d | 0;
  25133. f = f | 0;
  25134. g = g | 0;
  25135. h = h | 0;
  25136. var i = 0,
  25137. j = 0,
  25138. k = 0,
  25139. m = 0,
  25140. n = 0,
  25141. o = 0,
  25142. p = 0,
  25143. q = 0,
  25144. r = 0,
  25145. s = 0,
  25146. t = 0,
  25147. u = 0,
  25148. v = 0,
  25149. w = 0,
  25150. x = 0,
  25151. y = 0,
  25152. z = 0,
  25153. A = 0,
  25154. B = 0,
  25155. C = 0,
  25156. D = 0,
  25157. E = 0,
  25158. F = 0,
  25159. G = 0,
  25160. H = 0,
  25161. I = 0,
  25162. J = 0,
  25163. K = 0,
  25164. L = 0,
  25165. M = 0,
  25166. N = 0,
  25167. O = 0,
  25168. P = 0,
  25169. Q = 0,
  25170. R = 0,
  25171. S = 0,
  25172. T = 0,
  25173. U = 0,
  25174. V = 0,
  25175. W = 0,
  25176. X = 0,
  25177. Y = 0,
  25178. Z = 0,
  25179. _ = 0,
  25180. $ = 0,
  25181. aa = 0,
  25182. ba = 0,
  25183. ca = 0,
  25184. da = 0,
  25185. ea = 0,
  25186. fa = 0,
  25187. ga = 0,
  25188. ha = 0,
  25189. ia = 0,
  25190. ja = 0,
  25191. ka = 0,
  25192. la = 0,
  25193. ma = 0;
  25194. i = l;
  25195. l = (l + 208) | 0;
  25196. j = (i + 192) | 0;
  25197. k = (i + 188) | 0;
  25198. m = (i + 184) | 0;
  25199. n = (i + 180) | 0;
  25200. o = (i + 176) | 0;
  25201. p = (i + 172) | 0;
  25202. q = (i + 168) | 0;
  25203. r = (i + 164) | 0;
  25204. s = (i + 160) | 0;
  25205. t = (i + 156) | 0;
  25206. u = (i + 152) | 0;
  25207. v = (i + 136) | 0;
  25208. w = (i + 128) | 0;
  25209. x = (i + 120) | 0;
  25210. y = (i + 116) | 0;
  25211. z = (i + 112) | 0;
  25212. A = (i + 108) | 0;
  25213. B = (i + 104) | 0;
  25214. C = (i + 100) | 0;
  25215. D = (i + 96) | 0;
  25216. E = (i + 92) | 0;
  25217. F = (i + 88) | 0;
  25218. G = (i + 84) | 0;
  25219. H = (i + 80) | 0;
  25220. I = (i + 76) | 0;
  25221. J = (i + 72) | 0;
  25222. K = (i + 56) | 0;
  25223. L = (i + 48) | 0;
  25224. M = (i + 40) | 0;
  25225. N = (i + 36) | 0;
  25226. O = (i + 32) | 0;
  25227. P = (i + 28) | 0;
  25228. Q = (i + 24) | 0;
  25229. R = (i + 20) | 0;
  25230. S = (i + 16) | 0;
  25231. T = (i + 12) | 0;
  25232. U = (i + 8) | 0;
  25233. V = (i + 4) | 0;
  25234. W = i;
  25235. c[P >> 2] = b;
  25236. c[Q >> 2] = d;
  25237. c[R >> 2] = f;
  25238. c[S >> 2] = g;
  25239. c[T >> 2] = h;
  25240. c[U >> 2] = c[T >> 2];
  25241. c[V >> 2] = c[U >> 2];
  25242. c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
  25243. V = c[P >> 2] | 0;
  25244. P = c[Q >> 2] | 0;
  25245. Q = c[R >> 2] | 0;
  25246. R = c[S >> 2] | 0;
  25247. S = c[T >> 2] | 0;
  25248. if (c[W >> 2] | 0) {
  25249. c[A >> 2] = V;
  25250. c[B >> 2] = P;
  25251. c[C >> 2] = Q;
  25252. c[D >> 2] = R;
  25253. c[E >> 2] = S;
  25254. c[F >> 2] = 1;
  25255. c[G >> 2] = c[A >> 2];
  25256. c[H >> 2] = c[G >> 2];
  25257. c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
  25258. c[J >> 2] = (c[I >> 2] | 0) + -3;
  25259. c[N >> 2] = St(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
  25260. do {
  25261. if (jr(c[N >> 2] | 0) | 0) c[z >> 2] = c[N >> 2];
  25262. else {
  25263. Tt(L, K, c[E >> 2] | 0);
  25264. Tt(M, K, c[E >> 2] | 0);
  25265. while (1) {
  25266. if (Ut(K) | 0) break;
  25267. if ((c[H >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
  25268. break;
  25269. if (c[F >> 2] | 0) X = (Gu(L, K) | 0) & 255;
  25270. else X = (Hu(L, K) | 0) & 255;
  25271. a[c[H >> 2] >> 0] = X;
  25272. if (c[F >> 2] | 0) Y = (Gu(M, K) | 0) & 255;
  25273. else Y = (Hu(M, K) | 0) & 255;
  25274. a[((c[H >> 2] | 0) + 1) >> 0] = Y;
  25275. if ((Ut(K) | 0) >>> 0 > 0) {
  25276. Z = 14;
  25277. break;
  25278. }
  25279. if (c[F >> 2] | 0) _ = (Gu(L, K) | 0) & 255;
  25280. else _ = (Hu(L, K) | 0) & 255;
  25281. a[((c[H >> 2] | 0) + 2) >> 0] = _;
  25282. if (c[F >> 2] | 0) $ = (Gu(M, K) | 0) & 255;
  25283. else $ = (Hu(M, K) | 0) & 255;
  25284. a[((c[H >> 2] | 0) + 3) >> 0] = $;
  25285. c[H >> 2] = (c[H >> 2] | 0) + 4;
  25286. }
  25287. if ((Z | 0) == 14) c[H >> 2] = (c[H >> 2] | 0) + 2;
  25288. while (1) {
  25289. if (
  25290. (c[H >> 2] | 0) >>> 0 >
  25291. (((c[I >> 2] | 0) + -2) | 0) >>> 0
  25292. ) {
  25293. Z = 24;
  25294. break;
  25295. }
  25296. if (c[F >> 2] | 0) aa = (Gu(L, K) | 0) & 255;
  25297. else aa = (Hu(L, K) | 0) & 255;
  25298. D = c[H >> 2] | 0;
  25299. c[H >> 2] = D + 1;
  25300. a[D >> 0] = aa;
  25301. if ((Ut(K) | 0) == 3) {
  25302. Z = 29;
  25303. break;
  25304. }
  25305. if (
  25306. (c[H >> 2] | 0) >>> 0 >
  25307. (((c[I >> 2] | 0) + -2) | 0) >>> 0
  25308. ) {
  25309. Z = 34;
  25310. break;
  25311. }
  25312. if (c[F >> 2] | 0) ba = (Gu(M, K) | 0) & 255;
  25313. else ba = (Hu(M, K) | 0) & 255;
  25314. D = c[H >> 2] | 0;
  25315. c[H >> 2] = D + 1;
  25316. a[D >> 0] = ba;
  25317. if ((Ut(K) | 0) == 3) {
  25318. Z = 39;
  25319. break;
  25320. }
  25321. }
  25322. if ((Z | 0) == 24) {
  25323. c[z >> 2] = -70;
  25324. break;
  25325. } else if ((Z | 0) == 29) {
  25326. if (c[F >> 2] | 0) ca = (Gu(M, K) | 0) & 255;
  25327. else ca = (Hu(M, K) | 0) & 255;
  25328. D = c[H >> 2] | 0;
  25329. c[H >> 2] = D + 1;
  25330. a[D >> 0] = ca;
  25331. } else if ((Z | 0) == 34) {
  25332. c[z >> 2] = -70;
  25333. break;
  25334. } else if ((Z | 0) == 39) {
  25335. if (c[F >> 2] | 0) da = (Gu(L, K) | 0) & 255;
  25336. else da = (Hu(L, K) | 0) & 255;
  25337. D = c[H >> 2] | 0;
  25338. c[H >> 2] = D + 1;
  25339. a[D >> 0] = da;
  25340. }
  25341. c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
  25342. }
  25343. } while (0);
  25344. c[O >> 2] = c[z >> 2];
  25345. ea = c[O >> 2] | 0;
  25346. l = i;
  25347. return ea | 0;
  25348. } else {
  25349. c[k >> 2] = V;
  25350. c[m >> 2] = P;
  25351. c[n >> 2] = Q;
  25352. c[o >> 2] = R;
  25353. c[p >> 2] = S;
  25354. c[q >> 2] = 0;
  25355. c[r >> 2] = c[k >> 2];
  25356. c[s >> 2] = c[r >> 2];
  25357. c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
  25358. c[u >> 2] = (c[t >> 2] | 0) + -3;
  25359. c[y >> 2] = St(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
  25360. do {
  25361. if (jr(c[y >> 2] | 0) | 0) c[j >> 2] = c[y >> 2];
  25362. else {
  25363. Tt(w, v, c[p >> 2] | 0);
  25364. Tt(x, v, c[p >> 2] | 0);
  25365. while (1) {
  25366. if (Ut(v) | 0) break;
  25367. if ((c[s >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0)
  25368. break;
  25369. if (c[q >> 2] | 0) fa = (Gu(w, v) | 0) & 255;
  25370. else fa = (Hu(w, v) | 0) & 255;
  25371. a[c[s >> 2] >> 0] = fa;
  25372. if (c[q >> 2] | 0) ga = (Gu(x, v) | 0) & 255;
  25373. else ga = (Hu(x, v) | 0) & 255;
  25374. a[((c[s >> 2] | 0) + 1) >> 0] = ga;
  25375. if ((Ut(v) | 0) >>> 0 > 0) {
  25376. Z = 58;
  25377. break;
  25378. }
  25379. if (c[q >> 2] | 0) ha = (Gu(w, v) | 0) & 255;
  25380. else ha = (Hu(w, v) | 0) & 255;
  25381. a[((c[s >> 2] | 0) + 2) >> 0] = ha;
  25382. if (c[q >> 2] | 0) ia = (Gu(x, v) | 0) & 255;
  25383. else ia = (Hu(x, v) | 0) & 255;
  25384. a[((c[s >> 2] | 0) + 3) >> 0] = ia;
  25385. c[s >> 2] = (c[s >> 2] | 0) + 4;
  25386. }
  25387. if ((Z | 0) == 58) c[s >> 2] = (c[s >> 2] | 0) + 2;
  25388. while (1) {
  25389. if (
  25390. (c[s >> 2] | 0) >>> 0 >
  25391. (((c[t >> 2] | 0) + -2) | 0) >>> 0
  25392. ) {
  25393. Z = 68;
  25394. break;
  25395. }
  25396. if (c[q >> 2] | 0) ja = (Gu(w, v) | 0) & 255;
  25397. else ja = (Hu(w, v) | 0) & 255;
  25398. o = c[s >> 2] | 0;
  25399. c[s >> 2] = o + 1;
  25400. a[o >> 0] = ja;
  25401. if ((Ut(v) | 0) == 3) {
  25402. Z = 73;
  25403. break;
  25404. }
  25405. if (
  25406. (c[s >> 2] | 0) >>> 0 >
  25407. (((c[t >> 2] | 0) + -2) | 0) >>> 0
  25408. ) {
  25409. Z = 78;
  25410. break;
  25411. }
  25412. if (c[q >> 2] | 0) ka = (Gu(x, v) | 0) & 255;
  25413. else ka = (Hu(x, v) | 0) & 255;
  25414. o = c[s >> 2] | 0;
  25415. c[s >> 2] = o + 1;
  25416. a[o >> 0] = ka;
  25417. if ((Ut(v) | 0) == 3) {
  25418. Z = 83;
  25419. break;
  25420. }
  25421. }
  25422. if ((Z | 0) == 68) {
  25423. c[j >> 2] = -70;
  25424. break;
  25425. } else if ((Z | 0) == 73) {
  25426. if (c[q >> 2] | 0) la = (Gu(x, v) | 0) & 255;
  25427. else la = (Hu(x, v) | 0) & 255;
  25428. o = c[s >> 2] | 0;
  25429. c[s >> 2] = o + 1;
  25430. a[o >> 0] = la;
  25431. } else if ((Z | 0) == 78) {
  25432. c[j >> 2] = -70;
  25433. break;
  25434. } else if ((Z | 0) == 83) {
  25435. if (c[q >> 2] | 0) ma = (Gu(w, v) | 0) & 255;
  25436. else ma = (Hu(w, v) | 0) & 255;
  25437. o = c[s >> 2] | 0;
  25438. c[s >> 2] = o + 1;
  25439. a[o >> 0] = ma;
  25440. }
  25441. c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  25442. }
  25443. } while (0);
  25444. c[O >> 2] = c[j >> 2];
  25445. ea = c[O >> 2] | 0;
  25446. l = i;
  25447. return ea | 0;
  25448. }
  25449. return 0;
  25450. }
  25451. function Gu(f, g) {
  25452. f = f | 0;
  25453. g = g | 0;
  25454. var h = 0,
  25455. i = 0,
  25456. j = 0,
  25457. k = 0,
  25458. m = 0,
  25459. n = 0,
  25460. o = 0;
  25461. h = l;
  25462. l = (l + 32) | 0;
  25463. i = (h + 12) | 0;
  25464. j = (h + 8) | 0;
  25465. k = (h + 16) | 0;
  25466. m = (h + 4) | 0;
  25467. n = (h + 20) | 0;
  25468. o = h;
  25469. c[i >> 2] = f;
  25470. c[j >> 2] = g;
  25471. g =
  25472. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  25473. (c[c[i >> 2] >> 2] << 2)) |
  25474. 0;
  25475. b[k >> 1] = b[g >> 1] | 0;
  25476. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  25477. c[m >> 2] = d[(k + 3) >> 0];
  25478. a[n >> 0] = a[(k + 2) >> 0] | 0;
  25479. c[o >> 2] = Iu(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  25480. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  25481. l = h;
  25482. return a[n >> 0] | 0;
  25483. }
  25484. function Hu(f, g) {
  25485. f = f | 0;
  25486. g = g | 0;
  25487. var h = 0,
  25488. i = 0,
  25489. j = 0,
  25490. k = 0,
  25491. m = 0,
  25492. n = 0,
  25493. o = 0;
  25494. h = l;
  25495. l = (l + 32) | 0;
  25496. i = (h + 12) | 0;
  25497. j = (h + 8) | 0;
  25498. k = (h + 16) | 0;
  25499. m = (h + 4) | 0;
  25500. n = (h + 20) | 0;
  25501. o = h;
  25502. c[i >> 2] = f;
  25503. c[j >> 2] = g;
  25504. g =
  25505. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  25506. (c[c[i >> 2] >> 2] << 2)) |
  25507. 0;
  25508. b[k >> 1] = b[g >> 1] | 0;
  25509. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  25510. c[m >> 2] = d[(k + 3) >> 0];
  25511. a[n >> 0] = a[(k + 2) >> 0] | 0;
  25512. c[o >> 2] = $t(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  25513. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  25514. l = h;
  25515. return a[n >> 0] | 0;
  25516. }
  25517. function Iu(a, b) {
  25518. a = a | 0;
  25519. b = b | 0;
  25520. var d = 0,
  25521. e = 0,
  25522. f = 0,
  25523. g = 0;
  25524. d = l;
  25525. l = (l + 16) | 0;
  25526. e = (d + 8) | 0;
  25527. f = (d + 4) | 0;
  25528. g = d;
  25529. c[e >> 2] = a;
  25530. c[f >> 2] = b;
  25531. c[g >> 2] = uu(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  25532. du(c[e >> 2] | 0, c[f >> 2] | 0);
  25533. l = d;
  25534. return c[g >> 2] | 0;
  25535. }
  25536. function Ju(f, g, h) {
  25537. f = f | 0;
  25538. g = g | 0;
  25539. h = h | 0;
  25540. var i = 0,
  25541. j = 0,
  25542. k = 0,
  25543. m = 0,
  25544. n = 0,
  25545. o = 0,
  25546. p = 0,
  25547. q = 0,
  25548. r = 0,
  25549. s = 0,
  25550. t = 0,
  25551. u = 0,
  25552. v = 0,
  25553. w = 0,
  25554. x = 0,
  25555. y = 0,
  25556. z = 0,
  25557. A = 0,
  25558. B = 0,
  25559. C = 0;
  25560. i = l;
  25561. l = (l + 400) | 0;
  25562. j = (i + 392) | 0;
  25563. k = (i + 388) | 0;
  25564. m = (i + 384) | 0;
  25565. n = (i + 380) | 0;
  25566. o = (i + 80) | 0;
  25567. p = i;
  25568. q = (i + 376) | 0;
  25569. r = (i + 372) | 0;
  25570. s = (i + 368) | 0;
  25571. t = (i + 364) | 0;
  25572. u = (i + 360) | 0;
  25573. v = (i + 356) | 0;
  25574. w = (i + 352) | 0;
  25575. x = (i + 348) | 0;
  25576. y = (i + 344) | 0;
  25577. z = (i + 340) | 0;
  25578. A = (i + 336) | 0;
  25579. B = (i + 396) | 0;
  25580. c[k >> 2] = f;
  25581. c[m >> 2] = g;
  25582. c[n >> 2] = h;
  25583. c[q >> 2] = 0;
  25584. c[s >> 2] = 0;
  25585. c[v >> 2] = (c[k >> 2] | 0) + 2;
  25586. c[w >> 2] = c[v >> 2];
  25587. c[r >> 2] =
  25588. zu(o, 256, p, s, q, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  25589. if (ou(c[r >> 2] | 0) | 0) {
  25590. c[j >> 2] = c[r >> 2];
  25591. C = c[j >> 2] | 0;
  25592. l = i;
  25593. return C | 0;
  25594. }
  25595. if ((c[q >> 2] | 0) >>> 0 > (e[c[k >> 2] >> 1] | 0) >>> 0) {
  25596. c[j >> 2] = -44;
  25597. C = c[j >> 2] | 0;
  25598. l = i;
  25599. return C | 0;
  25600. }
  25601. b[c[k >> 2] >> 1] = c[q >> 2];
  25602. c[u >> 2] = 0;
  25603. c[t >> 2] = 1;
  25604. while (1) {
  25605. if (
  25606. (c[t >> 2] | 0) >>> 0 >=
  25607. (((c[q >> 2] | 0) + 1) | 0) >>> 0
  25608. )
  25609. break;
  25610. c[x >> 2] = c[u >> 2];
  25611. c[u >> 2] =
  25612. (c[u >> 2] | 0) +
  25613. (c[(p + (c[t >> 2] << 2)) >> 2] << ((c[t >> 2] | 0) - 1));
  25614. c[(p + (c[t >> 2] << 2)) >> 2] = c[x >> 2];
  25615. c[t >> 2] = (c[t >> 2] | 0) + 1;
  25616. }
  25617. c[t >> 2] = 0;
  25618. while (1) {
  25619. if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  25620. c[y >> 2] = d[(o + (c[t >> 2] | 0)) >> 0];
  25621. c[z >> 2] = (1 << c[y >> 2]) >> 1;
  25622. a[B >> 0] = c[t >> 2];
  25623. a[(B + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[y >> 2] | 0);
  25624. c[A >> 2] = c[(p + (c[y >> 2] << 2)) >> 2];
  25625. while (1) {
  25626. if (
  25627. (c[A >> 2] | 0) >>> 0 >=
  25628. (((c[(p + (c[y >> 2] << 2)) >> 2] | 0) +
  25629. (c[z >> 2] | 0)) |
  25630. 0) >>>
  25631. 0
  25632. )
  25633. break;
  25634. x = ((c[w >> 2] | 0) + (c[A >> 2] << 1)) | 0;
  25635. a[x >> 0] = a[B >> 0] | 0;
  25636. a[(x + 1) >> 0] = a[(B + 1) >> 0] | 0;
  25637. c[A >> 2] = (c[A >> 2] | 0) + 1;
  25638. }
  25639. x = (p + (c[y >> 2] << 2)) | 0;
  25640. c[x >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
  25641. c[t >> 2] = (c[t >> 2] | 0) + 1;
  25642. }
  25643. c[j >> 2] = c[r >> 2];
  25644. C = c[j >> 2] | 0;
  25645. l = i;
  25646. return C | 0;
  25647. }
  25648. function Ku(b, d, f, g, h) {
  25649. b = b | 0;
  25650. d = d | 0;
  25651. f = f | 0;
  25652. g = g | 0;
  25653. h = h | 0;
  25654. var i = 0,
  25655. j = 0,
  25656. k = 0,
  25657. m = 0,
  25658. n = 0,
  25659. o = 0,
  25660. p = 0,
  25661. q = 0,
  25662. r = 0,
  25663. s = 0,
  25664. t = 0,
  25665. u = 0,
  25666. v = 0,
  25667. w = 0,
  25668. x = 0,
  25669. y = 0,
  25670. z = 0,
  25671. A = 0,
  25672. B = 0,
  25673. C = 0,
  25674. D = 0,
  25675. E = 0,
  25676. F = 0,
  25677. G = 0,
  25678. H = 0,
  25679. I = 0,
  25680. J = 0,
  25681. K = 0,
  25682. L = 0,
  25683. M = 0,
  25684. N = 0,
  25685. O = 0,
  25686. P = 0,
  25687. Q = 0,
  25688. R = 0,
  25689. S = 0;
  25690. i = l;
  25691. l = (l + 192) | 0;
  25692. j = (i + 184) | 0;
  25693. k = (i + 180) | 0;
  25694. m = (i + 176) | 0;
  25695. n = (i + 172) | 0;
  25696. o = (i + 168) | 0;
  25697. p = (i + 164) | 0;
  25698. q = (i + 160) | 0;
  25699. r = (i + 156) | 0;
  25700. s = (i + 152) | 0;
  25701. t = (i + 148) | 0;
  25702. u = (i + 144) | 0;
  25703. v = (i + 140) | 0;
  25704. w = (i + 136) | 0;
  25705. x = (i + 120) | 0;
  25706. y = (i + 104) | 0;
  25707. z = (i + 88) | 0;
  25708. A = (i + 72) | 0;
  25709. B = (i + 64) | 0;
  25710. C = (i + 60) | 0;
  25711. D = (i + 56) | 0;
  25712. E = (i + 52) | 0;
  25713. F = (i + 48) | 0;
  25714. G = (i + 44) | 0;
  25715. H = (i + 40) | 0;
  25716. I = (i + 36) | 0;
  25717. J = (i + 32) | 0;
  25718. K = (i + 28) | 0;
  25719. L = (i + 24) | 0;
  25720. M = (i + 20) | 0;
  25721. N = (i + 16) | 0;
  25722. O = (i + 12) | 0;
  25723. P = (i + 8) | 0;
  25724. Q = (i + 4) | 0;
  25725. R = i;
  25726. c[k >> 2] = b;
  25727. c[m >> 2] = d;
  25728. c[n >> 2] = f;
  25729. c[o >> 2] = g;
  25730. c[p >> 2] = h;
  25731. if ((c[o >> 2] | 0) >>> 0 < 10) {
  25732. c[j >> 2] = -20;
  25733. S = c[j >> 2] | 0;
  25734. l = i;
  25735. return S | 0;
  25736. }
  25737. c[q >> 2] = c[n >> 2];
  25738. c[r >> 2] = c[k >> 2];
  25739. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  25740. c[t >> 2] = c[p >> 2];
  25741. c[u >> 2] = (c[t >> 2] | 0) + 2;
  25742. c[v >> 2] = e[c[p >> 2] >> 1];
  25743. c[B >> 2] = (Oq(c[q >> 2] | 0) | 0) & 65535;
  25744. c[C >> 2] = (Oq(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
  25745. c[D >> 2] = (Oq(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
  25746. c[F >> 2] = (c[q >> 2] | 0) + 6;
  25747. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  25748. c[H >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
  25749. c[I >> 2] = (c[H >> 2] | 0) + (c[D >> 2] | 0);
  25750. c[J >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  25751. c[K >> 2] = (c[r >> 2] | 0) + (c[J >> 2] | 0);
  25752. c[L >> 2] = (c[K >> 2] | 0) + (c[J >> 2] | 0);
  25753. c[M >> 2] = (c[L >> 2] | 0) + (c[J >> 2] | 0);
  25754. c[N >> 2] = c[r >> 2];
  25755. c[O >> 2] = c[K >> 2];
  25756. c[P >> 2] = c[L >> 2];
  25757. c[Q >> 2] = c[M >> 2];
  25758. c[E >> 2] =
  25759. (c[o >> 2] | 0) -
  25760. ((c[B >> 2] | 0) + (c[C >> 2] | 0) + (c[D >> 2] | 0) + 6);
  25761. if ((c[E >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  25762. c[j >> 2] = -20;
  25763. S = c[j >> 2] | 0;
  25764. l = i;
  25765. return S | 0;
  25766. }
  25767. c[w >> 2] = St(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  25768. if (ou(c[w >> 2] | 0) | 0) {
  25769. c[j >> 2] = c[w >> 2];
  25770. S = c[j >> 2] | 0;
  25771. l = i;
  25772. return S | 0;
  25773. }
  25774. c[w >> 2] = St(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  25775. if (ou(c[w >> 2] | 0) | 0) {
  25776. c[j >> 2] = c[w >> 2];
  25777. S = c[j >> 2] | 0;
  25778. l = i;
  25779. return S | 0;
  25780. }
  25781. c[w >> 2] = St(z, c[H >> 2] | 0, c[D >> 2] | 0) | 0;
  25782. if (ou(c[w >> 2] | 0) | 0) {
  25783. c[j >> 2] = c[w >> 2];
  25784. S = c[j >> 2] | 0;
  25785. l = i;
  25786. return S | 0;
  25787. }
  25788. c[w >> 2] = St(A, c[I >> 2] | 0, c[E >> 2] | 0) | 0;
  25789. if (ou(c[w >> 2] | 0) | 0) {
  25790. c[j >> 2] = c[w >> 2];
  25791. S = c[j >> 2] | 0;
  25792. l = i;
  25793. return S | 0;
  25794. }
  25795. w = Ut(x) | 0;
  25796. E = w | (Ut(y) | 0);
  25797. w = E | (Ut(z) | 0);
  25798. c[R >> 2] = w | (Ut(A) | 0);
  25799. while (1) {
  25800. if (c[R >> 2] | 0) break;
  25801. if (
  25802. (c[Q >> 2] | 0) >>> 0 >=
  25803. (((c[s >> 2] | 0) + -7) | 0) >>> 0
  25804. )
  25805. break;
  25806. if (ru() | 0) {
  25807. w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25808. E = c[N >> 2] | 0;
  25809. c[N >> 2] = E + 1;
  25810. a[E >> 0] = w;
  25811. }
  25812. if (ru() | 0) {
  25813. w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25814. E = c[O >> 2] | 0;
  25815. c[O >> 2] = E + 1;
  25816. a[E >> 0] = w;
  25817. }
  25818. if (ru() | 0) {
  25819. w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25820. E = c[P >> 2] | 0;
  25821. c[P >> 2] = E + 1;
  25822. a[E >> 0] = w;
  25823. }
  25824. if (ru() | 0) {
  25825. w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25826. E = c[Q >> 2] | 0;
  25827. c[Q >> 2] = E + 1;
  25828. a[E >> 0] = w;
  25829. }
  25830. ru() | 0;
  25831. w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25832. E = c[N >> 2] | 0;
  25833. c[N >> 2] = E + 1;
  25834. a[E >> 0] = w;
  25835. ru() | 0;
  25836. w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25837. E = c[O >> 2] | 0;
  25838. c[O >> 2] = E + 1;
  25839. a[E >> 0] = w;
  25840. ru() | 0;
  25841. w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25842. E = c[P >> 2] | 0;
  25843. c[P >> 2] = E + 1;
  25844. a[E >> 0] = w;
  25845. ru() | 0;
  25846. w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25847. E = c[Q >> 2] | 0;
  25848. c[Q >> 2] = E + 1;
  25849. a[E >> 0] = w;
  25850. if (ru() | 0) {
  25851. w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25852. E = c[N >> 2] | 0;
  25853. c[N >> 2] = E + 1;
  25854. a[E >> 0] = w;
  25855. }
  25856. if (ru() | 0) {
  25857. w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25858. E = c[O >> 2] | 0;
  25859. c[O >> 2] = E + 1;
  25860. a[E >> 0] = w;
  25861. }
  25862. if (ru() | 0) {
  25863. w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25864. E = c[P >> 2] | 0;
  25865. c[P >> 2] = E + 1;
  25866. a[E >> 0] = w;
  25867. }
  25868. if (ru() | 0) {
  25869. w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25870. E = c[Q >> 2] | 0;
  25871. c[Q >> 2] = E + 1;
  25872. a[E >> 0] = w;
  25873. }
  25874. w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25875. E = c[N >> 2] | 0;
  25876. c[N >> 2] = E + 1;
  25877. a[E >> 0] = w;
  25878. w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25879. E = c[O >> 2] | 0;
  25880. c[O >> 2] = E + 1;
  25881. a[E >> 0] = w;
  25882. w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25883. E = c[P >> 2] | 0;
  25884. c[P >> 2] = E + 1;
  25885. a[E >> 0] = w;
  25886. w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  25887. E = c[Q >> 2] | 0;
  25888. c[Q >> 2] = E + 1;
  25889. a[E >> 0] = w;
  25890. w = Ut(x) | 0;
  25891. E = w | (Ut(y) | 0);
  25892. w = E | (Ut(z) | 0);
  25893. c[R >> 2] = w | (Ut(A) | 0);
  25894. }
  25895. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  25896. c[j >> 2] = -20;
  25897. S = c[j >> 2] | 0;
  25898. l = i;
  25899. return S | 0;
  25900. }
  25901. if ((c[O >> 2] | 0) >>> 0 > (c[L >> 2] | 0) >>> 0) {
  25902. c[j >> 2] = -20;
  25903. S = c[j >> 2] | 0;
  25904. l = i;
  25905. return S | 0;
  25906. }
  25907. if ((c[P >> 2] | 0) >>> 0 > (c[M >> 2] | 0) >>> 0) {
  25908. c[j >> 2] = -20;
  25909. S = c[j >> 2] | 0;
  25910. l = i;
  25911. return S | 0;
  25912. }
  25913. Mu(
  25914. c[N >> 2] | 0,
  25915. x,
  25916. c[K >> 2] | 0,
  25917. c[u >> 2] | 0,
  25918. c[v >> 2] | 0
  25919. ) | 0;
  25920. Mu(
  25921. c[O >> 2] | 0,
  25922. y,
  25923. c[L >> 2] | 0,
  25924. c[u >> 2] | 0,
  25925. c[v >> 2] | 0
  25926. ) | 0;
  25927. Mu(
  25928. c[P >> 2] | 0,
  25929. z,
  25930. c[M >> 2] | 0,
  25931. c[u >> 2] | 0,
  25932. c[v >> 2] | 0
  25933. ) | 0;
  25934. Mu(
  25935. c[Q >> 2] | 0,
  25936. A,
  25937. c[s >> 2] | 0,
  25938. c[u >> 2] | 0,
  25939. c[v >> 2] | 0
  25940. ) | 0;
  25941. v = qu(x) | 0;
  25942. x = v & (qu(y) | 0);
  25943. y = x & (qu(z) | 0);
  25944. c[R >> 2] = y & (qu(A) | 0);
  25945. if (c[R >> 2] | 0) {
  25946. c[j >> 2] = c[m >> 2];
  25947. S = c[j >> 2] | 0;
  25948. l = i;
  25949. return S | 0;
  25950. } else {
  25951. c[j >> 2] = -20;
  25952. S = c[j >> 2] | 0;
  25953. l = i;
  25954. return S | 0;
  25955. }
  25956. return 0;
  25957. }
  25958. function Lu(b, e, f) {
  25959. b = b | 0;
  25960. e = e | 0;
  25961. f = f | 0;
  25962. var g = 0,
  25963. h = 0,
  25964. i = 0,
  25965. j = 0,
  25966. k = 0,
  25967. m = 0;
  25968. g = l;
  25969. l = (l + 32) | 0;
  25970. h = (g + 12) | 0;
  25971. i = (g + 8) | 0;
  25972. j = (g + 4) | 0;
  25973. k = g;
  25974. m = (g + 16) | 0;
  25975. c[h >> 2] = b;
  25976. c[i >> 2] = e;
  25977. c[j >> 2] = f;
  25978. c[k >> 2] = uu(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
  25979. a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
  25980. du(
  25981. c[h >> 2] | 0,
  25982. d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
  25983. );
  25984. l = g;
  25985. return a[m >> 0] | 0;
  25986. }
  25987. function Mu(b, d, e, f, g) {
  25988. b = b | 0;
  25989. d = d | 0;
  25990. e = e | 0;
  25991. f = f | 0;
  25992. g = g | 0;
  25993. var h = 0,
  25994. i = 0,
  25995. j = 0,
  25996. k = 0,
  25997. m = 0,
  25998. n = 0,
  25999. o = 0;
  26000. h = l;
  26001. l = (l + 32) | 0;
  26002. i = (h + 20) | 0;
  26003. j = (h + 16) | 0;
  26004. k = (h + 12) | 0;
  26005. m = (h + 8) | 0;
  26006. n = (h + 4) | 0;
  26007. o = h;
  26008. c[i >> 2] = b;
  26009. c[j >> 2] = d;
  26010. c[k >> 2] = e;
  26011. c[m >> 2] = f;
  26012. c[n >> 2] = g;
  26013. c[o >> 2] = c[i >> 2];
  26014. while (1) {
  26015. if (Ut(c[j >> 2] | 0) | 0) break;
  26016. if (
  26017. (c[i >> 2] | 0) >>> 0 >
  26018. (((c[k >> 2] | 0) + -4) | 0) >>> 0
  26019. )
  26020. break;
  26021. if (ru() | 0) {
  26022. g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26023. f = c[i >> 2] | 0;
  26024. c[i >> 2] = f + 1;
  26025. a[f >> 0] = g;
  26026. }
  26027. ru() | 0;
  26028. g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26029. f = c[i >> 2] | 0;
  26030. c[i >> 2] = f + 1;
  26031. a[f >> 0] = g;
  26032. if (ru() | 0) {
  26033. g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26034. f = c[i >> 2] | 0;
  26035. c[i >> 2] = f + 1;
  26036. a[f >> 0] = g;
  26037. }
  26038. g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26039. f = c[i >> 2] | 0;
  26040. c[i >> 2] = f + 1;
  26041. a[f >> 0] = g;
  26042. }
  26043. while (1) {
  26044. if (Ut(c[j >> 2] | 0) | 0) break;
  26045. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  26046. g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26047. f = c[i >> 2] | 0;
  26048. c[i >> 2] = f + 1;
  26049. a[f >> 0] = g;
  26050. }
  26051. while (1) {
  26052. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  26053. g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26054. f = c[i >> 2] | 0;
  26055. c[i >> 2] = f + 1;
  26056. a[f >> 0] = g;
  26057. }
  26058. l = h;
  26059. return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
  26060. }
  26061. function Nu(a, b, d, f, g) {
  26062. a = a | 0;
  26063. b = b | 0;
  26064. d = d | 0;
  26065. f = f | 0;
  26066. g = g | 0;
  26067. var h = 0,
  26068. i = 0,
  26069. j = 0,
  26070. k = 0,
  26071. m = 0,
  26072. n = 0,
  26073. o = 0,
  26074. p = 0,
  26075. q = 0,
  26076. r = 0,
  26077. s = 0,
  26078. t = 0,
  26079. u = 0,
  26080. v = 0,
  26081. w = 0;
  26082. h = l;
  26083. l = (l + 80) | 0;
  26084. i = (h + 64) | 0;
  26085. j = (h + 60) | 0;
  26086. k = (h + 56) | 0;
  26087. m = (h + 52) | 0;
  26088. n = (h + 48) | 0;
  26089. o = (h + 44) | 0;
  26090. p = (h + 40) | 0;
  26091. q = (h + 36) | 0;
  26092. r = (h + 32) | 0;
  26093. s = (h + 28) | 0;
  26094. t = (h + 24) | 0;
  26095. u = (h + 8) | 0;
  26096. v = h;
  26097. c[j >> 2] = a;
  26098. c[k >> 2] = b;
  26099. c[m >> 2] = d;
  26100. c[n >> 2] = f;
  26101. c[o >> 2] = g;
  26102. c[p >> 2] = c[j >> 2];
  26103. c[q >> 2] = (c[p >> 2] | 0) + (c[k >> 2] | 0);
  26104. c[r >> 2] = e[c[o >> 2] >> 1];
  26105. c[s >> 2] = c[o >> 2];
  26106. c[t >> 2] = (c[s >> 2] | 0) + 2;
  26107. c[v >> 2] = St(u, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26108. if (ou(c[v >> 2] | 0) | 0) {
  26109. c[i >> 2] = c[v >> 2];
  26110. w = c[i >> 2] | 0;
  26111. l = h;
  26112. return w | 0;
  26113. }
  26114. Mu(
  26115. c[p >> 2] | 0,
  26116. u,
  26117. c[q >> 2] | 0,
  26118. c[t >> 2] | 0,
  26119. c[r >> 2] | 0
  26120. ) | 0;
  26121. if (qu(u) | 0) {
  26122. c[i >> 2] = c[k >> 2];
  26123. w = c[i >> 2] | 0;
  26124. l = h;
  26125. return w | 0;
  26126. } else {
  26127. c[i >> 2] = -20;
  26128. w = c[i >> 2] | 0;
  26129. l = h;
  26130. return w | 0;
  26131. }
  26132. return 0;
  26133. }
  26134. function Ou(a) {
  26135. a = a | 0;
  26136. var b = 0,
  26137. d = 0;
  26138. b = l;
  26139. l = (l + 16) | 0;
  26140. d = b;
  26141. c[d >> 2] = a;
  26142. c[((c[d >> 2] | 0) + 21536) >> 2] = 5;
  26143. c[((c[d >> 2] | 0) + 21564) >> 2] = 0;
  26144. c[((c[d >> 2] | 0) + 21520) >> 2] = 0;
  26145. c[((c[d >> 2] | 0) + 21524) >> 2] = 0;
  26146. c[((c[d >> 2] | 0) + 21528) >> 2] = 0;
  26147. c[((c[d >> 2] | 0) + 21532) >> 2] = 0;
  26148. c[((c[d >> 2] | 0) + 5132) >> 2] = 12;
  26149. c[((c[d >> 2] | 0) + 21568) >> 2] = 0;
  26150. l = b;
  26151. return 0;
  26152. }
  26153. function Pu(a, b, d) {
  26154. a = a | 0;
  26155. b = b | 0;
  26156. d = d | 0;
  26157. var e = 0,
  26158. f = 0,
  26159. g = 0,
  26160. h = 0,
  26161. i = 0,
  26162. j = 0,
  26163. k = 0,
  26164. m = 0;
  26165. e = l;
  26166. l = (l + 32) | 0;
  26167. f = (e + 20) | 0;
  26168. g = (e + 16) | 0;
  26169. h = (e + 12) | 0;
  26170. i = (e + 8) | 0;
  26171. j = (e + 4) | 0;
  26172. k = e;
  26173. c[g >> 2] = a;
  26174. c[h >> 2] = b;
  26175. c[i >> 2] = d;
  26176. c[k >> 2] = Mq(c[h >> 2] | 0) | 0;
  26177. if ((c[k >> 2] | 0) != -332356554) {
  26178. Qu(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
  26179. c[f >> 2] = 0;
  26180. m = c[f >> 2] | 0;
  26181. l = e;
  26182. return m | 0;
  26183. }
  26184. c[h >> 2] = (c[h >> 2] | 0) + 4;
  26185. c[i >> 2] = (c[i >> 2] | 0) - 4;
  26186. c[j >> 2] =
  26187. Ru(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  26188. if (jr(c[j >> 2] | 0) | 0) {
  26189. c[f >> 2] = -30;
  26190. m = c[f >> 2] | 0;
  26191. l = e;
  26192. return m | 0;
  26193. } else {
  26194. c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
  26195. c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
  26196. Qu(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
  26197. c[f >> 2] = 0;
  26198. m = c[f >> 2] | 0;
  26199. l = e;
  26200. return m | 0;
  26201. }
  26202. return 0;
  26203. }
  26204. function Qu(a, b, d) {
  26205. a = a | 0;
  26206. b = b | 0;
  26207. d = d | 0;
  26208. var e = 0,
  26209. f = 0,
  26210. g = 0,
  26211. h = 0;
  26212. e = l;
  26213. l = (l + 16) | 0;
  26214. f = (e + 8) | 0;
  26215. g = (e + 4) | 0;
  26216. h = e;
  26217. c[f >> 2] = a;
  26218. c[g >> 2] = b;
  26219. c[h >> 2] = d;
  26220. c[((c[f >> 2] | 0) + 21532) >> 2] =
  26221. c[((c[f >> 2] | 0) + 21520) >> 2];
  26222. c[((c[f >> 2] | 0) + 21528) >> 2] =
  26223. (c[g >> 2] | 0) +
  26224. (0 -
  26225. ((c[((c[f >> 2] | 0) + 21520) >> 2] | 0) -
  26226. (c[((c[f >> 2] | 0) + 21524) >> 2] | 0)));
  26227. c[((c[f >> 2] | 0) + 21524) >> 2] = c[g >> 2];
  26228. c[((c[f >> 2] | 0) + 21520) >> 2] =
  26229. (c[g >> 2] | 0) + (c[h >> 2] | 0);
  26230. l = e;
  26231. return;
  26232. }
  26233. function Ru(a, b, d) {
  26234. a = a | 0;
  26235. b = b | 0;
  26236. d = d | 0;
  26237. var e = 0,
  26238. f = 0,
  26239. g = 0,
  26240. h = 0,
  26241. i = 0,
  26242. j = 0,
  26243. k = 0,
  26244. m = 0,
  26245. n = 0,
  26246. o = 0,
  26247. p = 0,
  26248. q = 0,
  26249. r = 0,
  26250. s = 0,
  26251. t = 0,
  26252. u = 0,
  26253. v = 0,
  26254. w = 0,
  26255. x = 0,
  26256. y = 0,
  26257. z = 0,
  26258. A = 0;
  26259. e = l;
  26260. l = (l + 320) | 0;
  26261. f = (e + 316) | 0;
  26262. g = (e + 312) | 0;
  26263. h = (e + 308) | 0;
  26264. i = (e + 304) | 0;
  26265. j = (e + 300) | 0;
  26266. k = (e + 296) | 0;
  26267. m = (e + 292) | 0;
  26268. n = (e + 288) | 0;
  26269. o = (e + 192) | 0;
  26270. p = (e + 284) | 0;
  26271. q = (e + 280) | 0;
  26272. r = (e + 276) | 0;
  26273. s = (e + 80) | 0;
  26274. t = (e + 272) | 0;
  26275. u = (e + 268) | 0;
  26276. v = (e + 264) | 0;
  26277. w = e;
  26278. x = (e + 260) | 0;
  26279. y = (e + 256) | 0;
  26280. z = (e + 252) | 0;
  26281. c[g >> 2] = a;
  26282. c[h >> 2] = b;
  26283. c[i >> 2] = d;
  26284. c[j >> 2] =
  26285. xu(
  26286. ((c[g >> 2] | 0) + 5132) | 0,
  26287. c[h >> 2] | 0,
  26288. c[i >> 2] | 0
  26289. ) | 0;
  26290. if (jr(c[j >> 2] | 0) | 0) {
  26291. c[f >> 2] = -30;
  26292. A = c[f >> 2] | 0;
  26293. l = e;
  26294. return A | 0;
  26295. }
  26296. c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
  26297. c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
  26298. c[p >> 2] = 28;
  26299. c[k >> 2] = ju(o, p, q, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  26300. if (jr(c[k >> 2] | 0) | 0) {
  26301. c[f >> 2] = -30;
  26302. A = c[f >> 2] | 0;
  26303. l = e;
  26304. return A | 0;
  26305. }
  26306. if ((c[q >> 2] | 0) >>> 0 > 8) {
  26307. c[f >> 2] = -30;
  26308. A = c[f >> 2] | 0;
  26309. l = e;
  26310. return A | 0;
  26311. }
  26312. c[r >> 2] =
  26313. iu(
  26314. ((c[g >> 2] | 0) + 2052) | 0,
  26315. o,
  26316. c[p >> 2] | 0,
  26317. c[q >> 2] | 0
  26318. ) | 0;
  26319. if (jr(c[r >> 2] | 0) | 0) {
  26320. c[f >> 2] = -30;
  26321. A = c[f >> 2] | 0;
  26322. l = e;
  26323. return A | 0;
  26324. }
  26325. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  26326. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  26327. c[t >> 2] = 52;
  26328. c[m >> 2] = ju(s, t, u, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  26329. if (jr(c[m >> 2] | 0) | 0) {
  26330. c[f >> 2] = -30;
  26331. A = c[f >> 2] | 0;
  26332. l = e;
  26333. return A | 0;
  26334. }
  26335. if ((c[u >> 2] | 0) >>> 0 > 9) {
  26336. c[f >> 2] = -30;
  26337. A = c[f >> 2] | 0;
  26338. l = e;
  26339. return A | 0;
  26340. }
  26341. c[v >> 2] =
  26342. iu(
  26343. ((c[g >> 2] | 0) + 3080) | 0,
  26344. s,
  26345. c[t >> 2] | 0,
  26346. c[u >> 2] | 0
  26347. ) | 0;
  26348. if (jr(c[v >> 2] | 0) | 0) {
  26349. c[f >> 2] = -30;
  26350. A = c[f >> 2] | 0;
  26351. l = e;
  26352. return A | 0;
  26353. }
  26354. c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
  26355. c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
  26356. c[x >> 2] = 35;
  26357. c[n >> 2] = ju(w, x, y, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  26358. if (jr(c[n >> 2] | 0) | 0) {
  26359. c[f >> 2] = -30;
  26360. A = c[f >> 2] | 0;
  26361. l = e;
  26362. return A | 0;
  26363. }
  26364. if ((c[y >> 2] | 0) >>> 0 > 9) {
  26365. c[f >> 2] = -30;
  26366. A = c[f >> 2] | 0;
  26367. l = e;
  26368. return A | 0;
  26369. }
  26370. c[z >> 2] =
  26371. iu(c[g >> 2] | 0, w, c[x >> 2] | 0, c[y >> 2] | 0) | 0;
  26372. if (jr(c[z >> 2] | 0) | 0) {
  26373. c[f >> 2] = -30;
  26374. A = c[f >> 2] | 0;
  26375. l = e;
  26376. return A | 0;
  26377. } else {
  26378. c[((c[g >> 2] | 0) + 21568) >> 2] = 1;
  26379. c[f >> 2] =
  26380. (c[j >> 2] | 0) +
  26381. (c[k >> 2] | 0) +
  26382. (c[m >> 2] | 0) +
  26383. (c[n >> 2] | 0);
  26384. A = c[f >> 2] | 0;
  26385. l = e;
  26386. return A | 0;
  26387. }
  26388. return 0;
  26389. }
  26390. function Su(a, b, d) {
  26391. a = a | 0;
  26392. b = b | 0;
  26393. d = d | 0;
  26394. var e = 0,
  26395. f = 0,
  26396. g = 0,
  26397. h = 0,
  26398. i = 0,
  26399. j = 0,
  26400. k = 0;
  26401. e = l;
  26402. l = (l + 32) | 0;
  26403. f = (e + 16) | 0;
  26404. g = (e + 12) | 0;
  26405. h = (e + 8) | 0;
  26406. i = (e + 4) | 0;
  26407. j = e;
  26408. c[g >> 2] = a;
  26409. c[h >> 2] = b;
  26410. c[i >> 2] = d;
  26411. c[j >> 2] = dw(c[g >> 2] | 0) | 0;
  26412. if (mr(c[j >> 2] | 0) | 0) {
  26413. c[f >> 2] = c[j >> 2];
  26414. k = c[f >> 2] | 0;
  26415. l = e;
  26416. return k | 0;
  26417. }
  26418. if (
  26419. ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
  26420. ? ((c[j >> 2] =
  26421. ew(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
  26422. mr(c[j >> 2] | 0) | 0)
  26423. : 0
  26424. ) {
  26425. c[f >> 2] = -30;
  26426. k = c[f >> 2] | 0;
  26427. l = e;
  26428. return k | 0;
  26429. }
  26430. c[f >> 2] = 0;
  26431. k = c[f >> 2] | 0;
  26432. l = e;
  26433. return k | 0;
  26434. }
  26435. function Tu(a, b) {
  26436. a = a | 0;
  26437. b = b | 0;
  26438. var d = 0,
  26439. e = 0,
  26440. f = 0;
  26441. d = l;
  26442. l = (l + 16) | 0;
  26443. e = (d + 4) | 0;
  26444. f = d;
  26445. c[e >> 2] = a;
  26446. c[f >> 2] = b;
  26447. if (
  26448. (c[f >> 2] | 0) ==
  26449. (c[((c[e >> 2] | 0) + 26640) >> 2] | 0)
  26450. ) {
  26451. l = d;
  26452. return;
  26453. }
  26454. c[((c[e >> 2] | 0) + 26652) >> 2] =
  26455. c[((c[e >> 2] | 0) + 26640) >> 2];
  26456. c[((c[e >> 2] | 0) + 26648) >> 2] =
  26457. (c[f >> 2] | 0) +
  26458. (0 -
  26459. ((c[((c[e >> 2] | 0) + 26640) >> 2] | 0) -
  26460. (c[((c[e >> 2] | 0) + 26644) >> 2] | 0)));
  26461. c[((c[e >> 2] | 0) + 26644) >> 2] = c[f >> 2];
  26462. c[((c[e >> 2] | 0) + 26640) >> 2] = c[f >> 2];
  26463. l = d;
  26464. return;
  26465. }
  26466. function Uu(a, b, d, e, f) {
  26467. a = a | 0;
  26468. b = b | 0;
  26469. d = d | 0;
  26470. e = e | 0;
  26471. f = f | 0;
  26472. var g = 0,
  26473. h = 0,
  26474. i = 0,
  26475. j = 0,
  26476. k = 0,
  26477. m = 0,
  26478. n = 0,
  26479. o = 0,
  26480. p = 0,
  26481. q = 0,
  26482. r = 0,
  26483. s = 0,
  26484. t = 0,
  26485. u = 0,
  26486. v = 0,
  26487. w = 0,
  26488. x = 0,
  26489. y = 0,
  26490. z = 0,
  26491. A = 0;
  26492. g = l;
  26493. l = (l + 80) | 0;
  26494. h = (g + 68) | 0;
  26495. i = (g + 64) | 0;
  26496. j = (g + 60) | 0;
  26497. k = (g + 56) | 0;
  26498. m = (g + 52) | 0;
  26499. n = (g + 48) | 0;
  26500. o = (g + 44) | 0;
  26501. p = (g + 40) | 0;
  26502. q = (g + 36) | 0;
  26503. r = (g + 32) | 0;
  26504. s = (g + 28) | 0;
  26505. t = (g + 24) | 0;
  26506. u = (g + 16) | 0;
  26507. v = (g + 8) | 0;
  26508. w = (g + 4) | 0;
  26509. x = g;
  26510. c[i >> 2] = a;
  26511. c[j >> 2] = b;
  26512. c[k >> 2] = d;
  26513. c[m >> 2] = e;
  26514. c[n >> 2] = f;
  26515. c[o >> 2] = c[m >> 2];
  26516. c[p >> 2] = (c[o >> 2] | 0) + (c[n >> 2] | 0);
  26517. c[q >> 2] = c[j >> 2];
  26518. c[r >> 2] = c[q >> 2];
  26519. c[s >> 2] = (c[q >> 2] | 0) + (c[k >> 2] | 0);
  26520. c[t >> 2] = c[n >> 2];
  26521. if ((c[n >> 2] | 0) >>> 0 < 8) {
  26522. c[h >> 2] = -72;
  26523. y = c[h >> 2] | 0;
  26524. l = g;
  26525. return y | 0;
  26526. }
  26527. c[v >> 2] = Vu(c[i >> 2] | 0, c[m >> 2] | 0, 5) | 0;
  26528. if (mr(c[v >> 2] | 0) | 0) {
  26529. c[h >> 2] = c[v >> 2];
  26530. y = c[h >> 2] | 0;
  26531. l = g;
  26532. return y | 0;
  26533. }
  26534. if (
  26535. (c[n >> 2] | 0) >>> 0 <
  26536. (((c[v >> 2] | 0) + 3) | 0) >>> 0
  26537. ) {
  26538. c[h >> 2] = -72;
  26539. y = c[h >> 2] | 0;
  26540. l = g;
  26541. return y | 0;
  26542. }
  26543. c[o >> 2] = (c[o >> 2] | 0) + (c[v >> 2] | 0);
  26544. c[t >> 2] = (c[t >> 2] | 0) - (c[v >> 2] | 0);
  26545. c[v >> 2] =
  26546. Wu(c[i >> 2] | 0, c[m >> 2] | 0, c[v >> 2] | 0) | 0;
  26547. if (mr(c[v >> 2] | 0) | 0) {
  26548. c[h >> 2] = c[v >> 2];
  26549. y = c[h >> 2] | 0;
  26550. l = g;
  26551. return y | 0;
  26552. }
  26553. a: while (1) {
  26554. c[w >> 2] = 0;
  26555. c[x >> 2] =
  26556. lr(
  26557. c[o >> 2] | 0,
  26558. ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0,
  26559. u
  26560. ) | 0;
  26561. if (mr(c[x >> 2] | 0) | 0) {
  26562. z = 11;
  26563. break;
  26564. }
  26565. c[o >> 2] = (c[o >> 2] | 0) + 3;
  26566. c[t >> 2] = (c[t >> 2] | 0) - 3;
  26567. if ((c[x >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  26568. z = 13;
  26569. break;
  26570. }
  26571. switch (c[u >> 2] | 0) {
  26572. case 2: {
  26573. z = 17;
  26574. break a;
  26575. break;
  26576. }
  26577. case 0: {
  26578. c[w >> 2] =
  26579. Xu(
  26580. c[i >> 2] | 0,
  26581. c[r >> 2] | 0,
  26582. ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  26583. c[o >> 2] | 0,
  26584. c[x >> 2] | 0
  26585. ) | 0;
  26586. break;
  26587. }
  26588. case 1: {
  26589. c[w >> 2] =
  26590. Yu(
  26591. c[r >> 2] | 0,
  26592. ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  26593. c[o >> 2] | 0,
  26594. c[x >> 2] | 0
  26595. ) | 0;
  26596. break;
  26597. }
  26598. case 3: {
  26599. if (c[t >> 2] | 0) {
  26600. z = 19;
  26601. break a;
  26602. }
  26603. break;
  26604. }
  26605. default: {
  26606. z = 20;
  26607. break a;
  26608. }
  26609. }
  26610. if (!(c[x >> 2] | 0)) {
  26611. z = 25;
  26612. break;
  26613. }
  26614. v = (mr(c[w >> 2] | 0) | 0) != 0;
  26615. A = c[w >> 2] | 0;
  26616. if (v) {
  26617. z = 23;
  26618. break;
  26619. }
  26620. c[r >> 2] = (c[r >> 2] | 0) + A;
  26621. c[o >> 2] = (c[o >> 2] | 0) + (c[x >> 2] | 0);
  26622. c[t >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  26623. }
  26624. if ((z | 0) == 11) {
  26625. c[h >> 2] = c[x >> 2];
  26626. y = c[h >> 2] | 0;
  26627. l = g;
  26628. return y | 0;
  26629. } else if ((z | 0) == 13) {
  26630. c[h >> 2] = -72;
  26631. y = c[h >> 2] | 0;
  26632. l = g;
  26633. return y | 0;
  26634. } else if ((z | 0) == 17) {
  26635. c[h >> 2] = -1;
  26636. y = c[h >> 2] | 0;
  26637. l = g;
  26638. return y | 0;
  26639. } else if ((z | 0) == 19) {
  26640. c[h >> 2] = -72;
  26641. y = c[h >> 2] | 0;
  26642. l = g;
  26643. return y | 0;
  26644. } else if ((z | 0) == 20) {
  26645. c[h >> 2] = -1;
  26646. y = c[h >> 2] | 0;
  26647. l = g;
  26648. return y | 0;
  26649. } else if ((z | 0) == 23) {
  26650. c[h >> 2] = A;
  26651. y = c[h >> 2] | 0;
  26652. l = g;
  26653. return y | 0;
  26654. } else if ((z | 0) == 25) {
  26655. c[h >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
  26656. y = c[h >> 2] | 0;
  26657. l = g;
  26658. return y | 0;
  26659. }
  26660. return 0;
  26661. }
  26662. function Vu(a, b, d) {
  26663. a = a | 0;
  26664. b = b | 0;
  26665. d = d | 0;
  26666. var e = 0,
  26667. f = 0,
  26668. g = 0,
  26669. h = 0,
  26670. i = 0,
  26671. j = 0,
  26672. k = 0;
  26673. e = l;
  26674. l = (l + 32) | 0;
  26675. f = (e + 16) | 0;
  26676. g = (e + 12) | 0;
  26677. h = (e + 8) | 0;
  26678. i = (e + 4) | 0;
  26679. j = e;
  26680. c[g >> 2] = a;
  26681. c[h >> 2] = b;
  26682. c[i >> 2] = d;
  26683. if ((c[i >> 2] | 0) != 5) {
  26684. c[f >> 2] = -72;
  26685. k = c[f >> 2] | 0;
  26686. l = e;
  26687. return k | 0;
  26688. }
  26689. c[j >> 2] = Wq(c[h >> 2] | 0) | 0;
  26690. if ((c[j >> 2] | 0) != -47205083) {
  26691. c[f >> 2] = -10;
  26692. k = c[f >> 2] | 0;
  26693. l = e;
  26694. return k | 0;
  26695. } else {
  26696. c[((c[g >> 2] | 0) + 26660) >> 2] = 5;
  26697. c[f >> 2] = c[((c[g >> 2] | 0) + 26660) >> 2];
  26698. k = c[f >> 2] | 0;
  26699. l = e;
  26700. return k | 0;
  26701. }
  26702. return 0;
  26703. }
  26704. function Wu(a, b, d) {
  26705. a = a | 0;
  26706. b = b | 0;
  26707. d = d | 0;
  26708. var e = 0,
  26709. f = 0,
  26710. g = 0,
  26711. h = 0,
  26712. i = 0,
  26713. j = 0,
  26714. k = 0;
  26715. e = l;
  26716. l = (l + 32) | 0;
  26717. f = (e + 16) | 0;
  26718. g = (e + 12) | 0;
  26719. h = (e + 8) | 0;
  26720. i = (e + 4) | 0;
  26721. j = e;
  26722. c[g >> 2] = a;
  26723. c[h >> 2] = b;
  26724. c[i >> 2] = d;
  26725. if (
  26726. (c[i >> 2] | 0) !=
  26727. (c[((c[g >> 2] | 0) + 26660) >> 2] | 0)
  26728. ) {
  26729. c[f >> 2] = -72;
  26730. k = c[f >> 2] | 0;
  26731. l = e;
  26732. return k | 0;
  26733. }
  26734. c[j >> 2] =
  26735. yq(
  26736. ((c[g >> 2] | 0) + 26664) | 0,
  26737. c[h >> 2] | 0,
  26738. c[i >> 2] | 0
  26739. ) | 0;
  26740. if (
  26741. kv() | 0
  26742. ? (c[((c[g >> 2] | 0) + 26664 + 8) >> 2] | 0) >>> 0 > 25
  26743. : 0
  26744. ) {
  26745. c[f >> 2] = -14;
  26746. k = c[f >> 2] | 0;
  26747. l = e;
  26748. return k | 0;
  26749. }
  26750. c[f >> 2] = c[j >> 2];
  26751. k = c[f >> 2] | 0;
  26752. l = e;
  26753. return k | 0;
  26754. }
  26755. function Xu(a, b, d, e, f) {
  26756. a = a | 0;
  26757. b = b | 0;
  26758. d = d | 0;
  26759. e = e | 0;
  26760. f = f | 0;
  26761. var g = 0,
  26762. h = 0,
  26763. i = 0,
  26764. j = 0,
  26765. k = 0,
  26766. m = 0,
  26767. n = 0,
  26768. o = 0,
  26769. p = 0,
  26770. q = 0;
  26771. g = l;
  26772. l = (l + 32) | 0;
  26773. h = (g + 28) | 0;
  26774. i = (g + 24) | 0;
  26775. j = (g + 20) | 0;
  26776. k = (g + 16) | 0;
  26777. m = (g + 12) | 0;
  26778. n = (g + 8) | 0;
  26779. o = (g + 4) | 0;
  26780. p = g;
  26781. c[i >> 2] = a;
  26782. c[j >> 2] = b;
  26783. c[k >> 2] = d;
  26784. c[m >> 2] = e;
  26785. c[n >> 2] = f;
  26786. c[o >> 2] = c[m >> 2];
  26787. if ((c[n >> 2] | 0) >>> 0 >= 131072) {
  26788. c[h >> 2] = -72;
  26789. q = c[h >> 2] | 0;
  26790. l = g;
  26791. return q | 0;
  26792. }
  26793. c[p >> 2] =
  26794. Zu(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  26795. m = (mr(c[p >> 2] | 0) | 0) != 0;
  26796. f = c[p >> 2] | 0;
  26797. if (m) {
  26798. c[h >> 2] = f;
  26799. q = c[h >> 2] | 0;
  26800. l = g;
  26801. return q | 0;
  26802. } else {
  26803. c[o >> 2] = (c[o >> 2] | 0) + f;
  26804. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  26805. c[h >> 2] =
  26806. _u(
  26807. c[i >> 2] | 0,
  26808. c[j >> 2] | 0,
  26809. c[k >> 2] | 0,
  26810. c[o >> 2] | 0,
  26811. c[n >> 2] | 0
  26812. ) | 0;
  26813. q = c[h >> 2] | 0;
  26814. l = g;
  26815. return q | 0;
  26816. }
  26817. return 0;
  26818. }
  26819. function Yu(a, b, d, e) {
  26820. a = a | 0;
  26821. b = b | 0;
  26822. d = d | 0;
  26823. e = e | 0;
  26824. var f = 0,
  26825. g = 0,
  26826. h = 0,
  26827. i = 0,
  26828. j = 0,
  26829. k = 0,
  26830. m = 0;
  26831. f = l;
  26832. l = (l + 32) | 0;
  26833. g = (f + 16) | 0;
  26834. h = (f + 12) | 0;
  26835. i = (f + 8) | 0;
  26836. j = (f + 4) | 0;
  26837. k = f;
  26838. c[h >> 2] = a;
  26839. c[i >> 2] = b;
  26840. c[j >> 2] = d;
  26841. c[k >> 2] = e;
  26842. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  26843. c[g >> 2] = -70;
  26844. m = c[g >> 2] | 0;
  26845. l = f;
  26846. return m | 0;
  26847. } else {
  26848. mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  26849. c[g >> 2] = c[k >> 2];
  26850. m = c[g >> 2] | 0;
  26851. l = f;
  26852. return m | 0;
  26853. }
  26854. return 0;
  26855. }
  26856. function Zu(b, e, f) {
  26857. b = b | 0;
  26858. e = e | 0;
  26859. f = f | 0;
  26860. var g = 0,
  26861. h = 0,
  26862. i = 0,
  26863. j = 0,
  26864. k = 0,
  26865. m = 0,
  26866. n = 0,
  26867. o = 0,
  26868. p = 0,
  26869. q = 0,
  26870. r = 0,
  26871. s = 0,
  26872. t = 0,
  26873. u = 0,
  26874. v = 0,
  26875. w = 0,
  26876. x = 0,
  26877. y = 0,
  26878. z = 0,
  26879. A = 0;
  26880. g = l;
  26881. l = (l + 80) | 0;
  26882. h = (g + 64) | 0;
  26883. i = (g + 60) | 0;
  26884. j = (g + 56) | 0;
  26885. k = (g + 52) | 0;
  26886. m = (g + 48) | 0;
  26887. n = (g + 44) | 0;
  26888. o = (g + 40) | 0;
  26889. p = (g + 36) | 0;
  26890. q = (g + 32) | 0;
  26891. r = (g + 28) | 0;
  26892. s = (g + 24) | 0;
  26893. t = (g + 20) | 0;
  26894. u = (g + 16) | 0;
  26895. v = (g + 12) | 0;
  26896. w = (g + 8) | 0;
  26897. x = (g + 4) | 0;
  26898. y = g;
  26899. c[i >> 2] = b;
  26900. c[j >> 2] = e;
  26901. c[k >> 2] = f;
  26902. c[m >> 2] = c[j >> 2];
  26903. if ((c[k >> 2] | 0) >>> 0 < 3) {
  26904. c[h >> 2] = -20;
  26905. z = c[h >> 2] | 0;
  26906. l = g;
  26907. return z | 0;
  26908. }
  26909. switch (((d[c[m >> 2] >> 0] | 0) >> 6) | 0) {
  26910. case 0: {
  26911. c[p >> 2] = 0;
  26912. c[q >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  26913. if ((c[k >> 2] | 0) >>> 0 < 5) {
  26914. c[h >> 2] = -20;
  26915. z = c[h >> 2] | 0;
  26916. l = g;
  26917. return z | 0;
  26918. }
  26919. switch (c[q >> 2] | 0) {
  26920. case 3: {
  26921. c[q >> 2] = 5;
  26922. c[n >> 2] =
  26923. (((d[c[m >> 2] >> 0] | 0) & 15) << 14) +
  26924. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 6) +
  26925. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 2);
  26926. c[o >> 2] =
  26927. (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 3) << 16) +
  26928. ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) << 8) +
  26929. (d[((c[m >> 2] | 0) + 4) >> 0] | 0);
  26930. break;
  26931. }
  26932. case 2: {
  26933. c[q >> 2] = 4;
  26934. c[n >> 2] =
  26935. (((d[c[m >> 2] >> 0] | 0) & 15) << 10) +
  26936. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 2) +
  26937. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 6);
  26938. c[o >> 2] =
  26939. (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 63) << 8) +
  26940. (d[((c[m >> 2] | 0) + 3) >> 0] | 0);
  26941. break;
  26942. }
  26943. default: {
  26944. c[q >> 2] = 3;
  26945. c[p >> 2] = (d[c[m >> 2] >> 0] | 0) & 16;
  26946. c[n >> 2] =
  26947. (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
  26948. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
  26949. c[o >> 2] =
  26950. (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
  26951. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  26952. }
  26953. }
  26954. if ((c[n >> 2] | 0) >>> 0 > 131072) {
  26955. c[h >> 2] = -20;
  26956. z = c[h >> 2] | 0;
  26957. l = g;
  26958. return z | 0;
  26959. }
  26960. if (
  26961. (((c[o >> 2] | 0) + (c[q >> 2] | 0)) | 0) >>> 0 >
  26962. (c[k >> 2] | 0) >>> 0
  26963. ) {
  26964. c[h >> 2] = -20;
  26965. z = c[h >> 2] | 0;
  26966. l = g;
  26967. return z | 0;
  26968. }
  26969. j = ((c[i >> 2] | 0) + 26724) | 0;
  26970. f = c[n >> 2] | 0;
  26971. e = ((c[m >> 2] | 0) + (c[q >> 2] | 0)) | 0;
  26972. b = c[o >> 2] | 0;
  26973. if (c[p >> 2] | 0) A = Av(j, f, e, b) | 0;
  26974. else A = Bv(j, f, e, b) | 0;
  26975. if (Cv(A) | 0) {
  26976. c[h >> 2] = -20;
  26977. z = c[h >> 2] | 0;
  26978. l = g;
  26979. return z | 0;
  26980. } else {
  26981. c[((c[i >> 2] | 0) + 26716) >> 2] =
  26982. (c[i >> 2] | 0) + 26724;
  26983. c[((c[i >> 2] | 0) + 26720) >> 2] = c[n >> 2];
  26984. n =
  26985. ((c[i >> 2] | 0) +
  26986. 26724 +
  26987. (c[((c[i >> 2] | 0) + 26720) >> 2] | 0)) |
  26988. 0;
  26989. a[n >> 0] = 0;
  26990. a[(n + 1) >> 0] = 0;
  26991. a[(n + 2) >> 0] = 0;
  26992. a[(n + 3) >> 0] = 0;
  26993. a[(n + 4) >> 0] = 0;
  26994. a[(n + 5) >> 0] = 0;
  26995. a[(n + 6) >> 0] = 0;
  26996. a[(n + 7) >> 0] = 0;
  26997. c[h >> 2] = (c[o >> 2] | 0) + (c[q >> 2] | 0);
  26998. z = c[h >> 2] | 0;
  26999. l = g;
  27000. return z | 0;
  27001. }
  27002. break;
  27003. }
  27004. case 1: {
  27005. c[u >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  27006. if ((c[u >> 2] | 0) != 1) {
  27007. c[h >> 2] = -20;
  27008. z = c[h >> 2] | 0;
  27009. l = g;
  27010. return z | 0;
  27011. }
  27012. if (!(c[((c[i >> 2] | 0) + 26712) >> 2] | 0)) {
  27013. c[h >> 2] = -30;
  27014. z = c[h >> 2] | 0;
  27015. l = g;
  27016. return z | 0;
  27017. }
  27018. c[u >> 2] = 3;
  27019. c[s >> 2] =
  27020. (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
  27021. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
  27022. c[t >> 2] =
  27023. (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
  27024. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  27025. if (
  27026. (((c[t >> 2] | 0) + (c[u >> 2] | 0)) | 0) >>> 0 >
  27027. (c[k >> 2] | 0) >>> 0
  27028. ) {
  27029. c[h >> 2] = -20;
  27030. z = c[h >> 2] | 0;
  27031. l = g;
  27032. return z | 0;
  27033. }
  27034. c[r >> 2] =
  27035. Dv(
  27036. ((c[i >> 2] | 0) + 26724) | 0,
  27037. c[s >> 2] | 0,
  27038. ((c[m >> 2] | 0) + (c[u >> 2] | 0)) | 0,
  27039. c[t >> 2] | 0,
  27040. ((c[i >> 2] | 0) + 10252) | 0
  27041. ) | 0;
  27042. if (Cv(c[r >> 2] | 0) | 0) {
  27043. c[h >> 2] = -20;
  27044. z = c[h >> 2] | 0;
  27045. l = g;
  27046. return z | 0;
  27047. } else {
  27048. c[((c[i >> 2] | 0) + 26716) >> 2] =
  27049. (c[i >> 2] | 0) + 26724;
  27050. c[((c[i >> 2] | 0) + 26720) >> 2] = c[s >> 2];
  27051. s =
  27052. ((c[i >> 2] | 0) +
  27053. 26724 +
  27054. (c[((c[i >> 2] | 0) + 26720) >> 2] | 0)) |
  27055. 0;
  27056. a[s >> 0] = 0;
  27057. a[(s + 1) >> 0] = 0;
  27058. a[(s + 2) >> 0] = 0;
  27059. a[(s + 3) >> 0] = 0;
  27060. a[(s + 4) >> 0] = 0;
  27061. a[(s + 5) >> 0] = 0;
  27062. a[(s + 6) >> 0] = 0;
  27063. a[(s + 7) >> 0] = 0;
  27064. c[h >> 2] = (c[t >> 2] | 0) + (c[u >> 2] | 0);
  27065. z = c[h >> 2] | 0;
  27066. l = g;
  27067. return z | 0;
  27068. }
  27069. break;
  27070. }
  27071. case 2: {
  27072. c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  27073. switch (c[w >> 2] | 0) {
  27074. case 3: {
  27075. c[v >> 2] =
  27076. (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
  27077. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  27078. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  27079. break;
  27080. }
  27081. case 2: {
  27082. c[v >> 2] =
  27083. (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
  27084. (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
  27085. break;
  27086. }
  27087. default: {
  27088. c[w >> 2] = 1;
  27089. c[v >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
  27090. }
  27091. }
  27092. if (
  27093. (((c[w >> 2] | 0) + (c[v >> 2] | 0) + 8) | 0) >>> 0 <=
  27094. (c[k >> 2] | 0) >>> 0
  27095. ) {
  27096. c[((c[i >> 2] | 0) + 26716) >> 2] =
  27097. (c[m >> 2] | 0) + (c[w >> 2] | 0);
  27098. c[((c[i >> 2] | 0) + 26720) >> 2] = c[v >> 2];
  27099. c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  27100. z = c[h >> 2] | 0;
  27101. l = g;
  27102. return z | 0;
  27103. }
  27104. if (
  27105. (((c[v >> 2] | 0) + (c[w >> 2] | 0)) | 0) >>> 0 >
  27106. (c[k >> 2] | 0) >>> 0
  27107. ) {
  27108. c[h >> 2] = -20;
  27109. z = c[h >> 2] | 0;
  27110. l = g;
  27111. return z | 0;
  27112. } else {
  27113. mE(
  27114. ((c[i >> 2] | 0) + 26724) | 0,
  27115. ((c[m >> 2] | 0) + (c[w >> 2] | 0)) | 0,
  27116. c[v >> 2] | 0
  27117. ) | 0;
  27118. c[((c[i >> 2] | 0) + 26716) >> 2] =
  27119. (c[i >> 2] | 0) + 26724;
  27120. c[((c[i >> 2] | 0) + 26720) >> 2] = c[v >> 2];
  27121. u =
  27122. ((c[i >> 2] | 0) +
  27123. 26724 +
  27124. (c[((c[i >> 2] | 0) + 26720) >> 2] | 0)) |
  27125. 0;
  27126. a[u >> 0] = 0;
  27127. a[(u + 1) >> 0] = 0;
  27128. a[(u + 2) >> 0] = 0;
  27129. a[(u + 3) >> 0] = 0;
  27130. a[(u + 4) >> 0] = 0;
  27131. a[(u + 5) >> 0] = 0;
  27132. a[(u + 6) >> 0] = 0;
  27133. a[(u + 7) >> 0] = 0;
  27134. c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  27135. z = c[h >> 2] | 0;
  27136. l = g;
  27137. return z | 0;
  27138. }
  27139. break;
  27140. }
  27141. case 3: {
  27142. c[y >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  27143. switch (c[y >> 2] | 0) {
  27144. case 3: {
  27145. c[x >> 2] =
  27146. (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
  27147. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  27148. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  27149. if ((c[k >> 2] | 0) >>> 0 < 4) {
  27150. c[h >> 2] = -20;
  27151. z = c[h >> 2] | 0;
  27152. l = g;
  27153. return z | 0;
  27154. }
  27155. break;
  27156. }
  27157. case 2: {
  27158. c[x >> 2] =
  27159. (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
  27160. (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
  27161. break;
  27162. }
  27163. default: {
  27164. c[y >> 2] = 1;
  27165. c[x >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
  27166. }
  27167. }
  27168. if ((c[x >> 2] | 0) >>> 0 > 131072) {
  27169. c[h >> 2] = -20;
  27170. z = c[h >> 2] | 0;
  27171. l = g;
  27172. return z | 0;
  27173. } else {
  27174. oE(
  27175. ((c[i >> 2] | 0) + 26724) | 0,
  27176. ((d[((c[m >> 2] | 0) + (c[y >> 2] | 0)) >> 0] | 0) &
  27177. 255) |
  27178. 0,
  27179. ((c[x >> 2] | 0) + 8) | 0
  27180. ) | 0;
  27181. c[((c[i >> 2] | 0) + 26716) >> 2] =
  27182. (c[i >> 2] | 0) + 26724;
  27183. c[((c[i >> 2] | 0) + 26720) >> 2] = c[x >> 2];
  27184. c[h >> 2] = (c[y >> 2] | 0) + 1;
  27185. z = c[h >> 2] | 0;
  27186. l = g;
  27187. return z | 0;
  27188. }
  27189. break;
  27190. }
  27191. default: {
  27192. }
  27193. }
  27194. return 0;
  27195. }
  27196. function _u(a, b, d, e, f) {
  27197. a = a | 0;
  27198. b = b | 0;
  27199. d = d | 0;
  27200. e = e | 0;
  27201. f = f | 0;
  27202. var g = 0,
  27203. h = 0,
  27204. i = 0,
  27205. j = 0,
  27206. k = 0,
  27207. m = 0,
  27208. n = 0,
  27209. o = 0,
  27210. p = 0,
  27211. q = 0,
  27212. r = 0,
  27213. s = 0,
  27214. t = 0,
  27215. u = 0,
  27216. v = 0,
  27217. w = 0,
  27218. x = 0,
  27219. y = 0,
  27220. z = 0,
  27221. A = 0,
  27222. B = 0,
  27223. C = 0,
  27224. D = 0,
  27225. E = 0,
  27226. F = 0,
  27227. G = 0,
  27228. H = 0,
  27229. I = 0,
  27230. J = 0,
  27231. K = 0,
  27232. L = 0,
  27233. M = 0,
  27234. N = 0;
  27235. g = l;
  27236. l = (l + 176) | 0;
  27237. h = (g + 164) | 0;
  27238. i = (g + 160) | 0;
  27239. j = (g + 156) | 0;
  27240. k = (g + 152) | 0;
  27241. m = (g + 148) | 0;
  27242. n = (g + 144) | 0;
  27243. o = (g + 140) | 0;
  27244. p = (g + 136) | 0;
  27245. q = (g + 132) | 0;
  27246. r = (g + 128) | 0;
  27247. s = (g + 124) | 0;
  27248. t = (g + 120) | 0;
  27249. u = (g + 116) | 0;
  27250. v = (g + 112) | 0;
  27251. w = (g + 108) | 0;
  27252. x = (g + 104) | 0;
  27253. y = (g + 100) | 0;
  27254. z = (g + 96) | 0;
  27255. A = (g + 92) | 0;
  27256. B = (g + 88) | 0;
  27257. C = (g + 84) | 0;
  27258. D = (g + 80) | 0;
  27259. E = (g + 76) | 0;
  27260. F = (g + 72) | 0;
  27261. G = (g + 60) | 0;
  27262. H = (g + 8) | 0;
  27263. I = (g + 4) | 0;
  27264. J = g;
  27265. c[j >> 2] = a;
  27266. c[k >> 2] = b;
  27267. c[m >> 2] = d;
  27268. c[n >> 2] = e;
  27269. c[o >> 2] = f;
  27270. c[p >> 2] = c[n >> 2];
  27271. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  27272. c[r >> 2] = c[k >> 2];
  27273. c[s >> 2] = c[r >> 2];
  27274. c[t >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  27275. c[w >> 2] = c[((c[j >> 2] | 0) + 26716) >> 2];
  27276. c[x >> 2] =
  27277. (c[w >> 2] | 0) + (c[((c[j >> 2] | 0) + 26720) >> 2] | 0);
  27278. c[A >> 2] = c[j >> 2];
  27279. c[B >> 2] = (c[j >> 2] | 0) + 6152;
  27280. c[C >> 2] = (c[j >> 2] | 0) + 4100;
  27281. c[D >> 2] = c[((c[j >> 2] | 0) + 26644) >> 2];
  27282. c[E >> 2] = c[((c[j >> 2] | 0) + 26648) >> 2];
  27283. c[F >> 2] = c[((c[j >> 2] | 0) + 26652) >> 2];
  27284. c[u >> 2] =
  27285. $u(
  27286. y,
  27287. z,
  27288. v,
  27289. c[A >> 2] | 0,
  27290. c[B >> 2] | 0,
  27291. c[C >> 2] | 0,
  27292. c[p >> 2] | 0,
  27293. c[o >> 2] | 0,
  27294. c[((c[j >> 2] | 0) + 26712) >> 2] | 0
  27295. ) | 0;
  27296. j = (mr(c[u >> 2] | 0) | 0) != 0;
  27297. o = c[u >> 2] | 0;
  27298. if (j) {
  27299. c[i >> 2] = o;
  27300. K = c[i >> 2] | 0;
  27301. l = g;
  27302. return K | 0;
  27303. }
  27304. c[p >> 2] = (c[p >> 2] | 0) + o;
  27305. if (c[y >> 2] | 0) {
  27306. c[G >> 2] = 0;
  27307. c[(G + 4) >> 2] = 0;
  27308. c[(G + 8) >> 2] = 0;
  27309. c[(G + 8) >> 2] = 1;
  27310. c[(H + 44) >> 2] = c[z >> 2];
  27311. c[(H + 48) >> 2] = (c[z >> 2] | 0) + (c[v >> 2] | 0);
  27312. c[(H + 40) >> 2] = 1;
  27313. c[u >> 2] =
  27314. av(
  27315. H,
  27316. c[p >> 2] | 0,
  27317. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  27318. ) | 0;
  27319. if (nr(c[u >> 2] | 0) | 0) {
  27320. c[i >> 2] = -20;
  27321. K = c[i >> 2] | 0;
  27322. l = g;
  27323. return K | 0;
  27324. }
  27325. bv((H + 16) | 0, H, c[A >> 2] | 0);
  27326. bv((H + 24) | 0, H, c[C >> 2] | 0);
  27327. bv((H + 32) | 0, H, c[B >> 2] | 0);
  27328. while (1) {
  27329. B = (cv(H) | 0) >>> 0 <= 2;
  27330. L = c[y >> 2] | 0;
  27331. if (!(B ? (c[y >> 2] | 0) != 0 : 0)) break;
  27332. c[y >> 2] = L + -1;
  27333. dv(G, H);
  27334. B = c[s >> 2] | 0;
  27335. C = c[t >> 2] | 0;
  27336. A = c[x >> 2] | 0;
  27337. u = c[D >> 2] | 0;
  27338. p = c[E >> 2] | 0;
  27339. q = c[F >> 2] | 0;
  27340. c[h >> 2] = c[G >> 2];
  27341. c[(h + 4) >> 2] = c[(G + 4) >> 2];
  27342. c[(h + 8) >> 2] = c[(G + 8) >> 2];
  27343. c[I >> 2] = ev(B, C, h, w, A, u, p, q) | 0;
  27344. q = (mr(c[I >> 2] | 0) | 0) != 0;
  27345. M = c[I >> 2] | 0;
  27346. if (q) {
  27347. N = 9;
  27348. break;
  27349. }
  27350. c[s >> 2] = (c[s >> 2] | 0) + M;
  27351. }
  27352. if ((N | 0) == 9) {
  27353. c[i >> 2] = M;
  27354. K = c[i >> 2] | 0;
  27355. l = g;
  27356. return K | 0;
  27357. }
  27358. if (L | 0) {
  27359. c[i >> 2] = -20;
  27360. K = c[i >> 2] | 0;
  27361. l = g;
  27362. return K | 0;
  27363. }
  27364. }
  27365. c[J >> 2] = (c[x >> 2] | 0) - (c[w >> 2] | 0);
  27366. if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  27367. c[i >> 2] = -20;
  27368. K = c[i >> 2] | 0;
  27369. l = g;
  27370. return K | 0;
  27371. }
  27372. if (
  27373. (((c[s >> 2] | 0) + (c[J >> 2] | 0)) | 0) >>> 0 >
  27374. (c[t >> 2] | 0) >>> 0
  27375. ) {
  27376. c[i >> 2] = -70;
  27377. K = c[i >> 2] | 0;
  27378. l = g;
  27379. return K | 0;
  27380. } else {
  27381. mE(c[s >> 2] | 0, c[w >> 2] | 0, c[J >> 2] | 0) | 0;
  27382. c[s >> 2] = (c[s >> 2] | 0) + (c[J >> 2] | 0);
  27383. c[i >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  27384. K = c[i >> 2] | 0;
  27385. l = g;
  27386. return K | 0;
  27387. }
  27388. return 0;
  27389. }
  27390. function $u(b, e, f, g, h, i, j, k, m) {
  27391. b = b | 0;
  27392. e = e | 0;
  27393. f = f | 0;
  27394. g = g | 0;
  27395. h = h | 0;
  27396. i = i | 0;
  27397. j = j | 0;
  27398. k = k | 0;
  27399. m = m | 0;
  27400. var n = 0,
  27401. o = 0,
  27402. p = 0,
  27403. q = 0,
  27404. r = 0,
  27405. s = 0,
  27406. t = 0,
  27407. u = 0,
  27408. v = 0,
  27409. w = 0,
  27410. x = 0,
  27411. y = 0,
  27412. z = 0,
  27413. A = 0,
  27414. B = 0,
  27415. C = 0,
  27416. D = 0,
  27417. E = 0,
  27418. F = 0,
  27419. G = 0,
  27420. H = 0,
  27421. I = 0,
  27422. J = 0,
  27423. K = 0,
  27424. L = 0,
  27425. M = 0,
  27426. N = 0;
  27427. n = l;
  27428. l = (l + 352) | 0;
  27429. o = (n + 348) | 0;
  27430. p = (n + 344) | 0;
  27431. q = (n + 340) | 0;
  27432. r = (n + 336) | 0;
  27433. s = (n + 332) | 0;
  27434. t = (n + 328) | 0;
  27435. u = (n + 324) | 0;
  27436. v = (n + 320) | 0;
  27437. w = (n + 316) | 0;
  27438. x = (n + 312) | 0;
  27439. y = (n + 308) | 0;
  27440. z = (n + 304) | 0;
  27441. A = (n + 300) | 0;
  27442. B = (n + 296) | 0;
  27443. C = (n + 292) | 0;
  27444. D = (n + 288) | 0;
  27445. E = (n + 284) | 0;
  27446. F = (n + 280) | 0;
  27447. G = (n + 276) | 0;
  27448. H = (n + 272) | 0;
  27449. I = n;
  27450. J = (n + 268) | 0;
  27451. K = (n + 264) | 0;
  27452. L = (n + 260) | 0;
  27453. M = (n + 256) | 0;
  27454. c[p >> 2] = b;
  27455. c[q >> 2] = e;
  27456. c[r >> 2] = f;
  27457. c[s >> 2] = g;
  27458. c[t >> 2] = h;
  27459. c[u >> 2] = i;
  27460. c[v >> 2] = j;
  27461. c[w >> 2] = k;
  27462. c[x >> 2] = m;
  27463. c[y >> 2] = c[v >> 2];
  27464. c[z >> 2] = c[y >> 2];
  27465. c[A >> 2] = (c[y >> 2] | 0) + (c[w >> 2] | 0);
  27466. if ((c[w >> 2] | 0) >>> 0 < 1) {
  27467. c[o >> 2] = -72;
  27468. N = c[o >> 2] | 0;
  27469. l = n;
  27470. return N | 0;
  27471. }
  27472. w = c[z >> 2] | 0;
  27473. c[z >> 2] = w + 1;
  27474. c[c[p >> 2] >> 2] = d[w >> 0];
  27475. if (!(c[c[p >> 2] >> 2] | 0)) {
  27476. c[o >> 2] = 1;
  27477. N = c[o >> 2] | 0;
  27478. l = n;
  27479. return N | 0;
  27480. }
  27481. do {
  27482. if ((c[c[p >> 2] >> 2] | 0) >= 128) {
  27483. if ((c[z >> 2] | 0) >>> 0 < (c[A >> 2] | 0) >>> 0) {
  27484. w = ((c[c[p >> 2] >> 2] | 0) - 128) << 8;
  27485. v = c[z >> 2] | 0;
  27486. c[z >> 2] = v + 1;
  27487. c[c[p >> 2] >> 2] = w + (d[v >> 0] | 0);
  27488. break;
  27489. }
  27490. c[o >> 2] = -72;
  27491. N = c[o >> 2] | 0;
  27492. l = n;
  27493. return N | 0;
  27494. }
  27495. } while (0);
  27496. if ((c[z >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0) {
  27497. c[o >> 2] = -72;
  27498. N = c[o >> 2] | 0;
  27499. l = n;
  27500. return N | 0;
  27501. }
  27502. c[B >> 2] = (d[c[z >> 2] >> 0] | 0) >> 6;
  27503. c[C >> 2] = ((d[c[z >> 2] >> 0] | 0) >> 4) & 3;
  27504. c[D >> 2] = ((d[c[z >> 2] >> 0] | 0) >> 2) & 3;
  27505. p = c[z >> 2] | 0;
  27506. do {
  27507. if (((d[c[z >> 2] >> 0] | 0) & 2) | 0) {
  27508. if (((p + 3) | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0) {
  27509. c[H >> 2] = d[((c[z >> 2] | 0) + 2) >> 0];
  27510. c[H >> 2] =
  27511. (c[H >> 2] | 0) +
  27512. ((d[((c[z >> 2] | 0) + 1) >> 0] | 0) << 8);
  27513. c[z >> 2] = (c[z >> 2] | 0) + 3;
  27514. break;
  27515. }
  27516. c[o >> 2] = -72;
  27517. N = c[o >> 2] | 0;
  27518. l = n;
  27519. return N | 0;
  27520. } else {
  27521. if (((p + 2) | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0) {
  27522. c[H >> 2] = d[((c[z >> 2] | 0) + 1) >> 0];
  27523. c[H >> 2] =
  27524. (c[H >> 2] | 0) +
  27525. (((d[c[z >> 2] >> 0] | 0) & 1) << 8);
  27526. c[z >> 2] = (c[z >> 2] | 0) + 2;
  27527. break;
  27528. }
  27529. c[o >> 2] = -72;
  27530. N = c[o >> 2] | 0;
  27531. l = n;
  27532. return N | 0;
  27533. }
  27534. } while (0);
  27535. c[c[q >> 2] >> 2] = c[z >> 2];
  27536. c[z >> 2] = (c[z >> 2] | 0) + (c[H >> 2] | 0);
  27537. c[c[r >> 2] >> 2] = c[H >> 2];
  27538. if (
  27539. (c[z >> 2] | 0) >>> 0 >
  27540. (((c[A >> 2] | 0) + -3) | 0) >>> 0
  27541. ) {
  27542. c[o >> 2] = -72;
  27543. N = c[o >> 2] | 0;
  27544. l = n;
  27545. return N | 0;
  27546. }
  27547. a: do {
  27548. switch (c[B >> 2] | 0) {
  27549. case 1: {
  27550. c[E >> 2] = 0;
  27551. H = c[s >> 2] | 0;
  27552. r = c[z >> 2] | 0;
  27553. c[z >> 2] = r + 1;
  27554. tv(H, a[r >> 0] | 0) | 0;
  27555. break;
  27556. }
  27557. case 0: {
  27558. c[E >> 2] = 6;
  27559. uv(c[s >> 2] | 0, 6) | 0;
  27560. break;
  27561. }
  27562. case 2: {
  27563. if (!(c[x >> 2] | 0)) {
  27564. c[o >> 2] = -20;
  27565. N = c[o >> 2] | 0;
  27566. l = n;
  27567. return N | 0;
  27568. }
  27569. break;
  27570. }
  27571. default: {
  27572. c[K >> 2] = 63;
  27573. c[J >> 2] =
  27574. vv(
  27575. I,
  27576. K,
  27577. E,
  27578. c[z >> 2] | 0,
  27579. ((c[A >> 2] | 0) - (c[z >> 2] | 0)) | 0
  27580. ) | 0;
  27581. if (wv(c[J >> 2] | 0) | 0) {
  27582. c[o >> 2] = -1;
  27583. N = c[o >> 2] | 0;
  27584. l = n;
  27585. return N | 0;
  27586. }
  27587. if ((c[E >> 2] | 0) >>> 0 <= 10) {
  27588. c[z >> 2] = (c[z >> 2] | 0) + (c[J >> 2] | 0);
  27589. xv(c[s >> 2] | 0, I, c[K >> 2] | 0, c[E >> 2] | 0) |
  27590. 0;
  27591. break a;
  27592. }
  27593. c[o >> 2] = -20;
  27594. N = c[o >> 2] | 0;
  27595. l = n;
  27596. return N | 0;
  27597. }
  27598. }
  27599. } while (0);
  27600. b: do {
  27601. switch (c[C >> 2] | 0) {
  27602. case 1: {
  27603. c[F >> 2] = 0;
  27604. if (
  27605. (c[z >> 2] | 0) >>> 0 <=
  27606. (((c[A >> 2] | 0) + -2) | 0) >>> 0
  27607. ) {
  27608. E = c[u >> 2] | 0;
  27609. K = c[z >> 2] | 0;
  27610. c[z >> 2] = K + 1;
  27611. tv(E, (d[K >> 0] | 0) & 31) | 0;
  27612. break b;
  27613. }
  27614. c[o >> 2] = -72;
  27615. N = c[o >> 2] | 0;
  27616. l = n;
  27617. return N | 0;
  27618. }
  27619. case 0: {
  27620. c[F >> 2] = 5;
  27621. uv(c[u >> 2] | 0, 5) | 0;
  27622. break;
  27623. }
  27624. case 2: {
  27625. if (!(c[x >> 2] | 0)) {
  27626. c[o >> 2] = -20;
  27627. N = c[o >> 2] | 0;
  27628. l = n;
  27629. return N | 0;
  27630. }
  27631. break;
  27632. }
  27633. default: {
  27634. c[L >> 2] = 31;
  27635. c[J >> 2] =
  27636. vv(
  27637. I,
  27638. L,
  27639. F,
  27640. c[z >> 2] | 0,
  27641. ((c[A >> 2] | 0) - (c[z >> 2] | 0)) | 0
  27642. ) | 0;
  27643. if (wv(c[J >> 2] | 0) | 0) {
  27644. c[o >> 2] = -1;
  27645. N = c[o >> 2] | 0;
  27646. l = n;
  27647. return N | 0;
  27648. }
  27649. if ((c[F >> 2] | 0) >>> 0 <= 9) {
  27650. c[z >> 2] = (c[z >> 2] | 0) + (c[J >> 2] | 0);
  27651. xv(c[u >> 2] | 0, I, c[L >> 2] | 0, c[F >> 2] | 0) |
  27652. 0;
  27653. break b;
  27654. }
  27655. c[o >> 2] = -20;
  27656. N = c[o >> 2] | 0;
  27657. l = n;
  27658. return N | 0;
  27659. }
  27660. }
  27661. } while (0);
  27662. c: do {
  27663. switch (c[D >> 2] | 0) {
  27664. case 1: {
  27665. c[G >> 2] = 0;
  27666. if (
  27667. (c[z >> 2] | 0) >>> 0 <=
  27668. (((c[A >> 2] | 0) + -2) | 0) >>> 0
  27669. ) {
  27670. F = c[t >> 2] | 0;
  27671. L = c[z >> 2] | 0;
  27672. c[z >> 2] = L + 1;
  27673. tv(F, a[L >> 0] | 0) | 0;
  27674. break c;
  27675. }
  27676. c[o >> 2] = -72;
  27677. N = c[o >> 2] | 0;
  27678. l = n;
  27679. return N | 0;
  27680. }
  27681. case 0: {
  27682. c[G >> 2] = 7;
  27683. uv(c[t >> 2] | 0, 7) | 0;
  27684. break;
  27685. }
  27686. case 2: {
  27687. if (!(c[x >> 2] | 0)) {
  27688. c[o >> 2] = -20;
  27689. N = c[o >> 2] | 0;
  27690. l = n;
  27691. return N | 0;
  27692. }
  27693. break;
  27694. }
  27695. default: {
  27696. c[M >> 2] = 127;
  27697. c[J >> 2] =
  27698. vv(
  27699. I,
  27700. M,
  27701. G,
  27702. c[z >> 2] | 0,
  27703. ((c[A >> 2] | 0) - (c[z >> 2] | 0)) | 0
  27704. ) | 0;
  27705. if (wv(c[J >> 2] | 0) | 0) {
  27706. c[o >> 2] = -1;
  27707. N = c[o >> 2] | 0;
  27708. l = n;
  27709. return N | 0;
  27710. }
  27711. if ((c[G >> 2] | 0) >>> 0 <= 10) {
  27712. c[z >> 2] = (c[z >> 2] | 0) + (c[J >> 2] | 0);
  27713. xv(c[t >> 2] | 0, I, c[M >> 2] | 0, c[G >> 2] | 0) |
  27714. 0;
  27715. break c;
  27716. }
  27717. c[o >> 2] = -20;
  27718. N = c[o >> 2] | 0;
  27719. l = n;
  27720. return N | 0;
  27721. }
  27722. }
  27723. } while (0);
  27724. c[o >> 2] = (c[z >> 2] | 0) - (c[y >> 2] | 0);
  27725. N = c[o >> 2] | 0;
  27726. l = n;
  27727. return N | 0;
  27728. }
  27729. function av(a, b, e) {
  27730. a = a | 0;
  27731. b = b | 0;
  27732. e = e | 0;
  27733. var f = 0,
  27734. g = 0,
  27735. h = 0,
  27736. i = 0,
  27737. j = 0,
  27738. k = 0,
  27739. m = 0,
  27740. n = 0,
  27741. o = 0;
  27742. f = l;
  27743. l = (l + 32) | 0;
  27744. g = (f + 20) | 0;
  27745. h = (f + 16) | 0;
  27746. i = (f + 12) | 0;
  27747. j = (f + 8) | 0;
  27748. k = (f + 4) | 0;
  27749. m = f;
  27750. c[h >> 2] = a;
  27751. c[i >> 2] = b;
  27752. c[j >> 2] = e;
  27753. if ((c[j >> 2] | 0) >>> 0 < 1) {
  27754. e = c[h >> 2] | 0;
  27755. c[e >> 2] = 0;
  27756. c[(e + 4) >> 2] = 0;
  27757. c[(e + 8) >> 2] = 0;
  27758. c[(e + 12) >> 2] = 0;
  27759. c[g >> 2] = -72;
  27760. n = c[g >> 2] | 0;
  27761. l = f;
  27762. return n | 0;
  27763. }
  27764. e = (c[j >> 2] | 0) >>> 0 >= 4;
  27765. c[((c[h >> 2] | 0) + 12) >> 2] = c[i >> 2];
  27766. do {
  27767. if (e) {
  27768. c[((c[h >> 2] | 0) + 8) >> 2] =
  27769. (c[i >> 2] | 0) + (c[j >> 2] | 0) + -4;
  27770. b = ov(c[((c[h >> 2] | 0) + 8) >> 2] | 0) | 0;
  27771. c[c[h >> 2] >> 2] = b;
  27772. c[k >> 2] =
  27773. d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
  27774. if (c[k >> 2] | 0) {
  27775. b = (8 - (sv(c[k >> 2] | 0) | 0)) | 0;
  27776. c[((c[h >> 2] | 0) + 4) >> 2] = b;
  27777. break;
  27778. }
  27779. c[g >> 2] = -1;
  27780. n = c[g >> 2] | 0;
  27781. l = f;
  27782. return n | 0;
  27783. } else {
  27784. c[((c[h >> 2] | 0) + 8) >> 2] =
  27785. c[((c[h >> 2] | 0) + 12) >> 2];
  27786. c[c[h >> 2] >> 2] =
  27787. d[c[((c[h >> 2] | 0) + 12) >> 2] >> 0];
  27788. switch (c[j >> 2] | 0) {
  27789. case 7: {
  27790. b = c[h >> 2] | 0;
  27791. c[b >> 2] =
  27792. (c[b >> 2] | 0) +
  27793. ((d[
  27794. ((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 6) >> 0
  27795. ] |
  27796. 0) <<
  27797. 16);
  27798. o = 9;
  27799. break;
  27800. }
  27801. case 6: {
  27802. o = 9;
  27803. break;
  27804. }
  27805. case 5: {
  27806. o = 10;
  27807. break;
  27808. }
  27809. case 4: {
  27810. o = 11;
  27811. break;
  27812. }
  27813. case 3: {
  27814. o = 12;
  27815. break;
  27816. }
  27817. case 2: {
  27818. o = 13;
  27819. break;
  27820. }
  27821. default: {
  27822. }
  27823. }
  27824. if ((o | 0) == 9) {
  27825. b = c[h >> 2] | 0;
  27826. c[b >> 2] =
  27827. (c[b >> 2] | 0) +
  27828. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 5) >> 0] |
  27829. 0) <<
  27830. 8);
  27831. o = 10;
  27832. }
  27833. if ((o | 0) == 10) {
  27834. b = c[h >> 2] | 0;
  27835. c[b >> 2] =
  27836. (c[b >> 2] | 0) +
  27837. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 4) >> 0] |
  27838. 0) <<
  27839. 0);
  27840. o = 11;
  27841. }
  27842. if ((o | 0) == 11) {
  27843. b = c[h >> 2] | 0;
  27844. c[b >> 2] =
  27845. (c[b >> 2] | 0) +
  27846. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 3) >> 0] |
  27847. 0) <<
  27848. 24);
  27849. o = 12;
  27850. }
  27851. if ((o | 0) == 12) {
  27852. b = c[h >> 2] | 0;
  27853. c[b >> 2] =
  27854. (c[b >> 2] | 0) +
  27855. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 2) >> 0] |
  27856. 0) <<
  27857. 16);
  27858. o = 13;
  27859. }
  27860. if ((o | 0) == 13) {
  27861. b = c[h >> 2] | 0;
  27862. c[b >> 2] =
  27863. (c[b >> 2] | 0) +
  27864. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 1) >> 0] |
  27865. 0) <<
  27866. 8);
  27867. }
  27868. c[m >> 2] =
  27869. d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
  27870. if (c[m >> 2] | 0) {
  27871. b = (8 - (sv(c[m >> 2] | 0) | 0)) | 0;
  27872. c[((c[h >> 2] | 0) + 4) >> 2] = b;
  27873. b = ((c[h >> 2] | 0) + 4) | 0;
  27874. c[b >> 2] =
  27875. (c[b >> 2] | 0) + ((4 - (c[j >> 2] | 0)) << 3);
  27876. break;
  27877. }
  27878. c[g >> 2] = -1;
  27879. n = c[g >> 2] | 0;
  27880. l = f;
  27881. return n | 0;
  27882. }
  27883. } while (0);
  27884. c[g >> 2] = c[j >> 2];
  27885. n = c[g >> 2] | 0;
  27886. l = f;
  27887. return n | 0;
  27888. }
  27889. function bv(a, b, d) {
  27890. a = a | 0;
  27891. b = b | 0;
  27892. d = d | 0;
  27893. var f = 0,
  27894. g = 0,
  27895. h = 0,
  27896. i = 0,
  27897. j = 0,
  27898. k = 0;
  27899. f = l;
  27900. l = (l + 32) | 0;
  27901. g = (f + 16) | 0;
  27902. h = (f + 12) | 0;
  27903. i = (f + 8) | 0;
  27904. j = (f + 4) | 0;
  27905. k = f;
  27906. c[g >> 2] = a;
  27907. c[h >> 2] = b;
  27908. c[i >> 2] = d;
  27909. c[j >> 2] = c[i >> 2];
  27910. c[k >> 2] = c[j >> 2];
  27911. j = jv(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
  27912. c[c[g >> 2] >> 2] = j;
  27913. cv(c[h >> 2] | 0) | 0;
  27914. c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
  27915. l = f;
  27916. return;
  27917. }
  27918. function cv(a) {
  27919. a = a | 0;
  27920. var b = 0,
  27921. d = 0,
  27922. e = 0,
  27923. f = 0,
  27924. g = 0,
  27925. h = 0,
  27926. i = 0;
  27927. b = l;
  27928. l = (l + 16) | 0;
  27929. d = (b + 12) | 0;
  27930. e = (b + 8) | 0;
  27931. f = (b + 4) | 0;
  27932. g = b;
  27933. c[e >> 2] = a;
  27934. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  27935. c[d >> 2] = 3;
  27936. h = c[d >> 2] | 0;
  27937. l = b;
  27938. return h | 0;
  27939. }
  27940. a = c[e >> 2] | 0;
  27941. if (
  27942. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  27943. (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
  27944. ) {
  27945. i = ((c[e >> 2] | 0) + 8) | 0;
  27946. c[i >> 2] =
  27947. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  27948. i = ((c[e >> 2] | 0) + 4) | 0;
  27949. c[i >> 2] = c[i >> 2] & 7;
  27950. i = ov(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  27951. c[c[e >> 2] >> 2] = i;
  27952. c[d >> 2] = 0;
  27953. h = c[d >> 2] | 0;
  27954. l = b;
  27955. return h | 0;
  27956. }
  27957. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  27958. if (
  27959. (c[(a + 8) >> 2] | 0) !=
  27960. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  27961. ) {
  27962. c[f >> 2] = i >>> 3;
  27963. c[g >> 2] = 0;
  27964. if (
  27965. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  27966. (0 - (c[f >> 2] | 0))) |
  27967. 0) >>>
  27968. 0 <
  27969. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  27970. ) {
  27971. c[f >> 2] =
  27972. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  27973. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  27974. c[g >> 2] = 1;
  27975. }
  27976. a = ((c[e >> 2] | 0) + 8) | 0;
  27977. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  27978. a = ((c[e >> 2] | 0) + 4) | 0;
  27979. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  27980. f = ov(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  27981. c[c[e >> 2] >> 2] = f;
  27982. c[d >> 2] = c[g >> 2];
  27983. h = c[d >> 2] | 0;
  27984. l = b;
  27985. return h | 0;
  27986. }
  27987. if (i >>> 0 < 32) {
  27988. c[d >> 2] = 1;
  27989. h = c[d >> 2] | 0;
  27990. l = b;
  27991. return h | 0;
  27992. } else {
  27993. c[d >> 2] = 2;
  27994. h = c[d >> 2] | 0;
  27995. l = b;
  27996. return h | 0;
  27997. }
  27998. return 0;
  27999. }
  28000. function dv(a, b) {
  28001. a = a | 0;
  28002. b = b | 0;
  28003. var e = 0,
  28004. f = 0,
  28005. g = 0,
  28006. h = 0,
  28007. i = 0,
  28008. j = 0,
  28009. k = 0,
  28010. m = 0,
  28011. n = 0,
  28012. o = 0,
  28013. p = 0,
  28014. q = 0,
  28015. r = 0,
  28016. s = 0,
  28017. t = 0,
  28018. u = 0,
  28019. v = 0,
  28020. w = 0,
  28021. x = 0,
  28022. y = 0,
  28023. z = 0,
  28024. A = 0,
  28025. B = 0,
  28026. C = 0,
  28027. D = 0,
  28028. E = 0,
  28029. F = 0;
  28030. e = l;
  28031. l = (l + 48) | 0;
  28032. f = (e + 44) | 0;
  28033. g = (e + 40) | 0;
  28034. h = (e + 36) | 0;
  28035. i = (e + 32) | 0;
  28036. j = (e + 28) | 0;
  28037. k = (e + 24) | 0;
  28038. m = (e + 20) | 0;
  28039. n = (e + 16) | 0;
  28040. o = (e + 12) | 0;
  28041. p = (e + 8) | 0;
  28042. q = (e + 4) | 0;
  28043. r = e;
  28044. c[f >> 2] = a;
  28045. c[g >> 2] = b;
  28046. c[m >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
  28047. c[n >> 2] = c[((c[g >> 2] | 0) + 48) >> 2];
  28048. c[h >> 2] = (iv(((c[g >> 2] | 0) + 16) | 0) | 0) & 255;
  28049. if (c[h >> 2] | 0) s = c[((c[f >> 2] | 0) + 8) >> 2] | 0;
  28050. else s = c[((c[g >> 2] | 0) + 40) >> 2] | 0;
  28051. c[i >> 2] = s;
  28052. if ((c[h >> 2] | 0) == 63) {
  28053. s = c[m >> 2] | 0;
  28054. c[m >> 2] = s + 1;
  28055. c[o >> 2] = d[s >> 0];
  28056. do {
  28057. if ((c[o >> 2] | 0) >>> 0 >= 255) {
  28058. c[h >> 2] = (Wq(c[m >> 2] | 0) | 0) & 16777215;
  28059. s = c[h >> 2] | 0;
  28060. if ((c[h >> 2] & 1) | 0) {
  28061. c[h >> 2] = s >>> 1;
  28062. c[m >> 2] = (c[m >> 2] | 0) + 3;
  28063. break;
  28064. } else {
  28065. c[h >> 2] = (s & 65535) >> 1;
  28066. c[m >> 2] = (c[m >> 2] | 0) + 2;
  28067. break;
  28068. }
  28069. } else c[h >> 2] = (c[h >> 2] | 0) + (c[o >> 2] | 0);
  28070. } while (0);
  28071. if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
  28072. c[h >> 2] = 318;
  28073. if ((c[m >> 2] | 0) >>> 0 >= (c[n >> 2] | 0) >>> 0)
  28074. c[m >> 2] = (c[n >> 2] | 0) + -1;
  28075. }
  28076. c[p >> 2] = (iv(((c[g >> 2] | 0) + 24) | 0) | 0) & 255;
  28077. o = ((c[p >> 2] | 0) - 1) | 0;
  28078. c[q >> 2] = o;
  28079. c[q >> 2] = (c[p >> 2] | 0) == 0 ? 0 : o;
  28080. o = c[(6880 + (c[p >> 2] << 2)) >> 2] | 0;
  28081. c[j >> 2] = o + (jv(c[g >> 2] | 0, c[q >> 2] | 0) | 0);
  28082. if (kv() | 0) cv(c[g >> 2] | 0) | 0;
  28083. if (!(c[p >> 2] | 0)) c[j >> 2] = c[i >> 2];
  28084. if (c[p >> 2] | ((((c[h >> 2] | 0) != 0) ^ 1) & 1) | 0)
  28085. c[((c[g >> 2] | 0) + 40) >> 2] =
  28086. c[((c[f >> 2] | 0) + 8) >> 2];
  28087. lv(((c[g >> 2] | 0) + 24) | 0, c[g >> 2] | 0) | 0;
  28088. lv(((c[g >> 2] | 0) + 16) | 0, c[g >> 2] | 0) | 0;
  28089. if (kv() | 0) cv(c[g >> 2] | 0) | 0;
  28090. c[k >> 2] =
  28091. (lv(((c[g >> 2] | 0) + 32) | 0, c[g >> 2] | 0) | 0) & 255;
  28092. if ((c[k >> 2] | 0) != 127) {
  28093. t = c[k >> 2] | 0;
  28094. u = (t + 4) | 0;
  28095. c[k >> 2] = u;
  28096. v = c[h >> 2] | 0;
  28097. w = c[f >> 2] | 0;
  28098. c[w >> 2] = v;
  28099. x = c[j >> 2] | 0;
  28100. y = c[f >> 2] | 0;
  28101. z = (y + 8) | 0;
  28102. c[z >> 2] = x;
  28103. A = c[k >> 2] | 0;
  28104. B = c[f >> 2] | 0;
  28105. C = (B + 4) | 0;
  28106. c[C >> 2] = A;
  28107. D = c[m >> 2] | 0;
  28108. E = c[g >> 2] | 0;
  28109. F = (E + 44) | 0;
  28110. c[F >> 2] = D;
  28111. l = e;
  28112. return;
  28113. }
  28114. p = c[m >> 2] | 0;
  28115. c[m >> 2] = p + 1;
  28116. c[r >> 2] = d[p >> 0];
  28117. do {
  28118. if ((c[r >> 2] | 0) >>> 0 >= 255) {
  28119. c[k >> 2] = (Wq(c[m >> 2] | 0) | 0) & 16777215;
  28120. p = c[k >> 2] | 0;
  28121. if ((c[k >> 2] & 1) | 0) {
  28122. c[k >> 2] = p >>> 1;
  28123. c[m >> 2] = (c[m >> 2] | 0) + 3;
  28124. break;
  28125. } else {
  28126. c[k >> 2] = (p & 65535) >> 1;
  28127. c[m >> 2] = (c[m >> 2] | 0) + 2;
  28128. break;
  28129. }
  28130. } else c[k >> 2] = (c[k >> 2] | 0) + (c[r >> 2] | 0);
  28131. } while (0);
  28132. if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
  28133. c[k >> 2] = 382;
  28134. if ((c[m >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0) {
  28135. t = c[k >> 2] | 0;
  28136. u = (t + 4) | 0;
  28137. c[k >> 2] = u;
  28138. v = c[h >> 2] | 0;
  28139. w = c[f >> 2] | 0;
  28140. c[w >> 2] = v;
  28141. x = c[j >> 2] | 0;
  28142. y = c[f >> 2] | 0;
  28143. z = (y + 8) | 0;
  28144. c[z >> 2] = x;
  28145. A = c[k >> 2] | 0;
  28146. B = c[f >> 2] | 0;
  28147. C = (B + 4) | 0;
  28148. c[C >> 2] = A;
  28149. D = c[m >> 2] | 0;
  28150. E = c[g >> 2] | 0;
  28151. F = (E + 44) | 0;
  28152. c[F >> 2] = D;
  28153. l = e;
  28154. return;
  28155. }
  28156. c[m >> 2] = (c[n >> 2] | 0) + -1;
  28157. t = c[k >> 2] | 0;
  28158. u = (t + 4) | 0;
  28159. c[k >> 2] = u;
  28160. v = c[h >> 2] | 0;
  28161. w = c[f >> 2] | 0;
  28162. c[w >> 2] = v;
  28163. x = c[j >> 2] | 0;
  28164. y = c[f >> 2] | 0;
  28165. z = (y + 8) | 0;
  28166. c[z >> 2] = x;
  28167. A = c[k >> 2] | 0;
  28168. B = c[f >> 2] | 0;
  28169. C = (B + 4) | 0;
  28170. c[C >> 2] = A;
  28171. D = c[m >> 2] | 0;
  28172. E = c[g >> 2] | 0;
  28173. F = (E + 44) | 0;
  28174. c[F >> 2] = D;
  28175. l = e;
  28176. return;
  28177. }
  28178. function ev(b, d, e, f, g, h, i, j) {
  28179. b = b | 0;
  28180. d = d | 0;
  28181. e = e | 0;
  28182. f = f | 0;
  28183. g = g | 0;
  28184. h = h | 0;
  28185. i = i | 0;
  28186. j = j | 0;
  28187. var k = 0,
  28188. m = 0,
  28189. n = 0,
  28190. o = 0,
  28191. p = 0,
  28192. q = 0,
  28193. r = 0,
  28194. s = 0,
  28195. t = 0,
  28196. u = 0,
  28197. v = 0,
  28198. w = 0,
  28199. x = 0,
  28200. y = 0,
  28201. z = 0,
  28202. A = 0,
  28203. B = 0,
  28204. C = 0;
  28205. k = l;
  28206. l = (l + 64) | 0;
  28207. m = (k + 60) | 0;
  28208. n = (k + 56) | 0;
  28209. o = (k + 52) | 0;
  28210. p = (k + 48) | 0;
  28211. q = (k + 44) | 0;
  28212. r = (k + 40) | 0;
  28213. s = (k + 36) | 0;
  28214. t = (k + 32) | 0;
  28215. u = (k + 28) | 0;
  28216. v = (k + 24) | 0;
  28217. w = (k + 20) | 0;
  28218. x = (k + 16) | 0;
  28219. y = (k + 12) | 0;
  28220. z = (k + 8) | 0;
  28221. A = (k + 4) | 0;
  28222. B = k;
  28223. c[n >> 2] = b;
  28224. c[o >> 2] = d;
  28225. c[p >> 2] = f;
  28226. c[q >> 2] = g;
  28227. c[r >> 2] = h;
  28228. c[s >> 2] = i;
  28229. c[t >> 2] = j;
  28230. c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
  28231. c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
  28232. c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
  28233. c[x >> 2] = (c[o >> 2] | 0) + -8;
  28234. c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
  28235. c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
  28236. if ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  28237. c[m >> 2] = -70;
  28238. C = c[m >> 2] | 0;
  28239. l = k;
  28240. return C | 0;
  28241. }
  28242. if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  28243. c[m >> 2] = -70;
  28244. C = c[m >> 2] | 0;
  28245. l = k;
  28246. return C | 0;
  28247. }
  28248. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
  28249. c[m >> 2] = -20;
  28250. C = c[m >> 2] | 0;
  28251. l = k;
  28252. return C | 0;
  28253. }
  28254. fv(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
  28255. c[n >> 2] = c[u >> 2];
  28256. c[c[p >> 2] >> 2] = c[y >> 2];
  28257. do {
  28258. if (
  28259. (c[(e + 8) >> 2] | 0) >>> 0 >
  28260. (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
  28261. ) {
  28262. if (
  28263. (c[(e + 8) >> 2] | 0) >>> 0 >
  28264. (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
  28265. ) {
  28266. c[m >> 2] = -20;
  28267. C = c[m >> 2] | 0;
  28268. l = k;
  28269. return C | 0;
  28270. }
  28271. c[z >> 2] =
  28272. (c[t >> 2] | 0) +
  28273. (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
  28274. if (
  28275. (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 <=
  28276. (c[t >> 2] | 0) >>> 0
  28277. ) {
  28278. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) |
  28279. 0;
  28280. c[m >> 2] = c[v >> 2];
  28281. C = c[m >> 2] | 0;
  28282. l = k;
  28283. return C | 0;
  28284. }
  28285. c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
  28286. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
  28287. c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
  28288. y = (e + 4) | 0;
  28289. c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
  28290. c[z >> 2] = c[r >> 2];
  28291. if (
  28292. (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
  28293. ? (c[(e + 4) >> 2] | 0) >>> 0 >= 4
  28294. : 0
  28295. )
  28296. break;
  28297. while (1) {
  28298. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  28299. break;
  28300. y = c[z >> 2] | 0;
  28301. c[z >> 2] = y + 1;
  28302. p = a[y >> 0] | 0;
  28303. y = c[n >> 2] | 0;
  28304. c[n >> 2] = y + 1;
  28305. a[y >> 0] = p;
  28306. }
  28307. c[m >> 2] = c[v >> 2];
  28308. C = c[m >> 2] | 0;
  28309. l = k;
  28310. return C | 0;
  28311. }
  28312. } while (0);
  28313. if ((c[(e + 8) >> 2] | 0) >>> 0 < 8) {
  28314. c[B >> 2] = c[(6816 + (c[(e + 8) >> 2] << 2)) >> 2];
  28315. a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
  28316. a[((c[n >> 2] | 0) + 1) >> 0] =
  28317. a[((c[z >> 2] | 0) + 1) >> 0] | 0;
  28318. a[((c[n >> 2] | 0) + 2) >> 0] =
  28319. a[((c[z >> 2] | 0) + 2) >> 0] | 0;
  28320. a[((c[n >> 2] | 0) + 3) >> 0] =
  28321. a[((c[z >> 2] | 0) + 3) >> 0] | 0;
  28322. c[z >> 2] =
  28323. (c[z >> 2] | 0) +
  28324. (c[(6848 + (c[(e + 8) >> 2] << 2)) >> 2] | 0);
  28325. gv(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
  28326. c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
  28327. } else hv(c[n >> 2] | 0, c[z >> 2] | 0);
  28328. c[n >> 2] = (c[n >> 2] | 0) + 8;
  28329. c[z >> 2] = (c[z >> 2] | 0) + 8;
  28330. B = c[n >> 2] | 0;
  28331. a: do {
  28332. if (
  28333. (c[w >> 2] | 0) >>> 0 >
  28334. (((c[o >> 2] | 0) + -12) | 0) >>> 0
  28335. ) {
  28336. if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
  28337. fv(
  28338. c[n >> 2] | 0,
  28339. c[z >> 2] | 0,
  28340. ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
  28341. );
  28342. c[z >> 2] =
  28343. (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
  28344. c[n >> 2] = c[x >> 2];
  28345. }
  28346. while (1) {
  28347. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  28348. break a;
  28349. r = c[z >> 2] | 0;
  28350. c[z >> 2] = r + 1;
  28351. A = a[r >> 0] | 0;
  28352. r = c[n >> 2] | 0;
  28353. c[n >> 2] = r + 1;
  28354. a[r >> 0] = A;
  28355. }
  28356. } else
  28357. fv(B, c[z >> 2] | 0, ((c[(e + 4) >> 2] | 0) - 8) | 0);
  28358. } while (0);
  28359. c[m >> 2] = c[v >> 2];
  28360. C = c[m >> 2] | 0;
  28361. l = k;
  28362. return C | 0;
  28363. }
  28364. function fv(a, b, d) {
  28365. a = a | 0;
  28366. b = b | 0;
  28367. d = d | 0;
  28368. var e = 0,
  28369. f = 0,
  28370. g = 0,
  28371. h = 0,
  28372. i = 0,
  28373. j = 0,
  28374. k = 0;
  28375. e = l;
  28376. l = (l + 32) | 0;
  28377. f = (e + 20) | 0;
  28378. g = (e + 16) | 0;
  28379. h = (e + 12) | 0;
  28380. i = (e + 8) | 0;
  28381. j = (e + 4) | 0;
  28382. k = e;
  28383. c[f >> 2] = a;
  28384. c[g >> 2] = b;
  28385. c[h >> 2] = d;
  28386. c[i >> 2] = c[g >> 2];
  28387. c[j >> 2] = c[f >> 2];
  28388. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  28389. do {
  28390. hv(c[j >> 2] | 0, c[i >> 2] | 0);
  28391. c[j >> 2] = (c[j >> 2] | 0) + 8;
  28392. c[i >> 2] = (c[i >> 2] | 0) + 8;
  28393. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  28394. l = e;
  28395. return;
  28396. }
  28397. function gv(b, d) {
  28398. b = b | 0;
  28399. d = d | 0;
  28400. var e = 0,
  28401. f = 0,
  28402. g = 0;
  28403. e = l;
  28404. l = (l + 16) | 0;
  28405. f = (e + 4) | 0;
  28406. g = e;
  28407. c[f >> 2] = b;
  28408. c[g >> 2] = d;
  28409. d = c[f >> 2] | 0;
  28410. f = c[g >> 2] | 0;
  28411. a[d >> 0] = a[f >> 0] | 0;
  28412. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  28413. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  28414. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  28415. l = e;
  28416. return;
  28417. }
  28418. function hv(b, d) {
  28419. b = b | 0;
  28420. d = d | 0;
  28421. var e = 0,
  28422. f = 0,
  28423. g = 0;
  28424. e = l;
  28425. l = (l + 16) | 0;
  28426. f = (e + 4) | 0;
  28427. g = e;
  28428. c[f >> 2] = b;
  28429. c[g >> 2] = d;
  28430. d = c[f >> 2] | 0;
  28431. f = c[g >> 2] | 0;
  28432. a[d >> 0] = a[f >> 0] | 0;
  28433. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  28434. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  28435. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  28436. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  28437. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  28438. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  28439. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  28440. l = e;
  28441. return;
  28442. }
  28443. function iv(d) {
  28444. d = d | 0;
  28445. var e = 0,
  28446. f = 0,
  28447. g = 0;
  28448. e = l;
  28449. l = (l + 16) | 0;
  28450. f = e;
  28451. g = (e + 4) | 0;
  28452. c[f >> 2] = d;
  28453. d =
  28454. ((c[((c[f >> 2] | 0) + 4) >> 2] | 0) +
  28455. (c[c[f >> 2] >> 2] << 2)) |
  28456. 0;
  28457. b[g >> 1] = b[d >> 1] | 0;
  28458. b[(g + 2) >> 1] = b[(d + 2) >> 1] | 0;
  28459. l = e;
  28460. return a[(g + 2) >> 0] | 0;
  28461. }
  28462. function jv(a, b) {
  28463. a = a | 0;
  28464. b = b | 0;
  28465. var d = 0,
  28466. e = 0,
  28467. f = 0,
  28468. g = 0;
  28469. d = l;
  28470. l = (l + 16) | 0;
  28471. e = (d + 8) | 0;
  28472. f = (d + 4) | 0;
  28473. g = d;
  28474. c[e >> 2] = a;
  28475. c[f >> 2] = b;
  28476. c[g >> 2] = mv(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  28477. nv(c[e >> 2] | 0, c[f >> 2] | 0);
  28478. l = d;
  28479. return c[g >> 2] | 0;
  28480. }
  28481. function kv() {
  28482. return 1;
  28483. }
  28484. function lv(f, g) {
  28485. f = f | 0;
  28486. g = g | 0;
  28487. var h = 0,
  28488. i = 0,
  28489. j = 0,
  28490. k = 0,
  28491. m = 0,
  28492. n = 0,
  28493. o = 0;
  28494. h = l;
  28495. l = (l + 32) | 0;
  28496. i = (h + 12) | 0;
  28497. j = (h + 8) | 0;
  28498. k = (h + 16) | 0;
  28499. m = (h + 4) | 0;
  28500. n = (h + 20) | 0;
  28501. o = h;
  28502. c[i >> 2] = f;
  28503. c[j >> 2] = g;
  28504. g =
  28505. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  28506. (c[c[i >> 2] >> 2] << 2)) |
  28507. 0;
  28508. b[k >> 1] = b[g >> 1] | 0;
  28509. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  28510. c[m >> 2] = d[(k + 3) >> 0];
  28511. a[n >> 0] = a[(k + 2) >> 0] | 0;
  28512. c[o >> 2] = jv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  28513. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  28514. l = h;
  28515. return a[n >> 0] | 0;
  28516. }
  28517. function mv(a, b) {
  28518. a = a | 0;
  28519. b = b | 0;
  28520. var d = 0,
  28521. e = 0,
  28522. f = 0;
  28523. d = l;
  28524. l = (l + 16) | 0;
  28525. e = (d + 8) | 0;
  28526. f = (d + 4) | 0;
  28527. c[e >> 2] = a;
  28528. c[f >> 2] = b;
  28529. c[d >> 2] = 31;
  28530. l = d;
  28531. return (
  28532. (((c[c[e >> 2] >> 2] <<
  28533. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  28534. 1) >>>
  28535. ((31 - (c[f >> 2] | 0)) & 31)) |
  28536. 0
  28537. );
  28538. }
  28539. function nv(a, b) {
  28540. a = a | 0;
  28541. b = b | 0;
  28542. var d = 0,
  28543. e = 0,
  28544. f = 0;
  28545. d = l;
  28546. l = (l + 16) | 0;
  28547. e = (d + 4) | 0;
  28548. f = d;
  28549. c[e >> 2] = a;
  28550. c[f >> 2] = b;
  28551. b = ((c[e >> 2] | 0) + 4) | 0;
  28552. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  28553. l = d;
  28554. return;
  28555. }
  28556. function ov(a) {
  28557. a = a | 0;
  28558. var b = 0,
  28559. d = 0,
  28560. e = 0,
  28561. f = 0,
  28562. g = 0;
  28563. b = l;
  28564. l = (l + 16) | 0;
  28565. d = (b + 4) | 0;
  28566. e = b;
  28567. c[e >> 2] = a;
  28568. a = (kv() | 0) != 0;
  28569. f = c[e >> 2] | 0;
  28570. if (a) {
  28571. c[d >> 2] = Wq(f) | 0;
  28572. g = c[d >> 2] | 0;
  28573. l = b;
  28574. return g | 0;
  28575. } else {
  28576. a = pv(f) | 0;
  28577. c[d >> 2] = a;
  28578. g = c[d >> 2] | 0;
  28579. l = b;
  28580. return g | 0;
  28581. }
  28582. return 0;
  28583. }
  28584. function pv(a) {
  28585. a = a | 0;
  28586. var b = 0,
  28587. d = 0,
  28588. e = 0,
  28589. f = 0;
  28590. b = l;
  28591. l = (l + 16) | 0;
  28592. d = b;
  28593. e = (b + 8) | 0;
  28594. c[e >> 2] = a;
  28595. a = (Xq() | 0) != 0;
  28596. f = qv(c[e >> 2] | 0) | 0;
  28597. e = y;
  28598. if (a) {
  28599. a = d;
  28600. c[a >> 2] = f;
  28601. c[(a + 4) >> 2] = e;
  28602. } else {
  28603. a = rv(f, e) | 0;
  28604. e = d;
  28605. c[e >> 2] = a;
  28606. c[(e + 4) >> 2] = y;
  28607. }
  28608. e = d;
  28609. y = c[(e + 4) >> 2] | 0;
  28610. l = b;
  28611. return c[e >> 2] | 0;
  28612. }
  28613. function qv(a) {
  28614. a = a | 0;
  28615. var b = 0,
  28616. e = 0,
  28617. f = 0;
  28618. b = l;
  28619. l = (l + 16) | 0;
  28620. e = b;
  28621. c[e >> 2] = a;
  28622. a = c[e >> 2] | 0;
  28623. e = a;
  28624. f = (a + 4) | 0;
  28625. y =
  28626. d[f >> 0] |
  28627. (d[(f + 1) >> 0] << 8) |
  28628. (d[(f + 2) >> 0] << 16) |
  28629. (d[(f + 3) >> 0] << 24);
  28630. l = b;
  28631. return (
  28632. d[e >> 0] |
  28633. (d[(e + 1) >> 0] << 8) |
  28634. (d[(e + 2) >> 0] << 16) |
  28635. (d[(e + 3) >> 0] << 24) |
  28636. 0
  28637. );
  28638. }
  28639. function rv(a, b) {
  28640. a = a | 0;
  28641. b = b | 0;
  28642. var d = 0,
  28643. e = 0,
  28644. f = 0,
  28645. g = 0,
  28646. h = 0;
  28647. d = l;
  28648. l = (l + 16) | 0;
  28649. e = d;
  28650. f = e;
  28651. c[f >> 2] = a;
  28652. c[(f + 4) >> 2] = b;
  28653. b = e;
  28654. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  28655. b = y & -16777216;
  28656. f = e;
  28657. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  28658. f = b | (y & 16711680);
  28659. b = e;
  28660. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  28661. b = f | (y & 65280);
  28662. f = e;
  28663. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  28664. f = b | (y & 255);
  28665. b = e;
  28666. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  28667. b = e;
  28668. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  28669. b = e;
  28670. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  28671. b = e;
  28672. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  28673. y = f;
  28674. l = d;
  28675. return (
  28676. (a & -16777216) |
  28677. (g & 16711680) |
  28678. (h & 65280) |
  28679. (e & 255) |
  28680. 0
  28681. );
  28682. }
  28683. function sv(a) {
  28684. a = a | 0;
  28685. var b = 0,
  28686. d = 0;
  28687. b = l;
  28688. l = (l + 16) | 0;
  28689. d = b;
  28690. c[d >> 2] = a;
  28691. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  28692. l = b;
  28693. return a | 0;
  28694. }
  28695. function tv(d, e) {
  28696. d = d | 0;
  28697. e = e | 0;
  28698. var f = 0,
  28699. g = 0,
  28700. h = 0,
  28701. i = 0,
  28702. j = 0,
  28703. k = 0,
  28704. m = 0;
  28705. f = l;
  28706. l = (l + 32) | 0;
  28707. g = (f + 16) | 0;
  28708. h = (f + 20) | 0;
  28709. i = (f + 12) | 0;
  28710. j = (f + 8) | 0;
  28711. k = (f + 4) | 0;
  28712. m = f;
  28713. c[g >> 2] = d;
  28714. a[h >> 0] = e;
  28715. c[i >> 2] = c[g >> 2];
  28716. c[j >> 2] = c[i >> 2];
  28717. c[k >> 2] = (c[g >> 2] | 0) + 4;
  28718. c[m >> 2] = c[k >> 2];
  28719. b[c[j >> 2] >> 1] = 0;
  28720. b[((c[j >> 2] | 0) + 2) >> 1] = 0;
  28721. b[c[m >> 2] >> 1] = 0;
  28722. a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
  28723. a[((c[m >> 2] | 0) + 3) >> 0] = 0;
  28724. l = f;
  28725. return 0;
  28726. }
  28727. function uv(d, e) {
  28728. d = d | 0;
  28729. e = e | 0;
  28730. var f = 0,
  28731. g = 0,
  28732. h = 0,
  28733. i = 0,
  28734. j = 0,
  28735. k = 0,
  28736. m = 0,
  28737. n = 0,
  28738. o = 0,
  28739. p = 0,
  28740. q = 0,
  28741. r = 0,
  28742. s = 0;
  28743. f = l;
  28744. l = (l + 48) | 0;
  28745. g = (f + 40) | 0;
  28746. h = (f + 36) | 0;
  28747. i = (f + 32) | 0;
  28748. j = (f + 28) | 0;
  28749. k = (f + 24) | 0;
  28750. m = (f + 20) | 0;
  28751. n = (f + 16) | 0;
  28752. o = (f + 12) | 0;
  28753. p = (f + 8) | 0;
  28754. q = (f + 4) | 0;
  28755. r = f;
  28756. c[h >> 2] = d;
  28757. c[i >> 2] = e;
  28758. c[j >> 2] = c[h >> 2];
  28759. c[k >> 2] = c[j >> 2];
  28760. c[m >> 2] = (c[h >> 2] | 0) + 4;
  28761. c[n >> 2] = c[m >> 2];
  28762. c[o >> 2] = 1 << c[i >> 2];
  28763. c[p >> 2] = (c[o >> 2] | 0) - 1;
  28764. c[q >> 2] = c[p >> 2];
  28765. if ((c[i >> 2] | 0) >>> 0 < 1) {
  28766. c[g >> 2] = -1;
  28767. s = c[g >> 2] | 0;
  28768. l = f;
  28769. return s | 0;
  28770. }
  28771. b[c[k >> 2] >> 1] = c[i >> 2];
  28772. b[((c[k >> 2] | 0) + 2) >> 1] = 1;
  28773. c[r >> 2] = 0;
  28774. while (1) {
  28775. if ((c[r >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
  28776. b[((c[n >> 2] | 0) + (c[r >> 2] << 2)) >> 1] = 0;
  28777. a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] =
  28778. c[r >> 2];
  28779. a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 3) >> 0] =
  28780. c[i >> 2];
  28781. c[r >> 2] = (c[r >> 2] | 0) + 1;
  28782. }
  28783. c[g >> 2] = 0;
  28784. s = c[g >> 2] | 0;
  28785. l = f;
  28786. return s | 0;
  28787. }
  28788. function vv(a, d, e, f, g) {
  28789. a = a | 0;
  28790. d = d | 0;
  28791. e = e | 0;
  28792. f = f | 0;
  28793. g = g | 0;
  28794. var h = 0,
  28795. i = 0,
  28796. j = 0,
  28797. k = 0,
  28798. m = 0,
  28799. n = 0,
  28800. o = 0,
  28801. p = 0,
  28802. q = 0,
  28803. r = 0,
  28804. s = 0,
  28805. t = 0,
  28806. u = 0,
  28807. v = 0,
  28808. w = 0,
  28809. x = 0,
  28810. y = 0,
  28811. z = 0,
  28812. A = 0,
  28813. B = 0,
  28814. C = 0,
  28815. D = 0;
  28816. h = l;
  28817. l = (l + 80) | 0;
  28818. i = (h + 64) | 0;
  28819. j = (h + 60) | 0;
  28820. k = (h + 56) | 0;
  28821. m = (h + 52) | 0;
  28822. n = (h + 48) | 0;
  28823. o = (h + 44) | 0;
  28824. p = (h + 40) | 0;
  28825. q = (h + 36) | 0;
  28826. r = (h + 32) | 0;
  28827. s = (h + 28) | 0;
  28828. t = (h + 24) | 0;
  28829. u = (h + 20) | 0;
  28830. v = (h + 16) | 0;
  28831. w = (h + 12) | 0;
  28832. x = (h + 8) | 0;
  28833. y = (h + 4) | 0;
  28834. z = h;
  28835. A = (h + 70) | 0;
  28836. B = (h + 68) | 0;
  28837. c[j >> 2] = a;
  28838. c[k >> 2] = d;
  28839. c[m >> 2] = e;
  28840. c[n >> 2] = f;
  28841. c[o >> 2] = g;
  28842. c[p >> 2] = c[n >> 2];
  28843. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  28844. c[r >> 2] = c[p >> 2];
  28845. c[x >> 2] = 0;
  28846. c[y >> 2] = 0;
  28847. if ((c[o >> 2] | 0) >>> 0 < 4) {
  28848. c[i >> 2] = -72;
  28849. C = c[i >> 2] | 0;
  28850. l = h;
  28851. return C | 0;
  28852. }
  28853. c[v >> 2] = Wq(c[r >> 2] | 0) | 0;
  28854. c[s >> 2] = (c[v >> 2] & 15) + 5;
  28855. if ((c[s >> 2] | 0) > 15) {
  28856. c[i >> 2] = -44;
  28857. C = c[i >> 2] | 0;
  28858. l = h;
  28859. return C | 0;
  28860. }
  28861. c[v >> 2] = (c[v >> 2] | 0) >>> 4;
  28862. c[w >> 2] = 4;
  28863. c[c[m >> 2] >> 2] = c[s >> 2];
  28864. c[t >> 2] = (1 << c[s >> 2]) + 1;
  28865. c[u >> 2] = 1 << c[s >> 2];
  28866. c[s >> 2] = (c[s >> 2] | 0) + 1;
  28867. a: while (1) {
  28868. if ((c[t >> 2] | 0) <= 1) break;
  28869. if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
  28870. break;
  28871. do {
  28872. if (c[y >> 2] | 0) {
  28873. c[z >> 2] = c[x >> 2];
  28874. while (1) {
  28875. if (((c[v >> 2] & 65535) | 0) != 65535) break;
  28876. c[z >> 2] = (c[z >> 2] | 0) + 24;
  28877. if (
  28878. (c[r >> 2] | 0) >>> 0 <
  28879. (((c[q >> 2] | 0) + -5) | 0) >>> 0
  28880. ) {
  28881. c[r >> 2] = (c[r >> 2] | 0) + 2;
  28882. m = Wq(c[r >> 2] | 0) | 0;
  28883. c[v >> 2] = m >>> (c[w >> 2] | 0);
  28884. } else {
  28885. c[v >> 2] = (c[v >> 2] | 0) >>> 16;
  28886. c[w >> 2] = (c[w >> 2] | 0) + 16;
  28887. }
  28888. }
  28889. while (1) {
  28890. if (((c[v >> 2] & 3) | 0) != 3) break;
  28891. c[z >> 2] = (c[z >> 2] | 0) + 3;
  28892. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  28893. c[w >> 2] = (c[w >> 2] | 0) + 2;
  28894. }
  28895. c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
  28896. c[w >> 2] = (c[w >> 2] | 0) + 2;
  28897. if (
  28898. (c[z >> 2] | 0) >>> 0 >
  28899. (c[c[k >> 2] >> 2] | 0) >>> 0
  28900. ) {
  28901. D = 19;
  28902. break a;
  28903. }
  28904. while (1) {
  28905. if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
  28906. break;
  28907. m = c[j >> 2] | 0;
  28908. n = c[x >> 2] | 0;
  28909. c[x >> 2] = n + 1;
  28910. b[(m + (n << 1)) >> 1] = 0;
  28911. }
  28912. if (
  28913. (c[r >> 2] | 0) >>> 0 >
  28914. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  28915. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  28916. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  28917. : 0
  28918. ) {
  28919. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  28920. break;
  28921. }
  28922. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  28923. c[w >> 2] = c[w >> 2] & 7;
  28924. n = Wq(c[r >> 2] | 0) | 0;
  28925. c[v >> 2] = n >>> (c[w >> 2] | 0);
  28926. }
  28927. } while (0);
  28928. b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
  28929. n = c[v >> 2] | 0;
  28930. m = c[u >> 2] | 0;
  28931. if (
  28932. (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
  28933. (b[A >> 1] | 0) >>> 0
  28934. ) {
  28935. b[B >> 1] = n & (m - 1);
  28936. c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
  28937. } else {
  28938. b[B >> 1] = n & ((m << 1) - 1);
  28939. if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
  28940. b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
  28941. c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
  28942. }
  28943. b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
  28944. m = ((zv(b[B >> 1] | 0) | 0) << 16) >> 16;
  28945. c[t >> 2] = (c[t >> 2] | 0) - m;
  28946. m = b[B >> 1] | 0;
  28947. n = c[j >> 2] | 0;
  28948. g = c[x >> 2] | 0;
  28949. c[x >> 2] = g + 1;
  28950. b[(n + (g << 1)) >> 1] = m;
  28951. c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
  28952. while (1) {
  28953. if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
  28954. c[s >> 2] = (c[s >> 2] | 0) + -1;
  28955. c[u >> 2] = c[u >> 2] >> 1;
  28956. }
  28957. if (
  28958. (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
  28959. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  28960. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  28961. : 0
  28962. ) {
  28963. c[w >> 2] =
  28964. (c[w >> 2] | 0) -
  28965. (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
  28966. c[r >> 2] = (c[q >> 2] | 0) + -4;
  28967. } else {
  28968. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  28969. c[w >> 2] = c[w >> 2] & 7;
  28970. }
  28971. m = Wq(c[r >> 2] | 0) | 0;
  28972. c[v >> 2] = m >>> (c[w >> 2] & 31);
  28973. }
  28974. if ((D | 0) == 19) {
  28975. c[i >> 2] = -48;
  28976. C = c[i >> 2] | 0;
  28977. l = h;
  28978. return C | 0;
  28979. }
  28980. if ((c[t >> 2] | 0) != 1) {
  28981. c[i >> 2] = -1;
  28982. C = c[i >> 2] | 0;
  28983. l = h;
  28984. return C | 0;
  28985. }
  28986. c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
  28987. c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
  28988. if (
  28989. (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
  28990. (c[o >> 2] | 0) >>> 0
  28991. ) {
  28992. c[i >> 2] = -72;
  28993. C = c[i >> 2] | 0;
  28994. l = h;
  28995. return C | 0;
  28996. } else {
  28997. c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
  28998. C = c[i >> 2] | 0;
  28999. l = h;
  29000. return C | 0;
  29001. }
  29002. return 0;
  29003. }
  29004. function wv(a) {
  29005. a = a | 0;
  29006. var b = 0,
  29007. d = 0;
  29008. b = l;
  29009. l = (l + 16) | 0;
  29010. d = b;
  29011. c[d >> 2] = a;
  29012. a = nr(c[d >> 2] | 0) | 0;
  29013. l = b;
  29014. return a | 0;
  29015. }
  29016. function xv(f, g, h, i) {
  29017. f = f | 0;
  29018. g = g | 0;
  29019. h = h | 0;
  29020. i = i | 0;
  29021. var j = 0,
  29022. k = 0,
  29023. m = 0,
  29024. n = 0,
  29025. o = 0,
  29026. p = 0,
  29027. q = 0,
  29028. r = 0,
  29029. s = 0,
  29030. t = 0,
  29031. u = 0,
  29032. v = 0,
  29033. w = 0,
  29034. x = 0,
  29035. y = 0,
  29036. z = 0,
  29037. A = 0,
  29038. B = 0,
  29039. C = 0,
  29040. D = 0,
  29041. E = 0,
  29042. F = 0,
  29043. G = 0,
  29044. H = 0;
  29045. j = l;
  29046. l = (l + 592) | 0;
  29047. k = (j + 572) | 0;
  29048. m = (j + 568) | 0;
  29049. n = (j + 564) | 0;
  29050. o = (j + 560) | 0;
  29051. p = (j + 556) | 0;
  29052. q = (j + 580) | 0;
  29053. r = (j + 552) | 0;
  29054. s = (j + 548) | 0;
  29055. t = (j + 544) | 0;
  29056. u = (j + 540) | 0;
  29057. v = (j + 536) | 0;
  29058. w = j;
  29059. x = (j + 532) | 0;
  29060. y = (j + 528) | 0;
  29061. z = (j + 578) | 0;
  29062. A = (j + 524) | 0;
  29063. B = (j + 520) | 0;
  29064. C = (j + 516) | 0;
  29065. D = (j + 512) | 0;
  29066. E = (j + 584) | 0;
  29067. F = (j + 576) | 0;
  29068. c[m >> 2] = f;
  29069. c[n >> 2] = g;
  29070. c[o >> 2] = h;
  29071. c[p >> 2] = i;
  29072. c[r >> 2] = (c[m >> 2] | 0) + 4;
  29073. c[s >> 2] = c[r >> 2];
  29074. c[t >> 2] = 1 << c[p >> 2];
  29075. c[u >> 2] = (c[t >> 2] | 0) - 1;
  29076. c[v >> 2] = yv(c[t >> 2] | 0) | 0;
  29077. c[x >> 2] = 0;
  29078. c[y >> 2] = (c[t >> 2] | 0) - 1;
  29079. b[z >> 1] = 1 << ((c[p >> 2] | 0) - 1);
  29080. c[A >> 2] = 1;
  29081. if ((c[o >> 2] | 0) >>> 0 > 255) {
  29082. c[k >> 2] = -46;
  29083. G = c[k >> 2] | 0;
  29084. l = j;
  29085. return G | 0;
  29086. }
  29087. if ((c[p >> 2] | 0) >>> 0 > 12) {
  29088. c[k >> 2] = -44;
  29089. G = c[k >> 2] | 0;
  29090. l = j;
  29091. return G | 0;
  29092. }
  29093. b[q >> 1] = c[p >> 2];
  29094. c[B >> 2] = 0;
  29095. while (1) {
  29096. if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  29097. if (
  29098. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) ==
  29099. -1
  29100. ) {
  29101. r = c[B >> 2] & 255;
  29102. i = c[s >> 2] | 0;
  29103. h = c[y >> 2] | 0;
  29104. c[y >> 2] = h + -1;
  29105. a[(i + (h << 2) + 2) >> 0] = r;
  29106. b[(w + (c[B >> 2] << 1)) >> 1] = 1;
  29107. } else {
  29108. if (
  29109. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) >=
  29110. (b[z >> 1] | 0)
  29111. )
  29112. c[A >> 2] = 0;
  29113. b[(w + (c[B >> 2] << 1)) >> 1] =
  29114. b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0;
  29115. }
  29116. c[B >> 2] = (c[B >> 2] | 0) + 1;
  29117. }
  29118. c[B >> 2] = 0;
  29119. while (1) {
  29120. if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  29121. c[C >> 2] = 0;
  29122. while (1) {
  29123. H = c[B >> 2] | 0;
  29124. if (
  29125. (c[C >> 2] | 0) >=
  29126. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
  29127. )
  29128. break;
  29129. a[((c[s >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] = H;
  29130. c[x >> 2] =
  29131. ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
  29132. while (1) {
  29133. if ((c[x >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0)
  29134. break;
  29135. c[x >> 2] =
  29136. ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
  29137. }
  29138. c[C >> 2] = (c[C >> 2] | 0) + 1;
  29139. }
  29140. c[B >> 2] = H + 1;
  29141. }
  29142. if (c[x >> 2] | 0) {
  29143. c[k >> 2] = -1;
  29144. G = c[k >> 2] | 0;
  29145. l = j;
  29146. return G | 0;
  29147. }
  29148. c[D >> 2] = 0;
  29149. while (1) {
  29150. if ((c[D >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  29151. a[E >> 0] =
  29152. a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0;
  29153. x = (w + (d[E >> 0] << 1)) | 0;
  29154. H = b[x >> 1] | 0;
  29155. b[x >> 1] = ((H + 1) << 16) >> 16;
  29156. b[F >> 1] = H;
  29157. H = c[p >> 2] | 0;
  29158. x = (H - (sv(e[F >> 1] | 0) | 0)) & 255;
  29159. a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] = x;
  29160. b[((c[s >> 2] | 0) + (c[D >> 2] << 2)) >> 1] =
  29161. (e[F >> 1] <<
  29162. d[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0]) -
  29163. (c[t >> 2] | 0);
  29164. c[D >> 2] = (c[D >> 2] | 0) + 1;
  29165. }
  29166. b[(q + 2) >> 1] = c[A >> 2];
  29167. A = c[m >> 2] | 0;
  29168. b[A >> 1] = b[q >> 1] | 0;
  29169. b[(A + 2) >> 1] = b[(q + 2) >> 1] | 0;
  29170. c[k >> 2] = 0;
  29171. G = c[k >> 2] | 0;
  29172. l = j;
  29173. return G | 0;
  29174. }
  29175. function yv(a) {
  29176. a = a | 0;
  29177. var b = 0,
  29178. d = 0;
  29179. b = l;
  29180. l = (l + 16) | 0;
  29181. d = b;
  29182. c[d >> 2] = a;
  29183. l = b;
  29184. return (
  29185. (((c[d >> 2] | 0) >>> 1) + ((c[d >> 2] | 0) >>> 3) + 3) | 0
  29186. );
  29187. }
  29188. function zv(a) {
  29189. a = a | 0;
  29190. var c = 0,
  29191. d = 0;
  29192. c = l;
  29193. l = (l + 16) | 0;
  29194. d = c;
  29195. b[d >> 1] = a;
  29196. a = b[d >> 1] | 0;
  29197. l = c;
  29198. return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
  29199. }
  29200. function Av(a, d, e, f) {
  29201. a = a | 0;
  29202. d = d | 0;
  29203. e = e | 0;
  29204. f = f | 0;
  29205. var g = 0,
  29206. h = 0,
  29207. i = 0,
  29208. j = 0,
  29209. k = 0,
  29210. m = 0,
  29211. n = 0,
  29212. o = 0,
  29213. p = 0,
  29214. q = 0;
  29215. g = l;
  29216. l = (l + 8224) | 0;
  29217. h = (g + 8220) | 0;
  29218. i = (g + 8216) | 0;
  29219. j = (g + 8212) | 0;
  29220. k = (g + 8208) | 0;
  29221. m = (g + 8204) | 0;
  29222. n = g;
  29223. o = (g + 8200) | 0;
  29224. p = (g + 8196) | 0;
  29225. c[i >> 2] = a;
  29226. c[j >> 2] = d;
  29227. c[k >> 2] = e;
  29228. c[m >> 2] = f;
  29229. oE(n | 0, 0, 8194) | 0;
  29230. b[n >> 1] = 12;
  29231. c[o >> 2] = c[k >> 2];
  29232. c[p >> 2] = _v(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  29233. k = (Cv(c[p >> 2] | 0) | 0) != 0;
  29234. f = c[p >> 2] | 0;
  29235. if (k) {
  29236. c[h >> 2] = f;
  29237. q = c[h >> 2] | 0;
  29238. l = g;
  29239. return q | 0;
  29240. }
  29241. if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
  29242. c[h >> 2] = -72;
  29243. q = c[h >> 2] | 0;
  29244. l = g;
  29245. return q | 0;
  29246. } else {
  29247. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  29248. c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
  29249. c[h >> 2] =
  29250. cw(
  29251. c[i >> 2] | 0,
  29252. c[j >> 2] | 0,
  29253. c[o >> 2] | 0,
  29254. c[m >> 2] | 0,
  29255. n
  29256. ) | 0;
  29257. q = c[h >> 2] | 0;
  29258. l = g;
  29259. return q | 0;
  29260. }
  29261. return 0;
  29262. }
  29263. function Bv(a, b, e, f) {
  29264. a = a | 0;
  29265. b = b | 0;
  29266. e = e | 0;
  29267. f = f | 0;
  29268. var g = 0,
  29269. h = 0,
  29270. i = 0,
  29271. j = 0,
  29272. k = 0,
  29273. m = 0,
  29274. n = 0,
  29275. o = 0,
  29276. p = 0,
  29277. q = 0,
  29278. r = 0,
  29279. s = 0;
  29280. g = l;
  29281. l = (l + 48) | 0;
  29282. h = (g + 44) | 0;
  29283. i = (g + 40) | 0;
  29284. j = (g + 36) | 0;
  29285. k = (g + 32) | 0;
  29286. m = (g + 28) | 0;
  29287. n = (g + 24) | 0;
  29288. o = (g + 20) | 0;
  29289. p = (g + 8) | 0;
  29290. q = (g + 4) | 0;
  29291. r = g;
  29292. c[i >> 2] = a;
  29293. c[j >> 2] = b;
  29294. c[k >> 2] = e;
  29295. c[m >> 2] = f;
  29296. c[o >> 2] = (c[j >> 2] | 0) >>> 8;
  29297. c[q >> 2] = 0;
  29298. if (!(c[j >> 2] | 0)) {
  29299. c[h >> 2] = -70;
  29300. s = c[h >> 2] | 0;
  29301. l = g;
  29302. return s | 0;
  29303. }
  29304. if ((c[m >> 2] | 0) >>> 0 >= (c[j >> 2] | 0) >>> 0) {
  29305. c[h >> 2] = -20;
  29306. s = c[h >> 2] | 0;
  29307. l = g;
  29308. return s | 0;
  29309. }
  29310. if ((c[m >> 2] | 0) == 1) {
  29311. oE(
  29312. c[i >> 2] | 0,
  29313. ((d[c[k >> 2] >> 0] | 0) & 255) | 0,
  29314. c[j >> 2] | 0
  29315. ) | 0;
  29316. c[h >> 2] = c[j >> 2];
  29317. s = c[h >> 2] | 0;
  29318. l = g;
  29319. return s | 0;
  29320. }
  29321. c[n >> 2] =
  29322. (((c[m >> 2] << 4) >>> 0) / ((c[j >> 2] | 0) >>> 0)) | 0;
  29323. c[r >> 2] = 0;
  29324. while (1) {
  29325. if ((c[r >> 2] | 0) >= 3) break;
  29326. f =
  29327. ((c[
  29328. (7008 +
  29329. (((c[n >> 2] | 0) * 24) | 0) +
  29330. (c[r >> 2] << 3)) >>
  29331. 2
  29332. ] |
  29333. 0) +
  29334. (N(
  29335. c[
  29336. (7008 +
  29337. (((c[n >> 2] | 0) * 24) | 0) +
  29338. (c[r >> 2] << 3) +
  29339. 4) >>
  29340. 2
  29341. ] | 0,
  29342. c[o >> 2] | 0
  29343. ) |
  29344. 0)) |
  29345. 0;
  29346. c[(p + (c[r >> 2] << 2)) >> 2] = f;
  29347. c[r >> 2] = (c[r >> 2] | 0) + 1;
  29348. }
  29349. r = (p + 4) | 0;
  29350. c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 4) >> 2] | 0) >>> 4);
  29351. r = (p + 8) | 0;
  29352. c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 8) >> 2] | 0) >>> 3);
  29353. if ((c[(p + 4) >> 2] | 0) >>> 0 < (c[p >> 2] | 0) >>> 0)
  29354. c[q >> 2] = 1;
  29355. c[h >> 2] =
  29356. sc[c[(11976 + (c[q >> 2] << 2)) >> 2] & 15](
  29357. c[i >> 2] | 0,
  29358. c[j >> 2] | 0,
  29359. c[k >> 2] | 0,
  29360. c[m >> 2] | 0
  29361. ) | 0;
  29362. s = c[h >> 2] | 0;
  29363. l = g;
  29364. return s | 0;
  29365. }
  29366. function Cv(a) {
  29367. a = a | 0;
  29368. var b = 0,
  29369. d = 0;
  29370. b = l;
  29371. l = (l + 16) | 0;
  29372. d = b;
  29373. c[d >> 2] = a;
  29374. a = nr(c[d >> 2] | 0) | 0;
  29375. l = b;
  29376. return a | 0;
  29377. }
  29378. function Dv(a, b, d, e, f) {
  29379. a = a | 0;
  29380. b = b | 0;
  29381. d = d | 0;
  29382. e = e | 0;
  29383. f = f | 0;
  29384. var g = 0,
  29385. h = 0,
  29386. i = 0,
  29387. j = 0,
  29388. k = 0,
  29389. m = 0,
  29390. n = 0,
  29391. o = 0,
  29392. p = 0,
  29393. q = 0,
  29394. r = 0,
  29395. s = 0,
  29396. t = 0,
  29397. u = 0,
  29398. v = 0,
  29399. w = 0;
  29400. g = l;
  29401. l = (l + 80) | 0;
  29402. h = (g + 64) | 0;
  29403. i = (g + 60) | 0;
  29404. j = (g + 56) | 0;
  29405. k = (g + 52) | 0;
  29406. m = (g + 48) | 0;
  29407. n = (g + 44) | 0;
  29408. o = (g + 40) | 0;
  29409. p = (g + 36) | 0;
  29410. q = (g + 32) | 0;
  29411. r = (g + 28) | 0;
  29412. s = (g + 24) | 0;
  29413. t = (g + 20) | 0;
  29414. u = (g + 16) | 0;
  29415. v = g;
  29416. c[i >> 2] = a;
  29417. c[j >> 2] = b;
  29418. c[k >> 2] = d;
  29419. c[m >> 2] = e;
  29420. c[n >> 2] = f;
  29421. c[o >> 2] = c[k >> 2];
  29422. c[p >> 2] = c[i >> 2];
  29423. c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
  29424. c[r >> 2] = c[c[n >> 2] >> 2];
  29425. c[s >> 2] = c[n >> 2];
  29426. c[t >> 2] = (c[s >> 2] | 0) + 4;
  29427. c[u >> 2] = av(v, c[o >> 2] | 0, c[m >> 2] | 0) | 0;
  29428. if (Cv(c[u >> 2] | 0) | 0) {
  29429. c[h >> 2] = c[u >> 2];
  29430. w = c[h >> 2] | 0;
  29431. l = g;
  29432. return w | 0;
  29433. }
  29434. Ev(
  29435. c[p >> 2] | 0,
  29436. v,
  29437. c[q >> 2] | 0,
  29438. c[t >> 2] | 0,
  29439. c[r >> 2] | 0
  29440. ) | 0;
  29441. if (Fv(v) | 0) {
  29442. c[h >> 2] = c[j >> 2];
  29443. w = c[h >> 2] | 0;
  29444. l = g;
  29445. return w | 0;
  29446. } else {
  29447. c[h >> 2] = -20;
  29448. w = c[h >> 2] | 0;
  29449. l = g;
  29450. return w | 0;
  29451. }
  29452. return 0;
  29453. }
  29454. function Ev(a, b, d, e, f) {
  29455. a = a | 0;
  29456. b = b | 0;
  29457. d = d | 0;
  29458. e = e | 0;
  29459. f = f | 0;
  29460. var g = 0,
  29461. h = 0,
  29462. i = 0,
  29463. j = 0,
  29464. k = 0,
  29465. m = 0,
  29466. n = 0,
  29467. o = 0,
  29468. p = 0,
  29469. q = 0,
  29470. r = 0,
  29471. s = 0,
  29472. t = 0;
  29473. g = l;
  29474. l = (l + 32) | 0;
  29475. h = (g + 20) | 0;
  29476. i = (g + 16) | 0;
  29477. j = (g + 12) | 0;
  29478. k = (g + 8) | 0;
  29479. m = (g + 4) | 0;
  29480. n = g;
  29481. c[h >> 2] = a;
  29482. c[i >> 2] = b;
  29483. c[j >> 2] = d;
  29484. c[k >> 2] = e;
  29485. c[m >> 2] = f;
  29486. c[n >> 2] = c[h >> 2];
  29487. while (1) {
  29488. if (cv(c[i >> 2] | 0) | 0) break;
  29489. if (
  29490. (c[h >> 2] | 0) >>> 0 >=
  29491. (((c[j >> 2] | 0) + -7) | 0) >>> 0
  29492. )
  29493. break;
  29494. if (Gv() | 0) {
  29495. f =
  29496. Hv(
  29497. c[h >> 2] | 0,
  29498. c[i >> 2] | 0,
  29499. c[k >> 2] | 0,
  29500. c[m >> 2] | 0
  29501. ) | 0;
  29502. c[h >> 2] = (c[h >> 2] | 0) + f;
  29503. }
  29504. Gv() | 0;
  29505. f =
  29506. Hv(
  29507. c[h >> 2] | 0,
  29508. c[i >> 2] | 0,
  29509. c[k >> 2] | 0,
  29510. c[m >> 2] | 0
  29511. ) | 0;
  29512. c[h >> 2] = (c[h >> 2] | 0) + f;
  29513. if (Gv() | 0) {
  29514. f =
  29515. Hv(
  29516. c[h >> 2] | 0,
  29517. c[i >> 2] | 0,
  29518. c[k >> 2] | 0,
  29519. c[m >> 2] | 0
  29520. ) | 0;
  29521. c[h >> 2] = (c[h >> 2] | 0) + f;
  29522. }
  29523. f =
  29524. Hv(
  29525. c[h >> 2] | 0,
  29526. c[i >> 2] | 0,
  29527. c[k >> 2] | 0,
  29528. c[m >> 2] | 0
  29529. ) | 0;
  29530. c[h >> 2] = (c[h >> 2] | 0) + f;
  29531. }
  29532. while (1) {
  29533. if (cv(c[i >> 2] | 0) | 0) break;
  29534. if (
  29535. (c[h >> 2] | 0) >>> 0 >
  29536. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  29537. )
  29538. break;
  29539. f =
  29540. Hv(
  29541. c[h >> 2] | 0,
  29542. c[i >> 2] | 0,
  29543. c[k >> 2] | 0,
  29544. c[m >> 2] | 0
  29545. ) | 0;
  29546. c[h >> 2] = (c[h >> 2] | 0) + f;
  29547. }
  29548. while (1) {
  29549. o = c[h >> 2] | 0;
  29550. if (
  29551. (c[h >> 2] | 0) >>> 0 >
  29552. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  29553. )
  29554. break;
  29555. f = Hv(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  29556. c[h >> 2] = (c[h >> 2] | 0) + f;
  29557. }
  29558. if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
  29559. p = c[h >> 2] | 0;
  29560. q = c[n >> 2] | 0;
  29561. r = p;
  29562. s = q;
  29563. t = (r - s) | 0;
  29564. l = g;
  29565. return t | 0;
  29566. }
  29567. j =
  29568. Iv(
  29569. c[h >> 2] | 0,
  29570. c[i >> 2] | 0,
  29571. c[k >> 2] | 0,
  29572. c[m >> 2] | 0
  29573. ) | 0;
  29574. c[h >> 2] = (c[h >> 2] | 0) + j;
  29575. p = c[h >> 2] | 0;
  29576. q = c[n >> 2] | 0;
  29577. r = p;
  29578. s = q;
  29579. t = (r - s) | 0;
  29580. l = g;
  29581. return t | 0;
  29582. }
  29583. function Fv(a) {
  29584. a = a | 0;
  29585. var b = 0,
  29586. d = 0,
  29587. e = 0,
  29588. f = 0;
  29589. b = l;
  29590. l = (l + 16) | 0;
  29591. d = b;
  29592. c[d >> 2] = a;
  29593. if (
  29594. (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
  29595. (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
  29596. ) {
  29597. e = 0;
  29598. f = e & 1;
  29599. l = b;
  29600. return f | 0;
  29601. }
  29602. e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
  29603. f = e & 1;
  29604. l = b;
  29605. return f | 0;
  29606. }
  29607. function Gv() {
  29608. return 0;
  29609. }
  29610. function Hv(b, e, f, g) {
  29611. b = b | 0;
  29612. e = e | 0;
  29613. f = f | 0;
  29614. g = g | 0;
  29615. var h = 0,
  29616. i = 0,
  29617. j = 0,
  29618. k = 0,
  29619. m = 0,
  29620. n = 0;
  29621. h = l;
  29622. l = (l + 32) | 0;
  29623. i = (h + 16) | 0;
  29624. j = (h + 12) | 0;
  29625. k = (h + 8) | 0;
  29626. m = (h + 4) | 0;
  29627. n = h;
  29628. c[i >> 2] = b;
  29629. c[j >> 2] = e;
  29630. c[k >> 2] = f;
  29631. c[m >> 2] = g;
  29632. c[n >> 2] = Jv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  29633. m = c[i >> 2] | 0;
  29634. i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
  29635. a[m >> 0] = a[i >> 0] | 0;
  29636. a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
  29637. nv(
  29638. c[j >> 2] | 0,
  29639. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  29640. );
  29641. l = h;
  29642. return (
  29643. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
  29644. );
  29645. }
  29646. function Iv(b, e, f, g) {
  29647. b = b | 0;
  29648. e = e | 0;
  29649. f = f | 0;
  29650. g = g | 0;
  29651. var h = 0,
  29652. i = 0,
  29653. j = 0,
  29654. k = 0,
  29655. m = 0,
  29656. n = 0;
  29657. h = l;
  29658. l = (l + 32) | 0;
  29659. i = (h + 16) | 0;
  29660. j = (h + 12) | 0;
  29661. k = (h + 8) | 0;
  29662. m = (h + 4) | 0;
  29663. n = h;
  29664. c[i >> 2] = b;
  29665. c[j >> 2] = e;
  29666. c[k >> 2] = f;
  29667. c[m >> 2] = g;
  29668. c[n >> 2] = Jv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  29669. a[c[i >> 2] >> 0] =
  29670. a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
  29671. i = c[j >> 2] | 0;
  29672. if (
  29673. (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
  29674. 0 |
  29675. 0) ==
  29676. 1
  29677. ) {
  29678. nv(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
  29679. l = h;
  29680. return 1;
  29681. }
  29682. if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
  29683. l = h;
  29684. return 1;
  29685. }
  29686. nv(
  29687. c[j >> 2] | 0,
  29688. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  29689. );
  29690. if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
  29691. l = h;
  29692. return 1;
  29693. }
  29694. c[((c[j >> 2] | 0) + 4) >> 2] = 32;
  29695. l = h;
  29696. return 1;
  29697. }
  29698. function Jv(a, b) {
  29699. a = a | 0;
  29700. b = b | 0;
  29701. var d = 0,
  29702. e = 0,
  29703. f = 0;
  29704. d = l;
  29705. l = (l + 16) | 0;
  29706. e = (d + 8) | 0;
  29707. f = (d + 4) | 0;
  29708. c[e >> 2] = a;
  29709. c[f >> 2] = b;
  29710. c[d >> 2] = 31;
  29711. l = d;
  29712. return (
  29713. ((c[c[e >> 2] >> 2] <<
  29714. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  29715. ((32 - (c[f >> 2] | 0)) & 31)) |
  29716. 0
  29717. );
  29718. }
  29719. function Kv(a, d, e, f) {
  29720. a = a | 0;
  29721. d = d | 0;
  29722. e = e | 0;
  29723. f = f | 0;
  29724. var g = 0,
  29725. h = 0,
  29726. i = 0,
  29727. j = 0,
  29728. k = 0,
  29729. m = 0,
  29730. n = 0,
  29731. o = 0,
  29732. p = 0,
  29733. q = 0;
  29734. g = l;
  29735. l = (l + 8224) | 0;
  29736. h = (g + 8220) | 0;
  29737. i = (g + 8216) | 0;
  29738. j = (g + 8212) | 0;
  29739. k = (g + 8208) | 0;
  29740. m = (g + 8204) | 0;
  29741. n = g;
  29742. o = (g + 8200) | 0;
  29743. p = (g + 8196) | 0;
  29744. c[i >> 2] = a;
  29745. c[j >> 2] = d;
  29746. c[k >> 2] = e;
  29747. c[m >> 2] = f;
  29748. oE(n | 0, 0, 8194) | 0;
  29749. b[n >> 1] = 12;
  29750. c[o >> 2] = c[k >> 2];
  29751. c[p >> 2] = _v(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  29752. k = (Cv(c[p >> 2] | 0) | 0) != 0;
  29753. f = c[p >> 2] | 0;
  29754. if (k) {
  29755. c[h >> 2] = f;
  29756. q = c[h >> 2] | 0;
  29757. l = g;
  29758. return q | 0;
  29759. }
  29760. if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
  29761. c[h >> 2] = -72;
  29762. q = c[h >> 2] | 0;
  29763. l = g;
  29764. return q | 0;
  29765. } else {
  29766. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  29767. c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
  29768. c[h >> 2] =
  29769. $v(
  29770. c[i >> 2] | 0,
  29771. c[j >> 2] | 0,
  29772. c[o >> 2] | 0,
  29773. c[m >> 2] | 0,
  29774. n
  29775. ) | 0;
  29776. q = c[h >> 2] | 0;
  29777. l = g;
  29778. return q | 0;
  29779. }
  29780. return 0;
  29781. }
  29782. function Lv(a, b, d, e) {
  29783. a = a | 0;
  29784. b = b | 0;
  29785. d = d | 0;
  29786. e = e | 0;
  29787. var f = 0,
  29788. g = 0,
  29789. h = 0,
  29790. i = 0,
  29791. j = 0,
  29792. k = 0,
  29793. m = 0,
  29794. n = 0,
  29795. o = 0,
  29796. p = 0;
  29797. f = l;
  29798. l = (l + 16416) | 0;
  29799. g = (f + 16412) | 0;
  29800. h = (f + 16408) | 0;
  29801. i = (f + 16404) | 0;
  29802. j = (f + 16400) | 0;
  29803. k = (f + 16396) | 0;
  29804. m = f;
  29805. n = (f + 16392) | 0;
  29806. o = (f + 16388) | 0;
  29807. c[h >> 2] = a;
  29808. c[i >> 2] = b;
  29809. c[j >> 2] = d;
  29810. c[k >> 2] = e;
  29811. oE(m | 0, 0, 16388) | 0;
  29812. c[m >> 2] = 12;
  29813. c[n >> 2] = c[j >> 2];
  29814. c[o >> 2] = Mv(m, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  29815. j = (Cv(c[o >> 2] | 0) | 0) != 0;
  29816. e = c[o >> 2] | 0;
  29817. if (j) {
  29818. c[g >> 2] = e;
  29819. p = c[g >> 2] | 0;
  29820. l = f;
  29821. return p | 0;
  29822. }
  29823. if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  29824. c[g >> 2] = -72;
  29825. p = c[g >> 2] | 0;
  29826. l = f;
  29827. return p | 0;
  29828. } else {
  29829. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  29830. c[k >> 2] = (c[k >> 2] | 0) - (c[o >> 2] | 0);
  29831. c[g >> 2] =
  29832. Nv(
  29833. c[h >> 2] | 0,
  29834. c[i >> 2] | 0,
  29835. c[n >> 2] | 0,
  29836. c[k >> 2] | 0,
  29837. m
  29838. ) | 0;
  29839. p = c[g >> 2] | 0;
  29840. l = f;
  29841. return p | 0;
  29842. }
  29843. return 0;
  29844. }
  29845. function Mv(b, e, f) {
  29846. b = b | 0;
  29847. e = e | 0;
  29848. f = f | 0;
  29849. var g = 0,
  29850. h = 0,
  29851. i = 0,
  29852. j = 0,
  29853. k = 0,
  29854. m = 0,
  29855. n = 0,
  29856. o = 0,
  29857. p = 0,
  29858. q = 0,
  29859. r = 0,
  29860. s = 0,
  29861. t = 0,
  29862. u = 0,
  29863. v = 0,
  29864. w = 0,
  29865. x = 0,
  29866. y = 0,
  29867. z = 0,
  29868. A = 0,
  29869. B = 0,
  29870. C = 0,
  29871. D = 0,
  29872. E = 0,
  29873. F = 0,
  29874. G = 0,
  29875. H = 0,
  29876. I = 0,
  29877. J = 0,
  29878. K = 0,
  29879. L = 0,
  29880. M = 0,
  29881. N = 0,
  29882. O = 0,
  29883. P = 0;
  29884. g = l;
  29885. l = (l + 2128) | 0;
  29886. h = (g + 2120) | 0;
  29887. i = (g + 2116) | 0;
  29888. j = (g + 2112) | 0;
  29889. k = (g + 2108) | 0;
  29890. m = (g + 1760) | 0;
  29891. n = (g + 1248) | 0;
  29892. o = (g + 1168) | 0;
  29893. p = (g + 1088) | 0;
  29894. q = (g + 2104) | 0;
  29895. r = g;
  29896. s = (g + 2100) | 0;
  29897. t = (g + 2096) | 0;
  29898. u = (g + 2092) | 0;
  29899. v = (g + 2088) | 0;
  29900. w = (g + 2084) | 0;
  29901. x = (g + 2080) | 0;
  29902. y = (g + 2076) | 0;
  29903. z = (g + 2072) | 0;
  29904. A = (g + 2068) | 0;
  29905. B = (g + 2064) | 0;
  29906. C = (g + 2060) | 0;
  29907. D = (g + 2056) | 0;
  29908. E = (g + 2052) | 0;
  29909. F = (g + 2048) | 0;
  29910. G = (g + 2044) | 0;
  29911. H = (g + 2040) | 0;
  29912. I = (g + 2036) | 0;
  29913. J = (g + 2032) | 0;
  29914. K = (g + 2028) | 0;
  29915. L = (g + 2024) | 0;
  29916. M = (g + 2020) | 0;
  29917. N = (g + 2016) | 0;
  29918. c[i >> 2] = b;
  29919. c[j >> 2] = e;
  29920. c[k >> 2] = f;
  29921. f = o;
  29922. e = (f + 68) | 0;
  29923. do {
  29924. c[f >> 2] = 0;
  29925. f = (f + 4) | 0;
  29926. } while ((f | 0) < (e | 0));
  29927. f = p;
  29928. e = (f + 72) | 0;
  29929. do {
  29930. c[f >> 2] = 0;
  29931. f = (f + 4) | 0;
  29932. } while ((f | 0) < (e | 0));
  29933. c[q >> 2] = p + 4;
  29934. c[w >> 2] = c[c[i >> 2] >> 2];
  29935. c[y >> 2] = c[i >> 2];
  29936. c[z >> 2] = (c[y >> 2] | 0) + 4;
  29937. if ((c[w >> 2] | 0) >>> 0 > 16) {
  29938. c[h >> 2] = -44;
  29939. O = c[h >> 2] | 0;
  29940. l = g;
  29941. return O | 0;
  29942. }
  29943. c[x >> 2] =
  29944. Qv(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  29945. if (Cv(c[x >> 2] | 0) | 0) {
  29946. c[h >> 2] = c[x >> 2];
  29947. O = c[h >> 2] | 0;
  29948. l = g;
  29949. return O | 0;
  29950. }
  29951. if ((c[s >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) {
  29952. c[h >> 2] = -44;
  29953. O = c[h >> 2] | 0;
  29954. l = g;
  29955. return O | 0;
  29956. }
  29957. c[t >> 2] = c[s >> 2];
  29958. while (1) {
  29959. if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
  29960. c[t >> 2] = (c[t >> 2] | 0) + -1;
  29961. }
  29962. c[B >> 2] = 0;
  29963. c[A >> 2] = 1;
  29964. while (1) {
  29965. P = c[B >> 2] | 0;
  29966. if ((c[A >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  29967. c[C >> 2] = P;
  29968. c[B >> 2] =
  29969. (c[B >> 2] | 0) + (c[(o + (c[A >> 2] << 2)) >> 2] | 0);
  29970. c[((c[q >> 2] | 0) + (c[A >> 2] << 2)) >> 2] = c[C >> 2];
  29971. c[A >> 2] = (c[A >> 2] | 0) + 1;
  29972. }
  29973. c[c[q >> 2] >> 2] = P;
  29974. c[u >> 2] = c[B >> 2];
  29975. c[D >> 2] = 0;
  29976. while (1) {
  29977. if ((c[D >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
  29978. c[E >> 2] = d[(m + (c[D >> 2] | 0)) >> 0];
  29979. B = ((c[q >> 2] | 0) + (c[E >> 2] << 2)) | 0;
  29980. P = c[B >> 2] | 0;
  29981. c[B >> 2] = P + 1;
  29982. c[F >> 2] = P;
  29983. a[(n + (c[F >> 2] << 1)) >> 0] = c[D >> 2];
  29984. a[(n + (c[F >> 2] << 1) + 1) >> 0] = c[E >> 2];
  29985. c[D >> 2] = (c[D >> 2] | 0) + 1;
  29986. }
  29987. c[c[q >> 2] >> 2] = 0;
  29988. c[G >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
  29989. c[H >> 2] = 0;
  29990. c[K >> 2] = (c[w >> 2] | 0) - (c[s >> 2] | 0) - 1;
  29991. c[L >> 2] = r;
  29992. c[I >> 2] = 1;
  29993. while (1) {
  29994. if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  29995. c[M >> 2] = c[H >> 2];
  29996. c[H >> 2] =
  29997. (c[H >> 2] | 0) +
  29998. (c[(o + (c[I >> 2] << 2)) >> 2] <<
  29999. ((c[I >> 2] | 0) + (c[K >> 2] | 0)));
  30000. c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] = c[M >> 2];
  30001. c[I >> 2] = (c[I >> 2] | 0) + 1;
  30002. }
  30003. c[J >> 2] = c[G >> 2];
  30004. while (1) {
  30005. if (
  30006. (c[J >> 2] | 0) >>> 0 >
  30007. (((c[w >> 2] | 0) - (c[G >> 2] | 0)) | 0) >>> 0
  30008. )
  30009. break;
  30010. c[N >> 2] = r + (((c[J >> 2] | 0) * 68) | 0);
  30011. c[I >> 2] = 1;
  30012. while (1) {
  30013. if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  30014. c[((c[N >> 2] | 0) + (c[I >> 2] << 2)) >> 2] =
  30015. (c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] | 0) >>>
  30016. (c[J >> 2] | 0);
  30017. c[I >> 2] = (c[I >> 2] | 0) + 1;
  30018. }
  30019. c[J >> 2] = (c[J >> 2] | 0) + 1;
  30020. }
  30021. Rv(
  30022. c[z >> 2] | 0,
  30023. c[w >> 2] | 0,
  30024. n,
  30025. c[u >> 2] | 0,
  30026. p,
  30027. r,
  30028. c[t >> 2] | 0,
  30029. ((c[s >> 2] | 0) + 1) | 0
  30030. );
  30031. c[h >> 2] = c[x >> 2];
  30032. O = c[h >> 2] | 0;
  30033. l = g;
  30034. return O | 0;
  30035. }
  30036. function Nv(a, b, d, e, f) {
  30037. a = a | 0;
  30038. b = b | 0;
  30039. d = d | 0;
  30040. e = e | 0;
  30041. f = f | 0;
  30042. var g = 0,
  30043. h = 0,
  30044. i = 0,
  30045. j = 0,
  30046. k = 0,
  30047. m = 0,
  30048. n = 0,
  30049. o = 0,
  30050. p = 0,
  30051. q = 0,
  30052. r = 0,
  30053. s = 0,
  30054. t = 0,
  30055. u = 0,
  30056. v = 0,
  30057. w = 0,
  30058. x = 0,
  30059. y = 0,
  30060. z = 0,
  30061. A = 0,
  30062. B = 0,
  30063. C = 0,
  30064. D = 0,
  30065. E = 0,
  30066. F = 0,
  30067. G = 0,
  30068. H = 0,
  30069. I = 0,
  30070. J = 0,
  30071. K = 0,
  30072. L = 0,
  30073. M = 0,
  30074. N = 0,
  30075. O = 0,
  30076. P = 0,
  30077. Q = 0;
  30078. g = l;
  30079. l = (l + 192) | 0;
  30080. h = (g + 184) | 0;
  30081. i = (g + 180) | 0;
  30082. j = (g + 176) | 0;
  30083. k = (g + 172) | 0;
  30084. m = (g + 168) | 0;
  30085. n = (g + 164) | 0;
  30086. o = (g + 160) | 0;
  30087. p = (g + 156) | 0;
  30088. q = (g + 152) | 0;
  30089. r = (g + 148) | 0;
  30090. s = (g + 144) | 0;
  30091. t = (g + 140) | 0;
  30092. u = (g + 136) | 0;
  30093. v = (g + 120) | 0;
  30094. w = (g + 104) | 0;
  30095. x = (g + 88) | 0;
  30096. y = (g + 72) | 0;
  30097. z = (g + 64) | 0;
  30098. A = (g + 60) | 0;
  30099. B = (g + 56) | 0;
  30100. C = (g + 52) | 0;
  30101. D = (g + 48) | 0;
  30102. E = (g + 44) | 0;
  30103. F = (g + 40) | 0;
  30104. G = (g + 36) | 0;
  30105. H = (g + 32) | 0;
  30106. I = (g + 28) | 0;
  30107. J = (g + 24) | 0;
  30108. K = (g + 20) | 0;
  30109. L = (g + 16) | 0;
  30110. M = (g + 12) | 0;
  30111. N = (g + 8) | 0;
  30112. O = (g + 4) | 0;
  30113. P = g;
  30114. c[i >> 2] = a;
  30115. c[j >> 2] = b;
  30116. c[k >> 2] = d;
  30117. c[m >> 2] = e;
  30118. c[n >> 2] = f;
  30119. if ((c[m >> 2] | 0) >>> 0 < 10) {
  30120. c[h >> 2] = -20;
  30121. Q = c[h >> 2] | 0;
  30122. l = g;
  30123. return Q | 0;
  30124. }
  30125. c[o >> 2] = c[k >> 2];
  30126. c[p >> 2] = c[i >> 2];
  30127. c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
  30128. c[r >> 2] = c[n >> 2];
  30129. c[s >> 2] = (c[r >> 2] | 0) + 4;
  30130. c[t >> 2] = c[c[n >> 2] >> 2];
  30131. c[z >> 2] = (Ov(c[o >> 2] | 0) | 0) & 65535;
  30132. c[A >> 2] = (Ov(((c[o >> 2] | 0) + 2) | 0) | 0) & 65535;
  30133. c[B >> 2] = (Ov(((c[o >> 2] | 0) + 4) | 0) | 0) & 65535;
  30134. c[D >> 2] = (c[o >> 2] | 0) + 6;
  30135. c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
  30136. c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
  30137. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  30138. c[H >> 2] = (((((c[j >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  30139. c[I >> 2] = (c[p >> 2] | 0) + (c[H >> 2] | 0);
  30140. c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  30141. c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
  30142. c[L >> 2] = c[p >> 2];
  30143. c[M >> 2] = c[I >> 2];
  30144. c[N >> 2] = c[J >> 2];
  30145. c[O >> 2] = c[K >> 2];
  30146. c[C >> 2] =
  30147. (c[m >> 2] | 0) -
  30148. ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
  30149. if ((c[C >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) {
  30150. c[h >> 2] = -20;
  30151. Q = c[h >> 2] | 0;
  30152. l = g;
  30153. return Q | 0;
  30154. }
  30155. c[u >> 2] = av(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
  30156. if (Cv(c[u >> 2] | 0) | 0) {
  30157. c[h >> 2] = c[u >> 2];
  30158. Q = c[h >> 2] | 0;
  30159. l = g;
  30160. return Q | 0;
  30161. }
  30162. c[u >> 2] = av(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
  30163. if (Cv(c[u >> 2] | 0) | 0) {
  30164. c[h >> 2] = c[u >> 2];
  30165. Q = c[h >> 2] | 0;
  30166. l = g;
  30167. return Q | 0;
  30168. }
  30169. c[u >> 2] = av(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  30170. if (Cv(c[u >> 2] | 0) | 0) {
  30171. c[h >> 2] = c[u >> 2];
  30172. Q = c[h >> 2] | 0;
  30173. l = g;
  30174. return Q | 0;
  30175. }
  30176. c[u >> 2] = av(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  30177. if (Cv(c[u >> 2] | 0) | 0) {
  30178. c[h >> 2] = c[u >> 2];
  30179. Q = c[h >> 2] | 0;
  30180. l = g;
  30181. return Q | 0;
  30182. }
  30183. u = cv(v) | 0;
  30184. C = u | (cv(w) | 0);
  30185. u = C | (cv(x) | 0);
  30186. c[P >> 2] = u | (cv(y) | 0);
  30187. while (1) {
  30188. if (c[P >> 2] | 0) break;
  30189. if (
  30190. (c[O >> 2] | 0) >>> 0 >=
  30191. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  30192. )
  30193. break;
  30194. if (Gv() | 0) {
  30195. u =
  30196. Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30197. c[L >> 2] = (c[L >> 2] | 0) + u;
  30198. }
  30199. if (Gv() | 0) {
  30200. u =
  30201. Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30202. c[M >> 2] = (c[M >> 2] | 0) + u;
  30203. }
  30204. if (Gv() | 0) {
  30205. u =
  30206. Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30207. c[N >> 2] = (c[N >> 2] | 0) + u;
  30208. }
  30209. if (Gv() | 0) {
  30210. u =
  30211. Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30212. c[O >> 2] = (c[O >> 2] | 0) + u;
  30213. }
  30214. Gv() | 0;
  30215. u = Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30216. c[L >> 2] = (c[L >> 2] | 0) + u;
  30217. Gv() | 0;
  30218. u = Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30219. c[M >> 2] = (c[M >> 2] | 0) + u;
  30220. Gv() | 0;
  30221. u = Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30222. c[N >> 2] = (c[N >> 2] | 0) + u;
  30223. Gv() | 0;
  30224. u = Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30225. c[O >> 2] = (c[O >> 2] | 0) + u;
  30226. if (Gv() | 0) {
  30227. u =
  30228. Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30229. c[L >> 2] = (c[L >> 2] | 0) + u;
  30230. }
  30231. if (Gv() | 0) {
  30232. u =
  30233. Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30234. c[M >> 2] = (c[M >> 2] | 0) + u;
  30235. }
  30236. if (Gv() | 0) {
  30237. u =
  30238. Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30239. c[N >> 2] = (c[N >> 2] | 0) + u;
  30240. }
  30241. if (Gv() | 0) {
  30242. u =
  30243. Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30244. c[O >> 2] = (c[O >> 2] | 0) + u;
  30245. }
  30246. u = Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30247. c[L >> 2] = (c[L >> 2] | 0) + u;
  30248. u = Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30249. c[M >> 2] = (c[M >> 2] | 0) + u;
  30250. u = Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30251. c[N >> 2] = (c[N >> 2] | 0) + u;
  30252. u = Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  30253. c[O >> 2] = (c[O >> 2] | 0) + u;
  30254. u = cv(v) | 0;
  30255. C = u | (cv(w) | 0);
  30256. u = C | (cv(x) | 0);
  30257. c[P >> 2] = u | (cv(y) | 0);
  30258. }
  30259. if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
  30260. c[h >> 2] = -20;
  30261. Q = c[h >> 2] | 0;
  30262. l = g;
  30263. return Q | 0;
  30264. }
  30265. if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
  30266. c[h >> 2] = -20;
  30267. Q = c[h >> 2] | 0;
  30268. l = g;
  30269. return Q | 0;
  30270. }
  30271. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  30272. c[h >> 2] = -20;
  30273. Q = c[h >> 2] | 0;
  30274. l = g;
  30275. return Q | 0;
  30276. }
  30277. Ev(
  30278. c[L >> 2] | 0,
  30279. v,
  30280. c[I >> 2] | 0,
  30281. c[s >> 2] | 0,
  30282. c[t >> 2] | 0
  30283. ) | 0;
  30284. Ev(
  30285. c[M >> 2] | 0,
  30286. w,
  30287. c[J >> 2] | 0,
  30288. c[s >> 2] | 0,
  30289. c[t >> 2] | 0
  30290. ) | 0;
  30291. Ev(
  30292. c[N >> 2] | 0,
  30293. x,
  30294. c[K >> 2] | 0,
  30295. c[s >> 2] | 0,
  30296. c[t >> 2] | 0
  30297. ) | 0;
  30298. Ev(
  30299. c[O >> 2] | 0,
  30300. y,
  30301. c[q >> 2] | 0,
  30302. c[s >> 2] | 0,
  30303. c[t >> 2] | 0
  30304. ) | 0;
  30305. t = Fv(v) | 0;
  30306. v = t & (Fv(w) | 0);
  30307. w = v & (Fv(x) | 0);
  30308. c[P >> 2] = w & (Fv(y) | 0);
  30309. if (c[P >> 2] | 0) {
  30310. c[h >> 2] = c[j >> 2];
  30311. Q = c[h >> 2] | 0;
  30312. l = g;
  30313. return Q | 0;
  30314. } else {
  30315. c[h >> 2] = -20;
  30316. Q = c[h >> 2] | 0;
  30317. l = g;
  30318. return Q | 0;
  30319. }
  30320. return 0;
  30321. }
  30322. function Ov(a) {
  30323. a = a | 0;
  30324. var e = 0,
  30325. f = 0,
  30326. g = 0,
  30327. h = 0,
  30328. i = 0,
  30329. j = 0;
  30330. e = l;
  30331. l = (l + 16) | 0;
  30332. f = (e + 8) | 0;
  30333. g = (e + 4) | 0;
  30334. h = e;
  30335. c[g >> 2] = a;
  30336. a = (Xq() | 0) != 0;
  30337. i = c[g >> 2] | 0;
  30338. if (a) {
  30339. b[f >> 1] = Pv(i) | 0;
  30340. j = b[f >> 1] | 0;
  30341. l = e;
  30342. return j | 0;
  30343. } else {
  30344. c[h >> 2] = i;
  30345. b[f >> 1] =
  30346. (d[c[h >> 2] >> 0] | 0) +
  30347. ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
  30348. j = b[f >> 1] | 0;
  30349. l = e;
  30350. return j | 0;
  30351. }
  30352. return 0;
  30353. }
  30354. function Pv(a) {
  30355. a = a | 0;
  30356. var b = 0,
  30357. e = 0;
  30358. b = l;
  30359. l = (l + 16) | 0;
  30360. e = b;
  30361. c[e >> 2] = a;
  30362. a = c[e >> 2] | 0;
  30363. l = b;
  30364. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  30365. }
  30366. function Qv(b, e, f, g, h, i, j) {
  30367. b = b | 0;
  30368. e = e | 0;
  30369. f = f | 0;
  30370. g = g | 0;
  30371. h = h | 0;
  30372. i = i | 0;
  30373. j = j | 0;
  30374. var k = 0,
  30375. m = 0,
  30376. n = 0,
  30377. o = 0,
  30378. p = 0,
  30379. q = 0,
  30380. r = 0,
  30381. s = 0,
  30382. t = 0,
  30383. u = 0,
  30384. v = 0,
  30385. w = 0,
  30386. x = 0,
  30387. y = 0,
  30388. z = 0,
  30389. A = 0,
  30390. B = 0,
  30391. C = 0,
  30392. D = 0,
  30393. E = 0,
  30394. F = 0;
  30395. k = l;
  30396. l = (l + 80) | 0;
  30397. m = (k + 68) | 0;
  30398. n = (k + 64) | 0;
  30399. o = (k + 60) | 0;
  30400. p = (k + 56) | 0;
  30401. q = (k + 52) | 0;
  30402. r = (k + 48) | 0;
  30403. s = (k + 44) | 0;
  30404. t = (k + 40) | 0;
  30405. u = (k + 36) | 0;
  30406. v = (k + 32) | 0;
  30407. w = (k + 28) | 0;
  30408. x = (k + 24) | 0;
  30409. y = (k + 20) | 0;
  30410. z = (k + 16) | 0;
  30411. A = (k + 12) | 0;
  30412. B = (k + 8) | 0;
  30413. C = (k + 4) | 0;
  30414. D = k;
  30415. c[n >> 2] = b;
  30416. c[o >> 2] = e;
  30417. c[p >> 2] = f;
  30418. c[q >> 2] = g;
  30419. c[r >> 2] = h;
  30420. c[s >> 2] = i;
  30421. c[t >> 2] = j;
  30422. c[w >> 2] = c[s >> 2];
  30423. if (!(c[t >> 2] | 0)) {
  30424. c[m >> 2] = -72;
  30425. E = c[m >> 2] | 0;
  30426. l = k;
  30427. return E | 0;
  30428. }
  30429. c[x >> 2] = d[c[w >> 2] >> 0];
  30430. s = c[x >> 2] | 0;
  30431. a: do {
  30432. if ((c[x >> 2] | 0) >>> 0 < 128) {
  30433. if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  30434. c[m >> 2] = -72;
  30435. E = c[m >> 2] | 0;
  30436. l = k;
  30437. return E | 0;
  30438. }
  30439. c[y >> 2] =
  30440. Vv(
  30441. c[n >> 2] | 0,
  30442. ((c[o >> 2] | 0) - 1) | 0,
  30443. ((c[w >> 2] | 0) + 1) | 0,
  30444. c[x >> 2] | 0
  30445. ) | 0;
  30446. if (wv(c[y >> 2] | 0) | 0) {
  30447. c[m >> 2] = c[y >> 2];
  30448. E = c[m >> 2] | 0;
  30449. l = k;
  30450. return E | 0;
  30451. }
  30452. } else {
  30453. j = c[x >> 2] | 0;
  30454. if (s >>> 0 >= 242) {
  30455. c[y >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
  30456. oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
  30457. c[x >> 2] = 0;
  30458. break;
  30459. }
  30460. c[y >> 2] = j - 127;
  30461. c[x >> 2] = (((((c[y >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
  30462. if (
  30463. (((c[x >> 2] | 0) + 1) | 0) >>> 0 >
  30464. (c[t >> 2] | 0) >>> 0
  30465. ) {
  30466. c[m >> 2] = -72;
  30467. E = c[m >> 2] | 0;
  30468. l = k;
  30469. return E | 0;
  30470. }
  30471. if ((c[y >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
  30472. c[m >> 2] = -20;
  30473. E = c[m >> 2] | 0;
  30474. l = k;
  30475. return E | 0;
  30476. }
  30477. c[w >> 2] = (c[w >> 2] | 0) + 1;
  30478. c[z >> 2] = 0;
  30479. while (1) {
  30480. if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0)
  30481. break a;
  30482. a[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] =
  30483. (d[
  30484. ((c[w >> 2] | 0) +
  30485. ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
  30486. 0
  30487. ] |
  30488. 0) >>
  30489. 4;
  30490. a[((c[n >> 2] | 0) + ((c[z >> 2] | 0) + 1)) >> 0] =
  30491. (d[
  30492. ((c[w >> 2] | 0) +
  30493. ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
  30494. 0
  30495. ] |
  30496. 0) &
  30497. 15;
  30498. c[z >> 2] = (c[z >> 2] | 0) + 2;
  30499. }
  30500. }
  30501. } while (0);
  30502. w = c[p >> 2] | 0;
  30503. o = (w + 68) | 0;
  30504. do {
  30505. c[w >> 2] = 0;
  30506. w = (w + 4) | 0;
  30507. } while ((w | 0) < (o | 0));
  30508. c[u >> 2] = 0;
  30509. c[z >> 2] = 0;
  30510. while (1) {
  30511. if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0) break;
  30512. if (
  30513. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
  30514. 16
  30515. ) {
  30516. F = 20;
  30517. break;
  30518. }
  30519. w =
  30520. ((c[p >> 2] | 0) +
  30521. ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
  30522. 2)) |
  30523. 0;
  30524. c[w >> 2] = (c[w >> 2] | 0) + 1;
  30525. c[u >> 2] =
  30526. (c[u >> 2] | 0) +
  30527. ((1 <<
  30528. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
  30529. 1);
  30530. c[z >> 2] = (c[z >> 2] | 0) + 1;
  30531. }
  30532. if ((F | 0) == 20) {
  30533. c[m >> 2] = -20;
  30534. E = c[m >> 2] | 0;
  30535. l = k;
  30536. return E | 0;
  30537. }
  30538. if (!(c[u >> 2] | 0)) {
  30539. c[m >> 2] = -20;
  30540. E = c[m >> 2] | 0;
  30541. l = k;
  30542. return E | 0;
  30543. }
  30544. c[v >> 2] = (sv(c[u >> 2] | 0) | 0) + 1;
  30545. if ((c[v >> 2] | 0) >>> 0 > 16) {
  30546. c[m >> 2] = -20;
  30547. E = c[m >> 2] | 0;
  30548. l = k;
  30549. return E | 0;
  30550. }
  30551. c[A >> 2] = 1 << c[v >> 2];
  30552. c[B >> 2] = (c[A >> 2] | 0) - (c[u >> 2] | 0);
  30553. c[C >> 2] = 1 << (sv(c[B >> 2] | 0) | 0);
  30554. c[D >> 2] = (sv(c[B >> 2] | 0) | 0) + 1;
  30555. if ((c[C >> 2] | 0) != (c[B >> 2] | 0)) {
  30556. c[m >> 2] = -20;
  30557. E = c[m >> 2] | 0;
  30558. l = k;
  30559. return E | 0;
  30560. }
  30561. a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] = c[D >> 2];
  30562. n = ((c[p >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  30563. c[n >> 2] = (c[n >> 2] | 0) + 1;
  30564. if (
  30565. (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
  30566. ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
  30567. : 0
  30568. ) {
  30569. c[c[q >> 2] >> 2] = (c[y >> 2] | 0) + 1;
  30570. c[c[r >> 2] >> 2] = c[v >> 2];
  30571. c[m >> 2] = (c[x >> 2] | 0) + 1;
  30572. E = c[m >> 2] | 0;
  30573. l = k;
  30574. return E | 0;
  30575. }
  30576. c[m >> 2] = -20;
  30577. E = c[m >> 2] | 0;
  30578. l = k;
  30579. return E | 0;
  30580. }
  30581. function Rv(e, f, g, h, i, j, k, m) {
  30582. e = e | 0;
  30583. f = f | 0;
  30584. g = g | 0;
  30585. h = h | 0;
  30586. i = i | 0;
  30587. j = j | 0;
  30588. k = k | 0;
  30589. m = m | 0;
  30590. var n = 0,
  30591. o = 0,
  30592. p = 0,
  30593. q = 0,
  30594. r = 0,
  30595. s = 0,
  30596. t = 0,
  30597. u = 0,
  30598. v = 0,
  30599. w = 0,
  30600. x = 0,
  30601. y = 0,
  30602. z = 0,
  30603. A = 0,
  30604. B = 0,
  30605. C = 0,
  30606. D = 0,
  30607. E = 0,
  30608. F = 0,
  30609. G = 0,
  30610. H = 0,
  30611. I = 0,
  30612. J = 0;
  30613. n = l;
  30614. l = (l + 160) | 0;
  30615. o = (n + 140) | 0;
  30616. p = (n + 136) | 0;
  30617. q = (n + 132) | 0;
  30618. r = (n + 128) | 0;
  30619. s = (n + 124) | 0;
  30620. t = (n + 120) | 0;
  30621. u = (n + 116) | 0;
  30622. v = (n + 112) | 0;
  30623. w = n;
  30624. x = (n + 108) | 0;
  30625. y = (n + 104) | 0;
  30626. z = (n + 100) | 0;
  30627. A = (n + 148) | 0;
  30628. B = (n + 96) | 0;
  30629. C = (n + 92) | 0;
  30630. D = (n + 88) | 0;
  30631. E = (n + 84) | 0;
  30632. F = (n + 80) | 0;
  30633. G = (n + 76) | 0;
  30634. H = (n + 72) | 0;
  30635. I = (n + 68) | 0;
  30636. J = (n + 144) | 0;
  30637. c[o >> 2] = e;
  30638. c[p >> 2] = f;
  30639. c[q >> 2] = g;
  30640. c[r >> 2] = h;
  30641. c[s >> 2] = i;
  30642. c[t >> 2] = j;
  30643. c[u >> 2] = k;
  30644. c[v >> 2] = m;
  30645. c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
  30646. c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  30647. u = w;
  30648. m = c[t >> 2] | 0;
  30649. k = (u + 68) | 0;
  30650. do {
  30651. c[u >> 2] = c[m >> 2];
  30652. u = (u + 4) | 0;
  30653. m = (m + 4) | 0;
  30654. } while ((u | 0) < (k | 0));
  30655. c[z >> 2] = 0;
  30656. while (1) {
  30657. if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
  30658. b[A >> 1] =
  30659. d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
  30660. c[B >> 2] =
  30661. d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
  30662. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  30663. c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
  30664. c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
  30665. a: do {
  30666. if (
  30667. (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
  30668. (c[y >> 2] | 0) >>> 0
  30669. ) {
  30670. m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
  30671. c[G >> 2] = m;
  30672. c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
  30673. c[F >> 2] =
  30674. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  30675. Sv(
  30676. ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
  30677. ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
  30678. c[C >> 2] | 0,
  30679. ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
  30680. c[G >> 2] | 0,
  30681. ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
  30682. ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
  30683. c[v >> 2] | 0,
  30684. b[A >> 1] | 0
  30685. );
  30686. } else {
  30687. c[I >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
  30688. Tv(J, b[A >> 1] | 0);
  30689. a[(J + 2) >> 0] = c[C >> 2];
  30690. a[(J + 3) >> 0] = 1;
  30691. c[H >> 2] = c[D >> 2];
  30692. while (1) {
  30693. if ((c[H >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0)
  30694. break a;
  30695. m = ((c[o >> 2] | 0) + (c[H >> 2] << 2)) | 0;
  30696. b[m >> 1] = b[J >> 1] | 0;
  30697. b[(m + 2) >> 1] = b[(J + 2) >> 1] | 0;
  30698. c[H >> 2] = (c[H >> 2] | 0) + 1;
  30699. }
  30700. }
  30701. } while (0);
  30702. m = (w + (c[B >> 2] << 2)) | 0;
  30703. c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
  30704. c[z >> 2] = (c[z >> 2] | 0) + 1;
  30705. }
  30706. l = n;
  30707. return;
  30708. }
  30709. function Sv(f, g, h, i, j, k, m, n, o) {
  30710. f = f | 0;
  30711. g = g | 0;
  30712. h = h | 0;
  30713. i = i | 0;
  30714. j = j | 0;
  30715. k = k | 0;
  30716. m = m | 0;
  30717. n = n | 0;
  30718. o = o | 0;
  30719. var p = 0,
  30720. q = 0,
  30721. r = 0,
  30722. s = 0,
  30723. t = 0,
  30724. u = 0,
  30725. v = 0,
  30726. w = 0,
  30727. x = 0,
  30728. y = 0,
  30729. z = 0,
  30730. A = 0,
  30731. B = 0,
  30732. C = 0,
  30733. D = 0,
  30734. E = 0,
  30735. F = 0,
  30736. G = 0,
  30737. H = 0,
  30738. I = 0,
  30739. J = 0,
  30740. K = 0;
  30741. p = l;
  30742. l = (l + 160) | 0;
  30743. q = (p + 136) | 0;
  30744. r = (p + 132) | 0;
  30745. s = (p + 128) | 0;
  30746. t = (p + 124) | 0;
  30747. u = (p + 120) | 0;
  30748. v = (p + 116) | 0;
  30749. w = (p + 112) | 0;
  30750. x = (p + 108) | 0;
  30751. y = (p + 144) | 0;
  30752. z = (p + 140) | 0;
  30753. A = p;
  30754. B = (p + 104) | 0;
  30755. C = (p + 100) | 0;
  30756. D = (p + 96) | 0;
  30757. E = (p + 92) | 0;
  30758. F = (p + 88) | 0;
  30759. G = (p + 84) | 0;
  30760. H = (p + 80) | 0;
  30761. I = (p + 76) | 0;
  30762. J = (p + 72) | 0;
  30763. K = (p + 68) | 0;
  30764. c[q >> 2] = f;
  30765. c[r >> 2] = g;
  30766. c[s >> 2] = h;
  30767. c[t >> 2] = i;
  30768. c[u >> 2] = j;
  30769. c[v >> 2] = k;
  30770. c[w >> 2] = m;
  30771. c[x >> 2] = n;
  30772. b[y >> 1] = o;
  30773. o = A;
  30774. n = c[t >> 2] | 0;
  30775. t = (o + 68) | 0;
  30776. do {
  30777. c[o >> 2] = c[n >> 2];
  30778. o = (o + 4) | 0;
  30779. n = (n + 4) | 0;
  30780. } while ((o | 0) < (t | 0));
  30781. a: do {
  30782. if ((c[u >> 2] | 0) > 1) {
  30783. c[D >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
  30784. Tv(z, b[y >> 1] | 0);
  30785. a[(z + 2) >> 0] = c[s >> 2];
  30786. a[(z + 3) >> 0] = 1;
  30787. c[C >> 2] = 0;
  30788. while (1) {
  30789. if ((c[C >> 2] | 0) >>> 0 >= (c[D >> 2] | 0) >>> 0)
  30790. break a;
  30791. n = ((c[q >> 2] | 0) + (c[C >> 2] << 2)) | 0;
  30792. b[n >> 1] = b[z >> 1] | 0;
  30793. b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
  30794. c[C >> 2] = (c[C >> 2] | 0) + 1;
  30795. }
  30796. }
  30797. } while (0);
  30798. c[B >> 2] = 0;
  30799. while (1) {
  30800. if ((c[B >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  30801. c[E >> 2] = d[((c[v >> 2] | 0) + (c[B >> 2] << 1)) >> 0];
  30802. c[F >> 2] =
  30803. d[((c[v >> 2] | 0) + (c[B >> 2] << 1) + 1) >> 0];
  30804. c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
  30805. c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
  30806. c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
  30807. c[J >> 2] = c[I >> 2];
  30808. c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  30809. Tv(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
  30810. a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
  30811. a[(z + 3) >> 0] = 2;
  30812. do {
  30813. C = c[q >> 2] | 0;
  30814. D = c[J >> 2] | 0;
  30815. c[J >> 2] = D + 1;
  30816. u = (C + (D << 2)) | 0;
  30817. b[u >> 1] = b[z >> 1] | 0;
  30818. b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
  30819. } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
  30820. u = (A + (c[F >> 2] << 2)) | 0;
  30821. c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
  30822. c[B >> 2] = (c[B >> 2] | 0) + 1;
  30823. }
  30824. l = p;
  30825. return;
  30826. }
  30827. function Tv(d, f) {
  30828. d = d | 0;
  30829. f = f | 0;
  30830. var g = 0,
  30831. h = 0,
  30832. i = 0,
  30833. j = 0;
  30834. g = l;
  30835. l = (l + 16) | 0;
  30836. h = (g + 4) | 0;
  30837. i = (g + 8) | 0;
  30838. j = g;
  30839. c[h >> 2] = d;
  30840. b[i >> 1] = f;
  30841. f = (Xq() | 0) != 0;
  30842. d = c[h >> 2] | 0;
  30843. if (f) {
  30844. Uv(d, b[i >> 1] | 0);
  30845. l = g;
  30846. return;
  30847. } else {
  30848. c[j >> 2] = d;
  30849. a[c[j >> 2] >> 0] = b[i >> 1];
  30850. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  30851. l = g;
  30852. return;
  30853. }
  30854. }
  30855. function Uv(d, e) {
  30856. d = d | 0;
  30857. e = e | 0;
  30858. var f = 0,
  30859. g = 0,
  30860. h = 0;
  30861. f = l;
  30862. l = (l + 16) | 0;
  30863. g = f;
  30864. h = (f + 4) | 0;
  30865. c[g >> 2] = d;
  30866. b[h >> 1] = e;
  30867. e = b[h >> 1] | 0;
  30868. h = c[g >> 2] | 0;
  30869. a[h >> 0] = e;
  30870. a[(h + 1) >> 0] = e >> 8;
  30871. l = f;
  30872. return;
  30873. }
  30874. function Vv(a, b, d, e) {
  30875. a = a | 0;
  30876. b = b | 0;
  30877. d = d | 0;
  30878. e = e | 0;
  30879. var f = 0,
  30880. g = 0,
  30881. h = 0,
  30882. i = 0,
  30883. j = 0,
  30884. k = 0,
  30885. m = 0,
  30886. n = 0,
  30887. o = 0,
  30888. p = 0,
  30889. q = 0,
  30890. r = 0,
  30891. s = 0,
  30892. t = 0;
  30893. f = l;
  30894. l = (l + 16960) | 0;
  30895. g = (f + 16948) | 0;
  30896. h = (f + 16944) | 0;
  30897. i = (f + 16940) | 0;
  30898. j = (f + 16936) | 0;
  30899. k = (f + 16932) | 0;
  30900. m = (f + 16928) | 0;
  30901. n = (f + 16924) | 0;
  30902. o = (f + 16400) | 0;
  30903. p = f;
  30904. q = (f + 16920) | 0;
  30905. r = (f + 16916) | 0;
  30906. s = (f + 16912) | 0;
  30907. c[h >> 2] = a;
  30908. c[i >> 2] = b;
  30909. c[j >> 2] = d;
  30910. c[k >> 2] = e;
  30911. c[m >> 2] = c[j >> 2];
  30912. c[n >> 2] = c[m >> 2];
  30913. c[r >> 2] = 255;
  30914. if ((c[k >> 2] | 0) >>> 0 < 2) {
  30915. c[g >> 2] = -72;
  30916. t = c[g >> 2] | 0;
  30917. l = f;
  30918. return t | 0;
  30919. }
  30920. c[s >> 2] = vv(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
  30921. m = (wv(c[s >> 2] | 0) | 0) != 0;
  30922. j = c[s >> 2] | 0;
  30923. if (m) {
  30924. c[g >> 2] = j;
  30925. t = c[g >> 2] | 0;
  30926. l = f;
  30927. return t | 0;
  30928. }
  30929. if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  30930. c[g >> 2] = -72;
  30931. t = c[g >> 2] | 0;
  30932. l = f;
  30933. return t | 0;
  30934. }
  30935. c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
  30936. c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
  30937. c[s >> 2] = xv(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
  30938. if (wv(c[s >> 2] | 0) | 0) {
  30939. c[g >> 2] = c[s >> 2];
  30940. t = c[g >> 2] | 0;
  30941. l = f;
  30942. return t | 0;
  30943. } else {
  30944. c[g >> 2] =
  30945. Wv(
  30946. c[h >> 2] | 0,
  30947. c[i >> 2] | 0,
  30948. c[n >> 2] | 0,
  30949. c[k >> 2] | 0,
  30950. p
  30951. ) | 0;
  30952. t = c[g >> 2] | 0;
  30953. l = f;
  30954. return t | 0;
  30955. }
  30956. return 0;
  30957. }
  30958. function Wv(b, d, f, g, h) {
  30959. b = b | 0;
  30960. d = d | 0;
  30961. f = f | 0;
  30962. g = g | 0;
  30963. h = h | 0;
  30964. var i = 0,
  30965. j = 0,
  30966. k = 0,
  30967. m = 0,
  30968. n = 0,
  30969. o = 0,
  30970. p = 0,
  30971. q = 0,
  30972. r = 0,
  30973. s = 0,
  30974. t = 0,
  30975. u = 0,
  30976. v = 0,
  30977. w = 0,
  30978. x = 0,
  30979. y = 0,
  30980. z = 0,
  30981. A = 0,
  30982. B = 0,
  30983. C = 0,
  30984. D = 0,
  30985. E = 0,
  30986. F = 0,
  30987. G = 0,
  30988. H = 0,
  30989. I = 0,
  30990. J = 0,
  30991. K = 0,
  30992. L = 0,
  30993. M = 0,
  30994. N = 0,
  30995. O = 0,
  30996. P = 0,
  30997. Q = 0,
  30998. R = 0,
  30999. S = 0,
  31000. T = 0,
  31001. U = 0,
  31002. V = 0,
  31003. W = 0,
  31004. X = 0,
  31005. Y = 0,
  31006. Z = 0,
  31007. _ = 0,
  31008. $ = 0,
  31009. aa = 0,
  31010. ba = 0,
  31011. ca = 0,
  31012. da = 0,
  31013. ea = 0,
  31014. fa = 0,
  31015. ga = 0,
  31016. ha = 0,
  31017. ia = 0;
  31018. i = l;
  31019. l = (l + 208) | 0;
  31020. j = (i + 192) | 0;
  31021. k = (i + 188) | 0;
  31022. m = (i + 184) | 0;
  31023. n = (i + 180) | 0;
  31024. o = (i + 176) | 0;
  31025. p = (i + 172) | 0;
  31026. q = (i + 168) | 0;
  31027. r = (i + 164) | 0;
  31028. s = (i + 160) | 0;
  31029. t = (i + 156) | 0;
  31030. u = (i + 152) | 0;
  31031. v = (i + 136) | 0;
  31032. w = (i + 128) | 0;
  31033. x = (i + 120) | 0;
  31034. y = (i + 116) | 0;
  31035. z = (i + 112) | 0;
  31036. A = (i + 108) | 0;
  31037. B = (i + 104) | 0;
  31038. C = (i + 100) | 0;
  31039. D = (i + 96) | 0;
  31040. E = (i + 92) | 0;
  31041. F = (i + 88) | 0;
  31042. G = (i + 84) | 0;
  31043. H = (i + 80) | 0;
  31044. I = (i + 76) | 0;
  31045. J = (i + 72) | 0;
  31046. K = (i + 56) | 0;
  31047. L = (i + 48) | 0;
  31048. M = (i + 40) | 0;
  31049. N = (i + 36) | 0;
  31050. O = (i + 32) | 0;
  31051. P = (i + 28) | 0;
  31052. Q = (i + 24) | 0;
  31053. R = (i + 20) | 0;
  31054. S = (i + 16) | 0;
  31055. T = (i + 12) | 0;
  31056. U = (i + 8) | 0;
  31057. V = (i + 4) | 0;
  31058. W = i;
  31059. c[P >> 2] = b;
  31060. c[Q >> 2] = d;
  31061. c[R >> 2] = f;
  31062. c[S >> 2] = g;
  31063. c[T >> 2] = h;
  31064. c[U >> 2] = c[T >> 2];
  31065. c[V >> 2] = c[U >> 2];
  31066. c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
  31067. V = c[P >> 2] | 0;
  31068. P = c[Q >> 2] | 0;
  31069. Q = c[R >> 2] | 0;
  31070. R = c[S >> 2] | 0;
  31071. S = c[T >> 2] | 0;
  31072. if (c[W >> 2] | 0) {
  31073. c[A >> 2] = V;
  31074. c[B >> 2] = P;
  31075. c[C >> 2] = Q;
  31076. c[D >> 2] = R;
  31077. c[E >> 2] = S;
  31078. c[F >> 2] = 1;
  31079. c[G >> 2] = c[A >> 2];
  31080. c[H >> 2] = c[G >> 2];
  31081. c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
  31082. c[J >> 2] = (c[I >> 2] | 0) + -3;
  31083. c[N >> 2] = av(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
  31084. do {
  31085. if (!(wv(c[N >> 2] | 0) | 0)) {
  31086. bv(L, K, c[E >> 2] | 0);
  31087. bv(M, K, c[E >> 2] | 0);
  31088. while (1) {
  31089. if (cv(K) | 0) break;
  31090. if ((c[H >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
  31091. break;
  31092. if (c[F >> 2] | 0) X = (Xv(L, K) | 0) & 255;
  31093. else X = (lv(L, K) | 0) & 255;
  31094. a[c[H >> 2] >> 0] = X;
  31095. if (c[F >> 2] | 0) Y = (Xv(M, K) | 0) & 255;
  31096. else Y = (lv(M, K) | 0) & 255;
  31097. a[((c[H >> 2] | 0) + 1) >> 0] = Y;
  31098. if ((cv(K) | 0) >>> 0 > 0) {
  31099. Z = 14;
  31100. break;
  31101. }
  31102. if (c[F >> 2] | 0) _ = (Xv(L, K) | 0) & 255;
  31103. else _ = (lv(L, K) | 0) & 255;
  31104. a[((c[H >> 2] | 0) + 2) >> 0] = _;
  31105. if (c[F >> 2] | 0) $ = (Xv(M, K) | 0) & 255;
  31106. else $ = (lv(M, K) | 0) & 255;
  31107. a[((c[H >> 2] | 0) + 3) >> 0] = $;
  31108. c[H >> 2] = (c[H >> 2] | 0) + 4;
  31109. }
  31110. if ((Z | 0) == 14) c[H >> 2] = (c[H >> 2] | 0) + 2;
  31111. while (1) {
  31112. if ((cv(K) | 0) >>> 0 > 2) break;
  31113. if ((c[H >> 2] | 0) == (c[I >> 2] | 0)) break;
  31114. if (Fv(K) | 0) {
  31115. if (c[F >> 2] | 0) break;
  31116. if (Yv(L) | 0) break;
  31117. }
  31118. if (c[F >> 2] | 0) aa = (Xv(L, K) | 0) & 255;
  31119. else aa = (lv(L, K) | 0) & 255;
  31120. D = c[H >> 2] | 0;
  31121. c[H >> 2] = D + 1;
  31122. a[D >> 0] = aa;
  31123. if ((cv(K) | 0) >>> 0 > 2) break;
  31124. if ((c[H >> 2] | 0) == (c[I >> 2] | 0)) break;
  31125. if (Fv(K) | 0) {
  31126. if (c[F >> 2] | 0) break;
  31127. if (Yv(M) | 0) break;
  31128. }
  31129. if (c[F >> 2] | 0) ba = (Xv(M, K) | 0) & 255;
  31130. else ba = (lv(M, K) | 0) & 255;
  31131. D = c[H >> 2] | 0;
  31132. c[H >> 2] = D + 1;
  31133. a[D >> 0] = ba;
  31134. }
  31135. if ((Fv(K) | 0 ? Yv(L) | 0 : 0) ? Yv(M) | 0 : 0) {
  31136. c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
  31137. break;
  31138. }
  31139. if ((c[H >> 2] | 0) == (c[I >> 2] | 0)) {
  31140. c[z >> 2] = -70;
  31141. break;
  31142. } else {
  31143. c[z >> 2] = -20;
  31144. break;
  31145. }
  31146. } else c[z >> 2] = c[N >> 2];
  31147. } while (0);
  31148. c[O >> 2] = c[z >> 2];
  31149. ca = c[O >> 2] | 0;
  31150. l = i;
  31151. return ca | 0;
  31152. } else {
  31153. c[k >> 2] = V;
  31154. c[m >> 2] = P;
  31155. c[n >> 2] = Q;
  31156. c[o >> 2] = R;
  31157. c[p >> 2] = S;
  31158. c[q >> 2] = 0;
  31159. c[r >> 2] = c[k >> 2];
  31160. c[s >> 2] = c[r >> 2];
  31161. c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
  31162. c[u >> 2] = (c[t >> 2] | 0) + -3;
  31163. c[y >> 2] = av(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
  31164. do {
  31165. if (!(wv(c[y >> 2] | 0) | 0)) {
  31166. bv(w, v, c[p >> 2] | 0);
  31167. bv(x, v, c[p >> 2] | 0);
  31168. while (1) {
  31169. if (cv(v) | 0) break;
  31170. if ((c[s >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0)
  31171. break;
  31172. if (c[q >> 2] | 0) da = (Xv(w, v) | 0) & 255;
  31173. else da = (lv(w, v) | 0) & 255;
  31174. a[c[s >> 2] >> 0] = da;
  31175. if (c[q >> 2] | 0) ea = (Xv(x, v) | 0) & 255;
  31176. else ea = (lv(x, v) | 0) & 255;
  31177. a[((c[s >> 2] | 0) + 1) >> 0] = ea;
  31178. if ((cv(v) | 0) >>> 0 > 0) {
  31179. Z = 60;
  31180. break;
  31181. }
  31182. if (c[q >> 2] | 0) fa = (Xv(w, v) | 0) & 255;
  31183. else fa = (lv(w, v) | 0) & 255;
  31184. a[((c[s >> 2] | 0) + 2) >> 0] = fa;
  31185. if (c[q >> 2] | 0) ga = (Xv(x, v) | 0) & 255;
  31186. else ga = (lv(x, v) | 0) & 255;
  31187. a[((c[s >> 2] | 0) + 3) >> 0] = ga;
  31188. c[s >> 2] = (c[s >> 2] | 0) + 4;
  31189. }
  31190. if ((Z | 0) == 60) c[s >> 2] = (c[s >> 2] | 0) + 2;
  31191. while (1) {
  31192. if ((cv(v) | 0) >>> 0 > 2) break;
  31193. if ((c[s >> 2] | 0) == (c[t >> 2] | 0)) break;
  31194. if (Fv(v) | 0) {
  31195. if (c[q >> 2] | 0) break;
  31196. if (Yv(w) | 0) break;
  31197. }
  31198. if (c[q >> 2] | 0) ha = (Xv(w, v) | 0) & 255;
  31199. else ha = (lv(w, v) | 0) & 255;
  31200. o = c[s >> 2] | 0;
  31201. c[s >> 2] = o + 1;
  31202. a[o >> 0] = ha;
  31203. if ((cv(v) | 0) >>> 0 > 2) break;
  31204. if ((c[s >> 2] | 0) == (c[t >> 2] | 0)) break;
  31205. if (Fv(v) | 0) {
  31206. if (c[q >> 2] | 0) break;
  31207. if (Yv(x) | 0) break;
  31208. }
  31209. if (c[q >> 2] | 0) ia = (Xv(x, v) | 0) & 255;
  31210. else ia = (lv(x, v) | 0) & 255;
  31211. o = c[s >> 2] | 0;
  31212. c[s >> 2] = o + 1;
  31213. a[o >> 0] = ia;
  31214. }
  31215. if ((Fv(v) | 0 ? Yv(w) | 0 : 0) ? Yv(x) | 0 : 0) {
  31216. c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  31217. break;
  31218. }
  31219. if ((c[s >> 2] | 0) == (c[t >> 2] | 0)) {
  31220. c[j >> 2] = -70;
  31221. break;
  31222. } else {
  31223. c[j >> 2] = -20;
  31224. break;
  31225. }
  31226. } else c[j >> 2] = c[y >> 2];
  31227. } while (0);
  31228. c[O >> 2] = c[j >> 2];
  31229. ca = c[O >> 2] | 0;
  31230. l = i;
  31231. return ca | 0;
  31232. }
  31233. return 0;
  31234. }
  31235. function Xv(f, g) {
  31236. f = f | 0;
  31237. g = g | 0;
  31238. var h = 0,
  31239. i = 0,
  31240. j = 0,
  31241. k = 0,
  31242. m = 0,
  31243. n = 0,
  31244. o = 0;
  31245. h = l;
  31246. l = (l + 32) | 0;
  31247. i = (h + 12) | 0;
  31248. j = (h + 8) | 0;
  31249. k = (h + 16) | 0;
  31250. m = (h + 4) | 0;
  31251. n = (h + 20) | 0;
  31252. o = h;
  31253. c[i >> 2] = f;
  31254. c[j >> 2] = g;
  31255. g =
  31256. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  31257. (c[c[i >> 2] >> 2] << 2)) |
  31258. 0;
  31259. b[k >> 1] = b[g >> 1] | 0;
  31260. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  31261. c[m >> 2] = d[(k + 3) >> 0];
  31262. a[n >> 0] = a[(k + 2) >> 0] | 0;
  31263. c[o >> 2] = Zv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  31264. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  31265. l = h;
  31266. return a[n >> 0] | 0;
  31267. }
  31268. function Yv(a) {
  31269. a = a | 0;
  31270. var b = 0,
  31271. d = 0;
  31272. b = l;
  31273. l = (l + 16) | 0;
  31274. d = b;
  31275. c[d >> 2] = a;
  31276. l = b;
  31277. return ((c[c[d >> 2] >> 2] | 0) == 0) | 0;
  31278. }
  31279. function Zv(a, b) {
  31280. a = a | 0;
  31281. b = b | 0;
  31282. var d = 0,
  31283. e = 0,
  31284. f = 0,
  31285. g = 0;
  31286. d = l;
  31287. l = (l + 16) | 0;
  31288. e = (d + 8) | 0;
  31289. f = (d + 4) | 0;
  31290. g = d;
  31291. c[e >> 2] = a;
  31292. c[f >> 2] = b;
  31293. c[g >> 2] = Jv(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  31294. nv(c[e >> 2] | 0, c[f >> 2] | 0);
  31295. l = d;
  31296. return c[g >> 2] | 0;
  31297. }
  31298. function _v(f, g, h) {
  31299. f = f | 0;
  31300. g = g | 0;
  31301. h = h | 0;
  31302. var i = 0,
  31303. j = 0,
  31304. k = 0,
  31305. m = 0,
  31306. n = 0,
  31307. o = 0,
  31308. p = 0,
  31309. q = 0,
  31310. r = 0,
  31311. s = 0,
  31312. t = 0,
  31313. u = 0,
  31314. v = 0,
  31315. w = 0,
  31316. x = 0,
  31317. y = 0,
  31318. z = 0,
  31319. A = 0,
  31320. B = 0,
  31321. C = 0;
  31322. i = l;
  31323. l = (l + 400) | 0;
  31324. j = (i + 392) | 0;
  31325. k = (i + 388) | 0;
  31326. m = (i + 384) | 0;
  31327. n = (i + 380) | 0;
  31328. o = (i + 80) | 0;
  31329. p = i;
  31330. q = (i + 376) | 0;
  31331. r = (i + 372) | 0;
  31332. s = (i + 368) | 0;
  31333. t = (i + 364) | 0;
  31334. u = (i + 360) | 0;
  31335. v = (i + 356) | 0;
  31336. w = (i + 352) | 0;
  31337. x = (i + 348) | 0;
  31338. y = (i + 344) | 0;
  31339. z = (i + 340) | 0;
  31340. A = (i + 336) | 0;
  31341. B = (i + 396) | 0;
  31342. c[k >> 2] = f;
  31343. c[m >> 2] = g;
  31344. c[n >> 2] = h;
  31345. c[q >> 2] = 0;
  31346. c[s >> 2] = 0;
  31347. c[v >> 2] = (c[k >> 2] | 0) + 2;
  31348. c[w >> 2] = c[v >> 2];
  31349. c[r >> 2] =
  31350. Qv(o, 256, p, s, q, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31351. if (Cv(c[r >> 2] | 0) | 0) {
  31352. c[j >> 2] = c[r >> 2];
  31353. C = c[j >> 2] | 0;
  31354. l = i;
  31355. return C | 0;
  31356. }
  31357. if ((c[q >> 2] | 0) >>> 0 > (e[c[k >> 2] >> 1] | 0) >>> 0) {
  31358. c[j >> 2] = -44;
  31359. C = c[j >> 2] | 0;
  31360. l = i;
  31361. return C | 0;
  31362. }
  31363. b[c[k >> 2] >> 1] = c[q >> 2];
  31364. c[u >> 2] = 0;
  31365. c[t >> 2] = 1;
  31366. while (1) {
  31367. if ((c[t >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
  31368. c[x >> 2] = c[u >> 2];
  31369. c[u >> 2] =
  31370. (c[u >> 2] | 0) +
  31371. (c[(p + (c[t >> 2] << 2)) >> 2] << ((c[t >> 2] | 0) - 1));
  31372. c[(p + (c[t >> 2] << 2)) >> 2] = c[x >> 2];
  31373. c[t >> 2] = (c[t >> 2] | 0) + 1;
  31374. }
  31375. c[t >> 2] = 0;
  31376. while (1) {
  31377. if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  31378. c[y >> 2] = d[(o + (c[t >> 2] | 0)) >> 0];
  31379. c[z >> 2] = (1 << c[y >> 2]) >> 1;
  31380. a[B >> 0] = c[t >> 2];
  31381. a[(B + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[y >> 2] | 0);
  31382. c[A >> 2] = c[(p + (c[y >> 2] << 2)) >> 2];
  31383. while (1) {
  31384. if (
  31385. (c[A >> 2] | 0) >>> 0 >=
  31386. (((c[(p + (c[y >> 2] << 2)) >> 2] | 0) +
  31387. (c[z >> 2] | 0)) |
  31388. 0) >>>
  31389. 0
  31390. )
  31391. break;
  31392. x = ((c[w >> 2] | 0) + (c[A >> 2] << 1)) | 0;
  31393. a[x >> 0] = a[B >> 0] | 0;
  31394. a[(x + 1) >> 0] = a[(B + 1) >> 0] | 0;
  31395. c[A >> 2] = (c[A >> 2] | 0) + 1;
  31396. }
  31397. x = (p + (c[y >> 2] << 2)) | 0;
  31398. c[x >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
  31399. c[t >> 2] = (c[t >> 2] | 0) + 1;
  31400. }
  31401. c[j >> 2] = c[r >> 2];
  31402. C = c[j >> 2] | 0;
  31403. l = i;
  31404. return C | 0;
  31405. }
  31406. function $v(b, d, f, g, h) {
  31407. b = b | 0;
  31408. d = d | 0;
  31409. f = f | 0;
  31410. g = g | 0;
  31411. h = h | 0;
  31412. var i = 0,
  31413. j = 0,
  31414. k = 0,
  31415. m = 0,
  31416. n = 0,
  31417. o = 0,
  31418. p = 0,
  31419. q = 0,
  31420. r = 0,
  31421. s = 0,
  31422. t = 0,
  31423. u = 0,
  31424. v = 0,
  31425. w = 0,
  31426. x = 0,
  31427. y = 0,
  31428. z = 0,
  31429. A = 0,
  31430. B = 0,
  31431. C = 0,
  31432. D = 0,
  31433. E = 0,
  31434. F = 0,
  31435. G = 0,
  31436. H = 0,
  31437. I = 0,
  31438. J = 0,
  31439. K = 0,
  31440. L = 0,
  31441. M = 0,
  31442. N = 0,
  31443. O = 0,
  31444. P = 0,
  31445. Q = 0,
  31446. R = 0,
  31447. S = 0;
  31448. i = l;
  31449. l = (l + 192) | 0;
  31450. j = (i + 184) | 0;
  31451. k = (i + 180) | 0;
  31452. m = (i + 176) | 0;
  31453. n = (i + 172) | 0;
  31454. o = (i + 168) | 0;
  31455. p = (i + 164) | 0;
  31456. q = (i + 160) | 0;
  31457. r = (i + 156) | 0;
  31458. s = (i + 152) | 0;
  31459. t = (i + 148) | 0;
  31460. u = (i + 144) | 0;
  31461. v = (i + 140) | 0;
  31462. w = (i + 136) | 0;
  31463. x = (i + 120) | 0;
  31464. y = (i + 104) | 0;
  31465. z = (i + 88) | 0;
  31466. A = (i + 72) | 0;
  31467. B = (i + 64) | 0;
  31468. C = (i + 60) | 0;
  31469. D = (i + 56) | 0;
  31470. E = (i + 52) | 0;
  31471. F = (i + 48) | 0;
  31472. G = (i + 44) | 0;
  31473. H = (i + 40) | 0;
  31474. I = (i + 36) | 0;
  31475. J = (i + 32) | 0;
  31476. K = (i + 28) | 0;
  31477. L = (i + 24) | 0;
  31478. M = (i + 20) | 0;
  31479. N = (i + 16) | 0;
  31480. O = (i + 12) | 0;
  31481. P = (i + 8) | 0;
  31482. Q = (i + 4) | 0;
  31483. R = i;
  31484. c[k >> 2] = b;
  31485. c[m >> 2] = d;
  31486. c[n >> 2] = f;
  31487. c[o >> 2] = g;
  31488. c[p >> 2] = h;
  31489. c[q >> 2] = c[n >> 2];
  31490. c[r >> 2] = c[k >> 2];
  31491. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  31492. c[t >> 2] = c[p >> 2];
  31493. c[u >> 2] = (c[t >> 2] | 0) + 2;
  31494. c[v >> 2] = e[c[p >> 2] >> 1];
  31495. c[B >> 2] = (Ov(c[q >> 2] | 0) | 0) & 65535;
  31496. c[C >> 2] = (Ov(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
  31497. c[D >> 2] = (Ov(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
  31498. c[F >> 2] = (c[q >> 2] | 0) + 6;
  31499. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  31500. c[H >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
  31501. c[I >> 2] = (c[H >> 2] | 0) + (c[D >> 2] | 0);
  31502. c[J >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  31503. c[K >> 2] = (c[r >> 2] | 0) + (c[J >> 2] | 0);
  31504. c[L >> 2] = (c[K >> 2] | 0) + (c[J >> 2] | 0);
  31505. c[M >> 2] = (c[L >> 2] | 0) + (c[J >> 2] | 0);
  31506. c[N >> 2] = c[r >> 2];
  31507. c[O >> 2] = c[K >> 2];
  31508. c[P >> 2] = c[L >> 2];
  31509. c[Q >> 2] = c[M >> 2];
  31510. if ((c[o >> 2] | 0) >>> 0 < 10) {
  31511. c[j >> 2] = -20;
  31512. S = c[j >> 2] | 0;
  31513. l = i;
  31514. return S | 0;
  31515. }
  31516. c[E >> 2] =
  31517. (c[o >> 2] | 0) -
  31518. ((c[B >> 2] | 0) + (c[C >> 2] | 0) + (c[D >> 2] | 0) + 6);
  31519. if ((c[E >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  31520. c[j >> 2] = -20;
  31521. S = c[j >> 2] | 0;
  31522. l = i;
  31523. return S | 0;
  31524. }
  31525. c[w >> 2] = av(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  31526. if (Cv(c[w >> 2] | 0) | 0) {
  31527. c[j >> 2] = c[w >> 2];
  31528. S = c[j >> 2] | 0;
  31529. l = i;
  31530. return S | 0;
  31531. }
  31532. c[w >> 2] = av(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  31533. if (Cv(c[w >> 2] | 0) | 0) {
  31534. c[j >> 2] = c[w >> 2];
  31535. S = c[j >> 2] | 0;
  31536. l = i;
  31537. return S | 0;
  31538. }
  31539. c[w >> 2] = av(z, c[H >> 2] | 0, c[D >> 2] | 0) | 0;
  31540. if (Cv(c[w >> 2] | 0) | 0) {
  31541. c[j >> 2] = c[w >> 2];
  31542. S = c[j >> 2] | 0;
  31543. l = i;
  31544. return S | 0;
  31545. }
  31546. c[w >> 2] = av(A, c[I >> 2] | 0, c[E >> 2] | 0) | 0;
  31547. if (Cv(c[w >> 2] | 0) | 0) {
  31548. c[j >> 2] = c[w >> 2];
  31549. S = c[j >> 2] | 0;
  31550. l = i;
  31551. return S | 0;
  31552. }
  31553. w = cv(x) | 0;
  31554. E = w | (cv(y) | 0);
  31555. w = E | (cv(z) | 0);
  31556. c[R >> 2] = w | (cv(A) | 0);
  31557. while (1) {
  31558. if (c[R >> 2] | 0) break;
  31559. if (
  31560. (c[Q >> 2] | 0) >>> 0 >=
  31561. (((c[s >> 2] | 0) + -7) | 0) >>> 0
  31562. )
  31563. break;
  31564. if (Gv() | 0) {
  31565. w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31566. E = c[N >> 2] | 0;
  31567. c[N >> 2] = E + 1;
  31568. a[E >> 0] = w;
  31569. }
  31570. if (Gv() | 0) {
  31571. w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31572. E = c[O >> 2] | 0;
  31573. c[O >> 2] = E + 1;
  31574. a[E >> 0] = w;
  31575. }
  31576. if (Gv() | 0) {
  31577. w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31578. E = c[P >> 2] | 0;
  31579. c[P >> 2] = E + 1;
  31580. a[E >> 0] = w;
  31581. }
  31582. if (Gv() | 0) {
  31583. w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31584. E = c[Q >> 2] | 0;
  31585. c[Q >> 2] = E + 1;
  31586. a[E >> 0] = w;
  31587. }
  31588. Gv() | 0;
  31589. w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31590. E = c[N >> 2] | 0;
  31591. c[N >> 2] = E + 1;
  31592. a[E >> 0] = w;
  31593. Gv() | 0;
  31594. w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31595. E = c[O >> 2] | 0;
  31596. c[O >> 2] = E + 1;
  31597. a[E >> 0] = w;
  31598. Gv() | 0;
  31599. w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31600. E = c[P >> 2] | 0;
  31601. c[P >> 2] = E + 1;
  31602. a[E >> 0] = w;
  31603. Gv() | 0;
  31604. w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31605. E = c[Q >> 2] | 0;
  31606. c[Q >> 2] = E + 1;
  31607. a[E >> 0] = w;
  31608. if (Gv() | 0) {
  31609. w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31610. E = c[N >> 2] | 0;
  31611. c[N >> 2] = E + 1;
  31612. a[E >> 0] = w;
  31613. }
  31614. if (Gv() | 0) {
  31615. w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31616. E = c[O >> 2] | 0;
  31617. c[O >> 2] = E + 1;
  31618. a[E >> 0] = w;
  31619. }
  31620. if (Gv() | 0) {
  31621. w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31622. E = c[P >> 2] | 0;
  31623. c[P >> 2] = E + 1;
  31624. a[E >> 0] = w;
  31625. }
  31626. if (Gv() | 0) {
  31627. w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31628. E = c[Q >> 2] | 0;
  31629. c[Q >> 2] = E + 1;
  31630. a[E >> 0] = w;
  31631. }
  31632. w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31633. E = c[N >> 2] | 0;
  31634. c[N >> 2] = E + 1;
  31635. a[E >> 0] = w;
  31636. w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31637. E = c[O >> 2] | 0;
  31638. c[O >> 2] = E + 1;
  31639. a[E >> 0] = w;
  31640. w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31641. E = c[P >> 2] | 0;
  31642. c[P >> 2] = E + 1;
  31643. a[E >> 0] = w;
  31644. w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  31645. E = c[Q >> 2] | 0;
  31646. c[Q >> 2] = E + 1;
  31647. a[E >> 0] = w;
  31648. w = cv(x) | 0;
  31649. E = w | (cv(y) | 0);
  31650. w = E | (cv(z) | 0);
  31651. c[R >> 2] = w | (cv(A) | 0);
  31652. }
  31653. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  31654. c[j >> 2] = -20;
  31655. S = c[j >> 2] | 0;
  31656. l = i;
  31657. return S | 0;
  31658. }
  31659. if ((c[O >> 2] | 0) >>> 0 > (c[L >> 2] | 0) >>> 0) {
  31660. c[j >> 2] = -20;
  31661. S = c[j >> 2] | 0;
  31662. l = i;
  31663. return S | 0;
  31664. }
  31665. if ((c[P >> 2] | 0) >>> 0 > (c[M >> 2] | 0) >>> 0) {
  31666. c[j >> 2] = -20;
  31667. S = c[j >> 2] | 0;
  31668. l = i;
  31669. return S | 0;
  31670. }
  31671. bw(
  31672. c[N >> 2] | 0,
  31673. x,
  31674. c[K >> 2] | 0,
  31675. c[u >> 2] | 0,
  31676. c[v >> 2] | 0
  31677. ) | 0;
  31678. bw(
  31679. c[O >> 2] | 0,
  31680. y,
  31681. c[L >> 2] | 0,
  31682. c[u >> 2] | 0,
  31683. c[v >> 2] | 0
  31684. ) | 0;
  31685. bw(
  31686. c[P >> 2] | 0,
  31687. z,
  31688. c[M >> 2] | 0,
  31689. c[u >> 2] | 0,
  31690. c[v >> 2] | 0
  31691. ) | 0;
  31692. bw(
  31693. c[Q >> 2] | 0,
  31694. A,
  31695. c[s >> 2] | 0,
  31696. c[u >> 2] | 0,
  31697. c[v >> 2] | 0
  31698. ) | 0;
  31699. v = Fv(x) | 0;
  31700. x = v & (Fv(y) | 0);
  31701. y = x & (Fv(z) | 0);
  31702. c[R >> 2] = y & (Fv(A) | 0);
  31703. if (c[R >> 2] | 0) {
  31704. c[j >> 2] = c[m >> 2];
  31705. S = c[j >> 2] | 0;
  31706. l = i;
  31707. return S | 0;
  31708. } else {
  31709. c[j >> 2] = -20;
  31710. S = c[j >> 2] | 0;
  31711. l = i;
  31712. return S | 0;
  31713. }
  31714. return 0;
  31715. }
  31716. function aw(b, e, f) {
  31717. b = b | 0;
  31718. e = e | 0;
  31719. f = f | 0;
  31720. var g = 0,
  31721. h = 0,
  31722. i = 0,
  31723. j = 0,
  31724. k = 0,
  31725. m = 0;
  31726. g = l;
  31727. l = (l + 32) | 0;
  31728. h = (g + 12) | 0;
  31729. i = (g + 8) | 0;
  31730. j = (g + 4) | 0;
  31731. k = g;
  31732. m = (g + 16) | 0;
  31733. c[h >> 2] = b;
  31734. c[i >> 2] = e;
  31735. c[j >> 2] = f;
  31736. c[k >> 2] = Jv(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
  31737. a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
  31738. nv(
  31739. c[h >> 2] | 0,
  31740. d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
  31741. );
  31742. l = g;
  31743. return a[m >> 0] | 0;
  31744. }
  31745. function bw(b, d, e, f, g) {
  31746. b = b | 0;
  31747. d = d | 0;
  31748. e = e | 0;
  31749. f = f | 0;
  31750. g = g | 0;
  31751. var h = 0,
  31752. i = 0,
  31753. j = 0,
  31754. k = 0,
  31755. m = 0,
  31756. n = 0,
  31757. o = 0;
  31758. h = l;
  31759. l = (l + 32) | 0;
  31760. i = (h + 20) | 0;
  31761. j = (h + 16) | 0;
  31762. k = (h + 12) | 0;
  31763. m = (h + 8) | 0;
  31764. n = (h + 4) | 0;
  31765. o = h;
  31766. c[i >> 2] = b;
  31767. c[j >> 2] = d;
  31768. c[k >> 2] = e;
  31769. c[m >> 2] = f;
  31770. c[n >> 2] = g;
  31771. c[o >> 2] = c[i >> 2];
  31772. while (1) {
  31773. if (cv(c[j >> 2] | 0) | 0) break;
  31774. if (
  31775. (c[i >> 2] | 0) >>> 0 >
  31776. (((c[k >> 2] | 0) + -4) | 0) >>> 0
  31777. )
  31778. break;
  31779. if (Gv() | 0) {
  31780. g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31781. f = c[i >> 2] | 0;
  31782. c[i >> 2] = f + 1;
  31783. a[f >> 0] = g;
  31784. }
  31785. Gv() | 0;
  31786. g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31787. f = c[i >> 2] | 0;
  31788. c[i >> 2] = f + 1;
  31789. a[f >> 0] = g;
  31790. if (Gv() | 0) {
  31791. g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31792. f = c[i >> 2] | 0;
  31793. c[i >> 2] = f + 1;
  31794. a[f >> 0] = g;
  31795. }
  31796. g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31797. f = c[i >> 2] | 0;
  31798. c[i >> 2] = f + 1;
  31799. a[f >> 0] = g;
  31800. }
  31801. while (1) {
  31802. if (cv(c[j >> 2] | 0) | 0) break;
  31803. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  31804. g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31805. f = c[i >> 2] | 0;
  31806. c[i >> 2] = f + 1;
  31807. a[f >> 0] = g;
  31808. }
  31809. while (1) {
  31810. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  31811. g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31812. f = c[i >> 2] | 0;
  31813. c[i >> 2] = f + 1;
  31814. a[f >> 0] = g;
  31815. }
  31816. l = h;
  31817. return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
  31818. }
  31819. function cw(a, b, d, f, g) {
  31820. a = a | 0;
  31821. b = b | 0;
  31822. d = d | 0;
  31823. f = f | 0;
  31824. g = g | 0;
  31825. var h = 0,
  31826. i = 0,
  31827. j = 0,
  31828. k = 0,
  31829. m = 0,
  31830. n = 0,
  31831. o = 0,
  31832. p = 0,
  31833. q = 0,
  31834. r = 0,
  31835. s = 0,
  31836. t = 0,
  31837. u = 0,
  31838. v = 0,
  31839. w = 0;
  31840. h = l;
  31841. l = (l + 80) | 0;
  31842. i = (h + 64) | 0;
  31843. j = (h + 60) | 0;
  31844. k = (h + 56) | 0;
  31845. m = (h + 52) | 0;
  31846. n = (h + 48) | 0;
  31847. o = (h + 44) | 0;
  31848. p = (h + 40) | 0;
  31849. q = (h + 36) | 0;
  31850. r = (h + 32) | 0;
  31851. s = (h + 28) | 0;
  31852. t = (h + 24) | 0;
  31853. u = (h + 8) | 0;
  31854. v = h;
  31855. c[j >> 2] = a;
  31856. c[k >> 2] = b;
  31857. c[m >> 2] = d;
  31858. c[n >> 2] = f;
  31859. c[o >> 2] = g;
  31860. c[p >> 2] = c[j >> 2];
  31861. c[q >> 2] = (c[p >> 2] | 0) + (c[k >> 2] | 0);
  31862. c[r >> 2] = e[c[o >> 2] >> 1];
  31863. c[s >> 2] = c[o >> 2];
  31864. c[t >> 2] = (c[s >> 2] | 0) + 2;
  31865. if ((c[k >> 2] | 0) >>> 0 <= (c[n >> 2] | 0) >>> 0) {
  31866. c[i >> 2] = -70;
  31867. w = c[i >> 2] | 0;
  31868. l = h;
  31869. return w | 0;
  31870. }
  31871. c[v >> 2] = av(u, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  31872. if (Cv(c[v >> 2] | 0) | 0) {
  31873. c[i >> 2] = c[v >> 2];
  31874. w = c[i >> 2] | 0;
  31875. l = h;
  31876. return w | 0;
  31877. }
  31878. bw(
  31879. c[p >> 2] | 0,
  31880. u,
  31881. c[q >> 2] | 0,
  31882. c[t >> 2] | 0,
  31883. c[r >> 2] | 0
  31884. ) | 0;
  31885. if (Fv(u) | 0) {
  31886. c[i >> 2] = c[k >> 2];
  31887. w = c[i >> 2] | 0;
  31888. l = h;
  31889. return w | 0;
  31890. } else {
  31891. c[i >> 2] = -20;
  31892. w = c[i >> 2] | 0;
  31893. l = h;
  31894. return w | 0;
  31895. }
  31896. return 0;
  31897. }
  31898. function dw(a) {
  31899. a = a | 0;
  31900. var b = 0,
  31901. d = 0;
  31902. b = l;
  31903. l = (l + 16) | 0;
  31904. d = b;
  31905. c[d >> 2] = a;
  31906. c[((c[d >> 2] | 0) + 26656) >> 2] = 5;
  31907. c[((c[d >> 2] | 0) + 26708) >> 2] = 0;
  31908. c[((c[d >> 2] | 0) + 26640) >> 2] = 0;
  31909. c[((c[d >> 2] | 0) + 26644) >> 2] = 0;
  31910. c[((c[d >> 2] | 0) + 26648) >> 2] = 0;
  31911. c[((c[d >> 2] | 0) + 26652) >> 2] = 0;
  31912. c[((c[d >> 2] | 0) + 10252) >> 2] = 12;
  31913. c[((c[d >> 2] | 0) + 26712) >> 2] = 0;
  31914. l = b;
  31915. return 0;
  31916. }
  31917. function ew(a, b, d) {
  31918. a = a | 0;
  31919. b = b | 0;
  31920. d = d | 0;
  31921. var e = 0,
  31922. f = 0,
  31923. g = 0,
  31924. h = 0,
  31925. i = 0,
  31926. j = 0,
  31927. k = 0,
  31928. m = 0;
  31929. e = l;
  31930. l = (l + 32) | 0;
  31931. f = (e + 20) | 0;
  31932. g = (e + 16) | 0;
  31933. h = (e + 12) | 0;
  31934. i = (e + 8) | 0;
  31935. j = (e + 4) | 0;
  31936. k = e;
  31937. c[g >> 2] = a;
  31938. c[h >> 2] = b;
  31939. c[i >> 2] = d;
  31940. c[k >> 2] = Wq(c[h >> 2] | 0) | 0;
  31941. if ((c[k >> 2] | 0) != -332356555) {
  31942. fw(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
  31943. c[f >> 2] = 0;
  31944. m = c[f >> 2] | 0;
  31945. l = e;
  31946. return m | 0;
  31947. }
  31948. c[h >> 2] = (c[h >> 2] | 0) + 4;
  31949. c[i >> 2] = (c[i >> 2] | 0) - 4;
  31950. c[j >> 2] =
  31951. gw(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  31952. if (mr(c[j >> 2] | 0) | 0) {
  31953. c[f >> 2] = -30;
  31954. m = c[f >> 2] | 0;
  31955. l = e;
  31956. return m | 0;
  31957. } else {
  31958. c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
  31959. c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
  31960. fw(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
  31961. c[f >> 2] = 0;
  31962. m = c[f >> 2] | 0;
  31963. l = e;
  31964. return m | 0;
  31965. }
  31966. return 0;
  31967. }
  31968. function fw(a, b, d) {
  31969. a = a | 0;
  31970. b = b | 0;
  31971. d = d | 0;
  31972. var e = 0,
  31973. f = 0,
  31974. g = 0,
  31975. h = 0;
  31976. e = l;
  31977. l = (l + 16) | 0;
  31978. f = (e + 8) | 0;
  31979. g = (e + 4) | 0;
  31980. h = e;
  31981. c[f >> 2] = a;
  31982. c[g >> 2] = b;
  31983. c[h >> 2] = d;
  31984. c[((c[f >> 2] | 0) + 26652) >> 2] =
  31985. c[((c[f >> 2] | 0) + 26640) >> 2];
  31986. c[((c[f >> 2] | 0) + 26648) >> 2] =
  31987. (c[g >> 2] | 0) +
  31988. (0 -
  31989. ((c[((c[f >> 2] | 0) + 26640) >> 2] | 0) -
  31990. (c[((c[f >> 2] | 0) + 26644) >> 2] | 0)));
  31991. c[((c[f >> 2] | 0) + 26644) >> 2] = c[g >> 2];
  31992. c[((c[f >> 2] | 0) + 26640) >> 2] =
  31993. (c[g >> 2] | 0) + (c[h >> 2] | 0);
  31994. l = e;
  31995. return;
  31996. }
  31997. function gw(a, b, d) {
  31998. a = a | 0;
  31999. b = b | 0;
  32000. d = d | 0;
  32001. var e = 0,
  32002. f = 0,
  32003. g = 0,
  32004. h = 0,
  32005. i = 0,
  32006. j = 0,
  32007. k = 0,
  32008. m = 0,
  32009. n = 0,
  32010. o = 0,
  32011. p = 0,
  32012. q = 0,
  32013. r = 0,
  32014. s = 0,
  32015. t = 0,
  32016. u = 0,
  32017. v = 0,
  32018. w = 0,
  32019. x = 0,
  32020. y = 0;
  32021. e = l;
  32022. l = (l + 512) | 0;
  32023. f = (e + 504) | 0;
  32024. g = (e + 500) | 0;
  32025. h = (e + 496) | 0;
  32026. i = (e + 492) | 0;
  32027. j = (e + 488) | 0;
  32028. k = (e + 484) | 0;
  32029. m = (e + 480) | 0;
  32030. n = (e + 476) | 0;
  32031. o = (e + 472) | 0;
  32032. p = (e + 384) | 0;
  32033. q = (e + 468) | 0;
  32034. r = (e + 464) | 0;
  32035. s = (e + 128) | 0;
  32036. t = (e + 460) | 0;
  32037. u = (e + 456) | 0;
  32038. v = e;
  32039. w = (e + 452) | 0;
  32040. x = (e + 448) | 0;
  32041. c[g >> 2] = a;
  32042. c[h >> 2] = b;
  32043. c[i >> 2] = d;
  32044. c[q >> 2] = 31;
  32045. c[t >> 2] = 127;
  32046. c[w >> 2] = 63;
  32047. c[j >> 2] =
  32048. Mv(
  32049. ((c[g >> 2] | 0) + 10252) | 0,
  32050. c[h >> 2] | 0,
  32051. c[i >> 2] | 0
  32052. ) | 0;
  32053. if (Cv(c[j >> 2] | 0) | 0) {
  32054. c[f >> 2] = -30;
  32055. y = c[f >> 2] | 0;
  32056. l = e;
  32057. return y | 0;
  32058. }
  32059. c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
  32060. c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
  32061. c[k >> 2] = vv(p, q, r, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  32062. if (wv(c[k >> 2] | 0) | 0) {
  32063. c[f >> 2] = -30;
  32064. y = c[f >> 2] | 0;
  32065. l = e;
  32066. return y | 0;
  32067. }
  32068. if ((c[r >> 2] | 0) >>> 0 > 9) {
  32069. c[f >> 2] = -30;
  32070. y = c[f >> 2] | 0;
  32071. l = e;
  32072. return y | 0;
  32073. }
  32074. c[n >> 2] =
  32075. xv(
  32076. ((c[g >> 2] | 0) + 4100) | 0,
  32077. p,
  32078. c[q >> 2] | 0,
  32079. c[r >> 2] | 0
  32080. ) | 0;
  32081. if (wv(c[n >> 2] | 0) | 0) {
  32082. c[f >> 2] = -30;
  32083. y = c[f >> 2] | 0;
  32084. l = e;
  32085. return y | 0;
  32086. }
  32087. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  32088. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  32089. c[m >> 2] = vv(s, t, u, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  32090. if (wv(c[m >> 2] | 0) | 0) {
  32091. c[f >> 2] = -30;
  32092. y = c[f >> 2] | 0;
  32093. l = e;
  32094. return y | 0;
  32095. }
  32096. if ((c[u >> 2] | 0) >>> 0 > 10) {
  32097. c[f >> 2] = -30;
  32098. y = c[f >> 2] | 0;
  32099. l = e;
  32100. return y | 0;
  32101. }
  32102. c[n >> 2] =
  32103. xv(
  32104. ((c[g >> 2] | 0) + 6152) | 0,
  32105. s,
  32106. c[t >> 2] | 0,
  32107. c[u >> 2] | 0
  32108. ) | 0;
  32109. if (wv(c[n >> 2] | 0) | 0) {
  32110. c[f >> 2] = -30;
  32111. y = c[f >> 2] | 0;
  32112. l = e;
  32113. return y | 0;
  32114. }
  32115. c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
  32116. c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
  32117. c[o >> 2] = vv(v, w, x, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  32118. if ((c[x >> 2] | 0) >>> 0 > 10) {
  32119. c[f >> 2] = -30;
  32120. y = c[f >> 2] | 0;
  32121. l = e;
  32122. return y | 0;
  32123. }
  32124. if (wv(c[o >> 2] | 0) | 0) {
  32125. c[f >> 2] = -30;
  32126. y = c[f >> 2] | 0;
  32127. l = e;
  32128. return y | 0;
  32129. }
  32130. c[n >> 2] =
  32131. xv(c[g >> 2] | 0, v, c[w >> 2] | 0, c[x >> 2] | 0) | 0;
  32132. if (wv(c[n >> 2] | 0) | 0) {
  32133. c[f >> 2] = -30;
  32134. y = c[f >> 2] | 0;
  32135. l = e;
  32136. return y | 0;
  32137. } else {
  32138. c[((c[g >> 2] | 0) + 26712) >> 2] = 1;
  32139. c[f >> 2] =
  32140. (c[j >> 2] | 0) +
  32141. (c[k >> 2] | 0) +
  32142. (c[m >> 2] | 0) +
  32143. (c[o >> 2] | 0);
  32144. y = c[f >> 2] | 0;
  32145. l = e;
  32146. return y | 0;
  32147. }
  32148. return 0;
  32149. }
  32150. function hw() {
  32151. var a = 0,
  32152. b = 0,
  32153. d = 0,
  32154. e = 0;
  32155. a = l;
  32156. l = (l + 16) | 0;
  32157. b = (a + 4) | 0;
  32158. d = a;
  32159. c[d >> 2] = Cy(141416) | 0;
  32160. if (!(c[d >> 2] | 0)) {
  32161. c[b >> 2] = 0;
  32162. e = c[b >> 2] | 0;
  32163. l = a;
  32164. return e | 0;
  32165. } else {
  32166. kw(c[d >> 2] | 0) | 0;
  32167. c[b >> 2] = c[d >> 2];
  32168. e = c[b >> 2] | 0;
  32169. l = a;
  32170. return e | 0;
  32171. }
  32172. return 0;
  32173. }
  32174. function iw(a, b, d, e, f) {
  32175. a = a | 0;
  32176. b = b | 0;
  32177. d = d | 0;
  32178. e = e | 0;
  32179. f = f | 0;
  32180. var g = 0,
  32181. h = 0,
  32182. i = 0,
  32183. j = 0,
  32184. k = 0,
  32185. m = 0;
  32186. g = l;
  32187. l = (l + 32) | 0;
  32188. h = (g + 16) | 0;
  32189. i = (g + 12) | 0;
  32190. j = (g + 8) | 0;
  32191. k = (g + 4) | 0;
  32192. m = g;
  32193. c[h >> 2] = a;
  32194. c[i >> 2] = b;
  32195. c[j >> 2] = d;
  32196. c[k >> 2] = e;
  32197. c[m >> 2] = f;
  32198. f =
  32199. jw(
  32200. c[h >> 2] | 0,
  32201. c[i >> 2] | 0,
  32202. c[j >> 2] | 0,
  32203. c[k >> 2] | 0,
  32204. c[m >> 2] | 0,
  32205. 0,
  32206. 0
  32207. ) | 0;
  32208. l = g;
  32209. return f | 0;
  32210. }
  32211. function jw(a, b, d, e, f, g, h) {
  32212. a = a | 0;
  32213. b = b | 0;
  32214. d = d | 0;
  32215. e = e | 0;
  32216. f = f | 0;
  32217. g = g | 0;
  32218. h = h | 0;
  32219. var i = 0,
  32220. j = 0,
  32221. k = 0,
  32222. m = 0,
  32223. n = 0,
  32224. o = 0,
  32225. p = 0,
  32226. q = 0,
  32227. r = 0,
  32228. s = 0,
  32229. t = 0,
  32230. u = 0,
  32231. v = 0,
  32232. w = 0,
  32233. x = 0,
  32234. y = 0,
  32235. z = 0,
  32236. A = 0,
  32237. B = 0,
  32238. C = 0,
  32239. D = 0,
  32240. E = 0;
  32241. i = l;
  32242. l = (l + 80) | 0;
  32243. j = (i + 76) | 0;
  32244. k = (i + 72) | 0;
  32245. m = (i + 68) | 0;
  32246. n = (i + 64) | 0;
  32247. o = (i + 60) | 0;
  32248. p = (i + 56) | 0;
  32249. q = (i + 52) | 0;
  32250. r = (i + 48) | 0;
  32251. s = (i + 44) | 0;
  32252. t = (i + 40) | 0;
  32253. u = (i + 36) | 0;
  32254. v = (i + 32) | 0;
  32255. w = (i + 28) | 0;
  32256. x = (i + 24) | 0;
  32257. y = (i + 16) | 0;
  32258. z = (i + 8) | 0;
  32259. A = (i + 4) | 0;
  32260. B = i;
  32261. c[k >> 2] = a;
  32262. c[m >> 2] = b;
  32263. c[n >> 2] = d;
  32264. c[o >> 2] = e;
  32265. c[p >> 2] = f;
  32266. c[q >> 2] = g;
  32267. c[r >> 2] = h;
  32268. c[s >> 2] = c[o >> 2];
  32269. c[t >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  32270. c[u >> 2] = c[m >> 2];
  32271. c[v >> 2] = c[u >> 2];
  32272. c[w >> 2] = (c[u >> 2] | 0) + (c[n >> 2] | 0);
  32273. c[x >> 2] = c[p >> 2];
  32274. kw(c[k >> 2] | 0) | 0;
  32275. if (c[q >> 2] | 0) {
  32276. lw(c[k >> 2] | 0, c[q >> 2] | 0, c[r >> 2] | 0);
  32277. c[((c[k >> 2] | 0) + 10264) >> 2] =
  32278. c[((c[k >> 2] | 0) + 10252) >> 2];
  32279. c[((c[k >> 2] | 0) + 10260) >> 2] =
  32280. (c[m >> 2] | 0) +
  32281. (0 -
  32282. ((c[((c[k >> 2] | 0) + 10252) >> 2] | 0) -
  32283. (c[((c[k >> 2] | 0) + 10256) >> 2] | 0)));
  32284. c[((c[k >> 2] | 0) + 10256) >> 2] = c[m >> 2];
  32285. } else {
  32286. r = c[m >> 2] | 0;
  32287. c[((c[k >> 2] | 0) + 10264) >> 2] = r;
  32288. c[((c[k >> 2] | 0) + 10256) >> 2] = r;
  32289. c[((c[k >> 2] | 0) + 10260) >> 2] = r;
  32290. }
  32291. if ((c[p >> 2] | 0) >>> 0 < 8) {
  32292. c[j >> 2] = -72;
  32293. C = c[j >> 2] | 0;
  32294. l = i;
  32295. return C | 0;
  32296. }
  32297. c[z >> 2] = mw(c[k >> 2] | 0, c[o >> 2] | 0, 5) | 0;
  32298. if (rr(c[z >> 2] | 0) | 0) {
  32299. c[j >> 2] = c[z >> 2];
  32300. C = c[j >> 2] | 0;
  32301. l = i;
  32302. return C | 0;
  32303. }
  32304. if (
  32305. (c[p >> 2] | 0) >>> 0 <
  32306. (((c[z >> 2] | 0) + 3) | 0) >>> 0
  32307. ) {
  32308. c[j >> 2] = -72;
  32309. C = c[j >> 2] | 0;
  32310. l = i;
  32311. return C | 0;
  32312. }
  32313. c[s >> 2] = (c[s >> 2] | 0) + (c[z >> 2] | 0);
  32314. c[x >> 2] = (c[x >> 2] | 0) - (c[z >> 2] | 0);
  32315. c[z >> 2] =
  32316. nw(c[k >> 2] | 0, c[o >> 2] | 0, c[z >> 2] | 0) | 0;
  32317. if (rr(c[z >> 2] | 0) | 0) {
  32318. c[j >> 2] = c[z >> 2];
  32319. C = c[j >> 2] | 0;
  32320. l = i;
  32321. return C | 0;
  32322. }
  32323. a: while (1) {
  32324. c[A >> 2] = 0;
  32325. c[B >> 2] =
  32326. qr(
  32327. c[s >> 2] | 0,
  32328. ((c[t >> 2] | 0) - (c[s >> 2] | 0)) | 0,
  32329. y
  32330. ) | 0;
  32331. if (rr(c[B >> 2] | 0) | 0) {
  32332. D = 14;
  32333. break;
  32334. }
  32335. c[s >> 2] = (c[s >> 2] | 0) + 3;
  32336. c[x >> 2] = (c[x >> 2] | 0) - 3;
  32337. if ((c[B >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  32338. D = 16;
  32339. break;
  32340. }
  32341. switch (c[y >> 2] | 0) {
  32342. case 2: {
  32343. D = 20;
  32344. break a;
  32345. break;
  32346. }
  32347. case 0: {
  32348. c[A >> 2] =
  32349. ow(
  32350. c[k >> 2] | 0,
  32351. c[v >> 2] | 0,
  32352. ((c[w >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  32353. c[s >> 2] | 0,
  32354. c[B >> 2] | 0
  32355. ) | 0;
  32356. break;
  32357. }
  32358. case 1: {
  32359. c[A >> 2] =
  32360. pw(
  32361. c[v >> 2] | 0,
  32362. ((c[w >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  32363. c[s >> 2] | 0,
  32364. c[B >> 2] | 0
  32365. ) | 0;
  32366. break;
  32367. }
  32368. case 3: {
  32369. if (c[x >> 2] | 0) {
  32370. D = 22;
  32371. break a;
  32372. }
  32373. break;
  32374. }
  32375. default: {
  32376. D = 23;
  32377. break a;
  32378. }
  32379. }
  32380. if (!(c[B >> 2] | 0)) {
  32381. D = 28;
  32382. break;
  32383. }
  32384. z = (rr(c[A >> 2] | 0) | 0) != 0;
  32385. E = c[A >> 2] | 0;
  32386. if (z) {
  32387. D = 26;
  32388. break;
  32389. }
  32390. c[v >> 2] = (c[v >> 2] | 0) + E;
  32391. c[s >> 2] = (c[s >> 2] | 0) + (c[B >> 2] | 0);
  32392. c[x >> 2] = (c[x >> 2] | 0) - (c[B >> 2] | 0);
  32393. }
  32394. if ((D | 0) == 14) {
  32395. c[j >> 2] = c[B >> 2];
  32396. C = c[j >> 2] | 0;
  32397. l = i;
  32398. return C | 0;
  32399. } else if ((D | 0) == 16) {
  32400. c[j >> 2] = -72;
  32401. C = c[j >> 2] | 0;
  32402. l = i;
  32403. return C | 0;
  32404. } else if ((D | 0) == 20) {
  32405. c[j >> 2] = -1;
  32406. C = c[j >> 2] | 0;
  32407. l = i;
  32408. return C | 0;
  32409. } else if ((D | 0) == 22) {
  32410. c[j >> 2] = -72;
  32411. C = c[j >> 2] | 0;
  32412. l = i;
  32413. return C | 0;
  32414. } else if ((D | 0) == 23) {
  32415. c[j >> 2] = -1;
  32416. C = c[j >> 2] | 0;
  32417. l = i;
  32418. return C | 0;
  32419. } else if ((D | 0) == 26) {
  32420. c[j >> 2] = E;
  32421. C = c[j >> 2] | 0;
  32422. l = i;
  32423. return C | 0;
  32424. } else if ((D | 0) == 28) {
  32425. c[j >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  32426. C = c[j >> 2] | 0;
  32427. l = i;
  32428. return C | 0;
  32429. }
  32430. return 0;
  32431. }
  32432. function kw(a) {
  32433. a = a | 0;
  32434. var b = 0,
  32435. d = 0;
  32436. b = l;
  32437. l = (l + 16) | 0;
  32438. d = b;
  32439. c[d >> 2] = a;
  32440. c[((c[d >> 2] | 0) + 10268) >> 2] = 5;
  32441. c[((c[d >> 2] | 0) + 10316) >> 2] = 0;
  32442. c[((c[d >> 2] | 0) + 10252) >> 2] = 0;
  32443. c[((c[d >> 2] | 0) + 10256) >> 2] = 0;
  32444. c[((c[d >> 2] | 0) + 10260) >> 2] = 0;
  32445. c[((c[d >> 2] | 0) + 10264) >> 2] = 0;
  32446. l = b;
  32447. return 0;
  32448. }
  32449. function lw(a, b, d) {
  32450. a = a | 0;
  32451. b = b | 0;
  32452. d = d | 0;
  32453. var e = 0,
  32454. f = 0,
  32455. g = 0,
  32456. h = 0;
  32457. e = l;
  32458. l = (l + 16) | 0;
  32459. f = (e + 8) | 0;
  32460. g = (e + 4) | 0;
  32461. h = e;
  32462. c[f >> 2] = a;
  32463. c[g >> 2] = b;
  32464. c[h >> 2] = d;
  32465. c[((c[f >> 2] | 0) + 10264) >> 2] =
  32466. c[((c[f >> 2] | 0) + 10252) >> 2];
  32467. c[((c[f >> 2] | 0) + 10260) >> 2] =
  32468. (c[g >> 2] | 0) +
  32469. (0 -
  32470. ((c[((c[f >> 2] | 0) + 10252) >> 2] | 0) -
  32471. (c[((c[f >> 2] | 0) + 10256) >> 2] | 0)));
  32472. c[((c[f >> 2] | 0) + 10256) >> 2] = c[g >> 2];
  32473. c[((c[f >> 2] | 0) + 10252) >> 2] =
  32474. (c[g >> 2] | 0) + (c[h >> 2] | 0);
  32475. l = e;
  32476. return;
  32477. }
  32478. function mw(a, b, d) {
  32479. a = a | 0;
  32480. b = b | 0;
  32481. d = d | 0;
  32482. var e = 0,
  32483. f = 0,
  32484. g = 0,
  32485. h = 0,
  32486. i = 0,
  32487. j = 0,
  32488. k = 0;
  32489. e = l;
  32490. l = (l + 32) | 0;
  32491. f = (e + 16) | 0;
  32492. g = (e + 12) | 0;
  32493. h = (e + 8) | 0;
  32494. i = (e + 4) | 0;
  32495. j = e;
  32496. c[g >> 2] = a;
  32497. c[h >> 2] = b;
  32498. c[i >> 2] = d;
  32499. if ((c[i >> 2] | 0) != 5) {
  32500. c[f >> 2] = -72;
  32501. k = c[f >> 2] | 0;
  32502. l = e;
  32503. return k | 0;
  32504. }
  32505. c[j >> 2] = pr(c[h >> 2] | 0) | 0;
  32506. if ((c[j >> 2] | 0) != -47205084) {
  32507. c[f >> 2] = -10;
  32508. k = c[f >> 2] | 0;
  32509. l = e;
  32510. return k | 0;
  32511. } else {
  32512. c[((c[g >> 2] | 0) + 10272) >> 2] = 5;
  32513. c[f >> 2] = c[((c[g >> 2] | 0) + 10272) >> 2];
  32514. k = c[f >> 2] | 0;
  32515. l = e;
  32516. return k | 0;
  32517. }
  32518. return 0;
  32519. }
  32520. function nw(a, b, d) {
  32521. a = a | 0;
  32522. b = b | 0;
  32523. d = d | 0;
  32524. var e = 0,
  32525. f = 0,
  32526. g = 0,
  32527. h = 0,
  32528. i = 0,
  32529. j = 0,
  32530. k = 0;
  32531. e = l;
  32532. l = (l + 32) | 0;
  32533. f = (e + 16) | 0;
  32534. g = (e + 12) | 0;
  32535. h = (e + 8) | 0;
  32536. i = (e + 4) | 0;
  32537. j = e;
  32538. c[g >> 2] = a;
  32539. c[h >> 2] = b;
  32540. c[i >> 2] = d;
  32541. if (
  32542. (c[i >> 2] | 0) !=
  32543. (c[((c[g >> 2] | 0) + 10272) >> 2] | 0)
  32544. ) {
  32545. c[f >> 2] = -72;
  32546. k = c[f >> 2] | 0;
  32547. l = e;
  32548. return k | 0;
  32549. }
  32550. c[j >> 2] =
  32551. sx(
  32552. ((c[g >> 2] | 0) + 10280) | 0,
  32553. c[h >> 2] | 0,
  32554. c[i >> 2] | 0
  32555. ) | 0;
  32556. if (
  32557. Dw() | 0
  32558. ? (c[((c[g >> 2] | 0) + 10280 + 8) >> 2] | 0) >>> 0 > 25
  32559. : 0
  32560. ) {
  32561. c[f >> 2] = -14;
  32562. k = c[f >> 2] | 0;
  32563. l = e;
  32564. return k | 0;
  32565. }
  32566. c[f >> 2] = c[j >> 2];
  32567. k = c[f >> 2] | 0;
  32568. l = e;
  32569. return k | 0;
  32570. }
  32571. function ow(a, b, d, e, f) {
  32572. a = a | 0;
  32573. b = b | 0;
  32574. d = d | 0;
  32575. e = e | 0;
  32576. f = f | 0;
  32577. var g = 0,
  32578. h = 0,
  32579. i = 0,
  32580. j = 0,
  32581. k = 0,
  32582. m = 0,
  32583. n = 0,
  32584. o = 0,
  32585. p = 0,
  32586. q = 0;
  32587. g = l;
  32588. l = (l + 32) | 0;
  32589. h = (g + 28) | 0;
  32590. i = (g + 24) | 0;
  32591. j = (g + 20) | 0;
  32592. k = (g + 16) | 0;
  32593. m = (g + 12) | 0;
  32594. n = (g + 8) | 0;
  32595. o = (g + 4) | 0;
  32596. p = g;
  32597. c[i >> 2] = a;
  32598. c[j >> 2] = b;
  32599. c[k >> 2] = d;
  32600. c[m >> 2] = e;
  32601. c[n >> 2] = f;
  32602. c[o >> 2] = c[m >> 2];
  32603. c[p >> 2] =
  32604. qw(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  32605. m = (rr(c[p >> 2] | 0) | 0) != 0;
  32606. f = c[p >> 2] | 0;
  32607. if (m) {
  32608. c[h >> 2] = f;
  32609. q = c[h >> 2] | 0;
  32610. l = g;
  32611. return q | 0;
  32612. } else {
  32613. c[o >> 2] = (c[o >> 2] | 0) + f;
  32614. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  32615. c[h >> 2] =
  32616. rw(
  32617. c[i >> 2] | 0,
  32618. c[j >> 2] | 0,
  32619. c[k >> 2] | 0,
  32620. c[o >> 2] | 0,
  32621. c[n >> 2] | 0
  32622. ) | 0;
  32623. q = c[h >> 2] | 0;
  32624. l = g;
  32625. return q | 0;
  32626. }
  32627. return 0;
  32628. }
  32629. function pw(a, b, d, e) {
  32630. a = a | 0;
  32631. b = b | 0;
  32632. d = d | 0;
  32633. e = e | 0;
  32634. var f = 0,
  32635. g = 0,
  32636. h = 0,
  32637. i = 0,
  32638. j = 0,
  32639. k = 0,
  32640. m = 0;
  32641. f = l;
  32642. l = (l + 32) | 0;
  32643. g = (f + 16) | 0;
  32644. h = (f + 12) | 0;
  32645. i = (f + 8) | 0;
  32646. j = (f + 4) | 0;
  32647. k = f;
  32648. c[h >> 2] = a;
  32649. c[i >> 2] = b;
  32650. c[j >> 2] = d;
  32651. c[k >> 2] = e;
  32652. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  32653. c[g >> 2] = -70;
  32654. m = c[g >> 2] | 0;
  32655. l = f;
  32656. return m | 0;
  32657. } else {
  32658. mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  32659. c[g >> 2] = c[k >> 2];
  32660. m = c[g >> 2] | 0;
  32661. l = f;
  32662. return m | 0;
  32663. }
  32664. return 0;
  32665. }
  32666. function qw(b, e, f) {
  32667. b = b | 0;
  32668. e = e | 0;
  32669. f = f | 0;
  32670. var g = 0,
  32671. h = 0,
  32672. i = 0,
  32673. j = 0,
  32674. k = 0,
  32675. m = 0,
  32676. n = 0,
  32677. o = 0,
  32678. p = 0,
  32679. q = 0,
  32680. r = 0;
  32681. g = l;
  32682. l = (l + 48) | 0;
  32683. h = (g + 32) | 0;
  32684. i = (g + 28) | 0;
  32685. j = (g + 24) | 0;
  32686. k = (g + 20) | 0;
  32687. m = (g + 16) | 0;
  32688. n = (g + 12) | 0;
  32689. o = (g + 8) | 0;
  32690. p = (g + 4) | 0;
  32691. q = g;
  32692. c[i >> 2] = b;
  32693. c[j >> 2] = e;
  32694. c[k >> 2] = f;
  32695. c[m >> 2] = c[j >> 2];
  32696. if ((c[k >> 2] | 0) >>> 0 < 11) {
  32697. c[h >> 2] = -20;
  32698. r = c[h >> 2] | 0;
  32699. l = g;
  32700. return r | 0;
  32701. }
  32702. switch (((d[c[m >> 2] >> 0] | 0) & 3) | 0) {
  32703. case 0: {
  32704. c[n >> 2] = 131072;
  32705. c[o >> 2] =
  32706. Uw(
  32707. ((c[i >> 2] | 0) + 10328) | 0,
  32708. n,
  32709. c[j >> 2] | 0,
  32710. c[k >> 2] | 0
  32711. ) | 0;
  32712. c[((c[i >> 2] | 0) + 10320) >> 2] =
  32713. (c[i >> 2] | 0) + 10328;
  32714. c[((c[i >> 2] | 0) + 10324) >> 2] = c[n >> 2];
  32715. n =
  32716. ((c[i >> 2] | 0) +
  32717. 10328 +
  32718. (c[((c[i >> 2] | 0) + 10324) >> 2] | 0)) |
  32719. 0;
  32720. a[n >> 0] = 0;
  32721. a[(n + 1) >> 0] = 0;
  32722. a[(n + 2) >> 0] = 0;
  32723. a[(n + 3) >> 0] = 0;
  32724. a[(n + 4) >> 0] = 0;
  32725. a[(n + 5) >> 0] = 0;
  32726. a[(n + 6) >> 0] = 0;
  32727. a[(n + 7) >> 0] = 0;
  32728. c[h >> 2] = c[o >> 2];
  32729. r = c[h >> 2] | 0;
  32730. l = g;
  32731. return r | 0;
  32732. }
  32733. case 1: {
  32734. c[p >> 2] = ((pr(c[m >> 2] | 0) | 0) & 16777215) >>> 2;
  32735. if (
  32736. (c[p >> 2] | 0) >>> 0 <=
  32737. (((c[k >> 2] | 0) - 11) | 0) >>> 0
  32738. ) {
  32739. c[((c[i >> 2] | 0) + 10320) >> 2] = (c[m >> 2] | 0) + 3;
  32740. c[((c[i >> 2] | 0) + 10324) >> 2] = c[p >> 2];
  32741. c[h >> 2] = (c[p >> 2] | 0) + 3;
  32742. r = c[h >> 2] | 0;
  32743. l = g;
  32744. return r | 0;
  32745. }
  32746. if (
  32747. (c[p >> 2] | 0) >>> 0 >
  32748. (((c[k >> 2] | 0) - 3) | 0) >>> 0
  32749. ) {
  32750. c[h >> 2] = -20;
  32751. r = c[h >> 2] | 0;
  32752. l = g;
  32753. return r | 0;
  32754. } else {
  32755. mE(
  32756. ((c[i >> 2] | 0) + 10328) | 0,
  32757. c[m >> 2] | 0,
  32758. c[p >> 2] | 0
  32759. ) | 0;
  32760. c[((c[i >> 2] | 0) + 10320) >> 2] =
  32761. (c[i >> 2] | 0) + 10328;
  32762. c[((c[i >> 2] | 0) + 10324) >> 2] = c[p >> 2];
  32763. k =
  32764. ((c[i >> 2] | 0) +
  32765. 10328 +
  32766. (c[((c[i >> 2] | 0) + 10324) >> 2] | 0)) |
  32767. 0;
  32768. a[k >> 0] = 0;
  32769. a[(k + 1) >> 0] = 0;
  32770. a[(k + 2) >> 0] = 0;
  32771. a[(k + 3) >> 0] = 0;
  32772. a[(k + 4) >> 0] = 0;
  32773. a[(k + 5) >> 0] = 0;
  32774. a[(k + 6) >> 0] = 0;
  32775. a[(k + 7) >> 0] = 0;
  32776. c[h >> 2] = (c[p >> 2] | 0) + 3;
  32777. r = c[h >> 2] | 0;
  32778. l = g;
  32779. return r | 0;
  32780. }
  32781. break;
  32782. }
  32783. case 2: {
  32784. c[q >> 2] = ((pr(c[m >> 2] | 0) | 0) & 16777215) >>> 2;
  32785. if ((c[q >> 2] | 0) >>> 0 > 131072) {
  32786. c[h >> 2] = -20;
  32787. r = c[h >> 2] | 0;
  32788. l = g;
  32789. return r | 0;
  32790. } else {
  32791. oE(
  32792. ((c[i >> 2] | 0) + 10328) | 0,
  32793. ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) & 255) | 0,
  32794. ((c[q >> 2] | 0) + 8) | 0
  32795. ) | 0;
  32796. c[((c[i >> 2] | 0) + 10320) >> 2] =
  32797. (c[i >> 2] | 0) + 10328;
  32798. c[((c[i >> 2] | 0) + 10324) >> 2] = c[q >> 2];
  32799. c[h >> 2] = 4;
  32800. r = c[h >> 2] | 0;
  32801. l = g;
  32802. return r | 0;
  32803. }
  32804. break;
  32805. }
  32806. default: {
  32807. c[h >> 2] = -20;
  32808. r = c[h >> 2] | 0;
  32809. l = g;
  32810. return r | 0;
  32811. }
  32812. }
  32813. return 0;
  32814. }
  32815. function rw(a, b, d, e, f) {
  32816. a = a | 0;
  32817. b = b | 0;
  32818. d = d | 0;
  32819. e = e | 0;
  32820. f = f | 0;
  32821. var g = 0,
  32822. h = 0,
  32823. i = 0,
  32824. j = 0,
  32825. k = 0,
  32826. m = 0,
  32827. n = 0,
  32828. o = 0,
  32829. p = 0,
  32830. q = 0,
  32831. r = 0,
  32832. s = 0,
  32833. t = 0,
  32834. u = 0,
  32835. v = 0,
  32836. w = 0,
  32837. x = 0,
  32838. y = 0,
  32839. z = 0,
  32840. A = 0,
  32841. B = 0,
  32842. C = 0,
  32843. D = 0,
  32844. E = 0,
  32845. F = 0,
  32846. G = 0,
  32847. H = 0,
  32848. I = 0,
  32849. J = 0,
  32850. K = 0,
  32851. L = 0,
  32852. M = 0;
  32853. g = l;
  32854. l = (l + 176) | 0;
  32855. h = (g + 164) | 0;
  32856. i = (g + 160) | 0;
  32857. j = (g + 156) | 0;
  32858. k = (g + 152) | 0;
  32859. m = (g + 148) | 0;
  32860. n = (g + 144) | 0;
  32861. o = (g + 140) | 0;
  32862. p = (g + 136) | 0;
  32863. q = (g + 132) | 0;
  32864. r = (g + 128) | 0;
  32865. s = (g + 124) | 0;
  32866. t = (g + 120) | 0;
  32867. u = (g + 116) | 0;
  32868. v = (g + 112) | 0;
  32869. w = (g + 108) | 0;
  32870. x = (g + 104) | 0;
  32871. y = (g + 100) | 0;
  32872. z = (g + 96) | 0;
  32873. A = (g + 92) | 0;
  32874. B = (g + 88) | 0;
  32875. C = (g + 84) | 0;
  32876. D = (g + 80) | 0;
  32877. E = (g + 76) | 0;
  32878. F = (g + 72) | 0;
  32879. G = (g + 60) | 0;
  32880. H = (g + 8) | 0;
  32881. I = (g + 4) | 0;
  32882. J = g;
  32883. c[j >> 2] = a;
  32884. c[k >> 2] = b;
  32885. c[m >> 2] = d;
  32886. c[n >> 2] = e;
  32887. c[o >> 2] = f;
  32888. c[p >> 2] = c[n >> 2];
  32889. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  32890. c[r >> 2] = c[k >> 2];
  32891. c[s >> 2] = c[r >> 2];
  32892. c[t >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  32893. c[w >> 2] = c[((c[j >> 2] | 0) + 10320) >> 2];
  32894. c[x >> 2] =
  32895. (c[w >> 2] | 0) + (c[((c[j >> 2] | 0) + 10324) >> 2] | 0);
  32896. c[A >> 2] = c[j >> 2];
  32897. c[B >> 2] = (c[j >> 2] | 0) + 6152;
  32898. c[C >> 2] = (c[j >> 2] | 0) + 4100;
  32899. c[D >> 2] = c[((c[j >> 2] | 0) + 10256) >> 2];
  32900. c[E >> 2] = c[((c[j >> 2] | 0) + 10260) >> 2];
  32901. c[F >> 2] = c[((c[j >> 2] | 0) + 10264) >> 2];
  32902. c[u >> 2] =
  32903. sw(
  32904. y,
  32905. z,
  32906. v,
  32907. c[A >> 2] | 0,
  32908. c[B >> 2] | 0,
  32909. c[C >> 2] | 0,
  32910. c[p >> 2] | 0,
  32911. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  32912. ) | 0;
  32913. j = (rr(c[u >> 2] | 0) | 0) != 0;
  32914. m = c[u >> 2] | 0;
  32915. if (j) {
  32916. c[i >> 2] = m;
  32917. K = c[i >> 2] | 0;
  32918. l = g;
  32919. return K | 0;
  32920. }
  32921. c[p >> 2] = (c[p >> 2] | 0) + m;
  32922. c[G >> 2] = 0;
  32923. c[(G + 4) >> 2] = 0;
  32924. c[(G + 8) >> 2] = 0;
  32925. c[(G + 4) >> 2] = 4;
  32926. c[(H + 44) >> 2] = c[z >> 2];
  32927. c[(H + 48) >> 2] = (c[z >> 2] | 0) + (c[v >> 2] | 0);
  32928. c[(H + 40) >> 2] = 4;
  32929. c[u >> 2] =
  32930. tw(
  32931. H,
  32932. c[p >> 2] | 0,
  32933. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  32934. ) | 0;
  32935. if (sr(c[u >> 2] | 0) | 0) {
  32936. c[i >> 2] = -20;
  32937. K = c[i >> 2] | 0;
  32938. l = g;
  32939. return K | 0;
  32940. }
  32941. uw((H + 16) | 0, H, c[A >> 2] | 0);
  32942. uw((H + 24) | 0, H, c[C >> 2] | 0);
  32943. uw((H + 32) | 0, H, c[B >> 2] | 0);
  32944. while (1) {
  32945. B = (vw(H) | 0) >>> 0 <= 2;
  32946. if (!(B ? (c[y >> 2] | 0) != 0 : 0)) break;
  32947. c[y >> 2] = (c[y >> 2] | 0) + -1;
  32948. ww(G, H);
  32949. B = c[s >> 2] | 0;
  32950. C = c[t >> 2] | 0;
  32951. A = c[x >> 2] | 0;
  32952. u = c[D >> 2] | 0;
  32953. p = c[E >> 2] | 0;
  32954. q = c[F >> 2] | 0;
  32955. c[h >> 2] = c[G >> 2];
  32956. c[(h + 4) >> 2] = c[(G + 4) >> 2];
  32957. c[(h + 8) >> 2] = c[(G + 8) >> 2];
  32958. c[I >> 2] = xw(B, C, h, w, A, u, p, q) | 0;
  32959. q = (rr(c[I >> 2] | 0) | 0) != 0;
  32960. L = c[I >> 2] | 0;
  32961. if (q) {
  32962. M = 8;
  32963. break;
  32964. }
  32965. c[s >> 2] = (c[s >> 2] | 0) + L;
  32966. }
  32967. if ((M | 0) == 8) {
  32968. c[i >> 2] = L;
  32969. K = c[i >> 2] | 0;
  32970. l = g;
  32971. return K | 0;
  32972. }
  32973. if (!(yw(H) | 0)) {
  32974. c[i >> 2] = -20;
  32975. K = c[i >> 2] | 0;
  32976. l = g;
  32977. return K | 0;
  32978. }
  32979. c[J >> 2] = (c[x >> 2] | 0) - (c[w >> 2] | 0);
  32980. if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  32981. c[i >> 2] = -20;
  32982. K = c[i >> 2] | 0;
  32983. l = g;
  32984. return K | 0;
  32985. }
  32986. if (
  32987. (((c[s >> 2] | 0) + (c[J >> 2] | 0)) | 0) >>> 0 >
  32988. (c[t >> 2] | 0) >>> 0
  32989. ) {
  32990. c[i >> 2] = -70;
  32991. K = c[i >> 2] | 0;
  32992. l = g;
  32993. return K | 0;
  32994. }
  32995. if ((c[s >> 2] | 0) != (c[w >> 2] | 0))
  32996. mE(c[s >> 2] | 0, c[w >> 2] | 0, c[J >> 2] | 0) | 0;
  32997. c[s >> 2] = (c[s >> 2] | 0) + (c[J >> 2] | 0);
  32998. c[i >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  32999. K = c[i >> 2] | 0;
  33000. l = g;
  33001. return K | 0;
  33002. }
  33003. function sw(b, e, f, g, h, i, j, k) {
  33004. b = b | 0;
  33005. e = e | 0;
  33006. f = f | 0;
  33007. g = g | 0;
  33008. h = h | 0;
  33009. i = i | 0;
  33010. j = j | 0;
  33011. k = k | 0;
  33012. var m = 0,
  33013. n = 0,
  33014. o = 0,
  33015. p = 0,
  33016. q = 0,
  33017. r = 0,
  33018. s = 0,
  33019. t = 0,
  33020. u = 0,
  33021. v = 0,
  33022. w = 0,
  33023. x = 0,
  33024. y = 0,
  33025. z = 0,
  33026. A = 0,
  33027. B = 0,
  33028. C = 0,
  33029. D = 0,
  33030. E = 0,
  33031. F = 0,
  33032. G = 0,
  33033. H = 0,
  33034. I = 0,
  33035. J = 0,
  33036. K = 0,
  33037. L = 0;
  33038. m = l;
  33039. l = (l + 352) | 0;
  33040. n = (m + 344) | 0;
  33041. o = (m + 340) | 0;
  33042. p = (m + 336) | 0;
  33043. q = (m + 332) | 0;
  33044. r = (m + 328) | 0;
  33045. s = (m + 324) | 0;
  33046. t = (m + 320) | 0;
  33047. u = (m + 316) | 0;
  33048. v = (m + 312) | 0;
  33049. w = (m + 308) | 0;
  33050. x = (m + 304) | 0;
  33051. y = (m + 300) | 0;
  33052. z = (m + 296) | 0;
  33053. A = (m + 292) | 0;
  33054. B = (m + 288) | 0;
  33055. C = (m + 284) | 0;
  33056. D = (m + 280) | 0;
  33057. E = (m + 276) | 0;
  33058. F = (m + 272) | 0;
  33059. G = m;
  33060. H = (m + 268) | 0;
  33061. I = (m + 264) | 0;
  33062. J = (m + 260) | 0;
  33063. K = (m + 256) | 0;
  33064. c[o >> 2] = b;
  33065. c[p >> 2] = e;
  33066. c[q >> 2] = f;
  33067. c[r >> 2] = g;
  33068. c[s >> 2] = h;
  33069. c[t >> 2] = i;
  33070. c[u >> 2] = j;
  33071. c[v >> 2] = k;
  33072. c[w >> 2] = c[u >> 2];
  33073. c[x >> 2] = c[w >> 2];
  33074. c[y >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  33075. if ((c[v >> 2] | 0) >>> 0 < 5) {
  33076. c[n >> 2] = -72;
  33077. L = c[n >> 2] | 0;
  33078. l = m;
  33079. return L | 0;
  33080. }
  33081. v = (Lw(c[x >> 2] | 0) | 0) & 65535;
  33082. c[c[o >> 2] >> 2] = v;
  33083. c[x >> 2] = (c[x >> 2] | 0) + 2;
  33084. c[z >> 2] = (d[c[x >> 2] >> 0] | 0) >> 6;
  33085. c[A >> 2] = ((d[c[x >> 2] >> 0] | 0) >> 4) & 3;
  33086. c[B >> 2] = ((d[c[x >> 2] >> 0] | 0) >> 2) & 3;
  33087. v = c[x >> 2] | 0;
  33088. if (((d[c[x >> 2] >> 0] | 0) & 2) | 0) {
  33089. c[F >> 2] = d[(v + 2) >> 0];
  33090. c[F >> 2] =
  33091. (c[F >> 2] | 0) +
  33092. ((d[((c[x >> 2] | 0) + 1) >> 0] | 0) << 8);
  33093. c[x >> 2] = (c[x >> 2] | 0) + 3;
  33094. } else {
  33095. c[F >> 2] = d[(v + 1) >> 0];
  33096. c[F >> 2] =
  33097. (c[F >> 2] | 0) + (((d[c[x >> 2] >> 0] | 0) & 1) << 8);
  33098. c[x >> 2] = (c[x >> 2] | 0) + 2;
  33099. }
  33100. c[c[p >> 2] >> 2] = c[x >> 2];
  33101. c[x >> 2] = (c[x >> 2] | 0) + (c[F >> 2] | 0);
  33102. c[c[q >> 2] >> 2] = c[F >> 2];
  33103. if (
  33104. (c[x >> 2] | 0) >>> 0 >
  33105. (((c[y >> 2] | 0) + -3) | 0) >>> 0
  33106. ) {
  33107. c[n >> 2] = -72;
  33108. L = c[n >> 2] | 0;
  33109. l = m;
  33110. return L | 0;
  33111. }
  33112. a: do {
  33113. switch (c[z >> 2] | 0) {
  33114. case 2: {
  33115. c[C >> 2] = 0;
  33116. F = c[r >> 2] | 0;
  33117. q = c[x >> 2] | 0;
  33118. c[x >> 2] = q + 1;
  33119. Mw(F, a[q >> 0] | 0) | 0;
  33120. break;
  33121. }
  33122. case 1: {
  33123. c[C >> 2] = 6;
  33124. Nw(c[r >> 2] | 0, 6) | 0;
  33125. break;
  33126. }
  33127. default: {
  33128. c[I >> 2] = 63;
  33129. c[H >> 2] =
  33130. Ow(
  33131. G,
  33132. I,
  33133. C,
  33134. c[x >> 2] | 0,
  33135. ((c[y >> 2] | 0) - (c[x >> 2] | 0)) | 0
  33136. ) | 0;
  33137. if (Pw(c[H >> 2] | 0) | 0) {
  33138. c[n >> 2] = -1;
  33139. L = c[n >> 2] | 0;
  33140. l = m;
  33141. return L | 0;
  33142. }
  33143. if ((c[C >> 2] | 0) >>> 0 <= 10) {
  33144. c[x >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
  33145. Qw(c[r >> 2] | 0, G, c[I >> 2] | 0, c[C >> 2] | 0) |
  33146. 0;
  33147. break a;
  33148. }
  33149. c[n >> 2] = -20;
  33150. L = c[n >> 2] | 0;
  33151. l = m;
  33152. return L | 0;
  33153. }
  33154. }
  33155. } while (0);
  33156. b: do {
  33157. switch (c[A >> 2] | 0) {
  33158. case 2: {
  33159. c[D >> 2] = 0;
  33160. if (
  33161. (c[x >> 2] | 0) >>> 0 <=
  33162. (((c[y >> 2] | 0) + -2) | 0) >>> 0
  33163. ) {
  33164. C = c[t >> 2] | 0;
  33165. I = c[x >> 2] | 0;
  33166. c[x >> 2] = I + 1;
  33167. Mw(C, (d[I >> 0] | 0) & 31) | 0;
  33168. break b;
  33169. }
  33170. c[n >> 2] = -72;
  33171. L = c[n >> 2] | 0;
  33172. l = m;
  33173. return L | 0;
  33174. }
  33175. case 1: {
  33176. c[D >> 2] = 5;
  33177. Nw(c[t >> 2] | 0, 5) | 0;
  33178. break;
  33179. }
  33180. default: {
  33181. c[J >> 2] = 31;
  33182. c[H >> 2] =
  33183. Ow(
  33184. G,
  33185. J,
  33186. D,
  33187. c[x >> 2] | 0,
  33188. ((c[y >> 2] | 0) - (c[x >> 2] | 0)) | 0
  33189. ) | 0;
  33190. if (Pw(c[H >> 2] | 0) | 0) {
  33191. c[n >> 2] = -1;
  33192. L = c[n >> 2] | 0;
  33193. l = m;
  33194. return L | 0;
  33195. }
  33196. if ((c[D >> 2] | 0) >>> 0 <= 9) {
  33197. c[x >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
  33198. Qw(c[t >> 2] | 0, G, c[J >> 2] | 0, c[D >> 2] | 0) |
  33199. 0;
  33200. break b;
  33201. }
  33202. c[n >> 2] = -20;
  33203. L = c[n >> 2] | 0;
  33204. l = m;
  33205. return L | 0;
  33206. }
  33207. }
  33208. } while (0);
  33209. c: do {
  33210. switch (c[B >> 2] | 0) {
  33211. case 2: {
  33212. c[E >> 2] = 0;
  33213. if (
  33214. (c[x >> 2] | 0) >>> 0 <=
  33215. (((c[y >> 2] | 0) + -2) | 0) >>> 0
  33216. ) {
  33217. D = c[s >> 2] | 0;
  33218. J = c[x >> 2] | 0;
  33219. c[x >> 2] = J + 1;
  33220. Mw(D, a[J >> 0] | 0) | 0;
  33221. break c;
  33222. }
  33223. c[n >> 2] = -72;
  33224. L = c[n >> 2] | 0;
  33225. l = m;
  33226. return L | 0;
  33227. }
  33228. case 1: {
  33229. c[E >> 2] = 7;
  33230. Nw(c[s >> 2] | 0, 7) | 0;
  33231. break;
  33232. }
  33233. default: {
  33234. c[K >> 2] = 127;
  33235. c[H >> 2] =
  33236. Ow(
  33237. G,
  33238. K,
  33239. E,
  33240. c[x >> 2] | 0,
  33241. ((c[y >> 2] | 0) - (c[x >> 2] | 0)) | 0
  33242. ) | 0;
  33243. if (Pw(c[H >> 2] | 0) | 0) {
  33244. c[n >> 2] = -1;
  33245. L = c[n >> 2] | 0;
  33246. l = m;
  33247. return L | 0;
  33248. }
  33249. if ((c[E >> 2] | 0) >>> 0 <= 10) {
  33250. c[x >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
  33251. Qw(c[s >> 2] | 0, G, c[K >> 2] | 0, c[E >> 2] | 0) |
  33252. 0;
  33253. break c;
  33254. }
  33255. c[n >> 2] = -20;
  33256. L = c[n >> 2] | 0;
  33257. l = m;
  33258. return L | 0;
  33259. }
  33260. }
  33261. } while (0);
  33262. c[n >> 2] = (c[x >> 2] | 0) - (c[w >> 2] | 0);
  33263. L = c[n >> 2] | 0;
  33264. l = m;
  33265. return L | 0;
  33266. }
  33267. function tw(a, b, e) {
  33268. a = a | 0;
  33269. b = b | 0;
  33270. e = e | 0;
  33271. var f = 0,
  33272. g = 0,
  33273. h = 0,
  33274. i = 0,
  33275. j = 0,
  33276. k = 0,
  33277. m = 0,
  33278. n = 0,
  33279. o = 0;
  33280. f = l;
  33281. l = (l + 32) | 0;
  33282. g = (f + 20) | 0;
  33283. h = (f + 16) | 0;
  33284. i = (f + 12) | 0;
  33285. j = (f + 8) | 0;
  33286. k = (f + 4) | 0;
  33287. m = f;
  33288. c[h >> 2] = a;
  33289. c[i >> 2] = b;
  33290. c[j >> 2] = e;
  33291. if ((c[j >> 2] | 0) >>> 0 < 1) {
  33292. e = c[h >> 2] | 0;
  33293. c[e >> 2] = 0;
  33294. c[(e + 4) >> 2] = 0;
  33295. c[(e + 8) >> 2] = 0;
  33296. c[(e + 12) >> 2] = 0;
  33297. c[g >> 2] = -72;
  33298. n = c[g >> 2] | 0;
  33299. l = f;
  33300. return n | 0;
  33301. }
  33302. e = (c[j >> 2] | 0) >>> 0 >= 4;
  33303. c[((c[h >> 2] | 0) + 12) >> 2] = c[i >> 2];
  33304. do {
  33305. if (e) {
  33306. c[((c[h >> 2] | 0) + 8) >> 2] =
  33307. (c[i >> 2] | 0) + (c[j >> 2] | 0) + -4;
  33308. b = Hw(c[((c[h >> 2] | 0) + 8) >> 2] | 0) | 0;
  33309. c[c[h >> 2] >> 2] = b;
  33310. c[k >> 2] =
  33311. d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
  33312. if (c[k >> 2] | 0) {
  33313. b = (8 - (Kw(c[k >> 2] | 0) | 0)) | 0;
  33314. c[((c[h >> 2] | 0) + 4) >> 2] = b;
  33315. break;
  33316. }
  33317. c[g >> 2] = -1;
  33318. n = c[g >> 2] | 0;
  33319. l = f;
  33320. return n | 0;
  33321. } else {
  33322. c[((c[h >> 2] | 0) + 8) >> 2] =
  33323. c[((c[h >> 2] | 0) + 12) >> 2];
  33324. c[c[h >> 2] >> 2] =
  33325. d[c[((c[h >> 2] | 0) + 12) >> 2] >> 0];
  33326. switch (c[j >> 2] | 0) {
  33327. case 7: {
  33328. b = c[h >> 2] | 0;
  33329. c[b >> 2] =
  33330. (c[b >> 2] | 0) +
  33331. ((d[
  33332. ((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 6) >> 0
  33333. ] |
  33334. 0) <<
  33335. 16);
  33336. o = 9;
  33337. break;
  33338. }
  33339. case 6: {
  33340. o = 9;
  33341. break;
  33342. }
  33343. case 5: {
  33344. o = 10;
  33345. break;
  33346. }
  33347. case 4: {
  33348. o = 11;
  33349. break;
  33350. }
  33351. case 3: {
  33352. o = 12;
  33353. break;
  33354. }
  33355. case 2: {
  33356. o = 13;
  33357. break;
  33358. }
  33359. default: {
  33360. }
  33361. }
  33362. if ((o | 0) == 9) {
  33363. b = c[h >> 2] | 0;
  33364. c[b >> 2] =
  33365. (c[b >> 2] | 0) +
  33366. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 5) >> 0] |
  33367. 0) <<
  33368. 8);
  33369. o = 10;
  33370. }
  33371. if ((o | 0) == 10) {
  33372. b = c[h >> 2] | 0;
  33373. c[b >> 2] =
  33374. (c[b >> 2] | 0) +
  33375. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 4) >> 0] |
  33376. 0) <<
  33377. 0);
  33378. o = 11;
  33379. }
  33380. if ((o | 0) == 11) {
  33381. b = c[h >> 2] | 0;
  33382. c[b >> 2] =
  33383. (c[b >> 2] | 0) +
  33384. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 3) >> 0] |
  33385. 0) <<
  33386. 24);
  33387. o = 12;
  33388. }
  33389. if ((o | 0) == 12) {
  33390. b = c[h >> 2] | 0;
  33391. c[b >> 2] =
  33392. (c[b >> 2] | 0) +
  33393. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 2) >> 0] |
  33394. 0) <<
  33395. 16);
  33396. o = 13;
  33397. }
  33398. if ((o | 0) == 13) {
  33399. b = c[h >> 2] | 0;
  33400. c[b >> 2] =
  33401. (c[b >> 2] | 0) +
  33402. ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 1) >> 0] |
  33403. 0) <<
  33404. 8);
  33405. }
  33406. c[m >> 2] =
  33407. d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
  33408. if (c[m >> 2] | 0) {
  33409. b = (8 - (Kw(c[m >> 2] | 0) | 0)) | 0;
  33410. c[((c[h >> 2] | 0) + 4) >> 2] = b;
  33411. b = ((c[h >> 2] | 0) + 4) | 0;
  33412. c[b >> 2] =
  33413. (c[b >> 2] | 0) + ((4 - (c[j >> 2] | 0)) << 3);
  33414. break;
  33415. }
  33416. c[g >> 2] = -1;
  33417. n = c[g >> 2] | 0;
  33418. l = f;
  33419. return n | 0;
  33420. }
  33421. } while (0);
  33422. c[g >> 2] = c[j >> 2];
  33423. n = c[g >> 2] | 0;
  33424. l = f;
  33425. return n | 0;
  33426. }
  33427. function uw(a, d, f) {
  33428. a = a | 0;
  33429. d = d | 0;
  33430. f = f | 0;
  33431. var g = 0,
  33432. h = 0,
  33433. i = 0,
  33434. j = 0,
  33435. k = 0;
  33436. g = l;
  33437. l = (l + 16) | 0;
  33438. h = (g + 8) | 0;
  33439. i = (g + 4) | 0;
  33440. j = g;
  33441. k = (g + 12) | 0;
  33442. c[h >> 2] = a;
  33443. c[i >> 2] = d;
  33444. c[j >> 2] = f;
  33445. f = c[j >> 2] | 0;
  33446. b[k >> 1] = b[f >> 1] | 0;
  33447. b[(k + 2) >> 1] = b[(f + 2) >> 1] | 0;
  33448. f = Ew(c[i >> 2] | 0, e[k >> 1] | 0) | 0;
  33449. c[c[h >> 2] >> 2] = f;
  33450. vw(c[i >> 2] | 0) | 0;
  33451. c[((c[h >> 2] | 0) + 4) >> 2] = (c[j >> 2] | 0) + 4;
  33452. l = g;
  33453. return;
  33454. }
  33455. function vw(a) {
  33456. a = a | 0;
  33457. var b = 0,
  33458. d = 0,
  33459. e = 0,
  33460. f = 0,
  33461. g = 0,
  33462. h = 0,
  33463. i = 0;
  33464. b = l;
  33465. l = (l + 16) | 0;
  33466. d = (b + 12) | 0;
  33467. e = (b + 8) | 0;
  33468. f = (b + 4) | 0;
  33469. g = b;
  33470. c[e >> 2] = a;
  33471. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  33472. c[d >> 2] = 3;
  33473. h = c[d >> 2] | 0;
  33474. l = b;
  33475. return h | 0;
  33476. }
  33477. a = c[e >> 2] | 0;
  33478. if (
  33479. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  33480. (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
  33481. ) {
  33482. i = ((c[e >> 2] | 0) + 8) | 0;
  33483. c[i >> 2] =
  33484. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  33485. i = ((c[e >> 2] | 0) + 4) | 0;
  33486. c[i >> 2] = c[i >> 2] & 7;
  33487. i = Hw(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  33488. c[c[e >> 2] >> 2] = i;
  33489. c[d >> 2] = 0;
  33490. h = c[d >> 2] | 0;
  33491. l = b;
  33492. return h | 0;
  33493. }
  33494. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  33495. if (
  33496. (c[(a + 8) >> 2] | 0) !=
  33497. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  33498. ) {
  33499. c[f >> 2] = i >>> 3;
  33500. c[g >> 2] = 0;
  33501. if (
  33502. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  33503. (0 - (c[f >> 2] | 0))) |
  33504. 0) >>>
  33505. 0 <
  33506. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  33507. ) {
  33508. c[f >> 2] =
  33509. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  33510. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  33511. c[g >> 2] = 1;
  33512. }
  33513. a = ((c[e >> 2] | 0) + 8) | 0;
  33514. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  33515. a = ((c[e >> 2] | 0) + 4) | 0;
  33516. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  33517. f = Hw(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  33518. c[c[e >> 2] >> 2] = f;
  33519. c[d >> 2] = c[g >> 2];
  33520. h = c[d >> 2] | 0;
  33521. l = b;
  33522. return h | 0;
  33523. }
  33524. if (i >>> 0 < 32) {
  33525. c[d >> 2] = 1;
  33526. h = c[d >> 2] | 0;
  33527. l = b;
  33528. return h | 0;
  33529. } else {
  33530. c[d >> 2] = 2;
  33531. h = c[d >> 2] | 0;
  33532. l = b;
  33533. return h | 0;
  33534. }
  33535. return 0;
  33536. }
  33537. function ww(a, b) {
  33538. a = a | 0;
  33539. b = b | 0;
  33540. var e = 0,
  33541. f = 0,
  33542. g = 0,
  33543. h = 0,
  33544. i = 0,
  33545. j = 0,
  33546. k = 0,
  33547. m = 0,
  33548. n = 0,
  33549. o = 0,
  33550. p = 0,
  33551. q = 0,
  33552. r = 0,
  33553. s = 0;
  33554. e = l;
  33555. l = (l + 48) | 0;
  33556. f = (e + 44) | 0;
  33557. g = (e + 40) | 0;
  33558. h = (e + 36) | 0;
  33559. i = (e + 32) | 0;
  33560. j = (e + 28) | 0;
  33561. k = (e + 24) | 0;
  33562. m = (e + 20) | 0;
  33563. n = (e + 16) | 0;
  33564. o = (e + 12) | 0;
  33565. p = (e + 8) | 0;
  33566. q = (e + 4) | 0;
  33567. r = e;
  33568. c[f >> 2] = a;
  33569. c[g >> 2] = b;
  33570. c[m >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
  33571. c[n >> 2] = c[((c[g >> 2] | 0) + 48) >> 2];
  33572. c[h >> 2] =
  33573. (Cw(((c[g >> 2] | 0) + 16) | 0, c[g >> 2] | 0) | 0) & 255;
  33574. if (c[h >> 2] | 0) s = c[((c[f >> 2] | 0) + 4) >> 2] | 0;
  33575. else s = c[((c[g >> 2] | 0) + 40) >> 2] | 0;
  33576. c[i >> 2] = s;
  33577. if ((c[h >> 2] | 0) == 63) {
  33578. s = c[m >> 2] | 0;
  33579. c[m >> 2] = s + 1;
  33580. c[o >> 2] = d[s >> 0];
  33581. if ((c[o >> 2] | 0) >>> 0 < 255)
  33582. c[h >> 2] = (c[h >> 2] | 0) + (c[o >> 2] | 0);
  33583. else {
  33584. c[h >> 2] =
  33585. (d[c[m >> 2] >> 0] | 0) +
  33586. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  33587. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) << 16);
  33588. c[m >> 2] = (c[m >> 2] | 0) + 3;
  33589. }
  33590. if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
  33591. c[h >> 2] = 318;
  33592. if ((c[m >> 2] | 0) >>> 0 >= (c[n >> 2] | 0) >>> 0)
  33593. c[m >> 2] = (c[n >> 2] | 0) + -1;
  33594. }
  33595. c[p >> 2] =
  33596. (Cw(((c[g >> 2] | 0) + 24) | 0, c[g >> 2] | 0) | 0) & 255;
  33597. if (Dw() | 0) vw(c[g >> 2] | 0) | 0;
  33598. o = ((c[p >> 2] | 0) - 1) | 0;
  33599. c[q >> 2] = o;
  33600. c[q >> 2] = (c[p >> 2] | 0) == 0 ? 0 : o;
  33601. o = c[(6880 + (c[p >> 2] << 2)) >> 2] | 0;
  33602. c[j >> 2] = o + (Ew(c[g >> 2] | 0, c[q >> 2] | 0) | 0);
  33603. if (Dw() | 0) vw(c[g >> 2] | 0) | 0;
  33604. if (!(c[p >> 2] | 0)) c[j >> 2] = c[i >> 2];
  33605. if (c[p >> 2] | ((((c[h >> 2] | 0) != 0) ^ 1) & 1) | 0)
  33606. c[((c[g >> 2] | 0) + 40) >> 2] =
  33607. c[((c[f >> 2] | 0) + 4) >> 2];
  33608. c[k >> 2] =
  33609. (Cw(((c[g >> 2] | 0) + 32) | 0, c[g >> 2] | 0) | 0) & 255;
  33610. if ((c[k >> 2] | 0) == 127) {
  33611. p = c[m >> 2] | 0;
  33612. c[m >> 2] = p + 1;
  33613. c[r >> 2] = d[p >> 0];
  33614. if ((c[r >> 2] | 0) >>> 0 < 255)
  33615. c[k >> 2] = (c[k >> 2] | 0) + (c[r >> 2] | 0);
  33616. else {
  33617. c[k >> 2] =
  33618. (d[c[m >> 2] >> 0] | 0) +
  33619. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  33620. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) << 16);
  33621. c[m >> 2] = (c[m >> 2] | 0) + 3;
  33622. }
  33623. if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
  33624. c[k >> 2] = 382;
  33625. if ((c[m >> 2] | 0) >>> 0 >= (c[n >> 2] | 0) >>> 0)
  33626. c[m >> 2] = (c[n >> 2] | 0) + -1;
  33627. }
  33628. c[k >> 2] = (c[k >> 2] | 0) + 4;
  33629. c[c[f >> 2] >> 2] = c[h >> 2];
  33630. c[((c[f >> 2] | 0) + 4) >> 2] = c[j >> 2];
  33631. c[((c[f >> 2] | 0) + 8) >> 2] = c[k >> 2];
  33632. c[((c[g >> 2] | 0) + 44) >> 2] = c[m >> 2];
  33633. l = e;
  33634. return;
  33635. }
  33636. function xw(b, d, e, f, g, h, i, j) {
  33637. b = b | 0;
  33638. d = d | 0;
  33639. e = e | 0;
  33640. f = f | 0;
  33641. g = g | 0;
  33642. h = h | 0;
  33643. i = i | 0;
  33644. j = j | 0;
  33645. var k = 0,
  33646. m = 0,
  33647. n = 0,
  33648. o = 0,
  33649. p = 0,
  33650. q = 0,
  33651. r = 0,
  33652. s = 0,
  33653. t = 0,
  33654. u = 0,
  33655. v = 0,
  33656. w = 0,
  33657. x = 0,
  33658. y = 0,
  33659. z = 0,
  33660. A = 0,
  33661. B = 0,
  33662. C = 0;
  33663. k = l;
  33664. l = (l + 64) | 0;
  33665. m = (k + 60) | 0;
  33666. n = (k + 56) | 0;
  33667. o = (k + 52) | 0;
  33668. p = (k + 48) | 0;
  33669. q = (k + 44) | 0;
  33670. r = (k + 40) | 0;
  33671. s = (k + 36) | 0;
  33672. t = (k + 32) | 0;
  33673. u = (k + 28) | 0;
  33674. v = (k + 24) | 0;
  33675. w = (k + 20) | 0;
  33676. x = (k + 16) | 0;
  33677. y = (k + 12) | 0;
  33678. z = (k + 8) | 0;
  33679. A = (k + 4) | 0;
  33680. B = k;
  33681. c[n >> 2] = b;
  33682. c[o >> 2] = d;
  33683. c[p >> 2] = f;
  33684. c[q >> 2] = g;
  33685. c[r >> 2] = h;
  33686. c[s >> 2] = i;
  33687. c[t >> 2] = j;
  33688. c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
  33689. c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 8) >> 2] | 0);
  33690. c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
  33691. c[x >> 2] = (c[o >> 2] | 0) + -8;
  33692. c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
  33693. c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 4) >> 2] | 0));
  33694. if ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
  33695. c[m >> 2] = -70;
  33696. C = c[m >> 2] | 0;
  33697. l = k;
  33698. return C | 0;
  33699. }
  33700. if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  33701. c[m >> 2] = -70;
  33702. C = c[m >> 2] | 0;
  33703. l = k;
  33704. return C | 0;
  33705. }
  33706. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
  33707. c[m >> 2] = -20;
  33708. C = c[m >> 2] | 0;
  33709. l = k;
  33710. return C | 0;
  33711. }
  33712. zw(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
  33713. c[n >> 2] = c[u >> 2];
  33714. c[c[p >> 2] >> 2] = c[y >> 2];
  33715. do {
  33716. if (
  33717. (c[(e + 4) >> 2] | 0) >>> 0 >
  33718. (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
  33719. ) {
  33720. if (
  33721. (c[(e + 4) >> 2] | 0) >>> 0 >
  33722. (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
  33723. ) {
  33724. c[m >> 2] = -20;
  33725. C = c[m >> 2] | 0;
  33726. l = k;
  33727. return C | 0;
  33728. }
  33729. c[z >> 2] =
  33730. (c[t >> 2] | 0) +
  33731. (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
  33732. if (
  33733. (((c[z >> 2] | 0) + (c[(e + 8) >> 2] | 0)) | 0) >>> 0 <=
  33734. (c[t >> 2] | 0) >>> 0
  33735. ) {
  33736. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 8) >> 2] | 0) |
  33737. 0;
  33738. c[m >> 2] = c[v >> 2];
  33739. C = c[m >> 2] | 0;
  33740. l = k;
  33741. return C | 0;
  33742. }
  33743. c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
  33744. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
  33745. c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
  33746. y = (e + 8) | 0;
  33747. c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
  33748. c[z >> 2] = c[r >> 2];
  33749. if (
  33750. (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
  33751. ? (c[(e + 8) >> 2] | 0) >>> 0 >= 4
  33752. : 0
  33753. )
  33754. break;
  33755. while (1) {
  33756. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  33757. break;
  33758. y = c[z >> 2] | 0;
  33759. c[z >> 2] = y + 1;
  33760. p = a[y >> 0] | 0;
  33761. y = c[n >> 2] | 0;
  33762. c[n >> 2] = y + 1;
  33763. a[y >> 0] = p;
  33764. }
  33765. c[m >> 2] = c[v >> 2];
  33766. C = c[m >> 2] | 0;
  33767. l = k;
  33768. return C | 0;
  33769. }
  33770. } while (0);
  33771. if ((c[(e + 4) >> 2] | 0) >>> 0 < 8) {
  33772. c[B >> 2] = c[(6816 + (c[(e + 4) >> 2] << 2)) >> 2];
  33773. a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
  33774. a[((c[n >> 2] | 0) + 1) >> 0] =
  33775. a[((c[z >> 2] | 0) + 1) >> 0] | 0;
  33776. a[((c[n >> 2] | 0) + 2) >> 0] =
  33777. a[((c[z >> 2] | 0) + 2) >> 0] | 0;
  33778. a[((c[n >> 2] | 0) + 3) >> 0] =
  33779. a[((c[z >> 2] | 0) + 3) >> 0] | 0;
  33780. c[z >> 2] =
  33781. (c[z >> 2] | 0) +
  33782. (c[(6848 + (c[(e + 4) >> 2] << 2)) >> 2] | 0);
  33783. Aw(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
  33784. c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
  33785. } else Bw(c[n >> 2] | 0, c[z >> 2] | 0);
  33786. c[n >> 2] = (c[n >> 2] | 0) + 8;
  33787. c[z >> 2] = (c[z >> 2] | 0) + 8;
  33788. B = c[n >> 2] | 0;
  33789. a: do {
  33790. if (
  33791. (c[w >> 2] | 0) >>> 0 >
  33792. (((c[o >> 2] | 0) + -12) | 0) >>> 0
  33793. ) {
  33794. if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
  33795. zw(
  33796. c[n >> 2] | 0,
  33797. c[z >> 2] | 0,
  33798. ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
  33799. );
  33800. c[z >> 2] =
  33801. (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
  33802. c[n >> 2] = c[x >> 2];
  33803. }
  33804. while (1) {
  33805. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  33806. break a;
  33807. r = c[z >> 2] | 0;
  33808. c[z >> 2] = r + 1;
  33809. A = a[r >> 0] | 0;
  33810. r = c[n >> 2] | 0;
  33811. c[n >> 2] = r + 1;
  33812. a[r >> 0] = A;
  33813. }
  33814. } else
  33815. zw(B, c[z >> 2] | 0, ((c[(e + 8) >> 2] | 0) - 8) | 0);
  33816. } while (0);
  33817. c[m >> 2] = c[v >> 2];
  33818. C = c[m >> 2] | 0;
  33819. l = k;
  33820. return C | 0;
  33821. }
  33822. function yw(a) {
  33823. a = a | 0;
  33824. var b = 0,
  33825. d = 0,
  33826. e = 0,
  33827. f = 0;
  33828. b = l;
  33829. l = (l + 16) | 0;
  33830. d = b;
  33831. c[d >> 2] = a;
  33832. if (
  33833. (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
  33834. (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
  33835. ) {
  33836. e = 0;
  33837. f = e & 1;
  33838. l = b;
  33839. return f | 0;
  33840. }
  33841. e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
  33842. f = e & 1;
  33843. l = b;
  33844. return f | 0;
  33845. }
  33846. function zw(a, b, d) {
  33847. a = a | 0;
  33848. b = b | 0;
  33849. d = d | 0;
  33850. var e = 0,
  33851. f = 0,
  33852. g = 0,
  33853. h = 0,
  33854. i = 0,
  33855. j = 0,
  33856. k = 0;
  33857. e = l;
  33858. l = (l + 32) | 0;
  33859. f = (e + 20) | 0;
  33860. g = (e + 16) | 0;
  33861. h = (e + 12) | 0;
  33862. i = (e + 8) | 0;
  33863. j = (e + 4) | 0;
  33864. k = e;
  33865. c[f >> 2] = a;
  33866. c[g >> 2] = b;
  33867. c[h >> 2] = d;
  33868. c[i >> 2] = c[g >> 2];
  33869. c[j >> 2] = c[f >> 2];
  33870. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  33871. do {
  33872. Bw(c[j >> 2] | 0, c[i >> 2] | 0);
  33873. c[j >> 2] = (c[j >> 2] | 0) + 8;
  33874. c[i >> 2] = (c[i >> 2] | 0) + 8;
  33875. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  33876. l = e;
  33877. return;
  33878. }
  33879. function Aw(b, d) {
  33880. b = b | 0;
  33881. d = d | 0;
  33882. var e = 0,
  33883. f = 0,
  33884. g = 0;
  33885. e = l;
  33886. l = (l + 16) | 0;
  33887. f = (e + 4) | 0;
  33888. g = e;
  33889. c[f >> 2] = b;
  33890. c[g >> 2] = d;
  33891. d = c[f >> 2] | 0;
  33892. f = c[g >> 2] | 0;
  33893. a[d >> 0] = a[f >> 0] | 0;
  33894. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  33895. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  33896. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  33897. l = e;
  33898. return;
  33899. }
  33900. function Bw(b, d) {
  33901. b = b | 0;
  33902. d = d | 0;
  33903. var e = 0,
  33904. f = 0,
  33905. g = 0;
  33906. e = l;
  33907. l = (l + 16) | 0;
  33908. f = (e + 4) | 0;
  33909. g = e;
  33910. c[f >> 2] = b;
  33911. c[g >> 2] = d;
  33912. d = c[f >> 2] | 0;
  33913. f = c[g >> 2] | 0;
  33914. a[d >> 0] = a[f >> 0] | 0;
  33915. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  33916. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  33917. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  33918. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  33919. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  33920. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  33921. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  33922. l = e;
  33923. return;
  33924. }
  33925. function Cw(f, g) {
  33926. f = f | 0;
  33927. g = g | 0;
  33928. var h = 0,
  33929. i = 0,
  33930. j = 0,
  33931. k = 0,
  33932. m = 0,
  33933. n = 0,
  33934. o = 0;
  33935. h = l;
  33936. l = (l + 32) | 0;
  33937. i = (h + 12) | 0;
  33938. j = (h + 8) | 0;
  33939. k = (h + 16) | 0;
  33940. m = (h + 4) | 0;
  33941. n = (h + 20) | 0;
  33942. o = h;
  33943. c[i >> 2] = f;
  33944. c[j >> 2] = g;
  33945. g =
  33946. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  33947. (c[c[i >> 2] >> 2] << 2)) |
  33948. 0;
  33949. b[k >> 1] = b[g >> 1] | 0;
  33950. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  33951. c[m >> 2] = d[(k + 3) >> 0];
  33952. a[n >> 0] = a[(k + 2) >> 0] | 0;
  33953. c[o >> 2] = Ew(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  33954. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  33955. l = h;
  33956. return a[n >> 0] | 0;
  33957. }
  33958. function Dw() {
  33959. return 1;
  33960. }
  33961. function Ew(a, b) {
  33962. a = a | 0;
  33963. b = b | 0;
  33964. var d = 0,
  33965. e = 0,
  33966. f = 0,
  33967. g = 0;
  33968. d = l;
  33969. l = (l + 16) | 0;
  33970. e = (d + 8) | 0;
  33971. f = (d + 4) | 0;
  33972. g = d;
  33973. c[e >> 2] = a;
  33974. c[f >> 2] = b;
  33975. c[g >> 2] = Fw(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  33976. Gw(c[e >> 2] | 0, c[f >> 2] | 0);
  33977. l = d;
  33978. return c[g >> 2] | 0;
  33979. }
  33980. function Fw(a, b) {
  33981. a = a | 0;
  33982. b = b | 0;
  33983. var d = 0,
  33984. e = 0,
  33985. f = 0;
  33986. d = l;
  33987. l = (l + 16) | 0;
  33988. e = (d + 8) | 0;
  33989. f = (d + 4) | 0;
  33990. c[e >> 2] = a;
  33991. c[f >> 2] = b;
  33992. c[d >> 2] = 31;
  33993. l = d;
  33994. return (
  33995. (((c[c[e >> 2] >> 2] <<
  33996. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  33997. 1) >>>
  33998. ((31 - (c[f >> 2] | 0)) & 31)) |
  33999. 0
  34000. );
  34001. }
  34002. function Gw(a, b) {
  34003. a = a | 0;
  34004. b = b | 0;
  34005. var d = 0,
  34006. e = 0,
  34007. f = 0;
  34008. d = l;
  34009. l = (l + 16) | 0;
  34010. e = (d + 4) | 0;
  34011. f = d;
  34012. c[e >> 2] = a;
  34013. c[f >> 2] = b;
  34014. b = ((c[e >> 2] | 0) + 4) | 0;
  34015. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  34016. l = d;
  34017. return;
  34018. }
  34019. function Hw(a) {
  34020. a = a | 0;
  34021. var b = 0,
  34022. d = 0,
  34023. e = 0,
  34024. f = 0,
  34025. g = 0;
  34026. b = l;
  34027. l = (l + 16) | 0;
  34028. d = (b + 4) | 0;
  34029. e = b;
  34030. c[e >> 2] = a;
  34031. a = (Dw() | 0) != 0;
  34032. f = c[e >> 2] | 0;
  34033. if (a) {
  34034. c[d >> 2] = pr(f) | 0;
  34035. g = c[d >> 2] | 0;
  34036. l = b;
  34037. return g | 0;
  34038. } else {
  34039. a = Iw(f) | 0;
  34040. c[d >> 2] = a;
  34041. g = c[d >> 2] | 0;
  34042. l = b;
  34043. return g | 0;
  34044. }
  34045. return 0;
  34046. }
  34047. function Iw(a) {
  34048. a = a | 0;
  34049. var b = 0,
  34050. e = 0,
  34051. f = 0,
  34052. g = 0,
  34053. h = 0,
  34054. i = 0,
  34055. j = 0,
  34056. k = 0,
  34057. m = 0,
  34058. n = 0,
  34059. o = 0,
  34060. p = 0;
  34061. b = l;
  34062. l = (l + 16) | 0;
  34063. e = b;
  34064. f = (b + 12) | 0;
  34065. g = (b + 8) | 0;
  34066. c[f >> 2] = a;
  34067. a = (tr() | 0) != 0;
  34068. h = c[f >> 2] | 0;
  34069. if (a) {
  34070. a = Jw(h) | 0;
  34071. f = e;
  34072. c[f >> 2] = a;
  34073. c[(f + 4) >> 2] = y;
  34074. i = e;
  34075. j = i;
  34076. k = c[j >> 2] | 0;
  34077. m = (i + 4) | 0;
  34078. n = m;
  34079. o = c[n >> 2] | 0;
  34080. y = o;
  34081. l = b;
  34082. return k | 0;
  34083. } else {
  34084. c[g >> 2] = h;
  34085. h = d[c[g >> 2] >> 0] | 0;
  34086. f = jE(d[((c[g >> 2] | 0) + 1) >> 0] | 0 | 0, 0, 8) | 0;
  34087. a = dE(h | 0, 0, f | 0, y | 0) | 0;
  34088. f = y;
  34089. h = jE(d[((c[g >> 2] | 0) + 2) >> 0] | 0 | 0, 0, 16) | 0;
  34090. p = dE(a | 0, f | 0, h | 0, y | 0) | 0;
  34091. h = y;
  34092. f = jE(d[((c[g >> 2] | 0) + 3) >> 0] | 0 | 0, 0, 24) | 0;
  34093. a = dE(p | 0, h | 0, f | 0, y | 0) | 0;
  34094. f =
  34095. dE(
  34096. a | 0,
  34097. y | 0,
  34098. 0,
  34099. d[((c[g >> 2] | 0) + 4) >> 0] | 0 | 0
  34100. ) | 0;
  34101. a = y;
  34102. h = jE(d[((c[g >> 2] | 0) + 5) >> 0] | 0 | 0, 0, 40) | 0;
  34103. p = dE(f | 0, a | 0, h | 0, y | 0) | 0;
  34104. h = y;
  34105. a = jE(d[((c[g >> 2] | 0) + 6) >> 0] | 0 | 0, 0, 48) | 0;
  34106. f = dE(p | 0, h | 0, a | 0, y | 0) | 0;
  34107. a = y;
  34108. h = jE(d[((c[g >> 2] | 0) + 7) >> 0] | 0 | 0, 0, 56) | 0;
  34109. g = dE(f | 0, a | 0, h | 0, y | 0) | 0;
  34110. h = e;
  34111. c[h >> 2] = g;
  34112. c[(h + 4) >> 2] = y;
  34113. i = e;
  34114. j = i;
  34115. k = c[j >> 2] | 0;
  34116. m = (i + 4) | 0;
  34117. n = m;
  34118. o = c[n >> 2] | 0;
  34119. y = o;
  34120. l = b;
  34121. return k | 0;
  34122. }
  34123. return 0;
  34124. }
  34125. function Jw(b) {
  34126. b = b | 0;
  34127. var d = 0,
  34128. e = 0,
  34129. f = 0;
  34130. d = l;
  34131. l = (l + 16) | 0;
  34132. e = (d + 8) | 0;
  34133. f = d;
  34134. c[e >> 2] = b;
  34135. b = c[e >> 2] | 0;
  34136. a[f >> 0] = a[b >> 0] | 0;
  34137. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  34138. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  34139. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  34140. a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
  34141. a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
  34142. a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
  34143. a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
  34144. b = f;
  34145. y = c[(b + 4) >> 2] | 0;
  34146. l = d;
  34147. return c[b >> 2] | 0;
  34148. }
  34149. function Kw(a) {
  34150. a = a | 0;
  34151. var b = 0,
  34152. d = 0;
  34153. b = l;
  34154. l = (l + 16) | 0;
  34155. d = b;
  34156. c[d >> 2] = a;
  34157. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  34158. l = b;
  34159. return a | 0;
  34160. }
  34161. function Lw(a) {
  34162. a = a | 0;
  34163. var e = 0,
  34164. f = 0,
  34165. g = 0,
  34166. h = 0,
  34167. i = 0,
  34168. j = 0;
  34169. e = l;
  34170. l = (l + 16) | 0;
  34171. f = (e + 8) | 0;
  34172. g = (e + 4) | 0;
  34173. h = e;
  34174. c[g >> 2] = a;
  34175. a = (tr() | 0) != 0;
  34176. i = c[g >> 2] | 0;
  34177. if (a) {
  34178. b[f >> 1] = Tw(i) | 0;
  34179. j = b[f >> 1] | 0;
  34180. l = e;
  34181. return j | 0;
  34182. } else {
  34183. c[h >> 2] = i;
  34184. b[f >> 1] =
  34185. (d[c[h >> 2] >> 0] | 0) +
  34186. ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
  34187. j = b[f >> 1] | 0;
  34188. l = e;
  34189. return j | 0;
  34190. }
  34191. return 0;
  34192. }
  34193. function Mw(d, e) {
  34194. d = d | 0;
  34195. e = e | 0;
  34196. var f = 0,
  34197. g = 0,
  34198. h = 0,
  34199. i = 0,
  34200. j = 0,
  34201. k = 0,
  34202. m = 0;
  34203. f = l;
  34204. l = (l + 32) | 0;
  34205. g = (f + 16) | 0;
  34206. h = (f + 20) | 0;
  34207. i = (f + 12) | 0;
  34208. j = (f + 8) | 0;
  34209. k = (f + 4) | 0;
  34210. m = f;
  34211. c[g >> 2] = d;
  34212. a[h >> 0] = e;
  34213. c[i >> 2] = c[g >> 2];
  34214. c[j >> 2] = c[i >> 2];
  34215. c[k >> 2] = (c[g >> 2] | 0) + 4;
  34216. c[m >> 2] = c[k >> 2];
  34217. b[c[j >> 2] >> 1] = 0;
  34218. b[((c[j >> 2] | 0) + 2) >> 1] = 0;
  34219. b[c[m >> 2] >> 1] = 0;
  34220. a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
  34221. a[((c[m >> 2] | 0) + 3) >> 0] = 0;
  34222. l = f;
  34223. return 0;
  34224. }
  34225. function Nw(d, e) {
  34226. d = d | 0;
  34227. e = e | 0;
  34228. var f = 0,
  34229. g = 0,
  34230. h = 0,
  34231. i = 0,
  34232. j = 0,
  34233. k = 0,
  34234. m = 0,
  34235. n = 0,
  34236. o = 0,
  34237. p = 0,
  34238. q = 0,
  34239. r = 0,
  34240. s = 0;
  34241. f = l;
  34242. l = (l + 48) | 0;
  34243. g = (f + 40) | 0;
  34244. h = (f + 36) | 0;
  34245. i = (f + 32) | 0;
  34246. j = (f + 28) | 0;
  34247. k = (f + 24) | 0;
  34248. m = (f + 20) | 0;
  34249. n = (f + 16) | 0;
  34250. o = (f + 12) | 0;
  34251. p = (f + 8) | 0;
  34252. q = (f + 4) | 0;
  34253. r = f;
  34254. c[h >> 2] = d;
  34255. c[i >> 2] = e;
  34256. c[j >> 2] = c[h >> 2];
  34257. c[k >> 2] = c[j >> 2];
  34258. c[m >> 2] = (c[h >> 2] | 0) + 4;
  34259. c[n >> 2] = c[m >> 2];
  34260. c[o >> 2] = 1 << c[i >> 2];
  34261. c[p >> 2] = (c[o >> 2] | 0) - 1;
  34262. c[q >> 2] = c[p >> 2];
  34263. if ((c[i >> 2] | 0) >>> 0 < 1) {
  34264. c[g >> 2] = -1;
  34265. s = c[g >> 2] | 0;
  34266. l = f;
  34267. return s | 0;
  34268. }
  34269. b[c[k >> 2] >> 1] = c[i >> 2];
  34270. b[((c[k >> 2] | 0) + 2) >> 1] = 1;
  34271. c[r >> 2] = 0;
  34272. while (1) {
  34273. if ((c[r >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
  34274. b[((c[n >> 2] | 0) + (c[r >> 2] << 2)) >> 1] = 0;
  34275. a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] =
  34276. c[r >> 2];
  34277. a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 3) >> 0] =
  34278. c[i >> 2];
  34279. c[r >> 2] = (c[r >> 2] | 0) + 1;
  34280. }
  34281. c[g >> 2] = 0;
  34282. s = c[g >> 2] | 0;
  34283. l = f;
  34284. return s | 0;
  34285. }
  34286. function Ow(a, d, e, f, g) {
  34287. a = a | 0;
  34288. d = d | 0;
  34289. e = e | 0;
  34290. f = f | 0;
  34291. g = g | 0;
  34292. var h = 0,
  34293. i = 0,
  34294. j = 0,
  34295. k = 0,
  34296. m = 0,
  34297. n = 0,
  34298. o = 0,
  34299. p = 0,
  34300. q = 0,
  34301. r = 0,
  34302. s = 0,
  34303. t = 0,
  34304. u = 0,
  34305. v = 0,
  34306. w = 0,
  34307. x = 0,
  34308. y = 0,
  34309. z = 0,
  34310. A = 0,
  34311. B = 0,
  34312. C = 0,
  34313. D = 0;
  34314. h = l;
  34315. l = (l + 80) | 0;
  34316. i = (h + 64) | 0;
  34317. j = (h + 60) | 0;
  34318. k = (h + 56) | 0;
  34319. m = (h + 52) | 0;
  34320. n = (h + 48) | 0;
  34321. o = (h + 44) | 0;
  34322. p = (h + 40) | 0;
  34323. q = (h + 36) | 0;
  34324. r = (h + 32) | 0;
  34325. s = (h + 28) | 0;
  34326. t = (h + 24) | 0;
  34327. u = (h + 20) | 0;
  34328. v = (h + 16) | 0;
  34329. w = (h + 12) | 0;
  34330. x = (h + 8) | 0;
  34331. y = (h + 4) | 0;
  34332. z = h;
  34333. A = (h + 70) | 0;
  34334. B = (h + 68) | 0;
  34335. c[j >> 2] = a;
  34336. c[k >> 2] = d;
  34337. c[m >> 2] = e;
  34338. c[n >> 2] = f;
  34339. c[o >> 2] = g;
  34340. c[p >> 2] = c[n >> 2];
  34341. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  34342. c[r >> 2] = c[p >> 2];
  34343. c[x >> 2] = 0;
  34344. c[y >> 2] = 0;
  34345. if ((c[o >> 2] | 0) >>> 0 < 4) {
  34346. c[i >> 2] = -72;
  34347. C = c[i >> 2] | 0;
  34348. l = h;
  34349. return C | 0;
  34350. }
  34351. c[v >> 2] = pr(c[r >> 2] | 0) | 0;
  34352. c[s >> 2] = (c[v >> 2] & 15) + 5;
  34353. if ((c[s >> 2] | 0) > 15) {
  34354. c[i >> 2] = -44;
  34355. C = c[i >> 2] | 0;
  34356. l = h;
  34357. return C | 0;
  34358. }
  34359. c[v >> 2] = (c[v >> 2] | 0) >>> 4;
  34360. c[w >> 2] = 4;
  34361. c[c[m >> 2] >> 2] = c[s >> 2];
  34362. c[t >> 2] = (1 << c[s >> 2]) + 1;
  34363. c[u >> 2] = 1 << c[s >> 2];
  34364. c[s >> 2] = (c[s >> 2] | 0) + 1;
  34365. a: while (1) {
  34366. if ((c[t >> 2] | 0) <= 1) break;
  34367. if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
  34368. break;
  34369. do {
  34370. if (c[y >> 2] | 0) {
  34371. c[z >> 2] = c[x >> 2];
  34372. while (1) {
  34373. if (((c[v >> 2] & 65535) | 0) != 65535) break;
  34374. c[z >> 2] = (c[z >> 2] | 0) + 24;
  34375. if (
  34376. (c[r >> 2] | 0) >>> 0 <
  34377. (((c[q >> 2] | 0) + -5) | 0) >>> 0
  34378. ) {
  34379. c[r >> 2] = (c[r >> 2] | 0) + 2;
  34380. m = pr(c[r >> 2] | 0) | 0;
  34381. c[v >> 2] = m >>> (c[w >> 2] | 0);
  34382. } else {
  34383. c[v >> 2] = (c[v >> 2] | 0) >>> 16;
  34384. c[w >> 2] = (c[w >> 2] | 0) + 16;
  34385. }
  34386. }
  34387. while (1) {
  34388. if (((c[v >> 2] & 3) | 0) != 3) break;
  34389. c[z >> 2] = (c[z >> 2] | 0) + 3;
  34390. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  34391. c[w >> 2] = (c[w >> 2] | 0) + 2;
  34392. }
  34393. c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
  34394. c[w >> 2] = (c[w >> 2] | 0) + 2;
  34395. if (
  34396. (c[z >> 2] | 0) >>> 0 >
  34397. (c[c[k >> 2] >> 2] | 0) >>> 0
  34398. ) {
  34399. D = 19;
  34400. break a;
  34401. }
  34402. while (1) {
  34403. if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
  34404. break;
  34405. m = c[j >> 2] | 0;
  34406. n = c[x >> 2] | 0;
  34407. c[x >> 2] = n + 1;
  34408. b[(m + (n << 1)) >> 1] = 0;
  34409. }
  34410. if (
  34411. (c[r >> 2] | 0) >>> 0 >
  34412. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  34413. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  34414. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  34415. : 0
  34416. ) {
  34417. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  34418. break;
  34419. }
  34420. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  34421. c[w >> 2] = c[w >> 2] & 7;
  34422. n = pr(c[r >> 2] | 0) | 0;
  34423. c[v >> 2] = n >>> (c[w >> 2] | 0);
  34424. }
  34425. } while (0);
  34426. b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
  34427. n = c[v >> 2] | 0;
  34428. m = c[u >> 2] | 0;
  34429. if (
  34430. (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
  34431. (b[A >> 1] | 0) >>> 0
  34432. ) {
  34433. b[B >> 1] = n & (m - 1);
  34434. c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
  34435. } else {
  34436. b[B >> 1] = n & ((m << 1) - 1);
  34437. if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
  34438. b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
  34439. c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
  34440. }
  34441. b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
  34442. m = ((Sw(b[B >> 1] | 0) | 0) << 16) >> 16;
  34443. c[t >> 2] = (c[t >> 2] | 0) - m;
  34444. m = b[B >> 1] | 0;
  34445. n = c[j >> 2] | 0;
  34446. g = c[x >> 2] | 0;
  34447. c[x >> 2] = g + 1;
  34448. b[(n + (g << 1)) >> 1] = m;
  34449. c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
  34450. while (1) {
  34451. if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
  34452. c[s >> 2] = (c[s >> 2] | 0) + -1;
  34453. c[u >> 2] = c[u >> 2] >> 1;
  34454. }
  34455. if (
  34456. (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
  34457. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  34458. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  34459. : 0
  34460. ) {
  34461. c[w >> 2] =
  34462. (c[w >> 2] | 0) -
  34463. (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
  34464. c[r >> 2] = (c[q >> 2] | 0) + -4;
  34465. } else {
  34466. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  34467. c[w >> 2] = c[w >> 2] & 7;
  34468. }
  34469. m = pr(c[r >> 2] | 0) | 0;
  34470. c[v >> 2] = m >>> (c[w >> 2] & 31);
  34471. }
  34472. if ((D | 0) == 19) {
  34473. c[i >> 2] = -48;
  34474. C = c[i >> 2] | 0;
  34475. l = h;
  34476. return C | 0;
  34477. }
  34478. if ((c[t >> 2] | 0) != 1) {
  34479. c[i >> 2] = -1;
  34480. C = c[i >> 2] | 0;
  34481. l = h;
  34482. return C | 0;
  34483. }
  34484. c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
  34485. c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
  34486. if (
  34487. (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
  34488. (c[o >> 2] | 0) >>> 0
  34489. ) {
  34490. c[i >> 2] = -72;
  34491. C = c[i >> 2] | 0;
  34492. l = h;
  34493. return C | 0;
  34494. } else {
  34495. c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
  34496. C = c[i >> 2] | 0;
  34497. l = h;
  34498. return C | 0;
  34499. }
  34500. return 0;
  34501. }
  34502. function Pw(a) {
  34503. a = a | 0;
  34504. var b = 0,
  34505. d = 0;
  34506. b = l;
  34507. l = (l + 16) | 0;
  34508. d = b;
  34509. c[d >> 2] = a;
  34510. a = sr(c[d >> 2] | 0) | 0;
  34511. l = b;
  34512. return a | 0;
  34513. }
  34514. function Qw(f, g, h, i) {
  34515. f = f | 0;
  34516. g = g | 0;
  34517. h = h | 0;
  34518. i = i | 0;
  34519. var j = 0,
  34520. k = 0,
  34521. m = 0,
  34522. n = 0,
  34523. o = 0,
  34524. p = 0,
  34525. q = 0,
  34526. r = 0,
  34527. s = 0,
  34528. t = 0,
  34529. u = 0,
  34530. v = 0,
  34531. w = 0,
  34532. x = 0,
  34533. y = 0,
  34534. z = 0,
  34535. A = 0,
  34536. B = 0,
  34537. C = 0,
  34538. D = 0,
  34539. E = 0,
  34540. F = 0,
  34541. G = 0,
  34542. H = 0;
  34543. j = l;
  34544. l = (l + 592) | 0;
  34545. k = (j + 572) | 0;
  34546. m = (j + 568) | 0;
  34547. n = (j + 564) | 0;
  34548. o = (j + 560) | 0;
  34549. p = (j + 556) | 0;
  34550. q = (j + 580) | 0;
  34551. r = (j + 552) | 0;
  34552. s = (j + 548) | 0;
  34553. t = (j + 544) | 0;
  34554. u = (j + 540) | 0;
  34555. v = (j + 536) | 0;
  34556. w = j;
  34557. x = (j + 532) | 0;
  34558. y = (j + 528) | 0;
  34559. z = (j + 578) | 0;
  34560. A = (j + 524) | 0;
  34561. B = (j + 520) | 0;
  34562. C = (j + 516) | 0;
  34563. D = (j + 512) | 0;
  34564. E = (j + 584) | 0;
  34565. F = (j + 576) | 0;
  34566. c[m >> 2] = f;
  34567. c[n >> 2] = g;
  34568. c[o >> 2] = h;
  34569. c[p >> 2] = i;
  34570. c[r >> 2] = (c[m >> 2] | 0) + 4;
  34571. c[s >> 2] = c[r >> 2];
  34572. c[t >> 2] = 1 << c[p >> 2];
  34573. c[u >> 2] = (c[t >> 2] | 0) - 1;
  34574. c[v >> 2] = Rw(c[t >> 2] | 0) | 0;
  34575. c[x >> 2] = 0;
  34576. c[y >> 2] = (c[t >> 2] | 0) - 1;
  34577. b[z >> 1] = 1 << ((c[p >> 2] | 0) - 1);
  34578. c[A >> 2] = 1;
  34579. if ((c[o >> 2] | 0) >>> 0 > 255) {
  34580. c[k >> 2] = -46;
  34581. G = c[k >> 2] | 0;
  34582. l = j;
  34583. return G | 0;
  34584. }
  34585. if ((c[p >> 2] | 0) >>> 0 > 12) {
  34586. c[k >> 2] = -44;
  34587. G = c[k >> 2] | 0;
  34588. l = j;
  34589. return G | 0;
  34590. }
  34591. b[q >> 1] = c[p >> 2];
  34592. c[B >> 2] = 0;
  34593. while (1) {
  34594. if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  34595. if (
  34596. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) ==
  34597. -1
  34598. ) {
  34599. r = c[B >> 2] & 255;
  34600. i = c[s >> 2] | 0;
  34601. h = c[y >> 2] | 0;
  34602. c[y >> 2] = h + -1;
  34603. a[(i + (h << 2) + 2) >> 0] = r;
  34604. b[(w + (c[B >> 2] << 1)) >> 1] = 1;
  34605. } else {
  34606. if (
  34607. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) >=
  34608. (b[z >> 1] | 0)
  34609. )
  34610. c[A >> 2] = 0;
  34611. b[(w + (c[B >> 2] << 1)) >> 1] =
  34612. b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0;
  34613. }
  34614. c[B >> 2] = (c[B >> 2] | 0) + 1;
  34615. }
  34616. c[B >> 2] = 0;
  34617. while (1) {
  34618. if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  34619. c[C >> 2] = 0;
  34620. while (1) {
  34621. H = c[B >> 2] | 0;
  34622. if (
  34623. (c[C >> 2] | 0) >=
  34624. (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
  34625. )
  34626. break;
  34627. a[((c[s >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] = H;
  34628. c[x >> 2] =
  34629. ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
  34630. while (1) {
  34631. if ((c[x >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0)
  34632. break;
  34633. c[x >> 2] =
  34634. ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
  34635. }
  34636. c[C >> 2] = (c[C >> 2] | 0) + 1;
  34637. }
  34638. c[B >> 2] = H + 1;
  34639. }
  34640. if (c[x >> 2] | 0) {
  34641. c[k >> 2] = -1;
  34642. G = c[k >> 2] | 0;
  34643. l = j;
  34644. return G | 0;
  34645. }
  34646. c[D >> 2] = 0;
  34647. while (1) {
  34648. if ((c[D >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  34649. a[E >> 0] =
  34650. a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0;
  34651. x = (w + (d[E >> 0] << 1)) | 0;
  34652. H = b[x >> 1] | 0;
  34653. b[x >> 1] = ((H + 1) << 16) >> 16;
  34654. b[F >> 1] = H;
  34655. H = c[p >> 2] | 0;
  34656. x = (H - (Kw(e[F >> 1] | 0) | 0)) & 255;
  34657. a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] = x;
  34658. b[((c[s >> 2] | 0) + (c[D >> 2] << 2)) >> 1] =
  34659. (e[F >> 1] <<
  34660. d[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0]) -
  34661. (c[t >> 2] | 0);
  34662. c[D >> 2] = (c[D >> 2] | 0) + 1;
  34663. }
  34664. b[(q + 2) >> 1] = c[A >> 2];
  34665. A = c[m >> 2] | 0;
  34666. b[A >> 1] = b[q >> 1] | 0;
  34667. b[(A + 2) >> 1] = b[(q + 2) >> 1] | 0;
  34668. c[k >> 2] = 0;
  34669. G = c[k >> 2] | 0;
  34670. l = j;
  34671. return G | 0;
  34672. }
  34673. function Rw(a) {
  34674. a = a | 0;
  34675. var b = 0,
  34676. d = 0;
  34677. b = l;
  34678. l = (l + 16) | 0;
  34679. d = b;
  34680. c[d >> 2] = a;
  34681. l = b;
  34682. return (
  34683. (((c[d >> 2] | 0) >>> 1) + ((c[d >> 2] | 0) >>> 3) + 3) | 0
  34684. );
  34685. }
  34686. function Sw(a) {
  34687. a = a | 0;
  34688. var c = 0,
  34689. d = 0;
  34690. c = l;
  34691. l = (l + 16) | 0;
  34692. d = c;
  34693. b[d >> 1] = a;
  34694. a = b[d >> 1] | 0;
  34695. l = c;
  34696. return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
  34697. }
  34698. function Tw(d) {
  34699. d = d | 0;
  34700. var e = 0,
  34701. f = 0,
  34702. g = 0;
  34703. e = l;
  34704. l = (l + 16) | 0;
  34705. f = e;
  34706. g = (e + 4) | 0;
  34707. c[f >> 2] = d;
  34708. d = c[f >> 2] | 0;
  34709. a[g >> 0] = a[d >> 0] | 0;
  34710. a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
  34711. l = e;
  34712. return b[g >> 1] | 0;
  34713. }
  34714. function Uw(a, b, d, e) {
  34715. a = a | 0;
  34716. b = b | 0;
  34717. d = d | 0;
  34718. e = e | 0;
  34719. var f = 0,
  34720. g = 0,
  34721. h = 0,
  34722. i = 0,
  34723. j = 0,
  34724. k = 0,
  34725. m = 0,
  34726. n = 0,
  34727. o = 0,
  34728. p = 0;
  34729. f = l;
  34730. l = (l + 32) | 0;
  34731. g = (f + 28) | 0;
  34732. h = (f + 24) | 0;
  34733. i = (f + 20) | 0;
  34734. j = (f + 16) | 0;
  34735. k = (f + 12) | 0;
  34736. m = (f + 8) | 0;
  34737. n = (f + 4) | 0;
  34738. o = f;
  34739. c[h >> 2] = a;
  34740. c[i >> 2] = b;
  34741. c[j >> 2] = d;
  34742. c[k >> 2] = e;
  34743. c[m >> 2] = c[j >> 2];
  34744. c[n >> 2] = ((pr(c[j >> 2] | 0) | 0) & 2097151) >>> 2;
  34745. c[o >> 2] =
  34746. ((pr(((c[m >> 2] | 0) + 2) | 0) | 0) & 16777215) >>> 5;
  34747. if ((c[n >> 2] | 0) >>> 0 > (c[c[i >> 2] >> 2] | 0) >>> 0) {
  34748. c[g >> 2] = -20;
  34749. p = c[g >> 2] | 0;
  34750. l = f;
  34751. return p | 0;
  34752. }
  34753. if (
  34754. (((c[o >> 2] | 0) + 5) | 0) >>> 0 >
  34755. (c[k >> 2] | 0) >>> 0
  34756. ) {
  34757. c[g >> 2] = -20;
  34758. p = c[g >> 2] | 0;
  34759. l = f;
  34760. return p | 0;
  34761. }
  34762. if (
  34763. Ww(
  34764. Vw(
  34765. c[h >> 2] | 0,
  34766. c[n >> 2] | 0,
  34767. ((c[m >> 2] | 0) + 5) | 0,
  34768. c[o >> 2] | 0
  34769. ) | 0
  34770. ) | 0
  34771. ) {
  34772. c[g >> 2] = -20;
  34773. p = c[g >> 2] | 0;
  34774. l = f;
  34775. return p | 0;
  34776. } else {
  34777. c[c[i >> 2] >> 2] = c[n >> 2];
  34778. c[g >> 2] = (c[o >> 2] | 0) + 5;
  34779. p = c[g >> 2] | 0;
  34780. l = f;
  34781. return p | 0;
  34782. }
  34783. return 0;
  34784. }
  34785. function Vw(a, b, e, f) {
  34786. a = a | 0;
  34787. b = b | 0;
  34788. e = e | 0;
  34789. f = f | 0;
  34790. var g = 0,
  34791. h = 0,
  34792. i = 0,
  34793. j = 0,
  34794. k = 0,
  34795. m = 0,
  34796. n = 0,
  34797. o = 0,
  34798. p = 0,
  34799. q = 0,
  34800. r = 0,
  34801. s = 0;
  34802. g = l;
  34803. l = (l + 48) | 0;
  34804. h = (g + 44) | 0;
  34805. i = (g + 40) | 0;
  34806. j = (g + 36) | 0;
  34807. k = (g + 32) | 0;
  34808. m = (g + 28) | 0;
  34809. n = (g + 24) | 0;
  34810. o = (g + 20) | 0;
  34811. p = (g + 8) | 0;
  34812. q = (g + 4) | 0;
  34813. r = g;
  34814. c[i >> 2] = a;
  34815. c[j >> 2] = b;
  34816. c[k >> 2] = e;
  34817. c[m >> 2] = f;
  34818. c[o >> 2] = (c[j >> 2] | 0) >>> 8;
  34819. c[q >> 2] = 0;
  34820. if (!(c[j >> 2] | 0)) {
  34821. c[h >> 2] = -70;
  34822. s = c[h >> 2] | 0;
  34823. l = g;
  34824. return s | 0;
  34825. }
  34826. if ((c[m >> 2] | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
  34827. c[h >> 2] = -20;
  34828. s = c[h >> 2] | 0;
  34829. l = g;
  34830. return s | 0;
  34831. }
  34832. if ((c[m >> 2] | 0) == (c[j >> 2] | 0)) {
  34833. mE(c[i >> 2] | 0, c[k >> 2] | 0, c[j >> 2] | 0) | 0;
  34834. c[h >> 2] = c[j >> 2];
  34835. s = c[h >> 2] | 0;
  34836. l = g;
  34837. return s | 0;
  34838. }
  34839. if ((c[m >> 2] | 0) == 1) {
  34840. oE(
  34841. c[i >> 2] | 0,
  34842. ((d[c[k >> 2] >> 0] | 0) & 255) | 0,
  34843. c[j >> 2] | 0
  34844. ) | 0;
  34845. c[h >> 2] = c[j >> 2];
  34846. s = c[h >> 2] | 0;
  34847. l = g;
  34848. return s | 0;
  34849. }
  34850. c[n >> 2] =
  34851. (((c[m >> 2] << 4) >>> 0) / ((c[j >> 2] | 0) >>> 0)) | 0;
  34852. c[r >> 2] = 0;
  34853. while (1) {
  34854. if ((c[r >> 2] | 0) >= 3) break;
  34855. f =
  34856. ((c[
  34857. (7008 +
  34858. (((c[n >> 2] | 0) * 24) | 0) +
  34859. (c[r >> 2] << 3)) >>
  34860. 2
  34861. ] |
  34862. 0) +
  34863. (N(
  34864. c[
  34865. (7008 +
  34866. (((c[n >> 2] | 0) * 24) | 0) +
  34867. (c[r >> 2] << 3) +
  34868. 4) >>
  34869. 2
  34870. ] | 0,
  34871. c[o >> 2] | 0
  34872. ) |
  34873. 0)) |
  34874. 0;
  34875. c[(p + (c[r >> 2] << 2)) >> 2] = f;
  34876. c[r >> 2] = (c[r >> 2] | 0) + 1;
  34877. }
  34878. r = (p + 4) | 0;
  34879. c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 4) >> 2] | 0) >>> 4);
  34880. r = (p + 8) | 0;
  34881. c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 8) >> 2] | 0) >>> 3);
  34882. if ((c[(p + 4) >> 2] | 0) >>> 0 < (c[p >> 2] | 0) >>> 0)
  34883. c[q >> 2] = 1;
  34884. c[h >> 2] =
  34885. sc[c[(11988 + (c[q >> 2] << 2)) >> 2] & 15](
  34886. c[i >> 2] | 0,
  34887. c[j >> 2] | 0,
  34888. c[k >> 2] | 0,
  34889. c[m >> 2] | 0
  34890. ) | 0;
  34891. s = c[h >> 2] | 0;
  34892. l = g;
  34893. return s | 0;
  34894. }
  34895. function Ww(a) {
  34896. a = a | 0;
  34897. var b = 0,
  34898. d = 0;
  34899. b = l;
  34900. l = (l + 16) | 0;
  34901. d = b;
  34902. c[d >> 2] = a;
  34903. a = sr(c[d >> 2] | 0) | 0;
  34904. l = b;
  34905. return a | 0;
  34906. }
  34907. function Xw(a, d, e, f) {
  34908. a = a | 0;
  34909. d = d | 0;
  34910. e = e | 0;
  34911. f = f | 0;
  34912. var g = 0,
  34913. h = 0,
  34914. i = 0,
  34915. j = 0,
  34916. k = 0,
  34917. m = 0,
  34918. n = 0,
  34919. o = 0,
  34920. p = 0,
  34921. q = 0;
  34922. g = l;
  34923. l = (l + 8224) | 0;
  34924. h = (g + 8220) | 0;
  34925. i = (g + 8216) | 0;
  34926. j = (g + 8212) | 0;
  34927. k = (g + 8208) | 0;
  34928. m = (g + 8204) | 0;
  34929. n = g;
  34930. o = (g + 8200) | 0;
  34931. p = (g + 8196) | 0;
  34932. c[i >> 2] = a;
  34933. c[j >> 2] = d;
  34934. c[k >> 2] = e;
  34935. c[m >> 2] = f;
  34936. oE(n | 0, 0, 8194) | 0;
  34937. b[n >> 1] = 12;
  34938. c[o >> 2] = c[k >> 2];
  34939. c[p >> 2] = ox(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  34940. k = (Ww(c[p >> 2] | 0) | 0) != 0;
  34941. f = c[p >> 2] | 0;
  34942. if (k) {
  34943. c[h >> 2] = f;
  34944. q = c[h >> 2] | 0;
  34945. l = g;
  34946. return q | 0;
  34947. }
  34948. if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
  34949. c[h >> 2] = -72;
  34950. q = c[h >> 2] | 0;
  34951. l = g;
  34952. return q | 0;
  34953. } else {
  34954. c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
  34955. c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
  34956. c[h >> 2] =
  34957. px(
  34958. c[i >> 2] | 0,
  34959. c[j >> 2] | 0,
  34960. c[o >> 2] | 0,
  34961. c[m >> 2] | 0,
  34962. n
  34963. ) | 0;
  34964. q = c[h >> 2] | 0;
  34965. l = g;
  34966. return q | 0;
  34967. }
  34968. return 0;
  34969. }
  34970. function Yw(a, b, d, e) {
  34971. a = a | 0;
  34972. b = b | 0;
  34973. d = d | 0;
  34974. e = e | 0;
  34975. var f = 0,
  34976. g = 0,
  34977. h = 0,
  34978. i = 0,
  34979. j = 0,
  34980. k = 0,
  34981. m = 0,
  34982. n = 0,
  34983. o = 0,
  34984. p = 0;
  34985. f = l;
  34986. l = (l + 16416) | 0;
  34987. g = (f + 16412) | 0;
  34988. h = (f + 16408) | 0;
  34989. i = (f + 16404) | 0;
  34990. j = (f + 16400) | 0;
  34991. k = (f + 16396) | 0;
  34992. m = f;
  34993. n = (f + 16392) | 0;
  34994. o = (f + 16388) | 0;
  34995. c[h >> 2] = a;
  34996. c[i >> 2] = b;
  34997. c[j >> 2] = d;
  34998. c[k >> 2] = e;
  34999. oE(m | 0, 0, 16388) | 0;
  35000. c[m >> 2] = 12;
  35001. c[n >> 2] = c[j >> 2];
  35002. c[o >> 2] = Zw(m, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  35003. j = (Ww(c[o >> 2] | 0) | 0) != 0;
  35004. e = c[o >> 2] | 0;
  35005. if (j) {
  35006. c[g >> 2] = e;
  35007. p = c[g >> 2] | 0;
  35008. l = f;
  35009. return p | 0;
  35010. }
  35011. if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  35012. c[g >> 2] = -72;
  35013. p = c[g >> 2] | 0;
  35014. l = f;
  35015. return p | 0;
  35016. } else {
  35017. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  35018. c[k >> 2] = (c[k >> 2] | 0) - (c[o >> 2] | 0);
  35019. c[g >> 2] =
  35020. _w(
  35021. c[h >> 2] | 0,
  35022. c[i >> 2] | 0,
  35023. c[n >> 2] | 0,
  35024. c[k >> 2] | 0,
  35025. m
  35026. ) | 0;
  35027. p = c[g >> 2] | 0;
  35028. l = f;
  35029. return p | 0;
  35030. }
  35031. return 0;
  35032. }
  35033. function Zw(b, e, f) {
  35034. b = b | 0;
  35035. e = e | 0;
  35036. f = f | 0;
  35037. var g = 0,
  35038. h = 0,
  35039. i = 0,
  35040. j = 0,
  35041. k = 0,
  35042. m = 0,
  35043. n = 0,
  35044. o = 0,
  35045. p = 0,
  35046. q = 0,
  35047. r = 0,
  35048. s = 0,
  35049. t = 0,
  35050. u = 0,
  35051. v = 0,
  35052. w = 0,
  35053. x = 0,
  35054. y = 0,
  35055. z = 0,
  35056. A = 0,
  35057. B = 0,
  35058. C = 0,
  35059. D = 0,
  35060. E = 0,
  35061. F = 0,
  35062. G = 0,
  35063. H = 0,
  35064. I = 0,
  35065. J = 0,
  35066. K = 0,
  35067. L = 0,
  35068. M = 0,
  35069. N = 0,
  35070. O = 0,
  35071. P = 0,
  35072. Q = 0;
  35073. g = l;
  35074. l = (l + 2128) | 0;
  35075. h = (g + 2120) | 0;
  35076. i = (g + 2116) | 0;
  35077. j = (g + 2112) | 0;
  35078. k = (g + 2108) | 0;
  35079. m = (g + 1760) | 0;
  35080. n = (g + 1248) | 0;
  35081. o = (g + 1168) | 0;
  35082. p = (g + 1088) | 0;
  35083. q = (g + 2104) | 0;
  35084. r = g;
  35085. s = (g + 2100) | 0;
  35086. t = (g + 2096) | 0;
  35087. u = (g + 2092) | 0;
  35088. v = (g + 2088) | 0;
  35089. w = (g + 2084) | 0;
  35090. x = (g + 2080) | 0;
  35091. y = (g + 2076) | 0;
  35092. z = (g + 2072) | 0;
  35093. A = (g + 2068) | 0;
  35094. B = (g + 2064) | 0;
  35095. C = (g + 2060) | 0;
  35096. D = (g + 2056) | 0;
  35097. E = (g + 2052) | 0;
  35098. F = (g + 2048) | 0;
  35099. G = (g + 2044) | 0;
  35100. H = (g + 2040) | 0;
  35101. I = (g + 2036) | 0;
  35102. J = (g + 2032) | 0;
  35103. K = (g + 2028) | 0;
  35104. L = (g + 2024) | 0;
  35105. M = (g + 2020) | 0;
  35106. N = (g + 2016) | 0;
  35107. c[i >> 2] = b;
  35108. c[j >> 2] = e;
  35109. c[k >> 2] = f;
  35110. f = o;
  35111. e = (f + 68) | 0;
  35112. do {
  35113. c[f >> 2] = 0;
  35114. f = (f + 4) | 0;
  35115. } while ((f | 0) < (e | 0));
  35116. f = p;
  35117. e = (f + 72) | 0;
  35118. do {
  35119. c[f >> 2] = 0;
  35120. f = (f + 4) | 0;
  35121. } while ((f | 0) < (e | 0));
  35122. c[q >> 2] = p + 4;
  35123. c[w >> 2] = c[c[i >> 2] >> 2];
  35124. c[y >> 2] = c[i >> 2];
  35125. c[z >> 2] = (c[y >> 2] | 0) + 4;
  35126. if ((c[w >> 2] | 0) >>> 0 > 16) {
  35127. c[h >> 2] = -44;
  35128. O = c[h >> 2] | 0;
  35129. l = g;
  35130. return O | 0;
  35131. }
  35132. c[x >> 2] =
  35133. ex(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  35134. if (Ww(c[x >> 2] | 0) | 0) {
  35135. c[h >> 2] = c[x >> 2];
  35136. O = c[h >> 2] | 0;
  35137. l = g;
  35138. return O | 0;
  35139. }
  35140. if ((c[s >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) {
  35141. c[h >> 2] = -44;
  35142. O = c[h >> 2] | 0;
  35143. l = g;
  35144. return O | 0;
  35145. }
  35146. c[t >> 2] = c[s >> 2];
  35147. while (1) {
  35148. if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
  35149. if (!(c[t >> 2] | 0)) {
  35150. P = 10;
  35151. break;
  35152. }
  35153. c[t >> 2] = (c[t >> 2] | 0) + -1;
  35154. }
  35155. if ((P | 0) == 10) {
  35156. c[h >> 2] = -1;
  35157. O = c[h >> 2] | 0;
  35158. l = g;
  35159. return O | 0;
  35160. }
  35161. c[B >> 2] = 0;
  35162. c[A >> 2] = 1;
  35163. while (1) {
  35164. Q = c[B >> 2] | 0;
  35165. if ((c[A >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  35166. c[C >> 2] = Q;
  35167. c[B >> 2] =
  35168. (c[B >> 2] | 0) + (c[(o + (c[A >> 2] << 2)) >> 2] | 0);
  35169. c[((c[q >> 2] | 0) + (c[A >> 2] << 2)) >> 2] = c[C >> 2];
  35170. c[A >> 2] = (c[A >> 2] | 0) + 1;
  35171. }
  35172. c[c[q >> 2] >> 2] = Q;
  35173. c[u >> 2] = c[B >> 2];
  35174. c[D >> 2] = 0;
  35175. while (1) {
  35176. if ((c[D >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
  35177. c[E >> 2] = d[(m + (c[D >> 2] | 0)) >> 0];
  35178. B = ((c[q >> 2] | 0) + (c[E >> 2] << 2)) | 0;
  35179. Q = c[B >> 2] | 0;
  35180. c[B >> 2] = Q + 1;
  35181. c[F >> 2] = Q;
  35182. a[(n + (c[F >> 2] << 1)) >> 0] = c[D >> 2];
  35183. a[(n + (c[F >> 2] << 1) + 1) >> 0] = c[E >> 2];
  35184. c[D >> 2] = (c[D >> 2] | 0) + 1;
  35185. }
  35186. c[c[q >> 2] >> 2] = 0;
  35187. c[G >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
  35188. c[H >> 2] = 0;
  35189. c[K >> 2] = (c[w >> 2] | 0) - (c[s >> 2] | 0) - 1;
  35190. c[L >> 2] = r;
  35191. c[I >> 2] = 1;
  35192. while (1) {
  35193. if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  35194. c[M >> 2] = c[H >> 2];
  35195. c[H >> 2] =
  35196. (c[H >> 2] | 0) +
  35197. (c[(o + (c[I >> 2] << 2)) >> 2] <<
  35198. ((c[I >> 2] | 0) + (c[K >> 2] | 0)));
  35199. c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] = c[M >> 2];
  35200. c[I >> 2] = (c[I >> 2] | 0) + 1;
  35201. }
  35202. c[J >> 2] = c[G >> 2];
  35203. while (1) {
  35204. if (
  35205. (c[J >> 2] | 0) >>> 0 >
  35206. (((c[w >> 2] | 0) - (c[G >> 2] | 0)) | 0) >>> 0
  35207. )
  35208. break;
  35209. c[N >> 2] = r + (((c[J >> 2] | 0) * 68) | 0);
  35210. c[I >> 2] = 1;
  35211. while (1) {
  35212. if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  35213. c[((c[N >> 2] | 0) + (c[I >> 2] << 2)) >> 2] =
  35214. (c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] | 0) >>>
  35215. (c[J >> 2] | 0);
  35216. c[I >> 2] = (c[I >> 2] | 0) + 1;
  35217. }
  35218. c[J >> 2] = (c[J >> 2] | 0) + 1;
  35219. }
  35220. fx(
  35221. c[z >> 2] | 0,
  35222. c[w >> 2] | 0,
  35223. n,
  35224. c[u >> 2] | 0,
  35225. p,
  35226. r,
  35227. c[t >> 2] | 0,
  35228. ((c[s >> 2] | 0) + 1) | 0
  35229. );
  35230. c[h >> 2] = c[x >> 2];
  35231. O = c[h >> 2] | 0;
  35232. l = g;
  35233. return O | 0;
  35234. }
  35235. function _w(a, b, d, e, f) {
  35236. a = a | 0;
  35237. b = b | 0;
  35238. d = d | 0;
  35239. e = e | 0;
  35240. f = f | 0;
  35241. var g = 0,
  35242. h = 0,
  35243. i = 0,
  35244. j = 0,
  35245. k = 0,
  35246. m = 0,
  35247. n = 0,
  35248. o = 0,
  35249. p = 0,
  35250. q = 0,
  35251. r = 0,
  35252. s = 0,
  35253. t = 0,
  35254. u = 0,
  35255. v = 0,
  35256. w = 0,
  35257. x = 0,
  35258. y = 0,
  35259. z = 0,
  35260. A = 0,
  35261. B = 0,
  35262. C = 0,
  35263. D = 0,
  35264. E = 0,
  35265. F = 0,
  35266. G = 0,
  35267. H = 0,
  35268. I = 0,
  35269. J = 0,
  35270. K = 0,
  35271. L = 0,
  35272. M = 0,
  35273. N = 0,
  35274. O = 0,
  35275. P = 0,
  35276. Q = 0;
  35277. g = l;
  35278. l = (l + 192) | 0;
  35279. h = (g + 184) | 0;
  35280. i = (g + 180) | 0;
  35281. j = (g + 176) | 0;
  35282. k = (g + 172) | 0;
  35283. m = (g + 168) | 0;
  35284. n = (g + 164) | 0;
  35285. o = (g + 160) | 0;
  35286. p = (g + 156) | 0;
  35287. q = (g + 152) | 0;
  35288. r = (g + 148) | 0;
  35289. s = (g + 144) | 0;
  35290. t = (g + 140) | 0;
  35291. u = (g + 136) | 0;
  35292. v = (g + 120) | 0;
  35293. w = (g + 104) | 0;
  35294. x = (g + 88) | 0;
  35295. y = (g + 72) | 0;
  35296. z = (g + 64) | 0;
  35297. A = (g + 60) | 0;
  35298. B = (g + 56) | 0;
  35299. C = (g + 52) | 0;
  35300. D = (g + 48) | 0;
  35301. E = (g + 44) | 0;
  35302. F = (g + 40) | 0;
  35303. G = (g + 36) | 0;
  35304. H = (g + 32) | 0;
  35305. I = (g + 28) | 0;
  35306. J = (g + 24) | 0;
  35307. K = (g + 20) | 0;
  35308. L = (g + 16) | 0;
  35309. M = (g + 12) | 0;
  35310. N = (g + 8) | 0;
  35311. O = (g + 4) | 0;
  35312. P = g;
  35313. c[i >> 2] = a;
  35314. c[j >> 2] = b;
  35315. c[k >> 2] = d;
  35316. c[m >> 2] = e;
  35317. c[n >> 2] = f;
  35318. if ((c[m >> 2] | 0) >>> 0 < 10) {
  35319. c[h >> 2] = -20;
  35320. Q = c[h >> 2] | 0;
  35321. l = g;
  35322. return Q | 0;
  35323. }
  35324. c[o >> 2] = c[k >> 2];
  35325. c[p >> 2] = c[i >> 2];
  35326. c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
  35327. c[r >> 2] = c[n >> 2];
  35328. c[s >> 2] = (c[r >> 2] | 0) + 4;
  35329. c[t >> 2] = c[c[n >> 2] >> 2];
  35330. c[z >> 2] = (Lw(c[o >> 2] | 0) | 0) & 65535;
  35331. c[A >> 2] = (Lw(((c[o >> 2] | 0) + 2) | 0) | 0) & 65535;
  35332. c[B >> 2] = (Lw(((c[o >> 2] | 0) + 4) | 0) | 0) & 65535;
  35333. c[D >> 2] = (c[o >> 2] | 0) + 6;
  35334. c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
  35335. c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
  35336. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  35337. c[H >> 2] = (((((c[j >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  35338. c[I >> 2] = (c[p >> 2] | 0) + (c[H >> 2] | 0);
  35339. c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  35340. c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
  35341. c[L >> 2] = c[p >> 2];
  35342. c[M >> 2] = c[I >> 2];
  35343. c[N >> 2] = c[J >> 2];
  35344. c[O >> 2] = c[K >> 2];
  35345. c[C >> 2] =
  35346. (c[m >> 2] | 0) -
  35347. ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
  35348. if ((c[C >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) {
  35349. c[h >> 2] = -20;
  35350. Q = c[h >> 2] | 0;
  35351. l = g;
  35352. return Q | 0;
  35353. }
  35354. c[u >> 2] = tw(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
  35355. if (Ww(c[u >> 2] | 0) | 0) {
  35356. c[h >> 2] = c[u >> 2];
  35357. Q = c[h >> 2] | 0;
  35358. l = g;
  35359. return Q | 0;
  35360. }
  35361. c[u >> 2] = tw(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
  35362. if (Ww(c[u >> 2] | 0) | 0) {
  35363. c[h >> 2] = c[u >> 2];
  35364. Q = c[h >> 2] | 0;
  35365. l = g;
  35366. return Q | 0;
  35367. }
  35368. c[u >> 2] = tw(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  35369. if (Ww(c[u >> 2] | 0) | 0) {
  35370. c[h >> 2] = c[u >> 2];
  35371. Q = c[h >> 2] | 0;
  35372. l = g;
  35373. return Q | 0;
  35374. }
  35375. c[u >> 2] = tw(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  35376. if (Ww(c[u >> 2] | 0) | 0) {
  35377. c[h >> 2] = c[u >> 2];
  35378. Q = c[h >> 2] | 0;
  35379. l = g;
  35380. return Q | 0;
  35381. }
  35382. u = vw(v) | 0;
  35383. C = u | (vw(w) | 0);
  35384. u = C | (vw(x) | 0);
  35385. c[P >> 2] = u | (vw(y) | 0);
  35386. while (1) {
  35387. if (c[P >> 2] | 0) break;
  35388. if (
  35389. (c[O >> 2] | 0) >>> 0 >=
  35390. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  35391. )
  35392. break;
  35393. if ($w() | 0) {
  35394. u =
  35395. ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35396. c[L >> 2] = (c[L >> 2] | 0) + u;
  35397. }
  35398. if ($w() | 0) {
  35399. u =
  35400. ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35401. c[M >> 2] = (c[M >> 2] | 0) + u;
  35402. }
  35403. if ($w() | 0) {
  35404. u =
  35405. ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35406. c[N >> 2] = (c[N >> 2] | 0) + u;
  35407. }
  35408. if ($w() | 0) {
  35409. u =
  35410. ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35411. c[O >> 2] = (c[O >> 2] | 0) + u;
  35412. }
  35413. $w() | 0;
  35414. u = ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35415. c[L >> 2] = (c[L >> 2] | 0) + u;
  35416. $w() | 0;
  35417. u = ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35418. c[M >> 2] = (c[M >> 2] | 0) + u;
  35419. $w() | 0;
  35420. u = ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35421. c[N >> 2] = (c[N >> 2] | 0) + u;
  35422. $w() | 0;
  35423. u = ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35424. c[O >> 2] = (c[O >> 2] | 0) + u;
  35425. if ($w() | 0) {
  35426. u =
  35427. ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35428. c[L >> 2] = (c[L >> 2] | 0) + u;
  35429. }
  35430. if ($w() | 0) {
  35431. u =
  35432. ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35433. c[M >> 2] = (c[M >> 2] | 0) + u;
  35434. }
  35435. if ($w() | 0) {
  35436. u =
  35437. ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35438. c[N >> 2] = (c[N >> 2] | 0) + u;
  35439. }
  35440. if ($w() | 0) {
  35441. u =
  35442. ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35443. c[O >> 2] = (c[O >> 2] | 0) + u;
  35444. }
  35445. u = ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35446. c[L >> 2] = (c[L >> 2] | 0) + u;
  35447. u = ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35448. c[M >> 2] = (c[M >> 2] | 0) + u;
  35449. u = ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35450. c[N >> 2] = (c[N >> 2] | 0) + u;
  35451. u = ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  35452. c[O >> 2] = (c[O >> 2] | 0) + u;
  35453. u = vw(v) | 0;
  35454. C = u | (vw(w) | 0);
  35455. u = C | (vw(x) | 0);
  35456. c[P >> 2] = u | (vw(y) | 0);
  35457. }
  35458. if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
  35459. c[h >> 2] = -20;
  35460. Q = c[h >> 2] | 0;
  35461. l = g;
  35462. return Q | 0;
  35463. }
  35464. if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
  35465. c[h >> 2] = -20;
  35466. Q = c[h >> 2] | 0;
  35467. l = g;
  35468. return Q | 0;
  35469. }
  35470. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  35471. c[h >> 2] = -20;
  35472. Q = c[h >> 2] | 0;
  35473. l = g;
  35474. return Q | 0;
  35475. }
  35476. bx(
  35477. c[L >> 2] | 0,
  35478. v,
  35479. c[I >> 2] | 0,
  35480. c[s >> 2] | 0,
  35481. c[t >> 2] | 0
  35482. ) | 0;
  35483. bx(
  35484. c[M >> 2] | 0,
  35485. w,
  35486. c[J >> 2] | 0,
  35487. c[s >> 2] | 0,
  35488. c[t >> 2] | 0
  35489. ) | 0;
  35490. bx(
  35491. c[N >> 2] | 0,
  35492. x,
  35493. c[K >> 2] | 0,
  35494. c[s >> 2] | 0,
  35495. c[t >> 2] | 0
  35496. ) | 0;
  35497. bx(
  35498. c[O >> 2] | 0,
  35499. y,
  35500. c[q >> 2] | 0,
  35501. c[s >> 2] | 0,
  35502. c[t >> 2] | 0
  35503. ) | 0;
  35504. t = yw(v) | 0;
  35505. v = t & (yw(w) | 0);
  35506. w = v & (yw(x) | 0);
  35507. c[P >> 2] = w & (yw(y) | 0);
  35508. if (c[P >> 2] | 0) {
  35509. c[h >> 2] = c[j >> 2];
  35510. Q = c[h >> 2] | 0;
  35511. l = g;
  35512. return Q | 0;
  35513. } else {
  35514. c[h >> 2] = -20;
  35515. Q = c[h >> 2] | 0;
  35516. l = g;
  35517. return Q | 0;
  35518. }
  35519. return 0;
  35520. }
  35521. function $w() {
  35522. return 0;
  35523. }
  35524. function ax(b, e, f, g) {
  35525. b = b | 0;
  35526. e = e | 0;
  35527. f = f | 0;
  35528. g = g | 0;
  35529. var h = 0,
  35530. i = 0,
  35531. j = 0,
  35532. k = 0,
  35533. m = 0,
  35534. n = 0;
  35535. h = l;
  35536. l = (l + 32) | 0;
  35537. i = (h + 16) | 0;
  35538. j = (h + 12) | 0;
  35539. k = (h + 8) | 0;
  35540. m = (h + 4) | 0;
  35541. n = h;
  35542. c[i >> 2] = b;
  35543. c[j >> 2] = e;
  35544. c[k >> 2] = f;
  35545. c[m >> 2] = g;
  35546. c[n >> 2] = dx(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  35547. m = c[i >> 2] | 0;
  35548. i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
  35549. a[m >> 0] = a[i >> 0] | 0;
  35550. a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
  35551. Gw(
  35552. c[j >> 2] | 0,
  35553. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  35554. );
  35555. l = h;
  35556. return (
  35557. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
  35558. );
  35559. }
  35560. function bx(a, b, d, e, f) {
  35561. a = a | 0;
  35562. b = b | 0;
  35563. d = d | 0;
  35564. e = e | 0;
  35565. f = f | 0;
  35566. var g = 0,
  35567. h = 0,
  35568. i = 0,
  35569. j = 0,
  35570. k = 0,
  35571. m = 0,
  35572. n = 0,
  35573. o = 0,
  35574. p = 0,
  35575. q = 0,
  35576. r = 0,
  35577. s = 0,
  35578. t = 0;
  35579. g = l;
  35580. l = (l + 32) | 0;
  35581. h = (g + 20) | 0;
  35582. i = (g + 16) | 0;
  35583. j = (g + 12) | 0;
  35584. k = (g + 8) | 0;
  35585. m = (g + 4) | 0;
  35586. n = g;
  35587. c[h >> 2] = a;
  35588. c[i >> 2] = b;
  35589. c[j >> 2] = d;
  35590. c[k >> 2] = e;
  35591. c[m >> 2] = f;
  35592. c[n >> 2] = c[h >> 2];
  35593. while (1) {
  35594. if (vw(c[i >> 2] | 0) | 0) break;
  35595. if (
  35596. (c[h >> 2] | 0) >>> 0 >=
  35597. (((c[j >> 2] | 0) + -7) | 0) >>> 0
  35598. )
  35599. break;
  35600. if ($w() | 0) {
  35601. f =
  35602. ax(
  35603. c[h >> 2] | 0,
  35604. c[i >> 2] | 0,
  35605. c[k >> 2] | 0,
  35606. c[m >> 2] | 0
  35607. ) | 0;
  35608. c[h >> 2] = (c[h >> 2] | 0) + f;
  35609. }
  35610. $w() | 0;
  35611. f =
  35612. ax(
  35613. c[h >> 2] | 0,
  35614. c[i >> 2] | 0,
  35615. c[k >> 2] | 0,
  35616. c[m >> 2] | 0
  35617. ) | 0;
  35618. c[h >> 2] = (c[h >> 2] | 0) + f;
  35619. if ($w() | 0) {
  35620. f =
  35621. ax(
  35622. c[h >> 2] | 0,
  35623. c[i >> 2] | 0,
  35624. c[k >> 2] | 0,
  35625. c[m >> 2] | 0
  35626. ) | 0;
  35627. c[h >> 2] = (c[h >> 2] | 0) + f;
  35628. }
  35629. f =
  35630. ax(
  35631. c[h >> 2] | 0,
  35632. c[i >> 2] | 0,
  35633. c[k >> 2] | 0,
  35634. c[m >> 2] | 0
  35635. ) | 0;
  35636. c[h >> 2] = (c[h >> 2] | 0) + f;
  35637. }
  35638. while (1) {
  35639. if (vw(c[i >> 2] | 0) | 0) break;
  35640. if (
  35641. (c[h >> 2] | 0) >>> 0 >
  35642. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  35643. )
  35644. break;
  35645. f =
  35646. ax(
  35647. c[h >> 2] | 0,
  35648. c[i >> 2] | 0,
  35649. c[k >> 2] | 0,
  35650. c[m >> 2] | 0
  35651. ) | 0;
  35652. c[h >> 2] = (c[h >> 2] | 0) + f;
  35653. }
  35654. while (1) {
  35655. o = c[h >> 2] | 0;
  35656. if (
  35657. (c[h >> 2] | 0) >>> 0 >
  35658. (((c[j >> 2] | 0) + -2) | 0) >>> 0
  35659. )
  35660. break;
  35661. f = ax(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  35662. c[h >> 2] = (c[h >> 2] | 0) + f;
  35663. }
  35664. if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
  35665. p = c[h >> 2] | 0;
  35666. q = c[n >> 2] | 0;
  35667. r = p;
  35668. s = q;
  35669. t = (r - s) | 0;
  35670. l = g;
  35671. return t | 0;
  35672. }
  35673. j =
  35674. cx(
  35675. c[h >> 2] | 0,
  35676. c[i >> 2] | 0,
  35677. c[k >> 2] | 0,
  35678. c[m >> 2] | 0
  35679. ) | 0;
  35680. c[h >> 2] = (c[h >> 2] | 0) + j;
  35681. p = c[h >> 2] | 0;
  35682. q = c[n >> 2] | 0;
  35683. r = p;
  35684. s = q;
  35685. t = (r - s) | 0;
  35686. l = g;
  35687. return t | 0;
  35688. }
  35689. function cx(b, e, f, g) {
  35690. b = b | 0;
  35691. e = e | 0;
  35692. f = f | 0;
  35693. g = g | 0;
  35694. var h = 0,
  35695. i = 0,
  35696. j = 0,
  35697. k = 0,
  35698. m = 0,
  35699. n = 0;
  35700. h = l;
  35701. l = (l + 32) | 0;
  35702. i = (h + 16) | 0;
  35703. j = (h + 12) | 0;
  35704. k = (h + 8) | 0;
  35705. m = (h + 4) | 0;
  35706. n = h;
  35707. c[i >> 2] = b;
  35708. c[j >> 2] = e;
  35709. c[k >> 2] = f;
  35710. c[m >> 2] = g;
  35711. c[n >> 2] = dx(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  35712. a[c[i >> 2] >> 0] =
  35713. a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
  35714. i = c[j >> 2] | 0;
  35715. if (
  35716. (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
  35717. 0 |
  35718. 0) ==
  35719. 1
  35720. ) {
  35721. Gw(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
  35722. l = h;
  35723. return 1;
  35724. }
  35725. if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
  35726. l = h;
  35727. return 1;
  35728. }
  35729. Gw(
  35730. c[j >> 2] | 0,
  35731. d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
  35732. );
  35733. if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
  35734. l = h;
  35735. return 1;
  35736. }
  35737. c[((c[j >> 2] | 0) + 4) >> 2] = 32;
  35738. l = h;
  35739. return 1;
  35740. }
  35741. function dx(a, b) {
  35742. a = a | 0;
  35743. b = b | 0;
  35744. var d = 0,
  35745. e = 0,
  35746. f = 0;
  35747. d = l;
  35748. l = (l + 16) | 0;
  35749. e = (d + 8) | 0;
  35750. f = (d + 4) | 0;
  35751. c[e >> 2] = a;
  35752. c[f >> 2] = b;
  35753. c[d >> 2] = 31;
  35754. l = d;
  35755. return (
  35756. ((c[c[e >> 2] >> 2] <<
  35757. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  35758. ((32 - (c[f >> 2] | 0)) & 31)) |
  35759. 0
  35760. );
  35761. }
  35762. function ex(b, e, f, g, h, i, j) {
  35763. b = b | 0;
  35764. e = e | 0;
  35765. f = f | 0;
  35766. g = g | 0;
  35767. h = h | 0;
  35768. i = i | 0;
  35769. j = j | 0;
  35770. var k = 0,
  35771. m = 0,
  35772. n = 0,
  35773. o = 0,
  35774. p = 0,
  35775. q = 0,
  35776. r = 0,
  35777. s = 0,
  35778. t = 0,
  35779. u = 0,
  35780. v = 0,
  35781. w = 0,
  35782. x = 0,
  35783. y = 0,
  35784. z = 0,
  35785. A = 0,
  35786. B = 0,
  35787. C = 0,
  35788. D = 0,
  35789. E = 0,
  35790. F = 0;
  35791. k = l;
  35792. l = (l + 80) | 0;
  35793. m = (k + 68) | 0;
  35794. n = (k + 64) | 0;
  35795. o = (k + 60) | 0;
  35796. p = (k + 56) | 0;
  35797. q = (k + 52) | 0;
  35798. r = (k + 48) | 0;
  35799. s = (k + 44) | 0;
  35800. t = (k + 40) | 0;
  35801. u = (k + 36) | 0;
  35802. v = (k + 32) | 0;
  35803. w = (k + 28) | 0;
  35804. x = (k + 24) | 0;
  35805. y = (k + 20) | 0;
  35806. z = (k + 16) | 0;
  35807. A = (k + 12) | 0;
  35808. B = (k + 8) | 0;
  35809. C = (k + 4) | 0;
  35810. D = k;
  35811. c[n >> 2] = b;
  35812. c[o >> 2] = e;
  35813. c[p >> 2] = f;
  35814. c[q >> 2] = g;
  35815. c[r >> 2] = h;
  35816. c[s >> 2] = i;
  35817. c[t >> 2] = j;
  35818. c[w >> 2] = c[s >> 2];
  35819. if (!(c[t >> 2] | 0)) {
  35820. c[m >> 2] = -72;
  35821. E = c[m >> 2] | 0;
  35822. l = k;
  35823. return E | 0;
  35824. }
  35825. c[x >> 2] = d[c[w >> 2] >> 0];
  35826. s = c[x >> 2] | 0;
  35827. a: do {
  35828. if ((c[x >> 2] | 0) >>> 0 < 128) {
  35829. if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  35830. c[m >> 2] = -72;
  35831. E = c[m >> 2] | 0;
  35832. l = k;
  35833. return E | 0;
  35834. }
  35835. c[y >> 2] =
  35836. jx(
  35837. c[n >> 2] | 0,
  35838. ((c[o >> 2] | 0) - 1) | 0,
  35839. ((c[w >> 2] | 0) + 1) | 0,
  35840. c[x >> 2] | 0
  35841. ) | 0;
  35842. if (Pw(c[y >> 2] | 0) | 0) {
  35843. c[m >> 2] = c[y >> 2];
  35844. E = c[m >> 2] | 0;
  35845. l = k;
  35846. return E | 0;
  35847. }
  35848. } else {
  35849. j = c[x >> 2] | 0;
  35850. if (s >>> 0 >= 242) {
  35851. c[y >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
  35852. oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
  35853. c[x >> 2] = 0;
  35854. break;
  35855. }
  35856. c[y >> 2] = j - 127;
  35857. c[x >> 2] = (((((c[y >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
  35858. if (
  35859. (((c[x >> 2] | 0) + 1) | 0) >>> 0 >
  35860. (c[t >> 2] | 0) >>> 0
  35861. ) {
  35862. c[m >> 2] = -72;
  35863. E = c[m >> 2] | 0;
  35864. l = k;
  35865. return E | 0;
  35866. }
  35867. if ((c[y >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
  35868. c[m >> 2] = -20;
  35869. E = c[m >> 2] | 0;
  35870. l = k;
  35871. return E | 0;
  35872. }
  35873. c[w >> 2] = (c[w >> 2] | 0) + 1;
  35874. c[z >> 2] = 0;
  35875. while (1) {
  35876. if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0)
  35877. break a;
  35878. a[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] =
  35879. (d[
  35880. ((c[w >> 2] | 0) +
  35881. ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
  35882. 0
  35883. ] |
  35884. 0) >>
  35885. 4;
  35886. a[((c[n >> 2] | 0) + ((c[z >> 2] | 0) + 1)) >> 0] =
  35887. (d[
  35888. ((c[w >> 2] | 0) +
  35889. ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
  35890. 0
  35891. ] |
  35892. 0) &
  35893. 15;
  35894. c[z >> 2] = (c[z >> 2] | 0) + 2;
  35895. }
  35896. }
  35897. } while (0);
  35898. w = c[p >> 2] | 0;
  35899. o = (w + 68) | 0;
  35900. do {
  35901. c[w >> 2] = 0;
  35902. w = (w + 4) | 0;
  35903. } while ((w | 0) < (o | 0));
  35904. c[u >> 2] = 0;
  35905. c[z >> 2] = 0;
  35906. while (1) {
  35907. if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0) break;
  35908. if (
  35909. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
  35910. 16
  35911. ) {
  35912. F = 20;
  35913. break;
  35914. }
  35915. w =
  35916. ((c[p >> 2] | 0) +
  35917. ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
  35918. 2)) |
  35919. 0;
  35920. c[w >> 2] = (c[w >> 2] | 0) + 1;
  35921. c[u >> 2] =
  35922. (c[u >> 2] | 0) +
  35923. ((1 <<
  35924. (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
  35925. 1);
  35926. c[z >> 2] = (c[z >> 2] | 0) + 1;
  35927. }
  35928. if ((F | 0) == 20) {
  35929. c[m >> 2] = -20;
  35930. E = c[m >> 2] | 0;
  35931. l = k;
  35932. return E | 0;
  35933. }
  35934. if (!(c[u >> 2] | 0)) {
  35935. c[m >> 2] = -20;
  35936. E = c[m >> 2] | 0;
  35937. l = k;
  35938. return E | 0;
  35939. }
  35940. c[v >> 2] = (Kw(c[u >> 2] | 0) | 0) + 1;
  35941. if ((c[v >> 2] | 0) >>> 0 > 16) {
  35942. c[m >> 2] = -20;
  35943. E = c[m >> 2] | 0;
  35944. l = k;
  35945. return E | 0;
  35946. }
  35947. c[A >> 2] = 1 << c[v >> 2];
  35948. c[B >> 2] = (c[A >> 2] | 0) - (c[u >> 2] | 0);
  35949. c[C >> 2] = 1 << (Kw(c[B >> 2] | 0) | 0);
  35950. c[D >> 2] = (Kw(c[B >> 2] | 0) | 0) + 1;
  35951. if ((c[C >> 2] | 0) != (c[B >> 2] | 0)) {
  35952. c[m >> 2] = -20;
  35953. E = c[m >> 2] | 0;
  35954. l = k;
  35955. return E | 0;
  35956. }
  35957. a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] = c[D >> 2];
  35958. n = ((c[p >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  35959. c[n >> 2] = (c[n >> 2] | 0) + 1;
  35960. if (
  35961. (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
  35962. ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
  35963. : 0
  35964. ) {
  35965. c[c[q >> 2] >> 2] = (c[y >> 2] | 0) + 1;
  35966. c[c[r >> 2] >> 2] = c[v >> 2];
  35967. c[m >> 2] = (c[x >> 2] | 0) + 1;
  35968. E = c[m >> 2] | 0;
  35969. l = k;
  35970. return E | 0;
  35971. }
  35972. c[m >> 2] = -20;
  35973. E = c[m >> 2] | 0;
  35974. l = k;
  35975. return E | 0;
  35976. }
  35977. function fx(e, f, g, h, i, j, k, m) {
  35978. e = e | 0;
  35979. f = f | 0;
  35980. g = g | 0;
  35981. h = h | 0;
  35982. i = i | 0;
  35983. j = j | 0;
  35984. k = k | 0;
  35985. m = m | 0;
  35986. var n = 0,
  35987. o = 0,
  35988. p = 0,
  35989. q = 0,
  35990. r = 0,
  35991. s = 0,
  35992. t = 0,
  35993. u = 0,
  35994. v = 0,
  35995. w = 0,
  35996. x = 0,
  35997. y = 0,
  35998. z = 0,
  35999. A = 0,
  36000. B = 0,
  36001. C = 0,
  36002. D = 0,
  36003. E = 0,
  36004. F = 0,
  36005. G = 0,
  36006. H = 0,
  36007. I = 0,
  36008. J = 0;
  36009. n = l;
  36010. l = (l + 160) | 0;
  36011. o = (n + 140) | 0;
  36012. p = (n + 136) | 0;
  36013. q = (n + 132) | 0;
  36014. r = (n + 128) | 0;
  36015. s = (n + 124) | 0;
  36016. t = (n + 120) | 0;
  36017. u = (n + 116) | 0;
  36018. v = (n + 112) | 0;
  36019. w = n;
  36020. x = (n + 108) | 0;
  36021. y = (n + 104) | 0;
  36022. z = (n + 100) | 0;
  36023. A = (n + 148) | 0;
  36024. B = (n + 96) | 0;
  36025. C = (n + 92) | 0;
  36026. D = (n + 88) | 0;
  36027. E = (n + 84) | 0;
  36028. F = (n + 80) | 0;
  36029. G = (n + 76) | 0;
  36030. H = (n + 72) | 0;
  36031. I = (n + 68) | 0;
  36032. J = (n + 144) | 0;
  36033. c[o >> 2] = e;
  36034. c[p >> 2] = f;
  36035. c[q >> 2] = g;
  36036. c[r >> 2] = h;
  36037. c[s >> 2] = i;
  36038. c[t >> 2] = j;
  36039. c[u >> 2] = k;
  36040. c[v >> 2] = m;
  36041. c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
  36042. c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  36043. u = w;
  36044. m = c[t >> 2] | 0;
  36045. k = (u + 68) | 0;
  36046. do {
  36047. c[u >> 2] = c[m >> 2];
  36048. u = (u + 4) | 0;
  36049. m = (m + 4) | 0;
  36050. } while ((u | 0) < (k | 0));
  36051. c[z >> 2] = 0;
  36052. while (1) {
  36053. if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
  36054. b[A >> 1] =
  36055. d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
  36056. c[B >> 2] =
  36057. d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
  36058. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  36059. c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
  36060. c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
  36061. a: do {
  36062. if (
  36063. (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
  36064. (c[y >> 2] | 0) >>> 0
  36065. ) {
  36066. m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
  36067. c[G >> 2] = m;
  36068. c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
  36069. c[F >> 2] =
  36070. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  36071. gx(
  36072. ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
  36073. ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
  36074. c[C >> 2] | 0,
  36075. ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
  36076. c[G >> 2] | 0,
  36077. ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
  36078. ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
  36079. c[v >> 2] | 0,
  36080. b[A >> 1] | 0
  36081. );
  36082. } else {
  36083. c[I >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
  36084. hx(J, b[A >> 1] | 0);
  36085. a[(J + 2) >> 0] = c[C >> 2];
  36086. a[(J + 3) >> 0] = 1;
  36087. c[H >> 2] = c[D >> 2];
  36088. while (1) {
  36089. if ((c[H >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0)
  36090. break a;
  36091. m = ((c[o >> 2] | 0) + (c[H >> 2] << 2)) | 0;
  36092. b[m >> 1] = b[J >> 1] | 0;
  36093. b[(m + 2) >> 1] = b[(J + 2) >> 1] | 0;
  36094. c[H >> 2] = (c[H >> 2] | 0) + 1;
  36095. }
  36096. }
  36097. } while (0);
  36098. m = (w + (c[B >> 2] << 2)) | 0;
  36099. c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
  36100. c[z >> 2] = (c[z >> 2] | 0) + 1;
  36101. }
  36102. l = n;
  36103. return;
  36104. }
  36105. function gx(f, g, h, i, j, k, m, n, o) {
  36106. f = f | 0;
  36107. g = g | 0;
  36108. h = h | 0;
  36109. i = i | 0;
  36110. j = j | 0;
  36111. k = k | 0;
  36112. m = m | 0;
  36113. n = n | 0;
  36114. o = o | 0;
  36115. var p = 0,
  36116. q = 0,
  36117. r = 0,
  36118. s = 0,
  36119. t = 0,
  36120. u = 0,
  36121. v = 0,
  36122. w = 0,
  36123. x = 0,
  36124. y = 0,
  36125. z = 0,
  36126. A = 0,
  36127. B = 0,
  36128. C = 0,
  36129. D = 0,
  36130. E = 0,
  36131. F = 0,
  36132. G = 0,
  36133. H = 0,
  36134. I = 0,
  36135. J = 0,
  36136. K = 0;
  36137. p = l;
  36138. l = (l + 160) | 0;
  36139. q = (p + 136) | 0;
  36140. r = (p + 132) | 0;
  36141. s = (p + 128) | 0;
  36142. t = (p + 124) | 0;
  36143. u = (p + 120) | 0;
  36144. v = (p + 116) | 0;
  36145. w = (p + 112) | 0;
  36146. x = (p + 108) | 0;
  36147. y = (p + 144) | 0;
  36148. z = (p + 140) | 0;
  36149. A = p;
  36150. B = (p + 104) | 0;
  36151. C = (p + 100) | 0;
  36152. D = (p + 96) | 0;
  36153. E = (p + 92) | 0;
  36154. F = (p + 88) | 0;
  36155. G = (p + 84) | 0;
  36156. H = (p + 80) | 0;
  36157. I = (p + 76) | 0;
  36158. J = (p + 72) | 0;
  36159. K = (p + 68) | 0;
  36160. c[q >> 2] = f;
  36161. c[r >> 2] = g;
  36162. c[s >> 2] = h;
  36163. c[t >> 2] = i;
  36164. c[u >> 2] = j;
  36165. c[v >> 2] = k;
  36166. c[w >> 2] = m;
  36167. c[x >> 2] = n;
  36168. b[y >> 1] = o;
  36169. o = A;
  36170. n = c[t >> 2] | 0;
  36171. t = (o + 68) | 0;
  36172. do {
  36173. c[o >> 2] = c[n >> 2];
  36174. o = (o + 4) | 0;
  36175. n = (n + 4) | 0;
  36176. } while ((o | 0) < (t | 0));
  36177. a: do {
  36178. if ((c[u >> 2] | 0) > 1) {
  36179. c[D >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
  36180. hx(z, b[y >> 1] | 0);
  36181. a[(z + 2) >> 0] = c[s >> 2];
  36182. a[(z + 3) >> 0] = 1;
  36183. c[C >> 2] = 0;
  36184. while (1) {
  36185. if ((c[C >> 2] | 0) >>> 0 >= (c[D >> 2] | 0) >>> 0)
  36186. break a;
  36187. n = ((c[q >> 2] | 0) + (c[C >> 2] << 2)) | 0;
  36188. b[n >> 1] = b[z >> 1] | 0;
  36189. b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
  36190. c[C >> 2] = (c[C >> 2] | 0) + 1;
  36191. }
  36192. }
  36193. } while (0);
  36194. c[B >> 2] = 0;
  36195. while (1) {
  36196. if ((c[B >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  36197. c[E >> 2] = d[((c[v >> 2] | 0) + (c[B >> 2] << 1)) >> 0];
  36198. c[F >> 2] =
  36199. d[((c[v >> 2] | 0) + (c[B >> 2] << 1) + 1) >> 0];
  36200. c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
  36201. c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
  36202. c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
  36203. c[J >> 2] = c[I >> 2];
  36204. c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  36205. hx(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
  36206. a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
  36207. a[(z + 3) >> 0] = 2;
  36208. do {
  36209. C = c[q >> 2] | 0;
  36210. D = c[J >> 2] | 0;
  36211. c[J >> 2] = D + 1;
  36212. u = (C + (D << 2)) | 0;
  36213. b[u >> 1] = b[z >> 1] | 0;
  36214. b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
  36215. } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
  36216. u = (A + (c[F >> 2] << 2)) | 0;
  36217. c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
  36218. c[B >> 2] = (c[B >> 2] | 0) + 1;
  36219. }
  36220. l = p;
  36221. return;
  36222. }
  36223. function hx(d, f) {
  36224. d = d | 0;
  36225. f = f | 0;
  36226. var g = 0,
  36227. h = 0,
  36228. i = 0,
  36229. j = 0;
  36230. g = l;
  36231. l = (l + 16) | 0;
  36232. h = (g + 4) | 0;
  36233. i = (g + 8) | 0;
  36234. j = g;
  36235. c[h >> 2] = d;
  36236. b[i >> 1] = f;
  36237. f = (tr() | 0) != 0;
  36238. d = c[h >> 2] | 0;
  36239. if (f) {
  36240. ix(d, b[i >> 1] | 0);
  36241. l = g;
  36242. return;
  36243. } else {
  36244. c[j >> 2] = d;
  36245. a[c[j >> 2] >> 0] = b[i >> 1];
  36246. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  36247. l = g;
  36248. return;
  36249. }
  36250. }
  36251. function ix(d, e) {
  36252. d = d | 0;
  36253. e = e | 0;
  36254. var f = 0,
  36255. g = 0,
  36256. h = 0;
  36257. f = l;
  36258. l = (l + 16) | 0;
  36259. g = f;
  36260. h = (f + 4) | 0;
  36261. c[g >> 2] = d;
  36262. b[h >> 1] = e;
  36263. e = c[g >> 2] | 0;
  36264. a[e >> 0] = a[h >> 0] | 0;
  36265. a[(e + 1) >> 0] = a[(h + 1) >> 0] | 0;
  36266. l = f;
  36267. return;
  36268. }
  36269. function jx(a, b, d, e) {
  36270. a = a | 0;
  36271. b = b | 0;
  36272. d = d | 0;
  36273. e = e | 0;
  36274. var f = 0,
  36275. g = 0,
  36276. h = 0,
  36277. i = 0,
  36278. j = 0,
  36279. k = 0,
  36280. m = 0,
  36281. n = 0,
  36282. o = 0,
  36283. p = 0,
  36284. q = 0,
  36285. r = 0,
  36286. s = 0,
  36287. t = 0;
  36288. f = l;
  36289. l = (l + 16960) | 0;
  36290. g = (f + 16948) | 0;
  36291. h = (f + 16944) | 0;
  36292. i = (f + 16940) | 0;
  36293. j = (f + 16936) | 0;
  36294. k = (f + 16932) | 0;
  36295. m = (f + 16928) | 0;
  36296. n = (f + 16924) | 0;
  36297. o = (f + 16400) | 0;
  36298. p = f;
  36299. q = (f + 16920) | 0;
  36300. r = (f + 16916) | 0;
  36301. s = (f + 16912) | 0;
  36302. c[h >> 2] = a;
  36303. c[i >> 2] = b;
  36304. c[j >> 2] = d;
  36305. c[k >> 2] = e;
  36306. c[m >> 2] = c[j >> 2];
  36307. c[n >> 2] = c[m >> 2];
  36308. c[r >> 2] = 255;
  36309. if ((c[k >> 2] | 0) >>> 0 < 2) {
  36310. c[g >> 2] = -72;
  36311. t = c[g >> 2] | 0;
  36312. l = f;
  36313. return t | 0;
  36314. }
  36315. c[s >> 2] = Ow(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
  36316. m = (Pw(c[s >> 2] | 0) | 0) != 0;
  36317. j = c[s >> 2] | 0;
  36318. if (m) {
  36319. c[g >> 2] = j;
  36320. t = c[g >> 2] | 0;
  36321. l = f;
  36322. return t | 0;
  36323. }
  36324. if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
  36325. c[g >> 2] = -72;
  36326. t = c[g >> 2] | 0;
  36327. l = f;
  36328. return t | 0;
  36329. }
  36330. c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
  36331. c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
  36332. c[s >> 2] = Qw(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
  36333. if (Pw(c[s >> 2] | 0) | 0) {
  36334. c[g >> 2] = c[s >> 2];
  36335. t = c[g >> 2] | 0;
  36336. l = f;
  36337. return t | 0;
  36338. } else {
  36339. c[g >> 2] =
  36340. kx(
  36341. c[h >> 2] | 0,
  36342. c[i >> 2] | 0,
  36343. c[n >> 2] | 0,
  36344. c[k >> 2] | 0,
  36345. p
  36346. ) | 0;
  36347. t = c[g >> 2] | 0;
  36348. l = f;
  36349. return t | 0;
  36350. }
  36351. return 0;
  36352. }
  36353. function kx(d, f, g, h, i) {
  36354. d = d | 0;
  36355. f = f | 0;
  36356. g = g | 0;
  36357. h = h | 0;
  36358. i = i | 0;
  36359. var j = 0,
  36360. k = 0,
  36361. m = 0,
  36362. n = 0,
  36363. o = 0,
  36364. p = 0,
  36365. q = 0,
  36366. r = 0,
  36367. s = 0,
  36368. t = 0,
  36369. u = 0,
  36370. v = 0,
  36371. w = 0,
  36372. x = 0,
  36373. y = 0,
  36374. z = 0,
  36375. A = 0,
  36376. B = 0,
  36377. C = 0,
  36378. D = 0,
  36379. E = 0,
  36380. F = 0,
  36381. G = 0,
  36382. H = 0,
  36383. I = 0,
  36384. J = 0,
  36385. K = 0,
  36386. L = 0,
  36387. M = 0,
  36388. N = 0,
  36389. O = 0,
  36390. P = 0,
  36391. Q = 0,
  36392. R = 0,
  36393. S = 0,
  36394. T = 0,
  36395. U = 0,
  36396. V = 0,
  36397. W = 0,
  36398. X = 0,
  36399. Y = 0,
  36400. Z = 0,
  36401. _ = 0,
  36402. $ = 0,
  36403. aa = 0,
  36404. ba = 0,
  36405. ca = 0,
  36406. da = 0,
  36407. ea = 0,
  36408. fa = 0,
  36409. ga = 0,
  36410. ha = 0,
  36411. ia = 0;
  36412. j = l;
  36413. l = (l + 192) | 0;
  36414. k = (j + 184) | 0;
  36415. m = (j + 180) | 0;
  36416. n = (j + 176) | 0;
  36417. o = (j + 172) | 0;
  36418. p = (j + 168) | 0;
  36419. q = (j + 164) | 0;
  36420. r = (j + 160) | 0;
  36421. s = (j + 156) | 0;
  36422. t = (j + 152) | 0;
  36423. u = (j + 148) | 0;
  36424. v = (j + 144) | 0;
  36425. w = (j + 128) | 0;
  36426. x = (j + 120) | 0;
  36427. y = (j + 112) | 0;
  36428. z = (j + 108) | 0;
  36429. A = (j + 104) | 0;
  36430. B = (j + 100) | 0;
  36431. C = (j + 96) | 0;
  36432. D = (j + 92) | 0;
  36433. E = (j + 88) | 0;
  36434. F = (j + 84) | 0;
  36435. G = (j + 80) | 0;
  36436. H = (j + 76) | 0;
  36437. I = (j + 72) | 0;
  36438. J = (j + 68) | 0;
  36439. K = (j + 64) | 0;
  36440. L = (j + 48) | 0;
  36441. M = (j + 40) | 0;
  36442. N = (j + 32) | 0;
  36443. O = (j + 28) | 0;
  36444. P = (j + 24) | 0;
  36445. Q = (j + 20) | 0;
  36446. R = (j + 16) | 0;
  36447. S = (j + 12) | 0;
  36448. T = (j + 8) | 0;
  36449. U = (j + 4) | 0;
  36450. V = (j + 188) | 0;
  36451. W = j;
  36452. c[Q >> 2] = d;
  36453. c[R >> 2] = f;
  36454. c[S >> 2] = g;
  36455. c[T >> 2] = h;
  36456. c[U >> 2] = i;
  36457. i = c[U >> 2] | 0;
  36458. b[V >> 1] = b[i >> 1] | 0;
  36459. b[(V + 2) >> 1] = b[(i + 2) >> 1] | 0;
  36460. c[W >> 2] = e[(V + 2) >> 1];
  36461. V = c[Q >> 2] | 0;
  36462. Q = c[R >> 2] | 0;
  36463. R = c[S >> 2] | 0;
  36464. S = c[T >> 2] | 0;
  36465. T = c[U >> 2] | 0;
  36466. if (c[W >> 2] | 0) {
  36467. c[B >> 2] = V;
  36468. c[C >> 2] = Q;
  36469. c[D >> 2] = R;
  36470. c[E >> 2] = S;
  36471. c[F >> 2] = T;
  36472. c[G >> 2] = 1;
  36473. c[H >> 2] = c[B >> 2];
  36474. c[I >> 2] = c[H >> 2];
  36475. c[J >> 2] = (c[I >> 2] | 0) + (c[C >> 2] | 0);
  36476. c[K >> 2] = (c[J >> 2] | 0) + -3;
  36477. c[O >> 2] = tw(L, c[D >> 2] | 0, c[E >> 2] | 0) | 0;
  36478. do {
  36479. if (!(Pw(c[O >> 2] | 0) | 0)) {
  36480. uw(M, L, c[F >> 2] | 0);
  36481. uw(N, L, c[F >> 2] | 0);
  36482. while (1) {
  36483. if (vw(L) | 0) break;
  36484. if ((c[I >> 2] | 0) >>> 0 >= (c[K >> 2] | 0) >>> 0)
  36485. break;
  36486. if (c[G >> 2] | 0) X = (lx(M, L) | 0) & 255;
  36487. else X = (Cw(M, L) | 0) & 255;
  36488. a[c[I >> 2] >> 0] = X;
  36489. if (c[G >> 2] | 0) Y = (lx(N, L) | 0) & 255;
  36490. else Y = (Cw(N, L) | 0) & 255;
  36491. a[((c[I >> 2] | 0) + 1) >> 0] = Y;
  36492. if ((vw(L) | 0) >>> 0 > 0) {
  36493. Z = 14;
  36494. break;
  36495. }
  36496. if (c[G >> 2] | 0) _ = (lx(M, L) | 0) & 255;
  36497. else _ = (Cw(M, L) | 0) & 255;
  36498. a[((c[I >> 2] | 0) + 2) >> 0] = _;
  36499. if (c[G >> 2] | 0) $ = (lx(N, L) | 0) & 255;
  36500. else $ = (Cw(N, L) | 0) & 255;
  36501. a[((c[I >> 2] | 0) + 3) >> 0] = $;
  36502. c[I >> 2] = (c[I >> 2] | 0) + 4;
  36503. }
  36504. if ((Z | 0) == 14) c[I >> 2] = (c[I >> 2] | 0) + 2;
  36505. while (1) {
  36506. if ((vw(L) | 0) >>> 0 > 2) break;
  36507. if ((c[I >> 2] | 0) == (c[J >> 2] | 0)) break;
  36508. if (yw(L) | 0) {
  36509. if (c[G >> 2] | 0) break;
  36510. if (mx(M) | 0) break;
  36511. }
  36512. if (c[G >> 2] | 0) aa = (lx(M, L) | 0) & 255;
  36513. else aa = (Cw(M, L) | 0) & 255;
  36514. E = c[I >> 2] | 0;
  36515. c[I >> 2] = E + 1;
  36516. a[E >> 0] = aa;
  36517. if ((vw(L) | 0) >>> 0 > 2) break;
  36518. if ((c[I >> 2] | 0) == (c[J >> 2] | 0)) break;
  36519. if (yw(L) | 0) {
  36520. if (c[G >> 2] | 0) break;
  36521. if (mx(N) | 0) break;
  36522. }
  36523. if (c[G >> 2] | 0) ba = (lx(N, L) | 0) & 255;
  36524. else ba = (Cw(N, L) | 0) & 255;
  36525. E = c[I >> 2] | 0;
  36526. c[I >> 2] = E + 1;
  36527. a[E >> 0] = ba;
  36528. }
  36529. if ((yw(L) | 0 ? mx(M) | 0 : 0) ? mx(N) | 0 : 0) {
  36530. c[A >> 2] = (c[I >> 2] | 0) - (c[H >> 2] | 0);
  36531. break;
  36532. }
  36533. if ((c[I >> 2] | 0) == (c[J >> 2] | 0)) {
  36534. c[A >> 2] = -70;
  36535. break;
  36536. } else {
  36537. c[A >> 2] = -20;
  36538. break;
  36539. }
  36540. } else c[A >> 2] = c[O >> 2];
  36541. } while (0);
  36542. c[P >> 2] = c[A >> 2];
  36543. ca = c[P >> 2] | 0;
  36544. l = j;
  36545. return ca | 0;
  36546. } else {
  36547. c[m >> 2] = V;
  36548. c[n >> 2] = Q;
  36549. c[o >> 2] = R;
  36550. c[p >> 2] = S;
  36551. c[q >> 2] = T;
  36552. c[r >> 2] = 0;
  36553. c[s >> 2] = c[m >> 2];
  36554. c[t >> 2] = c[s >> 2];
  36555. c[u >> 2] = (c[t >> 2] | 0) + (c[n >> 2] | 0);
  36556. c[v >> 2] = (c[u >> 2] | 0) + -3;
  36557. c[z >> 2] = tw(w, c[o >> 2] | 0, c[p >> 2] | 0) | 0;
  36558. do {
  36559. if (!(Pw(c[z >> 2] | 0) | 0)) {
  36560. uw(x, w, c[q >> 2] | 0);
  36561. uw(y, w, c[q >> 2] | 0);
  36562. while (1) {
  36563. if (vw(w) | 0) break;
  36564. if ((c[t >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0)
  36565. break;
  36566. if (c[r >> 2] | 0) da = (lx(x, w) | 0) & 255;
  36567. else da = (Cw(x, w) | 0) & 255;
  36568. a[c[t >> 2] >> 0] = da;
  36569. if (c[r >> 2] | 0) ea = (lx(y, w) | 0) & 255;
  36570. else ea = (Cw(y, w) | 0) & 255;
  36571. a[((c[t >> 2] | 0) + 1) >> 0] = ea;
  36572. if ((vw(w) | 0) >>> 0 > 0) {
  36573. Z = 60;
  36574. break;
  36575. }
  36576. if (c[r >> 2] | 0) fa = (lx(x, w) | 0) & 255;
  36577. else fa = (Cw(x, w) | 0) & 255;
  36578. a[((c[t >> 2] | 0) + 2) >> 0] = fa;
  36579. if (c[r >> 2] | 0) ga = (lx(y, w) | 0) & 255;
  36580. else ga = (Cw(y, w) | 0) & 255;
  36581. a[((c[t >> 2] | 0) + 3) >> 0] = ga;
  36582. c[t >> 2] = (c[t >> 2] | 0) + 4;
  36583. }
  36584. if ((Z | 0) == 60) c[t >> 2] = (c[t >> 2] | 0) + 2;
  36585. while (1) {
  36586. if ((vw(w) | 0) >>> 0 > 2) break;
  36587. if ((c[t >> 2] | 0) == (c[u >> 2] | 0)) break;
  36588. if (yw(w) | 0) {
  36589. if (c[r >> 2] | 0) break;
  36590. if (mx(x) | 0) break;
  36591. }
  36592. if (c[r >> 2] | 0) ha = (lx(x, w) | 0) & 255;
  36593. else ha = (Cw(x, w) | 0) & 255;
  36594. p = c[t >> 2] | 0;
  36595. c[t >> 2] = p + 1;
  36596. a[p >> 0] = ha;
  36597. if ((vw(w) | 0) >>> 0 > 2) break;
  36598. if ((c[t >> 2] | 0) == (c[u >> 2] | 0)) break;
  36599. if (yw(w) | 0) {
  36600. if (c[r >> 2] | 0) break;
  36601. if (mx(y) | 0) break;
  36602. }
  36603. if (c[r >> 2] | 0) ia = (lx(y, w) | 0) & 255;
  36604. else ia = (Cw(y, w) | 0) & 255;
  36605. p = c[t >> 2] | 0;
  36606. c[t >> 2] = p + 1;
  36607. a[p >> 0] = ia;
  36608. }
  36609. if ((yw(w) | 0 ? mx(x) | 0 : 0) ? mx(y) | 0 : 0) {
  36610. c[k >> 2] = (c[t >> 2] | 0) - (c[s >> 2] | 0);
  36611. break;
  36612. }
  36613. if ((c[t >> 2] | 0) == (c[u >> 2] | 0)) {
  36614. c[k >> 2] = -70;
  36615. break;
  36616. } else {
  36617. c[k >> 2] = -20;
  36618. break;
  36619. }
  36620. } else c[k >> 2] = c[z >> 2];
  36621. } while (0);
  36622. c[P >> 2] = c[k >> 2];
  36623. ca = c[P >> 2] | 0;
  36624. l = j;
  36625. return ca | 0;
  36626. }
  36627. return 0;
  36628. }
  36629. function lx(f, g) {
  36630. f = f | 0;
  36631. g = g | 0;
  36632. var h = 0,
  36633. i = 0,
  36634. j = 0,
  36635. k = 0,
  36636. m = 0,
  36637. n = 0,
  36638. o = 0;
  36639. h = l;
  36640. l = (l + 32) | 0;
  36641. i = (h + 12) | 0;
  36642. j = (h + 8) | 0;
  36643. k = (h + 16) | 0;
  36644. m = (h + 4) | 0;
  36645. n = (h + 20) | 0;
  36646. o = h;
  36647. c[i >> 2] = f;
  36648. c[j >> 2] = g;
  36649. g =
  36650. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  36651. (c[c[i >> 2] >> 2] << 2)) |
  36652. 0;
  36653. b[k >> 1] = b[g >> 1] | 0;
  36654. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  36655. c[m >> 2] = d[(k + 3) >> 0];
  36656. a[n >> 0] = a[(k + 2) >> 0] | 0;
  36657. c[o >> 2] = nx(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  36658. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  36659. l = h;
  36660. return a[n >> 0] | 0;
  36661. }
  36662. function mx(a) {
  36663. a = a | 0;
  36664. var b = 0,
  36665. d = 0;
  36666. b = l;
  36667. l = (l + 16) | 0;
  36668. d = b;
  36669. c[d >> 2] = a;
  36670. l = b;
  36671. return ((c[c[d >> 2] >> 2] | 0) == 0) | 0;
  36672. }
  36673. function nx(a, b) {
  36674. a = a | 0;
  36675. b = b | 0;
  36676. var d = 0,
  36677. e = 0,
  36678. f = 0,
  36679. g = 0;
  36680. d = l;
  36681. l = (l + 16) | 0;
  36682. e = (d + 8) | 0;
  36683. f = (d + 4) | 0;
  36684. g = d;
  36685. c[e >> 2] = a;
  36686. c[f >> 2] = b;
  36687. c[g >> 2] = dx(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  36688. Gw(c[e >> 2] | 0, c[f >> 2] | 0);
  36689. l = d;
  36690. return c[g >> 2] | 0;
  36691. }
  36692. function ox(f, g, h) {
  36693. f = f | 0;
  36694. g = g | 0;
  36695. h = h | 0;
  36696. var i = 0,
  36697. j = 0,
  36698. k = 0,
  36699. m = 0,
  36700. n = 0,
  36701. o = 0,
  36702. p = 0,
  36703. q = 0,
  36704. r = 0,
  36705. s = 0,
  36706. t = 0,
  36707. u = 0,
  36708. v = 0,
  36709. w = 0,
  36710. x = 0,
  36711. y = 0,
  36712. z = 0,
  36713. A = 0,
  36714. B = 0,
  36715. C = 0;
  36716. i = l;
  36717. l = (l + 400) | 0;
  36718. j = (i + 392) | 0;
  36719. k = (i + 388) | 0;
  36720. m = (i + 384) | 0;
  36721. n = (i + 380) | 0;
  36722. o = (i + 80) | 0;
  36723. p = i;
  36724. q = (i + 376) | 0;
  36725. r = (i + 372) | 0;
  36726. s = (i + 368) | 0;
  36727. t = (i + 364) | 0;
  36728. u = (i + 360) | 0;
  36729. v = (i + 356) | 0;
  36730. w = (i + 352) | 0;
  36731. x = (i + 348) | 0;
  36732. y = (i + 344) | 0;
  36733. z = (i + 340) | 0;
  36734. A = (i + 336) | 0;
  36735. B = (i + 396) | 0;
  36736. c[k >> 2] = f;
  36737. c[m >> 2] = g;
  36738. c[n >> 2] = h;
  36739. c[q >> 2] = 0;
  36740. c[s >> 2] = 0;
  36741. c[v >> 2] = (c[k >> 2] | 0) + 2;
  36742. c[w >> 2] = c[v >> 2];
  36743. c[r >> 2] =
  36744. ex(o, 256, p, s, q, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  36745. if (Ww(c[r >> 2] | 0) | 0) {
  36746. c[j >> 2] = c[r >> 2];
  36747. C = c[j >> 2] | 0;
  36748. l = i;
  36749. return C | 0;
  36750. }
  36751. if ((c[q >> 2] | 0) >>> 0 > (e[c[k >> 2] >> 1] | 0) >>> 0) {
  36752. c[j >> 2] = -44;
  36753. C = c[j >> 2] | 0;
  36754. l = i;
  36755. return C | 0;
  36756. }
  36757. b[c[k >> 2] >> 1] = c[q >> 2];
  36758. c[u >> 2] = 0;
  36759. c[t >> 2] = 1;
  36760. while (1) {
  36761. if ((c[t >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
  36762. c[x >> 2] = c[u >> 2];
  36763. c[u >> 2] =
  36764. (c[u >> 2] | 0) +
  36765. (c[(p + (c[t >> 2] << 2)) >> 2] << ((c[t >> 2] | 0) - 1));
  36766. c[(p + (c[t >> 2] << 2)) >> 2] = c[x >> 2];
  36767. c[t >> 2] = (c[t >> 2] | 0) + 1;
  36768. }
  36769. c[t >> 2] = 0;
  36770. while (1) {
  36771. if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  36772. c[y >> 2] = d[(o + (c[t >> 2] | 0)) >> 0];
  36773. c[z >> 2] = (1 << c[y >> 2]) >> 1;
  36774. a[B >> 0] = c[t >> 2];
  36775. a[(B + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[y >> 2] | 0);
  36776. c[A >> 2] = c[(p + (c[y >> 2] << 2)) >> 2];
  36777. while (1) {
  36778. if (
  36779. (c[A >> 2] | 0) >>> 0 >=
  36780. (((c[(p + (c[y >> 2] << 2)) >> 2] | 0) +
  36781. (c[z >> 2] | 0)) |
  36782. 0) >>>
  36783. 0
  36784. )
  36785. break;
  36786. x = ((c[w >> 2] | 0) + (c[A >> 2] << 1)) | 0;
  36787. a[x >> 0] = a[B >> 0] | 0;
  36788. a[(x + 1) >> 0] = a[(B + 1) >> 0] | 0;
  36789. c[A >> 2] = (c[A >> 2] | 0) + 1;
  36790. }
  36791. x = (p + (c[y >> 2] << 2)) | 0;
  36792. c[x >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
  36793. c[t >> 2] = (c[t >> 2] | 0) + 1;
  36794. }
  36795. c[j >> 2] = c[r >> 2];
  36796. C = c[j >> 2] | 0;
  36797. l = i;
  36798. return C | 0;
  36799. }
  36800. function px(b, d, f, g, h) {
  36801. b = b | 0;
  36802. d = d | 0;
  36803. f = f | 0;
  36804. g = g | 0;
  36805. h = h | 0;
  36806. var i = 0,
  36807. j = 0,
  36808. k = 0,
  36809. m = 0,
  36810. n = 0,
  36811. o = 0,
  36812. p = 0,
  36813. q = 0,
  36814. r = 0,
  36815. s = 0,
  36816. t = 0,
  36817. u = 0,
  36818. v = 0,
  36819. w = 0,
  36820. x = 0,
  36821. y = 0,
  36822. z = 0,
  36823. A = 0,
  36824. B = 0,
  36825. C = 0,
  36826. D = 0,
  36827. E = 0,
  36828. F = 0,
  36829. G = 0,
  36830. H = 0,
  36831. I = 0,
  36832. J = 0,
  36833. K = 0,
  36834. L = 0,
  36835. M = 0,
  36836. N = 0,
  36837. O = 0,
  36838. P = 0,
  36839. Q = 0,
  36840. R = 0,
  36841. S = 0;
  36842. i = l;
  36843. l = (l + 192) | 0;
  36844. j = (i + 184) | 0;
  36845. k = (i + 180) | 0;
  36846. m = (i + 176) | 0;
  36847. n = (i + 172) | 0;
  36848. o = (i + 168) | 0;
  36849. p = (i + 164) | 0;
  36850. q = (i + 160) | 0;
  36851. r = (i + 156) | 0;
  36852. s = (i + 152) | 0;
  36853. t = (i + 148) | 0;
  36854. u = (i + 144) | 0;
  36855. v = (i + 140) | 0;
  36856. w = (i + 136) | 0;
  36857. x = (i + 120) | 0;
  36858. y = (i + 104) | 0;
  36859. z = (i + 88) | 0;
  36860. A = (i + 72) | 0;
  36861. B = (i + 64) | 0;
  36862. C = (i + 60) | 0;
  36863. D = (i + 56) | 0;
  36864. E = (i + 52) | 0;
  36865. F = (i + 48) | 0;
  36866. G = (i + 44) | 0;
  36867. H = (i + 40) | 0;
  36868. I = (i + 36) | 0;
  36869. J = (i + 32) | 0;
  36870. K = (i + 28) | 0;
  36871. L = (i + 24) | 0;
  36872. M = (i + 20) | 0;
  36873. N = (i + 16) | 0;
  36874. O = (i + 12) | 0;
  36875. P = (i + 8) | 0;
  36876. Q = (i + 4) | 0;
  36877. R = i;
  36878. c[k >> 2] = b;
  36879. c[m >> 2] = d;
  36880. c[n >> 2] = f;
  36881. c[o >> 2] = g;
  36882. c[p >> 2] = h;
  36883. if ((c[o >> 2] | 0) >>> 0 < 10) {
  36884. c[j >> 2] = -20;
  36885. S = c[j >> 2] | 0;
  36886. l = i;
  36887. return S | 0;
  36888. }
  36889. c[q >> 2] = c[n >> 2];
  36890. c[r >> 2] = c[k >> 2];
  36891. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  36892. c[t >> 2] = c[p >> 2];
  36893. c[u >> 2] = (c[t >> 2] | 0) + 2;
  36894. c[v >> 2] = e[c[p >> 2] >> 1];
  36895. c[B >> 2] = (Lw(c[q >> 2] | 0) | 0) & 65535;
  36896. c[C >> 2] = (Lw(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
  36897. c[D >> 2] = (Lw(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
  36898. c[F >> 2] = (c[q >> 2] | 0) + 6;
  36899. c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
  36900. c[H >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
  36901. c[I >> 2] = (c[H >> 2] | 0) + (c[D >> 2] | 0);
  36902. c[J >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  36903. c[K >> 2] = (c[r >> 2] | 0) + (c[J >> 2] | 0);
  36904. c[L >> 2] = (c[K >> 2] | 0) + (c[J >> 2] | 0);
  36905. c[M >> 2] = (c[L >> 2] | 0) + (c[J >> 2] | 0);
  36906. c[N >> 2] = c[r >> 2];
  36907. c[O >> 2] = c[K >> 2];
  36908. c[P >> 2] = c[L >> 2];
  36909. c[Q >> 2] = c[M >> 2];
  36910. c[E >> 2] =
  36911. (c[o >> 2] | 0) -
  36912. ((c[B >> 2] | 0) + (c[C >> 2] | 0) + (c[D >> 2] | 0) + 6);
  36913. if ((c[E >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  36914. c[j >> 2] = -20;
  36915. S = c[j >> 2] | 0;
  36916. l = i;
  36917. return S | 0;
  36918. }
  36919. c[w >> 2] = tw(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
  36920. if (Ww(c[w >> 2] | 0) | 0) {
  36921. c[j >> 2] = c[w >> 2];
  36922. S = c[j >> 2] | 0;
  36923. l = i;
  36924. return S | 0;
  36925. }
  36926. c[w >> 2] = tw(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
  36927. if (Ww(c[w >> 2] | 0) | 0) {
  36928. c[j >> 2] = c[w >> 2];
  36929. S = c[j >> 2] | 0;
  36930. l = i;
  36931. return S | 0;
  36932. }
  36933. c[w >> 2] = tw(z, c[H >> 2] | 0, c[D >> 2] | 0) | 0;
  36934. if (Ww(c[w >> 2] | 0) | 0) {
  36935. c[j >> 2] = c[w >> 2];
  36936. S = c[j >> 2] | 0;
  36937. l = i;
  36938. return S | 0;
  36939. }
  36940. c[w >> 2] = tw(A, c[I >> 2] | 0, c[E >> 2] | 0) | 0;
  36941. if (Ww(c[w >> 2] | 0) | 0) {
  36942. c[j >> 2] = c[w >> 2];
  36943. S = c[j >> 2] | 0;
  36944. l = i;
  36945. return S | 0;
  36946. }
  36947. w = vw(x) | 0;
  36948. E = w | (vw(y) | 0);
  36949. w = E | (vw(z) | 0);
  36950. c[R >> 2] = w | (vw(A) | 0);
  36951. while (1) {
  36952. if (c[R >> 2] | 0) break;
  36953. if (
  36954. (c[Q >> 2] | 0) >>> 0 >=
  36955. (((c[s >> 2] | 0) + -7) | 0) >>> 0
  36956. )
  36957. break;
  36958. if ($w() | 0) {
  36959. w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36960. E = c[N >> 2] | 0;
  36961. c[N >> 2] = E + 1;
  36962. a[E >> 0] = w;
  36963. }
  36964. if ($w() | 0) {
  36965. w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36966. E = c[O >> 2] | 0;
  36967. c[O >> 2] = E + 1;
  36968. a[E >> 0] = w;
  36969. }
  36970. if ($w() | 0) {
  36971. w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36972. E = c[P >> 2] | 0;
  36973. c[P >> 2] = E + 1;
  36974. a[E >> 0] = w;
  36975. }
  36976. if ($w() | 0) {
  36977. w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36978. E = c[Q >> 2] | 0;
  36979. c[Q >> 2] = E + 1;
  36980. a[E >> 0] = w;
  36981. }
  36982. $w() | 0;
  36983. w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36984. E = c[N >> 2] | 0;
  36985. c[N >> 2] = E + 1;
  36986. a[E >> 0] = w;
  36987. $w() | 0;
  36988. w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36989. E = c[O >> 2] | 0;
  36990. c[O >> 2] = E + 1;
  36991. a[E >> 0] = w;
  36992. $w() | 0;
  36993. w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36994. E = c[P >> 2] | 0;
  36995. c[P >> 2] = E + 1;
  36996. a[E >> 0] = w;
  36997. $w() | 0;
  36998. w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  36999. E = c[Q >> 2] | 0;
  37000. c[Q >> 2] = E + 1;
  37001. a[E >> 0] = w;
  37002. if ($w() | 0) {
  37003. w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37004. E = c[N >> 2] | 0;
  37005. c[N >> 2] = E + 1;
  37006. a[E >> 0] = w;
  37007. }
  37008. if ($w() | 0) {
  37009. w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37010. E = c[O >> 2] | 0;
  37011. c[O >> 2] = E + 1;
  37012. a[E >> 0] = w;
  37013. }
  37014. if ($w() | 0) {
  37015. w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37016. E = c[P >> 2] | 0;
  37017. c[P >> 2] = E + 1;
  37018. a[E >> 0] = w;
  37019. }
  37020. if ($w() | 0) {
  37021. w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37022. E = c[Q >> 2] | 0;
  37023. c[Q >> 2] = E + 1;
  37024. a[E >> 0] = w;
  37025. }
  37026. w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37027. E = c[N >> 2] | 0;
  37028. c[N >> 2] = E + 1;
  37029. a[E >> 0] = w;
  37030. w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37031. E = c[O >> 2] | 0;
  37032. c[O >> 2] = E + 1;
  37033. a[E >> 0] = w;
  37034. w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37035. E = c[P >> 2] | 0;
  37036. c[P >> 2] = E + 1;
  37037. a[E >> 0] = w;
  37038. w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
  37039. E = c[Q >> 2] | 0;
  37040. c[Q >> 2] = E + 1;
  37041. a[E >> 0] = w;
  37042. w = vw(x) | 0;
  37043. E = w | (vw(y) | 0);
  37044. w = E | (vw(z) | 0);
  37045. c[R >> 2] = w | (vw(A) | 0);
  37046. }
  37047. if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  37048. c[j >> 2] = -20;
  37049. S = c[j >> 2] | 0;
  37050. l = i;
  37051. return S | 0;
  37052. }
  37053. if ((c[O >> 2] | 0) >>> 0 > (c[L >> 2] | 0) >>> 0) {
  37054. c[j >> 2] = -20;
  37055. S = c[j >> 2] | 0;
  37056. l = i;
  37057. return S | 0;
  37058. }
  37059. if ((c[P >> 2] | 0) >>> 0 > (c[M >> 2] | 0) >>> 0) {
  37060. c[j >> 2] = -20;
  37061. S = c[j >> 2] | 0;
  37062. l = i;
  37063. return S | 0;
  37064. }
  37065. rx(
  37066. c[N >> 2] | 0,
  37067. x,
  37068. c[K >> 2] | 0,
  37069. c[u >> 2] | 0,
  37070. c[v >> 2] | 0
  37071. ) | 0;
  37072. rx(
  37073. c[O >> 2] | 0,
  37074. y,
  37075. c[L >> 2] | 0,
  37076. c[u >> 2] | 0,
  37077. c[v >> 2] | 0
  37078. ) | 0;
  37079. rx(
  37080. c[P >> 2] | 0,
  37081. z,
  37082. c[M >> 2] | 0,
  37083. c[u >> 2] | 0,
  37084. c[v >> 2] | 0
  37085. ) | 0;
  37086. rx(
  37087. c[Q >> 2] | 0,
  37088. A,
  37089. c[s >> 2] | 0,
  37090. c[u >> 2] | 0,
  37091. c[v >> 2] | 0
  37092. ) | 0;
  37093. v = yw(x) | 0;
  37094. x = v & (yw(y) | 0);
  37095. y = x & (yw(z) | 0);
  37096. c[R >> 2] = y & (yw(A) | 0);
  37097. if (c[R >> 2] | 0) {
  37098. c[j >> 2] = c[m >> 2];
  37099. S = c[j >> 2] | 0;
  37100. l = i;
  37101. return S | 0;
  37102. } else {
  37103. c[j >> 2] = -20;
  37104. S = c[j >> 2] | 0;
  37105. l = i;
  37106. return S | 0;
  37107. }
  37108. return 0;
  37109. }
  37110. function qx(b, e, f) {
  37111. b = b | 0;
  37112. e = e | 0;
  37113. f = f | 0;
  37114. var g = 0,
  37115. h = 0,
  37116. i = 0,
  37117. j = 0,
  37118. k = 0,
  37119. m = 0;
  37120. g = l;
  37121. l = (l + 32) | 0;
  37122. h = (g + 12) | 0;
  37123. i = (g + 8) | 0;
  37124. j = (g + 4) | 0;
  37125. k = g;
  37126. m = (g + 16) | 0;
  37127. c[h >> 2] = b;
  37128. c[i >> 2] = e;
  37129. c[j >> 2] = f;
  37130. c[k >> 2] = dx(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
  37131. a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
  37132. Gw(
  37133. c[h >> 2] | 0,
  37134. d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
  37135. );
  37136. l = g;
  37137. return a[m >> 0] | 0;
  37138. }
  37139. function rx(b, d, e, f, g) {
  37140. b = b | 0;
  37141. d = d | 0;
  37142. e = e | 0;
  37143. f = f | 0;
  37144. g = g | 0;
  37145. var h = 0,
  37146. i = 0,
  37147. j = 0,
  37148. k = 0,
  37149. m = 0,
  37150. n = 0,
  37151. o = 0;
  37152. h = l;
  37153. l = (l + 32) | 0;
  37154. i = (h + 20) | 0;
  37155. j = (h + 16) | 0;
  37156. k = (h + 12) | 0;
  37157. m = (h + 8) | 0;
  37158. n = (h + 4) | 0;
  37159. o = h;
  37160. c[i >> 2] = b;
  37161. c[j >> 2] = d;
  37162. c[k >> 2] = e;
  37163. c[m >> 2] = f;
  37164. c[n >> 2] = g;
  37165. c[o >> 2] = c[i >> 2];
  37166. while (1) {
  37167. if (vw(c[j >> 2] | 0) | 0) break;
  37168. if (
  37169. (c[i >> 2] | 0) >>> 0 >
  37170. (((c[k >> 2] | 0) + -4) | 0) >>> 0
  37171. )
  37172. break;
  37173. if ($w() | 0) {
  37174. g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37175. f = c[i >> 2] | 0;
  37176. c[i >> 2] = f + 1;
  37177. a[f >> 0] = g;
  37178. }
  37179. $w() | 0;
  37180. g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37181. f = c[i >> 2] | 0;
  37182. c[i >> 2] = f + 1;
  37183. a[f >> 0] = g;
  37184. if ($w() | 0) {
  37185. g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37186. f = c[i >> 2] | 0;
  37187. c[i >> 2] = f + 1;
  37188. a[f >> 0] = g;
  37189. }
  37190. g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37191. f = c[i >> 2] | 0;
  37192. c[i >> 2] = f + 1;
  37193. a[f >> 0] = g;
  37194. }
  37195. while (1) {
  37196. if (vw(c[j >> 2] | 0) | 0) break;
  37197. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  37198. g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37199. f = c[i >> 2] | 0;
  37200. c[i >> 2] = f + 1;
  37201. a[f >> 0] = g;
  37202. }
  37203. while (1) {
  37204. if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  37205. g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37206. f = c[i >> 2] | 0;
  37207. c[i >> 2] = f + 1;
  37208. a[f >> 0] = g;
  37209. }
  37210. l = h;
  37211. return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
  37212. }
  37213. function sx(a, b, e) {
  37214. a = a | 0;
  37215. b = b | 0;
  37216. e = e | 0;
  37217. var f = 0,
  37218. g = 0,
  37219. h = 0,
  37220. i = 0,
  37221. j = 0,
  37222. k = 0,
  37223. m = 0;
  37224. f = l;
  37225. l = (l + 32) | 0;
  37226. g = (f + 16) | 0;
  37227. h = (f + 12) | 0;
  37228. i = (f + 8) | 0;
  37229. j = (f + 4) | 0;
  37230. k = f;
  37231. c[h >> 2] = a;
  37232. c[i >> 2] = b;
  37233. c[j >> 2] = e;
  37234. if ((c[j >> 2] | 0) >>> 0 < 5) {
  37235. c[g >> 2] = 5;
  37236. m = c[g >> 2] | 0;
  37237. l = f;
  37238. return m | 0;
  37239. }
  37240. c[k >> 2] = pr(c[i >> 2] | 0) | 0;
  37241. if ((c[k >> 2] | 0) != -47205084) {
  37242. c[g >> 2] = -10;
  37243. m = c[g >> 2] | 0;
  37244. l = f;
  37245. return m | 0;
  37246. }
  37247. k = c[h >> 2] | 0;
  37248. c[k >> 2] = 0;
  37249. c[(k + 4) >> 2] = 0;
  37250. c[(k + 8) >> 2] = 0;
  37251. c[(k + 12) >> 2] = 0;
  37252. c[(k + 16) >> 2] = 0;
  37253. c[(k + 20) >> 2] = 0;
  37254. c[(k + 24) >> 2] = 0;
  37255. c[(k + 28) >> 2] = 0;
  37256. c[((c[h >> 2] | 0) + 8) >> 2] =
  37257. ((d[((c[i >> 2] | 0) + 4) >> 0] | 0) & 15) + 11;
  37258. if (((d[((c[i >> 2] | 0) + 4) >> 0] | 0) >> 4) | 0) {
  37259. c[g >> 2] = -14;
  37260. m = c[g >> 2] | 0;
  37261. l = f;
  37262. return m | 0;
  37263. } else {
  37264. c[g >> 2] = 0;
  37265. m = c[g >> 2] | 0;
  37266. l = f;
  37267. return m | 0;
  37268. }
  37269. return 0;
  37270. }
  37271. function tx(a, b, d, e, f) {
  37272. a = a | 0;
  37273. b = b | 0;
  37274. d = d | 0;
  37275. e = e | 0;
  37276. f = f | 0;
  37277. var g = 0,
  37278. h = 0,
  37279. i = 0,
  37280. j = 0,
  37281. k = 0,
  37282. m = 0;
  37283. g = l;
  37284. l = (l + 32) | 0;
  37285. h = (g + 16) | 0;
  37286. i = (g + 12) | 0;
  37287. j = (g + 8) | 0;
  37288. k = (g + 4) | 0;
  37289. m = g;
  37290. c[h >> 2] = a;
  37291. c[i >> 2] = b;
  37292. c[j >> 2] = d;
  37293. c[k >> 2] = e;
  37294. c[m >> 2] = f;
  37295. f =
  37296. Zr(
  37297. c[h >> 2] | 0,
  37298. c[i >> 2] | 0,
  37299. c[j >> 2] | 0,
  37300. c[k >> 2] | 0,
  37301. c[m >> 2] | 0,
  37302. 0,
  37303. 0
  37304. ) | 0;
  37305. l = g;
  37306. return f | 0;
  37307. }
  37308. function ux(a, b, d, e) {
  37309. a = a | 0;
  37310. b = b | 0;
  37311. d = d | 0;
  37312. e = e | 0;
  37313. var f = 0,
  37314. g = 0,
  37315. h = 0,
  37316. i = 0,
  37317. j = 0,
  37318. k = 0,
  37319. m = 0,
  37320. n = 0,
  37321. o = 0;
  37322. f = l;
  37323. l = (l + 32) | 0;
  37324. g = (f + 24) | 0;
  37325. h = (f + 20) | 0;
  37326. i = (f + 16) | 0;
  37327. j = (f + 12) | 0;
  37328. k = (f + 8) | 0;
  37329. m = (f + 4) | 0;
  37330. n = f;
  37331. c[h >> 2] = a;
  37332. c[i >> 2] = b;
  37333. c[j >> 2] = d;
  37334. c[k >> 2] = e;
  37335. c[n >> 2] = Wp() | 0;
  37336. if (!(c[n >> 2] | 0)) {
  37337. c[g >> 2] = -64;
  37338. o = c[g >> 2] | 0;
  37339. l = f;
  37340. return o | 0;
  37341. } else {
  37342. c[m >> 2] =
  37343. tx(
  37344. c[n >> 2] | 0,
  37345. c[h >> 2] | 0,
  37346. c[i >> 2] | 0,
  37347. c[j >> 2] | 0,
  37348. c[k >> 2] | 0
  37349. ) | 0;
  37350. Xp(c[n >> 2] | 0) | 0;
  37351. c[g >> 2] = c[m >> 2];
  37352. o = c[g >> 2] | 0;
  37353. l = f;
  37354. return o | 0;
  37355. }
  37356. return 0;
  37357. }
  37358. function vx(a) {
  37359. a = a | 0;
  37360. var b = 0,
  37361. d = 0;
  37362. b = l;
  37363. l = (l + 16) | 0;
  37364. d = b;
  37365. c[d >> 2] = a;
  37366. l = b;
  37367. return c[((c[d >> 2] | 0) + 28744) >> 2] | 0;
  37368. }
  37369. function wx(a) {
  37370. a = a | 0;
  37371. var b = 0,
  37372. d = 0,
  37373. e = 0;
  37374. b = l;
  37375. l = (l + 16) | 0;
  37376. d = (b + 4) | 0;
  37377. e = b;
  37378. c[e >> 2] = a;
  37379. switch (c[((c[e >> 2] | 0) + 28804) >> 2] | 0) {
  37380. case 6:
  37381. case 7: {
  37382. c[d >> 2] = 5;
  37383. break;
  37384. }
  37385. case 2: {
  37386. c[d >> 2] = 1;
  37387. break;
  37388. }
  37389. case 3: {
  37390. c[d >> 2] = 2;
  37391. break;
  37392. }
  37393. case 4: {
  37394. c[d >> 2] = 3;
  37395. break;
  37396. }
  37397. case 5: {
  37398. c[d >> 2] = 4;
  37399. break;
  37400. }
  37401. default:
  37402. c[d >> 2] = 0;
  37403. }
  37404. l = b;
  37405. return c[d >> 2] | 0;
  37406. }
  37407. function xx(a, b, d, e, f) {
  37408. a = a | 0;
  37409. b = b | 0;
  37410. d = d | 0;
  37411. e = e | 0;
  37412. f = f | 0;
  37413. var g = 0,
  37414. h = 0,
  37415. i = 0,
  37416. j = 0,
  37417. k = 0,
  37418. m = 0,
  37419. n = 0,
  37420. o = 0,
  37421. p = 0,
  37422. q = 0,
  37423. r = 0,
  37424. s = 0,
  37425. t = 0,
  37426. u = 0;
  37427. g = l;
  37428. l = (l + 64) | 0;
  37429. h = (g + 52) | 0;
  37430. i = (g + 48) | 0;
  37431. j = (g + 44) | 0;
  37432. k = (g + 40) | 0;
  37433. m = (g + 36) | 0;
  37434. n = (g + 32) | 0;
  37435. o = (g + 28) | 0;
  37436. p = (g + 16) | 0;
  37437. q = (g + 12) | 0;
  37438. r = (g + 8) | 0;
  37439. s = (g + 4) | 0;
  37440. t = g;
  37441. c[i >> 2] = a;
  37442. c[j >> 2] = b;
  37443. c[k >> 2] = d;
  37444. c[m >> 2] = e;
  37445. c[n >> 2] = f;
  37446. if (
  37447. (c[n >> 2] | 0) !=
  37448. (c[((c[i >> 2] | 0) + 28744) >> 2] | 0)
  37449. ) {
  37450. c[h >> 2] = -72;
  37451. u = c[h >> 2] | 0;
  37452. l = g;
  37453. return u | 0;
  37454. }
  37455. if (c[k >> 2] | 0) Br(c[i >> 2] | 0, c[j >> 2] | 0);
  37456. switch (c[((c[i >> 2] | 0) + 28804) >> 2] | 0) {
  37457. case 0: {
  37458. if (
  37459. (c[((c[i >> 2] | 0) + 28912) >> 2] | 0) == 0
  37460. ? (((hq(c[m >> 2] | 0) | 0) & -16) | 0) == 407710288
  37461. : 0
  37462. ) {
  37463. mE(
  37464. ((c[i >> 2] | 0) + 160092) | 0,
  37465. c[m >> 2] | 0,
  37466. c[n >> 2] | 0
  37467. ) | 0;
  37468. c[((c[i >> 2] | 0) + 28744) >> 2] = 8 - (c[n >> 2] | 0);
  37469. c[((c[i >> 2] | 0) + 28804) >> 2] = 6;
  37470. c[h >> 2] = 0;
  37471. u = c[h >> 2] | 0;
  37472. l = g;
  37473. return u | 0;
  37474. }
  37475. f =
  37476. nq(
  37477. c[m >> 2] | 0,
  37478. c[n >> 2] | 0,
  37479. c[((c[i >> 2] | 0) + 28912) >> 2] | 0
  37480. ) | 0;
  37481. c[((c[i >> 2] | 0) + 28904) >> 2] = f;
  37482. f = ($q(c[((c[i >> 2] | 0) + 28904) >> 2] | 0) | 0) != 0;
  37483. e = c[i >> 2] | 0;
  37484. if (f) {
  37485. c[h >> 2] = c[(e + 28904) >> 2];
  37486. u = c[h >> 2] | 0;
  37487. l = g;
  37488. return u | 0;
  37489. } else {
  37490. mE((e + 160092) | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  37491. c[((c[i >> 2] | 0) + 28744) >> 2] =
  37492. (c[((c[i >> 2] | 0) + 28904) >> 2] | 0) -
  37493. (c[n >> 2] | 0);
  37494. c[((c[i >> 2] | 0) + 28804) >> 2] = 1;
  37495. c[h >> 2] = 0;
  37496. u = c[h >> 2] | 0;
  37497. l = g;
  37498. return u | 0;
  37499. }
  37500. break;
  37501. }
  37502. case 1: {
  37503. mE(
  37504. ((c[i >> 2] | 0) +
  37505. 160092 +
  37506. ((c[((c[i >> 2] | 0) + 28904) >> 2] | 0) -
  37507. (c[n >> 2] | 0))) |
  37508. 0,
  37509. c[m >> 2] | 0,
  37510. c[n >> 2] | 0
  37511. ) | 0;
  37512. c[o >> 2] =
  37513. fs(
  37514. c[i >> 2] | 0,
  37515. ((c[i >> 2] | 0) + 160092) | 0,
  37516. c[((c[i >> 2] | 0) + 28904) >> 2] | 0
  37517. ) | 0;
  37518. if ($q(c[o >> 2] | 0) | 0) {
  37519. c[h >> 2] = c[o >> 2];
  37520. u = c[h >> 2] | 0;
  37521. l = g;
  37522. return u | 0;
  37523. } else {
  37524. c[((c[i >> 2] | 0) + 28744) >> 2] = 3;
  37525. c[((c[i >> 2] | 0) + 28804) >> 2] = 2;
  37526. c[h >> 2] = 0;
  37527. u = c[h >> 2] | 0;
  37528. l = g;
  37529. return u | 0;
  37530. }
  37531. break;
  37532. }
  37533. case 2: {
  37534. c[q >> 2] = br(c[m >> 2] | 0, 3, p) | 0;
  37535. o = ($q(c[q >> 2] | 0) | 0) != 0;
  37536. e = c[q >> 2] | 0;
  37537. if (o) {
  37538. c[h >> 2] = e;
  37539. u = c[h >> 2] | 0;
  37540. l = g;
  37541. return u | 0;
  37542. }
  37543. c[((c[i >> 2] | 0) + 28744) >> 2] = e;
  37544. c[((c[i >> 2] | 0) + 28800) >> 2] = c[p >> 2];
  37545. c[((c[i >> 2] | 0) + 28936) >> 2] = c[(p + 8) >> 2];
  37546. e = (c[(p + 4) >> 2] | 0) != 0;
  37547. if (c[q >> 2] | 0) {
  37548. c[((c[i >> 2] | 0) + 28804) >> 2] = e ? 4 : 3;
  37549. c[h >> 2] = 0;
  37550. u = c[h >> 2] | 0;
  37551. l = g;
  37552. return u | 0;
  37553. }
  37554. q = c[i >> 2] | 0;
  37555. do {
  37556. if (e) {
  37557. p = ((c[i >> 2] | 0) + 28744) | 0;
  37558. if (c[(q + 28752 + 32) >> 2] | 0) {
  37559. c[p >> 2] = 4;
  37560. c[((c[i >> 2] | 0) + 28804) >> 2] = 5;
  37561. break;
  37562. } else {
  37563. c[p >> 2] = 0;
  37564. c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
  37565. break;
  37566. }
  37567. } else {
  37568. c[(q + 28744) >> 2] = 3;
  37569. c[((c[i >> 2] | 0) + 28804) >> 2] = 2;
  37570. }
  37571. } while (0);
  37572. c[h >> 2] = 0;
  37573. u = c[h >> 2] | 0;
  37574. l = g;
  37575. return u | 0;
  37576. }
  37577. case 3:
  37578. case 4: {
  37579. switch (c[((c[i >> 2] | 0) + 28800) >> 2] | 0) {
  37580. case 2: {
  37581. c[r >> 2] =
  37582. Cr(
  37583. c[i >> 2] | 0,
  37584. c[j >> 2] | 0,
  37585. c[k >> 2] | 0,
  37586. c[m >> 2] | 0,
  37587. c[n >> 2] | 0,
  37588. 1
  37589. ) | 0;
  37590. break;
  37591. }
  37592. case 0: {
  37593. c[r >> 2] =
  37594. gs(
  37595. c[j >> 2] | 0,
  37596. c[k >> 2] | 0,
  37597. c[m >> 2] | 0,
  37598. c[n >> 2] | 0
  37599. ) | 0;
  37600. break;
  37601. }
  37602. case 1: {
  37603. c[r >> 2] =
  37604. yx(
  37605. c[j >> 2] | 0,
  37606. c[k >> 2] | 0,
  37607. c[m >> 2] | 0,
  37608. c[n >> 2] | 0,
  37609. c[((c[i >> 2] | 0) + 28936) >> 2] | 0
  37610. ) | 0;
  37611. break;
  37612. }
  37613. default: {
  37614. c[h >> 2] = -20;
  37615. u = c[h >> 2] | 0;
  37616. l = g;
  37617. return u | 0;
  37618. }
  37619. }
  37620. k = ($q(c[r >> 2] | 0) | 0) != 0;
  37621. q = c[r >> 2] | 0;
  37622. if (k) {
  37623. c[h >> 2] = q;
  37624. u = c[h >> 2] | 0;
  37625. l = g;
  37626. return u | 0;
  37627. }
  37628. k = ((c[i >> 2] | 0) + 28792) | 0;
  37629. e = k;
  37630. p = k;
  37631. c[p >> 2] =
  37632. dE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, q | 0, 0) | 0;
  37633. c[(p + 4) >> 2] = y;
  37634. if (c[((c[i >> 2] | 0) + 28752 + 32) >> 2] | 0)
  37635. Nh(
  37636. ((c[i >> 2] | 0) + 28816) | 0,
  37637. c[j >> 2] | 0,
  37638. c[r >> 2] | 0
  37639. ) | 0;
  37640. p = c[i >> 2] | 0;
  37641. do {
  37642. if ((c[((c[i >> 2] | 0) + 28804) >> 2] | 0) == 4) {
  37643. q = (p + 28752) | 0;
  37644. if (
  37645. (
  37646. (c[q >> 2] | 0) != -1
  37647. ? 1
  37648. : (c[(q + 4) >> 2] | 0) != -1
  37649. )
  37650. ? ((q = ((c[i >> 2] | 0) + 28792) | 0),
  37651. (e = ((c[i >> 2] | 0) + 28752) | 0),
  37652. (c[q >> 2] | 0) != (c[e >> 2] | 0)
  37653. ? 1
  37654. : (c[(q + 4) >> 2] | 0) !=
  37655. (c[(e + 4) >> 2] | 0))
  37656. : 0
  37657. ) {
  37658. c[h >> 2] = -20;
  37659. u = c[h >> 2] | 0;
  37660. l = g;
  37661. return u | 0;
  37662. }
  37663. e = ((c[i >> 2] | 0) + 28744) | 0;
  37664. if (c[((c[i >> 2] | 0) + 28752 + 32) >> 2] | 0) {
  37665. c[e >> 2] = 4;
  37666. c[((c[i >> 2] | 0) + 28804) >> 2] = 5;
  37667. break;
  37668. } else {
  37669. c[e >> 2] = 0;
  37670. c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
  37671. break;
  37672. }
  37673. } else {
  37674. c[(p + 28804) >> 2] = 2;
  37675. c[((c[i >> 2] | 0) + 28744) >> 2] = 3;
  37676. c[((c[i >> 2] | 0) + 28728) >> 2] =
  37677. (c[j >> 2] | 0) + (c[r >> 2] | 0);
  37678. }
  37679. } while (0);
  37680. c[h >> 2] = c[r >> 2];
  37681. u = c[h >> 2] | 0;
  37682. l = g;
  37683. return u | 0;
  37684. }
  37685. case 5: {
  37686. c[s >> 2] = Oh(((c[i >> 2] | 0) + 28816) | 0) | 0;
  37687. c[t >> 2] = hq(c[m >> 2] | 0) | 0;
  37688. if ((c[t >> 2] | 0) != (c[s >> 2] | 0)) {
  37689. c[h >> 2] = -22;
  37690. u = c[h >> 2] | 0;
  37691. l = g;
  37692. return u | 0;
  37693. } else {
  37694. c[((c[i >> 2] | 0) + 28744) >> 2] = 0;
  37695. c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
  37696. c[h >> 2] = 0;
  37697. u = c[h >> 2] | 0;
  37698. l = g;
  37699. return u | 0;
  37700. }
  37701. break;
  37702. }
  37703. case 6: {
  37704. mE(
  37705. ((c[i >> 2] | 0) + 160092 + (8 - (c[n >> 2] | 0))) | 0,
  37706. c[m >> 2] | 0,
  37707. c[n >> 2] | 0
  37708. ) | 0;
  37709. n = hq(((c[i >> 2] | 0) + 160092 + 4) | 0) | 0;
  37710. c[((c[i >> 2] | 0) + 28744) >> 2] = n;
  37711. c[((c[i >> 2] | 0) + 28804) >> 2] = 7;
  37712. c[h >> 2] = 0;
  37713. u = c[h >> 2] | 0;
  37714. l = g;
  37715. return u | 0;
  37716. }
  37717. case 7: {
  37718. c[((c[i >> 2] | 0) + 28744) >> 2] = 0;
  37719. c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
  37720. c[h >> 2] = 0;
  37721. u = c[h >> 2] | 0;
  37722. l = g;
  37723. return u | 0;
  37724. }
  37725. default: {
  37726. c[h >> 2] = -1;
  37727. u = c[h >> 2] | 0;
  37728. l = g;
  37729. return u | 0;
  37730. }
  37731. }
  37732. return 0;
  37733. }
  37734. function yx(a, b, e, f, g) {
  37735. a = a | 0;
  37736. b = b | 0;
  37737. e = e | 0;
  37738. f = f | 0;
  37739. g = g | 0;
  37740. var h = 0,
  37741. i = 0,
  37742. j = 0,
  37743. k = 0,
  37744. m = 0,
  37745. n = 0,
  37746. o = 0,
  37747. p = 0;
  37748. h = l;
  37749. l = (l + 32) | 0;
  37750. i = (h + 20) | 0;
  37751. j = (h + 16) | 0;
  37752. k = (h + 12) | 0;
  37753. m = (h + 8) | 0;
  37754. n = (h + 4) | 0;
  37755. o = h;
  37756. c[j >> 2] = a;
  37757. c[k >> 2] = b;
  37758. c[m >> 2] = e;
  37759. c[n >> 2] = f;
  37760. c[o >> 2] = g;
  37761. if ((c[n >> 2] | 0) != 1) {
  37762. c[i >> 2] = -72;
  37763. p = c[i >> 2] | 0;
  37764. l = h;
  37765. return p | 0;
  37766. }
  37767. if ((c[o >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) {
  37768. c[i >> 2] = -70;
  37769. p = c[i >> 2] | 0;
  37770. l = h;
  37771. return p | 0;
  37772. } else {
  37773. oE(
  37774. c[j >> 2] | 0,
  37775. ((d[c[m >> 2] >> 0] | 0) & 255) | 0,
  37776. c[o >> 2] | 0
  37777. ) | 0;
  37778. c[i >> 2] = c[o >> 2];
  37779. p = c[i >> 2] | 0;
  37780. l = h;
  37781. return p | 0;
  37782. }
  37783. return 0;
  37784. }
  37785. function zx(a, b, d, e, f) {
  37786. a = a | 0;
  37787. b = b | 0;
  37788. d = d | 0;
  37789. e = e | 0;
  37790. f = f | 0;
  37791. var g = 0,
  37792. h = 0,
  37793. i = 0,
  37794. j = 0,
  37795. k = 0,
  37796. m = 0,
  37797. n = 0,
  37798. o = 0,
  37799. p = 0;
  37800. g = l;
  37801. l = (l + 48) | 0;
  37802. h = (g + 24) | 0;
  37803. i = (g + 20) | 0;
  37804. j = (g + 16) | 0;
  37805. k = (g + 12) | 0;
  37806. m = (g + 8) | 0;
  37807. n = (g + 4) | 0;
  37808. o = g;
  37809. c[j >> 2] = a;
  37810. c[k >> 2] = b;
  37811. c[m >> 2] = d;
  37812. c[n >> 2] = e;
  37813. if (
  37814. (((((c[f >> 2] | 0) != 0) ^ 1) & 1) ^
  37815. ((((c[(f + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
  37816. 0
  37817. ) {
  37818. c[i >> 2] = 0;
  37819. p = c[i >> 2] | 0;
  37820. l = g;
  37821. return p | 0;
  37822. }
  37823. c[h >> 2] = c[f >> 2];
  37824. c[(h + 4) >> 2] = c[(f + 4) >> 2];
  37825. c[(h + 8) >> 2] = c[(f + 8) >> 2];
  37826. c[o >> 2] = Rh(28744, h) | 0;
  37827. if (!(c[o >> 2] | 0)) {
  37828. c[i >> 2] = 0;
  37829. p = c[i >> 2] | 0;
  37830. l = g;
  37831. return p | 0;
  37832. }
  37833. h = ((c[o >> 2] | 0) + 28732) | 0;
  37834. c[h >> 2] = c[f >> 2];
  37835. c[(h + 4) >> 2] = c[(f + 4) >> 2];
  37836. c[(h + 8) >> 2] = c[(f + 8) >> 2];
  37837. f =
  37838. ($q(
  37839. Ax(
  37840. c[o >> 2] | 0,
  37841. c[j >> 2] | 0,
  37842. c[k >> 2] | 0,
  37843. c[m >> 2] | 0,
  37844. c[n >> 2] | 0
  37845. ) | 0
  37846. ) |
  37847. 0) !=
  37848. 0;
  37849. n = c[o >> 2] | 0;
  37850. if (f) {
  37851. Yp(n) | 0;
  37852. c[i >> 2] = 0;
  37853. p = c[i >> 2] | 0;
  37854. l = g;
  37855. return p | 0;
  37856. } else {
  37857. c[i >> 2] = n;
  37858. p = c[i >> 2] | 0;
  37859. l = g;
  37860. return p | 0;
  37861. }
  37862. return 0;
  37863. }
  37864. function Ax(a, b, d, e, f) {
  37865. a = a | 0;
  37866. b = b | 0;
  37867. d = d | 0;
  37868. e = e | 0;
  37869. f = f | 0;
  37870. var g = 0,
  37871. h = 0,
  37872. i = 0,
  37873. j = 0,
  37874. k = 0,
  37875. m = 0,
  37876. n = 0,
  37877. o = 0,
  37878. p = 0,
  37879. q = 0,
  37880. r = 0;
  37881. g = l;
  37882. l = (l + 48) | 0;
  37883. h = (g + 32) | 0;
  37884. i = (g + 28) | 0;
  37885. j = (g + 24) | 0;
  37886. k = (g + 20) | 0;
  37887. m = (g + 16) | 0;
  37888. n = (g + 12) | 0;
  37889. o = (g + 8) | 0;
  37890. p = (g + 4) | 0;
  37891. q = g;
  37892. c[j >> 2] = a;
  37893. c[k >> 2] = b;
  37894. c[m >> 2] = d;
  37895. c[n >> 2] = e;
  37896. c[o >> 2] = f;
  37897. do {
  37898. if (
  37899. ((c[n >> 2] | 0) != 1) &
  37900. ((c[k >> 2] | 0) != 0) &
  37901. ((c[m >> 2] | 0) != 0)
  37902. ) {
  37903. f = c[m >> 2] | 0;
  37904. e = ((c[j >> 2] | 0) + 28732) | 0;
  37905. c[h >> 2] = c[e >> 2];
  37906. c[(h + 4) >> 2] = c[(e + 4) >> 2];
  37907. c[(h + 8) >> 2] = c[(e + 8) >> 2];
  37908. c[p >> 2] = Rh(f, h) | 0;
  37909. c[c[j >> 2] >> 2] = c[p >> 2];
  37910. c[((c[j >> 2] | 0) + 4) >> 2] = c[p >> 2];
  37911. if (c[p >> 2] | 0) {
  37912. mE(c[p >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  37913. break;
  37914. }
  37915. c[i >> 2] = -64;
  37916. r = c[i >> 2] | 0;
  37917. l = g;
  37918. return r | 0;
  37919. } else {
  37920. c[c[j >> 2] >> 2] = 0;
  37921. c[((c[j >> 2] | 0) + 4) >> 2] = c[k >> 2];
  37922. }
  37923. } while (0);
  37924. c[((c[j >> 2] | 0) + 8) >> 2] = c[m >> 2];
  37925. c[((c[j >> 2] | 0) + 12 + 10264) >> 2] = 201326604;
  37926. c[q >> 2] = Bx(c[j >> 2] | 0, c[o >> 2] | 0) | 0;
  37927. if ($q(c[q >> 2] | 0) | 0) {
  37928. c[i >> 2] = c[q >> 2];
  37929. r = c[i >> 2] | 0;
  37930. l = g;
  37931. return r | 0;
  37932. } else {
  37933. c[i >> 2] = 0;
  37934. r = c[i >> 2] | 0;
  37935. l = g;
  37936. return r | 0;
  37937. }
  37938. return 0;
  37939. }
  37940. function Bx(a, b) {
  37941. a = a | 0;
  37942. b = b | 0;
  37943. var d = 0,
  37944. e = 0,
  37945. f = 0,
  37946. g = 0,
  37947. h = 0,
  37948. i = 0;
  37949. d = l;
  37950. l = (l + 32) | 0;
  37951. e = (d + 16) | 0;
  37952. f = (d + 12) | 0;
  37953. g = (d + 8) | 0;
  37954. h = (d + 4) | 0;
  37955. i = d;
  37956. c[f >> 2] = a;
  37957. c[g >> 2] = b;
  37958. c[((c[f >> 2] | 0) + 28724) >> 2] = 0;
  37959. c[((c[f >> 2] | 0) + 28728) >> 2] = 0;
  37960. do {
  37961. if ((c[g >> 2] | 0) != 1) {
  37962. if ((c[((c[f >> 2] | 0) + 8) >> 2] | 0) >>> 0 < 8)
  37963. if ((c[g >> 2] | 0) == 2) {
  37964. c[e >> 2] = -30;
  37965. break;
  37966. } else {
  37967. c[e >> 2] = 0;
  37968. break;
  37969. }
  37970. c[h >> 2] = hq(c[((c[f >> 2] | 0) + 4) >> 2] | 0) | 0;
  37971. if ((c[h >> 2] | 0) != -332356553) {
  37972. if ((c[g >> 2] | 0) == 2) {
  37973. c[e >> 2] = -30;
  37974. break;
  37975. } else {
  37976. c[e >> 2] = 0;
  37977. break;
  37978. }
  37979. } else {
  37980. b =
  37981. hq(((c[((c[f >> 2] | 0) + 4) >> 2] | 0) + 4) | 0) | 0;
  37982. c[((c[f >> 2] | 0) + 28724) >> 2] = b;
  37983. c[i >> 2] =
  37984. ls(
  37985. ((c[f >> 2] | 0) + 12) | 0,
  37986. c[((c[f >> 2] | 0) + 4) >> 2] | 0,
  37987. c[((c[f >> 2] | 0) + 8) >> 2] | 0
  37988. ) | 0;
  37989. if ($q(c[i >> 2] | 0) | 0) {
  37990. c[e >> 2] = -30;
  37991. break;
  37992. } else {
  37993. c[((c[f >> 2] | 0) + 28728) >> 2] = 1;
  37994. c[e >> 2] = 0;
  37995. break;
  37996. }
  37997. }
  37998. } else c[e >> 2] = 0;
  37999. } while (0);
  38000. l = d;
  38001. return c[e >> 2] | 0;
  38002. }
  38003. function Cx(a, b) {
  38004. a = a | 0;
  38005. b = b | 0;
  38006. var d = 0,
  38007. e = 0,
  38008. f = 0,
  38009. g = 0;
  38010. d = l;
  38011. l = (l + 32) | 0;
  38012. e = (d + 8) | 0;
  38013. f = (d + 4) | 0;
  38014. g = d;
  38015. c[f >> 2] = a;
  38016. c[g >> 2] = b;
  38017. b = c[f >> 2] | 0;
  38018. f = c[g >> 2] | 0;
  38019. c[e >> 2] = c[5415];
  38020. c[(e + 4) >> 2] = c[5416];
  38021. c[(e + 8) >> 2] = c[5417];
  38022. g = zx(b, f, 0, 0, e) | 0;
  38023. l = d;
  38024. return g | 0;
  38025. }
  38026. function Dx(a, b, d, e, f, g) {
  38027. a = a | 0;
  38028. b = b | 0;
  38029. d = d | 0;
  38030. e = e | 0;
  38031. f = f | 0;
  38032. g = g | 0;
  38033. var h = 0,
  38034. i = 0,
  38035. j = 0,
  38036. k = 0,
  38037. m = 0,
  38038. n = 0,
  38039. o = 0;
  38040. h = l;
  38041. l = (l + 32) | 0;
  38042. i = (h + 20) | 0;
  38043. j = (h + 16) | 0;
  38044. k = (h + 12) | 0;
  38045. m = (h + 8) | 0;
  38046. n = (h + 4) | 0;
  38047. o = h;
  38048. c[i >> 2] = a;
  38049. c[j >> 2] = b;
  38050. c[k >> 2] = d;
  38051. c[m >> 2] = e;
  38052. c[n >> 2] = f;
  38053. c[o >> 2] = g;
  38054. g =
  38055. _r(
  38056. c[i >> 2] | 0,
  38057. c[j >> 2] | 0,
  38058. c[k >> 2] | 0,
  38059. c[m >> 2] | 0,
  38060. c[n >> 2] | 0,
  38061. 0,
  38062. 0,
  38063. c[o >> 2] | 0
  38064. ) | 0;
  38065. l = h;
  38066. return g | 0;
  38067. }
  38068. function Ex() {
  38069. var a = 0,
  38070. b = 0,
  38071. d = 0;
  38072. a = l;
  38073. l = (l + 16) | 0;
  38074. b = a;
  38075. c[b >> 2] = c[5412];
  38076. c[(b + 4) >> 2] = c[5413];
  38077. c[(b + 8) >> 2] = c[5414];
  38078. d = Fx(b) | 0;
  38079. l = a;
  38080. return d | 0;
  38081. }
  38082. function Fx(a) {
  38083. a = a | 0;
  38084. var b = 0,
  38085. d = 0;
  38086. b = l;
  38087. l = (l + 16) | 0;
  38088. d = b;
  38089. c[d >> 2] = c[a >> 2];
  38090. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  38091. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  38092. a = Vp(d) | 0;
  38093. l = b;
  38094. return a | 0;
  38095. }
  38096. function Gx(a) {
  38097. a = a | 0;
  38098. var b = 0,
  38099. d = 0;
  38100. b = l;
  38101. l = (l + 16) | 0;
  38102. d = b;
  38103. c[d >> 2] = a;
  38104. a = Xp(c[d >> 2] | 0) | 0;
  38105. l = b;
  38106. return a | 0;
  38107. }
  38108. function Hx() {
  38109. return 131075;
  38110. }
  38111. function Ix() {
  38112. return 131072;
  38113. }
  38114. function Jx(a, b, d, e, f) {
  38115. a = a | 0;
  38116. b = b | 0;
  38117. d = d | 0;
  38118. e = e | 0;
  38119. f = f | 0;
  38120. var g = 0,
  38121. h = 0,
  38122. i = 0,
  38123. j = 0,
  38124. k = 0,
  38125. m = 0,
  38126. n = 0,
  38127. o = 0,
  38128. p = 0;
  38129. g = l;
  38130. l = (l + 48) | 0;
  38131. h = (g + 24) | 0;
  38132. i = (g + 20) | 0;
  38133. j = (g + 16) | 0;
  38134. k = (g + 12) | 0;
  38135. m = (g + 8) | 0;
  38136. n = (g + 4) | 0;
  38137. o = g;
  38138. c[j >> 2] = a;
  38139. c[k >> 2] = b;
  38140. c[m >> 2] = d;
  38141. c[n >> 2] = e;
  38142. c[o >> 2] = f;
  38143. if (c[((c[j >> 2] | 0) + 28956) >> 2] | 0) {
  38144. c[i >> 2] = -60;
  38145. p = c[i >> 2] | 0;
  38146. l = g;
  38147. return p | 0;
  38148. }
  38149. Yp(c[((c[j >> 2] | 0) + 28948) >> 2] | 0) | 0;
  38150. if (((c[k >> 2] | 0) != 0) & ((c[m >> 2] | 0) >>> 0 >= 8)) {
  38151. f = c[k >> 2] | 0;
  38152. k = c[m >> 2] | 0;
  38153. m = c[n >> 2] | 0;
  38154. n = c[o >> 2] | 0;
  38155. o = ((c[j >> 2] | 0) + 28920) | 0;
  38156. c[h >> 2] = c[o >> 2];
  38157. c[(h + 4) >> 2] = c[(o + 4) >> 2];
  38158. c[(h + 8) >> 2] = c[(o + 8) >> 2];
  38159. o = zx(f, k, m, n, h) | 0;
  38160. c[((c[j >> 2] | 0) + 28948) >> 2] = o;
  38161. if (!(c[((c[j >> 2] | 0) + 28948) >> 2] | 0)) {
  38162. c[i >> 2] = -64;
  38163. p = c[i >> 2] | 0;
  38164. l = g;
  38165. return p | 0;
  38166. }
  38167. } else c[((c[j >> 2] | 0) + 28948) >> 2] = 0;
  38168. c[((c[j >> 2] | 0) + 28952) >> 2] =
  38169. c[((c[j >> 2] | 0) + 28948) >> 2];
  38170. c[i >> 2] = 0;
  38171. p = c[i >> 2] | 0;
  38172. l = g;
  38173. return p | 0;
  38174. }
  38175. function Kx(a, b, d) {
  38176. a = a | 0;
  38177. b = b | 0;
  38178. d = d | 0;
  38179. var e = 0,
  38180. f = 0,
  38181. g = 0,
  38182. h = 0;
  38183. e = l;
  38184. l = (l + 16) | 0;
  38185. f = (e + 8) | 0;
  38186. g = (e + 4) | 0;
  38187. h = e;
  38188. c[f >> 2] = a;
  38189. c[g >> 2] = b;
  38190. c[h >> 2] = d;
  38191. d = Jx(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 0, 0) | 0;
  38192. l = e;
  38193. return d | 0;
  38194. }
  38195. function Lx(a, b, d) {
  38196. a = a | 0;
  38197. b = b | 0;
  38198. d = d | 0;
  38199. var e = 0,
  38200. f = 0,
  38201. g = 0,
  38202. h = 0,
  38203. i = 0,
  38204. j = 0,
  38205. k = 0;
  38206. e = l;
  38207. l = (l + 32) | 0;
  38208. f = (e + 16) | 0;
  38209. g = (e + 12) | 0;
  38210. h = (e + 8) | 0;
  38211. i = (e + 4) | 0;
  38212. j = e;
  38213. c[g >> 2] = a;
  38214. c[h >> 2] = b;
  38215. c[i >> 2] = d;
  38216. c[((c[g >> 2] | 0) + 28956) >> 2] = 0;
  38217. c[j >> 2] =
  38218. Kx(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  38219. if ($q(c[j >> 2] | 0) | 0) {
  38220. c[f >> 2] = c[j >> 2];
  38221. k = c[f >> 2] | 0;
  38222. l = e;
  38223. return k | 0;
  38224. } else {
  38225. c[f >> 2] = 5;
  38226. k = c[f >> 2] | 0;
  38227. l = e;
  38228. return k | 0;
  38229. }
  38230. return 0;
  38231. }
  38232. function Mx(a) {
  38233. a = a | 0;
  38234. var b = 0,
  38235. d = 0;
  38236. b = l;
  38237. l = (l + 16) | 0;
  38238. d = b;
  38239. c[d >> 2] = a;
  38240. a = Lx(c[d >> 2] | 0, 0, 0) | 0;
  38241. l = b;
  38242. return a | 0;
  38243. }
  38244. function Nx(a, b) {
  38245. a = a | 0;
  38246. b = b | 0;
  38247. var d = 0,
  38248. e = 0,
  38249. f = 0,
  38250. g = 0;
  38251. d = l;
  38252. l = (l + 16) | 0;
  38253. e = (d + 8) | 0;
  38254. f = (d + 4) | 0;
  38255. g = d;
  38256. c[e >> 2] = a;
  38257. c[f >> 2] = b;
  38258. c[g >> 2] = Mx(c[e >> 2] | 0) | 0;
  38259. c[((c[e >> 2] | 0) + 28952) >> 2] = c[f >> 2];
  38260. l = d;
  38261. return c[g >> 2] | 0;
  38262. }
  38263. function Ox(a) {
  38264. a = a | 0;
  38265. var b = 0,
  38266. d = 0;
  38267. b = l;
  38268. l = (l + 16) | 0;
  38269. d = b;
  38270. c[d >> 2] = a;
  38271. c[((c[d >> 2] | 0) + 28956) >> 2] = 1;
  38272. c[((c[d >> 2] | 0) + 28988) >> 2] = 0;
  38273. c[((c[d >> 2] | 0) + 28984) >> 2] = 0;
  38274. c[((c[d >> 2] | 0) + 28968) >> 2] = 0;
  38275. c[((c[d >> 2] | 0) + 28992) >> 2] = 0;
  38276. c[((c[d >> 2] | 0) + 29004) >> 2] = 0;
  38277. c[((c[d >> 2] | 0) + 29008) >> 2] = 0;
  38278. l = b;
  38279. return 5;
  38280. }
  38281. function Px(a, b, d, e) {
  38282. a = a | 0;
  38283. b = b | 0;
  38284. d = d | 0;
  38285. e = e | 0;
  38286. var f = 0,
  38287. g = 0,
  38288. h = 0,
  38289. i = 0,
  38290. j = 0,
  38291. k = 0,
  38292. m = 0,
  38293. n = 0,
  38294. o = 0,
  38295. p = 0;
  38296. f = l;
  38297. l = (l + 48) | 0;
  38298. g = (f + 40) | 0;
  38299. h = (f + 24) | 0;
  38300. i = (f + 16) | 0;
  38301. j = (f + 36) | 0;
  38302. k = (f + 8) | 0;
  38303. m = f;
  38304. n = (f + 32) | 0;
  38305. o = h;
  38306. c[o >> 2] = a;
  38307. c[(o + 4) >> 2] = b;
  38308. b = i;
  38309. c[b >> 2] = d;
  38310. c[(b + 4) >> 2] = e;
  38311. e = h;
  38312. b = c[(e + 4) >> 2] | 0;
  38313. d =
  38314. (b >>> 0 < 0) |
  38315. (((b | 0) == 0) & ((c[e >> 2] | 0) >>> 0 < 131072));
  38316. e = h;
  38317. b = c[(e + 4) >> 2] | 0;
  38318. b = d ? c[e >> 2] | 0 : 131072;
  38319. c[j >> 2] = b;
  38320. b = h;
  38321. h =
  38322. dE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, c[j >> 2] | 0, 0) |
  38323. 0;
  38324. j = dE(h | 0, y | 0, 16, 0) | 0;
  38325. h = k;
  38326. c[h >> 2] = j;
  38327. c[(h + 4) >> 2] = y;
  38328. h = i;
  38329. j = c[(h + 4) >> 2] | 0;
  38330. b = k;
  38331. e = c[(b + 4) >> 2] | 0;
  38332. d =
  38333. (j >>> 0 < e >>> 0) |
  38334. ((j | 0) == (e | 0)
  38335. ? (c[h >> 2] | 0) >>> 0 < (c[b >> 2] | 0) >>> 0
  38336. : 0);
  38337. b = i;
  38338. i = k;
  38339. k = d ? c[(b + 4) >> 2] | 0 : c[(i + 4) >> 2] | 0;
  38340. h = m;
  38341. c[h >> 2] = d ? c[b >> 2] | 0 : c[i >> 2] | 0;
  38342. c[(h + 4) >> 2] = k;
  38343. c[n >> 2] = c[m >> 2];
  38344. k = m;
  38345. if (
  38346. 0 != (c[(k + 4) >> 2] | 0)
  38347. ? 1
  38348. : (c[n >> 2] | 0) != (c[k >> 2] | 0)
  38349. ) {
  38350. c[g >> 2] = -16;
  38351. p = c[g >> 2] | 0;
  38352. l = f;
  38353. return p | 0;
  38354. } else {
  38355. c[g >> 2] = c[n >> 2];
  38356. p = c[g >> 2] | 0;
  38357. l = f;
  38358. return p | 0;
  38359. }
  38360. return 0;
  38361. }
  38362. function Qx(a, b, d) {
  38363. a = a | 0;
  38364. b = b | 0;
  38365. d = d | 0;
  38366. var e = 0,
  38367. f = 0,
  38368. g = 0,
  38369. h = 0,
  38370. i = 0,
  38371. j = 0,
  38372. k = 0,
  38373. m = 0,
  38374. n = 0,
  38375. o = 0,
  38376. p = 0,
  38377. q = 0,
  38378. r = 0,
  38379. s = 0,
  38380. t = 0,
  38381. u = 0,
  38382. v = 0,
  38383. w = 0,
  38384. x = 0,
  38385. y = 0,
  38386. z = 0,
  38387. A = 0,
  38388. B = 0,
  38389. C = 0,
  38390. D = 0,
  38391. E = 0,
  38392. F = 0,
  38393. G = 0,
  38394. H = 0,
  38395. I = 0,
  38396. J = 0,
  38397. K = 0,
  38398. L = 0,
  38399. M = 0,
  38400. N = 0,
  38401. O = 0,
  38402. P = 0,
  38403. Q = 0,
  38404. R = 0,
  38405. S = 0,
  38406. T = 0,
  38407. U = 0,
  38408. V = 0,
  38409. W = 0,
  38410. X = 0,
  38411. Y = 0,
  38412. Z = 0,
  38413. _ = 0,
  38414. $ = 0,
  38415. aa = 0;
  38416. e = l;
  38417. l = (l + 176) | 0;
  38418. f = (e + 152) | 0;
  38419. g = (e + 148) | 0;
  38420. h = (e + 144) | 0;
  38421. i = (e + 140) | 0;
  38422. j = (e + 136) | 0;
  38423. k = (e + 132) | 0;
  38424. m = (e + 128) | 0;
  38425. n = (e + 124) | 0;
  38426. o = (e + 120) | 0;
  38427. p = (e + 116) | 0;
  38428. q = (e + 112) | 0;
  38429. r = (e + 108) | 0;
  38430. s = (e + 104) | 0;
  38431. t = (e + 100) | 0;
  38432. u = (e + 96) | 0;
  38433. v = (e + 92) | 0;
  38434. w = (e + 88) | 0;
  38435. x = (e + 84) | 0;
  38436. y = (e + 80) | 0;
  38437. z = (e + 76) | 0;
  38438. A = (e + 72) | 0;
  38439. B = (e + 68) | 0;
  38440. C = (e + 64) | 0;
  38441. D = (e + 60) | 0;
  38442. E = (e + 56) | 0;
  38443. F = (e + 52) | 0;
  38444. G = (e + 48) | 0;
  38445. H = (e + 44) | 0;
  38446. I = (e + 40) | 0;
  38447. J = (e + 36) | 0;
  38448. K = (e + 32) | 0;
  38449. L = (e + 28) | 0;
  38450. M = (e + 24) | 0;
  38451. N = (e + 20) | 0;
  38452. O = (e + 16) | 0;
  38453. P = (e + 12) | 0;
  38454. Q = (e + 8) | 0;
  38455. R = (e + 4) | 0;
  38456. S = e;
  38457. c[h >> 2] = a;
  38458. c[i >> 2] = b;
  38459. c[j >> 2] = d;
  38460. c[k >> 2] =
  38461. (c[c[j >> 2] >> 2] | 0) +
  38462. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  38463. c[m >> 2] =
  38464. (c[c[j >> 2] >> 2] | 0) +
  38465. (c[((c[j >> 2] | 0) + 4) >> 2] | 0);
  38466. c[n >> 2] = c[k >> 2];
  38467. c[o >> 2] =
  38468. (c[c[i >> 2] >> 2] | 0) +
  38469. (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
  38470. c[p >> 2] =
  38471. (c[c[i >> 2] >> 2] | 0) +
  38472. (c[((c[i >> 2] | 0) + 4) >> 2] | 0);
  38473. c[q >> 2] = c[o >> 2];
  38474. c[r >> 2] = 1;
  38475. if (
  38476. (c[((c[j >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
  38477. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0
  38478. ) {
  38479. c[g >> 2] = -72;
  38480. T = c[g >> 2] | 0;
  38481. l = e;
  38482. return T | 0;
  38483. }
  38484. if (
  38485. (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
  38486. (c[((c[i >> 2] | 0) + 4) >> 2] | 0) >>> 0
  38487. ) {
  38488. c[g >> 2] = -70;
  38489. T = c[g >> 2] | 0;
  38490. l = e;
  38491. return T | 0;
  38492. }
  38493. a: while (1) {
  38494. if (!(c[r >> 2] | 0)) {
  38495. U = 98;
  38496. break;
  38497. }
  38498. switch (c[((c[h >> 2] | 0) + 28956) >> 2] | 0) {
  38499. case 0: {
  38500. Ox(c[h >> 2] | 0) | 0;
  38501. U = 9;
  38502. break;
  38503. }
  38504. case 1: {
  38505. U = 9;
  38506. break;
  38507. }
  38508. case 2: {
  38509. U = 64;
  38510. break;
  38511. }
  38512. case 3: {
  38513. U = 76;
  38514. break;
  38515. }
  38516. case 4: {
  38517. U = 91;
  38518. break;
  38519. }
  38520. default: {
  38521. U = 96;
  38522. break a;
  38523. }
  38524. }
  38525. do {
  38526. if ((U | 0) == 9) {
  38527. U = 0;
  38528. V = c[h >> 2] | 0;
  38529. if (c[((c[h >> 2] | 0) + 29004) >> 2] | 0) {
  38530. U = 10;
  38531. break a;
  38532. }
  38533. c[t >> 2] =
  38534. qq(
  38535. (V + 28752) | 0,
  38536. ((c[h >> 2] | 0) + 160092) | 0,
  38537. c[((c[h >> 2] | 0) + 28992) >> 2] | 0,
  38538. c[((c[h >> 2] | 0) + 28912) >> 2] | 0
  38539. ) | 0;
  38540. if ($q(c[t >> 2] | 0) | 0) {
  38541. U = 16;
  38542. break a;
  38543. }
  38544. if (c[t >> 2] | 0) {
  38545. c[z >> 2] =
  38546. (c[t >> 2] | 0) -
  38547. (c[((c[h >> 2] | 0) + 28992) >> 2] | 0);
  38548. c[A >> 2] = (c[m >> 2] | 0) - (c[n >> 2] | 0);
  38549. if ((c[z >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0) {
  38550. U = 31;
  38551. break a;
  38552. }
  38553. mE(
  38554. ((c[h >> 2] | 0) +
  38555. 160092 +
  38556. (c[((c[h >> 2] | 0) + 28992) >> 2] | 0)) |
  38557. 0,
  38558. c[n >> 2] | 0,
  38559. c[z >> 2] | 0
  38560. ) | 0;
  38561. c[((c[h >> 2] | 0) + 28992) >> 2] = c[t >> 2];
  38562. c[n >> 2] = (c[n >> 2] | 0) + (c[z >> 2] | 0);
  38563. break;
  38564. }
  38565. d = ((c[h >> 2] | 0) + 28752) | 0;
  38566. if (
  38567. (
  38568. (
  38569. ((c[d >> 2] | 0) != 0) |
  38570. ((c[(d + 4) >> 2] | 0) != 0)
  38571. ? ((d = ((c[h >> 2] | 0) + 28752 + 8) | 0),
  38572. ((c[d >> 2] | 0) != 0) |
  38573. ((c[(d + 4) >> 2] | 0) != 0))
  38574. : 0
  38575. )
  38576. ? ((d = ((c[h >> 2] | 0) + 28752) | 0),
  38577. (b = c[(d + 4) >> 2] | 0),
  38578. (0 > b >>> 0) |
  38579. (0 == (b | 0)
  38580. ? (((c[p >> 2] | 0) - (c[q >> 2] | 0)) |
  38581. 0) >>>
  38582. 0 >=
  38583. (c[d >> 2] | 0) >>> 0
  38584. : 0))
  38585. : 0
  38586. )
  38587. ? ((c[B >> 2] =
  38588. _q(
  38589. c[k >> 2] | 0,
  38590. ((c[m >> 2] | 0) - (c[k >> 2] | 0)) | 0
  38591. ) | 0),
  38592. (c[B >> 2] | 0) >>> 0 <=
  38593. (((c[m >> 2] | 0) - (c[k >> 2] | 0)) | 0) >>> 0)
  38594. : 0
  38595. ) {
  38596. c[C >> 2] =
  38597. Dx(
  38598. c[h >> 2] | 0,
  38599. c[q >> 2] | 0,
  38600. ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0,
  38601. c[k >> 2] | 0,
  38602. c[B >> 2] | 0,
  38603. c[((c[h >> 2] | 0) + 28952) >> 2] | 0
  38604. ) | 0;
  38605. if ($q(c[C >> 2] | 0) | 0) {
  38606. U = 40;
  38607. break a;
  38608. }
  38609. c[n >> 2] = (c[k >> 2] | 0) + (c[B >> 2] | 0);
  38610. c[q >> 2] = (c[q >> 2] | 0) + (c[C >> 2] | 0);
  38611. c[((c[h >> 2] | 0) + 28744) >> 2] = 0;
  38612. c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
  38613. c[r >> 2] = 0;
  38614. break;
  38615. }
  38616. c[D >> 2] =
  38617. cs(
  38618. c[h >> 2] | 0,
  38619. c[((c[h >> 2] | 0) + 28952) >> 2] | 0
  38620. ) | 0;
  38621. if ($q(c[D >> 2] | 0) | 0) {
  38622. U = 43;
  38623. break a;
  38624. }
  38625. d =
  38626. (((hq(((c[h >> 2] | 0) + 160092) | 0) | 0) & -16) |
  38627. 0) ==
  38628. 407710288;
  38629. b = c[h >> 2] | 0;
  38630. if (d) {
  38631. d = hq((b + 160092 + 4) | 0) | 0;
  38632. c[((c[h >> 2] | 0) + 28744) >> 2] = d;
  38633. c[((c[h >> 2] | 0) + 28804) >> 2] = 7;
  38634. } else {
  38635. c[E >> 2] =
  38636. fs(
  38637. b,
  38638. ((c[h >> 2] | 0) + 160092) | 0,
  38639. c[((c[h >> 2] | 0) + 28992) >> 2] | 0
  38640. ) | 0;
  38641. if ($q(c[E >> 2] | 0) | 0) {
  38642. U = 47;
  38643. break a;
  38644. }
  38645. c[((c[h >> 2] | 0) + 28744) >> 2] = 3;
  38646. c[((c[h >> 2] | 0) + 28804) >> 2] = 2;
  38647. }
  38648. b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
  38649. d = c[(b + 4) >> 2] | 0;
  38650. if (
  38651. (d >>> 0 > 0) |
  38652. (((d | 0) == 0) & ((c[b >> 2] | 0) >>> 0 > 1024))
  38653. ) {
  38654. b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
  38655. W = c[b >> 2] | 0;
  38656. X = c[(b + 4) >> 2] | 0;
  38657. } else {
  38658. W = 1024;
  38659. X = 0;
  38660. }
  38661. b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
  38662. c[b >> 2] = W;
  38663. c[(b + 4) >> 2] = X;
  38664. b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
  38665. d = c[(b + 4) >> 2] | 0;
  38666. if (
  38667. (d >>> 0 > 0) |
  38668. ((d | 0) == 0
  38669. ? (c[b >> 2] | 0) >>> 0 >
  38670. (c[((c[h >> 2] | 0) + 28972) >> 2] | 0) >>> 0
  38671. : 0)
  38672. ) {
  38673. U = 52;
  38674. break a;
  38675. }
  38676. if (
  38677. (c[((c[h >> 2] | 0) + 28752 + 16) >> 2] | 0) >>> 0 >
  38678. 4
  38679. )
  38680. Y = c[((c[h >> 2] | 0) + 28752 + 16) >> 2] | 0;
  38681. else Y = 4;
  38682. c[F >> 2] = Y;
  38683. b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
  38684. d = ((c[h >> 2] | 0) + 28752) | 0;
  38685. c[G >> 2] =
  38686. Px(
  38687. c[b >> 2] | 0,
  38688. c[(b + 4) >> 2] | 0,
  38689. c[d >> 2] | 0,
  38690. c[(d + 4) >> 2] | 0
  38691. ) | 0;
  38692. if (
  38693. !((c[((c[h >> 2] | 0) + 28964) >> 2] | 0) >>> 0 >=
  38694. (c[F >> 2] | 0) >>> 0
  38695. ? (c[((c[h >> 2] | 0) + 28980) >> 2] | 0) >>> 0 >=
  38696. (c[G >> 2] | 0) >>> 0
  38697. : 0)
  38698. ) {
  38699. c[H >> 2] = (c[F >> 2] | 0) + (c[G >> 2] | 0);
  38700. if (c[((c[h >> 2] | 0) + 28940) >> 2] | 0) {
  38701. if (
  38702. (c[H >> 2] | 0) >>> 0 >
  38703. (((c[((c[h >> 2] | 0) + 28940) >> 2] | 0) -
  38704. 160112) |
  38705. 0) >>>
  38706. 0
  38707. ) {
  38708. U = 59;
  38709. break a;
  38710. }
  38711. } else {
  38712. d = c[((c[h >> 2] | 0) + 28960) >> 2] | 0;
  38713. b = ((c[h >> 2] | 0) + 28920) | 0;
  38714. c[f >> 2] = c[b >> 2];
  38715. c[(f + 4) >> 2] = c[(b + 4) >> 2];
  38716. c[(f + 8) >> 2] = c[(b + 8) >> 2];
  38717. Th(d, f);
  38718. c[((c[h >> 2] | 0) + 28964) >> 2] = 0;
  38719. c[((c[h >> 2] | 0) + 28980) >> 2] = 0;
  38720. d = c[H >> 2] | 0;
  38721. b = ((c[h >> 2] | 0) + 28920) | 0;
  38722. c[f >> 2] = c[b >> 2];
  38723. c[(f + 4) >> 2] = c[(b + 4) >> 2];
  38724. c[(f + 8) >> 2] = c[(b + 8) >> 2];
  38725. b = Rh(d, f) | 0;
  38726. c[((c[h >> 2] | 0) + 28960) >> 2] = b;
  38727. if (!(c[((c[h >> 2] | 0) + 28960) >> 2] | 0)) {
  38728. U = 61;
  38729. break a;
  38730. }
  38731. }
  38732. c[((c[h >> 2] | 0) + 28964) >> 2] = c[F >> 2];
  38733. c[((c[h >> 2] | 0) + 28976) >> 2] =
  38734. (c[((c[h >> 2] | 0) + 28960) >> 2] | 0) +
  38735. (c[((c[h >> 2] | 0) + 28964) >> 2] | 0);
  38736. c[((c[h >> 2] | 0) + 28980) >> 2] = c[G >> 2];
  38737. }
  38738. c[((c[h >> 2] | 0) + 28956) >> 2] = 2;
  38739. U = 64;
  38740. }
  38741. } while (0);
  38742. do {
  38743. if ((U | 0) == 64) {
  38744. U = 0;
  38745. c[I >> 2] = vx(c[h >> 2] | 0) | 0;
  38746. if (!(c[I >> 2] | 0)) {
  38747. c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
  38748. c[r >> 2] = 0;
  38749. break;
  38750. }
  38751. if (
  38752. (((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0) >>> 0 <
  38753. (c[I >> 2] | 0) >>> 0
  38754. )
  38755. if ((c[n >> 2] | 0) == (c[m >> 2] | 0)) {
  38756. c[r >> 2] = 0;
  38757. break;
  38758. } else {
  38759. c[((c[h >> 2] | 0) + 28956) >> 2] = 3;
  38760. U = 76;
  38761. break;
  38762. }
  38763. c[J >> 2] = Tx(c[h >> 2] | 0) | 0;
  38764. if (c[J >> 2] | 0) Z = 0;
  38765. else
  38766. Z =
  38767. ((c[((c[h >> 2] | 0) + 28980) >> 2] | 0) -
  38768. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
  38769. 0;
  38770. c[K >> 2] =
  38771. xx(
  38772. c[h >> 2] | 0,
  38773. ((c[((c[h >> 2] | 0) + 28976) >> 2] | 0) +
  38774. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
  38775. 0,
  38776. Z,
  38777. c[n >> 2] | 0,
  38778. c[I >> 2] | 0
  38779. ) | 0;
  38780. if ($q(c[K >> 2] | 0) | 0) {
  38781. U = 70;
  38782. break a;
  38783. }
  38784. c[n >> 2] = (c[n >> 2] | 0) + (c[I >> 2] | 0);
  38785. if (((c[K >> 2] | 0) != 0) | ((c[J >> 2] | 0) != 0)) {
  38786. c[((c[h >> 2] | 0) + 28988) >> 2] =
  38787. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0) +
  38788. (c[K >> 2] | 0);
  38789. c[((c[h >> 2] | 0) + 28956) >> 2] = 4;
  38790. }
  38791. }
  38792. } while (0);
  38793. do {
  38794. if ((U | 0) == 76) {
  38795. U = 0;
  38796. c[L >> 2] = vx(c[h >> 2] | 0) | 0;
  38797. c[M >> 2] =
  38798. (c[L >> 2] | 0) -
  38799. (c[((c[h >> 2] | 0) + 28968) >> 2] | 0);
  38800. c[N >> 2] = Tx(c[h >> 2] | 0) | 0;
  38801. b = c[M >> 2] | 0;
  38802. if (c[N >> 2] | 0) {
  38803. if (
  38804. b >>> 0 <
  38805. (((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0) >>> 0
  38806. )
  38807. _ = c[M >> 2] | 0;
  38808. else _ = ((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0;
  38809. c[O >> 2] = _;
  38810. } else {
  38811. if (
  38812. b >>> 0 >
  38813. (((c[((c[h >> 2] | 0) + 28964) >> 2] | 0) -
  38814. (c[((c[h >> 2] | 0) + 28968) >> 2] | 0)) |
  38815. 0) >>>
  38816. 0
  38817. ) {
  38818. U = 82;
  38819. break a;
  38820. }
  38821. c[O >> 2] =
  38822. Ux(
  38823. ((c[((c[h >> 2] | 0) + 28960) >> 2] | 0) +
  38824. (c[((c[h >> 2] | 0) + 28968) >> 2] | 0)) |
  38825. 0,
  38826. c[M >> 2] | 0,
  38827. c[n >> 2] | 0,
  38828. ((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0
  38829. ) | 0;
  38830. }
  38831. c[n >> 2] = (c[n >> 2] | 0) + (c[O >> 2] | 0);
  38832. b = ((c[h >> 2] | 0) + 28968) | 0;
  38833. c[b >> 2] = (c[b >> 2] | 0) + (c[O >> 2] | 0);
  38834. if ((c[O >> 2] | 0) >>> 0 < (c[M >> 2] | 0) >>> 0) {
  38835. c[r >> 2] = 0;
  38836. break;
  38837. }
  38838. c[P >> 2] =
  38839. xx(
  38840. c[h >> 2] | 0,
  38841. ((c[((c[h >> 2] | 0) + 28976) >> 2] | 0) +
  38842. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
  38843. 0,
  38844. ((c[((c[h >> 2] | 0) + 28980) >> 2] | 0) -
  38845. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
  38846. 0,
  38847. c[((c[h >> 2] | 0) + 28960) >> 2] | 0,
  38848. c[L >> 2] | 0
  38849. ) | 0;
  38850. if ($q(c[P >> 2] | 0) | 0) {
  38851. U = 87;
  38852. break a;
  38853. }
  38854. c[((c[h >> 2] | 0) + 28968) >> 2] = 0;
  38855. b = c[h >> 2] | 0;
  38856. if (((c[P >> 2] | 0) != 0) | ((c[N >> 2] | 0) != 0)) {
  38857. c[((c[h >> 2] | 0) + 28988) >> 2] =
  38858. (c[(b + 28984) >> 2] | 0) + (c[P >> 2] | 0);
  38859. c[((c[h >> 2] | 0) + 28956) >> 2] = 4;
  38860. U = 91;
  38861. break;
  38862. } else {
  38863. c[(b + 28956) >> 2] = 2;
  38864. break;
  38865. }
  38866. }
  38867. } while (0);
  38868. do {
  38869. if ((U | 0) == 91) {
  38870. U = 0;
  38871. c[Q >> 2] =
  38872. (c[((c[h >> 2] | 0) + 28988) >> 2] | 0) -
  38873. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0);
  38874. c[R >> 2] =
  38875. Ux(
  38876. c[q >> 2] | 0,
  38877. ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0,
  38878. ((c[((c[h >> 2] | 0) + 28976) >> 2] | 0) +
  38879. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
  38880. 0,
  38881. c[Q >> 2] | 0
  38882. ) | 0;
  38883. c[q >> 2] = (c[q >> 2] | 0) + (c[R >> 2] | 0);
  38884. b = ((c[h >> 2] | 0) + 28984) | 0;
  38885. c[b >> 2] = (c[b >> 2] | 0) + (c[R >> 2] | 0);
  38886. if ((c[R >> 2] | 0) != (c[Q >> 2] | 0)) {
  38887. c[r >> 2] = 0;
  38888. break;
  38889. }
  38890. c[((c[h >> 2] | 0) + 28956) >> 2] = 2;
  38891. b = ((c[h >> 2] | 0) + 28752) | 0;
  38892. d = c[(b + 4) >> 2] | 0;
  38893. if (
  38894. (0 < d >>> 0) |
  38895. (0 == (d | 0)
  38896. ? (c[((c[h >> 2] | 0) + 28980) >> 2] | 0) >>> 0 <
  38897. (c[b >> 2] | 0) >>> 0
  38898. : 0)
  38899. ? (((c[((c[h >> 2] | 0) + 28984) >> 2] | 0) +
  38900. (c[((c[h >> 2] | 0) + 28752 + 16) >> 2] | 0)) |
  38901. 0) >>>
  38902. 0 >
  38903. (c[((c[h >> 2] | 0) + 28980) >> 2] | 0) >>> 0
  38904. : 0
  38905. ) {
  38906. c[((c[h >> 2] | 0) + 28988) >> 2] = 0;
  38907. c[((c[h >> 2] | 0) + 28984) >> 2] = 0;
  38908. }
  38909. }
  38910. } while (0);
  38911. }
  38912. switch (U | 0) {
  38913. case 10: {
  38914. if (c[(V + 28940) >> 2] | 0) {
  38915. c[g >> 2] = -64;
  38916. T = c[g >> 2] | 0;
  38917. l = e;
  38918. return T | 0;
  38919. }
  38920. c[s >> 2] =
  38921. Rx(
  38922. c[((c[h >> 2] | 0) + 28996) >> 2] | 0,
  38923. c[((c[h >> 2] | 0) + 29004) >> 2] | 0,
  38924. c[i >> 2] | 0,
  38925. c[j >> 2] | 0
  38926. ) | 0;
  38927. if (!(c[s >> 2] | 0))
  38928. c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
  38929. c[g >> 2] = c[s >> 2];
  38930. T = c[g >> 2] | 0;
  38931. l = e;
  38932. return T | 0;
  38933. }
  38934. case 16: {
  38935. c[u >> 2] =
  38936. iq(
  38937. c[k >> 2] | 0,
  38938. ((c[m >> 2] | 0) - (c[k >> 2] | 0)) | 0
  38939. ) | 0;
  38940. if (!(c[u >> 2] | 0)) {
  38941. c[g >> 2] = c[t >> 2];
  38942. T = c[g >> 2] | 0;
  38943. l = e;
  38944. return T | 0;
  38945. }
  38946. if (c[((c[h >> 2] | 0) + 28952) >> 2] | 0)
  38947. $ =
  38948. c[
  38949. ((c[((c[h >> 2] | 0) + 28952) >> 2] | 0) + 4) >> 2
  38950. ] | 0;
  38951. else $ = 0;
  38952. c[v >> 2] = $;
  38953. if (c[((c[h >> 2] | 0) + 28952) >> 2] | 0)
  38954. aa =
  38955. c[
  38956. ((c[((c[h >> 2] | 0) + 28952) >> 2] | 0) + 8) >> 2
  38957. ] | 0;
  38958. else aa = 0;
  38959. c[w >> 2] = aa;
  38960. if (c[((c[h >> 2] | 0) + 28940) >> 2] | 0) {
  38961. c[g >> 2] = -64;
  38962. T = c[g >> 2] | 0;
  38963. l = e;
  38964. return T | 0;
  38965. }
  38966. c[x >> 2] =
  38967. Sx(
  38968. ((c[h >> 2] | 0) + 28996) | 0,
  38969. c[((c[h >> 2] | 0) + 29e3) >> 2] | 0,
  38970. c[u >> 2] | 0,
  38971. c[v >> 2] | 0,
  38972. c[w >> 2] | 0
  38973. ) | 0;
  38974. if ($q(c[x >> 2] | 0) | 0) {
  38975. c[g >> 2] = c[x >> 2];
  38976. T = c[g >> 2] | 0;
  38977. l = e;
  38978. return T | 0;
  38979. }
  38980. x = c[u >> 2] | 0;
  38981. c[((c[h >> 2] | 0) + 29e3) >> 2] = x;
  38982. c[((c[h >> 2] | 0) + 29004) >> 2] = x;
  38983. c[y >> 2] =
  38984. Rx(
  38985. c[((c[h >> 2] | 0) + 28996) >> 2] | 0,
  38986. c[u >> 2] | 0,
  38987. c[i >> 2] | 0,
  38988. c[j >> 2] | 0
  38989. ) | 0;
  38990. if (!(c[y >> 2] | 0))
  38991. c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
  38992. c[g >> 2] = c[y >> 2];
  38993. T = c[g >> 2] | 0;
  38994. l = e;
  38995. return T | 0;
  38996. }
  38997. case 31: {
  38998. if ((c[A >> 2] | 0) >>> 0 > 0) {
  38999. mE(
  39000. ((c[h >> 2] | 0) +
  39001. 160092 +
  39002. (c[((c[h >> 2] | 0) + 28992) >> 2] | 0)) |
  39003. 0,
  39004. c[n >> 2] | 0,
  39005. c[A >> 2] | 0
  39006. ) | 0;
  39007. y = ((c[h >> 2] | 0) + 28992) | 0;
  39008. c[y >> 2] = (c[y >> 2] | 0) + (c[A >> 2] | 0);
  39009. }
  39010. c[((c[j >> 2] | 0) + 8) >> 2] =
  39011. c[((c[j >> 2] | 0) + 4) >> 2];
  39012. c[g >> 2] =
  39013. (6 > (c[t >> 2] | 0) >>> 0 ? 6 : c[t >> 2] | 0) -
  39014. (c[((c[h >> 2] | 0) + 28992) >> 2] | 0) +
  39015. 3;
  39016. T = c[g >> 2] | 0;
  39017. l = e;
  39018. return T | 0;
  39019. }
  39020. case 40: {
  39021. c[g >> 2] = c[C >> 2];
  39022. T = c[g >> 2] | 0;
  39023. l = e;
  39024. return T | 0;
  39025. }
  39026. case 43: {
  39027. c[g >> 2] = c[D >> 2];
  39028. T = c[g >> 2] | 0;
  39029. l = e;
  39030. return T | 0;
  39031. }
  39032. case 47: {
  39033. c[g >> 2] = c[E >> 2];
  39034. T = c[g >> 2] | 0;
  39035. l = e;
  39036. return T | 0;
  39037. }
  39038. case 52: {
  39039. c[g >> 2] = -16;
  39040. T = c[g >> 2] | 0;
  39041. l = e;
  39042. return T | 0;
  39043. }
  39044. case 59: {
  39045. c[g >> 2] = -64;
  39046. T = c[g >> 2] | 0;
  39047. l = e;
  39048. return T | 0;
  39049. }
  39050. case 61: {
  39051. c[g >> 2] = -64;
  39052. T = c[g >> 2] | 0;
  39053. l = e;
  39054. return T | 0;
  39055. }
  39056. case 70: {
  39057. c[g >> 2] = c[K >> 2];
  39058. T = c[g >> 2] | 0;
  39059. l = e;
  39060. return T | 0;
  39061. }
  39062. case 82: {
  39063. c[g >> 2] = -20;
  39064. T = c[g >> 2] | 0;
  39065. l = e;
  39066. return T | 0;
  39067. }
  39068. case 87: {
  39069. c[g >> 2] = c[P >> 2];
  39070. T = c[g >> 2] | 0;
  39071. l = e;
  39072. return T | 0;
  39073. }
  39074. case 96: {
  39075. c[g >> 2] = -1;
  39076. T = c[g >> 2] | 0;
  39077. l = e;
  39078. return T | 0;
  39079. }
  39080. case 98: {
  39081. P = ((c[j >> 2] | 0) + 8) | 0;
  39082. c[P >> 2] =
  39083. (c[P >> 2] | 0) + ((c[n >> 2] | 0) - (c[k >> 2] | 0));
  39084. k = ((c[i >> 2] | 0) + 8) | 0;
  39085. c[k >> 2] =
  39086. (c[k >> 2] | 0) + ((c[q >> 2] | 0) - (c[o >> 2] | 0));
  39087. c[S >> 2] = vx(c[h >> 2] | 0) | 0;
  39088. o = c[h >> 2] | 0;
  39089. if (c[S >> 2] | 0) {
  39090. q = ((((wx(o) | 0) == 2) & 1) * 3) | 0;
  39091. c[S >> 2] = (c[S >> 2] | 0) + q;
  39092. c[S >> 2] =
  39093. (c[S >> 2] | 0) -
  39094. (c[((c[h >> 2] | 0) + 28968) >> 2] | 0);
  39095. c[g >> 2] = c[S >> 2];
  39096. T = c[g >> 2] | 0;
  39097. l = e;
  39098. return T | 0;
  39099. }
  39100. S = (c[((c[h >> 2] | 0) + 29008) >> 2] | 0) != 0;
  39101. if (
  39102. (c[(o + 28988) >> 2] | 0) !=
  39103. (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)
  39104. ) {
  39105. if (!S) {
  39106. o = ((c[j >> 2] | 0) + 8) | 0;
  39107. c[o >> 2] = (c[o >> 2] | 0) + -1;
  39108. c[((c[h >> 2] | 0) + 29008) >> 2] = 1;
  39109. }
  39110. c[g >> 2] = 1;
  39111. T = c[g >> 2] | 0;
  39112. l = e;
  39113. return T | 0;
  39114. }
  39115. do {
  39116. if (S) {
  39117. if (
  39118. (c[((c[j >> 2] | 0) + 8) >> 2] | 0) >>> 0 <
  39119. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0
  39120. ) {
  39121. o = ((c[j >> 2] | 0) + 8) | 0;
  39122. c[o >> 2] = (c[o >> 2] | 0) + 1;
  39123. break;
  39124. }
  39125. c[((c[h >> 2] | 0) + 28956) >> 2] = 2;
  39126. c[g >> 2] = 1;
  39127. T = c[g >> 2] | 0;
  39128. l = e;
  39129. return T | 0;
  39130. }
  39131. } while (0);
  39132. c[g >> 2] = 0;
  39133. T = c[g >> 2] | 0;
  39134. l = e;
  39135. return T | 0;
  39136. }
  39137. }
  39138. return 0;
  39139. }
  39140. function Rx(a, b, d, e) {
  39141. a = a | 0;
  39142. b = b | 0;
  39143. d = d | 0;
  39144. e = e | 0;
  39145. var f = 0,
  39146. g = 0,
  39147. h = 0,
  39148. i = 0,
  39149. j = 0,
  39150. k = 0,
  39151. m = 0,
  39152. n = 0,
  39153. o = 0,
  39154. p = 0,
  39155. q = 0,
  39156. r = 0,
  39157. s = 0,
  39158. t = 0,
  39159. u = 0,
  39160. v = 0,
  39161. w = 0,
  39162. x = 0,
  39163. y = 0,
  39164. z = 0,
  39165. A = 0,
  39166. B = 0,
  39167. C = 0,
  39168. D = 0,
  39169. E = 0,
  39170. F = 0,
  39171. G = 0,
  39172. H = 0,
  39173. I = 0,
  39174. J = 0,
  39175. K = 0;
  39176. f = l;
  39177. l = (l + 128) | 0;
  39178. g = (f + 112) | 0;
  39179. h = (f + 108) | 0;
  39180. i = (f + 104) | 0;
  39181. j = (f + 100) | 0;
  39182. k = (f + 96) | 0;
  39183. m = (f + 92) | 0;
  39184. n = (f + 88) | 0;
  39185. o = (f + 84) | 0;
  39186. p = (f + 80) | 0;
  39187. q = (f + 76) | 0;
  39188. r = (f + 72) | 0;
  39189. s = (f + 68) | 0;
  39190. t = (f + 64) | 0;
  39191. u = (f + 60) | 0;
  39192. v = (f + 56) | 0;
  39193. w = (f + 52) | 0;
  39194. x = (f + 48) | 0;
  39195. y = (f + 44) | 0;
  39196. z = (f + 40) | 0;
  39197. A = (f + 36) | 0;
  39198. B = (f + 32) | 0;
  39199. C = (f + 28) | 0;
  39200. D = (f + 24) | 0;
  39201. E = (f + 20) | 0;
  39202. F = (f + 16) | 0;
  39203. G = (f + 12) | 0;
  39204. H = (f + 8) | 0;
  39205. I = (f + 4) | 0;
  39206. J = f;
  39207. c[h >> 2] = a;
  39208. c[i >> 2] = b;
  39209. c[j >> 2] = d;
  39210. c[k >> 2] = e;
  39211. switch (c[i >> 2] | 0) {
  39212. case 7: {
  39213. c[E >> 2] = c[h >> 2];
  39214. c[F >> 2] =
  39215. (c[c[k >> 2] >> 2] | 0) +
  39216. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39217. c[G >> 2] =
  39218. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
  39219. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39220. c[H >> 2] =
  39221. (c[c[j >> 2] >> 2] | 0) +
  39222. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39223. c[I >> 2] =
  39224. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
  39225. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39226. c[J >> 2] =
  39227. jy(c[E >> 2] | 0, c[H >> 2] | 0, I, c[F >> 2] | 0, G) |
  39228. 0;
  39229. F = ((c[j >> 2] | 0) + 8) | 0;
  39230. c[F >> 2] = (c[F >> 2] | 0) + (c[I >> 2] | 0);
  39231. I = ((c[k >> 2] | 0) + 8) | 0;
  39232. c[I >> 2] = (c[I >> 2] | 0) + (c[G >> 2] | 0);
  39233. c[g >> 2] = c[J >> 2];
  39234. K = c[g >> 2] | 0;
  39235. l = f;
  39236. return K | 0;
  39237. }
  39238. case 6: {
  39239. c[y >> 2] = c[h >> 2];
  39240. c[z >> 2] =
  39241. (c[c[k >> 2] >> 2] | 0) +
  39242. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39243. c[A >> 2] =
  39244. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
  39245. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39246. c[B >> 2] =
  39247. (c[c[j >> 2] >> 2] | 0) +
  39248. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39249. c[C >> 2] =
  39250. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
  39251. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39252. c[D >> 2] =
  39253. iy(c[y >> 2] | 0, c[B >> 2] | 0, C, c[z >> 2] | 0, A) |
  39254. 0;
  39255. z = ((c[j >> 2] | 0) + 8) | 0;
  39256. c[z >> 2] = (c[z >> 2] | 0) + (c[C >> 2] | 0);
  39257. C = ((c[k >> 2] | 0) + 8) | 0;
  39258. c[C >> 2] = (c[C >> 2] | 0) + (c[A >> 2] | 0);
  39259. c[g >> 2] = c[D >> 2];
  39260. K = c[g >> 2] | 0;
  39261. l = f;
  39262. return K | 0;
  39263. }
  39264. case 5: {
  39265. c[s >> 2] = c[h >> 2];
  39266. c[t >> 2] =
  39267. (c[c[k >> 2] >> 2] | 0) +
  39268. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39269. c[u >> 2] =
  39270. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
  39271. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39272. c[v >> 2] =
  39273. (c[c[j >> 2] >> 2] | 0) +
  39274. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39275. c[w >> 2] =
  39276. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
  39277. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39278. c[x >> 2] =
  39279. hy(c[s >> 2] | 0, c[v >> 2] | 0, w, c[t >> 2] | 0, u) |
  39280. 0;
  39281. t = ((c[j >> 2] | 0) + 8) | 0;
  39282. c[t >> 2] = (c[t >> 2] | 0) + (c[w >> 2] | 0);
  39283. w = ((c[k >> 2] | 0) + 8) | 0;
  39284. c[w >> 2] = (c[w >> 2] | 0) + (c[u >> 2] | 0);
  39285. c[g >> 2] = c[x >> 2];
  39286. K = c[g >> 2] | 0;
  39287. l = f;
  39288. return K | 0;
  39289. }
  39290. case 4: {
  39291. c[m >> 2] = c[h >> 2];
  39292. c[n >> 2] =
  39293. (c[c[k >> 2] >> 2] | 0) +
  39294. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39295. c[o >> 2] =
  39296. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
  39297. (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
  39298. c[p >> 2] =
  39299. (c[c[j >> 2] >> 2] | 0) +
  39300. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39301. c[q >> 2] =
  39302. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
  39303. (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  39304. c[r >> 2] =
  39305. gy(c[m >> 2] | 0, c[p >> 2] | 0, q, c[n >> 2] | 0, o) |
  39306. 0;
  39307. n = ((c[j >> 2] | 0) + 8) | 0;
  39308. c[n >> 2] = (c[n >> 2] | 0) + (c[q >> 2] | 0);
  39309. q = ((c[k >> 2] | 0) + 8) | 0;
  39310. c[q >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
  39311. c[g >> 2] = c[r >> 2];
  39312. K = c[g >> 2] | 0;
  39313. l = f;
  39314. return K | 0;
  39315. }
  39316. default: {
  39317. c[g >> 2] = -12;
  39318. K = c[g >> 2] | 0;
  39319. l = f;
  39320. return K | 0;
  39321. }
  39322. }
  39323. return 0;
  39324. }
  39325. function Sx(a, b, d, e, f) {
  39326. a = a | 0;
  39327. b = b | 0;
  39328. d = d | 0;
  39329. e = e | 0;
  39330. f = f | 0;
  39331. var g = 0,
  39332. h = 0,
  39333. i = 0,
  39334. j = 0,
  39335. k = 0,
  39336. m = 0,
  39337. n = 0,
  39338. o = 0,
  39339. p = 0,
  39340. q = 0,
  39341. r = 0,
  39342. s = 0,
  39343. t = 0,
  39344. u = 0,
  39345. v = 0,
  39346. w = 0;
  39347. g = l;
  39348. l = (l + 48) | 0;
  39349. h = (g + 36) | 0;
  39350. i = (g + 32) | 0;
  39351. j = (g + 28) | 0;
  39352. k = (g + 24) | 0;
  39353. m = (g + 20) | 0;
  39354. n = (g + 16) | 0;
  39355. o = (g + 12) | 0;
  39356. p = (g + 8) | 0;
  39357. q = (g + 4) | 0;
  39358. r = g;
  39359. c[i >> 2] = a;
  39360. c[j >> 2] = b;
  39361. c[k >> 2] = d;
  39362. c[m >> 2] = e;
  39363. c[n >> 2] = f;
  39364. if ((c[j >> 2] | 0) != (c[k >> 2] | 0))
  39365. Zp(c[c[i >> 2] >> 2] | 0, c[j >> 2] | 0) | 0;
  39366. switch (c[k >> 2] | 0) {
  39367. case 7: {
  39368. if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) s = ay() | 0;
  39369. else s = c[c[i >> 2] >> 2] | 0;
  39370. c[r >> 2] = s;
  39371. if (!(c[r >> 2] | 0)) {
  39372. c[h >> 2] = -64;
  39373. t = c[h >> 2] | 0;
  39374. l = g;
  39375. return t | 0;
  39376. } else {
  39377. by(c[r >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  39378. c[c[i >> 2] >> 2] = c[r >> 2];
  39379. c[h >> 2] = 0;
  39380. t = c[h >> 2] | 0;
  39381. l = g;
  39382. return t | 0;
  39383. }
  39384. break;
  39385. }
  39386. case 6: {
  39387. if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) u = _x() | 0;
  39388. else u = c[c[i >> 2] >> 2] | 0;
  39389. c[q >> 2] = u;
  39390. if (!(c[q >> 2] | 0)) {
  39391. c[h >> 2] = -64;
  39392. t = c[h >> 2] | 0;
  39393. l = g;
  39394. return t | 0;
  39395. } else {
  39396. $x(c[q >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  39397. c[c[i >> 2] >> 2] = c[q >> 2];
  39398. c[h >> 2] = 0;
  39399. t = c[h >> 2] | 0;
  39400. l = g;
  39401. return t | 0;
  39402. }
  39403. break;
  39404. }
  39405. case 5: {
  39406. if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) v = Yx() | 0;
  39407. else v = c[c[i >> 2] >> 2] | 0;
  39408. c[p >> 2] = v;
  39409. if (!(c[p >> 2] | 0)) {
  39410. c[h >> 2] = -64;
  39411. t = c[h >> 2] | 0;
  39412. l = g;
  39413. return t | 0;
  39414. } else {
  39415. Zx(c[p >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  39416. c[c[i >> 2] >> 2] = c[p >> 2];
  39417. c[h >> 2] = 0;
  39418. t = c[h >> 2] | 0;
  39419. l = g;
  39420. return t | 0;
  39421. }
  39422. break;
  39423. }
  39424. case 4: {
  39425. if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) w = Vx() | 0;
  39426. else w = c[c[i >> 2] >> 2] | 0;
  39427. c[o >> 2] = w;
  39428. if (!(c[o >> 2] | 0)) {
  39429. c[h >> 2] = -64;
  39430. t = c[h >> 2] | 0;
  39431. l = g;
  39432. return t | 0;
  39433. } else {
  39434. Wx(c[o >> 2] | 0) | 0;
  39435. Xx(c[o >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  39436. c[c[i >> 2] >> 2] = c[o >> 2];
  39437. c[h >> 2] = 0;
  39438. t = c[h >> 2] | 0;
  39439. l = g;
  39440. return t | 0;
  39441. }
  39442. break;
  39443. }
  39444. default: {
  39445. c[h >> 2] = 0;
  39446. t = c[h >> 2] | 0;
  39447. l = g;
  39448. return t | 0;
  39449. }
  39450. }
  39451. return 0;
  39452. }
  39453. function Tx(a) {
  39454. a = a | 0;
  39455. var b = 0,
  39456. d = 0;
  39457. b = l;
  39458. l = (l + 16) | 0;
  39459. d = b;
  39460. c[d >> 2] = a;
  39461. l = b;
  39462. return ((c[((c[d >> 2] | 0) + 28804) >> 2] | 0) == 7) | 0;
  39463. }
  39464. function Ux(a, b, d, e) {
  39465. a = a | 0;
  39466. b = b | 0;
  39467. d = d | 0;
  39468. e = e | 0;
  39469. var f = 0,
  39470. g = 0,
  39471. h = 0,
  39472. i = 0,
  39473. j = 0,
  39474. k = 0;
  39475. f = l;
  39476. l = (l + 32) | 0;
  39477. g = (f + 16) | 0;
  39478. h = (f + 12) | 0;
  39479. i = (f + 8) | 0;
  39480. j = (f + 4) | 0;
  39481. k = f;
  39482. c[g >> 2] = a;
  39483. c[h >> 2] = b;
  39484. c[i >> 2] = d;
  39485. c[j >> 2] = e;
  39486. c[k >> 2] =
  39487. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  39488. ? c[h >> 2] | 0
  39489. : c[j >> 2] | 0;
  39490. mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  39491. l = f;
  39492. return c[k >> 2] | 0;
  39493. }
  39494. function Vx() {
  39495. return fy() | 0;
  39496. }
  39497. function Wx(a) {
  39498. a = a | 0;
  39499. var b = 0,
  39500. d = 0;
  39501. b = l;
  39502. l = (l + 16) | 0;
  39503. d = b;
  39504. c[d >> 2] = a;
  39505. a = ey(c[d >> 2] | 0) | 0;
  39506. l = b;
  39507. return a | 0;
  39508. }
  39509. function Xx(a, b, d) {
  39510. a = a | 0;
  39511. b = b | 0;
  39512. d = d | 0;
  39513. var e = 0,
  39514. f = 0,
  39515. g = 0,
  39516. h = 0;
  39517. e = l;
  39518. l = (l + 16) | 0;
  39519. f = (e + 8) | 0;
  39520. g = (e + 4) | 0;
  39521. h = e;
  39522. c[f >> 2] = a;
  39523. c[g >> 2] = b;
  39524. c[h >> 2] = d;
  39525. d = dy(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  39526. l = e;
  39527. return d | 0;
  39528. }
  39529. function Yx() {
  39530. var a = 0,
  39531. b = 0,
  39532. d = 0,
  39533. e = 0,
  39534. f = 0,
  39535. g = 0;
  39536. a = l;
  39537. l = (l + 16) | 0;
  39538. b = (a + 4) | 0;
  39539. d = a;
  39540. c[d >> 2] = Cy(96) | 0;
  39541. if (!(c[d >> 2] | 0)) {
  39542. c[b >> 2] = 0;
  39543. e = c[b >> 2] | 0;
  39544. l = a;
  39545. return e | 0;
  39546. } else {
  39547. f = c[d >> 2] | 0;
  39548. g = (f + 96) | 0;
  39549. do {
  39550. c[f >> 2] = 0;
  39551. f = (f + 4) | 0;
  39552. } while ((f | 0) < (g | 0));
  39553. f = ns() | 0;
  39554. c[c[d >> 2] >> 2] = f;
  39555. c[((c[d >> 2] | 0) + 80) >> 2] = 0;
  39556. c[b >> 2] = c[d >> 2];
  39557. e = c[b >> 2] | 0;
  39558. l = a;
  39559. return e | 0;
  39560. }
  39561. return 0;
  39562. }
  39563. function Zx(a, b, d) {
  39564. a = a | 0;
  39565. b = b | 0;
  39566. d = d | 0;
  39567. var e = 0,
  39568. f = 0,
  39569. g = 0,
  39570. h = 0;
  39571. e = l;
  39572. l = (l + 16) | 0;
  39573. f = (e + 8) | 0;
  39574. g = (e + 4) | 0;
  39575. h = e;
  39576. c[f >> 2] = a;
  39577. c[g >> 2] = b;
  39578. c[h >> 2] = d;
  39579. c[((c[f >> 2] | 0) + 80) >> 2] = 1;
  39580. c[((c[f >> 2] | 0) + 72) >> 2] = 0;
  39581. c[((c[f >> 2] | 0) + 68) >> 2] = 0;
  39582. c[((c[f >> 2] | 0) + 56) >> 2] = 0;
  39583. c[((c[f >> 2] | 0) + 76) >> 2] = 0;
  39584. d =
  39585. Su(c[c[f >> 2] >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  39586. l = e;
  39587. return d | 0;
  39588. }
  39589. function _x() {
  39590. var a = 0,
  39591. b = 0,
  39592. d = 0,
  39593. e = 0,
  39594. f = 0,
  39595. g = 0;
  39596. a = l;
  39597. l = (l + 16) | 0;
  39598. b = (a + 4) | 0;
  39599. d = a;
  39600. c[d >> 2] = Cy(80) | 0;
  39601. if (!(c[d >> 2] | 0)) {
  39602. c[b >> 2] = 0;
  39603. e = c[b >> 2] | 0;
  39604. l = a;
  39605. return e | 0;
  39606. } else {
  39607. f = c[d >> 2] | 0;
  39608. g = (f + 80) | 0;
  39609. do {
  39610. c[f >> 2] = 0;
  39611. f = (f + 4) | 0;
  39612. } while ((f | 0) < (g | 0));
  39613. f = ps() | 0;
  39614. c[c[d >> 2] >> 2] = f;
  39615. c[((c[d >> 2] | 0) + 24) >> 2] = 0;
  39616. c[b >> 2] = c[d >> 2];
  39617. e = c[b >> 2] | 0;
  39618. l = a;
  39619. return e | 0;
  39620. }
  39621. return 0;
  39622. }
  39623. function $x(a, b, d) {
  39624. a = a | 0;
  39625. b = b | 0;
  39626. d = d | 0;
  39627. var e = 0,
  39628. f = 0,
  39629. g = 0,
  39630. h = 0;
  39631. e = l;
  39632. l = (l + 16) | 0;
  39633. f = (e + 8) | 0;
  39634. g = (e + 4) | 0;
  39635. h = e;
  39636. c[f >> 2] = a;
  39637. c[g >> 2] = b;
  39638. c[h >> 2] = d;
  39639. c[((c[f >> 2] | 0) + 24) >> 2] = 1;
  39640. c[((c[f >> 2] | 0) + 52) >> 2] = 0;
  39641. c[((c[f >> 2] | 0) + 48) >> 2] = 0;
  39642. c[((c[f >> 2] | 0) + 36) >> 2] = 0;
  39643. c[((c[f >> 2] | 0) + 76) >> 2] = 0;
  39644. d =
  39645. Jt(c[c[f >> 2] >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  39646. l = e;
  39647. return d | 0;
  39648. }
  39649. function ay() {
  39650. var a = 0,
  39651. b = 0,
  39652. d = 0;
  39653. a = l;
  39654. l = (l + 16) | 0;
  39655. b = a;
  39656. c[b >> 2] = c[2988];
  39657. c[(b + 4) >> 2] = c[2989];
  39658. c[(b + 8) >> 2] = c[2990];
  39659. d = cy(b) | 0;
  39660. l = a;
  39661. return d | 0;
  39662. }
  39663. function by(a, b, d) {
  39664. a = a | 0;
  39665. b = b | 0;
  39666. d = d | 0;
  39667. var e = 0,
  39668. f = 0,
  39669. g = 0,
  39670. h = 0;
  39671. e = l;
  39672. l = (l + 16) | 0;
  39673. f = (e + 8) | 0;
  39674. g = (e + 4) | 0;
  39675. h = e;
  39676. c[f >> 2] = a;
  39677. c[g >> 2] = b;
  39678. c[h >> 2] = d;
  39679. c[((c[f >> 2] | 0) + 32) >> 2] = 1;
  39680. c[((c[f >> 2] | 0) + 60) >> 2] = 0;
  39681. c[((c[f >> 2] | 0) + 56) >> 2] = 0;
  39682. c[((c[f >> 2] | 0) + 44) >> 2] = 0;
  39683. c[((c[f >> 2] | 0) + 88) >> 2] = 0;
  39684. d =
  39685. ts(c[c[f >> 2] >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  39686. l = e;
  39687. return d | 0;
  39688. }
  39689. function cy(a) {
  39690. a = a | 0;
  39691. var b = 0,
  39692. d = 0,
  39693. e = 0,
  39694. f = 0,
  39695. g = 0,
  39696. h = 0,
  39697. i = 0;
  39698. b = l;
  39699. l = (l + 32) | 0;
  39700. d = (b + 8) | 0;
  39701. e = (b + 4) | 0;
  39702. f = b;
  39703. if ((c[a >> 2] | 0) == 0 ? (c[(a + 4) >> 2] | 0) == 0 : 0) {
  39704. c[a >> 2] = c[2988];
  39705. c[(a + 4) >> 2] = c[2989];
  39706. c[(a + 8) >> 2] = c[2990];
  39707. }
  39708. if (c[a >> 2] | 0 ? c[(a + 4) >> 2] | 0 : 0) {
  39709. c[f >> 2] =
  39710. qc[c[a >> 2] & 63](c[(a + 8) >> 2] | 0, 104) | 0;
  39711. if (!(c[f >> 2] | 0)) {
  39712. c[e >> 2] = 0;
  39713. g = c[e >> 2] | 0;
  39714. l = b;
  39715. return g | 0;
  39716. }
  39717. h = c[f >> 2] | 0;
  39718. i = (h + 104) | 0;
  39719. do {
  39720. c[h >> 2] = 0;
  39721. h = (h + 4) | 0;
  39722. } while ((h | 0) < (i | 0));
  39723. h = ((c[f >> 2] | 0) + 92) | 0;
  39724. c[h >> 2] = c[a >> 2];
  39725. c[(h + 4) >> 2] = c[(a + 4) >> 2];
  39726. c[(h + 8) >> 2] = c[(a + 8) >> 2];
  39727. c[d >> 2] = c[a >> 2];
  39728. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  39729. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  39730. a = Gt(d) | 0;
  39731. c[c[f >> 2] >> 2] = a;
  39732. a = c[f >> 2] | 0;
  39733. if (!(c[c[f >> 2] >> 2] | 0)) {
  39734. bq(a) | 0;
  39735. c[e >> 2] = 0;
  39736. g = c[e >> 2] | 0;
  39737. l = b;
  39738. return g | 0;
  39739. } else {
  39740. c[(a + 32) >> 2] = 0;
  39741. c[e >> 2] = c[f >> 2];
  39742. g = c[e >> 2] | 0;
  39743. l = b;
  39744. return g | 0;
  39745. }
  39746. }
  39747. c[e >> 2] = 0;
  39748. g = c[e >> 2] | 0;
  39749. l = b;
  39750. return g | 0;
  39751. }
  39752. function dy(a, b, d) {
  39753. a = a | 0;
  39754. b = b | 0;
  39755. d = d | 0;
  39756. var e = 0,
  39757. f = 0,
  39758. g = 0,
  39759. h = 0;
  39760. e = l;
  39761. l = (l + 16) | 0;
  39762. f = (e + 8) | 0;
  39763. g = (e + 4) | 0;
  39764. h = e;
  39765. c[f >> 2] = a;
  39766. c[g >> 2] = b;
  39767. c[h >> 2] = d;
  39768. c[((c[f >> 2] | 0) + 72) >> 2] = c[g >> 2];
  39769. c[((c[f >> 2] | 0) + 76) >> 2] = c[h >> 2];
  39770. l = e;
  39771. return 0;
  39772. }
  39773. function ey(a) {
  39774. a = a | 0;
  39775. var b = 0,
  39776. d = 0;
  39777. b = l;
  39778. l = (l + 16) | 0;
  39779. d = b;
  39780. c[d >> 2] = a;
  39781. c[((c[d >> 2] | 0) + 80) >> 2] = 1;
  39782. c[((c[d >> 2] | 0) + 76) >> 2] = 0;
  39783. c[((c[d >> 2] | 0) + 64) >> 2] = 0;
  39784. c[((c[d >> 2] | 0) + 60) >> 2] = 0;
  39785. c[((c[d >> 2] | 0) + 48) >> 2] = 0;
  39786. c[((c[d >> 2] | 0) + 68) >> 2] = 0;
  39787. a = kw(c[c[d >> 2] >> 2] | 0) | 0;
  39788. l = b;
  39789. return a | 0;
  39790. }
  39791. function fy() {
  39792. var a = 0,
  39793. b = 0,
  39794. d = 0,
  39795. e = 0,
  39796. f = 0,
  39797. g = 0;
  39798. a = l;
  39799. l = (l + 16) | 0;
  39800. b = (a + 4) | 0;
  39801. d = a;
  39802. c[d >> 2] = Cy(96) | 0;
  39803. if (!(c[d >> 2] | 0)) {
  39804. c[b >> 2] = 0;
  39805. e = c[b >> 2] | 0;
  39806. l = a;
  39807. return e | 0;
  39808. } else {
  39809. f = c[d >> 2] | 0;
  39810. g = (f + 96) | 0;
  39811. do {
  39812. c[f >> 2] = 0;
  39813. f = (f + 4) | 0;
  39814. } while ((f | 0) < (g | 0));
  39815. f = hw() | 0;
  39816. c[c[d >> 2] >> 2] = f;
  39817. c[((c[d >> 2] | 0) + 80) >> 2] = 0;
  39818. c[b >> 2] = c[d >> 2];
  39819. e = c[b >> 2] | 0;
  39820. l = a;
  39821. return e | 0;
  39822. }
  39823. return 0;
  39824. }
  39825. function gy(a, b, d, e, f) {
  39826. a = a | 0;
  39827. b = b | 0;
  39828. d = d | 0;
  39829. e = e | 0;
  39830. f = f | 0;
  39831. var g = 0,
  39832. h = 0,
  39833. i = 0,
  39834. j = 0,
  39835. k = 0,
  39836. m = 0;
  39837. g = l;
  39838. l = (l + 32) | 0;
  39839. h = (g + 16) | 0;
  39840. i = (g + 12) | 0;
  39841. j = (g + 8) | 0;
  39842. k = (g + 4) | 0;
  39843. m = g;
  39844. c[h >> 2] = a;
  39845. c[i >> 2] = b;
  39846. c[j >> 2] = d;
  39847. c[k >> 2] = e;
  39848. c[m >> 2] = f;
  39849. f =
  39850. uy(
  39851. c[h >> 2] | 0,
  39852. c[i >> 2] | 0,
  39853. c[j >> 2] | 0,
  39854. c[k >> 2] | 0,
  39855. c[m >> 2] | 0
  39856. ) | 0;
  39857. l = g;
  39858. return f | 0;
  39859. }
  39860. function Ko(a, b, d, e, f, g, h) {
  39861. a = a | 0;
  39862. b = b | 0;
  39863. d = d | 0;
  39864. e = e | 0;
  39865. f = f | 0;
  39866. g = g | 0;
  39867. h = h | 0;
  39868. var i = 0,
  39869. j = 0,
  39870. k = 0,
  39871. m = 0,
  39872. n = 0,
  39873. o = 0,
  39874. p = 0,
  39875. q = 0,
  39876. r = 0,
  39877. s = 0,
  39878. t = 0;
  39879. i = l;
  39880. l = (l + 48) | 0;
  39881. j = (i + 32) | 0;
  39882. k = (i + 28) | 0;
  39883. m = (i + 24) | 0;
  39884. n = (i + 20) | 0;
  39885. o = (i + 16) | 0;
  39886. p = (i + 12) | 0;
  39887. q = (i + 8) | 0;
  39888. r = (i + 4) | 0;
  39889. s = i;
  39890. c[m >> 2] = a;
  39891. c[n >> 2] = b;
  39892. c[o >> 2] = d;
  39893. c[p >> 2] = e;
  39894. c[q >> 2] = f;
  39895. c[r >> 2] = g;
  39896. g = c[m >> 2] | 0;
  39897. f = c[r >> 2] | 0;
  39898. r = c[q >> 2] | 0;
  39899. c[j >> 2] = c[h >> 2];
  39900. c[(j + 4) >> 2] = c[(h + 4) >> 2];
  39901. c[(j + 8) >> 2] = c[(h + 8) >> 2];
  39902. c[s >> 2] = Jo(g, f, j, r, 0) | 0;
  39903. if (wj(c[s >> 2] | 0) | 0) {
  39904. c[k >> 2] = c[s >> 2];
  39905. t = c[k >> 2] | 0;
  39906. l = i;
  39907. return t | 0;
  39908. } else {
  39909. c[k >> 2] =
  39910. Bo(
  39911. c[m >> 2] | 0,
  39912. c[n >> 2] | 0,
  39913. c[o >> 2] | 0,
  39914. c[p >> 2] | 0,
  39915. c[q >> 2] | 0
  39916. ) | 0;
  39917. t = c[k >> 2] | 0;
  39918. l = i;
  39919. return t | 0;
  39920. }
  39921. return 0;
  39922. }
  39923. function Lo(a, b, d, e, f, g) {
  39924. a = a | 0;
  39925. b = b | 0;
  39926. d = d | 0;
  39927. e = e | 0;
  39928. f = f | 0;
  39929. g = g | 0;
  39930. var h = 0,
  39931. i = 0,
  39932. j = 0,
  39933. k = 0,
  39934. m = 0,
  39935. n = 0,
  39936. o = 0,
  39937. p = 0;
  39938. h = l;
  39939. l = (l + 48) | 0;
  39940. i = (h + 24) | 0;
  39941. j = (h + 20) | 0;
  39942. k = (h + 16) | 0;
  39943. m = (h + 12) | 0;
  39944. n = (h + 8) | 0;
  39945. o = (h + 4) | 0;
  39946. p = h;
  39947. c[j >> 2] = a;
  39948. c[k >> 2] = b;
  39949. c[m >> 2] = d;
  39950. c[n >> 2] = e;
  39951. c[o >> 2] = f;
  39952. c[p >> 2] = g;
  39953. g = c[j >> 2] | 0;
  39954. j = c[k >> 2] | 0;
  39955. k = c[m >> 2] | 0;
  39956. m = c[n >> 2] | 0;
  39957. n = c[o >> 2] | 0;
  39958. o = c[p >> 2] | 0;
  39959. c[i >> 2] = c[2981];
  39960. c[(i + 4) >> 2] = c[2982];
  39961. c[(i + 8) >> 2] = c[2983];
  39962. p = Ko(g, j, k, m, n, o, i) | 0;
  39963. l = h;
  39964. return p | 0;
  39965. }
  39966. function Mo() {
  39967. var a = 0,
  39968. b = 0,
  39969. d = 0;
  39970. a = l;
  39971. l = (l + 16) | 0;
  39972. b = a;
  39973. c[b >> 2] = c[5406];
  39974. c[(b + 4) >> 2] = c[5407];
  39975. c[(b + 8) >> 2] = c[5408];
  39976. d = No(b) | 0;
  39977. l = a;
  39978. return d | 0;
  39979. }
  39980. function No(a) {
  39981. a = a | 0;
  39982. var b = 0,
  39983. d = 0;
  39984. b = l;
  39985. l = (l + 16) | 0;
  39986. d = b;
  39987. c[d >> 2] = c[a >> 2];
  39988. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  39989. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  39990. a = nj(d) | 0;
  39991. l = b;
  39992. return a | 0;
  39993. }
  39994. function Oo(a) {
  39995. a = a | 0;
  39996. var b = 0,
  39997. d = 0;
  39998. b = l;
  39999. l = (l + 16) | 0;
  40000. d = b;
  40001. c[d >> 2] = a;
  40002. a = qj(c[d >> 2] | 0) | 0;
  40003. l = b;
  40004. return a | 0;
  40005. }
  40006. function Po() {
  40007. return 131072;
  40008. }
  40009. function Qo() {
  40010. return ((lj(131072) | 0) + 3 + 4) | 0;
  40011. }
  40012. function Ro(a, b, d, e, f, g, h, i) {
  40013. a = a | 0;
  40014. b = b | 0;
  40015. d = d | 0;
  40016. e = e | 0;
  40017. f = f | 0;
  40018. g = g | 0;
  40019. h = h | 0;
  40020. i = i | 0;
  40021. var j = 0,
  40022. k = 0,
  40023. m = 0,
  40024. n = 0,
  40025. o = 0,
  40026. p = 0,
  40027. q = 0,
  40028. r = 0,
  40029. s = 0,
  40030. t = 0,
  40031. u = 0;
  40032. j = l;
  40033. l = (l + 144) | 0;
  40034. k = (j + 40) | 0;
  40035. m = (j + 32) | 0;
  40036. n = (j + 28) | 0;
  40037. o = (j + 24) | 0;
  40038. p = (j + 20) | 0;
  40039. q = (j + 16) | 0;
  40040. r = (j + 12) | 0;
  40041. s = j;
  40042. t = (j + 8) | 0;
  40043. c[n >> 2] = a;
  40044. c[o >> 2] = b;
  40045. c[p >> 2] = d;
  40046. c[q >> 2] = e;
  40047. c[r >> 2] = f;
  40048. f = s;
  40049. c[f >> 2] = h;
  40050. c[(f + 4) >> 2] = i;
  40051. i = c[n >> 2] | 0;
  40052. f = c[o >> 2] | 0;
  40053. o = c[p >> 2] | 0;
  40054. p = c[q >> 2] | 0;
  40055. q = c[r >> 2] | 0;
  40056. r = s;
  40057. h = c[r >> 2] | 0;
  40058. e = c[(r + 4) >> 2] | 0;
  40059. r = k;
  40060. d = g;
  40061. g = (r + 104) | 0;
  40062. do {
  40063. c[r >> 2] = c[d >> 2];
  40064. r = (r + 4) | 0;
  40065. d = (d + 4) | 0;
  40066. } while ((r | 0) < (g | 0));
  40067. c[t >> 2] = xo(i, f, o, p, q, k, h, e, 1) | 0;
  40068. if (wj(c[t >> 2] | 0) | 0) {
  40069. c[m >> 2] = c[t >> 2];
  40070. u = c[m >> 2] | 0;
  40071. l = j;
  40072. return u | 0;
  40073. } else {
  40074. c[((c[n >> 2] | 0) + 600) >> 2] = 0;
  40075. c[((c[n >> 2] | 0) + 604) >> 2] = 0;
  40076. t = s;
  40077. c[((c[n >> 2] | 0) + 608) >> 2] =
  40078. (c[((c[n >> 2] | 0) + 232) >> 2] | 0) +
  40079. ((0 == (c[(t + 4) >> 2] | 0)
  40080. ? (c[((c[n >> 2] | 0) + 232) >> 2] | 0) ==
  40081. (c[t >> 2] | 0)
  40082. : 0) &
  40083. 1);
  40084. c[((c[n >> 2] | 0) + 624) >> 2] = 0;
  40085. c[((c[n >> 2] | 0) + 620) >> 2] = 0;
  40086. c[((c[n >> 2] | 0) + 628) >> 2] = 1;
  40087. c[((c[n >> 2] | 0) + 632) >> 2] = 0;
  40088. c[m >> 2] = 0;
  40089. u = c[m >> 2] | 0;
  40090. l = j;
  40091. return u | 0;
  40092. }
  40093. return 0;
  40094. }
  40095. function So(a, b, d, e, f, g, h) {
  40096. a = a | 0;
  40097. b = b | 0;
  40098. d = d | 0;
  40099. e = e | 0;
  40100. f = f | 0;
  40101. g = g | 0;
  40102. h = h | 0;
  40103. var i = 0,
  40104. j = 0,
  40105. k = 0,
  40106. m = 0,
  40107. n = 0,
  40108. o = 0,
  40109. p = 0,
  40110. q = 0,
  40111. r = 0,
  40112. s = 0,
  40113. t = 0;
  40114. i = l;
  40115. l = (l + 192) | 0;
  40116. j = (i + 88) | 0;
  40117. k = (i + 52) | 0;
  40118. m = (i + 80) | 0;
  40119. n = (i + 48) | 0;
  40120. o = (i + 44) | 0;
  40121. p = (i + 40) | 0;
  40122. q = (i + 36) | 0;
  40123. r = i;
  40124. s = (i + 8) | 0;
  40125. c[n >> 2] = a;
  40126. c[o >> 2] = b;
  40127. c[p >> 2] = d;
  40128. c[q >> 2] = e;
  40129. e = r;
  40130. c[e >> 2] = g;
  40131. c[(e + 4) >> 2] = h;
  40132. if (((c[o >> 2] | 0) != 0) & ((c[p >> 2] | 0) >>> 0 >= 8)) {
  40133. if (c[((c[n >> 2] | 0) + 364) >> 2] | 0) {
  40134. c[m >> 2] = -64;
  40135. t = c[m >> 2] | 0;
  40136. l = i;
  40137. return t | 0;
  40138. }
  40139. rj(c[((c[n >> 2] | 0) + 636) >> 2] | 0) | 0;
  40140. h = c[o >> 2] | 0;
  40141. o = c[p >> 2] | 0;
  40142. p = (f + 4) | 0;
  40143. e = ((c[n >> 2] | 0) + 352) | 0;
  40144. c[k >> 2] = c[p >> 2];
  40145. c[(k + 4) >> 2] = c[(p + 4) >> 2];
  40146. c[(k + 8) >> 2] = c[(p + 8) >> 2];
  40147. c[(k + 12) >> 2] = c[(p + 12) >> 2];
  40148. c[(k + 16) >> 2] = c[(p + 16) >> 2];
  40149. c[(k + 20) >> 2] = c[(p + 20) >> 2];
  40150. c[(k + 24) >> 2] = c[(p + 24) >> 2];
  40151. c[j >> 2] = c[e >> 2];
  40152. c[(j + 4) >> 2] = c[(e + 4) >> 2];
  40153. c[(j + 8) >> 2] = c[(e + 8) >> 2];
  40154. e = zj(h, o, 0, 0, k, j) | 0;
  40155. c[((c[n >> 2] | 0) + 636) >> 2] = e;
  40156. c[((c[n >> 2] | 0) + 640) >> 2] =
  40157. c[((c[n >> 2] | 0) + 636) >> 2];
  40158. if (!(c[((c[n >> 2] | 0) + 636) >> 2] | 0)) {
  40159. c[m >> 2] = -64;
  40160. t = c[m >> 2] | 0;
  40161. l = i;
  40162. return t | 0;
  40163. }
  40164. } else {
  40165. if (c[q >> 2] | 0) {
  40166. e = (f + 4) | 0;
  40167. Io(s, c[q >> 2] | 0);
  40168. c[e >> 2] = c[s >> 2];
  40169. c[(e + 4) >> 2] = c[(s + 4) >> 2];
  40170. c[(e + 8) >> 2] = c[(s + 8) >> 2];
  40171. c[(e + 12) >> 2] = c[(s + 12) >> 2];
  40172. c[(e + 16) >> 2] = c[(s + 16) >> 2];
  40173. c[(e + 20) >> 2] = c[(s + 20) >> 2];
  40174. c[(e + 24) >> 2] = c[(s + 24) >> 2];
  40175. }
  40176. rj(c[((c[n >> 2] | 0) + 636) >> 2] | 0) | 0;
  40177. c[((c[n >> 2] | 0) + 636) >> 2] = 0;
  40178. c[((c[n >> 2] | 0) + 640) >> 2] = c[q >> 2];
  40179. }
  40180. q = c[n >> 2] | 0;
  40181. s = c[((c[n >> 2] | 0) + 640) >> 2] | 0;
  40182. n = r;
  40183. r = c[n >> 2] | 0;
  40184. e = c[(n + 4) >> 2] | 0;
  40185. n = j;
  40186. k = f;
  40187. f = (n + 104) | 0;
  40188. do {
  40189. c[n >> 2] = c[k >> 2];
  40190. n = (n + 4) | 0;
  40191. k = (k + 4) | 0;
  40192. } while ((n | 0) < (f | 0));
  40193. c[m >> 2] = Ro(q, 0, 0, 0, s, j, r, e) | 0;
  40194. t = c[m >> 2] | 0;
  40195. l = i;
  40196. return t | 0;
  40197. }
  40198. function To(a, b, d, e, f) {
  40199. a = a | 0;
  40200. b = b | 0;
  40201. d = d | 0;
  40202. e = e | 0;
  40203. f = f | 0;
  40204. var g = 0,
  40205. h = 0,
  40206. i = 0,
  40207. j = 0,
  40208. k = 0,
  40209. m = 0,
  40210. n = 0,
  40211. o = 0,
  40212. p = 0;
  40213. g = l;
  40214. l = (l + 272) | 0;
  40215. h = (g + 160) | 0;
  40216. i = (g + 152) | 0;
  40217. j = (g + 148) | 0;
  40218. k = (g + 144) | 0;
  40219. m = g;
  40220. n = (g + 40) | 0;
  40221. o = (g + 8) | 0;
  40222. c[j >> 2] = a;
  40223. c[k >> 2] = b;
  40224. b = m;
  40225. c[b >> 2] = e;
  40226. c[(b + 4) >> 2] = f;
  40227. if (c[k >> 2] | 0) {
  40228. f = n;
  40229. b = ((c[j >> 2] | 0) + 12) | 0;
  40230. e = (f + 104) | 0;
  40231. do {
  40232. c[f >> 2] = c[b >> 2];
  40233. f = (f + 4) | 0;
  40234. b = (b + 4) | 0;
  40235. } while ((f | 0) < (e | 0));
  40236. a = (n + 4) | 0;
  40237. Io(o, c[k >> 2] | 0);
  40238. c[a >> 2] = c[o >> 2];
  40239. c[(a + 4) >> 2] = c[(o + 4) >> 2];
  40240. c[(a + 8) >> 2] = c[(o + 8) >> 2];
  40241. c[(a + 12) >> 2] = c[(o + 12) >> 2];
  40242. c[(a + 16) >> 2] = c[(o + 16) >> 2];
  40243. c[(a + 20) >> 2] = c[(o + 20) >> 2];
  40244. c[(a + 24) >> 2] = c[(o + 24) >> 2];
  40245. o = (n + 32) | 0;
  40246. c[o >> 2] = c[d >> 2];
  40247. c[(o + 4) >> 2] = c[(d + 4) >> 2];
  40248. c[(o + 8) >> 2] = c[(d + 8) >> 2];
  40249. d = c[j >> 2] | 0;
  40250. j = c[k >> 2] | 0;
  40251. k = m;
  40252. m = c[k >> 2] | 0;
  40253. o = c[(k + 4) >> 2] | 0;
  40254. f = h;
  40255. b = n;
  40256. e = (f + 104) | 0;
  40257. do {
  40258. c[f >> 2] = c[b >> 2];
  40259. f = (f + 4) | 0;
  40260. b = (b + 4) | 0;
  40261. } while ((f | 0) < (e | 0));
  40262. c[i >> 2] = So(d, 0, 0, j, h, m, o) | 0;
  40263. p = c[i >> 2] | 0;
  40264. l = g;
  40265. return p | 0;
  40266. } else {
  40267. c[i >> 2] = -32;
  40268. p = c[i >> 2] | 0;
  40269. l = g;
  40270. return p | 0;
  40271. }
  40272. return 0;
  40273. }
  40274. function Uo(a, b) {
  40275. a = a | 0;
  40276. b = b | 0;
  40277. var d = 0,
  40278. e = 0,
  40279. f = 0,
  40280. g = 0;
  40281. d = l;
  40282. l = (l + 32) | 0;
  40283. e = (d + 8) | 0;
  40284. f = (d + 4) | 0;
  40285. g = d;
  40286. c[f >> 2] = a;
  40287. c[g >> 2] = b;
  40288. b = c[f >> 2] | 0;
  40289. f = c[g >> 2] | 0;
  40290. c[e >> 2] = c[5409];
  40291. c[(e + 4) >> 2] = c[5410];
  40292. c[(e + 8) >> 2] = c[5411];
  40293. g = To(b, f, e, -1, -1) | 0;
  40294. l = d;
  40295. return g | 0;
  40296. }
  40297. function Vo(a, b, d, e) {
  40298. a = a | 0;
  40299. b = b | 0;
  40300. d = d | 0;
  40301. e = e | 0;
  40302. var f = 0,
  40303. g = 0,
  40304. h = 0,
  40305. i = 0,
  40306. j = 0,
  40307. k = 0,
  40308. m = 0,
  40309. n = 0,
  40310. o = 0;
  40311. f = l;
  40312. l = (l + 384) | 0;
  40313. g = (f + 280) | 0;
  40314. h = (f + 168) | 0;
  40315. i = (f + 272) | 0;
  40316. j = (f + 160) | 0;
  40317. k = (f + 8) | 0;
  40318. m = f;
  40319. n = (f + 120) | 0;
  40320. o = (f + 16) | 0;
  40321. c[i >> 2] = a;
  40322. c[j >> 2] = b;
  40323. b = k;
  40324. c[b >> 2] = d;
  40325. c[(b + 4) >> 2] = e;
  40326. e = k;
  40327. b = ((c[e >> 2] | 0) == 0) & ((c[(e + 4) >> 2] | 0) == 0);
  40328. e = k;
  40329. k = b ? -1 : c[(e + 4) >> 2] | 0;
  40330. d = m;
  40331. c[d >> 2] = b ? -1 : c[e >> 2] | 0;
  40332. c[(d + 4) >> 2] = k;
  40333. k = m;
  40334. Ao(n, c[j >> 2] | 0, c[k >> 2] | 0, c[(k + 4) >> 2] | 0, 0);
  40335. k = h;
  40336. j = ((c[i >> 2] | 0) + 12) | 0;
  40337. d = (k + 104) | 0;
  40338. do {
  40339. c[k >> 2] = c[j >> 2];
  40340. k = (k + 4) | 0;
  40341. j = (j + 4) | 0;
  40342. } while ((k | 0) < (d | 0));
  40343. k = g;
  40344. j = n;
  40345. d = (k + 40) | 0;
  40346. do {
  40347. c[k >> 2] = c[j >> 2];
  40348. k = (k + 4) | 0;
  40349. j = (j + 4) | 0;
  40350. } while ((k | 0) < (d | 0));
  40351. zo(o, h, g);
  40352. h = c[i >> 2] | 0;
  40353. i = m;
  40354. m = c[i >> 2] | 0;
  40355. n = c[(i + 4) >> 2] | 0;
  40356. k = g;
  40357. j = o;
  40358. d = (k + 104) | 0;
  40359. do {
  40360. c[k >> 2] = c[j >> 2];
  40361. k = (k + 4) | 0;
  40362. j = (j + 4) | 0;
  40363. } while ((k | 0) < (d | 0));
  40364. j = So(h, 0, 0, 0, g, m, n) | 0;
  40365. l = f;
  40366. return j | 0;
  40367. }
  40368. function Wo(a, b) {
  40369. a = a | 0;
  40370. b = b | 0;
  40371. var d = 0,
  40372. e = 0,
  40373. f = 0;
  40374. d = l;
  40375. l = (l + 16) | 0;
  40376. e = (d + 4) | 0;
  40377. f = d;
  40378. c[e >> 2] = a;
  40379. c[f >> 2] = b;
  40380. b = Vo(c[e >> 2] | 0, c[f >> 2] | 0, -1, -1) | 0;
  40381. l = d;
  40382. return b | 0;
  40383. }
  40384. function Xo(a, b, d, e) {
  40385. a = a | 0;
  40386. b = b | 0;
  40387. d = d | 0;
  40388. e = e | 0;
  40389. var f = 0,
  40390. g = 0,
  40391. h = 0,
  40392. i = 0,
  40393. j = 0,
  40394. k = 0,
  40395. m = 0,
  40396. n = 0,
  40397. o = 0,
  40398. p = 0,
  40399. q = 0,
  40400. r = 0,
  40401. s = 0,
  40402. t = 0,
  40403. u = 0,
  40404. v = 0,
  40405. w = 0,
  40406. x = 0,
  40407. y = 0,
  40408. z = 0,
  40409. A = 0,
  40410. B = 0,
  40411. C = 0,
  40412. D = 0,
  40413. E = 0,
  40414. F = 0,
  40415. G = 0,
  40416. H = 0,
  40417. I = 0;
  40418. f = l;
  40419. l = (l + 96) | 0;
  40420. g = (f + 88) | 0;
  40421. h = (f + 84) | 0;
  40422. i = (f + 80) | 0;
  40423. j = (f + 76) | 0;
  40424. k = (f + 72) | 0;
  40425. m = (f + 68) | 0;
  40426. n = (f + 64) | 0;
  40427. o = (f + 60) | 0;
  40428. p = (f + 56) | 0;
  40429. q = (f + 52) | 0;
  40430. r = (f + 48) | 0;
  40431. s = (f + 44) | 0;
  40432. t = (f + 40) | 0;
  40433. u = (f + 36) | 0;
  40434. v = (f + 32) | 0;
  40435. w = (f + 28) | 0;
  40436. x = (f + 24) | 0;
  40437. y = (f + 20) | 0;
  40438. z = (f + 16) | 0;
  40439. A = (f + 12) | 0;
  40440. B = (f + 8) | 0;
  40441. C = (f + 4) | 0;
  40442. D = f;
  40443. c[h >> 2] = a;
  40444. c[i >> 2] = b;
  40445. c[j >> 2] = d;
  40446. c[k >> 2] = e;
  40447. c[m >> 2] = c[c[j >> 2] >> 2];
  40448. c[n >> 2] =
  40449. (c[m >> 2] | 0) + (c[((c[j >> 2] | 0) + 4) >> 2] | 0);
  40450. c[o >> 2] =
  40451. (c[m >> 2] | 0) + (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
  40452. c[p >> 2] = c[c[i >> 2] >> 2];
  40453. c[q >> 2] =
  40454. (c[p >> 2] | 0) + (c[((c[i >> 2] | 0) + 4) >> 2] | 0);
  40455. c[r >> 2] =
  40456. (c[p >> 2] | 0) + (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
  40457. c[s >> 2] = 1;
  40458. a: while (1) {
  40459. if (!(c[s >> 2] | 0)) {
  40460. E = 39;
  40461. break;
  40462. }
  40463. b: do {
  40464. switch (c[((c[h >> 2] | 0) + 628) >> 2] | 0) {
  40465. case 0: {
  40466. E = 4;
  40467. break a;
  40468. break;
  40469. }
  40470. case 1: {
  40471. if (
  40472. (
  40473. (c[k >> 2] | 0) == 2
  40474. ? ((e =
  40475. ((c[q >> 2] | 0) - (c[r >> 2] | 0)) | 0),
  40476. e >>> 0 >=
  40477. (lj(
  40478. ((c[n >> 2] | 0) - (c[o >> 2] | 0)) | 0
  40479. ) |
  40480. 0) >>>
  40481. 0)
  40482. : 0
  40483. )
  40484. ? (c[((c[h >> 2] | 0) + 604) >> 2] | 0) == 0
  40485. : 0
  40486. ) {
  40487. c[t >> 2] =
  40488. Bo(
  40489. c[h >> 2] | 0,
  40490. c[r >> 2] | 0,
  40491. ((c[q >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  40492. c[o >> 2] | 0,
  40493. ((c[n >> 2] | 0) - (c[o >> 2] | 0)) | 0
  40494. ) | 0;
  40495. if (Ph(c[t >> 2] | 0) | 0) {
  40496. E = 9;
  40497. break a;
  40498. }
  40499. c[o >> 2] = c[n >> 2];
  40500. c[r >> 2] = (c[r >> 2] | 0) + (c[t >> 2] | 0);
  40501. c[((c[h >> 2] | 0) + 632) >> 2] = 1;
  40502. jl(c[h >> 2] | 0);
  40503. c[s >> 2] = 0;
  40504. break b;
  40505. }
  40506. c[u >> 2] =
  40507. (c[((c[h >> 2] | 0) + 608) >> 2] | 0) -
  40508. (c[((c[h >> 2] | 0) + 604) >> 2] | 0);
  40509. c[v >> 2] =
  40510. Yo(
  40511. ((c[((c[h >> 2] | 0) + 592) >> 2] | 0) +
  40512. (c[((c[h >> 2] | 0) + 604) >> 2] | 0)) |
  40513. 0,
  40514. c[u >> 2] | 0,
  40515. c[o >> 2] | 0,
  40516. ((c[n >> 2] | 0) - (c[o >> 2] | 0)) | 0
  40517. ) | 0;
  40518. e = ((c[h >> 2] | 0) + 604) | 0;
  40519. c[e >> 2] = (c[e >> 2] | 0) + (c[v >> 2] | 0);
  40520. c[o >> 2] = (c[o >> 2] | 0) + (c[v >> 2] | 0);
  40521. if (
  40522. (c[k >> 2] | 0) == 0
  40523. ? (c[((c[h >> 2] | 0) + 604) >> 2] | 0) >>> 0 <
  40524. (c[((c[h >> 2] | 0) + 608) >> 2] | 0) >>> 0
  40525. : 0
  40526. ) {
  40527. c[s >> 2] = 0;
  40528. break b;
  40529. }
  40530. if (
  40531. (c[k >> 2] | 0) == 1
  40532. ? (c[((c[h >> 2] | 0) + 604) >> 2] | 0) ==
  40533. (c[((c[h >> 2] | 0) + 600) >> 2] | 0)
  40534. : 0
  40535. ) {
  40536. c[s >> 2] = 0;
  40537. break b;
  40538. }
  40539. c[y >> 2] =
  40540. (c[((c[h >> 2] | 0) + 604) >> 2] | 0) -
  40541. (c[((c[h >> 2] | 0) + 600) >> 2] | 0);
  40542. c[z >> 2] = (c[q >> 2] | 0) - (c[r >> 2] | 0);
  40543. if ((c[k >> 2] | 0) == 2)
  40544. F = (c[o >> 2] | 0) == (c[n >> 2] | 0);
  40545. else F = 0;
  40546. c[A >> 2] = F & 1;
  40547. if (
  40548. (c[z >> 2] | 0) >>> 0 >=
  40549. (lj(c[y >> 2] | 0) | 0) >>> 0
  40550. )
  40551. c[w >> 2] = c[r >> 2];
  40552. else {
  40553. c[w >> 2] = c[((c[h >> 2] | 0) + 612) >> 2];
  40554. c[z >> 2] = c[((c[h >> 2] | 0) + 616) >> 2];
  40555. }
  40556. e = c[h >> 2] | 0;
  40557. d = c[w >> 2] | 0;
  40558. b = c[z >> 2] | 0;
  40559. a =
  40560. ((c[((c[h >> 2] | 0) + 592) >> 2] | 0) +
  40561. (c[((c[h >> 2] | 0) + 600) >> 2] | 0)) |
  40562. 0;
  40563. G = c[y >> 2] | 0;
  40564. if (c[A >> 2] | 0) H = Bo(e, d, b, a, G) | 0;
  40565. else H = vn(e, d, b, a, G) | 0;
  40566. c[x >> 2] = H;
  40567. if (Ph(c[x >> 2] | 0) | 0) {
  40568. E = 26;
  40569. break a;
  40570. }
  40571. c[((c[h >> 2] | 0) + 632) >> 2] = c[A >> 2];
  40572. c[((c[h >> 2] | 0) + 608) >> 2] =
  40573. (c[((c[h >> 2] | 0) + 604) >> 2] | 0) +
  40574. (c[((c[h >> 2] | 0) + 232) >> 2] | 0);
  40575. if (
  40576. (c[((c[h >> 2] | 0) + 608) >> 2] | 0) >>> 0 >
  40577. (c[((c[h >> 2] | 0) + 596) >> 2] | 0) >>> 0
  40578. ) {
  40579. c[((c[h >> 2] | 0) + 604) >> 2] = 0;
  40580. c[((c[h >> 2] | 0) + 608) >> 2] =
  40581. c[((c[h >> 2] | 0) + 232) >> 2];
  40582. }
  40583. c[((c[h >> 2] | 0) + 600) >> 2] =
  40584. c[((c[h >> 2] | 0) + 604) >> 2];
  40585. G = c[x >> 2] | 0;
  40586. if ((c[w >> 2] | 0) != (c[r >> 2] | 0)) {
  40587. c[((c[h >> 2] | 0) + 620) >> 2] = G;
  40588. c[((c[h >> 2] | 0) + 624) >> 2] = 0;
  40589. c[((c[h >> 2] | 0) + 628) >> 2] = 2;
  40590. E = 33;
  40591. break b;
  40592. }
  40593. c[r >> 2] = (c[r >> 2] | 0) + G;
  40594. if (c[((c[h >> 2] | 0) + 632) >> 2] | 0) {
  40595. c[s >> 2] = 0;
  40596. jl(c[h >> 2] | 0);
  40597. }
  40598. break;
  40599. }
  40600. case 2: {
  40601. E = 33;
  40602. break;
  40603. }
  40604. default: {
  40605. }
  40606. }
  40607. } while (0);
  40608. do {
  40609. if ((E | 0) == 33) {
  40610. E = 0;
  40611. c[B >> 2] =
  40612. (c[((c[h >> 2] | 0) + 620) >> 2] | 0) -
  40613. (c[((c[h >> 2] | 0) + 624) >> 2] | 0);
  40614. c[C >> 2] =
  40615. Yo(
  40616. c[r >> 2] | 0,
  40617. ((c[q >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  40618. ((c[((c[h >> 2] | 0) + 612) >> 2] | 0) +
  40619. (c[((c[h >> 2] | 0) + 624) >> 2] | 0)) |
  40620. 0,
  40621. c[B >> 2] | 0
  40622. ) | 0;
  40623. c[r >> 2] = (c[r >> 2] | 0) + (c[C >> 2] | 0);
  40624. G = ((c[h >> 2] | 0) + 624) | 0;
  40625. c[G >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
  40626. if ((c[B >> 2] | 0) != (c[C >> 2] | 0)) {
  40627. c[s >> 2] = 0;
  40628. break;
  40629. }
  40630. c[((c[h >> 2] | 0) + 624) >> 2] = 0;
  40631. c[((c[h >> 2] | 0) + 620) >> 2] = 0;
  40632. if (c[((c[h >> 2] | 0) + 632) >> 2] | 0) {
  40633. c[s >> 2] = 0;
  40634. jl(c[h >> 2] | 0);
  40635. break;
  40636. } else {
  40637. c[((c[h >> 2] | 0) + 628) >> 2] = 1;
  40638. break;
  40639. }
  40640. }
  40641. } while (0);
  40642. }
  40643. if ((E | 0) == 4) {
  40644. c[g >> 2] = -62;
  40645. I = c[g >> 2] | 0;
  40646. l = f;
  40647. return I | 0;
  40648. } else if ((E | 0) == 9) {
  40649. c[g >> 2] = c[t >> 2];
  40650. I = c[g >> 2] | 0;
  40651. l = f;
  40652. return I | 0;
  40653. } else if ((E | 0) == 26) {
  40654. c[g >> 2] = c[x >> 2];
  40655. I = c[g >> 2] | 0;
  40656. l = f;
  40657. return I | 0;
  40658. } else if ((E | 0) == 39) {
  40659. c[((c[j >> 2] | 0) + 8) >> 2] =
  40660. (c[o >> 2] | 0) - (c[m >> 2] | 0);
  40661. c[((c[i >> 2] | 0) + 8) >> 2] =
  40662. (c[r >> 2] | 0) - (c[p >> 2] | 0);
  40663. if (c[((c[h >> 2] | 0) + 632) >> 2] | 0) {
  40664. c[g >> 2] = 0;
  40665. I = c[g >> 2] | 0;
  40666. l = f;
  40667. return I | 0;
  40668. }
  40669. c[D >> 2] =
  40670. (c[((c[h >> 2] | 0) + 608) >> 2] | 0) -
  40671. (c[((c[h >> 2] | 0) + 604) >> 2] | 0);
  40672. if (!(c[D >> 2] | 0))
  40673. c[D >> 2] = c[((c[h >> 2] | 0) + 232) >> 2];
  40674. c[g >> 2] = c[D >> 2];
  40675. I = c[g >> 2] | 0;
  40676. l = f;
  40677. return I | 0;
  40678. }
  40679. return 0;
  40680. }
  40681. function Yo(a, b, d, e) {
  40682. a = a | 0;
  40683. b = b | 0;
  40684. d = d | 0;
  40685. e = e | 0;
  40686. var f = 0,
  40687. g = 0,
  40688. h = 0,
  40689. i = 0,
  40690. j = 0,
  40691. k = 0,
  40692. m = 0;
  40693. f = l;
  40694. l = (l + 32) | 0;
  40695. g = (f + 16) | 0;
  40696. h = (f + 12) | 0;
  40697. i = (f + 8) | 0;
  40698. j = (f + 4) | 0;
  40699. k = f;
  40700. c[g >> 2] = a;
  40701. c[h >> 2] = b;
  40702. c[i >> 2] = d;
  40703. c[j >> 2] = e;
  40704. c[k >> 2] =
  40705. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  40706. ? c[h >> 2] | 0
  40707. : c[j >> 2] | 0;
  40708. if (!(c[k >> 2] | 0)) {
  40709. m = c[k >> 2] | 0;
  40710. l = f;
  40711. return m | 0;
  40712. }
  40713. mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  40714. m = c[k >> 2] | 0;
  40715. l = f;
  40716. return m | 0;
  40717. }
  40718. function Zo(a, b, d) {
  40719. a = a | 0;
  40720. b = b | 0;
  40721. d = d | 0;
  40722. var e = 0,
  40723. f = 0,
  40724. g = 0,
  40725. h = 0,
  40726. i = 0,
  40727. j = 0;
  40728. e = l;
  40729. l = (l + 16) | 0;
  40730. f = (e + 12) | 0;
  40731. g = (e + 8) | 0;
  40732. h = (e + 4) | 0;
  40733. i = e;
  40734. c[g >> 2] = a;
  40735. c[h >> 2] = b;
  40736. c[i >> 2] = d;
  40737. if (
  40738. (c[((c[h >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
  40739. (c[((c[h >> 2] | 0) + 4) >> 2] | 0) >>> 0
  40740. ) {
  40741. c[f >> 2] = -1;
  40742. j = c[f >> 2] | 0;
  40743. l = e;
  40744. return j | 0;
  40745. }
  40746. if (
  40747. (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
  40748. (c[((c[i >> 2] | 0) + 4) >> 2] | 0) >>> 0
  40749. ) {
  40750. c[f >> 2] = -1;
  40751. j = c[f >> 2] | 0;
  40752. l = e;
  40753. return j | 0;
  40754. } else {
  40755. c[f >> 2] =
  40756. Xo(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0, 0) | 0;
  40757. j = c[f >> 2] | 0;
  40758. l = e;
  40759. return j | 0;
  40760. }
  40761. return 0;
  40762. }
  40763. function _o(a, b) {
  40764. a = a | 0;
  40765. b = b | 0;
  40766. var d = 0,
  40767. e = 0,
  40768. f = 0,
  40769. g = 0,
  40770. h = 0,
  40771. i = 0,
  40772. j = 0,
  40773. k = 0,
  40774. m = 0,
  40775. n = 0,
  40776. o = 0;
  40777. d = l;
  40778. l = (l + 48) | 0;
  40779. e = (d + 36) | 0;
  40780. f = (d + 32) | 0;
  40781. g = (d + 28) | 0;
  40782. h = (d + 16) | 0;
  40783. i = (d + 12) | 0;
  40784. j = (d + 8) | 0;
  40785. k = (d + 4) | 0;
  40786. m = d;
  40787. c[f >> 2] = a;
  40788. c[g >> 2] = b;
  40789. c[h >> 2] = 0;
  40790. c[(h + 4) >> 2] = 0;
  40791. c[(h + 8) >> 2] = 0;
  40792. if (
  40793. (c[((c[g >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
  40794. (c[((c[g >> 2] | 0) + 4) >> 2] | 0) >>> 0
  40795. ) {
  40796. c[e >> 2] = -1;
  40797. n = c[e >> 2] | 0;
  40798. l = d;
  40799. return n | 0;
  40800. }
  40801. c[i >> 2] = Xo(c[f >> 2] | 0, c[g >> 2] | 0, h, 2) | 0;
  40802. if (wj(c[i >> 2] | 0) | 0) {
  40803. c[e >> 2] = c[i >> 2];
  40804. n = c[e >> 2] | 0;
  40805. l = d;
  40806. return n | 0;
  40807. }
  40808. c[j >> 2] = c[((c[f >> 2] | 0) + 632) >> 2] | 0 ? 0 : 3;
  40809. if (c[((c[f >> 2] | 0) + 632) >> 2] | 0) o = 0;
  40810. else o = c[((c[f >> 2] | 0) + 116 + 32 + 4) >> 2] << 2;
  40811. c[k >> 2] = o;
  40812. c[m >> 2] =
  40813. (c[((c[f >> 2] | 0) + 620) >> 2] | 0) -
  40814. (c[((c[f >> 2] | 0) + 624) >> 2] | 0) +
  40815. (c[j >> 2] | 0) +
  40816. (c[k >> 2] | 0);
  40817. c[e >> 2] = c[m >> 2];
  40818. n = c[e >> 2] | 0;
  40819. l = d;
  40820. return n | 0;
  40821. }
  40822. function $o(b, e, f, g, h) {
  40823. b = b | 0;
  40824. e = e | 0;
  40825. f = f | 0;
  40826. g = g | 0;
  40827. h = h | 0;
  40828. var i = 0,
  40829. j = 0,
  40830. k = 0,
  40831. m = 0,
  40832. n = 0,
  40833. o = 0,
  40834. p = 0,
  40835. q = 0,
  40836. r = 0,
  40837. s = 0,
  40838. t = 0,
  40839. u = 0,
  40840. v = 0,
  40841. w = 0,
  40842. x = 0,
  40843. y = 0,
  40844. z = 0,
  40845. A = 0,
  40846. B = 0,
  40847. C = 0,
  40848. D = 0,
  40849. E = 0,
  40850. F = 0,
  40851. G = 0,
  40852. H = 0;
  40853. i = l;
  40854. l = (l + 96) | 0;
  40855. j = (i + 80) | 0;
  40856. k = (i + 76) | 0;
  40857. m = (i + 72) | 0;
  40858. n = (i + 68) | 0;
  40859. o = (i + 64) | 0;
  40860. p = (i + 60) | 0;
  40861. q = (i + 56) | 0;
  40862. r = (i + 52) | 0;
  40863. s = (i + 48) | 0;
  40864. t = (i + 44) | 0;
  40865. u = (i + 40) | 0;
  40866. v = (i + 36) | 0;
  40867. w = (i + 32) | 0;
  40868. x = (i + 28) | 0;
  40869. y = (i + 88) | 0;
  40870. z = (i + 24) | 0;
  40871. A = (i + 20) | 0;
  40872. B = (i + 16) | 0;
  40873. C = (i + 12) | 0;
  40874. D = (i + 8) | 0;
  40875. E = (i + 4) | 0;
  40876. F = i;
  40877. G = (i + 84) | 0;
  40878. c[k >> 2] = b;
  40879. c[m >> 2] = e;
  40880. c[n >> 2] = f;
  40881. c[o >> 2] = g;
  40882. c[p >> 2] = h;
  40883. c[q >> 2] = 0;
  40884. c[r >> 2] = 0;
  40885. c[t >> 2] = (c[k >> 2] | 0) + 4;
  40886. c[u >> 2] = c[t >> 2];
  40887. c[x >> 2] = 0;
  40888. c[v >> 2] = (c[o >> 2] | 0) + (c[x >> 2] << 2);
  40889. c[x >> 2] = (c[x >> 2] | 0) + 16;
  40890. c[w >> 2] = (c[o >> 2] | 0) + (c[x >> 2] << 2);
  40891. c[x >> 2] = (c[x >> 2] | 0) + 64;
  40892. if ((c[x >> 2] << 2) >>> 0 > (c[p >> 2] | 0) >>> 0) {
  40893. c[j >> 2] = -44;
  40894. H = c[j >> 2] | 0;
  40895. l = i;
  40896. return H | 0;
  40897. }
  40898. c[s >> 2] =
  40899. fh(
  40900. c[w >> 2] | 0,
  40901. 256,
  40902. c[v >> 2] | 0,
  40903. r,
  40904. q,
  40905. c[m >> 2] | 0,
  40906. c[n >> 2] | 0
  40907. ) | 0;
  40908. if (ap(c[s >> 2] | 0) | 0) {
  40909. c[j >> 2] = c[s >> 2];
  40910. H = c[j >> 2] | 0;
  40911. l = i;
  40912. return H | 0;
  40913. }
  40914. bp(y, c[k >> 2] | 0);
  40915. if (
  40916. (c[q >> 2] | 0) >>> 0 >
  40917. (((d[y >> 0] | 0) + 1) | 0) >>> 0
  40918. ) {
  40919. c[j >> 2] = -44;
  40920. H = c[j >> 2] | 0;
  40921. l = i;
  40922. return H | 0;
  40923. }
  40924. a[(y + 1) >> 0] = 0;
  40925. a[(y + 2) >> 0] = c[q >> 2];
  40926. n = c[k >> 2] | 0;
  40927. a[n >> 0] = a[y >> 0] | 0;
  40928. a[(n + 1) >> 0] = a[(y + 1) >> 0] | 0;
  40929. a[(n + 2) >> 0] = a[(y + 2) >> 0] | 0;
  40930. a[(n + 3) >> 0] = a[(y + 3) >> 0] | 0;
  40931. c[A >> 2] = 0;
  40932. c[z >> 2] = 1;
  40933. while (1) {
  40934. if (
  40935. (c[z >> 2] | 0) >>> 0 >=
  40936. (((c[q >> 2] | 0) + 1) | 0) >>> 0
  40937. )
  40938. break;
  40939. c[B >> 2] = c[A >> 2];
  40940. c[A >> 2] =
  40941. (c[A >> 2] | 0) +
  40942. (c[((c[v >> 2] | 0) + (c[z >> 2] << 2)) >> 2] <<
  40943. ((c[z >> 2] | 0) - 1));
  40944. c[((c[v >> 2] | 0) + (c[z >> 2] << 2)) >> 2] = c[B >> 2];
  40945. c[z >> 2] = (c[z >> 2] | 0) + 1;
  40946. }
  40947. c[C >> 2] = 0;
  40948. while (1) {
  40949. if ((c[C >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
  40950. c[D >> 2] = d[((c[w >> 2] | 0) + (c[C >> 2] | 0)) >> 0];
  40951. c[E >> 2] = (1 << c[D >> 2]) >> 1;
  40952. a[G >> 0] = c[C >> 2];
  40953. a[(G + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[D >> 2] | 0);
  40954. c[F >> 2] = c[((c[v >> 2] | 0) + (c[D >> 2] << 2)) >> 2];
  40955. while (1) {
  40956. if (
  40957. (c[F >> 2] | 0) >>> 0 >=
  40958. (((c[((c[v >> 2] | 0) + (c[D >> 2] << 2)) >> 2] | 0) +
  40959. (c[E >> 2] | 0)) |
  40960. 0) >>>
  40961. 0
  40962. )
  40963. break;
  40964. z = ((c[u >> 2] | 0) + (c[F >> 2] << 1)) | 0;
  40965. a[z >> 0] = a[G >> 0] | 0;
  40966. a[(z + 1) >> 0] = a[(G + 1) >> 0] | 0;
  40967. c[F >> 2] = (c[F >> 2] | 0) + 1;
  40968. }
  40969. z = ((c[v >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  40970. c[z >> 2] = (c[z >> 2] | 0) + (c[E >> 2] | 0);
  40971. c[C >> 2] = (c[C >> 2] | 0) + 1;
  40972. }
  40973. c[j >> 2] = c[s >> 2];
  40974. H = c[j >> 2] | 0;
  40975. l = i;
  40976. return H | 0;
  40977. }
  40978. function ap(a) {
  40979. a = a | 0;
  40980. var b = 0,
  40981. d = 0;
  40982. b = l;
  40983. l = (l + 16) | 0;
  40984. d = b;
  40985. c[d >> 2] = a;
  40986. l = b;
  40987. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  40988. }
  40989. function bp(b, d) {
  40990. b = b | 0;
  40991. d = d | 0;
  40992. var e = 0,
  40993. f = 0,
  40994. g = 0;
  40995. e = l;
  40996. l = (l + 16) | 0;
  40997. f = e;
  40998. g = (e + 4) | 0;
  40999. c[f >> 2] = d;
  41000. d = c[f >> 2] | 0;
  41001. a[g >> 0] = a[d >> 0] | 0;
  41002. a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
  41003. a[(g + 2) >> 0] = a[(d + 2) >> 0] | 0;
  41004. a[(g + 3) >> 0] = a[(d + 3) >> 0] | 0;
  41005. a[b >> 0] = a[g >> 0] | 0;
  41006. a[(b + 1) >> 0] = a[(g + 1) >> 0] | 0;
  41007. a[(b + 2) >> 0] = a[(g + 2) >> 0] | 0;
  41008. a[(b + 3) >> 0] = a[(g + 3) >> 0] | 0;
  41009. l = e;
  41010. return;
  41011. }
  41012. function cp(a, b, d, e, f, g) {
  41013. a = a | 0;
  41014. b = b | 0;
  41015. d = d | 0;
  41016. e = e | 0;
  41017. f = f | 0;
  41018. g = g | 0;
  41019. var h = 0,
  41020. i = 0,
  41021. j = 0,
  41022. k = 0,
  41023. m = 0,
  41024. n = 0,
  41025. o = 0,
  41026. p = 0,
  41027. q = 0;
  41028. h = l;
  41029. l = (l + 32) | 0;
  41030. i = (h + 24) | 0;
  41031. j = (h + 20) | 0;
  41032. k = (h + 16) | 0;
  41033. m = (h + 12) | 0;
  41034. n = (h + 8) | 0;
  41035. o = (h + 4) | 0;
  41036. p = h;
  41037. c[j >> 2] = a;
  41038. c[k >> 2] = b;
  41039. c[m >> 2] = d;
  41040. c[n >> 2] = e;
  41041. c[o >> 2] = f;
  41042. c[p >> 2] = g;
  41043. g = c[j >> 2] | 0;
  41044. j = c[k >> 2] | 0;
  41045. k = c[m >> 2] | 0;
  41046. m = c[n >> 2] | 0;
  41047. n = c[o >> 2] | 0;
  41048. if (c[p >> 2] | 0) {
  41049. c[i >> 2] = dp(g, j, k, m, n) | 0;
  41050. q = c[i >> 2] | 0;
  41051. l = h;
  41052. return q | 0;
  41053. } else {
  41054. c[i >> 2] = ep(g, j, k, m, n) | 0;
  41055. q = c[i >> 2] | 0;
  41056. l = h;
  41057. return q | 0;
  41058. }
  41059. return 0;
  41060. }
  41061. function dp(b, e, f, g, h) {
  41062. b = b | 0;
  41063. e = e | 0;
  41064. f = f | 0;
  41065. g = g | 0;
  41066. h = h | 0;
  41067. var i = 0,
  41068. j = 0,
  41069. k = 0,
  41070. m = 0,
  41071. n = 0,
  41072. o = 0,
  41073. p = 0,
  41074. q = 0,
  41075. r = 0,
  41076. s = 0,
  41077. t = 0,
  41078. u = 0,
  41079. v = 0,
  41080. w = 0,
  41081. x = 0,
  41082. y = 0,
  41083. z = 0,
  41084. A = 0,
  41085. B = 0,
  41086. C = 0,
  41087. D = 0,
  41088. E = 0,
  41089. F = 0,
  41090. G = 0,
  41091. H = 0,
  41092. I = 0,
  41093. J = 0,
  41094. K = 0,
  41095. L = 0,
  41096. M = 0,
  41097. N = 0,
  41098. O = 0,
  41099. P = 0,
  41100. Q = 0,
  41101. R = 0,
  41102. S = 0,
  41103. T = 0,
  41104. U = 0,
  41105. V = 0,
  41106. W = 0,
  41107. X = 0,
  41108. Y = 0,
  41109. Z = 0,
  41110. _ = 0,
  41111. $ = 0,
  41112. aa = 0,
  41113. ba = 0,
  41114. ca = 0,
  41115. da = 0,
  41116. ea = 0,
  41117. fa = 0,
  41118. ga = 0,
  41119. ha = 0,
  41120. ia = 0,
  41121. ja = 0,
  41122. ka = 0;
  41123. i = l;
  41124. l = (l + 224) | 0;
  41125. j = (i + 204) | 0;
  41126. k = (i + 200) | 0;
  41127. m = (i + 196) | 0;
  41128. n = (i + 192) | 0;
  41129. o = (i + 217) | 0;
  41130. p = (i + 188) | 0;
  41131. q = (i + 184) | 0;
  41132. r = (i + 180) | 0;
  41133. s = (i + 176) | 0;
  41134. t = (i + 216) | 0;
  41135. u = (i + 172) | 0;
  41136. v = (i + 168) | 0;
  41137. w = (i + 164) | 0;
  41138. x = (i + 160) | 0;
  41139. y = (i + 215) | 0;
  41140. z = (i + 156) | 0;
  41141. A = (i + 152) | 0;
  41142. B = (i + 148) | 0;
  41143. C = (i + 144) | 0;
  41144. D = (i + 214) | 0;
  41145. E = (i + 140) | 0;
  41146. F = (i + 136) | 0;
  41147. G = (i + 132) | 0;
  41148. H = (i + 128) | 0;
  41149. I = (i + 213) | 0;
  41150. J = (i + 124) | 0;
  41151. K = (i + 120) | 0;
  41152. L = (i + 116) | 0;
  41153. M = (i + 112) | 0;
  41154. N = (i + 212) | 0;
  41155. O = (i + 108) | 0;
  41156. P = (i + 104) | 0;
  41157. Q = (i + 100) | 0;
  41158. R = (i + 96) | 0;
  41159. S = (i + 92) | 0;
  41160. T = (i + 84) | 0;
  41161. U = (i + 80) | 0;
  41162. V = (i + 76) | 0;
  41163. W = (i + 72) | 0;
  41164. X = (i + 68) | 0;
  41165. Y = (i + 64) | 0;
  41166. Z = (i + 60) | 0;
  41167. _ = (i + 56) | 0;
  41168. $ = (i + 52) | 0;
  41169. aa = (i + 48) | 0;
  41170. ba = (i + 28) | 0;
  41171. ca = (i + 208) | 0;
  41172. da = (i + 24) | 0;
  41173. ea = (i + 20) | 0;
  41174. fa = (i + 16) | 0;
  41175. ga = (i + 12) | 0;
  41176. ha = (i + 8) | 0;
  41177. ia = (i + 4) | 0;
  41178. ja = i;
  41179. c[fa >> 2] = b;
  41180. c[ga >> 2] = e;
  41181. c[ha >> 2] = f;
  41182. c[ia >> 2] = g;
  41183. c[ja >> 2] = h;
  41184. h = c[ga >> 2] | 0;
  41185. ga = c[ha >> 2] | 0;
  41186. ha = c[ia >> 2] | 0;
  41187. ia = c[ja >> 2] | 0;
  41188. c[U >> 2] = c[fa >> 2];
  41189. c[V >> 2] = h;
  41190. c[W >> 2] = ga;
  41191. c[X >> 2] = ha;
  41192. c[Y >> 2] = ia;
  41193. c[Z >> 2] = c[U >> 2];
  41194. c[_ >> 2] = (c[Z >> 2] | 0) + (c[V >> 2] | 0);
  41195. c[$ >> 2] = (c[Y >> 2] | 0) + 4;
  41196. c[aa >> 2] = c[$ >> 2];
  41197. bp(ca, c[Y >> 2] | 0);
  41198. c[da >> 2] = d[(ca + 2) >> 0];
  41199. c[ea >> 2] = fp(ba, c[W >> 2] | 0, c[X >> 2] | 0) | 0;
  41200. if (ap(c[ea >> 2] | 0) | 0) {
  41201. c[T >> 2] = c[ea >> 2];
  41202. ka = c[T >> 2] | 0;
  41203. l = i;
  41204. return ka | 0;
  41205. }
  41206. ea = c[_ >> 2] | 0;
  41207. _ = c[aa >> 2] | 0;
  41208. aa = c[da >> 2] | 0;
  41209. c[O >> 2] = c[Z >> 2];
  41210. c[P >> 2] = ba;
  41211. c[Q >> 2] = ea;
  41212. c[R >> 2] = _;
  41213. c[S >> 2] = aa;
  41214. c[(i + 88) >> 2] = c[O >> 2];
  41215. while (1) {
  41216. aa = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  41217. if (
  41218. !(
  41219. aa &
  41220. ((c[O >> 2] | 0) >>> 0 <
  41221. (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
  41222. )
  41223. )
  41224. break;
  41225. if (hp() | 0) {
  41226. aa = c[R >> 2] | 0;
  41227. _ = c[S >> 2] | 0;
  41228. c[J >> 2] = c[P >> 2];
  41229. c[K >> 2] = aa;
  41230. c[L >> 2] = _;
  41231. c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
  41232. a[N >> 0] =
  41233. a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
  41234. jp(
  41235. c[J >> 2] | 0,
  41236. d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
  41237. );
  41238. _ = a[N >> 0] | 0;
  41239. aa = c[O >> 2] | 0;
  41240. c[O >> 2] = aa + 1;
  41241. a[aa >> 0] = _;
  41242. }
  41243. hp() | 0;
  41244. _ = c[R >> 2] | 0;
  41245. aa = c[S >> 2] | 0;
  41246. c[E >> 2] = c[P >> 2];
  41247. c[F >> 2] = _;
  41248. c[G >> 2] = aa;
  41249. c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
  41250. a[I >> 0] =
  41251. a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
  41252. jp(
  41253. c[E >> 2] | 0,
  41254. d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
  41255. );
  41256. aa = a[I >> 0] | 0;
  41257. _ = c[O >> 2] | 0;
  41258. c[O >> 2] = _ + 1;
  41259. a[_ >> 0] = aa;
  41260. if (hp() | 0) {
  41261. aa = c[R >> 2] | 0;
  41262. _ = c[S >> 2] | 0;
  41263. c[z >> 2] = c[P >> 2];
  41264. c[A >> 2] = aa;
  41265. c[B >> 2] = _;
  41266. c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
  41267. a[D >> 0] =
  41268. a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
  41269. jp(
  41270. c[z >> 2] | 0,
  41271. d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
  41272. );
  41273. _ = a[D >> 0] | 0;
  41274. aa = c[O >> 2] | 0;
  41275. c[O >> 2] = aa + 1;
  41276. a[aa >> 0] = _;
  41277. }
  41278. _ = c[R >> 2] | 0;
  41279. aa = c[S >> 2] | 0;
  41280. c[u >> 2] = c[P >> 2];
  41281. c[v >> 2] = _;
  41282. c[w >> 2] = aa;
  41283. c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
  41284. a[y >> 0] =
  41285. a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
  41286. jp(
  41287. c[u >> 2] | 0,
  41288. d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
  41289. );
  41290. aa = a[y >> 0] | 0;
  41291. _ = c[O >> 2] | 0;
  41292. c[O >> 2] = _ + 1;
  41293. a[_ >> 0] = aa;
  41294. }
  41295. a: do {
  41296. if (kp() | 0)
  41297. while (1) {
  41298. y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  41299. if (
  41300. !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
  41301. )
  41302. break a;
  41303. y = c[R >> 2] | 0;
  41304. x = c[S >> 2] | 0;
  41305. c[p >> 2] = c[P >> 2];
  41306. c[q >> 2] = y;
  41307. c[r >> 2] = x;
  41308. c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
  41309. a[t >> 0] =
  41310. a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
  41311. jp(
  41312. c[p >> 2] | 0,
  41313. d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
  41314. );
  41315. x = a[t >> 0] | 0;
  41316. y = c[O >> 2] | 0;
  41317. c[O >> 2] = y + 1;
  41318. a[y >> 0] = x;
  41319. }
  41320. } while (0);
  41321. while (1) {
  41322. if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
  41323. t = c[R >> 2] | 0;
  41324. s = c[S >> 2] | 0;
  41325. c[j >> 2] = c[P >> 2];
  41326. c[k >> 2] = t;
  41327. c[m >> 2] = s;
  41328. c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  41329. a[o >> 0] =
  41330. a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
  41331. jp(
  41332. c[j >> 2] | 0,
  41333. d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
  41334. );
  41335. s = a[o >> 0] | 0;
  41336. t = c[O >> 2] | 0;
  41337. c[O >> 2] = t + 1;
  41338. a[t >> 0] = s;
  41339. }
  41340. if (lp(ba) | 0) {
  41341. c[T >> 2] = c[V >> 2];
  41342. ka = c[T >> 2] | 0;
  41343. l = i;
  41344. return ka | 0;
  41345. } else {
  41346. c[T >> 2] = -20;
  41347. ka = c[T >> 2] | 0;
  41348. l = i;
  41349. return ka | 0;
  41350. }
  41351. return 0;
  41352. }
  41353. function ep(b, e, f, g, h) {
  41354. b = b | 0;
  41355. e = e | 0;
  41356. f = f | 0;
  41357. g = g | 0;
  41358. h = h | 0;
  41359. var i = 0,
  41360. j = 0,
  41361. k = 0,
  41362. m = 0,
  41363. n = 0,
  41364. o = 0,
  41365. p = 0,
  41366. q = 0,
  41367. r = 0,
  41368. s = 0,
  41369. t = 0,
  41370. u = 0,
  41371. v = 0,
  41372. w = 0,
  41373. x = 0,
  41374. y = 0,
  41375. z = 0,
  41376. A = 0,
  41377. B = 0,
  41378. C = 0,
  41379. D = 0,
  41380. E = 0,
  41381. F = 0,
  41382. G = 0,
  41383. H = 0,
  41384. I = 0,
  41385. J = 0,
  41386. K = 0,
  41387. L = 0,
  41388. M = 0,
  41389. N = 0,
  41390. O = 0,
  41391. P = 0,
  41392. Q = 0,
  41393. R = 0,
  41394. S = 0,
  41395. T = 0,
  41396. U = 0,
  41397. V = 0,
  41398. W = 0,
  41399. X = 0,
  41400. Y = 0,
  41401. Z = 0,
  41402. _ = 0,
  41403. $ = 0,
  41404. aa = 0,
  41405. ba = 0,
  41406. ca = 0,
  41407. da = 0,
  41408. ea = 0,
  41409. fa = 0,
  41410. ga = 0,
  41411. ha = 0,
  41412. ia = 0,
  41413. ja = 0,
  41414. ka = 0;
  41415. i = l;
  41416. l = (l + 224) | 0;
  41417. j = (i + 204) | 0;
  41418. k = (i + 200) | 0;
  41419. m = (i + 196) | 0;
  41420. n = (i + 192) | 0;
  41421. o = (i + 217) | 0;
  41422. p = (i + 188) | 0;
  41423. q = (i + 184) | 0;
  41424. r = (i + 180) | 0;
  41425. s = (i + 176) | 0;
  41426. t = (i + 216) | 0;
  41427. u = (i + 172) | 0;
  41428. v = (i + 168) | 0;
  41429. w = (i + 164) | 0;
  41430. x = (i + 160) | 0;
  41431. y = (i + 215) | 0;
  41432. z = (i + 156) | 0;
  41433. A = (i + 152) | 0;
  41434. B = (i + 148) | 0;
  41435. C = (i + 144) | 0;
  41436. D = (i + 214) | 0;
  41437. E = (i + 140) | 0;
  41438. F = (i + 136) | 0;
  41439. G = (i + 132) | 0;
  41440. H = (i + 128) | 0;
  41441. I = (i + 213) | 0;
  41442. J = (i + 124) | 0;
  41443. K = (i + 120) | 0;
  41444. L = (i + 116) | 0;
  41445. M = (i + 112) | 0;
  41446. N = (i + 212) | 0;
  41447. O = (i + 108) | 0;
  41448. P = (i + 104) | 0;
  41449. Q = (i + 100) | 0;
  41450. R = (i + 96) | 0;
  41451. S = (i + 92) | 0;
  41452. T = (i + 84) | 0;
  41453. U = (i + 80) | 0;
  41454. V = (i + 76) | 0;
  41455. W = (i + 72) | 0;
  41456. X = (i + 68) | 0;
  41457. Y = (i + 64) | 0;
  41458. Z = (i + 60) | 0;
  41459. _ = (i + 56) | 0;
  41460. $ = (i + 52) | 0;
  41461. aa = (i + 48) | 0;
  41462. ba = (i + 28) | 0;
  41463. ca = (i + 208) | 0;
  41464. da = (i + 24) | 0;
  41465. ea = (i + 20) | 0;
  41466. fa = (i + 16) | 0;
  41467. ga = (i + 12) | 0;
  41468. ha = (i + 8) | 0;
  41469. ia = (i + 4) | 0;
  41470. ja = i;
  41471. c[fa >> 2] = b;
  41472. c[ga >> 2] = e;
  41473. c[ha >> 2] = f;
  41474. c[ia >> 2] = g;
  41475. c[ja >> 2] = h;
  41476. h = c[ga >> 2] | 0;
  41477. ga = c[ha >> 2] | 0;
  41478. ha = c[ia >> 2] | 0;
  41479. ia = c[ja >> 2] | 0;
  41480. c[U >> 2] = c[fa >> 2];
  41481. c[V >> 2] = h;
  41482. c[W >> 2] = ga;
  41483. c[X >> 2] = ha;
  41484. c[Y >> 2] = ia;
  41485. c[Z >> 2] = c[U >> 2];
  41486. c[_ >> 2] = (c[Z >> 2] | 0) + (c[V >> 2] | 0);
  41487. c[$ >> 2] = (c[Y >> 2] | 0) + 4;
  41488. c[aa >> 2] = c[$ >> 2];
  41489. bp(ca, c[Y >> 2] | 0);
  41490. c[da >> 2] = d[(ca + 2) >> 0];
  41491. c[ea >> 2] = fp(ba, c[W >> 2] | 0, c[X >> 2] | 0) | 0;
  41492. if (ap(c[ea >> 2] | 0) | 0) {
  41493. c[T >> 2] = c[ea >> 2];
  41494. ka = c[T >> 2] | 0;
  41495. l = i;
  41496. return ka | 0;
  41497. }
  41498. ea = c[_ >> 2] | 0;
  41499. _ = c[aa >> 2] | 0;
  41500. aa = c[da >> 2] | 0;
  41501. c[O >> 2] = c[Z >> 2];
  41502. c[P >> 2] = ba;
  41503. c[Q >> 2] = ea;
  41504. c[R >> 2] = _;
  41505. c[S >> 2] = aa;
  41506. c[(i + 88) >> 2] = c[O >> 2];
  41507. while (1) {
  41508. aa = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  41509. if (
  41510. !(
  41511. aa &
  41512. ((c[O >> 2] | 0) >>> 0 <
  41513. (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
  41514. )
  41515. )
  41516. break;
  41517. if (hp() | 0) {
  41518. aa = c[R >> 2] | 0;
  41519. _ = c[S >> 2] | 0;
  41520. c[J >> 2] = c[P >> 2];
  41521. c[K >> 2] = aa;
  41522. c[L >> 2] = _;
  41523. c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
  41524. a[N >> 0] =
  41525. a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
  41526. jp(
  41527. c[J >> 2] | 0,
  41528. d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
  41529. );
  41530. _ = a[N >> 0] | 0;
  41531. aa = c[O >> 2] | 0;
  41532. c[O >> 2] = aa + 1;
  41533. a[aa >> 0] = _;
  41534. }
  41535. hp() | 0;
  41536. _ = c[R >> 2] | 0;
  41537. aa = c[S >> 2] | 0;
  41538. c[E >> 2] = c[P >> 2];
  41539. c[F >> 2] = _;
  41540. c[G >> 2] = aa;
  41541. c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
  41542. a[I >> 0] =
  41543. a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
  41544. jp(
  41545. c[E >> 2] | 0,
  41546. d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
  41547. );
  41548. aa = a[I >> 0] | 0;
  41549. _ = c[O >> 2] | 0;
  41550. c[O >> 2] = _ + 1;
  41551. a[_ >> 0] = aa;
  41552. if (hp() | 0) {
  41553. aa = c[R >> 2] | 0;
  41554. _ = c[S >> 2] | 0;
  41555. c[z >> 2] = c[P >> 2];
  41556. c[A >> 2] = aa;
  41557. c[B >> 2] = _;
  41558. c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
  41559. a[D >> 0] =
  41560. a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
  41561. jp(
  41562. c[z >> 2] | 0,
  41563. d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
  41564. );
  41565. _ = a[D >> 0] | 0;
  41566. aa = c[O >> 2] | 0;
  41567. c[O >> 2] = aa + 1;
  41568. a[aa >> 0] = _;
  41569. }
  41570. _ = c[R >> 2] | 0;
  41571. aa = c[S >> 2] | 0;
  41572. c[u >> 2] = c[P >> 2];
  41573. c[v >> 2] = _;
  41574. c[w >> 2] = aa;
  41575. c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
  41576. a[y >> 0] =
  41577. a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
  41578. jp(
  41579. c[u >> 2] | 0,
  41580. d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
  41581. );
  41582. aa = a[y >> 0] | 0;
  41583. _ = c[O >> 2] | 0;
  41584. c[O >> 2] = _ + 1;
  41585. a[_ >> 0] = aa;
  41586. }
  41587. a: do {
  41588. if (kp() | 0)
  41589. while (1) {
  41590. y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  41591. if (
  41592. !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
  41593. )
  41594. break a;
  41595. y = c[R >> 2] | 0;
  41596. x = c[S >> 2] | 0;
  41597. c[p >> 2] = c[P >> 2];
  41598. c[q >> 2] = y;
  41599. c[r >> 2] = x;
  41600. c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
  41601. a[t >> 0] =
  41602. a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
  41603. jp(
  41604. c[p >> 2] | 0,
  41605. d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
  41606. );
  41607. x = a[t >> 0] | 0;
  41608. y = c[O >> 2] | 0;
  41609. c[O >> 2] = y + 1;
  41610. a[y >> 0] = x;
  41611. }
  41612. } while (0);
  41613. while (1) {
  41614. if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
  41615. t = c[R >> 2] | 0;
  41616. s = c[S >> 2] | 0;
  41617. c[j >> 2] = c[P >> 2];
  41618. c[k >> 2] = t;
  41619. c[m >> 2] = s;
  41620. c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  41621. a[o >> 0] =
  41622. a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
  41623. jp(
  41624. c[j >> 2] | 0,
  41625. d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
  41626. );
  41627. s = a[o >> 0] | 0;
  41628. t = c[O >> 2] | 0;
  41629. c[O >> 2] = t + 1;
  41630. a[t >> 0] = s;
  41631. }
  41632. if (lp(ba) | 0) {
  41633. c[T >> 2] = c[V >> 2];
  41634. ka = c[T >> 2] | 0;
  41635. l = i;
  41636. return ka | 0;
  41637. } else {
  41638. c[T >> 2] = -20;
  41639. ka = c[T >> 2] | 0;
  41640. l = i;
  41641. return ka | 0;
  41642. }
  41643. return 0;
  41644. }
  41645. function fp(b, e, f) {
  41646. b = b | 0;
  41647. e = e | 0;
  41648. f = f | 0;
  41649. var g = 0,
  41650. h = 0,
  41651. i = 0,
  41652. j = 0,
  41653. k = 0,
  41654. m = 0,
  41655. n = 0,
  41656. o = 0,
  41657. p = 0,
  41658. q = 0,
  41659. r = 0;
  41660. g = l;
  41661. l = (l + 32) | 0;
  41662. h = (g + 12) | 0;
  41663. i = (g + 8) | 0;
  41664. j = (g + 4) | 0;
  41665. k = g;
  41666. m = (g + 17) | 0;
  41667. n = (g + 16) | 0;
  41668. c[i >> 2] = b;
  41669. c[j >> 2] = e;
  41670. c[k >> 2] = f;
  41671. if ((c[k >> 2] | 0) >>> 0 < 1) {
  41672. f = c[i >> 2] | 0;
  41673. c[f >> 2] = 0;
  41674. c[(f + 4) >> 2] = 0;
  41675. c[(f + 8) >> 2] = 0;
  41676. c[(f + 12) >> 2] = 0;
  41677. c[(f + 16) >> 2] = 0;
  41678. c[h >> 2] = -72;
  41679. o = c[h >> 2] | 0;
  41680. l = g;
  41681. return o | 0;
  41682. }
  41683. c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
  41684. c[((c[i >> 2] | 0) + 16) >> 2] =
  41685. (c[((c[i >> 2] | 0) + 12) >> 2] | 0) + 4;
  41686. do {
  41687. if ((c[k >> 2] | 0) >>> 0 >= 4) {
  41688. c[((c[i >> 2] | 0) + 8) >> 2] =
  41689. (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
  41690. f = mp(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
  41691. c[c[i >> 2] >> 2] = f;
  41692. a[m >> 0] =
  41693. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  41694. if (d[m >> 0] | 0 | 0)
  41695. p = (8 - (up(d[m >> 0] | 0) | 0)) | 0;
  41696. else p = 0;
  41697. c[((c[i >> 2] | 0) + 4) >> 2] = p;
  41698. if (!(d[m >> 0] | 0)) {
  41699. c[h >> 2] = -1;
  41700. o = c[h >> 2] | 0;
  41701. l = g;
  41702. return o | 0;
  41703. }
  41704. } else {
  41705. c[((c[i >> 2] | 0) + 8) >> 2] =
  41706. c[((c[i >> 2] | 0) + 12) >> 2];
  41707. c[c[i >> 2] >> 2] =
  41708. d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
  41709. switch (c[k >> 2] | 0) {
  41710. case 7: {
  41711. f = c[i >> 2] | 0;
  41712. c[f >> 2] =
  41713. (c[f >> 2] | 0) +
  41714. ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
  41715. q = 10;
  41716. break;
  41717. }
  41718. case 6: {
  41719. q = 10;
  41720. break;
  41721. }
  41722. case 5: {
  41723. q = 11;
  41724. break;
  41725. }
  41726. case 4: {
  41727. q = 12;
  41728. break;
  41729. }
  41730. case 3: {
  41731. q = 13;
  41732. break;
  41733. }
  41734. case 2: {
  41735. q = 14;
  41736. break;
  41737. }
  41738. default: {
  41739. }
  41740. }
  41741. if ((q | 0) == 10) {
  41742. f = c[i >> 2] | 0;
  41743. c[f >> 2] =
  41744. (c[f >> 2] | 0) +
  41745. ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
  41746. q = 11;
  41747. }
  41748. if ((q | 0) == 11) {
  41749. f = c[i >> 2] | 0;
  41750. c[f >> 2] =
  41751. (c[f >> 2] | 0) +
  41752. ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
  41753. q = 12;
  41754. }
  41755. if ((q | 0) == 12) {
  41756. f = c[i >> 2] | 0;
  41757. c[f >> 2] =
  41758. (c[f >> 2] | 0) +
  41759. ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
  41760. q = 13;
  41761. }
  41762. if ((q | 0) == 13) {
  41763. f = c[i >> 2] | 0;
  41764. c[f >> 2] =
  41765. (c[f >> 2] | 0) +
  41766. ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
  41767. q = 14;
  41768. }
  41769. if ((q | 0) == 14) {
  41770. f = c[i >> 2] | 0;
  41771. c[f >> 2] =
  41772. (c[f >> 2] | 0) +
  41773. ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
  41774. }
  41775. a[n >> 0] =
  41776. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  41777. if (d[n >> 0] | 0 | 0)
  41778. r = (8 - (up(d[n >> 0] | 0) | 0)) | 0;
  41779. else r = 0;
  41780. c[((c[i >> 2] | 0) + 4) >> 2] = r;
  41781. if (d[n >> 0] | 0 | 0) {
  41782. f = ((c[i >> 2] | 0) + 4) | 0;
  41783. c[f >> 2] =
  41784. (c[f >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
  41785. break;
  41786. }
  41787. c[h >> 2] = -20;
  41788. o = c[h >> 2] | 0;
  41789. l = g;
  41790. return o | 0;
  41791. }
  41792. } while (0);
  41793. c[h >> 2] = c[k >> 2];
  41794. o = c[h >> 2] | 0;
  41795. l = g;
  41796. return o | 0;
  41797. }
  41798. function gp(a) {
  41799. a = a | 0;
  41800. var b = 0,
  41801. d = 0,
  41802. e = 0,
  41803. f = 0,
  41804. g = 0,
  41805. h = 0,
  41806. i = 0;
  41807. b = l;
  41808. l = (l + 16) | 0;
  41809. d = (b + 12) | 0;
  41810. e = (b + 8) | 0;
  41811. f = (b + 4) | 0;
  41812. g = b;
  41813. c[e >> 2] = a;
  41814. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  41815. c[d >> 2] = 3;
  41816. h = c[d >> 2] | 0;
  41817. l = b;
  41818. return h | 0;
  41819. }
  41820. a = c[e >> 2] | 0;
  41821. if (
  41822. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  41823. (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
  41824. ) {
  41825. i = ((c[e >> 2] | 0) + 8) | 0;
  41826. c[i >> 2] =
  41827. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  41828. i = ((c[e >> 2] | 0) + 4) | 0;
  41829. c[i >> 2] = c[i >> 2] & 7;
  41830. i = mp(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  41831. c[c[e >> 2] >> 2] = i;
  41832. c[d >> 2] = 0;
  41833. h = c[d >> 2] | 0;
  41834. l = b;
  41835. return h | 0;
  41836. }
  41837. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  41838. if (
  41839. (c[(a + 8) >> 2] | 0) !=
  41840. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  41841. ) {
  41842. c[f >> 2] = i >>> 3;
  41843. c[g >> 2] = 0;
  41844. if (
  41845. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  41846. (0 - (c[f >> 2] | 0))) |
  41847. 0) >>>
  41848. 0 <
  41849. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  41850. ) {
  41851. c[f >> 2] =
  41852. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  41853. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  41854. c[g >> 2] = 1;
  41855. }
  41856. a = ((c[e >> 2] | 0) + 8) | 0;
  41857. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  41858. a = ((c[e >> 2] | 0) + 4) | 0;
  41859. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  41860. f = mp(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  41861. c[c[e >> 2] >> 2] = f;
  41862. c[d >> 2] = c[g >> 2];
  41863. h = c[d >> 2] | 0;
  41864. l = b;
  41865. return h | 0;
  41866. }
  41867. if (i >>> 0 < 32) {
  41868. c[d >> 2] = 1;
  41869. h = c[d >> 2] | 0;
  41870. l = b;
  41871. return h | 0;
  41872. } else {
  41873. c[d >> 2] = 2;
  41874. h = c[d >> 2] | 0;
  41875. l = b;
  41876. return h | 0;
  41877. }
  41878. return 0;
  41879. }
  41880. function hp() {
  41881. return 0;
  41882. }
  41883. function ip(a, b) {
  41884. a = a | 0;
  41885. b = b | 0;
  41886. var d = 0,
  41887. e = 0,
  41888. f = 0;
  41889. d = l;
  41890. l = (l + 16) | 0;
  41891. e = (d + 8) | 0;
  41892. f = (d + 4) | 0;
  41893. c[e >> 2] = a;
  41894. c[f >> 2] = b;
  41895. c[d >> 2] = 31;
  41896. l = d;
  41897. return (
  41898. ((c[c[e >> 2] >> 2] <<
  41899. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  41900. ((32 - (c[f >> 2] | 0)) & 31)) |
  41901. 0
  41902. );
  41903. }
  41904. function jp(a, b) {
  41905. a = a | 0;
  41906. b = b | 0;
  41907. var d = 0,
  41908. e = 0,
  41909. f = 0;
  41910. d = l;
  41911. l = (l + 16) | 0;
  41912. e = (d + 4) | 0;
  41913. f = d;
  41914. c[e >> 2] = a;
  41915. c[f >> 2] = b;
  41916. b = ((c[e >> 2] | 0) + 4) | 0;
  41917. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  41918. l = d;
  41919. return;
  41920. }
  41921. function kp() {
  41922. return 1;
  41923. }
  41924. function lp(a) {
  41925. a = a | 0;
  41926. var b = 0,
  41927. d = 0,
  41928. e = 0,
  41929. f = 0;
  41930. b = l;
  41931. l = (l + 16) | 0;
  41932. d = b;
  41933. c[d >> 2] = a;
  41934. if (
  41935. (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
  41936. (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
  41937. ) {
  41938. e = 0;
  41939. f = e & 1;
  41940. l = b;
  41941. return f | 0;
  41942. }
  41943. e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
  41944. f = e & 1;
  41945. l = b;
  41946. return f | 0;
  41947. }
  41948. function mp(a) {
  41949. a = a | 0;
  41950. var b = 0,
  41951. d = 0,
  41952. e = 0,
  41953. f = 0,
  41954. g = 0;
  41955. b = l;
  41956. l = (l + 16) | 0;
  41957. d = (b + 4) | 0;
  41958. e = b;
  41959. c[e >> 2] = a;
  41960. a = (kp() | 0) != 0;
  41961. f = c[e >> 2] | 0;
  41962. if (a) {
  41963. c[d >> 2] = np(f) | 0;
  41964. g = c[d >> 2] | 0;
  41965. l = b;
  41966. return g | 0;
  41967. } else {
  41968. a = op(f) | 0;
  41969. c[d >> 2] = a;
  41970. g = c[d >> 2] | 0;
  41971. l = b;
  41972. return g | 0;
  41973. }
  41974. return 0;
  41975. }
  41976. function np(a) {
  41977. a = a | 0;
  41978. var b = 0,
  41979. d = 0,
  41980. e = 0,
  41981. f = 0,
  41982. g = 0;
  41983. b = l;
  41984. l = (l + 16) | 0;
  41985. d = (b + 4) | 0;
  41986. e = b;
  41987. c[e >> 2] = a;
  41988. a = (pp() | 0) != 0;
  41989. f = sp(c[e >> 2] | 0) | 0;
  41990. if (a) {
  41991. c[d >> 2] = f;
  41992. g = c[d >> 2] | 0;
  41993. l = b;
  41994. return g | 0;
  41995. } else {
  41996. c[d >> 2] = tp(f) | 0;
  41997. g = c[d >> 2] | 0;
  41998. l = b;
  41999. return g | 0;
  42000. }
  42001. return 0;
  42002. }
  42003. function op(a) {
  42004. a = a | 0;
  42005. var b = 0,
  42006. d = 0,
  42007. e = 0,
  42008. f = 0;
  42009. b = l;
  42010. l = (l + 16) | 0;
  42011. d = b;
  42012. e = (b + 8) | 0;
  42013. c[e >> 2] = a;
  42014. a = (pp() | 0) != 0;
  42015. f = qp(c[e >> 2] | 0) | 0;
  42016. e = y;
  42017. if (a) {
  42018. a = d;
  42019. c[a >> 2] = f;
  42020. c[(a + 4) >> 2] = e;
  42021. } else {
  42022. a = rp(f, e) | 0;
  42023. e = d;
  42024. c[e >> 2] = a;
  42025. c[(e + 4) >> 2] = y;
  42026. }
  42027. e = d;
  42028. y = c[(e + 4) >> 2] | 0;
  42029. l = b;
  42030. return c[e >> 2] | 0;
  42031. }
  42032. function pp() {
  42033. return d[11936] | 0 | 0;
  42034. }
  42035. function qp(a) {
  42036. a = a | 0;
  42037. var b = 0,
  42038. e = 0,
  42039. f = 0;
  42040. b = l;
  42041. l = (l + 16) | 0;
  42042. e = b;
  42043. c[e >> 2] = a;
  42044. a = c[e >> 2] | 0;
  42045. e = a;
  42046. f = (a + 4) | 0;
  42047. y =
  42048. d[f >> 0] |
  42049. (d[(f + 1) >> 0] << 8) |
  42050. (d[(f + 2) >> 0] << 16) |
  42051. (d[(f + 3) >> 0] << 24);
  42052. l = b;
  42053. return (
  42054. d[e >> 0] |
  42055. (d[(e + 1) >> 0] << 8) |
  42056. (d[(e + 2) >> 0] << 16) |
  42057. (d[(e + 3) >> 0] << 24) |
  42058. 0
  42059. );
  42060. }
  42061. function rp(a, b) {
  42062. a = a | 0;
  42063. b = b | 0;
  42064. var d = 0,
  42065. e = 0,
  42066. f = 0,
  42067. g = 0,
  42068. h = 0;
  42069. d = l;
  42070. l = (l + 16) | 0;
  42071. e = d;
  42072. f = e;
  42073. c[f >> 2] = a;
  42074. c[(f + 4) >> 2] = b;
  42075. b = e;
  42076. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  42077. b = y & -16777216;
  42078. f = e;
  42079. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  42080. f = b | (y & 16711680);
  42081. b = e;
  42082. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  42083. b = f | (y & 65280);
  42084. f = e;
  42085. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  42086. f = b | (y & 255);
  42087. b = e;
  42088. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  42089. b = e;
  42090. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  42091. b = e;
  42092. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  42093. b = e;
  42094. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  42095. y = f;
  42096. l = d;
  42097. return (
  42098. (a & -16777216) |
  42099. (g & 16711680) |
  42100. (h & 65280) |
  42101. (e & 255) |
  42102. 0
  42103. );
  42104. }
  42105. function sp(a) {
  42106. a = a | 0;
  42107. var b = 0,
  42108. e = 0;
  42109. b = l;
  42110. l = (l + 16) | 0;
  42111. e = b;
  42112. c[e >> 2] = a;
  42113. a = c[e >> 2] | 0;
  42114. l = b;
  42115. return (
  42116. d[a >> 0] |
  42117. (d[(a + 1) >> 0] << 8) |
  42118. (d[(a + 2) >> 0] << 16) |
  42119. (d[(a + 3) >> 0] << 24) |
  42120. 0
  42121. );
  42122. }
  42123. function tp(a) {
  42124. a = a | 0;
  42125. var b = 0,
  42126. d = 0;
  42127. b = l;
  42128. l = (l + 16) | 0;
  42129. d = b;
  42130. c[d >> 2] = a;
  42131. l = b;
  42132. return (
  42133. ((c[d >> 2] << 24) & -16777216) |
  42134. ((c[d >> 2] << 8) & 16711680) |
  42135. (((c[d >> 2] | 0) >>> 8) & 65280) |
  42136. (((c[d >> 2] | 0) >>> 24) & 255) |
  42137. 0
  42138. );
  42139. }
  42140. function up(a) {
  42141. a = a | 0;
  42142. var b = 0,
  42143. d = 0;
  42144. b = l;
  42145. l = (l + 16) | 0;
  42146. d = b;
  42147. c[d >> 2] = a;
  42148. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  42149. l = b;
  42150. return a | 0;
  42151. }
  42152. function vp(a, b, d, e, f, g) {
  42153. a = a | 0;
  42154. b = b | 0;
  42155. d = d | 0;
  42156. e = e | 0;
  42157. f = f | 0;
  42158. g = g | 0;
  42159. var h = 0,
  42160. i = 0,
  42161. j = 0,
  42162. k = 0,
  42163. m = 0,
  42164. n = 0,
  42165. o = 0,
  42166. p = 0,
  42167. q = 0;
  42168. h = l;
  42169. l = (l + 32) | 0;
  42170. i = (h + 24) | 0;
  42171. j = (h + 20) | 0;
  42172. k = (h + 16) | 0;
  42173. m = (h + 12) | 0;
  42174. n = (h + 8) | 0;
  42175. o = (h + 4) | 0;
  42176. p = h;
  42177. c[j >> 2] = a;
  42178. c[k >> 2] = b;
  42179. c[m >> 2] = d;
  42180. c[n >> 2] = e;
  42181. c[o >> 2] = f;
  42182. c[p >> 2] = g;
  42183. g = c[j >> 2] | 0;
  42184. j = c[k >> 2] | 0;
  42185. k = c[m >> 2] | 0;
  42186. m = c[n >> 2] | 0;
  42187. n = c[o >> 2] | 0;
  42188. if (c[p >> 2] | 0) {
  42189. c[i >> 2] = wp(g, j, k, m, n) | 0;
  42190. q = c[i >> 2] | 0;
  42191. l = h;
  42192. return q | 0;
  42193. } else {
  42194. c[i >> 2] = xp(g, j, k, m, n) | 0;
  42195. q = c[i >> 2] | 0;
  42196. l = h;
  42197. return q | 0;
  42198. }
  42199. return 0;
  42200. }
  42201. function wp(b, e, f, g, h) {
  42202. b = b | 0;
  42203. e = e | 0;
  42204. f = f | 0;
  42205. g = g | 0;
  42206. h = h | 0;
  42207. var i = 0,
  42208. j = 0,
  42209. k = 0,
  42210. m = 0,
  42211. n = 0,
  42212. o = 0,
  42213. p = 0,
  42214. q = 0,
  42215. r = 0,
  42216. s = 0,
  42217. t = 0,
  42218. u = 0,
  42219. v = 0,
  42220. w = 0,
  42221. x = 0,
  42222. y = 0,
  42223. z = 0,
  42224. A = 0,
  42225. B = 0,
  42226. C = 0,
  42227. D = 0,
  42228. E = 0,
  42229. F = 0,
  42230. G = 0,
  42231. H = 0,
  42232. I = 0,
  42233. J = 0,
  42234. K = 0,
  42235. L = 0,
  42236. M = 0,
  42237. N = 0,
  42238. O = 0,
  42239. P = 0,
  42240. Q = 0,
  42241. R = 0,
  42242. S = 0,
  42243. T = 0,
  42244. U = 0,
  42245. V = 0,
  42246. W = 0,
  42247. X = 0,
  42248. Y = 0,
  42249. Z = 0,
  42250. _ = 0,
  42251. $ = 0,
  42252. aa = 0,
  42253. ba = 0,
  42254. ca = 0,
  42255. da = 0,
  42256. ea = 0,
  42257. fa = 0,
  42258. ga = 0,
  42259. ha = 0,
  42260. ia = 0,
  42261. ja = 0,
  42262. ka = 0,
  42263. la = 0,
  42264. ma = 0,
  42265. na = 0,
  42266. oa = 0,
  42267. pa = 0,
  42268. qa = 0,
  42269. ra = 0,
  42270. sa = 0,
  42271. ta = 0,
  42272. ua = 0,
  42273. va = 0,
  42274. wa = 0,
  42275. xa = 0,
  42276. ya = 0,
  42277. za = 0,
  42278. Aa = 0,
  42279. Ba = 0,
  42280. Ca = 0,
  42281. Da = 0,
  42282. Ea = 0,
  42283. Fa = 0,
  42284. Ga = 0,
  42285. Ha = 0,
  42286. Ia = 0,
  42287. Ja = 0,
  42288. Ka = 0,
  42289. La = 0,
  42290. Ma = 0,
  42291. Na = 0,
  42292. Oa = 0,
  42293. Pa = 0,
  42294. Qa = 0,
  42295. Ra = 0,
  42296. Sa = 0,
  42297. Ta = 0,
  42298. Ua = 0,
  42299. Va = 0,
  42300. Wa = 0,
  42301. Xa = 0,
  42302. Ya = 0,
  42303. Za = 0,
  42304. _a = 0,
  42305. $a = 0,
  42306. ab = 0,
  42307. bb = 0,
  42308. cb = 0,
  42309. db = 0,
  42310. eb = 0,
  42311. fb = 0,
  42312. gb = 0,
  42313. hb = 0,
  42314. ib = 0,
  42315. jb = 0,
  42316. kb = 0,
  42317. lb = 0,
  42318. mb = 0,
  42319. nb = 0,
  42320. ob = 0,
  42321. pb = 0,
  42322. qb = 0,
  42323. rb = 0,
  42324. sb = 0,
  42325. tb = 0,
  42326. ub = 0,
  42327. vb = 0,
  42328. wb = 0,
  42329. xb = 0,
  42330. yb = 0,
  42331. zb = 0,
  42332. Ab = 0,
  42333. Bb = 0,
  42334. Cb = 0,
  42335. Db = 0,
  42336. Eb = 0,
  42337. Fb = 0,
  42338. Gb = 0,
  42339. Hb = 0,
  42340. Ib = 0,
  42341. Jb = 0,
  42342. Kb = 0,
  42343. Lb = 0,
  42344. Mb = 0,
  42345. Nb = 0,
  42346. Ob = 0,
  42347. Pb = 0,
  42348. Qb = 0,
  42349. Rb = 0,
  42350. Sb = 0,
  42351. Tb = 0,
  42352. Ub = 0,
  42353. Vb = 0,
  42354. Wb = 0,
  42355. Xb = 0,
  42356. Yb = 0,
  42357. Zb = 0,
  42358. _b = 0,
  42359. $b = 0,
  42360. ac = 0,
  42361. bc = 0,
  42362. cc = 0,
  42363. dc = 0,
  42364. ec = 0,
  42365. fc = 0,
  42366. gc = 0,
  42367. hc = 0,
  42368. ic = 0,
  42369. jc = 0,
  42370. kc = 0,
  42371. lc = 0,
  42372. mc = 0,
  42373. nc = 0,
  42374. oc = 0,
  42375. pc = 0,
  42376. qc = 0,
  42377. rc = 0,
  42378. sc = 0,
  42379. tc = 0,
  42380. uc = 0,
  42381. vc = 0,
  42382. wc = 0,
  42383. xc = 0,
  42384. yc = 0,
  42385. zc = 0,
  42386. Ac = 0,
  42387. Bc = 0,
  42388. Cc = 0,
  42389. Dc = 0,
  42390. Ec = 0,
  42391. Fc = 0,
  42392. Gc = 0,
  42393. Hc = 0,
  42394. Ic = 0,
  42395. Jc = 0,
  42396. Kc = 0,
  42397. Lc = 0,
  42398. Mc = 0,
  42399. Nc = 0,
  42400. Oc = 0,
  42401. Pc = 0,
  42402. Qc = 0,
  42403. Rc = 0,
  42404. Sc = 0,
  42405. Tc = 0,
  42406. Uc = 0,
  42407. Vc = 0,
  42408. Wc = 0,
  42409. Xc = 0,
  42410. Yc = 0,
  42411. Zc = 0,
  42412. _c = 0,
  42413. $c = 0,
  42414. ad = 0,
  42415. bd = 0,
  42416. cd = 0,
  42417. dd = 0,
  42418. ed = 0,
  42419. fd = 0,
  42420. gd = 0,
  42421. hd = 0,
  42422. id = 0,
  42423. jd = 0,
  42424. kd = 0,
  42425. ld = 0,
  42426. md = 0,
  42427. nd = 0,
  42428. od = 0,
  42429. pd = 0,
  42430. qd = 0,
  42431. rd = 0,
  42432. sd = 0,
  42433. td = 0,
  42434. ud = 0,
  42435. vd = 0,
  42436. wd = 0,
  42437. xd = 0,
  42438. yd = 0,
  42439. zd = 0,
  42440. Ad = 0,
  42441. Bd = 0,
  42442. Cd = 0,
  42443. Dd = 0,
  42444. Ed = 0,
  42445. Fd = 0,
  42446. Gd = 0,
  42447. Hd = 0,
  42448. Id = 0,
  42449. Jd = 0,
  42450. Kd = 0,
  42451. Ld = 0,
  42452. Md = 0,
  42453. Nd = 0,
  42454. Od = 0,
  42455. Pd = 0,
  42456. Qd = 0,
  42457. Rd = 0,
  42458. Sd = 0,
  42459. Td = 0,
  42460. Ud = 0,
  42461. Vd = 0,
  42462. Wd = 0,
  42463. Xd = 0,
  42464. Yd = 0,
  42465. Zd = 0,
  42466. _d = 0,
  42467. $d = 0,
  42468. ae = 0,
  42469. be = 0,
  42470. ce = 0,
  42471. de = 0,
  42472. ee = 0,
  42473. fe = 0,
  42474. ge = 0,
  42475. he = 0,
  42476. ie = 0;
  42477. i = l;
  42478. l = (l + 1024) | 0;
  42479. j = (i + 968) | 0;
  42480. k = (i + 964) | 0;
  42481. m = (i + 960) | 0;
  42482. n = (i + 956) | 0;
  42483. o = (i + 1015) | 0;
  42484. p = (i + 952) | 0;
  42485. q = (i + 948) | 0;
  42486. r = (i + 944) | 0;
  42487. s = (i + 940) | 0;
  42488. t = (i + 1014) | 0;
  42489. u = (i + 936) | 0;
  42490. v = (i + 932) | 0;
  42491. w = (i + 928) | 0;
  42492. x = (i + 924) | 0;
  42493. y = (i + 1013) | 0;
  42494. z = (i + 920) | 0;
  42495. A = (i + 916) | 0;
  42496. B = (i + 912) | 0;
  42497. C = (i + 908) | 0;
  42498. D = (i + 1012) | 0;
  42499. E = (i + 904) | 0;
  42500. F = (i + 900) | 0;
  42501. G = (i + 896) | 0;
  42502. H = (i + 892) | 0;
  42503. I = (i + 1011) | 0;
  42504. J = (i + 888) | 0;
  42505. K = (i + 884) | 0;
  42506. L = (i + 880) | 0;
  42507. M = (i + 876) | 0;
  42508. N = (i + 1010) | 0;
  42509. O = (i + 872) | 0;
  42510. P = (i + 868) | 0;
  42511. Q = (i + 864) | 0;
  42512. R = (i + 860) | 0;
  42513. S = (i + 856) | 0;
  42514. T = (i + 852) | 0;
  42515. U = (i + 848) | 0;
  42516. V = (i + 844) | 0;
  42517. W = (i + 840) | 0;
  42518. X = (i + 836) | 0;
  42519. Y = (i + 1009) | 0;
  42520. Z = (i + 832) | 0;
  42521. _ = (i + 828) | 0;
  42522. $ = (i + 824) | 0;
  42523. aa = (i + 820) | 0;
  42524. ba = (i + 1008) | 0;
  42525. ca = (i + 816) | 0;
  42526. da = (i + 812) | 0;
  42527. ea = (i + 808) | 0;
  42528. fa = (i + 804) | 0;
  42529. ga = (i + 1007) | 0;
  42530. ha = (i + 800) | 0;
  42531. ia = (i + 796) | 0;
  42532. ja = (i + 792) | 0;
  42533. ka = (i + 788) | 0;
  42534. la = (i + 1006) | 0;
  42535. ma = (i + 784) | 0;
  42536. na = (i + 780) | 0;
  42537. oa = (i + 776) | 0;
  42538. pa = (i + 772) | 0;
  42539. qa = (i + 1005) | 0;
  42540. ra = (i + 768) | 0;
  42541. sa = (i + 764) | 0;
  42542. ta = (i + 760) | 0;
  42543. ua = (i + 756) | 0;
  42544. va = (i + 1004) | 0;
  42545. wa = (i + 752) | 0;
  42546. xa = (i + 748) | 0;
  42547. ya = (i + 744) | 0;
  42548. za = (i + 740) | 0;
  42549. Aa = (i + 736) | 0;
  42550. Ba = (i + 732) | 0;
  42551. Ca = (i + 728) | 0;
  42552. Da = (i + 724) | 0;
  42553. Ea = (i + 720) | 0;
  42554. Fa = (i + 716) | 0;
  42555. Ga = (i + 1003) | 0;
  42556. Ha = (i + 712) | 0;
  42557. Ia = (i + 708) | 0;
  42558. Ja = (i + 704) | 0;
  42559. Ka = (i + 700) | 0;
  42560. La = (i + 1002) | 0;
  42561. Ma = (i + 696) | 0;
  42562. Na = (i + 692) | 0;
  42563. Oa = (i + 688) | 0;
  42564. Pa = (i + 684) | 0;
  42565. Qa = (i + 1001) | 0;
  42566. Ra = (i + 680) | 0;
  42567. Sa = (i + 676) | 0;
  42568. Ta = (i + 672) | 0;
  42569. Ua = (i + 668) | 0;
  42570. Va = (i + 1e3) | 0;
  42571. Wa = (i + 664) | 0;
  42572. Xa = (i + 660) | 0;
  42573. Ya = (i + 656) | 0;
  42574. Za = (i + 652) | 0;
  42575. _a = (i + 999) | 0;
  42576. $a = (i + 648) | 0;
  42577. ab = (i + 644) | 0;
  42578. bb = (i + 640) | 0;
  42579. cb = (i + 636) | 0;
  42580. db = (i + 998) | 0;
  42581. eb = (i + 632) | 0;
  42582. fb = (i + 628) | 0;
  42583. gb = (i + 624) | 0;
  42584. hb = (i + 620) | 0;
  42585. ib = (i + 616) | 0;
  42586. jb = (i + 612) | 0;
  42587. kb = (i + 608) | 0;
  42588. lb = (i + 604) | 0;
  42589. mb = (i + 600) | 0;
  42590. nb = (i + 596) | 0;
  42591. ob = (i + 997) | 0;
  42592. pb = (i + 592) | 0;
  42593. qb = (i + 588) | 0;
  42594. rb = (i + 584) | 0;
  42595. sb = (i + 580) | 0;
  42596. tb = (i + 996) | 0;
  42597. ub = (i + 576) | 0;
  42598. vb = (i + 572) | 0;
  42599. wb = (i + 568) | 0;
  42600. xb = (i + 564) | 0;
  42601. yb = (i + 995) | 0;
  42602. zb = (i + 560) | 0;
  42603. Ab = (i + 556) | 0;
  42604. Bb = (i + 552) | 0;
  42605. Cb = (i + 548) | 0;
  42606. Db = (i + 994) | 0;
  42607. Eb = (i + 544) | 0;
  42608. Fb = (i + 540) | 0;
  42609. Gb = (i + 536) | 0;
  42610. Hb = (i + 532) | 0;
  42611. Ib = (i + 993) | 0;
  42612. Jb = (i + 528) | 0;
  42613. Kb = (i + 524) | 0;
  42614. Lb = (i + 520) | 0;
  42615. Mb = (i + 516) | 0;
  42616. Nb = (i + 992) | 0;
  42617. Ob = (i + 512) | 0;
  42618. Pb = (i + 508) | 0;
  42619. Qb = (i + 504) | 0;
  42620. Rb = (i + 500) | 0;
  42621. Sb = (i + 496) | 0;
  42622. Tb = (i + 492) | 0;
  42623. Ub = (i + 488) | 0;
  42624. Vb = (i + 484) | 0;
  42625. Wb = (i + 480) | 0;
  42626. Xb = (i + 476) | 0;
  42627. Yb = (i + 991) | 0;
  42628. Zb = (i + 472) | 0;
  42629. _b = (i + 468) | 0;
  42630. $b = (i + 464) | 0;
  42631. ac = (i + 460) | 0;
  42632. bc = (i + 990) | 0;
  42633. cc = (i + 456) | 0;
  42634. dc = (i + 452) | 0;
  42635. ec = (i + 448) | 0;
  42636. fc = (i + 444) | 0;
  42637. gc = (i + 989) | 0;
  42638. hc = (i + 440) | 0;
  42639. ic = (i + 436) | 0;
  42640. jc = (i + 432) | 0;
  42641. kc = (i + 428) | 0;
  42642. lc = (i + 988) | 0;
  42643. mc = (i + 424) | 0;
  42644. nc = (i + 420) | 0;
  42645. oc = (i + 416) | 0;
  42646. pc = (i + 412) | 0;
  42647. qc = (i + 987) | 0;
  42648. rc = (i + 408) | 0;
  42649. sc = (i + 404) | 0;
  42650. tc = (i + 400) | 0;
  42651. uc = (i + 396) | 0;
  42652. vc = (i + 986) | 0;
  42653. wc = (i + 392) | 0;
  42654. xc = (i + 388) | 0;
  42655. yc = (i + 384) | 0;
  42656. zc = (i + 380) | 0;
  42657. Ac = (i + 985) | 0;
  42658. Bc = (i + 376) | 0;
  42659. Cc = (i + 372) | 0;
  42660. Dc = (i + 368) | 0;
  42661. Ec = (i + 364) | 0;
  42662. Fc = (i + 984) | 0;
  42663. Gc = (i + 360) | 0;
  42664. Hc = (i + 356) | 0;
  42665. Ic = (i + 352) | 0;
  42666. Jc = (i + 348) | 0;
  42667. Kc = (i + 983) | 0;
  42668. Lc = (i + 344) | 0;
  42669. Mc = (i + 340) | 0;
  42670. Nc = (i + 336) | 0;
  42671. Oc = (i + 332) | 0;
  42672. Pc = (i + 982) | 0;
  42673. Qc = (i + 328) | 0;
  42674. Rc = (i + 324) | 0;
  42675. Sc = (i + 320) | 0;
  42676. Tc = (i + 316) | 0;
  42677. Uc = (i + 981) | 0;
  42678. Vc = (i + 312) | 0;
  42679. Wc = (i + 308) | 0;
  42680. Xc = (i + 304) | 0;
  42681. Yc = (i + 300) | 0;
  42682. Zc = (i + 980) | 0;
  42683. _c = (i + 296) | 0;
  42684. $c = (i + 292) | 0;
  42685. ad = (i + 288) | 0;
  42686. bd = (i + 284) | 0;
  42687. cd = (i + 979) | 0;
  42688. dd = (i + 280) | 0;
  42689. ed = (i + 276) | 0;
  42690. fd = (i + 272) | 0;
  42691. gd = (i + 268) | 0;
  42692. hd = (i + 978) | 0;
  42693. id = (i + 264) | 0;
  42694. jd = (i + 260) | 0;
  42695. kd = (i + 256) | 0;
  42696. ld = (i + 252) | 0;
  42697. md = (i + 977) | 0;
  42698. nd = (i + 248) | 0;
  42699. od = (i + 244) | 0;
  42700. pd = (i + 240) | 0;
  42701. qd = (i + 236) | 0;
  42702. rd = (i + 976) | 0;
  42703. sd = (i + 232) | 0;
  42704. td = (i + 228) | 0;
  42705. ud = (i + 224) | 0;
  42706. vd = (i + 220) | 0;
  42707. wd = (i + 216) | 0;
  42708. xd = (i + 212) | 0;
  42709. yd = (i + 208) | 0;
  42710. zd = (i + 204) | 0;
  42711. Ad = (i + 200) | 0;
  42712. Bd = (i + 196) | 0;
  42713. Cd = (i + 192) | 0;
  42714. Dd = (i + 172) | 0;
  42715. Ed = (i + 152) | 0;
  42716. Fd = (i + 132) | 0;
  42717. Gd = (i + 112) | 0;
  42718. Hd = (i + 108) | 0;
  42719. Id = (i + 104) | 0;
  42720. Jd = (i + 100) | 0;
  42721. Kd = (i + 96) | 0;
  42722. Ld = (i + 92) | 0;
  42723. Md = (i + 88) | 0;
  42724. Nd = (i + 84) | 0;
  42725. Od = (i + 80) | 0;
  42726. Pd = (i + 76) | 0;
  42727. Qd = (i + 72) | 0;
  42728. Rd = (i + 68) | 0;
  42729. Sd = (i + 64) | 0;
  42730. Td = (i + 60) | 0;
  42731. Ud = (i + 56) | 0;
  42732. Vd = (i + 52) | 0;
  42733. Wd = (i + 48) | 0;
  42734. Xd = (i + 44) | 0;
  42735. Yd = (i + 972) | 0;
  42736. Zd = (i + 40) | 0;
  42737. _d = (i + 36) | 0;
  42738. $d = (i + 32) | 0;
  42739. ae = (i + 28) | 0;
  42740. be = (i + 24) | 0;
  42741. ce = (i + 20) | 0;
  42742. de = (i + 16) | 0;
  42743. ee = (i + 12) | 0;
  42744. fe = (i + 8) | 0;
  42745. ge = (i + 4) | 0;
  42746. he = i;
  42747. c[de >> 2] = b;
  42748. c[ee >> 2] = e;
  42749. c[fe >> 2] = f;
  42750. c[ge >> 2] = g;
  42751. c[he >> 2] = h;
  42752. h = c[ee >> 2] | 0;
  42753. ee = c[fe >> 2] | 0;
  42754. fe = c[ge >> 2] | 0;
  42755. ge = c[he >> 2] | 0;
  42756. c[td >> 2] = c[de >> 2];
  42757. c[ud >> 2] = h;
  42758. c[vd >> 2] = ee;
  42759. c[wd >> 2] = fe;
  42760. c[xd >> 2] = ge;
  42761. if ((c[wd >> 2] | 0) >>> 0 < 10) {
  42762. c[sd >> 2] = -20;
  42763. ie = c[sd >> 2] | 0;
  42764. l = i;
  42765. return ie | 0;
  42766. }
  42767. c[yd >> 2] = c[vd >> 2];
  42768. c[zd >> 2] = c[td >> 2];
  42769. c[Ad >> 2] = (c[zd >> 2] | 0) + (c[ud >> 2] | 0);
  42770. c[Bd >> 2] = (c[xd >> 2] | 0) + 4;
  42771. c[Cd >> 2] = c[Bd >> 2];
  42772. c[Hd >> 2] = (yp(c[yd >> 2] | 0) | 0) & 65535;
  42773. c[Id >> 2] = (yp(((c[yd >> 2] | 0) + 2) | 0) | 0) & 65535;
  42774. c[Jd >> 2] = (yp(((c[yd >> 2] | 0) + 4) | 0) | 0) & 65535;
  42775. c[Kd >> 2] =
  42776. (c[wd >> 2] | 0) -
  42777. ((c[Hd >> 2] | 0) +
  42778. (c[Id >> 2] | 0) +
  42779. (c[Jd >> 2] | 0) +
  42780. 6);
  42781. c[Ld >> 2] = (c[yd >> 2] | 0) + 6;
  42782. c[Md >> 2] = (c[Ld >> 2] | 0) + (c[Hd >> 2] | 0);
  42783. c[Nd >> 2] = (c[Md >> 2] | 0) + (c[Id >> 2] | 0);
  42784. c[Od >> 2] = (c[Nd >> 2] | 0) + (c[Jd >> 2] | 0);
  42785. c[Pd >> 2] = (((((c[ud >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  42786. c[Qd >> 2] = (c[zd >> 2] | 0) + (c[Pd >> 2] | 0);
  42787. c[Rd >> 2] = (c[Qd >> 2] | 0) + (c[Pd >> 2] | 0);
  42788. c[Sd >> 2] = (c[Rd >> 2] | 0) + (c[Pd >> 2] | 0);
  42789. c[Td >> 2] = c[zd >> 2];
  42790. c[Ud >> 2] = c[Qd >> 2];
  42791. c[Vd >> 2] = c[Rd >> 2];
  42792. c[Wd >> 2] = c[Sd >> 2];
  42793. c[Xd >> 2] = 0;
  42794. bp(Yd, c[xd >> 2] | 0);
  42795. c[Zd >> 2] = d[(Yd + 2) >> 0];
  42796. if ((c[Kd >> 2] | 0) >>> 0 > (c[wd >> 2] | 0) >>> 0) {
  42797. c[sd >> 2] = -20;
  42798. ie = c[sd >> 2] | 0;
  42799. l = i;
  42800. return ie | 0;
  42801. }
  42802. c[_d >> 2] = fp(Dd, c[Ld >> 2] | 0, c[Hd >> 2] | 0) | 0;
  42803. if (ap(c[_d >> 2] | 0) | 0) {
  42804. c[sd >> 2] = c[_d >> 2];
  42805. ie = c[sd >> 2] | 0;
  42806. l = i;
  42807. return ie | 0;
  42808. }
  42809. c[$d >> 2] = fp(Ed, c[Md >> 2] | 0, c[Id >> 2] | 0) | 0;
  42810. if (ap(c[$d >> 2] | 0) | 0) {
  42811. c[sd >> 2] = c[$d >> 2];
  42812. ie = c[sd >> 2] | 0;
  42813. l = i;
  42814. return ie | 0;
  42815. }
  42816. c[ae >> 2] = fp(Fd, c[Nd >> 2] | 0, c[Jd >> 2] | 0) | 0;
  42817. if (ap(c[ae >> 2] | 0) | 0) {
  42818. c[sd >> 2] = c[ae >> 2];
  42819. ie = c[sd >> 2] | 0;
  42820. l = i;
  42821. return ie | 0;
  42822. }
  42823. c[be >> 2] = fp(Gd, c[Od >> 2] | 0, c[Kd >> 2] | 0) | 0;
  42824. if (ap(c[be >> 2] | 0) | 0) {
  42825. c[sd >> 2] = c[be >> 2];
  42826. ie = c[sd >> 2] | 0;
  42827. l = i;
  42828. return ie | 0;
  42829. }
  42830. be = gp(Dd) | 0;
  42831. Kd = be | (gp(Ed) | 0);
  42832. be = Kd | (gp(Fd) | 0);
  42833. c[Xd >> 2] = be | (gp(Gd) | 0);
  42834. while (1) {
  42835. if (c[Xd >> 2] | 0) break;
  42836. if (
  42837. (c[Wd >> 2] | 0) >>> 0 >=
  42838. (((c[Ad >> 2] | 0) + -3) | 0) >>> 0
  42839. )
  42840. break;
  42841. if (hp() | 0) {
  42842. be = c[Cd >> 2] | 0;
  42843. Kd = c[Zd >> 2] | 0;
  42844. c[nd >> 2] = Dd;
  42845. c[od >> 2] = be;
  42846. c[pd >> 2] = Kd;
  42847. c[qd >> 2] = ip(c[nd >> 2] | 0, c[pd >> 2] | 0) | 0;
  42848. a[rd >> 0] =
  42849. a[((c[od >> 2] | 0) + (c[qd >> 2] << 1)) >> 0] | 0;
  42850. jp(
  42851. c[nd >> 2] | 0,
  42852. d[((c[od >> 2] | 0) + (c[qd >> 2] << 1) + 1) >> 0] | 0
  42853. );
  42854. Kd = a[rd >> 0] | 0;
  42855. be = c[Td >> 2] | 0;
  42856. c[Td >> 2] = be + 1;
  42857. a[be >> 0] = Kd;
  42858. }
  42859. if (hp() | 0) {
  42860. Kd = c[Cd >> 2] | 0;
  42861. be = c[Zd >> 2] | 0;
  42862. c[id >> 2] = Ed;
  42863. c[jd >> 2] = Kd;
  42864. c[kd >> 2] = be;
  42865. c[ld >> 2] = ip(c[id >> 2] | 0, c[kd >> 2] | 0) | 0;
  42866. a[md >> 0] =
  42867. a[((c[jd >> 2] | 0) + (c[ld >> 2] << 1)) >> 0] | 0;
  42868. jp(
  42869. c[id >> 2] | 0,
  42870. d[((c[jd >> 2] | 0) + (c[ld >> 2] << 1) + 1) >> 0] | 0
  42871. );
  42872. be = a[md >> 0] | 0;
  42873. Kd = c[Ud >> 2] | 0;
  42874. c[Ud >> 2] = Kd + 1;
  42875. a[Kd >> 0] = be;
  42876. }
  42877. if (hp() | 0) {
  42878. be = c[Cd >> 2] | 0;
  42879. Kd = c[Zd >> 2] | 0;
  42880. c[dd >> 2] = Fd;
  42881. c[ed >> 2] = be;
  42882. c[fd >> 2] = Kd;
  42883. c[gd >> 2] = ip(c[dd >> 2] | 0, c[fd >> 2] | 0) | 0;
  42884. a[hd >> 0] =
  42885. a[((c[ed >> 2] | 0) + (c[gd >> 2] << 1)) >> 0] | 0;
  42886. jp(
  42887. c[dd >> 2] | 0,
  42888. d[((c[ed >> 2] | 0) + (c[gd >> 2] << 1) + 1) >> 0] | 0
  42889. );
  42890. Kd = a[hd >> 0] | 0;
  42891. be = c[Vd >> 2] | 0;
  42892. c[Vd >> 2] = be + 1;
  42893. a[be >> 0] = Kd;
  42894. }
  42895. if (hp() | 0) {
  42896. Kd = c[Cd >> 2] | 0;
  42897. be = c[Zd >> 2] | 0;
  42898. c[_c >> 2] = Gd;
  42899. c[$c >> 2] = Kd;
  42900. c[ad >> 2] = be;
  42901. c[bd >> 2] = ip(c[_c >> 2] | 0, c[ad >> 2] | 0) | 0;
  42902. a[cd >> 0] =
  42903. a[((c[$c >> 2] | 0) + (c[bd >> 2] << 1)) >> 0] | 0;
  42904. jp(
  42905. c[_c >> 2] | 0,
  42906. d[((c[$c >> 2] | 0) + (c[bd >> 2] << 1) + 1) >> 0] | 0
  42907. );
  42908. be = a[cd >> 0] | 0;
  42909. Kd = c[Wd >> 2] | 0;
  42910. c[Wd >> 2] = Kd + 1;
  42911. a[Kd >> 0] = be;
  42912. }
  42913. hp() | 0;
  42914. be = c[Cd >> 2] | 0;
  42915. Kd = c[Zd >> 2] | 0;
  42916. c[Vc >> 2] = Dd;
  42917. c[Wc >> 2] = be;
  42918. c[Xc >> 2] = Kd;
  42919. c[Yc >> 2] = ip(c[Vc >> 2] | 0, c[Xc >> 2] | 0) | 0;
  42920. a[Zc >> 0] =
  42921. a[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1)) >> 0] | 0;
  42922. jp(
  42923. c[Vc >> 2] | 0,
  42924. d[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1) + 1) >> 0] | 0
  42925. );
  42926. Kd = a[Zc >> 0] | 0;
  42927. be = c[Td >> 2] | 0;
  42928. c[Td >> 2] = be + 1;
  42929. a[be >> 0] = Kd;
  42930. hp() | 0;
  42931. Kd = c[Cd >> 2] | 0;
  42932. be = c[Zd >> 2] | 0;
  42933. c[Qc >> 2] = Ed;
  42934. c[Rc >> 2] = Kd;
  42935. c[Sc >> 2] = be;
  42936. c[Tc >> 2] = ip(c[Qc >> 2] | 0, c[Sc >> 2] | 0) | 0;
  42937. a[Uc >> 0] =
  42938. a[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1)) >> 0] | 0;
  42939. jp(
  42940. c[Qc >> 2] | 0,
  42941. d[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1) + 1) >> 0] | 0
  42942. );
  42943. be = a[Uc >> 0] | 0;
  42944. Kd = c[Ud >> 2] | 0;
  42945. c[Ud >> 2] = Kd + 1;
  42946. a[Kd >> 0] = be;
  42947. hp() | 0;
  42948. be = c[Cd >> 2] | 0;
  42949. Kd = c[Zd >> 2] | 0;
  42950. c[Lc >> 2] = Fd;
  42951. c[Mc >> 2] = be;
  42952. c[Nc >> 2] = Kd;
  42953. c[Oc >> 2] = ip(c[Lc >> 2] | 0, c[Nc >> 2] | 0) | 0;
  42954. a[Pc >> 0] =
  42955. a[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1)) >> 0] | 0;
  42956. jp(
  42957. c[Lc >> 2] | 0,
  42958. d[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1) + 1) >> 0] | 0
  42959. );
  42960. Kd = a[Pc >> 0] | 0;
  42961. be = c[Vd >> 2] | 0;
  42962. c[Vd >> 2] = be + 1;
  42963. a[be >> 0] = Kd;
  42964. hp() | 0;
  42965. Kd = c[Cd >> 2] | 0;
  42966. be = c[Zd >> 2] | 0;
  42967. c[Gc >> 2] = Gd;
  42968. c[Hc >> 2] = Kd;
  42969. c[Ic >> 2] = be;
  42970. c[Jc >> 2] = ip(c[Gc >> 2] | 0, c[Ic >> 2] | 0) | 0;
  42971. a[Kc >> 0] =
  42972. a[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1)) >> 0] | 0;
  42973. jp(
  42974. c[Gc >> 2] | 0,
  42975. d[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1) + 1) >> 0] | 0
  42976. );
  42977. be = a[Kc >> 0] | 0;
  42978. Kd = c[Wd >> 2] | 0;
  42979. c[Wd >> 2] = Kd + 1;
  42980. a[Kd >> 0] = be;
  42981. if (hp() | 0) {
  42982. be = c[Cd >> 2] | 0;
  42983. Kd = c[Zd >> 2] | 0;
  42984. c[Bc >> 2] = Dd;
  42985. c[Cc >> 2] = be;
  42986. c[Dc >> 2] = Kd;
  42987. c[Ec >> 2] = ip(c[Bc >> 2] | 0, c[Dc >> 2] | 0) | 0;
  42988. a[Fc >> 0] =
  42989. a[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1)) >> 0] | 0;
  42990. jp(
  42991. c[Bc >> 2] | 0,
  42992. d[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1) + 1) >> 0] | 0
  42993. );
  42994. Kd = a[Fc >> 0] | 0;
  42995. be = c[Td >> 2] | 0;
  42996. c[Td >> 2] = be + 1;
  42997. a[be >> 0] = Kd;
  42998. }
  42999. if (hp() | 0) {
  43000. Kd = c[Cd >> 2] | 0;
  43001. be = c[Zd >> 2] | 0;
  43002. c[wc >> 2] = Ed;
  43003. c[xc >> 2] = Kd;
  43004. c[yc >> 2] = be;
  43005. c[zc >> 2] = ip(c[wc >> 2] | 0, c[yc >> 2] | 0) | 0;
  43006. a[Ac >> 0] =
  43007. a[((c[xc >> 2] | 0) + (c[zc >> 2] << 1)) >> 0] | 0;
  43008. jp(
  43009. c[wc >> 2] | 0,
  43010. d[((c[xc >> 2] | 0) + (c[zc >> 2] << 1) + 1) >> 0] | 0
  43011. );
  43012. be = a[Ac >> 0] | 0;
  43013. Kd = c[Ud >> 2] | 0;
  43014. c[Ud >> 2] = Kd + 1;
  43015. a[Kd >> 0] = be;
  43016. }
  43017. if (hp() | 0) {
  43018. be = c[Cd >> 2] | 0;
  43019. Kd = c[Zd >> 2] | 0;
  43020. c[rc >> 2] = Fd;
  43021. c[sc >> 2] = be;
  43022. c[tc >> 2] = Kd;
  43023. c[uc >> 2] = ip(c[rc >> 2] | 0, c[tc >> 2] | 0) | 0;
  43024. a[vc >> 0] =
  43025. a[((c[sc >> 2] | 0) + (c[uc >> 2] << 1)) >> 0] | 0;
  43026. jp(
  43027. c[rc >> 2] | 0,
  43028. d[((c[sc >> 2] | 0) + (c[uc >> 2] << 1) + 1) >> 0] | 0
  43029. );
  43030. Kd = a[vc >> 0] | 0;
  43031. be = c[Vd >> 2] | 0;
  43032. c[Vd >> 2] = be + 1;
  43033. a[be >> 0] = Kd;
  43034. }
  43035. if (hp() | 0) {
  43036. Kd = c[Cd >> 2] | 0;
  43037. be = c[Zd >> 2] | 0;
  43038. c[mc >> 2] = Gd;
  43039. c[nc >> 2] = Kd;
  43040. c[oc >> 2] = be;
  43041. c[pc >> 2] = ip(c[mc >> 2] | 0, c[oc >> 2] | 0) | 0;
  43042. a[qc >> 0] =
  43043. a[((c[nc >> 2] | 0) + (c[pc >> 2] << 1)) >> 0] | 0;
  43044. jp(
  43045. c[mc >> 2] | 0,
  43046. d[((c[nc >> 2] | 0) + (c[pc >> 2] << 1) + 1) >> 0] | 0
  43047. );
  43048. be = a[qc >> 0] | 0;
  43049. Kd = c[Wd >> 2] | 0;
  43050. c[Wd >> 2] = Kd + 1;
  43051. a[Kd >> 0] = be;
  43052. }
  43053. be = c[Cd >> 2] | 0;
  43054. Kd = c[Zd >> 2] | 0;
  43055. c[hc >> 2] = Dd;
  43056. c[ic >> 2] = be;
  43057. c[jc >> 2] = Kd;
  43058. c[kc >> 2] = ip(c[hc >> 2] | 0, c[jc >> 2] | 0) | 0;
  43059. a[lc >> 0] =
  43060. a[((c[ic >> 2] | 0) + (c[kc >> 2] << 1)) >> 0] | 0;
  43061. jp(
  43062. c[hc >> 2] | 0,
  43063. d[((c[ic >> 2] | 0) + (c[kc >> 2] << 1) + 1) >> 0] | 0
  43064. );
  43065. Kd = a[lc >> 0] | 0;
  43066. be = c[Td >> 2] | 0;
  43067. c[Td >> 2] = be + 1;
  43068. a[be >> 0] = Kd;
  43069. Kd = c[Cd >> 2] | 0;
  43070. be = c[Zd >> 2] | 0;
  43071. c[cc >> 2] = Ed;
  43072. c[dc >> 2] = Kd;
  43073. c[ec >> 2] = be;
  43074. c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
  43075. a[gc >> 0] =
  43076. a[((c[dc >> 2] | 0) + (c[fc >> 2] << 1)) >> 0] | 0;
  43077. jp(
  43078. c[cc >> 2] | 0,
  43079. d[((c[dc >> 2] | 0) + (c[fc >> 2] << 1) + 1) >> 0] | 0
  43080. );
  43081. be = a[gc >> 0] | 0;
  43082. Kd = c[Ud >> 2] | 0;
  43083. c[Ud >> 2] = Kd + 1;
  43084. a[Kd >> 0] = be;
  43085. be = c[Cd >> 2] | 0;
  43086. Kd = c[Zd >> 2] | 0;
  43087. c[Zb >> 2] = Fd;
  43088. c[_b >> 2] = be;
  43089. c[$b >> 2] = Kd;
  43090. c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
  43091. a[bc >> 0] =
  43092. a[((c[_b >> 2] | 0) + (c[ac >> 2] << 1)) >> 0] | 0;
  43093. jp(
  43094. c[Zb >> 2] | 0,
  43095. d[((c[_b >> 2] | 0) + (c[ac >> 2] << 1) + 1) >> 0] | 0
  43096. );
  43097. Kd = a[bc >> 0] | 0;
  43098. be = c[Vd >> 2] | 0;
  43099. c[Vd >> 2] = be + 1;
  43100. a[be >> 0] = Kd;
  43101. Kd = c[Cd >> 2] | 0;
  43102. be = c[Zd >> 2] | 0;
  43103. c[Ub >> 2] = Gd;
  43104. c[Vb >> 2] = Kd;
  43105. c[Wb >> 2] = be;
  43106. c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
  43107. a[Yb >> 0] =
  43108. a[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1)) >> 0] | 0;
  43109. jp(
  43110. c[Ub >> 2] | 0,
  43111. d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1) + 1) >> 0] | 0
  43112. );
  43113. be = a[Yb >> 0] | 0;
  43114. Kd = c[Wd >> 2] | 0;
  43115. c[Wd >> 2] = Kd + 1;
  43116. a[Kd >> 0] = be;
  43117. gp(Dd) | 0;
  43118. gp(Ed) | 0;
  43119. gp(Fd) | 0;
  43120. gp(Gd) | 0;
  43121. }
  43122. if ((c[Td >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
  43123. c[sd >> 2] = -20;
  43124. ie = c[sd >> 2] | 0;
  43125. l = i;
  43126. return ie | 0;
  43127. }
  43128. if ((c[Ud >> 2] | 0) >>> 0 > (c[Rd >> 2] | 0) >>> 0) {
  43129. c[sd >> 2] = -20;
  43130. ie = c[sd >> 2] | 0;
  43131. l = i;
  43132. return ie | 0;
  43133. }
  43134. if ((c[Vd >> 2] | 0) >>> 0 > (c[Sd >> 2] | 0) >>> 0) {
  43135. c[sd >> 2] = -20;
  43136. ie = c[sd >> 2] | 0;
  43137. l = i;
  43138. return ie | 0;
  43139. }
  43140. Yb = c[Qd >> 2] | 0;
  43141. Qd = c[Cd >> 2] | 0;
  43142. Xb = c[Zd >> 2] | 0;
  43143. c[Ob >> 2] = c[Td >> 2];
  43144. c[Pb >> 2] = Dd;
  43145. c[Qb >> 2] = Yb;
  43146. c[Rb >> 2] = Qd;
  43147. c[Sb >> 2] = Xb;
  43148. c[Tb >> 2] = c[Ob >> 2];
  43149. while (1) {
  43150. Tb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
  43151. if (
  43152. !(
  43153. Tb &
  43154. ((c[Ob >> 2] | 0) >>> 0 <
  43155. (((c[Qb >> 2] | 0) + -3) | 0) >>> 0)
  43156. )
  43157. )
  43158. break;
  43159. if (hp() | 0) {
  43160. Tb = c[Rb >> 2] | 0;
  43161. Xb = c[Sb >> 2] | 0;
  43162. c[Jb >> 2] = c[Pb >> 2];
  43163. c[Kb >> 2] = Tb;
  43164. c[Lb >> 2] = Xb;
  43165. c[Mb >> 2] = ip(c[Jb >> 2] | 0, c[Lb >> 2] | 0) | 0;
  43166. a[Nb >> 0] =
  43167. a[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1)) >> 0] | 0;
  43168. jp(
  43169. c[Jb >> 2] | 0,
  43170. d[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1) + 1) >> 0] | 0
  43171. );
  43172. Xb = a[Nb >> 0] | 0;
  43173. Tb = c[Ob >> 2] | 0;
  43174. c[Ob >> 2] = Tb + 1;
  43175. a[Tb >> 0] = Xb;
  43176. }
  43177. hp() | 0;
  43178. Xb = c[Rb >> 2] | 0;
  43179. Tb = c[Sb >> 2] | 0;
  43180. c[Eb >> 2] = c[Pb >> 2];
  43181. c[Fb >> 2] = Xb;
  43182. c[Gb >> 2] = Tb;
  43183. c[Hb >> 2] = ip(c[Eb >> 2] | 0, c[Gb >> 2] | 0) | 0;
  43184. a[Ib >> 0] =
  43185. a[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1)) >> 0] | 0;
  43186. jp(
  43187. c[Eb >> 2] | 0,
  43188. d[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1) + 1) >> 0] | 0
  43189. );
  43190. Tb = a[Ib >> 0] | 0;
  43191. Xb = c[Ob >> 2] | 0;
  43192. c[Ob >> 2] = Xb + 1;
  43193. a[Xb >> 0] = Tb;
  43194. if (hp() | 0) {
  43195. Tb = c[Rb >> 2] | 0;
  43196. Xb = c[Sb >> 2] | 0;
  43197. c[zb >> 2] = c[Pb >> 2];
  43198. c[Ab >> 2] = Tb;
  43199. c[Bb >> 2] = Xb;
  43200. c[Cb >> 2] = ip(c[zb >> 2] | 0, c[Bb >> 2] | 0) | 0;
  43201. a[Db >> 0] =
  43202. a[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1)) >> 0] | 0;
  43203. jp(
  43204. c[zb >> 2] | 0,
  43205. d[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1) + 1) >> 0] | 0
  43206. );
  43207. Xb = a[Db >> 0] | 0;
  43208. Tb = c[Ob >> 2] | 0;
  43209. c[Ob >> 2] = Tb + 1;
  43210. a[Tb >> 0] = Xb;
  43211. }
  43212. Xb = c[Rb >> 2] | 0;
  43213. Tb = c[Sb >> 2] | 0;
  43214. c[ub >> 2] = c[Pb >> 2];
  43215. c[vb >> 2] = Xb;
  43216. c[wb >> 2] = Tb;
  43217. c[xb >> 2] = ip(c[ub >> 2] | 0, c[wb >> 2] | 0) | 0;
  43218. a[yb >> 0] =
  43219. a[((c[vb >> 2] | 0) + (c[xb >> 2] << 1)) >> 0] | 0;
  43220. jp(
  43221. c[ub >> 2] | 0,
  43222. d[((c[vb >> 2] | 0) + (c[xb >> 2] << 1) + 1) >> 0] | 0
  43223. );
  43224. Tb = a[yb >> 0] | 0;
  43225. Xb = c[Ob >> 2] | 0;
  43226. c[Ob >> 2] = Xb + 1;
  43227. a[Xb >> 0] = Tb;
  43228. }
  43229. a: do {
  43230. if (kp() | 0)
  43231. while (1) {
  43232. yb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
  43233. if (
  43234. !(
  43235. yb &
  43236. ((c[Ob >> 2] | 0) >>> 0 < (c[Qb >> 2] | 0) >>> 0)
  43237. )
  43238. )
  43239. break a;
  43240. yb = c[Rb >> 2] | 0;
  43241. xb = c[Sb >> 2] | 0;
  43242. c[pb >> 2] = c[Pb >> 2];
  43243. c[qb >> 2] = yb;
  43244. c[rb >> 2] = xb;
  43245. c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
  43246. a[tb >> 0] =
  43247. a[((c[qb >> 2] | 0) + (c[sb >> 2] << 1)) >> 0] | 0;
  43248. jp(
  43249. c[pb >> 2] | 0,
  43250. d[((c[qb >> 2] | 0) + (c[sb >> 2] << 1) + 1) >> 0] | 0
  43251. );
  43252. xb = a[tb >> 0] | 0;
  43253. yb = c[Ob >> 2] | 0;
  43254. c[Ob >> 2] = yb + 1;
  43255. a[yb >> 0] = xb;
  43256. }
  43257. } while (0);
  43258. while (1) {
  43259. if ((c[Ob >> 2] | 0) >>> 0 >= (c[Qb >> 2] | 0) >>> 0) break;
  43260. tb = c[Rb >> 2] | 0;
  43261. sb = c[Sb >> 2] | 0;
  43262. c[kb >> 2] = c[Pb >> 2];
  43263. c[lb >> 2] = tb;
  43264. c[mb >> 2] = sb;
  43265. c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
  43266. a[ob >> 0] =
  43267. a[((c[lb >> 2] | 0) + (c[nb >> 2] << 1)) >> 0] | 0;
  43268. jp(
  43269. c[kb >> 2] | 0,
  43270. d[((c[lb >> 2] | 0) + (c[nb >> 2] << 1) + 1) >> 0] | 0
  43271. );
  43272. sb = a[ob >> 0] | 0;
  43273. tb = c[Ob >> 2] | 0;
  43274. c[Ob >> 2] = tb + 1;
  43275. a[tb >> 0] = sb;
  43276. }
  43277. Ob = c[Rd >> 2] | 0;
  43278. Rd = c[Cd >> 2] | 0;
  43279. ob = c[Zd >> 2] | 0;
  43280. c[eb >> 2] = c[Ud >> 2];
  43281. c[fb >> 2] = Ed;
  43282. c[gb >> 2] = Ob;
  43283. c[hb >> 2] = Rd;
  43284. c[ib >> 2] = ob;
  43285. c[jb >> 2] = c[eb >> 2];
  43286. while (1) {
  43287. jb = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
  43288. if (
  43289. !(
  43290. jb &
  43291. ((c[eb >> 2] | 0) >>> 0 <
  43292. (((c[gb >> 2] | 0) + -3) | 0) >>> 0)
  43293. )
  43294. )
  43295. break;
  43296. if (hp() | 0) {
  43297. jb = c[hb >> 2] | 0;
  43298. ob = c[ib >> 2] | 0;
  43299. c[$a >> 2] = c[fb >> 2];
  43300. c[ab >> 2] = jb;
  43301. c[bb >> 2] = ob;
  43302. c[cb >> 2] = ip(c[$a >> 2] | 0, c[bb >> 2] | 0) | 0;
  43303. a[db >> 0] =
  43304. a[((c[ab >> 2] | 0) + (c[cb >> 2] << 1)) >> 0] | 0;
  43305. jp(
  43306. c[$a >> 2] | 0,
  43307. d[((c[ab >> 2] | 0) + (c[cb >> 2] << 1) + 1) >> 0] | 0
  43308. );
  43309. ob = a[db >> 0] | 0;
  43310. jb = c[eb >> 2] | 0;
  43311. c[eb >> 2] = jb + 1;
  43312. a[jb >> 0] = ob;
  43313. }
  43314. hp() | 0;
  43315. ob = c[hb >> 2] | 0;
  43316. jb = c[ib >> 2] | 0;
  43317. c[Wa >> 2] = c[fb >> 2];
  43318. c[Xa >> 2] = ob;
  43319. c[Ya >> 2] = jb;
  43320. c[Za >> 2] = ip(c[Wa >> 2] | 0, c[Ya >> 2] | 0) | 0;
  43321. a[_a >> 0] =
  43322. a[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1)) >> 0] | 0;
  43323. jp(
  43324. c[Wa >> 2] | 0,
  43325. d[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1) + 1) >> 0] | 0
  43326. );
  43327. jb = a[_a >> 0] | 0;
  43328. ob = c[eb >> 2] | 0;
  43329. c[eb >> 2] = ob + 1;
  43330. a[ob >> 0] = jb;
  43331. if (hp() | 0) {
  43332. jb = c[hb >> 2] | 0;
  43333. ob = c[ib >> 2] | 0;
  43334. c[Ra >> 2] = c[fb >> 2];
  43335. c[Sa >> 2] = jb;
  43336. c[Ta >> 2] = ob;
  43337. c[Ua >> 2] = ip(c[Ra >> 2] | 0, c[Ta >> 2] | 0) | 0;
  43338. a[Va >> 0] =
  43339. a[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1)) >> 0] | 0;
  43340. jp(
  43341. c[Ra >> 2] | 0,
  43342. d[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1) + 1) >> 0] | 0
  43343. );
  43344. ob = a[Va >> 0] | 0;
  43345. jb = c[eb >> 2] | 0;
  43346. c[eb >> 2] = jb + 1;
  43347. a[jb >> 0] = ob;
  43348. }
  43349. ob = c[hb >> 2] | 0;
  43350. jb = c[ib >> 2] | 0;
  43351. c[Ma >> 2] = c[fb >> 2];
  43352. c[Na >> 2] = ob;
  43353. c[Oa >> 2] = jb;
  43354. c[Pa >> 2] = ip(c[Ma >> 2] | 0, c[Oa >> 2] | 0) | 0;
  43355. a[Qa >> 0] =
  43356. a[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1)) >> 0] | 0;
  43357. jp(
  43358. c[Ma >> 2] | 0,
  43359. d[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1) + 1) >> 0] | 0
  43360. );
  43361. jb = a[Qa >> 0] | 0;
  43362. ob = c[eb >> 2] | 0;
  43363. c[eb >> 2] = ob + 1;
  43364. a[ob >> 0] = jb;
  43365. }
  43366. b: do {
  43367. if (kp() | 0)
  43368. while (1) {
  43369. Qa = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
  43370. if (
  43371. !(
  43372. Qa &
  43373. ((c[eb >> 2] | 0) >>> 0 < (c[gb >> 2] | 0) >>> 0)
  43374. )
  43375. )
  43376. break b;
  43377. Qa = c[hb >> 2] | 0;
  43378. Pa = c[ib >> 2] | 0;
  43379. c[Ha >> 2] = c[fb >> 2];
  43380. c[Ia >> 2] = Qa;
  43381. c[Ja >> 2] = Pa;
  43382. c[Ka >> 2] = ip(c[Ha >> 2] | 0, c[Ja >> 2] | 0) | 0;
  43383. a[La >> 0] =
  43384. a[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1)) >> 0] | 0;
  43385. jp(
  43386. c[Ha >> 2] | 0,
  43387. d[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1) + 1) >> 0] | 0
  43388. );
  43389. Pa = a[La >> 0] | 0;
  43390. Qa = c[eb >> 2] | 0;
  43391. c[eb >> 2] = Qa + 1;
  43392. a[Qa >> 0] = Pa;
  43393. }
  43394. } while (0);
  43395. while (1) {
  43396. if ((c[eb >> 2] | 0) >>> 0 >= (c[gb >> 2] | 0) >>> 0) break;
  43397. La = c[hb >> 2] | 0;
  43398. Ka = c[ib >> 2] | 0;
  43399. c[Ca >> 2] = c[fb >> 2];
  43400. c[Da >> 2] = La;
  43401. c[Ea >> 2] = Ka;
  43402. c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
  43403. a[Ga >> 0] =
  43404. a[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1)) >> 0] | 0;
  43405. jp(
  43406. c[Ca >> 2] | 0,
  43407. d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1) + 1) >> 0] | 0
  43408. );
  43409. Ka = a[Ga >> 0] | 0;
  43410. La = c[eb >> 2] | 0;
  43411. c[eb >> 2] = La + 1;
  43412. a[La >> 0] = Ka;
  43413. }
  43414. eb = c[Sd >> 2] | 0;
  43415. Sd = c[Cd >> 2] | 0;
  43416. Ga = c[Zd >> 2] | 0;
  43417. c[wa >> 2] = c[Vd >> 2];
  43418. c[xa >> 2] = Fd;
  43419. c[ya >> 2] = eb;
  43420. c[za >> 2] = Sd;
  43421. c[Aa >> 2] = Ga;
  43422. c[Ba >> 2] = c[wa >> 2];
  43423. while (1) {
  43424. Ba = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
  43425. if (
  43426. !(
  43427. Ba &
  43428. ((c[wa >> 2] | 0) >>> 0 <
  43429. (((c[ya >> 2] | 0) + -3) | 0) >>> 0)
  43430. )
  43431. )
  43432. break;
  43433. if (hp() | 0) {
  43434. Ba = c[za >> 2] | 0;
  43435. Ga = c[Aa >> 2] | 0;
  43436. c[ra >> 2] = c[xa >> 2];
  43437. c[sa >> 2] = Ba;
  43438. c[ta >> 2] = Ga;
  43439. c[ua >> 2] = ip(c[ra >> 2] | 0, c[ta >> 2] | 0) | 0;
  43440. a[va >> 0] =
  43441. a[((c[sa >> 2] | 0) + (c[ua >> 2] << 1)) >> 0] | 0;
  43442. jp(
  43443. c[ra >> 2] | 0,
  43444. d[((c[sa >> 2] | 0) + (c[ua >> 2] << 1) + 1) >> 0] | 0
  43445. );
  43446. Ga = a[va >> 0] | 0;
  43447. Ba = c[wa >> 2] | 0;
  43448. c[wa >> 2] = Ba + 1;
  43449. a[Ba >> 0] = Ga;
  43450. }
  43451. hp() | 0;
  43452. Ga = c[za >> 2] | 0;
  43453. Ba = c[Aa >> 2] | 0;
  43454. c[ma >> 2] = c[xa >> 2];
  43455. c[na >> 2] = Ga;
  43456. c[oa >> 2] = Ba;
  43457. c[pa >> 2] = ip(c[ma >> 2] | 0, c[oa >> 2] | 0) | 0;
  43458. a[qa >> 0] =
  43459. a[((c[na >> 2] | 0) + (c[pa >> 2] << 1)) >> 0] | 0;
  43460. jp(
  43461. c[ma >> 2] | 0,
  43462. d[((c[na >> 2] | 0) + (c[pa >> 2] << 1) + 1) >> 0] | 0
  43463. );
  43464. Ba = a[qa >> 0] | 0;
  43465. Ga = c[wa >> 2] | 0;
  43466. c[wa >> 2] = Ga + 1;
  43467. a[Ga >> 0] = Ba;
  43468. if (hp() | 0) {
  43469. Ba = c[za >> 2] | 0;
  43470. Ga = c[Aa >> 2] | 0;
  43471. c[ha >> 2] = c[xa >> 2];
  43472. c[ia >> 2] = Ba;
  43473. c[ja >> 2] = Ga;
  43474. c[ka >> 2] = ip(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
  43475. a[la >> 0] =
  43476. a[((c[ia >> 2] | 0) + (c[ka >> 2] << 1)) >> 0] | 0;
  43477. jp(
  43478. c[ha >> 2] | 0,
  43479. d[((c[ia >> 2] | 0) + (c[ka >> 2] << 1) + 1) >> 0] | 0
  43480. );
  43481. Ga = a[la >> 0] | 0;
  43482. Ba = c[wa >> 2] | 0;
  43483. c[wa >> 2] = Ba + 1;
  43484. a[Ba >> 0] = Ga;
  43485. }
  43486. Ga = c[za >> 2] | 0;
  43487. Ba = c[Aa >> 2] | 0;
  43488. c[ca >> 2] = c[xa >> 2];
  43489. c[da >> 2] = Ga;
  43490. c[ea >> 2] = Ba;
  43491. c[fa >> 2] = ip(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
  43492. a[ga >> 0] =
  43493. a[((c[da >> 2] | 0) + (c[fa >> 2] << 1)) >> 0] | 0;
  43494. jp(
  43495. c[ca >> 2] | 0,
  43496. d[((c[da >> 2] | 0) + (c[fa >> 2] << 1) + 1) >> 0] | 0
  43497. );
  43498. Ba = a[ga >> 0] | 0;
  43499. Ga = c[wa >> 2] | 0;
  43500. c[wa >> 2] = Ga + 1;
  43501. a[Ga >> 0] = Ba;
  43502. }
  43503. c: do {
  43504. if (kp() | 0)
  43505. while (1) {
  43506. ga = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
  43507. if (
  43508. !(
  43509. ga &
  43510. ((c[wa >> 2] | 0) >>> 0 < (c[ya >> 2] | 0) >>> 0)
  43511. )
  43512. )
  43513. break c;
  43514. ga = c[za >> 2] | 0;
  43515. fa = c[Aa >> 2] | 0;
  43516. c[Z >> 2] = c[xa >> 2];
  43517. c[_ >> 2] = ga;
  43518. c[$ >> 2] = fa;
  43519. c[aa >> 2] = ip(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
  43520. a[ba >> 0] =
  43521. a[((c[_ >> 2] | 0) + (c[aa >> 2] << 1)) >> 0] | 0;
  43522. jp(
  43523. c[Z >> 2] | 0,
  43524. d[((c[_ >> 2] | 0) + (c[aa >> 2] << 1) + 1) >> 0] | 0
  43525. );
  43526. fa = a[ba >> 0] | 0;
  43527. ga = c[wa >> 2] | 0;
  43528. c[wa >> 2] = ga + 1;
  43529. a[ga >> 0] = fa;
  43530. }
  43531. } while (0);
  43532. while (1) {
  43533. if ((c[wa >> 2] | 0) >>> 0 >= (c[ya >> 2] | 0) >>> 0) break;
  43534. ba = c[za >> 2] | 0;
  43535. aa = c[Aa >> 2] | 0;
  43536. c[U >> 2] = c[xa >> 2];
  43537. c[V >> 2] = ba;
  43538. c[W >> 2] = aa;
  43539. c[X >> 2] = ip(c[U >> 2] | 0, c[W >> 2] | 0) | 0;
  43540. a[Y >> 0] =
  43541. a[((c[V >> 2] | 0) + (c[X >> 2] << 1)) >> 0] | 0;
  43542. jp(
  43543. c[U >> 2] | 0,
  43544. d[((c[V >> 2] | 0) + (c[X >> 2] << 1) + 1) >> 0] | 0
  43545. );
  43546. aa = a[Y >> 0] | 0;
  43547. ba = c[wa >> 2] | 0;
  43548. c[wa >> 2] = ba + 1;
  43549. a[ba >> 0] = aa;
  43550. }
  43551. wa = c[Ad >> 2] | 0;
  43552. Ad = c[Cd >> 2] | 0;
  43553. Cd = c[Zd >> 2] | 0;
  43554. c[O >> 2] = c[Wd >> 2];
  43555. c[P >> 2] = Gd;
  43556. c[Q >> 2] = wa;
  43557. c[R >> 2] = Ad;
  43558. c[S >> 2] = Cd;
  43559. c[T >> 2] = c[O >> 2];
  43560. while (1) {
  43561. T = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  43562. if (
  43563. !(
  43564. T &
  43565. ((c[O >> 2] | 0) >>> 0 <
  43566. (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
  43567. )
  43568. )
  43569. break;
  43570. if (hp() | 0) {
  43571. T = c[R >> 2] | 0;
  43572. Cd = c[S >> 2] | 0;
  43573. c[J >> 2] = c[P >> 2];
  43574. c[K >> 2] = T;
  43575. c[L >> 2] = Cd;
  43576. c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
  43577. a[N >> 0] =
  43578. a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
  43579. jp(
  43580. c[J >> 2] | 0,
  43581. d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
  43582. );
  43583. Cd = a[N >> 0] | 0;
  43584. T = c[O >> 2] | 0;
  43585. c[O >> 2] = T + 1;
  43586. a[T >> 0] = Cd;
  43587. }
  43588. hp() | 0;
  43589. Cd = c[R >> 2] | 0;
  43590. T = c[S >> 2] | 0;
  43591. c[E >> 2] = c[P >> 2];
  43592. c[F >> 2] = Cd;
  43593. c[G >> 2] = T;
  43594. c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
  43595. a[I >> 0] =
  43596. a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
  43597. jp(
  43598. c[E >> 2] | 0,
  43599. d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
  43600. );
  43601. T = a[I >> 0] | 0;
  43602. Cd = c[O >> 2] | 0;
  43603. c[O >> 2] = Cd + 1;
  43604. a[Cd >> 0] = T;
  43605. if (hp() | 0) {
  43606. T = c[R >> 2] | 0;
  43607. Cd = c[S >> 2] | 0;
  43608. c[z >> 2] = c[P >> 2];
  43609. c[A >> 2] = T;
  43610. c[B >> 2] = Cd;
  43611. c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
  43612. a[D >> 0] =
  43613. a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
  43614. jp(
  43615. c[z >> 2] | 0,
  43616. d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
  43617. );
  43618. Cd = a[D >> 0] | 0;
  43619. T = c[O >> 2] | 0;
  43620. c[O >> 2] = T + 1;
  43621. a[T >> 0] = Cd;
  43622. }
  43623. Cd = c[R >> 2] | 0;
  43624. T = c[S >> 2] | 0;
  43625. c[u >> 2] = c[P >> 2];
  43626. c[v >> 2] = Cd;
  43627. c[w >> 2] = T;
  43628. c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
  43629. a[y >> 0] =
  43630. a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
  43631. jp(
  43632. c[u >> 2] | 0,
  43633. d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
  43634. );
  43635. T = a[y >> 0] | 0;
  43636. Cd = c[O >> 2] | 0;
  43637. c[O >> 2] = Cd + 1;
  43638. a[Cd >> 0] = T;
  43639. }
  43640. d: do {
  43641. if (kp() | 0)
  43642. while (1) {
  43643. y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  43644. if (
  43645. !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
  43646. )
  43647. break d;
  43648. y = c[R >> 2] | 0;
  43649. x = c[S >> 2] | 0;
  43650. c[p >> 2] = c[P >> 2];
  43651. c[q >> 2] = y;
  43652. c[r >> 2] = x;
  43653. c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
  43654. a[t >> 0] =
  43655. a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
  43656. jp(
  43657. c[p >> 2] | 0,
  43658. d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
  43659. );
  43660. x = a[t >> 0] | 0;
  43661. y = c[O >> 2] | 0;
  43662. c[O >> 2] = y + 1;
  43663. a[y >> 0] = x;
  43664. }
  43665. } while (0);
  43666. while (1) {
  43667. if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
  43668. t = c[R >> 2] | 0;
  43669. s = c[S >> 2] | 0;
  43670. c[j >> 2] = c[P >> 2];
  43671. c[k >> 2] = t;
  43672. c[m >> 2] = s;
  43673. c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  43674. a[o >> 0] =
  43675. a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
  43676. jp(
  43677. c[j >> 2] | 0,
  43678. d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
  43679. );
  43680. s = a[o >> 0] | 0;
  43681. t = c[O >> 2] | 0;
  43682. c[O >> 2] = t + 1;
  43683. a[t >> 0] = s;
  43684. }
  43685. O = lp(Dd) | 0;
  43686. Dd = O & (lp(Ed) | 0);
  43687. Ed = Dd & (lp(Fd) | 0);
  43688. c[ce >> 2] = Ed & (lp(Gd) | 0);
  43689. if (c[ce >> 2] | 0) {
  43690. c[sd >> 2] = c[ud >> 2];
  43691. ie = c[sd >> 2] | 0;
  43692. l = i;
  43693. return ie | 0;
  43694. } else {
  43695. c[sd >> 2] = -20;
  43696. ie = c[sd >> 2] | 0;
  43697. l = i;
  43698. return ie | 0;
  43699. }
  43700. return 0;
  43701. }
  43702. function xp(b, e, f, g, h) {
  43703. b = b | 0;
  43704. e = e | 0;
  43705. f = f | 0;
  43706. g = g | 0;
  43707. h = h | 0;
  43708. var i = 0,
  43709. j = 0,
  43710. k = 0,
  43711. m = 0,
  43712. n = 0,
  43713. o = 0,
  43714. p = 0,
  43715. q = 0,
  43716. r = 0,
  43717. s = 0,
  43718. t = 0,
  43719. u = 0,
  43720. v = 0,
  43721. w = 0,
  43722. x = 0,
  43723. y = 0,
  43724. z = 0,
  43725. A = 0,
  43726. B = 0,
  43727. C = 0,
  43728. D = 0,
  43729. E = 0,
  43730. F = 0,
  43731. G = 0,
  43732. H = 0,
  43733. I = 0,
  43734. J = 0,
  43735. K = 0,
  43736. L = 0,
  43737. M = 0,
  43738. N = 0,
  43739. O = 0,
  43740. P = 0,
  43741. Q = 0,
  43742. R = 0,
  43743. S = 0,
  43744. T = 0,
  43745. U = 0,
  43746. V = 0,
  43747. W = 0,
  43748. X = 0,
  43749. Y = 0,
  43750. Z = 0,
  43751. _ = 0,
  43752. $ = 0,
  43753. aa = 0,
  43754. ba = 0,
  43755. ca = 0,
  43756. da = 0,
  43757. ea = 0,
  43758. fa = 0,
  43759. ga = 0,
  43760. ha = 0,
  43761. ia = 0,
  43762. ja = 0,
  43763. ka = 0,
  43764. la = 0,
  43765. ma = 0,
  43766. na = 0,
  43767. oa = 0,
  43768. pa = 0,
  43769. qa = 0,
  43770. ra = 0,
  43771. sa = 0,
  43772. ta = 0,
  43773. ua = 0,
  43774. va = 0,
  43775. wa = 0,
  43776. xa = 0,
  43777. ya = 0,
  43778. za = 0,
  43779. Aa = 0,
  43780. Ba = 0,
  43781. Ca = 0,
  43782. Da = 0,
  43783. Ea = 0,
  43784. Fa = 0,
  43785. Ga = 0,
  43786. Ha = 0,
  43787. Ia = 0,
  43788. Ja = 0,
  43789. Ka = 0,
  43790. La = 0,
  43791. Ma = 0,
  43792. Na = 0,
  43793. Oa = 0,
  43794. Pa = 0,
  43795. Qa = 0,
  43796. Ra = 0,
  43797. Sa = 0,
  43798. Ta = 0,
  43799. Ua = 0,
  43800. Va = 0,
  43801. Wa = 0,
  43802. Xa = 0,
  43803. Ya = 0,
  43804. Za = 0,
  43805. _a = 0,
  43806. $a = 0,
  43807. ab = 0,
  43808. bb = 0,
  43809. cb = 0,
  43810. db = 0,
  43811. eb = 0,
  43812. fb = 0,
  43813. gb = 0,
  43814. hb = 0,
  43815. ib = 0,
  43816. jb = 0,
  43817. kb = 0,
  43818. lb = 0,
  43819. mb = 0,
  43820. nb = 0,
  43821. ob = 0,
  43822. pb = 0,
  43823. qb = 0,
  43824. rb = 0,
  43825. sb = 0,
  43826. tb = 0,
  43827. ub = 0,
  43828. vb = 0,
  43829. wb = 0,
  43830. xb = 0,
  43831. yb = 0,
  43832. zb = 0,
  43833. Ab = 0,
  43834. Bb = 0,
  43835. Cb = 0,
  43836. Db = 0,
  43837. Eb = 0,
  43838. Fb = 0,
  43839. Gb = 0,
  43840. Hb = 0,
  43841. Ib = 0,
  43842. Jb = 0,
  43843. Kb = 0,
  43844. Lb = 0,
  43845. Mb = 0,
  43846. Nb = 0,
  43847. Ob = 0,
  43848. Pb = 0,
  43849. Qb = 0,
  43850. Rb = 0,
  43851. Sb = 0,
  43852. Tb = 0,
  43853. Ub = 0,
  43854. Vb = 0,
  43855. Wb = 0,
  43856. Xb = 0,
  43857. Yb = 0,
  43858. Zb = 0,
  43859. _b = 0,
  43860. $b = 0,
  43861. ac = 0,
  43862. bc = 0,
  43863. cc = 0,
  43864. dc = 0,
  43865. ec = 0,
  43866. fc = 0,
  43867. gc = 0,
  43868. hc = 0,
  43869. ic = 0,
  43870. jc = 0,
  43871. kc = 0,
  43872. lc = 0,
  43873. mc = 0,
  43874. nc = 0,
  43875. oc = 0,
  43876. pc = 0,
  43877. qc = 0,
  43878. rc = 0,
  43879. sc = 0,
  43880. tc = 0,
  43881. uc = 0,
  43882. vc = 0,
  43883. wc = 0,
  43884. xc = 0,
  43885. yc = 0,
  43886. zc = 0,
  43887. Ac = 0,
  43888. Bc = 0,
  43889. Cc = 0,
  43890. Dc = 0,
  43891. Ec = 0,
  43892. Fc = 0,
  43893. Gc = 0,
  43894. Hc = 0,
  43895. Ic = 0,
  43896. Jc = 0,
  43897. Kc = 0,
  43898. Lc = 0,
  43899. Mc = 0,
  43900. Nc = 0,
  43901. Oc = 0,
  43902. Pc = 0,
  43903. Qc = 0,
  43904. Rc = 0,
  43905. Sc = 0,
  43906. Tc = 0,
  43907. Uc = 0,
  43908. Vc = 0,
  43909. Wc = 0,
  43910. Xc = 0,
  43911. Yc = 0,
  43912. Zc = 0,
  43913. _c = 0,
  43914. $c = 0,
  43915. ad = 0,
  43916. bd = 0,
  43917. cd = 0,
  43918. dd = 0,
  43919. ed = 0,
  43920. fd = 0,
  43921. gd = 0,
  43922. hd = 0,
  43923. id = 0,
  43924. jd = 0,
  43925. kd = 0,
  43926. ld = 0,
  43927. md = 0,
  43928. nd = 0,
  43929. od = 0,
  43930. pd = 0,
  43931. qd = 0,
  43932. rd = 0,
  43933. sd = 0,
  43934. td = 0,
  43935. ud = 0,
  43936. vd = 0,
  43937. wd = 0,
  43938. xd = 0,
  43939. yd = 0,
  43940. zd = 0,
  43941. Ad = 0,
  43942. Bd = 0,
  43943. Cd = 0,
  43944. Dd = 0,
  43945. Ed = 0,
  43946. Fd = 0,
  43947. Gd = 0,
  43948. Hd = 0,
  43949. Id = 0,
  43950. Jd = 0,
  43951. Kd = 0,
  43952. Ld = 0,
  43953. Md = 0,
  43954. Nd = 0,
  43955. Od = 0,
  43956. Pd = 0,
  43957. Qd = 0,
  43958. Rd = 0,
  43959. Sd = 0,
  43960. Td = 0,
  43961. Ud = 0,
  43962. Vd = 0,
  43963. Wd = 0,
  43964. Xd = 0,
  43965. Yd = 0,
  43966. Zd = 0,
  43967. _d = 0,
  43968. $d = 0,
  43969. ae = 0,
  43970. be = 0,
  43971. ce = 0,
  43972. de = 0,
  43973. ee = 0,
  43974. fe = 0,
  43975. ge = 0,
  43976. he = 0,
  43977. ie = 0;
  43978. i = l;
  43979. l = (l + 1024) | 0;
  43980. j = (i + 968) | 0;
  43981. k = (i + 964) | 0;
  43982. m = (i + 960) | 0;
  43983. n = (i + 956) | 0;
  43984. o = (i + 1015) | 0;
  43985. p = (i + 952) | 0;
  43986. q = (i + 948) | 0;
  43987. r = (i + 944) | 0;
  43988. s = (i + 940) | 0;
  43989. t = (i + 1014) | 0;
  43990. u = (i + 936) | 0;
  43991. v = (i + 932) | 0;
  43992. w = (i + 928) | 0;
  43993. x = (i + 924) | 0;
  43994. y = (i + 1013) | 0;
  43995. z = (i + 920) | 0;
  43996. A = (i + 916) | 0;
  43997. B = (i + 912) | 0;
  43998. C = (i + 908) | 0;
  43999. D = (i + 1012) | 0;
  44000. E = (i + 904) | 0;
  44001. F = (i + 900) | 0;
  44002. G = (i + 896) | 0;
  44003. H = (i + 892) | 0;
  44004. I = (i + 1011) | 0;
  44005. J = (i + 888) | 0;
  44006. K = (i + 884) | 0;
  44007. L = (i + 880) | 0;
  44008. M = (i + 876) | 0;
  44009. N = (i + 1010) | 0;
  44010. O = (i + 872) | 0;
  44011. P = (i + 868) | 0;
  44012. Q = (i + 864) | 0;
  44013. R = (i + 860) | 0;
  44014. S = (i + 856) | 0;
  44015. T = (i + 852) | 0;
  44016. U = (i + 848) | 0;
  44017. V = (i + 844) | 0;
  44018. W = (i + 840) | 0;
  44019. X = (i + 836) | 0;
  44020. Y = (i + 1009) | 0;
  44021. Z = (i + 832) | 0;
  44022. _ = (i + 828) | 0;
  44023. $ = (i + 824) | 0;
  44024. aa = (i + 820) | 0;
  44025. ba = (i + 1008) | 0;
  44026. ca = (i + 816) | 0;
  44027. da = (i + 812) | 0;
  44028. ea = (i + 808) | 0;
  44029. fa = (i + 804) | 0;
  44030. ga = (i + 1007) | 0;
  44031. ha = (i + 800) | 0;
  44032. ia = (i + 796) | 0;
  44033. ja = (i + 792) | 0;
  44034. ka = (i + 788) | 0;
  44035. la = (i + 1006) | 0;
  44036. ma = (i + 784) | 0;
  44037. na = (i + 780) | 0;
  44038. oa = (i + 776) | 0;
  44039. pa = (i + 772) | 0;
  44040. qa = (i + 1005) | 0;
  44041. ra = (i + 768) | 0;
  44042. sa = (i + 764) | 0;
  44043. ta = (i + 760) | 0;
  44044. ua = (i + 756) | 0;
  44045. va = (i + 1004) | 0;
  44046. wa = (i + 752) | 0;
  44047. xa = (i + 748) | 0;
  44048. ya = (i + 744) | 0;
  44049. za = (i + 740) | 0;
  44050. Aa = (i + 736) | 0;
  44051. Ba = (i + 732) | 0;
  44052. Ca = (i + 728) | 0;
  44053. Da = (i + 724) | 0;
  44054. Ea = (i + 720) | 0;
  44055. Fa = (i + 716) | 0;
  44056. Ga = (i + 1003) | 0;
  44057. Ha = (i + 712) | 0;
  44058. Ia = (i + 708) | 0;
  44059. Ja = (i + 704) | 0;
  44060. Ka = (i + 700) | 0;
  44061. La = (i + 1002) | 0;
  44062. Ma = (i + 696) | 0;
  44063. Na = (i + 692) | 0;
  44064. Oa = (i + 688) | 0;
  44065. Pa = (i + 684) | 0;
  44066. Qa = (i + 1001) | 0;
  44067. Ra = (i + 680) | 0;
  44068. Sa = (i + 676) | 0;
  44069. Ta = (i + 672) | 0;
  44070. Ua = (i + 668) | 0;
  44071. Va = (i + 1e3) | 0;
  44072. Wa = (i + 664) | 0;
  44073. Xa = (i + 660) | 0;
  44074. Ya = (i + 656) | 0;
  44075. Za = (i + 652) | 0;
  44076. _a = (i + 999) | 0;
  44077. $a = (i + 648) | 0;
  44078. ab = (i + 644) | 0;
  44079. bb = (i + 640) | 0;
  44080. cb = (i + 636) | 0;
  44081. db = (i + 998) | 0;
  44082. eb = (i + 632) | 0;
  44083. fb = (i + 628) | 0;
  44084. gb = (i + 624) | 0;
  44085. hb = (i + 620) | 0;
  44086. ib = (i + 616) | 0;
  44087. jb = (i + 612) | 0;
  44088. kb = (i + 608) | 0;
  44089. lb = (i + 604) | 0;
  44090. mb = (i + 600) | 0;
  44091. nb = (i + 596) | 0;
  44092. ob = (i + 997) | 0;
  44093. pb = (i + 592) | 0;
  44094. qb = (i + 588) | 0;
  44095. rb = (i + 584) | 0;
  44096. sb = (i + 580) | 0;
  44097. tb = (i + 996) | 0;
  44098. ub = (i + 576) | 0;
  44099. vb = (i + 572) | 0;
  44100. wb = (i + 568) | 0;
  44101. xb = (i + 564) | 0;
  44102. yb = (i + 995) | 0;
  44103. zb = (i + 560) | 0;
  44104. Ab = (i + 556) | 0;
  44105. Bb = (i + 552) | 0;
  44106. Cb = (i + 548) | 0;
  44107. Db = (i + 994) | 0;
  44108. Eb = (i + 544) | 0;
  44109. Fb = (i + 540) | 0;
  44110. Gb = (i + 536) | 0;
  44111. Hb = (i + 532) | 0;
  44112. Ib = (i + 993) | 0;
  44113. Jb = (i + 528) | 0;
  44114. Kb = (i + 524) | 0;
  44115. Lb = (i + 520) | 0;
  44116. Mb = (i + 516) | 0;
  44117. Nb = (i + 992) | 0;
  44118. Ob = (i + 512) | 0;
  44119. Pb = (i + 508) | 0;
  44120. Qb = (i + 504) | 0;
  44121. Rb = (i + 500) | 0;
  44122. Sb = (i + 496) | 0;
  44123. Tb = (i + 492) | 0;
  44124. Ub = (i + 488) | 0;
  44125. Vb = (i + 484) | 0;
  44126. Wb = (i + 480) | 0;
  44127. Xb = (i + 476) | 0;
  44128. Yb = (i + 991) | 0;
  44129. Zb = (i + 472) | 0;
  44130. _b = (i + 468) | 0;
  44131. $b = (i + 464) | 0;
  44132. ac = (i + 460) | 0;
  44133. bc = (i + 990) | 0;
  44134. cc = (i + 456) | 0;
  44135. dc = (i + 452) | 0;
  44136. ec = (i + 448) | 0;
  44137. fc = (i + 444) | 0;
  44138. gc = (i + 989) | 0;
  44139. hc = (i + 440) | 0;
  44140. ic = (i + 436) | 0;
  44141. jc = (i + 432) | 0;
  44142. kc = (i + 428) | 0;
  44143. lc = (i + 988) | 0;
  44144. mc = (i + 424) | 0;
  44145. nc = (i + 420) | 0;
  44146. oc = (i + 416) | 0;
  44147. pc = (i + 412) | 0;
  44148. qc = (i + 987) | 0;
  44149. rc = (i + 408) | 0;
  44150. sc = (i + 404) | 0;
  44151. tc = (i + 400) | 0;
  44152. uc = (i + 396) | 0;
  44153. vc = (i + 986) | 0;
  44154. wc = (i + 392) | 0;
  44155. xc = (i + 388) | 0;
  44156. yc = (i + 384) | 0;
  44157. zc = (i + 380) | 0;
  44158. Ac = (i + 985) | 0;
  44159. Bc = (i + 376) | 0;
  44160. Cc = (i + 372) | 0;
  44161. Dc = (i + 368) | 0;
  44162. Ec = (i + 364) | 0;
  44163. Fc = (i + 984) | 0;
  44164. Gc = (i + 360) | 0;
  44165. Hc = (i + 356) | 0;
  44166. Ic = (i + 352) | 0;
  44167. Jc = (i + 348) | 0;
  44168. Kc = (i + 983) | 0;
  44169. Lc = (i + 344) | 0;
  44170. Mc = (i + 340) | 0;
  44171. Nc = (i + 336) | 0;
  44172. Oc = (i + 332) | 0;
  44173. Pc = (i + 982) | 0;
  44174. Qc = (i + 328) | 0;
  44175. Rc = (i + 324) | 0;
  44176. Sc = (i + 320) | 0;
  44177. Tc = (i + 316) | 0;
  44178. Uc = (i + 981) | 0;
  44179. Vc = (i + 312) | 0;
  44180. Wc = (i + 308) | 0;
  44181. Xc = (i + 304) | 0;
  44182. Yc = (i + 300) | 0;
  44183. Zc = (i + 980) | 0;
  44184. _c = (i + 296) | 0;
  44185. $c = (i + 292) | 0;
  44186. ad = (i + 288) | 0;
  44187. bd = (i + 284) | 0;
  44188. cd = (i + 979) | 0;
  44189. dd = (i + 280) | 0;
  44190. ed = (i + 276) | 0;
  44191. fd = (i + 272) | 0;
  44192. gd = (i + 268) | 0;
  44193. hd = (i + 978) | 0;
  44194. id = (i + 264) | 0;
  44195. jd = (i + 260) | 0;
  44196. kd = (i + 256) | 0;
  44197. ld = (i + 252) | 0;
  44198. md = (i + 977) | 0;
  44199. nd = (i + 248) | 0;
  44200. od = (i + 244) | 0;
  44201. pd = (i + 240) | 0;
  44202. qd = (i + 236) | 0;
  44203. rd = (i + 976) | 0;
  44204. sd = (i + 232) | 0;
  44205. td = (i + 228) | 0;
  44206. ud = (i + 224) | 0;
  44207. vd = (i + 220) | 0;
  44208. wd = (i + 216) | 0;
  44209. xd = (i + 212) | 0;
  44210. yd = (i + 208) | 0;
  44211. zd = (i + 204) | 0;
  44212. Ad = (i + 200) | 0;
  44213. Bd = (i + 196) | 0;
  44214. Cd = (i + 192) | 0;
  44215. Dd = (i + 172) | 0;
  44216. Ed = (i + 152) | 0;
  44217. Fd = (i + 132) | 0;
  44218. Gd = (i + 112) | 0;
  44219. Hd = (i + 108) | 0;
  44220. Id = (i + 104) | 0;
  44221. Jd = (i + 100) | 0;
  44222. Kd = (i + 96) | 0;
  44223. Ld = (i + 92) | 0;
  44224. Md = (i + 88) | 0;
  44225. Nd = (i + 84) | 0;
  44226. Od = (i + 80) | 0;
  44227. Pd = (i + 76) | 0;
  44228. Qd = (i + 72) | 0;
  44229. Rd = (i + 68) | 0;
  44230. Sd = (i + 64) | 0;
  44231. Td = (i + 60) | 0;
  44232. Ud = (i + 56) | 0;
  44233. Vd = (i + 52) | 0;
  44234. Wd = (i + 48) | 0;
  44235. Xd = (i + 44) | 0;
  44236. Yd = (i + 972) | 0;
  44237. Zd = (i + 40) | 0;
  44238. _d = (i + 36) | 0;
  44239. $d = (i + 32) | 0;
  44240. ae = (i + 28) | 0;
  44241. be = (i + 24) | 0;
  44242. ce = (i + 20) | 0;
  44243. de = (i + 16) | 0;
  44244. ee = (i + 12) | 0;
  44245. fe = (i + 8) | 0;
  44246. ge = (i + 4) | 0;
  44247. he = i;
  44248. c[de >> 2] = b;
  44249. c[ee >> 2] = e;
  44250. c[fe >> 2] = f;
  44251. c[ge >> 2] = g;
  44252. c[he >> 2] = h;
  44253. h = c[ee >> 2] | 0;
  44254. ee = c[fe >> 2] | 0;
  44255. fe = c[ge >> 2] | 0;
  44256. ge = c[he >> 2] | 0;
  44257. c[td >> 2] = c[de >> 2];
  44258. c[ud >> 2] = h;
  44259. c[vd >> 2] = ee;
  44260. c[wd >> 2] = fe;
  44261. c[xd >> 2] = ge;
  44262. if ((c[wd >> 2] | 0) >>> 0 < 10) {
  44263. c[sd >> 2] = -20;
  44264. ie = c[sd >> 2] | 0;
  44265. l = i;
  44266. return ie | 0;
  44267. }
  44268. c[yd >> 2] = c[vd >> 2];
  44269. c[zd >> 2] = c[td >> 2];
  44270. c[Ad >> 2] = (c[zd >> 2] | 0) + (c[ud >> 2] | 0);
  44271. c[Bd >> 2] = (c[xd >> 2] | 0) + 4;
  44272. c[Cd >> 2] = c[Bd >> 2];
  44273. c[Hd >> 2] = (yp(c[yd >> 2] | 0) | 0) & 65535;
  44274. c[Id >> 2] = (yp(((c[yd >> 2] | 0) + 2) | 0) | 0) & 65535;
  44275. c[Jd >> 2] = (yp(((c[yd >> 2] | 0) + 4) | 0) | 0) & 65535;
  44276. c[Kd >> 2] =
  44277. (c[wd >> 2] | 0) -
  44278. ((c[Hd >> 2] | 0) +
  44279. (c[Id >> 2] | 0) +
  44280. (c[Jd >> 2] | 0) +
  44281. 6);
  44282. c[Ld >> 2] = (c[yd >> 2] | 0) + 6;
  44283. c[Md >> 2] = (c[Ld >> 2] | 0) + (c[Hd >> 2] | 0);
  44284. c[Nd >> 2] = (c[Md >> 2] | 0) + (c[Id >> 2] | 0);
  44285. c[Od >> 2] = (c[Nd >> 2] | 0) + (c[Jd >> 2] | 0);
  44286. c[Pd >> 2] = (((((c[ud >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  44287. c[Qd >> 2] = (c[zd >> 2] | 0) + (c[Pd >> 2] | 0);
  44288. c[Rd >> 2] = (c[Qd >> 2] | 0) + (c[Pd >> 2] | 0);
  44289. c[Sd >> 2] = (c[Rd >> 2] | 0) + (c[Pd >> 2] | 0);
  44290. c[Td >> 2] = c[zd >> 2];
  44291. c[Ud >> 2] = c[Qd >> 2];
  44292. c[Vd >> 2] = c[Rd >> 2];
  44293. c[Wd >> 2] = c[Sd >> 2];
  44294. c[Xd >> 2] = 0;
  44295. bp(Yd, c[xd >> 2] | 0);
  44296. c[Zd >> 2] = d[(Yd + 2) >> 0];
  44297. if ((c[Kd >> 2] | 0) >>> 0 > (c[wd >> 2] | 0) >>> 0) {
  44298. c[sd >> 2] = -20;
  44299. ie = c[sd >> 2] | 0;
  44300. l = i;
  44301. return ie | 0;
  44302. }
  44303. c[_d >> 2] = fp(Dd, c[Ld >> 2] | 0, c[Hd >> 2] | 0) | 0;
  44304. if (ap(c[_d >> 2] | 0) | 0) {
  44305. c[sd >> 2] = c[_d >> 2];
  44306. ie = c[sd >> 2] | 0;
  44307. l = i;
  44308. return ie | 0;
  44309. }
  44310. c[$d >> 2] = fp(Ed, c[Md >> 2] | 0, c[Id >> 2] | 0) | 0;
  44311. if (ap(c[$d >> 2] | 0) | 0) {
  44312. c[sd >> 2] = c[$d >> 2];
  44313. ie = c[sd >> 2] | 0;
  44314. l = i;
  44315. return ie | 0;
  44316. }
  44317. c[ae >> 2] = fp(Fd, c[Nd >> 2] | 0, c[Jd >> 2] | 0) | 0;
  44318. if (ap(c[ae >> 2] | 0) | 0) {
  44319. c[sd >> 2] = c[ae >> 2];
  44320. ie = c[sd >> 2] | 0;
  44321. l = i;
  44322. return ie | 0;
  44323. }
  44324. c[be >> 2] = fp(Gd, c[Od >> 2] | 0, c[Kd >> 2] | 0) | 0;
  44325. if (ap(c[be >> 2] | 0) | 0) {
  44326. c[sd >> 2] = c[be >> 2];
  44327. ie = c[sd >> 2] | 0;
  44328. l = i;
  44329. return ie | 0;
  44330. }
  44331. be = gp(Dd) | 0;
  44332. Kd = be | (gp(Ed) | 0);
  44333. be = Kd | (gp(Fd) | 0);
  44334. c[Xd >> 2] = be | (gp(Gd) | 0);
  44335. while (1) {
  44336. if (c[Xd >> 2] | 0) break;
  44337. if (
  44338. (c[Wd >> 2] | 0) >>> 0 >=
  44339. (((c[Ad >> 2] | 0) + -3) | 0) >>> 0
  44340. )
  44341. break;
  44342. if (hp() | 0) {
  44343. be = c[Cd >> 2] | 0;
  44344. Kd = c[Zd >> 2] | 0;
  44345. c[nd >> 2] = Dd;
  44346. c[od >> 2] = be;
  44347. c[pd >> 2] = Kd;
  44348. c[qd >> 2] = ip(c[nd >> 2] | 0, c[pd >> 2] | 0) | 0;
  44349. a[rd >> 0] =
  44350. a[((c[od >> 2] | 0) + (c[qd >> 2] << 1)) >> 0] | 0;
  44351. jp(
  44352. c[nd >> 2] | 0,
  44353. d[((c[od >> 2] | 0) + (c[qd >> 2] << 1) + 1) >> 0] | 0
  44354. );
  44355. Kd = a[rd >> 0] | 0;
  44356. be = c[Td >> 2] | 0;
  44357. c[Td >> 2] = be + 1;
  44358. a[be >> 0] = Kd;
  44359. }
  44360. if (hp() | 0) {
  44361. Kd = c[Cd >> 2] | 0;
  44362. be = c[Zd >> 2] | 0;
  44363. c[id >> 2] = Ed;
  44364. c[jd >> 2] = Kd;
  44365. c[kd >> 2] = be;
  44366. c[ld >> 2] = ip(c[id >> 2] | 0, c[kd >> 2] | 0) | 0;
  44367. a[md >> 0] =
  44368. a[((c[jd >> 2] | 0) + (c[ld >> 2] << 1)) >> 0] | 0;
  44369. jp(
  44370. c[id >> 2] | 0,
  44371. d[((c[jd >> 2] | 0) + (c[ld >> 2] << 1) + 1) >> 0] | 0
  44372. );
  44373. be = a[md >> 0] | 0;
  44374. Kd = c[Ud >> 2] | 0;
  44375. c[Ud >> 2] = Kd + 1;
  44376. a[Kd >> 0] = be;
  44377. }
  44378. if (hp() | 0) {
  44379. be = c[Cd >> 2] | 0;
  44380. Kd = c[Zd >> 2] | 0;
  44381. c[dd >> 2] = Fd;
  44382. c[ed >> 2] = be;
  44383. c[fd >> 2] = Kd;
  44384. c[gd >> 2] = ip(c[dd >> 2] | 0, c[fd >> 2] | 0) | 0;
  44385. a[hd >> 0] =
  44386. a[((c[ed >> 2] | 0) + (c[gd >> 2] << 1)) >> 0] | 0;
  44387. jp(
  44388. c[dd >> 2] | 0,
  44389. d[((c[ed >> 2] | 0) + (c[gd >> 2] << 1) + 1) >> 0] | 0
  44390. );
  44391. Kd = a[hd >> 0] | 0;
  44392. be = c[Vd >> 2] | 0;
  44393. c[Vd >> 2] = be + 1;
  44394. a[be >> 0] = Kd;
  44395. }
  44396. if (hp() | 0) {
  44397. Kd = c[Cd >> 2] | 0;
  44398. be = c[Zd >> 2] | 0;
  44399. c[_c >> 2] = Gd;
  44400. c[$c >> 2] = Kd;
  44401. c[ad >> 2] = be;
  44402. c[bd >> 2] = ip(c[_c >> 2] | 0, c[ad >> 2] | 0) | 0;
  44403. a[cd >> 0] =
  44404. a[((c[$c >> 2] | 0) + (c[bd >> 2] << 1)) >> 0] | 0;
  44405. jp(
  44406. c[_c >> 2] | 0,
  44407. d[((c[$c >> 2] | 0) + (c[bd >> 2] << 1) + 1) >> 0] | 0
  44408. );
  44409. be = a[cd >> 0] | 0;
  44410. Kd = c[Wd >> 2] | 0;
  44411. c[Wd >> 2] = Kd + 1;
  44412. a[Kd >> 0] = be;
  44413. }
  44414. hp() | 0;
  44415. be = c[Cd >> 2] | 0;
  44416. Kd = c[Zd >> 2] | 0;
  44417. c[Vc >> 2] = Dd;
  44418. c[Wc >> 2] = be;
  44419. c[Xc >> 2] = Kd;
  44420. c[Yc >> 2] = ip(c[Vc >> 2] | 0, c[Xc >> 2] | 0) | 0;
  44421. a[Zc >> 0] =
  44422. a[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1)) >> 0] | 0;
  44423. jp(
  44424. c[Vc >> 2] | 0,
  44425. d[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1) + 1) >> 0] | 0
  44426. );
  44427. Kd = a[Zc >> 0] | 0;
  44428. be = c[Td >> 2] | 0;
  44429. c[Td >> 2] = be + 1;
  44430. a[be >> 0] = Kd;
  44431. hp() | 0;
  44432. Kd = c[Cd >> 2] | 0;
  44433. be = c[Zd >> 2] | 0;
  44434. c[Qc >> 2] = Ed;
  44435. c[Rc >> 2] = Kd;
  44436. c[Sc >> 2] = be;
  44437. c[Tc >> 2] = ip(c[Qc >> 2] | 0, c[Sc >> 2] | 0) | 0;
  44438. a[Uc >> 0] =
  44439. a[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1)) >> 0] | 0;
  44440. jp(
  44441. c[Qc >> 2] | 0,
  44442. d[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1) + 1) >> 0] | 0
  44443. );
  44444. be = a[Uc >> 0] | 0;
  44445. Kd = c[Ud >> 2] | 0;
  44446. c[Ud >> 2] = Kd + 1;
  44447. a[Kd >> 0] = be;
  44448. hp() | 0;
  44449. be = c[Cd >> 2] | 0;
  44450. Kd = c[Zd >> 2] | 0;
  44451. c[Lc >> 2] = Fd;
  44452. c[Mc >> 2] = be;
  44453. c[Nc >> 2] = Kd;
  44454. c[Oc >> 2] = ip(c[Lc >> 2] | 0, c[Nc >> 2] | 0) | 0;
  44455. a[Pc >> 0] =
  44456. a[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1)) >> 0] | 0;
  44457. jp(
  44458. c[Lc >> 2] | 0,
  44459. d[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1) + 1) >> 0] | 0
  44460. );
  44461. Kd = a[Pc >> 0] | 0;
  44462. be = c[Vd >> 2] | 0;
  44463. c[Vd >> 2] = be + 1;
  44464. a[be >> 0] = Kd;
  44465. hp() | 0;
  44466. Kd = c[Cd >> 2] | 0;
  44467. be = c[Zd >> 2] | 0;
  44468. c[Gc >> 2] = Gd;
  44469. c[Hc >> 2] = Kd;
  44470. c[Ic >> 2] = be;
  44471. c[Jc >> 2] = ip(c[Gc >> 2] | 0, c[Ic >> 2] | 0) | 0;
  44472. a[Kc >> 0] =
  44473. a[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1)) >> 0] | 0;
  44474. jp(
  44475. c[Gc >> 2] | 0,
  44476. d[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1) + 1) >> 0] | 0
  44477. );
  44478. be = a[Kc >> 0] | 0;
  44479. Kd = c[Wd >> 2] | 0;
  44480. c[Wd >> 2] = Kd + 1;
  44481. a[Kd >> 0] = be;
  44482. if (hp() | 0) {
  44483. be = c[Cd >> 2] | 0;
  44484. Kd = c[Zd >> 2] | 0;
  44485. c[Bc >> 2] = Dd;
  44486. c[Cc >> 2] = be;
  44487. c[Dc >> 2] = Kd;
  44488. c[Ec >> 2] = ip(c[Bc >> 2] | 0, c[Dc >> 2] | 0) | 0;
  44489. a[Fc >> 0] =
  44490. a[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1)) >> 0] | 0;
  44491. jp(
  44492. c[Bc >> 2] | 0,
  44493. d[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1) + 1) >> 0] | 0
  44494. );
  44495. Kd = a[Fc >> 0] | 0;
  44496. be = c[Td >> 2] | 0;
  44497. c[Td >> 2] = be + 1;
  44498. a[be >> 0] = Kd;
  44499. }
  44500. if (hp() | 0) {
  44501. Kd = c[Cd >> 2] | 0;
  44502. be = c[Zd >> 2] | 0;
  44503. c[wc >> 2] = Ed;
  44504. c[xc >> 2] = Kd;
  44505. c[yc >> 2] = be;
  44506. c[zc >> 2] = ip(c[wc >> 2] | 0, c[yc >> 2] | 0) | 0;
  44507. a[Ac >> 0] =
  44508. a[((c[xc >> 2] | 0) + (c[zc >> 2] << 1)) >> 0] | 0;
  44509. jp(
  44510. c[wc >> 2] | 0,
  44511. d[((c[xc >> 2] | 0) + (c[zc >> 2] << 1) + 1) >> 0] | 0
  44512. );
  44513. be = a[Ac >> 0] | 0;
  44514. Kd = c[Ud >> 2] | 0;
  44515. c[Ud >> 2] = Kd + 1;
  44516. a[Kd >> 0] = be;
  44517. }
  44518. if (hp() | 0) {
  44519. be = c[Cd >> 2] | 0;
  44520. Kd = c[Zd >> 2] | 0;
  44521. c[rc >> 2] = Fd;
  44522. c[sc >> 2] = be;
  44523. c[tc >> 2] = Kd;
  44524. c[uc >> 2] = ip(c[rc >> 2] | 0, c[tc >> 2] | 0) | 0;
  44525. a[vc >> 0] =
  44526. a[((c[sc >> 2] | 0) + (c[uc >> 2] << 1)) >> 0] | 0;
  44527. jp(
  44528. c[rc >> 2] | 0,
  44529. d[((c[sc >> 2] | 0) + (c[uc >> 2] << 1) + 1) >> 0] | 0
  44530. );
  44531. Kd = a[vc >> 0] | 0;
  44532. be = c[Vd >> 2] | 0;
  44533. c[Vd >> 2] = be + 1;
  44534. a[be >> 0] = Kd;
  44535. }
  44536. if (hp() | 0) {
  44537. Kd = c[Cd >> 2] | 0;
  44538. be = c[Zd >> 2] | 0;
  44539. c[mc >> 2] = Gd;
  44540. c[nc >> 2] = Kd;
  44541. c[oc >> 2] = be;
  44542. c[pc >> 2] = ip(c[mc >> 2] | 0, c[oc >> 2] | 0) | 0;
  44543. a[qc >> 0] =
  44544. a[((c[nc >> 2] | 0) + (c[pc >> 2] << 1)) >> 0] | 0;
  44545. jp(
  44546. c[mc >> 2] | 0,
  44547. d[((c[nc >> 2] | 0) + (c[pc >> 2] << 1) + 1) >> 0] | 0
  44548. );
  44549. be = a[qc >> 0] | 0;
  44550. Kd = c[Wd >> 2] | 0;
  44551. c[Wd >> 2] = Kd + 1;
  44552. a[Kd >> 0] = be;
  44553. }
  44554. be = c[Cd >> 2] | 0;
  44555. Kd = c[Zd >> 2] | 0;
  44556. c[hc >> 2] = Dd;
  44557. c[ic >> 2] = be;
  44558. c[jc >> 2] = Kd;
  44559. c[kc >> 2] = ip(c[hc >> 2] | 0, c[jc >> 2] | 0) | 0;
  44560. a[lc >> 0] =
  44561. a[((c[ic >> 2] | 0) + (c[kc >> 2] << 1)) >> 0] | 0;
  44562. jp(
  44563. c[hc >> 2] | 0,
  44564. d[((c[ic >> 2] | 0) + (c[kc >> 2] << 1) + 1) >> 0] | 0
  44565. );
  44566. Kd = a[lc >> 0] | 0;
  44567. be = c[Td >> 2] | 0;
  44568. c[Td >> 2] = be + 1;
  44569. a[be >> 0] = Kd;
  44570. Kd = c[Cd >> 2] | 0;
  44571. be = c[Zd >> 2] | 0;
  44572. c[cc >> 2] = Ed;
  44573. c[dc >> 2] = Kd;
  44574. c[ec >> 2] = be;
  44575. c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
  44576. a[gc >> 0] =
  44577. a[((c[dc >> 2] | 0) + (c[fc >> 2] << 1)) >> 0] | 0;
  44578. jp(
  44579. c[cc >> 2] | 0,
  44580. d[((c[dc >> 2] | 0) + (c[fc >> 2] << 1) + 1) >> 0] | 0
  44581. );
  44582. be = a[gc >> 0] | 0;
  44583. Kd = c[Ud >> 2] | 0;
  44584. c[Ud >> 2] = Kd + 1;
  44585. a[Kd >> 0] = be;
  44586. be = c[Cd >> 2] | 0;
  44587. Kd = c[Zd >> 2] | 0;
  44588. c[Zb >> 2] = Fd;
  44589. c[_b >> 2] = be;
  44590. c[$b >> 2] = Kd;
  44591. c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
  44592. a[bc >> 0] =
  44593. a[((c[_b >> 2] | 0) + (c[ac >> 2] << 1)) >> 0] | 0;
  44594. jp(
  44595. c[Zb >> 2] | 0,
  44596. d[((c[_b >> 2] | 0) + (c[ac >> 2] << 1) + 1) >> 0] | 0
  44597. );
  44598. Kd = a[bc >> 0] | 0;
  44599. be = c[Vd >> 2] | 0;
  44600. c[Vd >> 2] = be + 1;
  44601. a[be >> 0] = Kd;
  44602. Kd = c[Cd >> 2] | 0;
  44603. be = c[Zd >> 2] | 0;
  44604. c[Ub >> 2] = Gd;
  44605. c[Vb >> 2] = Kd;
  44606. c[Wb >> 2] = be;
  44607. c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
  44608. a[Yb >> 0] =
  44609. a[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1)) >> 0] | 0;
  44610. jp(
  44611. c[Ub >> 2] | 0,
  44612. d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1) + 1) >> 0] | 0
  44613. );
  44614. be = a[Yb >> 0] | 0;
  44615. Kd = c[Wd >> 2] | 0;
  44616. c[Wd >> 2] = Kd + 1;
  44617. a[Kd >> 0] = be;
  44618. gp(Dd) | 0;
  44619. gp(Ed) | 0;
  44620. gp(Fd) | 0;
  44621. gp(Gd) | 0;
  44622. }
  44623. if ((c[Td >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
  44624. c[sd >> 2] = -20;
  44625. ie = c[sd >> 2] | 0;
  44626. l = i;
  44627. return ie | 0;
  44628. }
  44629. if ((c[Ud >> 2] | 0) >>> 0 > (c[Rd >> 2] | 0) >>> 0) {
  44630. c[sd >> 2] = -20;
  44631. ie = c[sd >> 2] | 0;
  44632. l = i;
  44633. return ie | 0;
  44634. }
  44635. if ((c[Vd >> 2] | 0) >>> 0 > (c[Sd >> 2] | 0) >>> 0) {
  44636. c[sd >> 2] = -20;
  44637. ie = c[sd >> 2] | 0;
  44638. l = i;
  44639. return ie | 0;
  44640. }
  44641. Yb = c[Qd >> 2] | 0;
  44642. Qd = c[Cd >> 2] | 0;
  44643. Xb = c[Zd >> 2] | 0;
  44644. c[Ob >> 2] = c[Td >> 2];
  44645. c[Pb >> 2] = Dd;
  44646. c[Qb >> 2] = Yb;
  44647. c[Rb >> 2] = Qd;
  44648. c[Sb >> 2] = Xb;
  44649. c[Tb >> 2] = c[Ob >> 2];
  44650. while (1) {
  44651. Tb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
  44652. if (
  44653. !(
  44654. Tb &
  44655. ((c[Ob >> 2] | 0) >>> 0 <
  44656. (((c[Qb >> 2] | 0) + -3) | 0) >>> 0)
  44657. )
  44658. )
  44659. break;
  44660. if (hp() | 0) {
  44661. Tb = c[Rb >> 2] | 0;
  44662. Xb = c[Sb >> 2] | 0;
  44663. c[Jb >> 2] = c[Pb >> 2];
  44664. c[Kb >> 2] = Tb;
  44665. c[Lb >> 2] = Xb;
  44666. c[Mb >> 2] = ip(c[Jb >> 2] | 0, c[Lb >> 2] | 0) | 0;
  44667. a[Nb >> 0] =
  44668. a[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1)) >> 0] | 0;
  44669. jp(
  44670. c[Jb >> 2] | 0,
  44671. d[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1) + 1) >> 0] | 0
  44672. );
  44673. Xb = a[Nb >> 0] | 0;
  44674. Tb = c[Ob >> 2] | 0;
  44675. c[Ob >> 2] = Tb + 1;
  44676. a[Tb >> 0] = Xb;
  44677. }
  44678. hp() | 0;
  44679. Xb = c[Rb >> 2] | 0;
  44680. Tb = c[Sb >> 2] | 0;
  44681. c[Eb >> 2] = c[Pb >> 2];
  44682. c[Fb >> 2] = Xb;
  44683. c[Gb >> 2] = Tb;
  44684. c[Hb >> 2] = ip(c[Eb >> 2] | 0, c[Gb >> 2] | 0) | 0;
  44685. a[Ib >> 0] =
  44686. a[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1)) >> 0] | 0;
  44687. jp(
  44688. c[Eb >> 2] | 0,
  44689. d[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1) + 1) >> 0] | 0
  44690. );
  44691. Tb = a[Ib >> 0] | 0;
  44692. Xb = c[Ob >> 2] | 0;
  44693. c[Ob >> 2] = Xb + 1;
  44694. a[Xb >> 0] = Tb;
  44695. if (hp() | 0) {
  44696. Tb = c[Rb >> 2] | 0;
  44697. Xb = c[Sb >> 2] | 0;
  44698. c[zb >> 2] = c[Pb >> 2];
  44699. c[Ab >> 2] = Tb;
  44700. c[Bb >> 2] = Xb;
  44701. c[Cb >> 2] = ip(c[zb >> 2] | 0, c[Bb >> 2] | 0) | 0;
  44702. a[Db >> 0] =
  44703. a[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1)) >> 0] | 0;
  44704. jp(
  44705. c[zb >> 2] | 0,
  44706. d[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1) + 1) >> 0] | 0
  44707. );
  44708. Xb = a[Db >> 0] | 0;
  44709. Tb = c[Ob >> 2] | 0;
  44710. c[Ob >> 2] = Tb + 1;
  44711. a[Tb >> 0] = Xb;
  44712. }
  44713. Xb = c[Rb >> 2] | 0;
  44714. Tb = c[Sb >> 2] | 0;
  44715. c[ub >> 2] = c[Pb >> 2];
  44716. c[vb >> 2] = Xb;
  44717. c[wb >> 2] = Tb;
  44718. c[xb >> 2] = ip(c[ub >> 2] | 0, c[wb >> 2] | 0) | 0;
  44719. a[yb >> 0] =
  44720. a[((c[vb >> 2] | 0) + (c[xb >> 2] << 1)) >> 0] | 0;
  44721. jp(
  44722. c[ub >> 2] | 0,
  44723. d[((c[vb >> 2] | 0) + (c[xb >> 2] << 1) + 1) >> 0] | 0
  44724. );
  44725. Tb = a[yb >> 0] | 0;
  44726. Xb = c[Ob >> 2] | 0;
  44727. c[Ob >> 2] = Xb + 1;
  44728. a[Xb >> 0] = Tb;
  44729. }
  44730. a: do {
  44731. if (kp() | 0)
  44732. while (1) {
  44733. yb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
  44734. if (
  44735. !(
  44736. yb &
  44737. ((c[Ob >> 2] | 0) >>> 0 < (c[Qb >> 2] | 0) >>> 0)
  44738. )
  44739. )
  44740. break a;
  44741. yb = c[Rb >> 2] | 0;
  44742. xb = c[Sb >> 2] | 0;
  44743. c[pb >> 2] = c[Pb >> 2];
  44744. c[qb >> 2] = yb;
  44745. c[rb >> 2] = xb;
  44746. c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
  44747. a[tb >> 0] =
  44748. a[((c[qb >> 2] | 0) + (c[sb >> 2] << 1)) >> 0] | 0;
  44749. jp(
  44750. c[pb >> 2] | 0,
  44751. d[((c[qb >> 2] | 0) + (c[sb >> 2] << 1) + 1) >> 0] | 0
  44752. );
  44753. xb = a[tb >> 0] | 0;
  44754. yb = c[Ob >> 2] | 0;
  44755. c[Ob >> 2] = yb + 1;
  44756. a[yb >> 0] = xb;
  44757. }
  44758. } while (0);
  44759. while (1) {
  44760. if ((c[Ob >> 2] | 0) >>> 0 >= (c[Qb >> 2] | 0) >>> 0) break;
  44761. tb = c[Rb >> 2] | 0;
  44762. sb = c[Sb >> 2] | 0;
  44763. c[kb >> 2] = c[Pb >> 2];
  44764. c[lb >> 2] = tb;
  44765. c[mb >> 2] = sb;
  44766. c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
  44767. a[ob >> 0] =
  44768. a[((c[lb >> 2] | 0) + (c[nb >> 2] << 1)) >> 0] | 0;
  44769. jp(
  44770. c[kb >> 2] | 0,
  44771. d[((c[lb >> 2] | 0) + (c[nb >> 2] << 1) + 1) >> 0] | 0
  44772. );
  44773. sb = a[ob >> 0] | 0;
  44774. tb = c[Ob >> 2] | 0;
  44775. c[Ob >> 2] = tb + 1;
  44776. a[tb >> 0] = sb;
  44777. }
  44778. Ob = c[Rd >> 2] | 0;
  44779. Rd = c[Cd >> 2] | 0;
  44780. ob = c[Zd >> 2] | 0;
  44781. c[eb >> 2] = c[Ud >> 2];
  44782. c[fb >> 2] = Ed;
  44783. c[gb >> 2] = Ob;
  44784. c[hb >> 2] = Rd;
  44785. c[ib >> 2] = ob;
  44786. c[jb >> 2] = c[eb >> 2];
  44787. while (1) {
  44788. jb = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
  44789. if (
  44790. !(
  44791. jb &
  44792. ((c[eb >> 2] | 0) >>> 0 <
  44793. (((c[gb >> 2] | 0) + -3) | 0) >>> 0)
  44794. )
  44795. )
  44796. break;
  44797. if (hp() | 0) {
  44798. jb = c[hb >> 2] | 0;
  44799. ob = c[ib >> 2] | 0;
  44800. c[$a >> 2] = c[fb >> 2];
  44801. c[ab >> 2] = jb;
  44802. c[bb >> 2] = ob;
  44803. c[cb >> 2] = ip(c[$a >> 2] | 0, c[bb >> 2] | 0) | 0;
  44804. a[db >> 0] =
  44805. a[((c[ab >> 2] | 0) + (c[cb >> 2] << 1)) >> 0] | 0;
  44806. jp(
  44807. c[$a >> 2] | 0,
  44808. d[((c[ab >> 2] | 0) + (c[cb >> 2] << 1) + 1) >> 0] | 0
  44809. );
  44810. ob = a[db >> 0] | 0;
  44811. jb = c[eb >> 2] | 0;
  44812. c[eb >> 2] = jb + 1;
  44813. a[jb >> 0] = ob;
  44814. }
  44815. hp() | 0;
  44816. ob = c[hb >> 2] | 0;
  44817. jb = c[ib >> 2] | 0;
  44818. c[Wa >> 2] = c[fb >> 2];
  44819. c[Xa >> 2] = ob;
  44820. c[Ya >> 2] = jb;
  44821. c[Za >> 2] = ip(c[Wa >> 2] | 0, c[Ya >> 2] | 0) | 0;
  44822. a[_a >> 0] =
  44823. a[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1)) >> 0] | 0;
  44824. jp(
  44825. c[Wa >> 2] | 0,
  44826. d[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1) + 1) >> 0] | 0
  44827. );
  44828. jb = a[_a >> 0] | 0;
  44829. ob = c[eb >> 2] | 0;
  44830. c[eb >> 2] = ob + 1;
  44831. a[ob >> 0] = jb;
  44832. if (hp() | 0) {
  44833. jb = c[hb >> 2] | 0;
  44834. ob = c[ib >> 2] | 0;
  44835. c[Ra >> 2] = c[fb >> 2];
  44836. c[Sa >> 2] = jb;
  44837. c[Ta >> 2] = ob;
  44838. c[Ua >> 2] = ip(c[Ra >> 2] | 0, c[Ta >> 2] | 0) | 0;
  44839. a[Va >> 0] =
  44840. a[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1)) >> 0] | 0;
  44841. jp(
  44842. c[Ra >> 2] | 0,
  44843. d[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1) + 1) >> 0] | 0
  44844. );
  44845. ob = a[Va >> 0] | 0;
  44846. jb = c[eb >> 2] | 0;
  44847. c[eb >> 2] = jb + 1;
  44848. a[jb >> 0] = ob;
  44849. }
  44850. ob = c[hb >> 2] | 0;
  44851. jb = c[ib >> 2] | 0;
  44852. c[Ma >> 2] = c[fb >> 2];
  44853. c[Na >> 2] = ob;
  44854. c[Oa >> 2] = jb;
  44855. c[Pa >> 2] = ip(c[Ma >> 2] | 0, c[Oa >> 2] | 0) | 0;
  44856. a[Qa >> 0] =
  44857. a[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1)) >> 0] | 0;
  44858. jp(
  44859. c[Ma >> 2] | 0,
  44860. d[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1) + 1) >> 0] | 0
  44861. );
  44862. jb = a[Qa >> 0] | 0;
  44863. ob = c[eb >> 2] | 0;
  44864. c[eb >> 2] = ob + 1;
  44865. a[ob >> 0] = jb;
  44866. }
  44867. b: do {
  44868. if (kp() | 0)
  44869. while (1) {
  44870. Qa = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
  44871. if (
  44872. !(
  44873. Qa &
  44874. ((c[eb >> 2] | 0) >>> 0 < (c[gb >> 2] | 0) >>> 0)
  44875. )
  44876. )
  44877. break b;
  44878. Qa = c[hb >> 2] | 0;
  44879. Pa = c[ib >> 2] | 0;
  44880. c[Ha >> 2] = c[fb >> 2];
  44881. c[Ia >> 2] = Qa;
  44882. c[Ja >> 2] = Pa;
  44883. c[Ka >> 2] = ip(c[Ha >> 2] | 0, c[Ja >> 2] | 0) | 0;
  44884. a[La >> 0] =
  44885. a[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1)) >> 0] | 0;
  44886. jp(
  44887. c[Ha >> 2] | 0,
  44888. d[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1) + 1) >> 0] | 0
  44889. );
  44890. Pa = a[La >> 0] | 0;
  44891. Qa = c[eb >> 2] | 0;
  44892. c[eb >> 2] = Qa + 1;
  44893. a[Qa >> 0] = Pa;
  44894. }
  44895. } while (0);
  44896. while (1) {
  44897. if ((c[eb >> 2] | 0) >>> 0 >= (c[gb >> 2] | 0) >>> 0) break;
  44898. La = c[hb >> 2] | 0;
  44899. Ka = c[ib >> 2] | 0;
  44900. c[Ca >> 2] = c[fb >> 2];
  44901. c[Da >> 2] = La;
  44902. c[Ea >> 2] = Ka;
  44903. c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
  44904. a[Ga >> 0] =
  44905. a[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1)) >> 0] | 0;
  44906. jp(
  44907. c[Ca >> 2] | 0,
  44908. d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1) + 1) >> 0] | 0
  44909. );
  44910. Ka = a[Ga >> 0] | 0;
  44911. La = c[eb >> 2] | 0;
  44912. c[eb >> 2] = La + 1;
  44913. a[La >> 0] = Ka;
  44914. }
  44915. eb = c[Sd >> 2] | 0;
  44916. Sd = c[Cd >> 2] | 0;
  44917. Ga = c[Zd >> 2] | 0;
  44918. c[wa >> 2] = c[Vd >> 2];
  44919. c[xa >> 2] = Fd;
  44920. c[ya >> 2] = eb;
  44921. c[za >> 2] = Sd;
  44922. c[Aa >> 2] = Ga;
  44923. c[Ba >> 2] = c[wa >> 2];
  44924. while (1) {
  44925. Ba = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
  44926. if (
  44927. !(
  44928. Ba &
  44929. ((c[wa >> 2] | 0) >>> 0 <
  44930. (((c[ya >> 2] | 0) + -3) | 0) >>> 0)
  44931. )
  44932. )
  44933. break;
  44934. if (hp() | 0) {
  44935. Ba = c[za >> 2] | 0;
  44936. Ga = c[Aa >> 2] | 0;
  44937. c[ra >> 2] = c[xa >> 2];
  44938. c[sa >> 2] = Ba;
  44939. c[ta >> 2] = Ga;
  44940. c[ua >> 2] = ip(c[ra >> 2] | 0, c[ta >> 2] | 0) | 0;
  44941. a[va >> 0] =
  44942. a[((c[sa >> 2] | 0) + (c[ua >> 2] << 1)) >> 0] | 0;
  44943. jp(
  44944. c[ra >> 2] | 0,
  44945. d[((c[sa >> 2] | 0) + (c[ua >> 2] << 1) + 1) >> 0] | 0
  44946. );
  44947. Ga = a[va >> 0] | 0;
  44948. Ba = c[wa >> 2] | 0;
  44949. c[wa >> 2] = Ba + 1;
  44950. a[Ba >> 0] = Ga;
  44951. }
  44952. hp() | 0;
  44953. Ga = c[za >> 2] | 0;
  44954. Ba = c[Aa >> 2] | 0;
  44955. c[ma >> 2] = c[xa >> 2];
  44956. c[na >> 2] = Ga;
  44957. c[oa >> 2] = Ba;
  44958. c[pa >> 2] = ip(c[ma >> 2] | 0, c[oa >> 2] | 0) | 0;
  44959. a[qa >> 0] =
  44960. a[((c[na >> 2] | 0) + (c[pa >> 2] << 1)) >> 0] | 0;
  44961. jp(
  44962. c[ma >> 2] | 0,
  44963. d[((c[na >> 2] | 0) + (c[pa >> 2] << 1) + 1) >> 0] | 0
  44964. );
  44965. Ba = a[qa >> 0] | 0;
  44966. Ga = c[wa >> 2] | 0;
  44967. c[wa >> 2] = Ga + 1;
  44968. a[Ga >> 0] = Ba;
  44969. if (hp() | 0) {
  44970. Ba = c[za >> 2] | 0;
  44971. Ga = c[Aa >> 2] | 0;
  44972. c[ha >> 2] = c[xa >> 2];
  44973. c[ia >> 2] = Ba;
  44974. c[ja >> 2] = Ga;
  44975. c[ka >> 2] = ip(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
  44976. a[la >> 0] =
  44977. a[((c[ia >> 2] | 0) + (c[ka >> 2] << 1)) >> 0] | 0;
  44978. jp(
  44979. c[ha >> 2] | 0,
  44980. d[((c[ia >> 2] | 0) + (c[ka >> 2] << 1) + 1) >> 0] | 0
  44981. );
  44982. Ga = a[la >> 0] | 0;
  44983. Ba = c[wa >> 2] | 0;
  44984. c[wa >> 2] = Ba + 1;
  44985. a[Ba >> 0] = Ga;
  44986. }
  44987. Ga = c[za >> 2] | 0;
  44988. Ba = c[Aa >> 2] | 0;
  44989. c[ca >> 2] = c[xa >> 2];
  44990. c[da >> 2] = Ga;
  44991. c[ea >> 2] = Ba;
  44992. c[fa >> 2] = ip(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
  44993. a[ga >> 0] =
  44994. a[((c[da >> 2] | 0) + (c[fa >> 2] << 1)) >> 0] | 0;
  44995. jp(
  44996. c[ca >> 2] | 0,
  44997. d[((c[da >> 2] | 0) + (c[fa >> 2] << 1) + 1) >> 0] | 0
  44998. );
  44999. Ba = a[ga >> 0] | 0;
  45000. Ga = c[wa >> 2] | 0;
  45001. c[wa >> 2] = Ga + 1;
  45002. a[Ga >> 0] = Ba;
  45003. }
  45004. c: do {
  45005. if (kp() | 0)
  45006. while (1) {
  45007. ga = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
  45008. if (
  45009. !(
  45010. ga &
  45011. ((c[wa >> 2] | 0) >>> 0 < (c[ya >> 2] | 0) >>> 0)
  45012. )
  45013. )
  45014. break c;
  45015. ga = c[za >> 2] | 0;
  45016. fa = c[Aa >> 2] | 0;
  45017. c[Z >> 2] = c[xa >> 2];
  45018. c[_ >> 2] = ga;
  45019. c[$ >> 2] = fa;
  45020. c[aa >> 2] = ip(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
  45021. a[ba >> 0] =
  45022. a[((c[_ >> 2] | 0) + (c[aa >> 2] << 1)) >> 0] | 0;
  45023. jp(
  45024. c[Z >> 2] | 0,
  45025. d[((c[_ >> 2] | 0) + (c[aa >> 2] << 1) + 1) >> 0] | 0
  45026. );
  45027. fa = a[ba >> 0] | 0;
  45028. ga = c[wa >> 2] | 0;
  45029. c[wa >> 2] = ga + 1;
  45030. a[ga >> 0] = fa;
  45031. }
  45032. } while (0);
  45033. while (1) {
  45034. if ((c[wa >> 2] | 0) >>> 0 >= (c[ya >> 2] | 0) >>> 0) break;
  45035. ba = c[za >> 2] | 0;
  45036. aa = c[Aa >> 2] | 0;
  45037. c[U >> 2] = c[xa >> 2];
  45038. c[V >> 2] = ba;
  45039. c[W >> 2] = aa;
  45040. c[X >> 2] = ip(c[U >> 2] | 0, c[W >> 2] | 0) | 0;
  45041. a[Y >> 0] =
  45042. a[((c[V >> 2] | 0) + (c[X >> 2] << 1)) >> 0] | 0;
  45043. jp(
  45044. c[U >> 2] | 0,
  45045. d[((c[V >> 2] | 0) + (c[X >> 2] << 1) + 1) >> 0] | 0
  45046. );
  45047. aa = a[Y >> 0] | 0;
  45048. ba = c[wa >> 2] | 0;
  45049. c[wa >> 2] = ba + 1;
  45050. a[ba >> 0] = aa;
  45051. }
  45052. wa = c[Ad >> 2] | 0;
  45053. Ad = c[Cd >> 2] | 0;
  45054. Cd = c[Zd >> 2] | 0;
  45055. c[O >> 2] = c[Wd >> 2];
  45056. c[P >> 2] = Gd;
  45057. c[Q >> 2] = wa;
  45058. c[R >> 2] = Ad;
  45059. c[S >> 2] = Cd;
  45060. c[T >> 2] = c[O >> 2];
  45061. while (1) {
  45062. T = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  45063. if (
  45064. !(
  45065. T &
  45066. ((c[O >> 2] | 0) >>> 0 <
  45067. (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
  45068. )
  45069. )
  45070. break;
  45071. if (hp() | 0) {
  45072. T = c[R >> 2] | 0;
  45073. Cd = c[S >> 2] | 0;
  45074. c[J >> 2] = c[P >> 2];
  45075. c[K >> 2] = T;
  45076. c[L >> 2] = Cd;
  45077. c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
  45078. a[N >> 0] =
  45079. a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
  45080. jp(
  45081. c[J >> 2] | 0,
  45082. d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
  45083. );
  45084. Cd = a[N >> 0] | 0;
  45085. T = c[O >> 2] | 0;
  45086. c[O >> 2] = T + 1;
  45087. a[T >> 0] = Cd;
  45088. }
  45089. hp() | 0;
  45090. Cd = c[R >> 2] | 0;
  45091. T = c[S >> 2] | 0;
  45092. c[E >> 2] = c[P >> 2];
  45093. c[F >> 2] = Cd;
  45094. c[G >> 2] = T;
  45095. c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
  45096. a[I >> 0] =
  45097. a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
  45098. jp(
  45099. c[E >> 2] | 0,
  45100. d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
  45101. );
  45102. T = a[I >> 0] | 0;
  45103. Cd = c[O >> 2] | 0;
  45104. c[O >> 2] = Cd + 1;
  45105. a[Cd >> 0] = T;
  45106. if (hp() | 0) {
  45107. T = c[R >> 2] | 0;
  45108. Cd = c[S >> 2] | 0;
  45109. c[z >> 2] = c[P >> 2];
  45110. c[A >> 2] = T;
  45111. c[B >> 2] = Cd;
  45112. c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
  45113. a[D >> 0] =
  45114. a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
  45115. jp(
  45116. c[z >> 2] | 0,
  45117. d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
  45118. );
  45119. Cd = a[D >> 0] | 0;
  45120. T = c[O >> 2] | 0;
  45121. c[O >> 2] = T + 1;
  45122. a[T >> 0] = Cd;
  45123. }
  45124. Cd = c[R >> 2] | 0;
  45125. T = c[S >> 2] | 0;
  45126. c[u >> 2] = c[P >> 2];
  45127. c[v >> 2] = Cd;
  45128. c[w >> 2] = T;
  45129. c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
  45130. a[y >> 0] =
  45131. a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
  45132. jp(
  45133. c[u >> 2] | 0,
  45134. d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
  45135. );
  45136. T = a[y >> 0] | 0;
  45137. Cd = c[O >> 2] | 0;
  45138. c[O >> 2] = Cd + 1;
  45139. a[Cd >> 0] = T;
  45140. }
  45141. d: do {
  45142. if (kp() | 0)
  45143. while (1) {
  45144. y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
  45145. if (
  45146. !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
  45147. )
  45148. break d;
  45149. y = c[R >> 2] | 0;
  45150. x = c[S >> 2] | 0;
  45151. c[p >> 2] = c[P >> 2];
  45152. c[q >> 2] = y;
  45153. c[r >> 2] = x;
  45154. c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
  45155. a[t >> 0] =
  45156. a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
  45157. jp(
  45158. c[p >> 2] | 0,
  45159. d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
  45160. );
  45161. x = a[t >> 0] | 0;
  45162. y = c[O >> 2] | 0;
  45163. c[O >> 2] = y + 1;
  45164. a[y >> 0] = x;
  45165. }
  45166. } while (0);
  45167. while (1) {
  45168. if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
  45169. t = c[R >> 2] | 0;
  45170. s = c[S >> 2] | 0;
  45171. c[j >> 2] = c[P >> 2];
  45172. c[k >> 2] = t;
  45173. c[m >> 2] = s;
  45174. c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  45175. a[o >> 0] =
  45176. a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
  45177. jp(
  45178. c[j >> 2] | 0,
  45179. d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
  45180. );
  45181. s = a[o >> 0] | 0;
  45182. t = c[O >> 2] | 0;
  45183. c[O >> 2] = t + 1;
  45184. a[t >> 0] = s;
  45185. }
  45186. O = lp(Dd) | 0;
  45187. Dd = O & (lp(Ed) | 0);
  45188. Ed = Dd & (lp(Fd) | 0);
  45189. c[ce >> 2] = Ed & (lp(Gd) | 0);
  45190. if (c[ce >> 2] | 0) {
  45191. c[sd >> 2] = c[ud >> 2];
  45192. ie = c[sd >> 2] | 0;
  45193. l = i;
  45194. return ie | 0;
  45195. } else {
  45196. c[sd >> 2] = -20;
  45197. ie = c[sd >> 2] | 0;
  45198. l = i;
  45199. return ie | 0;
  45200. }
  45201. return 0;
  45202. }
  45203. function yp(a) {
  45204. a = a | 0;
  45205. var e = 0,
  45206. f = 0,
  45207. g = 0,
  45208. h = 0,
  45209. i = 0,
  45210. j = 0;
  45211. e = l;
  45212. l = (l + 16) | 0;
  45213. f = (e + 8) | 0;
  45214. g = (e + 4) | 0;
  45215. h = e;
  45216. c[g >> 2] = a;
  45217. a = (pp() | 0) != 0;
  45218. i = c[g >> 2] | 0;
  45219. if (a) {
  45220. b[f >> 1] = zp(i) | 0;
  45221. j = b[f >> 1] | 0;
  45222. l = e;
  45223. return j | 0;
  45224. } else {
  45225. c[h >> 2] = i;
  45226. b[f >> 1] =
  45227. (d[c[h >> 2] >> 0] | 0) +
  45228. ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
  45229. j = b[f >> 1] | 0;
  45230. l = e;
  45231. return j | 0;
  45232. }
  45233. return 0;
  45234. }
  45235. function zp(a) {
  45236. a = a | 0;
  45237. var b = 0,
  45238. e = 0;
  45239. b = l;
  45240. l = (l + 16) | 0;
  45241. e = b;
  45242. c[e >> 2] = a;
  45243. a = c[e >> 2] | 0;
  45244. l = b;
  45245. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  45246. }
  45247. function Ap(a, b, d, e, f, g, h, i) {
  45248. a = a | 0;
  45249. b = b | 0;
  45250. d = d | 0;
  45251. e = e | 0;
  45252. f = f | 0;
  45253. g = g | 0;
  45254. h = h | 0;
  45255. i = i | 0;
  45256. var j = 0,
  45257. k = 0,
  45258. m = 0,
  45259. n = 0,
  45260. o = 0,
  45261. p = 0,
  45262. q = 0,
  45263. r = 0,
  45264. s = 0,
  45265. t = 0,
  45266. u = 0,
  45267. v = 0,
  45268. w = 0;
  45269. j = l;
  45270. l = (l + 48) | 0;
  45271. k = (j + 40) | 0;
  45272. m = (j + 36) | 0;
  45273. n = (j + 32) | 0;
  45274. o = (j + 28) | 0;
  45275. p = (j + 24) | 0;
  45276. q = (j + 20) | 0;
  45277. r = (j + 16) | 0;
  45278. s = (j + 12) | 0;
  45279. t = (j + 8) | 0;
  45280. u = (j + 4) | 0;
  45281. v = j;
  45282. c[m >> 2] = a;
  45283. c[n >> 2] = b;
  45284. c[o >> 2] = d;
  45285. c[p >> 2] = e;
  45286. c[q >> 2] = f;
  45287. c[r >> 2] = g;
  45288. c[s >> 2] = h;
  45289. c[t >> 2] = i;
  45290. c[u >> 2] = c[p >> 2];
  45291. c[v >> 2] =
  45292. $o(
  45293. c[m >> 2] | 0,
  45294. c[p >> 2] | 0,
  45295. c[q >> 2] | 0,
  45296. c[r >> 2] | 0,
  45297. c[s >> 2] | 0
  45298. ) | 0;
  45299. s = (ap(c[v >> 2] | 0) | 0) != 0;
  45300. r = c[v >> 2] | 0;
  45301. if (s) {
  45302. c[k >> 2] = r;
  45303. w = c[k >> 2] | 0;
  45304. l = j;
  45305. return w | 0;
  45306. }
  45307. if (r >>> 0 >= (c[q >> 2] | 0) >>> 0) {
  45308. c[k >> 2] = -72;
  45309. w = c[k >> 2] | 0;
  45310. l = j;
  45311. return w | 0;
  45312. } else {
  45313. c[u >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
  45314. c[q >> 2] = (c[q >> 2] | 0) - (c[v >> 2] | 0);
  45315. c[k >> 2] =
  45316. vp(
  45317. c[n >> 2] | 0,
  45318. c[o >> 2] | 0,
  45319. c[u >> 2] | 0,
  45320. c[q >> 2] | 0,
  45321. c[m >> 2] | 0,
  45322. c[t >> 2] | 0
  45323. ) | 0;
  45324. w = c[k >> 2] | 0;
  45325. l = j;
  45326. return w | 0;
  45327. }
  45328. return 0;
  45329. }
  45330. function Bp(b, e, f, g, h) {
  45331. b = b | 0;
  45332. e = e | 0;
  45333. f = f | 0;
  45334. g = g | 0;
  45335. h = h | 0;
  45336. var i = 0,
  45337. j = 0,
  45338. k = 0,
  45339. m = 0,
  45340. n = 0,
  45341. o = 0,
  45342. p = 0,
  45343. q = 0,
  45344. r = 0,
  45345. s = 0,
  45346. t = 0,
  45347. u = 0,
  45348. v = 0,
  45349. w = 0,
  45350. x = 0,
  45351. y = 0,
  45352. z = 0,
  45353. A = 0,
  45354. B = 0,
  45355. C = 0,
  45356. D = 0,
  45357. E = 0,
  45358. F = 0,
  45359. G = 0,
  45360. H = 0,
  45361. I = 0,
  45362. J = 0,
  45363. K = 0,
  45364. L = 0,
  45365. M = 0,
  45366. N = 0,
  45367. O = 0,
  45368. P = 0,
  45369. Q = 0,
  45370. R = 0,
  45371. S = 0,
  45372. T = 0,
  45373. U = 0,
  45374. V = 0,
  45375. W = 0;
  45376. i = l;
  45377. l = (l + 160) | 0;
  45378. j = (i + 140) | 0;
  45379. k = (i + 136) | 0;
  45380. m = (i + 132) | 0;
  45381. n = (i + 128) | 0;
  45382. o = (i + 124) | 0;
  45383. p = (i + 120) | 0;
  45384. q = (i + 116) | 0;
  45385. r = (i + 112) | 0;
  45386. s = (i + 108) | 0;
  45387. t = (i + 104) | 0;
  45388. u = (i + 144) | 0;
  45389. v = (i + 100) | 0;
  45390. w = (i + 96) | 0;
  45391. x = (i + 92) | 0;
  45392. y = (i + 88) | 0;
  45393. z = (i + 84) | 0;
  45394. A = (i + 80) | 0;
  45395. B = (i + 76) | 0;
  45396. C = (i + 72) | 0;
  45397. D = (i + 68) | 0;
  45398. E = (i + 64) | 0;
  45399. F = (i + 60) | 0;
  45400. G = (i + 56) | 0;
  45401. H = (i + 52) | 0;
  45402. I = (i + 48) | 0;
  45403. J = (i + 44) | 0;
  45404. K = (i + 40) | 0;
  45405. L = (i + 36) | 0;
  45406. M = (i + 32) | 0;
  45407. N = (i + 28) | 0;
  45408. O = (i + 24) | 0;
  45409. P = (i + 20) | 0;
  45410. Q = (i + 16) | 0;
  45411. R = (i + 12) | 0;
  45412. S = (i + 8) | 0;
  45413. T = (i + 4) | 0;
  45414. U = i;
  45415. c[k >> 2] = b;
  45416. c[m >> 2] = e;
  45417. c[n >> 2] = f;
  45418. c[o >> 2] = g;
  45419. c[p >> 2] = h;
  45420. bp(u, c[k >> 2] | 0);
  45421. c[v >> 2] = d[u >> 0];
  45422. c[x >> 2] = (c[k >> 2] | 0) + 4;
  45423. c[y >> 2] = c[x >> 2];
  45424. c[F >> 2] = 0;
  45425. c[A >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
  45426. c[F >> 2] = (c[F >> 2] | 0) + 156;
  45427. c[B >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
  45428. c[F >> 2] = (c[F >> 2] | 0) + 13;
  45429. c[C >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
  45430. c[F >> 2] = (c[F >> 2] | 0) + 14;
  45431. c[D >> 2] =
  45432. (c[o >> 2] | 0) +
  45433. (((((c[F >> 2] << 2) >>> 0) / 2) | 0) << 1);
  45434. c[F >> 2] = (c[F >> 2] | 0) + 128;
  45435. c[E >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
  45436. c[F >> 2] = (c[F >> 2] | 0) + 64;
  45437. if ((c[F >> 2] << 2) >>> 0 > (c[p >> 2] | 0) >>> 0) {
  45438. c[j >> 2] = -44;
  45439. V = c[j >> 2] | 0;
  45440. l = i;
  45441. return V | 0;
  45442. }
  45443. c[z >> 2] = (c[C >> 2] | 0) + 4;
  45444. p = c[B >> 2] | 0;
  45445. F = (p + 108) | 0;
  45446. do {
  45447. c[p >> 2] = 0;
  45448. p = (p + 4) | 0;
  45449. } while ((p | 0) < (F | 0));
  45450. if ((c[v >> 2] | 0) >>> 0 > 12) {
  45451. c[j >> 2] = -44;
  45452. V = c[j >> 2] | 0;
  45453. l = i;
  45454. return V | 0;
  45455. }
  45456. c[w >> 2] =
  45457. fh(
  45458. c[E >> 2] | 0,
  45459. 256,
  45460. c[B >> 2] | 0,
  45461. t,
  45462. q,
  45463. c[m >> 2] | 0,
  45464. c[n >> 2] | 0
  45465. ) | 0;
  45466. if (ap(c[w >> 2] | 0) | 0) {
  45467. c[j >> 2] = c[w >> 2];
  45468. V = c[j >> 2] | 0;
  45469. l = i;
  45470. return V | 0;
  45471. }
  45472. if ((c[q >> 2] | 0) >>> 0 > (c[v >> 2] | 0) >>> 0) {
  45473. c[j >> 2] = -44;
  45474. V = c[j >> 2] | 0;
  45475. l = i;
  45476. return V | 0;
  45477. }
  45478. c[r >> 2] = c[q >> 2];
  45479. while (1) {
  45480. if (c[((c[B >> 2] | 0) + (c[r >> 2] << 2)) >> 2] | 0) break;
  45481. c[r >> 2] = (c[r >> 2] | 0) + -1;
  45482. }
  45483. c[H >> 2] = 0;
  45484. c[G >> 2] = 1;
  45485. while (1) {
  45486. W = c[H >> 2] | 0;
  45487. if (
  45488. (c[G >> 2] | 0) >>> 0 >=
  45489. (((c[r >> 2] | 0) + 1) | 0) >>> 0
  45490. )
  45491. break;
  45492. c[I >> 2] = W;
  45493. c[H >> 2] =
  45494. (c[H >> 2] | 0) +
  45495. (c[((c[B >> 2] | 0) + (c[G >> 2] << 2)) >> 2] | 0);
  45496. c[((c[z >> 2] | 0) + (c[G >> 2] << 2)) >> 2] = c[I >> 2];
  45497. c[G >> 2] = (c[G >> 2] | 0) + 1;
  45498. }
  45499. c[c[z >> 2] >> 2] = W;
  45500. c[s >> 2] = c[H >> 2];
  45501. c[J >> 2] = 0;
  45502. while (1) {
  45503. if ((c[J >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  45504. c[K >> 2] = d[((c[E >> 2] | 0) + (c[J >> 2] | 0)) >> 0];
  45505. H = ((c[z >> 2] | 0) + (c[K >> 2] << 2)) | 0;
  45506. W = c[H >> 2] | 0;
  45507. c[H >> 2] = W + 1;
  45508. c[L >> 2] = W;
  45509. a[((c[D >> 2] | 0) + (c[L >> 2] << 1)) >> 0] = c[J >> 2];
  45510. a[((c[D >> 2] | 0) + (c[L >> 2] << 1) + 1) >> 0] =
  45511. c[K >> 2];
  45512. c[J >> 2] = (c[J >> 2] | 0) + 1;
  45513. }
  45514. c[c[z >> 2] >> 2] = 0;
  45515. c[M >> 2] = c[A >> 2];
  45516. c[N >> 2] = (c[v >> 2] | 0) - (c[q >> 2] | 0) - 1;
  45517. c[O >> 2] = 0;
  45518. c[P >> 2] = 1;
  45519. while (1) {
  45520. if (
  45521. (c[P >> 2] | 0) >>> 0 >=
  45522. (((c[r >> 2] | 0) + 1) | 0) >>> 0
  45523. )
  45524. break;
  45525. c[Q >> 2] = c[O >> 2];
  45526. c[O >> 2] =
  45527. (c[O >> 2] | 0) +
  45528. (c[((c[B >> 2] | 0) + (c[P >> 2] << 2)) >> 2] <<
  45529. ((c[P >> 2] | 0) + (c[N >> 2] | 0)));
  45530. c[((c[M >> 2] | 0) + (c[P >> 2] << 2)) >> 2] = c[Q >> 2];
  45531. c[P >> 2] = (c[P >> 2] | 0) + 1;
  45532. }
  45533. c[R >> 2] = (c[q >> 2] | 0) + 1 - (c[r >> 2] | 0);
  45534. c[S >> 2] = c[R >> 2];
  45535. while (1) {
  45536. if (
  45537. (c[S >> 2] | 0) >>> 0 >=
  45538. (((c[v >> 2] | 0) - (c[R >> 2] | 0) + 1) | 0) >>> 0
  45539. )
  45540. break;
  45541. c[T >> 2] = (c[A >> 2] | 0) + (((c[S >> 2] | 0) * 52) | 0);
  45542. c[U >> 2] = 1;
  45543. while (1) {
  45544. if (
  45545. (c[U >> 2] | 0) >>> 0 >=
  45546. (((c[r >> 2] | 0) + 1) | 0) >>> 0
  45547. )
  45548. break;
  45549. c[((c[T >> 2] | 0) + (c[U >> 2] << 2)) >> 2] =
  45550. (c[((c[M >> 2] | 0) + (c[U >> 2] << 2)) >> 2] | 0) >>>
  45551. (c[S >> 2] | 0);
  45552. c[U >> 2] = (c[U >> 2] | 0) + 1;
  45553. }
  45554. c[S >> 2] = (c[S >> 2] | 0) + 1;
  45555. }
  45556. Cp(
  45557. c[y >> 2] | 0,
  45558. c[v >> 2] | 0,
  45559. c[D >> 2] | 0,
  45560. c[s >> 2] | 0,
  45561. c[C >> 2] | 0,
  45562. c[A >> 2] | 0,
  45563. c[r >> 2] | 0,
  45564. ((c[q >> 2] | 0) + 1) | 0
  45565. );
  45566. a[(u + 2) >> 0] = c[v >> 2];
  45567. a[(u + 1) >> 0] = 1;
  45568. v = c[k >> 2] | 0;
  45569. a[v >> 0] = a[u >> 0] | 0;
  45570. a[(v + 1) >> 0] = a[(u + 1) >> 0] | 0;
  45571. a[(v + 2) >> 0] = a[(u + 2) >> 0] | 0;
  45572. a[(v + 3) >> 0] = a[(u + 3) >> 0] | 0;
  45573. c[j >> 2] = c[w >> 2];
  45574. V = c[j >> 2] | 0;
  45575. l = i;
  45576. return V | 0;
  45577. }
  45578. function Cp(e, f, g, h, i, j, k, m) {
  45579. e = e | 0;
  45580. f = f | 0;
  45581. g = g | 0;
  45582. h = h | 0;
  45583. i = i | 0;
  45584. j = j | 0;
  45585. k = k | 0;
  45586. m = m | 0;
  45587. var n = 0,
  45588. o = 0,
  45589. p = 0,
  45590. q = 0,
  45591. r = 0,
  45592. s = 0,
  45593. t = 0,
  45594. u = 0,
  45595. v = 0,
  45596. w = 0,
  45597. x = 0,
  45598. y = 0,
  45599. z = 0,
  45600. A = 0,
  45601. B = 0,
  45602. C = 0,
  45603. D = 0,
  45604. E = 0,
  45605. F = 0,
  45606. G = 0,
  45607. H = 0,
  45608. I = 0,
  45609. J = 0;
  45610. n = l;
  45611. l = (l + 144) | 0;
  45612. o = (n + 124) | 0;
  45613. p = (n + 120) | 0;
  45614. q = (n + 116) | 0;
  45615. r = (n + 112) | 0;
  45616. s = (n + 108) | 0;
  45617. t = (n + 104) | 0;
  45618. u = (n + 100) | 0;
  45619. v = (n + 96) | 0;
  45620. w = n;
  45621. x = (n + 92) | 0;
  45622. y = (n + 88) | 0;
  45623. z = (n + 84) | 0;
  45624. A = (n + 132) | 0;
  45625. B = (n + 80) | 0;
  45626. C = (n + 76) | 0;
  45627. D = (n + 72) | 0;
  45628. E = (n + 68) | 0;
  45629. F = (n + 64) | 0;
  45630. G = (n + 60) | 0;
  45631. H = (n + 128) | 0;
  45632. I = (n + 56) | 0;
  45633. J = (n + 52) | 0;
  45634. c[o >> 2] = e;
  45635. c[p >> 2] = f;
  45636. c[q >> 2] = g;
  45637. c[r >> 2] = h;
  45638. c[s >> 2] = i;
  45639. c[t >> 2] = j;
  45640. c[u >> 2] = k;
  45641. c[v >> 2] = m;
  45642. c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
  45643. c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  45644. u = w;
  45645. m = c[t >> 2] | 0;
  45646. k = (u + 52) | 0;
  45647. do {
  45648. c[u >> 2] = c[m >> 2];
  45649. u = (u + 4) | 0;
  45650. m = (m + 4) | 0;
  45651. } while ((u | 0) < (k | 0));
  45652. c[z >> 2] = 0;
  45653. while (1) {
  45654. if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
  45655. b[A >> 1] =
  45656. d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
  45657. c[B >> 2] =
  45658. d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
  45659. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  45660. c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
  45661. c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
  45662. a: do {
  45663. if (
  45664. (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
  45665. (c[y >> 2] | 0) >>> 0
  45666. ) {
  45667. m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
  45668. c[G >> 2] = m;
  45669. c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
  45670. c[F >> 2] =
  45671. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  45672. Dp(
  45673. ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
  45674. ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
  45675. c[C >> 2] | 0,
  45676. ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 52) | 0)) | 0,
  45677. c[G >> 2] | 0,
  45678. ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
  45679. ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
  45680. c[v >> 2] | 0,
  45681. b[A >> 1] | 0
  45682. );
  45683. } else {
  45684. Ep(H, b[A >> 1] | 0);
  45685. a[(H + 2) >> 0] = c[C >> 2];
  45686. a[(H + 3) >> 0] = 1;
  45687. c[I >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
  45688. c[J >> 2] = c[D >> 2];
  45689. while (1) {
  45690. if ((c[J >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0)
  45691. break a;
  45692. m = ((c[o >> 2] | 0) + (c[J >> 2] << 2)) | 0;
  45693. b[m >> 1] = b[H >> 1] | 0;
  45694. b[(m + 2) >> 1] = b[(H + 2) >> 1] | 0;
  45695. c[J >> 2] = (c[J >> 2] | 0) + 1;
  45696. }
  45697. }
  45698. } while (0);
  45699. m = (w + (c[B >> 2] << 2)) | 0;
  45700. c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
  45701. c[z >> 2] = (c[z >> 2] | 0) + 1;
  45702. }
  45703. l = n;
  45704. return;
  45705. }
  45706. function Dp(f, g, h, i, j, k, m, n, o) {
  45707. f = f | 0;
  45708. g = g | 0;
  45709. h = h | 0;
  45710. i = i | 0;
  45711. j = j | 0;
  45712. k = k | 0;
  45713. m = m | 0;
  45714. n = n | 0;
  45715. o = o | 0;
  45716. var p = 0,
  45717. q = 0,
  45718. r = 0,
  45719. s = 0,
  45720. t = 0,
  45721. u = 0,
  45722. v = 0,
  45723. w = 0,
  45724. x = 0,
  45725. y = 0,
  45726. z = 0,
  45727. A = 0,
  45728. B = 0,
  45729. C = 0,
  45730. D = 0,
  45731. E = 0,
  45732. F = 0,
  45733. G = 0,
  45734. H = 0,
  45735. I = 0,
  45736. J = 0,
  45737. K = 0;
  45738. p = l;
  45739. l = (l + 144) | 0;
  45740. q = (p + 120) | 0;
  45741. r = (p + 116) | 0;
  45742. s = (p + 112) | 0;
  45743. t = (p + 108) | 0;
  45744. u = (p + 104) | 0;
  45745. v = (p + 100) | 0;
  45746. w = (p + 96) | 0;
  45747. x = (p + 92) | 0;
  45748. y = (p + 128) | 0;
  45749. z = (p + 124) | 0;
  45750. A = p;
  45751. B = (p + 88) | 0;
  45752. C = (p + 84) | 0;
  45753. D = (p + 80) | 0;
  45754. E = (p + 76) | 0;
  45755. F = (p + 72) | 0;
  45756. G = (p + 68) | 0;
  45757. H = (p + 64) | 0;
  45758. I = (p + 60) | 0;
  45759. J = (p + 56) | 0;
  45760. K = (p + 52) | 0;
  45761. c[q >> 2] = f;
  45762. c[r >> 2] = g;
  45763. c[s >> 2] = h;
  45764. c[t >> 2] = i;
  45765. c[u >> 2] = j;
  45766. c[v >> 2] = k;
  45767. c[w >> 2] = m;
  45768. c[x >> 2] = n;
  45769. b[y >> 1] = o;
  45770. o = A;
  45771. n = c[t >> 2] | 0;
  45772. t = (o + 52) | 0;
  45773. do {
  45774. c[o >> 2] = c[n >> 2];
  45775. o = (o + 4) | 0;
  45776. n = (n + 4) | 0;
  45777. } while ((o | 0) < (t | 0));
  45778. a: do {
  45779. if ((c[u >> 2] | 0) > 1) {
  45780. c[C >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
  45781. Ep(z, b[y >> 1] | 0);
  45782. a[(z + 2) >> 0] = c[s >> 2];
  45783. a[(z + 3) >> 0] = 1;
  45784. c[B >> 2] = 0;
  45785. while (1) {
  45786. if ((c[B >> 2] | 0) >>> 0 >= (c[C >> 2] | 0) >>> 0)
  45787. break a;
  45788. n = ((c[q >> 2] | 0) + (c[B >> 2] << 2)) | 0;
  45789. b[n >> 1] = b[z >> 1] | 0;
  45790. b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
  45791. c[B >> 2] = (c[B >> 2] | 0) + 1;
  45792. }
  45793. }
  45794. } while (0);
  45795. c[D >> 2] = 0;
  45796. while (1) {
  45797. if ((c[D >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  45798. c[E >> 2] = d[((c[v >> 2] | 0) + (c[D >> 2] << 1)) >> 0];
  45799. c[F >> 2] =
  45800. d[((c[v >> 2] | 0) + (c[D >> 2] << 1) + 1) >> 0];
  45801. c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
  45802. c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
  45803. c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
  45804. c[J >> 2] = c[I >> 2];
  45805. c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
  45806. Ep(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
  45807. a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
  45808. a[(z + 3) >> 0] = 2;
  45809. do {
  45810. B = c[q >> 2] | 0;
  45811. C = c[J >> 2] | 0;
  45812. c[J >> 2] = C + 1;
  45813. u = (B + (C << 2)) | 0;
  45814. b[u >> 1] = b[z >> 1] | 0;
  45815. b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
  45816. } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
  45817. u = (A + (c[F >> 2] << 2)) | 0;
  45818. c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
  45819. c[D >> 2] = (c[D >> 2] | 0) + 1;
  45820. }
  45821. l = p;
  45822. return;
  45823. }
  45824. function Ep(d, f) {
  45825. d = d | 0;
  45826. f = f | 0;
  45827. var g = 0,
  45828. h = 0,
  45829. i = 0,
  45830. j = 0;
  45831. g = l;
  45832. l = (l + 16) | 0;
  45833. h = (g + 4) | 0;
  45834. i = (g + 8) | 0;
  45835. j = g;
  45836. c[h >> 2] = d;
  45837. b[i >> 1] = f;
  45838. f = (pp() | 0) != 0;
  45839. d = c[h >> 2] | 0;
  45840. if (f) {
  45841. Fp(d, b[i >> 1] | 0);
  45842. l = g;
  45843. return;
  45844. } else {
  45845. c[j >> 2] = d;
  45846. a[c[j >> 2] >> 0] = b[i >> 1];
  45847. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  45848. l = g;
  45849. return;
  45850. }
  45851. }
  45852. function Fp(d, e) {
  45853. d = d | 0;
  45854. e = e | 0;
  45855. var f = 0,
  45856. g = 0,
  45857. h = 0;
  45858. f = l;
  45859. l = (l + 16) | 0;
  45860. g = f;
  45861. h = (f + 4) | 0;
  45862. c[g >> 2] = d;
  45863. b[h >> 1] = e;
  45864. e = b[h >> 1] | 0;
  45865. h = c[g >> 2] | 0;
  45866. a[h >> 0] = e;
  45867. a[(h + 1) >> 0] = e >> 8;
  45868. l = f;
  45869. return;
  45870. }
  45871. function Gp(a, b, d, e, f, g) {
  45872. a = a | 0;
  45873. b = b | 0;
  45874. d = d | 0;
  45875. e = e | 0;
  45876. f = f | 0;
  45877. g = g | 0;
  45878. var h = 0,
  45879. i = 0,
  45880. j = 0,
  45881. k = 0,
  45882. m = 0,
  45883. n = 0,
  45884. o = 0,
  45885. p = 0,
  45886. q = 0;
  45887. h = l;
  45888. l = (l + 32) | 0;
  45889. i = (h + 24) | 0;
  45890. j = (h + 20) | 0;
  45891. k = (h + 16) | 0;
  45892. m = (h + 12) | 0;
  45893. n = (h + 8) | 0;
  45894. o = (h + 4) | 0;
  45895. p = h;
  45896. c[j >> 2] = a;
  45897. c[k >> 2] = b;
  45898. c[m >> 2] = d;
  45899. c[n >> 2] = e;
  45900. c[o >> 2] = f;
  45901. c[p >> 2] = g;
  45902. g = c[j >> 2] | 0;
  45903. j = c[k >> 2] | 0;
  45904. k = c[m >> 2] | 0;
  45905. m = c[n >> 2] | 0;
  45906. n = c[o >> 2] | 0;
  45907. if (c[p >> 2] | 0) {
  45908. c[i >> 2] = Hp(g, j, k, m, n) | 0;
  45909. q = c[i >> 2] | 0;
  45910. l = h;
  45911. return q | 0;
  45912. } else {
  45913. c[i >> 2] = Ip(g, j, k, m, n) | 0;
  45914. q = c[i >> 2] | 0;
  45915. l = h;
  45916. return q | 0;
  45917. }
  45918. return 0;
  45919. }
  45920. function Hp(b, e, f, g, h) {
  45921. b = b | 0;
  45922. e = e | 0;
  45923. f = f | 0;
  45924. g = g | 0;
  45925. h = h | 0;
  45926. var i = 0,
  45927. j = 0,
  45928. k = 0,
  45929. m = 0,
  45930. n = 0,
  45931. o = 0,
  45932. p = 0,
  45933. q = 0,
  45934. r = 0,
  45935. s = 0,
  45936. t = 0,
  45937. u = 0,
  45938. v = 0,
  45939. w = 0,
  45940. x = 0,
  45941. y = 0,
  45942. z = 0,
  45943. A = 0,
  45944. B = 0,
  45945. C = 0,
  45946. D = 0,
  45947. E = 0,
  45948. F = 0,
  45949. G = 0,
  45950. H = 0,
  45951. I = 0,
  45952. J = 0,
  45953. K = 0,
  45954. L = 0,
  45955. M = 0,
  45956. N = 0,
  45957. O = 0,
  45958. P = 0,
  45959. Q = 0,
  45960. R = 0,
  45961. S = 0,
  45962. T = 0,
  45963. U = 0,
  45964. V = 0,
  45965. W = 0,
  45966. X = 0,
  45967. Y = 0,
  45968. Z = 0,
  45969. _ = 0,
  45970. $ = 0,
  45971. aa = 0,
  45972. ba = 0,
  45973. ca = 0,
  45974. da = 0,
  45975. ea = 0,
  45976. fa = 0,
  45977. ga = 0,
  45978. ha = 0,
  45979. ia = 0,
  45980. ja = 0,
  45981. ka = 0,
  45982. la = 0,
  45983. ma = 0,
  45984. na = 0,
  45985. oa = 0,
  45986. pa = 0;
  45987. i = l;
  45988. l = (l + 256) | 0;
  45989. j = (i + 244) | 0;
  45990. k = (i + 240) | 0;
  45991. m = (i + 236) | 0;
  45992. n = (i + 232) | 0;
  45993. o = (i + 228) | 0;
  45994. p = (i + 224) | 0;
  45995. q = (i + 220) | 0;
  45996. r = (i + 216) | 0;
  45997. s = (i + 212) | 0;
  45998. t = (i + 208) | 0;
  45999. u = (i + 204) | 0;
  46000. v = (i + 200) | 0;
  46001. w = (i + 196) | 0;
  46002. x = (i + 192) | 0;
  46003. y = (i + 188) | 0;
  46004. z = (i + 184) | 0;
  46005. A = (i + 180) | 0;
  46006. B = (i + 176) | 0;
  46007. C = (i + 172) | 0;
  46008. D = (i + 168) | 0;
  46009. E = (i + 164) | 0;
  46010. F = (i + 160) | 0;
  46011. G = (i + 156) | 0;
  46012. H = (i + 152) | 0;
  46013. I = (i + 148) | 0;
  46014. J = (i + 144) | 0;
  46015. K = (i + 140) | 0;
  46016. L = (i + 136) | 0;
  46017. M = (i + 132) | 0;
  46018. N = (i + 128) | 0;
  46019. O = (i + 124) | 0;
  46020. P = (i + 120) | 0;
  46021. Q = (i + 116) | 0;
  46022. R = (i + 112) | 0;
  46023. S = (i + 108) | 0;
  46024. T = (i + 104) | 0;
  46025. U = (i + 100) | 0;
  46026. V = (i + 96) | 0;
  46027. W = (i + 92) | 0;
  46028. X = (i + 88) | 0;
  46029. Y = (i + 80) | 0;
  46030. Z = (i + 76) | 0;
  46031. _ = (i + 72) | 0;
  46032. $ = (i + 68) | 0;
  46033. aa = (i + 64) | 0;
  46034. ba = (i + 60) | 0;
  46035. ca = (i + 40) | 0;
  46036. da = (i + 36) | 0;
  46037. ea = (i + 32) | 0;
  46038. fa = (i + 28) | 0;
  46039. ga = (i + 24) | 0;
  46040. ha = (i + 20) | 0;
  46041. ia = (i + 248) | 0;
  46042. ja = (i + 16) | 0;
  46043. ka = (i + 12) | 0;
  46044. la = (i + 8) | 0;
  46045. ma = (i + 4) | 0;
  46046. na = i;
  46047. c[ja >> 2] = b;
  46048. c[ka >> 2] = e;
  46049. c[la >> 2] = f;
  46050. c[ma >> 2] = g;
  46051. c[na >> 2] = h;
  46052. h = c[ka >> 2] | 0;
  46053. ka = c[la >> 2] | 0;
  46054. la = c[ma >> 2] | 0;
  46055. ma = c[na >> 2] | 0;
  46056. c[Z >> 2] = c[ja >> 2];
  46057. c[_ >> 2] = h;
  46058. c[$ >> 2] = ka;
  46059. c[aa >> 2] = la;
  46060. c[ba >> 2] = ma;
  46061. c[da >> 2] = fp(ca, c[$ >> 2] | 0, c[aa >> 2] | 0) | 0;
  46062. if (ap(c[da >> 2] | 0) | 0) {
  46063. c[Y >> 2] = c[da >> 2];
  46064. oa = c[Y >> 2] | 0;
  46065. l = i;
  46066. return oa | 0;
  46067. }
  46068. c[ea >> 2] = c[Z >> 2];
  46069. c[fa >> 2] = (c[ea >> 2] | 0) + (c[_ >> 2] | 0);
  46070. c[ga >> 2] = (c[ba >> 2] | 0) + 4;
  46071. c[ha >> 2] = c[ga >> 2];
  46072. bp(ia, c[ba >> 2] | 0);
  46073. ba = c[fa >> 2] | 0;
  46074. fa = c[ha >> 2] | 0;
  46075. ha = d[(ia + 2) >> 0] | 0;
  46076. c[T >> 2] = c[ea >> 2];
  46077. c[U >> 2] = ca;
  46078. c[V >> 2] = ba;
  46079. c[W >> 2] = fa;
  46080. c[X >> 2] = ha;
  46081. c[(i + 84) >> 2] = c[T >> 2];
  46082. while (1) {
  46083. ha = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  46084. if (
  46085. !(
  46086. ha &
  46087. ((c[T >> 2] | 0) >>> 0 <
  46088. (((c[V >> 2] | 0) + -3) | 0) >>> 0)
  46089. )
  46090. )
  46091. break;
  46092. if (hp() | 0) {
  46093. ha = c[U >> 2] | 0;
  46094. fa = c[W >> 2] | 0;
  46095. ba = c[X >> 2] | 0;
  46096. c[O >> 2] = c[T >> 2];
  46097. c[P >> 2] = ha;
  46098. c[Q >> 2] = fa;
  46099. c[R >> 2] = ba;
  46100. c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
  46101. ba = c[O >> 2] | 0;
  46102. fa = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
  46103. a[ba >> 0] = a[fa >> 0] | 0;
  46104. a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
  46105. jp(
  46106. c[P >> 2] | 0,
  46107. d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
  46108. );
  46109. c[T >> 2] =
  46110. (c[T >> 2] | 0) +
  46111. (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
  46112. }
  46113. hp() | 0;
  46114. fa = c[U >> 2] | 0;
  46115. ba = c[W >> 2] | 0;
  46116. ha = c[X >> 2] | 0;
  46117. c[J >> 2] = c[T >> 2];
  46118. c[K >> 2] = fa;
  46119. c[L >> 2] = ba;
  46120. c[M >> 2] = ha;
  46121. c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
  46122. ha = c[J >> 2] | 0;
  46123. ba = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
  46124. a[ha >> 0] = a[ba >> 0] | 0;
  46125. a[(ha + 1) >> 0] = a[(ba + 1) >> 0] | 0;
  46126. jp(
  46127. c[K >> 2] | 0,
  46128. d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
  46129. );
  46130. c[T >> 2] =
  46131. (c[T >> 2] | 0) +
  46132. (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
  46133. if (hp() | 0) {
  46134. ba = c[U >> 2] | 0;
  46135. ha = c[W >> 2] | 0;
  46136. fa = c[X >> 2] | 0;
  46137. c[E >> 2] = c[T >> 2];
  46138. c[F >> 2] = ba;
  46139. c[G >> 2] = ha;
  46140. c[H >> 2] = fa;
  46141. c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
  46142. fa = c[E >> 2] | 0;
  46143. ha = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
  46144. a[fa >> 0] = a[ha >> 0] | 0;
  46145. a[(fa + 1) >> 0] = a[(ha + 1) >> 0] | 0;
  46146. jp(
  46147. c[F >> 2] | 0,
  46148. d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
  46149. );
  46150. c[T >> 2] =
  46151. (c[T >> 2] | 0) +
  46152. (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
  46153. }
  46154. ha = c[U >> 2] | 0;
  46155. fa = c[W >> 2] | 0;
  46156. ba = c[X >> 2] | 0;
  46157. c[z >> 2] = c[T >> 2];
  46158. c[A >> 2] = ha;
  46159. c[B >> 2] = fa;
  46160. c[C >> 2] = ba;
  46161. c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
  46162. ba = c[z >> 2] | 0;
  46163. fa = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  46164. a[ba >> 0] = a[fa >> 0] | 0;
  46165. a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
  46166. jp(
  46167. c[A >> 2] | 0,
  46168. d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
  46169. );
  46170. c[T >> 2] =
  46171. (c[T >> 2] | 0) +
  46172. (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
  46173. }
  46174. while (1) {
  46175. D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  46176. if (
  46177. !(
  46178. D &
  46179. ((c[T >> 2] | 0) >>> 0 <=
  46180. (((c[V >> 2] | 0) + -2) | 0) >>> 0)
  46181. )
  46182. )
  46183. break;
  46184. D = c[U >> 2] | 0;
  46185. B = c[W >> 2] | 0;
  46186. A = c[X >> 2] | 0;
  46187. c[u >> 2] = c[T >> 2];
  46188. c[v >> 2] = D;
  46189. c[w >> 2] = B;
  46190. c[x >> 2] = A;
  46191. c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
  46192. A = c[u >> 2] | 0;
  46193. B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
  46194. a[A >> 0] = a[B >> 0] | 0;
  46195. a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
  46196. jp(
  46197. c[v >> 2] | 0,
  46198. d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
  46199. );
  46200. c[T >> 2] =
  46201. (c[T >> 2] | 0) +
  46202. (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
  46203. }
  46204. while (1) {
  46205. pa = c[T >> 2] | 0;
  46206. if (
  46207. (c[T >> 2] | 0) >>> 0 >
  46208. (((c[V >> 2] | 0) + -2) | 0) >>> 0
  46209. )
  46210. break;
  46211. y = c[U >> 2] | 0;
  46212. w = c[W >> 2] | 0;
  46213. v = c[X >> 2] | 0;
  46214. c[p >> 2] = pa;
  46215. c[q >> 2] = y;
  46216. c[r >> 2] = w;
  46217. c[s >> 2] = v;
  46218. c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
  46219. v = c[p >> 2] | 0;
  46220. w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
  46221. a[v >> 0] = a[w >> 0] | 0;
  46222. a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
  46223. jp(
  46224. c[q >> 2] | 0,
  46225. d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
  46226. );
  46227. c[T >> 2] =
  46228. (c[T >> 2] | 0) +
  46229. (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
  46230. }
  46231. if (pa >>> 0 < (c[V >> 2] | 0) >>> 0) {
  46232. V = c[U >> 2] | 0;
  46233. U = c[W >> 2] | 0;
  46234. W = c[X >> 2] | 0;
  46235. c[j >> 2] = c[T >> 2];
  46236. c[k >> 2] = V;
  46237. c[m >> 2] = U;
  46238. c[n >> 2] = W;
  46239. c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
  46240. a[c[j >> 2] >> 0] =
  46241. a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
  46242. j = c[k >> 2] | 0;
  46243. if (
  46244. (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
  46245. 0 |
  46246. 0) !=
  46247. 1
  46248. ) {
  46249. if (
  46250. (c[(j + 4) >> 2] | 0) >>> 0 < 32
  46251. ? (jp(
  46252. c[k >> 2] | 0,
  46253. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
  46254. 0
  46255. ),
  46256. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  46257. : 0
  46258. )
  46259. c[((c[k >> 2] | 0) + 4) >> 2] = 32;
  46260. } else
  46261. jp(
  46262. j,
  46263. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
  46264. );
  46265. c[T >> 2] = (c[T >> 2] | 0) + 1;
  46266. }
  46267. if (lp(ca) | 0) {
  46268. c[Y >> 2] = c[_ >> 2];
  46269. oa = c[Y >> 2] | 0;
  46270. l = i;
  46271. return oa | 0;
  46272. } else {
  46273. c[Y >> 2] = -20;
  46274. oa = c[Y >> 2] | 0;
  46275. l = i;
  46276. return oa | 0;
  46277. }
  46278. return 0;
  46279. }
  46280. function Ip(b, e, f, g, h) {
  46281. b = b | 0;
  46282. e = e | 0;
  46283. f = f | 0;
  46284. g = g | 0;
  46285. h = h | 0;
  46286. var i = 0,
  46287. j = 0,
  46288. k = 0,
  46289. m = 0,
  46290. n = 0,
  46291. o = 0,
  46292. p = 0,
  46293. q = 0,
  46294. r = 0,
  46295. s = 0,
  46296. t = 0,
  46297. u = 0,
  46298. v = 0,
  46299. w = 0,
  46300. x = 0,
  46301. y = 0,
  46302. z = 0,
  46303. A = 0,
  46304. B = 0,
  46305. C = 0,
  46306. D = 0,
  46307. E = 0,
  46308. F = 0,
  46309. G = 0,
  46310. H = 0,
  46311. I = 0,
  46312. J = 0,
  46313. K = 0,
  46314. L = 0,
  46315. M = 0,
  46316. N = 0,
  46317. O = 0,
  46318. P = 0,
  46319. Q = 0,
  46320. R = 0,
  46321. S = 0,
  46322. T = 0,
  46323. U = 0,
  46324. V = 0,
  46325. W = 0,
  46326. X = 0,
  46327. Y = 0,
  46328. Z = 0,
  46329. _ = 0,
  46330. $ = 0,
  46331. aa = 0,
  46332. ba = 0,
  46333. ca = 0,
  46334. da = 0,
  46335. ea = 0,
  46336. fa = 0,
  46337. ga = 0,
  46338. ha = 0,
  46339. ia = 0,
  46340. ja = 0,
  46341. ka = 0,
  46342. la = 0,
  46343. ma = 0,
  46344. na = 0,
  46345. oa = 0,
  46346. pa = 0;
  46347. i = l;
  46348. l = (l + 256) | 0;
  46349. j = (i + 244) | 0;
  46350. k = (i + 240) | 0;
  46351. m = (i + 236) | 0;
  46352. n = (i + 232) | 0;
  46353. o = (i + 228) | 0;
  46354. p = (i + 224) | 0;
  46355. q = (i + 220) | 0;
  46356. r = (i + 216) | 0;
  46357. s = (i + 212) | 0;
  46358. t = (i + 208) | 0;
  46359. u = (i + 204) | 0;
  46360. v = (i + 200) | 0;
  46361. w = (i + 196) | 0;
  46362. x = (i + 192) | 0;
  46363. y = (i + 188) | 0;
  46364. z = (i + 184) | 0;
  46365. A = (i + 180) | 0;
  46366. B = (i + 176) | 0;
  46367. C = (i + 172) | 0;
  46368. D = (i + 168) | 0;
  46369. E = (i + 164) | 0;
  46370. F = (i + 160) | 0;
  46371. G = (i + 156) | 0;
  46372. H = (i + 152) | 0;
  46373. I = (i + 148) | 0;
  46374. J = (i + 144) | 0;
  46375. K = (i + 140) | 0;
  46376. L = (i + 136) | 0;
  46377. M = (i + 132) | 0;
  46378. N = (i + 128) | 0;
  46379. O = (i + 124) | 0;
  46380. P = (i + 120) | 0;
  46381. Q = (i + 116) | 0;
  46382. R = (i + 112) | 0;
  46383. S = (i + 108) | 0;
  46384. T = (i + 104) | 0;
  46385. U = (i + 100) | 0;
  46386. V = (i + 96) | 0;
  46387. W = (i + 92) | 0;
  46388. X = (i + 88) | 0;
  46389. Y = (i + 80) | 0;
  46390. Z = (i + 76) | 0;
  46391. _ = (i + 72) | 0;
  46392. $ = (i + 68) | 0;
  46393. aa = (i + 64) | 0;
  46394. ba = (i + 60) | 0;
  46395. ca = (i + 40) | 0;
  46396. da = (i + 36) | 0;
  46397. ea = (i + 32) | 0;
  46398. fa = (i + 28) | 0;
  46399. ga = (i + 24) | 0;
  46400. ha = (i + 20) | 0;
  46401. ia = (i + 248) | 0;
  46402. ja = (i + 16) | 0;
  46403. ka = (i + 12) | 0;
  46404. la = (i + 8) | 0;
  46405. ma = (i + 4) | 0;
  46406. na = i;
  46407. c[ja >> 2] = b;
  46408. c[ka >> 2] = e;
  46409. c[la >> 2] = f;
  46410. c[ma >> 2] = g;
  46411. c[na >> 2] = h;
  46412. h = c[ka >> 2] | 0;
  46413. ka = c[la >> 2] | 0;
  46414. la = c[ma >> 2] | 0;
  46415. ma = c[na >> 2] | 0;
  46416. c[Z >> 2] = c[ja >> 2];
  46417. c[_ >> 2] = h;
  46418. c[$ >> 2] = ka;
  46419. c[aa >> 2] = la;
  46420. c[ba >> 2] = ma;
  46421. c[da >> 2] = fp(ca, c[$ >> 2] | 0, c[aa >> 2] | 0) | 0;
  46422. if (ap(c[da >> 2] | 0) | 0) {
  46423. c[Y >> 2] = c[da >> 2];
  46424. oa = c[Y >> 2] | 0;
  46425. l = i;
  46426. return oa | 0;
  46427. }
  46428. c[ea >> 2] = c[Z >> 2];
  46429. c[fa >> 2] = (c[ea >> 2] | 0) + (c[_ >> 2] | 0);
  46430. c[ga >> 2] = (c[ba >> 2] | 0) + 4;
  46431. c[ha >> 2] = c[ga >> 2];
  46432. bp(ia, c[ba >> 2] | 0);
  46433. ba = c[fa >> 2] | 0;
  46434. fa = c[ha >> 2] | 0;
  46435. ha = d[(ia + 2) >> 0] | 0;
  46436. c[T >> 2] = c[ea >> 2];
  46437. c[U >> 2] = ca;
  46438. c[V >> 2] = ba;
  46439. c[W >> 2] = fa;
  46440. c[X >> 2] = ha;
  46441. c[(i + 84) >> 2] = c[T >> 2];
  46442. while (1) {
  46443. ha = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  46444. if (
  46445. !(
  46446. ha &
  46447. ((c[T >> 2] | 0) >>> 0 <
  46448. (((c[V >> 2] | 0) + -3) | 0) >>> 0)
  46449. )
  46450. )
  46451. break;
  46452. if (hp() | 0) {
  46453. ha = c[U >> 2] | 0;
  46454. fa = c[W >> 2] | 0;
  46455. ba = c[X >> 2] | 0;
  46456. c[O >> 2] = c[T >> 2];
  46457. c[P >> 2] = ha;
  46458. c[Q >> 2] = fa;
  46459. c[R >> 2] = ba;
  46460. c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
  46461. ba = c[O >> 2] | 0;
  46462. fa = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
  46463. a[ba >> 0] = a[fa >> 0] | 0;
  46464. a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
  46465. jp(
  46466. c[P >> 2] | 0,
  46467. d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
  46468. );
  46469. c[T >> 2] =
  46470. (c[T >> 2] | 0) +
  46471. (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
  46472. }
  46473. hp() | 0;
  46474. fa = c[U >> 2] | 0;
  46475. ba = c[W >> 2] | 0;
  46476. ha = c[X >> 2] | 0;
  46477. c[J >> 2] = c[T >> 2];
  46478. c[K >> 2] = fa;
  46479. c[L >> 2] = ba;
  46480. c[M >> 2] = ha;
  46481. c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
  46482. ha = c[J >> 2] | 0;
  46483. ba = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
  46484. a[ha >> 0] = a[ba >> 0] | 0;
  46485. a[(ha + 1) >> 0] = a[(ba + 1) >> 0] | 0;
  46486. jp(
  46487. c[K >> 2] | 0,
  46488. d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
  46489. );
  46490. c[T >> 2] =
  46491. (c[T >> 2] | 0) +
  46492. (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
  46493. if (hp() | 0) {
  46494. ba = c[U >> 2] | 0;
  46495. ha = c[W >> 2] | 0;
  46496. fa = c[X >> 2] | 0;
  46497. c[E >> 2] = c[T >> 2];
  46498. c[F >> 2] = ba;
  46499. c[G >> 2] = ha;
  46500. c[H >> 2] = fa;
  46501. c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
  46502. fa = c[E >> 2] | 0;
  46503. ha = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
  46504. a[fa >> 0] = a[ha >> 0] | 0;
  46505. a[(fa + 1) >> 0] = a[(ha + 1) >> 0] | 0;
  46506. jp(
  46507. c[F >> 2] | 0,
  46508. d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
  46509. );
  46510. c[T >> 2] =
  46511. (c[T >> 2] | 0) +
  46512. (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
  46513. }
  46514. ha = c[U >> 2] | 0;
  46515. fa = c[W >> 2] | 0;
  46516. ba = c[X >> 2] | 0;
  46517. c[z >> 2] = c[T >> 2];
  46518. c[A >> 2] = ha;
  46519. c[B >> 2] = fa;
  46520. c[C >> 2] = ba;
  46521. c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
  46522. ba = c[z >> 2] | 0;
  46523. fa = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  46524. a[ba >> 0] = a[fa >> 0] | 0;
  46525. a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
  46526. jp(
  46527. c[A >> 2] | 0,
  46528. d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
  46529. );
  46530. c[T >> 2] =
  46531. (c[T >> 2] | 0) +
  46532. (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
  46533. }
  46534. while (1) {
  46535. D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  46536. if (
  46537. !(
  46538. D &
  46539. ((c[T >> 2] | 0) >>> 0 <=
  46540. (((c[V >> 2] | 0) + -2) | 0) >>> 0)
  46541. )
  46542. )
  46543. break;
  46544. D = c[U >> 2] | 0;
  46545. B = c[W >> 2] | 0;
  46546. A = c[X >> 2] | 0;
  46547. c[u >> 2] = c[T >> 2];
  46548. c[v >> 2] = D;
  46549. c[w >> 2] = B;
  46550. c[x >> 2] = A;
  46551. c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
  46552. A = c[u >> 2] | 0;
  46553. B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
  46554. a[A >> 0] = a[B >> 0] | 0;
  46555. a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
  46556. jp(
  46557. c[v >> 2] | 0,
  46558. d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
  46559. );
  46560. c[T >> 2] =
  46561. (c[T >> 2] | 0) +
  46562. (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
  46563. }
  46564. while (1) {
  46565. pa = c[T >> 2] | 0;
  46566. if (
  46567. (c[T >> 2] | 0) >>> 0 >
  46568. (((c[V >> 2] | 0) + -2) | 0) >>> 0
  46569. )
  46570. break;
  46571. y = c[U >> 2] | 0;
  46572. w = c[W >> 2] | 0;
  46573. v = c[X >> 2] | 0;
  46574. c[p >> 2] = pa;
  46575. c[q >> 2] = y;
  46576. c[r >> 2] = w;
  46577. c[s >> 2] = v;
  46578. c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
  46579. v = c[p >> 2] | 0;
  46580. w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
  46581. a[v >> 0] = a[w >> 0] | 0;
  46582. a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
  46583. jp(
  46584. c[q >> 2] | 0,
  46585. d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
  46586. );
  46587. c[T >> 2] =
  46588. (c[T >> 2] | 0) +
  46589. (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
  46590. }
  46591. if (pa >>> 0 < (c[V >> 2] | 0) >>> 0) {
  46592. V = c[U >> 2] | 0;
  46593. U = c[W >> 2] | 0;
  46594. W = c[X >> 2] | 0;
  46595. c[j >> 2] = c[T >> 2];
  46596. c[k >> 2] = V;
  46597. c[m >> 2] = U;
  46598. c[n >> 2] = W;
  46599. c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
  46600. a[c[j >> 2] >> 0] =
  46601. a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
  46602. j = c[k >> 2] | 0;
  46603. if (
  46604. (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
  46605. 0 |
  46606. 0) !=
  46607. 1
  46608. ) {
  46609. if (
  46610. (c[(j + 4) >> 2] | 0) >>> 0 < 32
  46611. ? (jp(
  46612. c[k >> 2] | 0,
  46613. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
  46614. 0
  46615. ),
  46616. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  46617. : 0
  46618. )
  46619. c[((c[k >> 2] | 0) + 4) >> 2] = 32;
  46620. } else
  46621. jp(
  46622. j,
  46623. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
  46624. );
  46625. c[T >> 2] = (c[T >> 2] | 0) + 1;
  46626. }
  46627. if (lp(ca) | 0) {
  46628. c[Y >> 2] = c[_ >> 2];
  46629. oa = c[Y >> 2] | 0;
  46630. l = i;
  46631. return oa | 0;
  46632. } else {
  46633. c[Y >> 2] = -20;
  46634. oa = c[Y >> 2] | 0;
  46635. l = i;
  46636. return oa | 0;
  46637. }
  46638. return 0;
  46639. }
  46640. function Jp(a, b, d, e, f, g) {
  46641. a = a | 0;
  46642. b = b | 0;
  46643. d = d | 0;
  46644. e = e | 0;
  46645. f = f | 0;
  46646. g = g | 0;
  46647. var h = 0,
  46648. i = 0,
  46649. j = 0,
  46650. k = 0,
  46651. m = 0,
  46652. n = 0,
  46653. o = 0,
  46654. p = 0,
  46655. q = 0;
  46656. h = l;
  46657. l = (l + 32) | 0;
  46658. i = (h + 24) | 0;
  46659. j = (h + 20) | 0;
  46660. k = (h + 16) | 0;
  46661. m = (h + 12) | 0;
  46662. n = (h + 8) | 0;
  46663. o = (h + 4) | 0;
  46664. p = h;
  46665. c[j >> 2] = a;
  46666. c[k >> 2] = b;
  46667. c[m >> 2] = d;
  46668. c[n >> 2] = e;
  46669. c[o >> 2] = f;
  46670. c[p >> 2] = g;
  46671. g = c[j >> 2] | 0;
  46672. j = c[k >> 2] | 0;
  46673. k = c[m >> 2] | 0;
  46674. m = c[n >> 2] | 0;
  46675. n = c[o >> 2] | 0;
  46676. if (c[p >> 2] | 0) {
  46677. c[i >> 2] = Kp(g, j, k, m, n) | 0;
  46678. q = c[i >> 2] | 0;
  46679. l = h;
  46680. return q | 0;
  46681. } else {
  46682. c[i >> 2] = Lp(g, j, k, m, n) | 0;
  46683. q = c[i >> 2] | 0;
  46684. l = h;
  46685. return q | 0;
  46686. }
  46687. return 0;
  46688. }
  46689. function Kp(b, e, f, g, h) {
  46690. b = b | 0;
  46691. e = e | 0;
  46692. f = f | 0;
  46693. g = g | 0;
  46694. h = h | 0;
  46695. var i = 0,
  46696. j = 0,
  46697. k = 0,
  46698. m = 0,
  46699. n = 0,
  46700. o = 0,
  46701. p = 0,
  46702. q = 0,
  46703. r = 0,
  46704. s = 0,
  46705. t = 0,
  46706. u = 0,
  46707. v = 0,
  46708. w = 0,
  46709. x = 0,
  46710. y = 0,
  46711. z = 0,
  46712. A = 0,
  46713. B = 0,
  46714. C = 0,
  46715. D = 0,
  46716. E = 0,
  46717. F = 0,
  46718. G = 0,
  46719. H = 0,
  46720. I = 0,
  46721. J = 0,
  46722. K = 0,
  46723. L = 0,
  46724. M = 0,
  46725. N = 0,
  46726. O = 0,
  46727. P = 0,
  46728. Q = 0,
  46729. R = 0,
  46730. S = 0,
  46731. T = 0,
  46732. U = 0,
  46733. V = 0,
  46734. W = 0,
  46735. X = 0,
  46736. Y = 0,
  46737. Z = 0,
  46738. _ = 0,
  46739. $ = 0,
  46740. aa = 0,
  46741. ba = 0,
  46742. ca = 0,
  46743. da = 0,
  46744. ea = 0,
  46745. fa = 0,
  46746. ga = 0,
  46747. ha = 0,
  46748. ia = 0,
  46749. ja = 0,
  46750. ka = 0,
  46751. la = 0,
  46752. ma = 0,
  46753. na = 0,
  46754. oa = 0,
  46755. pa = 0,
  46756. qa = 0,
  46757. ra = 0,
  46758. sa = 0,
  46759. ta = 0,
  46760. ua = 0,
  46761. va = 0,
  46762. wa = 0,
  46763. xa = 0,
  46764. ya = 0,
  46765. za = 0,
  46766. Aa = 0,
  46767. Ba = 0,
  46768. Ca = 0,
  46769. Da = 0,
  46770. Ea = 0,
  46771. Fa = 0,
  46772. Ga = 0,
  46773. Ha = 0,
  46774. Ia = 0,
  46775. Ja = 0,
  46776. Ka = 0,
  46777. La = 0,
  46778. Ma = 0,
  46779. Na = 0,
  46780. Oa = 0,
  46781. Pa = 0,
  46782. Qa = 0,
  46783. Ra = 0,
  46784. Sa = 0,
  46785. Ta = 0,
  46786. Ua = 0,
  46787. Va = 0,
  46788. Wa = 0,
  46789. Xa = 0,
  46790. Ya = 0,
  46791. Za = 0,
  46792. _a = 0,
  46793. $a = 0,
  46794. ab = 0,
  46795. bb = 0,
  46796. cb = 0,
  46797. db = 0,
  46798. eb = 0,
  46799. fb = 0,
  46800. gb = 0,
  46801. hb = 0,
  46802. ib = 0,
  46803. jb = 0,
  46804. kb = 0,
  46805. lb = 0,
  46806. mb = 0,
  46807. nb = 0,
  46808. ob = 0,
  46809. pb = 0,
  46810. qb = 0,
  46811. rb = 0,
  46812. sb = 0,
  46813. tb = 0,
  46814. ub = 0,
  46815. vb = 0,
  46816. wb = 0,
  46817. xb = 0,
  46818. yb = 0,
  46819. zb = 0,
  46820. Ab = 0,
  46821. Bb = 0,
  46822. Cb = 0,
  46823. Db = 0,
  46824. Eb = 0,
  46825. Fb = 0,
  46826. Gb = 0,
  46827. Hb = 0,
  46828. Ib = 0,
  46829. Jb = 0,
  46830. Kb = 0,
  46831. Lb = 0,
  46832. Mb = 0,
  46833. Nb = 0,
  46834. Ob = 0,
  46835. Pb = 0,
  46836. Qb = 0,
  46837. Rb = 0,
  46838. Sb = 0,
  46839. Tb = 0,
  46840. Ub = 0,
  46841. Vb = 0,
  46842. Wb = 0,
  46843. Xb = 0,
  46844. Yb = 0,
  46845. Zb = 0,
  46846. _b = 0,
  46847. $b = 0,
  46848. ac = 0,
  46849. bc = 0,
  46850. cc = 0,
  46851. dc = 0,
  46852. ec = 0,
  46853. fc = 0,
  46854. gc = 0,
  46855. hc = 0,
  46856. ic = 0,
  46857. jc = 0,
  46858. kc = 0,
  46859. lc = 0,
  46860. mc = 0,
  46861. nc = 0,
  46862. oc = 0,
  46863. pc = 0,
  46864. qc = 0,
  46865. rc = 0,
  46866. sc = 0,
  46867. tc = 0,
  46868. uc = 0,
  46869. vc = 0,
  46870. wc = 0,
  46871. xc = 0,
  46872. yc = 0,
  46873. zc = 0,
  46874. Ac = 0,
  46875. Bc = 0,
  46876. Cc = 0,
  46877. Dc = 0,
  46878. Ec = 0,
  46879. Fc = 0,
  46880. Gc = 0,
  46881. Hc = 0,
  46882. Ic = 0,
  46883. Jc = 0,
  46884. Kc = 0,
  46885. Lc = 0,
  46886. Mc = 0,
  46887. Nc = 0,
  46888. Oc = 0,
  46889. Pc = 0,
  46890. Qc = 0,
  46891. Rc = 0,
  46892. Sc = 0,
  46893. Tc = 0,
  46894. Uc = 0,
  46895. Vc = 0,
  46896. Wc = 0,
  46897. Xc = 0,
  46898. Yc = 0,
  46899. Zc = 0,
  46900. _c = 0,
  46901. $c = 0,
  46902. ad = 0,
  46903. bd = 0,
  46904. cd = 0,
  46905. dd = 0,
  46906. ed = 0,
  46907. fd = 0,
  46908. gd = 0,
  46909. hd = 0,
  46910. id = 0,
  46911. jd = 0,
  46912. kd = 0,
  46913. ld = 0,
  46914. md = 0,
  46915. nd = 0,
  46916. od = 0,
  46917. pd = 0,
  46918. qd = 0,
  46919. rd = 0,
  46920. sd = 0,
  46921. td = 0,
  46922. ud = 0,
  46923. vd = 0,
  46924. wd = 0,
  46925. xd = 0,
  46926. yd = 0,
  46927. zd = 0,
  46928. Ad = 0,
  46929. Bd = 0,
  46930. Cd = 0,
  46931. Dd = 0,
  46932. Ed = 0,
  46933. Fd = 0,
  46934. Gd = 0,
  46935. Hd = 0,
  46936. Id = 0,
  46937. Jd = 0,
  46938. Kd = 0,
  46939. Ld = 0,
  46940. Md = 0,
  46941. Nd = 0,
  46942. Od = 0,
  46943. Pd = 0,
  46944. Qd = 0,
  46945. Rd = 0,
  46946. Sd = 0,
  46947. Td = 0,
  46948. Ud = 0,
  46949. Vd = 0,
  46950. Wd = 0,
  46951. Xd = 0,
  46952. Yd = 0,
  46953. Zd = 0,
  46954. _d = 0,
  46955. $d = 0,
  46956. ae = 0,
  46957. be = 0,
  46958. ce = 0,
  46959. de = 0,
  46960. ee = 0,
  46961. fe = 0,
  46962. ge = 0,
  46963. he = 0,
  46964. ie = 0,
  46965. je = 0,
  46966. ke = 0,
  46967. le = 0,
  46968. me = 0,
  46969. ne = 0,
  46970. oe = 0,
  46971. pe = 0,
  46972. qe = 0,
  46973. re = 0,
  46974. se = 0,
  46975. te = 0,
  46976. ue = 0,
  46977. ve = 0,
  46978. we = 0,
  46979. xe = 0,
  46980. ye = 0,
  46981. ze = 0,
  46982. Ae = 0,
  46983. Be = 0,
  46984. Ce = 0,
  46985. De = 0,
  46986. Ee = 0,
  46987. Fe = 0,
  46988. Ge = 0;
  46989. i = l;
  46990. l = (l + 1216) | 0;
  46991. j = (i + 1208) | 0;
  46992. k = (i + 1204) | 0;
  46993. m = (i + 1200) | 0;
  46994. n = (i + 1196) | 0;
  46995. o = (i + 1192) | 0;
  46996. p = (i + 1188) | 0;
  46997. q = (i + 1184) | 0;
  46998. r = (i + 1180) | 0;
  46999. s = (i + 1176) | 0;
  47000. t = (i + 1172) | 0;
  47001. u = (i + 1168) | 0;
  47002. v = (i + 1164) | 0;
  47003. w = (i + 1160) | 0;
  47004. x = (i + 1156) | 0;
  47005. y = (i + 1152) | 0;
  47006. z = (i + 1148) | 0;
  47007. A = (i + 1144) | 0;
  47008. B = (i + 1140) | 0;
  47009. C = (i + 1136) | 0;
  47010. D = (i + 1132) | 0;
  47011. E = (i + 1128) | 0;
  47012. F = (i + 1124) | 0;
  47013. G = (i + 1120) | 0;
  47014. H = (i + 1116) | 0;
  47015. I = (i + 1112) | 0;
  47016. J = (i + 1108) | 0;
  47017. K = (i + 1104) | 0;
  47018. L = (i + 1100) | 0;
  47019. M = (i + 1096) | 0;
  47020. N = (i + 1092) | 0;
  47021. O = (i + 1088) | 0;
  47022. P = (i + 1084) | 0;
  47023. Q = (i + 1080) | 0;
  47024. R = (i + 1076) | 0;
  47025. S = (i + 1072) | 0;
  47026. T = (i + 1068) | 0;
  47027. U = (i + 1064) | 0;
  47028. V = (i + 1060) | 0;
  47029. W = (i + 1056) | 0;
  47030. X = (i + 1052) | 0;
  47031. Y = (i + 1048) | 0;
  47032. Z = (i + 1044) | 0;
  47033. _ = (i + 1040) | 0;
  47034. $ = (i + 1036) | 0;
  47035. aa = (i + 1032) | 0;
  47036. ba = (i + 1028) | 0;
  47037. ca = (i + 1024) | 0;
  47038. da = (i + 1020) | 0;
  47039. ea = (i + 1016) | 0;
  47040. fa = (i + 1012) | 0;
  47041. ga = (i + 1008) | 0;
  47042. ha = (i + 1004) | 0;
  47043. ia = (i + 1e3) | 0;
  47044. ja = (i + 996) | 0;
  47045. ka = (i + 992) | 0;
  47046. la = (i + 988) | 0;
  47047. ma = (i + 984) | 0;
  47048. na = (i + 980) | 0;
  47049. oa = (i + 976) | 0;
  47050. pa = (i + 972) | 0;
  47051. qa = (i + 968) | 0;
  47052. ra = (i + 964) | 0;
  47053. sa = (i + 960) | 0;
  47054. ta = (i + 956) | 0;
  47055. ua = (i + 952) | 0;
  47056. va = (i + 948) | 0;
  47057. wa = (i + 944) | 0;
  47058. xa = (i + 940) | 0;
  47059. ya = (i + 936) | 0;
  47060. za = (i + 932) | 0;
  47061. Aa = (i + 928) | 0;
  47062. Ba = (i + 924) | 0;
  47063. Ca = (i + 920) | 0;
  47064. Da = (i + 916) | 0;
  47065. Ea = (i + 912) | 0;
  47066. Fa = (i + 908) | 0;
  47067. Ga = (i + 904) | 0;
  47068. Ha = (i + 900) | 0;
  47069. Ia = (i + 896) | 0;
  47070. Ja = (i + 892) | 0;
  47071. Ka = (i + 888) | 0;
  47072. La = (i + 884) | 0;
  47073. Ma = (i + 880) | 0;
  47074. Na = (i + 876) | 0;
  47075. Oa = (i + 872) | 0;
  47076. Pa = (i + 868) | 0;
  47077. Qa = (i + 864) | 0;
  47078. Ra = (i + 860) | 0;
  47079. Sa = (i + 856) | 0;
  47080. Ta = (i + 852) | 0;
  47081. Ua = (i + 848) | 0;
  47082. Va = (i + 844) | 0;
  47083. Wa = (i + 840) | 0;
  47084. Xa = (i + 836) | 0;
  47085. Ya = (i + 832) | 0;
  47086. Za = (i + 828) | 0;
  47087. _a = (i + 824) | 0;
  47088. $a = (i + 820) | 0;
  47089. ab = (i + 816) | 0;
  47090. bb = (i + 812) | 0;
  47091. cb = (i + 808) | 0;
  47092. db = (i + 804) | 0;
  47093. eb = (i + 800) | 0;
  47094. fb = (i + 796) | 0;
  47095. gb = (i + 792) | 0;
  47096. hb = (i + 788) | 0;
  47097. ib = (i + 784) | 0;
  47098. jb = (i + 780) | 0;
  47099. kb = (i + 776) | 0;
  47100. lb = (i + 772) | 0;
  47101. mb = (i + 768) | 0;
  47102. nb = (i + 764) | 0;
  47103. ob = (i + 760) | 0;
  47104. pb = (i + 756) | 0;
  47105. qb = (i + 752) | 0;
  47106. rb = (i + 748) | 0;
  47107. sb = (i + 744) | 0;
  47108. tb = (i + 740) | 0;
  47109. ub = (i + 736) | 0;
  47110. vb = (i + 732) | 0;
  47111. wb = (i + 728) | 0;
  47112. xb = (i + 724) | 0;
  47113. yb = (i + 720) | 0;
  47114. zb = (i + 716) | 0;
  47115. Ab = (i + 712) | 0;
  47116. Bb = (i + 708) | 0;
  47117. Cb = (i + 704) | 0;
  47118. Db = (i + 700) | 0;
  47119. Eb = (i + 696) | 0;
  47120. Fb = (i + 692) | 0;
  47121. Gb = (i + 688) | 0;
  47122. Hb = (i + 684) | 0;
  47123. Ib = (i + 680) | 0;
  47124. Jb = (i + 676) | 0;
  47125. Kb = (i + 672) | 0;
  47126. Lb = (i + 668) | 0;
  47127. Mb = (i + 664) | 0;
  47128. Nb = (i + 660) | 0;
  47129. Ob = (i + 656) | 0;
  47130. Pb = (i + 652) | 0;
  47131. Qb = (i + 648) | 0;
  47132. Rb = (i + 644) | 0;
  47133. Sb = (i + 640) | 0;
  47134. Tb = (i + 636) | 0;
  47135. Ub = (i + 632) | 0;
  47136. Vb = (i + 628) | 0;
  47137. Wb = (i + 624) | 0;
  47138. Xb = (i + 620) | 0;
  47139. Yb = (i + 616) | 0;
  47140. Zb = (i + 612) | 0;
  47141. _b = (i + 608) | 0;
  47142. $b = (i + 604) | 0;
  47143. ac = (i + 600) | 0;
  47144. bc = (i + 596) | 0;
  47145. cc = (i + 592) | 0;
  47146. dc = (i + 588) | 0;
  47147. ec = (i + 584) | 0;
  47148. fc = (i + 580) | 0;
  47149. gc = (i + 576) | 0;
  47150. hc = (i + 572) | 0;
  47151. ic = (i + 568) | 0;
  47152. jc = (i + 564) | 0;
  47153. kc = (i + 560) | 0;
  47154. lc = (i + 556) | 0;
  47155. mc = (i + 552) | 0;
  47156. nc = (i + 548) | 0;
  47157. oc = (i + 544) | 0;
  47158. pc = (i + 540) | 0;
  47159. qc = (i + 536) | 0;
  47160. rc = (i + 532) | 0;
  47161. sc = (i + 528) | 0;
  47162. tc = (i + 524) | 0;
  47163. uc = (i + 520) | 0;
  47164. vc = (i + 516) | 0;
  47165. wc = (i + 512) | 0;
  47166. xc = (i + 508) | 0;
  47167. yc = (i + 504) | 0;
  47168. zc = (i + 500) | 0;
  47169. Ac = (i + 496) | 0;
  47170. Bc = (i + 492) | 0;
  47171. Cc = (i + 488) | 0;
  47172. Dc = (i + 484) | 0;
  47173. Ec = (i + 480) | 0;
  47174. Fc = (i + 476) | 0;
  47175. Gc = (i + 472) | 0;
  47176. Hc = (i + 468) | 0;
  47177. Ic = (i + 464) | 0;
  47178. Jc = (i + 460) | 0;
  47179. Kc = (i + 456) | 0;
  47180. Lc = (i + 452) | 0;
  47181. Mc = (i + 448) | 0;
  47182. Nc = (i + 444) | 0;
  47183. Oc = (i + 440) | 0;
  47184. Pc = (i + 436) | 0;
  47185. Qc = (i + 432) | 0;
  47186. Rc = (i + 428) | 0;
  47187. Sc = (i + 424) | 0;
  47188. Tc = (i + 420) | 0;
  47189. Uc = (i + 416) | 0;
  47190. Vc = (i + 412) | 0;
  47191. Wc = (i + 408) | 0;
  47192. Xc = (i + 404) | 0;
  47193. Yc = (i + 400) | 0;
  47194. Zc = (i + 396) | 0;
  47195. _c = (i + 392) | 0;
  47196. $c = (i + 388) | 0;
  47197. ad = (i + 384) | 0;
  47198. bd = (i + 380) | 0;
  47199. cd = (i + 376) | 0;
  47200. dd = (i + 372) | 0;
  47201. ed = (i + 368) | 0;
  47202. fd = (i + 364) | 0;
  47203. gd = (i + 360) | 0;
  47204. hd = (i + 356) | 0;
  47205. id = (i + 352) | 0;
  47206. jd = (i + 348) | 0;
  47207. kd = (i + 344) | 0;
  47208. ld = (i + 340) | 0;
  47209. md = (i + 336) | 0;
  47210. nd = (i + 332) | 0;
  47211. od = (i + 328) | 0;
  47212. pd = (i + 324) | 0;
  47213. qd = (i + 320) | 0;
  47214. rd = (i + 316) | 0;
  47215. sd = (i + 312) | 0;
  47216. td = (i + 308) | 0;
  47217. ud = (i + 304) | 0;
  47218. vd = (i + 300) | 0;
  47219. wd = (i + 296) | 0;
  47220. xd = (i + 292) | 0;
  47221. yd = (i + 288) | 0;
  47222. zd = (i + 284) | 0;
  47223. Ad = (i + 280) | 0;
  47224. Bd = (i + 276) | 0;
  47225. Cd = (i + 272) | 0;
  47226. Dd = (i + 268) | 0;
  47227. Ed = (i + 264) | 0;
  47228. Fd = (i + 260) | 0;
  47229. Gd = (i + 256) | 0;
  47230. Hd = (i + 252) | 0;
  47231. Id = (i + 248) | 0;
  47232. Jd = (i + 244) | 0;
  47233. Kd = (i + 240) | 0;
  47234. Ld = (i + 236) | 0;
  47235. Md = (i + 232) | 0;
  47236. Nd = (i + 228) | 0;
  47237. Od = (i + 224) | 0;
  47238. Pd = (i + 220) | 0;
  47239. Qd = (i + 216) | 0;
  47240. Rd = (i + 212) | 0;
  47241. Sd = (i + 208) | 0;
  47242. Td = (i + 204) | 0;
  47243. Ud = (i + 200) | 0;
  47244. Vd = (i + 196) | 0;
  47245. Wd = (i + 192) | 0;
  47246. Xd = (i + 172) | 0;
  47247. Yd = (i + 152) | 0;
  47248. Zd = (i + 132) | 0;
  47249. _d = (i + 112) | 0;
  47250. $d = (i + 108) | 0;
  47251. ae = (i + 104) | 0;
  47252. be = (i + 100) | 0;
  47253. ce = (i + 96) | 0;
  47254. de = (i + 92) | 0;
  47255. ee = (i + 88) | 0;
  47256. fe = (i + 84) | 0;
  47257. ge = (i + 80) | 0;
  47258. he = (i + 76) | 0;
  47259. ie = (i + 72) | 0;
  47260. je = (i + 68) | 0;
  47261. ke = (i + 64) | 0;
  47262. le = (i + 60) | 0;
  47263. me = (i + 56) | 0;
  47264. ne = (i + 52) | 0;
  47265. oe = (i + 48) | 0;
  47266. pe = (i + 44) | 0;
  47267. qe = (i + 1212) | 0;
  47268. re = (i + 40) | 0;
  47269. se = (i + 36) | 0;
  47270. te = (i + 32) | 0;
  47271. ue = (i + 28) | 0;
  47272. ve = (i + 24) | 0;
  47273. we = (i + 20) | 0;
  47274. xe = (i + 16) | 0;
  47275. ye = (i + 12) | 0;
  47276. ze = (i + 8) | 0;
  47277. Ae = (i + 4) | 0;
  47278. Be = i;
  47279. c[xe >> 2] = b;
  47280. c[ye >> 2] = e;
  47281. c[ze >> 2] = f;
  47282. c[Ae >> 2] = g;
  47283. c[Be >> 2] = h;
  47284. h = c[ye >> 2] | 0;
  47285. ye = c[ze >> 2] | 0;
  47286. ze = c[Ae >> 2] | 0;
  47287. Ae = c[Be >> 2] | 0;
  47288. c[Nd >> 2] = c[xe >> 2];
  47289. c[Od >> 2] = h;
  47290. c[Pd >> 2] = ye;
  47291. c[Qd >> 2] = ze;
  47292. c[Rd >> 2] = Ae;
  47293. if ((c[Qd >> 2] | 0) >>> 0 < 10) {
  47294. c[Md >> 2] = -20;
  47295. Ce = c[Md >> 2] | 0;
  47296. l = i;
  47297. return Ce | 0;
  47298. }
  47299. c[Sd >> 2] = c[Pd >> 2];
  47300. c[Td >> 2] = c[Nd >> 2];
  47301. c[Ud >> 2] = (c[Td >> 2] | 0) + (c[Od >> 2] | 0);
  47302. c[Vd >> 2] = (c[Rd >> 2] | 0) + 4;
  47303. c[Wd >> 2] = c[Vd >> 2];
  47304. c[$d >> 2] = (yp(c[Sd >> 2] | 0) | 0) & 65535;
  47305. c[ae >> 2] = (yp(((c[Sd >> 2] | 0) + 2) | 0) | 0) & 65535;
  47306. c[be >> 2] = (yp(((c[Sd >> 2] | 0) + 4) | 0) | 0) & 65535;
  47307. c[ce >> 2] =
  47308. (c[Qd >> 2] | 0) -
  47309. ((c[$d >> 2] | 0) +
  47310. (c[ae >> 2] | 0) +
  47311. (c[be >> 2] | 0) +
  47312. 6);
  47313. c[de >> 2] = (c[Sd >> 2] | 0) + 6;
  47314. c[ee >> 2] = (c[de >> 2] | 0) + (c[$d >> 2] | 0);
  47315. c[fe >> 2] = (c[ee >> 2] | 0) + (c[ae >> 2] | 0);
  47316. c[ge >> 2] = (c[fe >> 2] | 0) + (c[be >> 2] | 0);
  47317. c[he >> 2] = (((((c[Od >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  47318. c[ie >> 2] = (c[Td >> 2] | 0) + (c[he >> 2] | 0);
  47319. c[je >> 2] = (c[ie >> 2] | 0) + (c[he >> 2] | 0);
  47320. c[ke >> 2] = (c[je >> 2] | 0) + (c[he >> 2] | 0);
  47321. c[le >> 2] = c[Td >> 2];
  47322. c[me >> 2] = c[ie >> 2];
  47323. c[ne >> 2] = c[je >> 2];
  47324. c[oe >> 2] = c[ke >> 2];
  47325. bp(qe, c[Rd >> 2] | 0);
  47326. c[re >> 2] = d[(qe + 2) >> 0];
  47327. if ((c[ce >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
  47328. c[Md >> 2] = -20;
  47329. Ce = c[Md >> 2] | 0;
  47330. l = i;
  47331. return Ce | 0;
  47332. }
  47333. c[se >> 2] = fp(Xd, c[de >> 2] | 0, c[$d >> 2] | 0) | 0;
  47334. if (ap(c[se >> 2] | 0) | 0) {
  47335. c[Md >> 2] = c[se >> 2];
  47336. Ce = c[Md >> 2] | 0;
  47337. l = i;
  47338. return Ce | 0;
  47339. }
  47340. c[te >> 2] = fp(Yd, c[ee >> 2] | 0, c[ae >> 2] | 0) | 0;
  47341. if (ap(c[te >> 2] | 0) | 0) {
  47342. c[Md >> 2] = c[te >> 2];
  47343. Ce = c[Md >> 2] | 0;
  47344. l = i;
  47345. return Ce | 0;
  47346. }
  47347. c[ue >> 2] = fp(Zd, c[fe >> 2] | 0, c[be >> 2] | 0) | 0;
  47348. if (ap(c[ue >> 2] | 0) | 0) {
  47349. c[Md >> 2] = c[ue >> 2];
  47350. Ce = c[Md >> 2] | 0;
  47351. l = i;
  47352. return Ce | 0;
  47353. }
  47354. c[ve >> 2] = fp(_d, c[ge >> 2] | 0, c[ce >> 2] | 0) | 0;
  47355. if (ap(c[ve >> 2] | 0) | 0) {
  47356. c[Md >> 2] = c[ve >> 2];
  47357. Ce = c[Md >> 2] | 0;
  47358. l = i;
  47359. return Ce | 0;
  47360. }
  47361. ve = gp(Xd) | 0;
  47362. ce = ve | (gp(Yd) | 0);
  47363. ve = ce | (gp(Zd) | 0);
  47364. c[pe >> 2] = ve | (gp(_d) | 0);
  47365. while (1) {
  47366. if (
  47367. !(
  47368. ((c[pe >> 2] | 0) == 0
  47369. ? (c[oe >> 2] | 0) >>> 0 <
  47370. (((c[Ud >> 2] | 0) + -3) | 0) >>> 0
  47371. : 0) | 0
  47372. )
  47373. )
  47374. break;
  47375. if (hp() | 0) {
  47376. ve = c[Wd >> 2] | 0;
  47377. ce = c[re >> 2] | 0;
  47378. c[Hd >> 2] = c[le >> 2];
  47379. c[Id >> 2] = Xd;
  47380. c[Jd >> 2] = ve;
  47381. c[Kd >> 2] = ce;
  47382. c[Ld >> 2] = ip(c[Id >> 2] | 0, c[Kd >> 2] | 0) | 0;
  47383. ce = c[Hd >> 2] | 0;
  47384. ve = ((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2)) | 0;
  47385. a[ce >> 0] = a[ve >> 0] | 0;
  47386. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47387. jp(
  47388. c[Id >> 2] | 0,
  47389. d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 2) >> 0] | 0
  47390. );
  47391. c[le >> 2] =
  47392. (c[le >> 2] | 0) +
  47393. (d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 3) >> 0] |
  47394. 0);
  47395. }
  47396. if (hp() | 0) {
  47397. ve = c[Wd >> 2] | 0;
  47398. ce = c[re >> 2] | 0;
  47399. c[Cd >> 2] = c[me >> 2];
  47400. c[Dd >> 2] = Yd;
  47401. c[Ed >> 2] = ve;
  47402. c[Fd >> 2] = ce;
  47403. c[Gd >> 2] = ip(c[Dd >> 2] | 0, c[Fd >> 2] | 0) | 0;
  47404. ce = c[Cd >> 2] | 0;
  47405. ve = ((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2)) | 0;
  47406. a[ce >> 0] = a[ve >> 0] | 0;
  47407. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47408. jp(
  47409. c[Dd >> 2] | 0,
  47410. d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 2) >> 0] | 0
  47411. );
  47412. c[me >> 2] =
  47413. (c[me >> 2] | 0) +
  47414. (d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 3) >> 0] |
  47415. 0);
  47416. }
  47417. if (hp() | 0) {
  47418. ve = c[Wd >> 2] | 0;
  47419. ce = c[re >> 2] | 0;
  47420. c[xd >> 2] = c[ne >> 2];
  47421. c[yd >> 2] = Zd;
  47422. c[zd >> 2] = ve;
  47423. c[Ad >> 2] = ce;
  47424. c[Bd >> 2] = ip(c[yd >> 2] | 0, c[Ad >> 2] | 0) | 0;
  47425. ce = c[xd >> 2] | 0;
  47426. ve = ((c[zd >> 2] | 0) + (c[Bd >> 2] << 2)) | 0;
  47427. a[ce >> 0] = a[ve >> 0] | 0;
  47428. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47429. jp(
  47430. c[yd >> 2] | 0,
  47431. d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 2) >> 0] | 0
  47432. );
  47433. c[ne >> 2] =
  47434. (c[ne >> 2] | 0) +
  47435. (d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 3) >> 0] |
  47436. 0);
  47437. }
  47438. if (hp() | 0) {
  47439. ve = c[Wd >> 2] | 0;
  47440. ce = c[re >> 2] | 0;
  47441. c[sd >> 2] = c[oe >> 2];
  47442. c[td >> 2] = _d;
  47443. c[ud >> 2] = ve;
  47444. c[vd >> 2] = ce;
  47445. c[wd >> 2] = ip(c[td >> 2] | 0, c[vd >> 2] | 0) | 0;
  47446. ce = c[sd >> 2] | 0;
  47447. ve = ((c[ud >> 2] | 0) + (c[wd >> 2] << 2)) | 0;
  47448. a[ce >> 0] = a[ve >> 0] | 0;
  47449. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47450. jp(
  47451. c[td >> 2] | 0,
  47452. d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 2) >> 0] | 0
  47453. );
  47454. c[oe >> 2] =
  47455. (c[oe >> 2] | 0) +
  47456. (d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 3) >> 0] |
  47457. 0);
  47458. }
  47459. hp() | 0;
  47460. ve = c[Wd >> 2] | 0;
  47461. ce = c[re >> 2] | 0;
  47462. c[nd >> 2] = c[le >> 2];
  47463. c[od >> 2] = Xd;
  47464. c[pd >> 2] = ve;
  47465. c[qd >> 2] = ce;
  47466. c[rd >> 2] = ip(c[od >> 2] | 0, c[qd >> 2] | 0) | 0;
  47467. ce = c[nd >> 2] | 0;
  47468. ve = ((c[pd >> 2] | 0) + (c[rd >> 2] << 2)) | 0;
  47469. a[ce >> 0] = a[ve >> 0] | 0;
  47470. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47471. jp(
  47472. c[od >> 2] | 0,
  47473. d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 2) >> 0] | 0
  47474. );
  47475. c[le >> 2] =
  47476. (c[le >> 2] | 0) +
  47477. (d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 3) >> 0] | 0);
  47478. hp() | 0;
  47479. ve = c[Wd >> 2] | 0;
  47480. ce = c[re >> 2] | 0;
  47481. c[id >> 2] = c[me >> 2];
  47482. c[jd >> 2] = Yd;
  47483. c[kd >> 2] = ve;
  47484. c[ld >> 2] = ce;
  47485. c[md >> 2] = ip(c[jd >> 2] | 0, c[ld >> 2] | 0) | 0;
  47486. ce = c[id >> 2] | 0;
  47487. ve = ((c[kd >> 2] | 0) + (c[md >> 2] << 2)) | 0;
  47488. a[ce >> 0] = a[ve >> 0] | 0;
  47489. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47490. jp(
  47491. c[jd >> 2] | 0,
  47492. d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 2) >> 0] | 0
  47493. );
  47494. c[me >> 2] =
  47495. (c[me >> 2] | 0) +
  47496. (d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 3) >> 0] | 0);
  47497. hp() | 0;
  47498. ve = c[Wd >> 2] | 0;
  47499. ce = c[re >> 2] | 0;
  47500. c[dd >> 2] = c[ne >> 2];
  47501. c[ed >> 2] = Zd;
  47502. c[fd >> 2] = ve;
  47503. c[gd >> 2] = ce;
  47504. c[hd >> 2] = ip(c[ed >> 2] | 0, c[gd >> 2] | 0) | 0;
  47505. ce = c[dd >> 2] | 0;
  47506. ve = ((c[fd >> 2] | 0) + (c[hd >> 2] << 2)) | 0;
  47507. a[ce >> 0] = a[ve >> 0] | 0;
  47508. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47509. jp(
  47510. c[ed >> 2] | 0,
  47511. d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 2) >> 0] | 0
  47512. );
  47513. c[ne >> 2] =
  47514. (c[ne >> 2] | 0) +
  47515. (d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 3) >> 0] | 0);
  47516. hp() | 0;
  47517. ve = c[Wd >> 2] | 0;
  47518. ce = c[re >> 2] | 0;
  47519. c[_c >> 2] = c[oe >> 2];
  47520. c[$c >> 2] = _d;
  47521. c[ad >> 2] = ve;
  47522. c[bd >> 2] = ce;
  47523. c[cd >> 2] = ip(c[$c >> 2] | 0, c[bd >> 2] | 0) | 0;
  47524. ce = c[_c >> 2] | 0;
  47525. ve = ((c[ad >> 2] | 0) + (c[cd >> 2] << 2)) | 0;
  47526. a[ce >> 0] = a[ve >> 0] | 0;
  47527. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47528. jp(
  47529. c[$c >> 2] | 0,
  47530. d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 2) >> 0] | 0
  47531. );
  47532. c[oe >> 2] =
  47533. (c[oe >> 2] | 0) +
  47534. (d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 3) >> 0] | 0);
  47535. if (hp() | 0) {
  47536. ve = c[Wd >> 2] | 0;
  47537. ce = c[re >> 2] | 0;
  47538. c[Vc >> 2] = c[le >> 2];
  47539. c[Wc >> 2] = Xd;
  47540. c[Xc >> 2] = ve;
  47541. c[Yc >> 2] = ce;
  47542. c[Zc >> 2] = ip(c[Wc >> 2] | 0, c[Yc >> 2] | 0) | 0;
  47543. ce = c[Vc >> 2] | 0;
  47544. ve = ((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2)) | 0;
  47545. a[ce >> 0] = a[ve >> 0] | 0;
  47546. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47547. jp(
  47548. c[Wc >> 2] | 0,
  47549. d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 2) >> 0] | 0
  47550. );
  47551. c[le >> 2] =
  47552. (c[le >> 2] | 0) +
  47553. (d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 3) >> 0] |
  47554. 0);
  47555. }
  47556. if (hp() | 0) {
  47557. ve = c[Wd >> 2] | 0;
  47558. ce = c[re >> 2] | 0;
  47559. c[Qc >> 2] = c[me >> 2];
  47560. c[Rc >> 2] = Yd;
  47561. c[Sc >> 2] = ve;
  47562. c[Tc >> 2] = ce;
  47563. c[Uc >> 2] = ip(c[Rc >> 2] | 0, c[Tc >> 2] | 0) | 0;
  47564. ce = c[Qc >> 2] | 0;
  47565. ve = ((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2)) | 0;
  47566. a[ce >> 0] = a[ve >> 0] | 0;
  47567. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47568. jp(
  47569. c[Rc >> 2] | 0,
  47570. d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 2) >> 0] | 0
  47571. );
  47572. c[me >> 2] =
  47573. (c[me >> 2] | 0) +
  47574. (d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 3) >> 0] |
  47575. 0);
  47576. }
  47577. if (hp() | 0) {
  47578. ve = c[Wd >> 2] | 0;
  47579. ce = c[re >> 2] | 0;
  47580. c[Lc >> 2] = c[ne >> 2];
  47581. c[Mc >> 2] = Zd;
  47582. c[Nc >> 2] = ve;
  47583. c[Oc >> 2] = ce;
  47584. c[Pc >> 2] = ip(c[Mc >> 2] | 0, c[Oc >> 2] | 0) | 0;
  47585. ce = c[Lc >> 2] | 0;
  47586. ve = ((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2)) | 0;
  47587. a[ce >> 0] = a[ve >> 0] | 0;
  47588. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47589. jp(
  47590. c[Mc >> 2] | 0,
  47591. d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 2) >> 0] | 0
  47592. );
  47593. c[ne >> 2] =
  47594. (c[ne >> 2] | 0) +
  47595. (d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 3) >> 0] |
  47596. 0);
  47597. }
  47598. if (hp() | 0) {
  47599. ve = c[Wd >> 2] | 0;
  47600. ce = c[re >> 2] | 0;
  47601. c[Gc >> 2] = c[oe >> 2];
  47602. c[Hc >> 2] = _d;
  47603. c[Ic >> 2] = ve;
  47604. c[Jc >> 2] = ce;
  47605. c[Kc >> 2] = ip(c[Hc >> 2] | 0, c[Jc >> 2] | 0) | 0;
  47606. ce = c[Gc >> 2] | 0;
  47607. ve = ((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2)) | 0;
  47608. a[ce >> 0] = a[ve >> 0] | 0;
  47609. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47610. jp(
  47611. c[Hc >> 2] | 0,
  47612. d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 2) >> 0] | 0
  47613. );
  47614. c[oe >> 2] =
  47615. (c[oe >> 2] | 0) +
  47616. (d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 3) >> 0] |
  47617. 0);
  47618. }
  47619. ve = c[Wd >> 2] | 0;
  47620. ce = c[re >> 2] | 0;
  47621. c[Bc >> 2] = c[le >> 2];
  47622. c[Cc >> 2] = Xd;
  47623. c[Dc >> 2] = ve;
  47624. c[Ec >> 2] = ce;
  47625. c[Fc >> 2] = ip(c[Cc >> 2] | 0, c[Ec >> 2] | 0) | 0;
  47626. ce = c[Bc >> 2] | 0;
  47627. ve = ((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2)) | 0;
  47628. a[ce >> 0] = a[ve >> 0] | 0;
  47629. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47630. jp(
  47631. c[Cc >> 2] | 0,
  47632. d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 2) >> 0] | 0
  47633. );
  47634. c[le >> 2] =
  47635. (c[le >> 2] | 0) +
  47636. (d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 3) >> 0] | 0);
  47637. ve = c[Wd >> 2] | 0;
  47638. ce = c[re >> 2] | 0;
  47639. c[wc >> 2] = c[me >> 2];
  47640. c[xc >> 2] = Yd;
  47641. c[yc >> 2] = ve;
  47642. c[zc >> 2] = ce;
  47643. c[Ac >> 2] = ip(c[xc >> 2] | 0, c[zc >> 2] | 0) | 0;
  47644. ce = c[wc >> 2] | 0;
  47645. ve = ((c[yc >> 2] | 0) + (c[Ac >> 2] << 2)) | 0;
  47646. a[ce >> 0] = a[ve >> 0] | 0;
  47647. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47648. jp(
  47649. c[xc >> 2] | 0,
  47650. d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 2) >> 0] | 0
  47651. );
  47652. c[me >> 2] =
  47653. (c[me >> 2] | 0) +
  47654. (d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 3) >> 0] | 0);
  47655. ve = c[Wd >> 2] | 0;
  47656. ce = c[re >> 2] | 0;
  47657. c[rc >> 2] = c[ne >> 2];
  47658. c[sc >> 2] = Zd;
  47659. c[tc >> 2] = ve;
  47660. c[uc >> 2] = ce;
  47661. c[vc >> 2] = ip(c[sc >> 2] | 0, c[uc >> 2] | 0) | 0;
  47662. ce = c[rc >> 2] | 0;
  47663. ve = ((c[tc >> 2] | 0) + (c[vc >> 2] << 2)) | 0;
  47664. a[ce >> 0] = a[ve >> 0] | 0;
  47665. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47666. jp(
  47667. c[sc >> 2] | 0,
  47668. d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 2) >> 0] | 0
  47669. );
  47670. c[ne >> 2] =
  47671. (c[ne >> 2] | 0) +
  47672. (d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 3) >> 0] | 0);
  47673. ve = c[Wd >> 2] | 0;
  47674. ce = c[re >> 2] | 0;
  47675. c[mc >> 2] = c[oe >> 2];
  47676. c[nc >> 2] = _d;
  47677. c[oc >> 2] = ve;
  47678. c[pc >> 2] = ce;
  47679. c[qc >> 2] = ip(c[nc >> 2] | 0, c[pc >> 2] | 0) | 0;
  47680. ce = c[mc >> 2] | 0;
  47681. ve = ((c[oc >> 2] | 0) + (c[qc >> 2] << 2)) | 0;
  47682. a[ce >> 0] = a[ve >> 0] | 0;
  47683. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  47684. jp(
  47685. c[nc >> 2] | 0,
  47686. d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 2) >> 0] | 0
  47687. );
  47688. c[oe >> 2] =
  47689. (c[oe >> 2] | 0) +
  47690. (d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 3) >> 0] | 0);
  47691. ve = gp(Xd) | 0;
  47692. ce = ve | (gp(Yd) | 0);
  47693. ve = ce | (gp(Zd) | 0);
  47694. c[pe >> 2] = ve | (gp(_d) | 0);
  47695. }
  47696. if ((c[le >> 2] | 0) >>> 0 > (c[ie >> 2] | 0) >>> 0) {
  47697. c[Md >> 2] = -20;
  47698. Ce = c[Md >> 2] | 0;
  47699. l = i;
  47700. return Ce | 0;
  47701. }
  47702. if ((c[me >> 2] | 0) >>> 0 > (c[je >> 2] | 0) >>> 0) {
  47703. c[Md >> 2] = -20;
  47704. Ce = c[Md >> 2] | 0;
  47705. l = i;
  47706. return Ce | 0;
  47707. }
  47708. if ((c[ne >> 2] | 0) >>> 0 > (c[ke >> 2] | 0) >>> 0) {
  47709. c[Md >> 2] = -20;
  47710. Ce = c[Md >> 2] | 0;
  47711. l = i;
  47712. return Ce | 0;
  47713. }
  47714. pe = c[ie >> 2] | 0;
  47715. ie = c[Wd >> 2] | 0;
  47716. qc = c[re >> 2] | 0;
  47717. c[gc >> 2] = c[le >> 2];
  47718. c[hc >> 2] = Xd;
  47719. c[ic >> 2] = pe;
  47720. c[jc >> 2] = ie;
  47721. c[kc >> 2] = qc;
  47722. c[lc >> 2] = c[gc >> 2];
  47723. while (1) {
  47724. lc = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
  47725. if (
  47726. !(
  47727. lc &
  47728. ((c[gc >> 2] | 0) >>> 0 <
  47729. (((c[ic >> 2] | 0) + -3) | 0) >>> 0)
  47730. )
  47731. )
  47732. break;
  47733. if (hp() | 0) {
  47734. lc = c[hc >> 2] | 0;
  47735. qc = c[jc >> 2] | 0;
  47736. ie = c[kc >> 2] | 0;
  47737. c[bc >> 2] = c[gc >> 2];
  47738. c[cc >> 2] = lc;
  47739. c[dc >> 2] = qc;
  47740. c[ec >> 2] = ie;
  47741. c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
  47742. ie = c[bc >> 2] | 0;
  47743. qc = ((c[dc >> 2] | 0) + (c[fc >> 2] << 2)) | 0;
  47744. a[ie >> 0] = a[qc >> 0] | 0;
  47745. a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
  47746. jp(
  47747. c[cc >> 2] | 0,
  47748. d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 2) >> 0] | 0
  47749. );
  47750. c[gc >> 2] =
  47751. (c[gc >> 2] | 0) +
  47752. (d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 3) >> 0] |
  47753. 0);
  47754. }
  47755. hp() | 0;
  47756. qc = c[hc >> 2] | 0;
  47757. ie = c[jc >> 2] | 0;
  47758. lc = c[kc >> 2] | 0;
  47759. c[Yb >> 2] = c[gc >> 2];
  47760. c[Zb >> 2] = qc;
  47761. c[_b >> 2] = ie;
  47762. c[$b >> 2] = lc;
  47763. c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
  47764. lc = c[Yb >> 2] | 0;
  47765. ie = ((c[_b >> 2] | 0) + (c[ac >> 2] << 2)) | 0;
  47766. a[lc >> 0] = a[ie >> 0] | 0;
  47767. a[(lc + 1) >> 0] = a[(ie + 1) >> 0] | 0;
  47768. jp(
  47769. c[Zb >> 2] | 0,
  47770. d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 2) >> 0] | 0
  47771. );
  47772. c[gc >> 2] =
  47773. (c[gc >> 2] | 0) +
  47774. (d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 3) >> 0] | 0);
  47775. if (hp() | 0) {
  47776. ie = c[hc >> 2] | 0;
  47777. lc = c[jc >> 2] | 0;
  47778. qc = c[kc >> 2] | 0;
  47779. c[Tb >> 2] = c[gc >> 2];
  47780. c[Ub >> 2] = ie;
  47781. c[Vb >> 2] = lc;
  47782. c[Wb >> 2] = qc;
  47783. c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
  47784. qc = c[Tb >> 2] | 0;
  47785. lc = ((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2)) | 0;
  47786. a[qc >> 0] = a[lc >> 0] | 0;
  47787. a[(qc + 1) >> 0] = a[(lc + 1) >> 0] | 0;
  47788. jp(
  47789. c[Ub >> 2] | 0,
  47790. d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 2) >> 0] | 0
  47791. );
  47792. c[gc >> 2] =
  47793. (c[gc >> 2] | 0) +
  47794. (d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 3) >> 0] |
  47795. 0);
  47796. }
  47797. lc = c[hc >> 2] | 0;
  47798. qc = c[jc >> 2] | 0;
  47799. ie = c[kc >> 2] | 0;
  47800. c[Ob >> 2] = c[gc >> 2];
  47801. c[Pb >> 2] = lc;
  47802. c[Qb >> 2] = qc;
  47803. c[Rb >> 2] = ie;
  47804. c[Sb >> 2] = ip(c[Pb >> 2] | 0, c[Rb >> 2] | 0) | 0;
  47805. ie = c[Ob >> 2] | 0;
  47806. qc = ((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2)) | 0;
  47807. a[ie >> 0] = a[qc >> 0] | 0;
  47808. a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
  47809. jp(
  47810. c[Pb >> 2] | 0,
  47811. d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 2) >> 0] | 0
  47812. );
  47813. c[gc >> 2] =
  47814. (c[gc >> 2] | 0) +
  47815. (d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 3) >> 0] | 0);
  47816. }
  47817. while (1) {
  47818. Sb = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
  47819. if (
  47820. !(
  47821. Sb &
  47822. ((c[gc >> 2] | 0) >>> 0 <=
  47823. (((c[ic >> 2] | 0) + -2) | 0) >>> 0)
  47824. )
  47825. )
  47826. break;
  47827. Sb = c[hc >> 2] | 0;
  47828. Qb = c[jc >> 2] | 0;
  47829. Pb = c[kc >> 2] | 0;
  47830. c[Jb >> 2] = c[gc >> 2];
  47831. c[Kb >> 2] = Sb;
  47832. c[Lb >> 2] = Qb;
  47833. c[Mb >> 2] = Pb;
  47834. c[Nb >> 2] = ip(c[Kb >> 2] | 0, c[Mb >> 2] | 0) | 0;
  47835. Pb = c[Jb >> 2] | 0;
  47836. Qb = ((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2)) | 0;
  47837. a[Pb >> 0] = a[Qb >> 0] | 0;
  47838. a[(Pb + 1) >> 0] = a[(Qb + 1) >> 0] | 0;
  47839. jp(
  47840. c[Kb >> 2] | 0,
  47841. d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 2) >> 0] | 0
  47842. );
  47843. c[gc >> 2] =
  47844. (c[gc >> 2] | 0) +
  47845. (d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 3) >> 0] | 0);
  47846. }
  47847. while (1) {
  47848. De = c[gc >> 2] | 0;
  47849. if (
  47850. (c[gc >> 2] | 0) >>> 0 >
  47851. (((c[ic >> 2] | 0) + -2) | 0) >>> 0
  47852. )
  47853. break;
  47854. Nb = c[hc >> 2] | 0;
  47855. Lb = c[jc >> 2] | 0;
  47856. Kb = c[kc >> 2] | 0;
  47857. c[Eb >> 2] = De;
  47858. c[Fb >> 2] = Nb;
  47859. c[Gb >> 2] = Lb;
  47860. c[Hb >> 2] = Kb;
  47861. c[Ib >> 2] = ip(c[Fb >> 2] | 0, c[Hb >> 2] | 0) | 0;
  47862. Kb = c[Eb >> 2] | 0;
  47863. Lb = ((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2)) | 0;
  47864. a[Kb >> 0] = a[Lb >> 0] | 0;
  47865. a[(Kb + 1) >> 0] = a[(Lb + 1) >> 0] | 0;
  47866. jp(
  47867. c[Fb >> 2] | 0,
  47868. d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 2) >> 0] | 0
  47869. );
  47870. c[gc >> 2] =
  47871. (c[gc >> 2] | 0) +
  47872. (d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 3) >> 0] | 0);
  47873. }
  47874. if (De >>> 0 < (c[ic >> 2] | 0) >>> 0) {
  47875. ic = c[hc >> 2] | 0;
  47876. hc = c[jc >> 2] | 0;
  47877. jc = c[kc >> 2] | 0;
  47878. c[zb >> 2] = c[gc >> 2];
  47879. c[Ab >> 2] = ic;
  47880. c[Bb >> 2] = hc;
  47881. c[Cb >> 2] = jc;
  47882. c[Db >> 2] = ip(c[Ab >> 2] | 0, c[Cb >> 2] | 0) | 0;
  47883. a[c[zb >> 2] >> 0] =
  47884. a[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2)) >> 0] | 0;
  47885. zb = c[Ab >> 2] | 0;
  47886. if (
  47887. (d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 3) >> 0] |
  47888. 0 |
  47889. 0) !=
  47890. 1
  47891. ) {
  47892. if (
  47893. (c[(zb + 4) >> 2] | 0) >>> 0 < 32
  47894. ? (jp(
  47895. c[Ab >> 2] | 0,
  47896. d[
  47897. ((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0
  47898. ] | 0
  47899. ),
  47900. (c[((c[Ab >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  47901. : 0
  47902. )
  47903. c[((c[Ab >> 2] | 0) + 4) >> 2] = 32;
  47904. } else
  47905. jp(
  47906. zb,
  47907. d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0] | 0
  47908. );
  47909. c[gc >> 2] = (c[gc >> 2] | 0) + 1;
  47910. }
  47911. gc = c[je >> 2] | 0;
  47912. je = c[Wd >> 2] | 0;
  47913. Db = c[re >> 2] | 0;
  47914. c[tb >> 2] = c[me >> 2];
  47915. c[ub >> 2] = Yd;
  47916. c[vb >> 2] = gc;
  47917. c[wb >> 2] = je;
  47918. c[xb >> 2] = Db;
  47919. c[yb >> 2] = c[tb >> 2];
  47920. while (1) {
  47921. yb = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
  47922. if (
  47923. !(
  47924. yb &
  47925. ((c[tb >> 2] | 0) >>> 0 <
  47926. (((c[vb >> 2] | 0) + -3) | 0) >>> 0)
  47927. )
  47928. )
  47929. break;
  47930. if (hp() | 0) {
  47931. yb = c[ub >> 2] | 0;
  47932. Db = c[wb >> 2] | 0;
  47933. je = c[xb >> 2] | 0;
  47934. c[ob >> 2] = c[tb >> 2];
  47935. c[pb >> 2] = yb;
  47936. c[qb >> 2] = Db;
  47937. c[rb >> 2] = je;
  47938. c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
  47939. je = c[ob >> 2] | 0;
  47940. Db = ((c[qb >> 2] | 0) + (c[sb >> 2] << 2)) | 0;
  47941. a[je >> 0] = a[Db >> 0] | 0;
  47942. a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
  47943. jp(
  47944. c[pb >> 2] | 0,
  47945. d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 2) >> 0] | 0
  47946. );
  47947. c[tb >> 2] =
  47948. (c[tb >> 2] | 0) +
  47949. (d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 3) >> 0] |
  47950. 0);
  47951. }
  47952. hp() | 0;
  47953. Db = c[ub >> 2] | 0;
  47954. je = c[wb >> 2] | 0;
  47955. yb = c[xb >> 2] | 0;
  47956. c[jb >> 2] = c[tb >> 2];
  47957. c[kb >> 2] = Db;
  47958. c[lb >> 2] = je;
  47959. c[mb >> 2] = yb;
  47960. c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
  47961. yb = c[jb >> 2] | 0;
  47962. je = ((c[lb >> 2] | 0) + (c[nb >> 2] << 2)) | 0;
  47963. a[yb >> 0] = a[je >> 0] | 0;
  47964. a[(yb + 1) >> 0] = a[(je + 1) >> 0] | 0;
  47965. jp(
  47966. c[kb >> 2] | 0,
  47967. d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 2) >> 0] | 0
  47968. );
  47969. c[tb >> 2] =
  47970. (c[tb >> 2] | 0) +
  47971. (d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 3) >> 0] | 0);
  47972. if (hp() | 0) {
  47973. je = c[ub >> 2] | 0;
  47974. yb = c[wb >> 2] | 0;
  47975. Db = c[xb >> 2] | 0;
  47976. c[eb >> 2] = c[tb >> 2];
  47977. c[fb >> 2] = je;
  47978. c[gb >> 2] = yb;
  47979. c[hb >> 2] = Db;
  47980. c[ib >> 2] = ip(c[fb >> 2] | 0, c[hb >> 2] | 0) | 0;
  47981. Db = c[eb >> 2] | 0;
  47982. yb = ((c[gb >> 2] | 0) + (c[ib >> 2] << 2)) | 0;
  47983. a[Db >> 0] = a[yb >> 0] | 0;
  47984. a[(Db + 1) >> 0] = a[(yb + 1) >> 0] | 0;
  47985. jp(
  47986. c[fb >> 2] | 0,
  47987. d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 2) >> 0] | 0
  47988. );
  47989. c[tb >> 2] =
  47990. (c[tb >> 2] | 0) +
  47991. (d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 3) >> 0] |
  47992. 0);
  47993. }
  47994. yb = c[ub >> 2] | 0;
  47995. Db = c[wb >> 2] | 0;
  47996. je = c[xb >> 2] | 0;
  47997. c[$a >> 2] = c[tb >> 2];
  47998. c[ab >> 2] = yb;
  47999. c[bb >> 2] = Db;
  48000. c[cb >> 2] = je;
  48001. c[db >> 2] = ip(c[ab >> 2] | 0, c[cb >> 2] | 0) | 0;
  48002. je = c[$a >> 2] | 0;
  48003. Db = ((c[bb >> 2] | 0) + (c[db >> 2] << 2)) | 0;
  48004. a[je >> 0] = a[Db >> 0] | 0;
  48005. a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
  48006. jp(
  48007. c[ab >> 2] | 0,
  48008. d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 2) >> 0] | 0
  48009. );
  48010. c[tb >> 2] =
  48011. (c[tb >> 2] | 0) +
  48012. (d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 3) >> 0] | 0);
  48013. }
  48014. while (1) {
  48015. db = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
  48016. if (
  48017. !(
  48018. db &
  48019. ((c[tb >> 2] | 0) >>> 0 <=
  48020. (((c[vb >> 2] | 0) + -2) | 0) >>> 0)
  48021. )
  48022. )
  48023. break;
  48024. db = c[ub >> 2] | 0;
  48025. bb = c[wb >> 2] | 0;
  48026. ab = c[xb >> 2] | 0;
  48027. c[Wa >> 2] = c[tb >> 2];
  48028. c[Xa >> 2] = db;
  48029. c[Ya >> 2] = bb;
  48030. c[Za >> 2] = ab;
  48031. c[_a >> 2] = ip(c[Xa >> 2] | 0, c[Za >> 2] | 0) | 0;
  48032. ab = c[Wa >> 2] | 0;
  48033. bb = ((c[Ya >> 2] | 0) + (c[_a >> 2] << 2)) | 0;
  48034. a[ab >> 0] = a[bb >> 0] | 0;
  48035. a[(ab + 1) >> 0] = a[(bb + 1) >> 0] | 0;
  48036. jp(
  48037. c[Xa >> 2] | 0,
  48038. d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 2) >> 0] | 0
  48039. );
  48040. c[tb >> 2] =
  48041. (c[tb >> 2] | 0) +
  48042. (d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 3) >> 0] | 0);
  48043. }
  48044. while (1) {
  48045. Ee = c[tb >> 2] | 0;
  48046. if (
  48047. (c[tb >> 2] | 0) >>> 0 >
  48048. (((c[vb >> 2] | 0) + -2) | 0) >>> 0
  48049. )
  48050. break;
  48051. _a = c[ub >> 2] | 0;
  48052. Ya = c[wb >> 2] | 0;
  48053. Xa = c[xb >> 2] | 0;
  48054. c[Ra >> 2] = Ee;
  48055. c[Sa >> 2] = _a;
  48056. c[Ta >> 2] = Ya;
  48057. c[Ua >> 2] = Xa;
  48058. c[Va >> 2] = ip(c[Sa >> 2] | 0, c[Ua >> 2] | 0) | 0;
  48059. Xa = c[Ra >> 2] | 0;
  48060. Ya = ((c[Ta >> 2] | 0) + (c[Va >> 2] << 2)) | 0;
  48061. a[Xa >> 0] = a[Ya >> 0] | 0;
  48062. a[(Xa + 1) >> 0] = a[(Ya + 1) >> 0] | 0;
  48063. jp(
  48064. c[Sa >> 2] | 0,
  48065. d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 2) >> 0] | 0
  48066. );
  48067. c[tb >> 2] =
  48068. (c[tb >> 2] | 0) +
  48069. (d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 3) >> 0] | 0);
  48070. }
  48071. if (Ee >>> 0 < (c[vb >> 2] | 0) >>> 0) {
  48072. vb = c[ub >> 2] | 0;
  48073. ub = c[wb >> 2] | 0;
  48074. wb = c[xb >> 2] | 0;
  48075. c[Ma >> 2] = c[tb >> 2];
  48076. c[Na >> 2] = vb;
  48077. c[Oa >> 2] = ub;
  48078. c[Pa >> 2] = wb;
  48079. c[Qa >> 2] = ip(c[Na >> 2] | 0, c[Pa >> 2] | 0) | 0;
  48080. a[c[Ma >> 2] >> 0] =
  48081. a[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2)) >> 0] | 0;
  48082. Ma = c[Na >> 2] | 0;
  48083. if (
  48084. (d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 3) >> 0] |
  48085. 0 |
  48086. 0) !=
  48087. 1
  48088. ) {
  48089. if (
  48090. (c[(Ma + 4) >> 2] | 0) >>> 0 < 32
  48091. ? (jp(
  48092. c[Na >> 2] | 0,
  48093. d[
  48094. ((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0
  48095. ] | 0
  48096. ),
  48097. (c[((c[Na >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  48098. : 0
  48099. )
  48100. c[((c[Na >> 2] | 0) + 4) >> 2] = 32;
  48101. } else
  48102. jp(
  48103. Ma,
  48104. d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0] | 0
  48105. );
  48106. c[tb >> 2] = (c[tb >> 2] | 0) + 1;
  48107. }
  48108. tb = c[ke >> 2] | 0;
  48109. ke = c[Wd >> 2] | 0;
  48110. Qa = c[re >> 2] | 0;
  48111. c[Ga >> 2] = c[ne >> 2];
  48112. c[Ha >> 2] = Zd;
  48113. c[Ia >> 2] = tb;
  48114. c[Ja >> 2] = ke;
  48115. c[Ka >> 2] = Qa;
  48116. c[La >> 2] = c[Ga >> 2];
  48117. while (1) {
  48118. La = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
  48119. if (
  48120. !(
  48121. La &
  48122. ((c[Ga >> 2] | 0) >>> 0 <
  48123. (((c[Ia >> 2] | 0) + -3) | 0) >>> 0)
  48124. )
  48125. )
  48126. break;
  48127. if (hp() | 0) {
  48128. La = c[Ha >> 2] | 0;
  48129. Qa = c[Ja >> 2] | 0;
  48130. ke = c[Ka >> 2] | 0;
  48131. c[Ba >> 2] = c[Ga >> 2];
  48132. c[Ca >> 2] = La;
  48133. c[Da >> 2] = Qa;
  48134. c[Ea >> 2] = ke;
  48135. c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
  48136. ke = c[Ba >> 2] | 0;
  48137. Qa = ((c[Da >> 2] | 0) + (c[Fa >> 2] << 2)) | 0;
  48138. a[ke >> 0] = a[Qa >> 0] | 0;
  48139. a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
  48140. jp(
  48141. c[Ca >> 2] | 0,
  48142. d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 2) >> 0] | 0
  48143. );
  48144. c[Ga >> 2] =
  48145. (c[Ga >> 2] | 0) +
  48146. (d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 3) >> 0] |
  48147. 0);
  48148. }
  48149. hp() | 0;
  48150. Qa = c[Ha >> 2] | 0;
  48151. ke = c[Ja >> 2] | 0;
  48152. La = c[Ka >> 2] | 0;
  48153. c[wa >> 2] = c[Ga >> 2];
  48154. c[xa >> 2] = Qa;
  48155. c[ya >> 2] = ke;
  48156. c[za >> 2] = La;
  48157. c[Aa >> 2] = ip(c[xa >> 2] | 0, c[za >> 2] | 0) | 0;
  48158. La = c[wa >> 2] | 0;
  48159. ke = ((c[ya >> 2] | 0) + (c[Aa >> 2] << 2)) | 0;
  48160. a[La >> 0] = a[ke >> 0] | 0;
  48161. a[(La + 1) >> 0] = a[(ke + 1) >> 0] | 0;
  48162. jp(
  48163. c[xa >> 2] | 0,
  48164. d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 2) >> 0] | 0
  48165. );
  48166. c[Ga >> 2] =
  48167. (c[Ga >> 2] | 0) +
  48168. (d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 3) >> 0] | 0);
  48169. if (hp() | 0) {
  48170. ke = c[Ha >> 2] | 0;
  48171. La = c[Ja >> 2] | 0;
  48172. Qa = c[Ka >> 2] | 0;
  48173. c[ra >> 2] = c[Ga >> 2];
  48174. c[sa >> 2] = ke;
  48175. c[ta >> 2] = La;
  48176. c[ua >> 2] = Qa;
  48177. c[va >> 2] = ip(c[sa >> 2] | 0, c[ua >> 2] | 0) | 0;
  48178. Qa = c[ra >> 2] | 0;
  48179. La = ((c[ta >> 2] | 0) + (c[va >> 2] << 2)) | 0;
  48180. a[Qa >> 0] = a[La >> 0] | 0;
  48181. a[(Qa + 1) >> 0] = a[(La + 1) >> 0] | 0;
  48182. jp(
  48183. c[sa >> 2] | 0,
  48184. d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 2) >> 0] | 0
  48185. );
  48186. c[Ga >> 2] =
  48187. (c[Ga >> 2] | 0) +
  48188. (d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 3) >> 0] |
  48189. 0);
  48190. }
  48191. La = c[Ha >> 2] | 0;
  48192. Qa = c[Ja >> 2] | 0;
  48193. ke = c[Ka >> 2] | 0;
  48194. c[ma >> 2] = c[Ga >> 2];
  48195. c[na >> 2] = La;
  48196. c[oa >> 2] = Qa;
  48197. c[pa >> 2] = ke;
  48198. c[qa >> 2] = ip(c[na >> 2] | 0, c[pa >> 2] | 0) | 0;
  48199. ke = c[ma >> 2] | 0;
  48200. Qa = ((c[oa >> 2] | 0) + (c[qa >> 2] << 2)) | 0;
  48201. a[ke >> 0] = a[Qa >> 0] | 0;
  48202. a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
  48203. jp(
  48204. c[na >> 2] | 0,
  48205. d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 2) >> 0] | 0
  48206. );
  48207. c[Ga >> 2] =
  48208. (c[Ga >> 2] | 0) +
  48209. (d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 3) >> 0] | 0);
  48210. }
  48211. while (1) {
  48212. qa = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
  48213. if (
  48214. !(
  48215. qa &
  48216. ((c[Ga >> 2] | 0) >>> 0 <=
  48217. (((c[Ia >> 2] | 0) + -2) | 0) >>> 0)
  48218. )
  48219. )
  48220. break;
  48221. qa = c[Ha >> 2] | 0;
  48222. oa = c[Ja >> 2] | 0;
  48223. na = c[Ka >> 2] | 0;
  48224. c[ha >> 2] = c[Ga >> 2];
  48225. c[ia >> 2] = qa;
  48226. c[ja >> 2] = oa;
  48227. c[ka >> 2] = na;
  48228. c[la >> 2] = ip(c[ia >> 2] | 0, c[ka >> 2] | 0) | 0;
  48229. na = c[ha >> 2] | 0;
  48230. oa = ((c[ja >> 2] | 0) + (c[la >> 2] << 2)) | 0;
  48231. a[na >> 0] = a[oa >> 0] | 0;
  48232. a[(na + 1) >> 0] = a[(oa + 1) >> 0] | 0;
  48233. jp(
  48234. c[ia >> 2] | 0,
  48235. d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 2) >> 0] | 0
  48236. );
  48237. c[Ga >> 2] =
  48238. (c[Ga >> 2] | 0) +
  48239. (d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 3) >> 0] | 0);
  48240. }
  48241. while (1) {
  48242. Fe = c[Ga >> 2] | 0;
  48243. if (
  48244. (c[Ga >> 2] | 0) >>> 0 >
  48245. (((c[Ia >> 2] | 0) + -2) | 0) >>> 0
  48246. )
  48247. break;
  48248. la = c[Ha >> 2] | 0;
  48249. ja = c[Ja >> 2] | 0;
  48250. ia = c[Ka >> 2] | 0;
  48251. c[ca >> 2] = Fe;
  48252. c[da >> 2] = la;
  48253. c[ea >> 2] = ja;
  48254. c[fa >> 2] = ia;
  48255. c[ga >> 2] = ip(c[da >> 2] | 0, c[fa >> 2] | 0) | 0;
  48256. ia = c[ca >> 2] | 0;
  48257. ja = ((c[ea >> 2] | 0) + (c[ga >> 2] << 2)) | 0;
  48258. a[ia >> 0] = a[ja >> 0] | 0;
  48259. a[(ia + 1) >> 0] = a[(ja + 1) >> 0] | 0;
  48260. jp(
  48261. c[da >> 2] | 0,
  48262. d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 2) >> 0] | 0
  48263. );
  48264. c[Ga >> 2] =
  48265. (c[Ga >> 2] | 0) +
  48266. (d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 3) >> 0] | 0);
  48267. }
  48268. if (Fe >>> 0 < (c[Ia >> 2] | 0) >>> 0) {
  48269. Ia = c[Ha >> 2] | 0;
  48270. Ha = c[Ja >> 2] | 0;
  48271. Ja = c[Ka >> 2] | 0;
  48272. c[Z >> 2] = c[Ga >> 2];
  48273. c[_ >> 2] = Ia;
  48274. c[$ >> 2] = Ha;
  48275. c[aa >> 2] = Ja;
  48276. c[ba >> 2] = ip(c[_ >> 2] | 0, c[aa >> 2] | 0) | 0;
  48277. a[c[Z >> 2] >> 0] =
  48278. a[((c[$ >> 2] | 0) + (c[ba >> 2] << 2)) >> 0] | 0;
  48279. Z = c[_ >> 2] | 0;
  48280. if (
  48281. (d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 3) >> 0] |
  48282. 0 |
  48283. 0) !=
  48284. 1
  48285. ) {
  48286. if (
  48287. (c[(Z + 4) >> 2] | 0) >>> 0 < 32
  48288. ? (jp(
  48289. c[_ >> 2] | 0,
  48290. d[
  48291. ((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0
  48292. ] | 0
  48293. ),
  48294. (c[((c[_ >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  48295. : 0
  48296. )
  48297. c[((c[_ >> 2] | 0) + 4) >> 2] = 32;
  48298. } else
  48299. jp(
  48300. Z,
  48301. d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0] | 0
  48302. );
  48303. c[Ga >> 2] = (c[Ga >> 2] | 0) + 1;
  48304. }
  48305. Ga = c[Ud >> 2] | 0;
  48306. Ud = c[Wd >> 2] | 0;
  48307. Wd = c[re >> 2] | 0;
  48308. c[T >> 2] = c[oe >> 2];
  48309. c[U >> 2] = _d;
  48310. c[V >> 2] = Ga;
  48311. c[W >> 2] = Ud;
  48312. c[X >> 2] = Wd;
  48313. c[Y >> 2] = c[T >> 2];
  48314. while (1) {
  48315. Y = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  48316. if (
  48317. !(
  48318. Y &
  48319. ((c[T >> 2] | 0) >>> 0 <
  48320. (((c[V >> 2] | 0) + -3) | 0) >>> 0)
  48321. )
  48322. )
  48323. break;
  48324. if (hp() | 0) {
  48325. Y = c[U >> 2] | 0;
  48326. Wd = c[W >> 2] | 0;
  48327. Ud = c[X >> 2] | 0;
  48328. c[O >> 2] = c[T >> 2];
  48329. c[P >> 2] = Y;
  48330. c[Q >> 2] = Wd;
  48331. c[R >> 2] = Ud;
  48332. c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
  48333. Ud = c[O >> 2] | 0;
  48334. Wd = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
  48335. a[Ud >> 0] = a[Wd >> 0] | 0;
  48336. a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
  48337. jp(
  48338. c[P >> 2] | 0,
  48339. d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
  48340. );
  48341. c[T >> 2] =
  48342. (c[T >> 2] | 0) +
  48343. (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
  48344. }
  48345. hp() | 0;
  48346. Wd = c[U >> 2] | 0;
  48347. Ud = c[W >> 2] | 0;
  48348. Y = c[X >> 2] | 0;
  48349. c[J >> 2] = c[T >> 2];
  48350. c[K >> 2] = Wd;
  48351. c[L >> 2] = Ud;
  48352. c[M >> 2] = Y;
  48353. c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
  48354. Y = c[J >> 2] | 0;
  48355. Ud = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
  48356. a[Y >> 0] = a[Ud >> 0] | 0;
  48357. a[(Y + 1) >> 0] = a[(Ud + 1) >> 0] | 0;
  48358. jp(
  48359. c[K >> 2] | 0,
  48360. d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
  48361. );
  48362. c[T >> 2] =
  48363. (c[T >> 2] | 0) +
  48364. (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
  48365. if (hp() | 0) {
  48366. Ud = c[U >> 2] | 0;
  48367. Y = c[W >> 2] | 0;
  48368. Wd = c[X >> 2] | 0;
  48369. c[E >> 2] = c[T >> 2];
  48370. c[F >> 2] = Ud;
  48371. c[G >> 2] = Y;
  48372. c[H >> 2] = Wd;
  48373. c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
  48374. Wd = c[E >> 2] | 0;
  48375. Y = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
  48376. a[Wd >> 0] = a[Y >> 0] | 0;
  48377. a[(Wd + 1) >> 0] = a[(Y + 1) >> 0] | 0;
  48378. jp(
  48379. c[F >> 2] | 0,
  48380. d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
  48381. );
  48382. c[T >> 2] =
  48383. (c[T >> 2] | 0) +
  48384. (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
  48385. }
  48386. Y = c[U >> 2] | 0;
  48387. Wd = c[W >> 2] | 0;
  48388. Ud = c[X >> 2] | 0;
  48389. c[z >> 2] = c[T >> 2];
  48390. c[A >> 2] = Y;
  48391. c[B >> 2] = Wd;
  48392. c[C >> 2] = Ud;
  48393. c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
  48394. Ud = c[z >> 2] | 0;
  48395. Wd = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  48396. a[Ud >> 0] = a[Wd >> 0] | 0;
  48397. a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
  48398. jp(
  48399. c[A >> 2] | 0,
  48400. d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
  48401. );
  48402. c[T >> 2] =
  48403. (c[T >> 2] | 0) +
  48404. (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
  48405. }
  48406. while (1) {
  48407. D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  48408. if (
  48409. !(
  48410. D &
  48411. ((c[T >> 2] | 0) >>> 0 <=
  48412. (((c[V >> 2] | 0) + -2) | 0) >>> 0)
  48413. )
  48414. )
  48415. break;
  48416. D = c[U >> 2] | 0;
  48417. B = c[W >> 2] | 0;
  48418. A = c[X >> 2] | 0;
  48419. c[u >> 2] = c[T >> 2];
  48420. c[v >> 2] = D;
  48421. c[w >> 2] = B;
  48422. c[x >> 2] = A;
  48423. c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
  48424. A = c[u >> 2] | 0;
  48425. B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
  48426. a[A >> 0] = a[B >> 0] | 0;
  48427. a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
  48428. jp(
  48429. c[v >> 2] | 0,
  48430. d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
  48431. );
  48432. c[T >> 2] =
  48433. (c[T >> 2] | 0) +
  48434. (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
  48435. }
  48436. while (1) {
  48437. Ge = c[T >> 2] | 0;
  48438. if (
  48439. (c[T >> 2] | 0) >>> 0 >
  48440. (((c[V >> 2] | 0) + -2) | 0) >>> 0
  48441. )
  48442. break;
  48443. y = c[U >> 2] | 0;
  48444. w = c[W >> 2] | 0;
  48445. v = c[X >> 2] | 0;
  48446. c[p >> 2] = Ge;
  48447. c[q >> 2] = y;
  48448. c[r >> 2] = w;
  48449. c[s >> 2] = v;
  48450. c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
  48451. v = c[p >> 2] | 0;
  48452. w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
  48453. a[v >> 0] = a[w >> 0] | 0;
  48454. a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
  48455. jp(
  48456. c[q >> 2] | 0,
  48457. d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
  48458. );
  48459. c[T >> 2] =
  48460. (c[T >> 2] | 0) +
  48461. (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
  48462. }
  48463. if (Ge >>> 0 < (c[V >> 2] | 0) >>> 0) {
  48464. V = c[U >> 2] | 0;
  48465. U = c[W >> 2] | 0;
  48466. W = c[X >> 2] | 0;
  48467. c[j >> 2] = c[T >> 2];
  48468. c[k >> 2] = V;
  48469. c[m >> 2] = U;
  48470. c[n >> 2] = W;
  48471. c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
  48472. a[c[j >> 2] >> 0] =
  48473. a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
  48474. j = c[k >> 2] | 0;
  48475. if (
  48476. (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
  48477. 0 |
  48478. 0) !=
  48479. 1
  48480. ) {
  48481. if (
  48482. (c[(j + 4) >> 2] | 0) >>> 0 < 32
  48483. ? (jp(
  48484. c[k >> 2] | 0,
  48485. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
  48486. 0
  48487. ),
  48488. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  48489. : 0
  48490. )
  48491. c[((c[k >> 2] | 0) + 4) >> 2] = 32;
  48492. } else
  48493. jp(
  48494. j,
  48495. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
  48496. );
  48497. c[T >> 2] = (c[T >> 2] | 0) + 1;
  48498. }
  48499. T = lp(Xd) | 0;
  48500. Xd = T & (lp(Yd) | 0);
  48501. Yd = Xd & (lp(Zd) | 0);
  48502. c[we >> 2] = Yd & (lp(_d) | 0);
  48503. if (c[we >> 2] | 0) {
  48504. c[Md >> 2] = c[Od >> 2];
  48505. Ce = c[Md >> 2] | 0;
  48506. l = i;
  48507. return Ce | 0;
  48508. } else {
  48509. c[Md >> 2] = -20;
  48510. Ce = c[Md >> 2] | 0;
  48511. l = i;
  48512. return Ce | 0;
  48513. }
  48514. return 0;
  48515. }
  48516. function Lp(b, e, f, g, h) {
  48517. b = b | 0;
  48518. e = e | 0;
  48519. f = f | 0;
  48520. g = g | 0;
  48521. h = h | 0;
  48522. var i = 0,
  48523. j = 0,
  48524. k = 0,
  48525. m = 0,
  48526. n = 0,
  48527. o = 0,
  48528. p = 0,
  48529. q = 0,
  48530. r = 0,
  48531. s = 0,
  48532. t = 0,
  48533. u = 0,
  48534. v = 0,
  48535. w = 0,
  48536. x = 0,
  48537. y = 0,
  48538. z = 0,
  48539. A = 0,
  48540. B = 0,
  48541. C = 0,
  48542. D = 0,
  48543. E = 0,
  48544. F = 0,
  48545. G = 0,
  48546. H = 0,
  48547. I = 0,
  48548. J = 0,
  48549. K = 0,
  48550. L = 0,
  48551. M = 0,
  48552. N = 0,
  48553. O = 0,
  48554. P = 0,
  48555. Q = 0,
  48556. R = 0,
  48557. S = 0,
  48558. T = 0,
  48559. U = 0,
  48560. V = 0,
  48561. W = 0,
  48562. X = 0,
  48563. Y = 0,
  48564. Z = 0,
  48565. _ = 0,
  48566. $ = 0,
  48567. aa = 0,
  48568. ba = 0,
  48569. ca = 0,
  48570. da = 0,
  48571. ea = 0,
  48572. fa = 0,
  48573. ga = 0,
  48574. ha = 0,
  48575. ia = 0,
  48576. ja = 0,
  48577. ka = 0,
  48578. la = 0,
  48579. ma = 0,
  48580. na = 0,
  48581. oa = 0,
  48582. pa = 0,
  48583. qa = 0,
  48584. ra = 0,
  48585. sa = 0,
  48586. ta = 0,
  48587. ua = 0,
  48588. va = 0,
  48589. wa = 0,
  48590. xa = 0,
  48591. ya = 0,
  48592. za = 0,
  48593. Aa = 0,
  48594. Ba = 0,
  48595. Ca = 0,
  48596. Da = 0,
  48597. Ea = 0,
  48598. Fa = 0,
  48599. Ga = 0,
  48600. Ha = 0,
  48601. Ia = 0,
  48602. Ja = 0,
  48603. Ka = 0,
  48604. La = 0,
  48605. Ma = 0,
  48606. Na = 0,
  48607. Oa = 0,
  48608. Pa = 0,
  48609. Qa = 0,
  48610. Ra = 0,
  48611. Sa = 0,
  48612. Ta = 0,
  48613. Ua = 0,
  48614. Va = 0,
  48615. Wa = 0,
  48616. Xa = 0,
  48617. Ya = 0,
  48618. Za = 0,
  48619. _a = 0,
  48620. $a = 0,
  48621. ab = 0,
  48622. bb = 0,
  48623. cb = 0,
  48624. db = 0,
  48625. eb = 0,
  48626. fb = 0,
  48627. gb = 0,
  48628. hb = 0,
  48629. ib = 0,
  48630. jb = 0,
  48631. kb = 0,
  48632. lb = 0,
  48633. mb = 0,
  48634. nb = 0,
  48635. ob = 0,
  48636. pb = 0,
  48637. qb = 0,
  48638. rb = 0,
  48639. sb = 0,
  48640. tb = 0,
  48641. ub = 0,
  48642. vb = 0,
  48643. wb = 0,
  48644. xb = 0,
  48645. yb = 0,
  48646. zb = 0,
  48647. Ab = 0,
  48648. Bb = 0,
  48649. Cb = 0,
  48650. Db = 0,
  48651. Eb = 0,
  48652. Fb = 0,
  48653. Gb = 0,
  48654. Hb = 0,
  48655. Ib = 0,
  48656. Jb = 0,
  48657. Kb = 0,
  48658. Lb = 0,
  48659. Mb = 0,
  48660. Nb = 0,
  48661. Ob = 0,
  48662. Pb = 0,
  48663. Qb = 0,
  48664. Rb = 0,
  48665. Sb = 0,
  48666. Tb = 0,
  48667. Ub = 0,
  48668. Vb = 0,
  48669. Wb = 0,
  48670. Xb = 0,
  48671. Yb = 0,
  48672. Zb = 0,
  48673. _b = 0,
  48674. $b = 0,
  48675. ac = 0,
  48676. bc = 0,
  48677. cc = 0,
  48678. dc = 0,
  48679. ec = 0,
  48680. fc = 0,
  48681. gc = 0,
  48682. hc = 0,
  48683. ic = 0,
  48684. jc = 0,
  48685. kc = 0,
  48686. lc = 0,
  48687. mc = 0,
  48688. nc = 0,
  48689. oc = 0,
  48690. pc = 0,
  48691. qc = 0,
  48692. rc = 0,
  48693. sc = 0,
  48694. tc = 0,
  48695. uc = 0,
  48696. vc = 0,
  48697. wc = 0,
  48698. xc = 0,
  48699. yc = 0,
  48700. zc = 0,
  48701. Ac = 0,
  48702. Bc = 0,
  48703. Cc = 0,
  48704. Dc = 0,
  48705. Ec = 0,
  48706. Fc = 0,
  48707. Gc = 0,
  48708. Hc = 0,
  48709. Ic = 0,
  48710. Jc = 0,
  48711. Kc = 0,
  48712. Lc = 0,
  48713. Mc = 0,
  48714. Nc = 0,
  48715. Oc = 0,
  48716. Pc = 0,
  48717. Qc = 0,
  48718. Rc = 0,
  48719. Sc = 0,
  48720. Tc = 0,
  48721. Uc = 0,
  48722. Vc = 0,
  48723. Wc = 0,
  48724. Xc = 0,
  48725. Yc = 0,
  48726. Zc = 0,
  48727. _c = 0,
  48728. $c = 0,
  48729. ad = 0,
  48730. bd = 0,
  48731. cd = 0,
  48732. dd = 0,
  48733. ed = 0,
  48734. fd = 0,
  48735. gd = 0,
  48736. hd = 0,
  48737. id = 0,
  48738. jd = 0,
  48739. kd = 0,
  48740. ld = 0,
  48741. md = 0,
  48742. nd = 0,
  48743. od = 0,
  48744. pd = 0,
  48745. qd = 0,
  48746. rd = 0,
  48747. sd = 0,
  48748. td = 0,
  48749. ud = 0,
  48750. vd = 0,
  48751. wd = 0,
  48752. xd = 0,
  48753. yd = 0,
  48754. zd = 0,
  48755. Ad = 0,
  48756. Bd = 0,
  48757. Cd = 0,
  48758. Dd = 0,
  48759. Ed = 0,
  48760. Fd = 0,
  48761. Gd = 0,
  48762. Hd = 0,
  48763. Id = 0,
  48764. Jd = 0,
  48765. Kd = 0,
  48766. Ld = 0,
  48767. Md = 0,
  48768. Nd = 0,
  48769. Od = 0,
  48770. Pd = 0,
  48771. Qd = 0,
  48772. Rd = 0,
  48773. Sd = 0,
  48774. Td = 0,
  48775. Ud = 0,
  48776. Vd = 0,
  48777. Wd = 0,
  48778. Xd = 0,
  48779. Yd = 0,
  48780. Zd = 0,
  48781. _d = 0,
  48782. $d = 0,
  48783. ae = 0,
  48784. be = 0,
  48785. ce = 0,
  48786. de = 0,
  48787. ee = 0,
  48788. fe = 0,
  48789. ge = 0,
  48790. he = 0,
  48791. ie = 0,
  48792. je = 0,
  48793. ke = 0,
  48794. le = 0,
  48795. me = 0,
  48796. ne = 0,
  48797. oe = 0,
  48798. pe = 0,
  48799. qe = 0,
  48800. re = 0,
  48801. se = 0,
  48802. te = 0,
  48803. ue = 0,
  48804. ve = 0,
  48805. we = 0,
  48806. xe = 0,
  48807. ye = 0,
  48808. ze = 0,
  48809. Ae = 0,
  48810. Be = 0,
  48811. Ce = 0,
  48812. De = 0,
  48813. Ee = 0,
  48814. Fe = 0,
  48815. Ge = 0;
  48816. i = l;
  48817. l = (l + 1216) | 0;
  48818. j = (i + 1208) | 0;
  48819. k = (i + 1204) | 0;
  48820. m = (i + 1200) | 0;
  48821. n = (i + 1196) | 0;
  48822. o = (i + 1192) | 0;
  48823. p = (i + 1188) | 0;
  48824. q = (i + 1184) | 0;
  48825. r = (i + 1180) | 0;
  48826. s = (i + 1176) | 0;
  48827. t = (i + 1172) | 0;
  48828. u = (i + 1168) | 0;
  48829. v = (i + 1164) | 0;
  48830. w = (i + 1160) | 0;
  48831. x = (i + 1156) | 0;
  48832. y = (i + 1152) | 0;
  48833. z = (i + 1148) | 0;
  48834. A = (i + 1144) | 0;
  48835. B = (i + 1140) | 0;
  48836. C = (i + 1136) | 0;
  48837. D = (i + 1132) | 0;
  48838. E = (i + 1128) | 0;
  48839. F = (i + 1124) | 0;
  48840. G = (i + 1120) | 0;
  48841. H = (i + 1116) | 0;
  48842. I = (i + 1112) | 0;
  48843. J = (i + 1108) | 0;
  48844. K = (i + 1104) | 0;
  48845. L = (i + 1100) | 0;
  48846. M = (i + 1096) | 0;
  48847. N = (i + 1092) | 0;
  48848. O = (i + 1088) | 0;
  48849. P = (i + 1084) | 0;
  48850. Q = (i + 1080) | 0;
  48851. R = (i + 1076) | 0;
  48852. S = (i + 1072) | 0;
  48853. T = (i + 1068) | 0;
  48854. U = (i + 1064) | 0;
  48855. V = (i + 1060) | 0;
  48856. W = (i + 1056) | 0;
  48857. X = (i + 1052) | 0;
  48858. Y = (i + 1048) | 0;
  48859. Z = (i + 1044) | 0;
  48860. _ = (i + 1040) | 0;
  48861. $ = (i + 1036) | 0;
  48862. aa = (i + 1032) | 0;
  48863. ba = (i + 1028) | 0;
  48864. ca = (i + 1024) | 0;
  48865. da = (i + 1020) | 0;
  48866. ea = (i + 1016) | 0;
  48867. fa = (i + 1012) | 0;
  48868. ga = (i + 1008) | 0;
  48869. ha = (i + 1004) | 0;
  48870. ia = (i + 1e3) | 0;
  48871. ja = (i + 996) | 0;
  48872. ka = (i + 992) | 0;
  48873. la = (i + 988) | 0;
  48874. ma = (i + 984) | 0;
  48875. na = (i + 980) | 0;
  48876. oa = (i + 976) | 0;
  48877. pa = (i + 972) | 0;
  48878. qa = (i + 968) | 0;
  48879. ra = (i + 964) | 0;
  48880. sa = (i + 960) | 0;
  48881. ta = (i + 956) | 0;
  48882. ua = (i + 952) | 0;
  48883. va = (i + 948) | 0;
  48884. wa = (i + 944) | 0;
  48885. xa = (i + 940) | 0;
  48886. ya = (i + 936) | 0;
  48887. za = (i + 932) | 0;
  48888. Aa = (i + 928) | 0;
  48889. Ba = (i + 924) | 0;
  48890. Ca = (i + 920) | 0;
  48891. Da = (i + 916) | 0;
  48892. Ea = (i + 912) | 0;
  48893. Fa = (i + 908) | 0;
  48894. Ga = (i + 904) | 0;
  48895. Ha = (i + 900) | 0;
  48896. Ia = (i + 896) | 0;
  48897. Ja = (i + 892) | 0;
  48898. Ka = (i + 888) | 0;
  48899. La = (i + 884) | 0;
  48900. Ma = (i + 880) | 0;
  48901. Na = (i + 876) | 0;
  48902. Oa = (i + 872) | 0;
  48903. Pa = (i + 868) | 0;
  48904. Qa = (i + 864) | 0;
  48905. Ra = (i + 860) | 0;
  48906. Sa = (i + 856) | 0;
  48907. Ta = (i + 852) | 0;
  48908. Ua = (i + 848) | 0;
  48909. Va = (i + 844) | 0;
  48910. Wa = (i + 840) | 0;
  48911. Xa = (i + 836) | 0;
  48912. Ya = (i + 832) | 0;
  48913. Za = (i + 828) | 0;
  48914. _a = (i + 824) | 0;
  48915. $a = (i + 820) | 0;
  48916. ab = (i + 816) | 0;
  48917. bb = (i + 812) | 0;
  48918. cb = (i + 808) | 0;
  48919. db = (i + 804) | 0;
  48920. eb = (i + 800) | 0;
  48921. fb = (i + 796) | 0;
  48922. gb = (i + 792) | 0;
  48923. hb = (i + 788) | 0;
  48924. ib = (i + 784) | 0;
  48925. jb = (i + 780) | 0;
  48926. kb = (i + 776) | 0;
  48927. lb = (i + 772) | 0;
  48928. mb = (i + 768) | 0;
  48929. nb = (i + 764) | 0;
  48930. ob = (i + 760) | 0;
  48931. pb = (i + 756) | 0;
  48932. qb = (i + 752) | 0;
  48933. rb = (i + 748) | 0;
  48934. sb = (i + 744) | 0;
  48935. tb = (i + 740) | 0;
  48936. ub = (i + 736) | 0;
  48937. vb = (i + 732) | 0;
  48938. wb = (i + 728) | 0;
  48939. xb = (i + 724) | 0;
  48940. yb = (i + 720) | 0;
  48941. zb = (i + 716) | 0;
  48942. Ab = (i + 712) | 0;
  48943. Bb = (i + 708) | 0;
  48944. Cb = (i + 704) | 0;
  48945. Db = (i + 700) | 0;
  48946. Eb = (i + 696) | 0;
  48947. Fb = (i + 692) | 0;
  48948. Gb = (i + 688) | 0;
  48949. Hb = (i + 684) | 0;
  48950. Ib = (i + 680) | 0;
  48951. Jb = (i + 676) | 0;
  48952. Kb = (i + 672) | 0;
  48953. Lb = (i + 668) | 0;
  48954. Mb = (i + 664) | 0;
  48955. Nb = (i + 660) | 0;
  48956. Ob = (i + 656) | 0;
  48957. Pb = (i + 652) | 0;
  48958. Qb = (i + 648) | 0;
  48959. Rb = (i + 644) | 0;
  48960. Sb = (i + 640) | 0;
  48961. Tb = (i + 636) | 0;
  48962. Ub = (i + 632) | 0;
  48963. Vb = (i + 628) | 0;
  48964. Wb = (i + 624) | 0;
  48965. Xb = (i + 620) | 0;
  48966. Yb = (i + 616) | 0;
  48967. Zb = (i + 612) | 0;
  48968. _b = (i + 608) | 0;
  48969. $b = (i + 604) | 0;
  48970. ac = (i + 600) | 0;
  48971. bc = (i + 596) | 0;
  48972. cc = (i + 592) | 0;
  48973. dc = (i + 588) | 0;
  48974. ec = (i + 584) | 0;
  48975. fc = (i + 580) | 0;
  48976. gc = (i + 576) | 0;
  48977. hc = (i + 572) | 0;
  48978. ic = (i + 568) | 0;
  48979. jc = (i + 564) | 0;
  48980. kc = (i + 560) | 0;
  48981. lc = (i + 556) | 0;
  48982. mc = (i + 552) | 0;
  48983. nc = (i + 548) | 0;
  48984. oc = (i + 544) | 0;
  48985. pc = (i + 540) | 0;
  48986. qc = (i + 536) | 0;
  48987. rc = (i + 532) | 0;
  48988. sc = (i + 528) | 0;
  48989. tc = (i + 524) | 0;
  48990. uc = (i + 520) | 0;
  48991. vc = (i + 516) | 0;
  48992. wc = (i + 512) | 0;
  48993. xc = (i + 508) | 0;
  48994. yc = (i + 504) | 0;
  48995. zc = (i + 500) | 0;
  48996. Ac = (i + 496) | 0;
  48997. Bc = (i + 492) | 0;
  48998. Cc = (i + 488) | 0;
  48999. Dc = (i + 484) | 0;
  49000. Ec = (i + 480) | 0;
  49001. Fc = (i + 476) | 0;
  49002. Gc = (i + 472) | 0;
  49003. Hc = (i + 468) | 0;
  49004. Ic = (i + 464) | 0;
  49005. Jc = (i + 460) | 0;
  49006. Kc = (i + 456) | 0;
  49007. Lc = (i + 452) | 0;
  49008. Mc = (i + 448) | 0;
  49009. Nc = (i + 444) | 0;
  49010. Oc = (i + 440) | 0;
  49011. Pc = (i + 436) | 0;
  49012. Qc = (i + 432) | 0;
  49013. Rc = (i + 428) | 0;
  49014. Sc = (i + 424) | 0;
  49015. Tc = (i + 420) | 0;
  49016. Uc = (i + 416) | 0;
  49017. Vc = (i + 412) | 0;
  49018. Wc = (i + 408) | 0;
  49019. Xc = (i + 404) | 0;
  49020. Yc = (i + 400) | 0;
  49021. Zc = (i + 396) | 0;
  49022. _c = (i + 392) | 0;
  49023. $c = (i + 388) | 0;
  49024. ad = (i + 384) | 0;
  49025. bd = (i + 380) | 0;
  49026. cd = (i + 376) | 0;
  49027. dd = (i + 372) | 0;
  49028. ed = (i + 368) | 0;
  49029. fd = (i + 364) | 0;
  49030. gd = (i + 360) | 0;
  49031. hd = (i + 356) | 0;
  49032. id = (i + 352) | 0;
  49033. jd = (i + 348) | 0;
  49034. kd = (i + 344) | 0;
  49035. ld = (i + 340) | 0;
  49036. md = (i + 336) | 0;
  49037. nd = (i + 332) | 0;
  49038. od = (i + 328) | 0;
  49039. pd = (i + 324) | 0;
  49040. qd = (i + 320) | 0;
  49041. rd = (i + 316) | 0;
  49042. sd = (i + 312) | 0;
  49043. td = (i + 308) | 0;
  49044. ud = (i + 304) | 0;
  49045. vd = (i + 300) | 0;
  49046. wd = (i + 296) | 0;
  49047. xd = (i + 292) | 0;
  49048. yd = (i + 288) | 0;
  49049. zd = (i + 284) | 0;
  49050. Ad = (i + 280) | 0;
  49051. Bd = (i + 276) | 0;
  49052. Cd = (i + 272) | 0;
  49053. Dd = (i + 268) | 0;
  49054. Ed = (i + 264) | 0;
  49055. Fd = (i + 260) | 0;
  49056. Gd = (i + 256) | 0;
  49057. Hd = (i + 252) | 0;
  49058. Id = (i + 248) | 0;
  49059. Jd = (i + 244) | 0;
  49060. Kd = (i + 240) | 0;
  49061. Ld = (i + 236) | 0;
  49062. Md = (i + 232) | 0;
  49063. Nd = (i + 228) | 0;
  49064. Od = (i + 224) | 0;
  49065. Pd = (i + 220) | 0;
  49066. Qd = (i + 216) | 0;
  49067. Rd = (i + 212) | 0;
  49068. Sd = (i + 208) | 0;
  49069. Td = (i + 204) | 0;
  49070. Ud = (i + 200) | 0;
  49071. Vd = (i + 196) | 0;
  49072. Wd = (i + 192) | 0;
  49073. Xd = (i + 172) | 0;
  49074. Yd = (i + 152) | 0;
  49075. Zd = (i + 132) | 0;
  49076. _d = (i + 112) | 0;
  49077. $d = (i + 108) | 0;
  49078. ae = (i + 104) | 0;
  49079. be = (i + 100) | 0;
  49080. ce = (i + 96) | 0;
  49081. de = (i + 92) | 0;
  49082. ee = (i + 88) | 0;
  49083. fe = (i + 84) | 0;
  49084. ge = (i + 80) | 0;
  49085. he = (i + 76) | 0;
  49086. ie = (i + 72) | 0;
  49087. je = (i + 68) | 0;
  49088. ke = (i + 64) | 0;
  49089. le = (i + 60) | 0;
  49090. me = (i + 56) | 0;
  49091. ne = (i + 52) | 0;
  49092. oe = (i + 48) | 0;
  49093. pe = (i + 44) | 0;
  49094. qe = (i + 1212) | 0;
  49095. re = (i + 40) | 0;
  49096. se = (i + 36) | 0;
  49097. te = (i + 32) | 0;
  49098. ue = (i + 28) | 0;
  49099. ve = (i + 24) | 0;
  49100. we = (i + 20) | 0;
  49101. xe = (i + 16) | 0;
  49102. ye = (i + 12) | 0;
  49103. ze = (i + 8) | 0;
  49104. Ae = (i + 4) | 0;
  49105. Be = i;
  49106. c[xe >> 2] = b;
  49107. c[ye >> 2] = e;
  49108. c[ze >> 2] = f;
  49109. c[Ae >> 2] = g;
  49110. c[Be >> 2] = h;
  49111. h = c[ye >> 2] | 0;
  49112. ye = c[ze >> 2] | 0;
  49113. ze = c[Ae >> 2] | 0;
  49114. Ae = c[Be >> 2] | 0;
  49115. c[Nd >> 2] = c[xe >> 2];
  49116. c[Od >> 2] = h;
  49117. c[Pd >> 2] = ye;
  49118. c[Qd >> 2] = ze;
  49119. c[Rd >> 2] = Ae;
  49120. if ((c[Qd >> 2] | 0) >>> 0 < 10) {
  49121. c[Md >> 2] = -20;
  49122. Ce = c[Md >> 2] | 0;
  49123. l = i;
  49124. return Ce | 0;
  49125. }
  49126. c[Sd >> 2] = c[Pd >> 2];
  49127. c[Td >> 2] = c[Nd >> 2];
  49128. c[Ud >> 2] = (c[Td >> 2] | 0) + (c[Od >> 2] | 0);
  49129. c[Vd >> 2] = (c[Rd >> 2] | 0) + 4;
  49130. c[Wd >> 2] = c[Vd >> 2];
  49131. c[$d >> 2] = (yp(c[Sd >> 2] | 0) | 0) & 65535;
  49132. c[ae >> 2] = (yp(((c[Sd >> 2] | 0) + 2) | 0) | 0) & 65535;
  49133. c[be >> 2] = (yp(((c[Sd >> 2] | 0) + 4) | 0) | 0) & 65535;
  49134. c[ce >> 2] =
  49135. (c[Qd >> 2] | 0) -
  49136. ((c[$d >> 2] | 0) +
  49137. (c[ae >> 2] | 0) +
  49138. (c[be >> 2] | 0) +
  49139. 6);
  49140. c[de >> 2] = (c[Sd >> 2] | 0) + 6;
  49141. c[ee >> 2] = (c[de >> 2] | 0) + (c[$d >> 2] | 0);
  49142. c[fe >> 2] = (c[ee >> 2] | 0) + (c[ae >> 2] | 0);
  49143. c[ge >> 2] = (c[fe >> 2] | 0) + (c[be >> 2] | 0);
  49144. c[he >> 2] = (((((c[Od >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  49145. c[ie >> 2] = (c[Td >> 2] | 0) + (c[he >> 2] | 0);
  49146. c[je >> 2] = (c[ie >> 2] | 0) + (c[he >> 2] | 0);
  49147. c[ke >> 2] = (c[je >> 2] | 0) + (c[he >> 2] | 0);
  49148. c[le >> 2] = c[Td >> 2];
  49149. c[me >> 2] = c[ie >> 2];
  49150. c[ne >> 2] = c[je >> 2];
  49151. c[oe >> 2] = c[ke >> 2];
  49152. bp(qe, c[Rd >> 2] | 0);
  49153. c[re >> 2] = d[(qe + 2) >> 0];
  49154. if ((c[ce >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
  49155. c[Md >> 2] = -20;
  49156. Ce = c[Md >> 2] | 0;
  49157. l = i;
  49158. return Ce | 0;
  49159. }
  49160. c[se >> 2] = fp(Xd, c[de >> 2] | 0, c[$d >> 2] | 0) | 0;
  49161. if (ap(c[se >> 2] | 0) | 0) {
  49162. c[Md >> 2] = c[se >> 2];
  49163. Ce = c[Md >> 2] | 0;
  49164. l = i;
  49165. return Ce | 0;
  49166. }
  49167. c[te >> 2] = fp(Yd, c[ee >> 2] | 0, c[ae >> 2] | 0) | 0;
  49168. if (ap(c[te >> 2] | 0) | 0) {
  49169. c[Md >> 2] = c[te >> 2];
  49170. Ce = c[Md >> 2] | 0;
  49171. l = i;
  49172. return Ce | 0;
  49173. }
  49174. c[ue >> 2] = fp(Zd, c[fe >> 2] | 0, c[be >> 2] | 0) | 0;
  49175. if (ap(c[ue >> 2] | 0) | 0) {
  49176. c[Md >> 2] = c[ue >> 2];
  49177. Ce = c[Md >> 2] | 0;
  49178. l = i;
  49179. return Ce | 0;
  49180. }
  49181. c[ve >> 2] = fp(_d, c[ge >> 2] | 0, c[ce >> 2] | 0) | 0;
  49182. if (ap(c[ve >> 2] | 0) | 0) {
  49183. c[Md >> 2] = c[ve >> 2];
  49184. Ce = c[Md >> 2] | 0;
  49185. l = i;
  49186. return Ce | 0;
  49187. }
  49188. ve = gp(Xd) | 0;
  49189. ce = ve | (gp(Yd) | 0);
  49190. ve = ce | (gp(Zd) | 0);
  49191. c[pe >> 2] = ve | (gp(_d) | 0);
  49192. while (1) {
  49193. if (
  49194. !(
  49195. ((c[pe >> 2] | 0) == 0
  49196. ? (c[oe >> 2] | 0) >>> 0 <
  49197. (((c[Ud >> 2] | 0) + -3) | 0) >>> 0
  49198. : 0) | 0
  49199. )
  49200. )
  49201. break;
  49202. if (hp() | 0) {
  49203. ve = c[Wd >> 2] | 0;
  49204. ce = c[re >> 2] | 0;
  49205. c[Hd >> 2] = c[le >> 2];
  49206. c[Id >> 2] = Xd;
  49207. c[Jd >> 2] = ve;
  49208. c[Kd >> 2] = ce;
  49209. c[Ld >> 2] = ip(c[Id >> 2] | 0, c[Kd >> 2] | 0) | 0;
  49210. ce = c[Hd >> 2] | 0;
  49211. ve = ((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2)) | 0;
  49212. a[ce >> 0] = a[ve >> 0] | 0;
  49213. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49214. jp(
  49215. c[Id >> 2] | 0,
  49216. d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 2) >> 0] | 0
  49217. );
  49218. c[le >> 2] =
  49219. (c[le >> 2] | 0) +
  49220. (d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 3) >> 0] |
  49221. 0);
  49222. }
  49223. if (hp() | 0) {
  49224. ve = c[Wd >> 2] | 0;
  49225. ce = c[re >> 2] | 0;
  49226. c[Cd >> 2] = c[me >> 2];
  49227. c[Dd >> 2] = Yd;
  49228. c[Ed >> 2] = ve;
  49229. c[Fd >> 2] = ce;
  49230. c[Gd >> 2] = ip(c[Dd >> 2] | 0, c[Fd >> 2] | 0) | 0;
  49231. ce = c[Cd >> 2] | 0;
  49232. ve = ((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2)) | 0;
  49233. a[ce >> 0] = a[ve >> 0] | 0;
  49234. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49235. jp(
  49236. c[Dd >> 2] | 0,
  49237. d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 2) >> 0] | 0
  49238. );
  49239. c[me >> 2] =
  49240. (c[me >> 2] | 0) +
  49241. (d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 3) >> 0] |
  49242. 0);
  49243. }
  49244. if (hp() | 0) {
  49245. ve = c[Wd >> 2] | 0;
  49246. ce = c[re >> 2] | 0;
  49247. c[xd >> 2] = c[ne >> 2];
  49248. c[yd >> 2] = Zd;
  49249. c[zd >> 2] = ve;
  49250. c[Ad >> 2] = ce;
  49251. c[Bd >> 2] = ip(c[yd >> 2] | 0, c[Ad >> 2] | 0) | 0;
  49252. ce = c[xd >> 2] | 0;
  49253. ve = ((c[zd >> 2] | 0) + (c[Bd >> 2] << 2)) | 0;
  49254. a[ce >> 0] = a[ve >> 0] | 0;
  49255. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49256. jp(
  49257. c[yd >> 2] | 0,
  49258. d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 2) >> 0] | 0
  49259. );
  49260. c[ne >> 2] =
  49261. (c[ne >> 2] | 0) +
  49262. (d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 3) >> 0] |
  49263. 0);
  49264. }
  49265. if (hp() | 0) {
  49266. ve = c[Wd >> 2] | 0;
  49267. ce = c[re >> 2] | 0;
  49268. c[sd >> 2] = c[oe >> 2];
  49269. c[td >> 2] = _d;
  49270. c[ud >> 2] = ve;
  49271. c[vd >> 2] = ce;
  49272. c[wd >> 2] = ip(c[td >> 2] | 0, c[vd >> 2] | 0) | 0;
  49273. ce = c[sd >> 2] | 0;
  49274. ve = ((c[ud >> 2] | 0) + (c[wd >> 2] << 2)) | 0;
  49275. a[ce >> 0] = a[ve >> 0] | 0;
  49276. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49277. jp(
  49278. c[td >> 2] | 0,
  49279. d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 2) >> 0] | 0
  49280. );
  49281. c[oe >> 2] =
  49282. (c[oe >> 2] | 0) +
  49283. (d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 3) >> 0] |
  49284. 0);
  49285. }
  49286. hp() | 0;
  49287. ve = c[Wd >> 2] | 0;
  49288. ce = c[re >> 2] | 0;
  49289. c[nd >> 2] = c[le >> 2];
  49290. c[od >> 2] = Xd;
  49291. c[pd >> 2] = ve;
  49292. c[qd >> 2] = ce;
  49293. c[rd >> 2] = ip(c[od >> 2] | 0, c[qd >> 2] | 0) | 0;
  49294. ce = c[nd >> 2] | 0;
  49295. ve = ((c[pd >> 2] | 0) + (c[rd >> 2] << 2)) | 0;
  49296. a[ce >> 0] = a[ve >> 0] | 0;
  49297. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49298. jp(
  49299. c[od >> 2] | 0,
  49300. d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 2) >> 0] | 0
  49301. );
  49302. c[le >> 2] =
  49303. (c[le >> 2] | 0) +
  49304. (d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 3) >> 0] | 0);
  49305. hp() | 0;
  49306. ve = c[Wd >> 2] | 0;
  49307. ce = c[re >> 2] | 0;
  49308. c[id >> 2] = c[me >> 2];
  49309. c[jd >> 2] = Yd;
  49310. c[kd >> 2] = ve;
  49311. c[ld >> 2] = ce;
  49312. c[md >> 2] = ip(c[jd >> 2] | 0, c[ld >> 2] | 0) | 0;
  49313. ce = c[id >> 2] | 0;
  49314. ve = ((c[kd >> 2] | 0) + (c[md >> 2] << 2)) | 0;
  49315. a[ce >> 0] = a[ve >> 0] | 0;
  49316. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49317. jp(
  49318. c[jd >> 2] | 0,
  49319. d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 2) >> 0] | 0
  49320. );
  49321. c[me >> 2] =
  49322. (c[me >> 2] | 0) +
  49323. (d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 3) >> 0] | 0);
  49324. hp() | 0;
  49325. ve = c[Wd >> 2] | 0;
  49326. ce = c[re >> 2] | 0;
  49327. c[dd >> 2] = c[ne >> 2];
  49328. c[ed >> 2] = Zd;
  49329. c[fd >> 2] = ve;
  49330. c[gd >> 2] = ce;
  49331. c[hd >> 2] = ip(c[ed >> 2] | 0, c[gd >> 2] | 0) | 0;
  49332. ce = c[dd >> 2] | 0;
  49333. ve = ((c[fd >> 2] | 0) + (c[hd >> 2] << 2)) | 0;
  49334. a[ce >> 0] = a[ve >> 0] | 0;
  49335. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49336. jp(
  49337. c[ed >> 2] | 0,
  49338. d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 2) >> 0] | 0
  49339. );
  49340. c[ne >> 2] =
  49341. (c[ne >> 2] | 0) +
  49342. (d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 3) >> 0] | 0);
  49343. hp() | 0;
  49344. ve = c[Wd >> 2] | 0;
  49345. ce = c[re >> 2] | 0;
  49346. c[_c >> 2] = c[oe >> 2];
  49347. c[$c >> 2] = _d;
  49348. c[ad >> 2] = ve;
  49349. c[bd >> 2] = ce;
  49350. c[cd >> 2] = ip(c[$c >> 2] | 0, c[bd >> 2] | 0) | 0;
  49351. ce = c[_c >> 2] | 0;
  49352. ve = ((c[ad >> 2] | 0) + (c[cd >> 2] << 2)) | 0;
  49353. a[ce >> 0] = a[ve >> 0] | 0;
  49354. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49355. jp(
  49356. c[$c >> 2] | 0,
  49357. d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 2) >> 0] | 0
  49358. );
  49359. c[oe >> 2] =
  49360. (c[oe >> 2] | 0) +
  49361. (d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 3) >> 0] | 0);
  49362. if (hp() | 0) {
  49363. ve = c[Wd >> 2] | 0;
  49364. ce = c[re >> 2] | 0;
  49365. c[Vc >> 2] = c[le >> 2];
  49366. c[Wc >> 2] = Xd;
  49367. c[Xc >> 2] = ve;
  49368. c[Yc >> 2] = ce;
  49369. c[Zc >> 2] = ip(c[Wc >> 2] | 0, c[Yc >> 2] | 0) | 0;
  49370. ce = c[Vc >> 2] | 0;
  49371. ve = ((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2)) | 0;
  49372. a[ce >> 0] = a[ve >> 0] | 0;
  49373. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49374. jp(
  49375. c[Wc >> 2] | 0,
  49376. d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 2) >> 0] | 0
  49377. );
  49378. c[le >> 2] =
  49379. (c[le >> 2] | 0) +
  49380. (d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 3) >> 0] |
  49381. 0);
  49382. }
  49383. if (hp() | 0) {
  49384. ve = c[Wd >> 2] | 0;
  49385. ce = c[re >> 2] | 0;
  49386. c[Qc >> 2] = c[me >> 2];
  49387. c[Rc >> 2] = Yd;
  49388. c[Sc >> 2] = ve;
  49389. c[Tc >> 2] = ce;
  49390. c[Uc >> 2] = ip(c[Rc >> 2] | 0, c[Tc >> 2] | 0) | 0;
  49391. ce = c[Qc >> 2] | 0;
  49392. ve = ((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2)) | 0;
  49393. a[ce >> 0] = a[ve >> 0] | 0;
  49394. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49395. jp(
  49396. c[Rc >> 2] | 0,
  49397. d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 2) >> 0] | 0
  49398. );
  49399. c[me >> 2] =
  49400. (c[me >> 2] | 0) +
  49401. (d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 3) >> 0] |
  49402. 0);
  49403. }
  49404. if (hp() | 0) {
  49405. ve = c[Wd >> 2] | 0;
  49406. ce = c[re >> 2] | 0;
  49407. c[Lc >> 2] = c[ne >> 2];
  49408. c[Mc >> 2] = Zd;
  49409. c[Nc >> 2] = ve;
  49410. c[Oc >> 2] = ce;
  49411. c[Pc >> 2] = ip(c[Mc >> 2] | 0, c[Oc >> 2] | 0) | 0;
  49412. ce = c[Lc >> 2] | 0;
  49413. ve = ((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2)) | 0;
  49414. a[ce >> 0] = a[ve >> 0] | 0;
  49415. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49416. jp(
  49417. c[Mc >> 2] | 0,
  49418. d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 2) >> 0] | 0
  49419. );
  49420. c[ne >> 2] =
  49421. (c[ne >> 2] | 0) +
  49422. (d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 3) >> 0] |
  49423. 0);
  49424. }
  49425. if (hp() | 0) {
  49426. ve = c[Wd >> 2] | 0;
  49427. ce = c[re >> 2] | 0;
  49428. c[Gc >> 2] = c[oe >> 2];
  49429. c[Hc >> 2] = _d;
  49430. c[Ic >> 2] = ve;
  49431. c[Jc >> 2] = ce;
  49432. c[Kc >> 2] = ip(c[Hc >> 2] | 0, c[Jc >> 2] | 0) | 0;
  49433. ce = c[Gc >> 2] | 0;
  49434. ve = ((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2)) | 0;
  49435. a[ce >> 0] = a[ve >> 0] | 0;
  49436. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49437. jp(
  49438. c[Hc >> 2] | 0,
  49439. d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 2) >> 0] | 0
  49440. );
  49441. c[oe >> 2] =
  49442. (c[oe >> 2] | 0) +
  49443. (d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 3) >> 0] |
  49444. 0);
  49445. }
  49446. ve = c[Wd >> 2] | 0;
  49447. ce = c[re >> 2] | 0;
  49448. c[Bc >> 2] = c[le >> 2];
  49449. c[Cc >> 2] = Xd;
  49450. c[Dc >> 2] = ve;
  49451. c[Ec >> 2] = ce;
  49452. c[Fc >> 2] = ip(c[Cc >> 2] | 0, c[Ec >> 2] | 0) | 0;
  49453. ce = c[Bc >> 2] | 0;
  49454. ve = ((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2)) | 0;
  49455. a[ce >> 0] = a[ve >> 0] | 0;
  49456. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49457. jp(
  49458. c[Cc >> 2] | 0,
  49459. d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 2) >> 0] | 0
  49460. );
  49461. c[le >> 2] =
  49462. (c[le >> 2] | 0) +
  49463. (d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 3) >> 0] | 0);
  49464. ve = c[Wd >> 2] | 0;
  49465. ce = c[re >> 2] | 0;
  49466. c[wc >> 2] = c[me >> 2];
  49467. c[xc >> 2] = Yd;
  49468. c[yc >> 2] = ve;
  49469. c[zc >> 2] = ce;
  49470. c[Ac >> 2] = ip(c[xc >> 2] | 0, c[zc >> 2] | 0) | 0;
  49471. ce = c[wc >> 2] | 0;
  49472. ve = ((c[yc >> 2] | 0) + (c[Ac >> 2] << 2)) | 0;
  49473. a[ce >> 0] = a[ve >> 0] | 0;
  49474. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49475. jp(
  49476. c[xc >> 2] | 0,
  49477. d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 2) >> 0] | 0
  49478. );
  49479. c[me >> 2] =
  49480. (c[me >> 2] | 0) +
  49481. (d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 3) >> 0] | 0);
  49482. ve = c[Wd >> 2] | 0;
  49483. ce = c[re >> 2] | 0;
  49484. c[rc >> 2] = c[ne >> 2];
  49485. c[sc >> 2] = Zd;
  49486. c[tc >> 2] = ve;
  49487. c[uc >> 2] = ce;
  49488. c[vc >> 2] = ip(c[sc >> 2] | 0, c[uc >> 2] | 0) | 0;
  49489. ce = c[rc >> 2] | 0;
  49490. ve = ((c[tc >> 2] | 0) + (c[vc >> 2] << 2)) | 0;
  49491. a[ce >> 0] = a[ve >> 0] | 0;
  49492. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49493. jp(
  49494. c[sc >> 2] | 0,
  49495. d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 2) >> 0] | 0
  49496. );
  49497. c[ne >> 2] =
  49498. (c[ne >> 2] | 0) +
  49499. (d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 3) >> 0] | 0);
  49500. ve = c[Wd >> 2] | 0;
  49501. ce = c[re >> 2] | 0;
  49502. c[mc >> 2] = c[oe >> 2];
  49503. c[nc >> 2] = _d;
  49504. c[oc >> 2] = ve;
  49505. c[pc >> 2] = ce;
  49506. c[qc >> 2] = ip(c[nc >> 2] | 0, c[pc >> 2] | 0) | 0;
  49507. ce = c[mc >> 2] | 0;
  49508. ve = ((c[oc >> 2] | 0) + (c[qc >> 2] << 2)) | 0;
  49509. a[ce >> 0] = a[ve >> 0] | 0;
  49510. a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
  49511. jp(
  49512. c[nc >> 2] | 0,
  49513. d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 2) >> 0] | 0
  49514. );
  49515. c[oe >> 2] =
  49516. (c[oe >> 2] | 0) +
  49517. (d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 3) >> 0] | 0);
  49518. ve = gp(Xd) | 0;
  49519. ce = ve | (gp(Yd) | 0);
  49520. ve = ce | (gp(Zd) | 0);
  49521. c[pe >> 2] = ve | (gp(_d) | 0);
  49522. }
  49523. if ((c[le >> 2] | 0) >>> 0 > (c[ie >> 2] | 0) >>> 0) {
  49524. c[Md >> 2] = -20;
  49525. Ce = c[Md >> 2] | 0;
  49526. l = i;
  49527. return Ce | 0;
  49528. }
  49529. if ((c[me >> 2] | 0) >>> 0 > (c[je >> 2] | 0) >>> 0) {
  49530. c[Md >> 2] = -20;
  49531. Ce = c[Md >> 2] | 0;
  49532. l = i;
  49533. return Ce | 0;
  49534. }
  49535. if ((c[ne >> 2] | 0) >>> 0 > (c[ke >> 2] | 0) >>> 0) {
  49536. c[Md >> 2] = -20;
  49537. Ce = c[Md >> 2] | 0;
  49538. l = i;
  49539. return Ce | 0;
  49540. }
  49541. pe = c[ie >> 2] | 0;
  49542. ie = c[Wd >> 2] | 0;
  49543. qc = c[re >> 2] | 0;
  49544. c[gc >> 2] = c[le >> 2];
  49545. c[hc >> 2] = Xd;
  49546. c[ic >> 2] = pe;
  49547. c[jc >> 2] = ie;
  49548. c[kc >> 2] = qc;
  49549. c[lc >> 2] = c[gc >> 2];
  49550. while (1) {
  49551. lc = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
  49552. if (
  49553. !(
  49554. lc &
  49555. ((c[gc >> 2] | 0) >>> 0 <
  49556. (((c[ic >> 2] | 0) + -3) | 0) >>> 0)
  49557. )
  49558. )
  49559. break;
  49560. if (hp() | 0) {
  49561. lc = c[hc >> 2] | 0;
  49562. qc = c[jc >> 2] | 0;
  49563. ie = c[kc >> 2] | 0;
  49564. c[bc >> 2] = c[gc >> 2];
  49565. c[cc >> 2] = lc;
  49566. c[dc >> 2] = qc;
  49567. c[ec >> 2] = ie;
  49568. c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
  49569. ie = c[bc >> 2] | 0;
  49570. qc = ((c[dc >> 2] | 0) + (c[fc >> 2] << 2)) | 0;
  49571. a[ie >> 0] = a[qc >> 0] | 0;
  49572. a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
  49573. jp(
  49574. c[cc >> 2] | 0,
  49575. d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 2) >> 0] | 0
  49576. );
  49577. c[gc >> 2] =
  49578. (c[gc >> 2] | 0) +
  49579. (d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 3) >> 0] |
  49580. 0);
  49581. }
  49582. hp() | 0;
  49583. qc = c[hc >> 2] | 0;
  49584. ie = c[jc >> 2] | 0;
  49585. lc = c[kc >> 2] | 0;
  49586. c[Yb >> 2] = c[gc >> 2];
  49587. c[Zb >> 2] = qc;
  49588. c[_b >> 2] = ie;
  49589. c[$b >> 2] = lc;
  49590. c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
  49591. lc = c[Yb >> 2] | 0;
  49592. ie = ((c[_b >> 2] | 0) + (c[ac >> 2] << 2)) | 0;
  49593. a[lc >> 0] = a[ie >> 0] | 0;
  49594. a[(lc + 1) >> 0] = a[(ie + 1) >> 0] | 0;
  49595. jp(
  49596. c[Zb >> 2] | 0,
  49597. d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 2) >> 0] | 0
  49598. );
  49599. c[gc >> 2] =
  49600. (c[gc >> 2] | 0) +
  49601. (d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 3) >> 0] | 0);
  49602. if (hp() | 0) {
  49603. ie = c[hc >> 2] | 0;
  49604. lc = c[jc >> 2] | 0;
  49605. qc = c[kc >> 2] | 0;
  49606. c[Tb >> 2] = c[gc >> 2];
  49607. c[Ub >> 2] = ie;
  49608. c[Vb >> 2] = lc;
  49609. c[Wb >> 2] = qc;
  49610. c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
  49611. qc = c[Tb >> 2] | 0;
  49612. lc = ((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2)) | 0;
  49613. a[qc >> 0] = a[lc >> 0] | 0;
  49614. a[(qc + 1) >> 0] = a[(lc + 1) >> 0] | 0;
  49615. jp(
  49616. c[Ub >> 2] | 0,
  49617. d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 2) >> 0] | 0
  49618. );
  49619. c[gc >> 2] =
  49620. (c[gc >> 2] | 0) +
  49621. (d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 3) >> 0] |
  49622. 0);
  49623. }
  49624. lc = c[hc >> 2] | 0;
  49625. qc = c[jc >> 2] | 0;
  49626. ie = c[kc >> 2] | 0;
  49627. c[Ob >> 2] = c[gc >> 2];
  49628. c[Pb >> 2] = lc;
  49629. c[Qb >> 2] = qc;
  49630. c[Rb >> 2] = ie;
  49631. c[Sb >> 2] = ip(c[Pb >> 2] | 0, c[Rb >> 2] | 0) | 0;
  49632. ie = c[Ob >> 2] | 0;
  49633. qc = ((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2)) | 0;
  49634. a[ie >> 0] = a[qc >> 0] | 0;
  49635. a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
  49636. jp(
  49637. c[Pb >> 2] | 0,
  49638. d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 2) >> 0] | 0
  49639. );
  49640. c[gc >> 2] =
  49641. (c[gc >> 2] | 0) +
  49642. (d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 3) >> 0] | 0);
  49643. }
  49644. while (1) {
  49645. Sb = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
  49646. if (
  49647. !(
  49648. Sb &
  49649. ((c[gc >> 2] | 0) >>> 0 <=
  49650. (((c[ic >> 2] | 0) + -2) | 0) >>> 0)
  49651. )
  49652. )
  49653. break;
  49654. Sb = c[hc >> 2] | 0;
  49655. Qb = c[jc >> 2] | 0;
  49656. Pb = c[kc >> 2] | 0;
  49657. c[Jb >> 2] = c[gc >> 2];
  49658. c[Kb >> 2] = Sb;
  49659. c[Lb >> 2] = Qb;
  49660. c[Mb >> 2] = Pb;
  49661. c[Nb >> 2] = ip(c[Kb >> 2] | 0, c[Mb >> 2] | 0) | 0;
  49662. Pb = c[Jb >> 2] | 0;
  49663. Qb = ((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2)) | 0;
  49664. a[Pb >> 0] = a[Qb >> 0] | 0;
  49665. a[(Pb + 1) >> 0] = a[(Qb + 1) >> 0] | 0;
  49666. jp(
  49667. c[Kb >> 2] | 0,
  49668. d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 2) >> 0] | 0
  49669. );
  49670. c[gc >> 2] =
  49671. (c[gc >> 2] | 0) +
  49672. (d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 3) >> 0] | 0);
  49673. }
  49674. while (1) {
  49675. De = c[gc >> 2] | 0;
  49676. if (
  49677. (c[gc >> 2] | 0) >>> 0 >
  49678. (((c[ic >> 2] | 0) + -2) | 0) >>> 0
  49679. )
  49680. break;
  49681. Nb = c[hc >> 2] | 0;
  49682. Lb = c[jc >> 2] | 0;
  49683. Kb = c[kc >> 2] | 0;
  49684. c[Eb >> 2] = De;
  49685. c[Fb >> 2] = Nb;
  49686. c[Gb >> 2] = Lb;
  49687. c[Hb >> 2] = Kb;
  49688. c[Ib >> 2] = ip(c[Fb >> 2] | 0, c[Hb >> 2] | 0) | 0;
  49689. Kb = c[Eb >> 2] | 0;
  49690. Lb = ((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2)) | 0;
  49691. a[Kb >> 0] = a[Lb >> 0] | 0;
  49692. a[(Kb + 1) >> 0] = a[(Lb + 1) >> 0] | 0;
  49693. jp(
  49694. c[Fb >> 2] | 0,
  49695. d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 2) >> 0] | 0
  49696. );
  49697. c[gc >> 2] =
  49698. (c[gc >> 2] | 0) +
  49699. (d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 3) >> 0] | 0);
  49700. }
  49701. if (De >>> 0 < (c[ic >> 2] | 0) >>> 0) {
  49702. ic = c[hc >> 2] | 0;
  49703. hc = c[jc >> 2] | 0;
  49704. jc = c[kc >> 2] | 0;
  49705. c[zb >> 2] = c[gc >> 2];
  49706. c[Ab >> 2] = ic;
  49707. c[Bb >> 2] = hc;
  49708. c[Cb >> 2] = jc;
  49709. c[Db >> 2] = ip(c[Ab >> 2] | 0, c[Cb >> 2] | 0) | 0;
  49710. a[c[zb >> 2] >> 0] =
  49711. a[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2)) >> 0] | 0;
  49712. zb = c[Ab >> 2] | 0;
  49713. if (
  49714. (d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 3) >> 0] |
  49715. 0 |
  49716. 0) !=
  49717. 1
  49718. ) {
  49719. if (
  49720. (c[(zb + 4) >> 2] | 0) >>> 0 < 32
  49721. ? (jp(
  49722. c[Ab >> 2] | 0,
  49723. d[
  49724. ((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0
  49725. ] | 0
  49726. ),
  49727. (c[((c[Ab >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  49728. : 0
  49729. )
  49730. c[((c[Ab >> 2] | 0) + 4) >> 2] = 32;
  49731. } else
  49732. jp(
  49733. zb,
  49734. d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0] | 0
  49735. );
  49736. c[gc >> 2] = (c[gc >> 2] | 0) + 1;
  49737. }
  49738. gc = c[je >> 2] | 0;
  49739. je = c[Wd >> 2] | 0;
  49740. Db = c[re >> 2] | 0;
  49741. c[tb >> 2] = c[me >> 2];
  49742. c[ub >> 2] = Yd;
  49743. c[vb >> 2] = gc;
  49744. c[wb >> 2] = je;
  49745. c[xb >> 2] = Db;
  49746. c[yb >> 2] = c[tb >> 2];
  49747. while (1) {
  49748. yb = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
  49749. if (
  49750. !(
  49751. yb &
  49752. ((c[tb >> 2] | 0) >>> 0 <
  49753. (((c[vb >> 2] | 0) + -3) | 0) >>> 0)
  49754. )
  49755. )
  49756. break;
  49757. if (hp() | 0) {
  49758. yb = c[ub >> 2] | 0;
  49759. Db = c[wb >> 2] | 0;
  49760. je = c[xb >> 2] | 0;
  49761. c[ob >> 2] = c[tb >> 2];
  49762. c[pb >> 2] = yb;
  49763. c[qb >> 2] = Db;
  49764. c[rb >> 2] = je;
  49765. c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
  49766. je = c[ob >> 2] | 0;
  49767. Db = ((c[qb >> 2] | 0) + (c[sb >> 2] << 2)) | 0;
  49768. a[je >> 0] = a[Db >> 0] | 0;
  49769. a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
  49770. jp(
  49771. c[pb >> 2] | 0,
  49772. d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 2) >> 0] | 0
  49773. );
  49774. c[tb >> 2] =
  49775. (c[tb >> 2] | 0) +
  49776. (d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 3) >> 0] |
  49777. 0);
  49778. }
  49779. hp() | 0;
  49780. Db = c[ub >> 2] | 0;
  49781. je = c[wb >> 2] | 0;
  49782. yb = c[xb >> 2] | 0;
  49783. c[jb >> 2] = c[tb >> 2];
  49784. c[kb >> 2] = Db;
  49785. c[lb >> 2] = je;
  49786. c[mb >> 2] = yb;
  49787. c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
  49788. yb = c[jb >> 2] | 0;
  49789. je = ((c[lb >> 2] | 0) + (c[nb >> 2] << 2)) | 0;
  49790. a[yb >> 0] = a[je >> 0] | 0;
  49791. a[(yb + 1) >> 0] = a[(je + 1) >> 0] | 0;
  49792. jp(
  49793. c[kb >> 2] | 0,
  49794. d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 2) >> 0] | 0
  49795. );
  49796. c[tb >> 2] =
  49797. (c[tb >> 2] | 0) +
  49798. (d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 3) >> 0] | 0);
  49799. if (hp() | 0) {
  49800. je = c[ub >> 2] | 0;
  49801. yb = c[wb >> 2] | 0;
  49802. Db = c[xb >> 2] | 0;
  49803. c[eb >> 2] = c[tb >> 2];
  49804. c[fb >> 2] = je;
  49805. c[gb >> 2] = yb;
  49806. c[hb >> 2] = Db;
  49807. c[ib >> 2] = ip(c[fb >> 2] | 0, c[hb >> 2] | 0) | 0;
  49808. Db = c[eb >> 2] | 0;
  49809. yb = ((c[gb >> 2] | 0) + (c[ib >> 2] << 2)) | 0;
  49810. a[Db >> 0] = a[yb >> 0] | 0;
  49811. a[(Db + 1) >> 0] = a[(yb + 1) >> 0] | 0;
  49812. jp(
  49813. c[fb >> 2] | 0,
  49814. d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 2) >> 0] | 0
  49815. );
  49816. c[tb >> 2] =
  49817. (c[tb >> 2] | 0) +
  49818. (d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 3) >> 0] |
  49819. 0);
  49820. }
  49821. yb = c[ub >> 2] | 0;
  49822. Db = c[wb >> 2] | 0;
  49823. je = c[xb >> 2] | 0;
  49824. c[$a >> 2] = c[tb >> 2];
  49825. c[ab >> 2] = yb;
  49826. c[bb >> 2] = Db;
  49827. c[cb >> 2] = je;
  49828. c[db >> 2] = ip(c[ab >> 2] | 0, c[cb >> 2] | 0) | 0;
  49829. je = c[$a >> 2] | 0;
  49830. Db = ((c[bb >> 2] | 0) + (c[db >> 2] << 2)) | 0;
  49831. a[je >> 0] = a[Db >> 0] | 0;
  49832. a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
  49833. jp(
  49834. c[ab >> 2] | 0,
  49835. d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 2) >> 0] | 0
  49836. );
  49837. c[tb >> 2] =
  49838. (c[tb >> 2] | 0) +
  49839. (d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 3) >> 0] | 0);
  49840. }
  49841. while (1) {
  49842. db = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
  49843. if (
  49844. !(
  49845. db &
  49846. ((c[tb >> 2] | 0) >>> 0 <=
  49847. (((c[vb >> 2] | 0) + -2) | 0) >>> 0)
  49848. )
  49849. )
  49850. break;
  49851. db = c[ub >> 2] | 0;
  49852. bb = c[wb >> 2] | 0;
  49853. ab = c[xb >> 2] | 0;
  49854. c[Wa >> 2] = c[tb >> 2];
  49855. c[Xa >> 2] = db;
  49856. c[Ya >> 2] = bb;
  49857. c[Za >> 2] = ab;
  49858. c[_a >> 2] = ip(c[Xa >> 2] | 0, c[Za >> 2] | 0) | 0;
  49859. ab = c[Wa >> 2] | 0;
  49860. bb = ((c[Ya >> 2] | 0) + (c[_a >> 2] << 2)) | 0;
  49861. a[ab >> 0] = a[bb >> 0] | 0;
  49862. a[(ab + 1) >> 0] = a[(bb + 1) >> 0] | 0;
  49863. jp(
  49864. c[Xa >> 2] | 0,
  49865. d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 2) >> 0] | 0
  49866. );
  49867. c[tb >> 2] =
  49868. (c[tb >> 2] | 0) +
  49869. (d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 3) >> 0] | 0);
  49870. }
  49871. while (1) {
  49872. Ee = c[tb >> 2] | 0;
  49873. if (
  49874. (c[tb >> 2] | 0) >>> 0 >
  49875. (((c[vb >> 2] | 0) + -2) | 0) >>> 0
  49876. )
  49877. break;
  49878. _a = c[ub >> 2] | 0;
  49879. Ya = c[wb >> 2] | 0;
  49880. Xa = c[xb >> 2] | 0;
  49881. c[Ra >> 2] = Ee;
  49882. c[Sa >> 2] = _a;
  49883. c[Ta >> 2] = Ya;
  49884. c[Ua >> 2] = Xa;
  49885. c[Va >> 2] = ip(c[Sa >> 2] | 0, c[Ua >> 2] | 0) | 0;
  49886. Xa = c[Ra >> 2] | 0;
  49887. Ya = ((c[Ta >> 2] | 0) + (c[Va >> 2] << 2)) | 0;
  49888. a[Xa >> 0] = a[Ya >> 0] | 0;
  49889. a[(Xa + 1) >> 0] = a[(Ya + 1) >> 0] | 0;
  49890. jp(
  49891. c[Sa >> 2] | 0,
  49892. d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 2) >> 0] | 0
  49893. );
  49894. c[tb >> 2] =
  49895. (c[tb >> 2] | 0) +
  49896. (d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 3) >> 0] | 0);
  49897. }
  49898. if (Ee >>> 0 < (c[vb >> 2] | 0) >>> 0) {
  49899. vb = c[ub >> 2] | 0;
  49900. ub = c[wb >> 2] | 0;
  49901. wb = c[xb >> 2] | 0;
  49902. c[Ma >> 2] = c[tb >> 2];
  49903. c[Na >> 2] = vb;
  49904. c[Oa >> 2] = ub;
  49905. c[Pa >> 2] = wb;
  49906. c[Qa >> 2] = ip(c[Na >> 2] | 0, c[Pa >> 2] | 0) | 0;
  49907. a[c[Ma >> 2] >> 0] =
  49908. a[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2)) >> 0] | 0;
  49909. Ma = c[Na >> 2] | 0;
  49910. if (
  49911. (d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 3) >> 0] |
  49912. 0 |
  49913. 0) !=
  49914. 1
  49915. ) {
  49916. if (
  49917. (c[(Ma + 4) >> 2] | 0) >>> 0 < 32
  49918. ? (jp(
  49919. c[Na >> 2] | 0,
  49920. d[
  49921. ((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0
  49922. ] | 0
  49923. ),
  49924. (c[((c[Na >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  49925. : 0
  49926. )
  49927. c[((c[Na >> 2] | 0) + 4) >> 2] = 32;
  49928. } else
  49929. jp(
  49930. Ma,
  49931. d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0] | 0
  49932. );
  49933. c[tb >> 2] = (c[tb >> 2] | 0) + 1;
  49934. }
  49935. tb = c[ke >> 2] | 0;
  49936. ke = c[Wd >> 2] | 0;
  49937. Qa = c[re >> 2] | 0;
  49938. c[Ga >> 2] = c[ne >> 2];
  49939. c[Ha >> 2] = Zd;
  49940. c[Ia >> 2] = tb;
  49941. c[Ja >> 2] = ke;
  49942. c[Ka >> 2] = Qa;
  49943. c[La >> 2] = c[Ga >> 2];
  49944. while (1) {
  49945. La = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
  49946. if (
  49947. !(
  49948. La &
  49949. ((c[Ga >> 2] | 0) >>> 0 <
  49950. (((c[Ia >> 2] | 0) + -3) | 0) >>> 0)
  49951. )
  49952. )
  49953. break;
  49954. if (hp() | 0) {
  49955. La = c[Ha >> 2] | 0;
  49956. Qa = c[Ja >> 2] | 0;
  49957. ke = c[Ka >> 2] | 0;
  49958. c[Ba >> 2] = c[Ga >> 2];
  49959. c[Ca >> 2] = La;
  49960. c[Da >> 2] = Qa;
  49961. c[Ea >> 2] = ke;
  49962. c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
  49963. ke = c[Ba >> 2] | 0;
  49964. Qa = ((c[Da >> 2] | 0) + (c[Fa >> 2] << 2)) | 0;
  49965. a[ke >> 0] = a[Qa >> 0] | 0;
  49966. a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
  49967. jp(
  49968. c[Ca >> 2] | 0,
  49969. d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 2) >> 0] | 0
  49970. );
  49971. c[Ga >> 2] =
  49972. (c[Ga >> 2] | 0) +
  49973. (d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 3) >> 0] |
  49974. 0);
  49975. }
  49976. hp() | 0;
  49977. Qa = c[Ha >> 2] | 0;
  49978. ke = c[Ja >> 2] | 0;
  49979. La = c[Ka >> 2] | 0;
  49980. c[wa >> 2] = c[Ga >> 2];
  49981. c[xa >> 2] = Qa;
  49982. c[ya >> 2] = ke;
  49983. c[za >> 2] = La;
  49984. c[Aa >> 2] = ip(c[xa >> 2] | 0, c[za >> 2] | 0) | 0;
  49985. La = c[wa >> 2] | 0;
  49986. ke = ((c[ya >> 2] | 0) + (c[Aa >> 2] << 2)) | 0;
  49987. a[La >> 0] = a[ke >> 0] | 0;
  49988. a[(La + 1) >> 0] = a[(ke + 1) >> 0] | 0;
  49989. jp(
  49990. c[xa >> 2] | 0,
  49991. d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 2) >> 0] | 0
  49992. );
  49993. c[Ga >> 2] =
  49994. (c[Ga >> 2] | 0) +
  49995. (d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 3) >> 0] | 0);
  49996. if (hp() | 0) {
  49997. ke = c[Ha >> 2] | 0;
  49998. La = c[Ja >> 2] | 0;
  49999. Qa = c[Ka >> 2] | 0;
  50000. c[ra >> 2] = c[Ga >> 2];
  50001. c[sa >> 2] = ke;
  50002. c[ta >> 2] = La;
  50003. c[ua >> 2] = Qa;
  50004. c[va >> 2] = ip(c[sa >> 2] | 0, c[ua >> 2] | 0) | 0;
  50005. Qa = c[ra >> 2] | 0;
  50006. La = ((c[ta >> 2] | 0) + (c[va >> 2] << 2)) | 0;
  50007. a[Qa >> 0] = a[La >> 0] | 0;
  50008. a[(Qa + 1) >> 0] = a[(La + 1) >> 0] | 0;
  50009. jp(
  50010. c[sa >> 2] | 0,
  50011. d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 2) >> 0] | 0
  50012. );
  50013. c[Ga >> 2] =
  50014. (c[Ga >> 2] | 0) +
  50015. (d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 3) >> 0] |
  50016. 0);
  50017. }
  50018. La = c[Ha >> 2] | 0;
  50019. Qa = c[Ja >> 2] | 0;
  50020. ke = c[Ka >> 2] | 0;
  50021. c[ma >> 2] = c[Ga >> 2];
  50022. c[na >> 2] = La;
  50023. c[oa >> 2] = Qa;
  50024. c[pa >> 2] = ke;
  50025. c[qa >> 2] = ip(c[na >> 2] | 0, c[pa >> 2] | 0) | 0;
  50026. ke = c[ma >> 2] | 0;
  50027. Qa = ((c[oa >> 2] | 0) + (c[qa >> 2] << 2)) | 0;
  50028. a[ke >> 0] = a[Qa >> 0] | 0;
  50029. a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
  50030. jp(
  50031. c[na >> 2] | 0,
  50032. d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 2) >> 0] | 0
  50033. );
  50034. c[Ga >> 2] =
  50035. (c[Ga >> 2] | 0) +
  50036. (d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 3) >> 0] | 0);
  50037. }
  50038. while (1) {
  50039. qa = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
  50040. if (
  50041. !(
  50042. qa &
  50043. ((c[Ga >> 2] | 0) >>> 0 <=
  50044. (((c[Ia >> 2] | 0) + -2) | 0) >>> 0)
  50045. )
  50046. )
  50047. break;
  50048. qa = c[Ha >> 2] | 0;
  50049. oa = c[Ja >> 2] | 0;
  50050. na = c[Ka >> 2] | 0;
  50051. c[ha >> 2] = c[Ga >> 2];
  50052. c[ia >> 2] = qa;
  50053. c[ja >> 2] = oa;
  50054. c[ka >> 2] = na;
  50055. c[la >> 2] = ip(c[ia >> 2] | 0, c[ka >> 2] | 0) | 0;
  50056. na = c[ha >> 2] | 0;
  50057. oa = ((c[ja >> 2] | 0) + (c[la >> 2] << 2)) | 0;
  50058. a[na >> 0] = a[oa >> 0] | 0;
  50059. a[(na + 1) >> 0] = a[(oa + 1) >> 0] | 0;
  50060. jp(
  50061. c[ia >> 2] | 0,
  50062. d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 2) >> 0] | 0
  50063. );
  50064. c[Ga >> 2] =
  50065. (c[Ga >> 2] | 0) +
  50066. (d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 3) >> 0] | 0);
  50067. }
  50068. while (1) {
  50069. Fe = c[Ga >> 2] | 0;
  50070. if (
  50071. (c[Ga >> 2] | 0) >>> 0 >
  50072. (((c[Ia >> 2] | 0) + -2) | 0) >>> 0
  50073. )
  50074. break;
  50075. la = c[Ha >> 2] | 0;
  50076. ja = c[Ja >> 2] | 0;
  50077. ia = c[Ka >> 2] | 0;
  50078. c[ca >> 2] = Fe;
  50079. c[da >> 2] = la;
  50080. c[ea >> 2] = ja;
  50081. c[fa >> 2] = ia;
  50082. c[ga >> 2] = ip(c[da >> 2] | 0, c[fa >> 2] | 0) | 0;
  50083. ia = c[ca >> 2] | 0;
  50084. ja = ((c[ea >> 2] | 0) + (c[ga >> 2] << 2)) | 0;
  50085. a[ia >> 0] = a[ja >> 0] | 0;
  50086. a[(ia + 1) >> 0] = a[(ja + 1) >> 0] | 0;
  50087. jp(
  50088. c[da >> 2] | 0,
  50089. d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 2) >> 0] | 0
  50090. );
  50091. c[Ga >> 2] =
  50092. (c[Ga >> 2] | 0) +
  50093. (d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 3) >> 0] | 0);
  50094. }
  50095. if (Fe >>> 0 < (c[Ia >> 2] | 0) >>> 0) {
  50096. Ia = c[Ha >> 2] | 0;
  50097. Ha = c[Ja >> 2] | 0;
  50098. Ja = c[Ka >> 2] | 0;
  50099. c[Z >> 2] = c[Ga >> 2];
  50100. c[_ >> 2] = Ia;
  50101. c[$ >> 2] = Ha;
  50102. c[aa >> 2] = Ja;
  50103. c[ba >> 2] = ip(c[_ >> 2] | 0, c[aa >> 2] | 0) | 0;
  50104. a[c[Z >> 2] >> 0] =
  50105. a[((c[$ >> 2] | 0) + (c[ba >> 2] << 2)) >> 0] | 0;
  50106. Z = c[_ >> 2] | 0;
  50107. if (
  50108. (d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 3) >> 0] |
  50109. 0 |
  50110. 0) !=
  50111. 1
  50112. ) {
  50113. if (
  50114. (c[(Z + 4) >> 2] | 0) >>> 0 < 32
  50115. ? (jp(
  50116. c[_ >> 2] | 0,
  50117. d[
  50118. ((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0
  50119. ] | 0
  50120. ),
  50121. (c[((c[_ >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  50122. : 0
  50123. )
  50124. c[((c[_ >> 2] | 0) + 4) >> 2] = 32;
  50125. } else
  50126. jp(
  50127. Z,
  50128. d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0] | 0
  50129. );
  50130. c[Ga >> 2] = (c[Ga >> 2] | 0) + 1;
  50131. }
  50132. Ga = c[Ud >> 2] | 0;
  50133. Ud = c[Wd >> 2] | 0;
  50134. Wd = c[re >> 2] | 0;
  50135. c[T >> 2] = c[oe >> 2];
  50136. c[U >> 2] = _d;
  50137. c[V >> 2] = Ga;
  50138. c[W >> 2] = Ud;
  50139. c[X >> 2] = Wd;
  50140. c[Y >> 2] = c[T >> 2];
  50141. while (1) {
  50142. Y = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  50143. if (
  50144. !(
  50145. Y &
  50146. ((c[T >> 2] | 0) >>> 0 <
  50147. (((c[V >> 2] | 0) + -3) | 0) >>> 0)
  50148. )
  50149. )
  50150. break;
  50151. if (hp() | 0) {
  50152. Y = c[U >> 2] | 0;
  50153. Wd = c[W >> 2] | 0;
  50154. Ud = c[X >> 2] | 0;
  50155. c[O >> 2] = c[T >> 2];
  50156. c[P >> 2] = Y;
  50157. c[Q >> 2] = Wd;
  50158. c[R >> 2] = Ud;
  50159. c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
  50160. Ud = c[O >> 2] | 0;
  50161. Wd = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
  50162. a[Ud >> 0] = a[Wd >> 0] | 0;
  50163. a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
  50164. jp(
  50165. c[P >> 2] | 0,
  50166. d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
  50167. );
  50168. c[T >> 2] =
  50169. (c[T >> 2] | 0) +
  50170. (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
  50171. }
  50172. hp() | 0;
  50173. Wd = c[U >> 2] | 0;
  50174. Ud = c[W >> 2] | 0;
  50175. Y = c[X >> 2] | 0;
  50176. c[J >> 2] = c[T >> 2];
  50177. c[K >> 2] = Wd;
  50178. c[L >> 2] = Ud;
  50179. c[M >> 2] = Y;
  50180. c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
  50181. Y = c[J >> 2] | 0;
  50182. Ud = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
  50183. a[Y >> 0] = a[Ud >> 0] | 0;
  50184. a[(Y + 1) >> 0] = a[(Ud + 1) >> 0] | 0;
  50185. jp(
  50186. c[K >> 2] | 0,
  50187. d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
  50188. );
  50189. c[T >> 2] =
  50190. (c[T >> 2] | 0) +
  50191. (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
  50192. if (hp() | 0) {
  50193. Ud = c[U >> 2] | 0;
  50194. Y = c[W >> 2] | 0;
  50195. Wd = c[X >> 2] | 0;
  50196. c[E >> 2] = c[T >> 2];
  50197. c[F >> 2] = Ud;
  50198. c[G >> 2] = Y;
  50199. c[H >> 2] = Wd;
  50200. c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
  50201. Wd = c[E >> 2] | 0;
  50202. Y = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
  50203. a[Wd >> 0] = a[Y >> 0] | 0;
  50204. a[(Wd + 1) >> 0] = a[(Y + 1) >> 0] | 0;
  50205. jp(
  50206. c[F >> 2] | 0,
  50207. d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
  50208. );
  50209. c[T >> 2] =
  50210. (c[T >> 2] | 0) +
  50211. (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
  50212. }
  50213. Y = c[U >> 2] | 0;
  50214. Wd = c[W >> 2] | 0;
  50215. Ud = c[X >> 2] | 0;
  50216. c[z >> 2] = c[T >> 2];
  50217. c[A >> 2] = Y;
  50218. c[B >> 2] = Wd;
  50219. c[C >> 2] = Ud;
  50220. c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
  50221. Ud = c[z >> 2] | 0;
  50222. Wd = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
  50223. a[Ud >> 0] = a[Wd >> 0] | 0;
  50224. a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
  50225. jp(
  50226. c[A >> 2] | 0,
  50227. d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
  50228. );
  50229. c[T >> 2] =
  50230. (c[T >> 2] | 0) +
  50231. (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
  50232. }
  50233. while (1) {
  50234. D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
  50235. if (
  50236. !(
  50237. D &
  50238. ((c[T >> 2] | 0) >>> 0 <=
  50239. (((c[V >> 2] | 0) + -2) | 0) >>> 0)
  50240. )
  50241. )
  50242. break;
  50243. D = c[U >> 2] | 0;
  50244. B = c[W >> 2] | 0;
  50245. A = c[X >> 2] | 0;
  50246. c[u >> 2] = c[T >> 2];
  50247. c[v >> 2] = D;
  50248. c[w >> 2] = B;
  50249. c[x >> 2] = A;
  50250. c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
  50251. A = c[u >> 2] | 0;
  50252. B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
  50253. a[A >> 0] = a[B >> 0] | 0;
  50254. a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
  50255. jp(
  50256. c[v >> 2] | 0,
  50257. d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
  50258. );
  50259. c[T >> 2] =
  50260. (c[T >> 2] | 0) +
  50261. (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
  50262. }
  50263. while (1) {
  50264. Ge = c[T >> 2] | 0;
  50265. if (
  50266. (c[T >> 2] | 0) >>> 0 >
  50267. (((c[V >> 2] | 0) + -2) | 0) >>> 0
  50268. )
  50269. break;
  50270. y = c[U >> 2] | 0;
  50271. w = c[W >> 2] | 0;
  50272. v = c[X >> 2] | 0;
  50273. c[p >> 2] = Ge;
  50274. c[q >> 2] = y;
  50275. c[r >> 2] = w;
  50276. c[s >> 2] = v;
  50277. c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
  50278. v = c[p >> 2] | 0;
  50279. w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
  50280. a[v >> 0] = a[w >> 0] | 0;
  50281. a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
  50282. jp(
  50283. c[q >> 2] | 0,
  50284. d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
  50285. );
  50286. c[T >> 2] =
  50287. (c[T >> 2] | 0) +
  50288. (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
  50289. }
  50290. if (Ge >>> 0 < (c[V >> 2] | 0) >>> 0) {
  50291. V = c[U >> 2] | 0;
  50292. U = c[W >> 2] | 0;
  50293. W = c[X >> 2] | 0;
  50294. c[j >> 2] = c[T >> 2];
  50295. c[k >> 2] = V;
  50296. c[m >> 2] = U;
  50297. c[n >> 2] = W;
  50298. c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
  50299. a[c[j >> 2] >> 0] =
  50300. a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
  50301. j = c[k >> 2] | 0;
  50302. if (
  50303. (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
  50304. 0 |
  50305. 0) !=
  50306. 1
  50307. ) {
  50308. if (
  50309. (c[(j + 4) >> 2] | 0) >>> 0 < 32
  50310. ? (jp(
  50311. c[k >> 2] | 0,
  50312. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
  50313. 0
  50314. ),
  50315. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
  50316. : 0
  50317. )
  50318. c[((c[k >> 2] | 0) + 4) >> 2] = 32;
  50319. } else
  50320. jp(
  50321. j,
  50322. d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
  50323. );
  50324. c[T >> 2] = (c[T >> 2] | 0) + 1;
  50325. }
  50326. T = lp(Xd) | 0;
  50327. Xd = T & (lp(Yd) | 0);
  50328. Yd = Xd & (lp(Zd) | 0);
  50329. c[we >> 2] = Yd & (lp(_d) | 0);
  50330. if (c[we >> 2] | 0) {
  50331. c[Md >> 2] = c[Od >> 2];
  50332. Ce = c[Md >> 2] | 0;
  50333. l = i;
  50334. return Ce | 0;
  50335. } else {
  50336. c[Md >> 2] = -20;
  50337. Ce = c[Md >> 2] | 0;
  50338. l = i;
  50339. return Ce | 0;
  50340. }
  50341. return 0;
  50342. }
  50343. function Mp(a, b, d, e, f, g, h, i) {
  50344. a = a | 0;
  50345. b = b | 0;
  50346. d = d | 0;
  50347. e = e | 0;
  50348. f = f | 0;
  50349. g = g | 0;
  50350. h = h | 0;
  50351. i = i | 0;
  50352. var j = 0,
  50353. k = 0,
  50354. m = 0,
  50355. n = 0,
  50356. o = 0,
  50357. p = 0,
  50358. q = 0,
  50359. r = 0,
  50360. s = 0,
  50361. t = 0,
  50362. u = 0,
  50363. v = 0,
  50364. w = 0;
  50365. j = l;
  50366. l = (l + 48) | 0;
  50367. k = (j + 40) | 0;
  50368. m = (j + 36) | 0;
  50369. n = (j + 32) | 0;
  50370. o = (j + 28) | 0;
  50371. p = (j + 24) | 0;
  50372. q = (j + 20) | 0;
  50373. r = (j + 16) | 0;
  50374. s = (j + 12) | 0;
  50375. t = (j + 8) | 0;
  50376. u = (j + 4) | 0;
  50377. v = j;
  50378. c[m >> 2] = a;
  50379. c[n >> 2] = b;
  50380. c[o >> 2] = d;
  50381. c[p >> 2] = e;
  50382. c[q >> 2] = f;
  50383. c[r >> 2] = g;
  50384. c[s >> 2] = h;
  50385. c[t >> 2] = i;
  50386. c[u >> 2] = c[p >> 2];
  50387. c[v >> 2] =
  50388. Bp(
  50389. c[m >> 2] | 0,
  50390. c[p >> 2] | 0,
  50391. c[q >> 2] | 0,
  50392. c[r >> 2] | 0,
  50393. c[s >> 2] | 0
  50394. ) | 0;
  50395. s = (ap(c[v >> 2] | 0) | 0) != 0;
  50396. r = c[v >> 2] | 0;
  50397. if (s) {
  50398. c[k >> 2] = r;
  50399. w = c[k >> 2] | 0;
  50400. l = j;
  50401. return w | 0;
  50402. }
  50403. if (r >>> 0 >= (c[q >> 2] | 0) >>> 0) {
  50404. c[k >> 2] = -72;
  50405. w = c[k >> 2] | 0;
  50406. l = j;
  50407. return w | 0;
  50408. } else {
  50409. c[u >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
  50410. c[q >> 2] = (c[q >> 2] | 0) - (c[v >> 2] | 0);
  50411. c[k >> 2] =
  50412. Jp(
  50413. c[n >> 2] | 0,
  50414. c[o >> 2] | 0,
  50415. c[u >> 2] | 0,
  50416. c[q >> 2] | 0,
  50417. c[m >> 2] | 0,
  50418. c[t >> 2] | 0
  50419. ) | 0;
  50420. w = c[k >> 2] | 0;
  50421. l = j;
  50422. return w | 0;
  50423. }
  50424. return 0;
  50425. }
  50426. function Np(a, b) {
  50427. a = a | 0;
  50428. b = b | 0;
  50429. var d = 0,
  50430. e = 0,
  50431. f = 0,
  50432. g = 0,
  50433. h = 0,
  50434. i = 0,
  50435. j = 0,
  50436. k = 0;
  50437. d = l;
  50438. l = (l + 32) | 0;
  50439. e = (d + 20) | 0;
  50440. f = (d + 16) | 0;
  50441. g = (d + 12) | 0;
  50442. h = (d + 8) | 0;
  50443. i = (d + 4) | 0;
  50444. j = d;
  50445. c[e >> 2] = a;
  50446. c[f >> 2] = b;
  50447. if ((c[f >> 2] | 0) >>> 0 >= (c[e >> 2] | 0) >>> 0) k = 15;
  50448. else
  50449. k =
  50450. (((c[f >> 2] << 4) >>> 0) / ((c[e >> 2] | 0) >>> 0)) | 0;
  50451. c[g >> 2] = k;
  50452. c[h >> 2] = (c[e >> 2] | 0) >>> 8;
  50453. c[i >> 2] =
  50454. (c[(7008 + (((c[g >> 2] | 0) * 24) | 0)) >> 2] | 0) +
  50455. (N(
  50456. c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 4) >> 2] | 0,
  50457. c[h >> 2] | 0
  50458. ) |
  50459. 0);
  50460. c[j >> 2] =
  50461. (c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8) >> 2] | 0) +
  50462. (N(
  50463. c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8 + 4) >> 2] | 0,
  50464. c[h >> 2] | 0
  50465. ) |
  50466. 0);
  50467. c[j >> 2] = (c[j >> 2] | 0) + ((c[j >> 2] | 0) >>> 3);
  50468. l = d;
  50469. return ((c[j >> 2] | 0) >>> 0 < (c[i >> 2] | 0) >>> 0) | 0;
  50470. }
  50471. function Op(a, b, e, f, g, h) {
  50472. a = a | 0;
  50473. b = b | 0;
  50474. e = e | 0;
  50475. f = f | 0;
  50476. g = g | 0;
  50477. h = h | 0;
  50478. var i = 0,
  50479. j = 0,
  50480. k = 0,
  50481. m = 0,
  50482. n = 0,
  50483. o = 0,
  50484. p = 0,
  50485. q = 0,
  50486. r = 0;
  50487. i = l;
  50488. l = (l + 32) | 0;
  50489. j = (i + 20) | 0;
  50490. k = (i + 16) | 0;
  50491. m = (i + 12) | 0;
  50492. n = (i + 8) | 0;
  50493. o = (i + 4) | 0;
  50494. p = i;
  50495. q = (i + 24) | 0;
  50496. c[j >> 2] = a;
  50497. c[k >> 2] = b;
  50498. c[m >> 2] = e;
  50499. c[n >> 2] = f;
  50500. c[o >> 2] = g;
  50501. c[p >> 2] = h;
  50502. bp(q, c[o >> 2] | 0);
  50503. h = c[j >> 2] | 0;
  50504. j = c[k >> 2] | 0;
  50505. k = c[m >> 2] | 0;
  50506. m = c[n >> 2] | 0;
  50507. n = c[o >> 2] | 0;
  50508. o = c[p >> 2] | 0;
  50509. if (d[(q + 1) >> 0] | 0 | 0) {
  50510. r = Gp(h, j, k, m, n, o) | 0;
  50511. l = i;
  50512. return r | 0;
  50513. } else {
  50514. r = cp(h, j, k, m, n, o) | 0;
  50515. l = i;
  50516. return r | 0;
  50517. }
  50518. return 0;
  50519. }
  50520. function Pp(a, b, d, e, f, g, h, i) {
  50521. a = a | 0;
  50522. b = b | 0;
  50523. d = d | 0;
  50524. e = e | 0;
  50525. f = f | 0;
  50526. g = g | 0;
  50527. h = h | 0;
  50528. i = i | 0;
  50529. var j = 0,
  50530. k = 0,
  50531. m = 0,
  50532. n = 0,
  50533. o = 0,
  50534. p = 0,
  50535. q = 0,
  50536. r = 0,
  50537. s = 0,
  50538. t = 0,
  50539. u = 0,
  50540. v = 0,
  50541. w = 0;
  50542. j = l;
  50543. l = (l + 48) | 0;
  50544. k = (j + 40) | 0;
  50545. m = (j + 36) | 0;
  50546. n = (j + 32) | 0;
  50547. o = (j + 28) | 0;
  50548. p = (j + 24) | 0;
  50549. q = (j + 20) | 0;
  50550. r = (j + 16) | 0;
  50551. s = (j + 12) | 0;
  50552. t = (j + 8) | 0;
  50553. u = (j + 4) | 0;
  50554. v = j;
  50555. c[m >> 2] = a;
  50556. c[n >> 2] = b;
  50557. c[o >> 2] = d;
  50558. c[p >> 2] = e;
  50559. c[q >> 2] = f;
  50560. c[r >> 2] = g;
  50561. c[s >> 2] = h;
  50562. c[t >> 2] = i;
  50563. c[u >> 2] = c[p >> 2];
  50564. c[v >> 2] =
  50565. $o(
  50566. c[m >> 2] | 0,
  50567. c[p >> 2] | 0,
  50568. c[q >> 2] | 0,
  50569. c[r >> 2] | 0,
  50570. c[s >> 2] | 0
  50571. ) | 0;
  50572. s = (ap(c[v >> 2] | 0) | 0) != 0;
  50573. r = c[v >> 2] | 0;
  50574. if (s) {
  50575. c[k >> 2] = r;
  50576. w = c[k >> 2] | 0;
  50577. l = j;
  50578. return w | 0;
  50579. }
  50580. if (r >>> 0 >= (c[q >> 2] | 0) >>> 0) {
  50581. c[k >> 2] = -72;
  50582. w = c[k >> 2] | 0;
  50583. l = j;
  50584. return w | 0;
  50585. } else {
  50586. c[u >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
  50587. c[q >> 2] = (c[q >> 2] | 0) - (c[v >> 2] | 0);
  50588. c[k >> 2] =
  50589. cp(
  50590. c[n >> 2] | 0,
  50591. c[o >> 2] | 0,
  50592. c[u >> 2] | 0,
  50593. c[q >> 2] | 0,
  50594. c[m >> 2] | 0,
  50595. c[t >> 2] | 0
  50596. ) | 0;
  50597. w = c[k >> 2] | 0;
  50598. l = j;
  50599. return w | 0;
  50600. }
  50601. return 0;
  50602. }
  50603. function Qp(a, b, e, f, g, h) {
  50604. a = a | 0;
  50605. b = b | 0;
  50606. e = e | 0;
  50607. f = f | 0;
  50608. g = g | 0;
  50609. h = h | 0;
  50610. var i = 0,
  50611. j = 0,
  50612. k = 0,
  50613. m = 0,
  50614. n = 0,
  50615. o = 0,
  50616. p = 0,
  50617. q = 0,
  50618. r = 0;
  50619. i = l;
  50620. l = (l + 32) | 0;
  50621. j = (i + 20) | 0;
  50622. k = (i + 16) | 0;
  50623. m = (i + 12) | 0;
  50624. n = (i + 8) | 0;
  50625. o = (i + 4) | 0;
  50626. p = i;
  50627. q = (i + 24) | 0;
  50628. c[j >> 2] = a;
  50629. c[k >> 2] = b;
  50630. c[m >> 2] = e;
  50631. c[n >> 2] = f;
  50632. c[o >> 2] = g;
  50633. c[p >> 2] = h;
  50634. bp(q, c[o >> 2] | 0);
  50635. h = c[j >> 2] | 0;
  50636. j = c[k >> 2] | 0;
  50637. k = c[m >> 2] | 0;
  50638. m = c[n >> 2] | 0;
  50639. n = c[o >> 2] | 0;
  50640. o = c[p >> 2] | 0;
  50641. if (d[(q + 1) >> 0] | 0 | 0) {
  50642. r = Jp(h, j, k, m, n, o) | 0;
  50643. l = i;
  50644. return r | 0;
  50645. } else {
  50646. r = vp(h, j, k, m, n, o) | 0;
  50647. l = i;
  50648. return r | 0;
  50649. }
  50650. return 0;
  50651. }
  50652. function Rp(a, b, d, e, f, g, h, i) {
  50653. a = a | 0;
  50654. b = b | 0;
  50655. d = d | 0;
  50656. e = e | 0;
  50657. f = f | 0;
  50658. g = g | 0;
  50659. h = h | 0;
  50660. i = i | 0;
  50661. var j = 0,
  50662. k = 0,
  50663. m = 0,
  50664. n = 0,
  50665. o = 0,
  50666. p = 0,
  50667. q = 0,
  50668. r = 0,
  50669. s = 0,
  50670. t = 0,
  50671. u = 0,
  50672. v = 0,
  50673. w = 0;
  50674. j = l;
  50675. l = (l + 48) | 0;
  50676. k = (j + 36) | 0;
  50677. m = (j + 32) | 0;
  50678. n = (j + 28) | 0;
  50679. o = (j + 24) | 0;
  50680. p = (j + 20) | 0;
  50681. q = (j + 16) | 0;
  50682. r = (j + 12) | 0;
  50683. s = (j + 8) | 0;
  50684. t = (j + 4) | 0;
  50685. u = j;
  50686. c[m >> 2] = a;
  50687. c[n >> 2] = b;
  50688. c[o >> 2] = d;
  50689. c[p >> 2] = e;
  50690. c[q >> 2] = f;
  50691. c[r >> 2] = g;
  50692. c[s >> 2] = h;
  50693. c[t >> 2] = i;
  50694. if (!(c[o >> 2] | 0)) {
  50695. c[k >> 2] = -70;
  50696. v = c[k >> 2] | 0;
  50697. l = j;
  50698. return v | 0;
  50699. }
  50700. if (!(c[q >> 2] | 0)) {
  50701. c[k >> 2] = -20;
  50702. v = c[k >> 2] | 0;
  50703. l = j;
  50704. return v | 0;
  50705. }
  50706. c[u >> 2] = Np(c[o >> 2] | 0, c[q >> 2] | 0) | 0;
  50707. i = c[m >> 2] | 0;
  50708. m = c[n >> 2] | 0;
  50709. n = c[o >> 2] | 0;
  50710. o = c[p >> 2] | 0;
  50711. p = c[q >> 2] | 0;
  50712. q = c[r >> 2] | 0;
  50713. r = c[s >> 2] | 0;
  50714. s = c[t >> 2] | 0;
  50715. if (c[u >> 2] | 0) w = Mp(i, m, n, o, p, q, r, s) | 0;
  50716. else w = Ap(i, m, n, o, p, q, r, s) | 0;
  50717. c[k >> 2] = w;
  50718. v = c[k >> 2] | 0;
  50719. l = j;
  50720. return v | 0;
  50721. }
  50722. function Sp(a) {
  50723. a = a | 0;
  50724. var b = 0,
  50725. d = 0,
  50726. e = 0,
  50727. f = 0;
  50728. b = l;
  50729. l = (l + 48) | 0;
  50730. d = (b + 24) | 0;
  50731. e = (b + 16) | 0;
  50732. f = b;
  50733. c[e >> 2] = a;
  50734. c[((c[e >> 2] | 0) + 28912) >> 2] = 0;
  50735. c[((c[e >> 2] | 0) + 28940) >> 2] = 0;
  50736. c[((c[e >> 2] | 0) + 28972) >> 2] = 134217729;
  50737. c[((c[e >> 2] | 0) + 28952) >> 2] = 0;
  50738. c[((c[e >> 2] | 0) + 28948) >> 2] = 0;
  50739. c[((c[e >> 2] | 0) + 28960) >> 2] = 0;
  50740. c[((c[e >> 2] | 0) + 28964) >> 2] = 0;
  50741. c[((c[e >> 2] | 0) + 28980) >> 2] = 0;
  50742. c[((c[e >> 2] | 0) + 28956) >> 2] = 0;
  50743. Tp(f);
  50744. c[d >> 2] = c[f >> 2];
  50745. c[(d + 4) >> 2] = c[(f + 4) >> 2];
  50746. c[(d + 8) >> 2] = c[(f + 8) >> 2];
  50747. c[(d + 12) >> 2] = c[(f + 12) >> 2];
  50748. f = Up(d) | 0;
  50749. c[((c[e >> 2] | 0) + 28944) >> 2] = f;
  50750. l = b;
  50751. return;
  50752. }
  50753. function Tp(a) {
  50754. a = a | 0;
  50755. var b = 0,
  50756. d = 0,
  50757. e = 0,
  50758. f = 0,
  50759. g = 0,
  50760. h = 0;
  50761. b = l;
  50762. l = (l + 32) | 0;
  50763. d = (b + 28) | 0;
  50764. e = (b + 24) | 0;
  50765. f = (b + 20) | 0;
  50766. g = (b + 16) | 0;
  50767. h = b;
  50768. c[d >> 2] = 0;
  50769. c[e >> 2] = 0;
  50770. c[f >> 2] = 0;
  50771. c[g >> 2] = 0;
  50772. c[h >> 2] = c[d >> 2];
  50773. c[(h + 4) >> 2] = c[e >> 2];
  50774. c[(h + 8) >> 2] = c[f >> 2];
  50775. c[(h + 12) >> 2] = c[g >> 2];
  50776. c[a >> 2] = c[h >> 2];
  50777. c[(a + 4) >> 2] = c[(h + 4) >> 2];
  50778. c[(a + 8) >> 2] = c[(h + 8) >> 2];
  50779. c[(a + 12) >> 2] = c[(h + 12) >> 2];
  50780. l = b;
  50781. return;
  50782. }
  50783. function Up(a) {
  50784. a = a | 0;
  50785. return (((c[(a + 8) >> 2] & 256) | 0) != 0) | 0;
  50786. }
  50787. function Vp(a) {
  50788. a = a | 0;
  50789. var b = 0,
  50790. d = 0,
  50791. e = 0,
  50792. f = 0,
  50793. g = 0;
  50794. b = l;
  50795. l = (l + 32) | 0;
  50796. d = (b + 8) | 0;
  50797. e = (b + 4) | 0;
  50798. f = b;
  50799. if (
  50800. (((((c[a >> 2] | 0) != 0) ^ 1) & 1) ^
  50801. ((((c[(a + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
  50802. 0
  50803. ) {
  50804. c[e >> 2] = 0;
  50805. g = c[e >> 2] | 0;
  50806. l = b;
  50807. return g | 0;
  50808. }
  50809. c[d >> 2] = c[a >> 2];
  50810. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  50811. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  50812. c[f >> 2] = Rh(160112, d) | 0;
  50813. if (c[f >> 2] | 0) {
  50814. d = ((c[f >> 2] | 0) + 28920) | 0;
  50815. c[d >> 2] = c[a >> 2];
  50816. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  50817. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  50818. c[((c[f >> 2] | 0) + 28996) >> 2] = 0;
  50819. c[((c[f >> 2] | 0) + 29e3) >> 2] = 0;
  50820. Sp(c[f >> 2] | 0);
  50821. c[e >> 2] = c[f >> 2];
  50822. g = c[e >> 2] | 0;
  50823. l = b;
  50824. return g | 0;
  50825. } else {
  50826. c[e >> 2] = 0;
  50827. g = c[e >> 2] | 0;
  50828. l = b;
  50829. return g | 0;
  50830. }
  50831. return 0;
  50832. }
  50833. function Wp() {
  50834. var a = 0,
  50835. b = 0,
  50836. d = 0;
  50837. a = l;
  50838. l = (l + 16) | 0;
  50839. b = a;
  50840. c[b >> 2] = c[5412];
  50841. c[(b + 4) >> 2] = c[5413];
  50842. c[(b + 8) >> 2] = c[5414];
  50843. d = Vp(b) | 0;
  50844. l = a;
  50845. return d | 0;
  50846. }
  50847. function Xp(a) {
  50848. a = a | 0;
  50849. var b = 0,
  50850. d = 0,
  50851. e = 0,
  50852. f = 0,
  50853. g = 0,
  50854. h = 0;
  50855. b = l;
  50856. l = (l + 32) | 0;
  50857. d = (b + 20) | 0;
  50858. e = (b + 16) | 0;
  50859. f = (b + 12) | 0;
  50860. g = b;
  50861. c[f >> 2] = a;
  50862. if (!(c[f >> 2] | 0)) {
  50863. c[e >> 2] = 0;
  50864. h = c[e >> 2] | 0;
  50865. l = b;
  50866. return h | 0;
  50867. }
  50868. if (c[((c[f >> 2] | 0) + 28940) >> 2] | 0) {
  50869. c[e >> 2] = -64;
  50870. h = c[e >> 2] | 0;
  50871. l = b;
  50872. return h | 0;
  50873. }
  50874. a = ((c[f >> 2] | 0) + 28920) | 0;
  50875. c[g >> 2] = c[a >> 2];
  50876. c[(g + 4) >> 2] = c[(a + 4) >> 2];
  50877. c[(g + 8) >> 2] = c[(a + 8) >> 2];
  50878. Yp(c[((c[f >> 2] | 0) + 28948) >> 2] | 0) | 0;
  50879. c[((c[f >> 2] | 0) + 28948) >> 2] = 0;
  50880. a = c[((c[f >> 2] | 0) + 28960) >> 2] | 0;
  50881. c[d >> 2] = c[g >> 2];
  50882. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  50883. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  50884. Th(a, d);
  50885. c[((c[f >> 2] | 0) + 28960) >> 2] = 0;
  50886. if (c[((c[f >> 2] | 0) + 28996) >> 2] | 0)
  50887. Zp(
  50888. c[((c[f >> 2] | 0) + 28996) >> 2] | 0,
  50889. c[((c[f >> 2] | 0) + 29e3) >> 2] | 0
  50890. ) | 0;
  50891. a = c[f >> 2] | 0;
  50892. c[d >> 2] = c[g >> 2];
  50893. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  50894. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  50895. Th(a, d);
  50896. c[e >> 2] = 0;
  50897. h = c[e >> 2] | 0;
  50898. l = b;
  50899. return h | 0;
  50900. }
  50901. function Yp(a) {
  50902. a = a | 0;
  50903. var b = 0,
  50904. d = 0,
  50905. e = 0,
  50906. f = 0,
  50907. g = 0,
  50908. h = 0;
  50909. b = l;
  50910. l = (l + 32) | 0;
  50911. d = (b + 20) | 0;
  50912. e = (b + 16) | 0;
  50913. f = (b + 12) | 0;
  50914. g = b;
  50915. c[f >> 2] = a;
  50916. if (!(c[f >> 2] | 0)) {
  50917. c[e >> 2] = 0;
  50918. h = c[e >> 2] | 0;
  50919. l = b;
  50920. return h | 0;
  50921. } else {
  50922. a = ((c[f >> 2] | 0) + 28732) | 0;
  50923. c[g >> 2] = c[a >> 2];
  50924. c[(g + 4) >> 2] = c[(a + 4) >> 2];
  50925. c[(g + 8) >> 2] = c[(a + 8) >> 2];
  50926. a = c[c[f >> 2] >> 2] | 0;
  50927. c[d >> 2] = c[g >> 2];
  50928. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  50929. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  50930. Th(a, d);
  50931. a = c[f >> 2] | 0;
  50932. c[d >> 2] = c[g >> 2];
  50933. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  50934. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  50935. Th(a, d);
  50936. c[e >> 2] = 0;
  50937. h = c[e >> 2] | 0;
  50938. l = b;
  50939. return h | 0;
  50940. }
  50941. return 0;
  50942. }
  50943. function Zp(a, b) {
  50944. a = a | 0;
  50945. b = b | 0;
  50946. var d = 0,
  50947. e = 0,
  50948. f = 0,
  50949. g = 0;
  50950. d = l;
  50951. l = (l + 16) | 0;
  50952. e = (d + 8) | 0;
  50953. f = (d + 4) | 0;
  50954. g = d;
  50955. c[f >> 2] = a;
  50956. c[g >> 2] = b;
  50957. switch (c[g >> 2] | 0) {
  50958. case 7: {
  50959. c[e >> 2] = bq(c[f >> 2] | 0) | 0;
  50960. break;
  50961. }
  50962. case 6: {
  50963. c[e >> 2] = aq(c[f >> 2] | 0) | 0;
  50964. break;
  50965. }
  50966. case 5: {
  50967. c[e >> 2] = $p(c[f >> 2] | 0) | 0;
  50968. break;
  50969. }
  50970. case 4: {
  50971. c[e >> 2] = _p(c[f >> 2] | 0) | 0;
  50972. break;
  50973. }
  50974. default:
  50975. c[e >> 2] = -12;
  50976. }
  50977. l = d;
  50978. return c[e >> 2] | 0;
  50979. }
  50980. function _p(a) {
  50981. a = a | 0;
  50982. var b = 0,
  50983. d = 0;
  50984. b = l;
  50985. l = (l + 16) | 0;
  50986. d = b;
  50987. c[d >> 2] = a;
  50988. a = fq(c[d >> 2] | 0) | 0;
  50989. l = b;
  50990. return a | 0;
  50991. }
  50992. function $p(a) {
  50993. a = a | 0;
  50994. var b = 0,
  50995. d = 0,
  50996. e = 0,
  50997. f = 0;
  50998. b = l;
  50999. l = (l + 16) | 0;
  51000. d = (b + 4) | 0;
  51001. e = b;
  51002. c[e >> 2] = a;
  51003. if (!(c[e >> 2] | 0)) {
  51004. c[d >> 2] = 0;
  51005. f = c[d >> 2] | 0;
  51006. l = b;
  51007. return f | 0;
  51008. } else {
  51009. eq(c[c[e >> 2] >> 2] | 0) | 0;
  51010. Dy(c[((c[e >> 2] | 0) + 48) >> 2] | 0);
  51011. Dy(c[((c[e >> 2] | 0) + 60) >> 2] | 0);
  51012. Dy(c[e >> 2] | 0);
  51013. c[d >> 2] = 0;
  51014. f = c[d >> 2] | 0;
  51015. l = b;
  51016. return f | 0;
  51017. }
  51018. return 0;
  51019. }
  51020. function aq(a) {
  51021. a = a | 0;
  51022. var b = 0,
  51023. d = 0,
  51024. e = 0,
  51025. f = 0;
  51026. b = l;
  51027. l = (l + 16) | 0;
  51028. d = (b + 4) | 0;
  51029. e = b;
  51030. c[e >> 2] = a;
  51031. if (!(c[e >> 2] | 0)) {
  51032. c[d >> 2] = 0;
  51033. f = c[d >> 2] | 0;
  51034. l = b;
  51035. return f | 0;
  51036. } else {
  51037. dq(c[c[e >> 2] >> 2] | 0) | 0;
  51038. Dy(c[((c[e >> 2] | 0) + 28) >> 2] | 0);
  51039. Dy(c[((c[e >> 2] | 0) + 40) >> 2] | 0);
  51040. Dy(c[e >> 2] | 0);
  51041. c[d >> 2] = 0;
  51042. f = c[d >> 2] | 0;
  51043. l = b;
  51044. return f | 0;
  51045. }
  51046. return 0;
  51047. }
  51048. function bq(a) {
  51049. a = a | 0;
  51050. var b = 0,
  51051. d = 0,
  51052. e = 0,
  51053. f = 0;
  51054. b = l;
  51055. l = (l + 16) | 0;
  51056. d = (b + 4) | 0;
  51057. e = b;
  51058. c[e >> 2] = a;
  51059. if (!(c[e >> 2] | 0)) {
  51060. c[d >> 2] = 0;
  51061. f = c[d >> 2] | 0;
  51062. l = b;
  51063. return f | 0;
  51064. }
  51065. cq(c[c[e >> 2] >> 2] | 0) | 0;
  51066. if (c[((c[e >> 2] | 0) + 36) >> 2] | 0)
  51067. xc[c[((c[e >> 2] | 0) + 92 + 4) >> 2] & 31](
  51068. c[((c[e >> 2] | 0) + 92 + 8) >> 2] | 0,
  51069. c[((c[e >> 2] | 0) + 36) >> 2] | 0
  51070. );
  51071. if (c[((c[e >> 2] | 0) + 48) >> 2] | 0)
  51072. xc[c[((c[e >> 2] | 0) + 92 + 4) >> 2] & 31](
  51073. c[((c[e >> 2] | 0) + 92 + 8) >> 2] | 0,
  51074. c[((c[e >> 2] | 0) + 48) >> 2] | 0
  51075. );
  51076. xc[c[((c[e >> 2] | 0) + 92 + 4) >> 2] & 31](
  51077. c[((c[e >> 2] | 0) + 92 + 8) >> 2] | 0,
  51078. c[e >> 2] | 0
  51079. );
  51080. c[d >> 2] = 0;
  51081. f = c[d >> 2] | 0;
  51082. l = b;
  51083. return f | 0;
  51084. }
  51085. function cq(a) {
  51086. a = a | 0;
  51087. var b = 0,
  51088. d = 0,
  51089. e = 0,
  51090. f = 0;
  51091. b = l;
  51092. l = (l + 16) | 0;
  51093. d = (b + 4) | 0;
  51094. e = b;
  51095. c[e >> 2] = a;
  51096. if (!(c[e >> 2] | 0)) {
  51097. c[d >> 2] = 0;
  51098. f = c[d >> 2] | 0;
  51099. l = b;
  51100. return f | 0;
  51101. } else {
  51102. xc[c[((c[e >> 2] | 0) + 21692 + 4) >> 2] & 31](
  51103. c[((c[e >> 2] | 0) + 21692 + 8) >> 2] | 0,
  51104. c[e >> 2] | 0
  51105. );
  51106. c[d >> 2] = 0;
  51107. f = c[d >> 2] | 0;
  51108. l = b;
  51109. return f | 0;
  51110. }
  51111. return 0;
  51112. }
  51113. function dq(a) {
  51114. a = a | 0;
  51115. var b = 0,
  51116. d = 0;
  51117. b = l;
  51118. l = (l + 16) | 0;
  51119. d = b;
  51120. c[d >> 2] = a;
  51121. Dy(c[d >> 2] | 0);
  51122. l = b;
  51123. return 0;
  51124. }
  51125. function eq(a) {
  51126. a = a | 0;
  51127. var b = 0,
  51128. d = 0;
  51129. b = l;
  51130. l = (l + 16) | 0;
  51131. d = b;
  51132. c[d >> 2] = a;
  51133. Dy(c[d >> 2] | 0);
  51134. l = b;
  51135. return 0;
  51136. }
  51137. function fq(a) {
  51138. a = a | 0;
  51139. var b = 0,
  51140. d = 0,
  51141. e = 0,
  51142. f = 0;
  51143. b = l;
  51144. l = (l + 16) | 0;
  51145. d = (b + 4) | 0;
  51146. e = b;
  51147. c[e >> 2] = a;
  51148. if (!(c[e >> 2] | 0)) {
  51149. c[d >> 2] = 0;
  51150. f = c[d >> 2] | 0;
  51151. l = b;
  51152. return f | 0;
  51153. } else {
  51154. gq(c[c[e >> 2] >> 2] | 0) | 0;
  51155. Dy(c[((c[e >> 2] | 0) + 40) >> 2] | 0);
  51156. Dy(c[((c[e >> 2] | 0) + 52) >> 2] | 0);
  51157. Dy(c[e >> 2] | 0);
  51158. c[d >> 2] = 0;
  51159. f = c[d >> 2] | 0;
  51160. l = b;
  51161. return f | 0;
  51162. }
  51163. return 0;
  51164. }
  51165. function gq(a) {
  51166. a = a | 0;
  51167. var b = 0,
  51168. d = 0;
  51169. b = l;
  51170. l = (l + 16) | 0;
  51171. d = b;
  51172. c[d >> 2] = a;
  51173. Dy(c[d >> 2] | 0);
  51174. l = b;
  51175. return 0;
  51176. }
  51177. function hq(a) {
  51178. a = a | 0;
  51179. var b = 0,
  51180. d = 0,
  51181. e = 0,
  51182. f = 0,
  51183. g = 0;
  51184. b = l;
  51185. l = (l + 16) | 0;
  51186. d = (b + 4) | 0;
  51187. e = b;
  51188. c[e >> 2] = a;
  51189. a = (jq() | 0) != 0;
  51190. f = kq(c[e >> 2] | 0) | 0;
  51191. if (a) {
  51192. c[d >> 2] = f;
  51193. g = c[d >> 2] | 0;
  51194. l = b;
  51195. return g | 0;
  51196. } else {
  51197. c[d >> 2] = lq(f) | 0;
  51198. g = c[d >> 2] | 0;
  51199. l = b;
  51200. return g | 0;
  51201. }
  51202. return 0;
  51203. }
  51204. function iq(a, b) {
  51205. a = a | 0;
  51206. b = b | 0;
  51207. var d = 0,
  51208. e = 0,
  51209. f = 0,
  51210. g = 0,
  51211. h = 0;
  51212. d = l;
  51213. l = (l + 16) | 0;
  51214. e = (d + 12) | 0;
  51215. f = (d + 8) | 0;
  51216. g = (d + 4) | 0;
  51217. h = d;
  51218. c[f >> 2] = a;
  51219. c[g >> 2] = b;
  51220. a: do {
  51221. if ((c[g >> 2] | 0) >>> 0 < 4) c[e >> 2] = 0;
  51222. else {
  51223. c[h >> 2] = hq(c[f >> 2] | 0) | 0;
  51224. switch (c[h >> 2] | 0) {
  51225. case -47205084: {
  51226. c[e >> 2] = 4;
  51227. break a;
  51228. break;
  51229. }
  51230. case -47205083: {
  51231. c[e >> 2] = 5;
  51232. break a;
  51233. break;
  51234. }
  51235. case -47205082: {
  51236. c[e >> 2] = 6;
  51237. break a;
  51238. break;
  51239. }
  51240. case -47205081: {
  51241. c[e >> 2] = 7;
  51242. break a;
  51243. break;
  51244. }
  51245. default: {
  51246. c[e >> 2] = 0;
  51247. break a;
  51248. }
  51249. }
  51250. }
  51251. } while (0);
  51252. l = d;
  51253. return c[e >> 2] | 0;
  51254. }
  51255. function jq() {
  51256. return d[11936] | 0 | 0;
  51257. }
  51258. function kq(a) {
  51259. a = a | 0;
  51260. var b = 0,
  51261. e = 0;
  51262. b = l;
  51263. l = (l + 16) | 0;
  51264. e = b;
  51265. c[e >> 2] = a;
  51266. a = c[e >> 2] | 0;
  51267. l = b;
  51268. return (
  51269. d[a >> 0] |
  51270. (d[(a + 1) >> 0] << 8) |
  51271. (d[(a + 2) >> 0] << 16) |
  51272. (d[(a + 3) >> 0] << 24) |
  51273. 0
  51274. );
  51275. }
  51276. function lq(a) {
  51277. a = a | 0;
  51278. var b = 0,
  51279. d = 0;
  51280. b = l;
  51281. l = (l + 16) | 0;
  51282. d = b;
  51283. c[d >> 2] = a;
  51284. l = b;
  51285. return (
  51286. ((c[d >> 2] << 24) & -16777216) |
  51287. ((c[d >> 2] << 8) & 16711680) |
  51288. (((c[d >> 2] | 0) >>> 8) & 65280) |
  51289. (((c[d >> 2] | 0) >>> 24) & 255) |
  51290. 0
  51291. );
  51292. }
  51293. function mq(a, b) {
  51294. a = a | 0;
  51295. b = b | 0;
  51296. var d = 0,
  51297. e = 0,
  51298. f = 0;
  51299. d = l;
  51300. l = (l + 16) | 0;
  51301. e = (d + 4) | 0;
  51302. f = d;
  51303. c[e >> 2] = a;
  51304. c[f >> 2] = b;
  51305. b = nq(c[e >> 2] | 0, c[f >> 2] | 0, 0) | 0;
  51306. l = d;
  51307. return b | 0;
  51308. }
  51309. function nq(b, e, f) {
  51310. b = b | 0;
  51311. e = e | 0;
  51312. f = f | 0;
  51313. var g = 0,
  51314. h = 0,
  51315. i = 0,
  51316. j = 0,
  51317. k = 0,
  51318. m = 0,
  51319. n = 0,
  51320. o = 0,
  51321. p = 0,
  51322. q = 0,
  51323. r = 0,
  51324. s = 0;
  51325. g = l;
  51326. l = (l + 48) | 0;
  51327. h = (g + 28) | 0;
  51328. i = (g + 24) | 0;
  51329. j = (g + 20) | 0;
  51330. k = (g + 16) | 0;
  51331. m = (g + 12) | 0;
  51332. n = (g + 32) | 0;
  51333. o = (g + 8) | 0;
  51334. p = (g + 4) | 0;
  51335. q = g;
  51336. c[i >> 2] = b;
  51337. c[j >> 2] = e;
  51338. c[k >> 2] = f;
  51339. c[m >> 2] = oq(c[k >> 2] | 0) | 0;
  51340. if ((c[j >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
  51341. c[h >> 2] = -72;
  51342. r = c[h >> 2] | 0;
  51343. l = g;
  51344. return r | 0;
  51345. }
  51346. a[n >> 0] =
  51347. a[((c[i >> 2] | 0) + ((c[m >> 2] | 0) - 1)) >> 0] | 0;
  51348. c[o >> 2] = (d[n >> 0] | 0) & 3;
  51349. c[p >> 2] = ((d[n >> 0] | 0) >> 5) & 1;
  51350. c[q >> 2] = (d[n >> 0] | 0) >> 6;
  51351. if (c[p >> 2] | 0) s = ((c[q >> 2] | 0) != 0) ^ 1;
  51352. else s = 0;
  51353. c[h >> 2] =
  51354. (c[m >> 2] | 0) +
  51355. ((((c[p >> 2] | 0) != 0) ^ 1) & 1) +
  51356. (c[(3456 + (c[o >> 2] << 2)) >> 2] | 0) +
  51357. (c[(3472 + (c[q >> 2] << 2)) >> 2] | 0) +
  51358. (s & 1);
  51359. r = c[h >> 2] | 0;
  51360. l = g;
  51361. return r | 0;
  51362. }
  51363. function oq(a) {
  51364. a = a | 0;
  51365. var b = 0,
  51366. d = 0,
  51367. e = 0;
  51368. b = l;
  51369. l = (l + 16) | 0;
  51370. d = (b + 4) | 0;
  51371. e = b;
  51372. c[d >> 2] = a;
  51373. c[e >> 2] = (c[d >> 2] | 0) == 1 ? 1 : 5;
  51374. l = b;
  51375. return c[e >> 2] | 0;
  51376. }
  51377. function pq(a, b, d) {
  51378. a = a | 0;
  51379. b = b | 0;
  51380. d = d | 0;
  51381. var e = 0,
  51382. f = 0,
  51383. g = 0,
  51384. h = 0;
  51385. e = l;
  51386. l = (l + 16) | 0;
  51387. f = (e + 8) | 0;
  51388. g = (e + 4) | 0;
  51389. h = e;
  51390. c[f >> 2] = a;
  51391. c[g >> 2] = b;
  51392. c[h >> 2] = d;
  51393. d = qq(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 0) | 0;
  51394. l = e;
  51395. return d | 0;
  51396. }
  51397. function qq(b, e, f, g) {
  51398. b = b | 0;
  51399. e = e | 0;
  51400. f = f | 0;
  51401. g = g | 0;
  51402. var h = 0,
  51403. i = 0,
  51404. j = 0,
  51405. k = 0,
  51406. m = 0,
  51407. n = 0,
  51408. o = 0,
  51409. p = 0,
  51410. q = 0,
  51411. r = 0,
  51412. s = 0,
  51413. t = 0,
  51414. u = 0,
  51415. v = 0,
  51416. w = 0,
  51417. x = 0,
  51418. z = 0,
  51419. A = 0,
  51420. B = 0,
  51421. C = 0,
  51422. D = 0;
  51423. h = l;
  51424. l = (l + 80) | 0;
  51425. i = (h + 72) | 0;
  51426. j = (h + 68) | 0;
  51427. k = (h + 64) | 0;
  51428. m = (h + 60) | 0;
  51429. n = (h + 56) | 0;
  51430. o = (h + 52) | 0;
  51431. p = (h + 48) | 0;
  51432. q = (h + 44) | 0;
  51433. r = (h + 77) | 0;
  51434. s = (h + 40) | 0;
  51435. t = (h + 36) | 0;
  51436. u = (h + 32) | 0;
  51437. v = (h + 28) | 0;
  51438. w = (h + 24) | 0;
  51439. x = (h + 8) | 0;
  51440. z = (h + 20) | 0;
  51441. A = h;
  51442. B = (h + 76) | 0;
  51443. C = (h + 16) | 0;
  51444. c[j >> 2] = b;
  51445. c[k >> 2] = e;
  51446. c[m >> 2] = f;
  51447. c[n >> 2] = g;
  51448. c[o >> 2] = c[k >> 2];
  51449. c[p >> 2] = oq(c[n >> 2] | 0) | 0;
  51450. if ((c[m >> 2] | 0) >>> 0 < (c[p >> 2] | 0) >>> 0) {
  51451. c[i >> 2] = c[p >> 2];
  51452. D = c[i >> 2] | 0;
  51453. l = h;
  51454. return D | 0;
  51455. }
  51456. if (
  51457. (c[n >> 2] | 0) != 1
  51458. ? (hq(c[k >> 2] | 0) | 0) != -47205080
  51459. : 0
  51460. ) {
  51461. if ((((hq(c[k >> 2] | 0) | 0) & -16) | 0) != 407710288) {
  51462. c[i >> 2] = -10;
  51463. D = c[i >> 2] | 0;
  51464. l = h;
  51465. return D | 0;
  51466. }
  51467. if ((c[m >> 2] | 0) >>> 0 < 8) {
  51468. c[i >> 2] = 8;
  51469. D = c[i >> 2] | 0;
  51470. l = h;
  51471. return D | 0;
  51472. } else {
  51473. g = c[j >> 2] | 0;
  51474. f = (g + 40) | 0;
  51475. do {
  51476. c[g >> 2] = 0;
  51477. g = (g + 4) | 0;
  51478. } while ((g | 0) < (f | 0));
  51479. g = hq(((c[k >> 2] | 0) + 4) | 0) | 0;
  51480. f = c[j >> 2] | 0;
  51481. c[f >> 2] = g;
  51482. c[(f + 4) >> 2] = 0;
  51483. c[((c[j >> 2] | 0) + 20) >> 2] = 1;
  51484. c[i >> 2] = 0;
  51485. D = c[i >> 2] | 0;
  51486. l = h;
  51487. return D | 0;
  51488. }
  51489. }
  51490. c[q >> 2] =
  51491. nq(c[k >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  51492. n = c[q >> 2] | 0;
  51493. if ((c[m >> 2] | 0) >>> 0 < (c[q >> 2] | 0) >>> 0) {
  51494. c[i >> 2] = n;
  51495. D = c[i >> 2] | 0;
  51496. l = h;
  51497. return D | 0;
  51498. }
  51499. c[((c[j >> 2] | 0) + 24) >> 2] = n;
  51500. a[r >> 0] =
  51501. a[((c[o >> 2] | 0) + ((c[p >> 2] | 0) - 1)) >> 0] | 0;
  51502. c[s >> 2] = c[p >> 2];
  51503. c[t >> 2] = (d[r >> 0] | 0) & 3;
  51504. c[u >> 2] = ((d[r >> 0] | 0) >> 2) & 1;
  51505. c[v >> 2] = ((d[r >> 0] | 0) >> 5) & 1;
  51506. c[w >> 2] = (d[r >> 0] | 0) >> 6;
  51507. p = x;
  51508. c[p >> 2] = 0;
  51509. c[(p + 4) >> 2] = 0;
  51510. c[z >> 2] = 0;
  51511. p = A;
  51512. c[p >> 2] = -1;
  51513. c[(p + 4) >> 2] = -1;
  51514. if (((d[r >> 0] | 0) & 8) | 0) {
  51515. c[i >> 2] = -14;
  51516. D = c[i >> 2] | 0;
  51517. l = h;
  51518. return D | 0;
  51519. }
  51520. do {
  51521. if (!(c[v >> 2] | 0)) {
  51522. r = c[o >> 2] | 0;
  51523. p = c[s >> 2] | 0;
  51524. c[s >> 2] = p + 1;
  51525. a[B >> 0] = a[(r + p) >> 0] | 0;
  51526. c[C >> 2] = ((d[B >> 0] | 0) >> 3) + 10;
  51527. if ((c[C >> 2] | 0) >>> 0 <= 30) {
  51528. p = jE(1, 0, c[C >> 2] | 0) | 0;
  51529. r = x;
  51530. c[r >> 2] = p;
  51531. c[(r + 4) >> 2] = y;
  51532. r = x;
  51533. p = iE(c[r >> 2] | 0, c[(r + 4) >> 2] | 0, 3) | 0;
  51534. r = (d[B >> 0] | 0) & 7;
  51535. n =
  51536. cE(
  51537. p | 0,
  51538. y | 0,
  51539. r | 0,
  51540. ((((r | 0) < 0) << 31) >> 31) | 0
  51541. ) | 0;
  51542. r = x;
  51543. p =
  51544. dE(c[r >> 2] | 0, c[(r + 4) >> 2] | 0, n | 0, y | 0) |
  51545. 0;
  51546. n = x;
  51547. c[n >> 2] = p;
  51548. c[(n + 4) >> 2] = y;
  51549. break;
  51550. }
  51551. c[i >> 2] = -16;
  51552. D = c[i >> 2] | 0;
  51553. l = h;
  51554. return D | 0;
  51555. }
  51556. } while (0);
  51557. switch (c[t >> 2] | 0) {
  51558. case 3: {
  51559. c[z >> 2] =
  51560. hq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0;
  51561. c[s >> 2] = (c[s >> 2] | 0) + 4;
  51562. break;
  51563. }
  51564. case 1: {
  51565. c[z >> 2] = d[((c[o >> 2] | 0) + (c[s >> 2] | 0)) >> 0];
  51566. c[s >> 2] = (c[s >> 2] | 0) + 1;
  51567. break;
  51568. }
  51569. case 2: {
  51570. c[z >> 2] =
  51571. (rq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0) &
  51572. 65535;
  51573. c[s >> 2] = (c[s >> 2] | 0) + 2;
  51574. break;
  51575. }
  51576. default: {
  51577. }
  51578. }
  51579. switch (c[w >> 2] | 0) {
  51580. case 3: {
  51581. w = A;
  51582. c[w >> 2] =
  51583. sq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0;
  51584. c[(w + 4) >> 2] = y;
  51585. break;
  51586. }
  51587. case 1: {
  51588. w =
  51589. (((rq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0) &
  51590. 65535) +
  51591. 256) |
  51592. 0;
  51593. t = A;
  51594. c[t >> 2] = w;
  51595. c[(t + 4) >> 2] = (((w | 0) < 0) << 31) >> 31;
  51596. break;
  51597. }
  51598. case 2: {
  51599. w = A;
  51600. c[w >> 2] =
  51601. hq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0;
  51602. c[(w + 4) >> 2] = 0;
  51603. break;
  51604. }
  51605. default:
  51606. if (c[v >> 2] | 0) {
  51607. w = A;
  51608. c[w >> 2] = d[((c[o >> 2] | 0) + (c[s >> 2] | 0)) >> 0];
  51609. c[(w + 4) >> 2] = 0;
  51610. }
  51611. }
  51612. if (c[v >> 2] | 0) {
  51613. v = A;
  51614. w = c[(v + 4) >> 2] | 0;
  51615. s = x;
  51616. c[s >> 2] = c[v >> 2];
  51617. c[(s + 4) >> 2] = w;
  51618. }
  51619. c[((c[j >> 2] | 0) + 20) >> 2] = 0;
  51620. w = A;
  51621. A = c[(w + 4) >> 2] | 0;
  51622. s = c[j >> 2] | 0;
  51623. c[s >> 2] = c[w >> 2];
  51624. c[(s + 4) >> 2] = A;
  51625. A = x;
  51626. s = c[(A + 4) >> 2] | 0;
  51627. w = ((c[j >> 2] | 0) + 8) | 0;
  51628. c[w >> 2] = c[A >> 2];
  51629. c[(w + 4) >> 2] = s;
  51630. s = x;
  51631. w = c[(s + 4) >> 2] | 0;
  51632. A =
  51633. (w >>> 0 < 0) |
  51634. (((w | 0) == 0) & ((c[s >> 2] | 0) >>> 0 < 131072));
  51635. s = x;
  51636. x = c[(s + 4) >> 2] | 0;
  51637. x = A ? c[s >> 2] | 0 : 131072;
  51638. c[((c[j >> 2] | 0) + 16) >> 2] = x;
  51639. c[((c[j >> 2] | 0) + 28) >> 2] = c[z >> 2];
  51640. c[((c[j >> 2] | 0) + 32) >> 2] = c[u >> 2];
  51641. c[i >> 2] = 0;
  51642. D = c[i >> 2] | 0;
  51643. l = h;
  51644. return D | 0;
  51645. }
  51646. function rq(a) {
  51647. a = a | 0;
  51648. var e = 0,
  51649. f = 0,
  51650. g = 0,
  51651. h = 0,
  51652. i = 0,
  51653. j = 0;
  51654. e = l;
  51655. l = (l + 16) | 0;
  51656. f = (e + 8) | 0;
  51657. g = (e + 4) | 0;
  51658. h = e;
  51659. c[g >> 2] = a;
  51660. a = (jq() | 0) != 0;
  51661. i = c[g >> 2] | 0;
  51662. if (a) {
  51663. b[f >> 1] = vq(i) | 0;
  51664. j = b[f >> 1] | 0;
  51665. l = e;
  51666. return j | 0;
  51667. } else {
  51668. c[h >> 2] = i;
  51669. b[f >> 1] =
  51670. (d[c[h >> 2] >> 0] | 0) +
  51671. ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
  51672. j = b[f >> 1] | 0;
  51673. l = e;
  51674. return j | 0;
  51675. }
  51676. return 0;
  51677. }
  51678. function sq(a) {
  51679. a = a | 0;
  51680. var b = 0,
  51681. d = 0,
  51682. e = 0,
  51683. f = 0;
  51684. b = l;
  51685. l = (l + 16) | 0;
  51686. d = b;
  51687. e = (b + 8) | 0;
  51688. c[e >> 2] = a;
  51689. a = (jq() | 0) != 0;
  51690. f = tq(c[e >> 2] | 0) | 0;
  51691. e = y;
  51692. if (a) {
  51693. a = d;
  51694. c[a >> 2] = f;
  51695. c[(a + 4) >> 2] = e;
  51696. } else {
  51697. a = uq(f, e) | 0;
  51698. e = d;
  51699. c[e >> 2] = a;
  51700. c[(e + 4) >> 2] = y;
  51701. }
  51702. e = d;
  51703. y = c[(e + 4) >> 2] | 0;
  51704. l = b;
  51705. return c[e >> 2] | 0;
  51706. }
  51707. function tq(a) {
  51708. a = a | 0;
  51709. var b = 0,
  51710. e = 0,
  51711. f = 0;
  51712. b = l;
  51713. l = (l + 16) | 0;
  51714. e = b;
  51715. c[e >> 2] = a;
  51716. a = c[e >> 2] | 0;
  51717. e = a;
  51718. f = (a + 4) | 0;
  51719. y =
  51720. d[f >> 0] |
  51721. (d[(f + 1) >> 0] << 8) |
  51722. (d[(f + 2) >> 0] << 16) |
  51723. (d[(f + 3) >> 0] << 24);
  51724. l = b;
  51725. return (
  51726. d[e >> 0] |
  51727. (d[(e + 1) >> 0] << 8) |
  51728. (d[(e + 2) >> 0] << 16) |
  51729. (d[(e + 3) >> 0] << 24) |
  51730. 0
  51731. );
  51732. }
  51733. function uq(a, b) {
  51734. a = a | 0;
  51735. b = b | 0;
  51736. var d = 0,
  51737. e = 0,
  51738. f = 0,
  51739. g = 0,
  51740. h = 0;
  51741. d = l;
  51742. l = (l + 16) | 0;
  51743. e = d;
  51744. f = e;
  51745. c[f >> 2] = a;
  51746. c[(f + 4) >> 2] = b;
  51747. b = e;
  51748. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  51749. b = y & -16777216;
  51750. f = e;
  51751. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  51752. f = b | (y & 16711680);
  51753. b = e;
  51754. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  51755. b = f | (y & 65280);
  51756. f = e;
  51757. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  51758. f = b | (y & 255);
  51759. b = e;
  51760. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  51761. b = e;
  51762. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  51763. b = e;
  51764. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  51765. b = e;
  51766. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  51767. y = f;
  51768. l = d;
  51769. return (
  51770. (a & -16777216) |
  51771. (g & 16711680) |
  51772. (h & 65280) |
  51773. (e & 255) |
  51774. 0
  51775. );
  51776. }
  51777. function vq(a) {
  51778. a = a | 0;
  51779. var b = 0,
  51780. e = 0;
  51781. b = l;
  51782. l = (l + 16) | 0;
  51783. e = b;
  51784. c[e >> 2] = a;
  51785. a = c[e >> 2] | 0;
  51786. l = b;
  51787. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  51788. }
  51789. function wq(a, b) {
  51790. a = a | 0;
  51791. b = b | 0;
  51792. var d = 0,
  51793. e = 0,
  51794. f = 0,
  51795. g = 0,
  51796. h = 0,
  51797. i = 0,
  51798. j = 0,
  51799. k = 0,
  51800. m = 0;
  51801. d = l;
  51802. l = (l + 64) | 0;
  51803. e = (d + 48) | 0;
  51804. f = (d + 60) | 0;
  51805. g = (d + 56) | 0;
  51806. h = (d + 40) | 0;
  51807. i = d;
  51808. c[f >> 2] = a;
  51809. c[g >> 2] = b;
  51810. b = (iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0) != 0;
  51811. a = c[f >> 2] | 0;
  51812. f = c[g >> 2] | 0;
  51813. do {
  51814. if (!b) {
  51815. if (pq(i, a, f) | 0) {
  51816. g = e;
  51817. c[g >> 2] = -2;
  51818. c[(g + 4) >> 2] = -1;
  51819. break;
  51820. }
  51821. if ((c[(i + 20) >> 2] | 0) == 1) {
  51822. g = e;
  51823. c[g >> 2] = 0;
  51824. c[(g + 4) >> 2] = 0;
  51825. break;
  51826. } else {
  51827. g = i;
  51828. j = c[(g + 4) >> 2] | 0;
  51829. k = e;
  51830. c[k >> 2] = c[g >> 2];
  51831. c[(k + 4) >> 2] = j;
  51832. break;
  51833. }
  51834. } else {
  51835. j = xq(a, f) | 0;
  51836. k = h;
  51837. c[k >> 2] = j;
  51838. c[(k + 4) >> 2] = y;
  51839. k = h;
  51840. j = ((c[k >> 2] | 0) == 0) & ((c[(k + 4) >> 2] | 0) == 0);
  51841. k = h;
  51842. g = j ? -1 : c[(k + 4) >> 2] | 0;
  51843. m = e;
  51844. c[m >> 2] = j ? -1 : c[k >> 2] | 0;
  51845. c[(m + 4) >> 2] = g;
  51846. }
  51847. } while (0);
  51848. h = e;
  51849. y = c[(h + 4) >> 2] | 0;
  51850. l = d;
  51851. return c[h >> 2] | 0;
  51852. }
  51853. function xq(a, b) {
  51854. a = a | 0;
  51855. b = b | 0;
  51856. var d = 0,
  51857. e = 0,
  51858. f = 0,
  51859. g = 0,
  51860. h = 0,
  51861. i = 0,
  51862. j = 0,
  51863. k = 0,
  51864. m = 0,
  51865. n = 0,
  51866. o = 0,
  51867. p = 0;
  51868. d = l;
  51869. l = (l + 112) | 0;
  51870. e = (d + 80) | 0;
  51871. f = (d + 108) | 0;
  51872. g = (d + 104) | 0;
  51873. h = (d + 100) | 0;
  51874. i = (d + 40) | 0;
  51875. j = (d + 96) | 0;
  51876. k = (d + 24) | 0;
  51877. m = (d + 92) | 0;
  51878. n = d;
  51879. o = (d + 88) | 0;
  51880. c[f >> 2] = a;
  51881. c[g >> 2] = b;
  51882. c[h >> 2] = iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  51883. do {
  51884. if ((c[h >> 2] | 0) >>> 0 >= 5) {
  51885. if ((c[h >> 2] | 0) == 5) {
  51886. c[j >> 2] = yq(i, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  51887. if (c[j >> 2] | 0) {
  51888. b = e;
  51889. c[b >> 2] = 0;
  51890. c[(b + 4) >> 2] = 0;
  51891. break;
  51892. } else {
  51893. b = i;
  51894. a = c[(b + 4) >> 2] | 0;
  51895. p = e;
  51896. c[p >> 2] = c[b >> 2];
  51897. c[(p + 4) >> 2] = a;
  51898. break;
  51899. }
  51900. }
  51901. if ((c[h >> 2] | 0) == 6) {
  51902. c[m >> 2] = zq(k, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  51903. if (c[m >> 2] | 0) {
  51904. a = e;
  51905. c[a >> 2] = 0;
  51906. c[(a + 4) >> 2] = 0;
  51907. break;
  51908. } else {
  51909. a = k;
  51910. p = c[(a + 4) >> 2] | 0;
  51911. b = e;
  51912. c[b >> 2] = c[a >> 2];
  51913. c[(b + 4) >> 2] = p;
  51914. break;
  51915. }
  51916. }
  51917. if ((c[h >> 2] | 0) != 7) {
  51918. p = e;
  51919. c[p >> 2] = 0;
  51920. c[(p + 4) >> 2] = 0;
  51921. break;
  51922. }
  51923. c[o >> 2] = Aq(n, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  51924. if (c[o >> 2] | 0) {
  51925. p = e;
  51926. c[p >> 2] = 0;
  51927. c[(p + 4) >> 2] = 0;
  51928. break;
  51929. } else {
  51930. p = n;
  51931. b = c[(p + 4) >> 2] | 0;
  51932. a = e;
  51933. c[a >> 2] = c[p >> 2];
  51934. c[(a + 4) >> 2] = b;
  51935. break;
  51936. }
  51937. } else {
  51938. b = e;
  51939. c[b >> 2] = 0;
  51940. c[(b + 4) >> 2] = 0;
  51941. }
  51942. } while (0);
  51943. n = e;
  51944. y = c[(n + 4) >> 2] | 0;
  51945. l = d;
  51946. return c[n >> 2] | 0;
  51947. }
  51948. function yq(a, b, e) {
  51949. a = a | 0;
  51950. b = b | 0;
  51951. e = e | 0;
  51952. var f = 0,
  51953. g = 0,
  51954. h = 0,
  51955. i = 0,
  51956. j = 0,
  51957. k = 0,
  51958. m = 0;
  51959. f = l;
  51960. l = (l + 32) | 0;
  51961. g = (f + 16) | 0;
  51962. h = (f + 12) | 0;
  51963. i = (f + 8) | 0;
  51964. j = (f + 4) | 0;
  51965. k = f;
  51966. c[h >> 2] = a;
  51967. c[i >> 2] = b;
  51968. c[j >> 2] = e;
  51969. if ((c[j >> 2] | 0) >>> 0 < 5) {
  51970. c[g >> 2] = 5;
  51971. m = c[g >> 2] | 0;
  51972. l = f;
  51973. return m | 0;
  51974. }
  51975. c[k >> 2] = Wq(c[i >> 2] | 0) | 0;
  51976. if ((c[k >> 2] | 0) != -47205083) {
  51977. c[g >> 2] = -10;
  51978. m = c[g >> 2] | 0;
  51979. l = f;
  51980. return m | 0;
  51981. }
  51982. k = c[h >> 2] | 0;
  51983. j = (k + 40) | 0;
  51984. do {
  51985. c[k >> 2] = 0;
  51986. k = (k + 4) | 0;
  51987. } while ((k | 0) < (j | 0));
  51988. c[((c[h >> 2] | 0) + 8) >> 2] =
  51989. ((d[((c[i >> 2] | 0) + 4) >> 0] | 0) & 15) + 11;
  51990. if (((d[((c[i >> 2] | 0) + 4) >> 0] | 0) >> 4) | 0) {
  51991. c[g >> 2] = -14;
  51992. m = c[g >> 2] | 0;
  51993. l = f;
  51994. return m | 0;
  51995. } else {
  51996. c[g >> 2] = 0;
  51997. m = c[g >> 2] | 0;
  51998. l = f;
  51999. return m | 0;
  52000. }
  52001. return 0;
  52002. }
  52003. function zq(b, e, f) {
  52004. b = b | 0;
  52005. e = e | 0;
  52006. f = f | 0;
  52007. var g = 0,
  52008. h = 0,
  52009. i = 0,
  52010. j = 0,
  52011. k = 0,
  52012. m = 0,
  52013. n = 0,
  52014. o = 0,
  52015. p = 0;
  52016. g = l;
  52017. l = (l + 32) | 0;
  52018. h = (g + 20) | 0;
  52019. i = (g + 16) | 0;
  52020. j = (g + 12) | 0;
  52021. k = (g + 8) | 0;
  52022. m = (g + 4) | 0;
  52023. n = g;
  52024. o = (g + 24) | 0;
  52025. c[i >> 2] = b;
  52026. c[j >> 2] = e;
  52027. c[k >> 2] = f;
  52028. c[m >> 2] = c[j >> 2];
  52029. if ((c[k >> 2] | 0) >>> 0 < 5) {
  52030. c[h >> 2] = 5;
  52031. p = c[h >> 2] | 0;
  52032. l = g;
  52033. return p | 0;
  52034. }
  52035. if ((Mq(c[j >> 2] | 0) | 0) != -47205082) {
  52036. c[h >> 2] = -10;
  52037. p = c[h >> 2] | 0;
  52038. l = g;
  52039. return p | 0;
  52040. }
  52041. c[n >> 2] = Nq(c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  52042. if ((c[k >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0) {
  52043. c[h >> 2] = c[n >> 2];
  52044. p = c[h >> 2] | 0;
  52045. l = g;
  52046. return p | 0;
  52047. }
  52048. n = c[i >> 2] | 0;
  52049. c[n >> 2] = 0;
  52050. c[(n + 4) >> 2] = 0;
  52051. c[(n + 8) >> 2] = 0;
  52052. c[(n + 12) >> 2] = 0;
  52053. a[o >> 0] = a[((c[m >> 2] | 0) + 4) >> 0] | 0;
  52054. c[((c[i >> 2] | 0) + 8) >> 2] = ((d[o >> 0] | 0) & 15) + 12;
  52055. if (((d[o >> 0] | 0) & 32) | 0) {
  52056. c[h >> 2] = -14;
  52057. p = c[h >> 2] | 0;
  52058. l = g;
  52059. return p | 0;
  52060. }
  52061. switch (((d[o >> 0] | 0) >> 6) | 0) {
  52062. case 0: {
  52063. o = c[i >> 2] | 0;
  52064. c[o >> 2] = 0;
  52065. c[(o + 4) >> 2] = 0;
  52066. break;
  52067. }
  52068. case 1: {
  52069. o = c[i >> 2] | 0;
  52070. c[o >> 2] = d[((c[m >> 2] | 0) + 5) >> 0];
  52071. c[(o + 4) >> 2] = 0;
  52072. break;
  52073. }
  52074. case 2: {
  52075. o =
  52076. (((Oq(((c[m >> 2] | 0) + 5) | 0) | 0) & 65535) + 256) |
  52077. 0;
  52078. n = c[i >> 2] | 0;
  52079. c[n >> 2] = o;
  52080. c[(n + 4) >> 2] = (((o | 0) < 0) << 31) >> 31;
  52081. break;
  52082. }
  52083. case 3: {
  52084. o = Pq(((c[m >> 2] | 0) + 5) | 0) | 0;
  52085. m = c[i >> 2] | 0;
  52086. c[m >> 2] = o;
  52087. c[(m + 4) >> 2] = y;
  52088. break;
  52089. }
  52090. default: {
  52091. }
  52092. }
  52093. c[h >> 2] = 0;
  52094. p = c[h >> 2] | 0;
  52095. l = g;
  52096. return p | 0;
  52097. }
  52098. function Aq(b, e, f) {
  52099. b = b | 0;
  52100. e = e | 0;
  52101. f = f | 0;
  52102. var g = 0,
  52103. h = 0,
  52104. i = 0,
  52105. j = 0,
  52106. k = 0,
  52107. m = 0,
  52108. n = 0,
  52109. o = 0,
  52110. p = 0,
  52111. q = 0,
  52112. r = 0,
  52113. s = 0,
  52114. t = 0,
  52115. u = 0,
  52116. v = 0,
  52117. w = 0,
  52118. x = 0,
  52119. z = 0,
  52120. A = 0,
  52121. B = 0;
  52122. g = l;
  52123. l = (l + 80) | 0;
  52124. h = (g + 64) | 0;
  52125. i = (g + 60) | 0;
  52126. j = (g + 56) | 0;
  52127. k = (g + 52) | 0;
  52128. m = (g + 48) | 0;
  52129. n = (g + 44) | 0;
  52130. o = (g + 69) | 0;
  52131. p = (g + 40) | 0;
  52132. q = (g + 36) | 0;
  52133. r = (g + 32) | 0;
  52134. s = (g + 28) | 0;
  52135. t = (g + 24) | 0;
  52136. u = (g + 20) | 0;
  52137. v = (g + 16) | 0;
  52138. w = (g + 12) | 0;
  52139. x = g;
  52140. z = (g + 68) | 0;
  52141. A = (g + 8) | 0;
  52142. c[i >> 2] = b;
  52143. c[j >> 2] = e;
  52144. c[k >> 2] = f;
  52145. c[m >> 2] = c[j >> 2];
  52146. if ((c[k >> 2] | 0) >>> 0 < 5) {
  52147. c[h >> 2] = 5;
  52148. B = c[h >> 2] | 0;
  52149. l = g;
  52150. return B | 0;
  52151. }
  52152. f = (Bq(c[j >> 2] | 0) | 0) != -47205081;
  52153. e = c[j >> 2] | 0;
  52154. if (f) {
  52155. if ((((Bq(e) | 0) & -16) | 0) != 407710288) {
  52156. c[h >> 2] = -10;
  52157. B = c[h >> 2] | 0;
  52158. l = g;
  52159. return B | 0;
  52160. }
  52161. if ((c[k >> 2] | 0) >>> 0 < 8) {
  52162. c[h >> 2] = 8;
  52163. B = c[h >> 2] | 0;
  52164. l = g;
  52165. return B | 0;
  52166. } else {
  52167. f = c[i >> 2] | 0;
  52168. c[f >> 2] = 0;
  52169. c[(f + 4) >> 2] = 0;
  52170. c[(f + 8) >> 2] = 0;
  52171. c[(f + 12) >> 2] = 0;
  52172. c[(f + 16) >> 2] = 0;
  52173. c[(f + 20) >> 2] = 0;
  52174. f = Bq(((c[j >> 2] | 0) + 4) | 0) | 0;
  52175. j = c[i >> 2] | 0;
  52176. c[j >> 2] = f;
  52177. c[(j + 4) >> 2] = 0;
  52178. c[((c[i >> 2] | 0) + 8) >> 2] = 0;
  52179. c[h >> 2] = 0;
  52180. B = c[h >> 2] | 0;
  52181. l = g;
  52182. return B | 0;
  52183. }
  52184. }
  52185. c[n >> 2] = Cq(e, c[k >> 2] | 0) | 0;
  52186. if ((c[k >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0) {
  52187. c[h >> 2] = c[n >> 2];
  52188. B = c[h >> 2] | 0;
  52189. l = g;
  52190. return B | 0;
  52191. }
  52192. a[o >> 0] = a[((c[m >> 2] | 0) + 4) >> 0] | 0;
  52193. c[p >> 2] = 5;
  52194. c[q >> 2] = (d[o >> 0] | 0) & 3;
  52195. c[r >> 2] = ((d[o >> 0] | 0) >> 2) & 1;
  52196. c[s >> 2] = ((d[o >> 0] | 0) >> 5) & 1;
  52197. c[t >> 2] = (d[o >> 0] | 0) >> 6;
  52198. n = (Dq() | 0) != 0;
  52199. c[u >> 2] = 1 << (n ? 25 : 27);
  52200. c[v >> 2] = 0;
  52201. c[w >> 2] = 0;
  52202. n = x;
  52203. c[n >> 2] = 0;
  52204. c[(n + 4) >> 2] = 0;
  52205. if (((d[o >> 0] | 0) & 8) | 0) {
  52206. c[h >> 2] = -14;
  52207. B = c[h >> 2] | 0;
  52208. l = g;
  52209. return B | 0;
  52210. }
  52211. do {
  52212. if (!(c[s >> 2] | 0)) {
  52213. o = c[m >> 2] | 0;
  52214. n = c[p >> 2] | 0;
  52215. c[p >> 2] = n + 1;
  52216. a[z >> 0] = a[(o + n) >> 0] | 0;
  52217. c[A >> 2] = ((d[z >> 0] | 0) >> 3) + 10;
  52218. n = c[A >> 2] | 0;
  52219. o = (Dq() | 0) != 0;
  52220. if (n >>> 0 <= (o ? 25 : 27) >>> 0) {
  52221. c[v >> 2] = 1 << c[A >> 2];
  52222. o = N((c[v >> 2] | 0) >>> 3, (d[z >> 0] | 0) & 7) | 0;
  52223. c[v >> 2] = (c[v >> 2] | 0) + o;
  52224. break;
  52225. }
  52226. c[h >> 2] = -14;
  52227. B = c[h >> 2] | 0;
  52228. l = g;
  52229. return B | 0;
  52230. }
  52231. } while (0);
  52232. switch (c[q >> 2] | 0) {
  52233. case 3: {
  52234. c[w >> 2] =
  52235. Bq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0;
  52236. c[p >> 2] = (c[p >> 2] | 0) + 4;
  52237. break;
  52238. }
  52239. case 1: {
  52240. c[w >> 2] = d[((c[m >> 2] | 0) + (c[p >> 2] | 0)) >> 0];
  52241. c[p >> 2] = (c[p >> 2] | 0) + 1;
  52242. break;
  52243. }
  52244. case 2: {
  52245. c[w >> 2] =
  52246. (Eq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0) &
  52247. 65535;
  52248. c[p >> 2] = (c[p >> 2] | 0) + 2;
  52249. break;
  52250. }
  52251. default: {
  52252. }
  52253. }
  52254. switch (c[t >> 2] | 0) {
  52255. case 3: {
  52256. t = x;
  52257. c[t >> 2] =
  52258. Fq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0;
  52259. c[(t + 4) >> 2] = y;
  52260. break;
  52261. }
  52262. case 1: {
  52263. t =
  52264. (((Eq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0) &
  52265. 65535) +
  52266. 256) |
  52267. 0;
  52268. q = x;
  52269. c[q >> 2] = t;
  52270. c[(q + 4) >> 2] = (((t | 0) < 0) << 31) >> 31;
  52271. break;
  52272. }
  52273. case 2: {
  52274. t = x;
  52275. c[t >> 2] =
  52276. Bq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0;
  52277. c[(t + 4) >> 2] = 0;
  52278. break;
  52279. }
  52280. default:
  52281. if (c[s >> 2] | 0) {
  52282. s = x;
  52283. c[s >> 2] = d[((c[m >> 2] | 0) + (c[p >> 2] | 0)) >> 0];
  52284. c[(s + 4) >> 2] = 0;
  52285. }
  52286. }
  52287. if (!(c[v >> 2] | 0)) c[v >> 2] = c[x >> 2];
  52288. if ((c[v >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0) {
  52289. c[h >> 2] = -14;
  52290. B = c[h >> 2] | 0;
  52291. l = g;
  52292. return B | 0;
  52293. } else {
  52294. u = x;
  52295. x = c[(u + 4) >> 2] | 0;
  52296. s = c[i >> 2] | 0;
  52297. c[s >> 2] = c[u >> 2];
  52298. c[(s + 4) >> 2] = x;
  52299. c[((c[i >> 2] | 0) + 8) >> 2] = c[v >> 2];
  52300. c[((c[i >> 2] | 0) + 12) >> 2] = c[w >> 2];
  52301. c[((c[i >> 2] | 0) + 16) >> 2] = c[r >> 2];
  52302. c[h >> 2] = 0;
  52303. B = c[h >> 2] | 0;
  52304. l = g;
  52305. return B | 0;
  52306. }
  52307. return 0;
  52308. }
  52309. function Bq(a) {
  52310. a = a | 0;
  52311. var b = 0,
  52312. d = 0,
  52313. e = 0,
  52314. f = 0,
  52315. g = 0;
  52316. b = l;
  52317. l = (l + 16) | 0;
  52318. d = (b + 4) | 0;
  52319. e = b;
  52320. c[e >> 2] = a;
  52321. a = (Gq() | 0) != 0;
  52322. f = Kq(c[e >> 2] | 0) | 0;
  52323. if (a) {
  52324. c[d >> 2] = f;
  52325. g = c[d >> 2] | 0;
  52326. l = b;
  52327. return g | 0;
  52328. } else {
  52329. c[d >> 2] = Lq(f) | 0;
  52330. g = c[d >> 2] | 0;
  52331. l = b;
  52332. return g | 0;
  52333. }
  52334. return 0;
  52335. }
  52336. function Cq(b, e) {
  52337. b = b | 0;
  52338. e = e | 0;
  52339. var f = 0,
  52340. g = 0,
  52341. h = 0,
  52342. i = 0,
  52343. j = 0,
  52344. k = 0,
  52345. m = 0,
  52346. n = 0,
  52347. o = 0,
  52348. p = 0;
  52349. f = l;
  52350. l = (l + 32) | 0;
  52351. g = (f + 20) | 0;
  52352. h = (f + 16) | 0;
  52353. i = (f + 12) | 0;
  52354. j = (f + 24) | 0;
  52355. k = (f + 8) | 0;
  52356. m = (f + 4) | 0;
  52357. n = f;
  52358. c[h >> 2] = b;
  52359. c[i >> 2] = e;
  52360. if ((c[i >> 2] | 0) >>> 0 < 5) {
  52361. c[g >> 2] = -72;
  52362. o = c[g >> 2] | 0;
  52363. l = f;
  52364. return o | 0;
  52365. }
  52366. a[j >> 0] = a[((c[h >> 2] | 0) + 4) >> 0] | 0;
  52367. c[k >> 2] = (d[j >> 0] | 0) & 3;
  52368. c[m >> 2] = ((d[j >> 0] | 0) >> 5) & 1;
  52369. c[n >> 2] = (d[j >> 0] | 0) >> 6;
  52370. if (c[m >> 2] | 0)
  52371. p = ((c[(3472 + (c[n >> 2] << 2)) >> 2] | 0) != 0) ^ 1;
  52372. else p = 0;
  52373. c[g >> 2] =
  52374. 5 +
  52375. ((((c[m >> 2] | 0) != 0) ^ 1) & 1) +
  52376. (c[(3456 + (c[k >> 2] << 2)) >> 2] | 0) +
  52377. (c[(3472 + (c[n >> 2] << 2)) >> 2] | 0) +
  52378. (p & 1);
  52379. o = c[g >> 2] | 0;
  52380. l = f;
  52381. return o | 0;
  52382. }
  52383. function Dq() {
  52384. return 1;
  52385. }
  52386. function Eq(a) {
  52387. a = a | 0;
  52388. var e = 0,
  52389. f = 0,
  52390. g = 0,
  52391. h = 0,
  52392. i = 0,
  52393. j = 0;
  52394. e = l;
  52395. l = (l + 16) | 0;
  52396. f = (e + 8) | 0;
  52397. g = (e + 4) | 0;
  52398. h = e;
  52399. c[g >> 2] = a;
  52400. a = (Gq() | 0) != 0;
  52401. i = c[g >> 2] | 0;
  52402. if (a) {
  52403. b[f >> 1] = Jq(i) | 0;
  52404. j = b[f >> 1] | 0;
  52405. l = e;
  52406. return j | 0;
  52407. } else {
  52408. c[h >> 2] = i;
  52409. b[f >> 1] =
  52410. (d[c[h >> 2] >> 0] | 0) +
  52411. ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
  52412. j = b[f >> 1] | 0;
  52413. l = e;
  52414. return j | 0;
  52415. }
  52416. return 0;
  52417. }
  52418. function Fq(a) {
  52419. a = a | 0;
  52420. var b = 0,
  52421. d = 0,
  52422. e = 0,
  52423. f = 0;
  52424. b = l;
  52425. l = (l + 16) | 0;
  52426. d = b;
  52427. e = (b + 8) | 0;
  52428. c[e >> 2] = a;
  52429. a = (Gq() | 0) != 0;
  52430. f = Hq(c[e >> 2] | 0) | 0;
  52431. e = y;
  52432. if (a) {
  52433. a = d;
  52434. c[a >> 2] = f;
  52435. c[(a + 4) >> 2] = e;
  52436. } else {
  52437. a = Iq(f, e) | 0;
  52438. e = d;
  52439. c[e >> 2] = a;
  52440. c[(e + 4) >> 2] = y;
  52441. }
  52442. e = d;
  52443. y = c[(e + 4) >> 2] | 0;
  52444. l = b;
  52445. return c[e >> 2] | 0;
  52446. }
  52447. function Gq() {
  52448. return d[11936] | 0 | 0;
  52449. }
  52450. function Hq(b) {
  52451. b = b | 0;
  52452. var d = 0,
  52453. e = 0,
  52454. f = 0;
  52455. d = l;
  52456. l = (l + 16) | 0;
  52457. e = (d + 8) | 0;
  52458. f = d;
  52459. c[e >> 2] = b;
  52460. b = c[e >> 2] | 0;
  52461. a[f >> 0] = a[b >> 0] | 0;
  52462. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  52463. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  52464. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  52465. a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
  52466. a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
  52467. a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
  52468. a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
  52469. b = f;
  52470. y = c[(b + 4) >> 2] | 0;
  52471. l = d;
  52472. return c[b >> 2] | 0;
  52473. }
  52474. function Iq(a, b) {
  52475. a = a | 0;
  52476. b = b | 0;
  52477. var d = 0,
  52478. e = 0,
  52479. f = 0,
  52480. g = 0,
  52481. h = 0;
  52482. d = l;
  52483. l = (l + 16) | 0;
  52484. e = d;
  52485. f = e;
  52486. c[f >> 2] = a;
  52487. c[(f + 4) >> 2] = b;
  52488. b = e;
  52489. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  52490. b = y & -16777216;
  52491. f = e;
  52492. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  52493. f = b | (y & 16711680);
  52494. b = e;
  52495. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  52496. b = f | (y & 65280);
  52497. f = e;
  52498. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  52499. f = b | (y & 255);
  52500. b = e;
  52501. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  52502. b = e;
  52503. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  52504. b = e;
  52505. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  52506. b = e;
  52507. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  52508. y = f;
  52509. l = d;
  52510. return (
  52511. (a & -16777216) |
  52512. (g & 16711680) |
  52513. (h & 65280) |
  52514. (e & 255) |
  52515. 0
  52516. );
  52517. }
  52518. function Jq(d) {
  52519. d = d | 0;
  52520. var e = 0,
  52521. f = 0,
  52522. g = 0;
  52523. e = l;
  52524. l = (l + 16) | 0;
  52525. f = e;
  52526. g = (e + 4) | 0;
  52527. c[f >> 2] = d;
  52528. d = c[f >> 2] | 0;
  52529. a[g >> 0] = a[d >> 0] | 0;
  52530. a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
  52531. l = e;
  52532. return b[g >> 1] | 0;
  52533. }
  52534. function Kq(b) {
  52535. b = b | 0;
  52536. var d = 0,
  52537. e = 0,
  52538. f = 0;
  52539. d = l;
  52540. l = (l + 16) | 0;
  52541. e = (d + 4) | 0;
  52542. f = d;
  52543. c[e >> 2] = b;
  52544. b = c[e >> 2] | 0;
  52545. a[f >> 0] = a[b >> 0] | 0;
  52546. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  52547. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  52548. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  52549. l = d;
  52550. return c[f >> 2] | 0;
  52551. }
  52552. function Lq(a) {
  52553. a = a | 0;
  52554. var b = 0,
  52555. d = 0;
  52556. b = l;
  52557. l = (l + 16) | 0;
  52558. d = b;
  52559. c[d >> 2] = a;
  52560. l = b;
  52561. return (
  52562. ((c[d >> 2] << 24) & -16777216) |
  52563. ((c[d >> 2] << 8) & 16711680) |
  52564. (((c[d >> 2] | 0) >>> 8) & 65280) |
  52565. (((c[d >> 2] | 0) >>> 24) & 255) |
  52566. 0
  52567. );
  52568. }
  52569. function Mq(a) {
  52570. a = a | 0;
  52571. var b = 0,
  52572. d = 0,
  52573. e = 0,
  52574. f = 0,
  52575. g = 0;
  52576. b = l;
  52577. l = (l + 16) | 0;
  52578. d = (b + 4) | 0;
  52579. e = b;
  52580. c[e >> 2] = a;
  52581. a = (Qq() | 0) != 0;
  52582. f = Uq(c[e >> 2] | 0) | 0;
  52583. if (a) {
  52584. c[d >> 2] = f;
  52585. g = c[d >> 2] | 0;
  52586. l = b;
  52587. return g | 0;
  52588. } else {
  52589. c[d >> 2] = Vq(f) | 0;
  52590. g = c[d >> 2] | 0;
  52591. l = b;
  52592. return g | 0;
  52593. }
  52594. return 0;
  52595. }
  52596. function Nq(a, b) {
  52597. a = a | 0;
  52598. b = b | 0;
  52599. var e = 0,
  52600. f = 0,
  52601. g = 0,
  52602. h = 0,
  52603. i = 0,
  52604. j = 0;
  52605. e = l;
  52606. l = (l + 16) | 0;
  52607. f = (e + 12) | 0;
  52608. g = (e + 8) | 0;
  52609. h = (e + 4) | 0;
  52610. i = e;
  52611. c[g >> 2] = a;
  52612. c[h >> 2] = b;
  52613. if ((c[h >> 2] | 0) >>> 0 < 5) {
  52614. c[f >> 2] = -72;
  52615. j = c[f >> 2] | 0;
  52616. l = e;
  52617. return j | 0;
  52618. } else {
  52619. c[i >> 2] = (d[((c[g >> 2] | 0) + 4) >> 0] | 0) >> 6;
  52620. c[f >> 2] = 5 + (c[(3488 + (c[i >> 2] << 2)) >> 2] | 0);
  52621. j = c[f >> 2] | 0;
  52622. l = e;
  52623. return j | 0;
  52624. }
  52625. return 0;
  52626. }
  52627. function Oq(a) {
  52628. a = a | 0;
  52629. var e = 0,
  52630. f = 0,
  52631. g = 0,
  52632. h = 0,
  52633. i = 0,
  52634. j = 0;
  52635. e = l;
  52636. l = (l + 16) | 0;
  52637. f = (e + 8) | 0;
  52638. g = (e + 4) | 0;
  52639. h = e;
  52640. c[g >> 2] = a;
  52641. a = (Qq() | 0) != 0;
  52642. i = c[g >> 2] | 0;
  52643. if (a) {
  52644. b[f >> 1] = Tq(i) | 0;
  52645. j = b[f >> 1] | 0;
  52646. l = e;
  52647. return j | 0;
  52648. } else {
  52649. c[h >> 2] = i;
  52650. b[f >> 1] =
  52651. (d[c[h >> 2] >> 0] | 0) +
  52652. ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
  52653. j = b[f >> 1] | 0;
  52654. l = e;
  52655. return j | 0;
  52656. }
  52657. return 0;
  52658. }
  52659. function Pq(a) {
  52660. a = a | 0;
  52661. var b = 0,
  52662. d = 0,
  52663. e = 0,
  52664. f = 0;
  52665. b = l;
  52666. l = (l + 16) | 0;
  52667. d = b;
  52668. e = (b + 8) | 0;
  52669. c[e >> 2] = a;
  52670. a = (Qq() | 0) != 0;
  52671. f = Rq(c[e >> 2] | 0) | 0;
  52672. e = y;
  52673. if (a) {
  52674. a = d;
  52675. c[a >> 2] = f;
  52676. c[(a + 4) >> 2] = e;
  52677. } else {
  52678. a = Sq(f, e) | 0;
  52679. e = d;
  52680. c[e >> 2] = a;
  52681. c[(e + 4) >> 2] = y;
  52682. }
  52683. e = d;
  52684. y = c[(e + 4) >> 2] | 0;
  52685. l = b;
  52686. return c[e >> 2] | 0;
  52687. }
  52688. function Qq() {
  52689. return d[11936] | 0 | 0;
  52690. }
  52691. function Rq(b) {
  52692. b = b | 0;
  52693. var d = 0,
  52694. e = 0,
  52695. f = 0;
  52696. d = l;
  52697. l = (l + 16) | 0;
  52698. e = (d + 8) | 0;
  52699. f = d;
  52700. c[e >> 2] = b;
  52701. b = c[e >> 2] | 0;
  52702. a[f >> 0] = a[b >> 0] | 0;
  52703. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  52704. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  52705. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  52706. a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
  52707. a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
  52708. a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
  52709. a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
  52710. b = f;
  52711. y = c[(b + 4) >> 2] | 0;
  52712. l = d;
  52713. return c[b >> 2] | 0;
  52714. }
  52715. function Sq(a, b) {
  52716. a = a | 0;
  52717. b = b | 0;
  52718. var d = 0,
  52719. e = 0,
  52720. f = 0,
  52721. g = 0,
  52722. h = 0;
  52723. d = l;
  52724. l = (l + 16) | 0;
  52725. e = d;
  52726. f = e;
  52727. c[f >> 2] = a;
  52728. c[(f + 4) >> 2] = b;
  52729. b = e;
  52730. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  52731. b = y & -16777216;
  52732. f = e;
  52733. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  52734. f = b | (y & 16711680);
  52735. b = e;
  52736. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  52737. b = f | (y & 65280);
  52738. f = e;
  52739. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  52740. f = b | (y & 255);
  52741. b = e;
  52742. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  52743. b = e;
  52744. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  52745. b = e;
  52746. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  52747. b = e;
  52748. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  52749. y = f;
  52750. l = d;
  52751. return (
  52752. (a & -16777216) |
  52753. (g & 16711680) |
  52754. (h & 65280) |
  52755. (e & 255) |
  52756. 0
  52757. );
  52758. }
  52759. function Tq(d) {
  52760. d = d | 0;
  52761. var e = 0,
  52762. f = 0,
  52763. g = 0;
  52764. e = l;
  52765. l = (l + 16) | 0;
  52766. f = e;
  52767. g = (e + 4) | 0;
  52768. c[f >> 2] = d;
  52769. d = c[f >> 2] | 0;
  52770. a[g >> 0] = a[d >> 0] | 0;
  52771. a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
  52772. l = e;
  52773. return b[g >> 1] | 0;
  52774. }
  52775. function Uq(b) {
  52776. b = b | 0;
  52777. var d = 0,
  52778. e = 0,
  52779. f = 0;
  52780. d = l;
  52781. l = (l + 16) | 0;
  52782. e = (d + 4) | 0;
  52783. f = d;
  52784. c[e >> 2] = b;
  52785. b = c[e >> 2] | 0;
  52786. a[f >> 0] = a[b >> 0] | 0;
  52787. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  52788. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  52789. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  52790. l = d;
  52791. return c[f >> 2] | 0;
  52792. }
  52793. function Vq(a) {
  52794. a = a | 0;
  52795. var b = 0,
  52796. d = 0;
  52797. b = l;
  52798. l = (l + 16) | 0;
  52799. d = b;
  52800. c[d >> 2] = a;
  52801. l = b;
  52802. return (
  52803. ((c[d >> 2] << 24) & -16777216) |
  52804. ((c[d >> 2] << 8) & 16711680) |
  52805. (((c[d >> 2] | 0) >>> 8) & 65280) |
  52806. (((c[d >> 2] | 0) >>> 24) & 255) |
  52807. 0
  52808. );
  52809. }
  52810. function Wq(a) {
  52811. a = a | 0;
  52812. var b = 0,
  52813. d = 0,
  52814. e = 0,
  52815. f = 0,
  52816. g = 0;
  52817. b = l;
  52818. l = (l + 16) | 0;
  52819. d = (b + 4) | 0;
  52820. e = b;
  52821. c[e >> 2] = a;
  52822. a = (Xq() | 0) != 0;
  52823. f = Yq(c[e >> 2] | 0) | 0;
  52824. if (a) {
  52825. c[d >> 2] = f;
  52826. g = c[d >> 2] | 0;
  52827. l = b;
  52828. return g | 0;
  52829. } else {
  52830. c[d >> 2] = Zq(f) | 0;
  52831. g = c[d >> 2] | 0;
  52832. l = b;
  52833. return g | 0;
  52834. }
  52835. return 0;
  52836. }
  52837. function Xq() {
  52838. return d[11936] | 0 | 0;
  52839. }
  52840. function Yq(a) {
  52841. a = a | 0;
  52842. var b = 0,
  52843. e = 0;
  52844. b = l;
  52845. l = (l + 16) | 0;
  52846. e = b;
  52847. c[e >> 2] = a;
  52848. a = c[e >> 2] | 0;
  52849. l = b;
  52850. return (
  52851. d[a >> 0] |
  52852. (d[(a + 1) >> 0] << 8) |
  52853. (d[(a + 2) >> 0] << 16) |
  52854. (d[(a + 3) >> 0] << 24) |
  52855. 0
  52856. );
  52857. }
  52858. function Zq(a) {
  52859. a = a | 0;
  52860. var b = 0,
  52861. d = 0;
  52862. b = l;
  52863. l = (l + 16) | 0;
  52864. d = b;
  52865. c[d >> 2] = a;
  52866. l = b;
  52867. return (
  52868. ((c[d >> 2] << 24) & -16777216) |
  52869. ((c[d >> 2] << 8) & 16711680) |
  52870. (((c[d >> 2] | 0) >>> 8) & 65280) |
  52871. (((c[d >> 2] | 0) >>> 24) & 255) |
  52872. 0
  52873. );
  52874. }
  52875. function _q(a, b) {
  52876. a = a | 0;
  52877. b = b | 0;
  52878. var d = 0,
  52879. e = 0,
  52880. f = 0,
  52881. g = 0,
  52882. h = 0,
  52883. i = 0,
  52884. j = 0,
  52885. k = 0,
  52886. m = 0,
  52887. n = 0,
  52888. o = 0,
  52889. p = 0,
  52890. q = 0,
  52891. r = 0;
  52892. d = l;
  52893. l = (l + 96) | 0;
  52894. e = (d + 80) | 0;
  52895. f = (d + 76) | 0;
  52896. g = (d + 72) | 0;
  52897. h = (d + 68) | 0;
  52898. i = (d + 64) | 0;
  52899. j = (d + 60) | 0;
  52900. k = d;
  52901. m = (d + 56) | 0;
  52902. n = (d + 44) | 0;
  52903. o = (d + 40) | 0;
  52904. c[f >> 2] = a;
  52905. c[g >> 2] = b;
  52906. if (iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0) {
  52907. c[e >> 2] = ar(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  52908. p = c[e >> 2] | 0;
  52909. l = d;
  52910. return p | 0;
  52911. }
  52912. if (
  52913. (c[g >> 2] | 0) >>> 0 >= 8
  52914. ? (((hq(c[f >> 2] | 0) | 0) & -16) | 0) == 407710288
  52915. : 0
  52916. ) {
  52917. c[e >> 2] = 8 + (hq(((c[f >> 2] | 0) + 4) | 0) | 0);
  52918. p = c[e >> 2] | 0;
  52919. l = d;
  52920. return p | 0;
  52921. }
  52922. c[h >> 2] = c[f >> 2];
  52923. c[i >> 2] = c[h >> 2];
  52924. c[j >> 2] = c[g >> 2];
  52925. c[m >> 2] = pq(k, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  52926. g = ($q(c[m >> 2] | 0) | 0) != 0;
  52927. f = c[m >> 2] | 0;
  52928. if (g) {
  52929. c[e >> 2] = f;
  52930. p = c[e >> 2] | 0;
  52931. l = d;
  52932. return p | 0;
  52933. }
  52934. if (f >>> 0 > 0) {
  52935. c[e >> 2] = -72;
  52936. p = c[e >> 2] | 0;
  52937. l = d;
  52938. return p | 0;
  52939. }
  52940. c[h >> 2] = (c[h >> 2] | 0) + (c[(k + 24) >> 2] | 0);
  52941. c[j >> 2] = (c[j >> 2] | 0) - (c[(k + 24) >> 2] | 0);
  52942. while (1) {
  52943. c[o >> 2] = br(c[h >> 2] | 0, c[j >> 2] | 0, n) | 0;
  52944. f = ($q(c[o >> 2] | 0) | 0) != 0;
  52945. q = c[o >> 2] | 0;
  52946. if (f) {
  52947. r = 12;
  52948. break;
  52949. }
  52950. if (((3 + q) | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
  52951. r = 14;
  52952. break;
  52953. }
  52954. c[h >> 2] = (c[h >> 2] | 0) + (3 + (c[o >> 2] | 0));
  52955. c[j >> 2] = (c[j >> 2] | 0) - (3 + (c[o >> 2] | 0));
  52956. if (c[(n + 4) >> 2] | 0) {
  52957. r = 17;
  52958. break;
  52959. }
  52960. }
  52961. if ((r | 0) == 12) {
  52962. c[e >> 2] = q;
  52963. p = c[e >> 2] | 0;
  52964. l = d;
  52965. return p | 0;
  52966. } else if ((r | 0) == 14) {
  52967. c[e >> 2] = -72;
  52968. p = c[e >> 2] | 0;
  52969. l = d;
  52970. return p | 0;
  52971. } else if ((r | 0) == 17) {
  52972. do {
  52973. if (c[(k + 32) >> 2] | 0) {
  52974. if ((c[j >> 2] | 0) >>> 0 >= 4) {
  52975. c[h >> 2] = (c[h >> 2] | 0) + 4;
  52976. c[j >> 2] = (c[j >> 2] | 0) - 4;
  52977. break;
  52978. }
  52979. c[e >> 2] = -72;
  52980. p = c[e >> 2] | 0;
  52981. l = d;
  52982. return p | 0;
  52983. }
  52984. } while (0);
  52985. c[e >> 2] = (c[h >> 2] | 0) - (c[i >> 2] | 0);
  52986. p = c[e >> 2] | 0;
  52987. l = d;
  52988. return p | 0;
  52989. }
  52990. return 0;
  52991. }
  52992. function $q(a) {
  52993. a = a | 0;
  52994. var b = 0,
  52995. d = 0;
  52996. b = l;
  52997. l = (l + 16) | 0;
  52998. d = b;
  52999. c[d >> 2] = a;
  53000. l = b;
  53001. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  53002. }
  53003. function ar(a, b) {
  53004. a = a | 0;
  53005. b = b | 0;
  53006. var d = 0,
  53007. e = 0,
  53008. f = 0,
  53009. g = 0,
  53010. h = 0;
  53011. d = l;
  53012. l = (l + 16) | 0;
  53013. e = (d + 12) | 0;
  53014. f = (d + 8) | 0;
  53015. g = (d + 4) | 0;
  53016. h = d;
  53017. c[f >> 2] = a;
  53018. c[g >> 2] = b;
  53019. c[h >> 2] = iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  53020. switch (c[h >> 2] | 0) {
  53021. case 4: {
  53022. c[e >> 2] = dr(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  53023. break;
  53024. }
  53025. case 5: {
  53026. c[e >> 2] = er(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  53027. break;
  53028. }
  53029. case 6: {
  53030. c[e >> 2] = fr(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  53031. break;
  53032. }
  53033. case 7: {
  53034. c[e >> 2] = gr(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
  53035. break;
  53036. }
  53037. default:
  53038. c[e >> 2] = -10;
  53039. }
  53040. l = d;
  53041. return c[e >> 2] | 0;
  53042. }
  53043. function br(a, b, d) {
  53044. a = a | 0;
  53045. b = b | 0;
  53046. d = d | 0;
  53047. var e = 0,
  53048. f = 0,
  53049. g = 0,
  53050. h = 0,
  53051. i = 0,
  53052. j = 0,
  53053. k = 0,
  53054. m = 0;
  53055. e = l;
  53056. l = (l + 32) | 0;
  53057. f = (e + 20) | 0;
  53058. g = (e + 16) | 0;
  53059. h = (e + 12) | 0;
  53060. i = (e + 8) | 0;
  53061. j = (e + 4) | 0;
  53062. k = e;
  53063. c[g >> 2] = a;
  53064. c[h >> 2] = b;
  53065. c[i >> 2] = d;
  53066. if ((c[h >> 2] | 0) >>> 0 < 3) {
  53067. c[f >> 2] = -72;
  53068. m = c[f >> 2] | 0;
  53069. l = e;
  53070. return m | 0;
  53071. }
  53072. c[j >> 2] = cr(c[g >> 2] | 0) | 0;
  53073. c[k >> 2] = (c[j >> 2] | 0) >>> 3;
  53074. c[((c[i >> 2] | 0) + 4) >> 2] = c[j >> 2] & 1;
  53075. c[c[i >> 2] >> 2] = ((c[j >> 2] | 0) >>> 1) & 3;
  53076. c[((c[i >> 2] | 0) + 8) >> 2] = c[k >> 2];
  53077. if ((c[c[i >> 2] >> 2] | 0) == 1) {
  53078. c[f >> 2] = 1;
  53079. m = c[f >> 2] | 0;
  53080. l = e;
  53081. return m | 0;
  53082. }
  53083. if ((c[c[i >> 2] >> 2] | 0) == 3) {
  53084. c[f >> 2] = -20;
  53085. m = c[f >> 2] | 0;
  53086. l = e;
  53087. return m | 0;
  53088. } else {
  53089. c[f >> 2] = c[k >> 2];
  53090. m = c[f >> 2] | 0;
  53091. l = e;
  53092. return m | 0;
  53093. }
  53094. return 0;
  53095. }
  53096. function cr(a) {
  53097. a = a | 0;
  53098. var b = 0,
  53099. e = 0;
  53100. b = l;
  53101. l = (l + 16) | 0;
  53102. e = b;
  53103. c[e >> 2] = a;
  53104. a = (rq(c[e >> 2] | 0) | 0) & 65535;
  53105. l = b;
  53106. return (a + ((d[((c[e >> 2] | 0) + 2) >> 0] | 0) << 16)) | 0;
  53107. }
  53108. function dr(a, b) {
  53109. a = a | 0;
  53110. b = b | 0;
  53111. var d = 0,
  53112. e = 0,
  53113. f = 0;
  53114. d = l;
  53115. l = (l + 16) | 0;
  53116. e = (d + 4) | 0;
  53117. f = d;
  53118. c[e >> 2] = a;
  53119. c[f >> 2] = b;
  53120. b = or(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  53121. l = d;
  53122. return b | 0;
  53123. }
  53124. function er(a, b) {
  53125. a = a | 0;
  53126. b = b | 0;
  53127. var d = 0,
  53128. e = 0,
  53129. f = 0,
  53130. g = 0,
  53131. h = 0,
  53132. i = 0,
  53133. j = 0,
  53134. k = 0,
  53135. m = 0,
  53136. n = 0;
  53137. d = l;
  53138. l = (l + 48) | 0;
  53139. e = (d + 32) | 0;
  53140. f = (d + 28) | 0;
  53141. g = (d + 24) | 0;
  53142. h = (d + 20) | 0;
  53143. i = (d + 16) | 0;
  53144. j = (d + 8) | 0;
  53145. k = d;
  53146. c[f >> 2] = a;
  53147. c[g >> 2] = b;
  53148. c[h >> 2] = c[f >> 2];
  53149. c[i >> 2] = c[g >> 2];
  53150. if ((c[g >> 2] | 0) >>> 0 < 5) {
  53151. c[e >> 2] = -72;
  53152. m = c[e >> 2] | 0;
  53153. l = d;
  53154. return m | 0;
  53155. }
  53156. if ((Wq(c[f >> 2] | 0) | 0) != -47205083) {
  53157. c[e >> 2] = -10;
  53158. m = c[e >> 2] | 0;
  53159. l = d;
  53160. return m | 0;
  53161. }
  53162. c[h >> 2] = (c[h >> 2] | 0) + 5;
  53163. c[i >> 2] = (c[i >> 2] | 0) - 5;
  53164. while (1) {
  53165. c[k >> 2] = lr(c[h >> 2] | 0, c[i >> 2] | 0, j) | 0;
  53166. if (mr(c[k >> 2] | 0) | 0) {
  53167. n = 7;
  53168. break;
  53169. }
  53170. c[h >> 2] = (c[h >> 2] | 0) + 3;
  53171. c[i >> 2] = (c[i >> 2] | 0) - 3;
  53172. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  53173. n = 9;
  53174. break;
  53175. }
  53176. if (!(c[k >> 2] | 0)) {
  53177. n = 12;
  53178. break;
  53179. }
  53180. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  53181. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  53182. }
  53183. if ((n | 0) == 7) {
  53184. c[e >> 2] = c[k >> 2];
  53185. m = c[e >> 2] | 0;
  53186. l = d;
  53187. return m | 0;
  53188. } else if ((n | 0) == 9) {
  53189. c[e >> 2] = -72;
  53190. m = c[e >> 2] | 0;
  53191. l = d;
  53192. return m | 0;
  53193. } else if ((n | 0) == 12) {
  53194. c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
  53195. m = c[e >> 2] | 0;
  53196. l = d;
  53197. return m | 0;
  53198. }
  53199. return 0;
  53200. }
  53201. function fr(a, b) {
  53202. a = a | 0;
  53203. b = b | 0;
  53204. var d = 0,
  53205. e = 0,
  53206. f = 0,
  53207. g = 0,
  53208. h = 0,
  53209. i = 0,
  53210. j = 0,
  53211. k = 0,
  53212. m = 0,
  53213. n = 0,
  53214. o = 0;
  53215. d = l;
  53216. l = (l + 48) | 0;
  53217. e = (d + 32) | 0;
  53218. f = (d + 28) | 0;
  53219. g = (d + 24) | 0;
  53220. h = (d + 20) | 0;
  53221. i = (d + 16) | 0;
  53222. j = (d + 8) | 0;
  53223. k = (d + 4) | 0;
  53224. m = d;
  53225. c[f >> 2] = a;
  53226. c[g >> 2] = b;
  53227. c[h >> 2] = c[f >> 2];
  53228. c[i >> 2] = c[g >> 2];
  53229. c[j >> 2] = 0;
  53230. c[(j + 4) >> 2] = 0;
  53231. c[k >> 2] = Nq(c[f >> 2] | 0, 5) | 0;
  53232. if (jr(c[k >> 2] | 0) | 0) {
  53233. c[e >> 2] = c[k >> 2];
  53234. n = c[e >> 2] | 0;
  53235. l = d;
  53236. return n | 0;
  53237. }
  53238. if ((Mq(c[f >> 2] | 0) | 0) != -47205082) {
  53239. c[e >> 2] = -10;
  53240. n = c[e >> 2] | 0;
  53241. l = d;
  53242. return n | 0;
  53243. }
  53244. if (
  53245. (c[g >> 2] | 0) >>> 0 <
  53246. (((c[k >> 2] | 0) + 3) | 0) >>> 0
  53247. ) {
  53248. c[e >> 2] = -72;
  53249. n = c[e >> 2] | 0;
  53250. l = d;
  53251. return n | 0;
  53252. }
  53253. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  53254. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  53255. while (1) {
  53256. c[m >> 2] = kr(c[h >> 2] | 0, c[i >> 2] | 0, j) | 0;
  53257. if (jr(c[m >> 2] | 0) | 0) {
  53258. o = 9;
  53259. break;
  53260. }
  53261. c[h >> 2] = (c[h >> 2] | 0) + 3;
  53262. c[i >> 2] = (c[i >> 2] | 0) - 3;
  53263. if ((c[m >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  53264. o = 11;
  53265. break;
  53266. }
  53267. if (!(c[m >> 2] | 0)) {
  53268. o = 14;
  53269. break;
  53270. }
  53271. c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
  53272. c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
  53273. }
  53274. if ((o | 0) == 9) {
  53275. c[e >> 2] = c[m >> 2];
  53276. n = c[e >> 2] | 0;
  53277. l = d;
  53278. return n | 0;
  53279. } else if ((o | 0) == 11) {
  53280. c[e >> 2] = -72;
  53281. n = c[e >> 2] | 0;
  53282. l = d;
  53283. return n | 0;
  53284. } else if ((o | 0) == 14) {
  53285. c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
  53286. n = c[e >> 2] | 0;
  53287. l = d;
  53288. return n | 0;
  53289. }
  53290. return 0;
  53291. }
  53292. function gr(a, b) {
  53293. a = a | 0;
  53294. b = b | 0;
  53295. var d = 0,
  53296. e = 0,
  53297. f = 0,
  53298. g = 0,
  53299. h = 0,
  53300. i = 0,
  53301. j = 0,
  53302. k = 0,
  53303. m = 0,
  53304. n = 0,
  53305. o = 0;
  53306. d = l;
  53307. l = (l + 48) | 0;
  53308. e = (d + 36) | 0;
  53309. f = (d + 32) | 0;
  53310. g = (d + 28) | 0;
  53311. h = (d + 24) | 0;
  53312. i = (d + 20) | 0;
  53313. j = (d + 16) | 0;
  53314. k = (d + 8) | 0;
  53315. m = d;
  53316. c[f >> 2] = a;
  53317. c[g >> 2] = b;
  53318. c[h >> 2] = c[f >> 2];
  53319. c[i >> 2] = c[g >> 2];
  53320. if ((c[g >> 2] | 0) >>> 0 < 8) {
  53321. c[e >> 2] = -72;
  53322. n = c[e >> 2] | 0;
  53323. l = d;
  53324. return n | 0;
  53325. }
  53326. c[j >> 2] = Cq(c[f >> 2] | 0, 5) | 0;
  53327. if (hr(c[j >> 2] | 0) | 0) {
  53328. c[e >> 2] = c[j >> 2];
  53329. n = c[e >> 2] | 0;
  53330. l = d;
  53331. return n | 0;
  53332. }
  53333. if ((Bq(c[f >> 2] | 0) | 0) != -47205081) {
  53334. c[e >> 2] = -10;
  53335. n = c[e >> 2] | 0;
  53336. l = d;
  53337. return n | 0;
  53338. }
  53339. if (
  53340. (c[g >> 2] | 0) >>> 0 <
  53341. (((c[j >> 2] | 0) + 3) | 0) >>> 0
  53342. ) {
  53343. c[e >> 2] = -72;
  53344. n = c[e >> 2] | 0;
  53345. l = d;
  53346. return n | 0;
  53347. }
  53348. c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
  53349. c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
  53350. while (1) {
  53351. c[m >> 2] = ir(c[h >> 2] | 0, c[i >> 2] | 0, k) | 0;
  53352. if (hr(c[m >> 2] | 0) | 0) {
  53353. o = 11;
  53354. break;
  53355. }
  53356. c[h >> 2] = (c[h >> 2] | 0) + 3;
  53357. c[i >> 2] = (c[i >> 2] | 0) - 3;
  53358. if ((c[k >> 2] | 0) == 3) {
  53359. o = 16;
  53360. break;
  53361. }
  53362. if ((c[m >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  53363. o = 14;
  53364. break;
  53365. }
  53366. c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
  53367. c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
  53368. }
  53369. if ((o | 0) == 11) {
  53370. c[e >> 2] = c[m >> 2];
  53371. n = c[e >> 2] | 0;
  53372. l = d;
  53373. return n | 0;
  53374. } else if ((o | 0) == 14) {
  53375. c[e >> 2] = -72;
  53376. n = c[e >> 2] | 0;
  53377. l = d;
  53378. return n | 0;
  53379. } else if ((o | 0) == 16) {
  53380. c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
  53381. n = c[e >> 2] | 0;
  53382. l = d;
  53383. return n | 0;
  53384. }
  53385. return 0;
  53386. }
  53387. function hr(a) {
  53388. a = a | 0;
  53389. var b = 0,
  53390. d = 0;
  53391. b = l;
  53392. l = (l + 16) | 0;
  53393. d = b;
  53394. c[d >> 2] = a;
  53395. l = b;
  53396. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  53397. }
  53398. function ir(a, b, e) {
  53399. a = a | 0;
  53400. b = b | 0;
  53401. e = e | 0;
  53402. var f = 0,
  53403. g = 0,
  53404. h = 0,
  53405. i = 0,
  53406. j = 0,
  53407. k = 0,
  53408. m = 0,
  53409. n = 0;
  53410. f = l;
  53411. l = (l + 32) | 0;
  53412. g = (f + 20) | 0;
  53413. h = (f + 16) | 0;
  53414. i = (f + 12) | 0;
  53415. j = (f + 8) | 0;
  53416. k = (f + 4) | 0;
  53417. m = f;
  53418. c[h >> 2] = a;
  53419. c[i >> 2] = b;
  53420. c[j >> 2] = e;
  53421. c[k >> 2] = c[h >> 2];
  53422. if ((c[i >> 2] | 0) >>> 0 < 3) {
  53423. c[g >> 2] = -72;
  53424. n = c[g >> 2] | 0;
  53425. l = f;
  53426. return n | 0;
  53427. }
  53428. c[c[j >> 2] >> 2] = (d[c[k >> 2] >> 0] | 0) >> 6;
  53429. c[m >> 2] =
  53430. (d[((c[k >> 2] | 0) + 2) >> 0] | 0) +
  53431. ((d[((c[k >> 2] | 0) + 1) >> 0] | 0) << 8) +
  53432. (((d[c[k >> 2] >> 0] | 0) & 7) << 16);
  53433. c[((c[j >> 2] | 0) + 4) >> 2] =
  53434. (c[c[j >> 2] >> 2] | 0) == 2 ? c[m >> 2] | 0 : 0;
  53435. if ((c[c[j >> 2] >> 2] | 0) == 3) {
  53436. c[g >> 2] = 0;
  53437. n = c[g >> 2] | 0;
  53438. l = f;
  53439. return n | 0;
  53440. }
  53441. if ((c[c[j >> 2] >> 2] | 0) == 2) {
  53442. c[g >> 2] = 1;
  53443. n = c[g >> 2] | 0;
  53444. l = f;
  53445. return n | 0;
  53446. } else {
  53447. c[g >> 2] = c[m >> 2];
  53448. n = c[g >> 2] | 0;
  53449. l = f;
  53450. return n | 0;
  53451. }
  53452. return 0;
  53453. }
  53454. function jr(a) {
  53455. a = a | 0;
  53456. var b = 0,
  53457. d = 0;
  53458. b = l;
  53459. l = (l + 16) | 0;
  53460. d = b;
  53461. c[d >> 2] = a;
  53462. l = b;
  53463. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  53464. }
  53465. function kr(a, b, e) {
  53466. a = a | 0;
  53467. b = b | 0;
  53468. e = e | 0;
  53469. var f = 0,
  53470. g = 0,
  53471. h = 0,
  53472. i = 0,
  53473. j = 0,
  53474. k = 0,
  53475. m = 0,
  53476. n = 0;
  53477. f = l;
  53478. l = (l + 32) | 0;
  53479. g = (f + 20) | 0;
  53480. h = (f + 16) | 0;
  53481. i = (f + 12) | 0;
  53482. j = (f + 8) | 0;
  53483. k = (f + 4) | 0;
  53484. m = f;
  53485. c[h >> 2] = a;
  53486. c[i >> 2] = b;
  53487. c[j >> 2] = e;
  53488. c[k >> 2] = c[h >> 2];
  53489. if ((c[i >> 2] | 0) >>> 0 < 3) {
  53490. c[g >> 2] = -72;
  53491. n = c[g >> 2] | 0;
  53492. l = f;
  53493. return n | 0;
  53494. }
  53495. c[c[j >> 2] >> 2] = (d[c[k >> 2] >> 0] | 0) >> 6;
  53496. c[m >> 2] =
  53497. (d[((c[k >> 2] | 0) + 2) >> 0] | 0) +
  53498. ((d[((c[k >> 2] | 0) + 1) >> 0] | 0) << 8) +
  53499. (((d[c[k >> 2] >> 0] | 0) & 7) << 16);
  53500. c[((c[j >> 2] | 0) + 4) >> 2] =
  53501. (c[c[j >> 2] >> 2] | 0) == 2 ? c[m >> 2] | 0 : 0;
  53502. if ((c[c[j >> 2] >> 2] | 0) == 3) {
  53503. c[g >> 2] = 0;
  53504. n = c[g >> 2] | 0;
  53505. l = f;
  53506. return n | 0;
  53507. }
  53508. if ((c[c[j >> 2] >> 2] | 0) == 2) {
  53509. c[g >> 2] = 1;
  53510. n = c[g >> 2] | 0;
  53511. l = f;
  53512. return n | 0;
  53513. } else {
  53514. c[g >> 2] = c[m >> 2];
  53515. n = c[g >> 2] | 0;
  53516. l = f;
  53517. return n | 0;
  53518. }
  53519. return 0;
  53520. }
  53521. function lr(b, e, f) {
  53522. b = b | 0;
  53523. e = e | 0;
  53524. f = f | 0;
  53525. var g = 0,
  53526. h = 0,
  53527. i = 0,
  53528. j = 0,
  53529. k = 0,
  53530. m = 0,
  53531. n = 0,
  53532. o = 0,
  53533. p = 0;
  53534. g = l;
  53535. l = (l + 32) | 0;
  53536. h = (g + 20) | 0;
  53537. i = (g + 16) | 0;
  53538. j = (g + 12) | 0;
  53539. k = (g + 8) | 0;
  53540. m = (g + 4) | 0;
  53541. n = (g + 24) | 0;
  53542. o = g;
  53543. c[i >> 2] = b;
  53544. c[j >> 2] = e;
  53545. c[k >> 2] = f;
  53546. c[m >> 2] = c[i >> 2];
  53547. if ((c[j >> 2] | 0) >>> 0 < 3) {
  53548. c[h >> 2] = -72;
  53549. p = c[h >> 2] | 0;
  53550. l = g;
  53551. return p | 0;
  53552. }
  53553. a[n >> 0] = a[c[m >> 2] >> 0] | 0;
  53554. c[o >> 2] =
  53555. (d[((c[m >> 2] | 0) + 2) >> 0] | 0) +
  53556. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  53557. (((d[c[m >> 2] >> 0] | 0) & 7) << 16);
  53558. c[c[k >> 2] >> 2] = (d[n >> 0] | 0) >> 6;
  53559. c[((c[k >> 2] | 0) + 4) >> 2] =
  53560. (c[c[k >> 2] >> 2] | 0) == 2 ? c[o >> 2] | 0 : 0;
  53561. if ((c[c[k >> 2] >> 2] | 0) == 3) {
  53562. c[h >> 2] = 0;
  53563. p = c[h >> 2] | 0;
  53564. l = g;
  53565. return p | 0;
  53566. }
  53567. if ((c[c[k >> 2] >> 2] | 0) == 2) {
  53568. c[h >> 2] = 1;
  53569. p = c[h >> 2] | 0;
  53570. l = g;
  53571. return p | 0;
  53572. } else {
  53573. c[h >> 2] = c[o >> 2];
  53574. p = c[h >> 2] | 0;
  53575. l = g;
  53576. return p | 0;
  53577. }
  53578. return 0;
  53579. }
  53580. function mr(a) {
  53581. a = a | 0;
  53582. var b = 0,
  53583. d = 0;
  53584. b = l;
  53585. l = (l + 16) | 0;
  53586. d = b;
  53587. c[d >> 2] = a;
  53588. a = nr(c[d >> 2] | 0) | 0;
  53589. l = b;
  53590. return a | 0;
  53591. }
  53592. function nr(a) {
  53593. a = a | 0;
  53594. var b = 0,
  53595. d = 0;
  53596. b = l;
  53597. l = (l + 16) | 0;
  53598. d = b;
  53599. c[d >> 2] = a;
  53600. l = b;
  53601. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  53602. }
  53603. function or(a, b) {
  53604. a = a | 0;
  53605. b = b | 0;
  53606. var d = 0,
  53607. e = 0,
  53608. f = 0,
  53609. g = 0,
  53610. h = 0,
  53611. i = 0,
  53612. j = 0,
  53613. k = 0,
  53614. m = 0,
  53615. n = 0;
  53616. d = l;
  53617. l = (l + 48) | 0;
  53618. e = (d + 32) | 0;
  53619. f = (d + 28) | 0;
  53620. g = (d + 24) | 0;
  53621. h = (d + 20) | 0;
  53622. i = (d + 16) | 0;
  53623. j = (d + 8) | 0;
  53624. k = d;
  53625. c[f >> 2] = a;
  53626. c[g >> 2] = b;
  53627. c[h >> 2] = c[f >> 2];
  53628. c[i >> 2] = c[g >> 2];
  53629. if ((c[g >> 2] | 0) >>> 0 < 5) {
  53630. c[e >> 2] = -72;
  53631. m = c[e >> 2] | 0;
  53632. l = d;
  53633. return m | 0;
  53634. }
  53635. if ((pr(c[f >> 2] | 0) | 0) != -47205084) {
  53636. c[e >> 2] = -10;
  53637. m = c[e >> 2] | 0;
  53638. l = d;
  53639. return m | 0;
  53640. }
  53641. c[h >> 2] = (c[h >> 2] | 0) + 5;
  53642. c[i >> 2] = (c[i >> 2] | 0) - 5;
  53643. while (1) {
  53644. c[k >> 2] = qr(c[h >> 2] | 0, c[i >> 2] | 0, j) | 0;
  53645. if (rr(c[k >> 2] | 0) | 0) {
  53646. n = 7;
  53647. break;
  53648. }
  53649. c[h >> 2] = (c[h >> 2] | 0) + 3;
  53650. c[i >> 2] = (c[i >> 2] | 0) - 3;
  53651. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  53652. n = 9;
  53653. break;
  53654. }
  53655. if (!(c[k >> 2] | 0)) {
  53656. n = 12;
  53657. break;
  53658. }
  53659. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  53660. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  53661. }
  53662. if ((n | 0) == 7) {
  53663. c[e >> 2] = c[k >> 2];
  53664. m = c[e >> 2] | 0;
  53665. l = d;
  53666. return m | 0;
  53667. } else if ((n | 0) == 9) {
  53668. c[e >> 2] = -72;
  53669. m = c[e >> 2] | 0;
  53670. l = d;
  53671. return m | 0;
  53672. } else if ((n | 0) == 12) {
  53673. c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
  53674. m = c[e >> 2] | 0;
  53675. l = d;
  53676. return m | 0;
  53677. }
  53678. return 0;
  53679. }
  53680. function pr(a) {
  53681. a = a | 0;
  53682. var b = 0,
  53683. e = 0,
  53684. f = 0,
  53685. g = 0,
  53686. h = 0,
  53687. i = 0;
  53688. b = l;
  53689. l = (l + 16) | 0;
  53690. e = (b + 8) | 0;
  53691. f = (b + 4) | 0;
  53692. g = b;
  53693. c[f >> 2] = a;
  53694. a = (tr() | 0) != 0;
  53695. h = c[f >> 2] | 0;
  53696. if (a) {
  53697. c[e >> 2] = ur(h) | 0;
  53698. i = c[e >> 2] | 0;
  53699. l = b;
  53700. return i | 0;
  53701. } else {
  53702. c[g >> 2] = h;
  53703. c[e >> 2] =
  53704. (d[c[g >> 2] >> 0] | 0) +
  53705. ((d[((c[g >> 2] | 0) + 1) >> 0] | 0) << 8) +
  53706. ((d[((c[g >> 2] | 0) + 2) >> 0] | 0) << 16) +
  53707. ((d[((c[g >> 2] | 0) + 3) >> 0] | 0) << 24);
  53708. i = c[e >> 2] | 0;
  53709. l = b;
  53710. return i | 0;
  53711. }
  53712. return 0;
  53713. }
  53714. function qr(b, e, f) {
  53715. b = b | 0;
  53716. e = e | 0;
  53717. f = f | 0;
  53718. var g = 0,
  53719. h = 0,
  53720. i = 0,
  53721. j = 0,
  53722. k = 0,
  53723. m = 0,
  53724. n = 0,
  53725. o = 0,
  53726. p = 0;
  53727. g = l;
  53728. l = (l + 32) | 0;
  53729. h = (g + 20) | 0;
  53730. i = (g + 16) | 0;
  53731. j = (g + 12) | 0;
  53732. k = (g + 8) | 0;
  53733. m = (g + 4) | 0;
  53734. n = (g + 24) | 0;
  53735. o = g;
  53736. c[i >> 2] = b;
  53737. c[j >> 2] = e;
  53738. c[k >> 2] = f;
  53739. c[m >> 2] = c[i >> 2];
  53740. if ((c[j >> 2] | 0) >>> 0 < 3) {
  53741. c[h >> 2] = -72;
  53742. p = c[h >> 2] | 0;
  53743. l = g;
  53744. return p | 0;
  53745. }
  53746. a[n >> 0] = a[c[m >> 2] >> 0] | 0;
  53747. c[o >> 2] =
  53748. (d[((c[m >> 2] | 0) + 2) >> 0] | 0) +
  53749. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  53750. (((d[c[m >> 2] >> 0] | 0) & 7) << 16);
  53751. c[c[k >> 2] >> 2] = (d[n >> 0] | 0) >> 6;
  53752. c[((c[k >> 2] | 0) + 4) >> 2] =
  53753. (c[c[k >> 2] >> 2] | 0) == 2 ? c[o >> 2] | 0 : 0;
  53754. if ((c[c[k >> 2] >> 2] | 0) == 3) {
  53755. c[h >> 2] = 0;
  53756. p = c[h >> 2] | 0;
  53757. l = g;
  53758. return p | 0;
  53759. }
  53760. if ((c[c[k >> 2] >> 2] | 0) == 2) {
  53761. c[h >> 2] = 1;
  53762. p = c[h >> 2] | 0;
  53763. l = g;
  53764. return p | 0;
  53765. } else {
  53766. c[h >> 2] = c[o >> 2];
  53767. p = c[h >> 2] | 0;
  53768. l = g;
  53769. return p | 0;
  53770. }
  53771. return 0;
  53772. }
  53773. function rr(a) {
  53774. a = a | 0;
  53775. var b = 0,
  53776. d = 0;
  53777. b = l;
  53778. l = (l + 16) | 0;
  53779. d = b;
  53780. c[d >> 2] = a;
  53781. a = sr(c[d >> 2] | 0) | 0;
  53782. l = b;
  53783. return a | 0;
  53784. }
  53785. function sr(a) {
  53786. a = a | 0;
  53787. var b = 0,
  53788. d = 0;
  53789. b = l;
  53790. l = (l + 16) | 0;
  53791. d = b;
  53792. c[d >> 2] = a;
  53793. l = b;
  53794. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  53795. }
  53796. function tr() {
  53797. return d[11936] | 0 | 0;
  53798. }
  53799. function ur(b) {
  53800. b = b | 0;
  53801. var d = 0,
  53802. e = 0,
  53803. f = 0;
  53804. d = l;
  53805. l = (l + 16) | 0;
  53806. e = (d + 4) | 0;
  53807. f = d;
  53808. c[e >> 2] = b;
  53809. b = c[e >> 2] | 0;
  53810. a[f >> 0] = a[b >> 0] | 0;
  53811. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  53812. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  53813. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  53814. l = d;
  53815. return c[f >> 2] | 0;
  53816. }
  53817. function vr(b, e, f) {
  53818. b = b | 0;
  53819. e = e | 0;
  53820. f = f | 0;
  53821. var g = 0,
  53822. h = 0,
  53823. i = 0,
  53824. j = 0,
  53825. k = 0,
  53826. m = 0,
  53827. n = 0,
  53828. o = 0,
  53829. p = 0,
  53830. q = 0,
  53831. r = 0,
  53832. s = 0,
  53833. t = 0,
  53834. u = 0,
  53835. v = 0,
  53836. w = 0,
  53837. x = 0,
  53838. y = 0,
  53839. z = 0,
  53840. A = 0,
  53841. B = 0;
  53842. g = l;
  53843. l = (l + 80) | 0;
  53844. h = (g + 68) | 0;
  53845. i = (g + 64) | 0;
  53846. j = (g + 60) | 0;
  53847. k = (g + 56) | 0;
  53848. m = (g + 52) | 0;
  53849. n = (g + 48) | 0;
  53850. o = (g + 44) | 0;
  53851. p = (g + 40) | 0;
  53852. q = (g + 36) | 0;
  53853. r = (g + 32) | 0;
  53854. s = (g + 28) | 0;
  53855. t = (g + 24) | 0;
  53856. u = (g + 20) | 0;
  53857. v = (g + 16) | 0;
  53858. w = (g + 12) | 0;
  53859. x = (g + 8) | 0;
  53860. y = (g + 4) | 0;
  53861. z = g;
  53862. c[i >> 2] = b;
  53863. c[j >> 2] = e;
  53864. c[k >> 2] = f;
  53865. if ((c[k >> 2] | 0) >>> 0 < 3) {
  53866. c[h >> 2] = -20;
  53867. A = c[h >> 2] | 0;
  53868. l = g;
  53869. return A | 0;
  53870. }
  53871. c[m >> 2] = c[j >> 2];
  53872. c[n >> 2] = (d[c[m >> 2] >> 0] | 0) & 3;
  53873. switch (c[n >> 2] | 0) {
  53874. case 3: {
  53875. if (!(c[((c[i >> 2] | 0) + 28808) >> 2] | 0)) {
  53876. c[h >> 2] = -30;
  53877. A = c[h >> 2] | 0;
  53878. l = g;
  53879. return A | 0;
  53880. }
  53881. break;
  53882. }
  53883. case 2:
  53884. break;
  53885. case 0: {
  53886. c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 2) & 3;
  53887. switch (c[w >> 2] | 0) {
  53888. case 3: {
  53889. c[v >> 2] = 3;
  53890. c[u >> 2] = (cr(c[m >> 2] | 0) | 0) >>> 4;
  53891. break;
  53892. }
  53893. case 1: {
  53894. c[v >> 2] = 2;
  53895. c[u >> 2] = ((rq(c[m >> 2] | 0) | 0) & 65535) >> 4;
  53896. break;
  53897. }
  53898. default: {
  53899. c[v >> 2] = 1;
  53900. c[u >> 2] = (d[c[m >> 2] >> 0] | 0) >> 3;
  53901. }
  53902. }
  53903. if (
  53904. (((c[v >> 2] | 0) + (c[u >> 2] | 0) + 8) | 0) >>> 0 <=
  53905. (c[k >> 2] | 0) >>> 0
  53906. ) {
  53907. c[((c[i >> 2] | 0) + 28916) >> 2] =
  53908. (c[m >> 2] | 0) + (c[v >> 2] | 0);
  53909. c[((c[i >> 2] | 0) + 28932) >> 2] = c[u >> 2];
  53910. c[h >> 2] = (c[v >> 2] | 0) + (c[u >> 2] | 0);
  53911. A = c[h >> 2] | 0;
  53912. l = g;
  53913. return A | 0;
  53914. }
  53915. if (
  53916. (((c[u >> 2] | 0) + (c[v >> 2] | 0)) | 0) >>> 0 >
  53917. (c[k >> 2] | 0) >>> 0
  53918. ) {
  53919. c[h >> 2] = -20;
  53920. A = c[h >> 2] | 0;
  53921. l = g;
  53922. return A | 0;
  53923. } else {
  53924. mE(
  53925. ((c[i >> 2] | 0) + 29012) | 0,
  53926. ((c[m >> 2] | 0) + (c[v >> 2] | 0)) | 0,
  53927. c[u >> 2] | 0
  53928. ) | 0;
  53929. c[((c[i >> 2] | 0) + 28916) >> 2] =
  53930. (c[i >> 2] | 0) + 29012;
  53931. c[((c[i >> 2] | 0) + 28932) >> 2] = c[u >> 2];
  53932. w =
  53933. ((c[i >> 2] | 0) +
  53934. 29012 +
  53935. (c[((c[i >> 2] | 0) + 28932) >> 2] | 0)) |
  53936. 0;
  53937. a[w >> 0] = 0;
  53938. a[(w + 1) >> 0] = 0;
  53939. a[(w + 2) >> 0] = 0;
  53940. a[(w + 3) >> 0] = 0;
  53941. a[(w + 4) >> 0] = 0;
  53942. a[(w + 5) >> 0] = 0;
  53943. a[(w + 6) >> 0] = 0;
  53944. a[(w + 7) >> 0] = 0;
  53945. c[h >> 2] = (c[v >> 2] | 0) + (c[u >> 2] | 0);
  53946. A = c[h >> 2] | 0;
  53947. l = g;
  53948. return A | 0;
  53949. }
  53950. break;
  53951. }
  53952. case 1: {
  53953. c[x >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 2) & 3;
  53954. switch (c[x >> 2] | 0) {
  53955. case 3: {
  53956. c[z >> 2] = 3;
  53957. c[y >> 2] = (cr(c[m >> 2] | 0) | 0) >>> 4;
  53958. if ((c[k >> 2] | 0) >>> 0 < 4) {
  53959. c[h >> 2] = -20;
  53960. A = c[h >> 2] | 0;
  53961. l = g;
  53962. return A | 0;
  53963. }
  53964. break;
  53965. }
  53966. case 1: {
  53967. c[z >> 2] = 2;
  53968. c[y >> 2] = ((rq(c[m >> 2] | 0) | 0) & 65535) >> 4;
  53969. break;
  53970. }
  53971. default: {
  53972. c[z >> 2] = 1;
  53973. c[y >> 2] = (d[c[m >> 2] >> 0] | 0) >> 3;
  53974. }
  53975. }
  53976. if ((c[y >> 2] | 0) >>> 0 > 131072) {
  53977. c[h >> 2] = -20;
  53978. A = c[h >> 2] | 0;
  53979. l = g;
  53980. return A | 0;
  53981. } else {
  53982. oE(
  53983. ((c[i >> 2] | 0) + 29012) | 0,
  53984. ((d[((c[m >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) &
  53985. 255) |
  53986. 0,
  53987. ((c[y >> 2] | 0) + 8) | 0
  53988. ) | 0;
  53989. c[((c[i >> 2] | 0) + 28916) >> 2] =
  53990. (c[i >> 2] | 0) + 29012;
  53991. c[((c[i >> 2] | 0) + 28932) >> 2] = c[y >> 2];
  53992. c[h >> 2] = (c[z >> 2] | 0) + 1;
  53993. A = c[h >> 2] | 0;
  53994. l = g;
  53995. return A | 0;
  53996. }
  53997. break;
  53998. }
  53999. default: {
  54000. c[h >> 2] = -20;
  54001. A = c[h >> 2] | 0;
  54002. l = g;
  54003. return A | 0;
  54004. }
  54005. }
  54006. if ((c[k >> 2] | 0) >>> 0 < 5) {
  54007. c[h >> 2] = -20;
  54008. A = c[h >> 2] | 0;
  54009. l = g;
  54010. return A | 0;
  54011. }
  54012. c[r >> 2] = 0;
  54013. c[s >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 2) & 3;
  54014. c[t >> 2] = hq(c[m >> 2] | 0) | 0;
  54015. switch (c[s >> 2] | 0) {
  54016. case 3: {
  54017. c[o >> 2] = 5;
  54018. c[p >> 2] = ((c[t >> 2] | 0) >>> 4) & 262143;
  54019. c[q >> 2] =
  54020. ((c[t >> 2] | 0) >>> 22) +
  54021. ((d[((c[m >> 2] | 0) + 4) >> 0] | 0) << 10);
  54022. break;
  54023. }
  54024. case 2: {
  54025. c[o >> 2] = 4;
  54026. c[p >> 2] = ((c[t >> 2] | 0) >>> 4) & 16383;
  54027. c[q >> 2] = (c[t >> 2] | 0) >>> 18;
  54028. break;
  54029. }
  54030. default: {
  54031. c[r >> 2] = (((c[s >> 2] | 0) != 0) ^ 1) & 1;
  54032. c[o >> 2] = 3;
  54033. c[p >> 2] = ((c[t >> 2] | 0) >>> 4) & 1023;
  54034. c[q >> 2] = ((c[t >> 2] | 0) >>> 14) & 1023;
  54035. }
  54036. }
  54037. if ((c[p >> 2] | 0) >>> 0 > 131072) {
  54038. c[h >> 2] = -20;
  54039. A = c[h >> 2] | 0;
  54040. l = g;
  54041. return A | 0;
  54042. }
  54043. if (
  54044. (((c[q >> 2] | 0) + (c[o >> 2] | 0)) | 0) >>> 0 >
  54045. (c[k >> 2] | 0) >>> 0
  54046. ) {
  54047. c[h >> 2] = -20;
  54048. A = c[h >> 2] | 0;
  54049. l = g;
  54050. return A | 0;
  54051. }
  54052. k = (c[r >> 2] | 0) != 0;
  54053. r = c[i >> 2] | 0;
  54054. do {
  54055. if ((c[n >> 2] | 0) == 3) {
  54056. t = (r + 29012) | 0;
  54057. s = c[p >> 2] | 0;
  54058. z = ((c[m >> 2] | 0) + (c[o >> 2] | 0)) | 0;
  54059. y = c[q >> 2] | 0;
  54060. x = c[((c[i >> 2] | 0) + 12) >> 2] | 0;
  54061. u = c[((c[i >> 2] | 0) + 28944) >> 2] | 0;
  54062. if (k) {
  54063. B = Op(t, s, z, y, x, u) | 0;
  54064. break;
  54065. } else {
  54066. B = Qp(t, s, z, y, x, u) | 0;
  54067. break;
  54068. }
  54069. } else {
  54070. u = (r + 16 + 10264) | 0;
  54071. x = ((c[i >> 2] | 0) + 29012) | 0;
  54072. y = c[p >> 2] | 0;
  54073. z = ((c[m >> 2] | 0) + (c[o >> 2] | 0)) | 0;
  54074. s = c[q >> 2] | 0;
  54075. t = ((c[i >> 2] | 0) + 16 + 26652) | 0;
  54076. v = c[((c[i >> 2] | 0) + 28944) >> 2] | 0;
  54077. if (k) {
  54078. B = Pp(u, x, y, z, s, t, 2048, v) | 0;
  54079. break;
  54080. } else {
  54081. B = Rp(u, x, y, z, s, t, 2048, v) | 0;
  54082. break;
  54083. }
  54084. }
  54085. } while (0);
  54086. if ($q(B) | 0) {
  54087. c[h >> 2] = -20;
  54088. A = c[h >> 2] | 0;
  54089. l = g;
  54090. return A | 0;
  54091. }
  54092. c[((c[i >> 2] | 0) + 28916) >> 2] = (c[i >> 2] | 0) + 29012;
  54093. c[((c[i >> 2] | 0) + 28932) >> 2] = c[p >> 2];
  54094. c[((c[i >> 2] | 0) + 28808) >> 2] = 1;
  54095. if ((c[n >> 2] | 0) == 2)
  54096. c[((c[i >> 2] | 0) + 12) >> 2] =
  54097. (c[i >> 2] | 0) + 16 + 10264;
  54098. n =
  54099. ((c[i >> 2] | 0) +
  54100. 29012 +
  54101. (c[((c[i >> 2] | 0) + 28932) >> 2] | 0)) |
  54102. 0;
  54103. a[n >> 0] = 0;
  54104. a[(n + 1) >> 0] = 0;
  54105. a[(n + 2) >> 0] = 0;
  54106. a[(n + 3) >> 0] = 0;
  54107. a[(n + 4) >> 0] = 0;
  54108. a[(n + 5) >> 0] = 0;
  54109. a[(n + 6) >> 0] = 0;
  54110. a[(n + 7) >> 0] = 0;
  54111. c[h >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
  54112. A = c[h >> 2] | 0;
  54113. l = g;
  54114. return A | 0;
  54115. }
  54116. function wr(a, b, e, f) {
  54117. a = a | 0;
  54118. b = b | 0;
  54119. e = e | 0;
  54120. f = f | 0;
  54121. var g = 0,
  54122. h = 0,
  54123. i = 0,
  54124. j = 0,
  54125. k = 0,
  54126. m = 0,
  54127. n = 0,
  54128. o = 0,
  54129. p = 0,
  54130. q = 0,
  54131. r = 0,
  54132. s = 0,
  54133. t = 0,
  54134. u = 0,
  54135. v = 0,
  54136. w = 0,
  54137. x = 0;
  54138. g = l;
  54139. l = (l + 64) | 0;
  54140. h = (g + 56) | 0;
  54141. i = (g + 52) | 0;
  54142. j = (g + 48) | 0;
  54143. k = (g + 44) | 0;
  54144. m = (g + 40) | 0;
  54145. n = (g + 36) | 0;
  54146. o = (g + 32) | 0;
  54147. p = (g + 28) | 0;
  54148. q = (g + 24) | 0;
  54149. r = (g + 20) | 0;
  54150. s = (g + 16) | 0;
  54151. t = (g + 12) | 0;
  54152. u = (g + 8) | 0;
  54153. v = (g + 4) | 0;
  54154. w = g;
  54155. c[i >> 2] = a;
  54156. c[j >> 2] = b;
  54157. c[k >> 2] = e;
  54158. c[m >> 2] = f;
  54159. c[n >> 2] = c[k >> 2];
  54160. c[o >> 2] = (c[n >> 2] | 0) + (c[m >> 2] | 0);
  54161. c[p >> 2] = c[n >> 2];
  54162. if ((c[m >> 2] | 0) >>> 0 < 1) {
  54163. c[h >> 2] = -72;
  54164. x = c[h >> 2] | 0;
  54165. l = g;
  54166. return x | 0;
  54167. }
  54168. m = c[p >> 2] | 0;
  54169. c[p >> 2] = m + 1;
  54170. c[q >> 2] = d[m >> 0];
  54171. if (!(c[q >> 2] | 0)) {
  54172. c[c[j >> 2] >> 2] = 0;
  54173. c[h >> 2] = 1;
  54174. x = c[h >> 2] | 0;
  54175. l = g;
  54176. return x | 0;
  54177. }
  54178. do {
  54179. if ((c[q >> 2] | 0) > 127) {
  54180. m = c[p >> 2] | 0;
  54181. if ((c[q >> 2] | 0) == 255) {
  54182. if (((m + 2) | 0) >>> 0 <= (c[o >> 2] | 0) >>> 0) {
  54183. c[q >> 2] = ((rq(c[p >> 2] | 0) | 0) & 65535) + 32512;
  54184. c[p >> 2] = (c[p >> 2] | 0) + 2;
  54185. break;
  54186. }
  54187. c[h >> 2] = -72;
  54188. x = c[h >> 2] | 0;
  54189. l = g;
  54190. return x | 0;
  54191. } else {
  54192. if (m >>> 0 < (c[o >> 2] | 0) >>> 0) {
  54193. m = ((c[q >> 2] | 0) - 128) << 8;
  54194. k = c[p >> 2] | 0;
  54195. c[p >> 2] = k + 1;
  54196. c[q >> 2] = m + (d[k >> 0] | 0);
  54197. break;
  54198. }
  54199. c[h >> 2] = -72;
  54200. x = c[h >> 2] | 0;
  54201. l = g;
  54202. return x | 0;
  54203. }
  54204. }
  54205. } while (0);
  54206. c[c[j >> 2] >> 2] = c[q >> 2];
  54207. if (
  54208. (((c[p >> 2] | 0) + 4) | 0) >>> 0 >
  54209. (c[o >> 2] | 0) >>> 0
  54210. ) {
  54211. c[h >> 2] = -72;
  54212. x = c[h >> 2] | 0;
  54213. l = g;
  54214. return x | 0;
  54215. }
  54216. c[r >> 2] = (d[c[p >> 2] >> 0] | 0) >> 6;
  54217. c[s >> 2] = ((d[c[p >> 2] >> 0] | 0) >> 4) & 3;
  54218. c[t >> 2] = ((d[c[p >> 2] >> 0] | 0) >> 2) & 3;
  54219. c[p >> 2] = (c[p >> 2] | 0) + 1;
  54220. c[u >> 2] =
  54221. xr(
  54222. ((c[i >> 2] | 0) + 16) | 0,
  54223. c[i >> 2] | 0,
  54224. c[r >> 2] | 0,
  54225. 35,
  54226. 9,
  54227. c[p >> 2] | 0,
  54228. ((c[o >> 2] | 0) - (c[p >> 2] | 0)) | 0,
  54229. 6416,
  54230. 5696,
  54231. 3504,
  54232. c[((c[i >> 2] | 0) + 28812) >> 2] | 0
  54233. ) | 0;
  54234. if ($q(c[u >> 2] | 0) | 0) {
  54235. c[h >> 2] = -20;
  54236. x = c[h >> 2] | 0;
  54237. l = g;
  54238. return x | 0;
  54239. }
  54240. c[p >> 2] = (c[p >> 2] | 0) + (c[u >> 2] | 0);
  54241. c[v >> 2] =
  54242. xr(
  54243. ((c[i >> 2] | 0) + 16 + 4104) | 0,
  54244. ((c[i >> 2] | 0) + 8) | 0,
  54245. c[s >> 2] | 0,
  54246. 31,
  54247. 8,
  54248. c[p >> 2] | 0,
  54249. ((c[o >> 2] | 0) - (c[p >> 2] | 0)) | 0,
  54250. 4032,
  54251. 4160,
  54252. 4288,
  54253. c[((c[i >> 2] | 0) + 28812) >> 2] | 0
  54254. ) | 0;
  54255. if ($q(c[v >> 2] | 0) | 0) {
  54256. c[h >> 2] = -20;
  54257. x = c[h >> 2] | 0;
  54258. l = g;
  54259. return x | 0;
  54260. }
  54261. c[p >> 2] = (c[p >> 2] | 0) + (c[v >> 2] | 0);
  54262. c[w >> 2] =
  54263. xr(
  54264. ((c[i >> 2] | 0) + 16 + 6160) | 0,
  54265. ((c[i >> 2] | 0) + 4) | 0,
  54266. c[t >> 2] | 0,
  54267. 52,
  54268. 9,
  54269. c[p >> 2] | 0,
  54270. ((c[o >> 2] | 0) - (c[p >> 2] | 0)) | 0,
  54271. 5216,
  54272. 5840,
  54273. 4560,
  54274. c[((c[i >> 2] | 0) + 28812) >> 2] | 0
  54275. ) | 0;
  54276. if ($q(c[w >> 2] | 0) | 0) {
  54277. c[h >> 2] = -20;
  54278. x = c[h >> 2] | 0;
  54279. l = g;
  54280. return x | 0;
  54281. } else {
  54282. c[p >> 2] = (c[p >> 2] | 0) + (c[w >> 2] | 0);
  54283. c[h >> 2] = (c[p >> 2] | 0) - (c[n >> 2] | 0);
  54284. x = c[h >> 2] | 0;
  54285. l = g;
  54286. return x | 0;
  54287. }
  54288. return 0;
  54289. }
  54290. function xr(a, b, e, f, g, h, i, j, k, m, n) {
  54291. a = a | 0;
  54292. b = b | 0;
  54293. e = e | 0;
  54294. f = f | 0;
  54295. g = g | 0;
  54296. h = h | 0;
  54297. i = i | 0;
  54298. j = j | 0;
  54299. k = k | 0;
  54300. m = m | 0;
  54301. n = n | 0;
  54302. var o = 0,
  54303. p = 0,
  54304. q = 0,
  54305. r = 0,
  54306. s = 0,
  54307. t = 0,
  54308. u = 0,
  54309. v = 0,
  54310. w = 0,
  54311. x = 0,
  54312. y = 0,
  54313. z = 0,
  54314. A = 0,
  54315. B = 0,
  54316. C = 0,
  54317. D = 0,
  54318. E = 0,
  54319. F = 0,
  54320. G = 0;
  54321. o = l;
  54322. l = (l + 176) | 0;
  54323. p = (o + 172) | 0;
  54324. q = (o + 168) | 0;
  54325. r = (o + 164) | 0;
  54326. s = (o + 160) | 0;
  54327. t = (o + 156) | 0;
  54328. u = (o + 152) | 0;
  54329. v = (o + 148) | 0;
  54330. w = (o + 144) | 0;
  54331. x = (o + 140) | 0;
  54332. y = (o + 136) | 0;
  54333. z = (o + 132) | 0;
  54334. A = (o + 128) | 0;
  54335. B = (o + 124) | 0;
  54336. C = (o + 120) | 0;
  54337. D = (o + 116) | 0;
  54338. E = (o + 112) | 0;
  54339. F = o;
  54340. G = (o + 108) | 0;
  54341. c[q >> 2] = a;
  54342. c[r >> 2] = b;
  54343. c[s >> 2] = e;
  54344. c[t >> 2] = f;
  54345. c[u >> 2] = g;
  54346. c[v >> 2] = h;
  54347. c[w >> 2] = i;
  54348. c[x >> 2] = j;
  54349. c[y >> 2] = k;
  54350. c[z >> 2] = m;
  54351. c[A >> 2] = n;
  54352. a: do {
  54353. switch (c[s >> 2] | 0) {
  54354. case 1: {
  54355. if (!(c[w >> 2] | 0)) {
  54356. c[p >> 2] = -72;
  54357. break a;
  54358. }
  54359. if (
  54360. (d[c[v >> 2] >> 0] | 0) >>> 0 >
  54361. (c[t >> 2] | 0) >>> 0
  54362. ) {
  54363. c[p >> 2] = -20;
  54364. break a;
  54365. } else {
  54366. c[B >> 2] = d[c[v >> 2] >> 0];
  54367. c[C >> 2] =
  54368. c[((c[x >> 2] | 0) + (c[B >> 2] << 2)) >> 2];
  54369. c[D >> 2] =
  54370. c[((c[y >> 2] | 0) + (c[B >> 2] << 2)) >> 2];
  54371. yr(c[q >> 2] | 0, c[C >> 2] | 0, c[D >> 2] | 0);
  54372. c[c[r >> 2] >> 2] = c[q >> 2];
  54373. c[p >> 2] = 1;
  54374. break a;
  54375. }
  54376. break;
  54377. }
  54378. case 0: {
  54379. c[c[r >> 2] >> 2] = c[z >> 2];
  54380. c[p >> 2] = 0;
  54381. break;
  54382. }
  54383. case 3: {
  54384. if (c[A >> 2] | 0) {
  54385. c[p >> 2] = 0;
  54386. break a;
  54387. } else {
  54388. c[p >> 2] = -20;
  54389. break a;
  54390. }
  54391. break;
  54392. }
  54393. case 2: {
  54394. c[G >> 2] =
  54395. ah(F, t, E, c[v >> 2] | 0, c[w >> 2] | 0) | 0;
  54396. if ($q(c[G >> 2] | 0) | 0) {
  54397. c[p >> 2] = -20;
  54398. break a;
  54399. }
  54400. if ((c[E >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0) {
  54401. c[p >> 2] = -20;
  54402. break a;
  54403. } else {
  54404. zr(
  54405. c[q >> 2] | 0,
  54406. F,
  54407. c[t >> 2] | 0,
  54408. c[x >> 2] | 0,
  54409. c[y >> 2] | 0,
  54410. c[E >> 2] | 0
  54411. );
  54412. c[c[r >> 2] >> 2] = c[q >> 2];
  54413. c[p >> 2] = c[G >> 2];
  54414. break a;
  54415. }
  54416. break;
  54417. }
  54418. default:
  54419. c[p >> 2] = -1;
  54420. }
  54421. } while (0);
  54422. l = o;
  54423. return c[p >> 2] | 0;
  54424. }
  54425. function yr(d, e, f) {
  54426. d = d | 0;
  54427. e = e | 0;
  54428. f = f | 0;
  54429. var g = 0,
  54430. h = 0,
  54431. i = 0,
  54432. j = 0,
  54433. k = 0,
  54434. m = 0,
  54435. n = 0;
  54436. g = l;
  54437. l = (l + 32) | 0;
  54438. h = (g + 20) | 0;
  54439. i = (g + 16) | 0;
  54440. j = (g + 12) | 0;
  54441. k = (g + 8) | 0;
  54442. m = (g + 4) | 0;
  54443. n = g;
  54444. c[h >> 2] = d;
  54445. c[i >> 2] = e;
  54446. c[j >> 2] = f;
  54447. c[k >> 2] = c[h >> 2];
  54448. c[m >> 2] = c[k >> 2];
  54449. c[n >> 2] = (c[h >> 2] | 0) + 8;
  54450. c[((c[m >> 2] | 0) + 4) >> 2] = 0;
  54451. c[c[m >> 2] >> 2] = 0;
  54452. a[((c[n >> 2] | 0) + 3) >> 0] = 0;
  54453. b[c[n >> 2] >> 1] = 0;
  54454. a[((c[n >> 2] | 0) + 2) >> 0] = c[j >> 2];
  54455. c[((c[n >> 2] | 0) + 4) >> 2] = c[i >> 2];
  54456. l = g;
  54457. return;
  54458. }
  54459. function zr(e, f, g, h, i, j) {
  54460. e = e | 0;
  54461. f = f | 0;
  54462. g = g | 0;
  54463. h = h | 0;
  54464. i = i | 0;
  54465. j = j | 0;
  54466. var k = 0,
  54467. m = 0,
  54468. n = 0,
  54469. o = 0,
  54470. p = 0,
  54471. q = 0,
  54472. r = 0,
  54473. s = 0,
  54474. t = 0,
  54475. u = 0,
  54476. v = 0,
  54477. w = 0,
  54478. x = 0,
  54479. y = 0,
  54480. z = 0,
  54481. A = 0,
  54482. B = 0,
  54483. C = 0,
  54484. D = 0,
  54485. E = 0,
  54486. F = 0,
  54487. G = 0,
  54488. H = 0,
  54489. I = 0;
  54490. k = l;
  54491. l = (l + 208) | 0;
  54492. m = (k + 188) | 0;
  54493. n = (k + 184) | 0;
  54494. o = (k + 180) | 0;
  54495. p = (k + 176) | 0;
  54496. q = (k + 172) | 0;
  54497. r = (k + 168) | 0;
  54498. s = (k + 164) | 0;
  54499. t = k;
  54500. u = (k + 160) | 0;
  54501. v = (k + 156) | 0;
  54502. w = (k + 152) | 0;
  54503. x = (k + 144) | 0;
  54504. y = (k + 192) | 0;
  54505. z = (k + 140) | 0;
  54506. A = (k + 136) | 0;
  54507. B = (k + 132) | 0;
  54508. C = (k + 128) | 0;
  54509. D = (k + 124) | 0;
  54510. E = (k + 120) | 0;
  54511. F = (k + 116) | 0;
  54512. G = (k + 112) | 0;
  54513. H = (k + 108) | 0;
  54514. c[m >> 2] = e;
  54515. c[n >> 2] = f;
  54516. c[o >> 2] = g;
  54517. c[p >> 2] = h;
  54518. c[q >> 2] = i;
  54519. c[r >> 2] = j;
  54520. c[s >> 2] = (c[m >> 2] | 0) + 8;
  54521. c[u >> 2] = (c[o >> 2] | 0) + 1;
  54522. c[v >> 2] = 1 << c[r >> 2];
  54523. c[w >> 2] = (c[v >> 2] | 0) - 1;
  54524. c[(x + 4) >> 2] = c[r >> 2];
  54525. c[x >> 2] = 1;
  54526. b[y >> 1] = 1 << ((c[r >> 2] | 0) - 1);
  54527. c[z >> 2] = 0;
  54528. while (1) {
  54529. if ((c[z >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
  54530. if (
  54531. (b[((c[n >> 2] | 0) + (c[z >> 2] << 1)) >> 1] | 0) ==
  54532. -1
  54533. ) {
  54534. o = c[z >> 2] | 0;
  54535. j = c[s >> 2] | 0;
  54536. i = c[w >> 2] | 0;
  54537. c[w >> 2] = i + -1;
  54538. c[(j + (i << 3) + 4) >> 2] = o;
  54539. b[(t + (c[z >> 2] << 1)) >> 1] = 1;
  54540. } else {
  54541. if (
  54542. (b[((c[n >> 2] | 0) + (c[z >> 2] << 1)) >> 1] | 0) >=
  54543. (b[y >> 1] | 0)
  54544. )
  54545. c[x >> 2] = 0;
  54546. b[(t + (c[z >> 2] << 1)) >> 1] =
  54547. b[((c[n >> 2] | 0) + (c[z >> 2] << 1)) >> 1] | 0;
  54548. }
  54549. c[z >> 2] = (c[z >> 2] | 0) + 1;
  54550. }
  54551. z = c[m >> 2] | 0;
  54552. c[z >> 2] = c[x >> 2];
  54553. c[(z + 4) >> 2] = c[(x + 4) >> 2];
  54554. c[A >> 2] = (c[v >> 2] | 0) - 1;
  54555. c[B >> 2] =
  54556. ((c[v >> 2] | 0) >>> 1) + ((c[v >> 2] | 0) >>> 3) + 3;
  54557. c[D >> 2] = 0;
  54558. c[C >> 2] = 0;
  54559. while (1) {
  54560. if ((c[C >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
  54561. c[E >> 2] = 0;
  54562. while (1) {
  54563. I = c[C >> 2] | 0;
  54564. if (
  54565. (c[E >> 2] | 0) >=
  54566. (b[((c[n >> 2] | 0) + (c[C >> 2] << 1)) >> 1] | 0)
  54567. )
  54568. break;
  54569. c[((c[s >> 2] | 0) + (c[D >> 2] << 3) + 4) >> 2] = I;
  54570. c[D >> 2] =
  54571. ((c[D >> 2] | 0) + (c[B >> 2] | 0)) & c[A >> 2];
  54572. while (1) {
  54573. if ((c[D >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0)
  54574. break;
  54575. c[D >> 2] =
  54576. ((c[D >> 2] | 0) + (c[B >> 2] | 0)) & c[A >> 2];
  54577. }
  54578. c[E >> 2] = (c[E >> 2] | 0) + 1;
  54579. }
  54580. c[C >> 2] = I + 1;
  54581. }
  54582. c[F >> 2] = 0;
  54583. while (1) {
  54584. if ((c[F >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
  54585. c[G >> 2] =
  54586. c[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 4) >> 2];
  54587. I = (t + (c[G >> 2] << 1)) | 0;
  54588. C = b[I >> 1] | 0;
  54589. b[I >> 1] = ((C + 1) << 16) >> 16;
  54590. c[H >> 2] = C & 65535;
  54591. C = c[r >> 2] | 0;
  54592. I = (C - (Ar(c[H >> 2] | 0) | 0)) & 255;
  54593. a[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 3) >> 0] = I;
  54594. b[((c[s >> 2] | 0) + (c[F >> 2] << 3)) >> 1] =
  54595. (c[H >> 2] <<
  54596. d[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 3) >> 0]) -
  54597. (c[v >> 2] | 0);
  54598. a[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 2) >> 0] =
  54599. c[((c[q >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  54600. c[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 4) >> 2] =
  54601. c[((c[p >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  54602. c[F >> 2] = (c[F >> 2] | 0) + 1;
  54603. }
  54604. l = k;
  54605. return;
  54606. }
  54607. function Ar(a) {
  54608. a = a | 0;
  54609. var b = 0,
  54610. d = 0;
  54611. b = l;
  54612. l = (l + 16) | 0;
  54613. d = b;
  54614. c[d >> 2] = a;
  54615. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  54616. l = b;
  54617. return a | 0;
  54618. }
  54619. function Br(a, b) {
  54620. a = a | 0;
  54621. b = b | 0;
  54622. var d = 0,
  54623. e = 0,
  54624. f = 0;
  54625. d = l;
  54626. l = (l + 16) | 0;
  54627. e = (d + 4) | 0;
  54628. f = d;
  54629. c[e >> 2] = a;
  54630. c[f >> 2] = b;
  54631. if (
  54632. (c[f >> 2] | 0) ==
  54633. (c[((c[e >> 2] | 0) + 28728) >> 2] | 0)
  54634. ) {
  54635. l = d;
  54636. return;
  54637. }
  54638. c[((c[e >> 2] | 0) + 28740) >> 2] =
  54639. c[((c[e >> 2] | 0) + 28728) >> 2];
  54640. c[((c[e >> 2] | 0) + 28736) >> 2] =
  54641. (c[f >> 2] | 0) +
  54642. (0 -
  54643. ((c[((c[e >> 2] | 0) + 28728) >> 2] | 0) -
  54644. (c[((c[e >> 2] | 0) + 28732) >> 2] | 0)));
  54645. c[((c[e >> 2] | 0) + 28732) >> 2] = c[f >> 2];
  54646. c[((c[e >> 2] | 0) + 28728) >> 2] = c[f >> 2];
  54647. l = d;
  54648. return;
  54649. }
  54650. function Cr(a, b, d, e, f, g) {
  54651. a = a | 0;
  54652. b = b | 0;
  54653. d = d | 0;
  54654. e = e | 0;
  54655. f = f | 0;
  54656. g = g | 0;
  54657. var h = 0,
  54658. i = 0,
  54659. j = 0,
  54660. k = 0,
  54661. m = 0,
  54662. n = 0,
  54663. o = 0,
  54664. p = 0,
  54665. q = 0,
  54666. r = 0,
  54667. s = 0,
  54668. t = 0,
  54669. u = 0,
  54670. v = 0,
  54671. w = 0,
  54672. x = 0,
  54673. z = 0,
  54674. A = 0;
  54675. h = l;
  54676. l = (l + 64) | 0;
  54677. i = (h + 52) | 0;
  54678. j = (h + 48) | 0;
  54679. k = (h + 44) | 0;
  54680. m = (h + 40) | 0;
  54681. n = (h + 36) | 0;
  54682. o = (h + 32) | 0;
  54683. p = (h + 28) | 0;
  54684. q = (h + 24) | 0;
  54685. r = (h + 20) | 0;
  54686. s = (h + 16) | 0;
  54687. t = (h + 12) | 0;
  54688. u = (h + 8) | 0;
  54689. v = (h + 4) | 0;
  54690. w = h;
  54691. c[j >> 2] = a;
  54692. c[k >> 2] = b;
  54693. c[m >> 2] = d;
  54694. c[n >> 2] = e;
  54695. c[o >> 2] = f;
  54696. c[p >> 2] = g;
  54697. c[q >> 2] = c[n >> 2];
  54698. if (Dr() | 0) {
  54699. if (c[p >> 2] | 0) {
  54700. g = ((c[j >> 2] | 0) + 28752 + 8) | 0;
  54701. f = c[g >> 2] | 0;
  54702. e = c[(g + 4) >> 2] | 0;
  54703. g = (Dr() | 0) != 0;
  54704. d = jE(1, 0, (g ? 25 : 57) | 0) | 0;
  54705. g = y;
  54706. x =
  54707. (e >>> 0 > g >>> 0) |
  54708. (((e | 0) == (g | 0)) & (f >>> 0 > d >>> 0));
  54709. } else x = 1;
  54710. } else x = 0;
  54711. c[r >> 2] = x & 1;
  54712. if ((c[o >> 2] | 0) >>> 0 >= 131072) {
  54713. c[i >> 2] = -72;
  54714. z = c[i >> 2] | 0;
  54715. l = h;
  54716. return z | 0;
  54717. }
  54718. c[s >> 2] =
  54719. vr(c[j >> 2] | 0, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
  54720. n = ($q(c[s >> 2] | 0) | 0) != 0;
  54721. x = c[s >> 2] | 0;
  54722. if (n) {
  54723. c[i >> 2] = x;
  54724. z = c[i >> 2] | 0;
  54725. l = h;
  54726. return z | 0;
  54727. }
  54728. c[q >> 2] = (c[q >> 2] | 0) + x;
  54729. c[o >> 2] = (c[o >> 2] | 0) - (c[s >> 2] | 0);
  54730. c[u >> 2] =
  54731. wr(c[j >> 2] | 0, t, c[q >> 2] | 0, c[o >> 2] | 0) | 0;
  54732. s = ($q(c[u >> 2] | 0) | 0) != 0;
  54733. x = c[u >> 2] | 0;
  54734. if (s) {
  54735. c[i >> 2] = x;
  54736. z = c[i >> 2] | 0;
  54737. l = h;
  54738. return z | 0;
  54739. }
  54740. c[q >> 2] = (c[q >> 2] | 0) + x;
  54741. c[o >> 2] = (c[o >> 2] | 0) - (c[u >> 2] | 0);
  54742. if (c[p >> 2] | 0) {
  54743. p = ((c[j >> 2] | 0) + 28752 + 8) | 0;
  54744. u = c[(p + 4) >> 2] | 0;
  54745. if (
  54746. ((u >>> 0 > 0) |
  54747. (((u | 0) == 0) & ((c[p >> 2] | 0) >>> 0 > 16777216))) &
  54748. ((c[t >> 2] | 0) > 0)
  54749. )
  54750. A = 13;
  54751. } else if ((c[t >> 2] | 0) > 0) A = 13;
  54752. if (
  54753. (A | 0) == 13
  54754. ? ((c[v >> 2] =
  54755. Er(c[((c[j >> 2] | 0) + 8) >> 2] | 0) | 0),
  54756. (A = (Fr() | 0) != 0),
  54757. (c[w >> 2] = A ? 7 : 20),
  54758. (c[v >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  54759. : 0
  54760. ) {
  54761. c[i >> 2] =
  54762. Gr(
  54763. c[j >> 2] | 0,
  54764. c[k >> 2] | 0,
  54765. c[m >> 2] | 0,
  54766. c[q >> 2] | 0,
  54767. c[o >> 2] | 0,
  54768. c[t >> 2] | 0,
  54769. c[r >> 2] | 0
  54770. ) | 0;
  54771. z = c[i >> 2] | 0;
  54772. l = h;
  54773. return z | 0;
  54774. }
  54775. c[i >> 2] =
  54776. Hr(
  54777. c[j >> 2] | 0,
  54778. c[k >> 2] | 0,
  54779. c[m >> 2] | 0,
  54780. c[q >> 2] | 0,
  54781. c[o >> 2] | 0,
  54782. c[t >> 2] | 0,
  54783. c[r >> 2] | 0
  54784. ) | 0;
  54785. z = c[i >> 2] | 0;
  54786. l = h;
  54787. return z | 0;
  54788. }
  54789. function Dr() {
  54790. return 1;
  54791. }
  54792. function Er(a) {
  54793. a = a | 0;
  54794. var b = 0,
  54795. e = 0,
  54796. f = 0,
  54797. g = 0,
  54798. h = 0,
  54799. i = 0,
  54800. j = 0,
  54801. k = 0;
  54802. b = l;
  54803. l = (l + 32) | 0;
  54804. e = (b + 24) | 0;
  54805. f = (b + 20) | 0;
  54806. g = (b + 16) | 0;
  54807. h = (b + 12) | 0;
  54808. i = (b + 8) | 0;
  54809. j = (b + 4) | 0;
  54810. k = b;
  54811. c[e >> 2] = a;
  54812. c[f >> 2] = c[e >> 2];
  54813. c[g >> 2] = c[((c[f >> 2] | 0) + 4) >> 2];
  54814. c[h >> 2] = (c[e >> 2] | 0) + 8;
  54815. c[i >> 2] = 1 << c[g >> 2];
  54816. c[k >> 2] = 0;
  54817. c[j >> 2] = 0;
  54818. while (1) {
  54819. if ((c[j >> 2] | 0) >>> 0 >= (c[i >> 2] | 0) >>> 0) break;
  54820. if (
  54821. (d[((c[h >> 2] | 0) + (c[j >> 2] << 3) + 2) >> 0] |
  54822. 0 |
  54823. 0) >
  54824. 22
  54825. )
  54826. c[k >> 2] = (c[k >> 2] | 0) + 1;
  54827. c[j >> 2] = (c[j >> 2] | 0) + 1;
  54828. }
  54829. c[k >> 2] = c[k >> 2] << (8 - (c[g >> 2] | 0));
  54830. l = b;
  54831. return c[k >> 2] | 0;
  54832. }
  54833. function Fr() {
  54834. return 0;
  54835. }
  54836. function Gr(a, b, d, e, f, g, h) {
  54837. a = a | 0;
  54838. b = b | 0;
  54839. d = d | 0;
  54840. e = e | 0;
  54841. f = f | 0;
  54842. g = g | 0;
  54843. h = h | 0;
  54844. var i = 0,
  54845. j = 0,
  54846. k = 0,
  54847. m = 0,
  54848. n = 0,
  54849. o = 0,
  54850. p = 0,
  54851. q = 0,
  54852. r = 0,
  54853. s = 0;
  54854. i = l;
  54855. l = (l + 32) | 0;
  54856. j = (i + 28) | 0;
  54857. k = (i + 24) | 0;
  54858. m = (i + 20) | 0;
  54859. n = (i + 16) | 0;
  54860. o = (i + 12) | 0;
  54861. p = (i + 8) | 0;
  54862. q = (i + 4) | 0;
  54863. r = i;
  54864. c[k >> 2] = a;
  54865. c[m >> 2] = b;
  54866. c[n >> 2] = d;
  54867. c[o >> 2] = e;
  54868. c[p >> 2] = f;
  54869. c[q >> 2] = g;
  54870. c[r >> 2] = h;
  54871. h = c[k >> 2] | 0;
  54872. g = c[m >> 2] | 0;
  54873. m = c[n >> 2] | 0;
  54874. n = c[o >> 2] | 0;
  54875. o = c[p >> 2] | 0;
  54876. p = c[q >> 2] | 0;
  54877. q = c[r >> 2] | 0;
  54878. if (c[((c[k >> 2] | 0) + 28944) >> 2] | 0) {
  54879. c[j >> 2] = Xr(h, g, m, n, o, p, q) | 0;
  54880. s = c[j >> 2] | 0;
  54881. l = i;
  54882. return s | 0;
  54883. } else {
  54884. c[j >> 2] = Yr(h, g, m, n, o, p, q) | 0;
  54885. s = c[j >> 2] | 0;
  54886. l = i;
  54887. return s | 0;
  54888. }
  54889. return 0;
  54890. }
  54891. function Hr(a, b, d, e, f, g, h) {
  54892. a = a | 0;
  54893. b = b | 0;
  54894. d = d | 0;
  54895. e = e | 0;
  54896. f = f | 0;
  54897. g = g | 0;
  54898. h = h | 0;
  54899. var i = 0,
  54900. j = 0,
  54901. k = 0,
  54902. m = 0,
  54903. n = 0,
  54904. o = 0,
  54905. p = 0,
  54906. q = 0,
  54907. r = 0,
  54908. s = 0;
  54909. i = l;
  54910. l = (l + 32) | 0;
  54911. j = (i + 28) | 0;
  54912. k = (i + 24) | 0;
  54913. m = (i + 20) | 0;
  54914. n = (i + 16) | 0;
  54915. o = (i + 12) | 0;
  54916. p = (i + 8) | 0;
  54917. q = (i + 4) | 0;
  54918. r = i;
  54919. c[k >> 2] = a;
  54920. c[m >> 2] = b;
  54921. c[n >> 2] = d;
  54922. c[o >> 2] = e;
  54923. c[p >> 2] = f;
  54924. c[q >> 2] = g;
  54925. c[r >> 2] = h;
  54926. h = c[k >> 2] | 0;
  54927. g = c[m >> 2] | 0;
  54928. m = c[n >> 2] | 0;
  54929. n = c[o >> 2] | 0;
  54930. o = c[p >> 2] | 0;
  54931. p = c[q >> 2] | 0;
  54932. q = c[r >> 2] | 0;
  54933. if (c[((c[k >> 2] | 0) + 28944) >> 2] | 0) {
  54934. c[j >> 2] = Ir(h, g, m, n, o, p, q) | 0;
  54935. s = c[j >> 2] | 0;
  54936. l = i;
  54937. return s | 0;
  54938. } else {
  54939. c[j >> 2] = Jr(h, g, m, n, o, p, q) | 0;
  54940. s = c[j >> 2] | 0;
  54941. l = i;
  54942. return s | 0;
  54943. }
  54944. return 0;
  54945. }
  54946. function Ir(b, f, g, h, i, j, k) {
  54947. b = b | 0;
  54948. f = f | 0;
  54949. g = g | 0;
  54950. h = h | 0;
  54951. i = i | 0;
  54952. j = j | 0;
  54953. k = k | 0;
  54954. var m = 0,
  54955. n = 0,
  54956. o = 0,
  54957. p = 0,
  54958. q = 0,
  54959. r = 0,
  54960. s = 0,
  54961. t = 0,
  54962. u = 0,
  54963. v = 0,
  54964. w = 0,
  54965. x = 0,
  54966. y = 0,
  54967. z = 0,
  54968. A = 0,
  54969. B = 0,
  54970. C = 0,
  54971. D = 0,
  54972. E = 0,
  54973. F = 0,
  54974. G = 0,
  54975. H = 0,
  54976. I = 0,
  54977. J = 0,
  54978. K = 0,
  54979. L = 0,
  54980. M = 0,
  54981. N = 0,
  54982. O = 0,
  54983. P = 0,
  54984. Q = 0,
  54985. R = 0,
  54986. S = 0,
  54987. T = 0,
  54988. U = 0,
  54989. V = 0,
  54990. W = 0,
  54991. X = 0,
  54992. Y = 0,
  54993. Z = 0,
  54994. _ = 0,
  54995. $ = 0,
  54996. aa = 0,
  54997. ba = 0,
  54998. ca = 0,
  54999. da = 0,
  55000. ea = 0,
  55001. fa = 0,
  55002. ga = 0,
  55003. ha = 0,
  55004. ia = 0,
  55005. ja = 0,
  55006. ka = 0,
  55007. la = 0,
  55008. ma = 0,
  55009. na = 0,
  55010. oa = 0,
  55011. pa = 0,
  55012. qa = 0,
  55013. ra = 0,
  55014. sa = 0,
  55015. ta = 0,
  55016. ua = 0,
  55017. va = 0,
  55018. wa = 0,
  55019. xa = 0,
  55020. ya = 0,
  55021. za = 0,
  55022. Aa = 0,
  55023. Ba = 0,
  55024. Ca = 0,
  55025. Da = 0,
  55026. Ea = 0,
  55027. Fa = 0,
  55028. Ga = 0,
  55029. Ha = 0,
  55030. Ia = 0,
  55031. Ja = 0,
  55032. Ka = 0,
  55033. La = 0,
  55034. Ma = 0,
  55035. Na = 0,
  55036. Oa = 0,
  55037. Pa = 0,
  55038. Qa = 0,
  55039. Ra = 0,
  55040. Sa = 0,
  55041. Ta = 0;
  55042. m = l;
  55043. l = (l + 448) | 0;
  55044. n = (m + 432) | 0;
  55045. o = (m + 424) | 0;
  55046. p = (m + 420) | 0;
  55047. q = (m + 416) | 0;
  55048. r = (m + 412) | 0;
  55049. s = (m + 408) | 0;
  55050. t = (m + 404) | 0;
  55051. u = (m + 400) | 0;
  55052. v = (m + 396) | 0;
  55053. w = (m + 392) | 0;
  55054. x = (m + 388) | 0;
  55055. y = (m + 384) | 0;
  55056. z = (m + 380) | 0;
  55057. A = (m + 376) | 0;
  55058. B = (m + 372) | 0;
  55059. C = (m + 368) | 0;
  55060. D = (m + 364) | 0;
  55061. E = (m + 360) | 0;
  55062. F = m;
  55063. G = (m + 356) | 0;
  55064. H = (m + 352) | 0;
  55065. I = (m + 344) | 0;
  55066. J = (m + 340) | 0;
  55067. K = (m + 336) | 0;
  55068. L = (m + 332) | 0;
  55069. M = (m + 328) | 0;
  55070. N = (m + 320) | 0;
  55071. O = (m + 316) | 0;
  55072. P = (m + 312) | 0;
  55073. Q = (m + 308) | 0;
  55074. R = (m + 304) | 0;
  55075. S = (m + 296) | 0;
  55076. T = (m + 292) | 0;
  55077. U = (m + 288) | 0;
  55078. V = (m + 284) | 0;
  55079. W = (m + 280) | 0;
  55080. X = (m + 264) | 0;
  55081. Y = (m + 256) | 0;
  55082. Z = (m + 252) | 0;
  55083. _ = (m + 248) | 0;
  55084. $ = (m + 244) | 0;
  55085. aa = (m + 240) | 0;
  55086. ba = (m + 236) | 0;
  55087. ca = (m + 232) | 0;
  55088. da = (m + 228) | 0;
  55089. ea = (m + 224) | 0;
  55090. fa = (m + 220) | 0;
  55091. ga = (m + 216) | 0;
  55092. ha = (m + 212) | 0;
  55093. ia = (m + 208) | 0;
  55094. ja = (m + 204) | 0;
  55095. ka = (m + 200) | 0;
  55096. la = (m + 196) | 0;
  55097. ma = (m + 192) | 0;
  55098. na = (m + 188) | 0;
  55099. oa = (m + 184) | 0;
  55100. pa = (m + 180) | 0;
  55101. qa = (m + 176) | 0;
  55102. ra = (m + 172) | 0;
  55103. sa = (m + 168) | 0;
  55104. ta = (m + 164) | 0;
  55105. ua = (m + 160) | 0;
  55106. va = (m + 156) | 0;
  55107. wa = (m + 152) | 0;
  55108. xa = (m + 148) | 0;
  55109. ya = (m + 80) | 0;
  55110. za = (m + 76) | 0;
  55111. Aa = (m + 72) | 0;
  55112. Ba = (m + 56) | 0;
  55113. Ca = (m + 52) | 0;
  55114. Da = (m + 48) | 0;
  55115. Ea = (m + 44) | 0;
  55116. Fa = (m + 40) | 0;
  55117. Ga = (m + 36) | 0;
  55118. Ha = (m + 32) | 0;
  55119. Ia = (m + 28) | 0;
  55120. Ja = (m + 24) | 0;
  55121. Ka = (m + 20) | 0;
  55122. La = (m + 16) | 0;
  55123. c[Fa >> 2] = b;
  55124. c[Ga >> 2] = f;
  55125. c[Ha >> 2] = g;
  55126. c[Ia >> 2] = h;
  55127. c[Ja >> 2] = i;
  55128. c[Ka >> 2] = j;
  55129. c[La >> 2] = k;
  55130. k = c[Ga >> 2] | 0;
  55131. Ga = c[Ha >> 2] | 0;
  55132. Ha = c[Ia >> 2] | 0;
  55133. Ia = c[Ja >> 2] | 0;
  55134. Ja = c[Ka >> 2] | 0;
  55135. Ka = c[La >> 2] | 0;
  55136. c[ha >> 2] = c[Fa >> 2];
  55137. c[ia >> 2] = k;
  55138. c[ja >> 2] = Ga;
  55139. c[ka >> 2] = Ha;
  55140. c[la >> 2] = Ia;
  55141. c[ma >> 2] = Ja;
  55142. c[na >> 2] = Ka;
  55143. c[oa >> 2] = c[ka >> 2];
  55144. c[pa >> 2] = (c[oa >> 2] | 0) + (c[la >> 2] | 0);
  55145. c[qa >> 2] = c[ia >> 2];
  55146. c[ra >> 2] = (c[qa >> 2] | 0) + (c[ja >> 2] | 0);
  55147. c[sa >> 2] = c[qa >> 2];
  55148. c[ta >> 2] = c[((c[ha >> 2] | 0) + 28916) >> 2];
  55149. c[ua >> 2] =
  55150. (c[ta >> 2] | 0) + (c[((c[ha >> 2] | 0) + 28932) >> 2] | 0);
  55151. c[va >> 2] = c[((c[ha >> 2] | 0) + 28732) >> 2];
  55152. c[wa >> 2] = c[((c[ha >> 2] | 0) + 28736) >> 2];
  55153. c[xa >> 2] = c[((c[ha >> 2] | 0) + 28740) >> 2];
  55154. a: do {
  55155. if (c[ma >> 2] | 0) {
  55156. c[((c[ha >> 2] | 0) + 28812) >> 2] = 1;
  55157. c[za >> 2] = 0;
  55158. while (1) {
  55159. if ((c[za >> 2] | 0) >>> 0 >= 3) break;
  55160. c[(ya + 44 + (c[za >> 2] << 2)) >> 2] =
  55161. c[
  55162. ((c[ha >> 2] | 0) +
  55163. 16 +
  55164. 28700 +
  55165. (c[za >> 2] << 2)) >>
  55166. 2
  55167. ];
  55168. c[za >> 2] = (c[za >> 2] | 0) + 1;
  55169. }
  55170. c[Aa >> 2] =
  55171. Kr(
  55172. ya,
  55173. c[oa >> 2] | 0,
  55174. ((c[pa >> 2] | 0) - (c[oa >> 2] | 0)) | 0
  55175. ) | 0;
  55176. if ($q(c[Aa >> 2] | 0) | 0) {
  55177. c[ga >> 2] = -20;
  55178. Ma = c[ga >> 2] | 0;
  55179. l = m;
  55180. return Ma | 0;
  55181. }
  55182. Lr((ya + 20) | 0, ya, c[c[ha >> 2] >> 2] | 0);
  55183. Lr((ya + 28) | 0, ya, c[((c[ha >> 2] | 0) + 8) >> 2] | 0);
  55184. Lr((ya + 36) | 0, ya, c[((c[ha >> 2] | 0) + 4) >> 2] | 0);
  55185. while (1) {
  55186. ja = (Mr(ya) | 0) >>> 0 <= 2;
  55187. Na = c[ma >> 2] | 0;
  55188. if (!(ja ? (c[ma >> 2] | 0) != 0 : 0)) break;
  55189. c[ma >> 2] = Na + -1;
  55190. ja = c[na >> 2] | 0;
  55191. c[V >> 2] = ya;
  55192. c[W >> 2] = ja;
  55193. c[Y >> 2] =
  55194. d[
  55195. ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
  55196. (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
  55197. 2) >>
  55198. 0
  55199. ];
  55200. c[Z >> 2] =
  55201. d[
  55202. ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
  55203. (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
  55204. 2) >>
  55205. 0
  55206. ];
  55207. c[_ >> 2] =
  55208. d[
  55209. ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
  55210. (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
  55211. 2) >>
  55212. 0
  55213. ];
  55214. c[$ >> 2] =
  55215. (c[Y >> 2] | 0) + (c[Z >> 2] | 0) + (c[_ >> 2] | 0);
  55216. c[aa >> 2] =
  55217. c[
  55218. ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
  55219. (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
  55220. 4) >>
  55221. 2
  55222. ];
  55223. c[ba >> 2] =
  55224. c[
  55225. ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
  55226. (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
  55227. 4) >>
  55228. 2
  55229. ];
  55230. c[ca >> 2] =
  55231. c[
  55232. ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
  55233. (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
  55234. 4) >>
  55235. 2
  55236. ];
  55237. do {
  55238. if (c[_ >> 2] | 0) {
  55239. ja = (Dr() | 0) != 0;
  55240. if (
  55241. !(
  55242. ja &
  55243. ((c[W >> 2] | 0) != 0) &
  55244. ((c[_ >> 2] | 0) >>> 0 >= 25)
  55245. )
  55246. ) {
  55247. ja = c[ca >> 2] | 0;
  55248. c[da >> 2] =
  55249. ja + (Nr(c[V >> 2] | 0, c[_ >> 2] | 0) | 0);
  55250. if (!(Dr() | 0)) break;
  55251. Mr(c[V >> 2] | 0) | 0;
  55252. break;
  55253. }
  55254. if (
  55255. (c[_ >> 2] | 0) >>> 0 <
  55256. ((32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) |
  55257. 0) >>>
  55258. 0
  55259. )
  55260. Oa = c[_ >> 2] | 0;
  55261. else
  55262. Oa =
  55263. (32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) | 0;
  55264. c[ea >> 2] = (c[_ >> 2] | 0) - Oa;
  55265. ja = c[ca >> 2] | 0;
  55266. ia =
  55267. Nr(
  55268. c[V >> 2] | 0,
  55269. ((c[_ >> 2] | 0) - (c[ea >> 2] | 0)) | 0
  55270. ) | 0;
  55271. c[da >> 2] = ja + (ia << c[ea >> 2]);
  55272. Mr(c[V >> 2] | 0) | 0;
  55273. if (c[ea >> 2] | 0) {
  55274. ia = Nr(c[V >> 2] | 0, c[ea >> 2] | 0) | 0;
  55275. c[da >> 2] = (c[da >> 2] | 0) + ia;
  55276. }
  55277. } else c[da >> 2] = 0;
  55278. } while (0);
  55279. do {
  55280. if ((c[_ >> 2] | 0) >>> 0 <= 1) {
  55281. c[da >> 2] =
  55282. (c[da >> 2] | 0) + (((c[aa >> 2] | 0) == 0) & 1);
  55283. if (!(c[da >> 2] | 0)) {
  55284. c[da >> 2] = c[((c[V >> 2] | 0) + 44) >> 2];
  55285. break;
  55286. }
  55287. ia = ((c[V >> 2] | 0) + 44) | 0;
  55288. if ((c[da >> 2] | 0) == 3)
  55289. Pa = ((c[ia >> 2] | 0) - 1) | 0;
  55290. else Pa = c[(ia + (c[da >> 2] << 2)) >> 2] | 0;
  55291. c[fa >> 2] = Pa;
  55292. c[fa >> 2] =
  55293. (c[fa >> 2] | 0) +
  55294. ((((c[fa >> 2] | 0) != 0) ^ 1) & 1);
  55295. if ((c[da >> 2] | 0) != 1)
  55296. c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
  55297. c[((c[V >> 2] | 0) + 44 + 4) >> 2];
  55298. c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
  55299. c[((c[V >> 2] | 0) + 44) >> 2];
  55300. ia = c[fa >> 2] | 0;
  55301. c[da >> 2] = ia;
  55302. c[((c[V >> 2] | 0) + 44) >> 2] = ia;
  55303. } else {
  55304. c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
  55305. c[((c[V >> 2] | 0) + 44 + 4) >> 2];
  55306. c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
  55307. c[((c[V >> 2] | 0) + 44) >> 2];
  55308. c[((c[V >> 2] | 0) + 44) >> 2] = c[da >> 2];
  55309. }
  55310. } while (0);
  55311. c[(X + 8) >> 2] = c[da >> 2];
  55312. ia = c[ba >> 2] | 0;
  55313. if ((c[Z >> 2] | 0) >>> 0 > 0)
  55314. Qa = Nr(c[V >> 2] | 0, c[Z >> 2] | 0) | 0;
  55315. else Qa = 0;
  55316. c[(X + 4) >> 2] = ia + Qa;
  55317. if (
  55318. Dr() | 0
  55319. ? (((c[Z >> 2] | 0) + (c[Y >> 2] | 0)) | 0) >>> 0 >=
  55320. 20
  55321. : 0
  55322. )
  55323. Mr(c[V >> 2] | 0) | 0;
  55324. ia = (Fr() | 0) != 0;
  55325. if (ia & ((c[$ >> 2] | 0) >>> 0 >= 31))
  55326. Mr(c[V >> 2] | 0) | 0;
  55327. ia = c[aa >> 2] | 0;
  55328. if ((c[Y >> 2] | 0) >>> 0 > 0)
  55329. Ra = Nr(c[V >> 2] | 0, c[Y >> 2] | 0) | 0;
  55330. else Ra = 0;
  55331. c[X >> 2] = ia + Ra;
  55332. if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
  55333. ia = c[V >> 2] | 0;
  55334. c[Q >> 2] = (c[V >> 2] | 0) + 20;
  55335. c[R >> 2] = ia;
  55336. ia =
  55337. ((c[((c[Q >> 2] | 0) + 4) >> 2] | 0) +
  55338. (c[c[Q >> 2] >> 2] << 3)) |
  55339. 0;
  55340. c[S >> 2] = c[ia >> 2];
  55341. c[(S + 4) >> 2] = c[(ia + 4) >> 2];
  55342. c[T >> 2] = d[(S + 3) >> 0];
  55343. c[U >> 2] = Or(c[R >> 2] | 0, c[T >> 2] | 0) | 0;
  55344. c[c[Q >> 2] >> 2] = (e[S >> 1] | 0) + (c[U >> 2] | 0);
  55345. ia = c[V >> 2] | 0;
  55346. c[L >> 2] = (c[V >> 2] | 0) + 36;
  55347. c[M >> 2] = ia;
  55348. ia =
  55349. ((c[((c[L >> 2] | 0) + 4) >> 2] | 0) +
  55350. (c[c[L >> 2] >> 2] << 3)) |
  55351. 0;
  55352. c[N >> 2] = c[ia >> 2];
  55353. c[(N + 4) >> 2] = c[(ia + 4) >> 2];
  55354. c[O >> 2] = d[(N + 3) >> 0];
  55355. c[P >> 2] = Or(c[M >> 2] | 0, c[O >> 2] | 0) | 0;
  55356. c[c[L >> 2] >> 2] = (e[N >> 1] | 0) + (c[P >> 2] | 0);
  55357. if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
  55358. ia = c[V >> 2] | 0;
  55359. c[G >> 2] = (c[V >> 2] | 0) + 28;
  55360. c[H >> 2] = ia;
  55361. ia =
  55362. ((c[((c[G >> 2] | 0) + 4) >> 2] | 0) +
  55363. (c[c[G >> 2] >> 2] << 3)) |
  55364. 0;
  55365. c[I >> 2] = c[ia >> 2];
  55366. c[(I + 4) >> 2] = c[(ia + 4) >> 2];
  55367. c[J >> 2] = d[(I + 3) >> 0];
  55368. c[K >> 2] = Or(c[H >> 2] | 0, c[J >> 2] | 0) | 0;
  55369. c[c[G >> 2] >> 2] = (e[I >> 1] | 0) + (c[K >> 2] | 0);
  55370. c[Ba >> 2] = c[X >> 2];
  55371. c[(Ba + 4) >> 2] = c[(X + 4) >> 2];
  55372. c[(Ba + 8) >> 2] = c[(X + 8) >> 2];
  55373. c[(Ba + 12) >> 2] = c[(X + 12) >> 2];
  55374. ia = c[sa >> 2] | 0;
  55375. ja = c[ra >> 2] | 0;
  55376. la = c[ua >> 2] | 0;
  55377. ka = c[va >> 2] | 0;
  55378. Ka = c[wa >> 2] | 0;
  55379. Ja = c[xa >> 2] | 0;
  55380. Ia = F;
  55381. Ha = Ba;
  55382. Ga = (Ia + 16) | 0;
  55383. do {
  55384. a[Ia >> 0] = a[Ha >> 0] | 0;
  55385. Ia = (Ia + 1) | 0;
  55386. Ha = (Ha + 1) | 0;
  55387. } while ((Ia | 0) < (Ga | 0));
  55388. c[p >> 2] = ia;
  55389. c[q >> 2] = ja;
  55390. c[r >> 2] = ta;
  55391. c[s >> 2] = la;
  55392. c[t >> 2] = ka;
  55393. c[u >> 2] = Ka;
  55394. c[v >> 2] = Ja;
  55395. c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
  55396. c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
  55397. c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
  55398. c[z >> 2] = (c[q >> 2] | 0) + -8;
  55399. c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
  55400. c[B >> 2] =
  55401. (c[w >> 2] | 0) + (0 - (c[(F + 8) >> 2] | 0));
  55402. b: do {
  55403. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
  55404. c[o >> 2] = -70;
  55405. else {
  55406. if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  55407. c[o >> 2] = -20;
  55408. break;
  55409. }
  55410. Ha = c[p >> 2] | 0;
  55411. if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
  55412. Ia = c[q >> 2] | 0;
  55413. Ga = c[r >> 2] | 0;
  55414. k = c[s >> 2] | 0;
  55415. Fa = c[t >> 2] | 0;
  55416. La = c[u >> 2] | 0;
  55417. j = c[v >> 2] | 0;
  55418. c[n >> 2] = c[F >> 2];
  55419. c[(n + 4) >> 2] = c[(F + 4) >> 2];
  55420. c[(n + 8) >> 2] = c[(F + 8) >> 2];
  55421. c[(n + 12) >> 2] = c[(F + 12) >> 2];
  55422. c[o >> 2] = Pr(Ha, Ia, n, Ga, k, Fa, La, j) | 0;
  55423. break;
  55424. }
  55425. Qr(Ha, c[c[r >> 2] >> 2] | 0);
  55426. if ((c[F >> 2] | 0) >>> 0 > 8)
  55427. Rr(
  55428. ((c[p >> 2] | 0) + 8) | 0,
  55429. ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
  55430. ((c[F >> 2] | 0) - 8) | 0
  55431. );
  55432. c[p >> 2] = c[w >> 2];
  55433. c[c[r >> 2] >> 2] = c[A >> 2];
  55434. do {
  55435. if (
  55436. (c[(F + 8) >> 2] | 0) >>> 0 >
  55437. (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
  55438. ) {
  55439. if (
  55440. (c[(F + 8) >> 2] | 0) >>> 0 >
  55441. (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
  55442. 0
  55443. ) {
  55444. c[o >> 2] = -20;
  55445. break b;
  55446. }
  55447. c[B >> 2] =
  55448. (c[v >> 2] | 0) +
  55449. ((c[B >> 2] | 0) - (c[t >> 2] | 0));
  55450. if (
  55451. (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
  55452. 0) >>>
  55453. 0 <=
  55454. (c[v >> 2] | 0) >>> 0
  55455. ) {
  55456. nE(
  55457. c[w >> 2] | 0,
  55458. c[B >> 2] | 0,
  55459. c[(F + 4) >> 2] | 0
  55460. ) | 0;
  55461. c[o >> 2] = c[x >> 2];
  55462. break b;
  55463. }
  55464. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  55465. nE(
  55466. c[w >> 2] | 0,
  55467. c[B >> 2] | 0,
  55468. c[C >> 2] | 0
  55469. ) | 0;
  55470. c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
  55471. Ha = (F + 4) | 0;
  55472. c[Ha >> 2] = (c[Ha >> 2] | 0) - (c[C >> 2] | 0);
  55473. c[B >> 2] = c[t >> 2];
  55474. if (
  55475. (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
  55476. ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
  55477. : 0
  55478. )
  55479. break;
  55480. c[D >> 2] = 0;
  55481. while (1) {
  55482. if (
  55483. (c[D >> 2] | 0) >>> 0 >=
  55484. (c[(F + 4) >> 2] | 0) >>> 0
  55485. )
  55486. break;
  55487. a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
  55488. a[
  55489. ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
  55490. ] | 0;
  55491. c[D >> 2] = (c[D >> 2] | 0) + 1;
  55492. }
  55493. c[o >> 2] = c[x >> 2];
  55494. break b;
  55495. }
  55496. } while (0);
  55497. if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
  55498. c[E >> 2] =
  55499. c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
  55500. a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
  55501. a[((c[p >> 2] | 0) + 1) >> 0] =
  55502. a[((c[B >> 2] | 0) + 1) >> 0] | 0;
  55503. a[((c[p >> 2] | 0) + 2) >> 0] =
  55504. a[((c[B >> 2] | 0) + 2) >> 0] | 0;
  55505. a[((c[p >> 2] | 0) + 3) >> 0] =
  55506. a[((c[B >> 2] | 0) + 3) >> 0] | 0;
  55507. c[B >> 2] =
  55508. (c[B >> 2] | 0) +
  55509. (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
  55510. Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
  55511. c[B >> 2] =
  55512. (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
  55513. } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
  55514. c[p >> 2] = (c[p >> 2] | 0) + 8;
  55515. c[B >> 2] = (c[B >> 2] | 0) + 8;
  55516. Ha = c[p >> 2] | 0;
  55517. c: do {
  55518. if (
  55519. (c[y >> 2] | 0) >>> 0 >
  55520. (((c[q >> 2] | 0) + -13) | 0) >>> 0
  55521. ) {
  55522. if (Ha >>> 0 < (c[z >> 2] | 0) >>> 0) {
  55523. Rr(
  55524. c[p >> 2] | 0,
  55525. c[B >> 2] | 0,
  55526. ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
  55527. );
  55528. c[B >> 2] =
  55529. (c[B >> 2] | 0) +
  55530. ((c[z >> 2] | 0) - (c[p >> 2] | 0));
  55531. c[p >> 2] = c[z >> 2];
  55532. }
  55533. while (1) {
  55534. if (
  55535. (c[p >> 2] | 0) >>> 0 >=
  55536. (c[y >> 2] | 0) >>> 0
  55537. )
  55538. break c;
  55539. j = c[B >> 2] | 0;
  55540. c[B >> 2] = j + 1;
  55541. La = a[j >> 0] | 0;
  55542. j = c[p >> 2] | 0;
  55543. c[p >> 2] = j + 1;
  55544. a[j >> 0] = La;
  55545. }
  55546. } else
  55547. Rr(
  55548. Ha,
  55549. c[B >> 2] | 0,
  55550. ((c[(F + 4) >> 2] | 0) - 8) | 0
  55551. );
  55552. } while (0);
  55553. c[o >> 2] = c[x >> 2];
  55554. }
  55555. } while (0);
  55556. c[Ca >> 2] = c[o >> 2];
  55557. Ja = ($q(c[Ca >> 2] | 0) | 0) != 0;
  55558. Sa = c[Ca >> 2] | 0;
  55559. if (Ja) {
  55560. Ta = 73;
  55561. break;
  55562. }
  55563. c[sa >> 2] = (c[sa >> 2] | 0) + Sa;
  55564. }
  55565. if ((Ta | 0) == 73) {
  55566. c[ga >> 2] = Sa;
  55567. Ma = c[ga >> 2] | 0;
  55568. l = m;
  55569. return Ma | 0;
  55570. }
  55571. if (Na | 0) {
  55572. c[ga >> 2] = -20;
  55573. Ma = c[ga >> 2] | 0;
  55574. l = m;
  55575. return Ma | 0;
  55576. }
  55577. c[Da >> 2] = 0;
  55578. while (1) {
  55579. if ((c[Da >> 2] | 0) >>> 0 >= 3) break a;
  55580. c[
  55581. ((c[ha >> 2] | 0) + 16 + 28700 + (c[Da >> 2] << 2)) >>
  55582. 2
  55583. ] = c[(ya + 44 + (c[Da >> 2] << 2)) >> 2];
  55584. c[Da >> 2] = (c[Da >> 2] | 0) + 1;
  55585. }
  55586. }
  55587. } while (0);
  55588. c[Ea >> 2] = (c[ua >> 2] | 0) - (c[ta >> 2] | 0);
  55589. if (
  55590. (c[Ea >> 2] | 0) >>> 0 >
  55591. (((c[ra >> 2] | 0) - (c[sa >> 2] | 0)) | 0) >>> 0
  55592. ) {
  55593. c[ga >> 2] = -70;
  55594. Ma = c[ga >> 2] | 0;
  55595. l = m;
  55596. return Ma | 0;
  55597. } else {
  55598. mE(c[sa >> 2] | 0, c[ta >> 2] | 0, c[Ea >> 2] | 0) | 0;
  55599. c[sa >> 2] = (c[sa >> 2] | 0) + (c[Ea >> 2] | 0);
  55600. c[ga >> 2] = (c[sa >> 2] | 0) - (c[qa >> 2] | 0);
  55601. Ma = c[ga >> 2] | 0;
  55602. l = m;
  55603. return Ma | 0;
  55604. }
  55605. return 0;
  55606. }
  55607. function Jr(b, f, g, h, i, j, k) {
  55608. b = b | 0;
  55609. f = f | 0;
  55610. g = g | 0;
  55611. h = h | 0;
  55612. i = i | 0;
  55613. j = j | 0;
  55614. k = k | 0;
  55615. var m = 0,
  55616. n = 0,
  55617. o = 0,
  55618. p = 0,
  55619. q = 0,
  55620. r = 0,
  55621. s = 0,
  55622. t = 0,
  55623. u = 0,
  55624. v = 0,
  55625. w = 0,
  55626. x = 0,
  55627. y = 0,
  55628. z = 0,
  55629. A = 0,
  55630. B = 0,
  55631. C = 0,
  55632. D = 0,
  55633. E = 0,
  55634. F = 0,
  55635. G = 0,
  55636. H = 0,
  55637. I = 0,
  55638. J = 0,
  55639. K = 0,
  55640. L = 0,
  55641. M = 0,
  55642. N = 0,
  55643. O = 0,
  55644. P = 0,
  55645. Q = 0,
  55646. R = 0,
  55647. S = 0,
  55648. T = 0,
  55649. U = 0,
  55650. V = 0,
  55651. W = 0,
  55652. X = 0,
  55653. Y = 0,
  55654. Z = 0,
  55655. _ = 0,
  55656. $ = 0,
  55657. aa = 0,
  55658. ba = 0,
  55659. ca = 0,
  55660. da = 0,
  55661. ea = 0,
  55662. fa = 0,
  55663. ga = 0,
  55664. ha = 0,
  55665. ia = 0,
  55666. ja = 0,
  55667. ka = 0,
  55668. la = 0,
  55669. ma = 0,
  55670. na = 0,
  55671. oa = 0,
  55672. pa = 0,
  55673. qa = 0,
  55674. ra = 0,
  55675. sa = 0,
  55676. ta = 0,
  55677. ua = 0,
  55678. va = 0,
  55679. wa = 0,
  55680. xa = 0,
  55681. ya = 0,
  55682. za = 0,
  55683. Aa = 0,
  55684. Ba = 0,
  55685. Ca = 0,
  55686. Da = 0,
  55687. Ea = 0,
  55688. Fa = 0,
  55689. Ga = 0,
  55690. Ha = 0,
  55691. Ia = 0,
  55692. Ja = 0,
  55693. Ka = 0,
  55694. La = 0,
  55695. Ma = 0,
  55696. Na = 0,
  55697. Oa = 0,
  55698. Pa = 0,
  55699. Qa = 0,
  55700. Ra = 0,
  55701. Sa = 0,
  55702. Ta = 0;
  55703. m = l;
  55704. l = (l + 448) | 0;
  55705. n = (m + 432) | 0;
  55706. o = (m + 424) | 0;
  55707. p = (m + 420) | 0;
  55708. q = (m + 416) | 0;
  55709. r = (m + 412) | 0;
  55710. s = (m + 408) | 0;
  55711. t = (m + 404) | 0;
  55712. u = (m + 400) | 0;
  55713. v = (m + 396) | 0;
  55714. w = (m + 392) | 0;
  55715. x = (m + 388) | 0;
  55716. y = (m + 384) | 0;
  55717. z = (m + 380) | 0;
  55718. A = (m + 376) | 0;
  55719. B = (m + 372) | 0;
  55720. C = (m + 368) | 0;
  55721. D = (m + 364) | 0;
  55722. E = (m + 360) | 0;
  55723. F = m;
  55724. G = (m + 356) | 0;
  55725. H = (m + 352) | 0;
  55726. I = (m + 344) | 0;
  55727. J = (m + 340) | 0;
  55728. K = (m + 336) | 0;
  55729. L = (m + 332) | 0;
  55730. M = (m + 328) | 0;
  55731. N = (m + 320) | 0;
  55732. O = (m + 316) | 0;
  55733. P = (m + 312) | 0;
  55734. Q = (m + 308) | 0;
  55735. R = (m + 304) | 0;
  55736. S = (m + 296) | 0;
  55737. T = (m + 292) | 0;
  55738. U = (m + 288) | 0;
  55739. V = (m + 284) | 0;
  55740. W = (m + 280) | 0;
  55741. X = (m + 264) | 0;
  55742. Y = (m + 256) | 0;
  55743. Z = (m + 252) | 0;
  55744. _ = (m + 248) | 0;
  55745. $ = (m + 244) | 0;
  55746. aa = (m + 240) | 0;
  55747. ba = (m + 236) | 0;
  55748. ca = (m + 232) | 0;
  55749. da = (m + 228) | 0;
  55750. ea = (m + 224) | 0;
  55751. fa = (m + 220) | 0;
  55752. ga = (m + 216) | 0;
  55753. ha = (m + 212) | 0;
  55754. ia = (m + 208) | 0;
  55755. ja = (m + 204) | 0;
  55756. ka = (m + 200) | 0;
  55757. la = (m + 196) | 0;
  55758. ma = (m + 192) | 0;
  55759. na = (m + 188) | 0;
  55760. oa = (m + 184) | 0;
  55761. pa = (m + 180) | 0;
  55762. qa = (m + 176) | 0;
  55763. ra = (m + 172) | 0;
  55764. sa = (m + 168) | 0;
  55765. ta = (m + 164) | 0;
  55766. ua = (m + 160) | 0;
  55767. va = (m + 156) | 0;
  55768. wa = (m + 152) | 0;
  55769. xa = (m + 148) | 0;
  55770. ya = (m + 80) | 0;
  55771. za = (m + 76) | 0;
  55772. Aa = (m + 72) | 0;
  55773. Ba = (m + 56) | 0;
  55774. Ca = (m + 52) | 0;
  55775. Da = (m + 48) | 0;
  55776. Ea = (m + 44) | 0;
  55777. Fa = (m + 40) | 0;
  55778. Ga = (m + 36) | 0;
  55779. Ha = (m + 32) | 0;
  55780. Ia = (m + 28) | 0;
  55781. Ja = (m + 24) | 0;
  55782. Ka = (m + 20) | 0;
  55783. La = (m + 16) | 0;
  55784. c[Fa >> 2] = b;
  55785. c[Ga >> 2] = f;
  55786. c[Ha >> 2] = g;
  55787. c[Ia >> 2] = h;
  55788. c[Ja >> 2] = i;
  55789. c[Ka >> 2] = j;
  55790. c[La >> 2] = k;
  55791. k = c[Ga >> 2] | 0;
  55792. Ga = c[Ha >> 2] | 0;
  55793. Ha = c[Ia >> 2] | 0;
  55794. Ia = c[Ja >> 2] | 0;
  55795. Ja = c[Ka >> 2] | 0;
  55796. Ka = c[La >> 2] | 0;
  55797. c[ha >> 2] = c[Fa >> 2];
  55798. c[ia >> 2] = k;
  55799. c[ja >> 2] = Ga;
  55800. c[ka >> 2] = Ha;
  55801. c[la >> 2] = Ia;
  55802. c[ma >> 2] = Ja;
  55803. c[na >> 2] = Ka;
  55804. c[oa >> 2] = c[ka >> 2];
  55805. c[pa >> 2] = (c[oa >> 2] | 0) + (c[la >> 2] | 0);
  55806. c[qa >> 2] = c[ia >> 2];
  55807. c[ra >> 2] = (c[qa >> 2] | 0) + (c[ja >> 2] | 0);
  55808. c[sa >> 2] = c[qa >> 2];
  55809. c[ta >> 2] = c[((c[ha >> 2] | 0) + 28916) >> 2];
  55810. c[ua >> 2] =
  55811. (c[ta >> 2] | 0) + (c[((c[ha >> 2] | 0) + 28932) >> 2] | 0);
  55812. c[va >> 2] = c[((c[ha >> 2] | 0) + 28732) >> 2];
  55813. c[wa >> 2] = c[((c[ha >> 2] | 0) + 28736) >> 2];
  55814. c[xa >> 2] = c[((c[ha >> 2] | 0) + 28740) >> 2];
  55815. a: do {
  55816. if (c[ma >> 2] | 0) {
  55817. c[((c[ha >> 2] | 0) + 28812) >> 2] = 1;
  55818. c[za >> 2] = 0;
  55819. while (1) {
  55820. if ((c[za >> 2] | 0) >>> 0 >= 3) break;
  55821. c[(ya + 44 + (c[za >> 2] << 2)) >> 2] =
  55822. c[
  55823. ((c[ha >> 2] | 0) +
  55824. 16 +
  55825. 28700 +
  55826. (c[za >> 2] << 2)) >>
  55827. 2
  55828. ];
  55829. c[za >> 2] = (c[za >> 2] | 0) + 1;
  55830. }
  55831. c[Aa >> 2] =
  55832. Kr(
  55833. ya,
  55834. c[oa >> 2] | 0,
  55835. ((c[pa >> 2] | 0) - (c[oa >> 2] | 0)) | 0
  55836. ) | 0;
  55837. if ($q(c[Aa >> 2] | 0) | 0) {
  55838. c[ga >> 2] = -20;
  55839. Ma = c[ga >> 2] | 0;
  55840. l = m;
  55841. return Ma | 0;
  55842. }
  55843. Lr((ya + 20) | 0, ya, c[c[ha >> 2] >> 2] | 0);
  55844. Lr((ya + 28) | 0, ya, c[((c[ha >> 2] | 0) + 8) >> 2] | 0);
  55845. Lr((ya + 36) | 0, ya, c[((c[ha >> 2] | 0) + 4) >> 2] | 0);
  55846. while (1) {
  55847. ja = (Mr(ya) | 0) >>> 0 <= 2;
  55848. Na = c[ma >> 2] | 0;
  55849. if (!(ja ? (c[ma >> 2] | 0) != 0 : 0)) break;
  55850. c[ma >> 2] = Na + -1;
  55851. ja = c[na >> 2] | 0;
  55852. c[V >> 2] = ya;
  55853. c[W >> 2] = ja;
  55854. c[Y >> 2] =
  55855. d[
  55856. ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
  55857. (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
  55858. 2) >>
  55859. 0
  55860. ];
  55861. c[Z >> 2] =
  55862. d[
  55863. ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
  55864. (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
  55865. 2) >>
  55866. 0
  55867. ];
  55868. c[_ >> 2] =
  55869. d[
  55870. ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
  55871. (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
  55872. 2) >>
  55873. 0
  55874. ];
  55875. c[$ >> 2] =
  55876. (c[Y >> 2] | 0) + (c[Z >> 2] | 0) + (c[_ >> 2] | 0);
  55877. c[aa >> 2] =
  55878. c[
  55879. ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
  55880. (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
  55881. 4) >>
  55882. 2
  55883. ];
  55884. c[ba >> 2] =
  55885. c[
  55886. ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
  55887. (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
  55888. 4) >>
  55889. 2
  55890. ];
  55891. c[ca >> 2] =
  55892. c[
  55893. ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
  55894. (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
  55895. 4) >>
  55896. 2
  55897. ];
  55898. do {
  55899. if (c[_ >> 2] | 0) {
  55900. ja = (Dr() | 0) != 0;
  55901. if (
  55902. !(
  55903. ja &
  55904. ((c[W >> 2] | 0) != 0) &
  55905. ((c[_ >> 2] | 0) >>> 0 >= 25)
  55906. )
  55907. ) {
  55908. ja = c[ca >> 2] | 0;
  55909. c[da >> 2] =
  55910. ja + (Nr(c[V >> 2] | 0, c[_ >> 2] | 0) | 0);
  55911. if (!(Dr() | 0)) break;
  55912. Mr(c[V >> 2] | 0) | 0;
  55913. break;
  55914. }
  55915. if (
  55916. (c[_ >> 2] | 0) >>> 0 <
  55917. ((32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) |
  55918. 0) >>>
  55919. 0
  55920. )
  55921. Oa = c[_ >> 2] | 0;
  55922. else
  55923. Oa =
  55924. (32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) | 0;
  55925. c[ea >> 2] = (c[_ >> 2] | 0) - Oa;
  55926. ja = c[ca >> 2] | 0;
  55927. ia =
  55928. Nr(
  55929. c[V >> 2] | 0,
  55930. ((c[_ >> 2] | 0) - (c[ea >> 2] | 0)) | 0
  55931. ) | 0;
  55932. c[da >> 2] = ja + (ia << c[ea >> 2]);
  55933. Mr(c[V >> 2] | 0) | 0;
  55934. if (c[ea >> 2] | 0) {
  55935. ia = Nr(c[V >> 2] | 0, c[ea >> 2] | 0) | 0;
  55936. c[da >> 2] = (c[da >> 2] | 0) + ia;
  55937. }
  55938. } else c[da >> 2] = 0;
  55939. } while (0);
  55940. do {
  55941. if ((c[_ >> 2] | 0) >>> 0 <= 1) {
  55942. c[da >> 2] =
  55943. (c[da >> 2] | 0) + (((c[aa >> 2] | 0) == 0) & 1);
  55944. if (!(c[da >> 2] | 0)) {
  55945. c[da >> 2] = c[((c[V >> 2] | 0) + 44) >> 2];
  55946. break;
  55947. }
  55948. ia = ((c[V >> 2] | 0) + 44) | 0;
  55949. if ((c[da >> 2] | 0) == 3)
  55950. Pa = ((c[ia >> 2] | 0) - 1) | 0;
  55951. else Pa = c[(ia + (c[da >> 2] << 2)) >> 2] | 0;
  55952. c[fa >> 2] = Pa;
  55953. c[fa >> 2] =
  55954. (c[fa >> 2] | 0) +
  55955. ((((c[fa >> 2] | 0) != 0) ^ 1) & 1);
  55956. if ((c[da >> 2] | 0) != 1)
  55957. c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
  55958. c[((c[V >> 2] | 0) + 44 + 4) >> 2];
  55959. c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
  55960. c[((c[V >> 2] | 0) + 44) >> 2];
  55961. ia = c[fa >> 2] | 0;
  55962. c[da >> 2] = ia;
  55963. c[((c[V >> 2] | 0) + 44) >> 2] = ia;
  55964. } else {
  55965. c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
  55966. c[((c[V >> 2] | 0) + 44 + 4) >> 2];
  55967. c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
  55968. c[((c[V >> 2] | 0) + 44) >> 2];
  55969. c[((c[V >> 2] | 0) + 44) >> 2] = c[da >> 2];
  55970. }
  55971. } while (0);
  55972. c[(X + 8) >> 2] = c[da >> 2];
  55973. ia = c[ba >> 2] | 0;
  55974. if ((c[Z >> 2] | 0) >>> 0 > 0)
  55975. Qa = Nr(c[V >> 2] | 0, c[Z >> 2] | 0) | 0;
  55976. else Qa = 0;
  55977. c[(X + 4) >> 2] = ia + Qa;
  55978. if (
  55979. Dr() | 0
  55980. ? (((c[Z >> 2] | 0) + (c[Y >> 2] | 0)) | 0) >>> 0 >=
  55981. 20
  55982. : 0
  55983. )
  55984. Mr(c[V >> 2] | 0) | 0;
  55985. ia = (Fr() | 0) != 0;
  55986. if (ia & ((c[$ >> 2] | 0) >>> 0 >= 31))
  55987. Mr(c[V >> 2] | 0) | 0;
  55988. ia = c[aa >> 2] | 0;
  55989. if ((c[Y >> 2] | 0) >>> 0 > 0)
  55990. Ra = Nr(c[V >> 2] | 0, c[Y >> 2] | 0) | 0;
  55991. else Ra = 0;
  55992. c[X >> 2] = ia + Ra;
  55993. if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
  55994. ia = c[V >> 2] | 0;
  55995. c[Q >> 2] = (c[V >> 2] | 0) + 20;
  55996. c[R >> 2] = ia;
  55997. ia =
  55998. ((c[((c[Q >> 2] | 0) + 4) >> 2] | 0) +
  55999. (c[c[Q >> 2] >> 2] << 3)) |
  56000. 0;
  56001. c[S >> 2] = c[ia >> 2];
  56002. c[(S + 4) >> 2] = c[(ia + 4) >> 2];
  56003. c[T >> 2] = d[(S + 3) >> 0];
  56004. c[U >> 2] = Or(c[R >> 2] | 0, c[T >> 2] | 0) | 0;
  56005. c[c[Q >> 2] >> 2] = (e[S >> 1] | 0) + (c[U >> 2] | 0);
  56006. ia = c[V >> 2] | 0;
  56007. c[L >> 2] = (c[V >> 2] | 0) + 36;
  56008. c[M >> 2] = ia;
  56009. ia =
  56010. ((c[((c[L >> 2] | 0) + 4) >> 2] | 0) +
  56011. (c[c[L >> 2] >> 2] << 3)) |
  56012. 0;
  56013. c[N >> 2] = c[ia >> 2];
  56014. c[(N + 4) >> 2] = c[(ia + 4) >> 2];
  56015. c[O >> 2] = d[(N + 3) >> 0];
  56016. c[P >> 2] = Or(c[M >> 2] | 0, c[O >> 2] | 0) | 0;
  56017. c[c[L >> 2] >> 2] = (e[N >> 1] | 0) + (c[P >> 2] | 0);
  56018. if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
  56019. ia = c[V >> 2] | 0;
  56020. c[G >> 2] = (c[V >> 2] | 0) + 28;
  56021. c[H >> 2] = ia;
  56022. ia =
  56023. ((c[((c[G >> 2] | 0) + 4) >> 2] | 0) +
  56024. (c[c[G >> 2] >> 2] << 3)) |
  56025. 0;
  56026. c[I >> 2] = c[ia >> 2];
  56027. c[(I + 4) >> 2] = c[(ia + 4) >> 2];
  56028. c[J >> 2] = d[(I + 3) >> 0];
  56029. c[K >> 2] = Or(c[H >> 2] | 0, c[J >> 2] | 0) | 0;
  56030. c[c[G >> 2] >> 2] = (e[I >> 1] | 0) + (c[K >> 2] | 0);
  56031. c[Ba >> 2] = c[X >> 2];
  56032. c[(Ba + 4) >> 2] = c[(X + 4) >> 2];
  56033. c[(Ba + 8) >> 2] = c[(X + 8) >> 2];
  56034. c[(Ba + 12) >> 2] = c[(X + 12) >> 2];
  56035. ia = c[sa >> 2] | 0;
  56036. ja = c[ra >> 2] | 0;
  56037. la = c[ua >> 2] | 0;
  56038. ka = c[va >> 2] | 0;
  56039. Ka = c[wa >> 2] | 0;
  56040. Ja = c[xa >> 2] | 0;
  56041. Ia = F;
  56042. Ha = Ba;
  56043. Ga = (Ia + 16) | 0;
  56044. do {
  56045. a[Ia >> 0] = a[Ha >> 0] | 0;
  56046. Ia = (Ia + 1) | 0;
  56047. Ha = (Ha + 1) | 0;
  56048. } while ((Ia | 0) < (Ga | 0));
  56049. c[p >> 2] = ia;
  56050. c[q >> 2] = ja;
  56051. c[r >> 2] = ta;
  56052. c[s >> 2] = la;
  56053. c[t >> 2] = ka;
  56054. c[u >> 2] = Ka;
  56055. c[v >> 2] = Ja;
  56056. c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
  56057. c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
  56058. c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
  56059. c[z >> 2] = (c[q >> 2] | 0) + -8;
  56060. c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
  56061. c[B >> 2] =
  56062. (c[w >> 2] | 0) + (0 - (c[(F + 8) >> 2] | 0));
  56063. b: do {
  56064. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
  56065. c[o >> 2] = -70;
  56066. else {
  56067. if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  56068. c[o >> 2] = -20;
  56069. break;
  56070. }
  56071. Ha = c[p >> 2] | 0;
  56072. if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
  56073. Ia = c[q >> 2] | 0;
  56074. Ga = c[r >> 2] | 0;
  56075. k = c[s >> 2] | 0;
  56076. Fa = c[t >> 2] | 0;
  56077. La = c[u >> 2] | 0;
  56078. j = c[v >> 2] | 0;
  56079. c[n >> 2] = c[F >> 2];
  56080. c[(n + 4) >> 2] = c[(F + 4) >> 2];
  56081. c[(n + 8) >> 2] = c[(F + 8) >> 2];
  56082. c[(n + 12) >> 2] = c[(F + 12) >> 2];
  56083. c[o >> 2] = Pr(Ha, Ia, n, Ga, k, Fa, La, j) | 0;
  56084. break;
  56085. }
  56086. Qr(Ha, c[c[r >> 2] >> 2] | 0);
  56087. if ((c[F >> 2] | 0) >>> 0 > 8)
  56088. Rr(
  56089. ((c[p >> 2] | 0) + 8) | 0,
  56090. ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
  56091. ((c[F >> 2] | 0) - 8) | 0
  56092. );
  56093. c[p >> 2] = c[w >> 2];
  56094. c[c[r >> 2] >> 2] = c[A >> 2];
  56095. do {
  56096. if (
  56097. (c[(F + 8) >> 2] | 0) >>> 0 >
  56098. (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
  56099. ) {
  56100. if (
  56101. (c[(F + 8) >> 2] | 0) >>> 0 >
  56102. (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
  56103. 0
  56104. ) {
  56105. c[o >> 2] = -20;
  56106. break b;
  56107. }
  56108. c[B >> 2] =
  56109. (c[v >> 2] | 0) +
  56110. ((c[B >> 2] | 0) - (c[t >> 2] | 0));
  56111. if (
  56112. (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
  56113. 0) >>>
  56114. 0 <=
  56115. (c[v >> 2] | 0) >>> 0
  56116. ) {
  56117. nE(
  56118. c[w >> 2] | 0,
  56119. c[B >> 2] | 0,
  56120. c[(F + 4) >> 2] | 0
  56121. ) | 0;
  56122. c[o >> 2] = c[x >> 2];
  56123. break b;
  56124. }
  56125. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  56126. nE(
  56127. c[w >> 2] | 0,
  56128. c[B >> 2] | 0,
  56129. c[C >> 2] | 0
  56130. ) | 0;
  56131. c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
  56132. Ha = (F + 4) | 0;
  56133. c[Ha >> 2] = (c[Ha >> 2] | 0) - (c[C >> 2] | 0);
  56134. c[B >> 2] = c[t >> 2];
  56135. if (
  56136. (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
  56137. ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
  56138. : 0
  56139. )
  56140. break;
  56141. c[D >> 2] = 0;
  56142. while (1) {
  56143. if (
  56144. (c[D >> 2] | 0) >>> 0 >=
  56145. (c[(F + 4) >> 2] | 0) >>> 0
  56146. )
  56147. break;
  56148. a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
  56149. a[
  56150. ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
  56151. ] | 0;
  56152. c[D >> 2] = (c[D >> 2] | 0) + 1;
  56153. }
  56154. c[o >> 2] = c[x >> 2];
  56155. break b;
  56156. }
  56157. } while (0);
  56158. if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
  56159. c[E >> 2] =
  56160. c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
  56161. a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
  56162. a[((c[p >> 2] | 0) + 1) >> 0] =
  56163. a[((c[B >> 2] | 0) + 1) >> 0] | 0;
  56164. a[((c[p >> 2] | 0) + 2) >> 0] =
  56165. a[((c[B >> 2] | 0) + 2) >> 0] | 0;
  56166. a[((c[p >> 2] | 0) + 3) >> 0] =
  56167. a[((c[B >> 2] | 0) + 3) >> 0] | 0;
  56168. c[B >> 2] =
  56169. (c[B >> 2] | 0) +
  56170. (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
  56171. Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
  56172. c[B >> 2] =
  56173. (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
  56174. } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
  56175. c[p >> 2] = (c[p >> 2] | 0) + 8;
  56176. c[B >> 2] = (c[B >> 2] | 0) + 8;
  56177. Ha = c[p >> 2] | 0;
  56178. c: do {
  56179. if (
  56180. (c[y >> 2] | 0) >>> 0 >
  56181. (((c[q >> 2] | 0) + -13) | 0) >>> 0
  56182. ) {
  56183. if (Ha >>> 0 < (c[z >> 2] | 0) >>> 0) {
  56184. Rr(
  56185. c[p >> 2] | 0,
  56186. c[B >> 2] | 0,
  56187. ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
  56188. );
  56189. c[B >> 2] =
  56190. (c[B >> 2] | 0) +
  56191. ((c[z >> 2] | 0) - (c[p >> 2] | 0));
  56192. c[p >> 2] = c[z >> 2];
  56193. }
  56194. while (1) {
  56195. if (
  56196. (c[p >> 2] | 0) >>> 0 >=
  56197. (c[y >> 2] | 0) >>> 0
  56198. )
  56199. break c;
  56200. j = c[B >> 2] | 0;
  56201. c[B >> 2] = j + 1;
  56202. La = a[j >> 0] | 0;
  56203. j = c[p >> 2] | 0;
  56204. c[p >> 2] = j + 1;
  56205. a[j >> 0] = La;
  56206. }
  56207. } else
  56208. Rr(
  56209. Ha,
  56210. c[B >> 2] | 0,
  56211. ((c[(F + 4) >> 2] | 0) - 8) | 0
  56212. );
  56213. } while (0);
  56214. c[o >> 2] = c[x >> 2];
  56215. }
  56216. } while (0);
  56217. c[Ca >> 2] = c[o >> 2];
  56218. Ja = ($q(c[Ca >> 2] | 0) | 0) != 0;
  56219. Sa = c[Ca >> 2] | 0;
  56220. if (Ja) {
  56221. Ta = 73;
  56222. break;
  56223. }
  56224. c[sa >> 2] = (c[sa >> 2] | 0) + Sa;
  56225. }
  56226. if ((Ta | 0) == 73) {
  56227. c[ga >> 2] = Sa;
  56228. Ma = c[ga >> 2] | 0;
  56229. l = m;
  56230. return Ma | 0;
  56231. }
  56232. if (Na | 0) {
  56233. c[ga >> 2] = -20;
  56234. Ma = c[ga >> 2] | 0;
  56235. l = m;
  56236. return Ma | 0;
  56237. }
  56238. c[Da >> 2] = 0;
  56239. while (1) {
  56240. if ((c[Da >> 2] | 0) >>> 0 >= 3) break a;
  56241. c[
  56242. ((c[ha >> 2] | 0) + 16 + 28700 + (c[Da >> 2] << 2)) >>
  56243. 2
  56244. ] = c[(ya + 44 + (c[Da >> 2] << 2)) >> 2];
  56245. c[Da >> 2] = (c[Da >> 2] | 0) + 1;
  56246. }
  56247. }
  56248. } while (0);
  56249. c[Ea >> 2] = (c[ua >> 2] | 0) - (c[ta >> 2] | 0);
  56250. if (
  56251. (c[Ea >> 2] | 0) >>> 0 >
  56252. (((c[ra >> 2] | 0) - (c[sa >> 2] | 0)) | 0) >>> 0
  56253. ) {
  56254. c[ga >> 2] = -70;
  56255. Ma = c[ga >> 2] | 0;
  56256. l = m;
  56257. return Ma | 0;
  56258. } else {
  56259. mE(c[sa >> 2] | 0, c[ta >> 2] | 0, c[Ea >> 2] | 0) | 0;
  56260. c[sa >> 2] = (c[sa >> 2] | 0) + (c[Ea >> 2] | 0);
  56261. c[ga >> 2] = (c[sa >> 2] | 0) - (c[qa >> 2] | 0);
  56262. Ma = c[ga >> 2] | 0;
  56263. l = m;
  56264. return Ma | 0;
  56265. }
  56266. return 0;
  56267. }
  56268. function Kr(b, e, f) {
  56269. b = b | 0;
  56270. e = e | 0;
  56271. f = f | 0;
  56272. var g = 0,
  56273. h = 0,
  56274. i = 0,
  56275. j = 0,
  56276. k = 0,
  56277. m = 0,
  56278. n = 0,
  56279. o = 0,
  56280. p = 0,
  56281. q = 0,
  56282. r = 0;
  56283. g = l;
  56284. l = (l + 32) | 0;
  56285. h = (g + 12) | 0;
  56286. i = (g + 8) | 0;
  56287. j = (g + 4) | 0;
  56288. k = g;
  56289. m = (g + 17) | 0;
  56290. n = (g + 16) | 0;
  56291. c[i >> 2] = b;
  56292. c[j >> 2] = e;
  56293. c[k >> 2] = f;
  56294. if ((c[k >> 2] | 0) >>> 0 < 1) {
  56295. f = c[i >> 2] | 0;
  56296. c[f >> 2] = 0;
  56297. c[(f + 4) >> 2] = 0;
  56298. c[(f + 8) >> 2] = 0;
  56299. c[(f + 12) >> 2] = 0;
  56300. c[(f + 16) >> 2] = 0;
  56301. c[h >> 2] = -72;
  56302. o = c[h >> 2] | 0;
  56303. l = g;
  56304. return o | 0;
  56305. }
  56306. c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
  56307. c[((c[i >> 2] | 0) + 16) >> 2] =
  56308. (c[((c[i >> 2] | 0) + 12) >> 2] | 0) + 4;
  56309. do {
  56310. if ((c[k >> 2] | 0) >>> 0 >= 4) {
  56311. c[((c[i >> 2] | 0) + 8) >> 2] =
  56312. (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
  56313. f = Wr(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
  56314. c[c[i >> 2] >> 2] = f;
  56315. a[m >> 0] =
  56316. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  56317. if (d[m >> 0] | 0 | 0)
  56318. p = (8 - (Ar(d[m >> 0] | 0) | 0)) | 0;
  56319. else p = 0;
  56320. c[((c[i >> 2] | 0) + 4) >> 2] = p;
  56321. if (!(d[m >> 0] | 0)) {
  56322. c[h >> 2] = -1;
  56323. o = c[h >> 2] | 0;
  56324. l = g;
  56325. return o | 0;
  56326. }
  56327. } else {
  56328. c[((c[i >> 2] | 0) + 8) >> 2] =
  56329. c[((c[i >> 2] | 0) + 12) >> 2];
  56330. c[c[i >> 2] >> 2] =
  56331. d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
  56332. switch (c[k >> 2] | 0) {
  56333. case 7: {
  56334. f = c[i >> 2] | 0;
  56335. c[f >> 2] =
  56336. (c[f >> 2] | 0) +
  56337. ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
  56338. q = 10;
  56339. break;
  56340. }
  56341. case 6: {
  56342. q = 10;
  56343. break;
  56344. }
  56345. case 5: {
  56346. q = 11;
  56347. break;
  56348. }
  56349. case 4: {
  56350. q = 12;
  56351. break;
  56352. }
  56353. case 3: {
  56354. q = 13;
  56355. break;
  56356. }
  56357. case 2: {
  56358. q = 14;
  56359. break;
  56360. }
  56361. default: {
  56362. }
  56363. }
  56364. if ((q | 0) == 10) {
  56365. f = c[i >> 2] | 0;
  56366. c[f >> 2] =
  56367. (c[f >> 2] | 0) +
  56368. ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
  56369. q = 11;
  56370. }
  56371. if ((q | 0) == 11) {
  56372. f = c[i >> 2] | 0;
  56373. c[f >> 2] =
  56374. (c[f >> 2] | 0) +
  56375. ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
  56376. q = 12;
  56377. }
  56378. if ((q | 0) == 12) {
  56379. f = c[i >> 2] | 0;
  56380. c[f >> 2] =
  56381. (c[f >> 2] | 0) +
  56382. ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
  56383. q = 13;
  56384. }
  56385. if ((q | 0) == 13) {
  56386. f = c[i >> 2] | 0;
  56387. c[f >> 2] =
  56388. (c[f >> 2] | 0) +
  56389. ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
  56390. q = 14;
  56391. }
  56392. if ((q | 0) == 14) {
  56393. f = c[i >> 2] | 0;
  56394. c[f >> 2] =
  56395. (c[f >> 2] | 0) +
  56396. ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
  56397. }
  56398. a[n >> 0] =
  56399. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  56400. if (d[n >> 0] | 0 | 0)
  56401. r = (8 - (Ar(d[n >> 0] | 0) | 0)) | 0;
  56402. else r = 0;
  56403. c[((c[i >> 2] | 0) + 4) >> 2] = r;
  56404. if (d[n >> 0] | 0 | 0) {
  56405. f = ((c[i >> 2] | 0) + 4) | 0;
  56406. c[f >> 2] =
  56407. (c[f >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
  56408. break;
  56409. }
  56410. c[h >> 2] = -20;
  56411. o = c[h >> 2] | 0;
  56412. l = g;
  56413. return o | 0;
  56414. }
  56415. } while (0);
  56416. c[h >> 2] = c[k >> 2];
  56417. o = c[h >> 2] | 0;
  56418. l = g;
  56419. return o | 0;
  56420. }
  56421. function Lr(a, b, d) {
  56422. a = a | 0;
  56423. b = b | 0;
  56424. d = d | 0;
  56425. var e = 0,
  56426. f = 0,
  56427. g = 0,
  56428. h = 0,
  56429. i = 0,
  56430. j = 0;
  56431. e = l;
  56432. l = (l + 32) | 0;
  56433. f = (e + 16) | 0;
  56434. g = (e + 12) | 0;
  56435. h = (e + 8) | 0;
  56436. i = (e + 4) | 0;
  56437. j = e;
  56438. c[f >> 2] = a;
  56439. c[g >> 2] = b;
  56440. c[h >> 2] = d;
  56441. c[i >> 2] = c[h >> 2];
  56442. c[j >> 2] = c[i >> 2];
  56443. i = Or(c[g >> 2] | 0, c[((c[j >> 2] | 0) + 4) >> 2] | 0) | 0;
  56444. c[c[f >> 2] >> 2] = i;
  56445. Mr(c[g >> 2] | 0) | 0;
  56446. c[((c[f >> 2] | 0) + 4) >> 2] = (c[h >> 2] | 0) + 8;
  56447. l = e;
  56448. return;
  56449. }
  56450. function Mr(a) {
  56451. a = a | 0;
  56452. var b = 0,
  56453. d = 0,
  56454. e = 0,
  56455. f = 0,
  56456. g = 0,
  56457. h = 0,
  56458. i = 0;
  56459. b = l;
  56460. l = (l + 16) | 0;
  56461. d = (b + 12) | 0;
  56462. e = (b + 8) | 0;
  56463. f = (b + 4) | 0;
  56464. g = b;
  56465. c[e >> 2] = a;
  56466. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  56467. c[d >> 2] = 3;
  56468. h = c[d >> 2] | 0;
  56469. l = b;
  56470. return h | 0;
  56471. }
  56472. a = c[e >> 2] | 0;
  56473. if (
  56474. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  56475. (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
  56476. ) {
  56477. i = ((c[e >> 2] | 0) + 8) | 0;
  56478. c[i >> 2] =
  56479. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  56480. i = ((c[e >> 2] | 0) + 4) | 0;
  56481. c[i >> 2] = c[i >> 2] & 7;
  56482. i = Wr(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  56483. c[c[e >> 2] >> 2] = i;
  56484. c[d >> 2] = 0;
  56485. h = c[d >> 2] | 0;
  56486. l = b;
  56487. return h | 0;
  56488. }
  56489. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  56490. if (
  56491. (c[(a + 8) >> 2] | 0) !=
  56492. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  56493. ) {
  56494. c[f >> 2] = i >>> 3;
  56495. c[g >> 2] = 0;
  56496. if (
  56497. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  56498. (0 - (c[f >> 2] | 0))) |
  56499. 0) >>>
  56500. 0 <
  56501. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  56502. ) {
  56503. c[f >> 2] =
  56504. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  56505. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  56506. c[g >> 2] = 1;
  56507. }
  56508. a = ((c[e >> 2] | 0) + 8) | 0;
  56509. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  56510. a = ((c[e >> 2] | 0) + 4) | 0;
  56511. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  56512. f = Wr(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  56513. c[c[e >> 2] >> 2] = f;
  56514. c[d >> 2] = c[g >> 2];
  56515. h = c[d >> 2] | 0;
  56516. l = b;
  56517. return h | 0;
  56518. }
  56519. if (i >>> 0 < 32) {
  56520. c[d >> 2] = 1;
  56521. h = c[d >> 2] | 0;
  56522. l = b;
  56523. return h | 0;
  56524. } else {
  56525. c[d >> 2] = 2;
  56526. h = c[d >> 2] | 0;
  56527. l = b;
  56528. return h | 0;
  56529. }
  56530. return 0;
  56531. }
  56532. function Nr(a, b) {
  56533. a = a | 0;
  56534. b = b | 0;
  56535. var d = 0,
  56536. e = 0,
  56537. f = 0,
  56538. g = 0;
  56539. d = l;
  56540. l = (l + 16) | 0;
  56541. e = (d + 8) | 0;
  56542. f = (d + 4) | 0;
  56543. g = d;
  56544. c[e >> 2] = a;
  56545. c[f >> 2] = b;
  56546. c[g >> 2] = Vr(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  56547. Ur(c[e >> 2] | 0, c[f >> 2] | 0);
  56548. l = d;
  56549. return c[g >> 2] | 0;
  56550. }
  56551. function Or(a, b) {
  56552. a = a | 0;
  56553. b = b | 0;
  56554. var d = 0,
  56555. e = 0,
  56556. f = 0,
  56557. g = 0;
  56558. d = l;
  56559. l = (l + 16) | 0;
  56560. e = (d + 8) | 0;
  56561. f = (d + 4) | 0;
  56562. g = d;
  56563. c[e >> 2] = a;
  56564. c[f >> 2] = b;
  56565. c[g >> 2] = Tr(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  56566. Ur(c[e >> 2] | 0, c[f >> 2] | 0);
  56567. l = d;
  56568. return c[g >> 2] | 0;
  56569. }
  56570. function Pr(b, d, e, f, g, h, i, j) {
  56571. b = b | 0;
  56572. d = d | 0;
  56573. e = e | 0;
  56574. f = f | 0;
  56575. g = g | 0;
  56576. h = h | 0;
  56577. i = i | 0;
  56578. j = j | 0;
  56579. var k = 0,
  56580. m = 0,
  56581. n = 0,
  56582. o = 0,
  56583. p = 0,
  56584. q = 0,
  56585. r = 0,
  56586. s = 0,
  56587. t = 0,
  56588. u = 0,
  56589. v = 0,
  56590. w = 0,
  56591. x = 0,
  56592. y = 0,
  56593. z = 0,
  56594. A = 0,
  56595. B = 0;
  56596. k = l;
  56597. l = (l + 64) | 0;
  56598. m = (k + 56) | 0;
  56599. n = (k + 52) | 0;
  56600. o = (k + 48) | 0;
  56601. p = (k + 44) | 0;
  56602. q = (k + 40) | 0;
  56603. r = (k + 36) | 0;
  56604. s = (k + 32) | 0;
  56605. t = (k + 28) | 0;
  56606. u = (k + 24) | 0;
  56607. v = (k + 20) | 0;
  56608. w = (k + 16) | 0;
  56609. x = (k + 12) | 0;
  56610. y = (k + 8) | 0;
  56611. z = (k + 4) | 0;
  56612. A = k;
  56613. c[n >> 2] = b;
  56614. c[o >> 2] = d;
  56615. c[p >> 2] = f;
  56616. c[q >> 2] = g;
  56617. c[r >> 2] = h;
  56618. c[s >> 2] = i;
  56619. c[t >> 2] = j;
  56620. c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
  56621. c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
  56622. c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
  56623. c[x >> 2] = (c[o >> 2] | 0) + -8;
  56624. c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
  56625. c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
  56626. if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  56627. c[m >> 2] = -70;
  56628. B = c[m >> 2] | 0;
  56629. l = k;
  56630. return B | 0;
  56631. }
  56632. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
  56633. c[m >> 2] = -20;
  56634. B = c[m >> 2] | 0;
  56635. l = k;
  56636. return B | 0;
  56637. }
  56638. if ((c[u >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0) {
  56639. c[m >> 2] = -1;
  56640. B = c[m >> 2] | 0;
  56641. l = k;
  56642. return B | 0;
  56643. }
  56644. if ((c[n >> 2] | 0) >>> 0 < (c[x >> 2] | 0) >>> 0) {
  56645. Rr(
  56646. c[n >> 2] | 0,
  56647. c[c[p >> 2] >> 2] | 0,
  56648. ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
  56649. );
  56650. q = c[p >> 2] | 0;
  56651. c[q >> 2] =
  56652. (c[q >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
  56653. c[n >> 2] = c[x >> 2];
  56654. }
  56655. while (1) {
  56656. if ((c[n >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
  56657. x = c[p >> 2] | 0;
  56658. q = c[x >> 2] | 0;
  56659. c[x >> 2] = q + 1;
  56660. x = a[q >> 0] | 0;
  56661. q = c[n >> 2] | 0;
  56662. c[n >> 2] = q + 1;
  56663. a[q >> 0] = x;
  56664. }
  56665. do {
  56666. if (
  56667. (c[(e + 8) >> 2] | 0) >>> 0 >
  56668. (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
  56669. ) {
  56670. if (
  56671. (c[(e + 8) >> 2] | 0) >>> 0 >
  56672. (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
  56673. ) {
  56674. c[m >> 2] = -20;
  56675. B = c[m >> 2] | 0;
  56676. l = k;
  56677. return B | 0;
  56678. }
  56679. c[z >> 2] =
  56680. (c[t >> 2] | 0) +
  56681. (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
  56682. if (
  56683. (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 >
  56684. (c[t >> 2] | 0) >>> 0
  56685. ) {
  56686. c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
  56687. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
  56688. c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
  56689. p = (e + 4) | 0;
  56690. c[p >> 2] = (c[p >> 2] | 0) - (c[A >> 2] | 0);
  56691. c[z >> 2] = c[r >> 2];
  56692. break;
  56693. }
  56694. nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) | 0;
  56695. c[m >> 2] = c[v >> 2];
  56696. B = c[m >> 2] | 0;
  56697. l = k;
  56698. return B | 0;
  56699. }
  56700. } while (0);
  56701. while (1) {
  56702. if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  56703. e = c[z >> 2] | 0;
  56704. c[z >> 2] = e + 1;
  56705. u = a[e >> 0] | 0;
  56706. e = c[n >> 2] | 0;
  56707. c[n >> 2] = e + 1;
  56708. a[e >> 0] = u;
  56709. }
  56710. c[m >> 2] = c[v >> 2];
  56711. B = c[m >> 2] | 0;
  56712. l = k;
  56713. return B | 0;
  56714. }
  56715. function Qr(b, d) {
  56716. b = b | 0;
  56717. d = d | 0;
  56718. var e = 0,
  56719. f = 0,
  56720. g = 0;
  56721. e = l;
  56722. l = (l + 16) | 0;
  56723. f = (e + 4) | 0;
  56724. g = e;
  56725. c[f >> 2] = b;
  56726. c[g >> 2] = d;
  56727. d = c[f >> 2] | 0;
  56728. f = c[g >> 2] | 0;
  56729. a[d >> 0] = a[f >> 0] | 0;
  56730. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  56731. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  56732. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  56733. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  56734. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  56735. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  56736. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  56737. l = e;
  56738. return;
  56739. }
  56740. function Rr(a, b, d) {
  56741. a = a | 0;
  56742. b = b | 0;
  56743. d = d | 0;
  56744. var e = 0,
  56745. f = 0,
  56746. g = 0,
  56747. h = 0,
  56748. i = 0,
  56749. j = 0,
  56750. k = 0;
  56751. e = l;
  56752. l = (l + 32) | 0;
  56753. f = (e + 20) | 0;
  56754. g = (e + 16) | 0;
  56755. h = (e + 12) | 0;
  56756. i = (e + 8) | 0;
  56757. j = (e + 4) | 0;
  56758. k = e;
  56759. c[f >> 2] = a;
  56760. c[g >> 2] = b;
  56761. c[h >> 2] = d;
  56762. c[i >> 2] = c[g >> 2];
  56763. c[j >> 2] = c[f >> 2];
  56764. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  56765. do {
  56766. Qr(c[j >> 2] | 0, c[i >> 2] | 0);
  56767. c[j >> 2] = (c[j >> 2] | 0) + 8;
  56768. c[i >> 2] = (c[i >> 2] | 0) + 8;
  56769. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  56770. l = e;
  56771. return;
  56772. }
  56773. function Sr(b, d) {
  56774. b = b | 0;
  56775. d = d | 0;
  56776. var e = 0,
  56777. f = 0,
  56778. g = 0;
  56779. e = l;
  56780. l = (l + 16) | 0;
  56781. f = (e + 4) | 0;
  56782. g = e;
  56783. c[f >> 2] = b;
  56784. c[g >> 2] = d;
  56785. d = c[f >> 2] | 0;
  56786. f = c[g >> 2] | 0;
  56787. a[d >> 0] = a[f >> 0] | 0;
  56788. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  56789. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  56790. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  56791. l = e;
  56792. return;
  56793. }
  56794. function Tr(a, b) {
  56795. a = a | 0;
  56796. b = b | 0;
  56797. var d = 0,
  56798. e = 0,
  56799. f = 0;
  56800. d = l;
  56801. l = (l + 16) | 0;
  56802. e = (d + 8) | 0;
  56803. f = (d + 4) | 0;
  56804. c[e >> 2] = a;
  56805. c[f >> 2] = b;
  56806. c[d >> 2] = 31;
  56807. l = d;
  56808. return (
  56809. (((c[c[e >> 2] >> 2] <<
  56810. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  56811. 1) >>>
  56812. ((31 - (c[f >> 2] | 0)) & 31)) |
  56813. 0
  56814. );
  56815. }
  56816. function Ur(a, b) {
  56817. a = a | 0;
  56818. b = b | 0;
  56819. var d = 0,
  56820. e = 0,
  56821. f = 0;
  56822. d = l;
  56823. l = (l + 16) | 0;
  56824. e = (d + 4) | 0;
  56825. f = d;
  56826. c[e >> 2] = a;
  56827. c[f >> 2] = b;
  56828. b = ((c[e >> 2] | 0) + 4) | 0;
  56829. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  56830. l = d;
  56831. return;
  56832. }
  56833. function Vr(a, b) {
  56834. a = a | 0;
  56835. b = b | 0;
  56836. var d = 0,
  56837. e = 0,
  56838. f = 0;
  56839. d = l;
  56840. l = (l + 16) | 0;
  56841. e = (d + 8) | 0;
  56842. f = (d + 4) | 0;
  56843. c[e >> 2] = a;
  56844. c[f >> 2] = b;
  56845. c[d >> 2] = 31;
  56846. l = d;
  56847. return (
  56848. ((c[c[e >> 2] >> 2] <<
  56849. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  56850. ((32 - (c[f >> 2] | 0)) & 31)) |
  56851. 0
  56852. );
  56853. }
  56854. function Wr(a) {
  56855. a = a | 0;
  56856. var b = 0,
  56857. d = 0,
  56858. e = 0,
  56859. f = 0,
  56860. g = 0;
  56861. b = l;
  56862. l = (l + 16) | 0;
  56863. d = (b + 4) | 0;
  56864. e = b;
  56865. c[e >> 2] = a;
  56866. a = (Dr() | 0) != 0;
  56867. f = c[e >> 2] | 0;
  56868. if (a) {
  56869. c[d >> 2] = hq(f) | 0;
  56870. g = c[d >> 2] | 0;
  56871. l = b;
  56872. return g | 0;
  56873. } else {
  56874. a = sq(f) | 0;
  56875. c[d >> 2] = a;
  56876. g = c[d >> 2] | 0;
  56877. l = b;
  56878. return g | 0;
  56879. }
  56880. return 0;
  56881. }
  56882. function Xr(b, f, g, h, i, j, k) {
  56883. b = b | 0;
  56884. f = f | 0;
  56885. g = g | 0;
  56886. h = h | 0;
  56887. i = i | 0;
  56888. j = j | 0;
  56889. k = k | 0;
  56890. var m = 0,
  56891. n = 0,
  56892. o = 0,
  56893. p = 0,
  56894. q = 0,
  56895. r = 0,
  56896. s = 0,
  56897. t = 0,
  56898. u = 0,
  56899. v = 0,
  56900. w = 0,
  56901. x = 0,
  56902. y = 0,
  56903. z = 0,
  56904. A = 0,
  56905. B = 0,
  56906. C = 0,
  56907. D = 0,
  56908. E = 0,
  56909. F = 0,
  56910. G = 0,
  56911. H = 0,
  56912. I = 0,
  56913. J = 0,
  56914. K = 0,
  56915. L = 0,
  56916. M = 0,
  56917. N = 0,
  56918. O = 0,
  56919. P = 0,
  56920. Q = 0,
  56921. R = 0,
  56922. S = 0,
  56923. T = 0,
  56924. U = 0,
  56925. V = 0,
  56926. W = 0,
  56927. X = 0,
  56928. Y = 0,
  56929. Z = 0,
  56930. _ = 0,
  56931. $ = 0,
  56932. aa = 0,
  56933. ba = 0,
  56934. ca = 0,
  56935. da = 0,
  56936. ea = 0,
  56937. fa = 0,
  56938. ga = 0,
  56939. ha = 0,
  56940. ia = 0,
  56941. ja = 0,
  56942. ka = 0,
  56943. la = 0,
  56944. ma = 0,
  56945. na = 0,
  56946. oa = 0,
  56947. pa = 0,
  56948. qa = 0,
  56949. ra = 0,
  56950. sa = 0,
  56951. ta = 0,
  56952. ua = 0,
  56953. va = 0,
  56954. wa = 0,
  56955. xa = 0,
  56956. ya = 0,
  56957. za = 0,
  56958. Aa = 0,
  56959. Ba = 0,
  56960. Ca = 0,
  56961. Da = 0,
  56962. Ea = 0,
  56963. Fa = 0,
  56964. Ga = 0,
  56965. Ha = 0,
  56966. Ia = 0,
  56967. Ja = 0,
  56968. Ka = 0,
  56969. La = 0,
  56970. Ma = 0,
  56971. Na = 0,
  56972. Oa = 0,
  56973. Pa = 0,
  56974. Qa = 0,
  56975. Ra = 0,
  56976. Sa = 0,
  56977. Ta = 0,
  56978. Ua = 0,
  56979. Va = 0,
  56980. Wa = 0,
  56981. Xa = 0,
  56982. Ya = 0,
  56983. Za = 0,
  56984. _a = 0,
  56985. $a = 0,
  56986. ab = 0,
  56987. bb = 0,
  56988. cb = 0,
  56989. db = 0,
  56990. eb = 0,
  56991. fb = 0,
  56992. gb = 0,
  56993. hb = 0,
  56994. ib = 0,
  56995. jb = 0,
  56996. kb = 0,
  56997. lb = 0,
  56998. mb = 0,
  56999. nb = 0,
  57000. ob = 0,
  57001. pb = 0,
  57002. qb = 0,
  57003. rb = 0,
  57004. sb = 0,
  57005. tb = 0,
  57006. ub = 0,
  57007. vb = 0,
  57008. wb = 0,
  57009. xb = 0,
  57010. yb = 0,
  57011. zb = 0,
  57012. Ab = 0,
  57013. Bb = 0,
  57014. Cb = 0,
  57015. Db = 0,
  57016. Eb = 0,
  57017. Fb = 0,
  57018. Gb = 0,
  57019. Hb = 0,
  57020. Ib = 0,
  57021. Jb = 0,
  57022. Kb = 0,
  57023. Lb = 0,
  57024. Mb = 0,
  57025. Nb = 0,
  57026. Ob = 0,
  57027. Pb = 0,
  57028. Qb = 0,
  57029. Rb = 0,
  57030. Sb = 0,
  57031. Tb = 0,
  57032. Ub = 0,
  57033. Vb = 0,
  57034. Wb = 0,
  57035. Xb = 0,
  57036. Yb = 0,
  57037. Zb = 0,
  57038. _b = 0,
  57039. $b = 0,
  57040. ac = 0;
  57041. m = l;
  57042. l = (l + 784) | 0;
  57043. n = (m + 760) | 0;
  57044. o = (m + 756) | 0;
  57045. p = (m + 752) | 0;
  57046. q = (m + 748) | 0;
  57047. r = (m + 744) | 0;
  57048. s = (m + 740) | 0;
  57049. t = (m + 736) | 0;
  57050. u = (m + 732) | 0;
  57051. v = (m + 728) | 0;
  57052. w = (m + 724) | 0;
  57053. x = (m + 720) | 0;
  57054. y = (m + 716) | 0;
  57055. z = (m + 712) | 0;
  57056. A = (m + 708) | 0;
  57057. B = (m + 704) | 0;
  57058. C = (m + 700) | 0;
  57059. D = (m + 696) | 0;
  57060. E = (m + 692) | 0;
  57061. F = (m + 80) | 0;
  57062. G = (m + 688) | 0;
  57063. H = (m + 684) | 0;
  57064. I = (m + 680) | 0;
  57065. J = (m + 676) | 0;
  57066. K = (m + 672) | 0;
  57067. L = (m + 668) | 0;
  57068. M = (m + 664) | 0;
  57069. N = (m + 660) | 0;
  57070. O = (m + 656) | 0;
  57071. P = (m + 652) | 0;
  57072. Q = (m + 648) | 0;
  57073. R = (m + 644) | 0;
  57074. S = (m + 640) | 0;
  57075. T = (m + 636) | 0;
  57076. U = (m + 632) | 0;
  57077. V = (m + 628) | 0;
  57078. W = (m + 624) | 0;
  57079. X = (m + 64) | 0;
  57080. Y = (m + 620) | 0;
  57081. Z = (m + 616) | 0;
  57082. _ = (m + 608) | 0;
  57083. $ = (m + 604) | 0;
  57084. aa = (m + 600) | 0;
  57085. ba = (m + 596) | 0;
  57086. ca = (m + 592) | 0;
  57087. da = (m + 584) | 0;
  57088. ea = (m + 580) | 0;
  57089. fa = (m + 576) | 0;
  57090. ga = (m + 572) | 0;
  57091. ha = (m + 568) | 0;
  57092. ia = (m + 560) | 0;
  57093. ja = (m + 556) | 0;
  57094. ka = (m + 552) | 0;
  57095. la = (m + 548) | 0;
  57096. ma = (m + 544) | 0;
  57097. na = (m + 528) | 0;
  57098. oa = (m + 524) | 0;
  57099. pa = (m + 520) | 0;
  57100. qa = (m + 516) | 0;
  57101. ra = (m + 512) | 0;
  57102. sa = (m + 508) | 0;
  57103. ta = (m + 504) | 0;
  57104. ua = (m + 500) | 0;
  57105. va = (m + 496) | 0;
  57106. wa = (m + 492) | 0;
  57107. xa = (m + 488) | 0;
  57108. ya = (m + 484) | 0;
  57109. za = (m + 480) | 0;
  57110. Aa = (m + 476) | 0;
  57111. Ba = (m + 472) | 0;
  57112. Ca = (m + 464) | 0;
  57113. Da = (m + 460) | 0;
  57114. Ea = (m + 456) | 0;
  57115. Fa = (m + 452) | 0;
  57116. Ga = (m + 448) | 0;
  57117. Ha = (m + 440) | 0;
  57118. Ia = (m + 436) | 0;
  57119. Ja = (m + 432) | 0;
  57120. Ka = (m + 428) | 0;
  57121. La = (m + 424) | 0;
  57122. Ma = (m + 416) | 0;
  57123. Na = (m + 412) | 0;
  57124. Oa = (m + 408) | 0;
  57125. Pa = (m + 404) | 0;
  57126. Qa = (m + 400) | 0;
  57127. Ra = (m + 384) | 0;
  57128. Sa = (m + 376) | 0;
  57129. Ta = (m + 372) | 0;
  57130. Ua = (m + 368) | 0;
  57131. Va = (m + 364) | 0;
  57132. Wa = (m + 360) | 0;
  57133. Xa = (m + 356) | 0;
  57134. Ya = (m + 352) | 0;
  57135. Za = (m + 348) | 0;
  57136. _a = (m + 344) | 0;
  57137. $a = (m + 340) | 0;
  57138. ab = (m + 336) | 0;
  57139. bb = (m + 332) | 0;
  57140. cb = (m + 328) | 0;
  57141. db = (m + 324) | 0;
  57142. eb = (m + 320) | 0;
  57143. fb = (m + 316) | 0;
  57144. gb = (m + 312) | 0;
  57145. hb = (m + 308) | 0;
  57146. ib = (m + 304) | 0;
  57147. jb = (m + 300) | 0;
  57148. kb = (m + 296) | 0;
  57149. lb = (m + 292) | 0;
  57150. mb = (m + 288) | 0;
  57151. nb = (m + 284) | 0;
  57152. ob = (m + 280) | 0;
  57153. pb = (m + 276) | 0;
  57154. qb = (m + 272) | 0;
  57155. rb = (m + 268) | 0;
  57156. sb = (m + 264) | 0;
  57157. tb = (m + 260) | 0;
  57158. ub = m;
  57159. vb = (m + 256) | 0;
  57160. wb = (m + 188) | 0;
  57161. xb = (m + 184) | 0;
  57162. yb = (m + 180) | 0;
  57163. zb = (m + 176) | 0;
  57164. Ab = (m + 160) | 0;
  57165. Bb = (m + 144) | 0;
  57166. Cb = (m + 136) | 0;
  57167. Db = (m + 132) | 0;
  57168. Eb = (m + 128) | 0;
  57169. Fb = (m + 124) | 0;
  57170. Gb = (m + 120) | 0;
  57171. Hb = (m + 116) | 0;
  57172. Ib = (m + 112) | 0;
  57173. Jb = (m + 108) | 0;
  57174. Kb = (m + 104) | 0;
  57175. Lb = (m + 100) | 0;
  57176. Mb = (m + 96) | 0;
  57177. c[Gb >> 2] = b;
  57178. c[Hb >> 2] = f;
  57179. c[Ib >> 2] = g;
  57180. c[Jb >> 2] = h;
  57181. c[Kb >> 2] = i;
  57182. c[Lb >> 2] = j;
  57183. c[Mb >> 2] = k;
  57184. k = c[Hb >> 2] | 0;
  57185. Hb = c[Ib >> 2] | 0;
  57186. Ib = c[Jb >> 2] | 0;
  57187. Jb = c[Kb >> 2] | 0;
  57188. Kb = c[Lb >> 2] | 0;
  57189. Lb = c[Mb >> 2] | 0;
  57190. c[db >> 2] = c[Gb >> 2];
  57191. c[eb >> 2] = k;
  57192. c[fb >> 2] = Hb;
  57193. c[gb >> 2] = Ib;
  57194. c[hb >> 2] = Jb;
  57195. c[ib >> 2] = Kb;
  57196. c[jb >> 2] = Lb;
  57197. c[kb >> 2] = c[gb >> 2];
  57198. c[lb >> 2] = (c[kb >> 2] | 0) + (c[hb >> 2] | 0);
  57199. c[mb >> 2] = c[eb >> 2];
  57200. c[nb >> 2] = (c[mb >> 2] | 0) + (c[fb >> 2] | 0);
  57201. c[ob >> 2] = c[mb >> 2];
  57202. c[pb >> 2] = c[((c[db >> 2] | 0) + 28916) >> 2];
  57203. c[qb >> 2] =
  57204. (c[pb >> 2] | 0) + (c[((c[db >> 2] | 0) + 28932) >> 2] | 0);
  57205. c[rb >> 2] = c[((c[db >> 2] | 0) + 28732) >> 2];
  57206. c[sb >> 2] = c[((c[db >> 2] | 0) + 28736) >> 2];
  57207. c[tb >> 2] = c[((c[db >> 2] | 0) + 28740) >> 2];
  57208. a: do {
  57209. if (c[ib >> 2] | 0) {
  57210. c[vb >> 2] = (c[ib >> 2] | 0) < 4 ? c[ib >> 2] | 0 : 4;
  57211. c[((c[db >> 2] | 0) + 28812) >> 2] = 1;
  57212. c[yb >> 2] = 0;
  57213. while (1) {
  57214. if ((c[yb >> 2] | 0) >>> 0 >= 3) break;
  57215. c[(wb + 44 + (c[yb >> 2] << 2)) >> 2] =
  57216. c[
  57217. ((c[db >> 2] | 0) +
  57218. 16 +
  57219. 28700 +
  57220. (c[yb >> 2] << 2)) >>
  57221. 2
  57222. ];
  57223. c[yb >> 2] = (c[yb >> 2] | 0) + 1;
  57224. }
  57225. c[(wb + 56) >> 2] = c[rb >> 2];
  57226. c[(wb + 64) >> 2] = (c[ob >> 2] | 0) - (c[rb >> 2] | 0);
  57227. c[(wb + 60) >> 2] = c[tb >> 2];
  57228. c[zb >> 2] =
  57229. Kr(
  57230. wb,
  57231. c[kb >> 2] | 0,
  57232. ((c[lb >> 2] | 0) - (c[kb >> 2] | 0)) | 0
  57233. ) | 0;
  57234. if ($q(c[zb >> 2] | 0) | 0) {
  57235. c[cb >> 2] = -20;
  57236. Nb = c[cb >> 2] | 0;
  57237. l = m;
  57238. return Nb | 0;
  57239. }
  57240. Lr((wb + 20) | 0, wb, c[c[db >> 2] >> 2] | 0);
  57241. Lr((wb + 28) | 0, wb, c[((c[db >> 2] | 0) + 8) >> 2] | 0);
  57242. Lr((wb + 36) | 0, wb, c[((c[db >> 2] | 0) + 4) >> 2] | 0);
  57243. c[xb >> 2] = 0;
  57244. while (1) {
  57245. if ((Mr(wb) | 0) >>> 0 <= 2)
  57246. Ob = (c[xb >> 2] | 0) < (c[vb >> 2] | 0);
  57247. else Ob = 0;
  57248. Pb = c[xb >> 2] | 0;
  57249. if (!Ob) break;
  57250. fb = (ub + (Pb << 4)) | 0;
  57251. eb = c[jb >> 2] | 0;
  57252. c[Pa >> 2] = wb;
  57253. c[Qa >> 2] = eb;
  57254. c[Sa >> 2] =
  57255. d[
  57256. ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
  57257. (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
  57258. 2) >>
  57259. 0
  57260. ];
  57261. c[Ta >> 2] =
  57262. d[
  57263. ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
  57264. (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
  57265. 2) >>
  57266. 0
  57267. ];
  57268. c[Ua >> 2] =
  57269. d[
  57270. ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
  57271. (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
  57272. 2) >>
  57273. 0
  57274. ];
  57275. c[Va >> 2] =
  57276. (c[Sa >> 2] | 0) +
  57277. (c[Ta >> 2] | 0) +
  57278. (c[Ua >> 2] | 0);
  57279. c[Wa >> 2] =
  57280. c[
  57281. ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
  57282. (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
  57283. 4) >>
  57284. 2
  57285. ];
  57286. c[Xa >> 2] =
  57287. c[
  57288. ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
  57289. (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
  57290. 4) >>
  57291. 2
  57292. ];
  57293. c[Ya >> 2] =
  57294. c[
  57295. ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
  57296. (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
  57297. 4) >>
  57298. 2
  57299. ];
  57300. do {
  57301. if (c[Ua >> 2] | 0) {
  57302. eb = (Dr() | 0) != 0;
  57303. if (!(eb & ((c[Qa >> 2] | 0) != 0))) {
  57304. eb = c[Ya >> 2] | 0;
  57305. c[Za >> 2] =
  57306. eb + (Nr(c[Pa >> 2] | 0, c[Ua >> 2] | 0) | 0);
  57307. if (!(Dr() | 0)) break;
  57308. Mr(c[Pa >> 2] | 0) | 0;
  57309. break;
  57310. }
  57311. c[_a >> 2] =
  57312. (c[Ua >> 2] | 0) -
  57313. ((c[Ua >> 2] | 0) >>> 0 < 24
  57314. ? c[Ua >> 2] | 0
  57315. : 24);
  57316. eb = c[Ya >> 2] | 0;
  57317. hb =
  57318. Nr(
  57319. c[Pa >> 2] | 0,
  57320. ((c[Ua >> 2] | 0) - (c[_a >> 2] | 0)) | 0
  57321. ) | 0;
  57322. c[Za >> 2] = eb + (hb << c[_a >> 2]);
  57323. hb = (Dr() | 0) != 0;
  57324. if (hb | ((c[_a >> 2] | 0) != 0))
  57325. Mr(c[Pa >> 2] | 0) | 0;
  57326. if (c[_a >> 2] | 0) {
  57327. hb = Nr(c[Pa >> 2] | 0, c[_a >> 2] | 0) | 0;
  57328. c[Za >> 2] = (c[Za >> 2] | 0) + hb;
  57329. }
  57330. } else c[Za >> 2] = 0;
  57331. } while (0);
  57332. do {
  57333. if ((c[Ua >> 2] | 0) >>> 0 <= 1) {
  57334. c[Za >> 2] =
  57335. (c[Za >> 2] | 0) + (((c[Wa >> 2] | 0) == 0) & 1);
  57336. if (!(c[Za >> 2] | 0)) {
  57337. c[Za >> 2] = c[((c[Pa >> 2] | 0) + 44) >> 2];
  57338. break;
  57339. }
  57340. hb = ((c[Pa >> 2] | 0) + 44) | 0;
  57341. if ((c[Za >> 2] | 0) == 3)
  57342. Qb = ((c[hb >> 2] | 0) - 1) | 0;
  57343. else Qb = c[(hb + (c[Za >> 2] << 2)) >> 2] | 0;
  57344. c[$a >> 2] = Qb;
  57345. c[$a >> 2] =
  57346. (c[$a >> 2] | 0) +
  57347. ((((c[$a >> 2] | 0) != 0) ^ 1) & 1);
  57348. if ((c[Za >> 2] | 0) != 1)
  57349. c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
  57350. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
  57351. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
  57352. c[((c[Pa >> 2] | 0) + 44) >> 2];
  57353. hb = c[$a >> 2] | 0;
  57354. c[Za >> 2] = hb;
  57355. c[((c[Pa >> 2] | 0) + 44) >> 2] = hb;
  57356. } else {
  57357. c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
  57358. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
  57359. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
  57360. c[((c[Pa >> 2] | 0) + 44) >> 2];
  57361. c[((c[Pa >> 2] | 0) + 44) >> 2] = c[Za >> 2];
  57362. }
  57363. } while (0);
  57364. c[(Ra + 8) >> 2] = c[Za >> 2];
  57365. hb = c[Xa >> 2] | 0;
  57366. if ((c[Ta >> 2] | 0) >>> 0 > 0)
  57367. Rb = Nr(c[Pa >> 2] | 0, c[Ta >> 2] | 0) | 0;
  57368. else Rb = 0;
  57369. c[(Ra + 4) >> 2] = hb + Rb;
  57370. if (
  57371. Dr() | 0
  57372. ? (((c[Ta >> 2] | 0) + (c[Sa >> 2] | 0)) | 0) >>>
  57373. 0 >=
  57374. 20
  57375. : 0
  57376. )
  57377. Mr(c[Pa >> 2] | 0) | 0;
  57378. hb = (Fr() | 0) != 0;
  57379. if (hb & ((c[Va >> 2] | 0) >>> 0 >= 31))
  57380. Mr(c[Pa >> 2] | 0) | 0;
  57381. hb = c[Wa >> 2] | 0;
  57382. if ((c[Sa >> 2] | 0) >>> 0 > 0)
  57383. Sb = Nr(c[Pa >> 2] | 0, c[Sa >> 2] | 0) | 0;
  57384. else Sb = 0;
  57385. c[Ra >> 2] = hb + Sb;
  57386. if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
  57387. c[ab >> 2] =
  57388. (c[((c[Pa >> 2] | 0) + 64) >> 2] | 0) +
  57389. (c[Ra >> 2] | 0);
  57390. hb = c[Pa >> 2] | 0;
  57391. if (
  57392. (c[(Ra + 8) >> 2] | 0) >>> 0 >
  57393. (c[ab >> 2] | 0) >>> 0
  57394. )
  57395. Tb = c[(hb + 60) >> 2] | 0;
  57396. else Tb = c[(hb + 56) >> 2] | 0;
  57397. c[bb >> 2] = Tb;
  57398. c[(Ra + 12) >> 2] =
  57399. (c[bb >> 2] | 0) +
  57400. (c[ab >> 2] | 0) +
  57401. (0 - (c[(Ra + 8) >> 2] | 0));
  57402. c[((c[Pa >> 2] | 0) + 64) >> 2] =
  57403. (c[ab >> 2] | 0) + (c[(Ra + 4) >> 2] | 0);
  57404. hb = c[Pa >> 2] | 0;
  57405. c[Ka >> 2] = (c[Pa >> 2] | 0) + 20;
  57406. c[La >> 2] = hb;
  57407. hb =
  57408. ((c[((c[Ka >> 2] | 0) + 4) >> 2] | 0) +
  57409. (c[c[Ka >> 2] >> 2] << 3)) |
  57410. 0;
  57411. c[Ma >> 2] = c[hb >> 2];
  57412. c[(Ma + 4) >> 2] = c[(hb + 4) >> 2];
  57413. c[Na >> 2] = d[(Ma + 3) >> 0];
  57414. c[Oa >> 2] = Or(c[La >> 2] | 0, c[Na >> 2] | 0) | 0;
  57415. c[c[Ka >> 2] >> 2] =
  57416. (e[Ma >> 1] | 0) + (c[Oa >> 2] | 0);
  57417. hb = c[Pa >> 2] | 0;
  57418. c[Fa >> 2] = (c[Pa >> 2] | 0) + 36;
  57419. c[Ga >> 2] = hb;
  57420. hb =
  57421. ((c[((c[Fa >> 2] | 0) + 4) >> 2] | 0) +
  57422. (c[c[Fa >> 2] >> 2] << 3)) |
  57423. 0;
  57424. c[Ha >> 2] = c[hb >> 2];
  57425. c[(Ha + 4) >> 2] = c[(hb + 4) >> 2];
  57426. c[Ia >> 2] = d[(Ha + 3) >> 0];
  57427. c[Ja >> 2] = Or(c[Ga >> 2] | 0, c[Ia >> 2] | 0) | 0;
  57428. c[c[Fa >> 2] >> 2] =
  57429. (e[Ha >> 1] | 0) + (c[Ja >> 2] | 0);
  57430. if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
  57431. hb = c[Pa >> 2] | 0;
  57432. c[Aa >> 2] = (c[Pa >> 2] | 0) + 28;
  57433. c[Ba >> 2] = hb;
  57434. hb =
  57435. ((c[((c[Aa >> 2] | 0) + 4) >> 2] | 0) +
  57436. (c[c[Aa >> 2] >> 2] << 3)) |
  57437. 0;
  57438. c[Ca >> 2] = c[hb >> 2];
  57439. c[(Ca + 4) >> 2] = c[(hb + 4) >> 2];
  57440. c[Da >> 2] = d[(Ca + 3) >> 0];
  57441. c[Ea >> 2] = Or(c[Ba >> 2] | 0, c[Da >> 2] | 0) | 0;
  57442. c[c[Aa >> 2] >> 2] =
  57443. (e[Ca >> 1] | 0) + (c[Ea >> 2] | 0);
  57444. c[Ab >> 2] = c[Ra >> 2];
  57445. c[(Ab + 4) >> 2] = c[(Ra + 4) >> 2];
  57446. c[(Ab + 8) >> 2] = c[(Ra + 8) >> 2];
  57447. c[(Ab + 12) >> 2] = c[(Ra + 12) >> 2];
  57448. c[fb >> 2] = c[Ab >> 2];
  57449. c[(fb + 4) >> 2] = c[(Ab + 4) >> 2];
  57450. c[(fb + 8) >> 2] = c[(Ab + 8) >> 2];
  57451. c[(fb + 12) >> 2] = c[(Ab + 12) >> 2];
  57452. c[xb >> 2] = (c[xb >> 2] | 0) + 1;
  57453. }
  57454. if ((Pb | 0) < (c[vb >> 2] | 0)) {
  57455. c[cb >> 2] = -20;
  57456. Nb = c[cb >> 2] | 0;
  57457. l = m;
  57458. return Nb | 0;
  57459. }
  57460. while (1) {
  57461. if ((Mr(wb) | 0) >>> 0 > 2) break;
  57462. if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
  57463. hb = c[jb >> 2] | 0;
  57464. c[la >> 2] = wb;
  57465. c[ma >> 2] = hb;
  57466. c[oa >> 2] =
  57467. d[
  57468. ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
  57469. (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
  57470. 2) >>
  57471. 0
  57472. ];
  57473. c[pa >> 2] =
  57474. d[
  57475. ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
  57476. (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
  57477. 2) >>
  57478. 0
  57479. ];
  57480. c[qa >> 2] =
  57481. d[
  57482. ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
  57483. (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
  57484. 2) >>
  57485. 0
  57486. ];
  57487. c[ra >> 2] =
  57488. (c[oa >> 2] | 0) +
  57489. (c[pa >> 2] | 0) +
  57490. (c[qa >> 2] | 0);
  57491. c[sa >> 2] =
  57492. c[
  57493. ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
  57494. (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
  57495. 4) >>
  57496. 2
  57497. ];
  57498. c[ta >> 2] =
  57499. c[
  57500. ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
  57501. (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
  57502. 4) >>
  57503. 2
  57504. ];
  57505. c[ua >> 2] =
  57506. c[
  57507. ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
  57508. (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
  57509. 4) >>
  57510. 2
  57511. ];
  57512. do {
  57513. if (c[qa >> 2] | 0) {
  57514. hb = (Dr() | 0) != 0;
  57515. if (!(hb & ((c[ma >> 2] | 0) != 0))) {
  57516. hb = c[ua >> 2] | 0;
  57517. c[va >> 2] =
  57518. hb + (Nr(c[la >> 2] | 0, c[qa >> 2] | 0) | 0);
  57519. if (!(Dr() | 0)) break;
  57520. Mr(c[la >> 2] | 0) | 0;
  57521. break;
  57522. }
  57523. c[wa >> 2] =
  57524. (c[qa >> 2] | 0) -
  57525. ((c[qa >> 2] | 0) >>> 0 < 24
  57526. ? c[qa >> 2] | 0
  57527. : 24);
  57528. hb = c[ua >> 2] | 0;
  57529. eb =
  57530. Nr(
  57531. c[la >> 2] | 0,
  57532. ((c[qa >> 2] | 0) - (c[wa >> 2] | 0)) | 0
  57533. ) | 0;
  57534. c[va >> 2] = hb + (eb << c[wa >> 2]);
  57535. eb = (Dr() | 0) != 0;
  57536. if (eb | ((c[wa >> 2] | 0) != 0))
  57537. Mr(c[la >> 2] | 0) | 0;
  57538. if (c[wa >> 2] | 0) {
  57539. eb = Nr(c[la >> 2] | 0, c[wa >> 2] | 0) | 0;
  57540. c[va >> 2] = (c[va >> 2] | 0) + eb;
  57541. }
  57542. } else c[va >> 2] = 0;
  57543. } while (0);
  57544. do {
  57545. if ((c[qa >> 2] | 0) >>> 0 <= 1) {
  57546. c[va >> 2] =
  57547. (c[va >> 2] | 0) + (((c[sa >> 2] | 0) == 0) & 1);
  57548. if (!(c[va >> 2] | 0)) {
  57549. c[va >> 2] = c[((c[la >> 2] | 0) + 44) >> 2];
  57550. break;
  57551. }
  57552. fb = ((c[la >> 2] | 0) + 44) | 0;
  57553. if ((c[va >> 2] | 0) == 3)
  57554. Ub = ((c[fb >> 2] | 0) - 1) | 0;
  57555. else Ub = c[(fb + (c[va >> 2] << 2)) >> 2] | 0;
  57556. c[xa >> 2] = Ub;
  57557. c[xa >> 2] =
  57558. (c[xa >> 2] | 0) +
  57559. ((((c[xa >> 2] | 0) != 0) ^ 1) & 1);
  57560. if ((c[va >> 2] | 0) != 1)
  57561. c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
  57562. c[((c[la >> 2] | 0) + 44 + 4) >> 2];
  57563. c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
  57564. c[((c[la >> 2] | 0) + 44) >> 2];
  57565. fb = c[xa >> 2] | 0;
  57566. c[va >> 2] = fb;
  57567. c[((c[la >> 2] | 0) + 44) >> 2] = fb;
  57568. } else {
  57569. c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
  57570. c[((c[la >> 2] | 0) + 44 + 4) >> 2];
  57571. c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
  57572. c[((c[la >> 2] | 0) + 44) >> 2];
  57573. c[((c[la >> 2] | 0) + 44) >> 2] = c[va >> 2];
  57574. }
  57575. } while (0);
  57576. c[(na + 8) >> 2] = c[va >> 2];
  57577. fb = c[ta >> 2] | 0;
  57578. if ((c[pa >> 2] | 0) >>> 0 > 0)
  57579. Vb = Nr(c[la >> 2] | 0, c[pa >> 2] | 0) | 0;
  57580. else Vb = 0;
  57581. c[(na + 4) >> 2] = fb + Vb;
  57582. if (
  57583. Dr() | 0
  57584. ? (((c[pa >> 2] | 0) + (c[oa >> 2] | 0)) | 0) >>>
  57585. 0 >=
  57586. 20
  57587. : 0
  57588. )
  57589. Mr(c[la >> 2] | 0) | 0;
  57590. fb = (Fr() | 0) != 0;
  57591. if (fb & ((c[ra >> 2] | 0) >>> 0 >= 31))
  57592. Mr(c[la >> 2] | 0) | 0;
  57593. fb = c[sa >> 2] | 0;
  57594. if ((c[oa >> 2] | 0) >>> 0 > 0)
  57595. Wb = Nr(c[la >> 2] | 0, c[oa >> 2] | 0) | 0;
  57596. else Wb = 0;
  57597. c[na >> 2] = fb + Wb;
  57598. if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
  57599. c[ya >> 2] =
  57600. (c[((c[la >> 2] | 0) + 64) >> 2] | 0) +
  57601. (c[na >> 2] | 0);
  57602. fb = c[la >> 2] | 0;
  57603. if (
  57604. (c[(na + 8) >> 2] | 0) >>> 0 >
  57605. (c[ya >> 2] | 0) >>> 0
  57606. )
  57607. Xb = c[(fb + 60) >> 2] | 0;
  57608. else Xb = c[(fb + 56) >> 2] | 0;
  57609. c[za >> 2] = Xb;
  57610. c[(na + 12) >> 2] =
  57611. (c[za >> 2] | 0) +
  57612. (c[ya >> 2] | 0) +
  57613. (0 - (c[(na + 8) >> 2] | 0));
  57614. c[((c[la >> 2] | 0) + 64) >> 2] =
  57615. (c[ya >> 2] | 0) + (c[(na + 4) >> 2] | 0);
  57616. fb = c[la >> 2] | 0;
  57617. c[ga >> 2] = (c[la >> 2] | 0) + 20;
  57618. c[ha >> 2] = fb;
  57619. fb =
  57620. ((c[((c[ga >> 2] | 0) + 4) >> 2] | 0) +
  57621. (c[c[ga >> 2] >> 2] << 3)) |
  57622. 0;
  57623. c[ia >> 2] = c[fb >> 2];
  57624. c[(ia + 4) >> 2] = c[(fb + 4) >> 2];
  57625. c[ja >> 2] = d[(ia + 3) >> 0];
  57626. c[ka >> 2] = Or(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
  57627. c[c[ga >> 2] >> 2] =
  57628. (e[ia >> 1] | 0) + (c[ka >> 2] | 0);
  57629. fb = c[la >> 2] | 0;
  57630. c[ba >> 2] = (c[la >> 2] | 0) + 36;
  57631. c[ca >> 2] = fb;
  57632. fb =
  57633. ((c[((c[ba >> 2] | 0) + 4) >> 2] | 0) +
  57634. (c[c[ba >> 2] >> 2] << 3)) |
  57635. 0;
  57636. c[da >> 2] = c[fb >> 2];
  57637. c[(da + 4) >> 2] = c[(fb + 4) >> 2];
  57638. c[ea >> 2] = d[(da + 3) >> 0];
  57639. c[fa >> 2] = Or(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
  57640. c[c[ba >> 2] >> 2] =
  57641. (e[da >> 1] | 0) + (c[fa >> 2] | 0);
  57642. if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
  57643. fb = c[la >> 2] | 0;
  57644. c[Y >> 2] = (c[la >> 2] | 0) + 28;
  57645. c[Z >> 2] = fb;
  57646. fb =
  57647. ((c[((c[Y >> 2] | 0) + 4) >> 2] | 0) +
  57648. (c[c[Y >> 2] >> 2] << 3)) |
  57649. 0;
  57650. c[_ >> 2] = c[fb >> 2];
  57651. c[(_ + 4) >> 2] = c[(fb + 4) >> 2];
  57652. c[$ >> 2] = d[(_ + 3) >> 0];
  57653. c[aa >> 2] = Or(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
  57654. c[c[Y >> 2] >> 2] = (e[_ >> 1] | 0) + (c[aa >> 2] | 0);
  57655. c[Bb >> 2] = c[na >> 2];
  57656. c[(Bb + 4) >> 2] = c[(na + 4) >> 2];
  57657. c[(Bb + 8) >> 2] = c[(na + 8) >> 2];
  57658. c[(Bb + 12) >> 2] = c[(na + 12) >> 2];
  57659. fb = c[ob >> 2] | 0;
  57660. eb = c[nb >> 2] | 0;
  57661. hb = c[qb >> 2] | 0;
  57662. gb = c[rb >> 2] | 0;
  57663. Lb = c[sb >> 2] | 0;
  57664. Kb = c[tb >> 2] | 0;
  57665. Yb = X;
  57666. Zb = (ub + ((((c[xb >> 2] | 0) - 4) & 3) << 4)) | 0;
  57667. _b = (Yb + 16) | 0;
  57668. do {
  57669. a[Yb >> 0] = a[Zb >> 0] | 0;
  57670. Yb = (Yb + 1) | 0;
  57671. Zb = (Zb + 1) | 0;
  57672. } while ((Yb | 0) < (_b | 0));
  57673. c[H >> 2] = fb;
  57674. c[I >> 2] = eb;
  57675. c[J >> 2] = pb;
  57676. c[K >> 2] = hb;
  57677. c[L >> 2] = gb;
  57678. c[M >> 2] = Lb;
  57679. c[N >> 2] = Kb;
  57680. c[O >> 2] = (c[H >> 2] | 0) + (c[X >> 2] | 0);
  57681. c[P >> 2] = (c[X >> 2] | 0) + (c[(X + 4) >> 2] | 0);
  57682. c[Q >> 2] = (c[H >> 2] | 0) + (c[P >> 2] | 0);
  57683. c[R >> 2] = (c[I >> 2] | 0) + -8;
  57684. c[S >> 2] = (c[c[J >> 2] >> 2] | 0) + (c[X >> 2] | 0);
  57685. c[T >> 2] = c[(X + 12) >> 2];
  57686. b: do {
  57687. if ((c[Q >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0)
  57688. c[G >> 2] = -70;
  57689. else {
  57690. if ((c[S >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  57691. c[G >> 2] = -20;
  57692. break;
  57693. }
  57694. Jb = c[H >> 2] | 0;
  57695. if ((c[O >> 2] | 0) >>> 0 > (c[R >> 2] | 0) >>> 0) {
  57696. Ib = c[I >> 2] | 0;
  57697. Hb = c[J >> 2] | 0;
  57698. k = c[K >> 2] | 0;
  57699. Gb = c[L >> 2] | 0;
  57700. Mb = c[M >> 2] | 0;
  57701. j = c[N >> 2] | 0;
  57702. c[n >> 2] = c[X >> 2];
  57703. c[(n + 4) >> 2] = c[(X + 4) >> 2];
  57704. c[(n + 8) >> 2] = c[(X + 8) >> 2];
  57705. c[(n + 12) >> 2] = c[(X + 12) >> 2];
  57706. c[G >> 2] = Pr(Jb, Ib, n, Hb, k, Gb, Mb, j) | 0;
  57707. break;
  57708. }
  57709. Qr(Jb, c[c[J >> 2] >> 2] | 0);
  57710. if ((c[X >> 2] | 0) >>> 0 > 8)
  57711. Rr(
  57712. ((c[H >> 2] | 0) + 8) | 0,
  57713. ((c[c[J >> 2] >> 2] | 0) + 8) | 0,
  57714. ((c[X >> 2] | 0) - 8) | 0
  57715. );
  57716. c[H >> 2] = c[O >> 2];
  57717. c[c[J >> 2] >> 2] = c[S >> 2];
  57718. do {
  57719. if (
  57720. (c[(X + 8) >> 2] | 0) >>> 0 >
  57721. (((c[O >> 2] | 0) - (c[L >> 2] | 0)) | 0) >>> 0
  57722. ) {
  57723. if (
  57724. (c[(X + 8) >> 2] | 0) >>> 0 >
  57725. (((c[O >> 2] | 0) - (c[M >> 2] | 0)) | 0) >>>
  57726. 0
  57727. ) {
  57728. c[G >> 2] = -20;
  57729. break b;
  57730. }
  57731. if (
  57732. (((c[T >> 2] | 0) + (c[(X + 4) >> 2] | 0)) |
  57733. 0) >>>
  57734. 0 <=
  57735. (c[N >> 2] | 0) >>> 0
  57736. ) {
  57737. nE(
  57738. c[O >> 2] | 0,
  57739. c[T >> 2] | 0,
  57740. c[(X + 4) >> 2] | 0
  57741. ) | 0;
  57742. c[G >> 2] = c[P >> 2];
  57743. break b;
  57744. }
  57745. c[U >> 2] = (c[N >> 2] | 0) - (c[T >> 2] | 0);
  57746. nE(
  57747. c[O >> 2] | 0,
  57748. c[T >> 2] | 0,
  57749. c[U >> 2] | 0
  57750. ) | 0;
  57751. c[H >> 2] = (c[O >> 2] | 0) + (c[U >> 2] | 0);
  57752. Jb = (X + 4) | 0;
  57753. c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[U >> 2] | 0);
  57754. c[T >> 2] = c[L >> 2];
  57755. if (
  57756. (c[H >> 2] | 0) >>> 0 <= (c[R >> 2] | 0) >>> 0
  57757. ? (c[(X + 4) >> 2] | 0) >>> 0 >= 3
  57758. : 0
  57759. )
  57760. break;
  57761. c[V >> 2] = 0;
  57762. while (1) {
  57763. if (
  57764. (c[V >> 2] | 0) >>> 0 >=
  57765. (c[(X + 4) >> 2] | 0) >>> 0
  57766. )
  57767. break;
  57768. a[((c[H >> 2] | 0) + (c[V >> 2] | 0)) >> 0] =
  57769. a[
  57770. ((c[T >> 2] | 0) + (c[V >> 2] | 0)) >> 0
  57771. ] | 0;
  57772. c[V >> 2] = (c[V >> 2] | 0) + 1;
  57773. }
  57774. c[G >> 2] = c[P >> 2];
  57775. break b;
  57776. }
  57777. } while (0);
  57778. if ((c[(X + 8) >> 2] | 0) >>> 0 < 8) {
  57779. c[W >> 2] =
  57780. c[(6816 + (c[(X + 8) >> 2] << 2)) >> 2];
  57781. a[c[H >> 2] >> 0] = a[c[T >> 2] >> 0] | 0;
  57782. a[((c[H >> 2] | 0) + 1) >> 0] =
  57783. a[((c[T >> 2] | 0) + 1) >> 0] | 0;
  57784. a[((c[H >> 2] | 0) + 2) >> 0] =
  57785. a[((c[T >> 2] | 0) + 2) >> 0] | 0;
  57786. a[((c[H >> 2] | 0) + 3) >> 0] =
  57787. a[((c[T >> 2] | 0) + 3) >> 0] | 0;
  57788. c[T >> 2] =
  57789. (c[T >> 2] | 0) +
  57790. (c[(6848 + (c[(X + 8) >> 2] << 2)) >> 2] | 0);
  57791. Sr(((c[H >> 2] | 0) + 4) | 0, c[T >> 2] | 0);
  57792. c[T >> 2] =
  57793. (c[T >> 2] | 0) + (0 - (c[W >> 2] | 0));
  57794. } else Qr(c[H >> 2] | 0, c[T >> 2] | 0);
  57795. c[H >> 2] = (c[H >> 2] | 0) + 8;
  57796. c[T >> 2] = (c[T >> 2] | 0) + 8;
  57797. Jb = c[H >> 2] | 0;
  57798. c: do {
  57799. if (
  57800. (c[Q >> 2] | 0) >>> 0 >
  57801. (((c[I >> 2] | 0) + -13) | 0) >>> 0
  57802. ) {
  57803. if (Jb >>> 0 < (c[R >> 2] | 0) >>> 0) {
  57804. Rr(
  57805. c[H >> 2] | 0,
  57806. c[T >> 2] | 0,
  57807. ((c[R >> 2] | 0) - (c[H >> 2] | 0)) | 0
  57808. );
  57809. c[T >> 2] =
  57810. (c[T >> 2] | 0) +
  57811. ((c[R >> 2] | 0) - (c[H >> 2] | 0));
  57812. c[H >> 2] = c[R >> 2];
  57813. }
  57814. while (1) {
  57815. if (
  57816. (c[H >> 2] | 0) >>> 0 >=
  57817. (c[Q >> 2] | 0) >>> 0
  57818. )
  57819. break c;
  57820. j = c[T >> 2] | 0;
  57821. c[T >> 2] = j + 1;
  57822. Mb = a[j >> 0] | 0;
  57823. j = c[H >> 2] | 0;
  57824. c[H >> 2] = j + 1;
  57825. a[j >> 0] = Mb;
  57826. }
  57827. } else
  57828. Rr(
  57829. Jb,
  57830. c[T >> 2] | 0,
  57831. ((c[(X + 4) >> 2] | 0) - 8) | 0
  57832. );
  57833. } while (0);
  57834. c[G >> 2] = c[P >> 2];
  57835. }
  57836. } while (0);
  57837. c[Cb >> 2] = c[G >> 2];
  57838. if ($q(c[Cb >> 2] | 0) | 0) {
  57839. $b = 118;
  57840. break;
  57841. }
  57842. Kb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
  57843. c[Kb >> 2] = c[Bb >> 2];
  57844. c[(Kb + 4) >> 2] = c[(Bb + 4) >> 2];
  57845. c[(Kb + 8) >> 2] = c[(Bb + 8) >> 2];
  57846. c[(Kb + 12) >> 2] = c[(Bb + 12) >> 2];
  57847. c[ob >> 2] = (c[ob >> 2] | 0) + (c[Cb >> 2] | 0);
  57848. c[xb >> 2] = (c[xb >> 2] | 0) + 1;
  57849. }
  57850. if (($b | 0) == 118) {
  57851. c[cb >> 2] = c[Cb >> 2];
  57852. Nb = c[cb >> 2] | 0;
  57853. l = m;
  57854. return Nb | 0;
  57855. }
  57856. if ((c[xb >> 2] | 0) < (c[ib >> 2] | 0)) {
  57857. c[cb >> 2] = -20;
  57858. Nb = c[cb >> 2] | 0;
  57859. l = m;
  57860. return Nb | 0;
  57861. }
  57862. c[xb >> 2] = (c[xb >> 2] | 0) - (c[vb >> 2] | 0);
  57863. while (1) {
  57864. if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
  57865. Kb = c[ob >> 2] | 0;
  57866. Lb = c[nb >> 2] | 0;
  57867. gb = c[qb >> 2] | 0;
  57868. hb = c[rb >> 2] | 0;
  57869. eb = c[sb >> 2] | 0;
  57870. fb = c[tb >> 2] | 0;
  57871. Yb = F;
  57872. Zb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
  57873. _b = (Yb + 16) | 0;
  57874. do {
  57875. a[Yb >> 0] = a[Zb >> 0] | 0;
  57876. Yb = (Yb + 1) | 0;
  57877. Zb = (Zb + 1) | 0;
  57878. } while ((Yb | 0) < (_b | 0));
  57879. c[p >> 2] = Kb;
  57880. c[q >> 2] = Lb;
  57881. c[r >> 2] = pb;
  57882. c[s >> 2] = gb;
  57883. c[t >> 2] = hb;
  57884. c[u >> 2] = eb;
  57885. c[v >> 2] = fb;
  57886. c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
  57887. c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
  57888. c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
  57889. c[z >> 2] = (c[q >> 2] | 0) + -8;
  57890. c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
  57891. c[B >> 2] = c[(F + 12) >> 2];
  57892. d: do {
  57893. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
  57894. c[o >> 2] = -70;
  57895. else {
  57896. if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  57897. c[o >> 2] = -20;
  57898. break;
  57899. }
  57900. Jb = c[p >> 2] | 0;
  57901. if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
  57902. Mb = c[q >> 2] | 0;
  57903. j = c[r >> 2] | 0;
  57904. Gb = c[s >> 2] | 0;
  57905. k = c[t >> 2] | 0;
  57906. Hb = c[u >> 2] | 0;
  57907. Ib = c[v >> 2] | 0;
  57908. c[n >> 2] = c[F >> 2];
  57909. c[(n + 4) >> 2] = c[(F + 4) >> 2];
  57910. c[(n + 8) >> 2] = c[(F + 8) >> 2];
  57911. c[(n + 12) >> 2] = c[(F + 12) >> 2];
  57912. c[o >> 2] = Pr(Jb, Mb, n, j, Gb, k, Hb, Ib) | 0;
  57913. break;
  57914. }
  57915. Qr(Jb, c[c[r >> 2] >> 2] | 0);
  57916. if ((c[F >> 2] | 0) >>> 0 > 8)
  57917. Rr(
  57918. ((c[p >> 2] | 0) + 8) | 0,
  57919. ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
  57920. ((c[F >> 2] | 0) - 8) | 0
  57921. );
  57922. c[p >> 2] = c[w >> 2];
  57923. c[c[r >> 2] >> 2] = c[A >> 2];
  57924. do {
  57925. if (
  57926. (c[(F + 8) >> 2] | 0) >>> 0 >
  57927. (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
  57928. ) {
  57929. if (
  57930. (c[(F + 8) >> 2] | 0) >>> 0 >
  57931. (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
  57932. 0
  57933. ) {
  57934. c[o >> 2] = -20;
  57935. break d;
  57936. }
  57937. if (
  57938. (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
  57939. 0) >>>
  57940. 0 <=
  57941. (c[v >> 2] | 0) >>> 0
  57942. ) {
  57943. nE(
  57944. c[w >> 2] | 0,
  57945. c[B >> 2] | 0,
  57946. c[(F + 4) >> 2] | 0
  57947. ) | 0;
  57948. c[o >> 2] = c[x >> 2];
  57949. break d;
  57950. }
  57951. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  57952. nE(
  57953. c[w >> 2] | 0,
  57954. c[B >> 2] | 0,
  57955. c[C >> 2] | 0
  57956. ) | 0;
  57957. c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
  57958. Jb = (F + 4) | 0;
  57959. c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[C >> 2] | 0);
  57960. c[B >> 2] = c[t >> 2];
  57961. if (
  57962. (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
  57963. ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
  57964. : 0
  57965. )
  57966. break;
  57967. c[D >> 2] = 0;
  57968. while (1) {
  57969. if (
  57970. (c[D >> 2] | 0) >>> 0 >=
  57971. (c[(F + 4) >> 2] | 0) >>> 0
  57972. )
  57973. break;
  57974. a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
  57975. a[
  57976. ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
  57977. ] | 0;
  57978. c[D >> 2] = (c[D >> 2] | 0) + 1;
  57979. }
  57980. c[o >> 2] = c[x >> 2];
  57981. break d;
  57982. }
  57983. } while (0);
  57984. if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
  57985. c[E >> 2] =
  57986. c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
  57987. a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
  57988. a[((c[p >> 2] | 0) + 1) >> 0] =
  57989. a[((c[B >> 2] | 0) + 1) >> 0] | 0;
  57990. a[((c[p >> 2] | 0) + 2) >> 0] =
  57991. a[((c[B >> 2] | 0) + 2) >> 0] | 0;
  57992. a[((c[p >> 2] | 0) + 3) >> 0] =
  57993. a[((c[B >> 2] | 0) + 3) >> 0] | 0;
  57994. c[B >> 2] =
  57995. (c[B >> 2] | 0) +
  57996. (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
  57997. Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
  57998. c[B >> 2] =
  57999. (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
  58000. } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
  58001. c[p >> 2] = (c[p >> 2] | 0) + 8;
  58002. c[B >> 2] = (c[B >> 2] | 0) + 8;
  58003. Jb = c[p >> 2] | 0;
  58004. e: do {
  58005. if (
  58006. (c[y >> 2] | 0) >>> 0 >
  58007. (((c[q >> 2] | 0) + -13) | 0) >>> 0
  58008. ) {
  58009. if (Jb >>> 0 < (c[z >> 2] | 0) >>> 0) {
  58010. Rr(
  58011. c[p >> 2] | 0,
  58012. c[B >> 2] | 0,
  58013. ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
  58014. );
  58015. c[B >> 2] =
  58016. (c[B >> 2] | 0) +
  58017. ((c[z >> 2] | 0) - (c[p >> 2] | 0));
  58018. c[p >> 2] = c[z >> 2];
  58019. }
  58020. while (1) {
  58021. if (
  58022. (c[p >> 2] | 0) >>> 0 >=
  58023. (c[y >> 2] | 0) >>> 0
  58024. )
  58025. break e;
  58026. Ib = c[B >> 2] | 0;
  58027. c[B >> 2] = Ib + 1;
  58028. Hb = a[Ib >> 0] | 0;
  58029. Ib = c[p >> 2] | 0;
  58030. c[p >> 2] = Ib + 1;
  58031. a[Ib >> 0] = Hb;
  58032. }
  58033. } else
  58034. Rr(
  58035. Jb,
  58036. c[B >> 2] | 0,
  58037. ((c[(F + 4) >> 2] | 0) - 8) | 0
  58038. );
  58039. } while (0);
  58040. c[o >> 2] = c[x >> 2];
  58041. }
  58042. } while (0);
  58043. c[Db >> 2] = c[o >> 2];
  58044. fb = ($q(c[Db >> 2] | 0) | 0) != 0;
  58045. ac = c[Db >> 2] | 0;
  58046. if (fb) {
  58047. $b = 155;
  58048. break;
  58049. }
  58050. c[ob >> 2] = (c[ob >> 2] | 0) + ac;
  58051. c[xb >> 2] = (c[xb >> 2] | 0) + 1;
  58052. }
  58053. if (($b | 0) == 155) {
  58054. c[cb >> 2] = ac;
  58055. Nb = c[cb >> 2] | 0;
  58056. l = m;
  58057. return Nb | 0;
  58058. }
  58059. c[Eb >> 2] = 0;
  58060. while (1) {
  58061. if ((c[Eb >> 2] | 0) >>> 0 >= 3) break a;
  58062. c[
  58063. ((c[db >> 2] | 0) + 16 + 28700 + (c[Eb >> 2] << 2)) >>
  58064. 2
  58065. ] = c[(wb + 44 + (c[Eb >> 2] << 2)) >> 2];
  58066. c[Eb >> 2] = (c[Eb >> 2] | 0) + 1;
  58067. }
  58068. }
  58069. } while (0);
  58070. c[Fb >> 2] = (c[qb >> 2] | 0) - (c[pb >> 2] | 0);
  58071. if (
  58072. (c[Fb >> 2] | 0) >>> 0 >
  58073. (((c[nb >> 2] | 0) - (c[ob >> 2] | 0)) | 0) >>> 0
  58074. ) {
  58075. c[cb >> 2] = -70;
  58076. Nb = c[cb >> 2] | 0;
  58077. l = m;
  58078. return Nb | 0;
  58079. } else {
  58080. mE(c[ob >> 2] | 0, c[pb >> 2] | 0, c[Fb >> 2] | 0) | 0;
  58081. c[ob >> 2] = (c[ob >> 2] | 0) + (c[Fb >> 2] | 0);
  58082. c[cb >> 2] = (c[ob >> 2] | 0) - (c[mb >> 2] | 0);
  58083. Nb = c[cb >> 2] | 0;
  58084. l = m;
  58085. return Nb | 0;
  58086. }
  58087. return 0;
  58088. }
  58089. function Yr(b, f, g, h, i, j, k) {
  58090. b = b | 0;
  58091. f = f | 0;
  58092. g = g | 0;
  58093. h = h | 0;
  58094. i = i | 0;
  58095. j = j | 0;
  58096. k = k | 0;
  58097. var m = 0,
  58098. n = 0,
  58099. o = 0,
  58100. p = 0,
  58101. q = 0,
  58102. r = 0,
  58103. s = 0,
  58104. t = 0,
  58105. u = 0,
  58106. v = 0,
  58107. w = 0,
  58108. x = 0,
  58109. y = 0,
  58110. z = 0,
  58111. A = 0,
  58112. B = 0,
  58113. C = 0,
  58114. D = 0,
  58115. E = 0,
  58116. F = 0,
  58117. G = 0,
  58118. H = 0,
  58119. I = 0,
  58120. J = 0,
  58121. K = 0,
  58122. L = 0,
  58123. M = 0,
  58124. N = 0,
  58125. O = 0,
  58126. P = 0,
  58127. Q = 0,
  58128. R = 0,
  58129. S = 0,
  58130. T = 0,
  58131. U = 0,
  58132. V = 0,
  58133. W = 0,
  58134. X = 0,
  58135. Y = 0,
  58136. Z = 0,
  58137. _ = 0,
  58138. $ = 0,
  58139. aa = 0,
  58140. ba = 0,
  58141. ca = 0,
  58142. da = 0,
  58143. ea = 0,
  58144. fa = 0,
  58145. ga = 0,
  58146. ha = 0,
  58147. ia = 0,
  58148. ja = 0,
  58149. ka = 0,
  58150. la = 0,
  58151. ma = 0,
  58152. na = 0,
  58153. oa = 0,
  58154. pa = 0,
  58155. qa = 0,
  58156. ra = 0,
  58157. sa = 0,
  58158. ta = 0,
  58159. ua = 0,
  58160. va = 0,
  58161. wa = 0,
  58162. xa = 0,
  58163. ya = 0,
  58164. za = 0,
  58165. Aa = 0,
  58166. Ba = 0,
  58167. Ca = 0,
  58168. Da = 0,
  58169. Ea = 0,
  58170. Fa = 0,
  58171. Ga = 0,
  58172. Ha = 0,
  58173. Ia = 0,
  58174. Ja = 0,
  58175. Ka = 0,
  58176. La = 0,
  58177. Ma = 0,
  58178. Na = 0,
  58179. Oa = 0,
  58180. Pa = 0,
  58181. Qa = 0,
  58182. Ra = 0,
  58183. Sa = 0,
  58184. Ta = 0,
  58185. Ua = 0,
  58186. Va = 0,
  58187. Wa = 0,
  58188. Xa = 0,
  58189. Ya = 0,
  58190. Za = 0,
  58191. _a = 0,
  58192. $a = 0,
  58193. ab = 0,
  58194. bb = 0,
  58195. cb = 0,
  58196. db = 0,
  58197. eb = 0,
  58198. fb = 0,
  58199. gb = 0,
  58200. hb = 0,
  58201. ib = 0,
  58202. jb = 0,
  58203. kb = 0,
  58204. lb = 0,
  58205. mb = 0,
  58206. nb = 0,
  58207. ob = 0,
  58208. pb = 0,
  58209. qb = 0,
  58210. rb = 0,
  58211. sb = 0,
  58212. tb = 0,
  58213. ub = 0,
  58214. vb = 0,
  58215. wb = 0,
  58216. xb = 0,
  58217. yb = 0,
  58218. zb = 0,
  58219. Ab = 0,
  58220. Bb = 0,
  58221. Cb = 0,
  58222. Db = 0,
  58223. Eb = 0,
  58224. Fb = 0,
  58225. Gb = 0,
  58226. Hb = 0,
  58227. Ib = 0,
  58228. Jb = 0,
  58229. Kb = 0,
  58230. Lb = 0,
  58231. Mb = 0,
  58232. Nb = 0,
  58233. Ob = 0,
  58234. Pb = 0,
  58235. Qb = 0,
  58236. Rb = 0,
  58237. Sb = 0,
  58238. Tb = 0,
  58239. Ub = 0,
  58240. Vb = 0,
  58241. Wb = 0,
  58242. Xb = 0,
  58243. Yb = 0,
  58244. Zb = 0,
  58245. _b = 0,
  58246. $b = 0,
  58247. ac = 0;
  58248. m = l;
  58249. l = (l + 784) | 0;
  58250. n = (m + 760) | 0;
  58251. o = (m + 756) | 0;
  58252. p = (m + 752) | 0;
  58253. q = (m + 748) | 0;
  58254. r = (m + 744) | 0;
  58255. s = (m + 740) | 0;
  58256. t = (m + 736) | 0;
  58257. u = (m + 732) | 0;
  58258. v = (m + 728) | 0;
  58259. w = (m + 724) | 0;
  58260. x = (m + 720) | 0;
  58261. y = (m + 716) | 0;
  58262. z = (m + 712) | 0;
  58263. A = (m + 708) | 0;
  58264. B = (m + 704) | 0;
  58265. C = (m + 700) | 0;
  58266. D = (m + 696) | 0;
  58267. E = (m + 692) | 0;
  58268. F = (m + 80) | 0;
  58269. G = (m + 688) | 0;
  58270. H = (m + 684) | 0;
  58271. I = (m + 680) | 0;
  58272. J = (m + 676) | 0;
  58273. K = (m + 672) | 0;
  58274. L = (m + 668) | 0;
  58275. M = (m + 664) | 0;
  58276. N = (m + 660) | 0;
  58277. O = (m + 656) | 0;
  58278. P = (m + 652) | 0;
  58279. Q = (m + 648) | 0;
  58280. R = (m + 644) | 0;
  58281. S = (m + 640) | 0;
  58282. T = (m + 636) | 0;
  58283. U = (m + 632) | 0;
  58284. V = (m + 628) | 0;
  58285. W = (m + 624) | 0;
  58286. X = (m + 64) | 0;
  58287. Y = (m + 620) | 0;
  58288. Z = (m + 616) | 0;
  58289. _ = (m + 608) | 0;
  58290. $ = (m + 604) | 0;
  58291. aa = (m + 600) | 0;
  58292. ba = (m + 596) | 0;
  58293. ca = (m + 592) | 0;
  58294. da = (m + 584) | 0;
  58295. ea = (m + 580) | 0;
  58296. fa = (m + 576) | 0;
  58297. ga = (m + 572) | 0;
  58298. ha = (m + 568) | 0;
  58299. ia = (m + 560) | 0;
  58300. ja = (m + 556) | 0;
  58301. ka = (m + 552) | 0;
  58302. la = (m + 548) | 0;
  58303. ma = (m + 544) | 0;
  58304. na = (m + 528) | 0;
  58305. oa = (m + 524) | 0;
  58306. pa = (m + 520) | 0;
  58307. qa = (m + 516) | 0;
  58308. ra = (m + 512) | 0;
  58309. sa = (m + 508) | 0;
  58310. ta = (m + 504) | 0;
  58311. ua = (m + 500) | 0;
  58312. va = (m + 496) | 0;
  58313. wa = (m + 492) | 0;
  58314. xa = (m + 488) | 0;
  58315. ya = (m + 484) | 0;
  58316. za = (m + 480) | 0;
  58317. Aa = (m + 476) | 0;
  58318. Ba = (m + 472) | 0;
  58319. Ca = (m + 464) | 0;
  58320. Da = (m + 460) | 0;
  58321. Ea = (m + 456) | 0;
  58322. Fa = (m + 452) | 0;
  58323. Ga = (m + 448) | 0;
  58324. Ha = (m + 440) | 0;
  58325. Ia = (m + 436) | 0;
  58326. Ja = (m + 432) | 0;
  58327. Ka = (m + 428) | 0;
  58328. La = (m + 424) | 0;
  58329. Ma = (m + 416) | 0;
  58330. Na = (m + 412) | 0;
  58331. Oa = (m + 408) | 0;
  58332. Pa = (m + 404) | 0;
  58333. Qa = (m + 400) | 0;
  58334. Ra = (m + 384) | 0;
  58335. Sa = (m + 376) | 0;
  58336. Ta = (m + 372) | 0;
  58337. Ua = (m + 368) | 0;
  58338. Va = (m + 364) | 0;
  58339. Wa = (m + 360) | 0;
  58340. Xa = (m + 356) | 0;
  58341. Ya = (m + 352) | 0;
  58342. Za = (m + 348) | 0;
  58343. _a = (m + 344) | 0;
  58344. $a = (m + 340) | 0;
  58345. ab = (m + 336) | 0;
  58346. bb = (m + 332) | 0;
  58347. cb = (m + 328) | 0;
  58348. db = (m + 324) | 0;
  58349. eb = (m + 320) | 0;
  58350. fb = (m + 316) | 0;
  58351. gb = (m + 312) | 0;
  58352. hb = (m + 308) | 0;
  58353. ib = (m + 304) | 0;
  58354. jb = (m + 300) | 0;
  58355. kb = (m + 296) | 0;
  58356. lb = (m + 292) | 0;
  58357. mb = (m + 288) | 0;
  58358. nb = (m + 284) | 0;
  58359. ob = (m + 280) | 0;
  58360. pb = (m + 276) | 0;
  58361. qb = (m + 272) | 0;
  58362. rb = (m + 268) | 0;
  58363. sb = (m + 264) | 0;
  58364. tb = (m + 260) | 0;
  58365. ub = m;
  58366. vb = (m + 256) | 0;
  58367. wb = (m + 188) | 0;
  58368. xb = (m + 184) | 0;
  58369. yb = (m + 180) | 0;
  58370. zb = (m + 176) | 0;
  58371. Ab = (m + 160) | 0;
  58372. Bb = (m + 144) | 0;
  58373. Cb = (m + 136) | 0;
  58374. Db = (m + 132) | 0;
  58375. Eb = (m + 128) | 0;
  58376. Fb = (m + 124) | 0;
  58377. Gb = (m + 120) | 0;
  58378. Hb = (m + 116) | 0;
  58379. Ib = (m + 112) | 0;
  58380. Jb = (m + 108) | 0;
  58381. Kb = (m + 104) | 0;
  58382. Lb = (m + 100) | 0;
  58383. Mb = (m + 96) | 0;
  58384. c[Gb >> 2] = b;
  58385. c[Hb >> 2] = f;
  58386. c[Ib >> 2] = g;
  58387. c[Jb >> 2] = h;
  58388. c[Kb >> 2] = i;
  58389. c[Lb >> 2] = j;
  58390. c[Mb >> 2] = k;
  58391. k = c[Hb >> 2] | 0;
  58392. Hb = c[Ib >> 2] | 0;
  58393. Ib = c[Jb >> 2] | 0;
  58394. Jb = c[Kb >> 2] | 0;
  58395. Kb = c[Lb >> 2] | 0;
  58396. Lb = c[Mb >> 2] | 0;
  58397. c[db >> 2] = c[Gb >> 2];
  58398. c[eb >> 2] = k;
  58399. c[fb >> 2] = Hb;
  58400. c[gb >> 2] = Ib;
  58401. c[hb >> 2] = Jb;
  58402. c[ib >> 2] = Kb;
  58403. c[jb >> 2] = Lb;
  58404. c[kb >> 2] = c[gb >> 2];
  58405. c[lb >> 2] = (c[kb >> 2] | 0) + (c[hb >> 2] | 0);
  58406. c[mb >> 2] = c[eb >> 2];
  58407. c[nb >> 2] = (c[mb >> 2] | 0) + (c[fb >> 2] | 0);
  58408. c[ob >> 2] = c[mb >> 2];
  58409. c[pb >> 2] = c[((c[db >> 2] | 0) + 28916) >> 2];
  58410. c[qb >> 2] =
  58411. (c[pb >> 2] | 0) + (c[((c[db >> 2] | 0) + 28932) >> 2] | 0);
  58412. c[rb >> 2] = c[((c[db >> 2] | 0) + 28732) >> 2];
  58413. c[sb >> 2] = c[((c[db >> 2] | 0) + 28736) >> 2];
  58414. c[tb >> 2] = c[((c[db >> 2] | 0) + 28740) >> 2];
  58415. a: do {
  58416. if (c[ib >> 2] | 0) {
  58417. c[vb >> 2] = (c[ib >> 2] | 0) < 4 ? c[ib >> 2] | 0 : 4;
  58418. c[((c[db >> 2] | 0) + 28812) >> 2] = 1;
  58419. c[yb >> 2] = 0;
  58420. while (1) {
  58421. if ((c[yb >> 2] | 0) >>> 0 >= 3) break;
  58422. c[(wb + 44 + (c[yb >> 2] << 2)) >> 2] =
  58423. c[
  58424. ((c[db >> 2] | 0) +
  58425. 16 +
  58426. 28700 +
  58427. (c[yb >> 2] << 2)) >>
  58428. 2
  58429. ];
  58430. c[yb >> 2] = (c[yb >> 2] | 0) + 1;
  58431. }
  58432. c[(wb + 56) >> 2] = c[rb >> 2];
  58433. c[(wb + 64) >> 2] = (c[ob >> 2] | 0) - (c[rb >> 2] | 0);
  58434. c[(wb + 60) >> 2] = c[tb >> 2];
  58435. c[zb >> 2] =
  58436. Kr(
  58437. wb,
  58438. c[kb >> 2] | 0,
  58439. ((c[lb >> 2] | 0) - (c[kb >> 2] | 0)) | 0
  58440. ) | 0;
  58441. if ($q(c[zb >> 2] | 0) | 0) {
  58442. c[cb >> 2] = -20;
  58443. Nb = c[cb >> 2] | 0;
  58444. l = m;
  58445. return Nb | 0;
  58446. }
  58447. Lr((wb + 20) | 0, wb, c[c[db >> 2] >> 2] | 0);
  58448. Lr((wb + 28) | 0, wb, c[((c[db >> 2] | 0) + 8) >> 2] | 0);
  58449. Lr((wb + 36) | 0, wb, c[((c[db >> 2] | 0) + 4) >> 2] | 0);
  58450. c[xb >> 2] = 0;
  58451. while (1) {
  58452. if ((Mr(wb) | 0) >>> 0 <= 2)
  58453. Ob = (c[xb >> 2] | 0) < (c[vb >> 2] | 0);
  58454. else Ob = 0;
  58455. Pb = c[xb >> 2] | 0;
  58456. if (!Ob) break;
  58457. fb = (ub + (Pb << 4)) | 0;
  58458. eb = c[jb >> 2] | 0;
  58459. c[Pa >> 2] = wb;
  58460. c[Qa >> 2] = eb;
  58461. c[Sa >> 2] =
  58462. d[
  58463. ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
  58464. (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
  58465. 2) >>
  58466. 0
  58467. ];
  58468. c[Ta >> 2] =
  58469. d[
  58470. ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
  58471. (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
  58472. 2) >>
  58473. 0
  58474. ];
  58475. c[Ua >> 2] =
  58476. d[
  58477. ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
  58478. (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
  58479. 2) >>
  58480. 0
  58481. ];
  58482. c[Va >> 2] =
  58483. (c[Sa >> 2] | 0) +
  58484. (c[Ta >> 2] | 0) +
  58485. (c[Ua >> 2] | 0);
  58486. c[Wa >> 2] =
  58487. c[
  58488. ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
  58489. (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
  58490. 4) >>
  58491. 2
  58492. ];
  58493. c[Xa >> 2] =
  58494. c[
  58495. ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
  58496. (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
  58497. 4) >>
  58498. 2
  58499. ];
  58500. c[Ya >> 2] =
  58501. c[
  58502. ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
  58503. (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
  58504. 4) >>
  58505. 2
  58506. ];
  58507. do {
  58508. if (c[Ua >> 2] | 0) {
  58509. eb = (Dr() | 0) != 0;
  58510. if (!(eb & ((c[Qa >> 2] | 0) != 0))) {
  58511. eb = c[Ya >> 2] | 0;
  58512. c[Za >> 2] =
  58513. eb + (Nr(c[Pa >> 2] | 0, c[Ua >> 2] | 0) | 0);
  58514. if (!(Dr() | 0)) break;
  58515. Mr(c[Pa >> 2] | 0) | 0;
  58516. break;
  58517. }
  58518. c[_a >> 2] =
  58519. (c[Ua >> 2] | 0) -
  58520. ((c[Ua >> 2] | 0) >>> 0 < 24
  58521. ? c[Ua >> 2] | 0
  58522. : 24);
  58523. eb = c[Ya >> 2] | 0;
  58524. hb =
  58525. Nr(
  58526. c[Pa >> 2] | 0,
  58527. ((c[Ua >> 2] | 0) - (c[_a >> 2] | 0)) | 0
  58528. ) | 0;
  58529. c[Za >> 2] = eb + (hb << c[_a >> 2]);
  58530. hb = (Dr() | 0) != 0;
  58531. if (hb | ((c[_a >> 2] | 0) != 0))
  58532. Mr(c[Pa >> 2] | 0) | 0;
  58533. if (c[_a >> 2] | 0) {
  58534. hb = Nr(c[Pa >> 2] | 0, c[_a >> 2] | 0) | 0;
  58535. c[Za >> 2] = (c[Za >> 2] | 0) + hb;
  58536. }
  58537. } else c[Za >> 2] = 0;
  58538. } while (0);
  58539. do {
  58540. if ((c[Ua >> 2] | 0) >>> 0 <= 1) {
  58541. c[Za >> 2] =
  58542. (c[Za >> 2] | 0) + (((c[Wa >> 2] | 0) == 0) & 1);
  58543. if (!(c[Za >> 2] | 0)) {
  58544. c[Za >> 2] = c[((c[Pa >> 2] | 0) + 44) >> 2];
  58545. break;
  58546. }
  58547. hb = ((c[Pa >> 2] | 0) + 44) | 0;
  58548. if ((c[Za >> 2] | 0) == 3)
  58549. Qb = ((c[hb >> 2] | 0) - 1) | 0;
  58550. else Qb = c[(hb + (c[Za >> 2] << 2)) >> 2] | 0;
  58551. c[$a >> 2] = Qb;
  58552. c[$a >> 2] =
  58553. (c[$a >> 2] | 0) +
  58554. ((((c[$a >> 2] | 0) != 0) ^ 1) & 1);
  58555. if ((c[Za >> 2] | 0) != 1)
  58556. c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
  58557. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
  58558. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
  58559. c[((c[Pa >> 2] | 0) + 44) >> 2];
  58560. hb = c[$a >> 2] | 0;
  58561. c[Za >> 2] = hb;
  58562. c[((c[Pa >> 2] | 0) + 44) >> 2] = hb;
  58563. } else {
  58564. c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
  58565. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
  58566. c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
  58567. c[((c[Pa >> 2] | 0) + 44) >> 2];
  58568. c[((c[Pa >> 2] | 0) + 44) >> 2] = c[Za >> 2];
  58569. }
  58570. } while (0);
  58571. c[(Ra + 8) >> 2] = c[Za >> 2];
  58572. hb = c[Xa >> 2] | 0;
  58573. if ((c[Ta >> 2] | 0) >>> 0 > 0)
  58574. Rb = Nr(c[Pa >> 2] | 0, c[Ta >> 2] | 0) | 0;
  58575. else Rb = 0;
  58576. c[(Ra + 4) >> 2] = hb + Rb;
  58577. if (
  58578. Dr() | 0
  58579. ? (((c[Ta >> 2] | 0) + (c[Sa >> 2] | 0)) | 0) >>>
  58580. 0 >=
  58581. 20
  58582. : 0
  58583. )
  58584. Mr(c[Pa >> 2] | 0) | 0;
  58585. hb = (Fr() | 0) != 0;
  58586. if (hb & ((c[Va >> 2] | 0) >>> 0 >= 31))
  58587. Mr(c[Pa >> 2] | 0) | 0;
  58588. hb = c[Wa >> 2] | 0;
  58589. if ((c[Sa >> 2] | 0) >>> 0 > 0)
  58590. Sb = Nr(c[Pa >> 2] | 0, c[Sa >> 2] | 0) | 0;
  58591. else Sb = 0;
  58592. c[Ra >> 2] = hb + Sb;
  58593. if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
  58594. c[ab >> 2] =
  58595. (c[((c[Pa >> 2] | 0) + 64) >> 2] | 0) +
  58596. (c[Ra >> 2] | 0);
  58597. hb = c[Pa >> 2] | 0;
  58598. if (
  58599. (c[(Ra + 8) >> 2] | 0) >>> 0 >
  58600. (c[ab >> 2] | 0) >>> 0
  58601. )
  58602. Tb = c[(hb + 60) >> 2] | 0;
  58603. else Tb = c[(hb + 56) >> 2] | 0;
  58604. c[bb >> 2] = Tb;
  58605. c[(Ra + 12) >> 2] =
  58606. (c[bb >> 2] | 0) +
  58607. (c[ab >> 2] | 0) +
  58608. (0 - (c[(Ra + 8) >> 2] | 0));
  58609. c[((c[Pa >> 2] | 0) + 64) >> 2] =
  58610. (c[ab >> 2] | 0) + (c[(Ra + 4) >> 2] | 0);
  58611. hb = c[Pa >> 2] | 0;
  58612. c[Ka >> 2] = (c[Pa >> 2] | 0) + 20;
  58613. c[La >> 2] = hb;
  58614. hb =
  58615. ((c[((c[Ka >> 2] | 0) + 4) >> 2] | 0) +
  58616. (c[c[Ka >> 2] >> 2] << 3)) |
  58617. 0;
  58618. c[Ma >> 2] = c[hb >> 2];
  58619. c[(Ma + 4) >> 2] = c[(hb + 4) >> 2];
  58620. c[Na >> 2] = d[(Ma + 3) >> 0];
  58621. c[Oa >> 2] = Or(c[La >> 2] | 0, c[Na >> 2] | 0) | 0;
  58622. c[c[Ka >> 2] >> 2] =
  58623. (e[Ma >> 1] | 0) + (c[Oa >> 2] | 0);
  58624. hb = c[Pa >> 2] | 0;
  58625. c[Fa >> 2] = (c[Pa >> 2] | 0) + 36;
  58626. c[Ga >> 2] = hb;
  58627. hb =
  58628. ((c[((c[Fa >> 2] | 0) + 4) >> 2] | 0) +
  58629. (c[c[Fa >> 2] >> 2] << 3)) |
  58630. 0;
  58631. c[Ha >> 2] = c[hb >> 2];
  58632. c[(Ha + 4) >> 2] = c[(hb + 4) >> 2];
  58633. c[Ia >> 2] = d[(Ha + 3) >> 0];
  58634. c[Ja >> 2] = Or(c[Ga >> 2] | 0, c[Ia >> 2] | 0) | 0;
  58635. c[c[Fa >> 2] >> 2] =
  58636. (e[Ha >> 1] | 0) + (c[Ja >> 2] | 0);
  58637. if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
  58638. hb = c[Pa >> 2] | 0;
  58639. c[Aa >> 2] = (c[Pa >> 2] | 0) + 28;
  58640. c[Ba >> 2] = hb;
  58641. hb =
  58642. ((c[((c[Aa >> 2] | 0) + 4) >> 2] | 0) +
  58643. (c[c[Aa >> 2] >> 2] << 3)) |
  58644. 0;
  58645. c[Ca >> 2] = c[hb >> 2];
  58646. c[(Ca + 4) >> 2] = c[(hb + 4) >> 2];
  58647. c[Da >> 2] = d[(Ca + 3) >> 0];
  58648. c[Ea >> 2] = Or(c[Ba >> 2] | 0, c[Da >> 2] | 0) | 0;
  58649. c[c[Aa >> 2] >> 2] =
  58650. (e[Ca >> 1] | 0) + (c[Ea >> 2] | 0);
  58651. c[Ab >> 2] = c[Ra >> 2];
  58652. c[(Ab + 4) >> 2] = c[(Ra + 4) >> 2];
  58653. c[(Ab + 8) >> 2] = c[(Ra + 8) >> 2];
  58654. c[(Ab + 12) >> 2] = c[(Ra + 12) >> 2];
  58655. c[fb >> 2] = c[Ab >> 2];
  58656. c[(fb + 4) >> 2] = c[(Ab + 4) >> 2];
  58657. c[(fb + 8) >> 2] = c[(Ab + 8) >> 2];
  58658. c[(fb + 12) >> 2] = c[(Ab + 12) >> 2];
  58659. c[xb >> 2] = (c[xb >> 2] | 0) + 1;
  58660. }
  58661. if ((Pb | 0) < (c[vb >> 2] | 0)) {
  58662. c[cb >> 2] = -20;
  58663. Nb = c[cb >> 2] | 0;
  58664. l = m;
  58665. return Nb | 0;
  58666. }
  58667. while (1) {
  58668. if ((Mr(wb) | 0) >>> 0 > 2) break;
  58669. if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
  58670. hb = c[jb >> 2] | 0;
  58671. c[la >> 2] = wb;
  58672. c[ma >> 2] = hb;
  58673. c[oa >> 2] =
  58674. d[
  58675. ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
  58676. (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
  58677. 2) >>
  58678. 0
  58679. ];
  58680. c[pa >> 2] =
  58681. d[
  58682. ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
  58683. (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
  58684. 2) >>
  58685. 0
  58686. ];
  58687. c[qa >> 2] =
  58688. d[
  58689. ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
  58690. (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
  58691. 2) >>
  58692. 0
  58693. ];
  58694. c[ra >> 2] =
  58695. (c[oa >> 2] | 0) +
  58696. (c[pa >> 2] | 0) +
  58697. (c[qa >> 2] | 0);
  58698. c[sa >> 2] =
  58699. c[
  58700. ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
  58701. (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
  58702. 4) >>
  58703. 2
  58704. ];
  58705. c[ta >> 2] =
  58706. c[
  58707. ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
  58708. (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
  58709. 4) >>
  58710. 2
  58711. ];
  58712. c[ua >> 2] =
  58713. c[
  58714. ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
  58715. (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
  58716. 4) >>
  58717. 2
  58718. ];
  58719. do {
  58720. if (c[qa >> 2] | 0) {
  58721. hb = (Dr() | 0) != 0;
  58722. if (!(hb & ((c[ma >> 2] | 0) != 0))) {
  58723. hb = c[ua >> 2] | 0;
  58724. c[va >> 2] =
  58725. hb + (Nr(c[la >> 2] | 0, c[qa >> 2] | 0) | 0);
  58726. if (!(Dr() | 0)) break;
  58727. Mr(c[la >> 2] | 0) | 0;
  58728. break;
  58729. }
  58730. c[wa >> 2] =
  58731. (c[qa >> 2] | 0) -
  58732. ((c[qa >> 2] | 0) >>> 0 < 24
  58733. ? c[qa >> 2] | 0
  58734. : 24);
  58735. hb = c[ua >> 2] | 0;
  58736. eb =
  58737. Nr(
  58738. c[la >> 2] | 0,
  58739. ((c[qa >> 2] | 0) - (c[wa >> 2] | 0)) | 0
  58740. ) | 0;
  58741. c[va >> 2] = hb + (eb << c[wa >> 2]);
  58742. eb = (Dr() | 0) != 0;
  58743. if (eb | ((c[wa >> 2] | 0) != 0))
  58744. Mr(c[la >> 2] | 0) | 0;
  58745. if (c[wa >> 2] | 0) {
  58746. eb = Nr(c[la >> 2] | 0, c[wa >> 2] | 0) | 0;
  58747. c[va >> 2] = (c[va >> 2] | 0) + eb;
  58748. }
  58749. } else c[va >> 2] = 0;
  58750. } while (0);
  58751. do {
  58752. if ((c[qa >> 2] | 0) >>> 0 <= 1) {
  58753. c[va >> 2] =
  58754. (c[va >> 2] | 0) + (((c[sa >> 2] | 0) == 0) & 1);
  58755. if (!(c[va >> 2] | 0)) {
  58756. c[va >> 2] = c[((c[la >> 2] | 0) + 44) >> 2];
  58757. break;
  58758. }
  58759. fb = ((c[la >> 2] | 0) + 44) | 0;
  58760. if ((c[va >> 2] | 0) == 3)
  58761. Ub = ((c[fb >> 2] | 0) - 1) | 0;
  58762. else Ub = c[(fb + (c[va >> 2] << 2)) >> 2] | 0;
  58763. c[xa >> 2] = Ub;
  58764. c[xa >> 2] =
  58765. (c[xa >> 2] | 0) +
  58766. ((((c[xa >> 2] | 0) != 0) ^ 1) & 1);
  58767. if ((c[va >> 2] | 0) != 1)
  58768. c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
  58769. c[((c[la >> 2] | 0) + 44 + 4) >> 2];
  58770. c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
  58771. c[((c[la >> 2] | 0) + 44) >> 2];
  58772. fb = c[xa >> 2] | 0;
  58773. c[va >> 2] = fb;
  58774. c[((c[la >> 2] | 0) + 44) >> 2] = fb;
  58775. } else {
  58776. c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
  58777. c[((c[la >> 2] | 0) + 44 + 4) >> 2];
  58778. c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
  58779. c[((c[la >> 2] | 0) + 44) >> 2];
  58780. c[((c[la >> 2] | 0) + 44) >> 2] = c[va >> 2];
  58781. }
  58782. } while (0);
  58783. c[(na + 8) >> 2] = c[va >> 2];
  58784. fb = c[ta >> 2] | 0;
  58785. if ((c[pa >> 2] | 0) >>> 0 > 0)
  58786. Vb = Nr(c[la >> 2] | 0, c[pa >> 2] | 0) | 0;
  58787. else Vb = 0;
  58788. c[(na + 4) >> 2] = fb + Vb;
  58789. if (
  58790. Dr() | 0
  58791. ? (((c[pa >> 2] | 0) + (c[oa >> 2] | 0)) | 0) >>>
  58792. 0 >=
  58793. 20
  58794. : 0
  58795. )
  58796. Mr(c[la >> 2] | 0) | 0;
  58797. fb = (Fr() | 0) != 0;
  58798. if (fb & ((c[ra >> 2] | 0) >>> 0 >= 31))
  58799. Mr(c[la >> 2] | 0) | 0;
  58800. fb = c[sa >> 2] | 0;
  58801. if ((c[oa >> 2] | 0) >>> 0 > 0)
  58802. Wb = Nr(c[la >> 2] | 0, c[oa >> 2] | 0) | 0;
  58803. else Wb = 0;
  58804. c[na >> 2] = fb + Wb;
  58805. if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
  58806. c[ya >> 2] =
  58807. (c[((c[la >> 2] | 0) + 64) >> 2] | 0) +
  58808. (c[na >> 2] | 0);
  58809. fb = c[la >> 2] | 0;
  58810. if (
  58811. (c[(na + 8) >> 2] | 0) >>> 0 >
  58812. (c[ya >> 2] | 0) >>> 0
  58813. )
  58814. Xb = c[(fb + 60) >> 2] | 0;
  58815. else Xb = c[(fb + 56) >> 2] | 0;
  58816. c[za >> 2] = Xb;
  58817. c[(na + 12) >> 2] =
  58818. (c[za >> 2] | 0) +
  58819. (c[ya >> 2] | 0) +
  58820. (0 - (c[(na + 8) >> 2] | 0));
  58821. c[((c[la >> 2] | 0) + 64) >> 2] =
  58822. (c[ya >> 2] | 0) + (c[(na + 4) >> 2] | 0);
  58823. fb = c[la >> 2] | 0;
  58824. c[ga >> 2] = (c[la >> 2] | 0) + 20;
  58825. c[ha >> 2] = fb;
  58826. fb =
  58827. ((c[((c[ga >> 2] | 0) + 4) >> 2] | 0) +
  58828. (c[c[ga >> 2] >> 2] << 3)) |
  58829. 0;
  58830. c[ia >> 2] = c[fb >> 2];
  58831. c[(ia + 4) >> 2] = c[(fb + 4) >> 2];
  58832. c[ja >> 2] = d[(ia + 3) >> 0];
  58833. c[ka >> 2] = Or(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
  58834. c[c[ga >> 2] >> 2] =
  58835. (e[ia >> 1] | 0) + (c[ka >> 2] | 0);
  58836. fb = c[la >> 2] | 0;
  58837. c[ba >> 2] = (c[la >> 2] | 0) + 36;
  58838. c[ca >> 2] = fb;
  58839. fb =
  58840. ((c[((c[ba >> 2] | 0) + 4) >> 2] | 0) +
  58841. (c[c[ba >> 2] >> 2] << 3)) |
  58842. 0;
  58843. c[da >> 2] = c[fb >> 2];
  58844. c[(da + 4) >> 2] = c[(fb + 4) >> 2];
  58845. c[ea >> 2] = d[(da + 3) >> 0];
  58846. c[fa >> 2] = Or(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
  58847. c[c[ba >> 2] >> 2] =
  58848. (e[da >> 1] | 0) + (c[fa >> 2] | 0);
  58849. if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
  58850. fb = c[la >> 2] | 0;
  58851. c[Y >> 2] = (c[la >> 2] | 0) + 28;
  58852. c[Z >> 2] = fb;
  58853. fb =
  58854. ((c[((c[Y >> 2] | 0) + 4) >> 2] | 0) +
  58855. (c[c[Y >> 2] >> 2] << 3)) |
  58856. 0;
  58857. c[_ >> 2] = c[fb >> 2];
  58858. c[(_ + 4) >> 2] = c[(fb + 4) >> 2];
  58859. c[$ >> 2] = d[(_ + 3) >> 0];
  58860. c[aa >> 2] = Or(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
  58861. c[c[Y >> 2] >> 2] = (e[_ >> 1] | 0) + (c[aa >> 2] | 0);
  58862. c[Bb >> 2] = c[na >> 2];
  58863. c[(Bb + 4) >> 2] = c[(na + 4) >> 2];
  58864. c[(Bb + 8) >> 2] = c[(na + 8) >> 2];
  58865. c[(Bb + 12) >> 2] = c[(na + 12) >> 2];
  58866. fb = c[ob >> 2] | 0;
  58867. eb = c[nb >> 2] | 0;
  58868. hb = c[qb >> 2] | 0;
  58869. gb = c[rb >> 2] | 0;
  58870. Lb = c[sb >> 2] | 0;
  58871. Kb = c[tb >> 2] | 0;
  58872. Yb = X;
  58873. Zb = (ub + ((((c[xb >> 2] | 0) - 4) & 3) << 4)) | 0;
  58874. _b = (Yb + 16) | 0;
  58875. do {
  58876. a[Yb >> 0] = a[Zb >> 0] | 0;
  58877. Yb = (Yb + 1) | 0;
  58878. Zb = (Zb + 1) | 0;
  58879. } while ((Yb | 0) < (_b | 0));
  58880. c[H >> 2] = fb;
  58881. c[I >> 2] = eb;
  58882. c[J >> 2] = pb;
  58883. c[K >> 2] = hb;
  58884. c[L >> 2] = gb;
  58885. c[M >> 2] = Lb;
  58886. c[N >> 2] = Kb;
  58887. c[O >> 2] = (c[H >> 2] | 0) + (c[X >> 2] | 0);
  58888. c[P >> 2] = (c[X >> 2] | 0) + (c[(X + 4) >> 2] | 0);
  58889. c[Q >> 2] = (c[H >> 2] | 0) + (c[P >> 2] | 0);
  58890. c[R >> 2] = (c[I >> 2] | 0) + -8;
  58891. c[S >> 2] = (c[c[J >> 2] >> 2] | 0) + (c[X >> 2] | 0);
  58892. c[T >> 2] = c[(X + 12) >> 2];
  58893. b: do {
  58894. if ((c[Q >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0)
  58895. c[G >> 2] = -70;
  58896. else {
  58897. if ((c[S >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
  58898. c[G >> 2] = -20;
  58899. break;
  58900. }
  58901. Jb = c[H >> 2] | 0;
  58902. if ((c[O >> 2] | 0) >>> 0 > (c[R >> 2] | 0) >>> 0) {
  58903. Ib = c[I >> 2] | 0;
  58904. Hb = c[J >> 2] | 0;
  58905. k = c[K >> 2] | 0;
  58906. Gb = c[L >> 2] | 0;
  58907. Mb = c[M >> 2] | 0;
  58908. j = c[N >> 2] | 0;
  58909. c[n >> 2] = c[X >> 2];
  58910. c[(n + 4) >> 2] = c[(X + 4) >> 2];
  58911. c[(n + 8) >> 2] = c[(X + 8) >> 2];
  58912. c[(n + 12) >> 2] = c[(X + 12) >> 2];
  58913. c[G >> 2] = Pr(Jb, Ib, n, Hb, k, Gb, Mb, j) | 0;
  58914. break;
  58915. }
  58916. Qr(Jb, c[c[J >> 2] >> 2] | 0);
  58917. if ((c[X >> 2] | 0) >>> 0 > 8)
  58918. Rr(
  58919. ((c[H >> 2] | 0) + 8) | 0,
  58920. ((c[c[J >> 2] >> 2] | 0) + 8) | 0,
  58921. ((c[X >> 2] | 0) - 8) | 0
  58922. );
  58923. c[H >> 2] = c[O >> 2];
  58924. c[c[J >> 2] >> 2] = c[S >> 2];
  58925. do {
  58926. if (
  58927. (c[(X + 8) >> 2] | 0) >>> 0 >
  58928. (((c[O >> 2] | 0) - (c[L >> 2] | 0)) | 0) >>> 0
  58929. ) {
  58930. if (
  58931. (c[(X + 8) >> 2] | 0) >>> 0 >
  58932. (((c[O >> 2] | 0) - (c[M >> 2] | 0)) | 0) >>>
  58933. 0
  58934. ) {
  58935. c[G >> 2] = -20;
  58936. break b;
  58937. }
  58938. if (
  58939. (((c[T >> 2] | 0) + (c[(X + 4) >> 2] | 0)) |
  58940. 0) >>>
  58941. 0 <=
  58942. (c[N >> 2] | 0) >>> 0
  58943. ) {
  58944. nE(
  58945. c[O >> 2] | 0,
  58946. c[T >> 2] | 0,
  58947. c[(X + 4) >> 2] | 0
  58948. ) | 0;
  58949. c[G >> 2] = c[P >> 2];
  58950. break b;
  58951. }
  58952. c[U >> 2] = (c[N >> 2] | 0) - (c[T >> 2] | 0);
  58953. nE(
  58954. c[O >> 2] | 0,
  58955. c[T >> 2] | 0,
  58956. c[U >> 2] | 0
  58957. ) | 0;
  58958. c[H >> 2] = (c[O >> 2] | 0) + (c[U >> 2] | 0);
  58959. Jb = (X + 4) | 0;
  58960. c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[U >> 2] | 0);
  58961. c[T >> 2] = c[L >> 2];
  58962. if (
  58963. (c[H >> 2] | 0) >>> 0 <= (c[R >> 2] | 0) >>> 0
  58964. ? (c[(X + 4) >> 2] | 0) >>> 0 >= 3
  58965. : 0
  58966. )
  58967. break;
  58968. c[V >> 2] = 0;
  58969. while (1) {
  58970. if (
  58971. (c[V >> 2] | 0) >>> 0 >=
  58972. (c[(X + 4) >> 2] | 0) >>> 0
  58973. )
  58974. break;
  58975. a[((c[H >> 2] | 0) + (c[V >> 2] | 0)) >> 0] =
  58976. a[
  58977. ((c[T >> 2] | 0) + (c[V >> 2] | 0)) >> 0
  58978. ] | 0;
  58979. c[V >> 2] = (c[V >> 2] | 0) + 1;
  58980. }
  58981. c[G >> 2] = c[P >> 2];
  58982. break b;
  58983. }
  58984. } while (0);
  58985. if ((c[(X + 8) >> 2] | 0) >>> 0 < 8) {
  58986. c[W >> 2] =
  58987. c[(6816 + (c[(X + 8) >> 2] << 2)) >> 2];
  58988. a[c[H >> 2] >> 0] = a[c[T >> 2] >> 0] | 0;
  58989. a[((c[H >> 2] | 0) + 1) >> 0] =
  58990. a[((c[T >> 2] | 0) + 1) >> 0] | 0;
  58991. a[((c[H >> 2] | 0) + 2) >> 0] =
  58992. a[((c[T >> 2] | 0) + 2) >> 0] | 0;
  58993. a[((c[H >> 2] | 0) + 3) >> 0] =
  58994. a[((c[T >> 2] | 0) + 3) >> 0] | 0;
  58995. c[T >> 2] =
  58996. (c[T >> 2] | 0) +
  58997. (c[(6848 + (c[(X + 8) >> 2] << 2)) >> 2] | 0);
  58998. Sr(((c[H >> 2] | 0) + 4) | 0, c[T >> 2] | 0);
  58999. c[T >> 2] =
  59000. (c[T >> 2] | 0) + (0 - (c[W >> 2] | 0));
  59001. } else Qr(c[H >> 2] | 0, c[T >> 2] | 0);
  59002. c[H >> 2] = (c[H >> 2] | 0) + 8;
  59003. c[T >> 2] = (c[T >> 2] | 0) + 8;
  59004. Jb = c[H >> 2] | 0;
  59005. c: do {
  59006. if (
  59007. (c[Q >> 2] | 0) >>> 0 >
  59008. (((c[I >> 2] | 0) + -13) | 0) >>> 0
  59009. ) {
  59010. if (Jb >>> 0 < (c[R >> 2] | 0) >>> 0) {
  59011. Rr(
  59012. c[H >> 2] | 0,
  59013. c[T >> 2] | 0,
  59014. ((c[R >> 2] | 0) - (c[H >> 2] | 0)) | 0
  59015. );
  59016. c[T >> 2] =
  59017. (c[T >> 2] | 0) +
  59018. ((c[R >> 2] | 0) - (c[H >> 2] | 0));
  59019. c[H >> 2] = c[R >> 2];
  59020. }
  59021. while (1) {
  59022. if (
  59023. (c[H >> 2] | 0) >>> 0 >=
  59024. (c[Q >> 2] | 0) >>> 0
  59025. )
  59026. break c;
  59027. j = c[T >> 2] | 0;
  59028. c[T >> 2] = j + 1;
  59029. Mb = a[j >> 0] | 0;
  59030. j = c[H >> 2] | 0;
  59031. c[H >> 2] = j + 1;
  59032. a[j >> 0] = Mb;
  59033. }
  59034. } else
  59035. Rr(
  59036. Jb,
  59037. c[T >> 2] | 0,
  59038. ((c[(X + 4) >> 2] | 0) - 8) | 0
  59039. );
  59040. } while (0);
  59041. c[G >> 2] = c[P >> 2];
  59042. }
  59043. } while (0);
  59044. c[Cb >> 2] = c[G >> 2];
  59045. if ($q(c[Cb >> 2] | 0) | 0) {
  59046. $b = 118;
  59047. break;
  59048. }
  59049. Kb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
  59050. c[Kb >> 2] = c[Bb >> 2];
  59051. c[(Kb + 4) >> 2] = c[(Bb + 4) >> 2];
  59052. c[(Kb + 8) >> 2] = c[(Bb + 8) >> 2];
  59053. c[(Kb + 12) >> 2] = c[(Bb + 12) >> 2];
  59054. c[ob >> 2] = (c[ob >> 2] | 0) + (c[Cb >> 2] | 0);
  59055. c[xb >> 2] = (c[xb >> 2] | 0) + 1;
  59056. }
  59057. if (($b | 0) == 118) {
  59058. c[cb >> 2] = c[Cb >> 2];
  59059. Nb = c[cb >> 2] | 0;
  59060. l = m;
  59061. return Nb | 0;
  59062. }
  59063. if ((c[xb >> 2] | 0) < (c[ib >> 2] | 0)) {
  59064. c[cb >> 2] = -20;
  59065. Nb = c[cb >> 2] | 0;
  59066. l = m;
  59067. return Nb | 0;
  59068. }
  59069. c[xb >> 2] = (c[xb >> 2] | 0) - (c[vb >> 2] | 0);
  59070. while (1) {
  59071. if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
  59072. Kb = c[ob >> 2] | 0;
  59073. Lb = c[nb >> 2] | 0;
  59074. gb = c[qb >> 2] | 0;
  59075. hb = c[rb >> 2] | 0;
  59076. eb = c[sb >> 2] | 0;
  59077. fb = c[tb >> 2] | 0;
  59078. Yb = F;
  59079. Zb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
  59080. _b = (Yb + 16) | 0;
  59081. do {
  59082. a[Yb >> 0] = a[Zb >> 0] | 0;
  59083. Yb = (Yb + 1) | 0;
  59084. Zb = (Zb + 1) | 0;
  59085. } while ((Yb | 0) < (_b | 0));
  59086. c[p >> 2] = Kb;
  59087. c[q >> 2] = Lb;
  59088. c[r >> 2] = pb;
  59089. c[s >> 2] = gb;
  59090. c[t >> 2] = hb;
  59091. c[u >> 2] = eb;
  59092. c[v >> 2] = fb;
  59093. c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
  59094. c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
  59095. c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
  59096. c[z >> 2] = (c[q >> 2] | 0) + -8;
  59097. c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
  59098. c[B >> 2] = c[(F + 12) >> 2];
  59099. d: do {
  59100. if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
  59101. c[o >> 2] = -70;
  59102. else {
  59103. if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  59104. c[o >> 2] = -20;
  59105. break;
  59106. }
  59107. Jb = c[p >> 2] | 0;
  59108. if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
  59109. Mb = c[q >> 2] | 0;
  59110. j = c[r >> 2] | 0;
  59111. Gb = c[s >> 2] | 0;
  59112. k = c[t >> 2] | 0;
  59113. Hb = c[u >> 2] | 0;
  59114. Ib = c[v >> 2] | 0;
  59115. c[n >> 2] = c[F >> 2];
  59116. c[(n + 4) >> 2] = c[(F + 4) >> 2];
  59117. c[(n + 8) >> 2] = c[(F + 8) >> 2];
  59118. c[(n + 12) >> 2] = c[(F + 12) >> 2];
  59119. c[o >> 2] = Pr(Jb, Mb, n, j, Gb, k, Hb, Ib) | 0;
  59120. break;
  59121. }
  59122. Qr(Jb, c[c[r >> 2] >> 2] | 0);
  59123. if ((c[F >> 2] | 0) >>> 0 > 8)
  59124. Rr(
  59125. ((c[p >> 2] | 0) + 8) | 0,
  59126. ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
  59127. ((c[F >> 2] | 0) - 8) | 0
  59128. );
  59129. c[p >> 2] = c[w >> 2];
  59130. c[c[r >> 2] >> 2] = c[A >> 2];
  59131. do {
  59132. if (
  59133. (c[(F + 8) >> 2] | 0) >>> 0 >
  59134. (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
  59135. ) {
  59136. if (
  59137. (c[(F + 8) >> 2] | 0) >>> 0 >
  59138. (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
  59139. 0
  59140. ) {
  59141. c[o >> 2] = -20;
  59142. break d;
  59143. }
  59144. if (
  59145. (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
  59146. 0) >>>
  59147. 0 <=
  59148. (c[v >> 2] | 0) >>> 0
  59149. ) {
  59150. nE(
  59151. c[w >> 2] | 0,
  59152. c[B >> 2] | 0,
  59153. c[(F + 4) >> 2] | 0
  59154. ) | 0;
  59155. c[o >> 2] = c[x >> 2];
  59156. break d;
  59157. }
  59158. c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
  59159. nE(
  59160. c[w >> 2] | 0,
  59161. c[B >> 2] | 0,
  59162. c[C >> 2] | 0
  59163. ) | 0;
  59164. c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
  59165. Jb = (F + 4) | 0;
  59166. c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[C >> 2] | 0);
  59167. c[B >> 2] = c[t >> 2];
  59168. if (
  59169. (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
  59170. ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
  59171. : 0
  59172. )
  59173. break;
  59174. c[D >> 2] = 0;
  59175. while (1) {
  59176. if (
  59177. (c[D >> 2] | 0) >>> 0 >=
  59178. (c[(F + 4) >> 2] | 0) >>> 0
  59179. )
  59180. break;
  59181. a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
  59182. a[
  59183. ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
  59184. ] | 0;
  59185. c[D >> 2] = (c[D >> 2] | 0) + 1;
  59186. }
  59187. c[o >> 2] = c[x >> 2];
  59188. break d;
  59189. }
  59190. } while (0);
  59191. if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
  59192. c[E >> 2] =
  59193. c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
  59194. a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
  59195. a[((c[p >> 2] | 0) + 1) >> 0] =
  59196. a[((c[B >> 2] | 0) + 1) >> 0] | 0;
  59197. a[((c[p >> 2] | 0) + 2) >> 0] =
  59198. a[((c[B >> 2] | 0) + 2) >> 0] | 0;
  59199. a[((c[p >> 2] | 0) + 3) >> 0] =
  59200. a[((c[B >> 2] | 0) + 3) >> 0] | 0;
  59201. c[B >> 2] =
  59202. (c[B >> 2] | 0) +
  59203. (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
  59204. Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
  59205. c[B >> 2] =
  59206. (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
  59207. } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
  59208. c[p >> 2] = (c[p >> 2] | 0) + 8;
  59209. c[B >> 2] = (c[B >> 2] | 0) + 8;
  59210. Jb = c[p >> 2] | 0;
  59211. e: do {
  59212. if (
  59213. (c[y >> 2] | 0) >>> 0 >
  59214. (((c[q >> 2] | 0) + -13) | 0) >>> 0
  59215. ) {
  59216. if (Jb >>> 0 < (c[z >> 2] | 0) >>> 0) {
  59217. Rr(
  59218. c[p >> 2] | 0,
  59219. c[B >> 2] | 0,
  59220. ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
  59221. );
  59222. c[B >> 2] =
  59223. (c[B >> 2] | 0) +
  59224. ((c[z >> 2] | 0) - (c[p >> 2] | 0));
  59225. c[p >> 2] = c[z >> 2];
  59226. }
  59227. while (1) {
  59228. if (
  59229. (c[p >> 2] | 0) >>> 0 >=
  59230. (c[y >> 2] | 0) >>> 0
  59231. )
  59232. break e;
  59233. Ib = c[B >> 2] | 0;
  59234. c[B >> 2] = Ib + 1;
  59235. Hb = a[Ib >> 0] | 0;
  59236. Ib = c[p >> 2] | 0;
  59237. c[p >> 2] = Ib + 1;
  59238. a[Ib >> 0] = Hb;
  59239. }
  59240. } else
  59241. Rr(
  59242. Jb,
  59243. c[B >> 2] | 0,
  59244. ((c[(F + 4) >> 2] | 0) - 8) | 0
  59245. );
  59246. } while (0);
  59247. c[o >> 2] = c[x >> 2];
  59248. }
  59249. } while (0);
  59250. c[Db >> 2] = c[o >> 2];
  59251. fb = ($q(c[Db >> 2] | 0) | 0) != 0;
  59252. ac = c[Db >> 2] | 0;
  59253. if (fb) {
  59254. $b = 155;
  59255. break;
  59256. }
  59257. c[ob >> 2] = (c[ob >> 2] | 0) + ac;
  59258. c[xb >> 2] = (c[xb >> 2] | 0) + 1;
  59259. }
  59260. if (($b | 0) == 155) {
  59261. c[cb >> 2] = ac;
  59262. Nb = c[cb >> 2] | 0;
  59263. l = m;
  59264. return Nb | 0;
  59265. }
  59266. c[Eb >> 2] = 0;
  59267. while (1) {
  59268. if ((c[Eb >> 2] | 0) >>> 0 >= 3) break a;
  59269. c[
  59270. ((c[db >> 2] | 0) + 16 + 28700 + (c[Eb >> 2] << 2)) >>
  59271. 2
  59272. ] = c[(wb + 44 + (c[Eb >> 2] << 2)) >> 2];
  59273. c[Eb >> 2] = (c[Eb >> 2] | 0) + 1;
  59274. }
  59275. }
  59276. } while (0);
  59277. c[Fb >> 2] = (c[qb >> 2] | 0) - (c[pb >> 2] | 0);
  59278. if (
  59279. (c[Fb >> 2] | 0) >>> 0 >
  59280. (((c[nb >> 2] | 0) - (c[ob >> 2] | 0)) | 0) >>> 0
  59281. ) {
  59282. c[cb >> 2] = -70;
  59283. Nb = c[cb >> 2] | 0;
  59284. l = m;
  59285. return Nb | 0;
  59286. } else {
  59287. mE(c[ob >> 2] | 0, c[pb >> 2] | 0, c[Fb >> 2] | 0) | 0;
  59288. c[ob >> 2] = (c[ob >> 2] | 0) + (c[Fb >> 2] | 0);
  59289. c[cb >> 2] = (c[ob >> 2] | 0) - (c[mb >> 2] | 0);
  59290. Nb = c[cb >> 2] | 0;
  59291. l = m;
  59292. return Nb | 0;
  59293. }
  59294. return 0;
  59295. }
  59296. function Zr(a, b, d, e, f, g, h) {
  59297. a = a | 0;
  59298. b = b | 0;
  59299. d = d | 0;
  59300. e = e | 0;
  59301. f = f | 0;
  59302. g = g | 0;
  59303. h = h | 0;
  59304. var i = 0,
  59305. j = 0,
  59306. k = 0,
  59307. m = 0,
  59308. n = 0,
  59309. o = 0,
  59310. p = 0,
  59311. q = 0;
  59312. i = l;
  59313. l = (l + 32) | 0;
  59314. j = (i + 24) | 0;
  59315. k = (i + 20) | 0;
  59316. m = (i + 16) | 0;
  59317. n = (i + 12) | 0;
  59318. o = (i + 8) | 0;
  59319. p = (i + 4) | 0;
  59320. q = i;
  59321. c[j >> 2] = a;
  59322. c[k >> 2] = b;
  59323. c[m >> 2] = d;
  59324. c[n >> 2] = e;
  59325. c[o >> 2] = f;
  59326. c[p >> 2] = g;
  59327. c[q >> 2] = h;
  59328. h =
  59329. _r(
  59330. c[j >> 2] | 0,
  59331. c[k >> 2] | 0,
  59332. c[m >> 2] | 0,
  59333. c[n >> 2] | 0,
  59334. c[o >> 2] | 0,
  59335. c[p >> 2] | 0,
  59336. c[q >> 2] | 0,
  59337. 0
  59338. ) | 0;
  59339. l = i;
  59340. return h | 0;
  59341. }
  59342. function _r(a, b, d, e, f, g, h, i) {
  59343. a = a | 0;
  59344. b = b | 0;
  59345. d = d | 0;
  59346. e = e | 0;
  59347. f = f | 0;
  59348. g = g | 0;
  59349. h = h | 0;
  59350. i = i | 0;
  59351. var j = 0,
  59352. k = 0,
  59353. m = 0,
  59354. n = 0,
  59355. o = 0,
  59356. p = 0,
  59357. q = 0,
  59358. r = 0,
  59359. s = 0,
  59360. t = 0,
  59361. u = 0,
  59362. v = 0,
  59363. w = 0,
  59364. x = 0,
  59365. y = 0,
  59366. z = 0,
  59367. A = 0,
  59368. B = 0,
  59369. C = 0,
  59370. D = 0;
  59371. j = l;
  59372. l = (l + 80) | 0;
  59373. k = (j + 64) | 0;
  59374. m = (j + 60) | 0;
  59375. n = (j + 56) | 0;
  59376. o = (j + 52) | 0;
  59377. p = (j + 48) | 0;
  59378. q = (j + 44) | 0;
  59379. r = (j + 40) | 0;
  59380. s = (j + 36) | 0;
  59381. t = (j + 32) | 0;
  59382. u = (j + 28) | 0;
  59383. v = (j + 24) | 0;
  59384. w = (j + 20) | 0;
  59385. x = (j + 16) | 0;
  59386. y = (j + 12) | 0;
  59387. z = (j + 8) | 0;
  59388. A = (j + 4) | 0;
  59389. B = j;
  59390. c[m >> 2] = a;
  59391. c[n >> 2] = b;
  59392. c[o >> 2] = d;
  59393. c[p >> 2] = e;
  59394. c[q >> 2] = f;
  59395. c[r >> 2] = g;
  59396. c[s >> 2] = h;
  59397. c[t >> 2] = i;
  59398. c[u >> 2] = c[n >> 2];
  59399. if (c[t >> 2] | 0) {
  59400. c[r >> 2] = $r(c[t >> 2] | 0) | 0;
  59401. c[s >> 2] = as(c[t >> 2] | 0) | 0;
  59402. }
  59403. while (1) {
  59404. if ((c[q >> 2] | 0) >>> 0 < 5) {
  59405. C = 27;
  59406. break;
  59407. }
  59408. i = (iq(c[p >> 2] | 0, c[q >> 2] | 0) | 0) != 0;
  59409. h = c[p >> 2] | 0;
  59410. if (i) {
  59411. c[x >> 2] = ar(h, c[q >> 2] | 0) | 0;
  59412. if ($q(c[x >> 2] | 0) | 0) {
  59413. C = 7;
  59414. break;
  59415. }
  59416. if (c[((c[m >> 2] | 0) + 28940) >> 2] | 0) {
  59417. C = 9;
  59418. break;
  59419. }
  59420. c[w >> 2] =
  59421. bs(
  59422. c[n >> 2] | 0,
  59423. c[o >> 2] | 0,
  59424. c[p >> 2] | 0,
  59425. c[x >> 2] | 0,
  59426. c[r >> 2] | 0,
  59427. c[s >> 2] | 0
  59428. ) | 0;
  59429. c[n >> 2] = (c[n >> 2] | 0) + (c[w >> 2] | 0);
  59430. c[o >> 2] = (c[o >> 2] | 0) - (c[w >> 2] | 0);
  59431. c[p >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
  59432. c[q >> 2] = (c[q >> 2] | 0) - (c[x >> 2] | 0);
  59433. continue;
  59434. }
  59435. c[v >> 2] = hq(h) | 0;
  59436. if ((c[v >> 2] | 0) != -47205080) {
  59437. if (((c[v >> 2] & -16) | 0) != 407710288) {
  59438. C = 18;
  59439. break;
  59440. }
  59441. if ((c[q >> 2] | 0) >>> 0 < 8) {
  59442. C = 14;
  59443. break;
  59444. }
  59445. c[y >> 2] = (hq(((c[p >> 2] | 0) + 4) | 0) | 0) + 8;
  59446. if ((c[q >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0) {
  59447. C = 16;
  59448. break;
  59449. }
  59450. c[p >> 2] = (c[p >> 2] | 0) + (c[y >> 2] | 0);
  59451. c[q >> 2] = (c[q >> 2] | 0) - (c[y >> 2] | 0);
  59452. continue;
  59453. }
  59454. h = c[m >> 2] | 0;
  59455. if (c[t >> 2] | 0) {
  59456. c[z >> 2] = cs(h, c[t >> 2] | 0) | 0;
  59457. if ($q(c[z >> 2] | 0) | 0) {
  59458. C = 21;
  59459. break;
  59460. }
  59461. } else {
  59462. c[A >> 2] = ds(h, c[r >> 2] | 0, c[s >> 2] | 0) | 0;
  59463. if ($q(c[A >> 2] | 0) | 0) {
  59464. C = 23;
  59465. break;
  59466. }
  59467. }
  59468. Br(c[m >> 2] | 0, c[n >> 2] | 0);
  59469. c[B >> 2] =
  59470. es(c[m >> 2] | 0, c[n >> 2] | 0, c[o >> 2] | 0, p, q) | 0;
  59471. if ($q(c[B >> 2] | 0) | 0) {
  59472. C = 25;
  59473. break;
  59474. }
  59475. c[n >> 2] = (c[n >> 2] | 0) + (c[B >> 2] | 0);
  59476. c[o >> 2] = (c[o >> 2] | 0) - (c[B >> 2] | 0);
  59477. }
  59478. if ((C | 0) == 7) {
  59479. c[k >> 2] = c[x >> 2];
  59480. D = c[k >> 2] | 0;
  59481. l = j;
  59482. return D | 0;
  59483. } else if ((C | 0) == 9) {
  59484. c[k >> 2] = -64;
  59485. D = c[k >> 2] | 0;
  59486. l = j;
  59487. return D | 0;
  59488. } else if ((C | 0) == 14) {
  59489. c[k >> 2] = -72;
  59490. D = c[k >> 2] | 0;
  59491. l = j;
  59492. return D | 0;
  59493. } else if ((C | 0) == 16) {
  59494. c[k >> 2] = -72;
  59495. D = c[k >> 2] | 0;
  59496. l = j;
  59497. return D | 0;
  59498. } else if ((C | 0) == 18) {
  59499. c[k >> 2] = -10;
  59500. D = c[k >> 2] | 0;
  59501. l = j;
  59502. return D | 0;
  59503. } else if ((C | 0) == 21) {
  59504. c[k >> 2] = c[z >> 2];
  59505. D = c[k >> 2] | 0;
  59506. l = j;
  59507. return D | 0;
  59508. } else if ((C | 0) == 23) {
  59509. c[k >> 2] = c[A >> 2];
  59510. D = c[k >> 2] | 0;
  59511. l = j;
  59512. return D | 0;
  59513. } else if ((C | 0) == 25) {
  59514. c[k >> 2] = c[B >> 2];
  59515. D = c[k >> 2] | 0;
  59516. l = j;
  59517. return D | 0;
  59518. } else if ((C | 0) == 27)
  59519. if (c[q >> 2] | 0) {
  59520. c[k >> 2] = -72;
  59521. D = c[k >> 2] | 0;
  59522. l = j;
  59523. return D | 0;
  59524. } else {
  59525. c[k >> 2] = (c[n >> 2] | 0) - (c[u >> 2] | 0);
  59526. D = c[k >> 2] | 0;
  59527. l = j;
  59528. return D | 0;
  59529. }
  59530. return 0;
  59531. }
  59532. function $r(a) {
  59533. a = a | 0;
  59534. var b = 0,
  59535. d = 0;
  59536. b = l;
  59537. l = (l + 16) | 0;
  59538. d = b;
  59539. c[d >> 2] = a;
  59540. l = b;
  59541. return c[((c[d >> 2] | 0) + 4) >> 2] | 0;
  59542. }
  59543. function as(a) {
  59544. a = a | 0;
  59545. var b = 0,
  59546. d = 0;
  59547. b = l;
  59548. l = (l + 16) | 0;
  59549. d = b;
  59550. c[d >> 2] = a;
  59551. l = b;
  59552. return c[((c[d >> 2] | 0) + 8) >> 2] | 0;
  59553. }
  59554. function bs(a, b, d, e, f, g) {
  59555. a = a | 0;
  59556. b = b | 0;
  59557. d = d | 0;
  59558. e = e | 0;
  59559. f = f | 0;
  59560. g = g | 0;
  59561. var h = 0,
  59562. i = 0,
  59563. j = 0,
  59564. k = 0,
  59565. m = 0,
  59566. n = 0,
  59567. o = 0,
  59568. p = 0,
  59569. q = 0,
  59570. r = 0,
  59571. s = 0,
  59572. t = 0,
  59573. u = 0,
  59574. v = 0,
  59575. w = 0,
  59576. x = 0;
  59577. h = l;
  59578. l = (l + 64) | 0;
  59579. i = (h + 52) | 0;
  59580. j = (h + 48) | 0;
  59581. k = (h + 44) | 0;
  59582. m = (h + 40) | 0;
  59583. n = (h + 36) | 0;
  59584. o = (h + 32) | 0;
  59585. p = (h + 28) | 0;
  59586. q = (h + 24) | 0;
  59587. r = (h + 20) | 0;
  59588. s = (h + 16) | 0;
  59589. t = (h + 12) | 0;
  59590. u = (h + 8) | 0;
  59591. v = (h + 4) | 0;
  59592. w = h;
  59593. c[j >> 2] = a;
  59594. c[k >> 2] = b;
  59595. c[m >> 2] = d;
  59596. c[n >> 2] = e;
  59597. c[o >> 2] = f;
  59598. c[p >> 2] = g;
  59599. c[q >> 2] = iq(c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  59600. switch (c[q >> 2] | 0) {
  59601. case 4: {
  59602. c[i >> 2] =
  59603. ms(
  59604. c[j >> 2] | 0,
  59605. c[k >> 2] | 0,
  59606. c[m >> 2] | 0,
  59607. c[n >> 2] | 0
  59608. ) | 0;
  59609. x = c[i >> 2] | 0;
  59610. l = h;
  59611. return x | 0;
  59612. }
  59613. case 5: {
  59614. c[s >> 2] = ns() | 0;
  59615. if (!(c[s >> 2] | 0)) {
  59616. c[i >> 2] = -64;
  59617. x = c[i >> 2] | 0;
  59618. l = h;
  59619. return x | 0;
  59620. } else {
  59621. c[r >> 2] =
  59622. os(
  59623. c[s >> 2] | 0,
  59624. c[j >> 2] | 0,
  59625. c[k >> 2] | 0,
  59626. c[m >> 2] | 0,
  59627. c[n >> 2] | 0,
  59628. c[o >> 2] | 0,
  59629. c[p >> 2] | 0
  59630. ) | 0;
  59631. eq(c[s >> 2] | 0) | 0;
  59632. c[i >> 2] = c[r >> 2];
  59633. x = c[i >> 2] | 0;
  59634. l = h;
  59635. return x | 0;
  59636. }
  59637. break;
  59638. }
  59639. case 6: {
  59640. c[u >> 2] = ps() | 0;
  59641. if (!(c[u >> 2] | 0)) {
  59642. c[i >> 2] = -64;
  59643. x = c[i >> 2] | 0;
  59644. l = h;
  59645. return x | 0;
  59646. } else {
  59647. c[t >> 2] =
  59648. qs(
  59649. c[u >> 2] | 0,
  59650. c[j >> 2] | 0,
  59651. c[k >> 2] | 0,
  59652. c[m >> 2] | 0,
  59653. c[n >> 2] | 0,
  59654. c[o >> 2] | 0,
  59655. c[p >> 2] | 0
  59656. ) | 0;
  59657. dq(c[u >> 2] | 0) | 0;
  59658. c[i >> 2] = c[t >> 2];
  59659. x = c[i >> 2] | 0;
  59660. l = h;
  59661. return x | 0;
  59662. }
  59663. break;
  59664. }
  59665. case 7: {
  59666. c[w >> 2] = rs() | 0;
  59667. if (!(c[w >> 2] | 0)) {
  59668. c[i >> 2] = -64;
  59669. x = c[i >> 2] | 0;
  59670. l = h;
  59671. return x | 0;
  59672. } else {
  59673. c[v >> 2] =
  59674. ss(
  59675. c[w >> 2] | 0,
  59676. c[j >> 2] | 0,
  59677. c[k >> 2] | 0,
  59678. c[m >> 2] | 0,
  59679. c[n >> 2] | 0,
  59680. c[o >> 2] | 0,
  59681. c[p >> 2] | 0
  59682. ) | 0;
  59683. cq(c[w >> 2] | 0) | 0;
  59684. c[i >> 2] = c[v >> 2];
  59685. x = c[i >> 2] | 0;
  59686. l = h;
  59687. return x | 0;
  59688. }
  59689. break;
  59690. }
  59691. default: {
  59692. c[i >> 2] = -10;
  59693. x = c[i >> 2] | 0;
  59694. l = h;
  59695. return x | 0;
  59696. }
  59697. }
  59698. return 0;
  59699. }
  59700. function cs(a, b) {
  59701. a = a | 0;
  59702. b = b | 0;
  59703. var d = 0,
  59704. e = 0,
  59705. f = 0,
  59706. g = 0,
  59707. h = 0,
  59708. i = 0;
  59709. d = l;
  59710. l = (l + 16) | 0;
  59711. e = (d + 12) | 0;
  59712. f = (d + 8) | 0;
  59713. g = (d + 4) | 0;
  59714. h = d;
  59715. c[f >> 2] = a;
  59716. c[g >> 2] = b;
  59717. c[h >> 2] = is(c[f >> 2] | 0) | 0;
  59718. if ($q(c[h >> 2] | 0) | 0) {
  59719. c[e >> 2] = c[h >> 2];
  59720. i = c[e >> 2] | 0;
  59721. l = d;
  59722. return i | 0;
  59723. }
  59724. do {
  59725. if (c[g >> 2] | 0) {
  59726. c[((c[f >> 2] | 0) + 28908) >> 2] =
  59727. c[((c[g >> 2] | 0) + 28724) >> 2];
  59728. c[((c[f >> 2] | 0) + 28732) >> 2] =
  59729. c[((c[g >> 2] | 0) + 4) >> 2];
  59730. c[((c[f >> 2] | 0) + 28736) >> 2] =
  59731. c[((c[g >> 2] | 0) + 4) >> 2];
  59732. c[((c[f >> 2] | 0) + 28740) >> 2] =
  59733. (c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
  59734. (c[((c[g >> 2] | 0) + 8) >> 2] | 0);
  59735. c[((c[f >> 2] | 0) + 28728) >> 2] =
  59736. c[((c[f >> 2] | 0) + 28740) >> 2];
  59737. h = ((c[f >> 2] | 0) + 28808) | 0;
  59738. if (c[((c[g >> 2] | 0) + 28728) >> 2] | 0) {
  59739. c[h >> 2] = 1;
  59740. c[((c[f >> 2] | 0) + 28812) >> 2] = 1;
  59741. c[c[f >> 2] >> 2] = (c[g >> 2] | 0) + 12;
  59742. c[((c[f >> 2] | 0) + 4) >> 2] =
  59743. (c[g >> 2] | 0) + 12 + 6160;
  59744. c[((c[f >> 2] | 0) + 8) >> 2] =
  59745. (c[g >> 2] | 0) + 12 + 4104;
  59746. c[((c[f >> 2] | 0) + 12) >> 2] =
  59747. (c[g >> 2] | 0) + 12 + 10264;
  59748. c[((c[f >> 2] | 0) + 16 + 28700) >> 2] =
  59749. c[((c[g >> 2] | 0) + 12 + 28700) >> 2];
  59750. c[((c[f >> 2] | 0) + 16 + 28700 + 4) >> 2] =
  59751. c[((c[g >> 2] | 0) + 12 + 28700 + 4) >> 2];
  59752. c[((c[f >> 2] | 0) + 16 + 28700 + 8) >> 2] =
  59753. c[((c[g >> 2] | 0) + 12 + 28700 + 8) >> 2];
  59754. break;
  59755. } else {
  59756. c[h >> 2] = 0;
  59757. c[((c[f >> 2] | 0) + 28812) >> 2] = 0;
  59758. break;
  59759. }
  59760. }
  59761. } while (0);
  59762. c[e >> 2] = 0;
  59763. i = c[e >> 2] | 0;
  59764. l = d;
  59765. return i | 0;
  59766. }
  59767. function ds(a, b, d) {
  59768. a = a | 0;
  59769. b = b | 0;
  59770. d = d | 0;
  59771. var e = 0,
  59772. f = 0,
  59773. g = 0,
  59774. h = 0,
  59775. i = 0,
  59776. j = 0,
  59777. k = 0,
  59778. m = 0;
  59779. e = l;
  59780. l = (l + 32) | 0;
  59781. f = (e + 20) | 0;
  59782. g = (e + 16) | 0;
  59783. h = (e + 12) | 0;
  59784. i = (e + 8) | 0;
  59785. j = (e + 4) | 0;
  59786. k = e;
  59787. c[g >> 2] = a;
  59788. c[h >> 2] = b;
  59789. c[i >> 2] = d;
  59790. c[j >> 2] = is(c[g >> 2] | 0) | 0;
  59791. if ($q(c[j >> 2] | 0) | 0) {
  59792. c[f >> 2] = c[j >> 2];
  59793. m = c[f >> 2] | 0;
  59794. l = e;
  59795. return m | 0;
  59796. }
  59797. if (
  59798. ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
  59799. ? ((c[k >> 2] =
  59800. js(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
  59801. $q(c[k >> 2] | 0) | 0)
  59802. : 0
  59803. ) {
  59804. c[f >> 2] = -30;
  59805. m = c[f >> 2] | 0;
  59806. l = e;
  59807. return m | 0;
  59808. }
  59809. c[f >> 2] = 0;
  59810. m = c[f >> 2] | 0;
  59811. l = e;
  59812. return m | 0;
  59813. }
  59814. function es(b, d, e, f, g) {
  59815. b = b | 0;
  59816. d = d | 0;
  59817. e = e | 0;
  59818. f = f | 0;
  59819. g = g | 0;
  59820. var h = 0,
  59821. i = 0,
  59822. j = 0,
  59823. k = 0,
  59824. m = 0,
  59825. n = 0,
  59826. o = 0,
  59827. p = 0,
  59828. q = 0,
  59829. r = 0,
  59830. s = 0,
  59831. t = 0,
  59832. u = 0,
  59833. v = 0,
  59834. w = 0,
  59835. x = 0,
  59836. y = 0,
  59837. z = 0,
  59838. A = 0,
  59839. B = 0,
  59840. C = 0;
  59841. h = l;
  59842. l = (l + 80) | 0;
  59843. i = (h + 76) | 0;
  59844. j = (h + 72) | 0;
  59845. k = (h + 68) | 0;
  59846. m = (h + 64) | 0;
  59847. n = (h + 60) | 0;
  59848. o = (h + 56) | 0;
  59849. p = (h + 52) | 0;
  59850. q = (h + 48) | 0;
  59851. r = (h + 44) | 0;
  59852. s = (h + 40) | 0;
  59853. t = (h + 36) | 0;
  59854. u = (h + 32) | 0;
  59855. v = (h + 28) | 0;
  59856. w = (h + 24) | 0;
  59857. x = (h + 12) | 0;
  59858. y = (h + 8) | 0;
  59859. z = (h + 4) | 0;
  59860. A = h;
  59861. c[j >> 2] = b;
  59862. c[k >> 2] = d;
  59863. c[m >> 2] = e;
  59864. c[n >> 2] = f;
  59865. c[o >> 2] = g;
  59866. c[p >> 2] = c[c[n >> 2] >> 2];
  59867. c[q >> 2] = c[k >> 2];
  59868. c[r >> 2] = (c[q >> 2] | 0) + (c[m >> 2] | 0);
  59869. c[s >> 2] = c[q >> 2];
  59870. c[t >> 2] = c[c[o >> 2] >> 2];
  59871. if ((c[t >> 2] | 0) >>> 0 < 9) {
  59872. c[i >> 2] = -72;
  59873. B = c[i >> 2] | 0;
  59874. l = h;
  59875. return B | 0;
  59876. }
  59877. c[u >> 2] = mq(c[p >> 2] | 0, 5) | 0;
  59878. if ($q(c[u >> 2] | 0) | 0) {
  59879. c[i >> 2] = c[u >> 2];
  59880. B = c[i >> 2] | 0;
  59881. l = h;
  59882. return B | 0;
  59883. }
  59884. if (
  59885. (c[t >> 2] | 0) >>> 0 <
  59886. (((c[u >> 2] | 0) + 3) | 0) >>> 0
  59887. ) {
  59888. c[i >> 2] = -72;
  59889. B = c[i >> 2] | 0;
  59890. l = h;
  59891. return B | 0;
  59892. }
  59893. c[v >> 2] =
  59894. fs(c[j >> 2] | 0, c[p >> 2] | 0, c[u >> 2] | 0) | 0;
  59895. if ($q(c[v >> 2] | 0) | 0) {
  59896. c[i >> 2] = c[v >> 2];
  59897. B = c[i >> 2] | 0;
  59898. l = h;
  59899. return B | 0;
  59900. }
  59901. c[p >> 2] = (c[p >> 2] | 0) + (c[u >> 2] | 0);
  59902. c[t >> 2] = (c[t >> 2] | 0) - (c[u >> 2] | 0);
  59903. a: while (1) {
  59904. c[y >> 2] = br(c[p >> 2] | 0, c[t >> 2] | 0, x) | 0;
  59905. if ($q(c[y >> 2] | 0) | 0) {
  59906. C = 11;
  59907. break;
  59908. }
  59909. c[p >> 2] = (c[p >> 2] | 0) + 3;
  59910. c[t >> 2] = (c[t >> 2] | 0) - 3;
  59911. if ((c[y >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  59912. C = 13;
  59913. break;
  59914. }
  59915. switch (c[x >> 2] | 0) {
  59916. case 2: {
  59917. c[w >> 2] =
  59918. Cr(
  59919. c[j >> 2] | 0,
  59920. c[s >> 2] | 0,
  59921. ((c[r >> 2] | 0) - (c[s >> 2] | 0)) | 0,
  59922. c[p >> 2] | 0,
  59923. c[y >> 2] | 0,
  59924. 1
  59925. ) | 0;
  59926. break;
  59927. }
  59928. case 0: {
  59929. c[w >> 2] =
  59930. gs(
  59931. c[s >> 2] | 0,
  59932. ((c[r >> 2] | 0) - (c[s >> 2] | 0)) | 0,
  59933. c[p >> 2] | 0,
  59934. c[y >> 2] | 0
  59935. ) | 0;
  59936. break;
  59937. }
  59938. case 1: {
  59939. c[w >> 2] =
  59940. hs(
  59941. c[s >> 2] | 0,
  59942. ((c[r >> 2] | 0) - (c[s >> 2] | 0)) | 0,
  59943. a[c[p >> 2] >> 0] | 0,
  59944. c[(x + 8) >> 2] | 0
  59945. ) | 0;
  59946. break;
  59947. }
  59948. default: {
  59949. C = 18;
  59950. break a;
  59951. }
  59952. }
  59953. if ($q(c[w >> 2] | 0) | 0) {
  59954. C = 20;
  59955. break;
  59956. }
  59957. if (c[((c[j >> 2] | 0) + 28752 + 32) >> 2] | 0)
  59958. Nh(
  59959. ((c[j >> 2] | 0) + 28816) | 0,
  59960. c[s >> 2] | 0,
  59961. c[w >> 2] | 0
  59962. ) | 0;
  59963. c[s >> 2] = (c[s >> 2] | 0) + (c[w >> 2] | 0);
  59964. c[p >> 2] = (c[p >> 2] | 0) + (c[y >> 2] | 0);
  59965. c[t >> 2] = (c[t >> 2] | 0) - (c[y >> 2] | 0);
  59966. if (c[(x + 4) >> 2] | 0) {
  59967. C = 25;
  59968. break;
  59969. }
  59970. }
  59971. if ((C | 0) == 11) {
  59972. c[i >> 2] = c[y >> 2];
  59973. B = c[i >> 2] | 0;
  59974. l = h;
  59975. return B | 0;
  59976. } else if ((C | 0) == 13) {
  59977. c[i >> 2] = -72;
  59978. B = c[i >> 2] | 0;
  59979. l = h;
  59980. return B | 0;
  59981. } else if ((C | 0) == 18) {
  59982. c[i >> 2] = -20;
  59983. B = c[i >> 2] | 0;
  59984. l = h;
  59985. return B | 0;
  59986. } else if ((C | 0) == 20) {
  59987. c[i >> 2] = c[w >> 2];
  59988. B = c[i >> 2] | 0;
  59989. l = h;
  59990. return B | 0;
  59991. } else if ((C | 0) == 25) {
  59992. C = ((c[j >> 2] | 0) + 28752) | 0;
  59993. if (
  59994. ((c[C >> 2] | 0) != -1 ? 1 : (c[(C + 4) >> 2] | 0) != -1)
  59995. ? ((C = ((c[s >> 2] | 0) - (c[q >> 2] | 0)) | 0),
  59996. (w = ((c[j >> 2] | 0) + 28752) | 0),
  59997. (C | 0) != (c[w >> 2] | 0)
  59998. ? 1
  59999. : (((((C | 0) < 0) << 31) >> 31) | 0) !=
  60000. (c[(w + 4) >> 2] | 0))
  60001. : 0
  60002. ) {
  60003. c[i >> 2] = -20;
  60004. B = c[i >> 2] | 0;
  60005. l = h;
  60006. return B | 0;
  60007. }
  60008. do {
  60009. if (c[((c[j >> 2] | 0) + 28752 + 32) >> 2] | 0) {
  60010. w = Oh(((c[j >> 2] | 0) + 28816) | 0) | 0;
  60011. c[z >> 2] = w;
  60012. if ((c[t >> 2] | 0) >>> 0 < 4) {
  60013. c[i >> 2] = -22;
  60014. B = c[i >> 2] | 0;
  60015. l = h;
  60016. return B | 0;
  60017. }
  60018. c[A >> 2] = hq(c[p >> 2] | 0) | 0;
  60019. if ((c[A >> 2] | 0) == (c[z >> 2] | 0)) {
  60020. c[p >> 2] = (c[p >> 2] | 0) + 4;
  60021. c[t >> 2] = (c[t >> 2] | 0) - 4;
  60022. break;
  60023. }
  60024. c[i >> 2] = -22;
  60025. B = c[i >> 2] | 0;
  60026. l = h;
  60027. return B | 0;
  60028. }
  60029. } while (0);
  60030. c[c[n >> 2] >> 2] = c[p >> 2];
  60031. c[c[o >> 2] >> 2] = c[t >> 2];
  60032. c[i >> 2] = (c[s >> 2] | 0) - (c[q >> 2] | 0);
  60033. B = c[i >> 2] | 0;
  60034. l = h;
  60035. return B | 0;
  60036. }
  60037. return 0;
  60038. }
  60039. function fs(a, b, d) {
  60040. a = a | 0;
  60041. b = b | 0;
  60042. d = d | 0;
  60043. var e = 0,
  60044. f = 0,
  60045. g = 0,
  60046. h = 0,
  60047. i = 0,
  60048. j = 0,
  60049. k = 0;
  60050. e = l;
  60051. l = (l + 32) | 0;
  60052. f = (e + 16) | 0;
  60053. g = (e + 12) | 0;
  60054. h = (e + 8) | 0;
  60055. i = (e + 4) | 0;
  60056. j = e;
  60057. c[g >> 2] = a;
  60058. c[h >> 2] = b;
  60059. c[i >> 2] = d;
  60060. c[j >> 2] =
  60061. qq(
  60062. ((c[g >> 2] | 0) + 28752) | 0,
  60063. c[h >> 2] | 0,
  60064. c[i >> 2] | 0,
  60065. c[((c[g >> 2] | 0) + 28912) >> 2] | 0
  60066. ) | 0;
  60067. i = ($q(c[j >> 2] | 0) | 0) != 0;
  60068. h = c[j >> 2] | 0;
  60069. if (i) {
  60070. c[f >> 2] = h;
  60071. k = c[f >> 2] | 0;
  60072. l = e;
  60073. return k | 0;
  60074. }
  60075. if (h >>> 0 > 0) {
  60076. c[f >> 2] = -72;
  60077. k = c[f >> 2] | 0;
  60078. l = e;
  60079. return k | 0;
  60080. }
  60081. if (
  60082. c[((c[g >> 2] | 0) + 28752 + 28) >> 2] | 0
  60083. ? (c[((c[g >> 2] | 0) + 28908) >> 2] | 0) !=
  60084. (c[((c[g >> 2] | 0) + 28752 + 28) >> 2] | 0)
  60085. : 0
  60086. ) {
  60087. c[f >> 2] = -32;
  60088. k = c[f >> 2] | 0;
  60089. l = e;
  60090. return k | 0;
  60091. }
  60092. if (c[((c[g >> 2] | 0) + 28752 + 32) >> 2] | 0)
  60093. Lh(((c[g >> 2] | 0) + 28816) | 0, 0, 0) | 0;
  60094. c[f >> 2] = 0;
  60095. k = c[f >> 2] | 0;
  60096. l = e;
  60097. return k | 0;
  60098. }
  60099. function gs(a, b, d, e) {
  60100. a = a | 0;
  60101. b = b | 0;
  60102. d = d | 0;
  60103. e = e | 0;
  60104. var f = 0,
  60105. g = 0,
  60106. h = 0,
  60107. i = 0,
  60108. j = 0,
  60109. k = 0,
  60110. m = 0;
  60111. f = l;
  60112. l = (l + 32) | 0;
  60113. g = (f + 16) | 0;
  60114. h = (f + 12) | 0;
  60115. i = (f + 8) | 0;
  60116. j = (f + 4) | 0;
  60117. k = f;
  60118. c[h >> 2] = a;
  60119. c[i >> 2] = b;
  60120. c[j >> 2] = d;
  60121. c[k >> 2] = e;
  60122. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  60123. c[g >> 2] = -70;
  60124. m = c[g >> 2] | 0;
  60125. l = f;
  60126. return m | 0;
  60127. } else {
  60128. mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  60129. c[g >> 2] = c[k >> 2];
  60130. m = c[g >> 2] | 0;
  60131. l = f;
  60132. return m | 0;
  60133. }
  60134. return 0;
  60135. }
  60136. function hs(b, e, f, g) {
  60137. b = b | 0;
  60138. e = e | 0;
  60139. f = f | 0;
  60140. g = g | 0;
  60141. var h = 0,
  60142. i = 0,
  60143. j = 0,
  60144. k = 0,
  60145. m = 0,
  60146. n = 0,
  60147. o = 0;
  60148. h = l;
  60149. l = (l + 32) | 0;
  60150. i = (h + 12) | 0;
  60151. j = (h + 8) | 0;
  60152. k = (h + 4) | 0;
  60153. m = (h + 16) | 0;
  60154. n = h;
  60155. c[j >> 2] = b;
  60156. c[k >> 2] = e;
  60157. a[m >> 0] = f;
  60158. c[n >> 2] = g;
  60159. if ((c[n >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) {
  60160. c[i >> 2] = -70;
  60161. o = c[i >> 2] | 0;
  60162. l = h;
  60163. return o | 0;
  60164. } else {
  60165. oE(
  60166. c[j >> 2] | 0,
  60167. ((d[m >> 0] | 0) & 255) | 0,
  60168. c[n >> 2] | 0
  60169. ) | 0;
  60170. c[i >> 2] = c[n >> 2];
  60171. o = c[i >> 2] | 0;
  60172. l = h;
  60173. return o | 0;
  60174. }
  60175. return 0;
  60176. }
  60177. function is(a) {
  60178. a = a | 0;
  60179. var b = 0,
  60180. d = 0;
  60181. b = l;
  60182. l = (l + 16) | 0;
  60183. d = b;
  60184. c[d >> 2] = a;
  60185. a = oq(c[((c[d >> 2] | 0) + 28912) >> 2] | 0) | 0;
  60186. c[((c[d >> 2] | 0) + 28744) >> 2] = a;
  60187. c[((c[d >> 2] | 0) + 28804) >> 2] = 0;
  60188. a = ((c[d >> 2] | 0) + 28792) | 0;
  60189. c[a >> 2] = 0;
  60190. c[(a + 4) >> 2] = 0;
  60191. c[((c[d >> 2] | 0) + 28728) >> 2] = 0;
  60192. c[((c[d >> 2] | 0) + 28732) >> 2] = 0;
  60193. c[((c[d >> 2] | 0) + 28736) >> 2] = 0;
  60194. c[((c[d >> 2] | 0) + 28740) >> 2] = 0;
  60195. c[((c[d >> 2] | 0) + 16 + 10264) >> 2] = 201326604;
  60196. c[((c[d >> 2] | 0) + 28812) >> 2] = 0;
  60197. c[((c[d >> 2] | 0) + 28808) >> 2] = 0;
  60198. c[((c[d >> 2] | 0) + 28908) >> 2] = 0;
  60199. a = ((c[d >> 2] | 0) + 16 + 28700) | 0;
  60200. c[a >> 2] = c[2985];
  60201. c[(a + 4) >> 2] = c[2986];
  60202. c[(a + 8) >> 2] = c[2987];
  60203. c[c[d >> 2] >> 2] = (c[d >> 2] | 0) + 16;
  60204. c[((c[d >> 2] | 0) + 4) >> 2] = (c[d >> 2] | 0) + 16 + 6160;
  60205. c[((c[d >> 2] | 0) + 8) >> 2] = (c[d >> 2] | 0) + 16 + 4104;
  60206. c[((c[d >> 2] | 0) + 12) >> 2] = (c[d >> 2] | 0) + 16 + 10264;
  60207. l = b;
  60208. return 0;
  60209. }
  60210. function js(a, b, d) {
  60211. a = a | 0;
  60212. b = b | 0;
  60213. d = d | 0;
  60214. var e = 0,
  60215. f = 0,
  60216. g = 0,
  60217. h = 0,
  60218. i = 0,
  60219. j = 0,
  60220. k = 0,
  60221. m = 0;
  60222. e = l;
  60223. l = (l + 32) | 0;
  60224. f = (e + 20) | 0;
  60225. g = (e + 16) | 0;
  60226. h = (e + 12) | 0;
  60227. i = (e + 8) | 0;
  60228. j = (e + 4) | 0;
  60229. k = e;
  60230. c[g >> 2] = a;
  60231. c[h >> 2] = b;
  60232. c[i >> 2] = d;
  60233. if ((c[i >> 2] | 0) >>> 0 < 8) {
  60234. c[f >> 2] =
  60235. ks(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  60236. m = c[f >> 2] | 0;
  60237. l = e;
  60238. return m | 0;
  60239. }
  60240. c[j >> 2] = hq(c[h >> 2] | 0) | 0;
  60241. if ((c[j >> 2] | 0) != -332356553) {
  60242. c[f >> 2] =
  60243. ks(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  60244. m = c[f >> 2] | 0;
  60245. l = e;
  60246. return m | 0;
  60247. }
  60248. j = hq(((c[h >> 2] | 0) + 4) | 0) | 0;
  60249. c[((c[g >> 2] | 0) + 28908) >> 2] = j;
  60250. c[k >> 2] =
  60251. ls(
  60252. ((c[g >> 2] | 0) + 16) | 0,
  60253. c[h >> 2] | 0,
  60254. c[i >> 2] | 0
  60255. ) | 0;
  60256. if ($q(c[k >> 2] | 0) | 0) {
  60257. c[f >> 2] = -30;
  60258. m = c[f >> 2] | 0;
  60259. l = e;
  60260. return m | 0;
  60261. } else {
  60262. c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
  60263. c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
  60264. c[((c[g >> 2] | 0) + 28812) >> 2] = 1;
  60265. c[((c[g >> 2] | 0) + 28808) >> 2] = 1;
  60266. c[f >> 2] =
  60267. ks(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  60268. m = c[f >> 2] | 0;
  60269. l = e;
  60270. return m | 0;
  60271. }
  60272. return 0;
  60273. }
  60274. function ks(a, b, d) {
  60275. a = a | 0;
  60276. b = b | 0;
  60277. d = d | 0;
  60278. var e = 0,
  60279. f = 0,
  60280. g = 0,
  60281. h = 0;
  60282. e = l;
  60283. l = (l + 16) | 0;
  60284. f = (e + 8) | 0;
  60285. g = (e + 4) | 0;
  60286. h = e;
  60287. c[f >> 2] = a;
  60288. c[g >> 2] = b;
  60289. c[h >> 2] = d;
  60290. c[((c[f >> 2] | 0) + 28740) >> 2] =
  60291. c[((c[f >> 2] | 0) + 28728) >> 2];
  60292. c[((c[f >> 2] | 0) + 28736) >> 2] =
  60293. (c[g >> 2] | 0) +
  60294. (0 -
  60295. ((c[((c[f >> 2] | 0) + 28728) >> 2] | 0) -
  60296. (c[((c[f >> 2] | 0) + 28732) >> 2] | 0)));
  60297. c[((c[f >> 2] | 0) + 28732) >> 2] = c[g >> 2];
  60298. c[((c[f >> 2] | 0) + 28728) >> 2] =
  60299. (c[g >> 2] | 0) + (c[h >> 2] | 0);
  60300. l = e;
  60301. return 0;
  60302. }
  60303. function ls(a, b, d) {
  60304. a = a | 0;
  60305. b = b | 0;
  60306. d = d | 0;
  60307. var e = 0,
  60308. f = 0,
  60309. g = 0,
  60310. h = 0,
  60311. i = 0,
  60312. j = 0,
  60313. k = 0,
  60314. m = 0,
  60315. n = 0,
  60316. o = 0,
  60317. p = 0,
  60318. q = 0,
  60319. r = 0,
  60320. s = 0,
  60321. t = 0,
  60322. u = 0,
  60323. v = 0,
  60324. w = 0,
  60325. x = 0,
  60326. y = 0,
  60327. z = 0,
  60328. A = 0,
  60329. B = 0,
  60330. C = 0,
  60331. D = 0,
  60332. E = 0;
  60333. e = l;
  60334. l = (l + 336) | 0;
  60335. f = (e + 328) | 0;
  60336. g = (e + 324) | 0;
  60337. h = (e + 320) | 0;
  60338. i = (e + 316) | 0;
  60339. j = (e + 312) | 0;
  60340. k = (e + 308) | 0;
  60341. m = (e + 304) | 0;
  60342. n = (e + 192) | 0;
  60343. o = (e + 300) | 0;
  60344. p = (e + 296) | 0;
  60345. q = (e + 292) | 0;
  60346. r = (e + 80) | 0;
  60347. s = (e + 288) | 0;
  60348. t = (e + 284) | 0;
  60349. u = (e + 280) | 0;
  60350. v = e;
  60351. w = (e + 276) | 0;
  60352. x = (e + 272) | 0;
  60353. y = (e + 268) | 0;
  60354. z = (e + 264) | 0;
  60355. A = (e + 260) | 0;
  60356. B = (e + 256) | 0;
  60357. c[g >> 2] = a;
  60358. c[h >> 2] = b;
  60359. c[i >> 2] = d;
  60360. c[j >> 2] = c[h >> 2];
  60361. c[k >> 2] = (c[j >> 2] | 0) + (c[i >> 2] | 0);
  60362. if ((c[i >> 2] | 0) >>> 0 <= 8) {
  60363. c[f >> 2] = -30;
  60364. C = c[f >> 2] | 0;
  60365. l = e;
  60366. return C | 0;
  60367. }
  60368. c[j >> 2] = (c[j >> 2] | 0) + 8;
  60369. c[m >> 2] =
  60370. Bp(
  60371. ((c[g >> 2] | 0) + 10264) | 0,
  60372. c[j >> 2] | 0,
  60373. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0,
  60374. ((c[g >> 2] | 0) + 26652) | 0,
  60375. 2048
  60376. ) | 0;
  60377. if ($q(c[m >> 2] | 0) | 0) {
  60378. c[f >> 2] = -30;
  60379. C = c[f >> 2] | 0;
  60380. l = e;
  60381. return C | 0;
  60382. }
  60383. c[j >> 2] = (c[j >> 2] | 0) + (c[m >> 2] | 0);
  60384. c[o >> 2] = 31;
  60385. c[q >> 2] =
  60386. ah(
  60387. n,
  60388. o,
  60389. p,
  60390. c[j >> 2] | 0,
  60391. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
  60392. ) | 0;
  60393. if ($q(c[q >> 2] | 0) | 0) {
  60394. c[f >> 2] = -30;
  60395. C = c[f >> 2] | 0;
  60396. l = e;
  60397. return C | 0;
  60398. }
  60399. if ((c[o >> 2] | 0) >>> 0 > 31) {
  60400. c[f >> 2] = -30;
  60401. C = c[f >> 2] | 0;
  60402. l = e;
  60403. return C | 0;
  60404. }
  60405. if ((c[p >> 2] | 0) >>> 0 > 8) {
  60406. c[f >> 2] = -30;
  60407. C = c[f >> 2] | 0;
  60408. l = e;
  60409. return C | 0;
  60410. }
  60411. zr(
  60412. ((c[g >> 2] | 0) + 4104) | 0,
  60413. n,
  60414. c[o >> 2] | 0,
  60415. 4032,
  60416. 4160,
  60417. c[p >> 2] | 0
  60418. );
  60419. c[j >> 2] = (c[j >> 2] | 0) + (c[q >> 2] | 0);
  60420. c[s >> 2] = 52;
  60421. c[u >> 2] =
  60422. ah(
  60423. r,
  60424. s,
  60425. t,
  60426. c[j >> 2] | 0,
  60427. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
  60428. ) | 0;
  60429. if ($q(c[u >> 2] | 0) | 0) {
  60430. c[f >> 2] = -30;
  60431. C = c[f >> 2] | 0;
  60432. l = e;
  60433. return C | 0;
  60434. }
  60435. if ((c[s >> 2] | 0) >>> 0 > 52) {
  60436. c[f >> 2] = -30;
  60437. C = c[f >> 2] | 0;
  60438. l = e;
  60439. return C | 0;
  60440. }
  60441. if ((c[t >> 2] | 0) >>> 0 > 9) {
  60442. c[f >> 2] = -30;
  60443. C = c[f >> 2] | 0;
  60444. l = e;
  60445. return C | 0;
  60446. }
  60447. zr(
  60448. ((c[g >> 2] | 0) + 6160) | 0,
  60449. r,
  60450. c[s >> 2] | 0,
  60451. 5216,
  60452. 5840,
  60453. c[t >> 2] | 0
  60454. );
  60455. c[j >> 2] = (c[j >> 2] | 0) + (c[u >> 2] | 0);
  60456. c[w >> 2] = 35;
  60457. c[y >> 2] =
  60458. ah(
  60459. v,
  60460. w,
  60461. x,
  60462. c[j >> 2] | 0,
  60463. ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
  60464. ) | 0;
  60465. if ($q(c[y >> 2] | 0) | 0) {
  60466. c[f >> 2] = -30;
  60467. C = c[f >> 2] | 0;
  60468. l = e;
  60469. return C | 0;
  60470. }
  60471. if ((c[w >> 2] | 0) >>> 0 > 35) {
  60472. c[f >> 2] = -30;
  60473. C = c[f >> 2] | 0;
  60474. l = e;
  60475. return C | 0;
  60476. }
  60477. if ((c[x >> 2] | 0) >>> 0 > 9) {
  60478. c[f >> 2] = -30;
  60479. C = c[f >> 2] | 0;
  60480. l = e;
  60481. return C | 0;
  60482. }
  60483. zr(
  60484. c[g >> 2] | 0,
  60485. v,
  60486. c[w >> 2] | 0,
  60487. 6416,
  60488. 5696,
  60489. c[x >> 2] | 0
  60490. );
  60491. c[j >> 2] = (c[j >> 2] | 0) + (c[y >> 2] | 0);
  60492. if (
  60493. (((c[j >> 2] | 0) + 12) | 0) >>> 0 >
  60494. (c[k >> 2] | 0) >>> 0
  60495. ) {
  60496. c[f >> 2] = -30;
  60497. C = c[f >> 2] | 0;
  60498. l = e;
  60499. return C | 0;
  60500. }
  60501. c[A >> 2] = (c[k >> 2] | 0) - ((c[j >> 2] | 0) + 12);
  60502. c[z >> 2] = 0;
  60503. while (1) {
  60504. D = c[j >> 2] | 0;
  60505. if ((c[z >> 2] | 0) >= 3) {
  60506. E = 31;
  60507. break;
  60508. }
  60509. c[B >> 2] = hq(D) | 0;
  60510. c[j >> 2] = (c[j >> 2] | 0) + 4;
  60511. if (!(c[B >> 2] | 0)) {
  60512. E = 29;
  60513. break;
  60514. }
  60515. if ((c[B >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0) {
  60516. E = 29;
  60517. break;
  60518. }
  60519. c[((c[g >> 2] | 0) + 28700 + (c[z >> 2] << 2)) >> 2] =
  60520. c[B >> 2];
  60521. c[z >> 2] = (c[z >> 2] | 0) + 1;
  60522. }
  60523. if ((E | 0) == 29) {
  60524. c[f >> 2] = -30;
  60525. C = c[f >> 2] | 0;
  60526. l = e;
  60527. return C | 0;
  60528. } else if ((E | 0) == 31) {
  60529. c[f >> 2] = D - (c[h >> 2] | 0);
  60530. C = c[f >> 2] | 0;
  60531. l = e;
  60532. return C | 0;
  60533. }
  60534. return 0;
  60535. }
  60536. function ms(a, b, d, e) {
  60537. a = a | 0;
  60538. b = b | 0;
  60539. d = d | 0;
  60540. e = e | 0;
  60541. var f = 0,
  60542. g = 0,
  60543. h = 0,
  60544. i = 0,
  60545. j = 0,
  60546. k = 0,
  60547. m = 0,
  60548. n = 0,
  60549. o = 0;
  60550. f = l;
  60551. l = (l + 32) | 0;
  60552. g = (f + 24) | 0;
  60553. h = (f + 20) | 0;
  60554. i = (f + 16) | 0;
  60555. j = (f + 12) | 0;
  60556. k = (f + 8) | 0;
  60557. m = (f + 4) | 0;
  60558. n = f;
  60559. c[h >> 2] = a;
  60560. c[i >> 2] = b;
  60561. c[j >> 2] = d;
  60562. c[k >> 2] = e;
  60563. c[n >> 2] = hw() | 0;
  60564. if (!(c[n >> 2] | 0)) {
  60565. c[g >> 2] = -64;
  60566. o = c[g >> 2] | 0;
  60567. l = f;
  60568. return o | 0;
  60569. } else {
  60570. c[m >> 2] =
  60571. iw(
  60572. c[n >> 2] | 0,
  60573. c[h >> 2] | 0,
  60574. c[i >> 2] | 0,
  60575. c[j >> 2] | 0,
  60576. c[k >> 2] | 0
  60577. ) | 0;
  60578. gq(c[n >> 2] | 0) | 0;
  60579. c[g >> 2] = c[m >> 2];
  60580. o = c[g >> 2] | 0;
  60581. l = f;
  60582. return o | 0;
  60583. }
  60584. return 0;
  60585. }
  60586. function ns() {
  60587. var a = 0,
  60588. b = 0,
  60589. d = 0,
  60590. e = 0;
  60591. a = l;
  60592. l = (l + 16) | 0;
  60593. b = (a + 4) | 0;
  60594. d = a;
  60595. c[d >> 2] = Cy(157816) | 0;
  60596. if (!(c[d >> 2] | 0)) {
  60597. c[b >> 2] = 0;
  60598. e = c[b >> 2] | 0;
  60599. l = a;
  60600. return e | 0;
  60601. } else {
  60602. dw(c[d >> 2] | 0) | 0;
  60603. c[b >> 2] = c[d >> 2];
  60604. e = c[b >> 2] | 0;
  60605. l = a;
  60606. return e | 0;
  60607. }
  60608. return 0;
  60609. }
  60610. function os(a, b, d, e, f, g, h) {
  60611. a = a | 0;
  60612. b = b | 0;
  60613. d = d | 0;
  60614. e = e | 0;
  60615. f = f | 0;
  60616. g = g | 0;
  60617. h = h | 0;
  60618. var i = 0,
  60619. j = 0,
  60620. k = 0,
  60621. m = 0,
  60622. n = 0,
  60623. o = 0,
  60624. p = 0,
  60625. q = 0;
  60626. i = l;
  60627. l = (l + 32) | 0;
  60628. j = (i + 24) | 0;
  60629. k = (i + 20) | 0;
  60630. m = (i + 16) | 0;
  60631. n = (i + 12) | 0;
  60632. o = (i + 8) | 0;
  60633. p = (i + 4) | 0;
  60634. q = i;
  60635. c[j >> 2] = a;
  60636. c[k >> 2] = b;
  60637. c[m >> 2] = d;
  60638. c[n >> 2] = e;
  60639. c[o >> 2] = f;
  60640. c[p >> 2] = g;
  60641. c[q >> 2] = h;
  60642. Su(c[j >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0;
  60643. Tu(c[j >> 2] | 0, c[k >> 2] | 0);
  60644. q =
  60645. Uu(
  60646. c[j >> 2] | 0,
  60647. c[k >> 2] | 0,
  60648. c[m >> 2] | 0,
  60649. c[n >> 2] | 0,
  60650. c[o >> 2] | 0
  60651. ) | 0;
  60652. l = i;
  60653. return q | 0;
  60654. }
  60655. function ps() {
  60656. var a = 0,
  60657. b = 0,
  60658. d = 0,
  60659. e = 0;
  60660. a = l;
  60661. l = (l + 16) | 0;
  60662. b = (a + 4) | 0;
  60663. d = a;
  60664. c[d >> 2] = Cy(152680) | 0;
  60665. if (!(c[d >> 2] | 0)) {
  60666. c[b >> 2] = 0;
  60667. e = c[b >> 2] | 0;
  60668. l = a;
  60669. return e | 0;
  60670. } else {
  60671. Ou(c[d >> 2] | 0) | 0;
  60672. c[b >> 2] = c[d >> 2];
  60673. e = c[b >> 2] | 0;
  60674. l = a;
  60675. return e | 0;
  60676. }
  60677. return 0;
  60678. }
  60679. function qs(a, b, d, e, f, g, h) {
  60680. a = a | 0;
  60681. b = b | 0;
  60682. d = d | 0;
  60683. e = e | 0;
  60684. f = f | 0;
  60685. g = g | 0;
  60686. h = h | 0;
  60687. var i = 0,
  60688. j = 0,
  60689. k = 0,
  60690. m = 0,
  60691. n = 0,
  60692. o = 0,
  60693. p = 0,
  60694. q = 0;
  60695. i = l;
  60696. l = (l + 32) | 0;
  60697. j = (i + 24) | 0;
  60698. k = (i + 20) | 0;
  60699. m = (i + 16) | 0;
  60700. n = (i + 12) | 0;
  60701. o = (i + 8) | 0;
  60702. p = (i + 4) | 0;
  60703. q = i;
  60704. c[j >> 2] = a;
  60705. c[k >> 2] = b;
  60706. c[m >> 2] = d;
  60707. c[n >> 2] = e;
  60708. c[o >> 2] = f;
  60709. c[p >> 2] = g;
  60710. c[q >> 2] = h;
  60711. Jt(c[j >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0;
  60712. Kt(c[j >> 2] | 0, c[k >> 2] | 0);
  60713. q =
  60714. Lt(
  60715. c[j >> 2] | 0,
  60716. c[k >> 2] | 0,
  60717. c[m >> 2] | 0,
  60718. c[n >> 2] | 0,
  60719. c[o >> 2] | 0
  60720. ) | 0;
  60721. l = i;
  60722. return q | 0;
  60723. }
  60724. function rs() {
  60725. var a = 0,
  60726. b = 0,
  60727. d = 0;
  60728. a = l;
  60729. l = (l + 16) | 0;
  60730. b = a;
  60731. c[b >> 2] = c[2988];
  60732. c[(b + 4) >> 2] = c[2989];
  60733. c[(b + 8) >> 2] = c[2990];
  60734. d = Gt(b) | 0;
  60735. l = a;
  60736. return d | 0;
  60737. }
  60738. function ss(a, b, d, e, f, g, h) {
  60739. a = a | 0;
  60740. b = b | 0;
  60741. d = d | 0;
  60742. e = e | 0;
  60743. f = f | 0;
  60744. g = g | 0;
  60745. h = h | 0;
  60746. var i = 0,
  60747. j = 0,
  60748. k = 0,
  60749. m = 0,
  60750. n = 0,
  60751. o = 0,
  60752. p = 0,
  60753. q = 0;
  60754. i = l;
  60755. l = (l + 32) | 0;
  60756. j = (i + 24) | 0;
  60757. k = (i + 20) | 0;
  60758. m = (i + 16) | 0;
  60759. n = (i + 12) | 0;
  60760. o = (i + 8) | 0;
  60761. p = (i + 4) | 0;
  60762. q = i;
  60763. c[j >> 2] = a;
  60764. c[k >> 2] = b;
  60765. c[m >> 2] = d;
  60766. c[n >> 2] = e;
  60767. c[o >> 2] = f;
  60768. c[p >> 2] = g;
  60769. c[q >> 2] = h;
  60770. ts(c[j >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0;
  60771. us(c[j >> 2] | 0, c[k >> 2] | 0);
  60772. q =
  60773. vs(
  60774. c[j >> 2] | 0,
  60775. c[k >> 2] | 0,
  60776. c[m >> 2] | 0,
  60777. c[n >> 2] | 0,
  60778. c[o >> 2] | 0
  60779. ) | 0;
  60780. l = i;
  60781. return q | 0;
  60782. }
  60783. function ts(a, b, d) {
  60784. a = a | 0;
  60785. b = b | 0;
  60786. d = d | 0;
  60787. var e = 0,
  60788. f = 0,
  60789. g = 0,
  60790. h = 0,
  60791. i = 0,
  60792. j = 0,
  60793. k = 0,
  60794. m = 0;
  60795. e = l;
  60796. l = (l + 32) | 0;
  60797. f = (e + 20) | 0;
  60798. g = (e + 16) | 0;
  60799. h = (e + 12) | 0;
  60800. i = (e + 8) | 0;
  60801. j = (e + 4) | 0;
  60802. k = e;
  60803. c[g >> 2] = a;
  60804. c[h >> 2] = b;
  60805. c[i >> 2] = d;
  60806. c[j >> 2] = Ct(c[g >> 2] | 0) | 0;
  60807. if (hr(c[j >> 2] | 0) | 0) {
  60808. c[f >> 2] = c[j >> 2];
  60809. m = c[f >> 2] | 0;
  60810. l = e;
  60811. return m | 0;
  60812. }
  60813. if (
  60814. ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
  60815. ? ((c[k >> 2] =
  60816. Dt(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
  60817. hr(c[k >> 2] | 0) | 0)
  60818. : 0
  60819. ) {
  60820. c[f >> 2] = -30;
  60821. m = c[f >> 2] | 0;
  60822. l = e;
  60823. return m | 0;
  60824. }
  60825. c[f >> 2] = 0;
  60826. m = c[f >> 2] | 0;
  60827. l = e;
  60828. return m | 0;
  60829. }
  60830. function us(a, b) {
  60831. a = a | 0;
  60832. b = b | 0;
  60833. var d = 0,
  60834. e = 0,
  60835. f = 0;
  60836. d = l;
  60837. l = (l + 16) | 0;
  60838. e = (d + 4) | 0;
  60839. f = d;
  60840. c[e >> 2] = a;
  60841. c[f >> 2] = b;
  60842. if (
  60843. (c[f >> 2] | 0) ==
  60844. (c[((c[e >> 2] | 0) + 21520) >> 2] | 0)
  60845. ) {
  60846. l = d;
  60847. return;
  60848. }
  60849. c[((c[e >> 2] | 0) + 21532) >> 2] =
  60850. c[((c[e >> 2] | 0) + 21520) >> 2];
  60851. c[((c[e >> 2] | 0) + 21528) >> 2] =
  60852. (c[f >> 2] | 0) +
  60853. (0 -
  60854. ((c[((c[e >> 2] | 0) + 21520) >> 2] | 0) -
  60855. (c[((c[e >> 2] | 0) + 21524) >> 2] | 0)));
  60856. c[((c[e >> 2] | 0) + 21524) >> 2] = c[f >> 2];
  60857. c[((c[e >> 2] | 0) + 21520) >> 2] = c[f >> 2];
  60858. l = d;
  60859. return;
  60860. }
  60861. function vs(b, d, e, f, g) {
  60862. b = b | 0;
  60863. d = d | 0;
  60864. e = e | 0;
  60865. f = f | 0;
  60866. g = g | 0;
  60867. var h = 0,
  60868. i = 0,
  60869. j = 0,
  60870. k = 0,
  60871. m = 0,
  60872. n = 0,
  60873. o = 0,
  60874. p = 0,
  60875. q = 0,
  60876. r = 0,
  60877. s = 0,
  60878. t = 0,
  60879. u = 0,
  60880. v = 0,
  60881. w = 0,
  60882. x = 0,
  60883. y = 0,
  60884. z = 0,
  60885. A = 0;
  60886. h = l;
  60887. l = (l + 80) | 0;
  60888. i = (h + 68) | 0;
  60889. j = (h + 64) | 0;
  60890. k = (h + 60) | 0;
  60891. m = (h + 56) | 0;
  60892. n = (h + 52) | 0;
  60893. o = (h + 48) | 0;
  60894. p = (h + 44) | 0;
  60895. q = (h + 40) | 0;
  60896. r = (h + 36) | 0;
  60897. s = (h + 32) | 0;
  60898. t = (h + 28) | 0;
  60899. u = (h + 24) | 0;
  60900. v = (h + 20) | 0;
  60901. w = (h + 16) | 0;
  60902. x = (h + 8) | 0;
  60903. y = h;
  60904. c[j >> 2] = b;
  60905. c[k >> 2] = d;
  60906. c[m >> 2] = e;
  60907. c[n >> 2] = f;
  60908. c[o >> 2] = g;
  60909. c[p >> 2] = c[n >> 2];
  60910. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  60911. c[r >> 2] = c[k >> 2];
  60912. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  60913. c[t >> 2] = c[r >> 2];
  60914. c[u >> 2] = c[o >> 2];
  60915. if ((c[o >> 2] | 0) >>> 0 < 8) {
  60916. c[i >> 2] = -72;
  60917. z = c[i >> 2] | 0;
  60918. l = h;
  60919. return z | 0;
  60920. }
  60921. c[v >> 2] = Cq(c[n >> 2] | 0, 5) | 0;
  60922. if (hr(c[v >> 2] | 0) | 0) {
  60923. c[i >> 2] = c[v >> 2];
  60924. z = c[i >> 2] | 0;
  60925. l = h;
  60926. return z | 0;
  60927. }
  60928. if (
  60929. (c[o >> 2] | 0) >>> 0 <
  60930. (((c[v >> 2] | 0) + 3) | 0) >>> 0
  60931. ) {
  60932. c[i >> 2] = -72;
  60933. z = c[i >> 2] | 0;
  60934. l = h;
  60935. return z | 0;
  60936. }
  60937. if (ws(c[j >> 2] | 0, c[n >> 2] | 0, c[v >> 2] | 0) | 0) {
  60938. c[i >> 2] = -20;
  60939. z = c[i >> 2] | 0;
  60940. l = h;
  60941. return z | 0;
  60942. }
  60943. c[p >> 2] = (c[p >> 2] | 0) + (c[v >> 2] | 0);
  60944. c[u >> 2] = (c[u >> 2] | 0) - (c[v >> 2] | 0);
  60945. a: while (1) {
  60946. c[y >> 2] =
  60947. ir(
  60948. c[p >> 2] | 0,
  60949. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0,
  60950. x
  60951. ) | 0;
  60952. if (hr(c[y >> 2] | 0) | 0) {
  60953. A = 11;
  60954. break;
  60955. }
  60956. c[p >> 2] = (c[p >> 2] | 0) + 3;
  60957. c[u >> 2] = (c[u >> 2] | 0) - 3;
  60958. if ((c[y >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0) {
  60959. A = 13;
  60960. break;
  60961. }
  60962. switch (c[x >> 2] | 0) {
  60963. case 0: {
  60964. c[w >> 2] =
  60965. xs(
  60966. c[j >> 2] | 0,
  60967. c[t >> 2] | 0,
  60968. ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
  60969. c[p >> 2] | 0,
  60970. c[y >> 2] | 0
  60971. ) | 0;
  60972. break;
  60973. }
  60974. case 1: {
  60975. c[w >> 2] =
  60976. ys(
  60977. c[t >> 2] | 0,
  60978. ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
  60979. c[p >> 2] | 0,
  60980. c[y >> 2] | 0
  60981. ) | 0;
  60982. break;
  60983. }
  60984. case 2: {
  60985. c[w >> 2] =
  60986. zs(
  60987. c[t >> 2] | 0,
  60988. ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
  60989. a[c[p >> 2] >> 0] | 0,
  60990. c[(x + 4) >> 2] | 0
  60991. ) | 0;
  60992. break;
  60993. }
  60994. case 3: {
  60995. if (c[u >> 2] | 0) {
  60996. A = 19;
  60997. break a;
  60998. }
  60999. c[w >> 2] = 0;
  61000. break;
  61001. }
  61002. default: {
  61003. A = 21;
  61004. break a;
  61005. }
  61006. }
  61007. if ((c[x >> 2] | 0) == 3) {
  61008. A = 28;
  61009. break;
  61010. }
  61011. if (hr(c[w >> 2] | 0) | 0) {
  61012. A = 24;
  61013. break;
  61014. }
  61015. if (c[((c[j >> 2] | 0) + 21552 + 16) >> 2] | 0)
  61016. Nh(
  61017. ((c[j >> 2] | 0) + 21592) | 0,
  61018. c[t >> 2] | 0,
  61019. c[w >> 2] | 0
  61020. ) | 0;
  61021. c[t >> 2] = (c[t >> 2] | 0) + (c[w >> 2] | 0);
  61022. c[p >> 2] = (c[p >> 2] | 0) + (c[y >> 2] | 0);
  61023. c[u >> 2] = (c[u >> 2] | 0) - (c[y >> 2] | 0);
  61024. }
  61025. if ((A | 0) == 11) {
  61026. c[i >> 2] = c[y >> 2];
  61027. z = c[i >> 2] | 0;
  61028. l = h;
  61029. return z | 0;
  61030. } else if ((A | 0) == 13) {
  61031. c[i >> 2] = -72;
  61032. z = c[i >> 2] | 0;
  61033. l = h;
  61034. return z | 0;
  61035. } else if ((A | 0) == 19) {
  61036. c[i >> 2] = -72;
  61037. z = c[i >> 2] | 0;
  61038. l = h;
  61039. return z | 0;
  61040. } else if ((A | 0) == 21) {
  61041. c[i >> 2] = -1;
  61042. z = c[i >> 2] | 0;
  61043. l = h;
  61044. return z | 0;
  61045. } else if ((A | 0) == 24) {
  61046. c[i >> 2] = c[w >> 2];
  61047. z = c[i >> 2] | 0;
  61048. l = h;
  61049. return z | 0;
  61050. } else if ((A | 0) == 28) {
  61051. c[i >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
  61052. z = c[i >> 2] | 0;
  61053. l = h;
  61054. return z | 0;
  61055. }
  61056. return 0;
  61057. }
  61058. function ws(a, b, d) {
  61059. a = a | 0;
  61060. b = b | 0;
  61061. d = d | 0;
  61062. var e = 0,
  61063. f = 0,
  61064. g = 0,
  61065. h = 0,
  61066. i = 0,
  61067. j = 0,
  61068. k = 0;
  61069. e = l;
  61070. l = (l + 32) | 0;
  61071. f = (e + 16) | 0;
  61072. g = (e + 12) | 0;
  61073. h = (e + 8) | 0;
  61074. i = (e + 4) | 0;
  61075. j = e;
  61076. c[g >> 2] = a;
  61077. c[h >> 2] = b;
  61078. c[i >> 2] = d;
  61079. c[j >> 2] =
  61080. Aq(
  61081. ((c[g >> 2] | 0) + 21552) | 0,
  61082. c[h >> 2] | 0,
  61083. c[i >> 2] | 0
  61084. ) | 0;
  61085. if (
  61086. c[((c[g >> 2] | 0) + 21552 + 12) >> 2] | 0
  61087. ? (c[((c[g >> 2] | 0) + 21684) >> 2] | 0) !=
  61088. (c[((c[g >> 2] | 0) + 21552 + 12) >> 2] | 0)
  61089. : 0
  61090. ) {
  61091. c[f >> 2] = -32;
  61092. k = c[f >> 2] | 0;
  61093. l = e;
  61094. return k | 0;
  61095. }
  61096. if (c[((c[g >> 2] | 0) + 21552 + 16) >> 2] | 0)
  61097. Lh(((c[g >> 2] | 0) + 21592) | 0, 0, 0) | 0;
  61098. c[f >> 2] = c[j >> 2];
  61099. k = c[f >> 2] | 0;
  61100. l = e;
  61101. return k | 0;
  61102. }
  61103. function xs(a, b, d, e, f) {
  61104. a = a | 0;
  61105. b = b | 0;
  61106. d = d | 0;
  61107. e = e | 0;
  61108. f = f | 0;
  61109. var g = 0,
  61110. h = 0,
  61111. i = 0,
  61112. j = 0,
  61113. k = 0,
  61114. m = 0,
  61115. n = 0,
  61116. o = 0,
  61117. p = 0,
  61118. q = 0;
  61119. g = l;
  61120. l = (l + 32) | 0;
  61121. h = (g + 28) | 0;
  61122. i = (g + 24) | 0;
  61123. j = (g + 20) | 0;
  61124. k = (g + 16) | 0;
  61125. m = (g + 12) | 0;
  61126. n = (g + 8) | 0;
  61127. o = (g + 4) | 0;
  61128. p = g;
  61129. c[i >> 2] = a;
  61130. c[j >> 2] = b;
  61131. c[k >> 2] = d;
  61132. c[m >> 2] = e;
  61133. c[n >> 2] = f;
  61134. c[o >> 2] = c[m >> 2];
  61135. if ((c[n >> 2] | 0) >>> 0 >= 131072) {
  61136. c[h >> 2] = -72;
  61137. q = c[h >> 2] | 0;
  61138. l = g;
  61139. return q | 0;
  61140. }
  61141. c[p >> 2] =
  61142. As(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  61143. m = (hr(c[p >> 2] | 0) | 0) != 0;
  61144. f = c[p >> 2] | 0;
  61145. if (m) {
  61146. c[h >> 2] = f;
  61147. q = c[h >> 2] | 0;
  61148. l = g;
  61149. return q | 0;
  61150. } else {
  61151. c[o >> 2] = (c[o >> 2] | 0) + f;
  61152. c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
  61153. c[h >> 2] =
  61154. Bs(
  61155. c[i >> 2] | 0,
  61156. c[j >> 2] | 0,
  61157. c[k >> 2] | 0,
  61158. c[o >> 2] | 0,
  61159. c[n >> 2] | 0
  61160. ) | 0;
  61161. q = c[h >> 2] | 0;
  61162. l = g;
  61163. return q | 0;
  61164. }
  61165. return 0;
  61166. }
  61167. function ys(a, b, d, e) {
  61168. a = a | 0;
  61169. b = b | 0;
  61170. d = d | 0;
  61171. e = e | 0;
  61172. var f = 0,
  61173. g = 0,
  61174. h = 0,
  61175. i = 0,
  61176. j = 0,
  61177. k = 0,
  61178. m = 0;
  61179. f = l;
  61180. l = (l + 32) | 0;
  61181. g = (f + 16) | 0;
  61182. h = (f + 12) | 0;
  61183. i = (f + 8) | 0;
  61184. j = (f + 4) | 0;
  61185. k = f;
  61186. c[h >> 2] = a;
  61187. c[i >> 2] = b;
  61188. c[j >> 2] = d;
  61189. c[k >> 2] = e;
  61190. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
  61191. c[g >> 2] = -70;
  61192. m = c[g >> 2] | 0;
  61193. l = f;
  61194. return m | 0;
  61195. } else {
  61196. mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  61197. c[g >> 2] = c[k >> 2];
  61198. m = c[g >> 2] | 0;
  61199. l = f;
  61200. return m | 0;
  61201. }
  61202. return 0;
  61203. }
  61204. function zs(b, e, f, g) {
  61205. b = b | 0;
  61206. e = e | 0;
  61207. f = f | 0;
  61208. g = g | 0;
  61209. var h = 0,
  61210. i = 0,
  61211. j = 0,
  61212. k = 0,
  61213. m = 0,
  61214. n = 0,
  61215. o = 0;
  61216. h = l;
  61217. l = (l + 32) | 0;
  61218. i = (h + 12) | 0;
  61219. j = (h + 8) | 0;
  61220. k = (h + 4) | 0;
  61221. m = (h + 16) | 0;
  61222. n = h;
  61223. c[j >> 2] = b;
  61224. c[k >> 2] = e;
  61225. a[m >> 0] = f;
  61226. c[n >> 2] = g;
  61227. if ((c[n >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) {
  61228. c[i >> 2] = -70;
  61229. o = c[i >> 2] | 0;
  61230. l = h;
  61231. return o | 0;
  61232. } else {
  61233. oE(
  61234. c[j >> 2] | 0,
  61235. ((d[m >> 0] | 0) & 255) | 0,
  61236. c[n >> 2] | 0
  61237. ) | 0;
  61238. c[i >> 2] = c[n >> 2];
  61239. o = c[i >> 2] | 0;
  61240. l = h;
  61241. return o | 0;
  61242. }
  61243. return 0;
  61244. }
  61245. function As(b, e, f) {
  61246. b = b | 0;
  61247. e = e | 0;
  61248. f = f | 0;
  61249. var g = 0,
  61250. h = 0,
  61251. i = 0,
  61252. j = 0,
  61253. k = 0,
  61254. m = 0,
  61255. n = 0,
  61256. o = 0,
  61257. p = 0,
  61258. q = 0,
  61259. r = 0,
  61260. s = 0,
  61261. t = 0,
  61262. u = 0,
  61263. v = 0,
  61264. w = 0,
  61265. x = 0,
  61266. y = 0,
  61267. z = 0,
  61268. A = 0,
  61269. B = 0;
  61270. g = l;
  61271. l = (l + 80) | 0;
  61272. h = (g + 64) | 0;
  61273. i = (g + 60) | 0;
  61274. j = (g + 56) | 0;
  61275. k = (g + 52) | 0;
  61276. m = (g + 48) | 0;
  61277. n = (g + 44) | 0;
  61278. o = (g + 40) | 0;
  61279. p = (g + 36) | 0;
  61280. q = (g + 32) | 0;
  61281. r = (g + 28) | 0;
  61282. s = (g + 24) | 0;
  61283. t = (g + 20) | 0;
  61284. u = (g + 16) | 0;
  61285. v = (g + 12) | 0;
  61286. w = (g + 8) | 0;
  61287. x = (g + 4) | 0;
  61288. y = g;
  61289. c[i >> 2] = b;
  61290. c[j >> 2] = e;
  61291. c[k >> 2] = f;
  61292. c[m >> 2] = c[j >> 2];
  61293. if ((c[k >> 2] | 0) >>> 0 < 3) {
  61294. c[h >> 2] = -20;
  61295. z = c[h >> 2] | 0;
  61296. l = g;
  61297. return z | 0;
  61298. }
  61299. switch (((d[c[m >> 2] >> 0] | 0) >> 6) | 0) {
  61300. case 0: {
  61301. c[p >> 2] = 0;
  61302. c[q >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  61303. if ((c[k >> 2] | 0) >>> 0 < 5) {
  61304. c[h >> 2] = -20;
  61305. z = c[h >> 2] | 0;
  61306. l = g;
  61307. return z | 0;
  61308. }
  61309. switch (c[q >> 2] | 0) {
  61310. case 3: {
  61311. c[q >> 2] = 5;
  61312. c[n >> 2] =
  61313. (((d[c[m >> 2] >> 0] | 0) & 15) << 14) +
  61314. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 6) +
  61315. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 2);
  61316. c[o >> 2] =
  61317. (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 3) << 16) +
  61318. ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) << 8) +
  61319. (d[((c[m >> 2] | 0) + 4) >> 0] | 0);
  61320. break;
  61321. }
  61322. case 2: {
  61323. c[q >> 2] = 4;
  61324. c[n >> 2] =
  61325. (((d[c[m >> 2] >> 0] | 0) & 15) << 10) +
  61326. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 2) +
  61327. ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 6);
  61328. c[o >> 2] =
  61329. (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 63) << 8) +
  61330. (d[((c[m >> 2] | 0) + 3) >> 0] | 0);
  61331. break;
  61332. }
  61333. default: {
  61334. c[q >> 2] = 3;
  61335. c[p >> 2] = (d[c[m >> 2] >> 0] | 0) & 16;
  61336. c[n >> 2] =
  61337. (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
  61338. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
  61339. c[o >> 2] =
  61340. (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
  61341. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  61342. }
  61343. }
  61344. if ((c[n >> 2] | 0) >>> 0 > 131072) {
  61345. c[h >> 2] = -20;
  61346. z = c[h >> 2] | 0;
  61347. l = g;
  61348. return z | 0;
  61349. }
  61350. if (
  61351. (((c[o >> 2] | 0) + (c[q >> 2] | 0)) | 0) >>> 0 >
  61352. (c[k >> 2] | 0) >>> 0
  61353. ) {
  61354. c[h >> 2] = -20;
  61355. z = c[h >> 2] | 0;
  61356. l = g;
  61357. return z | 0;
  61358. }
  61359. j = ((c[i >> 2] | 0) + 5132) | 0;
  61360. f = ((c[i >> 2] | 0) + 21708) | 0;
  61361. e = c[n >> 2] | 0;
  61362. b = ((c[m >> 2] | 0) + (c[q >> 2] | 0)) | 0;
  61363. A = c[o >> 2] | 0;
  61364. if (c[p >> 2] | 0) B = Xs(j, f, e, b, A) | 0;
  61365. else B = Ys(j, f, e, b, A) | 0;
  61366. if (hr(B) | 0) {
  61367. c[h >> 2] = -20;
  61368. z = c[h >> 2] | 0;
  61369. l = g;
  61370. return z | 0;
  61371. } else {
  61372. c[((c[i >> 2] | 0) + 21688) >> 2] =
  61373. (c[i >> 2] | 0) + 21708;
  61374. c[((c[i >> 2] | 0) + 21704) >> 2] = c[n >> 2];
  61375. c[((c[i >> 2] | 0) + 21584) >> 2] = 1;
  61376. n =
  61377. ((c[i >> 2] | 0) +
  61378. 21708 +
  61379. (c[((c[i >> 2] | 0) + 21704) >> 2] | 0)) |
  61380. 0;
  61381. a[n >> 0] = 0;
  61382. a[(n + 1) >> 0] = 0;
  61383. a[(n + 2) >> 0] = 0;
  61384. a[(n + 3) >> 0] = 0;
  61385. a[(n + 4) >> 0] = 0;
  61386. a[(n + 5) >> 0] = 0;
  61387. a[(n + 6) >> 0] = 0;
  61388. a[(n + 7) >> 0] = 0;
  61389. c[h >> 2] = (c[o >> 2] | 0) + (c[q >> 2] | 0);
  61390. z = c[h >> 2] | 0;
  61391. l = g;
  61392. return z | 0;
  61393. }
  61394. break;
  61395. }
  61396. case 1: {
  61397. c[t >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  61398. if ((c[t >> 2] | 0) != 1) {
  61399. c[h >> 2] = -20;
  61400. z = c[h >> 2] | 0;
  61401. l = g;
  61402. return z | 0;
  61403. }
  61404. if (!(c[((c[i >> 2] | 0) + 21584) >> 2] | 0)) {
  61405. c[h >> 2] = -30;
  61406. z = c[h >> 2] | 0;
  61407. l = g;
  61408. return z | 0;
  61409. }
  61410. c[t >> 2] = 3;
  61411. c[r >> 2] =
  61412. (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
  61413. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
  61414. c[s >> 2] =
  61415. (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
  61416. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  61417. if (
  61418. (((c[s >> 2] | 0) + (c[t >> 2] | 0)) | 0) >>> 0 >
  61419. (c[k >> 2] | 0) >>> 0
  61420. ) {
  61421. c[h >> 2] = -20;
  61422. z = c[h >> 2] | 0;
  61423. l = g;
  61424. return z | 0;
  61425. }
  61426. c[u >> 2] =
  61427. Zs(
  61428. ((c[i >> 2] | 0) + 21708) | 0,
  61429. c[r >> 2] | 0,
  61430. ((c[m >> 2] | 0) + (c[t >> 2] | 0)) | 0,
  61431. c[s >> 2] | 0,
  61432. ((c[i >> 2] | 0) + 5132) | 0
  61433. ) | 0;
  61434. if (hr(c[u >> 2] | 0) | 0) {
  61435. c[h >> 2] = -20;
  61436. z = c[h >> 2] | 0;
  61437. l = g;
  61438. return z | 0;
  61439. } else {
  61440. c[((c[i >> 2] | 0) + 21688) >> 2] =
  61441. (c[i >> 2] | 0) + 21708;
  61442. c[((c[i >> 2] | 0) + 21704) >> 2] = c[r >> 2];
  61443. r =
  61444. ((c[i >> 2] | 0) +
  61445. 21708 +
  61446. (c[((c[i >> 2] | 0) + 21704) >> 2] | 0)) |
  61447. 0;
  61448. a[r >> 0] = 0;
  61449. a[(r + 1) >> 0] = 0;
  61450. a[(r + 2) >> 0] = 0;
  61451. a[(r + 3) >> 0] = 0;
  61452. a[(r + 4) >> 0] = 0;
  61453. a[(r + 5) >> 0] = 0;
  61454. a[(r + 6) >> 0] = 0;
  61455. a[(r + 7) >> 0] = 0;
  61456. c[h >> 2] = (c[s >> 2] | 0) + (c[t >> 2] | 0);
  61457. z = c[h >> 2] | 0;
  61458. l = g;
  61459. return z | 0;
  61460. }
  61461. break;
  61462. }
  61463. case 2: {
  61464. c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  61465. switch (c[w >> 2] | 0) {
  61466. case 3: {
  61467. c[v >> 2] =
  61468. (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
  61469. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  61470. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  61471. break;
  61472. }
  61473. case 2: {
  61474. c[v >> 2] =
  61475. (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
  61476. (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
  61477. break;
  61478. }
  61479. default: {
  61480. c[w >> 2] = 1;
  61481. c[v >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
  61482. }
  61483. }
  61484. if (
  61485. (((c[w >> 2] | 0) + (c[v >> 2] | 0) + 8) | 0) >>> 0 <=
  61486. (c[k >> 2] | 0) >>> 0
  61487. ) {
  61488. c[((c[i >> 2] | 0) + 21688) >> 2] =
  61489. (c[m >> 2] | 0) + (c[w >> 2] | 0);
  61490. c[((c[i >> 2] | 0) + 21704) >> 2] = c[v >> 2];
  61491. c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  61492. z = c[h >> 2] | 0;
  61493. l = g;
  61494. return z | 0;
  61495. }
  61496. if (
  61497. (((c[v >> 2] | 0) + (c[w >> 2] | 0)) | 0) >>> 0 >
  61498. (c[k >> 2] | 0) >>> 0
  61499. ) {
  61500. c[h >> 2] = -20;
  61501. z = c[h >> 2] | 0;
  61502. l = g;
  61503. return z | 0;
  61504. } else {
  61505. mE(
  61506. ((c[i >> 2] | 0) + 21708) | 0,
  61507. ((c[m >> 2] | 0) + (c[w >> 2] | 0)) | 0,
  61508. c[v >> 2] | 0
  61509. ) | 0;
  61510. c[((c[i >> 2] | 0) + 21688) >> 2] =
  61511. (c[i >> 2] | 0) + 21708;
  61512. c[((c[i >> 2] | 0) + 21704) >> 2] = c[v >> 2];
  61513. t =
  61514. ((c[i >> 2] | 0) +
  61515. 21708 +
  61516. (c[((c[i >> 2] | 0) + 21704) >> 2] | 0)) |
  61517. 0;
  61518. a[t >> 0] = 0;
  61519. a[(t + 1) >> 0] = 0;
  61520. a[(t + 2) >> 0] = 0;
  61521. a[(t + 3) >> 0] = 0;
  61522. a[(t + 4) >> 0] = 0;
  61523. a[(t + 5) >> 0] = 0;
  61524. a[(t + 6) >> 0] = 0;
  61525. a[(t + 7) >> 0] = 0;
  61526. c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  61527. z = c[h >> 2] | 0;
  61528. l = g;
  61529. return z | 0;
  61530. }
  61531. break;
  61532. }
  61533. case 3: {
  61534. c[y >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
  61535. switch (c[y >> 2] | 0) {
  61536. case 3: {
  61537. c[x >> 2] =
  61538. (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
  61539. ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
  61540. (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
  61541. if ((c[k >> 2] | 0) >>> 0 < 4) {
  61542. c[h >> 2] = -20;
  61543. z = c[h >> 2] | 0;
  61544. l = g;
  61545. return z | 0;
  61546. }
  61547. break;
  61548. }
  61549. case 2: {
  61550. c[x >> 2] =
  61551. (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
  61552. (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
  61553. break;
  61554. }
  61555. default: {
  61556. c[y >> 2] = 1;
  61557. c[x >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
  61558. }
  61559. }
  61560. if ((c[x >> 2] | 0) >>> 0 > 131072) {
  61561. c[h >> 2] = -20;
  61562. z = c[h >> 2] | 0;
  61563. l = g;
  61564. return z | 0;
  61565. } else {
  61566. oE(
  61567. ((c[i >> 2] | 0) + 21708) | 0,
  61568. ((d[((c[m >> 2] | 0) + (c[y >> 2] | 0)) >> 0] | 0) &
  61569. 255) |
  61570. 0,
  61571. ((c[x >> 2] | 0) + 8) | 0
  61572. ) | 0;
  61573. c[((c[i >> 2] | 0) + 21688) >> 2] =
  61574. (c[i >> 2] | 0) + 21708;
  61575. c[((c[i >> 2] | 0) + 21704) >> 2] = c[x >> 2];
  61576. c[h >> 2] = (c[y >> 2] | 0) + 1;
  61577. z = c[h >> 2] | 0;
  61578. l = g;
  61579. return z | 0;
  61580. }
  61581. break;
  61582. }
  61583. default: {
  61584. }
  61585. }
  61586. return 0;
  61587. }
  61588. function Bs(a, b, d, e, f) {
  61589. a = a | 0;
  61590. b = b | 0;
  61591. d = d | 0;
  61592. e = e | 0;
  61593. f = f | 0;
  61594. var g = 0,
  61595. h = 0,
  61596. i = 0,
  61597. j = 0,
  61598. k = 0,
  61599. m = 0,
  61600. n = 0,
  61601. o = 0,
  61602. p = 0,
  61603. q = 0,
  61604. r = 0,
  61605. s = 0,
  61606. t = 0,
  61607. u = 0,
  61608. v = 0,
  61609. w = 0,
  61610. x = 0,
  61611. y = 0,
  61612. z = 0,
  61613. A = 0,
  61614. B = 0,
  61615. C = 0,
  61616. D = 0,
  61617. E = 0,
  61618. F = 0,
  61619. G = 0,
  61620. H = 0,
  61621. I = 0,
  61622. J = 0,
  61623. K = 0,
  61624. L = 0,
  61625. M = 0,
  61626. N = 0,
  61627. O = 0;
  61628. g = l;
  61629. l = (l + 192) | 0;
  61630. h = (g + 168) | 0;
  61631. i = (g + 164) | 0;
  61632. j = (g + 160) | 0;
  61633. k = (g + 156) | 0;
  61634. m = (g + 152) | 0;
  61635. n = (g + 148) | 0;
  61636. o = (g + 144) | 0;
  61637. p = (g + 140) | 0;
  61638. q = (g + 136) | 0;
  61639. r = (g + 132) | 0;
  61640. s = (g + 128) | 0;
  61641. t = (g + 124) | 0;
  61642. u = (g + 120) | 0;
  61643. v = (g + 116) | 0;
  61644. w = (g + 112) | 0;
  61645. x = (g + 108) | 0;
  61646. y = (g + 104) | 0;
  61647. z = (g + 100) | 0;
  61648. A = (g + 96) | 0;
  61649. B = (g + 92) | 0;
  61650. C = (g + 88) | 0;
  61651. D = (g + 84) | 0;
  61652. E = (g + 32) | 0;
  61653. F = (g + 28) | 0;
  61654. G = (g + 24) | 0;
  61655. H = (g + 12) | 0;
  61656. I = (g + 8) | 0;
  61657. J = (g + 4) | 0;
  61658. K = g;
  61659. c[j >> 2] = a;
  61660. c[k >> 2] = b;
  61661. c[m >> 2] = d;
  61662. c[n >> 2] = e;
  61663. c[o >> 2] = f;
  61664. c[p >> 2] = c[n >> 2];
  61665. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  61666. c[r >> 2] = c[k >> 2];
  61667. c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
  61668. c[t >> 2] = c[r >> 2];
  61669. c[u >> 2] = c[((c[j >> 2] | 0) + 21688) >> 2];
  61670. c[v >> 2] =
  61671. (c[u >> 2] | 0) + (c[((c[j >> 2] | 0) + 21704) >> 2] | 0);
  61672. c[w >> 2] = c[j >> 2];
  61673. c[x >> 2] = (c[j >> 2] | 0) + 3080;
  61674. c[y >> 2] = (c[j >> 2] | 0) + 2052;
  61675. c[z >> 2] = c[((c[j >> 2] | 0) + 21524) >> 2];
  61676. c[A >> 2] = c[((c[j >> 2] | 0) + 21528) >> 2];
  61677. c[B >> 2] = c[((c[j >> 2] | 0) + 21532) >> 2];
  61678. c[D >> 2] =
  61679. Cs(
  61680. C,
  61681. c[w >> 2] | 0,
  61682. c[x >> 2] | 0,
  61683. c[y >> 2] | 0,
  61684. c[((c[j >> 2] | 0) + 21588) >> 2] | 0,
  61685. c[p >> 2] | 0,
  61686. c[o >> 2] | 0
  61687. ) | 0;
  61688. o = (hr(c[D >> 2] | 0) | 0) != 0;
  61689. m = c[D >> 2] | 0;
  61690. if (o) {
  61691. c[i >> 2] = m;
  61692. L = c[i >> 2] | 0;
  61693. l = g;
  61694. return L | 0;
  61695. }
  61696. c[p >> 2] = (c[p >> 2] | 0) + m;
  61697. a: do {
  61698. if (c[C >> 2] | 0) {
  61699. c[((c[j >> 2] | 0) + 21588) >> 2] = 1;
  61700. c[F >> 2] = 0;
  61701. while (1) {
  61702. if ((c[F >> 2] | 0) >>> 0 >= 3) break;
  61703. c[(E + 40 + (c[F >> 2] << 2)) >> 2] =
  61704. c[((c[j >> 2] | 0) + 21540 + (c[F >> 2] << 2)) >> 2];
  61705. c[F >> 2] = (c[F >> 2] | 0) + 1;
  61706. }
  61707. c[G >> 2] =
  61708. Ds(
  61709. E,
  61710. c[p >> 2] | 0,
  61711. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  61712. ) | 0;
  61713. if (hr(c[G >> 2] | 0) | 0) {
  61714. c[i >> 2] = -20;
  61715. L = c[i >> 2] | 0;
  61716. l = g;
  61717. return L | 0;
  61718. }
  61719. Es((E + 16) | 0, E, c[w >> 2] | 0);
  61720. Es((E + 24) | 0, E, c[y >> 2] | 0);
  61721. Es((E + 32) | 0, E, c[x >> 2] | 0);
  61722. while (1) {
  61723. m = (Fs(E) | 0) >>> 0 <= 2;
  61724. M = c[C >> 2] | 0;
  61725. if (!(m ? (c[C >> 2] | 0) != 0 : 0)) break;
  61726. c[C >> 2] = M + -1;
  61727. Gs(H, E);
  61728. m = c[t >> 2] | 0;
  61729. o = c[s >> 2] | 0;
  61730. D = c[v >> 2] | 0;
  61731. k = c[z >> 2] | 0;
  61732. n = c[A >> 2] | 0;
  61733. f = c[B >> 2] | 0;
  61734. c[h >> 2] = c[H >> 2];
  61735. c[(h + 4) >> 2] = c[(H + 4) >> 2];
  61736. c[(h + 8) >> 2] = c[(H + 8) >> 2];
  61737. c[I >> 2] = Hs(m, o, h, u, D, k, n, f) | 0;
  61738. f = (hr(c[I >> 2] | 0) | 0) != 0;
  61739. N = c[I >> 2] | 0;
  61740. if (f) {
  61741. O = 12;
  61742. break;
  61743. }
  61744. c[t >> 2] = (c[t >> 2] | 0) + N;
  61745. }
  61746. if ((O | 0) == 12) {
  61747. c[i >> 2] = N;
  61748. L = c[i >> 2] | 0;
  61749. l = g;
  61750. return L | 0;
  61751. }
  61752. if (M | 0) {
  61753. c[i >> 2] = -20;
  61754. L = c[i >> 2] | 0;
  61755. l = g;
  61756. return L | 0;
  61757. }
  61758. c[J >> 2] = 0;
  61759. while (1) {
  61760. if ((c[J >> 2] | 0) >>> 0 >= 3) break a;
  61761. c[((c[j >> 2] | 0) + 21540 + (c[J >> 2] << 2)) >> 2] =
  61762. c[(E + 40 + (c[J >> 2] << 2)) >> 2];
  61763. c[J >> 2] = (c[J >> 2] | 0) + 1;
  61764. }
  61765. }
  61766. } while (0);
  61767. c[K >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  61768. if (
  61769. (c[K >> 2] | 0) >>> 0 >
  61770. (((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
  61771. ) {
  61772. c[i >> 2] = -70;
  61773. L = c[i >> 2] | 0;
  61774. l = g;
  61775. return L | 0;
  61776. } else {
  61777. mE(c[t >> 2] | 0, c[u >> 2] | 0, c[K >> 2] | 0) | 0;
  61778. c[t >> 2] = (c[t >> 2] | 0) + (c[K >> 2] | 0);
  61779. c[i >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
  61780. L = c[i >> 2] | 0;
  61781. l = g;
  61782. return L | 0;
  61783. }
  61784. return 0;
  61785. }
  61786. function Cs(a, b, e, f, g, h, i) {
  61787. a = a | 0;
  61788. b = b | 0;
  61789. e = e | 0;
  61790. f = f | 0;
  61791. g = g | 0;
  61792. h = h | 0;
  61793. i = i | 0;
  61794. var j = 0,
  61795. k = 0,
  61796. m = 0,
  61797. n = 0,
  61798. o = 0,
  61799. p = 0,
  61800. q = 0,
  61801. r = 0,
  61802. s = 0,
  61803. t = 0,
  61804. u = 0,
  61805. v = 0,
  61806. w = 0,
  61807. x = 0,
  61808. y = 0,
  61809. z = 0,
  61810. A = 0,
  61811. B = 0,
  61812. C = 0,
  61813. D = 0;
  61814. j = l;
  61815. l = (l + 80) | 0;
  61816. k = (j + 68) | 0;
  61817. m = (j + 64) | 0;
  61818. n = (j + 60) | 0;
  61819. o = (j + 56) | 0;
  61820. p = (j + 52) | 0;
  61821. q = (j + 48) | 0;
  61822. r = (j + 44) | 0;
  61823. s = (j + 40) | 0;
  61824. t = (j + 36) | 0;
  61825. u = (j + 32) | 0;
  61826. v = (j + 28) | 0;
  61827. w = (j + 24) | 0;
  61828. x = (j + 20) | 0;
  61829. y = (j + 16) | 0;
  61830. z = (j + 12) | 0;
  61831. A = (j + 8) | 0;
  61832. B = (j + 4) | 0;
  61833. C = j;
  61834. c[m >> 2] = a;
  61835. c[n >> 2] = b;
  61836. c[o >> 2] = e;
  61837. c[p >> 2] = f;
  61838. c[q >> 2] = g;
  61839. c[r >> 2] = h;
  61840. c[s >> 2] = i;
  61841. c[t >> 2] = c[r >> 2];
  61842. c[u >> 2] = (c[t >> 2] | 0) + (c[s >> 2] | 0);
  61843. c[v >> 2] = c[t >> 2];
  61844. if ((c[s >> 2] | 0) >>> 0 < 1) {
  61845. c[k >> 2] = -72;
  61846. D = c[k >> 2] | 0;
  61847. l = j;
  61848. return D | 0;
  61849. }
  61850. s = c[v >> 2] | 0;
  61851. c[v >> 2] = s + 1;
  61852. c[w >> 2] = d[s >> 0];
  61853. if (!(c[w >> 2] | 0)) {
  61854. c[c[m >> 2] >> 2] = 0;
  61855. c[k >> 2] = 1;
  61856. D = c[k >> 2] | 0;
  61857. l = j;
  61858. return D | 0;
  61859. }
  61860. do {
  61861. if ((c[w >> 2] | 0) > 127) {
  61862. s = c[v >> 2] | 0;
  61863. if ((c[w >> 2] | 0) == 255) {
  61864. if (((s + 2) | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0) {
  61865. c[w >> 2] = ((Eq(c[v >> 2] | 0) | 0) & 65535) + 32512;
  61866. c[v >> 2] = (c[v >> 2] | 0) + 2;
  61867. break;
  61868. }
  61869. c[k >> 2] = -72;
  61870. D = c[k >> 2] | 0;
  61871. l = j;
  61872. return D | 0;
  61873. } else {
  61874. if (s >>> 0 < (c[u >> 2] | 0) >>> 0) {
  61875. s = ((c[w >> 2] | 0) - 128) << 8;
  61876. r = c[v >> 2] | 0;
  61877. c[v >> 2] = r + 1;
  61878. c[w >> 2] = s + (d[r >> 0] | 0);
  61879. break;
  61880. }
  61881. c[k >> 2] = -72;
  61882. D = c[k >> 2] | 0;
  61883. l = j;
  61884. return D | 0;
  61885. }
  61886. }
  61887. } while (0);
  61888. c[c[m >> 2] >> 2] = c[w >> 2];
  61889. c[x >> 2] = (d[c[v >> 2] >> 0] | 0) >> 6;
  61890. c[y >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 4) & 3;
  61891. c[z >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 2) & 3;
  61892. c[v >> 2] = (c[v >> 2] | 0) + 1;
  61893. if (
  61894. (c[v >> 2] | 0) >>> 0 >
  61895. (((c[u >> 2] | 0) + -3) | 0) >>> 0
  61896. ) {
  61897. c[k >> 2] = -72;
  61898. D = c[k >> 2] | 0;
  61899. l = j;
  61900. return D | 0;
  61901. }
  61902. c[A >> 2] =
  61903. Ss(
  61904. c[n >> 2] | 0,
  61905. c[x >> 2] | 0,
  61906. 35,
  61907. 9,
  61908. c[v >> 2] | 0,
  61909. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  61910. 5440,
  61911. 6,
  61912. c[q >> 2] | 0
  61913. ) | 0;
  61914. if (hr(c[A >> 2] | 0) | 0) {
  61915. c[k >> 2] = -20;
  61916. D = c[k >> 2] | 0;
  61917. l = j;
  61918. return D | 0;
  61919. }
  61920. c[v >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0);
  61921. c[B >> 2] =
  61922. Ss(
  61923. c[p >> 2] | 0,
  61924. c[y >> 2] | 0,
  61925. 28,
  61926. 8,
  61927. c[v >> 2] | 0,
  61928. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  61929. 5520,
  61930. 5,
  61931. c[q >> 2] | 0
  61932. ) | 0;
  61933. if (hr(c[B >> 2] | 0) | 0) {
  61934. c[k >> 2] = -20;
  61935. D = c[k >> 2] | 0;
  61936. l = j;
  61937. return D | 0;
  61938. }
  61939. c[v >> 2] = (c[v >> 2] | 0) + (c[B >> 2] | 0);
  61940. c[C >> 2] =
  61941. Ss(
  61942. c[o >> 2] | 0,
  61943. c[z >> 2] | 0,
  61944. 52,
  61945. 9,
  61946. c[v >> 2] | 0,
  61947. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  61948. 5584,
  61949. 6,
  61950. c[q >> 2] | 0
  61951. ) | 0;
  61952. if (hr(c[C >> 2] | 0) | 0) {
  61953. c[k >> 2] = -20;
  61954. D = c[k >> 2] | 0;
  61955. l = j;
  61956. return D | 0;
  61957. } else {
  61958. c[v >> 2] = (c[v >> 2] | 0) + (c[C >> 2] | 0);
  61959. c[k >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
  61960. D = c[k >> 2] | 0;
  61961. l = j;
  61962. return D | 0;
  61963. }
  61964. return 0;
  61965. }
  61966. function Cc(a) {
  61967. a = a | 0;
  61968. var b = 0;
  61969. b = l;
  61970. l = (l + a) | 0;
  61971. l = (l + 15) & -16;
  61972. return b | 0;
  61973. }
  61974. function Dc() {
  61975. return l | 0;
  61976. }
  61977. function Ec(a) {
  61978. a = a | 0;
  61979. l = a;
  61980. }
  61981. function Fc(a, b) {
  61982. a = a | 0;
  61983. b = b | 0;
  61984. l = a;
  61985. m = b;
  61986. }
  61987. function Gc(a, b) {
  61988. a = a | 0;
  61989. b = b | 0;
  61990. if (!n) {
  61991. n = a;
  61992. o = b;
  61993. }
  61994. }
  61995. function Hc(a) {
  61996. a = a | 0;
  61997. y = a;
  61998. }
  61999. function Ic() {
  62000. return y | 0;
  62001. }
  62002. function Jc() {
  62003. var a = 0;
  62004. a = l;
  62005. l = (l + 16) | 0;
  62006. Kz(Cz(12856, 12862) | 0) | 0;
  62007. Az(12856, a) | 0;
  62008. l = a;
  62009. return;
  62010. }
  62011. function Kc(b, d) {
  62012. b = b | 0;
  62013. d = d | 0;
  62014. var e = 0,
  62015. f = 0,
  62016. g = 0,
  62017. h = 0,
  62018. i = 0,
  62019. j = 0.0,
  62020. k = 0,
  62021. m = 0,
  62022. n = 0,
  62023. o = 0,
  62024. p = 0,
  62025. q = 0,
  62026. r = 0,
  62027. s = 0,
  62028. t = 0,
  62029. u = 0;
  62030. e = l;
  62031. l = (l + 32) | 0;
  62032. f = e;
  62033. g = c[d >> 2] | 0;
  62034. h = hb(12865) | 0;
  62035. i = db(g | 0, h | 0) | 0;
  62036. ab(h | 0);
  62037. j = +Za(i | 0, 11e3, f | 0);
  62038. jb(c[f >> 2] | 0);
  62039. h = ~~j >>> 0;
  62040. ab(i | 0);
  62041. i = (b + 4) | 0;
  62042. g = c[i >> 2] | 0;
  62043. k = c[b >> 2] | 0;
  62044. m = (g - k) | 0;
  62045. n = k;
  62046. a: do {
  62047. if (m >>> 0 < h >>> 0) {
  62048. o = (h - m) | 0;
  62049. p = (b + 8) | 0;
  62050. q = c[p >> 2] | 0;
  62051. if (((q - g) | 0) >>> 0 >= o >>> 0) {
  62052. r = o;
  62053. s = g;
  62054. while (1) {
  62055. a[s >> 0] = 0;
  62056. s = ((c[i >> 2] | 0) + 1) | 0;
  62057. c[i >> 2] = s;
  62058. r = (r + -1) | 0;
  62059. if (!r) break a;
  62060. }
  62061. }
  62062. if ((h | 0) < 0) Wz(b);
  62063. r = (q - k) | 0;
  62064. s = r << 1;
  62065. t =
  62066. r >>> 0 < 1073741823
  62067. ? s >>> 0 < h >>> 0
  62068. ? h
  62069. : s
  62070. : 2147483647;
  62071. if (!t) u = 0;
  62072. else u = Uz(t) | 0;
  62073. oE((u + m) | 0, 0, o | 0) | 0;
  62074. if ((m | 0) > 0) mE(u | 0, n | 0, m | 0) | 0;
  62075. c[b >> 2] = u;
  62076. c[i >> 2] = u + h;
  62077. c[p >> 2] = u + t;
  62078. if (k | 0) Vz(n);
  62079. } else if (m >>> 0 > h >>> 0) c[i >> 2] = n + h;
  62080. } while (0);
  62081. n = cb(12872) | 0;
  62082. i = c[d >> 2] | 0;
  62083. m = hb(12879) | 0;
  62084. k = db(i | 0, m | 0) | 0;
  62085. ab(m | 0);
  62086. m = c[b >> 2] | 0;
  62087. eb(n | 0);
  62088. c[f >> 2] = n;
  62089. c[(f + 8) >> 2] = m;
  62090. c[(f + 16) >> 2] = h;
  62091. h = gb(k | 0, 3, 11072, f | 0) | 0;
  62092. ab(k | 0);
  62093. cd(h, 12891, d);
  62094. ab(h | 0);
  62095. ab(n | 0);
  62096. l = e;
  62097. return;
  62098. }
  62099. function Lc(b, d) {
  62100. b = b | 0;
  62101. d = d | 0;
  62102. var e = 0,
  62103. f = 0,
  62104. g = 0,
  62105. h = 0,
  62106. i = 0,
  62107. j = 0,
  62108. k = 0,
  62109. m = 0,
  62110. n = 0;
  62111. e = l;
  62112. l = (l + 32) | 0;
  62113. f = e;
  62114. g = cb(12895) | 0;
  62115. h = cb(12872) | 0;
  62116. i = hb(12879) | 0;
  62117. j = db(g | 0, i | 0) | 0;
  62118. ab(i | 0);
  62119. i = c[d >> 2] | 0;
  62120. k = (d + 4) | 0;
  62121. m = c[k >> 2] | 0;
  62122. eb(h | 0);
  62123. c[f >> 2] = h;
  62124. c[(f + 8) >> 2] = i;
  62125. c[(f + 16) >> 2] = m - i;
  62126. i = gb(j | 0, 3, 11092, f | 0) | 0;
  62127. m = i;
  62128. ab(j | 0);
  62129. j = hb(12879) | 0;
  62130. n = db(h | 0, j | 0) | 0;
  62131. ab(j | 0);
  62132. c[f >> 2] = (c[k >> 2] | 0) - (c[d >> 2] | 0);
  62133. d = gb(n | 0, 1, 11104, f | 0) | 0;
  62134. ab(n | 0);
  62135. n = hb(12879) | 0;
  62136. k = db(g | 0, n | 0) | 0;
  62137. ab(n | 0);
  62138. eb(d | 0);
  62139. c[f >> 2] = d;
  62140. n = gb(k | 0, 1, 11108, f | 0) | 0;
  62141. c[b >> 2] = n;
  62142. ab(k | 0);
  62143. if ((a[21600] | 0) == 0 ? WD(21600) | 0 : 0)
  62144. c[5404] = bb(2, 11084) | 0;
  62145. k = c[5404] | 0;
  62146. eb(i | 0);
  62147. c[f >> 2] = m;
  62148. $a(k | 0, n | 0, 12891, f | 0);
  62149. ab(d | 0);
  62150. ab(i | 0);
  62151. ab(h | 0);
  62152. ab(g | 0);
  62153. l = e;
  62154. return;
  62155. }
  62156. function Mc(a) {
  62157. a = a | 0;
  62158. return ((c[(a + 4) >> 2] | 0) - (c[a >> 2] | 0)) | 0;
  62159. }
  62160. function Nc(a, b) {
  62161. a = a | 0;
  62162. b = b | 0;
  62163. var d = 0,
  62164. e = 0,
  62165. f = 0,
  62166. g = 0,
  62167. h = 0,
  62168. i = 0,
  62169. j = 0;
  62170. d = l;
  62171. l = (l + 32) | 0;
  62172. e = d;
  62173. f = cb(12872) | 0;
  62174. g = cb(12895) | 0;
  62175. h = hb(12879) | 0;
  62176. i = db(g | 0, h | 0) | 0;
  62177. ab(h | 0);
  62178. h = c[b >> 2] | 0;
  62179. j = c[(b + 4) >> 2] | 0;
  62180. eb(f | 0);
  62181. c[e >> 2] = f;
  62182. c[(e + 8) >> 2] = h;
  62183. c[(e + 16) >> 2] = j - h;
  62184. c[a >> 2] = gb(i | 0, 3, 11092, e | 0) | 0;
  62185. ab(i | 0);
  62186. ab(g | 0);
  62187. ab(f | 0);
  62188. l = d;
  62189. return;
  62190. }
  62191. function Oc(a, b) {
  62192. a = a | 0;
  62193. b = b | 0;
  62194. var d = 0,
  62195. e = 0,
  62196. f = 0;
  62197. d = l;
  62198. l = (l + 16) | 0;
  62199. e = d;
  62200. f = Uz(32) | 0;
  62201. Pc(e, a);
  62202. Ef(f, e, b);
  62203. b = c[e >> 2] | 0;
  62204. if (!b) {
  62205. l = d;
  62206. return f | 0;
  62207. }
  62208. c[(e + 4) >> 2] = b;
  62209. Vz(b);
  62210. l = d;
  62211. return f | 0;
  62212. }
  62213. function Pc(a, b) {
  62214. a = a | 0;
  62215. b = b | 0;
  62216. var d = 0,
  62217. e = 0,
  62218. f = 0,
  62219. g = 0,
  62220. h = 0,
  62221. i = 0,
  62222. j = 0,
  62223. k = 0,
  62224. m = 0.0,
  62225. n = 0,
  62226. o = 0,
  62227. p = 0;
  62228. d = l;
  62229. l = (l + 48) | 0;
  62230. e = d;
  62231. f = (d + 24) | 0;
  62232. c[f >> 2] = 0;
  62233. g = (f + 4) | 0;
  62234. c[g >> 2] = 0;
  62235. h = (f + 8) | 0;
  62236. c[h >> 2] = 0;
  62237. i = c[b >> 2] | 0;
  62238. j = hb(12865) | 0;
  62239. k = db(i | 0, j | 0) | 0;
  62240. ab(j | 0);
  62241. m = +Za(k | 0, 11016, e | 0);
  62242. jb(c[e >> 2] | 0);
  62243. j = ~~m >>> 0;
  62244. do {
  62245. if (j | 0)
  62246. if ((j | 0) < 0) Wz(f);
  62247. else {
  62248. i = Uz(j) | 0;
  62249. oE(i | 0, 0, j | 0) | 0;
  62250. n = (i + j) | 0;
  62251. c[f >> 2] = i;
  62252. c[g >> 2] = n;
  62253. c[h >> 2] = n;
  62254. break;
  62255. }
  62256. } while (0);
  62257. ab(k | 0);
  62258. k = c[b >> 2] | 0;
  62259. j = hb(12865) | 0;
  62260. n = db(k | 0, j | 0) | 0;
  62261. ab(j | 0);
  62262. m = +Za(n | 0, 11e3, e | 0);
  62263. jb(c[e >> 2] | 0);
  62264. j = ~~m >>> 0;
  62265. ab(n | 0);
  62266. n = cb(12872) | 0;
  62267. k = c[b >> 2] | 0;
  62268. i = hb(12879) | 0;
  62269. o = db(k | 0, i | 0) | 0;
  62270. ab(i | 0);
  62271. i = c[f >> 2] | 0;
  62272. eb(n | 0);
  62273. c[e >> 2] = n;
  62274. c[(e + 8) >> 2] = i;
  62275. c[(e + 16) >> 2] = j;
  62276. i = gb(o | 0, 3, 11072, e | 0) | 0;
  62277. ab(o | 0);
  62278. o = c[f >> 2] | 0;
  62279. e = o;
  62280. if ((((c[h >> 2] | 0) - o) | 0) >>> 0 < j >>> 0) {
  62281. k = ((c[g >> 2] | 0) - o) | 0;
  62282. p = Uz(j) | 0;
  62283. if ((k | 0) > 0) mE(p | 0, e | 0, k | 0) | 0;
  62284. c[f >> 2] = p;
  62285. c[g >> 2] = p + k;
  62286. c[h >> 2] = p + j;
  62287. if (o | 0) Vz(e);
  62288. }
  62289. dd(i, 12891, b);
  62290. ab(i | 0);
  62291. ab(n | 0);
  62292. c[a >> 2] = c[f >> 2];
  62293. c[(a + 4) >> 2] = c[g >> 2];
  62294. c[(a + 8) >> 2] = c[h >> 2];
  62295. l = d;
  62296. return;
  62297. }
  62298. function Qc(a) {
  62299. a = a | 0;
  62300. var b = 0,
  62301. d = 0,
  62302. e = 0;
  62303. b = l;
  62304. l = (l + 16) | 0;
  62305. d = b;
  62306. e = Uz(32) | 0;
  62307. Pc(d, a);
  62308. Pf(e, d);
  62309. a = c[d >> 2] | 0;
  62310. if (!a) {
  62311. l = b;
  62312. return e | 0;
  62313. }
  62314. c[(d + 4) >> 2] = a;
  62315. Vz(a);
  62316. l = b;
  62317. return e | 0;
  62318. }
  62319. function Rc(a, b) {
  62320. a = a | 0;
  62321. b = b | 0;
  62322. return ag(a, b) | 0;
  62323. }
  62324. function Sc(a, b) {
  62325. a = a | 0;
  62326. b = b | 0;
  62327. return mg(a, b) | 0;
  62328. }
  62329. function Tc(a, b, d) {
  62330. a = a | 0;
  62331. b = b | 0;
  62332. d = d | 0;
  62333. var e = 0,
  62334. f = 0,
  62335. g = 0,
  62336. h = 0,
  62337. i = 0,
  62338. j = 0;
  62339. e = l;
  62340. l = (l + 48) | 0;
  62341. f = (e + 28) | 0;
  62342. g = (e + 24) | 0;
  62343. h = e;
  62344. c[f >> 2] = 0;
  62345. i = (f + 4) | 0;
  62346. c[i >> 2] = 0;
  62347. c[(f + 8) >> 2] = 0;
  62348. j = c[b >> 2] | 0;
  62349. c[g >> 2] = j;
  62350. eb(j | 0);
  62351. Kc(f, g);
  62352. ab(c[g >> 2] | 0);
  62353. g = (h + 16) | 0;
  62354. c[h >> 2] = 11128;
  62355. c[(h + 4) >> 2] = d;
  62356. c[g >> 2] = h;
  62357. d = vg(a, f, h) | 0;
  62358. a = c[g >> 2] | 0;
  62359. if ((h | 0) != (a | 0)) {
  62360. if (a | 0) wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  62361. } else wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  62362. a = c[f >> 2] | 0;
  62363. if (!a) {
  62364. l = e;
  62365. return d | 0;
  62366. }
  62367. c[i >> 2] = a;
  62368. Vz(a);
  62369. l = e;
  62370. return d | 0;
  62371. }
  62372. function Uc(a, b) {
  62373. a = a | 0;
  62374. b = b | 0;
  62375. var d = 0,
  62376. e = 0,
  62377. f = 0;
  62378. d = l;
  62379. l = (l + 32) | 0;
  62380. e = d;
  62381. f = (e + 16) | 0;
  62382. c[e >> 2] = 11172;
  62383. c[(e + 4) >> 2] = b;
  62384. c[f >> 2] = e;
  62385. b = xg(a, e) | 0;
  62386. a = c[f >> 2] | 0;
  62387. if ((e | 0) == (a | 0)) {
  62388. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  62389. l = d;
  62390. return b | 0;
  62391. }
  62392. if (!a) {
  62393. l = d;
  62394. return b | 0;
  62395. }
  62396. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  62397. l = d;
  62398. return b | 0;
  62399. }
  62400. function Vc(a, b) {
  62401. a = a | 0;
  62402. b = b | 0;
  62403. var d = 0,
  62404. e = 0,
  62405. f = 0;
  62406. d = l;
  62407. l = (l + 32) | 0;
  62408. e = d;
  62409. f = (e + 16) | 0;
  62410. c[e >> 2] = 11216;
  62411. c[(e + 4) >> 2] = b;
  62412. c[f >> 2] = e;
  62413. b = yg(a, e) | 0;
  62414. a = c[f >> 2] | 0;
  62415. if ((e | 0) == (a | 0)) {
  62416. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  62417. l = d;
  62418. return b | 0;
  62419. }
  62420. if (!a) {
  62421. l = d;
  62422. return b | 0;
  62423. }
  62424. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  62425. l = d;
  62426. return b | 0;
  62427. }
  62428. function Wc(a) {
  62429. a = a | 0;
  62430. return Bg(a) | 0;
  62431. }
  62432. function Xc(a, b) {
  62433. a = a | 0;
  62434. b = b | 0;
  62435. return Mg(a, b) | 0;
  62436. }
  62437. function Yc(a, b, d) {
  62438. a = a | 0;
  62439. b = b | 0;
  62440. d = d | 0;
  62441. var e = 0,
  62442. f = 0,
  62443. g = 0,
  62444. h = 0,
  62445. i = 0,
  62446. j = 0;
  62447. e = l;
  62448. l = (l + 48) | 0;
  62449. f = (e + 28) | 0;
  62450. g = (e + 24) | 0;
  62451. h = e;
  62452. c[f >> 2] = 0;
  62453. i = (f + 4) | 0;
  62454. c[i >> 2] = 0;
  62455. c[(f + 8) >> 2] = 0;
  62456. j = c[b >> 2] | 0;
  62457. c[g >> 2] = j;
  62458. eb(j | 0);
  62459. Kc(f, g);
  62460. ab(c[g >> 2] | 0);
  62461. g = (h + 16) | 0;
  62462. c[h >> 2] = 11260;
  62463. c[(h + 4) >> 2] = d;
  62464. c[g >> 2] = h;
  62465. d = Vg(a, f, h) | 0;
  62466. a = c[g >> 2] | 0;
  62467. if ((h | 0) != (a | 0)) {
  62468. if (a | 0) wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  62469. } else wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  62470. a = c[f >> 2] | 0;
  62471. if (!a) {
  62472. l = e;
  62473. return d | 0;
  62474. }
  62475. c[i >> 2] = a;
  62476. Vz(a);
  62477. l = e;
  62478. return d | 0;
  62479. }
  62480. function Zc(a, b) {
  62481. a = a | 0;
  62482. b = b | 0;
  62483. var d = 0,
  62484. e = 0,
  62485. f = 0;
  62486. d = l;
  62487. l = (l + 32) | 0;
  62488. e = d;
  62489. f = (e + 16) | 0;
  62490. c[e >> 2] = 11304;
  62491. c[(e + 4) >> 2] = b;
  62492. c[f >> 2] = e;
  62493. b = Xg(a, e) | 0;
  62494. a = c[f >> 2] | 0;
  62495. if ((e | 0) == (a | 0)) {
  62496. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  62497. l = d;
  62498. return b | 0;
  62499. }
  62500. if (!a) {
  62501. l = d;
  62502. return b | 0;
  62503. }
  62504. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  62505. l = d;
  62506. return b | 0;
  62507. }
  62508. function _c(a, b) {
  62509. a = a | 0;
  62510. b = b | 0;
  62511. var d = 0,
  62512. e = 0,
  62513. f = 0;
  62514. d = l;
  62515. l = (l + 32) | 0;
  62516. e = d;
  62517. f = (e + 16) | 0;
  62518. c[e >> 2] = 11348;
  62519. c[(e + 4) >> 2] = b;
  62520. c[f >> 2] = e;
  62521. b = Yg(a, e) | 0;
  62522. a = c[f >> 2] | 0;
  62523. if ((e | 0) == (a | 0)) {
  62524. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  62525. l = d;
  62526. return b | 0;
  62527. }
  62528. if (!a) {
  62529. l = d;
  62530. return b | 0;
  62531. }
  62532. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  62533. l = d;
  62534. return b | 0;
  62535. }
  62536. function $c(a) {
  62537. a = a | 0;
  62538. ad(12902);
  62539. Ra(12856, 1, 11420, 14747, 61, 2);
  62540. Ra(12911, 3, 11424, 14750, 1, 26);
  62541. Ra(12925, 2, 11436, 14761, 20, 27);
  62542. Ra(12943, 2, 11436, 14761, 20, 28);
  62543. Ma(
  62544. 10096,
  62545. 10112,
  62546. 10128,
  62547. 0,
  62548. 14742,
  62549. 31,
  62550. 14745,
  62551. 0,
  62552. 14745,
  62553. 0,
  62554. 12960,
  62555. 14747,
  62556. 62
  62557. );
  62558. Ra(12980, 3, 11444, 14765, 9, 21);
  62559. Ma(
  62560. 10152,
  62561. 10168,
  62562. 10184,
  62563. 0,
  62564. 14742,
  62565. 32,
  62566. 14745,
  62567. 0,
  62568. 14745,
  62569. 0,
  62570. 13002,
  62571. 14747,
  62572. 63
  62573. );
  62574. Ra(13024, 2, 11456, 14761, 22, 33);
  62575. Ma(
  62576. 10200,
  62577. 10208,
  62578. 10224,
  62579. 0,
  62580. 14742,
  62581. 34,
  62582. 14745,
  62583. 0,
  62584. 14745,
  62585. 0,
  62586. 13048,
  62587. 14747,
  62588. 64
  62589. );
  62590. Na(10200, 1, 11464, 14742, 35, 1);
  62591. a = Uz(8) | 0;
  62592. c[a >> 2] = 23;
  62593. c[(a + 4) >> 2] = 0;
  62594. Oa(10200, 13058, 3, 11468, 14765, 10, a | 0, 0);
  62595. a = Uz(8) | 0;
  62596. c[a >> 2] = 24;
  62597. c[(a + 4) >> 2] = 0;
  62598. Oa(10200, 13072, 3, 11480, 14765, 11, a | 0, 0);
  62599. a = Uz(8) | 0;
  62600. c[a >> 2] = 7;
  62601. c[(a + 4) >> 2] = 0;
  62602. Oa(10200, 13084, 5, 48, 15008, 1, a | 0, 0);
  62603. a = Uz(8) | 0;
  62604. c[a >> 2] = 12;
  62605. c[(a + 4) >> 2] = 0;
  62606. Oa(10200, 13093, 4, 80, 14770, 8, a | 0, 0);
  62607. a = Uz(8) | 0;
  62608. c[a >> 2] = 9;
  62609. c[(a + 4) >> 2] = 0;
  62610. Oa(10200, 13104, 5, 96, 15008, 2, a | 0, 0);
  62611. a = Uz(8) | 0;
  62612. c[a >> 2] = 10;
  62613. c[(a + 4) >> 2] = 0;
  62614. Oa(10200, 13122, 5, 128, 15008, 3, a | 0, 0);
  62615. Ma(
  62616. 10240,
  62617. 10248,
  62618. 10264,
  62619. 0,
  62620. 14742,
  62621. 36,
  62622. 14745,
  62623. 0,
  62624. 14745,
  62625. 0,
  62626. 13142,
  62627. 14747,
  62628. 65
  62629. );
  62630. Na(10240, 1, 11492, 14742, 37, 2);
  62631. a = Uz(8) | 0;
  62632. c[a >> 2] = 25;
  62633. c[(a + 4) >> 2] = 0;
  62634. Oa(10240, 13168, 3, 11496, 14765, 13, a | 0, 0);
  62635. a = Uz(8) | 0;
  62636. c[a >> 2] = 26;
  62637. c[(a + 4) >> 2] = 0;
  62638. Oa(10240, 13174, 3, 11508, 14765, 14, a | 0, 0);
  62639. a = Uz(8) | 0;
  62640. c[a >> 2] = 15;
  62641. c[(a + 4) >> 2] = 0;
  62642. Oa(10240, 13189, 4, 160, 14770, 11, a | 0, 0);
  62643. a = Uz(8) | 0;
  62644. c[a >> 2] = 27;
  62645. c[(a + 4) >> 2] = 0;
  62646. Oa(10240, 13199, 3, 11520, 14765, 16, a | 0, 0);
  62647. a = Uz(8) | 0;
  62648. c[a >> 2] = 28;
  62649. c[(a + 4) >> 2] = 0;
  62650. Oa(10240, 13205, 3, 11520, 14765, 16, a | 0, 0);
  62651. Ma(
  62652. 10280,
  62653. 10288,
  62654. 10304,
  62655. 0,
  62656. 14742,
  62657. 38,
  62658. 14745,
  62659. 0,
  62660. 14745,
  62661. 0,
  62662. 13209,
  62663. 14747,
  62664. 66
  62665. );
  62666. Na(10280, 1, 11532, 14742, 39, 3);
  62667. a = Uz(8) | 0;
  62668. c[a >> 2] = 40;
  62669. c[(a + 4) >> 2] = 0;
  62670. Oa(10280, 13168, 2, 11536, 14761, 29, a | 0, 0);
  62671. a = Uz(8) | 0;
  62672. c[a >> 2] = 30;
  62673. c[(a + 4) >> 2] = 0;
  62674. Oa(10280, 13174, 3, 11544, 14765, 17, a | 0, 0);
  62675. a = Uz(8) | 0;
  62676. c[a >> 2] = 18;
  62677. c[(a + 4) >> 2] = 0;
  62678. Oa(10280, 13189, 4, 176, 14770, 12, a | 0, 0);
  62679. a = Uz(8) | 0;
  62680. c[a >> 2] = 31;
  62681. c[(a + 4) >> 2] = 0;
  62682. Oa(10280, 13199, 3, 11556, 14765, 19, a | 0, 0);
  62683. a = Uz(8) | 0;
  62684. c[a >> 2] = 32;
  62685. c[(a + 4) >> 2] = 0;
  62686. Oa(10280, 13205, 3, 11556, 14765, 19, a | 0, 0);
  62687. return;
  62688. }
  62689. function ad(a) {
  62690. a = a | 0;
  62691. Ma(
  62692. 10032,
  62693. 10056,
  62694. 10072,
  62695. 0,
  62696. 14742,
  62697. 41,
  62698. 14745,
  62699. 0,
  62700. 14745,
  62701. 0,
  62702. a | 0,
  62703. 14747,
  62704. 67
  62705. );
  62706. Na(10032, 1, 11384, 14742, 42, 4);
  62707. a = Uz(8) | 0;
  62708. c[a >> 2] = 29;
  62709. c[(a + 4) >> 2] = 0;
  62710. Oa(10032, 14524, 3, 11388, 14750, 2, a | 0, 0);
  62711. a = Uz(8) | 0;
  62712. c[a >> 2] = 3;
  62713. c[(a + 4) >> 2] = 0;
  62714. Oa(10032, 14534, 4, 16, 14755, 4, a | 0, 0);
  62715. a = Uz(8) | 0;
  62716. c[a >> 2] = 43;
  62717. c[(a + 4) >> 2] = 0;
  62718. Oa(10032, 14541, 2, 11400, 14761, 33, a | 0, 0);
  62719. a = Uz(4) | 0;
  62720. c[a >> 2] = 4;
  62721. Oa(10032, 14546, 3, 11408, 14765, 20, a | 0, 0);
  62722. a = Uz(4) | 0;
  62723. c[a >> 2] = 21;
  62724. Oa(10032, 12891, 4, 32, 14770, 13, a | 0, 0);
  62725. return;
  62726. }
  62727. function bd(a) {
  62728. a = a | 0;
  62729. wa(a | 0) | 0;
  62730. sA();
  62731. }
  62732. function cd(b, d, e) {
  62733. b = b | 0;
  62734. d = d | 0;
  62735. e = e | 0;
  62736. var f = 0,
  62737. g = 0,
  62738. h = 0;
  62739. f = l;
  62740. l = (l + 16) | 0;
  62741. g = f;
  62742. if ((a[21600] | 0) == 0 ? WD(21600) | 0 : 0)
  62743. c[5404] = bb(2, 11084) | 0;
  62744. h = c[5404] | 0;
  62745. eb(c[e >> 2] | 0);
  62746. c[g >> 2] = c[e >> 2];
  62747. $a(h | 0, b | 0, d | 0, g | 0);
  62748. l = f;
  62749. return;
  62750. }
  62751. function dd(b, d, e) {
  62752. b = b | 0;
  62753. d = d | 0;
  62754. e = e | 0;
  62755. var f = 0,
  62756. g = 0,
  62757. h = 0;
  62758. f = l;
  62759. l = (l + 16) | 0;
  62760. g = f;
  62761. if ((a[21608] | 0) == 0 ? WD(21608) | 0 : 0)
  62762. c[5405] = bb(2, 11112) | 0;
  62763. h = c[5405] | 0;
  62764. eb(c[e >> 2] | 0);
  62765. c[g >> 2] = c[e >> 2];
  62766. $a(h | 0, b | 0, d | 0, g | 0);
  62767. l = f;
  62768. return;
  62769. }
  62770. function ed(a) {
  62771. a = a | 0;
  62772. Vz(a);
  62773. return;
  62774. }
  62775. function fd(a) {
  62776. a = a | 0;
  62777. var b = 0;
  62778. b = Uz(8) | 0;
  62779. c[b >> 2] = 11128;
  62780. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62781. return b | 0;
  62782. }
  62783. function gd(a, b) {
  62784. a = a | 0;
  62785. b = b | 0;
  62786. c[b >> 2] = 11128;
  62787. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62788. return;
  62789. }
  62790. function hd(a) {
  62791. a = a | 0;
  62792. return;
  62793. }
  62794. function id(a) {
  62795. a = a | 0;
  62796. Vz(a);
  62797. return;
  62798. }
  62799. function jd(a, b) {
  62800. a = a | 0;
  62801. b = b | 0;
  62802. var d = 0,
  62803. e = 0,
  62804. f = 0;
  62805. d = l;
  62806. l = (l + 16) | 0;
  62807. e = d;
  62808. f = (d + 8) | 0;
  62809. Lc(f, b);
  62810. b = c[(a + 4) >> 2] | 0;
  62811. a = c[f >> 2] | 0;
  62812. eb(a | 0);
  62813. c[e >> 2] = a;
  62814. ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
  62815. ab(a | 0);
  62816. l = d;
  62817. return;
  62818. }
  62819. function kd(a, b) {
  62820. a = a | 0;
  62821. b = b | 0;
  62822. return ((c[(b + 4) >> 2] | 0) == 13464 ? (a + 4) | 0 : 0) | 0;
  62823. }
  62824. function ld(a) {
  62825. a = a | 0;
  62826. return 9872;
  62827. }
  62828. function md(a) {
  62829. a = a | 0;
  62830. Vz(a);
  62831. return;
  62832. }
  62833. function nd(a) {
  62834. a = a | 0;
  62835. var b = 0;
  62836. b = Uz(8) | 0;
  62837. c[b >> 2] = 11172;
  62838. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62839. return b | 0;
  62840. }
  62841. function od(a, b) {
  62842. a = a | 0;
  62843. b = b | 0;
  62844. c[b >> 2] = 11172;
  62845. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62846. return;
  62847. }
  62848. function pd(a) {
  62849. a = a | 0;
  62850. return;
  62851. }
  62852. function qd(a) {
  62853. a = a | 0;
  62854. Vz(a);
  62855. return;
  62856. }
  62857. function rd(a, b) {
  62858. a = a | 0;
  62859. b = b | 0;
  62860. var d = 0,
  62861. e = 0,
  62862. f = 0;
  62863. d = l;
  62864. l = (l + 16) | 0;
  62865. e = d;
  62866. f = (d + 8) | 0;
  62867. Lc(f, b);
  62868. b = c[(a + 4) >> 2] | 0;
  62869. a = c[f >> 2] | 0;
  62870. eb(a | 0);
  62871. c[e >> 2] = a;
  62872. ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
  62873. ab(a | 0);
  62874. l = d;
  62875. return;
  62876. }
  62877. function sd(a, b) {
  62878. a = a | 0;
  62879. b = b | 0;
  62880. return ((c[(b + 4) >> 2] | 0) == 13666 ? (a + 4) | 0 : 0) | 0;
  62881. }
  62882. function td(a) {
  62883. a = a | 0;
  62884. return 9896;
  62885. }
  62886. function ud(a) {
  62887. a = a | 0;
  62888. Vz(a);
  62889. return;
  62890. }
  62891. function vd(a) {
  62892. a = a | 0;
  62893. var b = 0;
  62894. b = Uz(8) | 0;
  62895. c[b >> 2] = 11216;
  62896. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62897. return b | 0;
  62898. }
  62899. function wd(a, b) {
  62900. a = a | 0;
  62901. b = b | 0;
  62902. c[b >> 2] = 11216;
  62903. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62904. return;
  62905. }
  62906. function xd(a) {
  62907. a = a | 0;
  62908. return;
  62909. }
  62910. function yd(a) {
  62911. a = a | 0;
  62912. Vz(a);
  62913. return;
  62914. }
  62915. function zd(a, b) {
  62916. a = a | 0;
  62917. b = b | 0;
  62918. var d = 0,
  62919. e = 0,
  62920. f = 0;
  62921. d = l;
  62922. l = (l + 16) | 0;
  62923. e = d;
  62924. f = (d + 8) | 0;
  62925. Lc(f, b);
  62926. b = c[(a + 4) >> 2] | 0;
  62927. a = c[f >> 2] | 0;
  62928. eb(a | 0);
  62929. c[e >> 2] = a;
  62930. ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
  62931. ab(a | 0);
  62932. l = d;
  62933. return;
  62934. }
  62935. function Ad(a, b) {
  62936. a = a | 0;
  62937. b = b | 0;
  62938. return ((c[(b + 4) >> 2] | 0) == 13859 ? (a + 4) | 0 : 0) | 0;
  62939. }
  62940. function Bd(a) {
  62941. a = a | 0;
  62942. return 9920;
  62943. }
  62944. function Cd(a) {
  62945. a = a | 0;
  62946. return;
  62947. }
  62948. function Dd(a) {
  62949. a = a | 0;
  62950. Vz(a);
  62951. return;
  62952. }
  62953. function Ed(a) {
  62954. a = a | 0;
  62955. var b = 0;
  62956. b = Uz(8) | 0;
  62957. c[b >> 2] = 11260;
  62958. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62959. return b | 0;
  62960. }
  62961. function Fd(a, b) {
  62962. a = a | 0;
  62963. b = b | 0;
  62964. c[b >> 2] = 11260;
  62965. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  62966. return;
  62967. }
  62968. function Gd(a) {
  62969. a = a | 0;
  62970. return;
  62971. }
  62972. function Hd(a) {
  62973. a = a | 0;
  62974. Vz(a);
  62975. return;
  62976. }
  62977. function Id(a, b) {
  62978. a = a | 0;
  62979. b = b | 0;
  62980. var d = 0,
  62981. e = 0,
  62982. f = 0;
  62983. d = l;
  62984. l = (l + 16) | 0;
  62985. e = d;
  62986. f = (d + 8) | 0;
  62987. Lc(f, b);
  62988. b = c[(a + 4) >> 2] | 0;
  62989. a = c[f >> 2] | 0;
  62990. eb(a | 0);
  62991. c[e >> 2] = a;
  62992. ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
  62993. ab(a | 0);
  62994. l = d;
  62995. return;
  62996. }
  62997. function Jd(a, b) {
  62998. a = a | 0;
  62999. b = b | 0;
  63000. return ((c[(b + 4) >> 2] | 0) == 14061 ? (a + 4) | 0 : 0) | 0;
  63001. }
  63002. function Kd(a) {
  63003. a = a | 0;
  63004. return 9944;
  63005. }
  63006. function Ld(a) {
  63007. a = a | 0;
  63008. Vz(a);
  63009. return;
  63010. }
  63011. function Md(a) {
  63012. a = a | 0;
  63013. var b = 0;
  63014. b = Uz(8) | 0;
  63015. c[b >> 2] = 11304;
  63016. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  63017. return b | 0;
  63018. }
  63019. function Nd(a, b) {
  63020. a = a | 0;
  63021. b = b | 0;
  63022. c[b >> 2] = 11304;
  63023. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  63024. return;
  63025. }
  63026. function Od(a) {
  63027. a = a | 0;
  63028. return;
  63029. }
  63030. function Pd(a) {
  63031. a = a | 0;
  63032. Vz(a);
  63033. return;
  63034. }
  63035. function Qd(a, b) {
  63036. a = a | 0;
  63037. b = b | 0;
  63038. var d = 0,
  63039. e = 0,
  63040. f = 0;
  63041. d = l;
  63042. l = (l + 16) | 0;
  63043. e = d;
  63044. f = (d + 8) | 0;
  63045. Lc(f, b);
  63046. b = c[(a + 4) >> 2] | 0;
  63047. a = c[f >> 2] | 0;
  63048. eb(a | 0);
  63049. c[e >> 2] = a;
  63050. ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
  63051. ab(a | 0);
  63052. l = d;
  63053. return;
  63054. }
  63055. function Rd(a, b) {
  63056. a = a | 0;
  63057. b = b | 0;
  63058. return ((c[(b + 4) >> 2] | 0) == 14267 ? (a + 4) | 0 : 0) | 0;
  63059. }
  63060. function Sd(a) {
  63061. a = a | 0;
  63062. return 9968;
  63063. }
  63064. function Td(a) {
  63065. a = a | 0;
  63066. Vz(a);
  63067. return;
  63068. }
  63069. function Ud(a) {
  63070. a = a | 0;
  63071. var b = 0;
  63072. b = Uz(8) | 0;
  63073. c[b >> 2] = 11348;
  63074. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  63075. return b | 0;
  63076. }
  63077. function Vd(a, b) {
  63078. a = a | 0;
  63079. b = b | 0;
  63080. c[b >> 2] = 11348;
  63081. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  63082. return;
  63083. }
  63084. function Wd(a) {
  63085. a = a | 0;
  63086. return;
  63087. }
  63088. function Xd(a) {
  63089. a = a | 0;
  63090. Vz(a);
  63091. return;
  63092. }
  63093. function Yd(a, b) {
  63094. a = a | 0;
  63095. b = b | 0;
  63096. var d = 0,
  63097. e = 0,
  63098. f = 0;
  63099. d = l;
  63100. l = (l + 16) | 0;
  63101. e = d;
  63102. f = (d + 8) | 0;
  63103. Lc(f, b);
  63104. b = c[(a + 4) >> 2] | 0;
  63105. a = c[f >> 2] | 0;
  63106. eb(a | 0);
  63107. c[e >> 2] = a;
  63108. ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
  63109. ab(a | 0);
  63110. l = d;
  63111. return;
  63112. }
  63113. function Zd(a, b) {
  63114. a = a | 0;
  63115. b = b | 0;
  63116. return ((c[(b + 4) >> 2] | 0) == 14464 ? (a + 4) | 0 : 0) | 0;
  63117. }
  63118. function _d(a) {
  63119. a = a | 0;
  63120. return 9992;
  63121. }
  63122. function $d(b, d) {
  63123. b = b | 0;
  63124. d = d | 0;
  63125. var e = 0,
  63126. f = 0,
  63127. g = 0,
  63128. h = 0,
  63129. i = 0,
  63130. j = 0,
  63131. k = 0,
  63132. l = 0,
  63133. m = 0,
  63134. n = 0;
  63135. e = (b + 4) | 0;
  63136. f = c[e >> 2] | 0;
  63137. g = (b + 8) | 0;
  63138. h = c[g >> 2] | 0;
  63139. if ((f | 0) != (h | 0)) {
  63140. a[f >> 0] = a[d >> 0] | 0;
  63141. c[e >> 2] = (c[e >> 2] | 0) + 1;
  63142. return;
  63143. }
  63144. i = c[b >> 2] | 0;
  63145. j = (f - i) | 0;
  63146. f = (j + 1) | 0;
  63147. k = i;
  63148. if ((f | 0) < 0) Wz(b);
  63149. l = (h - i) | 0;
  63150. h = l << 1;
  63151. m =
  63152. l >>> 0 < 1073741823
  63153. ? h >>> 0 < f >>> 0
  63154. ? f
  63155. : h
  63156. : 2147483647;
  63157. if (!m) n = 0;
  63158. else n = Uz(m) | 0;
  63159. h = (n + j) | 0;
  63160. a[h >> 0] = a[d >> 0] | 0;
  63161. if ((j | 0) > 0) mE(n | 0, k | 0, j | 0) | 0;
  63162. c[b >> 2] = n;
  63163. c[e >> 2] = h + 1;
  63164. c[g >> 2] = n + m;
  63165. if (!i) return;
  63166. Vz(k);
  63167. return;
  63168. }
  63169. function ae(a, b, d) {
  63170. a = a | 0;
  63171. b = b | 0;
  63172. d = d | 0;
  63173. var e = 0,
  63174. f = 0,
  63175. g = 0;
  63176. e = (a + 4) | 0;
  63177. f = c[a >> 2] | 0;
  63178. g = ((c[e >> 2] | 0) - f) | 0;
  63179. if (g >>> 0 < b >>> 0) {
  63180. de(a, (b - g) | 0, d);
  63181. return;
  63182. }
  63183. if (g >>> 0 <= b >>> 0) return;
  63184. c[e >> 2] = f + b;
  63185. return;
  63186. }
  63187. function be(a, b, e) {
  63188. a = a | 0;
  63189. b = b | 0;
  63190. e = e | 0;
  63191. var f = 0,
  63192. g = 0,
  63193. h = 0,
  63194. i = 0;
  63195. f = l;
  63196. l = (l + 16) | 0;
  63197. g = f;
  63198. h = c[b >> 2] | 0;
  63199. if ((((c[(b + 4) >> 2] | 0) - h) | 0) >>> 0 <= e >>> 0) {
  63200. i = 1;
  63201. c[a >> 2] = i;
  63202. l = f;
  63203. return;
  63204. }
  63205. c[g >> 2] = d[(h + e) >> 0];
  63206. i = kb(10960, g | 0) | 0;
  63207. c[a >> 2] = i;
  63208. l = f;
  63209. return;
  63210. }
  63211. function ce(b, d, e) {
  63212. b = b | 0;
  63213. d = d | 0;
  63214. e = e | 0;
  63215. a[((c[b >> 2] | 0) + d) >> 0] = a[e >> 0] | 0;
  63216. return 1;
  63217. }
  63218. function de(b, d, e) {
  63219. b = b | 0;
  63220. d = d | 0;
  63221. e = e | 0;
  63222. var f = 0,
  63223. g = 0,
  63224. h = 0,
  63225. i = 0,
  63226. j = 0,
  63227. k = 0,
  63228. l = 0,
  63229. m = 0,
  63230. n = 0,
  63231. o = 0;
  63232. f = (b + 8) | 0;
  63233. g = c[f >> 2] | 0;
  63234. h = (b + 4) | 0;
  63235. i = c[h >> 2] | 0;
  63236. if (((g - i) | 0) >>> 0 >= d >>> 0) {
  63237. j = d;
  63238. k = i;
  63239. do {
  63240. a[k >> 0] = a[e >> 0] | 0;
  63241. k = ((c[h >> 2] | 0) + 1) | 0;
  63242. c[h >> 2] = k;
  63243. j = (j + -1) | 0;
  63244. } while ((j | 0) != 0);
  63245. return;
  63246. }
  63247. j = c[b >> 2] | 0;
  63248. k = (i - j) | 0;
  63249. l = (k + d) | 0;
  63250. if ((l | 0) < 0) Wz(b);
  63251. m = (g - j) | 0;
  63252. g = m << 1;
  63253. n =
  63254. m >>> 0 < 1073741823
  63255. ? g >>> 0 < l >>> 0
  63256. ? l
  63257. : g
  63258. : 2147483647;
  63259. if (!n) o = 0;
  63260. else o = Uz(n) | 0;
  63261. g = (o + k) | 0;
  63262. k = (o + n) | 0;
  63263. n = (i + d - j) | 0;
  63264. j = d;
  63265. d = g;
  63266. while (1) {
  63267. a[d >> 0] = a[e >> 0] | 0;
  63268. j = (j + -1) | 0;
  63269. if (!j) break;
  63270. else d = (d + 1) | 0;
  63271. }
  63272. d = c[b >> 2] | 0;
  63273. j = ((c[h >> 2] | 0) - d) | 0;
  63274. e = (g + (0 - j)) | 0;
  63275. if ((j | 0) > 0) mE(e | 0, d | 0, j | 0) | 0;
  63276. c[b >> 2] = e;
  63277. c[h >> 2] = o + n;
  63278. c[f >> 2] = k;
  63279. if (!d) return;
  63280. Vz(d);
  63281. return;
  63282. }
  63283. function ee(a) {
  63284. a = a | 0;
  63285. return 10032;
  63286. }
  63287. function fe(a) {
  63288. a = a | 0;
  63289. var b = 0;
  63290. if (!a) return;
  63291. b = c[a >> 2] | 0;
  63292. if (b | 0) {
  63293. c[(a + 4) >> 2] = b;
  63294. Vz(b);
  63295. }
  63296. Vz(a);
  63297. return;
  63298. }
  63299. function ge() {
  63300. var a = 0;
  63301. a = Uz(12) | 0;
  63302. c[a >> 2] = 0;
  63303. c[(a + 4) >> 2] = 0;
  63304. c[(a + 8) >> 2] = 0;
  63305. return a | 0;
  63306. }
  63307. function he(a) {
  63308. a = a | 0;
  63309. return oc[a & 7]() | 0;
  63310. }
  63311. function ie(b, d, e) {
  63312. b = b | 0;
  63313. d = d | 0;
  63314. e = e | 0;
  63315. var f = 0,
  63316. g = 0,
  63317. h = 0,
  63318. i = 0,
  63319. j = 0;
  63320. f = l;
  63321. l = (l + 16) | 0;
  63322. g = f;
  63323. h = c[b >> 2] | 0;
  63324. i = c[(b + 4) >> 2] | 0;
  63325. b = (d + (i >> 1)) | 0;
  63326. if (!(i & 1)) j = h;
  63327. else j = c[((c[b >> 2] | 0) + h) >> 2] | 0;
  63328. a[g >> 0] = e;
  63329. xc[j & 31](b, g);
  63330. l = f;
  63331. return;
  63332. }
  63333. function je(b, d, e, f) {
  63334. b = b | 0;
  63335. d = d | 0;
  63336. e = e | 0;
  63337. f = f | 0;
  63338. var g = 0,
  63339. h = 0,
  63340. i = 0,
  63341. j = 0,
  63342. k = 0;
  63343. g = l;
  63344. l = (l + 16) | 0;
  63345. h = g;
  63346. i = c[b >> 2] | 0;
  63347. j = c[(b + 4) >> 2] | 0;
  63348. b = (d + (j >> 1)) | 0;
  63349. if (!(j & 1)) k = i;
  63350. else k = c[((c[b >> 2] | 0) + i) >> 2] | 0;
  63351. a[h >> 0] = f;
  63352. yc[k & 7](b, e, h);
  63353. l = g;
  63354. return;
  63355. }
  63356. function ke(a, b) {
  63357. a = a | 0;
  63358. b = b | 0;
  63359. var d = 0,
  63360. e = 0,
  63361. f = 0;
  63362. d = c[a >> 2] | 0;
  63363. e = c[(a + 4) >> 2] | 0;
  63364. a = (b + (e >> 1)) | 0;
  63365. if (!(e & 1)) f = d;
  63366. else f = c[((c[a >> 2] | 0) + d) >> 2] | 0;
  63367. return pc[f & 63](a) | 0;
  63368. }
  63369. function le(a, b, d) {
  63370. a = a | 0;
  63371. b = b | 0;
  63372. d = d | 0;
  63373. var e = 0,
  63374. f = 0;
  63375. e = l;
  63376. l = (l + 16) | 0;
  63377. f = e;
  63378. yc[c[a >> 2] & 7](f, b, d);
  63379. eb(c[f >> 2] | 0);
  63380. d = c[f >> 2] | 0;
  63381. ab(d | 0);
  63382. l = e;
  63383. return d | 0;
  63384. }
  63385. function me(b, d, e, f) {
  63386. b = b | 0;
  63387. d = d | 0;
  63388. e = e | 0;
  63389. f = f | 0;
  63390. var g = 0,
  63391. h = 0,
  63392. i = 0;
  63393. g = l;
  63394. l = (l + 16) | 0;
  63395. h = g;
  63396. i = c[b >> 2] | 0;
  63397. a[h >> 0] = f;
  63398. f = rc[i & 31](d, e, h) | 0;
  63399. l = g;
  63400. return f | 0;
  63401. }
  63402. function ne(a) {
  63403. a = a | 0;
  63404. vc[a & 3]();
  63405. return;
  63406. }
  63407. function oe(a, b, d) {
  63408. a = a | 0;
  63409. b = b | 0;
  63410. d = d | 0;
  63411. var e = 0,
  63412. f = 0;
  63413. e = l;
  63414. l = (l + 16) | 0;
  63415. f = e;
  63416. c[f >> 2] = d;
  63417. xc[a & 31](b, f);
  63418. ab(c[f >> 2] | 0);
  63419. l = e;
  63420. return;
  63421. }
  63422. function pe(a, b) {
  63423. a = a | 0;
  63424. b = b | 0;
  63425. var d = 0,
  63426. e = 0;
  63427. d = l;
  63428. l = (l + 16) | 0;
  63429. e = d;
  63430. xc[a & 31](e, b);
  63431. eb(c[e >> 2] | 0);
  63432. b = c[e >> 2] | 0;
  63433. ab(b | 0);
  63434. l = d;
  63435. return b | 0;
  63436. }
  63437. function qe(a) {
  63438. a = a | 0;
  63439. return 10096;
  63440. }
  63441. function re(a) {
  63442. a = a | 0;
  63443. if (!a) return;
  63444. se(a);
  63445. Vz(a);
  63446. return;
  63447. }
  63448. function se(a) {
  63449. a = a | 0;
  63450. var b = 0,
  63451. d = 0,
  63452. e = 0,
  63453. f = 0,
  63454. g = 0,
  63455. h = 0,
  63456. i = 0;
  63457. b = l;
  63458. l = (l + 16) | 0;
  63459. d = b;
  63460. e = c[a >> 2] | 0;
  63461. do {
  63462. if (e) {
  63463. c[d >> 2] = e;
  63464. f = (a + 24) | 0;
  63465. g = c[f >> 2] | 0;
  63466. if (!g) {
  63467. h = va(4) | 0;
  63468. c[h >> 2] = 12636;
  63469. ya(h | 0, 10800, 50);
  63470. } else {
  63471. xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
  63472. c[a >> 2] = 0;
  63473. i = f;
  63474. break;
  63475. }
  63476. } else i = (a + 24) | 0;
  63477. } while (0);
  63478. d = c[i >> 2] | 0;
  63479. if (((a + 8) | 0) == (d | 0)) {
  63480. wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
  63481. l = b;
  63482. return;
  63483. }
  63484. if (!d) {
  63485. l = b;
  63486. return;
  63487. }
  63488. wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
  63489. l = b;
  63490. return;
  63491. }
  63492. function te(a) {
  63493. a = a | 0;
  63494. var b = 0;
  63495. b = c[(a + 16) >> 2] | 0;
  63496. if ((a | 0) == (b | 0)) {
  63497. wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
  63498. return;
  63499. }
  63500. if (!b) return;
  63501. wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
  63502. return;
  63503. }
  63504. function ue(a, b, d) {
  63505. a = a | 0;
  63506. b = b | 0;
  63507. d = d | 0;
  63508. var e = 0,
  63509. f = 0;
  63510. e = l;
  63511. l = (l + 16) | 0;
  63512. f = e;
  63513. c[f >> 2] = b;
  63514. b = qc[a & 63](f, d) | 0;
  63515. ab(c[f >> 2] | 0);
  63516. l = e;
  63517. return b | 0;
  63518. }
  63519. function ve(a) {
  63520. a = a | 0;
  63521. return 10152;
  63522. }
  63523. function we(a) {
  63524. a = a | 0;
  63525. if (!a) return;
  63526. xe(a);
  63527. Vz(a);
  63528. return;
  63529. }
  63530. function xe(a) {
  63531. a = a | 0;
  63532. var b = 0,
  63533. d = 0,
  63534. e = 0,
  63535. f = 0,
  63536. g = 0,
  63537. h = 0,
  63538. i = 0;
  63539. b = l;
  63540. l = (l + 16) | 0;
  63541. d = b;
  63542. e = c[a >> 2] | 0;
  63543. do {
  63544. if (e) {
  63545. c[d >> 2] = e;
  63546. f = (a + 24) | 0;
  63547. g = c[f >> 2] | 0;
  63548. if (!g) {
  63549. h = va(4) | 0;
  63550. c[h >> 2] = 12636;
  63551. ya(h | 0, 10800, 50);
  63552. } else {
  63553. xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
  63554. c[a >> 2] = 0;
  63555. i = f;
  63556. break;
  63557. }
  63558. } else i = (a + 24) | 0;
  63559. } while (0);
  63560. d = c[i >> 2] | 0;
  63561. if (((a + 8) | 0) == (d | 0)) {
  63562. wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
  63563. l = b;
  63564. return;
  63565. }
  63566. if (!d) {
  63567. l = b;
  63568. return;
  63569. }
  63570. wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
  63571. l = b;
  63572. return;
  63573. }
  63574. function ye(a) {
  63575. a = a | 0;
  63576. var b = 0;
  63577. b = c[(a + 16) >> 2] | 0;
  63578. if ((a | 0) == (b | 0)) {
  63579. wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
  63580. return;
  63581. }
  63582. if (!b) return;
  63583. wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
  63584. return;
  63585. }
  63586. function ze(a, b) {
  63587. a = a | 0;
  63588. b = b | 0;
  63589. var d = 0,
  63590. e = 0;
  63591. d = l;
  63592. l = (l + 16) | 0;
  63593. e = d;
  63594. c[e >> 2] = b;
  63595. b = pc[a & 63](e) | 0;
  63596. ab(c[e >> 2] | 0);
  63597. l = d;
  63598. return b | 0;
  63599. }
  63600. function Ae(a) {
  63601. a = a | 0;
  63602. return 10200;
  63603. }
  63604. function Be(a) {
  63605. a = a | 0;
  63606. if (!a) return;
  63607. Vz(a);
  63608. return;
  63609. }
  63610. function Ce() {
  63611. return Uz(1) | 0;
  63612. }
  63613. function De(a) {
  63614. a = a | 0;
  63615. return oc[a & 7]() | 0;
  63616. }
  63617. function Ee(a, b, d) {
  63618. a = a | 0;
  63619. b = b | 0;
  63620. d = d | 0;
  63621. var e = 0,
  63622. f = 0,
  63623. g = 0;
  63624. e = c[a >> 2] | 0;
  63625. f = c[(a + 4) >> 2] | 0;
  63626. a = (b + (f >> 1)) | 0;
  63627. if (!(f & 1)) g = e;
  63628. else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
  63629. return qc[g & 63](a, d) | 0;
  63630. }
  63631. function Fe(a, b, d) {
  63632. a = a | 0;
  63633. b = b | 0;
  63634. d = d | 0;
  63635. var e = 0,
  63636. f = 0,
  63637. g = 0;
  63638. e = c[a >> 2] | 0;
  63639. f = c[(a + 4) >> 2] | 0;
  63640. a = (b + (f >> 1)) | 0;
  63641. if (!(f & 1)) g = e;
  63642. else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
  63643. return qc[g & 63](a, d) | 0;
  63644. }
  63645. function Ge(a, b, d, e, f) {
  63646. a = a | 0;
  63647. b = b | 0;
  63648. d = d | 0;
  63649. e = e | 0;
  63650. f = f | 0;
  63651. var g = 0,
  63652. h = 0,
  63653. i = 0;
  63654. g = c[a >> 2] | 0;
  63655. h = c[(a + 4) >> 2] | 0;
  63656. a = (b + (h >> 1)) | 0;
  63657. if (!(h & 1)) i = g;
  63658. else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
  63659. return sc[i & 15](a, d, e, f) | 0;
  63660. }
  63661. function He(a, b, d, e) {
  63662. a = a | 0;
  63663. b = b | 0;
  63664. d = d | 0;
  63665. e = e | 0;
  63666. var f = 0,
  63667. g = 0,
  63668. h = 0;
  63669. f = c[a >> 2] | 0;
  63670. g = c[(a + 4) >> 2] | 0;
  63671. a = (b + (g >> 1)) | 0;
  63672. if (!(g & 1)) h = f;
  63673. else h = c[((c[a >> 2] | 0) + f) >> 2] | 0;
  63674. return rc[h & 31](a, d, e) | 0;
  63675. }
  63676. function Ie(a, b, d, e, f) {
  63677. a = a | 0;
  63678. b = b | 0;
  63679. d = d | 0;
  63680. e = e | 0;
  63681. f = f | 0;
  63682. var g = 0,
  63683. h = 0,
  63684. i = 0;
  63685. g = c[a >> 2] | 0;
  63686. h = c[(a + 4) >> 2] | 0;
  63687. a = (b + (h >> 1)) | 0;
  63688. if (!(h & 1)) i = g;
  63689. else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
  63690. return sc[i & 15](a, d, e, f) | 0;
  63691. }
  63692. function Je(a, b, d, e, f) {
  63693. a = a | 0;
  63694. b = b | 0;
  63695. d = d | 0;
  63696. e = e | 0;
  63697. f = f | 0;
  63698. var g = 0,
  63699. h = 0,
  63700. i = 0;
  63701. g = c[a >> 2] | 0;
  63702. h = c[(a + 4) >> 2] | 0;
  63703. a = (b + (h >> 1)) | 0;
  63704. if (!(h & 1)) i = g;
  63705. else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
  63706. return sc[i & 15](a, d, e, f) | 0;
  63707. }
  63708. function Ke(a) {
  63709. a = a | 0;
  63710. return 10240;
  63711. }
  63712. function Le(a) {
  63713. a = a | 0;
  63714. if (!a) return;
  63715. $f(a);
  63716. Vz(a);
  63717. return;
  63718. }
  63719. function Me() {
  63720. var a = 0;
  63721. a = Uz(36) | 0;
  63722. _f(a);
  63723. return a | 0;
  63724. }
  63725. function Ne(a) {
  63726. a = a | 0;
  63727. return oc[a & 7]() | 0;
  63728. }
  63729. function Oe(a, b, d) {
  63730. a = a | 0;
  63731. b = b | 0;
  63732. d = d | 0;
  63733. var e = 0,
  63734. f = 0,
  63735. g = 0;
  63736. e = c[a >> 2] | 0;
  63737. f = c[(a + 4) >> 2] | 0;
  63738. a = (b + (f >> 1)) | 0;
  63739. if (!(f & 1)) g = e;
  63740. else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
  63741. return qc[g & 63](a, d) | 0;
  63742. }
  63743. function Pe(a, b, d) {
  63744. a = a | 0;
  63745. b = b | 0;
  63746. d = d | 0;
  63747. var e = 0,
  63748. f = 0,
  63749. g = 0;
  63750. e = c[a >> 2] | 0;
  63751. f = c[(a + 4) >> 2] | 0;
  63752. a = (b + (f >> 1)) | 0;
  63753. if (!(f & 1)) g = e;
  63754. else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
  63755. return qc[g & 63](a, d) | 0;
  63756. }
  63757. function Qe(a, b, d, e) {
  63758. a = a | 0;
  63759. b = b | 0;
  63760. d = d | 0;
  63761. e = e | 0;
  63762. var f = 0,
  63763. g = 0,
  63764. h = 0,
  63765. i = 0,
  63766. j = 0,
  63767. k = 0;
  63768. f = l;
  63769. l = (l + 16) | 0;
  63770. g = (f + 4) | 0;
  63771. h = f;
  63772. i = c[a >> 2] | 0;
  63773. j = c[(a + 4) >> 2] | 0;
  63774. a = (b + (j >> 1)) | 0;
  63775. if (!(j & 1)) k = i;
  63776. else k = c[((c[a >> 2] | 0) + i) >> 2] | 0;
  63777. c[g >> 2] = d;
  63778. c[h >> 2] = e;
  63779. e = rc[k & 31](a, g, h) | 0;
  63780. ab(c[h >> 2] | 0);
  63781. ab(c[g >> 2] | 0);
  63782. l = f;
  63783. return e | 0;
  63784. }
  63785. function Re(a, b, d) {
  63786. a = a | 0;
  63787. b = b | 0;
  63788. d = d | 0;
  63789. var e = 0,
  63790. f = 0,
  63791. g = 0,
  63792. h = 0,
  63793. i = 0;
  63794. e = l;
  63795. l = (l + 16) | 0;
  63796. f = e;
  63797. g = c[a >> 2] | 0;
  63798. h = c[(a + 4) >> 2] | 0;
  63799. a = (b + (h >> 1)) | 0;
  63800. if (!(h & 1)) i = g;
  63801. else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
  63802. c[f >> 2] = d;
  63803. d = qc[i & 63](a, f) | 0;
  63804. ab(c[f >> 2] | 0);
  63805. l = e;
  63806. return d | 0;
  63807. }
  63808. function Se(a) {
  63809. a = a | 0;
  63810. return 10280;
  63811. }
  63812. function Te(a) {
  63813. a = a | 0;
  63814. if (!a) return;
  63815. Ag(a);
  63816. Vz(a);
  63817. return;
  63818. }
  63819. function Ue() {
  63820. var a = 0;
  63821. a = Uz(36) | 0;
  63822. zg(a);
  63823. return a | 0;
  63824. }
  63825. function Ve(a) {
  63826. a = a | 0;
  63827. return oc[a & 7]() | 0;
  63828. }
  63829. function We(a, b) {
  63830. a = a | 0;
  63831. b = b | 0;
  63832. var d = 0,
  63833. e = 0,
  63834. f = 0;
  63835. d = c[a >> 2] | 0;
  63836. e = c[(a + 4) >> 2] | 0;
  63837. a = (b + (e >> 1)) | 0;
  63838. if (!(e & 1)) f = d;
  63839. else f = c[((c[a >> 2] | 0) + d) >> 2] | 0;
  63840. return pc[f & 63](a) | 0;
  63841. }
  63842. function Xe(a, b, d) {
  63843. a = a | 0;
  63844. b = b | 0;
  63845. d = d | 0;
  63846. var e = 0,
  63847. f = 0,
  63848. g = 0;
  63849. e = c[a >> 2] | 0;
  63850. f = c[(a + 4) >> 2] | 0;
  63851. a = (b + (f >> 1)) | 0;
  63852. if (!(f & 1)) g = e;
  63853. else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
  63854. return qc[g & 63](a, d) | 0;
  63855. }
  63856. function Ye(a, b, d, e) {
  63857. a = a | 0;
  63858. b = b | 0;
  63859. d = d | 0;
  63860. e = e | 0;
  63861. var f = 0,
  63862. g = 0,
  63863. h = 0,
  63864. i = 0,
  63865. j = 0,
  63866. k = 0;
  63867. f = l;
  63868. l = (l + 16) | 0;
  63869. g = (f + 4) | 0;
  63870. h = f;
  63871. i = c[a >> 2] | 0;
  63872. j = c[(a + 4) >> 2] | 0;
  63873. a = (b + (j >> 1)) | 0;
  63874. if (!(j & 1)) k = i;
  63875. else k = c[((c[a >> 2] | 0) + i) >> 2] | 0;
  63876. c[g >> 2] = d;
  63877. c[h >> 2] = e;
  63878. e = rc[k & 31](a, g, h) | 0;
  63879. ab(c[h >> 2] | 0);
  63880. ab(c[g >> 2] | 0);
  63881. l = f;
  63882. return e | 0;
  63883. }
  63884. function Ze(a, b, d) {
  63885. a = a | 0;
  63886. b = b | 0;
  63887. d = d | 0;
  63888. var e = 0,
  63889. f = 0,
  63890. g = 0,
  63891. h = 0,
  63892. i = 0;
  63893. e = l;
  63894. l = (l + 16) | 0;
  63895. f = e;
  63896. g = c[a >> 2] | 0;
  63897. h = c[(a + 4) >> 2] | 0;
  63898. a = (b + (h >> 1)) | 0;
  63899. if (!(h & 1)) i = g;
  63900. else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
  63901. c[f >> 2] = d;
  63902. d = qc[i & 63](a, f) | 0;
  63903. ab(c[f >> 2] | 0);
  63904. l = e;
  63905. return d | 0;
  63906. }
  63907. function _e() {
  63908. $c(0);
  63909. return;
  63910. }
  63911. function $e(a, b) {
  63912. a = a | 0;
  63913. b = b | 0;
  63914. a = lj(b) | 0;
  63915. b = (Ph(a) | 0) == 0;
  63916. return (b ? (a >>> 0 > 2147483646 ? -2 : a) : -1) | 0;
  63917. }
  63918. function af(a, b) {
  63919. a = a | 0;
  63920. b = b | 0;
  63921. var d = 0;
  63922. a = c[b >> 2] | 0;
  63923. d = wq(a, ((c[(b + 4) >> 2] | 0) - a) | 0) | 0;
  63924. a = (Ph(d) | 0) == 0;
  63925. return (a ? (d >>> 0 > 2147483646 ? -2 : d) : -1) | 0;
  63926. }
  63927. function bf(a, b, d, e) {
  63928. a = a | 0;
  63929. b = b | 0;
  63930. d = d | 0;
  63931. e = e | 0;
  63932. var f = 0,
  63933. g = 0;
  63934. a = c[b >> 2] | 0;
  63935. f = c[d >> 2] | 0;
  63936. g =
  63937. Go(
  63938. a,
  63939. ((c[(b + 4) >> 2] | 0) - a) | 0,
  63940. f,
  63941. ((c[(d + 4) >> 2] | 0) - f) | 0,
  63942. e
  63943. ) | 0;
  63944. e = (Ph(g) | 0) == 0;
  63945. return (e ? (g >>> 0 > 2147483646 ? -2 : g) : -1) | 0;
  63946. }
  63947. function cf(a, b, d) {
  63948. a = a | 0;
  63949. b = b | 0;
  63950. d = d | 0;
  63951. var e = 0,
  63952. f = 0;
  63953. a = c[b >> 2] | 0;
  63954. e = c[d >> 2] | 0;
  63955. f =
  63956. ux(
  63957. a,
  63958. ((c[(b + 4) >> 2] | 0) - a) | 0,
  63959. e,
  63960. ((c[(d + 4) >> 2] | 0) - e) | 0
  63961. ) | 0;
  63962. e = (Ph(f) | 0) == 0;
  63963. return (e ? (f >>> 0 > 2147483646 ? -2 : f) : -1) | 0;
  63964. }
  63965. function df(a, b, d, e) {
  63966. a = a | 0;
  63967. b = b | 0;
  63968. d = d | 0;
  63969. e = e | 0;
  63970. var f = 0,
  63971. g = 0,
  63972. h = 0,
  63973. i = 0,
  63974. j = 0,
  63975. k = 0;
  63976. a = l;
  63977. l = (l + 32) | 0;
  63978. f = a;
  63979. g = mj() | 0;
  63980. c[f >> 2] = g;
  63981. h = (f + 8) | 0;
  63982. c[(f + 24) >> 2] = h;
  63983. c[h >> 2] = 11576;
  63984. c[(f + 12) >> 2] = 68;
  63985. if (!g) {
  63986. i = -3;
  63987. ff(f);
  63988. l = a;
  63989. return i | 0;
  63990. }
  63991. h = c[b >> 2] | 0;
  63992. j = c[d >> 2] | 0;
  63993. k =
  63994. Lo(
  63995. g,
  63996. h,
  63997. ((c[(b + 4) >> 2] | 0) - h) | 0,
  63998. j,
  63999. ((c[(d + 4) >> 2] | 0) - j) | 0,
  64000. c[e >> 2] | 0
  64001. ) | 0;
  64002. e = (Ph(k) | 0) == 0;
  64003. i = e ? (k >>> 0 > 2147483646 ? -2 : k) : -1;
  64004. ff(f);
  64005. l = a;
  64006. return i | 0;
  64007. }
  64008. function ef(a) {
  64009. a = a | 0;
  64010. qj(a) | 0;
  64011. return;
  64012. }
  64013. function ff(a) {
  64014. a = a | 0;
  64015. var b = 0,
  64016. d = 0,
  64017. e = 0,
  64018. f = 0,
  64019. g = 0,
  64020. h = 0,
  64021. i = 0;
  64022. b = l;
  64023. l = (l + 16) | 0;
  64024. d = b;
  64025. e = c[a >> 2] | 0;
  64026. do {
  64027. if (e) {
  64028. c[d >> 2] = e;
  64029. f = (a + 24) | 0;
  64030. g = c[f >> 2] | 0;
  64031. if (!g) {
  64032. h = va(4) | 0;
  64033. c[h >> 2] = 12636;
  64034. ya(h | 0, 10800, 50);
  64035. } else {
  64036. xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
  64037. c[a >> 2] = 0;
  64038. i = f;
  64039. break;
  64040. }
  64041. } else i = (a + 24) | 0;
  64042. } while (0);
  64043. d = c[i >> 2] | 0;
  64044. if (((a + 8) | 0) == (d | 0)) {
  64045. wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
  64046. l = b;
  64047. return;
  64048. }
  64049. if (!d) {
  64050. l = b;
  64051. return;
  64052. }
  64053. wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
  64054. l = b;
  64055. return;
  64056. }
  64057. function gf(a) {
  64058. a = a | 0;
  64059. var b = 0;
  64060. b = c[(a + 16) >> 2] | 0;
  64061. if ((a | 0) == (b | 0)) {
  64062. wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
  64063. return;
  64064. }
  64065. if (!b) return;
  64066. wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
  64067. return;
  64068. }
  64069. function hf(a) {
  64070. a = a | 0;
  64071. return;
  64072. }
  64073. function jf(a) {
  64074. a = a | 0;
  64075. Vz(a);
  64076. return;
  64077. }
  64078. function kf(a) {
  64079. a = a | 0;
  64080. var b = 0;
  64081. b = Uz(8) | 0;
  64082. c[b >> 2] = 11576;
  64083. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64084. return b | 0;
  64085. }
  64086. function lf(a, b) {
  64087. a = a | 0;
  64088. b = b | 0;
  64089. c[b >> 2] = 11576;
  64090. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64091. return;
  64092. }
  64093. function mf(a) {
  64094. a = a | 0;
  64095. return;
  64096. }
  64097. function nf(a) {
  64098. a = a | 0;
  64099. Vz(a);
  64100. return;
  64101. }
  64102. function of(a, b) {
  64103. a = a | 0;
  64104. b = b | 0;
  64105. wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
  64106. return;
  64107. }
  64108. function pf(a, b) {
  64109. a = a | 0;
  64110. b = b | 0;
  64111. return ((c[(b + 4) >> 2] | 0) == 15195 ? (a + 4) | 0 : 0) | 0;
  64112. }
  64113. function qf(a) {
  64114. a = a | 0;
  64115. return 10336;
  64116. }
  64117. function rf(a, b, d, e) {
  64118. a = a | 0;
  64119. b = b | 0;
  64120. d = d | 0;
  64121. e = e | 0;
  64122. var f = 0,
  64123. g = 0,
  64124. h = 0,
  64125. i = 0,
  64126. j = 0,
  64127. k = 0;
  64128. a = l;
  64129. l = (l + 32) | 0;
  64130. f = a;
  64131. g = Wp() | 0;
  64132. c[f >> 2] = g;
  64133. h = (f + 8) | 0;
  64134. c[(f + 24) >> 2] = h;
  64135. c[h >> 2] = 11620;
  64136. c[(f + 12) >> 2] = 69;
  64137. if (!g) {
  64138. i = -4;
  64139. tf(f);
  64140. l = a;
  64141. return i | 0;
  64142. }
  64143. h = c[b >> 2] | 0;
  64144. j = c[d >> 2] | 0;
  64145. k =
  64146. Dx(
  64147. g,
  64148. h,
  64149. ((c[(b + 4) >> 2] | 0) - h) | 0,
  64150. j,
  64151. ((c[(d + 4) >> 2] | 0) - j) | 0,
  64152. c[e >> 2] | 0
  64153. ) | 0;
  64154. e = (Ph(k) | 0) == 0;
  64155. i = e ? (k >>> 0 > 2147483646 ? -2 : k) : -1;
  64156. tf(f);
  64157. l = a;
  64158. return i | 0;
  64159. }
  64160. function sf(a) {
  64161. a = a | 0;
  64162. Xp(a) | 0;
  64163. return;
  64164. }
  64165. function tf(a) {
  64166. a = a | 0;
  64167. var b = 0,
  64168. d = 0,
  64169. e = 0,
  64170. f = 0,
  64171. g = 0,
  64172. h = 0,
  64173. i = 0;
  64174. b = l;
  64175. l = (l + 16) | 0;
  64176. d = b;
  64177. e = c[a >> 2] | 0;
  64178. do {
  64179. if (e) {
  64180. c[d >> 2] = e;
  64181. f = (a + 24) | 0;
  64182. g = c[f >> 2] | 0;
  64183. if (!g) {
  64184. h = va(4) | 0;
  64185. c[h >> 2] = 12636;
  64186. ya(h | 0, 10800, 50);
  64187. } else {
  64188. xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
  64189. c[a >> 2] = 0;
  64190. i = f;
  64191. break;
  64192. }
  64193. } else i = (a + 24) | 0;
  64194. } while (0);
  64195. d = c[i >> 2] | 0;
  64196. if (((a + 8) | 0) == (d | 0)) {
  64197. wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
  64198. l = b;
  64199. return;
  64200. }
  64201. if (!d) {
  64202. l = b;
  64203. return;
  64204. }
  64205. wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
  64206. l = b;
  64207. return;
  64208. }
  64209. function uf(a) {
  64210. a = a | 0;
  64211. var b = 0;
  64212. b = c[(a + 16) >> 2] | 0;
  64213. if ((a | 0) == (b | 0)) {
  64214. wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
  64215. return;
  64216. }
  64217. if (!b) return;
  64218. wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
  64219. return;
  64220. }
  64221. function vf(a) {
  64222. a = a | 0;
  64223. return;
  64224. }
  64225. function wf(a) {
  64226. a = a | 0;
  64227. Vz(a);
  64228. return;
  64229. }
  64230. function xf(a) {
  64231. a = a | 0;
  64232. var b = 0;
  64233. b = Uz(8) | 0;
  64234. c[b >> 2] = 11620;
  64235. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64236. return b | 0;
  64237. }
  64238. function yf(a, b) {
  64239. a = a | 0;
  64240. b = b | 0;
  64241. c[b >> 2] = 11620;
  64242. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64243. return;
  64244. }
  64245. function zf(a) {
  64246. a = a | 0;
  64247. return;
  64248. }
  64249. function Af(a) {
  64250. a = a | 0;
  64251. Vz(a);
  64252. return;
  64253. }
  64254. function Bf(a, b) {
  64255. a = a | 0;
  64256. b = b | 0;
  64257. wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
  64258. return;
  64259. }
  64260. function Cf(a, b) {
  64261. a = a | 0;
  64262. b = b | 0;
  64263. return ((c[(b + 4) >> 2] | 0) == 15349 ? (a + 4) | 0 : 0) | 0;
  64264. }
  64265. function Df(a) {
  64266. a = a | 0;
  64267. return 10384;
  64268. }
  64269. function Ef(a, b, d) {
  64270. a = a | 0;
  64271. b = b | 0;
  64272. d = d | 0;
  64273. var e = 0;
  64274. e = c[b >> 2] | 0;
  64275. c[a >> 2] = Ho(e, ((c[(b + 4) >> 2] | 0) - e) | 0, d) | 0;
  64276. d = (a + 8) | 0;
  64277. c[(a + 24) >> 2] = d;
  64278. c[d >> 2] = 11664;
  64279. c[(a + 12) >> 2] = 70;
  64280. return;
  64281. }
  64282. function Ff(a) {
  64283. a = a | 0;
  64284. rj(a) | 0;
  64285. return;
  64286. }
  64287. function Gf(a) {
  64288. a = a | 0;
  64289. return;
  64290. }
  64291. function Hf(a) {
  64292. a = a | 0;
  64293. Vz(a);
  64294. return;
  64295. }
  64296. function If(a) {
  64297. a = a | 0;
  64298. var b = 0;
  64299. b = Uz(8) | 0;
  64300. c[b >> 2] = 11664;
  64301. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64302. return b | 0;
  64303. }
  64304. function Jf(a, b) {
  64305. a = a | 0;
  64306. b = b | 0;
  64307. c[b >> 2] = 11664;
  64308. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64309. return;
  64310. }
  64311. function Kf(a) {
  64312. a = a | 0;
  64313. return;
  64314. }
  64315. function Lf(a) {
  64316. a = a | 0;
  64317. Vz(a);
  64318. return;
  64319. }
  64320. function Mf(a, b) {
  64321. a = a | 0;
  64322. b = b | 0;
  64323. wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
  64324. return;
  64325. }
  64326. function Nf(a, b) {
  64327. a = a | 0;
  64328. b = b | 0;
  64329. return ((c[(b + 4) >> 2] | 0) == 15503 ? (a + 4) | 0 : 0) | 0;
  64330. }
  64331. function Of(a) {
  64332. a = a | 0;
  64333. return 10432;
  64334. }
  64335. function Pf(a, b) {
  64336. a = a | 0;
  64337. b = b | 0;
  64338. var d = 0;
  64339. d = c[b >> 2] | 0;
  64340. c[a >> 2] = Cx(d, ((c[(b + 4) >> 2] | 0) - d) | 0) | 0;
  64341. d = (a + 8) | 0;
  64342. c[(a + 24) >> 2] = d;
  64343. c[d >> 2] = 11708;
  64344. c[(a + 12) >> 2] = 71;
  64345. return;
  64346. }
  64347. function Qf(a) {
  64348. a = a | 0;
  64349. Yp(a) | 0;
  64350. return;
  64351. }
  64352. function Rf(a) {
  64353. a = a | 0;
  64354. return;
  64355. }
  64356. function Sf(a) {
  64357. a = a | 0;
  64358. Vz(a);
  64359. return;
  64360. }
  64361. function Tf(a) {
  64362. a = a | 0;
  64363. var b = 0;
  64364. b = Uz(8) | 0;
  64365. c[b >> 2] = 11708;
  64366. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64367. return b | 0;
  64368. }
  64369. function Uf(a, b) {
  64370. a = a | 0;
  64371. b = b | 0;
  64372. c[b >> 2] = 11708;
  64373. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64374. return;
  64375. }
  64376. function Vf(a) {
  64377. a = a | 0;
  64378. return;
  64379. }
  64380. function Wf(a) {
  64381. a = a | 0;
  64382. Vz(a);
  64383. return;
  64384. }
  64385. function Xf(a, b) {
  64386. a = a | 0;
  64387. b = b | 0;
  64388. wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
  64389. return;
  64390. }
  64391. function Yf(a, b) {
  64392. a = a | 0;
  64393. b = b | 0;
  64394. return ((c[(b + 4) >> 2] | 0) == 15661 ? (a + 4) | 0 : 0) | 0;
  64395. }
  64396. function Zf(a) {
  64397. a = a | 0;
  64398. return 10480;
  64399. }
  64400. function _f(a) {
  64401. a = a | 0;
  64402. var b = 0;
  64403. c[a >> 2] = 0;
  64404. c[(a + 4) >> 2] = 44;
  64405. b = (a + 8) | 0;
  64406. c[b >> 2] = 0;
  64407. c[(b + 4) >> 2] = 0;
  64408. c[(b + 8) >> 2] = 0;
  64409. c[(b + 12) >> 2] = 0;
  64410. c[(b + 16) >> 2] = 0;
  64411. c[(b + 20) >> 2] = 0;
  64412. c[(b + 24) >> 2] = 0;
  64413. return;
  64414. }
  64415. function $f(a) {
  64416. a = a | 0;
  64417. var b = 0;
  64418. b = c[(a + 24) >> 2] | 0;
  64419. if (b | 0) {
  64420. c[(a + 28) >> 2] = b;
  64421. Vz(b);
  64422. }
  64423. b = c[(a + 12) >> 2] | 0;
  64424. if (b | 0) {
  64425. c[(a + 16) >> 2] = b;
  64426. Vz(b);
  64427. }
  64428. b = c[a >> 2] | 0;
  64429. c[a >> 2] = 0;
  64430. if (!b) return;
  64431. pc[c[(a + 4) >> 2] & 63](b) | 0;
  64432. return;
  64433. }
  64434. function ag(a, b) {
  64435. a = a | 0;
  64436. b = b | 0;
  64437. var d = 0,
  64438. e = 0,
  64439. f = 0;
  64440. d = l;
  64441. l = (l + 32) | 0;
  64442. e = d;
  64443. f = (e + 16) | 0;
  64444. c[e >> 2] = 11752;
  64445. c[(e + 4) >> 2] = b;
  64446. c[f >> 2] = e;
  64447. b = bg(a, e) | 0;
  64448. a = c[f >> 2] | 0;
  64449. if ((e | 0) == (a | 0)) {
  64450. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  64451. l = d;
  64452. return b | 0;
  64453. }
  64454. if (!a) {
  64455. l = d;
  64456. return b | 0;
  64457. }
  64458. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  64459. l = d;
  64460. return b | 0;
  64461. }
  64462. function bg(a, b) {
  64463. a = a | 0;
  64464. b = b | 0;
  64465. var d = 0,
  64466. e = 0,
  64467. f = 0,
  64468. g = 0,
  64469. h = 0,
  64470. i = 0,
  64471. j = 0,
  64472. k = 0,
  64473. m = 0;
  64474. d = l;
  64475. l = (l + 16) | 0;
  64476. e = d;
  64477. if (c[a >> 2] | 0) {
  64478. f = 1;
  64479. l = d;
  64480. return f | 0;
  64481. }
  64482. g = Mo() | 0;
  64483. if (!g) {
  64484. f = 0;
  64485. l = d;
  64486. return f | 0;
  64487. }
  64488. c[e >> 2] = g;
  64489. h = c[(b + 16) >> 2] | 0;
  64490. if (!h) {
  64491. b = va(4) | 0;
  64492. c[b >> 2] = 12636;
  64493. ya(b | 0, 10800, 50);
  64494. }
  64495. if (
  64496. Ph(qc[c[((c[h >> 2] | 0) + 24) >> 2] & 63](h, e) | 0) | 0
  64497. ) {
  64498. Oo(g) | 0;
  64499. f = 0;
  64500. l = d;
  64501. return f | 0;
  64502. }
  64503. e = c[a >> 2] | 0;
  64504. c[a >> 2] = g;
  64505. g = (a + 4) | 0;
  64506. if (e | 0) pc[c[g >> 2] & 63](e) | 0;
  64507. c[g >> 2] = 44;
  64508. g = Po() | 0;
  64509. e = (a + 12) | 0;
  64510. h = (a + 20) | 0;
  64511. b = c[e >> 2] | 0;
  64512. i = b;
  64513. if ((((c[h >> 2] | 0) - b) | 0) >>> 0 < g >>> 0) {
  64514. j = (a + 16) | 0;
  64515. k = ((c[j >> 2] | 0) - b) | 0;
  64516. m = Uz(g) | 0;
  64517. if ((k | 0) > 0) mE(m | 0, i | 0, k | 0) | 0;
  64518. c[e >> 2] = m;
  64519. c[j >> 2] = m + k;
  64520. c[h >> 2] = m + g;
  64521. if (b | 0) Vz(i);
  64522. }
  64523. cg((a + 24) | 0, Qo() | 0);
  64524. c[(a + 8) >> 2] = (c[h >> 2] | 0) - (c[e >> 2] | 0);
  64525. f = 1;
  64526. l = d;
  64527. return f | 0;
  64528. }
  64529. function cg(b, d) {
  64530. b = b | 0;
  64531. d = d | 0;
  64532. var e = 0,
  64533. f = 0,
  64534. g = 0,
  64535. h = 0,
  64536. i = 0,
  64537. j = 0,
  64538. k = 0,
  64539. l = 0,
  64540. m = 0,
  64541. n = 0,
  64542. o = 0;
  64543. e = (b + 4) | 0;
  64544. f = c[e >> 2] | 0;
  64545. g = c[b >> 2] | 0;
  64546. h = (f - g) | 0;
  64547. i = g;
  64548. if (h >>> 0 >= d >>> 0) {
  64549. if (h >>> 0 <= d >>> 0) return;
  64550. c[e >> 2] = i + d;
  64551. return;
  64552. }
  64553. j = (d - h) | 0;
  64554. k = (b + 8) | 0;
  64555. l = c[k >> 2] | 0;
  64556. if (((l - f) | 0) >>> 0 >= j >>> 0) {
  64557. m = j;
  64558. n = f;
  64559. do {
  64560. a[n >> 0] = 0;
  64561. n = ((c[e >> 2] | 0) + 1) | 0;
  64562. c[e >> 2] = n;
  64563. m = (m + -1) | 0;
  64564. } while ((m | 0) != 0);
  64565. return;
  64566. }
  64567. if ((d | 0) < 0) Wz(b);
  64568. m = (l - g) | 0;
  64569. l = m << 1;
  64570. n =
  64571. m >>> 0 < 1073741823
  64572. ? l >>> 0 < d >>> 0
  64573. ? d
  64574. : l
  64575. : 2147483647;
  64576. if (!n) o = 0;
  64577. else o = Uz(n) | 0;
  64578. oE((o + h) | 0, 0, j | 0) | 0;
  64579. if ((h | 0) > 0) mE(o | 0, i | 0, h | 0) | 0;
  64580. c[b >> 2] = o;
  64581. c[e >> 2] = o + d;
  64582. c[k >> 2] = o + n;
  64583. if (!g) return;
  64584. Vz(i);
  64585. return;
  64586. }
  64587. function dg(a) {
  64588. a = a | 0;
  64589. return;
  64590. }
  64591. function eg(a) {
  64592. a = a | 0;
  64593. Vz(a);
  64594. return;
  64595. }
  64596. function fg(a) {
  64597. a = a | 0;
  64598. var b = 0;
  64599. b = Uz(8) | 0;
  64600. c[b >> 2] = 11752;
  64601. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64602. return b | 0;
  64603. }
  64604. function gg(a, b) {
  64605. a = a | 0;
  64606. b = b | 0;
  64607. c[b >> 2] = 11752;
  64608. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64609. return;
  64610. }
  64611. function hg(a) {
  64612. a = a | 0;
  64613. return;
  64614. }
  64615. function ig(a) {
  64616. a = a | 0;
  64617. Vz(a);
  64618. return;
  64619. }
  64620. function jg(a, b) {
  64621. a = a | 0;
  64622. b = b | 0;
  64623. return Wo(c[b >> 2] | 0, c[(a + 4) >> 2] | 0) | 0;
  64624. }
  64625. function kg(a, b) {
  64626. a = a | 0;
  64627. b = b | 0;
  64628. return ((c[(b + 4) >> 2] | 0) == 15819 ? (a + 4) | 0 : 0) | 0;
  64629. }
  64630. function lg(a) {
  64631. a = a | 0;
  64632. return 10528;
  64633. }
  64634. function mg(a, b) {
  64635. a = a | 0;
  64636. b = b | 0;
  64637. var d = 0,
  64638. e = 0,
  64639. f = 0;
  64640. d = l;
  64641. l = (l + 32) | 0;
  64642. e = d;
  64643. f = (e + 16) | 0;
  64644. c[e >> 2] = 11796;
  64645. c[(e + 4) >> 2] = b;
  64646. c[f >> 2] = e;
  64647. b = bg(a, e) | 0;
  64648. a = c[f >> 2] | 0;
  64649. if ((e | 0) == (a | 0)) {
  64650. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  64651. l = d;
  64652. return b | 0;
  64653. }
  64654. if (!a) {
  64655. l = d;
  64656. return b | 0;
  64657. }
  64658. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  64659. l = d;
  64660. return b | 0;
  64661. }
  64662. function ng(a) {
  64663. a = a | 0;
  64664. Vz(a);
  64665. return;
  64666. }
  64667. function og(a) {
  64668. a = a | 0;
  64669. var b = 0;
  64670. b = Uz(8) | 0;
  64671. c[b >> 2] = 11796;
  64672. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64673. return b | 0;
  64674. }
  64675. function pg(a, b) {
  64676. a = a | 0;
  64677. b = b | 0;
  64678. c[b >> 2] = 11796;
  64679. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  64680. return;
  64681. }
  64682. function qg(a) {
  64683. a = a | 0;
  64684. return;
  64685. }
  64686. function rg(a) {
  64687. a = a | 0;
  64688. Vz(a);
  64689. return;
  64690. }
  64691. function sg(a, b) {
  64692. a = a | 0;
  64693. b = b | 0;
  64694. return Uo(c[b >> 2] | 0, c[c[(a + 4) >> 2] >> 2] | 0) | 0;
  64695. }
  64696. function tg(a, b) {
  64697. a = a | 0;
  64698. b = b | 0;
  64699. return ((c[(b + 4) >> 2] | 0) == 16003 ? (a + 4) | 0 : 0) | 0;
  64700. }
  64701. function ug(a) {
  64702. a = a | 0;
  64703. return 10560;
  64704. }
  64705. function vg(b, d, e) {
  64706. b = b | 0;
  64707. d = d | 0;
  64708. e = e | 0;
  64709. var f = 0,
  64710. g = 0,
  64711. h = 0,
  64712. i = 0,
  64713. j = 0,
  64714. k = 0,
  64715. l = 0,
  64716. m = 0,
  64717. n = 0,
  64718. o = 0,
  64719. p = 0,
  64720. q = 0,
  64721. r = 0,
  64722. s = 0,
  64723. t = 0,
  64724. u = 0,
  64725. v = 0,
  64726. w = 0,
  64727. x = 0,
  64728. y = 0,
  64729. z = 0,
  64730. A = 0,
  64731. B = 0,
  64732. C = 0;
  64733. if (!(c[b >> 2] | 0)) {
  64734. f = 0;
  64735. return f | 0;
  64736. }
  64737. g = (d + 4) | 0;
  64738. h = c[d >> 2] | 0;
  64739. i = ((c[g >> 2] | 0) - h) | 0;
  64740. if (!i) {
  64741. f = 1;
  64742. return f | 0;
  64743. }
  64744. j = (b + 12) | 0;
  64745. k = (b + 20) | 0;
  64746. l = (b + 16) | 0;
  64747. m = (b + 8) | 0;
  64748. n = 0;
  64749. o = h;
  64750. h = i;
  64751. a: while (1) {
  64752. i = c[k >> 2] | 0;
  64753. p = c[j >> 2] | 0;
  64754. q = c[l >> 2] | 0;
  64755. r = (p - q + (i - p)) | 0;
  64756. s = (h - n) | 0;
  64757. t = s >>> 0 < r >>> 0 ? s : r;
  64758. s = (o + n) | 0;
  64759. u = (s + t) | 0;
  64760. n = (t + n) | 0;
  64761. if (!t) {
  64762. v = p;
  64763. w = q;
  64764. } else {
  64765. p = q;
  64766. q = i;
  64767. i = s;
  64768. while (1) {
  64769. if ((p | 0) == (q | 0)) {
  64770. s = c[j >> 2] | 0;
  64771. t = (q - s) | 0;
  64772. x = (t + 1) | 0;
  64773. y = s;
  64774. if ((x | 0) < 0) {
  64775. z = 9;
  64776. break a;
  64777. }
  64778. A = t << 1;
  64779. B =
  64780. t >>> 0 < 1073741823
  64781. ? A >>> 0 < x >>> 0
  64782. ? x
  64783. : A
  64784. : 2147483647;
  64785. if (!B) C = 0;
  64786. else C = Uz(B) | 0;
  64787. A = (C + t) | 0;
  64788. a[A >> 0] = a[i >> 0] | 0;
  64789. if ((t | 0) > 0) mE(C | 0, y | 0, t | 0) | 0;
  64790. c[j >> 2] = C;
  64791. c[l >> 2] = A + 1;
  64792. c[k >> 2] = C + B;
  64793. if (s | 0) Vz(y);
  64794. } else {
  64795. a[p >> 0] = a[i >> 0] | 0;
  64796. c[l >> 2] = (c[l >> 2] | 0) + 1;
  64797. }
  64798. y = (i + 1) | 0;
  64799. if ((y | 0) == (u | 0)) break;
  64800. p = c[l >> 2] | 0;
  64801. q = c[k >> 2] | 0;
  64802. i = y;
  64803. }
  64804. v = c[j >> 2] | 0;
  64805. w = c[l >> 2] | 0;
  64806. }
  64807. if (
  64808. (
  64809. (r | 0) == 0
  64810. ? 1
  64811. : ((w - v) | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0
  64812. )
  64813. ? !(wg(b, e) | 0)
  64814. : 0
  64815. ) {
  64816. f = 0;
  64817. z = 22;
  64818. break;
  64819. }
  64820. o = c[d >> 2] | 0;
  64821. h = ((c[g >> 2] | 0) - o) | 0;
  64822. if (h >>> 0 <= n >>> 0) {
  64823. f = 1;
  64824. z = 22;
  64825. break;
  64826. }
  64827. }
  64828. if ((z | 0) == 9) Wz(j);
  64829. else if ((z | 0) == 22) return f | 0;
  64830. return 0;
  64831. }
  64832. function wg(a, b) {
  64833. a = a | 0;
  64834. b = b | 0;
  64835. var d = 0,
  64836. e = 0,
  64837. f = 0,
  64838. g = 0,
  64839. h = 0,
  64840. i = 0,
  64841. j = 0,
  64842. k = 0,
  64843. m = 0,
  64844. n = 0,
  64845. o = 0,
  64846. p = 0,
  64847. q = 0,
  64848. r = 0,
  64849. s = 0,
  64850. t = 0,
  64851. u = 0,
  64852. v = 0,
  64853. w = 0,
  64854. x = 0,
  64855. y = 0;
  64856. d = l;
  64857. l = (l + 32) | 0;
  64858. e = (d + 12) | 0;
  64859. f = d;
  64860. g = (a + 12) | 0;
  64861. h = c[g >> 2] | 0;
  64862. i = (a + 16) | 0;
  64863. j = c[i >> 2] | 0;
  64864. k = h;
  64865. if ((h | 0) == (j | 0)) {
  64866. m = 1;
  64867. l = d;
  64868. return m | 0;
  64869. }
  64870. c[e >> 2] = h;
  64871. h = (e + 4) | 0;
  64872. n = (j - k) | 0;
  64873. c[h >> 2] = n;
  64874. j = (e + 8) | 0;
  64875. c[j >> 2] = 0;
  64876. do {
  64877. if (n) {
  64878. o = (a + 24) | 0;
  64879. p = (a + 32) | 0;
  64880. q = (f + 4) | 0;
  64881. r = (a + 28) | 0;
  64882. s = (f + 8) | 0;
  64883. t = (a + 8) | 0;
  64884. u = (b + 16) | 0;
  64885. while (1) {
  64886. cg(o, ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0);
  64887. v = c[o >> 2] | 0;
  64888. c[f >> 2] = v;
  64889. c[q >> 2] = (c[r >> 2] | 0) - v;
  64890. c[s >> 2] = 0;
  64891. v = Zo(c[a >> 2] | 0, f, e) | 0;
  64892. c[t >> 2] = v;
  64893. if (Ph(v) | 0) {
  64894. w = 8;
  64895. break;
  64896. }
  64897. cg(o, c[s >> 2] | 0);
  64898. v = c[u >> 2] | 0;
  64899. if (!v) {
  64900. w = 6;
  64901. break;
  64902. }
  64903. xc[c[((c[v >> 2] | 0) + 24) >> 2] & 31](v, o);
  64904. if ((c[j >> 2] | 0) >>> 0 >= (c[h >> 2] | 0) >>> 0) {
  64905. w = 9;
  64906. break;
  64907. }
  64908. }
  64909. if ((w | 0) == 6) {
  64910. o = va(4) | 0;
  64911. c[o >> 2] = 12636;
  64912. ya(o | 0, 10800, 50);
  64913. } else if ((w | 0) == 8) {
  64914. x = 0;
  64915. break;
  64916. } else if ((w | 0) == 9) {
  64917. y = c[g >> 2] | 0;
  64918. w = 10;
  64919. break;
  64920. }
  64921. } else {
  64922. y = k;
  64923. w = 10;
  64924. }
  64925. } while (0);
  64926. if ((w | 0) == 10) {
  64927. c[i >> 2] = y;
  64928. x = 1;
  64929. }
  64930. m = x;
  64931. l = d;
  64932. return m | 0;
  64933. }
  64934. function xg(a, b) {
  64935. a = a | 0;
  64936. b = b | 0;
  64937. return wg(a, b) | 0;
  64938. }
  64939. function yg(a, b) {
  64940. a = a | 0;
  64941. b = b | 0;
  64942. var d = 0,
  64943. e = 0,
  64944. f = 0,
  64945. g = 0,
  64946. h = 0,
  64947. i = 0,
  64948. j = 0,
  64949. k = 0;
  64950. d = l;
  64951. l = (l + 16) | 0;
  64952. e = d;
  64953. if (!(c[a >> 2] | 0)) {
  64954. f = 1;
  64955. l = d;
  64956. return f | 0;
  64957. }
  64958. if (
  64959. (c[(a + 12) >> 2] | 0) != (c[(a + 16) >> 2] | 0)
  64960. ? !(wg(a, b) | 0)
  64961. : 0
  64962. )
  64963. g = 0;
  64964. else h = 4;
  64965. do {
  64966. if ((h | 0) == 4) {
  64967. i = (a + 24) | 0;
  64968. cg(i, ((c[(a + 32) >> 2] | 0) - (c[i >> 2] | 0)) | 0);
  64969. j = c[i >> 2] | 0;
  64970. c[e >> 2] = j;
  64971. c[(e + 4) >> 2] = (c[(a + 28) >> 2] | 0) - j;
  64972. j = (e + 8) | 0;
  64973. c[j >> 2] = 0;
  64974. if (_o(c[a >> 2] | 0, e) | 0) {
  64975. f = 0;
  64976. l = d;
  64977. return f | 0;
  64978. }
  64979. cg(i, c[j >> 2] | 0);
  64980. j = c[(b + 16) >> 2] | 0;
  64981. if (!j) {
  64982. k = va(4) | 0;
  64983. c[k >> 2] = 12636;
  64984. ya(k | 0, 10800, 50);
  64985. } else {
  64986. xc[c[((c[j >> 2] | 0) + 24) >> 2] & 31](j, i);
  64987. g = 1;
  64988. break;
  64989. }
  64990. }
  64991. } while (0);
  64992. b = c[a >> 2] | 0;
  64993. c[a >> 2] = 0;
  64994. if (!b) {
  64995. f = g;
  64996. l = d;
  64997. return f | 0;
  64998. }
  64999. pc[c[(a + 4) >> 2] & 63](b) | 0;
  65000. f = g;
  65001. l = d;
  65002. return f | 0;
  65003. }
  65004. function zg(a) {
  65005. a = a | 0;
  65006. var b = 0;
  65007. c[a >> 2] = 0;
  65008. c[(a + 4) >> 2] = 45;
  65009. b = (a + 8) | 0;
  65010. c[b >> 2] = 0;
  65011. c[(b + 4) >> 2] = 0;
  65012. c[(b + 8) >> 2] = 0;
  65013. c[(b + 12) >> 2] = 0;
  65014. c[(b + 16) >> 2] = 0;
  65015. c[(b + 20) >> 2] = 0;
  65016. c[(b + 24) >> 2] = 0;
  65017. return;
  65018. }
  65019. function Ag(a) {
  65020. a = a | 0;
  65021. var b = 0;
  65022. b = c[(a + 24) >> 2] | 0;
  65023. if (b | 0) {
  65024. c[(a + 28) >> 2] = b;
  65025. Vz(b);
  65026. }
  65027. b = c[(a + 12) >> 2] | 0;
  65028. if (b | 0) {
  65029. c[(a + 16) >> 2] = b;
  65030. Vz(b);
  65031. }
  65032. b = c[a >> 2] | 0;
  65033. c[a >> 2] = 0;
  65034. if (!b) return;
  65035. pc[c[(a + 4) >> 2] & 63](b) | 0;
  65036. return;
  65037. }
  65038. function Bg(a) {
  65039. a = a | 0;
  65040. var b = 0,
  65041. d = 0,
  65042. e = 0,
  65043. f = 0;
  65044. b = l;
  65045. l = (l + 32) | 0;
  65046. d = b;
  65047. e = (d + 16) | 0;
  65048. c[d >> 2] = 11840;
  65049. c[e >> 2] = d;
  65050. f = Cg(a, d) | 0;
  65051. a = c[e >> 2] | 0;
  65052. if ((d | 0) == (a | 0)) {
  65053. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  65054. l = b;
  65055. return f | 0;
  65056. }
  65057. if (!a) {
  65058. l = b;
  65059. return f | 0;
  65060. }
  65061. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  65062. l = b;
  65063. return f | 0;
  65064. }
  65065. function Cg(a, b) {
  65066. a = a | 0;
  65067. b = b | 0;
  65068. var d = 0,
  65069. e = 0,
  65070. f = 0,
  65071. g = 0,
  65072. h = 0,
  65073. i = 0,
  65074. j = 0,
  65075. k = 0,
  65076. m = 0,
  65077. n = 0;
  65078. d = l;
  65079. l = (l + 16) | 0;
  65080. e = d;
  65081. if (c[a >> 2] | 0) {
  65082. f = 1;
  65083. l = d;
  65084. return f | 0;
  65085. }
  65086. g = Ex() | 0;
  65087. if (!g) {
  65088. f = 0;
  65089. l = d;
  65090. return f | 0;
  65091. }
  65092. c[e >> 2] = g;
  65093. h = c[(b + 16) >> 2] | 0;
  65094. if (!h) {
  65095. b = va(4) | 0;
  65096. c[b >> 2] = 12636;
  65097. ya(b | 0, 10800, 50);
  65098. }
  65099. b = qc[c[((c[h >> 2] | 0) + 24) >> 2] & 63](h, e) | 0;
  65100. if (Ph(b) | 0) {
  65101. Gx(g) | 0;
  65102. f = 0;
  65103. l = d;
  65104. return f | 0;
  65105. }
  65106. e = c[a >> 2] | 0;
  65107. c[a >> 2] = g;
  65108. g = (a + 4) | 0;
  65109. if (e | 0) pc[c[g >> 2] & 63](e) | 0;
  65110. c[g >> 2] = 45;
  65111. g = Hx() | 0;
  65112. e = (a + 12) | 0;
  65113. h = (a + 20) | 0;
  65114. i = c[e >> 2] | 0;
  65115. j = i;
  65116. if ((((c[h >> 2] | 0) - i) | 0) >>> 0 < g >>> 0) {
  65117. k = (a + 16) | 0;
  65118. m = ((c[k >> 2] | 0) - i) | 0;
  65119. n = Uz(g) | 0;
  65120. if ((m | 0) > 0) mE(n | 0, j | 0, m | 0) | 0;
  65121. c[e >> 2] = n;
  65122. c[k >> 2] = n + m;
  65123. c[h >> 2] = n + g;
  65124. if (i | 0) Vz(j);
  65125. }
  65126. cg((a + 24) | 0, Ix() | 0);
  65127. c[(a + 8) >> 2] = b;
  65128. f = 1;
  65129. l = d;
  65130. return f | 0;
  65131. }
  65132. function Dg(a) {
  65133. a = a | 0;
  65134. return;
  65135. }
  65136. function Eg(a) {
  65137. a = a | 0;
  65138. Vz(a);
  65139. return;
  65140. }
  65141. function Fg(a) {
  65142. a = a | 0;
  65143. a = Uz(8) | 0;
  65144. c[a >> 2] = 11840;
  65145. return a | 0;
  65146. }
  65147. function Gg(a, b) {
  65148. a = a | 0;
  65149. b = b | 0;
  65150. c[b >> 2] = 11840;
  65151. return;
  65152. }
  65153. function Hg(a) {
  65154. a = a | 0;
  65155. return;
  65156. }
  65157. function Ig(a) {
  65158. a = a | 0;
  65159. Vz(a);
  65160. return;
  65161. }
  65162. function Jg(a, b) {
  65163. a = a | 0;
  65164. b = b | 0;
  65165. return Mx(c[b >> 2] | 0) | 0;
  65166. }
  65167. function Kg(a, b) {
  65168. a = a | 0;
  65169. b = b | 0;
  65170. return ((c[(b + 4) >> 2] | 0) == 16184 ? (a + 4) | 0 : 0) | 0;
  65171. }
  65172. function Lg(a) {
  65173. a = a | 0;
  65174. return 10584;
  65175. }
  65176. function Mg(a, b) {
  65177. a = a | 0;
  65178. b = b | 0;
  65179. var d = 0,
  65180. e = 0,
  65181. f = 0;
  65182. d = l;
  65183. l = (l + 32) | 0;
  65184. e = d;
  65185. f = (e + 16) | 0;
  65186. c[e >> 2] = 11884;
  65187. c[(e + 4) >> 2] = b;
  65188. c[f >> 2] = e;
  65189. b = Cg(a, e) | 0;
  65190. a = c[f >> 2] | 0;
  65191. if ((e | 0) == (a | 0)) {
  65192. wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
  65193. l = d;
  65194. return b | 0;
  65195. }
  65196. if (!a) {
  65197. l = d;
  65198. return b | 0;
  65199. }
  65200. wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
  65201. l = d;
  65202. return b | 0;
  65203. }
  65204. function Ng(a) {
  65205. a = a | 0;
  65206. Vz(a);
  65207. return;
  65208. }
  65209. function Og(a) {
  65210. a = a | 0;
  65211. var b = 0;
  65212. b = Uz(8) | 0;
  65213. c[b >> 2] = 11884;
  65214. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  65215. return b | 0;
  65216. }
  65217. function Pg(a, b) {
  65218. a = a | 0;
  65219. b = b | 0;
  65220. c[b >> 2] = 11884;
  65221. c[(b + 4) >> 2] = c[(a + 4) >> 2];
  65222. return;
  65223. }
  65224. function Qg(a) {
  65225. a = a | 0;
  65226. return;
  65227. }
  65228. function Rg(a) {
  65229. a = a | 0;
  65230. Vz(a);
  65231. return;
  65232. }
  65233. function Sg(a, b) {
  65234. a = a | 0;
  65235. b = b | 0;
  65236. return Nx(c[b >> 2] | 0, c[c[(a + 4) >> 2] >> 2] | 0) | 0;
  65237. }
  65238. function Tg(a, b) {
  65239. a = a | 0;
  65240. b = b | 0;
  65241. return ((c[(b + 4) >> 2] | 0) == 16372 ? (a + 4) | 0 : 0) | 0;
  65242. }
  65243. function Ug(a) {
  65244. a = a | 0;
  65245. return 10616;
  65246. }
  65247. function Vg(b, d, e) {
  65248. b = b | 0;
  65249. d = d | 0;
  65250. e = e | 0;
  65251. var f = 0,
  65252. g = 0,
  65253. h = 0,
  65254. i = 0,
  65255. j = 0,
  65256. k = 0,
  65257. l = 0,
  65258. m = 0,
  65259. n = 0,
  65260. o = 0,
  65261. p = 0,
  65262. q = 0,
  65263. r = 0,
  65264. s = 0,
  65265. t = 0,
  65266. u = 0,
  65267. v = 0,
  65268. w = 0,
  65269. x = 0,
  65270. y = 0,
  65271. z = 0,
  65272. A = 0,
  65273. B = 0,
  65274. C = 0;
  65275. if (!(c[b >> 2] | 0)) {
  65276. f = 0;
  65277. return f | 0;
  65278. }
  65279. g = (d + 4) | 0;
  65280. h = c[d >> 2] | 0;
  65281. i = ((c[g >> 2] | 0) - h) | 0;
  65282. if (!i) {
  65283. f = 1;
  65284. return f | 0;
  65285. }
  65286. j = (b + 12) | 0;
  65287. k = (b + 20) | 0;
  65288. l = (b + 16) | 0;
  65289. m = (b + 8) | 0;
  65290. n = 0;
  65291. o = h;
  65292. h = i;
  65293. a: while (1) {
  65294. i = c[k >> 2] | 0;
  65295. p = c[j >> 2] | 0;
  65296. q = c[l >> 2] | 0;
  65297. r = (p - q + (i - p)) | 0;
  65298. s = (h - n) | 0;
  65299. t = s >>> 0 < r >>> 0 ? s : r;
  65300. s = (o + n) | 0;
  65301. u = (s + t) | 0;
  65302. n = (t + n) | 0;
  65303. if (!t) {
  65304. v = p;
  65305. w = q;
  65306. } else {
  65307. p = q;
  65308. q = i;
  65309. i = s;
  65310. while (1) {
  65311. if ((p | 0) == (q | 0)) {
  65312. s = c[j >> 2] | 0;
  65313. t = (q - s) | 0;
  65314. x = (t + 1) | 0;
  65315. y = s;
  65316. if ((x | 0) < 0) {
  65317. z = 9;
  65318. break a;
  65319. }
  65320. A = t << 1;
  65321. B =
  65322. t >>> 0 < 1073741823
  65323. ? A >>> 0 < x >>> 0
  65324. ? x
  65325. : A
  65326. : 2147483647;
  65327. if (!B) C = 0;
  65328. else C = Uz(B) | 0;
  65329. A = (C + t) | 0;
  65330. a[A >> 0] = a[i >> 0] | 0;
  65331. if ((t | 0) > 0) mE(C | 0, y | 0, t | 0) | 0;
  65332. c[j >> 2] = C;
  65333. c[l >> 2] = A + 1;
  65334. c[k >> 2] = C + B;
  65335. if (s | 0) Vz(y);
  65336. } else {
  65337. a[p >> 0] = a[i >> 0] | 0;
  65338. c[l >> 2] = (c[l >> 2] | 0) + 1;
  65339. }
  65340. y = (i + 1) | 0;
  65341. if ((y | 0) == (u | 0)) break;
  65342. p = c[l >> 2] | 0;
  65343. q = c[k >> 2] | 0;
  65344. i = y;
  65345. }
  65346. v = c[j >> 2] | 0;
  65347. w = c[l >> 2] | 0;
  65348. }
  65349. if (
  65350. (
  65351. (r | 0) == 0
  65352. ? 1
  65353. : ((w - v) | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0
  65354. )
  65355. ? !(Wg(b, e) | 0)
  65356. : 0
  65357. ) {
  65358. f = 0;
  65359. z = 22;
  65360. break;
  65361. }
  65362. o = c[d >> 2] | 0;
  65363. h = ((c[g >> 2] | 0) - o) | 0;
  65364. if (h >>> 0 <= n >>> 0) {
  65365. f = 1;
  65366. z = 22;
  65367. break;
  65368. }
  65369. }
  65370. if ((z | 0) == 9) Wz(j);
  65371. else if ((z | 0) == 22) return f | 0;
  65372. return 0;
  65373. }
  65374. function Wg(a, b) {
  65375. a = a | 0;
  65376. b = b | 0;
  65377. var d = 0,
  65378. e = 0,
  65379. f = 0,
  65380. g = 0,
  65381. h = 0,
  65382. i = 0,
  65383. j = 0,
  65384. k = 0,
  65385. m = 0,
  65386. n = 0,
  65387. o = 0,
  65388. p = 0,
  65389. q = 0,
  65390. r = 0,
  65391. s = 0,
  65392. t = 0,
  65393. u = 0,
  65394. v = 0,
  65395. w = 0,
  65396. x = 0,
  65397. y = 0;
  65398. d = l;
  65399. l = (l + 32) | 0;
  65400. e = (d + 12) | 0;
  65401. f = d;
  65402. g = (a + 12) | 0;
  65403. h = c[g >> 2] | 0;
  65404. i = (a + 16) | 0;
  65405. j = c[i >> 2] | 0;
  65406. k = h;
  65407. if ((h | 0) == (j | 0)) {
  65408. m = 1;
  65409. l = d;
  65410. return m | 0;
  65411. }
  65412. c[e >> 2] = h;
  65413. h = (e + 4) | 0;
  65414. n = (j - k) | 0;
  65415. c[h >> 2] = n;
  65416. j = (e + 8) | 0;
  65417. c[j >> 2] = 0;
  65418. do {
  65419. if (n) {
  65420. o = (a + 24) | 0;
  65421. p = (a + 32) | 0;
  65422. q = (f + 4) | 0;
  65423. r = (a + 28) | 0;
  65424. s = (f + 8) | 0;
  65425. t = (a + 8) | 0;
  65426. u = (b + 16) | 0;
  65427. while (1) {
  65428. cg(o, ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0);
  65429. v = c[o >> 2] | 0;
  65430. c[f >> 2] = v;
  65431. c[q >> 2] = (c[r >> 2] | 0) - v;
  65432. c[s >> 2] = 0;
  65433. v = Qx(c[a >> 2] | 0, f, e) | 0;
  65434. c[t >> 2] = v;
  65435. if (Ph(v) | 0) {
  65436. w = 8;
  65437. break;
  65438. }
  65439. cg(o, c[s >> 2] | 0);
  65440. v = c[u >> 2] | 0;
  65441. if (!v) {
  65442. w = 6;
  65443. break;
  65444. }
  65445. xc[c[((c[v >> 2] | 0) + 24) >> 2] & 31](v, o);
  65446. if ((c[j >> 2] | 0) >>> 0 >= (c[h >> 2] | 0) >>> 0) {
  65447. w = 9;
  65448. break;
  65449. }
  65450. }
  65451. if ((w | 0) == 6) {
  65452. o = va(4) | 0;
  65453. c[o >> 2] = 12636;
  65454. ya(o | 0, 10800, 50);
  65455. } else if ((w | 0) == 8) {
  65456. x = 0;
  65457. break;
  65458. } else if ((w | 0) == 9) {
  65459. y = c[g >> 2] | 0;
  65460. w = 10;
  65461. break;
  65462. }
  65463. } else {
  65464. y = k;
  65465. w = 10;
  65466. }
  65467. } while (0);
  65468. if ((w | 0) == 10) {
  65469. c[i >> 2] = y;
  65470. x = 1;
  65471. }
  65472. m = x;
  65473. l = d;
  65474. return m | 0;
  65475. }
  65476. function Xg(a, b) {
  65477. a = a | 0;
  65478. b = b | 0;
  65479. return Wg(a, b) | 0;
  65480. }
  65481. function Yg(a, b) {
  65482. a = a | 0;
  65483. b = b | 0;
  65484. var d = 0,
  65485. e = 0,
  65486. f = 0,
  65487. g = 0,
  65488. h = 0;
  65489. d = c[a >> 2] | 0;
  65490. if (!d) {
  65491. e = 1;
  65492. return e | 0;
  65493. }
  65494. if ((c[(a + 12) >> 2] | 0) != (c[(a + 16) >> 2] | 0)) {
  65495. f = Wg(a, b) | 0;
  65496. b = c[a >> 2] | 0;
  65497. c[a >> 2] = 0;
  65498. if (!b) {
  65499. e = f;
  65500. return e | 0;
  65501. } else {
  65502. g = f;
  65503. h = b;
  65504. }
  65505. } else {
  65506. c[a >> 2] = 0;
  65507. g = 1;
  65508. h = d;
  65509. }
  65510. pc[c[(a + 4) >> 2] & 63](h) | 0;
  65511. e = g;
  65512. return e | 0;
  65513. }
  65514. function Zg(a) {
  65515. a = a | 0;
  65516. var b = 0,
  65517. d = 0;
  65518. b = l;
  65519. l = (l + 16) | 0;
  65520. d = b;
  65521. c[d >> 2] = a;
  65522. a = _g(c[d >> 2] | 0) | 0;
  65523. l = b;
  65524. return a | 0;
  65525. }
  65526. function _g(a) {
  65527. a = a | 0;
  65528. var b = 0,
  65529. d = 0;
  65530. b = l;
  65531. l = (l + 16) | 0;
  65532. d = b;
  65533. c[d >> 2] = a;
  65534. l = b;
  65535. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  65536. }
  65537. function $g(a) {
  65538. a = a | 0;
  65539. var b = 0,
  65540. d = 0;
  65541. b = l;
  65542. l = (l + 16) | 0;
  65543. d = b;
  65544. c[d >> 2] = a;
  65545. a = _g(c[d >> 2] | 0) | 0;
  65546. l = b;
  65547. return a | 0;
  65548. }
  65549. function ah(a, d, e, f, g) {
  65550. a = a | 0;
  65551. d = d | 0;
  65552. e = e | 0;
  65553. f = f | 0;
  65554. g = g | 0;
  65555. var h = 0,
  65556. i = 0,
  65557. j = 0,
  65558. k = 0,
  65559. m = 0,
  65560. n = 0,
  65561. o = 0,
  65562. p = 0,
  65563. q = 0,
  65564. r = 0,
  65565. s = 0,
  65566. t = 0,
  65567. u = 0,
  65568. v = 0,
  65569. w = 0,
  65570. x = 0,
  65571. y = 0,
  65572. z = 0,
  65573. A = 0,
  65574. B = 0,
  65575. C = 0,
  65576. D = 0;
  65577. h = l;
  65578. l = (l + 80) | 0;
  65579. i = (h + 72) | 0;
  65580. j = (h + 68) | 0;
  65581. k = (h + 64) | 0;
  65582. m = (h + 60) | 0;
  65583. n = (h + 56) | 0;
  65584. o = (h + 52) | 0;
  65585. p = (h + 48) | 0;
  65586. q = (h + 44) | 0;
  65587. r = (h + 40) | 0;
  65588. s = (h + 36) | 0;
  65589. t = (h + 32) | 0;
  65590. u = (h + 28) | 0;
  65591. v = (h + 24) | 0;
  65592. w = (h + 20) | 0;
  65593. x = (h + 16) | 0;
  65594. y = (h + 12) | 0;
  65595. z = (h + 8) | 0;
  65596. A = (h + 4) | 0;
  65597. B = h;
  65598. c[j >> 2] = a;
  65599. c[k >> 2] = d;
  65600. c[m >> 2] = e;
  65601. c[n >> 2] = f;
  65602. c[o >> 2] = g;
  65603. c[p >> 2] = c[n >> 2];
  65604. c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  65605. c[r >> 2] = c[p >> 2];
  65606. c[x >> 2] = 0;
  65607. c[y >> 2] = 0;
  65608. if ((c[o >> 2] | 0) >>> 0 < 4) {
  65609. c[i >> 2] = -72;
  65610. C = c[i >> 2] | 0;
  65611. l = h;
  65612. return C | 0;
  65613. }
  65614. c[v >> 2] = bh(c[r >> 2] | 0) | 0;
  65615. c[s >> 2] = (c[v >> 2] & 15) + 5;
  65616. if ((c[s >> 2] | 0) > 15) {
  65617. c[i >> 2] = -44;
  65618. C = c[i >> 2] | 0;
  65619. l = h;
  65620. return C | 0;
  65621. }
  65622. c[v >> 2] = (c[v >> 2] | 0) >>> 4;
  65623. c[w >> 2] = 4;
  65624. c[c[m >> 2] >> 2] = c[s >> 2];
  65625. c[t >> 2] = (1 << c[s >> 2]) + 1;
  65626. c[u >> 2] = 1 << c[s >> 2];
  65627. c[s >> 2] = (c[s >> 2] | 0) + 1;
  65628. a: while (1) {
  65629. if (
  65630. !(
  65631. ((c[t >> 2] | 0) > 1
  65632. ? (c[x >> 2] | 0) >>> 0 <=
  65633. (c[c[k >> 2] >> 2] | 0) >>> 0
  65634. : 0) | 0
  65635. )
  65636. )
  65637. break;
  65638. do {
  65639. if (c[y >> 2] | 0) {
  65640. c[z >> 2] = c[x >> 2];
  65641. while (1) {
  65642. if (((c[v >> 2] & 65535) | 0) != 65535) break;
  65643. c[z >> 2] = (c[z >> 2] | 0) + 24;
  65644. if (
  65645. (c[r >> 2] | 0) >>> 0 <
  65646. (((c[q >> 2] | 0) + -5) | 0) >>> 0
  65647. ) {
  65648. c[r >> 2] = (c[r >> 2] | 0) + 2;
  65649. m = bh(c[r >> 2] | 0) | 0;
  65650. c[v >> 2] = m >>> (c[w >> 2] | 0);
  65651. } else {
  65652. c[v >> 2] = (c[v >> 2] | 0) >>> 16;
  65653. c[w >> 2] = (c[w >> 2] | 0) + 16;
  65654. }
  65655. }
  65656. while (1) {
  65657. if (((c[v >> 2] & 3) | 0) != 3) break;
  65658. c[z >> 2] = (c[z >> 2] | 0) + 3;
  65659. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  65660. c[w >> 2] = (c[w >> 2] | 0) + 2;
  65661. }
  65662. c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
  65663. c[w >> 2] = (c[w >> 2] | 0) + 2;
  65664. if (
  65665. (c[z >> 2] | 0) >>> 0 >
  65666. (c[c[k >> 2] >> 2] | 0) >>> 0
  65667. ) {
  65668. D = 18;
  65669. break a;
  65670. }
  65671. while (1) {
  65672. if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
  65673. break;
  65674. m = c[j >> 2] | 0;
  65675. o = c[x >> 2] | 0;
  65676. c[x >> 2] = o + 1;
  65677. b[(m + (o << 1)) >> 1] = 0;
  65678. }
  65679. if (
  65680. (c[r >> 2] | 0) >>> 0 >
  65681. (((c[q >> 2] | 0) + -7) | 0) >>> 0
  65682. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  65683. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  65684. : 0
  65685. ) {
  65686. c[v >> 2] = (c[v >> 2] | 0) >>> 2;
  65687. break;
  65688. }
  65689. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  65690. c[w >> 2] = c[w >> 2] & 7;
  65691. o = bh(c[r >> 2] | 0) | 0;
  65692. c[v >> 2] = o >>> (c[w >> 2] | 0);
  65693. }
  65694. } while (0);
  65695. c[A >> 2] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
  65696. o = c[v >> 2] | 0;
  65697. m = c[u >> 2] | 0;
  65698. if (
  65699. (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
  65700. (c[A >> 2] | 0) >>> 0
  65701. ) {
  65702. c[B >> 2] = o & (m - 1);
  65703. c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
  65704. } else {
  65705. c[B >> 2] = o & ((m << 1) - 1);
  65706. if ((c[B >> 2] | 0) >= (c[u >> 2] | 0))
  65707. c[B >> 2] = (c[B >> 2] | 0) - (c[A >> 2] | 0);
  65708. c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
  65709. }
  65710. c[B >> 2] = (c[B >> 2] | 0) + -1;
  65711. m = c[B >> 2] | 0;
  65712. c[t >> 2] =
  65713. (c[t >> 2] | 0) - ((c[B >> 2] | 0) < 0 ? (0 - m) | 0 : m);
  65714. m = c[B >> 2] & 65535;
  65715. o = c[j >> 2] | 0;
  65716. n = c[x >> 2] | 0;
  65717. c[x >> 2] = n + 1;
  65718. b[(o + (n << 1)) >> 1] = m;
  65719. c[y >> 2] = (((c[B >> 2] | 0) != 0) ^ 1) & 1;
  65720. while (1) {
  65721. if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
  65722. c[s >> 2] = (c[s >> 2] | 0) + -1;
  65723. c[u >> 2] = c[u >> 2] >> 1;
  65724. }
  65725. if (
  65726. (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
  65727. ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
  65728. (((c[q >> 2] | 0) + -4) | 0) >>> 0
  65729. : 0
  65730. ) {
  65731. c[w >> 2] =
  65732. (c[w >> 2] | 0) -
  65733. (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
  65734. c[r >> 2] = (c[q >> 2] | 0) + -4;
  65735. } else {
  65736. c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
  65737. c[w >> 2] = c[w >> 2] & 7;
  65738. }
  65739. m = bh(c[r >> 2] | 0) | 0;
  65740. c[v >> 2] = m >>> (c[w >> 2] & 31);
  65741. }
  65742. if ((D | 0) == 18) {
  65743. c[i >> 2] = -48;
  65744. C = c[i >> 2] | 0;
  65745. l = h;
  65746. return C | 0;
  65747. }
  65748. if ((c[t >> 2] | 0) != 1) {
  65749. c[i >> 2] = -20;
  65750. C = c[i >> 2] | 0;
  65751. l = h;
  65752. return C | 0;
  65753. }
  65754. if ((c[w >> 2] | 0) > 32) {
  65755. c[i >> 2] = -20;
  65756. C = c[i >> 2] | 0;
  65757. l = h;
  65758. return C | 0;
  65759. } else {
  65760. c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
  65761. c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
  65762. c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
  65763. C = c[i >> 2] | 0;
  65764. l = h;
  65765. return C | 0;
  65766. }
  65767. return 0;
  65768. }
  65769. function bh(a) {
  65770. a = a | 0;
  65771. var b = 0,
  65772. d = 0,
  65773. e = 0,
  65774. f = 0,
  65775. g = 0;
  65776. b = l;
  65777. l = (l + 16) | 0;
  65778. d = (b + 4) | 0;
  65779. e = b;
  65780. c[e >> 2] = a;
  65781. a = (ch() | 0) != 0;
  65782. f = dh(c[e >> 2] | 0) | 0;
  65783. if (a) {
  65784. c[d >> 2] = f;
  65785. g = c[d >> 2] | 0;
  65786. l = b;
  65787. return g | 0;
  65788. } else {
  65789. c[d >> 2] = eh(f) | 0;
  65790. g = c[d >> 2] | 0;
  65791. l = b;
  65792. return g | 0;
  65793. }
  65794. return 0;
  65795. }
  65796. function ch() {
  65797. return d[11936] | 0 | 0;
  65798. }
  65799. function dh(a) {
  65800. a = a | 0;
  65801. var b = 0,
  65802. e = 0;
  65803. b = l;
  65804. l = (l + 16) | 0;
  65805. e = b;
  65806. c[e >> 2] = a;
  65807. a = c[e >> 2] | 0;
  65808. l = b;
  65809. return (
  65810. d[a >> 0] |
  65811. (d[(a + 1) >> 0] << 8) |
  65812. (d[(a + 2) >> 0] << 16) |
  65813. (d[(a + 3) >> 0] << 24) |
  65814. 0
  65815. );
  65816. }
  65817. function eh(a) {
  65818. a = a | 0;
  65819. var b = 0,
  65820. d = 0;
  65821. b = l;
  65822. l = (l + 16) | 0;
  65823. d = b;
  65824. c[d >> 2] = a;
  65825. l = b;
  65826. return (
  65827. ((c[d >> 2] << 24) & -16777216) |
  65828. ((c[d >> 2] << 8) & 16711680) |
  65829. (((c[d >> 2] | 0) >>> 8) & 65280) |
  65830. (((c[d >> 2] | 0) >>> 24) & 255) |
  65831. 0
  65832. );
  65833. }
  65834. function fh(b, e, f, g, h, i, j) {
  65835. b = b | 0;
  65836. e = e | 0;
  65837. f = f | 0;
  65838. g = g | 0;
  65839. h = h | 0;
  65840. i = i | 0;
  65841. j = j | 0;
  65842. var k = 0,
  65843. m = 0,
  65844. n = 0,
  65845. o = 0,
  65846. p = 0,
  65847. q = 0,
  65848. r = 0,
  65849. s = 0,
  65850. t = 0,
  65851. u = 0,
  65852. v = 0,
  65853. w = 0,
  65854. x = 0,
  65855. y = 0,
  65856. z = 0,
  65857. A = 0,
  65858. B = 0,
  65859. C = 0,
  65860. D = 0,
  65861. E = 0,
  65862. F = 0,
  65863. G = 0,
  65864. H = 0;
  65865. k = l;
  65866. l = (l + 336) | 0;
  65867. m = (k + 332) | 0;
  65868. n = (k + 328) | 0;
  65869. o = (k + 324) | 0;
  65870. p = (k + 320) | 0;
  65871. q = (k + 316) | 0;
  65872. r = (k + 312) | 0;
  65873. s = (k + 308) | 0;
  65874. t = (k + 304) | 0;
  65875. u = (k + 300) | 0;
  65876. v = (k + 296) | 0;
  65877. w = (k + 292) | 0;
  65878. x = (k + 288) | 0;
  65879. y = (k + 284) | 0;
  65880. z = k;
  65881. A = (k + 280) | 0;
  65882. B = (k + 276) | 0;
  65883. C = (k + 272) | 0;
  65884. D = (k + 268) | 0;
  65885. E = (k + 264) | 0;
  65886. F = (k + 260) | 0;
  65887. c[n >> 2] = b;
  65888. c[o >> 2] = e;
  65889. c[p >> 2] = f;
  65890. c[q >> 2] = g;
  65891. c[r >> 2] = h;
  65892. c[s >> 2] = i;
  65893. c[t >> 2] = j;
  65894. c[v >> 2] = c[s >> 2];
  65895. if (!(c[t >> 2] | 0)) {
  65896. c[m >> 2] = -72;
  65897. G = c[m >> 2] | 0;
  65898. l = k;
  65899. return G | 0;
  65900. }
  65901. c[w >> 2] = d[c[v >> 2] >> 0];
  65902. s = c[w >> 2] | 0;
  65903. a: do {
  65904. if ((c[w >> 2] | 0) >>> 0 < 128) {
  65905. if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
  65906. c[m >> 2] = -72;
  65907. G = c[m >> 2] | 0;
  65908. l = k;
  65909. return G | 0;
  65910. }
  65911. c[x >> 2] =
  65912. gh(
  65913. c[n >> 2] | 0,
  65914. ((c[o >> 2] | 0) - 1) | 0,
  65915. ((c[v >> 2] | 0) + 1) | 0,
  65916. c[w >> 2] | 0,
  65917. z,
  65918. 6
  65919. ) | 0;
  65920. if (Zg(c[x >> 2] | 0) | 0) {
  65921. c[m >> 2] = c[x >> 2];
  65922. G = c[m >> 2] | 0;
  65923. l = k;
  65924. return G | 0;
  65925. }
  65926. } else {
  65927. c[x >> 2] = s - 127;
  65928. c[w >> 2] = (((((c[x >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
  65929. if (
  65930. (((c[w >> 2] | 0) + 1) | 0) >>> 0 >
  65931. (c[t >> 2] | 0) >>> 0
  65932. ) {
  65933. c[m >> 2] = -72;
  65934. G = c[m >> 2] | 0;
  65935. l = k;
  65936. return G | 0;
  65937. }
  65938. if ((c[x >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
  65939. c[m >> 2] = -20;
  65940. G = c[m >> 2] | 0;
  65941. l = k;
  65942. return G | 0;
  65943. }
  65944. c[v >> 2] = (c[v >> 2] | 0) + 1;
  65945. c[y >> 2] = 0;
  65946. while (1) {
  65947. if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0)
  65948. break a;
  65949. a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] =
  65950. (d[
  65951. ((c[v >> 2] | 0) +
  65952. ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
  65953. 0
  65954. ] |
  65955. 0) >>
  65956. 4;
  65957. a[((c[n >> 2] | 0) + ((c[y >> 2] | 0) + 1)) >> 0] =
  65958. (d[
  65959. ((c[v >> 2] | 0) +
  65960. ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
  65961. 0
  65962. ] |
  65963. 0) &
  65964. 15;
  65965. c[y >> 2] = (c[y >> 2] | 0) + 2;
  65966. }
  65967. }
  65968. } while (0);
  65969. y = c[p >> 2] | 0;
  65970. v = (y + 52) | 0;
  65971. do {
  65972. c[y >> 2] = 0;
  65973. y = (y + 4) | 0;
  65974. } while ((y | 0) < (v | 0));
  65975. c[u >> 2] = 0;
  65976. c[A >> 2] = 0;
  65977. while (1) {
  65978. if ((c[A >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
  65979. if (
  65980. (d[((c[n >> 2] | 0) + (c[A >> 2] | 0)) >> 0] | 0 | 0) >=
  65981. 12
  65982. ) {
  65983. H = 18;
  65984. break;
  65985. }
  65986. y =
  65987. ((c[p >> 2] | 0) +
  65988. ((d[((c[n >> 2] | 0) + (c[A >> 2] | 0)) >> 0] | 0) <<
  65989. 2)) |
  65990. 0;
  65991. c[y >> 2] = (c[y >> 2] | 0) + 1;
  65992. c[u >> 2] =
  65993. (c[u >> 2] | 0) +
  65994. ((1 <<
  65995. (d[((c[n >> 2] | 0) + (c[A >> 2] | 0)) >> 0] | 0)) >>
  65996. 1);
  65997. c[A >> 2] = (c[A >> 2] | 0) + 1;
  65998. }
  65999. if ((H | 0) == 18) {
  66000. c[m >> 2] = -20;
  66001. G = c[m >> 2] | 0;
  66002. l = k;
  66003. return G | 0;
  66004. }
  66005. if (!(c[u >> 2] | 0)) {
  66006. c[m >> 2] = -20;
  66007. G = c[m >> 2] | 0;
  66008. l = k;
  66009. return G | 0;
  66010. }
  66011. c[B >> 2] = (hh(c[u >> 2] | 0) | 0) + 1;
  66012. if ((c[B >> 2] | 0) >>> 0 > 12) {
  66013. c[m >> 2] = -20;
  66014. G = c[m >> 2] | 0;
  66015. l = k;
  66016. return G | 0;
  66017. }
  66018. c[c[r >> 2] >> 2] = c[B >> 2];
  66019. c[C >> 2] = 1 << c[B >> 2];
  66020. c[D >> 2] = (c[C >> 2] | 0) - (c[u >> 2] | 0);
  66021. c[E >> 2] = 1 << (hh(c[D >> 2] | 0) | 0);
  66022. c[F >> 2] = (hh(c[D >> 2] | 0) | 0) + 1;
  66023. if ((c[E >> 2] | 0) != (c[D >> 2] | 0)) {
  66024. c[m >> 2] = -20;
  66025. G = c[m >> 2] | 0;
  66026. l = k;
  66027. return G | 0;
  66028. }
  66029. a[((c[n >> 2] | 0) + (c[x >> 2] | 0)) >> 0] = c[F >> 2];
  66030. n = ((c[p >> 2] | 0) + (c[F >> 2] << 2)) | 0;
  66031. c[n >> 2] = (c[n >> 2] | 0) + 1;
  66032. if (
  66033. (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
  66034. ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
  66035. : 0
  66036. ) {
  66037. c[c[q >> 2] >> 2] = (c[x >> 2] | 0) + 1;
  66038. c[m >> 2] = (c[w >> 2] | 0) + 1;
  66039. G = c[m >> 2] | 0;
  66040. l = k;
  66041. return G | 0;
  66042. }
  66043. c[m >> 2] = -20;
  66044. G = c[m >> 2] | 0;
  66045. l = k;
  66046. return G | 0;
  66047. }
  66048. function gh(a, b, d, e, f, g) {
  66049. a = a | 0;
  66050. b = b | 0;
  66051. d = d | 0;
  66052. e = e | 0;
  66053. f = f | 0;
  66054. g = g | 0;
  66055. var h = 0,
  66056. i = 0,
  66057. j = 0,
  66058. k = 0,
  66059. m = 0,
  66060. n = 0,
  66061. o = 0,
  66062. p = 0,
  66063. q = 0,
  66064. r = 0,
  66065. s = 0,
  66066. t = 0,
  66067. u = 0,
  66068. v = 0,
  66069. w = 0,
  66070. x = 0;
  66071. h = l;
  66072. l = (l + 576) | 0;
  66073. i = (h + 560) | 0;
  66074. j = (h + 556) | 0;
  66075. k = (h + 552) | 0;
  66076. m = (h + 548) | 0;
  66077. n = (h + 544) | 0;
  66078. o = (h + 540) | 0;
  66079. p = (h + 536) | 0;
  66080. q = (h + 532) | 0;
  66081. r = (h + 528) | 0;
  66082. s = h;
  66083. t = (h + 524) | 0;
  66084. u = (h + 520) | 0;
  66085. v = (h + 516) | 0;
  66086. w = (h + 512) | 0;
  66087. c[j >> 2] = a;
  66088. c[k >> 2] = b;
  66089. c[m >> 2] = d;
  66090. c[n >> 2] = e;
  66091. c[o >> 2] = f;
  66092. c[p >> 2] = g;
  66093. c[q >> 2] = c[m >> 2];
  66094. c[r >> 2] = c[q >> 2];
  66095. c[u >> 2] = 255;
  66096. c[v >> 2] = ah(s, u, t, c[q >> 2] | 0, c[n >> 2] | 0) | 0;
  66097. if (ih(c[v >> 2] | 0) | 0) {
  66098. c[i >> 2] = c[v >> 2];
  66099. x = c[i >> 2] | 0;
  66100. l = h;
  66101. return x | 0;
  66102. }
  66103. if ((c[t >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) {
  66104. c[i >> 2] = -44;
  66105. x = c[i >> 2] | 0;
  66106. l = h;
  66107. return x | 0;
  66108. }
  66109. c[r >> 2] = (c[r >> 2] | 0) + (c[v >> 2] | 0);
  66110. c[n >> 2] = (c[n >> 2] | 0) - (c[v >> 2] | 0);
  66111. c[w >> 2] =
  66112. jh(c[o >> 2] | 0, s, c[u >> 2] | 0, c[t >> 2] | 0) | 0;
  66113. if (ih(c[w >> 2] | 0) | 0) {
  66114. c[i >> 2] = c[w >> 2];
  66115. x = c[i >> 2] | 0;
  66116. l = h;
  66117. return x | 0;
  66118. } else {
  66119. c[i >> 2] =
  66120. kh(
  66121. c[j >> 2] | 0,
  66122. c[k >> 2] | 0,
  66123. c[r >> 2] | 0,
  66124. c[n >> 2] | 0,
  66125. c[o >> 2] | 0
  66126. ) | 0;
  66127. x = c[i >> 2] | 0;
  66128. l = h;
  66129. return x | 0;
  66130. }
  66131. return 0;
  66132. }
  66133. function hh(a) {
  66134. a = a | 0;
  66135. var b = 0,
  66136. d = 0;
  66137. b = l;
  66138. l = (l + 16) | 0;
  66139. d = b;
  66140. c[d >> 2] = a;
  66141. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  66142. l = b;
  66143. return a | 0;
  66144. }
  66145. function ih(a) {
  66146. a = a | 0;
  66147. var b = 0,
  66148. d = 0;
  66149. b = l;
  66150. l = (l + 16) | 0;
  66151. d = b;
  66152. c[d >> 2] = a;
  66153. l = b;
  66154. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  66155. }
  66156. function jh(e, f, g, h) {
  66157. e = e | 0;
  66158. f = f | 0;
  66159. g = g | 0;
  66160. h = h | 0;
  66161. var i = 0,
  66162. j = 0,
  66163. k = 0,
  66164. m = 0,
  66165. n = 0,
  66166. o = 0,
  66167. p = 0,
  66168. q = 0,
  66169. r = 0,
  66170. s = 0,
  66171. t = 0,
  66172. u = 0,
  66173. v = 0,
  66174. w = 0,
  66175. x = 0,
  66176. y = 0,
  66177. z = 0,
  66178. A = 0,
  66179. B = 0,
  66180. C = 0,
  66181. D = 0,
  66182. E = 0,
  66183. F = 0,
  66184. G = 0,
  66185. H = 0;
  66186. i = l;
  66187. l = (l + 608) | 0;
  66188. j = (i + 580) | 0;
  66189. k = (i + 576) | 0;
  66190. m = (i + 572) | 0;
  66191. n = (i + 568) | 0;
  66192. o = (i + 564) | 0;
  66193. p = (i + 560) | 0;
  66194. q = (i + 556) | 0;
  66195. r = i;
  66196. s = (i + 552) | 0;
  66197. t = (i + 548) | 0;
  66198. u = (i + 544) | 0;
  66199. v = (i + 588) | 0;
  66200. w = (i + 584) | 0;
  66201. x = (i + 540) | 0;
  66202. y = (i + 536) | 0;
  66203. z = (i + 532) | 0;
  66204. A = (i + 528) | 0;
  66205. B = (i + 524) | 0;
  66206. C = (i + 520) | 0;
  66207. D = (i + 516) | 0;
  66208. E = (i + 592) | 0;
  66209. F = (i + 512) | 0;
  66210. c[k >> 2] = e;
  66211. c[m >> 2] = f;
  66212. c[n >> 2] = g;
  66213. c[o >> 2] = h;
  66214. c[p >> 2] = (c[k >> 2] | 0) + 4;
  66215. c[q >> 2] = c[p >> 2];
  66216. c[s >> 2] = (c[n >> 2] | 0) + 1;
  66217. c[t >> 2] = 1 << c[o >> 2];
  66218. c[u >> 2] = (c[t >> 2] | 0) - 1;
  66219. if ((c[n >> 2] | 0) >>> 0 > 255) {
  66220. c[j >> 2] = -46;
  66221. G = c[j >> 2] | 0;
  66222. l = i;
  66223. return G | 0;
  66224. }
  66225. if ((c[o >> 2] | 0) >>> 0 > 12) {
  66226. c[j >> 2] = -44;
  66227. G = c[j >> 2] | 0;
  66228. l = i;
  66229. return G | 0;
  66230. }
  66231. b[v >> 1] = c[o >> 2];
  66232. b[(v + 2) >> 1] = 1;
  66233. b[w >> 1] = 1 << ((c[o >> 2] | 0) - 1);
  66234. c[x >> 2] = 0;
  66235. while (1) {
  66236. if ((c[x >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  66237. if (
  66238. (b[((c[m >> 2] | 0) + (c[x >> 2] << 1)) >> 1] | 0) ==
  66239. -1
  66240. ) {
  66241. n = c[x >> 2] & 255;
  66242. p = c[q >> 2] | 0;
  66243. h = c[u >> 2] | 0;
  66244. c[u >> 2] = h + -1;
  66245. a[(p + (h << 2) + 2) >> 0] = n;
  66246. b[(r + (c[x >> 2] << 1)) >> 1] = 1;
  66247. } else {
  66248. if (
  66249. (b[((c[m >> 2] | 0) + (c[x >> 2] << 1)) >> 1] | 0) >=
  66250. (b[w >> 1] | 0)
  66251. )
  66252. b[(v + 2) >> 1] = 0;
  66253. b[(r + (c[x >> 2] << 1)) >> 1] =
  66254. b[((c[m >> 2] | 0) + (c[x >> 2] << 1)) >> 1] | 0;
  66255. }
  66256. c[x >> 2] = (c[x >> 2] | 0) + 1;
  66257. }
  66258. x = c[k >> 2] | 0;
  66259. b[x >> 1] = b[v >> 1] | 0;
  66260. b[(x + 2) >> 1] = b[(v + 2) >> 1] | 0;
  66261. c[y >> 2] = (c[t >> 2] | 0) - 1;
  66262. c[z >> 2] =
  66263. ((c[t >> 2] | 0) >>> 1) + ((c[t >> 2] | 0) >>> 3) + 3;
  66264. c[B >> 2] = 0;
  66265. c[A >> 2] = 0;
  66266. while (1) {
  66267. if ((c[A >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  66268. c[C >> 2] = 0;
  66269. while (1) {
  66270. H = c[A >> 2] | 0;
  66271. if (
  66272. (c[C >> 2] | 0) >=
  66273. (b[((c[m >> 2] | 0) + (c[A >> 2] << 1)) >> 1] | 0)
  66274. )
  66275. break;
  66276. a[((c[q >> 2] | 0) + (c[B >> 2] << 2) + 2) >> 0] = H;
  66277. c[B >> 2] =
  66278. ((c[B >> 2] | 0) + (c[z >> 2] | 0)) & c[y >> 2];
  66279. while (1) {
  66280. if ((c[B >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
  66281. break;
  66282. c[B >> 2] =
  66283. ((c[B >> 2] | 0) + (c[z >> 2] | 0)) & c[y >> 2];
  66284. }
  66285. c[C >> 2] = (c[C >> 2] | 0) + 1;
  66286. }
  66287. c[A >> 2] = H + 1;
  66288. }
  66289. if (c[B >> 2] | 0) {
  66290. c[j >> 2] = -1;
  66291. G = c[j >> 2] | 0;
  66292. l = i;
  66293. return G | 0;
  66294. }
  66295. c[D >> 2] = 0;
  66296. while (1) {
  66297. if ((c[D >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  66298. a[E >> 0] =
  66299. a[((c[q >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0;
  66300. B = (r + (d[E >> 0] << 1)) | 0;
  66301. H = b[B >> 1] | 0;
  66302. b[B >> 1] = ((H + 1) << 16) >> 16;
  66303. c[F >> 2] = H & 65535;
  66304. H = c[o >> 2] | 0;
  66305. B = (H - (Eh(c[F >> 2] | 0) | 0)) & 255;
  66306. a[((c[q >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] = B;
  66307. b[((c[q >> 2] | 0) + (c[D >> 2] << 2)) >> 1] =
  66308. (c[F >> 2] <<
  66309. d[((c[q >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0]) -
  66310. (c[t >> 2] | 0);
  66311. c[D >> 2] = (c[D >> 2] | 0) + 1;
  66312. }
  66313. c[j >> 2] = 0;
  66314. G = c[j >> 2] | 0;
  66315. l = i;
  66316. return G | 0;
  66317. }
  66318. function kh(b, d, f, g, h) {
  66319. b = b | 0;
  66320. d = d | 0;
  66321. f = f | 0;
  66322. g = g | 0;
  66323. h = h | 0;
  66324. var i = 0,
  66325. j = 0,
  66326. k = 0,
  66327. m = 0,
  66328. n = 0,
  66329. o = 0,
  66330. p = 0,
  66331. q = 0,
  66332. r = 0,
  66333. s = 0,
  66334. t = 0,
  66335. u = 0,
  66336. v = 0,
  66337. w = 0,
  66338. x = 0,
  66339. y = 0,
  66340. z = 0,
  66341. A = 0,
  66342. B = 0,
  66343. C = 0,
  66344. D = 0,
  66345. E = 0,
  66346. F = 0,
  66347. G = 0,
  66348. H = 0,
  66349. I = 0,
  66350. J = 0,
  66351. K = 0,
  66352. L = 0,
  66353. M = 0,
  66354. N = 0,
  66355. O = 0,
  66356. P = 0,
  66357. Q = 0,
  66358. R = 0,
  66359. S = 0,
  66360. T = 0,
  66361. U = 0,
  66362. V = 0,
  66363. W = 0,
  66364. X = 0,
  66365. Y = 0,
  66366. Z = 0,
  66367. _ = 0,
  66368. $ = 0,
  66369. aa = 0,
  66370. ba = 0,
  66371. ca = 0,
  66372. da = 0,
  66373. ea = 0,
  66374. fa = 0,
  66375. ga = 0,
  66376. ha = 0,
  66377. ia = 0,
  66378. ja = 0,
  66379. ka = 0,
  66380. la = 0,
  66381. ma = 0;
  66382. i = l;
  66383. l = (l + 208) | 0;
  66384. j = (i + 204) | 0;
  66385. k = (i + 200) | 0;
  66386. m = (i + 196) | 0;
  66387. n = (i + 192) | 0;
  66388. o = (i + 188) | 0;
  66389. p = (i + 184) | 0;
  66390. q = (i + 180) | 0;
  66391. r = (i + 176) | 0;
  66392. s = (i + 172) | 0;
  66393. t = (i + 168) | 0;
  66394. u = (i + 164) | 0;
  66395. v = (i + 144) | 0;
  66396. w = (i + 136) | 0;
  66397. x = (i + 128) | 0;
  66398. y = (i + 120) | 0;
  66399. z = (i + 116) | 0;
  66400. A = (i + 112) | 0;
  66401. B = (i + 108) | 0;
  66402. C = (i + 104) | 0;
  66403. D = (i + 100) | 0;
  66404. E = (i + 96) | 0;
  66405. F = (i + 92) | 0;
  66406. G = (i + 88) | 0;
  66407. H = (i + 84) | 0;
  66408. I = (i + 80) | 0;
  66409. J = (i + 76) | 0;
  66410. K = (i + 56) | 0;
  66411. L = (i + 48) | 0;
  66412. M = (i + 40) | 0;
  66413. N = (i + 36) | 0;
  66414. O = (i + 32) | 0;
  66415. P = (i + 28) | 0;
  66416. Q = (i + 24) | 0;
  66417. R = (i + 20) | 0;
  66418. S = (i + 16) | 0;
  66419. T = (i + 12) | 0;
  66420. U = (i + 8) | 0;
  66421. V = (i + 4) | 0;
  66422. W = i;
  66423. c[P >> 2] = b;
  66424. c[Q >> 2] = d;
  66425. c[R >> 2] = f;
  66426. c[S >> 2] = g;
  66427. c[T >> 2] = h;
  66428. c[U >> 2] = c[T >> 2];
  66429. c[V >> 2] = c[U >> 2];
  66430. c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
  66431. V = c[P >> 2] | 0;
  66432. P = c[Q >> 2] | 0;
  66433. Q = c[R >> 2] | 0;
  66434. R = c[S >> 2] | 0;
  66435. S = c[T >> 2] | 0;
  66436. if (c[W >> 2] | 0) {
  66437. c[A >> 2] = V;
  66438. c[B >> 2] = P;
  66439. c[C >> 2] = Q;
  66440. c[D >> 2] = R;
  66441. c[E >> 2] = S;
  66442. c[F >> 2] = 1;
  66443. c[G >> 2] = c[A >> 2];
  66444. c[H >> 2] = c[G >> 2];
  66445. c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
  66446. c[J >> 2] = (c[I >> 2] | 0) + -3;
  66447. c[N >> 2] = lh(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
  66448. do {
  66449. if (ih(c[N >> 2] | 0) | 0) c[z >> 2] = c[N >> 2];
  66450. else {
  66451. mh(L, K, c[E >> 2] | 0);
  66452. mh(M, K, c[E >> 2] | 0);
  66453. while (1) {
  66454. D = ((nh(K) | 0) == 0) & 1;
  66455. if (
  66456. !(
  66457. D &
  66458. ((c[H >> 2] | 0) >>> 0 < (c[J >> 2] | 0) >>> 0)
  66459. )
  66460. )
  66461. break;
  66462. if (c[F >> 2] | 0) X = (oh(L, K) | 0) & 255;
  66463. else X = (ph(L, K) | 0) & 255;
  66464. a[c[H >> 2] >> 0] = X;
  66465. if (c[F >> 2] | 0) Y = (oh(M, K) | 0) & 255;
  66466. else Y = (ph(M, K) | 0) & 255;
  66467. a[((c[H >> 2] | 0) + 1) >> 0] = Y;
  66468. if ((nh(K) | 0) >>> 0 > 0) {
  66469. Z = 13;
  66470. break;
  66471. }
  66472. if (c[F >> 2] | 0) _ = (oh(L, K) | 0) & 255;
  66473. else _ = (ph(L, K) | 0) & 255;
  66474. a[((c[H >> 2] | 0) + 2) >> 0] = _;
  66475. if (c[F >> 2] | 0) $ = (oh(M, K) | 0) & 255;
  66476. else $ = (ph(M, K) | 0) & 255;
  66477. a[((c[H >> 2] | 0) + 3) >> 0] = $;
  66478. c[H >> 2] = (c[H >> 2] | 0) + 4;
  66479. }
  66480. if ((Z | 0) == 13) c[H >> 2] = (c[H >> 2] | 0) + 2;
  66481. while (1) {
  66482. if (
  66483. (c[H >> 2] | 0) >>> 0 >
  66484. (((c[I >> 2] | 0) + -2) | 0) >>> 0
  66485. ) {
  66486. Z = 23;
  66487. break;
  66488. }
  66489. if (c[F >> 2] | 0) aa = (oh(L, K) | 0) & 255;
  66490. else aa = (ph(L, K) | 0) & 255;
  66491. D = c[H >> 2] | 0;
  66492. c[H >> 2] = D + 1;
  66493. a[D >> 0] = aa;
  66494. if ((nh(K) | 0) == 3) {
  66495. Z = 28;
  66496. break;
  66497. }
  66498. if (
  66499. (c[H >> 2] | 0) >>> 0 >
  66500. (((c[I >> 2] | 0) + -2) | 0) >>> 0
  66501. ) {
  66502. Z = 33;
  66503. break;
  66504. }
  66505. if (c[F >> 2] | 0) ba = (oh(M, K) | 0) & 255;
  66506. else ba = (ph(M, K) | 0) & 255;
  66507. D = c[H >> 2] | 0;
  66508. c[H >> 2] = D + 1;
  66509. a[D >> 0] = ba;
  66510. if ((nh(K) | 0) == 3) {
  66511. Z = 38;
  66512. break;
  66513. }
  66514. }
  66515. if ((Z | 0) == 23) {
  66516. c[z >> 2] = -70;
  66517. break;
  66518. } else if ((Z | 0) == 28) {
  66519. if (c[F >> 2] | 0) ca = (oh(M, K) | 0) & 255;
  66520. else ca = (ph(M, K) | 0) & 255;
  66521. D = c[H >> 2] | 0;
  66522. c[H >> 2] = D + 1;
  66523. a[D >> 0] = ca;
  66524. } else if ((Z | 0) == 33) {
  66525. c[z >> 2] = -70;
  66526. break;
  66527. } else if ((Z | 0) == 38) {
  66528. if (c[F >> 2] | 0) da = (oh(L, K) | 0) & 255;
  66529. else da = (ph(L, K) | 0) & 255;
  66530. D = c[H >> 2] | 0;
  66531. c[H >> 2] = D + 1;
  66532. a[D >> 0] = da;
  66533. }
  66534. c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
  66535. }
  66536. } while (0);
  66537. c[O >> 2] = c[z >> 2];
  66538. ea = c[O >> 2] | 0;
  66539. l = i;
  66540. return ea | 0;
  66541. } else {
  66542. c[k >> 2] = V;
  66543. c[m >> 2] = P;
  66544. c[n >> 2] = Q;
  66545. c[o >> 2] = R;
  66546. c[p >> 2] = S;
  66547. c[q >> 2] = 0;
  66548. c[r >> 2] = c[k >> 2];
  66549. c[s >> 2] = c[r >> 2];
  66550. c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
  66551. c[u >> 2] = (c[t >> 2] | 0) + -3;
  66552. c[y >> 2] = lh(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
  66553. do {
  66554. if (ih(c[y >> 2] | 0) | 0) c[j >> 2] = c[y >> 2];
  66555. else {
  66556. mh(w, v, c[p >> 2] | 0);
  66557. mh(x, v, c[p >> 2] | 0);
  66558. while (1) {
  66559. o = ((nh(v) | 0) == 0) & 1;
  66560. if (
  66561. !(
  66562. o &
  66563. ((c[s >> 2] | 0) >>> 0 < (c[u >> 2] | 0) >>> 0)
  66564. )
  66565. )
  66566. break;
  66567. if (c[q >> 2] | 0) fa = (oh(w, v) | 0) & 255;
  66568. else fa = (ph(w, v) | 0) & 255;
  66569. a[c[s >> 2] >> 0] = fa;
  66570. if (c[q >> 2] | 0) ga = (oh(x, v) | 0) & 255;
  66571. else ga = (ph(x, v) | 0) & 255;
  66572. a[((c[s >> 2] | 0) + 1) >> 0] = ga;
  66573. if ((nh(v) | 0) >>> 0 > 0) {
  66574. Z = 56;
  66575. break;
  66576. }
  66577. if (c[q >> 2] | 0) ha = (oh(w, v) | 0) & 255;
  66578. else ha = (ph(w, v) | 0) & 255;
  66579. a[((c[s >> 2] | 0) + 2) >> 0] = ha;
  66580. if (c[q >> 2] | 0) ia = (oh(x, v) | 0) & 255;
  66581. else ia = (ph(x, v) | 0) & 255;
  66582. a[((c[s >> 2] | 0) + 3) >> 0] = ia;
  66583. c[s >> 2] = (c[s >> 2] | 0) + 4;
  66584. }
  66585. if ((Z | 0) == 56) c[s >> 2] = (c[s >> 2] | 0) + 2;
  66586. while (1) {
  66587. if (
  66588. (c[s >> 2] | 0) >>> 0 >
  66589. (((c[t >> 2] | 0) + -2) | 0) >>> 0
  66590. ) {
  66591. Z = 66;
  66592. break;
  66593. }
  66594. if (c[q >> 2] | 0) ja = (oh(w, v) | 0) & 255;
  66595. else ja = (ph(w, v) | 0) & 255;
  66596. o = c[s >> 2] | 0;
  66597. c[s >> 2] = o + 1;
  66598. a[o >> 0] = ja;
  66599. if ((nh(v) | 0) == 3) {
  66600. Z = 71;
  66601. break;
  66602. }
  66603. if (
  66604. (c[s >> 2] | 0) >>> 0 >
  66605. (((c[t >> 2] | 0) + -2) | 0) >>> 0
  66606. ) {
  66607. Z = 76;
  66608. break;
  66609. }
  66610. if (c[q >> 2] | 0) ka = (oh(x, v) | 0) & 255;
  66611. else ka = (ph(x, v) | 0) & 255;
  66612. o = c[s >> 2] | 0;
  66613. c[s >> 2] = o + 1;
  66614. a[o >> 0] = ka;
  66615. if ((nh(v) | 0) == 3) {
  66616. Z = 81;
  66617. break;
  66618. }
  66619. }
  66620. if ((Z | 0) == 66) {
  66621. c[j >> 2] = -70;
  66622. break;
  66623. } else if ((Z | 0) == 71) {
  66624. if (c[q >> 2] | 0) la = (oh(x, v) | 0) & 255;
  66625. else la = (ph(x, v) | 0) & 255;
  66626. o = c[s >> 2] | 0;
  66627. c[s >> 2] = o + 1;
  66628. a[o >> 0] = la;
  66629. } else if ((Z | 0) == 76) {
  66630. c[j >> 2] = -70;
  66631. break;
  66632. } else if ((Z | 0) == 81) {
  66633. if (c[q >> 2] | 0) ma = (oh(w, v) | 0) & 255;
  66634. else ma = (ph(w, v) | 0) & 255;
  66635. o = c[s >> 2] | 0;
  66636. c[s >> 2] = o + 1;
  66637. a[o >> 0] = ma;
  66638. }
  66639. c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  66640. }
  66641. } while (0);
  66642. c[O >> 2] = c[j >> 2];
  66643. ea = c[O >> 2] | 0;
  66644. l = i;
  66645. return ea | 0;
  66646. }
  66647. return 0;
  66648. }
  66649. function lh(b, e, f) {
  66650. b = b | 0;
  66651. e = e | 0;
  66652. f = f | 0;
  66653. var g = 0,
  66654. h = 0,
  66655. i = 0,
  66656. j = 0,
  66657. k = 0,
  66658. m = 0,
  66659. n = 0,
  66660. o = 0,
  66661. p = 0,
  66662. q = 0,
  66663. r = 0;
  66664. g = l;
  66665. l = (l + 32) | 0;
  66666. h = (g + 12) | 0;
  66667. i = (g + 8) | 0;
  66668. j = (g + 4) | 0;
  66669. k = g;
  66670. m = (g + 17) | 0;
  66671. n = (g + 16) | 0;
  66672. c[i >> 2] = b;
  66673. c[j >> 2] = e;
  66674. c[k >> 2] = f;
  66675. if ((c[k >> 2] | 0) >>> 0 < 1) {
  66676. f = c[i >> 2] | 0;
  66677. c[f >> 2] = 0;
  66678. c[(f + 4) >> 2] = 0;
  66679. c[(f + 8) >> 2] = 0;
  66680. c[(f + 12) >> 2] = 0;
  66681. c[(f + 16) >> 2] = 0;
  66682. c[h >> 2] = -72;
  66683. o = c[h >> 2] | 0;
  66684. l = g;
  66685. return o | 0;
  66686. }
  66687. c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
  66688. c[((c[i >> 2] | 0) + 16) >> 2] =
  66689. (c[((c[i >> 2] | 0) + 12) >> 2] | 0) + 4;
  66690. do {
  66691. if ((c[k >> 2] | 0) >>> 0 >= 4) {
  66692. c[((c[i >> 2] | 0) + 8) >> 2] =
  66693. (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
  66694. f = vh(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
  66695. c[c[i >> 2] >> 2] = f;
  66696. a[m >> 0] =
  66697. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  66698. if (d[m >> 0] | 0 | 0)
  66699. p = (8 - (Eh(d[m >> 0] | 0) | 0)) | 0;
  66700. else p = 0;
  66701. c[((c[i >> 2] | 0) + 4) >> 2] = p;
  66702. if (!(d[m >> 0] | 0)) {
  66703. c[h >> 2] = -1;
  66704. o = c[h >> 2] | 0;
  66705. l = g;
  66706. return o | 0;
  66707. }
  66708. } else {
  66709. c[((c[i >> 2] | 0) + 8) >> 2] =
  66710. c[((c[i >> 2] | 0) + 12) >> 2];
  66711. c[c[i >> 2] >> 2] =
  66712. d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
  66713. switch (c[k >> 2] | 0) {
  66714. case 7: {
  66715. f = c[i >> 2] | 0;
  66716. c[f >> 2] =
  66717. (c[f >> 2] | 0) +
  66718. ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
  66719. q = 10;
  66720. break;
  66721. }
  66722. case 6: {
  66723. q = 10;
  66724. break;
  66725. }
  66726. case 5: {
  66727. q = 11;
  66728. break;
  66729. }
  66730. case 4: {
  66731. q = 12;
  66732. break;
  66733. }
  66734. case 3: {
  66735. q = 13;
  66736. break;
  66737. }
  66738. case 2: {
  66739. q = 14;
  66740. break;
  66741. }
  66742. default: {
  66743. }
  66744. }
  66745. if ((q | 0) == 10) {
  66746. f = c[i >> 2] | 0;
  66747. c[f >> 2] =
  66748. (c[f >> 2] | 0) +
  66749. ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
  66750. q = 11;
  66751. }
  66752. if ((q | 0) == 11) {
  66753. f = c[i >> 2] | 0;
  66754. c[f >> 2] =
  66755. (c[f >> 2] | 0) +
  66756. ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
  66757. q = 12;
  66758. }
  66759. if ((q | 0) == 12) {
  66760. f = c[i >> 2] | 0;
  66761. c[f >> 2] =
  66762. (c[f >> 2] | 0) +
  66763. ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
  66764. q = 13;
  66765. }
  66766. if ((q | 0) == 13) {
  66767. f = c[i >> 2] | 0;
  66768. c[f >> 2] =
  66769. (c[f >> 2] | 0) +
  66770. ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
  66771. q = 14;
  66772. }
  66773. if ((q | 0) == 14) {
  66774. f = c[i >> 2] | 0;
  66775. c[f >> 2] =
  66776. (c[f >> 2] | 0) +
  66777. ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
  66778. }
  66779. a[n >> 0] =
  66780. a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
  66781. if (d[n >> 0] | 0 | 0)
  66782. r = (8 - (Eh(d[n >> 0] | 0) | 0)) | 0;
  66783. else r = 0;
  66784. c[((c[i >> 2] | 0) + 4) >> 2] = r;
  66785. if (d[n >> 0] | 0 | 0) {
  66786. f = ((c[i >> 2] | 0) + 4) | 0;
  66787. c[f >> 2] =
  66788. (c[f >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
  66789. break;
  66790. }
  66791. c[h >> 2] = -20;
  66792. o = c[h >> 2] | 0;
  66793. l = g;
  66794. return o | 0;
  66795. }
  66796. } while (0);
  66797. c[h >> 2] = c[k >> 2];
  66798. o = c[h >> 2] | 0;
  66799. l = g;
  66800. return o | 0;
  66801. }
  66802. function mh(a, b, d) {
  66803. a = a | 0;
  66804. b = b | 0;
  66805. d = d | 0;
  66806. var f = 0,
  66807. g = 0,
  66808. h = 0,
  66809. i = 0,
  66810. j = 0,
  66811. k = 0;
  66812. f = l;
  66813. l = (l + 32) | 0;
  66814. g = (f + 16) | 0;
  66815. h = (f + 12) | 0;
  66816. i = (f + 8) | 0;
  66817. j = (f + 4) | 0;
  66818. k = f;
  66819. c[g >> 2] = a;
  66820. c[h >> 2] = b;
  66821. c[i >> 2] = d;
  66822. c[j >> 2] = c[i >> 2];
  66823. c[k >> 2] = c[j >> 2];
  66824. j = qh(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
  66825. c[c[g >> 2] >> 2] = j;
  66826. nh(c[h >> 2] | 0) | 0;
  66827. c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
  66828. l = f;
  66829. return;
  66830. }
  66831. function nh(a) {
  66832. a = a | 0;
  66833. var b = 0,
  66834. d = 0,
  66835. e = 0,
  66836. f = 0,
  66837. g = 0,
  66838. h = 0,
  66839. i = 0;
  66840. b = l;
  66841. l = (l + 16) | 0;
  66842. d = (b + 12) | 0;
  66843. e = (b + 8) | 0;
  66844. f = (b + 4) | 0;
  66845. g = b;
  66846. c[e >> 2] = a;
  66847. if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
  66848. c[d >> 2] = 3;
  66849. h = c[d >> 2] | 0;
  66850. l = b;
  66851. return h | 0;
  66852. }
  66853. a = c[e >> 2] | 0;
  66854. if (
  66855. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  66856. (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
  66857. ) {
  66858. i = ((c[e >> 2] | 0) + 8) | 0;
  66859. c[i >> 2] =
  66860. (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
  66861. i = ((c[e >> 2] | 0) + 4) | 0;
  66862. c[i >> 2] = c[i >> 2] & 7;
  66863. i = vh(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  66864. c[c[e >> 2] >> 2] = i;
  66865. c[d >> 2] = 0;
  66866. h = c[d >> 2] | 0;
  66867. l = b;
  66868. return h | 0;
  66869. }
  66870. i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
  66871. if (
  66872. (c[(a + 8) >> 2] | 0) !=
  66873. (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
  66874. ) {
  66875. c[f >> 2] = i >>> 3;
  66876. c[g >> 2] = 0;
  66877. if (
  66878. (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  66879. (0 - (c[f >> 2] | 0))) |
  66880. 0) >>>
  66881. 0 <
  66882. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  66883. ) {
  66884. c[f >> 2] =
  66885. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
  66886. (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
  66887. c[g >> 2] = 1;
  66888. }
  66889. a = ((c[e >> 2] | 0) + 8) | 0;
  66890. c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
  66891. a = ((c[e >> 2] | 0) + 4) | 0;
  66892. c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
  66893. f = vh(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
  66894. c[c[e >> 2] >> 2] = f;
  66895. c[d >> 2] = c[g >> 2];
  66896. h = c[d >> 2] | 0;
  66897. l = b;
  66898. return h | 0;
  66899. }
  66900. if (i >>> 0 < 32) {
  66901. c[d >> 2] = 1;
  66902. h = c[d >> 2] | 0;
  66903. l = b;
  66904. return h | 0;
  66905. } else {
  66906. c[d >> 2] = 2;
  66907. h = c[d >> 2] | 0;
  66908. l = b;
  66909. return h | 0;
  66910. }
  66911. return 0;
  66912. }
  66913. function oh(f, g) {
  66914. f = f | 0;
  66915. g = g | 0;
  66916. var h = 0,
  66917. i = 0,
  66918. j = 0,
  66919. k = 0,
  66920. m = 0,
  66921. n = 0,
  66922. o = 0;
  66923. h = l;
  66924. l = (l + 32) | 0;
  66925. i = (h + 12) | 0;
  66926. j = (h + 8) | 0;
  66927. k = (h + 16) | 0;
  66928. m = (h + 4) | 0;
  66929. n = (h + 20) | 0;
  66930. o = h;
  66931. c[i >> 2] = f;
  66932. c[j >> 2] = g;
  66933. g =
  66934. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  66935. (c[c[i >> 2] >> 2] << 2)) |
  66936. 0;
  66937. b[k >> 1] = b[g >> 1] | 0;
  66938. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  66939. c[m >> 2] = d[(k + 3) >> 0];
  66940. a[n >> 0] = a[(k + 2) >> 0] | 0;
  66941. c[o >> 2] = th(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  66942. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  66943. l = h;
  66944. return a[n >> 0] | 0;
  66945. }
  66946. function ph(f, g) {
  66947. f = f | 0;
  66948. g = g | 0;
  66949. var h = 0,
  66950. i = 0,
  66951. j = 0,
  66952. k = 0,
  66953. m = 0,
  66954. n = 0,
  66955. o = 0;
  66956. h = l;
  66957. l = (l + 32) | 0;
  66958. i = (h + 12) | 0;
  66959. j = (h + 8) | 0;
  66960. k = (h + 16) | 0;
  66961. m = (h + 4) | 0;
  66962. n = (h + 20) | 0;
  66963. o = h;
  66964. c[i >> 2] = f;
  66965. c[j >> 2] = g;
  66966. g =
  66967. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
  66968. (c[c[i >> 2] >> 2] << 2)) |
  66969. 0;
  66970. b[k >> 1] = b[g >> 1] | 0;
  66971. b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
  66972. c[m >> 2] = d[(k + 3) >> 0];
  66973. a[n >> 0] = a[(k + 2) >> 0] | 0;
  66974. c[o >> 2] = qh(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
  66975. c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
  66976. l = h;
  66977. return a[n >> 0] | 0;
  66978. }
  66979. function qh(a, b) {
  66980. a = a | 0;
  66981. b = b | 0;
  66982. var d = 0,
  66983. e = 0,
  66984. f = 0,
  66985. g = 0;
  66986. d = l;
  66987. l = (l + 16) | 0;
  66988. e = (d + 8) | 0;
  66989. f = (d + 4) | 0;
  66990. g = d;
  66991. c[e >> 2] = a;
  66992. c[f >> 2] = b;
  66993. c[g >> 2] = rh(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  66994. sh(c[e >> 2] | 0, c[f >> 2] | 0);
  66995. l = d;
  66996. return c[g >> 2] | 0;
  66997. }
  66998. function rh(a, b) {
  66999. a = a | 0;
  67000. b = b | 0;
  67001. var d = 0,
  67002. e = 0,
  67003. f = 0;
  67004. d = l;
  67005. l = (l + 16) | 0;
  67006. e = (d + 8) | 0;
  67007. f = (d + 4) | 0;
  67008. c[e >> 2] = a;
  67009. c[f >> 2] = b;
  67010. c[d >> 2] = 31;
  67011. l = d;
  67012. return (
  67013. (((c[c[e >> 2] >> 2] <<
  67014. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  67015. 1) >>>
  67016. ((31 - (c[f >> 2] | 0)) & 31)) |
  67017. 0
  67018. );
  67019. }
  67020. function sh(a, b) {
  67021. a = a | 0;
  67022. b = b | 0;
  67023. var d = 0,
  67024. e = 0,
  67025. f = 0;
  67026. d = l;
  67027. l = (l + 16) | 0;
  67028. e = (d + 4) | 0;
  67029. f = d;
  67030. c[e >> 2] = a;
  67031. c[f >> 2] = b;
  67032. b = ((c[e >> 2] | 0) + 4) | 0;
  67033. c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
  67034. l = d;
  67035. return;
  67036. }
  67037. function th(a, b) {
  67038. a = a | 0;
  67039. b = b | 0;
  67040. var d = 0,
  67041. e = 0,
  67042. f = 0,
  67043. g = 0;
  67044. d = l;
  67045. l = (l + 16) | 0;
  67046. e = (d + 8) | 0;
  67047. f = (d + 4) | 0;
  67048. g = d;
  67049. c[e >> 2] = a;
  67050. c[f >> 2] = b;
  67051. c[g >> 2] = uh(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
  67052. sh(c[e >> 2] | 0, c[f >> 2] | 0);
  67053. l = d;
  67054. return c[g >> 2] | 0;
  67055. }
  67056. function uh(a, b) {
  67057. a = a | 0;
  67058. b = b | 0;
  67059. var d = 0,
  67060. e = 0,
  67061. f = 0;
  67062. d = l;
  67063. l = (l + 16) | 0;
  67064. e = (d + 8) | 0;
  67065. f = (d + 4) | 0;
  67066. c[e >> 2] = a;
  67067. c[f >> 2] = b;
  67068. c[d >> 2] = 31;
  67069. l = d;
  67070. return (
  67071. ((c[c[e >> 2] >> 2] <<
  67072. (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
  67073. ((32 - (c[f >> 2] | 0)) & 31)) |
  67074. 0
  67075. );
  67076. }
  67077. function vh(a) {
  67078. a = a | 0;
  67079. var b = 0,
  67080. d = 0,
  67081. e = 0,
  67082. f = 0,
  67083. g = 0;
  67084. b = l;
  67085. l = (l + 16) | 0;
  67086. d = (b + 4) | 0;
  67087. e = b;
  67088. c[e >> 2] = a;
  67089. a = (wh() | 0) != 0;
  67090. f = c[e >> 2] | 0;
  67091. if (a) {
  67092. c[d >> 2] = xh(f) | 0;
  67093. g = c[d >> 2] | 0;
  67094. l = b;
  67095. return g | 0;
  67096. } else {
  67097. a = yh(f) | 0;
  67098. c[d >> 2] = a;
  67099. g = c[d >> 2] | 0;
  67100. l = b;
  67101. return g | 0;
  67102. }
  67103. return 0;
  67104. }
  67105. function wh() {
  67106. return 1;
  67107. }
  67108. function xh(a) {
  67109. a = a | 0;
  67110. var b = 0,
  67111. d = 0,
  67112. e = 0,
  67113. f = 0,
  67114. g = 0;
  67115. b = l;
  67116. l = (l + 16) | 0;
  67117. d = (b + 4) | 0;
  67118. e = b;
  67119. c[e >> 2] = a;
  67120. a = (zh() | 0) != 0;
  67121. f = Ch(c[e >> 2] | 0) | 0;
  67122. if (a) {
  67123. c[d >> 2] = f;
  67124. g = c[d >> 2] | 0;
  67125. l = b;
  67126. return g | 0;
  67127. } else {
  67128. c[d >> 2] = Dh(f) | 0;
  67129. g = c[d >> 2] | 0;
  67130. l = b;
  67131. return g | 0;
  67132. }
  67133. return 0;
  67134. }
  67135. function yh(a) {
  67136. a = a | 0;
  67137. var b = 0,
  67138. d = 0,
  67139. e = 0,
  67140. f = 0;
  67141. b = l;
  67142. l = (l + 16) | 0;
  67143. d = b;
  67144. e = (b + 8) | 0;
  67145. c[e >> 2] = a;
  67146. a = (zh() | 0) != 0;
  67147. f = Ah(c[e >> 2] | 0) | 0;
  67148. e = y;
  67149. if (a) {
  67150. a = d;
  67151. c[a >> 2] = f;
  67152. c[(a + 4) >> 2] = e;
  67153. } else {
  67154. a = Bh(f, e) | 0;
  67155. e = d;
  67156. c[e >> 2] = a;
  67157. c[(e + 4) >> 2] = y;
  67158. }
  67159. e = d;
  67160. y = c[(e + 4) >> 2] | 0;
  67161. l = b;
  67162. return c[e >> 2] | 0;
  67163. }
  67164. function zh() {
  67165. return d[11936] | 0 | 0;
  67166. }
  67167. function Ah(a) {
  67168. a = a | 0;
  67169. var b = 0,
  67170. e = 0,
  67171. f = 0;
  67172. b = l;
  67173. l = (l + 16) | 0;
  67174. e = b;
  67175. c[e >> 2] = a;
  67176. a = c[e >> 2] | 0;
  67177. e = a;
  67178. f = (a + 4) | 0;
  67179. y =
  67180. d[f >> 0] |
  67181. (d[(f + 1) >> 0] << 8) |
  67182. (d[(f + 2) >> 0] << 16) |
  67183. (d[(f + 3) >> 0] << 24);
  67184. l = b;
  67185. return (
  67186. d[e >> 0] |
  67187. (d[(e + 1) >> 0] << 8) |
  67188. (d[(e + 2) >> 0] << 16) |
  67189. (d[(e + 3) >> 0] << 24) |
  67190. 0
  67191. );
  67192. }
  67193. function Bh(a, b) {
  67194. a = a | 0;
  67195. b = b | 0;
  67196. var d = 0,
  67197. e = 0,
  67198. f = 0,
  67199. g = 0,
  67200. h = 0;
  67201. d = l;
  67202. l = (l + 16) | 0;
  67203. e = d;
  67204. f = e;
  67205. c[f >> 2] = a;
  67206. c[(f + 4) >> 2] = b;
  67207. b = e;
  67208. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  67209. b = y & -16777216;
  67210. f = e;
  67211. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  67212. f = b | (y & 16711680);
  67213. b = e;
  67214. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  67215. b = f | (y & 65280);
  67216. f = e;
  67217. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  67218. f = b | (y & 255);
  67219. b = e;
  67220. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  67221. b = e;
  67222. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  67223. b = e;
  67224. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  67225. b = e;
  67226. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  67227. y = f;
  67228. l = d;
  67229. return (
  67230. (a & -16777216) |
  67231. (g & 16711680) |
  67232. (h & 65280) |
  67233. (e & 255) |
  67234. 0
  67235. );
  67236. }
  67237. function Ch(a) {
  67238. a = a | 0;
  67239. var b = 0,
  67240. e = 0;
  67241. b = l;
  67242. l = (l + 16) | 0;
  67243. e = b;
  67244. c[e >> 2] = a;
  67245. a = c[e >> 2] | 0;
  67246. l = b;
  67247. return (
  67248. d[a >> 0] |
  67249. (d[(a + 1) >> 0] << 8) |
  67250. (d[(a + 2) >> 0] << 16) |
  67251. (d[(a + 3) >> 0] << 24) |
  67252. 0
  67253. );
  67254. }
  67255. function Dh(a) {
  67256. a = a | 0;
  67257. var b = 0,
  67258. d = 0;
  67259. b = l;
  67260. l = (l + 16) | 0;
  67261. d = b;
  67262. c[d >> 2] = a;
  67263. l = b;
  67264. return (
  67265. ((c[d >> 2] << 24) & -16777216) |
  67266. ((c[d >> 2] << 8) & 16711680) |
  67267. (((c[d >> 2] | 0) >>> 8) & 65280) |
  67268. (((c[d >> 2] | 0) >>> 24) & 255) |
  67269. 0
  67270. );
  67271. }
  67272. function Eh(a) {
  67273. a = a | 0;
  67274. var b = 0,
  67275. d = 0;
  67276. b = l;
  67277. l = (l + 16) | 0;
  67278. d = b;
  67279. c[d >> 2] = a;
  67280. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  67281. l = b;
  67282. return a | 0;
  67283. }
  67284. function Fh(b) {
  67285. b = b | 0;
  67286. var d = 0,
  67287. e = 0,
  67288. f = 0;
  67289. d = l;
  67290. l = (l + 16) | 0;
  67291. e = (d + 4) | 0;
  67292. f = d;
  67293. c[e >> 2] = b;
  67294. b = c[e >> 2] | 0;
  67295. a[f >> 0] = a[b >> 0] | 0;
  67296. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  67297. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  67298. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  67299. l = d;
  67300. return c[f >> 2] | 0;
  67301. }
  67302. function Gh(a) {
  67303. a = a | 0;
  67304. var b = 0,
  67305. d = 0;
  67306. b = l;
  67307. l = (l + 16) | 0;
  67308. d = b;
  67309. c[d >> 2] = a;
  67310. l = b;
  67311. return (
  67312. ((c[d >> 2] << 24) & -16777216) |
  67313. ((c[d >> 2] << 8) & 16711680) |
  67314. (((c[d >> 2] | 0) >>> 8) & 65280) |
  67315. (((c[d >> 2] | 0) >>> 24) & 255) |
  67316. 0
  67317. );
  67318. }
  67319. function Hh(b) {
  67320. b = b | 0;
  67321. var d = 0,
  67322. e = 0,
  67323. f = 0;
  67324. d = l;
  67325. l = (l + 16) | 0;
  67326. e = (d + 8) | 0;
  67327. f = d;
  67328. c[e >> 2] = b;
  67329. b = c[e >> 2] | 0;
  67330. a[f >> 0] = a[b >> 0] | 0;
  67331. a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
  67332. a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
  67333. a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
  67334. a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
  67335. a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
  67336. a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
  67337. a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
  67338. b = f;
  67339. y = c[(b + 4) >> 2] | 0;
  67340. l = d;
  67341. return c[b >> 2] | 0;
  67342. }
  67343. function Ih(a, b) {
  67344. a = a | 0;
  67345. b = b | 0;
  67346. var d = 0,
  67347. e = 0,
  67348. f = 0,
  67349. g = 0,
  67350. h = 0;
  67351. d = l;
  67352. l = (l + 16) | 0;
  67353. e = d;
  67354. f = e;
  67355. c[f >> 2] = a;
  67356. c[(f + 4) >> 2] = b;
  67357. b = e;
  67358. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  67359. b = y & -16777216;
  67360. f = e;
  67361. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  67362. f = b | (y & 16711680);
  67363. b = e;
  67364. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  67365. b = f | (y & 65280);
  67366. f = e;
  67367. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  67368. f = b | (y & 255);
  67369. b = e;
  67370. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  67371. b = e;
  67372. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  67373. b = e;
  67374. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  67375. b = e;
  67376. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  67377. y = f;
  67378. l = d;
  67379. return (
  67380. (a & -16777216) |
  67381. (g & 16711680) |
  67382. (h & 65280) |
  67383. (e & 255) |
  67384. 0
  67385. );
  67386. }
  67387. function Jh(a, b, d, e) {
  67388. a = a | 0;
  67389. b = b | 0;
  67390. d = d | 0;
  67391. e = e | 0;
  67392. var f = 0,
  67393. g = 0,
  67394. h = 0,
  67395. i = 0;
  67396. f = l;
  67397. l = (l + 16) | 0;
  67398. g = (f + 8) | 0;
  67399. h = f;
  67400. i = g;
  67401. c[i >> 2] = a;
  67402. c[(i + 4) >> 2] = b;
  67403. b = h;
  67404. c[b >> 2] = d;
  67405. c[(b + 4) >> 2] = e;
  67406. e = h;
  67407. h =
  67408. cE(
  67409. c[e >> 2] | 0,
  67410. c[(e + 4) >> 2] | 0,
  67411. 668265295,
  67412. -1028477379
  67413. ) | 0;
  67414. e = g;
  67415. b = dE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, h | 0, y | 0) | 0;
  67416. h = g;
  67417. c[h >> 2] = b;
  67418. c[(h + 4) >> 2] = y;
  67419. h = g;
  67420. b = jE(c[h >> 2] | 0, c[(h + 4) >> 2] | 0, 31) | 0;
  67421. h = y;
  67422. e = g;
  67423. d = iE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, 33) | 0;
  67424. e = g;
  67425. c[e >> 2] = b | d;
  67426. c[(e + 4) >> 2] = h | y;
  67427. h = g;
  67428. e =
  67429. cE(
  67430. c[h >> 2] | 0,
  67431. c[(h + 4) >> 2] | 0,
  67432. -2048144761,
  67433. -1640531535
  67434. ) | 0;
  67435. h = g;
  67436. c[h >> 2] = e;
  67437. c[(h + 4) >> 2] = y;
  67438. h = g;
  67439. y = c[(h + 4) >> 2] | 0;
  67440. l = f;
  67441. return c[h >> 2] | 0;
  67442. }
  67443. function Kh(a, b, d, e) {
  67444. a = a | 0;
  67445. b = b | 0;
  67446. d = d | 0;
  67447. e = e | 0;
  67448. var f = 0,
  67449. g = 0,
  67450. h = 0,
  67451. i = 0;
  67452. f = l;
  67453. l = (l + 16) | 0;
  67454. g = (f + 8) | 0;
  67455. h = f;
  67456. i = g;
  67457. c[i >> 2] = a;
  67458. c[(i + 4) >> 2] = b;
  67459. b = h;
  67460. c[b >> 2] = d;
  67461. c[(b + 4) >> 2] = e;
  67462. e = h;
  67463. b = Jh(0, 0, c[e >> 2] | 0, c[(e + 4) >> 2] | 0) | 0;
  67464. e = h;
  67465. c[e >> 2] = b;
  67466. c[(e + 4) >> 2] = y;
  67467. e = h;
  67468. h = g;
  67469. b = c[(h + 4) >> 2] ^ c[(e + 4) >> 2];
  67470. d = g;
  67471. c[d >> 2] = c[h >> 2] ^ c[e >> 2];
  67472. c[(d + 4) >> 2] = b;
  67473. b = g;
  67474. d =
  67475. cE(
  67476. c[b >> 2] | 0,
  67477. c[(b + 4) >> 2] | 0,
  67478. -2048144761,
  67479. -1640531535
  67480. ) | 0;
  67481. b = dE(d | 0, y | 0, -1028477341, -2048144777) | 0;
  67482. d = g;
  67483. c[d >> 2] = b;
  67484. c[(d + 4) >> 2] = y;
  67485. d = g;
  67486. y = c[(d + 4) >> 2] | 0;
  67487. l = f;
  67488. return c[d >> 2] | 0;
  67489. }
  67490. function Lh(a, b, d) {
  67491. a = a | 0;
  67492. b = b | 0;
  67493. d = d | 0;
  67494. var e = 0,
  67495. f = 0,
  67496. g = 0,
  67497. h = 0,
  67498. i = 0;
  67499. e = l;
  67500. l = (l + 112) | 0;
  67501. f = (e + 96) | 0;
  67502. g = (e + 88) | 0;
  67503. h = e;
  67504. c[f >> 2] = a;
  67505. a = g;
  67506. c[a >> 2] = b;
  67507. c[(a + 4) >> 2] = d;
  67508. d = h;
  67509. a = (d + 80) | 0;
  67510. do {
  67511. c[d >> 2] = 0;
  67512. d = (d + 4) | 0;
  67513. } while ((d | 0) < (a | 0));
  67514. b = g;
  67515. i =
  67516. dE(
  67517. c[b >> 2] | 0,
  67518. c[(b + 4) >> 2] | 0,
  67519. -2048144761,
  67520. -1640531535
  67521. ) | 0;
  67522. b = dE(i | 0, y | 0, 668265295, -1028477379) | 0;
  67523. i = (h + 8) | 0;
  67524. c[i >> 2] = b;
  67525. c[(i + 4) >> 2] = y;
  67526. i = g;
  67527. b =
  67528. dE(
  67529. c[i >> 2] | 0,
  67530. c[(i + 4) >> 2] | 0,
  67531. 668265295,
  67532. -1028477379
  67533. ) | 0;
  67534. i = (h + 16) | 0;
  67535. c[i >> 2] = b;
  67536. c[(i + 4) >> 2] = y;
  67537. i = g;
  67538. b = dE(c[i >> 2] | 0, c[(i + 4) >> 2] | 0, 0, 0) | 0;
  67539. i = (h + 24) | 0;
  67540. c[i >> 2] = b;
  67541. c[(i + 4) >> 2] = y;
  67542. i = g;
  67543. g =
  67544. eE(
  67545. c[i >> 2] | 0,
  67546. c[(i + 4) >> 2] | 0,
  67547. -2048144761,
  67548. -1640531535
  67549. ) | 0;
  67550. i = (h + 32) | 0;
  67551. c[i >> 2] = g;
  67552. c[(i + 4) >> 2] = y;
  67553. d = c[f >> 2] | 0;
  67554. f = h;
  67555. a = (d + 88) | 0;
  67556. do {
  67557. c[d >> 2] = c[f >> 2];
  67558. d = (d + 4) | 0;
  67559. f = (f + 4) | 0;
  67560. } while ((d | 0) < (a | 0));
  67561. l = e;
  67562. return 0;
  67563. }
  67564. function Mh(a, b, d) {
  67565. a = a | 0;
  67566. b = b | 0;
  67567. d = d | 0;
  67568. var e = 0,
  67569. f = 0,
  67570. g = 0,
  67571. h = 0;
  67572. e = l;
  67573. l = (l + 16) | 0;
  67574. f = (e + 8) | 0;
  67575. g = (e + 4) | 0;
  67576. h = e;
  67577. c[f >> 2] = a;
  67578. c[g >> 2] = b;
  67579. c[h >> 2] = d;
  67580. d = c[f >> 2] | 0;
  67581. mE(d | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  67582. l = e;
  67583. return d | 0;
  67584. }
  67585. function Nh(b, d, e) {
  67586. b = b | 0;
  67587. d = d | 0;
  67588. e = e | 0;
  67589. var f = 0,
  67590. g = 0,
  67591. h = 0,
  67592. i = 0,
  67593. j = 0,
  67594. k = 0,
  67595. m = 0,
  67596. n = 0,
  67597. o = 0,
  67598. p = 0,
  67599. q = 0,
  67600. r = 0,
  67601. s = 0,
  67602. t = 0,
  67603. u = 0,
  67604. v = 0,
  67605. w = 0,
  67606. x = 0,
  67607. z = 0,
  67608. A = 0,
  67609. B = 0,
  67610. C = 0,
  67611. D = 0,
  67612. E = 0,
  67613. F = 0,
  67614. G = 0,
  67615. H = 0,
  67616. I = 0,
  67617. J = 0,
  67618. K = 0,
  67619. L = 0,
  67620. M = 0,
  67621. N = 0,
  67622. O = 0,
  67623. P = 0,
  67624. Q = 0,
  67625. R = 0,
  67626. S = 0,
  67627. T = 0,
  67628. U = 0,
  67629. V = 0,
  67630. W = 0,
  67631. X = 0,
  67632. Y = 0,
  67633. Z = 0,
  67634. _ = 0,
  67635. $ = 0,
  67636. aa = 0,
  67637. ba = 0,
  67638. ca = 0,
  67639. da = 0,
  67640. ea = 0,
  67641. fa = 0,
  67642. ga = 0,
  67643. ha = 0,
  67644. ia = 0,
  67645. ja = 0,
  67646. ka = 0,
  67647. la = 0,
  67648. ma = 0,
  67649. na = 0,
  67650. oa = 0,
  67651. pa = 0,
  67652. qa = 0,
  67653. ra = 0,
  67654. sa = 0,
  67655. ta = 0,
  67656. ua = 0,
  67657. va = 0,
  67658. wa = 0,
  67659. xa = 0,
  67660. ya = 0,
  67661. za = 0,
  67662. Aa = 0,
  67663. Ba = 0,
  67664. Ca = 0,
  67665. Da = 0,
  67666. Ea = 0,
  67667. Fa = 0,
  67668. Ga = 0,
  67669. Ha = 0,
  67670. Ia = 0,
  67671. Ja = 0,
  67672. Ka = 0,
  67673. La = 0,
  67674. Ma = 0,
  67675. Na = 0,
  67676. Oa = 0,
  67677. Pa = 0,
  67678. Qa = 0,
  67679. Ra = 0,
  67680. Sa = 0,
  67681. Ta = 0,
  67682. Ua = 0,
  67683. Va = 0,
  67684. Wa = 0,
  67685. Xa = 0,
  67686. Ya = 0,
  67687. Za = 0,
  67688. _a = 0,
  67689. $a = 0,
  67690. ab = 0,
  67691. bb = 0,
  67692. cb = 0,
  67693. db = 0,
  67694. eb = 0,
  67695. fb = 0,
  67696. gb = 0,
  67697. hb = 0,
  67698. ib = 0,
  67699. jb = 0,
  67700. kb = 0,
  67701. lb = 0,
  67702. mb = 0,
  67703. nb = 0,
  67704. ob = 0,
  67705. pb = 0,
  67706. qb = 0,
  67707. rb = 0,
  67708. sb = 0,
  67709. tb = 0,
  67710. ub = 0,
  67711. vb = 0,
  67712. wb = 0,
  67713. xb = 0,
  67714. yb = 0,
  67715. zb = 0,
  67716. Ab = 0,
  67717. Bb = 0,
  67718. Cb = 0,
  67719. Db = 0,
  67720. Eb = 0,
  67721. Fb = 0,
  67722. Gb = 0,
  67723. Hb = 0,
  67724. Ib = 0,
  67725. Jb = 0,
  67726. Kb = 0,
  67727. Lb = 0,
  67728. Mb = 0,
  67729. Nb = 0,
  67730. Ob = 0,
  67731. Pb = 0,
  67732. Qb = 0,
  67733. Rb = 0,
  67734. Sb = 0,
  67735. Tb = 0,
  67736. Ub = 0,
  67737. Vb = 0,
  67738. Wb = 0,
  67739. Xb = 0,
  67740. Yb = 0,
  67741. Zb = 0,
  67742. _b = 0,
  67743. $b = 0,
  67744. ac = 0,
  67745. bc = 0,
  67746. cc = 0,
  67747. dc = 0,
  67748. ec = 0,
  67749. fc = 0,
  67750. gc = 0,
  67751. hc = 0,
  67752. ic = 0,
  67753. jc = 0,
  67754. kc = 0,
  67755. lc = 0,
  67756. mc = 0,
  67757. nc = 0,
  67758. oc = 0,
  67759. pc = 0,
  67760. qc = 0,
  67761. rc = 0,
  67762. sc = 0,
  67763. tc = 0,
  67764. uc = 0,
  67765. vc = 0,
  67766. wc = 0,
  67767. xc = 0,
  67768. yc = 0,
  67769. zc = 0,
  67770. Ac = 0,
  67771. Bc = 0,
  67772. Cc = 0,
  67773. Dc = 0,
  67774. Ec = 0,
  67775. Fc = 0,
  67776. Gc = 0,
  67777. Hc = 0,
  67778. Ic = 0,
  67779. Jc = 0;
  67780. f = l;
  67781. l = (l + 608) | 0;
  67782. g = (f + 184) | 0;
  67783. h = (f + 592) | 0;
  67784. i = (f + 588) | 0;
  67785. j = (f + 584) | 0;
  67786. k = (f + 580) | 0;
  67787. m = (f + 576) | 0;
  67788. n = (f + 176) | 0;
  67789. o = (f + 572) | 0;
  67790. p = (f + 568) | 0;
  67791. q = (f + 564) | 0;
  67792. r = (f + 560) | 0;
  67793. s = (f + 556) | 0;
  67794. t = (f + 168) | 0;
  67795. u = (f + 552) | 0;
  67796. v = (f + 548) | 0;
  67797. w = (f + 544) | 0;
  67798. x = (f + 540) | 0;
  67799. z = (f + 536) | 0;
  67800. A = (f + 160) | 0;
  67801. B = (f + 532) | 0;
  67802. C = (f + 528) | 0;
  67803. D = (f + 524) | 0;
  67804. E = (f + 520) | 0;
  67805. F = (f + 516) | 0;
  67806. G = (f + 152) | 0;
  67807. H = (f + 512) | 0;
  67808. I = (f + 508) | 0;
  67809. J = (f + 504) | 0;
  67810. K = (f + 500) | 0;
  67811. L = (f + 496) | 0;
  67812. M = (f + 144) | 0;
  67813. N = (f + 492) | 0;
  67814. O = (f + 488) | 0;
  67815. P = (f + 484) | 0;
  67816. Q = (f + 480) | 0;
  67817. R = (f + 476) | 0;
  67818. S = (f + 136) | 0;
  67819. T = (f + 472) | 0;
  67820. U = (f + 468) | 0;
  67821. V = (f + 464) | 0;
  67822. W = (f + 460) | 0;
  67823. X = (f + 456) | 0;
  67824. Y = (f + 128) | 0;
  67825. Z = (f + 452) | 0;
  67826. _ = (f + 448) | 0;
  67827. $ = (f + 444) | 0;
  67828. aa = (f + 440) | 0;
  67829. ba = (f + 436) | 0;
  67830. ca = (f + 432) | 0;
  67831. da = (f + 428) | 0;
  67832. ea = (f + 424) | 0;
  67833. fa = (f + 420) | 0;
  67834. ga = (f + 416) | 0;
  67835. ha = (f + 412) | 0;
  67836. ia = (f + 408) | 0;
  67837. ja = (f + 404) | 0;
  67838. ka = (f + 120) | 0;
  67839. la = (f + 112) | 0;
  67840. ma = (f + 104) | 0;
  67841. na = (f + 96) | 0;
  67842. oa = (f + 88) | 0;
  67843. pa = (f + 400) | 0;
  67844. qa = (f + 396) | 0;
  67845. ra = (f + 392) | 0;
  67846. sa = (f + 388) | 0;
  67847. ta = (f + 384) | 0;
  67848. ua = (f + 80) | 0;
  67849. va = (f + 380) | 0;
  67850. wa = (f + 376) | 0;
  67851. xa = (f + 372) | 0;
  67852. ya = (f + 368) | 0;
  67853. za = (f + 364) | 0;
  67854. Aa = (f + 72) | 0;
  67855. Ba = (f + 360) | 0;
  67856. Ca = (f + 356) | 0;
  67857. Da = (f + 352) | 0;
  67858. Ea = (f + 348) | 0;
  67859. Fa = (f + 344) | 0;
  67860. Ga = (f + 64) | 0;
  67861. Ha = (f + 340) | 0;
  67862. Ia = (f + 336) | 0;
  67863. Ja = (f + 332) | 0;
  67864. Ka = (f + 328) | 0;
  67865. La = (f + 324) | 0;
  67866. Ma = (f + 56) | 0;
  67867. Na = (f + 320) | 0;
  67868. Oa = (f + 316) | 0;
  67869. Pa = (f + 312) | 0;
  67870. Qa = (f + 308) | 0;
  67871. Ra = (f + 304) | 0;
  67872. Sa = (f + 48) | 0;
  67873. Ta = (f + 300) | 0;
  67874. Ua = (f + 296) | 0;
  67875. Va = (f + 292) | 0;
  67876. Wa = (f + 288) | 0;
  67877. Xa = (f + 284) | 0;
  67878. Ya = (f + 40) | 0;
  67879. Za = (f + 280) | 0;
  67880. _a = (f + 276) | 0;
  67881. $a = (f + 272) | 0;
  67882. ab = (f + 268) | 0;
  67883. bb = (f + 264) | 0;
  67884. cb = (f + 32) | 0;
  67885. db = (f + 260) | 0;
  67886. eb = (f + 256) | 0;
  67887. fb = (f + 252) | 0;
  67888. gb = (f + 248) | 0;
  67889. hb = (f + 244) | 0;
  67890. ib = (f + 240) | 0;
  67891. jb = (f + 236) | 0;
  67892. kb = (f + 232) | 0;
  67893. lb = (f + 228) | 0;
  67894. mb = (f + 224) | 0;
  67895. nb = (f + 220) | 0;
  67896. ob = (f + 216) | 0;
  67897. pb = (f + 212) | 0;
  67898. qb = (f + 24) | 0;
  67899. rb = (f + 16) | 0;
  67900. sb = (f + 8) | 0;
  67901. tb = f;
  67902. ub = (f + 208) | 0;
  67903. vb = (f + 204) | 0;
  67904. wb = (f + 200) | 0;
  67905. xb = (f + 196) | 0;
  67906. yb = (f + 192) | 0;
  67907. c[vb >> 2] = b;
  67908. c[wb >> 2] = d;
  67909. c[xb >> 2] = e;
  67910. c[yb >> 2] = a[11920];
  67911. e = c[vb >> 2] | 0;
  67912. vb = c[wb >> 2] | 0;
  67913. wb = c[xb >> 2] | 0;
  67914. if ((c[yb >> 2] | 0) == 1) {
  67915. c[jb >> 2] = e;
  67916. c[kb >> 2] = vb;
  67917. c[lb >> 2] = wb;
  67918. c[mb >> 2] = 1;
  67919. c[nb >> 2] = c[kb >> 2];
  67920. c[ob >> 2] = (c[nb >> 2] | 0) + (c[lb >> 2] | 0);
  67921. yb = c[jb >> 2] | 0;
  67922. xb = yb;
  67923. d =
  67924. dE(
  67925. c[xb >> 2] | 0,
  67926. c[(xb + 4) >> 2] | 0,
  67927. c[lb >> 2] | 0,
  67928. 0
  67929. ) | 0;
  67930. xb = yb;
  67931. c[xb >> 2] = d;
  67932. c[(xb + 4) >> 2] = y;
  67933. xb = c[jb >> 2] | 0;
  67934. if (
  67935. (((c[((c[jb >> 2] | 0) + 72) >> 2] | 0) +
  67936. (c[lb >> 2] | 0)) |
  67937. 0) >>>
  67938. 0 <
  67939. 32
  67940. ) {
  67941. Mh(
  67942. (xb + 40 + (c[((c[jb >> 2] | 0) + 72) >> 2] | 0)) | 0,
  67943. c[kb >> 2] | 0,
  67944. c[lb >> 2] | 0
  67945. ) | 0;
  67946. d = ((c[jb >> 2] | 0) + 72) | 0;
  67947. c[d >> 2] = (c[d >> 2] | 0) + (c[lb >> 2] | 0);
  67948. c[ib >> 2] = 0;
  67949. } else {
  67950. if (c[(xb + 72) >> 2] | 0) {
  67951. Mh(
  67952. ((c[jb >> 2] | 0) +
  67953. 40 +
  67954. (c[((c[jb >> 2] | 0) + 72) >> 2] | 0)) |
  67955. 0,
  67956. c[kb >> 2] | 0,
  67957. (32 - (c[((c[jb >> 2] | 0) + 72) >> 2] | 0)) | 0
  67958. ) | 0;
  67959. kb = ((c[jb >> 2] | 0) + 8) | 0;
  67960. xb = c[kb >> 2] | 0;
  67961. lb = c[(kb + 4) >> 2] | 0;
  67962. kb = c[mb >> 2] | 0;
  67963. c[gb >> 2] = (c[jb >> 2] | 0) + 40;
  67964. c[hb >> 2] = kb;
  67965. kb = c[hb >> 2] | 0;
  67966. c[db >> 2] = c[gb >> 2];
  67967. c[eb >> 2] = kb;
  67968. c[fb >> 2] = 1;
  67969. kb = (c[eb >> 2] | 0) == 1;
  67970. eb = c[db >> 2] | 0;
  67971. if ((c[fb >> 2] | 0) == 1) {
  67972. fb = Hh(eb) | 0;
  67973. db = y;
  67974. if (kb) {
  67975. zb = fb;
  67976. Ab = db;
  67977. } else {
  67978. gb = Ih(fb, db) | 0;
  67979. zb = gb;
  67980. Ab = y;
  67981. }
  67982. gb = cb;
  67983. c[gb >> 2] = zb;
  67984. c[(gb + 4) >> 2] = Ab;
  67985. } else {
  67986. Ab = eb;
  67987. eb = c[Ab >> 2] | 0;
  67988. gb = c[(Ab + 4) >> 2] | 0;
  67989. if (kb) {
  67990. Bb = eb;
  67991. Cb = gb;
  67992. } else {
  67993. kb = Ih(eb, gb) | 0;
  67994. Bb = kb;
  67995. Cb = y;
  67996. }
  67997. kb = cb;
  67998. c[kb >> 2] = Bb;
  67999. c[(kb + 4) >> 2] = Cb;
  68000. }
  68001. Cb = cb;
  68002. cb =
  68003. Jh(xb, lb, c[Cb >> 2] | 0, c[(Cb + 4) >> 2] | 0) | 0;
  68004. Cb = ((c[jb >> 2] | 0) + 8) | 0;
  68005. c[Cb >> 2] = cb;
  68006. c[(Cb + 4) >> 2] = y;
  68007. Cb = ((c[jb >> 2] | 0) + 16) | 0;
  68008. cb = c[Cb >> 2] | 0;
  68009. lb = c[(Cb + 4) >> 2] | 0;
  68010. Cb = c[mb >> 2] | 0;
  68011. c[ab >> 2] = (c[jb >> 2] | 0) + 40 + 8;
  68012. c[bb >> 2] = Cb;
  68013. Cb = c[bb >> 2] | 0;
  68014. c[Za >> 2] = c[ab >> 2];
  68015. c[_a >> 2] = Cb;
  68016. c[$a >> 2] = 1;
  68017. Cb = (c[_a >> 2] | 0) == 1;
  68018. _a = c[Za >> 2] | 0;
  68019. if ((c[$a >> 2] | 0) == 1) {
  68020. $a = Hh(_a) | 0;
  68021. Za = y;
  68022. if (Cb) {
  68023. Db = $a;
  68024. Eb = Za;
  68025. } else {
  68026. ab = Ih($a, Za) | 0;
  68027. Db = ab;
  68028. Eb = y;
  68029. }
  68030. ab = Ya;
  68031. c[ab >> 2] = Db;
  68032. c[(ab + 4) >> 2] = Eb;
  68033. } else {
  68034. Eb = _a;
  68035. _a = c[Eb >> 2] | 0;
  68036. ab = c[(Eb + 4) >> 2] | 0;
  68037. if (Cb) {
  68038. Fb = _a;
  68039. Gb = ab;
  68040. } else {
  68041. Cb = Ih(_a, ab) | 0;
  68042. Fb = Cb;
  68043. Gb = y;
  68044. }
  68045. Cb = Ya;
  68046. c[Cb >> 2] = Fb;
  68047. c[(Cb + 4) >> 2] = Gb;
  68048. }
  68049. Gb = Ya;
  68050. Ya =
  68051. Jh(cb, lb, c[Gb >> 2] | 0, c[(Gb + 4) >> 2] | 0) | 0;
  68052. Gb = ((c[jb >> 2] | 0) + 16) | 0;
  68053. c[Gb >> 2] = Ya;
  68054. c[(Gb + 4) >> 2] = y;
  68055. Gb = ((c[jb >> 2] | 0) + 24) | 0;
  68056. Ya = c[Gb >> 2] | 0;
  68057. lb = c[(Gb + 4) >> 2] | 0;
  68058. Gb = c[mb >> 2] | 0;
  68059. c[Wa >> 2] = (c[jb >> 2] | 0) + 40 + 16;
  68060. c[Xa >> 2] = Gb;
  68061. Gb = c[Xa >> 2] | 0;
  68062. c[Ta >> 2] = c[Wa >> 2];
  68063. c[Ua >> 2] = Gb;
  68064. c[Va >> 2] = 1;
  68065. Gb = (c[Ua >> 2] | 0) == 1;
  68066. Ua = c[Ta >> 2] | 0;
  68067. if ((c[Va >> 2] | 0) == 1) {
  68068. Va = Hh(Ua) | 0;
  68069. Ta = y;
  68070. if (Gb) {
  68071. Hb = Va;
  68072. Ib = Ta;
  68073. } else {
  68074. Wa = Ih(Va, Ta) | 0;
  68075. Hb = Wa;
  68076. Ib = y;
  68077. }
  68078. Wa = Sa;
  68079. c[Wa >> 2] = Hb;
  68080. c[(Wa + 4) >> 2] = Ib;
  68081. } else {
  68082. Ib = Ua;
  68083. Ua = c[Ib >> 2] | 0;
  68084. Wa = c[(Ib + 4) >> 2] | 0;
  68085. if (Gb) {
  68086. Jb = Ua;
  68087. Kb = Wa;
  68088. } else {
  68089. Gb = Ih(Ua, Wa) | 0;
  68090. Jb = Gb;
  68091. Kb = y;
  68092. }
  68093. Gb = Sa;
  68094. c[Gb >> 2] = Jb;
  68095. c[(Gb + 4) >> 2] = Kb;
  68096. }
  68097. Kb = Sa;
  68098. Sa =
  68099. Jh(Ya, lb, c[Kb >> 2] | 0, c[(Kb + 4) >> 2] | 0) | 0;
  68100. Kb = ((c[jb >> 2] | 0) + 24) | 0;
  68101. c[Kb >> 2] = Sa;
  68102. c[(Kb + 4) >> 2] = y;
  68103. Kb = ((c[jb >> 2] | 0) + 32) | 0;
  68104. Sa = c[Kb >> 2] | 0;
  68105. lb = c[(Kb + 4) >> 2] | 0;
  68106. Kb = c[mb >> 2] | 0;
  68107. c[Qa >> 2] = (c[jb >> 2] | 0) + 40 + 24;
  68108. c[Ra >> 2] = Kb;
  68109. Kb = c[Ra >> 2] | 0;
  68110. c[Na >> 2] = c[Qa >> 2];
  68111. c[Oa >> 2] = Kb;
  68112. c[Pa >> 2] = 1;
  68113. Kb = (c[Oa >> 2] | 0) == 1;
  68114. Oa = c[Na >> 2] | 0;
  68115. if ((c[Pa >> 2] | 0) == 1) {
  68116. Pa = Hh(Oa) | 0;
  68117. Na = y;
  68118. if (Kb) {
  68119. Lb = Pa;
  68120. Mb = Na;
  68121. } else {
  68122. Qa = Ih(Pa, Na) | 0;
  68123. Lb = Qa;
  68124. Mb = y;
  68125. }
  68126. Qa = Ma;
  68127. c[Qa >> 2] = Lb;
  68128. c[(Qa + 4) >> 2] = Mb;
  68129. } else {
  68130. Mb = Oa;
  68131. Oa = c[Mb >> 2] | 0;
  68132. Qa = c[(Mb + 4) >> 2] | 0;
  68133. if (Kb) {
  68134. Nb = Oa;
  68135. Ob = Qa;
  68136. } else {
  68137. Kb = Ih(Oa, Qa) | 0;
  68138. Nb = Kb;
  68139. Ob = y;
  68140. }
  68141. Kb = Ma;
  68142. c[Kb >> 2] = Nb;
  68143. c[(Kb + 4) >> 2] = Ob;
  68144. }
  68145. Ob = Ma;
  68146. Ma =
  68147. Jh(Sa, lb, c[Ob >> 2] | 0, c[(Ob + 4) >> 2] | 0) | 0;
  68148. Ob = ((c[jb >> 2] | 0) + 32) | 0;
  68149. c[Ob >> 2] = Ma;
  68150. c[(Ob + 4) >> 2] = y;
  68151. c[nb >> 2] =
  68152. (c[nb >> 2] | 0) +
  68153. (32 - (c[((c[jb >> 2] | 0) + 72) >> 2] | 0));
  68154. c[((c[jb >> 2] | 0) + 72) >> 2] = 0;
  68155. }
  68156. if (
  68157. (((c[nb >> 2] | 0) + 32) | 0) >>> 0 <=
  68158. (c[ob >> 2] | 0) >>> 0
  68159. ) {
  68160. c[pb >> 2] = (c[ob >> 2] | 0) + -32;
  68161. Ob = ((c[jb >> 2] | 0) + 8) | 0;
  68162. Ma = c[(Ob + 4) >> 2] | 0;
  68163. lb = qb;
  68164. c[lb >> 2] = c[Ob >> 2];
  68165. c[(lb + 4) >> 2] = Ma;
  68166. Ma = ((c[jb >> 2] | 0) + 16) | 0;
  68167. lb = c[(Ma + 4) >> 2] | 0;
  68168. Ob = rb;
  68169. c[Ob >> 2] = c[Ma >> 2];
  68170. c[(Ob + 4) >> 2] = lb;
  68171. lb = ((c[jb >> 2] | 0) + 24) | 0;
  68172. Ob = c[(lb + 4) >> 2] | 0;
  68173. Ma = sb;
  68174. c[Ma >> 2] = c[lb >> 2];
  68175. c[(Ma + 4) >> 2] = Ob;
  68176. Ob = ((c[jb >> 2] | 0) + 32) | 0;
  68177. Ma = c[(Ob + 4) >> 2] | 0;
  68178. lb = tb;
  68179. c[lb >> 2] = c[Ob >> 2];
  68180. c[(lb + 4) >> 2] = Ma;
  68181. do {
  68182. Ma = qb;
  68183. lb = c[Ma >> 2] | 0;
  68184. Ob = c[(Ma + 4) >> 2] | 0;
  68185. Ma = c[mb >> 2] | 0;
  68186. c[Ka >> 2] = c[nb >> 2];
  68187. c[La >> 2] = Ma;
  68188. Ma = c[La >> 2] | 0;
  68189. c[Ha >> 2] = c[Ka >> 2];
  68190. c[Ia >> 2] = Ma;
  68191. c[Ja >> 2] = 1;
  68192. Ma = (c[Ia >> 2] | 0) == 1;
  68193. Sa = c[Ha >> 2] | 0;
  68194. if ((c[Ja >> 2] | 0) == 1) {
  68195. Kb = Hh(Sa) | 0;
  68196. Nb = y;
  68197. if (Ma) {
  68198. Pb = Kb;
  68199. Qb = Nb;
  68200. } else {
  68201. Qa = Ih(Kb, Nb) | 0;
  68202. Pb = Qa;
  68203. Qb = y;
  68204. }
  68205. Qa = Ga;
  68206. c[Qa >> 2] = Pb;
  68207. c[(Qa + 4) >> 2] = Qb;
  68208. } else {
  68209. Qa = Sa;
  68210. Sa = c[Qa >> 2] | 0;
  68211. Nb = c[(Qa + 4) >> 2] | 0;
  68212. if (Ma) {
  68213. Rb = Sa;
  68214. Sb = Nb;
  68215. } else {
  68216. Ma = Ih(Sa, Nb) | 0;
  68217. Rb = Ma;
  68218. Sb = y;
  68219. }
  68220. Ma = Ga;
  68221. c[Ma >> 2] = Rb;
  68222. c[(Ma + 4) >> 2] = Sb;
  68223. }
  68224. Ma = Ga;
  68225. Nb =
  68226. Jh(lb, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
  68227. 0;
  68228. Ma = qb;
  68229. c[Ma >> 2] = Nb;
  68230. c[(Ma + 4) >> 2] = y;
  68231. c[nb >> 2] = (c[nb >> 2] | 0) + 8;
  68232. Ma = rb;
  68233. Nb = c[Ma >> 2] | 0;
  68234. Ob = c[(Ma + 4) >> 2] | 0;
  68235. Ma = c[mb >> 2] | 0;
  68236. c[Ea >> 2] = c[nb >> 2];
  68237. c[Fa >> 2] = Ma;
  68238. Ma = c[Fa >> 2] | 0;
  68239. c[Ba >> 2] = c[Ea >> 2];
  68240. c[Ca >> 2] = Ma;
  68241. c[Da >> 2] = 1;
  68242. Ma = (c[Ca >> 2] | 0) == 1;
  68243. lb = c[Ba >> 2] | 0;
  68244. if ((c[Da >> 2] | 0) == 1) {
  68245. Sa = Hh(lb) | 0;
  68246. Qa = y;
  68247. if (Ma) {
  68248. Tb = Sa;
  68249. Ub = Qa;
  68250. } else {
  68251. Kb = Ih(Sa, Qa) | 0;
  68252. Tb = Kb;
  68253. Ub = y;
  68254. }
  68255. Kb = Aa;
  68256. c[Kb >> 2] = Tb;
  68257. c[(Kb + 4) >> 2] = Ub;
  68258. } else {
  68259. Kb = lb;
  68260. lb = c[Kb >> 2] | 0;
  68261. Qa = c[(Kb + 4) >> 2] | 0;
  68262. if (Ma) {
  68263. Vb = lb;
  68264. Wb = Qa;
  68265. } else {
  68266. Ma = Ih(lb, Qa) | 0;
  68267. Vb = Ma;
  68268. Wb = y;
  68269. }
  68270. Ma = Aa;
  68271. c[Ma >> 2] = Vb;
  68272. c[(Ma + 4) >> 2] = Wb;
  68273. }
  68274. Ma = Aa;
  68275. Qa =
  68276. Jh(Nb, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
  68277. 0;
  68278. Ma = rb;
  68279. c[Ma >> 2] = Qa;
  68280. c[(Ma + 4) >> 2] = y;
  68281. c[nb >> 2] = (c[nb >> 2] | 0) + 8;
  68282. Ma = sb;
  68283. Qa = c[Ma >> 2] | 0;
  68284. Ob = c[(Ma + 4) >> 2] | 0;
  68285. Ma = c[mb >> 2] | 0;
  68286. c[ya >> 2] = c[nb >> 2];
  68287. c[za >> 2] = Ma;
  68288. Ma = c[za >> 2] | 0;
  68289. c[va >> 2] = c[ya >> 2];
  68290. c[wa >> 2] = Ma;
  68291. c[xa >> 2] = 1;
  68292. Ma = (c[wa >> 2] | 0) == 1;
  68293. Nb = c[va >> 2] | 0;
  68294. if ((c[xa >> 2] | 0) == 1) {
  68295. lb = Hh(Nb) | 0;
  68296. Kb = y;
  68297. if (Ma) {
  68298. Xb = lb;
  68299. Yb = Kb;
  68300. } else {
  68301. Sa = Ih(lb, Kb) | 0;
  68302. Xb = Sa;
  68303. Yb = y;
  68304. }
  68305. Sa = ua;
  68306. c[Sa >> 2] = Xb;
  68307. c[(Sa + 4) >> 2] = Yb;
  68308. } else {
  68309. Sa = Nb;
  68310. Nb = c[Sa >> 2] | 0;
  68311. Kb = c[(Sa + 4) >> 2] | 0;
  68312. if (Ma) {
  68313. Zb = Nb;
  68314. _b = Kb;
  68315. } else {
  68316. Ma = Ih(Nb, Kb) | 0;
  68317. Zb = Ma;
  68318. _b = y;
  68319. }
  68320. Ma = ua;
  68321. c[Ma >> 2] = Zb;
  68322. c[(Ma + 4) >> 2] = _b;
  68323. }
  68324. Ma = ua;
  68325. Kb =
  68326. Jh(Qa, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
  68327. 0;
  68328. Ma = sb;
  68329. c[Ma >> 2] = Kb;
  68330. c[(Ma + 4) >> 2] = y;
  68331. c[nb >> 2] = (c[nb >> 2] | 0) + 8;
  68332. Ma = tb;
  68333. Kb = c[Ma >> 2] | 0;
  68334. Ob = c[(Ma + 4) >> 2] | 0;
  68335. Ma = c[mb >> 2] | 0;
  68336. c[sa >> 2] = c[nb >> 2];
  68337. c[ta >> 2] = Ma;
  68338. Ma = c[ta >> 2] | 0;
  68339. c[pa >> 2] = c[sa >> 2];
  68340. c[qa >> 2] = Ma;
  68341. c[ra >> 2] = 1;
  68342. Ma = (c[qa >> 2] | 0) == 1;
  68343. Qa = c[pa >> 2] | 0;
  68344. if ((c[ra >> 2] | 0) == 1) {
  68345. Nb = Hh(Qa) | 0;
  68346. Sa = y;
  68347. if (Ma) {
  68348. $b = Nb;
  68349. ac = Sa;
  68350. } else {
  68351. lb = Ih(Nb, Sa) | 0;
  68352. $b = lb;
  68353. ac = y;
  68354. }
  68355. lb = oa;
  68356. c[lb >> 2] = $b;
  68357. c[(lb + 4) >> 2] = ac;
  68358. } else {
  68359. lb = Qa;
  68360. Qa = c[lb >> 2] | 0;
  68361. Sa = c[(lb + 4) >> 2] | 0;
  68362. if (Ma) {
  68363. bc = Qa;
  68364. cc = Sa;
  68365. } else {
  68366. Ma = Ih(Qa, Sa) | 0;
  68367. bc = Ma;
  68368. cc = y;
  68369. }
  68370. Ma = oa;
  68371. c[Ma >> 2] = bc;
  68372. c[(Ma + 4) >> 2] = cc;
  68373. }
  68374. Ma = oa;
  68375. Sa =
  68376. Jh(Kb, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
  68377. 0;
  68378. Ma = tb;
  68379. c[Ma >> 2] = Sa;
  68380. c[(Ma + 4) >> 2] = y;
  68381. c[nb >> 2] = (c[nb >> 2] | 0) + 8;
  68382. } while (
  68383. (c[nb >> 2] | 0) >>> 0 <=
  68384. (c[pb >> 2] | 0) >>> 0
  68385. );
  68386. pb = qb;
  68387. qb = c[(pb + 4) >> 2] | 0;
  68388. oa = ((c[jb >> 2] | 0) + 8) | 0;
  68389. c[oa >> 2] = c[pb >> 2];
  68390. c[(oa + 4) >> 2] = qb;
  68391. qb = rb;
  68392. rb = c[(qb + 4) >> 2] | 0;
  68393. oa = ((c[jb >> 2] | 0) + 16) | 0;
  68394. c[oa >> 2] = c[qb >> 2];
  68395. c[(oa + 4) >> 2] = rb;
  68396. rb = sb;
  68397. sb = c[(rb + 4) >> 2] | 0;
  68398. oa = ((c[jb >> 2] | 0) + 24) | 0;
  68399. c[oa >> 2] = c[rb >> 2];
  68400. c[(oa + 4) >> 2] = sb;
  68401. sb = tb;
  68402. tb = c[(sb + 4) >> 2] | 0;
  68403. oa = ((c[jb >> 2] | 0) + 32) | 0;
  68404. c[oa >> 2] = c[sb >> 2];
  68405. c[(oa + 4) >> 2] = tb;
  68406. }
  68407. if ((c[nb >> 2] | 0) >>> 0 < (c[ob >> 2] | 0) >>> 0) {
  68408. Mh(
  68409. ((c[jb >> 2] | 0) + 40) | 0,
  68410. c[nb >> 2] | 0,
  68411. ((c[ob >> 2] | 0) - (c[nb >> 2] | 0)) | 0
  68412. ) | 0;
  68413. c[((c[jb >> 2] | 0) + 72) >> 2] =
  68414. (c[ob >> 2] | 0) - (c[nb >> 2] | 0);
  68415. }
  68416. c[ib >> 2] = 0;
  68417. }
  68418. c[ub >> 2] = c[ib >> 2];
  68419. dc = c[ub >> 2] | 0;
  68420. l = f;
  68421. return dc | 0;
  68422. } else {
  68423. c[da >> 2] = e;
  68424. c[ea >> 2] = vb;
  68425. c[fa >> 2] = wb;
  68426. c[ga >> 2] = 0;
  68427. c[ha >> 2] = c[ea >> 2];
  68428. c[ia >> 2] = (c[ha >> 2] | 0) + (c[fa >> 2] | 0);
  68429. wb = c[da >> 2] | 0;
  68430. vb = wb;
  68431. e =
  68432. dE(
  68433. c[vb >> 2] | 0,
  68434. c[(vb + 4) >> 2] | 0,
  68435. c[fa >> 2] | 0,
  68436. 0
  68437. ) | 0;
  68438. vb = wb;
  68439. c[vb >> 2] = e;
  68440. c[(vb + 4) >> 2] = y;
  68441. vb = c[da >> 2] | 0;
  68442. if (
  68443. (((c[((c[da >> 2] | 0) + 72) >> 2] | 0) +
  68444. (c[fa >> 2] | 0)) |
  68445. 0) >>>
  68446. 0 <
  68447. 32
  68448. ) {
  68449. Mh(
  68450. (vb + 40 + (c[((c[da >> 2] | 0) + 72) >> 2] | 0)) | 0,
  68451. c[ea >> 2] | 0,
  68452. c[fa >> 2] | 0
  68453. ) | 0;
  68454. e = ((c[da >> 2] | 0) + 72) | 0;
  68455. c[e >> 2] = (c[e >> 2] | 0) + (c[fa >> 2] | 0);
  68456. c[ca >> 2] = 0;
  68457. } else {
  68458. if (c[(vb + 72) >> 2] | 0) {
  68459. Mh(
  68460. ((c[da >> 2] | 0) +
  68461. 40 +
  68462. (c[((c[da >> 2] | 0) + 72) >> 2] | 0)) |
  68463. 0,
  68464. c[ea >> 2] | 0,
  68465. (32 - (c[((c[da >> 2] | 0) + 72) >> 2] | 0)) | 0
  68466. ) | 0;
  68467. ea = ((c[da >> 2] | 0) + 8) | 0;
  68468. vb = c[ea >> 2] | 0;
  68469. fa = c[(ea + 4) >> 2] | 0;
  68470. ea = c[ga >> 2] | 0;
  68471. c[aa >> 2] = (c[da >> 2] | 0) + 40;
  68472. c[ba >> 2] = ea;
  68473. ea = c[ba >> 2] | 0;
  68474. c[Z >> 2] = c[aa >> 2];
  68475. c[_ >> 2] = ea;
  68476. c[$ >> 2] = 1;
  68477. ea = (c[_ >> 2] | 0) == 1;
  68478. _ = c[Z >> 2] | 0;
  68479. if ((c[$ >> 2] | 0) == 1) {
  68480. $ = Hh(_) | 0;
  68481. Z = y;
  68482. if (ea) {
  68483. ec = $;
  68484. fc = Z;
  68485. } else {
  68486. aa = Ih($, Z) | 0;
  68487. ec = aa;
  68488. fc = y;
  68489. }
  68490. aa = Y;
  68491. c[aa >> 2] = ec;
  68492. c[(aa + 4) >> 2] = fc;
  68493. } else {
  68494. fc = _;
  68495. _ = c[fc >> 2] | 0;
  68496. aa = c[(fc + 4) >> 2] | 0;
  68497. if (ea) {
  68498. gc = _;
  68499. hc = aa;
  68500. } else {
  68501. ea = Ih(_, aa) | 0;
  68502. gc = ea;
  68503. hc = y;
  68504. }
  68505. ea = Y;
  68506. c[ea >> 2] = gc;
  68507. c[(ea + 4) >> 2] = hc;
  68508. }
  68509. hc = Y;
  68510. Y =
  68511. Jh(vb, fa, c[hc >> 2] | 0, c[(hc + 4) >> 2] | 0) | 0;
  68512. hc = ((c[da >> 2] | 0) + 8) | 0;
  68513. c[hc >> 2] = Y;
  68514. c[(hc + 4) >> 2] = y;
  68515. hc = ((c[da >> 2] | 0) + 16) | 0;
  68516. Y = c[hc >> 2] | 0;
  68517. fa = c[(hc + 4) >> 2] | 0;
  68518. hc = c[ga >> 2] | 0;
  68519. c[W >> 2] = (c[da >> 2] | 0) + 40 + 8;
  68520. c[X >> 2] = hc;
  68521. hc = c[X >> 2] | 0;
  68522. c[T >> 2] = c[W >> 2];
  68523. c[U >> 2] = hc;
  68524. c[V >> 2] = 1;
  68525. hc = (c[U >> 2] | 0) == 1;
  68526. U = c[T >> 2] | 0;
  68527. if ((c[V >> 2] | 0) == 1) {
  68528. V = Hh(U) | 0;
  68529. T = y;
  68530. if (hc) {
  68531. ic = V;
  68532. jc = T;
  68533. } else {
  68534. W = Ih(V, T) | 0;
  68535. ic = W;
  68536. jc = y;
  68537. }
  68538. W = S;
  68539. c[W >> 2] = ic;
  68540. c[(W + 4) >> 2] = jc;
  68541. } else {
  68542. jc = U;
  68543. U = c[jc >> 2] | 0;
  68544. W = c[(jc + 4) >> 2] | 0;
  68545. if (hc) {
  68546. kc = U;
  68547. lc = W;
  68548. } else {
  68549. hc = Ih(U, W) | 0;
  68550. kc = hc;
  68551. lc = y;
  68552. }
  68553. hc = S;
  68554. c[hc >> 2] = kc;
  68555. c[(hc + 4) >> 2] = lc;
  68556. }
  68557. lc = S;
  68558. S = Jh(Y, fa, c[lc >> 2] | 0, c[(lc + 4) >> 2] | 0) | 0;
  68559. lc = ((c[da >> 2] | 0) + 16) | 0;
  68560. c[lc >> 2] = S;
  68561. c[(lc + 4) >> 2] = y;
  68562. lc = ((c[da >> 2] | 0) + 24) | 0;
  68563. S = c[lc >> 2] | 0;
  68564. fa = c[(lc + 4) >> 2] | 0;
  68565. lc = c[ga >> 2] | 0;
  68566. c[Q >> 2] = (c[da >> 2] | 0) + 40 + 16;
  68567. c[R >> 2] = lc;
  68568. lc = c[R >> 2] | 0;
  68569. c[N >> 2] = c[Q >> 2];
  68570. c[O >> 2] = lc;
  68571. c[P >> 2] = 1;
  68572. lc = (c[O >> 2] | 0) == 1;
  68573. O = c[N >> 2] | 0;
  68574. if ((c[P >> 2] | 0) == 1) {
  68575. P = Hh(O) | 0;
  68576. N = y;
  68577. if (lc) {
  68578. mc = P;
  68579. nc = N;
  68580. } else {
  68581. Q = Ih(P, N) | 0;
  68582. mc = Q;
  68583. nc = y;
  68584. }
  68585. Q = M;
  68586. c[Q >> 2] = mc;
  68587. c[(Q + 4) >> 2] = nc;
  68588. } else {
  68589. nc = O;
  68590. O = c[nc >> 2] | 0;
  68591. Q = c[(nc + 4) >> 2] | 0;
  68592. if (lc) {
  68593. oc = O;
  68594. pc = Q;
  68595. } else {
  68596. lc = Ih(O, Q) | 0;
  68597. oc = lc;
  68598. pc = y;
  68599. }
  68600. lc = M;
  68601. c[lc >> 2] = oc;
  68602. c[(lc + 4) >> 2] = pc;
  68603. }
  68604. pc = M;
  68605. M = Jh(S, fa, c[pc >> 2] | 0, c[(pc + 4) >> 2] | 0) | 0;
  68606. pc = ((c[da >> 2] | 0) + 24) | 0;
  68607. c[pc >> 2] = M;
  68608. c[(pc + 4) >> 2] = y;
  68609. pc = ((c[da >> 2] | 0) + 32) | 0;
  68610. M = c[pc >> 2] | 0;
  68611. fa = c[(pc + 4) >> 2] | 0;
  68612. pc = c[ga >> 2] | 0;
  68613. c[K >> 2] = (c[da >> 2] | 0) + 40 + 24;
  68614. c[L >> 2] = pc;
  68615. pc = c[L >> 2] | 0;
  68616. c[H >> 2] = c[K >> 2];
  68617. c[I >> 2] = pc;
  68618. c[J >> 2] = 1;
  68619. pc = (c[I >> 2] | 0) == 1;
  68620. I = c[H >> 2] | 0;
  68621. if ((c[J >> 2] | 0) == 1) {
  68622. J = Hh(I) | 0;
  68623. H = y;
  68624. if (pc) {
  68625. qc = J;
  68626. rc = H;
  68627. } else {
  68628. K = Ih(J, H) | 0;
  68629. qc = K;
  68630. rc = y;
  68631. }
  68632. K = G;
  68633. c[K >> 2] = qc;
  68634. c[(K + 4) >> 2] = rc;
  68635. } else {
  68636. rc = I;
  68637. I = c[rc >> 2] | 0;
  68638. K = c[(rc + 4) >> 2] | 0;
  68639. if (pc) {
  68640. sc = I;
  68641. tc = K;
  68642. } else {
  68643. pc = Ih(I, K) | 0;
  68644. sc = pc;
  68645. tc = y;
  68646. }
  68647. pc = G;
  68648. c[pc >> 2] = sc;
  68649. c[(pc + 4) >> 2] = tc;
  68650. }
  68651. tc = G;
  68652. G = Jh(M, fa, c[tc >> 2] | 0, c[(tc + 4) >> 2] | 0) | 0;
  68653. tc = ((c[da >> 2] | 0) + 32) | 0;
  68654. c[tc >> 2] = G;
  68655. c[(tc + 4) >> 2] = y;
  68656. c[ha >> 2] =
  68657. (c[ha >> 2] | 0) +
  68658. (32 - (c[((c[da >> 2] | 0) + 72) >> 2] | 0));
  68659. c[((c[da >> 2] | 0) + 72) >> 2] = 0;
  68660. }
  68661. if (
  68662. (((c[ha >> 2] | 0) + 32) | 0) >>> 0 <=
  68663. (c[ia >> 2] | 0) >>> 0
  68664. ) {
  68665. c[ja >> 2] = (c[ia >> 2] | 0) + -32;
  68666. tc = ((c[da >> 2] | 0) + 8) | 0;
  68667. G = c[(tc + 4) >> 2] | 0;
  68668. fa = ka;
  68669. c[fa >> 2] = c[tc >> 2];
  68670. c[(fa + 4) >> 2] = G;
  68671. G = ((c[da >> 2] | 0) + 16) | 0;
  68672. fa = c[(G + 4) >> 2] | 0;
  68673. tc = la;
  68674. c[tc >> 2] = c[G >> 2];
  68675. c[(tc + 4) >> 2] = fa;
  68676. fa = ((c[da >> 2] | 0) + 24) | 0;
  68677. tc = c[(fa + 4) >> 2] | 0;
  68678. G = ma;
  68679. c[G >> 2] = c[fa >> 2];
  68680. c[(G + 4) >> 2] = tc;
  68681. tc = ((c[da >> 2] | 0) + 32) | 0;
  68682. G = c[(tc + 4) >> 2] | 0;
  68683. fa = na;
  68684. c[fa >> 2] = c[tc >> 2];
  68685. c[(fa + 4) >> 2] = G;
  68686. do {
  68687. G = ka;
  68688. fa = c[G >> 2] | 0;
  68689. tc = c[(G + 4) >> 2] | 0;
  68690. G = c[ga >> 2] | 0;
  68691. c[E >> 2] = c[ha >> 2];
  68692. c[F >> 2] = G;
  68693. G = c[F >> 2] | 0;
  68694. c[B >> 2] = c[E >> 2];
  68695. c[C >> 2] = G;
  68696. c[D >> 2] = 1;
  68697. G = (c[C >> 2] | 0) == 1;
  68698. M = c[B >> 2] | 0;
  68699. if ((c[D >> 2] | 0) == 1) {
  68700. pc = Hh(M) | 0;
  68701. sc = y;
  68702. if (G) {
  68703. uc = pc;
  68704. vc = sc;
  68705. } else {
  68706. K = Ih(pc, sc) | 0;
  68707. uc = K;
  68708. vc = y;
  68709. }
  68710. K = A;
  68711. c[K >> 2] = uc;
  68712. c[(K + 4) >> 2] = vc;
  68713. } else {
  68714. K = M;
  68715. M = c[K >> 2] | 0;
  68716. sc = c[(K + 4) >> 2] | 0;
  68717. if (G) {
  68718. wc = M;
  68719. xc = sc;
  68720. } else {
  68721. G = Ih(M, sc) | 0;
  68722. wc = G;
  68723. xc = y;
  68724. }
  68725. G = A;
  68726. c[G >> 2] = wc;
  68727. c[(G + 4) >> 2] = xc;
  68728. }
  68729. G = A;
  68730. sc =
  68731. Jh(fa, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
  68732. G = ka;
  68733. c[G >> 2] = sc;
  68734. c[(G + 4) >> 2] = y;
  68735. c[ha >> 2] = (c[ha >> 2] | 0) + 8;
  68736. G = la;
  68737. sc = c[G >> 2] | 0;
  68738. tc = c[(G + 4) >> 2] | 0;
  68739. G = c[ga >> 2] | 0;
  68740. c[x >> 2] = c[ha >> 2];
  68741. c[z >> 2] = G;
  68742. G = c[z >> 2] | 0;
  68743. c[u >> 2] = c[x >> 2];
  68744. c[v >> 2] = G;
  68745. c[w >> 2] = 1;
  68746. G = (c[v >> 2] | 0) == 1;
  68747. fa = c[u >> 2] | 0;
  68748. if ((c[w >> 2] | 0) == 1) {
  68749. M = Hh(fa) | 0;
  68750. K = y;
  68751. if (G) {
  68752. yc = M;
  68753. zc = K;
  68754. } else {
  68755. pc = Ih(M, K) | 0;
  68756. yc = pc;
  68757. zc = y;
  68758. }
  68759. pc = t;
  68760. c[pc >> 2] = yc;
  68761. c[(pc + 4) >> 2] = zc;
  68762. } else {
  68763. pc = fa;
  68764. fa = c[pc >> 2] | 0;
  68765. K = c[(pc + 4) >> 2] | 0;
  68766. if (G) {
  68767. Ac = fa;
  68768. Bc = K;
  68769. } else {
  68770. G = Ih(fa, K) | 0;
  68771. Ac = G;
  68772. Bc = y;
  68773. }
  68774. G = t;
  68775. c[G >> 2] = Ac;
  68776. c[(G + 4) >> 2] = Bc;
  68777. }
  68778. G = t;
  68779. K =
  68780. Jh(sc, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
  68781. G = la;
  68782. c[G >> 2] = K;
  68783. c[(G + 4) >> 2] = y;
  68784. c[ha >> 2] = (c[ha >> 2] | 0) + 8;
  68785. G = ma;
  68786. K = c[G >> 2] | 0;
  68787. tc = c[(G + 4) >> 2] | 0;
  68788. G = c[ga >> 2] | 0;
  68789. c[r >> 2] = c[ha >> 2];
  68790. c[s >> 2] = G;
  68791. G = c[s >> 2] | 0;
  68792. c[o >> 2] = c[r >> 2];
  68793. c[p >> 2] = G;
  68794. c[q >> 2] = 1;
  68795. G = (c[p >> 2] | 0) == 1;
  68796. sc = c[o >> 2] | 0;
  68797. if ((c[q >> 2] | 0) == 1) {
  68798. fa = Hh(sc) | 0;
  68799. pc = y;
  68800. if (G) {
  68801. Cc = fa;
  68802. Dc = pc;
  68803. } else {
  68804. M = Ih(fa, pc) | 0;
  68805. Cc = M;
  68806. Dc = y;
  68807. }
  68808. M = n;
  68809. c[M >> 2] = Cc;
  68810. c[(M + 4) >> 2] = Dc;
  68811. } else {
  68812. M = sc;
  68813. sc = c[M >> 2] | 0;
  68814. pc = c[(M + 4) >> 2] | 0;
  68815. if (G) {
  68816. Ec = sc;
  68817. Fc = pc;
  68818. } else {
  68819. G = Ih(sc, pc) | 0;
  68820. Ec = G;
  68821. Fc = y;
  68822. }
  68823. G = n;
  68824. c[G >> 2] = Ec;
  68825. c[(G + 4) >> 2] = Fc;
  68826. }
  68827. G = n;
  68828. pc =
  68829. Jh(K, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
  68830. G = ma;
  68831. c[G >> 2] = pc;
  68832. c[(G + 4) >> 2] = y;
  68833. c[ha >> 2] = (c[ha >> 2] | 0) + 8;
  68834. G = na;
  68835. pc = c[G >> 2] | 0;
  68836. tc = c[(G + 4) >> 2] | 0;
  68837. G = c[ga >> 2] | 0;
  68838. c[k >> 2] = c[ha >> 2];
  68839. c[m >> 2] = G;
  68840. G = c[m >> 2] | 0;
  68841. c[h >> 2] = c[k >> 2];
  68842. c[i >> 2] = G;
  68843. c[j >> 2] = 1;
  68844. G = (c[i >> 2] | 0) == 1;
  68845. K = c[h >> 2] | 0;
  68846. if ((c[j >> 2] | 0) == 1) {
  68847. sc = Hh(K) | 0;
  68848. M = y;
  68849. if (G) {
  68850. Gc = sc;
  68851. Hc = M;
  68852. } else {
  68853. fa = Ih(sc, M) | 0;
  68854. Gc = fa;
  68855. Hc = y;
  68856. }
  68857. fa = g;
  68858. c[fa >> 2] = Gc;
  68859. c[(fa + 4) >> 2] = Hc;
  68860. } else {
  68861. fa = K;
  68862. K = c[fa >> 2] | 0;
  68863. M = c[(fa + 4) >> 2] | 0;
  68864. if (G) {
  68865. Ic = K;
  68866. Jc = M;
  68867. } else {
  68868. G = Ih(K, M) | 0;
  68869. Ic = G;
  68870. Jc = y;
  68871. }
  68872. G = g;
  68873. c[G >> 2] = Ic;
  68874. c[(G + 4) >> 2] = Jc;
  68875. }
  68876. G = g;
  68877. M =
  68878. Jh(pc, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
  68879. G = na;
  68880. c[G >> 2] = M;
  68881. c[(G + 4) >> 2] = y;
  68882. c[ha >> 2] = (c[ha >> 2] | 0) + 8;
  68883. } while (
  68884. (c[ha >> 2] | 0) >>> 0 <=
  68885. (c[ja >> 2] | 0) >>> 0
  68886. );
  68887. ja = ka;
  68888. ka = c[(ja + 4) >> 2] | 0;
  68889. g = ((c[da >> 2] | 0) + 8) | 0;
  68890. c[g >> 2] = c[ja >> 2];
  68891. c[(g + 4) >> 2] = ka;
  68892. ka = la;
  68893. la = c[(ka + 4) >> 2] | 0;
  68894. g = ((c[da >> 2] | 0) + 16) | 0;
  68895. c[g >> 2] = c[ka >> 2];
  68896. c[(g + 4) >> 2] = la;
  68897. la = ma;
  68898. ma = c[(la + 4) >> 2] | 0;
  68899. g = ((c[da >> 2] | 0) + 24) | 0;
  68900. c[g >> 2] = c[la >> 2];
  68901. c[(g + 4) >> 2] = ma;
  68902. ma = na;
  68903. na = c[(ma + 4) >> 2] | 0;
  68904. g = ((c[da >> 2] | 0) + 32) | 0;
  68905. c[g >> 2] = c[ma >> 2];
  68906. c[(g + 4) >> 2] = na;
  68907. }
  68908. if ((c[ha >> 2] | 0) >>> 0 < (c[ia >> 2] | 0) >>> 0) {
  68909. Mh(
  68910. ((c[da >> 2] | 0) + 40) | 0,
  68911. c[ha >> 2] | 0,
  68912. ((c[ia >> 2] | 0) - (c[ha >> 2] | 0)) | 0
  68913. ) | 0;
  68914. c[((c[da >> 2] | 0) + 72) >> 2] =
  68915. (c[ia >> 2] | 0) - (c[ha >> 2] | 0);
  68916. }
  68917. c[ca >> 2] = 0;
  68918. }
  68919. c[ub >> 2] = c[ca >> 2];
  68920. dc = c[ub >> 2] | 0;
  68921. l = f;
  68922. return dc | 0;
  68923. }
  68924. return 0;
  68925. }
  68926. function Oh(b) {
  68927. b = b | 0;
  68928. var e = 0,
  68929. f = 0,
  68930. g = 0,
  68931. h = 0,
  68932. i = 0,
  68933. j = 0,
  68934. k = 0,
  68935. m = 0,
  68936. n = 0,
  68937. o = 0,
  68938. p = 0,
  68939. q = 0,
  68940. r = 0,
  68941. s = 0,
  68942. t = 0,
  68943. u = 0,
  68944. v = 0,
  68945. w = 0,
  68946. x = 0,
  68947. z = 0,
  68948. A = 0,
  68949. B = 0,
  68950. C = 0,
  68951. D = 0,
  68952. E = 0,
  68953. F = 0,
  68954. G = 0,
  68955. H = 0,
  68956. I = 0,
  68957. J = 0,
  68958. K = 0,
  68959. L = 0,
  68960. M = 0,
  68961. N = 0,
  68962. O = 0,
  68963. P = 0,
  68964. Q = 0,
  68965. R = 0,
  68966. S = 0,
  68967. T = 0,
  68968. U = 0,
  68969. V = 0,
  68970. W = 0,
  68971. X = 0,
  68972. Y = 0,
  68973. Z = 0,
  68974. _ = 0,
  68975. $ = 0,
  68976. aa = 0,
  68977. ba = 0,
  68978. ca = 0,
  68979. da = 0,
  68980. ea = 0,
  68981. fa = 0,
  68982. ga = 0,
  68983. ha = 0,
  68984. ia = 0,
  68985. ja = 0,
  68986. ka = 0,
  68987. la = 0,
  68988. ma = 0,
  68989. na = 0,
  68990. oa = 0,
  68991. pa = 0,
  68992. qa = 0,
  68993. ra = 0,
  68994. sa = 0,
  68995. ta = 0,
  68996. ua = 0,
  68997. va = 0,
  68998. wa = 0,
  68999. xa = 0,
  69000. ya = 0,
  69001. za = 0;
  69002. e = l;
  69003. l = (l + 256) | 0;
  69004. f = (e + 244) | 0;
  69005. g = (e + 240) | 0;
  69006. h = (e + 236) | 0;
  69007. i = (e + 232) | 0;
  69008. j = (e + 228) | 0;
  69009. k = (e + 224) | 0;
  69010. m = (e + 112) | 0;
  69011. n = (e + 220) | 0;
  69012. o = (e + 216) | 0;
  69013. p = (e + 212) | 0;
  69014. q = (e + 208) | 0;
  69015. r = (e + 204) | 0;
  69016. s = (e + 200) | 0;
  69017. t = (e + 196) | 0;
  69018. u = (e + 192) | 0;
  69019. v = (e + 188) | 0;
  69020. w = (e + 104) | 0;
  69021. x = (e + 96) | 0;
  69022. z = (e + 88) | 0;
  69023. A = (e + 80) | 0;
  69024. B = (e + 72) | 0;
  69025. C = (e + 64) | 0;
  69026. D = (e + 184) | 0;
  69027. E = (e + 180) | 0;
  69028. F = (e + 176) | 0;
  69029. G = (e + 172) | 0;
  69030. H = (e + 168) | 0;
  69031. I = (e + 164) | 0;
  69032. J = (e + 56) | 0;
  69033. K = (e + 160) | 0;
  69034. L = (e + 156) | 0;
  69035. M = (e + 152) | 0;
  69036. N = (e + 148) | 0;
  69037. O = (e + 144) | 0;
  69038. P = (e + 140) | 0;
  69039. Q = (e + 136) | 0;
  69040. R = (e + 132) | 0;
  69041. S = (e + 128) | 0;
  69042. T = (e + 48) | 0;
  69043. U = (e + 40) | 0;
  69044. V = (e + 32) | 0;
  69045. W = (e + 24) | 0;
  69046. X = (e + 16) | 0;
  69047. Y = (e + 8) | 0;
  69048. Z = e;
  69049. _ = (e + 124) | 0;
  69050. $ = (e + 120) | 0;
  69051. c[_ >> 2] = b;
  69052. c[$ >> 2] = a[11920];
  69053. b = c[_ >> 2] | 0;
  69054. if ((c[$ >> 2] | 0) == 1) {
  69055. c[P >> 2] = b;
  69056. c[Q >> 2] = 1;
  69057. c[R >> 2] = (c[P >> 2] | 0) + 40;
  69058. c[S >> 2] =
  69059. (c[P >> 2] | 0) +
  69060. 40 +
  69061. (c[((c[P >> 2] | 0) + 72) >> 2] | 0);
  69062. $ = c[P >> 2] | 0;
  69063. _ = c[($ + 4) >> 2] | 0;
  69064. aa = c[P >> 2] | 0;
  69065. if (
  69066. (_ >>> 0 > 0) |
  69067. (((_ | 0) == 0) & ((c[$ >> 2] | 0) >>> 0 >= 32))
  69068. ) {
  69069. $ = (aa + 8) | 0;
  69070. _ = c[($ + 4) >> 2] | 0;
  69071. ba = U;
  69072. c[ba >> 2] = c[$ >> 2];
  69073. c[(ba + 4) >> 2] = _;
  69074. _ = ((c[P >> 2] | 0) + 16) | 0;
  69075. ba = c[(_ + 4) >> 2] | 0;
  69076. $ = V;
  69077. c[$ >> 2] = c[_ >> 2];
  69078. c[($ + 4) >> 2] = ba;
  69079. ba = ((c[P >> 2] | 0) + 24) | 0;
  69080. $ = c[(ba + 4) >> 2] | 0;
  69081. _ = W;
  69082. c[_ >> 2] = c[ba >> 2];
  69083. c[(_ + 4) >> 2] = $;
  69084. $ = ((c[P >> 2] | 0) + 32) | 0;
  69085. _ = c[($ + 4) >> 2] | 0;
  69086. ba = X;
  69087. c[ba >> 2] = c[$ >> 2];
  69088. c[(ba + 4) >> 2] = _;
  69089. _ = U;
  69090. ba = jE(c[_ >> 2] | 0, c[(_ + 4) >> 2] | 0, 1) | 0;
  69091. _ = y;
  69092. $ = U;
  69093. ca = iE(c[$ >> 2] | 0, c[($ + 4) >> 2] | 0, 63) | 0;
  69094. $ = _ | y;
  69095. _ = V;
  69096. da = jE(c[_ >> 2] | 0, c[(_ + 4) >> 2] | 0, 7) | 0;
  69097. _ = y;
  69098. ea = V;
  69099. fa = iE(c[ea >> 2] | 0, c[(ea + 4) >> 2] | 0, 57) | 0;
  69100. ea = dE(ba | ca | 0, $ | 0, da | fa | 0, _ | y | 0) | 0;
  69101. _ = y;
  69102. fa = W;
  69103. da = jE(c[fa >> 2] | 0, c[(fa + 4) >> 2] | 0, 12) | 0;
  69104. fa = y;
  69105. $ = W;
  69106. ca = iE(c[$ >> 2] | 0, c[($ + 4) >> 2] | 0, 52) | 0;
  69107. $ = dE(ea | 0, _ | 0, da | ca | 0, fa | y | 0) | 0;
  69108. fa = y;
  69109. ca = X;
  69110. da = jE(c[ca >> 2] | 0, c[(ca + 4) >> 2] | 0, 18) | 0;
  69111. ca = y;
  69112. _ = X;
  69113. ea = iE(c[_ >> 2] | 0, c[(_ + 4) >> 2] | 0, 46) | 0;
  69114. _ = dE($ | 0, fa | 0, da | ea | 0, ca | y | 0) | 0;
  69115. ca = T;
  69116. c[ca >> 2] = _;
  69117. c[(ca + 4) >> 2] = y;
  69118. ca = T;
  69119. _ = U;
  69120. U =
  69121. Kh(
  69122. c[ca >> 2] | 0,
  69123. c[(ca + 4) >> 2] | 0,
  69124. c[_ >> 2] | 0,
  69125. c[(_ + 4) >> 2] | 0
  69126. ) | 0;
  69127. _ = T;
  69128. c[_ >> 2] = U;
  69129. c[(_ + 4) >> 2] = y;
  69130. _ = T;
  69131. U = V;
  69132. V =
  69133. Kh(
  69134. c[_ >> 2] | 0,
  69135. c[(_ + 4) >> 2] | 0,
  69136. c[U >> 2] | 0,
  69137. c[(U + 4) >> 2] | 0
  69138. ) | 0;
  69139. U = T;
  69140. c[U >> 2] = V;
  69141. c[(U + 4) >> 2] = y;
  69142. U = T;
  69143. V = W;
  69144. W =
  69145. Kh(
  69146. c[U >> 2] | 0,
  69147. c[(U + 4) >> 2] | 0,
  69148. c[V >> 2] | 0,
  69149. c[(V + 4) >> 2] | 0
  69150. ) | 0;
  69151. V = T;
  69152. c[V >> 2] = W;
  69153. c[(V + 4) >> 2] = y;
  69154. V = T;
  69155. W = X;
  69156. X =
  69157. Kh(
  69158. c[V >> 2] | 0,
  69159. c[(V + 4) >> 2] | 0,
  69160. c[W >> 2] | 0,
  69161. c[(W + 4) >> 2] | 0
  69162. ) | 0;
  69163. W = T;
  69164. c[W >> 2] = X;
  69165. c[(W + 4) >> 2] = y;
  69166. } else {
  69167. W = (aa + 24) | 0;
  69168. aa =
  69169. dE(
  69170. c[W >> 2] | 0,
  69171. c[(W + 4) >> 2] | 0,
  69172. 374761413,
  69173. 668265263
  69174. ) | 0;
  69175. W = T;
  69176. c[W >> 2] = aa;
  69177. c[(W + 4) >> 2] = y;
  69178. }
  69179. W = c[P >> 2] | 0;
  69180. P = T;
  69181. aa =
  69182. dE(
  69183. c[P >> 2] | 0,
  69184. c[(P + 4) >> 2] | 0,
  69185. c[W >> 2] | 0,
  69186. c[(W + 4) >> 2] | 0
  69187. ) | 0;
  69188. W = T;
  69189. c[W >> 2] = aa;
  69190. c[(W + 4) >> 2] = y;
  69191. while (1) {
  69192. ga = c[R >> 2] | 0;
  69193. if (
  69194. (((c[R >> 2] | 0) + 8) | 0) >>> 0 >
  69195. (c[S >> 2] | 0) >>> 0
  69196. )
  69197. break;
  69198. W = c[Q >> 2] | 0;
  69199. c[N >> 2] = ga;
  69200. c[O >> 2] = W;
  69201. W = c[O >> 2] | 0;
  69202. c[K >> 2] = c[N >> 2];
  69203. c[L >> 2] = W;
  69204. c[M >> 2] = 1;
  69205. W = (c[L >> 2] | 0) == 1;
  69206. aa = c[K >> 2] | 0;
  69207. if ((c[M >> 2] | 0) == 1) {
  69208. P = Hh(aa) | 0;
  69209. X = y;
  69210. if (W) {
  69211. ha = P;
  69212. ia = X;
  69213. } else {
  69214. V = Ih(P, X) | 0;
  69215. ha = V;
  69216. ia = y;
  69217. }
  69218. V = J;
  69219. c[V >> 2] = ha;
  69220. c[(V + 4) >> 2] = ia;
  69221. } else {
  69222. V = aa;
  69223. aa = c[V >> 2] | 0;
  69224. X = c[(V + 4) >> 2] | 0;
  69225. if (W) {
  69226. ja = aa;
  69227. ka = X;
  69228. } else {
  69229. W = Ih(aa, X) | 0;
  69230. ja = W;
  69231. ka = y;
  69232. }
  69233. W = J;
  69234. c[W >> 2] = ja;
  69235. c[(W + 4) >> 2] = ka;
  69236. }
  69237. W = J;
  69238. X = Jh(0, 0, c[W >> 2] | 0, c[(W + 4) >> 2] | 0) | 0;
  69239. W = Y;
  69240. c[W >> 2] = X;
  69241. c[(W + 4) >> 2] = y;
  69242. W = Y;
  69243. X = T;
  69244. aa = c[(X + 4) >> 2] ^ c[(W + 4) >> 2];
  69245. V = T;
  69246. c[V >> 2] = c[X >> 2] ^ c[W >> 2];
  69247. c[(V + 4) >> 2] = aa;
  69248. aa = T;
  69249. V = jE(c[aa >> 2] | 0, c[(aa + 4) >> 2] | 0, 27) | 0;
  69250. aa = y;
  69251. W = T;
  69252. X = iE(c[W >> 2] | 0, c[(W + 4) >> 2] | 0, 37) | 0;
  69253. W =
  69254. cE(V | X | 0, aa | y | 0, -2048144761, -1640531535) | 0;
  69255. aa = dE(W | 0, y | 0, -1028477341, -2048144777) | 0;
  69256. W = T;
  69257. c[W >> 2] = aa;
  69258. c[(W + 4) >> 2] = y;
  69259. c[R >> 2] = (c[R >> 2] | 0) + 8;
  69260. }
  69261. if (((ga + 4) | 0) >>> 0 <= (c[S >> 2] | 0) >>> 0) {
  69262. ga = c[Q >> 2] | 0;
  69263. c[H >> 2] = c[R >> 2];
  69264. c[I >> 2] = ga;
  69265. ga = c[I >> 2] | 0;
  69266. c[E >> 2] = c[H >> 2];
  69267. c[F >> 2] = ga;
  69268. c[G >> 2] = 1;
  69269. ga = (c[F >> 2] | 0) == 1;
  69270. F = c[E >> 2] | 0;
  69271. if ((c[G >> 2] | 0) == 1) {
  69272. G = Fh(F) | 0;
  69273. if (ga) la = G;
  69274. else la = Gh(G) | 0;
  69275. c[D >> 2] = la;
  69276. } else {
  69277. la = c[F >> 2] | 0;
  69278. if (ga) ma = la;
  69279. else ma = Gh(la) | 0;
  69280. c[D >> 2] = ma;
  69281. }
  69282. ma = cE(c[D >> 2] | 0, 0, -2048144761, -1640531535) | 0;
  69283. D = T;
  69284. la = c[(D + 4) >> 2] ^ y;
  69285. ga = T;
  69286. c[ga >> 2] = c[D >> 2] ^ ma;
  69287. c[(ga + 4) >> 2] = la;
  69288. la = T;
  69289. ga = jE(c[la >> 2] | 0, c[(la + 4) >> 2] | 0, 23) | 0;
  69290. la = y;
  69291. ma = T;
  69292. D = iE(c[ma >> 2] | 0, c[(ma + 4) >> 2] | 0, 41) | 0;
  69293. ma =
  69294. cE(ga | D | 0, la | y | 0, 668265295, -1028477379) | 0;
  69295. la = dE(ma | 0, y | 0, -1640531463, 374761393) | 0;
  69296. ma = T;
  69297. c[ma >> 2] = la;
  69298. c[(ma + 4) >> 2] = y;
  69299. c[R >> 2] = (c[R >> 2] | 0) + 4;
  69300. }
  69301. while (1) {
  69302. if ((c[R >> 2] | 0) >>> 0 >= (c[S >> 2] | 0) >>> 0) break;
  69303. ma =
  69304. cE(d[c[R >> 2] >> 0] | 0, 0, 374761413, 668265263) | 0;
  69305. la = T;
  69306. D = c[(la + 4) >> 2] ^ y;
  69307. ga = T;
  69308. c[ga >> 2] = c[la >> 2] ^ ma;
  69309. c[(ga + 4) >> 2] = D;
  69310. D = T;
  69311. ga = jE(c[D >> 2] | 0, c[(D + 4) >> 2] | 0, 11) | 0;
  69312. D = y;
  69313. ma = T;
  69314. la = iE(c[ma >> 2] | 0, c[(ma + 4) >> 2] | 0, 53) | 0;
  69315. ma =
  69316. cE(ga | la | 0, D | y | 0, -2048144761, -1640531535) |
  69317. 0;
  69318. D = T;
  69319. c[D >> 2] = ma;
  69320. c[(D + 4) >> 2] = y;
  69321. c[R >> 2] = (c[R >> 2] | 0) + 1;
  69322. }
  69323. R = T;
  69324. S = iE(c[R >> 2] | 0, c[(R + 4) >> 2] | 0, 33) | 0;
  69325. R = T;
  69326. D = c[(R + 4) >> 2] ^ y;
  69327. ma = T;
  69328. c[ma >> 2] = c[R >> 2] ^ S;
  69329. c[(ma + 4) >> 2] = D;
  69330. D = T;
  69331. ma =
  69332. cE(
  69333. c[D >> 2] | 0,
  69334. c[(D + 4) >> 2] | 0,
  69335. 668265295,
  69336. -1028477379
  69337. ) | 0;
  69338. D = T;
  69339. c[D >> 2] = ma;
  69340. c[(D + 4) >> 2] = y;
  69341. D = T;
  69342. ma = iE(c[D >> 2] | 0, c[(D + 4) >> 2] | 0, 29) | 0;
  69343. D = T;
  69344. S = c[(D + 4) >> 2] ^ y;
  69345. R = T;
  69346. c[R >> 2] = c[D >> 2] ^ ma;
  69347. c[(R + 4) >> 2] = S;
  69348. S = T;
  69349. R =
  69350. cE(
  69351. c[S >> 2] | 0,
  69352. c[(S + 4) >> 2] | 0,
  69353. -1640531463,
  69354. 374761393
  69355. ) | 0;
  69356. S = T;
  69357. c[S >> 2] = R;
  69358. c[(S + 4) >> 2] = y;
  69359. S = T;
  69360. R = c[(S + 4) >> 2] | 0;
  69361. ma = T;
  69362. c[ma >> 2] = c[S >> 2] ^ c[(T + 4) >> 2];
  69363. c[(ma + 4) >> 2] = R;
  69364. R = T;
  69365. T = c[(R + 4) >> 2] | 0;
  69366. ma = Z;
  69367. c[ma >> 2] = c[R >> 2];
  69368. c[(ma + 4) >> 2] = T;
  69369. na = Z;
  69370. oa = na;
  69371. pa = c[oa >> 2] | 0;
  69372. qa = (na + 4) | 0;
  69373. ra = qa;
  69374. sa = c[ra >> 2] | 0;
  69375. y = sa;
  69376. l = e;
  69377. return pa | 0;
  69378. } else {
  69379. c[s >> 2] = b;
  69380. c[t >> 2] = 0;
  69381. c[u >> 2] = (c[s >> 2] | 0) + 40;
  69382. c[v >> 2] =
  69383. (c[s >> 2] | 0) +
  69384. 40 +
  69385. (c[((c[s >> 2] | 0) + 72) >> 2] | 0);
  69386. b = c[s >> 2] | 0;
  69387. T = c[(b + 4) >> 2] | 0;
  69388. ma = c[s >> 2] | 0;
  69389. if (
  69390. (T >>> 0 > 0) |
  69391. (((T | 0) == 0) & ((c[b >> 2] | 0) >>> 0 >= 32))
  69392. ) {
  69393. b = (ma + 8) | 0;
  69394. T = c[(b + 4) >> 2] | 0;
  69395. R = x;
  69396. c[R >> 2] = c[b >> 2];
  69397. c[(R + 4) >> 2] = T;
  69398. T = ((c[s >> 2] | 0) + 16) | 0;
  69399. R = c[(T + 4) >> 2] | 0;
  69400. b = z;
  69401. c[b >> 2] = c[T >> 2];
  69402. c[(b + 4) >> 2] = R;
  69403. R = ((c[s >> 2] | 0) + 24) | 0;
  69404. b = c[(R + 4) >> 2] | 0;
  69405. T = A;
  69406. c[T >> 2] = c[R >> 2];
  69407. c[(T + 4) >> 2] = b;
  69408. b = ((c[s >> 2] | 0) + 32) | 0;
  69409. T = c[(b + 4) >> 2] | 0;
  69410. R = B;
  69411. c[R >> 2] = c[b >> 2];
  69412. c[(R + 4) >> 2] = T;
  69413. T = x;
  69414. R = jE(c[T >> 2] | 0, c[(T + 4) >> 2] | 0, 1) | 0;
  69415. T = y;
  69416. b = x;
  69417. S = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 63) | 0;
  69418. b = T | y;
  69419. T = z;
  69420. D = jE(c[T >> 2] | 0, c[(T + 4) >> 2] | 0, 7) | 0;
  69421. T = y;
  69422. la = z;
  69423. ga = iE(c[la >> 2] | 0, c[(la + 4) >> 2] | 0, 57) | 0;
  69424. la = dE(R | S | 0, b | 0, D | ga | 0, T | y | 0) | 0;
  69425. T = y;
  69426. ga = A;
  69427. D = jE(c[ga >> 2] | 0, c[(ga + 4) >> 2] | 0, 12) | 0;
  69428. ga = y;
  69429. b = A;
  69430. S = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 52) | 0;
  69431. b = dE(la | 0, T | 0, D | S | 0, ga | y | 0) | 0;
  69432. ga = y;
  69433. S = B;
  69434. D = jE(c[S >> 2] | 0, c[(S + 4) >> 2] | 0, 18) | 0;
  69435. S = y;
  69436. T = B;
  69437. la = iE(c[T >> 2] | 0, c[(T + 4) >> 2] | 0, 46) | 0;
  69438. T = dE(b | 0, ga | 0, D | la | 0, S | y | 0) | 0;
  69439. S = w;
  69440. c[S >> 2] = T;
  69441. c[(S + 4) >> 2] = y;
  69442. S = w;
  69443. T = x;
  69444. x =
  69445. Kh(
  69446. c[S >> 2] | 0,
  69447. c[(S + 4) >> 2] | 0,
  69448. c[T >> 2] | 0,
  69449. c[(T + 4) >> 2] | 0
  69450. ) | 0;
  69451. T = w;
  69452. c[T >> 2] = x;
  69453. c[(T + 4) >> 2] = y;
  69454. T = w;
  69455. x = z;
  69456. z =
  69457. Kh(
  69458. c[T >> 2] | 0,
  69459. c[(T + 4) >> 2] | 0,
  69460. c[x >> 2] | 0,
  69461. c[(x + 4) >> 2] | 0
  69462. ) | 0;
  69463. x = w;
  69464. c[x >> 2] = z;
  69465. c[(x + 4) >> 2] = y;
  69466. x = w;
  69467. z = A;
  69468. A =
  69469. Kh(
  69470. c[x >> 2] | 0,
  69471. c[(x + 4) >> 2] | 0,
  69472. c[z >> 2] | 0,
  69473. c[(z + 4) >> 2] | 0
  69474. ) | 0;
  69475. z = w;
  69476. c[z >> 2] = A;
  69477. c[(z + 4) >> 2] = y;
  69478. z = w;
  69479. A = B;
  69480. B =
  69481. Kh(
  69482. c[z >> 2] | 0,
  69483. c[(z + 4) >> 2] | 0,
  69484. c[A >> 2] | 0,
  69485. c[(A + 4) >> 2] | 0
  69486. ) | 0;
  69487. A = w;
  69488. c[A >> 2] = B;
  69489. c[(A + 4) >> 2] = y;
  69490. } else {
  69491. A = (ma + 24) | 0;
  69492. ma =
  69493. dE(
  69494. c[A >> 2] | 0,
  69495. c[(A + 4) >> 2] | 0,
  69496. 374761413,
  69497. 668265263
  69498. ) | 0;
  69499. A = w;
  69500. c[A >> 2] = ma;
  69501. c[(A + 4) >> 2] = y;
  69502. }
  69503. A = c[s >> 2] | 0;
  69504. s = w;
  69505. ma =
  69506. dE(
  69507. c[s >> 2] | 0,
  69508. c[(s + 4) >> 2] | 0,
  69509. c[A >> 2] | 0,
  69510. c[(A + 4) >> 2] | 0
  69511. ) | 0;
  69512. A = w;
  69513. c[A >> 2] = ma;
  69514. c[(A + 4) >> 2] = y;
  69515. while (1) {
  69516. ta = c[u >> 2] | 0;
  69517. if (
  69518. (((c[u >> 2] | 0) + 8) | 0) >>> 0 >
  69519. (c[v >> 2] | 0) >>> 0
  69520. )
  69521. break;
  69522. A = c[t >> 2] | 0;
  69523. c[q >> 2] = ta;
  69524. c[r >> 2] = A;
  69525. A = c[r >> 2] | 0;
  69526. c[n >> 2] = c[q >> 2];
  69527. c[o >> 2] = A;
  69528. c[p >> 2] = 1;
  69529. A = (c[o >> 2] | 0) == 1;
  69530. ma = c[n >> 2] | 0;
  69531. if ((c[p >> 2] | 0) == 1) {
  69532. s = Hh(ma) | 0;
  69533. B = y;
  69534. if (A) {
  69535. ua = s;
  69536. va = B;
  69537. } else {
  69538. z = Ih(s, B) | 0;
  69539. ua = z;
  69540. va = y;
  69541. }
  69542. z = m;
  69543. c[z >> 2] = ua;
  69544. c[(z + 4) >> 2] = va;
  69545. } else {
  69546. z = ma;
  69547. ma = c[z >> 2] | 0;
  69548. B = c[(z + 4) >> 2] | 0;
  69549. if (A) {
  69550. wa = ma;
  69551. xa = B;
  69552. } else {
  69553. A = Ih(ma, B) | 0;
  69554. wa = A;
  69555. xa = y;
  69556. }
  69557. A = m;
  69558. c[A >> 2] = wa;
  69559. c[(A + 4) >> 2] = xa;
  69560. }
  69561. A = m;
  69562. B = Jh(0, 0, c[A >> 2] | 0, c[(A + 4) >> 2] | 0) | 0;
  69563. A = C;
  69564. c[A >> 2] = B;
  69565. c[(A + 4) >> 2] = y;
  69566. A = C;
  69567. B = w;
  69568. ma = c[(B + 4) >> 2] ^ c[(A + 4) >> 2];
  69569. z = w;
  69570. c[z >> 2] = c[B >> 2] ^ c[A >> 2];
  69571. c[(z + 4) >> 2] = ma;
  69572. ma = w;
  69573. z = jE(c[ma >> 2] | 0, c[(ma + 4) >> 2] | 0, 27) | 0;
  69574. ma = y;
  69575. A = w;
  69576. B = iE(c[A >> 2] | 0, c[(A + 4) >> 2] | 0, 37) | 0;
  69577. A =
  69578. cE(z | B | 0, ma | y | 0, -2048144761, -1640531535) | 0;
  69579. ma = dE(A | 0, y | 0, -1028477341, -2048144777) | 0;
  69580. A = w;
  69581. c[A >> 2] = ma;
  69582. c[(A + 4) >> 2] = y;
  69583. c[u >> 2] = (c[u >> 2] | 0) + 8;
  69584. }
  69585. if (((ta + 4) | 0) >>> 0 <= (c[v >> 2] | 0) >>> 0) {
  69586. ta = c[t >> 2] | 0;
  69587. c[j >> 2] = c[u >> 2];
  69588. c[k >> 2] = ta;
  69589. ta = c[k >> 2] | 0;
  69590. c[g >> 2] = c[j >> 2];
  69591. c[h >> 2] = ta;
  69592. c[i >> 2] = 1;
  69593. ta = (c[h >> 2] | 0) == 1;
  69594. h = c[g >> 2] | 0;
  69595. if ((c[i >> 2] | 0) == 1) {
  69596. i = Fh(h) | 0;
  69597. if (ta) ya = i;
  69598. else ya = Gh(i) | 0;
  69599. c[f >> 2] = ya;
  69600. } else {
  69601. ya = c[h >> 2] | 0;
  69602. if (ta) za = ya;
  69603. else za = Gh(ya) | 0;
  69604. c[f >> 2] = za;
  69605. }
  69606. za = cE(c[f >> 2] | 0, 0, -2048144761, -1640531535) | 0;
  69607. f = w;
  69608. ya = c[(f + 4) >> 2] ^ y;
  69609. ta = w;
  69610. c[ta >> 2] = c[f >> 2] ^ za;
  69611. c[(ta + 4) >> 2] = ya;
  69612. ya = w;
  69613. ta = jE(c[ya >> 2] | 0, c[(ya + 4) >> 2] | 0, 23) | 0;
  69614. ya = y;
  69615. za = w;
  69616. f = iE(c[za >> 2] | 0, c[(za + 4) >> 2] | 0, 41) | 0;
  69617. za =
  69618. cE(ta | f | 0, ya | y | 0, 668265295, -1028477379) | 0;
  69619. ya = dE(za | 0, y | 0, -1640531463, 374761393) | 0;
  69620. za = w;
  69621. c[za >> 2] = ya;
  69622. c[(za + 4) >> 2] = y;
  69623. c[u >> 2] = (c[u >> 2] | 0) + 4;
  69624. }
  69625. while (1) {
  69626. if ((c[u >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
  69627. za =
  69628. cE(d[c[u >> 2] >> 0] | 0, 0, 374761413, 668265263) | 0;
  69629. ya = w;
  69630. f = c[(ya + 4) >> 2] ^ y;
  69631. ta = w;
  69632. c[ta >> 2] = c[ya >> 2] ^ za;
  69633. c[(ta + 4) >> 2] = f;
  69634. f = w;
  69635. ta = jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 11) | 0;
  69636. f = y;
  69637. za = w;
  69638. ya = iE(c[za >> 2] | 0, c[(za + 4) >> 2] | 0, 53) | 0;
  69639. za =
  69640. cE(ta | ya | 0, f | y | 0, -2048144761, -1640531535) |
  69641. 0;
  69642. f = w;
  69643. c[f >> 2] = za;
  69644. c[(f + 4) >> 2] = y;
  69645. c[u >> 2] = (c[u >> 2] | 0) + 1;
  69646. }
  69647. u = w;
  69648. v = iE(c[u >> 2] | 0, c[(u + 4) >> 2] | 0, 33) | 0;
  69649. u = w;
  69650. f = c[(u + 4) >> 2] ^ y;
  69651. za = w;
  69652. c[za >> 2] = c[u >> 2] ^ v;
  69653. c[(za + 4) >> 2] = f;
  69654. f = w;
  69655. za =
  69656. cE(
  69657. c[f >> 2] | 0,
  69658. c[(f + 4) >> 2] | 0,
  69659. 668265295,
  69660. -1028477379
  69661. ) | 0;
  69662. f = w;
  69663. c[f >> 2] = za;
  69664. c[(f + 4) >> 2] = y;
  69665. f = w;
  69666. za = iE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 29) | 0;
  69667. f = w;
  69668. v = c[(f + 4) >> 2] ^ y;
  69669. u = w;
  69670. c[u >> 2] = c[f >> 2] ^ za;
  69671. c[(u + 4) >> 2] = v;
  69672. v = w;
  69673. u =
  69674. cE(
  69675. c[v >> 2] | 0,
  69676. c[(v + 4) >> 2] | 0,
  69677. -1640531463,
  69678. 374761393
  69679. ) | 0;
  69680. v = w;
  69681. c[v >> 2] = u;
  69682. c[(v + 4) >> 2] = y;
  69683. v = w;
  69684. u = c[(v + 4) >> 2] | 0;
  69685. za = w;
  69686. c[za >> 2] = c[v >> 2] ^ c[(w + 4) >> 2];
  69687. c[(za + 4) >> 2] = u;
  69688. u = w;
  69689. w = c[(u + 4) >> 2] | 0;
  69690. za = Z;
  69691. c[za >> 2] = c[u >> 2];
  69692. c[(za + 4) >> 2] = w;
  69693. na = Z;
  69694. oa = na;
  69695. pa = c[oa >> 2] | 0;
  69696. qa = (na + 4) | 0;
  69697. ra = qa;
  69698. sa = c[ra >> 2] | 0;
  69699. y = sa;
  69700. l = e;
  69701. return pa | 0;
  69702. }
  69703. return 0;
  69704. }
  69705. function Ph(a) {
  69706. a = a | 0;
  69707. var b = 0,
  69708. d = 0;
  69709. b = l;
  69710. l = (l + 16) | 0;
  69711. d = b;
  69712. c[d >> 2] = a;
  69713. a = Qh(c[d >> 2] | 0) | 0;
  69714. l = b;
  69715. return a | 0;
  69716. }
  69717. function Qh(a) {
  69718. a = a | 0;
  69719. var b = 0,
  69720. d = 0;
  69721. b = l;
  69722. l = (l + 16) | 0;
  69723. d = b;
  69724. c[d >> 2] = a;
  69725. l = b;
  69726. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  69727. }
  69728. function Rh(a, b) {
  69729. a = a | 0;
  69730. b = b | 0;
  69731. var d = 0,
  69732. e = 0,
  69733. f = 0,
  69734. g = 0;
  69735. d = l;
  69736. l = (l + 16) | 0;
  69737. e = (d + 4) | 0;
  69738. f = d;
  69739. c[f >> 2] = a;
  69740. if (c[b >> 2] | 0) {
  69741. c[e >> 2] =
  69742. qc[c[b >> 2] & 63](c[(b + 8) >> 2] | 0, c[f >> 2] | 0) |
  69743. 0;
  69744. g = c[e >> 2] | 0;
  69745. l = d;
  69746. return g | 0;
  69747. } else {
  69748. c[e >> 2] = Cy(c[f >> 2] | 0) | 0;
  69749. g = c[e >> 2] | 0;
  69750. l = d;
  69751. return g | 0;
  69752. }
  69753. return 0;
  69754. }
  69755. function Sh(a, b) {
  69756. a = a | 0;
  69757. b = b | 0;
  69758. var d = 0,
  69759. e = 0,
  69760. f = 0,
  69761. g = 0,
  69762. h = 0;
  69763. d = l;
  69764. l = (l + 16) | 0;
  69765. e = (d + 8) | 0;
  69766. f = (d + 4) | 0;
  69767. g = d;
  69768. c[f >> 2] = a;
  69769. if (c[b >> 2] | 0) {
  69770. c[g >> 2] =
  69771. qc[c[b >> 2] & 63](c[(b + 8) >> 2] | 0, c[f >> 2] | 0) |
  69772. 0;
  69773. oE(c[g >> 2] | 0, 0, c[f >> 2] | 0) | 0;
  69774. c[e >> 2] = c[g >> 2];
  69775. h = c[e >> 2] | 0;
  69776. l = d;
  69777. return h | 0;
  69778. } else {
  69779. c[e >> 2] = Ey(1, c[f >> 2] | 0) | 0;
  69780. h = c[e >> 2] | 0;
  69781. l = d;
  69782. return h | 0;
  69783. }
  69784. return 0;
  69785. }
  69786. function Th(a, b) {
  69787. a = a | 0;
  69788. b = b | 0;
  69789. var d = 0,
  69790. e = 0;
  69791. d = l;
  69792. l = (l + 16) | 0;
  69793. e = d;
  69794. c[e >> 2] = a;
  69795. if (!(c[e >> 2] | 0)) {
  69796. l = d;
  69797. return;
  69798. }
  69799. if (c[(b + 4) >> 2] | 0) {
  69800. xc[c[(b + 4) >> 2] & 31](
  69801. c[(b + 8) >> 2] | 0,
  69802. c[e >> 2] | 0
  69803. );
  69804. l = d;
  69805. return;
  69806. } else {
  69807. Dy(c[e >> 2] | 0);
  69808. l = d;
  69809. return;
  69810. }
  69811. }
  69812. function Uh(e, f, g, h, i, j) {
  69813. e = e | 0;
  69814. f = f | 0;
  69815. g = g | 0;
  69816. h = h | 0;
  69817. i = i | 0;
  69818. j = j | 0;
  69819. var k = 0,
  69820. m = 0,
  69821. n = 0,
  69822. o = 0,
  69823. p = 0,
  69824. q = 0,
  69825. r = 0,
  69826. s = 0,
  69827. t = 0,
  69828. u = 0,
  69829. v = 0,
  69830. w = 0,
  69831. x = 0,
  69832. y = 0,
  69833. z = 0,
  69834. A = 0,
  69835. B = 0,
  69836. C = 0,
  69837. D = 0,
  69838. E = 0,
  69839. F = 0,
  69840. G = 0,
  69841. H = 0,
  69842. I = 0,
  69843. J = 0,
  69844. K = 0,
  69845. L = 0,
  69846. M = 0,
  69847. N = 0,
  69848. O = 0;
  69849. k = l;
  69850. l = (l + 1136) | 0;
  69851. m = (k + 1124) | 0;
  69852. n = (k + 1120) | 0;
  69853. o = (k + 1116) | 0;
  69854. p = (k + 1112) | 0;
  69855. q = (k + 1108) | 0;
  69856. r = (k + 1104) | 0;
  69857. s = (k + 1100) | 0;
  69858. t = (k + 1096) | 0;
  69859. u = (k + 1092) | 0;
  69860. v = (k + 1088) | 0;
  69861. w = (k + 1084) | 0;
  69862. x = (k + 1080) | 0;
  69863. y = (k + 1076) | 0;
  69864. z = (k + 1072) | 0;
  69865. A = k;
  69866. B = (k + 1068) | 0;
  69867. C = (k + 1064) | 0;
  69868. D = (k + 1060) | 0;
  69869. E = (k + 1056) | 0;
  69870. F = (k + 1052) | 0;
  69871. G = (k + 1048) | 0;
  69872. H = (k + 1044) | 0;
  69873. I = (k + 1128) | 0;
  69874. J = (k + 1040) | 0;
  69875. K = (k + 1036) | 0;
  69876. L = (k + 1032) | 0;
  69877. M = (k + 1028) | 0;
  69878. c[n >> 2] = e;
  69879. c[o >> 2] = f;
  69880. c[p >> 2] = g;
  69881. c[q >> 2] = h;
  69882. c[r >> 2] = i;
  69883. c[s >> 2] = j;
  69884. c[t >> 2] = 1 << c[q >> 2];
  69885. c[u >> 2] = (c[t >> 2] | 0) - 1;
  69886. c[v >> 2] = c[n >> 2];
  69887. c[w >> 2] = (c[v >> 2] | 0) + 4;
  69888. c[x >> 2] =
  69889. (c[v >> 2] | 0) +
  69890. 4 +
  69891. ((c[q >> 2] | 0 ? (c[t >> 2] | 0) >>> 1 : 1) << 2);
  69892. c[y >> 2] = c[x >> 2];
  69893. c[z >> 2] =
  69894. ((c[t >> 2] | 0) >>> 1) + ((c[t >> 2] | 0) >>> 3) + 3;
  69895. c[B >> 2] = c[r >> 2];
  69896. c[C >> 2] = (c[t >> 2] | 0) - 1;
  69897. if ((1 << c[q >> 2]) >>> 0 > (c[s >> 2] | 0) >>> 0) {
  69898. c[m >> 2] = -44;
  69899. N = c[m >> 2] | 0;
  69900. l = k;
  69901. return N | 0;
  69902. }
  69903. b[((c[w >> 2] | 0) + -4) >> 1] = c[q >> 2];
  69904. b[((c[w >> 2] | 0) + -2) >> 1] = c[p >> 2];
  69905. c[A >> 2] = 0;
  69906. c[D >> 2] = 1;
  69907. while (1) {
  69908. if (
  69909. (c[D >> 2] | 0) >>> 0 >
  69910. (((c[p >> 2] | 0) + 1) | 0) >>> 0
  69911. )
  69912. break;
  69913. s = c[(A + (((c[D >> 2] | 0) - 1) << 2)) >> 2] | 0;
  69914. if (
  69915. (b[
  69916. ((c[o >> 2] | 0) + (((c[D >> 2] | 0) - 1) << 1)) >> 1
  69917. ] |
  69918. 0) ==
  69919. -1
  69920. ) {
  69921. c[(A + (c[D >> 2] << 2)) >> 2] = s + 1;
  69922. r = ((c[D >> 2] | 0) - 1) & 255;
  69923. x = c[B >> 2] | 0;
  69924. v = c[C >> 2] | 0;
  69925. c[C >> 2] = v + -1;
  69926. a[(x + v) >> 0] = r;
  69927. } else
  69928. c[(A + (c[D >> 2] << 2)) >> 2] =
  69929. s +
  69930. (b[
  69931. ((c[o >> 2] | 0) + (((c[D >> 2] | 0) - 1) << 1)) >> 1
  69932. ] |
  69933. 0);
  69934. c[D >> 2] = (c[D >> 2] | 0) + 1;
  69935. }
  69936. c[(A + (((c[p >> 2] | 0) + 1) << 2)) >> 2] =
  69937. (c[t >> 2] | 0) + 1;
  69938. c[E >> 2] = 0;
  69939. c[F >> 2] = 0;
  69940. while (1) {
  69941. if ((c[F >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) break;
  69942. c[G >> 2] = 0;
  69943. while (1) {
  69944. O = c[F >> 2] | 0;
  69945. if (
  69946. (c[G >> 2] | 0) >=
  69947. (b[((c[o >> 2] | 0) + (c[F >> 2] << 1)) >> 1] | 0)
  69948. )
  69949. break;
  69950. a[((c[B >> 2] | 0) + (c[E >> 2] | 0)) >> 0] = O;
  69951. c[E >> 2] =
  69952. ((c[E >> 2] | 0) + (c[z >> 2] | 0)) & c[u >> 2];
  69953. while (1) {
  69954. if ((c[E >> 2] | 0) >>> 0 <= (c[C >> 2] | 0) >>> 0)
  69955. break;
  69956. c[E >> 2] =
  69957. ((c[E >> 2] | 0) + (c[z >> 2] | 0)) & c[u >> 2];
  69958. }
  69959. c[G >> 2] = (c[G >> 2] | 0) + 1;
  69960. }
  69961. c[F >> 2] = O + 1;
  69962. }
  69963. if (c[E >> 2] | 0) {
  69964. c[m >> 2] = -1;
  69965. N = c[m >> 2] | 0;
  69966. l = k;
  69967. return N | 0;
  69968. }
  69969. c[H >> 2] = 0;
  69970. while (1) {
  69971. if ((c[H >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  69972. a[I >> 0] = a[((c[B >> 2] | 0) + (c[H >> 2] | 0)) >> 0] | 0;
  69973. E = ((c[t >> 2] | 0) + (c[H >> 2] | 0)) & 65535;
  69974. O = c[w >> 2] | 0;
  69975. F = (A + (d[I >> 0] << 2)) | 0;
  69976. G = c[F >> 2] | 0;
  69977. c[F >> 2] = G + 1;
  69978. b[(O + (G << 1)) >> 1] = E;
  69979. c[H >> 2] = (c[H >> 2] | 0) + 1;
  69980. }
  69981. c[J >> 2] = 0;
  69982. c[K >> 2] = 0;
  69983. while (1) {
  69984. if ((c[K >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) break;
  69985. switch (b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] | 0) {
  69986. case 0:
  69987. break;
  69988. case 1:
  69989. case -1: {
  69990. c[((c[y >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 2] =
  69991. (c[q >> 2] << 16) - (1 << c[q >> 2]);
  69992. c[((c[y >> 2] | 0) + (c[K >> 2] << 3)) >> 2] =
  69993. (c[J >> 2] | 0) - 1;
  69994. c[J >> 2] = (c[J >> 2] | 0) + 1;
  69995. break;
  69996. }
  69997. default: {
  69998. c[L >> 2] =
  69999. (c[q >> 2] | 0) -
  70000. (Vh(
  70001. ((b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] |
  70002. 0) -
  70003. 1) |
  70004. 0
  70005. ) |
  70006. 0);
  70007. c[M >> 2] =
  70008. b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] <<
  70009. c[L >> 2];
  70010. c[((c[y >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 2] =
  70011. (c[L >> 2] << 16) - (c[M >> 2] | 0);
  70012. c[((c[y >> 2] | 0) + (c[K >> 2] << 3)) >> 2] =
  70013. (c[J >> 2] | 0) -
  70014. (b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] | 0);
  70015. c[J >> 2] =
  70016. (c[J >> 2] | 0) +
  70017. (b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] | 0);
  70018. }
  70019. }
  70020. c[K >> 2] = (c[K >> 2] | 0) + 1;
  70021. }
  70022. c[m >> 2] = 0;
  70023. N = c[m >> 2] | 0;
  70024. l = k;
  70025. return N | 0;
  70026. }
  70027. function Vh(a) {
  70028. a = a | 0;
  70029. var b = 0,
  70030. d = 0;
  70031. b = l;
  70032. l = (l + 16) | 0;
  70033. d = b;
  70034. c[d >> 2] = a;
  70035. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  70036. l = b;
  70037. return a | 0;
  70038. }
  70039. function Wh(a, b) {
  70040. a = a | 0;
  70041. b = b | 0;
  70042. var d = 0,
  70043. e = 0,
  70044. f = 0,
  70045. g = 0;
  70046. d = l;
  70047. l = (l + 16) | 0;
  70048. e = (d + 8) | 0;
  70049. f = (d + 4) | 0;
  70050. g = d;
  70051. c[e >> 2] = a;
  70052. c[f >> 2] = b;
  70053. c[g >> 2] =
  70054. ((N(((c[e >> 2] | 0) + 1) | 0, c[f >> 2] | 0) | 0) >>> 3) +
  70055. 3;
  70056. l = d;
  70057. return (c[e >> 2] | 0 ? c[g >> 2] | 0 : 512) | 0;
  70058. }
  70059. function Xh(a, b, d, e, f) {
  70060. a = a | 0;
  70061. b = b | 0;
  70062. d = d | 0;
  70063. e = e | 0;
  70064. f = f | 0;
  70065. var g = 0,
  70066. h = 0,
  70067. i = 0,
  70068. j = 0,
  70069. k = 0,
  70070. m = 0,
  70071. n = 0,
  70072. o = 0;
  70073. g = l;
  70074. l = (l + 32) | 0;
  70075. h = (g + 20) | 0;
  70076. i = (g + 16) | 0;
  70077. j = (g + 12) | 0;
  70078. k = (g + 8) | 0;
  70079. m = (g + 4) | 0;
  70080. n = g;
  70081. c[i >> 2] = a;
  70082. c[j >> 2] = b;
  70083. c[k >> 2] = d;
  70084. c[m >> 2] = e;
  70085. c[n >> 2] = f;
  70086. do {
  70087. if ((c[n >> 2] | 0) >>> 0 <= 12) {
  70088. if ((c[n >> 2] | 0) >>> 0 < 5) {
  70089. c[h >> 2] = -1;
  70090. break;
  70091. }
  70092. f = c[j >> 2] | 0;
  70093. e =
  70094. f >>> 0 < (Wh(c[m >> 2] | 0, c[n >> 2] | 0) | 0) >>> 0;
  70095. f = c[i >> 2] | 0;
  70096. d = c[j >> 2] | 0;
  70097. b = c[k >> 2] | 0;
  70098. a = c[m >> 2] | 0;
  70099. o = c[n >> 2] | 0;
  70100. if (e) {
  70101. c[h >> 2] = Yh(f, d, b, a, o, 0) | 0;
  70102. break;
  70103. } else {
  70104. c[h >> 2] = Yh(f, d, b, a, o, 1) | 0;
  70105. break;
  70106. }
  70107. } else c[h >> 2] = -44;
  70108. } while (0);
  70109. l = g;
  70110. return c[h >> 2] | 0;
  70111. }
  70112. function Yh(d, e, f, g, h, i) {
  70113. d = d | 0;
  70114. e = e | 0;
  70115. f = f | 0;
  70116. g = g | 0;
  70117. h = h | 0;
  70118. i = i | 0;
  70119. var j = 0,
  70120. k = 0,
  70121. m = 0,
  70122. n = 0,
  70123. o = 0,
  70124. p = 0,
  70125. q = 0,
  70126. r = 0,
  70127. s = 0,
  70128. t = 0,
  70129. u = 0,
  70130. v = 0,
  70131. w = 0,
  70132. x = 0,
  70133. y = 0,
  70134. z = 0,
  70135. A = 0,
  70136. B = 0,
  70137. C = 0,
  70138. D = 0,
  70139. E = 0,
  70140. F = 0,
  70141. G = 0,
  70142. H = 0;
  70143. j = l;
  70144. l = (l + 96) | 0;
  70145. k = (j + 80) | 0;
  70146. m = (j + 76) | 0;
  70147. n = (j + 72) | 0;
  70148. o = (j + 68) | 0;
  70149. p = (j + 64) | 0;
  70150. q = (j + 60) | 0;
  70151. r = (j + 56) | 0;
  70152. s = (j + 52) | 0;
  70153. t = (j + 48) | 0;
  70154. u = (j + 44) | 0;
  70155. v = (j + 40) | 0;
  70156. w = (j + 36) | 0;
  70157. x = (j + 32) | 0;
  70158. y = (j + 28) | 0;
  70159. z = (j + 24) | 0;
  70160. A = (j + 20) | 0;
  70161. B = (j + 16) | 0;
  70162. C = (j + 12) | 0;
  70163. D = (j + 8) | 0;
  70164. E = (j + 4) | 0;
  70165. F = j;
  70166. c[m >> 2] = d;
  70167. c[n >> 2] = e;
  70168. c[o >> 2] = f;
  70169. c[p >> 2] = g;
  70170. c[q >> 2] = h;
  70171. c[r >> 2] = i;
  70172. c[s >> 2] = c[m >> 2];
  70173. c[t >> 2] = c[s >> 2];
  70174. c[u >> 2] = (c[s >> 2] | 0) + (c[n >> 2] | 0);
  70175. c[w >> 2] = 1 << c[q >> 2];
  70176. c[B >> 2] = 0;
  70177. c[C >> 2] = 0;
  70178. c[z >> 2] = 0;
  70179. c[A >> 2] = 0;
  70180. c[z >> 2] =
  70181. (c[z >> 2] | 0) + (((c[q >> 2] | 0) - 5) << c[A >> 2]);
  70182. c[A >> 2] = (c[A >> 2] | 0) + 4;
  70183. c[x >> 2] = (c[w >> 2] | 0) + 1;
  70184. c[y >> 2] = c[w >> 2];
  70185. c[v >> 2] = (c[q >> 2] | 0) + 1;
  70186. a: while (1) {
  70187. if ((c[x >> 2] | 0) <= 1) {
  70188. G = 34;
  70189. break;
  70190. }
  70191. if (c[C >> 2] | 0) {
  70192. c[D >> 2] = c[B >> 2];
  70193. while (1) {
  70194. if (
  70195. !(
  70196. ((b[((c[o >> 2] | 0) + (c[B >> 2] << 1)) >> 1] |
  70197. 0) !=
  70198. 0) ^
  70199. 1
  70200. )
  70201. )
  70202. break;
  70203. c[B >> 2] = (c[B >> 2] | 0) + 1;
  70204. }
  70205. while (1) {
  70206. if (
  70207. (c[B >> 2] | 0) >>> 0 <
  70208. (((c[D >> 2] | 0) + 24) | 0) >>> 0
  70209. )
  70210. break;
  70211. c[D >> 2] = (c[D >> 2] | 0) + 24;
  70212. c[z >> 2] = (c[z >> 2] | 0) + (65535 << c[A >> 2]);
  70213. if (
  70214. (c[r >> 2] | 0) == 0
  70215. ? (c[t >> 2] | 0) >>> 0 >
  70216. (((c[u >> 2] | 0) + -2) | 0) >>> 0
  70217. : 0
  70218. ) {
  70219. G = 11;
  70220. break a;
  70221. }
  70222. a[c[t >> 2] >> 0] = c[z >> 2];
  70223. a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
  70224. c[t >> 2] = (c[t >> 2] | 0) + 2;
  70225. c[z >> 2] = (c[z >> 2] | 0) >>> 16;
  70226. }
  70227. while (1) {
  70228. if (
  70229. (c[B >> 2] | 0) >>> 0 <
  70230. (((c[D >> 2] | 0) + 3) | 0) >>> 0
  70231. )
  70232. break;
  70233. c[D >> 2] = (c[D >> 2] | 0) + 3;
  70234. c[z >> 2] = (c[z >> 2] | 0) + (3 << c[A >> 2]);
  70235. c[A >> 2] = (c[A >> 2] | 0) + 2;
  70236. }
  70237. c[z >> 2] =
  70238. (c[z >> 2] | 0) +
  70239. (((c[B >> 2] | 0) - (c[D >> 2] | 0)) << c[A >> 2]);
  70240. c[A >> 2] = (c[A >> 2] | 0) + 2;
  70241. if ((c[A >> 2] | 0) > 16) {
  70242. if (
  70243. (c[r >> 2] | 0) == 0
  70244. ? (c[t >> 2] | 0) >>> 0 >
  70245. (((c[u >> 2] | 0) + -2) | 0) >>> 0
  70246. : 0
  70247. ) {
  70248. G = 19;
  70249. break;
  70250. }
  70251. a[c[t >> 2] >> 0] = c[z >> 2];
  70252. a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
  70253. c[t >> 2] = (c[t >> 2] | 0) + 2;
  70254. c[z >> 2] = (c[z >> 2] | 0) >>> 16;
  70255. c[A >> 2] = (c[A >> 2] | 0) - 16;
  70256. }
  70257. }
  70258. q = c[o >> 2] | 0;
  70259. w = c[B >> 2] | 0;
  70260. c[B >> 2] = w + 1;
  70261. c[E >> 2] = b[(q + (w << 1)) >> 1];
  70262. c[F >> 2] = (c[y >> 2] << 1) - 1 - (c[x >> 2] | 0);
  70263. w = c[E >> 2] | 0;
  70264. c[x >> 2] =
  70265. (c[x >> 2] | 0) - ((c[E >> 2] | 0) < 0 ? (0 - w) | 0 : w);
  70266. c[E >> 2] = (c[E >> 2] | 0) + 1;
  70267. if ((c[E >> 2] | 0) >= (c[y >> 2] | 0))
  70268. c[E >> 2] = (c[E >> 2] | 0) + (c[F >> 2] | 0);
  70269. c[z >> 2] = (c[z >> 2] | 0) + (c[E >> 2] << c[A >> 2]);
  70270. c[A >> 2] = (c[A >> 2] | 0) + (c[v >> 2] | 0);
  70271. c[A >> 2] =
  70272. (c[A >> 2] | 0) -
  70273. (((c[E >> 2] | 0) < (c[F >> 2] | 0)) & 1);
  70274. c[C >> 2] = ((c[E >> 2] | 0) == 1) & 1;
  70275. if ((c[x >> 2] | 0) < 1) {
  70276. G = 24;
  70277. break;
  70278. }
  70279. while (1) {
  70280. if ((c[x >> 2] | 0) >= (c[y >> 2] | 0)) break;
  70281. c[v >> 2] = (c[v >> 2] | 0) + -1;
  70282. c[y >> 2] = c[y >> 2] >> 1;
  70283. }
  70284. if ((c[A >> 2] | 0) > 16) {
  70285. if (
  70286. (c[r >> 2] | 0) == 0
  70287. ? (c[t >> 2] | 0) >>> 0 >
  70288. (((c[u >> 2] | 0) + -2) | 0) >>> 0
  70289. : 0
  70290. ) {
  70291. G = 31;
  70292. break;
  70293. }
  70294. a[c[t >> 2] >> 0] = c[z >> 2];
  70295. a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
  70296. c[t >> 2] = (c[t >> 2] | 0) + 2;
  70297. c[z >> 2] = (c[z >> 2] | 0) >>> 16;
  70298. c[A >> 2] = (c[A >> 2] | 0) - 16;
  70299. }
  70300. }
  70301. if ((G | 0) == 11) {
  70302. c[k >> 2] = -70;
  70303. H = c[k >> 2] | 0;
  70304. l = j;
  70305. return H | 0;
  70306. } else if ((G | 0) == 19) {
  70307. c[k >> 2] = -70;
  70308. H = c[k >> 2] | 0;
  70309. l = j;
  70310. return H | 0;
  70311. } else if ((G | 0) == 24) {
  70312. c[k >> 2] = -1;
  70313. H = c[k >> 2] | 0;
  70314. l = j;
  70315. return H | 0;
  70316. } else if ((G | 0) == 31) {
  70317. c[k >> 2] = -70;
  70318. H = c[k >> 2] | 0;
  70319. l = j;
  70320. return H | 0;
  70321. } else if ((G | 0) == 34) {
  70322. if (
  70323. (c[r >> 2] | 0) == 0
  70324. ? (c[t >> 2] | 0) >>> 0 >
  70325. (((c[u >> 2] | 0) + -2) | 0) >>> 0
  70326. : 0
  70327. ) {
  70328. c[k >> 2] = -70;
  70329. H = c[k >> 2] | 0;
  70330. l = j;
  70331. return H | 0;
  70332. }
  70333. a[c[t >> 2] >> 0] = c[z >> 2];
  70334. a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
  70335. c[t >> 2] =
  70336. (c[t >> 2] | 0) + (((((c[A >> 2] | 0) + 7) | 0) / 8) | 0);
  70337. if (
  70338. (c[B >> 2] | 0) >>> 0 >
  70339. (((c[p >> 2] | 0) + 1) | 0) >>> 0
  70340. ) {
  70341. c[k >> 2] = -1;
  70342. H = c[k >> 2] | 0;
  70343. l = j;
  70344. return H | 0;
  70345. } else {
  70346. c[k >> 2] = (c[t >> 2] | 0) - (c[s >> 2] | 0);
  70347. H = c[k >> 2] | 0;
  70348. l = j;
  70349. return H | 0;
  70350. }
  70351. }
  70352. return 0;
  70353. }
  70354. function Zh(a, b, e, f) {
  70355. a = a | 0;
  70356. b = b | 0;
  70357. e = e | 0;
  70358. f = f | 0;
  70359. var g = 0,
  70360. h = 0,
  70361. i = 0,
  70362. j = 0,
  70363. k = 0,
  70364. m = 0,
  70365. n = 0,
  70366. o = 0,
  70367. p = 0,
  70368. q = 0,
  70369. r = 0,
  70370. s = 0,
  70371. t = 0;
  70372. g = l;
  70373. l = (l + 48) | 0;
  70374. h = (g + 36) | 0;
  70375. i = (g + 32) | 0;
  70376. j = (g + 28) | 0;
  70377. k = (g + 24) | 0;
  70378. m = (g + 20) | 0;
  70379. n = (g + 16) | 0;
  70380. o = (g + 12) | 0;
  70381. p = (g + 8) | 0;
  70382. q = (g + 4) | 0;
  70383. r = g;
  70384. c[i >> 2] = a;
  70385. c[j >> 2] = b;
  70386. c[k >> 2] = e;
  70387. c[m >> 2] = f;
  70388. c[n >> 2] = c[k >> 2];
  70389. c[o >> 2] = (c[n >> 2] | 0) + (c[m >> 2] | 0);
  70390. c[p >> 2] = c[c[j >> 2] >> 2];
  70391. c[q >> 2] = 0;
  70392. oE(c[i >> 2] | 0, 0, (((c[p >> 2] | 0) + 1) << 2) | 0) | 0;
  70393. if (!(c[m >> 2] | 0)) {
  70394. c[c[j >> 2] >> 2] = 0;
  70395. c[h >> 2] = 0;
  70396. s = c[h >> 2] | 0;
  70397. l = g;
  70398. return s | 0;
  70399. }
  70400. while (1) {
  70401. if ((c[n >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
  70402. m = c[i >> 2] | 0;
  70403. k = c[n >> 2] | 0;
  70404. c[n >> 2] = k + 1;
  70405. f = (m + ((d[k >> 0] | 0) << 2)) | 0;
  70406. c[f >> 2] = (c[f >> 2] | 0) + 1;
  70407. }
  70408. while (1) {
  70409. t = c[p >> 2] | 0;
  70410. if (
  70411. !(
  70412. ((c[((c[i >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) !=
  70413. 0) ^
  70414. 1
  70415. )
  70416. )
  70417. break;
  70418. c[p >> 2] = t + -1;
  70419. }
  70420. c[c[j >> 2] >> 2] = t;
  70421. c[r >> 2] = 0;
  70422. while (1) {
  70423. if ((c[r >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) break;
  70424. if (
  70425. (c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2] | 0) >>> 0 >
  70426. (c[q >> 2] | 0) >>> 0
  70427. )
  70428. c[q >> 2] = c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2];
  70429. c[r >> 2] = (c[r >> 2] | 0) + 1;
  70430. }
  70431. c[h >> 2] = c[q >> 2];
  70432. s = c[h >> 2] | 0;
  70433. l = g;
  70434. return s | 0;
  70435. }
  70436. function _h(a, b, d, e, f) {
  70437. a = a | 0;
  70438. b = b | 0;
  70439. d = d | 0;
  70440. e = e | 0;
  70441. f = f | 0;
  70442. var g = 0,
  70443. h = 0,
  70444. i = 0,
  70445. j = 0,
  70446. k = 0,
  70447. m = 0,
  70448. n = 0,
  70449. o = 0;
  70450. g = l;
  70451. l = (l + 32) | 0;
  70452. h = (g + 20) | 0;
  70453. i = (g + 16) | 0;
  70454. j = (g + 12) | 0;
  70455. k = (g + 8) | 0;
  70456. m = (g + 4) | 0;
  70457. n = g;
  70458. c[i >> 2] = a;
  70459. c[j >> 2] = b;
  70460. c[k >> 2] = d;
  70461. c[m >> 2] = e;
  70462. c[n >> 2] = f;
  70463. f = c[i >> 2] | 0;
  70464. i = c[j >> 2] | 0;
  70465. j = c[k >> 2] | 0;
  70466. k = c[m >> 2] | 0;
  70467. if ((c[m >> 2] | 0) >>> 0 < 1500) {
  70468. c[h >> 2] = Zh(f, i, j, k) | 0;
  70469. o = c[h >> 2] | 0;
  70470. l = g;
  70471. return o | 0;
  70472. } else {
  70473. c[h >> 2] = $h(f, i, j, k, 0, c[n >> 2] | 0) | 0;
  70474. o = c[h >> 2] | 0;
  70475. l = g;
  70476. return o | 0;
  70477. }
  70478. return 0;
  70479. }
  70480. function $h(a, b, e, f, g, h) {
  70481. a = a | 0;
  70482. b = b | 0;
  70483. e = e | 0;
  70484. f = f | 0;
  70485. g = g | 0;
  70486. h = h | 0;
  70487. var i = 0,
  70488. j = 0,
  70489. k = 0,
  70490. m = 0,
  70491. n = 0,
  70492. o = 0,
  70493. p = 0,
  70494. q = 0,
  70495. r = 0,
  70496. s = 0,
  70497. t = 0,
  70498. u = 0,
  70499. v = 0,
  70500. w = 0,
  70501. x = 0,
  70502. y = 0,
  70503. z = 0,
  70504. A = 0,
  70505. B = 0,
  70506. C = 0,
  70507. D = 0,
  70508. E = 0;
  70509. i = l;
  70510. l = (l + 80) | 0;
  70511. j = (i + 72) | 0;
  70512. k = (i + 68) | 0;
  70513. m = (i + 64) | 0;
  70514. n = (i + 60) | 0;
  70515. o = (i + 56) | 0;
  70516. p = (i + 52) | 0;
  70517. q = (i + 48) | 0;
  70518. r = (i + 44) | 0;
  70519. s = (i + 40) | 0;
  70520. t = (i + 36) | 0;
  70521. u = (i + 32) | 0;
  70522. v = (i + 28) | 0;
  70523. w = (i + 24) | 0;
  70524. x = (i + 20) | 0;
  70525. y = (i + 16) | 0;
  70526. z = (i + 12) | 0;
  70527. A = (i + 8) | 0;
  70528. B = (i + 4) | 0;
  70529. C = i;
  70530. c[k >> 2] = a;
  70531. c[m >> 2] = b;
  70532. c[n >> 2] = e;
  70533. c[o >> 2] = f;
  70534. c[p >> 2] = g;
  70535. c[q >> 2] = h;
  70536. c[r >> 2] = c[n >> 2];
  70537. c[s >> 2] = (c[r >> 2] | 0) + (c[o >> 2] | 0);
  70538. c[t >> 2] = c[c[m >> 2] >> 2];
  70539. c[u >> 2] = 0;
  70540. c[v >> 2] = c[q >> 2];
  70541. c[w >> 2] = (c[v >> 2] | 0) + 1024;
  70542. c[x >> 2] = (c[w >> 2] | 0) + 1024;
  70543. c[y >> 2] = (c[x >> 2] | 0) + 1024;
  70544. oE(c[q >> 2] | 0, 0, 4096) | 0;
  70545. if (!(c[o >> 2] | 0)) {
  70546. oE(c[k >> 2] | 0, 0, ((c[t >> 2] | 0) + 1) | 0) | 0;
  70547. c[c[m >> 2] >> 2] = 0;
  70548. c[j >> 2] = 0;
  70549. D = c[j >> 2] | 0;
  70550. l = i;
  70551. return D | 0;
  70552. }
  70553. if (!(c[t >> 2] | 0)) c[t >> 2] = 255;
  70554. c[z >> 2] = ai(c[r >> 2] | 0) | 0;
  70555. c[r >> 2] = (c[r >> 2] | 0) + 4;
  70556. while (1) {
  70557. if (
  70558. (c[r >> 2] | 0) >>> 0 >=
  70559. (((c[s >> 2] | 0) + -15) | 0) >>> 0
  70560. )
  70561. break;
  70562. c[A >> 2] = c[z >> 2];
  70563. c[z >> 2] = ai(c[r >> 2] | 0) | 0;
  70564. c[r >> 2] = (c[r >> 2] | 0) + 4;
  70565. o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
  70566. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70567. o =
  70568. ((c[w >> 2] | 0) +
  70569. ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
  70570. 0;
  70571. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70572. o =
  70573. ((c[x >> 2] | 0) +
  70574. ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
  70575. 0;
  70576. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70577. o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
  70578. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70579. c[A >> 2] = c[z >> 2];
  70580. c[z >> 2] = ai(c[r >> 2] | 0) | 0;
  70581. c[r >> 2] = (c[r >> 2] | 0) + 4;
  70582. o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
  70583. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70584. o =
  70585. ((c[w >> 2] | 0) +
  70586. ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
  70587. 0;
  70588. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70589. o =
  70590. ((c[x >> 2] | 0) +
  70591. ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
  70592. 0;
  70593. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70594. o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
  70595. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70596. c[A >> 2] = c[z >> 2];
  70597. c[z >> 2] = ai(c[r >> 2] | 0) | 0;
  70598. c[r >> 2] = (c[r >> 2] | 0) + 4;
  70599. o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
  70600. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70601. o =
  70602. ((c[w >> 2] | 0) +
  70603. ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
  70604. 0;
  70605. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70606. o =
  70607. ((c[x >> 2] | 0) +
  70608. ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
  70609. 0;
  70610. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70611. o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
  70612. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70613. c[A >> 2] = c[z >> 2];
  70614. c[z >> 2] = ai(c[r >> 2] | 0) | 0;
  70615. c[r >> 2] = (c[r >> 2] | 0) + 4;
  70616. o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
  70617. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70618. o =
  70619. ((c[w >> 2] | 0) +
  70620. ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
  70621. 0;
  70622. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70623. o =
  70624. ((c[x >> 2] | 0) +
  70625. ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
  70626. 0;
  70627. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70628. o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
  70629. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70630. }
  70631. c[r >> 2] = (c[r >> 2] | 0) + -4;
  70632. while (1) {
  70633. if ((c[r >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  70634. A = c[v >> 2] | 0;
  70635. z = c[r >> 2] | 0;
  70636. c[r >> 2] = z + 1;
  70637. o = (A + ((d[z >> 0] | 0) << 2)) | 0;
  70638. c[o >> 2] = (c[o >> 2] | 0) + 1;
  70639. }
  70640. a: do {
  70641. if (c[p >> 2] | 0) {
  70642. c[B >> 2] = 255;
  70643. while (1) {
  70644. if ((c[B >> 2] | 0) >>> 0 <= (c[t >> 2] | 0) >>> 0)
  70645. break a;
  70646. r = ((c[v >> 2] | 0) + (c[B >> 2] << 2)) | 0;
  70647. c[r >> 2] =
  70648. (c[r >> 2] | 0) +
  70649. ((c[((c[w >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0) +
  70650. (c[((c[x >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0) +
  70651. (c[((c[y >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0));
  70652. if (c[((c[v >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0)
  70653. break;
  70654. c[B >> 2] = (c[B >> 2] | 0) + -1;
  70655. }
  70656. c[j >> 2] = -48;
  70657. D = c[j >> 2] | 0;
  70658. l = i;
  70659. return D | 0;
  70660. }
  70661. } while (0);
  70662. if ((c[t >> 2] | 0) >>> 0 > 255) c[t >> 2] = 255;
  70663. c[C >> 2] = 0;
  70664. while (1) {
  70665. if ((c[C >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
  70666. c[((c[k >> 2] | 0) + (c[C >> 2] << 2)) >> 2] =
  70667. (c[((c[v >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) +
  70668. (c[((c[w >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) +
  70669. (c[((c[x >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) +
  70670. (c[((c[y >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0);
  70671. if (
  70672. (c[((c[k >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) >>> 0 >
  70673. (c[u >> 2] | 0) >>> 0
  70674. )
  70675. c[u >> 2] = c[((c[k >> 2] | 0) + (c[C >> 2] << 2)) >> 2];
  70676. c[C >> 2] = (c[C >> 2] | 0) + 1;
  70677. }
  70678. while (1) {
  70679. E = c[t >> 2] | 0;
  70680. if (
  70681. !(
  70682. ((c[((c[k >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0) !=
  70683. 0) ^
  70684. 1
  70685. )
  70686. )
  70687. break;
  70688. c[t >> 2] = E + -1;
  70689. }
  70690. c[c[m >> 2] >> 2] = E;
  70691. c[j >> 2] = c[u >> 2];
  70692. D = c[j >> 2] | 0;
  70693. l = i;
  70694. return D | 0;
  70695. }
  70696. function ai(a) {
  70697. a = a | 0;
  70698. var b = 0,
  70699. e = 0;
  70700. b = l;
  70701. l = (l + 16) | 0;
  70702. e = b;
  70703. c[e >> 2] = a;
  70704. a = c[e >> 2] | 0;
  70705. l = b;
  70706. return (
  70707. d[a >> 0] |
  70708. (d[(a + 1) >> 0] << 8) |
  70709. (d[(a + 2) >> 0] << 16) |
  70710. (d[(a + 3) >> 0] << 24) |
  70711. 0
  70712. );
  70713. }
  70714. function bi(a, b, d, e, f) {
  70715. a = a | 0;
  70716. b = b | 0;
  70717. d = d | 0;
  70718. e = e | 0;
  70719. f = f | 0;
  70720. var g = 0,
  70721. h = 0,
  70722. i = 0,
  70723. j = 0,
  70724. k = 0,
  70725. m = 0,
  70726. n = 0,
  70727. o = 0;
  70728. g = l;
  70729. l = (l + 32) | 0;
  70730. h = (g + 20) | 0;
  70731. i = (g + 16) | 0;
  70732. j = (g + 12) | 0;
  70733. k = (g + 8) | 0;
  70734. m = (g + 4) | 0;
  70735. n = g;
  70736. c[i >> 2] = a;
  70737. c[j >> 2] = b;
  70738. c[k >> 2] = d;
  70739. c[m >> 2] = e;
  70740. c[n >> 2] = f;
  70741. if ((c[c[j >> 2] >> 2] | 0) >>> 0 < 255) {
  70742. c[h >> 2] =
  70743. $h(
  70744. c[i >> 2] | 0,
  70745. c[j >> 2] | 0,
  70746. c[k >> 2] | 0,
  70747. c[m >> 2] | 0,
  70748. 1,
  70749. c[n >> 2] | 0
  70750. ) | 0;
  70751. o = c[h >> 2] | 0;
  70752. l = g;
  70753. return o | 0;
  70754. } else {
  70755. c[c[j >> 2] >> 2] = 255;
  70756. c[h >> 2] =
  70757. _h(
  70758. c[i >> 2] | 0,
  70759. c[j >> 2] | 0,
  70760. c[k >> 2] | 0,
  70761. c[m >> 2] | 0,
  70762. c[n >> 2] | 0
  70763. ) | 0;
  70764. o = c[h >> 2] | 0;
  70765. l = g;
  70766. return o | 0;
  70767. }
  70768. return 0;
  70769. }
  70770. function ci(a, b, d, e) {
  70771. a = a | 0;
  70772. b = b | 0;
  70773. d = d | 0;
  70774. e = e | 0;
  70775. var f = 0,
  70776. g = 0,
  70777. h = 0,
  70778. i = 0,
  70779. j = 0,
  70780. k = 0,
  70781. m = 0,
  70782. n = 0,
  70783. o = 0;
  70784. f = l;
  70785. l = (l + 32) | 0;
  70786. g = (f + 24) | 0;
  70787. h = (f + 20) | 0;
  70788. i = (f + 16) | 0;
  70789. j = (f + 12) | 0;
  70790. k = (f + 8) | 0;
  70791. m = (f + 4) | 0;
  70792. n = f;
  70793. c[g >> 2] = a;
  70794. c[h >> 2] = b;
  70795. c[i >> 2] = d;
  70796. c[j >> 2] = e;
  70797. e = Vh(((c[h >> 2] | 0) - 1) | 0) | 0;
  70798. c[k >> 2] = e - (c[j >> 2] | 0);
  70799. c[m >> 2] = c[g >> 2];
  70800. c[n >> 2] = di(c[h >> 2] | 0, c[i >> 2] | 0) | 0;
  70801. if (!(c[m >> 2] | 0)) c[m >> 2] = 11;
  70802. if ((c[k >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0)
  70803. c[m >> 2] = c[k >> 2];
  70804. if ((c[n >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0)
  70805. c[m >> 2] = c[n >> 2];
  70806. if ((c[m >> 2] | 0) >>> 0 < 5) c[m >> 2] = 5;
  70807. if ((c[m >> 2] | 0) >>> 0 <= 12) {
  70808. o = c[m >> 2] | 0;
  70809. l = f;
  70810. return o | 0;
  70811. }
  70812. c[m >> 2] = 12;
  70813. o = c[m >> 2] | 0;
  70814. l = f;
  70815. return o | 0;
  70816. }
  70817. function di(a, b) {
  70818. a = a | 0;
  70819. b = b | 0;
  70820. var d = 0,
  70821. e = 0,
  70822. f = 0,
  70823. g = 0,
  70824. h = 0,
  70825. i = 0;
  70826. d = l;
  70827. l = (l + 32) | 0;
  70828. e = (d + 16) | 0;
  70829. f = (d + 12) | 0;
  70830. g = (d + 8) | 0;
  70831. h = (d + 4) | 0;
  70832. i = d;
  70833. c[e >> 2] = a;
  70834. c[f >> 2] = b;
  70835. c[g >> 2] = (Vh(((c[e >> 2] | 0) - 1) | 0) | 0) + 1;
  70836. c[h >> 2] = (Vh(c[f >> 2] | 0) | 0) + 2;
  70837. c[i >> 2] =
  70838. (c[g >> 2] | 0) >>> 0 < (c[h >> 2] | 0) >>> 0
  70839. ? c[g >> 2] | 0
  70840. : c[h >> 2] | 0;
  70841. l = d;
  70842. return c[i >> 2] | 0;
  70843. }
  70844. function ei(a, b, d) {
  70845. a = a | 0;
  70846. b = b | 0;
  70847. d = d | 0;
  70848. var e = 0,
  70849. f = 0,
  70850. g = 0,
  70851. h = 0;
  70852. e = l;
  70853. l = (l + 16) | 0;
  70854. f = (e + 8) | 0;
  70855. g = (e + 4) | 0;
  70856. h = e;
  70857. c[f >> 2] = a;
  70858. c[g >> 2] = b;
  70859. c[h >> 2] = d;
  70860. d = ci(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 2) | 0;
  70861. l = e;
  70862. return d | 0;
  70863. }
  70864. function fi(a, d, e, f, g) {
  70865. a = a | 0;
  70866. d = d | 0;
  70867. e = e | 0;
  70868. f = f | 0;
  70869. g = g | 0;
  70870. var h = 0,
  70871. i = 0,
  70872. j = 0,
  70873. k = 0,
  70874. m = 0,
  70875. n = 0,
  70876. o = 0,
  70877. p = 0,
  70878. q = 0,
  70879. r = 0,
  70880. s = 0,
  70881. t = 0,
  70882. u = 0,
  70883. v = 0,
  70884. w = 0,
  70885. x = 0,
  70886. z = 0,
  70887. A = 0,
  70888. B = 0,
  70889. C = 0;
  70890. h = l;
  70891. l = (l + 80) | 0;
  70892. i = (h + 72) | 0;
  70893. j = (h + 68) | 0;
  70894. k = (h + 64) | 0;
  70895. m = (h + 60) | 0;
  70896. n = (h + 56) | 0;
  70897. o = (h + 52) | 0;
  70898. p = (h + 24) | 0;
  70899. q = (h + 16) | 0;
  70900. r = (h + 8) | 0;
  70901. s = (h + 48) | 0;
  70902. t = (h + 44) | 0;
  70903. u = (h + 40) | 0;
  70904. v = (h + 78) | 0;
  70905. w = (h + 36) | 0;
  70906. x = (h + 76) | 0;
  70907. z = h;
  70908. A = (h + 32) | 0;
  70909. c[j >> 2] = a;
  70910. c[k >> 2] = d;
  70911. c[m >> 2] = e;
  70912. c[n >> 2] = f;
  70913. c[o >> 2] = g;
  70914. if (!(c[k >> 2] | 0)) c[k >> 2] = 11;
  70915. if ((c[k >> 2] | 0) >>> 0 < 5) {
  70916. c[i >> 2] = -1;
  70917. B = c[i >> 2] | 0;
  70918. l = h;
  70919. return B | 0;
  70920. }
  70921. if ((c[k >> 2] | 0) >>> 0 > 12) {
  70922. c[i >> 2] = -44;
  70923. B = c[i >> 2] | 0;
  70924. l = h;
  70925. return B | 0;
  70926. }
  70927. g = c[k >> 2] | 0;
  70928. if (g >>> 0 < (di(c[n >> 2] | 0, c[o >> 2] | 0) | 0) >>> 0) {
  70929. c[i >> 2] = -1;
  70930. B = c[i >> 2] | 0;
  70931. l = h;
  70932. return B | 0;
  70933. }
  70934. g = p;
  70935. c[g >> 2] = 62 - (c[k >> 2] | 0);
  70936. c[(g + 4) >> 2] = 0;
  70937. g = hE(0, 1073741824, c[n >> 2] | 0, 0) | 0;
  70938. f = q;
  70939. c[f >> 2] = g;
  70940. c[(f + 4) >> 2] = y;
  70941. f = p;
  70942. g = eE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 20, 0) | 0;
  70943. f = jE(1, 0, g | 0) | 0;
  70944. g = r;
  70945. c[g >> 2] = f;
  70946. c[(g + 4) >> 2] = y;
  70947. c[s >> 2] = 1 << c[k >> 2];
  70948. c[u >> 2] = 0;
  70949. b[v >> 1] = 0;
  70950. c[w >> 2] = (c[n >> 2] | 0) >>> (c[k >> 2] | 0);
  70951. c[t >> 2] = 0;
  70952. while (1) {
  70953. if ((c[t >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  70954. if (
  70955. (c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0) ==
  70956. (c[n >> 2] | 0)
  70957. ) {
  70958. C = 12;
  70959. break;
  70960. }
  70961. do {
  70962. if (!(c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0))
  70963. b[((c[j >> 2] | 0) + (c[t >> 2] << 1)) >> 1] = 0;
  70964. else {
  70965. if (
  70966. (c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0) >>>
  70967. 0 <=
  70968. (c[w >> 2] | 0) >>> 0
  70969. ) {
  70970. b[((c[j >> 2] | 0) + (c[t >> 2] << 1)) >> 1] = -1;
  70971. c[s >> 2] = (c[s >> 2] | 0) + -1;
  70972. break;
  70973. }
  70974. g = q;
  70975. f =
  70976. cE(
  70977. c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0,
  70978. 0,
  70979. c[g >> 2] | 0,
  70980. c[(g + 4) >> 2] | 0
  70981. ) | 0;
  70982. g = iE(f | 0, y | 0, c[p >> 2] | 0) | 0;
  70983. b[x >> 1] = g;
  70984. if ((b[x >> 1] | 0) < 8) {
  70985. g = r;
  70986. f =
  70987. cE(
  70988. c[g >> 2] | 0,
  70989. c[(g + 4) >> 2] | 0,
  70990. c[(192 + (b[x >> 1] << 2)) >> 2] | 0,
  70991. 0
  70992. ) | 0;
  70993. g = z;
  70994. c[g >> 2] = f;
  70995. c[(g + 4) >> 2] = y;
  70996. g = q;
  70997. f =
  70998. cE(
  70999. c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0,
  71000. 0,
  71001. c[g >> 2] | 0,
  71002. c[(g + 4) >> 2] | 0
  71003. ) | 0;
  71004. g = y;
  71005. e = b[x >> 1] | 0;
  71006. d =
  71007. jE(
  71008. e | 0,
  71009. ((((e | 0) < 0) << 31) >> 31) | 0,
  71010. c[p >> 2] | 0
  71011. ) | 0;
  71012. e = eE(f | 0, g | 0, d | 0, y | 0) | 0;
  71013. d = y;
  71014. g = z;
  71015. f = c[(g + 4) >> 2] | 0;
  71016. b[x >> 1] =
  71017. (b[x >> 1] | 0) +
  71018. (((d >>> 0 > f >>> 0) |
  71019. ((d | 0) == (f | 0)
  71020. ? e >>> 0 > (c[g >> 2] | 0) >>> 0
  71021. : 0)) &
  71022. 1);
  71023. }
  71024. if ((b[x >> 1] | 0) > (b[v >> 1] | 0)) {
  71025. b[v >> 1] = b[x >> 1] | 0;
  71026. c[u >> 2] = c[t >> 2];
  71027. }
  71028. b[((c[j >> 2] | 0) + (c[t >> 2] << 1)) >> 1] =
  71029. b[x >> 1] | 0;
  71030. c[s >> 2] = (c[s >> 2] | 0) - (b[x >> 1] | 0);
  71031. }
  71032. } while (0);
  71033. c[t >> 2] = (c[t >> 2] | 0) + 1;
  71034. }
  71035. if ((C | 0) == 12) {
  71036. c[i >> 2] = 0;
  71037. B = c[i >> 2] | 0;
  71038. l = h;
  71039. return B | 0;
  71040. }
  71041. if (
  71042. ((0 - (c[s >> 2] | 0)) | 0) >=
  71043. ((b[((c[j >> 2] | 0) + (c[u >> 2] << 1)) >> 1] >> 1) | 0)
  71044. ) {
  71045. c[A >> 2] =
  71046. gi(
  71047. c[j >> 2] | 0,
  71048. c[k >> 2] | 0,
  71049. c[m >> 2] | 0,
  71050. c[n >> 2] | 0,
  71051. c[o >> 2] | 0
  71052. ) | 0;
  71053. if (hi(c[A >> 2] | 0) | 0) {
  71054. c[i >> 2] = c[A >> 2];
  71055. B = c[i >> 2] | 0;
  71056. l = h;
  71057. return B | 0;
  71058. }
  71059. } else {
  71060. A = ((c[j >> 2] | 0) + (c[u >> 2] << 1)) | 0;
  71061. b[A >> 1] =
  71062. (b[A >> 1] | 0) + (((c[s >> 2] & 65535) << 16) >> 16);
  71063. }
  71064. c[i >> 2] = c[k >> 2];
  71065. B = c[i >> 2] | 0;
  71066. l = h;
  71067. return B | 0;
  71068. }
  71069. function gi(a, d, e, f, g) {
  71070. a = a | 0;
  71071. d = d | 0;
  71072. e = e | 0;
  71073. f = f | 0;
  71074. g = g | 0;
  71075. var h = 0,
  71076. i = 0,
  71077. j = 0,
  71078. k = 0,
  71079. m = 0,
  71080. n = 0,
  71081. o = 0,
  71082. p = 0,
  71083. q = 0,
  71084. r = 0,
  71085. s = 0,
  71086. t = 0,
  71087. u = 0,
  71088. v = 0,
  71089. w = 0,
  71090. x = 0,
  71091. z = 0,
  71092. A = 0,
  71093. B = 0,
  71094. C = 0,
  71095. D = 0,
  71096. E = 0,
  71097. F = 0,
  71098. G = 0;
  71099. h = l;
  71100. l = (l + 112) | 0;
  71101. i = (h + 100) | 0;
  71102. j = (h + 96) | 0;
  71103. k = (h + 92) | 0;
  71104. m = (h + 88) | 0;
  71105. n = (h + 84) | 0;
  71106. o = (h + 80) | 0;
  71107. p = (h + 76) | 0;
  71108. q = (h + 72) | 0;
  71109. r = (h + 68) | 0;
  71110. s = (h + 64) | 0;
  71111. t = (h + 60) | 0;
  71112. u = (h + 56) | 0;
  71113. v = (h + 52) | 0;
  71114. w = (h + 32) | 0;
  71115. x = (h + 24) | 0;
  71116. z = (h + 16) | 0;
  71117. A = (h + 8) | 0;
  71118. B = h;
  71119. C = (h + 48) | 0;
  71120. D = (h + 44) | 0;
  71121. E = (h + 40) | 0;
  71122. c[j >> 2] = a;
  71123. c[k >> 2] = d;
  71124. c[m >> 2] = e;
  71125. c[n >> 2] = f;
  71126. c[o >> 2] = g;
  71127. b[(h + 104) >> 1] = -2;
  71128. c[q >> 2] = 0;
  71129. c[s >> 2] = (c[n >> 2] | 0) >>> (c[k >> 2] | 0);
  71130. c[t >> 2] =
  71131. (((c[n >> 2] | 0) * 3) | 0) >>> (((c[k >> 2] | 0) + 1) | 0);
  71132. c[p >> 2] = 0;
  71133. while (1) {
  71134. if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  71135. do {
  71136. if (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) {
  71137. if (
  71138. (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) >>>
  71139. 0 <=
  71140. (c[s >> 2] | 0) >>> 0
  71141. ) {
  71142. b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = -1;
  71143. c[q >> 2] = (c[q >> 2] | 0) + 1;
  71144. c[n >> 2] =
  71145. (c[n >> 2] | 0) -
  71146. (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0);
  71147. break;
  71148. }
  71149. g = ((c[j >> 2] | 0) + (c[p >> 2] << 1)) | 0;
  71150. if (
  71151. (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) >>>
  71152. 0 <=
  71153. (c[t >> 2] | 0) >>> 0
  71154. ) {
  71155. b[g >> 1] = 1;
  71156. c[q >> 2] = (c[q >> 2] | 0) + 1;
  71157. c[n >> 2] =
  71158. (c[n >> 2] | 0) -
  71159. (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0);
  71160. break;
  71161. } else {
  71162. b[g >> 1] = -2;
  71163. break;
  71164. }
  71165. } else b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = 0;
  71166. } while (0);
  71167. c[p >> 2] = (c[p >> 2] | 0) + 1;
  71168. }
  71169. c[r >> 2] = (1 << c[k >> 2]) - (c[q >> 2] | 0);
  71170. if (
  71171. ((((c[n >> 2] | 0) >>> 0) / ((c[r >> 2] | 0) >>> 0)) |
  71172. 0) >>>
  71173. 0 >
  71174. (c[t >> 2] | 0) >>> 0
  71175. ) {
  71176. c[t >> 2] =
  71177. (((((c[n >> 2] | 0) * 3) | 0) >>> 0) /
  71178. ((c[r >> 2] << 1) >>> 0)) |
  71179. 0;
  71180. c[p >> 2] = 0;
  71181. while (1) {
  71182. if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  71183. if (
  71184. (b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] | 0) == -2
  71185. ? (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] |
  71186. 0) >>>
  71187. 0 <=
  71188. (c[t >> 2] | 0) >>> 0
  71189. : 0
  71190. ) {
  71191. b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = 1;
  71192. c[q >> 2] = (c[q >> 2] | 0) + 1;
  71193. c[n >> 2] =
  71194. (c[n >> 2] | 0) -
  71195. (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0);
  71196. }
  71197. c[p >> 2] = (c[p >> 2] | 0) + 1;
  71198. }
  71199. c[r >> 2] = (1 << c[k >> 2]) - (c[q >> 2] | 0);
  71200. }
  71201. if ((c[q >> 2] | 0) == (((c[o >> 2] | 0) + 1) | 0)) {
  71202. c[u >> 2] = 0;
  71203. c[v >> 2] = 0;
  71204. c[p >> 2] = 0;
  71205. while (1) {
  71206. if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
  71207. if (
  71208. (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) >>>
  71209. 0 >
  71210. (c[v >> 2] | 0) >>> 0
  71211. ) {
  71212. c[u >> 2] = c[p >> 2];
  71213. c[v >> 2] =
  71214. c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2];
  71215. }
  71216. c[p >> 2] = (c[p >> 2] | 0) + 1;
  71217. }
  71218. v = ((c[j >> 2] | 0) + (c[u >> 2] << 1)) | 0;
  71219. b[v >> 1] =
  71220. (b[v >> 1] | 0) + (((c[r >> 2] & 65535) << 16) >> 16);
  71221. c[i >> 2] = 0;
  71222. F = c[i >> 2] | 0;
  71223. l = h;
  71224. return F | 0;
  71225. }
  71226. if (!(c[n >> 2] | 0)) {
  71227. c[p >> 2] = 0;
  71228. while (1) {
  71229. if ((c[r >> 2] | 0) >>> 0 <= 0) break;
  71230. if (
  71231. (b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] | 0) >
  71232. 0
  71233. ) {
  71234. c[r >> 2] = (c[r >> 2] | 0) + -1;
  71235. v = ((c[j >> 2] | 0) + (c[p >> 2] << 1)) | 0;
  71236. b[v >> 1] = (((b[v >> 1] | 0) + 1) << 16) >> 16;
  71237. }
  71238. c[p >> 2] =
  71239. ((((c[p >> 2] | 0) + 1) | 0) >>> 0) %
  71240. ((((c[o >> 2] | 0) + 1) | 0) >>> 0) |
  71241. 0;
  71242. }
  71243. c[i >> 2] = 0;
  71244. F = c[i >> 2] | 0;
  71245. l = h;
  71246. return F | 0;
  71247. }
  71248. v = w;
  71249. c[v >> 2] = 62 - (c[k >> 2] | 0);
  71250. c[(v + 4) >> 2] = 0;
  71251. v = w;
  71252. k = eE(c[v >> 2] | 0, c[(v + 4) >> 2] | 0, 1, 0) | 0;
  71253. v = jE(1, 0, k | 0) | 0;
  71254. k = eE(v | 0, y | 0, 1, 0) | 0;
  71255. v = x;
  71256. c[v >> 2] = k;
  71257. c[(v + 4) >> 2] = y;
  71258. v = jE(1, 0, c[w >> 2] | 0) | 0;
  71259. k = cE(v | 0, y | 0, c[r >> 2] | 0, 0) | 0;
  71260. r = x;
  71261. v = dE(k | 0, y | 0, c[r >> 2] | 0, c[(r + 4) >> 2] | 0) | 0;
  71262. r = hE(v | 0, y | 0, c[n >> 2] | 0, 0) | 0;
  71263. n = z;
  71264. c[n >> 2] = r;
  71265. c[(n + 4) >> 2] = y;
  71266. n = x;
  71267. x = c[(n + 4) >> 2] | 0;
  71268. r = A;
  71269. c[r >> 2] = c[n >> 2];
  71270. c[(r + 4) >> 2] = x;
  71271. c[p >> 2] = 0;
  71272. while (1) {
  71273. if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
  71274. G = 40;
  71275. break;
  71276. }
  71277. if (
  71278. (b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] | 0) ==
  71279. -2
  71280. ) {
  71281. x = A;
  71282. r = c[x >> 2] | 0;
  71283. n = c[(x + 4) >> 2] | 0;
  71284. x = z;
  71285. v =
  71286. cE(
  71287. c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0,
  71288. 0,
  71289. c[x >> 2] | 0,
  71290. c[(x + 4) >> 2] | 0
  71291. ) | 0;
  71292. x = dE(r | 0, n | 0, v | 0, y | 0) | 0;
  71293. v = B;
  71294. c[v >> 2] = x;
  71295. c[(v + 4) >> 2] = y;
  71296. v = A;
  71297. x =
  71298. iE(c[v >> 2] | 0, c[(v + 4) >> 2] | 0, c[w >> 2] | 0) |
  71299. 0;
  71300. c[C >> 2] = x;
  71301. x = B;
  71302. v =
  71303. iE(c[x >> 2] | 0, c[(x + 4) >> 2] | 0, c[w >> 2] | 0) |
  71304. 0;
  71305. c[D >> 2] = v;
  71306. c[E >> 2] = (c[D >> 2] | 0) - (c[C >> 2] | 0);
  71307. if ((c[E >> 2] | 0) >>> 0 < 1) {
  71308. G = 37;
  71309. break;
  71310. }
  71311. b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = c[E >> 2];
  71312. v = B;
  71313. x = c[(v + 4) >> 2] | 0;
  71314. n = A;
  71315. c[n >> 2] = c[v >> 2];
  71316. c[(n + 4) >> 2] = x;
  71317. }
  71318. c[p >> 2] = (c[p >> 2] | 0) + 1;
  71319. }
  71320. if ((G | 0) == 37) {
  71321. c[i >> 2] = -1;
  71322. F = c[i >> 2] | 0;
  71323. l = h;
  71324. return F | 0;
  71325. } else if ((G | 0) == 40) {
  71326. c[i >> 2] = 0;
  71327. F = c[i >> 2] | 0;
  71328. l = h;
  71329. return F | 0;
  71330. }
  71331. return 0;
  71332. }
  71333. function hi(a) {
  71334. a = a | 0;
  71335. var b = 0,
  71336. d = 0;
  71337. b = l;
  71338. l = (l + 16) | 0;
  71339. d = b;
  71340. c[d >> 2] = a;
  71341. l = b;
  71342. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  71343. }
  71344. function ii(e, f) {
  71345. e = e | 0;
  71346. f = f | 0;
  71347. var g = 0,
  71348. h = 0,
  71349. i = 0,
  71350. j = 0,
  71351. k = 0,
  71352. m = 0,
  71353. n = 0;
  71354. g = l;
  71355. l = (l + 32) | 0;
  71356. h = (g + 16) | 0;
  71357. i = (g + 20) | 0;
  71358. j = (g + 12) | 0;
  71359. k = (g + 8) | 0;
  71360. m = (g + 4) | 0;
  71361. n = g;
  71362. c[h >> 2] = e;
  71363. a[i >> 0] = f;
  71364. c[j >> 2] = c[h >> 2];
  71365. c[k >> 2] = (c[j >> 2] | 0) + 4;
  71366. c[m >> 2] = (c[j >> 2] | 0) + 8;
  71367. c[n >> 2] = c[m >> 2];
  71368. b[((c[k >> 2] | 0) + -4) >> 1] = 0;
  71369. b[((c[k >> 2] | 0) + -2) >> 1] = d[i >> 0] | 0;
  71370. b[c[k >> 2] >> 1] = 0;
  71371. b[((c[k >> 2] | 0) + 2) >> 1] = 0;
  71372. c[((c[n >> 2] | 0) + ((d[i >> 0] | 0) << 3) + 4) >> 2] = 0;
  71373. c[((c[n >> 2] | 0) + ((d[i >> 0] | 0) << 3)) >> 2] = 0;
  71374. l = g;
  71375. return 0;
  71376. }
  71377. function ji(a, b, d, e, f) {
  71378. a = a | 0;
  71379. b = b | 0;
  71380. d = d | 0;
  71381. e = e | 0;
  71382. f = f | 0;
  71383. var g = 0,
  71384. h = 0,
  71385. i = 0,
  71386. j = 0,
  71387. k = 0,
  71388. m = 0,
  71389. n = 0,
  71390. o = 0,
  71391. p = 0;
  71392. g = l;
  71393. l = (l + 32) | 0;
  71394. h = (g + 24) | 0;
  71395. i = (g + 20) | 0;
  71396. j = (g + 16) | 0;
  71397. k = (g + 12) | 0;
  71398. m = (g + 8) | 0;
  71399. n = (g + 4) | 0;
  71400. o = g;
  71401. c[i >> 2] = a;
  71402. c[j >> 2] = b;
  71403. c[k >> 2] = d;
  71404. c[m >> 2] = e;
  71405. c[n >> 2] = f;
  71406. c[o >> 2] =
  71407. ((c[j >> 2] | 0) >>> 0 >=
  71408. (((c[m >> 2] | 0) + ((c[m >> 2] | 0) >>> 7)) | 0) >>> 0) &
  71409. 1;
  71410. f = c[i >> 2] | 0;
  71411. i = c[j >> 2] | 0;
  71412. j = c[k >> 2] | 0;
  71413. k = c[m >> 2] | 0;
  71414. m = c[n >> 2] | 0;
  71415. if (c[o >> 2] | 0) {
  71416. c[h >> 2] = ki(f, i, j, k, m, 1) | 0;
  71417. p = c[h >> 2] | 0;
  71418. l = g;
  71419. return p | 0;
  71420. } else {
  71421. c[h >> 2] = ki(f, i, j, k, m, 0) | 0;
  71422. p = c[h >> 2] | 0;
  71423. l = g;
  71424. return p | 0;
  71425. }
  71426. return 0;
  71427. }
  71428. function ki(a, b, e, f, g, h) {
  71429. a = a | 0;
  71430. b = b | 0;
  71431. e = e | 0;
  71432. f = f | 0;
  71433. g = g | 0;
  71434. h = h | 0;
  71435. var i = 0,
  71436. j = 0,
  71437. k = 0,
  71438. m = 0,
  71439. n = 0,
  71440. o = 0,
  71441. p = 0,
  71442. q = 0,
  71443. r = 0,
  71444. s = 0,
  71445. t = 0,
  71446. u = 0,
  71447. v = 0,
  71448. w = 0,
  71449. x = 0,
  71450. y = 0;
  71451. i = l;
  71452. l = (l + 112) | 0;
  71453. j = (i + 96) | 0;
  71454. k = (i + 92) | 0;
  71455. m = (i + 88) | 0;
  71456. n = (i + 84) | 0;
  71457. o = (i + 80) | 0;
  71458. p = (i + 76) | 0;
  71459. q = (i + 72) | 0;
  71460. r = (i + 68) | 0;
  71461. s = (i + 64) | 0;
  71462. t = (i + 60) | 0;
  71463. u = (i + 40) | 0;
  71464. v = (i + 24) | 0;
  71465. w = (i + 8) | 0;
  71466. x = i;
  71467. c[k >> 2] = a;
  71468. c[m >> 2] = b;
  71469. c[n >> 2] = e;
  71470. c[o >> 2] = f;
  71471. c[p >> 2] = g;
  71472. c[q >> 2] = h;
  71473. c[r >> 2] = c[n >> 2];
  71474. c[s >> 2] = (c[r >> 2] | 0) + (c[o >> 2] | 0);
  71475. c[t >> 2] = c[s >> 2];
  71476. if ((c[o >> 2] | 0) >>> 0 <= 2) {
  71477. c[j >> 2] = 0;
  71478. y = c[j >> 2] | 0;
  71479. l = i;
  71480. return y | 0;
  71481. }
  71482. c[x >> 2] = li(u, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
  71483. if (hi(c[x >> 2] | 0) | 0) {
  71484. c[j >> 2] = 0;
  71485. y = c[j >> 2] | 0;
  71486. l = i;
  71487. return y | 0;
  71488. }
  71489. x = ((c[o >> 2] & 1) | 0) != 0;
  71490. m = c[p >> 2] | 0;
  71491. k = ((c[t >> 2] | 0) + -1) | 0;
  71492. c[t >> 2] = k;
  71493. s = d[k >> 0] | 0;
  71494. do {
  71495. if (x) {
  71496. mi(v, m, s);
  71497. k = c[p >> 2] | 0;
  71498. n = ((c[t >> 2] | 0) + -1) | 0;
  71499. c[t >> 2] = n;
  71500. mi(w, k, d[n >> 0] | 0);
  71501. n = ((c[t >> 2] | 0) + -1) | 0;
  71502. c[t >> 2] = n;
  71503. ni(u, v, d[n >> 0] | 0);
  71504. if (c[q >> 2] | 0) {
  71505. oi(u);
  71506. break;
  71507. } else {
  71508. pi(u);
  71509. break;
  71510. }
  71511. } else {
  71512. mi(w, m, s);
  71513. n = c[p >> 2] | 0;
  71514. k = ((c[t >> 2] | 0) + -1) | 0;
  71515. c[t >> 2] = k;
  71516. mi(v, n, d[k >> 0] | 0);
  71517. }
  71518. } while (0);
  71519. c[o >> 2] = (c[o >> 2] | 0) - 2;
  71520. while (1) {
  71521. if ((c[t >> 2] | 0) >>> 0 <= (c[r >> 2] | 0) >>> 0) break;
  71522. o = ((c[t >> 2] | 0) + -1) | 0;
  71523. c[t >> 2] = o;
  71524. ni(u, w, d[o >> 0] | 0);
  71525. o = ((c[t >> 2] | 0) + -1) | 0;
  71526. c[t >> 2] = o;
  71527. ni(u, v, d[o >> 0] | 0);
  71528. if (c[q >> 2] | 0) oi(u);
  71529. else pi(u);
  71530. }
  71531. qi(u, w);
  71532. qi(u, v);
  71533. c[j >> 2] = ri(u) | 0;
  71534. y = c[j >> 2] | 0;
  71535. l = i;
  71536. return y | 0;
  71537. }
  71538. function li(a, b, d) {
  71539. a = a | 0;
  71540. b = b | 0;
  71541. d = d | 0;
  71542. var e = 0,
  71543. f = 0,
  71544. g = 0,
  71545. h = 0,
  71546. i = 0,
  71547. j = 0;
  71548. e = l;
  71549. l = (l + 16) | 0;
  71550. f = (e + 12) | 0;
  71551. g = (e + 8) | 0;
  71552. h = (e + 4) | 0;
  71553. i = e;
  71554. c[g >> 2] = a;
  71555. c[h >> 2] = b;
  71556. c[i >> 2] = d;
  71557. c[c[g >> 2] >> 2] = 0;
  71558. c[((c[g >> 2] | 0) + 4) >> 2] = 0;
  71559. c[((c[g >> 2] | 0) + 8) >> 2] = c[h >> 2];
  71560. c[((c[g >> 2] | 0) + 12) >> 2] =
  71561. c[((c[g >> 2] | 0) + 8) >> 2];
  71562. c[((c[g >> 2] | 0) + 16) >> 2] =
  71563. (c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] | 0) + -4;
  71564. if ((c[i >> 2] | 0) >>> 0 <= 4) {
  71565. c[f >> 2] = -70;
  71566. j = c[f >> 2] | 0;
  71567. l = e;
  71568. return j | 0;
  71569. } else {
  71570. c[f >> 2] = 0;
  71571. j = c[f >> 2] | 0;
  71572. l = e;
  71573. return j | 0;
  71574. }
  71575. return 0;
  71576. }
  71577. function mi(a, b, d) {
  71578. a = a | 0;
  71579. b = b | 0;
  71580. d = d | 0;
  71581. var f = 0,
  71582. g = 0,
  71583. h = 0,
  71584. i = 0,
  71585. j = 0,
  71586. k = 0,
  71587. m = 0;
  71588. f = l;
  71589. l = (l + 32) | 0;
  71590. g = (f + 24) | 0;
  71591. h = (f + 20) | 0;
  71592. i = (f + 16) | 0;
  71593. j = (f + 8) | 0;
  71594. k = (f + 4) | 0;
  71595. m = f;
  71596. c[g >> 2] = a;
  71597. c[h >> 2] = b;
  71598. c[i >> 2] = d;
  71599. Di(c[g >> 2] | 0, c[h >> 2] | 0);
  71600. h =
  71601. ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
  71602. 0;
  71603. c[j >> 2] = c[h >> 2];
  71604. c[(j + 4) >> 2] = c[(h + 4) >> 2];
  71605. c[k >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  71606. c[m >> 2] = (((c[(j + 4) >> 2] | 0) + 32768) | 0) >>> 16;
  71607. c[c[g >> 2] >> 2] = (c[m >> 2] << 16) - (c[(j + 4) >> 2] | 0);
  71608. c[c[g >> 2] >> 2] =
  71609. e[
  71610. ((c[k >> 2] | 0) +
  71611. (((c[c[g >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
  71612. 1)) >>
  71613. 1
  71614. ];
  71615. l = f;
  71616. return;
  71617. }
  71618. function ni(a, b, d) {
  71619. a = a | 0;
  71620. b = b | 0;
  71621. d = d | 0;
  71622. var f = 0,
  71623. g = 0,
  71624. h = 0,
  71625. i = 0,
  71626. j = 0,
  71627. k = 0,
  71628. m = 0;
  71629. f = l;
  71630. l = (l + 32) | 0;
  71631. g = (f + 24) | 0;
  71632. h = (f + 20) | 0;
  71633. i = (f + 16) | 0;
  71634. j = (f + 8) | 0;
  71635. k = (f + 4) | 0;
  71636. m = f;
  71637. c[g >> 2] = a;
  71638. c[h >> 2] = b;
  71639. c[i >> 2] = d;
  71640. d =
  71641. ((c[((c[h >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
  71642. 0;
  71643. c[j >> 2] = c[d >> 2];
  71644. c[(j + 4) >> 2] = c[(d + 4) >> 2];
  71645. c[k >> 2] = c[((c[h >> 2] | 0) + 4) >> 2];
  71646. c[m >> 2] =
  71647. (((c[c[h >> 2] >> 2] | 0) + (c[(j + 4) >> 2] | 0)) | 0) >>>
  71648. 16;
  71649. ti(c[g >> 2] | 0, c[c[h >> 2] >> 2] | 0, c[m >> 2] | 0);
  71650. c[c[h >> 2] >> 2] =
  71651. e[
  71652. ((c[k >> 2] | 0) +
  71653. (((c[c[h >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
  71654. 1)) >>
  71655. 1
  71656. ];
  71657. l = f;
  71658. return;
  71659. }
  71660. function oi(a) {
  71661. a = a | 0;
  71662. var b = 0,
  71663. d = 0,
  71664. e = 0;
  71665. b = l;
  71666. l = (l + 16) | 0;
  71667. d = (b + 4) | 0;
  71668. e = b;
  71669. c[d >> 2] = a;
  71670. c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
  71671. ui(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
  71672. a = ((c[d >> 2] | 0) + 12) | 0;
  71673. c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
  71674. a = ((c[d >> 2] | 0) + 4) | 0;
  71675. c[a >> 2] = c[a >> 2] & 7;
  71676. a = c[d >> 2] | 0;
  71677. c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
  71678. l = b;
  71679. return;
  71680. }
  71681. function pi(a) {
  71682. a = a | 0;
  71683. var b = 0,
  71684. d = 0,
  71685. e = 0;
  71686. b = l;
  71687. l = (l + 16) | 0;
  71688. d = (b + 4) | 0;
  71689. e = b;
  71690. c[d >> 2] = a;
  71691. c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
  71692. ui(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
  71693. a = ((c[d >> 2] | 0) + 12) | 0;
  71694. c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
  71695. if (
  71696. (c[((c[d >> 2] | 0) + 12) >> 2] | 0) >>> 0 >
  71697. (c[((c[d >> 2] | 0) + 16) >> 2] | 0) >>> 0
  71698. )
  71699. c[((c[d >> 2] | 0) + 12) >> 2] =
  71700. c[((c[d >> 2] | 0) + 16) >> 2];
  71701. a = ((c[d >> 2] | 0) + 4) | 0;
  71702. c[a >> 2] = c[a >> 2] & 7;
  71703. a = c[d >> 2] | 0;
  71704. c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
  71705. l = b;
  71706. return;
  71707. }
  71708. function qi(a, b) {
  71709. a = a | 0;
  71710. b = b | 0;
  71711. var d = 0,
  71712. e = 0,
  71713. f = 0;
  71714. d = l;
  71715. l = (l + 16) | 0;
  71716. e = (d + 4) | 0;
  71717. f = d;
  71718. c[e >> 2] = a;
  71719. c[f >> 2] = b;
  71720. ti(
  71721. c[e >> 2] | 0,
  71722. c[c[f >> 2] >> 2] | 0,
  71723. c[((c[f >> 2] | 0) + 12) >> 2] | 0
  71724. );
  71725. pi(c[e >> 2] | 0);
  71726. l = d;
  71727. return;
  71728. }
  71729. function ri(a) {
  71730. a = a | 0;
  71731. var b = 0,
  71732. d = 0,
  71733. e = 0,
  71734. f = 0;
  71735. b = l;
  71736. l = (l + 16) | 0;
  71737. d = (b + 4) | 0;
  71738. e = b;
  71739. c[e >> 2] = a;
  71740. si(c[e >> 2] | 0, 1, 1);
  71741. pi(c[e >> 2] | 0);
  71742. if (
  71743. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0 >=
  71744. (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
  71745. ) {
  71746. c[d >> 2] = 0;
  71747. f = c[d >> 2] | 0;
  71748. l = b;
  71749. return f | 0;
  71750. } else {
  71751. c[d >> 2] =
  71752. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) -
  71753. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  71754. (((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 0) & 1);
  71755. f = c[d >> 2] | 0;
  71756. l = b;
  71757. return f | 0;
  71758. }
  71759. return 0;
  71760. }
  71761. function si(a, b, d) {
  71762. a = a | 0;
  71763. b = b | 0;
  71764. d = d | 0;
  71765. var e = 0,
  71766. f = 0,
  71767. g = 0,
  71768. h = 0;
  71769. e = l;
  71770. l = (l + 16) | 0;
  71771. f = (e + 8) | 0;
  71772. g = (e + 4) | 0;
  71773. h = e;
  71774. c[f >> 2] = a;
  71775. c[g >> 2] = b;
  71776. c[h >> 2] = d;
  71777. d = c[f >> 2] | 0;
  71778. c[d >> 2] =
  71779. c[d >> 2] | (c[g >> 2] << c[((c[f >> 2] | 0) + 4) >> 2]);
  71780. g = ((c[f >> 2] | 0) + 4) | 0;
  71781. c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
  71782. l = e;
  71783. return;
  71784. }
  71785. function ti(a, b, d) {
  71786. a = a | 0;
  71787. b = b | 0;
  71788. d = d | 0;
  71789. var e = 0,
  71790. f = 0,
  71791. g = 0,
  71792. h = 0;
  71793. e = l;
  71794. l = (l + 16) | 0;
  71795. f = (e + 8) | 0;
  71796. g = (e + 4) | 0;
  71797. h = e;
  71798. c[f >> 2] = a;
  71799. c[g >> 2] = b;
  71800. c[h >> 2] = d;
  71801. d = c[f >> 2] | 0;
  71802. c[d >> 2] =
  71803. c[d >> 2] |
  71804. ((c[g >> 2] & c[(2800 + (c[h >> 2] << 2)) >> 2]) <<
  71805. c[((c[f >> 2] | 0) + 4) >> 2]);
  71806. g = ((c[f >> 2] | 0) + 4) | 0;
  71807. c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
  71808. l = e;
  71809. return;
  71810. }
  71811. function ui(a, b) {
  71812. a = a | 0;
  71813. b = b | 0;
  71814. var d = 0,
  71815. e = 0,
  71816. f = 0;
  71817. d = l;
  71818. l = (l + 16) | 0;
  71819. e = (d + 4) | 0;
  71820. f = d;
  71821. c[e >> 2] = a;
  71822. c[f >> 2] = b;
  71823. b = (vi() | 0) != 0;
  71824. a = c[e >> 2] | 0;
  71825. e = c[f >> 2] | 0;
  71826. if (b) {
  71827. wi(a, e);
  71828. l = d;
  71829. return;
  71830. } else {
  71831. xi(a, e, 0);
  71832. l = d;
  71833. return;
  71834. }
  71835. }
  71836. function vi() {
  71837. return 1;
  71838. }
  71839. function wi(a, b) {
  71840. a = a | 0;
  71841. b = b | 0;
  71842. var d = 0,
  71843. e = 0,
  71844. f = 0;
  71845. d = l;
  71846. l = (l + 16) | 0;
  71847. e = (d + 4) | 0;
  71848. f = d;
  71849. c[e >> 2] = a;
  71850. c[f >> 2] = b;
  71851. b = (yi() | 0) != 0;
  71852. a = c[e >> 2] | 0;
  71853. e = c[f >> 2] | 0;
  71854. if (b) {
  71855. Bi(a, e);
  71856. l = d;
  71857. return;
  71858. } else {
  71859. Bi(a, Ci(e) | 0);
  71860. l = d;
  71861. return;
  71862. }
  71863. }
  71864. function xi(a, b, d) {
  71865. a = a | 0;
  71866. b = b | 0;
  71867. d = d | 0;
  71868. var e = 0,
  71869. f = 0,
  71870. g = 0;
  71871. e = l;
  71872. l = (l + 16) | 0;
  71873. f = (e + 8) | 0;
  71874. g = e;
  71875. c[f >> 2] = a;
  71876. a = g;
  71877. c[a >> 2] = b;
  71878. c[(a + 4) >> 2] = d;
  71879. d = (yi() | 0) != 0;
  71880. a = c[f >> 2] | 0;
  71881. f = g;
  71882. g = c[f >> 2] | 0;
  71883. b = c[(f + 4) >> 2] | 0;
  71884. if (d) {
  71885. zi(a, g, b);
  71886. l = e;
  71887. return;
  71888. } else {
  71889. d = Ai(g, b) | 0;
  71890. zi(a, d, y);
  71891. l = e;
  71892. return;
  71893. }
  71894. }
  71895. function yi() {
  71896. return d[11936] | 0 | 0;
  71897. }
  71898. function zi(b, d, e) {
  71899. b = b | 0;
  71900. d = d | 0;
  71901. e = e | 0;
  71902. var f = 0,
  71903. g = 0,
  71904. h = 0;
  71905. f = l;
  71906. l = (l + 16) | 0;
  71907. g = (f + 8) | 0;
  71908. h = f;
  71909. c[g >> 2] = b;
  71910. b = h;
  71911. c[b >> 2] = d;
  71912. c[(b + 4) >> 2] = e;
  71913. e = h;
  71914. h = c[e >> 2] | 0;
  71915. b = c[(e + 4) >> 2] | 0;
  71916. e = c[g >> 2] | 0;
  71917. g = e;
  71918. a[g >> 0] = h;
  71919. a[(g + 1) >> 0] = h >> 8;
  71920. a[(g + 2) >> 0] = h >> 16;
  71921. a[(g + 3) >> 0] = h >> 24;
  71922. h = (e + 4) | 0;
  71923. a[h >> 0] = b;
  71924. a[(h + 1) >> 0] = b >> 8;
  71925. a[(h + 2) >> 0] = b >> 16;
  71926. a[(h + 3) >> 0] = b >> 24;
  71927. l = f;
  71928. return;
  71929. }
  71930. function Ai(a, b) {
  71931. a = a | 0;
  71932. b = b | 0;
  71933. var d = 0,
  71934. e = 0,
  71935. f = 0,
  71936. g = 0,
  71937. h = 0;
  71938. d = l;
  71939. l = (l + 16) | 0;
  71940. e = d;
  71941. f = e;
  71942. c[f >> 2] = a;
  71943. c[(f + 4) >> 2] = b;
  71944. b = e;
  71945. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  71946. b = y & -16777216;
  71947. f = e;
  71948. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  71949. f = b | (y & 16711680);
  71950. b = e;
  71951. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  71952. b = f | (y & 65280);
  71953. f = e;
  71954. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  71955. f = b | (y & 255);
  71956. b = e;
  71957. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  71958. b = e;
  71959. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  71960. b = e;
  71961. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  71962. b = e;
  71963. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  71964. y = f;
  71965. l = d;
  71966. return (
  71967. (a & -16777216) |
  71968. (g & 16711680) |
  71969. (h & 65280) |
  71970. (e & 255) |
  71971. 0
  71972. );
  71973. }
  71974. function Bi(b, d) {
  71975. b = b | 0;
  71976. d = d | 0;
  71977. var e = 0,
  71978. f = 0,
  71979. g = 0;
  71980. e = l;
  71981. l = (l + 16) | 0;
  71982. f = (e + 4) | 0;
  71983. g = e;
  71984. c[f >> 2] = b;
  71985. c[g >> 2] = d;
  71986. d = c[g >> 2] | 0;
  71987. g = c[f >> 2] | 0;
  71988. a[g >> 0] = d;
  71989. a[(g + 1) >> 0] = d >> 8;
  71990. a[(g + 2) >> 0] = d >> 16;
  71991. a[(g + 3) >> 0] = d >> 24;
  71992. l = e;
  71993. return;
  71994. }
  71995. function Ci(a) {
  71996. a = a | 0;
  71997. var b = 0,
  71998. d = 0;
  71999. b = l;
  72000. l = (l + 16) | 0;
  72001. d = b;
  72002. c[d >> 2] = a;
  72003. l = b;
  72004. return (
  72005. ((c[d >> 2] << 24) & -16777216) |
  72006. ((c[d >> 2] << 8) & 16711680) |
  72007. (((c[d >> 2] | 0) >>> 8) & 65280) |
  72008. (((c[d >> 2] | 0) >>> 24) & 255) |
  72009. 0
  72010. );
  72011. }
  72012. function Di(a, b) {
  72013. a = a | 0;
  72014. b = b | 0;
  72015. var d = 0,
  72016. e = 0,
  72017. f = 0,
  72018. g = 0,
  72019. h = 0,
  72020. i = 0,
  72021. j = 0;
  72022. d = l;
  72023. l = (l + 32) | 0;
  72024. e = (d + 16) | 0;
  72025. f = (d + 12) | 0;
  72026. g = (d + 8) | 0;
  72027. h = (d + 4) | 0;
  72028. i = d;
  72029. c[e >> 2] = a;
  72030. c[f >> 2] = b;
  72031. c[g >> 2] = c[f >> 2];
  72032. c[h >> 2] = c[g >> 2];
  72033. c[i >> 2] = (Ei(c[g >> 2] | 0) | 0) & 65535;
  72034. c[c[e >> 2] >> 2] = 1 << c[i >> 2];
  72035. c[((c[e >> 2] | 0) + 4) >> 2] = (c[h >> 2] | 0) + 4;
  72036. if (c[i >> 2] | 0) j = 1 << ((c[i >> 2] | 0) - 1);
  72037. else j = 1;
  72038. c[((c[e >> 2] | 0) + 8) >> 2] =
  72039. (c[f >> 2] | 0) + 4 + (j << 2);
  72040. c[((c[e >> 2] | 0) + 12) >> 2] = c[i >> 2];
  72041. l = d;
  72042. return;
  72043. }
  72044. function Ei(a) {
  72045. a = a | 0;
  72046. var b = 0,
  72047. e = 0;
  72048. b = l;
  72049. l = (l + 16) | 0;
  72050. e = b;
  72051. c[e >> 2] = a;
  72052. a = c[e >> 2] | 0;
  72053. l = b;
  72054. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  72055. }
  72056. function Fi(a, b, d) {
  72057. a = a | 0;
  72058. b = b | 0;
  72059. d = d | 0;
  72060. var e = 0,
  72061. f = 0,
  72062. g = 0,
  72063. h = 0;
  72064. e = l;
  72065. l = (l + 16) | 0;
  72066. f = (e + 8) | 0;
  72067. g = (e + 4) | 0;
  72068. h = e;
  72069. c[f >> 2] = a;
  72070. c[g >> 2] = b;
  72071. c[h >> 2] = d;
  72072. d = ci(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 1) | 0;
  72073. l = e;
  72074. return d | 0;
  72075. }
  72076. function Gi(a, b, d, e) {
  72077. a = a | 0;
  72078. b = b | 0;
  72079. d = d | 0;
  72080. e = e | 0;
  72081. var f = 0,
  72082. g = 0,
  72083. h = 0,
  72084. i = 0,
  72085. j = 0,
  72086. k = 0,
  72087. m = 0,
  72088. n = 0,
  72089. o = 0,
  72090. p = 0,
  72091. q = 0,
  72092. r = 0,
  72093. s = 0,
  72094. t = 0,
  72095. u = 0,
  72096. v = 0,
  72097. w = 0,
  72098. x = 0,
  72099. y = 0,
  72100. z = 0;
  72101. f = l;
  72102. l = (l + 464) | 0;
  72103. g = (f + 452) | 0;
  72104. h = (f + 448) | 0;
  72105. i = (f + 444) | 0;
  72106. j = (f + 440) | 0;
  72107. k = (f + 436) | 0;
  72108. m = (f + 432) | 0;
  72109. n = (f + 428) | 0;
  72110. o = (f + 424) | 0;
  72111. p = (f + 420) | 0;
  72112. q = (f + 416) | 0;
  72113. r = (f + 160) | 0;
  72114. s = (f + 32) | 0;
  72115. t = f;
  72116. u = (f + 412) | 0;
  72117. v = (f + 408) | 0;
  72118. w = (f + 404) | 0;
  72119. x = (f + 400) | 0;
  72120. y = (f + 396) | 0;
  72121. c[h >> 2] = a;
  72122. c[i >> 2] = b;
  72123. c[j >> 2] = d;
  72124. c[k >> 2] = e;
  72125. c[m >> 2] = c[h >> 2];
  72126. c[n >> 2] = c[m >> 2];
  72127. c[o >> 2] = (c[m >> 2] | 0) + (c[i >> 2] | 0);
  72128. c[p >> 2] = 12;
  72129. c[q >> 2] = 6;
  72130. if ((c[k >> 2] | 0) >>> 0 <= 1) {
  72131. c[g >> 2] = 0;
  72132. z = c[g >> 2] | 0;
  72133. l = f;
  72134. return z | 0;
  72135. }
  72136. c[u >> 2] = Zh(s, p, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  72137. i = (Hi(c[u >> 2] | 0) | 0) != 0;
  72138. h = c[u >> 2] | 0;
  72139. if (i) {
  72140. c[g >> 2] = h;
  72141. z = c[g >> 2] | 0;
  72142. l = f;
  72143. return z | 0;
  72144. }
  72145. if ((h | 0) == (c[k >> 2] | 0)) {
  72146. c[g >> 2] = 1;
  72147. z = c[g >> 2] | 0;
  72148. l = f;
  72149. return z | 0;
  72150. }
  72151. if ((c[u >> 2] | 0) == 1) {
  72152. c[g >> 2] = 0;
  72153. z = c[g >> 2] | 0;
  72154. l = f;
  72155. return z | 0;
  72156. }
  72157. c[q >> 2] =
  72158. ei(c[q >> 2] | 0, c[k >> 2] | 0, c[p >> 2] | 0) | 0;
  72159. c[v >> 2] =
  72160. fi(t, c[q >> 2] | 0, s, c[k >> 2] | 0, c[p >> 2] | 0) | 0;
  72161. if (Hi(c[v >> 2] | 0) | 0) {
  72162. c[g >> 2] = c[v >> 2];
  72163. z = c[g >> 2] | 0;
  72164. l = f;
  72165. return z | 0;
  72166. }
  72167. c[w >> 2] =
  72168. Xh(
  72169. c[n >> 2] | 0,
  72170. ((c[o >> 2] | 0) - (c[n >> 2] | 0)) | 0,
  72171. t,
  72172. c[p >> 2] | 0,
  72173. c[q >> 2] | 0
  72174. ) | 0;
  72175. v = (Hi(c[w >> 2] | 0) | 0) != 0;
  72176. s = c[w >> 2] | 0;
  72177. if (v) {
  72178. c[g >> 2] = s;
  72179. z = c[g >> 2] | 0;
  72180. l = f;
  72181. return z | 0;
  72182. }
  72183. c[n >> 2] = (c[n >> 2] | 0) + s;
  72184. c[x >> 2] =
  72185. Uh(r, t, c[p >> 2] | 0, c[q >> 2] | 0, (f + 96) | 0, 64) |
  72186. 0;
  72187. if (Hi(c[x >> 2] | 0) | 0) {
  72188. c[g >> 2] = c[x >> 2];
  72189. z = c[g >> 2] | 0;
  72190. l = f;
  72191. return z | 0;
  72192. }
  72193. c[y >> 2] =
  72194. ji(
  72195. c[n >> 2] | 0,
  72196. ((c[o >> 2] | 0) - (c[n >> 2] | 0)) | 0,
  72197. c[j >> 2] | 0,
  72198. c[k >> 2] | 0,
  72199. r
  72200. ) | 0;
  72201. r = (Hi(c[y >> 2] | 0) | 0) != 0;
  72202. k = c[y >> 2] | 0;
  72203. if (r) {
  72204. c[g >> 2] = k;
  72205. z = c[g >> 2] | 0;
  72206. l = f;
  72207. return z | 0;
  72208. }
  72209. if (!k) {
  72210. c[g >> 2] = 0;
  72211. z = c[g >> 2] | 0;
  72212. l = f;
  72213. return z | 0;
  72214. } else {
  72215. c[n >> 2] = (c[n >> 2] | 0) + (c[y >> 2] | 0);
  72216. c[g >> 2] = (c[n >> 2] | 0) - (c[m >> 2] | 0);
  72217. z = c[g >> 2] | 0;
  72218. l = f;
  72219. return z | 0;
  72220. }
  72221. return 0;
  72222. }
  72223. function Hi(a) {
  72224. a = a | 0;
  72225. var b = 0,
  72226. d = 0;
  72227. b = l;
  72228. l = (l + 16) | 0;
  72229. d = b;
  72230. c[d >> 2] = a;
  72231. l = b;
  72232. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  72233. }
  72234. function Ii(b, e, f, g, h) {
  72235. b = b | 0;
  72236. e = e | 0;
  72237. f = f | 0;
  72238. g = g | 0;
  72239. h = h | 0;
  72240. var i = 0,
  72241. j = 0,
  72242. k = 0,
  72243. m = 0,
  72244. n = 0,
  72245. o = 0,
  72246. p = 0,
  72247. q = 0,
  72248. r = 0,
  72249. s = 0,
  72250. t = 0,
  72251. u = 0,
  72252. v = 0;
  72253. i = l;
  72254. l = (l + 320) | 0;
  72255. j = (i + 288) | 0;
  72256. k = (i + 284) | 0;
  72257. m = (i + 280) | 0;
  72258. n = (i + 276) | 0;
  72259. o = (i + 272) | 0;
  72260. p = (i + 268) | 0;
  72261. q = (i + 292) | 0;
  72262. r = i;
  72263. s = (i + 264) | 0;
  72264. t = (i + 260) | 0;
  72265. u = (i + 256) | 0;
  72266. c[k >> 2] = b;
  72267. c[m >> 2] = e;
  72268. c[n >> 2] = f;
  72269. c[o >> 2] = g;
  72270. c[p >> 2] = h;
  72271. c[s >> 2] = c[k >> 2];
  72272. if ((c[o >> 2] | 0) >>> 0 > 255) {
  72273. c[j >> 2] = -46;
  72274. v = c[j >> 2] | 0;
  72275. l = i;
  72276. return v | 0;
  72277. }
  72278. a[q >> 0] = 0;
  72279. c[t >> 2] = 1;
  72280. while (1) {
  72281. if (
  72282. (c[t >> 2] | 0) >>> 0 >=
  72283. (((c[p >> 2] | 0) + 1) | 0) >>> 0
  72284. )
  72285. break;
  72286. a[(q + (c[t >> 2] | 0)) >> 0] =
  72287. (c[p >> 2] | 0) + 1 - (c[t >> 2] | 0);
  72288. c[t >> 2] = (c[t >> 2] | 0) + 1;
  72289. }
  72290. c[t >> 2] = 0;
  72291. while (1) {
  72292. if ((c[t >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
  72293. a[(r + (c[t >> 2] | 0)) >> 0] =
  72294. a[
  72295. (q +
  72296. (d[((c[n >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] |
  72297. 0)) >>
  72298. 0
  72299. ] | 0;
  72300. c[t >> 2] = (c[t >> 2] | 0) + 1;
  72301. }
  72302. c[u >> 2] =
  72303. Gi(
  72304. ((c[s >> 2] | 0) + 1) | 0,
  72305. ((c[m >> 2] | 0) - 1) | 0,
  72306. r,
  72307. c[o >> 2] | 0
  72308. ) | 0;
  72309. n = (Hi(c[u >> 2] | 0) | 0) != 0;
  72310. q = c[u >> 2] | 0;
  72311. if (n) {
  72312. c[j >> 2] = q;
  72313. v = c[j >> 2] | 0;
  72314. l = i;
  72315. return v | 0;
  72316. }
  72317. if (
  72318. (q >>> 0 > 1
  72319. ? (c[u >> 2] | 0) >>> 0 <
  72320. ((((c[o >> 2] | 0) >>> 0) / 2) | 0) >>> 0
  72321. : 0) | 0
  72322. ) {
  72323. a[c[s >> 2] >> 0] = c[u >> 2];
  72324. c[j >> 2] = (c[u >> 2] | 0) + 1;
  72325. v = c[j >> 2] | 0;
  72326. l = i;
  72327. return v | 0;
  72328. }
  72329. if ((c[o >> 2] | 0) >>> 0 > 128) {
  72330. c[j >> 2] = -1;
  72331. v = c[j >> 2] | 0;
  72332. l = i;
  72333. return v | 0;
  72334. }
  72335. if (
  72336. ((((((((c[o >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0) + 1) |
  72337. 0) >>>
  72338. 0 >
  72339. (c[m >> 2] | 0) >>> 0
  72340. ) {
  72341. c[j >> 2] = -70;
  72342. v = c[j >> 2] | 0;
  72343. l = i;
  72344. return v | 0;
  72345. }
  72346. a[c[s >> 2] >> 0] = 128 + ((c[o >> 2] | 0) - 1);
  72347. a[(r + (c[o >> 2] | 0)) >> 0] = 0;
  72348. c[t >> 2] = 0;
  72349. while (1) {
  72350. if ((c[t >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
  72351. a[
  72352. ((c[s >> 2] | 0) +
  72353. (((((c[t >> 2] | 0) >>> 0) / 2) | 0) + 1)) >>
  72354. 0
  72355. ] =
  72356. ((d[(r + (c[t >> 2] | 0)) >> 0] | 0) << 4) +
  72357. (d[(r + ((c[t >> 2] | 0) + 1)) >> 0] | 0);
  72358. c[t >> 2] = (c[t >> 2] | 0) + 2;
  72359. }
  72360. c[j >> 2] =
  72361. ((((((c[o >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0) + 1;
  72362. v = c[j >> 2] | 0;
  72363. l = i;
  72364. return v | 0;
  72365. }
  72366. function Ji(f, g, h, i) {
  72367. f = f | 0;
  72368. g = g | 0;
  72369. h = h | 0;
  72370. i = i | 0;
  72371. var j = 0,
  72372. k = 0,
  72373. m = 0,
  72374. n = 0,
  72375. o = 0,
  72376. p = 0,
  72377. q = 0,
  72378. r = 0,
  72379. s = 0,
  72380. t = 0,
  72381. u = 0,
  72382. v = 0,
  72383. w = 0,
  72384. x = 0,
  72385. y = 0,
  72386. z = 0,
  72387. A = 0,
  72388. B = 0,
  72389. C = 0,
  72390. D = 0,
  72391. E = 0,
  72392. F = 0,
  72393. G = 0;
  72394. j = l;
  72395. l = (l + 464) | 0;
  72396. k = (j + 444) | 0;
  72397. m = (j + 440) | 0;
  72398. n = (j + 436) | 0;
  72399. o = (j + 432) | 0;
  72400. p = (j + 428) | 0;
  72401. q = (j + 128) | 0;
  72402. r = (j + 64) | 0;
  72403. s = (j + 424) | 0;
  72404. t = (j + 420) | 0;
  72405. u = (j + 416) | 0;
  72406. v = (j + 412) | 0;
  72407. w = (j + 408) | 0;
  72408. x = (j + 404) | 0;
  72409. y = (j + 400) | 0;
  72410. z = (j + 396) | 0;
  72411. A = (j + 32) | 0;
  72412. B = j;
  72413. C = (j + 392) | 0;
  72414. D = (j + 448) | 0;
  72415. E = (j + 388) | 0;
  72416. F = (j + 384) | 0;
  72417. c[m >> 2] = f;
  72418. c[n >> 2] = g;
  72419. c[o >> 2] = h;
  72420. c[p >> 2] = i;
  72421. c[s >> 2] = 0;
  72422. c[t >> 2] = 0;
  72423. c[u >> 2] =
  72424. fh(q, 256, r, t, s, c[o >> 2] | 0, c[p >> 2] | 0) | 0;
  72425. if (Hi(c[u >> 2] | 0) | 0) {
  72426. c[k >> 2] = c[u >> 2];
  72427. G = c[k >> 2] | 0;
  72428. l = j;
  72429. return G | 0;
  72430. }
  72431. if ((c[s >> 2] | 0) >>> 0 > 12) {
  72432. c[k >> 2] = -44;
  72433. G = c[k >> 2] | 0;
  72434. l = j;
  72435. return G | 0;
  72436. }
  72437. if (
  72438. (c[t >> 2] | 0) >>> 0 >
  72439. (((c[c[n >> 2] >> 2] | 0) + 1) | 0) >>> 0
  72440. ) {
  72441. c[k >> 2] = -48;
  72442. G = c[k >> 2] | 0;
  72443. l = j;
  72444. return G | 0;
  72445. }
  72446. c[w >> 2] = 0;
  72447. c[v >> 2] = 1;
  72448. while (1) {
  72449. if ((c[v >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) break;
  72450. c[x >> 2] = c[w >> 2];
  72451. c[w >> 2] =
  72452. (c[w >> 2] | 0) +
  72453. (c[(r + (c[v >> 2] << 2)) >> 2] << ((c[v >> 2] | 0) - 1));
  72454. c[(r + (c[v >> 2] << 2)) >> 2] = c[x >> 2];
  72455. c[v >> 2] = (c[v >> 2] | 0) + 1;
  72456. }
  72457. c[y >> 2] = 0;
  72458. while (1) {
  72459. if ((c[y >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  72460. c[z >> 2] = d[(q + (c[y >> 2] | 0)) >> 0];
  72461. a[((c[m >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] =
  72462. (c[s >> 2] | 0) + 1 - (c[z >> 2] | 0);
  72463. c[y >> 2] = (c[y >> 2] | 0) + 1;
  72464. }
  72465. c[A >> 2] = 0;
  72466. c[(A + 4) >> 2] = 0;
  72467. c[(A + 8) >> 2] = 0;
  72468. c[(A + 12) >> 2] = 0;
  72469. c[(A + 16) >> 2] = 0;
  72470. c[(A + 20) >> 2] = 0;
  72471. c[(A + 24) >> 2] = 0;
  72472. c[B >> 2] = 0;
  72473. c[(B + 4) >> 2] = 0;
  72474. c[(B + 8) >> 2] = 0;
  72475. c[(B + 12) >> 2] = 0;
  72476. c[(B + 16) >> 2] = 0;
  72477. c[(B + 20) >> 2] = 0;
  72478. c[(B + 24) >> 2] = 0;
  72479. c[C >> 2] = 0;
  72480. while (1) {
  72481. if ((c[C >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  72482. y =
  72483. (A +
  72484. ((d[((c[m >> 2] | 0) + (c[C >> 2] << 2) + 2) >> 0] |
  72485. 0) <<
  72486. 1)) |
  72487. 0;
  72488. b[y >> 1] = (((b[y >> 1] | 0) + 1) << 16) >> 16;
  72489. c[C >> 2] = (c[C >> 2] | 0) + 1;
  72490. }
  72491. b[(B + (((c[s >> 2] | 0) + 1) << 1)) >> 1] = 0;
  72492. b[D >> 1] = 0;
  72493. c[E >> 2] = c[s >> 2];
  72494. while (1) {
  72495. if ((c[E >> 2] | 0) >>> 0 <= 0) break;
  72496. b[(B + (c[E >> 2] << 1)) >> 1] = b[D >> 1] | 0;
  72497. b[D >> 1] =
  72498. (e[D >> 1] | 0) + (e[(A + (c[E >> 2] << 1)) >> 1] | 0);
  72499. b[D >> 1] = (e[D >> 1] | 0) >> 1;
  72500. c[E >> 2] = (c[E >> 2] | 0) + -1;
  72501. }
  72502. c[F >> 2] = 0;
  72503. while (1) {
  72504. if ((c[F >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
  72505. E =
  72506. (B +
  72507. ((d[((c[m >> 2] | 0) + (c[F >> 2] << 2) + 2) >> 0] |
  72508. 0) <<
  72509. 1)) |
  72510. 0;
  72511. D = b[E >> 1] | 0;
  72512. b[E >> 1] = ((D + 1) << 16) >> 16;
  72513. b[((c[m >> 2] | 0) + (c[F >> 2] << 2)) >> 1] = D;
  72514. c[F >> 2] = (c[F >> 2] | 0) + 1;
  72515. }
  72516. c[c[n >> 2] >> 2] = (c[t >> 2] | 0) - 1;
  72517. c[k >> 2] = c[u >> 2];
  72518. G = c[k >> 2] | 0;
  72519. l = j;
  72520. return G | 0;
  72521. }
  72522. function Ki(f, g, h, i, j, k) {
  72523. f = f | 0;
  72524. g = g | 0;
  72525. h = h | 0;
  72526. i = i | 0;
  72527. j = j | 0;
  72528. k = k | 0;
  72529. var m = 0,
  72530. n = 0,
  72531. o = 0,
  72532. p = 0,
  72533. q = 0,
  72534. r = 0,
  72535. s = 0,
  72536. t = 0,
  72537. u = 0,
  72538. v = 0,
  72539. w = 0,
  72540. x = 0,
  72541. y = 0,
  72542. z = 0,
  72543. A = 0,
  72544. B = 0,
  72545. C = 0,
  72546. D = 0,
  72547. E = 0,
  72548. F = 0,
  72549. G = 0,
  72550. H = 0,
  72551. I = 0,
  72552. J = 0,
  72553. K = 0,
  72554. L = 0,
  72555. M = 0;
  72556. m = l;
  72557. l = (l + 128) | 0;
  72558. n = (m + 120) | 0;
  72559. o = (m + 116) | 0;
  72560. p = (m + 112) | 0;
  72561. q = (m + 108) | 0;
  72562. r = (m + 104) | 0;
  72563. s = (m + 100) | 0;
  72564. t = (m + 96) | 0;
  72565. u = (m + 92) | 0;
  72566. v = (m + 88) | 0;
  72567. w = (m + 84) | 0;
  72568. x = (m + 80) | 0;
  72569. y = (m + 76) | 0;
  72570. z = (m + 72) | 0;
  72571. A = (m + 126) | 0;
  72572. B = (m + 68) | 0;
  72573. C = (m + 64) | 0;
  72574. D = (m + 60) | 0;
  72575. E = (m + 32) | 0;
  72576. F = m;
  72577. G = (m + 124) | 0;
  72578. c[o >> 2] = f;
  72579. c[p >> 2] = g;
  72580. c[q >> 2] = h;
  72581. c[r >> 2] = i;
  72582. c[s >> 2] = j;
  72583. c[t >> 2] = k;
  72584. c[u >> 2] = c[s >> 2];
  72585. c[v >> 2] = (c[u >> 2] | 0) + 8;
  72586. b[A >> 1] = 256;
  72587. if ((c[s >> 2] & 3) | 0) {
  72588. c[n >> 2] = -1;
  72589. H = c[n >> 2] | 0;
  72590. l = m;
  72591. return H | 0;
  72592. }
  72593. if ((c[t >> 2] | 0) >>> 0 < 4096) {
  72594. c[n >> 2] = -66;
  72595. H = c[n >> 2] | 0;
  72596. l = m;
  72597. return H | 0;
  72598. }
  72599. if (!(c[r >> 2] | 0)) c[r >> 2] = 11;
  72600. if ((c[q >> 2] | 0) >>> 0 > 255) {
  72601. c[n >> 2] = -46;
  72602. H = c[n >> 2] | 0;
  72603. l = m;
  72604. return H | 0;
  72605. }
  72606. oE(c[u >> 2] | 0, 0, 4096) | 0;
  72607. Li(c[v >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0);
  72608. c[x >> 2] = c[q >> 2];
  72609. while (1) {
  72610. I = c[x >> 2] | 0;
  72611. if (c[((c[v >> 2] | 0) + (c[x >> 2] << 3)) >> 2] | 0) break;
  72612. c[x >> 2] = I + -1;
  72613. }
  72614. c[y >> 2] = I;
  72615. c[B >> 2] = (e[A >> 1] | 0) + (c[y >> 2] | 0) - 1;
  72616. c[z >> 2] = e[A >> 1];
  72617. c[((c[v >> 2] | 0) + ((e[A >> 1] | 0) << 3)) >> 2] =
  72618. (c[((c[v >> 2] | 0) + (c[y >> 2] << 3)) >> 2] | 0) +
  72619. (c[((c[v >> 2] | 0) + (((c[y >> 2] | 0) - 1) << 3)) >> 2] |
  72620. 0);
  72621. I = b[A >> 1] | 0;
  72622. b[((c[v >> 2] | 0) + (((c[y >> 2] | 0) - 1) << 3) + 4) >> 1] =
  72623. I;
  72624. b[((c[v >> 2] | 0) + (c[y >> 2] << 3) + 4) >> 1] = I;
  72625. b[A >> 1] = (((b[A >> 1] | 0) + 1) << 16) >> 16;
  72626. c[y >> 2] = (c[y >> 2] | 0) - 2;
  72627. c[w >> 2] = e[A >> 1];
  72628. while (1) {
  72629. if ((c[w >> 2] | 0) >>> 0 > (c[B >> 2] | 0) >>> 0) break;
  72630. c[((c[v >> 2] | 0) + (c[w >> 2] << 3)) >> 2] = 1073741824;
  72631. c[w >> 2] = (c[w >> 2] | 0) + 1;
  72632. }
  72633. c[c[u >> 2] >> 2] = -2147483648;
  72634. while (1) {
  72635. J = c[v >> 2] | 0;
  72636. if ((e[A >> 1] | 0) >>> 0 > (c[B >> 2] | 0) >>> 0) break;
  72637. if (
  72638. (c[(J + (c[y >> 2] << 3)) >> 2] | 0) >>> 0 <
  72639. (c[((c[v >> 2] | 0) + (c[z >> 2] << 3)) >> 2] | 0) >>> 0
  72640. ) {
  72641. u = c[y >> 2] | 0;
  72642. c[y >> 2] = u + -1;
  72643. K = u;
  72644. } else {
  72645. u = c[z >> 2] | 0;
  72646. c[z >> 2] = u + 1;
  72647. K = u;
  72648. }
  72649. c[C >> 2] = K;
  72650. if (
  72651. (c[((c[v >> 2] | 0) + (c[y >> 2] << 3)) >> 2] | 0) >>> 0 <
  72652. (c[((c[v >> 2] | 0) + (c[z >> 2] << 3)) >> 2] | 0) >>> 0
  72653. ) {
  72654. u = c[y >> 2] | 0;
  72655. c[y >> 2] = u + -1;
  72656. L = u;
  72657. } else {
  72658. u = c[z >> 2] | 0;
  72659. c[z >> 2] = u + 1;
  72660. L = u;
  72661. }
  72662. c[D >> 2] = L;
  72663. c[((c[v >> 2] | 0) + ((e[A >> 1] | 0) << 3)) >> 2] =
  72664. (c[((c[v >> 2] | 0) + (c[C >> 2] << 3)) >> 2] | 0) +
  72665. (c[((c[v >> 2] | 0) + (c[D >> 2] << 3)) >> 2] | 0);
  72666. u = b[A >> 1] | 0;
  72667. b[((c[v >> 2] | 0) + (c[D >> 2] << 3) + 4) >> 1] = u;
  72668. b[((c[v >> 2] | 0) + (c[C >> 2] << 3) + 4) >> 1] = u;
  72669. b[A >> 1] = (((b[A >> 1] | 0) + 1) << 16) >> 16;
  72670. }
  72671. a[(J + (c[B >> 2] << 3) + 7) >> 0] = 0;
  72672. c[w >> 2] = (c[B >> 2] | 0) - 1;
  72673. while (1) {
  72674. if ((c[w >> 2] | 0) >>> 0 < 256) break;
  72675. a[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] =
  72676. (d[
  72677. ((c[v >> 2] | 0) +
  72678. ((e[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 4) >> 1] |
  72679. 0) <<
  72680. 3) +
  72681. 7) >>
  72682. 0
  72683. ] |
  72684. 0) +
  72685. 1;
  72686. c[w >> 2] = (c[w >> 2] | 0) + -1;
  72687. }
  72688. c[w >> 2] = 0;
  72689. while (1) {
  72690. M = c[v >> 2] | 0;
  72691. if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) break;
  72692. a[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] =
  72693. (d[
  72694. (M +
  72695. ((e[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 4) >> 1] |
  72696. 0) <<
  72697. 3) +
  72698. 7) >>
  72699. 0
  72700. ] |
  72701. 0) +
  72702. 1;
  72703. c[w >> 2] = (c[w >> 2] | 0) + 1;
  72704. }
  72705. c[r >> 2] = Mi(M, c[x >> 2] | 0, c[r >> 2] | 0) | 0;
  72706. c[E >> 2] = 0;
  72707. c[(E + 4) >> 2] = 0;
  72708. c[(E + 8) >> 2] = 0;
  72709. c[(E + 12) >> 2] = 0;
  72710. c[(E + 16) >> 2] = 0;
  72711. c[(E + 20) >> 2] = 0;
  72712. b[(E + 24) >> 1] = 0;
  72713. c[F >> 2] = 0;
  72714. c[(F + 4) >> 2] = 0;
  72715. c[(F + 8) >> 2] = 0;
  72716. c[(F + 12) >> 2] = 0;
  72717. c[(F + 16) >> 2] = 0;
  72718. c[(F + 20) >> 2] = 0;
  72719. b[(F + 24) >> 1] = 0;
  72720. if ((c[r >> 2] | 0) >>> 0 > 12) {
  72721. c[n >> 2] = -1;
  72722. H = c[n >> 2] | 0;
  72723. l = m;
  72724. return H | 0;
  72725. }
  72726. c[w >> 2] = 0;
  72727. while (1) {
  72728. if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) break;
  72729. M =
  72730. (E +
  72731. ((d[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] |
  72732. 0) <<
  72733. 1)) |
  72734. 0;
  72735. b[M >> 1] = (((b[M >> 1] | 0) + 1) << 16) >> 16;
  72736. c[w >> 2] = (c[w >> 2] | 0) + 1;
  72737. }
  72738. b[G >> 1] = 0;
  72739. c[w >> 2] = c[r >> 2];
  72740. while (1) {
  72741. if ((c[w >> 2] | 0) >>> 0 <= 0) break;
  72742. b[(F + (c[w >> 2] << 1)) >> 1] = b[G >> 1] | 0;
  72743. b[G >> 1] =
  72744. (e[G >> 1] | 0) + (e[(E + (c[w >> 2] << 1)) >> 1] | 0);
  72745. b[G >> 1] = (e[G >> 1] | 0) >> 1;
  72746. c[w >> 2] = (c[w >> 2] | 0) + -1;
  72747. }
  72748. c[w >> 2] = 0;
  72749. while (1) {
  72750. if ((c[w >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
  72751. a[
  72752. ((c[o >> 2] | 0) +
  72753. ((d[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 6) >> 0] |
  72754. 0) <<
  72755. 2) +
  72756. 2) >>
  72757. 0
  72758. ] = a[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] | 0;
  72759. c[w >> 2] = (c[w >> 2] | 0) + 1;
  72760. }
  72761. c[w >> 2] = 0;
  72762. while (1) {
  72763. if ((c[w >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
  72764. v =
  72765. (F +
  72766. ((d[((c[o >> 2] | 0) + (c[w >> 2] << 2) + 2) >> 0] |
  72767. 0) <<
  72768. 1)) |
  72769. 0;
  72770. G = b[v >> 1] | 0;
  72771. b[v >> 1] = ((G + 1) << 16) >> 16;
  72772. b[((c[o >> 2] | 0) + (c[w >> 2] << 2)) >> 1] = G;
  72773. c[w >> 2] = (c[w >> 2] | 0) + 1;
  72774. }
  72775. c[n >> 2] = c[r >> 2];
  72776. H = c[n >> 2] | 0;
  72777. l = m;
  72778. return H | 0;
  72779. }
  72780. function Li(b, d, e) {
  72781. b = b | 0;
  72782. d = d | 0;
  72783. e = e | 0;
  72784. var f = 0,
  72785. g = 0,
  72786. h = 0,
  72787. i = 0,
  72788. j = 0,
  72789. k = 0,
  72790. m = 0,
  72791. n = 0,
  72792. o = 0,
  72793. p = 0;
  72794. f = l;
  72795. l = (l + 288) | 0;
  72796. g = (f + 284) | 0;
  72797. h = (f + 280) | 0;
  72798. i = (f + 276) | 0;
  72799. j = f;
  72800. k = (f + 272) | 0;
  72801. m = (f + 268) | 0;
  72802. n = (f + 264) | 0;
  72803. o = (f + 260) | 0;
  72804. p = (f + 256) | 0;
  72805. c[g >> 2] = b;
  72806. c[h >> 2] = d;
  72807. c[i >> 2] = e;
  72808. oE(j | 0, 0, 256) | 0;
  72809. c[k >> 2] = 0;
  72810. while (1) {
  72811. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) break;
  72812. c[m >> 2] =
  72813. Ni(
  72814. ((c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) +
  72815. 1) |
  72816. 0
  72817. ) | 0;
  72818. e = (j + (c[m >> 2] << 3)) | 0;
  72819. c[e >> 2] = (c[e >> 2] | 0) + 1;
  72820. c[k >> 2] = (c[k >> 2] | 0) + 1;
  72821. }
  72822. c[k >> 2] = 30;
  72823. while (1) {
  72824. if ((c[k >> 2] | 0) >>> 0 <= 0) break;
  72825. m = (j + (((c[k >> 2] | 0) - 1) << 3)) | 0;
  72826. c[m >> 2] =
  72827. (c[m >> 2] | 0) + (c[(j + (c[k >> 2] << 3)) >> 2] | 0);
  72828. c[k >> 2] = (c[k >> 2] | 0) + -1;
  72829. }
  72830. c[k >> 2] = 0;
  72831. while (1) {
  72832. if ((c[k >> 2] | 0) >>> 0 >= 32) break;
  72833. c[(j + (c[k >> 2] << 3) + 4) >> 2] =
  72834. c[(j + (c[k >> 2] << 3)) >> 2];
  72835. c[k >> 2] = (c[k >> 2] | 0) + 1;
  72836. }
  72837. c[k >> 2] = 0;
  72838. while (1) {
  72839. if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) break;
  72840. c[n >> 2] = c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2];
  72841. c[o >> 2] = (Ni(((c[n >> 2] | 0) + 1) | 0) | 0) + 1;
  72842. m = (j + (c[o >> 2] << 3) + 4) | 0;
  72843. e = c[m >> 2] | 0;
  72844. c[m >> 2] = e + 1;
  72845. c[p >> 2] = e;
  72846. while (1) {
  72847. if (
  72848. (c[p >> 2] | 0) >>> 0 <=
  72849. (c[(j + (c[o >> 2] << 3)) >> 2] | 0) >>> 0
  72850. )
  72851. break;
  72852. if (
  72853. (c[n >> 2] | 0) >>> 0 <=
  72854. (c[
  72855. ((c[g >> 2] | 0) + (((c[p >> 2] | 0) - 1) << 3)) >> 2
  72856. ] |
  72857. 0) >>>
  72858. 0
  72859. )
  72860. break;
  72861. e = ((c[g >> 2] | 0) + (c[p >> 2] << 3)) | 0;
  72862. m = ((c[g >> 2] | 0) + (((c[p >> 2] | 0) - 1) << 3)) | 0;
  72863. c[e >> 2] = c[m >> 2];
  72864. c[(e + 4) >> 2] = c[(m + 4) >> 2];
  72865. c[p >> 2] = (c[p >> 2] | 0) + -1;
  72866. }
  72867. c[((c[g >> 2] | 0) + (c[p >> 2] << 3)) >> 2] = c[n >> 2];
  72868. a[((c[g >> 2] | 0) + (c[p >> 2] << 3) + 6) >> 0] =
  72869. c[k >> 2];
  72870. c[k >> 2] = (c[k >> 2] | 0) + 1;
  72871. }
  72872. l = f;
  72873. return;
  72874. }
  72875. function Mi(b, e, f) {
  72876. b = b | 0;
  72877. e = e | 0;
  72878. f = f | 0;
  72879. var g = 0,
  72880. h = 0,
  72881. i = 0,
  72882. j = 0,
  72883. k = 0,
  72884. m = 0,
  72885. n = 0,
  72886. o = 0,
  72887. p = 0,
  72888. q = 0,
  72889. r = 0,
  72890. s = 0,
  72891. t = 0,
  72892. u = 0,
  72893. v = 0,
  72894. w = 0,
  72895. x = 0,
  72896. y = 0,
  72897. z = 0,
  72898. A = 0,
  72899. B = 0;
  72900. g = l;
  72901. l = (l + 128) | 0;
  72902. h = (g + 116) | 0;
  72903. i = (g + 112) | 0;
  72904. j = (g + 108) | 0;
  72905. k = (g + 104) | 0;
  72906. m = (g + 100) | 0;
  72907. n = (g + 96) | 0;
  72908. o = (g + 92) | 0;
  72909. p = (g + 88) | 0;
  72910. q = (g + 84) | 0;
  72911. r = g;
  72912. s = (g + 80) | 0;
  72913. t = (g + 76) | 0;
  72914. u = (g + 72) | 0;
  72915. v = (g + 68) | 0;
  72916. w = (g + 64) | 0;
  72917. x = (g + 60) | 0;
  72918. y = (g + 56) | 0;
  72919. c[i >> 2] = b;
  72920. c[j >> 2] = e;
  72921. c[k >> 2] = f;
  72922. c[m >> 2] = d[((c[i >> 2] | 0) + (c[j >> 2] << 3) + 7) >> 0];
  72923. if ((c[m >> 2] | 0) >>> 0 <= (c[k >> 2] | 0) >>> 0) {
  72924. c[h >> 2] = c[m >> 2];
  72925. z = c[h >> 2] | 0;
  72926. l = g;
  72927. return z | 0;
  72928. }
  72929. c[n >> 2] = 0;
  72930. c[o >> 2] = 1 << ((c[m >> 2] | 0) - (c[k >> 2] | 0));
  72931. c[p >> 2] = c[j >> 2];
  72932. while (1) {
  72933. if (
  72934. (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] | 0) >>>
  72935. 0 <=
  72936. (c[k >> 2] | 0) >>> 0
  72937. )
  72938. break;
  72939. c[n >> 2] =
  72940. (c[n >> 2] | 0) +
  72941. ((c[o >> 2] | 0) -
  72942. (1 <<
  72943. ((c[m >> 2] | 0) -
  72944. (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] |
  72945. 0))));
  72946. a[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] =
  72947. c[k >> 2];
  72948. c[p >> 2] = (c[p >> 2] | 0) + -1;
  72949. }
  72950. while (1) {
  72951. if (
  72952. (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] |
  72953. 0 |
  72954. 0) !=
  72955. (c[k >> 2] | 0)
  72956. )
  72957. break;
  72958. c[p >> 2] = (c[p >> 2] | 0) + -1;
  72959. }
  72960. c[n >> 2] = c[n >> 2] >> ((c[m >> 2] | 0) - (c[k >> 2] | 0));
  72961. c[q >> 2] = -252645136;
  72962. q = r;
  72963. m = (q + 56) | 0;
  72964. do {
  72965. c[q >> 2] = -252645136;
  72966. q = (q + 4) | 0;
  72967. } while ((q | 0) < (m | 0));
  72968. c[t >> 2] = c[k >> 2];
  72969. c[s >> 2] = c[p >> 2];
  72970. while (1) {
  72971. if ((c[s >> 2] | 0) < 0) break;
  72972. if (
  72973. (d[((c[i >> 2] | 0) + (c[s >> 2] << 3) + 7) >> 0] | 0) >>>
  72974. 0 <
  72975. (c[t >> 2] | 0) >>> 0
  72976. ) {
  72977. c[t >> 2] =
  72978. d[((c[i >> 2] | 0) + (c[s >> 2] << 3) + 7) >> 0];
  72979. c[(r + (((c[k >> 2] | 0) - (c[t >> 2] | 0)) << 2)) >> 2] =
  72980. c[s >> 2];
  72981. }
  72982. c[s >> 2] = (c[s >> 2] | 0) + -1;
  72983. }
  72984. while (1) {
  72985. if ((c[n >> 2] | 0) <= 0) break;
  72986. c[u >> 2] = (Ni(c[n >> 2] | 0) | 0) + 1;
  72987. while (1) {
  72988. if ((c[u >> 2] | 0) >>> 0 <= 1) break;
  72989. c[v >> 2] = c[(r + (c[u >> 2] << 2)) >> 2];
  72990. c[w >> 2] = c[(r + (((c[u >> 2] | 0) - 1) << 2)) >> 2];
  72991. if ((c[v >> 2] | 0) != -252645136) {
  72992. if ((c[w >> 2] | 0) == -252645136) break;
  72993. c[x >> 2] =
  72994. c[((c[i >> 2] | 0) + (c[v >> 2] << 3)) >> 2];
  72995. c[y >> 2] =
  72996. c[((c[i >> 2] | 0) + (c[w >> 2] << 3)) >> 2] << 1;
  72997. if ((c[x >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0)
  72998. break;
  72999. }
  73000. c[u >> 2] = (c[u >> 2] | 0) + -1;
  73001. }
  73002. while (1) {
  73003. if ((c[u >> 2] | 0) >>> 0 <= 12)
  73004. A = (c[(r + (c[u >> 2] << 2)) >> 2] | 0) == -252645136;
  73005. else A = 0;
  73006. B = c[u >> 2] | 0;
  73007. if (!A) break;
  73008. c[u >> 2] = B + 1;
  73009. }
  73010. c[n >> 2] = (c[n >> 2] | 0) - (1 << (B - 1));
  73011. if (
  73012. (c[(r + (((c[u >> 2] | 0) - 1) << 2)) >> 2] | 0) ==
  73013. -252645136
  73014. )
  73015. c[(r + (((c[u >> 2] | 0) - 1) << 2)) >> 2] =
  73016. c[(r + (c[u >> 2] << 2)) >> 2];
  73017. s =
  73018. ((c[i >> 2] | 0) +
  73019. (c[(r + (c[u >> 2] << 2)) >> 2] << 3) +
  73020. 7) |
  73021. 0;
  73022. a[s >> 0] = (((a[s >> 0] | 0) + 1) << 24) >> 24;
  73023. s = (r + (c[u >> 2] << 2)) | 0;
  73024. if (c[(r + (c[u >> 2] << 2)) >> 2] | 0) {
  73025. c[s >> 2] = (c[s >> 2] | 0) + -1;
  73026. if (
  73027. (d[
  73028. ((c[i >> 2] | 0) +
  73029. (c[(r + (c[u >> 2] << 2)) >> 2] << 3) +
  73030. 7) >>
  73031. 0
  73032. ] |
  73033. 0 |
  73034. 0) !=
  73035. (((c[k >> 2] | 0) - (c[u >> 2] | 0)) | 0)
  73036. )
  73037. c[(r + (c[u >> 2] << 2)) >> 2] = -252645136;
  73038. } else c[s >> 2] = -252645136;
  73039. }
  73040. while (1) {
  73041. if ((c[n >> 2] | 0) >= 0) break;
  73042. if ((c[(r + 4) >> 2] | 0) != -252645136) {
  73043. u =
  73044. ((c[i >> 2] | 0) +
  73045. (((c[(r + 4) >> 2] | 0) + 1) << 3) +
  73046. 7) |
  73047. 0;
  73048. a[u >> 0] = (((a[u >> 0] | 0) + -1) << 24) >> 24;
  73049. u = (r + 4) | 0;
  73050. c[u >> 2] = (c[u >> 2] | 0) + 1;
  73051. c[n >> 2] = (c[n >> 2] | 0) + 1;
  73052. continue;
  73053. }
  73054. while (1) {
  73055. if (
  73056. (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] |
  73057. 0 |
  73058. 0) !=
  73059. (c[k >> 2] | 0)
  73060. )
  73061. break;
  73062. c[p >> 2] = (c[p >> 2] | 0) + -1;
  73063. }
  73064. u =
  73065. ((c[i >> 2] | 0) + (((c[p >> 2] | 0) + 1) << 3) + 7) | 0;
  73066. a[u >> 0] = (((a[u >> 0] | 0) + -1) << 24) >> 24;
  73067. c[(r + 4) >> 2] = (c[p >> 2] | 0) + 1;
  73068. c[n >> 2] = (c[n >> 2] | 0) + 1;
  73069. }
  73070. c[h >> 2] = c[k >> 2];
  73071. z = c[h >> 2] | 0;
  73072. l = g;
  73073. return z | 0;
  73074. }
  73075. function Ni(a) {
  73076. a = a | 0;
  73077. var b = 0,
  73078. d = 0;
  73079. b = l;
  73080. l = (l + 16) | 0;
  73081. d = b;
  73082. c[d >> 2] = a;
  73083. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  73084. l = b;
  73085. return a | 0;
  73086. }
  73087. function Oi(a, b, d, e, f, g) {
  73088. a = a | 0;
  73089. b = b | 0;
  73090. d = d | 0;
  73091. e = e | 0;
  73092. f = f | 0;
  73093. g = g | 0;
  73094. var h = 0,
  73095. i = 0,
  73096. j = 0,
  73097. k = 0,
  73098. m = 0,
  73099. n = 0,
  73100. o = 0,
  73101. p = 0,
  73102. q = 0;
  73103. h = l;
  73104. l = (l + 32) | 0;
  73105. i = (h + 24) | 0;
  73106. j = (h + 20) | 0;
  73107. k = (h + 16) | 0;
  73108. m = (h + 12) | 0;
  73109. n = (h + 8) | 0;
  73110. o = (h + 4) | 0;
  73111. p = h;
  73112. c[j >> 2] = a;
  73113. c[k >> 2] = b;
  73114. c[m >> 2] = d;
  73115. c[n >> 2] = e;
  73116. c[o >> 2] = f;
  73117. c[p >> 2] = g;
  73118. g = c[j >> 2] | 0;
  73119. j = c[k >> 2] | 0;
  73120. k = c[m >> 2] | 0;
  73121. m = c[n >> 2] | 0;
  73122. n = c[o >> 2] | 0;
  73123. if (c[p >> 2] | 0) {
  73124. c[i >> 2] = Pi(g, j, k, m, n) | 0;
  73125. q = c[i >> 2] | 0;
  73126. l = h;
  73127. return q | 0;
  73128. } else {
  73129. c[i >> 2] = Qi(g, j, k, m, n) | 0;
  73130. q = c[i >> 2] | 0;
  73131. l = h;
  73132. return q | 0;
  73133. }
  73134. return 0;
  73135. }
  73136. function Pi(a, b, f, g, h) {
  73137. a = a | 0;
  73138. b = b | 0;
  73139. f = f | 0;
  73140. g = g | 0;
  73141. h = h | 0;
  73142. var i = 0,
  73143. j = 0,
  73144. k = 0,
  73145. m = 0,
  73146. n = 0,
  73147. o = 0,
  73148. p = 0,
  73149. q = 0,
  73150. r = 0,
  73151. s = 0,
  73152. t = 0,
  73153. u = 0,
  73154. v = 0,
  73155. w = 0,
  73156. x = 0,
  73157. y = 0,
  73158. z = 0,
  73159. A = 0,
  73160. B = 0,
  73161. C = 0,
  73162. D = 0,
  73163. E = 0,
  73164. F = 0,
  73165. G = 0,
  73166. H = 0,
  73167. I = 0,
  73168. J = 0,
  73169. K = 0,
  73170. L = 0,
  73171. M = 0,
  73172. N = 0,
  73173. O = 0,
  73174. P = 0,
  73175. Q = 0,
  73176. R = 0,
  73177. S = 0,
  73178. T = 0,
  73179. U = 0,
  73180. V = 0,
  73181. W = 0,
  73182. X = 0,
  73183. Y = 0;
  73184. i = l;
  73185. l = (l + 176) | 0;
  73186. j = (i + 168) | 0;
  73187. k = (i + 164) | 0;
  73188. m = (i + 160) | 0;
  73189. n = (i + 156) | 0;
  73190. o = (i + 152) | 0;
  73191. p = (i + 148) | 0;
  73192. q = (i + 144) | 0;
  73193. r = (i + 140) | 0;
  73194. s = (i + 136) | 0;
  73195. t = (i + 132) | 0;
  73196. u = (i + 128) | 0;
  73197. v = (i + 124) | 0;
  73198. w = (i + 120) | 0;
  73199. x = (i + 116) | 0;
  73200. y = (i + 112) | 0;
  73201. z = (i + 108) | 0;
  73202. A = (i + 104) | 0;
  73203. B = (i + 100) | 0;
  73204. C = (i + 96) | 0;
  73205. D = (i + 92) | 0;
  73206. E = (i + 88) | 0;
  73207. F = (i + 84) | 0;
  73208. G = (i + 80) | 0;
  73209. H = (i + 76) | 0;
  73210. I = (i + 72) | 0;
  73211. J = (i + 68) | 0;
  73212. K = (i + 64) | 0;
  73213. L = (i + 60) | 0;
  73214. M = (i + 56) | 0;
  73215. N = (i + 52) | 0;
  73216. O = (i + 48) | 0;
  73217. P = (i + 44) | 0;
  73218. Q = (i + 24) | 0;
  73219. R = (i + 20) | 0;
  73220. S = (i + 16) | 0;
  73221. T = (i + 12) | 0;
  73222. U = (i + 8) | 0;
  73223. V = (i + 4) | 0;
  73224. W = i;
  73225. c[S >> 2] = a;
  73226. c[T >> 2] = b;
  73227. c[U >> 2] = f;
  73228. c[V >> 2] = g;
  73229. c[W >> 2] = h;
  73230. h = c[T >> 2] | 0;
  73231. T = c[U >> 2] | 0;
  73232. U = c[V >> 2] | 0;
  73233. V = c[W >> 2] | 0;
  73234. c[G >> 2] = c[S >> 2];
  73235. c[H >> 2] = h;
  73236. c[I >> 2] = T;
  73237. c[J >> 2] = U;
  73238. c[K >> 2] = V;
  73239. c[L >> 2] = c[I >> 2];
  73240. c[M >> 2] = c[G >> 2];
  73241. c[N >> 2] = (c[M >> 2] | 0) + (c[H >> 2] | 0);
  73242. c[O >> 2] = c[M >> 2];
  73243. if ((c[H >> 2] | 0) >>> 0 < 8) {
  73244. c[F >> 2] = 0;
  73245. X = c[F >> 2] | 0;
  73246. l = i;
  73247. return X | 0;
  73248. }
  73249. c[R >> 2] =
  73250. Ri(
  73251. Q,
  73252. c[O >> 2] | 0,
  73253. ((c[N >> 2] | 0) - (c[O >> 2] | 0)) | 0
  73254. ) | 0;
  73255. if (Hi(c[R >> 2] | 0) | 0) {
  73256. c[F >> 2] = 0;
  73257. X = c[F >> 2] | 0;
  73258. l = i;
  73259. return X | 0;
  73260. }
  73261. c[P >> 2] = c[J >> 2] & -4;
  73262. switch ((c[J >> 2] & 3) | 0) {
  73263. case 3: {
  73264. J = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 2)) >> 0] | 0;
  73265. R = c[K >> 2] | 0;
  73266. c[C >> 2] = Q;
  73267. c[D >> 2] = J;
  73268. c[E >> 2] = R;
  73269. Si(
  73270. c[C >> 2] | 0,
  73271. e[((c[E >> 2] | 0) + (c[D >> 2] << 2)) >> 1] | 0,
  73272. d[((c[E >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
  73273. );
  73274. Ti(Q);
  73275. Y = 7;
  73276. break;
  73277. }
  73278. case 2: {
  73279. Y = 7;
  73280. break;
  73281. }
  73282. case 1: {
  73283. Y = 8;
  73284. break;
  73285. }
  73286. case 0:
  73287. break;
  73288. default: {
  73289. }
  73290. }
  73291. if ((Y | 0) == 7) {
  73292. D = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 1)) >> 0] | 0;
  73293. E = c[K >> 2] | 0;
  73294. c[z >> 2] = Q;
  73295. c[A >> 2] = D;
  73296. c[B >> 2] = E;
  73297. Si(
  73298. c[z >> 2] | 0,
  73299. e[((c[B >> 2] | 0) + (c[A >> 2] << 2)) >> 1] | 0,
  73300. d[((c[B >> 2] | 0) + (c[A >> 2] << 2) + 2) >> 0] | 0
  73301. );
  73302. Y = 8;
  73303. }
  73304. if ((Y | 0) == 8) {
  73305. Y = d[((c[L >> 2] | 0) + (c[P >> 2] | 0)) >> 0] | 0;
  73306. A = c[K >> 2] | 0;
  73307. c[w >> 2] = Q;
  73308. c[x >> 2] = Y;
  73309. c[y >> 2] = A;
  73310. Si(
  73311. c[w >> 2] | 0,
  73312. e[((c[y >> 2] | 0) + (c[x >> 2] << 2)) >> 1] | 0,
  73313. d[((c[y >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] | 0
  73314. );
  73315. Ti(Q);
  73316. }
  73317. while (1) {
  73318. if ((c[P >> 2] | 0) >>> 0 <= 0) break;
  73319. x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 1)) >> 0] | 0;
  73320. y = c[K >> 2] | 0;
  73321. c[t >> 2] = Q;
  73322. c[u >> 2] = x;
  73323. c[v >> 2] = y;
  73324. Si(
  73325. c[t >> 2] | 0,
  73326. e[((c[v >> 2] | 0) + (c[u >> 2] << 2)) >> 1] | 0,
  73327. d[((c[v >> 2] | 0) + (c[u >> 2] << 2) + 2) >> 0] | 0
  73328. );
  73329. y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 2)) >> 0] | 0;
  73330. x = c[K >> 2] | 0;
  73331. c[q >> 2] = Q;
  73332. c[r >> 2] = y;
  73333. c[s >> 2] = x;
  73334. Si(
  73335. c[q >> 2] | 0,
  73336. e[((c[s >> 2] | 0) + (c[r >> 2] << 2)) >> 1] | 0,
  73337. d[((c[s >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] | 0
  73338. );
  73339. Ti(Q);
  73340. x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 3)) >> 0] | 0;
  73341. y = c[K >> 2] | 0;
  73342. c[n >> 2] = Q;
  73343. c[o >> 2] = x;
  73344. c[p >> 2] = y;
  73345. Si(
  73346. c[n >> 2] | 0,
  73347. e[((c[p >> 2] | 0) + (c[o >> 2] << 2)) >> 1] | 0,
  73348. d[((c[p >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
  73349. );
  73350. y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 4)) >> 0] | 0;
  73351. x = c[K >> 2] | 0;
  73352. c[j >> 2] = Q;
  73353. c[k >> 2] = y;
  73354. c[m >> 2] = x;
  73355. Si(
  73356. c[j >> 2] | 0,
  73357. e[((c[m >> 2] | 0) + (c[k >> 2] << 2)) >> 1] | 0,
  73358. d[((c[m >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] | 0
  73359. );
  73360. Ti(Q);
  73361. c[P >> 2] = (c[P >> 2] | 0) - 4;
  73362. }
  73363. c[F >> 2] = Ui(Q) | 0;
  73364. X = c[F >> 2] | 0;
  73365. l = i;
  73366. return X | 0;
  73367. }
  73368. function Qi(a, b, f, g, h) {
  73369. a = a | 0;
  73370. b = b | 0;
  73371. f = f | 0;
  73372. g = g | 0;
  73373. h = h | 0;
  73374. var i = 0,
  73375. j = 0,
  73376. k = 0,
  73377. m = 0,
  73378. n = 0,
  73379. o = 0,
  73380. p = 0,
  73381. q = 0,
  73382. r = 0,
  73383. s = 0,
  73384. t = 0,
  73385. u = 0,
  73386. v = 0,
  73387. w = 0,
  73388. x = 0,
  73389. y = 0,
  73390. z = 0,
  73391. A = 0,
  73392. B = 0,
  73393. C = 0,
  73394. D = 0,
  73395. E = 0,
  73396. F = 0,
  73397. G = 0,
  73398. H = 0,
  73399. I = 0,
  73400. J = 0,
  73401. K = 0,
  73402. L = 0,
  73403. M = 0,
  73404. N = 0,
  73405. O = 0,
  73406. P = 0,
  73407. Q = 0,
  73408. R = 0,
  73409. S = 0,
  73410. T = 0,
  73411. U = 0,
  73412. V = 0,
  73413. W = 0,
  73414. X = 0,
  73415. Y = 0;
  73416. i = l;
  73417. l = (l + 176) | 0;
  73418. j = (i + 168) | 0;
  73419. k = (i + 164) | 0;
  73420. m = (i + 160) | 0;
  73421. n = (i + 156) | 0;
  73422. o = (i + 152) | 0;
  73423. p = (i + 148) | 0;
  73424. q = (i + 144) | 0;
  73425. r = (i + 140) | 0;
  73426. s = (i + 136) | 0;
  73427. t = (i + 132) | 0;
  73428. u = (i + 128) | 0;
  73429. v = (i + 124) | 0;
  73430. w = (i + 120) | 0;
  73431. x = (i + 116) | 0;
  73432. y = (i + 112) | 0;
  73433. z = (i + 108) | 0;
  73434. A = (i + 104) | 0;
  73435. B = (i + 100) | 0;
  73436. C = (i + 96) | 0;
  73437. D = (i + 92) | 0;
  73438. E = (i + 88) | 0;
  73439. F = (i + 84) | 0;
  73440. G = (i + 80) | 0;
  73441. H = (i + 76) | 0;
  73442. I = (i + 72) | 0;
  73443. J = (i + 68) | 0;
  73444. K = (i + 64) | 0;
  73445. L = (i + 60) | 0;
  73446. M = (i + 56) | 0;
  73447. N = (i + 52) | 0;
  73448. O = (i + 48) | 0;
  73449. P = (i + 44) | 0;
  73450. Q = (i + 24) | 0;
  73451. R = (i + 20) | 0;
  73452. S = (i + 16) | 0;
  73453. T = (i + 12) | 0;
  73454. U = (i + 8) | 0;
  73455. V = (i + 4) | 0;
  73456. W = i;
  73457. c[S >> 2] = a;
  73458. c[T >> 2] = b;
  73459. c[U >> 2] = f;
  73460. c[V >> 2] = g;
  73461. c[W >> 2] = h;
  73462. h = c[T >> 2] | 0;
  73463. T = c[U >> 2] | 0;
  73464. U = c[V >> 2] | 0;
  73465. V = c[W >> 2] | 0;
  73466. c[G >> 2] = c[S >> 2];
  73467. c[H >> 2] = h;
  73468. c[I >> 2] = T;
  73469. c[J >> 2] = U;
  73470. c[K >> 2] = V;
  73471. c[L >> 2] = c[I >> 2];
  73472. c[M >> 2] = c[G >> 2];
  73473. c[N >> 2] = (c[M >> 2] | 0) + (c[H >> 2] | 0);
  73474. c[O >> 2] = c[M >> 2];
  73475. if ((c[H >> 2] | 0) >>> 0 < 8) {
  73476. c[F >> 2] = 0;
  73477. X = c[F >> 2] | 0;
  73478. l = i;
  73479. return X | 0;
  73480. }
  73481. c[R >> 2] =
  73482. Ri(
  73483. Q,
  73484. c[O >> 2] | 0,
  73485. ((c[N >> 2] | 0) - (c[O >> 2] | 0)) | 0
  73486. ) | 0;
  73487. if (Hi(c[R >> 2] | 0) | 0) {
  73488. c[F >> 2] = 0;
  73489. X = c[F >> 2] | 0;
  73490. l = i;
  73491. return X | 0;
  73492. }
  73493. c[P >> 2] = c[J >> 2] & -4;
  73494. switch ((c[J >> 2] & 3) | 0) {
  73495. case 3: {
  73496. J = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 2)) >> 0] | 0;
  73497. R = c[K >> 2] | 0;
  73498. c[C >> 2] = Q;
  73499. c[D >> 2] = J;
  73500. c[E >> 2] = R;
  73501. Si(
  73502. c[C >> 2] | 0,
  73503. e[((c[E >> 2] | 0) + (c[D >> 2] << 2)) >> 1] | 0,
  73504. d[((c[E >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
  73505. );
  73506. Ti(Q);
  73507. Y = 7;
  73508. break;
  73509. }
  73510. case 2: {
  73511. Y = 7;
  73512. break;
  73513. }
  73514. case 1: {
  73515. Y = 8;
  73516. break;
  73517. }
  73518. case 0:
  73519. break;
  73520. default: {
  73521. }
  73522. }
  73523. if ((Y | 0) == 7) {
  73524. D = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 1)) >> 0] | 0;
  73525. E = c[K >> 2] | 0;
  73526. c[z >> 2] = Q;
  73527. c[A >> 2] = D;
  73528. c[B >> 2] = E;
  73529. Si(
  73530. c[z >> 2] | 0,
  73531. e[((c[B >> 2] | 0) + (c[A >> 2] << 2)) >> 1] | 0,
  73532. d[((c[B >> 2] | 0) + (c[A >> 2] << 2) + 2) >> 0] | 0
  73533. );
  73534. Y = 8;
  73535. }
  73536. if ((Y | 0) == 8) {
  73537. Y = d[((c[L >> 2] | 0) + (c[P >> 2] | 0)) >> 0] | 0;
  73538. A = c[K >> 2] | 0;
  73539. c[w >> 2] = Q;
  73540. c[x >> 2] = Y;
  73541. c[y >> 2] = A;
  73542. Si(
  73543. c[w >> 2] | 0,
  73544. e[((c[y >> 2] | 0) + (c[x >> 2] << 2)) >> 1] | 0,
  73545. d[((c[y >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] | 0
  73546. );
  73547. Ti(Q);
  73548. }
  73549. while (1) {
  73550. if ((c[P >> 2] | 0) >>> 0 <= 0) break;
  73551. x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 1)) >> 0] | 0;
  73552. y = c[K >> 2] | 0;
  73553. c[t >> 2] = Q;
  73554. c[u >> 2] = x;
  73555. c[v >> 2] = y;
  73556. Si(
  73557. c[t >> 2] | 0,
  73558. e[((c[v >> 2] | 0) + (c[u >> 2] << 2)) >> 1] | 0,
  73559. d[((c[v >> 2] | 0) + (c[u >> 2] << 2) + 2) >> 0] | 0
  73560. );
  73561. y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 2)) >> 0] | 0;
  73562. x = c[K >> 2] | 0;
  73563. c[q >> 2] = Q;
  73564. c[r >> 2] = y;
  73565. c[s >> 2] = x;
  73566. Si(
  73567. c[q >> 2] | 0,
  73568. e[((c[s >> 2] | 0) + (c[r >> 2] << 2)) >> 1] | 0,
  73569. d[((c[s >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] | 0
  73570. );
  73571. Ti(Q);
  73572. x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 3)) >> 0] | 0;
  73573. y = c[K >> 2] | 0;
  73574. c[n >> 2] = Q;
  73575. c[o >> 2] = x;
  73576. c[p >> 2] = y;
  73577. Si(
  73578. c[n >> 2] | 0,
  73579. e[((c[p >> 2] | 0) + (c[o >> 2] << 2)) >> 1] | 0,
  73580. d[((c[p >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
  73581. );
  73582. y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 4)) >> 0] | 0;
  73583. x = c[K >> 2] | 0;
  73584. c[j >> 2] = Q;
  73585. c[k >> 2] = y;
  73586. c[m >> 2] = x;
  73587. Si(
  73588. c[j >> 2] | 0,
  73589. e[((c[m >> 2] | 0) + (c[k >> 2] << 2)) >> 1] | 0,
  73590. d[((c[m >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] | 0
  73591. );
  73592. Ti(Q);
  73593. c[P >> 2] = (c[P >> 2] | 0) - 4;
  73594. }
  73595. c[F >> 2] = Ui(Q) | 0;
  73596. X = c[F >> 2] | 0;
  73597. l = i;
  73598. return X | 0;
  73599. }
  73600. function Ri(a, b, d) {
  73601. a = a | 0;
  73602. b = b | 0;
  73603. d = d | 0;
  73604. var e = 0,
  73605. f = 0,
  73606. g = 0,
  73607. h = 0,
  73608. i = 0,
  73609. j = 0;
  73610. e = l;
  73611. l = (l + 16) | 0;
  73612. f = (e + 12) | 0;
  73613. g = (e + 8) | 0;
  73614. h = (e + 4) | 0;
  73615. i = e;
  73616. c[g >> 2] = a;
  73617. c[h >> 2] = b;
  73618. c[i >> 2] = d;
  73619. c[c[g >> 2] >> 2] = 0;
  73620. c[((c[g >> 2] | 0) + 4) >> 2] = 0;
  73621. c[((c[g >> 2] | 0) + 8) >> 2] = c[h >> 2];
  73622. c[((c[g >> 2] | 0) + 12) >> 2] =
  73623. c[((c[g >> 2] | 0) + 8) >> 2];
  73624. c[((c[g >> 2] | 0) + 16) >> 2] =
  73625. (c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] | 0) + -4;
  73626. if ((c[i >> 2] | 0) >>> 0 <= 4) {
  73627. c[f >> 2] = -70;
  73628. j = c[f >> 2] | 0;
  73629. l = e;
  73630. return j | 0;
  73631. } else {
  73632. c[f >> 2] = 0;
  73633. j = c[f >> 2] | 0;
  73634. l = e;
  73635. return j | 0;
  73636. }
  73637. return 0;
  73638. }
  73639. function Si(a, b, d) {
  73640. a = a | 0;
  73641. b = b | 0;
  73642. d = d | 0;
  73643. var e = 0,
  73644. f = 0,
  73645. g = 0,
  73646. h = 0;
  73647. e = l;
  73648. l = (l + 16) | 0;
  73649. f = (e + 8) | 0;
  73650. g = (e + 4) | 0;
  73651. h = e;
  73652. c[f >> 2] = a;
  73653. c[g >> 2] = b;
  73654. c[h >> 2] = d;
  73655. d = c[f >> 2] | 0;
  73656. c[d >> 2] =
  73657. c[d >> 2] | (c[g >> 2] << c[((c[f >> 2] | 0) + 4) >> 2]);
  73658. g = ((c[f >> 2] | 0) + 4) | 0;
  73659. c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
  73660. l = e;
  73661. return;
  73662. }
  73663. function Ti(a) {
  73664. a = a | 0;
  73665. var b = 0,
  73666. d = 0,
  73667. e = 0;
  73668. b = l;
  73669. l = (l + 16) | 0;
  73670. d = (b + 4) | 0;
  73671. e = b;
  73672. c[d >> 2] = a;
  73673. c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
  73674. Vi(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
  73675. a = ((c[d >> 2] | 0) + 12) | 0;
  73676. c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
  73677. if (
  73678. (c[((c[d >> 2] | 0) + 12) >> 2] | 0) >>> 0 >
  73679. (c[((c[d >> 2] | 0) + 16) >> 2] | 0) >>> 0
  73680. )
  73681. c[((c[d >> 2] | 0) + 12) >> 2] =
  73682. c[((c[d >> 2] | 0) + 16) >> 2];
  73683. a = ((c[d >> 2] | 0) + 4) | 0;
  73684. c[a >> 2] = c[a >> 2] & 7;
  73685. a = c[d >> 2] | 0;
  73686. c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
  73687. l = b;
  73688. return;
  73689. }
  73690. function Ui(a) {
  73691. a = a | 0;
  73692. var b = 0,
  73693. d = 0,
  73694. e = 0,
  73695. f = 0;
  73696. b = l;
  73697. l = (l + 16) | 0;
  73698. d = (b + 4) | 0;
  73699. e = b;
  73700. c[e >> 2] = a;
  73701. Si(c[e >> 2] | 0, 1, 1);
  73702. Ti(c[e >> 2] | 0);
  73703. if (
  73704. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0 >=
  73705. (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
  73706. ) {
  73707. c[d >> 2] = 0;
  73708. f = c[d >> 2] | 0;
  73709. l = b;
  73710. return f | 0;
  73711. } else {
  73712. c[d >> 2] =
  73713. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) -
  73714. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  73715. (((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 0) & 1);
  73716. f = c[d >> 2] | 0;
  73717. l = b;
  73718. return f | 0;
  73719. }
  73720. return 0;
  73721. }
  73722. function Vi(a, b) {
  73723. a = a | 0;
  73724. b = b | 0;
  73725. var d = 0,
  73726. e = 0,
  73727. f = 0;
  73728. d = l;
  73729. l = (l + 16) | 0;
  73730. e = (d + 4) | 0;
  73731. f = d;
  73732. c[e >> 2] = a;
  73733. c[f >> 2] = b;
  73734. b = (Wi() | 0) != 0;
  73735. a = c[e >> 2] | 0;
  73736. e = c[f >> 2] | 0;
  73737. if (b) {
  73738. Xi(a, e);
  73739. l = d;
  73740. return;
  73741. } else {
  73742. Yi(a, e, 0);
  73743. l = d;
  73744. return;
  73745. }
  73746. }
  73747. function Wi() {
  73748. return 1;
  73749. }
  73750. function Xi(a, b) {
  73751. a = a | 0;
  73752. b = b | 0;
  73753. var d = 0,
  73754. e = 0,
  73755. f = 0;
  73756. d = l;
  73757. l = (l + 16) | 0;
  73758. e = (d + 4) | 0;
  73759. f = d;
  73760. c[e >> 2] = a;
  73761. c[f >> 2] = b;
  73762. b = (Zi() | 0) != 0;
  73763. a = c[e >> 2] | 0;
  73764. e = c[f >> 2] | 0;
  73765. if (b) {
  73766. aj(a, e);
  73767. l = d;
  73768. return;
  73769. } else {
  73770. aj(a, bj(e) | 0);
  73771. l = d;
  73772. return;
  73773. }
  73774. }
  73775. function Yi(a, b, d) {
  73776. a = a | 0;
  73777. b = b | 0;
  73778. d = d | 0;
  73779. var e = 0,
  73780. f = 0,
  73781. g = 0;
  73782. e = l;
  73783. l = (l + 16) | 0;
  73784. f = (e + 8) | 0;
  73785. g = e;
  73786. c[f >> 2] = a;
  73787. a = g;
  73788. c[a >> 2] = b;
  73789. c[(a + 4) >> 2] = d;
  73790. d = (Zi() | 0) != 0;
  73791. a = c[f >> 2] | 0;
  73792. f = g;
  73793. g = c[f >> 2] | 0;
  73794. b = c[(f + 4) >> 2] | 0;
  73795. if (d) {
  73796. _i(a, g, b);
  73797. l = e;
  73798. return;
  73799. } else {
  73800. d = $i(g, b) | 0;
  73801. _i(a, d, y);
  73802. l = e;
  73803. return;
  73804. }
  73805. }
  73806. function Zi() {
  73807. return d[11936] | 0 | 0;
  73808. }
  73809. function _i(b, d, e) {
  73810. b = b | 0;
  73811. d = d | 0;
  73812. e = e | 0;
  73813. var f = 0,
  73814. g = 0,
  73815. h = 0;
  73816. f = l;
  73817. l = (l + 16) | 0;
  73818. g = (f + 8) | 0;
  73819. h = f;
  73820. c[g >> 2] = b;
  73821. b = h;
  73822. c[b >> 2] = d;
  73823. c[(b + 4) >> 2] = e;
  73824. e = h;
  73825. h = c[e >> 2] | 0;
  73826. b = c[(e + 4) >> 2] | 0;
  73827. e = c[g >> 2] | 0;
  73828. g = e;
  73829. a[g >> 0] = h;
  73830. a[(g + 1) >> 0] = h >> 8;
  73831. a[(g + 2) >> 0] = h >> 16;
  73832. a[(g + 3) >> 0] = h >> 24;
  73833. h = (e + 4) | 0;
  73834. a[h >> 0] = b;
  73835. a[(h + 1) >> 0] = b >> 8;
  73836. a[(h + 2) >> 0] = b >> 16;
  73837. a[(h + 3) >> 0] = b >> 24;
  73838. l = f;
  73839. return;
  73840. }
  73841. function $i(a, b) {
  73842. a = a | 0;
  73843. b = b | 0;
  73844. var d = 0,
  73845. e = 0,
  73846. f = 0,
  73847. g = 0,
  73848. h = 0;
  73849. d = l;
  73850. l = (l + 16) | 0;
  73851. e = d;
  73852. f = e;
  73853. c[f >> 2] = a;
  73854. c[(f + 4) >> 2] = b;
  73855. b = e;
  73856. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  73857. b = y & -16777216;
  73858. f = e;
  73859. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  73860. f = b | (y & 16711680);
  73861. b = e;
  73862. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  73863. b = f | (y & 65280);
  73864. f = e;
  73865. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  73866. f = b | (y & 255);
  73867. b = e;
  73868. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  73869. b = e;
  73870. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  73871. b = e;
  73872. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  73873. b = e;
  73874. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  73875. y = f;
  73876. l = d;
  73877. return (
  73878. (a & -16777216) |
  73879. (g & 16711680) |
  73880. (h & 65280) |
  73881. (e & 255) |
  73882. 0
  73883. );
  73884. }
  73885. function aj(b, d) {
  73886. b = b | 0;
  73887. d = d | 0;
  73888. var e = 0,
  73889. f = 0,
  73890. g = 0;
  73891. e = l;
  73892. l = (l + 16) | 0;
  73893. f = (e + 4) | 0;
  73894. g = e;
  73895. c[f >> 2] = b;
  73896. c[g >> 2] = d;
  73897. d = c[g >> 2] | 0;
  73898. g = c[f >> 2] | 0;
  73899. a[g >> 0] = d;
  73900. a[(g + 1) >> 0] = d >> 8;
  73901. a[(g + 2) >> 0] = d >> 16;
  73902. a[(g + 3) >> 0] = d >> 24;
  73903. l = e;
  73904. return;
  73905. }
  73906. function bj(a) {
  73907. a = a | 0;
  73908. var b = 0,
  73909. d = 0;
  73910. b = l;
  73911. l = (l + 16) | 0;
  73912. d = b;
  73913. c[d >> 2] = a;
  73914. l = b;
  73915. return (
  73916. ((c[d >> 2] << 24) & -16777216) |
  73917. ((c[d >> 2] << 8) & 16711680) |
  73918. (((c[d >> 2] | 0) >>> 8) & 65280) |
  73919. (((c[d >> 2] | 0) >>> 24) & 255) |
  73920. 0
  73921. );
  73922. }
  73923. function cj(a, b, d, e, f, g) {
  73924. a = a | 0;
  73925. b = b | 0;
  73926. d = d | 0;
  73927. e = e | 0;
  73928. f = f | 0;
  73929. g = g | 0;
  73930. var h = 0,
  73931. i = 0,
  73932. j = 0,
  73933. k = 0,
  73934. m = 0,
  73935. n = 0,
  73936. o = 0,
  73937. p = 0,
  73938. q = 0,
  73939. r = 0,
  73940. s = 0,
  73941. t = 0,
  73942. u = 0,
  73943. v = 0,
  73944. w = 0,
  73945. x = 0,
  73946. y = 0,
  73947. z = 0,
  73948. A = 0;
  73949. h = l;
  73950. l = (l + 80) | 0;
  73951. i = (h + 64) | 0;
  73952. j = (h + 60) | 0;
  73953. k = (h + 56) | 0;
  73954. m = (h + 52) | 0;
  73955. n = (h + 48) | 0;
  73956. o = (h + 44) | 0;
  73957. p = (h + 40) | 0;
  73958. q = (h + 36) | 0;
  73959. r = (h + 32) | 0;
  73960. s = (h + 28) | 0;
  73961. t = (h + 24) | 0;
  73962. u = (h + 20) | 0;
  73963. v = (h + 16) | 0;
  73964. w = (h + 12) | 0;
  73965. x = (h + 8) | 0;
  73966. y = (h + 4) | 0;
  73967. z = h;
  73968. c[j >> 2] = a;
  73969. c[k >> 2] = b;
  73970. c[m >> 2] = d;
  73971. c[n >> 2] = e;
  73972. c[o >> 2] = f;
  73973. c[p >> 2] = g;
  73974. c[q >> 2] = (((((c[n >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
  73975. c[r >> 2] = c[m >> 2];
  73976. c[s >> 2] = (c[r >> 2] | 0) + (c[n >> 2] | 0);
  73977. c[t >> 2] = c[j >> 2];
  73978. c[u >> 2] = (c[t >> 2] | 0) + (c[k >> 2] | 0);
  73979. c[v >> 2] = c[t >> 2];
  73980. if ((c[k >> 2] | 0) >>> 0 < 17) {
  73981. c[i >> 2] = 0;
  73982. A = c[i >> 2] | 0;
  73983. l = h;
  73984. return A | 0;
  73985. }
  73986. if ((c[n >> 2] | 0) >>> 0 < 12) {
  73987. c[i >> 2] = 0;
  73988. A = c[i >> 2] | 0;
  73989. l = h;
  73990. return A | 0;
  73991. }
  73992. c[v >> 2] = (c[v >> 2] | 0) + 6;
  73993. c[w >> 2] =
  73994. Oi(
  73995. c[v >> 2] | 0,
  73996. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  73997. c[r >> 2] | 0,
  73998. c[q >> 2] | 0,
  73999. c[o >> 2] | 0,
  74000. c[p >> 2] | 0
  74001. ) | 0;
  74002. n = (Hi(c[w >> 2] | 0) | 0) != 0;
  74003. k = c[w >> 2] | 0;
  74004. if (n) {
  74005. c[i >> 2] = k;
  74006. A = c[i >> 2] | 0;
  74007. l = h;
  74008. return A | 0;
  74009. }
  74010. if (!k) {
  74011. c[i >> 2] = 0;
  74012. A = c[i >> 2] | 0;
  74013. l = h;
  74014. return A | 0;
  74015. }
  74016. dj(c[t >> 2] | 0, c[w >> 2] & 65535);
  74017. c[v >> 2] = (c[v >> 2] | 0) + (c[w >> 2] | 0);
  74018. c[r >> 2] = (c[r >> 2] | 0) + (c[q >> 2] | 0);
  74019. c[x >> 2] =
  74020. Oi(
  74021. c[v >> 2] | 0,
  74022. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  74023. c[r >> 2] | 0,
  74024. c[q >> 2] | 0,
  74025. c[o >> 2] | 0,
  74026. c[p >> 2] | 0
  74027. ) | 0;
  74028. w = (Hi(c[x >> 2] | 0) | 0) != 0;
  74029. k = c[x >> 2] | 0;
  74030. if (w) {
  74031. c[i >> 2] = k;
  74032. A = c[i >> 2] | 0;
  74033. l = h;
  74034. return A | 0;
  74035. }
  74036. if (!k) {
  74037. c[i >> 2] = 0;
  74038. A = c[i >> 2] | 0;
  74039. l = h;
  74040. return A | 0;
  74041. }
  74042. dj(((c[t >> 2] | 0) + 2) | 0, c[x >> 2] & 65535);
  74043. c[v >> 2] = (c[v >> 2] | 0) + (c[x >> 2] | 0);
  74044. c[r >> 2] = (c[r >> 2] | 0) + (c[q >> 2] | 0);
  74045. c[y >> 2] =
  74046. Oi(
  74047. c[v >> 2] | 0,
  74048. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  74049. c[r >> 2] | 0,
  74050. c[q >> 2] | 0,
  74051. c[o >> 2] | 0,
  74052. c[p >> 2] | 0
  74053. ) | 0;
  74054. x = (Hi(c[y >> 2] | 0) | 0) != 0;
  74055. k = c[y >> 2] | 0;
  74056. if (x) {
  74057. c[i >> 2] = k;
  74058. A = c[i >> 2] | 0;
  74059. l = h;
  74060. return A | 0;
  74061. }
  74062. if (!k) {
  74063. c[i >> 2] = 0;
  74064. A = c[i >> 2] | 0;
  74065. l = h;
  74066. return A | 0;
  74067. }
  74068. dj(((c[t >> 2] | 0) + 4) | 0, c[y >> 2] & 65535);
  74069. c[v >> 2] = (c[v >> 2] | 0) + (c[y >> 2] | 0);
  74070. c[r >> 2] = (c[r >> 2] | 0) + (c[q >> 2] | 0);
  74071. c[z >> 2] =
  74072. Oi(
  74073. c[v >> 2] | 0,
  74074. ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
  74075. c[r >> 2] | 0,
  74076. ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
  74077. c[o >> 2] | 0,
  74078. c[p >> 2] | 0
  74079. ) | 0;
  74080. p = (Hi(c[z >> 2] | 0) | 0) != 0;
  74081. o = c[z >> 2] | 0;
  74082. if (p) {
  74083. c[i >> 2] = o;
  74084. A = c[i >> 2] | 0;
  74085. l = h;
  74086. return A | 0;
  74087. }
  74088. if (!o) {
  74089. c[i >> 2] = 0;
  74090. A = c[i >> 2] | 0;
  74091. l = h;
  74092. return A | 0;
  74093. } else {
  74094. c[v >> 2] = (c[v >> 2] | 0) + (c[z >> 2] | 0);
  74095. c[i >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
  74096. A = c[i >> 2] | 0;
  74097. l = h;
  74098. return A | 0;
  74099. }
  74100. return 0;
  74101. }
  74102. function dj(d, f) {
  74103. d = d | 0;
  74104. f = f | 0;
  74105. var g = 0,
  74106. h = 0,
  74107. i = 0,
  74108. j = 0;
  74109. g = l;
  74110. l = (l + 16) | 0;
  74111. h = (g + 4) | 0;
  74112. i = (g + 8) | 0;
  74113. j = g;
  74114. c[h >> 2] = d;
  74115. b[i >> 1] = f;
  74116. f = (Zi() | 0) != 0;
  74117. d = c[h >> 2] | 0;
  74118. if (f) {
  74119. ej(d, b[i >> 1] | 0);
  74120. l = g;
  74121. return;
  74122. } else {
  74123. c[j >> 2] = d;
  74124. a[c[j >> 2] >> 0] = b[i >> 1];
  74125. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  74126. l = g;
  74127. return;
  74128. }
  74129. }
  74130. function ej(d, e) {
  74131. d = d | 0;
  74132. e = e | 0;
  74133. var f = 0,
  74134. g = 0,
  74135. h = 0;
  74136. f = l;
  74137. l = (l + 16) | 0;
  74138. g = f;
  74139. h = (f + 4) | 0;
  74140. c[g >> 2] = d;
  74141. b[h >> 1] = e;
  74142. e = b[h >> 1] | 0;
  74143. h = c[g >> 2] | 0;
  74144. a[h >> 0] = e;
  74145. a[(h + 1) >> 0] = e >> 8;
  74146. l = f;
  74147. return;
  74148. }
  74149. function fj(b, d, e, f, g, h, i, j, k, m, n, o, p) {
  74150. b = b | 0;
  74151. d = d | 0;
  74152. e = e | 0;
  74153. f = f | 0;
  74154. g = g | 0;
  74155. h = h | 0;
  74156. i = i | 0;
  74157. j = j | 0;
  74158. k = k | 0;
  74159. m = m | 0;
  74160. n = n | 0;
  74161. o = o | 0;
  74162. p = p | 0;
  74163. var q = 0,
  74164. r = 0,
  74165. s = 0,
  74166. t = 0,
  74167. u = 0,
  74168. v = 0,
  74169. w = 0,
  74170. x = 0,
  74171. y = 0,
  74172. z = 0,
  74173. A = 0,
  74174. B = 0,
  74175. C = 0,
  74176. D = 0,
  74177. E = 0,
  74178. F = 0,
  74179. G = 0,
  74180. H = 0,
  74181. I = 0,
  74182. J = 0,
  74183. K = 0,
  74184. L = 0,
  74185. M = 0,
  74186. N = 0,
  74187. O = 0;
  74188. q = l;
  74189. l = (l + 96) | 0;
  74190. r = (q + 88) | 0;
  74191. s = (q + 84) | 0;
  74192. t = (q + 80) | 0;
  74193. u = (q + 76) | 0;
  74194. v = (q + 72) | 0;
  74195. w = (q + 68) | 0;
  74196. x = (q + 64) | 0;
  74197. y = (q + 60) | 0;
  74198. z = (q + 56) | 0;
  74199. A = (q + 52) | 0;
  74200. B = (q + 48) | 0;
  74201. C = (q + 44) | 0;
  74202. D = (q + 40) | 0;
  74203. E = (q + 36) | 0;
  74204. F = (q + 32) | 0;
  74205. G = (q + 28) | 0;
  74206. H = (q + 24) | 0;
  74207. I = (q + 20) | 0;
  74208. J = (q + 16) | 0;
  74209. K = (q + 12) | 0;
  74210. L = (q + 8) | 0;
  74211. M = (q + 4) | 0;
  74212. N = q;
  74213. c[s >> 2] = b;
  74214. c[t >> 2] = d;
  74215. c[u >> 2] = e;
  74216. c[v >> 2] = f;
  74217. c[w >> 2] = g;
  74218. c[x >> 2] = h;
  74219. c[y >> 2] = i;
  74220. c[z >> 2] = j;
  74221. c[A >> 2] = k;
  74222. c[B >> 2] = m;
  74223. c[C >> 2] = n;
  74224. c[D >> 2] = o;
  74225. c[E >> 2] = p;
  74226. c[F >> 2] = c[z >> 2];
  74227. c[G >> 2] = c[s >> 2];
  74228. c[H >> 2] = (c[G >> 2] | 0) + (c[t >> 2] | 0);
  74229. c[I >> 2] = c[G >> 2];
  74230. if ((c[z >> 2] & 3) | 0) {
  74231. c[r >> 2] = -1;
  74232. O = c[r >> 2] | 0;
  74233. l = q;
  74234. return O | 0;
  74235. }
  74236. if ((c[A >> 2] | 0) >>> 0 < 6144) {
  74237. c[r >> 2] = -66;
  74238. O = c[r >> 2] | 0;
  74239. l = q;
  74240. return O | 0;
  74241. }
  74242. if (!(c[v >> 2] | 0)) {
  74243. c[r >> 2] = 0;
  74244. O = c[r >> 2] | 0;
  74245. l = q;
  74246. return O | 0;
  74247. }
  74248. if (!(c[t >> 2] | 0)) {
  74249. c[r >> 2] = 0;
  74250. O = c[r >> 2] | 0;
  74251. l = q;
  74252. return O | 0;
  74253. }
  74254. if ((c[v >> 2] | 0) >>> 0 > 131072) {
  74255. c[r >> 2] = -72;
  74256. O = c[r >> 2] | 0;
  74257. l = q;
  74258. return O | 0;
  74259. }
  74260. if ((c[x >> 2] | 0) >>> 0 > 12) {
  74261. c[r >> 2] = -44;
  74262. O = c[r >> 2] | 0;
  74263. l = q;
  74264. return O | 0;
  74265. }
  74266. if ((c[w >> 2] | 0) >>> 0 > 255) {
  74267. c[r >> 2] = -46;
  74268. O = c[r >> 2] | 0;
  74269. l = q;
  74270. return O | 0;
  74271. }
  74272. if (!(c[w >> 2] | 0)) c[w >> 2] = 255;
  74273. if (!(c[x >> 2] | 0)) c[x >> 2] = 11;
  74274. if (
  74275. ((c[D >> 2] | 0) != 0) & ((c[C >> 2] | 0) != 0)
  74276. ? (c[c[C >> 2] >> 2] | 0) == 2
  74277. : 0
  74278. ) {
  74279. c[r >> 2] =
  74280. gj(
  74281. c[G >> 2] | 0,
  74282. c[I >> 2] | 0,
  74283. c[H >> 2] | 0,
  74284. c[u >> 2] | 0,
  74285. c[v >> 2] | 0,
  74286. c[y >> 2] | 0,
  74287. c[B >> 2] | 0,
  74288. c[E >> 2] | 0
  74289. ) | 0;
  74290. O = c[r >> 2] | 0;
  74291. l = q;
  74292. return O | 0;
  74293. }
  74294. c[J >> 2] =
  74295. bi(
  74296. c[F >> 2] | 0,
  74297. w,
  74298. c[u >> 2] | 0,
  74299. c[v >> 2] | 0,
  74300. c[F >> 2] | 0
  74301. ) | 0;
  74302. A = (Hi(c[J >> 2] | 0) | 0) != 0;
  74303. z = c[J >> 2] | 0;
  74304. if (A) {
  74305. c[r >> 2] = z;
  74306. O = c[r >> 2] | 0;
  74307. l = q;
  74308. return O | 0;
  74309. }
  74310. if ((z | 0) == (c[v >> 2] | 0)) {
  74311. a[c[G >> 2] >> 0] = a[c[u >> 2] >> 0] | 0;
  74312. c[r >> 2] = 1;
  74313. O = c[r >> 2] | 0;
  74314. l = q;
  74315. return O | 0;
  74316. }
  74317. if (
  74318. (c[J >> 2] | 0) >>> 0 <=
  74319. ((((c[v >> 2] | 0) >>> 7) + 1) | 0) >>> 0
  74320. ) {
  74321. c[r >> 2] = 0;
  74322. O = c[r >> 2] | 0;
  74323. l = q;
  74324. return O | 0;
  74325. }
  74326. if (
  74327. (c[C >> 2] | 0 ? (c[c[C >> 2] >> 2] | 0) == 1 : 0)
  74328. ? (hj(c[B >> 2] | 0, c[F >> 2] | 0, c[w >> 2] | 0) | 0) ==
  74329. 0
  74330. : 0
  74331. )
  74332. c[c[C >> 2] >> 2] = 0;
  74333. if (
  74334. ((c[D >> 2] | 0) != 0) & ((c[C >> 2] | 0) != 0)
  74335. ? c[c[C >> 2] >> 2] | 0
  74336. : 0
  74337. ) {
  74338. c[r >> 2] =
  74339. gj(
  74340. c[G >> 2] | 0,
  74341. c[I >> 2] | 0,
  74342. c[H >> 2] | 0,
  74343. c[u >> 2] | 0,
  74344. c[v >> 2] | 0,
  74345. c[y >> 2] | 0,
  74346. c[B >> 2] | 0,
  74347. c[E >> 2] | 0
  74348. ) | 0;
  74349. O = c[r >> 2] | 0;
  74350. l = q;
  74351. return O | 0;
  74352. }
  74353. c[x >> 2] =
  74354. Fi(c[x >> 2] | 0, c[v >> 2] | 0, c[w >> 2] | 0) | 0;
  74355. c[K >> 2] =
  74356. Ki(
  74357. ((c[F >> 2] | 0) + 1024) | 0,
  74358. c[F >> 2] | 0,
  74359. c[w >> 2] | 0,
  74360. c[x >> 2] | 0,
  74361. ((c[F >> 2] | 0) + 2048) | 0,
  74362. 4096
  74363. ) | 0;
  74364. D = (Hi(c[K >> 2] | 0) | 0) != 0;
  74365. J = c[K >> 2] | 0;
  74366. if (D) {
  74367. c[r >> 2] = J;
  74368. O = c[r >> 2] | 0;
  74369. l = q;
  74370. return O | 0;
  74371. }
  74372. c[x >> 2] = J;
  74373. oE(
  74374. ((c[F >> 2] | 0) + 1024 + (((c[w >> 2] | 0) + 1) << 2)) | 0,
  74375. 0,
  74376. (1024 - (((c[w >> 2] | 0) + 1) << 2)) | 0
  74377. ) | 0;
  74378. c[L >> 2] =
  74379. Ii(
  74380. c[I >> 2] | 0,
  74381. c[t >> 2] | 0,
  74382. ((c[F >> 2] | 0) + 1024) | 0,
  74383. c[w >> 2] | 0,
  74384. c[x >> 2] | 0
  74385. ) | 0;
  74386. if (Hi(c[L >> 2] | 0) | 0) {
  74387. c[r >> 2] = c[L >> 2];
  74388. O = c[r >> 2] | 0;
  74389. l = q;
  74390. return O | 0;
  74391. }
  74392. do {
  74393. if (c[C >> 2] | 0 ? c[c[C >> 2] >> 2] | 0 : 0) {
  74394. c[M >> 2] =
  74395. ij(c[B >> 2] | 0, c[F >> 2] | 0, c[w >> 2] | 0) | 0;
  74396. c[N >> 2] =
  74397. ij(
  74398. ((c[F >> 2] | 0) + 1024) | 0,
  74399. c[F >> 2] | 0,
  74400. c[w >> 2] | 0
  74401. ) | 0;
  74402. if (
  74403. (c[M >> 2] | 0) >>> 0 >
  74404. (((c[L >> 2] | 0) + (c[N >> 2] | 0)) | 0) >>> 0
  74405. ? (((c[L >> 2] | 0) + 12) | 0) >>> 0 <
  74406. (c[v >> 2] | 0) >>> 0
  74407. : 0
  74408. )
  74409. break;
  74410. c[r >> 2] =
  74411. gj(
  74412. c[G >> 2] | 0,
  74413. c[I >> 2] | 0,
  74414. c[H >> 2] | 0,
  74415. c[u >> 2] | 0,
  74416. c[v >> 2] | 0,
  74417. c[y >> 2] | 0,
  74418. c[B >> 2] | 0,
  74419. c[E >> 2] | 0
  74420. ) | 0;
  74421. O = c[r >> 2] | 0;
  74422. l = q;
  74423. return O | 0;
  74424. }
  74425. } while (0);
  74426. if (
  74427. (((c[L >> 2] | 0) + 12) | 0) >>> 0 >=
  74428. (c[v >> 2] | 0) >>> 0
  74429. ) {
  74430. c[r >> 2] = 0;
  74431. O = c[r >> 2] | 0;
  74432. l = q;
  74433. return O | 0;
  74434. }
  74435. c[I >> 2] = (c[I >> 2] | 0) + (c[L >> 2] | 0);
  74436. if (c[C >> 2] | 0) c[c[C >> 2] >> 2] = 0;
  74437. if (c[B >> 2] | 0)
  74438. mE(c[B >> 2] | 0, ((c[F >> 2] | 0) + 1024) | 0, 1024) | 0;
  74439. c[r >> 2] =
  74440. gj(
  74441. c[G >> 2] | 0,
  74442. c[I >> 2] | 0,
  74443. c[H >> 2] | 0,
  74444. c[u >> 2] | 0,
  74445. c[v >> 2] | 0,
  74446. c[y >> 2] | 0,
  74447. ((c[F >> 2] | 0) + 1024) | 0,
  74448. c[E >> 2] | 0
  74449. ) | 0;
  74450. O = c[r >> 2] | 0;
  74451. l = q;
  74452. return O | 0;
  74453. }
  74454. function gj(a, b, d, e, f, g, h, i) {
  74455. a = a | 0;
  74456. b = b | 0;
  74457. d = d | 0;
  74458. e = e | 0;
  74459. f = f | 0;
  74460. g = g | 0;
  74461. h = h | 0;
  74462. i = i | 0;
  74463. var j = 0,
  74464. k = 0,
  74465. m = 0,
  74466. n = 0,
  74467. o = 0,
  74468. p = 0,
  74469. q = 0,
  74470. r = 0,
  74471. s = 0,
  74472. t = 0,
  74473. u = 0,
  74474. v = 0,
  74475. w = 0;
  74476. j = l;
  74477. l = (l + 48) | 0;
  74478. k = (j + 36) | 0;
  74479. m = (j + 32) | 0;
  74480. n = (j + 28) | 0;
  74481. o = (j + 24) | 0;
  74482. p = (j + 20) | 0;
  74483. q = (j + 16) | 0;
  74484. r = (j + 12) | 0;
  74485. s = (j + 8) | 0;
  74486. t = (j + 4) | 0;
  74487. u = j;
  74488. c[m >> 2] = a;
  74489. c[n >> 2] = b;
  74490. c[o >> 2] = d;
  74491. c[p >> 2] = e;
  74492. c[q >> 2] = f;
  74493. c[r >> 2] = g;
  74494. c[s >> 2] = h;
  74495. c[t >> 2] = i;
  74496. i = c[n >> 2] | 0;
  74497. h = ((c[o >> 2] | 0) - (c[n >> 2] | 0)) | 0;
  74498. o = c[p >> 2] | 0;
  74499. p = c[q >> 2] | 0;
  74500. g = c[s >> 2] | 0;
  74501. s = c[t >> 2] | 0;
  74502. if (c[r >> 2] | 0) v = Oi(i, h, o, p, g, s) | 0;
  74503. else v = cj(i, h, o, p, g, s) | 0;
  74504. c[u >> 2] = v;
  74505. v = (Hi(c[u >> 2] | 0) | 0) != 0;
  74506. s = c[u >> 2] | 0;
  74507. if (v) {
  74508. c[k >> 2] = s;
  74509. w = c[k >> 2] | 0;
  74510. l = j;
  74511. return w | 0;
  74512. }
  74513. if (!s) {
  74514. c[k >> 2] = 0;
  74515. w = c[k >> 2] | 0;
  74516. l = j;
  74517. return w | 0;
  74518. }
  74519. c[n >> 2] = (c[n >> 2] | 0) + (c[u >> 2] | 0);
  74520. if (
  74521. (((c[n >> 2] | 0) - (c[m >> 2] | 0)) | 0) >>> 0 >=
  74522. (((c[q >> 2] | 0) - 1) | 0) >>> 0
  74523. ) {
  74524. c[k >> 2] = 0;
  74525. w = c[k >> 2] | 0;
  74526. l = j;
  74527. return w | 0;
  74528. } else {
  74529. c[k >> 2] = (c[n >> 2] | 0) - (c[m >> 2] | 0);
  74530. w = c[k >> 2] | 0;
  74531. l = j;
  74532. return w | 0;
  74533. }
  74534. return 0;
  74535. }
  74536. function hj(a, b, e) {
  74537. a = a | 0;
  74538. b = b | 0;
  74539. e = e | 0;
  74540. var f = 0,
  74541. g = 0,
  74542. h = 0,
  74543. i = 0,
  74544. j = 0,
  74545. k = 0;
  74546. f = l;
  74547. l = (l + 32) | 0;
  74548. g = (f + 16) | 0;
  74549. h = (f + 12) | 0;
  74550. i = (f + 8) | 0;
  74551. j = (f + 4) | 0;
  74552. k = f;
  74553. c[g >> 2] = a;
  74554. c[h >> 2] = b;
  74555. c[i >> 2] = e;
  74556. c[j >> 2] = 0;
  74557. c[k >> 2] = 0;
  74558. while (1) {
  74559. if ((c[k >> 2] | 0) > (c[i >> 2] | 0)) break;
  74560. c[j >> 2] =
  74561. c[j >> 2] |
  74562. (c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0
  74563. ? (d[((c[g >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] |
  74564. 0 |
  74565. 0) ==
  74566. 0
  74567. : 0);
  74568. c[k >> 2] = (c[k >> 2] | 0) + 1;
  74569. }
  74570. l = f;
  74571. return ((((c[j >> 2] | 0) != 0) ^ 1) & 1) | 0;
  74572. }
  74573. function ij(a, b, e) {
  74574. a = a | 0;
  74575. b = b | 0;
  74576. e = e | 0;
  74577. var f = 0,
  74578. g = 0,
  74579. h = 0,
  74580. i = 0,
  74581. j = 0,
  74582. k = 0;
  74583. f = l;
  74584. l = (l + 32) | 0;
  74585. g = (f + 16) | 0;
  74586. h = (f + 12) | 0;
  74587. i = (f + 8) | 0;
  74588. j = (f + 4) | 0;
  74589. k = f;
  74590. c[g >> 2] = a;
  74591. c[h >> 2] = b;
  74592. c[i >> 2] = e;
  74593. c[j >> 2] = 0;
  74594. c[k >> 2] = 0;
  74595. while (1) {
  74596. if ((c[k >> 2] | 0) > (c[i >> 2] | 0)) break;
  74597. e =
  74598. N(
  74599. d[((c[g >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] | 0,
  74600. c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0
  74601. ) | 0;
  74602. c[j >> 2] = (c[j >> 2] | 0) + e;
  74603. c[k >> 2] = (c[k >> 2] | 0) + 1;
  74604. }
  74605. l = f;
  74606. return ((c[j >> 2] | 0) >>> 3) | 0;
  74607. }
  74608. function jj(a, b, d, e, f, g, h, i, j, k, m, n) {
  74609. a = a | 0;
  74610. b = b | 0;
  74611. d = d | 0;
  74612. e = e | 0;
  74613. f = f | 0;
  74614. g = g | 0;
  74615. h = h | 0;
  74616. i = i | 0;
  74617. j = j | 0;
  74618. k = k | 0;
  74619. m = m | 0;
  74620. n = n | 0;
  74621. var o = 0,
  74622. p = 0,
  74623. q = 0,
  74624. r = 0,
  74625. s = 0,
  74626. t = 0,
  74627. u = 0,
  74628. v = 0,
  74629. w = 0,
  74630. x = 0,
  74631. y = 0,
  74632. z = 0,
  74633. A = 0;
  74634. o = l;
  74635. l = (l + 48) | 0;
  74636. p = (o + 44) | 0;
  74637. q = (o + 40) | 0;
  74638. r = (o + 36) | 0;
  74639. s = (o + 32) | 0;
  74640. t = (o + 28) | 0;
  74641. u = (o + 24) | 0;
  74642. v = (o + 20) | 0;
  74643. w = (o + 16) | 0;
  74644. x = (o + 12) | 0;
  74645. y = (o + 8) | 0;
  74646. z = (o + 4) | 0;
  74647. A = o;
  74648. c[p >> 2] = a;
  74649. c[q >> 2] = b;
  74650. c[r >> 2] = d;
  74651. c[s >> 2] = e;
  74652. c[t >> 2] = f;
  74653. c[u >> 2] = g;
  74654. c[v >> 2] = h;
  74655. c[w >> 2] = i;
  74656. c[x >> 2] = j;
  74657. c[y >> 2] = k;
  74658. c[z >> 2] = m;
  74659. c[A >> 2] = n;
  74660. n =
  74661. fj(
  74662. c[p >> 2] | 0,
  74663. c[q >> 2] | 0,
  74664. c[r >> 2] | 0,
  74665. c[s >> 2] | 0,
  74666. c[t >> 2] | 0,
  74667. c[u >> 2] | 0,
  74668. 1,
  74669. c[v >> 2] | 0,
  74670. c[w >> 2] | 0,
  74671. c[x >> 2] | 0,
  74672. c[y >> 2] | 0,
  74673. c[z >> 2] | 0,
  74674. c[A >> 2] | 0
  74675. ) | 0;
  74676. l = o;
  74677. return n | 0;
  74678. }
  74679. function kj(a, b, d, e, f, g, h, i, j, k, m, n) {
  74680. a = a | 0;
  74681. b = b | 0;
  74682. d = d | 0;
  74683. e = e | 0;
  74684. f = f | 0;
  74685. g = g | 0;
  74686. h = h | 0;
  74687. i = i | 0;
  74688. j = j | 0;
  74689. k = k | 0;
  74690. m = m | 0;
  74691. n = n | 0;
  74692. var o = 0,
  74693. p = 0,
  74694. q = 0,
  74695. r = 0,
  74696. s = 0,
  74697. t = 0,
  74698. u = 0,
  74699. v = 0,
  74700. w = 0,
  74701. x = 0,
  74702. y = 0,
  74703. z = 0,
  74704. A = 0;
  74705. o = l;
  74706. l = (l + 48) | 0;
  74707. p = (o + 44) | 0;
  74708. q = (o + 40) | 0;
  74709. r = (o + 36) | 0;
  74710. s = (o + 32) | 0;
  74711. t = (o + 28) | 0;
  74712. u = (o + 24) | 0;
  74713. v = (o + 20) | 0;
  74714. w = (o + 16) | 0;
  74715. x = (o + 12) | 0;
  74716. y = (o + 8) | 0;
  74717. z = (o + 4) | 0;
  74718. A = o;
  74719. c[p >> 2] = a;
  74720. c[q >> 2] = b;
  74721. c[r >> 2] = d;
  74722. c[s >> 2] = e;
  74723. c[t >> 2] = f;
  74724. c[u >> 2] = g;
  74725. c[v >> 2] = h;
  74726. c[w >> 2] = i;
  74727. c[x >> 2] = j;
  74728. c[y >> 2] = k;
  74729. c[z >> 2] = m;
  74730. c[A >> 2] = n;
  74731. n =
  74732. fj(
  74733. c[p >> 2] | 0,
  74734. c[q >> 2] | 0,
  74735. c[r >> 2] | 0,
  74736. c[s >> 2] | 0,
  74737. c[t >> 2] | 0,
  74738. c[u >> 2] | 0,
  74739. 0,
  74740. c[v >> 2] | 0,
  74741. c[w >> 2] | 0,
  74742. c[x >> 2] | 0,
  74743. c[y >> 2] | 0,
  74744. c[z >> 2] | 0,
  74745. c[A >> 2] | 0
  74746. ) | 0;
  74747. l = o;
  74748. return n | 0;
  74749. }
  74750. function lj(a) {
  74751. a = a | 0;
  74752. var b = 0,
  74753. d = 0,
  74754. e = 0,
  74755. f = 0;
  74756. b = l;
  74757. l = (l + 16) | 0;
  74758. d = b;
  74759. c[d >> 2] = a;
  74760. a = ((c[d >> 2] | 0) + ((c[d >> 2] | 0) >>> 8)) | 0;
  74761. if ((c[d >> 2] | 0) >>> 0 >= 131072) {
  74762. e = 0;
  74763. f = (a + e) | 0;
  74764. l = b;
  74765. return f | 0;
  74766. }
  74767. e = ((131072 - (c[d >> 2] | 0)) | 0) >>> 11;
  74768. f = (a + e) | 0;
  74769. l = b;
  74770. return f | 0;
  74771. }
  74772. function mj() {
  74773. var a = 0,
  74774. b = 0,
  74775. d = 0;
  74776. a = l;
  74777. l = (l + 16) | 0;
  74778. b = a;
  74779. c[b >> 2] = c[5406];
  74780. c[(b + 4) >> 2] = c[5407];
  74781. c[(b + 8) >> 2] = c[5408];
  74782. d = nj(b) | 0;
  74783. l = a;
  74784. return d | 0;
  74785. }
  74786. function nj(a) {
  74787. a = a | 0;
  74788. var b = 0,
  74789. d = 0,
  74790. e = 0,
  74791. f = 0,
  74792. g = 0,
  74793. h = 0,
  74794. i = 0;
  74795. b = l;
  74796. l = (l + 48) | 0;
  74797. d = (b + 24) | 0;
  74798. e = (b + 20) | 0;
  74799. f = (b + 16) | 0;
  74800. g = b;
  74801. if (
  74802. (((((c[a >> 2] | 0) != 0) ^ 1) & 1) ^
  74803. ((((c[(a + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
  74804. 0
  74805. ) {
  74806. c[e >> 2] = 0;
  74807. h = c[e >> 2] | 0;
  74808. l = b;
  74809. return h | 0;
  74810. }
  74811. c[d >> 2] = c[a >> 2];
  74812. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  74813. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  74814. c[f >> 2] = Sh(656, d) | 0;
  74815. if (c[f >> 2] | 0) {
  74816. i = ((c[f >> 2] | 0) + 352) | 0;
  74817. c[i >> 2] = c[a >> 2];
  74818. c[(i + 4) >> 2] = c[(a + 4) >> 2];
  74819. c[(i + 8) >> 2] = c[(a + 8) >> 2];
  74820. c[((c[f >> 2] | 0) + 12 + 44) >> 2] = 3;
  74821. c[((c[f >> 2] | 0) + 12 + 32) >> 2] = 1;
  74822. oj(g);
  74823. c[d >> 2] = c[g >> 2];
  74824. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  74825. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  74826. c[(d + 12) >> 2] = c[(g + 12) >> 2];
  74827. g = pj(d) | 0;
  74828. c[((c[f >> 2] | 0) + 8) >> 2] = g;
  74829. c[e >> 2] = c[f >> 2];
  74830. h = c[e >> 2] | 0;
  74831. l = b;
  74832. return h | 0;
  74833. } else {
  74834. c[e >> 2] = 0;
  74835. h = c[e >> 2] | 0;
  74836. l = b;
  74837. return h | 0;
  74838. }
  74839. return 0;
  74840. }
  74841. function oj(a) {
  74842. a = a | 0;
  74843. var b = 0,
  74844. d = 0,
  74845. e = 0,
  74846. f = 0,
  74847. g = 0,
  74848. h = 0;
  74849. b = l;
  74850. l = (l + 32) | 0;
  74851. d = (b + 28) | 0;
  74852. e = (b + 24) | 0;
  74853. f = (b + 20) | 0;
  74854. g = (b + 16) | 0;
  74855. h = b;
  74856. c[d >> 2] = 0;
  74857. c[e >> 2] = 0;
  74858. c[f >> 2] = 0;
  74859. c[g >> 2] = 0;
  74860. c[h >> 2] = c[d >> 2];
  74861. c[(h + 4) >> 2] = c[e >> 2];
  74862. c[(h + 8) >> 2] = c[f >> 2];
  74863. c[(h + 12) >> 2] = c[g >> 2];
  74864. c[a >> 2] = c[h >> 2];
  74865. c[(a + 4) >> 2] = c[(h + 4) >> 2];
  74866. c[(a + 8) >> 2] = c[(h + 8) >> 2];
  74867. c[(a + 12) >> 2] = c[(h + 12) >> 2];
  74868. l = b;
  74869. return;
  74870. }
  74871. function pj(a) {
  74872. a = a | 0;
  74873. return (((c[(a + 8) >> 2] & 256) | 0) != 0) | 0;
  74874. }
  74875. function qj(a) {
  74876. a = a | 0;
  74877. var b = 0,
  74878. d = 0,
  74879. e = 0,
  74880. f = 0,
  74881. g = 0,
  74882. h = 0;
  74883. b = l;
  74884. l = (l + 32) | 0;
  74885. d = (b + 8) | 0;
  74886. e = (b + 4) | 0;
  74887. f = b;
  74888. c[f >> 2] = a;
  74889. if (!(c[f >> 2] | 0)) {
  74890. c[e >> 2] = 0;
  74891. g = c[e >> 2] | 0;
  74892. l = b;
  74893. return g | 0;
  74894. }
  74895. if (c[((c[f >> 2] | 0) + 364) >> 2] | 0) {
  74896. c[e >> 2] = -64;
  74897. g = c[e >> 2] | 0;
  74898. l = b;
  74899. return g | 0;
  74900. } else {
  74901. a = c[((c[f >> 2] | 0) + 224) >> 2] | 0;
  74902. h = ((c[f >> 2] | 0) + 352) | 0;
  74903. c[d >> 2] = c[h >> 2];
  74904. c[(d + 4) >> 2] = c[(h + 4) >> 2];
  74905. c[(d + 8) >> 2] = c[(h + 8) >> 2];
  74906. Th(a, d);
  74907. c[((c[f >> 2] | 0) + 224) >> 2] = 0;
  74908. rj(c[((c[f >> 2] | 0) + 636) >> 2] | 0) | 0;
  74909. c[((c[f >> 2] | 0) + 636) >> 2] = 0;
  74910. a = c[f >> 2] | 0;
  74911. h = ((c[f >> 2] | 0) + 352) | 0;
  74912. c[d >> 2] = c[h >> 2];
  74913. c[(d + 4) >> 2] = c[(h + 4) >> 2];
  74914. c[(d + 8) >> 2] = c[(h + 8) >> 2];
  74915. Th(a, d);
  74916. c[e >> 2] = 0;
  74917. g = c[e >> 2] | 0;
  74918. l = b;
  74919. return g | 0;
  74920. }
  74921. return 0;
  74922. }
  74923. function rj(a) {
  74924. a = a | 0;
  74925. var b = 0,
  74926. d = 0,
  74927. e = 0,
  74928. f = 0,
  74929. g = 0,
  74930. h = 0;
  74931. b = l;
  74932. l = (l + 32) | 0;
  74933. d = (b + 20) | 0;
  74934. e = (b + 16) | 0;
  74935. f = (b + 12) | 0;
  74936. g = b;
  74937. c[f >> 2] = a;
  74938. if (!(c[f >> 2] | 0)) {
  74939. c[e >> 2] = 0;
  74940. h = c[e >> 2] | 0;
  74941. l = b;
  74942. return h | 0;
  74943. } else {
  74944. a = ((c[f >> 2] | 0) + 4748) | 0;
  74945. c[g >> 2] = c[a >> 2];
  74946. c[(g + 4) >> 2] = c[(a + 4) >> 2];
  74947. c[(g + 8) >> 2] = c[(a + 8) >> 2];
  74948. a = c[((c[f >> 2] | 0) + 12) >> 2] | 0;
  74949. c[d >> 2] = c[g >> 2];
  74950. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  74951. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  74952. Th(a, d);
  74953. a = c[c[f >> 2] >> 2] | 0;
  74954. c[d >> 2] = c[g >> 2];
  74955. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  74956. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  74957. Th(a, d);
  74958. a = c[f >> 2] | 0;
  74959. c[d >> 2] = c[g >> 2];
  74960. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  74961. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  74962. Th(a, d);
  74963. c[e >> 2] = 0;
  74964. h = c[e >> 2] | 0;
  74965. l = b;
  74966. return h | 0;
  74967. }
  74968. return 0;
  74969. }
  74970. function sj(a, b, d, e, f) {
  74971. a = a | 0;
  74972. b = b | 0;
  74973. d = d | 0;
  74974. e = e | 0;
  74975. f = f | 0;
  74976. var g = 0,
  74977. h = 0,
  74978. i = 0,
  74979. j = 0,
  74980. k = 0,
  74981. m = 0,
  74982. n = 0,
  74983. o = 0,
  74984. p = 0,
  74985. q = 0,
  74986. r = 0,
  74987. s = 0,
  74988. t = 0,
  74989. u = 0,
  74990. v = 0,
  74991. w = 0,
  74992. x = 0,
  74993. z = 0,
  74994. A = 0;
  74995. g = l;
  74996. l = (l + 96) | 0;
  74997. h = (g + 64) | 0;
  74998. i = (g + 60) | 0;
  74999. j = (g + 8) | 0;
  75000. k = (g + 56) | 0;
  75001. m = (g + 52) | 0;
  75002. n = g;
  75003. o = (g + 48) | 0;
  75004. p = (g + 44) | 0;
  75005. q = (g + 16) | 0;
  75006. c[i >> 2] = b;
  75007. b = j;
  75008. c[b >> 2] = d;
  75009. c[(b + 4) >> 2] = e;
  75010. c[k >> 2] = f;
  75011. f = j;
  75012. c[m >> 2] =
  75013. ((c[f >> 2] | 0) != 0) | ((c[(f + 4) >> 2] | 0) != 0)
  75014. ? 0
  75015. : 500;
  75016. f = j;
  75017. e =
  75018. dE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, c[k >> 2] | 0, 0) |
  75019. 0;
  75020. if (((e | 0) != 0) | ((y | 0) != 0)) {
  75021. e = j;
  75022. f =
  75023. dE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, c[k >> 2] | 0, 0) |
  75024. 0;
  75025. e = dE(f | 0, y | 0, c[m >> 2] | 0, 0) | 0;
  75026. r = e;
  75027. s = y;
  75028. } else {
  75029. r = -1;
  75030. s = -1;
  75031. }
  75032. e = n;
  75033. c[e >> 2] = r;
  75034. c[(e + 4) >> 2] = s;
  75035. s = n;
  75036. e = c[(s + 4) >> 2] | 0;
  75037. r = n;
  75038. m = c[(r + 4) >> 2] | 0;
  75039. f = n;
  75040. n = c[(f + 4) >> 2] | 0;
  75041. c[o >> 2] =
  75042. (((e >>> 0 < 0) |
  75043. (((e | 0) == 0) & ((c[s >> 2] | 0) >>> 0 <= 262144))) &
  75044. 1) +
  75045. (((m >>> 0 < 0) |
  75046. (((m | 0) == 0) & ((c[r >> 2] | 0) >>> 0 <= 131072))) &
  75047. 1) +
  75048. (((n >>> 0 < 0) |
  75049. (((n | 0) == 0) & ((c[f >> 2] | 0) >>> 0 <= 16384))) &
  75050. 1);
  75051. f = c[i >> 2] | 0;
  75052. c[p >> 2] = f;
  75053. n = (c[i >> 2] | 0) == 0 ? 3 : f;
  75054. c[p >> 2] = n;
  75055. f = (c[i >> 2] | 0) < 0 ? 0 : n;
  75056. c[p >> 2] = f;
  75057. c[p >> 2] = (c[i >> 2] | 0) > 22 ? 22 : f;
  75058. f =
  75059. (224 +
  75060. (((c[o >> 2] | 0) * 644) | 0) +
  75061. (((c[p >> 2] | 0) * 28) | 0)) |
  75062. 0;
  75063. c[q >> 2] = c[f >> 2];
  75064. c[(q + 4) >> 2] = c[(f + 4) >> 2];
  75065. c[(q + 8) >> 2] = c[(f + 8) >> 2];
  75066. c[(q + 12) >> 2] = c[(f + 12) >> 2];
  75067. c[(q + 16) >> 2] = c[(f + 16) >> 2];
  75068. c[(q + 20) >> 2] = c[(f + 20) >> 2];
  75069. c[(q + 24) >> 2] = c[(f + 24) >> 2];
  75070. if ((c[i >> 2] | 0) >= 0) {
  75071. t = j;
  75072. u = t;
  75073. v = c[u >> 2] | 0;
  75074. w = (t + 4) | 0;
  75075. x = w;
  75076. z = c[x >> 2] | 0;
  75077. A = c[k >> 2] | 0;
  75078. c[h >> 2] = c[q >> 2];
  75079. c[(h + 4) >> 2] = c[(q + 4) >> 2];
  75080. c[(h + 8) >> 2] = c[(q + 8) >> 2];
  75081. c[(h + 12) >> 2] = c[(q + 12) >> 2];
  75082. c[(h + 16) >> 2] = c[(q + 16) >> 2];
  75083. c[(h + 20) >> 2] = c[(q + 20) >> 2];
  75084. c[(h + 24) >> 2] = c[(q + 24) >> 2];
  75085. tj(a, h, v, z, A);
  75086. l = g;
  75087. return;
  75088. }
  75089. c[(q + 20) >> 2] = 0 - (c[i >> 2] | 0);
  75090. t = j;
  75091. u = t;
  75092. v = c[u >> 2] | 0;
  75093. w = (t + 4) | 0;
  75094. x = w;
  75095. z = c[x >> 2] | 0;
  75096. A = c[k >> 2] | 0;
  75097. c[h >> 2] = c[q >> 2];
  75098. c[(h + 4) >> 2] = c[(q + 4) >> 2];
  75099. c[(h + 8) >> 2] = c[(q + 8) >> 2];
  75100. c[(h + 12) >> 2] = c[(q + 12) >> 2];
  75101. c[(h + 16) >> 2] = c[(q + 16) >> 2];
  75102. c[(h + 20) >> 2] = c[(q + 20) >> 2];
  75103. c[(h + 24) >> 2] = c[(q + 24) >> 2];
  75104. tj(a, h, v, z, A);
  75105. l = g;
  75106. return;
  75107. }
  75108. function tj(a, b, d, e, f) {
  75109. a = a | 0;
  75110. b = b | 0;
  75111. d = d | 0;
  75112. e = e | 0;
  75113. f = f | 0;
  75114. var g = 0,
  75115. h = 0,
  75116. i = 0,
  75117. j = 0,
  75118. k = 0,
  75119. m = 0,
  75120. n = 0,
  75121. o = 0,
  75122. p = 0;
  75123. g = l;
  75124. l = (l + 32) | 0;
  75125. h = g;
  75126. i = (g + 20) | 0;
  75127. j = (g + 16) | 0;
  75128. k = (g + 12) | 0;
  75129. m = (g + 8) | 0;
  75130. n = h;
  75131. c[n >> 2] = d;
  75132. c[(n + 4) >> 2] = e;
  75133. c[i >> 2] = f;
  75134. if (
  75135. c[i >> 2] | 0
  75136. ? ((f = h),
  75137. (e = dE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 1, 0) | 0),
  75138. (f = y),
  75139. (f >>> 0 < 0) | (((f | 0) == 0) & (e >>> 0 < 2)))
  75140. : 0
  75141. ) {
  75142. e = h;
  75143. c[e >> 2] = 513;
  75144. c[(e + 4) >> 2] = 0;
  75145. } else o = 4;
  75146. if (
  75147. (o | 0) == 4
  75148. ? ((o = h),
  75149. ((c[o >> 2] | 0) == 0) & ((c[(o + 4) >> 2] | 0) == 0))
  75150. : 0
  75151. ) {
  75152. o = h;
  75153. c[o >> 2] = -1;
  75154. c[(o + 4) >> 2] = -1;
  75155. }
  75156. o = h;
  75157. e = c[(o + 4) >> 2] | 0;
  75158. if (
  75159. (e >>> 0 < 0) |
  75160. (((e | 0) == 0) & ((c[o >> 2] | 0) >>> 0 < 536870912))
  75161. ? (0 < 0) |
  75162. ((0 == 0) & ((c[i >> 2] | 0) >>> 0 < 536870912))
  75163. : 0
  75164. ) {
  75165. o = h;
  75166. h =
  75167. dE(c[o >> 2] | 0, c[(o + 4) >> 2] | 0, c[i >> 2] | 0, 0) |
  75168. 0;
  75169. c[j >> 2] = h;
  75170. if ((c[j >> 2] | 0) >>> 0 < 64) p = 6;
  75171. else p = ((uj(((c[j >> 2] | 0) - 1) | 0) | 0) + 1) | 0;
  75172. c[k >> 2] = p;
  75173. if ((c[b >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0)
  75174. c[b >> 2] = c[k >> 2];
  75175. }
  75176. if ((c[(b + 8) >> 2] | 0) >>> 0 > (c[b >> 2] | 0) >>> 0)
  75177. c[(b + 8) >> 2] = c[b >> 2];
  75178. c[m >> 2] = vj(c[(b + 4) >> 2] | 0, c[(b + 24) >> 2] | 0) | 0;
  75179. if ((c[m >> 2] | 0) >>> 0 > (c[b >> 2] | 0) >>> 0) {
  75180. k = (b + 4) | 0;
  75181. c[k >> 2] =
  75182. (c[k >> 2] | 0) - ((c[m >> 2] | 0) - (c[b >> 2] | 0));
  75183. }
  75184. if ((c[b >> 2] | 0) >>> 0 >= 10) {
  75185. c[a >> 2] = c[b >> 2];
  75186. c[(a + 4) >> 2] = c[(b + 4) >> 2];
  75187. c[(a + 8) >> 2] = c[(b + 8) >> 2];
  75188. c[(a + 12) >> 2] = c[(b + 12) >> 2];
  75189. c[(a + 16) >> 2] = c[(b + 16) >> 2];
  75190. c[(a + 20) >> 2] = c[(b + 20) >> 2];
  75191. c[(a + 24) >> 2] = c[(b + 24) >> 2];
  75192. l = g;
  75193. return;
  75194. }
  75195. c[b >> 2] = 10;
  75196. c[a >> 2] = c[b >> 2];
  75197. c[(a + 4) >> 2] = c[(b + 4) >> 2];
  75198. c[(a + 8) >> 2] = c[(b + 8) >> 2];
  75199. c[(a + 12) >> 2] = c[(b + 12) >> 2];
  75200. c[(a + 16) >> 2] = c[(b + 16) >> 2];
  75201. c[(a + 20) >> 2] = c[(b + 20) >> 2];
  75202. c[(a + 24) >> 2] = c[(b + 24) >> 2];
  75203. l = g;
  75204. return;
  75205. }
  75206. function uj(a) {
  75207. a = a | 0;
  75208. var b = 0,
  75209. d = 0;
  75210. b = l;
  75211. l = (l + 16) | 0;
  75212. d = b;
  75213. c[d >> 2] = a;
  75214. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  75215. l = b;
  75216. return a | 0;
  75217. }
  75218. function vj(a, b) {
  75219. a = a | 0;
  75220. b = b | 0;
  75221. var d = 0,
  75222. e = 0,
  75223. f = 0,
  75224. g = 0;
  75225. d = l;
  75226. l = (l + 16) | 0;
  75227. e = (d + 8) | 0;
  75228. f = (d + 4) | 0;
  75229. g = d;
  75230. c[e >> 2] = a;
  75231. c[f >> 2] = b;
  75232. c[g >> 2] = ((c[f >> 2] | 0) >>> 0 >= 6) & 1;
  75233. l = d;
  75234. return ((c[e >> 2] | 0) - (c[g >> 2] | 0)) | 0;
  75235. }
  75236. function wj(a) {
  75237. a = a | 0;
  75238. var b = 0,
  75239. d = 0;
  75240. b = l;
  75241. l = (l + 16) | 0;
  75242. d = b;
  75243. c[d >> 2] = a;
  75244. l = b;
  75245. return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
  75246. }
  75247. function xj(a, b, d) {
  75248. a = a | 0;
  75249. b = b | 0;
  75250. d = d | 0;
  75251. var e = 0,
  75252. f = 0,
  75253. g = 0,
  75254. h = 0,
  75255. i = 0,
  75256. j = 0;
  75257. e = l;
  75258. l = (l + 32) | 0;
  75259. f = (e + 16) | 0;
  75260. g = (e + 12) | 0;
  75261. h = (e + 8) | 0;
  75262. i = (e + 4) | 0;
  75263. j = e;
  75264. c[g >> 2] = a;
  75265. c[h >> 2] = b;
  75266. c[i >> 2] = d;
  75267. a: do {
  75268. switch (c[h >> 2] | 0) {
  75269. case 10: {
  75270. if ((c[i >> 2] | 0) >>> 0 > 1) {
  75271. c[f >> 2] = -40;
  75272. break a;
  75273. } else {
  75274. c[c[g >> 2] >> 2] = c[i >> 2];
  75275. c[f >> 2] = c[c[g >> 2] >> 2];
  75276. break a;
  75277. }
  75278. break;
  75279. }
  75280. case 100: {
  75281. c[j >> 2] = c[i >> 2];
  75282. if ((c[j >> 2] | 0) > (yj() | 0)) c[j >> 2] = yj() | 0;
  75283. if (c[j >> 2] | 0) {
  75284. c[((c[g >> 2] | 0) + 48) >> 2] =
  75285. ((c[j >> 2] | 0) < 0) & 1;
  75286. c[((c[g >> 2] | 0) + 44) >> 2] = c[j >> 2];
  75287. }
  75288. if ((c[((c[g >> 2] | 0) + 44) >> 2] | 0) >= 0) {
  75289. c[f >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
  75290. break a;
  75291. } else {
  75292. c[f >> 2] = 0;
  75293. break a;
  75294. }
  75295. break;
  75296. }
  75297. case 101: {
  75298. if (
  75299. (c[i >> 2] | 0) >>> 0 > 0
  75300. ? ((c[i >> 2] | 0) >>> 0 < 10) |
  75301. ((c[i >> 2] | 0) >>> 0 > 30) |
  75302. 0
  75303. : 0
  75304. ) {
  75305. c[f >> 2] = -42;
  75306. break a;
  75307. }
  75308. c[((c[g >> 2] | 0) + 4) >> 2] = c[i >> 2];
  75309. c[f >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  75310. break;
  75311. }
  75312. case 102: {
  75313. if (
  75314. (c[i >> 2] | 0) >>> 0 > 0
  75315. ? ((c[i >> 2] | 0) >>> 0 < 6) |
  75316. ((c[i >> 2] | 0) >>> 0 > 30) |
  75317. 0
  75318. : 0
  75319. ) {
  75320. c[f >> 2] = -42;
  75321. break a;
  75322. }
  75323. c[((c[g >> 2] | 0) + 4 + 8) >> 2] = c[i >> 2];
  75324. c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 8) >> 2];
  75325. break;
  75326. }
  75327. case 103: {
  75328. if (
  75329. (c[i >> 2] | 0) >>> 0 > 0
  75330. ? ((c[i >> 2] | 0) >>> 0 < 6) |
  75331. ((c[i >> 2] | 0) >>> 0 > 29) |
  75332. 0
  75333. : 0
  75334. ) {
  75335. c[f >> 2] = -42;
  75336. break a;
  75337. }
  75338. c[((c[g >> 2] | 0) + 4 + 4) >> 2] = c[i >> 2];
  75339. c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 4) >> 2];
  75340. break;
  75341. }
  75342. case 104: {
  75343. if (
  75344. (c[i >> 2] | 0) >>> 0 > 0
  75345. ? ((c[i >> 2] | 0) >>> 0 < 1) |
  75346. ((c[i >> 2] | 0) >>> 0 > 29) |
  75347. 0
  75348. : 0
  75349. ) {
  75350. c[f >> 2] = -42;
  75351. break a;
  75352. }
  75353. c[((c[g >> 2] | 0) + 4 + 12) >> 2] = c[i >> 2];
  75354. c[f >> 2] = c[i >> 2];
  75355. break;
  75356. }
  75357. case 105: {
  75358. if (
  75359. (c[i >> 2] | 0) >>> 0 > 0
  75360. ? ((c[i >> 2] | 0) >>> 0 < 3) |
  75361. ((c[i >> 2] | 0) >>> 0 > 7) |
  75362. 0
  75363. : 0
  75364. ) {
  75365. c[f >> 2] = -42;
  75366. break a;
  75367. }
  75368. c[((c[g >> 2] | 0) + 4 + 16) >> 2] = c[i >> 2];
  75369. c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 16) >> 2];
  75370. break;
  75371. }
  75372. case 106: {
  75373. c[((c[g >> 2] | 0) + 4 + 20) >> 2] = c[i >> 2];
  75374. c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 20) >> 2];
  75375. break;
  75376. }
  75377. case 107: {
  75378. if (
  75379. (c[i >> 2] | 0) >>> 0 > 0
  75380. ? ((c[i >> 2] | 0) >>> 0 < 1) |
  75381. ((c[i >> 2] | 0) >>> 0 > 8) |
  75382. 0
  75383. : 0
  75384. ) {
  75385. c[f >> 2] = -42;
  75386. break a;
  75387. }
  75388. c[((c[g >> 2] | 0) + 4 + 24) >> 2] = c[i >> 2];
  75389. c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 24) >> 2];
  75390. break;
  75391. }
  75392. case 1e3: {
  75393. c[((c[g >> 2] | 0) + 48) >> 2] =
  75394. (((c[i >> 2] | 0) != 0) ^ 1) & 1;
  75395. c[f >> 2] =
  75396. (((c[((c[g >> 2] | 0) + 48) >> 2] | 0) != 0) ^ 1) & 1;
  75397. break;
  75398. }
  75399. case 200: {
  75400. c[((c[g >> 2] | 0) + 32) >> 2] =
  75401. ((c[i >> 2] | 0) >>> 0 > 0) & 1;
  75402. c[f >> 2] = c[((c[g >> 2] | 0) + 32) >> 2];
  75403. break;
  75404. }
  75405. case 201: {
  75406. c[((c[g >> 2] | 0) + 32 + 4) >> 2] =
  75407. ((c[i >> 2] | 0) >>> 0 > 0) & 1;
  75408. c[f >> 2] = c[((c[g >> 2] | 0) + 32 + 4) >> 2];
  75409. break;
  75410. }
  75411. case 202: {
  75412. c[((c[g >> 2] | 0) + 32 + 8) >> 2] =
  75413. (((c[i >> 2] | 0) != 0) ^ 1) & 1;
  75414. c[f >> 2] =
  75415. (((c[((c[g >> 2] | 0) + 32 + 8) >> 2] | 0) != 0) ^
  75416. 1) &
  75417. 1;
  75418. break;
  75419. }
  75420. case 1100: {
  75421. c[((c[g >> 2] | 0) + 52) >> 2] =
  75422. ((c[i >> 2] | 0) >>> 0 > 0) & 1;
  75423. c[f >> 2] = c[((c[g >> 2] | 0) + 52) >> 2];
  75424. break;
  75425. }
  75426. case 400: {
  75427. if ((c[i >> 2] | 0) >>> 0 > 0) {
  75428. c[f >> 2] = -40;
  75429. break a;
  75430. } else {
  75431. c[f >> 2] = 0;
  75432. break a;
  75433. }
  75434. break;
  75435. }
  75436. case 401: {
  75437. c[f >> 2] = -40;
  75438. break;
  75439. }
  75440. case 402: {
  75441. c[f >> 2] = -40;
  75442. break;
  75443. }
  75444. case 160: {
  75445. c[((c[g >> 2] | 0) + 68) >> 2] =
  75446. ((c[i >> 2] | 0) >>> 0 > 0) & 1;
  75447. c[f >> 2] = c[((c[g >> 2] | 0) + 68) >> 2];
  75448. break;
  75449. }
  75450. case 161: {
  75451. if (
  75452. (c[i >> 2] | 0) >>> 0 > 0
  75453. ? ((c[i >> 2] | 0) >>> 0 < 6) |
  75454. ((c[i >> 2] | 0) >>> 0 > 30) |
  75455. 0
  75456. : 0
  75457. ) {
  75458. c[f >> 2] = -42;
  75459. break a;
  75460. }
  75461. c[((c[g >> 2] | 0) + 68 + 4) >> 2] = c[i >> 2];
  75462. c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 4) >> 2];
  75463. break;
  75464. }
  75465. case 162: {
  75466. if (
  75467. (c[i >> 2] | 0) >>> 0 > 0
  75468. ? ((c[i >> 2] | 0) >>> 0 < 4) |
  75469. ((c[i >> 2] | 0) >>> 0 > 4096) |
  75470. 0
  75471. : 0
  75472. ) {
  75473. c[f >> 2] = -42;
  75474. break a;
  75475. }
  75476. c[((c[g >> 2] | 0) + 68 + 12) >> 2] = c[i >> 2];
  75477. c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 12) >> 2];
  75478. break;
  75479. }
  75480. case 163: {
  75481. if ((c[i >> 2] | 0) >>> 0 > 8) {
  75482. c[f >> 2] = -42;
  75483. break a;
  75484. } else {
  75485. c[((c[g >> 2] | 0) + 68 + 8) >> 2] = c[i >> 2];
  75486. c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 8) >> 2];
  75487. break a;
  75488. }
  75489. break;
  75490. }
  75491. case 164: {
  75492. if ((c[i >> 2] | 0) >>> 0 > 24) {
  75493. c[f >> 2] = -42;
  75494. break a;
  75495. } else {
  75496. c[((c[g >> 2] | 0) + 68 + 16) >> 2] = c[i >> 2];
  75497. c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 16) >> 2];
  75498. break a;
  75499. }
  75500. break;
  75501. }
  75502. default:
  75503. c[f >> 2] = -40;
  75504. }
  75505. } while (0);
  75506. l = e;
  75507. return c[f >> 2] | 0;
  75508. }
  75509. function yj() {
  75510. return 22;
  75511. }
  75512. function zj(a, b, d, e, f, g) {
  75513. a = a | 0;
  75514. b = b | 0;
  75515. d = d | 0;
  75516. e = e | 0;
  75517. f = f | 0;
  75518. g = g | 0;
  75519. var h = 0,
  75520. i = 0,
  75521. j = 0,
  75522. k = 0,
  75523. m = 0,
  75524. n = 0,
  75525. o = 0,
  75526. p = 0,
  75527. q = 0,
  75528. r = 0,
  75529. s = 0;
  75530. h = l;
  75531. l = (l + 64) | 0;
  75532. i = (h + 32) | 0;
  75533. j = (h + 28) | 0;
  75534. k = (h + 24) | 0;
  75535. m = (h + 20) | 0;
  75536. n = (h + 16) | 0;
  75537. o = (h + 12) | 0;
  75538. p = (h + 8) | 0;
  75539. q = (h + 4) | 0;
  75540. r = h;
  75541. c[k >> 2] = a;
  75542. c[m >> 2] = b;
  75543. c[n >> 2] = d;
  75544. c[o >> 2] = e;
  75545. if (
  75546. (((((c[g >> 2] | 0) != 0) ^ 1) & 1) ^
  75547. ((((c[(g + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
  75548. 0
  75549. ) {
  75550. c[j >> 2] = 0;
  75551. s = c[j >> 2] | 0;
  75552. l = h;
  75553. return s | 0;
  75554. }
  75555. c[i >> 2] = c[g >> 2];
  75556. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  75557. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  75558. c[p >> 2] = Rh(4764, i) | 0;
  75559. c[q >> 2] = 6144 + (Aj(f, 0) | 0);
  75560. e = c[q >> 2] | 0;
  75561. c[i >> 2] = c[g >> 2];
  75562. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  75563. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  75564. c[r >> 2] = Rh(e, i) | 0;
  75565. e = c[p >> 2] | 0;
  75566. if (!(((c[p >> 2] | 0) != 0) & ((c[r >> 2] | 0) != 0))) {
  75567. c[i >> 2] = c[g >> 2];
  75568. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  75569. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  75570. Th(e, i);
  75571. d = c[r >> 2] | 0;
  75572. c[i >> 2] = c[g >> 2];
  75573. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  75574. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  75575. Th(d, i);
  75576. c[j >> 2] = 0;
  75577. s = c[j >> 2] | 0;
  75578. l = h;
  75579. return s | 0;
  75580. }
  75581. d = (e + 4748) | 0;
  75582. c[d >> 2] = c[g >> 2];
  75583. c[(d + 4) >> 2] = c[(g + 4) >> 2];
  75584. c[(d + 8) >> 2] = c[(g + 8) >> 2];
  75585. c[((c[p >> 2] | 0) + 12) >> 2] = c[r >> 2];
  75586. c[((c[p >> 2] | 0) + 16) >> 2] = c[q >> 2];
  75587. q = c[p >> 2] | 0;
  75588. r = c[k >> 2] | 0;
  75589. k = c[m >> 2] | 0;
  75590. m = c[n >> 2] | 0;
  75591. n = c[o >> 2] | 0;
  75592. c[i >> 2] = c[f >> 2];
  75593. c[(i + 4) >> 2] = c[(f + 4) >> 2];
  75594. c[(i + 8) >> 2] = c[(f + 8) >> 2];
  75595. c[(i + 12) >> 2] = c[(f + 12) >> 2];
  75596. c[(i + 16) >> 2] = c[(f + 16) >> 2];
  75597. c[(i + 20) >> 2] = c[(f + 20) >> 2];
  75598. c[(i + 24) >> 2] = c[(f + 24) >> 2];
  75599. f = (Ph(Bj(q, r, k, m, n, i) | 0) | 0) != 0;
  75600. i = c[p >> 2] | 0;
  75601. if (f) {
  75602. rj(i) | 0;
  75603. c[j >> 2] = 0;
  75604. s = c[j >> 2] | 0;
  75605. l = h;
  75606. return s | 0;
  75607. } else {
  75608. c[j >> 2] = i;
  75609. s = c[j >> 2] | 0;
  75610. l = h;
  75611. return s | 0;
  75612. }
  75613. return 0;
  75614. }
  75615. function Aj(a, b) {
  75616. a = a | 0;
  75617. b = b | 0;
  75618. var d = 0,
  75619. e = 0,
  75620. f = 0,
  75621. g = 0,
  75622. h = 0,
  75623. i = 0,
  75624. j = 0,
  75625. k = 0,
  75626. m = 0,
  75627. n = 0,
  75628. o = 0,
  75629. p = 0,
  75630. q = 0;
  75631. d = l;
  75632. l = (l + 48) | 0;
  75633. e = (d + 32) | 0;
  75634. f = (d + 28) | 0;
  75635. g = (d + 24) | 0;
  75636. h = (d + 20) | 0;
  75637. i = (d + 16) | 0;
  75638. j = (d + 12) | 0;
  75639. k = (d + 8) | 0;
  75640. m = (d + 4) | 0;
  75641. n = d;
  75642. c[e >> 2] = a;
  75643. c[f >> 2] = b;
  75644. if ((c[((c[e >> 2] | 0) + 24) >> 2] | 0) == 1) o = 0;
  75645. else o = 1 << c[((c[e >> 2] | 0) + 4) >> 2];
  75646. c[g >> 2] = o;
  75647. c[h >> 2] = 1 << c[((c[e >> 2] | 0) + 8) >> 2];
  75648. if (
  75649. c[f >> 2] | 0
  75650. ? (c[((c[e >> 2] | 0) + 16) >> 2] | 0) == 3
  75651. : 0
  75652. ) {
  75653. if (17 < (c[c[e >> 2] >> 2] | 0) >>> 0) p = 17;
  75654. else p = c[c[e >> 2] >> 2] | 0;
  75655. } else p = 0;
  75656. c[i >> 2] = p;
  75657. c[j >> 2] = 1 << c[i >> 2];
  75658. c[k >> 2] =
  75659. ((c[g >> 2] | 0) + (c[h >> 2] | 0) + (c[j >> 2] | 0)) << 2;
  75660. c[m >> 2] = 149e3;
  75661. if (c[f >> 2] | 0) {
  75662. if ((c[((c[e >> 2] | 0) + 24) >> 2] | 0) == 7) q = 1;
  75663. else q = (c[((c[e >> 2] | 0) + 24) >> 2] | 0) == 8;
  75664. } else q = 0;
  75665. c[n >> 2] = q ? 149e3 : 0;
  75666. l = d;
  75667. return ((c[k >> 2] | 0) + (c[n >> 2] | 0)) | 0;
  75668. }
  75669. function Bj(a, b, d, e, f, g) {
  75670. a = a | 0;
  75671. b = b | 0;
  75672. d = d | 0;
  75673. e = e | 0;
  75674. f = f | 0;
  75675. g = g | 0;
  75676. var h = 0,
  75677. i = 0,
  75678. j = 0,
  75679. k = 0,
  75680. m = 0,
  75681. n = 0,
  75682. o = 0,
  75683. p = 0,
  75684. q = 0,
  75685. r = 0,
  75686. s = 0,
  75687. t = 0,
  75688. u = 0;
  75689. h = l;
  75690. l = (l + 160) | 0;
  75691. i = (h + 144) | 0;
  75692. j = (h + 140) | 0;
  75693. k = (h + 136) | 0;
  75694. m = (h + 132) | 0;
  75695. n = (h + 128) | 0;
  75696. o = (h + 124) | 0;
  75697. p = (h + 120) | 0;
  75698. q = (h + 116) | 0;
  75699. r = (h + 112) | 0;
  75700. s = (h + 8) | 0;
  75701. t = h;
  75702. c[k >> 2] = a;
  75703. c[m >> 2] = b;
  75704. c[n >> 2] = d;
  75705. c[o >> 2] = e;
  75706. c[p >> 2] = f;
  75707. f = ((c[k >> 2] | 0) + 4720) | 0;
  75708. c[f >> 2] = c[g >> 2];
  75709. c[(f + 4) >> 2] = c[(g + 4) >> 2];
  75710. c[(f + 8) >> 2] = c[(g + 8) >> 2];
  75711. c[(f + 12) >> 2] = c[(g + 12) >> 2];
  75712. c[(f + 16) >> 2] = c[(g + 16) >> 2];
  75713. c[(f + 20) >> 2] = c[(g + 20) >> 2];
  75714. c[(f + 24) >> 2] = c[(g + 24) >> 2];
  75715. do {
  75716. if (
  75717. ((c[o >> 2] | 0) != 1) &
  75718. ((c[m >> 2] | 0) != 0) &
  75719. ((c[n >> 2] | 0) != 0)
  75720. ) {
  75721. f = c[n >> 2] | 0;
  75722. e = ((c[k >> 2] | 0) + 4748) | 0;
  75723. c[i >> 2] = c[e >> 2];
  75724. c[(i + 4) >> 2] = c[(e + 4) >> 2];
  75725. c[(i + 8) >> 2] = c[(e + 8) >> 2];
  75726. c[q >> 2] = Rh(f, i) | 0;
  75727. c[c[k >> 2] >> 2] = c[q >> 2];
  75728. c[((c[k >> 2] | 0) + 4) >> 2] = c[q >> 2];
  75729. if (c[q >> 2] | 0) {
  75730. mE(c[q >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
  75731. break;
  75732. }
  75733. c[j >> 2] = -64;
  75734. u = c[j >> 2] | 0;
  75735. l = h;
  75736. return u | 0;
  75737. } else {
  75738. c[c[k >> 2] >> 2] = 0;
  75739. c[((c[k >> 2] | 0) + 4) >> 2] = c[m >> 2];
  75740. }
  75741. } while (0);
  75742. c[((c[k >> 2] | 0) + 8) >> 2] = c[n >> 2];
  75743. Cj(((c[k >> 2] | 0) + 128) | 0);
  75744. c[r >> 2] =
  75745. Dj(
  75746. ((c[k >> 2] | 0) + 20) | 0,
  75747. ((c[((c[k >> 2] | 0) + 12) >> 2] | 0) + 6144) | 0,
  75748. g,
  75749. 0,
  75750. 0
  75751. ) | 0;
  75752. r = s;
  75753. n = (r + 104) | 0;
  75754. do {
  75755. c[r >> 2] = 0;
  75756. r = (r + 4) | 0;
  75757. } while ((r | 0) < (n | 0));
  75758. c[(s + 44) >> 2] = 3;
  75759. c[(s + 32) >> 2] = 1;
  75760. r = (s + 4) | 0;
  75761. c[r >> 2] = c[g >> 2];
  75762. c[(r + 4) >> 2] = c[(g + 4) >> 2];
  75763. c[(r + 8) >> 2] = c[(g + 8) >> 2];
  75764. c[(r + 12) >> 2] = c[(g + 12) >> 2];
  75765. c[(r + 16) >> 2] = c[(g + 16) >> 2];
  75766. c[(r + 20) >> 2] = c[(g + 20) >> 2];
  75767. c[(r + 24) >> 2] = c[(g + 24) >> 2];
  75768. c[t >> 2] =
  75769. Ej(
  75770. ((c[k >> 2] | 0) + 128) | 0,
  75771. ((c[k >> 2] | 0) + 20) | 0,
  75772. s,
  75773. c[((c[k >> 2] | 0) + 4) >> 2] | 0,
  75774. c[((c[k >> 2] | 0) + 8) >> 2] | 0,
  75775. c[p >> 2] | 0,
  75776. c[((c[k >> 2] | 0) + 12) >> 2] | 0
  75777. ) | 0;
  75778. p = (Ph(c[t >> 2] | 0) | 0) != 0;
  75779. s = c[t >> 2] | 0;
  75780. if (p) {
  75781. c[j >> 2] = s;
  75782. u = c[j >> 2] | 0;
  75783. l = h;
  75784. return u | 0;
  75785. } else {
  75786. c[((c[k >> 2] | 0) + 4760) >> 2] = s;
  75787. c[j >> 2] = 0;
  75788. u = c[j >> 2] | 0;
  75789. l = h;
  75790. return u | 0;
  75791. }
  75792. return 0;
  75793. }
  75794. function Cj(a) {
  75795. a = a | 0;
  75796. var b = 0,
  75797. d = 0,
  75798. e = 0;
  75799. b = l;
  75800. l = (l + 16) | 0;
  75801. d = (b + 4) | 0;
  75802. e = b;
  75803. c[d >> 2] = a;
  75804. c[e >> 2] = 0;
  75805. while (1) {
  75806. if ((c[e >> 2] | 0) >= 3) break;
  75807. c[((c[d >> 2] | 0) + 4580 + (c[e >> 2] << 2)) >> 2] =
  75808. c[(11940 + (c[e >> 2] << 2)) >> 2];
  75809. c[e >> 2] = (c[e >> 2] | 0) + 1;
  75810. }
  75811. c[((c[d >> 2] | 0) + 4564) >> 2] = 0;
  75812. c[((c[d >> 2] | 0) + 4568) >> 2] = 0;
  75813. c[((c[d >> 2] | 0) + 4572) >> 2] = 0;
  75814. c[((c[d >> 2] | 0) + 4576) >> 2] = 0;
  75815. l = b;
  75816. return;
  75817. }
  75818. function Dj(a, b, d, e, f) {
  75819. a = a | 0;
  75820. b = b | 0;
  75821. d = d | 0;
  75822. e = e | 0;
  75823. f = f | 0;
  75824. var g = 0,
  75825. h = 0,
  75826. i = 0,
  75827. j = 0,
  75828. k = 0,
  75829. m = 0,
  75830. n = 0,
  75831. o = 0,
  75832. p = 0,
  75833. q = 0,
  75834. r = 0,
  75835. s = 0,
  75836. t = 0,
  75837. u = 0,
  75838. v = 0,
  75839. w = 0,
  75840. x = 0,
  75841. y = 0,
  75842. z = 0,
  75843. A = 0,
  75844. B = 0,
  75845. C = 0,
  75846. D = 0,
  75847. E = 0,
  75848. F = 0,
  75849. G = 0,
  75850. H = 0,
  75851. I = 0,
  75852. J = 0,
  75853. K = 0,
  75854. L = 0,
  75855. M = 0,
  75856. N = 0,
  75857. O = 0,
  75858. P = 0,
  75859. Q = 0;
  75860. g = l;
  75861. l = (l + 48) | 0;
  75862. h = (g + 36) | 0;
  75863. i = (g + 32) | 0;
  75864. j = (g + 28) | 0;
  75865. k = (g + 24) | 0;
  75866. m = (g + 20) | 0;
  75867. n = (g + 16) | 0;
  75868. o = (g + 12) | 0;
  75869. p = (g + 8) | 0;
  75870. q = (g + 4) | 0;
  75871. r = g;
  75872. c[h >> 2] = a;
  75873. c[i >> 2] = b;
  75874. c[j >> 2] = d;
  75875. c[k >> 2] = e;
  75876. c[m >> 2] = f;
  75877. if ((c[((c[j >> 2] | 0) + 24) >> 2] | 0) == 1) s = 0;
  75878. else s = 1 << c[((c[j >> 2] | 0) + 4) >> 2];
  75879. c[n >> 2] = s;
  75880. c[o >> 2] = 1 << c[((c[j >> 2] | 0) + 8) >> 2];
  75881. if (
  75882. c[m >> 2] | 0
  75883. ? (c[((c[j >> 2] | 0) + 16) >> 2] | 0) == 3
  75884. : 0
  75885. ) {
  75886. if (17 < (c[c[j >> 2] >> 2] | 0) >>> 0) t = 17;
  75887. else t = c[c[j >> 2] >> 2] | 0;
  75888. } else t = 0;
  75889. c[p >> 2] = t;
  75890. c[q >> 2] = 1 << c[p >> 2];
  75891. c[r >> 2] =
  75892. ((c[n >> 2] | 0) + (c[o >> 2] | 0) + (c[q >> 2] | 0)) << 2;
  75893. c[((c[h >> 2] | 0) + 32) >> 2] = c[p >> 2];
  75894. p = c[h >> 2] | 0;
  75895. c[p >> 2] = 0;
  75896. c[(p + 4) >> 2] = 0;
  75897. c[(p + 8) >> 2] = 0;
  75898. c[(p + 12) >> 2] = 0;
  75899. c[(p + 16) >> 2] = 0;
  75900. hl(c[h >> 2] | 0);
  75901. if (
  75902. c[m >> 2] | 0
  75903. ? ((c[((c[j >> 2] | 0) + 24) >> 2] | 0) == 7
  75904. ? 1
  75905. : (c[((c[j >> 2] | 0) + 24) >> 2] | 0) == 8) | 0
  75906. : 0
  75907. ) {
  75908. c[((c[h >> 2] | 0) + 48) >> 2] = c[i >> 2];
  75909. c[((c[h >> 2] | 0) + 48 + 4) >> 2] =
  75910. (c[((c[h >> 2] | 0) + 48) >> 2] | 0) + 1024;
  75911. c[((c[h >> 2] | 0) + 48 + 8) >> 2] =
  75912. (c[((c[h >> 2] | 0) + 48 + 4) >> 2] | 0) + 144;
  75913. c[((c[h >> 2] | 0) + 48 + 12) >> 2] =
  75914. (c[((c[h >> 2] | 0) + 48 + 8) >> 2] | 0) + 212;
  75915. c[i >> 2] = (c[((c[h >> 2] | 0) + 48 + 12) >> 2] | 0) + 128;
  75916. c[((c[h >> 2] | 0) + 48 + 16) >> 2] = c[i >> 2];
  75917. c[i >> 2] =
  75918. (c[((c[h >> 2] | 0) + 48 + 16) >> 2] | 0) + 32768 + 8;
  75919. c[((c[h >> 2] | 0) + 48 + 20) >> 2] = c[i >> 2];
  75920. c[i >> 2] =
  75921. (c[((c[h >> 2] | 0) + 48 + 20) >> 2] | 0) + 114688 + 28;
  75922. }
  75923. if ((c[k >> 2] | 0) == 1) {
  75924. u = c[i >> 2] | 0;
  75925. v = c[h >> 2] | 0;
  75926. w = (v + 36) | 0;
  75927. c[w >> 2] = u;
  75928. x = c[h >> 2] | 0;
  75929. y = (x + 36) | 0;
  75930. z = c[y >> 2] | 0;
  75931. A = c[o >> 2] | 0;
  75932. B = (z + (A << 2)) | 0;
  75933. C = c[h >> 2] | 0;
  75934. D = (C + 44) | 0;
  75935. c[D >> 2] = B;
  75936. E = c[h >> 2] | 0;
  75937. F = (E + 44) | 0;
  75938. G = c[F >> 2] | 0;
  75939. H = c[n >> 2] | 0;
  75940. I = (G + (H << 2)) | 0;
  75941. J = c[h >> 2] | 0;
  75942. K = (J + 40) | 0;
  75943. c[K >> 2] = I;
  75944. L = c[h >> 2] | 0;
  75945. M = (L + 40) | 0;
  75946. N = c[M >> 2] | 0;
  75947. O = c[q >> 2] | 0;
  75948. P = (N + (O << 2)) | 0;
  75949. c[i >> 2] = P;
  75950. Q = c[i >> 2] | 0;
  75951. l = g;
  75952. return Q | 0;
  75953. }
  75954. oE(c[i >> 2] | 0, 0, c[r >> 2] | 0) | 0;
  75955. u = c[i >> 2] | 0;
  75956. v = c[h >> 2] | 0;
  75957. w = (v + 36) | 0;
  75958. c[w >> 2] = u;
  75959. x = c[h >> 2] | 0;
  75960. y = (x + 36) | 0;
  75961. z = c[y >> 2] | 0;
  75962. A = c[o >> 2] | 0;
  75963. B = (z + (A << 2)) | 0;
  75964. C = c[h >> 2] | 0;
  75965. D = (C + 44) | 0;
  75966. c[D >> 2] = B;
  75967. E = c[h >> 2] | 0;
  75968. F = (E + 44) | 0;
  75969. G = c[F >> 2] | 0;
  75970. H = c[n >> 2] | 0;
  75971. I = (G + (H << 2)) | 0;
  75972. J = c[h >> 2] | 0;
  75973. K = (J + 40) | 0;
  75974. c[K >> 2] = I;
  75975. L = c[h >> 2] | 0;
  75976. M = (L + 40) | 0;
  75977. N = c[M >> 2] | 0;
  75978. O = c[q >> 2] | 0;
  75979. P = (N + (O << 2)) | 0;
  75980. c[i >> 2] = P;
  75981. Q = c[i >> 2] | 0;
  75982. l = g;
  75983. return Q | 0;
  75984. }
  75985. function Ej(a, b, d, e, f, g, h) {
  75986. a = a | 0;
  75987. b = b | 0;
  75988. d = d | 0;
  75989. e = e | 0;
  75990. f = f | 0;
  75991. g = g | 0;
  75992. h = h | 0;
  75993. var i = 0,
  75994. j = 0,
  75995. k = 0,
  75996. m = 0,
  75997. n = 0,
  75998. o = 0,
  75999. p = 0,
  76000. q = 0,
  76001. r = 0,
  76002. s = 0;
  76003. i = l;
  76004. l = (l + 32) | 0;
  76005. j = (i + 28) | 0;
  76006. k = (i + 24) | 0;
  76007. m = (i + 20) | 0;
  76008. n = (i + 16) | 0;
  76009. o = (i + 12) | 0;
  76010. p = (i + 8) | 0;
  76011. q = (i + 4) | 0;
  76012. r = i;
  76013. c[k >> 2] = a;
  76014. c[m >> 2] = b;
  76015. c[n >> 2] = d;
  76016. c[o >> 2] = e;
  76017. c[p >> 2] = f;
  76018. c[q >> 2] = g;
  76019. c[r >> 2] = h;
  76020. if (((c[o >> 2] | 0) == 0) | ((c[p >> 2] | 0) >>> 0 <= 8)) {
  76021. c[j >> 2] = 0;
  76022. s = c[j >> 2] | 0;
  76023. l = i;
  76024. return s | 0;
  76025. }
  76026. Cj(c[k >> 2] | 0);
  76027. if ((c[q >> 2] | 0) == 1) {
  76028. c[j >> 2] =
  76029. Fj(
  76030. c[m >> 2] | 0,
  76031. c[n >> 2] | 0,
  76032. c[o >> 2] | 0,
  76033. c[p >> 2] | 0
  76034. ) | 0;
  76035. s = c[j >> 2] | 0;
  76036. l = i;
  76037. return s | 0;
  76038. }
  76039. if ((Gj(c[o >> 2] | 0) | 0) != -332356553) {
  76040. if (!(c[q >> 2] | 0)) {
  76041. c[j >> 2] =
  76042. Fj(
  76043. c[m >> 2] | 0,
  76044. c[n >> 2] | 0,
  76045. c[o >> 2] | 0,
  76046. c[p >> 2] | 0
  76047. ) | 0;
  76048. s = c[j >> 2] | 0;
  76049. l = i;
  76050. return s | 0;
  76051. }
  76052. if ((c[q >> 2] | 0) == 2) {
  76053. c[j >> 2] = -32;
  76054. s = c[j >> 2] | 0;
  76055. l = i;
  76056. return s | 0;
  76057. }
  76058. }
  76059. c[j >> 2] =
  76060. Hj(
  76061. c[k >> 2] | 0,
  76062. c[m >> 2] | 0,
  76063. c[n >> 2] | 0,
  76064. c[o >> 2] | 0,
  76065. c[p >> 2] | 0,
  76066. c[r >> 2] | 0
  76067. ) | 0;
  76068. s = c[j >> 2] | 0;
  76069. l = i;
  76070. return s | 0;
  76071. }
  76072. function Fj(a, b, d, e) {
  76073. a = a | 0;
  76074. b = b | 0;
  76075. d = d | 0;
  76076. e = e | 0;
  76077. var f = 0,
  76078. g = 0,
  76079. h = 0,
  76080. i = 0,
  76081. j = 0,
  76082. k = 0,
  76083. m = 0,
  76084. n = 0,
  76085. o = 0,
  76086. p = 0,
  76087. q = 0;
  76088. f = l;
  76089. l = (l + 32) | 0;
  76090. g = (f + 28) | 0;
  76091. h = (f + 24) | 0;
  76092. i = (f + 20) | 0;
  76093. j = (f + 16) | 0;
  76094. k = (f + 12) | 0;
  76095. m = (f + 8) | 0;
  76096. n = (f + 4) | 0;
  76097. o = f;
  76098. c[h >> 2] = a;
  76099. c[i >> 2] = b;
  76100. c[j >> 2] = d;
  76101. c[k >> 2] = e;
  76102. c[m >> 2] = c[j >> 2];
  76103. c[n >> 2] = (c[m >> 2] | 0) + (c[k >> 2] | 0);
  76104. c[o >> 2] = (c[i >> 2] | 0) + 4;
  76105. Mj(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
  76106. if (c[((c[i >> 2] | 0) + 52) >> 2] | 0) p = 0;
  76107. else
  76108. p =
  76109. ((c[n >> 2] | 0) - (c[((c[h >> 2] | 0) + 4) >> 2] | 0)) |
  76110. 0;
  76111. c[((c[h >> 2] | 0) + 20) >> 2] = p;
  76112. if ((c[k >> 2] | 0) >>> 0 <= 8) {
  76113. c[g >> 2] = 0;
  76114. q = c[g >> 2] | 0;
  76115. l = f;
  76116. return q | 0;
  76117. }
  76118. switch (c[((c[i >> 2] | 0) + 4 + 24) >> 2] | 0) {
  76119. case 1: {
  76120. Nj(c[h >> 2] | 0, c[o >> 2] | 0, c[n >> 2] | 0);
  76121. break;
  76122. }
  76123. case 2: {
  76124. Oj(c[h >> 2] | 0, c[o >> 2] | 0, c[n >> 2] | 0);
  76125. break;
  76126. }
  76127. case 5:
  76128. case 4:
  76129. case 3: {
  76130. if ((c[k >> 2] | 0) >>> 0 >= 8)
  76131. Pj(
  76132. c[h >> 2] | 0,
  76133. c[o >> 2] | 0,
  76134. ((c[n >> 2] | 0) + -8) | 0
  76135. ) | 0;
  76136. break;
  76137. }
  76138. case 8:
  76139. case 7:
  76140. case 6: {
  76141. if ((c[k >> 2] | 0) >>> 0 >= 8)
  76142. Qj(
  76143. c[h >> 2] | 0,
  76144. c[o >> 2] | 0,
  76145. ((c[n >> 2] | 0) + -8) | 0,
  76146. c[n >> 2] | 0
  76147. );
  76148. break;
  76149. }
  76150. default: {
  76151. }
  76152. }
  76153. c[((c[h >> 2] | 0) + 24) >> 2] =
  76154. (c[n >> 2] | 0) - (c[((c[h >> 2] | 0) + 4) >> 2] | 0);
  76155. c[g >> 2] = 0;
  76156. q = c[g >> 2] | 0;
  76157. l = f;
  76158. return q | 0;
  76159. }
  76160. function Gj(a) {
  76161. a = a | 0;
  76162. var b = 0,
  76163. d = 0,
  76164. e = 0,
  76165. f = 0,
  76166. g = 0;
  76167. b = l;
  76168. l = (l + 16) | 0;
  76169. d = (b + 4) | 0;
  76170. e = b;
  76171. c[e >> 2] = a;
  76172. a = (Jj() | 0) != 0;
  76173. f = Kj(c[e >> 2] | 0) | 0;
  76174. if (a) {
  76175. c[d >> 2] = f;
  76176. g = c[d >> 2] | 0;
  76177. l = b;
  76178. return g | 0;
  76179. } else {
  76180. c[d >> 2] = Lj(f) | 0;
  76181. g = c[d >> 2] | 0;
  76182. l = b;
  76183. return g | 0;
  76184. }
  76185. return 0;
  76186. }
  76187. function Hj(a, b, d, e, f, g) {
  76188. a = a | 0;
  76189. b = b | 0;
  76190. d = d | 0;
  76191. e = e | 0;
  76192. f = f | 0;
  76193. g = g | 0;
  76194. var h = 0,
  76195. i = 0,
  76196. j = 0,
  76197. k = 0,
  76198. m = 0,
  76199. n = 0,
  76200. o = 0,
  76201. p = 0,
  76202. q = 0,
  76203. r = 0,
  76204. s = 0,
  76205. t = 0,
  76206. u = 0,
  76207. v = 0,
  76208. w = 0,
  76209. x = 0,
  76210. y = 0,
  76211. z = 0,
  76212. A = 0,
  76213. B = 0,
  76214. C = 0,
  76215. D = 0,
  76216. E = 0,
  76217. F = 0,
  76218. G = 0,
  76219. H = 0,
  76220. I = 0,
  76221. J = 0,
  76222. K = 0,
  76223. L = 0,
  76224. M = 0,
  76225. N = 0,
  76226. O = 0,
  76227. P = 0,
  76228. Q = 0,
  76229. R = 0,
  76230. S = 0,
  76231. T = 0,
  76232. U = 0,
  76233. V = 0;
  76234. h = l;
  76235. l = (l + 384) | 0;
  76236. i = (h + 380) | 0;
  76237. j = (h + 376) | 0;
  76238. k = (h + 372) | 0;
  76239. m = (h + 368) | 0;
  76240. n = (h + 364) | 0;
  76241. o = (h + 360) | 0;
  76242. p = (h + 356) | 0;
  76243. q = (h + 352) | 0;
  76244. r = (h + 348) | 0;
  76245. s = (h + 192) | 0;
  76246. t = (h + 344) | 0;
  76247. u = (h + 340) | 0;
  76248. v = (h + 336) | 0;
  76249. w = (h + 332) | 0;
  76250. x = (h + 328) | 0;
  76251. y = (h + 324) | 0;
  76252. z = (h + 320) | 0;
  76253. A = (h + 80) | 0;
  76254. B = (h + 316) | 0;
  76255. C = (h + 312) | 0;
  76256. D = (h + 308) | 0;
  76257. E = (h + 304) | 0;
  76258. F = (h + 300) | 0;
  76259. G = h;
  76260. H = (h + 296) | 0;
  76261. I = (h + 292) | 0;
  76262. J = (h + 288) | 0;
  76263. K = (h + 284) | 0;
  76264. L = (h + 280) | 0;
  76265. M = (h + 276) | 0;
  76266. N = (h + 272) | 0;
  76267. O = (h + 268) | 0;
  76268. P = (h + 264) | 0;
  76269. Q = (h + 260) | 0;
  76270. R = (h + 256) | 0;
  76271. c[j >> 2] = a;
  76272. c[k >> 2] = b;
  76273. c[m >> 2] = d;
  76274. c[n >> 2] = e;
  76275. c[o >> 2] = f;
  76276. c[p >> 2] = g;
  76277. c[q >> 2] = c[n >> 2];
  76278. c[r >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
  76279. c[t >> 2] = 31;
  76280. c[q >> 2] = (c[q >> 2] | 0) + 4;
  76281. if (c[((c[m >> 2] | 0) + 32 + 8) >> 2] | 0) S = 0;
  76282. else S = Gj(c[q >> 2] | 0) | 0;
  76283. c[u >> 2] = S;
  76284. c[q >> 2] = (c[q >> 2] | 0) + 4;
  76285. c[v >> 2] = 255;
  76286. c[w >> 2] =
  76287. Ji(
  76288. c[j >> 2] | 0,
  76289. v,
  76290. c[q >> 2] | 0,
  76291. ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
  76292. ) | 0;
  76293. if ($g(c[w >> 2] | 0) | 0) {
  76294. c[i >> 2] = -30;
  76295. T = c[i >> 2] | 0;
  76296. l = h;
  76297. return T | 0;
  76298. }
  76299. if ((c[v >> 2] | 0) >>> 0 < 255) {
  76300. c[i >> 2] = -30;
  76301. T = c[i >> 2] | 0;
  76302. l = h;
  76303. return T | 0;
  76304. }
  76305. c[q >> 2] = (c[q >> 2] | 0) + (c[w >> 2] | 0);
  76306. c[y >> 2] =
  76307. ah(
  76308. s,
  76309. t,
  76310. x,
  76311. c[q >> 2] | 0,
  76312. ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
  76313. ) | 0;
  76314. if (Zg(c[y >> 2] | 0) | 0) {
  76315. c[i >> 2] = -30;
  76316. T = c[i >> 2] | 0;
  76317. l = h;
  76318. return T | 0;
  76319. }
  76320. if ((c[x >> 2] | 0) >>> 0 > 8) {
  76321. c[i >> 2] = -30;
  76322. T = c[i >> 2] | 0;
  76323. l = h;
  76324. return T | 0;
  76325. }
  76326. c[z >> 2] =
  76327. Uh(
  76328. ((c[j >> 2] | 0) + 1024) | 0,
  76329. s,
  76330. c[t >> 2] | 0,
  76331. c[x >> 2] | 0,
  76332. c[p >> 2] | 0,
  76333. 6144
  76334. ) | 0;
  76335. if (wj(c[z >> 2] | 0) | 0) {
  76336. c[i >> 2] = -30;
  76337. T = c[i >> 2] | 0;
  76338. l = h;
  76339. return T | 0;
  76340. }
  76341. c[q >> 2] = (c[q >> 2] | 0) + (c[y >> 2] | 0);
  76342. c[B >> 2] = 52;
  76343. c[D >> 2] =
  76344. ah(
  76345. A,
  76346. B,
  76347. C,
  76348. c[q >> 2] | 0,
  76349. ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
  76350. ) | 0;
  76351. if (Zg(c[D >> 2] | 0) | 0) {
  76352. c[i >> 2] = -30;
  76353. T = c[i >> 2] | 0;
  76354. l = h;
  76355. return T | 0;
  76356. }
  76357. if ((c[C >> 2] | 0) >>> 0 > 9) {
  76358. c[i >> 2] = -30;
  76359. T = c[i >> 2] | 0;
  76360. l = h;
  76361. return T | 0;
  76362. }
  76363. c[E >> 2] = Ij(A, c[B >> 2] | 0, 52) | 0;
  76364. if (wj(c[E >> 2] | 0) | 0) {
  76365. c[i >> 2] = c[E >> 2];
  76366. T = c[i >> 2] | 0;
  76367. l = h;
  76368. return T | 0;
  76369. }
  76370. c[F >> 2] =
  76371. Uh(
  76372. ((c[j >> 2] | 0) + 1796) | 0,
  76373. A,
  76374. c[B >> 2] | 0,
  76375. c[C >> 2] | 0,
  76376. c[p >> 2] | 0,
  76377. 6144
  76378. ) | 0;
  76379. if (wj(c[F >> 2] | 0) | 0) {
  76380. c[i >> 2] = -30;
  76381. T = c[i >> 2] | 0;
  76382. l = h;
  76383. return T | 0;
  76384. }
  76385. c[q >> 2] = (c[q >> 2] | 0) + (c[D >> 2] | 0);
  76386. c[H >> 2] = 35;
  76387. c[J >> 2] =
  76388. ah(
  76389. G,
  76390. H,
  76391. I,
  76392. c[q >> 2] | 0,
  76393. ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
  76394. ) | 0;
  76395. if (Zg(c[J >> 2] | 0) | 0) {
  76396. c[i >> 2] = -30;
  76397. T = c[i >> 2] | 0;
  76398. l = h;
  76399. return T | 0;
  76400. }
  76401. if ((c[I >> 2] | 0) >>> 0 > 9) {
  76402. c[i >> 2] = -30;
  76403. T = c[i >> 2] | 0;
  76404. l = h;
  76405. return T | 0;
  76406. }
  76407. c[K >> 2] = Ij(G, c[H >> 2] | 0, 35) | 0;
  76408. if (wj(c[K >> 2] | 0) | 0) {
  76409. c[i >> 2] = c[K >> 2];
  76410. T = c[i >> 2] | 0;
  76411. l = h;
  76412. return T | 0;
  76413. }
  76414. c[L >> 2] =
  76415. Uh(
  76416. ((c[j >> 2] | 0) + 3248) | 0,
  76417. G,
  76418. c[H >> 2] | 0,
  76419. c[I >> 2] | 0,
  76420. c[p >> 2] | 0,
  76421. 6144
  76422. ) | 0;
  76423. if (wj(c[L >> 2] | 0) | 0) {
  76424. c[i >> 2] = -30;
  76425. T = c[i >> 2] | 0;
  76426. l = h;
  76427. return T | 0;
  76428. }
  76429. c[q >> 2] = (c[q >> 2] | 0) + (c[J >> 2] | 0);
  76430. if (
  76431. (((c[q >> 2] | 0) + 12) | 0) >>> 0 >
  76432. (c[r >> 2] | 0) >>> 0
  76433. ) {
  76434. c[i >> 2] = -30;
  76435. T = c[i >> 2] | 0;
  76436. l = h;
  76437. return T | 0;
  76438. }
  76439. J = Gj(c[q >> 2] | 0) | 0;
  76440. c[((c[j >> 2] | 0) + 4580) >> 2] = J;
  76441. J = Gj(((c[q >> 2] | 0) + 4) | 0) | 0;
  76442. c[((c[j >> 2] | 0) + 4580 + 4) >> 2] = J;
  76443. J = Gj(((c[q >> 2] | 0) + 8) | 0) | 0;
  76444. c[((c[j >> 2] | 0) + 4580 + 8) >> 2] = J;
  76445. c[q >> 2] = (c[q >> 2] | 0) + 12;
  76446. c[M >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
  76447. c[N >> 2] = 31;
  76448. if ((c[M >> 2] | 0) >>> 0 <= 4294836223) {
  76449. c[O >> 2] = (c[M >> 2] | 0) + 131072;
  76450. c[N >> 2] = uj(c[O >> 2] | 0) | 0;
  76451. }
  76452. c[P >> 2] =
  76453. Ij(
  76454. s,
  76455. c[t >> 2] | 0,
  76456. (c[N >> 2] | 0) >>> 0 < 31 ? c[N >> 2] | 0 : 31
  76457. ) | 0;
  76458. if (wj(c[P >> 2] | 0) | 0) {
  76459. c[i >> 2] = c[P >> 2];
  76460. T = c[i >> 2] | 0;
  76461. l = h;
  76462. return T | 0;
  76463. }
  76464. c[Q >> 2] = 0;
  76465. while (1) {
  76466. U = c[j >> 2] | 0;
  76467. if ((c[Q >> 2] | 0) >>> 0 >= 3) {
  76468. V = 42;
  76469. break;
  76470. }
  76471. if (!(c[(U + 4580 + (c[Q >> 2] << 2)) >> 2] | 0)) {
  76472. V = 38;
  76473. break;
  76474. }
  76475. if (
  76476. (c[((c[j >> 2] | 0) + 4580 + (c[Q >> 2] << 2)) >> 2] |
  76477. 0) >>>
  76478. 0 >
  76479. (c[M >> 2] | 0) >>> 0
  76480. ) {
  76481. V = 40;
  76482. break;
  76483. }
  76484. c[Q >> 2] = (c[Q >> 2] | 0) + 1;
  76485. }
  76486. if ((V | 0) == 38) {
  76487. c[i >> 2] = -30;
  76488. T = c[i >> 2] | 0;
  76489. l = h;
  76490. return T | 0;
  76491. } else if ((V | 0) == 40) {
  76492. c[i >> 2] = -30;
  76493. T = c[i >> 2] | 0;
  76494. l = h;
  76495. return T | 0;
  76496. } else if ((V | 0) == 42) {
  76497. c[(U + 4564) >> 2] = 2;
  76498. c[((c[j >> 2] | 0) + 4568) >> 2] = 2;
  76499. c[((c[j >> 2] | 0) + 4572) >> 2] = 2;
  76500. c[((c[j >> 2] | 0) + 4576) >> 2] = 2;
  76501. c[R >> 2] =
  76502. Fj(
  76503. c[k >> 2] | 0,
  76504. c[m >> 2] | 0,
  76505. c[q >> 2] | 0,
  76506. c[M >> 2] | 0
  76507. ) | 0;
  76508. if (wj(c[R >> 2] | 0) | 0) {
  76509. c[i >> 2] = c[R >> 2];
  76510. T = c[i >> 2] | 0;
  76511. l = h;
  76512. return T | 0;
  76513. } else {
  76514. c[i >> 2] = c[u >> 2];
  76515. T = c[i >> 2] | 0;
  76516. l = h;
  76517. return T | 0;
  76518. }
  76519. }
  76520. return 0;
  76521. }
  76522. function Ij(a, d, e) {
  76523. a = a | 0;
  76524. d = d | 0;
  76525. e = e | 0;
  76526. var f = 0,
  76527. g = 0,
  76528. h = 0,
  76529. i = 0,
  76530. j = 0,
  76531. k = 0,
  76532. m = 0,
  76533. n = 0;
  76534. f = l;
  76535. l = (l + 32) | 0;
  76536. g = (f + 16) | 0;
  76537. h = (f + 12) | 0;
  76538. i = (f + 8) | 0;
  76539. j = (f + 4) | 0;
  76540. k = f;
  76541. c[h >> 2] = a;
  76542. c[i >> 2] = d;
  76543. c[j >> 2] = e;
  76544. if ((c[i >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0) {
  76545. c[g >> 2] = -30;
  76546. m = c[g >> 2] | 0;
  76547. l = f;
  76548. return m | 0;
  76549. }
  76550. c[k >> 2] = 0;
  76551. while (1) {
  76552. if ((c[k >> 2] | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
  76553. n = 8;
  76554. break;
  76555. }
  76556. if (!(b[((c[h >> 2] | 0) + (c[k >> 2] << 1)) >> 1] | 0)) {
  76557. n = 6;
  76558. break;
  76559. }
  76560. c[k >> 2] = (c[k >> 2] | 0) + 1;
  76561. }
  76562. if ((n | 0) == 6) {
  76563. c[g >> 2] = -30;
  76564. m = c[g >> 2] | 0;
  76565. l = f;
  76566. return m | 0;
  76567. } else if ((n | 0) == 8) {
  76568. c[g >> 2] = 0;
  76569. m = c[g >> 2] | 0;
  76570. l = f;
  76571. return m | 0;
  76572. }
  76573. return 0;
  76574. }
  76575. function Jj() {
  76576. return d[11936] | 0 | 0;
  76577. }
  76578. function Kj(a) {
  76579. a = a | 0;
  76580. var b = 0,
  76581. e = 0;
  76582. b = l;
  76583. l = (l + 16) | 0;
  76584. e = b;
  76585. c[e >> 2] = a;
  76586. a = c[e >> 2] | 0;
  76587. l = b;
  76588. return (
  76589. d[a >> 0] |
  76590. (d[(a + 1) >> 0] << 8) |
  76591. (d[(a + 2) >> 0] << 16) |
  76592. (d[(a + 3) >> 0] << 24) |
  76593. 0
  76594. );
  76595. }
  76596. function Lj(a) {
  76597. a = a | 0;
  76598. var b = 0,
  76599. d = 0;
  76600. b = l;
  76601. l = (l + 16) | 0;
  76602. d = b;
  76603. c[d >> 2] = a;
  76604. l = b;
  76605. return (
  76606. ((c[d >> 2] << 24) & -16777216) |
  76607. ((c[d >> 2] << 8) & 16711680) |
  76608. (((c[d >> 2] | 0) >>> 8) & 65280) |
  76609. (((c[d >> 2] | 0) >>> 24) & 255) |
  76610. 0
  76611. );
  76612. }
  76613. function Mj(a, b, d) {
  76614. a = a | 0;
  76615. b = b | 0;
  76616. d = d | 0;
  76617. var e = 0,
  76618. f = 0,
  76619. g = 0,
  76620. h = 0,
  76621. i = 0,
  76622. j = 0,
  76623. k = 0,
  76624. m = 0,
  76625. n = 0,
  76626. o = 0,
  76627. p = 0;
  76628. e = l;
  76629. l = (l + 32) | 0;
  76630. f = (e + 28) | 0;
  76631. g = (e + 24) | 0;
  76632. h = (e + 20) | 0;
  76633. i = (e + 16) | 0;
  76634. j = (e + 12) | 0;
  76635. k = (e + 8) | 0;
  76636. m = (e + 4) | 0;
  76637. n = e;
  76638. c[f >> 2] = a;
  76639. c[g >> 2] = b;
  76640. c[h >> 2] = d;
  76641. c[i >> 2] = c[g >> 2];
  76642. c[j >> 2] = 1;
  76643. if ((c[g >> 2] | 0) != (c[c[f >> 2] >> 2] | 0)) {
  76644. c[k >> 2] =
  76645. (c[c[f >> 2] >> 2] | 0) -
  76646. (c[((c[f >> 2] | 0) + 4) >> 2] | 0);
  76647. c[((c[f >> 2] | 0) + 16) >> 2] =
  76648. c[((c[f >> 2] | 0) + 12) >> 2];
  76649. c[((c[f >> 2] | 0) + 12) >> 2] = c[k >> 2];
  76650. c[((c[f >> 2] | 0) + 8) >> 2] =
  76651. c[((c[f >> 2] | 0) + 4) >> 2];
  76652. c[((c[f >> 2] | 0) + 4) >> 2] =
  76653. (c[i >> 2] | 0) + (0 - (c[k >> 2] | 0));
  76654. if (
  76655. (((c[((c[f >> 2] | 0) + 12) >> 2] | 0) -
  76656. (c[((c[f >> 2] | 0) + 16) >> 2] | 0)) |
  76657. 0) >>>
  76658. 0 <
  76659. 8
  76660. )
  76661. c[((c[f >> 2] | 0) + 16) >> 2] =
  76662. c[((c[f >> 2] | 0) + 12) >> 2];
  76663. c[j >> 2] = 0;
  76664. }
  76665. c[c[f >> 2] >> 2] = (c[i >> 2] | 0) + (c[h >> 2] | 0);
  76666. if (
  76667. !(
  76668. ((c[i >> 2] | 0) >>> 0 <
  76669. (((c[((c[f >> 2] | 0) + 8) >> 2] | 0) +
  76670. (c[((c[f >> 2] | 0) + 12) >> 2] | 0)) |
  76671. 0) >>>
  76672. 0
  76673. ? (((c[i >> 2] | 0) + (c[h >> 2] | 0)) | 0) >>> 0 >
  76674. (((c[((c[f >> 2] | 0) + 8) >> 2] | 0) +
  76675. (c[((c[f >> 2] | 0) + 16) >> 2] | 0)) |
  76676. 0) >>>
  76677. 0
  76678. : 0) | 0
  76679. )
  76680. ) {
  76681. o = c[j >> 2] | 0;
  76682. l = e;
  76683. return o | 0;
  76684. }
  76685. c[m >> 2] =
  76686. (c[i >> 2] | 0) +
  76687. (c[h >> 2] | 0) -
  76688. (c[((c[f >> 2] | 0) + 8) >> 2] | 0);
  76689. if ((c[m >> 2] | 0) > (c[((c[f >> 2] | 0) + 12) >> 2] | 0))
  76690. p = c[((c[f >> 2] | 0) + 12) >> 2] | 0;
  76691. else p = c[m >> 2] | 0;
  76692. c[n >> 2] = p;
  76693. c[((c[f >> 2] | 0) + 16) >> 2] = c[n >> 2];
  76694. o = c[j >> 2] | 0;
  76695. l = e;
  76696. return o | 0;
  76697. }
  76698. function Nj(a, b, d) {
  76699. a = a | 0;
  76700. b = b | 0;
  76701. d = d | 0;
  76702. var e = 0,
  76703. f = 0,
  76704. g = 0,
  76705. h = 0,
  76706. i = 0,
  76707. j = 0,
  76708. k = 0,
  76709. m = 0,
  76710. n = 0,
  76711. o = 0,
  76712. p = 0,
  76713. q = 0,
  76714. r = 0,
  76715. s = 0;
  76716. e = l;
  76717. l = (l + 64) | 0;
  76718. f = (e + 48) | 0;
  76719. g = (e + 44) | 0;
  76720. h = (e + 40) | 0;
  76721. i = (e + 36) | 0;
  76722. j = (e + 32) | 0;
  76723. k = (e + 28) | 0;
  76724. m = (e + 24) | 0;
  76725. n = (e + 20) | 0;
  76726. o = (e + 16) | 0;
  76727. p = (e + 8) | 0;
  76728. q = (e + 4) | 0;
  76729. r = e;
  76730. c[f >> 2] = a;
  76731. c[g >> 2] = b;
  76732. c[h >> 2] = d;
  76733. c[i >> 2] = c[((c[f >> 2] | 0) + 36) >> 2];
  76734. c[j >> 2] = c[((c[g >> 2] | 0) + 8) >> 2];
  76735. c[k >> 2] = c[((c[g >> 2] | 0) + 16) >> 2];
  76736. c[m >> 2] = c[((c[f >> 2] | 0) + 4) >> 2];
  76737. c[n >> 2] =
  76738. (c[m >> 2] | 0) + (c[((c[f >> 2] | 0) + 24) >> 2] | 0);
  76739. c[o >> 2] = (c[h >> 2] | 0) + -8;
  76740. c[(e + 12) >> 2] = 3;
  76741. while (1) {
  76742. if (
  76743. (((c[n >> 2] | 0) + 3 + -1) | 0) >>> 0 >
  76744. (c[o >> 2] | 0) >>> 0
  76745. )
  76746. break;
  76747. c[p >> 2] = (c[n >> 2] | 0) - (c[m >> 2] | 0);
  76748. c[q >> 2] = 0;
  76749. while (1) {
  76750. s = c[n >> 2] | 0;
  76751. if ((c[q >> 2] | 0) >>> 0 >= 3) break;
  76752. c[r >> 2] =
  76753. Tk(
  76754. (s + (c[q >> 2] | 0)) | 0,
  76755. c[j >> 2] | 0,
  76756. c[k >> 2] | 0
  76757. ) | 0;
  76758. if (
  76759. !((c[q >> 2] | 0) != 0
  76760. ? (c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2] |
  76761. 0) !=
  76762. 0
  76763. : 0)
  76764. )
  76765. c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2] =
  76766. (c[p >> 2] | 0) + (c[q >> 2] | 0);
  76767. c[q >> 2] = (c[q >> 2] | 0) + 1;
  76768. }
  76769. c[n >> 2] = s + 3;
  76770. }
  76771. l = e;
  76772. return;
  76773. }
  76774. function Oj(a, b, d) {
  76775. a = a | 0;
  76776. b = b | 0;
  76777. d = d | 0;
  76778. var e = 0,
  76779. f = 0,
  76780. g = 0,
  76781. h = 0,
  76782. i = 0,
  76783. j = 0,
  76784. k = 0,
  76785. m = 0,
  76786. n = 0,
  76787. o = 0,
  76788. p = 0,
  76789. q = 0,
  76790. r = 0,
  76791. s = 0,
  76792. t = 0,
  76793. u = 0,
  76794. v = 0;
  76795. e = l;
  76796. l = (l + 64) | 0;
  76797. f = (e + 60) | 0;
  76798. g = (e + 56) | 0;
  76799. h = (e + 52) | 0;
  76800. i = (e + 48) | 0;
  76801. j = (e + 44) | 0;
  76802. k = (e + 40) | 0;
  76803. m = (e + 36) | 0;
  76804. n = (e + 32) | 0;
  76805. o = (e + 28) | 0;
  76806. p = (e + 24) | 0;
  76807. q = (e + 20) | 0;
  76808. r = (e + 12) | 0;
  76809. s = (e + 8) | 0;
  76810. t = (e + 4) | 0;
  76811. u = e;
  76812. c[f >> 2] = a;
  76813. c[g >> 2] = b;
  76814. c[h >> 2] = d;
  76815. c[i >> 2] = c[((c[f >> 2] | 0) + 36) >> 2];
  76816. c[j >> 2] = c[((c[g >> 2] | 0) + 8) >> 2];
  76817. c[k >> 2] = c[((c[g >> 2] | 0) + 16) >> 2];
  76818. c[m >> 2] = c[((c[f >> 2] | 0) + 44) >> 2];
  76819. c[n >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  76820. c[o >> 2] = c[((c[f >> 2] | 0) + 4) >> 2];
  76821. c[p >> 2] =
  76822. (c[o >> 2] | 0) + (c[((c[f >> 2] | 0) + 24) >> 2] | 0);
  76823. c[q >> 2] = (c[h >> 2] | 0) + -8;
  76824. c[(e + 16) >> 2] = 3;
  76825. while (1) {
  76826. if (
  76827. (((c[p >> 2] | 0) + 3 + -1) | 0) >>> 0 >
  76828. (c[q >> 2] | 0) >>> 0
  76829. )
  76830. break;
  76831. c[r >> 2] = (c[p >> 2] | 0) - (c[o >> 2] | 0);
  76832. c[s >> 2] = 0;
  76833. while (1) {
  76834. v = c[p >> 2] | 0;
  76835. if ((c[s >> 2] | 0) >>> 0 >= 3) break;
  76836. c[t >> 2] =
  76837. Dk(
  76838. (v + (c[s >> 2] | 0)) | 0,
  76839. c[n >> 2] | 0,
  76840. c[k >> 2] | 0
  76841. ) | 0;
  76842. c[u >> 2] =
  76843. Dk(
  76844. ((c[p >> 2] | 0) + (c[s >> 2] | 0)) | 0,
  76845. c[j >> 2] | 0,
  76846. 8
  76847. ) | 0;
  76848. if (!(c[s >> 2] | 0))
  76849. c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] =
  76850. (c[r >> 2] | 0) + (c[s >> 2] | 0);
  76851. if (
  76852. !((c[s >> 2] | 0) != 0
  76853. ? (c[((c[i >> 2] | 0) + (c[u >> 2] << 2)) >> 2] |
  76854. 0) !=
  76855. 0
  76856. : 0)
  76857. )
  76858. c[((c[i >> 2] | 0) + (c[u >> 2] << 2)) >> 2] =
  76859. (c[r >> 2] | 0) + (c[s >> 2] | 0);
  76860. c[s >> 2] = (c[s >> 2] | 0) + 1;
  76861. }
  76862. c[p >> 2] = v + 3;
  76863. }
  76864. l = e;
  76865. return;
  76866. }
  76867. function Pj(a, b, d) {
  76868. a = a | 0;
  76869. b = b | 0;
  76870. d = d | 0;
  76871. var e = 0,
  76872. f = 0,
  76873. g = 0,
  76874. h = 0;
  76875. e = l;
  76876. l = (l + 16) | 0;
  76877. f = (e + 8) | 0;
  76878. g = (e + 4) | 0;
  76879. h = e;
  76880. c[f >> 2] = a;
  76881. c[g >> 2] = b;
  76882. c[h >> 2] = d;
  76883. d =
  76884. mk(
  76885. c[f >> 2] | 0,
  76886. c[g >> 2] | 0,
  76887. c[h >> 2] | 0,
  76888. c[((c[g >> 2] | 0) + 16) >> 2] | 0
  76889. ) | 0;
  76890. l = e;
  76891. return d | 0;
  76892. }
  76893. function Qj(a, b, d, e) {
  76894. a = a | 0;
  76895. b = b | 0;
  76896. d = d | 0;
  76897. e = e | 0;
  76898. var f = 0,
  76899. g = 0,
  76900. h = 0,
  76901. i = 0,
  76902. j = 0,
  76903. k = 0,
  76904. m = 0,
  76905. n = 0,
  76906. o = 0,
  76907. p = 0,
  76908. q = 0,
  76909. r = 0,
  76910. s = 0,
  76911. t = 0;
  76912. f = l;
  76913. l = (l + 64) | 0;
  76914. g = (f + 48) | 0;
  76915. h = (f + 44) | 0;
  76916. i = (f + 40) | 0;
  76917. j = (f + 36) | 0;
  76918. k = (f + 32) | 0;
  76919. m = (f + 28) | 0;
  76920. n = (f + 24) | 0;
  76921. o = (f + 20) | 0;
  76922. p = (f + 16) | 0;
  76923. q = (f + 12) | 0;
  76924. r = (f + 8) | 0;
  76925. s = (f + 4) | 0;
  76926. t = f;
  76927. c[q >> 2] = a;
  76928. c[r >> 2] = b;
  76929. c[s >> 2] = d;
  76930. c[t >> 2] = e;
  76931. e = c[r >> 2] | 0;
  76932. d = c[s >> 2] | 0;
  76933. s = c[t >> 2] | 0;
  76934. t = c[((c[r >> 2] | 0) + 16) >> 2] | 0;
  76935. c[g >> 2] = c[q >> 2];
  76936. c[h >> 2] = e;
  76937. c[i >> 2] = d;
  76938. c[j >> 2] = s;
  76939. c[k >> 2] = t;
  76940. c[m >> 2] = 0;
  76941. c[n >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  76942. c[o >> 2] = (c[i >> 2] | 0) - (c[n >> 2] | 0);
  76943. c[p >> 2] = c[((c[g >> 2] | 0) + 24) >> 2];
  76944. while (1) {
  76945. if ((c[p >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
  76946. i =
  76947. Rj(
  76948. c[g >> 2] | 0,
  76949. c[h >> 2] | 0,
  76950. ((c[n >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  76951. c[j >> 2] | 0,
  76952. c[k >> 2] | 0,
  76953. c[m >> 2] | 0
  76954. ) | 0;
  76955. c[p >> 2] = (c[p >> 2] | 0) + i;
  76956. }
  76957. c[((c[g >> 2] | 0) + 24) >> 2] = c[o >> 2];
  76958. l = f;
  76959. return;
  76960. }
  76961. function Rj(a, b, e, f, g, h) {
  76962. a = a | 0;
  76963. b = b | 0;
  76964. e = e | 0;
  76965. f = f | 0;
  76966. g = g | 0;
  76967. h = h | 0;
  76968. var i = 0,
  76969. j = 0,
  76970. k = 0,
  76971. m = 0,
  76972. n = 0,
  76973. o = 0,
  76974. p = 0,
  76975. q = 0,
  76976. r = 0,
  76977. s = 0,
  76978. t = 0,
  76979. u = 0,
  76980. v = 0,
  76981. w = 0,
  76982. x = 0,
  76983. y = 0,
  76984. z = 0,
  76985. A = 0,
  76986. B = 0,
  76987. C = 0,
  76988. D = 0,
  76989. E = 0,
  76990. F = 0,
  76991. G = 0,
  76992. H = 0,
  76993. I = 0,
  76994. J = 0,
  76995. K = 0,
  76996. L = 0,
  76997. M = 0,
  76998. N = 0,
  76999. O = 0,
  77000. P = 0,
  77001. Q = 0,
  77002. R = 0,
  77003. S = 0,
  77004. T = 0;
  77005. i = l;
  77006. l = (l + 144) | 0;
  77007. j = (i + 128) | 0;
  77008. k = (i + 124) | 0;
  77009. m = (i + 120) | 0;
  77010. n = (i + 116) | 0;
  77011. o = (i + 112) | 0;
  77012. p = (i + 108) | 0;
  77013. q = (i + 104) | 0;
  77014. r = (i + 100) | 0;
  77015. s = (i + 96) | 0;
  77016. t = (i + 92) | 0;
  77017. u = (i + 88) | 0;
  77018. v = (i + 84) | 0;
  77019. w = (i + 80) | 0;
  77020. x = (i + 76) | 0;
  77021. y = (i + 72) | 0;
  77022. z = (i + 68) | 0;
  77023. A = (i + 64) | 0;
  77024. B = (i + 60) | 0;
  77025. C = (i + 56) | 0;
  77026. D = (i + 52) | 0;
  77027. E = (i + 48) | 0;
  77028. F = (i + 44) | 0;
  77029. G = (i + 40) | 0;
  77030. H = (i + 36) | 0;
  77031. I = (i + 32) | 0;
  77032. J = (i + 28) | 0;
  77033. K = (i + 24) | 0;
  77034. L = (i + 20) | 0;
  77035. M = (i + 16) | 0;
  77036. N = (i + 12) | 0;
  77037. O = (i + 8) | 0;
  77038. P = (i + 4) | 0;
  77039. Q = i;
  77040. c[k >> 2] = a;
  77041. c[m >> 2] = b;
  77042. c[n >> 2] = e;
  77043. c[o >> 2] = f;
  77044. c[p >> 2] = g;
  77045. c[q >> 2] = h;
  77046. c[r >> 2] = c[((c[k >> 2] | 0) + 36) >> 2];
  77047. c[s >> 2] = c[((c[m >> 2] | 0) + 8) >> 2];
  77048. c[t >> 2] =
  77049. Sj(c[n >> 2] | 0, c[s >> 2] | 0, c[p >> 2] | 0) | 0;
  77050. c[u >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
  77051. c[v >> 2] = (c[((c[m >> 2] | 0) + 4) >> 2] | 0) - 1;
  77052. c[w >> 2] = (1 << c[v >> 2]) - 1;
  77053. c[x >> 2] = c[((c[r >> 2] | 0) + (c[t >> 2] << 2)) >> 2];
  77054. c[y >> 2] = 0;
  77055. c[z >> 2] = 0;
  77056. c[A >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
  77057. c[B >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
  77058. c[C >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
  77059. c[D >> 2] = (c[B >> 2] | 0) + (c[C >> 2] | 0);
  77060. c[E >> 2] = (c[A >> 2] | 0) + (c[C >> 2] | 0);
  77061. c[G >> 2] = (c[n >> 2] | 0) - (c[A >> 2] | 0);
  77062. if ((c[w >> 2] | 0) >>> 0 >= (c[G >> 2] | 0) >>> 0) R = 0;
  77063. else R = ((c[G >> 2] | 0) - (c[w >> 2] | 0)) | 0;
  77064. c[H >> 2] = R;
  77065. c[I >> 2] =
  77066. (c[u >> 2] | 0) + (((c[G >> 2] & c[w >> 2]) << 1) << 2);
  77067. c[J >> 2] = (c[I >> 2] | 0) + 4;
  77068. c[L >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
  77069. c[M >> 2] = (c[G >> 2] | 0) + 8 + 1;
  77070. c[N >> 2] = 8;
  77071. c[O >> 2] = 1 << c[((c[m >> 2] | 0) + 12) >> 2];
  77072. c[((c[r >> 2] | 0) + (c[t >> 2] << 2)) >> 2] = c[G >> 2];
  77073. while (1) {
  77074. t = c[O >> 2] | 0;
  77075. c[O >> 2] = t + -1;
  77076. if (!t) break;
  77077. if ((c[x >> 2] | 0) >>> 0 <= (c[L >> 2] | 0) >>> 0) break;
  77078. c[P >> 2] =
  77079. (c[u >> 2] | 0) + (((c[x >> 2] & c[w >> 2]) << 1) << 2);
  77080. c[Q >> 2] =
  77081. (c[y >> 2] | 0) >>> 0 < (c[z >> 2] | 0) >>> 0
  77082. ? c[y >> 2] | 0
  77083. : c[z >> 2] | 0;
  77084. if (
  77085. c[q >> 2] | 0
  77086. ? (((c[x >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 <
  77087. (c[C >> 2] | 0) >>> 0
  77088. : 0
  77089. ) {
  77090. c[F >> 2] = (c[B >> 2] | 0) + (c[x >> 2] | 0);
  77091. t =
  77092. Uj(
  77093. ((c[n >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
  77094. ((c[F >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
  77095. c[o >> 2] | 0,
  77096. c[D >> 2] | 0,
  77097. c[E >> 2] | 0
  77098. ) | 0;
  77099. c[Q >> 2] = (c[Q >> 2] | 0) + t;
  77100. if (
  77101. (((c[x >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 >=
  77102. (c[C >> 2] | 0) >>> 0
  77103. )
  77104. c[F >> 2] = (c[A >> 2] | 0) + (c[x >> 2] | 0);
  77105. } else {
  77106. c[F >> 2] = (c[A >> 2] | 0) + (c[x >> 2] | 0);
  77107. t =
  77108. Tj(
  77109. ((c[n >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
  77110. ((c[F >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
  77111. c[o >> 2] | 0
  77112. ) | 0;
  77113. c[Q >> 2] = (c[Q >> 2] | 0) + t;
  77114. }
  77115. if (
  77116. (c[Q >> 2] | 0) >>> 0 > (c[N >> 2] | 0) >>> 0
  77117. ? ((c[N >> 2] = c[Q >> 2]),
  77118. (c[Q >> 2] | 0) >>> 0 >
  77119. (((c[M >> 2] | 0) - (c[x >> 2] | 0)) | 0) >>> 0)
  77120. : 0
  77121. )
  77122. c[M >> 2] = (c[x >> 2] | 0) + (c[Q >> 2] | 0);
  77123. if (
  77124. (((c[n >> 2] | 0) + (c[Q >> 2] | 0)) | 0) ==
  77125. (c[o >> 2] | 0)
  77126. )
  77127. break;
  77128. t = c[x >> 2] | 0;
  77129. if (
  77130. (d[((c[F >> 2] | 0) + (c[Q >> 2] | 0)) >> 0] | 0 | 0) <
  77131. (d[((c[n >> 2] | 0) + (c[Q >> 2] | 0)) >> 0] | 0 | 0)
  77132. ) {
  77133. c[c[I >> 2] >> 2] = t;
  77134. c[y >> 2] = c[Q >> 2];
  77135. if ((c[x >> 2] | 0) >>> 0 <= (c[H >> 2] | 0) >>> 0) {
  77136. S = 17;
  77137. break;
  77138. }
  77139. c[I >> 2] = (c[P >> 2] | 0) + 4;
  77140. c[x >> 2] = c[((c[P >> 2] | 0) + 4) >> 2];
  77141. } else {
  77142. c[c[J >> 2] >> 2] = t;
  77143. c[z >> 2] = c[Q >> 2];
  77144. if ((c[x >> 2] | 0) >>> 0 <= (c[H >> 2] | 0) >>> 0) {
  77145. S = 20;
  77146. break;
  77147. }
  77148. c[J >> 2] = c[P >> 2];
  77149. c[x >> 2] = c[c[P >> 2] >> 2];
  77150. }
  77151. }
  77152. if ((S | 0) == 17) c[I >> 2] = K;
  77153. else if ((S | 0) == 20) c[J >> 2] = K;
  77154. c[c[J >> 2] >> 2] = 0;
  77155. c[c[I >> 2] >> 2] = 0;
  77156. if ((c[N >> 2] | 0) >>> 0 > 384) {
  77157. c[j >> 2] =
  77158. 192 < (((c[N >> 2] | 0) - 384) | 0) >>> 0
  77159. ? 192
  77160. : ((c[N >> 2] | 0) - 384) | 0;
  77161. T = c[j >> 2] | 0;
  77162. l = i;
  77163. return T | 0;
  77164. } else {
  77165. c[j >> 2] = (c[M >> 2] | 0) - ((c[G >> 2] | 0) + 8);
  77166. T = c[j >> 2] | 0;
  77167. l = i;
  77168. return T | 0;
  77169. }
  77170. return 0;
  77171. }
  77172. function Sj(a, b, d) {
  77173. a = a | 0;
  77174. b = b | 0;
  77175. d = d | 0;
  77176. var e = 0,
  77177. f = 0,
  77178. g = 0,
  77179. h = 0,
  77180. i = 0;
  77181. e = l;
  77182. l = (l + 16) | 0;
  77183. f = (e + 12) | 0;
  77184. g = (e + 8) | 0;
  77185. h = (e + 4) | 0;
  77186. i = e;
  77187. c[g >> 2] = a;
  77188. c[h >> 2] = b;
  77189. c[i >> 2] = d;
  77190. switch (c[i >> 2] | 0) {
  77191. case 8: {
  77192. c[f >> 2] = dk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77193. break;
  77194. }
  77195. case 5: {
  77196. c[f >> 2] = ak(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77197. break;
  77198. }
  77199. case 6: {
  77200. c[f >> 2] = bk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77201. break;
  77202. }
  77203. case 7: {
  77204. c[f >> 2] = ck(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77205. break;
  77206. }
  77207. default:
  77208. c[f >> 2] = $j(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77209. }
  77210. l = e;
  77211. return c[f >> 2] | 0;
  77212. }
  77213. function Tj(a, b, e) {
  77214. a = a | 0;
  77215. b = b | 0;
  77216. e = e | 0;
  77217. var f = 0,
  77218. g = 0,
  77219. h = 0,
  77220. i = 0,
  77221. j = 0,
  77222. k = 0,
  77223. m = 0,
  77224. n = 0,
  77225. o = 0,
  77226. p = 0;
  77227. f = l;
  77228. l = (l + 32) | 0;
  77229. g = (f + 28) | 0;
  77230. h = (f + 24) | 0;
  77231. i = (f + 20) | 0;
  77232. j = (f + 16) | 0;
  77233. k = (f + 12) | 0;
  77234. m = (f + 8) | 0;
  77235. n = (f + 4) | 0;
  77236. o = f;
  77237. c[h >> 2] = a;
  77238. c[i >> 2] = b;
  77239. c[j >> 2] = e;
  77240. c[k >> 2] = c[h >> 2];
  77241. c[m >> 2] = (c[j >> 2] | 0) + -3;
  77242. a: do {
  77243. if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
  77244. e = Vj(c[i >> 2] | 0) | 0;
  77245. c[n >> 2] = e ^ (Vj(c[h >> 2] | 0) | 0);
  77246. if (c[n >> 2] | 0) {
  77247. c[g >> 2] = Wj(c[n >> 2] | 0) | 0;
  77248. p = c[g >> 2] | 0;
  77249. l = f;
  77250. return p | 0;
  77251. }
  77252. c[h >> 2] = (c[h >> 2] | 0) + 4;
  77253. c[i >> 2] = (c[i >> 2] | 0) + 4;
  77254. while (1) {
  77255. if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
  77256. break a;
  77257. e = Vj(c[i >> 2] | 0) | 0;
  77258. c[o >> 2] = e ^ (Vj(c[h >> 2] | 0) | 0);
  77259. if (c[o >> 2] | 0) break;
  77260. c[h >> 2] = (c[h >> 2] | 0) + 4;
  77261. c[i >> 2] = (c[i >> 2] | 0) + 4;
  77262. }
  77263. e = Wj(c[o >> 2] | 0) | 0;
  77264. c[h >> 2] = (c[h >> 2] | 0) + e;
  77265. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  77266. p = c[g >> 2] | 0;
  77267. l = f;
  77268. return p | 0;
  77269. }
  77270. } while (0);
  77271. if (
  77272. (
  77273. Xj() | 0
  77274. ? (c[h >> 2] | 0) >>> 0 <
  77275. (((c[j >> 2] | 0) + -3) | 0) >>> 0
  77276. : 0
  77277. )
  77278. ? ((o = Yj(c[i >> 2] | 0) | 0),
  77279. (o | 0) == (Yj(c[h >> 2] | 0) | 0))
  77280. : 0
  77281. ) {
  77282. c[h >> 2] = (c[h >> 2] | 0) + 4;
  77283. c[i >> 2] = (c[i >> 2] | 0) + 4;
  77284. }
  77285. if (
  77286. (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
  77287. ? ((o = (Zj(c[i >> 2] | 0) | 0) & 65535),
  77288. (o | 0) == (((Zj(c[h >> 2] | 0) | 0) & 65535) | 0))
  77289. : 0
  77290. ) {
  77291. c[h >> 2] = (c[h >> 2] | 0) + 2;
  77292. c[i >> 2] = (c[i >> 2] | 0) + 2;
  77293. }
  77294. if (
  77295. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  77296. ? (d[c[i >> 2] >> 0] | 0 | 0) ==
  77297. (d[c[h >> 2] >> 0] | 0 | 0)
  77298. : 0
  77299. )
  77300. c[h >> 2] = (c[h >> 2] | 0) + 1;
  77301. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  77302. p = c[g >> 2] | 0;
  77303. l = f;
  77304. return p | 0;
  77305. }
  77306. function Uj(a, b, d, e, f) {
  77307. a = a | 0;
  77308. b = b | 0;
  77309. d = d | 0;
  77310. e = e | 0;
  77311. f = f | 0;
  77312. var g = 0,
  77313. h = 0,
  77314. i = 0,
  77315. j = 0,
  77316. k = 0,
  77317. m = 0,
  77318. n = 0,
  77319. o = 0,
  77320. p = 0,
  77321. q = 0,
  77322. r = 0;
  77323. g = l;
  77324. l = (l + 32) | 0;
  77325. h = (g + 28) | 0;
  77326. i = (g + 24) | 0;
  77327. j = (g + 20) | 0;
  77328. k = (g + 16) | 0;
  77329. m = (g + 12) | 0;
  77330. n = (g + 8) | 0;
  77331. o = (g + 4) | 0;
  77332. p = g;
  77333. c[i >> 2] = a;
  77334. c[j >> 2] = b;
  77335. c[k >> 2] = d;
  77336. c[m >> 2] = e;
  77337. c[n >> 2] = f;
  77338. if (
  77339. (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  77340. 0) >>>
  77341. 0 <
  77342. (c[k >> 2] | 0) >>> 0
  77343. )
  77344. q =
  77345. ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  77346. 0;
  77347. else q = c[k >> 2] | 0;
  77348. c[o >> 2] = q;
  77349. c[p >> 2] =
  77350. Tj(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
  77351. o = c[p >> 2] | 0;
  77352. if (
  77353. (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
  77354. (c[m >> 2] | 0)
  77355. ) {
  77356. c[h >> 2] = o;
  77357. r = c[h >> 2] | 0;
  77358. l = g;
  77359. return r | 0;
  77360. } else {
  77361. c[h >> 2] =
  77362. o +
  77363. (Tj(
  77364. ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  77365. c[n >> 2] | 0,
  77366. c[k >> 2] | 0
  77367. ) |
  77368. 0);
  77369. r = c[h >> 2] | 0;
  77370. l = g;
  77371. return r | 0;
  77372. }
  77373. return 0;
  77374. }
  77375. function Vj(a) {
  77376. a = a | 0;
  77377. var b = 0,
  77378. e = 0;
  77379. b = l;
  77380. l = (l + 16) | 0;
  77381. e = b;
  77382. c[e >> 2] = a;
  77383. a = c[e >> 2] | 0;
  77384. l = b;
  77385. return (
  77386. d[a >> 0] |
  77387. (d[(a + 1) >> 0] << 8) |
  77388. (d[(a + 2) >> 0] << 16) |
  77389. (d[(a + 3) >> 0] << 24) |
  77390. 0
  77391. );
  77392. }
  77393. function Wj(a) {
  77394. a = a | 0;
  77395. var b = 0,
  77396. d = 0,
  77397. e = 0,
  77398. f = 0,
  77399. g = 0;
  77400. b = l;
  77401. l = (l + 16) | 0;
  77402. d = (b + 4) | 0;
  77403. e = b;
  77404. c[e >> 2] = a;
  77405. a = (_j() | 0) != 0;
  77406. f = (Xj() | 0) != 0;
  77407. g = c[e >> 2] | 0;
  77408. do {
  77409. if (a) {
  77410. if (f) {
  77411. e = ob(g | 0, 0, 0) | 0;
  77412. c[d >> 2] = e >> 3;
  77413. break;
  77414. } else {
  77415. c[d >> 2] = (fE(g | 0) | 0) >> 3;
  77416. break;
  77417. }
  77418. } else if (f) {
  77419. e = lE(g | 0, 0, 0) | 0;
  77420. c[d >> 2] = e >> 3;
  77421. break;
  77422. } else {
  77423. c[d >> 2] = (Q(g | 0) | 0) >> 3;
  77424. break;
  77425. }
  77426. } while (0);
  77427. l = b;
  77428. return c[d >> 2] | 0;
  77429. }
  77430. function Xj() {
  77431. return 0;
  77432. }
  77433. function Yj(a) {
  77434. a = a | 0;
  77435. var b = 0,
  77436. e = 0;
  77437. b = l;
  77438. l = (l + 16) | 0;
  77439. e = b;
  77440. c[e >> 2] = a;
  77441. a = c[e >> 2] | 0;
  77442. l = b;
  77443. return (
  77444. d[a >> 0] |
  77445. (d[(a + 1) >> 0] << 8) |
  77446. (d[(a + 2) >> 0] << 16) |
  77447. (d[(a + 3) >> 0] << 24) |
  77448. 0
  77449. );
  77450. }
  77451. function Zj(a) {
  77452. a = a | 0;
  77453. var b = 0,
  77454. e = 0;
  77455. b = l;
  77456. l = (l + 16) | 0;
  77457. e = b;
  77458. c[e >> 2] = a;
  77459. a = c[e >> 2] | 0;
  77460. l = b;
  77461. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  77462. }
  77463. function _j() {
  77464. return d[11936] | 0 | 0;
  77465. }
  77466. function $j(a, b) {
  77467. a = a | 0;
  77468. b = b | 0;
  77469. var d = 0,
  77470. e = 0,
  77471. f = 0;
  77472. d = l;
  77473. l = (l + 16) | 0;
  77474. e = (d + 4) | 0;
  77475. f = d;
  77476. c[e >> 2] = a;
  77477. c[f >> 2] = b;
  77478. b = Yj(c[e >> 2] | 0) | 0;
  77479. e = lk(b, c[f >> 2] | 0) | 0;
  77480. l = d;
  77481. return e | 0;
  77482. }
  77483. function ak(a, b) {
  77484. a = a | 0;
  77485. b = b | 0;
  77486. var d = 0,
  77487. e = 0,
  77488. f = 0;
  77489. d = l;
  77490. l = (l + 16) | 0;
  77491. e = (d + 4) | 0;
  77492. f = d;
  77493. c[e >> 2] = a;
  77494. c[f >> 2] = b;
  77495. b = ek(c[e >> 2] | 0) | 0;
  77496. e = kk(b, y, c[f >> 2] | 0) | 0;
  77497. l = d;
  77498. return e | 0;
  77499. }
  77500. function bk(a, b) {
  77501. a = a | 0;
  77502. b = b | 0;
  77503. var d = 0,
  77504. e = 0,
  77505. f = 0;
  77506. d = l;
  77507. l = (l + 16) | 0;
  77508. e = (d + 4) | 0;
  77509. f = d;
  77510. c[e >> 2] = a;
  77511. c[f >> 2] = b;
  77512. b = ek(c[e >> 2] | 0) | 0;
  77513. e = jk(b, y, c[f >> 2] | 0) | 0;
  77514. l = d;
  77515. return e | 0;
  77516. }
  77517. function ck(a, b) {
  77518. a = a | 0;
  77519. b = b | 0;
  77520. var d = 0,
  77521. e = 0,
  77522. f = 0;
  77523. d = l;
  77524. l = (l + 16) | 0;
  77525. e = (d + 4) | 0;
  77526. f = d;
  77527. c[e >> 2] = a;
  77528. c[f >> 2] = b;
  77529. b = ek(c[e >> 2] | 0) | 0;
  77530. e = ik(b, y, c[f >> 2] | 0) | 0;
  77531. l = d;
  77532. return e | 0;
  77533. }
  77534. function dk(a, b) {
  77535. a = a | 0;
  77536. b = b | 0;
  77537. var d = 0,
  77538. e = 0,
  77539. f = 0;
  77540. d = l;
  77541. l = (l + 16) | 0;
  77542. e = (d + 4) | 0;
  77543. f = d;
  77544. c[e >> 2] = a;
  77545. c[f >> 2] = b;
  77546. b = ek(c[e >> 2] | 0) | 0;
  77547. e = fk(b, y, c[f >> 2] | 0) | 0;
  77548. l = d;
  77549. return e | 0;
  77550. }
  77551. function ek(a) {
  77552. a = a | 0;
  77553. var b = 0,
  77554. d = 0,
  77555. e = 0,
  77556. f = 0;
  77557. b = l;
  77558. l = (l + 16) | 0;
  77559. d = b;
  77560. e = (b + 8) | 0;
  77561. c[e >> 2] = a;
  77562. a = (_j() | 0) != 0;
  77563. f = gk(c[e >> 2] | 0) | 0;
  77564. e = y;
  77565. if (a) {
  77566. a = d;
  77567. c[a >> 2] = f;
  77568. c[(a + 4) >> 2] = e;
  77569. } else {
  77570. a = hk(f, e) | 0;
  77571. e = d;
  77572. c[e >> 2] = a;
  77573. c[(e + 4) >> 2] = y;
  77574. }
  77575. e = d;
  77576. y = c[(e + 4) >> 2] | 0;
  77577. l = b;
  77578. return c[e >> 2] | 0;
  77579. }
  77580. function fk(a, b, d) {
  77581. a = a | 0;
  77582. b = b | 0;
  77583. d = d | 0;
  77584. var e = 0,
  77585. f = 0,
  77586. g = 0,
  77587. h = 0;
  77588. e = l;
  77589. l = (l + 16) | 0;
  77590. f = e;
  77591. g = (e + 8) | 0;
  77592. h = f;
  77593. c[h >> 2] = a;
  77594. c[(h + 4) >> 2] = b;
  77595. c[g >> 2] = d;
  77596. d = f;
  77597. f =
  77598. cE(
  77599. c[d >> 2] | 0,
  77600. c[(d + 4) >> 2] | 0,
  77601. -1213897629,
  77602. -820265764
  77603. ) | 0;
  77604. d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  77605. l = e;
  77606. return d | 0;
  77607. }
  77608. function gk(a) {
  77609. a = a | 0;
  77610. var b = 0,
  77611. e = 0,
  77612. f = 0;
  77613. b = l;
  77614. l = (l + 16) | 0;
  77615. e = b;
  77616. c[e >> 2] = a;
  77617. a = c[e >> 2] | 0;
  77618. e = a;
  77619. f = (a + 4) | 0;
  77620. y =
  77621. d[f >> 0] |
  77622. (d[(f + 1) >> 0] << 8) |
  77623. (d[(f + 2) >> 0] << 16) |
  77624. (d[(f + 3) >> 0] << 24);
  77625. l = b;
  77626. return (
  77627. d[e >> 0] |
  77628. (d[(e + 1) >> 0] << 8) |
  77629. (d[(e + 2) >> 0] << 16) |
  77630. (d[(e + 3) >> 0] << 24) |
  77631. 0
  77632. );
  77633. }
  77634. function hk(a, b) {
  77635. a = a | 0;
  77636. b = b | 0;
  77637. var d = 0,
  77638. e = 0,
  77639. f = 0,
  77640. g = 0,
  77641. h = 0;
  77642. d = l;
  77643. l = (l + 16) | 0;
  77644. e = d;
  77645. f = e;
  77646. c[f >> 2] = a;
  77647. c[(f + 4) >> 2] = b;
  77648. b = e;
  77649. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  77650. b = y & -16777216;
  77651. f = e;
  77652. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  77653. f = b | (y & 16711680);
  77654. b = e;
  77655. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  77656. b = f | (y & 65280);
  77657. f = e;
  77658. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  77659. f = b | (y & 255);
  77660. b = e;
  77661. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  77662. b = e;
  77663. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  77664. b = e;
  77665. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  77666. b = e;
  77667. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  77668. y = f;
  77669. l = d;
  77670. return (
  77671. (a & -16777216) |
  77672. (g & 16711680) |
  77673. (h & 65280) |
  77674. (e & 255) |
  77675. 0
  77676. );
  77677. }
  77678. function ik(a, b, d) {
  77679. a = a | 0;
  77680. b = b | 0;
  77681. d = d | 0;
  77682. var e = 0,
  77683. f = 0,
  77684. g = 0,
  77685. h = 0;
  77686. e = l;
  77687. l = (l + 16) | 0;
  77688. f = e;
  77689. g = (e + 8) | 0;
  77690. h = f;
  77691. c[h >> 2] = a;
  77692. c[(h + 4) >> 2] = b;
  77693. c[g >> 2] = d;
  77694. d = f;
  77695. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
  77696. d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
  77697. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  77698. l = e;
  77699. return f | 0;
  77700. }
  77701. function jk(a, b, d) {
  77702. a = a | 0;
  77703. b = b | 0;
  77704. d = d | 0;
  77705. var e = 0,
  77706. f = 0,
  77707. g = 0,
  77708. h = 0;
  77709. e = l;
  77710. l = (l + 16) | 0;
  77711. f = e;
  77712. g = (e + 8) | 0;
  77713. h = f;
  77714. c[h >> 2] = a;
  77715. c[(h + 4) >> 2] = b;
  77716. c[g >> 2] = d;
  77717. d = f;
  77718. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
  77719. d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
  77720. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  77721. l = e;
  77722. return f | 0;
  77723. }
  77724. function kk(a, b, d) {
  77725. a = a | 0;
  77726. b = b | 0;
  77727. d = d | 0;
  77728. var e = 0,
  77729. f = 0,
  77730. g = 0,
  77731. h = 0;
  77732. e = l;
  77733. l = (l + 16) | 0;
  77734. f = e;
  77735. g = (e + 8) | 0;
  77736. h = f;
  77737. c[h >> 2] = a;
  77738. c[(h + 4) >> 2] = b;
  77739. c[g >> 2] = d;
  77740. d = f;
  77741. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
  77742. d = cE(f | 0, y | 0, 465362107, 207) | 0;
  77743. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  77744. l = e;
  77745. return f | 0;
  77746. }
  77747. function lk(a, b) {
  77748. a = a | 0;
  77749. b = b | 0;
  77750. var d = 0,
  77751. e = 0,
  77752. f = 0;
  77753. d = l;
  77754. l = (l + 16) | 0;
  77755. e = (d + 4) | 0;
  77756. f = d;
  77757. c[e >> 2] = a;
  77758. c[f >> 2] = b;
  77759. b = N(c[e >> 2] | 0, -1640531535) | 0;
  77760. l = d;
  77761. return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
  77762. }
  77763. function mk(a, b, d, e) {
  77764. a = a | 0;
  77765. b = b | 0;
  77766. d = d | 0;
  77767. e = e | 0;
  77768. var f = 0,
  77769. g = 0,
  77770. h = 0,
  77771. i = 0,
  77772. j = 0,
  77773. k = 0,
  77774. m = 0,
  77775. n = 0,
  77776. o = 0,
  77777. p = 0,
  77778. q = 0,
  77779. r = 0,
  77780. s = 0;
  77781. f = l;
  77782. l = (l + 48) | 0;
  77783. g = (f + 44) | 0;
  77784. h = (f + 40) | 0;
  77785. i = (f + 36) | 0;
  77786. j = (f + 32) | 0;
  77787. k = (f + 28) | 0;
  77788. m = (f + 24) | 0;
  77789. n = (f + 20) | 0;
  77790. o = (f + 16) | 0;
  77791. p = (f + 12) | 0;
  77792. q = (f + 8) | 0;
  77793. r = (f + 4) | 0;
  77794. s = f;
  77795. c[g >> 2] = a;
  77796. c[h >> 2] = b;
  77797. c[i >> 2] = d;
  77798. c[j >> 2] = e;
  77799. c[k >> 2] = c[((c[g >> 2] | 0) + 36) >> 2];
  77800. c[m >> 2] = c[((c[h >> 2] | 0) + 8) >> 2];
  77801. c[n >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
  77802. c[o >> 2] = (1 << c[((c[h >> 2] | 0) + 4) >> 2]) - 1;
  77803. c[p >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  77804. c[q >> 2] = (c[i >> 2] | 0) - (c[p >> 2] | 0);
  77805. c[r >> 2] = c[((c[g >> 2] | 0) + 24) >> 2];
  77806. while (1) {
  77807. if ((c[r >> 2] | 0) >>> 0 >= (c[q >> 2] | 0) >>> 0) break;
  77808. c[s >> 2] =
  77809. nk(
  77810. ((c[p >> 2] | 0) + (c[r >> 2] | 0)) | 0,
  77811. c[m >> 2] | 0,
  77812. c[j >> 2] | 0
  77813. ) | 0;
  77814. c[((c[n >> 2] | 0) + ((c[r >> 2] & c[o >> 2]) << 2)) >> 2] =
  77815. c[((c[k >> 2] | 0) + (c[s >> 2] << 2)) >> 2];
  77816. c[((c[k >> 2] | 0) + (c[s >> 2] << 2)) >> 2] = c[r >> 2];
  77817. c[r >> 2] = (c[r >> 2] | 0) + 1;
  77818. }
  77819. c[((c[g >> 2] | 0) + 24) >> 2] = c[q >> 2];
  77820. q = c[k >> 2] | 0;
  77821. k =
  77822. c[
  77823. (q +
  77824. ((nk(c[i >> 2] | 0, c[m >> 2] | 0, c[j >> 2] | 0) |
  77825. 0) <<
  77826. 2)) >>
  77827. 2
  77828. ] | 0;
  77829. l = f;
  77830. return k | 0;
  77831. }
  77832. function nk(a, b, d) {
  77833. a = a | 0;
  77834. b = b | 0;
  77835. d = d | 0;
  77836. var e = 0,
  77837. f = 0,
  77838. g = 0,
  77839. h = 0,
  77840. i = 0;
  77841. e = l;
  77842. l = (l + 16) | 0;
  77843. f = (e + 12) | 0;
  77844. g = (e + 8) | 0;
  77845. h = (e + 4) | 0;
  77846. i = e;
  77847. c[g >> 2] = a;
  77848. c[h >> 2] = b;
  77849. c[i >> 2] = d;
  77850. switch (c[i >> 2] | 0) {
  77851. case 8: {
  77852. c[f >> 2] = sk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77853. break;
  77854. }
  77855. case 5: {
  77856. c[f >> 2] = pk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77857. break;
  77858. }
  77859. case 6: {
  77860. c[f >> 2] = qk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77861. break;
  77862. }
  77863. case 7: {
  77864. c[f >> 2] = rk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77865. break;
  77866. }
  77867. default:
  77868. c[f >> 2] = ok(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  77869. }
  77870. l = e;
  77871. return c[f >> 2] | 0;
  77872. }
  77873. function ok(a, b) {
  77874. a = a | 0;
  77875. b = b | 0;
  77876. var d = 0,
  77877. e = 0,
  77878. f = 0;
  77879. d = l;
  77880. l = (l + 16) | 0;
  77881. e = (d + 4) | 0;
  77882. f = d;
  77883. c[e >> 2] = a;
  77884. c[f >> 2] = b;
  77885. b = Bk(c[e >> 2] | 0) | 0;
  77886. e = Ck(b, c[f >> 2] | 0) | 0;
  77887. l = d;
  77888. return e | 0;
  77889. }
  77890. function pk(a, b) {
  77891. a = a | 0;
  77892. b = b | 0;
  77893. var d = 0,
  77894. e = 0,
  77895. f = 0;
  77896. d = l;
  77897. l = (l + 16) | 0;
  77898. e = (d + 4) | 0;
  77899. f = d;
  77900. c[e >> 2] = a;
  77901. c[f >> 2] = b;
  77902. b = tk(c[e >> 2] | 0) | 0;
  77903. e = Ak(b, y, c[f >> 2] | 0) | 0;
  77904. l = d;
  77905. return e | 0;
  77906. }
  77907. function qk(a, b) {
  77908. a = a | 0;
  77909. b = b | 0;
  77910. var d = 0,
  77911. e = 0,
  77912. f = 0;
  77913. d = l;
  77914. l = (l + 16) | 0;
  77915. e = (d + 4) | 0;
  77916. f = d;
  77917. c[e >> 2] = a;
  77918. c[f >> 2] = b;
  77919. b = tk(c[e >> 2] | 0) | 0;
  77920. e = zk(b, y, c[f >> 2] | 0) | 0;
  77921. l = d;
  77922. return e | 0;
  77923. }
  77924. function rk(a, b) {
  77925. a = a | 0;
  77926. b = b | 0;
  77927. var d = 0,
  77928. e = 0,
  77929. f = 0;
  77930. d = l;
  77931. l = (l + 16) | 0;
  77932. e = (d + 4) | 0;
  77933. f = d;
  77934. c[e >> 2] = a;
  77935. c[f >> 2] = b;
  77936. b = tk(c[e >> 2] | 0) | 0;
  77937. e = yk(b, y, c[f >> 2] | 0) | 0;
  77938. l = d;
  77939. return e | 0;
  77940. }
  77941. function sk(a, b) {
  77942. a = a | 0;
  77943. b = b | 0;
  77944. var d = 0,
  77945. e = 0,
  77946. f = 0;
  77947. d = l;
  77948. l = (l + 16) | 0;
  77949. e = (d + 4) | 0;
  77950. f = d;
  77951. c[e >> 2] = a;
  77952. c[f >> 2] = b;
  77953. b = tk(c[e >> 2] | 0) | 0;
  77954. e = uk(b, y, c[f >> 2] | 0) | 0;
  77955. l = d;
  77956. return e | 0;
  77957. }
  77958. function tk(a) {
  77959. a = a | 0;
  77960. var b = 0,
  77961. d = 0,
  77962. e = 0,
  77963. f = 0;
  77964. b = l;
  77965. l = (l + 16) | 0;
  77966. d = b;
  77967. e = (b + 8) | 0;
  77968. c[e >> 2] = a;
  77969. a = (vk() | 0) != 0;
  77970. f = wk(c[e >> 2] | 0) | 0;
  77971. e = y;
  77972. if (a) {
  77973. a = d;
  77974. c[a >> 2] = f;
  77975. c[(a + 4) >> 2] = e;
  77976. } else {
  77977. a = xk(f, e) | 0;
  77978. e = d;
  77979. c[e >> 2] = a;
  77980. c[(e + 4) >> 2] = y;
  77981. }
  77982. e = d;
  77983. y = c[(e + 4) >> 2] | 0;
  77984. l = b;
  77985. return c[e >> 2] | 0;
  77986. }
  77987. function uk(a, b, d) {
  77988. a = a | 0;
  77989. b = b | 0;
  77990. d = d | 0;
  77991. var e = 0,
  77992. f = 0,
  77993. g = 0,
  77994. h = 0;
  77995. e = l;
  77996. l = (l + 16) | 0;
  77997. f = e;
  77998. g = (e + 8) | 0;
  77999. h = f;
  78000. c[h >> 2] = a;
  78001. c[(h + 4) >> 2] = b;
  78002. c[g >> 2] = d;
  78003. d = f;
  78004. f =
  78005. cE(
  78006. c[d >> 2] | 0,
  78007. c[(d + 4) >> 2] | 0,
  78008. -1213897629,
  78009. -820265764
  78010. ) | 0;
  78011. d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78012. l = e;
  78013. return d | 0;
  78014. }
  78015. function vk() {
  78016. return d[11936] | 0 | 0;
  78017. }
  78018. function wk(a) {
  78019. a = a | 0;
  78020. var b = 0,
  78021. e = 0,
  78022. f = 0;
  78023. b = l;
  78024. l = (l + 16) | 0;
  78025. e = b;
  78026. c[e >> 2] = a;
  78027. a = c[e >> 2] | 0;
  78028. e = a;
  78029. f = (a + 4) | 0;
  78030. y =
  78031. d[f >> 0] |
  78032. (d[(f + 1) >> 0] << 8) |
  78033. (d[(f + 2) >> 0] << 16) |
  78034. (d[(f + 3) >> 0] << 24);
  78035. l = b;
  78036. return (
  78037. d[e >> 0] |
  78038. (d[(e + 1) >> 0] << 8) |
  78039. (d[(e + 2) >> 0] << 16) |
  78040. (d[(e + 3) >> 0] << 24) |
  78041. 0
  78042. );
  78043. }
  78044. function xk(a, b) {
  78045. a = a | 0;
  78046. b = b | 0;
  78047. var d = 0,
  78048. e = 0,
  78049. f = 0,
  78050. g = 0,
  78051. h = 0;
  78052. d = l;
  78053. l = (l + 16) | 0;
  78054. e = d;
  78055. f = e;
  78056. c[f >> 2] = a;
  78057. c[(f + 4) >> 2] = b;
  78058. b = e;
  78059. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  78060. b = y & -16777216;
  78061. f = e;
  78062. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  78063. f = b | (y & 16711680);
  78064. b = e;
  78065. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  78066. b = f | (y & 65280);
  78067. f = e;
  78068. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  78069. f = b | (y & 255);
  78070. b = e;
  78071. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  78072. b = e;
  78073. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  78074. b = e;
  78075. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  78076. b = e;
  78077. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  78078. y = f;
  78079. l = d;
  78080. return (
  78081. (a & -16777216) |
  78082. (g & 16711680) |
  78083. (h & 65280) |
  78084. (e & 255) |
  78085. 0
  78086. );
  78087. }
  78088. function yk(a, b, d) {
  78089. a = a | 0;
  78090. b = b | 0;
  78091. d = d | 0;
  78092. var e = 0,
  78093. f = 0,
  78094. g = 0,
  78095. h = 0;
  78096. e = l;
  78097. l = (l + 16) | 0;
  78098. f = e;
  78099. g = (e + 8) | 0;
  78100. h = f;
  78101. c[h >> 2] = a;
  78102. c[(h + 4) >> 2] = b;
  78103. c[g >> 2] = d;
  78104. d = f;
  78105. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
  78106. d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
  78107. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78108. l = e;
  78109. return f | 0;
  78110. }
  78111. function zk(a, b, d) {
  78112. a = a | 0;
  78113. b = b | 0;
  78114. d = d | 0;
  78115. var e = 0,
  78116. f = 0,
  78117. g = 0,
  78118. h = 0;
  78119. e = l;
  78120. l = (l + 16) | 0;
  78121. f = e;
  78122. g = (e + 8) | 0;
  78123. h = f;
  78124. c[h >> 2] = a;
  78125. c[(h + 4) >> 2] = b;
  78126. c[g >> 2] = d;
  78127. d = f;
  78128. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
  78129. d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
  78130. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78131. l = e;
  78132. return f | 0;
  78133. }
  78134. function Ak(a, b, d) {
  78135. a = a | 0;
  78136. b = b | 0;
  78137. d = d | 0;
  78138. var e = 0,
  78139. f = 0,
  78140. g = 0,
  78141. h = 0;
  78142. e = l;
  78143. l = (l + 16) | 0;
  78144. f = e;
  78145. g = (e + 8) | 0;
  78146. h = f;
  78147. c[h >> 2] = a;
  78148. c[(h + 4) >> 2] = b;
  78149. c[g >> 2] = d;
  78150. d = f;
  78151. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
  78152. d = cE(f | 0, y | 0, 465362107, 207) | 0;
  78153. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78154. l = e;
  78155. return f | 0;
  78156. }
  78157. function Bk(a) {
  78158. a = a | 0;
  78159. var b = 0,
  78160. e = 0;
  78161. b = l;
  78162. l = (l + 16) | 0;
  78163. e = b;
  78164. c[e >> 2] = a;
  78165. a = c[e >> 2] | 0;
  78166. l = b;
  78167. return (
  78168. d[a >> 0] |
  78169. (d[(a + 1) >> 0] << 8) |
  78170. (d[(a + 2) >> 0] << 16) |
  78171. (d[(a + 3) >> 0] << 24) |
  78172. 0
  78173. );
  78174. }
  78175. function Ck(a, b) {
  78176. a = a | 0;
  78177. b = b | 0;
  78178. var d = 0,
  78179. e = 0,
  78180. f = 0;
  78181. d = l;
  78182. l = (l + 16) | 0;
  78183. e = (d + 4) | 0;
  78184. f = d;
  78185. c[e >> 2] = a;
  78186. c[f >> 2] = b;
  78187. b = N(c[e >> 2] | 0, -1640531535) | 0;
  78188. l = d;
  78189. return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
  78190. }
  78191. function Dk(a, b, d) {
  78192. a = a | 0;
  78193. b = b | 0;
  78194. d = d | 0;
  78195. var e = 0,
  78196. f = 0,
  78197. g = 0,
  78198. h = 0,
  78199. i = 0;
  78200. e = l;
  78201. l = (l + 16) | 0;
  78202. f = (e + 12) | 0;
  78203. g = (e + 8) | 0;
  78204. h = (e + 4) | 0;
  78205. i = e;
  78206. c[g >> 2] = a;
  78207. c[h >> 2] = b;
  78208. c[i >> 2] = d;
  78209. switch (c[i >> 2] | 0) {
  78210. case 8: {
  78211. c[f >> 2] = Ik(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78212. break;
  78213. }
  78214. case 5: {
  78215. c[f >> 2] = Fk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78216. break;
  78217. }
  78218. case 6: {
  78219. c[f >> 2] = Gk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78220. break;
  78221. }
  78222. case 7: {
  78223. c[f >> 2] = Hk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78224. break;
  78225. }
  78226. default:
  78227. c[f >> 2] = Ek(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78228. }
  78229. l = e;
  78230. return c[f >> 2] | 0;
  78231. }
  78232. function Ek(a, b) {
  78233. a = a | 0;
  78234. b = b | 0;
  78235. var d = 0,
  78236. e = 0,
  78237. f = 0;
  78238. d = l;
  78239. l = (l + 16) | 0;
  78240. e = (d + 4) | 0;
  78241. f = d;
  78242. c[e >> 2] = a;
  78243. c[f >> 2] = b;
  78244. b = Rk(c[e >> 2] | 0) | 0;
  78245. e = Sk(b, c[f >> 2] | 0) | 0;
  78246. l = d;
  78247. return e | 0;
  78248. }
  78249. function Fk(a, b) {
  78250. a = a | 0;
  78251. b = b | 0;
  78252. var d = 0,
  78253. e = 0,
  78254. f = 0;
  78255. d = l;
  78256. l = (l + 16) | 0;
  78257. e = (d + 4) | 0;
  78258. f = d;
  78259. c[e >> 2] = a;
  78260. c[f >> 2] = b;
  78261. b = Jk(c[e >> 2] | 0) | 0;
  78262. e = Qk(b, y, c[f >> 2] | 0) | 0;
  78263. l = d;
  78264. return e | 0;
  78265. }
  78266. function Gk(a, b) {
  78267. a = a | 0;
  78268. b = b | 0;
  78269. var d = 0,
  78270. e = 0,
  78271. f = 0;
  78272. d = l;
  78273. l = (l + 16) | 0;
  78274. e = (d + 4) | 0;
  78275. f = d;
  78276. c[e >> 2] = a;
  78277. c[f >> 2] = b;
  78278. b = Jk(c[e >> 2] | 0) | 0;
  78279. e = Pk(b, y, c[f >> 2] | 0) | 0;
  78280. l = d;
  78281. return e | 0;
  78282. }
  78283. function Hk(a, b) {
  78284. a = a | 0;
  78285. b = b | 0;
  78286. var d = 0,
  78287. e = 0,
  78288. f = 0;
  78289. d = l;
  78290. l = (l + 16) | 0;
  78291. e = (d + 4) | 0;
  78292. f = d;
  78293. c[e >> 2] = a;
  78294. c[f >> 2] = b;
  78295. b = Jk(c[e >> 2] | 0) | 0;
  78296. e = Ok(b, y, c[f >> 2] | 0) | 0;
  78297. l = d;
  78298. return e | 0;
  78299. }
  78300. function Ik(a, b) {
  78301. a = a | 0;
  78302. b = b | 0;
  78303. var d = 0,
  78304. e = 0,
  78305. f = 0;
  78306. d = l;
  78307. l = (l + 16) | 0;
  78308. e = (d + 4) | 0;
  78309. f = d;
  78310. c[e >> 2] = a;
  78311. c[f >> 2] = b;
  78312. b = Jk(c[e >> 2] | 0) | 0;
  78313. e = Kk(b, y, c[f >> 2] | 0) | 0;
  78314. l = d;
  78315. return e | 0;
  78316. }
  78317. function Jk(a) {
  78318. a = a | 0;
  78319. var b = 0,
  78320. d = 0,
  78321. e = 0,
  78322. f = 0;
  78323. b = l;
  78324. l = (l + 16) | 0;
  78325. d = b;
  78326. e = (b + 8) | 0;
  78327. c[e >> 2] = a;
  78328. a = (Lk() | 0) != 0;
  78329. f = Mk(c[e >> 2] | 0) | 0;
  78330. e = y;
  78331. if (a) {
  78332. a = d;
  78333. c[a >> 2] = f;
  78334. c[(a + 4) >> 2] = e;
  78335. } else {
  78336. a = Nk(f, e) | 0;
  78337. e = d;
  78338. c[e >> 2] = a;
  78339. c[(e + 4) >> 2] = y;
  78340. }
  78341. e = d;
  78342. y = c[(e + 4) >> 2] | 0;
  78343. l = b;
  78344. return c[e >> 2] | 0;
  78345. }
  78346. function Kk(a, b, d) {
  78347. a = a | 0;
  78348. b = b | 0;
  78349. d = d | 0;
  78350. var e = 0,
  78351. f = 0,
  78352. g = 0,
  78353. h = 0;
  78354. e = l;
  78355. l = (l + 16) | 0;
  78356. f = e;
  78357. g = (e + 8) | 0;
  78358. h = f;
  78359. c[h >> 2] = a;
  78360. c[(h + 4) >> 2] = b;
  78361. c[g >> 2] = d;
  78362. d = f;
  78363. f =
  78364. cE(
  78365. c[d >> 2] | 0,
  78366. c[(d + 4) >> 2] | 0,
  78367. -1213897629,
  78368. -820265764
  78369. ) | 0;
  78370. d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78371. l = e;
  78372. return d | 0;
  78373. }
  78374. function Lk() {
  78375. return d[11936] | 0 | 0;
  78376. }
  78377. function Mk(a) {
  78378. a = a | 0;
  78379. var b = 0,
  78380. e = 0,
  78381. f = 0;
  78382. b = l;
  78383. l = (l + 16) | 0;
  78384. e = b;
  78385. c[e >> 2] = a;
  78386. a = c[e >> 2] | 0;
  78387. e = a;
  78388. f = (a + 4) | 0;
  78389. y =
  78390. d[f >> 0] |
  78391. (d[(f + 1) >> 0] << 8) |
  78392. (d[(f + 2) >> 0] << 16) |
  78393. (d[(f + 3) >> 0] << 24);
  78394. l = b;
  78395. return (
  78396. d[e >> 0] |
  78397. (d[(e + 1) >> 0] << 8) |
  78398. (d[(e + 2) >> 0] << 16) |
  78399. (d[(e + 3) >> 0] << 24) |
  78400. 0
  78401. );
  78402. }
  78403. function Nk(a, b) {
  78404. a = a | 0;
  78405. b = b | 0;
  78406. var d = 0,
  78407. e = 0,
  78408. f = 0,
  78409. g = 0,
  78410. h = 0;
  78411. d = l;
  78412. l = (l + 16) | 0;
  78413. e = d;
  78414. f = e;
  78415. c[f >> 2] = a;
  78416. c[(f + 4) >> 2] = b;
  78417. b = e;
  78418. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  78419. b = y & -16777216;
  78420. f = e;
  78421. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  78422. f = b | (y & 16711680);
  78423. b = e;
  78424. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  78425. b = f | (y & 65280);
  78426. f = e;
  78427. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  78428. f = b | (y & 255);
  78429. b = e;
  78430. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  78431. b = e;
  78432. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  78433. b = e;
  78434. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  78435. b = e;
  78436. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  78437. y = f;
  78438. l = d;
  78439. return (
  78440. (a & -16777216) |
  78441. (g & 16711680) |
  78442. (h & 65280) |
  78443. (e & 255) |
  78444. 0
  78445. );
  78446. }
  78447. function Ok(a, b, d) {
  78448. a = a | 0;
  78449. b = b | 0;
  78450. d = d | 0;
  78451. var e = 0,
  78452. f = 0,
  78453. g = 0,
  78454. h = 0;
  78455. e = l;
  78456. l = (l + 16) | 0;
  78457. f = e;
  78458. g = (e + 8) | 0;
  78459. h = f;
  78460. c[h >> 2] = a;
  78461. c[(h + 4) >> 2] = b;
  78462. c[g >> 2] = d;
  78463. d = f;
  78464. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
  78465. d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
  78466. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78467. l = e;
  78468. return f | 0;
  78469. }
  78470. function Pk(a, b, d) {
  78471. a = a | 0;
  78472. b = b | 0;
  78473. d = d | 0;
  78474. var e = 0,
  78475. f = 0,
  78476. g = 0,
  78477. h = 0;
  78478. e = l;
  78479. l = (l + 16) | 0;
  78480. f = e;
  78481. g = (e + 8) | 0;
  78482. h = f;
  78483. c[h >> 2] = a;
  78484. c[(h + 4) >> 2] = b;
  78485. c[g >> 2] = d;
  78486. d = f;
  78487. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
  78488. d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
  78489. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78490. l = e;
  78491. return f | 0;
  78492. }
  78493. function Qk(a, b, d) {
  78494. a = a | 0;
  78495. b = b | 0;
  78496. d = d | 0;
  78497. var e = 0,
  78498. f = 0,
  78499. g = 0,
  78500. h = 0;
  78501. e = l;
  78502. l = (l + 16) | 0;
  78503. f = e;
  78504. g = (e + 8) | 0;
  78505. h = f;
  78506. c[h >> 2] = a;
  78507. c[(h + 4) >> 2] = b;
  78508. c[g >> 2] = d;
  78509. d = f;
  78510. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
  78511. d = cE(f | 0, y | 0, 465362107, 207) | 0;
  78512. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78513. l = e;
  78514. return f | 0;
  78515. }
  78516. function Rk(a) {
  78517. a = a | 0;
  78518. var b = 0,
  78519. e = 0;
  78520. b = l;
  78521. l = (l + 16) | 0;
  78522. e = b;
  78523. c[e >> 2] = a;
  78524. a = c[e >> 2] | 0;
  78525. l = b;
  78526. return (
  78527. d[a >> 0] |
  78528. (d[(a + 1) >> 0] << 8) |
  78529. (d[(a + 2) >> 0] << 16) |
  78530. (d[(a + 3) >> 0] << 24) |
  78531. 0
  78532. );
  78533. }
  78534. function Sk(a, b) {
  78535. a = a | 0;
  78536. b = b | 0;
  78537. var d = 0,
  78538. e = 0,
  78539. f = 0;
  78540. d = l;
  78541. l = (l + 16) | 0;
  78542. e = (d + 4) | 0;
  78543. f = d;
  78544. c[e >> 2] = a;
  78545. c[f >> 2] = b;
  78546. b = N(c[e >> 2] | 0, -1640531535) | 0;
  78547. l = d;
  78548. return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
  78549. }
  78550. function Tk(a, b, d) {
  78551. a = a | 0;
  78552. b = b | 0;
  78553. d = d | 0;
  78554. var e = 0,
  78555. f = 0,
  78556. g = 0,
  78557. h = 0,
  78558. i = 0;
  78559. e = l;
  78560. l = (l + 16) | 0;
  78561. f = (e + 12) | 0;
  78562. g = (e + 8) | 0;
  78563. h = (e + 4) | 0;
  78564. i = e;
  78565. c[g >> 2] = a;
  78566. c[h >> 2] = b;
  78567. c[i >> 2] = d;
  78568. switch (c[i >> 2] | 0) {
  78569. case 8: {
  78570. c[f >> 2] = Yk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78571. break;
  78572. }
  78573. case 5: {
  78574. c[f >> 2] = Vk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78575. break;
  78576. }
  78577. case 6: {
  78578. c[f >> 2] = Wk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78579. break;
  78580. }
  78581. case 7: {
  78582. c[f >> 2] = Xk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78583. break;
  78584. }
  78585. default:
  78586. c[f >> 2] = Uk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  78587. }
  78588. l = e;
  78589. return c[f >> 2] | 0;
  78590. }
  78591. function Uk(a, b) {
  78592. a = a | 0;
  78593. b = b | 0;
  78594. var d = 0,
  78595. e = 0,
  78596. f = 0;
  78597. d = l;
  78598. l = (l + 16) | 0;
  78599. e = (d + 4) | 0;
  78600. f = d;
  78601. c[e >> 2] = a;
  78602. c[f >> 2] = b;
  78603. b = fl(c[e >> 2] | 0) | 0;
  78604. e = gl(b, c[f >> 2] | 0) | 0;
  78605. l = d;
  78606. return e | 0;
  78607. }
  78608. function Vk(a, b) {
  78609. a = a | 0;
  78610. b = b | 0;
  78611. var d = 0,
  78612. e = 0,
  78613. f = 0;
  78614. d = l;
  78615. l = (l + 16) | 0;
  78616. e = (d + 4) | 0;
  78617. f = d;
  78618. c[e >> 2] = a;
  78619. c[f >> 2] = b;
  78620. b = Zk(c[e >> 2] | 0) | 0;
  78621. e = el(b, y, c[f >> 2] | 0) | 0;
  78622. l = d;
  78623. return e | 0;
  78624. }
  78625. function Wk(a, b) {
  78626. a = a | 0;
  78627. b = b | 0;
  78628. var d = 0,
  78629. e = 0,
  78630. f = 0;
  78631. d = l;
  78632. l = (l + 16) | 0;
  78633. e = (d + 4) | 0;
  78634. f = d;
  78635. c[e >> 2] = a;
  78636. c[f >> 2] = b;
  78637. b = Zk(c[e >> 2] | 0) | 0;
  78638. e = dl(b, y, c[f >> 2] | 0) | 0;
  78639. l = d;
  78640. return e | 0;
  78641. }
  78642. function Xk(a, b) {
  78643. a = a | 0;
  78644. b = b | 0;
  78645. var d = 0,
  78646. e = 0,
  78647. f = 0;
  78648. d = l;
  78649. l = (l + 16) | 0;
  78650. e = (d + 4) | 0;
  78651. f = d;
  78652. c[e >> 2] = a;
  78653. c[f >> 2] = b;
  78654. b = Zk(c[e >> 2] | 0) | 0;
  78655. e = cl(b, y, c[f >> 2] | 0) | 0;
  78656. l = d;
  78657. return e | 0;
  78658. }
  78659. function Yk(a, b) {
  78660. a = a | 0;
  78661. b = b | 0;
  78662. var d = 0,
  78663. e = 0,
  78664. f = 0;
  78665. d = l;
  78666. l = (l + 16) | 0;
  78667. e = (d + 4) | 0;
  78668. f = d;
  78669. c[e >> 2] = a;
  78670. c[f >> 2] = b;
  78671. b = Zk(c[e >> 2] | 0) | 0;
  78672. e = _k(b, y, c[f >> 2] | 0) | 0;
  78673. l = d;
  78674. return e | 0;
  78675. }
  78676. function Zk(a) {
  78677. a = a | 0;
  78678. var b = 0,
  78679. d = 0,
  78680. e = 0,
  78681. f = 0;
  78682. b = l;
  78683. l = (l + 16) | 0;
  78684. d = b;
  78685. e = (b + 8) | 0;
  78686. c[e >> 2] = a;
  78687. a = ($k() | 0) != 0;
  78688. f = al(c[e >> 2] | 0) | 0;
  78689. e = y;
  78690. if (a) {
  78691. a = d;
  78692. c[a >> 2] = f;
  78693. c[(a + 4) >> 2] = e;
  78694. } else {
  78695. a = bl(f, e) | 0;
  78696. e = d;
  78697. c[e >> 2] = a;
  78698. c[(e + 4) >> 2] = y;
  78699. }
  78700. e = d;
  78701. y = c[(e + 4) >> 2] | 0;
  78702. l = b;
  78703. return c[e >> 2] | 0;
  78704. }
  78705. function _k(a, b, d) {
  78706. a = a | 0;
  78707. b = b | 0;
  78708. d = d | 0;
  78709. var e = 0,
  78710. f = 0,
  78711. g = 0,
  78712. h = 0;
  78713. e = l;
  78714. l = (l + 16) | 0;
  78715. f = e;
  78716. g = (e + 8) | 0;
  78717. h = f;
  78718. c[h >> 2] = a;
  78719. c[(h + 4) >> 2] = b;
  78720. c[g >> 2] = d;
  78721. d = f;
  78722. f =
  78723. cE(
  78724. c[d >> 2] | 0,
  78725. c[(d + 4) >> 2] | 0,
  78726. -1213897629,
  78727. -820265764
  78728. ) | 0;
  78729. d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78730. l = e;
  78731. return d | 0;
  78732. }
  78733. function $k() {
  78734. return d[11936] | 0 | 0;
  78735. }
  78736. function al(a) {
  78737. a = a | 0;
  78738. var b = 0,
  78739. e = 0,
  78740. f = 0;
  78741. b = l;
  78742. l = (l + 16) | 0;
  78743. e = b;
  78744. c[e >> 2] = a;
  78745. a = c[e >> 2] | 0;
  78746. e = a;
  78747. f = (a + 4) | 0;
  78748. y =
  78749. d[f >> 0] |
  78750. (d[(f + 1) >> 0] << 8) |
  78751. (d[(f + 2) >> 0] << 16) |
  78752. (d[(f + 3) >> 0] << 24);
  78753. l = b;
  78754. return (
  78755. d[e >> 0] |
  78756. (d[(e + 1) >> 0] << 8) |
  78757. (d[(e + 2) >> 0] << 16) |
  78758. (d[(e + 3) >> 0] << 24) |
  78759. 0
  78760. );
  78761. }
  78762. function bl(a, b) {
  78763. a = a | 0;
  78764. b = b | 0;
  78765. var d = 0,
  78766. e = 0,
  78767. f = 0,
  78768. g = 0,
  78769. h = 0;
  78770. d = l;
  78771. l = (l + 16) | 0;
  78772. e = d;
  78773. f = e;
  78774. c[f >> 2] = a;
  78775. c[(f + 4) >> 2] = b;
  78776. b = e;
  78777. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  78778. b = y & -16777216;
  78779. f = e;
  78780. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  78781. f = b | (y & 16711680);
  78782. b = e;
  78783. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  78784. b = f | (y & 65280);
  78785. f = e;
  78786. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  78787. f = b | (y & 255);
  78788. b = e;
  78789. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  78790. b = e;
  78791. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  78792. b = e;
  78793. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  78794. b = e;
  78795. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  78796. y = f;
  78797. l = d;
  78798. return (
  78799. (a & -16777216) |
  78800. (g & 16711680) |
  78801. (h & 65280) |
  78802. (e & 255) |
  78803. 0
  78804. );
  78805. }
  78806. function cl(a, b, d) {
  78807. a = a | 0;
  78808. b = b | 0;
  78809. d = d | 0;
  78810. var e = 0,
  78811. f = 0,
  78812. g = 0,
  78813. h = 0;
  78814. e = l;
  78815. l = (l + 16) | 0;
  78816. f = e;
  78817. g = (e + 8) | 0;
  78818. h = f;
  78819. c[h >> 2] = a;
  78820. c[(h + 4) >> 2] = b;
  78821. c[g >> 2] = d;
  78822. d = f;
  78823. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
  78824. d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
  78825. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78826. l = e;
  78827. return f | 0;
  78828. }
  78829. function dl(a, b, d) {
  78830. a = a | 0;
  78831. b = b | 0;
  78832. d = d | 0;
  78833. var e = 0,
  78834. f = 0,
  78835. g = 0,
  78836. h = 0;
  78837. e = l;
  78838. l = (l + 16) | 0;
  78839. f = e;
  78840. g = (e + 8) | 0;
  78841. h = f;
  78842. c[h >> 2] = a;
  78843. c[(h + 4) >> 2] = b;
  78844. c[g >> 2] = d;
  78845. d = f;
  78846. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
  78847. d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
  78848. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78849. l = e;
  78850. return f | 0;
  78851. }
  78852. function el(a, b, d) {
  78853. a = a | 0;
  78854. b = b | 0;
  78855. d = d | 0;
  78856. var e = 0,
  78857. f = 0,
  78858. g = 0,
  78859. h = 0;
  78860. e = l;
  78861. l = (l + 16) | 0;
  78862. f = e;
  78863. g = (e + 8) | 0;
  78864. h = f;
  78865. c[h >> 2] = a;
  78866. c[(h + 4) >> 2] = b;
  78867. c[g >> 2] = d;
  78868. d = f;
  78869. f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
  78870. d = cE(f | 0, y | 0, 465362107, 207) | 0;
  78871. f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
  78872. l = e;
  78873. return f | 0;
  78874. }
  78875. function fl(a) {
  78876. a = a | 0;
  78877. var b = 0,
  78878. e = 0;
  78879. b = l;
  78880. l = (l + 16) | 0;
  78881. e = b;
  78882. c[e >> 2] = a;
  78883. a = c[e >> 2] | 0;
  78884. l = b;
  78885. return (
  78886. d[a >> 0] |
  78887. (d[(a + 1) >> 0] << 8) |
  78888. (d[(a + 2) >> 0] << 16) |
  78889. (d[(a + 3) >> 0] << 24) |
  78890. 0
  78891. );
  78892. }
  78893. function gl(a, b) {
  78894. a = a | 0;
  78895. b = b | 0;
  78896. var d = 0,
  78897. e = 0,
  78898. f = 0;
  78899. d = l;
  78900. l = (l + 16) | 0;
  78901. e = (d + 4) | 0;
  78902. f = d;
  78903. c[e >> 2] = a;
  78904. c[f >> 2] = b;
  78905. b = N(c[e >> 2] | 0, -1640531535) | 0;
  78906. l = d;
  78907. return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
  78908. }
  78909. function hl(a) {
  78910. a = a | 0;
  78911. var b = 0,
  78912. d = 0;
  78913. b = l;
  78914. l = (l + 16) | 0;
  78915. d = b;
  78916. c[d >> 2] = a;
  78917. il(c[d >> 2] | 0);
  78918. c[((c[d >> 2] | 0) + 24) >> 2] =
  78919. (c[((c[d >> 2] | 0) + 12) >> 2] | 0) + 1;
  78920. c[((c[d >> 2] | 0) + 20) >> 2] = 0;
  78921. c[((c[d >> 2] | 0) + 48 + 28) >> 2] = 0;
  78922. l = b;
  78923. return;
  78924. }
  78925. function il(a) {
  78926. a = a | 0;
  78927. var b = 0,
  78928. d = 0,
  78929. e = 0,
  78930. f = 0;
  78931. b = l;
  78932. l = (l + 16) | 0;
  78933. d = (b + 8) | 0;
  78934. e = (b + 4) | 0;
  78935. f = b;
  78936. c[d >> 2] = a;
  78937. c[e >> 2] =
  78938. (c[c[d >> 2] >> 2] | 0) -
  78939. (c[((c[d >> 2] | 0) + 4) >> 2] | 0);
  78940. c[f >> 2] = c[e >> 2];
  78941. c[((c[d >> 2] | 0) + 16) >> 2] = c[f >> 2];
  78942. c[((c[d >> 2] | 0) + 12) >> 2] = c[f >> 2];
  78943. l = b;
  78944. return;
  78945. }
  78946. function jl(a) {
  78947. a = a | 0;
  78948. var b = 0,
  78949. d = 0;
  78950. b = l;
  78951. l = (l + 16) | 0;
  78952. d = b;
  78953. c[d >> 2] = a;
  78954. c[((c[d >> 2] | 0) + 628) >> 2] = 0;
  78955. a = ((c[d >> 2] | 0) + 240) | 0;
  78956. c[a >> 2] = 0;
  78957. c[(a + 4) >> 2] = 0;
  78958. l = b;
  78959. return;
  78960. }
  78961. function kl(a) {
  78962. a = a | 0;
  78963. var b = 0,
  78964. d = 0,
  78965. e = 0,
  78966. f = 0,
  78967. g = 0;
  78968. b = l;
  78969. l = (l + 16) | 0;
  78970. d = (b + 12) | 0;
  78971. e = (b + 8) | 0;
  78972. f = (b + 4) | 0;
  78973. g = b;
  78974. c[d >> 2] = 1 << c[(a + 4) >> 2];
  78975. c[e >> 2] =
  78976. (c[(a + 8) >> 2] | 0) >>> 0 < (c[(a + 4) >> 2] | 0) >>> 0
  78977. ? c[(a + 8) >> 2] | 0
  78978. : c[(a + 4) >> 2] | 0;
  78979. c[f >> 2] = 1 << ((c[(a + 4) >> 2] | 0) - (c[e >> 2] | 0));
  78980. c[g >> 2] = (c[f >> 2] | 0) + (c[d >> 2] << 3);
  78981. l = b;
  78982. return (c[a >> 2] | 0 ? c[g >> 2] | 0 : 0) | 0;
  78983. }
  78984. function ll(a, b) {
  78985. a = a | 0;
  78986. b = b | 0;
  78987. var d = 0,
  78988. e = 0,
  78989. f = 0;
  78990. d = l;
  78991. l = (l + 16) | 0;
  78992. e = d;
  78993. c[e >> 2] = b;
  78994. if (!(c[a >> 2] | 0)) {
  78995. f = 0;
  78996. l = d;
  78997. return f | 0;
  78998. }
  78999. f =
  79000. (((c[e >> 2] | 0) >>> 0) / ((c[(a + 12) >> 2] | 0) >>> 0)) |
  79001. 0;
  79002. l = d;
  79003. return f | 0;
  79004. }
  79005. function ml(a, b, d, e, f, g) {
  79006. a = a | 0;
  79007. b = b | 0;
  79008. d = d | 0;
  79009. e = e | 0;
  79010. f = f | 0;
  79011. g = g | 0;
  79012. var h = 0,
  79013. i = 0,
  79014. j = 0,
  79015. k = 0,
  79016. m = 0,
  79017. n = 0,
  79018. o = 0,
  79019. p = 0,
  79020. q = 0,
  79021. r = 0,
  79022. s = 0,
  79023. t = 0,
  79024. u = 0,
  79025. v = 0,
  79026. w = 0,
  79027. x = 0,
  79028. z = 0,
  79029. A = 0,
  79030. B = 0,
  79031. C = 0,
  79032. D = 0,
  79033. E = 0,
  79034. F = 0,
  79035. G = 0,
  79036. H = 0,
  79037. I = 0,
  79038. J = 0,
  79039. K = 0,
  79040. L = 0,
  79041. M = 0,
  79042. N = 0,
  79043. O = 0,
  79044. P = 0,
  79045. Q = 0,
  79046. R = 0,
  79047. S = 0,
  79048. T = 0,
  79049. U = 0;
  79050. h = l;
  79051. l = (l + 304) | 0;
  79052. i = (h + 200) | 0;
  79053. j = (h + 80) | 0;
  79054. k = (h + 196) | 0;
  79055. m = (h + 192) | 0;
  79056. n = h;
  79057. o = (h + 188) | 0;
  79058. p = (h + 184) | 0;
  79059. q = (h + 76) | 0;
  79060. r = (h + 72) | 0;
  79061. s = (h + 68) | 0;
  79062. t = (h + 64) | 0;
  79063. u = (h + 60) | 0;
  79064. v = (h + 56) | 0;
  79065. w = (h + 52) | 0;
  79066. x = (h + 48) | 0;
  79067. z = (h + 44) | 0;
  79068. A = (h + 40) | 0;
  79069. B = (h + 36) | 0;
  79070. C = (h + 32) | 0;
  79071. D = (h + 28) | 0;
  79072. E = (h + 24) | 0;
  79073. F = (h + 20) | 0;
  79074. G = (h + 16) | 0;
  79075. H = (h + 12) | 0;
  79076. I = (h + 8) | 0;
  79077. c[m >> 2] = a;
  79078. a = n;
  79079. c[a >> 2] = d;
  79080. c[(a + 4) >> 2] = e;
  79081. c[o >> 2] = f;
  79082. c[p >> 2] = g;
  79083. if (!(c[o >> 2] | 0)) {
  79084. g = c[((c[m >> 2] | 0) + 596) >> 2] | 0;
  79085. f = c[((c[m >> 2] | 0) + 232) >> 2] | 0;
  79086. e = c[p >> 2] | 0;
  79087. a = n;
  79088. d = c[a >> 2] | 0;
  79089. J = c[(a + 4) >> 2] | 0;
  79090. K = j;
  79091. L = ((c[m >> 2] | 0) + 116) | 0;
  79092. M = (K + 104) | 0;
  79093. do {
  79094. c[K >> 2] = c[L >> 2];
  79095. K = (K + 4) | 0;
  79096. L = (L + 4) | 0;
  79097. } while ((K | 0) < (M | 0));
  79098. K = i;
  79099. L = b;
  79100. M = (K + 104) | 0;
  79101. do {
  79102. c[K >> 2] = c[L >> 2];
  79103. K = (K + 4) | 0;
  79104. L = (L + 4) | 0;
  79105. } while ((K | 0) < (M | 0));
  79106. if (nl(j, i, g, f, e, d, J) | 0) {
  79107. J = c[m >> 2] | 0;
  79108. d = n;
  79109. e = c[d >> 2] | 0;
  79110. f = c[(d + 4) >> 2] | 0;
  79111. K = i;
  79112. L = b;
  79113. M = (K + 104) | 0;
  79114. do {
  79115. c[K >> 2] = c[L >> 2];
  79116. K = (K + 4) | 0;
  79117. L = (L + 4) | 0;
  79118. } while ((K | 0) < (M | 0));
  79119. c[k >> 2] = ol(J, i, e, f) | 0;
  79120. N = c[k >> 2] | 0;
  79121. l = h;
  79122. return N | 0;
  79123. }
  79124. }
  79125. if (c[(b + 68) >> 2] | 0) {
  79126. c[(b + 68 + 20) >> 2] = c[(b + 4) >> 2];
  79127. pl((b + 68) | 0, (b + 4) | 0);
  79128. f = ql(c[(b + 68 + 12) >> 2] | 0) | 0;
  79129. e = ((c[m >> 2] | 0) + 408 + 32) | 0;
  79130. c[e >> 2] = f;
  79131. c[(e + 4) >> 2] = y;
  79132. }
  79133. e = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79134. f = y;
  79135. J = n;
  79136. d = c[(J + 4) >> 2] | 0;
  79137. if (
  79138. (f >>> 0 < d >>> 0) |
  79139. ((f | 0) == (d | 0) ? e >>> 0 < (c[J >> 2] | 0) >>> 0 : 0)
  79140. ) {
  79141. J = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79142. O = J;
  79143. P = y;
  79144. } else {
  79145. J = n;
  79146. O = c[J >> 2] | 0;
  79147. P = c[(J + 4) >> 2] | 0;
  79148. }
  79149. if (1 > O >>> 0) Q = 1;
  79150. else {
  79151. O = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79152. J = y;
  79153. P = n;
  79154. e = c[(P + 4) >> 2] | 0;
  79155. if (
  79156. (J >>> 0 < e >>> 0) |
  79157. ((J | 0) == (e | 0) ? O >>> 0 < (c[P >> 2] | 0) >>> 0 : 0)
  79158. ) {
  79159. P = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79160. R = P;
  79161. S = y;
  79162. } else {
  79163. P = n;
  79164. R = c[P >> 2] | 0;
  79165. S = c[(P + 4) >> 2] | 0;
  79166. }
  79167. Q = R;
  79168. }
  79169. c[q >> 2] = Q;
  79170. c[r >> 2] =
  79171. 131072 < (c[q >> 2] | 0) >>> 0 ? 131072 : c[q >> 2] | 0;
  79172. c[s >> 2] = (c[(b + 4 + 16) >> 2] | 0) == 3 ? 3 : 4;
  79173. c[t >> 2] =
  79174. (((c[r >> 2] | 0) >>> 0) / ((c[s >> 2] | 0) >>> 0)) | 0;
  79175. c[u >> 2] = (c[r >> 2] | 0) + (((c[t >> 2] | 0) * 11) | 0);
  79176. if ((c[p >> 2] | 0) == 1)
  79177. T = ((lj(c[r >> 2] | 0) | 0) + 1) | 0;
  79178. else T = 0;
  79179. c[v >> 2] = T;
  79180. if ((c[p >> 2] | 0) == 1)
  79181. U = ((c[q >> 2] | 0) + (c[r >> 2] | 0)) | 0;
  79182. else U = 0;
  79183. c[w >> 2] = U;
  79184. c[x >> 2] = Aj((b + 4) | 0, 1) | 0;
  79185. U = (b + 68) | 0;
  79186. q = c[r >> 2] | 0;
  79187. c[i >> 2] = c[U >> 2];
  79188. c[(i + 4) >> 2] = c[(U + 4) >> 2];
  79189. c[(i + 8) >> 2] = c[(U + 8) >> 2];
  79190. c[(i + 12) >> 2] = c[(U + 12) >> 2];
  79191. c[(i + 16) >> 2] = c[(U + 16) >> 2];
  79192. c[(i + 20) >> 2] = c[(U + 20) >> 2];
  79193. c[z >> 2] = ll(i, q) | 0;
  79194. c[B >> 2] = 6144;
  79195. c[C >> 2] = 9184;
  79196. c[D >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  79197. C = (b + 68) | 0;
  79198. c[i >> 2] = c[C >> 2];
  79199. c[(i + 4) >> 2] = c[(C + 4) >> 2];
  79200. c[(i + 8) >> 2] = c[(C + 8) >> 2];
  79201. c[(i + 12) >> 2] = c[(C + 12) >> 2];
  79202. c[(i + 16) >> 2] = c[(C + 16) >> 2];
  79203. c[(i + 20) >> 2] = c[(C + 20) >> 2];
  79204. c[E >> 2] = kl(i) | 0;
  79205. c[F >> 2] = (c[z >> 2] | 0) * 12;
  79206. c[G >> 2] =
  79207. 15328 +
  79208. (c[E >> 2] | 0) +
  79209. (c[F >> 2] | 0) +
  79210. (c[x >> 2] | 0) +
  79211. (c[u >> 2] | 0) +
  79212. (c[D >> 2] | 0);
  79213. do {
  79214. if (
  79215. (c[((c[m >> 2] | 0) + 228) >> 2] | 0) >>> 0 <
  79216. (c[G >> 2] | 0) >>> 0
  79217. ) {
  79218. if (c[((c[m >> 2] | 0) + 364) >> 2] | 0) {
  79219. c[k >> 2] = -64;
  79220. N = c[k >> 2] | 0;
  79221. l = h;
  79222. return N | 0;
  79223. }
  79224. c[((c[m >> 2] | 0) + 228) >> 2] = 0;
  79225. D = c[((c[m >> 2] | 0) + 224) >> 2] | 0;
  79226. u = ((c[m >> 2] | 0) + 352) | 0;
  79227. c[i >> 2] = c[u >> 2];
  79228. c[(i + 4) >> 2] = c[(u + 4) >> 2];
  79229. c[(i + 8) >> 2] = c[(u + 8) >> 2];
  79230. Th(D, i);
  79231. D = c[G >> 2] | 0;
  79232. u = ((c[m >> 2] | 0) + 352) | 0;
  79233. c[i >> 2] = c[u >> 2];
  79234. c[(i + 4) >> 2] = c[(u + 4) >> 2];
  79235. c[(i + 8) >> 2] = c[(u + 8) >> 2];
  79236. u = Rh(D, i) | 0;
  79237. c[((c[m >> 2] | 0) + 224) >> 2] = u;
  79238. if (c[((c[m >> 2] | 0) + 224) >> 2] | 0) {
  79239. c[((c[m >> 2] | 0) + 228) >> 2] = c[G >> 2];
  79240. c[A >> 2] = c[((c[m >> 2] | 0) + 224) >> 2];
  79241. c[((c[m >> 2] | 0) + 472) >> 2] =
  79242. c[((c[m >> 2] | 0) + 224) >> 2];
  79243. c[((c[m >> 2] | 0) + 472 + 4) >> 2] =
  79244. (c[((c[m >> 2] | 0) + 472) >> 2] | 0) + 4592;
  79245. c[A >> 2] =
  79246. (c[((c[m >> 2] | 0) + 472 + 4) >> 2] | 0) + 4592;
  79247. c[((c[m >> 2] | 0) + 588) >> 2] = c[A >> 2];
  79248. break;
  79249. }
  79250. c[k >> 2] = -64;
  79251. N = c[k >> 2] | 0;
  79252. l = h;
  79253. return N | 0;
  79254. }
  79255. } while (0);
  79256. K = ((c[m >> 2] | 0) + 116) | 0;
  79257. L = b;
  79258. M = (K + 104) | 0;
  79259. do {
  79260. c[K >> 2] = c[L >> 2];
  79261. K = (K + 4) | 0;
  79262. L = (L + 4) | 0;
  79263. } while ((K | 0) < (M | 0));
  79264. L = n;
  79265. K = dE(c[L >> 2] | 0, c[(L + 4) >> 2] | 0, 1, 0) | 0;
  79266. L = ((c[m >> 2] | 0) + 240) | 0;
  79267. c[L >> 2] = K;
  79268. c[(L + 4) >> 2] = y;
  79269. L = ((c[m >> 2] | 0) + 248) | 0;
  79270. c[L >> 2] = 0;
  79271. c[(L + 4) >> 2] = 0;
  79272. L = ((c[m >> 2] | 0) + 256) | 0;
  79273. c[L >> 2] = 0;
  79274. c[(L + 4) >> 2] = 0;
  79275. L = n;
  79276. if ((c[L >> 2] | 0) == -1 ? (c[(L + 4) >> 2] | 0) == -1 : 0)
  79277. c[((c[m >> 2] | 0) + 116 + 32) >> 2] = 0;
  79278. c[((c[m >> 2] | 0) + 232) >> 2] = c[r >> 2];
  79279. Lh(((c[m >> 2] | 0) + 264) | 0, 0, 0) | 0;
  79280. c[c[m >> 2] >> 2] = 1;
  79281. c[((c[m >> 2] | 0) + 220) >> 2] = 0;
  79282. Cj(c[((c[m >> 2] | 0) + 472) >> 2] | 0);
  79283. c[A >> 2] = (c[((c[m >> 2] | 0) + 588) >> 2] | 0) + 6144;
  79284. if (c[(b + 68) >> 2] | 0) {
  79285. c[H >> 2] = 1 << c[(b + 68 + 4) >> 2];
  79286. oE(c[A >> 2] | 0, 0, (c[H >> 2] << 3) | 0) | 0;
  79287. c[((c[m >> 2] | 0) + 408 + 20) >> 2] = c[A >> 2];
  79288. c[A >> 2] =
  79289. (c[((c[m >> 2] | 0) + 408 + 20) >> 2] | 0) +
  79290. (c[H >> 2] << 3);
  79291. c[((c[m >> 2] | 0) + 448) >> 2] = c[A >> 2];
  79292. c[A >> 2] =
  79293. (c[((c[m >> 2] | 0) + 448) >> 2] | 0) +
  79294. (((c[z >> 2] | 0) * 12) | 0);
  79295. c[((c[m >> 2] | 0) + 452) >> 2] = c[z >> 2];
  79296. z = ((c[m >> 2] | 0) + 408) | 0;
  79297. c[z >> 2] = 0;
  79298. c[(z + 4) >> 2] = 0;
  79299. c[(z + 8) >> 2] = 0;
  79300. c[(z + 12) >> 2] = 0;
  79301. c[(z + 16) >> 2] = 0;
  79302. }
  79303. c[A >> 2] =
  79304. Dj(
  79305. ((c[m >> 2] | 0) + 472 + 8) | 0,
  79306. c[A >> 2] | 0,
  79307. (b + 4) | 0,
  79308. c[o >> 2] | 0,
  79309. 1
  79310. ) | 0;
  79311. c[((c[m >> 2] | 0) + 368) >> 2] = c[A >> 2];
  79312. c[A >> 2] =
  79313. (c[((c[m >> 2] | 0) + 368) >> 2] | 0) + (c[t >> 2] << 3);
  79314. c[((c[m >> 2] | 0) + 368 + 16) >> 2] = c[A >> 2];
  79315. c[((c[m >> 2] | 0) + 368 + 20) >> 2] =
  79316. (c[((c[m >> 2] | 0) + 368 + 16) >> 2] | 0) +
  79317. (c[t >> 2] | 0);
  79318. c[((c[m >> 2] | 0) + 368 + 24) >> 2] =
  79319. (c[((c[m >> 2] | 0) + 368 + 20) >> 2] | 0) +
  79320. (c[t >> 2] | 0);
  79321. c[((c[m >> 2] | 0) + 368 + 8) >> 2] =
  79322. (c[((c[m >> 2] | 0) + 368 + 24) >> 2] | 0) +
  79323. (c[t >> 2] | 0);
  79324. c[A >> 2] =
  79325. (c[((c[m >> 2] | 0) + 368 + 8) >> 2] | 0) + (c[r >> 2] | 0);
  79326. if (c[(b + 68) >> 2] | 0) {
  79327. c[I >> 2] =
  79328. 1 <<
  79329. ((c[(b + 68 + 4) >> 2] | 0) - (c[(b + 68 + 8) >> 2] | 0));
  79330. oE(c[A >> 2] | 0, 0, c[I >> 2] | 0) | 0;
  79331. c[((c[m >> 2] | 0) + 408 + 24) >> 2] = c[A >> 2];
  79332. c[A >> 2] =
  79333. (c[((c[m >> 2] | 0) + 408 + 24) >> 2] | 0) +
  79334. (c[I >> 2] | 0);
  79335. il(((c[m >> 2] | 0) + 408) | 0);
  79336. }
  79337. rl(c[m >> 2] | 0, 0, 0) | 0;
  79338. c[((c[m >> 2] | 0) + 596) >> 2] = c[w >> 2];
  79339. c[((c[m >> 2] | 0) + 592) >> 2] = c[A >> 2];
  79340. c[((c[m >> 2] | 0) + 616) >> 2] = c[v >> 2];
  79341. c[((c[m >> 2] | 0) + 612) >> 2] =
  79342. (c[((c[m >> 2] | 0) + 592) >> 2] | 0) + (c[w >> 2] | 0);
  79343. c[k >> 2] = 0;
  79344. N = c[k >> 2] | 0;
  79345. l = h;
  79346. return N | 0;
  79347. }
  79348. function nl(a, b, d, e, f, g, h) {
  79349. a = a | 0;
  79350. b = b | 0;
  79351. d = d | 0;
  79352. e = e | 0;
  79353. f = f | 0;
  79354. g = g | 0;
  79355. h = h | 0;
  79356. var i = 0,
  79357. j = 0,
  79358. k = 0,
  79359. m = 0,
  79360. n = 0,
  79361. o = 0,
  79362. p = 0,
  79363. q = 0,
  79364. r = 0;
  79365. i = l;
  79366. l = (l + 80) | 0;
  79367. j = (i + 48) | 0;
  79368. k = (i + 16) | 0;
  79369. m = (i + 44) | 0;
  79370. n = (i + 12) | 0;
  79371. o = (i + 8) | 0;
  79372. p = i;
  79373. c[m >> 2] = d;
  79374. c[n >> 2] = e;
  79375. c[o >> 2] = f;
  79376. f = p;
  79377. c[f >> 2] = g;
  79378. c[(f + 4) >> 2] = h;
  79379. h = (a + 4) | 0;
  79380. f = (b + 4) | 0;
  79381. c[k >> 2] = c[h >> 2];
  79382. c[(k + 4) >> 2] = c[(h + 4) >> 2];
  79383. c[(k + 8) >> 2] = c[(h + 8) >> 2];
  79384. c[(k + 12) >> 2] = c[(h + 12) >> 2];
  79385. c[(k + 16) >> 2] = c[(h + 16) >> 2];
  79386. c[(k + 20) >> 2] = c[(h + 20) >> 2];
  79387. c[(k + 24) >> 2] = c[(h + 24) >> 2];
  79388. c[j >> 2] = c[f >> 2];
  79389. c[(j + 4) >> 2] = c[(f + 4) >> 2];
  79390. c[(j + 8) >> 2] = c[(f + 8) >> 2];
  79391. c[(j + 12) >> 2] = c[(f + 12) >> 2];
  79392. c[(j + 16) >> 2] = c[(f + 16) >> 2];
  79393. c[(j + 20) >> 2] = c[(f + 20) >> 2];
  79394. c[(j + 24) >> 2] = c[(f + 24) >> 2];
  79395. if (!(tl(k, j) | 0)) {
  79396. q = 0;
  79397. r = q & 1;
  79398. l = i;
  79399. return r | 0;
  79400. }
  79401. f = (a + 68) | 0;
  79402. a = (b + 68) | 0;
  79403. c[k >> 2] = c[f >> 2];
  79404. c[(k + 4) >> 2] = c[(f + 4) >> 2];
  79405. c[(k + 8) >> 2] = c[(f + 8) >> 2];
  79406. c[(k + 12) >> 2] = c[(f + 12) >> 2];
  79407. c[(k + 16) >> 2] = c[(f + 16) >> 2];
  79408. c[(k + 20) >> 2] = c[(f + 20) >> 2];
  79409. c[j >> 2] = c[a >> 2];
  79410. c[(j + 4) >> 2] = c[(a + 4) >> 2];
  79411. c[(j + 8) >> 2] = c[(a + 8) >> 2];
  79412. c[(j + 12) >> 2] = c[(a + 12) >> 2];
  79413. c[(j + 16) >> 2] = c[(a + 16) >> 2];
  79414. c[(j + 20) >> 2] = c[(a + 20) >> 2];
  79415. if (!(ul(k, j) | 0)) {
  79416. q = 0;
  79417. r = q & 1;
  79418. l = i;
  79419. return r | 0;
  79420. }
  79421. k = c[m >> 2] | 0;
  79422. m = c[n >> 2] | 0;
  79423. n = c[o >> 2] | 0;
  79424. o = (b + 4) | 0;
  79425. b = p;
  79426. p = c[b >> 2] | 0;
  79427. a = c[(b + 4) >> 2] | 0;
  79428. c[j >> 2] = c[o >> 2];
  79429. c[(j + 4) >> 2] = c[(o + 4) >> 2];
  79430. c[(j + 8) >> 2] = c[(o + 8) >> 2];
  79431. c[(j + 12) >> 2] = c[(o + 12) >> 2];
  79432. c[(j + 16) >> 2] = c[(o + 16) >> 2];
  79433. c[(j + 20) >> 2] = c[(o + 20) >> 2];
  79434. c[(j + 24) >> 2] = c[(o + 24) >> 2];
  79435. q = (vl(k, m, n, j, p, a) | 0) != 0;
  79436. r = q & 1;
  79437. l = i;
  79438. return r | 0;
  79439. }
  79440. function ol(a, b, d, e) {
  79441. a = a | 0;
  79442. b = b | 0;
  79443. d = d | 0;
  79444. e = e | 0;
  79445. var f = 0,
  79446. g = 0,
  79447. h = 0,
  79448. i = 0,
  79449. j = 0,
  79450. k = 0,
  79451. m = 0,
  79452. n = 0,
  79453. o = 0,
  79454. p = 0,
  79455. q = 0,
  79456. r = 0,
  79457. s = 0,
  79458. t = 0,
  79459. u = 0,
  79460. v = 0,
  79461. w = 0,
  79462. x = 0,
  79463. z = 0,
  79464. A = 0;
  79465. f = l;
  79466. l = (l + 32) | 0;
  79467. g = (f + 16) | 0;
  79468. h = f;
  79469. i = (f + 12) | 0;
  79470. j = (f + 8) | 0;
  79471. c[g >> 2] = a;
  79472. a = h;
  79473. c[a >> 2] = d;
  79474. c[(a + 4) >> 2] = e;
  79475. e = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79476. a = y;
  79477. d = h;
  79478. k = c[(d + 4) >> 2] | 0;
  79479. if (
  79480. (a >>> 0 < k >>> 0) |
  79481. ((a | 0) == (k | 0) ? e >>> 0 < (c[d >> 2] | 0) >>> 0 : 0)
  79482. ) {
  79483. d = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79484. m = y;
  79485. n = d;
  79486. } else {
  79487. d = h;
  79488. m = c[(d + 4) >> 2] | 0;
  79489. n = c[d >> 2] | 0;
  79490. }
  79491. if (1 > n >>> 0) o = 1;
  79492. else {
  79493. n = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79494. d = y;
  79495. m = h;
  79496. e = c[(m + 4) >> 2] | 0;
  79497. if (
  79498. (d >>> 0 < e >>> 0) |
  79499. ((d | 0) == (e | 0) ? n >>> 0 < (c[m >> 2] | 0) >>> 0 : 0)
  79500. ) {
  79501. m = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
  79502. p = m;
  79503. q = y;
  79504. } else {
  79505. m = h;
  79506. p = c[m >> 2] | 0;
  79507. q = c[(m + 4) >> 2] | 0;
  79508. }
  79509. o = p;
  79510. }
  79511. c[i >> 2] = o;
  79512. c[j >> 2] =
  79513. 131072 < (c[i >> 2] | 0) >>> 0 ? 131072 : c[i >> 2] | 0;
  79514. c[((c[g >> 2] | 0) + 232) >> 2] = c[j >> 2];
  79515. j = ((c[g >> 2] | 0) + 116) | 0;
  79516. i = b;
  79517. o = (j + 104) | 0;
  79518. do {
  79519. c[j >> 2] = c[i >> 2];
  79520. j = (j + 4) | 0;
  79521. i = (i + 4) | 0;
  79522. } while ((j | 0) < (o | 0));
  79523. i = h;
  79524. j = dE(c[i >> 2] | 0, c[(i + 4) >> 2] | 0, 1, 0) | 0;
  79525. i = ((c[g >> 2] | 0) + 240) | 0;
  79526. c[i >> 2] = j;
  79527. c[(i + 4) >> 2] = y;
  79528. i = ((c[g >> 2] | 0) + 248) | 0;
  79529. c[i >> 2] = 0;
  79530. c[(i + 4) >> 2] = 0;
  79531. i = ((c[g >> 2] | 0) + 256) | 0;
  79532. c[i >> 2] = 0;
  79533. c[(i + 4) >> 2] = 0;
  79534. i = h;
  79535. if ((c[i >> 2] | 0) == -1 ? (c[(i + 4) >> 2] | 0) == -1 : 0)
  79536. c[((c[g >> 2] | 0) + 116 + 32) >> 2] = 0;
  79537. c[c[g >> 2] >> 2] = 1;
  79538. c[((c[g >> 2] | 0) + 220) >> 2] = 0;
  79539. if (!(c[(b + 68) >> 2] | 0)) {
  79540. r = c[g >> 2] | 0;
  79541. rl(r, 0, 0) | 0;
  79542. s = c[g >> 2] | 0;
  79543. t = (s + 472) | 0;
  79544. u = (t + 8) | 0;
  79545. hl(u);
  79546. v = c[g >> 2] | 0;
  79547. w = (v + 472) | 0;
  79548. x = c[w >> 2] | 0;
  79549. Cj(x);
  79550. z = c[g >> 2] | 0;
  79551. A = (z + 264) | 0;
  79552. Lh(A, 0, 0) | 0;
  79553. l = f;
  79554. return 0;
  79555. }
  79556. il(((c[g >> 2] | 0) + 408) | 0);
  79557. r = c[g >> 2] | 0;
  79558. rl(r, 0, 0) | 0;
  79559. s = c[g >> 2] | 0;
  79560. t = (s + 472) | 0;
  79561. u = (t + 8) | 0;
  79562. hl(u);
  79563. v = c[g >> 2] | 0;
  79564. w = (v + 472) | 0;
  79565. x = c[w >> 2] | 0;
  79566. Cj(x);
  79567. z = c[g >> 2] | 0;
  79568. A = (z + 264) | 0;
  79569. Lh(A, 0, 0) | 0;
  79570. l = f;
  79571. return 0;
  79572. }
  79573. function pl(a, b) {
  79574. a = a | 0;
  79575. b = b | 0;
  79576. var d = 0,
  79577. e = 0,
  79578. f = 0,
  79579. g = 0,
  79580. h = 0,
  79581. i = 0,
  79582. j = 0,
  79583. k = 0,
  79584. m = 0,
  79585. n = 0;
  79586. d = l;
  79587. l = (l + 16) | 0;
  79588. e = (d + 12) | 0;
  79589. f = (d + 8) | 0;
  79590. g = (d + 4) | 0;
  79591. h = d;
  79592. c[e >> 2] = a;
  79593. c[f >> 2] = b;
  79594. c[g >> 2] = c[c[f >> 2] >> 2];
  79595. if (!(c[((c[e >> 2] | 0) + 8) >> 2] | 0))
  79596. c[((c[e >> 2] | 0) + 8) >> 2] = 3;
  79597. if (!(c[((c[e >> 2] | 0) + 12) >> 2] | 0))
  79598. c[((c[e >> 2] | 0) + 12) >> 2] = 64;
  79599. if ((c[((c[f >> 2] | 0) + 24) >> 2] | 0) >>> 0 >= 7) {
  79600. if (
  79601. (c[((c[f >> 2] | 0) + 20) >> 2] | 0) >>> 0 >
  79602. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
  79603. )
  79604. i = c[((c[f >> 2] | 0) + 20) >> 2] | 0;
  79605. else i = c[((c[e >> 2] | 0) + 12) >> 2] | 0;
  79606. c[h >> 2] = i;
  79607. c[((c[e >> 2] | 0) + 12) >> 2] = c[h >> 2];
  79608. }
  79609. if (!(c[((c[e >> 2] | 0) + 4) >> 2] | 0))
  79610. c[((c[e >> 2] | 0) + 4) >> 2] =
  79611. 6 > (((c[g >> 2] | 0) - 7) | 0) >>> 0
  79612. ? 6
  79613. : ((c[g >> 2] | 0) - 7) | 0;
  79614. if (!(c[((c[e >> 2] | 0) + 16) >> 2] | 0)) {
  79615. if (
  79616. (c[g >> 2] | 0) >>> 0 <
  79617. (c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0
  79618. )
  79619. j = 0;
  79620. else
  79621. j =
  79622. ((c[g >> 2] | 0) -
  79623. (c[((c[e >> 2] | 0) + 4) >> 2] | 0)) |
  79624. 0;
  79625. c[((c[e >> 2] | 0) + 16) >> 2] = j;
  79626. }
  79627. j = c[e >> 2] | 0;
  79628. if (
  79629. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 <
  79630. (c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0
  79631. ) {
  79632. k = c[(j + 8) >> 2] | 0;
  79633. m = c[e >> 2] | 0;
  79634. n = (m + 8) | 0;
  79635. c[n >> 2] = k;
  79636. l = d;
  79637. return;
  79638. } else {
  79639. k = c[(j + 4) >> 2] | 0;
  79640. m = c[e >> 2] | 0;
  79641. n = (m + 8) | 0;
  79642. c[n >> 2] = k;
  79643. l = d;
  79644. return;
  79645. }
  79646. }
  79647. function ql(a) {
  79648. a = a | 0;
  79649. var b = 0,
  79650. d = 0;
  79651. b = l;
  79652. l = (l + 16) | 0;
  79653. d = b;
  79654. c[d >> 2] = a;
  79655. a =
  79656. sl(-1213897629, -820265764, ((c[d >> 2] | 0) - 1) | 0, 0) |
  79657. 0;
  79658. l = b;
  79659. return a | 0;
  79660. }
  79661. function rl(a, b, d) {
  79662. a = a | 0;
  79663. b = b | 0;
  79664. d = d | 0;
  79665. var e = 0,
  79666. f = 0,
  79667. g = 0,
  79668. h = 0,
  79669. i = 0,
  79670. j = 0;
  79671. e = l;
  79672. l = (l + 16) | 0;
  79673. f = (e + 12) | 0;
  79674. g = (e + 8) | 0;
  79675. h = (e + 4) | 0;
  79676. i = e;
  79677. c[g >> 2] = a;
  79678. c[h >> 2] = b;
  79679. c[i >> 2] = d;
  79680. if ((c[c[g >> 2] >> 2] | 0) != 1) {
  79681. c[f >> 2] = -60;
  79682. j = c[f >> 2] | 0;
  79683. l = e;
  79684. return j | 0;
  79685. }
  79686. if (c[((c[g >> 2] | 0) + 116 + 68) >> 2] | 0) {
  79687. c[f >> 2] = -40;
  79688. j = c[f >> 2] | 0;
  79689. l = e;
  79690. return j | 0;
  79691. } else {
  79692. c[((c[g >> 2] | 0) + 456) >> 2] = c[h >> 2];
  79693. c[((c[g >> 2] | 0) + 456 + 8) >> 2] = c[i >> 2];
  79694. c[((c[g >> 2] | 0) + 456 + 12) >> 2] = c[i >> 2];
  79695. c[((c[g >> 2] | 0) + 456 + 4) >> 2] = 0;
  79696. c[f >> 2] = 0;
  79697. j = c[f >> 2] | 0;
  79698. l = e;
  79699. return j | 0;
  79700. }
  79701. return 0;
  79702. }
  79703. function sl(a, b, d, e) {
  79704. a = a | 0;
  79705. b = b | 0;
  79706. d = d | 0;
  79707. e = e | 0;
  79708. var f = 0,
  79709. g = 0,
  79710. h = 0,
  79711. i = 0,
  79712. j = 0;
  79713. f = l;
  79714. l = (l + 32) | 0;
  79715. g = (f + 16) | 0;
  79716. h = (f + 8) | 0;
  79717. i = f;
  79718. j = g;
  79719. c[j >> 2] = a;
  79720. c[(j + 4) >> 2] = b;
  79721. b = h;
  79722. c[b >> 2] = d;
  79723. c[(b + 4) >> 2] = e;
  79724. e = i;
  79725. c[e >> 2] = 1;
  79726. c[(e + 4) >> 2] = 0;
  79727. while (1) {
  79728. e = h;
  79729. if (
  79730. !(((c[e >> 2] | 0) != 0) | ((c[(e + 4) >> 2] | 0) != 0))
  79731. )
  79732. break;
  79733. if ((((c[h >> 2] & 1) | 0) != 0) | (0 != 0)) {
  79734. e = g;
  79735. b = i;
  79736. d =
  79737. cE(
  79738. c[b >> 2] | 0,
  79739. c[(b + 4) >> 2] | 0,
  79740. c[e >> 2] | 0,
  79741. c[(e + 4) >> 2] | 0
  79742. ) | 0;
  79743. e = i;
  79744. c[e >> 2] = d;
  79745. c[(e + 4) >> 2] = y;
  79746. }
  79747. e = h;
  79748. d = iE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, 1) | 0;
  79749. e = h;
  79750. c[e >> 2] = d;
  79751. c[(e + 4) >> 2] = y;
  79752. e = g;
  79753. d = g;
  79754. b =
  79755. cE(
  79756. c[d >> 2] | 0,
  79757. c[(d + 4) >> 2] | 0,
  79758. c[e >> 2] | 0,
  79759. c[(e + 4) >> 2] | 0
  79760. ) | 0;
  79761. e = g;
  79762. c[e >> 2] = b;
  79763. c[(e + 4) >> 2] = y;
  79764. }
  79765. g = i;
  79766. y = c[(g + 4) >> 2] | 0;
  79767. l = f;
  79768. return c[g >> 2] | 0;
  79769. }
  79770. function tl(a, b) {
  79771. a = a | 0;
  79772. b = b | 0;
  79773. return (
  79774. (((c[(a + 8) >> 2] | 0) == (c[(b + 8) >> 2] | 0)
  79775. ? (c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0)
  79776. : 0) &
  79777. ((c[(a + 24) >> 2] | 0) == (c[(b + 24) >> 2] | 0)) &
  79778. ((((c[(a + 16) >> 2] | 0) == 3) | 0) ==
  79779. (((c[(b + 16) >> 2] | 0) == 3) | 0))) |
  79780. 0
  79781. );
  79782. }
  79783. function ul(a, b) {
  79784. a = a | 0;
  79785. b = b | 0;
  79786. var d = 0;
  79787. if (!(c[a >> 2] | 0) ? !(c[b >> 2] | 0) : 0) d = 1;
  79788. else if (
  79789. (
  79790. (
  79791. (c[a >> 2] | 0) == (c[b >> 2] | 0)
  79792. ? (c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0)
  79793. : 0
  79794. )
  79795. ? (c[(a + 8) >> 2] | 0) == (c[(b + 8) >> 2] | 0)
  79796. : 0
  79797. )
  79798. ? (c[(a + 12) >> 2] | 0) == (c[(b + 12) >> 2] | 0)
  79799. : 0
  79800. )
  79801. d = (c[(a + 16) >> 2] | 0) == (c[(b + 16) >> 2] | 0);
  79802. else d = 0;
  79803. return (d & 1) | 0;
  79804. }
  79805. function vl(a, b, d, e, f, g) {
  79806. a = a | 0;
  79807. b = b | 0;
  79808. d = d | 0;
  79809. e = e | 0;
  79810. f = f | 0;
  79811. g = g | 0;
  79812. var h = 0,
  79813. i = 0,
  79814. j = 0,
  79815. k = 0,
  79816. m = 0,
  79817. n = 0,
  79818. o = 0,
  79819. p = 0,
  79820. q = 0,
  79821. r = 0,
  79822. s = 0,
  79823. t = 0,
  79824. u = 0,
  79825. v = 0,
  79826. w = 0,
  79827. x = 0,
  79828. z = 0,
  79829. A = 0,
  79830. B = 0,
  79831. C = 0,
  79832. D = 0,
  79833. E = 0,
  79834. F = 0;
  79835. h = l;
  79836. l = (l + 32) | 0;
  79837. i = (h + 28) | 0;
  79838. j = (h + 24) | 0;
  79839. k = (h + 20) | 0;
  79840. m = h;
  79841. n = (h + 16) | 0;
  79842. o = (h + 12) | 0;
  79843. p = (h + 8) | 0;
  79844. c[i >> 2] = a;
  79845. c[j >> 2] = b;
  79846. c[k >> 2] = d;
  79847. d = m;
  79848. c[d >> 2] = f;
  79849. c[(d + 4) >> 2] = g;
  79850. g = jE(1, 0, c[e >> 2] | 0) | 0;
  79851. d = y;
  79852. f = m;
  79853. b = c[(f + 4) >> 2] | 0;
  79854. if (
  79855. (d >>> 0 < b >>> 0) |
  79856. ((d | 0) == (b | 0) ? g >>> 0 < (c[f >> 2] | 0) >>> 0 : 0)
  79857. ) {
  79858. f = jE(1, 0, c[e >> 2] | 0) | 0;
  79859. q = f;
  79860. r = y;
  79861. } else {
  79862. f = m;
  79863. q = c[f >> 2] | 0;
  79864. r = c[(f + 4) >> 2] | 0;
  79865. }
  79866. if (1 > q >>> 0) s = 1;
  79867. else {
  79868. q = jE(1, 0, c[e >> 2] | 0) | 0;
  79869. f = y;
  79870. r = m;
  79871. g = c[(r + 4) >> 2] | 0;
  79872. if (
  79873. (f >>> 0 < g >>> 0) |
  79874. ((f | 0) == (g | 0) ? q >>> 0 < (c[r >> 2] | 0) >>> 0 : 0)
  79875. ) {
  79876. r = jE(1, 0, c[e >> 2] | 0) | 0;
  79877. t = r;
  79878. u = y;
  79879. } else {
  79880. r = m;
  79881. t = c[r >> 2] | 0;
  79882. u = c[(r + 4) >> 2] | 0;
  79883. }
  79884. s = t;
  79885. }
  79886. c[n >> 2] = s;
  79887. c[o >> 2] =
  79888. 131072 < (c[n >> 2] | 0) >>> 0 ? 131072 : c[n >> 2] | 0;
  79889. if ((c[k >> 2] | 0) != 1) {
  79890. v = 0;
  79891. c[p >> 2] = v;
  79892. w = c[o >> 2] | 0;
  79893. x = c[j >> 2] | 0;
  79894. z = w >>> 0 <= x >>> 0;
  79895. A = z & 1;
  79896. B = c[p >> 2] | 0;
  79897. C = c[i >> 2] | 0;
  79898. D = B >>> 0 <= C >>> 0;
  79899. E = D & 1;
  79900. F = A & E;
  79901. l = h;
  79902. return F | 0;
  79903. }
  79904. v = ((c[n >> 2] | 0) + (c[o >> 2] | 0)) | 0;
  79905. c[p >> 2] = v;
  79906. w = c[o >> 2] | 0;
  79907. x = c[j >> 2] | 0;
  79908. z = w >>> 0 <= x >>> 0;
  79909. A = z & 1;
  79910. B = c[p >> 2] | 0;
  79911. C = c[i >> 2] | 0;
  79912. D = B >>> 0 <= C >>> 0;
  79913. E = D & 1;
  79914. F = A & E;
  79915. l = h;
  79916. return F | 0;
  79917. }
  79918. function wl(b, d) {
  79919. b = b | 0;
  79920. d = d | 0;
  79921. var e = 0,
  79922. f = 0,
  79923. g = 0;
  79924. e = l;
  79925. l = (l + 16) | 0;
  79926. f = (e + 4) | 0;
  79927. g = e;
  79928. c[f >> 2] = b;
  79929. c[g >> 2] = d;
  79930. xl(c[f >> 2] | 0, c[g >> 2] & 65535);
  79931. a[((c[f >> 2] | 0) + 2) >> 0] = (c[g >> 2] | 0) >>> 16;
  79932. l = e;
  79933. return;
  79934. }
  79935. function xl(d, f) {
  79936. d = d | 0;
  79937. f = f | 0;
  79938. var g = 0,
  79939. h = 0,
  79940. i = 0,
  79941. j = 0;
  79942. g = l;
  79943. l = (l + 16) | 0;
  79944. h = (g + 4) | 0;
  79945. i = (g + 8) | 0;
  79946. j = g;
  79947. c[h >> 2] = d;
  79948. b[i >> 1] = f;
  79949. f = (Jj() | 0) != 0;
  79950. d = c[h >> 2] | 0;
  79951. if (f) {
  79952. yl(d, b[i >> 1] | 0);
  79953. l = g;
  79954. return;
  79955. } else {
  79956. c[j >> 2] = d;
  79957. a[c[j >> 2] >> 0] = b[i >> 1];
  79958. a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
  79959. l = g;
  79960. return;
  79961. }
  79962. }
  79963. function yl(d, e) {
  79964. d = d | 0;
  79965. e = e | 0;
  79966. var f = 0,
  79967. g = 0,
  79968. h = 0;
  79969. f = l;
  79970. l = (l + 16) | 0;
  79971. g = f;
  79972. h = (f + 4) | 0;
  79973. c[g >> 2] = d;
  79974. b[h >> 1] = e;
  79975. e = b[h >> 1] | 0;
  79976. h = c[g >> 2] | 0;
  79977. a[h >> 0] = e;
  79978. a[(h + 1) >> 0] = e >> 8;
  79979. l = f;
  79980. return;
  79981. }
  79982. function zl(b) {
  79983. b = b | 0;
  79984. var d = 0,
  79985. f = 0,
  79986. g = 0,
  79987. h = 0,
  79988. i = 0,
  79989. j = 0,
  79990. k = 0,
  79991. m = 0,
  79992. n = 0,
  79993. o = 0;
  79994. d = l;
  79995. l = (l + 48) | 0;
  79996. f = (d + 32) | 0;
  79997. g = (d + 28) | 0;
  79998. h = (d + 24) | 0;
  79999. i = (d + 20) | 0;
  80000. j = (d + 16) | 0;
  80001. k = (d + 12) | 0;
  80002. m = (d + 8) | 0;
  80003. n = (d + 4) | 0;
  80004. o = d;
  80005. c[f >> 2] = b;
  80006. c[g >> 2] = c[c[f >> 2] >> 2];
  80007. c[h >> 2] = c[((c[f >> 2] | 0) + 16) >> 2];
  80008. c[i >> 2] = c[((c[f >> 2] | 0) + 24) >> 2];
  80009. c[j >> 2] = c[((c[f >> 2] | 0) + 20) >> 2];
  80010. c[k >> 2] =
  80011. ((((c[((c[f >> 2] | 0) + 4) >> 2] | 0) -
  80012. (c[c[f >> 2] >> 2] | 0)) |
  80013. 0) /
  80014. 8) |
  80015. 0;
  80016. c[m >> 2] = 0;
  80017. while (1) {
  80018. if ((c[m >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  80019. c[n >> 2] =
  80020. e[((c[g >> 2] | 0) + (c[m >> 2] << 3) + 4) >> 1];
  80021. c[o >> 2] =
  80022. e[((c[g >> 2] | 0) + (c[m >> 2] << 3) + 6) >> 1];
  80023. b = (Al(c[n >> 2] | 0) | 0) & 255;
  80024. a[((c[h >> 2] | 0) + (c[m >> 2] | 0)) >> 0] = b;
  80025. b =
  80026. (uj(c[((c[g >> 2] | 0) + (c[m >> 2] << 3)) >> 2] | 0) |
  80027. 0) &
  80028. 255;
  80029. a[((c[i >> 2] | 0) + (c[m >> 2] | 0)) >> 0] = b;
  80030. b = (Bl(c[o >> 2] | 0) | 0) & 255;
  80031. a[((c[j >> 2] | 0) + (c[m >> 2] | 0)) >> 0] = b;
  80032. c[m >> 2] = (c[m >> 2] | 0) + 1;
  80033. }
  80034. if ((c[((c[f >> 2] | 0) + 28) >> 2] | 0) == 1)
  80035. a[
  80036. ((c[h >> 2] | 0) +
  80037. (c[((c[f >> 2] | 0) + 32) >> 2] | 0)) >>
  80038. 0
  80039. ] = 35;
  80040. if ((c[((c[f >> 2] | 0) + 28) >> 2] | 0) != 2) {
  80041. l = d;
  80042. return;
  80043. }
  80044. a[
  80045. ((c[j >> 2] | 0) + (c[((c[f >> 2] | 0) + 32) >> 2] | 0)) >>
  80046. 0
  80047. ] = 52;
  80048. l = d;
  80049. return;
  80050. }
  80051. function Al(a) {
  80052. a = a | 0;
  80053. var b = 0,
  80054. e = 0,
  80055. f = 0;
  80056. b = l;
  80057. l = (l + 16) | 0;
  80058. e = b;
  80059. c[e >> 2] = a;
  80060. a = c[e >> 2] | 0;
  80061. if ((c[e >> 2] | 0) >>> 0 > 63) {
  80062. f = ((uj(a) | 0) + 19) | 0;
  80063. l = b;
  80064. return f | 0;
  80065. } else {
  80066. f = d[(3008 + a) >> 0] | 0;
  80067. l = b;
  80068. return f | 0;
  80069. }
  80070. return 0;
  80071. }
  80072. function Bl(a) {
  80073. a = a | 0;
  80074. var b = 0,
  80075. e = 0,
  80076. f = 0;
  80077. b = l;
  80078. l = (l + 16) | 0;
  80079. e = b;
  80080. c[e >> 2] = a;
  80081. a = c[e >> 2] | 0;
  80082. if ((c[e >> 2] | 0) >>> 0 > 127) {
  80083. f = ((uj(a) | 0) + 36) | 0;
  80084. l = b;
  80085. return f | 0;
  80086. } else {
  80087. f = d[(3072 + a) >> 0] | 0;
  80088. l = b;
  80089. return f | 0;
  80090. }
  80091. return 0;
  80092. }
  80093. function Cl(a, b, d, e, f, g, h, i, j, k, m, n) {
  80094. a = a | 0;
  80095. b = b | 0;
  80096. d = d | 0;
  80097. e = e | 0;
  80098. f = f | 0;
  80099. g = g | 0;
  80100. h = h | 0;
  80101. i = i | 0;
  80102. j = j | 0;
  80103. k = k | 0;
  80104. m = m | 0;
  80105. n = n | 0;
  80106. var o = 0,
  80107. p = 0,
  80108. q = 0,
  80109. r = 0,
  80110. s = 0,
  80111. t = 0,
  80112. u = 0,
  80113. v = 0,
  80114. w = 0,
  80115. x = 0,
  80116. y = 0,
  80117. z = 0,
  80118. A = 0,
  80119. B = 0,
  80120. C = 0;
  80121. o = l;
  80122. l = (l + 64) | 0;
  80123. p = (o + 48) | 0;
  80124. q = (o + 44) | 0;
  80125. r = (o + 40) | 0;
  80126. s = (o + 36) | 0;
  80127. t = (o + 32) | 0;
  80128. u = (o + 28) | 0;
  80129. v = (o + 24) | 0;
  80130. w = (o + 20) | 0;
  80131. x = (o + 16) | 0;
  80132. y = (o + 12) | 0;
  80133. z = (o + 8) | 0;
  80134. A = (o + 4) | 0;
  80135. B = o;
  80136. c[q >> 2] = a;
  80137. c[r >> 2] = b;
  80138. c[s >> 2] = d;
  80139. c[t >> 2] = e;
  80140. c[u >> 2] = f;
  80141. c[v >> 2] = g;
  80142. c[w >> 2] = h;
  80143. c[x >> 2] = i;
  80144. c[y >> 2] = j;
  80145. c[z >> 2] = k;
  80146. c[A >> 2] = m;
  80147. c[B >> 2] = n;
  80148. if (c[B >> 2] | 0) {
  80149. c[p >> 2] =
  80150. Dl(
  80151. c[q >> 2] | 0,
  80152. c[r >> 2] | 0,
  80153. c[s >> 2] | 0,
  80154. c[t >> 2] | 0,
  80155. c[u >> 2] | 0,
  80156. c[v >> 2] | 0,
  80157. c[w >> 2] | 0,
  80158. c[x >> 2] | 0,
  80159. c[y >> 2] | 0,
  80160. c[z >> 2] | 0,
  80161. c[A >> 2] | 0
  80162. ) | 0;
  80163. C = c[p >> 2] | 0;
  80164. l = o;
  80165. return C | 0;
  80166. } else {
  80167. c[p >> 2] =
  80168. El(
  80169. c[q >> 2] | 0,
  80170. c[r >> 2] | 0,
  80171. c[s >> 2] | 0,
  80172. c[t >> 2] | 0,
  80173. c[u >> 2] | 0,
  80174. c[v >> 2] | 0,
  80175. c[w >> 2] | 0,
  80176. c[x >> 2] | 0,
  80177. c[y >> 2] | 0,
  80178. c[z >> 2] | 0,
  80179. c[A >> 2] | 0
  80180. ) | 0;
  80181. C = c[p >> 2] | 0;
  80182. l = o;
  80183. return C | 0;
  80184. }
  80185. return 0;
  80186. }
  80187. function Dl(b, f, g, h, i, j, k, m, n, o, p) {
  80188. b = b | 0;
  80189. f = f | 0;
  80190. g = g | 0;
  80191. h = h | 0;
  80192. i = i | 0;
  80193. j = j | 0;
  80194. k = k | 0;
  80195. m = m | 0;
  80196. n = n | 0;
  80197. o = o | 0;
  80198. p = p | 0;
  80199. var q = 0,
  80200. r = 0,
  80201. s = 0,
  80202. t = 0,
  80203. u = 0,
  80204. v = 0,
  80205. w = 0,
  80206. x = 0,
  80207. y = 0,
  80208. z = 0,
  80209. A = 0,
  80210. B = 0,
  80211. C = 0,
  80212. D = 0,
  80213. E = 0,
  80214. F = 0,
  80215. G = 0,
  80216. H = 0,
  80217. I = 0,
  80218. J = 0,
  80219. K = 0,
  80220. L = 0,
  80221. M = 0,
  80222. N = 0,
  80223. O = 0,
  80224. P = 0,
  80225. Q = 0,
  80226. R = 0,
  80227. S = 0,
  80228. T = 0,
  80229. U = 0,
  80230. V = 0,
  80231. W = 0,
  80232. X = 0,
  80233. Y = 0,
  80234. Z = 0,
  80235. _ = 0,
  80236. $ = 0,
  80237. aa = 0,
  80238. ba = 0,
  80239. ca = 0,
  80240. da = 0,
  80241. ea = 0;
  80242. q = l;
  80243. l = (l + 208) | 0;
  80244. r = (q + 192) | 0;
  80245. s = (q + 188) | 0;
  80246. t = (q + 184) | 0;
  80247. u = (q + 180) | 0;
  80248. v = (q + 176) | 0;
  80249. w = (q + 172) | 0;
  80250. x = (q + 168) | 0;
  80251. y = (q + 164) | 0;
  80252. z = (q + 160) | 0;
  80253. A = (q + 156) | 0;
  80254. B = (q + 152) | 0;
  80255. C = (q + 148) | 0;
  80256. D = (q + 128) | 0;
  80257. E = (q + 112) | 0;
  80258. F = (q + 96) | 0;
  80259. G = (q + 80) | 0;
  80260. H = (q + 76) | 0;
  80261. I = (q + 72) | 0;
  80262. J = (q + 68) | 0;
  80263. K = (q + 64) | 0;
  80264. L = (q + 198) | 0;
  80265. M = (q + 197) | 0;
  80266. N = (q + 196) | 0;
  80267. O = (q + 60) | 0;
  80268. P = (q + 56) | 0;
  80269. Q = (q + 52) | 0;
  80270. R = (q + 48) | 0;
  80271. S = (q + 44) | 0;
  80272. T = (q + 40) | 0;
  80273. U = (q + 36) | 0;
  80274. V = (q + 32) | 0;
  80275. W = (q + 28) | 0;
  80276. X = (q + 24) | 0;
  80277. Y = (q + 20) | 0;
  80278. Z = (q + 16) | 0;
  80279. _ = (q + 12) | 0;
  80280. $ = (q + 8) | 0;
  80281. aa = (q + 4) | 0;
  80282. ba = q;
  80283. c[T >> 2] = b;
  80284. c[U >> 2] = f;
  80285. c[V >> 2] = g;
  80286. c[W >> 2] = h;
  80287. c[X >> 2] = i;
  80288. c[Y >> 2] = j;
  80289. c[Z >> 2] = k;
  80290. c[_ >> 2] = m;
  80291. c[$ >> 2] = n;
  80292. c[aa >> 2] = o;
  80293. c[ba >> 2] = p;
  80294. p = c[U >> 2] | 0;
  80295. U = c[V >> 2] | 0;
  80296. V = c[W >> 2] | 0;
  80297. W = c[X >> 2] | 0;
  80298. X = c[Y >> 2] | 0;
  80299. Y = c[Z >> 2] | 0;
  80300. Z = c[_ >> 2] | 0;
  80301. _ = c[$ >> 2] | 0;
  80302. $ = c[aa >> 2] | 0;
  80303. aa = c[ba >> 2] | 0;
  80304. c[s >> 2] = c[T >> 2];
  80305. c[t >> 2] = p;
  80306. c[u >> 2] = U;
  80307. c[v >> 2] = V;
  80308. c[w >> 2] = W;
  80309. c[x >> 2] = X;
  80310. c[y >> 2] = Y;
  80311. c[z >> 2] = Z;
  80312. c[A >> 2] = _;
  80313. c[B >> 2] = $;
  80314. c[C >> 2] = aa;
  80315. c[H >> 2] = Fl(D, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  80316. if (wj(c[H >> 2] | 0) | 0) {
  80317. c[r >> 2] = -70;
  80318. ca = c[r >> 2] | 0;
  80319. l = q;
  80320. return ca | 0;
  80321. }
  80322. Gl(
  80323. E,
  80324. c[u >> 2] | 0,
  80325. d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80326. );
  80327. Gl(
  80328. F,
  80329. c[w >> 2] | 0,
  80330. d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80331. );
  80332. Gl(
  80333. G,
  80334. c[y >> 2] | 0,
  80335. d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80336. );
  80337. Hl(
  80338. D,
  80339. e[
  80340. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 4) >> 1
  80341. ] | 0,
  80342. c[
  80343. (5696 +
  80344. ((d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
  80345. 0) <<
  80346. 2)) >>
  80347. 2
  80348. ] | 0
  80349. );
  80350. if (Il() | 0) Jl(D);
  80351. Hl(
  80352. D,
  80353. e[
  80354. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 6) >> 1
  80355. ] | 0,
  80356. c[
  80357. (5840 +
  80358. ((d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
  80359. 0) <<
  80360. 2)) >>
  80361. 2
  80362. ] | 0
  80363. );
  80364. if (Il() | 0) Jl(D);
  80365. if (c[C >> 2] | 0) {
  80366. c[I >> 2] =
  80367. d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0];
  80368. y = c[I >> 2] | 0;
  80369. w = c[I >> 2] | 0;
  80370. u = (Il() | 0) != 0;
  80371. if (w >>> 0 < (((u ? 25 : 57) - 1) | 0) >>> 0)
  80372. da = c[I >> 2] | 0;
  80373. else {
  80374. u = (Il() | 0) != 0;
  80375. da = ((u ? 25 : 57) - 1) | 0;
  80376. }
  80377. c[J >> 2] = y - da;
  80378. if (c[J >> 2] | 0) {
  80379. Hl(
  80380. D,
  80381. c[
  80382. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
  80383. ] | 0,
  80384. c[J >> 2] | 0
  80385. );
  80386. Jl(D);
  80387. }
  80388. Hl(
  80389. D,
  80390. (c[
  80391. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
  80392. ] |
  80393. 0) >>>
  80394. (c[J >> 2] | 0),
  80395. ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0
  80396. );
  80397. } else
  80398. Hl(
  80399. D,
  80400. c[((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2] |
  80401. 0,
  80402. d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80403. );
  80404. Jl(D);
  80405. c[K >> 2] = (c[B >> 2] | 0) - 2;
  80406. while (1) {
  80407. if ((c[K >> 2] | 0) >>> 0 >= (c[B >> 2] | 0) >>> 0) break;
  80408. a[L >> 0] = a[((c[z >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
  80409. a[M >> 0] = a[((c[x >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
  80410. a[N >> 0] = a[((c[v >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
  80411. c[O >> 2] = c[(5696 + ((d[L >> 0] | 0) << 2)) >> 2];
  80412. c[P >> 2] = d[M >> 0];
  80413. c[Q >> 2] = c[(5840 + ((d[N >> 0] | 0) << 2)) >> 2];
  80414. Kl(D, F, d[M >> 0] | 0);
  80415. Kl(D, E, d[N >> 0] | 0);
  80416. if (Il() | 0) Jl(D);
  80417. Kl(D, G, d[L >> 0] | 0);
  80418. if (
  80419. !(!(Il() | 0)
  80420. ? (((c[P >> 2] | 0) +
  80421. (c[Q >> 2] | 0) +
  80422. (c[O >> 2] | 0)) |
  80423. 0) >>>
  80424. 0 <
  80425. 31
  80426. : 0)
  80427. )
  80428. Jl(D);
  80429. Hl(
  80430. D,
  80431. e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 1] | 0,
  80432. c[O >> 2] | 0
  80433. );
  80434. if (
  80435. Il() | 0
  80436. ? (((c[O >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 > 24
  80437. : 0
  80438. )
  80439. Jl(D);
  80440. Hl(
  80441. D,
  80442. e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 6) >> 1] | 0,
  80443. c[Q >> 2] | 0
  80444. );
  80445. if (
  80446. !(!(Il() | 0)
  80447. ? (((c[P >> 2] | 0) +
  80448. (c[Q >> 2] | 0) +
  80449. (c[O >> 2] | 0)) |
  80450. 0) >>>
  80451. 0 <=
  80452. 56
  80453. : 0)
  80454. )
  80455. Jl(D);
  80456. if (c[C >> 2] | 0) {
  80457. J = c[P >> 2] | 0;
  80458. I = c[P >> 2] | 0;
  80459. da = (Il() | 0) != 0;
  80460. if (I >>> 0 < (((da ? 25 : 57) - 1) | 0) >>> 0)
  80461. ea = c[P >> 2] | 0;
  80462. else {
  80463. da = (Il() | 0) != 0;
  80464. ea = ((da ? 25 : 57) - 1) | 0;
  80465. }
  80466. c[R >> 2] = J - ea;
  80467. if (c[R >> 2] | 0) {
  80468. Hl(
  80469. D,
  80470. c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
  80471. c[R >> 2] | 0
  80472. );
  80473. Jl(D);
  80474. }
  80475. Hl(
  80476. D,
  80477. (c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0) >>>
  80478. (c[R >> 2] | 0),
  80479. ((c[P >> 2] | 0) - (c[R >> 2] | 0)) | 0
  80480. );
  80481. } else
  80482. Hl(
  80483. D,
  80484. c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
  80485. c[P >> 2] | 0
  80486. );
  80487. Jl(D);
  80488. c[K >> 2] = (c[K >> 2] | 0) + -1;
  80489. }
  80490. Ll(D, E);
  80491. Ll(D, F);
  80492. Ll(D, G);
  80493. c[S >> 2] = Ml(D) | 0;
  80494. if (!(c[S >> 2] | 0)) {
  80495. c[r >> 2] = -70;
  80496. ca = c[r >> 2] | 0;
  80497. l = q;
  80498. return ca | 0;
  80499. } else {
  80500. c[r >> 2] = c[S >> 2];
  80501. ca = c[r >> 2] | 0;
  80502. l = q;
  80503. return ca | 0;
  80504. }
  80505. return 0;
  80506. }
  80507. function El(b, f, g, h, i, j, k, m, n, o, p) {
  80508. b = b | 0;
  80509. f = f | 0;
  80510. g = g | 0;
  80511. h = h | 0;
  80512. i = i | 0;
  80513. j = j | 0;
  80514. k = k | 0;
  80515. m = m | 0;
  80516. n = n | 0;
  80517. o = o | 0;
  80518. p = p | 0;
  80519. var q = 0,
  80520. r = 0,
  80521. s = 0,
  80522. t = 0,
  80523. u = 0,
  80524. v = 0,
  80525. w = 0,
  80526. x = 0,
  80527. y = 0,
  80528. z = 0,
  80529. A = 0,
  80530. B = 0,
  80531. C = 0,
  80532. D = 0,
  80533. E = 0,
  80534. F = 0,
  80535. G = 0,
  80536. H = 0,
  80537. I = 0,
  80538. J = 0,
  80539. K = 0,
  80540. L = 0,
  80541. M = 0,
  80542. N = 0,
  80543. O = 0,
  80544. P = 0,
  80545. Q = 0,
  80546. R = 0,
  80547. S = 0,
  80548. T = 0,
  80549. U = 0,
  80550. V = 0,
  80551. W = 0,
  80552. X = 0,
  80553. Y = 0,
  80554. Z = 0,
  80555. _ = 0,
  80556. $ = 0,
  80557. aa = 0,
  80558. ba = 0,
  80559. ca = 0,
  80560. da = 0,
  80561. ea = 0;
  80562. q = l;
  80563. l = (l + 208) | 0;
  80564. r = (q + 192) | 0;
  80565. s = (q + 188) | 0;
  80566. t = (q + 184) | 0;
  80567. u = (q + 180) | 0;
  80568. v = (q + 176) | 0;
  80569. w = (q + 172) | 0;
  80570. x = (q + 168) | 0;
  80571. y = (q + 164) | 0;
  80572. z = (q + 160) | 0;
  80573. A = (q + 156) | 0;
  80574. B = (q + 152) | 0;
  80575. C = (q + 148) | 0;
  80576. D = (q + 128) | 0;
  80577. E = (q + 112) | 0;
  80578. F = (q + 96) | 0;
  80579. G = (q + 80) | 0;
  80580. H = (q + 76) | 0;
  80581. I = (q + 72) | 0;
  80582. J = (q + 68) | 0;
  80583. K = (q + 64) | 0;
  80584. L = (q + 198) | 0;
  80585. M = (q + 197) | 0;
  80586. N = (q + 196) | 0;
  80587. O = (q + 60) | 0;
  80588. P = (q + 56) | 0;
  80589. Q = (q + 52) | 0;
  80590. R = (q + 48) | 0;
  80591. S = (q + 44) | 0;
  80592. T = (q + 40) | 0;
  80593. U = (q + 36) | 0;
  80594. V = (q + 32) | 0;
  80595. W = (q + 28) | 0;
  80596. X = (q + 24) | 0;
  80597. Y = (q + 20) | 0;
  80598. Z = (q + 16) | 0;
  80599. _ = (q + 12) | 0;
  80600. $ = (q + 8) | 0;
  80601. aa = (q + 4) | 0;
  80602. ba = q;
  80603. c[T >> 2] = b;
  80604. c[U >> 2] = f;
  80605. c[V >> 2] = g;
  80606. c[W >> 2] = h;
  80607. c[X >> 2] = i;
  80608. c[Y >> 2] = j;
  80609. c[Z >> 2] = k;
  80610. c[_ >> 2] = m;
  80611. c[$ >> 2] = n;
  80612. c[aa >> 2] = o;
  80613. c[ba >> 2] = p;
  80614. p = c[U >> 2] | 0;
  80615. U = c[V >> 2] | 0;
  80616. V = c[W >> 2] | 0;
  80617. W = c[X >> 2] | 0;
  80618. X = c[Y >> 2] | 0;
  80619. Y = c[Z >> 2] | 0;
  80620. Z = c[_ >> 2] | 0;
  80621. _ = c[$ >> 2] | 0;
  80622. $ = c[aa >> 2] | 0;
  80623. aa = c[ba >> 2] | 0;
  80624. c[s >> 2] = c[T >> 2];
  80625. c[t >> 2] = p;
  80626. c[u >> 2] = U;
  80627. c[v >> 2] = V;
  80628. c[w >> 2] = W;
  80629. c[x >> 2] = X;
  80630. c[y >> 2] = Y;
  80631. c[z >> 2] = Z;
  80632. c[A >> 2] = _;
  80633. c[B >> 2] = $;
  80634. c[C >> 2] = aa;
  80635. c[H >> 2] = Fl(D, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
  80636. if (wj(c[H >> 2] | 0) | 0) {
  80637. c[r >> 2] = -70;
  80638. ca = c[r >> 2] | 0;
  80639. l = q;
  80640. return ca | 0;
  80641. }
  80642. Gl(
  80643. E,
  80644. c[u >> 2] | 0,
  80645. d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80646. );
  80647. Gl(
  80648. F,
  80649. c[w >> 2] | 0,
  80650. d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80651. );
  80652. Gl(
  80653. G,
  80654. c[y >> 2] | 0,
  80655. d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80656. );
  80657. Hl(
  80658. D,
  80659. e[
  80660. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 4) >> 1
  80661. ] | 0,
  80662. c[
  80663. (5696 +
  80664. ((d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
  80665. 0) <<
  80666. 2)) >>
  80667. 2
  80668. ] | 0
  80669. );
  80670. if (Il() | 0) Jl(D);
  80671. Hl(
  80672. D,
  80673. e[
  80674. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 6) >> 1
  80675. ] | 0,
  80676. c[
  80677. (5840 +
  80678. ((d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
  80679. 0) <<
  80680. 2)) >>
  80681. 2
  80682. ] | 0
  80683. );
  80684. if (Il() | 0) Jl(D);
  80685. if (c[C >> 2] | 0) {
  80686. c[I >> 2] =
  80687. d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0];
  80688. y = c[I >> 2] | 0;
  80689. w = c[I >> 2] | 0;
  80690. u = (Il() | 0) != 0;
  80691. if (w >>> 0 < (((u ? 25 : 57) - 1) | 0) >>> 0)
  80692. da = c[I >> 2] | 0;
  80693. else {
  80694. u = (Il() | 0) != 0;
  80695. da = ((u ? 25 : 57) - 1) | 0;
  80696. }
  80697. c[J >> 2] = y - da;
  80698. if (c[J >> 2] | 0) {
  80699. Hl(
  80700. D,
  80701. c[
  80702. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
  80703. ] | 0,
  80704. c[J >> 2] | 0
  80705. );
  80706. Jl(D);
  80707. }
  80708. Hl(
  80709. D,
  80710. (c[
  80711. ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
  80712. ] |
  80713. 0) >>>
  80714. (c[J >> 2] | 0),
  80715. ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0
  80716. );
  80717. } else
  80718. Hl(
  80719. D,
  80720. c[((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2] |
  80721. 0,
  80722. d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
  80723. );
  80724. Jl(D);
  80725. c[K >> 2] = (c[B >> 2] | 0) - 2;
  80726. while (1) {
  80727. if ((c[K >> 2] | 0) >>> 0 >= (c[B >> 2] | 0) >>> 0) break;
  80728. a[L >> 0] = a[((c[z >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
  80729. a[M >> 0] = a[((c[x >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
  80730. a[N >> 0] = a[((c[v >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
  80731. c[O >> 2] = c[(5696 + ((d[L >> 0] | 0) << 2)) >> 2];
  80732. c[P >> 2] = d[M >> 0];
  80733. c[Q >> 2] = c[(5840 + ((d[N >> 0] | 0) << 2)) >> 2];
  80734. Kl(D, F, d[M >> 0] | 0);
  80735. Kl(D, E, d[N >> 0] | 0);
  80736. if (Il() | 0) Jl(D);
  80737. Kl(D, G, d[L >> 0] | 0);
  80738. if (
  80739. !(!(Il() | 0)
  80740. ? (((c[P >> 2] | 0) +
  80741. (c[Q >> 2] | 0) +
  80742. (c[O >> 2] | 0)) |
  80743. 0) >>>
  80744. 0 <
  80745. 31
  80746. : 0)
  80747. )
  80748. Jl(D);
  80749. Hl(
  80750. D,
  80751. e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 1] | 0,
  80752. c[O >> 2] | 0
  80753. );
  80754. if (
  80755. Il() | 0
  80756. ? (((c[O >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 > 24
  80757. : 0
  80758. )
  80759. Jl(D);
  80760. Hl(
  80761. D,
  80762. e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 6) >> 1] | 0,
  80763. c[Q >> 2] | 0
  80764. );
  80765. if (
  80766. !(!(Il() | 0)
  80767. ? (((c[P >> 2] | 0) +
  80768. (c[Q >> 2] | 0) +
  80769. (c[O >> 2] | 0)) |
  80770. 0) >>>
  80771. 0 <=
  80772. 56
  80773. : 0)
  80774. )
  80775. Jl(D);
  80776. if (c[C >> 2] | 0) {
  80777. J = c[P >> 2] | 0;
  80778. I = c[P >> 2] | 0;
  80779. da = (Il() | 0) != 0;
  80780. if (I >>> 0 < (((da ? 25 : 57) - 1) | 0) >>> 0)
  80781. ea = c[P >> 2] | 0;
  80782. else {
  80783. da = (Il() | 0) != 0;
  80784. ea = ((da ? 25 : 57) - 1) | 0;
  80785. }
  80786. c[R >> 2] = J - ea;
  80787. if (c[R >> 2] | 0) {
  80788. Hl(
  80789. D,
  80790. c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
  80791. c[R >> 2] | 0
  80792. );
  80793. Jl(D);
  80794. }
  80795. Hl(
  80796. D,
  80797. (c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0) >>>
  80798. (c[R >> 2] | 0),
  80799. ((c[P >> 2] | 0) - (c[R >> 2] | 0)) | 0
  80800. );
  80801. } else
  80802. Hl(
  80803. D,
  80804. c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
  80805. c[P >> 2] | 0
  80806. );
  80807. Jl(D);
  80808. c[K >> 2] = (c[K >> 2] | 0) + -1;
  80809. }
  80810. Ll(D, E);
  80811. Ll(D, F);
  80812. Ll(D, G);
  80813. c[S >> 2] = Ml(D) | 0;
  80814. if (!(c[S >> 2] | 0)) {
  80815. c[r >> 2] = -70;
  80816. ca = c[r >> 2] | 0;
  80817. l = q;
  80818. return ca | 0;
  80819. } else {
  80820. c[r >> 2] = c[S >> 2];
  80821. ca = c[r >> 2] | 0;
  80822. l = q;
  80823. return ca | 0;
  80824. }
  80825. return 0;
  80826. }
  80827. function Fl(a, b, d) {
  80828. a = a | 0;
  80829. b = b | 0;
  80830. d = d | 0;
  80831. var e = 0,
  80832. f = 0,
  80833. g = 0,
  80834. h = 0,
  80835. i = 0,
  80836. j = 0;
  80837. e = l;
  80838. l = (l + 16) | 0;
  80839. f = (e + 12) | 0;
  80840. g = (e + 8) | 0;
  80841. h = (e + 4) | 0;
  80842. i = e;
  80843. c[g >> 2] = a;
  80844. c[h >> 2] = b;
  80845. c[i >> 2] = d;
  80846. c[c[g >> 2] >> 2] = 0;
  80847. c[((c[g >> 2] | 0) + 4) >> 2] = 0;
  80848. c[((c[g >> 2] | 0) + 8) >> 2] = c[h >> 2];
  80849. c[((c[g >> 2] | 0) + 12) >> 2] =
  80850. c[((c[g >> 2] | 0) + 8) >> 2];
  80851. c[((c[g >> 2] | 0) + 16) >> 2] =
  80852. (c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] | 0) + -4;
  80853. if ((c[i >> 2] | 0) >>> 0 <= 4) {
  80854. c[f >> 2] = -70;
  80855. j = c[f >> 2] | 0;
  80856. l = e;
  80857. return j | 0;
  80858. } else {
  80859. c[f >> 2] = 0;
  80860. j = c[f >> 2] | 0;
  80861. l = e;
  80862. return j | 0;
  80863. }
  80864. return 0;
  80865. }
  80866. function Gl(a, b, d) {
  80867. a = a | 0;
  80868. b = b | 0;
  80869. d = d | 0;
  80870. var f = 0,
  80871. g = 0,
  80872. h = 0,
  80873. i = 0,
  80874. j = 0,
  80875. k = 0,
  80876. m = 0;
  80877. f = l;
  80878. l = (l + 32) | 0;
  80879. g = (f + 24) | 0;
  80880. h = (f + 20) | 0;
  80881. i = (f + 16) | 0;
  80882. j = (f + 8) | 0;
  80883. k = (f + 4) | 0;
  80884. m = f;
  80885. c[g >> 2] = a;
  80886. c[h >> 2] = b;
  80887. c[i >> 2] = d;
  80888. Ul(c[g >> 2] | 0, c[h >> 2] | 0);
  80889. h =
  80890. ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
  80891. 0;
  80892. c[j >> 2] = c[h >> 2];
  80893. c[(j + 4) >> 2] = c[(h + 4) >> 2];
  80894. c[k >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  80895. c[m >> 2] = (((c[(j + 4) >> 2] | 0) + 32768) | 0) >>> 16;
  80896. c[c[g >> 2] >> 2] = (c[m >> 2] << 16) - (c[(j + 4) >> 2] | 0);
  80897. c[c[g >> 2] >> 2] =
  80898. e[
  80899. ((c[k >> 2] | 0) +
  80900. (((c[c[g >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
  80901. 1)) >>
  80902. 1
  80903. ];
  80904. l = f;
  80905. return;
  80906. }
  80907. function Hl(a, b, d) {
  80908. a = a | 0;
  80909. b = b | 0;
  80910. d = d | 0;
  80911. var e = 0,
  80912. f = 0,
  80913. g = 0,
  80914. h = 0;
  80915. e = l;
  80916. l = (l + 16) | 0;
  80917. f = (e + 8) | 0;
  80918. g = (e + 4) | 0;
  80919. h = e;
  80920. c[f >> 2] = a;
  80921. c[g >> 2] = b;
  80922. c[h >> 2] = d;
  80923. d = c[f >> 2] | 0;
  80924. c[d >> 2] =
  80925. c[d >> 2] |
  80926. ((c[g >> 2] & c[(2800 + (c[h >> 2] << 2)) >> 2]) <<
  80927. c[((c[f >> 2] | 0) + 4) >> 2]);
  80928. g = ((c[f >> 2] | 0) + 4) | 0;
  80929. c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
  80930. l = e;
  80931. return;
  80932. }
  80933. function Il() {
  80934. return 1;
  80935. }
  80936. function Jl(a) {
  80937. a = a | 0;
  80938. var b = 0,
  80939. d = 0,
  80940. e = 0;
  80941. b = l;
  80942. l = (l + 16) | 0;
  80943. d = (b + 4) | 0;
  80944. e = b;
  80945. c[d >> 2] = a;
  80946. c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
  80947. Ol(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
  80948. a = ((c[d >> 2] | 0) + 12) | 0;
  80949. c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
  80950. if (
  80951. (c[((c[d >> 2] | 0) + 12) >> 2] | 0) >>> 0 >
  80952. (c[((c[d >> 2] | 0) + 16) >> 2] | 0) >>> 0
  80953. )
  80954. c[((c[d >> 2] | 0) + 12) >> 2] =
  80955. c[((c[d >> 2] | 0) + 16) >> 2];
  80956. a = ((c[d >> 2] | 0) + 4) | 0;
  80957. c[a >> 2] = c[a >> 2] & 7;
  80958. a = c[d >> 2] | 0;
  80959. c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
  80960. l = b;
  80961. return;
  80962. }
  80963. function Kl(a, b, d) {
  80964. a = a | 0;
  80965. b = b | 0;
  80966. d = d | 0;
  80967. var f = 0,
  80968. g = 0,
  80969. h = 0,
  80970. i = 0,
  80971. j = 0,
  80972. k = 0,
  80973. m = 0;
  80974. f = l;
  80975. l = (l + 32) | 0;
  80976. g = (f + 24) | 0;
  80977. h = (f + 20) | 0;
  80978. i = (f + 16) | 0;
  80979. j = (f + 8) | 0;
  80980. k = (f + 4) | 0;
  80981. m = f;
  80982. c[g >> 2] = a;
  80983. c[h >> 2] = b;
  80984. c[i >> 2] = d;
  80985. d =
  80986. ((c[((c[h >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
  80987. 0;
  80988. c[j >> 2] = c[d >> 2];
  80989. c[(j + 4) >> 2] = c[(d + 4) >> 2];
  80990. c[k >> 2] = c[((c[h >> 2] | 0) + 4) >> 2];
  80991. c[m >> 2] =
  80992. (((c[c[h >> 2] >> 2] | 0) + (c[(j + 4) >> 2] | 0)) | 0) >>>
  80993. 16;
  80994. Hl(c[g >> 2] | 0, c[c[h >> 2] >> 2] | 0, c[m >> 2] | 0);
  80995. c[c[h >> 2] >> 2] =
  80996. e[
  80997. ((c[k >> 2] | 0) +
  80998. (((c[c[h >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
  80999. 1)) >>
  81000. 1
  81001. ];
  81002. l = f;
  81003. return;
  81004. }
  81005. function Ll(a, b) {
  81006. a = a | 0;
  81007. b = b | 0;
  81008. var d = 0,
  81009. e = 0,
  81010. f = 0;
  81011. d = l;
  81012. l = (l + 16) | 0;
  81013. e = (d + 4) | 0;
  81014. f = d;
  81015. c[e >> 2] = a;
  81016. c[f >> 2] = b;
  81017. Hl(
  81018. c[e >> 2] | 0,
  81019. c[c[f >> 2] >> 2] | 0,
  81020. c[((c[f >> 2] | 0) + 12) >> 2] | 0
  81021. );
  81022. Jl(c[e >> 2] | 0);
  81023. l = d;
  81024. return;
  81025. }
  81026. function Ml(a) {
  81027. a = a | 0;
  81028. var b = 0,
  81029. d = 0,
  81030. e = 0,
  81031. f = 0;
  81032. b = l;
  81033. l = (l + 16) | 0;
  81034. d = (b + 4) | 0;
  81035. e = b;
  81036. c[e >> 2] = a;
  81037. Nl(c[e >> 2] | 0, 1, 1);
  81038. Jl(c[e >> 2] | 0);
  81039. if (
  81040. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0 >=
  81041. (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
  81042. ) {
  81043. c[d >> 2] = 0;
  81044. f = c[d >> 2] | 0;
  81045. l = b;
  81046. return f | 0;
  81047. } else {
  81048. c[d >> 2] =
  81049. (c[((c[e >> 2] | 0) + 12) >> 2] | 0) -
  81050. (c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
  81051. (((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 0) & 1);
  81052. f = c[d >> 2] | 0;
  81053. l = b;
  81054. return f | 0;
  81055. }
  81056. return 0;
  81057. }
  81058. function Nl(a, b, d) {
  81059. a = a | 0;
  81060. b = b | 0;
  81061. d = d | 0;
  81062. var e = 0,
  81063. f = 0,
  81064. g = 0,
  81065. h = 0;
  81066. e = l;
  81067. l = (l + 16) | 0;
  81068. f = (e + 8) | 0;
  81069. g = (e + 4) | 0;
  81070. h = e;
  81071. c[f >> 2] = a;
  81072. c[g >> 2] = b;
  81073. c[h >> 2] = d;
  81074. d = c[f >> 2] | 0;
  81075. c[d >> 2] =
  81076. c[d >> 2] | (c[g >> 2] << c[((c[f >> 2] | 0) + 4) >> 2]);
  81077. g = ((c[f >> 2] | 0) + 4) | 0;
  81078. c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
  81079. l = e;
  81080. return;
  81081. }
  81082. function Ol(a, b) {
  81083. a = a | 0;
  81084. b = b | 0;
  81085. var d = 0,
  81086. e = 0,
  81087. f = 0;
  81088. d = l;
  81089. l = (l + 16) | 0;
  81090. e = (d + 4) | 0;
  81091. f = d;
  81092. c[e >> 2] = a;
  81093. c[f >> 2] = b;
  81094. b = (Il() | 0) != 0;
  81095. a = c[e >> 2] | 0;
  81096. e = c[f >> 2] | 0;
  81097. if (b) {
  81098. Pl(a, e);
  81099. l = d;
  81100. return;
  81101. } else {
  81102. Ql(a, e, 0);
  81103. l = d;
  81104. return;
  81105. }
  81106. }
  81107. function Pl(a, b) {
  81108. a = a | 0;
  81109. b = b | 0;
  81110. var d = 0,
  81111. e = 0,
  81112. f = 0;
  81113. d = l;
  81114. l = (l + 16) | 0;
  81115. e = (d + 4) | 0;
  81116. f = d;
  81117. c[e >> 2] = a;
  81118. c[f >> 2] = b;
  81119. b = (Jj() | 0) != 0;
  81120. a = c[e >> 2] | 0;
  81121. e = c[f >> 2] | 0;
  81122. if (b) {
  81123. Tl(a, e);
  81124. l = d;
  81125. return;
  81126. } else {
  81127. Tl(a, Lj(e) | 0);
  81128. l = d;
  81129. return;
  81130. }
  81131. }
  81132. function Ql(a, b, d) {
  81133. a = a | 0;
  81134. b = b | 0;
  81135. d = d | 0;
  81136. var e = 0,
  81137. f = 0,
  81138. g = 0;
  81139. e = l;
  81140. l = (l + 16) | 0;
  81141. f = (e + 8) | 0;
  81142. g = e;
  81143. c[f >> 2] = a;
  81144. a = g;
  81145. c[a >> 2] = b;
  81146. c[(a + 4) >> 2] = d;
  81147. d = (Jj() | 0) != 0;
  81148. a = c[f >> 2] | 0;
  81149. f = g;
  81150. g = c[f >> 2] | 0;
  81151. b = c[(f + 4) >> 2] | 0;
  81152. if (d) {
  81153. Rl(a, g, b);
  81154. l = e;
  81155. return;
  81156. } else {
  81157. d = Sl(g, b) | 0;
  81158. Rl(a, d, y);
  81159. l = e;
  81160. return;
  81161. }
  81162. }
  81163. function Rl(b, d, e) {
  81164. b = b | 0;
  81165. d = d | 0;
  81166. e = e | 0;
  81167. var f = 0,
  81168. g = 0,
  81169. h = 0;
  81170. f = l;
  81171. l = (l + 16) | 0;
  81172. g = (f + 8) | 0;
  81173. h = f;
  81174. c[g >> 2] = b;
  81175. b = h;
  81176. c[b >> 2] = d;
  81177. c[(b + 4) >> 2] = e;
  81178. e = h;
  81179. h = c[e >> 2] | 0;
  81180. b = c[(e + 4) >> 2] | 0;
  81181. e = c[g >> 2] | 0;
  81182. g = e;
  81183. a[g >> 0] = h;
  81184. a[(g + 1) >> 0] = h >> 8;
  81185. a[(g + 2) >> 0] = h >> 16;
  81186. a[(g + 3) >> 0] = h >> 24;
  81187. h = (e + 4) | 0;
  81188. a[h >> 0] = b;
  81189. a[(h + 1) >> 0] = b >> 8;
  81190. a[(h + 2) >> 0] = b >> 16;
  81191. a[(h + 3) >> 0] = b >> 24;
  81192. l = f;
  81193. return;
  81194. }
  81195. function Sl(a, b) {
  81196. a = a | 0;
  81197. b = b | 0;
  81198. var d = 0,
  81199. e = 0,
  81200. f = 0,
  81201. g = 0,
  81202. h = 0;
  81203. d = l;
  81204. l = (l + 16) | 0;
  81205. e = d;
  81206. f = e;
  81207. c[f >> 2] = a;
  81208. c[(f + 4) >> 2] = b;
  81209. b = e;
  81210. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  81211. b = y & -16777216;
  81212. f = e;
  81213. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
  81214. f = b | (y & 16711680);
  81215. b = e;
  81216. jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  81217. b = f | (y & 65280);
  81218. f = e;
  81219. jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
  81220. f = b | (y & 255);
  81221. b = e;
  81222. a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
  81223. b = e;
  81224. g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
  81225. b = e;
  81226. h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
  81227. b = e;
  81228. e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
  81229. y = f;
  81230. l = d;
  81231. return (
  81232. (a & -16777216) |
  81233. (g & 16711680) |
  81234. (h & 65280) |
  81235. (e & 255) |
  81236. 0
  81237. );
  81238. }
  81239. function Tl(b, d) {
  81240. b = b | 0;
  81241. d = d | 0;
  81242. var e = 0,
  81243. f = 0,
  81244. g = 0;
  81245. e = l;
  81246. l = (l + 16) | 0;
  81247. f = (e + 4) | 0;
  81248. g = e;
  81249. c[f >> 2] = b;
  81250. c[g >> 2] = d;
  81251. d = c[g >> 2] | 0;
  81252. g = c[f >> 2] | 0;
  81253. a[g >> 0] = d;
  81254. a[(g + 1) >> 0] = d >> 8;
  81255. a[(g + 2) >> 0] = d >> 16;
  81256. a[(g + 3) >> 0] = d >> 24;
  81257. l = e;
  81258. return;
  81259. }
  81260. function Ul(a, b) {
  81261. a = a | 0;
  81262. b = b | 0;
  81263. var d = 0,
  81264. e = 0,
  81265. f = 0,
  81266. g = 0,
  81267. h = 0,
  81268. i = 0,
  81269. j = 0;
  81270. d = l;
  81271. l = (l + 32) | 0;
  81272. e = (d + 16) | 0;
  81273. f = (d + 12) | 0;
  81274. g = (d + 8) | 0;
  81275. h = (d + 4) | 0;
  81276. i = d;
  81277. c[e >> 2] = a;
  81278. c[f >> 2] = b;
  81279. c[g >> 2] = c[f >> 2];
  81280. c[h >> 2] = c[g >> 2];
  81281. c[i >> 2] = (Vl(c[g >> 2] | 0) | 0) & 65535;
  81282. c[c[e >> 2] >> 2] = 1 << c[i >> 2];
  81283. c[((c[e >> 2] | 0) + 4) >> 2] = (c[h >> 2] | 0) + 4;
  81284. if (c[i >> 2] | 0) j = 1 << ((c[i >> 2] | 0) - 1);
  81285. else j = 1;
  81286. c[((c[e >> 2] | 0) + 8) >> 2] =
  81287. (c[f >> 2] | 0) + 4 + (j << 2);
  81288. c[((c[e >> 2] | 0) + 12) >> 2] = c[i >> 2];
  81289. l = d;
  81290. return;
  81291. }
  81292. function Vl(a) {
  81293. a = a | 0;
  81294. var b = 0,
  81295. e = 0;
  81296. b = l;
  81297. l = (l + 16) | 0;
  81298. e = b;
  81299. c[e >> 2] = a;
  81300. a = c[e >> 2] | 0;
  81301. l = b;
  81302. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  81303. }
  81304. function Wl(a, b) {
  81305. a = a | 0;
  81306. b = b | 0;
  81307. var d = 0,
  81308. e = 0,
  81309. f = 0;
  81310. d = l;
  81311. l = (l + 16) | 0;
  81312. e = (d + 4) | 0;
  81313. f = d;
  81314. c[e >> 2] = a;
  81315. c[f >> 2] = b;
  81316. l = d;
  81317. return (
  81318. c[
  81319. (2928 +
  81320. (((((c[f >> 2] | 0) != 0) & 1) * 36) | 0) +
  81321. (c[e >> 2] << 2)) >>
  81322. 2
  81323. ] | 0
  81324. );
  81325. }
  81326. function Xl(a, b, e, f, g, h) {
  81327. a = a | 0;
  81328. b = b | 0;
  81329. e = e | 0;
  81330. f = f | 0;
  81331. g = g | 0;
  81332. h = h | 0;
  81333. var i = 0,
  81334. j = 0,
  81335. k = 0,
  81336. m = 0,
  81337. n = 0,
  81338. o = 0,
  81339. p = 0,
  81340. q = 0,
  81341. r = 0,
  81342. s = 0,
  81343. t = 0,
  81344. u = 0,
  81345. v = 0,
  81346. w = 0,
  81347. x = 0,
  81348. y = 0,
  81349. z = 0,
  81350. A = 0,
  81351. B = 0,
  81352. C = 0,
  81353. D = 0,
  81354. E = 0,
  81355. F = 0,
  81356. G = 0,
  81357. H = 0,
  81358. I = 0,
  81359. J = 0,
  81360. K = 0,
  81361. L = 0,
  81362. M = 0,
  81363. N = 0,
  81364. O = 0,
  81365. P = 0,
  81366. Q = 0,
  81367. R = 0,
  81368. S = 0,
  81369. T = 0,
  81370. U = 0,
  81371. V = 0,
  81372. W = 0,
  81373. X = 0,
  81374. Y = 0,
  81375. Z = 0,
  81376. _ = 0,
  81377. $ = 0,
  81378. aa = 0,
  81379. ba = 0,
  81380. ca = 0,
  81381. da = 0,
  81382. ea = 0,
  81383. fa = 0,
  81384. ga = 0,
  81385. ha = 0,
  81386. ia = 0,
  81387. ja = 0,
  81388. ka = 0,
  81389. la = 0,
  81390. ma = 0,
  81391. na = 0,
  81392. oa = 0,
  81393. pa = 0,
  81394. qa = 0,
  81395. ra = 0,
  81396. sa = 0,
  81397. ta = 0,
  81398. ua = 0,
  81399. va = 0,
  81400. wa = 0,
  81401. xa = 0,
  81402. ya = 0,
  81403. za = 0,
  81404. Aa = 0,
  81405. Ba = 0,
  81406. Ca = 0,
  81407. Da = 0,
  81408. Ea = 0,
  81409. Fa = 0,
  81410. Ga = 0,
  81411. Ha = 0,
  81412. Ia = 0,
  81413. Ja = 0,
  81414. Ka = 0,
  81415. La = 0,
  81416. Ma = 0,
  81417. Na = 0,
  81418. Oa = 0,
  81419. Pa = 0,
  81420. Qa = 0,
  81421. Ra = 0,
  81422. Sa = 0,
  81423. Ta = 0,
  81424. Ua = 0,
  81425. Va = 0,
  81426. Wa = 0,
  81427. Xa = 0,
  81428. Ya = 0,
  81429. Za = 0,
  81430. _a = 0,
  81431. $a = 0,
  81432. ab = 0,
  81433. bb = 0,
  81434. cb = 0,
  81435. db = 0,
  81436. eb = 0,
  81437. fb = 0,
  81438. gb = 0,
  81439. hb = 0,
  81440. ib = 0,
  81441. jb = 0,
  81442. kb = 0,
  81443. lb = 0,
  81444. mb = 0,
  81445. nb = 0,
  81446. ob = 0,
  81447. pb = 0,
  81448. qb = 0,
  81449. rb = 0,
  81450. sb = 0,
  81451. tb = 0,
  81452. ub = 0,
  81453. vb = 0,
  81454. wb = 0,
  81455. xb = 0,
  81456. yb = 0,
  81457. zb = 0,
  81458. Ab = 0,
  81459. Bb = 0,
  81460. Cb = 0;
  81461. i = l;
  81462. l = (l + 512) | 0;
  81463. j = (i + 500) | 0;
  81464. k = (i + 496) | 0;
  81465. m = (i + 492) | 0;
  81466. n = (i + 488) | 0;
  81467. o = (i + 484) | 0;
  81468. p = (i + 480) | 0;
  81469. q = (i + 476) | 0;
  81470. r = (i + 472) | 0;
  81471. s = (i + 468) | 0;
  81472. t = (i + 464) | 0;
  81473. u = (i + 460) | 0;
  81474. v = (i + 456) | 0;
  81475. w = (i + 452) | 0;
  81476. x = (i + 448) | 0;
  81477. y = (i + 444) | 0;
  81478. z = (i + 440) | 0;
  81479. A = (i + 436) | 0;
  81480. B = (i + 432) | 0;
  81481. C = (i + 428) | 0;
  81482. D = (i + 424) | 0;
  81483. E = (i + 420) | 0;
  81484. F = (i + 416) | 0;
  81485. G = (i + 412) | 0;
  81486. H = (i + 408) | 0;
  81487. I = (i + 404) | 0;
  81488. J = (i + 400) | 0;
  81489. K = (i + 396) | 0;
  81490. L = (i + 392) | 0;
  81491. M = (i + 388) | 0;
  81492. N = (i + 384) | 0;
  81493. O = (i + 380) | 0;
  81494. P = (i + 376) | 0;
  81495. Q = (i + 372) | 0;
  81496. R = (i + 368) | 0;
  81497. S = (i + 364) | 0;
  81498. T = (i + 360) | 0;
  81499. U = (i + 356) | 0;
  81500. V = (i + 352) | 0;
  81501. W = (i + 348) | 0;
  81502. X = (i + 344) | 0;
  81503. Y = (i + 340) | 0;
  81504. Z = (i + 336) | 0;
  81505. _ = (i + 332) | 0;
  81506. $ = (i + 328) | 0;
  81507. aa = (i + 324) | 0;
  81508. ba = (i + 320) | 0;
  81509. ca = (i + 316) | 0;
  81510. da = (i + 312) | 0;
  81511. ea = (i + 308) | 0;
  81512. fa = (i + 304) | 0;
  81513. ga = (i + 300) | 0;
  81514. ha = (i + 296) | 0;
  81515. ia = (i + 292) | 0;
  81516. ja = (i + 288) | 0;
  81517. ka = (i + 284) | 0;
  81518. la = (i + 280) | 0;
  81519. ma = (i + 276) | 0;
  81520. na = (i + 272) | 0;
  81521. oa = (i + 268) | 0;
  81522. pa = (i + 264) | 0;
  81523. qa = (i + 260) | 0;
  81524. ra = (i + 256) | 0;
  81525. sa = (i + 252) | 0;
  81526. ta = (i + 248) | 0;
  81527. ua = (i + 244) | 0;
  81528. va = (i + 240) | 0;
  81529. wa = (i + 236) | 0;
  81530. xa = (i + 232) | 0;
  81531. ya = (i + 228) | 0;
  81532. za = (i + 224) | 0;
  81533. Aa = (i + 220) | 0;
  81534. Ba = (i + 216) | 0;
  81535. Ca = (i + 212) | 0;
  81536. Da = (i + 208) | 0;
  81537. Ea = (i + 204) | 0;
  81538. Fa = (i + 200) | 0;
  81539. Ga = (i + 196) | 0;
  81540. Ha = (i + 192) | 0;
  81541. Ia = (i + 188) | 0;
  81542. Ja = (i + 184) | 0;
  81543. Ka = (i + 180) | 0;
  81544. La = (i + 176) | 0;
  81545. Ma = (i + 172) | 0;
  81546. Na = (i + 168) | 0;
  81547. Oa = (i + 164) | 0;
  81548. Pa = (i + 160) | 0;
  81549. Qa = (i + 156) | 0;
  81550. Ra = (i + 152) | 0;
  81551. Sa = (i + 148) | 0;
  81552. Ta = (i + 144) | 0;
  81553. Ua = (i + 140) | 0;
  81554. Va = (i + 136) | 0;
  81555. Wa = (i + 132) | 0;
  81556. Xa = (i + 128) | 0;
  81557. Ya = (i + 124) | 0;
  81558. Za = (i + 120) | 0;
  81559. _a = (i + 116) | 0;
  81560. $a = (i + 112) | 0;
  81561. ab = (i + 108) | 0;
  81562. bb = (i + 104) | 0;
  81563. cb = (i + 100) | 0;
  81564. db = (i + 96) | 0;
  81565. eb = (i + 92) | 0;
  81566. fb = (i + 88) | 0;
  81567. gb = (i + 84) | 0;
  81568. hb = (i + 80) | 0;
  81569. ib = (i + 76) | 0;
  81570. jb = (i + 72) | 0;
  81571. kb = (i + 68) | 0;
  81572. lb = (i + 64) | 0;
  81573. mb = (i + 60) | 0;
  81574. nb = (i + 56) | 0;
  81575. ob = (i + 52) | 0;
  81576. pb = (i + 48) | 0;
  81577. qb = (i + 44) | 0;
  81578. rb = (i + 40) | 0;
  81579. sb = (i + 36) | 0;
  81580. tb = (i + 32) | 0;
  81581. ub = (i + 28) | 0;
  81582. vb = (i + 24) | 0;
  81583. wb = (i + 20) | 0;
  81584. xb = (i + 16) | 0;
  81585. yb = (i + 12) | 0;
  81586. zb = (i + 8) | 0;
  81587. Ab = (i + 4) | 0;
  81588. Bb = i;
  81589. c[tb >> 2] = a;
  81590. c[ub >> 2] = b;
  81591. c[vb >> 2] = e;
  81592. c[wb >> 2] = f;
  81593. c[xb >> 2] = g;
  81594. c[yb >> 2] = h;
  81595. c[zb >> 2] = c[((c[wb >> 2] | 0) + 8) >> 2];
  81596. c[Ab >> 2] = c[((c[wb >> 2] | 0) + 16) >> 2];
  81597. c[Bb >> 2] = c[((c[wb >> 2] | 0) + 20) >> 2];
  81598. switch (c[Ab >> 2] | 0) {
  81599. case 7: {
  81600. Ab = c[ub >> 2] | 0;
  81601. wb = c[vb >> 2] | 0;
  81602. h = c[xb >> 2] | 0;
  81603. g = c[yb >> 2] | 0;
  81604. f = c[zb >> 2] | 0;
  81605. e = c[Bb >> 2] | 0;
  81606. c[j >> 2] = c[tb >> 2];
  81607. c[k >> 2] = Ab;
  81608. c[m >> 2] = wb;
  81609. c[n >> 2] = h;
  81610. c[o >> 2] = g;
  81611. c[p >> 2] = f;
  81612. c[q >> 2] = e;
  81613. c[r >> 2] = 7;
  81614. c[s >> 2] = c[((c[j >> 2] | 0) + 36) >> 2];
  81615. c[t >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
  81616. c[u >> 2] = c[n >> 2];
  81617. c[v >> 2] = c[u >> 2];
  81618. c[w >> 2] = c[u >> 2];
  81619. c[x >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
  81620. c[y >> 2] = (c[t >> 2] | 0) + (c[x >> 2] | 0);
  81621. c[z >> 2] = (c[u >> 2] | 0) + (c[o >> 2] | 0);
  81622. c[A >> 2] = (c[z >> 2] | 0) + -8;
  81623. c[B >> 2] = c[c[m >> 2] >> 2];
  81624. c[C >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  81625. c[D >> 2] = 0;
  81626. c[v >> 2] =
  81627. (c[v >> 2] | 0) +
  81628. (((c[v >> 2] | 0) == (c[y >> 2] | 0)) & 1);
  81629. c[E >> 2] = (c[v >> 2] | 0) - (c[y >> 2] | 0);
  81630. if ((c[C >> 2] | 0) >>> 0 > (c[E >> 2] | 0) >>> 0) {
  81631. c[D >> 2] = c[C >> 2];
  81632. c[C >> 2] = 0;
  81633. }
  81634. if ((c[B >> 2] | 0) >>> 0 > (c[E >> 2] | 0) >>> 0) {
  81635. c[D >> 2] = c[B >> 2];
  81636. c[B >> 2] = 0;
  81637. }
  81638. a: while (1) {
  81639. if ((c[v >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0)
  81640. break;
  81641. c[G >> 2] =
  81642. Tk(c[v >> 2] | 0, c[p >> 2] | 0, c[r >> 2] | 0) | 0;
  81643. c[H >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
  81644. c[I >> 2] =
  81645. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
  81646. c[J >> 2] = (c[t >> 2] | 0) + (c[I >> 2] | 0);
  81647. c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2] =
  81648. c[H >> 2];
  81649. E = ((c[B >> 2] | 0) >>> 0 > 0) & 1;
  81650. o =
  81651. fl(
  81652. ((c[v >> 2] | 0) + 1 + (0 - (c[B >> 2] | 0))) | 0
  81653. ) | 0;
  81654. do {
  81655. if (
  81656. (E &
  81657. ((o | 0) ==
  81658. (fl(((c[v >> 2] | 0) + 1) | 0) | 0))) |
  81659. 0
  81660. ) {
  81661. c[F >> 2] =
  81662. (nn(
  81663. ((c[v >> 2] | 0) + 1 + 4) | 0,
  81664. ((c[v >> 2] | 0) +
  81665. 1 +
  81666. 4 +
  81667. (0 - (c[B >> 2] | 0))) |
  81668. 0,
  81669. c[z >> 2] | 0
  81670. ) |
  81671. 0) +
  81672. 4;
  81673. c[v >> 2] = (c[v >> 2] | 0) + 1;
  81674. kn(
  81675. c[k >> 2] | 0,
  81676. ((c[v >> 2] | 0) - (c[w >> 2] | 0)) | 0,
  81677. c[w >> 2] | 0,
  81678. 0,
  81679. ((c[F >> 2] | 0) - 3) | 0
  81680. );
  81681. } else {
  81682. if (
  81683. (c[I >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0
  81684. ? ((u = fl(c[J >> 2] | 0) | 0),
  81685. (u | 0) == (fl(c[v >> 2] | 0) | 0))
  81686. : 0
  81687. ) {
  81688. c[F >> 2] =
  81689. (nn(
  81690. ((c[v >> 2] | 0) + 4) | 0,
  81691. ((c[J >> 2] | 0) + 4) | 0,
  81692. c[z >> 2] | 0
  81693. ) |
  81694. 0) +
  81695. 4;
  81696. c[K >> 2] = (c[v >> 2] | 0) - (c[J >> 2] | 0);
  81697. while (1) {
  81698. if (
  81699. !(
  81700. ((c[v >> 2] | 0) >>> 0 >
  81701. (c[w >> 2] | 0) >>> 0
  81702. ? (c[J >> 2] | 0) >>> 0 >
  81703. (c[y >> 2] | 0) >>> 0
  81704. : 0) | 0
  81705. )
  81706. )
  81707. break;
  81708. if (
  81709. (d[((c[v >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  81710. (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0)
  81711. )
  81712. break;
  81713. c[v >> 2] = (c[v >> 2] | 0) + -1;
  81714. c[J >> 2] = (c[J >> 2] | 0) + -1;
  81715. c[F >> 2] = (c[F >> 2] | 0) + 1;
  81716. }
  81717. c[C >> 2] = c[B >> 2];
  81718. c[B >> 2] = c[K >> 2];
  81719. kn(
  81720. c[k >> 2] | 0,
  81721. ((c[v >> 2] | 0) - (c[w >> 2] | 0)) | 0,
  81722. c[w >> 2] | 0,
  81723. ((c[K >> 2] | 0) + 2) | 0,
  81724. ((c[F >> 2] | 0) - 3) | 0
  81725. );
  81726. break;
  81727. }
  81728. c[v >> 2] =
  81729. (c[v >> 2] | 0) +
  81730. ((((c[v >> 2] | 0) - (c[w >> 2] | 0)) >> 8) +
  81731. (c[q >> 2] | 0));
  81732. continue a;
  81733. }
  81734. } while (0);
  81735. c[v >> 2] = (c[v >> 2] | 0) + (c[F >> 2] | 0);
  81736. c[w >> 2] = c[v >> 2];
  81737. b: do {
  81738. if ((c[v >> 2] | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0) {
  81739. o = ((c[H >> 2] | 0) + 2) | 0;
  81740. E = c[s >> 2] | 0;
  81741. c[
  81742. (E +
  81743. ((Tk(
  81744. ((c[t >> 2] | 0) + (c[H >> 2] | 0) + 2) | 0,
  81745. c[p >> 2] | 0,
  81746. c[r >> 2] | 0
  81747. ) |
  81748. 0) <<
  81749. 2)) >>
  81750. 2
  81751. ] = o;
  81752. o = ((c[v >> 2] | 0) + -2 - (c[t >> 2] | 0)) | 0;
  81753. E = c[s >> 2] | 0;
  81754. c[
  81755. (E +
  81756. ((Tk(
  81757. ((c[v >> 2] | 0) + -2) | 0,
  81758. c[p >> 2] | 0,
  81759. c[r >> 2] | 0
  81760. ) |
  81761. 0) <<
  81762. 2)) >>
  81763. 2
  81764. ] = o;
  81765. while (1) {
  81766. if ((c[v >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0)
  81767. break b;
  81768. o = ((c[C >> 2] | 0) >>> 0 > 0) & 1;
  81769. E = fl(c[v >> 2] | 0) | 0;
  81770. if (
  81771. !(
  81772. o &
  81773. ((E | 0) ==
  81774. (fl(
  81775. ((c[v >> 2] | 0) +
  81776. (0 - (c[C >> 2] | 0))) |
  81777. 0
  81778. ) |
  81779. 0))
  81780. )
  81781. )
  81782. break b;
  81783. c[L >> 2] =
  81784. (nn(
  81785. ((c[v >> 2] | 0) + 4) | 0,
  81786. ((c[v >> 2] | 0) +
  81787. 4 +
  81788. (0 - (c[C >> 2] | 0))) |
  81789. 0,
  81790. c[z >> 2] | 0
  81791. ) |
  81792. 0) +
  81793. 4;
  81794. c[M >> 2] = c[C >> 2];
  81795. c[C >> 2] = c[B >> 2];
  81796. c[B >> 2] = c[M >> 2];
  81797. E = ((c[v >> 2] | 0) - (c[t >> 2] | 0)) | 0;
  81798. o = c[s >> 2] | 0;
  81799. c[
  81800. (o +
  81801. ((Tk(
  81802. c[v >> 2] | 0,
  81803. c[p >> 2] | 0,
  81804. c[r >> 2] | 0
  81805. ) |
  81806. 0) <<
  81807. 2)) >>
  81808. 2
  81809. ] = E;
  81810. kn(
  81811. c[k >> 2] | 0,
  81812. 0,
  81813. c[w >> 2] | 0,
  81814. 0,
  81815. ((c[L >> 2] | 0) - 3) | 0
  81816. );
  81817. c[v >> 2] = (c[v >> 2] | 0) + (c[L >> 2] | 0);
  81818. c[w >> 2] = c[v >> 2];
  81819. }
  81820. }
  81821. } while (0);
  81822. }
  81823. c[c[m >> 2] >> 2] =
  81824. c[B >> 2] | 0 ? c[B >> 2] | 0 : c[D >> 2] | 0;
  81825. c[((c[m >> 2] | 0) + 4) >> 2] =
  81826. c[C >> 2] | 0 ? c[C >> 2] | 0 : c[D >> 2] | 0;
  81827. c[sb >> 2] = (c[z >> 2] | 0) - (c[w >> 2] | 0);
  81828. Cb = c[sb >> 2] | 0;
  81829. l = i;
  81830. return Cb | 0;
  81831. }
  81832. case 5: {
  81833. w = c[ub >> 2] | 0;
  81834. z = c[vb >> 2] | 0;
  81835. D = c[xb >> 2] | 0;
  81836. C = c[yb >> 2] | 0;
  81837. m = c[zb >> 2] | 0;
  81838. B = c[Bb >> 2] | 0;
  81839. c[oa >> 2] = c[tb >> 2];
  81840. c[pa >> 2] = w;
  81841. c[qa >> 2] = z;
  81842. c[ra >> 2] = D;
  81843. c[sa >> 2] = C;
  81844. c[ta >> 2] = m;
  81845. c[ua >> 2] = B;
  81846. c[va >> 2] = 5;
  81847. c[wa >> 2] = c[((c[oa >> 2] | 0) + 36) >> 2];
  81848. c[xa >> 2] = c[((c[oa >> 2] | 0) + 4) >> 2];
  81849. c[ya >> 2] = c[ra >> 2];
  81850. c[za >> 2] = c[ya >> 2];
  81851. c[Aa >> 2] = c[ya >> 2];
  81852. c[Ba >> 2] = c[((c[oa >> 2] | 0) + 12) >> 2];
  81853. c[Ca >> 2] = (c[xa >> 2] | 0) + (c[Ba >> 2] | 0);
  81854. c[Da >> 2] = (c[ya >> 2] | 0) + (c[sa >> 2] | 0);
  81855. c[Ea >> 2] = (c[Da >> 2] | 0) + -8;
  81856. c[Fa >> 2] = c[c[qa >> 2] >> 2];
  81857. c[Ga >> 2] = c[((c[qa >> 2] | 0) + 4) >> 2];
  81858. c[Ha >> 2] = 0;
  81859. c[za >> 2] =
  81860. (c[za >> 2] | 0) +
  81861. (((c[za >> 2] | 0) == (c[Ca >> 2] | 0)) & 1);
  81862. c[Ia >> 2] = (c[za >> 2] | 0) - (c[Ca >> 2] | 0);
  81863. if ((c[Ga >> 2] | 0) >>> 0 > (c[Ia >> 2] | 0) >>> 0) {
  81864. c[Ha >> 2] = c[Ga >> 2];
  81865. c[Ga >> 2] = 0;
  81866. }
  81867. if ((c[Fa >> 2] | 0) >>> 0 > (c[Ia >> 2] | 0) >>> 0) {
  81868. c[Ha >> 2] = c[Fa >> 2];
  81869. c[Fa >> 2] = 0;
  81870. }
  81871. c: while (1) {
  81872. if ((c[za >> 2] | 0) >>> 0 >= (c[Ea >> 2] | 0) >>> 0)
  81873. break;
  81874. c[Ka >> 2] =
  81875. Tk(c[za >> 2] | 0, c[ta >> 2] | 0, c[va >> 2] | 0) |
  81876. 0;
  81877. c[La >> 2] = (c[za >> 2] | 0) - (c[xa >> 2] | 0);
  81878. c[Ma >> 2] =
  81879. c[((c[wa >> 2] | 0) + (c[Ka >> 2] << 2)) >> 2];
  81880. c[Na >> 2] = (c[xa >> 2] | 0) + (c[Ma >> 2] | 0);
  81881. c[((c[wa >> 2] | 0) + (c[Ka >> 2] << 2)) >> 2] =
  81882. c[La >> 2];
  81883. Ia = ((c[Fa >> 2] | 0) >>> 0 > 0) & 1;
  81884. sa =
  81885. fl(
  81886. ((c[za >> 2] | 0) + 1 + (0 - (c[Fa >> 2] | 0))) | 0
  81887. ) | 0;
  81888. do {
  81889. if (
  81890. (Ia &
  81891. ((sa | 0) ==
  81892. (fl(((c[za >> 2] | 0) + 1) | 0) | 0))) |
  81893. 0
  81894. ) {
  81895. c[Ja >> 2] =
  81896. (nn(
  81897. ((c[za >> 2] | 0) + 1 + 4) | 0,
  81898. ((c[za >> 2] | 0) +
  81899. 1 +
  81900. 4 +
  81901. (0 - (c[Fa >> 2] | 0))) |
  81902. 0,
  81903. c[Da >> 2] | 0
  81904. ) |
  81905. 0) +
  81906. 4;
  81907. c[za >> 2] = (c[za >> 2] | 0) + 1;
  81908. kn(
  81909. c[pa >> 2] | 0,
  81910. ((c[za >> 2] | 0) - (c[Aa >> 2] | 0)) | 0,
  81911. c[Aa >> 2] | 0,
  81912. 0,
  81913. ((c[Ja >> 2] | 0) - 3) | 0
  81914. );
  81915. } else {
  81916. if (
  81917. (c[Ma >> 2] | 0) >>> 0 > (c[Ba >> 2] | 0) >>> 0
  81918. ? ((ya = fl(c[Na >> 2] | 0) | 0),
  81919. (ya | 0) == (fl(c[za >> 2] | 0) | 0))
  81920. : 0
  81921. ) {
  81922. c[Ja >> 2] =
  81923. (nn(
  81924. ((c[za >> 2] | 0) + 4) | 0,
  81925. ((c[Na >> 2] | 0) + 4) | 0,
  81926. c[Da >> 2] | 0
  81927. ) |
  81928. 0) +
  81929. 4;
  81930. c[Oa >> 2] = (c[za >> 2] | 0) - (c[Na >> 2] | 0);
  81931. while (1) {
  81932. if (
  81933. !(
  81934. ((c[za >> 2] | 0) >>> 0 >
  81935. (c[Aa >> 2] | 0) >>> 0
  81936. ? (c[Na >> 2] | 0) >>> 0 >
  81937. (c[Ca >> 2] | 0) >>> 0
  81938. : 0) | 0
  81939. )
  81940. )
  81941. break;
  81942. if (
  81943. (d[((c[za >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  81944. (d[((c[Na >> 2] | 0) + -1) >> 0] | 0 | 0)
  81945. )
  81946. break;
  81947. c[za >> 2] = (c[za >> 2] | 0) + -1;
  81948. c[Na >> 2] = (c[Na >> 2] | 0) + -1;
  81949. c[Ja >> 2] = (c[Ja >> 2] | 0) + 1;
  81950. }
  81951. c[Ga >> 2] = c[Fa >> 2];
  81952. c[Fa >> 2] = c[Oa >> 2];
  81953. kn(
  81954. c[pa >> 2] | 0,
  81955. ((c[za >> 2] | 0) - (c[Aa >> 2] | 0)) | 0,
  81956. c[Aa >> 2] | 0,
  81957. ((c[Oa >> 2] | 0) + 2) | 0,
  81958. ((c[Ja >> 2] | 0) - 3) | 0
  81959. );
  81960. break;
  81961. }
  81962. c[za >> 2] =
  81963. (c[za >> 2] | 0) +
  81964. ((((c[za >> 2] | 0) - (c[Aa >> 2] | 0)) >> 8) +
  81965. (c[ua >> 2] | 0));
  81966. continue c;
  81967. }
  81968. } while (0);
  81969. c[za >> 2] = (c[za >> 2] | 0) + (c[Ja >> 2] | 0);
  81970. c[Aa >> 2] = c[za >> 2];
  81971. d: do {
  81972. if (
  81973. (c[za >> 2] | 0) >>> 0 <=
  81974. (c[Ea >> 2] | 0) >>> 0
  81975. ) {
  81976. sa = ((c[La >> 2] | 0) + 2) | 0;
  81977. Ia = c[wa >> 2] | 0;
  81978. c[
  81979. (Ia +
  81980. ((Tk(
  81981. ((c[xa >> 2] | 0) + (c[La >> 2] | 0) + 2) | 0,
  81982. c[ta >> 2] | 0,
  81983. c[va >> 2] | 0
  81984. ) |
  81985. 0) <<
  81986. 2)) >>
  81987. 2
  81988. ] = sa;
  81989. sa = ((c[za >> 2] | 0) + -2 - (c[xa >> 2] | 0)) | 0;
  81990. Ia = c[wa >> 2] | 0;
  81991. c[
  81992. (Ia +
  81993. ((Tk(
  81994. ((c[za >> 2] | 0) + -2) | 0,
  81995. c[ta >> 2] | 0,
  81996. c[va >> 2] | 0
  81997. ) |
  81998. 0) <<
  81999. 2)) >>
  82000. 2
  82001. ] = sa;
  82002. while (1) {
  82003. if (
  82004. (c[za >> 2] | 0) >>> 0 >
  82005. (c[Ea >> 2] | 0) >>> 0
  82006. )
  82007. break d;
  82008. sa = ((c[Ga >> 2] | 0) >>> 0 > 0) & 1;
  82009. Ia = fl(c[za >> 2] | 0) | 0;
  82010. if (
  82011. !(
  82012. sa &
  82013. ((Ia | 0) ==
  82014. (fl(
  82015. ((c[za >> 2] | 0) +
  82016. (0 - (c[Ga >> 2] | 0))) |
  82017. 0
  82018. ) |
  82019. 0))
  82020. )
  82021. )
  82022. break d;
  82023. c[Pa >> 2] =
  82024. (nn(
  82025. ((c[za >> 2] | 0) + 4) | 0,
  82026. ((c[za >> 2] | 0) +
  82027. 4 +
  82028. (0 - (c[Ga >> 2] | 0))) |
  82029. 0,
  82030. c[Da >> 2] | 0
  82031. ) |
  82032. 0) +
  82033. 4;
  82034. c[Qa >> 2] = c[Ga >> 2];
  82035. c[Ga >> 2] = c[Fa >> 2];
  82036. c[Fa >> 2] = c[Qa >> 2];
  82037. Ia = ((c[za >> 2] | 0) - (c[xa >> 2] | 0)) | 0;
  82038. sa = c[wa >> 2] | 0;
  82039. c[
  82040. (sa +
  82041. ((Tk(
  82042. c[za >> 2] | 0,
  82043. c[ta >> 2] | 0,
  82044. c[va >> 2] | 0
  82045. ) |
  82046. 0) <<
  82047. 2)) >>
  82048. 2
  82049. ] = Ia;
  82050. kn(
  82051. c[pa >> 2] | 0,
  82052. 0,
  82053. c[Aa >> 2] | 0,
  82054. 0,
  82055. ((c[Pa >> 2] | 0) - 3) | 0
  82056. );
  82057. c[za >> 2] = (c[za >> 2] | 0) + (c[Pa >> 2] | 0);
  82058. c[Aa >> 2] = c[za >> 2];
  82059. }
  82060. }
  82061. } while (0);
  82062. }
  82063. c[c[qa >> 2] >> 2] =
  82064. c[Fa >> 2] | 0 ? c[Fa >> 2] | 0 : c[Ha >> 2] | 0;
  82065. c[((c[qa >> 2] | 0) + 4) >> 2] =
  82066. c[Ga >> 2] | 0 ? c[Ga >> 2] | 0 : c[Ha >> 2] | 0;
  82067. c[sb >> 2] = (c[Da >> 2] | 0) - (c[Aa >> 2] | 0);
  82068. Cb = c[sb >> 2] | 0;
  82069. l = i;
  82070. return Cb | 0;
  82071. }
  82072. case 6: {
  82073. Aa = c[ub >> 2] | 0;
  82074. Da = c[vb >> 2] | 0;
  82075. Ha = c[xb >> 2] | 0;
  82076. Ga = c[yb >> 2] | 0;
  82077. qa = c[zb >> 2] | 0;
  82078. Fa = c[Bb >> 2] | 0;
  82079. c[N >> 2] = c[tb >> 2];
  82080. c[O >> 2] = Aa;
  82081. c[P >> 2] = Da;
  82082. c[Q >> 2] = Ha;
  82083. c[R >> 2] = Ga;
  82084. c[S >> 2] = qa;
  82085. c[T >> 2] = Fa;
  82086. c[U >> 2] = 6;
  82087. c[V >> 2] = c[((c[N >> 2] | 0) + 36) >> 2];
  82088. c[W >> 2] = c[((c[N >> 2] | 0) + 4) >> 2];
  82089. c[X >> 2] = c[Q >> 2];
  82090. c[Y >> 2] = c[X >> 2];
  82091. c[Z >> 2] = c[X >> 2];
  82092. c[_ >> 2] = c[((c[N >> 2] | 0) + 12) >> 2];
  82093. c[$ >> 2] = (c[W >> 2] | 0) + (c[_ >> 2] | 0);
  82094. c[aa >> 2] = (c[X >> 2] | 0) + (c[R >> 2] | 0);
  82095. c[ba >> 2] = (c[aa >> 2] | 0) + -8;
  82096. c[ca >> 2] = c[c[P >> 2] >> 2];
  82097. c[da >> 2] = c[((c[P >> 2] | 0) + 4) >> 2];
  82098. c[ea >> 2] = 0;
  82099. c[Y >> 2] =
  82100. (c[Y >> 2] | 0) +
  82101. (((c[Y >> 2] | 0) == (c[$ >> 2] | 0)) & 1);
  82102. c[fa >> 2] = (c[Y >> 2] | 0) - (c[$ >> 2] | 0);
  82103. if ((c[da >> 2] | 0) >>> 0 > (c[fa >> 2] | 0) >>> 0) {
  82104. c[ea >> 2] = c[da >> 2];
  82105. c[da >> 2] = 0;
  82106. }
  82107. if ((c[ca >> 2] | 0) >>> 0 > (c[fa >> 2] | 0) >>> 0) {
  82108. c[ea >> 2] = c[ca >> 2];
  82109. c[ca >> 2] = 0;
  82110. }
  82111. e: while (1) {
  82112. if ((c[Y >> 2] | 0) >>> 0 >= (c[ba >> 2] | 0) >>> 0)
  82113. break;
  82114. c[ha >> 2] =
  82115. Tk(c[Y >> 2] | 0, c[S >> 2] | 0, c[U >> 2] | 0) | 0;
  82116. c[ia >> 2] = (c[Y >> 2] | 0) - (c[W >> 2] | 0);
  82117. c[ja >> 2] =
  82118. c[((c[V >> 2] | 0) + (c[ha >> 2] << 2)) >> 2];
  82119. c[ka >> 2] = (c[W >> 2] | 0) + (c[ja >> 2] | 0);
  82120. c[((c[V >> 2] | 0) + (c[ha >> 2] << 2)) >> 2] =
  82121. c[ia >> 2];
  82122. fa = ((c[ca >> 2] | 0) >>> 0 > 0) & 1;
  82123. R =
  82124. fl(
  82125. ((c[Y >> 2] | 0) + 1 + (0 - (c[ca >> 2] | 0))) | 0
  82126. ) | 0;
  82127. do {
  82128. if (
  82129. (fa &
  82130. ((R | 0) ==
  82131. (fl(((c[Y >> 2] | 0) + 1) | 0) | 0))) |
  82132. 0
  82133. ) {
  82134. c[ga >> 2] =
  82135. (nn(
  82136. ((c[Y >> 2] | 0) + 1 + 4) | 0,
  82137. ((c[Y >> 2] | 0) +
  82138. 1 +
  82139. 4 +
  82140. (0 - (c[ca >> 2] | 0))) |
  82141. 0,
  82142. c[aa >> 2] | 0
  82143. ) |
  82144. 0) +
  82145. 4;
  82146. c[Y >> 2] = (c[Y >> 2] | 0) + 1;
  82147. kn(
  82148. c[O >> 2] | 0,
  82149. ((c[Y >> 2] | 0) - (c[Z >> 2] | 0)) | 0,
  82150. c[Z >> 2] | 0,
  82151. 0,
  82152. ((c[ga >> 2] | 0) - 3) | 0
  82153. );
  82154. } else {
  82155. if (
  82156. (c[ja >> 2] | 0) >>> 0 > (c[_ >> 2] | 0) >>> 0
  82157. ? ((X = fl(c[ka >> 2] | 0) | 0),
  82158. (X | 0) == (fl(c[Y >> 2] | 0) | 0))
  82159. : 0
  82160. ) {
  82161. c[ga >> 2] =
  82162. (nn(
  82163. ((c[Y >> 2] | 0) + 4) | 0,
  82164. ((c[ka >> 2] | 0) + 4) | 0,
  82165. c[aa >> 2] | 0
  82166. ) |
  82167. 0) +
  82168. 4;
  82169. c[la >> 2] = (c[Y >> 2] | 0) - (c[ka >> 2] | 0);
  82170. while (1) {
  82171. if (
  82172. !(
  82173. ((c[Y >> 2] | 0) >>> 0 >
  82174. (c[Z >> 2] | 0) >>> 0
  82175. ? (c[ka >> 2] | 0) >>> 0 >
  82176. (c[$ >> 2] | 0) >>> 0
  82177. : 0) | 0
  82178. )
  82179. )
  82180. break;
  82181. if (
  82182. (d[((c[Y >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  82183. (d[((c[ka >> 2] | 0) + -1) >> 0] | 0 | 0)
  82184. )
  82185. break;
  82186. c[Y >> 2] = (c[Y >> 2] | 0) + -1;
  82187. c[ka >> 2] = (c[ka >> 2] | 0) + -1;
  82188. c[ga >> 2] = (c[ga >> 2] | 0) + 1;
  82189. }
  82190. c[da >> 2] = c[ca >> 2];
  82191. c[ca >> 2] = c[la >> 2];
  82192. kn(
  82193. c[O >> 2] | 0,
  82194. ((c[Y >> 2] | 0) - (c[Z >> 2] | 0)) | 0,
  82195. c[Z >> 2] | 0,
  82196. ((c[la >> 2] | 0) + 2) | 0,
  82197. ((c[ga >> 2] | 0) - 3) | 0
  82198. );
  82199. break;
  82200. }
  82201. c[Y >> 2] =
  82202. (c[Y >> 2] | 0) +
  82203. ((((c[Y >> 2] | 0) - (c[Z >> 2] | 0)) >> 8) +
  82204. (c[T >> 2] | 0));
  82205. continue e;
  82206. }
  82207. } while (0);
  82208. c[Y >> 2] = (c[Y >> 2] | 0) + (c[ga >> 2] | 0);
  82209. c[Z >> 2] = c[Y >> 2];
  82210. f: do {
  82211. if ((c[Y >> 2] | 0) >>> 0 <= (c[ba >> 2] | 0) >>> 0) {
  82212. R = ((c[ia >> 2] | 0) + 2) | 0;
  82213. fa = c[V >> 2] | 0;
  82214. c[
  82215. (fa +
  82216. ((Tk(
  82217. ((c[W >> 2] | 0) + (c[ia >> 2] | 0) + 2) | 0,
  82218. c[S >> 2] | 0,
  82219. c[U >> 2] | 0
  82220. ) |
  82221. 0) <<
  82222. 2)) >>
  82223. 2
  82224. ] = R;
  82225. R = ((c[Y >> 2] | 0) + -2 - (c[W >> 2] | 0)) | 0;
  82226. fa = c[V >> 2] | 0;
  82227. c[
  82228. (fa +
  82229. ((Tk(
  82230. ((c[Y >> 2] | 0) + -2) | 0,
  82231. c[S >> 2] | 0,
  82232. c[U >> 2] | 0
  82233. ) |
  82234. 0) <<
  82235. 2)) >>
  82236. 2
  82237. ] = R;
  82238. while (1) {
  82239. if (
  82240. (c[Y >> 2] | 0) >>> 0 >
  82241. (c[ba >> 2] | 0) >>> 0
  82242. )
  82243. break f;
  82244. R = ((c[da >> 2] | 0) >>> 0 > 0) & 1;
  82245. fa = fl(c[Y >> 2] | 0) | 0;
  82246. if (
  82247. !(
  82248. R &
  82249. ((fa | 0) ==
  82250. (fl(
  82251. ((c[Y >> 2] | 0) +
  82252. (0 - (c[da >> 2] | 0))) |
  82253. 0
  82254. ) |
  82255. 0))
  82256. )
  82257. )
  82258. break f;
  82259. c[ma >> 2] =
  82260. (nn(
  82261. ((c[Y >> 2] | 0) + 4) | 0,
  82262. ((c[Y >> 2] | 0) +
  82263. 4 +
  82264. (0 - (c[da >> 2] | 0))) |
  82265. 0,
  82266. c[aa >> 2] | 0
  82267. ) |
  82268. 0) +
  82269. 4;
  82270. c[na >> 2] = c[da >> 2];
  82271. c[da >> 2] = c[ca >> 2];
  82272. c[ca >> 2] = c[na >> 2];
  82273. fa = ((c[Y >> 2] | 0) - (c[W >> 2] | 0)) | 0;
  82274. R = c[V >> 2] | 0;
  82275. c[
  82276. (R +
  82277. ((Tk(
  82278. c[Y >> 2] | 0,
  82279. c[S >> 2] | 0,
  82280. c[U >> 2] | 0
  82281. ) |
  82282. 0) <<
  82283. 2)) >>
  82284. 2
  82285. ] = fa;
  82286. kn(
  82287. c[O >> 2] | 0,
  82288. 0,
  82289. c[Z >> 2] | 0,
  82290. 0,
  82291. ((c[ma >> 2] | 0) - 3) | 0
  82292. );
  82293. c[Y >> 2] = (c[Y >> 2] | 0) + (c[ma >> 2] | 0);
  82294. c[Z >> 2] = c[Y >> 2];
  82295. }
  82296. }
  82297. } while (0);
  82298. }
  82299. c[c[P >> 2] >> 2] =
  82300. c[ca >> 2] | 0 ? c[ca >> 2] | 0 : c[ea >> 2] | 0;
  82301. c[((c[P >> 2] | 0) + 4) >> 2] =
  82302. c[da >> 2] | 0 ? c[da >> 2] | 0 : c[ea >> 2] | 0;
  82303. c[sb >> 2] = (c[aa >> 2] | 0) - (c[Z >> 2] | 0);
  82304. Cb = c[sb >> 2] | 0;
  82305. l = i;
  82306. return Cb | 0;
  82307. }
  82308. default: {
  82309. Z = c[ub >> 2] | 0;
  82310. ub = c[vb >> 2] | 0;
  82311. vb = c[xb >> 2] | 0;
  82312. xb = c[yb >> 2] | 0;
  82313. yb = c[zb >> 2] | 0;
  82314. zb = c[Bb >> 2] | 0;
  82315. c[Ra >> 2] = c[tb >> 2];
  82316. c[Sa >> 2] = Z;
  82317. c[Ta >> 2] = ub;
  82318. c[Ua >> 2] = vb;
  82319. c[Va >> 2] = xb;
  82320. c[Wa >> 2] = yb;
  82321. c[Xa >> 2] = zb;
  82322. c[Ya >> 2] = 4;
  82323. c[Za >> 2] = c[((c[Ra >> 2] | 0) + 36) >> 2];
  82324. c[_a >> 2] = c[((c[Ra >> 2] | 0) + 4) >> 2];
  82325. c[$a >> 2] = c[Ua >> 2];
  82326. c[ab >> 2] = c[$a >> 2];
  82327. c[bb >> 2] = c[$a >> 2];
  82328. c[cb >> 2] = c[((c[Ra >> 2] | 0) + 12) >> 2];
  82329. c[db >> 2] = (c[_a >> 2] | 0) + (c[cb >> 2] | 0);
  82330. c[eb >> 2] = (c[$a >> 2] | 0) + (c[Va >> 2] | 0);
  82331. c[fb >> 2] = (c[eb >> 2] | 0) + -8;
  82332. c[gb >> 2] = c[c[Ta >> 2] >> 2];
  82333. c[hb >> 2] = c[((c[Ta >> 2] | 0) + 4) >> 2];
  82334. c[ib >> 2] = 0;
  82335. c[ab >> 2] =
  82336. (c[ab >> 2] | 0) +
  82337. (((c[ab >> 2] | 0) == (c[db >> 2] | 0)) & 1);
  82338. c[jb >> 2] = (c[ab >> 2] | 0) - (c[db >> 2] | 0);
  82339. if ((c[hb >> 2] | 0) >>> 0 > (c[jb >> 2] | 0) >>> 0) {
  82340. c[ib >> 2] = c[hb >> 2];
  82341. c[hb >> 2] = 0;
  82342. }
  82343. if ((c[gb >> 2] | 0) >>> 0 > (c[jb >> 2] | 0) >>> 0) {
  82344. c[ib >> 2] = c[gb >> 2];
  82345. c[gb >> 2] = 0;
  82346. }
  82347. g: while (1) {
  82348. if ((c[ab >> 2] | 0) >>> 0 >= (c[fb >> 2] | 0) >>> 0)
  82349. break;
  82350. c[lb >> 2] =
  82351. Tk(c[ab >> 2] | 0, c[Wa >> 2] | 0, c[Ya >> 2] | 0) |
  82352. 0;
  82353. c[mb >> 2] = (c[ab >> 2] | 0) - (c[_a >> 2] | 0);
  82354. c[nb >> 2] =
  82355. c[((c[Za >> 2] | 0) + (c[lb >> 2] << 2)) >> 2];
  82356. c[ob >> 2] = (c[_a >> 2] | 0) + (c[nb >> 2] | 0);
  82357. c[((c[Za >> 2] | 0) + (c[lb >> 2] << 2)) >> 2] =
  82358. c[mb >> 2];
  82359. jb = ((c[gb >> 2] | 0) >>> 0 > 0) & 1;
  82360. Va =
  82361. fl(
  82362. ((c[ab >> 2] | 0) + 1 + (0 - (c[gb >> 2] | 0))) | 0
  82363. ) | 0;
  82364. do {
  82365. if (
  82366. (jb &
  82367. ((Va | 0) ==
  82368. (fl(((c[ab >> 2] | 0) + 1) | 0) | 0))) |
  82369. 0
  82370. ) {
  82371. c[kb >> 2] =
  82372. (nn(
  82373. ((c[ab >> 2] | 0) + 1 + 4) | 0,
  82374. ((c[ab >> 2] | 0) +
  82375. 1 +
  82376. 4 +
  82377. (0 - (c[gb >> 2] | 0))) |
  82378. 0,
  82379. c[eb >> 2] | 0
  82380. ) |
  82381. 0) +
  82382. 4;
  82383. c[ab >> 2] = (c[ab >> 2] | 0) + 1;
  82384. kn(
  82385. c[Sa >> 2] | 0,
  82386. ((c[ab >> 2] | 0) - (c[bb >> 2] | 0)) | 0,
  82387. c[bb >> 2] | 0,
  82388. 0,
  82389. ((c[kb >> 2] | 0) - 3) | 0
  82390. );
  82391. } else {
  82392. if (
  82393. (c[nb >> 2] | 0) >>> 0 > (c[cb >> 2] | 0) >>> 0
  82394. ? (($a = fl(c[ob >> 2] | 0) | 0),
  82395. ($a | 0) == (fl(c[ab >> 2] | 0) | 0))
  82396. : 0
  82397. ) {
  82398. c[kb >> 2] =
  82399. (nn(
  82400. ((c[ab >> 2] | 0) + 4) | 0,
  82401. ((c[ob >> 2] | 0) + 4) | 0,
  82402. c[eb >> 2] | 0
  82403. ) |
  82404. 0) +
  82405. 4;
  82406. c[pb >> 2] = (c[ab >> 2] | 0) - (c[ob >> 2] | 0);
  82407. while (1) {
  82408. if (
  82409. !(
  82410. ((c[ab >> 2] | 0) >>> 0 >
  82411. (c[bb >> 2] | 0) >>> 0
  82412. ? (c[ob >> 2] | 0) >>> 0 >
  82413. (c[db >> 2] | 0) >>> 0
  82414. : 0) | 0
  82415. )
  82416. )
  82417. break;
  82418. if (
  82419. (d[((c[ab >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  82420. (d[((c[ob >> 2] | 0) + -1) >> 0] | 0 | 0)
  82421. )
  82422. break;
  82423. c[ab >> 2] = (c[ab >> 2] | 0) + -1;
  82424. c[ob >> 2] = (c[ob >> 2] | 0) + -1;
  82425. c[kb >> 2] = (c[kb >> 2] | 0) + 1;
  82426. }
  82427. c[hb >> 2] = c[gb >> 2];
  82428. c[gb >> 2] = c[pb >> 2];
  82429. kn(
  82430. c[Sa >> 2] | 0,
  82431. ((c[ab >> 2] | 0) - (c[bb >> 2] | 0)) | 0,
  82432. c[bb >> 2] | 0,
  82433. ((c[pb >> 2] | 0) + 2) | 0,
  82434. ((c[kb >> 2] | 0) - 3) | 0
  82435. );
  82436. break;
  82437. }
  82438. c[ab >> 2] =
  82439. (c[ab >> 2] | 0) +
  82440. ((((c[ab >> 2] | 0) - (c[bb >> 2] | 0)) >> 8) +
  82441. (c[Xa >> 2] | 0));
  82442. continue g;
  82443. }
  82444. } while (0);
  82445. c[ab >> 2] = (c[ab >> 2] | 0) + (c[kb >> 2] | 0);
  82446. c[bb >> 2] = c[ab >> 2];
  82447. h: do {
  82448. if (
  82449. (c[ab >> 2] | 0) >>> 0 <=
  82450. (c[fb >> 2] | 0) >>> 0
  82451. ) {
  82452. Va = ((c[mb >> 2] | 0) + 2) | 0;
  82453. jb = c[Za >> 2] | 0;
  82454. c[
  82455. (jb +
  82456. ((Tk(
  82457. ((c[_a >> 2] | 0) + (c[mb >> 2] | 0) + 2) | 0,
  82458. c[Wa >> 2] | 0,
  82459. c[Ya >> 2] | 0
  82460. ) |
  82461. 0) <<
  82462. 2)) >>
  82463. 2
  82464. ] = Va;
  82465. Va = ((c[ab >> 2] | 0) + -2 - (c[_a >> 2] | 0)) | 0;
  82466. jb = c[Za >> 2] | 0;
  82467. c[
  82468. (jb +
  82469. ((Tk(
  82470. ((c[ab >> 2] | 0) + -2) | 0,
  82471. c[Wa >> 2] | 0,
  82472. c[Ya >> 2] | 0
  82473. ) |
  82474. 0) <<
  82475. 2)) >>
  82476. 2
  82477. ] = Va;
  82478. while (1) {
  82479. if (
  82480. (c[ab >> 2] | 0) >>> 0 >
  82481. (c[fb >> 2] | 0) >>> 0
  82482. )
  82483. break h;
  82484. Va = ((c[hb >> 2] | 0) >>> 0 > 0) & 1;
  82485. jb = fl(c[ab >> 2] | 0) | 0;
  82486. if (
  82487. !(
  82488. Va &
  82489. ((jb | 0) ==
  82490. (fl(
  82491. ((c[ab >> 2] | 0) +
  82492. (0 - (c[hb >> 2] | 0))) |
  82493. 0
  82494. ) |
  82495. 0))
  82496. )
  82497. )
  82498. break h;
  82499. c[qb >> 2] =
  82500. (nn(
  82501. ((c[ab >> 2] | 0) + 4) | 0,
  82502. ((c[ab >> 2] | 0) +
  82503. 4 +
  82504. (0 - (c[hb >> 2] | 0))) |
  82505. 0,
  82506. c[eb >> 2] | 0
  82507. ) |
  82508. 0) +
  82509. 4;
  82510. c[rb >> 2] = c[hb >> 2];
  82511. c[hb >> 2] = c[gb >> 2];
  82512. c[gb >> 2] = c[rb >> 2];
  82513. jb = ((c[ab >> 2] | 0) - (c[_a >> 2] | 0)) | 0;
  82514. Va = c[Za >> 2] | 0;
  82515. c[
  82516. (Va +
  82517. ((Tk(
  82518. c[ab >> 2] | 0,
  82519. c[Wa >> 2] | 0,
  82520. c[Ya >> 2] | 0
  82521. ) |
  82522. 0) <<
  82523. 2)) >>
  82524. 2
  82525. ] = jb;
  82526. kn(
  82527. c[Sa >> 2] | 0,
  82528. 0,
  82529. c[bb >> 2] | 0,
  82530. 0,
  82531. ((c[qb >> 2] | 0) - 3) | 0
  82532. );
  82533. c[ab >> 2] = (c[ab >> 2] | 0) + (c[qb >> 2] | 0);
  82534. c[bb >> 2] = c[ab >> 2];
  82535. }
  82536. }
  82537. } while (0);
  82538. }
  82539. c[c[Ta >> 2] >> 2] =
  82540. c[gb >> 2] | 0 ? c[gb >> 2] | 0 : c[ib >> 2] | 0;
  82541. c[((c[Ta >> 2] | 0) + 4) >> 2] =
  82542. c[hb >> 2] | 0 ? c[hb >> 2] | 0 : c[ib >> 2] | 0;
  82543. c[sb >> 2] = (c[eb >> 2] | 0) - (c[bb >> 2] | 0);
  82544. Cb = c[sb >> 2] | 0;
  82545. l = i;
  82546. return Cb | 0;
  82547. }
  82548. }
  82549. return 0;
  82550. }
  82551. function Yl(a, b, e, f, g, h) {
  82552. a = a | 0;
  82553. b = b | 0;
  82554. e = e | 0;
  82555. f = f | 0;
  82556. g = g | 0;
  82557. h = h | 0;
  82558. var i = 0,
  82559. j = 0,
  82560. k = 0,
  82561. m = 0,
  82562. n = 0,
  82563. o = 0,
  82564. p = 0,
  82565. q = 0,
  82566. r = 0,
  82567. s = 0,
  82568. t = 0,
  82569. u = 0,
  82570. v = 0,
  82571. w = 0,
  82572. x = 0,
  82573. z = 0,
  82574. A = 0,
  82575. B = 0,
  82576. C = 0,
  82577. D = 0,
  82578. E = 0,
  82579. F = 0,
  82580. G = 0,
  82581. H = 0,
  82582. I = 0,
  82583. J = 0,
  82584. K = 0,
  82585. L = 0,
  82586. M = 0,
  82587. N = 0,
  82588. O = 0,
  82589. P = 0,
  82590. Q = 0,
  82591. R = 0,
  82592. S = 0,
  82593. T = 0,
  82594. U = 0,
  82595. V = 0,
  82596. W = 0,
  82597. X = 0,
  82598. Y = 0,
  82599. Z = 0,
  82600. _ = 0,
  82601. $ = 0,
  82602. aa = 0,
  82603. ba = 0,
  82604. ca = 0,
  82605. da = 0,
  82606. ea = 0,
  82607. fa = 0,
  82608. ga = 0,
  82609. ha = 0,
  82610. ia = 0,
  82611. ja = 0,
  82612. ka = 0,
  82613. la = 0,
  82614. ma = 0,
  82615. na = 0,
  82616. oa = 0,
  82617. pa = 0,
  82618. qa = 0,
  82619. ra = 0,
  82620. sa = 0,
  82621. ta = 0,
  82622. ua = 0,
  82623. va = 0,
  82624. wa = 0,
  82625. xa = 0,
  82626. ya = 0,
  82627. za = 0,
  82628. Aa = 0,
  82629. Ba = 0,
  82630. Ca = 0,
  82631. Da = 0,
  82632. Ea = 0,
  82633. Fa = 0,
  82634. Ga = 0,
  82635. Ha = 0,
  82636. Ia = 0,
  82637. Ja = 0,
  82638. Ka = 0,
  82639. La = 0,
  82640. Ma = 0,
  82641. Na = 0,
  82642. Oa = 0,
  82643. Pa = 0,
  82644. Qa = 0,
  82645. Ra = 0,
  82646. Sa = 0,
  82647. Ta = 0,
  82648. Ua = 0,
  82649. Va = 0,
  82650. Wa = 0,
  82651. Xa = 0,
  82652. Ya = 0,
  82653. Za = 0,
  82654. _a = 0,
  82655. $a = 0,
  82656. ab = 0,
  82657. bb = 0,
  82658. cb = 0,
  82659. db = 0,
  82660. eb = 0,
  82661. fb = 0,
  82662. gb = 0,
  82663. hb = 0,
  82664. ib = 0,
  82665. jb = 0,
  82666. kb = 0,
  82667. lb = 0,
  82668. mb = 0,
  82669. nb = 0,
  82670. ob = 0,
  82671. pb = 0,
  82672. qb = 0,
  82673. rb = 0,
  82674. sb = 0,
  82675. tb = 0,
  82676. ub = 0,
  82677. vb = 0,
  82678. wb = 0,
  82679. xb = 0,
  82680. yb = 0,
  82681. zb = 0,
  82682. Ab = 0,
  82683. Bb = 0,
  82684. Cb = 0,
  82685. Db = 0,
  82686. Eb = 0,
  82687. Fb = 0,
  82688. Gb = 0,
  82689. Hb = 0,
  82690. Ib = 0,
  82691. Jb = 0,
  82692. Kb = 0,
  82693. Lb = 0,
  82694. Mb = 0,
  82695. Nb = 0,
  82696. Ob = 0,
  82697. Pb = 0,
  82698. Qb = 0,
  82699. Rb = 0,
  82700. Sb = 0,
  82701. Tb = 0,
  82702. Ub = 0,
  82703. Vb = 0,
  82704. Wb = 0,
  82705. Xb = 0,
  82706. Yb = 0,
  82707. Zb = 0,
  82708. _b = 0,
  82709. $b = 0,
  82710. ac = 0,
  82711. bc = 0,
  82712. cc = 0,
  82713. dc = 0,
  82714. ec = 0,
  82715. fc = 0,
  82716. gc = 0;
  82717. i = l;
  82718. l = (l + 624) | 0;
  82719. j = (i + 620) | 0;
  82720. k = (i + 616) | 0;
  82721. m = (i + 612) | 0;
  82722. n = (i + 608) | 0;
  82723. o = (i + 604) | 0;
  82724. p = (i + 600) | 0;
  82725. q = (i + 596) | 0;
  82726. r = (i + 592) | 0;
  82727. s = (i + 588) | 0;
  82728. t = (i + 584) | 0;
  82729. u = (i + 580) | 0;
  82730. v = (i + 576) | 0;
  82731. w = (i + 572) | 0;
  82732. x = (i + 568) | 0;
  82733. z = (i + 564) | 0;
  82734. A = (i + 560) | 0;
  82735. B = (i + 556) | 0;
  82736. C = (i + 552) | 0;
  82737. D = (i + 548) | 0;
  82738. E = (i + 544) | 0;
  82739. F = (i + 540) | 0;
  82740. G = (i + 536) | 0;
  82741. H = (i + 532) | 0;
  82742. I = (i + 528) | 0;
  82743. J = (i + 524) | 0;
  82744. K = (i + 520) | 0;
  82745. L = (i + 516) | 0;
  82746. M = (i + 512) | 0;
  82747. N = (i + 508) | 0;
  82748. O = (i + 504) | 0;
  82749. P = (i + 500) | 0;
  82750. Q = (i + 496) | 0;
  82751. R = (i + 492) | 0;
  82752. S = (i + 488) | 0;
  82753. T = (i + 484) | 0;
  82754. U = (i + 480) | 0;
  82755. V = (i + 476) | 0;
  82756. W = (i + 472) | 0;
  82757. X = (i + 468) | 0;
  82758. Y = (i + 464) | 0;
  82759. Z = (i + 460) | 0;
  82760. _ = (i + 456) | 0;
  82761. $ = (i + 452) | 0;
  82762. aa = (i + 448) | 0;
  82763. ba = (i + 444) | 0;
  82764. ca = (i + 440) | 0;
  82765. da = (i + 436) | 0;
  82766. ea = (i + 432) | 0;
  82767. fa = (i + 428) | 0;
  82768. ga = (i + 424) | 0;
  82769. ha = (i + 420) | 0;
  82770. ia = (i + 416) | 0;
  82771. ja = (i + 412) | 0;
  82772. ka = (i + 408) | 0;
  82773. la = (i + 404) | 0;
  82774. ma = (i + 400) | 0;
  82775. na = (i + 396) | 0;
  82776. oa = (i + 392) | 0;
  82777. pa = (i + 388) | 0;
  82778. qa = (i + 384) | 0;
  82779. ra = (i + 380) | 0;
  82780. sa = (i + 376) | 0;
  82781. ta = (i + 372) | 0;
  82782. ua = (i + 368) | 0;
  82783. va = (i + 364) | 0;
  82784. wa = (i + 360) | 0;
  82785. xa = (i + 356) | 0;
  82786. ya = (i + 352) | 0;
  82787. za = (i + 348) | 0;
  82788. Aa = (i + 344) | 0;
  82789. Ba = (i + 340) | 0;
  82790. Ca = (i + 336) | 0;
  82791. Da = (i + 332) | 0;
  82792. Ea = (i + 328) | 0;
  82793. Fa = (i + 324) | 0;
  82794. Ga = (i + 320) | 0;
  82795. Ha = (i + 316) | 0;
  82796. Ia = (i + 312) | 0;
  82797. Ja = (i + 308) | 0;
  82798. Ka = (i + 304) | 0;
  82799. La = (i + 300) | 0;
  82800. Ma = (i + 296) | 0;
  82801. Na = (i + 292) | 0;
  82802. Oa = (i + 288) | 0;
  82803. Pa = (i + 284) | 0;
  82804. Qa = (i + 280) | 0;
  82805. Ra = (i + 276) | 0;
  82806. Sa = (i + 272) | 0;
  82807. Ta = (i + 268) | 0;
  82808. Ua = (i + 264) | 0;
  82809. Va = (i + 260) | 0;
  82810. Wa = (i + 256) | 0;
  82811. Xa = (i + 252) | 0;
  82812. Ya = (i + 248) | 0;
  82813. Za = (i + 244) | 0;
  82814. _a = (i + 240) | 0;
  82815. $a = (i + 236) | 0;
  82816. ab = (i + 232) | 0;
  82817. bb = (i + 228) | 0;
  82818. cb = (i + 224) | 0;
  82819. db = (i + 220) | 0;
  82820. eb = (i + 216) | 0;
  82821. fb = (i + 212) | 0;
  82822. gb = (i + 208) | 0;
  82823. hb = (i + 204) | 0;
  82824. ib = (i + 200) | 0;
  82825. jb = (i + 196) | 0;
  82826. kb = (i + 192) | 0;
  82827. lb = (i + 188) | 0;
  82828. mb = (i + 184) | 0;
  82829. nb = (i + 180) | 0;
  82830. ob = (i + 176) | 0;
  82831. pb = (i + 172) | 0;
  82832. qb = (i + 168) | 0;
  82833. rb = (i + 164) | 0;
  82834. sb = (i + 160) | 0;
  82835. tb = (i + 156) | 0;
  82836. ub = (i + 152) | 0;
  82837. vb = (i + 148) | 0;
  82838. wb = (i + 144) | 0;
  82839. xb = (i + 140) | 0;
  82840. yb = (i + 136) | 0;
  82841. zb = (i + 132) | 0;
  82842. Ab = (i + 128) | 0;
  82843. Bb = (i + 124) | 0;
  82844. Cb = (i + 120) | 0;
  82845. Db = (i + 116) | 0;
  82846. Eb = (i + 112) | 0;
  82847. Fb = (i + 108) | 0;
  82848. Gb = (i + 104) | 0;
  82849. Hb = (i + 100) | 0;
  82850. Ib = (i + 96) | 0;
  82851. Jb = (i + 92) | 0;
  82852. Kb = (i + 88) | 0;
  82853. Lb = (i + 84) | 0;
  82854. Mb = (i + 80) | 0;
  82855. Nb = (i + 76) | 0;
  82856. Ob = (i + 72) | 0;
  82857. Pb = (i + 68) | 0;
  82858. Qb = (i + 64) | 0;
  82859. Rb = (i + 60) | 0;
  82860. Sb = (i + 56) | 0;
  82861. Tb = (i + 52) | 0;
  82862. Ub = (i + 48) | 0;
  82863. Vb = (i + 44) | 0;
  82864. Wb = (i + 40) | 0;
  82865. Xb = (i + 36) | 0;
  82866. Yb = (i + 32) | 0;
  82867. Zb = (i + 28) | 0;
  82868. _b = (i + 24) | 0;
  82869. $b = (i + 20) | 0;
  82870. ac = (i + 16) | 0;
  82871. bc = (i + 12) | 0;
  82872. cc = (i + 8) | 0;
  82873. dc = (i + 4) | 0;
  82874. ec = i;
  82875. c[_b >> 2] = a;
  82876. c[$b >> 2] = b;
  82877. c[ac >> 2] = e;
  82878. c[bc >> 2] = f;
  82879. c[cc >> 2] = g;
  82880. c[dc >> 2] = h;
  82881. c[ec >> 2] = c[((c[bc >> 2] | 0) + 16) >> 2];
  82882. switch (c[ec >> 2] | 0) {
  82883. case 7: {
  82884. ec = c[$b >> 2] | 0;
  82885. h = c[ac >> 2] | 0;
  82886. g = c[bc >> 2] | 0;
  82887. f = c[cc >> 2] | 0;
  82888. e = c[dc >> 2] | 0;
  82889. c[j >> 2] = c[_b >> 2];
  82890. c[k >> 2] = ec;
  82891. c[m >> 2] = h;
  82892. c[n >> 2] = g;
  82893. c[o >> 2] = f;
  82894. c[p >> 2] = e;
  82895. c[q >> 2] = 7;
  82896. c[r >> 2] = c[((c[j >> 2] | 0) + 36) >> 2];
  82897. c[s >> 2] = c[((c[n >> 2] | 0) + 8) >> 2];
  82898. c[t >> 2] = c[((c[j >> 2] | 0) + 44) >> 2];
  82899. c[u >> 2] = c[((c[n >> 2] | 0) + 4) >> 2];
  82900. c[v >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
  82901. c[w >> 2] = c[o >> 2];
  82902. c[x >> 2] = c[w >> 2];
  82903. c[z >> 2] = c[w >> 2];
  82904. c[A >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
  82905. c[B >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0);
  82906. c[C >> 2] = (c[w >> 2] | 0) + (c[p >> 2] | 0);
  82907. c[D >> 2] = (c[C >> 2] | 0) + -8;
  82908. c[E >> 2] = c[c[m >> 2] >> 2];
  82909. c[F >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  82910. c[G >> 2] = 0;
  82911. c[x >> 2] =
  82912. (c[x >> 2] | 0) +
  82913. (((c[x >> 2] | 0) == (c[B >> 2] | 0)) & 1);
  82914. c[H >> 2] = (c[x >> 2] | 0) - (c[B >> 2] | 0);
  82915. if ((c[F >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  82916. c[G >> 2] = c[F >> 2];
  82917. c[F >> 2] = 0;
  82918. }
  82919. if ((c[E >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  82920. c[G >> 2] = c[E >> 2];
  82921. c[E >> 2] = 0;
  82922. }
  82923. a: while (1) {
  82924. if ((c[x >> 2] | 0) >>> 0 >= (c[D >> 2] | 0) >>> 0)
  82925. break;
  82926. c[J >> 2] = Dk(c[x >> 2] | 0, c[s >> 2] | 0, 8) | 0;
  82927. c[K >> 2] =
  82928. Dk(c[x >> 2] | 0, c[u >> 2] | 0, c[q >> 2] | 0) | 0;
  82929. c[L >> 2] = (c[x >> 2] | 0) - (c[v >> 2] | 0);
  82930. c[M >> 2] =
  82931. c[((c[r >> 2] | 0) + (c[J >> 2] << 2)) >> 2];
  82932. c[N >> 2] =
  82933. c[((c[t >> 2] | 0) + (c[K >> 2] << 2)) >> 2];
  82934. c[O >> 2] = (c[v >> 2] | 0) + (c[M >> 2] | 0);
  82935. c[P >> 2] = (c[v >> 2] | 0) + (c[N >> 2] | 0);
  82936. H = c[L >> 2] | 0;
  82937. c[((c[t >> 2] | 0) + (c[K >> 2] << 2)) >> 2] = H;
  82938. c[((c[r >> 2] | 0) + (c[J >> 2] << 2)) >> 2] = H;
  82939. H = ((c[E >> 2] | 0) >>> 0 > 0) & 1;
  82940. p =
  82941. Rk(
  82942. ((c[x >> 2] | 0) + 1 + (0 - (c[E >> 2] | 0))) | 0
  82943. ) | 0;
  82944. if (
  82945. (H &
  82946. ((p | 0) == (Rk(((c[x >> 2] | 0) + 1) | 0) | 0))) |
  82947. 0
  82948. ) {
  82949. c[I >> 2] =
  82950. (cn(
  82951. ((c[x >> 2] | 0) + 1 + 4) | 0,
  82952. ((c[x >> 2] | 0) +
  82953. 1 +
  82954. 4 +
  82955. (0 - (c[E >> 2] | 0))) |
  82956. 0,
  82957. c[C >> 2] | 0
  82958. ) |
  82959. 0) +
  82960. 4;
  82961. c[x >> 2] = (c[x >> 2] | 0) + 1;
  82962. $m(
  82963. c[k >> 2] | 0,
  82964. ((c[x >> 2] | 0) - (c[z >> 2] | 0)) | 0,
  82965. c[z >> 2] | 0,
  82966. 0,
  82967. ((c[I >> 2] | 0) - 3) | 0
  82968. );
  82969. } else {
  82970. b: do {
  82971. if (
  82972. (c[M >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
  82973. ? ((p = Mk(c[O >> 2] | 0) | 0),
  82974. (H = y),
  82975. (w = Mk(c[x >> 2] | 0) | 0),
  82976. ((p | 0) == (w | 0)) & ((H | 0) == (y | 0)))
  82977. : 0
  82978. ) {
  82979. c[I >> 2] =
  82980. (cn(
  82981. ((c[x >> 2] | 0) + 8) | 0,
  82982. ((c[O >> 2] | 0) + 8) | 0,
  82983. c[C >> 2] | 0
  82984. ) |
  82985. 0) +
  82986. 8;
  82987. c[Q >> 2] = (c[x >> 2] | 0) - (c[O >> 2] | 0);
  82988. while (1) {
  82989. if (
  82990. !(
  82991. ((c[x >> 2] | 0) >>> 0 >
  82992. (c[z >> 2] | 0) >>> 0
  82993. ? (c[O >> 2] | 0) >>> 0 >
  82994. (c[B >> 2] | 0) >>> 0
  82995. : 0) | 0
  82996. )
  82997. )
  82998. break b;
  82999. if (
  83000. (d[((c[x >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  83001. (d[((c[O >> 2] | 0) + -1) >> 0] | 0 | 0)
  83002. )
  83003. break b;
  83004. c[x >> 2] = (c[x >> 2] | 0) + -1;
  83005. c[O >> 2] = (c[O >> 2] | 0) + -1;
  83006. c[I >> 2] = (c[I >> 2] | 0) + 1;
  83007. }
  83008. } else fc = 121;
  83009. } while (0);
  83010. c: do {
  83011. if ((fc | 0) == 121) {
  83012. fc = 0;
  83013. if (
  83014. (c[N >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
  83015. ? ((H = Rk(c[P >> 2] | 0) | 0),
  83016. (H | 0) == (Rk(c[x >> 2] | 0) | 0))
  83017. : 0
  83018. ) {
  83019. c[R >> 2] =
  83020. Dk(
  83021. ((c[x >> 2] | 0) + 1) | 0,
  83022. c[s >> 2] | 0,
  83023. 8
  83024. ) | 0;
  83025. c[S >> 2] =
  83026. c[((c[r >> 2] | 0) + (c[R >> 2] << 2)) >> 2];
  83027. c[T >> 2] = (c[v >> 2] | 0) + (c[S >> 2] | 0);
  83028. c[((c[r >> 2] | 0) + (c[R >> 2] << 2)) >> 2] =
  83029. (c[L >> 2] | 0) + 1;
  83030. if (
  83031. (c[S >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
  83032. ? ((H = Mk(c[T >> 2] | 0) | 0),
  83033. (w = y),
  83034. (p = Mk(((c[x >> 2] | 0) + 1) | 0) | 0),
  83035. ((H | 0) == (p | 0)) &
  83036. ((w | 0) == (y | 0)))
  83037. : 0
  83038. ) {
  83039. c[I >> 2] =
  83040. (cn(
  83041. ((c[x >> 2] | 0) + 9) | 0,
  83042. ((c[T >> 2] | 0) + 8) | 0,
  83043. c[C >> 2] | 0
  83044. ) |
  83045. 0) +
  83046. 8;
  83047. c[x >> 2] = (c[x >> 2] | 0) + 1;
  83048. c[Q >> 2] = (c[x >> 2] | 0) - (c[T >> 2] | 0);
  83049. while (1) {
  83050. if (
  83051. !(
  83052. ((c[x >> 2] | 0) >>> 0 >
  83053. (c[z >> 2] | 0) >>> 0
  83054. ? (c[T >> 2] | 0) >>> 0 >
  83055. (c[B >> 2] | 0) >>> 0
  83056. : 0) | 0
  83057. )
  83058. )
  83059. break c;
  83060. if (
  83061. (d[((c[x >> 2] | 0) + -1) >> 0] |
  83062. 0 |
  83063. 0) !=
  83064. (d[((c[T >> 2] | 0) + -1) >> 0] | 0 | 0)
  83065. )
  83066. break c;
  83067. c[x >> 2] = (c[x >> 2] | 0) + -1;
  83068. c[T >> 2] = (c[T >> 2] | 0) + -1;
  83069. c[I >> 2] = (c[I >> 2] | 0) + 1;
  83070. }
  83071. }
  83072. c[I >> 2] =
  83073. (cn(
  83074. ((c[x >> 2] | 0) + 4) | 0,
  83075. ((c[P >> 2] | 0) + 4) | 0,
  83076. c[C >> 2] | 0
  83077. ) |
  83078. 0) +
  83079. 4;
  83080. c[Q >> 2] = (c[x >> 2] | 0) - (c[P >> 2] | 0);
  83081. while (1) {
  83082. if (
  83083. !(
  83084. ((c[x >> 2] | 0) >>> 0 >
  83085. (c[z >> 2] | 0) >>> 0
  83086. ? (c[P >> 2] | 0) >>> 0 >
  83087. (c[B >> 2] | 0) >>> 0
  83088. : 0) | 0
  83089. )
  83090. )
  83091. break c;
  83092. if (
  83093. (d[((c[x >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  83094. (d[((c[P >> 2] | 0) + -1) >> 0] | 0 | 0)
  83095. )
  83096. break c;
  83097. c[x >> 2] = (c[x >> 2] | 0) + -1;
  83098. c[P >> 2] = (c[P >> 2] | 0) + -1;
  83099. c[I >> 2] = (c[I >> 2] | 0) + 1;
  83100. }
  83101. }
  83102. c[x >> 2] =
  83103. (c[x >> 2] | 0) +
  83104. ((((c[x >> 2] | 0) - (c[z >> 2] | 0)) >> 8) +
  83105. 1);
  83106. continue a;
  83107. }
  83108. } while (0);
  83109. c[F >> 2] = c[E >> 2];
  83110. c[E >> 2] = c[Q >> 2];
  83111. $m(
  83112. c[k >> 2] | 0,
  83113. ((c[x >> 2] | 0) - (c[z >> 2] | 0)) | 0,
  83114. c[z >> 2] | 0,
  83115. ((c[Q >> 2] | 0) + 2) | 0,
  83116. ((c[I >> 2] | 0) - 3) | 0
  83117. );
  83118. }
  83119. c[x >> 2] = (c[x >> 2] | 0) + (c[I >> 2] | 0);
  83120. c[z >> 2] = c[x >> 2];
  83121. d: do {
  83122. if ((c[x >> 2] | 0) >>> 0 <= (c[D >> 2] | 0) >>> 0) {
  83123. w = ((c[L >> 2] | 0) + 2) | 0;
  83124. p = c[t >> 2] | 0;
  83125. c[
  83126. (p +
  83127. ((Dk(
  83128. ((c[v >> 2] | 0) + (c[L >> 2] | 0) + 2) | 0,
  83129. c[u >> 2] | 0,
  83130. c[q >> 2] | 0
  83131. ) |
  83132. 0) <<
  83133. 2)) >>
  83134. 2
  83135. ] = w;
  83136. p = c[r >> 2] | 0;
  83137. c[
  83138. (p +
  83139. ((Dk(
  83140. ((c[v >> 2] | 0) + (c[L >> 2] | 0) + 2) | 0,
  83141. c[s >> 2] | 0,
  83142. 8
  83143. ) |
  83144. 0) <<
  83145. 2)) >>
  83146. 2
  83147. ] = w;
  83148. w = ((c[x >> 2] | 0) + -2 - (c[v >> 2] | 0)) | 0;
  83149. p = c[t >> 2] | 0;
  83150. c[
  83151. (p +
  83152. ((Dk(
  83153. ((c[x >> 2] | 0) + -2) | 0,
  83154. c[u >> 2] | 0,
  83155. c[q >> 2] | 0
  83156. ) |
  83157. 0) <<
  83158. 2)) >>
  83159. 2
  83160. ] = w;
  83161. p = c[r >> 2] | 0;
  83162. c[
  83163. (p +
  83164. ((Dk(
  83165. ((c[x >> 2] | 0) + -2) | 0,
  83166. c[s >> 2] | 0,
  83167. 8
  83168. ) |
  83169. 0) <<
  83170. 2)) >>
  83171. 2
  83172. ] = w;
  83173. while (1) {
  83174. if ((c[x >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0)
  83175. break d;
  83176. w = ((c[F >> 2] | 0) >>> 0 > 0) & 1;
  83177. p = Rk(c[x >> 2] | 0) | 0;
  83178. if (
  83179. !(
  83180. w &
  83181. ((p | 0) ==
  83182. (Rk(
  83183. ((c[x >> 2] | 0) +
  83184. (0 - (c[F >> 2] | 0))) |
  83185. 0
  83186. ) |
  83187. 0))
  83188. )
  83189. )
  83190. break d;
  83191. c[U >> 2] =
  83192. (cn(
  83193. ((c[x >> 2] | 0) + 4) | 0,
  83194. ((c[x >> 2] | 0) +
  83195. 4 +
  83196. (0 - (c[F >> 2] | 0))) |
  83197. 0,
  83198. c[C >> 2] | 0
  83199. ) |
  83200. 0) +
  83201. 4;
  83202. c[V >> 2] = c[F >> 2];
  83203. c[F >> 2] = c[E >> 2];
  83204. c[E >> 2] = c[V >> 2];
  83205. p = ((c[x >> 2] | 0) - (c[v >> 2] | 0)) | 0;
  83206. w = c[t >> 2] | 0;
  83207. c[
  83208. (w +
  83209. ((Dk(
  83210. c[x >> 2] | 0,
  83211. c[u >> 2] | 0,
  83212. c[q >> 2] | 0
  83213. ) |
  83214. 0) <<
  83215. 2)) >>
  83216. 2
  83217. ] = p;
  83218. p = ((c[x >> 2] | 0) - (c[v >> 2] | 0)) | 0;
  83219. w = c[r >> 2] | 0;
  83220. c[
  83221. (w +
  83222. ((Dk(c[x >> 2] | 0, c[s >> 2] | 0, 8) | 0) <<
  83223. 2)) >>
  83224. 2
  83225. ] = p;
  83226. $m(
  83227. c[k >> 2] | 0,
  83228. 0,
  83229. c[z >> 2] | 0,
  83230. 0,
  83231. ((c[U >> 2] | 0) - 3) | 0
  83232. );
  83233. c[x >> 2] = (c[x >> 2] | 0) + (c[U >> 2] | 0);
  83234. c[z >> 2] = c[x >> 2];
  83235. }
  83236. }
  83237. } while (0);
  83238. }
  83239. c[c[m >> 2] >> 2] =
  83240. c[E >> 2] | 0 ? c[E >> 2] | 0 : c[G >> 2] | 0;
  83241. c[((c[m >> 2] | 0) + 4) >> 2] =
  83242. c[F >> 2] | 0 ? c[F >> 2] | 0 : c[G >> 2] | 0;
  83243. c[Zb >> 2] = (c[C >> 2] | 0) - (c[z >> 2] | 0);
  83244. gc = c[Zb >> 2] | 0;
  83245. l = i;
  83246. return gc | 0;
  83247. }
  83248. case 5: {
  83249. z = c[$b >> 2] | 0;
  83250. C = c[ac >> 2] | 0;
  83251. G = c[bc >> 2] | 0;
  83252. F = c[cc >> 2] | 0;
  83253. m = c[dc >> 2] | 0;
  83254. c[Fa >> 2] = c[_b >> 2];
  83255. c[Ga >> 2] = z;
  83256. c[Ha >> 2] = C;
  83257. c[Ia >> 2] = G;
  83258. c[Ja >> 2] = F;
  83259. c[Ka >> 2] = m;
  83260. c[La >> 2] = 5;
  83261. c[Ma >> 2] = c[((c[Fa >> 2] | 0) + 36) >> 2];
  83262. c[Na >> 2] = c[((c[Ia >> 2] | 0) + 8) >> 2];
  83263. c[Oa >> 2] = c[((c[Fa >> 2] | 0) + 44) >> 2];
  83264. c[Pa >> 2] = c[((c[Ia >> 2] | 0) + 4) >> 2];
  83265. c[Qa >> 2] = c[((c[Fa >> 2] | 0) + 4) >> 2];
  83266. c[Ra >> 2] = c[Ja >> 2];
  83267. c[Sa >> 2] = c[Ra >> 2];
  83268. c[Ta >> 2] = c[Ra >> 2];
  83269. c[Ua >> 2] = c[((c[Fa >> 2] | 0) + 12) >> 2];
  83270. c[Va >> 2] = (c[Qa >> 2] | 0) + (c[Ua >> 2] | 0);
  83271. c[Wa >> 2] = (c[Ra >> 2] | 0) + (c[Ka >> 2] | 0);
  83272. c[Xa >> 2] = (c[Wa >> 2] | 0) + -8;
  83273. c[Ya >> 2] = c[c[Ha >> 2] >> 2];
  83274. c[Za >> 2] = c[((c[Ha >> 2] | 0) + 4) >> 2];
  83275. c[_a >> 2] = 0;
  83276. c[Sa >> 2] =
  83277. (c[Sa >> 2] | 0) +
  83278. (((c[Sa >> 2] | 0) == (c[Va >> 2] | 0)) & 1);
  83279. c[$a >> 2] = (c[Sa >> 2] | 0) - (c[Va >> 2] | 0);
  83280. if ((c[Za >> 2] | 0) >>> 0 > (c[$a >> 2] | 0) >>> 0) {
  83281. c[_a >> 2] = c[Za >> 2];
  83282. c[Za >> 2] = 0;
  83283. }
  83284. if ((c[Ya >> 2] | 0) >>> 0 > (c[$a >> 2] | 0) >>> 0) {
  83285. c[_a >> 2] = c[Ya >> 2];
  83286. c[Ya >> 2] = 0;
  83287. }
  83288. e: while (1) {
  83289. if ((c[Sa >> 2] | 0) >>> 0 >= (c[Xa >> 2] | 0) >>> 0)
  83290. break;
  83291. c[bb >> 2] = Dk(c[Sa >> 2] | 0, c[Na >> 2] | 0, 8) | 0;
  83292. c[cb >> 2] =
  83293. Dk(c[Sa >> 2] | 0, c[Pa >> 2] | 0, c[La >> 2] | 0) |
  83294. 0;
  83295. c[db >> 2] = (c[Sa >> 2] | 0) - (c[Qa >> 2] | 0);
  83296. c[eb >> 2] =
  83297. c[((c[Ma >> 2] | 0) + (c[bb >> 2] << 2)) >> 2];
  83298. c[fb >> 2] =
  83299. c[((c[Oa >> 2] | 0) + (c[cb >> 2] << 2)) >> 2];
  83300. c[gb >> 2] = (c[Qa >> 2] | 0) + (c[eb >> 2] | 0);
  83301. c[hb >> 2] = (c[Qa >> 2] | 0) + (c[fb >> 2] | 0);
  83302. $a = c[db >> 2] | 0;
  83303. c[((c[Oa >> 2] | 0) + (c[cb >> 2] << 2)) >> 2] = $a;
  83304. c[((c[Ma >> 2] | 0) + (c[bb >> 2] << 2)) >> 2] = $a;
  83305. $a = ((c[Ya >> 2] | 0) >>> 0 > 0) & 1;
  83306. Ka =
  83307. Rk(
  83308. ((c[Sa >> 2] | 0) + 1 + (0 - (c[Ya >> 2] | 0))) | 0
  83309. ) | 0;
  83310. if (
  83311. ($a &
  83312. ((Ka | 0) ==
  83313. (Rk(((c[Sa >> 2] | 0) + 1) | 0) | 0))) |
  83314. 0
  83315. ) {
  83316. c[ab >> 2] =
  83317. (cn(
  83318. ((c[Sa >> 2] | 0) + 1 + 4) | 0,
  83319. ((c[Sa >> 2] | 0) +
  83320. 1 +
  83321. 4 +
  83322. (0 - (c[Ya >> 2] | 0))) |
  83323. 0,
  83324. c[Wa >> 2] | 0
  83325. ) |
  83326. 0) +
  83327. 4;
  83328. c[Sa >> 2] = (c[Sa >> 2] | 0) + 1;
  83329. $m(
  83330. c[Ga >> 2] | 0,
  83331. ((c[Sa >> 2] | 0) - (c[Ta >> 2] | 0)) | 0,
  83332. c[Ta >> 2] | 0,
  83333. 0,
  83334. ((c[ab >> 2] | 0) - 3) | 0
  83335. );
  83336. } else {
  83337. f: do {
  83338. if (
  83339. (c[eb >> 2] | 0) >>> 0 > (c[Ua >> 2] | 0) >>> 0
  83340. ? ((Ka = Mk(c[gb >> 2] | 0) | 0),
  83341. ($a = y),
  83342. (Ra = Mk(c[Sa >> 2] | 0) | 0),
  83343. ((Ka | 0) == (Ra | 0)) &
  83344. (($a | 0) == (y | 0)))
  83345. : 0
  83346. ) {
  83347. c[ab >> 2] =
  83348. (cn(
  83349. ((c[Sa >> 2] | 0) + 8) | 0,
  83350. ((c[gb >> 2] | 0) + 8) | 0,
  83351. c[Wa >> 2] | 0
  83352. ) |
  83353. 0) +
  83354. 8;
  83355. c[ib >> 2] = (c[Sa >> 2] | 0) - (c[gb >> 2] | 0);
  83356. while (1) {
  83357. if (
  83358. !(
  83359. ((c[Sa >> 2] | 0) >>> 0 >
  83360. (c[Ta >> 2] | 0) >>> 0
  83361. ? (c[gb >> 2] | 0) >>> 0 >
  83362. (c[Va >> 2] | 0) >>> 0
  83363. : 0) | 0
  83364. )
  83365. )
  83366. break f;
  83367. if (
  83368. (d[((c[Sa >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  83369. (d[((c[gb >> 2] | 0) + -1) >> 0] | 0 | 0)
  83370. )
  83371. break f;
  83372. c[Sa >> 2] = (c[Sa >> 2] | 0) + -1;
  83373. c[gb >> 2] = (c[gb >> 2] | 0) + -1;
  83374. c[ab >> 2] = (c[ab >> 2] | 0) + 1;
  83375. }
  83376. } else fc = 51;
  83377. } while (0);
  83378. g: do {
  83379. if ((fc | 0) == 51) {
  83380. fc = 0;
  83381. if (
  83382. (c[fb >> 2] | 0) >>> 0 > (c[Ua >> 2] | 0) >>> 0
  83383. ? (($a = Rk(c[hb >> 2] | 0) | 0),
  83384. ($a | 0) == (Rk(c[Sa >> 2] | 0) | 0))
  83385. : 0
  83386. ) {
  83387. c[jb >> 2] =
  83388. Dk(
  83389. ((c[Sa >> 2] | 0) + 1) | 0,
  83390. c[Na >> 2] | 0,
  83391. 8
  83392. ) | 0;
  83393. c[kb >> 2] =
  83394. c[
  83395. ((c[Ma >> 2] | 0) + (c[jb >> 2] << 2)) >> 2
  83396. ];
  83397. c[lb >> 2] =
  83398. (c[Qa >> 2] | 0) + (c[kb >> 2] | 0);
  83399. c[((c[Ma >> 2] | 0) + (c[jb >> 2] << 2)) >> 2] =
  83400. (c[db >> 2] | 0) + 1;
  83401. if (
  83402. (c[kb >> 2] | 0) >>> 0 >
  83403. (c[Ua >> 2] | 0) >>> 0
  83404. ? (($a = Mk(c[lb >> 2] | 0) | 0),
  83405. (Ra = y),
  83406. (Ka = Mk(((c[Sa >> 2] | 0) + 1) | 0) | 0),
  83407. (($a | 0) == (Ka | 0)) &
  83408. ((Ra | 0) == (y | 0)))
  83409. : 0
  83410. ) {
  83411. c[ab >> 2] =
  83412. (cn(
  83413. ((c[Sa >> 2] | 0) + 9) | 0,
  83414. ((c[lb >> 2] | 0) + 8) | 0,
  83415. c[Wa >> 2] | 0
  83416. ) |
  83417. 0) +
  83418. 8;
  83419. c[Sa >> 2] = (c[Sa >> 2] | 0) + 1;
  83420. c[ib >> 2] =
  83421. (c[Sa >> 2] | 0) - (c[lb >> 2] | 0);
  83422. while (1) {
  83423. if (
  83424. !(
  83425. ((c[Sa >> 2] | 0) >>> 0 >
  83426. (c[Ta >> 2] | 0) >>> 0
  83427. ? (c[lb >> 2] | 0) >>> 0 >
  83428. (c[Va >> 2] | 0) >>> 0
  83429. : 0) | 0
  83430. )
  83431. )
  83432. break g;
  83433. if (
  83434. (d[((c[Sa >> 2] | 0) + -1) >> 0] |
  83435. 0 |
  83436. 0) !=
  83437. (d[((c[lb >> 2] | 0) + -1) >> 0] | 0 | 0)
  83438. )
  83439. break g;
  83440. c[Sa >> 2] = (c[Sa >> 2] | 0) + -1;
  83441. c[lb >> 2] = (c[lb >> 2] | 0) + -1;
  83442. c[ab >> 2] = (c[ab >> 2] | 0) + 1;
  83443. }
  83444. }
  83445. c[ab >> 2] =
  83446. (cn(
  83447. ((c[Sa >> 2] | 0) + 4) | 0,
  83448. ((c[hb >> 2] | 0) + 4) | 0,
  83449. c[Wa >> 2] | 0
  83450. ) |
  83451. 0) +
  83452. 4;
  83453. c[ib >> 2] =
  83454. (c[Sa >> 2] | 0) - (c[hb >> 2] | 0);
  83455. while (1) {
  83456. if (
  83457. !(
  83458. ((c[Sa >> 2] | 0) >>> 0 >
  83459. (c[Ta >> 2] | 0) >>> 0
  83460. ? (c[hb >> 2] | 0) >>> 0 >
  83461. (c[Va >> 2] | 0) >>> 0
  83462. : 0) | 0
  83463. )
  83464. )
  83465. break g;
  83466. if (
  83467. (d[((c[Sa >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  83468. (d[((c[hb >> 2] | 0) + -1) >> 0] | 0 | 0)
  83469. )
  83470. break g;
  83471. c[Sa >> 2] = (c[Sa >> 2] | 0) + -1;
  83472. c[hb >> 2] = (c[hb >> 2] | 0) + -1;
  83473. c[ab >> 2] = (c[ab >> 2] | 0) + 1;
  83474. }
  83475. }
  83476. c[Sa >> 2] =
  83477. (c[Sa >> 2] | 0) +
  83478. ((((c[Sa >> 2] | 0) - (c[Ta >> 2] | 0)) >> 8) +
  83479. 1);
  83480. continue e;
  83481. }
  83482. } while (0);
  83483. c[Za >> 2] = c[Ya >> 2];
  83484. c[Ya >> 2] = c[ib >> 2];
  83485. $m(
  83486. c[Ga >> 2] | 0,
  83487. ((c[Sa >> 2] | 0) - (c[Ta >> 2] | 0)) | 0,
  83488. c[Ta >> 2] | 0,
  83489. ((c[ib >> 2] | 0) + 2) | 0,
  83490. ((c[ab >> 2] | 0) - 3) | 0
  83491. );
  83492. }
  83493. c[Sa >> 2] = (c[Sa >> 2] | 0) + (c[ab >> 2] | 0);
  83494. c[Ta >> 2] = c[Sa >> 2];
  83495. h: do {
  83496. if (
  83497. (c[Sa >> 2] | 0) >>> 0 <=
  83498. (c[Xa >> 2] | 0) >>> 0
  83499. ) {
  83500. Ra = ((c[db >> 2] | 0) + 2) | 0;
  83501. Ka = c[Oa >> 2] | 0;
  83502. c[
  83503. (Ka +
  83504. ((Dk(
  83505. ((c[Qa >> 2] | 0) + (c[db >> 2] | 0) + 2) | 0,
  83506. c[Pa >> 2] | 0,
  83507. c[La >> 2] | 0
  83508. ) |
  83509. 0) <<
  83510. 2)) >>
  83511. 2
  83512. ] = Ra;
  83513. Ka = c[Ma >> 2] | 0;
  83514. c[
  83515. (Ka +
  83516. ((Dk(
  83517. ((c[Qa >> 2] | 0) + (c[db >> 2] | 0) + 2) | 0,
  83518. c[Na >> 2] | 0,
  83519. 8
  83520. ) |
  83521. 0) <<
  83522. 2)) >>
  83523. 2
  83524. ] = Ra;
  83525. Ra = ((c[Sa >> 2] | 0) + -2 - (c[Qa >> 2] | 0)) | 0;
  83526. Ka = c[Oa >> 2] | 0;
  83527. c[
  83528. (Ka +
  83529. ((Dk(
  83530. ((c[Sa >> 2] | 0) + -2) | 0,
  83531. c[Pa >> 2] | 0,
  83532. c[La >> 2] | 0
  83533. ) |
  83534. 0) <<
  83535. 2)) >>
  83536. 2
  83537. ] = Ra;
  83538. Ka = c[Ma >> 2] | 0;
  83539. c[
  83540. (Ka +
  83541. ((Dk(
  83542. ((c[Sa >> 2] | 0) + -2) | 0,
  83543. c[Na >> 2] | 0,
  83544. 8
  83545. ) |
  83546. 0) <<
  83547. 2)) >>
  83548. 2
  83549. ] = Ra;
  83550. while (1) {
  83551. if (
  83552. (c[Sa >> 2] | 0) >>> 0 >
  83553. (c[Xa >> 2] | 0) >>> 0
  83554. )
  83555. break h;
  83556. Ra = ((c[Za >> 2] | 0) >>> 0 > 0) & 1;
  83557. Ka = Rk(c[Sa >> 2] | 0) | 0;
  83558. if (
  83559. !(
  83560. Ra &
  83561. ((Ka | 0) ==
  83562. (Rk(
  83563. ((c[Sa >> 2] | 0) +
  83564. (0 - (c[Za >> 2] | 0))) |
  83565. 0
  83566. ) |
  83567. 0))
  83568. )
  83569. )
  83570. break h;
  83571. c[mb >> 2] =
  83572. (cn(
  83573. ((c[Sa >> 2] | 0) + 4) | 0,
  83574. ((c[Sa >> 2] | 0) +
  83575. 4 +
  83576. (0 - (c[Za >> 2] | 0))) |
  83577. 0,
  83578. c[Wa >> 2] | 0
  83579. ) |
  83580. 0) +
  83581. 4;
  83582. c[nb >> 2] = c[Za >> 2];
  83583. c[Za >> 2] = c[Ya >> 2];
  83584. c[Ya >> 2] = c[nb >> 2];
  83585. Ka = ((c[Sa >> 2] | 0) - (c[Qa >> 2] | 0)) | 0;
  83586. Ra = c[Oa >> 2] | 0;
  83587. c[
  83588. (Ra +
  83589. ((Dk(
  83590. c[Sa >> 2] | 0,
  83591. c[Pa >> 2] | 0,
  83592. c[La >> 2] | 0
  83593. ) |
  83594. 0) <<
  83595. 2)) >>
  83596. 2
  83597. ] = Ka;
  83598. Ka = ((c[Sa >> 2] | 0) - (c[Qa >> 2] | 0)) | 0;
  83599. Ra = c[Ma >> 2] | 0;
  83600. c[
  83601. (Ra +
  83602. ((Dk(c[Sa >> 2] | 0, c[Na >> 2] | 0, 8) |
  83603. 0) <<
  83604. 2)) >>
  83605. 2
  83606. ] = Ka;
  83607. $m(
  83608. c[Ga >> 2] | 0,
  83609. 0,
  83610. c[Ta >> 2] | 0,
  83611. 0,
  83612. ((c[mb >> 2] | 0) - 3) | 0
  83613. );
  83614. c[Sa >> 2] = (c[Sa >> 2] | 0) + (c[mb >> 2] | 0);
  83615. c[Ta >> 2] = c[Sa >> 2];
  83616. }
  83617. }
  83618. } while (0);
  83619. }
  83620. c[c[Ha >> 2] >> 2] =
  83621. c[Ya >> 2] | 0 ? c[Ya >> 2] | 0 : c[_a >> 2] | 0;
  83622. c[((c[Ha >> 2] | 0) + 4) >> 2] =
  83623. c[Za >> 2] | 0 ? c[Za >> 2] | 0 : c[_a >> 2] | 0;
  83624. c[Zb >> 2] = (c[Wa >> 2] | 0) - (c[Ta >> 2] | 0);
  83625. gc = c[Zb >> 2] | 0;
  83626. l = i;
  83627. return gc | 0;
  83628. }
  83629. case 6: {
  83630. Ta = c[$b >> 2] | 0;
  83631. Wa = c[ac >> 2] | 0;
  83632. _a = c[bc >> 2] | 0;
  83633. Za = c[cc >> 2] | 0;
  83634. Ha = c[dc >> 2] | 0;
  83635. c[W >> 2] = c[_b >> 2];
  83636. c[X >> 2] = Ta;
  83637. c[Y >> 2] = Wa;
  83638. c[Z >> 2] = _a;
  83639. c[_ >> 2] = Za;
  83640. c[$ >> 2] = Ha;
  83641. c[aa >> 2] = 6;
  83642. c[ba >> 2] = c[((c[W >> 2] | 0) + 36) >> 2];
  83643. c[ca >> 2] = c[((c[Z >> 2] | 0) + 8) >> 2];
  83644. c[da >> 2] = c[((c[W >> 2] | 0) + 44) >> 2];
  83645. c[ea >> 2] = c[((c[Z >> 2] | 0) + 4) >> 2];
  83646. c[fa >> 2] = c[((c[W >> 2] | 0) + 4) >> 2];
  83647. c[ga >> 2] = c[_ >> 2];
  83648. c[ha >> 2] = c[ga >> 2];
  83649. c[ia >> 2] = c[ga >> 2];
  83650. c[ja >> 2] = c[((c[W >> 2] | 0) + 12) >> 2];
  83651. c[ka >> 2] = (c[fa >> 2] | 0) + (c[ja >> 2] | 0);
  83652. c[la >> 2] = (c[ga >> 2] | 0) + (c[$ >> 2] | 0);
  83653. c[ma >> 2] = (c[la >> 2] | 0) + -8;
  83654. c[na >> 2] = c[c[Y >> 2] >> 2];
  83655. c[oa >> 2] = c[((c[Y >> 2] | 0) + 4) >> 2];
  83656. c[pa >> 2] = 0;
  83657. c[ha >> 2] =
  83658. (c[ha >> 2] | 0) +
  83659. (((c[ha >> 2] | 0) == (c[ka >> 2] | 0)) & 1);
  83660. c[qa >> 2] = (c[ha >> 2] | 0) - (c[ka >> 2] | 0);
  83661. if ((c[oa >> 2] | 0) >>> 0 > (c[qa >> 2] | 0) >>> 0) {
  83662. c[pa >> 2] = c[oa >> 2];
  83663. c[oa >> 2] = 0;
  83664. }
  83665. if ((c[na >> 2] | 0) >>> 0 > (c[qa >> 2] | 0) >>> 0) {
  83666. c[pa >> 2] = c[na >> 2];
  83667. c[na >> 2] = 0;
  83668. }
  83669. i: while (1) {
  83670. if ((c[ha >> 2] | 0) >>> 0 >= (c[ma >> 2] | 0) >>> 0)
  83671. break;
  83672. c[sa >> 2] = Dk(c[ha >> 2] | 0, c[ca >> 2] | 0, 8) | 0;
  83673. c[ta >> 2] =
  83674. Dk(c[ha >> 2] | 0, c[ea >> 2] | 0, c[aa >> 2] | 0) |
  83675. 0;
  83676. c[ua >> 2] = (c[ha >> 2] | 0) - (c[fa >> 2] | 0);
  83677. c[va >> 2] =
  83678. c[((c[ba >> 2] | 0) + (c[sa >> 2] << 2)) >> 2];
  83679. c[wa >> 2] =
  83680. c[((c[da >> 2] | 0) + (c[ta >> 2] << 2)) >> 2];
  83681. c[xa >> 2] = (c[fa >> 2] | 0) + (c[va >> 2] | 0);
  83682. c[ya >> 2] = (c[fa >> 2] | 0) + (c[wa >> 2] | 0);
  83683. qa = c[ua >> 2] | 0;
  83684. c[((c[da >> 2] | 0) + (c[ta >> 2] << 2)) >> 2] = qa;
  83685. c[((c[ba >> 2] | 0) + (c[sa >> 2] << 2)) >> 2] = qa;
  83686. qa = ((c[na >> 2] | 0) >>> 0 > 0) & 1;
  83687. $ =
  83688. Rk(
  83689. ((c[ha >> 2] | 0) + 1 + (0 - (c[na >> 2] | 0))) | 0
  83690. ) | 0;
  83691. if (
  83692. (qa &
  83693. (($ | 0) == (Rk(((c[ha >> 2] | 0) + 1) | 0) | 0))) |
  83694. 0
  83695. ) {
  83696. c[ra >> 2] =
  83697. (cn(
  83698. ((c[ha >> 2] | 0) + 1 + 4) | 0,
  83699. ((c[ha >> 2] | 0) +
  83700. 1 +
  83701. 4 +
  83702. (0 - (c[na >> 2] | 0))) |
  83703. 0,
  83704. c[la >> 2] | 0
  83705. ) |
  83706. 0) +
  83707. 4;
  83708. c[ha >> 2] = (c[ha >> 2] | 0) + 1;
  83709. $m(
  83710. c[X >> 2] | 0,
  83711. ((c[ha >> 2] | 0) - (c[ia >> 2] | 0)) | 0,
  83712. c[ia >> 2] | 0,
  83713. 0,
  83714. ((c[ra >> 2] | 0) - 3) | 0
  83715. );
  83716. } else {
  83717. j: do {
  83718. if (
  83719. (c[va >> 2] | 0) >>> 0 > (c[ja >> 2] | 0) >>> 0
  83720. ? (($ = Mk(c[xa >> 2] | 0) | 0),
  83721. (qa = y),
  83722. (ga = Mk(c[ha >> 2] | 0) | 0),
  83723. (($ | 0) == (ga | 0)) & ((qa | 0) == (y | 0)))
  83724. : 0
  83725. ) {
  83726. c[ra >> 2] =
  83727. (cn(
  83728. ((c[ha >> 2] | 0) + 8) | 0,
  83729. ((c[xa >> 2] | 0) + 8) | 0,
  83730. c[la >> 2] | 0
  83731. ) |
  83732. 0) +
  83733. 8;
  83734. c[za >> 2] = (c[ha >> 2] | 0) - (c[xa >> 2] | 0);
  83735. while (1) {
  83736. if (
  83737. !(
  83738. ((c[ha >> 2] | 0) >>> 0 >
  83739. (c[ia >> 2] | 0) >>> 0
  83740. ? (c[xa >> 2] | 0) >>> 0 >
  83741. (c[ka >> 2] | 0) >>> 0
  83742. : 0) | 0
  83743. )
  83744. )
  83745. break j;
  83746. if (
  83747. (d[((c[ha >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  83748. (d[((c[xa >> 2] | 0) + -1) >> 0] | 0 | 0)
  83749. )
  83750. break j;
  83751. c[ha >> 2] = (c[ha >> 2] | 0) + -1;
  83752. c[xa >> 2] = (c[xa >> 2] | 0) + -1;
  83753. c[ra >> 2] = (c[ra >> 2] | 0) + 1;
  83754. }
  83755. } else fc = 86;
  83756. } while (0);
  83757. k: do {
  83758. if ((fc | 0) == 86) {
  83759. fc = 0;
  83760. if (
  83761. (c[wa >> 2] | 0) >>> 0 > (c[ja >> 2] | 0) >>> 0
  83762. ? ((qa = Rk(c[ya >> 2] | 0) | 0),
  83763. (qa | 0) == (Rk(c[ha >> 2] | 0) | 0))
  83764. : 0
  83765. ) {
  83766. c[Aa >> 2] =
  83767. Dk(
  83768. ((c[ha >> 2] | 0) + 1) | 0,
  83769. c[ca >> 2] | 0,
  83770. 8
  83771. ) | 0;
  83772. c[Ba >> 2] =
  83773. c[
  83774. ((c[ba >> 2] | 0) + (c[Aa >> 2] << 2)) >> 2
  83775. ];
  83776. c[Ca >> 2] =
  83777. (c[fa >> 2] | 0) + (c[Ba >> 2] | 0);
  83778. c[((c[ba >> 2] | 0) + (c[Aa >> 2] << 2)) >> 2] =
  83779. (c[ua >> 2] | 0) + 1;
  83780. if (
  83781. (c[Ba >> 2] | 0) >>> 0 >
  83782. (c[ja >> 2] | 0) >>> 0
  83783. ? ((qa = Mk(c[Ca >> 2] | 0) | 0),
  83784. (ga = y),
  83785. ($ = Mk(((c[ha >> 2] | 0) + 1) | 0) | 0),
  83786. ((qa | 0) == ($ | 0)) &
  83787. ((ga | 0) == (y | 0)))
  83788. : 0
  83789. ) {
  83790. c[ra >> 2] =
  83791. (cn(
  83792. ((c[ha >> 2] | 0) + 9) | 0,
  83793. ((c[Ca >> 2] | 0) + 8) | 0,
  83794. c[la >> 2] | 0
  83795. ) |
  83796. 0) +
  83797. 8;
  83798. c[ha >> 2] = (c[ha >> 2] | 0) + 1;
  83799. c[za >> 2] =
  83800. (c[ha >> 2] | 0) - (c[Ca >> 2] | 0);
  83801. while (1) {
  83802. if (
  83803. !(
  83804. ((c[ha >> 2] | 0) >>> 0 >
  83805. (c[ia >> 2] | 0) >>> 0
  83806. ? (c[Ca >> 2] | 0) >>> 0 >
  83807. (c[ka >> 2] | 0) >>> 0
  83808. : 0) | 0
  83809. )
  83810. )
  83811. break k;
  83812. if (
  83813. (d[((c[ha >> 2] | 0) + -1) >> 0] |
  83814. 0 |
  83815. 0) !=
  83816. (d[((c[Ca >> 2] | 0) + -1) >> 0] | 0 | 0)
  83817. )
  83818. break k;
  83819. c[ha >> 2] = (c[ha >> 2] | 0) + -1;
  83820. c[Ca >> 2] = (c[Ca >> 2] | 0) + -1;
  83821. c[ra >> 2] = (c[ra >> 2] | 0) + 1;
  83822. }
  83823. }
  83824. c[ra >> 2] =
  83825. (cn(
  83826. ((c[ha >> 2] | 0) + 4) | 0,
  83827. ((c[ya >> 2] | 0) + 4) | 0,
  83828. c[la >> 2] | 0
  83829. ) |
  83830. 0) +
  83831. 4;
  83832. c[za >> 2] =
  83833. (c[ha >> 2] | 0) - (c[ya >> 2] | 0);
  83834. while (1) {
  83835. if (
  83836. !(
  83837. ((c[ha >> 2] | 0) >>> 0 >
  83838. (c[ia >> 2] | 0) >>> 0
  83839. ? (c[ya >> 2] | 0) >>> 0 >
  83840. (c[ka >> 2] | 0) >>> 0
  83841. : 0) | 0
  83842. )
  83843. )
  83844. break k;
  83845. if (
  83846. (d[((c[ha >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  83847. (d[((c[ya >> 2] | 0) + -1) >> 0] | 0 | 0)
  83848. )
  83849. break k;
  83850. c[ha >> 2] = (c[ha >> 2] | 0) + -1;
  83851. c[ya >> 2] = (c[ya >> 2] | 0) + -1;
  83852. c[ra >> 2] = (c[ra >> 2] | 0) + 1;
  83853. }
  83854. }
  83855. c[ha >> 2] =
  83856. (c[ha >> 2] | 0) +
  83857. ((((c[ha >> 2] | 0) - (c[ia >> 2] | 0)) >> 8) +
  83858. 1);
  83859. continue i;
  83860. }
  83861. } while (0);
  83862. c[oa >> 2] = c[na >> 2];
  83863. c[na >> 2] = c[za >> 2];
  83864. $m(
  83865. c[X >> 2] | 0,
  83866. ((c[ha >> 2] | 0) - (c[ia >> 2] | 0)) | 0,
  83867. c[ia >> 2] | 0,
  83868. ((c[za >> 2] | 0) + 2) | 0,
  83869. ((c[ra >> 2] | 0) - 3) | 0
  83870. );
  83871. }
  83872. c[ha >> 2] = (c[ha >> 2] | 0) + (c[ra >> 2] | 0);
  83873. c[ia >> 2] = c[ha >> 2];
  83874. l: do {
  83875. if (
  83876. (c[ha >> 2] | 0) >>> 0 <=
  83877. (c[ma >> 2] | 0) >>> 0
  83878. ) {
  83879. ga = ((c[ua >> 2] | 0) + 2) | 0;
  83880. $ = c[da >> 2] | 0;
  83881. c[
  83882. ($ +
  83883. ((Dk(
  83884. ((c[fa >> 2] | 0) + (c[ua >> 2] | 0) + 2) | 0,
  83885. c[ea >> 2] | 0,
  83886. c[aa >> 2] | 0
  83887. ) |
  83888. 0) <<
  83889. 2)) >>
  83890. 2
  83891. ] = ga;
  83892. $ = c[ba >> 2] | 0;
  83893. c[
  83894. ($ +
  83895. ((Dk(
  83896. ((c[fa >> 2] | 0) + (c[ua >> 2] | 0) + 2) | 0,
  83897. c[ca >> 2] | 0,
  83898. 8
  83899. ) |
  83900. 0) <<
  83901. 2)) >>
  83902. 2
  83903. ] = ga;
  83904. ga = ((c[ha >> 2] | 0) + -2 - (c[fa >> 2] | 0)) | 0;
  83905. $ = c[da >> 2] | 0;
  83906. c[
  83907. ($ +
  83908. ((Dk(
  83909. ((c[ha >> 2] | 0) + -2) | 0,
  83910. c[ea >> 2] | 0,
  83911. c[aa >> 2] | 0
  83912. ) |
  83913. 0) <<
  83914. 2)) >>
  83915. 2
  83916. ] = ga;
  83917. $ = c[ba >> 2] | 0;
  83918. c[
  83919. ($ +
  83920. ((Dk(
  83921. ((c[ha >> 2] | 0) + -2) | 0,
  83922. c[ca >> 2] | 0,
  83923. 8
  83924. ) |
  83925. 0) <<
  83926. 2)) >>
  83927. 2
  83928. ] = ga;
  83929. while (1) {
  83930. if (
  83931. (c[ha >> 2] | 0) >>> 0 >
  83932. (c[ma >> 2] | 0) >>> 0
  83933. )
  83934. break l;
  83935. ga = ((c[oa >> 2] | 0) >>> 0 > 0) & 1;
  83936. $ = Rk(c[ha >> 2] | 0) | 0;
  83937. if (
  83938. !(
  83939. ga &
  83940. (($ | 0) ==
  83941. (Rk(
  83942. ((c[ha >> 2] | 0) +
  83943. (0 - (c[oa >> 2] | 0))) |
  83944. 0
  83945. ) |
  83946. 0))
  83947. )
  83948. )
  83949. break l;
  83950. c[Da >> 2] =
  83951. (cn(
  83952. ((c[ha >> 2] | 0) + 4) | 0,
  83953. ((c[ha >> 2] | 0) +
  83954. 4 +
  83955. (0 - (c[oa >> 2] | 0))) |
  83956. 0,
  83957. c[la >> 2] | 0
  83958. ) |
  83959. 0) +
  83960. 4;
  83961. c[Ea >> 2] = c[oa >> 2];
  83962. c[oa >> 2] = c[na >> 2];
  83963. c[na >> 2] = c[Ea >> 2];
  83964. $ = ((c[ha >> 2] | 0) - (c[fa >> 2] | 0)) | 0;
  83965. ga = c[da >> 2] | 0;
  83966. c[
  83967. (ga +
  83968. ((Dk(
  83969. c[ha >> 2] | 0,
  83970. c[ea >> 2] | 0,
  83971. c[aa >> 2] | 0
  83972. ) |
  83973. 0) <<
  83974. 2)) >>
  83975. 2
  83976. ] = $;
  83977. $ = ((c[ha >> 2] | 0) - (c[fa >> 2] | 0)) | 0;
  83978. ga = c[ba >> 2] | 0;
  83979. c[
  83980. (ga +
  83981. ((Dk(c[ha >> 2] | 0, c[ca >> 2] | 0, 8) |
  83982. 0) <<
  83983. 2)) >>
  83984. 2
  83985. ] = $;
  83986. $m(
  83987. c[X >> 2] | 0,
  83988. 0,
  83989. c[ia >> 2] | 0,
  83990. 0,
  83991. ((c[Da >> 2] | 0) - 3) | 0
  83992. );
  83993. c[ha >> 2] = (c[ha >> 2] | 0) + (c[Da >> 2] | 0);
  83994. c[ia >> 2] = c[ha >> 2];
  83995. }
  83996. }
  83997. } while (0);
  83998. }
  83999. c[c[Y >> 2] >> 2] =
  84000. c[na >> 2] | 0 ? c[na >> 2] | 0 : c[pa >> 2] | 0;
  84001. c[((c[Y >> 2] | 0) + 4) >> 2] =
  84002. c[oa >> 2] | 0 ? c[oa >> 2] | 0 : c[pa >> 2] | 0;
  84003. c[Zb >> 2] = (c[la >> 2] | 0) - (c[ia >> 2] | 0);
  84004. gc = c[Zb >> 2] | 0;
  84005. l = i;
  84006. return gc | 0;
  84007. }
  84008. default: {
  84009. ia = c[$b >> 2] | 0;
  84010. $b = c[ac >> 2] | 0;
  84011. ac = c[bc >> 2] | 0;
  84012. bc = c[cc >> 2] | 0;
  84013. cc = c[dc >> 2] | 0;
  84014. c[ob >> 2] = c[_b >> 2];
  84015. c[pb >> 2] = ia;
  84016. c[qb >> 2] = $b;
  84017. c[rb >> 2] = ac;
  84018. c[sb >> 2] = bc;
  84019. c[tb >> 2] = cc;
  84020. c[ub >> 2] = 4;
  84021. c[vb >> 2] = c[((c[ob >> 2] | 0) + 36) >> 2];
  84022. c[wb >> 2] = c[((c[rb >> 2] | 0) + 8) >> 2];
  84023. c[xb >> 2] = c[((c[ob >> 2] | 0) + 44) >> 2];
  84024. c[yb >> 2] = c[((c[rb >> 2] | 0) + 4) >> 2];
  84025. c[zb >> 2] = c[((c[ob >> 2] | 0) + 4) >> 2];
  84026. c[Ab >> 2] = c[sb >> 2];
  84027. c[Bb >> 2] = c[Ab >> 2];
  84028. c[Cb >> 2] = c[Ab >> 2];
  84029. c[Db >> 2] = c[((c[ob >> 2] | 0) + 12) >> 2];
  84030. c[Eb >> 2] = (c[zb >> 2] | 0) + (c[Db >> 2] | 0);
  84031. c[Fb >> 2] = (c[Ab >> 2] | 0) + (c[tb >> 2] | 0);
  84032. c[Gb >> 2] = (c[Fb >> 2] | 0) + -8;
  84033. c[Hb >> 2] = c[c[qb >> 2] >> 2];
  84034. c[Ib >> 2] = c[((c[qb >> 2] | 0) + 4) >> 2];
  84035. c[Jb >> 2] = 0;
  84036. c[Bb >> 2] =
  84037. (c[Bb >> 2] | 0) +
  84038. (((c[Bb >> 2] | 0) == (c[Eb >> 2] | 0)) & 1);
  84039. c[Kb >> 2] = (c[Bb >> 2] | 0) - (c[Eb >> 2] | 0);
  84040. if ((c[Ib >> 2] | 0) >>> 0 > (c[Kb >> 2] | 0) >>> 0) {
  84041. c[Jb >> 2] = c[Ib >> 2];
  84042. c[Ib >> 2] = 0;
  84043. }
  84044. if ((c[Hb >> 2] | 0) >>> 0 > (c[Kb >> 2] | 0) >>> 0) {
  84045. c[Jb >> 2] = c[Hb >> 2];
  84046. c[Hb >> 2] = 0;
  84047. }
  84048. m: while (1) {
  84049. if ((c[Bb >> 2] | 0) >>> 0 >= (c[Gb >> 2] | 0) >>> 0)
  84050. break;
  84051. c[Mb >> 2] = Dk(c[Bb >> 2] | 0, c[wb >> 2] | 0, 8) | 0;
  84052. c[Nb >> 2] =
  84053. Dk(c[Bb >> 2] | 0, c[yb >> 2] | 0, c[ub >> 2] | 0) |
  84054. 0;
  84055. c[Ob >> 2] = (c[Bb >> 2] | 0) - (c[zb >> 2] | 0);
  84056. c[Pb >> 2] =
  84057. c[((c[vb >> 2] | 0) + (c[Mb >> 2] << 2)) >> 2];
  84058. c[Qb >> 2] =
  84059. c[((c[xb >> 2] | 0) + (c[Nb >> 2] << 2)) >> 2];
  84060. c[Rb >> 2] = (c[zb >> 2] | 0) + (c[Pb >> 2] | 0);
  84061. c[Sb >> 2] = (c[zb >> 2] | 0) + (c[Qb >> 2] | 0);
  84062. Kb = c[Ob >> 2] | 0;
  84063. c[((c[xb >> 2] | 0) + (c[Nb >> 2] << 2)) >> 2] = Kb;
  84064. c[((c[vb >> 2] | 0) + (c[Mb >> 2] << 2)) >> 2] = Kb;
  84065. Kb = ((c[Hb >> 2] | 0) >>> 0 > 0) & 1;
  84066. tb =
  84067. Rk(
  84068. ((c[Bb >> 2] | 0) + 1 + (0 - (c[Hb >> 2] | 0))) | 0
  84069. ) | 0;
  84070. if (
  84071. (Kb &
  84072. ((tb | 0) ==
  84073. (Rk(((c[Bb >> 2] | 0) + 1) | 0) | 0))) |
  84074. 0
  84075. ) {
  84076. c[Lb >> 2] =
  84077. (cn(
  84078. ((c[Bb >> 2] | 0) + 1 + 4) | 0,
  84079. ((c[Bb >> 2] | 0) +
  84080. 1 +
  84081. 4 +
  84082. (0 - (c[Hb >> 2] | 0))) |
  84083. 0,
  84084. c[Fb >> 2] | 0
  84085. ) |
  84086. 0) +
  84087. 4;
  84088. c[Bb >> 2] = (c[Bb >> 2] | 0) + 1;
  84089. $m(
  84090. c[pb >> 2] | 0,
  84091. ((c[Bb >> 2] | 0) - (c[Cb >> 2] | 0)) | 0,
  84092. c[Cb >> 2] | 0,
  84093. 0,
  84094. ((c[Lb >> 2] | 0) - 3) | 0
  84095. );
  84096. } else {
  84097. n: do {
  84098. if (
  84099. (c[Pb >> 2] | 0) >>> 0 > (c[Db >> 2] | 0) >>> 0
  84100. ? ((tb = Mk(c[Rb >> 2] | 0) | 0),
  84101. (Kb = y),
  84102. (Ab = Mk(c[Bb >> 2] | 0) | 0),
  84103. ((tb | 0) == (Ab | 0)) &
  84104. ((Kb | 0) == (y | 0)))
  84105. : 0
  84106. ) {
  84107. c[Lb >> 2] =
  84108. (cn(
  84109. ((c[Bb >> 2] | 0) + 8) | 0,
  84110. ((c[Rb >> 2] | 0) + 8) | 0,
  84111. c[Fb >> 2] | 0
  84112. ) |
  84113. 0) +
  84114. 8;
  84115. c[Tb >> 2] = (c[Bb >> 2] | 0) - (c[Rb >> 2] | 0);
  84116. while (1) {
  84117. if (
  84118. !(
  84119. ((c[Bb >> 2] | 0) >>> 0 >
  84120. (c[Cb >> 2] | 0) >>> 0
  84121. ? (c[Rb >> 2] | 0) >>> 0 >
  84122. (c[Eb >> 2] | 0) >>> 0
  84123. : 0) | 0
  84124. )
  84125. )
  84126. break n;
  84127. if (
  84128. (d[((c[Bb >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  84129. (d[((c[Rb >> 2] | 0) + -1) >> 0] | 0 | 0)
  84130. )
  84131. break n;
  84132. c[Bb >> 2] = (c[Bb >> 2] | 0) + -1;
  84133. c[Rb >> 2] = (c[Rb >> 2] | 0) + -1;
  84134. c[Lb >> 2] = (c[Lb >> 2] | 0) + 1;
  84135. }
  84136. } else fc = 16;
  84137. } while (0);
  84138. o: do {
  84139. if ((fc | 0) == 16) {
  84140. fc = 0;
  84141. if (
  84142. (c[Qb >> 2] | 0) >>> 0 > (c[Db >> 2] | 0) >>> 0
  84143. ? ((Kb = Rk(c[Sb >> 2] | 0) | 0),
  84144. (Kb | 0) == (Rk(c[Bb >> 2] | 0) | 0))
  84145. : 0
  84146. ) {
  84147. c[Ub >> 2] =
  84148. Dk(
  84149. ((c[Bb >> 2] | 0) + 1) | 0,
  84150. c[wb >> 2] | 0,
  84151. 8
  84152. ) | 0;
  84153. c[Vb >> 2] =
  84154. c[
  84155. ((c[vb >> 2] | 0) + (c[Ub >> 2] << 2)) >> 2
  84156. ];
  84157. c[Wb >> 2] =
  84158. (c[zb >> 2] | 0) + (c[Vb >> 2] | 0);
  84159. c[((c[vb >> 2] | 0) + (c[Ub >> 2] << 2)) >> 2] =
  84160. (c[Ob >> 2] | 0) + 1;
  84161. if (
  84162. (c[Vb >> 2] | 0) >>> 0 >
  84163. (c[Db >> 2] | 0) >>> 0
  84164. ? ((Kb = Mk(c[Wb >> 2] | 0) | 0),
  84165. (Ab = y),
  84166. (tb = Mk(((c[Bb >> 2] | 0) + 1) | 0) | 0),
  84167. ((Kb | 0) == (tb | 0)) &
  84168. ((Ab | 0) == (y | 0)))
  84169. : 0
  84170. ) {
  84171. c[Lb >> 2] =
  84172. (cn(
  84173. ((c[Bb >> 2] | 0) + 9) | 0,
  84174. ((c[Wb >> 2] | 0) + 8) | 0,
  84175. c[Fb >> 2] | 0
  84176. ) |
  84177. 0) +
  84178. 8;
  84179. c[Bb >> 2] = (c[Bb >> 2] | 0) + 1;
  84180. c[Tb >> 2] =
  84181. (c[Bb >> 2] | 0) - (c[Wb >> 2] | 0);
  84182. while (1) {
  84183. if (
  84184. !(
  84185. ((c[Bb >> 2] | 0) >>> 0 >
  84186. (c[Cb >> 2] | 0) >>> 0
  84187. ? (c[Wb >> 2] | 0) >>> 0 >
  84188. (c[Eb >> 2] | 0) >>> 0
  84189. : 0) | 0
  84190. )
  84191. )
  84192. break o;
  84193. if (
  84194. (d[((c[Bb >> 2] | 0) + -1) >> 0] |
  84195. 0 |
  84196. 0) !=
  84197. (d[((c[Wb >> 2] | 0) + -1) >> 0] | 0 | 0)
  84198. )
  84199. break o;
  84200. c[Bb >> 2] = (c[Bb >> 2] | 0) + -1;
  84201. c[Wb >> 2] = (c[Wb >> 2] | 0) + -1;
  84202. c[Lb >> 2] = (c[Lb >> 2] | 0) + 1;
  84203. }
  84204. }
  84205. c[Lb >> 2] =
  84206. (cn(
  84207. ((c[Bb >> 2] | 0) + 4) | 0,
  84208. ((c[Sb >> 2] | 0) + 4) | 0,
  84209. c[Fb >> 2] | 0
  84210. ) |
  84211. 0) +
  84212. 4;
  84213. c[Tb >> 2] =
  84214. (c[Bb >> 2] | 0) - (c[Sb >> 2] | 0);
  84215. while (1) {
  84216. if (
  84217. !(
  84218. ((c[Bb >> 2] | 0) >>> 0 >
  84219. (c[Cb >> 2] | 0) >>> 0
  84220. ? (c[Sb >> 2] | 0) >>> 0 >
  84221. (c[Eb >> 2] | 0) >>> 0
  84222. : 0) | 0
  84223. )
  84224. )
  84225. break o;
  84226. if (
  84227. (d[((c[Bb >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  84228. (d[((c[Sb >> 2] | 0) + -1) >> 0] | 0 | 0)
  84229. )
  84230. break o;
  84231. c[Bb >> 2] = (c[Bb >> 2] | 0) + -1;
  84232. c[Sb >> 2] = (c[Sb >> 2] | 0) + -1;
  84233. c[Lb >> 2] = (c[Lb >> 2] | 0) + 1;
  84234. }
  84235. }
  84236. c[Bb >> 2] =
  84237. (c[Bb >> 2] | 0) +
  84238. ((((c[Bb >> 2] | 0) - (c[Cb >> 2] | 0)) >> 8) +
  84239. 1);
  84240. continue m;
  84241. }
  84242. } while (0);
  84243. c[Ib >> 2] = c[Hb >> 2];
  84244. c[Hb >> 2] = c[Tb >> 2];
  84245. $m(
  84246. c[pb >> 2] | 0,
  84247. ((c[Bb >> 2] | 0) - (c[Cb >> 2] | 0)) | 0,
  84248. c[Cb >> 2] | 0,
  84249. ((c[Tb >> 2] | 0) + 2) | 0,
  84250. ((c[Lb >> 2] | 0) - 3) | 0
  84251. );
  84252. }
  84253. c[Bb >> 2] = (c[Bb >> 2] | 0) + (c[Lb >> 2] | 0);
  84254. c[Cb >> 2] = c[Bb >> 2];
  84255. p: do {
  84256. if (
  84257. (c[Bb >> 2] | 0) >>> 0 <=
  84258. (c[Gb >> 2] | 0) >>> 0
  84259. ) {
  84260. Ab = ((c[Ob >> 2] | 0) + 2) | 0;
  84261. tb = c[xb >> 2] | 0;
  84262. c[
  84263. (tb +
  84264. ((Dk(
  84265. ((c[zb >> 2] | 0) + (c[Ob >> 2] | 0) + 2) | 0,
  84266. c[yb >> 2] | 0,
  84267. c[ub >> 2] | 0
  84268. ) |
  84269. 0) <<
  84270. 2)) >>
  84271. 2
  84272. ] = Ab;
  84273. tb = c[vb >> 2] | 0;
  84274. c[
  84275. (tb +
  84276. ((Dk(
  84277. ((c[zb >> 2] | 0) + (c[Ob >> 2] | 0) + 2) | 0,
  84278. c[wb >> 2] | 0,
  84279. 8
  84280. ) |
  84281. 0) <<
  84282. 2)) >>
  84283. 2
  84284. ] = Ab;
  84285. Ab = ((c[Bb >> 2] | 0) + -2 - (c[zb >> 2] | 0)) | 0;
  84286. tb = c[xb >> 2] | 0;
  84287. c[
  84288. (tb +
  84289. ((Dk(
  84290. ((c[Bb >> 2] | 0) + -2) | 0,
  84291. c[yb >> 2] | 0,
  84292. c[ub >> 2] | 0
  84293. ) |
  84294. 0) <<
  84295. 2)) >>
  84296. 2
  84297. ] = Ab;
  84298. tb = c[vb >> 2] | 0;
  84299. c[
  84300. (tb +
  84301. ((Dk(
  84302. ((c[Bb >> 2] | 0) + -2) | 0,
  84303. c[wb >> 2] | 0,
  84304. 8
  84305. ) |
  84306. 0) <<
  84307. 2)) >>
  84308. 2
  84309. ] = Ab;
  84310. while (1) {
  84311. if (
  84312. (c[Bb >> 2] | 0) >>> 0 >
  84313. (c[Gb >> 2] | 0) >>> 0
  84314. )
  84315. break p;
  84316. Ab = ((c[Ib >> 2] | 0) >>> 0 > 0) & 1;
  84317. tb = Rk(c[Bb >> 2] | 0) | 0;
  84318. if (
  84319. !(
  84320. Ab &
  84321. ((tb | 0) ==
  84322. (Rk(
  84323. ((c[Bb >> 2] | 0) +
  84324. (0 - (c[Ib >> 2] | 0))) |
  84325. 0
  84326. ) |
  84327. 0))
  84328. )
  84329. )
  84330. break p;
  84331. c[Xb >> 2] =
  84332. (cn(
  84333. ((c[Bb >> 2] | 0) + 4) | 0,
  84334. ((c[Bb >> 2] | 0) +
  84335. 4 +
  84336. (0 - (c[Ib >> 2] | 0))) |
  84337. 0,
  84338. c[Fb >> 2] | 0
  84339. ) |
  84340. 0) +
  84341. 4;
  84342. c[Yb >> 2] = c[Ib >> 2];
  84343. c[Ib >> 2] = c[Hb >> 2];
  84344. c[Hb >> 2] = c[Yb >> 2];
  84345. tb = ((c[Bb >> 2] | 0) - (c[zb >> 2] | 0)) | 0;
  84346. Ab = c[xb >> 2] | 0;
  84347. c[
  84348. (Ab +
  84349. ((Dk(
  84350. c[Bb >> 2] | 0,
  84351. c[yb >> 2] | 0,
  84352. c[ub >> 2] | 0
  84353. ) |
  84354. 0) <<
  84355. 2)) >>
  84356. 2
  84357. ] = tb;
  84358. tb = ((c[Bb >> 2] | 0) - (c[zb >> 2] | 0)) | 0;
  84359. Ab = c[vb >> 2] | 0;
  84360. c[
  84361. (Ab +
  84362. ((Dk(c[Bb >> 2] | 0, c[wb >> 2] | 0, 8) |
  84363. 0) <<
  84364. 2)) >>
  84365. 2
  84366. ] = tb;
  84367. $m(
  84368. c[pb >> 2] | 0,
  84369. 0,
  84370. c[Cb >> 2] | 0,
  84371. 0,
  84372. ((c[Xb >> 2] | 0) - 3) | 0
  84373. );
  84374. c[Bb >> 2] = (c[Bb >> 2] | 0) + (c[Xb >> 2] | 0);
  84375. c[Cb >> 2] = c[Bb >> 2];
  84376. }
  84377. }
  84378. } while (0);
  84379. }
  84380. c[c[qb >> 2] >> 2] =
  84381. c[Hb >> 2] | 0 ? c[Hb >> 2] | 0 : c[Jb >> 2] | 0;
  84382. c[((c[qb >> 2] | 0) + 4) >> 2] =
  84383. c[Ib >> 2] | 0 ? c[Ib >> 2] | 0 : c[Jb >> 2] | 0;
  84384. c[Zb >> 2] = (c[Fb >> 2] | 0) - (c[Cb >> 2] | 0);
  84385. gc = c[Zb >> 2] | 0;
  84386. l = i;
  84387. return gc | 0;
  84388. }
  84389. }
  84390. return 0;
  84391. }
  84392. function jm(a, b, e, f, g, h) {
  84393. a = a | 0;
  84394. b = b | 0;
  84395. e = e | 0;
  84396. f = f | 0;
  84397. g = g | 0;
  84398. h = h | 0;
  84399. var i = 0,
  84400. j = 0,
  84401. k = 0,
  84402. m = 0,
  84403. n = 0,
  84404. o = 0,
  84405. p = 0,
  84406. q = 0,
  84407. r = 0,
  84408. s = 0,
  84409. t = 0,
  84410. u = 0,
  84411. v = 0,
  84412. w = 0,
  84413. x = 0,
  84414. y = 0,
  84415. z = 0,
  84416. A = 0,
  84417. B = 0,
  84418. C = 0,
  84419. D = 0,
  84420. E = 0,
  84421. F = 0,
  84422. G = 0,
  84423. H = 0,
  84424. I = 0,
  84425. J = 0,
  84426. K = 0,
  84427. L = 0,
  84428. M = 0,
  84429. N = 0,
  84430. O = 0,
  84431. P = 0,
  84432. Q = 0,
  84433. R = 0,
  84434. S = 0,
  84435. T = 0,
  84436. U = 0,
  84437. V = 0,
  84438. W = 0,
  84439. X = 0,
  84440. Y = 0,
  84441. Z = 0,
  84442. _ = 0,
  84443. $ = 0,
  84444. aa = 0,
  84445. ba = 0,
  84446. ca = 0,
  84447. da = 0,
  84448. ea = 0,
  84449. fa = 0,
  84450. ga = 0,
  84451. ha = 0,
  84452. ia = 0,
  84453. ja = 0,
  84454. ka = 0,
  84455. la = 0,
  84456. ma = 0,
  84457. na = 0,
  84458. oa = 0,
  84459. pa = 0,
  84460. qa = 0,
  84461. ra = 0,
  84462. sa = 0,
  84463. ta = 0,
  84464. ua = 0,
  84465. va = 0,
  84466. wa = 0,
  84467. xa = 0,
  84468. ya = 0,
  84469. za = 0,
  84470. Aa = 0,
  84471. Ba = 0,
  84472. Ca = 0,
  84473. Da = 0,
  84474. Ea = 0,
  84475. Fa = 0,
  84476. Ga = 0,
  84477. Ha = 0,
  84478. Ia = 0,
  84479. Ja = 0,
  84480. Ka = 0,
  84481. La = 0,
  84482. Ma = 0,
  84483. Na = 0,
  84484. Oa = 0,
  84485. Pa = 0,
  84486. Qa = 0,
  84487. Ra = 0,
  84488. Sa = 0,
  84489. Ta = 0,
  84490. Ua = 0,
  84491. Va = 0,
  84492. Wa = 0,
  84493. Xa = 0,
  84494. Ya = 0,
  84495. Za = 0,
  84496. _a = 0,
  84497. $a = 0,
  84498. ab = 0,
  84499. bb = 0,
  84500. cb = 0,
  84501. db = 0,
  84502. eb = 0,
  84503. fb = 0,
  84504. gb = 0,
  84505. hb = 0,
  84506. ib = 0,
  84507. jb = 0,
  84508. kb = 0,
  84509. lb = 0,
  84510. mb = 0,
  84511. nb = 0,
  84512. ob = 0,
  84513. pb = 0,
  84514. qb = 0,
  84515. rb = 0,
  84516. sb = 0,
  84517. tb = 0,
  84518. ub = 0,
  84519. vb = 0,
  84520. wb = 0,
  84521. xb = 0,
  84522. yb = 0,
  84523. zb = 0,
  84524. Ab = 0,
  84525. Bb = 0,
  84526. Cb = 0,
  84527. Db = 0,
  84528. Eb = 0,
  84529. Fb = 0,
  84530. Gb = 0,
  84531. Hb = 0,
  84532. Ib = 0,
  84533. Jb = 0,
  84534. Kb = 0,
  84535. Lb = 0,
  84536. Mb = 0,
  84537. Nb = 0,
  84538. Ob = 0,
  84539. Pb = 0,
  84540. Qb = 0,
  84541. Rb = 0,
  84542. Sb = 0,
  84543. Tb = 0,
  84544. Ub = 0,
  84545. Vb = 0,
  84546. Wb = 0,
  84547. Xb = 0,
  84548. Yb = 0,
  84549. Zb = 0,
  84550. _b = 0,
  84551. $b = 0,
  84552. ac = 0,
  84553. bc = 0,
  84554. cc = 0,
  84555. dc = 0,
  84556. ec = 0,
  84557. fc = 0,
  84558. gc = 0,
  84559. hc = 0,
  84560. ic = 0,
  84561. jc = 0,
  84562. kc = 0,
  84563. lc = 0,
  84564. mc = 0,
  84565. nc = 0,
  84566. oc = 0,
  84567. pc = 0,
  84568. qc = 0,
  84569. rc = 0,
  84570. sc = 0,
  84571. tc = 0,
  84572. uc = 0,
  84573. vc = 0,
  84574. wc = 0,
  84575. xc = 0,
  84576. yc = 0,
  84577. zc = 0,
  84578. Ac = 0,
  84579. Bc = 0,
  84580. Cc = 0,
  84581. Dc = 0,
  84582. Ec = 0,
  84583. Fc = 0,
  84584. Gc = 0,
  84585. Hc = 0,
  84586. Ic = 0,
  84587. Jc = 0,
  84588. Kc = 0,
  84589. Lc = 0,
  84590. Mc = 0,
  84591. Nc = 0,
  84592. Oc = 0,
  84593. Pc = 0,
  84594. Qc = 0,
  84595. Rc = 0,
  84596. Sc = 0,
  84597. Tc = 0,
  84598. Uc = 0,
  84599. Vc = 0,
  84600. Wc = 0,
  84601. Xc = 0,
  84602. Yc = 0,
  84603. Zc = 0,
  84604. _c = 0,
  84605. $c = 0,
  84606. ad = 0,
  84607. bd = 0,
  84608. cd = 0,
  84609. dd = 0,
  84610. ed = 0,
  84611. fd = 0,
  84612. gd = 0,
  84613. hd = 0,
  84614. id = 0,
  84615. jd = 0,
  84616. kd = 0,
  84617. ld = 0,
  84618. md = 0,
  84619. nd = 0,
  84620. od = 0,
  84621. pd = 0,
  84622. qd = 0,
  84623. rd = 0,
  84624. sd = 0,
  84625. td = 0,
  84626. ud = 0,
  84627. vd = 0,
  84628. wd = 0,
  84629. xd = 0,
  84630. yd = 0,
  84631. zd = 0,
  84632. Ad = 0,
  84633. Bd = 0,
  84634. Cd = 0,
  84635. Dd = 0,
  84636. Ed = 0,
  84637. Fd = 0,
  84638. Gd = 0,
  84639. Hd = 0,
  84640. Id = 0,
  84641. Jd = 0,
  84642. Kd = 0,
  84643. Ld = 0,
  84644. Md = 0,
  84645. Nd = 0,
  84646. Od = 0,
  84647. Pd = 0,
  84648. Qd = 0,
  84649. Rd = 0,
  84650. Sd = 0,
  84651. Td = 0,
  84652. Ud = 0,
  84653. Vd = 0,
  84654. Wd = 0,
  84655. Xd = 0,
  84656. Yd = 0,
  84657. Zd = 0,
  84658. _d = 0,
  84659. $d = 0,
  84660. ae = 0,
  84661. be = 0,
  84662. ce = 0,
  84663. de = 0,
  84664. ee = 0,
  84665. fe = 0,
  84666. ge = 0,
  84667. he = 0,
  84668. ie = 0,
  84669. je = 0,
  84670. ke = 0,
  84671. le = 0,
  84672. me = 0,
  84673. ne = 0,
  84674. oe = 0,
  84675. pe = 0,
  84676. qe = 0,
  84677. re = 0,
  84678. se = 0,
  84679. te = 0,
  84680. ue = 0,
  84681. ve = 0,
  84682. we = 0,
  84683. xe = 0,
  84684. ye = 0,
  84685. ze = 0,
  84686. Ae = 0,
  84687. Be = 0,
  84688. Ce = 0,
  84689. De = 0,
  84690. Ee = 0,
  84691. Fe = 0,
  84692. Ge = 0,
  84693. He = 0,
  84694. Ie = 0,
  84695. Je = 0,
  84696. Ke = 0,
  84697. Le = 0,
  84698. Me = 0,
  84699. Ne = 0,
  84700. Oe = 0,
  84701. Pe = 0,
  84702. Qe = 0,
  84703. Re = 0,
  84704. Se = 0,
  84705. Te = 0,
  84706. Ue = 0,
  84707. Ve = 0,
  84708. We = 0,
  84709. Xe = 0,
  84710. Ye = 0,
  84711. Ze = 0,
  84712. _e = 0,
  84713. $e = 0,
  84714. af = 0,
  84715. bf = 0,
  84716. cf = 0,
  84717. df = 0,
  84718. ef = 0,
  84719. ff = 0,
  84720. gf = 0,
  84721. hf = 0,
  84722. jf = 0,
  84723. kf = 0,
  84724. lf = 0,
  84725. mf = 0,
  84726. nf = 0,
  84727. of = 0,
  84728. pf = 0,
  84729. qf = 0,
  84730. rf = 0,
  84731. sf = 0,
  84732. tf = 0,
  84733. uf = 0,
  84734. vf = 0,
  84735. wf = 0,
  84736. xf = 0,
  84737. yf = 0,
  84738. zf = 0,
  84739. Af = 0,
  84740. Bf = 0,
  84741. Cf = 0,
  84742. Df = 0,
  84743. Ef = 0,
  84744. Ff = 0,
  84745. Gf = 0,
  84746. Hf = 0,
  84747. If = 0,
  84748. Jf = 0,
  84749. Kf = 0,
  84750. Lf = 0,
  84751. Mf = 0,
  84752. Nf = 0,
  84753. Of = 0,
  84754. Pf = 0,
  84755. Qf = 0,
  84756. Rf = 0,
  84757. Sf = 0,
  84758. Tf = 0,
  84759. Uf = 0,
  84760. Vf = 0,
  84761. Wf = 0,
  84762. Xf = 0,
  84763. Yf = 0,
  84764. Zf = 0,
  84765. _f = 0,
  84766. $f = 0,
  84767. ag = 0,
  84768. bg = 0,
  84769. cg = 0,
  84770. dg = 0,
  84771. eg = 0,
  84772. fg = 0,
  84773. gg = 0,
  84774. hg = 0,
  84775. ig = 0,
  84776. jg = 0,
  84777. kg = 0,
  84778. lg = 0,
  84779. mg = 0,
  84780. ng = 0,
  84781. og = 0,
  84782. pg = 0,
  84783. qg = 0,
  84784. rg = 0,
  84785. sg = 0,
  84786. tg = 0,
  84787. ug = 0,
  84788. vg = 0,
  84789. wg = 0,
  84790. xg = 0,
  84791. yg = 0,
  84792. zg = 0,
  84793. Ag = 0,
  84794. Bg = 0,
  84795. Cg = 0,
  84796. Dg = 0,
  84797. Eg = 0,
  84798. Fg = 0,
  84799. Gg = 0,
  84800. Hg = 0,
  84801. Ig = 0,
  84802. Jg = 0,
  84803. Kg = 0,
  84804. Lg = 0,
  84805. Mg = 0,
  84806. Ng = 0,
  84807. Og = 0,
  84808. Pg = 0,
  84809. Qg = 0,
  84810. Rg = 0,
  84811. Sg = 0,
  84812. Tg = 0,
  84813. Ug = 0,
  84814. Vg = 0,
  84815. Wg = 0,
  84816. Xg = 0,
  84817. Yg = 0,
  84818. Zg = 0,
  84819. _g = 0,
  84820. $g = 0,
  84821. ah = 0,
  84822. bh = 0,
  84823. ch = 0,
  84824. dh = 0,
  84825. eh = 0,
  84826. fh = 0,
  84827. gh = 0,
  84828. hh = 0,
  84829. ih = 0,
  84830. jh = 0,
  84831. kh = 0,
  84832. lh = 0,
  84833. mh = 0,
  84834. nh = 0,
  84835. oh = 0,
  84836. ph = 0,
  84837. qh = 0,
  84838. rh = 0,
  84839. sh = 0,
  84840. th = 0,
  84841. uh = 0,
  84842. vh = 0,
  84843. wh = 0,
  84844. xh = 0,
  84845. yh = 0,
  84846. zh = 0,
  84847. Ah = 0,
  84848. Bh = 0,
  84849. Ch = 0,
  84850. Dh = 0,
  84851. Eh = 0,
  84852. Fh = 0,
  84853. Gh = 0,
  84854. Hh = 0,
  84855. Ih = 0,
  84856. Jh = 0,
  84857. Kh = 0,
  84858. Lh = 0,
  84859. Mh = 0,
  84860. Nh = 0,
  84861. Oh = 0,
  84862. Ph = 0,
  84863. Qh = 0,
  84864. Rh = 0,
  84865. Sh = 0,
  84866. Th = 0,
  84867. Uh = 0,
  84868. Vh = 0,
  84869. Wh = 0,
  84870. Xh = 0,
  84871. Yh = 0,
  84872. Zh = 0,
  84873. _h = 0,
  84874. $h = 0,
  84875. ai = 0,
  84876. bi = 0,
  84877. ci = 0,
  84878. di = 0,
  84879. ei = 0,
  84880. fi = 0,
  84881. gi = 0,
  84882. hi = 0,
  84883. ii = 0,
  84884. ji = 0,
  84885. ki = 0,
  84886. li = 0,
  84887. mi = 0,
  84888. ni = 0,
  84889. oi = 0,
  84890. pi = 0,
  84891. qi = 0,
  84892. ri = 0,
  84893. si = 0,
  84894. ti = 0,
  84895. ui = 0,
  84896. vi = 0,
  84897. wi = 0,
  84898. xi = 0,
  84899. yi = 0,
  84900. zi = 0,
  84901. Ai = 0,
  84902. Bi = 0,
  84903. Ci = 0,
  84904. Di = 0,
  84905. Ei = 0,
  84906. Fi = 0,
  84907. Gi = 0,
  84908. Hi = 0,
  84909. Ii = 0,
  84910. Ji = 0,
  84911. Ki = 0,
  84912. Li = 0,
  84913. Mi = 0,
  84914. Ni = 0,
  84915. Oi = 0,
  84916. Pi = 0,
  84917. Qi = 0,
  84918. Ri = 0,
  84919. Si = 0,
  84920. Ti = 0,
  84921. Ui = 0,
  84922. Vi = 0,
  84923. Wi = 0,
  84924. Xi = 0,
  84925. Yi = 0,
  84926. Zi = 0,
  84927. _i = 0,
  84928. $i = 0,
  84929. aj = 0,
  84930. bj = 0,
  84931. cj = 0,
  84932. dj = 0,
  84933. ej = 0,
  84934. fj = 0,
  84935. gj = 0,
  84936. hj = 0,
  84937. ij = 0,
  84938. jj = 0,
  84939. kj = 0,
  84940. lj = 0,
  84941. mj = 0,
  84942. nj = 0,
  84943. oj = 0,
  84944. pj = 0,
  84945. qj = 0,
  84946. rj = 0,
  84947. sj = 0,
  84948. tj = 0,
  84949. uj = 0,
  84950. vj = 0,
  84951. wj = 0,
  84952. xj = 0,
  84953. yj = 0,
  84954. zj = 0,
  84955. Aj = 0,
  84956. Bj = 0,
  84957. Cj = 0,
  84958. Dj = 0,
  84959. Ej = 0;
  84960. i = l;
  84961. l = (l + 2144) | 0;
  84962. j = (i + 2136) | 0;
  84963. k = (i + 2132) | 0;
  84964. m = (i + 2128) | 0;
  84965. n = (i + 2124) | 0;
  84966. o = (i + 2120) | 0;
  84967. p = (i + 2116) | 0;
  84968. q = (i + 2112) | 0;
  84969. r = (i + 2108) | 0;
  84970. s = (i + 2104) | 0;
  84971. t = (i + 2100) | 0;
  84972. u = (i + 2096) | 0;
  84973. v = (i + 2092) | 0;
  84974. w = (i + 2088) | 0;
  84975. x = (i + 2084) | 0;
  84976. y = (i + 2080) | 0;
  84977. z = (i + 2076) | 0;
  84978. A = (i + 2072) | 0;
  84979. B = (i + 2068) | 0;
  84980. C = (i + 2064) | 0;
  84981. D = (i + 2060) | 0;
  84982. E = (i + 2056) | 0;
  84983. F = (i + 2052) | 0;
  84984. G = (i + 2048) | 0;
  84985. H = (i + 2044) | 0;
  84986. I = (i + 2040) | 0;
  84987. J = (i + 2036) | 0;
  84988. K = (i + 2032) | 0;
  84989. L = (i + 2028) | 0;
  84990. M = (i + 2024) | 0;
  84991. N = (i + 2020) | 0;
  84992. O = (i + 2016) | 0;
  84993. P = (i + 2012) | 0;
  84994. Q = (i + 2008) | 0;
  84995. R = (i + 2004) | 0;
  84996. S = (i + 2e3) | 0;
  84997. T = (i + 1996) | 0;
  84998. U = (i + 1992) | 0;
  84999. V = (i + 1988) | 0;
  85000. W = (i + 1984) | 0;
  85001. X = (i + 1980) | 0;
  85002. Y = (i + 1976) | 0;
  85003. Z = (i + 1972) | 0;
  85004. _ = (i + 1968) | 0;
  85005. $ = (i + 1964) | 0;
  85006. aa = (i + 1960) | 0;
  85007. ba = (i + 1956) | 0;
  85008. ca = (i + 1952) | 0;
  85009. da = (i + 1948) | 0;
  85010. ea = (i + 1944) | 0;
  85011. fa = (i + 1940) | 0;
  85012. ga = (i + 1936) | 0;
  85013. ha = (i + 1932) | 0;
  85014. ia = (i + 1928) | 0;
  85015. ja = (i + 1924) | 0;
  85016. ka = (i + 1920) | 0;
  85017. la = (i + 1916) | 0;
  85018. ma = (i + 1912) | 0;
  85019. na = (i + 1908) | 0;
  85020. oa = (i + 1904) | 0;
  85021. pa = (i + 1900) | 0;
  85022. qa = (i + 1896) | 0;
  85023. ra = (i + 1892) | 0;
  85024. sa = (i + 1888) | 0;
  85025. ta = (i + 1884) | 0;
  85026. ua = (i + 1880) | 0;
  85027. va = (i + 1876) | 0;
  85028. wa = (i + 1872) | 0;
  85029. xa = (i + 1868) | 0;
  85030. ya = (i + 1864) | 0;
  85031. za = (i + 1860) | 0;
  85032. Aa = (i + 1856) | 0;
  85033. Ba = (i + 1852) | 0;
  85034. Ca = (i + 1848) | 0;
  85035. Da = (i + 1844) | 0;
  85036. Ea = (i + 1840) | 0;
  85037. Fa = (i + 1836) | 0;
  85038. Ga = (i + 1832) | 0;
  85039. Ha = (i + 1828) | 0;
  85040. Ia = (i + 1824) | 0;
  85041. Ja = (i + 1820) | 0;
  85042. Ka = (i + 1816) | 0;
  85043. La = (i + 1812) | 0;
  85044. Ma = (i + 1808) | 0;
  85045. Na = (i + 1804) | 0;
  85046. Oa = (i + 1800) | 0;
  85047. Pa = (i + 1796) | 0;
  85048. Qa = (i + 1792) | 0;
  85049. Ra = (i + 1788) | 0;
  85050. Sa = (i + 1784) | 0;
  85051. Ta = (i + 1780) | 0;
  85052. Ua = (i + 1776) | 0;
  85053. Va = (i + 1772) | 0;
  85054. Wa = (i + 1768) | 0;
  85055. Xa = (i + 1764) | 0;
  85056. Ya = (i + 1760) | 0;
  85057. Za = (i + 1756) | 0;
  85058. _a = (i + 1752) | 0;
  85059. $a = (i + 1748) | 0;
  85060. ab = (i + 1744) | 0;
  85061. bb = (i + 1740) | 0;
  85062. cb = (i + 1736) | 0;
  85063. db = (i + 1732) | 0;
  85064. eb = (i + 1728) | 0;
  85065. fb = (i + 1724) | 0;
  85066. gb = (i + 1720) | 0;
  85067. hb = (i + 1716) | 0;
  85068. ib = (i + 1712) | 0;
  85069. jb = (i + 1708) | 0;
  85070. kb = (i + 1704) | 0;
  85071. lb = (i + 1700) | 0;
  85072. mb = (i + 1696) | 0;
  85073. nb = (i + 1692) | 0;
  85074. ob = (i + 1688) | 0;
  85075. pb = (i + 1684) | 0;
  85076. qb = (i + 1680) | 0;
  85077. rb = (i + 1676) | 0;
  85078. sb = (i + 1672) | 0;
  85079. tb = (i + 1668) | 0;
  85080. ub = (i + 1664) | 0;
  85081. vb = (i + 1660) | 0;
  85082. wb = (i + 1656) | 0;
  85083. xb = (i + 1652) | 0;
  85084. yb = (i + 1648) | 0;
  85085. zb = (i + 1644) | 0;
  85086. Ab = (i + 1640) | 0;
  85087. Bb = (i + 1636) | 0;
  85088. Cb = (i + 1632) | 0;
  85089. Db = (i + 1628) | 0;
  85090. Eb = (i + 1624) | 0;
  85091. Fb = (i + 1620) | 0;
  85092. Gb = (i + 1616) | 0;
  85093. Hb = (i + 1612) | 0;
  85094. Ib = (i + 1608) | 0;
  85095. Jb = (i + 1604) | 0;
  85096. Kb = (i + 1600) | 0;
  85097. Lb = (i + 1596) | 0;
  85098. Mb = (i + 1592) | 0;
  85099. Nb = (i + 1588) | 0;
  85100. Ob = (i + 1584) | 0;
  85101. Pb = (i + 1580) | 0;
  85102. Qb = (i + 1576) | 0;
  85103. Rb = (i + 1572) | 0;
  85104. Sb = (i + 1568) | 0;
  85105. Tb = (i + 1564) | 0;
  85106. Ub = (i + 1560) | 0;
  85107. Vb = (i + 1556) | 0;
  85108. Wb = (i + 1552) | 0;
  85109. Xb = (i + 1548) | 0;
  85110. Yb = (i + 1544) | 0;
  85111. Zb = (i + 1540) | 0;
  85112. _b = (i + 1536) | 0;
  85113. $b = (i + 1532) | 0;
  85114. ac = (i + 1528) | 0;
  85115. bc = (i + 1524) | 0;
  85116. cc = (i + 1520) | 0;
  85117. dc = (i + 1516) | 0;
  85118. ec = (i + 1512) | 0;
  85119. fc = (i + 1508) | 0;
  85120. gc = (i + 1504) | 0;
  85121. hc = (i + 1500) | 0;
  85122. ic = (i + 1496) | 0;
  85123. jc = (i + 1492) | 0;
  85124. kc = (i + 1488) | 0;
  85125. lc = (i + 1484) | 0;
  85126. mc = (i + 1480) | 0;
  85127. nc = (i + 1476) | 0;
  85128. oc = (i + 1472) | 0;
  85129. pc = (i + 1468) | 0;
  85130. qc = (i + 1464) | 0;
  85131. rc = (i + 1460) | 0;
  85132. sc = (i + 1456) | 0;
  85133. tc = (i + 1452) | 0;
  85134. uc = (i + 1448) | 0;
  85135. vc = (i + 1444) | 0;
  85136. wc = (i + 1440) | 0;
  85137. xc = (i + 1436) | 0;
  85138. yc = (i + 1432) | 0;
  85139. zc = (i + 1428) | 0;
  85140. Ac = (i + 1424) | 0;
  85141. Bc = (i + 1420) | 0;
  85142. Cc = (i + 1416) | 0;
  85143. Dc = (i + 1412) | 0;
  85144. Ec = (i + 1408) | 0;
  85145. Fc = (i + 1404) | 0;
  85146. Gc = (i + 1400) | 0;
  85147. Hc = (i + 1396) | 0;
  85148. Ic = (i + 1392) | 0;
  85149. Jc = (i + 1388) | 0;
  85150. Kc = (i + 1384) | 0;
  85151. Lc = (i + 1380) | 0;
  85152. Mc = (i + 1376) | 0;
  85153. Nc = (i + 1372) | 0;
  85154. Oc = (i + 1368) | 0;
  85155. Pc = (i + 1364) | 0;
  85156. Qc = (i + 1360) | 0;
  85157. Rc = (i + 1356) | 0;
  85158. Sc = (i + 1352) | 0;
  85159. Tc = (i + 1348) | 0;
  85160. Uc = (i + 1344) | 0;
  85161. Vc = (i + 1340) | 0;
  85162. Wc = (i + 1336) | 0;
  85163. Xc = (i + 1332) | 0;
  85164. Yc = (i + 1328) | 0;
  85165. Zc = (i + 1324) | 0;
  85166. _c = (i + 1320) | 0;
  85167. $c = (i + 1316) | 0;
  85168. ad = (i + 1312) | 0;
  85169. bd = (i + 1308) | 0;
  85170. cd = (i + 1304) | 0;
  85171. dd = (i + 1300) | 0;
  85172. ed = (i + 1296) | 0;
  85173. fd = (i + 1292) | 0;
  85174. gd = (i + 1288) | 0;
  85175. hd = (i + 1284) | 0;
  85176. id = (i + 1280) | 0;
  85177. jd = (i + 1276) | 0;
  85178. kd = (i + 1272) | 0;
  85179. ld = (i + 1268) | 0;
  85180. md = (i + 1264) | 0;
  85181. nd = (i + 1260) | 0;
  85182. od = (i + 1256) | 0;
  85183. pd = (i + 1252) | 0;
  85184. qd = (i + 1248) | 0;
  85185. rd = (i + 1244) | 0;
  85186. sd = (i + 1240) | 0;
  85187. td = (i + 1236) | 0;
  85188. ud = (i + 1232) | 0;
  85189. vd = (i + 1228) | 0;
  85190. wd = (i + 1224) | 0;
  85191. xd = (i + 1220) | 0;
  85192. yd = (i + 1216) | 0;
  85193. zd = (i + 1212) | 0;
  85194. Ad = (i + 1208) | 0;
  85195. Bd = (i + 1204) | 0;
  85196. Cd = (i + 1200) | 0;
  85197. Dd = (i + 1196) | 0;
  85198. Ed = (i + 1192) | 0;
  85199. Fd = (i + 1188) | 0;
  85200. Gd = (i + 1184) | 0;
  85201. Hd = (i + 1180) | 0;
  85202. Id = (i + 1176) | 0;
  85203. Jd = (i + 1172) | 0;
  85204. Kd = (i + 1168) | 0;
  85205. Ld = (i + 1164) | 0;
  85206. Md = (i + 1160) | 0;
  85207. Nd = (i + 1156) | 0;
  85208. Od = (i + 1152) | 0;
  85209. Pd = (i + 1148) | 0;
  85210. Qd = (i + 1144) | 0;
  85211. Rd = (i + 1140) | 0;
  85212. Sd = (i + 1136) | 0;
  85213. Td = (i + 1132) | 0;
  85214. Ud = (i + 1128) | 0;
  85215. Vd = (i + 1124) | 0;
  85216. Wd = (i + 1120) | 0;
  85217. Xd = (i + 1116) | 0;
  85218. Yd = (i + 1112) | 0;
  85219. Zd = (i + 1108) | 0;
  85220. _d = (i + 1104) | 0;
  85221. $d = (i + 1100) | 0;
  85222. ae = (i + 1096) | 0;
  85223. be = (i + 1092) | 0;
  85224. ce = (i + 1088) | 0;
  85225. de = (i + 1084) | 0;
  85226. ee = (i + 1080) | 0;
  85227. fe = (i + 1076) | 0;
  85228. ge = (i + 1072) | 0;
  85229. he = (i + 1068) | 0;
  85230. ie = (i + 1064) | 0;
  85231. je = (i + 1060) | 0;
  85232. ke = (i + 1056) | 0;
  85233. le = (i + 1052) | 0;
  85234. me = (i + 1048) | 0;
  85235. ne = (i + 1044) | 0;
  85236. oe = (i + 1040) | 0;
  85237. pe = (i + 1036) | 0;
  85238. qe = (i + 1032) | 0;
  85239. re = (i + 1028) | 0;
  85240. se = (i + 1024) | 0;
  85241. te = (i + 1020) | 0;
  85242. ue = (i + 1016) | 0;
  85243. ve = (i + 1012) | 0;
  85244. we = (i + 1008) | 0;
  85245. xe = (i + 1004) | 0;
  85246. ye = (i + 1e3) | 0;
  85247. ze = (i + 996) | 0;
  85248. Ae = (i + 992) | 0;
  85249. Be = (i + 988) | 0;
  85250. Ce = (i + 984) | 0;
  85251. De = (i + 980) | 0;
  85252. Ee = (i + 976) | 0;
  85253. Fe = (i + 972) | 0;
  85254. Ge = (i + 968) | 0;
  85255. He = (i + 964) | 0;
  85256. Ie = (i + 960) | 0;
  85257. Je = (i + 956) | 0;
  85258. Ke = (i + 952) | 0;
  85259. Le = (i + 948) | 0;
  85260. Me = (i + 944) | 0;
  85261. Ne = (i + 940) | 0;
  85262. Oe = (i + 936) | 0;
  85263. Pe = (i + 932) | 0;
  85264. Qe = (i + 928) | 0;
  85265. Re = (i + 924) | 0;
  85266. Se = (i + 920) | 0;
  85267. Te = (i + 916) | 0;
  85268. Ue = (i + 912) | 0;
  85269. Ve = (i + 908) | 0;
  85270. We = (i + 904) | 0;
  85271. Xe = (i + 900) | 0;
  85272. Ye = (i + 896) | 0;
  85273. Ze = (i + 892) | 0;
  85274. _e = (i + 888) | 0;
  85275. $e = (i + 884) | 0;
  85276. af = (i + 880) | 0;
  85277. bf = (i + 876) | 0;
  85278. cf = (i + 872) | 0;
  85279. df = (i + 868) | 0;
  85280. ef = (i + 864) | 0;
  85281. ff = (i + 860) | 0;
  85282. gf = (i + 856) | 0;
  85283. hf = (i + 852) | 0;
  85284. jf = (i + 848) | 0;
  85285. kf = (i + 844) | 0;
  85286. lf = (i + 840) | 0;
  85287. mf = (i + 836) | 0;
  85288. nf = (i + 832) | 0;
  85289. of = (i + 828) | 0;
  85290. pf = (i + 824) | 0;
  85291. qf = (i + 820) | 0;
  85292. rf = (i + 816) | 0;
  85293. sf = (i + 812) | 0;
  85294. tf = (i + 808) | 0;
  85295. uf = (i + 804) | 0;
  85296. vf = (i + 800) | 0;
  85297. wf = (i + 796) | 0;
  85298. xf = (i + 792) | 0;
  85299. yf = (i + 788) | 0;
  85300. zf = (i + 784) | 0;
  85301. Af = (i + 780) | 0;
  85302. Bf = (i + 776) | 0;
  85303. Cf = (i + 772) | 0;
  85304. Df = (i + 768) | 0;
  85305. Ef = (i + 764) | 0;
  85306. Ff = (i + 760) | 0;
  85307. Gf = (i + 756) | 0;
  85308. Hf = (i + 752) | 0;
  85309. If = (i + 748) | 0;
  85310. Jf = (i + 744) | 0;
  85311. Kf = (i + 740) | 0;
  85312. Lf = (i + 736) | 0;
  85313. Mf = (i + 732) | 0;
  85314. Nf = (i + 728) | 0;
  85315. Of = (i + 724) | 0;
  85316. Pf = (i + 720) | 0;
  85317. Qf = (i + 716) | 0;
  85318. Rf = (i + 712) | 0;
  85319. Sf = (i + 708) | 0;
  85320. Tf = (i + 704) | 0;
  85321. Uf = (i + 700) | 0;
  85322. Vf = (i + 696) | 0;
  85323. Wf = (i + 692) | 0;
  85324. Xf = (i + 688) | 0;
  85325. Yf = (i + 684) | 0;
  85326. Zf = (i + 680) | 0;
  85327. _f = (i + 676) | 0;
  85328. $f = (i + 672) | 0;
  85329. ag = (i + 668) | 0;
  85330. bg = (i + 664) | 0;
  85331. cg = (i + 660) | 0;
  85332. dg = (i + 656) | 0;
  85333. eg = (i + 652) | 0;
  85334. fg = (i + 648) | 0;
  85335. gg = (i + 644) | 0;
  85336. hg = (i + 640) | 0;
  85337. ig = (i + 636) | 0;
  85338. jg = (i + 632) | 0;
  85339. kg = (i + 628) | 0;
  85340. lg = (i + 624) | 0;
  85341. mg = (i + 620) | 0;
  85342. ng = (i + 616) | 0;
  85343. og = (i + 612) | 0;
  85344. pg = (i + 608) | 0;
  85345. qg = (i + 604) | 0;
  85346. rg = (i + 600) | 0;
  85347. sg = (i + 596) | 0;
  85348. tg = (i + 592) | 0;
  85349. ug = (i + 588) | 0;
  85350. vg = (i + 584) | 0;
  85351. wg = (i + 580) | 0;
  85352. xg = (i + 576) | 0;
  85353. yg = (i + 572) | 0;
  85354. zg = (i + 568) | 0;
  85355. Ag = (i + 564) | 0;
  85356. Bg = (i + 560) | 0;
  85357. Cg = (i + 556) | 0;
  85358. Dg = (i + 552) | 0;
  85359. Eg = (i + 548) | 0;
  85360. Fg = (i + 544) | 0;
  85361. Gg = (i + 540) | 0;
  85362. Hg = (i + 536) | 0;
  85363. Ig = (i + 532) | 0;
  85364. Jg = (i + 528) | 0;
  85365. Kg = (i + 524) | 0;
  85366. Lg = (i + 520) | 0;
  85367. Mg = (i + 516) | 0;
  85368. Ng = (i + 512) | 0;
  85369. Og = (i + 508) | 0;
  85370. Pg = (i + 504) | 0;
  85371. Qg = (i + 500) | 0;
  85372. Rg = (i + 496) | 0;
  85373. Sg = (i + 492) | 0;
  85374. Tg = (i + 488) | 0;
  85375. Ug = (i + 484) | 0;
  85376. Vg = (i + 480) | 0;
  85377. Wg = (i + 476) | 0;
  85378. Xg = (i + 472) | 0;
  85379. Yg = (i + 468) | 0;
  85380. Zg = (i + 464) | 0;
  85381. _g = (i + 460) | 0;
  85382. $g = (i + 456) | 0;
  85383. ah = (i + 452) | 0;
  85384. bh = (i + 448) | 0;
  85385. ch = (i + 444) | 0;
  85386. dh = (i + 440) | 0;
  85387. eh = (i + 436) | 0;
  85388. fh = (i + 432) | 0;
  85389. gh = (i + 428) | 0;
  85390. hh = (i + 424) | 0;
  85391. ih = (i + 420) | 0;
  85392. jh = (i + 416) | 0;
  85393. kh = (i + 412) | 0;
  85394. lh = (i + 408) | 0;
  85395. mh = (i + 404) | 0;
  85396. nh = (i + 400) | 0;
  85397. oh = (i + 396) | 0;
  85398. ph = (i + 392) | 0;
  85399. qh = (i + 388) | 0;
  85400. rh = (i + 384) | 0;
  85401. sh = (i + 380) | 0;
  85402. th = (i + 376) | 0;
  85403. uh = (i + 372) | 0;
  85404. vh = (i + 368) | 0;
  85405. wh = (i + 364) | 0;
  85406. xh = (i + 360) | 0;
  85407. yh = (i + 356) | 0;
  85408. zh = (i + 352) | 0;
  85409. Ah = (i + 348) | 0;
  85410. Bh = (i + 344) | 0;
  85411. Ch = (i + 340) | 0;
  85412. Dh = (i + 336) | 0;
  85413. Eh = (i + 332) | 0;
  85414. Fh = (i + 328) | 0;
  85415. Gh = (i + 324) | 0;
  85416. Hh = (i + 320) | 0;
  85417. Ih = (i + 316) | 0;
  85418. Jh = (i + 312) | 0;
  85419. Kh = (i + 308) | 0;
  85420. Lh = (i + 304) | 0;
  85421. Mh = (i + 300) | 0;
  85422. Nh = (i + 296) | 0;
  85423. Oh = (i + 292) | 0;
  85424. Ph = (i + 288) | 0;
  85425. Qh = (i + 284) | 0;
  85426. Rh = (i + 280) | 0;
  85427. Sh = (i + 276) | 0;
  85428. Th = (i + 272) | 0;
  85429. Uh = (i + 268) | 0;
  85430. Vh = (i + 264) | 0;
  85431. Wh = (i + 260) | 0;
  85432. Xh = (i + 256) | 0;
  85433. Yh = (i + 252) | 0;
  85434. Zh = (i + 248) | 0;
  85435. _h = (i + 244) | 0;
  85436. $h = (i + 240) | 0;
  85437. ai = (i + 236) | 0;
  85438. bi = (i + 232) | 0;
  85439. ci = (i + 228) | 0;
  85440. di = (i + 216) | 0;
  85441. ei = (i + 212) | 0;
  85442. fi = (i + 208) | 0;
  85443. gi = (i + 204) | 0;
  85444. hi = (i + 200) | 0;
  85445. ii = (i + 196) | 0;
  85446. ji = (i + 192) | 0;
  85447. ki = (i + 188) | 0;
  85448. li = (i + 184) | 0;
  85449. mi = (i + 180) | 0;
  85450. ni = (i + 176) | 0;
  85451. oi = (i + 172) | 0;
  85452. pi = (i + 168) | 0;
  85453. qi = (i + 164) | 0;
  85454. ri = (i + 160) | 0;
  85455. si = (i + 148) | 0;
  85456. ti = (i + 144) | 0;
  85457. ui = (i + 140) | 0;
  85458. vi = (i + 136) | 0;
  85459. wi = (i + 132) | 0;
  85460. xi = (i + 128) | 0;
  85461. yi = (i + 124) | 0;
  85462. zi = (i + 120) | 0;
  85463. Ai = (i + 116) | 0;
  85464. Bi = (i + 112) | 0;
  85465. Ci = (i + 108) | 0;
  85466. Di = (i + 104) | 0;
  85467. Ei = (i + 100) | 0;
  85468. Fi = (i + 88) | 0;
  85469. Gi = (i + 84) | 0;
  85470. Hi = (i + 80) | 0;
  85471. Ii = (i + 76) | 0;
  85472. Ji = (i + 72) | 0;
  85473. Ki = (i + 68) | 0;
  85474. Li = (i + 64) | 0;
  85475. Mi = (i + 60) | 0;
  85476. Ni = (i + 56) | 0;
  85477. Oi = (i + 52) | 0;
  85478. Pi = (i + 48) | 0;
  85479. Qi = (i + 44) | 0;
  85480. Ri = (i + 40) | 0;
  85481. Si = (i + 36) | 0;
  85482. Ti = (i + 32) | 0;
  85483. Ui = (i + 28) | 0;
  85484. Vi = (i + 24) | 0;
  85485. Wi = (i + 20) | 0;
  85486. Xi = (i + 16) | 0;
  85487. Yi = (i + 12) | 0;
  85488. Zi = (i + 8) | 0;
  85489. _i = (i + 4) | 0;
  85490. $i = i;
  85491. c[Wi >> 2] = a;
  85492. c[Xi >> 2] = b;
  85493. c[Yi >> 2] = e;
  85494. c[Zi >> 2] = f;
  85495. c[_i >> 2] = g;
  85496. c[$i >> 2] = h;
  85497. h = c[Xi >> 2] | 0;
  85498. Xi = c[Yi >> 2] | 0;
  85499. Yi = c[Zi >> 2] | 0;
  85500. Zi = c[_i >> 2] | 0;
  85501. _i = c[$i >> 2] | 0;
  85502. c[Lh >> 2] = c[Wi >> 2];
  85503. c[Mh >> 2] = h;
  85504. c[Nh >> 2] = Xi;
  85505. c[Oh >> 2] = Yi;
  85506. c[Ph >> 2] = Zi;
  85507. c[Qh >> 2] = _i;
  85508. c[Rh >> 2] = 0;
  85509. c[Sh >> 2] = 1;
  85510. c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
  85511. c[Uh >> 2] = c[Ph >> 2];
  85512. c[Vh >> 2] = c[Uh >> 2];
  85513. c[Wh >> 2] = c[Uh >> 2];
  85514. c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
  85515. c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
  85516. c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
  85517. c[_h >> 2] =
  85518. (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
  85519. if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
  85520. aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
  85521. else aj = 4095;
  85522. c[$h >> 2] = aj;
  85523. c[ai >> 2] =
  85524. (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
  85525. c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
  85526. c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
  85527. c[((c[Lh >> 2] | 0) + 28) >> 2] =
  85528. c[((c[Lh >> 2] | 0) + 24) >> 2];
  85529. lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
  85530. c[Vh >> 2] =
  85531. (c[Vh >> 2] | 0) +
  85532. (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
  85533. c[di >> 2] = 0;
  85534. c[(di + 4) >> 2] = 0;
  85535. c[(di + 8) >> 2] = 0;
  85536. while (1) {
  85537. if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
  85538. c[fi >> 2] = 0;
  85539. c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  85540. c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
  85541. _h = c[Oh >> 2] | 0;
  85542. Qh = c[Vh >> 2] | 0;
  85543. Ph = c[Xh >> 2] | 0;
  85544. aj = c[Sh >> 2] | 0;
  85545. Zh = c[Nh >> 2] | 0;
  85546. Uh = c[ji >> 2] | 0;
  85547. _i = c[ci >> 2] | 0;
  85548. Zi = c[ai >> 2] | 0;
  85549. c[Bh >> 2] = c[Lh >> 2];
  85550. c[Ch >> 2] = _h;
  85551. c[Dh >> 2] = Qh;
  85552. c[Eh >> 2] = Ph;
  85553. c[Fh >> 2] = aj;
  85554. c[Gh >> 2] = Zh;
  85555. c[Hh >> 2] = Uh;
  85556. c[Ih >> 2] = _i;
  85557. c[Jh >> 2] = Zi;
  85558. c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
  85559. a: do {
  85560. if (
  85561. (c[Dh >> 2] | 0) >>> 0 <
  85562. (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
  85563. (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
  85564. 0) >>>
  85565. 0
  85566. )
  85567. c[Ah >> 2] = 0;
  85568. else {
  85569. Zi = c[Ch >> 2] | 0;
  85570. _i = c[Dh >> 2] | 0;
  85571. Uh = c[Eh >> 2] | 0;
  85572. Zh = c[Kh >> 2] | 0;
  85573. aj = c[Fh >> 2] | 0;
  85574. c[rh >> 2] = c[Bh >> 2];
  85575. c[sh >> 2] = Zi;
  85576. c[th >> 2] = _i;
  85577. c[uh >> 2] = Uh;
  85578. c[vh >> 2] = Zh;
  85579. c[wh >> 2] = aj;
  85580. c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
  85581. c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
  85582. c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
  85583. while (1) {
  85584. if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
  85585. break;
  85586. aj =
  85587. Rj(
  85588. c[rh >> 2] | 0,
  85589. c[sh >> 2] | 0,
  85590. ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
  85591. c[uh >> 2] | 0,
  85592. c[vh >> 2] | 0,
  85593. c[wh >> 2] | 0
  85594. ) | 0;
  85595. c[zh >> 2] = (c[zh >> 2] | 0) + aj;
  85596. }
  85597. c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
  85598. switch (c[Kh >> 2] | 0) {
  85599. case 3: {
  85600. aj = c[Ch >> 2] | 0;
  85601. Zh = c[Dh >> 2] | 0;
  85602. Uh = c[Eh >> 2] | 0;
  85603. _i = c[Fh >> 2] | 0;
  85604. Zi = c[Gh >> 2] | 0;
  85605. Ph = c[Hh >> 2] | 0;
  85606. Qh = c[Ih >> 2] | 0;
  85607. _h = c[Jh >> 2] | 0;
  85608. c[wg >> 2] = c[Bh >> 2];
  85609. c[xg >> 2] = aj;
  85610. c[yg >> 2] = Zh;
  85611. c[zg >> 2] = Uh;
  85612. c[Ag >> 2] = _i;
  85613. c[Bg >> 2] = Zi;
  85614. c[Cg >> 2] = Ph;
  85615. c[Dg >> 2] = Qh;
  85616. c[Eg >> 2] = _h;
  85617. c[Fg >> 2] = 3;
  85618. if (
  85619. (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  85620. 4095
  85621. )
  85622. bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
  85623. else bj = 4095;
  85624. c[Gg >> 2] = bj;
  85625. c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
  85626. c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
  85627. c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
  85628. c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
  85629. c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
  85630. c[Mg >> 2] =
  85631. Sj(
  85632. c[yg >> 2] | 0,
  85633. c[Jg >> 2] | 0,
  85634. c[Fg >> 2] | 0
  85635. ) | 0;
  85636. c[Ng >> 2] =
  85637. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
  85638. c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
  85639. c[Pg >> 2] =
  85640. (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
  85641. c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
  85642. c[Rg >> 2] = 0;
  85643. c[Sg >> 2] = 0;
  85644. c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
  85645. c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
  85646. c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
  85647. c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
  85648. if (
  85649. (c[Qg >> 2] | 0) >>> 0 >=
  85650. (c[Ig >> 2] | 0) >>> 0
  85651. )
  85652. cj = 0;
  85653. else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
  85654. c[Xg >> 2] = cj;
  85655. c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
  85656. c[Zg >> 2] =
  85657. (c[Og >> 2] | 0) +
  85658. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
  85659. c[_g >> 2] =
  85660. (c[Og >> 2] | 0) +
  85661. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
  85662. 4;
  85663. c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
  85664. c[bh >> 2] = 0;
  85665. c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
  85666. c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
  85667. c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
  85668. c[fh >> 2] = c[Cg >> 2];
  85669. while (1) {
  85670. if (
  85671. (c[fh >> 2] | 0) >>> 0 >=
  85672. (c[eh >> 2] | 0) >>> 0
  85673. ) {
  85674. dj = 31;
  85675. break;
  85676. }
  85677. _h = c[Bg >> 2] | 0;
  85678. if ((c[fh >> 2] | 0) == 3)
  85679. ej = ((c[_h >> 2] | 0) - 1) | 0;
  85680. else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
  85681. c[gh >> 2] = ej;
  85682. c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
  85683. c[ih >> 2] = 0;
  85684. if (
  85685. (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  85686. (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
  85687. 0
  85688. ) {
  85689. _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
  85690. if (
  85691. (_h | 0) ==
  85692. (mm(
  85693. ((c[yg >> 2] | 0) +
  85694. (0 - (c[gh >> 2] | 0))) |
  85695. 0,
  85696. c[Kg >> 2] | 0
  85697. ) |
  85698. 0)
  85699. ) {
  85700. _h =
  85701. Tj(
  85702. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  85703. ((c[yg >> 2] | 0) +
  85704. (c[Kg >> 2] | 0) +
  85705. (0 - (c[gh >> 2] | 0))) |
  85706. 0,
  85707. c[zg >> 2] | 0
  85708. ) | 0;
  85709. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  85710. }
  85711. } else {
  85712. c[jh >> 2] =
  85713. (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
  85714. if (
  85715. (
  85716. c[Ag >> 2] | 0
  85717. ? ((((c[Ug >> 2] | 0) -
  85718. 1 -
  85719. (c[hh >> 2] | 0)) |
  85720. 0) >>>
  85721. 0 >=
  85722. 3
  85723. ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  85724. (((c[Ig >> 2] | 0) -
  85725. (c[Yg >> 2] | 0)) |
  85726. 0) >>>
  85727. 0
  85728. : 0) | 0
  85729. : 0
  85730. )
  85731. ? ((_h =
  85732. mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
  85733. (_h | 0) ==
  85734. (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
  85735. 0))
  85736. : 0
  85737. ) {
  85738. _h =
  85739. Uj(
  85740. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  85741. ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  85742. c[zg >> 2] | 0,
  85743. c[Vg >> 2] | 0,
  85744. c[Wg >> 2] | 0
  85745. ) | 0;
  85746. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  85747. }
  85748. }
  85749. if (
  85750. (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
  85751. ? ((c[dh >> 2] = c[ih >> 2]),
  85752. (c[
  85753. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  85754. 2
  85755. ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
  85756. (c[
  85757. ((c[Dg >> 2] | 0) +
  85758. (c[bh >> 2] << 3) +
  85759. 4) >>
  85760. 2
  85761. ] = c[ih >> 2]),
  85762. (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
  85763. ((c[ih >> 2] | 0) >>> 0 >
  85764. (c[Gg >> 2] | 0) >>> 0
  85765. ? 1
  85766. : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
  85767. 0) ==
  85768. (c[zg >> 2] | 0)) | 0)
  85769. : 0
  85770. ) {
  85771. dj = 29;
  85772. break;
  85773. }
  85774. c[fh >> 2] = (c[fh >> 2] | 0) + 1;
  85775. }
  85776. do {
  85777. if ((dj | 0) == 29) {
  85778. dj = 0;
  85779. c[vg >> 2] = c[bh >> 2];
  85780. } else if ((dj | 0) == 31) {
  85781. dj = 0;
  85782. if (
  85783. (
  85784. (c[Fg >> 2] | 0) == 3
  85785. ? (c[dh >> 2] | 0) >>> 0 <
  85786. (c[Fg >> 2] | 0) >>> 0
  85787. : 0
  85788. )
  85789. ? ((c[kh >> 2] =
  85790. nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
  85791. ((c[kh >> 2] | 0) >>> 0 >
  85792. (c[Yg >> 2] | 0) >>> 0
  85793. ? (((c[Ig >> 2] | 0) -
  85794. (c[kh >> 2] | 0)) |
  85795. 0) >>>
  85796. 0 <
  85797. 262144
  85798. : 0) | 0)
  85799. : 0
  85800. ) {
  85801. if (
  85802. c[Ag >> 2] | 0
  85803. ? (c[kh >> 2] | 0) >>> 0 <
  85804. (c[Ug >> 2] | 0) >>> 0
  85805. : 0
  85806. ) {
  85807. c[nh >> 2] =
  85808. (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
  85809. c[lh >> 2] =
  85810. Uj(
  85811. c[yg >> 2] | 0,
  85812. c[nh >> 2] | 0,
  85813. c[zg >> 2] | 0,
  85814. c[Vg >> 2] | 0,
  85815. c[Wg >> 2] | 0
  85816. ) | 0;
  85817. } else {
  85818. c[mh >> 2] =
  85819. (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
  85820. c[lh >> 2] =
  85821. Tj(
  85822. c[yg >> 2] | 0,
  85823. c[mh >> 2] | 0,
  85824. c[zg >> 2] | 0
  85825. ) | 0;
  85826. }
  85827. if (
  85828. (c[lh >> 2] | 0) >>> 0 >=
  85829. (c[Fg >> 2] | 0) >>> 0
  85830. ? ((c[dh >> 2] = c[lh >> 2]),
  85831. (c[c[Dg >> 2] >> 2] =
  85832. (c[Ig >> 2] | 0) -
  85833. (c[kh >> 2] | 0) +
  85834. 2),
  85835. (c[((c[Dg >> 2] | 0) + 4) >> 2] =
  85836. c[lh >> 2]),
  85837. (c[bh >> 2] = 1),
  85838. ((c[lh >> 2] | 0) >>> 0 >
  85839. (c[Gg >> 2] | 0) >>> 0
  85840. ? 1
  85841. : (((c[yg >> 2] | 0) +
  85842. (c[lh >> 2] | 0)) |
  85843. 0) ==
  85844. (c[zg >> 2] | 0)) | 0)
  85845. : 0
  85846. ) {
  85847. c[((c[wg >> 2] | 0) + 24) >> 2] =
  85848. (c[Ig >> 2] | 0) + 1;
  85849. c[vg >> 2] = 1;
  85850. break;
  85851. }
  85852. }
  85853. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
  85854. c[Ig >> 2];
  85855. while (1) {
  85856. _h = c[ch >> 2] | 0;
  85857. c[ch >> 2] = _h + -1;
  85858. if (!_h) break;
  85859. if (
  85860. (c[Ng >> 2] | 0) >>> 0 <=
  85861. (c[Yg >> 2] | 0) >>> 0
  85862. )
  85863. break;
  85864. c[oh >> 2] =
  85865. (c[Og >> 2] | 0) +
  85866. (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
  85867. c[ph >> 2] =
  85868. (c[Rg >> 2] | 0) >>> 0 <
  85869. (c[Sg >> 2] | 0) >>> 0
  85870. ? c[Rg >> 2] | 0
  85871. : c[Sg >> 2] | 0;
  85872. if (
  85873. c[Ag >> 2] | 0
  85874. ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  85875. 0) >>>
  85876. 0 <
  85877. (c[Ug >> 2] | 0) >>> 0
  85878. : 0
  85879. ) {
  85880. c[qh >> 2] =
  85881. (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
  85882. _h =
  85883. Uj(
  85884. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  85885. 0,
  85886. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  85887. 0,
  85888. c[zg >> 2] | 0,
  85889. c[Vg >> 2] | 0,
  85890. c[Wg >> 2] | 0
  85891. ) | 0;
  85892. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  85893. if (
  85894. (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  85895. 0) >>>
  85896. 0 >=
  85897. (c[Ug >> 2] | 0) >>> 0
  85898. )
  85899. c[qh >> 2] =
  85900. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  85901. } else {
  85902. c[qh >> 2] =
  85903. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  85904. _h =
  85905. Tj(
  85906. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  85907. 0,
  85908. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  85909. 0,
  85910. c[zg >> 2] | 0
  85911. ) | 0;
  85912. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  85913. }
  85914. if (
  85915. (c[ph >> 2] | 0) >>> 0 >
  85916. (c[dh >> 2] | 0) >>> 0
  85917. ) {
  85918. if (
  85919. (c[ph >> 2] | 0) >>> 0 >
  85920. (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
  85921. 0) >>>
  85922. 0
  85923. )
  85924. c[$g >> 2] =
  85925. (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
  85926. c[dh >> 2] = c[ph >> 2];
  85927. c[
  85928. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  85929. 2
  85930. ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
  85931. c[
  85932. ((c[Dg >> 2] | 0) +
  85933. (c[bh >> 2] << 3) +
  85934. 4) >>
  85935. 2
  85936. ] = c[ph >> 2];
  85937. c[bh >> 2] = (c[bh >> 2] | 0) + 1;
  85938. if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
  85939. if (
  85940. (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  85941. 0) ==
  85942. (c[zg >> 2] | 0)
  85943. )
  85944. break;
  85945. }
  85946. _h = c[Ng >> 2] | 0;
  85947. if (
  85948. (d[
  85949. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  85950. ] |
  85951. 0 |
  85952. 0) <
  85953. (d[
  85954. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  85955. ] |
  85956. 0 |
  85957. 0)
  85958. ) {
  85959. c[c[Zg >> 2] >> 2] = _h;
  85960. c[Rg >> 2] = c[ph >> 2];
  85961. if (
  85962. (c[Ng >> 2] | 0) >>> 0 <=
  85963. (c[Xg >> 2] | 0) >>> 0
  85964. ) {
  85965. dj = 56;
  85966. break;
  85967. }
  85968. c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
  85969. c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
  85970. } else {
  85971. c[c[_g >> 2] >> 2] = _h;
  85972. c[Sg >> 2] = c[ph >> 2];
  85973. if (
  85974. (c[Ng >> 2] | 0) >>> 0 <=
  85975. (c[Xg >> 2] | 0) >>> 0
  85976. ) {
  85977. dj = 59;
  85978. break;
  85979. }
  85980. c[_g >> 2] = c[oh >> 2];
  85981. c[Ng >> 2] = c[c[oh >> 2] >> 2];
  85982. }
  85983. }
  85984. if ((dj | 0) == 56) {
  85985. dj = 0;
  85986. c[Zg >> 2] = ah;
  85987. } else if ((dj | 0) == 59) {
  85988. dj = 0;
  85989. c[_g >> 2] = ah;
  85990. }
  85991. c[c[_g >> 2] >> 2] = 0;
  85992. c[c[Zg >> 2] >> 2] = 0;
  85993. c[((c[wg >> 2] | 0) + 24) >> 2] =
  85994. (c[$g >> 2] | 0) - 8;
  85995. c[vg >> 2] = c[bh >> 2];
  85996. }
  85997. } while (0);
  85998. c[Ah >> 2] = c[vg >> 2];
  85999. break a;
  86000. break;
  86001. }
  86002. case 7:
  86003. case 6: {
  86004. _h = c[Ch >> 2] | 0;
  86005. Qh = c[Dh >> 2] | 0;
  86006. Ph = c[Eh >> 2] | 0;
  86007. Zi = c[Fh >> 2] | 0;
  86008. _i = c[Gh >> 2] | 0;
  86009. Uh = c[Hh >> 2] | 0;
  86010. Zh = c[Ih >> 2] | 0;
  86011. aj = c[Jh >> 2] | 0;
  86012. c[Hd >> 2] = c[Bh >> 2];
  86013. c[Id >> 2] = _h;
  86014. c[Jd >> 2] = Qh;
  86015. c[Kd >> 2] = Ph;
  86016. c[Ld >> 2] = Zi;
  86017. c[Md >> 2] = _i;
  86018. c[Nd >> 2] = Uh;
  86019. c[Od >> 2] = Zh;
  86020. c[Pd >> 2] = aj;
  86021. c[Qd >> 2] = 6;
  86022. if (
  86023. (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  86024. 4095
  86025. )
  86026. fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
  86027. else fj = 4095;
  86028. c[Rd >> 2] = fj;
  86029. c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
  86030. c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
  86031. c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
  86032. c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
  86033. c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
  86034. c[Xd >> 2] =
  86035. Sj(
  86036. c[Jd >> 2] | 0,
  86037. c[Ud >> 2] | 0,
  86038. c[Qd >> 2] | 0
  86039. ) | 0;
  86040. c[Yd >> 2] =
  86041. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
  86042. c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
  86043. c[_d >> 2] =
  86044. (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
  86045. c[$d >> 2] = (1 << c[_d >> 2]) - 1;
  86046. c[ae >> 2] = 0;
  86047. c[be >> 2] = 0;
  86048. c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
  86049. c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
  86050. c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
  86051. c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
  86052. if (
  86053. (c[$d >> 2] | 0) >>> 0 >=
  86054. (c[Td >> 2] | 0) >>> 0
  86055. )
  86056. gj = 0;
  86057. else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
  86058. c[ge >> 2] = gj;
  86059. c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
  86060. c[ie >> 2] =
  86061. (c[Zd >> 2] | 0) +
  86062. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
  86063. c[je >> 2] =
  86064. (c[Zd >> 2] | 0) +
  86065. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
  86066. 4;
  86067. c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
  86068. c[me >> 2] = 0;
  86069. c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
  86070. c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
  86071. c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
  86072. c[qe >> 2] = c[Nd >> 2];
  86073. while (1) {
  86074. if (
  86075. (c[qe >> 2] | 0) >>> 0 >=
  86076. (c[pe >> 2] | 0) >>> 0
  86077. ) {
  86078. dj = 190;
  86079. break;
  86080. }
  86081. aj = c[Md >> 2] | 0;
  86082. if ((c[qe >> 2] | 0) == 3)
  86083. hj = ((c[aj >> 2] | 0) - 1) | 0;
  86084. else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
  86085. c[re >> 2] = hj;
  86086. c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
  86087. c[te >> 2] = 0;
  86088. if (
  86089. (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  86090. (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
  86091. 0
  86092. ) {
  86093. aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
  86094. if (
  86095. (aj | 0) ==
  86096. (mm(
  86097. ((c[Jd >> 2] | 0) +
  86098. (0 - (c[re >> 2] | 0))) |
  86099. 0,
  86100. c[Vd >> 2] | 0
  86101. ) |
  86102. 0)
  86103. ) {
  86104. aj =
  86105. Tj(
  86106. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  86107. ((c[Jd >> 2] | 0) +
  86108. (c[Vd >> 2] | 0) +
  86109. (0 - (c[re >> 2] | 0))) |
  86110. 0,
  86111. c[Kd >> 2] | 0
  86112. ) | 0;
  86113. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  86114. }
  86115. } else {
  86116. c[ue >> 2] =
  86117. (c[ce >> 2] | 0) + (c[se >> 2] | 0);
  86118. if (
  86119. (
  86120. c[Ld >> 2] | 0
  86121. ? ((((c[de >> 2] | 0) -
  86122. 1 -
  86123. (c[se >> 2] | 0)) |
  86124. 0) >>>
  86125. 0 >=
  86126. 3
  86127. ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  86128. (((c[Td >> 2] | 0) -
  86129. (c[he >> 2] | 0)) |
  86130. 0) >>>
  86131. 0
  86132. : 0) | 0
  86133. : 0
  86134. )
  86135. ? ((aj =
  86136. mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
  86137. (aj | 0) ==
  86138. (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
  86139. 0))
  86140. : 0
  86141. ) {
  86142. aj =
  86143. Uj(
  86144. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  86145. ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  86146. c[Kd >> 2] | 0,
  86147. c[ee >> 2] | 0,
  86148. c[fe >> 2] | 0
  86149. ) | 0;
  86150. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  86151. }
  86152. }
  86153. if (
  86154. (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
  86155. ? ((c[oe >> 2] = c[te >> 2]),
  86156. (c[
  86157. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  86158. 2
  86159. ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
  86160. (c[
  86161. ((c[Od >> 2] | 0) +
  86162. (c[me >> 2] << 3) +
  86163. 4) >>
  86164. 2
  86165. ] = c[te >> 2]),
  86166. (c[me >> 2] = (c[me >> 2] | 0) + 1),
  86167. ((c[te >> 2] | 0) >>> 0 >
  86168. (c[Rd >> 2] | 0) >>> 0
  86169. ? 1
  86170. : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
  86171. 0) ==
  86172. (c[Kd >> 2] | 0)) | 0)
  86173. : 0
  86174. ) {
  86175. dj = 188;
  86176. break;
  86177. }
  86178. c[qe >> 2] = (c[qe >> 2] | 0) + 1;
  86179. }
  86180. do {
  86181. if ((dj | 0) == 188) {
  86182. dj = 0;
  86183. c[Gd >> 2] = c[me >> 2];
  86184. } else if ((dj | 0) == 190) {
  86185. dj = 0;
  86186. if (
  86187. (
  86188. (c[Qd >> 2] | 0) == 3
  86189. ? (c[oe >> 2] | 0) >>> 0 <
  86190. (c[Qd >> 2] | 0) >>> 0
  86191. : 0
  86192. )
  86193. ? ((c[ve >> 2] =
  86194. nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
  86195. ((c[ve >> 2] | 0) >>> 0 >
  86196. (c[he >> 2] | 0) >>> 0
  86197. ? (((c[Td >> 2] | 0) -
  86198. (c[ve >> 2] | 0)) |
  86199. 0) >>>
  86200. 0 <
  86201. 262144
  86202. : 0) | 0)
  86203. : 0
  86204. ) {
  86205. if (
  86206. c[Ld >> 2] | 0
  86207. ? (c[ve >> 2] | 0) >>> 0 <
  86208. (c[de >> 2] | 0) >>> 0
  86209. : 0
  86210. ) {
  86211. c[ye >> 2] =
  86212. (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
  86213. c[we >> 2] =
  86214. Uj(
  86215. c[Jd >> 2] | 0,
  86216. c[ye >> 2] | 0,
  86217. c[Kd >> 2] | 0,
  86218. c[ee >> 2] | 0,
  86219. c[fe >> 2] | 0
  86220. ) | 0;
  86221. } else {
  86222. c[xe >> 2] =
  86223. (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
  86224. c[we >> 2] =
  86225. Tj(
  86226. c[Jd >> 2] | 0,
  86227. c[xe >> 2] | 0,
  86228. c[Kd >> 2] | 0
  86229. ) | 0;
  86230. }
  86231. if (
  86232. (c[we >> 2] | 0) >>> 0 >=
  86233. (c[Qd >> 2] | 0) >>> 0
  86234. ? ((c[oe >> 2] = c[we >> 2]),
  86235. (c[c[Od >> 2] >> 2] =
  86236. (c[Td >> 2] | 0) -
  86237. (c[ve >> 2] | 0) +
  86238. 2),
  86239. (c[((c[Od >> 2] | 0) + 4) >> 2] =
  86240. c[we >> 2]),
  86241. (c[me >> 2] = 1),
  86242. ((c[we >> 2] | 0) >>> 0 >
  86243. (c[Rd >> 2] | 0) >>> 0
  86244. ? 1
  86245. : (((c[Jd >> 2] | 0) +
  86246. (c[we >> 2] | 0)) |
  86247. 0) ==
  86248. (c[Kd >> 2] | 0)) | 0)
  86249. : 0
  86250. ) {
  86251. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  86252. (c[Td >> 2] | 0) + 1;
  86253. c[Gd >> 2] = 1;
  86254. break;
  86255. }
  86256. }
  86257. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
  86258. c[Td >> 2];
  86259. while (1) {
  86260. aj = c[ne >> 2] | 0;
  86261. c[ne >> 2] = aj + -1;
  86262. if (!aj) break;
  86263. if (
  86264. (c[Yd >> 2] | 0) >>> 0 <=
  86265. (c[he >> 2] | 0) >>> 0
  86266. )
  86267. break;
  86268. c[ze >> 2] =
  86269. (c[Zd >> 2] | 0) +
  86270. (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
  86271. c[Ae >> 2] =
  86272. (c[ae >> 2] | 0) >>> 0 <
  86273. (c[be >> 2] | 0) >>> 0
  86274. ? c[ae >> 2] | 0
  86275. : c[be >> 2] | 0;
  86276. if (
  86277. c[Ld >> 2] | 0
  86278. ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86279. 0) >>>
  86280. 0 <
  86281. (c[de >> 2] | 0) >>> 0
  86282. : 0
  86283. ) {
  86284. c[Be >> 2] =
  86285. (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
  86286. aj =
  86287. Uj(
  86288. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86289. 0,
  86290. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86291. 0,
  86292. c[Kd >> 2] | 0,
  86293. c[ee >> 2] | 0,
  86294. c[fe >> 2] | 0
  86295. ) | 0;
  86296. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  86297. if (
  86298. (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86299. 0) >>>
  86300. 0 >=
  86301. (c[de >> 2] | 0) >>> 0
  86302. )
  86303. c[Be >> 2] =
  86304. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  86305. } else {
  86306. c[Be >> 2] =
  86307. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  86308. aj =
  86309. Tj(
  86310. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86311. 0,
  86312. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86313. 0,
  86314. c[Kd >> 2] | 0
  86315. ) | 0;
  86316. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  86317. }
  86318. if (
  86319. (c[Ae >> 2] | 0) >>> 0 >
  86320. (c[oe >> 2] | 0) >>> 0
  86321. ) {
  86322. if (
  86323. (c[Ae >> 2] | 0) >>> 0 >
  86324. (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
  86325. 0) >>>
  86326. 0
  86327. )
  86328. c[ke >> 2] =
  86329. (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
  86330. c[oe >> 2] = c[Ae >> 2];
  86331. c[
  86332. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  86333. 2
  86334. ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
  86335. c[
  86336. ((c[Od >> 2] | 0) +
  86337. (c[me >> 2] << 3) +
  86338. 4) >>
  86339. 2
  86340. ] = c[Ae >> 2];
  86341. c[me >> 2] = (c[me >> 2] | 0) + 1;
  86342. if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
  86343. if (
  86344. (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  86345. 0) ==
  86346. (c[Kd >> 2] | 0)
  86347. )
  86348. break;
  86349. }
  86350. aj = c[Yd >> 2] | 0;
  86351. if (
  86352. (d[
  86353. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  86354. ] |
  86355. 0 |
  86356. 0) <
  86357. (d[
  86358. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  86359. ] |
  86360. 0 |
  86361. 0)
  86362. ) {
  86363. c[c[ie >> 2] >> 2] = aj;
  86364. c[ae >> 2] = c[Ae >> 2];
  86365. if (
  86366. (c[Yd >> 2] | 0) >>> 0 <=
  86367. (c[ge >> 2] | 0) >>> 0
  86368. ) {
  86369. dj = 215;
  86370. break;
  86371. }
  86372. c[ie >> 2] = (c[ze >> 2] | 0) + 4;
  86373. c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
  86374. } else {
  86375. c[c[je >> 2] >> 2] = aj;
  86376. c[be >> 2] = c[Ae >> 2];
  86377. if (
  86378. (c[Yd >> 2] | 0) >>> 0 <=
  86379. (c[ge >> 2] | 0) >>> 0
  86380. ) {
  86381. dj = 218;
  86382. break;
  86383. }
  86384. c[je >> 2] = c[ze >> 2];
  86385. c[Yd >> 2] = c[c[ze >> 2] >> 2];
  86386. }
  86387. }
  86388. if ((dj | 0) == 215) {
  86389. dj = 0;
  86390. c[ie >> 2] = le;
  86391. } else if ((dj | 0) == 218) {
  86392. dj = 0;
  86393. c[je >> 2] = le;
  86394. }
  86395. c[c[je >> 2] >> 2] = 0;
  86396. c[c[ie >> 2] >> 2] = 0;
  86397. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  86398. (c[ke >> 2] | 0) - 8;
  86399. c[Gd >> 2] = c[me >> 2];
  86400. }
  86401. } while (0);
  86402. c[Ah >> 2] = c[Gd >> 2];
  86403. break a;
  86404. break;
  86405. }
  86406. case 5: {
  86407. aj = c[Ch >> 2] | 0;
  86408. Zh = c[Dh >> 2] | 0;
  86409. Uh = c[Eh >> 2] | 0;
  86410. _i = c[Fh >> 2] | 0;
  86411. Zi = c[Gh >> 2] | 0;
  86412. Ph = c[Hh >> 2] | 0;
  86413. Qh = c[Ih >> 2] | 0;
  86414. _h = c[Jh >> 2] | 0;
  86415. c[De >> 2] = c[Bh >> 2];
  86416. c[Ee >> 2] = aj;
  86417. c[Fe >> 2] = Zh;
  86418. c[Ge >> 2] = Uh;
  86419. c[He >> 2] = _i;
  86420. c[Ie >> 2] = Zi;
  86421. c[Je >> 2] = Ph;
  86422. c[Ke >> 2] = Qh;
  86423. c[Le >> 2] = _h;
  86424. c[Me >> 2] = 5;
  86425. if (
  86426. (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  86427. 4095
  86428. )
  86429. ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
  86430. else ij = 4095;
  86431. c[Ne >> 2] = ij;
  86432. c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
  86433. c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
  86434. c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
  86435. c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
  86436. c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
  86437. c[Te >> 2] =
  86438. Sj(
  86439. c[Fe >> 2] | 0,
  86440. c[Qe >> 2] | 0,
  86441. c[Me >> 2] | 0
  86442. ) | 0;
  86443. c[Ue >> 2] =
  86444. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
  86445. c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
  86446. c[We >> 2] =
  86447. (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
  86448. c[Xe >> 2] = (1 << c[We >> 2]) - 1;
  86449. c[Ye >> 2] = 0;
  86450. c[Ze >> 2] = 0;
  86451. c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
  86452. c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
  86453. c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
  86454. c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
  86455. if (
  86456. (c[Xe >> 2] | 0) >>> 0 >=
  86457. (c[Pe >> 2] | 0) >>> 0
  86458. )
  86459. jj = 0;
  86460. else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
  86461. c[cf >> 2] = jj;
  86462. c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
  86463. c[ef >> 2] =
  86464. (c[Ve >> 2] | 0) +
  86465. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
  86466. c[ff >> 2] =
  86467. (c[Ve >> 2] | 0) +
  86468. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
  86469. 4;
  86470. c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
  86471. c[jf >> 2] = 0;
  86472. c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
  86473. c[lf >> 2] = (c[Le >> 2] | 0) - 1;
  86474. c[mf >> 2] = 3 + (c[Je >> 2] | 0);
  86475. c[nf >> 2] = c[Je >> 2];
  86476. while (1) {
  86477. if (
  86478. (c[nf >> 2] | 0) >>> 0 >=
  86479. (c[mf >> 2] | 0) >>> 0
  86480. ) {
  86481. dj = 137;
  86482. break;
  86483. }
  86484. _h = c[Ie >> 2] | 0;
  86485. if ((c[nf >> 2] | 0) == 3)
  86486. kj = ((c[_h >> 2] | 0) - 1) | 0;
  86487. else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
  86488. c[of >> 2] = kj;
  86489. c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
  86490. c[qf >> 2] = 0;
  86491. if (
  86492. (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  86493. (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
  86494. 0
  86495. ) {
  86496. _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
  86497. if (
  86498. (_h | 0) ==
  86499. (mm(
  86500. ((c[Fe >> 2] | 0) +
  86501. (0 - (c[of >> 2] | 0))) |
  86502. 0,
  86503. c[Re >> 2] | 0
  86504. ) |
  86505. 0)
  86506. ) {
  86507. _h =
  86508. Tj(
  86509. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  86510. ((c[Fe >> 2] | 0) +
  86511. (c[Re >> 2] | 0) +
  86512. (0 - (c[of >> 2] | 0))) |
  86513. 0,
  86514. c[Ge >> 2] | 0
  86515. ) | 0;
  86516. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  86517. }
  86518. } else {
  86519. c[rf >> 2] =
  86520. (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
  86521. if (
  86522. (
  86523. c[He >> 2] | 0
  86524. ? ((((c[$e >> 2] | 0) -
  86525. 1 -
  86526. (c[pf >> 2] | 0)) |
  86527. 0) >>>
  86528. 0 >=
  86529. 3
  86530. ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  86531. (((c[Pe >> 2] | 0) -
  86532. (c[df >> 2] | 0)) |
  86533. 0) >>>
  86534. 0
  86535. : 0) | 0
  86536. : 0
  86537. )
  86538. ? ((_h =
  86539. mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
  86540. (_h | 0) ==
  86541. (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
  86542. 0))
  86543. : 0
  86544. ) {
  86545. _h =
  86546. Uj(
  86547. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  86548. ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  86549. c[Ge >> 2] | 0,
  86550. c[af >> 2] | 0,
  86551. c[bf >> 2] | 0
  86552. ) | 0;
  86553. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  86554. }
  86555. }
  86556. if (
  86557. (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
  86558. ? ((c[lf >> 2] = c[qf >> 2]),
  86559. (c[
  86560. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  86561. 2
  86562. ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
  86563. (c[
  86564. ((c[Ke >> 2] | 0) +
  86565. (c[jf >> 2] << 3) +
  86566. 4) >>
  86567. 2
  86568. ] = c[qf >> 2]),
  86569. (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
  86570. ((c[qf >> 2] | 0) >>> 0 >
  86571. (c[Ne >> 2] | 0) >>> 0
  86572. ? 1
  86573. : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
  86574. 0) ==
  86575. (c[Ge >> 2] | 0)) | 0)
  86576. : 0
  86577. ) {
  86578. dj = 135;
  86579. break;
  86580. }
  86581. c[nf >> 2] = (c[nf >> 2] | 0) + 1;
  86582. }
  86583. do {
  86584. if ((dj | 0) == 135) {
  86585. dj = 0;
  86586. c[Ce >> 2] = c[jf >> 2];
  86587. } else if ((dj | 0) == 137) {
  86588. dj = 0;
  86589. if (
  86590. (
  86591. (c[Me >> 2] | 0) == 3
  86592. ? (c[lf >> 2] | 0) >>> 0 <
  86593. (c[Me >> 2] | 0) >>> 0
  86594. : 0
  86595. )
  86596. ? ((c[sf >> 2] =
  86597. nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
  86598. ((c[sf >> 2] | 0) >>> 0 >
  86599. (c[df >> 2] | 0) >>> 0
  86600. ? (((c[Pe >> 2] | 0) -
  86601. (c[sf >> 2] | 0)) |
  86602. 0) >>>
  86603. 0 <
  86604. 262144
  86605. : 0) | 0)
  86606. : 0
  86607. ) {
  86608. if (
  86609. c[He >> 2] | 0
  86610. ? (c[sf >> 2] | 0) >>> 0 <
  86611. (c[$e >> 2] | 0) >>> 0
  86612. : 0
  86613. ) {
  86614. c[vf >> 2] =
  86615. (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
  86616. c[tf >> 2] =
  86617. Uj(
  86618. c[Fe >> 2] | 0,
  86619. c[vf >> 2] | 0,
  86620. c[Ge >> 2] | 0,
  86621. c[af >> 2] | 0,
  86622. c[bf >> 2] | 0
  86623. ) | 0;
  86624. } else {
  86625. c[uf >> 2] =
  86626. (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
  86627. c[tf >> 2] =
  86628. Tj(
  86629. c[Fe >> 2] | 0,
  86630. c[uf >> 2] | 0,
  86631. c[Ge >> 2] | 0
  86632. ) | 0;
  86633. }
  86634. if (
  86635. (c[tf >> 2] | 0) >>> 0 >=
  86636. (c[Me >> 2] | 0) >>> 0
  86637. ? ((c[lf >> 2] = c[tf >> 2]),
  86638. (c[c[Ke >> 2] >> 2] =
  86639. (c[Pe >> 2] | 0) -
  86640. (c[sf >> 2] | 0) +
  86641. 2),
  86642. (c[((c[Ke >> 2] | 0) + 4) >> 2] =
  86643. c[tf >> 2]),
  86644. (c[jf >> 2] = 1),
  86645. ((c[tf >> 2] | 0) >>> 0 >
  86646. (c[Ne >> 2] | 0) >>> 0
  86647. ? 1
  86648. : (((c[Fe >> 2] | 0) +
  86649. (c[tf >> 2] | 0)) |
  86650. 0) ==
  86651. (c[Ge >> 2] | 0)) | 0)
  86652. : 0
  86653. ) {
  86654. c[((c[De >> 2] | 0) + 24) >> 2] =
  86655. (c[Pe >> 2] | 0) + 1;
  86656. c[Ce >> 2] = 1;
  86657. break;
  86658. }
  86659. }
  86660. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
  86661. c[Pe >> 2];
  86662. while (1) {
  86663. _h = c[kf >> 2] | 0;
  86664. c[kf >> 2] = _h + -1;
  86665. if (!_h) break;
  86666. if (
  86667. (c[Ue >> 2] | 0) >>> 0 <=
  86668. (c[df >> 2] | 0) >>> 0
  86669. )
  86670. break;
  86671. c[wf >> 2] =
  86672. (c[Ve >> 2] | 0) +
  86673. (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
  86674. c[xf >> 2] =
  86675. (c[Ye >> 2] | 0) >>> 0 <
  86676. (c[Ze >> 2] | 0) >>> 0
  86677. ? c[Ye >> 2] | 0
  86678. : c[Ze >> 2] | 0;
  86679. if (
  86680. c[He >> 2] | 0
  86681. ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  86682. 0) >>>
  86683. 0 <
  86684. (c[$e >> 2] | 0) >>> 0
  86685. : 0
  86686. ) {
  86687. c[yf >> 2] =
  86688. (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
  86689. _h =
  86690. Uj(
  86691. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  86692. 0,
  86693. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  86694. 0,
  86695. c[Ge >> 2] | 0,
  86696. c[af >> 2] | 0,
  86697. c[bf >> 2] | 0
  86698. ) | 0;
  86699. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  86700. if (
  86701. (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  86702. 0) >>>
  86703. 0 >=
  86704. (c[$e >> 2] | 0) >>> 0
  86705. )
  86706. c[yf >> 2] =
  86707. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  86708. } else {
  86709. c[yf >> 2] =
  86710. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  86711. _h =
  86712. Tj(
  86713. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  86714. 0,
  86715. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  86716. 0,
  86717. c[Ge >> 2] | 0
  86718. ) | 0;
  86719. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  86720. }
  86721. if (
  86722. (c[xf >> 2] | 0) >>> 0 >
  86723. (c[lf >> 2] | 0) >>> 0
  86724. ) {
  86725. if (
  86726. (c[xf >> 2] | 0) >>> 0 >
  86727. (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
  86728. 0) >>>
  86729. 0
  86730. )
  86731. c[gf >> 2] =
  86732. (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
  86733. c[lf >> 2] = c[xf >> 2];
  86734. c[
  86735. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  86736. 2
  86737. ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
  86738. c[
  86739. ((c[Ke >> 2] | 0) +
  86740. (c[jf >> 2] << 3) +
  86741. 4) >>
  86742. 2
  86743. ] = c[xf >> 2];
  86744. c[jf >> 2] = (c[jf >> 2] | 0) + 1;
  86745. if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
  86746. if (
  86747. (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  86748. 0) ==
  86749. (c[Ge >> 2] | 0)
  86750. )
  86751. break;
  86752. }
  86753. _h = c[Ue >> 2] | 0;
  86754. if (
  86755. (d[
  86756. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  86757. ] |
  86758. 0 |
  86759. 0) <
  86760. (d[
  86761. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  86762. ] |
  86763. 0 |
  86764. 0)
  86765. ) {
  86766. c[c[ef >> 2] >> 2] = _h;
  86767. c[Ye >> 2] = c[xf >> 2];
  86768. if (
  86769. (c[Ue >> 2] | 0) >>> 0 <=
  86770. (c[cf >> 2] | 0) >>> 0
  86771. ) {
  86772. dj = 162;
  86773. break;
  86774. }
  86775. c[ef >> 2] = (c[wf >> 2] | 0) + 4;
  86776. c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
  86777. } else {
  86778. c[c[ff >> 2] >> 2] = _h;
  86779. c[Ze >> 2] = c[xf >> 2];
  86780. if (
  86781. (c[Ue >> 2] | 0) >>> 0 <=
  86782. (c[cf >> 2] | 0) >>> 0
  86783. ) {
  86784. dj = 165;
  86785. break;
  86786. }
  86787. c[ff >> 2] = c[wf >> 2];
  86788. c[Ue >> 2] = c[c[wf >> 2] >> 2];
  86789. }
  86790. }
  86791. if ((dj | 0) == 162) {
  86792. dj = 0;
  86793. c[ef >> 2] = hf;
  86794. } else if ((dj | 0) == 165) {
  86795. dj = 0;
  86796. c[ff >> 2] = hf;
  86797. }
  86798. c[c[ff >> 2] >> 2] = 0;
  86799. c[c[ef >> 2] >> 2] = 0;
  86800. c[((c[De >> 2] | 0) + 24) >> 2] =
  86801. (c[gf >> 2] | 0) - 8;
  86802. c[Ce >> 2] = c[jf >> 2];
  86803. }
  86804. } while (0);
  86805. c[Ah >> 2] = c[Ce >> 2];
  86806. break a;
  86807. break;
  86808. }
  86809. default: {
  86810. _h = c[Ch >> 2] | 0;
  86811. Qh = c[Dh >> 2] | 0;
  86812. Ph = c[Eh >> 2] | 0;
  86813. Zi = c[Fh >> 2] | 0;
  86814. _i = c[Gh >> 2] | 0;
  86815. Uh = c[Hh >> 2] | 0;
  86816. Zh = c[Ih >> 2] | 0;
  86817. aj = c[Jh >> 2] | 0;
  86818. c[Af >> 2] = c[Bh >> 2];
  86819. c[Bf >> 2] = _h;
  86820. c[Cf >> 2] = Qh;
  86821. c[Df >> 2] = Ph;
  86822. c[Ef >> 2] = Zi;
  86823. c[Ff >> 2] = _i;
  86824. c[Gf >> 2] = Uh;
  86825. c[Hf >> 2] = Zh;
  86826. c[If >> 2] = aj;
  86827. c[Jf >> 2] = 4;
  86828. if (
  86829. (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  86830. 4095
  86831. )
  86832. lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
  86833. else lj = 4095;
  86834. c[Kf >> 2] = lj;
  86835. c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
  86836. c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
  86837. c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
  86838. c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
  86839. c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
  86840. c[Qf >> 2] =
  86841. Sj(
  86842. c[Cf >> 2] | 0,
  86843. c[Nf >> 2] | 0,
  86844. c[Jf >> 2] | 0
  86845. ) | 0;
  86846. c[Rf >> 2] =
  86847. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
  86848. c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
  86849. c[Tf >> 2] =
  86850. (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
  86851. c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
  86852. c[Vf >> 2] = 0;
  86853. c[Wf >> 2] = 0;
  86854. c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
  86855. c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
  86856. c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
  86857. c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
  86858. if (
  86859. (c[Uf >> 2] | 0) >>> 0 >=
  86860. (c[Mf >> 2] | 0) >>> 0
  86861. )
  86862. mj = 0;
  86863. else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
  86864. c[$f >> 2] = mj;
  86865. c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
  86866. c[bg >> 2] =
  86867. (c[Sf >> 2] | 0) +
  86868. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
  86869. c[cg >> 2] =
  86870. (c[Sf >> 2] | 0) +
  86871. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
  86872. 4;
  86873. c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
  86874. c[fg >> 2] = 0;
  86875. c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
  86876. c[hg >> 2] = (c[If >> 2] | 0) - 1;
  86877. c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
  86878. c[jg >> 2] = c[Gf >> 2];
  86879. while (1) {
  86880. if (
  86881. (c[jg >> 2] | 0) >>> 0 >=
  86882. (c[ig >> 2] | 0) >>> 0
  86883. ) {
  86884. dj = 84;
  86885. break;
  86886. }
  86887. aj = c[Ff >> 2] | 0;
  86888. if ((c[jg >> 2] | 0) == 3)
  86889. nj = ((c[aj >> 2] | 0) - 1) | 0;
  86890. else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
  86891. c[kg >> 2] = nj;
  86892. c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
  86893. c[mg >> 2] = 0;
  86894. if (
  86895. (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  86896. (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
  86897. 0
  86898. ) {
  86899. aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
  86900. if (
  86901. (aj | 0) ==
  86902. (mm(
  86903. ((c[Cf >> 2] | 0) +
  86904. (0 - (c[kg >> 2] | 0))) |
  86905. 0,
  86906. c[Of >> 2] | 0
  86907. ) |
  86908. 0)
  86909. ) {
  86910. aj =
  86911. Tj(
  86912. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  86913. ((c[Cf >> 2] | 0) +
  86914. (c[Of >> 2] | 0) +
  86915. (0 - (c[kg >> 2] | 0))) |
  86916. 0,
  86917. c[Df >> 2] | 0
  86918. ) | 0;
  86919. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  86920. }
  86921. } else {
  86922. c[ng >> 2] =
  86923. (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
  86924. if (
  86925. (
  86926. c[Ef >> 2] | 0
  86927. ? ((((c[Yf >> 2] | 0) -
  86928. 1 -
  86929. (c[lg >> 2] | 0)) |
  86930. 0) >>>
  86931. 0 >=
  86932. 3
  86933. ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  86934. (((c[Mf >> 2] | 0) -
  86935. (c[ag >> 2] | 0)) |
  86936. 0) >>>
  86937. 0
  86938. : 0) | 0
  86939. : 0
  86940. )
  86941. ? ((aj =
  86942. mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
  86943. (aj | 0) ==
  86944. (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
  86945. 0))
  86946. : 0
  86947. ) {
  86948. aj =
  86949. Uj(
  86950. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  86951. ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  86952. c[Df >> 2] | 0,
  86953. c[Zf >> 2] | 0,
  86954. c[_f >> 2] | 0
  86955. ) | 0;
  86956. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  86957. }
  86958. }
  86959. if (
  86960. (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
  86961. ? ((c[hg >> 2] = c[mg >> 2]),
  86962. (c[
  86963. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  86964. 2
  86965. ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
  86966. (c[
  86967. ((c[Hf >> 2] | 0) +
  86968. (c[fg >> 2] << 3) +
  86969. 4) >>
  86970. 2
  86971. ] = c[mg >> 2]),
  86972. (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
  86973. ((c[mg >> 2] | 0) >>> 0 >
  86974. (c[Kf >> 2] | 0) >>> 0
  86975. ? 1
  86976. : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
  86977. 0) ==
  86978. (c[Df >> 2] | 0)) | 0)
  86979. : 0
  86980. ) {
  86981. dj = 82;
  86982. break;
  86983. }
  86984. c[jg >> 2] = (c[jg >> 2] | 0) + 1;
  86985. }
  86986. do {
  86987. if ((dj | 0) == 82) {
  86988. dj = 0;
  86989. c[zf >> 2] = c[fg >> 2];
  86990. } else if ((dj | 0) == 84) {
  86991. dj = 0;
  86992. if (
  86993. (
  86994. (c[Jf >> 2] | 0) == 3
  86995. ? (c[hg >> 2] | 0) >>> 0 <
  86996. (c[Jf >> 2] | 0) >>> 0
  86997. : 0
  86998. )
  86999. ? ((c[og >> 2] =
  87000. nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
  87001. ((c[og >> 2] | 0) >>> 0 >
  87002. (c[ag >> 2] | 0) >>> 0
  87003. ? (((c[Mf >> 2] | 0) -
  87004. (c[og >> 2] | 0)) |
  87005. 0) >>>
  87006. 0 <
  87007. 262144
  87008. : 0) | 0)
  87009. : 0
  87010. ) {
  87011. if (
  87012. c[Ef >> 2] | 0
  87013. ? (c[og >> 2] | 0) >>> 0 <
  87014. (c[Yf >> 2] | 0) >>> 0
  87015. : 0
  87016. ) {
  87017. c[rg >> 2] =
  87018. (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
  87019. c[pg >> 2] =
  87020. Uj(
  87021. c[Cf >> 2] | 0,
  87022. c[rg >> 2] | 0,
  87023. c[Df >> 2] | 0,
  87024. c[Zf >> 2] | 0,
  87025. c[_f >> 2] | 0
  87026. ) | 0;
  87027. } else {
  87028. c[qg >> 2] =
  87029. (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
  87030. c[pg >> 2] =
  87031. Tj(
  87032. c[Cf >> 2] | 0,
  87033. c[qg >> 2] | 0,
  87034. c[Df >> 2] | 0
  87035. ) | 0;
  87036. }
  87037. if (
  87038. (c[pg >> 2] | 0) >>> 0 >=
  87039. (c[Jf >> 2] | 0) >>> 0
  87040. ? ((c[hg >> 2] = c[pg >> 2]),
  87041. (c[c[Hf >> 2] >> 2] =
  87042. (c[Mf >> 2] | 0) -
  87043. (c[og >> 2] | 0) +
  87044. 2),
  87045. (c[((c[Hf >> 2] | 0) + 4) >> 2] =
  87046. c[pg >> 2]),
  87047. (c[fg >> 2] = 1),
  87048. ((c[pg >> 2] | 0) >>> 0 >
  87049. (c[Kf >> 2] | 0) >>> 0
  87050. ? 1
  87051. : (((c[Cf >> 2] | 0) +
  87052. (c[pg >> 2] | 0)) |
  87053. 0) ==
  87054. (c[Df >> 2] | 0)) | 0)
  87055. : 0
  87056. ) {
  87057. c[((c[Af >> 2] | 0) + 24) >> 2] =
  87058. (c[Mf >> 2] | 0) + 1;
  87059. c[zf >> 2] = 1;
  87060. break;
  87061. }
  87062. }
  87063. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
  87064. c[Mf >> 2];
  87065. while (1) {
  87066. aj = c[gg >> 2] | 0;
  87067. c[gg >> 2] = aj + -1;
  87068. if (!aj) break;
  87069. if (
  87070. (c[Rf >> 2] | 0) >>> 0 <=
  87071. (c[ag >> 2] | 0) >>> 0
  87072. )
  87073. break;
  87074. c[sg >> 2] =
  87075. (c[Sf >> 2] | 0) +
  87076. (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
  87077. c[tg >> 2] =
  87078. (c[Vf >> 2] | 0) >>> 0 <
  87079. (c[Wf >> 2] | 0) >>> 0
  87080. ? c[Vf >> 2] | 0
  87081. : c[Wf >> 2] | 0;
  87082. if (
  87083. c[Ef >> 2] | 0
  87084. ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  87085. 0) >>>
  87086. 0 <
  87087. (c[Yf >> 2] | 0) >>> 0
  87088. : 0
  87089. ) {
  87090. c[ug >> 2] =
  87091. (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
  87092. aj =
  87093. Uj(
  87094. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  87095. 0,
  87096. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  87097. 0,
  87098. c[Df >> 2] | 0,
  87099. c[Zf >> 2] | 0,
  87100. c[_f >> 2] | 0
  87101. ) | 0;
  87102. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  87103. if (
  87104. (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  87105. 0) >>>
  87106. 0 >=
  87107. (c[Yf >> 2] | 0) >>> 0
  87108. )
  87109. c[ug >> 2] =
  87110. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  87111. } else {
  87112. c[ug >> 2] =
  87113. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  87114. aj =
  87115. Tj(
  87116. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  87117. 0,
  87118. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  87119. 0,
  87120. c[Df >> 2] | 0
  87121. ) | 0;
  87122. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  87123. }
  87124. if (
  87125. (c[tg >> 2] | 0) >>> 0 >
  87126. (c[hg >> 2] | 0) >>> 0
  87127. ) {
  87128. if (
  87129. (c[tg >> 2] | 0) >>> 0 >
  87130. (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
  87131. 0) >>>
  87132. 0
  87133. )
  87134. c[dg >> 2] =
  87135. (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
  87136. c[hg >> 2] = c[tg >> 2];
  87137. c[
  87138. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  87139. 2
  87140. ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
  87141. c[
  87142. ((c[Hf >> 2] | 0) +
  87143. (c[fg >> 2] << 3) +
  87144. 4) >>
  87145. 2
  87146. ] = c[tg >> 2];
  87147. c[fg >> 2] = (c[fg >> 2] | 0) + 1;
  87148. if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
  87149. if (
  87150. (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  87151. 0) ==
  87152. (c[Df >> 2] | 0)
  87153. )
  87154. break;
  87155. }
  87156. aj = c[Rf >> 2] | 0;
  87157. if (
  87158. (d[
  87159. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  87160. ] |
  87161. 0 |
  87162. 0) <
  87163. (d[
  87164. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  87165. ] |
  87166. 0 |
  87167. 0)
  87168. ) {
  87169. c[c[bg >> 2] >> 2] = aj;
  87170. c[Vf >> 2] = c[tg >> 2];
  87171. if (
  87172. (c[Rf >> 2] | 0) >>> 0 <=
  87173. (c[$f >> 2] | 0) >>> 0
  87174. ) {
  87175. dj = 109;
  87176. break;
  87177. }
  87178. c[bg >> 2] = (c[sg >> 2] | 0) + 4;
  87179. c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
  87180. } else {
  87181. c[c[cg >> 2] >> 2] = aj;
  87182. c[Wf >> 2] = c[tg >> 2];
  87183. if (
  87184. (c[Rf >> 2] | 0) >>> 0 <=
  87185. (c[$f >> 2] | 0) >>> 0
  87186. ) {
  87187. dj = 112;
  87188. break;
  87189. }
  87190. c[cg >> 2] = c[sg >> 2];
  87191. c[Rf >> 2] = c[c[sg >> 2] >> 2];
  87192. }
  87193. }
  87194. if ((dj | 0) == 109) {
  87195. dj = 0;
  87196. c[bg >> 2] = eg;
  87197. } else if ((dj | 0) == 112) {
  87198. dj = 0;
  87199. c[cg >> 2] = eg;
  87200. }
  87201. c[c[cg >> 2] >> 2] = 0;
  87202. c[c[bg >> 2] >> 2] = 0;
  87203. c[((c[Af >> 2] | 0) + 24) >> 2] =
  87204. (c[dg >> 2] | 0) - 8;
  87205. c[zf >> 2] = c[fg >> 2];
  87206. }
  87207. } while (0);
  87208. c[Ah >> 2] = c[zf >> 2];
  87209. break a;
  87210. }
  87211. }
  87212. }
  87213. } while (0);
  87214. c[ki >> 2] = c[Ah >> 2];
  87215. if (!(c[ki >> 2] | 0)) {
  87216. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  87217. continue;
  87218. }
  87219. c[li >> 2] = 0;
  87220. while (1) {
  87221. if ((c[li >> 2] | 0) >>> 0 >= 3) break;
  87222. c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
  87223. c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
  87224. c[li >> 2] = (c[li >> 2] | 0) + 1;
  87225. }
  87226. c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
  87227. c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
  87228. c[mi >> 2] =
  87229. c[
  87230. ((c[ci >> 2] | 0) +
  87231. (((c[ki >> 2] | 0) - 1) << 3) +
  87232. 4) >>
  87233. 2
  87234. ];
  87235. do {
  87236. if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
  87237. c[ni >> 2] =
  87238. om(
  87239. di,
  87240. c[Wh >> 2] | 0,
  87241. c[ii >> 2] | 0,
  87242. c[Th >> 2] | 0
  87243. ) | 0;
  87244. c[oi >> 2] = 0;
  87245. while (1) {
  87246. if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
  87247. break;
  87248. c[
  87249. ((c[bi >> 2] | 0) +
  87250. (((c[oi >> 2] | 0) * 28) | 0) +
  87251. 8) >>
  87252. 2
  87253. ] = 1;
  87254. c[
  87255. ((c[bi >> 2] | 0) +
  87256. (((c[oi >> 2] | 0) * 28) | 0)) >>
  87257. 2
  87258. ] = 1073741824;
  87259. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  87260. }
  87261. c[pi >> 2] = 0;
  87262. while (1) {
  87263. if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
  87264. break;
  87265. c[qi >> 2] =
  87266. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
  87267. c[ri >> 2] =
  87268. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
  87269. pm(
  87270. si,
  87271. c[Nh >> 2] | 0,
  87272. c[qi >> 2] | 0,
  87273. c[ji >> 2] | 0
  87274. );
  87275. while (1) {
  87276. if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
  87277. break;
  87278. aj = c[ni >> 2] | 0;
  87279. Zh = c[oi >> 2] | 0;
  87280. Uh = c[Th >> 2] | 0;
  87281. _i = c[Rh >> 2] | 0;
  87282. c[yd >> 2] = c[qi >> 2];
  87283. c[zd >> 2] = Zh;
  87284. c[Ad >> 2] = Uh;
  87285. c[Bd >> 2] = _i;
  87286. c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
  87287. c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
  87288. if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
  87289. _i =
  87290. ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
  87291. c[xd >> 2] = _i + (c[Dd >> 2] | 0);
  87292. } else {
  87293. _i =
  87294. ((c[Dd >> 2] | 0) +
  87295. (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
  87296. 0;
  87297. c[Cd >> 2] =
  87298. _i -
  87299. (qm(
  87300. ((c[
  87301. ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
  87302. (c[Dd >> 2] << 2)) >>
  87303. 2
  87304. ] |
  87305. 0) +
  87306. 1) |
  87307. 0
  87308. ) |
  87309. 0);
  87310. if (
  87311. ((c[Bd >> 2] | 0) < 2) &
  87312. ((c[Dd >> 2] | 0) >>> 0 >= 20)
  87313. )
  87314. c[Cd >> 2] =
  87315. (c[Cd >> 2] | 0) +
  87316. (((c[Dd >> 2] | 0) - 19) << 1);
  87317. c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
  87318. _i =
  87319. ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
  87320. (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
  87321. 0;
  87322. Uh =
  87323. (_i -
  87324. (qm(
  87325. ((c[
  87326. ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
  87327. (c[Fd >> 2] << 2)) >>
  87328. 2
  87329. ] |
  87330. 0) +
  87331. 1) |
  87332. 0
  87333. ) |
  87334. 0)) |
  87335. 0;
  87336. c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
  87337. c[xd >> 2] = c[Cd >> 2];
  87338. }
  87339. c[ti >> 2] = aj + (c[xd >> 2] | 0);
  87340. c[
  87341. ((c[bi >> 2] | 0) +
  87342. (((c[oi >> 2] | 0) * 28) | 0) +
  87343. 8) >>
  87344. 2
  87345. ] = c[oi >> 2];
  87346. c[
  87347. ((c[bi >> 2] | 0) +
  87348. (((c[oi >> 2] | 0) * 28) | 0) +
  87349. 4) >>
  87350. 2
  87351. ] = c[qi >> 2];
  87352. c[
  87353. ((c[bi >> 2] | 0) +
  87354. (((c[oi >> 2] | 0) * 28) | 0) +
  87355. 12) >>
  87356. 2
  87357. ] = c[ii >> 2];
  87358. c[
  87359. ((c[bi >> 2] | 0) +
  87360. (((c[oi >> 2] | 0) * 28) | 0)) >>
  87361. 2
  87362. ] = c[ti >> 2];
  87363. aj =
  87364. ((c[bi >> 2] | 0) +
  87365. (((c[oi >> 2] | 0) * 28) | 0) +
  87366. 16) |
  87367. 0;
  87368. c[aj >> 2] = c[si >> 2];
  87369. c[(aj + 4) >> 2] = c[(si + 4) >> 2];
  87370. c[(aj + 8) >> 2] = c[(si + 8) >> 2];
  87371. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  87372. }
  87373. c[pi >> 2] = (c[pi >> 2] | 0) + 1;
  87374. }
  87375. c[fi >> 2] = (c[oi >> 2] | 0) - 1;
  87376. c[ei >> 2] = 1;
  87377. b: while (1) {
  87378. if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
  87379. dj = 504;
  87380. break;
  87381. }
  87382. c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
  87383. if (
  87384. (c[
  87385. ((c[bi >> 2] | 0) +
  87386. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  87387. 8) >>
  87388. 2
  87389. ] |
  87390. 0) ==
  87391. 1
  87392. )
  87393. oj =
  87394. ((c[
  87395. ((c[bi >> 2] | 0) +
  87396. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  87397. 12) >>
  87398. 2
  87399. ] |
  87400. 0) +
  87401. 1) |
  87402. 0;
  87403. else oj = 1;
  87404. c[vi >> 2] = oj;
  87405. if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
  87406. aj =
  87407. c[
  87408. ((c[bi >> 2] | 0) +
  87409. (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
  87410. 0) *
  87411. 28) |
  87412. 0)) >>
  87413. 2
  87414. ] | 0;
  87415. c[wi >> 2] =
  87416. aj +
  87417. (sm(
  87418. ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
  87419. c[vi >> 2] | 0,
  87420. c[Th >> 2] | 0
  87421. ) |
  87422. 0);
  87423. } else
  87424. c[wi >> 2] =
  87425. tm(
  87426. di,
  87427. c[Wh >> 2] | 0,
  87428. c[vi >> 2] | 0,
  87429. c[Th >> 2] | 0
  87430. ) | 0;
  87431. if (
  87432. (c[wi >> 2] | 0) <=
  87433. (c[
  87434. ((c[bi >> 2] | 0) +
  87435. (((c[ei >> 2] | 0) * 28) | 0)) >>
  87436. 2
  87437. ] |
  87438. 0)
  87439. ) {
  87440. c[
  87441. ((c[bi >> 2] | 0) +
  87442. (((c[ei >> 2] | 0) * 28) | 0) +
  87443. 8) >>
  87444. 2
  87445. ] = 1;
  87446. c[
  87447. ((c[bi >> 2] | 0) +
  87448. (((c[ei >> 2] | 0) * 28) | 0) +
  87449. 4) >>
  87450. 2
  87451. ] = 0;
  87452. c[
  87453. ((c[bi >> 2] | 0) +
  87454. (((c[ei >> 2] | 0) * 28) | 0) +
  87455. 12) >>
  87456. 2
  87457. ] = c[vi >> 2];
  87458. c[
  87459. ((c[bi >> 2] | 0) +
  87460. (((c[ei >> 2] | 0) * 28) | 0)) >>
  87461. 2
  87462. ] = c[wi >> 2];
  87463. aj =
  87464. ((c[bi >> 2] | 0) +
  87465. (((c[ei >> 2] | 0) * 28) | 0) +
  87466. 16) |
  87467. 0;
  87468. Uh =
  87469. ((c[bi >> 2] | 0) +
  87470. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  87471. 16) |
  87472. 0;
  87473. c[aj >> 2] = c[Uh >> 2];
  87474. c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
  87475. c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
  87476. }
  87477. c: do {
  87478. if (
  87479. (c[ui >> 2] | 0) >>> 0 <=
  87480. (c[Yh >> 2] | 0) >>> 0
  87481. ) {
  87482. if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
  87483. dj = 504;
  87484. break b;
  87485. }
  87486. if (
  87487. (c[Rh >> 2] | 0) == 0
  87488. ? (c[
  87489. ((c[bi >> 2] | 0) +
  87490. (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
  87491. 0)) >>
  87492. 2
  87493. ] |
  87494. 0) <=
  87495. (c[
  87496. ((c[bi >> 2] | 0) +
  87497. (((c[ei >> 2] | 0) * 28) | 0)) >>
  87498. 2
  87499. ] |
  87500. 0)
  87501. : 0
  87502. )
  87503. break;
  87504. c[xi >> 2] =
  87505. ((c[
  87506. ((c[bi >> 2] | 0) +
  87507. (((c[ei >> 2] | 0) * 28) | 0) +
  87508. 8) >>
  87509. 2
  87510. ] |
  87511. 0) !=
  87512. 1) &
  87513. 1;
  87514. if (
  87515. (c[
  87516. ((c[bi >> 2] | 0) +
  87517. (((c[ei >> 2] | 0) * 28) | 0) +
  87518. 8) >>
  87519. 2
  87520. ] |
  87521. 0) ==
  87522. 1
  87523. )
  87524. pj =
  87525. c[
  87526. ((c[bi >> 2] | 0) +
  87527. (((c[ei >> 2] | 0) * 28) | 0) +
  87528. 12) >>
  87529. 2
  87530. ] | 0;
  87531. else pj = 0;
  87532. c[yi >> 2] = pj;
  87533. if (
  87534. (c[ei >> 2] | 0) >>> 0 >
  87535. (c[yi >> 2] | 0) >>> 0
  87536. )
  87537. qj =
  87538. c[
  87539. ((c[bi >> 2] | 0) +
  87540. (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
  87541. 0) *
  87542. 28) |
  87543. 0)) >>
  87544. 2
  87545. ] | 0;
  87546. else qj = 0;
  87547. c[zi >> 2] = qj;
  87548. Uh = c[zi >> 2] | 0;
  87549. c[Ai >> 2] =
  87550. Uh +
  87551. (um(
  87552. ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
  87553. 0,
  87554. c[yi >> 2] | 0,
  87555. c[Th >> 2] | 0
  87556. ) |
  87557. 0);
  87558. Uh = c[Oh >> 2] | 0;
  87559. aj = c[ui >> 2] | 0;
  87560. _i = c[Xh >> 2] | 0;
  87561. Zh = c[Sh >> 2] | 0;
  87562. Zi =
  87563. ((c[bi >> 2] | 0) +
  87564. (((c[ei >> 2] | 0) * 28) | 0) +
  87565. 16) |
  87566. 0;
  87567. Ph = c[xi >> 2] | 0;
  87568. Qh = c[ci >> 2] | 0;
  87569. _h = c[ai >> 2] | 0;
  87570. c[nd >> 2] = c[Lh >> 2];
  87571. c[od >> 2] = Uh;
  87572. c[pd >> 2] = aj;
  87573. c[qd >> 2] = _i;
  87574. c[rd >> 2] = Zh;
  87575. c[sd >> 2] = Zi;
  87576. c[td >> 2] = Ph;
  87577. c[ud >> 2] = Qh;
  87578. c[vd >> 2] = _h;
  87579. c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
  87580. d: do {
  87581. if (
  87582. (c[pd >> 2] | 0) >>> 0 <
  87583. (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
  87584. (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
  87585. 0) >>>
  87586. 0
  87587. )
  87588. c[md >> 2] = 0;
  87589. else {
  87590. _h = c[od >> 2] | 0;
  87591. Qh = c[pd >> 2] | 0;
  87592. Ph = c[qd >> 2] | 0;
  87593. Zi = c[wd >> 2] | 0;
  87594. Zh = c[rd >> 2] | 0;
  87595. c[dd >> 2] = c[nd >> 2];
  87596. c[ed >> 2] = _h;
  87597. c[fd >> 2] = Qh;
  87598. c[gd >> 2] = Ph;
  87599. c[hd >> 2] = Zi;
  87600. c[id >> 2] = Zh;
  87601. c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
  87602. c[kd >> 2] =
  87603. (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
  87604. c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
  87605. while (1) {
  87606. if (
  87607. (c[ld >> 2] | 0) >>> 0 >=
  87608. (c[kd >> 2] | 0) >>> 0
  87609. )
  87610. break;
  87611. Zh =
  87612. Rj(
  87613. c[dd >> 2] | 0,
  87614. c[ed >> 2] | 0,
  87615. ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
  87616. 0,
  87617. c[gd >> 2] | 0,
  87618. c[hd >> 2] | 0,
  87619. c[id >> 2] | 0
  87620. ) | 0;
  87621. c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
  87622. }
  87623. c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
  87624. switch (c[wd >> 2] | 0) {
  87625. case 3: {
  87626. Zh = c[od >> 2] | 0;
  87627. Zi = c[pd >> 2] | 0;
  87628. Ph = c[qd >> 2] | 0;
  87629. Qh = c[rd >> 2] | 0;
  87630. _h = c[sd >> 2] | 0;
  87631. _i = c[td >> 2] | 0;
  87632. aj = c[ud >> 2] | 0;
  87633. Uh = c[vd >> 2] | 0;
  87634. c[ic >> 2] = c[nd >> 2];
  87635. c[jc >> 2] = Zh;
  87636. c[kc >> 2] = Zi;
  87637. c[lc >> 2] = Ph;
  87638. c[mc >> 2] = Qh;
  87639. c[nc >> 2] = _h;
  87640. c[oc >> 2] = _i;
  87641. c[pc >> 2] = aj;
  87642. c[qc >> 2] = Uh;
  87643. c[rc >> 2] = 3;
  87644. if (
  87645. (c[((c[jc >> 2] | 0) + 20) >> 2] |
  87646. 0) >>>
  87647. 0 <
  87648. 4095
  87649. )
  87650. rj =
  87651. c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
  87652. else rj = 4095;
  87653. c[sc >> 2] = rj;
  87654. c[tc >> 2] =
  87655. c[((c[ic >> 2] | 0) + 4) >> 2];
  87656. c[uc >> 2] =
  87657. (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
  87658. c[vc >> 2] =
  87659. c[((c[jc >> 2] | 0) + 8) >> 2];
  87660. c[wc >> 2] =
  87661. (c[rc >> 2] | 0) == 3 ? 3 : 4;
  87662. c[xc >> 2] =
  87663. c[((c[ic >> 2] | 0) + 36) >> 2];
  87664. c[yc >> 2] =
  87665. Sj(
  87666. c[kc >> 2] | 0,
  87667. c[vc >> 2] | 0,
  87668. c[rc >> 2] | 0
  87669. ) | 0;
  87670. c[zc >> 2] =
  87671. c[
  87672. ((c[xc >> 2] | 0) +
  87673. (c[yc >> 2] << 2)) >>
  87674. 2
  87675. ];
  87676. c[Ac >> 2] =
  87677. c[((c[ic >> 2] | 0) + 44) >> 2];
  87678. c[Bc >> 2] =
  87679. (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
  87680. 1;
  87681. c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
  87682. c[Dc >> 2] = 0;
  87683. c[Ec >> 2] = 0;
  87684. c[Fc >> 2] =
  87685. c[((c[ic >> 2] | 0) + 8) >> 2];
  87686. c[Gc >> 2] =
  87687. c[((c[ic >> 2] | 0) + 12) >> 2];
  87688. c[Hc >> 2] =
  87689. (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
  87690. c[Ic >> 2] =
  87691. (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
  87692. if (
  87693. (c[Cc >> 2] | 0) >>> 0 >=
  87694. (c[uc >> 2] | 0) >>> 0
  87695. )
  87696. sj = 0;
  87697. else
  87698. sj =
  87699. ((c[uc >> 2] | 0) -
  87700. (c[Cc >> 2] | 0)) |
  87701. 0;
  87702. c[Jc >> 2] = sj;
  87703. c[Kc >> 2] =
  87704. c[((c[ic >> 2] | 0) + 16) >> 2];
  87705. c[Lc >> 2] =
  87706. (c[Ac >> 2] | 0) +
  87707. (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
  87708. c[Mc >> 2] =
  87709. (c[Ac >> 2] | 0) +
  87710. (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
  87711. 2) +
  87712. 4;
  87713. c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
  87714. c[Pc >> 2] = 0;
  87715. c[Qc >> 2] =
  87716. 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
  87717. c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
  87718. c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
  87719. c[Tc >> 2] = c[oc >> 2];
  87720. while (1) {
  87721. if (
  87722. (c[Tc >> 2] | 0) >>> 0 >=
  87723. (c[Sc >> 2] | 0) >>> 0
  87724. ) {
  87725. dj = 287;
  87726. break;
  87727. }
  87728. Uh = c[nc >> 2] | 0;
  87729. if ((c[Tc >> 2] | 0) == 3)
  87730. tj = ((c[Uh >> 2] | 0) - 1) | 0;
  87731. else
  87732. tj =
  87733. c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
  87734. 0;
  87735. c[Uc >> 2] = tj;
  87736. c[Vc >> 2] =
  87737. (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
  87738. c[Wc >> 2] = 0;
  87739. do {
  87740. if (
  87741. (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
  87742. (((c[uc >> 2] | 0) -
  87743. (c[Gc >> 2] | 0)) |
  87744. 0) >>>
  87745. 0
  87746. ) {
  87747. Uh =
  87748. mm(
  87749. c[kc >> 2] | 0,
  87750. c[wc >> 2] | 0
  87751. ) | 0;
  87752. if (
  87753. (Uh | 0) !=
  87754. (mm(
  87755. ((c[kc >> 2] | 0) +
  87756. (0 - (c[Uc >> 2] | 0))) |
  87757. 0,
  87758. c[wc >> 2] | 0
  87759. ) |
  87760. 0)
  87761. )
  87762. break;
  87763. Uh =
  87764. Tj(
  87765. ((c[kc >> 2] | 0) +
  87766. (c[wc >> 2] | 0)) |
  87767. 0,
  87768. ((c[kc >> 2] | 0) +
  87769. (c[wc >> 2] | 0) +
  87770. (0 - (c[Uc >> 2] | 0))) |
  87771. 0,
  87772. c[lc >> 2] | 0
  87773. ) | 0;
  87774. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  87775. } else {
  87776. c[Xc >> 2] =
  87777. (c[Fc >> 2] | 0) +
  87778. (c[Vc >> 2] | 0);
  87779. if (!(c[mc >> 2] | 0)) break;
  87780. if (
  87781. !(
  87782. ((((c[Gc >> 2] | 0) -
  87783. 1 -
  87784. (c[Vc >> 2] | 0)) |
  87785. 0) >>>
  87786. 0 >=
  87787. 3
  87788. ? (((c[Uc >> 2] | 0) - 1) |
  87789. 0) >>>
  87790. 0 <
  87791. (((c[uc >> 2] | 0) -
  87792. (c[Kc >> 2] | 0)) |
  87793. 0) >>>
  87794. 0
  87795. : 0) | 0
  87796. )
  87797. )
  87798. break;
  87799. Uh =
  87800. mm(
  87801. c[kc >> 2] | 0,
  87802. c[wc >> 2] | 0
  87803. ) | 0;
  87804. if (
  87805. (Uh | 0) !=
  87806. (mm(
  87807. c[Xc >> 2] | 0,
  87808. c[wc >> 2] | 0
  87809. ) |
  87810. 0)
  87811. )
  87812. break;
  87813. Uh =
  87814. Uj(
  87815. ((c[kc >> 2] | 0) +
  87816. (c[wc >> 2] | 0)) |
  87817. 0,
  87818. ((c[Xc >> 2] | 0) +
  87819. (c[wc >> 2] | 0)) |
  87820. 0,
  87821. c[lc >> 2] | 0,
  87822. c[Hc >> 2] | 0,
  87823. c[Ic >> 2] | 0
  87824. ) | 0;
  87825. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  87826. }
  87827. } while (0);
  87828. if (
  87829. (c[Wc >> 2] | 0) >>> 0 >
  87830. (c[Rc >> 2] | 0) >>> 0
  87831. ? ((c[Rc >> 2] = c[Wc >> 2]),
  87832. (c[
  87833. ((c[pc >> 2] | 0) +
  87834. (c[Pc >> 2] << 3)) >>
  87835. 2
  87836. ] =
  87837. (c[Tc >> 2] | 0) -
  87838. (c[oc >> 2] | 0)),
  87839. (c[
  87840. ((c[pc >> 2] | 0) +
  87841. (c[Pc >> 2] << 3) +
  87842. 4) >>
  87843. 2
  87844. ] = c[Wc >> 2]),
  87845. (c[Pc >> 2] =
  87846. (c[Pc >> 2] | 0) + 1),
  87847. ((c[Wc >> 2] | 0) >>> 0 >
  87848. (c[sc >> 2] | 0) >>> 0
  87849. ? 1
  87850. : (((c[kc >> 2] | 0) +
  87851. (c[Wc >> 2] | 0)) |
  87852. 0) ==
  87853. (c[lc >> 2] | 0)) | 0)
  87854. : 0
  87855. ) {
  87856. dj = 285;
  87857. break;
  87858. }
  87859. c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
  87860. }
  87861. e: do {
  87862. if ((dj | 0) == 285) {
  87863. dj = 0;
  87864. c[hc >> 2] = c[Pc >> 2];
  87865. } else if ((dj | 0) == 287) {
  87866. dj = 0;
  87867. do {
  87868. if ((c[rc >> 2] | 0) == 3) {
  87869. if (
  87870. (c[Rc >> 2] | 0) >>> 0 >=
  87871. (c[rc >> 2] | 0) >>> 0
  87872. )
  87873. break;
  87874. c[Yc >> 2] =
  87875. nm(
  87876. c[ic >> 2] | 0,
  87877. c[kc >> 2] | 0
  87878. ) | 0;
  87879. if (
  87880. !(
  87881. ((c[Yc >> 2] | 0) >>> 0 >
  87882. (c[Kc >> 2] | 0) >>> 0
  87883. ? (((c[uc >> 2] | 0) -
  87884. (c[Yc >> 2] | 0)) |
  87885. 0) >>>
  87886. 0 <
  87887. 262144
  87888. : 0) | 0
  87889. )
  87890. )
  87891. break;
  87892. do {
  87893. if (c[mc >> 2] | 0) {
  87894. if (
  87895. (c[Yc >> 2] | 0) >>> 0 >=
  87896. (c[Gc >> 2] | 0) >>> 0
  87897. ) {
  87898. dj = 292;
  87899. break;
  87900. }
  87901. c[$c >> 2] =
  87902. (c[Fc >> 2] | 0) +
  87903. (c[Yc >> 2] | 0);
  87904. c[Zc >> 2] =
  87905. Uj(
  87906. c[kc >> 2] | 0,
  87907. c[$c >> 2] | 0,
  87908. c[lc >> 2] | 0,
  87909. c[Hc >> 2] | 0,
  87910. c[Ic >> 2] | 0
  87911. ) | 0;
  87912. } else dj = 292;
  87913. } while (0);
  87914. if ((dj | 0) == 292) {
  87915. dj = 0;
  87916. c[_c >> 2] =
  87917. (c[tc >> 2] | 0) +
  87918. (c[Yc >> 2] | 0);
  87919. c[Zc >> 2] =
  87920. Tj(
  87921. c[kc >> 2] | 0,
  87922. c[_c >> 2] | 0,
  87923. c[lc >> 2] | 0
  87924. ) | 0;
  87925. }
  87926. if (
  87927. (c[Zc >> 2] | 0) >>> 0 <
  87928. (c[rc >> 2] | 0) >>> 0
  87929. )
  87930. break;
  87931. c[Rc >> 2] = c[Zc >> 2];
  87932. c[c[pc >> 2] >> 2] =
  87933. (c[uc >> 2] | 0) -
  87934. (c[Yc >> 2] | 0) +
  87935. 2;
  87936. c[((c[pc >> 2] | 0) + 4) >> 2] =
  87937. c[Zc >> 2];
  87938. c[Pc >> 2] = 1;
  87939. if (
  87940. !(
  87941. ((c[Zc >> 2] | 0) >>> 0 >
  87942. (c[sc >> 2] | 0) >>> 0
  87943. ? 1
  87944. : (((c[kc >> 2] | 0) +
  87945. (c[Zc >> 2] | 0)) |
  87946. 0) ==
  87947. (c[lc >> 2] | 0)) | 0
  87948. )
  87949. )
  87950. break;
  87951. c[((c[ic >> 2] | 0) + 24) >> 2] =
  87952. (c[uc >> 2] | 0) + 1;
  87953. c[hc >> 2] = 1;
  87954. break e;
  87955. }
  87956. } while (0);
  87957. c[
  87958. ((c[xc >> 2] | 0) +
  87959. (c[yc >> 2] << 2)) >>
  87960. 2
  87961. ] = c[uc >> 2];
  87962. while (1) {
  87963. Uh = c[Qc >> 2] | 0;
  87964. c[Qc >> 2] = Uh + -1;
  87965. if (!Uh) break;
  87966. if (
  87967. (c[zc >> 2] | 0) >>> 0 <=
  87968. (c[Kc >> 2] | 0) >>> 0
  87969. )
  87970. break;
  87971. c[ad >> 2] =
  87972. (c[Ac >> 2] | 0) +
  87973. (((c[zc >> 2] & c[Cc >> 2]) <<
  87974. 1) <<
  87975. 2);
  87976. c[bd >> 2] =
  87977. (c[Dc >> 2] | 0) >>> 0 <
  87978. (c[Ec >> 2] | 0) >>> 0
  87979. ? c[Dc >> 2] | 0
  87980. : c[Ec >> 2] | 0;
  87981. do {
  87982. if (c[mc >> 2] | 0) {
  87983. if (
  87984. (((c[zc >> 2] | 0) +
  87985. (c[bd >> 2] | 0)) |
  87986. 0) >>>
  87987. 0 >=
  87988. (c[Gc >> 2] | 0) >>> 0
  87989. ) {
  87990. dj = 302;
  87991. break;
  87992. }
  87993. c[cd >> 2] =
  87994. (c[Fc >> 2] | 0) +
  87995. (c[zc >> 2] | 0);
  87996. Uh =
  87997. Uj(
  87998. ((c[kc >> 2] | 0) +
  87999. (c[bd >> 2] | 0)) |
  88000. 0,
  88001. ((c[cd >> 2] | 0) +
  88002. (c[bd >> 2] | 0)) |
  88003. 0,
  88004. c[lc >> 2] | 0,
  88005. c[Hc >> 2] | 0,
  88006. c[Ic >> 2] | 0
  88007. ) | 0;
  88008. c[bd >> 2] =
  88009. (c[bd >> 2] | 0) + Uh;
  88010. if (
  88011. (((c[zc >> 2] | 0) +
  88012. (c[bd >> 2] | 0)) |
  88013. 0) >>>
  88014. 0 <
  88015. (c[Gc >> 2] | 0) >>> 0
  88016. )
  88017. break;
  88018. c[cd >> 2] =
  88019. (c[tc >> 2] | 0) +
  88020. (c[zc >> 2] | 0);
  88021. } else dj = 302;
  88022. } while (0);
  88023. if ((dj | 0) == 302) {
  88024. dj = 0;
  88025. c[cd >> 2] =
  88026. (c[tc >> 2] | 0) +
  88027. (c[zc >> 2] | 0);
  88028. Uh =
  88029. Tj(
  88030. ((c[kc >> 2] | 0) +
  88031. (c[bd >> 2] | 0)) |
  88032. 0,
  88033. ((c[cd >> 2] | 0) +
  88034. (c[bd >> 2] | 0)) |
  88035. 0,
  88036. c[lc >> 2] | 0
  88037. ) | 0;
  88038. c[bd >> 2] =
  88039. (c[bd >> 2] | 0) + Uh;
  88040. }
  88041. if (
  88042. (c[bd >> 2] | 0) >>> 0 >
  88043. (c[Rc >> 2] | 0) >>> 0
  88044. ) {
  88045. if (
  88046. (c[bd >> 2] | 0) >>> 0 >
  88047. (((c[Nc >> 2] | 0) -
  88048. (c[zc >> 2] | 0)) |
  88049. 0) >>>
  88050. 0
  88051. )
  88052. c[Nc >> 2] =
  88053. (c[zc >> 2] | 0) +
  88054. (c[bd >> 2] | 0);
  88055. c[Rc >> 2] = c[bd >> 2];
  88056. c[
  88057. ((c[pc >> 2] | 0) +
  88058. (c[Pc >> 2] << 3)) >>
  88059. 2
  88060. ] =
  88061. (c[uc >> 2] | 0) -
  88062. (c[zc >> 2] | 0) +
  88063. 2;
  88064. c[
  88065. ((c[pc >> 2] | 0) +
  88066. (c[Pc >> 2] << 3) +
  88067. 4) >>
  88068. 2
  88069. ] = c[bd >> 2];
  88070. c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
  88071. if ((c[bd >> 2] | 0) >>> 0 > 4096)
  88072. break;
  88073. if (
  88074. (((c[kc >> 2] | 0) +
  88075. (c[bd >> 2] | 0)) |
  88076. 0) ==
  88077. (c[lc >> 2] | 0)
  88078. )
  88079. break;
  88080. }
  88081. Uh = c[zc >> 2] | 0;
  88082. if (
  88083. (d[
  88084. ((c[cd >> 2] | 0) +
  88085. (c[bd >> 2] | 0)) >>
  88086. 0
  88087. ] |
  88088. 0 |
  88089. 0) <
  88090. (d[
  88091. ((c[kc >> 2] | 0) +
  88092. (c[bd >> 2] | 0)) >>
  88093. 0
  88094. ] |
  88095. 0 |
  88096. 0)
  88097. ) {
  88098. c[c[Lc >> 2] >> 2] = Uh;
  88099. c[Dc >> 2] = c[bd >> 2];
  88100. if (
  88101. (c[zc >> 2] | 0) >>> 0 <=
  88102. (c[Jc >> 2] | 0) >>> 0
  88103. ) {
  88104. dj = 312;
  88105. break;
  88106. }
  88107. c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
  88108. c[zc >> 2] =
  88109. c[((c[ad >> 2] | 0) + 4) >> 2];
  88110. } else {
  88111. c[c[Mc >> 2] >> 2] = Uh;
  88112. c[Ec >> 2] = c[bd >> 2];
  88113. if (
  88114. (c[zc >> 2] | 0) >>> 0 <=
  88115. (c[Jc >> 2] | 0) >>> 0
  88116. ) {
  88117. dj = 315;
  88118. break;
  88119. }
  88120. c[Mc >> 2] = c[ad >> 2];
  88121. c[zc >> 2] = c[c[ad >> 2] >> 2];
  88122. }
  88123. }
  88124. if ((dj | 0) == 312) {
  88125. dj = 0;
  88126. c[Lc >> 2] = Oc;
  88127. } else if ((dj | 0) == 315) {
  88128. dj = 0;
  88129. c[Mc >> 2] = Oc;
  88130. }
  88131. c[c[Mc >> 2] >> 2] = 0;
  88132. c[c[Lc >> 2] >> 2] = 0;
  88133. c[((c[ic >> 2] | 0) + 24) >> 2] =
  88134. (c[Nc >> 2] | 0) - 8;
  88135. c[hc >> 2] = c[Pc >> 2];
  88136. }
  88137. } while (0);
  88138. c[md >> 2] = c[hc >> 2];
  88139. break d;
  88140. break;
  88141. }
  88142. case 7:
  88143. case 6: {
  88144. Uh = c[od >> 2] | 0;
  88145. aj = c[pd >> 2] | 0;
  88146. _i = c[qd >> 2] | 0;
  88147. _h = c[rd >> 2] | 0;
  88148. Qh = c[sd >> 2] | 0;
  88149. Ph = c[td >> 2] | 0;
  88150. Zi = c[ud >> 2] | 0;
  88151. Zh = c[vd >> 2] | 0;
  88152. c[u >> 2] = c[nd >> 2];
  88153. c[v >> 2] = Uh;
  88154. c[w >> 2] = aj;
  88155. c[x >> 2] = _i;
  88156. c[y >> 2] = _h;
  88157. c[z >> 2] = Qh;
  88158. c[A >> 2] = Ph;
  88159. c[B >> 2] = Zi;
  88160. c[C >> 2] = Zh;
  88161. c[D >> 2] = 6;
  88162. if (
  88163. (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
  88164. 0 <
  88165. 4095
  88166. )
  88167. uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
  88168. else uj = 4095;
  88169. c[E >> 2] = uj;
  88170. c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
  88171. c[G >> 2] =
  88172. (c[w >> 2] | 0) - (c[F >> 2] | 0);
  88173. c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
  88174. c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
  88175. c[J >> 2] =
  88176. c[((c[u >> 2] | 0) + 36) >> 2];
  88177. c[K >> 2] =
  88178. Sj(
  88179. c[w >> 2] | 0,
  88180. c[H >> 2] | 0,
  88181. c[D >> 2] | 0
  88182. ) | 0;
  88183. c[L >> 2] =
  88184. c[
  88185. ((c[J >> 2] | 0) +
  88186. (c[K >> 2] << 2)) >>
  88187. 2
  88188. ];
  88189. c[M >> 2] =
  88190. c[((c[u >> 2] | 0) + 44) >> 2];
  88191. c[N >> 2] =
  88192. (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
  88193. c[O >> 2] = (1 << c[N >> 2]) - 1;
  88194. c[P >> 2] = 0;
  88195. c[Q >> 2] = 0;
  88196. c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
  88197. c[S >> 2] =
  88198. c[((c[u >> 2] | 0) + 12) >> 2];
  88199. c[T >> 2] =
  88200. (c[R >> 2] | 0) + (c[S >> 2] | 0);
  88201. c[U >> 2] =
  88202. (c[F >> 2] | 0) + (c[S >> 2] | 0);
  88203. if (
  88204. (c[O >> 2] | 0) >>> 0 >=
  88205. (c[G >> 2] | 0) >>> 0
  88206. )
  88207. vj = 0;
  88208. else
  88209. vj =
  88210. ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
  88211. 0;
  88212. c[V >> 2] = vj;
  88213. c[W >> 2] =
  88214. c[((c[u >> 2] | 0) + 16) >> 2];
  88215. c[X >> 2] =
  88216. (c[M >> 2] | 0) +
  88217. (((c[G >> 2] & c[O >> 2]) << 1) << 2);
  88218. c[Y >> 2] =
  88219. (c[M >> 2] | 0) +
  88220. (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
  88221. 4;
  88222. c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
  88223. c[$ >> 2] = 0;
  88224. c[aa >> 2] =
  88225. 1 << c[((c[v >> 2] | 0) + 12) >> 2];
  88226. c[ba >> 2] = (c[C >> 2] | 0) - 1;
  88227. c[ca >> 2] = 3 + (c[A >> 2] | 0);
  88228. c[da >> 2] = c[A >> 2];
  88229. while (1) {
  88230. if (
  88231. (c[da >> 2] | 0) >>> 0 >=
  88232. (c[ca >> 2] | 0) >>> 0
  88233. ) {
  88234. dj = 446;
  88235. break;
  88236. }
  88237. Zh = c[z >> 2] | 0;
  88238. if ((c[da >> 2] | 0) == 3)
  88239. wj = ((c[Zh >> 2] | 0) - 1) | 0;
  88240. else
  88241. wj =
  88242. c[(Zh + (c[da >> 2] << 2)) >> 2] |
  88243. 0;
  88244. c[ea >> 2] = wj;
  88245. c[fa >> 2] =
  88246. (c[G >> 2] | 0) - (c[ea >> 2] | 0);
  88247. c[ga >> 2] = 0;
  88248. do {
  88249. if (
  88250. (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
  88251. (((c[G >> 2] | 0) -
  88252. (c[S >> 2] | 0)) |
  88253. 0) >>>
  88254. 0
  88255. ) {
  88256. Zh =
  88257. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  88258. 0;
  88259. if (
  88260. (Zh | 0) !=
  88261. (mm(
  88262. ((c[w >> 2] | 0) +
  88263. (0 - (c[ea >> 2] | 0))) |
  88264. 0,
  88265. c[I >> 2] | 0
  88266. ) |
  88267. 0)
  88268. )
  88269. break;
  88270. Zh =
  88271. Tj(
  88272. ((c[w >> 2] | 0) +
  88273. (c[I >> 2] | 0)) |
  88274. 0,
  88275. ((c[w >> 2] | 0) +
  88276. (c[I >> 2] | 0) +
  88277. (0 - (c[ea >> 2] | 0))) |
  88278. 0,
  88279. c[x >> 2] | 0
  88280. ) | 0;
  88281. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  88282. } else {
  88283. c[ha >> 2] =
  88284. (c[R >> 2] | 0) +
  88285. (c[fa >> 2] | 0);
  88286. if (!(c[y >> 2] | 0)) break;
  88287. if (
  88288. !(
  88289. ((((c[S >> 2] | 0) -
  88290. 1 -
  88291. (c[fa >> 2] | 0)) |
  88292. 0) >>>
  88293. 0 >=
  88294. 3
  88295. ? (((c[ea >> 2] | 0) - 1) |
  88296. 0) >>>
  88297. 0 <
  88298. (((c[G >> 2] | 0) -
  88299. (c[W >> 2] | 0)) |
  88300. 0) >>>
  88301. 0
  88302. : 0) | 0
  88303. )
  88304. )
  88305. break;
  88306. Zh =
  88307. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  88308. 0;
  88309. if (
  88310. (Zh | 0) !=
  88311. (mm(
  88312. c[ha >> 2] | 0,
  88313. c[I >> 2] | 0
  88314. ) |
  88315. 0)
  88316. )
  88317. break;
  88318. Zh =
  88319. Uj(
  88320. ((c[w >> 2] | 0) +
  88321. (c[I >> 2] | 0)) |
  88322. 0,
  88323. ((c[ha >> 2] | 0) +
  88324. (c[I >> 2] | 0)) |
  88325. 0,
  88326. c[x >> 2] | 0,
  88327. c[T >> 2] | 0,
  88328. c[U >> 2] | 0
  88329. ) | 0;
  88330. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  88331. }
  88332. } while (0);
  88333. if (
  88334. (c[ga >> 2] | 0) >>> 0 >
  88335. (c[ba >> 2] | 0) >>> 0
  88336. ? ((c[ba >> 2] = c[ga >> 2]),
  88337. (c[
  88338. ((c[B >> 2] | 0) +
  88339. (c[$ >> 2] << 3)) >>
  88340. 2
  88341. ] =
  88342. (c[da >> 2] | 0) -
  88343. (c[A >> 2] | 0)),
  88344. (c[
  88345. ((c[B >> 2] | 0) +
  88346. (c[$ >> 2] << 3) +
  88347. 4) >>
  88348. 2
  88349. ] = c[ga >> 2]),
  88350. (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
  88351. ((c[ga >> 2] | 0) >>> 0 >
  88352. (c[E >> 2] | 0) >>> 0
  88353. ? 1
  88354. : (((c[w >> 2] | 0) +
  88355. (c[ga >> 2] | 0)) |
  88356. 0) ==
  88357. (c[x >> 2] | 0)) | 0)
  88358. : 0
  88359. ) {
  88360. dj = 444;
  88361. break;
  88362. }
  88363. c[da >> 2] = (c[da >> 2] | 0) + 1;
  88364. }
  88365. f: do {
  88366. if ((dj | 0) == 444) {
  88367. dj = 0;
  88368. c[t >> 2] = c[$ >> 2];
  88369. } else if ((dj | 0) == 446) {
  88370. dj = 0;
  88371. do {
  88372. if ((c[D >> 2] | 0) == 3) {
  88373. if (
  88374. (c[ba >> 2] | 0) >>> 0 >=
  88375. (c[D >> 2] | 0) >>> 0
  88376. )
  88377. break;
  88378. c[ia >> 2] =
  88379. nm(
  88380. c[u >> 2] | 0,
  88381. c[w >> 2] | 0
  88382. ) | 0;
  88383. if (
  88384. !(
  88385. ((c[ia >> 2] | 0) >>> 0 >
  88386. (c[W >> 2] | 0) >>> 0
  88387. ? (((c[G >> 2] | 0) -
  88388. (c[ia >> 2] | 0)) |
  88389. 0) >>>
  88390. 0 <
  88391. 262144
  88392. : 0) | 0
  88393. )
  88394. )
  88395. break;
  88396. do {
  88397. if (c[y >> 2] | 0) {
  88398. if (
  88399. (c[ia >> 2] | 0) >>> 0 >=
  88400. (c[S >> 2] | 0) >>> 0
  88401. ) {
  88402. dj = 451;
  88403. break;
  88404. }
  88405. c[la >> 2] =
  88406. (c[R >> 2] | 0) +
  88407. (c[ia >> 2] | 0);
  88408. c[ja >> 2] =
  88409. Uj(
  88410. c[w >> 2] | 0,
  88411. c[la >> 2] | 0,
  88412. c[x >> 2] | 0,
  88413. c[T >> 2] | 0,
  88414. c[U >> 2] | 0
  88415. ) | 0;
  88416. } else dj = 451;
  88417. } while (0);
  88418. if ((dj | 0) == 451) {
  88419. dj = 0;
  88420. c[ka >> 2] =
  88421. (c[F >> 2] | 0) +
  88422. (c[ia >> 2] | 0);
  88423. c[ja >> 2] =
  88424. Tj(
  88425. c[w >> 2] | 0,
  88426. c[ka >> 2] | 0,
  88427. c[x >> 2] | 0
  88428. ) | 0;
  88429. }
  88430. if (
  88431. (c[ja >> 2] | 0) >>> 0 <
  88432. (c[D >> 2] | 0) >>> 0
  88433. )
  88434. break;
  88435. c[ba >> 2] = c[ja >> 2];
  88436. c[c[B >> 2] >> 2] =
  88437. (c[G >> 2] | 0) -
  88438. (c[ia >> 2] | 0) +
  88439. 2;
  88440. c[((c[B >> 2] | 0) + 4) >> 2] =
  88441. c[ja >> 2];
  88442. c[$ >> 2] = 1;
  88443. if (
  88444. !(
  88445. ((c[ja >> 2] | 0) >>> 0 >
  88446. (c[E >> 2] | 0) >>> 0
  88447. ? 1
  88448. : (((c[w >> 2] | 0) +
  88449. (c[ja >> 2] | 0)) |
  88450. 0) ==
  88451. (c[x >> 2] | 0)) | 0
  88452. )
  88453. )
  88454. break;
  88455. c[((c[u >> 2] | 0) + 24) >> 2] =
  88456. (c[G >> 2] | 0) + 1;
  88457. c[t >> 2] = 1;
  88458. break f;
  88459. }
  88460. } while (0);
  88461. c[
  88462. ((c[J >> 2] | 0) +
  88463. (c[K >> 2] << 2)) >>
  88464. 2
  88465. ] = c[G >> 2];
  88466. while (1) {
  88467. Zh = c[aa >> 2] | 0;
  88468. c[aa >> 2] = Zh + -1;
  88469. if (!Zh) break;
  88470. if (
  88471. (c[L >> 2] | 0) >>> 0 <=
  88472. (c[W >> 2] | 0) >>> 0
  88473. )
  88474. break;
  88475. c[ma >> 2] =
  88476. (c[M >> 2] | 0) +
  88477. (((c[L >> 2] & c[O >> 2]) << 1) <<
  88478. 2);
  88479. c[na >> 2] =
  88480. (c[P >> 2] | 0) >>> 0 <
  88481. (c[Q >> 2] | 0) >>> 0
  88482. ? c[P >> 2] | 0
  88483. : c[Q >> 2] | 0;
  88484. do {
  88485. if (c[y >> 2] | 0) {
  88486. if (
  88487. (((c[L >> 2] | 0) +
  88488. (c[na >> 2] | 0)) |
  88489. 0) >>>
  88490. 0 >=
  88491. (c[S >> 2] | 0) >>> 0
  88492. ) {
  88493. dj = 461;
  88494. break;
  88495. }
  88496. c[oa >> 2] =
  88497. (c[R >> 2] | 0) +
  88498. (c[L >> 2] | 0);
  88499. Zh =
  88500. Uj(
  88501. ((c[w >> 2] | 0) +
  88502. (c[na >> 2] | 0)) |
  88503. 0,
  88504. ((c[oa >> 2] | 0) +
  88505. (c[na >> 2] | 0)) |
  88506. 0,
  88507. c[x >> 2] | 0,
  88508. c[T >> 2] | 0,
  88509. c[U >> 2] | 0
  88510. ) | 0;
  88511. c[na >> 2] =
  88512. (c[na >> 2] | 0) + Zh;
  88513. if (
  88514. (((c[L >> 2] | 0) +
  88515. (c[na >> 2] | 0)) |
  88516. 0) >>>
  88517. 0 <
  88518. (c[S >> 2] | 0) >>> 0
  88519. )
  88520. break;
  88521. c[oa >> 2] =
  88522. (c[F >> 2] | 0) +
  88523. (c[L >> 2] | 0);
  88524. } else dj = 461;
  88525. } while (0);
  88526. if ((dj | 0) == 461) {
  88527. dj = 0;
  88528. c[oa >> 2] =
  88529. (c[F >> 2] | 0) +
  88530. (c[L >> 2] | 0);
  88531. Zh =
  88532. Tj(
  88533. ((c[w >> 2] | 0) +
  88534. (c[na >> 2] | 0)) |
  88535. 0,
  88536. ((c[oa >> 2] | 0) +
  88537. (c[na >> 2] | 0)) |
  88538. 0,
  88539. c[x >> 2] | 0
  88540. ) | 0;
  88541. c[na >> 2] =
  88542. (c[na >> 2] | 0) + Zh;
  88543. }
  88544. if (
  88545. (c[na >> 2] | 0) >>> 0 >
  88546. (c[ba >> 2] | 0) >>> 0
  88547. ) {
  88548. if (
  88549. (c[na >> 2] | 0) >>> 0 >
  88550. (((c[Z >> 2] | 0) -
  88551. (c[L >> 2] | 0)) |
  88552. 0) >>>
  88553. 0
  88554. )
  88555. c[Z >> 2] =
  88556. (c[L >> 2] | 0) +
  88557. (c[na >> 2] | 0);
  88558. c[ba >> 2] = c[na >> 2];
  88559. c[
  88560. ((c[B >> 2] | 0) +
  88561. (c[$ >> 2] << 3)) >>
  88562. 2
  88563. ] =
  88564. (c[G >> 2] | 0) -
  88565. (c[L >> 2] | 0) +
  88566. 2;
  88567. c[
  88568. ((c[B >> 2] | 0) +
  88569. (c[$ >> 2] << 3) +
  88570. 4) >>
  88571. 2
  88572. ] = c[na >> 2];
  88573. c[$ >> 2] = (c[$ >> 2] | 0) + 1;
  88574. if ((c[na >> 2] | 0) >>> 0 > 4096)
  88575. break;
  88576. if (
  88577. (((c[w >> 2] | 0) +
  88578. (c[na >> 2] | 0)) |
  88579. 0) ==
  88580. (c[x >> 2] | 0)
  88581. )
  88582. break;
  88583. }
  88584. Zh = c[L >> 2] | 0;
  88585. if (
  88586. (d[
  88587. ((c[oa >> 2] | 0) +
  88588. (c[na >> 2] | 0)) >>
  88589. 0
  88590. ] |
  88591. 0 |
  88592. 0) <
  88593. (d[
  88594. ((c[w >> 2] | 0) +
  88595. (c[na >> 2] | 0)) >>
  88596. 0
  88597. ] |
  88598. 0 |
  88599. 0)
  88600. ) {
  88601. c[c[X >> 2] >> 2] = Zh;
  88602. c[P >> 2] = c[na >> 2];
  88603. if (
  88604. (c[L >> 2] | 0) >>> 0 <=
  88605. (c[V >> 2] | 0) >>> 0
  88606. ) {
  88607. dj = 471;
  88608. break;
  88609. }
  88610. c[X >> 2] = (c[ma >> 2] | 0) + 4;
  88611. c[L >> 2] =
  88612. c[((c[ma >> 2] | 0) + 4) >> 2];
  88613. } else {
  88614. c[c[Y >> 2] >> 2] = Zh;
  88615. c[Q >> 2] = c[na >> 2];
  88616. if (
  88617. (c[L >> 2] | 0) >>> 0 <=
  88618. (c[V >> 2] | 0) >>> 0
  88619. ) {
  88620. dj = 474;
  88621. break;
  88622. }
  88623. c[Y >> 2] = c[ma >> 2];
  88624. c[L >> 2] = c[c[ma >> 2] >> 2];
  88625. }
  88626. }
  88627. if ((dj | 0) == 471) {
  88628. dj = 0;
  88629. c[X >> 2] = _;
  88630. } else if ((dj | 0) == 474) {
  88631. dj = 0;
  88632. c[Y >> 2] = _;
  88633. }
  88634. c[c[Y >> 2] >> 2] = 0;
  88635. c[c[X >> 2] >> 2] = 0;
  88636. c[((c[u >> 2] | 0) + 24) >> 2] =
  88637. (c[Z >> 2] | 0) - 8;
  88638. c[t >> 2] = c[$ >> 2];
  88639. }
  88640. } while (0);
  88641. c[md >> 2] = c[t >> 2];
  88642. break d;
  88643. break;
  88644. }
  88645. case 5: {
  88646. Zh = c[od >> 2] | 0;
  88647. Zi = c[pd >> 2] | 0;
  88648. Ph = c[qd >> 2] | 0;
  88649. Qh = c[rd >> 2] | 0;
  88650. _h = c[sd >> 2] | 0;
  88651. _i = c[td >> 2] | 0;
  88652. aj = c[ud >> 2] | 0;
  88653. Uh = c[vd >> 2] | 0;
  88654. c[qa >> 2] = c[nd >> 2];
  88655. c[ra >> 2] = Zh;
  88656. c[sa >> 2] = Zi;
  88657. c[ta >> 2] = Ph;
  88658. c[ua >> 2] = Qh;
  88659. c[va >> 2] = _h;
  88660. c[wa >> 2] = _i;
  88661. c[xa >> 2] = aj;
  88662. c[ya >> 2] = Uh;
  88663. c[za >> 2] = 5;
  88664. if (
  88665. (c[((c[ra >> 2] | 0) + 20) >> 2] |
  88666. 0) >>>
  88667. 0 <
  88668. 4095
  88669. )
  88670. xj =
  88671. c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
  88672. else xj = 4095;
  88673. c[Aa >> 2] = xj;
  88674. c[Ba >> 2] =
  88675. c[((c[qa >> 2] | 0) + 4) >> 2];
  88676. c[Ca >> 2] =
  88677. (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
  88678. c[Da >> 2] =
  88679. c[((c[ra >> 2] | 0) + 8) >> 2];
  88680. c[Ea >> 2] =
  88681. (c[za >> 2] | 0) == 3 ? 3 : 4;
  88682. c[Fa >> 2] =
  88683. c[((c[qa >> 2] | 0) + 36) >> 2];
  88684. c[Ga >> 2] =
  88685. Sj(
  88686. c[sa >> 2] | 0,
  88687. c[Da >> 2] | 0,
  88688. c[za >> 2] | 0
  88689. ) | 0;
  88690. c[Ha >> 2] =
  88691. c[
  88692. ((c[Fa >> 2] | 0) +
  88693. (c[Ga >> 2] << 2)) >>
  88694. 2
  88695. ];
  88696. c[Ia >> 2] =
  88697. c[((c[qa >> 2] | 0) + 44) >> 2];
  88698. c[Ja >> 2] =
  88699. (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
  88700. 1;
  88701. c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
  88702. c[La >> 2] = 0;
  88703. c[Ma >> 2] = 0;
  88704. c[Na >> 2] =
  88705. c[((c[qa >> 2] | 0) + 8) >> 2];
  88706. c[Oa >> 2] =
  88707. c[((c[qa >> 2] | 0) + 12) >> 2];
  88708. c[Pa >> 2] =
  88709. (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
  88710. c[Qa >> 2] =
  88711. (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
  88712. if (
  88713. (c[Ka >> 2] | 0) >>> 0 >=
  88714. (c[Ca >> 2] | 0) >>> 0
  88715. )
  88716. yj = 0;
  88717. else
  88718. yj =
  88719. ((c[Ca >> 2] | 0) -
  88720. (c[Ka >> 2] | 0)) |
  88721. 0;
  88722. c[Ra >> 2] = yj;
  88723. c[Sa >> 2] =
  88724. c[((c[qa >> 2] | 0) + 16) >> 2];
  88725. c[Ta >> 2] =
  88726. (c[Ia >> 2] | 0) +
  88727. (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
  88728. c[Ua >> 2] =
  88729. (c[Ia >> 2] | 0) +
  88730. (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
  88731. 2) +
  88732. 4;
  88733. c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
  88734. c[Xa >> 2] = 0;
  88735. c[Ya >> 2] =
  88736. 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
  88737. c[Za >> 2] = (c[ya >> 2] | 0) - 1;
  88738. c[_a >> 2] = 3 + (c[wa >> 2] | 0);
  88739. c[$a >> 2] = c[wa >> 2];
  88740. while (1) {
  88741. if (
  88742. (c[$a >> 2] | 0) >>> 0 >=
  88743. (c[_a >> 2] | 0) >>> 0
  88744. ) {
  88745. dj = 393;
  88746. break;
  88747. }
  88748. Uh = c[va >> 2] | 0;
  88749. if ((c[$a >> 2] | 0) == 3)
  88750. zj = ((c[Uh >> 2] | 0) - 1) | 0;
  88751. else
  88752. zj =
  88753. c[(Uh + (c[$a >> 2] << 2)) >> 2] |
  88754. 0;
  88755. c[ab >> 2] = zj;
  88756. c[bb >> 2] =
  88757. (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
  88758. c[cb >> 2] = 0;
  88759. do {
  88760. if (
  88761. (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
  88762. (((c[Ca >> 2] | 0) -
  88763. (c[Oa >> 2] | 0)) |
  88764. 0) >>>
  88765. 0
  88766. ) {
  88767. Uh =
  88768. mm(
  88769. c[sa >> 2] | 0,
  88770. c[Ea >> 2] | 0
  88771. ) | 0;
  88772. if (
  88773. (Uh | 0) !=
  88774. (mm(
  88775. ((c[sa >> 2] | 0) +
  88776. (0 - (c[ab >> 2] | 0))) |
  88777. 0,
  88778. c[Ea >> 2] | 0
  88779. ) |
  88780. 0)
  88781. )
  88782. break;
  88783. Uh =
  88784. Tj(
  88785. ((c[sa >> 2] | 0) +
  88786. (c[Ea >> 2] | 0)) |
  88787. 0,
  88788. ((c[sa >> 2] | 0) +
  88789. (c[Ea >> 2] | 0) +
  88790. (0 - (c[ab >> 2] | 0))) |
  88791. 0,
  88792. c[ta >> 2] | 0
  88793. ) | 0;
  88794. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  88795. } else {
  88796. c[db >> 2] =
  88797. (c[Na >> 2] | 0) +
  88798. (c[bb >> 2] | 0);
  88799. if (!(c[ua >> 2] | 0)) break;
  88800. if (
  88801. !(
  88802. ((((c[Oa >> 2] | 0) -
  88803. 1 -
  88804. (c[bb >> 2] | 0)) |
  88805. 0) >>>
  88806. 0 >=
  88807. 3
  88808. ? (((c[ab >> 2] | 0) - 1) |
  88809. 0) >>>
  88810. 0 <
  88811. (((c[Ca >> 2] | 0) -
  88812. (c[Sa >> 2] | 0)) |
  88813. 0) >>>
  88814. 0
  88815. : 0) | 0
  88816. )
  88817. )
  88818. break;
  88819. Uh =
  88820. mm(
  88821. c[sa >> 2] | 0,
  88822. c[Ea >> 2] | 0
  88823. ) | 0;
  88824. if (
  88825. (Uh | 0) !=
  88826. (mm(
  88827. c[db >> 2] | 0,
  88828. c[Ea >> 2] | 0
  88829. ) |
  88830. 0)
  88831. )
  88832. break;
  88833. Uh =
  88834. Uj(
  88835. ((c[sa >> 2] | 0) +
  88836. (c[Ea >> 2] | 0)) |
  88837. 0,
  88838. ((c[db >> 2] | 0) +
  88839. (c[Ea >> 2] | 0)) |
  88840. 0,
  88841. c[ta >> 2] | 0,
  88842. c[Pa >> 2] | 0,
  88843. c[Qa >> 2] | 0
  88844. ) | 0;
  88845. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  88846. }
  88847. } while (0);
  88848. if (
  88849. (c[cb >> 2] | 0) >>> 0 >
  88850. (c[Za >> 2] | 0) >>> 0
  88851. ? ((c[Za >> 2] = c[cb >> 2]),
  88852. (c[
  88853. ((c[xa >> 2] | 0) +
  88854. (c[Xa >> 2] << 3)) >>
  88855. 2
  88856. ] =
  88857. (c[$a >> 2] | 0) -
  88858. (c[wa >> 2] | 0)),
  88859. (c[
  88860. ((c[xa >> 2] | 0) +
  88861. (c[Xa >> 2] << 3) +
  88862. 4) >>
  88863. 2
  88864. ] = c[cb >> 2]),
  88865. (c[Xa >> 2] =
  88866. (c[Xa >> 2] | 0) + 1),
  88867. ((c[cb >> 2] | 0) >>> 0 >
  88868. (c[Aa >> 2] | 0) >>> 0
  88869. ? 1
  88870. : (((c[sa >> 2] | 0) +
  88871. (c[cb >> 2] | 0)) |
  88872. 0) ==
  88873. (c[ta >> 2] | 0)) | 0)
  88874. : 0
  88875. ) {
  88876. dj = 391;
  88877. break;
  88878. }
  88879. c[$a >> 2] = (c[$a >> 2] | 0) + 1;
  88880. }
  88881. g: do {
  88882. if ((dj | 0) == 391) {
  88883. dj = 0;
  88884. c[pa >> 2] = c[Xa >> 2];
  88885. } else if ((dj | 0) == 393) {
  88886. dj = 0;
  88887. do {
  88888. if ((c[za >> 2] | 0) == 3) {
  88889. if (
  88890. (c[Za >> 2] | 0) >>> 0 >=
  88891. (c[za >> 2] | 0) >>> 0
  88892. )
  88893. break;
  88894. c[eb >> 2] =
  88895. nm(
  88896. c[qa >> 2] | 0,
  88897. c[sa >> 2] | 0
  88898. ) | 0;
  88899. if (
  88900. !(
  88901. ((c[eb >> 2] | 0) >>> 0 >
  88902. (c[Sa >> 2] | 0) >>> 0
  88903. ? (((c[Ca >> 2] | 0) -
  88904. (c[eb >> 2] | 0)) |
  88905. 0) >>>
  88906. 0 <
  88907. 262144
  88908. : 0) | 0
  88909. )
  88910. )
  88911. break;
  88912. do {
  88913. if (c[ua >> 2] | 0) {
  88914. if (
  88915. (c[eb >> 2] | 0) >>> 0 >=
  88916. (c[Oa >> 2] | 0) >>> 0
  88917. ) {
  88918. dj = 398;
  88919. break;
  88920. }
  88921. c[hb >> 2] =
  88922. (c[Na >> 2] | 0) +
  88923. (c[eb >> 2] | 0);
  88924. c[fb >> 2] =
  88925. Uj(
  88926. c[sa >> 2] | 0,
  88927. c[hb >> 2] | 0,
  88928. c[ta >> 2] | 0,
  88929. c[Pa >> 2] | 0,
  88930. c[Qa >> 2] | 0
  88931. ) | 0;
  88932. } else dj = 398;
  88933. } while (0);
  88934. if ((dj | 0) == 398) {
  88935. dj = 0;
  88936. c[gb >> 2] =
  88937. (c[Ba >> 2] | 0) +
  88938. (c[eb >> 2] | 0);
  88939. c[fb >> 2] =
  88940. Tj(
  88941. c[sa >> 2] | 0,
  88942. c[gb >> 2] | 0,
  88943. c[ta >> 2] | 0
  88944. ) | 0;
  88945. }
  88946. if (
  88947. (c[fb >> 2] | 0) >>> 0 <
  88948. (c[za >> 2] | 0) >>> 0
  88949. )
  88950. break;
  88951. c[Za >> 2] = c[fb >> 2];
  88952. c[c[xa >> 2] >> 2] =
  88953. (c[Ca >> 2] | 0) -
  88954. (c[eb >> 2] | 0) +
  88955. 2;
  88956. c[((c[xa >> 2] | 0) + 4) >> 2] =
  88957. c[fb >> 2];
  88958. c[Xa >> 2] = 1;
  88959. if (
  88960. !(
  88961. ((c[fb >> 2] | 0) >>> 0 >
  88962. (c[Aa >> 2] | 0) >>> 0
  88963. ? 1
  88964. : (((c[sa >> 2] | 0) +
  88965. (c[fb >> 2] | 0)) |
  88966. 0) ==
  88967. (c[ta >> 2] | 0)) | 0
  88968. )
  88969. )
  88970. break;
  88971. c[((c[qa >> 2] | 0) + 24) >> 2] =
  88972. (c[Ca >> 2] | 0) + 1;
  88973. c[pa >> 2] = 1;
  88974. break g;
  88975. }
  88976. } while (0);
  88977. c[
  88978. ((c[Fa >> 2] | 0) +
  88979. (c[Ga >> 2] << 2)) >>
  88980. 2
  88981. ] = c[Ca >> 2];
  88982. while (1) {
  88983. Uh = c[Ya >> 2] | 0;
  88984. c[Ya >> 2] = Uh + -1;
  88985. if (!Uh) break;
  88986. if (
  88987. (c[Ha >> 2] | 0) >>> 0 <=
  88988. (c[Sa >> 2] | 0) >>> 0
  88989. )
  88990. break;
  88991. c[ib >> 2] =
  88992. (c[Ia >> 2] | 0) +
  88993. (((c[Ha >> 2] & c[Ka >> 2]) <<
  88994. 1) <<
  88995. 2);
  88996. c[jb >> 2] =
  88997. (c[La >> 2] | 0) >>> 0 <
  88998. (c[Ma >> 2] | 0) >>> 0
  88999. ? c[La >> 2] | 0
  89000. : c[Ma >> 2] | 0;
  89001. do {
  89002. if (c[ua >> 2] | 0) {
  89003. if (
  89004. (((c[Ha >> 2] | 0) +
  89005. (c[jb >> 2] | 0)) |
  89006. 0) >>>
  89007. 0 >=
  89008. (c[Oa >> 2] | 0) >>> 0
  89009. ) {
  89010. dj = 408;
  89011. break;
  89012. }
  89013. c[kb >> 2] =
  89014. (c[Na >> 2] | 0) +
  89015. (c[Ha >> 2] | 0);
  89016. Uh =
  89017. Uj(
  89018. ((c[sa >> 2] | 0) +
  89019. (c[jb >> 2] | 0)) |
  89020. 0,
  89021. ((c[kb >> 2] | 0) +
  89022. (c[jb >> 2] | 0)) |
  89023. 0,
  89024. c[ta >> 2] | 0,
  89025. c[Pa >> 2] | 0,
  89026. c[Qa >> 2] | 0
  89027. ) | 0;
  89028. c[jb >> 2] =
  89029. (c[jb >> 2] | 0) + Uh;
  89030. if (
  89031. (((c[Ha >> 2] | 0) +
  89032. (c[jb >> 2] | 0)) |
  89033. 0) >>>
  89034. 0 <
  89035. (c[Oa >> 2] | 0) >>> 0
  89036. )
  89037. break;
  89038. c[kb >> 2] =
  89039. (c[Ba >> 2] | 0) +
  89040. (c[Ha >> 2] | 0);
  89041. } else dj = 408;
  89042. } while (0);
  89043. if ((dj | 0) == 408) {
  89044. dj = 0;
  89045. c[kb >> 2] =
  89046. (c[Ba >> 2] | 0) +
  89047. (c[Ha >> 2] | 0);
  89048. Uh =
  89049. Tj(
  89050. ((c[sa >> 2] | 0) +
  89051. (c[jb >> 2] | 0)) |
  89052. 0,
  89053. ((c[kb >> 2] | 0) +
  89054. (c[jb >> 2] | 0)) |
  89055. 0,
  89056. c[ta >> 2] | 0
  89057. ) | 0;
  89058. c[jb >> 2] =
  89059. (c[jb >> 2] | 0) + Uh;
  89060. }
  89061. if (
  89062. (c[jb >> 2] | 0) >>> 0 >
  89063. (c[Za >> 2] | 0) >>> 0
  89064. ) {
  89065. if (
  89066. (c[jb >> 2] | 0) >>> 0 >
  89067. (((c[Va >> 2] | 0) -
  89068. (c[Ha >> 2] | 0)) |
  89069. 0) >>>
  89070. 0
  89071. )
  89072. c[Va >> 2] =
  89073. (c[Ha >> 2] | 0) +
  89074. (c[jb >> 2] | 0);
  89075. c[Za >> 2] = c[jb >> 2];
  89076. c[
  89077. ((c[xa >> 2] | 0) +
  89078. (c[Xa >> 2] << 3)) >>
  89079. 2
  89080. ] =
  89081. (c[Ca >> 2] | 0) -
  89082. (c[Ha >> 2] | 0) +
  89083. 2;
  89084. c[
  89085. ((c[xa >> 2] | 0) +
  89086. (c[Xa >> 2] << 3) +
  89087. 4) >>
  89088. 2
  89089. ] = c[jb >> 2];
  89090. c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
  89091. if ((c[jb >> 2] | 0) >>> 0 > 4096)
  89092. break;
  89093. if (
  89094. (((c[sa >> 2] | 0) +
  89095. (c[jb >> 2] | 0)) |
  89096. 0) ==
  89097. (c[ta >> 2] | 0)
  89098. )
  89099. break;
  89100. }
  89101. Uh = c[Ha >> 2] | 0;
  89102. if (
  89103. (d[
  89104. ((c[kb >> 2] | 0) +
  89105. (c[jb >> 2] | 0)) >>
  89106. 0
  89107. ] |
  89108. 0 |
  89109. 0) <
  89110. (d[
  89111. ((c[sa >> 2] | 0) +
  89112. (c[jb >> 2] | 0)) >>
  89113. 0
  89114. ] |
  89115. 0 |
  89116. 0)
  89117. ) {
  89118. c[c[Ta >> 2] >> 2] = Uh;
  89119. c[La >> 2] = c[jb >> 2];
  89120. if (
  89121. (c[Ha >> 2] | 0) >>> 0 <=
  89122. (c[Ra >> 2] | 0) >>> 0
  89123. ) {
  89124. dj = 418;
  89125. break;
  89126. }
  89127. c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
  89128. c[Ha >> 2] =
  89129. c[((c[ib >> 2] | 0) + 4) >> 2];
  89130. } else {
  89131. c[c[Ua >> 2] >> 2] = Uh;
  89132. c[Ma >> 2] = c[jb >> 2];
  89133. if (
  89134. (c[Ha >> 2] | 0) >>> 0 <=
  89135. (c[Ra >> 2] | 0) >>> 0
  89136. ) {
  89137. dj = 421;
  89138. break;
  89139. }
  89140. c[Ua >> 2] = c[ib >> 2];
  89141. c[Ha >> 2] = c[c[ib >> 2] >> 2];
  89142. }
  89143. }
  89144. if ((dj | 0) == 418) {
  89145. dj = 0;
  89146. c[Ta >> 2] = Wa;
  89147. } else if ((dj | 0) == 421) {
  89148. dj = 0;
  89149. c[Ua >> 2] = Wa;
  89150. }
  89151. c[c[Ua >> 2] >> 2] = 0;
  89152. c[c[Ta >> 2] >> 2] = 0;
  89153. c[((c[qa >> 2] | 0) + 24) >> 2] =
  89154. (c[Va >> 2] | 0) - 8;
  89155. c[pa >> 2] = c[Xa >> 2];
  89156. }
  89157. } while (0);
  89158. c[md >> 2] = c[pa >> 2];
  89159. break d;
  89160. break;
  89161. }
  89162. default: {
  89163. Uh = c[od >> 2] | 0;
  89164. aj = c[pd >> 2] | 0;
  89165. _i = c[qd >> 2] | 0;
  89166. _h = c[rd >> 2] | 0;
  89167. Qh = c[sd >> 2] | 0;
  89168. Ph = c[td >> 2] | 0;
  89169. Zi = c[ud >> 2] | 0;
  89170. Zh = c[vd >> 2] | 0;
  89171. c[mb >> 2] = c[nd >> 2];
  89172. c[nb >> 2] = Uh;
  89173. c[ob >> 2] = aj;
  89174. c[pb >> 2] = _i;
  89175. c[qb >> 2] = _h;
  89176. c[rb >> 2] = Qh;
  89177. c[sb >> 2] = Ph;
  89178. c[tb >> 2] = Zi;
  89179. c[ub >> 2] = Zh;
  89180. c[vb >> 2] = 4;
  89181. if (
  89182. (c[((c[nb >> 2] | 0) + 20) >> 2] |
  89183. 0) >>>
  89184. 0 <
  89185. 4095
  89186. )
  89187. Aj =
  89188. c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
  89189. else Aj = 4095;
  89190. c[wb >> 2] = Aj;
  89191. c[xb >> 2] =
  89192. c[((c[mb >> 2] | 0) + 4) >> 2];
  89193. c[yb >> 2] =
  89194. (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
  89195. c[zb >> 2] =
  89196. c[((c[nb >> 2] | 0) + 8) >> 2];
  89197. c[Ab >> 2] =
  89198. (c[vb >> 2] | 0) == 3 ? 3 : 4;
  89199. c[Bb >> 2] =
  89200. c[((c[mb >> 2] | 0) + 36) >> 2];
  89201. c[Cb >> 2] =
  89202. Sj(
  89203. c[ob >> 2] | 0,
  89204. c[zb >> 2] | 0,
  89205. c[vb >> 2] | 0
  89206. ) | 0;
  89207. c[Db >> 2] =
  89208. c[
  89209. ((c[Bb >> 2] | 0) +
  89210. (c[Cb >> 2] << 2)) >>
  89211. 2
  89212. ];
  89213. c[Eb >> 2] =
  89214. c[((c[mb >> 2] | 0) + 44) >> 2];
  89215. c[Fb >> 2] =
  89216. (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
  89217. 1;
  89218. c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
  89219. c[Hb >> 2] = 0;
  89220. c[Ib >> 2] = 0;
  89221. c[Jb >> 2] =
  89222. c[((c[mb >> 2] | 0) + 8) >> 2];
  89223. c[Kb >> 2] =
  89224. c[((c[mb >> 2] | 0) + 12) >> 2];
  89225. c[Lb >> 2] =
  89226. (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
  89227. c[Mb >> 2] =
  89228. (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
  89229. if (
  89230. (c[Gb >> 2] | 0) >>> 0 >=
  89231. (c[yb >> 2] | 0) >>> 0
  89232. )
  89233. Bj = 0;
  89234. else
  89235. Bj =
  89236. ((c[yb >> 2] | 0) -
  89237. (c[Gb >> 2] | 0)) |
  89238. 0;
  89239. c[Nb >> 2] = Bj;
  89240. c[Ob >> 2] =
  89241. c[((c[mb >> 2] | 0) + 16) >> 2];
  89242. c[Pb >> 2] =
  89243. (c[Eb >> 2] | 0) +
  89244. (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
  89245. c[Qb >> 2] =
  89246. (c[Eb >> 2] | 0) +
  89247. (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
  89248. 2) +
  89249. 4;
  89250. c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
  89251. c[Tb >> 2] = 0;
  89252. c[Ub >> 2] =
  89253. 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
  89254. c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
  89255. c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
  89256. c[Xb >> 2] = c[sb >> 2];
  89257. while (1) {
  89258. if (
  89259. (c[Xb >> 2] | 0) >>> 0 >=
  89260. (c[Wb >> 2] | 0) >>> 0
  89261. ) {
  89262. dj = 340;
  89263. break;
  89264. }
  89265. Zh = c[rb >> 2] | 0;
  89266. if ((c[Xb >> 2] | 0) == 3)
  89267. Cj = ((c[Zh >> 2] | 0) - 1) | 0;
  89268. else
  89269. Cj =
  89270. c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
  89271. 0;
  89272. c[Yb >> 2] = Cj;
  89273. c[Zb >> 2] =
  89274. (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
  89275. c[_b >> 2] = 0;
  89276. do {
  89277. if (
  89278. (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
  89279. (((c[yb >> 2] | 0) -
  89280. (c[Kb >> 2] | 0)) |
  89281. 0) >>>
  89282. 0
  89283. ) {
  89284. Zh =
  89285. mm(
  89286. c[ob >> 2] | 0,
  89287. c[Ab >> 2] | 0
  89288. ) | 0;
  89289. if (
  89290. (Zh | 0) !=
  89291. (mm(
  89292. ((c[ob >> 2] | 0) +
  89293. (0 - (c[Yb >> 2] | 0))) |
  89294. 0,
  89295. c[Ab >> 2] | 0
  89296. ) |
  89297. 0)
  89298. )
  89299. break;
  89300. Zh =
  89301. Tj(
  89302. ((c[ob >> 2] | 0) +
  89303. (c[Ab >> 2] | 0)) |
  89304. 0,
  89305. ((c[ob >> 2] | 0) +
  89306. (c[Ab >> 2] | 0) +
  89307. (0 - (c[Yb >> 2] | 0))) |
  89308. 0,
  89309. c[pb >> 2] | 0
  89310. ) | 0;
  89311. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  89312. } else {
  89313. c[$b >> 2] =
  89314. (c[Jb >> 2] | 0) +
  89315. (c[Zb >> 2] | 0);
  89316. if (!(c[qb >> 2] | 0)) break;
  89317. if (
  89318. !(
  89319. ((((c[Kb >> 2] | 0) -
  89320. 1 -
  89321. (c[Zb >> 2] | 0)) |
  89322. 0) >>>
  89323. 0 >=
  89324. 3
  89325. ? (((c[Yb >> 2] | 0) - 1) |
  89326. 0) >>>
  89327. 0 <
  89328. (((c[yb >> 2] | 0) -
  89329. (c[Ob >> 2] | 0)) |
  89330. 0) >>>
  89331. 0
  89332. : 0) | 0
  89333. )
  89334. )
  89335. break;
  89336. Zh =
  89337. mm(
  89338. c[ob >> 2] | 0,
  89339. c[Ab >> 2] | 0
  89340. ) | 0;
  89341. if (
  89342. (Zh | 0) !=
  89343. (mm(
  89344. c[$b >> 2] | 0,
  89345. c[Ab >> 2] | 0
  89346. ) |
  89347. 0)
  89348. )
  89349. break;
  89350. Zh =
  89351. Uj(
  89352. ((c[ob >> 2] | 0) +
  89353. (c[Ab >> 2] | 0)) |
  89354. 0,
  89355. ((c[$b >> 2] | 0) +
  89356. (c[Ab >> 2] | 0)) |
  89357. 0,
  89358. c[pb >> 2] | 0,
  89359. c[Lb >> 2] | 0,
  89360. c[Mb >> 2] | 0
  89361. ) | 0;
  89362. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  89363. }
  89364. } while (0);
  89365. if (
  89366. (c[_b >> 2] | 0) >>> 0 >
  89367. (c[Vb >> 2] | 0) >>> 0
  89368. ? ((c[Vb >> 2] = c[_b >> 2]),
  89369. (c[
  89370. ((c[tb >> 2] | 0) +
  89371. (c[Tb >> 2] << 3)) >>
  89372. 2
  89373. ] =
  89374. (c[Xb >> 2] | 0) -
  89375. (c[sb >> 2] | 0)),
  89376. (c[
  89377. ((c[tb >> 2] | 0) +
  89378. (c[Tb >> 2] << 3) +
  89379. 4) >>
  89380. 2
  89381. ] = c[_b >> 2]),
  89382. (c[Tb >> 2] =
  89383. (c[Tb >> 2] | 0) + 1),
  89384. ((c[_b >> 2] | 0) >>> 0 >
  89385. (c[wb >> 2] | 0) >>> 0
  89386. ? 1
  89387. : (((c[ob >> 2] | 0) +
  89388. (c[_b >> 2] | 0)) |
  89389. 0) ==
  89390. (c[pb >> 2] | 0)) | 0)
  89391. : 0
  89392. ) {
  89393. dj = 338;
  89394. break;
  89395. }
  89396. c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
  89397. }
  89398. h: do {
  89399. if ((dj | 0) == 338) {
  89400. dj = 0;
  89401. c[lb >> 2] = c[Tb >> 2];
  89402. } else if ((dj | 0) == 340) {
  89403. dj = 0;
  89404. do {
  89405. if ((c[vb >> 2] | 0) == 3) {
  89406. if (
  89407. (c[Vb >> 2] | 0) >>> 0 >=
  89408. (c[vb >> 2] | 0) >>> 0
  89409. )
  89410. break;
  89411. c[ac >> 2] =
  89412. nm(
  89413. c[mb >> 2] | 0,
  89414. c[ob >> 2] | 0
  89415. ) | 0;
  89416. if (
  89417. !(
  89418. ((c[ac >> 2] | 0) >>> 0 >
  89419. (c[Ob >> 2] | 0) >>> 0
  89420. ? (((c[yb >> 2] | 0) -
  89421. (c[ac >> 2] | 0)) |
  89422. 0) >>>
  89423. 0 <
  89424. 262144
  89425. : 0) | 0
  89426. )
  89427. )
  89428. break;
  89429. do {
  89430. if (c[qb >> 2] | 0) {
  89431. if (
  89432. (c[ac >> 2] | 0) >>> 0 >=
  89433. (c[Kb >> 2] | 0) >>> 0
  89434. ) {
  89435. dj = 345;
  89436. break;
  89437. }
  89438. c[dc >> 2] =
  89439. (c[Jb >> 2] | 0) +
  89440. (c[ac >> 2] | 0);
  89441. c[bc >> 2] =
  89442. Uj(
  89443. c[ob >> 2] | 0,
  89444. c[dc >> 2] | 0,
  89445. c[pb >> 2] | 0,
  89446. c[Lb >> 2] | 0,
  89447. c[Mb >> 2] | 0
  89448. ) | 0;
  89449. } else dj = 345;
  89450. } while (0);
  89451. if ((dj | 0) == 345) {
  89452. dj = 0;
  89453. c[cc >> 2] =
  89454. (c[xb >> 2] | 0) +
  89455. (c[ac >> 2] | 0);
  89456. c[bc >> 2] =
  89457. Tj(
  89458. c[ob >> 2] | 0,
  89459. c[cc >> 2] | 0,
  89460. c[pb >> 2] | 0
  89461. ) | 0;
  89462. }
  89463. if (
  89464. (c[bc >> 2] | 0) >>> 0 <
  89465. (c[vb >> 2] | 0) >>> 0
  89466. )
  89467. break;
  89468. c[Vb >> 2] = c[bc >> 2];
  89469. c[c[tb >> 2] >> 2] =
  89470. (c[yb >> 2] | 0) -
  89471. (c[ac >> 2] | 0) +
  89472. 2;
  89473. c[((c[tb >> 2] | 0) + 4) >> 2] =
  89474. c[bc >> 2];
  89475. c[Tb >> 2] = 1;
  89476. if (
  89477. !(
  89478. ((c[bc >> 2] | 0) >>> 0 >
  89479. (c[wb >> 2] | 0) >>> 0
  89480. ? 1
  89481. : (((c[ob >> 2] | 0) +
  89482. (c[bc >> 2] | 0)) |
  89483. 0) ==
  89484. (c[pb >> 2] | 0)) | 0
  89485. )
  89486. )
  89487. break;
  89488. c[((c[mb >> 2] | 0) + 24) >> 2] =
  89489. (c[yb >> 2] | 0) + 1;
  89490. c[lb >> 2] = 1;
  89491. break h;
  89492. }
  89493. } while (0);
  89494. c[
  89495. ((c[Bb >> 2] | 0) +
  89496. (c[Cb >> 2] << 2)) >>
  89497. 2
  89498. ] = c[yb >> 2];
  89499. while (1) {
  89500. Zh = c[Ub >> 2] | 0;
  89501. c[Ub >> 2] = Zh + -1;
  89502. if (!Zh) break;
  89503. if (
  89504. (c[Db >> 2] | 0) >>> 0 <=
  89505. (c[Ob >> 2] | 0) >>> 0
  89506. )
  89507. break;
  89508. c[ec >> 2] =
  89509. (c[Eb >> 2] | 0) +
  89510. (((c[Db >> 2] & c[Gb >> 2]) <<
  89511. 1) <<
  89512. 2);
  89513. c[fc >> 2] =
  89514. (c[Hb >> 2] | 0) >>> 0 <
  89515. (c[Ib >> 2] | 0) >>> 0
  89516. ? c[Hb >> 2] | 0
  89517. : c[Ib >> 2] | 0;
  89518. do {
  89519. if (c[qb >> 2] | 0) {
  89520. if (
  89521. (((c[Db >> 2] | 0) +
  89522. (c[fc >> 2] | 0)) |
  89523. 0) >>>
  89524. 0 >=
  89525. (c[Kb >> 2] | 0) >>> 0
  89526. ) {
  89527. dj = 355;
  89528. break;
  89529. }
  89530. c[gc >> 2] =
  89531. (c[Jb >> 2] | 0) +
  89532. (c[Db >> 2] | 0);
  89533. Zh =
  89534. Uj(
  89535. ((c[ob >> 2] | 0) +
  89536. (c[fc >> 2] | 0)) |
  89537. 0,
  89538. ((c[gc >> 2] | 0) +
  89539. (c[fc >> 2] | 0)) |
  89540. 0,
  89541. c[pb >> 2] | 0,
  89542. c[Lb >> 2] | 0,
  89543. c[Mb >> 2] | 0
  89544. ) | 0;
  89545. c[fc >> 2] =
  89546. (c[fc >> 2] | 0) + Zh;
  89547. if (
  89548. (((c[Db >> 2] | 0) +
  89549. (c[fc >> 2] | 0)) |
  89550. 0) >>>
  89551. 0 <
  89552. (c[Kb >> 2] | 0) >>> 0
  89553. )
  89554. break;
  89555. c[gc >> 2] =
  89556. (c[xb >> 2] | 0) +
  89557. (c[Db >> 2] | 0);
  89558. } else dj = 355;
  89559. } while (0);
  89560. if ((dj | 0) == 355) {
  89561. dj = 0;
  89562. c[gc >> 2] =
  89563. (c[xb >> 2] | 0) +
  89564. (c[Db >> 2] | 0);
  89565. Zh =
  89566. Tj(
  89567. ((c[ob >> 2] | 0) +
  89568. (c[fc >> 2] | 0)) |
  89569. 0,
  89570. ((c[gc >> 2] | 0) +
  89571. (c[fc >> 2] | 0)) |
  89572. 0,
  89573. c[pb >> 2] | 0
  89574. ) | 0;
  89575. c[fc >> 2] =
  89576. (c[fc >> 2] | 0) + Zh;
  89577. }
  89578. if (
  89579. (c[fc >> 2] | 0) >>> 0 >
  89580. (c[Vb >> 2] | 0) >>> 0
  89581. ) {
  89582. if (
  89583. (c[fc >> 2] | 0) >>> 0 >
  89584. (((c[Rb >> 2] | 0) -
  89585. (c[Db >> 2] | 0)) |
  89586. 0) >>>
  89587. 0
  89588. )
  89589. c[Rb >> 2] =
  89590. (c[Db >> 2] | 0) +
  89591. (c[fc >> 2] | 0);
  89592. c[Vb >> 2] = c[fc >> 2];
  89593. c[
  89594. ((c[tb >> 2] | 0) +
  89595. (c[Tb >> 2] << 3)) >>
  89596. 2
  89597. ] =
  89598. (c[yb >> 2] | 0) -
  89599. (c[Db >> 2] | 0) +
  89600. 2;
  89601. c[
  89602. ((c[tb >> 2] | 0) +
  89603. (c[Tb >> 2] << 3) +
  89604. 4) >>
  89605. 2
  89606. ] = c[fc >> 2];
  89607. c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
  89608. if ((c[fc >> 2] | 0) >>> 0 > 4096)
  89609. break;
  89610. if (
  89611. (((c[ob >> 2] | 0) +
  89612. (c[fc >> 2] | 0)) |
  89613. 0) ==
  89614. (c[pb >> 2] | 0)
  89615. )
  89616. break;
  89617. }
  89618. Zh = c[Db >> 2] | 0;
  89619. if (
  89620. (d[
  89621. ((c[gc >> 2] | 0) +
  89622. (c[fc >> 2] | 0)) >>
  89623. 0
  89624. ] |
  89625. 0 |
  89626. 0) <
  89627. (d[
  89628. ((c[ob >> 2] | 0) +
  89629. (c[fc >> 2] | 0)) >>
  89630. 0
  89631. ] |
  89632. 0 |
  89633. 0)
  89634. ) {
  89635. c[c[Pb >> 2] >> 2] = Zh;
  89636. c[Hb >> 2] = c[fc >> 2];
  89637. if (
  89638. (c[Db >> 2] | 0) >>> 0 <=
  89639. (c[Nb >> 2] | 0) >>> 0
  89640. ) {
  89641. dj = 365;
  89642. break;
  89643. }
  89644. c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
  89645. c[Db >> 2] =
  89646. c[((c[ec >> 2] | 0) + 4) >> 2];
  89647. } else {
  89648. c[c[Qb >> 2] >> 2] = Zh;
  89649. c[Ib >> 2] = c[fc >> 2];
  89650. if (
  89651. (c[Db >> 2] | 0) >>> 0 <=
  89652. (c[Nb >> 2] | 0) >>> 0
  89653. ) {
  89654. dj = 368;
  89655. break;
  89656. }
  89657. c[Qb >> 2] = c[ec >> 2];
  89658. c[Db >> 2] = c[c[ec >> 2] >> 2];
  89659. }
  89660. }
  89661. if ((dj | 0) == 365) {
  89662. dj = 0;
  89663. c[Pb >> 2] = Sb;
  89664. } else if ((dj | 0) == 368) {
  89665. dj = 0;
  89666. c[Qb >> 2] = Sb;
  89667. }
  89668. c[c[Qb >> 2] >> 2] = 0;
  89669. c[c[Pb >> 2] >> 2] = 0;
  89670. c[((c[mb >> 2] | 0) + 24) >> 2] =
  89671. (c[Rb >> 2] | 0) - 8;
  89672. c[lb >> 2] = c[Tb >> 2];
  89673. }
  89674. } while (0);
  89675. c[md >> 2] = c[lb >> 2];
  89676. break d;
  89677. }
  89678. }
  89679. }
  89680. } while (0);
  89681. c[Bi >> 2] = c[md >> 2];
  89682. if (c[Bi >> 2] | 0) {
  89683. c[Di >> 2] =
  89684. c[
  89685. ((c[ci >> 2] | 0) +
  89686. (((c[Bi >> 2] | 0) - 1) << 3) +
  89687. 4) >>
  89688. 2
  89689. ];
  89690. if (
  89691. ((c[Di >> 2] | 0) >>> 0 >
  89692. (c[$h >> 2] | 0) >>> 0
  89693. ? 1
  89694. : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
  89695. 0) >>>
  89696. 0 >=
  89697. 4096) | 0
  89698. ) {
  89699. dj = 481;
  89700. break b;
  89701. }
  89702. c[Ci >> 2] = 0;
  89703. while (1) {
  89704. if (
  89705. (c[Ci >> 2] | 0) >>> 0 >=
  89706. (c[Bi >> 2] | 0) >>> 0
  89707. )
  89708. break c;
  89709. c[Ei >> 2] =
  89710. c[
  89711. ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
  89712. 2
  89713. ];
  89714. pm(
  89715. Fi,
  89716. ((c[bi >> 2] | 0) +
  89717. (((c[ei >> 2] | 0) * 28) | 0) +
  89718. 16) |
  89719. 0,
  89720. c[Ei >> 2] | 0,
  89721. c[xi >> 2] | 0
  89722. );
  89723. c[Gi >> 2] =
  89724. c[
  89725. ((c[ci >> 2] | 0) +
  89726. (c[Ci >> 2] << 3) +
  89727. 4) >>
  89728. 2
  89729. ];
  89730. if ((c[Ci >> 2] | 0) >>> 0 > 0)
  89731. Dj =
  89732. ((c[
  89733. ((c[ci >> 2] | 0) +
  89734. (((c[Ci >> 2] | 0) - 1) << 3) +
  89735. 4) >>
  89736. 2
  89737. ] |
  89738. 0) +
  89739. 1) |
  89740. 0;
  89741. else Dj = c[ai >> 2] | 0;
  89742. c[Hi >> 2] = Dj;
  89743. c[Ii >> 2] = c[Gi >> 2];
  89744. i: while (1) {
  89745. if (
  89746. (c[Ii >> 2] | 0) >>> 0 <
  89747. (c[Hi >> 2] | 0) >>> 0
  89748. )
  89749. break;
  89750. c[Ji >> 2] =
  89751. (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
  89752. Zh = c[Ai >> 2] | 0;
  89753. Zi = c[Ii >> 2] | 0;
  89754. Ph = c[Th >> 2] | 0;
  89755. Qh = c[Rh >> 2] | 0;
  89756. c[k >> 2] = c[Ei >> 2];
  89757. c[m >> 2] = Zi;
  89758. c[n >> 2] = Ph;
  89759. c[o >> 2] = Qh;
  89760. c[q >> 2] =
  89761. qm(((c[k >> 2] | 0) + 1) | 0) | 0;
  89762. c[r >> 2] = (c[m >> 2] | 0) - 3;
  89763. if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
  89764. Qh =
  89765. ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
  89766. 16) |
  89767. 0;
  89768. c[j >> 2] = Qh + (c[q >> 2] | 0);
  89769. } else {
  89770. Qh =
  89771. ((c[q >> 2] | 0) +
  89772. (c[((c[n >> 2] | 0) + 52) >> 2] |
  89773. 0)) |
  89774. 0;
  89775. c[p >> 2] =
  89776. Qh -
  89777. (qm(
  89778. ((c[
  89779. ((c[((c[n >> 2] | 0) + 12) >> 2] |
  89780. 0) +
  89781. (c[q >> 2] << 2)) >>
  89782. 2
  89783. ] |
  89784. 0) +
  89785. 1) |
  89786. 0
  89787. ) |
  89788. 0);
  89789. if (
  89790. ((c[o >> 2] | 0) < 2) &
  89791. ((c[q >> 2] | 0) >>> 0 >= 20)
  89792. )
  89793. c[p >> 2] =
  89794. (c[p >> 2] | 0) +
  89795. (((c[q >> 2] | 0) - 19) << 1);
  89796. c[s >> 2] = rm(c[r >> 2] | 0) | 0;
  89797. Qh =
  89798. ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
  89799. 0) +
  89800. (c[((c[n >> 2] | 0) + 48) >> 2] |
  89801. 0)) |
  89802. 0;
  89803. Ph =
  89804. (Qh -
  89805. (qm(
  89806. ((c[
  89807. ((c[((c[n >> 2] | 0) + 8) >> 2] |
  89808. 0) +
  89809. (c[s >> 2] << 2)) >>
  89810. 2
  89811. ] |
  89812. 0) +
  89813. 1) |
  89814. 0
  89815. ) |
  89816. 0)) |
  89817. 0;
  89818. c[p >> 2] = (c[p >> 2] | 0) + Ph;
  89819. c[j >> 2] = c[p >> 2];
  89820. }
  89821. c[Ki >> 2] = Zh + (c[j >> 2] | 0);
  89822. do {
  89823. if (
  89824. (c[Ji >> 2] | 0) >>> 0 <=
  89825. (c[fi >> 2] | 0) >>> 0
  89826. ) {
  89827. if (
  89828. (c[Ki >> 2] | 0) <
  89829. (c[
  89830. ((c[bi >> 2] | 0) +
  89831. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  89832. 2
  89833. ] |
  89834. 0)
  89835. ) {
  89836. dj = 496;
  89837. break;
  89838. }
  89839. if (!(c[Rh >> 2] | 0)) break i;
  89840. } else dj = 496;
  89841. } while (0);
  89842. if ((dj | 0) == 496) {
  89843. dj = 0;
  89844. while (1) {
  89845. if (
  89846. (c[fi >> 2] | 0) >>> 0 >=
  89847. (c[Ji >> 2] | 0) >>> 0
  89848. )
  89849. break;
  89850. c[
  89851. ((c[bi >> 2] | 0) +
  89852. (((((c[fi >> 2] | 0) + 1) | 0) *
  89853. 28) |
  89854. 0)) >>
  89855. 2
  89856. ] = 1073741824;
  89857. c[fi >> 2] = (c[fi >> 2] | 0) + 1;
  89858. }
  89859. c[
  89860. ((c[bi >> 2] | 0) +
  89861. (((c[Ji >> 2] | 0) * 28) | 0) +
  89862. 8) >>
  89863. 2
  89864. ] = c[Ii >> 2];
  89865. c[
  89866. ((c[bi >> 2] | 0) +
  89867. (((c[Ji >> 2] | 0) * 28) | 0) +
  89868. 4) >>
  89869. 2
  89870. ] = c[Ei >> 2];
  89871. c[
  89872. ((c[bi >> 2] | 0) +
  89873. (((c[Ji >> 2] | 0) * 28) | 0) +
  89874. 12) >>
  89875. 2
  89876. ] = c[yi >> 2];
  89877. c[
  89878. ((c[bi >> 2] | 0) +
  89879. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  89880. 2
  89881. ] = c[Ki >> 2];
  89882. Zh =
  89883. ((c[bi >> 2] | 0) +
  89884. (((c[Ji >> 2] | 0) * 28) | 0) +
  89885. 16) |
  89886. 0;
  89887. c[Zh >> 2] = c[Fi >> 2];
  89888. c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
  89889. c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
  89890. }
  89891. c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
  89892. }
  89893. c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
  89894. }
  89895. }
  89896. }
  89897. } while (0);
  89898. c[ei >> 2] = (c[ei >> 2] | 0) + 1;
  89899. }
  89900. if ((dj | 0) == 481) {
  89901. dj = 0;
  89902. c[gi >> 2] = c[Di >> 2];
  89903. c[hi >> 2] =
  89904. c[
  89905. ((c[ci >> 2] | 0) +
  89906. (((c[Bi >> 2] | 0) - 1) << 3)) >>
  89907. 2
  89908. ];
  89909. c[fi >> 2] = (c[ei >> 2] | 0) + 1;
  89910. break;
  89911. } else if ((dj | 0) == 504) {
  89912. dj = 0;
  89913. c[gi >> 2] =
  89914. c[
  89915. ((c[bi >> 2] | 0) +
  89916. (((c[fi >> 2] | 0) * 28) | 0) +
  89917. 8) >>
  89918. 2
  89919. ];
  89920. c[hi >> 2] =
  89921. c[
  89922. ((c[bi >> 2] | 0) +
  89923. (((c[fi >> 2] | 0) * 28) | 0) +
  89924. 4) >>
  89925. 2
  89926. ];
  89927. c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
  89928. break;
  89929. }
  89930. } else {
  89931. c[gi >> 2] = c[mi >> 2];
  89932. c[hi >> 2] =
  89933. c[
  89934. ((c[ci >> 2] | 0) +
  89935. (((c[ki >> 2] | 0) - 1) << 3)) >>
  89936. 2
  89937. ];
  89938. c[ei >> 2] = 0;
  89939. c[fi >> 2] = 1;
  89940. }
  89941. } while (0);
  89942. c[Li >> 2] = c[gi >> 2];
  89943. c[Mi >> 2] = c[hi >> 2];
  89944. c[Ni >> 2] = c[ei >> 2];
  89945. while (1) {
  89946. c[Oi >> 2] =
  89947. c[
  89948. ((c[bi >> 2] | 0) +
  89949. (((c[Ni >> 2] | 0) * 28) | 0) +
  89950. 8) >>
  89951. 2
  89952. ];
  89953. c[Pi >> 2] =
  89954. c[
  89955. ((c[bi >> 2] | 0) +
  89956. (((c[Ni >> 2] | 0) * 28) | 0) +
  89957. 4) >>
  89958. 2
  89959. ];
  89960. c[
  89961. ((c[bi >> 2] | 0) +
  89962. (((c[Ni >> 2] | 0) * 28) | 0) +
  89963. 8) >>
  89964. 2
  89965. ] = c[Li >> 2];
  89966. c[
  89967. ((c[bi >> 2] | 0) +
  89968. (((c[Ni >> 2] | 0) * 28) | 0) +
  89969. 4) >>
  89970. 2
  89971. ] = c[Mi >> 2];
  89972. c[Li >> 2] = c[Oi >> 2];
  89973. c[Mi >> 2] = c[Pi >> 2];
  89974. if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
  89975. break;
  89976. c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
  89977. }
  89978. c[Qi >> 2] = 0;
  89979. while (1) {
  89980. if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
  89981. break;
  89982. c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  89983. c[Si >> 2] =
  89984. c[
  89985. ((c[bi >> 2] | 0) +
  89986. (((c[Qi >> 2] | 0) * 28) | 0) +
  89987. 8) >>
  89988. 2
  89989. ];
  89990. c[Ti >> 2] =
  89991. c[
  89992. ((c[bi >> 2] | 0) +
  89993. (((c[Qi >> 2] | 0) * 28) | 0) +
  89994. 4) >>
  89995. 2
  89996. ];
  89997. if ((c[Si >> 2] | 0) == 1) {
  89998. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  89999. c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
  90000. continue;
  90001. }
  90002. c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
  90003. c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
  90004. if ((c[Ti >> 2] | 0) >>> 0 < 3) {
  90005. c[Ui >> 2] =
  90006. (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
  90007. if (c[Ui >> 2] | 0) {
  90008. Zh = c[Nh >> 2] | 0;
  90009. if ((c[Ui >> 2] | 0) == 3)
  90010. Ej = ((c[Zh >> 2] | 0) - 1) | 0;
  90011. else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
  90012. c[Vi >> 2] = Ej;
  90013. if ((c[Ui >> 2] | 0) >>> 0 >= 2)
  90014. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  90015. c[((c[Nh >> 2] | 0) + 4) >> 2];
  90016. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  90017. c[c[Nh >> 2] >> 2] = c[Vi >> 2];
  90018. }
  90019. } else {
  90020. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  90021. c[((c[Nh >> 2] | 0) + 4) >> 2];
  90022. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  90023. c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
  90024. }
  90025. vm(
  90026. c[Th >> 2] | 0,
  90027. c[Ri >> 2] | 0,
  90028. c[Wh >> 2] | 0,
  90029. c[Ti >> 2] | 0,
  90030. c[Si >> 2] | 0
  90031. );
  90032. wm(
  90033. c[Mh >> 2] | 0,
  90034. c[Ri >> 2] | 0,
  90035. c[Wh >> 2] | 0,
  90036. c[Ti >> 2] | 0,
  90037. ((c[Si >> 2] | 0) - 3) | 0
  90038. );
  90039. c[Wh >> 2] = c[Vh >> 2];
  90040. }
  90041. xm(c[Th >> 2] | 0);
  90042. }
  90043. l = i;
  90044. return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
  90045. }
  90046. function km(a, b, e, f, g, h) {
  90047. a = a | 0;
  90048. b = b | 0;
  90049. e = e | 0;
  90050. f = f | 0;
  90051. g = g | 0;
  90052. h = h | 0;
  90053. var i = 0,
  90054. j = 0,
  90055. k = 0,
  90056. m = 0,
  90057. n = 0,
  90058. o = 0,
  90059. p = 0,
  90060. q = 0,
  90061. r = 0,
  90062. s = 0,
  90063. t = 0,
  90064. u = 0,
  90065. v = 0,
  90066. w = 0,
  90067. x = 0,
  90068. y = 0,
  90069. z = 0,
  90070. A = 0,
  90071. B = 0,
  90072. C = 0,
  90073. D = 0,
  90074. E = 0,
  90075. F = 0,
  90076. G = 0,
  90077. H = 0,
  90078. I = 0,
  90079. J = 0,
  90080. K = 0,
  90081. L = 0,
  90082. M = 0,
  90083. N = 0,
  90084. O = 0,
  90085. P = 0,
  90086. Q = 0,
  90087. R = 0,
  90088. S = 0,
  90089. T = 0,
  90090. U = 0,
  90091. V = 0,
  90092. W = 0,
  90093. X = 0,
  90094. Y = 0,
  90095. Z = 0,
  90096. _ = 0,
  90097. $ = 0,
  90098. aa = 0,
  90099. ba = 0,
  90100. ca = 0,
  90101. da = 0,
  90102. ea = 0,
  90103. fa = 0,
  90104. ga = 0,
  90105. ha = 0,
  90106. ia = 0,
  90107. ja = 0,
  90108. ka = 0,
  90109. la = 0,
  90110. ma = 0,
  90111. na = 0,
  90112. oa = 0,
  90113. pa = 0,
  90114. qa = 0,
  90115. ra = 0,
  90116. sa = 0,
  90117. ta = 0,
  90118. ua = 0,
  90119. va = 0,
  90120. wa = 0,
  90121. xa = 0,
  90122. ya = 0,
  90123. za = 0,
  90124. Aa = 0,
  90125. Ba = 0,
  90126. Ca = 0,
  90127. Da = 0,
  90128. Ea = 0,
  90129. Fa = 0,
  90130. Ga = 0,
  90131. Ha = 0,
  90132. Ia = 0,
  90133. Ja = 0,
  90134. Ka = 0,
  90135. La = 0,
  90136. Ma = 0,
  90137. Na = 0,
  90138. Oa = 0,
  90139. Pa = 0,
  90140. Qa = 0,
  90141. Ra = 0,
  90142. Sa = 0,
  90143. Ta = 0,
  90144. Ua = 0,
  90145. Va = 0,
  90146. Wa = 0,
  90147. Xa = 0,
  90148. Ya = 0,
  90149. Za = 0,
  90150. _a = 0,
  90151. $a = 0,
  90152. ab = 0,
  90153. bb = 0,
  90154. cb = 0,
  90155. db = 0,
  90156. eb = 0,
  90157. fb = 0,
  90158. gb = 0,
  90159. hb = 0,
  90160. ib = 0,
  90161. jb = 0,
  90162. kb = 0,
  90163. lb = 0,
  90164. mb = 0,
  90165. nb = 0,
  90166. ob = 0,
  90167. pb = 0,
  90168. qb = 0,
  90169. rb = 0,
  90170. sb = 0,
  90171. tb = 0,
  90172. ub = 0,
  90173. vb = 0,
  90174. wb = 0,
  90175. xb = 0,
  90176. yb = 0,
  90177. zb = 0,
  90178. Ab = 0,
  90179. Bb = 0,
  90180. Cb = 0,
  90181. Db = 0,
  90182. Eb = 0,
  90183. Fb = 0,
  90184. Gb = 0,
  90185. Hb = 0,
  90186. Ib = 0,
  90187. Jb = 0,
  90188. Kb = 0,
  90189. Lb = 0,
  90190. Mb = 0,
  90191. Nb = 0,
  90192. Ob = 0,
  90193. Pb = 0,
  90194. Qb = 0,
  90195. Rb = 0,
  90196. Sb = 0,
  90197. Tb = 0,
  90198. Ub = 0,
  90199. Vb = 0,
  90200. Wb = 0,
  90201. Xb = 0,
  90202. Yb = 0,
  90203. Zb = 0,
  90204. _b = 0,
  90205. $b = 0,
  90206. ac = 0,
  90207. bc = 0,
  90208. cc = 0,
  90209. dc = 0,
  90210. ec = 0,
  90211. fc = 0,
  90212. gc = 0,
  90213. hc = 0,
  90214. ic = 0,
  90215. jc = 0,
  90216. kc = 0,
  90217. lc = 0,
  90218. mc = 0,
  90219. nc = 0,
  90220. oc = 0,
  90221. pc = 0,
  90222. qc = 0,
  90223. rc = 0,
  90224. sc = 0,
  90225. tc = 0,
  90226. uc = 0,
  90227. vc = 0,
  90228. wc = 0,
  90229. xc = 0,
  90230. yc = 0,
  90231. zc = 0,
  90232. Ac = 0,
  90233. Bc = 0,
  90234. Cc = 0,
  90235. Dc = 0,
  90236. Ec = 0,
  90237. Fc = 0,
  90238. Gc = 0,
  90239. Hc = 0,
  90240. Ic = 0,
  90241. Jc = 0,
  90242. Kc = 0,
  90243. Lc = 0,
  90244. Mc = 0,
  90245. Nc = 0,
  90246. Oc = 0,
  90247. Pc = 0,
  90248. Qc = 0,
  90249. Rc = 0,
  90250. Sc = 0,
  90251. Tc = 0,
  90252. Uc = 0,
  90253. Vc = 0,
  90254. Wc = 0,
  90255. Xc = 0,
  90256. Yc = 0,
  90257. Zc = 0,
  90258. _c = 0,
  90259. $c = 0,
  90260. ad = 0,
  90261. bd = 0,
  90262. cd = 0,
  90263. dd = 0,
  90264. ed = 0,
  90265. fd = 0,
  90266. gd = 0,
  90267. hd = 0,
  90268. id = 0,
  90269. jd = 0,
  90270. kd = 0,
  90271. ld = 0,
  90272. md = 0,
  90273. nd = 0,
  90274. od = 0,
  90275. pd = 0,
  90276. qd = 0,
  90277. rd = 0,
  90278. sd = 0,
  90279. td = 0,
  90280. ud = 0,
  90281. vd = 0,
  90282. wd = 0,
  90283. xd = 0,
  90284. yd = 0,
  90285. zd = 0,
  90286. Ad = 0,
  90287. Bd = 0,
  90288. Cd = 0,
  90289. Dd = 0,
  90290. Ed = 0,
  90291. Fd = 0,
  90292. Gd = 0,
  90293. Hd = 0,
  90294. Id = 0,
  90295. Jd = 0,
  90296. Kd = 0,
  90297. Ld = 0,
  90298. Md = 0,
  90299. Nd = 0,
  90300. Od = 0,
  90301. Pd = 0,
  90302. Qd = 0,
  90303. Rd = 0,
  90304. Sd = 0,
  90305. Td = 0,
  90306. Ud = 0,
  90307. Vd = 0,
  90308. Wd = 0,
  90309. Xd = 0,
  90310. Yd = 0,
  90311. Zd = 0,
  90312. _d = 0,
  90313. $d = 0,
  90314. ae = 0,
  90315. be = 0,
  90316. ce = 0,
  90317. de = 0,
  90318. ee = 0,
  90319. fe = 0,
  90320. ge = 0,
  90321. he = 0,
  90322. ie = 0,
  90323. je = 0,
  90324. ke = 0,
  90325. le = 0,
  90326. me = 0,
  90327. ne = 0,
  90328. oe = 0,
  90329. pe = 0,
  90330. qe = 0,
  90331. re = 0,
  90332. se = 0,
  90333. te = 0,
  90334. ue = 0,
  90335. ve = 0,
  90336. we = 0,
  90337. xe = 0,
  90338. ye = 0,
  90339. ze = 0,
  90340. Ae = 0,
  90341. Be = 0,
  90342. Ce = 0,
  90343. De = 0,
  90344. Ee = 0,
  90345. Fe = 0,
  90346. Ge = 0,
  90347. He = 0,
  90348. Ie = 0,
  90349. Je = 0,
  90350. Ke = 0,
  90351. Le = 0,
  90352. Me = 0,
  90353. Ne = 0,
  90354. Oe = 0,
  90355. Pe = 0,
  90356. Qe = 0,
  90357. Re = 0,
  90358. Se = 0,
  90359. Te = 0,
  90360. Ue = 0,
  90361. Ve = 0,
  90362. We = 0,
  90363. Xe = 0,
  90364. Ye = 0,
  90365. Ze = 0,
  90366. _e = 0,
  90367. $e = 0,
  90368. af = 0,
  90369. bf = 0,
  90370. cf = 0,
  90371. df = 0,
  90372. ef = 0,
  90373. ff = 0,
  90374. gf = 0,
  90375. hf = 0,
  90376. jf = 0,
  90377. kf = 0,
  90378. lf = 0,
  90379. mf = 0,
  90380. nf = 0,
  90381. of = 0,
  90382. pf = 0,
  90383. qf = 0,
  90384. rf = 0,
  90385. sf = 0,
  90386. tf = 0,
  90387. uf = 0,
  90388. vf = 0,
  90389. wf = 0,
  90390. xf = 0,
  90391. yf = 0,
  90392. zf = 0,
  90393. Af = 0,
  90394. Bf = 0,
  90395. Cf = 0,
  90396. Df = 0,
  90397. Ef = 0,
  90398. Ff = 0,
  90399. Gf = 0,
  90400. Hf = 0,
  90401. If = 0,
  90402. Jf = 0,
  90403. Kf = 0,
  90404. Lf = 0,
  90405. Mf = 0,
  90406. Nf = 0,
  90407. Of = 0,
  90408. Pf = 0,
  90409. Qf = 0,
  90410. Rf = 0,
  90411. Sf = 0,
  90412. Tf = 0,
  90413. Uf = 0,
  90414. Vf = 0,
  90415. Wf = 0,
  90416. Xf = 0,
  90417. Yf = 0,
  90418. Zf = 0,
  90419. _f = 0,
  90420. $f = 0,
  90421. ag = 0,
  90422. bg = 0,
  90423. cg = 0,
  90424. dg = 0,
  90425. eg = 0,
  90426. fg = 0,
  90427. gg = 0,
  90428. hg = 0,
  90429. ig = 0,
  90430. jg = 0,
  90431. kg = 0,
  90432. lg = 0,
  90433. mg = 0,
  90434. ng = 0,
  90435. og = 0,
  90436. pg = 0,
  90437. qg = 0,
  90438. rg = 0,
  90439. sg = 0,
  90440. tg = 0,
  90441. ug = 0,
  90442. vg = 0,
  90443. wg = 0,
  90444. xg = 0,
  90445. yg = 0,
  90446. zg = 0,
  90447. Ag = 0,
  90448. Bg = 0,
  90449. Cg = 0,
  90450. Dg = 0,
  90451. Eg = 0,
  90452. Fg = 0,
  90453. Gg = 0,
  90454. Hg = 0,
  90455. Ig = 0,
  90456. Jg = 0,
  90457. Kg = 0,
  90458. Lg = 0,
  90459. Mg = 0,
  90460. Ng = 0,
  90461. Og = 0,
  90462. Pg = 0,
  90463. Qg = 0,
  90464. Rg = 0,
  90465. Sg = 0,
  90466. Tg = 0,
  90467. Ug = 0,
  90468. Vg = 0,
  90469. Wg = 0,
  90470. Xg = 0,
  90471. Yg = 0,
  90472. Zg = 0,
  90473. _g = 0,
  90474. $g = 0,
  90475. ah = 0,
  90476. bh = 0,
  90477. ch = 0,
  90478. dh = 0,
  90479. eh = 0,
  90480. fh = 0,
  90481. gh = 0,
  90482. hh = 0,
  90483. ih = 0,
  90484. jh = 0,
  90485. kh = 0,
  90486. lh = 0,
  90487. mh = 0,
  90488. nh = 0,
  90489. oh = 0,
  90490. ph = 0,
  90491. qh = 0,
  90492. rh = 0,
  90493. sh = 0,
  90494. th = 0,
  90495. uh = 0,
  90496. vh = 0,
  90497. wh = 0,
  90498. xh = 0,
  90499. yh = 0,
  90500. zh = 0,
  90501. Ah = 0,
  90502. Bh = 0,
  90503. Ch = 0,
  90504. Dh = 0,
  90505. Eh = 0,
  90506. Fh = 0,
  90507. Gh = 0,
  90508. Hh = 0,
  90509. Ih = 0,
  90510. Jh = 0,
  90511. Kh = 0,
  90512. Lh = 0,
  90513. Mh = 0,
  90514. Nh = 0,
  90515. Oh = 0,
  90516. Ph = 0,
  90517. Qh = 0,
  90518. Rh = 0,
  90519. Sh = 0,
  90520. Th = 0,
  90521. Uh = 0,
  90522. Vh = 0,
  90523. Wh = 0,
  90524. Xh = 0,
  90525. Yh = 0,
  90526. Zh = 0,
  90527. _h = 0,
  90528. $h = 0,
  90529. ai = 0,
  90530. bi = 0,
  90531. ci = 0,
  90532. di = 0,
  90533. ei = 0,
  90534. fi = 0,
  90535. gi = 0,
  90536. hi = 0,
  90537. ii = 0,
  90538. ji = 0,
  90539. ki = 0,
  90540. li = 0,
  90541. mi = 0,
  90542. ni = 0,
  90543. oi = 0,
  90544. pi = 0,
  90545. qi = 0,
  90546. ri = 0,
  90547. si = 0,
  90548. ti = 0,
  90549. ui = 0,
  90550. vi = 0,
  90551. wi = 0,
  90552. xi = 0,
  90553. yi = 0,
  90554. zi = 0,
  90555. Ai = 0,
  90556. Bi = 0,
  90557. Ci = 0,
  90558. Di = 0,
  90559. Ei = 0,
  90560. Fi = 0,
  90561. Gi = 0,
  90562. Hi = 0,
  90563. Ii = 0,
  90564. Ji = 0,
  90565. Ki = 0,
  90566. Li = 0,
  90567. Mi = 0,
  90568. Ni = 0,
  90569. Oi = 0,
  90570. Pi = 0,
  90571. Qi = 0,
  90572. Ri = 0,
  90573. Si = 0,
  90574. Ti = 0,
  90575. Ui = 0,
  90576. Vi = 0,
  90577. Wi = 0,
  90578. Xi = 0,
  90579. Yi = 0,
  90580. Zi = 0,
  90581. _i = 0,
  90582. $i = 0,
  90583. aj = 0,
  90584. bj = 0,
  90585. cj = 0,
  90586. dj = 0,
  90587. ej = 0,
  90588. fj = 0,
  90589. gj = 0,
  90590. hj = 0,
  90591. ij = 0,
  90592. jj = 0,
  90593. kj = 0,
  90594. lj = 0,
  90595. mj = 0,
  90596. nj = 0,
  90597. oj = 0,
  90598. pj = 0,
  90599. qj = 0,
  90600. rj = 0,
  90601. sj = 0,
  90602. tj = 0,
  90603. uj = 0,
  90604. vj = 0,
  90605. wj = 0,
  90606. xj = 0,
  90607. yj = 0,
  90608. zj = 0,
  90609. Aj = 0,
  90610. Bj = 0,
  90611. Cj = 0,
  90612. Dj = 0,
  90613. Ej = 0;
  90614. i = l;
  90615. l = (l + 2144) | 0;
  90616. j = (i + 2136) | 0;
  90617. k = (i + 2132) | 0;
  90618. m = (i + 2128) | 0;
  90619. n = (i + 2124) | 0;
  90620. o = (i + 2120) | 0;
  90621. p = (i + 2116) | 0;
  90622. q = (i + 2112) | 0;
  90623. r = (i + 2108) | 0;
  90624. s = (i + 2104) | 0;
  90625. t = (i + 2100) | 0;
  90626. u = (i + 2096) | 0;
  90627. v = (i + 2092) | 0;
  90628. w = (i + 2088) | 0;
  90629. x = (i + 2084) | 0;
  90630. y = (i + 2080) | 0;
  90631. z = (i + 2076) | 0;
  90632. A = (i + 2072) | 0;
  90633. B = (i + 2068) | 0;
  90634. C = (i + 2064) | 0;
  90635. D = (i + 2060) | 0;
  90636. E = (i + 2056) | 0;
  90637. F = (i + 2052) | 0;
  90638. G = (i + 2048) | 0;
  90639. H = (i + 2044) | 0;
  90640. I = (i + 2040) | 0;
  90641. J = (i + 2036) | 0;
  90642. K = (i + 2032) | 0;
  90643. L = (i + 2028) | 0;
  90644. M = (i + 2024) | 0;
  90645. N = (i + 2020) | 0;
  90646. O = (i + 2016) | 0;
  90647. P = (i + 2012) | 0;
  90648. Q = (i + 2008) | 0;
  90649. R = (i + 2004) | 0;
  90650. S = (i + 2e3) | 0;
  90651. T = (i + 1996) | 0;
  90652. U = (i + 1992) | 0;
  90653. V = (i + 1988) | 0;
  90654. W = (i + 1984) | 0;
  90655. X = (i + 1980) | 0;
  90656. Y = (i + 1976) | 0;
  90657. Z = (i + 1972) | 0;
  90658. _ = (i + 1968) | 0;
  90659. $ = (i + 1964) | 0;
  90660. aa = (i + 1960) | 0;
  90661. ba = (i + 1956) | 0;
  90662. ca = (i + 1952) | 0;
  90663. da = (i + 1948) | 0;
  90664. ea = (i + 1944) | 0;
  90665. fa = (i + 1940) | 0;
  90666. ga = (i + 1936) | 0;
  90667. ha = (i + 1932) | 0;
  90668. ia = (i + 1928) | 0;
  90669. ja = (i + 1924) | 0;
  90670. ka = (i + 1920) | 0;
  90671. la = (i + 1916) | 0;
  90672. ma = (i + 1912) | 0;
  90673. na = (i + 1908) | 0;
  90674. oa = (i + 1904) | 0;
  90675. pa = (i + 1900) | 0;
  90676. qa = (i + 1896) | 0;
  90677. ra = (i + 1892) | 0;
  90678. sa = (i + 1888) | 0;
  90679. ta = (i + 1884) | 0;
  90680. ua = (i + 1880) | 0;
  90681. va = (i + 1876) | 0;
  90682. wa = (i + 1872) | 0;
  90683. xa = (i + 1868) | 0;
  90684. ya = (i + 1864) | 0;
  90685. za = (i + 1860) | 0;
  90686. Aa = (i + 1856) | 0;
  90687. Ba = (i + 1852) | 0;
  90688. Ca = (i + 1848) | 0;
  90689. Da = (i + 1844) | 0;
  90690. Ea = (i + 1840) | 0;
  90691. Fa = (i + 1836) | 0;
  90692. Ga = (i + 1832) | 0;
  90693. Ha = (i + 1828) | 0;
  90694. Ia = (i + 1824) | 0;
  90695. Ja = (i + 1820) | 0;
  90696. Ka = (i + 1816) | 0;
  90697. La = (i + 1812) | 0;
  90698. Ma = (i + 1808) | 0;
  90699. Na = (i + 1804) | 0;
  90700. Oa = (i + 1800) | 0;
  90701. Pa = (i + 1796) | 0;
  90702. Qa = (i + 1792) | 0;
  90703. Ra = (i + 1788) | 0;
  90704. Sa = (i + 1784) | 0;
  90705. Ta = (i + 1780) | 0;
  90706. Ua = (i + 1776) | 0;
  90707. Va = (i + 1772) | 0;
  90708. Wa = (i + 1768) | 0;
  90709. Xa = (i + 1764) | 0;
  90710. Ya = (i + 1760) | 0;
  90711. Za = (i + 1756) | 0;
  90712. _a = (i + 1752) | 0;
  90713. $a = (i + 1748) | 0;
  90714. ab = (i + 1744) | 0;
  90715. bb = (i + 1740) | 0;
  90716. cb = (i + 1736) | 0;
  90717. db = (i + 1732) | 0;
  90718. eb = (i + 1728) | 0;
  90719. fb = (i + 1724) | 0;
  90720. gb = (i + 1720) | 0;
  90721. hb = (i + 1716) | 0;
  90722. ib = (i + 1712) | 0;
  90723. jb = (i + 1708) | 0;
  90724. kb = (i + 1704) | 0;
  90725. lb = (i + 1700) | 0;
  90726. mb = (i + 1696) | 0;
  90727. nb = (i + 1692) | 0;
  90728. ob = (i + 1688) | 0;
  90729. pb = (i + 1684) | 0;
  90730. qb = (i + 1680) | 0;
  90731. rb = (i + 1676) | 0;
  90732. sb = (i + 1672) | 0;
  90733. tb = (i + 1668) | 0;
  90734. ub = (i + 1664) | 0;
  90735. vb = (i + 1660) | 0;
  90736. wb = (i + 1656) | 0;
  90737. xb = (i + 1652) | 0;
  90738. yb = (i + 1648) | 0;
  90739. zb = (i + 1644) | 0;
  90740. Ab = (i + 1640) | 0;
  90741. Bb = (i + 1636) | 0;
  90742. Cb = (i + 1632) | 0;
  90743. Db = (i + 1628) | 0;
  90744. Eb = (i + 1624) | 0;
  90745. Fb = (i + 1620) | 0;
  90746. Gb = (i + 1616) | 0;
  90747. Hb = (i + 1612) | 0;
  90748. Ib = (i + 1608) | 0;
  90749. Jb = (i + 1604) | 0;
  90750. Kb = (i + 1600) | 0;
  90751. Lb = (i + 1596) | 0;
  90752. Mb = (i + 1592) | 0;
  90753. Nb = (i + 1588) | 0;
  90754. Ob = (i + 1584) | 0;
  90755. Pb = (i + 1580) | 0;
  90756. Qb = (i + 1576) | 0;
  90757. Rb = (i + 1572) | 0;
  90758. Sb = (i + 1568) | 0;
  90759. Tb = (i + 1564) | 0;
  90760. Ub = (i + 1560) | 0;
  90761. Vb = (i + 1556) | 0;
  90762. Wb = (i + 1552) | 0;
  90763. Xb = (i + 1548) | 0;
  90764. Yb = (i + 1544) | 0;
  90765. Zb = (i + 1540) | 0;
  90766. _b = (i + 1536) | 0;
  90767. $b = (i + 1532) | 0;
  90768. ac = (i + 1528) | 0;
  90769. bc = (i + 1524) | 0;
  90770. cc = (i + 1520) | 0;
  90771. dc = (i + 1516) | 0;
  90772. ec = (i + 1512) | 0;
  90773. fc = (i + 1508) | 0;
  90774. gc = (i + 1504) | 0;
  90775. hc = (i + 1500) | 0;
  90776. ic = (i + 1496) | 0;
  90777. jc = (i + 1492) | 0;
  90778. kc = (i + 1488) | 0;
  90779. lc = (i + 1484) | 0;
  90780. mc = (i + 1480) | 0;
  90781. nc = (i + 1476) | 0;
  90782. oc = (i + 1472) | 0;
  90783. pc = (i + 1468) | 0;
  90784. qc = (i + 1464) | 0;
  90785. rc = (i + 1460) | 0;
  90786. sc = (i + 1456) | 0;
  90787. tc = (i + 1452) | 0;
  90788. uc = (i + 1448) | 0;
  90789. vc = (i + 1444) | 0;
  90790. wc = (i + 1440) | 0;
  90791. xc = (i + 1436) | 0;
  90792. yc = (i + 1432) | 0;
  90793. zc = (i + 1428) | 0;
  90794. Ac = (i + 1424) | 0;
  90795. Bc = (i + 1420) | 0;
  90796. Cc = (i + 1416) | 0;
  90797. Dc = (i + 1412) | 0;
  90798. Ec = (i + 1408) | 0;
  90799. Fc = (i + 1404) | 0;
  90800. Gc = (i + 1400) | 0;
  90801. Hc = (i + 1396) | 0;
  90802. Ic = (i + 1392) | 0;
  90803. Jc = (i + 1388) | 0;
  90804. Kc = (i + 1384) | 0;
  90805. Lc = (i + 1380) | 0;
  90806. Mc = (i + 1376) | 0;
  90807. Nc = (i + 1372) | 0;
  90808. Oc = (i + 1368) | 0;
  90809. Pc = (i + 1364) | 0;
  90810. Qc = (i + 1360) | 0;
  90811. Rc = (i + 1356) | 0;
  90812. Sc = (i + 1352) | 0;
  90813. Tc = (i + 1348) | 0;
  90814. Uc = (i + 1344) | 0;
  90815. Vc = (i + 1340) | 0;
  90816. Wc = (i + 1336) | 0;
  90817. Xc = (i + 1332) | 0;
  90818. Yc = (i + 1328) | 0;
  90819. Zc = (i + 1324) | 0;
  90820. _c = (i + 1320) | 0;
  90821. $c = (i + 1316) | 0;
  90822. ad = (i + 1312) | 0;
  90823. bd = (i + 1308) | 0;
  90824. cd = (i + 1304) | 0;
  90825. dd = (i + 1300) | 0;
  90826. ed = (i + 1296) | 0;
  90827. fd = (i + 1292) | 0;
  90828. gd = (i + 1288) | 0;
  90829. hd = (i + 1284) | 0;
  90830. id = (i + 1280) | 0;
  90831. jd = (i + 1276) | 0;
  90832. kd = (i + 1272) | 0;
  90833. ld = (i + 1268) | 0;
  90834. md = (i + 1264) | 0;
  90835. nd = (i + 1260) | 0;
  90836. od = (i + 1256) | 0;
  90837. pd = (i + 1252) | 0;
  90838. qd = (i + 1248) | 0;
  90839. rd = (i + 1244) | 0;
  90840. sd = (i + 1240) | 0;
  90841. td = (i + 1236) | 0;
  90842. ud = (i + 1232) | 0;
  90843. vd = (i + 1228) | 0;
  90844. wd = (i + 1224) | 0;
  90845. xd = (i + 1220) | 0;
  90846. yd = (i + 1216) | 0;
  90847. zd = (i + 1212) | 0;
  90848. Ad = (i + 1208) | 0;
  90849. Bd = (i + 1204) | 0;
  90850. Cd = (i + 1200) | 0;
  90851. Dd = (i + 1196) | 0;
  90852. Ed = (i + 1192) | 0;
  90853. Fd = (i + 1188) | 0;
  90854. Gd = (i + 1184) | 0;
  90855. Hd = (i + 1180) | 0;
  90856. Id = (i + 1176) | 0;
  90857. Jd = (i + 1172) | 0;
  90858. Kd = (i + 1168) | 0;
  90859. Ld = (i + 1164) | 0;
  90860. Md = (i + 1160) | 0;
  90861. Nd = (i + 1156) | 0;
  90862. Od = (i + 1152) | 0;
  90863. Pd = (i + 1148) | 0;
  90864. Qd = (i + 1144) | 0;
  90865. Rd = (i + 1140) | 0;
  90866. Sd = (i + 1136) | 0;
  90867. Td = (i + 1132) | 0;
  90868. Ud = (i + 1128) | 0;
  90869. Vd = (i + 1124) | 0;
  90870. Wd = (i + 1120) | 0;
  90871. Xd = (i + 1116) | 0;
  90872. Yd = (i + 1112) | 0;
  90873. Zd = (i + 1108) | 0;
  90874. _d = (i + 1104) | 0;
  90875. $d = (i + 1100) | 0;
  90876. ae = (i + 1096) | 0;
  90877. be = (i + 1092) | 0;
  90878. ce = (i + 1088) | 0;
  90879. de = (i + 1084) | 0;
  90880. ee = (i + 1080) | 0;
  90881. fe = (i + 1076) | 0;
  90882. ge = (i + 1072) | 0;
  90883. he = (i + 1068) | 0;
  90884. ie = (i + 1064) | 0;
  90885. je = (i + 1060) | 0;
  90886. ke = (i + 1056) | 0;
  90887. le = (i + 1052) | 0;
  90888. me = (i + 1048) | 0;
  90889. ne = (i + 1044) | 0;
  90890. oe = (i + 1040) | 0;
  90891. pe = (i + 1036) | 0;
  90892. qe = (i + 1032) | 0;
  90893. re = (i + 1028) | 0;
  90894. se = (i + 1024) | 0;
  90895. te = (i + 1020) | 0;
  90896. ue = (i + 1016) | 0;
  90897. ve = (i + 1012) | 0;
  90898. we = (i + 1008) | 0;
  90899. xe = (i + 1004) | 0;
  90900. ye = (i + 1e3) | 0;
  90901. ze = (i + 996) | 0;
  90902. Ae = (i + 992) | 0;
  90903. Be = (i + 988) | 0;
  90904. Ce = (i + 984) | 0;
  90905. De = (i + 980) | 0;
  90906. Ee = (i + 976) | 0;
  90907. Fe = (i + 972) | 0;
  90908. Ge = (i + 968) | 0;
  90909. He = (i + 964) | 0;
  90910. Ie = (i + 960) | 0;
  90911. Je = (i + 956) | 0;
  90912. Ke = (i + 952) | 0;
  90913. Le = (i + 948) | 0;
  90914. Me = (i + 944) | 0;
  90915. Ne = (i + 940) | 0;
  90916. Oe = (i + 936) | 0;
  90917. Pe = (i + 932) | 0;
  90918. Qe = (i + 928) | 0;
  90919. Re = (i + 924) | 0;
  90920. Se = (i + 920) | 0;
  90921. Te = (i + 916) | 0;
  90922. Ue = (i + 912) | 0;
  90923. Ve = (i + 908) | 0;
  90924. We = (i + 904) | 0;
  90925. Xe = (i + 900) | 0;
  90926. Ye = (i + 896) | 0;
  90927. Ze = (i + 892) | 0;
  90928. _e = (i + 888) | 0;
  90929. $e = (i + 884) | 0;
  90930. af = (i + 880) | 0;
  90931. bf = (i + 876) | 0;
  90932. cf = (i + 872) | 0;
  90933. df = (i + 868) | 0;
  90934. ef = (i + 864) | 0;
  90935. ff = (i + 860) | 0;
  90936. gf = (i + 856) | 0;
  90937. hf = (i + 852) | 0;
  90938. jf = (i + 848) | 0;
  90939. kf = (i + 844) | 0;
  90940. lf = (i + 840) | 0;
  90941. mf = (i + 836) | 0;
  90942. nf = (i + 832) | 0;
  90943. of = (i + 828) | 0;
  90944. pf = (i + 824) | 0;
  90945. qf = (i + 820) | 0;
  90946. rf = (i + 816) | 0;
  90947. sf = (i + 812) | 0;
  90948. tf = (i + 808) | 0;
  90949. uf = (i + 804) | 0;
  90950. vf = (i + 800) | 0;
  90951. wf = (i + 796) | 0;
  90952. xf = (i + 792) | 0;
  90953. yf = (i + 788) | 0;
  90954. zf = (i + 784) | 0;
  90955. Af = (i + 780) | 0;
  90956. Bf = (i + 776) | 0;
  90957. Cf = (i + 772) | 0;
  90958. Df = (i + 768) | 0;
  90959. Ef = (i + 764) | 0;
  90960. Ff = (i + 760) | 0;
  90961. Gf = (i + 756) | 0;
  90962. Hf = (i + 752) | 0;
  90963. If = (i + 748) | 0;
  90964. Jf = (i + 744) | 0;
  90965. Kf = (i + 740) | 0;
  90966. Lf = (i + 736) | 0;
  90967. Mf = (i + 732) | 0;
  90968. Nf = (i + 728) | 0;
  90969. Of = (i + 724) | 0;
  90970. Pf = (i + 720) | 0;
  90971. Qf = (i + 716) | 0;
  90972. Rf = (i + 712) | 0;
  90973. Sf = (i + 708) | 0;
  90974. Tf = (i + 704) | 0;
  90975. Uf = (i + 700) | 0;
  90976. Vf = (i + 696) | 0;
  90977. Wf = (i + 692) | 0;
  90978. Xf = (i + 688) | 0;
  90979. Yf = (i + 684) | 0;
  90980. Zf = (i + 680) | 0;
  90981. _f = (i + 676) | 0;
  90982. $f = (i + 672) | 0;
  90983. ag = (i + 668) | 0;
  90984. bg = (i + 664) | 0;
  90985. cg = (i + 660) | 0;
  90986. dg = (i + 656) | 0;
  90987. eg = (i + 652) | 0;
  90988. fg = (i + 648) | 0;
  90989. gg = (i + 644) | 0;
  90990. hg = (i + 640) | 0;
  90991. ig = (i + 636) | 0;
  90992. jg = (i + 632) | 0;
  90993. kg = (i + 628) | 0;
  90994. lg = (i + 624) | 0;
  90995. mg = (i + 620) | 0;
  90996. ng = (i + 616) | 0;
  90997. og = (i + 612) | 0;
  90998. pg = (i + 608) | 0;
  90999. qg = (i + 604) | 0;
  91000. rg = (i + 600) | 0;
  91001. sg = (i + 596) | 0;
  91002. tg = (i + 592) | 0;
  91003. ug = (i + 588) | 0;
  91004. vg = (i + 584) | 0;
  91005. wg = (i + 580) | 0;
  91006. xg = (i + 576) | 0;
  91007. yg = (i + 572) | 0;
  91008. zg = (i + 568) | 0;
  91009. Ag = (i + 564) | 0;
  91010. Bg = (i + 560) | 0;
  91011. Cg = (i + 556) | 0;
  91012. Dg = (i + 552) | 0;
  91013. Eg = (i + 548) | 0;
  91014. Fg = (i + 544) | 0;
  91015. Gg = (i + 540) | 0;
  91016. Hg = (i + 536) | 0;
  91017. Ig = (i + 532) | 0;
  91018. Jg = (i + 528) | 0;
  91019. Kg = (i + 524) | 0;
  91020. Lg = (i + 520) | 0;
  91021. Mg = (i + 516) | 0;
  91022. Ng = (i + 512) | 0;
  91023. Og = (i + 508) | 0;
  91024. Pg = (i + 504) | 0;
  91025. Qg = (i + 500) | 0;
  91026. Rg = (i + 496) | 0;
  91027. Sg = (i + 492) | 0;
  91028. Tg = (i + 488) | 0;
  91029. Ug = (i + 484) | 0;
  91030. Vg = (i + 480) | 0;
  91031. Wg = (i + 476) | 0;
  91032. Xg = (i + 472) | 0;
  91033. Yg = (i + 468) | 0;
  91034. Zg = (i + 464) | 0;
  91035. _g = (i + 460) | 0;
  91036. $g = (i + 456) | 0;
  91037. ah = (i + 452) | 0;
  91038. bh = (i + 448) | 0;
  91039. ch = (i + 444) | 0;
  91040. dh = (i + 440) | 0;
  91041. eh = (i + 436) | 0;
  91042. fh = (i + 432) | 0;
  91043. gh = (i + 428) | 0;
  91044. hh = (i + 424) | 0;
  91045. ih = (i + 420) | 0;
  91046. jh = (i + 416) | 0;
  91047. kh = (i + 412) | 0;
  91048. lh = (i + 408) | 0;
  91049. mh = (i + 404) | 0;
  91050. nh = (i + 400) | 0;
  91051. oh = (i + 396) | 0;
  91052. ph = (i + 392) | 0;
  91053. qh = (i + 388) | 0;
  91054. rh = (i + 384) | 0;
  91055. sh = (i + 380) | 0;
  91056. th = (i + 376) | 0;
  91057. uh = (i + 372) | 0;
  91058. vh = (i + 368) | 0;
  91059. wh = (i + 364) | 0;
  91060. xh = (i + 360) | 0;
  91061. yh = (i + 356) | 0;
  91062. zh = (i + 352) | 0;
  91063. Ah = (i + 348) | 0;
  91064. Bh = (i + 344) | 0;
  91065. Ch = (i + 340) | 0;
  91066. Dh = (i + 336) | 0;
  91067. Eh = (i + 332) | 0;
  91068. Fh = (i + 328) | 0;
  91069. Gh = (i + 324) | 0;
  91070. Hh = (i + 320) | 0;
  91071. Ih = (i + 316) | 0;
  91072. Jh = (i + 312) | 0;
  91073. Kh = (i + 308) | 0;
  91074. Lh = (i + 304) | 0;
  91075. Mh = (i + 300) | 0;
  91076. Nh = (i + 296) | 0;
  91077. Oh = (i + 292) | 0;
  91078. Ph = (i + 288) | 0;
  91079. Qh = (i + 284) | 0;
  91080. Rh = (i + 280) | 0;
  91081. Sh = (i + 276) | 0;
  91082. Th = (i + 272) | 0;
  91083. Uh = (i + 268) | 0;
  91084. Vh = (i + 264) | 0;
  91085. Wh = (i + 260) | 0;
  91086. Xh = (i + 256) | 0;
  91087. Yh = (i + 252) | 0;
  91088. Zh = (i + 248) | 0;
  91089. _h = (i + 244) | 0;
  91090. $h = (i + 240) | 0;
  91091. ai = (i + 236) | 0;
  91092. bi = (i + 232) | 0;
  91093. ci = (i + 228) | 0;
  91094. di = (i + 216) | 0;
  91095. ei = (i + 212) | 0;
  91096. fi = (i + 208) | 0;
  91097. gi = (i + 204) | 0;
  91098. hi = (i + 200) | 0;
  91099. ii = (i + 196) | 0;
  91100. ji = (i + 192) | 0;
  91101. ki = (i + 188) | 0;
  91102. li = (i + 184) | 0;
  91103. mi = (i + 180) | 0;
  91104. ni = (i + 176) | 0;
  91105. oi = (i + 172) | 0;
  91106. pi = (i + 168) | 0;
  91107. qi = (i + 164) | 0;
  91108. ri = (i + 160) | 0;
  91109. si = (i + 148) | 0;
  91110. ti = (i + 144) | 0;
  91111. ui = (i + 140) | 0;
  91112. vi = (i + 136) | 0;
  91113. wi = (i + 132) | 0;
  91114. xi = (i + 128) | 0;
  91115. yi = (i + 124) | 0;
  91116. zi = (i + 120) | 0;
  91117. Ai = (i + 116) | 0;
  91118. Bi = (i + 112) | 0;
  91119. Ci = (i + 108) | 0;
  91120. Di = (i + 104) | 0;
  91121. Ei = (i + 100) | 0;
  91122. Fi = (i + 88) | 0;
  91123. Gi = (i + 84) | 0;
  91124. Hi = (i + 80) | 0;
  91125. Ii = (i + 76) | 0;
  91126. Ji = (i + 72) | 0;
  91127. Ki = (i + 68) | 0;
  91128. Li = (i + 64) | 0;
  91129. Mi = (i + 60) | 0;
  91130. Ni = (i + 56) | 0;
  91131. Oi = (i + 52) | 0;
  91132. Pi = (i + 48) | 0;
  91133. Qi = (i + 44) | 0;
  91134. Ri = (i + 40) | 0;
  91135. Si = (i + 36) | 0;
  91136. Ti = (i + 32) | 0;
  91137. Ui = (i + 28) | 0;
  91138. Vi = (i + 24) | 0;
  91139. Wi = (i + 20) | 0;
  91140. Xi = (i + 16) | 0;
  91141. Yi = (i + 12) | 0;
  91142. Zi = (i + 8) | 0;
  91143. _i = (i + 4) | 0;
  91144. $i = i;
  91145. c[Wi >> 2] = a;
  91146. c[Xi >> 2] = b;
  91147. c[Yi >> 2] = e;
  91148. c[Zi >> 2] = f;
  91149. c[_i >> 2] = g;
  91150. c[$i >> 2] = h;
  91151. h = c[Xi >> 2] | 0;
  91152. Xi = c[Yi >> 2] | 0;
  91153. Yi = c[Zi >> 2] | 0;
  91154. Zi = c[_i >> 2] | 0;
  91155. _i = c[$i >> 2] | 0;
  91156. c[Lh >> 2] = c[Wi >> 2];
  91157. c[Mh >> 2] = h;
  91158. c[Nh >> 2] = Xi;
  91159. c[Oh >> 2] = Yi;
  91160. c[Ph >> 2] = Zi;
  91161. c[Qh >> 2] = _i;
  91162. c[Rh >> 2] = 2;
  91163. c[Sh >> 2] = 1;
  91164. c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
  91165. c[Uh >> 2] = c[Ph >> 2];
  91166. c[Vh >> 2] = c[Uh >> 2];
  91167. c[Wh >> 2] = c[Uh >> 2];
  91168. c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
  91169. c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
  91170. c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
  91171. c[_h >> 2] =
  91172. (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
  91173. if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
  91174. aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
  91175. else aj = 4095;
  91176. c[$h >> 2] = aj;
  91177. c[ai >> 2] =
  91178. (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
  91179. c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
  91180. c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
  91181. c[((c[Lh >> 2] | 0) + 28) >> 2] =
  91182. c[((c[Lh >> 2] | 0) + 24) >> 2];
  91183. lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
  91184. c[Vh >> 2] =
  91185. (c[Vh >> 2] | 0) +
  91186. (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
  91187. c[di >> 2] = 0;
  91188. c[(di + 4) >> 2] = 0;
  91189. c[(di + 8) >> 2] = 0;
  91190. while (1) {
  91191. if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
  91192. c[fi >> 2] = 0;
  91193. c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  91194. c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
  91195. _h = c[Oh >> 2] | 0;
  91196. Qh = c[Vh >> 2] | 0;
  91197. Ph = c[Xh >> 2] | 0;
  91198. aj = c[Sh >> 2] | 0;
  91199. Zh = c[Nh >> 2] | 0;
  91200. Uh = c[ji >> 2] | 0;
  91201. _i = c[ci >> 2] | 0;
  91202. Zi = c[ai >> 2] | 0;
  91203. c[Bh >> 2] = c[Lh >> 2];
  91204. c[Ch >> 2] = _h;
  91205. c[Dh >> 2] = Qh;
  91206. c[Eh >> 2] = Ph;
  91207. c[Fh >> 2] = aj;
  91208. c[Gh >> 2] = Zh;
  91209. c[Hh >> 2] = Uh;
  91210. c[Ih >> 2] = _i;
  91211. c[Jh >> 2] = Zi;
  91212. c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
  91213. a: do {
  91214. if (
  91215. (c[Dh >> 2] | 0) >>> 0 <
  91216. (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
  91217. (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
  91218. 0) >>>
  91219. 0
  91220. )
  91221. c[Ah >> 2] = 0;
  91222. else {
  91223. Zi = c[Ch >> 2] | 0;
  91224. _i = c[Dh >> 2] | 0;
  91225. Uh = c[Eh >> 2] | 0;
  91226. Zh = c[Kh >> 2] | 0;
  91227. aj = c[Fh >> 2] | 0;
  91228. c[rh >> 2] = c[Bh >> 2];
  91229. c[sh >> 2] = Zi;
  91230. c[th >> 2] = _i;
  91231. c[uh >> 2] = Uh;
  91232. c[vh >> 2] = Zh;
  91233. c[wh >> 2] = aj;
  91234. c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
  91235. c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
  91236. c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
  91237. while (1) {
  91238. if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
  91239. break;
  91240. aj =
  91241. Rj(
  91242. c[rh >> 2] | 0,
  91243. c[sh >> 2] | 0,
  91244. ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
  91245. c[uh >> 2] | 0,
  91246. c[vh >> 2] | 0,
  91247. c[wh >> 2] | 0
  91248. ) | 0;
  91249. c[zh >> 2] = (c[zh >> 2] | 0) + aj;
  91250. }
  91251. c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
  91252. switch (c[Kh >> 2] | 0) {
  91253. case 3: {
  91254. aj = c[Ch >> 2] | 0;
  91255. Zh = c[Dh >> 2] | 0;
  91256. Uh = c[Eh >> 2] | 0;
  91257. _i = c[Fh >> 2] | 0;
  91258. Zi = c[Gh >> 2] | 0;
  91259. Ph = c[Hh >> 2] | 0;
  91260. Qh = c[Ih >> 2] | 0;
  91261. _h = c[Jh >> 2] | 0;
  91262. c[wg >> 2] = c[Bh >> 2];
  91263. c[xg >> 2] = aj;
  91264. c[yg >> 2] = Zh;
  91265. c[zg >> 2] = Uh;
  91266. c[Ag >> 2] = _i;
  91267. c[Bg >> 2] = Zi;
  91268. c[Cg >> 2] = Ph;
  91269. c[Dg >> 2] = Qh;
  91270. c[Eg >> 2] = _h;
  91271. c[Fg >> 2] = 3;
  91272. if (
  91273. (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  91274. 4095
  91275. )
  91276. bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
  91277. else bj = 4095;
  91278. c[Gg >> 2] = bj;
  91279. c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
  91280. c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
  91281. c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
  91282. c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
  91283. c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
  91284. c[Mg >> 2] =
  91285. Sj(
  91286. c[yg >> 2] | 0,
  91287. c[Jg >> 2] | 0,
  91288. c[Fg >> 2] | 0
  91289. ) | 0;
  91290. c[Ng >> 2] =
  91291. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
  91292. c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
  91293. c[Pg >> 2] =
  91294. (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
  91295. c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
  91296. c[Rg >> 2] = 0;
  91297. c[Sg >> 2] = 0;
  91298. c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
  91299. c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
  91300. c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
  91301. c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
  91302. if (
  91303. (c[Qg >> 2] | 0) >>> 0 >=
  91304. (c[Ig >> 2] | 0) >>> 0
  91305. )
  91306. cj = 0;
  91307. else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
  91308. c[Xg >> 2] = cj;
  91309. c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
  91310. c[Zg >> 2] =
  91311. (c[Og >> 2] | 0) +
  91312. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
  91313. c[_g >> 2] =
  91314. (c[Og >> 2] | 0) +
  91315. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
  91316. 4;
  91317. c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
  91318. c[bh >> 2] = 0;
  91319. c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
  91320. c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
  91321. c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
  91322. c[fh >> 2] = c[Cg >> 2];
  91323. while (1) {
  91324. if (
  91325. (c[fh >> 2] | 0) >>> 0 >=
  91326. (c[eh >> 2] | 0) >>> 0
  91327. ) {
  91328. dj = 31;
  91329. break;
  91330. }
  91331. _h = c[Bg >> 2] | 0;
  91332. if ((c[fh >> 2] | 0) == 3)
  91333. ej = ((c[_h >> 2] | 0) - 1) | 0;
  91334. else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
  91335. c[gh >> 2] = ej;
  91336. c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
  91337. c[ih >> 2] = 0;
  91338. if (
  91339. (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  91340. (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
  91341. 0
  91342. ) {
  91343. _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
  91344. if (
  91345. (_h | 0) ==
  91346. (mm(
  91347. ((c[yg >> 2] | 0) +
  91348. (0 - (c[gh >> 2] | 0))) |
  91349. 0,
  91350. c[Kg >> 2] | 0
  91351. ) |
  91352. 0)
  91353. ) {
  91354. _h =
  91355. Tj(
  91356. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  91357. ((c[yg >> 2] | 0) +
  91358. (c[Kg >> 2] | 0) +
  91359. (0 - (c[gh >> 2] | 0))) |
  91360. 0,
  91361. c[zg >> 2] | 0
  91362. ) | 0;
  91363. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  91364. }
  91365. } else {
  91366. c[jh >> 2] =
  91367. (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
  91368. if (
  91369. (
  91370. c[Ag >> 2] | 0
  91371. ? ((((c[Ug >> 2] | 0) -
  91372. 1 -
  91373. (c[hh >> 2] | 0)) |
  91374. 0) >>>
  91375. 0 >=
  91376. 3
  91377. ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  91378. (((c[Ig >> 2] | 0) -
  91379. (c[Yg >> 2] | 0)) |
  91380. 0) >>>
  91381. 0
  91382. : 0) | 0
  91383. : 0
  91384. )
  91385. ? ((_h =
  91386. mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
  91387. (_h | 0) ==
  91388. (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
  91389. 0))
  91390. : 0
  91391. ) {
  91392. _h =
  91393. Uj(
  91394. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  91395. ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  91396. c[zg >> 2] | 0,
  91397. c[Vg >> 2] | 0,
  91398. c[Wg >> 2] | 0
  91399. ) | 0;
  91400. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  91401. }
  91402. }
  91403. if (
  91404. (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
  91405. ? ((c[dh >> 2] = c[ih >> 2]),
  91406. (c[
  91407. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  91408. 2
  91409. ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
  91410. (c[
  91411. ((c[Dg >> 2] | 0) +
  91412. (c[bh >> 2] << 3) +
  91413. 4) >>
  91414. 2
  91415. ] = c[ih >> 2]),
  91416. (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
  91417. ((c[ih >> 2] | 0) >>> 0 >
  91418. (c[Gg >> 2] | 0) >>> 0
  91419. ? 1
  91420. : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
  91421. 0) ==
  91422. (c[zg >> 2] | 0)) | 0)
  91423. : 0
  91424. ) {
  91425. dj = 29;
  91426. break;
  91427. }
  91428. c[fh >> 2] = (c[fh >> 2] | 0) + 1;
  91429. }
  91430. do {
  91431. if ((dj | 0) == 29) {
  91432. dj = 0;
  91433. c[vg >> 2] = c[bh >> 2];
  91434. } else if ((dj | 0) == 31) {
  91435. dj = 0;
  91436. if (
  91437. (
  91438. (c[Fg >> 2] | 0) == 3
  91439. ? (c[dh >> 2] | 0) >>> 0 <
  91440. (c[Fg >> 2] | 0) >>> 0
  91441. : 0
  91442. )
  91443. ? ((c[kh >> 2] =
  91444. nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
  91445. ((c[kh >> 2] | 0) >>> 0 >
  91446. (c[Yg >> 2] | 0) >>> 0
  91447. ? (((c[Ig >> 2] | 0) -
  91448. (c[kh >> 2] | 0)) |
  91449. 0) >>>
  91450. 0 <
  91451. 262144
  91452. : 0) | 0)
  91453. : 0
  91454. ) {
  91455. if (
  91456. c[Ag >> 2] | 0
  91457. ? (c[kh >> 2] | 0) >>> 0 <
  91458. (c[Ug >> 2] | 0) >>> 0
  91459. : 0
  91460. ) {
  91461. c[nh >> 2] =
  91462. (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
  91463. c[lh >> 2] =
  91464. Uj(
  91465. c[yg >> 2] | 0,
  91466. c[nh >> 2] | 0,
  91467. c[zg >> 2] | 0,
  91468. c[Vg >> 2] | 0,
  91469. c[Wg >> 2] | 0
  91470. ) | 0;
  91471. } else {
  91472. c[mh >> 2] =
  91473. (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
  91474. c[lh >> 2] =
  91475. Tj(
  91476. c[yg >> 2] | 0,
  91477. c[mh >> 2] | 0,
  91478. c[zg >> 2] | 0
  91479. ) | 0;
  91480. }
  91481. if (
  91482. (c[lh >> 2] | 0) >>> 0 >=
  91483. (c[Fg >> 2] | 0) >>> 0
  91484. ? ((c[dh >> 2] = c[lh >> 2]),
  91485. (c[c[Dg >> 2] >> 2] =
  91486. (c[Ig >> 2] | 0) -
  91487. (c[kh >> 2] | 0) +
  91488. 2),
  91489. (c[((c[Dg >> 2] | 0) + 4) >> 2] =
  91490. c[lh >> 2]),
  91491. (c[bh >> 2] = 1),
  91492. ((c[lh >> 2] | 0) >>> 0 >
  91493. (c[Gg >> 2] | 0) >>> 0
  91494. ? 1
  91495. : (((c[yg >> 2] | 0) +
  91496. (c[lh >> 2] | 0)) |
  91497. 0) ==
  91498. (c[zg >> 2] | 0)) | 0)
  91499. : 0
  91500. ) {
  91501. c[((c[wg >> 2] | 0) + 24) >> 2] =
  91502. (c[Ig >> 2] | 0) + 1;
  91503. c[vg >> 2] = 1;
  91504. break;
  91505. }
  91506. }
  91507. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
  91508. c[Ig >> 2];
  91509. while (1) {
  91510. _h = c[ch >> 2] | 0;
  91511. c[ch >> 2] = _h + -1;
  91512. if (!_h) break;
  91513. if (
  91514. (c[Ng >> 2] | 0) >>> 0 <=
  91515. (c[Yg >> 2] | 0) >>> 0
  91516. )
  91517. break;
  91518. c[oh >> 2] =
  91519. (c[Og >> 2] | 0) +
  91520. (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
  91521. c[ph >> 2] =
  91522. (c[Rg >> 2] | 0) >>> 0 <
  91523. (c[Sg >> 2] | 0) >>> 0
  91524. ? c[Rg >> 2] | 0
  91525. : c[Sg >> 2] | 0;
  91526. if (
  91527. c[Ag >> 2] | 0
  91528. ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  91529. 0) >>>
  91530. 0 <
  91531. (c[Ug >> 2] | 0) >>> 0
  91532. : 0
  91533. ) {
  91534. c[qh >> 2] =
  91535. (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
  91536. _h =
  91537. Uj(
  91538. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  91539. 0,
  91540. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  91541. 0,
  91542. c[zg >> 2] | 0,
  91543. c[Vg >> 2] | 0,
  91544. c[Wg >> 2] | 0
  91545. ) | 0;
  91546. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  91547. if (
  91548. (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  91549. 0) >>>
  91550. 0 >=
  91551. (c[Ug >> 2] | 0) >>> 0
  91552. )
  91553. c[qh >> 2] =
  91554. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  91555. } else {
  91556. c[qh >> 2] =
  91557. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  91558. _h =
  91559. Tj(
  91560. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  91561. 0,
  91562. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  91563. 0,
  91564. c[zg >> 2] | 0
  91565. ) | 0;
  91566. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  91567. }
  91568. if (
  91569. (c[ph >> 2] | 0) >>> 0 >
  91570. (c[dh >> 2] | 0) >>> 0
  91571. ) {
  91572. if (
  91573. (c[ph >> 2] | 0) >>> 0 >
  91574. (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
  91575. 0) >>>
  91576. 0
  91577. )
  91578. c[$g >> 2] =
  91579. (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
  91580. c[dh >> 2] = c[ph >> 2];
  91581. c[
  91582. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  91583. 2
  91584. ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
  91585. c[
  91586. ((c[Dg >> 2] | 0) +
  91587. (c[bh >> 2] << 3) +
  91588. 4) >>
  91589. 2
  91590. ] = c[ph >> 2];
  91591. c[bh >> 2] = (c[bh >> 2] | 0) + 1;
  91592. if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
  91593. if (
  91594. (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  91595. 0) ==
  91596. (c[zg >> 2] | 0)
  91597. )
  91598. break;
  91599. }
  91600. _h = c[Ng >> 2] | 0;
  91601. if (
  91602. (d[
  91603. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  91604. ] |
  91605. 0 |
  91606. 0) <
  91607. (d[
  91608. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  91609. ] |
  91610. 0 |
  91611. 0)
  91612. ) {
  91613. c[c[Zg >> 2] >> 2] = _h;
  91614. c[Rg >> 2] = c[ph >> 2];
  91615. if (
  91616. (c[Ng >> 2] | 0) >>> 0 <=
  91617. (c[Xg >> 2] | 0) >>> 0
  91618. ) {
  91619. dj = 56;
  91620. break;
  91621. }
  91622. c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
  91623. c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
  91624. } else {
  91625. c[c[_g >> 2] >> 2] = _h;
  91626. c[Sg >> 2] = c[ph >> 2];
  91627. if (
  91628. (c[Ng >> 2] | 0) >>> 0 <=
  91629. (c[Xg >> 2] | 0) >>> 0
  91630. ) {
  91631. dj = 59;
  91632. break;
  91633. }
  91634. c[_g >> 2] = c[oh >> 2];
  91635. c[Ng >> 2] = c[c[oh >> 2] >> 2];
  91636. }
  91637. }
  91638. if ((dj | 0) == 56) {
  91639. dj = 0;
  91640. c[Zg >> 2] = ah;
  91641. } else if ((dj | 0) == 59) {
  91642. dj = 0;
  91643. c[_g >> 2] = ah;
  91644. }
  91645. c[c[_g >> 2] >> 2] = 0;
  91646. c[c[Zg >> 2] >> 2] = 0;
  91647. c[((c[wg >> 2] | 0) + 24) >> 2] =
  91648. (c[$g >> 2] | 0) - 8;
  91649. c[vg >> 2] = c[bh >> 2];
  91650. }
  91651. } while (0);
  91652. c[Ah >> 2] = c[vg >> 2];
  91653. break a;
  91654. break;
  91655. }
  91656. case 7:
  91657. case 6: {
  91658. _h = c[Ch >> 2] | 0;
  91659. Qh = c[Dh >> 2] | 0;
  91660. Ph = c[Eh >> 2] | 0;
  91661. Zi = c[Fh >> 2] | 0;
  91662. _i = c[Gh >> 2] | 0;
  91663. Uh = c[Hh >> 2] | 0;
  91664. Zh = c[Ih >> 2] | 0;
  91665. aj = c[Jh >> 2] | 0;
  91666. c[Hd >> 2] = c[Bh >> 2];
  91667. c[Id >> 2] = _h;
  91668. c[Jd >> 2] = Qh;
  91669. c[Kd >> 2] = Ph;
  91670. c[Ld >> 2] = Zi;
  91671. c[Md >> 2] = _i;
  91672. c[Nd >> 2] = Uh;
  91673. c[Od >> 2] = Zh;
  91674. c[Pd >> 2] = aj;
  91675. c[Qd >> 2] = 6;
  91676. if (
  91677. (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  91678. 4095
  91679. )
  91680. fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
  91681. else fj = 4095;
  91682. c[Rd >> 2] = fj;
  91683. c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
  91684. c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
  91685. c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
  91686. c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
  91687. c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
  91688. c[Xd >> 2] =
  91689. Sj(
  91690. c[Jd >> 2] | 0,
  91691. c[Ud >> 2] | 0,
  91692. c[Qd >> 2] | 0
  91693. ) | 0;
  91694. c[Yd >> 2] =
  91695. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
  91696. c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
  91697. c[_d >> 2] =
  91698. (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
  91699. c[$d >> 2] = (1 << c[_d >> 2]) - 1;
  91700. c[ae >> 2] = 0;
  91701. c[be >> 2] = 0;
  91702. c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
  91703. c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
  91704. c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
  91705. c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
  91706. if (
  91707. (c[$d >> 2] | 0) >>> 0 >=
  91708. (c[Td >> 2] | 0) >>> 0
  91709. )
  91710. gj = 0;
  91711. else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
  91712. c[ge >> 2] = gj;
  91713. c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
  91714. c[ie >> 2] =
  91715. (c[Zd >> 2] | 0) +
  91716. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
  91717. c[je >> 2] =
  91718. (c[Zd >> 2] | 0) +
  91719. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
  91720. 4;
  91721. c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
  91722. c[me >> 2] = 0;
  91723. c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
  91724. c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
  91725. c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
  91726. c[qe >> 2] = c[Nd >> 2];
  91727. while (1) {
  91728. if (
  91729. (c[qe >> 2] | 0) >>> 0 >=
  91730. (c[pe >> 2] | 0) >>> 0
  91731. ) {
  91732. dj = 190;
  91733. break;
  91734. }
  91735. aj = c[Md >> 2] | 0;
  91736. if ((c[qe >> 2] | 0) == 3)
  91737. hj = ((c[aj >> 2] | 0) - 1) | 0;
  91738. else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
  91739. c[re >> 2] = hj;
  91740. c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
  91741. c[te >> 2] = 0;
  91742. if (
  91743. (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  91744. (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
  91745. 0
  91746. ) {
  91747. aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
  91748. if (
  91749. (aj | 0) ==
  91750. (mm(
  91751. ((c[Jd >> 2] | 0) +
  91752. (0 - (c[re >> 2] | 0))) |
  91753. 0,
  91754. c[Vd >> 2] | 0
  91755. ) |
  91756. 0)
  91757. ) {
  91758. aj =
  91759. Tj(
  91760. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  91761. ((c[Jd >> 2] | 0) +
  91762. (c[Vd >> 2] | 0) +
  91763. (0 - (c[re >> 2] | 0))) |
  91764. 0,
  91765. c[Kd >> 2] | 0
  91766. ) | 0;
  91767. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  91768. }
  91769. } else {
  91770. c[ue >> 2] =
  91771. (c[ce >> 2] | 0) + (c[se >> 2] | 0);
  91772. if (
  91773. (
  91774. c[Ld >> 2] | 0
  91775. ? ((((c[de >> 2] | 0) -
  91776. 1 -
  91777. (c[se >> 2] | 0)) |
  91778. 0) >>>
  91779. 0 >=
  91780. 3
  91781. ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  91782. (((c[Td >> 2] | 0) -
  91783. (c[he >> 2] | 0)) |
  91784. 0) >>>
  91785. 0
  91786. : 0) | 0
  91787. : 0
  91788. )
  91789. ? ((aj =
  91790. mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
  91791. (aj | 0) ==
  91792. (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
  91793. 0))
  91794. : 0
  91795. ) {
  91796. aj =
  91797. Uj(
  91798. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  91799. ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  91800. c[Kd >> 2] | 0,
  91801. c[ee >> 2] | 0,
  91802. c[fe >> 2] | 0
  91803. ) | 0;
  91804. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  91805. }
  91806. }
  91807. if (
  91808. (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
  91809. ? ((c[oe >> 2] = c[te >> 2]),
  91810. (c[
  91811. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  91812. 2
  91813. ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
  91814. (c[
  91815. ((c[Od >> 2] | 0) +
  91816. (c[me >> 2] << 3) +
  91817. 4) >>
  91818. 2
  91819. ] = c[te >> 2]),
  91820. (c[me >> 2] = (c[me >> 2] | 0) + 1),
  91821. ((c[te >> 2] | 0) >>> 0 >
  91822. (c[Rd >> 2] | 0) >>> 0
  91823. ? 1
  91824. : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
  91825. 0) ==
  91826. (c[Kd >> 2] | 0)) | 0)
  91827. : 0
  91828. ) {
  91829. dj = 188;
  91830. break;
  91831. }
  91832. c[qe >> 2] = (c[qe >> 2] | 0) + 1;
  91833. }
  91834. do {
  91835. if ((dj | 0) == 188) {
  91836. dj = 0;
  91837. c[Gd >> 2] = c[me >> 2];
  91838. } else if ((dj | 0) == 190) {
  91839. dj = 0;
  91840. if (
  91841. (
  91842. (c[Qd >> 2] | 0) == 3
  91843. ? (c[oe >> 2] | 0) >>> 0 <
  91844. (c[Qd >> 2] | 0) >>> 0
  91845. : 0
  91846. )
  91847. ? ((c[ve >> 2] =
  91848. nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
  91849. ((c[ve >> 2] | 0) >>> 0 >
  91850. (c[he >> 2] | 0) >>> 0
  91851. ? (((c[Td >> 2] | 0) -
  91852. (c[ve >> 2] | 0)) |
  91853. 0) >>>
  91854. 0 <
  91855. 262144
  91856. : 0) | 0)
  91857. : 0
  91858. ) {
  91859. if (
  91860. c[Ld >> 2] | 0
  91861. ? (c[ve >> 2] | 0) >>> 0 <
  91862. (c[de >> 2] | 0) >>> 0
  91863. : 0
  91864. ) {
  91865. c[ye >> 2] =
  91866. (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
  91867. c[we >> 2] =
  91868. Uj(
  91869. c[Jd >> 2] | 0,
  91870. c[ye >> 2] | 0,
  91871. c[Kd >> 2] | 0,
  91872. c[ee >> 2] | 0,
  91873. c[fe >> 2] | 0
  91874. ) | 0;
  91875. } else {
  91876. c[xe >> 2] =
  91877. (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
  91878. c[we >> 2] =
  91879. Tj(
  91880. c[Jd >> 2] | 0,
  91881. c[xe >> 2] | 0,
  91882. c[Kd >> 2] | 0
  91883. ) | 0;
  91884. }
  91885. if (
  91886. (c[we >> 2] | 0) >>> 0 >=
  91887. (c[Qd >> 2] | 0) >>> 0
  91888. ? ((c[oe >> 2] = c[we >> 2]),
  91889. (c[c[Od >> 2] >> 2] =
  91890. (c[Td >> 2] | 0) -
  91891. (c[ve >> 2] | 0) +
  91892. 2),
  91893. (c[((c[Od >> 2] | 0) + 4) >> 2] =
  91894. c[we >> 2]),
  91895. (c[me >> 2] = 1),
  91896. ((c[we >> 2] | 0) >>> 0 >
  91897. (c[Rd >> 2] | 0) >>> 0
  91898. ? 1
  91899. : (((c[Jd >> 2] | 0) +
  91900. (c[we >> 2] | 0)) |
  91901. 0) ==
  91902. (c[Kd >> 2] | 0)) | 0)
  91903. : 0
  91904. ) {
  91905. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  91906. (c[Td >> 2] | 0) + 1;
  91907. c[Gd >> 2] = 1;
  91908. break;
  91909. }
  91910. }
  91911. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
  91912. c[Td >> 2];
  91913. while (1) {
  91914. aj = c[ne >> 2] | 0;
  91915. c[ne >> 2] = aj + -1;
  91916. if (!aj) break;
  91917. if (
  91918. (c[Yd >> 2] | 0) >>> 0 <=
  91919. (c[he >> 2] | 0) >>> 0
  91920. )
  91921. break;
  91922. c[ze >> 2] =
  91923. (c[Zd >> 2] | 0) +
  91924. (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
  91925. c[Ae >> 2] =
  91926. (c[ae >> 2] | 0) >>> 0 <
  91927. (c[be >> 2] | 0) >>> 0
  91928. ? c[ae >> 2] | 0
  91929. : c[be >> 2] | 0;
  91930. if (
  91931. c[Ld >> 2] | 0
  91932. ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91933. 0) >>>
  91934. 0 <
  91935. (c[de >> 2] | 0) >>> 0
  91936. : 0
  91937. ) {
  91938. c[Be >> 2] =
  91939. (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
  91940. aj =
  91941. Uj(
  91942. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91943. 0,
  91944. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91945. 0,
  91946. c[Kd >> 2] | 0,
  91947. c[ee >> 2] | 0,
  91948. c[fe >> 2] | 0
  91949. ) | 0;
  91950. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  91951. if (
  91952. (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91953. 0) >>>
  91954. 0 >=
  91955. (c[de >> 2] | 0) >>> 0
  91956. )
  91957. c[Be >> 2] =
  91958. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  91959. } else {
  91960. c[Be >> 2] =
  91961. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  91962. aj =
  91963. Tj(
  91964. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91965. 0,
  91966. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91967. 0,
  91968. c[Kd >> 2] | 0
  91969. ) | 0;
  91970. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  91971. }
  91972. if (
  91973. (c[Ae >> 2] | 0) >>> 0 >
  91974. (c[oe >> 2] | 0) >>> 0
  91975. ) {
  91976. if (
  91977. (c[Ae >> 2] | 0) >>> 0 >
  91978. (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
  91979. 0) >>>
  91980. 0
  91981. )
  91982. c[ke >> 2] =
  91983. (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
  91984. c[oe >> 2] = c[Ae >> 2];
  91985. c[
  91986. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  91987. 2
  91988. ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
  91989. c[
  91990. ((c[Od >> 2] | 0) +
  91991. (c[me >> 2] << 3) +
  91992. 4) >>
  91993. 2
  91994. ] = c[Ae >> 2];
  91995. c[me >> 2] = (c[me >> 2] | 0) + 1;
  91996. if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
  91997. if (
  91998. (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  91999. 0) ==
  92000. (c[Kd >> 2] | 0)
  92001. )
  92002. break;
  92003. }
  92004. aj = c[Yd >> 2] | 0;
  92005. if (
  92006. (d[
  92007. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  92008. ] |
  92009. 0 |
  92010. 0) <
  92011. (d[
  92012. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  92013. ] |
  92014. 0 |
  92015. 0)
  92016. ) {
  92017. c[c[ie >> 2] >> 2] = aj;
  92018. c[ae >> 2] = c[Ae >> 2];
  92019. if (
  92020. (c[Yd >> 2] | 0) >>> 0 <=
  92021. (c[ge >> 2] | 0) >>> 0
  92022. ) {
  92023. dj = 215;
  92024. break;
  92025. }
  92026. c[ie >> 2] = (c[ze >> 2] | 0) + 4;
  92027. c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
  92028. } else {
  92029. c[c[je >> 2] >> 2] = aj;
  92030. c[be >> 2] = c[Ae >> 2];
  92031. if (
  92032. (c[Yd >> 2] | 0) >>> 0 <=
  92033. (c[ge >> 2] | 0) >>> 0
  92034. ) {
  92035. dj = 218;
  92036. break;
  92037. }
  92038. c[je >> 2] = c[ze >> 2];
  92039. c[Yd >> 2] = c[c[ze >> 2] >> 2];
  92040. }
  92041. }
  92042. if ((dj | 0) == 215) {
  92043. dj = 0;
  92044. c[ie >> 2] = le;
  92045. } else if ((dj | 0) == 218) {
  92046. dj = 0;
  92047. c[je >> 2] = le;
  92048. }
  92049. c[c[je >> 2] >> 2] = 0;
  92050. c[c[ie >> 2] >> 2] = 0;
  92051. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  92052. (c[ke >> 2] | 0) - 8;
  92053. c[Gd >> 2] = c[me >> 2];
  92054. }
  92055. } while (0);
  92056. c[Ah >> 2] = c[Gd >> 2];
  92057. break a;
  92058. break;
  92059. }
  92060. case 5: {
  92061. aj = c[Ch >> 2] | 0;
  92062. Zh = c[Dh >> 2] | 0;
  92063. Uh = c[Eh >> 2] | 0;
  92064. _i = c[Fh >> 2] | 0;
  92065. Zi = c[Gh >> 2] | 0;
  92066. Ph = c[Hh >> 2] | 0;
  92067. Qh = c[Ih >> 2] | 0;
  92068. _h = c[Jh >> 2] | 0;
  92069. c[De >> 2] = c[Bh >> 2];
  92070. c[Ee >> 2] = aj;
  92071. c[Fe >> 2] = Zh;
  92072. c[Ge >> 2] = Uh;
  92073. c[He >> 2] = _i;
  92074. c[Ie >> 2] = Zi;
  92075. c[Je >> 2] = Ph;
  92076. c[Ke >> 2] = Qh;
  92077. c[Le >> 2] = _h;
  92078. c[Me >> 2] = 5;
  92079. if (
  92080. (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  92081. 4095
  92082. )
  92083. ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
  92084. else ij = 4095;
  92085. c[Ne >> 2] = ij;
  92086. c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
  92087. c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
  92088. c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
  92089. c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
  92090. c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
  92091. c[Te >> 2] =
  92092. Sj(
  92093. c[Fe >> 2] | 0,
  92094. c[Qe >> 2] | 0,
  92095. c[Me >> 2] | 0
  92096. ) | 0;
  92097. c[Ue >> 2] =
  92098. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
  92099. c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
  92100. c[We >> 2] =
  92101. (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
  92102. c[Xe >> 2] = (1 << c[We >> 2]) - 1;
  92103. c[Ye >> 2] = 0;
  92104. c[Ze >> 2] = 0;
  92105. c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
  92106. c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
  92107. c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
  92108. c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
  92109. if (
  92110. (c[Xe >> 2] | 0) >>> 0 >=
  92111. (c[Pe >> 2] | 0) >>> 0
  92112. )
  92113. jj = 0;
  92114. else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
  92115. c[cf >> 2] = jj;
  92116. c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
  92117. c[ef >> 2] =
  92118. (c[Ve >> 2] | 0) +
  92119. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
  92120. c[ff >> 2] =
  92121. (c[Ve >> 2] | 0) +
  92122. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
  92123. 4;
  92124. c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
  92125. c[jf >> 2] = 0;
  92126. c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
  92127. c[lf >> 2] = (c[Le >> 2] | 0) - 1;
  92128. c[mf >> 2] = 3 + (c[Je >> 2] | 0);
  92129. c[nf >> 2] = c[Je >> 2];
  92130. while (1) {
  92131. if (
  92132. (c[nf >> 2] | 0) >>> 0 >=
  92133. (c[mf >> 2] | 0) >>> 0
  92134. ) {
  92135. dj = 137;
  92136. break;
  92137. }
  92138. _h = c[Ie >> 2] | 0;
  92139. if ((c[nf >> 2] | 0) == 3)
  92140. kj = ((c[_h >> 2] | 0) - 1) | 0;
  92141. else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
  92142. c[of >> 2] = kj;
  92143. c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
  92144. c[qf >> 2] = 0;
  92145. if (
  92146. (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  92147. (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
  92148. 0
  92149. ) {
  92150. _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
  92151. if (
  92152. (_h | 0) ==
  92153. (mm(
  92154. ((c[Fe >> 2] | 0) +
  92155. (0 - (c[of >> 2] | 0))) |
  92156. 0,
  92157. c[Re >> 2] | 0
  92158. ) |
  92159. 0)
  92160. ) {
  92161. _h =
  92162. Tj(
  92163. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  92164. ((c[Fe >> 2] | 0) +
  92165. (c[Re >> 2] | 0) +
  92166. (0 - (c[of >> 2] | 0))) |
  92167. 0,
  92168. c[Ge >> 2] | 0
  92169. ) | 0;
  92170. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  92171. }
  92172. } else {
  92173. c[rf >> 2] =
  92174. (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
  92175. if (
  92176. (
  92177. c[He >> 2] | 0
  92178. ? ((((c[$e >> 2] | 0) -
  92179. 1 -
  92180. (c[pf >> 2] | 0)) |
  92181. 0) >>>
  92182. 0 >=
  92183. 3
  92184. ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  92185. (((c[Pe >> 2] | 0) -
  92186. (c[df >> 2] | 0)) |
  92187. 0) >>>
  92188. 0
  92189. : 0) | 0
  92190. : 0
  92191. )
  92192. ? ((_h =
  92193. mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
  92194. (_h | 0) ==
  92195. (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
  92196. 0))
  92197. : 0
  92198. ) {
  92199. _h =
  92200. Uj(
  92201. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  92202. ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  92203. c[Ge >> 2] | 0,
  92204. c[af >> 2] | 0,
  92205. c[bf >> 2] | 0
  92206. ) | 0;
  92207. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  92208. }
  92209. }
  92210. if (
  92211. (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
  92212. ? ((c[lf >> 2] = c[qf >> 2]),
  92213. (c[
  92214. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  92215. 2
  92216. ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
  92217. (c[
  92218. ((c[Ke >> 2] | 0) +
  92219. (c[jf >> 2] << 3) +
  92220. 4) >>
  92221. 2
  92222. ] = c[qf >> 2]),
  92223. (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
  92224. ((c[qf >> 2] | 0) >>> 0 >
  92225. (c[Ne >> 2] | 0) >>> 0
  92226. ? 1
  92227. : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
  92228. 0) ==
  92229. (c[Ge >> 2] | 0)) | 0)
  92230. : 0
  92231. ) {
  92232. dj = 135;
  92233. break;
  92234. }
  92235. c[nf >> 2] = (c[nf >> 2] | 0) + 1;
  92236. }
  92237. do {
  92238. if ((dj | 0) == 135) {
  92239. dj = 0;
  92240. c[Ce >> 2] = c[jf >> 2];
  92241. } else if ((dj | 0) == 137) {
  92242. dj = 0;
  92243. if (
  92244. (
  92245. (c[Me >> 2] | 0) == 3
  92246. ? (c[lf >> 2] | 0) >>> 0 <
  92247. (c[Me >> 2] | 0) >>> 0
  92248. : 0
  92249. )
  92250. ? ((c[sf >> 2] =
  92251. nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
  92252. ((c[sf >> 2] | 0) >>> 0 >
  92253. (c[df >> 2] | 0) >>> 0
  92254. ? (((c[Pe >> 2] | 0) -
  92255. (c[sf >> 2] | 0)) |
  92256. 0) >>>
  92257. 0 <
  92258. 262144
  92259. : 0) | 0)
  92260. : 0
  92261. ) {
  92262. if (
  92263. c[He >> 2] | 0
  92264. ? (c[sf >> 2] | 0) >>> 0 <
  92265. (c[$e >> 2] | 0) >>> 0
  92266. : 0
  92267. ) {
  92268. c[vf >> 2] =
  92269. (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
  92270. c[tf >> 2] =
  92271. Uj(
  92272. c[Fe >> 2] | 0,
  92273. c[vf >> 2] | 0,
  92274. c[Ge >> 2] | 0,
  92275. c[af >> 2] | 0,
  92276. c[bf >> 2] | 0
  92277. ) | 0;
  92278. } else {
  92279. c[uf >> 2] =
  92280. (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
  92281. c[tf >> 2] =
  92282. Tj(
  92283. c[Fe >> 2] | 0,
  92284. c[uf >> 2] | 0,
  92285. c[Ge >> 2] | 0
  92286. ) | 0;
  92287. }
  92288. if (
  92289. (c[tf >> 2] | 0) >>> 0 >=
  92290. (c[Me >> 2] | 0) >>> 0
  92291. ? ((c[lf >> 2] = c[tf >> 2]),
  92292. (c[c[Ke >> 2] >> 2] =
  92293. (c[Pe >> 2] | 0) -
  92294. (c[sf >> 2] | 0) +
  92295. 2),
  92296. (c[((c[Ke >> 2] | 0) + 4) >> 2] =
  92297. c[tf >> 2]),
  92298. (c[jf >> 2] = 1),
  92299. ((c[tf >> 2] | 0) >>> 0 >
  92300. (c[Ne >> 2] | 0) >>> 0
  92301. ? 1
  92302. : (((c[Fe >> 2] | 0) +
  92303. (c[tf >> 2] | 0)) |
  92304. 0) ==
  92305. (c[Ge >> 2] | 0)) | 0)
  92306. : 0
  92307. ) {
  92308. c[((c[De >> 2] | 0) + 24) >> 2] =
  92309. (c[Pe >> 2] | 0) + 1;
  92310. c[Ce >> 2] = 1;
  92311. break;
  92312. }
  92313. }
  92314. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
  92315. c[Pe >> 2];
  92316. while (1) {
  92317. _h = c[kf >> 2] | 0;
  92318. c[kf >> 2] = _h + -1;
  92319. if (!_h) break;
  92320. if (
  92321. (c[Ue >> 2] | 0) >>> 0 <=
  92322. (c[df >> 2] | 0) >>> 0
  92323. )
  92324. break;
  92325. c[wf >> 2] =
  92326. (c[Ve >> 2] | 0) +
  92327. (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
  92328. c[xf >> 2] =
  92329. (c[Ye >> 2] | 0) >>> 0 <
  92330. (c[Ze >> 2] | 0) >>> 0
  92331. ? c[Ye >> 2] | 0
  92332. : c[Ze >> 2] | 0;
  92333. if (
  92334. c[He >> 2] | 0
  92335. ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  92336. 0) >>>
  92337. 0 <
  92338. (c[$e >> 2] | 0) >>> 0
  92339. : 0
  92340. ) {
  92341. c[yf >> 2] =
  92342. (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
  92343. _h =
  92344. Uj(
  92345. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  92346. 0,
  92347. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  92348. 0,
  92349. c[Ge >> 2] | 0,
  92350. c[af >> 2] | 0,
  92351. c[bf >> 2] | 0
  92352. ) | 0;
  92353. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  92354. if (
  92355. (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  92356. 0) >>>
  92357. 0 >=
  92358. (c[$e >> 2] | 0) >>> 0
  92359. )
  92360. c[yf >> 2] =
  92361. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  92362. } else {
  92363. c[yf >> 2] =
  92364. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  92365. _h =
  92366. Tj(
  92367. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  92368. 0,
  92369. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  92370. 0,
  92371. c[Ge >> 2] | 0
  92372. ) | 0;
  92373. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  92374. }
  92375. if (
  92376. (c[xf >> 2] | 0) >>> 0 >
  92377. (c[lf >> 2] | 0) >>> 0
  92378. ) {
  92379. if (
  92380. (c[xf >> 2] | 0) >>> 0 >
  92381. (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
  92382. 0) >>>
  92383. 0
  92384. )
  92385. c[gf >> 2] =
  92386. (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
  92387. c[lf >> 2] = c[xf >> 2];
  92388. c[
  92389. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  92390. 2
  92391. ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
  92392. c[
  92393. ((c[Ke >> 2] | 0) +
  92394. (c[jf >> 2] << 3) +
  92395. 4) >>
  92396. 2
  92397. ] = c[xf >> 2];
  92398. c[jf >> 2] = (c[jf >> 2] | 0) + 1;
  92399. if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
  92400. if (
  92401. (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  92402. 0) ==
  92403. (c[Ge >> 2] | 0)
  92404. )
  92405. break;
  92406. }
  92407. _h = c[Ue >> 2] | 0;
  92408. if (
  92409. (d[
  92410. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  92411. ] |
  92412. 0 |
  92413. 0) <
  92414. (d[
  92415. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  92416. ] |
  92417. 0 |
  92418. 0)
  92419. ) {
  92420. c[c[ef >> 2] >> 2] = _h;
  92421. c[Ye >> 2] = c[xf >> 2];
  92422. if (
  92423. (c[Ue >> 2] | 0) >>> 0 <=
  92424. (c[cf >> 2] | 0) >>> 0
  92425. ) {
  92426. dj = 162;
  92427. break;
  92428. }
  92429. c[ef >> 2] = (c[wf >> 2] | 0) + 4;
  92430. c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
  92431. } else {
  92432. c[c[ff >> 2] >> 2] = _h;
  92433. c[Ze >> 2] = c[xf >> 2];
  92434. if (
  92435. (c[Ue >> 2] | 0) >>> 0 <=
  92436. (c[cf >> 2] | 0) >>> 0
  92437. ) {
  92438. dj = 165;
  92439. break;
  92440. }
  92441. c[ff >> 2] = c[wf >> 2];
  92442. c[Ue >> 2] = c[c[wf >> 2] >> 2];
  92443. }
  92444. }
  92445. if ((dj | 0) == 162) {
  92446. dj = 0;
  92447. c[ef >> 2] = hf;
  92448. } else if ((dj | 0) == 165) {
  92449. dj = 0;
  92450. c[ff >> 2] = hf;
  92451. }
  92452. c[c[ff >> 2] >> 2] = 0;
  92453. c[c[ef >> 2] >> 2] = 0;
  92454. c[((c[De >> 2] | 0) + 24) >> 2] =
  92455. (c[gf >> 2] | 0) - 8;
  92456. c[Ce >> 2] = c[jf >> 2];
  92457. }
  92458. } while (0);
  92459. c[Ah >> 2] = c[Ce >> 2];
  92460. break a;
  92461. break;
  92462. }
  92463. default: {
  92464. _h = c[Ch >> 2] | 0;
  92465. Qh = c[Dh >> 2] | 0;
  92466. Ph = c[Eh >> 2] | 0;
  92467. Zi = c[Fh >> 2] | 0;
  92468. _i = c[Gh >> 2] | 0;
  92469. Uh = c[Hh >> 2] | 0;
  92470. Zh = c[Ih >> 2] | 0;
  92471. aj = c[Jh >> 2] | 0;
  92472. c[Af >> 2] = c[Bh >> 2];
  92473. c[Bf >> 2] = _h;
  92474. c[Cf >> 2] = Qh;
  92475. c[Df >> 2] = Ph;
  92476. c[Ef >> 2] = Zi;
  92477. c[Ff >> 2] = _i;
  92478. c[Gf >> 2] = Uh;
  92479. c[Hf >> 2] = Zh;
  92480. c[If >> 2] = aj;
  92481. c[Jf >> 2] = 4;
  92482. if (
  92483. (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  92484. 4095
  92485. )
  92486. lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
  92487. else lj = 4095;
  92488. c[Kf >> 2] = lj;
  92489. c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
  92490. c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
  92491. c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
  92492. c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
  92493. c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
  92494. c[Qf >> 2] =
  92495. Sj(
  92496. c[Cf >> 2] | 0,
  92497. c[Nf >> 2] | 0,
  92498. c[Jf >> 2] | 0
  92499. ) | 0;
  92500. c[Rf >> 2] =
  92501. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
  92502. c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
  92503. c[Tf >> 2] =
  92504. (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
  92505. c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
  92506. c[Vf >> 2] = 0;
  92507. c[Wf >> 2] = 0;
  92508. c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
  92509. c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
  92510. c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
  92511. c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
  92512. if (
  92513. (c[Uf >> 2] | 0) >>> 0 >=
  92514. (c[Mf >> 2] | 0) >>> 0
  92515. )
  92516. mj = 0;
  92517. else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
  92518. c[$f >> 2] = mj;
  92519. c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
  92520. c[bg >> 2] =
  92521. (c[Sf >> 2] | 0) +
  92522. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
  92523. c[cg >> 2] =
  92524. (c[Sf >> 2] | 0) +
  92525. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
  92526. 4;
  92527. c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
  92528. c[fg >> 2] = 0;
  92529. c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
  92530. c[hg >> 2] = (c[If >> 2] | 0) - 1;
  92531. c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
  92532. c[jg >> 2] = c[Gf >> 2];
  92533. while (1) {
  92534. if (
  92535. (c[jg >> 2] | 0) >>> 0 >=
  92536. (c[ig >> 2] | 0) >>> 0
  92537. ) {
  92538. dj = 84;
  92539. break;
  92540. }
  92541. aj = c[Ff >> 2] | 0;
  92542. if ((c[jg >> 2] | 0) == 3)
  92543. nj = ((c[aj >> 2] | 0) - 1) | 0;
  92544. else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
  92545. c[kg >> 2] = nj;
  92546. c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
  92547. c[mg >> 2] = 0;
  92548. if (
  92549. (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  92550. (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
  92551. 0
  92552. ) {
  92553. aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
  92554. if (
  92555. (aj | 0) ==
  92556. (mm(
  92557. ((c[Cf >> 2] | 0) +
  92558. (0 - (c[kg >> 2] | 0))) |
  92559. 0,
  92560. c[Of >> 2] | 0
  92561. ) |
  92562. 0)
  92563. ) {
  92564. aj =
  92565. Tj(
  92566. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  92567. ((c[Cf >> 2] | 0) +
  92568. (c[Of >> 2] | 0) +
  92569. (0 - (c[kg >> 2] | 0))) |
  92570. 0,
  92571. c[Df >> 2] | 0
  92572. ) | 0;
  92573. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  92574. }
  92575. } else {
  92576. c[ng >> 2] =
  92577. (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
  92578. if (
  92579. (
  92580. c[Ef >> 2] | 0
  92581. ? ((((c[Yf >> 2] | 0) -
  92582. 1 -
  92583. (c[lg >> 2] | 0)) |
  92584. 0) >>>
  92585. 0 >=
  92586. 3
  92587. ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  92588. (((c[Mf >> 2] | 0) -
  92589. (c[ag >> 2] | 0)) |
  92590. 0) >>>
  92591. 0
  92592. : 0) | 0
  92593. : 0
  92594. )
  92595. ? ((aj =
  92596. mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
  92597. (aj | 0) ==
  92598. (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
  92599. 0))
  92600. : 0
  92601. ) {
  92602. aj =
  92603. Uj(
  92604. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  92605. ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  92606. c[Df >> 2] | 0,
  92607. c[Zf >> 2] | 0,
  92608. c[_f >> 2] | 0
  92609. ) | 0;
  92610. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  92611. }
  92612. }
  92613. if (
  92614. (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
  92615. ? ((c[hg >> 2] = c[mg >> 2]),
  92616. (c[
  92617. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  92618. 2
  92619. ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
  92620. (c[
  92621. ((c[Hf >> 2] | 0) +
  92622. (c[fg >> 2] << 3) +
  92623. 4) >>
  92624. 2
  92625. ] = c[mg >> 2]),
  92626. (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
  92627. ((c[mg >> 2] | 0) >>> 0 >
  92628. (c[Kf >> 2] | 0) >>> 0
  92629. ? 1
  92630. : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
  92631. 0) ==
  92632. (c[Df >> 2] | 0)) | 0)
  92633. : 0
  92634. ) {
  92635. dj = 82;
  92636. break;
  92637. }
  92638. c[jg >> 2] = (c[jg >> 2] | 0) + 1;
  92639. }
  92640. do {
  92641. if ((dj | 0) == 82) {
  92642. dj = 0;
  92643. c[zf >> 2] = c[fg >> 2];
  92644. } else if ((dj | 0) == 84) {
  92645. dj = 0;
  92646. if (
  92647. (
  92648. (c[Jf >> 2] | 0) == 3
  92649. ? (c[hg >> 2] | 0) >>> 0 <
  92650. (c[Jf >> 2] | 0) >>> 0
  92651. : 0
  92652. )
  92653. ? ((c[og >> 2] =
  92654. nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
  92655. ((c[og >> 2] | 0) >>> 0 >
  92656. (c[ag >> 2] | 0) >>> 0
  92657. ? (((c[Mf >> 2] | 0) -
  92658. (c[og >> 2] | 0)) |
  92659. 0) >>>
  92660. 0 <
  92661. 262144
  92662. : 0) | 0)
  92663. : 0
  92664. ) {
  92665. if (
  92666. c[Ef >> 2] | 0
  92667. ? (c[og >> 2] | 0) >>> 0 <
  92668. (c[Yf >> 2] | 0) >>> 0
  92669. : 0
  92670. ) {
  92671. c[rg >> 2] =
  92672. (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
  92673. c[pg >> 2] =
  92674. Uj(
  92675. c[Cf >> 2] | 0,
  92676. c[rg >> 2] | 0,
  92677. c[Df >> 2] | 0,
  92678. c[Zf >> 2] | 0,
  92679. c[_f >> 2] | 0
  92680. ) | 0;
  92681. } else {
  92682. c[qg >> 2] =
  92683. (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
  92684. c[pg >> 2] =
  92685. Tj(
  92686. c[Cf >> 2] | 0,
  92687. c[qg >> 2] | 0,
  92688. c[Df >> 2] | 0
  92689. ) | 0;
  92690. }
  92691. if (
  92692. (c[pg >> 2] | 0) >>> 0 >=
  92693. (c[Jf >> 2] | 0) >>> 0
  92694. ? ((c[hg >> 2] = c[pg >> 2]),
  92695. (c[c[Hf >> 2] >> 2] =
  92696. (c[Mf >> 2] | 0) -
  92697. (c[og >> 2] | 0) +
  92698. 2),
  92699. (c[((c[Hf >> 2] | 0) + 4) >> 2] =
  92700. c[pg >> 2]),
  92701. (c[fg >> 2] = 1),
  92702. ((c[pg >> 2] | 0) >>> 0 >
  92703. (c[Kf >> 2] | 0) >>> 0
  92704. ? 1
  92705. : (((c[Cf >> 2] | 0) +
  92706. (c[pg >> 2] | 0)) |
  92707. 0) ==
  92708. (c[Df >> 2] | 0)) | 0)
  92709. : 0
  92710. ) {
  92711. c[((c[Af >> 2] | 0) + 24) >> 2] =
  92712. (c[Mf >> 2] | 0) + 1;
  92713. c[zf >> 2] = 1;
  92714. break;
  92715. }
  92716. }
  92717. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
  92718. c[Mf >> 2];
  92719. while (1) {
  92720. aj = c[gg >> 2] | 0;
  92721. c[gg >> 2] = aj + -1;
  92722. if (!aj) break;
  92723. if (
  92724. (c[Rf >> 2] | 0) >>> 0 <=
  92725. (c[ag >> 2] | 0) >>> 0
  92726. )
  92727. break;
  92728. c[sg >> 2] =
  92729. (c[Sf >> 2] | 0) +
  92730. (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
  92731. c[tg >> 2] =
  92732. (c[Vf >> 2] | 0) >>> 0 <
  92733. (c[Wf >> 2] | 0) >>> 0
  92734. ? c[Vf >> 2] | 0
  92735. : c[Wf >> 2] | 0;
  92736. if (
  92737. c[Ef >> 2] | 0
  92738. ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  92739. 0) >>>
  92740. 0 <
  92741. (c[Yf >> 2] | 0) >>> 0
  92742. : 0
  92743. ) {
  92744. c[ug >> 2] =
  92745. (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
  92746. aj =
  92747. Uj(
  92748. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  92749. 0,
  92750. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  92751. 0,
  92752. c[Df >> 2] | 0,
  92753. c[Zf >> 2] | 0,
  92754. c[_f >> 2] | 0
  92755. ) | 0;
  92756. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  92757. if (
  92758. (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  92759. 0) >>>
  92760. 0 >=
  92761. (c[Yf >> 2] | 0) >>> 0
  92762. )
  92763. c[ug >> 2] =
  92764. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  92765. } else {
  92766. c[ug >> 2] =
  92767. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  92768. aj =
  92769. Tj(
  92770. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  92771. 0,
  92772. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  92773. 0,
  92774. c[Df >> 2] | 0
  92775. ) | 0;
  92776. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  92777. }
  92778. if (
  92779. (c[tg >> 2] | 0) >>> 0 >
  92780. (c[hg >> 2] | 0) >>> 0
  92781. ) {
  92782. if (
  92783. (c[tg >> 2] | 0) >>> 0 >
  92784. (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
  92785. 0) >>>
  92786. 0
  92787. )
  92788. c[dg >> 2] =
  92789. (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
  92790. c[hg >> 2] = c[tg >> 2];
  92791. c[
  92792. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  92793. 2
  92794. ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
  92795. c[
  92796. ((c[Hf >> 2] | 0) +
  92797. (c[fg >> 2] << 3) +
  92798. 4) >>
  92799. 2
  92800. ] = c[tg >> 2];
  92801. c[fg >> 2] = (c[fg >> 2] | 0) + 1;
  92802. if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
  92803. if (
  92804. (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  92805. 0) ==
  92806. (c[Df >> 2] | 0)
  92807. )
  92808. break;
  92809. }
  92810. aj = c[Rf >> 2] | 0;
  92811. if (
  92812. (d[
  92813. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  92814. ] |
  92815. 0 |
  92816. 0) <
  92817. (d[
  92818. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  92819. ] |
  92820. 0 |
  92821. 0)
  92822. ) {
  92823. c[c[bg >> 2] >> 2] = aj;
  92824. c[Vf >> 2] = c[tg >> 2];
  92825. if (
  92826. (c[Rf >> 2] | 0) >>> 0 <=
  92827. (c[$f >> 2] | 0) >>> 0
  92828. ) {
  92829. dj = 109;
  92830. break;
  92831. }
  92832. c[bg >> 2] = (c[sg >> 2] | 0) + 4;
  92833. c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
  92834. } else {
  92835. c[c[cg >> 2] >> 2] = aj;
  92836. c[Wf >> 2] = c[tg >> 2];
  92837. if (
  92838. (c[Rf >> 2] | 0) >>> 0 <=
  92839. (c[$f >> 2] | 0) >>> 0
  92840. ) {
  92841. dj = 112;
  92842. break;
  92843. }
  92844. c[cg >> 2] = c[sg >> 2];
  92845. c[Rf >> 2] = c[c[sg >> 2] >> 2];
  92846. }
  92847. }
  92848. if ((dj | 0) == 109) {
  92849. dj = 0;
  92850. c[bg >> 2] = eg;
  92851. } else if ((dj | 0) == 112) {
  92852. dj = 0;
  92853. c[cg >> 2] = eg;
  92854. }
  92855. c[c[cg >> 2] >> 2] = 0;
  92856. c[c[bg >> 2] >> 2] = 0;
  92857. c[((c[Af >> 2] | 0) + 24) >> 2] =
  92858. (c[dg >> 2] | 0) - 8;
  92859. c[zf >> 2] = c[fg >> 2];
  92860. }
  92861. } while (0);
  92862. c[Ah >> 2] = c[zf >> 2];
  92863. break a;
  92864. }
  92865. }
  92866. }
  92867. } while (0);
  92868. c[ki >> 2] = c[Ah >> 2];
  92869. if (!(c[ki >> 2] | 0)) {
  92870. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  92871. continue;
  92872. }
  92873. c[li >> 2] = 0;
  92874. while (1) {
  92875. if ((c[li >> 2] | 0) >>> 0 >= 3) break;
  92876. c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
  92877. c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
  92878. c[li >> 2] = (c[li >> 2] | 0) + 1;
  92879. }
  92880. c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
  92881. c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
  92882. c[mi >> 2] =
  92883. c[
  92884. ((c[ci >> 2] | 0) +
  92885. (((c[ki >> 2] | 0) - 1) << 3) +
  92886. 4) >>
  92887. 2
  92888. ];
  92889. do {
  92890. if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
  92891. c[ni >> 2] =
  92892. om(
  92893. di,
  92894. c[Wh >> 2] | 0,
  92895. c[ii >> 2] | 0,
  92896. c[Th >> 2] | 0
  92897. ) | 0;
  92898. c[oi >> 2] = 0;
  92899. while (1) {
  92900. if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
  92901. break;
  92902. c[
  92903. ((c[bi >> 2] | 0) +
  92904. (((c[oi >> 2] | 0) * 28) | 0) +
  92905. 8) >>
  92906. 2
  92907. ] = 1;
  92908. c[
  92909. ((c[bi >> 2] | 0) +
  92910. (((c[oi >> 2] | 0) * 28) | 0)) >>
  92911. 2
  92912. ] = 1073741824;
  92913. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  92914. }
  92915. c[pi >> 2] = 0;
  92916. while (1) {
  92917. if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
  92918. break;
  92919. c[qi >> 2] =
  92920. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
  92921. c[ri >> 2] =
  92922. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
  92923. pm(
  92924. si,
  92925. c[Nh >> 2] | 0,
  92926. c[qi >> 2] | 0,
  92927. c[ji >> 2] | 0
  92928. );
  92929. while (1) {
  92930. if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
  92931. break;
  92932. aj = c[ni >> 2] | 0;
  92933. Zh = c[oi >> 2] | 0;
  92934. Uh = c[Th >> 2] | 0;
  92935. _i = c[Rh >> 2] | 0;
  92936. c[yd >> 2] = c[qi >> 2];
  92937. c[zd >> 2] = Zh;
  92938. c[Ad >> 2] = Uh;
  92939. c[Bd >> 2] = _i;
  92940. c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
  92941. c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
  92942. if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
  92943. _i =
  92944. ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
  92945. c[xd >> 2] = _i + (c[Dd >> 2] | 0);
  92946. } else {
  92947. _i =
  92948. ((c[Dd >> 2] | 0) +
  92949. (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
  92950. 0;
  92951. c[Cd >> 2] =
  92952. _i -
  92953. (qm(
  92954. ((c[
  92955. ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
  92956. (c[Dd >> 2] << 2)) >>
  92957. 2
  92958. ] |
  92959. 0) +
  92960. 1) |
  92961. 0
  92962. ) |
  92963. 0);
  92964. if (
  92965. ((c[Bd >> 2] | 0) < 2) &
  92966. ((c[Dd >> 2] | 0) >>> 0 >= 20)
  92967. )
  92968. c[Cd >> 2] =
  92969. (c[Cd >> 2] | 0) +
  92970. (((c[Dd >> 2] | 0) - 19) << 1);
  92971. c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
  92972. _i =
  92973. ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
  92974. (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
  92975. 0;
  92976. Uh =
  92977. (_i -
  92978. (qm(
  92979. ((c[
  92980. ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
  92981. (c[Fd >> 2] << 2)) >>
  92982. 2
  92983. ] |
  92984. 0) +
  92985. 1) |
  92986. 0
  92987. ) |
  92988. 0)) |
  92989. 0;
  92990. c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
  92991. c[xd >> 2] = c[Cd >> 2];
  92992. }
  92993. c[ti >> 2] = aj + (c[xd >> 2] | 0);
  92994. c[
  92995. ((c[bi >> 2] | 0) +
  92996. (((c[oi >> 2] | 0) * 28) | 0) +
  92997. 8) >>
  92998. 2
  92999. ] = c[oi >> 2];
  93000. c[
  93001. ((c[bi >> 2] | 0) +
  93002. (((c[oi >> 2] | 0) * 28) | 0) +
  93003. 4) >>
  93004. 2
  93005. ] = c[qi >> 2];
  93006. c[
  93007. ((c[bi >> 2] | 0) +
  93008. (((c[oi >> 2] | 0) * 28) | 0) +
  93009. 12) >>
  93010. 2
  93011. ] = c[ii >> 2];
  93012. c[
  93013. ((c[bi >> 2] | 0) +
  93014. (((c[oi >> 2] | 0) * 28) | 0)) >>
  93015. 2
  93016. ] = c[ti >> 2];
  93017. aj =
  93018. ((c[bi >> 2] | 0) +
  93019. (((c[oi >> 2] | 0) * 28) | 0) +
  93020. 16) |
  93021. 0;
  93022. c[aj >> 2] = c[si >> 2];
  93023. c[(aj + 4) >> 2] = c[(si + 4) >> 2];
  93024. c[(aj + 8) >> 2] = c[(si + 8) >> 2];
  93025. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  93026. }
  93027. c[pi >> 2] = (c[pi >> 2] | 0) + 1;
  93028. }
  93029. c[fi >> 2] = (c[oi >> 2] | 0) - 1;
  93030. c[ei >> 2] = 1;
  93031. b: while (1) {
  93032. if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
  93033. dj = 504;
  93034. break;
  93035. }
  93036. c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
  93037. if (
  93038. (c[
  93039. ((c[bi >> 2] | 0) +
  93040. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  93041. 8) >>
  93042. 2
  93043. ] |
  93044. 0) ==
  93045. 1
  93046. )
  93047. oj =
  93048. ((c[
  93049. ((c[bi >> 2] | 0) +
  93050. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  93051. 12) >>
  93052. 2
  93053. ] |
  93054. 0) +
  93055. 1) |
  93056. 0;
  93057. else oj = 1;
  93058. c[vi >> 2] = oj;
  93059. if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
  93060. aj =
  93061. c[
  93062. ((c[bi >> 2] | 0) +
  93063. (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
  93064. 0) *
  93065. 28) |
  93066. 0)) >>
  93067. 2
  93068. ] | 0;
  93069. c[wi >> 2] =
  93070. aj +
  93071. (sm(
  93072. ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
  93073. c[vi >> 2] | 0,
  93074. c[Th >> 2] | 0
  93075. ) |
  93076. 0);
  93077. } else
  93078. c[wi >> 2] =
  93079. tm(
  93080. di,
  93081. c[Wh >> 2] | 0,
  93082. c[vi >> 2] | 0,
  93083. c[Th >> 2] | 0
  93084. ) | 0;
  93085. if (
  93086. (c[wi >> 2] | 0) <=
  93087. (c[
  93088. ((c[bi >> 2] | 0) +
  93089. (((c[ei >> 2] | 0) * 28) | 0)) >>
  93090. 2
  93091. ] |
  93092. 0)
  93093. ) {
  93094. c[
  93095. ((c[bi >> 2] | 0) +
  93096. (((c[ei >> 2] | 0) * 28) | 0) +
  93097. 8) >>
  93098. 2
  93099. ] = 1;
  93100. c[
  93101. ((c[bi >> 2] | 0) +
  93102. (((c[ei >> 2] | 0) * 28) | 0) +
  93103. 4) >>
  93104. 2
  93105. ] = 0;
  93106. c[
  93107. ((c[bi >> 2] | 0) +
  93108. (((c[ei >> 2] | 0) * 28) | 0) +
  93109. 12) >>
  93110. 2
  93111. ] = c[vi >> 2];
  93112. c[
  93113. ((c[bi >> 2] | 0) +
  93114. (((c[ei >> 2] | 0) * 28) | 0)) >>
  93115. 2
  93116. ] = c[wi >> 2];
  93117. aj =
  93118. ((c[bi >> 2] | 0) +
  93119. (((c[ei >> 2] | 0) * 28) | 0) +
  93120. 16) |
  93121. 0;
  93122. Uh =
  93123. ((c[bi >> 2] | 0) +
  93124. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  93125. 16) |
  93126. 0;
  93127. c[aj >> 2] = c[Uh >> 2];
  93128. c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
  93129. c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
  93130. }
  93131. c: do {
  93132. if (
  93133. (c[ui >> 2] | 0) >>> 0 <=
  93134. (c[Yh >> 2] | 0) >>> 0
  93135. ) {
  93136. if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
  93137. dj = 504;
  93138. break b;
  93139. }
  93140. if (
  93141. (c[Rh >> 2] | 0) == 0
  93142. ? (c[
  93143. ((c[bi >> 2] | 0) +
  93144. (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
  93145. 0)) >>
  93146. 2
  93147. ] |
  93148. 0) <=
  93149. (c[
  93150. ((c[bi >> 2] | 0) +
  93151. (((c[ei >> 2] | 0) * 28) | 0)) >>
  93152. 2
  93153. ] |
  93154. 0)
  93155. : 0
  93156. )
  93157. break;
  93158. c[xi >> 2] =
  93159. ((c[
  93160. ((c[bi >> 2] | 0) +
  93161. (((c[ei >> 2] | 0) * 28) | 0) +
  93162. 8) >>
  93163. 2
  93164. ] |
  93165. 0) !=
  93166. 1) &
  93167. 1;
  93168. if (
  93169. (c[
  93170. ((c[bi >> 2] | 0) +
  93171. (((c[ei >> 2] | 0) * 28) | 0) +
  93172. 8) >>
  93173. 2
  93174. ] |
  93175. 0) ==
  93176. 1
  93177. )
  93178. pj =
  93179. c[
  93180. ((c[bi >> 2] | 0) +
  93181. (((c[ei >> 2] | 0) * 28) | 0) +
  93182. 12) >>
  93183. 2
  93184. ] | 0;
  93185. else pj = 0;
  93186. c[yi >> 2] = pj;
  93187. if (
  93188. (c[ei >> 2] | 0) >>> 0 >
  93189. (c[yi >> 2] | 0) >>> 0
  93190. )
  93191. qj =
  93192. c[
  93193. ((c[bi >> 2] | 0) +
  93194. (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
  93195. 0) *
  93196. 28) |
  93197. 0)) >>
  93198. 2
  93199. ] | 0;
  93200. else qj = 0;
  93201. c[zi >> 2] = qj;
  93202. Uh = c[zi >> 2] | 0;
  93203. c[Ai >> 2] =
  93204. Uh +
  93205. (um(
  93206. ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
  93207. 0,
  93208. c[yi >> 2] | 0,
  93209. c[Th >> 2] | 0
  93210. ) |
  93211. 0);
  93212. Uh = c[Oh >> 2] | 0;
  93213. aj = c[ui >> 2] | 0;
  93214. _i = c[Xh >> 2] | 0;
  93215. Zh = c[Sh >> 2] | 0;
  93216. Zi =
  93217. ((c[bi >> 2] | 0) +
  93218. (((c[ei >> 2] | 0) * 28) | 0) +
  93219. 16) |
  93220. 0;
  93221. Ph = c[xi >> 2] | 0;
  93222. Qh = c[ci >> 2] | 0;
  93223. _h = c[ai >> 2] | 0;
  93224. c[nd >> 2] = c[Lh >> 2];
  93225. c[od >> 2] = Uh;
  93226. c[pd >> 2] = aj;
  93227. c[qd >> 2] = _i;
  93228. c[rd >> 2] = Zh;
  93229. c[sd >> 2] = Zi;
  93230. c[td >> 2] = Ph;
  93231. c[ud >> 2] = Qh;
  93232. c[vd >> 2] = _h;
  93233. c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
  93234. d: do {
  93235. if (
  93236. (c[pd >> 2] | 0) >>> 0 <
  93237. (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
  93238. (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
  93239. 0) >>>
  93240. 0
  93241. )
  93242. c[md >> 2] = 0;
  93243. else {
  93244. _h = c[od >> 2] | 0;
  93245. Qh = c[pd >> 2] | 0;
  93246. Ph = c[qd >> 2] | 0;
  93247. Zi = c[wd >> 2] | 0;
  93248. Zh = c[rd >> 2] | 0;
  93249. c[dd >> 2] = c[nd >> 2];
  93250. c[ed >> 2] = _h;
  93251. c[fd >> 2] = Qh;
  93252. c[gd >> 2] = Ph;
  93253. c[hd >> 2] = Zi;
  93254. c[id >> 2] = Zh;
  93255. c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
  93256. c[kd >> 2] =
  93257. (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
  93258. c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
  93259. while (1) {
  93260. if (
  93261. (c[ld >> 2] | 0) >>> 0 >=
  93262. (c[kd >> 2] | 0) >>> 0
  93263. )
  93264. break;
  93265. Zh =
  93266. Rj(
  93267. c[dd >> 2] | 0,
  93268. c[ed >> 2] | 0,
  93269. ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
  93270. 0,
  93271. c[gd >> 2] | 0,
  93272. c[hd >> 2] | 0,
  93273. c[id >> 2] | 0
  93274. ) | 0;
  93275. c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
  93276. }
  93277. c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
  93278. switch (c[wd >> 2] | 0) {
  93279. case 3: {
  93280. Zh = c[od >> 2] | 0;
  93281. Zi = c[pd >> 2] | 0;
  93282. Ph = c[qd >> 2] | 0;
  93283. Qh = c[rd >> 2] | 0;
  93284. _h = c[sd >> 2] | 0;
  93285. _i = c[td >> 2] | 0;
  93286. aj = c[ud >> 2] | 0;
  93287. Uh = c[vd >> 2] | 0;
  93288. c[ic >> 2] = c[nd >> 2];
  93289. c[jc >> 2] = Zh;
  93290. c[kc >> 2] = Zi;
  93291. c[lc >> 2] = Ph;
  93292. c[mc >> 2] = Qh;
  93293. c[nc >> 2] = _h;
  93294. c[oc >> 2] = _i;
  93295. c[pc >> 2] = aj;
  93296. c[qc >> 2] = Uh;
  93297. c[rc >> 2] = 3;
  93298. if (
  93299. (c[((c[jc >> 2] | 0) + 20) >> 2] |
  93300. 0) >>>
  93301. 0 <
  93302. 4095
  93303. )
  93304. rj =
  93305. c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
  93306. else rj = 4095;
  93307. c[sc >> 2] = rj;
  93308. c[tc >> 2] =
  93309. c[((c[ic >> 2] | 0) + 4) >> 2];
  93310. c[uc >> 2] =
  93311. (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
  93312. c[vc >> 2] =
  93313. c[((c[jc >> 2] | 0) + 8) >> 2];
  93314. c[wc >> 2] =
  93315. (c[rc >> 2] | 0) == 3 ? 3 : 4;
  93316. c[xc >> 2] =
  93317. c[((c[ic >> 2] | 0) + 36) >> 2];
  93318. c[yc >> 2] =
  93319. Sj(
  93320. c[kc >> 2] | 0,
  93321. c[vc >> 2] | 0,
  93322. c[rc >> 2] | 0
  93323. ) | 0;
  93324. c[zc >> 2] =
  93325. c[
  93326. ((c[xc >> 2] | 0) +
  93327. (c[yc >> 2] << 2)) >>
  93328. 2
  93329. ];
  93330. c[Ac >> 2] =
  93331. c[((c[ic >> 2] | 0) + 44) >> 2];
  93332. c[Bc >> 2] =
  93333. (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
  93334. 1;
  93335. c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
  93336. c[Dc >> 2] = 0;
  93337. c[Ec >> 2] = 0;
  93338. c[Fc >> 2] =
  93339. c[((c[ic >> 2] | 0) + 8) >> 2];
  93340. c[Gc >> 2] =
  93341. c[((c[ic >> 2] | 0) + 12) >> 2];
  93342. c[Hc >> 2] =
  93343. (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
  93344. c[Ic >> 2] =
  93345. (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
  93346. if (
  93347. (c[Cc >> 2] | 0) >>> 0 >=
  93348. (c[uc >> 2] | 0) >>> 0
  93349. )
  93350. sj = 0;
  93351. else
  93352. sj =
  93353. ((c[uc >> 2] | 0) -
  93354. (c[Cc >> 2] | 0)) |
  93355. 0;
  93356. c[Jc >> 2] = sj;
  93357. c[Kc >> 2] =
  93358. c[((c[ic >> 2] | 0) + 16) >> 2];
  93359. c[Lc >> 2] =
  93360. (c[Ac >> 2] | 0) +
  93361. (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
  93362. c[Mc >> 2] =
  93363. (c[Ac >> 2] | 0) +
  93364. (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
  93365. 2) +
  93366. 4;
  93367. c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
  93368. c[Pc >> 2] = 0;
  93369. c[Qc >> 2] =
  93370. 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
  93371. c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
  93372. c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
  93373. c[Tc >> 2] = c[oc >> 2];
  93374. while (1) {
  93375. if (
  93376. (c[Tc >> 2] | 0) >>> 0 >=
  93377. (c[Sc >> 2] | 0) >>> 0
  93378. ) {
  93379. dj = 287;
  93380. break;
  93381. }
  93382. Uh = c[nc >> 2] | 0;
  93383. if ((c[Tc >> 2] | 0) == 3)
  93384. tj = ((c[Uh >> 2] | 0) - 1) | 0;
  93385. else
  93386. tj =
  93387. c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
  93388. 0;
  93389. c[Uc >> 2] = tj;
  93390. c[Vc >> 2] =
  93391. (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
  93392. c[Wc >> 2] = 0;
  93393. do {
  93394. if (
  93395. (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
  93396. (((c[uc >> 2] | 0) -
  93397. (c[Gc >> 2] | 0)) |
  93398. 0) >>>
  93399. 0
  93400. ) {
  93401. Uh =
  93402. mm(
  93403. c[kc >> 2] | 0,
  93404. c[wc >> 2] | 0
  93405. ) | 0;
  93406. if (
  93407. (Uh | 0) !=
  93408. (mm(
  93409. ((c[kc >> 2] | 0) +
  93410. (0 - (c[Uc >> 2] | 0))) |
  93411. 0,
  93412. c[wc >> 2] | 0
  93413. ) |
  93414. 0)
  93415. )
  93416. break;
  93417. Uh =
  93418. Tj(
  93419. ((c[kc >> 2] | 0) +
  93420. (c[wc >> 2] | 0)) |
  93421. 0,
  93422. ((c[kc >> 2] | 0) +
  93423. (c[wc >> 2] | 0) +
  93424. (0 - (c[Uc >> 2] | 0))) |
  93425. 0,
  93426. c[lc >> 2] | 0
  93427. ) | 0;
  93428. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  93429. } else {
  93430. c[Xc >> 2] =
  93431. (c[Fc >> 2] | 0) +
  93432. (c[Vc >> 2] | 0);
  93433. if (!(c[mc >> 2] | 0)) break;
  93434. if (
  93435. !(
  93436. ((((c[Gc >> 2] | 0) -
  93437. 1 -
  93438. (c[Vc >> 2] | 0)) |
  93439. 0) >>>
  93440. 0 >=
  93441. 3
  93442. ? (((c[Uc >> 2] | 0) - 1) |
  93443. 0) >>>
  93444. 0 <
  93445. (((c[uc >> 2] | 0) -
  93446. (c[Kc >> 2] | 0)) |
  93447. 0) >>>
  93448. 0
  93449. : 0) | 0
  93450. )
  93451. )
  93452. break;
  93453. Uh =
  93454. mm(
  93455. c[kc >> 2] | 0,
  93456. c[wc >> 2] | 0
  93457. ) | 0;
  93458. if (
  93459. (Uh | 0) !=
  93460. (mm(
  93461. c[Xc >> 2] | 0,
  93462. c[wc >> 2] | 0
  93463. ) |
  93464. 0)
  93465. )
  93466. break;
  93467. Uh =
  93468. Uj(
  93469. ((c[kc >> 2] | 0) +
  93470. (c[wc >> 2] | 0)) |
  93471. 0,
  93472. ((c[Xc >> 2] | 0) +
  93473. (c[wc >> 2] | 0)) |
  93474. 0,
  93475. c[lc >> 2] | 0,
  93476. c[Hc >> 2] | 0,
  93477. c[Ic >> 2] | 0
  93478. ) | 0;
  93479. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  93480. }
  93481. } while (0);
  93482. if (
  93483. (c[Wc >> 2] | 0) >>> 0 >
  93484. (c[Rc >> 2] | 0) >>> 0
  93485. ? ((c[Rc >> 2] = c[Wc >> 2]),
  93486. (c[
  93487. ((c[pc >> 2] | 0) +
  93488. (c[Pc >> 2] << 3)) >>
  93489. 2
  93490. ] =
  93491. (c[Tc >> 2] | 0) -
  93492. (c[oc >> 2] | 0)),
  93493. (c[
  93494. ((c[pc >> 2] | 0) +
  93495. (c[Pc >> 2] << 3) +
  93496. 4) >>
  93497. 2
  93498. ] = c[Wc >> 2]),
  93499. (c[Pc >> 2] =
  93500. (c[Pc >> 2] | 0) + 1),
  93501. ((c[Wc >> 2] | 0) >>> 0 >
  93502. (c[sc >> 2] | 0) >>> 0
  93503. ? 1
  93504. : (((c[kc >> 2] | 0) +
  93505. (c[Wc >> 2] | 0)) |
  93506. 0) ==
  93507. (c[lc >> 2] | 0)) | 0)
  93508. : 0
  93509. ) {
  93510. dj = 285;
  93511. break;
  93512. }
  93513. c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
  93514. }
  93515. e: do {
  93516. if ((dj | 0) == 285) {
  93517. dj = 0;
  93518. c[hc >> 2] = c[Pc >> 2];
  93519. } else if ((dj | 0) == 287) {
  93520. dj = 0;
  93521. do {
  93522. if ((c[rc >> 2] | 0) == 3) {
  93523. if (
  93524. (c[Rc >> 2] | 0) >>> 0 >=
  93525. (c[rc >> 2] | 0) >>> 0
  93526. )
  93527. break;
  93528. c[Yc >> 2] =
  93529. nm(
  93530. c[ic >> 2] | 0,
  93531. c[kc >> 2] | 0
  93532. ) | 0;
  93533. if (
  93534. !(
  93535. ((c[Yc >> 2] | 0) >>> 0 >
  93536. (c[Kc >> 2] | 0) >>> 0
  93537. ? (((c[uc >> 2] | 0) -
  93538. (c[Yc >> 2] | 0)) |
  93539. 0) >>>
  93540. 0 <
  93541. 262144
  93542. : 0) | 0
  93543. )
  93544. )
  93545. break;
  93546. do {
  93547. if (c[mc >> 2] | 0) {
  93548. if (
  93549. (c[Yc >> 2] | 0) >>> 0 >=
  93550. (c[Gc >> 2] | 0) >>> 0
  93551. ) {
  93552. dj = 292;
  93553. break;
  93554. }
  93555. c[$c >> 2] =
  93556. (c[Fc >> 2] | 0) +
  93557. (c[Yc >> 2] | 0);
  93558. c[Zc >> 2] =
  93559. Uj(
  93560. c[kc >> 2] | 0,
  93561. c[$c >> 2] | 0,
  93562. c[lc >> 2] | 0,
  93563. c[Hc >> 2] | 0,
  93564. c[Ic >> 2] | 0
  93565. ) | 0;
  93566. } else dj = 292;
  93567. } while (0);
  93568. if ((dj | 0) == 292) {
  93569. dj = 0;
  93570. c[_c >> 2] =
  93571. (c[tc >> 2] | 0) +
  93572. (c[Yc >> 2] | 0);
  93573. c[Zc >> 2] =
  93574. Tj(
  93575. c[kc >> 2] | 0,
  93576. c[_c >> 2] | 0,
  93577. c[lc >> 2] | 0
  93578. ) | 0;
  93579. }
  93580. if (
  93581. (c[Zc >> 2] | 0) >>> 0 <
  93582. (c[rc >> 2] | 0) >>> 0
  93583. )
  93584. break;
  93585. c[Rc >> 2] = c[Zc >> 2];
  93586. c[c[pc >> 2] >> 2] =
  93587. (c[uc >> 2] | 0) -
  93588. (c[Yc >> 2] | 0) +
  93589. 2;
  93590. c[((c[pc >> 2] | 0) + 4) >> 2] =
  93591. c[Zc >> 2];
  93592. c[Pc >> 2] = 1;
  93593. if (
  93594. !(
  93595. ((c[Zc >> 2] | 0) >>> 0 >
  93596. (c[sc >> 2] | 0) >>> 0
  93597. ? 1
  93598. : (((c[kc >> 2] | 0) +
  93599. (c[Zc >> 2] | 0)) |
  93600. 0) ==
  93601. (c[lc >> 2] | 0)) | 0
  93602. )
  93603. )
  93604. break;
  93605. c[((c[ic >> 2] | 0) + 24) >> 2] =
  93606. (c[uc >> 2] | 0) + 1;
  93607. c[hc >> 2] = 1;
  93608. break e;
  93609. }
  93610. } while (0);
  93611. c[
  93612. ((c[xc >> 2] | 0) +
  93613. (c[yc >> 2] << 2)) >>
  93614. 2
  93615. ] = c[uc >> 2];
  93616. while (1) {
  93617. Uh = c[Qc >> 2] | 0;
  93618. c[Qc >> 2] = Uh + -1;
  93619. if (!Uh) break;
  93620. if (
  93621. (c[zc >> 2] | 0) >>> 0 <=
  93622. (c[Kc >> 2] | 0) >>> 0
  93623. )
  93624. break;
  93625. c[ad >> 2] =
  93626. (c[Ac >> 2] | 0) +
  93627. (((c[zc >> 2] & c[Cc >> 2]) <<
  93628. 1) <<
  93629. 2);
  93630. c[bd >> 2] =
  93631. (c[Dc >> 2] | 0) >>> 0 <
  93632. (c[Ec >> 2] | 0) >>> 0
  93633. ? c[Dc >> 2] | 0
  93634. : c[Ec >> 2] | 0;
  93635. do {
  93636. if (c[mc >> 2] | 0) {
  93637. if (
  93638. (((c[zc >> 2] | 0) +
  93639. (c[bd >> 2] | 0)) |
  93640. 0) >>>
  93641. 0 >=
  93642. (c[Gc >> 2] | 0) >>> 0
  93643. ) {
  93644. dj = 302;
  93645. break;
  93646. }
  93647. c[cd >> 2] =
  93648. (c[Fc >> 2] | 0) +
  93649. (c[zc >> 2] | 0);
  93650. Uh =
  93651. Uj(
  93652. ((c[kc >> 2] | 0) +
  93653. (c[bd >> 2] | 0)) |
  93654. 0,
  93655. ((c[cd >> 2] | 0) +
  93656. (c[bd >> 2] | 0)) |
  93657. 0,
  93658. c[lc >> 2] | 0,
  93659. c[Hc >> 2] | 0,
  93660. c[Ic >> 2] | 0
  93661. ) | 0;
  93662. c[bd >> 2] =
  93663. (c[bd >> 2] | 0) + Uh;
  93664. if (
  93665. (((c[zc >> 2] | 0) +
  93666. (c[bd >> 2] | 0)) |
  93667. 0) >>>
  93668. 0 <
  93669. (c[Gc >> 2] | 0) >>> 0
  93670. )
  93671. break;
  93672. c[cd >> 2] =
  93673. (c[tc >> 2] | 0) +
  93674. (c[zc >> 2] | 0);
  93675. } else dj = 302;
  93676. } while (0);
  93677. if ((dj | 0) == 302) {
  93678. dj = 0;
  93679. c[cd >> 2] =
  93680. (c[tc >> 2] | 0) +
  93681. (c[zc >> 2] | 0);
  93682. Uh =
  93683. Tj(
  93684. ((c[kc >> 2] | 0) +
  93685. (c[bd >> 2] | 0)) |
  93686. 0,
  93687. ((c[cd >> 2] | 0) +
  93688. (c[bd >> 2] | 0)) |
  93689. 0,
  93690. c[lc >> 2] | 0
  93691. ) | 0;
  93692. c[bd >> 2] =
  93693. (c[bd >> 2] | 0) + Uh;
  93694. }
  93695. if (
  93696. (c[bd >> 2] | 0) >>> 0 >
  93697. (c[Rc >> 2] | 0) >>> 0
  93698. ) {
  93699. if (
  93700. (c[bd >> 2] | 0) >>> 0 >
  93701. (((c[Nc >> 2] | 0) -
  93702. (c[zc >> 2] | 0)) |
  93703. 0) >>>
  93704. 0
  93705. )
  93706. c[Nc >> 2] =
  93707. (c[zc >> 2] | 0) +
  93708. (c[bd >> 2] | 0);
  93709. c[Rc >> 2] = c[bd >> 2];
  93710. c[
  93711. ((c[pc >> 2] | 0) +
  93712. (c[Pc >> 2] << 3)) >>
  93713. 2
  93714. ] =
  93715. (c[uc >> 2] | 0) -
  93716. (c[zc >> 2] | 0) +
  93717. 2;
  93718. c[
  93719. ((c[pc >> 2] | 0) +
  93720. (c[Pc >> 2] << 3) +
  93721. 4) >>
  93722. 2
  93723. ] = c[bd >> 2];
  93724. c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
  93725. if ((c[bd >> 2] | 0) >>> 0 > 4096)
  93726. break;
  93727. if (
  93728. (((c[kc >> 2] | 0) +
  93729. (c[bd >> 2] | 0)) |
  93730. 0) ==
  93731. (c[lc >> 2] | 0)
  93732. )
  93733. break;
  93734. }
  93735. Uh = c[zc >> 2] | 0;
  93736. if (
  93737. (d[
  93738. ((c[cd >> 2] | 0) +
  93739. (c[bd >> 2] | 0)) >>
  93740. 0
  93741. ] |
  93742. 0 |
  93743. 0) <
  93744. (d[
  93745. ((c[kc >> 2] | 0) +
  93746. (c[bd >> 2] | 0)) >>
  93747. 0
  93748. ] |
  93749. 0 |
  93750. 0)
  93751. ) {
  93752. c[c[Lc >> 2] >> 2] = Uh;
  93753. c[Dc >> 2] = c[bd >> 2];
  93754. if (
  93755. (c[zc >> 2] | 0) >>> 0 <=
  93756. (c[Jc >> 2] | 0) >>> 0
  93757. ) {
  93758. dj = 312;
  93759. break;
  93760. }
  93761. c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
  93762. c[zc >> 2] =
  93763. c[((c[ad >> 2] | 0) + 4) >> 2];
  93764. } else {
  93765. c[c[Mc >> 2] >> 2] = Uh;
  93766. c[Ec >> 2] = c[bd >> 2];
  93767. if (
  93768. (c[zc >> 2] | 0) >>> 0 <=
  93769. (c[Jc >> 2] | 0) >>> 0
  93770. ) {
  93771. dj = 315;
  93772. break;
  93773. }
  93774. c[Mc >> 2] = c[ad >> 2];
  93775. c[zc >> 2] = c[c[ad >> 2] >> 2];
  93776. }
  93777. }
  93778. if ((dj | 0) == 312) {
  93779. dj = 0;
  93780. c[Lc >> 2] = Oc;
  93781. } else if ((dj | 0) == 315) {
  93782. dj = 0;
  93783. c[Mc >> 2] = Oc;
  93784. }
  93785. c[c[Mc >> 2] >> 2] = 0;
  93786. c[c[Lc >> 2] >> 2] = 0;
  93787. c[((c[ic >> 2] | 0) + 24) >> 2] =
  93788. (c[Nc >> 2] | 0) - 8;
  93789. c[hc >> 2] = c[Pc >> 2];
  93790. }
  93791. } while (0);
  93792. c[md >> 2] = c[hc >> 2];
  93793. break d;
  93794. break;
  93795. }
  93796. case 7:
  93797. case 6: {
  93798. Uh = c[od >> 2] | 0;
  93799. aj = c[pd >> 2] | 0;
  93800. _i = c[qd >> 2] | 0;
  93801. _h = c[rd >> 2] | 0;
  93802. Qh = c[sd >> 2] | 0;
  93803. Ph = c[td >> 2] | 0;
  93804. Zi = c[ud >> 2] | 0;
  93805. Zh = c[vd >> 2] | 0;
  93806. c[u >> 2] = c[nd >> 2];
  93807. c[v >> 2] = Uh;
  93808. c[w >> 2] = aj;
  93809. c[x >> 2] = _i;
  93810. c[y >> 2] = _h;
  93811. c[z >> 2] = Qh;
  93812. c[A >> 2] = Ph;
  93813. c[B >> 2] = Zi;
  93814. c[C >> 2] = Zh;
  93815. c[D >> 2] = 6;
  93816. if (
  93817. (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
  93818. 0 <
  93819. 4095
  93820. )
  93821. uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
  93822. else uj = 4095;
  93823. c[E >> 2] = uj;
  93824. c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
  93825. c[G >> 2] =
  93826. (c[w >> 2] | 0) - (c[F >> 2] | 0);
  93827. c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
  93828. c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
  93829. c[J >> 2] =
  93830. c[((c[u >> 2] | 0) + 36) >> 2];
  93831. c[K >> 2] =
  93832. Sj(
  93833. c[w >> 2] | 0,
  93834. c[H >> 2] | 0,
  93835. c[D >> 2] | 0
  93836. ) | 0;
  93837. c[L >> 2] =
  93838. c[
  93839. ((c[J >> 2] | 0) +
  93840. (c[K >> 2] << 2)) >>
  93841. 2
  93842. ];
  93843. c[M >> 2] =
  93844. c[((c[u >> 2] | 0) + 44) >> 2];
  93845. c[N >> 2] =
  93846. (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
  93847. c[O >> 2] = (1 << c[N >> 2]) - 1;
  93848. c[P >> 2] = 0;
  93849. c[Q >> 2] = 0;
  93850. c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
  93851. c[S >> 2] =
  93852. c[((c[u >> 2] | 0) + 12) >> 2];
  93853. c[T >> 2] =
  93854. (c[R >> 2] | 0) + (c[S >> 2] | 0);
  93855. c[U >> 2] =
  93856. (c[F >> 2] | 0) + (c[S >> 2] | 0);
  93857. if (
  93858. (c[O >> 2] | 0) >>> 0 >=
  93859. (c[G >> 2] | 0) >>> 0
  93860. )
  93861. vj = 0;
  93862. else
  93863. vj =
  93864. ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
  93865. 0;
  93866. c[V >> 2] = vj;
  93867. c[W >> 2] =
  93868. c[((c[u >> 2] | 0) + 16) >> 2];
  93869. c[X >> 2] =
  93870. (c[M >> 2] | 0) +
  93871. (((c[G >> 2] & c[O >> 2]) << 1) << 2);
  93872. c[Y >> 2] =
  93873. (c[M >> 2] | 0) +
  93874. (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
  93875. 4;
  93876. c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
  93877. c[$ >> 2] = 0;
  93878. c[aa >> 2] =
  93879. 1 << c[((c[v >> 2] | 0) + 12) >> 2];
  93880. c[ba >> 2] = (c[C >> 2] | 0) - 1;
  93881. c[ca >> 2] = 3 + (c[A >> 2] | 0);
  93882. c[da >> 2] = c[A >> 2];
  93883. while (1) {
  93884. if (
  93885. (c[da >> 2] | 0) >>> 0 >=
  93886. (c[ca >> 2] | 0) >>> 0
  93887. ) {
  93888. dj = 446;
  93889. break;
  93890. }
  93891. Zh = c[z >> 2] | 0;
  93892. if ((c[da >> 2] | 0) == 3)
  93893. wj = ((c[Zh >> 2] | 0) - 1) | 0;
  93894. else
  93895. wj =
  93896. c[(Zh + (c[da >> 2] << 2)) >> 2] |
  93897. 0;
  93898. c[ea >> 2] = wj;
  93899. c[fa >> 2] =
  93900. (c[G >> 2] | 0) - (c[ea >> 2] | 0);
  93901. c[ga >> 2] = 0;
  93902. do {
  93903. if (
  93904. (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
  93905. (((c[G >> 2] | 0) -
  93906. (c[S >> 2] | 0)) |
  93907. 0) >>>
  93908. 0
  93909. ) {
  93910. Zh =
  93911. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  93912. 0;
  93913. if (
  93914. (Zh | 0) !=
  93915. (mm(
  93916. ((c[w >> 2] | 0) +
  93917. (0 - (c[ea >> 2] | 0))) |
  93918. 0,
  93919. c[I >> 2] | 0
  93920. ) |
  93921. 0)
  93922. )
  93923. break;
  93924. Zh =
  93925. Tj(
  93926. ((c[w >> 2] | 0) +
  93927. (c[I >> 2] | 0)) |
  93928. 0,
  93929. ((c[w >> 2] | 0) +
  93930. (c[I >> 2] | 0) +
  93931. (0 - (c[ea >> 2] | 0))) |
  93932. 0,
  93933. c[x >> 2] | 0
  93934. ) | 0;
  93935. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  93936. } else {
  93937. c[ha >> 2] =
  93938. (c[R >> 2] | 0) +
  93939. (c[fa >> 2] | 0);
  93940. if (!(c[y >> 2] | 0)) break;
  93941. if (
  93942. !(
  93943. ((((c[S >> 2] | 0) -
  93944. 1 -
  93945. (c[fa >> 2] | 0)) |
  93946. 0) >>>
  93947. 0 >=
  93948. 3
  93949. ? (((c[ea >> 2] | 0) - 1) |
  93950. 0) >>>
  93951. 0 <
  93952. (((c[G >> 2] | 0) -
  93953. (c[W >> 2] | 0)) |
  93954. 0) >>>
  93955. 0
  93956. : 0) | 0
  93957. )
  93958. )
  93959. break;
  93960. Zh =
  93961. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  93962. 0;
  93963. if (
  93964. (Zh | 0) !=
  93965. (mm(
  93966. c[ha >> 2] | 0,
  93967. c[I >> 2] | 0
  93968. ) |
  93969. 0)
  93970. )
  93971. break;
  93972. Zh =
  93973. Uj(
  93974. ((c[w >> 2] | 0) +
  93975. (c[I >> 2] | 0)) |
  93976. 0,
  93977. ((c[ha >> 2] | 0) +
  93978. (c[I >> 2] | 0)) |
  93979. 0,
  93980. c[x >> 2] | 0,
  93981. c[T >> 2] | 0,
  93982. c[U >> 2] | 0
  93983. ) | 0;
  93984. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  93985. }
  93986. } while (0);
  93987. if (
  93988. (c[ga >> 2] | 0) >>> 0 >
  93989. (c[ba >> 2] | 0) >>> 0
  93990. ? ((c[ba >> 2] = c[ga >> 2]),
  93991. (c[
  93992. ((c[B >> 2] | 0) +
  93993. (c[$ >> 2] << 3)) >>
  93994. 2
  93995. ] =
  93996. (c[da >> 2] | 0) -
  93997. (c[A >> 2] | 0)),
  93998. (c[
  93999. ((c[B >> 2] | 0) +
  94000. (c[$ >> 2] << 3) +
  94001. 4) >>
  94002. 2
  94003. ] = c[ga >> 2]),
  94004. (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
  94005. ((c[ga >> 2] | 0) >>> 0 >
  94006. (c[E >> 2] | 0) >>> 0
  94007. ? 1
  94008. : (((c[w >> 2] | 0) +
  94009. (c[ga >> 2] | 0)) |
  94010. 0) ==
  94011. (c[x >> 2] | 0)) | 0)
  94012. : 0
  94013. ) {
  94014. dj = 444;
  94015. break;
  94016. }
  94017. c[da >> 2] = (c[da >> 2] | 0) + 1;
  94018. }
  94019. f: do {
  94020. if ((dj | 0) == 444) {
  94021. dj = 0;
  94022. c[t >> 2] = c[$ >> 2];
  94023. } else if ((dj | 0) == 446) {
  94024. dj = 0;
  94025. do {
  94026. if ((c[D >> 2] | 0) == 3) {
  94027. if (
  94028. (c[ba >> 2] | 0) >>> 0 >=
  94029. (c[D >> 2] | 0) >>> 0
  94030. )
  94031. break;
  94032. c[ia >> 2] =
  94033. nm(
  94034. c[u >> 2] | 0,
  94035. c[w >> 2] | 0
  94036. ) | 0;
  94037. if (
  94038. !(
  94039. ((c[ia >> 2] | 0) >>> 0 >
  94040. (c[W >> 2] | 0) >>> 0
  94041. ? (((c[G >> 2] | 0) -
  94042. (c[ia >> 2] | 0)) |
  94043. 0) >>>
  94044. 0 <
  94045. 262144
  94046. : 0) | 0
  94047. )
  94048. )
  94049. break;
  94050. do {
  94051. if (c[y >> 2] | 0) {
  94052. if (
  94053. (c[ia >> 2] | 0) >>> 0 >=
  94054. (c[S >> 2] | 0) >>> 0
  94055. ) {
  94056. dj = 451;
  94057. break;
  94058. }
  94059. c[la >> 2] =
  94060. (c[R >> 2] | 0) +
  94061. (c[ia >> 2] | 0);
  94062. c[ja >> 2] =
  94063. Uj(
  94064. c[w >> 2] | 0,
  94065. c[la >> 2] | 0,
  94066. c[x >> 2] | 0,
  94067. c[T >> 2] | 0,
  94068. c[U >> 2] | 0
  94069. ) | 0;
  94070. } else dj = 451;
  94071. } while (0);
  94072. if ((dj | 0) == 451) {
  94073. dj = 0;
  94074. c[ka >> 2] =
  94075. (c[F >> 2] | 0) +
  94076. (c[ia >> 2] | 0);
  94077. c[ja >> 2] =
  94078. Tj(
  94079. c[w >> 2] | 0,
  94080. c[ka >> 2] | 0,
  94081. c[x >> 2] | 0
  94082. ) | 0;
  94083. }
  94084. if (
  94085. (c[ja >> 2] | 0) >>> 0 <
  94086. (c[D >> 2] | 0) >>> 0
  94087. )
  94088. break;
  94089. c[ba >> 2] = c[ja >> 2];
  94090. c[c[B >> 2] >> 2] =
  94091. (c[G >> 2] | 0) -
  94092. (c[ia >> 2] | 0) +
  94093. 2;
  94094. c[((c[B >> 2] | 0) + 4) >> 2] =
  94095. c[ja >> 2];
  94096. c[$ >> 2] = 1;
  94097. if (
  94098. !(
  94099. ((c[ja >> 2] | 0) >>> 0 >
  94100. (c[E >> 2] | 0) >>> 0
  94101. ? 1
  94102. : (((c[w >> 2] | 0) +
  94103. (c[ja >> 2] | 0)) |
  94104. 0) ==
  94105. (c[x >> 2] | 0)) | 0
  94106. )
  94107. )
  94108. break;
  94109. c[((c[u >> 2] | 0) + 24) >> 2] =
  94110. (c[G >> 2] | 0) + 1;
  94111. c[t >> 2] = 1;
  94112. break f;
  94113. }
  94114. } while (0);
  94115. c[
  94116. ((c[J >> 2] | 0) +
  94117. (c[K >> 2] << 2)) >>
  94118. 2
  94119. ] = c[G >> 2];
  94120. while (1) {
  94121. Zh = c[aa >> 2] | 0;
  94122. c[aa >> 2] = Zh + -1;
  94123. if (!Zh) break;
  94124. if (
  94125. (c[L >> 2] | 0) >>> 0 <=
  94126. (c[W >> 2] | 0) >>> 0
  94127. )
  94128. break;
  94129. c[ma >> 2] =
  94130. (c[M >> 2] | 0) +
  94131. (((c[L >> 2] & c[O >> 2]) << 1) <<
  94132. 2);
  94133. c[na >> 2] =
  94134. (c[P >> 2] | 0) >>> 0 <
  94135. (c[Q >> 2] | 0) >>> 0
  94136. ? c[P >> 2] | 0
  94137. : c[Q >> 2] | 0;
  94138. do {
  94139. if (c[y >> 2] | 0) {
  94140. if (
  94141. (((c[L >> 2] | 0) +
  94142. (c[na >> 2] | 0)) |
  94143. 0) >>>
  94144. 0 >=
  94145. (c[S >> 2] | 0) >>> 0
  94146. ) {
  94147. dj = 461;
  94148. break;
  94149. }
  94150. c[oa >> 2] =
  94151. (c[R >> 2] | 0) +
  94152. (c[L >> 2] | 0);
  94153. Zh =
  94154. Uj(
  94155. ((c[w >> 2] | 0) +
  94156. (c[na >> 2] | 0)) |
  94157. 0,
  94158. ((c[oa >> 2] | 0) +
  94159. (c[na >> 2] | 0)) |
  94160. 0,
  94161. c[x >> 2] | 0,
  94162. c[T >> 2] | 0,
  94163. c[U >> 2] | 0
  94164. ) | 0;
  94165. c[na >> 2] =
  94166. (c[na >> 2] | 0) + Zh;
  94167. if (
  94168. (((c[L >> 2] | 0) +
  94169. (c[na >> 2] | 0)) |
  94170. 0) >>>
  94171. 0 <
  94172. (c[S >> 2] | 0) >>> 0
  94173. )
  94174. break;
  94175. c[oa >> 2] =
  94176. (c[F >> 2] | 0) +
  94177. (c[L >> 2] | 0);
  94178. } else dj = 461;
  94179. } while (0);
  94180. if ((dj | 0) == 461) {
  94181. dj = 0;
  94182. c[oa >> 2] =
  94183. (c[F >> 2] | 0) +
  94184. (c[L >> 2] | 0);
  94185. Zh =
  94186. Tj(
  94187. ((c[w >> 2] | 0) +
  94188. (c[na >> 2] | 0)) |
  94189. 0,
  94190. ((c[oa >> 2] | 0) +
  94191. (c[na >> 2] | 0)) |
  94192. 0,
  94193. c[x >> 2] | 0
  94194. ) | 0;
  94195. c[na >> 2] =
  94196. (c[na >> 2] | 0) + Zh;
  94197. }
  94198. if (
  94199. (c[na >> 2] | 0) >>> 0 >
  94200. (c[ba >> 2] | 0) >>> 0
  94201. ) {
  94202. if (
  94203. (c[na >> 2] | 0) >>> 0 >
  94204. (((c[Z >> 2] | 0) -
  94205. (c[L >> 2] | 0)) |
  94206. 0) >>>
  94207. 0
  94208. )
  94209. c[Z >> 2] =
  94210. (c[L >> 2] | 0) +
  94211. (c[na >> 2] | 0);
  94212. c[ba >> 2] = c[na >> 2];
  94213. c[
  94214. ((c[B >> 2] | 0) +
  94215. (c[$ >> 2] << 3)) >>
  94216. 2
  94217. ] =
  94218. (c[G >> 2] | 0) -
  94219. (c[L >> 2] | 0) +
  94220. 2;
  94221. c[
  94222. ((c[B >> 2] | 0) +
  94223. (c[$ >> 2] << 3) +
  94224. 4) >>
  94225. 2
  94226. ] = c[na >> 2];
  94227. c[$ >> 2] = (c[$ >> 2] | 0) + 1;
  94228. if ((c[na >> 2] | 0) >>> 0 > 4096)
  94229. break;
  94230. if (
  94231. (((c[w >> 2] | 0) +
  94232. (c[na >> 2] | 0)) |
  94233. 0) ==
  94234. (c[x >> 2] | 0)
  94235. )
  94236. break;
  94237. }
  94238. Zh = c[L >> 2] | 0;
  94239. if (
  94240. (d[
  94241. ((c[oa >> 2] | 0) +
  94242. (c[na >> 2] | 0)) >>
  94243. 0
  94244. ] |
  94245. 0 |
  94246. 0) <
  94247. (d[
  94248. ((c[w >> 2] | 0) +
  94249. (c[na >> 2] | 0)) >>
  94250. 0
  94251. ] |
  94252. 0 |
  94253. 0)
  94254. ) {
  94255. c[c[X >> 2] >> 2] = Zh;
  94256. c[P >> 2] = c[na >> 2];
  94257. if (
  94258. (c[L >> 2] | 0) >>> 0 <=
  94259. (c[V >> 2] | 0) >>> 0
  94260. ) {
  94261. dj = 471;
  94262. break;
  94263. }
  94264. c[X >> 2] = (c[ma >> 2] | 0) + 4;
  94265. c[L >> 2] =
  94266. c[((c[ma >> 2] | 0) + 4) >> 2];
  94267. } else {
  94268. c[c[Y >> 2] >> 2] = Zh;
  94269. c[Q >> 2] = c[na >> 2];
  94270. if (
  94271. (c[L >> 2] | 0) >>> 0 <=
  94272. (c[V >> 2] | 0) >>> 0
  94273. ) {
  94274. dj = 474;
  94275. break;
  94276. }
  94277. c[Y >> 2] = c[ma >> 2];
  94278. c[L >> 2] = c[c[ma >> 2] >> 2];
  94279. }
  94280. }
  94281. if ((dj | 0) == 471) {
  94282. dj = 0;
  94283. c[X >> 2] = _;
  94284. } else if ((dj | 0) == 474) {
  94285. dj = 0;
  94286. c[Y >> 2] = _;
  94287. }
  94288. c[c[Y >> 2] >> 2] = 0;
  94289. c[c[X >> 2] >> 2] = 0;
  94290. c[((c[u >> 2] | 0) + 24) >> 2] =
  94291. (c[Z >> 2] | 0) - 8;
  94292. c[t >> 2] = c[$ >> 2];
  94293. }
  94294. } while (0);
  94295. c[md >> 2] = c[t >> 2];
  94296. break d;
  94297. break;
  94298. }
  94299. case 5: {
  94300. Zh = c[od >> 2] | 0;
  94301. Zi = c[pd >> 2] | 0;
  94302. Ph = c[qd >> 2] | 0;
  94303. Qh = c[rd >> 2] | 0;
  94304. _h = c[sd >> 2] | 0;
  94305. _i = c[td >> 2] | 0;
  94306. aj = c[ud >> 2] | 0;
  94307. Uh = c[vd >> 2] | 0;
  94308. c[qa >> 2] = c[nd >> 2];
  94309. c[ra >> 2] = Zh;
  94310. c[sa >> 2] = Zi;
  94311. c[ta >> 2] = Ph;
  94312. c[ua >> 2] = Qh;
  94313. c[va >> 2] = _h;
  94314. c[wa >> 2] = _i;
  94315. c[xa >> 2] = aj;
  94316. c[ya >> 2] = Uh;
  94317. c[za >> 2] = 5;
  94318. if (
  94319. (c[((c[ra >> 2] | 0) + 20) >> 2] |
  94320. 0) >>>
  94321. 0 <
  94322. 4095
  94323. )
  94324. xj =
  94325. c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
  94326. else xj = 4095;
  94327. c[Aa >> 2] = xj;
  94328. c[Ba >> 2] =
  94329. c[((c[qa >> 2] | 0) + 4) >> 2];
  94330. c[Ca >> 2] =
  94331. (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
  94332. c[Da >> 2] =
  94333. c[((c[ra >> 2] | 0) + 8) >> 2];
  94334. c[Ea >> 2] =
  94335. (c[za >> 2] | 0) == 3 ? 3 : 4;
  94336. c[Fa >> 2] =
  94337. c[((c[qa >> 2] | 0) + 36) >> 2];
  94338. c[Ga >> 2] =
  94339. Sj(
  94340. c[sa >> 2] | 0,
  94341. c[Da >> 2] | 0,
  94342. c[za >> 2] | 0
  94343. ) | 0;
  94344. c[Ha >> 2] =
  94345. c[
  94346. ((c[Fa >> 2] | 0) +
  94347. (c[Ga >> 2] << 2)) >>
  94348. 2
  94349. ];
  94350. c[Ia >> 2] =
  94351. c[((c[qa >> 2] | 0) + 44) >> 2];
  94352. c[Ja >> 2] =
  94353. (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
  94354. 1;
  94355. c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
  94356. c[La >> 2] = 0;
  94357. c[Ma >> 2] = 0;
  94358. c[Na >> 2] =
  94359. c[((c[qa >> 2] | 0) + 8) >> 2];
  94360. c[Oa >> 2] =
  94361. c[((c[qa >> 2] | 0) + 12) >> 2];
  94362. c[Pa >> 2] =
  94363. (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
  94364. c[Qa >> 2] =
  94365. (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
  94366. if (
  94367. (c[Ka >> 2] | 0) >>> 0 >=
  94368. (c[Ca >> 2] | 0) >>> 0
  94369. )
  94370. yj = 0;
  94371. else
  94372. yj =
  94373. ((c[Ca >> 2] | 0) -
  94374. (c[Ka >> 2] | 0)) |
  94375. 0;
  94376. c[Ra >> 2] = yj;
  94377. c[Sa >> 2] =
  94378. c[((c[qa >> 2] | 0) + 16) >> 2];
  94379. c[Ta >> 2] =
  94380. (c[Ia >> 2] | 0) +
  94381. (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
  94382. c[Ua >> 2] =
  94383. (c[Ia >> 2] | 0) +
  94384. (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
  94385. 2) +
  94386. 4;
  94387. c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
  94388. c[Xa >> 2] = 0;
  94389. c[Ya >> 2] =
  94390. 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
  94391. c[Za >> 2] = (c[ya >> 2] | 0) - 1;
  94392. c[_a >> 2] = 3 + (c[wa >> 2] | 0);
  94393. c[$a >> 2] = c[wa >> 2];
  94394. while (1) {
  94395. if (
  94396. (c[$a >> 2] | 0) >>> 0 >=
  94397. (c[_a >> 2] | 0) >>> 0
  94398. ) {
  94399. dj = 393;
  94400. break;
  94401. }
  94402. Uh = c[va >> 2] | 0;
  94403. if ((c[$a >> 2] | 0) == 3)
  94404. zj = ((c[Uh >> 2] | 0) - 1) | 0;
  94405. else
  94406. zj =
  94407. c[(Uh + (c[$a >> 2] << 2)) >> 2] |
  94408. 0;
  94409. c[ab >> 2] = zj;
  94410. c[bb >> 2] =
  94411. (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
  94412. c[cb >> 2] = 0;
  94413. do {
  94414. if (
  94415. (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
  94416. (((c[Ca >> 2] | 0) -
  94417. (c[Oa >> 2] | 0)) |
  94418. 0) >>>
  94419. 0
  94420. ) {
  94421. Uh =
  94422. mm(
  94423. c[sa >> 2] | 0,
  94424. c[Ea >> 2] | 0
  94425. ) | 0;
  94426. if (
  94427. (Uh | 0) !=
  94428. (mm(
  94429. ((c[sa >> 2] | 0) +
  94430. (0 - (c[ab >> 2] | 0))) |
  94431. 0,
  94432. c[Ea >> 2] | 0
  94433. ) |
  94434. 0)
  94435. )
  94436. break;
  94437. Uh =
  94438. Tj(
  94439. ((c[sa >> 2] | 0) +
  94440. (c[Ea >> 2] | 0)) |
  94441. 0,
  94442. ((c[sa >> 2] | 0) +
  94443. (c[Ea >> 2] | 0) +
  94444. (0 - (c[ab >> 2] | 0))) |
  94445. 0,
  94446. c[ta >> 2] | 0
  94447. ) | 0;
  94448. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  94449. } else {
  94450. c[db >> 2] =
  94451. (c[Na >> 2] | 0) +
  94452. (c[bb >> 2] | 0);
  94453. if (!(c[ua >> 2] | 0)) break;
  94454. if (
  94455. !(
  94456. ((((c[Oa >> 2] | 0) -
  94457. 1 -
  94458. (c[bb >> 2] | 0)) |
  94459. 0) >>>
  94460. 0 >=
  94461. 3
  94462. ? (((c[ab >> 2] | 0) - 1) |
  94463. 0) >>>
  94464. 0 <
  94465. (((c[Ca >> 2] | 0) -
  94466. (c[Sa >> 2] | 0)) |
  94467. 0) >>>
  94468. 0
  94469. : 0) | 0
  94470. )
  94471. )
  94472. break;
  94473. Uh =
  94474. mm(
  94475. c[sa >> 2] | 0,
  94476. c[Ea >> 2] | 0
  94477. ) | 0;
  94478. if (
  94479. (Uh | 0) !=
  94480. (mm(
  94481. c[db >> 2] | 0,
  94482. c[Ea >> 2] | 0
  94483. ) |
  94484. 0)
  94485. )
  94486. break;
  94487. Uh =
  94488. Uj(
  94489. ((c[sa >> 2] | 0) +
  94490. (c[Ea >> 2] | 0)) |
  94491. 0,
  94492. ((c[db >> 2] | 0) +
  94493. (c[Ea >> 2] | 0)) |
  94494. 0,
  94495. c[ta >> 2] | 0,
  94496. c[Pa >> 2] | 0,
  94497. c[Qa >> 2] | 0
  94498. ) | 0;
  94499. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  94500. }
  94501. } while (0);
  94502. if (
  94503. (c[cb >> 2] | 0) >>> 0 >
  94504. (c[Za >> 2] | 0) >>> 0
  94505. ? ((c[Za >> 2] = c[cb >> 2]),
  94506. (c[
  94507. ((c[xa >> 2] | 0) +
  94508. (c[Xa >> 2] << 3)) >>
  94509. 2
  94510. ] =
  94511. (c[$a >> 2] | 0) -
  94512. (c[wa >> 2] | 0)),
  94513. (c[
  94514. ((c[xa >> 2] | 0) +
  94515. (c[Xa >> 2] << 3) +
  94516. 4) >>
  94517. 2
  94518. ] = c[cb >> 2]),
  94519. (c[Xa >> 2] =
  94520. (c[Xa >> 2] | 0) + 1),
  94521. ((c[cb >> 2] | 0) >>> 0 >
  94522. (c[Aa >> 2] | 0) >>> 0
  94523. ? 1
  94524. : (((c[sa >> 2] | 0) +
  94525. (c[cb >> 2] | 0)) |
  94526. 0) ==
  94527. (c[ta >> 2] | 0)) | 0)
  94528. : 0
  94529. ) {
  94530. dj = 391;
  94531. break;
  94532. }
  94533. c[$a >> 2] = (c[$a >> 2] | 0) + 1;
  94534. }
  94535. g: do {
  94536. if ((dj | 0) == 391) {
  94537. dj = 0;
  94538. c[pa >> 2] = c[Xa >> 2];
  94539. } else if ((dj | 0) == 393) {
  94540. dj = 0;
  94541. do {
  94542. if ((c[za >> 2] | 0) == 3) {
  94543. if (
  94544. (c[Za >> 2] | 0) >>> 0 >=
  94545. (c[za >> 2] | 0) >>> 0
  94546. )
  94547. break;
  94548. c[eb >> 2] =
  94549. nm(
  94550. c[qa >> 2] | 0,
  94551. c[sa >> 2] | 0
  94552. ) | 0;
  94553. if (
  94554. !(
  94555. ((c[eb >> 2] | 0) >>> 0 >
  94556. (c[Sa >> 2] | 0) >>> 0
  94557. ? (((c[Ca >> 2] | 0) -
  94558. (c[eb >> 2] | 0)) |
  94559. 0) >>>
  94560. 0 <
  94561. 262144
  94562. : 0) | 0
  94563. )
  94564. )
  94565. break;
  94566. do {
  94567. if (c[ua >> 2] | 0) {
  94568. if (
  94569. (c[eb >> 2] | 0) >>> 0 >=
  94570. (c[Oa >> 2] | 0) >>> 0
  94571. ) {
  94572. dj = 398;
  94573. break;
  94574. }
  94575. c[hb >> 2] =
  94576. (c[Na >> 2] | 0) +
  94577. (c[eb >> 2] | 0);
  94578. c[fb >> 2] =
  94579. Uj(
  94580. c[sa >> 2] | 0,
  94581. c[hb >> 2] | 0,
  94582. c[ta >> 2] | 0,
  94583. c[Pa >> 2] | 0,
  94584. c[Qa >> 2] | 0
  94585. ) | 0;
  94586. } else dj = 398;
  94587. } while (0);
  94588. if ((dj | 0) == 398) {
  94589. dj = 0;
  94590. c[gb >> 2] =
  94591. (c[Ba >> 2] | 0) +
  94592. (c[eb >> 2] | 0);
  94593. c[fb >> 2] =
  94594. Tj(
  94595. c[sa >> 2] | 0,
  94596. c[gb >> 2] | 0,
  94597. c[ta >> 2] | 0
  94598. ) | 0;
  94599. }
  94600. if (
  94601. (c[fb >> 2] | 0) >>> 0 <
  94602. (c[za >> 2] | 0) >>> 0
  94603. )
  94604. break;
  94605. c[Za >> 2] = c[fb >> 2];
  94606. c[c[xa >> 2] >> 2] =
  94607. (c[Ca >> 2] | 0) -
  94608. (c[eb >> 2] | 0) +
  94609. 2;
  94610. c[((c[xa >> 2] | 0) + 4) >> 2] =
  94611. c[fb >> 2];
  94612. c[Xa >> 2] = 1;
  94613. if (
  94614. !(
  94615. ((c[fb >> 2] | 0) >>> 0 >
  94616. (c[Aa >> 2] | 0) >>> 0
  94617. ? 1
  94618. : (((c[sa >> 2] | 0) +
  94619. (c[fb >> 2] | 0)) |
  94620. 0) ==
  94621. (c[ta >> 2] | 0)) | 0
  94622. )
  94623. )
  94624. break;
  94625. c[((c[qa >> 2] | 0) + 24) >> 2] =
  94626. (c[Ca >> 2] | 0) + 1;
  94627. c[pa >> 2] = 1;
  94628. break g;
  94629. }
  94630. } while (0);
  94631. c[
  94632. ((c[Fa >> 2] | 0) +
  94633. (c[Ga >> 2] << 2)) >>
  94634. 2
  94635. ] = c[Ca >> 2];
  94636. while (1) {
  94637. Uh = c[Ya >> 2] | 0;
  94638. c[Ya >> 2] = Uh + -1;
  94639. if (!Uh) break;
  94640. if (
  94641. (c[Ha >> 2] | 0) >>> 0 <=
  94642. (c[Sa >> 2] | 0) >>> 0
  94643. )
  94644. break;
  94645. c[ib >> 2] =
  94646. (c[Ia >> 2] | 0) +
  94647. (((c[Ha >> 2] & c[Ka >> 2]) <<
  94648. 1) <<
  94649. 2);
  94650. c[jb >> 2] =
  94651. (c[La >> 2] | 0) >>> 0 <
  94652. (c[Ma >> 2] | 0) >>> 0
  94653. ? c[La >> 2] | 0
  94654. : c[Ma >> 2] | 0;
  94655. do {
  94656. if (c[ua >> 2] | 0) {
  94657. if (
  94658. (((c[Ha >> 2] | 0) +
  94659. (c[jb >> 2] | 0)) |
  94660. 0) >>>
  94661. 0 >=
  94662. (c[Oa >> 2] | 0) >>> 0
  94663. ) {
  94664. dj = 408;
  94665. break;
  94666. }
  94667. c[kb >> 2] =
  94668. (c[Na >> 2] | 0) +
  94669. (c[Ha >> 2] | 0);
  94670. Uh =
  94671. Uj(
  94672. ((c[sa >> 2] | 0) +
  94673. (c[jb >> 2] | 0)) |
  94674. 0,
  94675. ((c[kb >> 2] | 0) +
  94676. (c[jb >> 2] | 0)) |
  94677. 0,
  94678. c[ta >> 2] | 0,
  94679. c[Pa >> 2] | 0,
  94680. c[Qa >> 2] | 0
  94681. ) | 0;
  94682. c[jb >> 2] =
  94683. (c[jb >> 2] | 0) + Uh;
  94684. if (
  94685. (((c[Ha >> 2] | 0) +
  94686. (c[jb >> 2] | 0)) |
  94687. 0) >>>
  94688. 0 <
  94689. (c[Oa >> 2] | 0) >>> 0
  94690. )
  94691. break;
  94692. c[kb >> 2] =
  94693. (c[Ba >> 2] | 0) +
  94694. (c[Ha >> 2] | 0);
  94695. } else dj = 408;
  94696. } while (0);
  94697. if ((dj | 0) == 408) {
  94698. dj = 0;
  94699. c[kb >> 2] =
  94700. (c[Ba >> 2] | 0) +
  94701. (c[Ha >> 2] | 0);
  94702. Uh =
  94703. Tj(
  94704. ((c[sa >> 2] | 0) +
  94705. (c[jb >> 2] | 0)) |
  94706. 0,
  94707. ((c[kb >> 2] | 0) +
  94708. (c[jb >> 2] | 0)) |
  94709. 0,
  94710. c[ta >> 2] | 0
  94711. ) | 0;
  94712. c[jb >> 2] =
  94713. (c[jb >> 2] | 0) + Uh;
  94714. }
  94715. if (
  94716. (c[jb >> 2] | 0) >>> 0 >
  94717. (c[Za >> 2] | 0) >>> 0
  94718. ) {
  94719. if (
  94720. (c[jb >> 2] | 0) >>> 0 >
  94721. (((c[Va >> 2] | 0) -
  94722. (c[Ha >> 2] | 0)) |
  94723. 0) >>>
  94724. 0
  94725. )
  94726. c[Va >> 2] =
  94727. (c[Ha >> 2] | 0) +
  94728. (c[jb >> 2] | 0);
  94729. c[Za >> 2] = c[jb >> 2];
  94730. c[
  94731. ((c[xa >> 2] | 0) +
  94732. (c[Xa >> 2] << 3)) >>
  94733. 2
  94734. ] =
  94735. (c[Ca >> 2] | 0) -
  94736. (c[Ha >> 2] | 0) +
  94737. 2;
  94738. c[
  94739. ((c[xa >> 2] | 0) +
  94740. (c[Xa >> 2] << 3) +
  94741. 4) >>
  94742. 2
  94743. ] = c[jb >> 2];
  94744. c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
  94745. if ((c[jb >> 2] | 0) >>> 0 > 4096)
  94746. break;
  94747. if (
  94748. (((c[sa >> 2] | 0) +
  94749. (c[jb >> 2] | 0)) |
  94750. 0) ==
  94751. (c[ta >> 2] | 0)
  94752. )
  94753. break;
  94754. }
  94755. Uh = c[Ha >> 2] | 0;
  94756. if (
  94757. (d[
  94758. ((c[kb >> 2] | 0) +
  94759. (c[jb >> 2] | 0)) >>
  94760. 0
  94761. ] |
  94762. 0 |
  94763. 0) <
  94764. (d[
  94765. ((c[sa >> 2] | 0) +
  94766. (c[jb >> 2] | 0)) >>
  94767. 0
  94768. ] |
  94769. 0 |
  94770. 0)
  94771. ) {
  94772. c[c[Ta >> 2] >> 2] = Uh;
  94773. c[La >> 2] = c[jb >> 2];
  94774. if (
  94775. (c[Ha >> 2] | 0) >>> 0 <=
  94776. (c[Ra >> 2] | 0) >>> 0
  94777. ) {
  94778. dj = 418;
  94779. break;
  94780. }
  94781. c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
  94782. c[Ha >> 2] =
  94783. c[((c[ib >> 2] | 0) + 4) >> 2];
  94784. } else {
  94785. c[c[Ua >> 2] >> 2] = Uh;
  94786. c[Ma >> 2] = c[jb >> 2];
  94787. if (
  94788. (c[Ha >> 2] | 0) >>> 0 <=
  94789. (c[Ra >> 2] | 0) >>> 0
  94790. ) {
  94791. dj = 421;
  94792. break;
  94793. }
  94794. c[Ua >> 2] = c[ib >> 2];
  94795. c[Ha >> 2] = c[c[ib >> 2] >> 2];
  94796. }
  94797. }
  94798. if ((dj | 0) == 418) {
  94799. dj = 0;
  94800. c[Ta >> 2] = Wa;
  94801. } else if ((dj | 0) == 421) {
  94802. dj = 0;
  94803. c[Ua >> 2] = Wa;
  94804. }
  94805. c[c[Ua >> 2] >> 2] = 0;
  94806. c[c[Ta >> 2] >> 2] = 0;
  94807. c[((c[qa >> 2] | 0) + 24) >> 2] =
  94808. (c[Va >> 2] | 0) - 8;
  94809. c[pa >> 2] = c[Xa >> 2];
  94810. }
  94811. } while (0);
  94812. c[md >> 2] = c[pa >> 2];
  94813. break d;
  94814. break;
  94815. }
  94816. default: {
  94817. Uh = c[od >> 2] | 0;
  94818. aj = c[pd >> 2] | 0;
  94819. _i = c[qd >> 2] | 0;
  94820. _h = c[rd >> 2] | 0;
  94821. Qh = c[sd >> 2] | 0;
  94822. Ph = c[td >> 2] | 0;
  94823. Zi = c[ud >> 2] | 0;
  94824. Zh = c[vd >> 2] | 0;
  94825. c[mb >> 2] = c[nd >> 2];
  94826. c[nb >> 2] = Uh;
  94827. c[ob >> 2] = aj;
  94828. c[pb >> 2] = _i;
  94829. c[qb >> 2] = _h;
  94830. c[rb >> 2] = Qh;
  94831. c[sb >> 2] = Ph;
  94832. c[tb >> 2] = Zi;
  94833. c[ub >> 2] = Zh;
  94834. c[vb >> 2] = 4;
  94835. if (
  94836. (c[((c[nb >> 2] | 0) + 20) >> 2] |
  94837. 0) >>>
  94838. 0 <
  94839. 4095
  94840. )
  94841. Aj =
  94842. c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
  94843. else Aj = 4095;
  94844. c[wb >> 2] = Aj;
  94845. c[xb >> 2] =
  94846. c[((c[mb >> 2] | 0) + 4) >> 2];
  94847. c[yb >> 2] =
  94848. (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
  94849. c[zb >> 2] =
  94850. c[((c[nb >> 2] | 0) + 8) >> 2];
  94851. c[Ab >> 2] =
  94852. (c[vb >> 2] | 0) == 3 ? 3 : 4;
  94853. c[Bb >> 2] =
  94854. c[((c[mb >> 2] | 0) + 36) >> 2];
  94855. c[Cb >> 2] =
  94856. Sj(
  94857. c[ob >> 2] | 0,
  94858. c[zb >> 2] | 0,
  94859. c[vb >> 2] | 0
  94860. ) | 0;
  94861. c[Db >> 2] =
  94862. c[
  94863. ((c[Bb >> 2] | 0) +
  94864. (c[Cb >> 2] << 2)) >>
  94865. 2
  94866. ];
  94867. c[Eb >> 2] =
  94868. c[((c[mb >> 2] | 0) + 44) >> 2];
  94869. c[Fb >> 2] =
  94870. (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
  94871. 1;
  94872. c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
  94873. c[Hb >> 2] = 0;
  94874. c[Ib >> 2] = 0;
  94875. c[Jb >> 2] =
  94876. c[((c[mb >> 2] | 0) + 8) >> 2];
  94877. c[Kb >> 2] =
  94878. c[((c[mb >> 2] | 0) + 12) >> 2];
  94879. c[Lb >> 2] =
  94880. (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
  94881. c[Mb >> 2] =
  94882. (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
  94883. if (
  94884. (c[Gb >> 2] | 0) >>> 0 >=
  94885. (c[yb >> 2] | 0) >>> 0
  94886. )
  94887. Bj = 0;
  94888. else
  94889. Bj =
  94890. ((c[yb >> 2] | 0) -
  94891. (c[Gb >> 2] | 0)) |
  94892. 0;
  94893. c[Nb >> 2] = Bj;
  94894. c[Ob >> 2] =
  94895. c[((c[mb >> 2] | 0) + 16) >> 2];
  94896. c[Pb >> 2] =
  94897. (c[Eb >> 2] | 0) +
  94898. (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
  94899. c[Qb >> 2] =
  94900. (c[Eb >> 2] | 0) +
  94901. (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
  94902. 2) +
  94903. 4;
  94904. c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
  94905. c[Tb >> 2] = 0;
  94906. c[Ub >> 2] =
  94907. 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
  94908. c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
  94909. c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
  94910. c[Xb >> 2] = c[sb >> 2];
  94911. while (1) {
  94912. if (
  94913. (c[Xb >> 2] | 0) >>> 0 >=
  94914. (c[Wb >> 2] | 0) >>> 0
  94915. ) {
  94916. dj = 340;
  94917. break;
  94918. }
  94919. Zh = c[rb >> 2] | 0;
  94920. if ((c[Xb >> 2] | 0) == 3)
  94921. Cj = ((c[Zh >> 2] | 0) - 1) | 0;
  94922. else
  94923. Cj =
  94924. c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
  94925. 0;
  94926. c[Yb >> 2] = Cj;
  94927. c[Zb >> 2] =
  94928. (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
  94929. c[_b >> 2] = 0;
  94930. do {
  94931. if (
  94932. (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
  94933. (((c[yb >> 2] | 0) -
  94934. (c[Kb >> 2] | 0)) |
  94935. 0) >>>
  94936. 0
  94937. ) {
  94938. Zh =
  94939. mm(
  94940. c[ob >> 2] | 0,
  94941. c[Ab >> 2] | 0
  94942. ) | 0;
  94943. if (
  94944. (Zh | 0) !=
  94945. (mm(
  94946. ((c[ob >> 2] | 0) +
  94947. (0 - (c[Yb >> 2] | 0))) |
  94948. 0,
  94949. c[Ab >> 2] | 0
  94950. ) |
  94951. 0)
  94952. )
  94953. break;
  94954. Zh =
  94955. Tj(
  94956. ((c[ob >> 2] | 0) +
  94957. (c[Ab >> 2] | 0)) |
  94958. 0,
  94959. ((c[ob >> 2] | 0) +
  94960. (c[Ab >> 2] | 0) +
  94961. (0 - (c[Yb >> 2] | 0))) |
  94962. 0,
  94963. c[pb >> 2] | 0
  94964. ) | 0;
  94965. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  94966. } else {
  94967. c[$b >> 2] =
  94968. (c[Jb >> 2] | 0) +
  94969. (c[Zb >> 2] | 0);
  94970. if (!(c[qb >> 2] | 0)) break;
  94971. if (
  94972. !(
  94973. ((((c[Kb >> 2] | 0) -
  94974. 1 -
  94975. (c[Zb >> 2] | 0)) |
  94976. 0) >>>
  94977. 0 >=
  94978. 3
  94979. ? (((c[Yb >> 2] | 0) - 1) |
  94980. 0) >>>
  94981. 0 <
  94982. (((c[yb >> 2] | 0) -
  94983. (c[Ob >> 2] | 0)) |
  94984. 0) >>>
  94985. 0
  94986. : 0) | 0
  94987. )
  94988. )
  94989. break;
  94990. Zh =
  94991. mm(
  94992. c[ob >> 2] | 0,
  94993. c[Ab >> 2] | 0
  94994. ) | 0;
  94995. if (
  94996. (Zh | 0) !=
  94997. (mm(
  94998. c[$b >> 2] | 0,
  94999. c[Ab >> 2] | 0
  95000. ) |
  95001. 0)
  95002. )
  95003. break;
  95004. Zh =
  95005. Uj(
  95006. ((c[ob >> 2] | 0) +
  95007. (c[Ab >> 2] | 0)) |
  95008. 0,
  95009. ((c[$b >> 2] | 0) +
  95010. (c[Ab >> 2] | 0)) |
  95011. 0,
  95012. c[pb >> 2] | 0,
  95013. c[Lb >> 2] | 0,
  95014. c[Mb >> 2] | 0
  95015. ) | 0;
  95016. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  95017. }
  95018. } while (0);
  95019. if (
  95020. (c[_b >> 2] | 0) >>> 0 >
  95021. (c[Vb >> 2] | 0) >>> 0
  95022. ? ((c[Vb >> 2] = c[_b >> 2]),
  95023. (c[
  95024. ((c[tb >> 2] | 0) +
  95025. (c[Tb >> 2] << 3)) >>
  95026. 2
  95027. ] =
  95028. (c[Xb >> 2] | 0) -
  95029. (c[sb >> 2] | 0)),
  95030. (c[
  95031. ((c[tb >> 2] | 0) +
  95032. (c[Tb >> 2] << 3) +
  95033. 4) >>
  95034. 2
  95035. ] = c[_b >> 2]),
  95036. (c[Tb >> 2] =
  95037. (c[Tb >> 2] | 0) + 1),
  95038. ((c[_b >> 2] | 0) >>> 0 >
  95039. (c[wb >> 2] | 0) >>> 0
  95040. ? 1
  95041. : (((c[ob >> 2] | 0) +
  95042. (c[_b >> 2] | 0)) |
  95043. 0) ==
  95044. (c[pb >> 2] | 0)) | 0)
  95045. : 0
  95046. ) {
  95047. dj = 338;
  95048. break;
  95049. }
  95050. c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
  95051. }
  95052. h: do {
  95053. if ((dj | 0) == 338) {
  95054. dj = 0;
  95055. c[lb >> 2] = c[Tb >> 2];
  95056. } else if ((dj | 0) == 340) {
  95057. dj = 0;
  95058. do {
  95059. if ((c[vb >> 2] | 0) == 3) {
  95060. if (
  95061. (c[Vb >> 2] | 0) >>> 0 >=
  95062. (c[vb >> 2] | 0) >>> 0
  95063. )
  95064. break;
  95065. c[ac >> 2] =
  95066. nm(
  95067. c[mb >> 2] | 0,
  95068. c[ob >> 2] | 0
  95069. ) | 0;
  95070. if (
  95071. !(
  95072. ((c[ac >> 2] | 0) >>> 0 >
  95073. (c[Ob >> 2] | 0) >>> 0
  95074. ? (((c[yb >> 2] | 0) -
  95075. (c[ac >> 2] | 0)) |
  95076. 0) >>>
  95077. 0 <
  95078. 262144
  95079. : 0) | 0
  95080. )
  95081. )
  95082. break;
  95083. do {
  95084. if (c[qb >> 2] | 0) {
  95085. if (
  95086. (c[ac >> 2] | 0) >>> 0 >=
  95087. (c[Kb >> 2] | 0) >>> 0
  95088. ) {
  95089. dj = 345;
  95090. break;
  95091. }
  95092. c[dc >> 2] =
  95093. (c[Jb >> 2] | 0) +
  95094. (c[ac >> 2] | 0);
  95095. c[bc >> 2] =
  95096. Uj(
  95097. c[ob >> 2] | 0,
  95098. c[dc >> 2] | 0,
  95099. c[pb >> 2] | 0,
  95100. c[Lb >> 2] | 0,
  95101. c[Mb >> 2] | 0
  95102. ) | 0;
  95103. } else dj = 345;
  95104. } while (0);
  95105. if ((dj | 0) == 345) {
  95106. dj = 0;
  95107. c[cc >> 2] =
  95108. (c[xb >> 2] | 0) +
  95109. (c[ac >> 2] | 0);
  95110. c[bc >> 2] =
  95111. Tj(
  95112. c[ob >> 2] | 0,
  95113. c[cc >> 2] | 0,
  95114. c[pb >> 2] | 0
  95115. ) | 0;
  95116. }
  95117. if (
  95118. (c[bc >> 2] | 0) >>> 0 <
  95119. (c[vb >> 2] | 0) >>> 0
  95120. )
  95121. break;
  95122. c[Vb >> 2] = c[bc >> 2];
  95123. c[c[tb >> 2] >> 2] =
  95124. (c[yb >> 2] | 0) -
  95125. (c[ac >> 2] | 0) +
  95126. 2;
  95127. c[((c[tb >> 2] | 0) + 4) >> 2] =
  95128. c[bc >> 2];
  95129. c[Tb >> 2] = 1;
  95130. if (
  95131. !(
  95132. ((c[bc >> 2] | 0) >>> 0 >
  95133. (c[wb >> 2] | 0) >>> 0
  95134. ? 1
  95135. : (((c[ob >> 2] | 0) +
  95136. (c[bc >> 2] | 0)) |
  95137. 0) ==
  95138. (c[pb >> 2] | 0)) | 0
  95139. )
  95140. )
  95141. break;
  95142. c[((c[mb >> 2] | 0) + 24) >> 2] =
  95143. (c[yb >> 2] | 0) + 1;
  95144. c[lb >> 2] = 1;
  95145. break h;
  95146. }
  95147. } while (0);
  95148. c[
  95149. ((c[Bb >> 2] | 0) +
  95150. (c[Cb >> 2] << 2)) >>
  95151. 2
  95152. ] = c[yb >> 2];
  95153. while (1) {
  95154. Zh = c[Ub >> 2] | 0;
  95155. c[Ub >> 2] = Zh + -1;
  95156. if (!Zh) break;
  95157. if (
  95158. (c[Db >> 2] | 0) >>> 0 <=
  95159. (c[Ob >> 2] | 0) >>> 0
  95160. )
  95161. break;
  95162. c[ec >> 2] =
  95163. (c[Eb >> 2] | 0) +
  95164. (((c[Db >> 2] & c[Gb >> 2]) <<
  95165. 1) <<
  95166. 2);
  95167. c[fc >> 2] =
  95168. (c[Hb >> 2] | 0) >>> 0 <
  95169. (c[Ib >> 2] | 0) >>> 0
  95170. ? c[Hb >> 2] | 0
  95171. : c[Ib >> 2] | 0;
  95172. do {
  95173. if (c[qb >> 2] | 0) {
  95174. if (
  95175. (((c[Db >> 2] | 0) +
  95176. (c[fc >> 2] | 0)) |
  95177. 0) >>>
  95178. 0 >=
  95179. (c[Kb >> 2] | 0) >>> 0
  95180. ) {
  95181. dj = 355;
  95182. break;
  95183. }
  95184. c[gc >> 2] =
  95185. (c[Jb >> 2] | 0) +
  95186. (c[Db >> 2] | 0);
  95187. Zh =
  95188. Uj(
  95189. ((c[ob >> 2] | 0) +
  95190. (c[fc >> 2] | 0)) |
  95191. 0,
  95192. ((c[gc >> 2] | 0) +
  95193. (c[fc >> 2] | 0)) |
  95194. 0,
  95195. c[pb >> 2] | 0,
  95196. c[Lb >> 2] | 0,
  95197. c[Mb >> 2] | 0
  95198. ) | 0;
  95199. c[fc >> 2] =
  95200. (c[fc >> 2] | 0) + Zh;
  95201. if (
  95202. (((c[Db >> 2] | 0) +
  95203. (c[fc >> 2] | 0)) |
  95204. 0) >>>
  95205. 0 <
  95206. (c[Kb >> 2] | 0) >>> 0
  95207. )
  95208. break;
  95209. c[gc >> 2] =
  95210. (c[xb >> 2] | 0) +
  95211. (c[Db >> 2] | 0);
  95212. } else dj = 355;
  95213. } while (0);
  95214. if ((dj | 0) == 355) {
  95215. dj = 0;
  95216. c[gc >> 2] =
  95217. (c[xb >> 2] | 0) +
  95218. (c[Db >> 2] | 0);
  95219. Zh =
  95220. Tj(
  95221. ((c[ob >> 2] | 0) +
  95222. (c[fc >> 2] | 0)) |
  95223. 0,
  95224. ((c[gc >> 2] | 0) +
  95225. (c[fc >> 2] | 0)) |
  95226. 0,
  95227. c[pb >> 2] | 0
  95228. ) | 0;
  95229. c[fc >> 2] =
  95230. (c[fc >> 2] | 0) + Zh;
  95231. }
  95232. if (
  95233. (c[fc >> 2] | 0) >>> 0 >
  95234. (c[Vb >> 2] | 0) >>> 0
  95235. ) {
  95236. if (
  95237. (c[fc >> 2] | 0) >>> 0 >
  95238. (((c[Rb >> 2] | 0) -
  95239. (c[Db >> 2] | 0)) |
  95240. 0) >>>
  95241. 0
  95242. )
  95243. c[Rb >> 2] =
  95244. (c[Db >> 2] | 0) +
  95245. (c[fc >> 2] | 0);
  95246. c[Vb >> 2] = c[fc >> 2];
  95247. c[
  95248. ((c[tb >> 2] | 0) +
  95249. (c[Tb >> 2] << 3)) >>
  95250. 2
  95251. ] =
  95252. (c[yb >> 2] | 0) -
  95253. (c[Db >> 2] | 0) +
  95254. 2;
  95255. c[
  95256. ((c[tb >> 2] | 0) +
  95257. (c[Tb >> 2] << 3) +
  95258. 4) >>
  95259. 2
  95260. ] = c[fc >> 2];
  95261. c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
  95262. if ((c[fc >> 2] | 0) >>> 0 > 4096)
  95263. break;
  95264. if (
  95265. (((c[ob >> 2] | 0) +
  95266. (c[fc >> 2] | 0)) |
  95267. 0) ==
  95268. (c[pb >> 2] | 0)
  95269. )
  95270. break;
  95271. }
  95272. Zh = c[Db >> 2] | 0;
  95273. if (
  95274. (d[
  95275. ((c[gc >> 2] | 0) +
  95276. (c[fc >> 2] | 0)) >>
  95277. 0
  95278. ] |
  95279. 0 |
  95280. 0) <
  95281. (d[
  95282. ((c[ob >> 2] | 0) +
  95283. (c[fc >> 2] | 0)) >>
  95284. 0
  95285. ] |
  95286. 0 |
  95287. 0)
  95288. ) {
  95289. c[c[Pb >> 2] >> 2] = Zh;
  95290. c[Hb >> 2] = c[fc >> 2];
  95291. if (
  95292. (c[Db >> 2] | 0) >>> 0 <=
  95293. (c[Nb >> 2] | 0) >>> 0
  95294. ) {
  95295. dj = 365;
  95296. break;
  95297. }
  95298. c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
  95299. c[Db >> 2] =
  95300. c[((c[ec >> 2] | 0) + 4) >> 2];
  95301. } else {
  95302. c[c[Qb >> 2] >> 2] = Zh;
  95303. c[Ib >> 2] = c[fc >> 2];
  95304. if (
  95305. (c[Db >> 2] | 0) >>> 0 <=
  95306. (c[Nb >> 2] | 0) >>> 0
  95307. ) {
  95308. dj = 368;
  95309. break;
  95310. }
  95311. c[Qb >> 2] = c[ec >> 2];
  95312. c[Db >> 2] = c[c[ec >> 2] >> 2];
  95313. }
  95314. }
  95315. if ((dj | 0) == 365) {
  95316. dj = 0;
  95317. c[Pb >> 2] = Sb;
  95318. } else if ((dj | 0) == 368) {
  95319. dj = 0;
  95320. c[Qb >> 2] = Sb;
  95321. }
  95322. c[c[Qb >> 2] >> 2] = 0;
  95323. c[c[Pb >> 2] >> 2] = 0;
  95324. c[((c[mb >> 2] | 0) + 24) >> 2] =
  95325. (c[Rb >> 2] | 0) - 8;
  95326. c[lb >> 2] = c[Tb >> 2];
  95327. }
  95328. } while (0);
  95329. c[md >> 2] = c[lb >> 2];
  95330. break d;
  95331. }
  95332. }
  95333. }
  95334. } while (0);
  95335. c[Bi >> 2] = c[md >> 2];
  95336. if (c[Bi >> 2] | 0) {
  95337. c[Di >> 2] =
  95338. c[
  95339. ((c[ci >> 2] | 0) +
  95340. (((c[Bi >> 2] | 0) - 1) << 3) +
  95341. 4) >>
  95342. 2
  95343. ];
  95344. if (
  95345. ((c[Di >> 2] | 0) >>> 0 >
  95346. (c[$h >> 2] | 0) >>> 0
  95347. ? 1
  95348. : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
  95349. 0) >>>
  95350. 0 >=
  95351. 4096) | 0
  95352. ) {
  95353. dj = 481;
  95354. break b;
  95355. }
  95356. c[Ci >> 2] = 0;
  95357. while (1) {
  95358. if (
  95359. (c[Ci >> 2] | 0) >>> 0 >=
  95360. (c[Bi >> 2] | 0) >>> 0
  95361. )
  95362. break c;
  95363. c[Ei >> 2] =
  95364. c[
  95365. ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
  95366. 2
  95367. ];
  95368. pm(
  95369. Fi,
  95370. ((c[bi >> 2] | 0) +
  95371. (((c[ei >> 2] | 0) * 28) | 0) +
  95372. 16) |
  95373. 0,
  95374. c[Ei >> 2] | 0,
  95375. c[xi >> 2] | 0
  95376. );
  95377. c[Gi >> 2] =
  95378. c[
  95379. ((c[ci >> 2] | 0) +
  95380. (c[Ci >> 2] << 3) +
  95381. 4) >>
  95382. 2
  95383. ];
  95384. if ((c[Ci >> 2] | 0) >>> 0 > 0)
  95385. Dj =
  95386. ((c[
  95387. ((c[ci >> 2] | 0) +
  95388. (((c[Ci >> 2] | 0) - 1) << 3) +
  95389. 4) >>
  95390. 2
  95391. ] |
  95392. 0) +
  95393. 1) |
  95394. 0;
  95395. else Dj = c[ai >> 2] | 0;
  95396. c[Hi >> 2] = Dj;
  95397. c[Ii >> 2] = c[Gi >> 2];
  95398. i: while (1) {
  95399. if (
  95400. (c[Ii >> 2] | 0) >>> 0 <
  95401. (c[Hi >> 2] | 0) >>> 0
  95402. )
  95403. break;
  95404. c[Ji >> 2] =
  95405. (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
  95406. Zh = c[Ai >> 2] | 0;
  95407. Zi = c[Ii >> 2] | 0;
  95408. Ph = c[Th >> 2] | 0;
  95409. Qh = c[Rh >> 2] | 0;
  95410. c[k >> 2] = c[Ei >> 2];
  95411. c[m >> 2] = Zi;
  95412. c[n >> 2] = Ph;
  95413. c[o >> 2] = Qh;
  95414. c[q >> 2] =
  95415. qm(((c[k >> 2] | 0) + 1) | 0) | 0;
  95416. c[r >> 2] = (c[m >> 2] | 0) - 3;
  95417. if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
  95418. Qh =
  95419. ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
  95420. 16) |
  95421. 0;
  95422. c[j >> 2] = Qh + (c[q >> 2] | 0);
  95423. } else {
  95424. Qh =
  95425. ((c[q >> 2] | 0) +
  95426. (c[((c[n >> 2] | 0) + 52) >> 2] |
  95427. 0)) |
  95428. 0;
  95429. c[p >> 2] =
  95430. Qh -
  95431. (qm(
  95432. ((c[
  95433. ((c[((c[n >> 2] | 0) + 12) >> 2] |
  95434. 0) +
  95435. (c[q >> 2] << 2)) >>
  95436. 2
  95437. ] |
  95438. 0) +
  95439. 1) |
  95440. 0
  95441. ) |
  95442. 0);
  95443. if (
  95444. ((c[o >> 2] | 0) < 2) &
  95445. ((c[q >> 2] | 0) >>> 0 >= 20)
  95446. )
  95447. c[p >> 2] =
  95448. (c[p >> 2] | 0) +
  95449. (((c[q >> 2] | 0) - 19) << 1);
  95450. c[s >> 2] = rm(c[r >> 2] | 0) | 0;
  95451. Qh =
  95452. ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
  95453. 0) +
  95454. (c[((c[n >> 2] | 0) + 48) >> 2] |
  95455. 0)) |
  95456. 0;
  95457. Ph =
  95458. (Qh -
  95459. (qm(
  95460. ((c[
  95461. ((c[((c[n >> 2] | 0) + 8) >> 2] |
  95462. 0) +
  95463. (c[s >> 2] << 2)) >>
  95464. 2
  95465. ] |
  95466. 0) +
  95467. 1) |
  95468. 0
  95469. ) |
  95470. 0)) |
  95471. 0;
  95472. c[p >> 2] = (c[p >> 2] | 0) + Ph;
  95473. c[j >> 2] = c[p >> 2];
  95474. }
  95475. c[Ki >> 2] = Zh + (c[j >> 2] | 0);
  95476. do {
  95477. if (
  95478. (c[Ji >> 2] | 0) >>> 0 <=
  95479. (c[fi >> 2] | 0) >>> 0
  95480. ) {
  95481. if (
  95482. (c[Ki >> 2] | 0) <
  95483. (c[
  95484. ((c[bi >> 2] | 0) +
  95485. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  95486. 2
  95487. ] |
  95488. 0)
  95489. ) {
  95490. dj = 496;
  95491. break;
  95492. }
  95493. if (!(c[Rh >> 2] | 0)) break i;
  95494. } else dj = 496;
  95495. } while (0);
  95496. if ((dj | 0) == 496) {
  95497. dj = 0;
  95498. while (1) {
  95499. if (
  95500. (c[fi >> 2] | 0) >>> 0 >=
  95501. (c[Ji >> 2] | 0) >>> 0
  95502. )
  95503. break;
  95504. c[
  95505. ((c[bi >> 2] | 0) +
  95506. (((((c[fi >> 2] | 0) + 1) | 0) *
  95507. 28) |
  95508. 0)) >>
  95509. 2
  95510. ] = 1073741824;
  95511. c[fi >> 2] = (c[fi >> 2] | 0) + 1;
  95512. }
  95513. c[
  95514. ((c[bi >> 2] | 0) +
  95515. (((c[Ji >> 2] | 0) * 28) | 0) +
  95516. 8) >>
  95517. 2
  95518. ] = c[Ii >> 2];
  95519. c[
  95520. ((c[bi >> 2] | 0) +
  95521. (((c[Ji >> 2] | 0) * 28) | 0) +
  95522. 4) >>
  95523. 2
  95524. ] = c[Ei >> 2];
  95525. c[
  95526. ((c[bi >> 2] | 0) +
  95527. (((c[Ji >> 2] | 0) * 28) | 0) +
  95528. 12) >>
  95529. 2
  95530. ] = c[yi >> 2];
  95531. c[
  95532. ((c[bi >> 2] | 0) +
  95533. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  95534. 2
  95535. ] = c[Ki >> 2];
  95536. Zh =
  95537. ((c[bi >> 2] | 0) +
  95538. (((c[Ji >> 2] | 0) * 28) | 0) +
  95539. 16) |
  95540. 0;
  95541. c[Zh >> 2] = c[Fi >> 2];
  95542. c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
  95543. c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
  95544. }
  95545. c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
  95546. }
  95547. c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
  95548. }
  95549. }
  95550. }
  95551. } while (0);
  95552. c[ei >> 2] = (c[ei >> 2] | 0) + 1;
  95553. }
  95554. if ((dj | 0) == 481) {
  95555. dj = 0;
  95556. c[gi >> 2] = c[Di >> 2];
  95557. c[hi >> 2] =
  95558. c[
  95559. ((c[ci >> 2] | 0) +
  95560. (((c[Bi >> 2] | 0) - 1) << 3)) >>
  95561. 2
  95562. ];
  95563. c[fi >> 2] = (c[ei >> 2] | 0) + 1;
  95564. break;
  95565. } else if ((dj | 0) == 504) {
  95566. dj = 0;
  95567. c[gi >> 2] =
  95568. c[
  95569. ((c[bi >> 2] | 0) +
  95570. (((c[fi >> 2] | 0) * 28) | 0) +
  95571. 8) >>
  95572. 2
  95573. ];
  95574. c[hi >> 2] =
  95575. c[
  95576. ((c[bi >> 2] | 0) +
  95577. (((c[fi >> 2] | 0) * 28) | 0) +
  95578. 4) >>
  95579. 2
  95580. ];
  95581. c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
  95582. break;
  95583. }
  95584. } else {
  95585. c[gi >> 2] = c[mi >> 2];
  95586. c[hi >> 2] =
  95587. c[
  95588. ((c[ci >> 2] | 0) +
  95589. (((c[ki >> 2] | 0) - 1) << 3)) >>
  95590. 2
  95591. ];
  95592. c[ei >> 2] = 0;
  95593. c[fi >> 2] = 1;
  95594. }
  95595. } while (0);
  95596. c[Li >> 2] = c[gi >> 2];
  95597. c[Mi >> 2] = c[hi >> 2];
  95598. c[Ni >> 2] = c[ei >> 2];
  95599. while (1) {
  95600. c[Oi >> 2] =
  95601. c[
  95602. ((c[bi >> 2] | 0) +
  95603. (((c[Ni >> 2] | 0) * 28) | 0) +
  95604. 8) >>
  95605. 2
  95606. ];
  95607. c[Pi >> 2] =
  95608. c[
  95609. ((c[bi >> 2] | 0) +
  95610. (((c[Ni >> 2] | 0) * 28) | 0) +
  95611. 4) >>
  95612. 2
  95613. ];
  95614. c[
  95615. ((c[bi >> 2] | 0) +
  95616. (((c[Ni >> 2] | 0) * 28) | 0) +
  95617. 8) >>
  95618. 2
  95619. ] = c[Li >> 2];
  95620. c[
  95621. ((c[bi >> 2] | 0) +
  95622. (((c[Ni >> 2] | 0) * 28) | 0) +
  95623. 4) >>
  95624. 2
  95625. ] = c[Mi >> 2];
  95626. c[Li >> 2] = c[Oi >> 2];
  95627. c[Mi >> 2] = c[Pi >> 2];
  95628. if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
  95629. break;
  95630. c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
  95631. }
  95632. c[Qi >> 2] = 0;
  95633. while (1) {
  95634. if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
  95635. break;
  95636. c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  95637. c[Si >> 2] =
  95638. c[
  95639. ((c[bi >> 2] | 0) +
  95640. (((c[Qi >> 2] | 0) * 28) | 0) +
  95641. 8) >>
  95642. 2
  95643. ];
  95644. c[Ti >> 2] =
  95645. c[
  95646. ((c[bi >> 2] | 0) +
  95647. (((c[Qi >> 2] | 0) * 28) | 0) +
  95648. 4) >>
  95649. 2
  95650. ];
  95651. if ((c[Si >> 2] | 0) == 1) {
  95652. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  95653. c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
  95654. continue;
  95655. }
  95656. c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
  95657. c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
  95658. if ((c[Ti >> 2] | 0) >>> 0 < 3) {
  95659. c[Ui >> 2] =
  95660. (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
  95661. if (c[Ui >> 2] | 0) {
  95662. Zh = c[Nh >> 2] | 0;
  95663. if ((c[Ui >> 2] | 0) == 3)
  95664. Ej = ((c[Zh >> 2] | 0) - 1) | 0;
  95665. else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
  95666. c[Vi >> 2] = Ej;
  95667. if ((c[Ui >> 2] | 0) >>> 0 >= 2)
  95668. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  95669. c[((c[Nh >> 2] | 0) + 4) >> 2];
  95670. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  95671. c[c[Nh >> 2] >> 2] = c[Vi >> 2];
  95672. }
  95673. } else {
  95674. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  95675. c[((c[Nh >> 2] | 0) + 4) >> 2];
  95676. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  95677. c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
  95678. }
  95679. vm(
  95680. c[Th >> 2] | 0,
  95681. c[Ri >> 2] | 0,
  95682. c[Wh >> 2] | 0,
  95683. c[Ti >> 2] | 0,
  95684. c[Si >> 2] | 0
  95685. );
  95686. wm(
  95687. c[Mh >> 2] | 0,
  95688. c[Ri >> 2] | 0,
  95689. c[Wh >> 2] | 0,
  95690. c[Ti >> 2] | 0,
  95691. ((c[Si >> 2] | 0) - 3) | 0
  95692. );
  95693. c[Wh >> 2] = c[Vh >> 2];
  95694. }
  95695. xm(c[Th >> 2] | 0);
  95696. }
  95697. l = i;
  95698. return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
  95699. }
  95700. function lm(a, b, e) {
  95701. a = a | 0;
  95702. b = b | 0;
  95703. e = e | 0;
  95704. var f = 0,
  95705. g = 0,
  95706. h = 0,
  95707. i = 0,
  95708. j = 0,
  95709. k = 0,
  95710. m = 0,
  95711. n = 0,
  95712. o = 0,
  95713. p = 0,
  95714. q = 0,
  95715. r = 0,
  95716. s = 0,
  95717. t = 0;
  95718. f = l;
  95719. l = (l + 32) | 0;
  95720. g = (f + 16) | 0;
  95721. h = (f + 12) | 0;
  95722. i = (f + 8) | 0;
  95723. j = (f + 4) | 0;
  95724. k = f;
  95725. c[g >> 2] = a;
  95726. c[h >> 2] = b;
  95727. c[i >> 2] = e;
  95728. c[((c[g >> 2] | 0) + 56) >> 2] = 0;
  95729. if (c[((c[g >> 2] | 0) + 28) >> 2] | 0) {
  95730. c[((c[g >> 2] | 0) + 24) >> 2] = 0;
  95731. c[k >> 2] = 0;
  95732. while (1) {
  95733. m = c[g >> 2] | 0;
  95734. if ((c[k >> 2] | 0) >>> 0 > 255) break;
  95735. c[((c[c[g >> 2] >> 2] | 0) + (c[k >> 2] << 2)) >> 2] =
  95736. 1 +
  95737. ((c[((c[m >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) >>>
  95738. 5);
  95739. e = ((c[g >> 2] | 0) + 24) | 0;
  95740. c[e >> 2] =
  95741. (c[e >> 2] | 0) +
  95742. (c[((c[c[g >> 2] >> 2] | 0) + (c[k >> 2] << 2)) >> 2] |
  95743. 0);
  95744. c[k >> 2] = (c[k >> 2] | 0) + 1;
  95745. }
  95746. c[(m + 28) >> 2] = 0;
  95747. c[k >> 2] = 0;
  95748. while (1) {
  95749. n = c[g >> 2] | 0;
  95750. if ((c[k >> 2] | 0) >>> 0 > 35) break;
  95751. c[
  95752. ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
  95753. (c[k >> 2] << 2)) >>
  95754. 2
  95755. ] =
  95756. 1 +
  95757. ((c[((c[(n + 4) >> 2] | 0) + (c[k >> 2] << 2)) >> 2] |
  95758. 0) >>>
  95759. 5);
  95760. m = ((c[g >> 2] | 0) + 28) | 0;
  95761. c[m >> 2] =
  95762. (c[m >> 2] | 0) +
  95763. (c[
  95764. ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
  95765. (c[k >> 2] << 2)) >>
  95766. 2
  95767. ] |
  95768. 0);
  95769. c[k >> 2] = (c[k >> 2] | 0) + 1;
  95770. }
  95771. c[(n + 32) >> 2] = 0;
  95772. c[k >> 2] = 0;
  95773. while (1) {
  95774. o = c[g >> 2] | 0;
  95775. if ((c[k >> 2] | 0) >>> 0 > 52) break;
  95776. c[
  95777. ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) +
  95778. (c[k >> 2] << 2)) >>
  95779. 2
  95780. ] =
  95781. 1 +
  95782. ((c[((c[(o + 8) >> 2] | 0) + (c[k >> 2] << 2)) >> 2] |
  95783. 0) >>>
  95784. 4);
  95785. n = ((c[g >> 2] | 0) + 32) | 0;
  95786. c[n >> 2] =
  95787. (c[n >> 2] | 0) +
  95788. (c[
  95789. ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) +
  95790. (c[k >> 2] << 2)) >>
  95791. 2
  95792. ] |
  95793. 0);
  95794. c[k >> 2] = (c[k >> 2] | 0) + 1;
  95795. }
  95796. c[(o + 36) >> 2] = 0;
  95797. c[k >> 2] = 0;
  95798. while (1) {
  95799. if ((c[k >> 2] | 0) >>> 0 > 31) break;
  95800. c[
  95801. ((c[((c[g >> 2] | 0) + 12) >> 2] | 0) +
  95802. (c[k >> 2] << 2)) >>
  95803. 2
  95804. ] =
  95805. 1 +
  95806. ((c[
  95807. ((c[((c[g >> 2] | 0) + 12) >> 2] | 0) +
  95808. (c[k >> 2] << 2)) >>
  95809. 2
  95810. ] |
  95811. 0) >>>
  95812. 4);
  95813. o = ((c[g >> 2] | 0) + 36) | 0;
  95814. c[o >> 2] =
  95815. (c[o >> 2] | 0) +
  95816. (c[
  95817. ((c[((c[g >> 2] | 0) + 12) >> 2] | 0) +
  95818. (c[k >> 2] << 2)) >>
  95819. 2
  95820. ] |
  95821. 0);
  95822. c[k >> 2] = (c[k >> 2] | 0) + 1;
  95823. }
  95824. p = c[g >> 2] | 0;
  95825. xm(p);
  95826. l = f;
  95827. return;
  95828. }
  95829. if ((c[i >> 2] | 0) >>> 0 <= 1024)
  95830. c[((c[g >> 2] | 0) + 56) >> 2] = 1;
  95831. c[j >> 2] = 0;
  95832. while (1) {
  95833. if ((c[j >> 2] | 0) >>> 0 > 255) break;
  95834. c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 0;
  95835. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95836. }
  95837. c[j >> 2] = 0;
  95838. while (1) {
  95839. q = c[g >> 2] | 0;
  95840. if ((c[j >> 2] | 0) >>> 0 >= (c[i >> 2] | 0) >>> 0) break;
  95841. k =
  95842. ((c[q >> 2] | 0) +
  95843. ((d[((c[h >> 2] | 0) + (c[j >> 2] | 0)) >> 0] | 0) <<
  95844. 2)) |
  95845. 0;
  95846. c[k >> 2] = (c[k >> 2] | 0) + 1;
  95847. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95848. }
  95849. c[(q + 24) >> 2] = 0;
  95850. c[j >> 2] = 0;
  95851. while (1) {
  95852. if ((c[j >> 2] | 0) >>> 0 > 255) break;
  95853. c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] =
  95854. 1 +
  95855. ((c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] |
  95856. 0) >>>
  95857. 4);
  95858. q = ((c[g >> 2] | 0) + 24) | 0;
  95859. c[q >> 2] =
  95860. (c[q >> 2] | 0) +
  95861. (c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] |
  95862. 0);
  95863. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95864. }
  95865. c[j >> 2] = 0;
  95866. while (1) {
  95867. r = c[g >> 2] | 0;
  95868. if ((c[j >> 2] | 0) >>> 0 > 35) break;
  95869. c[((c[(r + 4) >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 1;
  95870. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95871. }
  95872. c[(r + 28) >> 2] = 36;
  95873. c[j >> 2] = 0;
  95874. while (1) {
  95875. s = c[g >> 2] | 0;
  95876. if ((c[j >> 2] | 0) >>> 0 > 52) break;
  95877. c[((c[(s + 8) >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 1;
  95878. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95879. }
  95880. c[(s + 32) >> 2] = 53;
  95881. c[j >> 2] = 0;
  95882. while (1) {
  95883. t = c[g >> 2] | 0;
  95884. if ((c[j >> 2] | 0) >>> 0 > 31) break;
  95885. c[((c[(t + 12) >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 1;
  95886. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95887. }
  95888. c[(t + 36) >> 2] = 32;
  95889. p = c[g >> 2] | 0;
  95890. xm(p);
  95891. l = f;
  95892. return;
  95893. }
  95894. function mm(a, b) {
  95895. a = a | 0;
  95896. b = b | 0;
  95897. var d = 0,
  95898. e = 0,
  95899. f = 0,
  95900. g = 0;
  95901. d = l;
  95902. l = (l + 16) | 0;
  95903. e = (d + 8) | 0;
  95904. f = (d + 4) | 0;
  95905. g = d;
  95906. c[f >> 2] = a;
  95907. c[g >> 2] = b;
  95908. do {
  95909. if ((c[g >> 2] | 0) == 3) {
  95910. b = (_j() | 0) != 0;
  95911. a = Yj(c[f >> 2] | 0) | 0;
  95912. if (b) {
  95913. c[e >> 2] = a << 8;
  95914. break;
  95915. } else {
  95916. c[e >> 2] = a >>> 8;
  95917. break;
  95918. }
  95919. } else c[e >> 2] = Yj(c[f >> 2] | 0) | 0;
  95920. } while (0);
  95921. l = d;
  95922. return c[e >> 2] | 0;
  95923. }
  95924. function nm(a, b) {
  95925. a = a | 0;
  95926. b = b | 0;
  95927. var d = 0,
  95928. e = 0,
  95929. f = 0,
  95930. g = 0,
  95931. h = 0,
  95932. i = 0,
  95933. j = 0,
  95934. k = 0,
  95935. m = 0;
  95936. d = l;
  95937. l = (l + 32) | 0;
  95938. e = (d + 28) | 0;
  95939. f = (d + 24) | 0;
  95940. g = (d + 20) | 0;
  95941. h = (d + 16) | 0;
  95942. i = (d + 12) | 0;
  95943. j = (d + 8) | 0;
  95944. k = (d + 4) | 0;
  95945. m = d;
  95946. c[e >> 2] = a;
  95947. c[f >> 2] = b;
  95948. c[g >> 2] = c[((c[e >> 2] | 0) + 40) >> 2];
  95949. c[h >> 2] = c[((c[e >> 2] | 0) + 32) >> 2];
  95950. c[i >> 2] = c[((c[e >> 2] | 0) + 4) >> 2];
  95951. c[j >> 2] = c[((c[e >> 2] | 0) + 28) >> 2];
  95952. b = ((c[f >> 2] | 0) - (c[i >> 2] | 0)) | 0;
  95953. c[((c[e >> 2] | 0) + 28) >> 2] = b;
  95954. c[k >> 2] = b;
  95955. c[m >> 2] = Fm(c[f >> 2] | 0, c[h >> 2] | 0) | 0;
  95956. while (1) {
  95957. if ((c[j >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
  95958. f = c[j >> 2] | 0;
  95959. b = c[g >> 2] | 0;
  95960. c[
  95961. (b +
  95962. ((Fm(
  95963. ((c[i >> 2] | 0) + (c[j >> 2] | 0)) | 0,
  95964. c[h >> 2] | 0
  95965. ) |
  95966. 0) <<
  95967. 2)) >>
  95968. 2
  95969. ] = f;
  95970. c[j >> 2] = (c[j >> 2] | 0) + 1;
  95971. }
  95972. l = d;
  95973. return c[((c[g >> 2] | 0) + (c[m >> 2] << 2)) >> 2] | 0;
  95974. }
  95975. function om(a, b, d, e) {
  95976. a = a | 0;
  95977. b = b | 0;
  95978. d = d | 0;
  95979. e = e | 0;
  95980. var f = 0,
  95981. g = 0,
  95982. h = 0,
  95983. i = 0,
  95984. j = 0;
  95985. f = l;
  95986. l = (l + 16) | 0;
  95987. g = (f + 12) | 0;
  95988. h = (f + 8) | 0;
  95989. i = (f + 4) | 0;
  95990. j = f;
  95991. c[g >> 2] = a;
  95992. c[h >> 2] = b;
  95993. c[i >> 2] = d;
  95994. c[j >> 2] = e;
  95995. e =
  95996. Dm(
  95997. c[g >> 2] | 0,
  95998. c[h >> 2] | 0,
  95999. c[i >> 2] | 0,
  96000. c[j >> 2] | 0
  96001. ) | 0;
  96002. h = (e + (Cm(c[i >> 2] | 0, c[j >> 2] | 0) | 0)) | 0;
  96003. l = f;
  96004. return h | 0;
  96005. }
  96006. function pm(a, b, d, e) {
  96007. a = a | 0;
  96008. b = b | 0;
  96009. d = d | 0;
  96010. e = e | 0;
  96011. var f = 0,
  96012. g = 0,
  96013. h = 0,
  96014. i = 0,
  96015. j = 0,
  96016. k = 0,
  96017. m = 0,
  96018. n = 0,
  96019. o = 0;
  96020. f = l;
  96021. l = (l + 32) | 0;
  96022. g = (f + 28) | 0;
  96023. h = (f + 24) | 0;
  96024. i = (f + 20) | 0;
  96025. j = (f + 8) | 0;
  96026. k = (f + 4) | 0;
  96027. m = f;
  96028. c[g >> 2] = b;
  96029. c[h >> 2] = d;
  96030. c[i >> 2] = e;
  96031. if ((c[h >> 2] | 0) >>> 0 >= 3) {
  96032. c[(j + 8) >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
  96033. c[(j + 4) >> 2] = c[c[g >> 2] >> 2];
  96034. c[j >> 2] = (c[h >> 2] | 0) - 2;
  96035. c[a >> 2] = c[j >> 2];
  96036. c[(a + 4) >> 2] = c[(j + 4) >> 2];
  96037. c[(a + 8) >> 2] = c[(j + 8) >> 2];
  96038. l = f;
  96039. return;
  96040. }
  96041. c[k >> 2] = (c[h >> 2] | 0) + (c[i >> 2] | 0);
  96042. if ((c[k >> 2] | 0) >>> 0 <= 0) {
  96043. i = c[g >> 2] | 0;
  96044. c[j >> 2] = c[i >> 2];
  96045. c[(j + 4) >> 2] = c[(i + 4) >> 2];
  96046. c[(j + 8) >> 2] = c[(i + 8) >> 2];
  96047. c[a >> 2] = c[j >> 2];
  96048. c[(a + 4) >> 2] = c[(j + 4) >> 2];
  96049. c[(a + 8) >> 2] = c[(j + 8) >> 2];
  96050. l = f;
  96051. return;
  96052. }
  96053. i = c[g >> 2] | 0;
  96054. if ((c[k >> 2] | 0) == 3) n = ((c[i >> 2] | 0) - 1) | 0;
  96055. else n = c[(i + (c[k >> 2] << 2)) >> 2] | 0;
  96056. c[m >> 2] = n;
  96057. n = c[g >> 2] | 0;
  96058. if ((c[k >> 2] | 0) >>> 0 >= 2) o = c[(n + 4) >> 2] | 0;
  96059. else o = c[(n + 8) >> 2] | 0;
  96060. c[(j + 8) >> 2] = o;
  96061. c[(j + 4) >> 2] = c[c[g >> 2] >> 2];
  96062. c[j >> 2] = c[m >> 2];
  96063. c[a >> 2] = c[j >> 2];
  96064. c[(a + 4) >> 2] = c[(j + 4) >> 2];
  96065. c[(a + 8) >> 2] = c[(j + 8) >> 2];
  96066. l = f;
  96067. return;
  96068. }
  96069. function qm(a) {
  96070. a = a | 0;
  96071. var b = 0,
  96072. d = 0;
  96073. b = l;
  96074. l = (l + 16) | 0;
  96075. d = b;
  96076. c[d >> 2] = a;
  96077. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  96078. l = b;
  96079. return a | 0;
  96080. }
  96081. function rm(a) {
  96082. a = a | 0;
  96083. var b = 0,
  96084. e = 0,
  96085. f = 0;
  96086. b = l;
  96087. l = (l + 16) | 0;
  96088. e = b;
  96089. c[e >> 2] = a;
  96090. a = c[e >> 2] | 0;
  96091. if ((c[e >> 2] | 0) >>> 0 > 127) {
  96092. f = ((qm(a) | 0) + 36) | 0;
  96093. l = b;
  96094. return f | 0;
  96095. } else {
  96096. f = d[(3072 + a) >> 0] | 0;
  96097. l = b;
  96098. return f | 0;
  96099. }
  96100. return 0;
  96101. }
  96102. function sm(a, b, d) {
  96103. a = a | 0;
  96104. b = b | 0;
  96105. d = d | 0;
  96106. var e = 0,
  96107. f = 0,
  96108. g = 0,
  96109. h = 0,
  96110. i = 0;
  96111. e = l;
  96112. l = (l + 16) | 0;
  96113. f = (e + 12) | 0;
  96114. g = (e + 8) | 0;
  96115. h = (e + 4) | 0;
  96116. i = e;
  96117. c[f >> 2] = a;
  96118. c[g >> 2] = b;
  96119. c[h >> 2] = d;
  96120. d = Bm(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  96121. c[i >> 2] = d + (Em(c[g >> 2] | 0, c[h >> 2] | 0) | 0);
  96122. l = e;
  96123. return c[i >> 2] | 0;
  96124. }
  96125. function tm(a, b, d, e) {
  96126. a = a | 0;
  96127. b = b | 0;
  96128. d = d | 0;
  96129. e = e | 0;
  96130. var f = 0,
  96131. g = 0,
  96132. h = 0,
  96133. i = 0,
  96134. j = 0,
  96135. k = 0;
  96136. f = l;
  96137. l = (l + 32) | 0;
  96138. g = (f + 16) | 0;
  96139. h = (f + 12) | 0;
  96140. i = (f + 8) | 0;
  96141. j = (f + 4) | 0;
  96142. k = f;
  96143. c[g >> 2] = a;
  96144. c[h >> 2] = b;
  96145. c[i >> 2] = d;
  96146. c[j >> 2] = e;
  96147. e =
  96148. Dm(
  96149. c[g >> 2] | 0,
  96150. c[h >> 2] | 0,
  96151. c[i >> 2] | 0,
  96152. c[j >> 2] | 0
  96153. ) | 0;
  96154. c[k >> 2] = e + (Em(c[i >> 2] | 0, c[j >> 2] | 0) | 0);
  96155. l = f;
  96156. return c[k >> 2] | 0;
  96157. }
  96158. function um(a, b, d) {
  96159. a = a | 0;
  96160. b = b | 0;
  96161. d = d | 0;
  96162. var e = 0,
  96163. f = 0,
  96164. g = 0,
  96165. h = 0;
  96166. e = l;
  96167. l = (l + 16) | 0;
  96168. f = (e + 8) | 0;
  96169. g = (e + 4) | 0;
  96170. h = e;
  96171. c[f >> 2] = a;
  96172. c[g >> 2] = b;
  96173. c[h >> 2] = d;
  96174. d = Bm(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
  96175. f = (d + (Cm(c[g >> 2] | 0, c[h >> 2] | 0) | 0)) | 0;
  96176. l = e;
  96177. return f | 0;
  96178. }
  96179. function vm(a, b, e, f, g) {
  96180. a = a | 0;
  96181. b = b | 0;
  96182. e = e | 0;
  96183. f = f | 0;
  96184. g = g | 0;
  96185. var h = 0,
  96186. i = 0,
  96187. j = 0,
  96188. k = 0,
  96189. m = 0,
  96190. n = 0,
  96191. o = 0,
  96192. p = 0,
  96193. q = 0,
  96194. r = 0,
  96195. s = 0;
  96196. h = l;
  96197. l = (l + 48) | 0;
  96198. i = (h + 36) | 0;
  96199. j = (h + 32) | 0;
  96200. k = (h + 28) | 0;
  96201. m = (h + 24) | 0;
  96202. n = (h + 20) | 0;
  96203. o = (h + 16) | 0;
  96204. p = (h + 12) | 0;
  96205. q = (h + 8) | 0;
  96206. r = (h + 4) | 0;
  96207. s = h;
  96208. c[i >> 2] = a;
  96209. c[j >> 2] = b;
  96210. c[k >> 2] = e;
  96211. c[m >> 2] = f;
  96212. c[n >> 2] = g;
  96213. c[o >> 2] = 0;
  96214. while (1) {
  96215. if ((c[o >> 2] | 0) >>> 0 >= (c[j >> 2] | 0) >>> 0) break;
  96216. g =
  96217. ((c[c[i >> 2] >> 2] | 0) +
  96218. ((d[((c[k >> 2] | 0) + (c[o >> 2] | 0)) >> 0] | 0) <<
  96219. 2)) |
  96220. 0;
  96221. c[g >> 2] = (c[g >> 2] | 0) + 2;
  96222. c[o >> 2] = (c[o >> 2] | 0) + 1;
  96223. }
  96224. o = ((c[i >> 2] | 0) + 24) | 0;
  96225. c[o >> 2] = (c[o >> 2] | 0) + (c[j >> 2] << 1);
  96226. c[p >> 2] = Am(c[j >> 2] | 0) | 0;
  96227. j =
  96228. ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + (c[p >> 2] << 2)) |
  96229. 0;
  96230. c[j >> 2] = (c[j >> 2] | 0) + 1;
  96231. j = ((c[i >> 2] | 0) + 28) | 0;
  96232. c[j >> 2] = (c[j >> 2] | 0) + 1;
  96233. c[q >> 2] = qm(((c[m >> 2] | 0) + 1) | 0) | 0;
  96234. m =
  96235. ((c[((c[i >> 2] | 0) + 12) >> 2] | 0) + (c[q >> 2] << 2)) |
  96236. 0;
  96237. c[m >> 2] = (c[m >> 2] | 0) + 1;
  96238. m = ((c[i >> 2] | 0) + 36) | 0;
  96239. c[m >> 2] = (c[m >> 2] | 0) + 1;
  96240. c[r >> 2] = (c[n >> 2] | 0) - 3;
  96241. c[s >> 2] = rm(c[r >> 2] | 0) | 0;
  96242. r =
  96243. ((c[((c[i >> 2] | 0) + 8) >> 2] | 0) + (c[s >> 2] << 2)) |
  96244. 0;
  96245. c[r >> 2] = (c[r >> 2] | 0) + 1;
  96246. r = ((c[i >> 2] | 0) + 32) | 0;
  96247. c[r >> 2] = (c[r >> 2] | 0) + 1;
  96248. l = h;
  96249. return;
  96250. }
  96251. function wm(a, d, e, f, g) {
  96252. a = a | 0;
  96253. d = d | 0;
  96254. e = e | 0;
  96255. f = f | 0;
  96256. g = g | 0;
  96257. var h = 0,
  96258. i = 0,
  96259. j = 0,
  96260. k = 0,
  96261. m = 0,
  96262. n = 0,
  96263. o = 0,
  96264. p = 0,
  96265. q = 0,
  96266. r = 0,
  96267. s = 0,
  96268. t = 0,
  96269. u = 0,
  96270. v = 0,
  96271. w = 0,
  96272. x = 0;
  96273. h = l;
  96274. l = (l + 32) | 0;
  96275. i = (h + 16) | 0;
  96276. j = (h + 12) | 0;
  96277. k = (h + 8) | 0;
  96278. m = (h + 4) | 0;
  96279. n = h;
  96280. c[i >> 2] = a;
  96281. c[j >> 2] = d;
  96282. c[k >> 2] = e;
  96283. c[m >> 2] = f;
  96284. c[n >> 2] = g;
  96285. ym(
  96286. c[((c[i >> 2] | 0) + 12) >> 2] | 0,
  96287. c[k >> 2] | 0,
  96288. c[j >> 2] | 0
  96289. );
  96290. k = ((c[i >> 2] | 0) + 12) | 0;
  96291. c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
  96292. if ((c[j >> 2] | 0) >>> 0 > 65535) {
  96293. c[((c[i >> 2] | 0) + 28) >> 2] = 1;
  96294. c[((c[i >> 2] | 0) + 32) >> 2] =
  96295. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  96296. (c[c[i >> 2] >> 2] | 0)) |
  96297. 0) /
  96298. 8) |
  96299. 0;
  96300. }
  96301. b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
  96302. c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
  96303. if ((c[n >> 2] | 0) >>> 0 <= 65535) {
  96304. o = c[n >> 2] | 0;
  96305. p = o & 65535;
  96306. q = c[i >> 2] | 0;
  96307. r = (q + 4) | 0;
  96308. s = c[r >> 2] | 0;
  96309. t = (s + 6) | 0;
  96310. b[t >> 1] = p;
  96311. u = c[i >> 2] | 0;
  96312. v = (u + 4) | 0;
  96313. w = c[v >> 2] | 0;
  96314. x = (w + 8) | 0;
  96315. c[v >> 2] = x;
  96316. l = h;
  96317. return;
  96318. }
  96319. c[((c[i >> 2] | 0) + 28) >> 2] = 2;
  96320. c[((c[i >> 2] | 0) + 32) >> 2] =
  96321. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  96322. (c[c[i >> 2] >> 2] | 0)) |
  96323. 0) /
  96324. 8) |
  96325. 0;
  96326. o = c[n >> 2] | 0;
  96327. p = o & 65535;
  96328. q = c[i >> 2] | 0;
  96329. r = (q + 4) | 0;
  96330. s = c[r >> 2] | 0;
  96331. t = (s + 6) | 0;
  96332. b[t >> 1] = p;
  96333. u = c[i >> 2] | 0;
  96334. v = (u + 4) | 0;
  96335. w = c[v >> 2] | 0;
  96336. x = (w + 8) | 0;
  96337. c[v >> 2] = x;
  96338. l = h;
  96339. return;
  96340. }
  96341. function xm(a) {
  96342. a = a | 0;
  96343. var b = 0,
  96344. d = 0;
  96345. b = l;
  96346. l = (l + 16) | 0;
  96347. d = b;
  96348. c[d >> 2] = a;
  96349. a = qm(((c[((c[d >> 2] | 0) + 24) >> 2] | 0) + 1) | 0) | 0;
  96350. c[((c[d >> 2] | 0) + 40) >> 2] = a;
  96351. a = qm(((c[((c[d >> 2] | 0) + 28) >> 2] | 0) + 1) | 0) | 0;
  96352. c[((c[d >> 2] | 0) + 44) >> 2] = a;
  96353. a = qm(((c[((c[d >> 2] | 0) + 32) >> 2] | 0) + 1) | 0) | 0;
  96354. c[((c[d >> 2] | 0) + 48) >> 2] = a;
  96355. a = qm(((c[((c[d >> 2] | 0) + 36) >> 2] | 0) + 1) | 0) | 0;
  96356. c[((c[d >> 2] | 0) + 52) >> 2] = a;
  96357. l = b;
  96358. return;
  96359. }
  96360. function ym(a, b, d) {
  96361. a = a | 0;
  96362. b = b | 0;
  96363. d = d | 0;
  96364. var e = 0,
  96365. f = 0,
  96366. g = 0,
  96367. h = 0,
  96368. i = 0,
  96369. j = 0,
  96370. k = 0;
  96371. e = l;
  96372. l = (l + 32) | 0;
  96373. f = (e + 20) | 0;
  96374. g = (e + 16) | 0;
  96375. h = (e + 12) | 0;
  96376. i = (e + 8) | 0;
  96377. j = (e + 4) | 0;
  96378. k = e;
  96379. c[f >> 2] = a;
  96380. c[g >> 2] = b;
  96381. c[h >> 2] = d;
  96382. c[i >> 2] = c[g >> 2];
  96383. c[j >> 2] = c[f >> 2];
  96384. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  96385. do {
  96386. zm(c[j >> 2] | 0, c[i >> 2] | 0);
  96387. c[j >> 2] = (c[j >> 2] | 0) + 8;
  96388. c[i >> 2] = (c[i >> 2] | 0) + 8;
  96389. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  96390. l = e;
  96391. return;
  96392. }
  96393. function zm(b, d) {
  96394. b = b | 0;
  96395. d = d | 0;
  96396. var e = 0,
  96397. f = 0,
  96398. g = 0;
  96399. e = l;
  96400. l = (l + 16) | 0;
  96401. f = (e + 4) | 0;
  96402. g = e;
  96403. c[f >> 2] = b;
  96404. c[g >> 2] = d;
  96405. d = c[f >> 2] | 0;
  96406. f = c[g >> 2] | 0;
  96407. a[d >> 0] = a[f >> 0] | 0;
  96408. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  96409. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  96410. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  96411. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  96412. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  96413. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  96414. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  96415. l = e;
  96416. return;
  96417. }
  96418. function Am(a) {
  96419. a = a | 0;
  96420. var b = 0,
  96421. e = 0,
  96422. f = 0;
  96423. b = l;
  96424. l = (l + 16) | 0;
  96425. e = b;
  96426. c[e >> 2] = a;
  96427. a = c[e >> 2] | 0;
  96428. if ((c[e >> 2] | 0) >>> 0 > 63) {
  96429. f = ((qm(a) | 0) + 19) | 0;
  96430. l = b;
  96431. return f | 0;
  96432. } else {
  96433. f = d[(3008 + a) >> 0] | 0;
  96434. l = b;
  96435. return f | 0;
  96436. }
  96437. return 0;
  96438. }
  96439. function Bm(a, b, e) {
  96440. a = a | 0;
  96441. b = b | 0;
  96442. e = e | 0;
  96443. var f = 0,
  96444. g = 0,
  96445. h = 0,
  96446. i = 0,
  96447. j = 0,
  96448. k = 0,
  96449. m = 0,
  96450. n = 0;
  96451. f = l;
  96452. l = (l + 32) | 0;
  96453. g = (f + 20) | 0;
  96454. h = (f + 16) | 0;
  96455. i = (f + 12) | 0;
  96456. j = (f + 8) | 0;
  96457. k = (f + 4) | 0;
  96458. m = f;
  96459. c[h >> 2] = a;
  96460. c[i >> 2] = b;
  96461. c[j >> 2] = e;
  96462. e = c[i >> 2] | 0;
  96463. if (c[((c[j >> 2] | 0) + 56) >> 2] | 0) {
  96464. c[g >> 2] = e * 6;
  96465. n = c[g >> 2] | 0;
  96466. l = f;
  96467. return n | 0;
  96468. }
  96469. if (!e) {
  96470. c[g >> 2] = 0;
  96471. n = c[g >> 2] | 0;
  96472. l = f;
  96473. return n | 0;
  96474. }
  96475. c[m >> 2] =
  96476. N(c[i >> 2] | 0, c[((c[j >> 2] | 0) + 40) >> 2] | 0) | 0;
  96477. c[k >> 2] = 0;
  96478. while (1) {
  96479. if ((c[k >> 2] | 0) >>> 0 >= (c[i >> 2] | 0) >>> 0) break;
  96480. e =
  96481. qm(
  96482. ((c[
  96483. ((c[c[j >> 2] >> 2] | 0) +
  96484. ((d[((c[h >> 2] | 0) + (c[k >> 2] | 0)) >> 0] |
  96485. 0) <<
  96486. 2)) >>
  96487. 2
  96488. ] |
  96489. 0) +
  96490. 1) |
  96491. 0
  96492. ) | 0;
  96493. c[m >> 2] = (c[m >> 2] | 0) - e;
  96494. c[k >> 2] = (c[k >> 2] | 0) + 1;
  96495. }
  96496. c[g >> 2] = c[m >> 2];
  96497. n = c[g >> 2] | 0;
  96498. l = f;
  96499. return n | 0;
  96500. }
  96501. function Cm(a, b) {
  96502. a = a | 0;
  96503. b = b | 0;
  96504. var d = 0,
  96505. e = 0,
  96506. f = 0,
  96507. g = 0,
  96508. h = 0,
  96509. i = 0,
  96510. j = 0;
  96511. d = l;
  96512. l = (l + 32) | 0;
  96513. e = (d + 16) | 0;
  96514. f = (d + 12) | 0;
  96515. g = (d + 8) | 0;
  96516. h = (d + 4) | 0;
  96517. i = d;
  96518. c[f >> 2] = a;
  96519. c[g >> 2] = b;
  96520. b = c[f >> 2] | 0;
  96521. if (c[((c[g >> 2] | 0) + 56) >> 2] | 0) {
  96522. c[e >> 2] = qm((b + 1) | 0) | 0;
  96523. j = c[e >> 2] | 0;
  96524. l = d;
  96525. return j | 0;
  96526. } else {
  96527. c[h >> 2] = Am(b) | 0;
  96528. b =
  96529. ((c[(5696 + (c[h >> 2] << 2)) >> 2] | 0) +
  96530. (c[((c[g >> 2] | 0) + 44) >> 2] | 0)) |
  96531. 0;
  96532. c[i >> 2] =
  96533. b -
  96534. (qm(
  96535. ((c[
  96536. ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
  96537. (c[h >> 2] << 2)) >>
  96538. 2
  96539. ] |
  96540. 0) +
  96541. 1) |
  96542. 0
  96543. ) |
  96544. 0);
  96545. c[e >> 2] = c[i >> 2];
  96546. j = c[e >> 2] | 0;
  96547. l = d;
  96548. return j | 0;
  96549. }
  96550. return 0;
  96551. }
  96552. function Dm(a, b, d, e) {
  96553. a = a | 0;
  96554. b = b | 0;
  96555. d = d | 0;
  96556. e = e | 0;
  96557. var f = 0,
  96558. g = 0,
  96559. h = 0,
  96560. i = 0,
  96561. j = 0,
  96562. k = 0,
  96563. m = 0,
  96564. n = 0,
  96565. o = 0;
  96566. f = l;
  96567. l = (l + 32) | 0;
  96568. g = (f + 28) | 0;
  96569. h = (f + 24) | 0;
  96570. i = (f + 20) | 0;
  96571. j = (f + 16) | 0;
  96572. k = (f + 12) | 0;
  96573. m = (f + 8) | 0;
  96574. n = (f + 4) | 0;
  96575. o = f;
  96576. c[g >> 2] = a;
  96577. c[h >> 2] = b;
  96578. c[i >> 2] = d;
  96579. c[j >> 2] = e;
  96580. if ((c[h >> 2] | 0) == (c[c[g >> 2] >> 2] | 0)) {
  96581. c[k >> 2] = c[((c[g >> 2] | 0) + 8) >> 2];
  96582. c[n >> 2] =
  96583. (c[h >> 2] | 0) + (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
  96584. c[m >> 2] =
  96585. (c[i >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
  96586. } else {
  96587. c[k >> 2] = 0;
  96588. c[n >> 2] = c[h >> 2];
  96589. c[m >> 2] = c[i >> 2];
  96590. }
  96591. e = c[k >> 2] | 0;
  96592. c[o >> 2] =
  96593. e + (Bm(c[n >> 2] | 0, c[m >> 2] | 0, c[j >> 2] | 0) | 0);
  96594. c[c[g >> 2] >> 2] = c[h >> 2];
  96595. c[((c[g >> 2] | 0) + 4) >> 2] = c[i >> 2];
  96596. c[((c[g >> 2] | 0) + 8) >> 2] = c[o >> 2];
  96597. l = f;
  96598. return c[o >> 2] | 0;
  96599. }
  96600. function Em(a, b) {
  96601. a = a | 0;
  96602. b = b | 0;
  96603. var d = 0,
  96604. e = 0,
  96605. f = 0,
  96606. g = 0,
  96607. h = 0,
  96608. i = 0,
  96609. j = 0;
  96610. d = l;
  96611. l = (l + 32) | 0;
  96612. e = (d + 16) | 0;
  96613. f = (d + 12) | 0;
  96614. g = (d + 8) | 0;
  96615. h = (d + 4) | 0;
  96616. i = d;
  96617. c[f >> 2] = a;
  96618. c[g >> 2] = b;
  96619. b = c[f >> 2] | 0;
  96620. if (c[((c[g >> 2] | 0) + 56) >> 2] | 0) {
  96621. c[e >> 2] = qm((b + 1) | 0) | 0;
  96622. j = c[e >> 2] | 0;
  96623. l = d;
  96624. return j | 0;
  96625. } else {
  96626. c[h >> 2] = Am(b) | 0;
  96627. b = c[(5696 + (c[h >> 2] << 2)) >> 2] | 0;
  96628. f =
  96629. (b +
  96630. (qm(
  96631. ((c[c[((c[g >> 2] | 0) + 4) >> 2] >> 2] | 0) + 1) | 0
  96632. ) |
  96633. 0)) |
  96634. 0;
  96635. c[i >> 2] =
  96636. f -
  96637. (qm(
  96638. ((c[
  96639. ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
  96640. (c[h >> 2] << 2)) >>
  96641. 2
  96642. ] |
  96643. 0) +
  96644. 1) |
  96645. 0
  96646. ) |
  96647. 0);
  96648. c[e >> 2] = c[i >> 2];
  96649. j = c[e >> 2] | 0;
  96650. l = d;
  96651. return j | 0;
  96652. }
  96653. return 0;
  96654. }
  96655. function Fm(a, b) {
  96656. a = a | 0;
  96657. b = b | 0;
  96658. var d = 0,
  96659. e = 0,
  96660. f = 0;
  96661. d = l;
  96662. l = (l + 16) | 0;
  96663. e = (d + 4) | 0;
  96664. f = d;
  96665. c[e >> 2] = a;
  96666. c[f >> 2] = b;
  96667. b = Gm(c[e >> 2] | 0) | 0;
  96668. e = Hm(b, c[f >> 2] | 0) | 0;
  96669. l = d;
  96670. return e | 0;
  96671. }
  96672. function Gm(a) {
  96673. a = a | 0;
  96674. var b = 0,
  96675. d = 0,
  96676. e = 0,
  96677. f = 0,
  96678. g = 0;
  96679. b = l;
  96680. l = (l + 16) | 0;
  96681. d = (b + 4) | 0;
  96682. e = b;
  96683. c[e >> 2] = a;
  96684. a = (_j() | 0) != 0;
  96685. f = Yj(c[e >> 2] | 0) | 0;
  96686. if (a) {
  96687. c[d >> 2] = f;
  96688. g = c[d >> 2] | 0;
  96689. l = b;
  96690. return g | 0;
  96691. } else {
  96692. c[d >> 2] = Im(f) | 0;
  96693. g = c[d >> 2] | 0;
  96694. l = b;
  96695. return g | 0;
  96696. }
  96697. return 0;
  96698. }
  96699. function Hm(a, b) {
  96700. a = a | 0;
  96701. b = b | 0;
  96702. var d = 0,
  96703. e = 0,
  96704. f = 0;
  96705. d = l;
  96706. l = (l + 16) | 0;
  96707. e = (d + 4) | 0;
  96708. f = d;
  96709. c[e >> 2] = a;
  96710. c[f >> 2] = b;
  96711. b = N(c[e >> 2] << 8, 506832829) | 0;
  96712. l = d;
  96713. return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
  96714. }
  96715. function Im(a) {
  96716. a = a | 0;
  96717. var b = 0,
  96718. d = 0;
  96719. b = l;
  96720. l = (l + 16) | 0;
  96721. d = b;
  96722. c[d >> 2] = a;
  96723. l = b;
  96724. return (
  96725. ((c[d >> 2] << 24) & -16777216) |
  96726. ((c[d >> 2] << 8) & 16711680) |
  96727. (((c[d >> 2] | 0) >>> 8) & 65280) |
  96728. (((c[d >> 2] | 0) >>> 24) & 255) |
  96729. 0
  96730. );
  96731. }
  96732. function Jm(a, b, d, e, f) {
  96733. a = a | 0;
  96734. b = b | 0;
  96735. d = d | 0;
  96736. e = e | 0;
  96737. f = f | 0;
  96738. var g = 0,
  96739. h = 0,
  96740. i = 0,
  96741. j = 0,
  96742. k = 0,
  96743. m = 0,
  96744. n = 0,
  96745. o = 0;
  96746. g = l;
  96747. l = (l + 32) | 0;
  96748. h = (g + 20) | 0;
  96749. i = (g + 16) | 0;
  96750. j = (g + 12) | 0;
  96751. k = (g + 8) | 0;
  96752. m = (g + 4) | 0;
  96753. n = g;
  96754. c[i >> 2] = a;
  96755. c[j >> 2] = b;
  96756. c[k >> 2] = d;
  96757. c[m >> 2] = e;
  96758. c[n >> 2] = f;
  96759. switch (c[((c[j >> 2] | 0) + 16) >> 2] | 0) {
  96760. case 7:
  96761. case 6: {
  96762. c[h >> 2] =
  96763. Vm(
  96764. c[i >> 2] | 0,
  96765. c[j >> 2] | 0,
  96766. c[k >> 2] | 0,
  96767. c[m >> 2] | 0,
  96768. c[n >> 2] | 0,
  96769. 6
  96770. ) | 0;
  96771. o = c[h >> 2] | 0;
  96772. l = g;
  96773. return o | 0;
  96774. }
  96775. case 5: {
  96776. c[h >> 2] =
  96777. Vm(
  96778. c[i >> 2] | 0,
  96779. c[j >> 2] | 0,
  96780. c[k >> 2] | 0,
  96781. c[m >> 2] | 0,
  96782. c[n >> 2] | 0,
  96783. 5
  96784. ) | 0;
  96785. o = c[h >> 2] | 0;
  96786. l = g;
  96787. return o | 0;
  96788. }
  96789. default: {
  96790. c[h >> 2] =
  96791. Vm(
  96792. c[i >> 2] | 0,
  96793. c[j >> 2] | 0,
  96794. c[k >> 2] | 0,
  96795. c[m >> 2] | 0,
  96796. c[n >> 2] | 0,
  96797. 4
  96798. ) | 0;
  96799. o = c[h >> 2] | 0;
  96800. l = g;
  96801. return o | 0;
  96802. }
  96803. }
  96804. return 0;
  96805. }
  96806. function Km(a, b, e, f, g) {
  96807. a = a | 0;
  96808. b = b | 0;
  96809. e = e | 0;
  96810. f = f | 0;
  96811. g = g | 0;
  96812. var h = 0,
  96813. i = 0,
  96814. j = 0,
  96815. k = 0,
  96816. m = 0,
  96817. n = 0,
  96818. o = 0,
  96819. p = 0,
  96820. q = 0,
  96821. r = 0,
  96822. s = 0,
  96823. t = 0,
  96824. u = 0,
  96825. v = 0,
  96826. w = 0,
  96827. x = 0,
  96828. y = 0,
  96829. z = 0,
  96830. A = 0,
  96831. B = 0,
  96832. C = 0,
  96833. D = 0,
  96834. E = 0,
  96835. F = 0,
  96836. G = 0,
  96837. H = 0,
  96838. I = 0,
  96839. J = 0,
  96840. K = 0,
  96841. L = 0,
  96842. M = 0,
  96843. N = 0,
  96844. O = 0,
  96845. P = 0,
  96846. Q = 0,
  96847. R = 0,
  96848. S = 0,
  96849. T = 0,
  96850. U = 0,
  96851. V = 0,
  96852. W = 0,
  96853. X = 0,
  96854. Y = 0,
  96855. Z = 0,
  96856. _ = 0,
  96857. $ = 0,
  96858. aa = 0,
  96859. ba = 0,
  96860. ca = 0,
  96861. da = 0,
  96862. ea = 0,
  96863. fa = 0,
  96864. ga = 0,
  96865. ha = 0,
  96866. ia = 0,
  96867. ja = 0,
  96868. ka = 0,
  96869. la = 0,
  96870. ma = 0,
  96871. na = 0,
  96872. oa = 0,
  96873. pa = 0,
  96874. qa = 0,
  96875. ra = 0,
  96876. sa = 0,
  96877. ta = 0,
  96878. ua = 0,
  96879. va = 0,
  96880. wa = 0,
  96881. xa = 0,
  96882. ya = 0,
  96883. za = 0,
  96884. Aa = 0,
  96885. Ba = 0,
  96886. Ca = 0,
  96887. Da = 0,
  96888. Ea = 0,
  96889. Fa = 0,
  96890. Ga = 0,
  96891. Ha = 0,
  96892. Ia = 0,
  96893. Ja = 0,
  96894. Ka = 0,
  96895. La = 0;
  96896. h = l;
  96897. l = (l + 320) | 0;
  96898. i = (h + 308) | 0;
  96899. j = (h + 304) | 0;
  96900. k = (h + 300) | 0;
  96901. m = (h + 296) | 0;
  96902. n = (h + 292) | 0;
  96903. o = (h + 288) | 0;
  96904. p = (h + 284) | 0;
  96905. q = (h + 280) | 0;
  96906. r = (h + 276) | 0;
  96907. s = (h + 272) | 0;
  96908. t = (h + 268) | 0;
  96909. u = (h + 264) | 0;
  96910. v = (h + 260) | 0;
  96911. w = (h + 256) | 0;
  96912. x = (h + 252) | 0;
  96913. y = (h + 248) | 0;
  96914. z = (h + 244) | 0;
  96915. A = (h + 240) | 0;
  96916. B = (h + 236) | 0;
  96917. C = (h + 232) | 0;
  96918. D = (h + 228) | 0;
  96919. E = (h + 224) | 0;
  96920. F = (h + 220) | 0;
  96921. G = (h + 216) | 0;
  96922. H = (h + 212) | 0;
  96923. I = (h + 208) | 0;
  96924. J = (h + 204) | 0;
  96925. K = (h + 200) | 0;
  96926. L = (h + 196) | 0;
  96927. M = (h + 192) | 0;
  96928. N = (h + 188) | 0;
  96929. O = (h + 184) | 0;
  96930. P = (h + 180) | 0;
  96931. Q = (h + 176) | 0;
  96932. R = (h + 172) | 0;
  96933. S = (h + 168) | 0;
  96934. T = (h + 164) | 0;
  96935. U = (h + 160) | 0;
  96936. V = (h + 156) | 0;
  96937. W = (h + 152) | 0;
  96938. X = (h + 148) | 0;
  96939. Y = (h + 144) | 0;
  96940. Z = (h + 140) | 0;
  96941. _ = (h + 136) | 0;
  96942. $ = (h + 132) | 0;
  96943. aa = (h + 128) | 0;
  96944. ba = (h + 124) | 0;
  96945. ca = (h + 120) | 0;
  96946. da = (h + 116) | 0;
  96947. ea = (h + 112) | 0;
  96948. fa = (h + 108) | 0;
  96949. ga = (h + 104) | 0;
  96950. ha = (h + 100) | 0;
  96951. ia = (h + 96) | 0;
  96952. ja = (h + 92) | 0;
  96953. ka = (h + 88) | 0;
  96954. la = (h + 84) | 0;
  96955. ma = (h + 80) | 0;
  96956. na = (h + 76) | 0;
  96957. oa = (h + 72) | 0;
  96958. pa = (h + 68) | 0;
  96959. qa = (h + 64) | 0;
  96960. ra = (h + 60) | 0;
  96961. sa = (h + 56) | 0;
  96962. ta = (h + 52) | 0;
  96963. ua = (h + 48) | 0;
  96964. va = (h + 44) | 0;
  96965. wa = (h + 40) | 0;
  96966. xa = (h + 36) | 0;
  96967. ya = (h + 32) | 0;
  96968. za = (h + 28) | 0;
  96969. Aa = (h + 24) | 0;
  96970. Ba = (h + 20) | 0;
  96971. Ca = (h + 16) | 0;
  96972. Da = (h + 12) | 0;
  96973. Ea = (h + 8) | 0;
  96974. Fa = (h + 4) | 0;
  96975. Ga = h;
  96976. c[Ca >> 2] = a;
  96977. c[Da >> 2] = b;
  96978. c[Ea >> 2] = e;
  96979. c[Fa >> 2] = f;
  96980. c[Ga >> 2] = g;
  96981. switch (c[((c[Da >> 2] | 0) + 16) >> 2] | 0) {
  96982. case 7:
  96983. case 6: {
  96984. g = c[Da >> 2] | 0;
  96985. f = c[Ea >> 2] | 0;
  96986. e = c[Fa >> 2] | 0;
  96987. b = c[Ga >> 2] | 0;
  96988. c[i >> 2] = c[Ca >> 2];
  96989. c[j >> 2] = g;
  96990. c[k >> 2] = f;
  96991. c[m >> 2] = e;
  96992. c[n >> 2] = b;
  96993. c[o >> 2] = 6;
  96994. c[p >> 2] = 1;
  96995. c[q >> 2] = c[((c[i >> 2] | 0) + 44) >> 2];
  96996. c[r >> 2] = 1 << c[((c[j >> 2] | 0) + 4) >> 2];
  96997. c[s >> 2] = (c[r >> 2] | 0) - 1;
  96998. c[t >> 2] = c[((c[i >> 2] | 0) + 4) >> 2];
  96999. c[u >> 2] = c[((c[i >> 2] | 0) + 8) >> 2];
  97000. c[v >> 2] = c[((c[i >> 2] | 0) + 12) >> 2];
  97001. c[w >> 2] = (c[t >> 2] | 0) + (c[v >> 2] | 0);
  97002. c[x >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
  97003. c[y >> 2] = c[((c[i >> 2] | 0) + 16) >> 2];
  97004. c[z >> 2] = (c[k >> 2] | 0) - (c[t >> 2] | 0);
  97005. if ((c[z >> 2] | 0) >>> 0 > (c[r >> 2] | 0) >>> 0)
  97006. Ha = ((c[z >> 2] | 0) - (c[r >> 2] | 0)) | 0;
  97007. else Ha = 0;
  97008. c[A >> 2] = Ha;
  97009. c[B >> 2] = 1 << c[((c[j >> 2] | 0) + 12) >> 2];
  97010. c[C >> 2] = 3;
  97011. c[D >> 2] =
  97012. mk(
  97013. c[i >> 2] | 0,
  97014. c[j >> 2] | 0,
  97015. c[k >> 2] | 0,
  97016. c[o >> 2] | 0
  97017. ) | 0;
  97018. while (1) {
  97019. if (
  97020. !(
  97021. ((c[B >> 2] | 0) >>> 0 > 0
  97022. ? (c[D >> 2] | 0) >>> 0 > (c[y >> 2] | 0) >>> 0
  97023. : 0) | 0
  97024. )
  97025. )
  97026. break;
  97027. c[E >> 2] = 0;
  97028. if (
  97029. c[p >> 2] | 0
  97030. ? (c[D >> 2] | 0) >>> 0 < (c[v >> 2] | 0) >>> 0
  97031. : 0
  97032. ) {
  97033. c[G >> 2] = (c[u >> 2] | 0) + (c[D >> 2] | 0);
  97034. o = Bk(c[G >> 2] | 0) | 0;
  97035. if ((o | 0) == (Bk(c[k >> 2] | 0) | 0))
  97036. c[E >> 2] =
  97037. (Lm(
  97038. ((c[k >> 2] | 0) + 4) | 0,
  97039. ((c[G >> 2] | 0) + 4) | 0,
  97040. c[m >> 2] | 0,
  97041. c[x >> 2] | 0,
  97042. c[w >> 2] | 0
  97043. ) |
  97044. 0) +
  97045. 4;
  97046. } else Ia = 38;
  97047. if (
  97048. (Ia | 0) == 38
  97049. ? ((Ia = 0),
  97050. (c[F >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0)),
  97051. (d[((c[F >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
  97052. 0 |
  97053. 0) ==
  97054. (d[((c[k >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
  97055. 0 |
  97056. 0))
  97057. : 0
  97058. )
  97059. c[E >> 2] =
  97060. Qm(c[k >> 2] | 0, c[F >> 2] | 0, c[m >> 2] | 0) | 0;
  97061. if (
  97062. (c[E >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  97063. ? ((c[C >> 2] = c[E >> 2]),
  97064. (c[c[n >> 2] >> 2] =
  97065. (c[z >> 2] | 0) - (c[D >> 2] | 0) + 2),
  97066. (((c[k >> 2] | 0) + (c[E >> 2] | 0)) | 0) ==
  97067. (c[m >> 2] | 0))
  97068. : 0
  97069. )
  97070. break;
  97071. if ((c[D >> 2] | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0)
  97072. break;
  97073. c[D >> 2] =
  97074. c[
  97075. ((c[q >> 2] | 0) +
  97076. ((c[D >> 2] & c[s >> 2]) << 2)) >>
  97077. 2
  97078. ];
  97079. c[B >> 2] = (c[B >> 2] | 0) + -1;
  97080. }
  97081. c[Ba >> 2] = c[C >> 2];
  97082. Ja = c[Ba >> 2] | 0;
  97083. l = h;
  97084. return Ja | 0;
  97085. }
  97086. case 5: {
  97087. C = c[Da >> 2] | 0;
  97088. B = c[Ea >> 2] | 0;
  97089. s = c[Fa >> 2] | 0;
  97090. D = c[Ga >> 2] | 0;
  97091. c[H >> 2] = c[Ca >> 2];
  97092. c[I >> 2] = C;
  97093. c[J >> 2] = B;
  97094. c[K >> 2] = s;
  97095. c[L >> 2] = D;
  97096. c[M >> 2] = 5;
  97097. c[N >> 2] = 1;
  97098. c[O >> 2] = c[((c[H >> 2] | 0) + 44) >> 2];
  97099. c[P >> 2] = 1 << c[((c[I >> 2] | 0) + 4) >> 2];
  97100. c[Q >> 2] = (c[P >> 2] | 0) - 1;
  97101. c[R >> 2] = c[((c[H >> 2] | 0) + 4) >> 2];
  97102. c[S >> 2] = c[((c[H >> 2] | 0) + 8) >> 2];
  97103. c[T >> 2] = c[((c[H >> 2] | 0) + 12) >> 2];
  97104. c[U >> 2] = (c[R >> 2] | 0) + (c[T >> 2] | 0);
  97105. c[V >> 2] = (c[S >> 2] | 0) + (c[T >> 2] | 0);
  97106. c[W >> 2] = c[((c[H >> 2] | 0) + 16) >> 2];
  97107. c[X >> 2] = (c[J >> 2] | 0) - (c[R >> 2] | 0);
  97108. if ((c[X >> 2] | 0) >>> 0 > (c[P >> 2] | 0) >>> 0)
  97109. Ka = ((c[X >> 2] | 0) - (c[P >> 2] | 0)) | 0;
  97110. else Ka = 0;
  97111. c[Y >> 2] = Ka;
  97112. c[Z >> 2] = 1 << c[((c[I >> 2] | 0) + 12) >> 2];
  97113. c[_ >> 2] = 3;
  97114. c[$ >> 2] =
  97115. mk(
  97116. c[H >> 2] | 0,
  97117. c[I >> 2] | 0,
  97118. c[J >> 2] | 0,
  97119. c[M >> 2] | 0
  97120. ) | 0;
  97121. while (1) {
  97122. if (
  97123. !(
  97124. ((c[Z >> 2] | 0) >>> 0 > 0
  97125. ? (c[$ >> 2] | 0) >>> 0 > (c[W >> 2] | 0) >>> 0
  97126. : 0) | 0
  97127. )
  97128. )
  97129. break;
  97130. c[aa >> 2] = 0;
  97131. if (
  97132. c[N >> 2] | 0
  97133. ? (c[$ >> 2] | 0) >>> 0 < (c[T >> 2] | 0) >>> 0
  97134. : 0
  97135. ) {
  97136. c[ca >> 2] = (c[S >> 2] | 0) + (c[$ >> 2] | 0);
  97137. M = Bk(c[ca >> 2] | 0) | 0;
  97138. if ((M | 0) == (Bk(c[J >> 2] | 0) | 0))
  97139. c[aa >> 2] =
  97140. (Lm(
  97141. ((c[J >> 2] | 0) + 4) | 0,
  97142. ((c[ca >> 2] | 0) + 4) | 0,
  97143. c[K >> 2] | 0,
  97144. c[V >> 2] | 0,
  97145. c[U >> 2] | 0
  97146. ) |
  97147. 0) +
  97148. 4;
  97149. } else Ia = 23;
  97150. if (
  97151. (Ia | 0) == 23
  97152. ? ((Ia = 0),
  97153. (c[ba >> 2] = (c[R >> 2] | 0) + (c[$ >> 2] | 0)),
  97154. (d[((c[ba >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
  97155. 0 |
  97156. 0) ==
  97157. (d[((c[J >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
  97158. 0 |
  97159. 0))
  97160. : 0
  97161. )
  97162. c[aa >> 2] =
  97163. Qm(c[J >> 2] | 0, c[ba >> 2] | 0, c[K >> 2] | 0) |
  97164. 0;
  97165. if (
  97166. (c[aa >> 2] | 0) >>> 0 > (c[_ >> 2] | 0) >>> 0
  97167. ? ((c[_ >> 2] = c[aa >> 2]),
  97168. (c[c[L >> 2] >> 2] =
  97169. (c[X >> 2] | 0) - (c[$ >> 2] | 0) + 2),
  97170. (((c[J >> 2] | 0) + (c[aa >> 2] | 0)) | 0) ==
  97171. (c[K >> 2] | 0))
  97172. : 0
  97173. )
  97174. break;
  97175. if ((c[$ >> 2] | 0) >>> 0 <= (c[Y >> 2] | 0) >>> 0)
  97176. break;
  97177. c[$ >> 2] =
  97178. c[
  97179. ((c[O >> 2] | 0) +
  97180. ((c[$ >> 2] & c[Q >> 2]) << 2)) >>
  97181. 2
  97182. ];
  97183. c[Z >> 2] = (c[Z >> 2] | 0) + -1;
  97184. }
  97185. c[Ba >> 2] = c[_ >> 2];
  97186. Ja = c[Ba >> 2] | 0;
  97187. l = h;
  97188. return Ja | 0;
  97189. }
  97190. default: {
  97191. _ = c[Da >> 2] | 0;
  97192. Da = c[Ea >> 2] | 0;
  97193. Ea = c[Fa >> 2] | 0;
  97194. Fa = c[Ga >> 2] | 0;
  97195. c[da >> 2] = c[Ca >> 2];
  97196. c[ea >> 2] = _;
  97197. c[fa >> 2] = Da;
  97198. c[ga >> 2] = Ea;
  97199. c[ha >> 2] = Fa;
  97200. c[ia >> 2] = 4;
  97201. c[ja >> 2] = 1;
  97202. c[ka >> 2] = c[((c[da >> 2] | 0) + 44) >> 2];
  97203. c[la >> 2] = 1 << c[((c[ea >> 2] | 0) + 4) >> 2];
  97204. c[ma >> 2] = (c[la >> 2] | 0) - 1;
  97205. c[na >> 2] = c[((c[da >> 2] | 0) + 4) >> 2];
  97206. c[oa >> 2] = c[((c[da >> 2] | 0) + 8) >> 2];
  97207. c[pa >> 2] = c[((c[da >> 2] | 0) + 12) >> 2];
  97208. c[qa >> 2] = (c[na >> 2] | 0) + (c[pa >> 2] | 0);
  97209. c[ra >> 2] = (c[oa >> 2] | 0) + (c[pa >> 2] | 0);
  97210. c[sa >> 2] = c[((c[da >> 2] | 0) + 16) >> 2];
  97211. c[ta >> 2] = (c[fa >> 2] | 0) - (c[na >> 2] | 0);
  97212. if ((c[ta >> 2] | 0) >>> 0 > (c[la >> 2] | 0) >>> 0)
  97213. La = ((c[ta >> 2] | 0) - (c[la >> 2] | 0)) | 0;
  97214. else La = 0;
  97215. c[ua >> 2] = La;
  97216. c[va >> 2] = 1 << c[((c[ea >> 2] | 0) + 12) >> 2];
  97217. c[wa >> 2] = 3;
  97218. c[xa >> 2] =
  97219. mk(
  97220. c[da >> 2] | 0,
  97221. c[ea >> 2] | 0,
  97222. c[fa >> 2] | 0,
  97223. c[ia >> 2] | 0
  97224. ) | 0;
  97225. while (1) {
  97226. if (
  97227. !(
  97228. ((c[va >> 2] | 0) >>> 0 > 0
  97229. ? (c[xa >> 2] | 0) >>> 0 > (c[sa >> 2] | 0) >>> 0
  97230. : 0) | 0
  97231. )
  97232. )
  97233. break;
  97234. c[ya >> 2] = 0;
  97235. if (
  97236. c[ja >> 2] | 0
  97237. ? (c[xa >> 2] | 0) >>> 0 < (c[pa >> 2] | 0) >>> 0
  97238. : 0
  97239. ) {
  97240. c[Aa >> 2] = (c[oa >> 2] | 0) + (c[xa >> 2] | 0);
  97241. ia = Bk(c[Aa >> 2] | 0) | 0;
  97242. if ((ia | 0) == (Bk(c[fa >> 2] | 0) | 0))
  97243. c[ya >> 2] =
  97244. (Lm(
  97245. ((c[fa >> 2] | 0) + 4) | 0,
  97246. ((c[Aa >> 2] | 0) + 4) | 0,
  97247. c[ga >> 2] | 0,
  97248. c[ra >> 2] | 0,
  97249. c[qa >> 2] | 0
  97250. ) |
  97251. 0) +
  97252. 4;
  97253. } else Ia = 8;
  97254. if (
  97255. (Ia | 0) == 8
  97256. ? ((Ia = 0),
  97257. (c[za >> 2] =
  97258. (c[na >> 2] | 0) + (c[xa >> 2] | 0)),
  97259. (d[((c[za >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
  97260. 0 |
  97261. 0) ==
  97262. (d[((c[fa >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
  97263. 0 |
  97264. 0))
  97265. : 0
  97266. )
  97267. c[ya >> 2] =
  97268. Qm(c[fa >> 2] | 0, c[za >> 2] | 0, c[ga >> 2] | 0) |
  97269. 0;
  97270. if (
  97271. (c[ya >> 2] | 0) >>> 0 > (c[wa >> 2] | 0) >>> 0
  97272. ? ((c[wa >> 2] = c[ya >> 2]),
  97273. (c[c[ha >> 2] >> 2] =
  97274. (c[ta >> 2] | 0) - (c[xa >> 2] | 0) + 2),
  97275. (((c[fa >> 2] | 0) + (c[ya >> 2] | 0)) | 0) ==
  97276. (c[ga >> 2] | 0))
  97277. : 0
  97278. )
  97279. break;
  97280. if ((c[xa >> 2] | 0) >>> 0 <= (c[ua >> 2] | 0) >>> 0)
  97281. break;
  97282. c[xa >> 2] =
  97283. c[
  97284. ((c[ka >> 2] | 0) +
  97285. ((c[xa >> 2] & c[ma >> 2]) << 2)) >>
  97286. 2
  97287. ];
  97288. c[va >> 2] = (c[va >> 2] | 0) + -1;
  97289. }
  97290. c[Ba >> 2] = c[wa >> 2];
  97291. Ja = c[Ba >> 2] | 0;
  97292. l = h;
  97293. return Ja | 0;
  97294. }
  97295. }
  97296. return 0;
  97297. }
  97298. function Lm(a, b, d, e, f) {
  97299. a = a | 0;
  97300. b = b | 0;
  97301. d = d | 0;
  97302. e = e | 0;
  97303. f = f | 0;
  97304. var g = 0,
  97305. h = 0,
  97306. i = 0,
  97307. j = 0,
  97308. k = 0,
  97309. m = 0,
  97310. n = 0,
  97311. o = 0,
  97312. p = 0,
  97313. q = 0,
  97314. r = 0;
  97315. g = l;
  97316. l = (l + 32) | 0;
  97317. h = (g + 28) | 0;
  97318. i = (g + 24) | 0;
  97319. j = (g + 20) | 0;
  97320. k = (g + 16) | 0;
  97321. m = (g + 12) | 0;
  97322. n = (g + 8) | 0;
  97323. o = (g + 4) | 0;
  97324. p = g;
  97325. c[i >> 2] = a;
  97326. c[j >> 2] = b;
  97327. c[k >> 2] = d;
  97328. c[m >> 2] = e;
  97329. c[n >> 2] = f;
  97330. if (
  97331. (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  97332. 0) >>>
  97333. 0 <
  97334. (c[k >> 2] | 0) >>> 0
  97335. )
  97336. q =
  97337. ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  97338. 0;
  97339. else q = c[k >> 2] | 0;
  97340. c[o >> 2] = q;
  97341. c[p >> 2] =
  97342. Qm(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
  97343. o = c[p >> 2] | 0;
  97344. if (
  97345. (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
  97346. (c[m >> 2] | 0)
  97347. ) {
  97348. c[h >> 2] = o;
  97349. r = c[h >> 2] | 0;
  97350. l = g;
  97351. return r | 0;
  97352. } else {
  97353. c[h >> 2] =
  97354. o +
  97355. (Qm(
  97356. ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  97357. c[n >> 2] | 0,
  97358. c[k >> 2] | 0
  97359. ) |
  97360. 0);
  97361. r = c[h >> 2] | 0;
  97362. l = g;
  97363. return r | 0;
  97364. }
  97365. return 0;
  97366. }
  97367. function Mm(a) {
  97368. a = a | 0;
  97369. var b = 0,
  97370. d = 0;
  97371. b = l;
  97372. l = (l + 16) | 0;
  97373. d = b;
  97374. c[d >> 2] = a;
  97375. a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
  97376. l = b;
  97377. return a | 0;
  97378. }
  97379. function Nm(a, d, e, f, g) {
  97380. a = a | 0;
  97381. d = d | 0;
  97382. e = e | 0;
  97383. f = f | 0;
  97384. g = g | 0;
  97385. var h = 0,
  97386. i = 0,
  97387. j = 0,
  97388. k = 0,
  97389. m = 0,
  97390. n = 0,
  97391. o = 0,
  97392. p = 0,
  97393. q = 0,
  97394. r = 0,
  97395. s = 0,
  97396. t = 0,
  97397. u = 0,
  97398. v = 0,
  97399. w = 0,
  97400. x = 0;
  97401. h = l;
  97402. l = (l + 32) | 0;
  97403. i = (h + 16) | 0;
  97404. j = (h + 12) | 0;
  97405. k = (h + 8) | 0;
  97406. m = (h + 4) | 0;
  97407. n = h;
  97408. c[i >> 2] = a;
  97409. c[j >> 2] = d;
  97410. c[k >> 2] = e;
  97411. c[m >> 2] = f;
  97412. c[n >> 2] = g;
  97413. Om(
  97414. c[((c[i >> 2] | 0) + 12) >> 2] | 0,
  97415. c[k >> 2] | 0,
  97416. c[j >> 2] | 0
  97417. );
  97418. k = ((c[i >> 2] | 0) + 12) | 0;
  97419. c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
  97420. if ((c[j >> 2] | 0) >>> 0 > 65535) {
  97421. c[((c[i >> 2] | 0) + 28) >> 2] = 1;
  97422. c[((c[i >> 2] | 0) + 32) >> 2] =
  97423. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  97424. (c[c[i >> 2] >> 2] | 0)) |
  97425. 0) /
  97426. 8) |
  97427. 0;
  97428. }
  97429. b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
  97430. c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
  97431. if ((c[n >> 2] | 0) >>> 0 <= 65535) {
  97432. o = c[n >> 2] | 0;
  97433. p = o & 65535;
  97434. q = c[i >> 2] | 0;
  97435. r = (q + 4) | 0;
  97436. s = c[r >> 2] | 0;
  97437. t = (s + 6) | 0;
  97438. b[t >> 1] = p;
  97439. u = c[i >> 2] | 0;
  97440. v = (u + 4) | 0;
  97441. w = c[v >> 2] | 0;
  97442. x = (w + 8) | 0;
  97443. c[v >> 2] = x;
  97444. l = h;
  97445. return;
  97446. }
  97447. c[((c[i >> 2] | 0) + 28) >> 2] = 2;
  97448. c[((c[i >> 2] | 0) + 32) >> 2] =
  97449. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  97450. (c[c[i >> 2] >> 2] | 0)) |
  97451. 0) /
  97452. 8) |
  97453. 0;
  97454. o = c[n >> 2] | 0;
  97455. p = o & 65535;
  97456. q = c[i >> 2] | 0;
  97457. r = (q + 4) | 0;
  97458. s = c[r >> 2] | 0;
  97459. t = (s + 6) | 0;
  97460. b[t >> 1] = p;
  97461. u = c[i >> 2] | 0;
  97462. v = (u + 4) | 0;
  97463. w = c[v >> 2] | 0;
  97464. x = (w + 8) | 0;
  97465. c[v >> 2] = x;
  97466. l = h;
  97467. return;
  97468. }
  97469. function Om(a, b, d) {
  97470. a = a | 0;
  97471. b = b | 0;
  97472. d = d | 0;
  97473. var e = 0,
  97474. f = 0,
  97475. g = 0,
  97476. h = 0,
  97477. i = 0,
  97478. j = 0,
  97479. k = 0;
  97480. e = l;
  97481. l = (l + 32) | 0;
  97482. f = (e + 20) | 0;
  97483. g = (e + 16) | 0;
  97484. h = (e + 12) | 0;
  97485. i = (e + 8) | 0;
  97486. j = (e + 4) | 0;
  97487. k = e;
  97488. c[f >> 2] = a;
  97489. c[g >> 2] = b;
  97490. c[h >> 2] = d;
  97491. c[i >> 2] = c[g >> 2];
  97492. c[j >> 2] = c[f >> 2];
  97493. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  97494. do {
  97495. Pm(c[j >> 2] | 0, c[i >> 2] | 0);
  97496. c[j >> 2] = (c[j >> 2] | 0) + 8;
  97497. c[i >> 2] = (c[i >> 2] | 0) + 8;
  97498. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  97499. l = e;
  97500. return;
  97501. }
  97502. function Pm(b, d) {
  97503. b = b | 0;
  97504. d = d | 0;
  97505. var e = 0,
  97506. f = 0,
  97507. g = 0;
  97508. e = l;
  97509. l = (l + 16) | 0;
  97510. f = (e + 4) | 0;
  97511. g = e;
  97512. c[f >> 2] = b;
  97513. c[g >> 2] = d;
  97514. d = c[f >> 2] | 0;
  97515. f = c[g >> 2] | 0;
  97516. a[d >> 0] = a[f >> 0] | 0;
  97517. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  97518. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  97519. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  97520. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  97521. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  97522. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  97523. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  97524. l = e;
  97525. return;
  97526. }
  97527. function Qm(a, b, e) {
  97528. a = a | 0;
  97529. b = b | 0;
  97530. e = e | 0;
  97531. var f = 0,
  97532. g = 0,
  97533. h = 0,
  97534. i = 0,
  97535. j = 0,
  97536. k = 0,
  97537. m = 0,
  97538. n = 0,
  97539. o = 0,
  97540. p = 0;
  97541. f = l;
  97542. l = (l + 32) | 0;
  97543. g = (f + 28) | 0;
  97544. h = (f + 24) | 0;
  97545. i = (f + 20) | 0;
  97546. j = (f + 16) | 0;
  97547. k = (f + 12) | 0;
  97548. m = (f + 8) | 0;
  97549. n = (f + 4) | 0;
  97550. o = f;
  97551. c[h >> 2] = a;
  97552. c[i >> 2] = b;
  97553. c[j >> 2] = e;
  97554. c[k >> 2] = c[h >> 2];
  97555. c[m >> 2] = (c[j >> 2] | 0) + -3;
  97556. a: do {
  97557. if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
  97558. e = Rm(c[i >> 2] | 0) | 0;
  97559. c[n >> 2] = e ^ (Rm(c[h >> 2] | 0) | 0);
  97560. if (c[n >> 2] | 0) {
  97561. c[g >> 2] = Sm(c[n >> 2] | 0) | 0;
  97562. p = c[g >> 2] | 0;
  97563. l = f;
  97564. return p | 0;
  97565. }
  97566. c[h >> 2] = (c[h >> 2] | 0) + 4;
  97567. c[i >> 2] = (c[i >> 2] | 0) + 4;
  97568. while (1) {
  97569. if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
  97570. break a;
  97571. e = Rm(c[i >> 2] | 0) | 0;
  97572. c[o >> 2] = e ^ (Rm(c[h >> 2] | 0) | 0);
  97573. if (c[o >> 2] | 0) break;
  97574. c[h >> 2] = (c[h >> 2] | 0) + 4;
  97575. c[i >> 2] = (c[i >> 2] | 0) + 4;
  97576. }
  97577. e = Sm(c[o >> 2] | 0) | 0;
  97578. c[h >> 2] = (c[h >> 2] | 0) + e;
  97579. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  97580. p = c[g >> 2] | 0;
  97581. l = f;
  97582. return p | 0;
  97583. }
  97584. } while (0);
  97585. if (
  97586. (
  97587. Tm() | 0
  97588. ? (c[h >> 2] | 0) >>> 0 <
  97589. (((c[j >> 2] | 0) + -3) | 0) >>> 0
  97590. : 0
  97591. )
  97592. ? ((o = Bk(c[i >> 2] | 0) | 0),
  97593. (o | 0) == (Bk(c[h >> 2] | 0) | 0))
  97594. : 0
  97595. ) {
  97596. c[h >> 2] = (c[h >> 2] | 0) + 4;
  97597. c[i >> 2] = (c[i >> 2] | 0) + 4;
  97598. }
  97599. if (
  97600. (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
  97601. ? ((o = (Um(c[i >> 2] | 0) | 0) & 65535),
  97602. (o | 0) == (((Um(c[h >> 2] | 0) | 0) & 65535) | 0))
  97603. : 0
  97604. ) {
  97605. c[h >> 2] = (c[h >> 2] | 0) + 2;
  97606. c[i >> 2] = (c[i >> 2] | 0) + 2;
  97607. }
  97608. if (
  97609. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  97610. ? (d[c[i >> 2] >> 0] | 0 | 0) ==
  97611. (d[c[h >> 2] >> 0] | 0 | 0)
  97612. : 0
  97613. )
  97614. c[h >> 2] = (c[h >> 2] | 0) + 1;
  97615. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  97616. p = c[g >> 2] | 0;
  97617. l = f;
  97618. return p | 0;
  97619. }
  97620. function Rm(a) {
  97621. a = a | 0;
  97622. var b = 0,
  97623. e = 0;
  97624. b = l;
  97625. l = (l + 16) | 0;
  97626. e = b;
  97627. c[e >> 2] = a;
  97628. a = c[e >> 2] | 0;
  97629. l = b;
  97630. return (
  97631. d[a >> 0] |
  97632. (d[(a + 1) >> 0] << 8) |
  97633. (d[(a + 2) >> 0] << 16) |
  97634. (d[(a + 3) >> 0] << 24) |
  97635. 0
  97636. );
  97637. }
  97638. function Sm(a) {
  97639. a = a | 0;
  97640. var b = 0,
  97641. d = 0,
  97642. e = 0,
  97643. f = 0,
  97644. g = 0;
  97645. b = l;
  97646. l = (l + 16) | 0;
  97647. d = (b + 4) | 0;
  97648. e = b;
  97649. c[e >> 2] = a;
  97650. a = (vk() | 0) != 0;
  97651. f = (Tm() | 0) != 0;
  97652. g = c[e >> 2] | 0;
  97653. do {
  97654. if (a) {
  97655. if (f) {
  97656. e = ob(g | 0, 0, 0) | 0;
  97657. c[d >> 2] = e >> 3;
  97658. break;
  97659. } else {
  97660. c[d >> 2] = (fE(g | 0) | 0) >> 3;
  97661. break;
  97662. }
  97663. } else if (f) {
  97664. e = lE(g | 0, 0, 0) | 0;
  97665. c[d >> 2] = e >> 3;
  97666. break;
  97667. } else {
  97668. c[d >> 2] = (Q(g | 0) | 0) >> 3;
  97669. break;
  97670. }
  97671. } while (0);
  97672. l = b;
  97673. return c[d >> 2] | 0;
  97674. }
  97675. function Tm() {
  97676. return 0;
  97677. }
  97678. function Um(a) {
  97679. a = a | 0;
  97680. var b = 0,
  97681. e = 0;
  97682. b = l;
  97683. l = (l + 16) | 0;
  97684. e = b;
  97685. c[e >> 2] = a;
  97686. a = c[e >> 2] | 0;
  97687. l = b;
  97688. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  97689. }
  97690. function Vm(a, b, d, e, f, g) {
  97691. a = a | 0;
  97692. b = b | 0;
  97693. d = d | 0;
  97694. e = e | 0;
  97695. f = f | 0;
  97696. g = g | 0;
  97697. var h = 0,
  97698. i = 0,
  97699. j = 0,
  97700. k = 0,
  97701. m = 0,
  97702. n = 0,
  97703. o = 0,
  97704. p = 0,
  97705. q = 0;
  97706. h = l;
  97707. l = (l + 32) | 0;
  97708. i = (h + 24) | 0;
  97709. j = (h + 20) | 0;
  97710. k = (h + 16) | 0;
  97711. m = (h + 12) | 0;
  97712. n = (h + 8) | 0;
  97713. o = (h + 4) | 0;
  97714. p = h;
  97715. c[j >> 2] = a;
  97716. c[k >> 2] = b;
  97717. c[m >> 2] = d;
  97718. c[n >> 2] = e;
  97719. c[o >> 2] = f;
  97720. c[p >> 2] = g;
  97721. if (
  97722. (c[m >> 2] | 0) >>> 0 <
  97723. (((c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
  97724. (c[((c[j >> 2] | 0) + 24) >> 2] | 0)) |
  97725. 0) >>>
  97726. 0
  97727. ) {
  97728. c[i >> 2] = 0;
  97729. q = c[i >> 2] | 0;
  97730. l = h;
  97731. return q | 0;
  97732. } else {
  97733. Wm(
  97734. c[j >> 2] | 0,
  97735. c[k >> 2] | 0,
  97736. c[m >> 2] | 0,
  97737. c[n >> 2] | 0,
  97738. c[p >> 2] | 0
  97739. );
  97740. c[i >> 2] =
  97741. Xm(
  97742. c[j >> 2] | 0,
  97743. c[k >> 2] | 0,
  97744. c[m >> 2] | 0,
  97745. c[n >> 2] | 0,
  97746. c[o >> 2] | 0,
  97747. c[p >> 2] | 0,
  97748. 1
  97749. ) | 0;
  97750. q = c[i >> 2] | 0;
  97751. l = h;
  97752. return q | 0;
  97753. }
  97754. return 0;
  97755. }
  97756. function Wm(a, b, d, e, f) {
  97757. a = a | 0;
  97758. b = b | 0;
  97759. d = d | 0;
  97760. e = e | 0;
  97761. f = f | 0;
  97762. var g = 0,
  97763. h = 0,
  97764. i = 0,
  97765. j = 0,
  97766. k = 0,
  97767. m = 0,
  97768. n = 0,
  97769. o = 0,
  97770. p = 0,
  97771. q = 0,
  97772. r = 0,
  97773. s = 0,
  97774. t = 0,
  97775. u = 0,
  97776. v = 0,
  97777. w = 0,
  97778. x = 0;
  97779. g = l;
  97780. l = (l + 80) | 0;
  97781. h = (g + 64) | 0;
  97782. i = (g + 60) | 0;
  97783. j = (g + 56) | 0;
  97784. k = (g + 48) | 0;
  97785. m = (g + 44) | 0;
  97786. n = (g + 40) | 0;
  97787. o = (g + 36) | 0;
  97788. p = (g + 32) | 0;
  97789. q = (g + 28) | 0;
  97790. r = (g + 24) | 0;
  97791. s = (g + 20) | 0;
  97792. t = (g + 16) | 0;
  97793. u = (g + 12) | 0;
  97794. v = (g + 8) | 0;
  97795. w = (g + 4) | 0;
  97796. x = g;
  97797. c[h >> 2] = a;
  97798. c[i >> 2] = b;
  97799. c[j >> 2] = d;
  97800. c[(g + 52) >> 2] = e;
  97801. c[k >> 2] = f;
  97802. c[m >> 2] = c[((c[h >> 2] | 0) + 36) >> 2];
  97803. c[n >> 2] = c[((c[i >> 2] | 0) + 8) >> 2];
  97804. c[o >> 2] = c[((c[h >> 2] | 0) + 44) >> 2];
  97805. c[p >> 2] = (c[((c[i >> 2] | 0) + 4) >> 2] | 0) - 1;
  97806. c[q >> 2] = (1 << c[p >> 2]) - 1;
  97807. c[r >> 2] = c[((c[h >> 2] | 0) + 4) >> 2];
  97808. c[s >> 2] = (c[j >> 2] | 0) - (c[r >> 2] | 0);
  97809. c[t >> 2] = c[((c[h >> 2] | 0) + 24) >> 2];
  97810. while (1) {
  97811. if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
  97812. c[u >> 2] =
  97813. nk(
  97814. ((c[r >> 2] | 0) + (c[t >> 2] | 0)) | 0,
  97815. c[n >> 2] | 0,
  97816. c[k >> 2] | 0
  97817. ) | 0;
  97818. c[v >> 2] = c[((c[m >> 2] | 0) + (c[u >> 2] << 2)) >> 2];
  97819. c[w >> 2] =
  97820. (c[o >> 2] | 0) + (((c[t >> 2] & c[q >> 2]) << 1) << 2);
  97821. c[x >> 2] = (c[w >> 2] | 0) + 4;
  97822. c[((c[m >> 2] | 0) + (c[u >> 2] << 2)) >> 2] = c[t >> 2];
  97823. c[c[w >> 2] >> 2] = c[v >> 2];
  97824. c[c[x >> 2] >> 2] = 1;
  97825. c[t >> 2] = (c[t >> 2] | 0) + 1;
  97826. }
  97827. c[((c[h >> 2] | 0) + 24) >> 2] = c[s >> 2];
  97828. l = g;
  97829. return;
  97830. }
  97831. function Xm(a, b, e, f, g, h, i) {
  97832. a = a | 0;
  97833. b = b | 0;
  97834. e = e | 0;
  97835. f = f | 0;
  97836. g = g | 0;
  97837. h = h | 0;
  97838. i = i | 0;
  97839. var j = 0,
  97840. k = 0,
  97841. m = 0,
  97842. n = 0,
  97843. o = 0,
  97844. p = 0,
  97845. q = 0,
  97846. r = 0,
  97847. s = 0,
  97848. t = 0,
  97849. u = 0,
  97850. v = 0,
  97851. w = 0,
  97852. x = 0,
  97853. y = 0,
  97854. z = 0,
  97855. A = 0,
  97856. B = 0,
  97857. C = 0,
  97858. D = 0,
  97859. E = 0,
  97860. F = 0,
  97861. G = 0,
  97862. H = 0,
  97863. I = 0,
  97864. J = 0,
  97865. K = 0,
  97866. L = 0,
  97867. M = 0,
  97868. N = 0,
  97869. O = 0,
  97870. P = 0,
  97871. Q = 0,
  97872. R = 0,
  97873. S = 0,
  97874. T = 0,
  97875. U = 0,
  97876. V = 0,
  97877. W = 0,
  97878. X = 0,
  97879. Y = 0,
  97880. Z = 0,
  97881. _ = 0,
  97882. $ = 0,
  97883. aa = 0;
  97884. j = l;
  97885. l = (l + 176) | 0;
  97886. k = (j + 160) | 0;
  97887. m = (j + 156) | 0;
  97888. n = (j + 152) | 0;
  97889. o = (j + 148) | 0;
  97890. p = (j + 144) | 0;
  97891. q = (j + 140) | 0;
  97892. r = (j + 136) | 0;
  97893. s = (j + 132) | 0;
  97894. t = (j + 128) | 0;
  97895. u = (j + 124) | 0;
  97896. v = (j + 120) | 0;
  97897. w = (j + 116) | 0;
  97898. x = (j + 112) | 0;
  97899. y = (j + 108) | 0;
  97900. z = (j + 104) | 0;
  97901. A = (j + 100) | 0;
  97902. B = (j + 96) | 0;
  97903. C = (j + 92) | 0;
  97904. D = (j + 88) | 0;
  97905. E = (j + 84) | 0;
  97906. F = (j + 80) | 0;
  97907. G = (j + 76) | 0;
  97908. H = (j + 72) | 0;
  97909. I = (j + 68) | 0;
  97910. J = (j + 64) | 0;
  97911. K = (j + 60) | 0;
  97912. L = (j + 56) | 0;
  97913. M = (j + 52) | 0;
  97914. N = (j + 48) | 0;
  97915. O = (j + 44) | 0;
  97916. P = (j + 40) | 0;
  97917. Q = (j + 36) | 0;
  97918. R = (j + 32) | 0;
  97919. S = (j + 28) | 0;
  97920. T = (j + 24) | 0;
  97921. U = (j + 20) | 0;
  97922. V = (j + 16) | 0;
  97923. W = (j + 12) | 0;
  97924. X = (j + 8) | 0;
  97925. Y = (j + 4) | 0;
  97926. Z = j;
  97927. c[k >> 2] = a;
  97928. c[m >> 2] = b;
  97929. c[n >> 2] = e;
  97930. c[o >> 2] = f;
  97931. c[p >> 2] = g;
  97932. c[q >> 2] = h;
  97933. c[r >> 2] = i;
  97934. c[s >> 2] = c[((c[k >> 2] | 0) + 36) >> 2];
  97935. c[t >> 2] = c[((c[m >> 2] | 0) + 8) >> 2];
  97936. c[u >> 2] =
  97937. nk(c[n >> 2] | 0, c[t >> 2] | 0, c[q >> 2] | 0) | 0;
  97938. c[v >> 2] = c[((c[s >> 2] | 0) + (c[u >> 2] << 2)) >> 2];
  97939. c[w >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
  97940. c[x >> 2] = (c[n >> 2] | 0) - (c[w >> 2] | 0);
  97941. c[y >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
  97942. c[z >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
  97943. c[A >> 2] = (c[((c[m >> 2] | 0) + 4) >> 2] | 0) - 1;
  97944. c[B >> 2] = (1 << c[A >> 2]) - 1;
  97945. if ((c[B >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) _ = 0;
  97946. else _ = ((c[x >> 2] | 0) - (c[B >> 2] | 0)) | 0;
  97947. c[C >> 2] = _;
  97948. c[D >> 2] =
  97949. (c[C >> 2] | 0) >>> 0 > (c[y >> 2] | 0) >>> 0
  97950. ? c[C >> 2] | 0
  97951. : c[y >> 2] | 0;
  97952. c[E >> 2] =
  97953. (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2);
  97954. c[F >> 2] =
  97955. (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2) + 4;
  97956. c[G >> 2] = 1 << c[((c[m >> 2] | 0) + 12) >> 2];
  97957. c[H >> 2] = c[G >> 2];
  97958. c[I >> 2] = 0;
  97959. while (1) {
  97960. if ((c[v >> 2] | 0) >>> 0 <= (c[D >> 2] | 0) >>> 0) break;
  97961. if (
  97962. !((c[H >> 2] | 0) >>> 0 > 1
  97963. ? (c[c[F >> 2] >> 2] | 0) == 1
  97964. : 0)
  97965. )
  97966. break;
  97967. c[c[F >> 2] >> 2] = c[I >> 2];
  97968. c[I >> 2] = c[v >> 2];
  97969. c[v >> 2] = c[c[E >> 2] >> 2];
  97970. c[E >> 2] =
  97971. (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2);
  97972. c[F >> 2] =
  97973. (c[z >> 2] | 0) +
  97974. (((c[v >> 2] & c[B >> 2]) << 1) << 2) +
  97975. 4;
  97976. c[H >> 2] = (c[H >> 2] | 0) + -1;
  97977. }
  97978. if (
  97979. (c[v >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0
  97980. ? (c[c[F >> 2] >> 2] | 0) == 1
  97981. : 0
  97982. ) {
  97983. c[c[F >> 2] >> 2] = 0;
  97984. c[c[E >> 2] >> 2] = 0;
  97985. }
  97986. c[v >> 2] = c[I >> 2];
  97987. while (1) {
  97988. if (!(c[v >> 2] | 0)) break;
  97989. c[J >> 2] =
  97990. (c[z >> 2] | 0) +
  97991. (((c[v >> 2] & c[B >> 2]) << 1) << 2) +
  97992. 4;
  97993. c[K >> 2] = c[c[J >> 2] >> 2];
  97994. Ym(
  97995. c[k >> 2] | 0,
  97996. c[m >> 2] | 0,
  97997. c[v >> 2] | 0,
  97998. c[o >> 2] | 0,
  97999. c[H >> 2] | 0,
  98000. c[D >> 2] | 0,
  98001. c[r >> 2] | 0
  98002. );
  98003. c[v >> 2] = c[K >> 2];
  98004. c[H >> 2] = (c[H >> 2] | 0) + 1;
  98005. }
  98006. c[L >> 2] = 0;
  98007. c[M >> 2] = 0;
  98008. c[N >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
  98009. c[O >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
  98010. c[P >> 2] = (c[N >> 2] | 0) + (c[O >> 2] | 0);
  98011. c[Q >> 2] = (c[w >> 2] | 0) + (c[O >> 2] | 0);
  98012. c[R >> 2] =
  98013. (c[z >> 2] | 0) + (((c[x >> 2] & c[B >> 2]) << 1) << 2);
  98014. c[S >> 2] =
  98015. (c[z >> 2] | 0) + (((c[x >> 2] & c[B >> 2]) << 1) << 2) + 4;
  98016. c[T >> 2] = (c[x >> 2] | 0) + 8 + 1;
  98017. c[V >> 2] = 0;
  98018. c[v >> 2] = c[((c[s >> 2] | 0) + (c[u >> 2] << 2)) >> 2];
  98019. c[((c[s >> 2] | 0) + (c[u >> 2] << 2)) >> 2] = c[x >> 2];
  98020. while (1) {
  98021. u = c[G >> 2] | 0;
  98022. c[G >> 2] = u + -1;
  98023. if (!u) break;
  98024. if ((c[v >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0) break;
  98025. c[W >> 2] =
  98026. (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2);
  98027. c[X >> 2] =
  98028. (c[L >> 2] | 0) >>> 0 < (c[M >> 2] | 0) >>> 0
  98029. ? c[L >> 2] | 0
  98030. : c[M >> 2] | 0;
  98031. if (
  98032. c[r >> 2] | 0
  98033. ? (((c[v >> 2] | 0) + (c[X >> 2] | 0)) | 0) >>> 0 <
  98034. (c[O >> 2] | 0) >>> 0
  98035. : 0
  98036. ) {
  98037. c[Y >> 2] = (c[N >> 2] | 0) + (c[v >> 2] | 0);
  98038. u =
  98039. Lm(
  98040. ((c[n >> 2] | 0) + (c[X >> 2] | 0)) | 0,
  98041. ((c[Y >> 2] | 0) + (c[X >> 2] | 0)) | 0,
  98042. c[o >> 2] | 0,
  98043. c[P >> 2] | 0,
  98044. c[Q >> 2] | 0
  98045. ) | 0;
  98046. c[X >> 2] = (c[X >> 2] | 0) + u;
  98047. if (
  98048. (((c[v >> 2] | 0) + (c[X >> 2] | 0)) | 0) >>> 0 >=
  98049. (c[O >> 2] | 0) >>> 0
  98050. )
  98051. c[Y >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  98052. } else {
  98053. c[Y >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
  98054. u =
  98055. Qm(
  98056. ((c[n >> 2] | 0) + (c[X >> 2] | 0)) | 0,
  98057. ((c[Y >> 2] | 0) + (c[X >> 2] | 0)) | 0,
  98058. c[o >> 2] | 0
  98059. ) | 0;
  98060. c[X >> 2] = (c[X >> 2] | 0) + u;
  98061. }
  98062. if ((c[X >> 2] | 0) >>> 0 > (c[V >> 2] | 0) >>> 0) {
  98063. if (
  98064. (c[X >> 2] | 0) >>> 0 >
  98065. (((c[T >> 2] | 0) - (c[v >> 2] | 0)) | 0) >>> 0
  98066. )
  98067. c[T >> 2] = (c[v >> 2] | 0) + (c[X >> 2] | 0);
  98068. u = ((c[X >> 2] | 0) - (c[V >> 2] | 0)) << 2;
  98069. s = Mm(((c[x >> 2] | 0) - (c[v >> 2] | 0) + 1) | 0) | 0;
  98070. if (
  98071. (u | 0) >
  98072. ((s - (Mm(((c[c[p >> 2] >> 2] | 0) + 1) | 0) | 0)) | 0)
  98073. ) {
  98074. c[V >> 2] = c[X >> 2];
  98075. c[c[p >> 2] >> 2] =
  98076. 2 + (c[x >> 2] | 0) - (c[v >> 2] | 0);
  98077. }
  98078. if (
  98079. (((c[n >> 2] | 0) + (c[X >> 2] | 0)) | 0) ==
  98080. (c[o >> 2] | 0)
  98081. )
  98082. break;
  98083. }
  98084. s = c[v >> 2] | 0;
  98085. if (
  98086. (d[((c[Y >> 2] | 0) + (c[X >> 2] | 0)) >> 0] | 0 | 0) <
  98087. (d[((c[n >> 2] | 0) + (c[X >> 2] | 0)) >> 0] | 0 | 0)
  98088. ) {
  98089. c[c[R >> 2] >> 2] = s;
  98090. c[L >> 2] = c[X >> 2];
  98091. if ((c[v >> 2] | 0) >>> 0 <= (c[C >> 2] | 0) >>> 0) {
  98092. $ = 29;
  98093. break;
  98094. }
  98095. c[R >> 2] = (c[W >> 2] | 0) + 4;
  98096. c[v >> 2] = c[((c[W >> 2] | 0) + 4) >> 2];
  98097. } else {
  98098. c[c[S >> 2] >> 2] = s;
  98099. c[M >> 2] = c[X >> 2];
  98100. if ((c[v >> 2] | 0) >>> 0 <= (c[C >> 2] | 0) >>> 0) {
  98101. $ = 32;
  98102. break;
  98103. }
  98104. c[S >> 2] = c[W >> 2];
  98105. c[v >> 2] = c[c[W >> 2] >> 2];
  98106. }
  98107. }
  98108. if (($ | 0) == 29) c[R >> 2] = U;
  98109. else if (($ | 0) == 32) c[S >> 2] = U;
  98110. c[c[S >> 2] >> 2] = 0;
  98111. c[c[R >> 2] >> 2] = 0;
  98112. c[((c[k >> 2] | 0) + 24) >> 2] = (c[T >> 2] | 0) - 8;
  98113. if ((c[V >> 2] | 0) >>> 0 < 3) {
  98114. aa = c[V >> 2] | 0;
  98115. l = j;
  98116. return aa | 0;
  98117. }
  98118. c[Z >> 2] = (c[x >> 2] | 0) - ((c[c[p >> 2] >> 2] | 0) - 2);
  98119. aa = c[V >> 2] | 0;
  98120. l = j;
  98121. return aa | 0;
  98122. }
  98123. function Ym(a, b, e, f, g, h, i) {
  98124. a = a | 0;
  98125. b = b | 0;
  98126. e = e | 0;
  98127. f = f | 0;
  98128. g = g | 0;
  98129. h = h | 0;
  98130. i = i | 0;
  98131. var j = 0,
  98132. k = 0,
  98133. m = 0,
  98134. n = 0,
  98135. o = 0,
  98136. p = 0,
  98137. q = 0,
  98138. r = 0,
  98139. s = 0,
  98140. t = 0,
  98141. u = 0,
  98142. v = 0,
  98143. w = 0,
  98144. x = 0,
  98145. y = 0,
  98146. z = 0,
  98147. A = 0,
  98148. B = 0,
  98149. C = 0,
  98150. D = 0,
  98151. E = 0,
  98152. F = 0,
  98153. G = 0,
  98154. H = 0,
  98155. I = 0,
  98156. J = 0,
  98157. K = 0,
  98158. L = 0,
  98159. M = 0,
  98160. N = 0,
  98161. O = 0,
  98162. P = 0,
  98163. Q = 0;
  98164. j = l;
  98165. l = (l + 112) | 0;
  98166. k = (j + 108) | 0;
  98167. m = (j + 104) | 0;
  98168. n = (j + 100) | 0;
  98169. o = (j + 96) | 0;
  98170. p = (j + 92) | 0;
  98171. q = (j + 88) | 0;
  98172. r = (j + 84) | 0;
  98173. s = (j + 80) | 0;
  98174. t = (j + 76) | 0;
  98175. u = (j + 72) | 0;
  98176. v = (j + 68) | 0;
  98177. w = (j + 64) | 0;
  98178. x = (j + 60) | 0;
  98179. y = (j + 56) | 0;
  98180. z = (j + 52) | 0;
  98181. A = (j + 48) | 0;
  98182. B = (j + 44) | 0;
  98183. C = (j + 40) | 0;
  98184. D = (j + 36) | 0;
  98185. E = (j + 32) | 0;
  98186. F = (j + 28) | 0;
  98187. G = (j + 24) | 0;
  98188. H = (j + 20) | 0;
  98189. I = (j + 16) | 0;
  98190. J = (j + 12) | 0;
  98191. K = (j + 8) | 0;
  98192. L = (j + 4) | 0;
  98193. M = j;
  98194. c[k >> 2] = a;
  98195. c[m >> 2] = b;
  98196. c[n >> 2] = e;
  98197. c[o >> 2] = f;
  98198. c[p >> 2] = g;
  98199. c[q >> 2] = h;
  98200. c[r >> 2] = i;
  98201. c[s >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
  98202. c[t >> 2] = (c[((c[m >> 2] | 0) + 4) >> 2] | 0) - 1;
  98203. c[u >> 2] = (1 << c[t >> 2]) - 1;
  98204. c[v >> 2] = 0;
  98205. c[w >> 2] = 0;
  98206. c[x >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
  98207. c[y >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
  98208. c[z >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
  98209. c[A >> 2] =
  98210. (c[n >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0
  98211. ? ((c[x >> 2] | 0) + (c[n >> 2] | 0)) | 0
  98212. : ((c[y >> 2] | 0) + (c[n >> 2] | 0)) | 0;
  98213. c[B >> 2] =
  98214. (c[n >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0
  98215. ? c[o >> 2] | 0
  98216. : ((c[y >> 2] | 0) + (c[z >> 2] | 0)) | 0;
  98217. c[C >> 2] = (c[y >> 2] | 0) + (c[z >> 2] | 0);
  98218. c[D >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
  98219. c[F >> 2] =
  98220. (c[s >> 2] | 0) + (((c[n >> 2] & c[u >> 2]) << 1) << 2);
  98221. c[G >> 2] = (c[F >> 2] | 0) + 4;
  98222. c[H >> 2] = c[c[F >> 2] >> 2];
  98223. c[J >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
  98224. while (1) {
  98225. k = c[p >> 2] | 0;
  98226. c[p >> 2] = k + -1;
  98227. if (!k) {
  98228. N = 23;
  98229. break;
  98230. }
  98231. if ((c[H >> 2] | 0) >>> 0 <= (c[J >> 2] | 0) >>> 0) {
  98232. N = 23;
  98233. break;
  98234. }
  98235. c[K >> 2] =
  98236. (c[s >> 2] | 0) + (((c[H >> 2] & c[u >> 2]) << 1) << 2);
  98237. c[L >> 2] =
  98238. (c[v >> 2] | 0) >>> 0 < (c[w >> 2] | 0) >>> 0
  98239. ? c[v >> 2] | 0
  98240. : c[w >> 2] | 0;
  98241. if (
  98242. (
  98243. c[r >> 2] | 0
  98244. ? (((c[H >> 2] | 0) + (c[L >> 2] | 0)) | 0) >>> 0 <
  98245. (c[z >> 2] | 0) >>> 0
  98246. : 0
  98247. )
  98248. ? (c[n >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0
  98249. : 0
  98250. ) {
  98251. c[E >> 2] = (c[y >> 2] | 0) + (c[H >> 2] | 0);
  98252. k =
  98253. Lm(
  98254. ((c[A >> 2] | 0) + (c[L >> 2] | 0)) | 0,
  98255. ((c[E >> 2] | 0) + (c[L >> 2] | 0)) | 0,
  98256. c[B >> 2] | 0,
  98257. c[C >> 2] | 0,
  98258. c[D >> 2] | 0
  98259. ) | 0;
  98260. c[L >> 2] = (c[L >> 2] | 0) + k;
  98261. if (
  98262. (((c[H >> 2] | 0) + (c[L >> 2] | 0)) | 0) >>> 0 >=
  98263. (c[z >> 2] | 0) >>> 0
  98264. )
  98265. c[E >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
  98266. } else {
  98267. if (
  98268. c[r >> 2] | 0
  98269. ? (((c[H >> 2] | 0) + (c[L >> 2] | 0)) | 0) >>> 0 <
  98270. (c[z >> 2] | 0) >>> 0
  98271. : 0
  98272. )
  98273. O = c[y >> 2] | 0;
  98274. else O = c[x >> 2] | 0;
  98275. c[M >> 2] = O;
  98276. c[E >> 2] = (c[M >> 2] | 0) + (c[H >> 2] | 0);
  98277. k =
  98278. Qm(
  98279. ((c[A >> 2] | 0) + (c[L >> 2] | 0)) | 0,
  98280. ((c[E >> 2] | 0) + (c[L >> 2] | 0)) | 0,
  98281. c[B >> 2] | 0
  98282. ) | 0;
  98283. c[L >> 2] = (c[L >> 2] | 0) + k;
  98284. }
  98285. if (
  98286. (((c[A >> 2] | 0) + (c[L >> 2] | 0)) | 0) ==
  98287. (c[B >> 2] | 0)
  98288. ) {
  98289. N = 23;
  98290. break;
  98291. }
  98292. k = c[H >> 2] | 0;
  98293. if (
  98294. (d[((c[E >> 2] | 0) + (c[L >> 2] | 0)) >> 0] | 0 | 0) <
  98295. (d[((c[A >> 2] | 0) + (c[L >> 2] | 0)) >> 0] | 0 | 0)
  98296. ) {
  98297. c[c[F >> 2] >> 2] = k;
  98298. c[v >> 2] = c[L >> 2];
  98299. if ((c[H >> 2] | 0) >>> 0 <= (c[q >> 2] | 0) >>> 0) {
  98300. N = 17;
  98301. break;
  98302. }
  98303. c[F >> 2] = (c[K >> 2] | 0) + 4;
  98304. c[H >> 2] = c[((c[K >> 2] | 0) + 4) >> 2];
  98305. } else {
  98306. c[c[G >> 2] >> 2] = k;
  98307. c[w >> 2] = c[L >> 2];
  98308. if ((c[H >> 2] | 0) >>> 0 <= (c[q >> 2] | 0) >>> 0) {
  98309. N = 20;
  98310. break;
  98311. }
  98312. c[G >> 2] = c[K >> 2];
  98313. c[H >> 2] = c[c[K >> 2] >> 2];
  98314. }
  98315. }
  98316. if ((N | 0) == 17) {
  98317. c[F >> 2] = I;
  98318. P = c[G >> 2] | 0;
  98319. c[P >> 2] = 0;
  98320. Q = c[F >> 2] | 0;
  98321. c[Q >> 2] = 0;
  98322. l = j;
  98323. return;
  98324. } else if ((N | 0) == 20) {
  98325. c[G >> 2] = I;
  98326. P = c[G >> 2] | 0;
  98327. c[P >> 2] = 0;
  98328. Q = c[F >> 2] | 0;
  98329. c[Q >> 2] = 0;
  98330. l = j;
  98331. return;
  98332. } else if ((N | 0) == 23) {
  98333. P = c[G >> 2] | 0;
  98334. c[P >> 2] = 0;
  98335. Q = c[F >> 2] | 0;
  98336. c[Q >> 2] = 0;
  98337. l = j;
  98338. return;
  98339. }
  98340. }
  98341. function Zm(a, b, e, f, g, h, i) {
  98342. a = a | 0;
  98343. b = b | 0;
  98344. e = e | 0;
  98345. f = f | 0;
  98346. g = g | 0;
  98347. h = h | 0;
  98348. i = i | 0;
  98349. var j = 0,
  98350. k = 0,
  98351. m = 0,
  98352. n = 0,
  98353. o = 0,
  98354. p = 0,
  98355. q = 0,
  98356. r = 0,
  98357. s = 0,
  98358. t = 0,
  98359. u = 0,
  98360. v = 0,
  98361. w = 0,
  98362. x = 0,
  98363. z = 0,
  98364. A = 0,
  98365. B = 0,
  98366. C = 0,
  98367. D = 0,
  98368. E = 0,
  98369. F = 0,
  98370. G = 0,
  98371. H = 0,
  98372. I = 0,
  98373. J = 0,
  98374. K = 0,
  98375. L = 0,
  98376. M = 0,
  98377. N = 0,
  98378. O = 0,
  98379. P = 0,
  98380. Q = 0,
  98381. R = 0,
  98382. S = 0,
  98383. T = 0,
  98384. U = 0,
  98385. V = 0,
  98386. W = 0,
  98387. X = 0,
  98388. Y = 0,
  98389. Z = 0,
  98390. _ = 0,
  98391. $ = 0,
  98392. aa = 0,
  98393. ba = 0,
  98394. ca = 0,
  98395. da = 0,
  98396. ea = 0,
  98397. fa = 0,
  98398. ga = 0,
  98399. ha = 0,
  98400. ia = 0,
  98401. ja = 0,
  98402. ka = 0,
  98403. la = 0,
  98404. ma = 0,
  98405. na = 0,
  98406. oa = 0,
  98407. pa = 0;
  98408. j = l;
  98409. l = (l + 240) | 0;
  98410. k = (j + 224) | 0;
  98411. m = (j + 220) | 0;
  98412. n = (j + 216) | 0;
  98413. o = (j + 212) | 0;
  98414. p = (j + 208) | 0;
  98415. q = (j + 204) | 0;
  98416. r = (j + 200) | 0;
  98417. s = (j + 196) | 0;
  98418. t = (j + 192) | 0;
  98419. u = (j + 188) | 0;
  98420. v = (j + 184) | 0;
  98421. w = (j + 180) | 0;
  98422. x = (j + 176) | 0;
  98423. z = (j + 172) | 0;
  98424. A = (j + 168) | 0;
  98425. B = (j + 164) | 0;
  98426. C = (j + 160) | 0;
  98427. D = (j + 156) | 0;
  98428. E = (j + 152) | 0;
  98429. F = (j + 148) | 0;
  98430. G = (j + 144) | 0;
  98431. H = (j + 140) | 0;
  98432. I = (j + 136) | 0;
  98433. J = (j + 132) | 0;
  98434. K = (j + 128) | 0;
  98435. L = (j + 124) | 0;
  98436. M = (j + 120) | 0;
  98437. N = (j + 116) | 0;
  98438. O = (j + 112) | 0;
  98439. P = (j + 108) | 0;
  98440. Q = (j + 104) | 0;
  98441. R = (j + 100) | 0;
  98442. S = (j + 96) | 0;
  98443. T = (j + 92) | 0;
  98444. U = (j + 88) | 0;
  98445. V = (j + 84) | 0;
  98446. W = (j + 80) | 0;
  98447. X = (j + 76) | 0;
  98448. Y = (j + 72) | 0;
  98449. Z = (j + 68) | 0;
  98450. _ = (j + 64) | 0;
  98451. $ = (j + 60) | 0;
  98452. aa = (j + 56) | 0;
  98453. ba = (j + 52) | 0;
  98454. ca = (j + 48) | 0;
  98455. da = (j + 44) | 0;
  98456. ea = (j + 40) | 0;
  98457. fa = (j + 36) | 0;
  98458. ga = (j + 32) | 0;
  98459. ha = (j + 28) | 0;
  98460. ia = (j + 24) | 0;
  98461. ja = (j + 20) | 0;
  98462. ka = (j + 16) | 0;
  98463. la = (j + 12) | 0;
  98464. ma = (j + 8) | 0;
  98465. na = (j + 4) | 0;
  98466. oa = j;
  98467. c[k >> 2] = a;
  98468. c[m >> 2] = b;
  98469. c[n >> 2] = e;
  98470. c[o >> 2] = f;
  98471. c[p >> 2] = g;
  98472. c[q >> 2] = h;
  98473. c[r >> 2] = i;
  98474. c[s >> 2] = c[((c[k >> 2] | 0) + 36) >> 2];
  98475. c[t >> 2] = c[((c[o >> 2] | 0) + 8) >> 2];
  98476. c[u >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
  98477. c[v >> 2] = c[((c[o >> 2] | 0) + 4) >> 2];
  98478. c[w >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
  98479. c[x >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
  98480. c[z >> 2] = c[p >> 2];
  98481. c[A >> 2] = c[z >> 2];
  98482. c[B >> 2] = c[z >> 2];
  98483. c[C >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
  98484. c[D >> 2] = (c[x >> 2] | 0) + (c[C >> 2] | 0);
  98485. c[E >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
  98486. c[F >> 2] = (c[w >> 2] | 0) + (c[E >> 2] | 0);
  98487. c[G >> 2] = (c[x >> 2] | 0) + (c[E >> 2] | 0);
  98488. c[H >> 2] = (c[z >> 2] | 0) + (c[q >> 2] | 0);
  98489. c[I >> 2] = (c[H >> 2] | 0) + -8;
  98490. c[J >> 2] = c[c[n >> 2] >> 2];
  98491. c[K >> 2] = c[((c[n >> 2] | 0) + 4) >> 2];
  98492. a: while (1) {
  98493. if ((c[A >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0) break;
  98494. c[L >> 2] =
  98495. Dk(c[A >> 2] | 0, c[v >> 2] | 0, c[r >> 2] | 0) | 0;
  98496. c[M >> 2] = c[((c[u >> 2] | 0) + (c[L >> 2] << 2)) >> 2];
  98497. c[N >> 2] =
  98498. (c[M >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98499. ? c[x >> 2] | 0
  98500. : c[w >> 2] | 0;
  98501. c[O >> 2] = (c[N >> 2] | 0) + (c[M >> 2] | 0);
  98502. c[P >> 2] = Dk(c[A >> 2] | 0, c[t >> 2] | 0, 8) | 0;
  98503. c[Q >> 2] = c[((c[s >> 2] | 0) + (c[P >> 2] << 2)) >> 2];
  98504. c[R >> 2] =
  98505. (c[Q >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98506. ? c[x >> 2] | 0
  98507. : c[w >> 2] | 0;
  98508. c[S >> 2] = (c[R >> 2] | 0) + (c[Q >> 2] | 0);
  98509. c[T >> 2] = (c[A >> 2] | 0) - (c[w >> 2] | 0);
  98510. c[U >> 2] = (c[T >> 2] | 0) + 1 - (c[J >> 2] | 0);
  98511. c[V >> 2] =
  98512. (c[U >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98513. ? c[x >> 2] | 0
  98514. : c[w >> 2] | 0;
  98515. c[W >> 2] = (c[V >> 2] | 0) + (c[U >> 2] | 0);
  98516. q = c[T >> 2] | 0;
  98517. c[((c[s >> 2] | 0) + (c[P >> 2] << 2)) >> 2] = q;
  98518. c[((c[u >> 2] | 0) + (c[L >> 2] << 2)) >> 2] = q;
  98519. if (
  98520. ((c[U >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  98521. ? (((c[E >> 2] | 0) - 1 - (c[U >> 2] | 0)) | 0) >>> 0 >=
  98522. 3
  98523. : 0) | 0
  98524. ? ((q = Rk(c[W >> 2] | 0) | 0),
  98525. (q | 0) == (Rk(((c[A >> 2] | 0) + 1) | 0) | 0))
  98526. : 0
  98527. ) {
  98528. c[Y >> 2] =
  98529. (c[U >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98530. ? c[G >> 2] | 0
  98531. : c[H >> 2] | 0;
  98532. c[X >> 2] =
  98533. (_m(
  98534. ((c[A >> 2] | 0) + 1 + 4) | 0,
  98535. ((c[W >> 2] | 0) + 4) | 0,
  98536. c[H >> 2] | 0,
  98537. c[Y >> 2] | 0,
  98538. c[F >> 2] | 0
  98539. ) |
  98540. 0) +
  98541. 4;
  98542. c[A >> 2] = (c[A >> 2] | 0) + 1;
  98543. $m(
  98544. c[m >> 2] | 0,
  98545. ((c[A >> 2] | 0) - (c[B >> 2] | 0)) | 0,
  98546. c[B >> 2] | 0,
  98547. 0,
  98548. ((c[X >> 2] | 0) - 3) | 0
  98549. );
  98550. } else pa = 6;
  98551. do {
  98552. if ((pa | 0) == 6) {
  98553. pa = 0;
  98554. if (
  98555. (c[Q >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  98556. ? ((q = Mk(c[S >> 2] | 0) | 0),
  98557. (z = y),
  98558. (k = Mk(c[A >> 2] | 0) | 0),
  98559. ((q | 0) == (k | 0)) & ((z | 0) == (y | 0)))
  98560. : 0
  98561. ) {
  98562. c[Z >> 2] =
  98563. (c[Q >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98564. ? c[G >> 2] | 0
  98565. : c[H >> 2] | 0;
  98566. c[_ >> 2] =
  98567. (c[Q >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98568. ? c[D >> 2] | 0
  98569. : c[F >> 2] | 0;
  98570. c[X >> 2] =
  98571. (_m(
  98572. ((c[A >> 2] | 0) + 8) | 0,
  98573. ((c[S >> 2] | 0) + 8) | 0,
  98574. c[H >> 2] | 0,
  98575. c[Z >> 2] | 0,
  98576. c[F >> 2] | 0
  98577. ) |
  98578. 0) +
  98579. 8;
  98580. c[$ >> 2] = (c[T >> 2] | 0) - (c[Q >> 2] | 0);
  98581. while (1) {
  98582. if (
  98583. !(
  98584. ((c[A >> 2] | 0) >>> 0 > (c[B >> 2] | 0) >>> 0
  98585. ? (c[S >> 2] | 0) >>> 0 >
  98586. (c[_ >> 2] | 0) >>> 0
  98587. : 0) | 0
  98588. )
  98589. )
  98590. break;
  98591. if (
  98592. (d[((c[A >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  98593. (d[((c[S >> 2] | 0) + -1) >> 0] | 0 | 0)
  98594. )
  98595. break;
  98596. c[A >> 2] = (c[A >> 2] | 0) + -1;
  98597. c[S >> 2] = (c[S >> 2] | 0) + -1;
  98598. c[X >> 2] = (c[X >> 2] | 0) + 1;
  98599. }
  98600. c[K >> 2] = c[J >> 2];
  98601. c[J >> 2] = c[$ >> 2];
  98602. $m(
  98603. c[m >> 2] | 0,
  98604. ((c[A >> 2] | 0) - (c[B >> 2] | 0)) | 0,
  98605. c[B >> 2] | 0,
  98606. ((c[$ >> 2] | 0) + 2) | 0,
  98607. ((c[X >> 2] | 0) - 3) | 0
  98608. );
  98609. break;
  98610. }
  98611. if (
  98612. (c[M >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  98613. ? ((z = Rk(c[O >> 2] | 0) | 0),
  98614. (z | 0) == (Rk(c[A >> 2] | 0) | 0))
  98615. : 0
  98616. ) {
  98617. c[aa >> 2] =
  98618. Dk(((c[A >> 2] | 0) + 1) | 0, c[t >> 2] | 0, 8) | 0;
  98619. c[ba >> 2] =
  98620. c[((c[s >> 2] | 0) + (c[aa >> 2] << 2)) >> 2];
  98621. c[ca >> 2] =
  98622. (c[ba >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98623. ? c[x >> 2] | 0
  98624. : c[w >> 2] | 0;
  98625. c[da >> 2] = (c[ca >> 2] | 0) + (c[ba >> 2] | 0);
  98626. c[((c[s >> 2] | 0) + (c[aa >> 2] << 2)) >> 2] =
  98627. (c[T >> 2] | 0) + 1;
  98628. b: do {
  98629. if (
  98630. (c[ba >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  98631. ? ((z = Mk(c[da >> 2] | 0) | 0),
  98632. (k = y),
  98633. (q = Mk(((c[A >> 2] | 0) + 1) | 0) | 0),
  98634. ((z | 0) == (q | 0)) & ((k | 0) == (y | 0)))
  98635. : 0
  98636. ) {
  98637. c[fa >> 2] =
  98638. (c[ba >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98639. ? c[G >> 2] | 0
  98640. : c[H >> 2] | 0;
  98641. c[ga >> 2] =
  98642. (c[ba >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98643. ? c[D >> 2] | 0
  98644. : c[F >> 2] | 0;
  98645. c[X >> 2] =
  98646. (_m(
  98647. ((c[A >> 2] | 0) + 9) | 0,
  98648. ((c[da >> 2] | 0) + 8) | 0,
  98649. c[H >> 2] | 0,
  98650. c[fa >> 2] | 0,
  98651. c[F >> 2] | 0
  98652. ) |
  98653. 0) +
  98654. 8;
  98655. c[A >> 2] = (c[A >> 2] | 0) + 1;
  98656. c[ea >> 2] =
  98657. (c[T >> 2] | 0) + 1 - (c[ba >> 2] | 0);
  98658. while (1) {
  98659. if (
  98660. !(
  98661. ((c[A >> 2] | 0) >>> 0 >
  98662. (c[B >> 2] | 0) >>> 0
  98663. ? (c[da >> 2] | 0) >>> 0 >
  98664. (c[ga >> 2] | 0) >>> 0
  98665. : 0) | 0
  98666. )
  98667. )
  98668. break b;
  98669. if (
  98670. (d[((c[A >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  98671. (d[((c[da >> 2] | 0) + -1) >> 0] | 0 | 0)
  98672. )
  98673. break b;
  98674. c[A >> 2] = (c[A >> 2] | 0) + -1;
  98675. c[da >> 2] = (c[da >> 2] | 0) + -1;
  98676. c[X >> 2] = (c[X >> 2] | 0) + 1;
  98677. }
  98678. } else pa = 21;
  98679. } while (0);
  98680. c: do {
  98681. if ((pa | 0) == 21) {
  98682. pa = 0;
  98683. c[ha >> 2] =
  98684. (c[M >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98685. ? c[G >> 2] | 0
  98686. : c[H >> 2] | 0;
  98687. c[ia >> 2] =
  98688. (c[M >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98689. ? c[D >> 2] | 0
  98690. : c[F >> 2] | 0;
  98691. c[X >> 2] =
  98692. (_m(
  98693. ((c[A >> 2] | 0) + 4) | 0,
  98694. ((c[O >> 2] | 0) + 4) | 0,
  98695. c[H >> 2] | 0,
  98696. c[ha >> 2] | 0,
  98697. c[F >> 2] | 0
  98698. ) |
  98699. 0) +
  98700. 4;
  98701. c[ea >> 2] = (c[T >> 2] | 0) - (c[M >> 2] | 0);
  98702. while (1) {
  98703. if (
  98704. !(
  98705. ((c[A >> 2] | 0) >>> 0 >
  98706. (c[B >> 2] | 0) >>> 0
  98707. ? (c[O >> 2] | 0) >>> 0 >
  98708. (c[ia >> 2] | 0) >>> 0
  98709. : 0) | 0
  98710. )
  98711. )
  98712. break c;
  98713. if (
  98714. (d[((c[A >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  98715. (d[((c[O >> 2] | 0) + -1) >> 0] | 0 | 0)
  98716. )
  98717. break c;
  98718. c[A >> 2] = (c[A >> 2] | 0) + -1;
  98719. c[O >> 2] = (c[O >> 2] | 0) + -1;
  98720. c[X >> 2] = (c[X >> 2] | 0) + 1;
  98721. }
  98722. }
  98723. } while (0);
  98724. c[K >> 2] = c[J >> 2];
  98725. c[J >> 2] = c[ea >> 2];
  98726. $m(
  98727. c[m >> 2] | 0,
  98728. ((c[A >> 2] | 0) - (c[B >> 2] | 0)) | 0,
  98729. c[B >> 2] | 0,
  98730. ((c[ea >> 2] | 0) + 2) | 0,
  98731. ((c[X >> 2] | 0) - 3) | 0
  98732. );
  98733. break;
  98734. }
  98735. c[A >> 2] =
  98736. (c[A >> 2] | 0) +
  98737. ((((c[A >> 2] | 0) - (c[B >> 2] | 0)) >> 8) + 1);
  98738. continue a;
  98739. }
  98740. } while (0);
  98741. c[A >> 2] = (c[A >> 2] | 0) + (c[X >> 2] | 0);
  98742. c[B >> 2] = c[A >> 2];
  98743. d: do {
  98744. if ((c[A >> 2] | 0) >>> 0 <= (c[I >> 2] | 0) >>> 0) {
  98745. k = ((c[T >> 2] | 0) + 2) | 0;
  98746. q = c[u >> 2] | 0;
  98747. c[
  98748. (q +
  98749. ((Dk(
  98750. ((c[w >> 2] | 0) + (c[T >> 2] | 0) + 2) | 0,
  98751. c[v >> 2] | 0,
  98752. c[r >> 2] | 0
  98753. ) |
  98754. 0) <<
  98755. 2)) >>
  98756. 2
  98757. ] = k;
  98758. k = ((c[T >> 2] | 0) + 2) | 0;
  98759. q = c[s >> 2] | 0;
  98760. c[
  98761. (q +
  98762. ((Dk(
  98763. ((c[w >> 2] | 0) + (c[T >> 2] | 0) + 2) | 0,
  98764. c[t >> 2] | 0,
  98765. 8
  98766. ) |
  98767. 0) <<
  98768. 2)) >>
  98769. 2
  98770. ] = k;
  98771. k = ((c[A >> 2] | 0) + -2 - (c[w >> 2] | 0)) | 0;
  98772. q = c[u >> 2] | 0;
  98773. c[
  98774. (q +
  98775. ((Dk(
  98776. ((c[A >> 2] | 0) + -2) | 0,
  98777. c[v >> 2] | 0,
  98778. c[r >> 2] | 0
  98779. ) |
  98780. 0) <<
  98781. 2)) >>
  98782. 2
  98783. ] = k;
  98784. k = ((c[A >> 2] | 0) + -2 - (c[w >> 2] | 0)) | 0;
  98785. q = c[s >> 2] | 0;
  98786. c[
  98787. (q +
  98788. ((Dk(((c[A >> 2] | 0) + -2) | 0, c[t >> 2] | 0, 8) |
  98789. 0) <<
  98790. 2)) >>
  98791. 2
  98792. ] = k;
  98793. while (1) {
  98794. if ((c[A >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0)
  98795. break d;
  98796. c[ja >> 2] = (c[A >> 2] | 0) - (c[w >> 2] | 0);
  98797. c[ka >> 2] = (c[ja >> 2] | 0) - (c[K >> 2] | 0);
  98798. c[la >> 2] =
  98799. (c[ka >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98800. ? ((c[x >> 2] | 0) + (c[ka >> 2] | 0)) | 0
  98801. : ((c[w >> 2] | 0) + (c[ka >> 2] | 0)) | 0;
  98802. if (
  98803. !(
  98804. ((c[ka >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  98805. ? (((c[E >> 2] | 0) - 1 - (c[ka >> 2] | 0)) |
  98806. 0) >>>
  98807. 0 >=
  98808. 3
  98809. : 0) | 0
  98810. )
  98811. )
  98812. break d;
  98813. k = Rk(c[la >> 2] | 0) | 0;
  98814. if ((k | 0) != (Rk(c[A >> 2] | 0) | 0)) break d;
  98815. c[ma >> 2] =
  98816. (c[ka >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
  98817. ? c[G >> 2] | 0
  98818. : c[H >> 2] | 0;
  98819. c[na >> 2] =
  98820. (_m(
  98821. ((c[A >> 2] | 0) + 4) | 0,
  98822. ((c[la >> 2] | 0) + 4) | 0,
  98823. c[H >> 2] | 0,
  98824. c[ma >> 2] | 0,
  98825. c[F >> 2] | 0
  98826. ) |
  98827. 0) +
  98828. 4;
  98829. c[oa >> 2] = c[K >> 2];
  98830. c[K >> 2] = c[J >> 2];
  98831. c[J >> 2] = c[oa >> 2];
  98832. $m(
  98833. c[m >> 2] | 0,
  98834. 0,
  98835. c[B >> 2] | 0,
  98836. 0,
  98837. ((c[na >> 2] | 0) - 3) | 0
  98838. );
  98839. k = c[ja >> 2] | 0;
  98840. q = c[u >> 2] | 0;
  98841. c[
  98842. (q +
  98843. ((Dk(
  98844. c[A >> 2] | 0,
  98845. c[v >> 2] | 0,
  98846. c[r >> 2] | 0
  98847. ) |
  98848. 0) <<
  98849. 2)) >>
  98850. 2
  98851. ] = k;
  98852. k = c[ja >> 2] | 0;
  98853. q = c[s >> 2] | 0;
  98854. c[
  98855. (q +
  98856. ((Dk(c[A >> 2] | 0, c[t >> 2] | 0, 8) | 0) <<
  98857. 2)) >>
  98858. 2
  98859. ] = k;
  98860. c[A >> 2] = (c[A >> 2] | 0) + (c[na >> 2] | 0);
  98861. c[B >> 2] = c[A >> 2];
  98862. }
  98863. }
  98864. } while (0);
  98865. }
  98866. c[c[n >> 2] >> 2] = c[J >> 2];
  98867. c[((c[n >> 2] | 0) + 4) >> 2] = c[K >> 2];
  98868. l = j;
  98869. return ((c[H >> 2] | 0) - (c[B >> 2] | 0)) | 0;
  98870. }
  98871. function _m(a, b, d, e, f) {
  98872. a = a | 0;
  98873. b = b | 0;
  98874. d = d | 0;
  98875. e = e | 0;
  98876. f = f | 0;
  98877. var g = 0,
  98878. h = 0,
  98879. i = 0,
  98880. j = 0,
  98881. k = 0,
  98882. m = 0,
  98883. n = 0,
  98884. o = 0,
  98885. p = 0,
  98886. q = 0,
  98887. r = 0;
  98888. g = l;
  98889. l = (l + 32) | 0;
  98890. h = (g + 28) | 0;
  98891. i = (g + 24) | 0;
  98892. j = (g + 20) | 0;
  98893. k = (g + 16) | 0;
  98894. m = (g + 12) | 0;
  98895. n = (g + 8) | 0;
  98896. o = (g + 4) | 0;
  98897. p = g;
  98898. c[i >> 2] = a;
  98899. c[j >> 2] = b;
  98900. c[k >> 2] = d;
  98901. c[m >> 2] = e;
  98902. c[n >> 2] = f;
  98903. if (
  98904. (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  98905. 0) >>>
  98906. 0 <
  98907. (c[k >> 2] | 0) >>> 0
  98908. )
  98909. q =
  98910. ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  98911. 0;
  98912. else q = c[k >> 2] | 0;
  98913. c[o >> 2] = q;
  98914. c[p >> 2] =
  98915. cn(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
  98916. o = c[p >> 2] | 0;
  98917. if (
  98918. (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
  98919. (c[m >> 2] | 0)
  98920. ) {
  98921. c[h >> 2] = o;
  98922. r = c[h >> 2] | 0;
  98923. l = g;
  98924. return r | 0;
  98925. } else {
  98926. c[h >> 2] =
  98927. o +
  98928. (cn(
  98929. ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  98930. c[n >> 2] | 0,
  98931. c[k >> 2] | 0
  98932. ) |
  98933. 0);
  98934. r = c[h >> 2] | 0;
  98935. l = g;
  98936. return r | 0;
  98937. }
  98938. return 0;
  98939. }
  98940. function $m(a, d, e, f, g) {
  98941. a = a | 0;
  98942. d = d | 0;
  98943. e = e | 0;
  98944. f = f | 0;
  98945. g = g | 0;
  98946. var h = 0,
  98947. i = 0,
  98948. j = 0,
  98949. k = 0,
  98950. m = 0,
  98951. n = 0,
  98952. o = 0,
  98953. p = 0,
  98954. q = 0,
  98955. r = 0,
  98956. s = 0,
  98957. t = 0,
  98958. u = 0,
  98959. v = 0,
  98960. w = 0,
  98961. x = 0;
  98962. h = l;
  98963. l = (l + 32) | 0;
  98964. i = (h + 16) | 0;
  98965. j = (h + 12) | 0;
  98966. k = (h + 8) | 0;
  98967. m = (h + 4) | 0;
  98968. n = h;
  98969. c[i >> 2] = a;
  98970. c[j >> 2] = d;
  98971. c[k >> 2] = e;
  98972. c[m >> 2] = f;
  98973. c[n >> 2] = g;
  98974. an(
  98975. c[((c[i >> 2] | 0) + 12) >> 2] | 0,
  98976. c[k >> 2] | 0,
  98977. c[j >> 2] | 0
  98978. );
  98979. k = ((c[i >> 2] | 0) + 12) | 0;
  98980. c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
  98981. if ((c[j >> 2] | 0) >>> 0 > 65535) {
  98982. c[((c[i >> 2] | 0) + 28) >> 2] = 1;
  98983. c[((c[i >> 2] | 0) + 32) >> 2] =
  98984. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  98985. (c[c[i >> 2] >> 2] | 0)) |
  98986. 0) /
  98987. 8) |
  98988. 0;
  98989. }
  98990. b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
  98991. c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
  98992. if ((c[n >> 2] | 0) >>> 0 <= 65535) {
  98993. o = c[n >> 2] | 0;
  98994. p = o & 65535;
  98995. q = c[i >> 2] | 0;
  98996. r = (q + 4) | 0;
  98997. s = c[r >> 2] | 0;
  98998. t = (s + 6) | 0;
  98999. b[t >> 1] = p;
  99000. u = c[i >> 2] | 0;
  99001. v = (u + 4) | 0;
  99002. w = c[v >> 2] | 0;
  99003. x = (w + 8) | 0;
  99004. c[v >> 2] = x;
  99005. l = h;
  99006. return;
  99007. }
  99008. c[((c[i >> 2] | 0) + 28) >> 2] = 2;
  99009. c[((c[i >> 2] | 0) + 32) >> 2] =
  99010. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  99011. (c[c[i >> 2] >> 2] | 0)) |
  99012. 0) /
  99013. 8) |
  99014. 0;
  99015. o = c[n >> 2] | 0;
  99016. p = o & 65535;
  99017. q = c[i >> 2] | 0;
  99018. r = (q + 4) | 0;
  99019. s = c[r >> 2] | 0;
  99020. t = (s + 6) | 0;
  99021. b[t >> 1] = p;
  99022. u = c[i >> 2] | 0;
  99023. v = (u + 4) | 0;
  99024. w = c[v >> 2] | 0;
  99025. x = (w + 8) | 0;
  99026. c[v >> 2] = x;
  99027. l = h;
  99028. return;
  99029. }
  99030. function an(a, b, d) {
  99031. a = a | 0;
  99032. b = b | 0;
  99033. d = d | 0;
  99034. var e = 0,
  99035. f = 0,
  99036. g = 0,
  99037. h = 0,
  99038. i = 0,
  99039. j = 0,
  99040. k = 0;
  99041. e = l;
  99042. l = (l + 32) | 0;
  99043. f = (e + 20) | 0;
  99044. g = (e + 16) | 0;
  99045. h = (e + 12) | 0;
  99046. i = (e + 8) | 0;
  99047. j = (e + 4) | 0;
  99048. k = e;
  99049. c[f >> 2] = a;
  99050. c[g >> 2] = b;
  99051. c[h >> 2] = d;
  99052. c[i >> 2] = c[g >> 2];
  99053. c[j >> 2] = c[f >> 2];
  99054. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  99055. do {
  99056. bn(c[j >> 2] | 0, c[i >> 2] | 0);
  99057. c[j >> 2] = (c[j >> 2] | 0) + 8;
  99058. c[i >> 2] = (c[i >> 2] | 0) + 8;
  99059. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  99060. l = e;
  99061. return;
  99062. }
  99063. function bn(b, d) {
  99064. b = b | 0;
  99065. d = d | 0;
  99066. var e = 0,
  99067. f = 0,
  99068. g = 0;
  99069. e = l;
  99070. l = (l + 16) | 0;
  99071. f = (e + 4) | 0;
  99072. g = e;
  99073. c[f >> 2] = b;
  99074. c[g >> 2] = d;
  99075. d = c[f >> 2] | 0;
  99076. f = c[g >> 2] | 0;
  99077. a[d >> 0] = a[f >> 0] | 0;
  99078. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  99079. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  99080. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  99081. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  99082. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  99083. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  99084. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  99085. l = e;
  99086. return;
  99087. }
  99088. function cn(a, b, e) {
  99089. a = a | 0;
  99090. b = b | 0;
  99091. e = e | 0;
  99092. var f = 0,
  99093. g = 0,
  99094. h = 0,
  99095. i = 0,
  99096. j = 0,
  99097. k = 0,
  99098. m = 0,
  99099. n = 0,
  99100. o = 0,
  99101. p = 0;
  99102. f = l;
  99103. l = (l + 32) | 0;
  99104. g = (f + 28) | 0;
  99105. h = (f + 24) | 0;
  99106. i = (f + 20) | 0;
  99107. j = (f + 16) | 0;
  99108. k = (f + 12) | 0;
  99109. m = (f + 8) | 0;
  99110. n = (f + 4) | 0;
  99111. o = f;
  99112. c[h >> 2] = a;
  99113. c[i >> 2] = b;
  99114. c[j >> 2] = e;
  99115. c[k >> 2] = c[h >> 2];
  99116. c[m >> 2] = (c[j >> 2] | 0) + -3;
  99117. a: do {
  99118. if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
  99119. e = dn(c[i >> 2] | 0) | 0;
  99120. c[n >> 2] = e ^ (dn(c[h >> 2] | 0) | 0);
  99121. if (c[n >> 2] | 0) {
  99122. c[g >> 2] = en(c[n >> 2] | 0) | 0;
  99123. p = c[g >> 2] | 0;
  99124. l = f;
  99125. return p | 0;
  99126. }
  99127. c[h >> 2] = (c[h >> 2] | 0) + 4;
  99128. c[i >> 2] = (c[i >> 2] | 0) + 4;
  99129. while (1) {
  99130. if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
  99131. break a;
  99132. e = dn(c[i >> 2] | 0) | 0;
  99133. c[o >> 2] = e ^ (dn(c[h >> 2] | 0) | 0);
  99134. if (c[o >> 2] | 0) break;
  99135. c[h >> 2] = (c[h >> 2] | 0) + 4;
  99136. c[i >> 2] = (c[i >> 2] | 0) + 4;
  99137. }
  99138. e = en(c[o >> 2] | 0) | 0;
  99139. c[h >> 2] = (c[h >> 2] | 0) + e;
  99140. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  99141. p = c[g >> 2] | 0;
  99142. l = f;
  99143. return p | 0;
  99144. }
  99145. } while (0);
  99146. if (
  99147. (
  99148. fn() | 0
  99149. ? (c[h >> 2] | 0) >>> 0 <
  99150. (((c[j >> 2] | 0) + -3) | 0) >>> 0
  99151. : 0
  99152. )
  99153. ? ((o = Rk(c[i >> 2] | 0) | 0),
  99154. (o | 0) == (Rk(c[h >> 2] | 0) | 0))
  99155. : 0
  99156. ) {
  99157. c[h >> 2] = (c[h >> 2] | 0) + 4;
  99158. c[i >> 2] = (c[i >> 2] | 0) + 4;
  99159. }
  99160. if (
  99161. (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
  99162. ? ((o = (gn(c[i >> 2] | 0) | 0) & 65535),
  99163. (o | 0) == (((gn(c[h >> 2] | 0) | 0) & 65535) | 0))
  99164. : 0
  99165. ) {
  99166. c[h >> 2] = (c[h >> 2] | 0) + 2;
  99167. c[i >> 2] = (c[i >> 2] | 0) + 2;
  99168. }
  99169. if (
  99170. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  99171. ? (d[c[i >> 2] >> 0] | 0 | 0) ==
  99172. (d[c[h >> 2] >> 0] | 0 | 0)
  99173. : 0
  99174. )
  99175. c[h >> 2] = (c[h >> 2] | 0) + 1;
  99176. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  99177. p = c[g >> 2] | 0;
  99178. l = f;
  99179. return p | 0;
  99180. }
  99181. function dn(a) {
  99182. a = a | 0;
  99183. var b = 0,
  99184. e = 0;
  99185. b = l;
  99186. l = (l + 16) | 0;
  99187. e = b;
  99188. c[e >> 2] = a;
  99189. a = c[e >> 2] | 0;
  99190. l = b;
  99191. return (
  99192. d[a >> 0] |
  99193. (d[(a + 1) >> 0] << 8) |
  99194. (d[(a + 2) >> 0] << 16) |
  99195. (d[(a + 3) >> 0] << 24) |
  99196. 0
  99197. );
  99198. }
  99199. function en(a) {
  99200. a = a | 0;
  99201. var b = 0,
  99202. d = 0,
  99203. e = 0,
  99204. f = 0,
  99205. g = 0;
  99206. b = l;
  99207. l = (l + 16) | 0;
  99208. d = (b + 4) | 0;
  99209. e = b;
  99210. c[e >> 2] = a;
  99211. a = (Lk() | 0) != 0;
  99212. f = (fn() | 0) != 0;
  99213. g = c[e >> 2] | 0;
  99214. do {
  99215. if (a) {
  99216. if (f) {
  99217. e = ob(g | 0, 0, 0) | 0;
  99218. c[d >> 2] = e >> 3;
  99219. break;
  99220. } else {
  99221. c[d >> 2] = (fE(g | 0) | 0) >> 3;
  99222. break;
  99223. }
  99224. } else if (f) {
  99225. e = lE(g | 0, 0, 0) | 0;
  99226. c[d >> 2] = e >> 3;
  99227. break;
  99228. } else {
  99229. c[d >> 2] = (Q(g | 0) | 0) >> 3;
  99230. break;
  99231. }
  99232. } while (0);
  99233. l = b;
  99234. return c[d >> 2] | 0;
  99235. }
  99236. function fn() {
  99237. return 0;
  99238. }
  99239. function gn(a) {
  99240. a = a | 0;
  99241. var b = 0,
  99242. e = 0;
  99243. b = l;
  99244. l = (l + 16) | 0;
  99245. e = b;
  99246. c[e >> 2] = a;
  99247. a = c[e >> 2] | 0;
  99248. l = b;
  99249. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  99250. }
  99251. function hn(a, b, e, f, g, h, i, j) {
  99252. a = a | 0;
  99253. b = b | 0;
  99254. e = e | 0;
  99255. f = f | 0;
  99256. g = g | 0;
  99257. h = h | 0;
  99258. i = i | 0;
  99259. j = j | 0;
  99260. var k = 0,
  99261. m = 0,
  99262. n = 0,
  99263. o = 0,
  99264. p = 0,
  99265. q = 0,
  99266. r = 0,
  99267. s = 0,
  99268. t = 0,
  99269. u = 0,
  99270. v = 0,
  99271. w = 0,
  99272. x = 0,
  99273. y = 0,
  99274. z = 0,
  99275. A = 0,
  99276. B = 0,
  99277. C = 0,
  99278. D = 0,
  99279. E = 0,
  99280. F = 0,
  99281. G = 0,
  99282. H = 0,
  99283. I = 0,
  99284. J = 0,
  99285. K = 0,
  99286. L = 0,
  99287. M = 0,
  99288. N = 0,
  99289. O = 0,
  99290. P = 0,
  99291. Q = 0,
  99292. R = 0,
  99293. S = 0,
  99294. T = 0,
  99295. U = 0,
  99296. V = 0,
  99297. W = 0,
  99298. X = 0,
  99299. Y = 0,
  99300. Z = 0,
  99301. _ = 0,
  99302. $ = 0,
  99303. aa = 0;
  99304. k = l;
  99305. l = (l + 176) | 0;
  99306. m = (k + 164) | 0;
  99307. n = (k + 160) | 0;
  99308. o = (k + 156) | 0;
  99309. p = (k + 152) | 0;
  99310. q = (k + 148) | 0;
  99311. r = (k + 144) | 0;
  99312. s = (k + 140) | 0;
  99313. t = (k + 136) | 0;
  99314. u = (k + 132) | 0;
  99315. v = (k + 128) | 0;
  99316. w = (k + 124) | 0;
  99317. x = (k + 120) | 0;
  99318. y = (k + 116) | 0;
  99319. z = (k + 112) | 0;
  99320. A = (k + 108) | 0;
  99321. B = (k + 104) | 0;
  99322. C = (k + 100) | 0;
  99323. D = (k + 96) | 0;
  99324. E = (k + 92) | 0;
  99325. F = (k + 88) | 0;
  99326. G = (k + 84) | 0;
  99327. H = (k + 80) | 0;
  99328. I = (k + 76) | 0;
  99329. J = (k + 72) | 0;
  99330. K = (k + 68) | 0;
  99331. L = (k + 64) | 0;
  99332. M = (k + 60) | 0;
  99333. N = (k + 56) | 0;
  99334. O = (k + 52) | 0;
  99335. P = (k + 48) | 0;
  99336. Q = (k + 44) | 0;
  99337. R = (k + 40) | 0;
  99338. S = (k + 36) | 0;
  99339. T = (k + 32) | 0;
  99340. U = (k + 28) | 0;
  99341. V = (k + 24) | 0;
  99342. W = (k + 20) | 0;
  99343. X = (k + 16) | 0;
  99344. Y = (k + 12) | 0;
  99345. Z = (k + 8) | 0;
  99346. _ = (k + 4) | 0;
  99347. $ = k;
  99348. c[m >> 2] = a;
  99349. c[n >> 2] = b;
  99350. c[o >> 2] = e;
  99351. c[p >> 2] = f;
  99352. c[q >> 2] = g;
  99353. c[r >> 2] = h;
  99354. c[s >> 2] = i;
  99355. c[t >> 2] = j;
  99356. c[u >> 2] = c[((c[m >> 2] | 0) + 36) >> 2];
  99357. c[v >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  99358. c[w >> 2] = c[((c[m >> 2] | 0) + 8) >> 2];
  99359. c[x >> 2] = c[p >> 2];
  99360. c[y >> 2] = c[x >> 2];
  99361. c[z >> 2] = c[x >> 2];
  99362. c[A >> 2] = c[((c[m >> 2] | 0) + 16) >> 2];
  99363. c[B >> 2] = (c[w >> 2] | 0) + (c[A >> 2] | 0);
  99364. c[C >> 2] = c[((c[m >> 2] | 0) + 12) >> 2];
  99365. c[D >> 2] = (c[v >> 2] | 0) + (c[C >> 2] | 0);
  99366. c[E >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
  99367. c[F >> 2] = (c[x >> 2] | 0) + (c[q >> 2] | 0);
  99368. c[G >> 2] = (c[F >> 2] | 0) + -8;
  99369. c[H >> 2] = c[c[o >> 2] >> 2];
  99370. c[I >> 2] = c[((c[o >> 2] | 0) + 4) >> 2];
  99371. a: while (1) {
  99372. if ((c[y >> 2] | 0) >>> 0 >= (c[G >> 2] | 0) >>> 0) break;
  99373. c[J >> 2] =
  99374. Tk(c[y >> 2] | 0, c[r >> 2] | 0, c[t >> 2] | 0) | 0;
  99375. c[K >> 2] = c[((c[u >> 2] | 0) + (c[J >> 2] << 2)) >> 2];
  99376. c[L >> 2] =
  99377. (c[K >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99378. ? c[w >> 2] | 0
  99379. : c[v >> 2] | 0;
  99380. c[M >> 2] = (c[L >> 2] | 0) + (c[K >> 2] | 0);
  99381. c[N >> 2] = (c[y >> 2] | 0) - (c[v >> 2] | 0);
  99382. c[O >> 2] = (c[N >> 2] | 0) + 1 - (c[H >> 2] | 0);
  99383. c[P >> 2] =
  99384. (c[O >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99385. ? c[w >> 2] | 0
  99386. : c[v >> 2] | 0;
  99387. c[Q >> 2] = (c[P >> 2] | 0) + (c[O >> 2] | 0);
  99388. c[((c[u >> 2] | 0) + (c[J >> 2] << 2)) >> 2] = c[N >> 2];
  99389. if (
  99390. ((c[O >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
  99391. ? (((c[C >> 2] | 0) - 1 - (c[O >> 2] | 0)) | 0) >>> 0 >=
  99392. 3
  99393. : 0) | 0
  99394. ? ((q = fl(c[Q >> 2] | 0) | 0),
  99395. (q | 0) == (fl(((c[y >> 2] | 0) + 1) | 0) | 0))
  99396. : 0
  99397. ) {
  99398. c[S >> 2] =
  99399. (c[O >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99400. ? c[E >> 2] | 0
  99401. : c[F >> 2] | 0;
  99402. c[R >> 2] =
  99403. (jn(
  99404. ((c[y >> 2] | 0) + 1 + 4) | 0,
  99405. ((c[Q >> 2] | 0) + 4) | 0,
  99406. c[F >> 2] | 0,
  99407. c[S >> 2] | 0,
  99408. c[D >> 2] | 0
  99409. ) |
  99410. 0) +
  99411. 4;
  99412. c[y >> 2] = (c[y >> 2] | 0) + 1;
  99413. kn(
  99414. c[n >> 2] | 0,
  99415. ((c[y >> 2] | 0) - (c[z >> 2] | 0)) | 0,
  99416. c[z >> 2] | 0,
  99417. 0,
  99418. ((c[R >> 2] | 0) - 3) | 0
  99419. );
  99420. } else aa = 6;
  99421. do {
  99422. if ((aa | 0) == 6) {
  99423. aa = 0;
  99424. if (
  99425. (c[K >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0
  99426. ? ((q = fl(c[M >> 2] | 0) | 0),
  99427. (q | 0) == (fl(c[y >> 2] | 0) | 0))
  99428. : 0
  99429. ) {
  99430. c[T >> 2] =
  99431. (c[K >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99432. ? c[E >> 2] | 0
  99433. : c[F >> 2] | 0;
  99434. c[U >> 2] =
  99435. (c[K >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99436. ? c[B >> 2] | 0
  99437. : c[D >> 2] | 0;
  99438. c[R >> 2] =
  99439. (jn(
  99440. ((c[y >> 2] | 0) + 4) | 0,
  99441. ((c[M >> 2] | 0) + 4) | 0,
  99442. c[F >> 2] | 0,
  99443. c[T >> 2] | 0,
  99444. c[D >> 2] | 0
  99445. ) |
  99446. 0) +
  99447. 4;
  99448. while (1) {
  99449. if (
  99450. !(
  99451. ((c[y >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  99452. ? (c[M >> 2] | 0) >>> 0 >
  99453. (c[U >> 2] | 0) >>> 0
  99454. : 0) | 0
  99455. )
  99456. )
  99457. break;
  99458. if (
  99459. (d[((c[y >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  99460. (d[((c[M >> 2] | 0) + -1) >> 0] | 0 | 0)
  99461. )
  99462. break;
  99463. c[y >> 2] = (c[y >> 2] | 0) + -1;
  99464. c[M >> 2] = (c[M >> 2] | 0) + -1;
  99465. c[R >> 2] = (c[R >> 2] | 0) + 1;
  99466. }
  99467. c[V >> 2] = (c[N >> 2] | 0) - (c[K >> 2] | 0);
  99468. c[I >> 2] = c[H >> 2];
  99469. c[H >> 2] = c[V >> 2];
  99470. kn(
  99471. c[n >> 2] | 0,
  99472. ((c[y >> 2] | 0) - (c[z >> 2] | 0)) | 0,
  99473. c[z >> 2] | 0,
  99474. ((c[V >> 2] | 0) + 2) | 0,
  99475. ((c[R >> 2] | 0) - 3) | 0
  99476. );
  99477. break;
  99478. }
  99479. c[y >> 2] =
  99480. (c[y >> 2] | 0) +
  99481. ((((c[y >> 2] | 0) - (c[z >> 2] | 0)) >> 8) +
  99482. (c[s >> 2] | 0));
  99483. continue a;
  99484. }
  99485. } while (0);
  99486. c[y >> 2] = (c[y >> 2] | 0) + (c[R >> 2] | 0);
  99487. c[z >> 2] = c[y >> 2];
  99488. b: do {
  99489. if ((c[y >> 2] | 0) >>> 0 <= (c[G >> 2] | 0) >>> 0) {
  99490. q = ((c[N >> 2] | 0) + 2) | 0;
  99491. x = c[u >> 2] | 0;
  99492. c[
  99493. (x +
  99494. ((Tk(
  99495. ((c[v >> 2] | 0) + (c[N >> 2] | 0) + 2) | 0,
  99496. c[r >> 2] | 0,
  99497. c[t >> 2] | 0
  99498. ) |
  99499. 0) <<
  99500. 2)) >>
  99501. 2
  99502. ] = q;
  99503. q = ((c[y >> 2] | 0) + -2 - (c[v >> 2] | 0)) | 0;
  99504. x = c[u >> 2] | 0;
  99505. c[
  99506. (x +
  99507. ((Tk(
  99508. ((c[y >> 2] | 0) + -2) | 0,
  99509. c[r >> 2] | 0,
  99510. c[t >> 2] | 0
  99511. ) |
  99512. 0) <<
  99513. 2)) >>
  99514. 2
  99515. ] = q;
  99516. while (1) {
  99517. if ((c[y >> 2] | 0) >>> 0 > (c[G >> 2] | 0) >>> 0)
  99518. break b;
  99519. c[W >> 2] = (c[y >> 2] | 0) - (c[v >> 2] | 0);
  99520. c[X >> 2] = (c[W >> 2] | 0) - (c[I >> 2] | 0);
  99521. c[Y >> 2] =
  99522. (c[X >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99523. ? ((c[w >> 2] | 0) + (c[X >> 2] | 0)) | 0
  99524. : ((c[v >> 2] | 0) + (c[X >> 2] | 0)) | 0;
  99525. if (
  99526. !(
  99527. ((c[X >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
  99528. ? (((c[C >> 2] | 0) - 1 - (c[X >> 2] | 0)) |
  99529. 0) >>>
  99530. 0 >=
  99531. 3
  99532. : 0) | 0
  99533. )
  99534. )
  99535. break b;
  99536. q = fl(c[Y >> 2] | 0) | 0;
  99537. if ((q | 0) != (fl(c[y >> 2] | 0) | 0)) break b;
  99538. c[Z >> 2] =
  99539. (c[X >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
  99540. ? c[E >> 2] | 0
  99541. : c[F >> 2] | 0;
  99542. c[_ >> 2] =
  99543. (jn(
  99544. ((c[y >> 2] | 0) + 4) | 0,
  99545. ((c[Y >> 2] | 0) + 4) | 0,
  99546. c[F >> 2] | 0,
  99547. c[Z >> 2] | 0,
  99548. c[D >> 2] | 0
  99549. ) |
  99550. 0) +
  99551. 4;
  99552. c[$ >> 2] = c[I >> 2];
  99553. c[I >> 2] = c[H >> 2];
  99554. c[H >> 2] = c[$ >> 2];
  99555. kn(
  99556. c[n >> 2] | 0,
  99557. 0,
  99558. c[z >> 2] | 0,
  99559. 0,
  99560. ((c[_ >> 2] | 0) - 3) | 0
  99561. );
  99562. q = c[W >> 2] | 0;
  99563. x = c[u >> 2] | 0;
  99564. c[
  99565. (x +
  99566. ((Tk(
  99567. c[y >> 2] | 0,
  99568. c[r >> 2] | 0,
  99569. c[t >> 2] | 0
  99570. ) |
  99571. 0) <<
  99572. 2)) >>
  99573. 2
  99574. ] = q;
  99575. c[y >> 2] = (c[y >> 2] | 0) + (c[_ >> 2] | 0);
  99576. c[z >> 2] = c[y >> 2];
  99577. }
  99578. }
  99579. } while (0);
  99580. }
  99581. c[c[o >> 2] >> 2] = c[H >> 2];
  99582. c[((c[o >> 2] | 0) + 4) >> 2] = c[I >> 2];
  99583. l = k;
  99584. return ((c[F >> 2] | 0) - (c[z >> 2] | 0)) | 0;
  99585. }
  99586. function jn(a, b, d, e, f) {
  99587. a = a | 0;
  99588. b = b | 0;
  99589. d = d | 0;
  99590. e = e | 0;
  99591. f = f | 0;
  99592. var g = 0,
  99593. h = 0,
  99594. i = 0,
  99595. j = 0,
  99596. k = 0,
  99597. m = 0,
  99598. n = 0,
  99599. o = 0,
  99600. p = 0,
  99601. q = 0,
  99602. r = 0;
  99603. g = l;
  99604. l = (l + 32) | 0;
  99605. h = (g + 28) | 0;
  99606. i = (g + 24) | 0;
  99607. j = (g + 20) | 0;
  99608. k = (g + 16) | 0;
  99609. m = (g + 12) | 0;
  99610. n = (g + 8) | 0;
  99611. o = (g + 4) | 0;
  99612. p = g;
  99613. c[i >> 2] = a;
  99614. c[j >> 2] = b;
  99615. c[k >> 2] = d;
  99616. c[m >> 2] = e;
  99617. c[n >> 2] = f;
  99618. if (
  99619. (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  99620. 0) >>>
  99621. 0 <
  99622. (c[k >> 2] | 0) >>> 0
  99623. )
  99624. q =
  99625. ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  99626. 0;
  99627. else q = c[k >> 2] | 0;
  99628. c[o >> 2] = q;
  99629. c[p >> 2] =
  99630. nn(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
  99631. o = c[p >> 2] | 0;
  99632. if (
  99633. (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
  99634. (c[m >> 2] | 0)
  99635. ) {
  99636. c[h >> 2] = o;
  99637. r = c[h >> 2] | 0;
  99638. l = g;
  99639. return r | 0;
  99640. } else {
  99641. c[h >> 2] =
  99642. o +
  99643. (nn(
  99644. ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  99645. c[n >> 2] | 0,
  99646. c[k >> 2] | 0
  99647. ) |
  99648. 0);
  99649. r = c[h >> 2] | 0;
  99650. l = g;
  99651. return r | 0;
  99652. }
  99653. return 0;
  99654. }
  99655. function kn(a, d, e, f, g) {
  99656. a = a | 0;
  99657. d = d | 0;
  99658. e = e | 0;
  99659. f = f | 0;
  99660. g = g | 0;
  99661. var h = 0,
  99662. i = 0,
  99663. j = 0,
  99664. k = 0,
  99665. m = 0,
  99666. n = 0,
  99667. o = 0,
  99668. p = 0,
  99669. q = 0,
  99670. r = 0,
  99671. s = 0,
  99672. t = 0,
  99673. u = 0,
  99674. v = 0,
  99675. w = 0,
  99676. x = 0;
  99677. h = l;
  99678. l = (l + 32) | 0;
  99679. i = (h + 16) | 0;
  99680. j = (h + 12) | 0;
  99681. k = (h + 8) | 0;
  99682. m = (h + 4) | 0;
  99683. n = h;
  99684. c[i >> 2] = a;
  99685. c[j >> 2] = d;
  99686. c[k >> 2] = e;
  99687. c[m >> 2] = f;
  99688. c[n >> 2] = g;
  99689. ln(
  99690. c[((c[i >> 2] | 0) + 12) >> 2] | 0,
  99691. c[k >> 2] | 0,
  99692. c[j >> 2] | 0
  99693. );
  99694. k = ((c[i >> 2] | 0) + 12) | 0;
  99695. c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
  99696. if ((c[j >> 2] | 0) >>> 0 > 65535) {
  99697. c[((c[i >> 2] | 0) + 28) >> 2] = 1;
  99698. c[((c[i >> 2] | 0) + 32) >> 2] =
  99699. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  99700. (c[c[i >> 2] >> 2] | 0)) |
  99701. 0) /
  99702. 8) |
  99703. 0;
  99704. }
  99705. b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
  99706. c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
  99707. if ((c[n >> 2] | 0) >>> 0 <= 65535) {
  99708. o = c[n >> 2] | 0;
  99709. p = o & 65535;
  99710. q = c[i >> 2] | 0;
  99711. r = (q + 4) | 0;
  99712. s = c[r >> 2] | 0;
  99713. t = (s + 6) | 0;
  99714. b[t >> 1] = p;
  99715. u = c[i >> 2] | 0;
  99716. v = (u + 4) | 0;
  99717. w = c[v >> 2] | 0;
  99718. x = (w + 8) | 0;
  99719. c[v >> 2] = x;
  99720. l = h;
  99721. return;
  99722. }
  99723. c[((c[i >> 2] | 0) + 28) >> 2] = 2;
  99724. c[((c[i >> 2] | 0) + 32) >> 2] =
  99725. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  99726. (c[c[i >> 2] >> 2] | 0)) |
  99727. 0) /
  99728. 8) |
  99729. 0;
  99730. o = c[n >> 2] | 0;
  99731. p = o & 65535;
  99732. q = c[i >> 2] | 0;
  99733. r = (q + 4) | 0;
  99734. s = c[r >> 2] | 0;
  99735. t = (s + 6) | 0;
  99736. b[t >> 1] = p;
  99737. u = c[i >> 2] | 0;
  99738. v = (u + 4) | 0;
  99739. w = c[v >> 2] | 0;
  99740. x = (w + 8) | 0;
  99741. c[v >> 2] = x;
  99742. l = h;
  99743. return;
  99744. }
  99745. function ln(a, b, d) {
  99746. a = a | 0;
  99747. b = b | 0;
  99748. d = d | 0;
  99749. var e = 0,
  99750. f = 0,
  99751. g = 0,
  99752. h = 0,
  99753. i = 0,
  99754. j = 0,
  99755. k = 0;
  99756. e = l;
  99757. l = (l + 32) | 0;
  99758. f = (e + 20) | 0;
  99759. g = (e + 16) | 0;
  99760. h = (e + 12) | 0;
  99761. i = (e + 8) | 0;
  99762. j = (e + 4) | 0;
  99763. k = e;
  99764. c[f >> 2] = a;
  99765. c[g >> 2] = b;
  99766. c[h >> 2] = d;
  99767. c[i >> 2] = c[g >> 2];
  99768. c[j >> 2] = c[f >> 2];
  99769. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  99770. do {
  99771. mn(c[j >> 2] | 0, c[i >> 2] | 0);
  99772. c[j >> 2] = (c[j >> 2] | 0) + 8;
  99773. c[i >> 2] = (c[i >> 2] | 0) + 8;
  99774. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  99775. l = e;
  99776. return;
  99777. }
  99778. function mn(b, d) {
  99779. b = b | 0;
  99780. d = d | 0;
  99781. var e = 0,
  99782. f = 0,
  99783. g = 0;
  99784. e = l;
  99785. l = (l + 16) | 0;
  99786. f = (e + 4) | 0;
  99787. g = e;
  99788. c[f >> 2] = b;
  99789. c[g >> 2] = d;
  99790. d = c[f >> 2] | 0;
  99791. f = c[g >> 2] | 0;
  99792. a[d >> 0] = a[f >> 0] | 0;
  99793. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  99794. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  99795. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  99796. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  99797. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  99798. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  99799. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  99800. l = e;
  99801. return;
  99802. }
  99803. function nn(a, b, e) {
  99804. a = a | 0;
  99805. b = b | 0;
  99806. e = e | 0;
  99807. var f = 0,
  99808. g = 0,
  99809. h = 0,
  99810. i = 0,
  99811. j = 0,
  99812. k = 0,
  99813. m = 0,
  99814. n = 0,
  99815. o = 0,
  99816. p = 0;
  99817. f = l;
  99818. l = (l + 32) | 0;
  99819. g = (f + 28) | 0;
  99820. h = (f + 24) | 0;
  99821. i = (f + 20) | 0;
  99822. j = (f + 16) | 0;
  99823. k = (f + 12) | 0;
  99824. m = (f + 8) | 0;
  99825. n = (f + 4) | 0;
  99826. o = f;
  99827. c[h >> 2] = a;
  99828. c[i >> 2] = b;
  99829. c[j >> 2] = e;
  99830. c[k >> 2] = c[h >> 2];
  99831. c[m >> 2] = (c[j >> 2] | 0) + -3;
  99832. a: do {
  99833. if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
  99834. e = on(c[i >> 2] | 0) | 0;
  99835. c[n >> 2] = e ^ (on(c[h >> 2] | 0) | 0);
  99836. if (c[n >> 2] | 0) {
  99837. c[g >> 2] = pn(c[n >> 2] | 0) | 0;
  99838. p = c[g >> 2] | 0;
  99839. l = f;
  99840. return p | 0;
  99841. }
  99842. c[h >> 2] = (c[h >> 2] | 0) + 4;
  99843. c[i >> 2] = (c[i >> 2] | 0) + 4;
  99844. while (1) {
  99845. if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
  99846. break a;
  99847. e = on(c[i >> 2] | 0) | 0;
  99848. c[o >> 2] = e ^ (on(c[h >> 2] | 0) | 0);
  99849. if (c[o >> 2] | 0) break;
  99850. c[h >> 2] = (c[h >> 2] | 0) + 4;
  99851. c[i >> 2] = (c[i >> 2] | 0) + 4;
  99852. }
  99853. e = pn(c[o >> 2] | 0) | 0;
  99854. c[h >> 2] = (c[h >> 2] | 0) + e;
  99855. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  99856. p = c[g >> 2] | 0;
  99857. l = f;
  99858. return p | 0;
  99859. }
  99860. } while (0);
  99861. if (
  99862. (
  99863. qn() | 0
  99864. ? (c[h >> 2] | 0) >>> 0 <
  99865. (((c[j >> 2] | 0) + -3) | 0) >>> 0
  99866. : 0
  99867. )
  99868. ? ((o = fl(c[i >> 2] | 0) | 0),
  99869. (o | 0) == (fl(c[h >> 2] | 0) | 0))
  99870. : 0
  99871. ) {
  99872. c[h >> 2] = (c[h >> 2] | 0) + 4;
  99873. c[i >> 2] = (c[i >> 2] | 0) + 4;
  99874. }
  99875. if (
  99876. (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
  99877. ? ((o = (rn(c[i >> 2] | 0) | 0) & 65535),
  99878. (o | 0) == (((rn(c[h >> 2] | 0) | 0) & 65535) | 0))
  99879. : 0
  99880. ) {
  99881. c[h >> 2] = (c[h >> 2] | 0) + 2;
  99882. c[i >> 2] = (c[i >> 2] | 0) + 2;
  99883. }
  99884. if (
  99885. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  99886. ? (d[c[i >> 2] >> 0] | 0 | 0) ==
  99887. (d[c[h >> 2] >> 0] | 0 | 0)
  99888. : 0
  99889. )
  99890. c[h >> 2] = (c[h >> 2] | 0) + 1;
  99891. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  99892. p = c[g >> 2] | 0;
  99893. l = f;
  99894. return p | 0;
  99895. }
  99896. function on(a) {
  99897. a = a | 0;
  99898. var b = 0,
  99899. e = 0;
  99900. b = l;
  99901. l = (l + 16) | 0;
  99902. e = b;
  99903. c[e >> 2] = a;
  99904. a = c[e >> 2] | 0;
  99905. l = b;
  99906. return (
  99907. d[a >> 0] |
  99908. (d[(a + 1) >> 0] << 8) |
  99909. (d[(a + 2) >> 0] << 16) |
  99910. (d[(a + 3) >> 0] << 24) |
  99911. 0
  99912. );
  99913. }
  99914. function pn(a) {
  99915. a = a | 0;
  99916. var b = 0,
  99917. d = 0,
  99918. e = 0,
  99919. f = 0,
  99920. g = 0;
  99921. b = l;
  99922. l = (l + 16) | 0;
  99923. d = (b + 4) | 0;
  99924. e = b;
  99925. c[e >> 2] = a;
  99926. a = ($k() | 0) != 0;
  99927. f = (qn() | 0) != 0;
  99928. g = c[e >> 2] | 0;
  99929. do {
  99930. if (a) {
  99931. if (f) {
  99932. e = ob(g | 0, 0, 0) | 0;
  99933. c[d >> 2] = e >> 3;
  99934. break;
  99935. } else {
  99936. c[d >> 2] = (fE(g | 0) | 0) >> 3;
  99937. break;
  99938. }
  99939. } else if (f) {
  99940. e = lE(g | 0, 0, 0) | 0;
  99941. c[d >> 2] = e >> 3;
  99942. break;
  99943. } else {
  99944. c[d >> 2] = (Q(g | 0) | 0) >> 3;
  99945. break;
  99946. }
  99947. } while (0);
  99948. l = b;
  99949. return c[d >> 2] | 0;
  99950. }
  99951. function qn() {
  99952. return 0;
  99953. }
  99954. function rn(a) {
  99955. a = a | 0;
  99956. var b = 0,
  99957. e = 0;
  99958. b = l;
  99959. l = (l + 16) | 0;
  99960. e = b;
  99961. c[e >> 2] = a;
  99962. a = c[e >> 2] | 0;
  99963. l = b;
  99964. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  99965. }
  99966. function sn(a, b, d, e, f) {
  99967. a = a | 0;
  99968. b = b | 0;
  99969. d = d | 0;
  99970. e = e | 0;
  99971. f = f | 0;
  99972. var g = 0,
  99973. h = 0,
  99974. i = 0,
  99975. j = 0,
  99976. k = 0,
  99977. m = 0,
  99978. n = 0,
  99979. o = 0;
  99980. g = l;
  99981. l = (l + 32) | 0;
  99982. h = (g + 20) | 0;
  99983. i = (g + 16) | 0;
  99984. j = (g + 12) | 0;
  99985. k = (g + 8) | 0;
  99986. m = (g + 4) | 0;
  99987. n = g;
  99988. c[i >> 2] = a;
  99989. c[j >> 2] = b;
  99990. c[k >> 2] = d;
  99991. c[m >> 2] = e;
  99992. c[n >> 2] = f;
  99993. switch (c[((c[j >> 2] | 0) + 16) >> 2] | 0) {
  99994. case 7:
  99995. case 6: {
  99996. c[h >> 2] =
  99997. un(
  99998. c[i >> 2] | 0,
  99999. c[j >> 2] | 0,
  100000. c[k >> 2] | 0,
  100001. c[m >> 2] | 0,
  100002. c[n >> 2] | 0,
  100003. 6
  100004. ) | 0;
  100005. o = c[h >> 2] | 0;
  100006. l = g;
  100007. return o | 0;
  100008. }
  100009. case 5: {
  100010. c[h >> 2] =
  100011. un(
  100012. c[i >> 2] | 0,
  100013. c[j >> 2] | 0,
  100014. c[k >> 2] | 0,
  100015. c[m >> 2] | 0,
  100016. c[n >> 2] | 0,
  100017. 5
  100018. ) | 0;
  100019. o = c[h >> 2] | 0;
  100020. l = g;
  100021. return o | 0;
  100022. }
  100023. default: {
  100024. c[h >> 2] =
  100025. un(
  100026. c[i >> 2] | 0,
  100027. c[j >> 2] | 0,
  100028. c[k >> 2] | 0,
  100029. c[m >> 2] | 0,
  100030. c[n >> 2] | 0,
  100031. 4
  100032. ) | 0;
  100033. o = c[h >> 2] | 0;
  100034. l = g;
  100035. return o | 0;
  100036. }
  100037. }
  100038. return 0;
  100039. }
  100040. function tn(a, b, e, f, g) {
  100041. a = a | 0;
  100042. b = b | 0;
  100043. e = e | 0;
  100044. f = f | 0;
  100045. g = g | 0;
  100046. var h = 0,
  100047. i = 0,
  100048. j = 0,
  100049. k = 0,
  100050. m = 0,
  100051. n = 0,
  100052. o = 0,
  100053. p = 0,
  100054. q = 0,
  100055. r = 0,
  100056. s = 0,
  100057. t = 0,
  100058. u = 0,
  100059. v = 0,
  100060. w = 0,
  100061. x = 0,
  100062. y = 0,
  100063. z = 0,
  100064. A = 0,
  100065. B = 0,
  100066. C = 0,
  100067. D = 0,
  100068. E = 0,
  100069. F = 0,
  100070. G = 0,
  100071. H = 0,
  100072. I = 0,
  100073. J = 0,
  100074. K = 0,
  100075. L = 0,
  100076. M = 0,
  100077. N = 0,
  100078. O = 0,
  100079. P = 0,
  100080. Q = 0,
  100081. R = 0,
  100082. S = 0,
  100083. T = 0,
  100084. U = 0,
  100085. V = 0,
  100086. W = 0,
  100087. X = 0,
  100088. Y = 0,
  100089. Z = 0,
  100090. _ = 0,
  100091. $ = 0,
  100092. aa = 0,
  100093. ba = 0,
  100094. ca = 0,
  100095. da = 0,
  100096. ea = 0,
  100097. fa = 0,
  100098. ga = 0,
  100099. ha = 0,
  100100. ia = 0,
  100101. ja = 0,
  100102. ka = 0,
  100103. la = 0,
  100104. ma = 0,
  100105. na = 0,
  100106. oa = 0,
  100107. pa = 0,
  100108. qa = 0,
  100109. ra = 0,
  100110. sa = 0,
  100111. ta = 0,
  100112. ua = 0,
  100113. va = 0,
  100114. wa = 0,
  100115. xa = 0,
  100116. ya = 0,
  100117. za = 0,
  100118. Aa = 0,
  100119. Ba = 0,
  100120. Ca = 0,
  100121. Da = 0,
  100122. Ea = 0,
  100123. Fa = 0,
  100124. Ga = 0,
  100125. Ha = 0,
  100126. Ia = 0,
  100127. Ja = 0,
  100128. Ka = 0,
  100129. La = 0;
  100130. h = l;
  100131. l = (l + 320) | 0;
  100132. i = (h + 308) | 0;
  100133. j = (h + 304) | 0;
  100134. k = (h + 300) | 0;
  100135. m = (h + 296) | 0;
  100136. n = (h + 292) | 0;
  100137. o = (h + 288) | 0;
  100138. p = (h + 284) | 0;
  100139. q = (h + 280) | 0;
  100140. r = (h + 276) | 0;
  100141. s = (h + 272) | 0;
  100142. t = (h + 268) | 0;
  100143. u = (h + 264) | 0;
  100144. v = (h + 260) | 0;
  100145. w = (h + 256) | 0;
  100146. x = (h + 252) | 0;
  100147. y = (h + 248) | 0;
  100148. z = (h + 244) | 0;
  100149. A = (h + 240) | 0;
  100150. B = (h + 236) | 0;
  100151. C = (h + 232) | 0;
  100152. D = (h + 228) | 0;
  100153. E = (h + 224) | 0;
  100154. F = (h + 220) | 0;
  100155. G = (h + 216) | 0;
  100156. H = (h + 212) | 0;
  100157. I = (h + 208) | 0;
  100158. J = (h + 204) | 0;
  100159. K = (h + 200) | 0;
  100160. L = (h + 196) | 0;
  100161. M = (h + 192) | 0;
  100162. N = (h + 188) | 0;
  100163. O = (h + 184) | 0;
  100164. P = (h + 180) | 0;
  100165. Q = (h + 176) | 0;
  100166. R = (h + 172) | 0;
  100167. S = (h + 168) | 0;
  100168. T = (h + 164) | 0;
  100169. U = (h + 160) | 0;
  100170. V = (h + 156) | 0;
  100171. W = (h + 152) | 0;
  100172. X = (h + 148) | 0;
  100173. Y = (h + 144) | 0;
  100174. Z = (h + 140) | 0;
  100175. _ = (h + 136) | 0;
  100176. $ = (h + 132) | 0;
  100177. aa = (h + 128) | 0;
  100178. ba = (h + 124) | 0;
  100179. ca = (h + 120) | 0;
  100180. da = (h + 116) | 0;
  100181. ea = (h + 112) | 0;
  100182. fa = (h + 108) | 0;
  100183. ga = (h + 104) | 0;
  100184. ha = (h + 100) | 0;
  100185. ia = (h + 96) | 0;
  100186. ja = (h + 92) | 0;
  100187. ka = (h + 88) | 0;
  100188. la = (h + 84) | 0;
  100189. ma = (h + 80) | 0;
  100190. na = (h + 76) | 0;
  100191. oa = (h + 72) | 0;
  100192. pa = (h + 68) | 0;
  100193. qa = (h + 64) | 0;
  100194. ra = (h + 60) | 0;
  100195. sa = (h + 56) | 0;
  100196. ta = (h + 52) | 0;
  100197. ua = (h + 48) | 0;
  100198. va = (h + 44) | 0;
  100199. wa = (h + 40) | 0;
  100200. xa = (h + 36) | 0;
  100201. ya = (h + 32) | 0;
  100202. za = (h + 28) | 0;
  100203. Aa = (h + 24) | 0;
  100204. Ba = (h + 20) | 0;
  100205. Ca = (h + 16) | 0;
  100206. Da = (h + 12) | 0;
  100207. Ea = (h + 8) | 0;
  100208. Fa = (h + 4) | 0;
  100209. Ga = h;
  100210. c[Ca >> 2] = a;
  100211. c[Da >> 2] = b;
  100212. c[Ea >> 2] = e;
  100213. c[Fa >> 2] = f;
  100214. c[Ga >> 2] = g;
  100215. switch (c[((c[Da >> 2] | 0) + 16) >> 2] | 0) {
  100216. case 7:
  100217. case 6: {
  100218. g = c[Da >> 2] | 0;
  100219. f = c[Ea >> 2] | 0;
  100220. e = c[Fa >> 2] | 0;
  100221. b = c[Ga >> 2] | 0;
  100222. c[i >> 2] = c[Ca >> 2];
  100223. c[j >> 2] = g;
  100224. c[k >> 2] = f;
  100225. c[m >> 2] = e;
  100226. c[n >> 2] = b;
  100227. c[o >> 2] = 6;
  100228. c[p >> 2] = 0;
  100229. c[q >> 2] = c[((c[i >> 2] | 0) + 44) >> 2];
  100230. c[r >> 2] = 1 << c[((c[j >> 2] | 0) + 4) >> 2];
  100231. c[s >> 2] = (c[r >> 2] | 0) - 1;
  100232. c[t >> 2] = c[((c[i >> 2] | 0) + 4) >> 2];
  100233. c[u >> 2] = c[((c[i >> 2] | 0) + 8) >> 2];
  100234. c[v >> 2] = c[((c[i >> 2] | 0) + 12) >> 2];
  100235. c[w >> 2] = (c[t >> 2] | 0) + (c[v >> 2] | 0);
  100236. c[x >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
  100237. c[y >> 2] = c[((c[i >> 2] | 0) + 16) >> 2];
  100238. c[z >> 2] = (c[k >> 2] | 0) - (c[t >> 2] | 0);
  100239. if ((c[z >> 2] | 0) >>> 0 > (c[r >> 2] | 0) >>> 0)
  100240. Ha = ((c[z >> 2] | 0) - (c[r >> 2] | 0)) | 0;
  100241. else Ha = 0;
  100242. c[A >> 2] = Ha;
  100243. c[B >> 2] = 1 << c[((c[j >> 2] | 0) + 12) >> 2];
  100244. c[C >> 2] = 3;
  100245. c[D >> 2] =
  100246. mk(
  100247. c[i >> 2] | 0,
  100248. c[j >> 2] | 0,
  100249. c[k >> 2] | 0,
  100250. c[o >> 2] | 0
  100251. ) | 0;
  100252. while (1) {
  100253. if (
  100254. !(
  100255. ((c[B >> 2] | 0) >>> 0 > 0
  100256. ? (c[D >> 2] | 0) >>> 0 > (c[y >> 2] | 0) >>> 0
  100257. : 0) | 0
  100258. )
  100259. )
  100260. break;
  100261. c[E >> 2] = 0;
  100262. if (
  100263. c[p >> 2] | 0
  100264. ? (c[D >> 2] | 0) >>> 0 < (c[v >> 2] | 0) >>> 0
  100265. : 0
  100266. ) {
  100267. c[G >> 2] = (c[u >> 2] | 0) + (c[D >> 2] | 0);
  100268. o = Bk(c[G >> 2] | 0) | 0;
  100269. if ((o | 0) == (Bk(c[k >> 2] | 0) | 0))
  100270. c[E >> 2] =
  100271. (Lm(
  100272. ((c[k >> 2] | 0) + 4) | 0,
  100273. ((c[G >> 2] | 0) + 4) | 0,
  100274. c[m >> 2] | 0,
  100275. c[x >> 2] | 0,
  100276. c[w >> 2] | 0
  100277. ) |
  100278. 0) +
  100279. 4;
  100280. } else Ia = 38;
  100281. if (
  100282. (Ia | 0) == 38
  100283. ? ((Ia = 0),
  100284. (c[F >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0)),
  100285. (d[((c[F >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
  100286. 0 |
  100287. 0) ==
  100288. (d[((c[k >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
  100289. 0 |
  100290. 0))
  100291. : 0
  100292. )
  100293. c[E >> 2] =
  100294. Qm(c[k >> 2] | 0, c[F >> 2] | 0, c[m >> 2] | 0) | 0;
  100295. if (
  100296. (c[E >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
  100297. ? ((c[C >> 2] = c[E >> 2]),
  100298. (c[c[n >> 2] >> 2] =
  100299. (c[z >> 2] | 0) - (c[D >> 2] | 0) + 2),
  100300. (((c[k >> 2] | 0) + (c[E >> 2] | 0)) | 0) ==
  100301. (c[m >> 2] | 0))
  100302. : 0
  100303. )
  100304. break;
  100305. if ((c[D >> 2] | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0)
  100306. break;
  100307. c[D >> 2] =
  100308. c[
  100309. ((c[q >> 2] | 0) +
  100310. ((c[D >> 2] & c[s >> 2]) << 2)) >>
  100311. 2
  100312. ];
  100313. c[B >> 2] = (c[B >> 2] | 0) + -1;
  100314. }
  100315. c[Ba >> 2] = c[C >> 2];
  100316. Ja = c[Ba >> 2] | 0;
  100317. l = h;
  100318. return Ja | 0;
  100319. }
  100320. case 5: {
  100321. C = c[Da >> 2] | 0;
  100322. B = c[Ea >> 2] | 0;
  100323. s = c[Fa >> 2] | 0;
  100324. D = c[Ga >> 2] | 0;
  100325. c[H >> 2] = c[Ca >> 2];
  100326. c[I >> 2] = C;
  100327. c[J >> 2] = B;
  100328. c[K >> 2] = s;
  100329. c[L >> 2] = D;
  100330. c[M >> 2] = 5;
  100331. c[N >> 2] = 0;
  100332. c[O >> 2] = c[((c[H >> 2] | 0) + 44) >> 2];
  100333. c[P >> 2] = 1 << c[((c[I >> 2] | 0) + 4) >> 2];
  100334. c[Q >> 2] = (c[P >> 2] | 0) - 1;
  100335. c[R >> 2] = c[((c[H >> 2] | 0) + 4) >> 2];
  100336. c[S >> 2] = c[((c[H >> 2] | 0) + 8) >> 2];
  100337. c[T >> 2] = c[((c[H >> 2] | 0) + 12) >> 2];
  100338. c[U >> 2] = (c[R >> 2] | 0) + (c[T >> 2] | 0);
  100339. c[V >> 2] = (c[S >> 2] | 0) + (c[T >> 2] | 0);
  100340. c[W >> 2] = c[((c[H >> 2] | 0) + 16) >> 2];
  100341. c[X >> 2] = (c[J >> 2] | 0) - (c[R >> 2] | 0);
  100342. if ((c[X >> 2] | 0) >>> 0 > (c[P >> 2] | 0) >>> 0)
  100343. Ka = ((c[X >> 2] | 0) - (c[P >> 2] | 0)) | 0;
  100344. else Ka = 0;
  100345. c[Y >> 2] = Ka;
  100346. c[Z >> 2] = 1 << c[((c[I >> 2] | 0) + 12) >> 2];
  100347. c[_ >> 2] = 3;
  100348. c[$ >> 2] =
  100349. mk(
  100350. c[H >> 2] | 0,
  100351. c[I >> 2] | 0,
  100352. c[J >> 2] | 0,
  100353. c[M >> 2] | 0
  100354. ) | 0;
  100355. while (1) {
  100356. if (
  100357. !(
  100358. ((c[Z >> 2] | 0) >>> 0 > 0
  100359. ? (c[$ >> 2] | 0) >>> 0 > (c[W >> 2] | 0) >>> 0
  100360. : 0) | 0
  100361. )
  100362. )
  100363. break;
  100364. c[aa >> 2] = 0;
  100365. if (
  100366. c[N >> 2] | 0
  100367. ? (c[$ >> 2] | 0) >>> 0 < (c[T >> 2] | 0) >>> 0
  100368. : 0
  100369. ) {
  100370. c[ca >> 2] = (c[S >> 2] | 0) + (c[$ >> 2] | 0);
  100371. M = Bk(c[ca >> 2] | 0) | 0;
  100372. if ((M | 0) == (Bk(c[J >> 2] | 0) | 0))
  100373. c[aa >> 2] =
  100374. (Lm(
  100375. ((c[J >> 2] | 0) + 4) | 0,
  100376. ((c[ca >> 2] | 0) + 4) | 0,
  100377. c[K >> 2] | 0,
  100378. c[V >> 2] | 0,
  100379. c[U >> 2] | 0
  100380. ) |
  100381. 0) +
  100382. 4;
  100383. } else Ia = 23;
  100384. if (
  100385. (Ia | 0) == 23
  100386. ? ((Ia = 0),
  100387. (c[ba >> 2] = (c[R >> 2] | 0) + (c[$ >> 2] | 0)),
  100388. (d[((c[ba >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
  100389. 0 |
  100390. 0) ==
  100391. (d[((c[J >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
  100392. 0 |
  100393. 0))
  100394. : 0
  100395. )
  100396. c[aa >> 2] =
  100397. Qm(c[J >> 2] | 0, c[ba >> 2] | 0, c[K >> 2] | 0) |
  100398. 0;
  100399. if (
  100400. (c[aa >> 2] | 0) >>> 0 > (c[_ >> 2] | 0) >>> 0
  100401. ? ((c[_ >> 2] = c[aa >> 2]),
  100402. (c[c[L >> 2] >> 2] =
  100403. (c[X >> 2] | 0) - (c[$ >> 2] | 0) + 2),
  100404. (((c[J >> 2] | 0) + (c[aa >> 2] | 0)) | 0) ==
  100405. (c[K >> 2] | 0))
  100406. : 0
  100407. )
  100408. break;
  100409. if ((c[$ >> 2] | 0) >>> 0 <= (c[Y >> 2] | 0) >>> 0)
  100410. break;
  100411. c[$ >> 2] =
  100412. c[
  100413. ((c[O >> 2] | 0) +
  100414. ((c[$ >> 2] & c[Q >> 2]) << 2)) >>
  100415. 2
  100416. ];
  100417. c[Z >> 2] = (c[Z >> 2] | 0) + -1;
  100418. }
  100419. c[Ba >> 2] = c[_ >> 2];
  100420. Ja = c[Ba >> 2] | 0;
  100421. l = h;
  100422. return Ja | 0;
  100423. }
  100424. default: {
  100425. _ = c[Da >> 2] | 0;
  100426. Da = c[Ea >> 2] | 0;
  100427. Ea = c[Fa >> 2] | 0;
  100428. Fa = c[Ga >> 2] | 0;
  100429. c[da >> 2] = c[Ca >> 2];
  100430. c[ea >> 2] = _;
  100431. c[fa >> 2] = Da;
  100432. c[ga >> 2] = Ea;
  100433. c[ha >> 2] = Fa;
  100434. c[ia >> 2] = 4;
  100435. c[ja >> 2] = 0;
  100436. c[ka >> 2] = c[((c[da >> 2] | 0) + 44) >> 2];
  100437. c[la >> 2] = 1 << c[((c[ea >> 2] | 0) + 4) >> 2];
  100438. c[ma >> 2] = (c[la >> 2] | 0) - 1;
  100439. c[na >> 2] = c[((c[da >> 2] | 0) + 4) >> 2];
  100440. c[oa >> 2] = c[((c[da >> 2] | 0) + 8) >> 2];
  100441. c[pa >> 2] = c[((c[da >> 2] | 0) + 12) >> 2];
  100442. c[qa >> 2] = (c[na >> 2] | 0) + (c[pa >> 2] | 0);
  100443. c[ra >> 2] = (c[oa >> 2] | 0) + (c[pa >> 2] | 0);
  100444. c[sa >> 2] = c[((c[da >> 2] | 0) + 16) >> 2];
  100445. c[ta >> 2] = (c[fa >> 2] | 0) - (c[na >> 2] | 0);
  100446. if ((c[ta >> 2] | 0) >>> 0 > (c[la >> 2] | 0) >>> 0)
  100447. La = ((c[ta >> 2] | 0) - (c[la >> 2] | 0)) | 0;
  100448. else La = 0;
  100449. c[ua >> 2] = La;
  100450. c[va >> 2] = 1 << c[((c[ea >> 2] | 0) + 12) >> 2];
  100451. c[wa >> 2] = 3;
  100452. c[xa >> 2] =
  100453. mk(
  100454. c[da >> 2] | 0,
  100455. c[ea >> 2] | 0,
  100456. c[fa >> 2] | 0,
  100457. c[ia >> 2] | 0
  100458. ) | 0;
  100459. while (1) {
  100460. if (
  100461. !(
  100462. ((c[va >> 2] | 0) >>> 0 > 0
  100463. ? (c[xa >> 2] | 0) >>> 0 > (c[sa >> 2] | 0) >>> 0
  100464. : 0) | 0
  100465. )
  100466. )
  100467. break;
  100468. c[ya >> 2] = 0;
  100469. if (
  100470. c[ja >> 2] | 0
  100471. ? (c[xa >> 2] | 0) >>> 0 < (c[pa >> 2] | 0) >>> 0
  100472. : 0
  100473. ) {
  100474. c[Aa >> 2] = (c[oa >> 2] | 0) + (c[xa >> 2] | 0);
  100475. ia = Bk(c[Aa >> 2] | 0) | 0;
  100476. if ((ia | 0) == (Bk(c[fa >> 2] | 0) | 0))
  100477. c[ya >> 2] =
  100478. (Lm(
  100479. ((c[fa >> 2] | 0) + 4) | 0,
  100480. ((c[Aa >> 2] | 0) + 4) | 0,
  100481. c[ga >> 2] | 0,
  100482. c[ra >> 2] | 0,
  100483. c[qa >> 2] | 0
  100484. ) |
  100485. 0) +
  100486. 4;
  100487. } else Ia = 8;
  100488. if (
  100489. (Ia | 0) == 8
  100490. ? ((Ia = 0),
  100491. (c[za >> 2] =
  100492. (c[na >> 2] | 0) + (c[xa >> 2] | 0)),
  100493. (d[((c[za >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
  100494. 0 |
  100495. 0) ==
  100496. (d[((c[fa >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
  100497. 0 |
  100498. 0))
  100499. : 0
  100500. )
  100501. c[ya >> 2] =
  100502. Qm(c[fa >> 2] | 0, c[za >> 2] | 0, c[ga >> 2] | 0) |
  100503. 0;
  100504. if (
  100505. (c[ya >> 2] | 0) >>> 0 > (c[wa >> 2] | 0) >>> 0
  100506. ? ((c[wa >> 2] = c[ya >> 2]),
  100507. (c[c[ha >> 2] >> 2] =
  100508. (c[ta >> 2] | 0) - (c[xa >> 2] | 0) + 2),
  100509. (((c[fa >> 2] | 0) + (c[ya >> 2] | 0)) | 0) ==
  100510. (c[ga >> 2] | 0))
  100511. : 0
  100512. )
  100513. break;
  100514. if ((c[xa >> 2] | 0) >>> 0 <= (c[ua >> 2] | 0) >>> 0)
  100515. break;
  100516. c[xa >> 2] =
  100517. c[
  100518. ((c[ka >> 2] | 0) +
  100519. ((c[xa >> 2] & c[ma >> 2]) << 2)) >>
  100520. 2
  100521. ];
  100522. c[va >> 2] = (c[va >> 2] | 0) + -1;
  100523. }
  100524. c[Ba >> 2] = c[wa >> 2];
  100525. Ja = c[Ba >> 2] | 0;
  100526. l = h;
  100527. return Ja | 0;
  100528. }
  100529. }
  100530. return 0;
  100531. }
  100532. function un(a, b, d, e, f, g) {
  100533. a = a | 0;
  100534. b = b | 0;
  100535. d = d | 0;
  100536. e = e | 0;
  100537. f = f | 0;
  100538. g = g | 0;
  100539. var h = 0,
  100540. i = 0,
  100541. j = 0,
  100542. k = 0,
  100543. m = 0,
  100544. n = 0,
  100545. o = 0,
  100546. p = 0,
  100547. q = 0;
  100548. h = l;
  100549. l = (l + 32) | 0;
  100550. i = (h + 24) | 0;
  100551. j = (h + 20) | 0;
  100552. k = (h + 16) | 0;
  100553. m = (h + 12) | 0;
  100554. n = (h + 8) | 0;
  100555. o = (h + 4) | 0;
  100556. p = h;
  100557. c[j >> 2] = a;
  100558. c[k >> 2] = b;
  100559. c[m >> 2] = d;
  100560. c[n >> 2] = e;
  100561. c[o >> 2] = f;
  100562. c[p >> 2] = g;
  100563. if (
  100564. (c[m >> 2] | 0) >>> 0 <
  100565. (((c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
  100566. (c[((c[j >> 2] | 0) + 24) >> 2] | 0)) |
  100567. 0) >>>
  100568. 0
  100569. ) {
  100570. c[i >> 2] = 0;
  100571. q = c[i >> 2] | 0;
  100572. l = h;
  100573. return q | 0;
  100574. } else {
  100575. Wm(
  100576. c[j >> 2] | 0,
  100577. c[k >> 2] | 0,
  100578. c[m >> 2] | 0,
  100579. c[n >> 2] | 0,
  100580. c[p >> 2] | 0
  100581. );
  100582. c[i >> 2] =
  100583. Xm(
  100584. c[j >> 2] | 0,
  100585. c[k >> 2] | 0,
  100586. c[m >> 2] | 0,
  100587. c[n >> 2] | 0,
  100588. c[o >> 2] | 0,
  100589. c[p >> 2] | 0,
  100590. 0
  100591. ) | 0;
  100592. q = c[i >> 2] | 0;
  100593. l = h;
  100594. return q | 0;
  100595. }
  100596. return 0;
  100597. }
  100598. function vn(a, b, d, e, f) {
  100599. a = a | 0;
  100600. b = b | 0;
  100601. d = d | 0;
  100602. e = e | 0;
  100603. f = f | 0;
  100604. var g = 0,
  100605. h = 0,
  100606. i = 0,
  100607. j = 0,
  100608. k = 0,
  100609. m = 0;
  100610. g = l;
  100611. l = (l + 32) | 0;
  100612. h = (g + 16) | 0;
  100613. i = (g + 12) | 0;
  100614. j = (g + 8) | 0;
  100615. k = (g + 4) | 0;
  100616. m = g;
  100617. c[h >> 2] = a;
  100618. c[i >> 2] = b;
  100619. c[j >> 2] = d;
  100620. c[k >> 2] = e;
  100621. c[m >> 2] = f;
  100622. f =
  100623. wn(
  100624. c[h >> 2] | 0,
  100625. c[i >> 2] | 0,
  100626. c[j >> 2] | 0,
  100627. c[k >> 2] | 0,
  100628. c[m >> 2] | 0,
  100629. 1,
  100630. 0
  100631. ) | 0;
  100632. l = g;
  100633. return f | 0;
  100634. }
  100635. function wn(a, b, d, e, f, g, h) {
  100636. a = a | 0;
  100637. b = b | 0;
  100638. d = d | 0;
  100639. e = e | 0;
  100640. f = f | 0;
  100641. g = g | 0;
  100642. h = h | 0;
  100643. var i = 0,
  100644. j = 0,
  100645. k = 0,
  100646. m = 0,
  100647. n = 0,
  100648. o = 0,
  100649. p = 0,
  100650. q = 0,
  100651. r = 0,
  100652. s = 0,
  100653. t = 0,
  100654. u = 0,
  100655. v = 0,
  100656. w = 0,
  100657. x = 0,
  100658. z = 0;
  100659. i = l;
  100660. l = (l + 160) | 0;
  100661. j = (i + 48) | 0;
  100662. k = (i + 40) | 0;
  100663. m = (i + 36) | 0;
  100664. n = (i + 32) | 0;
  100665. o = (i + 28) | 0;
  100666. p = (i + 24) | 0;
  100667. q = (i + 20) | 0;
  100668. r = (i + 16) | 0;
  100669. s = (i + 12) | 0;
  100670. t = (i + 8) | 0;
  100671. u = (i + 4) | 0;
  100672. v = i;
  100673. c[m >> 2] = a;
  100674. c[n >> 2] = b;
  100675. c[o >> 2] = d;
  100676. c[p >> 2] = e;
  100677. c[q >> 2] = f;
  100678. c[r >> 2] = g;
  100679. c[s >> 2] = h;
  100680. c[t >> 2] = (c[m >> 2] | 0) + 472 + 8;
  100681. c[u >> 2] = 0;
  100682. if (!(c[c[m >> 2] >> 2] | 0)) {
  100683. c[k >> 2] = -60;
  100684. w = c[k >> 2] | 0;
  100685. l = i;
  100686. return w | 0;
  100687. }
  100688. do {
  100689. if (c[r >> 2] | 0 ? (c[c[m >> 2] >> 2] | 0) == 1 : 0) {
  100690. h = c[n >> 2] | 0;
  100691. g = c[o >> 2] | 0;
  100692. f = ((c[m >> 2] | 0) + 116) | 0;
  100693. e = ((c[m >> 2] | 0) + 240) | 0;
  100694. d = eE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, 1, 0) | 0;
  100695. e = y;
  100696. b = c[((c[m >> 2] | 0) + 220) >> 2] | 0;
  100697. a = j;
  100698. x = f;
  100699. f = (a + 104) | 0;
  100700. do {
  100701. c[a >> 2] = c[x >> 2];
  100702. a = (a + 4) | 0;
  100703. x = (x + 4) | 0;
  100704. } while ((a | 0) < (f | 0));
  100705. c[u >> 2] = xn(h, g, j, d, e, b) | 0;
  100706. x = (Ph(c[u >> 2] | 0) | 0) != 0;
  100707. a = c[u >> 2] | 0;
  100708. if (!x) {
  100709. c[o >> 2] = (c[o >> 2] | 0) - a;
  100710. c[n >> 2] = (c[n >> 2] | 0) + (c[u >> 2] | 0);
  100711. c[c[m >> 2] >> 2] = 2;
  100712. break;
  100713. }
  100714. c[k >> 2] = a;
  100715. w = c[k >> 2] | 0;
  100716. l = i;
  100717. return w | 0;
  100718. }
  100719. } while (0);
  100720. if (!(c[q >> 2] | 0)) {
  100721. c[k >> 2] = c[u >> 2];
  100722. w = c[k >> 2] | 0;
  100723. l = i;
  100724. return w | 0;
  100725. }
  100726. if (!(Mj(c[t >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0))
  100727. c[((c[t >> 2] | 0) + 24) >> 2] =
  100728. c[((c[t >> 2] | 0) + 12) >> 2];
  100729. if (c[((c[m >> 2] | 0) + 116 + 68) >> 2] | 0)
  100730. Mj(
  100731. ((c[m >> 2] | 0) + 408) | 0,
  100732. c[p >> 2] | 0,
  100733. c[q >> 2] | 0
  100734. ) | 0;
  100735. t = c[m >> 2] | 0;
  100736. j = c[n >> 2] | 0;
  100737. n = c[o >> 2] | 0;
  100738. o = c[p >> 2] | 0;
  100739. p = c[q >> 2] | 0;
  100740. if (c[r >> 2] | 0) z = yn(t, j, n, o, p, c[s >> 2] | 0) | 0;
  100741. else z = zn(t, j, n, o, p) | 0;
  100742. c[v >> 2] = z;
  100743. if (Ph(c[v >> 2] | 0) | 0) {
  100744. c[k >> 2] = c[v >> 2];
  100745. w = c[k >> 2] | 0;
  100746. l = i;
  100747. return w | 0;
  100748. }
  100749. z = ((c[m >> 2] | 0) + 248) | 0;
  100750. p = z;
  100751. o =
  100752. dE(c[p >> 2] | 0, c[(p + 4) >> 2] | 0, c[q >> 2] | 0, 0) |
  100753. 0;
  100754. q = z;
  100755. c[q >> 2] = o;
  100756. c[(q + 4) >> 2] = y;
  100757. q = ((c[m >> 2] | 0) + 256) | 0;
  100758. o = q;
  100759. z =
  100760. dE(
  100761. c[o >> 2] | 0,
  100762. c[(o + 4) >> 2] | 0,
  100763. ((c[v >> 2] | 0) + (c[u >> 2] | 0)) | 0,
  100764. 0
  100765. ) | 0;
  100766. o = q;
  100767. c[o >> 2] = z;
  100768. c[(o + 4) >> 2] = y;
  100769. if (
  100770. c[((c[m >> 2] | 0) + 116 + 32) >> 2] | 0
  100771. ? ((o = ((c[m >> 2] | 0) + 248) | 0),
  100772. (z = dE(c[o >> 2] | 0, c[(o + 4) >> 2] | 0, 1, 0) | 0),
  100773. (o = y),
  100774. (q = ((c[m >> 2] | 0) + 240) | 0),
  100775. (m = c[(q + 4) >> 2] | 0),
  100776. (o >>> 0 > m >>> 0) |
  100777. ((o | 0) == (m | 0)
  100778. ? z >>> 0 > (c[q >> 2] | 0) >>> 0
  100779. : 0))
  100780. : 0
  100781. ) {
  100782. c[k >> 2] = -72;
  100783. w = c[k >> 2] | 0;
  100784. l = i;
  100785. return w | 0;
  100786. }
  100787. c[k >> 2] = (c[v >> 2] | 0) + (c[u >> 2] | 0);
  100788. w = c[k >> 2] | 0;
  100789. l = i;
  100790. return w | 0;
  100791. }
  100792. function xn(b, d, e, f, g, h) {
  100793. b = b | 0;
  100794. d = d | 0;
  100795. e = e | 0;
  100796. f = f | 0;
  100797. g = g | 0;
  100798. h = h | 0;
  100799. var i = 0,
  100800. j = 0,
  100801. k = 0,
  100802. m = 0,
  100803. n = 0,
  100804. o = 0,
  100805. p = 0,
  100806. q = 0,
  100807. r = 0,
  100808. s = 0,
  100809. t = 0,
  100810. u = 0,
  100811. v = 0,
  100812. w = 0,
  100813. x = 0,
  100814. y = 0,
  100815. z = 0,
  100816. A = 0,
  100817. B = 0;
  100818. i = l;
  100819. l = (l + 64) | 0;
  100820. j = (i + 52) | 0;
  100821. k = (i + 48) | 0;
  100822. m = (i + 44) | 0;
  100823. n = i;
  100824. o = (i + 40) | 0;
  100825. p = (i + 36) | 0;
  100826. q = (i + 32) | 0;
  100827. r = (i + 28) | 0;
  100828. s = (i + 24) | 0;
  100829. t = (i + 20) | 0;
  100830. u = (i + 16) | 0;
  100831. v = (i + 57) | 0;
  100832. w = (i + 12) | 0;
  100833. x = (i + 56) | 0;
  100834. y = (i + 8) | 0;
  100835. c[k >> 2] = b;
  100836. c[m >> 2] = d;
  100837. d = n;
  100838. c[d >> 2] = f;
  100839. c[(d + 4) >> 2] = g;
  100840. c[o >> 2] = h;
  100841. c[p >> 2] = c[k >> 2];
  100842. c[q >> 2] =
  100843. (((c[o >> 2] | 0) >>> 0 > 0) & 1) +
  100844. (((c[o >> 2] | 0) >>> 0 >= 256) & 1) +
  100845. (((c[o >> 2] | 0) >>> 0 >= 65536) & 1);
  100846. c[r >> 2] = c[(e + 32 + 8) >> 2] | 0 ? 0 : c[q >> 2] | 0;
  100847. c[s >> 2] = ((c[(e + 32 + 4) >> 2] | 0) >>> 0 > 0) & 1;
  100848. c[t >> 2] = 1 << c[(e + 4) >> 2];
  100849. if (c[(e + 32) >> 2] | 0) {
  100850. q = n;
  100851. h = c[(q + 4) >> 2] | 0;
  100852. z =
  100853. (0 > h >>> 0) |
  100854. (0 == (h | 0)
  100855. ? (c[t >> 2] | 0) >>> 0 >= (c[q >> 2] | 0) >>> 0
  100856. : 0);
  100857. } else z = 0;
  100858. c[u >> 2] = z & 1;
  100859. a[v >> 0] = ((c[(e + 4) >> 2] | 0) - 10) << 3;
  100860. if (c[(e + 32) >> 2] | 0) {
  100861. z = n;
  100862. q = c[(z + 4) >> 2] | 0;
  100863. t = n;
  100864. h = c[(t + 4) >> 2] | 0;
  100865. g = n;
  100866. d = c[(g + 4) >> 2] | 0;
  100867. A =
  100868. ((((q >>> 0 > 0) |
  100869. (((q | 0) == 0) & ((c[z >> 2] | 0) >>> 0 >= 256))) &
  100870. 1) +
  100871. (((h >>> 0 > 0) |
  100872. (((h | 0) == 0) & ((c[t >> 2] | 0) >>> 0 >= 65792))) &
  100873. 1) +
  100874. (((d >>> 0 > 0) |
  100875. (((d | 0) == 0) &
  100876. ((c[g >> 2] | 0) >>> 0 >= 4294967295))) &
  100877. 1)) |
  100878. 0;
  100879. } else A = 0;
  100880. c[w >> 2] = A;
  100881. a[x >> 0] =
  100882. (c[r >> 2] | 0) +
  100883. (c[s >> 2] << 2) +
  100884. (c[u >> 2] << 5) +
  100885. (c[w >> 2] << 6);
  100886. c[y >> 2] = 0;
  100887. if ((c[m >> 2] | 0) >>> 0 < 18) {
  100888. c[j >> 2] = -70;
  100889. B = c[j >> 2] | 0;
  100890. l = i;
  100891. return B | 0;
  100892. }
  100893. if (!(c[e >> 2] | 0)) {
  100894. Pl(c[k >> 2] | 0, -47205080);
  100895. c[y >> 2] = 4;
  100896. }
  100897. k = a[x >> 0] | 0;
  100898. x = c[p >> 2] | 0;
  100899. e = c[y >> 2] | 0;
  100900. c[y >> 2] = e + 1;
  100901. a[(x + e) >> 0] = k;
  100902. if (!(c[u >> 2] | 0)) {
  100903. k = a[v >> 0] | 0;
  100904. v = c[p >> 2] | 0;
  100905. e = c[y >> 2] | 0;
  100906. c[y >> 2] = e + 1;
  100907. a[(v + e) >> 0] = k;
  100908. }
  100909. switch (c[r >> 2] | 0) {
  100910. case 3: {
  100911. Pl(
  100912. ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
  100913. c[o >> 2] | 0
  100914. );
  100915. c[y >> 2] = (c[y >> 2] | 0) + 4;
  100916. break;
  100917. }
  100918. case 1: {
  100919. a[((c[p >> 2] | 0) + (c[y >> 2] | 0)) >> 0] = c[o >> 2];
  100920. c[y >> 2] = (c[y >> 2] | 0) + 1;
  100921. break;
  100922. }
  100923. case 2: {
  100924. xl(
  100925. ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
  100926. c[o >> 2] & 65535
  100927. );
  100928. c[y >> 2] = (c[y >> 2] | 0) + 2;
  100929. break;
  100930. }
  100931. default: {
  100932. }
  100933. }
  100934. switch (c[w >> 2] | 0) {
  100935. case 3: {
  100936. w = n;
  100937. Ql(
  100938. ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
  100939. c[w >> 2] | 0,
  100940. c[(w + 4) >> 2] | 0
  100941. );
  100942. c[y >> 2] = (c[y >> 2] | 0) + 8;
  100943. break;
  100944. }
  100945. case 1: {
  100946. w = ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0;
  100947. o = n;
  100948. xl(
  100949. w,
  100950. (eE(c[o >> 2] | 0, c[(o + 4) >> 2] | 0, 256, 0) | 0) &
  100951. 65535
  100952. );
  100953. c[y >> 2] = (c[y >> 2] | 0) + 2;
  100954. break;
  100955. }
  100956. case 2: {
  100957. Pl(
  100958. ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
  100959. c[n >> 2] | 0
  100960. );
  100961. c[y >> 2] = (c[y >> 2] | 0) + 4;
  100962. break;
  100963. }
  100964. default:
  100965. if (c[u >> 2] | 0) {
  100966. u = c[n >> 2] & 255;
  100967. n = c[p >> 2] | 0;
  100968. p = c[y >> 2] | 0;
  100969. c[y >> 2] = p + 1;
  100970. a[(n + p) >> 0] = u;
  100971. }
  100972. }
  100973. c[j >> 2] = c[y >> 2];
  100974. B = c[j >> 2] | 0;
  100975. l = i;
  100976. return B | 0;
  100977. }
  100978. function yn(a, b, d, e, f, g) {
  100979. a = a | 0;
  100980. b = b | 0;
  100981. d = d | 0;
  100982. e = e | 0;
  100983. f = f | 0;
  100984. g = g | 0;
  100985. var h = 0,
  100986. i = 0,
  100987. j = 0,
  100988. k = 0,
  100989. m = 0,
  100990. n = 0,
  100991. o = 0,
  100992. p = 0,
  100993. q = 0,
  100994. r = 0,
  100995. s = 0,
  100996. t = 0,
  100997. u = 0,
  100998. v = 0,
  100999. w = 0,
  101000. x = 0,
  101001. y = 0,
  101002. z = 0,
  101003. A = 0,
  101004. B = 0,
  101005. C = 0,
  101006. D = 0,
  101007. E = 0,
  101008. F = 0,
  101009. G = 0;
  101010. h = l;
  101011. l = (l + 112) | 0;
  101012. i = (h + 80) | 0;
  101013. j = (h + 76) | 0;
  101014. k = (h + 72) | 0;
  101015. m = (h + 68) | 0;
  101016. n = (h + 64) | 0;
  101017. o = (h + 60) | 0;
  101018. p = (h + 56) | 0;
  101019. q = (h + 52) | 0;
  101020. r = (h + 48) | 0;
  101021. s = (h + 44) | 0;
  101022. t = (h + 40) | 0;
  101023. u = (h + 36) | 0;
  101024. v = (h + 32) | 0;
  101025. w = (h + 28) | 0;
  101026. x = (h + 24) | 0;
  101027. y = (h + 20) | 0;
  101028. z = (h + 16) | 0;
  101029. A = (h + 12) | 0;
  101030. B = (h + 8) | 0;
  101031. C = (h + 4) | 0;
  101032. D = h;
  101033. c[k >> 2] = a;
  101034. c[m >> 2] = b;
  101035. c[n >> 2] = d;
  101036. c[o >> 2] = e;
  101037. c[p >> 2] = f;
  101038. c[q >> 2] = g;
  101039. c[r >> 2] = c[((c[k >> 2] | 0) + 232) >> 2];
  101040. c[s >> 2] = c[p >> 2];
  101041. c[t >> 2] = c[o >> 2];
  101042. c[u >> 2] = c[m >> 2];
  101043. c[v >> 2] = c[u >> 2];
  101044. c[w >> 2] = 1 << c[((c[k >> 2] | 0) + 116 + 4) >> 2];
  101045. if (
  101046. c[p >> 2] | 0
  101047. ? (c[((c[k >> 2] | 0) + 116 + 32 + 4) >> 2] | 0) != 0
  101048. : 0
  101049. )
  101050. Nh(
  101051. ((c[k >> 2] | 0) + 264) | 0,
  101052. c[o >> 2] | 0,
  101053. c[p >> 2] | 0
  101054. ) | 0;
  101055. while (1) {
  101056. if (!(c[s >> 2] | 0)) {
  101057. E = 24;
  101058. break;
  101059. }
  101060. c[x >> 2] = (c[k >> 2] | 0) + 472 + 8;
  101061. c[y >> 2] =
  101062. c[q >> 2] &
  101063. ((c[r >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0);
  101064. if ((c[n >> 2] | 0) >>> 0 < 6) {
  101065. E = 6;
  101066. break;
  101067. }
  101068. if ((c[s >> 2] | 0) >>> 0 < (c[r >> 2] | 0) >>> 0)
  101069. c[r >> 2] = c[s >> 2];
  101070. p = c[x >> 2] | 0;
  101071. o = ((c[t >> 2] | 0) + (c[r >> 2] | 0)) | 0;
  101072. c[i >> 2] = c[p >> 2];
  101073. c[(i + 4) >> 2] = c[(p + 4) >> 2];
  101074. c[(i + 8) >> 2] = c[(p + 8) >> 2];
  101075. c[(i + 12) >> 2] = c[(p + 12) >> 2];
  101076. c[(i + 16) >> 2] = c[(p + 16) >> 2];
  101077. if (ro(i, o) | 0) {
  101078. c[z >> 2] =
  101079. vj(
  101080. c[((c[k >> 2] | 0) + 116 + 4 + 4) >> 2] | 0,
  101081. c[((c[k >> 2] | 0) + 116 + 4 + 24) >> 2] | 0
  101082. ) | 0;
  101083. c[A >> 2] =
  101084. so(
  101085. c[x >> 2] | 0,
  101086. c[z >> 2] | 0,
  101087. c[w >> 2] | 0,
  101088. c[t >> 2] | 0
  101089. ) | 0;
  101090. to(c[k >> 2] | 0, c[A >> 2] | 0);
  101091. if (
  101092. (c[((c[x >> 2] | 0) + 24) >> 2] | 0) >>> 0 <
  101093. (c[A >> 2] | 0) >>> 0
  101094. )
  101095. c[((c[x >> 2] | 0) + 24) >> 2] = 0;
  101096. else {
  101097. o = ((c[x >> 2] | 0) + 24) | 0;
  101098. c[o >> 2] = (c[o >> 2] | 0) - (c[A >> 2] | 0);
  101099. }
  101100. c[((c[x >> 2] | 0) + 20) >> 2] = 0;
  101101. }
  101102. uo(
  101103. c[x >> 2] | 0,
  101104. ((c[t >> 2] | 0) + (c[r >> 2] | 0)) | 0,
  101105. c[w >> 2] | 0,
  101106. ((c[x >> 2] | 0) + 20) | 0
  101107. );
  101108. if (
  101109. (c[((c[x >> 2] | 0) + 24) >> 2] | 0) >>> 0 <
  101110. (c[((c[x >> 2] | 0) + 16) >> 2] | 0) >>> 0
  101111. )
  101112. c[((c[x >> 2] | 0) + 24) >> 2] =
  101113. c[((c[x >> 2] | 0) + 16) >> 2];
  101114. c[B >> 2] =
  101115. zn(
  101116. c[k >> 2] | 0,
  101117. ((c[v >> 2] | 0) + 3) | 0,
  101118. ((c[n >> 2] | 0) - 3) | 0,
  101119. c[t >> 2] | 0,
  101120. c[r >> 2] | 0
  101121. ) | 0;
  101122. o = (Ph(c[B >> 2] | 0) | 0) != 0;
  101123. F = c[B >> 2] | 0;
  101124. if (o) {
  101125. E = 17;
  101126. break;
  101127. }
  101128. o = c[y >> 2] | 0;
  101129. if (!F) {
  101130. c[C >> 2] = o + 0 + (c[r >> 2] << 3);
  101131. if (
  101132. (((c[r >> 2] | 0) + 3) | 0) >>> 0 >
  101133. (c[n >> 2] | 0) >>> 0
  101134. ) {
  101135. E = 20;
  101136. break;
  101137. }
  101138. Pl(c[v >> 2] | 0, c[C >> 2] | 0);
  101139. mE(
  101140. ((c[v >> 2] | 0) + 3) | 0,
  101141. c[t >> 2] | 0,
  101142. c[r >> 2] | 0
  101143. ) | 0;
  101144. c[B >> 2] = 3 + (c[r >> 2] | 0);
  101145. } else {
  101146. c[D >> 2] = o + 4 + (c[B >> 2] << 3);
  101147. wl(c[v >> 2] | 0, c[D >> 2] | 0);
  101148. c[B >> 2] = (c[B >> 2] | 0) + 3;
  101149. }
  101150. c[t >> 2] = (c[t >> 2] | 0) + (c[r >> 2] | 0);
  101151. c[s >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  101152. c[v >> 2] = (c[v >> 2] | 0) + (c[B >> 2] | 0);
  101153. c[n >> 2] = (c[n >> 2] | 0) - (c[B >> 2] | 0);
  101154. }
  101155. if ((E | 0) == 6) {
  101156. c[j >> 2] = -70;
  101157. G = c[j >> 2] | 0;
  101158. l = h;
  101159. return G | 0;
  101160. } else if ((E | 0) == 17) {
  101161. c[j >> 2] = F;
  101162. G = c[j >> 2] | 0;
  101163. l = h;
  101164. return G | 0;
  101165. } else if ((E | 0) == 20) {
  101166. c[j >> 2] = -70;
  101167. G = c[j >> 2] | 0;
  101168. l = h;
  101169. return G | 0;
  101170. } else if ((E | 0) == 24) {
  101171. if (
  101172. c[q >> 2] | 0
  101173. ? (c[v >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
  101174. : 0
  101175. )
  101176. c[c[k >> 2] >> 2] = 3;
  101177. c[j >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
  101178. G = c[j >> 2] | 0;
  101179. l = h;
  101180. return G | 0;
  101181. }
  101182. return 0;
  101183. }
  101184. function zn(a, b, d, e, f) {
  101185. a = a | 0;
  101186. b = b | 0;
  101187. d = d | 0;
  101188. e = e | 0;
  101189. f = f | 0;
  101190. var g = 0,
  101191. h = 0,
  101192. i = 0,
  101193. j = 0,
  101194. k = 0,
  101195. m = 0,
  101196. n = 0,
  101197. o = 0,
  101198. p = 0,
  101199. q = 0,
  101200. r = 0,
  101201. s = 0,
  101202. t = 0,
  101203. u = 0,
  101204. v = 0,
  101205. w = 0,
  101206. x = 0,
  101207. y = 0,
  101208. z = 0,
  101209. A = 0,
  101210. B = 0,
  101211. C = 0,
  101212. D = 0,
  101213. E = 0;
  101214. g = l;
  101215. l = (l + 112) | 0;
  101216. h = (g + 92) | 0;
  101217. i = (g + 88) | 0;
  101218. j = (g + 84) | 0;
  101219. k = (g + 80) | 0;
  101220. m = (g + 76) | 0;
  101221. n = (g + 72) | 0;
  101222. o = (g + 68) | 0;
  101223. p = (g + 64) | 0;
  101224. q = (g + 60) | 0;
  101225. r = (g + 56) | 0;
  101226. s = (g + 52) | 0;
  101227. t = (g + 48) | 0;
  101228. u = (g + 44) | 0;
  101229. v = (g + 40) | 0;
  101230. w = (g + 24) | 0;
  101231. x = (g + 16) | 0;
  101232. y = (g + 12) | 0;
  101233. z = (g + 8) | 0;
  101234. A = (g + 4) | 0;
  101235. B = g;
  101236. c[j >> 2] = a;
  101237. c[k >> 2] = b;
  101238. c[m >> 2] = d;
  101239. c[n >> 2] = e;
  101240. c[o >> 2] = f;
  101241. c[p >> 2] = (c[j >> 2] | 0) + 472 + 8;
  101242. f = c[j >> 2] | 0;
  101243. if ((c[o >> 2] | 0) >>> 0 < 7) {
  101244. An(
  101245. (f + 456) | 0,
  101246. c[o >> 2] | 0,
  101247. c[((c[j >> 2] | 0) + 116 + 4 + 16) >> 2] | 0
  101248. );
  101249. c[i >> 2] = 0;
  101250. C = c[i >> 2] | 0;
  101251. l = g;
  101252. return C | 0;
  101253. }
  101254. Bn((f + 368) | 0);
  101255. c[q >> 2] = c[((c[p >> 2] | 0) + 4) >> 2];
  101256. c[r >> 2] = c[n >> 2];
  101257. c[s >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
  101258. if (
  101259. (c[s >> 2] | 0) >>> 0 >
  101260. (((c[((c[p >> 2] | 0) + 24) >> 2] | 0) + 384) | 0) >>> 0
  101261. ) {
  101262. if (
  101263. 192 <
  101264. (((c[s >> 2] | 0) -
  101265. (c[((c[p >> 2] | 0) + 24) >> 2] | 0) -
  101266. 384) |
  101267. 0) >>>
  101268. 0
  101269. )
  101270. D = 192;
  101271. else
  101272. D =
  101273. ((c[s >> 2] | 0) -
  101274. (c[((c[p >> 2] | 0) + 24) >> 2] | 0) -
  101275. 384) |
  101276. 0;
  101277. c[((c[p >> 2] | 0) + 24) >> 2] = (c[s >> 2] | 0) - D;
  101278. }
  101279. D = c[p >> 2] | 0;
  101280. c[h >> 2] = c[D >> 2];
  101281. c[(h + 4) >> 2] = c[(D + 4) >> 2];
  101282. c[(h + 8) >> 2] = c[(D + 8) >> 2];
  101283. c[(h + 12) >> 2] = c[(D + 12) >> 2];
  101284. c[(h + 16) >> 2] = c[(D + 16) >> 2];
  101285. c[t >> 2] = Cn(h) | 0;
  101286. c[v >> 2] = 0;
  101287. while (1) {
  101288. E = c[j >> 2] | 0;
  101289. if ((c[v >> 2] | 0) >= 3) break;
  101290. c[
  101291. ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) +
  101292. 4580 +
  101293. (c[v >> 2] << 2)) >>
  101294. 2
  101295. ] =
  101296. c[
  101297. ((c[(E + 472) >> 2] | 0) + 4580 + (c[v >> 2] << 2)) >> 2
  101298. ];
  101299. c[v >> 2] = (c[v >> 2] | 0) + 1;
  101300. }
  101301. v = c[j >> 2] | 0;
  101302. do {
  101303. if (
  101304. (c[(E + 456 + 4) >> 2] | 0) >>> 0 <
  101305. (c[((c[j >> 2] | 0) + 456 + 8) >> 2] | 0) >>> 0
  101306. )
  101307. c[u >> 2] =
  101308. Dn(
  101309. (v + 456) | 0,
  101310. c[p >> 2] | 0,
  101311. ((c[j >> 2] | 0) + 368) | 0,
  101312. ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) + 4580) |
  101313. 0,
  101314. ((c[j >> 2] | 0) + 116 + 4) | 0,
  101315. c[n >> 2] | 0,
  101316. c[o >> 2] | 0,
  101317. c[t >> 2] | 0
  101318. ) | 0;
  101319. else {
  101320. if (!(c[(v + 116 + 68) >> 2] | 0)) {
  101321. c[y >> 2] =
  101322. Wl(
  101323. c[((c[j >> 2] | 0) + 116 + 4 + 24) >> 2] | 0,
  101324. c[t >> 2] | 0
  101325. ) | 0;
  101326. c[u >> 2] =
  101327. uc[c[y >> 2] & 31](
  101328. c[p >> 2] | 0,
  101329. ((c[j >> 2] | 0) + 368) | 0,
  101330. ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) + 4580) |
  101331. 0,
  101332. ((c[j >> 2] | 0) + 116 + 4) | 0,
  101333. c[n >> 2] | 0,
  101334. c[o >> 2] | 0
  101335. ) | 0;
  101336. break;
  101337. }
  101338. c[w >> 2] = 0;
  101339. c[(w + 4) >> 2] = 0;
  101340. c[(w + 8) >> 2] = 0;
  101341. c[(w + 12) >> 2] = 0;
  101342. c[w >> 2] = c[((c[j >> 2] | 0) + 448) >> 2];
  101343. c[(w + 12) >> 2] = c[((c[j >> 2] | 0) + 452) >> 2];
  101344. c[x >> 2] =
  101345. En(
  101346. ((c[j >> 2] | 0) + 408) | 0,
  101347. w,
  101348. ((c[j >> 2] | 0) + 116 + 68) | 0,
  101349. c[n >> 2] | 0,
  101350. c[o >> 2] | 0
  101351. ) | 0;
  101352. if (!(wj(c[x >> 2] | 0) | 0)) {
  101353. c[u >> 2] =
  101354. Dn(
  101355. w,
  101356. c[p >> 2] | 0,
  101357. ((c[j >> 2] | 0) + 368) | 0,
  101358. ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) + 4580) |
  101359. 0,
  101360. ((c[j >> 2] | 0) + 116 + 4) | 0,
  101361. c[n >> 2] | 0,
  101362. c[o >> 2] | 0,
  101363. c[t >> 2] | 0
  101364. ) | 0;
  101365. break;
  101366. }
  101367. c[i >> 2] = c[x >> 2];
  101368. C = c[i >> 2] | 0;
  101369. l = g;
  101370. return C | 0;
  101371. }
  101372. } while (0);
  101373. c[z >> 2] =
  101374. (c[n >> 2] | 0) + (c[o >> 2] | 0) + (0 - (c[u >> 2] | 0));
  101375. Fn(((c[j >> 2] | 0) + 368) | 0, c[z >> 2] | 0, c[u >> 2] | 0);
  101376. c[A >> 2] =
  101377. Gn(
  101378. ((c[j >> 2] | 0) + 368) | 0,
  101379. c[((c[j >> 2] | 0) + 472) >> 2] | 0,
  101380. c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0,
  101381. ((c[j >> 2] | 0) + 116) | 0,
  101382. c[k >> 2] | 0,
  101383. c[m >> 2] | 0,
  101384. c[o >> 2] | 0,
  101385. c[((c[j >> 2] | 0) + 588) >> 2] | 0,
  101386. c[((c[j >> 2] | 0) + 8) >> 2] | 0
  101387. ) | 0;
  101388. o = (Ph(c[A >> 2] | 0) | 0) != 0;
  101389. if (o | ((c[A >> 2] | 0) == 0)) {
  101390. c[i >> 2] = c[A >> 2];
  101391. C = c[i >> 2] | 0;
  101392. l = g;
  101393. return C | 0;
  101394. } else {
  101395. c[B >> 2] = c[((c[j >> 2] | 0) + 472) >> 2];
  101396. c[((c[j >> 2] | 0) + 472) >> 2] =
  101397. c[((c[j >> 2] | 0) + 472 + 4) >> 2];
  101398. c[((c[j >> 2] | 0) + 472 + 4) >> 2] = c[B >> 2];
  101399. c[i >> 2] = c[A >> 2];
  101400. C = c[i >> 2] | 0;
  101401. l = g;
  101402. return C | 0;
  101403. }
  101404. return 0;
  101405. }
  101406. function An(a, b, d) {
  101407. a = a | 0;
  101408. b = b | 0;
  101409. d = d | 0;
  101410. var e = 0,
  101411. f = 0,
  101412. g = 0,
  101413. h = 0,
  101414. i = 0,
  101415. j = 0;
  101416. e = l;
  101417. l = (l + 16) | 0;
  101418. f = (e + 12) | 0;
  101419. g = (e + 8) | 0;
  101420. h = (e + 4) | 0;
  101421. i = e;
  101422. c[f >> 2] = a;
  101423. c[g >> 2] = b;
  101424. c[h >> 2] = d;
  101425. while (1) {
  101426. if ((c[g >> 2] | 0) >>> 0 <= 0) {
  101427. j = 12;
  101428. break;
  101429. }
  101430. if (
  101431. (c[((c[f >> 2] | 0) + 4) >> 2] | 0) >>> 0 >=
  101432. (c[((c[f >> 2] | 0) + 8) >> 2] | 0) >>> 0
  101433. ) {
  101434. j = 12;
  101435. break;
  101436. }
  101437. c[i >> 2] =
  101438. (c[c[f >> 2] >> 2] | 0) +
  101439. (((c[((c[f >> 2] | 0) + 4) >> 2] | 0) * 12) | 0);
  101440. if (
  101441. (c[g >> 2] | 0) >>> 0 <=
  101442. (c[((c[i >> 2] | 0) + 4) >> 2] | 0) >>> 0
  101443. ) {
  101444. j = 5;
  101445. break;
  101446. }
  101447. c[g >> 2] =
  101448. (c[g >> 2] | 0) - (c[((c[i >> 2] | 0) + 4) >> 2] | 0);
  101449. c[((c[i >> 2] | 0) + 4) >> 2] = 0;
  101450. if (
  101451. (c[g >> 2] | 0) >>> 0 <
  101452. (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0
  101453. ) {
  101454. j = 7;
  101455. break;
  101456. }
  101457. c[g >> 2] =
  101458. (c[g >> 2] | 0) - (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
  101459. c[((c[i >> 2] | 0) + 8) >> 2] = 0;
  101460. d = ((c[f >> 2] | 0) + 4) | 0;
  101461. c[d >> 2] = (c[d >> 2] | 0) + 1;
  101462. }
  101463. if ((j | 0) == 5) {
  101464. d = ((c[i >> 2] | 0) + 4) | 0;
  101465. c[d >> 2] = (c[d >> 2] | 0) - (c[g >> 2] | 0);
  101466. l = e;
  101467. return;
  101468. } else if ((j | 0) == 7) {
  101469. d = ((c[i >> 2] | 0) + 8) | 0;
  101470. c[d >> 2] = (c[d >> 2] | 0) - (c[g >> 2] | 0);
  101471. if (
  101472. (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  101473. (c[h >> 2] | 0) >>> 0
  101474. ) {
  101475. l = e;
  101476. return;
  101477. }
  101478. if (
  101479. (((c[((c[f >> 2] | 0) + 4) >> 2] | 0) + 1) | 0) >>> 0 <
  101480. (c[((c[f >> 2] | 0) + 8) >> 2] | 0) >>> 0
  101481. ) {
  101482. h = ((c[i >> 2] | 0) + 12 + 4) | 0;
  101483. c[h >> 2] =
  101484. (c[h >> 2] | 0) + (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
  101485. }
  101486. i = ((c[f >> 2] | 0) + 4) | 0;
  101487. c[i >> 2] = (c[i >> 2] | 0) + 1;
  101488. l = e;
  101489. return;
  101490. } else if ((j | 0) == 12) {
  101491. l = e;
  101492. return;
  101493. }
  101494. }
  101495. function Bn(a) {
  101496. a = a | 0;
  101497. var b = 0,
  101498. d = 0;
  101499. b = l;
  101500. l = (l + 16) | 0;
  101501. d = b;
  101502. c[d >> 2] = a;
  101503. c[((c[d >> 2] | 0) + 12) >> 2] =
  101504. c[((c[d >> 2] | 0) + 8) >> 2];
  101505. c[((c[d >> 2] | 0) + 4) >> 2] = c[c[d >> 2] >> 2];
  101506. c[((c[d >> 2] | 0) + 28) >> 2] = 0;
  101507. l = b;
  101508. return;
  101509. }
  101510. function Cn(a) {
  101511. a = a | 0;
  101512. return (
  101513. ((c[(a + 16) >> 2] | 0) >>> 0 <
  101514. (c[(a + 12) >> 2] | 0) >>> 0) |
  101515. 0
  101516. );
  101517. }
  101518. function Dn(a, b, d, e, f, g, h, i) {
  101519. a = a | 0;
  101520. b = b | 0;
  101521. d = d | 0;
  101522. e = e | 0;
  101523. f = f | 0;
  101524. g = g | 0;
  101525. h = h | 0;
  101526. i = i | 0;
  101527. var j = 0,
  101528. k = 0,
  101529. m = 0,
  101530. n = 0,
  101531. o = 0,
  101532. p = 0,
  101533. q = 0,
  101534. r = 0,
  101535. s = 0,
  101536. t = 0,
  101537. u = 0,
  101538. v = 0,
  101539. w = 0,
  101540. x = 0,
  101541. y = 0,
  101542. z = 0,
  101543. A = 0,
  101544. B = 0,
  101545. C = 0;
  101546. j = l;
  101547. l = (l + 80) | 0;
  101548. k = (j + 76) | 0;
  101549. m = (j + 72) | 0;
  101550. n = (j + 68) | 0;
  101551. o = (j + 64) | 0;
  101552. p = (j + 60) | 0;
  101553. q = (j + 56) | 0;
  101554. r = (j + 52) | 0;
  101555. s = (j + 48) | 0;
  101556. t = (j + 44) | 0;
  101557. u = (j + 40) | 0;
  101558. v = (j + 36) | 0;
  101559. w = (j + 32) | 0;
  101560. x = (j + 28) | 0;
  101561. y = (j + 24) | 0;
  101562. z = (j + 12) | 0;
  101563. A = (j + 8) | 0;
  101564. B = (j + 4) | 0;
  101565. C = j;
  101566. c[k >> 2] = a;
  101567. c[m >> 2] = b;
  101568. c[n >> 2] = d;
  101569. c[o >> 2] = e;
  101570. c[p >> 2] = f;
  101571. c[q >> 2] = g;
  101572. c[r >> 2] = h;
  101573. c[s >> 2] = i;
  101574. c[t >> 2] = c[((c[p >> 2] | 0) + 16) >> 2];
  101575. c[u >> 2] =
  101576. Wl(c[((c[p >> 2] | 0) + 24) >> 2] | 0, c[s >> 2] | 0) | 0;
  101577. c[v >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  101578. c[w >> 2] = c[q >> 2];
  101579. c[x >> 2] = (c[w >> 2] | 0) + (c[r >> 2] | 0);
  101580. c[y >> 2] = c[w >> 2];
  101581. while (1) {
  101582. if (
  101583. (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 >=
  101584. (c[((c[k >> 2] | 0) + 8) >> 2] | 0) >>> 0
  101585. )
  101586. break;
  101587. if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
  101588. lo(
  101589. z,
  101590. c[k >> 2] | 0,
  101591. ((c[x >> 2] | 0) - (c[y >> 2] | 0)) | 0,
  101592. c[t >> 2] | 0
  101593. );
  101594. if (!(c[z >> 2] | 0)) break;
  101595. mo(c[m >> 2] | 0, c[y >> 2] | 0);
  101596. no(c[m >> 2] | 0, c[p >> 2] | 0, c[y >> 2] | 0) | 0;
  101597. c[B >> 2] =
  101598. uc[c[u >> 2] & 31](
  101599. c[m >> 2] | 0,
  101600. c[n >> 2] | 0,
  101601. c[o >> 2] | 0,
  101602. c[p >> 2] | 0,
  101603. c[y >> 2] | 0,
  101604. c[(z + 4) >> 2] | 0
  101605. ) | 0;
  101606. c[y >> 2] = (c[y >> 2] | 0) + (c[(z + 4) >> 2] | 0);
  101607. c[((c[m >> 2] | 0) + 24) >> 2] =
  101608. (c[y >> 2] | 0) - (c[v >> 2] | 0);
  101609. c[A >> 2] = 2;
  101610. while (1) {
  101611. if ((c[A >> 2] | 0) <= 0) break;
  101612. c[((c[o >> 2] | 0) + (c[A >> 2] << 2)) >> 2] =
  101613. c[
  101614. ((c[o >> 2] | 0) + (((c[A >> 2] | 0) - 1) << 2)) >> 2
  101615. ];
  101616. c[A >> 2] = (c[A >> 2] | 0) + -1;
  101617. }
  101618. c[c[o >> 2] >> 2] = c[z >> 2];
  101619. oo(
  101620. c[n >> 2] | 0,
  101621. c[B >> 2] | 0,
  101622. ((c[y >> 2] | 0) + (0 - (c[B >> 2] | 0))) | 0,
  101623. ((c[z >> 2] | 0) + 2) | 0,
  101624. ((c[(z + 8) >> 2] | 0) - 3) | 0
  101625. );
  101626. c[y >> 2] = (c[y >> 2] | 0) + (c[(z + 8) >> 2] | 0);
  101627. }
  101628. mo(c[m >> 2] | 0, c[y >> 2] | 0);
  101629. no(c[m >> 2] | 0, c[p >> 2] | 0, c[y >> 2] | 0) | 0;
  101630. c[C >> 2] =
  101631. uc[c[u >> 2] & 31](
  101632. c[m >> 2] | 0,
  101633. c[n >> 2] | 0,
  101634. c[o >> 2] | 0,
  101635. c[p >> 2] | 0,
  101636. c[y >> 2] | 0,
  101637. ((c[x >> 2] | 0) - (c[y >> 2] | 0)) | 0
  101638. ) | 0;
  101639. c[((c[m >> 2] | 0) + 24) >> 2] =
  101640. (c[x >> 2] | 0) - (c[v >> 2] | 0);
  101641. l = j;
  101642. return c[C >> 2] | 0;
  101643. }
  101644. function En(a, b, d, e, f) {
  101645. a = a | 0;
  101646. b = b | 0;
  101647. d = d | 0;
  101648. e = e | 0;
  101649. f = f | 0;
  101650. var g = 0,
  101651. h = 0,
  101652. i = 0,
  101653. j = 0,
  101654. k = 0,
  101655. m = 0,
  101656. n = 0,
  101657. o = 0,
  101658. p = 0,
  101659. q = 0,
  101660. r = 0,
  101661. s = 0,
  101662. t = 0,
  101663. u = 0,
  101664. v = 0,
  101665. w = 0,
  101666. x = 0,
  101667. y = 0,
  101668. z = 0,
  101669. A = 0,
  101670. B = 0,
  101671. C = 0,
  101672. D = 0,
  101673. E = 0;
  101674. g = l;
  101675. l = (l + 112) | 0;
  101676. h = (g + 84) | 0;
  101677. i = (g + 80) | 0;
  101678. j = (g + 76) | 0;
  101679. k = (g + 72) | 0;
  101680. m = (g + 68) | 0;
  101681. n = (g + 64) | 0;
  101682. o = (g + 60) | 0;
  101683. p = (g + 56) | 0;
  101684. q = (g + 52) | 0;
  101685. r = (g + 48) | 0;
  101686. s = (g + 40) | 0;
  101687. t = (g + 36) | 0;
  101688. u = (g + 32) | 0;
  101689. v = (g + 28) | 0;
  101690. w = (g + 24) | 0;
  101691. x = (g + 20) | 0;
  101692. y = (g + 16) | 0;
  101693. z = (g + 12) | 0;
  101694. A = (g + 8) | 0;
  101695. B = (g + 4) | 0;
  101696. C = g;
  101697. c[j >> 2] = a;
  101698. c[k >> 2] = b;
  101699. c[m >> 2] = d;
  101700. c[n >> 2] = e;
  101701. c[o >> 2] = f;
  101702. c[p >> 2] = 1 << c[((c[m >> 2] | 0) + 20) >> 2];
  101703. c[q >> 2] = c[n >> 2];
  101704. c[r >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
  101705. c[(g + 44) >> 2] = 1048576;
  101706. c[s >> 2] =
  101707. ((((c[o >> 2] | 0) >>> 0) / 1048576) | 0) +
  101708. (((((c[o >> 2] | 0) >>> 0) % 1048576 | 0 | 0) != 0) & 1);
  101709. c[u >> 2] = 0;
  101710. c[t >> 2] = 0;
  101711. while (1) {
  101712. if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) {
  101713. D = 12;
  101714. break;
  101715. }
  101716. if (
  101717. (c[((c[k >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
  101718. (c[((c[k >> 2] | 0) + 12) >> 2] | 0) >>> 0
  101719. ) {
  101720. D = 12;
  101721. break;
  101722. }
  101723. c[v >> 2] = (c[q >> 2] | 0) + (c[t >> 2] << 20);
  101724. c[w >> 2] = (c[r >> 2] | 0) - (c[v >> 2] | 0);
  101725. c[x >> 2] =
  101726. (c[w >> 2] | 0) >>> 0 < 1048576
  101727. ? c[r >> 2] | 0
  101728. : ((c[v >> 2] | 0) + 1048576) | 0;
  101729. c[y >> 2] = (c[x >> 2] | 0) - (c[v >> 2] | 0);
  101730. c[A >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
  101731. o = c[j >> 2] | 0;
  101732. f = c[x >> 2] | 0;
  101733. c[h >> 2] = c[o >> 2];
  101734. c[(h + 4) >> 2] = c[(o + 4) >> 2];
  101735. c[(h + 8) >> 2] = c[(o + 8) >> 2];
  101736. c[(h + 12) >> 2] = c[(o + 12) >> 2];
  101737. c[(h + 16) >> 2] = c[(o + 16) >> 2];
  101738. if (On(h, f) | 0) {
  101739. c[B >> 2] = 1 << c[((c[m >> 2] | 0) + 4) >> 2];
  101740. c[C >> 2] =
  101741. Pn(c[j >> 2] | 0, 0, c[p >> 2] | 0, c[n >> 2] | 0) | 0;
  101742. Qn(
  101743. c[((c[j >> 2] | 0) + 20) >> 2] | 0,
  101744. c[B >> 2] | 0,
  101745. c[C >> 2] | 0
  101746. );
  101747. }
  101748. Rn(c[j >> 2] | 0, c[x >> 2] | 0, c[p >> 2] | 0, 0);
  101749. c[z >> 2] =
  101750. Sn(
  101751. c[j >> 2] | 0,
  101752. c[k >> 2] | 0,
  101753. c[m >> 2] | 0,
  101754. c[v >> 2] | 0,
  101755. c[y >> 2] | 0
  101756. ) | 0;
  101757. if (Ph(c[z >> 2] | 0) | 0) {
  101758. D = 7;
  101759. break;
  101760. }
  101761. if (
  101762. (c[A >> 2] | 0) >>> 0 <
  101763. (c[((c[k >> 2] | 0) + 8) >> 2] | 0) >>> 0
  101764. ) {
  101765. f =
  101766. ((c[c[k >> 2] >> 2] | 0) +
  101767. (((c[A >> 2] | 0) * 12) | 0) +
  101768. 4) |
  101769. 0;
  101770. c[f >> 2] = (c[f >> 2] | 0) + (c[u >> 2] | 0);
  101771. c[u >> 2] = c[z >> 2];
  101772. } else c[u >> 2] = (c[u >> 2] | 0) + (c[y >> 2] | 0);
  101773. c[t >> 2] = (c[t >> 2] | 0) + 1;
  101774. }
  101775. if ((D | 0) == 7) {
  101776. c[i >> 2] = c[z >> 2];
  101777. E = c[i >> 2] | 0;
  101778. l = g;
  101779. return E | 0;
  101780. } else if ((D | 0) == 12) {
  101781. c[i >> 2] = 0;
  101782. E = c[i >> 2] | 0;
  101783. l = g;
  101784. return E | 0;
  101785. }
  101786. return 0;
  101787. }
  101788. function Fn(a, b, d) {
  101789. a = a | 0;
  101790. b = b | 0;
  101791. d = d | 0;
  101792. var e = 0,
  101793. f = 0,
  101794. g = 0,
  101795. h = 0;
  101796. e = l;
  101797. l = (l + 16) | 0;
  101798. f = (e + 8) | 0;
  101799. g = (e + 4) | 0;
  101800. h = e;
  101801. c[f >> 2] = a;
  101802. c[g >> 2] = b;
  101803. c[h >> 2] = d;
  101804. mE(
  101805. c[((c[f >> 2] | 0) + 12) >> 2] | 0,
  101806. c[g >> 2] | 0,
  101807. c[h >> 2] | 0
  101808. ) | 0;
  101809. g = ((c[f >> 2] | 0) + 12) | 0;
  101810. c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
  101811. l = e;
  101812. return;
  101813. }
  101814. function Gn(a, b, d, e, f, g, h, i, j) {
  101815. a = a | 0;
  101816. b = b | 0;
  101817. d = d | 0;
  101818. e = e | 0;
  101819. f = f | 0;
  101820. g = g | 0;
  101821. h = h | 0;
  101822. i = i | 0;
  101823. j = j | 0;
  101824. var k = 0,
  101825. m = 0,
  101826. n = 0,
  101827. o = 0,
  101828. p = 0,
  101829. q = 0,
  101830. r = 0,
  101831. s = 0,
  101832. t = 0,
  101833. u = 0,
  101834. v = 0,
  101835. w = 0,
  101836. x = 0,
  101837. y = 0;
  101838. k = l;
  101839. l = (l + 48) | 0;
  101840. m = (k + 44) | 0;
  101841. n = (k + 40) | 0;
  101842. o = (k + 36) | 0;
  101843. p = (k + 32) | 0;
  101844. q = (k + 28) | 0;
  101845. r = (k + 24) | 0;
  101846. s = (k + 20) | 0;
  101847. t = (k + 16) | 0;
  101848. u = (k + 12) | 0;
  101849. v = (k + 8) | 0;
  101850. w = (k + 4) | 0;
  101851. x = k;
  101852. c[n >> 2] = a;
  101853. c[o >> 2] = b;
  101854. c[p >> 2] = d;
  101855. c[q >> 2] = e;
  101856. c[r >> 2] = f;
  101857. c[s >> 2] = g;
  101858. c[t >> 2] = h;
  101859. c[u >> 2] = i;
  101860. c[v >> 2] = j;
  101861. c[w >> 2] =
  101862. Hn(
  101863. c[n >> 2] | 0,
  101864. c[o >> 2] | 0,
  101865. c[p >> 2] | 0,
  101866. c[q >> 2] | 0,
  101867. c[r >> 2] | 0,
  101868. c[s >> 2] | 0,
  101869. c[u >> 2] | 0,
  101870. c[v >> 2] | 0
  101871. ) | 0;
  101872. if (
  101873. ((c[w >> 2] | 0) == -70
  101874. ? (c[t >> 2] | 0) >>> 0 <= (c[s >> 2] | 0) >>> 0
  101875. : 0) | 0
  101876. ) {
  101877. c[m >> 2] = 0;
  101878. y = c[m >> 2] | 0;
  101879. l = k;
  101880. return y | 0;
  101881. }
  101882. if (Ph(c[w >> 2] | 0) | 0) {
  101883. c[m >> 2] = c[w >> 2];
  101884. y = c[m >> 2] | 0;
  101885. l = k;
  101886. return y | 0;
  101887. }
  101888. s = c[t >> 2] | 0;
  101889. c[x >> 2] = s - (In(c[t >> 2] | 0) | 0);
  101890. if ((c[w >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) {
  101891. c[m >> 2] = 0;
  101892. y = c[m >> 2] | 0;
  101893. l = k;
  101894. return y | 0;
  101895. }
  101896. if ((c[((c[p >> 2] | 0) + 4568) >> 2] | 0) == 2)
  101897. c[((c[p >> 2] | 0) + 4568) >> 2] = 1;
  101898. c[m >> 2] = c[w >> 2];
  101899. y = c[m >> 2] | 0;
  101900. l = k;
  101901. return y | 0;
  101902. }
  101903. function Hn(b, d, e, f, g, h, i, j) {
  101904. b = b | 0;
  101905. d = d | 0;
  101906. e = e | 0;
  101907. f = f | 0;
  101908. g = g | 0;
  101909. h = h | 0;
  101910. i = i | 0;
  101911. j = j | 0;
  101912. var k = 0,
  101913. m = 0,
  101914. n = 0,
  101915. o = 0,
  101916. p = 0,
  101917. q = 0,
  101918. r = 0,
  101919. s = 0,
  101920. t = 0,
  101921. u = 0,
  101922. v = 0,
  101923. w = 0,
  101924. x = 0,
  101925. y = 0,
  101926. z = 0,
  101927. A = 0,
  101928. B = 0,
  101929. C = 0,
  101930. D = 0,
  101931. E = 0,
  101932. F = 0,
  101933. G = 0,
  101934. H = 0,
  101935. I = 0,
  101936. J = 0,
  101937. K = 0,
  101938. L = 0,
  101939. M = 0,
  101940. N = 0,
  101941. O = 0,
  101942. P = 0,
  101943. Q = 0,
  101944. R = 0,
  101945. S = 0,
  101946. T = 0,
  101947. U = 0,
  101948. V = 0,
  101949. W = 0,
  101950. X = 0,
  101951. Y = 0,
  101952. Z = 0,
  101953. _ = 0;
  101954. k = l;
  101955. l = (l + 368) | 0;
  101956. m = (k + 364) | 0;
  101957. n = (k + 360) | 0;
  101958. o = (k + 356) | 0;
  101959. p = (k + 352) | 0;
  101960. q = (k + 348) | 0;
  101961. r = (k + 344) | 0;
  101962. s = (k + 340) | 0;
  101963. t = (k + 336) | 0;
  101964. u = (k + 332) | 0;
  101965. v = (k + 328) | 0;
  101966. w = k;
  101967. x = (k + 324) | 0;
  101968. y = (k + 320) | 0;
  101969. z = (k + 316) | 0;
  101970. A = (k + 312) | 0;
  101971. B = (k + 308) | 0;
  101972. C = (k + 304) | 0;
  101973. D = (k + 300) | 0;
  101974. E = (k + 296) | 0;
  101975. F = (k + 292) | 0;
  101976. G = (k + 288) | 0;
  101977. H = (k + 284) | 0;
  101978. I = (k + 280) | 0;
  101979. J = (k + 276) | 0;
  101980. K = (k + 272) | 0;
  101981. L = (k + 268) | 0;
  101982. M = (k + 264) | 0;
  101983. N = (k + 260) | 0;
  101984. O = (k + 256) | 0;
  101985. P = (k + 252) | 0;
  101986. Q = (k + 248) | 0;
  101987. R = (k + 244) | 0;
  101988. S = (k + 240) | 0;
  101989. T = (k + 236) | 0;
  101990. U = (k + 232) | 0;
  101991. V = (k + 228) | 0;
  101992. W = (k + 224) | 0;
  101993. X = (k + 220) | 0;
  101994. Y = (k + 216) | 0;
  101995. Z = (k + 212) | 0;
  101996. c[n >> 2] = b;
  101997. c[o >> 2] = d;
  101998. c[p >> 2] = e;
  101999. c[q >> 2] = f;
  102000. c[r >> 2] = g;
  102001. c[s >> 2] = h;
  102002. c[t >> 2] = i;
  102003. c[u >> 2] = j;
  102004. j = c[((c[q >> 2] | 0) + 4) >> 2] | 0;
  102005. i = (Il() | 0) != 0;
  102006. c[v >> 2] = (j >>> 0 > (i ? 25 : 57) >>> 0) & 1;
  102007. c[x >> 2] = (c[p >> 2] | 0) + 3248;
  102008. c[y >> 2] = (c[p >> 2] | 0) + 1024;
  102009. c[z >> 2] = (c[p >> 2] | 0) + 1796;
  102010. c[D >> 2] = c[c[n >> 2] >> 2];
  102011. c[E >> 2] = c[((c[n >> 2] | 0) + 24) >> 2];
  102012. c[F >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
  102013. c[G >> 2] = c[((c[n >> 2] | 0) + 20) >> 2];
  102014. c[H >> 2] = c[r >> 2];
  102015. c[I >> 2] = (c[H >> 2] | 0) + (c[s >> 2] | 0);
  102016. c[J >> 2] = c[H >> 2];
  102017. c[K >> 2] =
  102018. ((((c[((c[n >> 2] | 0) + 4) >> 2] | 0) -
  102019. (c[c[n >> 2] >> 2] | 0)) |
  102020. 0) /
  102021. 8) |
  102022. 0;
  102023. c[M >> 2] = c[((c[n >> 2] | 0) + 8) >> 2];
  102024. c[N >> 2] =
  102025. (c[((c[n >> 2] | 0) + 12) >> 2] | 0) - (c[M >> 2] | 0);
  102026. c[O >> 2] =
  102027. Jn(
  102028. c[o >> 2] | 0,
  102029. c[p >> 2] | 0,
  102030. c[((c[q >> 2] | 0) + 4 + 24) >> 2] | 0,
  102031. c[((c[q >> 2] | 0) + 48) >> 2] | 0,
  102032. c[J >> 2] | 0,
  102033. c[s >> 2] | 0,
  102034. c[M >> 2] | 0,
  102035. c[N >> 2] | 0,
  102036. c[t >> 2] | 0,
  102037. c[u >> 2] | 0
  102038. ) | 0;
  102039. N = (Ph(c[O >> 2] | 0) | 0) != 0;
  102040. M = c[O >> 2] | 0;
  102041. if (N) {
  102042. c[m >> 2] = M;
  102043. _ = c[m >> 2] | 0;
  102044. l = k;
  102045. return _ | 0;
  102046. }
  102047. c[J >> 2] = (c[J >> 2] | 0) + M;
  102048. if ((((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0) < 4) {
  102049. c[m >> 2] = -70;
  102050. _ = c[m >> 2] | 0;
  102051. l = k;
  102052. return _ | 0;
  102053. }
  102054. M = c[K >> 2] | 0;
  102055. do {
  102056. if ((c[K >> 2] | 0) >>> 0 >= 127) {
  102057. if (M >>> 0 < 32512) {
  102058. a[c[J >> 2] >> 0] = ((c[K >> 2] | 0) >>> 8) + 128;
  102059. a[((c[J >> 2] | 0) + 1) >> 0] = c[K >> 2];
  102060. c[J >> 2] = (c[J >> 2] | 0) + 2;
  102061. break;
  102062. } else {
  102063. a[c[J >> 2] >> 0] = -1;
  102064. xl(
  102065. ((c[J >> 2] | 0) + 1) | 0,
  102066. ((c[K >> 2] | 0) - 32512) & 65535
  102067. );
  102068. c[J >> 2] = (c[J >> 2] | 0) + 3;
  102069. break;
  102070. }
  102071. } else {
  102072. N = c[J >> 2] | 0;
  102073. c[J >> 2] = N + 1;
  102074. a[N >> 0] = M;
  102075. }
  102076. } while (0);
  102077. if (!(c[K >> 2] | 0)) {
  102078. mE(
  102079. ((c[p >> 2] | 0) + 3248) | 0,
  102080. ((c[o >> 2] | 0) + 3248) | 0,
  102081. 1316
  102082. ) | 0;
  102083. c[((c[p >> 2] | 0) + 4576) >> 2] =
  102084. c[((c[o >> 2] | 0) + 4576) >> 2];
  102085. mE(
  102086. ((c[p >> 2] | 0) + 1024) | 0,
  102087. ((c[o >> 2] | 0) + 1024) | 0,
  102088. 772
  102089. ) | 0;
  102090. c[((c[p >> 2] | 0) + 4568) >> 2] =
  102091. c[((c[o >> 2] | 0) + 4568) >> 2];
  102092. mE(
  102093. ((c[p >> 2] | 0) + 1796) | 0,
  102094. ((c[o >> 2] | 0) + 1796) | 0,
  102095. 1452
  102096. ) | 0;
  102097. c[((c[p >> 2] | 0) + 4572) >> 2] =
  102098. c[((c[o >> 2] | 0) + 4572) >> 2];
  102099. c[m >> 2] = (c[J >> 2] | 0) - (c[H >> 2] | 0);
  102100. _ = c[m >> 2] | 0;
  102101. l = k;
  102102. return _ | 0;
  102103. }
  102104. M = c[J >> 2] | 0;
  102105. c[J >> 2] = M + 1;
  102106. c[L >> 2] = M;
  102107. zl(c[n >> 2] | 0);
  102108. c[P >> 2] = 35;
  102109. c[Q >> 2] =
  102110. _h(w, P, c[F >> 2] | 0, c[K >> 2] | 0, c[t >> 2] | 0) | 0;
  102111. c[((c[p >> 2] | 0) + 4576) >> 2] =
  102112. c[((c[o >> 2] | 0) + 4576) >> 2];
  102113. c[A >> 2] =
  102114. Kn(
  102115. ((c[p >> 2] | 0) + 4576) | 0,
  102116. c[Q >> 2] | 0,
  102117. c[K >> 2] | 0,
  102118. 6,
  102119. 1
  102120. ) | 0;
  102121. c[R >> 2] =
  102122. Ln(
  102123. c[J >> 2] | 0,
  102124. ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
  102125. c[x >> 2] | 0,
  102126. 9,
  102127. c[A >> 2] | 0,
  102128. w,
  102129. c[P >> 2] | 0,
  102130. c[F >> 2] | 0,
  102131. c[K >> 2] | 0,
  102132. 3200,
  102133. 6,
  102134. 35,
  102135. ((c[o >> 2] | 0) + 3248) | 0,
  102136. 1316,
  102137. c[t >> 2] | 0,
  102138. 6144
  102139. ) | 0;
  102140. P = (Ph(c[R >> 2] | 0) | 0) != 0;
  102141. Q = c[R >> 2] | 0;
  102142. if (P) {
  102143. c[m >> 2] = Q;
  102144. _ = c[m >> 2] | 0;
  102145. l = k;
  102146. return _ | 0;
  102147. }
  102148. c[J >> 2] = (c[J >> 2] | 0) + Q;
  102149. c[S >> 2] = 31;
  102150. c[T >> 2] =
  102151. _h(w, S, c[E >> 2] | 0, c[K >> 2] | 0, c[t >> 2] | 0) | 0;
  102152. c[U >> 2] = (c[S >> 2] | 0) >>> 0 <= 28 ? 1 : 0;
  102153. c[((c[p >> 2] | 0) + 4568) >> 2] =
  102154. c[((c[o >> 2] | 0) + 4568) >> 2];
  102155. c[B >> 2] =
  102156. Kn(
  102157. ((c[p >> 2] | 0) + 4568) | 0,
  102158. c[T >> 2] | 0,
  102159. c[K >> 2] | 0,
  102160. 5,
  102161. c[U >> 2] | 0
  102162. ) | 0;
  102163. c[V >> 2] =
  102164. Ln(
  102165. c[J >> 2] | 0,
  102166. ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
  102167. c[y >> 2] | 0,
  102168. 8,
  102169. c[B >> 2] | 0,
  102170. w,
  102171. c[S >> 2] | 0,
  102172. c[E >> 2] | 0,
  102173. c[K >> 2] | 0,
  102174. 3280,
  102175. 5,
  102176. 28,
  102177. ((c[o >> 2] | 0) + 1024) | 0,
  102178. 772,
  102179. c[t >> 2] | 0,
  102180. 6144
  102181. ) | 0;
  102182. S = (Ph(c[V >> 2] | 0) | 0) != 0;
  102183. U = c[V >> 2] | 0;
  102184. if (S) {
  102185. c[m >> 2] = U;
  102186. _ = c[m >> 2] | 0;
  102187. l = k;
  102188. return _ | 0;
  102189. }
  102190. c[J >> 2] = (c[J >> 2] | 0) + U;
  102191. c[W >> 2] = 52;
  102192. c[X >> 2] =
  102193. _h(w, W, c[G >> 2] | 0, c[K >> 2] | 0, c[t >> 2] | 0) | 0;
  102194. c[((c[p >> 2] | 0) + 4572) >> 2] =
  102195. c[((c[o >> 2] | 0) + 4572) >> 2];
  102196. c[C >> 2] =
  102197. Kn(
  102198. ((c[p >> 2] | 0) + 4572) | 0,
  102199. c[X >> 2] | 0,
  102200. c[K >> 2] | 0,
  102201. 6,
  102202. 1
  102203. ) | 0;
  102204. c[Y >> 2] =
  102205. Ln(
  102206. c[J >> 2] | 0,
  102207. ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
  102208. c[z >> 2] | 0,
  102209. 9,
  102210. c[C >> 2] | 0,
  102211. w,
  102212. c[W >> 2] | 0,
  102213. c[G >> 2] | 0,
  102214. c[K >> 2] | 0,
  102215. 3344,
  102216. 6,
  102217. 52,
  102218. ((c[o >> 2] | 0) + 1796) | 0,
  102219. 1452,
  102220. c[t >> 2] | 0,
  102221. 6144
  102222. ) | 0;
  102223. t = (Ph(c[Y >> 2] | 0) | 0) != 0;
  102224. o = c[Y >> 2] | 0;
  102225. if (t) {
  102226. c[m >> 2] = o;
  102227. _ = c[m >> 2] | 0;
  102228. l = k;
  102229. return _ | 0;
  102230. }
  102231. c[J >> 2] = (c[J >> 2] | 0) + o;
  102232. a[c[L >> 2] >> 0] =
  102233. (c[A >> 2] << 6) + (c[B >> 2] << 4) + (c[C >> 2] << 2);
  102234. c[Z >> 2] =
  102235. Cl(
  102236. c[J >> 2] | 0,
  102237. ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
  102238. c[z >> 2] | 0,
  102239. c[G >> 2] | 0,
  102240. c[y >> 2] | 0,
  102241. c[E >> 2] | 0,
  102242. c[x >> 2] | 0,
  102243. c[F >> 2] | 0,
  102244. c[D >> 2] | 0,
  102245. c[K >> 2] | 0,
  102246. c[v >> 2] | 0,
  102247. c[u >> 2] | 0
  102248. ) | 0;
  102249. u = (Ph(c[Z >> 2] | 0) | 0) != 0;
  102250. v = c[Z >> 2] | 0;
  102251. if (u) {
  102252. c[m >> 2] = v;
  102253. _ = c[m >> 2] | 0;
  102254. l = k;
  102255. return _ | 0;
  102256. } else {
  102257. c[J >> 2] = (c[J >> 2] | 0) + v;
  102258. c[m >> 2] = (c[J >> 2] | 0) - (c[H >> 2] | 0);
  102259. _ = c[m >> 2] | 0;
  102260. l = k;
  102261. return _ | 0;
  102262. }
  102263. return 0;
  102264. }
  102265. function In(a) {
  102266. a = a | 0;
  102267. var b = 0,
  102268. d = 0;
  102269. b = l;
  102270. l = (l + 16) | 0;
  102271. d = b;
  102272. c[d >> 2] = a;
  102273. l = b;
  102274. return (((c[d >> 2] | 0) >>> 6) + 2) | 0;
  102275. }
  102276. function Jn(b, d, e, f, g, h, i, j, k, m) {
  102277. b = b | 0;
  102278. d = d | 0;
  102279. e = e | 0;
  102280. f = f | 0;
  102281. g = g | 0;
  102282. h = h | 0;
  102283. i = i | 0;
  102284. j = j | 0;
  102285. k = k | 0;
  102286. m = m | 0;
  102287. var n = 0,
  102288. o = 0,
  102289. p = 0,
  102290. q = 0,
  102291. r = 0,
  102292. s = 0,
  102293. t = 0,
  102294. u = 0,
  102295. v = 0,
  102296. w = 0,
  102297. x = 0,
  102298. y = 0,
  102299. z = 0,
  102300. A = 0,
  102301. B = 0,
  102302. C = 0,
  102303. D = 0,
  102304. E = 0,
  102305. F = 0,
  102306. G = 0,
  102307. H = 0,
  102308. I = 0,
  102309. J = 0,
  102310. K = 0,
  102311. L = 0,
  102312. M = 0;
  102313. n = l;
  102314. l = (l + 96) | 0;
  102315. o = (n + 88) | 0;
  102316. p = (n + 84) | 0;
  102317. q = (n + 80) | 0;
  102318. r = (n + 76) | 0;
  102319. s = (n + 72) | 0;
  102320. t = (n + 68) | 0;
  102321. u = (n + 64) | 0;
  102322. v = (n + 60) | 0;
  102323. w = (n + 56) | 0;
  102324. x = (n + 52) | 0;
  102325. y = (n + 48) | 0;
  102326. z = (n + 44) | 0;
  102327. A = (n + 40) | 0;
  102328. B = (n + 36) | 0;
  102329. C = (n + 32) | 0;
  102330. D = (n + 28) | 0;
  102331. E = (n + 24) | 0;
  102332. F = (n + 20) | 0;
  102333. G = (n + 16) | 0;
  102334. H = (n + 12) | 0;
  102335. I = (n + 8) | 0;
  102336. J = (n + 4) | 0;
  102337. K = n;
  102338. c[p >> 2] = b;
  102339. c[q >> 2] = d;
  102340. c[r >> 2] = e;
  102341. c[s >> 2] = f;
  102342. c[t >> 2] = g;
  102343. c[u >> 2] = h;
  102344. c[v >> 2] = i;
  102345. c[w >> 2] = j;
  102346. c[x >> 2] = k;
  102347. c[y >> 2] = m;
  102348. c[z >> 2] = In(c[w >> 2] | 0) | 0;
  102349. c[A >> 2] =
  102350. 3 +
  102351. (((c[w >> 2] | 0) >>> 0 >= 1024) & 1) +
  102352. (((c[w >> 2] | 0) >>> 0 >= 16384) & 1);
  102353. c[B >> 2] = c[t >> 2];
  102354. c[C >> 2] = ((c[w >> 2] | 0) >>> 0 < 256) & 1;
  102355. c[D >> 2] = 2;
  102356. c[((c[q >> 2] | 0) + 4564) >> 2] =
  102357. c[((c[p >> 2] | 0) + 4564) >> 2];
  102358. mE(c[q >> 2] | 0, c[p >> 2] | 0, 1024) | 0;
  102359. if (c[s >> 2] | 0) {
  102360. c[o >> 2] =
  102361. Mn(
  102362. c[t >> 2] | 0,
  102363. c[u >> 2] | 0,
  102364. c[v >> 2] | 0,
  102365. c[w >> 2] | 0
  102366. ) | 0;
  102367. L = c[o >> 2] | 0;
  102368. l = n;
  102369. return L | 0;
  102370. }
  102371. c[F >> 2] =
  102372. (c[((c[p >> 2] | 0) + 4564) >> 2] | 0) == 2 ? 6 : 63;
  102373. if ((c[w >> 2] | 0) >>> 0 <= (c[F >> 2] | 0) >>> 0) {
  102374. c[o >> 2] =
  102375. Mn(
  102376. c[t >> 2] | 0,
  102377. c[u >> 2] | 0,
  102378. c[v >> 2] | 0,
  102379. c[w >> 2] | 0
  102380. ) | 0;
  102381. L = c[o >> 2] | 0;
  102382. l = n;
  102383. return L | 0;
  102384. }
  102385. if (
  102386. (c[u >> 2] | 0) >>> 0 <
  102387. (((c[A >> 2] | 0) + 1) | 0) >>> 0
  102388. ) {
  102389. c[o >> 2] = -70;
  102390. L = c[o >> 2] | 0;
  102391. l = n;
  102392. return L | 0;
  102393. }
  102394. c[G >> 2] = c[((c[p >> 2] | 0) + 4564) >> 2];
  102395. c[H >> 2] =
  102396. (c[r >> 2] | 0) >>> 0 < 4
  102397. ? ((c[w >> 2] | 0) >>> 0 <= 1024) & 1
  102398. : 0;
  102399. if (((c[G >> 2] | 0) == 2) & ((c[A >> 2] | 0) == 3))
  102400. c[C >> 2] = 1;
  102401. r = ((c[B >> 2] | 0) + (c[A >> 2] | 0)) | 0;
  102402. F = ((c[u >> 2] | 0) - (c[A >> 2] | 0)) | 0;
  102403. s = c[v >> 2] | 0;
  102404. m = c[w >> 2] | 0;
  102405. k = c[x >> 2] | 0;
  102406. x = c[q >> 2] | 0;
  102407. j = c[H >> 2] | 0;
  102408. H = c[y >> 2] | 0;
  102409. if (c[C >> 2] | 0)
  102410. M = jj(r, F, s, m, 255, 11, k, 6144, x, G, j, H) | 0;
  102411. else M = kj(r, F, s, m, 255, 11, k, 6144, x, G, j, H) | 0;
  102412. c[E >> 2] = M;
  102413. if (c[G >> 2] | 0) c[D >> 2] = 3;
  102414. G =
  102415. (c[E >> 2] | 0) == 0
  102416. ? 1
  102417. : (c[E >> 2] | 0) >>> 0 >=
  102418. (((c[w >> 2] | 0) - (c[z >> 2] | 0)) | 0) >>> 0;
  102419. if (G | (wj(c[E >> 2] | 0) | 0) | 0) {
  102420. mE(c[q >> 2] | 0, c[p >> 2] | 0, 1024) | 0;
  102421. c[o >> 2] =
  102422. Mn(
  102423. c[t >> 2] | 0,
  102424. c[u >> 2] | 0,
  102425. c[v >> 2] | 0,
  102426. c[w >> 2] | 0
  102427. ) | 0;
  102428. L = c[o >> 2] | 0;
  102429. l = n;
  102430. return L | 0;
  102431. }
  102432. if ((c[E >> 2] | 0) == 1) {
  102433. mE(c[q >> 2] | 0, c[p >> 2] | 0, 1024) | 0;
  102434. c[o >> 2] =
  102435. Nn(
  102436. c[t >> 2] | 0,
  102437. c[u >> 2] | 0,
  102438. c[v >> 2] | 0,
  102439. c[w >> 2] | 0
  102440. ) | 0;
  102441. L = c[o >> 2] | 0;
  102442. l = n;
  102443. return L | 0;
  102444. }
  102445. if ((c[D >> 2] | 0) == 2)
  102446. c[((c[q >> 2] | 0) + 4564) >> 2] = 1;
  102447. switch (c[A >> 2] | 0) {
  102448. case 3: {
  102449. c[I >> 2] =
  102450. (c[D >> 2] | 0) +
  102451. (((((c[C >> 2] | 0) != 0) ^ 1) & 1) << 2) +
  102452. (c[w >> 2] << 4) +
  102453. (c[E >> 2] << 14);
  102454. wl(c[B >> 2] | 0, c[I >> 2] | 0);
  102455. break;
  102456. }
  102457. case 4: {
  102458. c[J >> 2] =
  102459. (c[D >> 2] | 0) +
  102460. 8 +
  102461. (c[w >> 2] << 4) +
  102462. (c[E >> 2] << 18);
  102463. Pl(c[B >> 2] | 0, c[J >> 2] | 0);
  102464. break;
  102465. }
  102466. case 5: {
  102467. c[K >> 2] =
  102468. (c[D >> 2] | 0) +
  102469. 12 +
  102470. (c[w >> 2] << 4) +
  102471. (c[E >> 2] << 22);
  102472. Pl(c[B >> 2] | 0, c[K >> 2] | 0);
  102473. a[((c[B >> 2] | 0) + 4) >> 0] = (c[E >> 2] | 0) >>> 10;
  102474. break;
  102475. }
  102476. default: {
  102477. }
  102478. }
  102479. c[o >> 2] = (c[A >> 2] | 0) + (c[E >> 2] | 0);
  102480. L = c[o >> 2] | 0;
  102481. l = n;
  102482. return L | 0;
  102483. }
  102484. function Kn(a, b, d, e, f) {
  102485. a = a | 0;
  102486. b = b | 0;
  102487. d = d | 0;
  102488. e = e | 0;
  102489. f = f | 0;
  102490. var g = 0,
  102491. h = 0,
  102492. i = 0,
  102493. j = 0,
  102494. k = 0,
  102495. m = 0,
  102496. n = 0,
  102497. o = 0;
  102498. g = l;
  102499. l = (l + 32) | 0;
  102500. h = (g + 20) | 0;
  102501. i = (g + 16) | 0;
  102502. j = (g + 12) | 0;
  102503. k = (g + 8) | 0;
  102504. m = (g + 4) | 0;
  102505. n = g;
  102506. c[i >> 2] = a;
  102507. c[j >> 2] = b;
  102508. c[k >> 2] = d;
  102509. c[m >> 2] = e;
  102510. c[n >> 2] = f;
  102511. if (
  102512. (c[j >> 2] | 0) == (c[k >> 2] | 0)
  102513. ? ((c[n >> 2] | 0) == 0) | ((c[k >> 2] | 0) >>> 0 > 2)
  102514. : 0
  102515. ) {
  102516. c[c[i >> 2] >> 2] = 1;
  102517. c[h >> 2] = 1;
  102518. o = c[h >> 2] | 0;
  102519. l = g;
  102520. return o | 0;
  102521. }
  102522. if (
  102523. c[n >> 2] | 0
  102524. ? (c[k >> 2] | 0) >>> 0 < 1e3
  102525. ? (c[c[i >> 2] >> 2] | 0) == 2
  102526. : 0
  102527. : 0
  102528. ) {
  102529. c[h >> 2] = 3;
  102530. o = c[h >> 2] | 0;
  102531. l = g;
  102532. return o | 0;
  102533. }
  102534. do {
  102535. if (c[n >> 2] | 0) {
  102536. if (
  102537. (c[k >> 2] | 0) >>> 0 >= 64
  102538. ? (c[j >> 2] | 0) >>> 0 >=
  102539. ((c[k >> 2] | 0) >>>
  102540. (((c[m >> 2] | 0) - 1) | 0)) >>>
  102541. 0
  102542. : 0
  102543. )
  102544. break;
  102545. c[c[i >> 2] >> 2] = 0;
  102546. c[h >> 2] = 0;
  102547. o = c[h >> 2] | 0;
  102548. l = g;
  102549. return o | 0;
  102550. }
  102551. } while (0);
  102552. c[c[i >> 2] >> 2] = 1;
  102553. c[h >> 2] = 2;
  102554. o = c[h >> 2] | 0;
  102555. l = g;
  102556. return o | 0;
  102557. }
  102558. function Ln(b, e, f, g, h, i, j, k, m, n, o, p, q, r, s, t) {
  102559. b = b | 0;
  102560. e = e | 0;
  102561. f = f | 0;
  102562. g = g | 0;
  102563. h = h | 0;
  102564. i = i | 0;
  102565. j = j | 0;
  102566. k = k | 0;
  102567. m = m | 0;
  102568. n = n | 0;
  102569. o = o | 0;
  102570. p = p | 0;
  102571. q = q | 0;
  102572. r = r | 0;
  102573. s = s | 0;
  102574. t = t | 0;
  102575. var u = 0,
  102576. v = 0,
  102577. w = 0,
  102578. x = 0,
  102579. y = 0,
  102580. z = 0,
  102581. A = 0,
  102582. B = 0,
  102583. C = 0,
  102584. D = 0,
  102585. E = 0,
  102586. F = 0,
  102587. G = 0,
  102588. H = 0,
  102589. I = 0,
  102590. J = 0,
  102591. K = 0,
  102592. L = 0,
  102593. M = 0,
  102594. N = 0,
  102595. O = 0,
  102596. P = 0,
  102597. Q = 0,
  102598. R = 0,
  102599. S = 0,
  102600. T = 0,
  102601. U = 0,
  102602. V = 0,
  102603. W = 0;
  102604. u = l;
  102605. l = (l + 224) | 0;
  102606. v = (u + 208) | 0;
  102607. w = (u + 204) | 0;
  102608. x = (u + 200) | 0;
  102609. y = (u + 196) | 0;
  102610. z = (u + 192) | 0;
  102611. A = (u + 188) | 0;
  102612. B = (u + 184) | 0;
  102613. C = (u + 180) | 0;
  102614. D = (u + 176) | 0;
  102615. E = (u + 172) | 0;
  102616. F = (u + 168) | 0;
  102617. G = (u + 164) | 0;
  102618. H = (u + 160) | 0;
  102619. I = (u + 156) | 0;
  102620. J = (u + 152) | 0;
  102621. K = (u + 148) | 0;
  102622. L = (u + 144) | 0;
  102623. M = (u + 140) | 0;
  102624. N = (u + 136) | 0;
  102625. O = (u + 132) | 0;
  102626. P = (u + 128) | 0;
  102627. Q = u;
  102628. R = (u + 124) | 0;
  102629. S = (u + 120) | 0;
  102630. T = (u + 116) | 0;
  102631. U = (u + 112) | 0;
  102632. V = (u + 108) | 0;
  102633. c[w >> 2] = b;
  102634. c[x >> 2] = e;
  102635. c[y >> 2] = f;
  102636. c[z >> 2] = g;
  102637. c[A >> 2] = h;
  102638. c[B >> 2] = i;
  102639. c[C >> 2] = j;
  102640. c[D >> 2] = k;
  102641. c[E >> 2] = m;
  102642. c[F >> 2] = n;
  102643. c[G >> 2] = o;
  102644. c[H >> 2] = p;
  102645. c[I >> 2] = q;
  102646. c[J >> 2] = r;
  102647. c[K >> 2] = s;
  102648. c[L >> 2] = t;
  102649. c[M >> 2] = c[w >> 2];
  102650. c[N >> 2] = (c[M >> 2] | 0) + (c[x >> 2] | 0);
  102651. switch (c[A >> 2] | 0) {
  102652. case 1: {
  102653. a[c[M >> 2] >> 0] = a[c[D >> 2] >> 0] | 0;
  102654. c[O >> 2] = ii(c[y >> 2] | 0, c[C >> 2] & 255) | 0;
  102655. if (wj(c[O >> 2] | 0) | 0) {
  102656. c[v >> 2] = c[O >> 2];
  102657. W = c[v >> 2] | 0;
  102658. l = u;
  102659. return W | 0;
  102660. } else {
  102661. c[v >> 2] = 1;
  102662. W = c[v >> 2] | 0;
  102663. l = u;
  102664. return W | 0;
  102665. }
  102666. break;
  102667. }
  102668. case 3: {
  102669. mE(c[y >> 2] | 0, c[I >> 2] | 0, c[J >> 2] | 0) | 0;
  102670. c[v >> 2] = 0;
  102671. W = c[v >> 2] | 0;
  102672. l = u;
  102673. return W | 0;
  102674. }
  102675. case 0: {
  102676. c[P >> 2] =
  102677. Uh(
  102678. c[y >> 2] | 0,
  102679. c[F >> 2] | 0,
  102680. c[H >> 2] | 0,
  102681. c[G >> 2] | 0,
  102682. c[K >> 2] | 0,
  102683. c[L >> 2] | 0
  102684. ) | 0;
  102685. if (wj(c[P >> 2] | 0) | 0) {
  102686. c[v >> 2] = c[P >> 2];
  102687. W = c[v >> 2] | 0;
  102688. l = u;
  102689. return W | 0;
  102690. } else {
  102691. c[v >> 2] = 0;
  102692. W = c[v >> 2] | 0;
  102693. l = u;
  102694. return W | 0;
  102695. }
  102696. break;
  102697. }
  102698. case 2: {
  102699. c[R >> 2] = c[E >> 2];
  102700. c[S >> 2] =
  102701. ei(c[z >> 2] | 0, c[E >> 2] | 0, c[C >> 2] | 0) | 0;
  102702. if (
  102703. (c[
  102704. ((c[B >> 2] | 0) +
  102705. ((d[
  102706. ((c[D >> 2] | 0) + ((c[E >> 2] | 0) - 1)) >> 0
  102707. ] |
  102708. 0) <<
  102709. 2)) >>
  102710. 2
  102711. ] |
  102712. 0) >>>
  102713. 0 >
  102714. 1
  102715. ) {
  102716. z =
  102717. ((c[B >> 2] | 0) +
  102718. ((d[
  102719. ((c[D >> 2] | 0) + ((c[E >> 2] | 0) - 1)) >> 0
  102720. ] |
  102721. 0) <<
  102722. 2)) |
  102723. 0;
  102724. c[z >> 2] = (c[z >> 2] | 0) + -1;
  102725. c[R >> 2] = (c[R >> 2] | 0) + -1;
  102726. }
  102727. c[T >> 2] =
  102728. fi(
  102729. Q,
  102730. c[S >> 2] | 0,
  102731. c[B >> 2] | 0,
  102732. c[R >> 2] | 0,
  102733. c[C >> 2] | 0
  102734. ) | 0;
  102735. if (wj(c[T >> 2] | 0) | 0) {
  102736. c[v >> 2] = c[T >> 2];
  102737. W = c[v >> 2] | 0;
  102738. l = u;
  102739. return W | 0;
  102740. }
  102741. c[U >> 2] =
  102742. Xh(
  102743. c[M >> 2] | 0,
  102744. ((c[N >> 2] | 0) - (c[M >> 2] | 0)) | 0,
  102745. Q,
  102746. c[C >> 2] | 0,
  102747. c[S >> 2] | 0
  102748. ) | 0;
  102749. if (Zg(c[U >> 2] | 0) | 0) {
  102750. c[v >> 2] = c[U >> 2];
  102751. W = c[v >> 2] | 0;
  102752. l = u;
  102753. return W | 0;
  102754. }
  102755. c[V >> 2] =
  102756. Uh(
  102757. c[y >> 2] | 0,
  102758. Q,
  102759. c[C >> 2] | 0,
  102760. c[S >> 2] | 0,
  102761. c[K >> 2] | 0,
  102762. c[L >> 2] | 0
  102763. ) | 0;
  102764. if (wj(c[V >> 2] | 0) | 0) {
  102765. c[v >> 2] = c[V >> 2];
  102766. W = c[v >> 2] | 0;
  102767. l = u;
  102768. return W | 0;
  102769. } else {
  102770. c[v >> 2] = c[U >> 2];
  102771. W = c[v >> 2] | 0;
  102772. l = u;
  102773. return W | 0;
  102774. }
  102775. break;
  102776. }
  102777. default: {
  102778. c[v >> 2] = -1;
  102779. W = c[v >> 2] | 0;
  102780. l = u;
  102781. return W | 0;
  102782. }
  102783. }
  102784. return 0;
  102785. }
  102786. function Mn(b, d, e, f) {
  102787. b = b | 0;
  102788. d = d | 0;
  102789. e = e | 0;
  102790. f = f | 0;
  102791. var g = 0,
  102792. h = 0,
  102793. i = 0,
  102794. j = 0,
  102795. k = 0,
  102796. m = 0,
  102797. n = 0,
  102798. o = 0,
  102799. p = 0;
  102800. g = l;
  102801. l = (l + 32) | 0;
  102802. h = (g + 24) | 0;
  102803. i = (g + 20) | 0;
  102804. j = (g + 16) | 0;
  102805. k = (g + 12) | 0;
  102806. m = (g + 8) | 0;
  102807. n = (g + 4) | 0;
  102808. o = g;
  102809. c[i >> 2] = b;
  102810. c[j >> 2] = d;
  102811. c[k >> 2] = e;
  102812. c[m >> 2] = f;
  102813. c[n >> 2] = c[i >> 2];
  102814. c[o >> 2] =
  102815. 1 +
  102816. (((c[m >> 2] | 0) >>> 0 > 31) & 1) +
  102817. (((c[m >> 2] | 0) >>> 0 > 4095) & 1);
  102818. if (
  102819. (((c[m >> 2] | 0) + (c[o >> 2] | 0)) | 0) >>> 0 >
  102820. (c[j >> 2] | 0) >>> 0
  102821. ) {
  102822. c[h >> 2] = -70;
  102823. p = c[h >> 2] | 0;
  102824. l = g;
  102825. return p | 0;
  102826. }
  102827. switch (c[o >> 2] | 0) {
  102828. case 1: {
  102829. a[c[n >> 2] >> 0] = 0 + (c[m >> 2] << 3);
  102830. break;
  102831. }
  102832. case 2: {
  102833. xl(c[n >> 2] | 0, (4 + (c[m >> 2] << 4)) & 65535);
  102834. break;
  102835. }
  102836. case 3: {
  102837. Pl(c[n >> 2] | 0, (12 + (c[m >> 2] << 4)) | 0);
  102838. break;
  102839. }
  102840. default: {
  102841. }
  102842. }
  102843. mE(
  102844. ((c[n >> 2] | 0) + (c[o >> 2] | 0)) | 0,
  102845. c[k >> 2] | 0,
  102846. c[m >> 2] | 0
  102847. ) | 0;
  102848. c[h >> 2] = (c[m >> 2] | 0) + (c[o >> 2] | 0);
  102849. p = c[h >> 2] | 0;
  102850. l = g;
  102851. return p | 0;
  102852. }
  102853. function Nn(b, d, e, f) {
  102854. b = b | 0;
  102855. d = d | 0;
  102856. e = e | 0;
  102857. f = f | 0;
  102858. var g = 0,
  102859. h = 0,
  102860. i = 0,
  102861. j = 0,
  102862. k = 0,
  102863. m = 0;
  102864. g = l;
  102865. l = (l + 32) | 0;
  102866. h = (g + 20) | 0;
  102867. i = (g + 12) | 0;
  102868. j = (g + 8) | 0;
  102869. k = (g + 4) | 0;
  102870. m = g;
  102871. c[h >> 2] = b;
  102872. c[(g + 16) >> 2] = d;
  102873. c[i >> 2] = e;
  102874. c[j >> 2] = f;
  102875. c[k >> 2] = c[h >> 2];
  102876. c[m >> 2] =
  102877. 1 +
  102878. (((c[j >> 2] | 0) >>> 0 > 31) & 1) +
  102879. (((c[j >> 2] | 0) >>> 0 > 4095) & 1);
  102880. switch (c[m >> 2] | 0) {
  102881. case 1: {
  102882. a[c[k >> 2] >> 0] = 1 + (c[j >> 2] << 3);
  102883. break;
  102884. }
  102885. case 2: {
  102886. xl(c[k >> 2] | 0, (5 + (c[j >> 2] << 4)) & 65535);
  102887. break;
  102888. }
  102889. case 3: {
  102890. Pl(c[k >> 2] | 0, (13 + (c[j >> 2] << 4)) | 0);
  102891. break;
  102892. }
  102893. default: {
  102894. }
  102895. }
  102896. a[((c[k >> 2] | 0) + (c[m >> 2] | 0)) >> 0] =
  102897. a[c[i >> 2] >> 0] | 0;
  102898. l = g;
  102899. return ((c[m >> 2] | 0) + 1) | 0;
  102900. }
  102901. function On(a, b) {
  102902. a = a | 0;
  102903. b = b | 0;
  102904. var d = 0,
  102905. e = 0,
  102906. f = 0;
  102907. d = l;
  102908. l = (l + 16) | 0;
  102909. e = (d + 4) | 0;
  102910. f = d;
  102911. c[e >> 2] = b;
  102912. c[f >> 2] = (c[e >> 2] | 0) - (c[(a + 4) >> 2] | 0);
  102913. l = d;
  102914. return ((c[f >> 2] | 0) >>> 0 > 2684354560) | 0;
  102915. }
  102916. function Pn(a, b, d, e) {
  102917. a = a | 0;
  102918. b = b | 0;
  102919. d = d | 0;
  102920. e = e | 0;
  102921. var f = 0,
  102922. g = 0,
  102923. h = 0,
  102924. i = 0,
  102925. j = 0,
  102926. k = 0,
  102927. m = 0,
  102928. n = 0,
  102929. o = 0;
  102930. f = l;
  102931. l = (l + 32) | 0;
  102932. g = (f + 28) | 0;
  102933. h = (f + 24) | 0;
  102934. i = (f + 20) | 0;
  102935. j = (f + 16) | 0;
  102936. k = (f + 12) | 0;
  102937. m = (f + 8) | 0;
  102938. n = (f + 4) | 0;
  102939. o = f;
  102940. c[g >> 2] = a;
  102941. c[h >> 2] = b;
  102942. c[i >> 2] = d;
  102943. c[j >> 2] = e;
  102944. c[k >> 2] = (1 << c[h >> 2]) - 1;
  102945. c[m >> 2] =
  102946. (c[j >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
  102947. c[n >> 2] = (c[m >> 2] & c[k >> 2]) + (c[i >> 2] | 0);
  102948. c[o >> 2] = (c[m >> 2] | 0) - (c[n >> 2] | 0);
  102949. n = ((c[g >> 2] | 0) + 4) | 0;
  102950. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  102951. n = ((c[g >> 2] | 0) + 8) | 0;
  102952. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  102953. n = ((c[g >> 2] | 0) + 16) | 0;
  102954. c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
  102955. n = ((c[g >> 2] | 0) + 12) | 0;
  102956. c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
  102957. l = f;
  102958. return c[o >> 2] | 0;
  102959. }
  102960. function Qn(a, b, d) {
  102961. a = a | 0;
  102962. b = b | 0;
  102963. d = d | 0;
  102964. var e = 0,
  102965. f = 0,
  102966. g = 0,
  102967. h = 0,
  102968. i = 0;
  102969. e = l;
  102970. l = (l + 16) | 0;
  102971. f = (e + 12) | 0;
  102972. g = (e + 8) | 0;
  102973. h = (e + 4) | 0;
  102974. i = e;
  102975. c[f >> 2] = a;
  102976. c[g >> 2] = b;
  102977. c[h >> 2] = d;
  102978. c[i >> 2] = 0;
  102979. while (1) {
  102980. if ((c[i >> 2] | 0) >>> 0 >= (c[g >> 2] | 0) >>> 0) break;
  102981. if (
  102982. (c[((c[f >> 2] | 0) + (c[i >> 2] << 3)) >> 2] | 0) >>> 0 <
  102983. (c[h >> 2] | 0) >>> 0
  102984. )
  102985. c[((c[f >> 2] | 0) + (c[i >> 2] << 3)) >> 2] = 0;
  102986. else {
  102987. d = ((c[f >> 2] | 0) + (c[i >> 2] << 3)) | 0;
  102988. c[d >> 2] = (c[d >> 2] | 0) - (c[h >> 2] | 0);
  102989. }
  102990. c[i >> 2] = (c[i >> 2] | 0) + 1;
  102991. }
  102992. l = e;
  102993. return;
  102994. }
  102995. function Rn(a, b, d, e) {
  102996. a = a | 0;
  102997. b = b | 0;
  102998. d = d | 0;
  102999. e = e | 0;
  103000. var f = 0,
  103001. g = 0,
  103002. h = 0,
  103003. i = 0,
  103004. j = 0,
  103005. k = 0,
  103006. m = 0,
  103007. n = 0,
  103008. o = 0;
  103009. f = l;
  103010. l = (l + 32) | 0;
  103011. g = (f + 24) | 0;
  103012. h = (f + 20) | 0;
  103013. i = (f + 16) | 0;
  103014. j = (f + 12) | 0;
  103015. k = (f + 8) | 0;
  103016. m = (f + 4) | 0;
  103017. n = f;
  103018. c[g >> 2] = a;
  103019. c[h >> 2] = b;
  103020. c[i >> 2] = d;
  103021. c[j >> 2] = e;
  103022. c[k >> 2] =
  103023. (c[h >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
  103024. if (c[j >> 2] | 0) o = c[c[j >> 2] >> 2] | 0;
  103025. else o = 0;
  103026. c[m >> 2] = o;
  103027. if (
  103028. (c[k >> 2] | 0) >>> 0 <=
  103029. (((c[i >> 2] | 0) + (c[m >> 2] | 0)) | 0) >>> 0
  103030. ) {
  103031. l = f;
  103032. return;
  103033. }
  103034. c[n >> 2] = (c[k >> 2] | 0) - (c[i >> 2] | 0);
  103035. if (
  103036. (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0 <
  103037. (c[n >> 2] | 0) >>> 0
  103038. )
  103039. c[((c[g >> 2] | 0) + 16) >> 2] = c[n >> 2];
  103040. if (
  103041. (c[((c[g >> 2] | 0) + 12) >> 2] | 0) >>> 0 <
  103042. (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0
  103043. )
  103044. c[((c[g >> 2] | 0) + 12) >> 2] =
  103045. c[((c[g >> 2] | 0) + 16) >> 2];
  103046. if (!(c[j >> 2] | 0)) {
  103047. l = f;
  103048. return;
  103049. }
  103050. c[c[j >> 2] >> 2] = 0;
  103051. l = f;
  103052. return;
  103053. }
  103054. function Sn(b, d, e, f, g) {
  103055. b = b | 0;
  103056. d = d | 0;
  103057. e = e | 0;
  103058. f = f | 0;
  103059. g = g | 0;
  103060. var h = 0,
  103061. i = 0,
  103062. j = 0,
  103063. k = 0,
  103064. m = 0,
  103065. n = 0,
  103066. o = 0,
  103067. p = 0,
  103068. q = 0,
  103069. r = 0,
  103070. s = 0,
  103071. t = 0,
  103072. u = 0,
  103073. v = 0,
  103074. w = 0,
  103075. x = 0,
  103076. z = 0,
  103077. A = 0,
  103078. B = 0,
  103079. C = 0,
  103080. D = 0,
  103081. E = 0,
  103082. F = 0,
  103083. G = 0,
  103084. H = 0,
  103085. I = 0,
  103086. J = 0,
  103087. K = 0,
  103088. L = 0,
  103089. M = 0,
  103090. N = 0,
  103091. O = 0,
  103092. P = 0,
  103093. Q = 0,
  103094. R = 0,
  103095. S = 0,
  103096. T = 0,
  103097. U = 0,
  103098. V = 0,
  103099. W = 0,
  103100. X = 0,
  103101. Y = 0,
  103102. Z = 0,
  103103. _ = 0,
  103104. $ = 0,
  103105. aa = 0,
  103106. ba = 0,
  103107. ca = 0,
  103108. da = 0,
  103109. ea = 0,
  103110. fa = 0,
  103111. ga = 0,
  103112. ha = 0;
  103113. h = l;
  103114. l = (l + 224) | 0;
  103115. i = (h + 200) | 0;
  103116. j = (h + 192) | 0;
  103117. k = (h + 188) | 0;
  103118. m = (h + 184) | 0;
  103119. n = (h + 180) | 0;
  103120. o = (h + 176) | 0;
  103121. p = (h + 172) | 0;
  103122. q = (h + 168) | 0;
  103123. r = (h + 164) | 0;
  103124. s = (h + 8) | 0;
  103125. t = (h + 160) | 0;
  103126. u = (h + 156) | 0;
  103127. v = (h + 152) | 0;
  103128. w = (h + 148) | 0;
  103129. x = (h + 144) | 0;
  103130. z = (h + 140) | 0;
  103131. A = (h + 136) | 0;
  103132. B = (h + 132) | 0;
  103133. C = (h + 128) | 0;
  103134. D = (h + 124) | 0;
  103135. E = (h + 120) | 0;
  103136. F = (h + 116) | 0;
  103137. G = (h + 112) | 0;
  103138. H = (h + 108) | 0;
  103139. I = (h + 104) | 0;
  103140. J = (h + 100) | 0;
  103141. K = (h + 96) | 0;
  103142. L = h;
  103143. M = (h + 92) | 0;
  103144. N = (h + 88) | 0;
  103145. O = (h + 84) | 0;
  103146. P = (h + 80) | 0;
  103147. Q = (h + 76) | 0;
  103148. R = (h + 72) | 0;
  103149. S = (h + 68) | 0;
  103150. T = (h + 64) | 0;
  103151. U = (h + 60) | 0;
  103152. V = (h + 56) | 0;
  103153. W = (h + 52) | 0;
  103154. X = (h + 48) | 0;
  103155. Y = (h + 44) | 0;
  103156. Z = (h + 40) | 0;
  103157. _ = (h + 36) | 0;
  103158. $ = (h + 32) | 0;
  103159. aa = (h + 28) | 0;
  103160. ba = (h + 24) | 0;
  103161. ca = (h + 20) | 0;
  103162. da = (h + 16) | 0;
  103163. c[k >> 2] = b;
  103164. c[m >> 2] = d;
  103165. c[n >> 2] = e;
  103166. c[o >> 2] = f;
  103167. c[p >> 2] = g;
  103168. g = c[k >> 2] | 0;
  103169. c[i >> 2] = c[g >> 2];
  103170. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  103171. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  103172. c[(i + 12) >> 2] = c[(g + 12) >> 2];
  103173. c[(i + 16) >> 2] = c[(g + 16) >> 2];
  103174. c[q >> 2] = Tn(i) | 0;
  103175. c[r >> 2] = c[((c[n >> 2] | 0) + 12) >> 2];
  103176. g = ((c[k >> 2] | 0) + 32) | 0;
  103177. f = c[(g + 4) >> 2] | 0;
  103178. e = s;
  103179. c[e >> 2] = c[g >> 2];
  103180. c[(e + 4) >> 2] = f;
  103181. c[t >> 2] =
  103182. (c[((c[n >> 2] | 0) + 4) >> 2] | 0) -
  103183. (c[((c[n >> 2] | 0) + 8) >> 2] | 0);
  103184. c[u >> 2] = 1 << c[((c[n >> 2] | 0) + 8) >> 2];
  103185. c[v >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
  103186. c[w >> 2] = (1 << c[((c[n >> 2] | 0) + 16) >> 2]) - 1;
  103187. c[x >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
  103188. if (c[q >> 2] | 0) ea = c[((c[k >> 2] | 0) + 16) >> 2] | 0;
  103189. else ea = c[x >> 2] | 0;
  103190. c[z >> 2] = ea;
  103191. c[A >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
  103192. if (c[q >> 2] | 0) fa = c[((c[k >> 2] | 0) + 8) >> 2] | 0;
  103193. else fa = 0;
  103194. c[B >> 2] = fa;
  103195. c[C >> 2] =
  103196. c[q >> 2] | 0 ? ((c[B >> 2] | 0) + (c[z >> 2] | 0)) | 0 : 0;
  103197. c[D >> 2] =
  103198. c[q >> 2] | 0 ? ((c[B >> 2] | 0) + (c[x >> 2] | 0)) | 0 : 0;
  103199. c[E >> 2] = (c[A >> 2] | 0) + (c[x >> 2] | 0);
  103200. c[F >> 2] = c[o >> 2];
  103201. c[G >> 2] = (c[F >> 2] | 0) + (c[p >> 2] | 0);
  103202. c[H >> 2] =
  103203. (c[G >> 2] | 0) +
  103204. (0 - ((c[r >> 2] | 0) >>> 0 > 8 ? c[r >> 2] | 0 : 8));
  103205. c[I >> 2] = c[F >> 2];
  103206. c[J >> 2] = c[F >> 2];
  103207. c[K >> 2] = 0;
  103208. p = L;
  103209. c[p >> 2] = 0;
  103210. c[(p + 4) >> 2] = 0;
  103211. while (1) {
  103212. if ((c[J >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  103213. ga = 32;
  103214. break;
  103215. }
  103216. c[N >> 2] = (c[J >> 2] | 0) - (c[A >> 2] | 0);
  103217. c[O >> 2] = 0;
  103218. c[P >> 2] = 0;
  103219. c[Q >> 2] = 0;
  103220. if ((c[J >> 2] | 0) != (c[F >> 2] | 0)) {
  103221. p = L;
  103222. o = s;
  103223. fa =
  103224. Un(
  103225. c[p >> 2] | 0,
  103226. c[(p + 4) >> 2] | 0,
  103227. a[c[K >> 2] >> 0] | 0,
  103228. a[((c[K >> 2] | 0) + (c[r >> 2] | 0)) >> 0] | 0,
  103229. c[o >> 2] | 0,
  103230. c[(o + 4) >> 2] | 0
  103231. ) | 0;
  103232. o = L;
  103233. c[o >> 2] = fa;
  103234. c[(o + 4) >> 2] = y;
  103235. } else {
  103236. o = Vn(c[J >> 2] | 0, c[r >> 2] | 0) | 0;
  103237. fa = L;
  103238. c[fa >> 2] = o;
  103239. c[(fa + 4) >> 2] = y;
  103240. }
  103241. c[K >> 2] = c[J >> 2];
  103242. fa = L;
  103243. o =
  103244. Wn(
  103245. c[fa >> 2] | 0,
  103246. c[(fa + 4) >> 2] | 0,
  103247. c[t >> 2] | 0,
  103248. c[v >> 2] | 0
  103249. ) | 0;
  103250. if ((o | 0) != (c[w >> 2] | 0)) {
  103251. c[J >> 2] = (c[J >> 2] | 0) + 1;
  103252. continue;
  103253. }
  103254. o = c[k >> 2] | 0;
  103255. fa = L;
  103256. p =
  103257. Xn(c[fa >> 2] | 0, c[(fa + 4) >> 2] | 0, c[t >> 2] | 0) |
  103258. 0;
  103259. fa = c[n >> 2] | 0;
  103260. c[i >> 2] = c[fa >> 2];
  103261. c[(i + 4) >> 2] = c[(fa + 4) >> 2];
  103262. c[(i + 8) >> 2] = c[(fa + 8) >> 2];
  103263. c[(i + 12) >> 2] = c[(fa + 12) >> 2];
  103264. c[(i + 16) >> 2] = c[(fa + 16) >> 2];
  103265. c[(i + 20) >> 2] = c[(fa + 20) >> 2];
  103266. c[R >> 2] = Yn(o, p, i) | 0;
  103267. c[T >> 2] = 0;
  103268. p = L;
  103269. c[U >> 2] =
  103270. Zn(c[p >> 2] | 0, c[(p + 4) >> 2] | 0, c[t >> 2] | 0) | 0;
  103271. c[S >> 2] = c[R >> 2];
  103272. while (1) {
  103273. if (
  103274. (c[S >> 2] | 0) >>> 0 >=
  103275. (((c[R >> 2] | 0) + (c[u >> 2] << 3)) | 0) >>> 0
  103276. )
  103277. break;
  103278. do {
  103279. if (
  103280. (c[((c[S >> 2] | 0) + 4) >> 2] | 0) == (c[U >> 2] | 0)
  103281. ? (c[c[S >> 2] >> 2] | 0) >>> 0 >
  103282. (c[z >> 2] | 0) >>> 0
  103283. : 0
  103284. ) {
  103285. if (c[q >> 2] | 0) {
  103286. c[Y >> 2] =
  103287. (c[c[S >> 2] >> 2] | 0) >>> 0 <
  103288. (c[x >> 2] | 0) >>> 0
  103289. ? c[B >> 2] | 0
  103290. : c[A >> 2] | 0;
  103291. c[Z >> 2] =
  103292. (c[Y >> 2] | 0) + (c[c[S >> 2] >> 2] | 0);
  103293. c[_ >> 2] =
  103294. (c[c[S >> 2] >> 2] | 0) >>> 0 <
  103295. (c[x >> 2] | 0) >>> 0
  103296. ? c[D >> 2] | 0
  103297. : c[G >> 2] | 0;
  103298. c[$ >> 2] =
  103299. (c[c[S >> 2] >> 2] | 0) >>> 0 <
  103300. (c[x >> 2] | 0) >>> 0
  103301. ? c[C >> 2] | 0
  103302. : c[E >> 2] | 0;
  103303. c[V >> 2] =
  103304. _n(
  103305. c[J >> 2] | 0,
  103306. c[Z >> 2] | 0,
  103307. c[G >> 2] | 0,
  103308. c[_ >> 2] | 0,
  103309. c[E >> 2] | 0
  103310. ) | 0;
  103311. if ((c[V >> 2] | 0) >>> 0 < (c[r >> 2] | 0) >>> 0)
  103312. break;
  103313. c[W >> 2] =
  103314. $n(
  103315. c[J >> 2] | 0,
  103316. c[I >> 2] | 0,
  103317. c[Z >> 2] | 0,
  103318. c[$ >> 2] | 0
  103319. ) | 0;
  103320. c[X >> 2] = (c[V >> 2] | 0) + (c[W >> 2] | 0);
  103321. } else {
  103322. c[aa >> 2] =
  103323. (c[A >> 2] | 0) + (c[c[S >> 2] >> 2] | 0);
  103324. c[V >> 2] =
  103325. ao(c[J >> 2] | 0, c[aa >> 2] | 0, c[G >> 2] | 0) |
  103326. 0;
  103327. if ((c[V >> 2] | 0) >>> 0 < (c[r >> 2] | 0) >>> 0)
  103328. break;
  103329. c[W >> 2] =
  103330. $n(
  103331. c[J >> 2] | 0,
  103332. c[I >> 2] | 0,
  103333. c[aa >> 2] | 0,
  103334. c[E >> 2] | 0
  103335. ) | 0;
  103336. c[X >> 2] = (c[V >> 2] | 0) + (c[W >> 2] | 0);
  103337. }
  103338. if ((c[X >> 2] | 0) >>> 0 > (c[T >> 2] | 0) >>> 0) {
  103339. c[T >> 2] = c[X >> 2];
  103340. c[O >> 2] = c[V >> 2];
  103341. c[P >> 2] = c[W >> 2];
  103342. c[Q >> 2] = c[S >> 2];
  103343. }
  103344. }
  103345. } while (0);
  103346. c[S >> 2] = (c[S >> 2] | 0) + 8;
  103347. }
  103348. if (!(c[Q >> 2] | 0)) {
  103349. p = c[k >> 2] | 0;
  103350. o = L;
  103351. fa = c[o >> 2] | 0;
  103352. ea = c[(o + 4) >> 2] | 0;
  103353. o = c[t >> 2] | 0;
  103354. f = c[N >> 2] | 0;
  103355. e = c[n >> 2] | 0;
  103356. c[i >> 2] = c[e >> 2];
  103357. c[(i + 4) >> 2] = c[(e + 4) >> 2];
  103358. c[(i + 8) >> 2] = c[(e + 8) >> 2];
  103359. c[(i + 12) >> 2] = c[(e + 12) >> 2];
  103360. c[(i + 16) >> 2] = c[(e + 16) >> 2];
  103361. c[(i + 20) >> 2] = c[(e + 20) >> 2];
  103362. bo(p, fa, ea, o, f, i);
  103363. c[J >> 2] = (c[J >> 2] | 0) + 1;
  103364. continue;
  103365. }
  103366. c[M >> 2] = (c[O >> 2] | 0) + (c[P >> 2] | 0);
  103367. c[J >> 2] = (c[J >> 2] | 0) + (0 - (c[P >> 2] | 0));
  103368. c[ba >> 2] = c[c[Q >> 2] >> 2];
  103369. c[ca >> 2] = (c[N >> 2] | 0) - (c[ba >> 2] | 0);
  103370. c[da >> 2] =
  103371. (c[c[m >> 2] >> 2] | 0) +
  103372. (((c[((c[m >> 2] | 0) + 8) >> 2] | 0) * 12) | 0);
  103373. if (
  103374. (c[((c[m >> 2] | 0) + 8) >> 2] | 0) ==
  103375. (c[((c[m >> 2] | 0) + 12) >> 2] | 0)
  103376. ) {
  103377. ga = 28;
  103378. break;
  103379. }
  103380. c[((c[da >> 2] | 0) + 4) >> 2] =
  103381. (c[J >> 2] | 0) - (c[I >> 2] | 0);
  103382. c[((c[da >> 2] | 0) + 8) >> 2] = c[M >> 2];
  103383. c[c[da >> 2] >> 2] = c[ca >> 2];
  103384. f = ((c[m >> 2] | 0) + 8) | 0;
  103385. c[f >> 2] = (c[f >> 2] | 0) + 1;
  103386. f = c[k >> 2] | 0;
  103387. o = L;
  103388. ea = c[o >> 2] | 0;
  103389. fa = c[(o + 4) >> 2] | 0;
  103390. o = c[t >> 2] | 0;
  103391. p = ((c[K >> 2] | 0) - (c[A >> 2] | 0)) | 0;
  103392. e = c[n >> 2] | 0;
  103393. c[i >> 2] = c[e >> 2];
  103394. c[(i + 4) >> 2] = c[(e + 4) >> 2];
  103395. c[(i + 8) >> 2] = c[(e + 8) >> 2];
  103396. c[(i + 12) >> 2] = c[(e + 12) >> 2];
  103397. c[(i + 16) >> 2] = c[(e + 16) >> 2];
  103398. c[(i + 20) >> 2] = c[(e + 20) >> 2];
  103399. bo(f, ea, fa, o, p, i);
  103400. if (
  103401. (((c[J >> 2] | 0) + (c[M >> 2] | 0)) | 0) >>> 0 <=
  103402. (c[H >> 2] | 0) >>> 0
  103403. ) {
  103404. p = c[k >> 2] | 0;
  103405. o = L;
  103406. fa = c[o >> 2] | 0;
  103407. ea = c[(o + 4) >> 2] | 0;
  103408. o = c[K >> 2] | 0;
  103409. f = ((c[J >> 2] | 0) + (c[M >> 2] | 0)) | 0;
  103410. e = c[A >> 2] | 0;
  103411. g = c[t >> 2] | 0;
  103412. d = c[n >> 2] | 0;
  103413. c[i >> 2] = c[d >> 2];
  103414. c[(i + 4) >> 2] = c[(d + 4) >> 2];
  103415. c[(i + 8) >> 2] = c[(d + 8) >> 2];
  103416. c[(i + 12) >> 2] = c[(d + 12) >> 2];
  103417. c[(i + 16) >> 2] = c[(d + 16) >> 2];
  103418. c[(i + 20) >> 2] = c[(d + 20) >> 2];
  103419. d = co(p, fa, ea, o, f, e, g, i) | 0;
  103420. g = L;
  103421. c[g >> 2] = d;
  103422. c[(g + 4) >> 2] = y;
  103423. c[K >> 2] = (c[J >> 2] | 0) + (c[M >> 2] | 0) + -1;
  103424. }
  103425. c[J >> 2] = (c[J >> 2] | 0) + (c[M >> 2] | 0);
  103426. c[I >> 2] = c[J >> 2];
  103427. }
  103428. if ((ga | 0) == 28) {
  103429. c[j >> 2] = -70;
  103430. ha = c[j >> 2] | 0;
  103431. l = h;
  103432. return ha | 0;
  103433. } else if ((ga | 0) == 32) {
  103434. c[j >> 2] = (c[G >> 2] | 0) - (c[I >> 2] | 0);
  103435. ha = c[j >> 2] | 0;
  103436. l = h;
  103437. return ha | 0;
  103438. }
  103439. return 0;
  103440. }
  103441. function Tn(a) {
  103442. a = a | 0;
  103443. return (
  103444. ((c[(a + 16) >> 2] | 0) >>> 0 <
  103445. (c[(a + 12) >> 2] | 0) >>> 0) |
  103446. 0
  103447. );
  103448. }
  103449. function Un(b, e, f, g, h, i) {
  103450. b = b | 0;
  103451. e = e | 0;
  103452. f = f | 0;
  103453. g = g | 0;
  103454. h = h | 0;
  103455. i = i | 0;
  103456. var j = 0,
  103457. k = 0,
  103458. m = 0,
  103459. n = 0,
  103460. o = 0,
  103461. p = 0;
  103462. j = l;
  103463. l = (l + 32) | 0;
  103464. k = (j + 8) | 0;
  103465. m = (j + 17) | 0;
  103466. n = (j + 16) | 0;
  103467. o = j;
  103468. p = k;
  103469. c[p >> 2] = b;
  103470. c[(p + 4) >> 2] = e;
  103471. a[m >> 0] = f;
  103472. a[n >> 0] = g;
  103473. g = o;
  103474. c[g >> 2] = h;
  103475. c[(g + 4) >> 2] = i;
  103476. i = ((d[m >> 0] | 0) + 10) | 0;
  103477. m = o;
  103478. o =
  103479. cE(
  103480. i | 0,
  103481. ((((i | 0) < 0) << 31) >> 31) | 0,
  103482. c[m >> 2] | 0,
  103483. c[(m + 4) >> 2] | 0
  103484. ) | 0;
  103485. m = k;
  103486. i = eE(c[m >> 2] | 0, c[(m + 4) >> 2] | 0, o | 0, y | 0) | 0;
  103487. o = k;
  103488. c[o >> 2] = i;
  103489. c[(o + 4) >> 2] = y;
  103490. o = k;
  103491. i =
  103492. cE(
  103493. c[o >> 2] | 0,
  103494. c[(o + 4) >> 2] | 0,
  103495. -1213897629,
  103496. -820265764
  103497. ) | 0;
  103498. o = k;
  103499. c[o >> 2] = i;
  103500. c[(o + 4) >> 2] = y;
  103501. o = ((d[n >> 0] | 0) + 10) | 0;
  103502. n = k;
  103503. i =
  103504. dE(
  103505. c[n >> 2] | 0,
  103506. c[(n + 4) >> 2] | 0,
  103507. o | 0,
  103508. ((((o | 0) < 0) << 31) >> 31) | 0
  103509. ) | 0;
  103510. o = k;
  103511. c[o >> 2] = i;
  103512. c[(o + 4) >> 2] = y;
  103513. o = k;
  103514. y = c[(o + 4) >> 2] | 0;
  103515. l = j;
  103516. return c[o >> 2] | 0;
  103517. }
  103518. function Vn(a, b) {
  103519. a = a | 0;
  103520. b = b | 0;
  103521. var e = 0,
  103522. f = 0,
  103523. g = 0,
  103524. h = 0,
  103525. i = 0,
  103526. j = 0,
  103527. k = 0,
  103528. m = 0;
  103529. e = l;
  103530. l = (l + 32) | 0;
  103531. f = (e + 16) | 0;
  103532. g = (e + 12) | 0;
  103533. h = e;
  103534. i = (e + 8) | 0;
  103535. c[f >> 2] = a;
  103536. c[g >> 2] = b;
  103537. b = h;
  103538. c[b >> 2] = 0;
  103539. c[(b + 4) >> 2] = 0;
  103540. c[i >> 2] = 0;
  103541. while (1) {
  103542. b = h;
  103543. j = c[b >> 2] | 0;
  103544. k = c[(b + 4) >> 2] | 0;
  103545. if ((c[i >> 2] | 0) >>> 0 >= (c[g >> 2] | 0) >>> 0) break;
  103546. b = cE(j | 0, k | 0, -1213897629, -820265764) | 0;
  103547. a = h;
  103548. c[a >> 2] = b;
  103549. c[(a + 4) >> 2] = y;
  103550. a =
  103551. ((d[((c[f >> 2] | 0) + (c[i >> 2] | 0)) >> 0] | 0) + 10) |
  103552. 0;
  103553. b = h;
  103554. m =
  103555. dE(
  103556. c[b >> 2] | 0,
  103557. c[(b + 4) >> 2] | 0,
  103558. a | 0,
  103559. ((((a | 0) < 0) << 31) >> 31) | 0
  103560. ) | 0;
  103561. a = h;
  103562. c[a >> 2] = m;
  103563. c[(a + 4) >> 2] = y;
  103564. c[i >> 2] = (c[i >> 2] | 0) + 1;
  103565. }
  103566. y = k;
  103567. l = e;
  103568. return j | 0;
  103569. }
  103570. function Wn(a, b, d, e) {
  103571. a = a | 0;
  103572. b = b | 0;
  103573. d = d | 0;
  103574. e = e | 0;
  103575. var f = 0,
  103576. g = 0,
  103577. h = 0,
  103578. i = 0,
  103579. j = 0,
  103580. k = 0,
  103581. m = 0;
  103582. f = l;
  103583. l = (l + 32) | 0;
  103584. g = (f + 16) | 0;
  103585. h = f;
  103586. i = (f + 12) | 0;
  103587. j = (f + 8) | 0;
  103588. k = h;
  103589. c[k >> 2] = a;
  103590. c[(k + 4) >> 2] = b;
  103591. c[i >> 2] = d;
  103592. c[j >> 2] = e;
  103593. e = h;
  103594. h = c[e >> 2] | 0;
  103595. d = c[(e + 4) >> 2] | 0;
  103596. if (
  103597. ((32 - (c[i >> 2] | 0)) | 0) >>> 0 <
  103598. (c[j >> 2] | 0) >>> 0
  103599. ) {
  103600. c[g >> 2] = h & ((1 << c[j >> 2]) - 1);
  103601. m = c[g >> 2] | 0;
  103602. l = f;
  103603. return m | 0;
  103604. } else {
  103605. e =
  103606. iE(
  103607. h | 0,
  103608. d | 0,
  103609. (32 - (c[i >> 2] | 0) - (c[j >> 2] | 0)) | 0
  103610. ) | 0;
  103611. c[g >> 2] = e & ((1 << c[j >> 2]) - 1);
  103612. m = c[g >> 2] | 0;
  103613. l = f;
  103614. return m | 0;
  103615. }
  103616. return 0;
  103617. }
  103618. function Xn(a, b, d) {
  103619. a = a | 0;
  103620. b = b | 0;
  103621. d = d | 0;
  103622. var e = 0,
  103623. f = 0,
  103624. g = 0,
  103625. h = 0,
  103626. i = 0;
  103627. e = l;
  103628. l = (l + 16) | 0;
  103629. f = e;
  103630. g = (e + 8) | 0;
  103631. h = f;
  103632. c[h >> 2] = a;
  103633. c[(h + 4) >> 2] = b;
  103634. c[g >> 2] = d;
  103635. if (!(c[g >> 2] | 0)) {
  103636. i = 0;
  103637. l = e;
  103638. return i | 0;
  103639. }
  103640. d = f;
  103641. f =
  103642. iE(
  103643. c[d >> 2] | 0,
  103644. c[(d + 4) >> 2] | 0,
  103645. (64 - (c[g >> 2] | 0)) | 0
  103646. ) | 0;
  103647. i = f;
  103648. l = e;
  103649. return i | 0;
  103650. }
  103651. function Yn(a, b, d) {
  103652. a = a | 0;
  103653. b = b | 0;
  103654. d = d | 0;
  103655. var e = 0,
  103656. f = 0,
  103657. g = 0;
  103658. e = l;
  103659. l = (l + 16) | 0;
  103660. f = (e + 4) | 0;
  103661. g = e;
  103662. c[f >> 2] = a;
  103663. c[g >> 2] = b;
  103664. l = e;
  103665. return (
  103666. ((c[((c[f >> 2] | 0) + 20) >> 2] | 0) +
  103667. ((c[g >> 2] << c[(d + 8) >> 2]) << 3)) |
  103668. 0
  103669. );
  103670. }
  103671. function Zn(a, b, d) {
  103672. a = a | 0;
  103673. b = b | 0;
  103674. d = d | 0;
  103675. var e = 0,
  103676. f = 0,
  103677. g = 0,
  103678. h = 0;
  103679. e = l;
  103680. l = (l + 16) | 0;
  103681. f = e;
  103682. g = (e + 8) | 0;
  103683. h = f;
  103684. c[h >> 2] = a;
  103685. c[(h + 4) >> 2] = b;
  103686. c[g >> 2] = d;
  103687. d = f;
  103688. f =
  103689. iE(
  103690. c[d >> 2] | 0,
  103691. c[(d + 4) >> 2] | 0,
  103692. (32 - (c[g >> 2] | 0)) | 0
  103693. ) | 0;
  103694. l = e;
  103695. return f | 0;
  103696. }
  103697. function _n(a, b, d, e, f) {
  103698. a = a | 0;
  103699. b = b | 0;
  103700. d = d | 0;
  103701. e = e | 0;
  103702. f = f | 0;
  103703. var g = 0,
  103704. h = 0,
  103705. i = 0,
  103706. j = 0,
  103707. k = 0,
  103708. m = 0,
  103709. n = 0,
  103710. o = 0,
  103711. p = 0,
  103712. q = 0,
  103713. r = 0;
  103714. g = l;
  103715. l = (l + 32) | 0;
  103716. h = (g + 28) | 0;
  103717. i = (g + 24) | 0;
  103718. j = (g + 20) | 0;
  103719. k = (g + 16) | 0;
  103720. m = (g + 12) | 0;
  103721. n = (g + 8) | 0;
  103722. o = (g + 4) | 0;
  103723. p = g;
  103724. c[i >> 2] = a;
  103725. c[j >> 2] = b;
  103726. c[k >> 2] = d;
  103727. c[m >> 2] = e;
  103728. c[n >> 2] = f;
  103729. if (
  103730. (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  103731. 0) >>>
  103732. 0 <
  103733. (c[k >> 2] | 0) >>> 0
  103734. )
  103735. q =
  103736. ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
  103737. 0;
  103738. else q = c[k >> 2] | 0;
  103739. c[o >> 2] = q;
  103740. c[p >> 2] =
  103741. ao(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
  103742. o = c[p >> 2] | 0;
  103743. if (
  103744. (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
  103745. (c[m >> 2] | 0)
  103746. ) {
  103747. c[h >> 2] = o;
  103748. r = c[h >> 2] | 0;
  103749. l = g;
  103750. return r | 0;
  103751. } else {
  103752. c[h >> 2] =
  103753. o +
  103754. (ao(
  103755. ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  103756. c[n >> 2] | 0,
  103757. c[k >> 2] | 0
  103758. ) |
  103759. 0);
  103760. r = c[h >> 2] | 0;
  103761. l = g;
  103762. return r | 0;
  103763. }
  103764. return 0;
  103765. }
  103766. function $n(a, b, e, f) {
  103767. a = a | 0;
  103768. b = b | 0;
  103769. e = e | 0;
  103770. f = f | 0;
  103771. var g = 0,
  103772. h = 0,
  103773. i = 0,
  103774. j = 0,
  103775. k = 0,
  103776. m = 0,
  103777. n = 0;
  103778. g = l;
  103779. l = (l + 32) | 0;
  103780. h = (g + 16) | 0;
  103781. i = (g + 12) | 0;
  103782. j = (g + 8) | 0;
  103783. k = (g + 4) | 0;
  103784. m = g;
  103785. c[h >> 2] = a;
  103786. c[i >> 2] = b;
  103787. c[j >> 2] = e;
  103788. c[k >> 2] = f;
  103789. c[m >> 2] = 0;
  103790. while (1) {
  103791. if ((c[h >> 2] | 0) >>> 0 <= (c[i >> 2] | 0) >>> 0) {
  103792. n = 6;
  103793. break;
  103794. }
  103795. if ((c[j >> 2] | 0) >>> 0 <= (c[k >> 2] | 0) >>> 0) {
  103796. n = 6;
  103797. break;
  103798. }
  103799. if (
  103800. (d[((c[h >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  103801. (d[((c[j >> 2] | 0) + -1) >> 0] | 0 | 0)
  103802. ) {
  103803. n = 6;
  103804. break;
  103805. }
  103806. c[h >> 2] = (c[h >> 2] | 0) + -1;
  103807. c[j >> 2] = (c[j >> 2] | 0) + -1;
  103808. c[m >> 2] = (c[m >> 2] | 0) + 1;
  103809. }
  103810. if ((n | 0) == 6) {
  103811. l = g;
  103812. return c[m >> 2] | 0;
  103813. }
  103814. return 0;
  103815. }
  103816. function ao(a, b, e) {
  103817. a = a | 0;
  103818. b = b | 0;
  103819. e = e | 0;
  103820. var f = 0,
  103821. g = 0,
  103822. h = 0,
  103823. i = 0,
  103824. j = 0,
  103825. k = 0,
  103826. m = 0,
  103827. n = 0,
  103828. o = 0,
  103829. p = 0;
  103830. f = l;
  103831. l = (l + 32) | 0;
  103832. g = (f + 28) | 0;
  103833. h = (f + 24) | 0;
  103834. i = (f + 20) | 0;
  103835. j = (f + 16) | 0;
  103836. k = (f + 12) | 0;
  103837. m = (f + 8) | 0;
  103838. n = (f + 4) | 0;
  103839. o = f;
  103840. c[h >> 2] = a;
  103841. c[i >> 2] = b;
  103842. c[j >> 2] = e;
  103843. c[k >> 2] = c[h >> 2];
  103844. c[m >> 2] = (c[j >> 2] | 0) + -3;
  103845. a: do {
  103846. if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
  103847. e = fo(c[i >> 2] | 0) | 0;
  103848. c[n >> 2] = e ^ (fo(c[h >> 2] | 0) | 0);
  103849. if (c[n >> 2] | 0) {
  103850. c[g >> 2] = go(c[n >> 2] | 0) | 0;
  103851. p = c[g >> 2] | 0;
  103852. l = f;
  103853. return p | 0;
  103854. }
  103855. c[h >> 2] = (c[h >> 2] | 0) + 4;
  103856. c[i >> 2] = (c[i >> 2] | 0) + 4;
  103857. while (1) {
  103858. if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
  103859. break a;
  103860. e = fo(c[i >> 2] | 0) | 0;
  103861. c[o >> 2] = e ^ (fo(c[h >> 2] | 0) | 0);
  103862. if (c[o >> 2] | 0) break;
  103863. c[h >> 2] = (c[h >> 2] | 0) + 4;
  103864. c[i >> 2] = (c[i >> 2] | 0) + 4;
  103865. }
  103866. e = go(c[o >> 2] | 0) | 0;
  103867. c[h >> 2] = (c[h >> 2] | 0) + e;
  103868. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  103869. p = c[g >> 2] | 0;
  103870. l = f;
  103871. return p | 0;
  103872. }
  103873. } while (0);
  103874. if (
  103875. (
  103876. ho() | 0
  103877. ? (c[h >> 2] | 0) >>> 0 <
  103878. (((c[j >> 2] | 0) + -3) | 0) >>> 0
  103879. : 0
  103880. )
  103881. ? ((o = io(c[i >> 2] | 0) | 0),
  103882. (o | 0) == (io(c[h >> 2] | 0) | 0))
  103883. : 0
  103884. ) {
  103885. c[h >> 2] = (c[h >> 2] | 0) + 4;
  103886. c[i >> 2] = (c[i >> 2] | 0) + 4;
  103887. }
  103888. if (
  103889. (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
  103890. ? ((o = (jo(c[i >> 2] | 0) | 0) & 65535),
  103891. (o | 0) == (((jo(c[h >> 2] | 0) | 0) & 65535) | 0))
  103892. : 0
  103893. ) {
  103894. c[h >> 2] = (c[h >> 2] | 0) + 2;
  103895. c[i >> 2] = (c[i >> 2] | 0) + 2;
  103896. }
  103897. if (
  103898. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  103899. ? (d[c[i >> 2] >> 0] | 0 | 0) ==
  103900. (d[c[h >> 2] >> 0] | 0 | 0)
  103901. : 0
  103902. )
  103903. c[h >> 2] = (c[h >> 2] | 0) + 1;
  103904. c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
  103905. p = c[g >> 2] | 0;
  103906. l = f;
  103907. return p | 0;
  103908. }
  103909. function bo(a, b, d, e, f, g) {
  103910. a = a | 0;
  103911. b = b | 0;
  103912. d = d | 0;
  103913. e = e | 0;
  103914. f = f | 0;
  103915. g = g | 0;
  103916. var h = 0,
  103917. i = 0,
  103918. j = 0,
  103919. k = 0,
  103920. m = 0,
  103921. n = 0,
  103922. o = 0,
  103923. p = 0,
  103924. q = 0,
  103925. r = 0,
  103926. s = 0,
  103927. t = 0;
  103928. h = l;
  103929. l = (l + 80) | 0;
  103930. i = (h + 56) | 0;
  103931. j = (h + 48) | 0;
  103932. k = (h + 40) | 0;
  103933. m = h;
  103934. n = (h + 36) | 0;
  103935. o = (h + 32) | 0;
  103936. p = (h + 28) | 0;
  103937. q = (h + 24) | 0;
  103938. r = (h + 20) | 0;
  103939. s = (h + 16) | 0;
  103940. t = (h + 8) | 0;
  103941. c[k >> 2] = a;
  103942. a = m;
  103943. c[a >> 2] = b;
  103944. c[(a + 4) >> 2] = d;
  103945. c[n >> 2] = e;
  103946. c[o >> 2] = f;
  103947. f = m;
  103948. c[p >> 2] =
  103949. Wn(
  103950. c[f >> 2] | 0,
  103951. c[(f + 4) >> 2] | 0,
  103952. c[n >> 2] | 0,
  103953. c[(g + 16) >> 2] | 0
  103954. ) | 0;
  103955. c[q >> 2] = (1 << c[(g + 16) >> 2]) - 1;
  103956. if ((c[p >> 2] | 0) != (c[q >> 2] | 0)) {
  103957. l = h;
  103958. return;
  103959. }
  103960. q = m;
  103961. c[r >> 2] =
  103962. Xn(c[q >> 2] | 0, c[(q + 4) >> 2] | 0, c[n >> 2] | 0) | 0;
  103963. q = m;
  103964. c[s >> 2] =
  103965. Zn(c[q >> 2] | 0, c[(q + 4) >> 2] | 0, c[n >> 2] | 0) | 0;
  103966. c[t >> 2] = c[o >> 2];
  103967. c[(t + 4) >> 2] = c[s >> 2];
  103968. s = c[k >> 2] | 0;
  103969. k = c[r >> 2] | 0;
  103970. c[j >> 2] = c[t >> 2];
  103971. c[(j + 4) >> 2] = c[(t + 4) >> 2];
  103972. c[i >> 2] = c[g >> 2];
  103973. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  103974. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  103975. c[(i + 12) >> 2] = c[(g + 12) >> 2];
  103976. c[(i + 16) >> 2] = c[(g + 16) >> 2];
  103977. c[(i + 20) >> 2] = c[(g + 20) >> 2];
  103978. eo(s, k, j, i);
  103979. l = h;
  103980. return;
  103981. }
  103982. function co(b, d, e, f, g, h, i, j) {
  103983. b = b | 0;
  103984. d = d | 0;
  103985. e = e | 0;
  103986. f = f | 0;
  103987. g = g | 0;
  103988. h = h | 0;
  103989. i = i | 0;
  103990. j = j | 0;
  103991. var k = 0,
  103992. m = 0,
  103993. n = 0,
  103994. o = 0,
  103995. p = 0,
  103996. q = 0,
  103997. r = 0,
  103998. s = 0,
  103999. t = 0,
  104000. u = 0,
  104001. v = 0,
  104002. w = 0;
  104003. k = l;
  104004. l = (l + 64) | 0;
  104005. m = (k + 40) | 0;
  104006. n = (k + 36) | 0;
  104007. o = (k + 8) | 0;
  104008. p = (k + 32) | 0;
  104009. q = (k + 28) | 0;
  104010. r = (k + 24) | 0;
  104011. s = (k + 20) | 0;
  104012. t = k;
  104013. u = (k + 16) | 0;
  104014. c[n >> 2] = b;
  104015. b = o;
  104016. c[b >> 2] = d;
  104017. c[(b + 4) >> 2] = e;
  104018. c[p >> 2] = f;
  104019. c[q >> 2] = g;
  104020. c[r >> 2] = h;
  104021. c[s >> 2] = i;
  104022. i = o;
  104023. o = c[(i + 4) >> 2] | 0;
  104024. h = t;
  104025. c[h >> 2] = c[i >> 2];
  104026. c[(h + 4) >> 2] = o;
  104027. c[u >> 2] = (c[p >> 2] | 0) + 1;
  104028. while (1) {
  104029. p = t;
  104030. v = c[p >> 2] | 0;
  104031. w = c[(p + 4) >> 2] | 0;
  104032. if ((c[u >> 2] | 0) >>> 0 >= (c[q >> 2] | 0) >>> 0) break;
  104033. p = ((c[n >> 2] | 0) + 32) | 0;
  104034. o =
  104035. Un(
  104036. v,
  104037. w,
  104038. a[((c[u >> 2] | 0) + -1) >> 0] | 0,
  104039. a[
  104040. ((c[u >> 2] | 0) + ((c[(j + 12) >> 2] | 0) - 1)) >> 0
  104041. ] | 0,
  104042. c[p >> 2] | 0,
  104043. c[(p + 4) >> 2] | 0
  104044. ) | 0;
  104045. p = t;
  104046. c[p >> 2] = o;
  104047. c[(p + 4) >> 2] = y;
  104048. p = c[n >> 2] | 0;
  104049. o = t;
  104050. h = c[o >> 2] | 0;
  104051. i = c[(o + 4) >> 2] | 0;
  104052. o = c[s >> 2] | 0;
  104053. g = ((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0;
  104054. c[m >> 2] = c[j >> 2];
  104055. c[(m + 4) >> 2] = c[(j + 4) >> 2];
  104056. c[(m + 8) >> 2] = c[(j + 8) >> 2];
  104057. c[(m + 12) >> 2] = c[(j + 12) >> 2];
  104058. c[(m + 16) >> 2] = c[(j + 16) >> 2];
  104059. c[(m + 20) >> 2] = c[(j + 20) >> 2];
  104060. bo(p, h, i, o, g, m);
  104061. c[u >> 2] = (c[u >> 2] | 0) + 1;
  104062. }
  104063. y = w;
  104064. l = k;
  104065. return v | 0;
  104066. }
  104067. function eo(b, e, f, g) {
  104068. b = b | 0;
  104069. e = e | 0;
  104070. f = f | 0;
  104071. g = g | 0;
  104072. var h = 0,
  104073. i = 0,
  104074. j = 0,
  104075. k = 0,
  104076. m = 0;
  104077. h = l;
  104078. l = (l + 48) | 0;
  104079. i = (h + 16) | 0;
  104080. j = (h + 8) | 0;
  104081. k = (h + 4) | 0;
  104082. m = h;
  104083. c[j >> 2] = b;
  104084. c[k >> 2] = e;
  104085. c[m >> 2] = c[((c[j >> 2] | 0) + 24) >> 2];
  104086. e = c[j >> 2] | 0;
  104087. j = c[k >> 2] | 0;
  104088. c[i >> 2] = c[g >> 2];
  104089. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  104090. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  104091. c[(i + 12) >> 2] = c[(g + 12) >> 2];
  104092. c[(i + 16) >> 2] = c[(g + 16) >> 2];
  104093. c[(i + 20) >> 2] = c[(g + 20) >> 2];
  104094. b = Yn(e, j, i) | 0;
  104095. i =
  104096. (b +
  104097. ((d[((c[m >> 2] | 0) + (c[k >> 2] | 0)) >> 0] | 0) <<
  104098. 3)) |
  104099. 0;
  104100. c[i >> 2] = c[f >> 2];
  104101. c[(i + 4) >> 2] = c[(f + 4) >> 2];
  104102. f = ((c[m >> 2] | 0) + (c[k >> 2] | 0)) | 0;
  104103. a[f >> 0] = (((a[f >> 0] | 0) + 1) << 24) >> 24;
  104104. f = ((c[m >> 2] | 0) + (c[k >> 2] | 0)) | 0;
  104105. a[f >> 0] = (d[f >> 0] | 0) & ((1 << c[(g + 8) >> 2]) - 1);
  104106. l = h;
  104107. return;
  104108. }
  104109. function fo(a) {
  104110. a = a | 0;
  104111. var b = 0,
  104112. e = 0;
  104113. b = l;
  104114. l = (l + 16) | 0;
  104115. e = b;
  104116. c[e >> 2] = a;
  104117. a = c[e >> 2] | 0;
  104118. l = b;
  104119. return (
  104120. d[a >> 0] |
  104121. (d[(a + 1) >> 0] << 8) |
  104122. (d[(a + 2) >> 0] << 16) |
  104123. (d[(a + 3) >> 0] << 24) |
  104124. 0
  104125. );
  104126. }
  104127. function go(a) {
  104128. a = a | 0;
  104129. var b = 0,
  104130. d = 0,
  104131. e = 0,
  104132. f = 0,
  104133. g = 0;
  104134. b = l;
  104135. l = (l + 16) | 0;
  104136. d = (b + 4) | 0;
  104137. e = b;
  104138. c[e >> 2] = a;
  104139. a = (ko() | 0) != 0;
  104140. f = (ho() | 0) != 0;
  104141. g = c[e >> 2] | 0;
  104142. do {
  104143. if (a) {
  104144. if (f) {
  104145. e = ob(g | 0, 0, 0) | 0;
  104146. c[d >> 2] = e >> 3;
  104147. break;
  104148. } else {
  104149. c[d >> 2] = (fE(g | 0) | 0) >> 3;
  104150. break;
  104151. }
  104152. } else if (f) {
  104153. e = lE(g | 0, 0, 0) | 0;
  104154. c[d >> 2] = e >> 3;
  104155. break;
  104156. } else {
  104157. c[d >> 2] = (Q(g | 0) | 0) >> 3;
  104158. break;
  104159. }
  104160. } while (0);
  104161. l = b;
  104162. return c[d >> 2] | 0;
  104163. }
  104164. function ho() {
  104165. return 0;
  104166. }
  104167. function io(a) {
  104168. a = a | 0;
  104169. var b = 0,
  104170. e = 0;
  104171. b = l;
  104172. l = (l + 16) | 0;
  104173. e = b;
  104174. c[e >> 2] = a;
  104175. a = c[e >> 2] | 0;
  104176. l = b;
  104177. return (
  104178. d[a >> 0] |
  104179. (d[(a + 1) >> 0] << 8) |
  104180. (d[(a + 2) >> 0] << 16) |
  104181. (d[(a + 3) >> 0] << 24) |
  104182. 0
  104183. );
  104184. }
  104185. function jo(a) {
  104186. a = a | 0;
  104187. var b = 0,
  104188. e = 0;
  104189. b = l;
  104190. l = (l + 16) | 0;
  104191. e = b;
  104192. c[e >> 2] = a;
  104193. a = c[e >> 2] | 0;
  104194. l = b;
  104195. return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
  104196. }
  104197. function ko() {
  104198. return d[11936] | 0 | 0;
  104199. }
  104200. function lo(a, b, d, e) {
  104201. a = a | 0;
  104202. b = b | 0;
  104203. d = d | 0;
  104204. e = e | 0;
  104205. var f = 0,
  104206. g = 0,
  104207. h = 0,
  104208. i = 0,
  104209. j = 0;
  104210. f = l;
  104211. l = (l + 32) | 0;
  104212. g = (f + 20) | 0;
  104213. h = (f + 16) | 0;
  104214. i = (f + 12) | 0;
  104215. j = f;
  104216. c[g >> 2] = b;
  104217. c[h >> 2] = d;
  104218. c[i >> 2] = e;
  104219. e =
  104220. ((c[c[g >> 2] >> 2] | 0) +
  104221. (((c[((c[g >> 2] | 0) + 4) >> 2] | 0) * 12) | 0)) |
  104222. 0;
  104223. c[j >> 2] = c[e >> 2];
  104224. c[(j + 4) >> 2] = c[(e + 4) >> 2];
  104225. c[(j + 8) >> 2] = c[(e + 8) >> 2];
  104226. if (
  104227. (c[h >> 2] | 0) >>> 0 >=
  104228. (((c[(j + 4) >> 2] | 0) + (c[(j + 8) >> 2] | 0)) | 0) >>> 0
  104229. ) {
  104230. e = ((c[g >> 2] | 0) + 4) | 0;
  104231. c[e >> 2] = (c[e >> 2] | 0) + 1;
  104232. c[a >> 2] = c[j >> 2];
  104233. c[(a + 4) >> 2] = c[(j + 4) >> 2];
  104234. c[(a + 8) >> 2] = c[(j + 8) >> 2];
  104235. l = f;
  104236. return;
  104237. }
  104238. if ((c[h >> 2] | 0) >>> 0 > (c[(j + 4) >> 2] | 0) >>> 0) {
  104239. if (
  104240. (c[h >> 2] | 0) >>> 0 <
  104241. (((c[(j + 4) >> 2] | 0) + (c[(j + 8) >> 2] | 0)) | 0) >>>
  104242. 0
  104243. ? ((c[(j + 8) >> 2] =
  104244. (c[h >> 2] | 0) - (c[(j + 4) >> 2] | 0)),
  104245. (c[(j + 8) >> 2] | 0) >>> 0 < (c[i >> 2] | 0) >>> 0)
  104246. : 0
  104247. )
  104248. c[j >> 2] = 0;
  104249. } else c[j >> 2] = 0;
  104250. An(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
  104251. c[a >> 2] = c[j >> 2];
  104252. c[(a + 4) >> 2] = c[(j + 4) >> 2];
  104253. c[(a + 8) >> 2] = c[(j + 8) >> 2];
  104254. l = f;
  104255. return;
  104256. }
  104257. function mo(a, b) {
  104258. a = a | 0;
  104259. b = b | 0;
  104260. var d = 0,
  104261. e = 0,
  104262. f = 0,
  104263. g = 0,
  104264. h = 0;
  104265. d = l;
  104266. l = (l + 16) | 0;
  104267. e = (d + 8) | 0;
  104268. f = (d + 4) | 0;
  104269. g = d;
  104270. c[e >> 2] = a;
  104271. c[f >> 2] = b;
  104272. c[g >> 2] =
  104273. (c[f >> 2] | 0) - (c[((c[e >> 2] | 0) + 4) >> 2] | 0);
  104274. if (
  104275. (c[g >> 2] | 0) >>> 0 <=
  104276. (((c[((c[e >> 2] | 0) + 24) >> 2] | 0) + 1024) | 0) >>> 0
  104277. ) {
  104278. l = d;
  104279. return;
  104280. }
  104281. if (
  104282. 512 <
  104283. (((c[g >> 2] | 0) -
  104284. (c[((c[e >> 2] | 0) + 24) >> 2] | 0) -
  104285. 1024) |
  104286. 0) >>>
  104287. 0
  104288. )
  104289. h = 512;
  104290. else
  104291. h =
  104292. ((c[g >> 2] | 0) -
  104293. (c[((c[e >> 2] | 0) + 24) >> 2] | 0) -
  104294. 1024) |
  104295. 0;
  104296. c[((c[e >> 2] | 0) + 24) >> 2] = (c[g >> 2] | 0) - h;
  104297. l = d;
  104298. return;
  104299. }
  104300. function no(a, b, d) {
  104301. a = a | 0;
  104302. b = b | 0;
  104303. d = d | 0;
  104304. var e = 0,
  104305. f = 0,
  104306. g = 0,
  104307. h = 0,
  104308. i = 0;
  104309. e = l;
  104310. l = (l + 16) | 0;
  104311. f = (e + 12) | 0;
  104312. g = (e + 8) | 0;
  104313. h = (e + 4) | 0;
  104314. i = e;
  104315. c[f >> 2] = a;
  104316. c[g >> 2] = b;
  104317. c[h >> 2] = d;
  104318. c[i >> 2] = c[h >> 2];
  104319. switch (c[((c[g >> 2] | 0) + 24) >> 2] | 0) {
  104320. case 1: {
  104321. Nj(c[f >> 2] | 0, c[g >> 2] | 0, c[i >> 2] | 0);
  104322. c[((c[f >> 2] | 0) + 24) >> 2] =
  104323. (c[i >> 2] | 0) - (c[((c[f >> 2] | 0) + 4) >> 2] | 0);
  104324. l = e;
  104325. return 0;
  104326. }
  104327. case 2: {
  104328. Oj(c[f >> 2] | 0, c[g >> 2] | 0, c[i >> 2] | 0);
  104329. c[((c[f >> 2] | 0) + 24) >> 2] =
  104330. (c[i >> 2] | 0) - (c[((c[f >> 2] | 0) + 4) >> 2] | 0);
  104331. l = e;
  104332. return 0;
  104333. }
  104334. default: {
  104335. l = e;
  104336. return 0;
  104337. }
  104338. }
  104339. return 0;
  104340. }
  104341. function oo(a, d, e, f, g) {
  104342. a = a | 0;
  104343. d = d | 0;
  104344. e = e | 0;
  104345. f = f | 0;
  104346. g = g | 0;
  104347. var h = 0,
  104348. i = 0,
  104349. j = 0,
  104350. k = 0,
  104351. m = 0,
  104352. n = 0,
  104353. o = 0,
  104354. p = 0,
  104355. q = 0,
  104356. r = 0,
  104357. s = 0,
  104358. t = 0,
  104359. u = 0,
  104360. v = 0,
  104361. w = 0,
  104362. x = 0;
  104363. h = l;
  104364. l = (l + 32) | 0;
  104365. i = (h + 16) | 0;
  104366. j = (h + 12) | 0;
  104367. k = (h + 8) | 0;
  104368. m = (h + 4) | 0;
  104369. n = h;
  104370. c[i >> 2] = a;
  104371. c[j >> 2] = d;
  104372. c[k >> 2] = e;
  104373. c[m >> 2] = f;
  104374. c[n >> 2] = g;
  104375. po(
  104376. c[((c[i >> 2] | 0) + 12) >> 2] | 0,
  104377. c[k >> 2] | 0,
  104378. c[j >> 2] | 0
  104379. );
  104380. k = ((c[i >> 2] | 0) + 12) | 0;
  104381. c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
  104382. if ((c[j >> 2] | 0) >>> 0 > 65535) {
  104383. c[((c[i >> 2] | 0) + 28) >> 2] = 1;
  104384. c[((c[i >> 2] | 0) + 32) >> 2] =
  104385. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  104386. (c[c[i >> 2] >> 2] | 0)) |
  104387. 0) /
  104388. 8) |
  104389. 0;
  104390. }
  104391. b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
  104392. c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
  104393. if ((c[n >> 2] | 0) >>> 0 <= 65535) {
  104394. o = c[n >> 2] | 0;
  104395. p = o & 65535;
  104396. q = c[i >> 2] | 0;
  104397. r = (q + 4) | 0;
  104398. s = c[r >> 2] | 0;
  104399. t = (s + 6) | 0;
  104400. b[t >> 1] = p;
  104401. u = c[i >> 2] | 0;
  104402. v = (u + 4) | 0;
  104403. w = c[v >> 2] | 0;
  104404. x = (w + 8) | 0;
  104405. c[v >> 2] = x;
  104406. l = h;
  104407. return;
  104408. }
  104409. c[((c[i >> 2] | 0) + 28) >> 2] = 2;
  104410. c[((c[i >> 2] | 0) + 32) >> 2] =
  104411. ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
  104412. (c[c[i >> 2] >> 2] | 0)) |
  104413. 0) /
  104414. 8) |
  104415. 0;
  104416. o = c[n >> 2] | 0;
  104417. p = o & 65535;
  104418. q = c[i >> 2] | 0;
  104419. r = (q + 4) | 0;
  104420. s = c[r >> 2] | 0;
  104421. t = (s + 6) | 0;
  104422. b[t >> 1] = p;
  104423. u = c[i >> 2] | 0;
  104424. v = (u + 4) | 0;
  104425. w = c[v >> 2] | 0;
  104426. x = (w + 8) | 0;
  104427. c[v >> 2] = x;
  104428. l = h;
  104429. return;
  104430. }
  104431. function po(a, b, d) {
  104432. a = a | 0;
  104433. b = b | 0;
  104434. d = d | 0;
  104435. var e = 0,
  104436. f = 0,
  104437. g = 0,
  104438. h = 0,
  104439. i = 0,
  104440. j = 0,
  104441. k = 0;
  104442. e = l;
  104443. l = (l + 32) | 0;
  104444. f = (e + 20) | 0;
  104445. g = (e + 16) | 0;
  104446. h = (e + 12) | 0;
  104447. i = (e + 8) | 0;
  104448. j = (e + 4) | 0;
  104449. k = e;
  104450. c[f >> 2] = a;
  104451. c[g >> 2] = b;
  104452. c[h >> 2] = d;
  104453. c[i >> 2] = c[g >> 2];
  104454. c[j >> 2] = c[f >> 2];
  104455. c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
  104456. do {
  104457. qo(c[j >> 2] | 0, c[i >> 2] | 0);
  104458. c[j >> 2] = (c[j >> 2] | 0) + 8;
  104459. c[i >> 2] = (c[i >> 2] | 0) + 8;
  104460. } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
  104461. l = e;
  104462. return;
  104463. }
  104464. function qo(b, d) {
  104465. b = b | 0;
  104466. d = d | 0;
  104467. var e = 0,
  104468. f = 0,
  104469. g = 0;
  104470. e = l;
  104471. l = (l + 16) | 0;
  104472. f = (e + 4) | 0;
  104473. g = e;
  104474. c[f >> 2] = b;
  104475. c[g >> 2] = d;
  104476. d = c[f >> 2] | 0;
  104477. f = c[g >> 2] | 0;
  104478. a[d >> 0] = a[f >> 0] | 0;
  104479. a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
  104480. a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
  104481. a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
  104482. a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
  104483. a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
  104484. a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
  104485. a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
  104486. l = e;
  104487. return;
  104488. }
  104489. function ro(a, b) {
  104490. a = a | 0;
  104491. b = b | 0;
  104492. var d = 0,
  104493. e = 0,
  104494. f = 0;
  104495. d = l;
  104496. l = (l + 16) | 0;
  104497. e = (d + 4) | 0;
  104498. f = d;
  104499. c[e >> 2] = b;
  104500. c[f >> 2] = (c[e >> 2] | 0) - (c[(a + 4) >> 2] | 0);
  104501. l = d;
  104502. return ((c[f >> 2] | 0) >>> 0 > 2684354560) | 0;
  104503. }
  104504. function so(a, b, d, e) {
  104505. a = a | 0;
  104506. b = b | 0;
  104507. d = d | 0;
  104508. e = e | 0;
  104509. var f = 0,
  104510. g = 0,
  104511. h = 0,
  104512. i = 0,
  104513. j = 0,
  104514. k = 0,
  104515. m = 0,
  104516. n = 0,
  104517. o = 0;
  104518. f = l;
  104519. l = (l + 32) | 0;
  104520. g = (f + 28) | 0;
  104521. h = (f + 24) | 0;
  104522. i = (f + 20) | 0;
  104523. j = (f + 16) | 0;
  104524. k = (f + 12) | 0;
  104525. m = (f + 8) | 0;
  104526. n = (f + 4) | 0;
  104527. o = f;
  104528. c[g >> 2] = a;
  104529. c[h >> 2] = b;
  104530. c[i >> 2] = d;
  104531. c[j >> 2] = e;
  104532. c[k >> 2] = (1 << c[h >> 2]) - 1;
  104533. c[m >> 2] =
  104534. (c[j >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
  104535. c[n >> 2] = (c[m >> 2] & c[k >> 2]) + (c[i >> 2] | 0);
  104536. c[o >> 2] = (c[m >> 2] | 0) - (c[n >> 2] | 0);
  104537. n = ((c[g >> 2] | 0) + 4) | 0;
  104538. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  104539. n = ((c[g >> 2] | 0) + 8) | 0;
  104540. c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
  104541. n = ((c[g >> 2] | 0) + 16) | 0;
  104542. c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
  104543. n = ((c[g >> 2] | 0) + 12) | 0;
  104544. c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
  104545. l = f;
  104546. return c[o >> 2] | 0;
  104547. }
  104548. function to(a, b) {
  104549. a = a | 0;
  104550. b = b | 0;
  104551. var d = 0,
  104552. e = 0,
  104553. f = 0,
  104554. g = 0,
  104555. h = 0,
  104556. i = 0,
  104557. j = 0;
  104558. d = l;
  104559. l = (l + 32) | 0;
  104560. e = (d + 20) | 0;
  104561. f = (d + 16) | 0;
  104562. g = (d + 12) | 0;
  104563. h = (d + 8) | 0;
  104564. i = (d + 4) | 0;
  104565. j = d;
  104566. c[e >> 2] = a;
  104567. c[f >> 2] = b;
  104568. c[g >> 2] = (c[e >> 2] | 0) + 472 + 8;
  104569. c[h >> 2] = 1 << c[((c[e >> 2] | 0) + 116 + 4 + 8) >> 2];
  104570. vo(
  104571. c[((c[g >> 2] | 0) + 36) >> 2] | 0,
  104572. c[h >> 2] | 0,
  104573. c[f >> 2] | 0
  104574. );
  104575. do {
  104576. if ((c[((c[e >> 2] | 0) + 116 + 4 + 24) >> 2] | 0) != 1) {
  104577. c[i >> 2] = 1 << c[((c[e >> 2] | 0) + 116 + 4 + 4) >> 2];
  104578. h = c[((c[g >> 2] | 0) + 44) >> 2] | 0;
  104579. b = c[i >> 2] | 0;
  104580. a = c[f >> 2] | 0;
  104581. if ((c[((c[e >> 2] | 0) + 116 + 4 + 24) >> 2] | 0) == 6) {
  104582. wo(h, b, a);
  104583. break;
  104584. } else {
  104585. vo(h, b, a);
  104586. break;
  104587. }
  104588. }
  104589. } while (0);
  104590. if (!(c[((c[g >> 2] | 0) + 32) >> 2] | 0)) {
  104591. l = d;
  104592. return;
  104593. }
  104594. c[j >> 2] = 1 << c[((c[g >> 2] | 0) + 32) >> 2];
  104595. vo(
  104596. c[((c[g >> 2] | 0) + 40) >> 2] | 0,
  104597. c[j >> 2] | 0,
  104598. c[f >> 2] | 0
  104599. );
  104600. l = d;
  104601. return;
  104602. }
  104603. function uo(a, b, d, e) {
  104604. a = a | 0;
  104605. b = b | 0;
  104606. d = d | 0;
  104607. e = e | 0;
  104608. var f = 0,
  104609. g = 0,
  104610. h = 0,
  104611. i = 0,
  104612. j = 0,
  104613. k = 0,
  104614. m = 0,
  104615. n = 0,
  104616. o = 0;
  104617. f = l;
  104618. l = (l + 32) | 0;
  104619. g = (f + 24) | 0;
  104620. h = (f + 20) | 0;
  104621. i = (f + 16) | 0;
  104622. j = (f + 12) | 0;
  104623. k = (f + 8) | 0;
  104624. m = (f + 4) | 0;
  104625. n = f;
  104626. c[g >> 2] = a;
  104627. c[h >> 2] = b;
  104628. c[i >> 2] = d;
  104629. c[j >> 2] = e;
  104630. c[k >> 2] =
  104631. (c[h >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
  104632. if (c[j >> 2] | 0) o = c[c[j >> 2] >> 2] | 0;
  104633. else o = 0;
  104634. c[m >> 2] = o;
  104635. if (
  104636. (c[k >> 2] | 0) >>> 0 <=
  104637. (((c[i >> 2] | 0) + (c[m >> 2] | 0)) | 0) >>> 0
  104638. ) {
  104639. l = f;
  104640. return;
  104641. }
  104642. c[n >> 2] = (c[k >> 2] | 0) - (c[i >> 2] | 0);
  104643. if (
  104644. (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0 <
  104645. (c[n >> 2] | 0) >>> 0
  104646. )
  104647. c[((c[g >> 2] | 0) + 16) >> 2] = c[n >> 2];
  104648. if (
  104649. (c[((c[g >> 2] | 0) + 12) >> 2] | 0) >>> 0 <
  104650. (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0
  104651. )
  104652. c[((c[g >> 2] | 0) + 12) >> 2] =
  104653. c[((c[g >> 2] | 0) + 16) >> 2];
  104654. if (!(c[j >> 2] | 0)) {
  104655. l = f;
  104656. return;
  104657. }
  104658. c[c[j >> 2] >> 2] = 0;
  104659. l = f;
  104660. return;
  104661. }
  104662. function vo(a, b, d) {
  104663. a = a | 0;
  104664. b = b | 0;
  104665. d = d | 0;
  104666. var e = 0,
  104667. f = 0,
  104668. g = 0,
  104669. h = 0,
  104670. i = 0,
  104671. j = 0,
  104672. k = 0,
  104673. m = 0,
  104674. n = 0,
  104675. o = 0,
  104676. p = 0,
  104677. q = 0,
  104678. r = 0;
  104679. e = l;
  104680. l = (l + 48) | 0;
  104681. f = (e + 44) | 0;
  104682. g = (e + 40) | 0;
  104683. h = (e + 36) | 0;
  104684. i = (e + 32) | 0;
  104685. j = (e + 28) | 0;
  104686. k = (e + 24) | 0;
  104687. m = (e + 20) | 0;
  104688. n = (e + 16) | 0;
  104689. o = (e + 12) | 0;
  104690. p = (e + 8) | 0;
  104691. q = (e + 4) | 0;
  104692. r = e;
  104693. c[p >> 2] = a;
  104694. c[q >> 2] = b;
  104695. c[r >> 2] = d;
  104696. d = c[q >> 2] | 0;
  104697. q = c[r >> 2] | 0;
  104698. c[f >> 2] = c[p >> 2];
  104699. c[g >> 2] = d;
  104700. c[h >> 2] = q;
  104701. c[i >> 2] = 0;
  104702. c[j >> 2] = ((c[g >> 2] | 0) / 16) | 0;
  104703. c[k >> 2] = 0;
  104704. c[m >> 2] = 0;
  104705. while (1) {
  104706. if ((c[m >> 2] | 0) >= (c[j >> 2] | 0)) break;
  104707. c[n >> 2] = 0;
  104708. while (1) {
  104709. if ((c[n >> 2] | 0) >= 16) break;
  104710. if (c[i >> 2] | 0) {
  104711. c[o >> 2] =
  104712. (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) ==
  104713. 1
  104714. ? c[h >> 2] | 0
  104715. : 0;
  104716. g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
  104717. c[g >> 2] = (c[g >> 2] | 0) + (c[o >> 2] | 0);
  104718. }
  104719. if (
  104720. (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) >>>
  104721. 0 <
  104722. (c[h >> 2] | 0) >>> 0
  104723. )
  104724. c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] = 0;
  104725. else {
  104726. g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
  104727. c[g >> 2] = (c[g >> 2] | 0) - (c[h >> 2] | 0);
  104728. }
  104729. c[k >> 2] = (c[k >> 2] | 0) + 1;
  104730. c[n >> 2] = (c[n >> 2] | 0) + 1;
  104731. }
  104732. c[m >> 2] = (c[m >> 2] | 0) + 1;
  104733. }
  104734. l = e;
  104735. return;
  104736. }
  104737. function wo(a, b, d) {
  104738. a = a | 0;
  104739. b = b | 0;
  104740. d = d | 0;
  104741. var e = 0,
  104742. f = 0,
  104743. g = 0,
  104744. h = 0,
  104745. i = 0,
  104746. j = 0,
  104747. k = 0,
  104748. m = 0,
  104749. n = 0,
  104750. o = 0,
  104751. p = 0,
  104752. q = 0,
  104753. r = 0;
  104754. e = l;
  104755. l = (l + 48) | 0;
  104756. f = (e + 44) | 0;
  104757. g = (e + 40) | 0;
  104758. h = (e + 36) | 0;
  104759. i = (e + 32) | 0;
  104760. j = (e + 28) | 0;
  104761. k = (e + 24) | 0;
  104762. m = (e + 20) | 0;
  104763. n = (e + 16) | 0;
  104764. o = (e + 12) | 0;
  104765. p = (e + 8) | 0;
  104766. q = (e + 4) | 0;
  104767. r = e;
  104768. c[p >> 2] = a;
  104769. c[q >> 2] = b;
  104770. c[r >> 2] = d;
  104771. d = c[q >> 2] | 0;
  104772. q = c[r >> 2] | 0;
  104773. c[f >> 2] = c[p >> 2];
  104774. c[g >> 2] = d;
  104775. c[h >> 2] = q;
  104776. c[i >> 2] = 1;
  104777. c[j >> 2] = ((c[g >> 2] | 0) / 16) | 0;
  104778. c[k >> 2] = 0;
  104779. c[m >> 2] = 0;
  104780. while (1) {
  104781. if ((c[m >> 2] | 0) >= (c[j >> 2] | 0)) break;
  104782. c[n >> 2] = 0;
  104783. while (1) {
  104784. if ((c[n >> 2] | 0) >= 16) break;
  104785. if (c[i >> 2] | 0) {
  104786. c[o >> 2] =
  104787. (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) ==
  104788. 1
  104789. ? c[h >> 2] | 0
  104790. : 0;
  104791. g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
  104792. c[g >> 2] = (c[g >> 2] | 0) + (c[o >> 2] | 0);
  104793. }
  104794. if (
  104795. (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) >>>
  104796. 0 <
  104797. (c[h >> 2] | 0) >>> 0
  104798. )
  104799. c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] = 0;
  104800. else {
  104801. g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
  104802. c[g >> 2] = (c[g >> 2] | 0) - (c[h >> 2] | 0);
  104803. }
  104804. c[k >> 2] = (c[k >> 2] | 0) + 1;
  104805. c[n >> 2] = (c[n >> 2] | 0) + 1;
  104806. }
  104807. c[m >> 2] = (c[m >> 2] | 0) + 1;
  104808. }
  104809. l = e;
  104810. return;
  104811. }
  104812. function xo(a, b, d, e, f, g, h, i, j) {
  104813. a = a | 0;
  104814. b = b | 0;
  104815. d = d | 0;
  104816. e = e | 0;
  104817. f = f | 0;
  104818. g = g | 0;
  104819. h = h | 0;
  104820. i = i | 0;
  104821. j = j | 0;
  104822. var k = 0,
  104823. m = 0,
  104824. n = 0,
  104825. o = 0,
  104826. p = 0,
  104827. q = 0,
  104828. r = 0,
  104829. s = 0,
  104830. t = 0,
  104831. u = 0,
  104832. v = 0,
  104833. w = 0,
  104834. x = 0,
  104835. y = 0,
  104836. z = 0,
  104837. A = 0;
  104838. k = l;
  104839. l = (l + 160) | 0;
  104840. m = (k + 48) | 0;
  104841. n = (k + 40) | 0;
  104842. o = (k + 36) | 0;
  104843. p = (k + 32) | 0;
  104844. q = (k + 28) | 0;
  104845. r = (k + 24) | 0;
  104846. s = (k + 20) | 0;
  104847. t = k;
  104848. u = (k + 16) | 0;
  104849. v = (k + 12) | 0;
  104850. w = (k + 8) | 0;
  104851. c[o >> 2] = a;
  104852. c[p >> 2] = b;
  104853. c[q >> 2] = d;
  104854. c[r >> 2] = e;
  104855. c[s >> 2] = f;
  104856. f = t;
  104857. c[f >> 2] = h;
  104858. c[(f + 4) >> 2] = i;
  104859. c[u >> 2] = j;
  104860. if (
  104861. c[s >> 2] | 0
  104862. ? (c[((c[s >> 2] | 0) + 8) >> 2] | 0) >>> 0 > 0
  104863. : 0
  104864. ) {
  104865. x = ((c[o >> 2] | 0) + 12) | 0;
  104866. y = g;
  104867. z = (x + 104) | 0;
  104868. do {
  104869. c[x >> 2] = c[y >> 2];
  104870. x = (x + 4) | 0;
  104871. y = (y + 4) | 0;
  104872. } while ((x | 0) < (z | 0));
  104873. j = c[o >> 2] | 0;
  104874. i = c[s >> 2] | 0;
  104875. s = c[(g + 4) >> 2] | 0;
  104876. f = (g + 32) | 0;
  104877. h = t;
  104878. e = c[h >> 2] | 0;
  104879. d = c[(h + 4) >> 2] | 0;
  104880. h = c[u >> 2] | 0;
  104881. c[m >> 2] = c[f >> 2];
  104882. c[(m + 4) >> 2] = c[(f + 4) >> 2];
  104883. c[(m + 8) >> 2] = c[(f + 8) >> 2];
  104884. c[n >> 2] = yo(j, i, s, m, e, d, h) | 0;
  104885. A = c[n >> 2] | 0;
  104886. l = k;
  104887. return A | 0;
  104888. }
  104889. h = c[o >> 2] | 0;
  104890. d = t;
  104891. t = c[d >> 2] | 0;
  104892. e = c[(d + 4) >> 2] | 0;
  104893. d = c[u >> 2] | 0;
  104894. x = m;
  104895. y = g;
  104896. z = (x + 104) | 0;
  104897. do {
  104898. c[x >> 2] = c[y >> 2];
  104899. x = (x + 4) | 0;
  104900. y = (y + 4) | 0;
  104901. } while ((x | 0) < (z | 0));
  104902. c[v >> 2] = ml(h, m, t, e, 0, d) | 0;
  104903. if (wj(c[v >> 2] | 0) | 0) {
  104904. c[n >> 2] = c[v >> 2];
  104905. A = c[n >> 2] | 0;
  104906. l = k;
  104907. return A | 0;
  104908. }
  104909. c[w >> 2] =
  104910. Ej(
  104911. c[((c[o >> 2] | 0) + 472) >> 2] | 0,
  104912. ((c[o >> 2] | 0) + 472 + 8) | 0,
  104913. g,
  104914. c[p >> 2] | 0,
  104915. c[q >> 2] | 0,
  104916. c[r >> 2] | 0,
  104917. c[((c[o >> 2] | 0) + 588) >> 2] | 0
  104918. ) | 0;
  104919. r = (Ph(c[w >> 2] | 0) | 0) != 0;
  104920. q = c[w >> 2] | 0;
  104921. if (r) {
  104922. c[n >> 2] = q;
  104923. A = c[n >> 2] | 0;
  104924. l = k;
  104925. return A | 0;
  104926. } else {
  104927. c[((c[o >> 2] | 0) + 220) >> 2] = q;
  104928. c[n >> 2] = 0;
  104929. A = c[n >> 2] | 0;
  104930. l = k;
  104931. return A | 0;
  104932. }
  104933. return 0;
  104934. }
  104935. function yo(a, b, d, e, f, g, h) {
  104936. a = a | 0;
  104937. b = b | 0;
  104938. d = d | 0;
  104939. e = e | 0;
  104940. f = f | 0;
  104941. g = g | 0;
  104942. h = h | 0;
  104943. var i = 0,
  104944. j = 0,
  104945. k = 0,
  104946. m = 0,
  104947. n = 0,
  104948. o = 0,
  104949. p = 0,
  104950. q = 0,
  104951. r = 0,
  104952. s = 0,
  104953. t = 0,
  104954. u = 0,
  104955. v = 0,
  104956. w = 0,
  104957. x = 0;
  104958. i = l;
  104959. l = (l + 256) | 0;
  104960. j = (i + 152) | 0;
  104961. k = (i + 148) | 0;
  104962. m = (i + 144) | 0;
  104963. n = (i + 140) | 0;
  104964. o = i;
  104965. p = (i + 136) | 0;
  104966. q = (i + 32) | 0;
  104967. r = (i + 28) | 0;
  104968. s = (i + 24) | 0;
  104969. t = (i + 20) | 0;
  104970. u = (i + 16) | 0;
  104971. v = (i + 12) | 0;
  104972. w = (i + 8) | 0;
  104973. c[k >> 2] = a;
  104974. c[m >> 2] = b;
  104975. c[n >> 2] = d;
  104976. d = o;
  104977. c[d >> 2] = f;
  104978. c[(d + 4) >> 2] = g;
  104979. c[p >> 2] = h;
  104980. h = q;
  104981. g = ((c[k >> 2] | 0) + 12) | 0;
  104982. d = (h + 104) | 0;
  104983. do {
  104984. c[h >> 2] = c[g >> 2];
  104985. h = (h + 4) | 0;
  104986. g = (g + 4) | 0;
  104987. } while ((h | 0) < (d | 0));
  104988. f = (q + 4) | 0;
  104989. b = ((c[m >> 2] | 0) + 4720) | 0;
  104990. c[f >> 2] = c[b >> 2];
  104991. c[(f + 4) >> 2] = c[(b + 4) >> 2];
  104992. c[(f + 8) >> 2] = c[(b + 8) >> 2];
  104993. c[(f + 12) >> 2] = c[(b + 12) >> 2];
  104994. c[(f + 16) >> 2] = c[(b + 16) >> 2];
  104995. c[(f + 20) >> 2] = c[(b + 20) >> 2];
  104996. c[(f + 24) >> 2] = c[(b + 24) >> 2];
  104997. if (c[n >> 2] | 0) c[(q + 4) >> 2] = c[n >> 2];
  104998. n = (q + 32) | 0;
  104999. c[n >> 2] = c[e >> 2];
  105000. c[(n + 4) >> 2] = c[(e + 4) >> 2];
  105001. c[(n + 8) >> 2] = c[(e + 8) >> 2];
  105002. e = c[k >> 2] | 0;
  105003. n = o;
  105004. o = c[n >> 2] | 0;
  105005. b = c[(n + 4) >> 2] | 0;
  105006. n = c[p >> 2] | 0;
  105007. h = j;
  105008. g = q;
  105009. d = (h + 104) | 0;
  105010. do {
  105011. c[h >> 2] = c[g >> 2];
  105012. h = (h + 4) | 0;
  105013. g = (g + 4) | 0;
  105014. } while ((h | 0) < (d | 0));
  105015. ml(e, j, o, b, 1, n) | 0;
  105016. if ((c[((c[m >> 2] | 0) + 4720 + 24) >> 2] | 0) == 1) x = 0;
  105017. else x = 1 << c[((c[m >> 2] | 0) + 4720 + 4) >> 2];
  105018. c[r >> 2] = x;
  105019. c[s >> 2] = 1 << c[((c[m >> 2] | 0) + 4720 + 8) >> 2];
  105020. c[t >> 2] = ((c[r >> 2] | 0) + (c[s >> 2] | 0)) << 2;
  105021. mE(
  105022. c[((c[k >> 2] | 0) + 472 + 8 + 36) >> 2] | 0,
  105023. c[((c[m >> 2] | 0) + 20 + 36) >> 2] | 0,
  105024. c[t >> 2] | 0
  105025. ) | 0;
  105026. c[u >> 2] = 1 << c[((c[k >> 2] | 0) + 472 + 8 + 32) >> 2];
  105027. oE(
  105028. c[((c[k >> 2] | 0) + 472 + 8 + 40) >> 2] | 0,
  105029. 0,
  105030. (c[u >> 2] << 2) | 0
  105031. ) | 0;
  105032. c[v >> 2] = (c[m >> 2] | 0) + 20;
  105033. c[w >> 2] = (c[k >> 2] | 0) + 472 + 8;
  105034. u = c[w >> 2] | 0;
  105035. t = c[v >> 2] | 0;
  105036. c[u >> 2] = c[t >> 2];
  105037. c[(u + 4) >> 2] = c[(t + 4) >> 2];
  105038. c[(u + 8) >> 2] = c[(t + 8) >> 2];
  105039. c[(u + 12) >> 2] = c[(t + 12) >> 2];
  105040. c[(u + 16) >> 2] = c[(t + 16) >> 2];
  105041. c[((c[w >> 2] | 0) + 24) >> 2] =
  105042. c[((c[v >> 2] | 0) + 24) >> 2];
  105043. c[((c[w >> 2] | 0) + 28) >> 2] =
  105044. c[((c[v >> 2] | 0) + 28) >> 2];
  105045. c[((c[w >> 2] | 0) + 20) >> 2] =
  105046. c[((c[v >> 2] | 0) + 20) >> 2];
  105047. c[((c[k >> 2] | 0) + 220) >> 2] =
  105048. c[((c[m >> 2] | 0) + 4760) >> 2];
  105049. mE(
  105050. c[((c[k >> 2] | 0) + 472) >> 2] | 0,
  105051. ((c[m >> 2] | 0) + 128) | 0,
  105052. 4592
  105053. ) | 0;
  105054. l = i;
  105055. return 0;
  105056. }
  105057. function zo(a, b, d) {
  105058. a = a | 0;
  105059. b = b | 0;
  105060. d = d | 0;
  105061. var e = 0,
  105062. f = 0,
  105063. g = 0,
  105064. h = 0,
  105065. i = 0,
  105066. j = 0;
  105067. e = l;
  105068. l = (l + 112) | 0;
  105069. f = e;
  105070. g = f;
  105071. h = b;
  105072. b = (g + 104) | 0;
  105073. do {
  105074. c[g >> 2] = c[h >> 2];
  105075. g = (g + 4) | 0;
  105076. h = (h + 4) | 0;
  105077. } while ((g | 0) < (b | 0));
  105078. i = (f + 4) | 0;
  105079. c[i >> 2] = c[d >> 2];
  105080. c[(i + 4) >> 2] = c[(d + 4) >> 2];
  105081. c[(i + 8) >> 2] = c[(d + 8) >> 2];
  105082. c[(i + 12) >> 2] = c[(d + 12) >> 2];
  105083. c[(i + 16) >> 2] = c[(d + 16) >> 2];
  105084. c[(i + 20) >> 2] = c[(d + 20) >> 2];
  105085. c[(i + 24) >> 2] = c[(d + 24) >> 2];
  105086. i = (f + 32) | 0;
  105087. j = (d + 28) | 0;
  105088. c[i >> 2] = c[j >> 2];
  105089. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  105090. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  105091. c[(f + 44) >> 2] = 3;
  105092. g = a;
  105093. h = f;
  105094. b = (g + 104) | 0;
  105095. do {
  105096. c[g >> 2] = c[h >> 2];
  105097. g = (g + 4) | 0;
  105098. h = (h + 4) | 0;
  105099. } while ((g | 0) < (b | 0));
  105100. l = e;
  105101. return;
  105102. }
  105103. function Ao(a, b, d, e, f) {
  105104. a = a | 0;
  105105. b = b | 0;
  105106. d = d | 0;
  105107. e = e | 0;
  105108. f = f | 0;
  105109. var g = 0,
  105110. h = 0,
  105111. i = 0,
  105112. j = 0,
  105113. k = 0,
  105114. m = 0;
  105115. g = l;
  105116. l = (l + 96) | 0;
  105117. h = (g + 84) | 0;
  105118. i = g;
  105119. j = (g + 80) | 0;
  105120. k = (g + 40) | 0;
  105121. m = (g + 8) | 0;
  105122. c[h >> 2] = b;
  105123. b = i;
  105124. c[b >> 2] = d;
  105125. c[(b + 4) >> 2] = e;
  105126. c[j >> 2] = f;
  105127. f = i;
  105128. sj(
  105129. m,
  105130. c[h >> 2] | 0,
  105131. c[f >> 2] | 0,
  105132. c[(f + 4) >> 2] | 0,
  105133. c[j >> 2] | 0
  105134. );
  105135. j = k;
  105136. f = (j + 40) | 0;
  105137. do {
  105138. c[j >> 2] = 0;
  105139. j = (j + 4) | 0;
  105140. } while ((j | 0) < (f | 0));
  105141. c[k >> 2] = c[m >> 2];
  105142. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  105143. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  105144. c[(k + 12) >> 2] = c[(m + 12) >> 2];
  105145. c[(k + 16) >> 2] = c[(m + 16) >> 2];
  105146. c[(k + 20) >> 2] = c[(m + 20) >> 2];
  105147. c[(k + 24) >> 2] = c[(m + 24) >> 2];
  105148. c[(k + 28) >> 2] = 1;
  105149. j = a;
  105150. a = k;
  105151. f = (j + 40) | 0;
  105152. do {
  105153. c[j >> 2] = c[a >> 2];
  105154. j = (j + 4) | 0;
  105155. a = (a + 4) | 0;
  105156. } while ((j | 0) < (f | 0));
  105157. l = g;
  105158. return;
  105159. }
  105160. function Bo(a, b, d, e, f) {
  105161. a = a | 0;
  105162. b = b | 0;
  105163. d = d | 0;
  105164. e = e | 0;
  105165. f = f | 0;
  105166. var g = 0,
  105167. h = 0,
  105168. i = 0,
  105169. j = 0,
  105170. k = 0,
  105171. m = 0,
  105172. n = 0,
  105173. o = 0,
  105174. p = 0,
  105175. q = 0;
  105176. g = l;
  105177. l = (l + 32) | 0;
  105178. h = (g + 28) | 0;
  105179. i = (g + 24) | 0;
  105180. j = (g + 20) | 0;
  105181. k = (g + 16) | 0;
  105182. m = (g + 12) | 0;
  105183. n = (g + 8) | 0;
  105184. o = (g + 4) | 0;
  105185. p = g;
  105186. c[i >> 2] = a;
  105187. c[j >> 2] = b;
  105188. c[k >> 2] = d;
  105189. c[m >> 2] = e;
  105190. c[n >> 2] = f;
  105191. c[p >> 2] =
  105192. wn(
  105193. c[i >> 2] | 0,
  105194. c[j >> 2] | 0,
  105195. c[k >> 2] | 0,
  105196. c[m >> 2] | 0,
  105197. c[n >> 2] | 0,
  105198. 1,
  105199. 1
  105200. ) | 0;
  105201. if (Ph(c[p >> 2] | 0) | 0) {
  105202. c[h >> 2] = c[p >> 2];
  105203. q = c[h >> 2] | 0;
  105204. l = g;
  105205. return q | 0;
  105206. }
  105207. c[o >> 2] =
  105208. Co(
  105209. c[i >> 2] | 0,
  105210. ((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0,
  105211. ((c[k >> 2] | 0) - (c[p >> 2] | 0)) | 0
  105212. ) | 0;
  105213. if (Ph(c[o >> 2] | 0) | 0) {
  105214. c[h >> 2] = c[o >> 2];
  105215. q = c[h >> 2] | 0;
  105216. l = g;
  105217. return q | 0;
  105218. }
  105219. if (
  105220. c[((c[i >> 2] | 0) + 116 + 32) >> 2] | 0
  105221. ? ((k = ((c[i >> 2] | 0) + 240) | 0),
  105222. (j = c[k >> 2] | 0),
  105223. (n = c[(k + 4) >> 2] | 0),
  105224. (k = ((c[i >> 2] | 0) + 248) | 0),
  105225. (i = dE(c[k >> 2] | 0, c[(k + 4) >> 2] | 0, 1, 0) | 0),
  105226. ((j | 0) != (i | 0)) | ((n | 0) != (y | 0)))
  105227. : 0
  105228. ) {
  105229. c[h >> 2] = -72;
  105230. q = c[h >> 2] | 0;
  105231. l = g;
  105232. return q | 0;
  105233. }
  105234. c[h >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
  105235. q = c[h >> 2] | 0;
  105236. l = g;
  105237. return q | 0;
  105238. }
  105239. function Co(a, b, d) {
  105240. a = a | 0;
  105241. b = b | 0;
  105242. d = d | 0;
  105243. var e = 0,
  105244. f = 0,
  105245. g = 0,
  105246. h = 0,
  105247. i = 0,
  105248. j = 0,
  105249. k = 0,
  105250. m = 0,
  105251. n = 0,
  105252. o = 0,
  105253. p = 0,
  105254. q = 0,
  105255. r = 0,
  105256. s = 0;
  105257. e = l;
  105258. l = (l + 144) | 0;
  105259. f = (e + 40) | 0;
  105260. g = (e + 32) | 0;
  105261. h = (e + 28) | 0;
  105262. i = (e + 24) | 0;
  105263. j = (e + 20) | 0;
  105264. k = (e + 16) | 0;
  105265. m = (e + 12) | 0;
  105266. n = (e + 8) | 0;
  105267. o = (e + 4) | 0;
  105268. p = e;
  105269. c[h >> 2] = a;
  105270. c[i >> 2] = b;
  105271. c[j >> 2] = d;
  105272. c[k >> 2] = c[i >> 2];
  105273. c[m >> 2] = c[k >> 2];
  105274. c[n >> 2] = 0;
  105275. if (!(c[c[h >> 2] >> 2] | 0)) {
  105276. c[g >> 2] = -60;
  105277. q = c[g >> 2] | 0;
  105278. l = e;
  105279. return q | 0;
  105280. }
  105281. do {
  105282. if ((c[c[h >> 2] >> 2] | 0) == 1) {
  105283. d = c[i >> 2] | 0;
  105284. b = c[j >> 2] | 0;
  105285. a = f;
  105286. r = ((c[h >> 2] | 0) + 116) | 0;
  105287. s = (a + 104) | 0;
  105288. do {
  105289. c[a >> 2] = c[r >> 2];
  105290. a = (a + 4) | 0;
  105291. r = (r + 4) | 0;
  105292. } while ((a | 0) < (s | 0));
  105293. c[n >> 2] = xn(d, b, f, 0, 0, 0) | 0;
  105294. r = (Ph(c[n >> 2] | 0) | 0) != 0;
  105295. a = c[n >> 2] | 0;
  105296. if (!r) {
  105297. c[j >> 2] = (c[j >> 2] | 0) - a;
  105298. c[m >> 2] = (c[m >> 2] | 0) + (c[n >> 2] | 0);
  105299. c[c[h >> 2] >> 2] = 2;
  105300. break;
  105301. }
  105302. c[g >> 2] = a;
  105303. q = c[g >> 2] | 0;
  105304. l = e;
  105305. return q | 0;
  105306. }
  105307. } while (0);
  105308. do {
  105309. if ((c[c[h >> 2] >> 2] | 0) != 3) {
  105310. c[o >> 2] = 1;
  105311. if ((c[j >> 2] | 0) >>> 0 >= 4) {
  105312. Pl(c[m >> 2] | 0, 1);
  105313. c[m >> 2] = (c[m >> 2] | 0) + 3;
  105314. c[j >> 2] = (c[j >> 2] | 0) - 3;
  105315. break;
  105316. }
  105317. c[g >> 2] = -70;
  105318. q = c[g >> 2] | 0;
  105319. l = e;
  105320. return q | 0;
  105321. }
  105322. } while (0);
  105323. do {
  105324. if (c[((c[h >> 2] | 0) + 116 + 32 + 4) >> 2] | 0) {
  105325. o = Oh(((c[h >> 2] | 0) + 264) | 0) | 0;
  105326. c[p >> 2] = o;
  105327. if ((c[j >> 2] | 0) >>> 0 >= 4) {
  105328. Pl(c[m >> 2] | 0, c[p >> 2] | 0);
  105329. c[m >> 2] = (c[m >> 2] | 0) + 4;
  105330. break;
  105331. }
  105332. c[g >> 2] = -70;
  105333. q = c[g >> 2] | 0;
  105334. l = e;
  105335. return q | 0;
  105336. }
  105337. } while (0);
  105338. c[c[h >> 2] >> 2] = 0;
  105339. c[g >> 2] = (c[m >> 2] | 0) - (c[k >> 2] | 0);
  105340. q = c[g >> 2] | 0;
  105341. l = e;
  105342. return q | 0;
  105343. }
  105344. function Do(a, b, d, e, f, g, h, i) {
  105345. a = a | 0;
  105346. b = b | 0;
  105347. d = d | 0;
  105348. e = e | 0;
  105349. f = f | 0;
  105350. g = g | 0;
  105351. h = h | 0;
  105352. i = i | 0;
  105353. var j = 0,
  105354. k = 0,
  105355. m = 0,
  105356. n = 0,
  105357. o = 0,
  105358. p = 0,
  105359. q = 0,
  105360. r = 0,
  105361. s = 0,
  105362. t = 0,
  105363. u = 0,
  105364. v = 0;
  105365. j = l;
  105366. l = (l + 144) | 0;
  105367. k = (j + 40) | 0;
  105368. m = (j + 32) | 0;
  105369. n = (j + 28) | 0;
  105370. o = (j + 24) | 0;
  105371. p = (j + 20) | 0;
  105372. q = (j + 16) | 0;
  105373. r = (j + 12) | 0;
  105374. s = (j + 8) | 0;
  105375. t = (j + 4) | 0;
  105376. u = j;
  105377. c[n >> 2] = a;
  105378. c[o >> 2] = b;
  105379. c[p >> 2] = d;
  105380. c[q >> 2] = e;
  105381. c[r >> 2] = f;
  105382. c[s >> 2] = g;
  105383. c[t >> 2] = h;
  105384. h = c[n >> 2] | 0;
  105385. g = c[s >> 2] | 0;
  105386. s = c[t >> 2] | 0;
  105387. t = c[r >> 2] | 0;
  105388. f = k;
  105389. e = i;
  105390. i = (f + 104) | 0;
  105391. do {
  105392. c[f >> 2] = c[e >> 2];
  105393. f = (f + 4) | 0;
  105394. e = (e + 4) | 0;
  105395. } while ((f | 0) < (i | 0));
  105396. c[u >> 2] = xo(h, g, s, 0, 0, k, t, 0, 0) | 0;
  105397. if (wj(c[u >> 2] | 0) | 0) {
  105398. c[m >> 2] = c[u >> 2];
  105399. v = c[m >> 2] | 0;
  105400. l = j;
  105401. return v | 0;
  105402. } else {
  105403. c[m >> 2] =
  105404. Bo(
  105405. c[n >> 2] | 0,
  105406. c[o >> 2] | 0,
  105407. c[p >> 2] | 0,
  105408. c[q >> 2] | 0,
  105409. c[r >> 2] | 0
  105410. ) | 0;
  105411. v = c[m >> 2] | 0;
  105412. l = j;
  105413. return v | 0;
  105414. }
  105415. return 0;
  105416. }
  105417. function Eo(a, b, d, e, f, g, h, i) {
  105418. a = a | 0;
  105419. b = b | 0;
  105420. d = d | 0;
  105421. e = e | 0;
  105422. f = f | 0;
  105423. g = g | 0;
  105424. h = h | 0;
  105425. i = i | 0;
  105426. var j = 0,
  105427. k = 0,
  105428. m = 0,
  105429. n = 0,
  105430. o = 0,
  105431. p = 0,
  105432. q = 0,
  105433. r = 0,
  105434. s = 0,
  105435. t = 0,
  105436. u = 0,
  105437. v = 0,
  105438. w = 0;
  105439. j = l;
  105440. l = (l + 400) | 0;
  105441. k = (j + 288) | 0;
  105442. m = (j + 176) | 0;
  105443. n = (j + 280) | 0;
  105444. o = (j + 168) | 0;
  105445. p = (j + 164) | 0;
  105446. q = (j + 160) | 0;
  105447. r = (j + 156) | 0;
  105448. s = (j + 152) | 0;
  105449. t = (j + 148) | 0;
  105450. u = (j + 144) | 0;
  105451. v = (j + 104) | 0;
  105452. w = j;
  105453. c[n >> 2] = a;
  105454. c[o >> 2] = b;
  105455. c[p >> 2] = d;
  105456. c[q >> 2] = e;
  105457. c[r >> 2] = f;
  105458. c[s >> 2] = g;
  105459. c[t >> 2] = h;
  105460. c[u >> 2] = i;
  105461. Ao(
  105462. v,
  105463. c[u >> 2] | 0,
  105464. c[r >> 2] | 0 ? c[r >> 2] | 0 : 1,
  105465. 0,
  105466. c[s >> 2] | 0 ? c[t >> 2] | 0 : 0
  105467. );
  105468. i = m;
  105469. h = ((c[n >> 2] | 0) + 12) | 0;
  105470. g = (i + 104) | 0;
  105471. do {
  105472. c[i >> 2] = c[h >> 2];
  105473. i = (i + 4) | 0;
  105474. h = (h + 4) | 0;
  105475. } while ((i | 0) < (g | 0));
  105476. i = k;
  105477. h = v;
  105478. g = (i + 40) | 0;
  105479. do {
  105480. c[i >> 2] = c[h >> 2];
  105481. i = (i + 4) | 0;
  105482. h = (h + 4) | 0;
  105483. } while ((i | 0) < (g | 0));
  105484. zo(w, m, k);
  105485. xj(w, 1e3, ((c[u >> 2] | 0) >= 0) & 1) | 0;
  105486. u = c[n >> 2] | 0;
  105487. n = c[o >> 2] | 0;
  105488. o = c[p >> 2] | 0;
  105489. p = c[q >> 2] | 0;
  105490. q = c[r >> 2] | 0;
  105491. r = c[s >> 2] | 0;
  105492. s = c[t >> 2] | 0;
  105493. i = k;
  105494. h = w;
  105495. g = (i + 104) | 0;
  105496. do {
  105497. c[i >> 2] = c[h >> 2];
  105498. i = (i + 4) | 0;
  105499. h = (h + 4) | 0;
  105500. } while ((i | 0) < (g | 0));
  105501. h = Do(u, n, o, p, q, r, s, k) | 0;
  105502. l = j;
  105503. return h | 0;
  105504. }
  105505. function Fo(a, b, d, e, f, g) {
  105506. a = a | 0;
  105507. b = b | 0;
  105508. d = d | 0;
  105509. e = e | 0;
  105510. f = f | 0;
  105511. g = g | 0;
  105512. var h = 0,
  105513. i = 0,
  105514. j = 0,
  105515. k = 0,
  105516. m = 0,
  105517. n = 0,
  105518. o = 0;
  105519. h = l;
  105520. l = (l + 32) | 0;
  105521. i = (h + 20) | 0;
  105522. j = (h + 16) | 0;
  105523. k = (h + 12) | 0;
  105524. m = (h + 8) | 0;
  105525. n = (h + 4) | 0;
  105526. o = h;
  105527. c[i >> 2] = a;
  105528. c[j >> 2] = b;
  105529. c[k >> 2] = d;
  105530. c[m >> 2] = e;
  105531. c[n >> 2] = f;
  105532. c[o >> 2] = g;
  105533. g =
  105534. Eo(
  105535. c[i >> 2] | 0,
  105536. c[j >> 2] | 0,
  105537. c[k >> 2] | 0,
  105538. c[m >> 2] | 0,
  105539. c[n >> 2] | 0,
  105540. 0,
  105541. 0,
  105542. c[o >> 2] | 0
  105543. ) | 0;
  105544. l = h;
  105545. return g | 0;
  105546. }
  105547. function Go(a, b, d, e, f) {
  105548. a = a | 0;
  105549. b = b | 0;
  105550. d = d | 0;
  105551. e = e | 0;
  105552. f = f | 0;
  105553. var g = 0,
  105554. h = 0,
  105555. i = 0,
  105556. j = 0,
  105557. k = 0,
  105558. m = 0,
  105559. n = 0,
  105560. o = 0,
  105561. p = 0;
  105562. g = l;
  105563. l = (l + 704) | 0;
  105564. h = (g + 680) | 0;
  105565. i = (g + 676) | 0;
  105566. j = (g + 672) | 0;
  105567. k = (g + 668) | 0;
  105568. m = (g + 664) | 0;
  105569. n = (g + 660) | 0;
  105570. o = (g + 656) | 0;
  105571. p = g;
  105572. c[i >> 2] = a;
  105573. c[j >> 2] = b;
  105574. c[k >> 2] = d;
  105575. c[m >> 2] = e;
  105576. c[n >> 2] = f;
  105577. oE(p | 0, 0, 656) | 0;
  105578. f = (p + 352) | 0;
  105579. c[f >> 2] = c[5406];
  105580. c[(f + 4) >> 2] = c[5407];
  105581. c[(f + 8) >> 2] = c[5408];
  105582. c[o >> 2] =
  105583. Fo(
  105584. p,
  105585. c[i >> 2] | 0,
  105586. c[j >> 2] | 0,
  105587. c[k >> 2] | 0,
  105588. c[m >> 2] | 0,
  105589. c[n >> 2] | 0
  105590. ) | 0;
  105591. n = c[(p + 224) >> 2] | 0;
  105592. c[h >> 2] = c[5406];
  105593. c[(h + 4) >> 2] = c[5407];
  105594. c[(h + 8) >> 2] = c[5408];
  105595. Th(n, h);
  105596. l = g;
  105597. return c[o >> 2] | 0;
  105598. }
  105599. function Ho(a, b, d) {
  105600. a = a | 0;
  105601. b = b | 0;
  105602. d = d | 0;
  105603. var e = 0,
  105604. f = 0,
  105605. g = 0,
  105606. h = 0,
  105607. i = 0,
  105608. j = 0,
  105609. k = 0;
  105610. e = l;
  105611. l = (l + 80) | 0;
  105612. f = (e + 68) | 0;
  105613. g = (e + 40) | 0;
  105614. h = (e + 36) | 0;
  105615. i = (e + 32) | 0;
  105616. j = (e + 28) | 0;
  105617. k = e;
  105618. c[h >> 2] = a;
  105619. c[i >> 2] = b;
  105620. c[j >> 2] = d;
  105621. sj(k, c[j >> 2] | 0, 0, 0, c[i >> 2] | 0);
  105622. j = c[h >> 2] | 0;
  105623. h = c[i >> 2] | 0;
  105624. c[g >> 2] = c[k >> 2];
  105625. c[(g + 4) >> 2] = c[(k + 4) >> 2];
  105626. c[(g + 8) >> 2] = c[(k + 8) >> 2];
  105627. c[(g + 12) >> 2] = c[(k + 12) >> 2];
  105628. c[(g + 16) >> 2] = c[(k + 16) >> 2];
  105629. c[(g + 20) >> 2] = c[(k + 20) >> 2];
  105630. c[(g + 24) >> 2] = c[(k + 24) >> 2];
  105631. c[f >> 2] = c[5406];
  105632. c[(f + 4) >> 2] = c[5407];
  105633. c[(f + 8) >> 2] = c[5408];
  105634. k = zj(j, h, 0, 0, g, f) | 0;
  105635. l = e;
  105636. return k | 0;
  105637. }
  105638. function Io(a, b) {
  105639. a = a | 0;
  105640. b = b | 0;
  105641. var d = 0,
  105642. e = 0;
  105643. d = l;
  105644. l = (l + 16) | 0;
  105645. e = d;
  105646. c[e >> 2] = b;
  105647. b = ((c[e >> 2] | 0) + 4720) | 0;
  105648. c[a >> 2] = c[b >> 2];
  105649. c[(a + 4) >> 2] = c[(b + 4) >> 2];
  105650. c[(a + 8) >> 2] = c[(b + 8) >> 2];
  105651. c[(a + 12) >> 2] = c[(b + 12) >> 2];
  105652. c[(a + 16) >> 2] = c[(b + 16) >> 2];
  105653. c[(a + 20) >> 2] = c[(b + 20) >> 2];
  105654. c[(a + 24) >> 2] = c[(b + 24) >> 2];
  105655. l = d;
  105656. return;
  105657. }
  105658. function Jo(a, b, d, e, f) {
  105659. a = a | 0;
  105660. b = b | 0;
  105661. d = d | 0;
  105662. e = e | 0;
  105663. f = f | 0;
  105664. var g = 0,
  105665. h = 0,
  105666. i = 0,
  105667. j = 0,
  105668. k = 0,
  105669. m = 0,
  105670. n = 0,
  105671. o = 0,
  105672. p = 0,
  105673. q = 0,
  105674. r = 0,
  105675. s = 0,
  105676. t = 0;
  105677. g = l;
  105678. l = (l + 272) | 0;
  105679. h = (g + 168) | 0;
  105680. i = (g + 160) | 0;
  105681. j = (g + 156) | 0;
  105682. k = (g + 152) | 0;
  105683. m = g;
  105684. n = (g + 48) | 0;
  105685. o = (g + 16) | 0;
  105686. p = (g + 12) | 0;
  105687. q = (g + 8) | 0;
  105688. c[j >> 2] = a;
  105689. c[k >> 2] = b;
  105690. b = m;
  105691. c[b >> 2] = e;
  105692. c[(b + 4) >> 2] = f;
  105693. if (!(c[k >> 2] | 0)) {
  105694. c[i >> 2] = -32;
  105695. r = c[i >> 2] | 0;
  105696. l = g;
  105697. return r | 0;
  105698. }
  105699. f = n;
  105700. b = ((c[j >> 2] | 0) + 12) | 0;
  105701. e = (f + 104) | 0;
  105702. do {
  105703. c[f >> 2] = c[b >> 2];
  105704. f = (f + 4) | 0;
  105705. b = (b + 4) | 0;
  105706. } while ((f | 0) < (e | 0));
  105707. a = (n + 4) | 0;
  105708. Io(o, c[k >> 2] | 0);
  105709. c[a >> 2] = c[o >> 2];
  105710. c[(a + 4) >> 2] = c[(o + 4) >> 2];
  105711. c[(a + 8) >> 2] = c[(o + 8) >> 2];
  105712. c[(a + 12) >> 2] = c[(o + 12) >> 2];
  105713. c[(a + 16) >> 2] = c[(o + 16) >> 2];
  105714. c[(a + 20) >> 2] = c[(o + 20) >> 2];
  105715. c[(a + 24) >> 2] = c[(o + 24) >> 2];
  105716. o = m;
  105717. if ((c[o >> 2] | 0) != -1 ? 1 : (c[(o + 4) >> 2] | 0) != -1) {
  105718. o = m;
  105719. a = c[(o + 4) >> 2] | 0;
  105720. s =
  105721. (a >>> 0 < 0) |
  105722. (((a | 0) == 0) & ((c[o >> 2] | 0) >>> 0 < 524288));
  105723. o = m;
  105724. a = c[(o + 4) >> 2] | 0;
  105725. a = s ? c[o >> 2] | 0 : 524288;
  105726. c[p >> 2] = a;
  105727. if ((c[p >> 2] | 0) >>> 0 > 1)
  105728. t = ((uj(((c[p >> 2] | 0) - 1) | 0) | 0) + 1) | 0;
  105729. else t = 1;
  105730. c[q >> 2] = t;
  105731. c[(n + 4) >> 2] =
  105732. (c[(n + 4) >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0
  105733. ? c[(n + 4) >> 2] | 0
  105734. : c[q >> 2] | 0;
  105735. }
  105736. q = (n + 32) | 0;
  105737. c[q >> 2] = c[d >> 2];
  105738. c[(q + 4) >> 2] = c[(d + 4) >> 2];
  105739. c[(q + 8) >> 2] = c[(d + 8) >> 2];
  105740. d = c[j >> 2] | 0;
  105741. j = c[k >> 2] | 0;
  105742. k = m;
  105743. m = c[k >> 2] | 0;
  105744. q = c[(k + 4) >> 2] | 0;
  105745. f = h;
  105746. b = n;
  105747. e = (f + 104) | 0;
  105748. do {
  105749. c[f >> 2] = c[b >> 2];
  105750. f = (f + 4) | 0;
  105751. b = (b + 4) | 0;
  105752. } while ((f | 0) < (e | 0));
  105753. c[i >> 2] = xo(d, 0, 0, 0, j, h, m, q, 0) | 0;
  105754. r = c[i >> 2] | 0;
  105755. l = g;
  105756. return r | 0;
  105757. }
  105758. function hy(a, b, d, e, f) {
  105759. a = a | 0;
  105760. b = b | 0;
  105761. d = d | 0;
  105762. e = e | 0;
  105763. f = f | 0;
  105764. var g = 0,
  105765. h = 0,
  105766. i = 0,
  105767. j = 0,
  105768. k = 0,
  105769. m = 0,
  105770. n = 0,
  105771. o = 0,
  105772. p = 0,
  105773. q = 0,
  105774. r = 0,
  105775. s = 0,
  105776. t = 0,
  105777. u = 0,
  105778. v = 0,
  105779. w = 0,
  105780. x = 0,
  105781. y = 0,
  105782. z = 0,
  105783. A = 0,
  105784. B = 0,
  105785. C = 0,
  105786. D = 0,
  105787. E = 0,
  105788. F = 0,
  105789. G = 0,
  105790. H = 0,
  105791. I = 0,
  105792. J = 0,
  105793. K = 0,
  105794. L = 0,
  105795. M = 0;
  105796. g = l;
  105797. l = (l + 112) | 0;
  105798. h = (g + 100) | 0;
  105799. i = (g + 96) | 0;
  105800. j = (g + 92) | 0;
  105801. k = (g + 88) | 0;
  105802. m = (g + 84) | 0;
  105803. n = (g + 80) | 0;
  105804. o = (g + 76) | 0;
  105805. p = (g + 72) | 0;
  105806. q = (g + 68) | 0;
  105807. r = (g + 64) | 0;
  105808. s = (g + 60) | 0;
  105809. t = (g + 56) | 0;
  105810. u = (g + 52) | 0;
  105811. v = (g + 48) | 0;
  105812. w = (g + 44) | 0;
  105813. x = (g + 40) | 0;
  105814. y = (g + 36) | 0;
  105815. z = (g + 32) | 0;
  105816. A = (g + 28) | 0;
  105817. B = (g + 24) | 0;
  105818. C = (g + 20) | 0;
  105819. D = (g + 16) | 0;
  105820. E = (g + 12) | 0;
  105821. F = (g + 8) | 0;
  105822. G = (g + 4) | 0;
  105823. H = g;
  105824. c[i >> 2] = a;
  105825. c[j >> 2] = b;
  105826. c[k >> 2] = d;
  105827. c[m >> 2] = e;
  105828. c[n >> 2] = f;
  105829. c[o >> 2] = c[m >> 2];
  105830. c[p >> 2] = c[o >> 2];
  105831. c[q >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
  105832. c[r >> 2] = c[j >> 2];
  105833. c[s >> 2] = c[r >> 2];
  105834. c[t >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
  105835. c[u >> 2] = 1;
  105836. a: while (1) {
  105837. if (!(c[u >> 2] | 0)) {
  105838. I = 48;
  105839. break;
  105840. }
  105841. switch (c[((c[i >> 2] | 0) + 80) >> 2] | 0) {
  105842. case 0: {
  105843. I = 4;
  105844. break a;
  105845. break;
  105846. }
  105847. case 1: {
  105848. c[v >> 2] =
  105849. yq(
  105850. ((c[i >> 2] | 0) + 8) | 0,
  105851. c[m >> 2] | 0,
  105852. c[c[n >> 2] >> 2] | 0
  105853. ) | 0;
  105854. j = (mr(c[v >> 2] | 0) | 0) != 0;
  105855. J = c[v >> 2] | 0;
  105856. if (j) {
  105857. I = 6;
  105858. break a;
  105859. }
  105860. K = c[i >> 2] | 0;
  105861. if (J | 0) {
  105862. I = 8;
  105863. break a;
  105864. }
  105865. c[(K + 80) >> 2] = 3;
  105866. break;
  105867. }
  105868. case 2: {
  105869. c[w >> 2] =
  105870. ry(
  105871. ((c[i >> 2] | 0) +
  105872. 84 +
  105873. (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) |
  105874. 0,
  105875. (5 - (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) | 0,
  105876. c[m >> 2] | 0,
  105877. c[c[n >> 2] >> 2] | 0
  105878. ) | 0;
  105879. j = ((c[i >> 2] | 0) + 76) | 0;
  105880. c[j >> 2] = (c[j >> 2] | 0) + (c[w >> 2] | 0);
  105881. c[p >> 2] = (c[p >> 2] | 0) + (c[w >> 2] | 0);
  105882. c[w >> 2] =
  105883. yq(
  105884. ((c[i >> 2] | 0) + 8) | 0,
  105885. ((c[i >> 2] | 0) + 84) | 0,
  105886. c[((c[i >> 2] | 0) + 76) >> 2] | 0
  105887. ) | 0;
  105888. j = (mr(c[w >> 2] | 0) | 0) != 0;
  105889. L = c[w >> 2] | 0;
  105890. if (j) {
  105891. I = 11;
  105892. break a;
  105893. }
  105894. if (L | 0) {
  105895. I = 13;
  105896. break a;
  105897. } else I = 14;
  105898. break;
  105899. }
  105900. case 3: {
  105901. I = 14;
  105902. break;
  105903. }
  105904. case 4: {
  105905. I = 23;
  105906. break;
  105907. }
  105908. case 5: {
  105909. I = 33;
  105910. break;
  105911. }
  105912. case 6: {
  105913. I = 42;
  105914. break;
  105915. }
  105916. default: {
  105917. I = 46;
  105918. break a;
  105919. }
  105920. }
  105921. do {
  105922. if ((I | 0) == 14) {
  105923. I = 0;
  105924. c[x >> 2] = 1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2];
  105925. c[y >> 2] = 131072;
  105926. if (
  105927. (c[((c[i >> 2] | 0) + 52) >> 2] | 0) >>> 0 <
  105928. (c[y >> 2] | 0) >>> 0
  105929. ? (Dy(c[((c[i >> 2] | 0) + 48) >> 2] | 0),
  105930. (c[((c[i >> 2] | 0) + 52) >> 2] = c[y >> 2]),
  105931. (j = Cy(c[y >> 2] | 0) | 0),
  105932. (c[((c[i >> 2] | 0) + 48) >> 2] = j),
  105933. (c[((c[i >> 2] | 0) + 48) >> 2] | 0) == 0)
  105934. : 0
  105935. ) {
  105936. I = 16;
  105937. break a;
  105938. }
  105939. if (
  105940. (c[((c[i >> 2] | 0) + 64) >> 2] | 0) >>> 0 <
  105941. (c[x >> 2] | 0) >>> 0
  105942. ? (Dy(c[((c[i >> 2] | 0) + 60) >> 2] | 0),
  105943. (c[((c[i >> 2] | 0) + 64) >> 2] = c[x >> 2]),
  105944. (j = Cy(c[x >> 2] | 0) | 0),
  105945. (c[((c[i >> 2] | 0) + 60) >> 2] = j),
  105946. (c[((c[i >> 2] | 0) + 60) >> 2] | 0) == 0)
  105947. : 0
  105948. ) {
  105949. I = 19;
  105950. break a;
  105951. }
  105952. j = c[i >> 2] | 0;
  105953. if (c[((c[i >> 2] | 0) + 76) >> 2] | 0) {
  105954. mE(
  105955. c[(j + 48) >> 2] | 0,
  105956. ((c[i >> 2] | 0) + 84) | 0,
  105957. c[((c[i >> 2] | 0) + 76) >> 2] | 0
  105958. ) | 0;
  105959. c[((c[i >> 2] | 0) + 56) >> 2] =
  105960. c[((c[i >> 2] | 0) + 76) >> 2];
  105961. c[((c[i >> 2] | 0) + 76) >> 2] = 0;
  105962. c[((c[i >> 2] | 0) + 80) >> 2] = 5;
  105963. break;
  105964. } else {
  105965. c[(j + 80) >> 2] = 4;
  105966. I = 23;
  105967. break;
  105968. }
  105969. }
  105970. } while (0);
  105971. do {
  105972. if ((I | 0) == 23) {
  105973. I = 0;
  105974. c[z >> 2] = sy(c[c[i >> 2] >> 2] | 0) | 0;
  105975. if (!(c[z >> 2] | 0)) {
  105976. c[((c[i >> 2] | 0) + 80) >> 2] = 0;
  105977. c[u >> 2] = 0;
  105978. break;
  105979. }
  105980. if (
  105981. (((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 <
  105982. (c[z >> 2] | 0) >>> 0
  105983. ) {
  105984. if ((c[p >> 2] | 0) == (c[q >> 2] | 0)) {
  105985. c[u >> 2] = 0;
  105986. break;
  105987. } else {
  105988. c[((c[i >> 2] | 0) + 80) >> 2] = 5;
  105989. I = 33;
  105990. break;
  105991. }
  105992. } else {
  105993. c[A >> 2] =
  105994. ty(
  105995. c[c[i >> 2] >> 2] | 0,
  105996. ((c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
  105997. (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
  105998. 0,
  105999. ((c[((c[i >> 2] | 0) + 64) >> 2] | 0) -
  106000. (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
  106001. 0,
  106002. c[p >> 2] | 0,
  106003. c[z >> 2] | 0
  106004. ) | 0;
  106005. if (mr(c[A >> 2] | 0) | 0) {
  106006. I = 27;
  106007. break a;
  106008. }
  106009. c[p >> 2] = (c[p >> 2] | 0) + (c[z >> 2] | 0);
  106010. if (!(c[A >> 2] | 0)) break;
  106011. c[((c[i >> 2] | 0) + 72) >> 2] =
  106012. (c[((c[i >> 2] | 0) + 68) >> 2] | 0) +
  106013. (c[A >> 2] | 0);
  106014. c[((c[i >> 2] | 0) + 80) >> 2] = 6;
  106015. break;
  106016. }
  106017. }
  106018. } while (0);
  106019. do {
  106020. if ((I | 0) == 33) {
  106021. I = 0;
  106022. c[B >> 2] = sy(c[c[i >> 2] >> 2] | 0) | 0;
  106023. c[C >> 2] =
  106024. (c[B >> 2] | 0) -
  106025. (c[((c[i >> 2] | 0) + 56) >> 2] | 0);
  106026. if (
  106027. (c[C >> 2] | 0) >>> 0 >
  106028. (((c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
  106029. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  106030. 0) >>>
  106031. 0
  106032. ) {
  106033. I = 34;
  106034. break a;
  106035. }
  106036. c[D >> 2] =
  106037. ry(
  106038. ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
  106039. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  106040. 0,
  106041. c[C >> 2] | 0,
  106042. c[p >> 2] | 0,
  106043. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  106044. ) | 0;
  106045. c[p >> 2] = (c[p >> 2] | 0) + (c[D >> 2] | 0);
  106046. j = ((c[i >> 2] | 0) + 56) | 0;
  106047. c[j >> 2] = (c[j >> 2] | 0) + (c[D >> 2] | 0);
  106048. if ((c[D >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0) {
  106049. c[u >> 2] = 0;
  106050. break;
  106051. }
  106052. c[E >> 2] =
  106053. ty(
  106054. c[c[i >> 2] >> 2] | 0,
  106055. ((c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
  106056. (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
  106057. 0,
  106058. ((c[((c[i >> 2] | 0) + 64) >> 2] | 0) -
  106059. (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
  106060. 0,
  106061. c[((c[i >> 2] | 0) + 48) >> 2] | 0,
  106062. c[B >> 2] | 0
  106063. ) | 0;
  106064. if (mr(c[E >> 2] | 0) | 0) {
  106065. I = 38;
  106066. break a;
  106067. }
  106068. c[((c[i >> 2] | 0) + 56) >> 2] = 0;
  106069. j = c[i >> 2] | 0;
  106070. if (c[E >> 2] | 0) {
  106071. c[((c[i >> 2] | 0) + 72) >> 2] =
  106072. (c[(j + 68) >> 2] | 0) + (c[E >> 2] | 0);
  106073. c[((c[i >> 2] | 0) + 80) >> 2] = 6;
  106074. I = 42;
  106075. break;
  106076. } else {
  106077. c[(j + 80) >> 2] = 4;
  106078. break;
  106079. }
  106080. }
  106081. } while (0);
  106082. do {
  106083. if ((I | 0) == 42) {
  106084. I = 0;
  106085. c[F >> 2] =
  106086. (c[((c[i >> 2] | 0) + 72) >> 2] | 0) -
  106087. (c[((c[i >> 2] | 0) + 68) >> 2] | 0);
  106088. c[G >> 2] =
  106089. ry(
  106090. c[s >> 2] | 0,
  106091. ((c[t >> 2] | 0) - (c[s >> 2] | 0)) | 0,
  106092. ((c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
  106093. (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
  106094. 0,
  106095. c[F >> 2] | 0
  106096. ) | 0;
  106097. c[s >> 2] = (c[s >> 2] | 0) + (c[G >> 2] | 0);
  106098. j = ((c[i >> 2] | 0) + 68) | 0;
  106099. c[j >> 2] = (c[j >> 2] | 0) + (c[G >> 2] | 0);
  106100. if ((c[G >> 2] | 0) != (c[F >> 2] | 0)) {
  106101. c[u >> 2] = 0;
  106102. break;
  106103. }
  106104. c[((c[i >> 2] | 0) + 80) >> 2] = 4;
  106105. if (
  106106. (((c[((c[i >> 2] | 0) + 68) >> 2] | 0) + 131072) |
  106107. 0) >>>
  106108. 0 >
  106109. (c[((c[i >> 2] | 0) + 64) >> 2] | 0) >>> 0
  106110. ) {
  106111. c[((c[i >> 2] | 0) + 72) >> 2] = 0;
  106112. c[((c[i >> 2] | 0) + 68) >> 2] = 0;
  106113. }
  106114. }
  106115. } while (0);
  106116. }
  106117. switch (I | 0) {
  106118. case 4: {
  106119. c[h >> 2] = -62;
  106120. M = c[h >> 2] | 0;
  106121. l = g;
  106122. return M | 0;
  106123. }
  106124. case 6: {
  106125. c[h >> 2] = J;
  106126. M = c[h >> 2] | 0;
  106127. l = g;
  106128. return M | 0;
  106129. }
  106130. case 8: {
  106131. mE(
  106132. (K + 84 + (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) | 0,
  106133. c[m >> 2] | 0,
  106134. c[c[n >> 2] >> 2] | 0
  106135. ) | 0;
  106136. m = ((c[i >> 2] | 0) + 76) | 0;
  106137. c[m >> 2] = (c[m >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
  106138. c[c[k >> 2] >> 2] = 0;
  106139. c[((c[i >> 2] | 0) + 80) >> 2] = 2;
  106140. c[h >> 2] =
  106141. (c[v >> 2] | 0) - (c[((c[i >> 2] | 0) + 76) >> 2] | 0);
  106142. M = c[h >> 2] | 0;
  106143. l = g;
  106144. return M | 0;
  106145. }
  106146. case 11: {
  106147. c[h >> 2] = L;
  106148. M = c[h >> 2] | 0;
  106149. l = g;
  106150. return M | 0;
  106151. }
  106152. case 13: {
  106153. c[c[k >> 2] >> 2] = 0;
  106154. c[h >> 2] =
  106155. (c[w >> 2] | 0) - (c[((c[i >> 2] | 0) + 76) >> 2] | 0);
  106156. M = c[h >> 2] | 0;
  106157. l = g;
  106158. return M | 0;
  106159. }
  106160. case 16: {
  106161. c[h >> 2] = -64;
  106162. M = c[h >> 2] | 0;
  106163. l = g;
  106164. return M | 0;
  106165. }
  106166. case 19: {
  106167. c[h >> 2] = -64;
  106168. M = c[h >> 2] | 0;
  106169. l = g;
  106170. return M | 0;
  106171. }
  106172. case 27: {
  106173. c[h >> 2] = c[A >> 2];
  106174. M = c[h >> 2] | 0;
  106175. l = g;
  106176. return M | 0;
  106177. }
  106178. case 34: {
  106179. c[h >> 2] = -20;
  106180. M = c[h >> 2] | 0;
  106181. l = g;
  106182. return M | 0;
  106183. }
  106184. case 38: {
  106185. c[h >> 2] = c[E >> 2];
  106186. M = c[h >> 2] | 0;
  106187. l = g;
  106188. return M | 0;
  106189. }
  106190. case 46: {
  106191. c[h >> 2] = -1;
  106192. M = c[h >> 2] | 0;
  106193. l = g;
  106194. return M | 0;
  106195. }
  106196. case 48: {
  106197. c[c[n >> 2] >> 2] = (c[p >> 2] | 0) - (c[o >> 2] | 0);
  106198. c[c[k >> 2] >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  106199. c[H >> 2] = sy(c[c[i >> 2] >> 2] | 0) | 0;
  106200. if ((c[H >> 2] | 0) >>> 0 > 3)
  106201. c[H >> 2] = (c[H >> 2] | 0) + 3;
  106202. c[H >> 2] =
  106203. (c[H >> 2] | 0) - (c[((c[i >> 2] | 0) + 56) >> 2] | 0);
  106204. c[h >> 2] = c[H >> 2];
  106205. M = c[h >> 2] | 0;
  106206. l = g;
  106207. return M | 0;
  106208. }
  106209. }
  106210. return 0;
  106211. }
  106212. function iy(a, b, d, e, f) {
  106213. a = a | 0;
  106214. b = b | 0;
  106215. d = d | 0;
  106216. e = e | 0;
  106217. f = f | 0;
  106218. var g = 0,
  106219. h = 0,
  106220. i = 0,
  106221. j = 0,
  106222. k = 0,
  106223. m = 0,
  106224. n = 0,
  106225. o = 0,
  106226. p = 0,
  106227. q = 0,
  106228. r = 0,
  106229. s = 0,
  106230. t = 0,
  106231. u = 0,
  106232. v = 0,
  106233. w = 0,
  106234. x = 0,
  106235. y = 0,
  106236. z = 0,
  106237. A = 0,
  106238. B = 0,
  106239. C = 0,
  106240. D = 0,
  106241. E = 0,
  106242. F = 0,
  106243. G = 0,
  106244. H = 0,
  106245. I = 0,
  106246. J = 0,
  106247. K = 0,
  106248. L = 0,
  106249. M = 0,
  106250. N = 0,
  106251. O = 0,
  106252. P = 0,
  106253. Q = 0;
  106254. g = l;
  106255. l = (l + 128) | 0;
  106256. h = (g + 116) | 0;
  106257. i = (g + 112) | 0;
  106258. j = (g + 108) | 0;
  106259. k = (g + 104) | 0;
  106260. m = (g + 100) | 0;
  106261. n = (g + 96) | 0;
  106262. o = (g + 92) | 0;
  106263. p = (g + 88) | 0;
  106264. q = (g + 84) | 0;
  106265. r = (g + 80) | 0;
  106266. s = (g + 76) | 0;
  106267. t = (g + 72) | 0;
  106268. u = (g + 68) | 0;
  106269. v = (g + 64) | 0;
  106270. w = (g + 60) | 0;
  106271. x = (g + 56) | 0;
  106272. y = (g + 52) | 0;
  106273. z = (g + 48) | 0;
  106274. A = (g + 44) | 0;
  106275. B = (g + 40) | 0;
  106276. C = (g + 36) | 0;
  106277. D = (g + 32) | 0;
  106278. E = (g + 28) | 0;
  106279. F = (g + 24) | 0;
  106280. G = (g + 20) | 0;
  106281. H = (g + 16) | 0;
  106282. I = (g + 12) | 0;
  106283. J = (g + 8) | 0;
  106284. K = (g + 4) | 0;
  106285. L = g;
  106286. c[i >> 2] = a;
  106287. c[j >> 2] = b;
  106288. c[k >> 2] = d;
  106289. c[m >> 2] = e;
  106290. c[n >> 2] = f;
  106291. c[o >> 2] = c[m >> 2];
  106292. c[p >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
  106293. c[q >> 2] = c[o >> 2];
  106294. c[r >> 2] = c[j >> 2];
  106295. c[s >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
  106296. c[t >> 2] = c[r >> 2];
  106297. c[u >> 2] = 1;
  106298. a: while (1) {
  106299. if (!(c[u >> 2] | 0)) {
  106300. M = 50;
  106301. break;
  106302. }
  106303. b: do {
  106304. switch (c[((c[i >> 2] | 0) + 24) >> 2] | 0) {
  106305. case 0: {
  106306. M = 4;
  106307. break a;
  106308. break;
  106309. }
  106310. case 1: {
  106311. c[v >> 2] =
  106312. zq(
  106313. ((c[i >> 2] | 0) + 8) | 0,
  106314. ((c[i >> 2] | 0) + 60) | 0,
  106315. c[((c[i >> 2] | 0) + 76) >> 2] | 0
  106316. ) | 0;
  106317. if (c[v >> 2] | 0) {
  106318. c[w >> 2] =
  106319. (c[v >> 2] | 0) -
  106320. (c[((c[i >> 2] | 0) + 76) >> 2] | 0);
  106321. if (jr(c[v >> 2] | 0) | 0) {
  106322. M = 7;
  106323. break a;
  106324. }
  106325. N =
  106326. ((c[i >> 2] | 0) +
  106327. 60 +
  106328. (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) |
  106329. 0;
  106330. O = c[q >> 2] | 0;
  106331. if (
  106332. (c[w >> 2] | 0) >>> 0 >
  106333. (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0
  106334. ) {
  106335. M = 9;
  106336. break a;
  106337. }
  106338. mE(N | 0, O | 0, c[w >> 2] | 0) | 0;
  106339. c[((c[i >> 2] | 0) + 76) >> 2] = c[v >> 2];
  106340. c[q >> 2] = (c[q >> 2] | 0) + (c[w >> 2] | 0);
  106341. break b;
  106342. }
  106343. c[x >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
  106344. c[y >> 2] =
  106345. py(
  106346. c[c[i >> 2] >> 2] | 0,
  106347. 0,
  106348. 0,
  106349. ((c[i >> 2] | 0) + 60) | 0,
  106350. c[x >> 2] | 0
  106351. ) | 0;
  106352. if (jr(c[y >> 2] | 0) | 0) {
  106353. M = 12;
  106354. break a;
  106355. }
  106356. if (
  106357. (c[x >> 2] | 0) >>> 0 <
  106358. (c[((c[i >> 2] | 0) + 76) >> 2] | 0) >>> 0
  106359. ? ((c[z >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0),
  106360. (c[A >> 2] =
  106361. py(
  106362. c[c[i >> 2] >> 2] | 0,
  106363. 0,
  106364. 0,
  106365. ((c[i >> 2] | 0) + 60 + (c[x >> 2] | 0)) |
  106366. 0,
  106367. c[z >> 2] | 0
  106368. ) | 0),
  106369. jr(c[A >> 2] | 0) | 0)
  106370. : 0
  106371. ) {
  106372. M = 15;
  106373. break a;
  106374. }
  106375. if (
  106376. ((1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2]) | 0) <
  106377. 131072
  106378. )
  106379. P = 1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2];
  106380. else P = 131072;
  106381. c[B >> 2] = P;
  106382. c[((c[i >> 2] | 0) + 56) >> 2] = c[B >> 2];
  106383. if (
  106384. (c[((c[i >> 2] | 0) + 32) >> 2] | 0) >>> 0 <
  106385. (c[B >> 2] | 0) >>> 0
  106386. ? (Dy(c[((c[i >> 2] | 0) + 28) >> 2] | 0),
  106387. (c[((c[i >> 2] | 0) + 32) >> 2] = c[B >> 2]),
  106388. (j = Cy(c[B >> 2] | 0) | 0),
  106389. (c[((c[i >> 2] | 0) + 28) >> 2] = j),
  106390. (c[((c[i >> 2] | 0) + 28) >> 2] | 0) == 0)
  106391. : 0
  106392. ) {
  106393. M = 20;
  106394. break a;
  106395. }
  106396. c[C >> 2] =
  106397. (1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2]) +
  106398. (c[B >> 2] | 0) +
  106399. 16;
  106400. if (
  106401. (c[((c[i >> 2] | 0) + 44) >> 2] | 0) >>> 0 <
  106402. (c[C >> 2] | 0) >>> 0
  106403. ? (Dy(c[((c[i >> 2] | 0) + 40) >> 2] | 0),
  106404. (c[((c[i >> 2] | 0) + 44) >> 2] = c[C >> 2]),
  106405. (j = Cy(c[C >> 2] | 0) | 0),
  106406. (c[((c[i >> 2] | 0) + 40) >> 2] = j),
  106407. (c[((c[i >> 2] | 0) + 40) >> 2] | 0) == 0)
  106408. : 0
  106409. ) {
  106410. M = 23;
  106411. break a;
  106412. }
  106413. c[((c[i >> 2] | 0) + 24) >> 2] = 2;
  106414. M = 25;
  106415. break;
  106416. }
  106417. case 2: {
  106418. M = 25;
  106419. break;
  106420. }
  106421. case 3: {
  106422. M = 35;
  106423. break;
  106424. }
  106425. case 4: {
  106426. M = 44;
  106427. break;
  106428. }
  106429. default: {
  106430. M = 48;
  106431. break a;
  106432. }
  106433. }
  106434. } while (0);
  106435. do {
  106436. if ((M | 0) == 25) {
  106437. M = 0;
  106438. c[D >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
  106439. if (!(c[D >> 2] | 0)) {
  106440. c[((c[i >> 2] | 0) + 24) >> 2] = 0;
  106441. c[u >> 2] = 0;
  106442. break;
  106443. }
  106444. if (
  106445. (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0 <
  106446. (c[D >> 2] | 0) >>> 0
  106447. ) {
  106448. if ((c[q >> 2] | 0) == (c[p >> 2] | 0)) {
  106449. c[u >> 2] = 0;
  106450. break;
  106451. } else {
  106452. c[((c[i >> 2] | 0) + 24) >> 2] = 3;
  106453. M = 35;
  106454. break;
  106455. }
  106456. } else {
  106457. c[E >> 2] =
  106458. py(
  106459. c[c[i >> 2] >> 2] | 0,
  106460. ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
  106461. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  106462. 0,
  106463. ((c[((c[i >> 2] | 0) + 44) >> 2] | 0) -
  106464. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  106465. 0,
  106466. c[q >> 2] | 0,
  106467. c[D >> 2] | 0
  106468. ) | 0;
  106469. if (jr(c[E >> 2] | 0) | 0) {
  106470. M = 29;
  106471. break a;
  106472. }
  106473. c[q >> 2] = (c[q >> 2] | 0) + (c[D >> 2] | 0);
  106474. if (!(c[E >> 2] | 0)) break;
  106475. c[((c[i >> 2] | 0) + 52) >> 2] =
  106476. (c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
  106477. (c[E >> 2] | 0);
  106478. c[((c[i >> 2] | 0) + 24) >> 2] = 4;
  106479. break;
  106480. }
  106481. }
  106482. } while (0);
  106483. do {
  106484. if ((M | 0) == 35) {
  106485. M = 0;
  106486. c[F >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
  106487. c[G >> 2] =
  106488. (c[F >> 2] | 0) -
  106489. (c[((c[i >> 2] | 0) + 36) >> 2] | 0);
  106490. if (
  106491. (c[G >> 2] | 0) >>> 0 >
  106492. (((c[((c[i >> 2] | 0) + 32) >> 2] | 0) -
  106493. (c[((c[i >> 2] | 0) + 36) >> 2] | 0)) |
  106494. 0) >>>
  106495. 0
  106496. ) {
  106497. M = 36;
  106498. break a;
  106499. }
  106500. c[H >> 2] =
  106501. qy(
  106502. ((c[((c[i >> 2] | 0) + 28) >> 2] | 0) +
  106503. (c[((c[i >> 2] | 0) + 36) >> 2] | 0)) |
  106504. 0,
  106505. c[G >> 2] | 0,
  106506. c[q >> 2] | 0,
  106507. ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
  106508. ) | 0;
  106509. c[q >> 2] = (c[q >> 2] | 0) + (c[H >> 2] | 0);
  106510. j = ((c[i >> 2] | 0) + 36) | 0;
  106511. c[j >> 2] = (c[j >> 2] | 0) + (c[H >> 2] | 0);
  106512. if ((c[H >> 2] | 0) >>> 0 < (c[G >> 2] | 0) >>> 0) {
  106513. c[u >> 2] = 0;
  106514. break;
  106515. }
  106516. c[I >> 2] =
  106517. py(
  106518. c[c[i >> 2] >> 2] | 0,
  106519. ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
  106520. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  106521. 0,
  106522. ((c[((c[i >> 2] | 0) + 44) >> 2] | 0) -
  106523. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  106524. 0,
  106525. c[((c[i >> 2] | 0) + 28) >> 2] | 0,
  106526. c[F >> 2] | 0
  106527. ) | 0;
  106528. if (jr(c[I >> 2] | 0) | 0) {
  106529. M = 40;
  106530. break a;
  106531. }
  106532. c[((c[i >> 2] | 0) + 36) >> 2] = 0;
  106533. j = c[i >> 2] | 0;
  106534. if (c[I >> 2] | 0) {
  106535. c[((c[i >> 2] | 0) + 52) >> 2] =
  106536. (c[(j + 48) >> 2] | 0) + (c[I >> 2] | 0);
  106537. c[((c[i >> 2] | 0) + 24) >> 2] = 4;
  106538. M = 44;
  106539. break;
  106540. } else {
  106541. c[(j + 24) >> 2] = 2;
  106542. break;
  106543. }
  106544. }
  106545. } while (0);
  106546. do {
  106547. if ((M | 0) == 44) {
  106548. M = 0;
  106549. c[J >> 2] =
  106550. (c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
  106551. (c[((c[i >> 2] | 0) + 48) >> 2] | 0);
  106552. c[K >> 2] =
  106553. qy(
  106554. c[t >> 2] | 0,
  106555. ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
  106556. ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
  106557. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  106558. 0,
  106559. c[J >> 2] | 0
  106560. ) | 0;
  106561. c[t >> 2] = (c[t >> 2] | 0) + (c[K >> 2] | 0);
  106562. j = ((c[i >> 2] | 0) + 48) | 0;
  106563. c[j >> 2] = (c[j >> 2] | 0) + (c[K >> 2] | 0);
  106564. if ((c[K >> 2] | 0) != (c[J >> 2] | 0)) {
  106565. c[u >> 2] = 0;
  106566. break;
  106567. }
  106568. c[((c[i >> 2] | 0) + 24) >> 2] = 2;
  106569. if (
  106570. (((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
  106571. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  106572. 0) >>>
  106573. 0 >
  106574. (c[((c[i >> 2] | 0) + 44) >> 2] | 0) >>> 0
  106575. ) {
  106576. c[((c[i >> 2] | 0) + 52) >> 2] = 0;
  106577. c[((c[i >> 2] | 0) + 48) >> 2] = 0;
  106578. }
  106579. }
  106580. } while (0);
  106581. }
  106582. switch (M | 0) {
  106583. case 4: {
  106584. c[h >> 2] = -62;
  106585. Q = c[h >> 2] | 0;
  106586. l = g;
  106587. return Q | 0;
  106588. }
  106589. case 7: {
  106590. c[h >> 2] = c[v >> 2];
  106591. Q = c[h >> 2] | 0;
  106592. l = g;
  106593. return Q | 0;
  106594. }
  106595. case 9: {
  106596. mE(
  106597. N | 0,
  106598. O | 0,
  106599. ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
  106600. ) | 0;
  106601. O = ((c[i >> 2] | 0) + 76) | 0;
  106602. c[O >> 2] =
  106603. (c[O >> 2] | 0) + ((c[p >> 2] | 0) - (c[q >> 2] | 0));
  106604. c[q >> 2] = c[p >> 2];
  106605. c[u >> 2] = 0;
  106606. c[c[k >> 2] >> 2] = 0;
  106607. c[h >> 2] =
  106608. (c[v >> 2] | 0) -
  106609. (c[((c[i >> 2] | 0) + 76) >> 2] | 0) +
  106610. 3;
  106611. Q = c[h >> 2] | 0;
  106612. l = g;
  106613. return Q | 0;
  106614. }
  106615. case 12: {
  106616. c[h >> 2] = c[y >> 2];
  106617. Q = c[h >> 2] | 0;
  106618. l = g;
  106619. return Q | 0;
  106620. }
  106621. case 15: {
  106622. c[h >> 2] = c[A >> 2];
  106623. Q = c[h >> 2] | 0;
  106624. l = g;
  106625. return Q | 0;
  106626. }
  106627. case 20: {
  106628. c[h >> 2] = -64;
  106629. Q = c[h >> 2] | 0;
  106630. l = g;
  106631. return Q | 0;
  106632. }
  106633. case 23: {
  106634. c[h >> 2] = -64;
  106635. Q = c[h >> 2] | 0;
  106636. l = g;
  106637. return Q | 0;
  106638. }
  106639. case 29: {
  106640. c[h >> 2] = c[E >> 2];
  106641. Q = c[h >> 2] | 0;
  106642. l = g;
  106643. return Q | 0;
  106644. }
  106645. case 36: {
  106646. c[h >> 2] = -20;
  106647. Q = c[h >> 2] | 0;
  106648. l = g;
  106649. return Q | 0;
  106650. }
  106651. case 40: {
  106652. c[h >> 2] = c[I >> 2];
  106653. Q = c[h >> 2] | 0;
  106654. l = g;
  106655. return Q | 0;
  106656. }
  106657. case 48: {
  106658. c[h >> 2] = -1;
  106659. Q = c[h >> 2] | 0;
  106660. l = g;
  106661. return Q | 0;
  106662. }
  106663. case 50: {
  106664. c[c[n >> 2] >> 2] = (c[q >> 2] | 0) - (c[o >> 2] | 0);
  106665. c[c[k >> 2] >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
  106666. c[L >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
  106667. if ((c[L >> 2] | 0) >>> 0 > 3)
  106668. c[L >> 2] = (c[L >> 2] | 0) + 3;
  106669. c[L >> 2] =
  106670. (c[L >> 2] | 0) - (c[((c[i >> 2] | 0) + 36) >> 2] | 0);
  106671. c[h >> 2] = c[L >> 2];
  106672. Q = c[h >> 2] | 0;
  106673. l = g;
  106674. return Q | 0;
  106675. }
  106676. }
  106677. return 0;
  106678. }
  106679. function jy(a, b, d, e, f) {
  106680. a = a | 0;
  106681. b = b | 0;
  106682. d = d | 0;
  106683. e = e | 0;
  106684. f = f | 0;
  106685. var g = 0,
  106686. h = 0,
  106687. i = 0,
  106688. j = 0,
  106689. k = 0,
  106690. m = 0,
  106691. n = 0,
  106692. o = 0,
  106693. p = 0,
  106694. q = 0,
  106695. r = 0,
  106696. s = 0,
  106697. t = 0,
  106698. u = 0,
  106699. v = 0,
  106700. w = 0,
  106701. x = 0,
  106702. y = 0,
  106703. z = 0,
  106704. A = 0,
  106705. B = 0,
  106706. C = 0,
  106707. D = 0,
  106708. E = 0,
  106709. F = 0,
  106710. G = 0,
  106711. H = 0,
  106712. I = 0,
  106713. J = 0,
  106714. K = 0,
  106715. L = 0,
  106716. M = 0,
  106717. N = 0,
  106718. O = 0,
  106719. P = 0,
  106720. Q = 0,
  106721. R = 0,
  106722. S = 0,
  106723. T = 0,
  106724. U = 0,
  106725. V = 0;
  106726. g = l;
  106727. l = (l + 128) | 0;
  106728. h = (g + 124) | 0;
  106729. i = (g + 120) | 0;
  106730. j = (g + 116) | 0;
  106731. k = (g + 112) | 0;
  106732. m = (g + 108) | 0;
  106733. n = (g + 104) | 0;
  106734. o = (g + 100) | 0;
  106735. p = (g + 96) | 0;
  106736. q = (g + 92) | 0;
  106737. r = (g + 88) | 0;
  106738. s = (g + 84) | 0;
  106739. t = (g + 80) | 0;
  106740. u = (g + 76) | 0;
  106741. v = (g + 72) | 0;
  106742. w = (g + 68) | 0;
  106743. x = (g + 64) | 0;
  106744. y = (g + 60) | 0;
  106745. z = (g + 56) | 0;
  106746. A = (g + 52) | 0;
  106747. B = (g + 48) | 0;
  106748. C = (g + 44) | 0;
  106749. D = (g + 40) | 0;
  106750. E = (g + 36) | 0;
  106751. F = (g + 32) | 0;
  106752. G = (g + 28) | 0;
  106753. H = (g + 24) | 0;
  106754. I = (g + 20) | 0;
  106755. J = (g + 16) | 0;
  106756. K = (g + 12) | 0;
  106757. L = (g + 8) | 0;
  106758. M = (g + 4) | 0;
  106759. N = g;
  106760. c[i >> 2] = a;
  106761. c[j >> 2] = b;
  106762. c[k >> 2] = d;
  106763. c[m >> 2] = e;
  106764. c[n >> 2] = f;
  106765. c[o >> 2] = c[m >> 2];
  106766. c[p >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
  106767. c[q >> 2] = c[o >> 2];
  106768. c[r >> 2] = c[j >> 2];
  106769. c[s >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
  106770. c[t >> 2] = c[r >> 2];
  106771. c[u >> 2] = 1;
  106772. a: while (1) {
  106773. if (!(c[u >> 2] | 0)) {
  106774. O = 54;
  106775. break;
  106776. }
  106777. b: do {
  106778. switch (c[((c[i >> 2] | 0) + 32) >> 2] | 0) {
  106779. case 0: {
  106780. O = 4;
  106781. break a;
  106782. break;
  106783. }
  106784. case 1: {
  106785. c[v >> 2] =
  106786. Aq(
  106787. ((c[i >> 2] | 0) + 8) | 0,
  106788. ((c[i >> 2] | 0) + 68) | 0,
  106789. c[((c[i >> 2] | 0) + 88) >> 2] | 0
  106790. ) | 0;
  106791. j = (hr(c[v >> 2] | 0) | 0) != 0;
  106792. P = c[v >> 2] | 0;
  106793. if (j) {
  106794. O = 6;
  106795. break a;
  106796. }
  106797. if (P | 0) {
  106798. c[w >> 2] =
  106799. (c[v >> 2] | 0) -
  106800. (c[((c[i >> 2] | 0) + 88) >> 2] | 0);
  106801. Q =
  106802. ((c[i >> 2] | 0) +
  106803. 68 +
  106804. (c[((c[i >> 2] | 0) + 88) >> 2] | 0)) |
  106805. 0;
  106806. R = c[q >> 2] | 0;
  106807. if (
  106808. (c[w >> 2] | 0) >>> 0 >
  106809. (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0
  106810. ) {
  106811. O = 9;
  106812. break a;
  106813. }
  106814. mE(Q | 0, R | 0, c[w >> 2] | 0) | 0;
  106815. c[((c[i >> 2] | 0) + 88) >> 2] = c[v >> 2];
  106816. c[q >> 2] = (c[q >> 2] | 0) + (c[w >> 2] | 0);
  106817. break b;
  106818. }
  106819. c[x >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
  106820. c[y >> 2] =
  106821. ly(
  106822. c[c[i >> 2] >> 2] | 0,
  106823. 0,
  106824. 0,
  106825. ((c[i >> 2] | 0) + 68) | 0,
  106826. c[x >> 2] | 0
  106827. ) | 0;
  106828. if (hr(c[y >> 2] | 0) | 0) {
  106829. O = 12;
  106830. break a;
  106831. }
  106832. if (
  106833. (c[x >> 2] | 0) >>> 0 <
  106834. (c[((c[i >> 2] | 0) + 88) >> 2] | 0) >>> 0
  106835. ? ((c[z >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0),
  106836. (c[A >> 2] =
  106837. ly(
  106838. c[c[i >> 2] >> 2] | 0,
  106839. 0,
  106840. 0,
  106841. ((c[i >> 2] | 0) + 68 + (c[x >> 2] | 0)) |
  106842. 0,
  106843. c[z >> 2] | 0
  106844. ) | 0),
  106845. hr(c[A >> 2] | 0) | 0)
  106846. : 0
  106847. ) {
  106848. O = 15;
  106849. break a;
  106850. }
  106851. if (
  106852. (c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0) >>> 0 >
  106853. 1024
  106854. )
  106855. S = c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0;
  106856. else S = 1024;
  106857. c[((c[i >> 2] | 0) + 8 + 8) >> 2] = S;
  106858. if (
  106859. (c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0) >>> 0 <
  106860. 131072
  106861. )
  106862. T = c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0;
  106863. else T = 131072;
  106864. c[B >> 2] = T;
  106865. c[((c[i >> 2] | 0) + 64) >> 2] = c[B >> 2];
  106866. if (
  106867. (c[((c[i >> 2] | 0) + 40) >> 2] | 0) >>> 0 <
  106868. (c[B >> 2] | 0) >>> 0
  106869. ? (xc[c[((c[i >> 2] | 0) + 92 + 4) >> 2] & 31](
  106870. c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
  106871. c[((c[i >> 2] | 0) + 36) >> 2] | 0
  106872. ),
  106873. (c[((c[i >> 2] | 0) + 40) >> 2] = c[B >> 2]),
  106874. (j =
  106875. qc[c[((c[i >> 2] | 0) + 92) >> 2] & 63](
  106876. c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
  106877. c[B >> 2] | 0
  106878. ) | 0),
  106879. (c[((c[i >> 2] | 0) + 36) >> 2] = j),
  106880. (c[((c[i >> 2] | 0) + 36) >> 2] | 0) == 0)
  106881. : 0
  106882. ) {
  106883. O = 22;
  106884. break a;
  106885. }
  106886. c[C >> 2] =
  106887. (c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0) +
  106888. (c[B >> 2] | 0) +
  106889. 16;
  106890. if (
  106891. (c[((c[i >> 2] | 0) + 52) >> 2] | 0) >>> 0 <
  106892. (c[C >> 2] | 0) >>> 0
  106893. ? (xc[c[((c[i >> 2] | 0) + 92 + 4) >> 2] & 31](
  106894. c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
  106895. c[((c[i >> 2] | 0) + 48) >> 2] | 0
  106896. ),
  106897. (c[((c[i >> 2] | 0) + 52) >> 2] = c[C >> 2]),
  106898. (j =
  106899. qc[c[((c[i >> 2] | 0) + 92) >> 2] & 63](
  106900. c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
  106901. c[C >> 2] | 0
  106902. ) | 0),
  106903. (c[((c[i >> 2] | 0) + 48) >> 2] = j),
  106904. (c[((c[i >> 2] | 0) + 48) >> 2] | 0) == 0)
  106905. : 0
  106906. ) {
  106907. O = 25;
  106908. break a;
  106909. }
  106910. c[((c[i >> 2] | 0) + 32) >> 2] = 2;
  106911. O = 27;
  106912. break;
  106913. }
  106914. case 2: {
  106915. O = 27;
  106916. break;
  106917. }
  106918. case 3: {
  106919. O = 39;
  106920. break;
  106921. }
  106922. case 4: {
  106923. O = 48;
  106924. break;
  106925. }
  106926. default: {
  106927. O = 52;
  106928. break a;
  106929. }
  106930. }
  106931. } while (0);
  106932. do {
  106933. if ((O | 0) == 27) {
  106934. O = 0;
  106935. c[D >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
  106936. if (!(c[D >> 2] | 0)) {
  106937. c[((c[i >> 2] | 0) + 32) >> 2] = 0;
  106938. c[u >> 2] = 0;
  106939. break;
  106940. }
  106941. if (
  106942. (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0 <
  106943. (c[D >> 2] | 0) >>> 0
  106944. )
  106945. if ((c[q >> 2] | 0) == (c[p >> 2] | 0)) {
  106946. c[u >> 2] = 0;
  106947. break;
  106948. } else {
  106949. c[((c[i >> 2] | 0) + 32) >> 2] = 3;
  106950. O = 39;
  106951. break;
  106952. }
  106953. c[E >> 2] = my(c[c[i >> 2] >> 2] | 0) | 0;
  106954. if (c[E >> 2] | 0) U = 0;
  106955. else
  106956. U =
  106957. ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
  106958. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  106959. 0;
  106960. c[F >> 2] =
  106961. ly(
  106962. c[c[i >> 2] >> 2] | 0,
  106963. ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
  106964. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  106965. 0,
  106966. U,
  106967. c[q >> 2] | 0,
  106968. c[D >> 2] | 0
  106969. ) | 0;
  106970. if (hr(c[F >> 2] | 0) | 0) {
  106971. O = 33;
  106972. break a;
  106973. }
  106974. c[q >> 2] = (c[q >> 2] | 0) + (c[D >> 2] | 0);
  106975. if (((c[F >> 2] | 0) != 0) | ((c[E >> 2] | 0) != 0)) {
  106976. c[((c[i >> 2] | 0) + 60) >> 2] =
  106977. (c[((c[i >> 2] | 0) + 56) >> 2] | 0) +
  106978. (c[F >> 2] | 0);
  106979. c[((c[i >> 2] | 0) + 32) >> 2] = 4;
  106980. }
  106981. }
  106982. } while (0);
  106983. do {
  106984. if ((O | 0) == 39) {
  106985. O = 0;
  106986. c[G >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
  106987. c[H >> 2] =
  106988. (c[G >> 2] | 0) -
  106989. (c[((c[i >> 2] | 0) + 44) >> 2] | 0);
  106990. if (
  106991. (c[H >> 2] | 0) >>> 0 >
  106992. (((c[((c[i >> 2] | 0) + 40) >> 2] | 0) -
  106993. (c[((c[i >> 2] | 0) + 44) >> 2] | 0)) |
  106994. 0) >>>
  106995. 0
  106996. ) {
  106997. O = 40;
  106998. break a;
  106999. }
  107000. c[I >> 2] =
  107001. ny(
  107002. ((c[((c[i >> 2] | 0) + 36) >> 2] | 0) +
  107003. (c[((c[i >> 2] | 0) + 44) >> 2] | 0)) |
  107004. 0,
  107005. c[H >> 2] | 0,
  107006. c[q >> 2] | 0,
  107007. ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
  107008. ) | 0;
  107009. c[q >> 2] = (c[q >> 2] | 0) + (c[I >> 2] | 0);
  107010. j = ((c[i >> 2] | 0) + 44) | 0;
  107011. c[j >> 2] = (c[j >> 2] | 0) + (c[I >> 2] | 0);
  107012. if ((c[I >> 2] | 0) >>> 0 < (c[H >> 2] | 0) >>> 0) {
  107013. c[u >> 2] = 0;
  107014. break;
  107015. }
  107016. c[J >> 2] = my(c[c[i >> 2] >> 2] | 0) | 0;
  107017. c[K >> 2] =
  107018. ly(
  107019. c[c[i >> 2] >> 2] | 0,
  107020. ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
  107021. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  107022. 0,
  107023. ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
  107024. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  107025. 0,
  107026. c[((c[i >> 2] | 0) + 36) >> 2] | 0,
  107027. c[G >> 2] | 0
  107028. ) | 0;
  107029. if (hr(c[K >> 2] | 0) | 0) {
  107030. O = 44;
  107031. break a;
  107032. }
  107033. c[((c[i >> 2] | 0) + 44) >> 2] = 0;
  107034. j = c[i >> 2] | 0;
  107035. if (((c[K >> 2] | 0) != 0) | ((c[J >> 2] | 0) != 0)) {
  107036. c[((c[i >> 2] | 0) + 60) >> 2] =
  107037. (c[(j + 56) >> 2] | 0) + (c[K >> 2] | 0);
  107038. c[((c[i >> 2] | 0) + 32) >> 2] = 4;
  107039. O = 48;
  107040. break;
  107041. } else {
  107042. c[(j + 32) >> 2] = 2;
  107043. break;
  107044. }
  107045. }
  107046. } while (0);
  107047. do {
  107048. if ((O | 0) == 48) {
  107049. O = 0;
  107050. c[L >> 2] =
  107051. (c[((c[i >> 2] | 0) + 60) >> 2] | 0) -
  107052. (c[((c[i >> 2] | 0) + 56) >> 2] | 0);
  107053. c[M >> 2] =
  107054. ny(
  107055. c[t >> 2] | 0,
  107056. ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
  107057. ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
  107058. (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
  107059. 0,
  107060. c[L >> 2] | 0
  107061. ) | 0;
  107062. c[t >> 2] = (c[t >> 2] | 0) + (c[M >> 2] | 0);
  107063. j = ((c[i >> 2] | 0) + 56) | 0;
  107064. c[j >> 2] = (c[j >> 2] | 0) + (c[M >> 2] | 0);
  107065. if ((c[M >> 2] | 0) != (c[L >> 2] | 0)) {
  107066. c[u >> 2] = 0;
  107067. break;
  107068. }
  107069. c[((c[i >> 2] | 0) + 32) >> 2] = 2;
  107070. if (
  107071. (((c[((c[i >> 2] | 0) + 56) >> 2] | 0) +
  107072. (c[((c[i >> 2] | 0) + 64) >> 2] | 0)) |
  107073. 0) >>>
  107074. 0 >
  107075. (c[((c[i >> 2] | 0) + 52) >> 2] | 0) >>> 0
  107076. ) {
  107077. c[((c[i >> 2] | 0) + 60) >> 2] = 0;
  107078. c[((c[i >> 2] | 0) + 56) >> 2] = 0;
  107079. }
  107080. }
  107081. } while (0);
  107082. }
  107083. switch (O | 0) {
  107084. case 4: {
  107085. c[h >> 2] = -62;
  107086. V = c[h >> 2] | 0;
  107087. l = g;
  107088. return V | 0;
  107089. }
  107090. case 6: {
  107091. c[h >> 2] = P;
  107092. V = c[h >> 2] | 0;
  107093. l = g;
  107094. return V | 0;
  107095. }
  107096. case 9: {
  107097. mE(
  107098. Q | 0,
  107099. R | 0,
  107100. ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
  107101. ) | 0;
  107102. R = ((c[i >> 2] | 0) + 88) | 0;
  107103. c[R >> 2] =
  107104. (c[R >> 2] | 0) + ((c[p >> 2] | 0) - (c[q >> 2] | 0));
  107105. c[c[k >> 2] >> 2] = 0;
  107106. c[h >> 2] =
  107107. (c[v >> 2] | 0) -
  107108. (c[((c[i >> 2] | 0) + 88) >> 2] | 0) +
  107109. 3;
  107110. V = c[h >> 2] | 0;
  107111. l = g;
  107112. return V | 0;
  107113. }
  107114. case 12: {
  107115. c[h >> 2] = c[y >> 2];
  107116. V = c[h >> 2] | 0;
  107117. l = g;
  107118. return V | 0;
  107119. }
  107120. case 15: {
  107121. c[h >> 2] = c[A >> 2];
  107122. V = c[h >> 2] | 0;
  107123. l = g;
  107124. return V | 0;
  107125. }
  107126. case 22: {
  107127. c[h >> 2] = -64;
  107128. V = c[h >> 2] | 0;
  107129. l = g;
  107130. return V | 0;
  107131. }
  107132. case 25: {
  107133. c[h >> 2] = -64;
  107134. V = c[h >> 2] | 0;
  107135. l = g;
  107136. return V | 0;
  107137. }
  107138. case 33: {
  107139. c[h >> 2] = c[F >> 2];
  107140. V = c[h >> 2] | 0;
  107141. l = g;
  107142. return V | 0;
  107143. }
  107144. case 40: {
  107145. c[h >> 2] = -20;
  107146. V = c[h >> 2] | 0;
  107147. l = g;
  107148. return V | 0;
  107149. }
  107150. case 44: {
  107151. c[h >> 2] = c[K >> 2];
  107152. V = c[h >> 2] | 0;
  107153. l = g;
  107154. return V | 0;
  107155. }
  107156. case 52: {
  107157. c[h >> 2] = -1;
  107158. V = c[h >> 2] | 0;
  107159. l = g;
  107160. return V | 0;
  107161. }
  107162. case 54: {
  107163. c[c[n >> 2] >> 2] = (c[q >> 2] | 0) - (c[o >> 2] | 0);
  107164. c[c[k >> 2] >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
  107165. c[N >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
  107166. c[N >> 2] =
  107167. (c[N >> 2] | 0) - (c[((c[i >> 2] | 0) + 44) >> 2] | 0);
  107168. c[h >> 2] = c[N >> 2];
  107169. V = c[h >> 2] | 0;
  107170. l = g;
  107171. return V | 0;
  107172. }
  107173. }
  107174. return 0;
  107175. }
  107176. function ky(a) {
  107177. a = a | 0;
  107178. var b = 0,
  107179. d = 0;
  107180. b = l;
  107181. l = (l + 16) | 0;
  107182. d = b;
  107183. c[d >> 2] = a;
  107184. l = b;
  107185. return c[((c[d >> 2] | 0) + 21536) >> 2] | 0;
  107186. }
  107187. function ly(b, e, f, g, h) {
  107188. b = b | 0;
  107189. e = e | 0;
  107190. f = f | 0;
  107191. g = g | 0;
  107192. h = h | 0;
  107193. var i = 0,
  107194. j = 0,
  107195. k = 0,
  107196. m = 0,
  107197. n = 0,
  107198. o = 0,
  107199. p = 0,
  107200. q = 0,
  107201. r = 0,
  107202. s = 0,
  107203. t = 0,
  107204. u = 0,
  107205. v = 0,
  107206. w = 0,
  107207. x = 0,
  107208. z = 0;
  107209. i = l;
  107210. l = (l + 80) | 0;
  107211. j = (i + 64) | 0;
  107212. k = (i + 60) | 0;
  107213. m = (i + 56) | 0;
  107214. n = (i + 52) | 0;
  107215. o = (i + 48) | 0;
  107216. p = (i + 44) | 0;
  107217. q = (i + 40) | 0;
  107218. r = (i + 32) | 0;
  107219. s = (i + 24) | 0;
  107220. t = i;
  107221. u = (i + 20) | 0;
  107222. v = (i + 16) | 0;
  107223. w = (i + 12) | 0;
  107224. x = (i + 8) | 0;
  107225. c[k >> 2] = b;
  107226. c[m >> 2] = e;
  107227. c[n >> 2] = f;
  107228. c[o >> 2] = g;
  107229. c[p >> 2] = h;
  107230. if (
  107231. (c[p >> 2] | 0) !=
  107232. (c[((c[k >> 2] | 0) + 21536) >> 2] | 0)
  107233. ) {
  107234. c[j >> 2] = -72;
  107235. z = c[j >> 2] | 0;
  107236. l = i;
  107237. return z | 0;
  107238. }
  107239. if (c[n >> 2] | 0) us(c[k >> 2] | 0, c[m >> 2] | 0);
  107240. a: do {
  107241. switch (c[((c[k >> 2] | 0) + 21580) >> 2] | 0) {
  107242. case 0: {
  107243. if ((c[p >> 2] | 0) != 5) {
  107244. c[j >> 2] = -72;
  107245. z = c[j >> 2] | 0;
  107246. l = i;
  107247. return z | 0;
  107248. }
  107249. if (
  107250. (((Bq(c[o >> 2] | 0) | 0) & -16) | 0) ==
  107251. 407710288
  107252. ) {
  107253. h = ((c[k >> 2] | 0) + 152788) | 0;
  107254. g = c[o >> 2] | 0;
  107255. a[h >> 0] = a[g >> 0] | 0;
  107256. a[(h + 1) >> 0] = a[(g + 1) >> 0] | 0;
  107257. a[(h + 2) >> 0] = a[(g + 2) >> 0] | 0;
  107258. a[(h + 3) >> 0] = a[(g + 3) >> 0] | 0;
  107259. a[(h + 4) >> 0] = a[(g + 4) >> 0] | 0;
  107260. c[((c[k >> 2] | 0) + 21536) >> 2] = 3;
  107261. c[((c[k >> 2] | 0) + 21580) >> 2] = 4;
  107262. c[j >> 2] = 0;
  107263. z = c[j >> 2] | 0;
  107264. l = i;
  107265. return z | 0;
  107266. }
  107267. g = Cq(c[o >> 2] | 0, 5) | 0;
  107268. c[((c[k >> 2] | 0) + 21680) >> 2] = g;
  107269. g =
  107270. (hr(c[((c[k >> 2] | 0) + 21680) >> 2] | 0) | 0) != 0;
  107271. h = c[k >> 2] | 0;
  107272. if (g) {
  107273. c[j >> 2] = c[(h + 21680) >> 2];
  107274. z = c[j >> 2] | 0;
  107275. l = i;
  107276. return z | 0;
  107277. }
  107278. g = (h + 152788) | 0;
  107279. h = c[o >> 2] | 0;
  107280. a[g >> 0] = a[h >> 0] | 0;
  107281. a[(g + 1) >> 0] = a[(h + 1) >> 0] | 0;
  107282. a[(g + 2) >> 0] = a[(h + 2) >> 0] | 0;
  107283. a[(g + 3) >> 0] = a[(h + 3) >> 0] | 0;
  107284. a[(g + 4) >> 0] = a[(h + 4) >> 0] | 0;
  107285. h = c[k >> 2] | 0;
  107286. if (
  107287. (c[((c[k >> 2] | 0) + 21680) >> 2] | 0) >>> 0 <=
  107288. 5
  107289. ) {
  107290. c[(h + 21536) >> 2] = 0;
  107291. break a;
  107292. }
  107293. c[((c[k >> 2] | 0) + 21536) >> 2] =
  107294. (c[(h + 21680) >> 2] | 0) - 5;
  107295. c[((c[k >> 2] | 0) + 21580) >> 2] = 1;
  107296. c[j >> 2] = 0;
  107297. z = c[j >> 2] | 0;
  107298. l = i;
  107299. return z | 0;
  107300. }
  107301. case 1:
  107302. break;
  107303. case 2: {
  107304. c[s >> 2] = ir(c[o >> 2] | 0, 3, r) | 0;
  107305. if (hr(c[s >> 2] | 0) | 0) {
  107306. c[j >> 2] = c[s >> 2];
  107307. z = c[j >> 2] | 0;
  107308. l = i;
  107309. return z | 0;
  107310. }
  107311. if ((c[r >> 2] | 0) == 3) {
  107312. if (
  107313. c[((c[k >> 2] | 0) + 21552 + 16) >> 2] | 0
  107314. ? ((h = Oh(((c[k >> 2] | 0) + 21592) | 0) | 0),
  107315. (g = t),
  107316. (c[g >> 2] = h),
  107317. (c[(g + 4) >> 2] = y),
  107318. (g = t),
  107319. (h =
  107320. iE(c[g >> 2] | 0, c[(g + 4) >> 2] | 0, 11) |
  107321. 0),
  107322. (c[u >> 2] = h & 4194303),
  107323. (c[v >> 2] = c[o >> 2]),
  107324. (c[w >> 2] =
  107325. (d[((c[v >> 2] | 0) + 2) >> 0] | 0) +
  107326. ((d[((c[v >> 2] | 0) + 1) >> 0] | 0) << 8) +
  107327. (((d[c[v >> 2] >> 0] | 0) & 63) << 16)),
  107328. (c[w >> 2] | 0) != (c[u >> 2] | 0))
  107329. : 0
  107330. ) {
  107331. c[j >> 2] = -22;
  107332. z = c[j >> 2] | 0;
  107333. l = i;
  107334. return z | 0;
  107335. }
  107336. c[((c[k >> 2] | 0) + 21536) >> 2] = 0;
  107337. c[((c[k >> 2] | 0) + 21580) >> 2] = 0;
  107338. } else {
  107339. c[((c[k >> 2] | 0) + 21536) >> 2] = c[s >> 2];
  107340. c[((c[k >> 2] | 0) + 21576) >> 2] = c[r >> 2];
  107341. c[((c[k >> 2] | 0) + 21580) >> 2] = 3;
  107342. }
  107343. c[j >> 2] = 0;
  107344. z = c[j >> 2] | 0;
  107345. l = i;
  107346. return z | 0;
  107347. }
  107348. case 3: {
  107349. switch (c[((c[k >> 2] | 0) + 21576) >> 2] | 0) {
  107350. case 0: {
  107351. c[x >> 2] =
  107352. xs(
  107353. c[k >> 2] | 0,
  107354. c[m >> 2] | 0,
  107355. c[n >> 2] | 0,
  107356. c[o >> 2] | 0,
  107357. c[p >> 2] | 0
  107358. ) | 0;
  107359. break;
  107360. }
  107361. case 1: {
  107362. c[x >> 2] =
  107363. ys(
  107364. c[m >> 2] | 0,
  107365. c[n >> 2] | 0,
  107366. c[o >> 2] | 0,
  107367. c[p >> 2] | 0
  107368. ) | 0;
  107369. break;
  107370. }
  107371. case 2: {
  107372. c[j >> 2] = -1;
  107373. z = c[j >> 2] | 0;
  107374. l = i;
  107375. return z | 0;
  107376. }
  107377. case 3: {
  107378. c[x >> 2] = 0;
  107379. break;
  107380. }
  107381. default: {
  107382. c[j >> 2] = -1;
  107383. z = c[j >> 2] | 0;
  107384. l = i;
  107385. return z | 0;
  107386. }
  107387. }
  107388. c[((c[k >> 2] | 0) + 21580) >> 2] = 2;
  107389. c[((c[k >> 2] | 0) + 21536) >> 2] = 3;
  107390. c[((c[k >> 2] | 0) + 21520) >> 2] =
  107391. (c[m >> 2] | 0) + (c[x >> 2] | 0);
  107392. if (hr(c[x >> 2] | 0) | 0) {
  107393. c[j >> 2] = c[x >> 2];
  107394. z = c[j >> 2] | 0;
  107395. l = i;
  107396. return z | 0;
  107397. }
  107398. if (c[((c[k >> 2] | 0) + 21552 + 16) >> 2] | 0)
  107399. Nh(
  107400. ((c[k >> 2] | 0) + 21592) | 0,
  107401. c[m >> 2] | 0,
  107402. c[x >> 2] | 0
  107403. ) | 0;
  107404. c[j >> 2] = c[x >> 2];
  107405. z = c[j >> 2] | 0;
  107406. l = i;
  107407. return z | 0;
  107408. }
  107409. case 4: {
  107410. mE(
  107411. ((c[k >> 2] | 0) + 152788 + 5) | 0,
  107412. c[o >> 2] | 0,
  107413. c[((c[k >> 2] | 0) + 21536) >> 2] | 0
  107414. ) | 0;
  107415. h = Bq(((c[k >> 2] | 0) + 152788 + 4) | 0) | 0;
  107416. c[((c[k >> 2] | 0) + 21536) >> 2] = h;
  107417. c[((c[k >> 2] | 0) + 21580) >> 2] = 5;
  107418. c[j >> 2] = 0;
  107419. z = c[j >> 2] | 0;
  107420. l = i;
  107421. return z | 0;
  107422. }
  107423. case 5: {
  107424. c[((c[k >> 2] | 0) + 21536) >> 2] = 0;
  107425. c[((c[k >> 2] | 0) + 21580) >> 2] = 0;
  107426. c[j >> 2] = 0;
  107427. z = c[j >> 2] | 0;
  107428. l = i;
  107429. return z | 0;
  107430. }
  107431. default: {
  107432. c[j >> 2] = -1;
  107433. z = c[j >> 2] | 0;
  107434. l = i;
  107435. return z | 0;
  107436. }
  107437. }
  107438. } while (0);
  107439. mE(
  107440. ((c[k >> 2] | 0) + 152788 + 5) | 0,
  107441. c[o >> 2] | 0,
  107442. c[((c[k >> 2] | 0) + 21536) >> 2] | 0
  107443. ) | 0;
  107444. c[q >> 2] =
  107445. ws(
  107446. c[k >> 2] | 0,
  107447. ((c[k >> 2] | 0) + 152788) | 0,
  107448. c[((c[k >> 2] | 0) + 21680) >> 2] | 0
  107449. ) | 0;
  107450. if (hr(c[q >> 2] | 0) | 0) {
  107451. c[j >> 2] = c[q >> 2];
  107452. z = c[j >> 2] | 0;
  107453. l = i;
  107454. return z | 0;
  107455. } else {
  107456. c[((c[k >> 2] | 0) + 21536) >> 2] = 3;
  107457. c[((c[k >> 2] | 0) + 21580) >> 2] = 2;
  107458. c[j >> 2] = 0;
  107459. z = c[j >> 2] | 0;
  107460. l = i;
  107461. return z | 0;
  107462. }
  107463. return 0;
  107464. }
  107465. function my(a) {
  107466. a = a | 0;
  107467. var b = 0,
  107468. d = 0;
  107469. b = l;
  107470. l = (l + 16) | 0;
  107471. d = b;
  107472. c[d >> 2] = a;
  107473. l = b;
  107474. return ((c[((c[d >> 2] | 0) + 21580) >> 2] | 0) == 5) | 0;
  107475. }
  107476. function ny(a, b, d, e) {
  107477. a = a | 0;
  107478. b = b | 0;
  107479. d = d | 0;
  107480. e = e | 0;
  107481. var f = 0,
  107482. g = 0,
  107483. h = 0,
  107484. i = 0,
  107485. j = 0,
  107486. k = 0;
  107487. f = l;
  107488. l = (l + 32) | 0;
  107489. g = (f + 16) | 0;
  107490. h = (f + 12) | 0;
  107491. i = (f + 8) | 0;
  107492. j = (f + 4) | 0;
  107493. k = f;
  107494. c[g >> 2] = a;
  107495. c[h >> 2] = b;
  107496. c[i >> 2] = d;
  107497. c[j >> 2] = e;
  107498. c[k >> 2] =
  107499. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  107500. ? c[h >> 2] | 0
  107501. : c[j >> 2] | 0;
  107502. mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  107503. l = f;
  107504. return c[k >> 2] | 0;
  107505. }
  107506. function oy(a) {
  107507. a = a | 0;
  107508. var b = 0,
  107509. d = 0;
  107510. b = l;
  107511. l = (l + 16) | 0;
  107512. d = b;
  107513. c[d >> 2] = a;
  107514. l = b;
  107515. return c[((c[d >> 2] | 0) + 21536) >> 2] | 0;
  107516. }
  107517. function py(b, d, e, f, g) {
  107518. b = b | 0;
  107519. d = d | 0;
  107520. e = e | 0;
  107521. f = f | 0;
  107522. g = g | 0;
  107523. var h = 0,
  107524. i = 0,
  107525. j = 0,
  107526. k = 0,
  107527. m = 0,
  107528. n = 0,
  107529. o = 0,
  107530. p = 0,
  107531. q = 0,
  107532. r = 0,
  107533. s = 0,
  107534. t = 0;
  107535. h = l;
  107536. l = (l + 48) | 0;
  107537. i = (h + 40) | 0;
  107538. j = (h + 36) | 0;
  107539. k = (h + 32) | 0;
  107540. m = (h + 28) | 0;
  107541. n = (h + 24) | 0;
  107542. o = (h + 20) | 0;
  107543. p = (h + 16) | 0;
  107544. q = (h + 8) | 0;
  107545. r = (h + 4) | 0;
  107546. s = h;
  107547. c[j >> 2] = b;
  107548. c[k >> 2] = d;
  107549. c[m >> 2] = e;
  107550. c[n >> 2] = f;
  107551. c[o >> 2] = g;
  107552. if (
  107553. (c[o >> 2] | 0) !=
  107554. (c[((c[j >> 2] | 0) + 21536) >> 2] | 0)
  107555. ) {
  107556. c[i >> 2] = -72;
  107557. t = c[i >> 2] | 0;
  107558. l = h;
  107559. return t | 0;
  107560. }
  107561. if (c[m >> 2] | 0) Kt(c[j >> 2] | 0, c[k >> 2] | 0);
  107562. a: do {
  107563. switch (c[((c[j >> 2] | 0) + 21564) >> 2] | 0) {
  107564. case 0: {
  107565. if ((c[o >> 2] | 0) != 5) {
  107566. c[i >> 2] = -72;
  107567. t = c[i >> 2] | 0;
  107568. l = h;
  107569. return t | 0;
  107570. }
  107571. g = Nq(c[n >> 2] | 0, 5) | 0;
  107572. c[((c[j >> 2] | 0) + 21540) >> 2] = g;
  107573. g =
  107574. (jr(c[((c[j >> 2] | 0) + 21540) >> 2] | 0) | 0) != 0;
  107575. f = c[j >> 2] | 0;
  107576. if (g) {
  107577. c[i >> 2] = c[(f + 21540) >> 2];
  107578. t = c[i >> 2] | 0;
  107579. l = h;
  107580. return t | 0;
  107581. }
  107582. g = (f + 152660) | 0;
  107583. f = c[n >> 2] | 0;
  107584. a[g >> 0] = a[f >> 0] | 0;
  107585. a[(g + 1) >> 0] = a[(f + 1) >> 0] | 0;
  107586. a[(g + 2) >> 0] = a[(f + 2) >> 0] | 0;
  107587. a[(g + 3) >> 0] = a[(f + 3) >> 0] | 0;
  107588. a[(g + 4) >> 0] = a[(f + 4) >> 0] | 0;
  107589. f = c[j >> 2] | 0;
  107590. if (
  107591. (c[((c[j >> 2] | 0) + 21540) >> 2] | 0) >>> 0 <=
  107592. 5
  107593. ) {
  107594. c[(f + 21536) >> 2] = 0;
  107595. break a;
  107596. }
  107597. c[((c[j >> 2] | 0) + 21536) >> 2] =
  107598. (c[(f + 21540) >> 2] | 0) - 5;
  107599. c[((c[j >> 2] | 0) + 21564) >> 2] = 1;
  107600. c[i >> 2] = 0;
  107601. t = c[i >> 2] | 0;
  107602. l = h;
  107603. return t | 0;
  107604. }
  107605. case 1:
  107606. break;
  107607. case 2: {
  107608. c[r >> 2] = kr(c[n >> 2] | 0, 3, q) | 0;
  107609. if (jr(c[r >> 2] | 0) | 0) {
  107610. c[i >> 2] = c[r >> 2];
  107611. t = c[i >> 2] | 0;
  107612. l = h;
  107613. return t | 0;
  107614. }
  107615. if ((c[q >> 2] | 0) == 3) {
  107616. c[((c[j >> 2] | 0) + 21536) >> 2] = 0;
  107617. c[((c[j >> 2] | 0) + 21564) >> 2] = 0;
  107618. } else {
  107619. c[((c[j >> 2] | 0) + 21536) >> 2] = c[r >> 2];
  107620. c[((c[j >> 2] | 0) + 21560) >> 2] = c[q >> 2];
  107621. c[((c[j >> 2] | 0) + 21564) >> 2] = 3;
  107622. }
  107623. c[i >> 2] = 0;
  107624. t = c[i >> 2] | 0;
  107625. l = h;
  107626. return t | 0;
  107627. }
  107628. case 3: {
  107629. switch (c[((c[j >> 2] | 0) + 21560) >> 2] | 0) {
  107630. case 0: {
  107631. c[s >> 2] =
  107632. Nt(
  107633. c[j >> 2] | 0,
  107634. c[k >> 2] | 0,
  107635. c[m >> 2] | 0,
  107636. c[n >> 2] | 0,
  107637. c[o >> 2] | 0
  107638. ) | 0;
  107639. break;
  107640. }
  107641. case 1: {
  107642. c[s >> 2] =
  107643. Ot(
  107644. c[k >> 2] | 0,
  107645. c[m >> 2] | 0,
  107646. c[n >> 2] | 0,
  107647. c[o >> 2] | 0
  107648. ) | 0;
  107649. break;
  107650. }
  107651. case 2: {
  107652. c[i >> 2] = -1;
  107653. t = c[i >> 2] | 0;
  107654. l = h;
  107655. return t | 0;
  107656. }
  107657. case 3: {
  107658. c[s >> 2] = 0;
  107659. break;
  107660. }
  107661. default: {
  107662. c[i >> 2] = -1;
  107663. t = c[i >> 2] | 0;
  107664. l = h;
  107665. return t | 0;
  107666. }
  107667. }
  107668. c[((c[j >> 2] | 0) + 21564) >> 2] = 2;
  107669. c[((c[j >> 2] | 0) + 21536) >> 2] = 3;
  107670. c[((c[j >> 2] | 0) + 21520) >> 2] =
  107671. (c[k >> 2] | 0) + (c[s >> 2] | 0);
  107672. c[i >> 2] = c[s >> 2];
  107673. t = c[i >> 2] | 0;
  107674. l = h;
  107675. return t | 0;
  107676. }
  107677. default: {
  107678. c[i >> 2] = -1;
  107679. t = c[i >> 2] | 0;
  107680. l = h;
  107681. return t | 0;
  107682. }
  107683. }
  107684. } while (0);
  107685. mE(
  107686. ((c[j >> 2] | 0) + 152660 + 5) | 0,
  107687. c[n >> 2] | 0,
  107688. c[((c[j >> 2] | 0) + 21536) >> 2] | 0
  107689. ) | 0;
  107690. c[p >> 2] =
  107691. Mt(
  107692. c[j >> 2] | 0,
  107693. ((c[j >> 2] | 0) + 152660) | 0,
  107694. c[((c[j >> 2] | 0) + 21540) >> 2] | 0
  107695. ) | 0;
  107696. if (jr(c[p >> 2] | 0) | 0) {
  107697. c[i >> 2] = c[p >> 2];
  107698. t = c[i >> 2] | 0;
  107699. l = h;
  107700. return t | 0;
  107701. } else {
  107702. c[((c[j >> 2] | 0) + 21536) >> 2] = 3;
  107703. c[((c[j >> 2] | 0) + 21564) >> 2] = 2;
  107704. c[i >> 2] = 0;
  107705. t = c[i >> 2] | 0;
  107706. l = h;
  107707. return t | 0;
  107708. }
  107709. return 0;
  107710. }
  107711. function qy(a, b, d, e) {
  107712. a = a | 0;
  107713. b = b | 0;
  107714. d = d | 0;
  107715. e = e | 0;
  107716. var f = 0,
  107717. g = 0,
  107718. h = 0,
  107719. i = 0,
  107720. j = 0,
  107721. k = 0;
  107722. f = l;
  107723. l = (l + 32) | 0;
  107724. g = (f + 16) | 0;
  107725. h = (f + 12) | 0;
  107726. i = (f + 8) | 0;
  107727. j = (f + 4) | 0;
  107728. k = f;
  107729. c[g >> 2] = a;
  107730. c[h >> 2] = b;
  107731. c[i >> 2] = d;
  107732. c[j >> 2] = e;
  107733. c[k >> 2] =
  107734. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  107735. ? c[h >> 2] | 0
  107736. : c[j >> 2] | 0;
  107737. mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  107738. l = f;
  107739. return c[k >> 2] | 0;
  107740. }
  107741. function ry(a, b, d, e) {
  107742. a = a | 0;
  107743. b = b | 0;
  107744. d = d | 0;
  107745. e = e | 0;
  107746. var f = 0,
  107747. g = 0,
  107748. h = 0,
  107749. i = 0,
  107750. j = 0,
  107751. k = 0;
  107752. f = l;
  107753. l = (l + 32) | 0;
  107754. g = (f + 16) | 0;
  107755. h = (f + 12) | 0;
  107756. i = (f + 8) | 0;
  107757. j = (f + 4) | 0;
  107758. k = f;
  107759. c[g >> 2] = a;
  107760. c[h >> 2] = b;
  107761. c[i >> 2] = d;
  107762. c[j >> 2] = e;
  107763. c[k >> 2] =
  107764. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  107765. ? c[h >> 2] | 0
  107766. : c[j >> 2] | 0;
  107767. mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  107768. l = f;
  107769. return c[k >> 2] | 0;
  107770. }
  107771. function sy(a) {
  107772. a = a | 0;
  107773. var b = 0,
  107774. d = 0;
  107775. b = l;
  107776. l = (l + 16) | 0;
  107777. d = b;
  107778. c[d >> 2] = a;
  107779. l = b;
  107780. return c[((c[d >> 2] | 0) + 26656) >> 2] | 0;
  107781. }
  107782. function ty(b, d, e, f, g) {
  107783. b = b | 0;
  107784. d = d | 0;
  107785. e = e | 0;
  107786. f = f | 0;
  107787. g = g | 0;
  107788. var h = 0,
  107789. i = 0,
  107790. j = 0,
  107791. k = 0,
  107792. m = 0,
  107793. n = 0,
  107794. o = 0,
  107795. p = 0,
  107796. q = 0,
  107797. r = 0,
  107798. s = 0,
  107799. t = 0;
  107800. h = l;
  107801. l = (l + 48) | 0;
  107802. i = (h + 40) | 0;
  107803. j = (h + 36) | 0;
  107804. k = (h + 32) | 0;
  107805. m = (h + 28) | 0;
  107806. n = (h + 24) | 0;
  107807. o = (h + 20) | 0;
  107808. p = (h + 16) | 0;
  107809. q = (h + 8) | 0;
  107810. r = (h + 4) | 0;
  107811. s = h;
  107812. c[j >> 2] = b;
  107813. c[k >> 2] = d;
  107814. c[m >> 2] = e;
  107815. c[n >> 2] = f;
  107816. c[o >> 2] = g;
  107817. if (
  107818. (c[o >> 2] | 0) !=
  107819. (c[((c[j >> 2] | 0) + 26656) >> 2] | 0)
  107820. ) {
  107821. c[i >> 2] = -72;
  107822. t = c[i >> 2] | 0;
  107823. l = h;
  107824. return t | 0;
  107825. }
  107826. Tu(c[j >> 2] | 0, c[k >> 2] | 0);
  107827. a: do {
  107828. switch (c[((c[j >> 2] | 0) + 26708) >> 2] | 0) {
  107829. case 0: {
  107830. if ((c[o >> 2] | 0) != 5) {
  107831. c[i >> 2] = -72;
  107832. t = c[i >> 2] | 0;
  107833. l = h;
  107834. return t | 0;
  107835. }
  107836. g = Vu(c[j >> 2] | 0, c[n >> 2] | 0, 5) | 0;
  107837. c[((c[j >> 2] | 0) + 26660) >> 2] = g;
  107838. g =
  107839. (mr(c[((c[j >> 2] | 0) + 26660) >> 2] | 0) | 0) != 0;
  107840. f = c[j >> 2] | 0;
  107841. if (g) {
  107842. c[i >> 2] = c[(f + 26660) >> 2];
  107843. t = c[i >> 2] | 0;
  107844. l = h;
  107845. return t | 0;
  107846. }
  107847. g = (f + 157804) | 0;
  107848. f = c[n >> 2] | 0;
  107849. a[g >> 0] = a[f >> 0] | 0;
  107850. a[(g + 1) >> 0] = a[(f + 1) >> 0] | 0;
  107851. a[(g + 2) >> 0] = a[(f + 2) >> 0] | 0;
  107852. a[(g + 3) >> 0] = a[(f + 3) >> 0] | 0;
  107853. a[(g + 4) >> 0] = a[(f + 4) >> 0] | 0;
  107854. if (
  107855. (c[((c[j >> 2] | 0) + 26660) >> 2] | 0) >>> 0 <=
  107856. 5
  107857. ) {
  107858. c[((c[j >> 2] | 0) + 26656) >> 2] = 0;
  107859. break a;
  107860. }
  107861. c[i >> 2] = -1;
  107862. t = c[i >> 2] | 0;
  107863. l = h;
  107864. return t | 0;
  107865. }
  107866. case 1:
  107867. break;
  107868. case 2: {
  107869. c[r >> 2] = lr(c[n >> 2] | 0, 3, q) | 0;
  107870. if (mr(c[r >> 2] | 0) | 0) {
  107871. c[i >> 2] = c[r >> 2];
  107872. t = c[i >> 2] | 0;
  107873. l = h;
  107874. return t | 0;
  107875. }
  107876. if ((c[q >> 2] | 0) == 3) {
  107877. c[((c[j >> 2] | 0) + 26656) >> 2] = 0;
  107878. c[((c[j >> 2] | 0) + 26708) >> 2] = 0;
  107879. } else {
  107880. c[((c[j >> 2] | 0) + 26656) >> 2] = c[r >> 2];
  107881. c[((c[j >> 2] | 0) + 26704) >> 2] = c[q >> 2];
  107882. c[((c[j >> 2] | 0) + 26708) >> 2] = 3;
  107883. }
  107884. c[i >> 2] = 0;
  107885. t = c[i >> 2] | 0;
  107886. l = h;
  107887. return t | 0;
  107888. }
  107889. case 3: {
  107890. switch (c[((c[j >> 2] | 0) + 26704) >> 2] | 0) {
  107891. case 0: {
  107892. c[s >> 2] =
  107893. Xu(
  107894. c[j >> 2] | 0,
  107895. c[k >> 2] | 0,
  107896. c[m >> 2] | 0,
  107897. c[n >> 2] | 0,
  107898. c[o >> 2] | 0
  107899. ) | 0;
  107900. break;
  107901. }
  107902. case 1: {
  107903. c[s >> 2] =
  107904. Yu(
  107905. c[k >> 2] | 0,
  107906. c[m >> 2] | 0,
  107907. c[n >> 2] | 0,
  107908. c[o >> 2] | 0
  107909. ) | 0;
  107910. break;
  107911. }
  107912. case 2: {
  107913. c[i >> 2] = -1;
  107914. t = c[i >> 2] | 0;
  107915. l = h;
  107916. return t | 0;
  107917. }
  107918. case 3: {
  107919. c[s >> 2] = 0;
  107920. break;
  107921. }
  107922. default: {
  107923. c[i >> 2] = -1;
  107924. t = c[i >> 2] | 0;
  107925. l = h;
  107926. return t | 0;
  107927. }
  107928. }
  107929. c[((c[j >> 2] | 0) + 26708) >> 2] = 2;
  107930. c[((c[j >> 2] | 0) + 26656) >> 2] = 3;
  107931. c[((c[j >> 2] | 0) + 26640) >> 2] =
  107932. (c[k >> 2] | 0) + (c[s >> 2] | 0);
  107933. c[i >> 2] = c[s >> 2];
  107934. t = c[i >> 2] | 0;
  107935. l = h;
  107936. return t | 0;
  107937. }
  107938. default: {
  107939. c[i >> 2] = -1;
  107940. t = c[i >> 2] | 0;
  107941. l = h;
  107942. return t | 0;
  107943. }
  107944. }
  107945. } while (0);
  107946. c[p >> 2] =
  107947. Wu(
  107948. c[j >> 2] | 0,
  107949. ((c[j >> 2] | 0) + 157804) | 0,
  107950. c[((c[j >> 2] | 0) + 26660) >> 2] | 0
  107951. ) | 0;
  107952. if (mr(c[p >> 2] | 0) | 0) {
  107953. c[i >> 2] = c[p >> 2];
  107954. t = c[i >> 2] | 0;
  107955. l = h;
  107956. return t | 0;
  107957. } else {
  107958. c[((c[j >> 2] | 0) + 26656) >> 2] = 3;
  107959. c[((c[j >> 2] | 0) + 26708) >> 2] = 2;
  107960. c[i >> 2] = 0;
  107961. t = c[i >> 2] | 0;
  107962. l = h;
  107963. return t | 0;
  107964. }
  107965. return 0;
  107966. }
  107967. function uy(a, b, d, e, f) {
  107968. a = a | 0;
  107969. b = b | 0;
  107970. d = d | 0;
  107971. e = e | 0;
  107972. f = f | 0;
  107973. var g = 0,
  107974. h = 0,
  107975. i = 0,
  107976. j = 0,
  107977. k = 0,
  107978. m = 0,
  107979. n = 0,
  107980. o = 0,
  107981. p = 0,
  107982. q = 0,
  107983. r = 0,
  107984. s = 0,
  107985. t = 0,
  107986. u = 0,
  107987. v = 0,
  107988. w = 0,
  107989. x = 0,
  107990. y = 0,
  107991. z = 0,
  107992. A = 0,
  107993. B = 0,
  107994. C = 0,
  107995. D = 0,
  107996. E = 0,
  107997. F = 0,
  107998. G = 0,
  107999. H = 0,
  108000. I = 0,
  108001. J = 0,
  108002. K = 0,
  108003. L = 0,
  108004. M = 0;
  108005. g = l;
  108006. l = (l + 112) | 0;
  108007. h = (g + 100) | 0;
  108008. i = (g + 96) | 0;
  108009. j = (g + 92) | 0;
  108010. k = (g + 88) | 0;
  108011. m = (g + 84) | 0;
  108012. n = (g + 80) | 0;
  108013. o = (g + 76) | 0;
  108014. p = (g + 72) | 0;
  108015. q = (g + 68) | 0;
  108016. r = (g + 64) | 0;
  108017. s = (g + 60) | 0;
  108018. t = (g + 56) | 0;
  108019. u = (g + 52) | 0;
  108020. v = (g + 48) | 0;
  108021. w = (g + 44) | 0;
  108022. x = (g + 40) | 0;
  108023. y = (g + 36) | 0;
  108024. z = (g + 32) | 0;
  108025. A = (g + 28) | 0;
  108026. B = (g + 24) | 0;
  108027. C = (g + 20) | 0;
  108028. D = (g + 16) | 0;
  108029. E = (g + 12) | 0;
  108030. F = (g + 8) | 0;
  108031. G = (g + 4) | 0;
  108032. H = g;
  108033. c[i >> 2] = a;
  108034. c[j >> 2] = b;
  108035. c[k >> 2] = d;
  108036. c[m >> 2] = e;
  108037. c[n >> 2] = f;
  108038. c[o >> 2] = c[m >> 2];
  108039. c[p >> 2] = c[o >> 2];
  108040. c[q >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
  108041. c[r >> 2] = c[j >> 2];
  108042. c[s >> 2] = c[r >> 2];
  108043. c[t >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
  108044. c[u >> 2] = 1;
  108045. a: while (1) {
  108046. if (!(c[u >> 2] | 0)) {
  108047. I = 50;
  108048. break;
  108049. }
  108050. switch (c[((c[i >> 2] | 0) + 80) >> 2] | 0) {
  108051. case 0: {
  108052. I = 4;
  108053. break a;
  108054. break;
  108055. }
  108056. case 1: {
  108057. c[v >> 2] =
  108058. sx(
  108059. ((c[i >> 2] | 0) + 8) | 0,
  108060. c[m >> 2] | 0,
  108061. c[c[n >> 2] >> 2] | 0
  108062. ) | 0;
  108063. j = (rr(c[v >> 2] | 0) | 0) != 0;
  108064. J = c[v >> 2] | 0;
  108065. if (j) {
  108066. I = 6;
  108067. break a;
  108068. }
  108069. K = c[i >> 2] | 0;
  108070. if (J | 0) {
  108071. I = 8;
  108072. break a;
  108073. }
  108074. c[(K + 80) >> 2] = 3;
  108075. break;
  108076. }
  108077. case 2: {
  108078. c[w >> 2] =
  108079. vy(
  108080. ((c[i >> 2] | 0) +
  108081. 84 +
  108082. (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
  108083. 0,
  108084. (5 - (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) | 0,
  108085. c[m >> 2] | 0,
  108086. c[c[n >> 2] >> 2] | 0
  108087. ) | 0;
  108088. j = ((c[i >> 2] | 0) + 68) | 0;
  108089. c[j >> 2] = (c[j >> 2] | 0) + (c[w >> 2] | 0);
  108090. c[p >> 2] = (c[p >> 2] | 0) + (c[w >> 2] | 0);
  108091. c[w >> 2] =
  108092. sx(
  108093. ((c[i >> 2] | 0) + 8) | 0,
  108094. ((c[i >> 2] | 0) + 84) | 0,
  108095. c[((c[i >> 2] | 0) + 68) >> 2] | 0
  108096. ) | 0;
  108097. j = (rr(c[w >> 2] | 0) | 0) != 0;
  108098. L = c[w >> 2] | 0;
  108099. if (j) {
  108100. I = 11;
  108101. break a;
  108102. }
  108103. if (L | 0) {
  108104. I = 13;
  108105. break a;
  108106. } else I = 14;
  108107. break;
  108108. }
  108109. case 3: {
  108110. I = 14;
  108111. break;
  108112. }
  108113. case 4: {
  108114. I = 25;
  108115. break;
  108116. }
  108117. case 5: {
  108118. I = 35;
  108119. break;
  108120. }
  108121. case 6: {
  108122. I = 44;
  108123. break;
  108124. }
  108125. default: {
  108126. I = 48;
  108127. break a;
  108128. }
  108129. }
  108130. do {
  108131. if ((I | 0) == 14) {
  108132. I = 0;
  108133. c[x >> 2] = 1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2];
  108134. c[y >> 2] = 131072;
  108135. if (
  108136. (c[((c[i >> 2] | 0) + 44) >> 2] | 0) >>> 0 < 131072
  108137. ? (Dy(c[((c[i >> 2] | 0) + 40) >> 2] | 0),
  108138. (c[((c[i >> 2] | 0) + 44) >> 2] = 131072),
  108139. (j = Cy(131072) | 0),
  108140. (c[((c[i >> 2] | 0) + 40) >> 2] = j),
  108141. (c[((c[i >> 2] | 0) + 40) >> 2] | 0) == 0)
  108142. : 0
  108143. ) {
  108144. I = 16;
  108145. break a;
  108146. }
  108147. if (
  108148. (c[((c[i >> 2] | 0) + 56) >> 2] | 0) >>> 0 <
  108149. (c[x >> 2] | 0) >>> 0
  108150. ? (Dy(c[((c[i >> 2] | 0) + 52) >> 2] | 0),
  108151. (c[((c[i >> 2] | 0) + 56) >> 2] = c[x >> 2]),
  108152. (j = Cy(c[x >> 2] | 0) | 0),
  108153. (c[((c[i >> 2] | 0) + 52) >> 2] = j),
  108154. (c[((c[i >> 2] | 0) + 52) >> 2] | 0) == 0)
  108155. : 0
  108156. ) {
  108157. I = 19;
  108158. break a;
  108159. }
  108160. if (c[((c[i >> 2] | 0) + 76) >> 2] | 0)
  108161. lw(
  108162. c[c[i >> 2] >> 2] | 0,
  108163. c[((c[i >> 2] | 0) + 72) >> 2] | 0,
  108164. c[((c[i >> 2] | 0) + 76) >> 2] | 0
  108165. );
  108166. j = c[i >> 2] | 0;
  108167. if (c[((c[i >> 2] | 0) + 68) >> 2] | 0) {
  108168. mE(
  108169. c[(j + 40) >> 2] | 0,
  108170. ((c[i >> 2] | 0) + 84) | 0,
  108171. c[((c[i >> 2] | 0) + 68) >> 2] | 0
  108172. ) | 0;
  108173. c[((c[i >> 2] | 0) + 48) >> 2] =
  108174. c[((c[i >> 2] | 0) + 68) >> 2];
  108175. c[((c[i >> 2] | 0) + 68) >> 2] = 0;
  108176. c[((c[i >> 2] | 0) + 80) >> 2] = 5;
  108177. break;
  108178. } else {
  108179. c[(j + 80) >> 2] = 4;
  108180. I = 25;
  108181. break;
  108182. }
  108183. }
  108184. } while (0);
  108185. do {
  108186. if ((I | 0) == 25) {
  108187. I = 0;
  108188. c[z >> 2] = wy(c[c[i >> 2] >> 2] | 0) | 0;
  108189. if (!(c[z >> 2] | 0)) {
  108190. c[((c[i >> 2] | 0) + 80) >> 2] = 0;
  108191. c[u >> 2] = 0;
  108192. break;
  108193. }
  108194. if (
  108195. (((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 <
  108196. (c[z >> 2] | 0) >>> 0
  108197. ) {
  108198. if ((c[p >> 2] | 0) == (c[q >> 2] | 0)) {
  108199. c[u >> 2] = 0;
  108200. break;
  108201. } else {
  108202. c[((c[i >> 2] | 0) + 80) >> 2] = 5;
  108203. I = 35;
  108204. break;
  108205. }
  108206. } else {
  108207. c[A >> 2] =
  108208. xy(
  108209. c[c[i >> 2] >> 2] | 0,
  108210. ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) +
  108211. (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
  108212. 0,
  108213. ((c[((c[i >> 2] | 0) + 56) >> 2] | 0) -
  108214. (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
  108215. 0,
  108216. c[p >> 2] | 0,
  108217. c[z >> 2] | 0
  108218. ) | 0;
  108219. if (rr(c[A >> 2] | 0) | 0) {
  108220. I = 29;
  108221. break a;
  108222. }
  108223. c[p >> 2] = (c[p >> 2] | 0) + (c[z >> 2] | 0);
  108224. if (!(c[A >> 2] | 0)) break;
  108225. c[((c[i >> 2] | 0) + 64) >> 2] =
  108226. (c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
  108227. (c[A >> 2] | 0);
  108228. c[((c[i >> 2] | 0) + 80) >> 2] = 6;
  108229. break;
  108230. }
  108231. }
  108232. } while (0);
  108233. do {
  108234. if ((I | 0) == 35) {
  108235. I = 0;
  108236. c[B >> 2] = wy(c[c[i >> 2] >> 2] | 0) | 0;
  108237. c[C >> 2] =
  108238. (c[B >> 2] | 0) -
  108239. (c[((c[i >> 2] | 0) + 48) >> 2] | 0);
  108240. if (
  108241. (c[C >> 2] | 0) >>> 0 >
  108242. (((c[((c[i >> 2] | 0) + 44) >> 2] | 0) -
  108243. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  108244. 0) >>>
  108245. 0
  108246. ) {
  108247. I = 36;
  108248. break a;
  108249. }
  108250. c[D >> 2] =
  108251. vy(
  108252. ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
  108253. (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
  108254. 0,
  108255. c[C >> 2] | 0,
  108256. c[p >> 2] | 0,
  108257. ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
  108258. ) | 0;
  108259. c[p >> 2] = (c[p >> 2] | 0) + (c[D >> 2] | 0);
  108260. j = ((c[i >> 2] | 0) + 48) | 0;
  108261. c[j >> 2] = (c[j >> 2] | 0) + (c[D >> 2] | 0);
  108262. if ((c[D >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0) {
  108263. c[u >> 2] = 0;
  108264. break;
  108265. }
  108266. c[E >> 2] =
  108267. xy(
  108268. c[c[i >> 2] >> 2] | 0,
  108269. ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) +
  108270. (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
  108271. 0,
  108272. ((c[((c[i >> 2] | 0) + 56) >> 2] | 0) -
  108273. (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
  108274. 0,
  108275. c[((c[i >> 2] | 0) + 40) >> 2] | 0,
  108276. c[B >> 2] | 0
  108277. ) | 0;
  108278. if (rr(c[E >> 2] | 0) | 0) {
  108279. I = 40;
  108280. break a;
  108281. }
  108282. c[((c[i >> 2] | 0) + 48) >> 2] = 0;
  108283. j = c[i >> 2] | 0;
  108284. if (c[E >> 2] | 0) {
  108285. c[((c[i >> 2] | 0) + 64) >> 2] =
  108286. (c[(j + 60) >> 2] | 0) + (c[E >> 2] | 0);
  108287. c[((c[i >> 2] | 0) + 80) >> 2] = 6;
  108288. I = 44;
  108289. break;
  108290. } else {
  108291. c[(j + 80) >> 2] = 4;
  108292. break;
  108293. }
  108294. }
  108295. } while (0);
  108296. do {
  108297. if ((I | 0) == 44) {
  108298. I = 0;
  108299. c[F >> 2] =
  108300. (c[((c[i >> 2] | 0) + 64) >> 2] | 0) -
  108301. (c[((c[i >> 2] | 0) + 60) >> 2] | 0);
  108302. c[G >> 2] =
  108303. vy(
  108304. c[s >> 2] | 0,
  108305. ((c[t >> 2] | 0) - (c[s >> 2] | 0)) | 0,
  108306. ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) +
  108307. (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
  108308. 0,
  108309. c[F >> 2] | 0
  108310. ) | 0;
  108311. c[s >> 2] = (c[s >> 2] | 0) + (c[G >> 2] | 0);
  108312. j = ((c[i >> 2] | 0) + 60) | 0;
  108313. c[j >> 2] = (c[j >> 2] | 0) + (c[G >> 2] | 0);
  108314. if ((c[G >> 2] | 0) != (c[F >> 2] | 0)) {
  108315. c[u >> 2] = 0;
  108316. break;
  108317. }
  108318. c[((c[i >> 2] | 0) + 80) >> 2] = 4;
  108319. if (
  108320. (((c[((c[i >> 2] | 0) + 60) >> 2] | 0) + 131072) |
  108321. 0) >>>
  108322. 0 >
  108323. (c[((c[i >> 2] | 0) + 56) >> 2] | 0) >>> 0
  108324. ) {
  108325. c[((c[i >> 2] | 0) + 64) >> 2] = 0;
  108326. c[((c[i >> 2] | 0) + 60) >> 2] = 0;
  108327. }
  108328. }
  108329. } while (0);
  108330. }
  108331. switch (I | 0) {
  108332. case 4: {
  108333. c[h >> 2] = -62;
  108334. M = c[h >> 2] | 0;
  108335. l = g;
  108336. return M | 0;
  108337. }
  108338. case 6: {
  108339. c[h >> 2] = J;
  108340. M = c[h >> 2] | 0;
  108341. l = g;
  108342. return M | 0;
  108343. }
  108344. case 8: {
  108345. mE(
  108346. (K + 84 + (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) | 0,
  108347. c[m >> 2] | 0,
  108348. c[c[n >> 2] >> 2] | 0
  108349. ) | 0;
  108350. m = ((c[i >> 2] | 0) + 68) | 0;
  108351. c[m >> 2] = (c[m >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
  108352. c[c[k >> 2] >> 2] = 0;
  108353. c[((c[i >> 2] | 0) + 80) >> 2] = 2;
  108354. c[h >> 2] =
  108355. (c[v >> 2] | 0) - (c[((c[i >> 2] | 0) + 68) >> 2] | 0);
  108356. M = c[h >> 2] | 0;
  108357. l = g;
  108358. return M | 0;
  108359. }
  108360. case 11: {
  108361. c[h >> 2] = L;
  108362. M = c[h >> 2] | 0;
  108363. l = g;
  108364. return M | 0;
  108365. }
  108366. case 13: {
  108367. c[c[k >> 2] >> 2] = 0;
  108368. c[h >> 2] =
  108369. (c[w >> 2] | 0) - (c[((c[i >> 2] | 0) + 68) >> 2] | 0);
  108370. M = c[h >> 2] | 0;
  108371. l = g;
  108372. return M | 0;
  108373. }
  108374. case 16: {
  108375. c[h >> 2] = -64;
  108376. M = c[h >> 2] | 0;
  108377. l = g;
  108378. return M | 0;
  108379. }
  108380. case 19: {
  108381. c[h >> 2] = -64;
  108382. M = c[h >> 2] | 0;
  108383. l = g;
  108384. return M | 0;
  108385. }
  108386. case 29: {
  108387. c[h >> 2] = c[A >> 2];
  108388. M = c[h >> 2] | 0;
  108389. l = g;
  108390. return M | 0;
  108391. }
  108392. case 36: {
  108393. c[h >> 2] = -20;
  108394. M = c[h >> 2] | 0;
  108395. l = g;
  108396. return M | 0;
  108397. }
  108398. case 40: {
  108399. c[h >> 2] = c[E >> 2];
  108400. M = c[h >> 2] | 0;
  108401. l = g;
  108402. return M | 0;
  108403. }
  108404. case 48: {
  108405. c[h >> 2] = -1;
  108406. M = c[h >> 2] | 0;
  108407. l = g;
  108408. return M | 0;
  108409. }
  108410. case 50: {
  108411. c[c[n >> 2] >> 2] = (c[p >> 2] | 0) - (c[o >> 2] | 0);
  108412. c[c[k >> 2] >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
  108413. c[H >> 2] = wy(c[c[i >> 2] >> 2] | 0) | 0;
  108414. if ((c[H >> 2] | 0) >>> 0 > 3)
  108415. c[H >> 2] = (c[H >> 2] | 0) + 3;
  108416. c[H >> 2] =
  108417. (c[H >> 2] | 0) - (c[((c[i >> 2] | 0) + 48) >> 2] | 0);
  108418. c[h >> 2] = c[H >> 2];
  108419. M = c[h >> 2] | 0;
  108420. l = g;
  108421. return M | 0;
  108422. }
  108423. }
  108424. return 0;
  108425. }
  108426. function vy(a, b, d, e) {
  108427. a = a | 0;
  108428. b = b | 0;
  108429. d = d | 0;
  108430. e = e | 0;
  108431. var f = 0,
  108432. g = 0,
  108433. h = 0,
  108434. i = 0,
  108435. j = 0,
  108436. k = 0;
  108437. f = l;
  108438. l = (l + 32) | 0;
  108439. g = (f + 16) | 0;
  108440. h = (f + 12) | 0;
  108441. i = (f + 8) | 0;
  108442. j = (f + 4) | 0;
  108443. k = f;
  108444. c[g >> 2] = a;
  108445. c[h >> 2] = b;
  108446. c[i >> 2] = d;
  108447. c[j >> 2] = e;
  108448. c[k >> 2] =
  108449. (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
  108450. ? c[h >> 2] | 0
  108451. : c[j >> 2] | 0;
  108452. mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
  108453. l = f;
  108454. return c[k >> 2] | 0;
  108455. }
  108456. function wy(a) {
  108457. a = a | 0;
  108458. var b = 0,
  108459. d = 0;
  108460. b = l;
  108461. l = (l + 16) | 0;
  108462. d = b;
  108463. c[d >> 2] = a;
  108464. l = b;
  108465. return c[((c[d >> 2] | 0) + 10268) >> 2] | 0;
  108466. }
  108467. function xy(b, d, e, f, g) {
  108468. b = b | 0;
  108469. d = d | 0;
  108470. e = e | 0;
  108471. f = f | 0;
  108472. g = g | 0;
  108473. var h = 0,
  108474. i = 0,
  108475. j = 0,
  108476. k = 0,
  108477. m = 0,
  108478. n = 0,
  108479. o = 0,
  108480. p = 0,
  108481. q = 0,
  108482. r = 0,
  108483. s = 0,
  108484. t = 0;
  108485. h = l;
  108486. l = (l + 48) | 0;
  108487. i = (h + 40) | 0;
  108488. j = (h + 36) | 0;
  108489. k = (h + 32) | 0;
  108490. m = (h + 28) | 0;
  108491. n = (h + 24) | 0;
  108492. o = (h + 20) | 0;
  108493. p = (h + 16) | 0;
  108494. q = (h + 8) | 0;
  108495. r = (h + 4) | 0;
  108496. s = h;
  108497. c[j >> 2] = b;
  108498. c[k >> 2] = d;
  108499. c[m >> 2] = e;
  108500. c[n >> 2] = f;
  108501. c[o >> 2] = g;
  108502. if (
  108503. (c[o >> 2] | 0) !=
  108504. (c[((c[j >> 2] | 0) + 10268) >> 2] | 0)
  108505. ) {
  108506. c[i >> 2] = -72;
  108507. t = c[i >> 2] | 0;
  108508. l = h;
  108509. return t | 0;
  108510. }
  108511. yy(c[j >> 2] | 0, c[k >> 2] | 0);
  108512. a: do {
  108513. switch (c[((c[j >> 2] | 0) + 10316) >> 2] | 0) {
  108514. case 0: {
  108515. if ((c[o >> 2] | 0) != 5) {
  108516. c[i >> 2] = -72;
  108517. t = c[i >> 2] | 0;
  108518. l = h;
  108519. return t | 0;
  108520. }
  108521. g = mw(c[j >> 2] | 0, c[n >> 2] | 0, 5) | 0;
  108522. c[((c[j >> 2] | 0) + 10272) >> 2] = g;
  108523. g =
  108524. (rr(c[((c[j >> 2] | 0) + 10272) >> 2] | 0) | 0) != 0;
  108525. f = c[j >> 2] | 0;
  108526. if (g) {
  108527. c[i >> 2] = c[(f + 10272) >> 2];
  108528. t = c[i >> 2] | 0;
  108529. l = h;
  108530. return t | 0;
  108531. }
  108532. g = (f + 141408) | 0;
  108533. f = c[n >> 2] | 0;
  108534. a[g >> 0] = a[f >> 0] | 0;
  108535. a[(g + 1) >> 0] = a[(f + 1) >> 0] | 0;
  108536. a[(g + 2) >> 0] = a[(f + 2) >> 0] | 0;
  108537. a[(g + 3) >> 0] = a[(f + 3) >> 0] | 0;
  108538. a[(g + 4) >> 0] = a[(f + 4) >> 0] | 0;
  108539. if (
  108540. (c[((c[j >> 2] | 0) + 10272) >> 2] | 0) >>> 0 <=
  108541. 5
  108542. ) {
  108543. c[((c[j >> 2] | 0) + 10268) >> 2] = 0;
  108544. break a;
  108545. }
  108546. c[i >> 2] = -1;
  108547. t = c[i >> 2] | 0;
  108548. l = h;
  108549. return t | 0;
  108550. }
  108551. case 1:
  108552. break;
  108553. case 2: {
  108554. c[r >> 2] = qr(c[n >> 2] | 0, 3, q) | 0;
  108555. if (rr(c[r >> 2] | 0) | 0) {
  108556. c[i >> 2] = c[r >> 2];
  108557. t = c[i >> 2] | 0;
  108558. l = h;
  108559. return t | 0;
  108560. }
  108561. if ((c[q >> 2] | 0) == 3) {
  108562. c[((c[j >> 2] | 0) + 10268) >> 2] = 0;
  108563. c[((c[j >> 2] | 0) + 10316) >> 2] = 0;
  108564. } else {
  108565. c[((c[j >> 2] | 0) + 10268) >> 2] = c[r >> 2];
  108566. c[((c[j >> 2] | 0) + 10312) >> 2] = c[q >> 2];
  108567. c[((c[j >> 2] | 0) + 10316) >> 2] = 3;
  108568. }
  108569. c[i >> 2] = 0;
  108570. t = c[i >> 2] | 0;
  108571. l = h;
  108572. return t | 0;
  108573. }
  108574. case 3: {
  108575. switch (c[((c[j >> 2] | 0) + 10312) >> 2] | 0) {
  108576. case 0: {
  108577. c[s >> 2] =
  108578. ow(
  108579. c[j >> 2] | 0,
  108580. c[k >> 2] | 0,
  108581. c[m >> 2] | 0,
  108582. c[n >> 2] | 0,
  108583. c[o >> 2] | 0
  108584. ) | 0;
  108585. break;
  108586. }
  108587. case 1: {
  108588. c[s >> 2] =
  108589. pw(
  108590. c[k >> 2] | 0,
  108591. c[m >> 2] | 0,
  108592. c[n >> 2] | 0,
  108593. c[o >> 2] | 0
  108594. ) | 0;
  108595. break;
  108596. }
  108597. case 2: {
  108598. c[i >> 2] = -1;
  108599. t = c[i >> 2] | 0;
  108600. l = h;
  108601. return t | 0;
  108602. }
  108603. case 3: {
  108604. c[s >> 2] = 0;
  108605. break;
  108606. }
  108607. default: {
  108608. c[i >> 2] = -1;
  108609. t = c[i >> 2] | 0;
  108610. l = h;
  108611. return t | 0;
  108612. }
  108613. }
  108614. c[((c[j >> 2] | 0) + 10316) >> 2] = 2;
  108615. c[((c[j >> 2] | 0) + 10268) >> 2] = 3;
  108616. c[((c[j >> 2] | 0) + 10252) >> 2] =
  108617. (c[k >> 2] | 0) + (c[s >> 2] | 0);
  108618. c[i >> 2] = c[s >> 2];
  108619. t = c[i >> 2] | 0;
  108620. l = h;
  108621. return t | 0;
  108622. }
  108623. default: {
  108624. c[i >> 2] = -1;
  108625. t = c[i >> 2] | 0;
  108626. l = h;
  108627. return t | 0;
  108628. }
  108629. }
  108630. } while (0);
  108631. c[p >> 2] =
  108632. nw(
  108633. c[j >> 2] | 0,
  108634. ((c[j >> 2] | 0) + 141408) | 0,
  108635. c[((c[j >> 2] | 0) + 10272) >> 2] | 0
  108636. ) | 0;
  108637. if (rr(c[p >> 2] | 0) | 0) {
  108638. c[i >> 2] = c[p >> 2];
  108639. t = c[i >> 2] | 0;
  108640. l = h;
  108641. return t | 0;
  108642. } else {
  108643. c[((c[j >> 2] | 0) + 10268) >> 2] = 3;
  108644. c[((c[j >> 2] | 0) + 10316) >> 2] = 2;
  108645. c[i >> 2] = 0;
  108646. t = c[i >> 2] | 0;
  108647. l = h;
  108648. return t | 0;
  108649. }
  108650. return 0;
  108651. }
  108652. function yy(a, b) {
  108653. a = a | 0;
  108654. b = b | 0;
  108655. var d = 0,
  108656. e = 0,
  108657. f = 0;
  108658. d = l;
  108659. l = (l + 16) | 0;
  108660. e = (d + 4) | 0;
  108661. f = d;
  108662. c[e >> 2] = a;
  108663. c[f >> 2] = b;
  108664. if (
  108665. (c[f >> 2] | 0) ==
  108666. (c[((c[e >> 2] | 0) + 10252) >> 2] | 0)
  108667. ) {
  108668. l = d;
  108669. return;
  108670. }
  108671. c[((c[e >> 2] | 0) + 10264) >> 2] =
  108672. c[((c[e >> 2] | 0) + 10252) >> 2];
  108673. c[((c[e >> 2] | 0) + 10260) >> 2] =
  108674. (c[f >> 2] | 0) +
  108675. (0 -
  108676. ((c[((c[e >> 2] | 0) + 10252) >> 2] | 0) -
  108677. (c[((c[e >> 2] | 0) + 10256) >> 2] | 0)));
  108678. c[((c[e >> 2] | 0) + 10256) >> 2] = c[f >> 2];
  108679. c[((c[e >> 2] | 0) + 10252) >> 2] = c[f >> 2];
  108680. l = d;
  108681. return;
  108682. }
  108683. function zy() {
  108684. Ay(0);
  108685. return;
  108686. }
  108687. function Ay(a) {
  108688. a = a | 0;
  108689. Wa(10928, 20112);
  108690. La(10944, 20117, 1, 1, 0);
  108691. Sa(10952, 19886, 1, -128, 127);
  108692. Sa(10968, 19891, 1, -128, 127);
  108693. Sa(10960, 19903, 1, 0, 255);
  108694. Sa(10976, 19917, 2, -32768, 32767);
  108695. Sa(10984, 19923, 2, 0, 65535);
  108696. Sa(10992, 20122, 4, -2147483648, 2147483647);
  108697. Sa(11e3, 20126, 4, 0, -1);
  108698. Sa(11008, 20139, 4, -2147483648, 2147483647);
  108699. Sa(11016, 20144, 4, 0, -1);
  108700. Qa(11024, 20168, 4);
  108701. Qa(11032, 20280, 8);
  108702. Ua(10624, 19495);
  108703. Ua(10648, 16561);
  108704. Va(10672, 4, 16594);
  108705. Pa(9840, 16607);
  108706. Ta(10696, 0, 16623);
  108707. Ta(10704, 0, 16653);
  108708. Ta(10712, 1, 16690);
  108709. Ta(10720, 2, 16729);
  108710. Ta(10728, 3, 16760);
  108711. Ta(10736, 4, 16800);
  108712. Ta(10744, 5, 16829);
  108713. Ta(10752, 4, 16867);
  108714. Ta(10760, 5, 16897);
  108715. Ta(10704, 0, 16936);
  108716. Ta(10712, 1, 16968);
  108717. Ta(10720, 2, 17001);
  108718. Ta(10728, 3, 17034);
  108719. Ta(10736, 4, 17068);
  108720. Ta(10744, 5, 17101);
  108721. Ta(10768, 6, 17135);
  108722. Ta(10776, 7, 17166);
  108723. Ta(10784, 7, 17198);
  108724. return;
  108725. }
  108726. function By(a) {
  108727. a = a | 0;
  108728. return Oz(c[(a + 4) >> 2] | 0) | 0;
  108729. }
  108730. function Cy(a) {
  108731. a = a | 0;
  108732. var b = 0,
  108733. d = 0,
  108734. e = 0,
  108735. f = 0,
  108736. g = 0,
  108737. h = 0,
  108738. i = 0,
  108739. j = 0,
  108740. k = 0,
  108741. m = 0,
  108742. n = 0,
  108743. o = 0,
  108744. p = 0,
  108745. q = 0,
  108746. r = 0,
  108747. s = 0,
  108748. t = 0,
  108749. u = 0,
  108750. v = 0,
  108751. w = 0,
  108752. x = 0,
  108753. y = 0,
  108754. z = 0,
  108755. A = 0,
  108756. B = 0,
  108757. C = 0,
  108758. D = 0,
  108759. E = 0,
  108760. F = 0,
  108761. G = 0,
  108762. H = 0,
  108763. I = 0,
  108764. J = 0,
  108765. K = 0,
  108766. L = 0,
  108767. M = 0,
  108768. N = 0,
  108769. O = 0,
  108770. P = 0,
  108771. Q = 0,
  108772. R = 0,
  108773. S = 0,
  108774. T = 0,
  108775. U = 0,
  108776. V = 0,
  108777. W = 0,
  108778. X = 0,
  108779. Y = 0,
  108780. Z = 0,
  108781. _ = 0,
  108782. $ = 0,
  108783. aa = 0,
  108784. ba = 0,
  108785. ca = 0,
  108786. da = 0,
  108787. ea = 0,
  108788. fa = 0,
  108789. ga = 0,
  108790. ha = 0,
  108791. ia = 0,
  108792. ja = 0,
  108793. ka = 0,
  108794. la = 0,
  108795. ma = 0,
  108796. na = 0,
  108797. oa = 0,
  108798. pa = 0,
  108799. qa = 0,
  108800. ra = 0,
  108801. sa = 0,
  108802. ta = 0,
  108803. ua = 0,
  108804. va = 0,
  108805. wa = 0,
  108806. xa = 0,
  108807. ya = 0,
  108808. za = 0,
  108809. Aa = 0,
  108810. Ba = 0,
  108811. Ca = 0,
  108812. Da = 0,
  108813. Ea = 0,
  108814. Fa = 0,
  108815. Ga = 0,
  108816. Ha = 0,
  108817. Ia = 0,
  108818. Ja = 0;
  108819. b = l;
  108820. l = (l + 16) | 0;
  108821. d = b;
  108822. do {
  108823. if (a >>> 0 < 245) {
  108824. e = a >>> 0 < 11 ? 16 : (a + 11) & -8;
  108825. f = e >>> 3;
  108826. g = c[5418] | 0;
  108827. h = g >>> f;
  108828. if ((h & 3) | 0) {
  108829. i = (((h & 1) ^ 1) + f) | 0;
  108830. j = (21712 + ((i << 1) << 2)) | 0;
  108831. k = (j + 8) | 0;
  108832. m = c[k >> 2] | 0;
  108833. n = (m + 8) | 0;
  108834. o = c[n >> 2] | 0;
  108835. if ((o | 0) == (j | 0)) c[5418] = g & ~(1 << i);
  108836. else {
  108837. c[(o + 12) >> 2] = j;
  108838. c[k >> 2] = o;
  108839. }
  108840. o = i << 3;
  108841. c[(m + 4) >> 2] = o | 3;
  108842. i = (m + o + 4) | 0;
  108843. c[i >> 2] = c[i >> 2] | 1;
  108844. p = n;
  108845. l = b;
  108846. return p | 0;
  108847. }
  108848. n = c[5420] | 0;
  108849. if (e >>> 0 > n >>> 0) {
  108850. if (h | 0) {
  108851. i = 2 << f;
  108852. o = (h << f) & (i | (0 - i));
  108853. i = ((o & (0 - o)) + -1) | 0;
  108854. o = (i >>> 12) & 16;
  108855. f = i >>> o;
  108856. i = (f >>> 5) & 8;
  108857. h = f >>> i;
  108858. f = (h >>> 2) & 4;
  108859. m = h >>> f;
  108860. h = (m >>> 1) & 2;
  108861. k = m >>> h;
  108862. m = (k >>> 1) & 1;
  108863. j = ((i | o | f | h | m) + (k >>> m)) | 0;
  108864. m = (21712 + ((j << 1) << 2)) | 0;
  108865. k = (m + 8) | 0;
  108866. h = c[k >> 2] | 0;
  108867. f = (h + 8) | 0;
  108868. o = c[f >> 2] | 0;
  108869. if ((o | 0) == (m | 0)) {
  108870. i = g & ~(1 << j);
  108871. c[5418] = i;
  108872. q = i;
  108873. } else {
  108874. c[(o + 12) >> 2] = m;
  108875. c[k >> 2] = o;
  108876. q = g;
  108877. }
  108878. o = j << 3;
  108879. j = (o - e) | 0;
  108880. c[(h + 4) >> 2] = e | 3;
  108881. k = (h + e) | 0;
  108882. c[(k + 4) >> 2] = j | 1;
  108883. c[(h + o) >> 2] = j;
  108884. if (n | 0) {
  108885. o = c[5423] | 0;
  108886. h = n >>> 3;
  108887. m = (21712 + ((h << 1) << 2)) | 0;
  108888. i = 1 << h;
  108889. if (!(q & i)) {
  108890. c[5418] = q | i;
  108891. r = m;
  108892. s = (m + 8) | 0;
  108893. } else {
  108894. i = (m + 8) | 0;
  108895. r = c[i >> 2] | 0;
  108896. s = i;
  108897. }
  108898. c[s >> 2] = o;
  108899. c[(r + 12) >> 2] = o;
  108900. c[(o + 8) >> 2] = r;
  108901. c[(o + 12) >> 2] = m;
  108902. }
  108903. c[5420] = j;
  108904. c[5423] = k;
  108905. p = f;
  108906. l = b;
  108907. return p | 0;
  108908. }
  108909. f = c[5419] | 0;
  108910. if (f) {
  108911. k = ((f & (0 - f)) + -1) | 0;
  108912. j = (k >>> 12) & 16;
  108913. m = k >>> j;
  108914. k = (m >>> 5) & 8;
  108915. o = m >>> k;
  108916. m = (o >>> 2) & 4;
  108917. i = o >>> m;
  108918. o = (i >>> 1) & 2;
  108919. h = i >>> o;
  108920. i = (h >>> 1) & 1;
  108921. t =
  108922. c[
  108923. (21976 +
  108924. (((k | j | m | o | i) + (h >>> i)) << 2)) >>
  108925. 2
  108926. ] | 0;
  108927. i = t;
  108928. h = t;
  108929. o = ((c[(t + 4) >> 2] & -8) - e) | 0;
  108930. while (1) {
  108931. t = c[(i + 16) >> 2] | 0;
  108932. if (!t) {
  108933. m = c[(i + 20) >> 2] | 0;
  108934. if (!m) break;
  108935. else u = m;
  108936. } else u = t;
  108937. t = ((c[(u + 4) >> 2] & -8) - e) | 0;
  108938. m = t >>> 0 < o >>> 0;
  108939. i = u;
  108940. h = m ? u : h;
  108941. o = m ? t : o;
  108942. }
  108943. i = (h + e) | 0;
  108944. if (i >>> 0 > h >>> 0) {
  108945. t = c[(h + 24) >> 2] | 0;
  108946. m = c[(h + 12) >> 2] | 0;
  108947. do {
  108948. if ((m | 0) == (h | 0)) {
  108949. j = (h + 20) | 0;
  108950. k = c[j >> 2] | 0;
  108951. if (!k) {
  108952. v = (h + 16) | 0;
  108953. w = c[v >> 2] | 0;
  108954. if (!w) {
  108955. x = 0;
  108956. break;
  108957. } else {
  108958. y = w;
  108959. z = v;
  108960. }
  108961. } else {
  108962. y = k;
  108963. z = j;
  108964. }
  108965. j = y;
  108966. k = z;
  108967. while (1) {
  108968. v = (j + 20) | 0;
  108969. w = c[v >> 2] | 0;
  108970. if (!w) {
  108971. A = (j + 16) | 0;
  108972. B = c[A >> 2] | 0;
  108973. if (!B) break;
  108974. else {
  108975. C = B;
  108976. D = A;
  108977. }
  108978. } else {
  108979. C = w;
  108980. D = v;
  108981. }
  108982. j = C;
  108983. k = D;
  108984. }
  108985. c[k >> 2] = 0;
  108986. x = j;
  108987. } else {
  108988. v = c[(h + 8) >> 2] | 0;
  108989. c[(v + 12) >> 2] = m;
  108990. c[(m + 8) >> 2] = v;
  108991. x = m;
  108992. }
  108993. } while (0);
  108994. do {
  108995. if (t | 0) {
  108996. m = c[(h + 28) >> 2] | 0;
  108997. v = (21976 + (m << 2)) | 0;
  108998. if ((h | 0) == (c[v >> 2] | 0)) {
  108999. c[v >> 2] = x;
  109000. if (!x) {
  109001. c[5419] = f & ~(1 << m);
  109002. break;
  109003. }
  109004. } else {
  109005. m = (t + 16) | 0;
  109006. c[
  109007. ((c[m >> 2] | 0) == (h | 0)
  109008. ? m
  109009. : (t + 20) | 0) >> 2
  109010. ] = x;
  109011. if (!x) break;
  109012. }
  109013. c[(x + 24) >> 2] = t;
  109014. m = c[(h + 16) >> 2] | 0;
  109015. if (m | 0) {
  109016. c[(x + 16) >> 2] = m;
  109017. c[(m + 24) >> 2] = x;
  109018. }
  109019. m = c[(h + 20) >> 2] | 0;
  109020. if (m | 0) {
  109021. c[(x + 20) >> 2] = m;
  109022. c[(m + 24) >> 2] = x;
  109023. }
  109024. }
  109025. } while (0);
  109026. if (o >>> 0 < 16) {
  109027. t = (o + e) | 0;
  109028. c[(h + 4) >> 2] = t | 3;
  109029. f = (h + t + 4) | 0;
  109030. c[f >> 2] = c[f >> 2] | 1;
  109031. } else {
  109032. c[(h + 4) >> 2] = e | 3;
  109033. c[(i + 4) >> 2] = o | 1;
  109034. c[(i + o) >> 2] = o;
  109035. if (n | 0) {
  109036. f = c[5423] | 0;
  109037. t = n >>> 3;
  109038. m = (21712 + ((t << 1) << 2)) | 0;
  109039. v = 1 << t;
  109040. if (!(v & g)) {
  109041. c[5418] = v | g;
  109042. E = m;
  109043. F = (m + 8) | 0;
  109044. } else {
  109045. v = (m + 8) | 0;
  109046. E = c[v >> 2] | 0;
  109047. F = v;
  109048. }
  109049. c[F >> 2] = f;
  109050. c[(E + 12) >> 2] = f;
  109051. c[(f + 8) >> 2] = E;
  109052. c[(f + 12) >> 2] = m;
  109053. }
  109054. c[5420] = o;
  109055. c[5423] = i;
  109056. }
  109057. p = (h + 8) | 0;
  109058. l = b;
  109059. return p | 0;
  109060. } else G = e;
  109061. } else G = e;
  109062. } else G = e;
  109063. } else if (a >>> 0 <= 4294967231) {
  109064. m = (a + 11) | 0;
  109065. f = m & -8;
  109066. v = c[5419] | 0;
  109067. if (v) {
  109068. t = (0 - f) | 0;
  109069. w = m >>> 8;
  109070. if (w) {
  109071. if (f >>> 0 > 16777215) H = 31;
  109072. else {
  109073. m = (((w + 1048320) | 0) >>> 16) & 8;
  109074. A = w << m;
  109075. w = (((A + 520192) | 0) >>> 16) & 4;
  109076. B = A << w;
  109077. A = (((B + 245760) | 0) >>> 16) & 2;
  109078. I = (14 - (w | m | A) + ((B << A) >>> 15)) | 0;
  109079. H = ((f >>> ((I + 7) | 0)) & 1) | (I << 1);
  109080. }
  109081. } else H = 0;
  109082. I = c[(21976 + (H << 2)) >> 2] | 0;
  109083. a: do {
  109084. if (!I) {
  109085. J = 0;
  109086. K = 0;
  109087. L = t;
  109088. M = 61;
  109089. } else {
  109090. A = 0;
  109091. B = t;
  109092. m = I;
  109093. w = f << ((H | 0) == 31 ? 0 : (25 - (H >>> 1)) | 0);
  109094. N = 0;
  109095. while (1) {
  109096. O = ((c[(m + 4) >> 2] & -8) - f) | 0;
  109097. if (O >>> 0 < B >>> 0) {
  109098. if (!O) {
  109099. P = m;
  109100. Q = 0;
  109101. R = m;
  109102. M = 65;
  109103. break a;
  109104. } else {
  109105. S = m;
  109106. T = O;
  109107. }
  109108. } else {
  109109. S = A;
  109110. T = B;
  109111. }
  109112. O = c[(m + 20) >> 2] | 0;
  109113. m = c[(m + 16 + ((w >>> 31) << 2)) >> 2] | 0;
  109114. U = ((O | 0) == 0) | ((O | 0) == (m | 0)) ? N : O;
  109115. if (!m) {
  109116. J = U;
  109117. K = S;
  109118. L = T;
  109119. M = 61;
  109120. break;
  109121. } else {
  109122. A = S;
  109123. B = T;
  109124. w = w << 1;
  109125. N = U;
  109126. }
  109127. }
  109128. }
  109129. } while (0);
  109130. if ((M | 0) == 61) {
  109131. if (((J | 0) == 0) & ((K | 0) == 0)) {
  109132. I = 2 << H;
  109133. t = (I | (0 - I)) & v;
  109134. if (!t) {
  109135. G = f;
  109136. break;
  109137. }
  109138. I = ((t & (0 - t)) + -1) | 0;
  109139. t = (I >>> 12) & 16;
  109140. e = I >>> t;
  109141. I = (e >>> 5) & 8;
  109142. h = e >>> I;
  109143. e = (h >>> 2) & 4;
  109144. i = h >>> e;
  109145. h = (i >>> 1) & 2;
  109146. o = i >>> h;
  109147. i = (o >>> 1) & 1;
  109148. V = 0;
  109149. W =
  109150. c[
  109151. (21976 +
  109152. (((I | t | e | h | i) + (o >>> i)) << 2)) >>
  109153. 2
  109154. ] | 0;
  109155. } else {
  109156. V = K;
  109157. W = J;
  109158. }
  109159. if (!W) {
  109160. X = V;
  109161. Y = L;
  109162. } else {
  109163. P = V;
  109164. Q = L;
  109165. R = W;
  109166. M = 65;
  109167. }
  109168. }
  109169. if ((M | 0) == 65) {
  109170. i = P;
  109171. o = Q;
  109172. h = R;
  109173. while (1) {
  109174. e = ((c[(h + 4) >> 2] & -8) - f) | 0;
  109175. t = e >>> 0 < o >>> 0;
  109176. I = t ? e : o;
  109177. e = t ? h : i;
  109178. t = c[(h + 16) >> 2] | 0;
  109179. if (!t) Z = c[(h + 20) >> 2] | 0;
  109180. else Z = t;
  109181. if (!Z) {
  109182. X = e;
  109183. Y = I;
  109184. break;
  109185. } else {
  109186. i = e;
  109187. o = I;
  109188. h = Z;
  109189. }
  109190. }
  109191. }
  109192. if (
  109193. (
  109194. (X | 0) != 0
  109195. ? Y >>> 0 < (((c[5420] | 0) - f) | 0) >>> 0
  109196. : 0
  109197. )
  109198. ? ((h = (X + f) | 0), h >>> 0 > X >>> 0)
  109199. : 0
  109200. ) {
  109201. o = c[(X + 24) >> 2] | 0;
  109202. i = c[(X + 12) >> 2] | 0;
  109203. do {
  109204. if ((i | 0) == (X | 0)) {
  109205. I = (X + 20) | 0;
  109206. e = c[I >> 2] | 0;
  109207. if (!e) {
  109208. t = (X + 16) | 0;
  109209. g = c[t >> 2] | 0;
  109210. if (!g) {
  109211. _ = 0;
  109212. break;
  109213. } else {
  109214. $ = g;
  109215. aa = t;
  109216. }
  109217. } else {
  109218. $ = e;
  109219. aa = I;
  109220. }
  109221. I = $;
  109222. e = aa;
  109223. while (1) {
  109224. t = (I + 20) | 0;
  109225. g = c[t >> 2] | 0;
  109226. if (!g) {
  109227. n = (I + 16) | 0;
  109228. N = c[n >> 2] | 0;
  109229. if (!N) break;
  109230. else {
  109231. ba = N;
  109232. ca = n;
  109233. }
  109234. } else {
  109235. ba = g;
  109236. ca = t;
  109237. }
  109238. I = ba;
  109239. e = ca;
  109240. }
  109241. c[e >> 2] = 0;
  109242. _ = I;
  109243. } else {
  109244. t = c[(X + 8) >> 2] | 0;
  109245. c[(t + 12) >> 2] = i;
  109246. c[(i + 8) >> 2] = t;
  109247. _ = i;
  109248. }
  109249. } while (0);
  109250. do {
  109251. if (o) {
  109252. i = c[(X + 28) >> 2] | 0;
  109253. t = (21976 + (i << 2)) | 0;
  109254. if ((X | 0) == (c[t >> 2] | 0)) {
  109255. c[t >> 2] = _;
  109256. if (!_) {
  109257. t = v & ~(1 << i);
  109258. c[5419] = t;
  109259. da = t;
  109260. break;
  109261. }
  109262. } else {
  109263. t = (o + 16) | 0;
  109264. c[
  109265. ((c[t >> 2] | 0) == (X | 0)
  109266. ? t
  109267. : (o + 20) | 0) >> 2
  109268. ] = _;
  109269. if (!_) {
  109270. da = v;
  109271. break;
  109272. }
  109273. }
  109274. c[(_ + 24) >> 2] = o;
  109275. t = c[(X + 16) >> 2] | 0;
  109276. if (t | 0) {
  109277. c[(_ + 16) >> 2] = t;
  109278. c[(t + 24) >> 2] = _;
  109279. }
  109280. t = c[(X + 20) >> 2] | 0;
  109281. if (t) {
  109282. c[(_ + 20) >> 2] = t;
  109283. c[(t + 24) >> 2] = _;
  109284. da = v;
  109285. } else da = v;
  109286. } else da = v;
  109287. } while (0);
  109288. b: do {
  109289. if (Y >>> 0 < 16) {
  109290. v = (Y + f) | 0;
  109291. c[(X + 4) >> 2] = v | 3;
  109292. o = (X + v + 4) | 0;
  109293. c[o >> 2] = c[o >> 2] | 1;
  109294. } else {
  109295. c[(X + 4) >> 2] = f | 3;
  109296. c[(h + 4) >> 2] = Y | 1;
  109297. c[(h + Y) >> 2] = Y;
  109298. o = Y >>> 3;
  109299. if (Y >>> 0 < 256) {
  109300. v = (21712 + ((o << 1) << 2)) | 0;
  109301. t = c[5418] | 0;
  109302. i = 1 << o;
  109303. if (!(t & i)) {
  109304. c[5418] = t | i;
  109305. ea = v;
  109306. fa = (v + 8) | 0;
  109307. } else {
  109308. i = (v + 8) | 0;
  109309. ea = c[i >> 2] | 0;
  109310. fa = i;
  109311. }
  109312. c[fa >> 2] = h;
  109313. c[(ea + 12) >> 2] = h;
  109314. c[(h + 8) >> 2] = ea;
  109315. c[(h + 12) >> 2] = v;
  109316. break;
  109317. }
  109318. v = Y >>> 8;
  109319. if (v) {
  109320. if (Y >>> 0 > 16777215) ga = 31;
  109321. else {
  109322. i = (((v + 1048320) | 0) >>> 16) & 8;
  109323. t = v << i;
  109324. v = (((t + 520192) | 0) >>> 16) & 4;
  109325. o = t << v;
  109326. t = (((o + 245760) | 0) >>> 16) & 2;
  109327. g =
  109328. (14 - (v | i | t) + ((o << t) >>> 15)) | 0;
  109329. ga = ((Y >>> ((g + 7) | 0)) & 1) | (g << 1);
  109330. }
  109331. } else ga = 0;
  109332. g = (21976 + (ga << 2)) | 0;
  109333. c[(h + 28) >> 2] = ga;
  109334. t = (h + 16) | 0;
  109335. c[(t + 4) >> 2] = 0;
  109336. c[t >> 2] = 0;
  109337. t = 1 << ga;
  109338. if (!(da & t)) {
  109339. c[5419] = da | t;
  109340. c[g >> 2] = h;
  109341. c[(h + 24) >> 2] = g;
  109342. c[(h + 12) >> 2] = h;
  109343. c[(h + 8) >> 2] = h;
  109344. break;
  109345. }
  109346. t = c[g >> 2] | 0;
  109347. c: do {
  109348. if (((c[(t + 4) >> 2] & -8) | 0) == (Y | 0))
  109349. ha = t;
  109350. else {
  109351. g =
  109352. Y <<
  109353. ((ga | 0) == 31
  109354. ? 0
  109355. : (25 - (ga >>> 1)) | 0);
  109356. o = t;
  109357. while (1) {
  109358. ia = (o + 16 + ((g >>> 31) << 2)) | 0;
  109359. i = c[ia >> 2] | 0;
  109360. if (!i) break;
  109361. if (
  109362. ((c[(i + 4) >> 2] & -8) | 0) ==
  109363. (Y | 0)
  109364. ) {
  109365. ha = i;
  109366. break c;
  109367. } else {
  109368. g = g << 1;
  109369. o = i;
  109370. }
  109371. }
  109372. c[ia >> 2] = h;
  109373. c[(h + 24) >> 2] = o;
  109374. c[(h + 12) >> 2] = h;
  109375. c[(h + 8) >> 2] = h;
  109376. break b;
  109377. }
  109378. } while (0);
  109379. t = (ha + 8) | 0;
  109380. I = c[t >> 2] | 0;
  109381. c[(I + 12) >> 2] = h;
  109382. c[t >> 2] = h;
  109383. c[(h + 8) >> 2] = I;
  109384. c[(h + 12) >> 2] = ha;
  109385. c[(h + 24) >> 2] = 0;
  109386. }
  109387. } while (0);
  109388. p = (X + 8) | 0;
  109389. l = b;
  109390. return p | 0;
  109391. } else G = f;
  109392. } else G = f;
  109393. } else G = -1;
  109394. } while (0);
  109395. X = c[5420] | 0;
  109396. if (X >>> 0 >= G >>> 0) {
  109397. ha = (X - G) | 0;
  109398. ia = c[5423] | 0;
  109399. if (ha >>> 0 > 15) {
  109400. Y = (ia + G) | 0;
  109401. c[5423] = Y;
  109402. c[5420] = ha;
  109403. c[(Y + 4) >> 2] = ha | 1;
  109404. c[(ia + X) >> 2] = ha;
  109405. c[(ia + 4) >> 2] = G | 3;
  109406. } else {
  109407. c[5420] = 0;
  109408. c[5423] = 0;
  109409. c[(ia + 4) >> 2] = X | 3;
  109410. ha = (ia + X + 4) | 0;
  109411. c[ha >> 2] = c[ha >> 2] | 1;
  109412. }
  109413. p = (ia + 8) | 0;
  109414. l = b;
  109415. return p | 0;
  109416. }
  109417. ia = c[5421] | 0;
  109418. if (ia >>> 0 > G >>> 0) {
  109419. ha = (ia - G) | 0;
  109420. c[5421] = ha;
  109421. X = c[5424] | 0;
  109422. Y = (X + G) | 0;
  109423. c[5424] = Y;
  109424. c[(Y + 4) >> 2] = ha | 1;
  109425. c[(X + 4) >> 2] = G | 3;
  109426. p = (X + 8) | 0;
  109427. l = b;
  109428. return p | 0;
  109429. }
  109430. if (!(c[5536] | 0)) {
  109431. c[5538] = 4096;
  109432. c[5537] = 4096;
  109433. c[5539] = -1;
  109434. c[5540] = -1;
  109435. c[5541] = 0;
  109436. c[5529] = 0;
  109437. c[5536] = (d & -16) ^ 1431655768;
  109438. ja = 4096;
  109439. } else ja = c[5538] | 0;
  109440. d = (G + 48) | 0;
  109441. X = (G + 47) | 0;
  109442. ha = (ja + X) | 0;
  109443. Y = (0 - ja) | 0;
  109444. ja = ha & Y;
  109445. if (ja >>> 0 <= G >>> 0) {
  109446. p = 0;
  109447. l = b;
  109448. return p | 0;
  109449. }
  109450. ga = c[5528] | 0;
  109451. if (
  109452. ga | 0
  109453. ? ((da = c[5526] | 0),
  109454. (ea = (da + ja) | 0),
  109455. (ea >>> 0 <= da >>> 0) | (ea >>> 0 > ga >>> 0))
  109456. : 0
  109457. ) {
  109458. p = 0;
  109459. l = b;
  109460. return p | 0;
  109461. }
  109462. d: do {
  109463. if (!(c[5529] & 4)) {
  109464. ga = c[5424] | 0;
  109465. e: do {
  109466. if (ga) {
  109467. ea = 22120;
  109468. while (1) {
  109469. da = c[ea >> 2] | 0;
  109470. if (
  109471. da >>> 0 <= ga >>> 0
  109472. ? ((da + (c[(ea + 4) >> 2] | 0)) | 0) >>> 0 >
  109473. ga >>> 0
  109474. : 0
  109475. )
  109476. break;
  109477. da = c[(ea + 8) >> 2] | 0;
  109478. if (!da) {
  109479. M = 128;
  109480. break e;
  109481. } else ea = da;
  109482. }
  109483. da = (ha - ia) & Y;
  109484. if (da >>> 0 < 2147483647) {
  109485. fa = pE(da | 0) | 0;
  109486. if (
  109487. (fa | 0) ==
  109488. (((c[ea >> 2] | 0) + (c[(ea + 4) >> 2] | 0)) | 0)
  109489. ) {
  109490. if ((fa | 0) == (-1 | 0)) ka = da;
  109491. else {
  109492. la = da;
  109493. ma = fa;
  109494. M = 145;
  109495. break d;
  109496. }
  109497. } else {
  109498. na = fa;
  109499. oa = da;
  109500. M = 136;
  109501. }
  109502. } else ka = 0;
  109503. } else M = 128;
  109504. } while (0);
  109505. do {
  109506. if ((M | 0) == 128) {
  109507. ga = pE(0) | 0;
  109508. if (
  109509. (ga | 0) != (-1 | 0)
  109510. ? ((f = ga),
  109511. (da = c[5537] | 0),
  109512. (fa = (da + -1) | 0),
  109513. (_ =
  109514. ((((fa & f) | 0) == 0
  109515. ? 0
  109516. : (((fa + f) & (0 - da)) - f) | 0) +
  109517. ja) |
  109518. 0),
  109519. (f = c[5526] | 0),
  109520. (da = (_ + f) | 0),
  109521. (_ >>> 0 > G >>> 0) & (_ >>> 0 < 2147483647))
  109522. : 0
  109523. ) {
  109524. fa = c[5528] | 0;
  109525. if (
  109526. fa | 0
  109527. ? (da >>> 0 <= f >>> 0) | (da >>> 0 > fa >>> 0)
  109528. : 0
  109529. ) {
  109530. ka = 0;
  109531. break;
  109532. }
  109533. fa = pE(_ | 0) | 0;
  109534. if ((fa | 0) == (ga | 0)) {
  109535. la = _;
  109536. ma = ga;
  109537. M = 145;
  109538. break d;
  109539. } else {
  109540. na = fa;
  109541. oa = _;
  109542. M = 136;
  109543. }
  109544. } else ka = 0;
  109545. }
  109546. } while (0);
  109547. do {
  109548. if ((M | 0) == 136) {
  109549. _ = (0 - oa) | 0;
  109550. if (
  109551. !(
  109552. (d >>> 0 > oa >>> 0) &
  109553. ((oa >>> 0 < 2147483647) & ((na | 0) != (-1 | 0)))
  109554. )
  109555. )
  109556. if ((na | 0) == (-1 | 0)) {
  109557. ka = 0;
  109558. break;
  109559. } else {
  109560. la = oa;
  109561. ma = na;
  109562. M = 145;
  109563. break d;
  109564. }
  109565. fa = c[5538] | 0;
  109566. ga = (X - oa + fa) & (0 - fa);
  109567. if (ga >>> 0 >= 2147483647) {
  109568. la = oa;
  109569. ma = na;
  109570. M = 145;
  109571. break d;
  109572. }
  109573. if ((pE(ga | 0) | 0) == (-1 | 0)) {
  109574. pE(_ | 0) | 0;
  109575. ka = 0;
  109576. break;
  109577. } else {
  109578. la = (ga + oa) | 0;
  109579. ma = na;
  109580. M = 145;
  109581. break d;
  109582. }
  109583. }
  109584. } while (0);
  109585. c[5529] = c[5529] | 4;
  109586. pa = ka;
  109587. M = 143;
  109588. } else {
  109589. pa = 0;
  109590. M = 143;
  109591. }
  109592. } while (0);
  109593. if (
  109594. ((M | 0) == 143 ? ja >>> 0 < 2147483647 : 0)
  109595. ? ((ka = pE(ja | 0) | 0),
  109596. (ja = pE(0) | 0),
  109597. (na = (ja - ka) | 0),
  109598. (oa = na >>> 0 > ((G + 40) | 0) >>> 0),
  109599. !(
  109600. ((ka | 0) == (-1 | 0)) |
  109601. (oa ^ 1) |
  109602. (((ka >>> 0 < ja >>> 0) &
  109603. (((ka | 0) != (-1 | 0)) & ((ja | 0) != (-1 | 0)))) ^
  109604. 1)
  109605. ))
  109606. : 0
  109607. ) {
  109608. la = oa ? na : pa;
  109609. ma = ka;
  109610. M = 145;
  109611. }
  109612. if ((M | 0) == 145) {
  109613. ka = ((c[5526] | 0) + la) | 0;
  109614. c[5526] = ka;
  109615. if (ka >>> 0 > (c[5527] | 0) >>> 0) c[5527] = ka;
  109616. ka = c[5424] | 0;
  109617. f: do {
  109618. if (ka) {
  109619. pa = 22120;
  109620. while (1) {
  109621. qa = c[pa >> 2] | 0;
  109622. ra = c[(pa + 4) >> 2] | 0;
  109623. if ((ma | 0) == ((qa + ra) | 0)) {
  109624. M = 154;
  109625. break;
  109626. }
  109627. na = c[(pa + 8) >> 2] | 0;
  109628. if (!na) break;
  109629. else pa = na;
  109630. }
  109631. if (
  109632. (
  109633. (M | 0) == 154
  109634. ? ((na = (pa + 4) | 0),
  109635. ((c[(pa + 12) >> 2] & 8) | 0) == 0)
  109636. : 0
  109637. )
  109638. ? (ma >>> 0 > ka >>> 0) & (qa >>> 0 <= ka >>> 0)
  109639. : 0
  109640. ) {
  109641. c[na >> 2] = ra + la;
  109642. na = ((c[5421] | 0) + la) | 0;
  109643. oa = (ka + 8) | 0;
  109644. ja = ((oa & 7) | 0) == 0 ? 0 : (0 - oa) & 7;
  109645. oa = (ka + ja) | 0;
  109646. X = (na - ja) | 0;
  109647. c[5424] = oa;
  109648. c[5421] = X;
  109649. c[(oa + 4) >> 2] = X | 1;
  109650. c[(ka + na + 4) >> 2] = 40;
  109651. c[5425] = c[5540];
  109652. break;
  109653. }
  109654. if (ma >>> 0 < (c[5422] | 0) >>> 0) c[5422] = ma;
  109655. na = (ma + la) | 0;
  109656. X = 22120;
  109657. while (1) {
  109658. if ((c[X >> 2] | 0) == (na | 0)) {
  109659. M = 162;
  109660. break;
  109661. }
  109662. oa = c[(X + 8) >> 2] | 0;
  109663. if (!oa) break;
  109664. else X = oa;
  109665. }
  109666. if (
  109667. (M | 0) == 162 ? ((c[(X + 12) >> 2] & 8) | 0) == 0 : 0
  109668. ) {
  109669. c[X >> 2] = ma;
  109670. pa = (X + 4) | 0;
  109671. c[pa >> 2] = (c[pa >> 2] | 0) + la;
  109672. pa = (ma + 8) | 0;
  109673. oa =
  109674. (ma + (((pa & 7) | 0) == 0 ? 0 : (0 - pa) & 7)) | 0;
  109675. pa = (na + 8) | 0;
  109676. ja =
  109677. (na + (((pa & 7) | 0) == 0 ? 0 : (0 - pa) & 7)) | 0;
  109678. pa = (oa + G) | 0;
  109679. d = (ja - oa - G) | 0;
  109680. c[(oa + 4) >> 2] = G | 3;
  109681. g: do {
  109682. if ((ka | 0) == (ja | 0)) {
  109683. Y = ((c[5421] | 0) + d) | 0;
  109684. c[5421] = Y;
  109685. c[5424] = pa;
  109686. c[(pa + 4) >> 2] = Y | 1;
  109687. } else {
  109688. if ((c[5423] | 0) == (ja | 0)) {
  109689. Y = ((c[5420] | 0) + d) | 0;
  109690. c[5420] = Y;
  109691. c[5423] = pa;
  109692. c[(pa + 4) >> 2] = Y | 1;
  109693. c[(pa + Y) >> 2] = Y;
  109694. break;
  109695. }
  109696. Y = c[(ja + 4) >> 2] | 0;
  109697. if (((Y & 3) | 0) == 1) {
  109698. ia = Y & -8;
  109699. ha = Y >>> 3;
  109700. h: do {
  109701. if (Y >>> 0 < 256) {
  109702. ga = c[(ja + 8) >> 2] | 0;
  109703. _ = c[(ja + 12) >> 2] | 0;
  109704. if ((_ | 0) == (ga | 0)) {
  109705. c[5418] = c[5418] & ~(1 << ha);
  109706. break;
  109707. } else {
  109708. c[(ga + 12) >> 2] = _;
  109709. c[(_ + 8) >> 2] = ga;
  109710. break;
  109711. }
  109712. } else {
  109713. ga = c[(ja + 24) >> 2] | 0;
  109714. _ = c[(ja + 12) >> 2] | 0;
  109715. do {
  109716. if ((_ | 0) == (ja | 0)) {
  109717. fa = (ja + 16) | 0;
  109718. da = (fa + 4) | 0;
  109719. f = c[da >> 2] | 0;
  109720. if (!f) {
  109721. ca = c[fa >> 2] | 0;
  109722. if (!ca) {
  109723. sa = 0;
  109724. break;
  109725. } else {
  109726. ta = ca;
  109727. ua = fa;
  109728. }
  109729. } else {
  109730. ta = f;
  109731. ua = da;
  109732. }
  109733. da = ta;
  109734. f = ua;
  109735. while (1) {
  109736. fa = (da + 20) | 0;
  109737. ca = c[fa >> 2] | 0;
  109738. if (!ca) {
  109739. ba = (da + 16) | 0;
  109740. aa = c[ba >> 2] | 0;
  109741. if (!aa) break;
  109742. else {
  109743. va = aa;
  109744. wa = ba;
  109745. }
  109746. } else {
  109747. va = ca;
  109748. wa = fa;
  109749. }
  109750. da = va;
  109751. f = wa;
  109752. }
  109753. c[f >> 2] = 0;
  109754. sa = da;
  109755. } else {
  109756. fa = c[(ja + 8) >> 2] | 0;
  109757. c[(fa + 12) >> 2] = _;
  109758. c[(_ + 8) >> 2] = fa;
  109759. sa = _;
  109760. }
  109761. } while (0);
  109762. if (!ga) break;
  109763. _ = c[(ja + 28) >> 2] | 0;
  109764. o = (21976 + (_ << 2)) | 0;
  109765. do {
  109766. if ((c[o >> 2] | 0) != (ja | 0)) {
  109767. fa = (ga + 16) | 0;
  109768. c[
  109769. ((c[fa >> 2] | 0) == (ja | 0)
  109770. ? fa
  109771. : (ga + 20) | 0) >> 2
  109772. ] = sa;
  109773. if (!sa) break h;
  109774. } else {
  109775. c[o >> 2] = sa;
  109776. if (sa | 0) break;
  109777. c[5419] = c[5419] & ~(1 << _);
  109778. break h;
  109779. }
  109780. } while (0);
  109781. c[(sa + 24) >> 2] = ga;
  109782. _ = (ja + 16) | 0;
  109783. o = c[_ >> 2] | 0;
  109784. if (o | 0) {
  109785. c[(sa + 16) >> 2] = o;
  109786. c[(o + 24) >> 2] = sa;
  109787. }
  109788. o = c[(_ + 4) >> 2] | 0;
  109789. if (!o) break;
  109790. c[(sa + 20) >> 2] = o;
  109791. c[(o + 24) >> 2] = sa;
  109792. }
  109793. } while (0);
  109794. xa = (ja + ia) | 0;
  109795. ya = (ia + d) | 0;
  109796. } else {
  109797. xa = ja;
  109798. ya = d;
  109799. }
  109800. ha = (xa + 4) | 0;
  109801. c[ha >> 2] = c[ha >> 2] & -2;
  109802. c[(pa + 4) >> 2] = ya | 1;
  109803. c[(pa + ya) >> 2] = ya;
  109804. ha = ya >>> 3;
  109805. if (ya >>> 0 < 256) {
  109806. Y = (21712 + ((ha << 1) << 2)) | 0;
  109807. ea = c[5418] | 0;
  109808. o = 1 << ha;
  109809. if (!(ea & o)) {
  109810. c[5418] = ea | o;
  109811. za = Y;
  109812. Aa = (Y + 8) | 0;
  109813. } else {
  109814. o = (Y + 8) | 0;
  109815. za = c[o >> 2] | 0;
  109816. Aa = o;
  109817. }
  109818. c[Aa >> 2] = pa;
  109819. c[(za + 12) >> 2] = pa;
  109820. c[(pa + 8) >> 2] = za;
  109821. c[(pa + 12) >> 2] = Y;
  109822. break;
  109823. }
  109824. Y = ya >>> 8;
  109825. do {
  109826. if (!Y) Ba = 0;
  109827. else {
  109828. if (ya >>> 0 > 16777215) {
  109829. Ba = 31;
  109830. break;
  109831. }
  109832. o = (((Y + 1048320) | 0) >>> 16) & 8;
  109833. ea = Y << o;
  109834. ha = (((ea + 520192) | 0) >>> 16) & 4;
  109835. _ = ea << ha;
  109836. ea = (((_ + 245760) | 0) >>> 16) & 2;
  109837. fa =
  109838. (14 - (ha | o | ea) + ((_ << ea) >>> 15)) |
  109839. 0;
  109840. Ba =
  109841. ((ya >>> ((fa + 7) | 0)) & 1) | (fa << 1);
  109842. }
  109843. } while (0);
  109844. Y = (21976 + (Ba << 2)) | 0;
  109845. c[(pa + 28) >> 2] = Ba;
  109846. ia = (pa + 16) | 0;
  109847. c[(ia + 4) >> 2] = 0;
  109848. c[ia >> 2] = 0;
  109849. ia = c[5419] | 0;
  109850. fa = 1 << Ba;
  109851. if (!(ia & fa)) {
  109852. c[5419] = ia | fa;
  109853. c[Y >> 2] = pa;
  109854. c[(pa + 24) >> 2] = Y;
  109855. c[(pa + 12) >> 2] = pa;
  109856. c[(pa + 8) >> 2] = pa;
  109857. break;
  109858. }
  109859. fa = c[Y >> 2] | 0;
  109860. i: do {
  109861. if (((c[(fa + 4) >> 2] & -8) | 0) == (ya | 0))
  109862. Ca = fa;
  109863. else {
  109864. Y =
  109865. ya <<
  109866. ((Ba | 0) == 31
  109867. ? 0
  109868. : (25 - (Ba >>> 1)) | 0);
  109869. ia = fa;
  109870. while (1) {
  109871. Da = (ia + 16 + ((Y >>> 31) << 2)) | 0;
  109872. ea = c[Da >> 2] | 0;
  109873. if (!ea) break;
  109874. if (
  109875. ((c[(ea + 4) >> 2] & -8) | 0) ==
  109876. (ya | 0)
  109877. ) {
  109878. Ca = ea;
  109879. break i;
  109880. } else {
  109881. Y = Y << 1;
  109882. ia = ea;
  109883. }
  109884. }
  109885. c[Da >> 2] = pa;
  109886. c[(pa + 24) >> 2] = ia;
  109887. c[(pa + 12) >> 2] = pa;
  109888. c[(pa + 8) >> 2] = pa;
  109889. break g;
  109890. }
  109891. } while (0);
  109892. fa = (Ca + 8) | 0;
  109893. Y = c[fa >> 2] | 0;
  109894. c[(Y + 12) >> 2] = pa;
  109895. c[fa >> 2] = pa;
  109896. c[(pa + 8) >> 2] = Y;
  109897. c[(pa + 12) >> 2] = Ca;
  109898. c[(pa + 24) >> 2] = 0;
  109899. }
  109900. } while (0);
  109901. p = (oa + 8) | 0;
  109902. l = b;
  109903. return p | 0;
  109904. }
  109905. pa = 22120;
  109906. while (1) {
  109907. d = c[pa >> 2] | 0;
  109908. if (
  109909. d >>> 0 <= ka >>> 0
  109910. ? ((Ea = (d + (c[(pa + 4) >> 2] | 0)) | 0),
  109911. Ea >>> 0 > ka >>> 0)
  109912. : 0
  109913. )
  109914. break;
  109915. pa = c[(pa + 8) >> 2] | 0;
  109916. }
  109917. pa = (Ea + -47) | 0;
  109918. oa = (pa + 8) | 0;
  109919. d = (pa + (((oa & 7) | 0) == 0 ? 0 : (0 - oa) & 7)) | 0;
  109920. oa = (ka + 16) | 0;
  109921. pa = d >>> 0 < oa >>> 0 ? ka : d;
  109922. d = (pa + 8) | 0;
  109923. ja = (la + -40) | 0;
  109924. na = (ma + 8) | 0;
  109925. X = ((na & 7) | 0) == 0 ? 0 : (0 - na) & 7;
  109926. na = (ma + X) | 0;
  109927. Y = (ja - X) | 0;
  109928. c[5424] = na;
  109929. c[5421] = Y;
  109930. c[(na + 4) >> 2] = Y | 1;
  109931. c[(ma + ja + 4) >> 2] = 40;
  109932. c[5425] = c[5540];
  109933. ja = (pa + 4) | 0;
  109934. c[ja >> 2] = 27;
  109935. c[d >> 2] = c[5530];
  109936. c[(d + 4) >> 2] = c[5531];
  109937. c[(d + 8) >> 2] = c[5532];
  109938. c[(d + 12) >> 2] = c[5533];
  109939. c[5530] = ma;
  109940. c[5531] = la;
  109941. c[5533] = 0;
  109942. c[5532] = d;
  109943. d = (pa + 24) | 0;
  109944. do {
  109945. Y = d;
  109946. d = (d + 4) | 0;
  109947. c[d >> 2] = 7;
  109948. } while (((Y + 8) | 0) >>> 0 < Ea >>> 0);
  109949. if ((pa | 0) != (ka | 0)) {
  109950. d = (pa - ka) | 0;
  109951. c[ja >> 2] = c[ja >> 2] & -2;
  109952. c[(ka + 4) >> 2] = d | 1;
  109953. c[pa >> 2] = d;
  109954. Y = d >>> 3;
  109955. if (d >>> 0 < 256) {
  109956. na = (21712 + ((Y << 1) << 2)) | 0;
  109957. X = c[5418] | 0;
  109958. fa = 1 << Y;
  109959. if (!(X & fa)) {
  109960. c[5418] = X | fa;
  109961. Fa = na;
  109962. Ga = (na + 8) | 0;
  109963. } else {
  109964. fa = (na + 8) | 0;
  109965. Fa = c[fa >> 2] | 0;
  109966. Ga = fa;
  109967. }
  109968. c[Ga >> 2] = ka;
  109969. c[(Fa + 12) >> 2] = ka;
  109970. c[(ka + 8) >> 2] = Fa;
  109971. c[(ka + 12) >> 2] = na;
  109972. break;
  109973. }
  109974. na = d >>> 8;
  109975. if (na) {
  109976. if (d >>> 0 > 16777215) Ha = 31;
  109977. else {
  109978. fa = (((na + 1048320) | 0) >>> 16) & 8;
  109979. X = na << fa;
  109980. na = (((X + 520192) | 0) >>> 16) & 4;
  109981. Y = X << na;
  109982. X = (((Y + 245760) | 0) >>> 16) & 2;
  109983. ga = (14 - (na | fa | X) + ((Y << X) >>> 15)) | 0;
  109984. Ha = ((d >>> ((ga + 7) | 0)) & 1) | (ga << 1);
  109985. }
  109986. } else Ha = 0;
  109987. ga = (21976 + (Ha << 2)) | 0;
  109988. c[(ka + 28) >> 2] = Ha;
  109989. c[(ka + 20) >> 2] = 0;
  109990. c[oa >> 2] = 0;
  109991. X = c[5419] | 0;
  109992. Y = 1 << Ha;
  109993. if (!(X & Y)) {
  109994. c[5419] = X | Y;
  109995. c[ga >> 2] = ka;
  109996. c[(ka + 24) >> 2] = ga;
  109997. c[(ka + 12) >> 2] = ka;
  109998. c[(ka + 8) >> 2] = ka;
  109999. break;
  110000. }
  110001. Y = c[ga >> 2] | 0;
  110002. j: do {
  110003. if (((c[(Y + 4) >> 2] & -8) | 0) == (d | 0)) Ia = Y;
  110004. else {
  110005. ga =
  110006. d <<
  110007. ((Ha | 0) == 31 ? 0 : (25 - (Ha >>> 1)) | 0);
  110008. X = Y;
  110009. while (1) {
  110010. Ja = (X + 16 + ((ga >>> 31) << 2)) | 0;
  110011. fa = c[Ja >> 2] | 0;
  110012. if (!fa) break;
  110013. if (((c[(fa + 4) >> 2] & -8) | 0) == (d | 0)) {
  110014. Ia = fa;
  110015. break j;
  110016. } else {
  110017. ga = ga << 1;
  110018. X = fa;
  110019. }
  110020. }
  110021. c[Ja >> 2] = ka;
  110022. c[(ka + 24) >> 2] = X;
  110023. c[(ka + 12) >> 2] = ka;
  110024. c[(ka + 8) >> 2] = ka;
  110025. break f;
  110026. }
  110027. } while (0);
  110028. d = (Ia + 8) | 0;
  110029. Y = c[d >> 2] | 0;
  110030. c[(Y + 12) >> 2] = ka;
  110031. c[d >> 2] = ka;
  110032. c[(ka + 8) >> 2] = Y;
  110033. c[(ka + 12) >> 2] = Ia;
  110034. c[(ka + 24) >> 2] = 0;
  110035. }
  110036. } else {
  110037. Y = c[5422] | 0;
  110038. if (((Y | 0) == 0) | (ma >>> 0 < Y >>> 0)) c[5422] = ma;
  110039. c[5530] = ma;
  110040. c[5531] = la;
  110041. c[5533] = 0;
  110042. c[5427] = c[5536];
  110043. c[5426] = -1;
  110044. c[5431] = 21712;
  110045. c[5430] = 21712;
  110046. c[5433] = 21720;
  110047. c[5432] = 21720;
  110048. c[5435] = 21728;
  110049. c[5434] = 21728;
  110050. c[5437] = 21736;
  110051. c[5436] = 21736;
  110052. c[5439] = 21744;
  110053. c[5438] = 21744;
  110054. c[5441] = 21752;
  110055. c[5440] = 21752;
  110056. c[5443] = 21760;
  110057. c[5442] = 21760;
  110058. c[5445] = 21768;
  110059. c[5444] = 21768;
  110060. c[5447] = 21776;
  110061. c[5446] = 21776;
  110062. c[5449] = 21784;
  110063. c[5448] = 21784;
  110064. c[5451] = 21792;
  110065. c[5450] = 21792;
  110066. c[5453] = 21800;
  110067. c[5452] = 21800;
  110068. c[5455] = 21808;
  110069. c[5454] = 21808;
  110070. c[5457] = 21816;
  110071. c[5456] = 21816;
  110072. c[5459] = 21824;
  110073. c[5458] = 21824;
  110074. c[5461] = 21832;
  110075. c[5460] = 21832;
  110076. c[5463] = 21840;
  110077. c[5462] = 21840;
  110078. c[5465] = 21848;
  110079. c[5464] = 21848;
  110080. c[5467] = 21856;
  110081. c[5466] = 21856;
  110082. c[5469] = 21864;
  110083. c[5468] = 21864;
  110084. c[5471] = 21872;
  110085. c[5470] = 21872;
  110086. c[5473] = 21880;
  110087. c[5472] = 21880;
  110088. c[5475] = 21888;
  110089. c[5474] = 21888;
  110090. c[5477] = 21896;
  110091. c[5476] = 21896;
  110092. c[5479] = 21904;
  110093. c[5478] = 21904;
  110094. c[5481] = 21912;
  110095. c[5480] = 21912;
  110096. c[5483] = 21920;
  110097. c[5482] = 21920;
  110098. c[5485] = 21928;
  110099. c[5484] = 21928;
  110100. c[5487] = 21936;
  110101. c[5486] = 21936;
  110102. c[5489] = 21944;
  110103. c[5488] = 21944;
  110104. c[5491] = 21952;
  110105. c[5490] = 21952;
  110106. c[5493] = 21960;
  110107. c[5492] = 21960;
  110108. Y = (la + -40) | 0;
  110109. d = (ma + 8) | 0;
  110110. oa = ((d & 7) | 0) == 0 ? 0 : (0 - d) & 7;
  110111. d = (ma + oa) | 0;
  110112. pa = (Y - oa) | 0;
  110113. c[5424] = d;
  110114. c[5421] = pa;
  110115. c[(d + 4) >> 2] = pa | 1;
  110116. c[(ma + Y + 4) >> 2] = 40;
  110117. c[5425] = c[5540];
  110118. }
  110119. } while (0);
  110120. ma = c[5421] | 0;
  110121. if (ma >>> 0 > G >>> 0) {
  110122. la = (ma - G) | 0;
  110123. c[5421] = la;
  110124. ma = c[5424] | 0;
  110125. ka = (ma + G) | 0;
  110126. c[5424] = ka;
  110127. c[(ka + 4) >> 2] = la | 1;
  110128. c[(ma + 4) >> 2] = G | 3;
  110129. p = (ma + 8) | 0;
  110130. l = b;
  110131. return p | 0;
  110132. }
  110133. }
  110134. c[(My() | 0) >> 2] = 12;
  110135. p = 0;
  110136. l = b;
  110137. return p | 0;
  110138. }
  110139. function Dy(a) {
  110140. a = a | 0;
  110141. var b = 0,
  110142. d = 0,
  110143. e = 0,
  110144. f = 0,
  110145. g = 0,
  110146. h = 0,
  110147. i = 0,
  110148. j = 0,
  110149. k = 0,
  110150. l = 0,
  110151. m = 0,
  110152. n = 0,
  110153. o = 0,
  110154. p = 0,
  110155. q = 0,
  110156. r = 0,
  110157. s = 0,
  110158. t = 0,
  110159. u = 0,
  110160. v = 0,
  110161. w = 0,
  110162. x = 0,
  110163. y = 0,
  110164. z = 0,
  110165. A = 0,
  110166. B = 0,
  110167. C = 0,
  110168. D = 0,
  110169. E = 0,
  110170. F = 0,
  110171. G = 0,
  110172. H = 0,
  110173. I = 0;
  110174. if (!a) return;
  110175. b = (a + -8) | 0;
  110176. d = c[5422] | 0;
  110177. e = c[(a + -4) >> 2] | 0;
  110178. a = e & -8;
  110179. f = (b + a) | 0;
  110180. do {
  110181. if (!(e & 1)) {
  110182. g = c[b >> 2] | 0;
  110183. if (!(e & 3)) return;
  110184. h = (b + (0 - g)) | 0;
  110185. i = (g + a) | 0;
  110186. if (h >>> 0 < d >>> 0) return;
  110187. if ((c[5423] | 0) == (h | 0)) {
  110188. j = (f + 4) | 0;
  110189. k = c[j >> 2] | 0;
  110190. if (((k & 3) | 0) != 3) {
  110191. l = h;
  110192. m = i;
  110193. n = h;
  110194. break;
  110195. }
  110196. c[5420] = i;
  110197. c[j >> 2] = k & -2;
  110198. c[(h + 4) >> 2] = i | 1;
  110199. c[(h + i) >> 2] = i;
  110200. return;
  110201. }
  110202. k = g >>> 3;
  110203. if (g >>> 0 < 256) {
  110204. g = c[(h + 8) >> 2] | 0;
  110205. j = c[(h + 12) >> 2] | 0;
  110206. if ((j | 0) == (g | 0)) {
  110207. c[5418] = c[5418] & ~(1 << k);
  110208. l = h;
  110209. m = i;
  110210. n = h;
  110211. break;
  110212. } else {
  110213. c[(g + 12) >> 2] = j;
  110214. c[(j + 8) >> 2] = g;
  110215. l = h;
  110216. m = i;
  110217. n = h;
  110218. break;
  110219. }
  110220. }
  110221. g = c[(h + 24) >> 2] | 0;
  110222. j = c[(h + 12) >> 2] | 0;
  110223. do {
  110224. if ((j | 0) == (h | 0)) {
  110225. k = (h + 16) | 0;
  110226. o = (k + 4) | 0;
  110227. p = c[o >> 2] | 0;
  110228. if (!p) {
  110229. q = c[k >> 2] | 0;
  110230. if (!q) {
  110231. r = 0;
  110232. break;
  110233. } else {
  110234. s = q;
  110235. t = k;
  110236. }
  110237. } else {
  110238. s = p;
  110239. t = o;
  110240. }
  110241. o = s;
  110242. p = t;
  110243. while (1) {
  110244. k = (o + 20) | 0;
  110245. q = c[k >> 2] | 0;
  110246. if (!q) {
  110247. u = (o + 16) | 0;
  110248. v = c[u >> 2] | 0;
  110249. if (!v) break;
  110250. else {
  110251. w = v;
  110252. x = u;
  110253. }
  110254. } else {
  110255. w = q;
  110256. x = k;
  110257. }
  110258. o = w;
  110259. p = x;
  110260. }
  110261. c[p >> 2] = 0;
  110262. r = o;
  110263. } else {
  110264. k = c[(h + 8) >> 2] | 0;
  110265. c[(k + 12) >> 2] = j;
  110266. c[(j + 8) >> 2] = k;
  110267. r = j;
  110268. }
  110269. } while (0);
  110270. if (g) {
  110271. j = c[(h + 28) >> 2] | 0;
  110272. k = (21976 + (j << 2)) | 0;
  110273. if ((c[k >> 2] | 0) == (h | 0)) {
  110274. c[k >> 2] = r;
  110275. if (!r) {
  110276. c[5419] = c[5419] & ~(1 << j);
  110277. l = h;
  110278. m = i;
  110279. n = h;
  110280. break;
  110281. }
  110282. } else {
  110283. j = (g + 16) | 0;
  110284. c[
  110285. ((c[j >> 2] | 0) == (h | 0) ? j : (g + 20) | 0) >> 2
  110286. ] = r;
  110287. if (!r) {
  110288. l = h;
  110289. m = i;
  110290. n = h;
  110291. break;
  110292. }
  110293. }
  110294. c[(r + 24) >> 2] = g;
  110295. j = (h + 16) | 0;
  110296. k = c[j >> 2] | 0;
  110297. if (k | 0) {
  110298. c[(r + 16) >> 2] = k;
  110299. c[(k + 24) >> 2] = r;
  110300. }
  110301. k = c[(j + 4) >> 2] | 0;
  110302. if (k) {
  110303. c[(r + 20) >> 2] = k;
  110304. c[(k + 24) >> 2] = r;
  110305. l = h;
  110306. m = i;
  110307. n = h;
  110308. } else {
  110309. l = h;
  110310. m = i;
  110311. n = h;
  110312. }
  110313. } else {
  110314. l = h;
  110315. m = i;
  110316. n = h;
  110317. }
  110318. } else {
  110319. l = b;
  110320. m = a;
  110321. n = b;
  110322. }
  110323. } while (0);
  110324. if (n >>> 0 >= f >>> 0) return;
  110325. b = (f + 4) | 0;
  110326. a = c[b >> 2] | 0;
  110327. if (!(a & 1)) return;
  110328. if (!(a & 2)) {
  110329. if ((c[5424] | 0) == (f | 0)) {
  110330. r = ((c[5421] | 0) + m) | 0;
  110331. c[5421] = r;
  110332. c[5424] = l;
  110333. c[(l + 4) >> 2] = r | 1;
  110334. if ((l | 0) != (c[5423] | 0)) return;
  110335. c[5423] = 0;
  110336. c[5420] = 0;
  110337. return;
  110338. }
  110339. if ((c[5423] | 0) == (f | 0)) {
  110340. r = ((c[5420] | 0) + m) | 0;
  110341. c[5420] = r;
  110342. c[5423] = n;
  110343. c[(l + 4) >> 2] = r | 1;
  110344. c[(n + r) >> 2] = r;
  110345. return;
  110346. }
  110347. r = ((a & -8) + m) | 0;
  110348. x = a >>> 3;
  110349. do {
  110350. if (a >>> 0 < 256) {
  110351. w = c[(f + 8) >> 2] | 0;
  110352. t = c[(f + 12) >> 2] | 0;
  110353. if ((t | 0) == (w | 0)) {
  110354. c[5418] = c[5418] & ~(1 << x);
  110355. break;
  110356. } else {
  110357. c[(w + 12) >> 2] = t;
  110358. c[(t + 8) >> 2] = w;
  110359. break;
  110360. }
  110361. } else {
  110362. w = c[(f + 24) >> 2] | 0;
  110363. t = c[(f + 12) >> 2] | 0;
  110364. do {
  110365. if ((t | 0) == (f | 0)) {
  110366. s = (f + 16) | 0;
  110367. d = (s + 4) | 0;
  110368. e = c[d >> 2] | 0;
  110369. if (!e) {
  110370. k = c[s >> 2] | 0;
  110371. if (!k) {
  110372. y = 0;
  110373. break;
  110374. } else {
  110375. z = k;
  110376. A = s;
  110377. }
  110378. } else {
  110379. z = e;
  110380. A = d;
  110381. }
  110382. d = z;
  110383. e = A;
  110384. while (1) {
  110385. s = (d + 20) | 0;
  110386. k = c[s >> 2] | 0;
  110387. if (!k) {
  110388. j = (d + 16) | 0;
  110389. q = c[j >> 2] | 0;
  110390. if (!q) break;
  110391. else {
  110392. B = q;
  110393. C = j;
  110394. }
  110395. } else {
  110396. B = k;
  110397. C = s;
  110398. }
  110399. d = B;
  110400. e = C;
  110401. }
  110402. c[e >> 2] = 0;
  110403. y = d;
  110404. } else {
  110405. o = c[(f + 8) >> 2] | 0;
  110406. c[(o + 12) >> 2] = t;
  110407. c[(t + 8) >> 2] = o;
  110408. y = t;
  110409. }
  110410. } while (0);
  110411. if (w | 0) {
  110412. t = c[(f + 28) >> 2] | 0;
  110413. h = (21976 + (t << 2)) | 0;
  110414. if ((c[h >> 2] | 0) == (f | 0)) {
  110415. c[h >> 2] = y;
  110416. if (!y) {
  110417. c[5419] = c[5419] & ~(1 << t);
  110418. break;
  110419. }
  110420. } else {
  110421. t = (w + 16) | 0;
  110422. c[
  110423. ((c[t >> 2] | 0) == (f | 0) ? t : (w + 20) | 0) >>
  110424. 2
  110425. ] = y;
  110426. if (!y) break;
  110427. }
  110428. c[(y + 24) >> 2] = w;
  110429. t = (f + 16) | 0;
  110430. h = c[t >> 2] | 0;
  110431. if (h | 0) {
  110432. c[(y + 16) >> 2] = h;
  110433. c[(h + 24) >> 2] = y;
  110434. }
  110435. h = c[(t + 4) >> 2] | 0;
  110436. if (h | 0) {
  110437. c[(y + 20) >> 2] = h;
  110438. c[(h + 24) >> 2] = y;
  110439. }
  110440. }
  110441. }
  110442. } while (0);
  110443. c[(l + 4) >> 2] = r | 1;
  110444. c[(n + r) >> 2] = r;
  110445. if ((l | 0) == (c[5423] | 0)) {
  110446. c[5420] = r;
  110447. return;
  110448. } else D = r;
  110449. } else {
  110450. c[b >> 2] = a & -2;
  110451. c[(l + 4) >> 2] = m | 1;
  110452. c[(n + m) >> 2] = m;
  110453. D = m;
  110454. }
  110455. m = D >>> 3;
  110456. if (D >>> 0 < 256) {
  110457. n = (21712 + ((m << 1) << 2)) | 0;
  110458. a = c[5418] | 0;
  110459. b = 1 << m;
  110460. if (!(a & b)) {
  110461. c[5418] = a | b;
  110462. E = n;
  110463. F = (n + 8) | 0;
  110464. } else {
  110465. b = (n + 8) | 0;
  110466. E = c[b >> 2] | 0;
  110467. F = b;
  110468. }
  110469. c[F >> 2] = l;
  110470. c[(E + 12) >> 2] = l;
  110471. c[(l + 8) >> 2] = E;
  110472. c[(l + 12) >> 2] = n;
  110473. return;
  110474. }
  110475. n = D >>> 8;
  110476. if (n) {
  110477. if (D >>> 0 > 16777215) G = 31;
  110478. else {
  110479. E = (((n + 1048320) | 0) >>> 16) & 8;
  110480. F = n << E;
  110481. n = (((F + 520192) | 0) >>> 16) & 4;
  110482. b = F << n;
  110483. F = (((b + 245760) | 0) >>> 16) & 2;
  110484. a = (14 - (n | E | F) + ((b << F) >>> 15)) | 0;
  110485. G = ((D >>> ((a + 7) | 0)) & 1) | (a << 1);
  110486. }
  110487. } else G = 0;
  110488. a = (21976 + (G << 2)) | 0;
  110489. c[(l + 28) >> 2] = G;
  110490. c[(l + 20) >> 2] = 0;
  110491. c[(l + 16) >> 2] = 0;
  110492. F = c[5419] | 0;
  110493. b = 1 << G;
  110494. a: do {
  110495. if (!(F & b)) {
  110496. c[5419] = F | b;
  110497. c[a >> 2] = l;
  110498. c[(l + 24) >> 2] = a;
  110499. c[(l + 12) >> 2] = l;
  110500. c[(l + 8) >> 2] = l;
  110501. } else {
  110502. E = c[a >> 2] | 0;
  110503. b: do {
  110504. if (((c[(E + 4) >> 2] & -8) | 0) == (D | 0)) H = E;
  110505. else {
  110506. n = D << ((G | 0) == 31 ? 0 : (25 - (G >>> 1)) | 0);
  110507. m = E;
  110508. while (1) {
  110509. I = (m + 16 + ((n >>> 31) << 2)) | 0;
  110510. r = c[I >> 2] | 0;
  110511. if (!r) break;
  110512. if (((c[(r + 4) >> 2] & -8) | 0) == (D | 0)) {
  110513. H = r;
  110514. break b;
  110515. } else {
  110516. n = n << 1;
  110517. m = r;
  110518. }
  110519. }
  110520. c[I >> 2] = l;
  110521. c[(l + 24) >> 2] = m;
  110522. c[(l + 12) >> 2] = l;
  110523. c[(l + 8) >> 2] = l;
  110524. break a;
  110525. }
  110526. } while (0);
  110527. E = (H + 8) | 0;
  110528. w = c[E >> 2] | 0;
  110529. c[(w + 12) >> 2] = l;
  110530. c[E >> 2] = l;
  110531. c[(l + 8) >> 2] = w;
  110532. c[(l + 12) >> 2] = H;
  110533. c[(l + 24) >> 2] = 0;
  110534. }
  110535. } while (0);
  110536. l = ((c[5426] | 0) + -1) | 0;
  110537. c[5426] = l;
  110538. if (l | 0) return;
  110539. l = 22128;
  110540. while (1) {
  110541. H = c[l >> 2] | 0;
  110542. if (!H) break;
  110543. else l = (H + 8) | 0;
  110544. }
  110545. c[5426] = -1;
  110546. return;
  110547. }
  110548. function Ey(a, b) {
  110549. a = a | 0;
  110550. b = b | 0;
  110551. var d = 0,
  110552. e = 0;
  110553. if (a) {
  110554. d = N(b, a) | 0;
  110555. if ((b | a) >>> 0 > 65535)
  110556. e = (((d >>> 0) / (a >>> 0)) | 0 | 0) == (b | 0) ? d : -1;
  110557. else e = d;
  110558. } else e = 0;
  110559. d = Cy(e) | 0;
  110560. if (!d) return d | 0;
  110561. if (!(c[(d + -4) >> 2] & 3)) return d | 0;
  110562. oE(d | 0, 0, e | 0) | 0;
  110563. return d | 0;
  110564. }
  110565. function Fy(a, b) {
  110566. a = a | 0;
  110567. b = b | 0;
  110568. var d = 0,
  110569. e = 0,
  110570. f = 0,
  110571. g = 0;
  110572. if (!a) {
  110573. d = Cy(b) | 0;
  110574. return d | 0;
  110575. }
  110576. if (b >>> 0 > 4294967231) {
  110577. c[(My() | 0) >> 2] = 12;
  110578. d = 0;
  110579. return d | 0;
  110580. }
  110581. e = Gy((a + -8) | 0, b >>> 0 < 11 ? 16 : (b + 11) & -8) | 0;
  110582. if (e | 0) {
  110583. d = (e + 8) | 0;
  110584. return d | 0;
  110585. }
  110586. e = Cy(b) | 0;
  110587. if (!e) {
  110588. d = 0;
  110589. return d | 0;
  110590. }
  110591. f = c[(a + -4) >> 2] | 0;
  110592. g = ((f & -8) - (((f & 3) | 0) == 0 ? 8 : 4)) | 0;
  110593. mE(e | 0, a | 0, (g >>> 0 < b >>> 0 ? g : b) | 0) | 0;
  110594. Dy(a);
  110595. d = e;
  110596. return d | 0;
  110597. }
  110598. function Gy(a, b) {
  110599. a = a | 0;
  110600. b = b | 0;
  110601. var d = 0,
  110602. e = 0,
  110603. f = 0,
  110604. g = 0,
  110605. h = 0,
  110606. i = 0,
  110607. j = 0,
  110608. k = 0,
  110609. l = 0,
  110610. m = 0,
  110611. n = 0,
  110612. o = 0,
  110613. p = 0,
  110614. q = 0,
  110615. r = 0,
  110616. s = 0,
  110617. t = 0,
  110618. u = 0,
  110619. v = 0,
  110620. w = 0,
  110621. x = 0;
  110622. d = (a + 4) | 0;
  110623. e = c[d >> 2] | 0;
  110624. f = e & -8;
  110625. g = (a + f) | 0;
  110626. if (!(e & 3)) {
  110627. if (b >>> 0 < 256) {
  110628. h = 0;
  110629. return h | 0;
  110630. }
  110631. if (
  110632. f >>> 0 >= ((b + 4) | 0) >>> 0
  110633. ? ((f - b) | 0) >>> 0 <= (c[5538] << 1) >>> 0
  110634. : 0
  110635. ) {
  110636. h = a;
  110637. return h | 0;
  110638. }
  110639. h = 0;
  110640. return h | 0;
  110641. }
  110642. if (f >>> 0 >= b >>> 0) {
  110643. i = (f - b) | 0;
  110644. if (i >>> 0 <= 15) {
  110645. h = a;
  110646. return h | 0;
  110647. }
  110648. j = (a + b) | 0;
  110649. c[d >> 2] = (e & 1) | b | 2;
  110650. c[(j + 4) >> 2] = i | 3;
  110651. k = (g + 4) | 0;
  110652. c[k >> 2] = c[k >> 2] | 1;
  110653. Hy(j, i);
  110654. h = a;
  110655. return h | 0;
  110656. }
  110657. if ((c[5424] | 0) == (g | 0)) {
  110658. i = ((c[5421] | 0) + f) | 0;
  110659. j = (i - b) | 0;
  110660. k = (a + b) | 0;
  110661. if (i >>> 0 <= b >>> 0) {
  110662. h = 0;
  110663. return h | 0;
  110664. }
  110665. c[d >> 2] = (e & 1) | b | 2;
  110666. c[(k + 4) >> 2] = j | 1;
  110667. c[5424] = k;
  110668. c[5421] = j;
  110669. h = a;
  110670. return h | 0;
  110671. }
  110672. if ((c[5423] | 0) == (g | 0)) {
  110673. j = ((c[5420] | 0) + f) | 0;
  110674. if (j >>> 0 < b >>> 0) {
  110675. h = 0;
  110676. return h | 0;
  110677. }
  110678. k = (j - b) | 0;
  110679. if (k >>> 0 > 15) {
  110680. i = (a + b) | 0;
  110681. l = (a + j) | 0;
  110682. c[d >> 2] = (e & 1) | b | 2;
  110683. c[(i + 4) >> 2] = k | 1;
  110684. c[l >> 2] = k;
  110685. m = (l + 4) | 0;
  110686. c[m >> 2] = c[m >> 2] & -2;
  110687. n = i;
  110688. o = k;
  110689. } else {
  110690. c[d >> 2] = (e & 1) | j | 2;
  110691. k = (a + j + 4) | 0;
  110692. c[k >> 2] = c[k >> 2] | 1;
  110693. n = 0;
  110694. o = 0;
  110695. }
  110696. c[5420] = o;
  110697. c[5423] = n;
  110698. h = a;
  110699. return h | 0;
  110700. }
  110701. n = c[(g + 4) >> 2] | 0;
  110702. if ((n & 2) | 0) {
  110703. h = 0;
  110704. return h | 0;
  110705. }
  110706. o = ((n & -8) + f) | 0;
  110707. if (o >>> 0 < b >>> 0) {
  110708. h = 0;
  110709. return h | 0;
  110710. }
  110711. f = (o - b) | 0;
  110712. k = n >>> 3;
  110713. do {
  110714. if (n >>> 0 < 256) {
  110715. j = c[(g + 8) >> 2] | 0;
  110716. i = c[(g + 12) >> 2] | 0;
  110717. if ((i | 0) == (j | 0)) {
  110718. c[5418] = c[5418] & ~(1 << k);
  110719. break;
  110720. } else {
  110721. c[(j + 12) >> 2] = i;
  110722. c[(i + 8) >> 2] = j;
  110723. break;
  110724. }
  110725. } else {
  110726. j = c[(g + 24) >> 2] | 0;
  110727. i = c[(g + 12) >> 2] | 0;
  110728. do {
  110729. if ((i | 0) == (g | 0)) {
  110730. m = (g + 16) | 0;
  110731. l = (m + 4) | 0;
  110732. p = c[l >> 2] | 0;
  110733. if (!p) {
  110734. q = c[m >> 2] | 0;
  110735. if (!q) {
  110736. r = 0;
  110737. break;
  110738. } else {
  110739. s = q;
  110740. t = m;
  110741. }
  110742. } else {
  110743. s = p;
  110744. t = l;
  110745. }
  110746. l = s;
  110747. p = t;
  110748. while (1) {
  110749. m = (l + 20) | 0;
  110750. q = c[m >> 2] | 0;
  110751. if (!q) {
  110752. u = (l + 16) | 0;
  110753. v = c[u >> 2] | 0;
  110754. if (!v) break;
  110755. else {
  110756. w = v;
  110757. x = u;
  110758. }
  110759. } else {
  110760. w = q;
  110761. x = m;
  110762. }
  110763. l = w;
  110764. p = x;
  110765. }
  110766. c[p >> 2] = 0;
  110767. r = l;
  110768. } else {
  110769. m = c[(g + 8) >> 2] | 0;
  110770. c[(m + 12) >> 2] = i;
  110771. c[(i + 8) >> 2] = m;
  110772. r = i;
  110773. }
  110774. } while (0);
  110775. if (j | 0) {
  110776. i = c[(g + 28) >> 2] | 0;
  110777. m = (21976 + (i << 2)) | 0;
  110778. if ((c[m >> 2] | 0) == (g | 0)) {
  110779. c[m >> 2] = r;
  110780. if (!r) {
  110781. c[5419] = c[5419] & ~(1 << i);
  110782. break;
  110783. }
  110784. } else {
  110785. i = (j + 16) | 0;
  110786. c[
  110787. ((c[i >> 2] | 0) == (g | 0) ? i : (j + 20) | 0) >> 2
  110788. ] = r;
  110789. if (!r) break;
  110790. }
  110791. c[(r + 24) >> 2] = j;
  110792. i = (g + 16) | 0;
  110793. m = c[i >> 2] | 0;
  110794. if (m | 0) {
  110795. c[(r + 16) >> 2] = m;
  110796. c[(m + 24) >> 2] = r;
  110797. }
  110798. m = c[(i + 4) >> 2] | 0;
  110799. if (m | 0) {
  110800. c[(r + 20) >> 2] = m;
  110801. c[(m + 24) >> 2] = r;
  110802. }
  110803. }
  110804. }
  110805. } while (0);
  110806. if (f >>> 0 < 16) {
  110807. c[d >> 2] = (e & 1) | o | 2;
  110808. r = (a + o + 4) | 0;
  110809. c[r >> 2] = c[r >> 2] | 1;
  110810. h = a;
  110811. return h | 0;
  110812. } else {
  110813. r = (a + b) | 0;
  110814. c[d >> 2] = (e & 1) | b | 2;
  110815. c[(r + 4) >> 2] = f | 3;
  110816. b = (a + o + 4) | 0;
  110817. c[b >> 2] = c[b >> 2] | 1;
  110818. Hy(r, f);
  110819. h = a;
  110820. return h | 0;
  110821. }
  110822. return 0;
  110823. }
  110824. function Hy(a, b) {
  110825. a = a | 0;
  110826. b = b | 0;
  110827. var d = 0,
  110828. e = 0,
  110829. f = 0,
  110830. g = 0,
  110831. h = 0,
  110832. i = 0,
  110833. j = 0,
  110834. k = 0,
  110835. l = 0,
  110836. m = 0,
  110837. n = 0,
  110838. o = 0,
  110839. p = 0,
  110840. q = 0,
  110841. r = 0,
  110842. s = 0,
  110843. t = 0,
  110844. u = 0,
  110845. v = 0,
  110846. w = 0,
  110847. x = 0,
  110848. y = 0,
  110849. z = 0,
  110850. A = 0,
  110851. B = 0,
  110852. C = 0,
  110853. D = 0,
  110854. E = 0,
  110855. F = 0,
  110856. G = 0;
  110857. d = (a + b) | 0;
  110858. e = c[(a + 4) >> 2] | 0;
  110859. do {
  110860. if (!(e & 1)) {
  110861. f = c[a >> 2] | 0;
  110862. if (!(e & 3)) return;
  110863. g = (a + (0 - f)) | 0;
  110864. h = (f + b) | 0;
  110865. if ((c[5423] | 0) == (g | 0)) {
  110866. i = (d + 4) | 0;
  110867. j = c[i >> 2] | 0;
  110868. if (((j & 3) | 0) != 3) {
  110869. k = g;
  110870. l = h;
  110871. break;
  110872. }
  110873. c[5420] = h;
  110874. c[i >> 2] = j & -2;
  110875. c[(g + 4) >> 2] = h | 1;
  110876. c[d >> 2] = h;
  110877. return;
  110878. }
  110879. j = f >>> 3;
  110880. if (f >>> 0 < 256) {
  110881. f = c[(g + 8) >> 2] | 0;
  110882. i = c[(g + 12) >> 2] | 0;
  110883. if ((i | 0) == (f | 0)) {
  110884. c[5418] = c[5418] & ~(1 << j);
  110885. k = g;
  110886. l = h;
  110887. break;
  110888. } else {
  110889. c[(f + 12) >> 2] = i;
  110890. c[(i + 8) >> 2] = f;
  110891. k = g;
  110892. l = h;
  110893. break;
  110894. }
  110895. }
  110896. f = c[(g + 24) >> 2] | 0;
  110897. i = c[(g + 12) >> 2] | 0;
  110898. do {
  110899. if ((i | 0) == (g | 0)) {
  110900. j = (g + 16) | 0;
  110901. m = (j + 4) | 0;
  110902. n = c[m >> 2] | 0;
  110903. if (!n) {
  110904. o = c[j >> 2] | 0;
  110905. if (!o) {
  110906. p = 0;
  110907. break;
  110908. } else {
  110909. q = o;
  110910. r = j;
  110911. }
  110912. } else {
  110913. q = n;
  110914. r = m;
  110915. }
  110916. m = q;
  110917. n = r;
  110918. while (1) {
  110919. j = (m + 20) | 0;
  110920. o = c[j >> 2] | 0;
  110921. if (!o) {
  110922. s = (m + 16) | 0;
  110923. t = c[s >> 2] | 0;
  110924. if (!t) break;
  110925. else {
  110926. u = t;
  110927. v = s;
  110928. }
  110929. } else {
  110930. u = o;
  110931. v = j;
  110932. }
  110933. m = u;
  110934. n = v;
  110935. }
  110936. c[n >> 2] = 0;
  110937. p = m;
  110938. } else {
  110939. j = c[(g + 8) >> 2] | 0;
  110940. c[(j + 12) >> 2] = i;
  110941. c[(i + 8) >> 2] = j;
  110942. p = i;
  110943. }
  110944. } while (0);
  110945. if (f) {
  110946. i = c[(g + 28) >> 2] | 0;
  110947. j = (21976 + (i << 2)) | 0;
  110948. if ((c[j >> 2] | 0) == (g | 0)) {
  110949. c[j >> 2] = p;
  110950. if (!p) {
  110951. c[5419] = c[5419] & ~(1 << i);
  110952. k = g;
  110953. l = h;
  110954. break;
  110955. }
  110956. } else {
  110957. i = (f + 16) | 0;
  110958. c[
  110959. ((c[i >> 2] | 0) == (g | 0) ? i : (f + 20) | 0) >> 2
  110960. ] = p;
  110961. if (!p) {
  110962. k = g;
  110963. l = h;
  110964. break;
  110965. }
  110966. }
  110967. c[(p + 24) >> 2] = f;
  110968. i = (g + 16) | 0;
  110969. j = c[i >> 2] | 0;
  110970. if (j | 0) {
  110971. c[(p + 16) >> 2] = j;
  110972. c[(j + 24) >> 2] = p;
  110973. }
  110974. j = c[(i + 4) >> 2] | 0;
  110975. if (j) {
  110976. c[(p + 20) >> 2] = j;
  110977. c[(j + 24) >> 2] = p;
  110978. k = g;
  110979. l = h;
  110980. } else {
  110981. k = g;
  110982. l = h;
  110983. }
  110984. } else {
  110985. k = g;
  110986. l = h;
  110987. }
  110988. } else {
  110989. k = a;
  110990. l = b;
  110991. }
  110992. } while (0);
  110993. b = (d + 4) | 0;
  110994. a = c[b >> 2] | 0;
  110995. if (!(a & 2)) {
  110996. if ((c[5424] | 0) == (d | 0)) {
  110997. p = ((c[5421] | 0) + l) | 0;
  110998. c[5421] = p;
  110999. c[5424] = k;
  111000. c[(k + 4) >> 2] = p | 1;
  111001. if ((k | 0) != (c[5423] | 0)) return;
  111002. c[5423] = 0;
  111003. c[5420] = 0;
  111004. return;
  111005. }
  111006. if ((c[5423] | 0) == (d | 0)) {
  111007. p = ((c[5420] | 0) + l) | 0;
  111008. c[5420] = p;
  111009. c[5423] = k;
  111010. c[(k + 4) >> 2] = p | 1;
  111011. c[(k + p) >> 2] = p;
  111012. return;
  111013. }
  111014. p = ((a & -8) + l) | 0;
  111015. v = a >>> 3;
  111016. do {
  111017. if (a >>> 0 < 256) {
  111018. u = c[(d + 8) >> 2] | 0;
  111019. r = c[(d + 12) >> 2] | 0;
  111020. if ((r | 0) == (u | 0)) {
  111021. c[5418] = c[5418] & ~(1 << v);
  111022. break;
  111023. } else {
  111024. c[(u + 12) >> 2] = r;
  111025. c[(r + 8) >> 2] = u;
  111026. break;
  111027. }
  111028. } else {
  111029. u = c[(d + 24) >> 2] | 0;
  111030. r = c[(d + 12) >> 2] | 0;
  111031. do {
  111032. if ((r | 0) == (d | 0)) {
  111033. q = (d + 16) | 0;
  111034. e = (q + 4) | 0;
  111035. j = c[e >> 2] | 0;
  111036. if (!j) {
  111037. i = c[q >> 2] | 0;
  111038. if (!i) {
  111039. w = 0;
  111040. break;
  111041. } else {
  111042. x = i;
  111043. y = q;
  111044. }
  111045. } else {
  111046. x = j;
  111047. y = e;
  111048. }
  111049. e = x;
  111050. j = y;
  111051. while (1) {
  111052. q = (e + 20) | 0;
  111053. i = c[q >> 2] | 0;
  111054. if (!i) {
  111055. o = (e + 16) | 0;
  111056. s = c[o >> 2] | 0;
  111057. if (!s) break;
  111058. else {
  111059. z = s;
  111060. A = o;
  111061. }
  111062. } else {
  111063. z = i;
  111064. A = q;
  111065. }
  111066. e = z;
  111067. j = A;
  111068. }
  111069. c[j >> 2] = 0;
  111070. w = e;
  111071. } else {
  111072. m = c[(d + 8) >> 2] | 0;
  111073. c[(m + 12) >> 2] = r;
  111074. c[(r + 8) >> 2] = m;
  111075. w = r;
  111076. }
  111077. } while (0);
  111078. if (u | 0) {
  111079. r = c[(d + 28) >> 2] | 0;
  111080. h = (21976 + (r << 2)) | 0;
  111081. if ((c[h >> 2] | 0) == (d | 0)) {
  111082. c[h >> 2] = w;
  111083. if (!w) {
  111084. c[5419] = c[5419] & ~(1 << r);
  111085. break;
  111086. }
  111087. } else {
  111088. r = (u + 16) | 0;
  111089. c[
  111090. ((c[r >> 2] | 0) == (d | 0) ? r : (u + 20) | 0) >>
  111091. 2
  111092. ] = w;
  111093. if (!w) break;
  111094. }
  111095. c[(w + 24) >> 2] = u;
  111096. r = (d + 16) | 0;
  111097. h = c[r >> 2] | 0;
  111098. if (h | 0) {
  111099. c[(w + 16) >> 2] = h;
  111100. c[(h + 24) >> 2] = w;
  111101. }
  111102. h = c[(r + 4) >> 2] | 0;
  111103. if (h | 0) {
  111104. c[(w + 20) >> 2] = h;
  111105. c[(h + 24) >> 2] = w;
  111106. }
  111107. }
  111108. }
  111109. } while (0);
  111110. c[(k + 4) >> 2] = p | 1;
  111111. c[(k + p) >> 2] = p;
  111112. if ((k | 0) == (c[5423] | 0)) {
  111113. c[5420] = p;
  111114. return;
  111115. } else B = p;
  111116. } else {
  111117. c[b >> 2] = a & -2;
  111118. c[(k + 4) >> 2] = l | 1;
  111119. c[(k + l) >> 2] = l;
  111120. B = l;
  111121. }
  111122. l = B >>> 3;
  111123. if (B >>> 0 < 256) {
  111124. a = (21712 + ((l << 1) << 2)) | 0;
  111125. b = c[5418] | 0;
  111126. p = 1 << l;
  111127. if (!(b & p)) {
  111128. c[5418] = b | p;
  111129. C = a;
  111130. D = (a + 8) | 0;
  111131. } else {
  111132. p = (a + 8) | 0;
  111133. C = c[p >> 2] | 0;
  111134. D = p;
  111135. }
  111136. c[D >> 2] = k;
  111137. c[(C + 12) >> 2] = k;
  111138. c[(k + 8) >> 2] = C;
  111139. c[(k + 12) >> 2] = a;
  111140. return;
  111141. }
  111142. a = B >>> 8;
  111143. if (a) {
  111144. if (B >>> 0 > 16777215) E = 31;
  111145. else {
  111146. C = (((a + 1048320) | 0) >>> 16) & 8;
  111147. D = a << C;
  111148. a = (((D + 520192) | 0) >>> 16) & 4;
  111149. p = D << a;
  111150. D = (((p + 245760) | 0) >>> 16) & 2;
  111151. b = (14 - (a | C | D) + ((p << D) >>> 15)) | 0;
  111152. E = ((B >>> ((b + 7) | 0)) & 1) | (b << 1);
  111153. }
  111154. } else E = 0;
  111155. b = (21976 + (E << 2)) | 0;
  111156. c[(k + 28) >> 2] = E;
  111157. c[(k + 20) >> 2] = 0;
  111158. c[(k + 16) >> 2] = 0;
  111159. D = c[5419] | 0;
  111160. p = 1 << E;
  111161. if (!(D & p)) {
  111162. c[5419] = D | p;
  111163. c[b >> 2] = k;
  111164. c[(k + 24) >> 2] = b;
  111165. c[(k + 12) >> 2] = k;
  111166. c[(k + 8) >> 2] = k;
  111167. return;
  111168. }
  111169. p = c[b >> 2] | 0;
  111170. a: do {
  111171. if (((c[(p + 4) >> 2] & -8) | 0) == (B | 0)) F = p;
  111172. else {
  111173. b = B << ((E | 0) == 31 ? 0 : (25 - (E >>> 1)) | 0);
  111174. D = p;
  111175. while (1) {
  111176. G = (D + 16 + ((b >>> 31) << 2)) | 0;
  111177. C = c[G >> 2] | 0;
  111178. if (!C) break;
  111179. if (((c[(C + 4) >> 2] & -8) | 0) == (B | 0)) {
  111180. F = C;
  111181. break a;
  111182. } else {
  111183. b = b << 1;
  111184. D = C;
  111185. }
  111186. }
  111187. c[G >> 2] = k;
  111188. c[(k + 24) >> 2] = D;
  111189. c[(k + 12) >> 2] = k;
  111190. c[(k + 8) >> 2] = k;
  111191. return;
  111192. }
  111193. } while (0);
  111194. G = (F + 8) | 0;
  111195. B = c[G >> 2] | 0;
  111196. c[(B + 12) >> 2] = k;
  111197. c[G >> 2] = k;
  111198. c[(k + 8) >> 2] = B;
  111199. c[(k + 12) >> 2] = F;
  111200. c[(k + 24) >> 2] = 0;
  111201. return;
  111202. }
  111203. function Iy(a) {
  111204. a = a | 0;
  111205. var b = 0,
  111206. d = 0;
  111207. b = l;
  111208. l = (l + 16) | 0;
  111209. d = b;
  111210. c[d >> 2] = Oy(c[(a + 60) >> 2] | 0) | 0;
  111211. a = Ly(Ja(6, d | 0) | 0) | 0;
  111212. l = b;
  111213. return a | 0;
  111214. }
  111215. function Jy(b, d, e) {
  111216. b = b | 0;
  111217. d = d | 0;
  111218. e = e | 0;
  111219. var f = 0,
  111220. g = 0;
  111221. f = l;
  111222. l = (l + 32) | 0;
  111223. g = f;
  111224. c[(b + 36) >> 2] = 3;
  111225. if (
  111226. ((c[b >> 2] & 64) | 0) == 0
  111227. ? ((c[g >> 2] = c[(b + 60) >> 2]),
  111228. (c[(g + 4) >> 2] = 21523),
  111229. (c[(g + 8) >> 2] = f + 16),
  111230. Ia(54, g | 0) | 0)
  111231. : 0
  111232. )
  111233. a[(b + 75) >> 0] = -1;
  111234. g = Ny(b, d, e) | 0;
  111235. l = f;
  111236. return g | 0;
  111237. }
  111238. function Ky(a, b, d) {
  111239. a = a | 0;
  111240. b = b | 0;
  111241. d = d | 0;
  111242. var e = 0,
  111243. f = 0,
  111244. g = 0,
  111245. h = 0;
  111246. e = l;
  111247. l = (l + 32) | 0;
  111248. f = e;
  111249. g = (e + 20) | 0;
  111250. c[f >> 2] = c[(a + 60) >> 2];
  111251. c[(f + 4) >> 2] = 0;
  111252. c[(f + 8) >> 2] = b;
  111253. c[(f + 12) >> 2] = g;
  111254. c[(f + 16) >> 2] = d;
  111255. if ((Ly(Da(140, f | 0) | 0) | 0) < 0) {
  111256. c[g >> 2] = -1;
  111257. h = -1;
  111258. } else h = c[g >> 2] | 0;
  111259. l = e;
  111260. return h | 0;
  111261. }
  111262. function Ly(a) {
  111263. a = a | 0;
  111264. var b = 0;
  111265. if (a >>> 0 > 4294963200) {
  111266. c[(My() | 0) >> 2] = 0 - a;
  111267. b = -1;
  111268. } else b = a;
  111269. return b | 0;
  111270. }
  111271. function My() {
  111272. return 22232;
  111273. }
  111274. function Ny(a, b, d) {
  111275. a = a | 0;
  111276. b = b | 0;
  111277. d = d | 0;
  111278. var e = 0,
  111279. f = 0,
  111280. g = 0,
  111281. h = 0,
  111282. i = 0,
  111283. j = 0,
  111284. k = 0,
  111285. m = 0,
  111286. n = 0,
  111287. o = 0,
  111288. p = 0,
  111289. q = 0,
  111290. r = 0,
  111291. s = 0,
  111292. t = 0,
  111293. u = 0,
  111294. v = 0,
  111295. w = 0;
  111296. e = l;
  111297. l = (l + 48) | 0;
  111298. f = (e + 32) | 0;
  111299. g = (e + 16) | 0;
  111300. h = e;
  111301. i = (a + 28) | 0;
  111302. j = c[i >> 2] | 0;
  111303. c[h >> 2] = j;
  111304. k = (a + 20) | 0;
  111305. m = ((c[k >> 2] | 0) - j) | 0;
  111306. c[(h + 4) >> 2] = m;
  111307. c[(h + 8) >> 2] = b;
  111308. c[(h + 12) >> 2] = d;
  111309. b = (m + d) | 0;
  111310. m = (a + 60) | 0;
  111311. c[g >> 2] = c[m >> 2];
  111312. c[(g + 4) >> 2] = h;
  111313. c[(g + 8) >> 2] = 2;
  111314. j = Ly(Fa(146, g | 0) | 0) | 0;
  111315. a: do {
  111316. if ((b | 0) != (j | 0)) {
  111317. g = 2;
  111318. n = b;
  111319. o = h;
  111320. p = j;
  111321. while (1) {
  111322. if ((p | 0) < 0) break;
  111323. n = (n - p) | 0;
  111324. q = c[(o + 4) >> 2] | 0;
  111325. r = p >>> 0 > q >>> 0;
  111326. s = r ? (o + 8) | 0 : o;
  111327. t = (g + ((r << 31) >> 31)) | 0;
  111328. u = (p - (r ? q : 0)) | 0;
  111329. c[s >> 2] = (c[s >> 2] | 0) + u;
  111330. q = (s + 4) | 0;
  111331. c[q >> 2] = (c[q >> 2] | 0) - u;
  111332. c[f >> 2] = c[m >> 2];
  111333. c[(f + 4) >> 2] = s;
  111334. c[(f + 8) >> 2] = t;
  111335. p = Ly(Fa(146, f | 0) | 0) | 0;
  111336. if ((n | 0) == (p | 0)) {
  111337. v = 3;
  111338. break a;
  111339. } else {
  111340. g = t;
  111341. o = s;
  111342. }
  111343. }
  111344. c[(a + 16) >> 2] = 0;
  111345. c[i >> 2] = 0;
  111346. c[k >> 2] = 0;
  111347. c[a >> 2] = c[a >> 2] | 32;
  111348. if ((g | 0) == 2) w = 0;
  111349. else w = (d - (c[(o + 4) >> 2] | 0)) | 0;
  111350. } else v = 3;
  111351. } while (0);
  111352. if ((v | 0) == 3) {
  111353. v = c[(a + 44) >> 2] | 0;
  111354. c[(a + 16) >> 2] = v + (c[(a + 48) >> 2] | 0);
  111355. a = v;
  111356. c[i >> 2] = a;
  111357. c[k >> 2] = a;
  111358. w = d;
  111359. }
  111360. l = e;
  111361. return w | 0;
  111362. }
  111363. function Oy(a) {
  111364. a = a | 0;
  111365. return a | 0;
  111366. }
  111367. function Py(b, d, e) {
  111368. b = b | 0;
  111369. d = d | 0;
  111370. e = e | 0;
  111371. var f = 0,
  111372. g = 0,
  111373. h = 0,
  111374. i = 0,
  111375. j = 0,
  111376. k = 0,
  111377. m = 0,
  111378. n = 0;
  111379. f = l;
  111380. l = (l + 32) | 0;
  111381. g = (f + 16) | 0;
  111382. h = f;
  111383. c[h >> 2] = d;
  111384. i = (h + 4) | 0;
  111385. j = (b + 48) | 0;
  111386. k = c[j >> 2] | 0;
  111387. c[i >> 2] = e - (((k | 0) != 0) & 1);
  111388. m = (b + 44) | 0;
  111389. c[(h + 8) >> 2] = c[m >> 2];
  111390. c[(h + 12) >> 2] = k;
  111391. c[g >> 2] = c[(b + 60) >> 2];
  111392. c[(g + 4) >> 2] = h;
  111393. c[(g + 8) >> 2] = 2;
  111394. h = Ly(Ea(145, g | 0) | 0) | 0;
  111395. if ((h | 0) >= 1) {
  111396. g = c[i >> 2] | 0;
  111397. if (h >>> 0 > g >>> 0) {
  111398. i = c[m >> 2] | 0;
  111399. m = (b + 4) | 0;
  111400. c[m >> 2] = i;
  111401. k = i;
  111402. c[(b + 8) >> 2] = k + (h - g);
  111403. if (!(c[j >> 2] | 0)) n = e;
  111404. else {
  111405. c[m >> 2] = k + 1;
  111406. a[(d + (e + -1)) >> 0] = a[k >> 0] | 0;
  111407. n = e;
  111408. }
  111409. } else n = h;
  111410. } else {
  111411. c[b >> 2] = c[b >> 2] | ((h & 48) ^ 16);
  111412. n = h;
  111413. }
  111414. l = f;
  111415. return n | 0;
  111416. }
  111417. function Qy(b, c, d) {
  111418. b = b | 0;
  111419. c = c | 0;
  111420. d = d | 0;
  111421. var e = 0,
  111422. f = 0,
  111423. g = 0,
  111424. h = 0,
  111425. i = 0,
  111426. j = 0;
  111427. a: do {
  111428. if (!d) e = 0;
  111429. else {
  111430. f = b;
  111431. g = d;
  111432. h = c;
  111433. while (1) {
  111434. i = a[f >> 0] | 0;
  111435. j = a[h >> 0] | 0;
  111436. if ((i << 24) >> 24 != (j << 24) >> 24) break;
  111437. g = (g + -1) | 0;
  111438. if (!g) {
  111439. e = 0;
  111440. break a;
  111441. } else {
  111442. f = (f + 1) | 0;
  111443. h = (h + 1) | 0;
  111444. }
  111445. }
  111446. e = ((i & 255) - (j & 255)) | 0;
  111447. }
  111448. } while (0);
  111449. return e | 0;
  111450. }
  111451. function Ry(b, c) {
  111452. b = b | 0;
  111453. c = c | 0;
  111454. var d = 0;
  111455. d = Xy(b, c) | 0;
  111456. return (
  111457. ((a[d >> 0] | 0) == ((c & 255) << 24) >> 24 ? d : 0) | 0
  111458. );
  111459. }
  111460. function Sy(a) {
  111461. a = a | 0;
  111462. return (((a + -48) | 0) >>> 0 < 10) | 0;
  111463. }
  111464. function Ty(b) {
  111465. b = b | 0;
  111466. var d = 0,
  111467. e = 0,
  111468. f = 0,
  111469. g = 0,
  111470. h = 0,
  111471. i = 0,
  111472. j = 0,
  111473. k = 0,
  111474. l = 0;
  111475. d = b;
  111476. a: do {
  111477. if (!(d & 3)) {
  111478. e = b;
  111479. f = 5;
  111480. } else {
  111481. g = b;
  111482. h = d;
  111483. while (1) {
  111484. if (!(a[g >> 0] | 0)) {
  111485. i = h;
  111486. break a;
  111487. }
  111488. j = (g + 1) | 0;
  111489. h = j;
  111490. if (!(h & 3)) {
  111491. e = j;
  111492. f = 5;
  111493. break;
  111494. } else g = j;
  111495. }
  111496. }
  111497. } while (0);
  111498. if ((f | 0) == 5) {
  111499. f = e;
  111500. while (1) {
  111501. k = c[f >> 2] | 0;
  111502. if (
  111503. !(((k & -2139062144) ^ -2139062144) & (k + -16843009))
  111504. )
  111505. f = (f + 4) | 0;
  111506. else break;
  111507. }
  111508. if (!(((k & 255) << 24) >> 24)) l = f;
  111509. else {
  111510. k = f;
  111511. while (1) {
  111512. f = (k + 1) | 0;
  111513. if (!(a[f >> 0] | 0)) {
  111514. l = f;
  111515. break;
  111516. } else k = f;
  111517. }
  111518. }
  111519. i = l;
  111520. }
  111521. return (i - d) | 0;
  111522. }
  111523. function Uy(b, d, e) {
  111524. b = b | 0;
  111525. d = d | 0;
  111526. e = e | 0;
  111527. var f = 0,
  111528. g = 0,
  111529. h = 0,
  111530. i = 0,
  111531. j = 0,
  111532. k = 0,
  111533. l = 0,
  111534. m = 0,
  111535. n = 0,
  111536. o = 0,
  111537. p = 0,
  111538. q = 0,
  111539. r = 0,
  111540. s = 0,
  111541. t = 0,
  111542. u = 0,
  111543. v = 0,
  111544. w = 0,
  111545. x = 0;
  111546. f = d & 255;
  111547. g = (e | 0) != 0;
  111548. a: do {
  111549. if (g & (((b & 3) | 0) != 0)) {
  111550. h = d & 255;
  111551. i = b;
  111552. j = e;
  111553. while (1) {
  111554. if ((a[i >> 0] | 0) == (h << 24) >> 24) {
  111555. k = i;
  111556. l = j;
  111557. m = 6;
  111558. break a;
  111559. }
  111560. n = (i + 1) | 0;
  111561. o = (j + -1) | 0;
  111562. p = (o | 0) != 0;
  111563. if (p & (((n & 3) | 0) != 0)) {
  111564. i = n;
  111565. j = o;
  111566. } else {
  111567. q = n;
  111568. r = o;
  111569. s = p;
  111570. m = 5;
  111571. break;
  111572. }
  111573. }
  111574. } else {
  111575. q = b;
  111576. r = e;
  111577. s = g;
  111578. m = 5;
  111579. }
  111580. } while (0);
  111581. if ((m | 0) == 5)
  111582. if (s) {
  111583. k = q;
  111584. l = r;
  111585. m = 6;
  111586. } else m = 16;
  111587. b: do {
  111588. if ((m | 0) == 6) {
  111589. r = d & 255;
  111590. if ((a[k >> 0] | 0) == (r << 24) >> 24)
  111591. if (!l) {
  111592. m = 16;
  111593. break;
  111594. } else {
  111595. t = k;
  111596. break;
  111597. }
  111598. q = N(f, 16843009) | 0;
  111599. c: do {
  111600. if (l >>> 0 > 3) {
  111601. s = k;
  111602. g = l;
  111603. while (1) {
  111604. e = c[s >> 2] ^ q;
  111605. if (
  111606. (((e & -2139062144) ^ -2139062144) &
  111607. (e + -16843009)) |
  111608. 0
  111609. ) {
  111610. u = g;
  111611. v = s;
  111612. break c;
  111613. }
  111614. e = (s + 4) | 0;
  111615. b = (g + -4) | 0;
  111616. if (b >>> 0 > 3) {
  111617. s = e;
  111618. g = b;
  111619. } else {
  111620. w = e;
  111621. x = b;
  111622. m = 11;
  111623. break;
  111624. }
  111625. }
  111626. } else {
  111627. w = k;
  111628. x = l;
  111629. m = 11;
  111630. }
  111631. } while (0);
  111632. if ((m | 0) == 11)
  111633. if (!x) {
  111634. m = 16;
  111635. break;
  111636. } else {
  111637. u = x;
  111638. v = w;
  111639. }
  111640. q = v;
  111641. g = u;
  111642. while (1) {
  111643. if ((a[q >> 0] | 0) == (r << 24) >> 24) {
  111644. t = q;
  111645. break b;
  111646. }
  111647. g = (g + -1) | 0;
  111648. if (!g) {
  111649. m = 16;
  111650. break;
  111651. } else q = (q + 1) | 0;
  111652. }
  111653. }
  111654. } while (0);
  111655. if ((m | 0) == 16) t = 0;
  111656. return t | 0;
  111657. }
  111658. function Vy(a) {
  111659. a = a | 0;
  111660. return 0;
  111661. }
  111662. function Wy(a) {
  111663. a = a | 0;
  111664. return;
  111665. }
  111666. function Xy(b, d) {
  111667. b = b | 0;
  111668. d = d | 0;
  111669. var e = 0,
  111670. f = 0,
  111671. g = 0,
  111672. h = 0,
  111673. i = 0,
  111674. j = 0,
  111675. k = 0,
  111676. l = 0,
  111677. m = 0;
  111678. e = d & 255;
  111679. a: do {
  111680. if (!e) f = (b + (Ty(b) | 0)) | 0;
  111681. else {
  111682. if (!(b & 3)) g = b;
  111683. else {
  111684. h = d & 255;
  111685. i = b;
  111686. while (1) {
  111687. j = a[i >> 0] | 0;
  111688. if (
  111689. (j << 24) >> 24 == 0
  111690. ? 1
  111691. : (j << 24) >> 24 == (h << 24) >> 24
  111692. ) {
  111693. f = i;
  111694. break a;
  111695. }
  111696. j = (i + 1) | 0;
  111697. if (!(j & 3)) {
  111698. g = j;
  111699. break;
  111700. } else i = j;
  111701. }
  111702. }
  111703. i = N(e, 16843009) | 0;
  111704. h = c[g >> 2] | 0;
  111705. b: do {
  111706. if (
  111707. !(((h & -2139062144) ^ -2139062144) & (h + -16843009))
  111708. ) {
  111709. j = g;
  111710. k = h;
  111711. while (1) {
  111712. l = k ^ i;
  111713. if (
  111714. (((l & -2139062144) ^ -2139062144) &
  111715. (l + -16843009)) |
  111716. 0
  111717. ) {
  111718. m = j;
  111719. break b;
  111720. }
  111721. l = (j + 4) | 0;
  111722. k = c[l >> 2] | 0;
  111723. if (
  111724. (((k & -2139062144) ^ -2139062144) &
  111725. (k + -16843009)) |
  111726. 0
  111727. ) {
  111728. m = l;
  111729. break;
  111730. } else j = l;
  111731. }
  111732. } else m = g;
  111733. } while (0);
  111734. i = d & 255;
  111735. h = m;
  111736. while (1) {
  111737. j = a[h >> 0] | 0;
  111738. if (
  111739. (j << 24) >> 24 == 0
  111740. ? 1
  111741. : (j << 24) >> 24 == (i << 24) >> 24
  111742. ) {
  111743. f = h;
  111744. break;
  111745. } else h = (h + 1) | 0;
  111746. }
  111747. }
  111748. } while (0);
  111749. return f | 0;
  111750. }
  111751. function Yy(a, b) {
  111752. a = a | 0;
  111753. b = b | 0;
  111754. var d = 0;
  111755. if (!b) d = 0;
  111756. else d = Zy(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, a) | 0;
  111757. return ((d | 0) == 0 ? a : d) | 0;
  111758. }
  111759. function Zy(b, d, e) {
  111760. b = b | 0;
  111761. d = d | 0;
  111762. e = e | 0;
  111763. var f = 0,
  111764. g = 0,
  111765. h = 0,
  111766. i = 0,
  111767. j = 0,
  111768. k = 0,
  111769. l = 0,
  111770. m = 0,
  111771. n = 0,
  111772. o = 0,
  111773. p = 0,
  111774. q = 0,
  111775. r = 0,
  111776. s = 0,
  111777. t = 0;
  111778. f = ((c[b >> 2] | 0) + 1794895138) | 0;
  111779. g = _y(c[(b + 8) >> 2] | 0, f) | 0;
  111780. h = _y(c[(b + 12) >> 2] | 0, f) | 0;
  111781. i = _y(c[(b + 16) >> 2] | 0, f) | 0;
  111782. a: do {
  111783. if (
  111784. (
  111785. g >>> 0 < (d >>> 2) >>> 0
  111786. ? ((j = (d - (g << 2)) | 0),
  111787. (h >>> 0 < j >>> 0) & (i >>> 0 < j >>> 0))
  111788. : 0
  111789. )
  111790. ? (((i | h) & 3) | 0) == 0
  111791. : 0
  111792. ) {
  111793. j = h >>> 2;
  111794. k = i >>> 2;
  111795. l = 0;
  111796. m = g;
  111797. while (1) {
  111798. n = m >>> 1;
  111799. o = (l + n) | 0;
  111800. p = o << 1;
  111801. q = (p + j) | 0;
  111802. r = _y(c[(b + (q << 2)) >> 2] | 0, f) | 0;
  111803. s = _y(c[(b + ((q + 1) << 2)) >> 2] | 0, f) | 0;
  111804. if (
  111805. !(
  111806. (s >>> 0 < d >>> 0) &
  111807. (r >>> 0 < ((d - s) | 0) >>> 0)
  111808. )
  111809. ) {
  111810. t = 0;
  111811. break a;
  111812. }
  111813. if (a[(b + (s + r)) >> 0] | 0) {
  111814. t = 0;
  111815. break a;
  111816. }
  111817. r = $y(e, (b + s) | 0) | 0;
  111818. if (!r) break;
  111819. s = (r | 0) < 0;
  111820. if ((m | 0) == 1) {
  111821. t = 0;
  111822. break a;
  111823. }
  111824. l = s ? l : o;
  111825. m = s ? n : (m - n) | 0;
  111826. }
  111827. m = (p + k) | 0;
  111828. l = _y(c[(b + (m << 2)) >> 2] | 0, f) | 0;
  111829. j = _y(c[(b + ((m + 1) << 2)) >> 2] | 0, f) | 0;
  111830. if ((j >>> 0 < d >>> 0) & (l >>> 0 < ((d - j) | 0) >>> 0))
  111831. t = (a[(b + (j + l)) >> 0] | 0) == 0 ? (b + j) | 0 : 0;
  111832. else t = 0;
  111833. } else t = 0;
  111834. } while (0);
  111835. return t | 0;
  111836. }
  111837. function _y(a, b) {
  111838. a = a | 0;
  111839. b = b | 0;
  111840. var c = 0;
  111841. c = kE(a | 0) | 0;
  111842. return ((b | 0) == 0 ? a : c) | 0;
  111843. }
  111844. function $y(b, c) {
  111845. b = b | 0;
  111846. c = c | 0;
  111847. var d = 0,
  111848. e = 0,
  111849. f = 0,
  111850. g = 0;
  111851. d = a[b >> 0] | 0;
  111852. e = a[c >> 0] | 0;
  111853. if (
  111854. (d << 24) >> 24 == 0
  111855. ? 1
  111856. : (d << 24) >> 24 != (e << 24) >> 24
  111857. ) {
  111858. f = e;
  111859. g = d;
  111860. } else {
  111861. d = c;
  111862. c = b;
  111863. do {
  111864. c = (c + 1) | 0;
  111865. d = (d + 1) | 0;
  111866. b = a[c >> 0] | 0;
  111867. e = a[d >> 0] | 0;
  111868. } while (
  111869. !((b << 24) >> 24 == 0
  111870. ? 1
  111871. : (b << 24) >> 24 != (e << 24) >> 24)
  111872. );
  111873. f = e;
  111874. g = b;
  111875. }
  111876. return ((g & 255) - (f & 255)) | 0;
  111877. }
  111878. function az() {
  111879. return 12260;
  111880. }
  111881. function bz(a, b, d, e) {
  111882. a = a | 0;
  111883. b = b | 0;
  111884. d = d | 0;
  111885. e = e | 0;
  111886. var f = 0,
  111887. g = 0;
  111888. f = l;
  111889. l = (l + 16) | 0;
  111890. g = f;
  111891. c[g >> 2] = e;
  111892. e = cz(a, b, d, g) | 0;
  111893. l = f;
  111894. return e | 0;
  111895. }
  111896. function cz(b, d, e, f) {
  111897. b = b | 0;
  111898. d = d | 0;
  111899. e = e | 0;
  111900. f = f | 0;
  111901. var g = 0,
  111902. h = 0,
  111903. i = 0,
  111904. j = 0,
  111905. k = 0,
  111906. m = 0,
  111907. n = 0,
  111908. o = 0,
  111909. p = 0,
  111910. q = 0;
  111911. g = l;
  111912. l = (l + 128) | 0;
  111913. h = (g + 124) | 0;
  111914. i = g;
  111915. j = i;
  111916. k = 12504;
  111917. m = (j + 124) | 0;
  111918. do {
  111919. c[j >> 2] = c[k >> 2];
  111920. j = (j + 4) | 0;
  111921. k = (k + 4) | 0;
  111922. } while ((j | 0) < (m | 0));
  111923. if (((d + -1) | 0) >>> 0 > 2147483646) {
  111924. if (!d) {
  111925. n = h;
  111926. o = 1;
  111927. p = 4;
  111928. } else {
  111929. c[(My() | 0) >> 2] = 75;
  111930. q = -1;
  111931. }
  111932. } else {
  111933. n = b;
  111934. o = d;
  111935. p = 4;
  111936. }
  111937. if ((p | 0) == 4) {
  111938. p = (-2 - n) | 0;
  111939. d = o >>> 0 > p >>> 0 ? p : o;
  111940. c[(i + 48) >> 2] = d;
  111941. o = (i + 20) | 0;
  111942. c[o >> 2] = n;
  111943. c[(i + 44) >> 2] = n;
  111944. p = (n + d) | 0;
  111945. n = (i + 16) | 0;
  111946. c[n >> 2] = p;
  111947. c[(i + 28) >> 2] = p;
  111948. p = dz(i, e, f) | 0;
  111949. if (!d) q = p;
  111950. else {
  111951. d = c[o >> 2] | 0;
  111952. a[
  111953. (d + ((((d | 0) == (c[n >> 2] | 0)) << 31) >> 31)) >> 0
  111954. ] = 0;
  111955. q = p;
  111956. }
  111957. }
  111958. l = g;
  111959. return q | 0;
  111960. }
  111961. function dz(b, d, e) {
  111962. b = b | 0;
  111963. d = d | 0;
  111964. e = e | 0;
  111965. var f = 0,
  111966. g = 0,
  111967. h = 0,
  111968. i = 0,
  111969. j = 0,
  111970. k = 0,
  111971. m = 0,
  111972. n = 0,
  111973. o = 0,
  111974. p = 0,
  111975. q = 0,
  111976. r = 0,
  111977. s = 0,
  111978. t = 0,
  111979. u = 0;
  111980. f = l;
  111981. l = (l + 224) | 0;
  111982. g = (f + 208) | 0;
  111983. h = (f + 160) | 0;
  111984. i = (f + 80) | 0;
  111985. j = f;
  111986. k = h;
  111987. m = (k + 40) | 0;
  111988. do {
  111989. c[k >> 2] = 0;
  111990. k = (k + 4) | 0;
  111991. } while ((k | 0) < (m | 0));
  111992. c[g >> 2] = c[e >> 2];
  111993. if ((ez(0, d, g, i, h) | 0) < 0) n = -1;
  111994. else {
  111995. if ((c[(b + 76) >> 2] | 0) > -1) o = Vy(b) | 0;
  111996. else o = 0;
  111997. e = c[b >> 2] | 0;
  111998. k = e & 32;
  111999. if ((a[(b + 74) >> 0] | 0) < 1) c[b >> 2] = e & -33;
  112000. e = (b + 48) | 0;
  112001. if (!(c[e >> 2] | 0)) {
  112002. m = (b + 44) | 0;
  112003. p = c[m >> 2] | 0;
  112004. c[m >> 2] = j;
  112005. q = (b + 28) | 0;
  112006. c[q >> 2] = j;
  112007. r = (b + 20) | 0;
  112008. c[r >> 2] = j;
  112009. c[e >> 2] = 80;
  112010. s = (b + 16) | 0;
  112011. c[s >> 2] = j + 80;
  112012. j = ez(b, d, g, i, h) | 0;
  112013. if (!p) t = j;
  112014. else {
  112015. rc[c[(b + 36) >> 2] & 31](b, 0, 0) | 0;
  112016. u = (c[r >> 2] | 0) == 0 ? -1 : j;
  112017. c[m >> 2] = p;
  112018. c[e >> 2] = 0;
  112019. c[s >> 2] = 0;
  112020. c[q >> 2] = 0;
  112021. c[r >> 2] = 0;
  112022. t = u;
  112023. }
  112024. } else t = ez(b, d, g, i, h) | 0;
  112025. h = c[b >> 2] | 0;
  112026. c[b >> 2] = h | k;
  112027. if (o | 0) Wy(b);
  112028. n = ((h & 32) | 0) == 0 ? t : -1;
  112029. }
  112030. l = f;
  112031. return n | 0;
  112032. }
  112033. function ez(d, e, f, g, i) {
  112034. d = d | 0;
  112035. e = e | 0;
  112036. f = f | 0;
  112037. g = g | 0;
  112038. i = i | 0;
  112039. var j = 0,
  112040. k = 0,
  112041. m = 0,
  112042. n = 0,
  112043. o = 0,
  112044. p = 0,
  112045. q = 0,
  112046. r = 0,
  112047. s = 0,
  112048. t = 0,
  112049. u = 0,
  112050. v = 0,
  112051. w = 0,
  112052. x = 0,
  112053. z = 0,
  112054. A = 0,
  112055. B = 0,
  112056. C = 0,
  112057. D = 0,
  112058. E = 0,
  112059. F = 0,
  112060. G = 0,
  112061. H = 0,
  112062. I = 0,
  112063. J = 0,
  112064. K = 0,
  112065. L = 0,
  112066. M = 0,
  112067. N = 0,
  112068. O = 0,
  112069. P = 0,
  112070. Q = 0,
  112071. R = 0,
  112072. S = 0,
  112073. T = 0,
  112074. U = 0,
  112075. V = 0,
  112076. W = 0,
  112077. X = 0,
  112078. Y = 0,
  112079. Z = 0,
  112080. _ = 0,
  112081. $ = 0,
  112082. aa = 0,
  112083. ba = 0,
  112084. ca = 0,
  112085. da = 0,
  112086. ea = 0,
  112087. fa = 0,
  112088. ga = 0,
  112089. ha = 0,
  112090. ia = 0,
  112091. ja = 0,
  112092. ka = 0,
  112093. la = 0,
  112094. ma = 0,
  112095. na = 0,
  112096. oa = 0,
  112097. pa = 0,
  112098. qa = 0,
  112099. ra = 0,
  112100. sa = 0,
  112101. ta = 0,
  112102. ua = 0,
  112103. va = 0,
  112104. wa = 0,
  112105. xa = 0,
  112106. ya = 0,
  112107. za = 0,
  112108. Aa = 0,
  112109. Ba = 0,
  112110. Ca = 0,
  112111. Da = 0;
  112112. j = l;
  112113. l = (l + 64) | 0;
  112114. k = (j + 56) | 0;
  112115. m = (j + 40) | 0;
  112116. n = j;
  112117. o = (j + 48) | 0;
  112118. p = (j + 60) | 0;
  112119. c[k >> 2] = e;
  112120. e = (d | 0) != 0;
  112121. q = (n + 40) | 0;
  112122. r = q;
  112123. s = (n + 39) | 0;
  112124. n = (o + 4) | 0;
  112125. t = 0;
  112126. u = 0;
  112127. v = 0;
  112128. a: while (1) {
  112129. w = t;
  112130. x = u;
  112131. while (1) {
  112132. do {
  112133. if ((x | 0) > -1) {
  112134. if ((w | 0) > ((2147483647 - x) | 0)) {
  112135. c[(My() | 0) >> 2] = 75;
  112136. z = -1;
  112137. break;
  112138. } else {
  112139. z = (w + x) | 0;
  112140. break;
  112141. }
  112142. } else z = x;
  112143. } while (0);
  112144. A = c[k >> 2] | 0;
  112145. B = a[A >> 0] | 0;
  112146. if (!((B << 24) >> 24)) {
  112147. C = 94;
  112148. break a;
  112149. }
  112150. D = B;
  112151. B = A;
  112152. b: while (1) {
  112153. switch ((D << 24) >> 24) {
  112154. case 37: {
  112155. C = 10;
  112156. break b;
  112157. break;
  112158. }
  112159. case 0: {
  112160. E = B;
  112161. break b;
  112162. break;
  112163. }
  112164. default: {
  112165. }
  112166. }
  112167. F = (B + 1) | 0;
  112168. c[k >> 2] = F;
  112169. D = a[F >> 0] | 0;
  112170. B = F;
  112171. }
  112172. c: do {
  112173. if ((C | 0) == 10) {
  112174. C = 0;
  112175. D = B;
  112176. F = B;
  112177. while (1) {
  112178. if ((a[(F + 1) >> 0] | 0) != 37) {
  112179. E = D;
  112180. break c;
  112181. }
  112182. G = (D + 1) | 0;
  112183. F = (F + 2) | 0;
  112184. c[k >> 2] = F;
  112185. if ((a[F >> 0] | 0) != 37) {
  112186. E = G;
  112187. break;
  112188. } else D = G;
  112189. }
  112190. }
  112191. } while (0);
  112192. w = (E - A) | 0;
  112193. if (e) fz(d, A, w);
  112194. if (!w) break;
  112195. else x = z;
  112196. }
  112197. x = (Sy(a[((c[k >> 2] | 0) + 1) >> 0] | 0) | 0) == 0;
  112198. w = c[k >> 2] | 0;
  112199. if (!x ? (a[(w + 2) >> 0] | 0) == 36 : 0) {
  112200. H = ((a[(w + 1) >> 0] | 0) + -48) | 0;
  112201. I = 1;
  112202. J = 3;
  112203. } else {
  112204. H = -1;
  112205. I = v;
  112206. J = 1;
  112207. }
  112208. x = (w + J) | 0;
  112209. c[k >> 2] = x;
  112210. w = a[x >> 0] | 0;
  112211. B = (((w << 24) >> 24) + -32) | 0;
  112212. if ((B >>> 0 > 31) | ((((1 << B) & 75913) | 0) == 0)) {
  112213. K = 0;
  112214. L = w;
  112215. M = x;
  112216. } else {
  112217. w = 0;
  112218. D = B;
  112219. B = x;
  112220. while (1) {
  112221. x = (1 << D) | w;
  112222. F = (B + 1) | 0;
  112223. c[k >> 2] = F;
  112224. G = a[F >> 0] | 0;
  112225. D = (((G << 24) >> 24) + -32) | 0;
  112226. if ((D >>> 0 > 31) | ((((1 << D) & 75913) | 0) == 0)) {
  112227. K = x;
  112228. L = G;
  112229. M = F;
  112230. break;
  112231. } else {
  112232. w = x;
  112233. B = F;
  112234. }
  112235. }
  112236. }
  112237. if ((L << 24) >> 24 == 42) {
  112238. if (
  112239. (Sy(a[(M + 1) >> 0] | 0) | 0) != 0
  112240. ? ((B = c[k >> 2] | 0), (a[(B + 2) >> 0] | 0) == 36)
  112241. : 0
  112242. ) {
  112243. w = (B + 1) | 0;
  112244. c[(i + (((a[w >> 0] | 0) + -48) << 2)) >> 2] = 10;
  112245. N = c[(g + (((a[w >> 0] | 0) + -48) << 3)) >> 2] | 0;
  112246. O = 1;
  112247. P = (B + 3) | 0;
  112248. } else {
  112249. if (I | 0) {
  112250. Q = -1;
  112251. break;
  112252. }
  112253. if (e) {
  112254. B = ((c[f >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112255. w = c[B >> 2] | 0;
  112256. c[f >> 2] = B + 4;
  112257. R = w;
  112258. } else R = 0;
  112259. N = R;
  112260. O = 0;
  112261. P = ((c[k >> 2] | 0) + 1) | 0;
  112262. }
  112263. c[k >> 2] = P;
  112264. w = (N | 0) < 0;
  112265. S = w ? (0 - N) | 0 : N;
  112266. T = w ? K | 8192 : K;
  112267. U = O;
  112268. V = P;
  112269. } else {
  112270. w = gz(k) | 0;
  112271. if ((w | 0) < 0) {
  112272. Q = -1;
  112273. break;
  112274. }
  112275. S = w;
  112276. T = K;
  112277. U = I;
  112278. V = c[k >> 2] | 0;
  112279. }
  112280. do {
  112281. if ((a[V >> 0] | 0) == 46) {
  112282. w = (V + 1) | 0;
  112283. if ((a[w >> 0] | 0) != 42) {
  112284. c[k >> 2] = w;
  112285. w = gz(k) | 0;
  112286. W = w;
  112287. X = c[k >> 2] | 0;
  112288. break;
  112289. }
  112290. if (
  112291. Sy(a[(V + 2) >> 0] | 0) | 0
  112292. ? ((w = c[k >> 2] | 0), (a[(w + 3) >> 0] | 0) == 36)
  112293. : 0
  112294. ) {
  112295. B = (w + 2) | 0;
  112296. c[(i + (((a[B >> 0] | 0) + -48) << 2)) >> 2] = 10;
  112297. D = c[(g + (((a[B >> 0] | 0) + -48) << 3)) >> 2] | 0;
  112298. B = (w + 4) | 0;
  112299. c[k >> 2] = B;
  112300. W = D;
  112301. X = B;
  112302. break;
  112303. }
  112304. if (U | 0) {
  112305. Q = -1;
  112306. break a;
  112307. }
  112308. if (e) {
  112309. B = ((c[f >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112310. D = c[B >> 2] | 0;
  112311. c[f >> 2] = B + 4;
  112312. Y = D;
  112313. } else Y = 0;
  112314. D = ((c[k >> 2] | 0) + 2) | 0;
  112315. c[k >> 2] = D;
  112316. W = Y;
  112317. X = D;
  112318. } else {
  112319. W = -1;
  112320. X = V;
  112321. }
  112322. } while (0);
  112323. D = 0;
  112324. B = X;
  112325. while (1) {
  112326. if ((((a[B >> 0] | 0) + -65) | 0) >>> 0 > 57) {
  112327. Q = -1;
  112328. break a;
  112329. }
  112330. w = B;
  112331. B = (B + 1) | 0;
  112332. c[k >> 2] = B;
  112333. Z =
  112334. a[
  112335. ((a[w >> 0] | 0) + -65 + (7456 + ((D * 58) | 0))) >> 0
  112336. ] | 0;
  112337. _ = Z & 255;
  112338. if (((_ + -1) | 0) >>> 0 >= 8) break;
  112339. else D = _;
  112340. }
  112341. if (!((Z << 24) >> 24)) {
  112342. Q = -1;
  112343. break;
  112344. }
  112345. w = (H | 0) > -1;
  112346. do {
  112347. if ((Z << 24) >> 24 == 19) {
  112348. if (w) {
  112349. Q = -1;
  112350. break a;
  112351. } else C = 54;
  112352. } else {
  112353. if (w) {
  112354. c[(i + (H << 2)) >> 2] = _;
  112355. F = (g + (H << 3)) | 0;
  112356. x = c[(F + 4) >> 2] | 0;
  112357. G = m;
  112358. c[G >> 2] = c[F >> 2];
  112359. c[(G + 4) >> 2] = x;
  112360. C = 54;
  112361. break;
  112362. }
  112363. if (!e) {
  112364. Q = 0;
  112365. break a;
  112366. }
  112367. hz(m, _, f);
  112368. $ = c[k >> 2] | 0;
  112369. C = 55;
  112370. }
  112371. } while (0);
  112372. if ((C | 0) == 54) {
  112373. C = 0;
  112374. if (e) {
  112375. $ = B;
  112376. C = 55;
  112377. } else aa = 0;
  112378. }
  112379. d: do {
  112380. if ((C | 0) == 55) {
  112381. C = 0;
  112382. w = a[($ + -1) >> 0] | 0;
  112383. x =
  112384. ((D | 0) != 0) & (((w & 15) | 0) == 3) ? w & -33 : w;
  112385. w = T & -65537;
  112386. G = ((T & 8192) | 0) == 0 ? T : w;
  112387. e: do {
  112388. switch (x | 0) {
  112389. case 110: {
  112390. switch (((D & 255) << 24) >> 24) {
  112391. case 0: {
  112392. c[c[m >> 2] >> 2] = z;
  112393. aa = 0;
  112394. break d;
  112395. break;
  112396. }
  112397. case 1: {
  112398. c[c[m >> 2] >> 2] = z;
  112399. aa = 0;
  112400. break d;
  112401. break;
  112402. }
  112403. case 2: {
  112404. F = c[m >> 2] | 0;
  112405. c[F >> 2] = z;
  112406. c[(F + 4) >> 2] = (((z | 0) < 0) << 31) >> 31;
  112407. aa = 0;
  112408. break d;
  112409. break;
  112410. }
  112411. case 3: {
  112412. b[c[m >> 2] >> 1] = z;
  112413. aa = 0;
  112414. break d;
  112415. break;
  112416. }
  112417. case 4: {
  112418. a[c[m >> 2] >> 0] = z;
  112419. aa = 0;
  112420. break d;
  112421. break;
  112422. }
  112423. case 6: {
  112424. c[c[m >> 2] >> 2] = z;
  112425. aa = 0;
  112426. break d;
  112427. break;
  112428. }
  112429. case 7: {
  112430. F = c[m >> 2] | 0;
  112431. c[F >> 2] = z;
  112432. c[(F + 4) >> 2] = (((z | 0) < 0) << 31) >> 31;
  112433. aa = 0;
  112434. break d;
  112435. break;
  112436. }
  112437. default: {
  112438. aa = 0;
  112439. break d;
  112440. }
  112441. }
  112442. break;
  112443. }
  112444. case 112: {
  112445. ba = 120;
  112446. ca = W >>> 0 > 8 ? W : 8;
  112447. da = G | 8;
  112448. C = 67;
  112449. break;
  112450. }
  112451. case 88:
  112452. case 120: {
  112453. ba = x;
  112454. ca = W;
  112455. da = G;
  112456. C = 67;
  112457. break;
  112458. }
  112459. case 111: {
  112460. F = m;
  112461. ea = c[F >> 2] | 0;
  112462. fa = c[(F + 4) >> 2] | 0;
  112463. F = jz(ea, fa, q) | 0;
  112464. ga = (r - F) | 0;
  112465. ha = F;
  112466. ia = 0;
  112467. ja = 17834;
  112468. ka =
  112469. (((G & 8) | 0) == 0) | ((W | 0) > (ga | 0))
  112470. ? W
  112471. : (ga + 1) | 0;
  112472. la = G;
  112473. ma = ea;
  112474. na = fa;
  112475. C = 73;
  112476. break;
  112477. }
  112478. case 105:
  112479. case 100: {
  112480. fa = m;
  112481. ea = c[fa >> 2] | 0;
  112482. ga = c[(fa + 4) >> 2] | 0;
  112483. if ((ga | 0) < 0) {
  112484. fa = eE(0, 0, ea | 0, ga | 0) | 0;
  112485. F = y;
  112486. oa = m;
  112487. c[oa >> 2] = fa;
  112488. c[(oa + 4) >> 2] = F;
  112489. pa = 1;
  112490. qa = 17834;
  112491. ra = fa;
  112492. sa = F;
  112493. C = 72;
  112494. break e;
  112495. } else {
  112496. pa = (((G & 2049) | 0) != 0) & 1;
  112497. qa =
  112498. ((G & 2048) | 0) == 0
  112499. ? ((G & 1) | 0) == 0
  112500. ? 17834
  112501. : 17836
  112502. : 17835;
  112503. ra = ea;
  112504. sa = ga;
  112505. C = 72;
  112506. break e;
  112507. }
  112508. break;
  112509. }
  112510. case 117: {
  112511. ga = m;
  112512. pa = 0;
  112513. qa = 17834;
  112514. ra = c[ga >> 2] | 0;
  112515. sa = c[(ga + 4) >> 2] | 0;
  112516. C = 72;
  112517. break;
  112518. }
  112519. case 99: {
  112520. a[s >> 0] = c[m >> 2];
  112521. ta = s;
  112522. ua = 0;
  112523. va = 17834;
  112524. wa = 1;
  112525. xa = w;
  112526. ya = r;
  112527. break;
  112528. }
  112529. case 109: {
  112530. za = lz(c[(My() | 0) >> 2] | 0) | 0;
  112531. C = 77;
  112532. break;
  112533. }
  112534. case 115: {
  112535. ga = c[m >> 2] | 0;
  112536. za = (ga | 0) == 0 ? 17844 : ga;
  112537. C = 77;
  112538. break;
  112539. }
  112540. case 67: {
  112541. c[o >> 2] = c[m >> 2];
  112542. c[n >> 2] = 0;
  112543. c[m >> 2] = o;
  112544. Aa = -1;
  112545. C = 81;
  112546. break;
  112547. }
  112548. case 83: {
  112549. if (!W) {
  112550. mz(d, 32, S, 0, G);
  112551. Ba = 0;
  112552. C = 91;
  112553. } else {
  112554. Aa = W;
  112555. C = 81;
  112556. }
  112557. break;
  112558. }
  112559. case 65:
  112560. case 71:
  112561. case 70:
  112562. case 69:
  112563. case 97:
  112564. case 103:
  112565. case 102:
  112566. case 101: {
  112567. aa = oz(d, +h[m >> 3], S, W, G, x) | 0;
  112568. break d;
  112569. break;
  112570. }
  112571. default: {
  112572. ta = A;
  112573. ua = 0;
  112574. va = 17834;
  112575. wa = W;
  112576. xa = G;
  112577. ya = r;
  112578. }
  112579. }
  112580. } while (0);
  112581. f: do {
  112582. if ((C | 0) == 67) {
  112583. C = 0;
  112584. x = m;
  112585. ga = c[x >> 2] | 0;
  112586. ea = c[(x + 4) >> 2] | 0;
  112587. x = iz(ga, ea, q, ba & 32) | 0;
  112588. F =
  112589. (((da & 8) | 0) == 0) |
  112590. (((ga | 0) == 0) & ((ea | 0) == 0));
  112591. ha = x;
  112592. ia = F ? 0 : 2;
  112593. ja = F ? 17834 : (17834 + (ba >>> 4)) | 0;
  112594. ka = ca;
  112595. la = da;
  112596. ma = ga;
  112597. na = ea;
  112598. C = 73;
  112599. } else if ((C | 0) == 72) {
  112600. C = 0;
  112601. ha = kz(ra, sa, q) | 0;
  112602. ia = pa;
  112603. ja = qa;
  112604. ka = W;
  112605. la = G;
  112606. ma = ra;
  112607. na = sa;
  112608. C = 73;
  112609. } else if ((C | 0) == 77) {
  112610. C = 0;
  112611. ea = Uy(za, 0, W) | 0;
  112612. ga = (ea | 0) == 0;
  112613. ta = za;
  112614. ua = 0;
  112615. va = 17834;
  112616. wa = ga ? W : (ea - za) | 0;
  112617. xa = w;
  112618. ya = ga ? (za + W) | 0 : ea;
  112619. } else if ((C | 0) == 81) {
  112620. C = 0;
  112621. ea = c[m >> 2] | 0;
  112622. ga = 0;
  112623. while (1) {
  112624. F = c[ea >> 2] | 0;
  112625. if (!F) {
  112626. Ca = ga;
  112627. break;
  112628. }
  112629. x = nz(p, F) | 0;
  112630. Da = (x | 0) < 0;
  112631. if (Da | (x >>> 0 > ((Aa - ga) | 0) >>> 0)) {
  112632. C = 85;
  112633. break;
  112634. }
  112635. F = (x + ga) | 0;
  112636. if (Aa >>> 0 > F >>> 0) {
  112637. ea = (ea + 4) | 0;
  112638. ga = F;
  112639. } else {
  112640. Ca = F;
  112641. break;
  112642. }
  112643. }
  112644. if ((C | 0) == 85) {
  112645. C = 0;
  112646. if (Da) {
  112647. Q = -1;
  112648. break a;
  112649. } else Ca = ga;
  112650. }
  112651. mz(d, 32, S, Ca, G);
  112652. if (!Ca) {
  112653. Ba = 0;
  112654. C = 91;
  112655. } else {
  112656. ea = c[m >> 2] | 0;
  112657. F = 0;
  112658. while (1) {
  112659. x = c[ea >> 2] | 0;
  112660. if (!x) {
  112661. Ba = Ca;
  112662. C = 91;
  112663. break f;
  112664. }
  112665. fa = nz(p, x) | 0;
  112666. F = (fa + F) | 0;
  112667. if ((F | 0) > (Ca | 0)) {
  112668. Ba = Ca;
  112669. C = 91;
  112670. break f;
  112671. }
  112672. fz(d, p, fa);
  112673. if (F >>> 0 >= Ca >>> 0) {
  112674. Ba = Ca;
  112675. C = 91;
  112676. break;
  112677. } else ea = (ea + 4) | 0;
  112678. }
  112679. }
  112680. }
  112681. } while (0);
  112682. if ((C | 0) == 73) {
  112683. C = 0;
  112684. w = ((ma | 0) != 0) | ((na | 0) != 0);
  112685. ea = ((ka | 0) != 0) | w;
  112686. F = (r - ha + ((w ^ 1) & 1)) | 0;
  112687. ta = ea ? ha : q;
  112688. ua = ia;
  112689. va = ja;
  112690. wa = ea ? ((ka | 0) > (F | 0) ? ka : F) : 0;
  112691. xa = (ka | 0) > -1 ? la & -65537 : la;
  112692. ya = r;
  112693. } else if ((C | 0) == 91) {
  112694. C = 0;
  112695. mz(d, 32, S, Ba, G ^ 8192);
  112696. aa = (S | 0) > (Ba | 0) ? S : Ba;
  112697. break;
  112698. }
  112699. F = (ya - ta) | 0;
  112700. ea = (wa | 0) < (F | 0) ? F : wa;
  112701. w = (ea + ua) | 0;
  112702. ga = (S | 0) < (w | 0) ? w : S;
  112703. mz(d, 32, ga, w, xa);
  112704. fz(d, va, ua);
  112705. mz(d, 48, ga, w, xa ^ 65536);
  112706. mz(d, 48, ea, F, 0);
  112707. fz(d, ta, F);
  112708. mz(d, 32, ga, w, xa ^ 8192);
  112709. aa = ga;
  112710. }
  112711. } while (0);
  112712. t = aa;
  112713. u = z;
  112714. v = U;
  112715. }
  112716. g: do {
  112717. if ((C | 0) == 94)
  112718. if (!d) {
  112719. if (!v) Q = 0;
  112720. else {
  112721. U = 1;
  112722. while (1) {
  112723. u = c[(i + (U << 2)) >> 2] | 0;
  112724. if (!u) break;
  112725. hz((g + (U << 3)) | 0, u, f);
  112726. u = (U + 1) | 0;
  112727. if (u >>> 0 < 10) U = u;
  112728. else {
  112729. Q = 1;
  112730. break g;
  112731. }
  112732. }
  112733. u = U;
  112734. while (1) {
  112735. if (c[(i + (u << 2)) >> 2] | 0) {
  112736. Q = -1;
  112737. break g;
  112738. }
  112739. u = (u + 1) | 0;
  112740. if (u >>> 0 >= 10) {
  112741. Q = 1;
  112742. break;
  112743. }
  112744. }
  112745. }
  112746. } else Q = z;
  112747. } while (0);
  112748. l = j;
  112749. return Q | 0;
  112750. }
  112751. function fz(a, b, d) {
  112752. a = a | 0;
  112753. b = b | 0;
  112754. d = d | 0;
  112755. if (!(c[a >> 2] & 32)) xz(b, d, a) | 0;
  112756. return;
  112757. }
  112758. function gz(b) {
  112759. b = b | 0;
  112760. var d = 0,
  112761. e = 0,
  112762. f = 0,
  112763. g = 0,
  112764. h = 0;
  112765. if (!(Sy(a[c[b >> 2] >> 0] | 0) | 0)) d = 0;
  112766. else {
  112767. e = 0;
  112768. while (1) {
  112769. f = c[b >> 2] | 0;
  112770. g = (((e * 10) | 0) + -48 + (a[f >> 0] | 0)) | 0;
  112771. h = (f + 1) | 0;
  112772. c[b >> 2] = h;
  112773. if (!(Sy(a[h >> 0] | 0) | 0)) {
  112774. d = g;
  112775. break;
  112776. } else e = g;
  112777. }
  112778. }
  112779. return d | 0;
  112780. }
  112781. function hz(a, b, d) {
  112782. a = a | 0;
  112783. b = b | 0;
  112784. d = d | 0;
  112785. var e = 0,
  112786. f = 0,
  112787. g = 0,
  112788. i = 0,
  112789. j = 0.0;
  112790. a: do {
  112791. if (b >>> 0 <= 20)
  112792. do {
  112793. switch (b | 0) {
  112794. case 9: {
  112795. e = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112796. f = c[e >> 2] | 0;
  112797. c[d >> 2] = e + 4;
  112798. c[a >> 2] = f;
  112799. break a;
  112800. break;
  112801. }
  112802. case 10: {
  112803. f = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112804. e = c[f >> 2] | 0;
  112805. c[d >> 2] = f + 4;
  112806. f = a;
  112807. c[f >> 2] = e;
  112808. c[(f + 4) >> 2] = (((e | 0) < 0) << 31) >> 31;
  112809. break a;
  112810. break;
  112811. }
  112812. case 11: {
  112813. e = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112814. f = c[e >> 2] | 0;
  112815. c[d >> 2] = e + 4;
  112816. e = a;
  112817. c[e >> 2] = f;
  112818. c[(e + 4) >> 2] = 0;
  112819. break a;
  112820. break;
  112821. }
  112822. case 12: {
  112823. e = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1);
  112824. f = e;
  112825. g = c[f >> 2] | 0;
  112826. i = c[(f + 4) >> 2] | 0;
  112827. c[d >> 2] = e + 8;
  112828. e = a;
  112829. c[e >> 2] = g;
  112830. c[(e + 4) >> 2] = i;
  112831. break a;
  112832. break;
  112833. }
  112834. case 13: {
  112835. i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112836. e = c[i >> 2] | 0;
  112837. c[d >> 2] = i + 4;
  112838. i = ((e & 65535) << 16) >> 16;
  112839. e = a;
  112840. c[e >> 2] = i;
  112841. c[(e + 4) >> 2] = (((i | 0) < 0) << 31) >> 31;
  112842. break a;
  112843. break;
  112844. }
  112845. case 14: {
  112846. i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112847. e = c[i >> 2] | 0;
  112848. c[d >> 2] = i + 4;
  112849. i = a;
  112850. c[i >> 2] = e & 65535;
  112851. c[(i + 4) >> 2] = 0;
  112852. break a;
  112853. break;
  112854. }
  112855. case 15: {
  112856. i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112857. e = c[i >> 2] | 0;
  112858. c[d >> 2] = i + 4;
  112859. i = ((e & 255) << 24) >> 24;
  112860. e = a;
  112861. c[e >> 2] = i;
  112862. c[(e + 4) >> 2] = (((i | 0) < 0) << 31) >> 31;
  112863. break a;
  112864. break;
  112865. }
  112866. case 16: {
  112867. i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
  112868. e = c[i >> 2] | 0;
  112869. c[d >> 2] = i + 4;
  112870. i = a;
  112871. c[i >> 2] = e & 255;
  112872. c[(i + 4) >> 2] = 0;
  112873. break a;
  112874. break;
  112875. }
  112876. case 17: {
  112877. i = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1);
  112878. j = +h[i >> 3];
  112879. c[d >> 2] = i + 8;
  112880. h[a >> 3] = j;
  112881. break a;
  112882. break;
  112883. }
  112884. case 18: {
  112885. i = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1);
  112886. j = +h[i >> 3];
  112887. c[d >> 2] = i + 8;
  112888. h[a >> 3] = j;
  112889. break a;
  112890. break;
  112891. }
  112892. default:
  112893. break a;
  112894. }
  112895. } while (0);
  112896. } while (0);
  112897. return;
  112898. }
  112899. function iz(b, c, e, f) {
  112900. b = b | 0;
  112901. c = c | 0;
  112902. e = e | 0;
  112903. f = f | 0;
  112904. var g = 0,
  112905. h = 0;
  112906. if (((b | 0) == 0) & ((c | 0) == 0)) g = e;
  112907. else {
  112908. h = e;
  112909. e = c;
  112910. c = b;
  112911. while (1) {
  112912. b = (h + -1) | 0;
  112913. a[b >> 0] = d[(7920 + (c & 15)) >> 0] | 0 | f;
  112914. c = iE(c | 0, e | 0, 4) | 0;
  112915. e = y;
  112916. if (((c | 0) == 0) & ((e | 0) == 0)) {
  112917. g = b;
  112918. break;
  112919. } else h = b;
  112920. }
  112921. }
  112922. return g | 0;
  112923. }
  112924. function jz(b, c, d) {
  112925. b = b | 0;
  112926. c = c | 0;
  112927. d = d | 0;
  112928. var e = 0,
  112929. f = 0;
  112930. if (((b | 0) == 0) & ((c | 0) == 0)) e = d;
  112931. else {
  112932. f = d;
  112933. d = c;
  112934. c = b;
  112935. while (1) {
  112936. b = (f + -1) | 0;
  112937. a[b >> 0] = (c & 7) | 48;
  112938. c = iE(c | 0, d | 0, 3) | 0;
  112939. d = y;
  112940. if (((c | 0) == 0) & ((d | 0) == 0)) {
  112941. e = b;
  112942. break;
  112943. } else f = b;
  112944. }
  112945. }
  112946. return e | 0;
  112947. }
  112948. function kz(b, c, d) {
  112949. b = b | 0;
  112950. c = c | 0;
  112951. d = d | 0;
  112952. var e = 0,
  112953. f = 0,
  112954. g = 0,
  112955. h = 0,
  112956. i = 0,
  112957. j = 0,
  112958. k = 0,
  112959. l = 0,
  112960. m = 0;
  112961. if (
  112962. (c >>> 0 > 0) |
  112963. (((c | 0) == 0) & (b >>> 0 > 4294967295))
  112964. ) {
  112965. e = d;
  112966. f = b;
  112967. g = c;
  112968. do {
  112969. c = f;
  112970. f = hE(f | 0, g | 0, 10, 0) | 0;
  112971. h = g;
  112972. g = y;
  112973. i = cE(f | 0, g | 0, 10, 0) | 0;
  112974. j = eE(c | 0, h | 0, i | 0, y | 0) | 0;
  112975. e = (e + -1) | 0;
  112976. a[e >> 0] = (j & 255) | 48;
  112977. } while (
  112978. (h >>> 0 > 9) |
  112979. (((h | 0) == 9) & (c >>> 0 > 4294967295))
  112980. );
  112981. k = f;
  112982. l = e;
  112983. } else {
  112984. k = b;
  112985. l = d;
  112986. }
  112987. if (!k) m = l;
  112988. else {
  112989. d = k;
  112990. k = l;
  112991. while (1) {
  112992. l = d;
  112993. d = ((d >>> 0) / 10) | 0;
  112994. b = (k + -1) | 0;
  112995. a[b >> 0] = (l - ((d * 10) | 0)) | 48;
  112996. if (l >>> 0 < 10) {
  112997. m = b;
  112998. break;
  112999. } else k = b;
  113000. }
  113001. }
  113002. return m | 0;
  113003. }
  113004. function lz(a) {
  113005. a = a | 0;
  113006. return vz(a, c[((uz() | 0) + 188) >> 2] | 0) | 0;
  113007. }
  113008. function mz(a, b, c, d, e) {
  113009. a = a | 0;
  113010. b = b | 0;
  113011. c = c | 0;
  113012. d = d | 0;
  113013. e = e | 0;
  113014. var f = 0,
  113015. g = 0,
  113016. h = 0;
  113017. f = l;
  113018. l = (l + 256) | 0;
  113019. g = f;
  113020. if (((c | 0) > (d | 0)) & (((e & 73728) | 0) == 0)) {
  113021. e = (c - d) | 0;
  113022. oE(
  113023. g | 0,
  113024. ((b << 24) >> 24) | 0,
  113025. (e >>> 0 < 256 ? e : 256) | 0
  113026. ) | 0;
  113027. if (e >>> 0 > 255) {
  113028. b = (c - d) | 0;
  113029. d = e;
  113030. do {
  113031. fz(a, g, 256);
  113032. d = (d + -256) | 0;
  113033. } while (d >>> 0 > 255);
  113034. h = b & 255;
  113035. } else h = e;
  113036. fz(a, g, h);
  113037. }
  113038. l = f;
  113039. return;
  113040. }
  113041. function nz(a, b) {
  113042. a = a | 0;
  113043. b = b | 0;
  113044. var c = 0;
  113045. if (!a) c = 0;
  113046. else c = sz(a, b, 0) | 0;
  113047. return c | 0;
  113048. }
  113049. function oz(b, e, f, g, h, i) {
  113050. b = b | 0;
  113051. e = +e;
  113052. f = f | 0;
  113053. g = g | 0;
  113054. h = h | 0;
  113055. i = i | 0;
  113056. var j = 0,
  113057. k = 0,
  113058. m = 0,
  113059. n = 0,
  113060. o = 0,
  113061. p = 0,
  113062. q = 0,
  113063. r = 0,
  113064. s = 0,
  113065. t = 0.0,
  113066. u = 0,
  113067. v = 0.0,
  113068. w = 0,
  113069. x = 0,
  113070. z = 0,
  113071. A = 0,
  113072. B = 0,
  113073. C = 0,
  113074. D = 0,
  113075. E = 0,
  113076. F = 0.0,
  113077. G = 0,
  113078. H = 0,
  113079. I = 0,
  113080. J = 0.0,
  113081. K = 0,
  113082. L = 0,
  113083. M = 0,
  113084. O = 0,
  113085. P = 0,
  113086. Q = 0,
  113087. R = 0.0,
  113088. S = 0,
  113089. T = 0,
  113090. U = 0,
  113091. V = 0,
  113092. W = 0,
  113093. X = 0,
  113094. Y = 0,
  113095. Z = 0,
  113096. _ = 0,
  113097. $ = 0,
  113098. aa = 0,
  113099. ba = 0,
  113100. ca = 0,
  113101. da = 0,
  113102. ea = 0,
  113103. fa = 0,
  113104. ga = 0,
  113105. ha = 0,
  113106. ia = 0.0,
  113107. ja = 0.0,
  113108. ka = 0,
  113109. la = 0,
  113110. ma = 0,
  113111. na = 0,
  113112. oa = 0,
  113113. pa = 0,
  113114. qa = 0,
  113115. ra = 0,
  113116. sa = 0,
  113117. ta = 0,
  113118. ua = 0,
  113119. va = 0,
  113120. wa = 0,
  113121. xa = 0,
  113122. ya = 0,
  113123. za = 0,
  113124. Aa = 0,
  113125. Ba = 0,
  113126. Ca = 0,
  113127. Da = 0,
  113128. Ea = 0,
  113129. Fa = 0,
  113130. Ga = 0,
  113131. Ha = 0,
  113132. Ia = 0;
  113133. j = l;
  113134. l = (l + 560) | 0;
  113135. k = (j + 32) | 0;
  113136. m = (j + 536) | 0;
  113137. n = j;
  113138. o = n;
  113139. p = (j + 540) | 0;
  113140. c[m >> 2] = 0;
  113141. q = (p + 12) | 0;
  113142. r = pz(e) | 0;
  113143. s = y;
  113144. if ((s | 0) < 0) {
  113145. t = -e;
  113146. u = pz(t) | 0;
  113147. v = t;
  113148. w = 1;
  113149. x = 17851;
  113150. z = y;
  113151. A = u;
  113152. } else {
  113153. v = e;
  113154. w = (((h & 2049) | 0) != 0) & 1;
  113155. x =
  113156. ((h & 2048) | 0) == 0
  113157. ? ((h & 1) | 0) == 0
  113158. ? 17852
  113159. : 17857
  113160. : 17854;
  113161. z = s;
  113162. A = r;
  113163. }
  113164. do {
  113165. if ((0 == 0) & (((z & 2146435072) | 0) == 2146435072)) {
  113166. r = ((i & 32) | 0) != 0;
  113167. A = (w + 3) | 0;
  113168. mz(b, 32, f, A, h & -65537);
  113169. fz(b, x, w);
  113170. fz(
  113171. b,
  113172. (v != v) | (0.0 != 0.0)
  113173. ? r
  113174. ? 17878
  113175. : 17882
  113176. : r
  113177. ? 17870
  113178. : 17874,
  113179. 3
  113180. );
  113181. mz(b, 32, f, A, h ^ 8192);
  113182. B = A;
  113183. } else {
  113184. e = +qz(v, m) * 2.0;
  113185. A = e != 0.0;
  113186. if (A) c[m >> 2] = (c[m >> 2] | 0) + -1;
  113187. r = i | 32;
  113188. if ((r | 0) == 97) {
  113189. s = i & 32;
  113190. u = (s | 0) == 0 ? x : (x + 9) | 0;
  113191. C = w | 2;
  113192. D = (12 - g) | 0;
  113193. do {
  113194. if (!((g >>> 0 > 11) | ((D | 0) == 0))) {
  113195. t = 8.0;
  113196. E = D;
  113197. do {
  113198. E = (E + -1) | 0;
  113199. t = t * 16.0;
  113200. } while ((E | 0) != 0);
  113201. if ((a[u >> 0] | 0) == 45) {
  113202. F = -(t + (-e - t));
  113203. break;
  113204. } else {
  113205. F = e + t - t;
  113206. break;
  113207. }
  113208. } else F = e;
  113209. } while (0);
  113210. D = c[m >> 2] | 0;
  113211. E = (D | 0) < 0 ? (0 - D) | 0 : D;
  113212. G = kz(E, (((E | 0) < 0) << 31) >> 31, q) | 0;
  113213. if ((G | 0) == (q | 0)) {
  113214. E = (p + 11) | 0;
  113215. a[E >> 0] = 48;
  113216. H = E;
  113217. } else H = G;
  113218. a[(H + -1) >> 0] = ((D >> 31) & 2) + 43;
  113219. D = (H + -2) | 0;
  113220. a[D >> 0] = i + 15;
  113221. G = (g | 0) < 1;
  113222. E = ((h & 8) | 0) == 0;
  113223. I = n;
  113224. J = F;
  113225. while (1) {
  113226. K = ~~J;
  113227. L = (I + 1) | 0;
  113228. a[I >> 0] = s | d[(7920 + K) >> 0];
  113229. J = (J - +(K | 0)) * 16.0;
  113230. if (
  113231. ((L - o) | 0) == 1 ? !(E & (G & (J == 0.0))) : 0
  113232. ) {
  113233. a[L >> 0] = 46;
  113234. M = (I + 2) | 0;
  113235. } else M = L;
  113236. if (!(J != 0.0)) break;
  113237. else I = M;
  113238. }
  113239. I = M;
  113240. if ((g | 0) != 0 ? ((-2 - o + I) | 0) < (g | 0) : 0) {
  113241. G = q;
  113242. E = D;
  113243. O = (g + 2 + G - E) | 0;
  113244. P = G;
  113245. Q = E;
  113246. } else {
  113247. E = q;
  113248. G = D;
  113249. O = (E - o - G + I) | 0;
  113250. P = E;
  113251. Q = G;
  113252. }
  113253. G = (O + C) | 0;
  113254. mz(b, 32, f, G, h);
  113255. fz(b, u, C);
  113256. mz(b, 48, f, G, h ^ 65536);
  113257. E = (I - o) | 0;
  113258. fz(b, n, E);
  113259. I = (P - Q) | 0;
  113260. mz(b, 48, (O - (E + I)) | 0, 0, 0);
  113261. fz(b, D, I);
  113262. mz(b, 32, f, G, h ^ 8192);
  113263. B = G;
  113264. break;
  113265. }
  113266. G = (g | 0) < 0 ? 6 : g;
  113267. if (A) {
  113268. I = ((c[m >> 2] | 0) + -28) | 0;
  113269. c[m >> 2] = I;
  113270. R = e * 268435456.0;
  113271. S = I;
  113272. } else {
  113273. R = e;
  113274. S = c[m >> 2] | 0;
  113275. }
  113276. I = (S | 0) < 0 ? k : (k + 288) | 0;
  113277. E = I;
  113278. J = R;
  113279. do {
  113280. s = ~~J >>> 0;
  113281. c[E >> 2] = s;
  113282. E = (E + 4) | 0;
  113283. J = (J - +(s >>> 0)) * 1.0e9;
  113284. } while (J != 0.0);
  113285. A = I;
  113286. if ((S | 0) > 0) {
  113287. D = I;
  113288. C = E;
  113289. u = S;
  113290. while (1) {
  113291. s = (u | 0) < 29 ? u : 29;
  113292. L = (C + -4) | 0;
  113293. if (L >>> 0 >= D >>> 0) {
  113294. K = L;
  113295. L = 0;
  113296. do {
  113297. T = jE(c[K >> 2] | 0, 0, s | 0) | 0;
  113298. U = dE(T | 0, y | 0, L | 0, 0) | 0;
  113299. T = y;
  113300. L = hE(U | 0, T | 0, 1e9, 0) | 0;
  113301. V = cE(L | 0, y | 0, 1e9, 0) | 0;
  113302. W = eE(U | 0, T | 0, V | 0, y | 0) | 0;
  113303. c[K >> 2] = W;
  113304. K = (K + -4) | 0;
  113305. } while (K >>> 0 >= D >>> 0);
  113306. if (L) {
  113307. K = (D + -4) | 0;
  113308. c[K >> 2] = L;
  113309. X = K;
  113310. } else X = D;
  113311. } else X = D;
  113312. a: do {
  113313. if (C >>> 0 > X >>> 0) {
  113314. K = C;
  113315. while (1) {
  113316. W = (K + -4) | 0;
  113317. if (c[W >> 2] | 0) {
  113318. Y = K;
  113319. break a;
  113320. }
  113321. if (W >>> 0 > X >>> 0) K = W;
  113322. else {
  113323. Y = W;
  113324. break;
  113325. }
  113326. }
  113327. } else Y = C;
  113328. } while (0);
  113329. L = ((c[m >> 2] | 0) - s) | 0;
  113330. c[m >> 2] = L;
  113331. if ((L | 0) > 0) {
  113332. D = X;
  113333. C = Y;
  113334. u = L;
  113335. } else {
  113336. Z = X;
  113337. _ = Y;
  113338. $ = L;
  113339. break;
  113340. }
  113341. }
  113342. } else {
  113343. Z = I;
  113344. _ = E;
  113345. $ = S;
  113346. }
  113347. if (($ | 0) < 0) {
  113348. u = (((((G + 25) | 0) / 9) | 0) + 1) | 0;
  113349. C = (r | 0) == 102;
  113350. D = Z;
  113351. L = _;
  113352. K = $;
  113353. while (1) {
  113354. W = (0 - K) | 0;
  113355. V = (W | 0) < 9 ? W : 9;
  113356. if (D >>> 0 < L >>> 0) {
  113357. W = ((1 << V) + -1) | 0;
  113358. T = 1e9 >>> V;
  113359. U = 0;
  113360. aa = D;
  113361. do {
  113362. ba = c[aa >> 2] | 0;
  113363. c[aa >> 2] = (ba >>> V) + U;
  113364. U = N(ba & W, T) | 0;
  113365. aa = (aa + 4) | 0;
  113366. } while (aa >>> 0 < L >>> 0);
  113367. aa = (c[D >> 2] | 0) == 0 ? (D + 4) | 0 : D;
  113368. if (!U) {
  113369. ca = L;
  113370. da = aa;
  113371. } else {
  113372. c[L >> 2] = U;
  113373. ca = (L + 4) | 0;
  113374. da = aa;
  113375. }
  113376. } else {
  113377. ca = L;
  113378. da = (c[D >> 2] | 0) == 0 ? (D + 4) | 0 : D;
  113379. }
  113380. aa = C ? I : da;
  113381. T =
  113382. (((ca - aa) >> 2) | 0) > (u | 0)
  113383. ? (aa + (u << 2)) | 0
  113384. : ca;
  113385. K = ((c[m >> 2] | 0) + V) | 0;
  113386. c[m >> 2] = K;
  113387. if ((K | 0) >= 0) {
  113388. ea = da;
  113389. fa = T;
  113390. break;
  113391. } else {
  113392. D = da;
  113393. L = T;
  113394. }
  113395. }
  113396. } else {
  113397. ea = Z;
  113398. fa = _;
  113399. }
  113400. if (ea >>> 0 < fa >>> 0) {
  113401. L = (((A - ea) >> 2) * 9) | 0;
  113402. D = c[ea >> 2] | 0;
  113403. if (D >>> 0 < 10) ga = L;
  113404. else {
  113405. K = L;
  113406. L = 10;
  113407. while (1) {
  113408. L = (L * 10) | 0;
  113409. u = (K + 1) | 0;
  113410. if (D >>> 0 < L >>> 0) {
  113411. ga = u;
  113412. break;
  113413. } else K = u;
  113414. }
  113415. }
  113416. } else ga = 0;
  113417. K = (r | 0) == 103;
  113418. L = (G | 0) != 0;
  113419. D =
  113420. (G -
  113421. ((r | 0) == 102 ? 0 : ga) +
  113422. (((L & K) << 31) >> 31)) |
  113423. 0;
  113424. if ((D | 0) < ((((((fa - A) >> 2) * 9) | 0) + -9) | 0)) {
  113425. u = (D + 9216) | 0;
  113426. D = ((u | 0) / 9) | 0;
  113427. C = (I + 4 + ((D + -1024) << 2)) | 0;
  113428. E = (u - ((D * 9) | 0)) | 0;
  113429. if ((E | 0) < 8) {
  113430. D = E;
  113431. E = 10;
  113432. while (1) {
  113433. u = (E * 10) | 0;
  113434. if ((D | 0) < 7) {
  113435. D = (D + 1) | 0;
  113436. E = u;
  113437. } else {
  113438. ha = u;
  113439. break;
  113440. }
  113441. }
  113442. } else ha = 10;
  113443. E = c[C >> 2] | 0;
  113444. D = ((E >>> 0) / (ha >>> 0)) | 0;
  113445. r = (E - (N(D, ha) | 0)) | 0;
  113446. u = ((C + 4) | 0) == (fa | 0);
  113447. if (!(u & ((r | 0) == 0))) {
  113448. t =
  113449. ((D & 1) | 0) == 0
  113450. ? 9007199254740992.0
  113451. : 9007199254740994.0;
  113452. D = ha >>> 1;
  113453. J =
  113454. r >>> 0 < D >>> 0
  113455. ? 0.5
  113456. : u & ((r | 0) == (D | 0))
  113457. ? 1.0
  113458. : 1.5;
  113459. if (!w) {
  113460. ia = J;
  113461. ja = t;
  113462. } else {
  113463. D = (a[x >> 0] | 0) == 45;
  113464. ia = D ? -J : J;
  113465. ja = D ? -t : t;
  113466. }
  113467. D = (E - r) | 0;
  113468. c[C >> 2] = D;
  113469. if (ja + ia != ja) {
  113470. r = (D + ha) | 0;
  113471. c[C >> 2] = r;
  113472. if (r >>> 0 > 999999999) {
  113473. r = C;
  113474. D = ea;
  113475. while (1) {
  113476. E = (r + -4) | 0;
  113477. c[r >> 2] = 0;
  113478. if (E >>> 0 < D >>> 0) {
  113479. u = (D + -4) | 0;
  113480. c[u >> 2] = 0;
  113481. ka = u;
  113482. } else ka = D;
  113483. u = ((c[E >> 2] | 0) + 1) | 0;
  113484. c[E >> 2] = u;
  113485. if (u >>> 0 > 999999999) {
  113486. r = E;
  113487. D = ka;
  113488. } else {
  113489. la = E;
  113490. ma = ka;
  113491. break;
  113492. }
  113493. }
  113494. } else {
  113495. la = C;
  113496. ma = ea;
  113497. }
  113498. D = (((A - ma) >> 2) * 9) | 0;
  113499. r = c[ma >> 2] | 0;
  113500. if (r >>> 0 < 10) {
  113501. na = la;
  113502. oa = D;
  113503. pa = ma;
  113504. } else {
  113505. E = D;
  113506. D = 10;
  113507. while (1) {
  113508. D = (D * 10) | 0;
  113509. u = (E + 1) | 0;
  113510. if (r >>> 0 < D >>> 0) {
  113511. na = la;
  113512. oa = u;
  113513. pa = ma;
  113514. break;
  113515. } else E = u;
  113516. }
  113517. }
  113518. } else {
  113519. na = C;
  113520. oa = ga;
  113521. pa = ea;
  113522. }
  113523. } else {
  113524. na = C;
  113525. oa = ga;
  113526. pa = ea;
  113527. }
  113528. E = (na + 4) | 0;
  113529. qa = oa;
  113530. ra = fa >>> 0 > E >>> 0 ? E : fa;
  113531. sa = pa;
  113532. } else {
  113533. qa = ga;
  113534. ra = fa;
  113535. sa = ea;
  113536. }
  113537. E = (0 - qa) | 0;
  113538. b: do {
  113539. if (ra >>> 0 > sa >>> 0) {
  113540. D = ra;
  113541. while (1) {
  113542. r = (D + -4) | 0;
  113543. if (c[r >> 2] | 0) {
  113544. ta = D;
  113545. ua = 1;
  113546. break b;
  113547. }
  113548. if (r >>> 0 > sa >>> 0) D = r;
  113549. else {
  113550. ta = r;
  113551. ua = 0;
  113552. break;
  113553. }
  113554. }
  113555. } else {
  113556. ta = ra;
  113557. ua = 0;
  113558. }
  113559. } while (0);
  113560. do {
  113561. if (K) {
  113562. C = (G + ((L ^ 1) & 1)) | 0;
  113563. if (((C | 0) > (qa | 0)) & ((qa | 0) > -5)) {
  113564. va = (i + -1) | 0;
  113565. wa = (C + -1 - qa) | 0;
  113566. } else {
  113567. va = (i + -2) | 0;
  113568. wa = (C + -1) | 0;
  113569. }
  113570. if (!(h & 8)) {
  113571. if (
  113572. ua
  113573. ? ((C = c[(ta + -4) >> 2] | 0), (C | 0) != 0)
  113574. : 0
  113575. ) {
  113576. if (!((C >>> 0) % 10 | 0)) {
  113577. D = 0;
  113578. V = 10;
  113579. while (1) {
  113580. V = (V * 10) | 0;
  113581. U = (D + 1) | 0;
  113582. if ((C >>> 0) % (V >>> 0) | 0 | 0) {
  113583. xa = U;
  113584. break;
  113585. } else D = U;
  113586. }
  113587. } else xa = 0;
  113588. } else xa = 9;
  113589. D = (((((ta - A) >> 2) * 9) | 0) + -9) | 0;
  113590. if ((va | 32 | 0) == 102) {
  113591. V = (D - xa) | 0;
  113592. C = (V | 0) > 0 ? V : 0;
  113593. ya = va;
  113594. za = (wa | 0) < (C | 0) ? wa : C;
  113595. break;
  113596. } else {
  113597. C = (D + qa - xa) | 0;
  113598. D = (C | 0) > 0 ? C : 0;
  113599. ya = va;
  113600. za = (wa | 0) < (D | 0) ? wa : D;
  113601. break;
  113602. }
  113603. } else {
  113604. ya = va;
  113605. za = wa;
  113606. }
  113607. } else {
  113608. ya = i;
  113609. za = G;
  113610. }
  113611. } while (0);
  113612. G = (za | 0) != 0;
  113613. A = G ? 1 : (h >>> 3) & 1;
  113614. L = (ya | 32 | 0) == 102;
  113615. if (L) {
  113616. Aa = 0;
  113617. Ba = (qa | 0) > 0 ? qa : 0;
  113618. } else {
  113619. K = (qa | 0) < 0 ? E : qa;
  113620. D = kz(K, (((K | 0) < 0) << 31) >> 31, q) | 0;
  113621. K = q;
  113622. if (((K - D) | 0) < 2) {
  113623. C = D;
  113624. while (1) {
  113625. V = (C + -1) | 0;
  113626. a[V >> 0] = 48;
  113627. if (((K - V) | 0) < 2) C = V;
  113628. else {
  113629. Ca = V;
  113630. break;
  113631. }
  113632. }
  113633. } else Ca = D;
  113634. a[(Ca + -1) >> 0] = ((qa >> 31) & 2) + 43;
  113635. C = (Ca + -2) | 0;
  113636. a[C >> 0] = ya;
  113637. Aa = C;
  113638. Ba = (K - C) | 0;
  113639. }
  113640. C = (w + 1 + za + A + Ba) | 0;
  113641. mz(b, 32, f, C, h);
  113642. fz(b, x, w);
  113643. mz(b, 48, f, C, h ^ 65536);
  113644. if (L) {
  113645. E = sa >>> 0 > I >>> 0 ? I : sa;
  113646. V = (n + 9) | 0;
  113647. U = V;
  113648. r = (n + 8) | 0;
  113649. u = E;
  113650. do {
  113651. T = kz(c[u >> 2] | 0, 0, V) | 0;
  113652. if ((u | 0) == (E | 0)) {
  113653. if ((T | 0) == (V | 0)) {
  113654. a[r >> 0] = 48;
  113655. Da = r;
  113656. } else Da = T;
  113657. } else if (T >>> 0 > n >>> 0) {
  113658. oE(n | 0, 48, (T - o) | 0) | 0;
  113659. aa = T;
  113660. while (1) {
  113661. W = (aa + -1) | 0;
  113662. if (W >>> 0 > n >>> 0) aa = W;
  113663. else {
  113664. Da = W;
  113665. break;
  113666. }
  113667. }
  113668. } else Da = T;
  113669. fz(b, Da, (U - Da) | 0);
  113670. u = (u + 4) | 0;
  113671. } while (u >>> 0 <= I >>> 0);
  113672. if (!((((h & 8) | 0) == 0) & (G ^ 1))) fz(b, 18964, 1);
  113673. if ((u >>> 0 < ta >>> 0) & ((za | 0) > 0)) {
  113674. I = za;
  113675. U = u;
  113676. while (1) {
  113677. r = kz(c[U >> 2] | 0, 0, V) | 0;
  113678. if (r >>> 0 > n >>> 0) {
  113679. oE(n | 0, 48, (r - o) | 0) | 0;
  113680. E = r;
  113681. while (1) {
  113682. L = (E + -1) | 0;
  113683. if (L >>> 0 > n >>> 0) E = L;
  113684. else {
  113685. Ea = L;
  113686. break;
  113687. }
  113688. }
  113689. } else Ea = r;
  113690. fz(b, Ea, (I | 0) < 9 ? I : 9);
  113691. U = (U + 4) | 0;
  113692. E = (I + -9) | 0;
  113693. if (!((U >>> 0 < ta >>> 0) & ((I | 0) > 9))) {
  113694. Fa = E;
  113695. break;
  113696. } else I = E;
  113697. }
  113698. } else Fa = za;
  113699. mz(b, 48, (Fa + 9) | 0, 9, 0);
  113700. } else {
  113701. I = ua ? ta : (sa + 4) | 0;
  113702. if ((sa >>> 0 < I >>> 0) & ((za | 0) > -1)) {
  113703. U = (n + 9) | 0;
  113704. V = ((h & 8) | 0) == 0;
  113705. u = U;
  113706. G = (0 - o) | 0;
  113707. E = (n + 8) | 0;
  113708. T = za;
  113709. L = sa;
  113710. while (1) {
  113711. A = kz(c[L >> 2] | 0, 0, U) | 0;
  113712. if ((A | 0) == (U | 0)) {
  113713. a[E >> 0] = 48;
  113714. Ga = E;
  113715. } else Ga = A;
  113716. do {
  113717. if ((L | 0) == (sa | 0)) {
  113718. A = (Ga + 1) | 0;
  113719. fz(b, Ga, 1);
  113720. if (V & ((T | 0) < 1)) {
  113721. Ha = A;
  113722. break;
  113723. }
  113724. fz(b, 18964, 1);
  113725. Ha = A;
  113726. } else {
  113727. if (Ga >>> 0 <= n >>> 0) {
  113728. Ha = Ga;
  113729. break;
  113730. }
  113731. oE(n | 0, 48, (Ga + G) | 0) | 0;
  113732. A = Ga;
  113733. while (1) {
  113734. K = (A + -1) | 0;
  113735. if (K >>> 0 > n >>> 0) A = K;
  113736. else {
  113737. Ha = K;
  113738. break;
  113739. }
  113740. }
  113741. }
  113742. } while (0);
  113743. r = (u - Ha) | 0;
  113744. fz(b, Ha, (T | 0) > (r | 0) ? r : T);
  113745. A = (T - r) | 0;
  113746. L = (L + 4) | 0;
  113747. if (!((L >>> 0 < I >>> 0) & ((A | 0) > -1))) {
  113748. Ia = A;
  113749. break;
  113750. } else T = A;
  113751. }
  113752. } else Ia = za;
  113753. mz(b, 48, (Ia + 18) | 0, 18, 0);
  113754. fz(b, Aa, (q - Aa) | 0);
  113755. }
  113756. mz(b, 32, f, C, h ^ 8192);
  113757. B = C;
  113758. }
  113759. } while (0);
  113760. l = j;
  113761. return ((B | 0) < (f | 0) ? f : B) | 0;
  113762. }
  113763. function pz(a) {
  113764. a = +a;
  113765. var b = 0;
  113766. h[j >> 3] = a;
  113767. b = c[j >> 2] | 0;
  113768. y = c[(j + 4) >> 2] | 0;
  113769. return b | 0;
  113770. }
  113771. function qz(a, b) {
  113772. a = +a;
  113773. b = b | 0;
  113774. return +(+rz(a, b));
  113775. }
  113776. function rz(a, b) {
  113777. a = +a;
  113778. b = b | 0;
  113779. var d = 0,
  113780. e = 0,
  113781. f = 0,
  113782. g = 0.0,
  113783. i = 0.0,
  113784. k = 0,
  113785. l = 0.0;
  113786. h[j >> 3] = a;
  113787. d = c[j >> 2] | 0;
  113788. e = c[(j + 4) >> 2] | 0;
  113789. f = iE(d | 0, e | 0, 52) | 0;
  113790. switch (f & 2047) {
  113791. case 0: {
  113792. if (a != 0.0) {
  113793. g = +rz(a * 18446744073709551616.0, b);
  113794. i = g;
  113795. k = ((c[b >> 2] | 0) + -64) | 0;
  113796. } else {
  113797. i = a;
  113798. k = 0;
  113799. }
  113800. c[b >> 2] = k;
  113801. l = i;
  113802. break;
  113803. }
  113804. case 2047: {
  113805. l = a;
  113806. break;
  113807. }
  113808. default: {
  113809. c[b >> 2] = (f & 2047) + -1022;
  113810. c[j >> 2] = d;
  113811. c[(j + 4) >> 2] = (e & -2146435073) | 1071644672;
  113812. l = +h[j >> 3];
  113813. }
  113814. }
  113815. return +l;
  113816. }
  113817. function sz(b, d, e) {
  113818. b = b | 0;
  113819. d = d | 0;
  113820. e = e | 0;
  113821. var f = 0;
  113822. do {
  113823. if (b) {
  113824. if (d >>> 0 < 128) {
  113825. a[b >> 0] = d;
  113826. f = 1;
  113827. break;
  113828. }
  113829. if (!(c[c[((tz() | 0) + 188) >> 2] >> 2] | 0))
  113830. if (((d & -128) | 0) == 57216) {
  113831. a[b >> 0] = d;
  113832. f = 1;
  113833. break;
  113834. } else {
  113835. c[(My() | 0) >> 2] = 84;
  113836. f = -1;
  113837. break;
  113838. }
  113839. if (d >>> 0 < 2048) {
  113840. a[b >> 0] = (d >>> 6) | 192;
  113841. a[(b + 1) >> 0] = (d & 63) | 128;
  113842. f = 2;
  113843. break;
  113844. }
  113845. if ((d >>> 0 < 55296) | (((d & -8192) | 0) == 57344)) {
  113846. a[b >> 0] = (d >>> 12) | 224;
  113847. a[(b + 1) >> 0] = ((d >>> 6) & 63) | 128;
  113848. a[(b + 2) >> 0] = (d & 63) | 128;
  113849. f = 3;
  113850. break;
  113851. }
  113852. if (((d + -65536) | 0) >>> 0 < 1048576) {
  113853. a[b >> 0] = (d >>> 18) | 240;
  113854. a[(b + 1) >> 0] = ((d >>> 12) & 63) | 128;
  113855. a[(b + 2) >> 0] = ((d >>> 6) & 63) | 128;
  113856. a[(b + 3) >> 0] = (d & 63) | 128;
  113857. f = 4;
  113858. break;
  113859. } else {
  113860. c[(My() | 0) >> 2] = 84;
  113861. f = -1;
  113862. break;
  113863. }
  113864. } else f = 1;
  113865. } while (0);
  113866. return f | 0;
  113867. }
  113868. function tz() {
  113869. return az() | 0;
  113870. }
  113871. function uz() {
  113872. return az() | 0;
  113873. }
  113874. function vz(b, e) {
  113875. b = b | 0;
  113876. e = e | 0;
  113877. var f = 0,
  113878. g = 0,
  113879. h = 0,
  113880. i = 0,
  113881. j = 0;
  113882. f = 0;
  113883. while (1) {
  113884. if ((d[(7936 + f) >> 0] | 0) == (b | 0)) {
  113885. g = 4;
  113886. break;
  113887. }
  113888. h = (f + 1) | 0;
  113889. if ((h | 0) == 87) {
  113890. i = 87;
  113891. g = 5;
  113892. break;
  113893. } else f = h;
  113894. }
  113895. if ((g | 0) == 4)
  113896. if (!f) j = 8032;
  113897. else {
  113898. i = f;
  113899. g = 5;
  113900. }
  113901. if ((g | 0) == 5) {
  113902. g = 8032;
  113903. f = i;
  113904. while (1) {
  113905. i = g;
  113906. do {
  113907. b = i;
  113908. i = (i + 1) | 0;
  113909. } while ((a[b >> 0] | 0) != 0);
  113910. f = (f + -1) | 0;
  113911. if (!f) {
  113912. j = i;
  113913. break;
  113914. } else g = i;
  113915. }
  113916. }
  113917. return wz(j, c[(e + 20) >> 2] | 0) | 0;
  113918. }
  113919. function wz(a, b) {
  113920. a = a | 0;
  113921. b = b | 0;
  113922. return Yy(a, b) | 0;
  113923. }
  113924. function xz(b, d, e) {
  113925. b = b | 0;
  113926. d = d | 0;
  113927. e = e | 0;
  113928. var f = 0,
  113929. g = 0,
  113930. h = 0,
  113931. i = 0,
  113932. j = 0,
  113933. k = 0,
  113934. l = 0,
  113935. m = 0,
  113936. n = 0,
  113937. o = 0,
  113938. p = 0;
  113939. f = (e + 16) | 0;
  113940. g = c[f >> 2] | 0;
  113941. if (!g) {
  113942. if (!(yz(e) | 0)) {
  113943. h = c[f >> 2] | 0;
  113944. i = 5;
  113945. } else j = 0;
  113946. } else {
  113947. h = g;
  113948. i = 5;
  113949. }
  113950. a: do {
  113951. if ((i | 0) == 5) {
  113952. g = (e + 20) | 0;
  113953. f = c[g >> 2] | 0;
  113954. k = f;
  113955. if (((h - f) | 0) >>> 0 < d >>> 0) {
  113956. j = rc[c[(e + 36) >> 2] & 31](e, b, d) | 0;
  113957. break;
  113958. }
  113959. b: do {
  113960. if (((a[(e + 75) >> 0] | 0) < 0) | ((d | 0) == 0)) {
  113961. l = 0;
  113962. m = b;
  113963. n = d;
  113964. o = k;
  113965. } else {
  113966. f = d;
  113967. while (1) {
  113968. p = (f + -1) | 0;
  113969. if ((a[(b + p) >> 0] | 0) == 10) break;
  113970. if (!p) {
  113971. l = 0;
  113972. m = b;
  113973. n = d;
  113974. o = k;
  113975. break b;
  113976. } else f = p;
  113977. }
  113978. p = rc[c[(e + 36) >> 2] & 31](e, b, f) | 0;
  113979. if (p >>> 0 < f >>> 0) {
  113980. j = p;
  113981. break a;
  113982. }
  113983. l = f;
  113984. m = (b + f) | 0;
  113985. n = (d - f) | 0;
  113986. o = c[g >> 2] | 0;
  113987. }
  113988. } while (0);
  113989. mE(o | 0, m | 0, n | 0) | 0;
  113990. c[g >> 2] = (c[g >> 2] | 0) + n;
  113991. j = (l + n) | 0;
  113992. }
  113993. } while (0);
  113994. return j | 0;
  113995. }
  113996. function yz(b) {
  113997. b = b | 0;
  113998. var d = 0,
  113999. e = 0,
  114000. f = 0;
  114001. d = (b + 74) | 0;
  114002. e = a[d >> 0] | 0;
  114003. a[d >> 0] = (e + 255) | e;
  114004. e = c[b >> 2] | 0;
  114005. if (!(e & 8)) {
  114006. c[(b + 8) >> 2] = 0;
  114007. c[(b + 4) >> 2] = 0;
  114008. d = c[(b + 44) >> 2] | 0;
  114009. c[(b + 28) >> 2] = d;
  114010. c[(b + 20) >> 2] = d;
  114011. c[(b + 16) >> 2] = d + (c[(b + 48) >> 2] | 0);
  114012. f = 0;
  114013. } else {
  114014. c[b >> 2] = e | 32;
  114015. f = -1;
  114016. }
  114017. return f | 0;
  114018. }
  114019. function zz(a, b, d) {
  114020. a = a | 0;
  114021. b = b | 0;
  114022. d = d | 0;
  114023. var e = 0,
  114024. f = 0,
  114025. g = 0;
  114026. e = (a + 20) | 0;
  114027. f = c[e >> 2] | 0;
  114028. g = ((c[(a + 16) >> 2] | 0) - f) | 0;
  114029. a = g >>> 0 > d >>> 0 ? d : g;
  114030. mE(f | 0, b | 0, a | 0) | 0;
  114031. c[e >> 2] = (c[e >> 2] | 0) + a;
  114032. return d | 0;
  114033. }
  114034. function Az(a, b) {
  114035. a = a | 0;
  114036. b = b | 0;
  114037. var d = 0,
  114038. e = 0;
  114039. d = l;
  114040. l = (l + 16) | 0;
  114041. e = d;
  114042. c[e >> 2] = b;
  114043. b = dz(c[3e3] | 0, a, e) | 0;
  114044. l = d;
  114045. return b | 0;
  114046. }
  114047. function Bz(b, e) {
  114048. b = b | 0;
  114049. e = e | 0;
  114050. var f = 0,
  114051. g = 0,
  114052. h = 0,
  114053. i = 0,
  114054. j = 0,
  114055. k = 0,
  114056. m = 0,
  114057. n = 0,
  114058. o = 0;
  114059. f = l;
  114060. l = (l + 16) | 0;
  114061. g = f;
  114062. h = e & 255;
  114063. a[g >> 0] = h;
  114064. i = (b + 16) | 0;
  114065. j = c[i >> 2] | 0;
  114066. if (!j) {
  114067. if (!(yz(b) | 0)) {
  114068. k = c[i >> 2] | 0;
  114069. m = 4;
  114070. } else n = -1;
  114071. } else {
  114072. k = j;
  114073. m = 4;
  114074. }
  114075. do {
  114076. if ((m | 0) == 4) {
  114077. j = (b + 20) | 0;
  114078. i = c[j >> 2] | 0;
  114079. if (
  114080. i >>> 0 < k >>> 0
  114081. ? ((o = e & 255), (o | 0) != (a[(b + 75) >> 0] | 0))
  114082. : 0
  114083. ) {
  114084. c[j >> 2] = i + 1;
  114085. a[i >> 0] = h;
  114086. n = o;
  114087. break;
  114088. }
  114089. if ((rc[c[(b + 36) >> 2] & 31](b, g, 1) | 0) == 1)
  114090. n = d[g >> 0] | 0;
  114091. else n = -1;
  114092. }
  114093. } while (0);
  114094. l = f;
  114095. return n | 0;
  114096. }
  114097. function Cz(b, d) {
  114098. b = b | 0;
  114099. d = d | 0;
  114100. var e = 0,
  114101. f = 0,
  114102. g = 0,
  114103. h = 0,
  114104. i = 0,
  114105. j = 0;
  114106. e = l;
  114107. l = (l + 48) | 0;
  114108. f = (e + 32) | 0;
  114109. g = (e + 16) | 0;
  114110. h = e;
  114111. if (Ry(17886, a[d >> 0] | 0) | 0) {
  114112. i = Dz(d) | 0;
  114113. c[h >> 2] = b;
  114114. c[(h + 4) >> 2] = i | 32768;
  114115. c[(h + 8) >> 2] = 438;
  114116. b = Ly(Ha(5, h | 0) | 0) | 0;
  114117. if ((b | 0) >= 0) {
  114118. if ((i & 524288) | 0) {
  114119. c[g >> 2] = b;
  114120. c[(g + 4) >> 2] = 2;
  114121. c[(g + 8) >> 2] = 1;
  114122. Ga(221, g | 0) | 0;
  114123. }
  114124. g = Ez(b, d) | 0;
  114125. if (!g) {
  114126. c[f >> 2] = b;
  114127. Ja(6, f | 0) | 0;
  114128. j = 0;
  114129. } else j = g;
  114130. } else j = 0;
  114131. } else {
  114132. c[(My() | 0) >> 2] = 22;
  114133. j = 0;
  114134. }
  114135. l = e;
  114136. return j | 0;
  114137. }
  114138. function Dz(b) {
  114139. b = b | 0;
  114140. var c = 0,
  114141. d = 0,
  114142. e = 0,
  114143. f = 0;
  114144. c = (Ry(b, 43) | 0) == 0;
  114145. d = a[b >> 0] | 0;
  114146. e = c ? ((d << 24) >> 24 != 114) & 1 : 2;
  114147. c = (Ry(b, 120) | 0) == 0;
  114148. f = c ? e : e | 128;
  114149. e = (Ry(b, 101) | 0) == 0;
  114150. b = e ? f : f | 524288;
  114151. f = (d << 24) >> 24 == 114 ? b : b | 64;
  114152. b = (d << 24) >> 24 == 119 ? f | 512 : f;
  114153. return ((d << 24) >> 24 == 97 ? b | 1024 : b) | 0;
  114154. }
  114155. function Ez(b, d) {
  114156. b = b | 0;
  114157. d = d | 0;
  114158. var e = 0,
  114159. f = 0,
  114160. g = 0,
  114161. h = 0,
  114162. i = 0,
  114163. j = 0,
  114164. k = 0,
  114165. m = 0,
  114166. n = 0;
  114167. e = l;
  114168. l = (l + 64) | 0;
  114169. f = (e + 40) | 0;
  114170. g = (e + 24) | 0;
  114171. h = (e + 16) | 0;
  114172. i = e;
  114173. j = (e + 56) | 0;
  114174. if (Ry(17886, a[d >> 0] | 0) | 0) {
  114175. k = Cy(1156) | 0;
  114176. if (!k) m = 0;
  114177. else {
  114178. oE(k | 0, 0, 124) | 0;
  114179. if (!(Ry(d, 43) | 0))
  114180. c[k >> 2] = (a[d >> 0] | 0) == 114 ? 8 : 4;
  114181. if (Ry(d, 101) | 0) {
  114182. c[i >> 2] = b;
  114183. c[(i + 4) >> 2] = 2;
  114184. c[(i + 8) >> 2] = 1;
  114185. Ga(221, i | 0) | 0;
  114186. }
  114187. if ((a[d >> 0] | 0) == 97) {
  114188. c[h >> 2] = b;
  114189. c[(h + 4) >> 2] = 3;
  114190. d = Ga(221, h | 0) | 0;
  114191. if (!(d & 1024)) {
  114192. c[g >> 2] = b;
  114193. c[(g + 4) >> 2] = 4;
  114194. c[(g + 8) >> 2] = d | 1024;
  114195. Ga(221, g | 0) | 0;
  114196. }
  114197. g = c[k >> 2] | 128;
  114198. c[k >> 2] = g;
  114199. n = g;
  114200. } else n = c[k >> 2] | 0;
  114201. c[(k + 60) >> 2] = b;
  114202. c[(k + 44) >> 2] = k + 132;
  114203. c[(k + 48) >> 2] = 1024;
  114204. g = (k + 75) | 0;
  114205. a[g >> 0] = -1;
  114206. if (
  114207. ((n & 8) | 0) == 0
  114208. ? ((c[f >> 2] = b),
  114209. (c[(f + 4) >> 2] = 21523),
  114210. (c[(f + 8) >> 2] = j),
  114211. (Ia(54, f | 0) | 0) == 0)
  114212. : 0
  114213. )
  114214. a[g >> 0] = 10;
  114215. c[(k + 32) >> 2] = 22;
  114216. c[(k + 36) >> 2] = 3;
  114217. c[(k + 40) >> 2] = 2;
  114218. c[(k + 12) >> 2] = 29;
  114219. if (!(c[5543] | 0)) c[(k + 76) >> 2] = -1;
  114220. Fz(k) | 0;
  114221. m = k;
  114222. }
  114223. } else {
  114224. c[(My() | 0) >> 2] = 22;
  114225. m = 0;
  114226. }
  114227. l = e;
  114228. return m | 0;
  114229. }
  114230. function Fz(a) {
  114231. a = a | 0;
  114232. var b = 0,
  114233. d = 0;
  114234. b = Gz() | 0;
  114235. c[(a + 56) >> 2] = c[b >> 2];
  114236. d = c[b >> 2] | 0;
  114237. if (d | 0) c[(d + 52) >> 2] = a;
  114238. c[b >> 2] = a;
  114239. Hz();
  114240. return a | 0;
  114241. }
  114242. function Gz() {
  114243. Aa(22236);
  114244. return 22244;
  114245. }
  114246. function Hz() {
  114247. Ka(22236);
  114248. return;
  114249. }
  114250. function Iz() {
  114251. return az() | 0;
  114252. }
  114253. function Jz(a) {
  114254. a = a | 0;
  114255. var b = 0,
  114256. d = 0,
  114257. e = 0,
  114258. f = 0,
  114259. g = 0,
  114260. h = 0,
  114261. i = 0;
  114262. do {
  114263. if (a) {
  114264. if ((c[(a + 76) >> 2] | 0) <= -1) {
  114265. b = Mz(a) | 0;
  114266. break;
  114267. }
  114268. d = (Vy(a) | 0) == 0;
  114269. e = Mz(a) | 0;
  114270. if (d) b = e;
  114271. else {
  114272. Wy(a);
  114273. b = e;
  114274. }
  114275. } else {
  114276. if (!(c[3032] | 0)) f = 0;
  114277. else f = Jz(c[3032] | 0) | 0;
  114278. e = c[(Gz() | 0) >> 2] | 0;
  114279. if (!e) g = f;
  114280. else {
  114281. d = e;
  114282. e = f;
  114283. while (1) {
  114284. if ((c[(d + 76) >> 2] | 0) > -1) h = Vy(d) | 0;
  114285. else h = 0;
  114286. if (
  114287. (c[(d + 20) >> 2] | 0) >>> 0 >
  114288. (c[(d + 28) >> 2] | 0) >>> 0
  114289. )
  114290. i = Mz(d) | 0 | e;
  114291. else i = e;
  114292. if (h | 0) Wy(d);
  114293. d = c[(d + 56) >> 2] | 0;
  114294. if (!d) {
  114295. g = i;
  114296. break;
  114297. } else e = i;
  114298. }
  114299. }
  114300. Hz();
  114301. b = g;
  114302. }
  114303. } while (0);
  114304. return b | 0;
  114305. }
  114306. function Kz(a) {
  114307. a = a | 0;
  114308. var b = 0,
  114309. d = 0,
  114310. e = 0,
  114311. f = 0,
  114312. g = 0,
  114313. h = 0;
  114314. if ((c[(a + 76) >> 2] | 0) > -1) b = Vy(a) | 0;
  114315. else b = 0;
  114316. Lz(a);
  114317. d = ((c[a >> 2] & 1) | 0) != 0;
  114318. if (!d) {
  114319. e = Gz() | 0;
  114320. f = c[(a + 52) >> 2] | 0;
  114321. g = (a + 56) | 0;
  114322. if (f | 0) c[(f + 56) >> 2] = c[g >> 2];
  114323. h = c[g >> 2] | 0;
  114324. if (h | 0) c[(h + 52) >> 2] = f;
  114325. if ((c[e >> 2] | 0) == (a | 0)) c[e >> 2] = h;
  114326. Hz();
  114327. }
  114328. h = Jz(a) | 0;
  114329. e = pc[c[(a + 12) >> 2] & 63](a) | 0 | h;
  114330. h = c[(a + 92) >> 2] | 0;
  114331. if (h | 0) Dy(h);
  114332. if (d) {
  114333. if (b | 0) Wy(a);
  114334. } else Dy(a);
  114335. return e | 0;
  114336. }
  114337. function Lz(a) {
  114338. a = a | 0;
  114339. var b = 0,
  114340. d = 0,
  114341. e = 0;
  114342. if (c[(a + 68) >> 2] | 0) {
  114343. b = c[(a + 116) >> 2] | 0;
  114344. d = (a + 112) | 0;
  114345. if (b | 0) c[(b + 112) >> 2] = c[d >> 2];
  114346. a = c[d >> 2] | 0;
  114347. if (!a) e = ((Iz() | 0) + 232) | 0;
  114348. else e = (a + 116) | 0;
  114349. c[e >> 2] = b;
  114350. }
  114351. return;
  114352. }
  114353. function Mz(a) {
  114354. a = a | 0;
  114355. var b = 0,
  114356. d = 0,
  114357. e = 0,
  114358. f = 0,
  114359. g = 0,
  114360. h = 0,
  114361. i = 0;
  114362. b = (a + 20) | 0;
  114363. d = (a + 28) | 0;
  114364. if (
  114365. (c[b >> 2] | 0) >>> 0 > (c[d >> 2] | 0) >>> 0
  114366. ? (rc[c[(a + 36) >> 2] & 31](a, 0, 0) | 0,
  114367. (c[b >> 2] | 0) == 0)
  114368. : 0
  114369. )
  114370. e = -1;
  114371. else {
  114372. f = (a + 4) | 0;
  114373. g = c[f >> 2] | 0;
  114374. h = (a + 8) | 0;
  114375. i = c[h >> 2] | 0;
  114376. if (g >>> 0 < i >>> 0)
  114377. rc[c[(a + 40) >> 2] & 31](a, (g - i) | 0, 1) | 0;
  114378. c[(a + 16) >> 2] = 0;
  114379. c[d >> 2] = 0;
  114380. c[b >> 2] = 0;
  114381. c[h >> 2] = 0;
  114382. c[f >> 2] = 0;
  114383. e = 0;
  114384. }
  114385. return e | 0;
  114386. }
  114387. function Nz(b, d) {
  114388. b = b | 0;
  114389. d = d | 0;
  114390. var e = 0,
  114391. f = 0,
  114392. g = 0,
  114393. h = 0,
  114394. i = 0,
  114395. j = 0,
  114396. k = 0;
  114397. if ((c[(d + 76) >> 2] | 0) >= 0 ? (Vy(d) | 0) != 0 : 0) {
  114398. e = b & 255;
  114399. f = b & 255;
  114400. if (
  114401. (f | 0) != (a[(d + 75) >> 0] | 0)
  114402. ? ((g = (d + 20) | 0),
  114403. (h = c[g >> 2] | 0),
  114404. h >>> 0 < (c[(d + 16) >> 2] | 0) >>> 0)
  114405. : 0
  114406. ) {
  114407. c[g >> 2] = h + 1;
  114408. a[h >> 0] = e;
  114409. i = f;
  114410. } else i = Bz(d, b) | 0;
  114411. Wy(d);
  114412. j = i;
  114413. } else k = 3;
  114414. do {
  114415. if ((k | 0) == 3) {
  114416. i = b & 255;
  114417. f = b & 255;
  114418. if (
  114419. (f | 0) != (a[(d + 75) >> 0] | 0)
  114420. ? ((e = (d + 20) | 0),
  114421. (h = c[e >> 2] | 0),
  114422. h >>> 0 < (c[(d + 16) >> 2] | 0) >>> 0)
  114423. : 0
  114424. ) {
  114425. c[e >> 2] = h + 1;
  114426. a[h >> 0] = i;
  114427. j = f;
  114428. break;
  114429. }
  114430. j = Bz(d, b) | 0;
  114431. }
  114432. } while (0);
  114433. return j | 0;
  114434. }
  114435. function Oz(a) {
  114436. a = a | 0;
  114437. var b = 0,
  114438. c = 0,
  114439. d = 0;
  114440. b = ((Ty(a) | 0) + 1) | 0;
  114441. c = Cy(b) | 0;
  114442. if (!c) d = 0;
  114443. else d = mE(c | 0, a | 0, b | 0) | 0;
  114444. return d | 0;
  114445. }
  114446. function Pz(a) {
  114447. a = a | 0;
  114448. return (((a + -65) | 0) >>> 0 < 26) | 0;
  114449. }
  114450. function Qz(a) {
  114451. a = a | 0;
  114452. return (
  114453. ((((((a | 32) + -97) | 0) >>> 0 < 6) | ((Sy(a) | 0) != 0)) &
  114454. 1) |
  114455. 0
  114456. );
  114457. }
  114458. function Rz(a) {
  114459. a = a | 0;
  114460. return;
  114461. }
  114462. function Sz(a) {
  114463. a = a | 0;
  114464. Rz(a);
  114465. Vz(a);
  114466. return;
  114467. }
  114468. function Tz(a) {
  114469. a = a | 0;
  114470. return 17890;
  114471. }
  114472. function Uz(a) {
  114473. a = a | 0;
  114474. var b = 0,
  114475. c = 0;
  114476. b = (a | 0) == 0 ? 1 : a;
  114477. while (1) {
  114478. a = Cy(b) | 0;
  114479. if (a | 0) {
  114480. c = a;
  114481. break;
  114482. }
  114483. a = ZD() | 0;
  114484. if (!a) {
  114485. c = 0;
  114486. break;
  114487. }
  114488. vc[a & 3]();
  114489. }
  114490. return c | 0;
  114491. }
  114492. function Vz(a) {
  114493. a = a | 0;
  114494. Dy(a);
  114495. return;
  114496. }
  114497. function Wz(a) {
  114498. a = a | 0;
  114499. lb();
  114500. }
  114501. function Xz() {
  114502. var a = 0,
  114503. b = 0,
  114504. d = 0,
  114505. e = 0,
  114506. f = 0,
  114507. g = 0,
  114508. h = 0,
  114509. i = 0,
  114510. j = 0,
  114511. k = 0;
  114512. a = l;
  114513. l = (l + 48) | 0;
  114514. b = (a + 32) | 0;
  114515. d = (a + 24) | 0;
  114516. e = (a + 16) | 0;
  114517. f = a;
  114518. g = (a + 36) | 0;
  114519. a = Yz() | 0;
  114520. if (a | 0 ? ((h = c[a >> 2] | 0), h | 0) : 0) {
  114521. a = (h + 48) | 0;
  114522. i = c[a >> 2] | 0;
  114523. j = c[(a + 4) >> 2] | 0;
  114524. if (
  114525. !(
  114526. (((i & -256) | 0) == 1126902528) &
  114527. ((j | 0) == 1129074247)
  114528. )
  114529. ) {
  114530. c[d >> 2] = 18077;
  114531. Zz(18027, d);
  114532. }
  114533. if (((i | 0) == 1126902529) & ((j | 0) == 1129074247))
  114534. k = c[(h + 44) >> 2] | 0;
  114535. else k = (h + 80) | 0;
  114536. c[g >> 2] = k;
  114537. k = c[h >> 2] | 0;
  114538. h = c[(k + 4) >> 2] | 0;
  114539. if (
  114540. rc[c[((c[2704] | 0) + 16) >> 2] & 31](10816, k, g) | 0
  114541. ) {
  114542. k = c[g >> 2] | 0;
  114543. g = pc[c[((c[k >> 2] | 0) + 8) >> 2] & 63](k) | 0;
  114544. c[f >> 2] = 18077;
  114545. c[(f + 4) >> 2] = h;
  114546. c[(f + 8) >> 2] = g;
  114547. Zz(17941, f);
  114548. } else {
  114549. c[e >> 2] = 18077;
  114550. c[(e + 4) >> 2] = h;
  114551. Zz(17986, e);
  114552. }
  114553. }
  114554. Zz(18065, b);
  114555. }
  114556. function Yz() {
  114557. var a = 0,
  114558. b = 0;
  114559. a = l;
  114560. l = (l + 16) | 0;
  114561. if (!(rb(22248, 3) | 0)) {
  114562. b = pb(c[5563] | 0) | 0;
  114563. l = a;
  114564. return b | 0;
  114565. } else Zz(18216, a);
  114566. return 0;
  114567. }
  114568. function Zz(a, b) {
  114569. a = a | 0;
  114570. b = b | 0;
  114571. var d = 0,
  114572. e = 0;
  114573. d = l;
  114574. l = (l + 16) | 0;
  114575. e = d;
  114576. c[e >> 2] = b;
  114577. b = c[3033] | 0;
  114578. dz(b, a, e) | 0;
  114579. Nz(10, b) | 0;
  114580. lb();
  114581. }
  114582. function _z(a) {
  114583. a = a | 0;
  114584. return;
  114585. }
  114586. function $z(a) {
  114587. a = a | 0;
  114588. _z(a);
  114589. Vz(a);
  114590. return;
  114591. }
  114592. function aA(a) {
  114593. a = a | 0;
  114594. return;
  114595. }
  114596. function bA(a) {
  114597. a = a | 0;
  114598. return;
  114599. }
  114600. function cA(a, b, d) {
  114601. a = a | 0;
  114602. b = b | 0;
  114603. d = d | 0;
  114604. var e = 0,
  114605. f = 0,
  114606. g = 0,
  114607. h = 0,
  114608. i = 0,
  114609. j = 0;
  114610. e = l;
  114611. l = (l + 64) | 0;
  114612. f = e;
  114613. if (!(gA(a, b, 0) | 0)) {
  114614. if (
  114615. (b | 0) != 0
  114616. ? ((g = kA(b, 10840, 10824, 0) | 0), (g | 0) != 0)
  114617. : 0
  114618. ) {
  114619. b = (f + 4) | 0;
  114620. h = (b + 52) | 0;
  114621. do {
  114622. c[b >> 2] = 0;
  114623. b = (b + 4) | 0;
  114624. } while ((b | 0) < (h | 0));
  114625. c[f >> 2] = g;
  114626. c[(f + 8) >> 2] = a;
  114627. c[(f + 12) >> 2] = -1;
  114628. c[(f + 48) >> 2] = 1;
  114629. zc[c[((c[g >> 2] | 0) + 28) >> 2] & 7](
  114630. g,
  114631. f,
  114632. c[d >> 2] | 0,
  114633. 1
  114634. );
  114635. if ((c[(f + 24) >> 2] | 0) == 1) {
  114636. c[d >> 2] = c[(f + 16) >> 2];
  114637. i = 1;
  114638. } else i = 0;
  114639. j = i;
  114640. } else j = 0;
  114641. } else j = 1;
  114642. l = e;
  114643. return j | 0;
  114644. }
  114645. function dA(a, b, d, e, f, g) {
  114646. a = a | 0;
  114647. b = b | 0;
  114648. d = d | 0;
  114649. e = e | 0;
  114650. f = f | 0;
  114651. g = g | 0;
  114652. if (gA(a, c[(b + 8) >> 2] | 0, g) | 0) jA(0, b, d, e, f);
  114653. return;
  114654. }
  114655. function eA(b, d, e, f, g) {
  114656. b = b | 0;
  114657. d = d | 0;
  114658. e = e | 0;
  114659. f = f | 0;
  114660. g = g | 0;
  114661. var h = 0;
  114662. do {
  114663. if (!(gA(b, c[(d + 8) >> 2] | 0, g) | 0)) {
  114664. if (gA(b, c[d >> 2] | 0, g) | 0) {
  114665. if (
  114666. (c[(d + 16) >> 2] | 0) != (e | 0)
  114667. ? ((h = (d + 20) | 0), (c[h >> 2] | 0) != (e | 0))
  114668. : 0
  114669. ) {
  114670. c[(d + 32) >> 2] = f;
  114671. c[h >> 2] = e;
  114672. h = (d + 40) | 0;
  114673. c[h >> 2] = (c[h >> 2] | 0) + 1;
  114674. if (
  114675. (c[(d + 36) >> 2] | 0) == 1
  114676. ? (c[(d + 24) >> 2] | 0) == 2
  114677. : 0
  114678. )
  114679. a[(d + 54) >> 0] = 1;
  114680. c[(d + 44) >> 2] = 4;
  114681. break;
  114682. }
  114683. if ((f | 0) == 1) c[(d + 32) >> 2] = 1;
  114684. }
  114685. } else iA(0, d, e, f);
  114686. } while (0);
  114687. return;
  114688. }
  114689. function fA(a, b, d, e) {
  114690. a = a | 0;
  114691. b = b | 0;
  114692. d = d | 0;
  114693. e = e | 0;
  114694. if (gA(a, c[(b + 8) >> 2] | 0, 0) | 0) hA(0, b, d, e);
  114695. return;
  114696. }
  114697. function gA(a, b, c) {
  114698. a = a | 0;
  114699. b = b | 0;
  114700. c = c | 0;
  114701. return ((a | 0) == (b | 0)) | 0;
  114702. }
  114703. function hA(b, d, e, f) {
  114704. b = b | 0;
  114705. d = d | 0;
  114706. e = e | 0;
  114707. f = f | 0;
  114708. var g = 0,
  114709. h = 0;
  114710. b = (d + 16) | 0;
  114711. g = c[b >> 2] | 0;
  114712. do {
  114713. if (g) {
  114714. if ((g | 0) != (e | 0)) {
  114715. h = (d + 36) | 0;
  114716. c[h >> 2] = (c[h >> 2] | 0) + 1;
  114717. c[(d + 24) >> 2] = 2;
  114718. a[(d + 54) >> 0] = 1;
  114719. break;
  114720. }
  114721. h = (d + 24) | 0;
  114722. if ((c[h >> 2] | 0) == 2) c[h >> 2] = f;
  114723. } else {
  114724. c[b >> 2] = e;
  114725. c[(d + 24) >> 2] = f;
  114726. c[(d + 36) >> 2] = 1;
  114727. }
  114728. } while (0);
  114729. return;
  114730. }
  114731. function iA(a, b, d, e) {
  114732. a = a | 0;
  114733. b = b | 0;
  114734. d = d | 0;
  114735. e = e | 0;
  114736. if (
  114737. (c[(b + 4) >> 2] | 0) == (d | 0)
  114738. ? ((d = (b + 28) | 0), (c[d >> 2] | 0) != 1)
  114739. : 0
  114740. )
  114741. c[d >> 2] = e;
  114742. return;
  114743. }
  114744. function jA(b, d, e, f, g) {
  114745. b = b | 0;
  114746. d = d | 0;
  114747. e = e | 0;
  114748. f = f | 0;
  114749. g = g | 0;
  114750. var h = 0,
  114751. i = 0;
  114752. a[(d + 53) >> 0] = 1;
  114753. do {
  114754. if ((c[(d + 4) >> 2] | 0) == (f | 0)) {
  114755. a[(d + 52) >> 0] = 1;
  114756. b = (d + 16) | 0;
  114757. h = c[b >> 2] | 0;
  114758. if (!h) {
  114759. c[b >> 2] = e;
  114760. c[(d + 24) >> 2] = g;
  114761. c[(d + 36) >> 2] = 1;
  114762. if (!((g | 0) == 1 ? (c[(d + 48) >> 2] | 0) == 1 : 0))
  114763. break;
  114764. a[(d + 54) >> 0] = 1;
  114765. break;
  114766. }
  114767. if ((h | 0) != (e | 0)) {
  114768. h = (d + 36) | 0;
  114769. c[h >> 2] = (c[h >> 2] | 0) + 1;
  114770. a[(d + 54) >> 0] = 1;
  114771. break;
  114772. }
  114773. h = (d + 24) | 0;
  114774. b = c[h >> 2] | 0;
  114775. if ((b | 0) == 2) {
  114776. c[h >> 2] = g;
  114777. i = g;
  114778. } else i = b;
  114779. if ((i | 0) == 1 ? (c[(d + 48) >> 2] | 0) == 1 : 0)
  114780. a[(d + 54) >> 0] = 1;
  114781. }
  114782. } while (0);
  114783. return;
  114784. }
  114785. function kA(d, e, f, g) {
  114786. d = d | 0;
  114787. e = e | 0;
  114788. f = f | 0;
  114789. g = g | 0;
  114790. var h = 0,
  114791. i = 0,
  114792. j = 0,
  114793. k = 0,
  114794. m = 0,
  114795. n = 0,
  114796. o = 0,
  114797. p = 0,
  114798. q = 0,
  114799. r = 0;
  114800. h = l;
  114801. l = (l + 64) | 0;
  114802. i = h;
  114803. j = c[d >> 2] | 0;
  114804. k = (d + (c[(j + -8) >> 2] | 0)) | 0;
  114805. m = c[(j + -4) >> 2] | 0;
  114806. c[i >> 2] = f;
  114807. c[(i + 4) >> 2] = d;
  114808. c[(i + 8) >> 2] = e;
  114809. c[(i + 12) >> 2] = g;
  114810. g = (i + 16) | 0;
  114811. e = (i + 20) | 0;
  114812. d = (i + 24) | 0;
  114813. j = (i + 28) | 0;
  114814. n = (i + 32) | 0;
  114815. o = (i + 40) | 0;
  114816. p = g;
  114817. q = (p + 36) | 0;
  114818. do {
  114819. c[p >> 2] = 0;
  114820. p = (p + 4) | 0;
  114821. } while ((p | 0) < (q | 0));
  114822. b[(g + 36) >> 1] = 0;
  114823. a[(g + 38) >> 0] = 0;
  114824. a: do {
  114825. if (gA(m, f, 0) | 0) {
  114826. c[(i + 48) >> 2] = 1;
  114827. Bc[c[((c[m >> 2] | 0) + 20) >> 2] & 3](m, i, k, k, 1, 0);
  114828. r = (c[d >> 2] | 0) == 1 ? k : 0;
  114829. } else {
  114830. Ac[c[((c[m >> 2] | 0) + 24) >> 2] & 3](m, i, k, 1, 0);
  114831. switch (c[(i + 36) >> 2] | 0) {
  114832. case 0: {
  114833. r =
  114834. ((c[o >> 2] | 0) == 1) &
  114835. ((c[j >> 2] | 0) == 1) &
  114836. ((c[n >> 2] | 0) == 1)
  114837. ? c[e >> 2] | 0
  114838. : 0;
  114839. break a;
  114840. break;
  114841. }
  114842. case 1:
  114843. break;
  114844. default: {
  114845. r = 0;
  114846. break a;
  114847. }
  114848. }
  114849. if (
  114850. (c[d >> 2] | 0) != 1
  114851. ? !(
  114852. ((c[o >> 2] | 0) == 0) &
  114853. ((c[j >> 2] | 0) == 1) &
  114854. ((c[n >> 2] | 0) == 1)
  114855. )
  114856. : 0
  114857. ) {
  114858. r = 0;
  114859. break;
  114860. }
  114861. r = c[g >> 2] | 0;
  114862. }
  114863. } while (0);
  114864. l = h;
  114865. return r | 0;
  114866. }
  114867. function lA(a) {
  114868. a = a | 0;
  114869. _z(a);
  114870. Vz(a);
  114871. return;
  114872. }
  114873. function mA(a, b, d, e, f, g) {
  114874. a = a | 0;
  114875. b = b | 0;
  114876. d = d | 0;
  114877. e = e | 0;
  114878. f = f | 0;
  114879. g = g | 0;
  114880. var h = 0;
  114881. if (gA(a, c[(b + 8) >> 2] | 0, g) | 0) jA(0, b, d, e, f);
  114882. else {
  114883. h = c[(a + 8) >> 2] | 0;
  114884. Bc[c[((c[h >> 2] | 0) + 20) >> 2] & 3](h, b, d, e, f, g);
  114885. }
  114886. return;
  114887. }
  114888. function nA(b, d, e, f, g) {
  114889. b = b | 0;
  114890. d = d | 0;
  114891. e = e | 0;
  114892. f = f | 0;
  114893. g = g | 0;
  114894. var h = 0,
  114895. i = 0,
  114896. j = 0,
  114897. k = 0,
  114898. l = 0,
  114899. m = 0,
  114900. n = 0,
  114901. o = 0;
  114902. do {
  114903. if (!(gA(b, c[(d + 8) >> 2] | 0, g) | 0)) {
  114904. if (!(gA(b, c[d >> 2] | 0, g) | 0)) {
  114905. h = c[(b + 8) >> 2] | 0;
  114906. Ac[c[((c[h >> 2] | 0) + 24) >> 2] & 3](h, d, e, f, g);
  114907. break;
  114908. }
  114909. if (
  114910. (c[(d + 16) >> 2] | 0) != (e | 0)
  114911. ? ((h = (d + 20) | 0), (c[h >> 2] | 0) != (e | 0))
  114912. : 0
  114913. ) {
  114914. c[(d + 32) >> 2] = f;
  114915. i = (d + 44) | 0;
  114916. if ((c[i >> 2] | 0) == 4) break;
  114917. j = (d + 52) | 0;
  114918. a[j >> 0] = 0;
  114919. k = (d + 53) | 0;
  114920. a[k >> 0] = 0;
  114921. l = c[(b + 8) >> 2] | 0;
  114922. Bc[c[((c[l >> 2] | 0) + 20) >> 2] & 3](
  114923. l,
  114924. d,
  114925. e,
  114926. e,
  114927. 1,
  114928. g
  114929. );
  114930. if (a[k >> 0] | 0) {
  114931. if (!(a[j >> 0] | 0)) {
  114932. m = 1;
  114933. n = 11;
  114934. } else n = 15;
  114935. } else {
  114936. m = 0;
  114937. n = 11;
  114938. }
  114939. do {
  114940. if ((n | 0) == 11) {
  114941. c[h >> 2] = e;
  114942. j = (d + 40) | 0;
  114943. c[j >> 2] = (c[j >> 2] | 0) + 1;
  114944. if (
  114945. (c[(d + 36) >> 2] | 0) == 1
  114946. ? (c[(d + 24) >> 2] | 0) == 2
  114947. : 0
  114948. ) {
  114949. a[(d + 54) >> 0] = 1;
  114950. if (m) {
  114951. n = 15;
  114952. break;
  114953. } else {
  114954. o = 4;
  114955. break;
  114956. }
  114957. }
  114958. if (m) n = 15;
  114959. else o = 4;
  114960. }
  114961. } while (0);
  114962. if ((n | 0) == 15) o = 3;
  114963. c[i >> 2] = o;
  114964. break;
  114965. }
  114966. if ((f | 0) == 1) c[(d + 32) >> 2] = 1;
  114967. } else iA(0, d, e, f);
  114968. } while (0);
  114969. return;
  114970. }
  114971. function oA(a, b, d, e) {
  114972. a = a | 0;
  114973. b = b | 0;
  114974. d = d | 0;
  114975. e = e | 0;
  114976. var f = 0;
  114977. if (gA(a, c[(b + 8) >> 2] | 0, 0) | 0) hA(0, b, d, e);
  114978. else {
  114979. f = c[(a + 8) >> 2] | 0;
  114980. zc[c[((c[f >> 2] | 0) + 28) >> 2] & 7](f, b, d, e);
  114981. }
  114982. return;
  114983. }
  114984. function pA(a) {
  114985. a = a | 0;
  114986. return;
  114987. }
  114988. function qA() {
  114989. var a = 0;
  114990. a = l;
  114991. l = (l + 16) | 0;
  114992. if (!(qb(22252, 72) | 0)) {
  114993. l = a;
  114994. return;
  114995. } else Zz(18265, a);
  114996. }
  114997. function rA(a) {
  114998. a = a | 0;
  114999. var b = 0;
  115000. b = l;
  115001. l = (l + 16) | 0;
  115002. Dy(a);
  115003. if (!(sb(c[5563] | 0, 0) | 0)) {
  115004. l = b;
  115005. return;
  115006. } else Zz(18315, b);
  115007. }
  115008. function sA() {
  115009. var a = 0,
  115010. b = 0;
  115011. a = Yz() | 0;
  115012. if (
  115013. (a | 0 ? ((b = c[a >> 2] | 0), b | 0) : 0)
  115014. ? ((a = (b + 48) | 0),
  115015. ((c[a >> 2] & -256) | 0) == 1126902528
  115016. ? (c[(a + 4) >> 2] | 0) == 1129074247
  115017. : 0)
  115018. : 0
  115019. )
  115020. tA(c[(b + 12) >> 2] | 0);
  115021. tA(uA() | 0);
  115022. }
  115023. function tA(a) {
  115024. a = a | 0;
  115025. var b = 0;
  115026. b = l;
  115027. l = (l + 16) | 0;
  115028. vc[a & 3]();
  115029. Zz(18368, b);
  115030. }
  115031. function uA() {
  115032. var a = 0;
  115033. a = c[3162] | 0;
  115034. c[3162] = a + 0;
  115035. return a | 0;
  115036. }
  115037. function vA(a) {
  115038. a = a | 0;
  115039. return;
  115040. }
  115041. function wA(a) {
  115042. a = a | 0;
  115043. _z(a);
  115044. Vz(a);
  115045. return;
  115046. }
  115047. function xA(a, b, c) {
  115048. a = a | 0;
  115049. b = b | 0;
  115050. c = c | 0;
  115051. return gA(a, b, 0) | 0;
  115052. }
  115053. function yA(a) {
  115054. a = a | 0;
  115055. _z(a);
  115056. Vz(a);
  115057. return;
  115058. }
  115059. function zA(a, b, d) {
  115060. a = a | 0;
  115061. b = b | 0;
  115062. d = d | 0;
  115063. var e = 0,
  115064. f = 0,
  115065. g = 0,
  115066. h = 0,
  115067. i = 0,
  115068. j = 0;
  115069. e = l;
  115070. l = (l + 64) | 0;
  115071. f = e;
  115072. c[d >> 2] = c[c[d >> 2] >> 2];
  115073. if (!(AA(a, b, 0) | 0)) {
  115074. if (
  115075. (
  115076. (b | 0) != 0
  115077. ? ((g = kA(b, 10840, 10896, 0) | 0), (g | 0) != 0)
  115078. : 0
  115079. )
  115080. ? ((c[(g + 8) >> 2] & ~c[(a + 8) >> 2]) | 0) == 0
  115081. : 0
  115082. ) {
  115083. b = (a + 12) | 0;
  115084. a = (g + 12) | 0;
  115085. if (
  115086. !(gA(c[b >> 2] | 0, c[a >> 2] | 0, 0) | 0)
  115087. ? !(gA(c[b >> 2] | 0, 10928, 0) | 0)
  115088. : 0
  115089. ) {
  115090. g = c[b >> 2] | 0;
  115091. if (
  115092. (
  115093. (
  115094. (g | 0) != 0
  115095. ? ((b = kA(g, 10840, 10824, 0) | 0),
  115096. (b | 0) != 0)
  115097. : 0
  115098. )
  115099. ? ((g = c[a >> 2] | 0), (g | 0) != 0)
  115100. : 0
  115101. )
  115102. ? ((a = kA(g, 10840, 10824, 0) | 0), (a | 0) != 0)
  115103. : 0
  115104. ) {
  115105. g = (f + 4) | 0;
  115106. h = (g + 52) | 0;
  115107. do {
  115108. c[g >> 2] = 0;
  115109. g = (g + 4) | 0;
  115110. } while ((g | 0) < (h | 0));
  115111. c[f >> 2] = a;
  115112. c[(f + 8) >> 2] = b;
  115113. c[(f + 12) >> 2] = -1;
  115114. c[(f + 48) >> 2] = 1;
  115115. zc[c[((c[a >> 2] | 0) + 28) >> 2] & 7](
  115116. a,
  115117. f,
  115118. c[d >> 2] | 0,
  115119. 1
  115120. );
  115121. if ((c[(f + 24) >> 2] | 0) == 1) {
  115122. c[d >> 2] = c[(f + 16) >> 2];
  115123. i = 1;
  115124. } else i = 0;
  115125. j = i;
  115126. } else j = 0;
  115127. } else j = 1;
  115128. } else j = 0;
  115129. } else j = 1;
  115130. l = e;
  115131. return j | 0;
  115132. }
  115133. function AA(a, b, c) {
  115134. a = a | 0;
  115135. b = b | 0;
  115136. c = c | 0;
  115137. var d = 0;
  115138. if (gA(a, b, 0) | 0) d = 1;
  115139. else d = gA(b, 10936, 0) | 0;
  115140. return d | 0;
  115141. }
  115142. function BA(a) {
  115143. a = a | 0;
  115144. _z(a);
  115145. Vz(a);
  115146. return;
  115147. }
  115148. function CA(a, b, c) {
  115149. a = a | 0;
  115150. b = b | 0;
  115151. c = c | 0;
  115152. return 0;
  115153. }
  115154. function DA(a) {
  115155. a = a | 0;
  115156. _z(a);
  115157. Vz(a);
  115158. return;
  115159. }
  115160. function EA(b, d, e, f, g, h) {
  115161. b = b | 0;
  115162. d = d | 0;
  115163. e = e | 0;
  115164. f = f | 0;
  115165. g = g | 0;
  115166. h = h | 0;
  115167. var i = 0,
  115168. j = 0,
  115169. k = 0,
  115170. l = 0,
  115171. m = 0,
  115172. n = 0,
  115173. o = 0,
  115174. p = 0,
  115175. q = 0,
  115176. r = 0;
  115177. if (gA(b, c[(d + 8) >> 2] | 0, h) | 0) jA(0, d, e, f, g);
  115178. else {
  115179. i = (d + 52) | 0;
  115180. j = a[i >> 0] | 0;
  115181. k = (d + 53) | 0;
  115182. l = a[k >> 0] | 0;
  115183. m = c[(b + 12) >> 2] | 0;
  115184. n = (b + 16 + (m << 3)) | 0;
  115185. a[i >> 0] = 0;
  115186. a[k >> 0] = 0;
  115187. IA((b + 16) | 0, d, e, f, g, h);
  115188. a: do {
  115189. if ((m | 0) > 1) {
  115190. o = (d + 24) | 0;
  115191. p = (b + 8) | 0;
  115192. q = (d + 54) | 0;
  115193. r = (b + 24) | 0;
  115194. do {
  115195. if (a[q >> 0] | 0) break a;
  115196. if (!(a[i >> 0] | 0)) {
  115197. if (a[k >> 0] | 0 ? ((c[p >> 2] & 1) | 0) == 0 : 0)
  115198. break a;
  115199. } else {
  115200. if ((c[o >> 2] | 0) == 1) break a;
  115201. if (!(c[p >> 2] & 2)) break a;
  115202. }
  115203. a[i >> 0] = 0;
  115204. a[k >> 0] = 0;
  115205. IA(r, d, e, f, g, h);
  115206. r = (r + 8) | 0;
  115207. } while (r >>> 0 < n >>> 0);
  115208. }
  115209. } while (0);
  115210. a[i >> 0] = j;
  115211. a[k >> 0] = l;
  115212. }
  115213. return;
  115214. }
  115215. function FA(b, d, e, f, g) {
  115216. b = b | 0;
  115217. d = d | 0;
  115218. e = e | 0;
  115219. f = f | 0;
  115220. g = g | 0;
  115221. var h = 0,
  115222. i = 0,
  115223. j = 0,
  115224. k = 0,
  115225. l = 0,
  115226. m = 0,
  115227. n = 0,
  115228. o = 0,
  115229. p = 0,
  115230. q = 0,
  115231. r = 0,
  115232. s = 0,
  115233. t = 0,
  115234. u = 0,
  115235. v = 0,
  115236. w = 0;
  115237. a: do {
  115238. if (!(gA(b, c[(d + 8) >> 2] | 0, g) | 0)) {
  115239. if (!(gA(b, c[d >> 2] | 0, g) | 0)) {
  115240. h = c[(b + 12) >> 2] | 0;
  115241. i = (b + 16 + (h << 3)) | 0;
  115242. JA((b + 16) | 0, d, e, f, g);
  115243. j = (b + 24) | 0;
  115244. if ((h | 0) <= 1) break;
  115245. h = c[(b + 8) >> 2] | 0;
  115246. if (
  115247. ((h & 2) | 0) == 0
  115248. ? ((k = (d + 36) | 0), (c[k >> 2] | 0) != 1)
  115249. : 0
  115250. ) {
  115251. if (!(h & 1)) {
  115252. h = (d + 54) | 0;
  115253. l = j;
  115254. while (1) {
  115255. if (a[h >> 0] | 0) break a;
  115256. if ((c[k >> 2] | 0) == 1) break a;
  115257. JA(l, d, e, f, g);
  115258. l = (l + 8) | 0;
  115259. if (l >>> 0 >= i >>> 0) break a;
  115260. }
  115261. }
  115262. l = (d + 24) | 0;
  115263. h = (d + 54) | 0;
  115264. m = j;
  115265. while (1) {
  115266. if (a[h >> 0] | 0) break a;
  115267. if ((c[k >> 2] | 0) == 1 ? (c[l >> 2] | 0) == 1 : 0)
  115268. break a;
  115269. JA(m, d, e, f, g);
  115270. m = (m + 8) | 0;
  115271. if (m >>> 0 >= i >>> 0) break a;
  115272. }
  115273. }
  115274. m = (d + 54) | 0;
  115275. l = j;
  115276. while (1) {
  115277. if (a[m >> 0] | 0) break a;
  115278. JA(l, d, e, f, g);
  115279. l = (l + 8) | 0;
  115280. if (l >>> 0 >= i >>> 0) break a;
  115281. }
  115282. }
  115283. if (
  115284. (c[(d + 16) >> 2] | 0) != (e | 0)
  115285. ? ((i = (d + 20) | 0), (c[i >> 2] | 0) != (e | 0))
  115286. : 0
  115287. ) {
  115288. c[(d + 32) >> 2] = f;
  115289. l = (d + 44) | 0;
  115290. if ((c[l >> 2] | 0) == 4) break;
  115291. m = (b + 16 + (c[(b + 12) >> 2] << 3)) | 0;
  115292. j = (d + 52) | 0;
  115293. k = (d + 53) | 0;
  115294. h = (d + 54) | 0;
  115295. n = (b + 8) | 0;
  115296. o = (d + 24) | 0;
  115297. p = 0;
  115298. q = (b + 16) | 0;
  115299. r = 0;
  115300. b: while (1) {
  115301. if (q >>> 0 >= m >>> 0) {
  115302. s = p;
  115303. t = 18;
  115304. break;
  115305. }
  115306. a[j >> 0] = 0;
  115307. a[k >> 0] = 0;
  115308. IA(q, d, e, e, 1, g);
  115309. if (a[h >> 0] | 0) {
  115310. s = p;
  115311. t = 18;
  115312. break;
  115313. }
  115314. do {
  115315. if (a[k >> 0] | 0) {
  115316. if (!(a[j >> 0] | 0))
  115317. if (!(c[n >> 2] & 1)) {
  115318. s = 1;
  115319. t = 18;
  115320. break b;
  115321. } else {
  115322. u = 1;
  115323. v = r;
  115324. break;
  115325. }
  115326. if ((c[o >> 2] | 0) == 1) {
  115327. t = 23;
  115328. break b;
  115329. }
  115330. if (!(c[n >> 2] & 2)) {
  115331. t = 23;
  115332. break b;
  115333. } else {
  115334. u = 1;
  115335. v = 1;
  115336. }
  115337. } else {
  115338. u = p;
  115339. v = r;
  115340. }
  115341. } while (0);
  115342. p = u;
  115343. q = (q + 8) | 0;
  115344. r = v;
  115345. }
  115346. do {
  115347. if ((t | 0) == 18) {
  115348. if (
  115349. (
  115350. !r
  115351. ? ((c[i >> 2] = e),
  115352. (q = (d + 40) | 0),
  115353. (c[q >> 2] = (c[q >> 2] | 0) + 1),
  115354. (c[(d + 36) >> 2] | 0) == 1)
  115355. : 0
  115356. )
  115357. ? (c[o >> 2] | 0) == 2
  115358. : 0
  115359. ) {
  115360. a[h >> 0] = 1;
  115361. if (s) {
  115362. t = 23;
  115363. break;
  115364. } else {
  115365. w = 4;
  115366. break;
  115367. }
  115368. }
  115369. if (s) t = 23;
  115370. else w = 4;
  115371. }
  115372. } while (0);
  115373. if ((t | 0) == 23) w = 3;
  115374. c[l >> 2] = w;
  115375. break;
  115376. }
  115377. if ((f | 0) == 1) c[(d + 32) >> 2] = 1;
  115378. } else iA(0, d, e, f);
  115379. } while (0);
  115380. return;
  115381. }
  115382. function GA(b, d, e, f) {
  115383. b = b | 0;
  115384. d = d | 0;
  115385. e = e | 0;
  115386. f = f | 0;
  115387. var g = 0,
  115388. h = 0,
  115389. i = 0;
  115390. a: do {
  115391. if (!(gA(b, c[(d + 8) >> 2] | 0, 0) | 0)) {
  115392. g = c[(b + 12) >> 2] | 0;
  115393. h = (b + 16 + (g << 3)) | 0;
  115394. HA((b + 16) | 0, d, e, f);
  115395. if ((g | 0) > 1) {
  115396. g = (d + 54) | 0;
  115397. i = (b + 24) | 0;
  115398. do {
  115399. HA(i, d, e, f);
  115400. if (a[g >> 0] | 0) break a;
  115401. i = (i + 8) | 0;
  115402. } while (i >>> 0 < h >>> 0);
  115403. }
  115404. } else hA(0, d, e, f);
  115405. } while (0);
  115406. return;
  115407. }
  115408. function HA(a, b, d, e) {
  115409. a = a | 0;
  115410. b = b | 0;
  115411. d = d | 0;
  115412. e = e | 0;
  115413. var f = 0,
  115414. g = 0,
  115415. h = 0;
  115416. f = c[(a + 4) >> 2] | 0;
  115417. g = f >> 8;
  115418. if (!(f & 1)) h = g;
  115419. else h = c[((c[d >> 2] | 0) + g) >> 2] | 0;
  115420. g = c[a >> 2] | 0;
  115421. zc[c[((c[g >> 2] | 0) + 28) >> 2] & 7](
  115422. g,
  115423. b,
  115424. (d + h) | 0,
  115425. ((f & 2) | 0) == 0 ? 2 : e
  115426. );
  115427. return;
  115428. }
  115429. function IA(a, b, d, e, f, g) {
  115430. a = a | 0;
  115431. b = b | 0;
  115432. d = d | 0;
  115433. e = e | 0;
  115434. f = f | 0;
  115435. g = g | 0;
  115436. var h = 0,
  115437. i = 0,
  115438. j = 0;
  115439. h = c[(a + 4) >> 2] | 0;
  115440. i = h >> 8;
  115441. if (!(h & 1)) j = i;
  115442. else j = c[((c[e >> 2] | 0) + i) >> 2] | 0;
  115443. i = c[a >> 2] | 0;
  115444. Bc[c[((c[i >> 2] | 0) + 20) >> 2] & 3](
  115445. i,
  115446. b,
  115447. d,
  115448. (e + j) | 0,
  115449. ((h & 2) | 0) == 0 ? 2 : f,
  115450. g
  115451. );
  115452. return;
  115453. }
  115454. function JA(a, b, d, e, f) {
  115455. a = a | 0;
  115456. b = b | 0;
  115457. d = d | 0;
  115458. e = e | 0;
  115459. f = f | 0;
  115460. var g = 0,
  115461. h = 0,
  115462. i = 0;
  115463. g = c[(a + 4) >> 2] | 0;
  115464. h = g >> 8;
  115465. if (!(g & 1)) i = h;
  115466. else i = c[((c[d >> 2] | 0) + h) >> 2] | 0;
  115467. h = c[a >> 2] | 0;
  115468. Ac[c[((c[h >> 2] | 0) + 24) >> 2] & 3](
  115469. h,
  115470. b,
  115471. (d + i) | 0,
  115472. ((g & 2) | 0) == 0 ? 2 : e,
  115473. f
  115474. );
  115475. return;
  115476. }
  115477. function KA(b, d, e, f) {
  115478. b = b | 0;
  115479. d = d | 0;
  115480. e = e | 0;
  115481. f = f | 0;
  115482. var g = 0,
  115483. h = 0,
  115484. i = 0,
  115485. j = 0,
  115486. k = 0,
  115487. m = 0,
  115488. n = 0,
  115489. o = 0,
  115490. p = 0,
  115491. q = 0,
  115492. r = 0,
  115493. s = 0,
  115494. t = 0,
  115495. u = 0,
  115496. v = 0,
  115497. w = 0,
  115498. x = 0,
  115499. y = 0,
  115500. z = 0,
  115501. A = 0,
  115502. B = 0,
  115503. C = 0,
  115504. D = 0,
  115505. E = 0,
  115506. F = 0;
  115507. g = l;
  115508. l = (l + 4192) | 0;
  115509. h = (g + 4176) | 0;
  115510. i = g;
  115511. j = (g + 4112) | 0;
  115512. if (
  115513. (b | 0) != 0
  115514. ? ((k = (d | 0) != 0), (m = (e | 0) == 0), !(k & m))
  115515. : 0
  115516. ) {
  115517. if (k) n = c[e >> 2] | 0;
  115518. else n = 0;
  115519. LA(i);
  115520. MA(j, i);
  115521. k = (j + 48) | 0;
  115522. o = (j + 61) | 0;
  115523. c[k >> 2] = 0;
  115524. c[(k + 4) >> 2] = 0;
  115525. c[(k + 8) >> 2] = 0;
  115526. a[(k + 12) >> 0] = 0;
  115527. a[o >> 0] = 1;
  115528. k = (j + 32) | 0;
  115529. p = (j + 36) | 0;
  115530. q = c[p >> 2] | 0;
  115531. if (q >>> 0 < (c[(j + 40) >> 2] | 0) >>> 0) {
  115532. NA(h, i);
  115533. c[q >> 2] = 0;
  115534. c[(q + 4) >> 2] = 0;
  115535. c[(q + 8) >> 2] = 0;
  115536. c[(q + 12) >> 2] = c[h >> 2];
  115537. c[p >> 2] = (c[p >> 2] | 0) + 16;
  115538. } else OA(k, i);
  115539. q = (j + 62) | 0;
  115540. a[q >> 0] = 0;
  115541. a[(j + 63) >> 0] = 1;
  115542. c[h >> 2] = 0;
  115543. r = (b + (Ty(b) | 0)) | 0;
  115544. PA(b, r, j, h);
  115545. s = c[h >> 2] | 0;
  115546. do {
  115547. if (!(((s | 0) != 0) | ((a[q >> 0] | 0) == 0))) {
  115548. t = c[k >> 2] | 0;
  115549. if (
  115550. (t | 0) != (c[p >> 2] | 0)
  115551. ? (c[t >> 2] | 0) != (c[(t + 4) >> 2] | 0)
  115552. : 0
  115553. ) {
  115554. a[q >> 0] = 0;
  115555. a[o >> 0] = 0;
  115556. t = c[j >> 2] | 0;
  115557. u = (j + 4) | 0;
  115558. v = c[u >> 2] | 0;
  115559. while (1) {
  115560. if ((v | 0) == (t | 0)) break;
  115561. w = (v + -24) | 0;
  115562. QA(w);
  115563. v = w;
  115564. }
  115565. c[u >> 2] = t;
  115566. v = c[(j + 16) >> 2] | 0;
  115567. w = (j + 20) | 0;
  115568. x = c[w >> 2] | 0;
  115569. while (1) {
  115570. if ((x | 0) == (v | 0)) break;
  115571. y = (x + -16) | 0;
  115572. RA(y);
  115573. x = y;
  115574. }
  115575. c[w >> 2] = v;
  115576. PA(b, r, j, h);
  115577. if (!(a[q >> 0] | 0)) {
  115578. z = c[h >> 2] | 0;
  115579. A = 22;
  115580. break;
  115581. } else {
  115582. c[h >> 2] = -2;
  115583. B = 0;
  115584. C = -2;
  115585. break;
  115586. }
  115587. } else A = 23;
  115588. } else {
  115589. z = s;
  115590. A = 22;
  115591. }
  115592. } while (0);
  115593. if ((A | 0) == 22)
  115594. if (!z) A = 23;
  115595. else {
  115596. B = 0;
  115597. C = z;
  115598. }
  115599. do {
  115600. if ((A | 0) == 23) {
  115601. z = (j + 4) | 0;
  115602. s = SA(((c[z >> 2] | 0) + -24) | 0) | 0;
  115603. q = (s + 1) | 0;
  115604. if (q >>> 0 > n >>> 0) {
  115605. r = Fy(d, q) | 0;
  115606. if (!r) {
  115607. c[h >> 2] = -1;
  115608. B = 0;
  115609. C = -1;
  115610. break;
  115611. }
  115612. if (m) D = r;
  115613. else {
  115614. c[e >> 2] = q;
  115615. D = r;
  115616. }
  115617. } else if (!d) {
  115618. B = 0;
  115619. C = 0;
  115620. break;
  115621. } else D = d;
  115622. r = c[z >> 2] | 0;
  115623. q = (r + -12) | 0;
  115624. b = a[(q + 11) >> 0] | 0;
  115625. o = (b << 24) >> 24 < 0;
  115626. TA(
  115627. (r + -24) | 0,
  115628. o ? c[q >> 2] | 0 : q,
  115629. o ? c[(r + -8) >> 2] | 0 : b & 255
  115630. ) | 0;
  115631. b = ((c[z >> 2] | 0) + -24) | 0;
  115632. if ((a[(b + 11) >> 0] | 0) < 0) E = c[b >> 2] | 0;
  115633. else E = b;
  115634. mE(D | 0, E | 0, s | 0) | 0;
  115635. a[(D + s) >> 0] = 0;
  115636. B = D;
  115637. C = 0;
  115638. }
  115639. } while (0);
  115640. if (f | 0) c[f >> 2] = C;
  115641. UA(j);
  115642. VA(i);
  115643. F = B;
  115644. } else if (!f) F = 0;
  115645. else {
  115646. c[f >> 2] = -3;
  115647. F = 0;
  115648. }
  115649. l = g;
  115650. return F | 0;
  115651. }
  115652. function LA(a) {
  115653. a = a | 0;
  115654. c[(a + 4096) >> 2] = a;
  115655. return;
  115656. }
  115657. function MA(a, b) {
  115658. a = a | 0;
  115659. b = b | 0;
  115660. var d = 0,
  115661. e = 0;
  115662. d = l;
  115663. l = (l + 16) | 0;
  115664. e = d;
  115665. SD(e, b);
  115666. c[a >> 2] = 0;
  115667. c[(a + 4) >> 2] = 0;
  115668. c[(a + 8) >> 2] = 0;
  115669. c[(a + 12) >> 2] = c[e >> 2];
  115670. NA(e, b);
  115671. TD((a + 16) | 0, e);
  115672. UD(e, b);
  115673. VD((a + 32) | 0, e);
  115674. l = d;
  115675. return;
  115676. }
  115677. function NA(a, b) {
  115678. a = a | 0;
  115679. b = b | 0;
  115680. c[a >> 2] = b;
  115681. return;
  115682. }
  115683. function OA(a, b) {
  115684. a = a | 0;
  115685. b = b | 0;
  115686. var d = 0,
  115687. e = 0,
  115688. f = 0,
  115689. g = 0,
  115690. h = 0,
  115691. i = 0,
  115692. j = 0,
  115693. k = 0,
  115694. m = 0;
  115695. d = l;
  115696. l = (l + 32) | 0;
  115697. e = (d + 20) | 0;
  115698. f = d;
  115699. g = (a + 4) | 0;
  115700. h = ((((c[g >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
  115701. i = qD(a) | 0;
  115702. if (i >>> 0 < h >>> 0) Wz(a);
  115703. else {
  115704. j = c[a >> 2] | 0;
  115705. k = ((c[(a + 8) >> 2] | 0) - j) | 0;
  115706. m = k >> 3;
  115707. rD(
  115708. f,
  115709. (k >> 4) >>> 0 < (i >>> 1) >>> 0
  115710. ? m >>> 0 < h >>> 0
  115711. ? h
  115712. : m
  115713. : i,
  115714. ((c[g >> 2] | 0) - j) >> 4,
  115715. (a + 12) | 0
  115716. );
  115717. j = (f + 8) | 0;
  115718. g = c[j >> 2] | 0;
  115719. NA(e, b);
  115720. c[g >> 2] = 0;
  115721. c[(g + 4) >> 2] = 0;
  115722. c[(g + 8) >> 2] = 0;
  115723. c[(g + 12) >> 2] = c[e >> 2];
  115724. c[j >> 2] = g + 16;
  115725. sD(a, f);
  115726. tD(f);
  115727. l = d;
  115728. return;
  115729. }
  115730. }
  115731. function PA(b, d, e, f) {
  115732. b = b | 0;
  115733. d = d | 0;
  115734. e = e | 0;
  115735. f = f | 0;
  115736. var g = 0,
  115737. h = 0,
  115738. i = 0,
  115739. j = 0;
  115740. a: do {
  115741. if (b >>> 0 < d >>> 0) {
  115742. b: do {
  115743. if ((a[b >> 0] | 0) != 95) {
  115744. if ((mB(b, d, e) | 0) != (d | 0)) {
  115745. c[f >> 2] = -2;
  115746. break a;
  115747. }
  115748. } else {
  115749. if (((d - b) | 0) <= 3) {
  115750. c[f >> 2] = -2;
  115751. break a;
  115752. }
  115753. switch (a[(b + 1) >> 0] | 0) {
  115754. case 90: {
  115755. g = (b + 2) | 0;
  115756. h = jB(g, d, e) | 0;
  115757. if (
  115758. !(((h | 0) == (g | 0)) | ((h | 0) == (d | 0)))
  115759. ? (a[h >> 0] | 0) == 46
  115760. : 0
  115761. )
  115762. i = kB(h, d, e) | 0;
  115763. else i = h;
  115764. if ((i | 0) == (d | 0)) break b;
  115765. c[f >> 2] = -2;
  115766. break a;
  115767. break;
  115768. }
  115769. case 95: {
  115770. j = 11;
  115771. break;
  115772. }
  115773. default: {
  115774. }
  115775. }
  115776. if (
  115777. ((j | 0) == 11 ? (a[(b + 2) >> 0] | 0) == 95 : 0)
  115778. ? (a[(b + 3) >> 0] | 0) == 90
  115779. : 0
  115780. ) {
  115781. h = (b + 4) | 0;
  115782. g = jB(h, d, e) | 0;
  115783. if (((g | 0) == (h | 0)) | ((g | 0) == (d | 0))) {
  115784. c[f >> 2] = -2;
  115785. break a;
  115786. }
  115787. if ((lB(g, d, e) | 0) == (d | 0)) break;
  115788. c[f >> 2] = -2;
  115789. break a;
  115790. }
  115791. c[f >> 2] = -2;
  115792. break a;
  115793. }
  115794. } while (0);
  115795. if (
  115796. (c[f >> 2] | 0) == 0
  115797. ? (c[e >> 2] | 0) == (c[(e + 4) >> 2] | 0)
  115798. : 0
  115799. )
  115800. c[f >> 2] = -2;
  115801. } else c[f >> 2] = -2;
  115802. } while (0);
  115803. return;
  115804. }
  115805. function QA(a) {
  115806. a = a | 0;
  115807. iB((a + 12) | 0);
  115808. iB(a);
  115809. return;
  115810. }
  115811. function RA(a) {
  115812. a = a | 0;
  115813. var b = 0,
  115814. d = 0,
  115815. e = 0,
  115816. f = 0;
  115817. b = c[a >> 2] | 0;
  115818. if (b | 0) {
  115819. d = (a + 4) | 0;
  115820. e = c[d >> 2] | 0;
  115821. while (1) {
  115822. if ((e | 0) == (b | 0)) break;
  115823. f = (e + -24) | 0;
  115824. QA(f);
  115825. e = f;
  115826. }
  115827. c[d >> 2] = b;
  115828. b = c[a >> 2] | 0;
  115829. hB(
  115830. (a + 12) | 0,
  115831. b,
  115832. ((((c[(a + 8) >> 2] | 0) - b) | 0) / 24) | 0
  115833. );
  115834. }
  115835. return;
  115836. }
  115837. function SA(b) {
  115838. b = b | 0;
  115839. var d = 0,
  115840. e = 0,
  115841. f = 0;
  115842. d = a[(b + 11) >> 0] | 0;
  115843. if ((d << 24) >> 24 < 0) e = c[(b + 4) >> 2] | 0;
  115844. else e = d & 255;
  115845. d = a[(b + 12 + 11) >> 0] | 0;
  115846. if ((d << 24) >> 24 < 0) f = c[(b + 16) >> 2] | 0;
  115847. else f = d & 255;
  115848. return (f + e) | 0;
  115849. }
  115850. function TA(b, d, e) {
  115851. b = b | 0;
  115852. d = d | 0;
  115853. e = e | 0;
  115854. var f = 0,
  115855. g = 0,
  115856. h = 0,
  115857. i = 0,
  115858. j = 0,
  115859. k = 0,
  115860. m = 0,
  115861. n = 0;
  115862. f = l;
  115863. l = (l + 16) | 0;
  115864. g = f;
  115865. h = (b + 11) | 0;
  115866. i = a[h >> 0] | 0;
  115867. j = (i << 24) >> 24 < 0;
  115868. if (j) {
  115869. k = c[(b + 4) >> 2] | 0;
  115870. m = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  115871. } else {
  115872. k = i & 255;
  115873. m = 10;
  115874. }
  115875. if (((m - k) | 0) >>> 0 >= e >>> 0) {
  115876. if (e | 0) {
  115877. if (j) n = c[b >> 2] | 0;
  115878. else n = b;
  115879. bB((n + k) | 0, d, e) | 0;
  115880. j = (k + e) | 0;
  115881. if ((a[h >> 0] | 0) < 0) c[(b + 4) >> 2] = j;
  115882. else a[h >> 0] = j;
  115883. a[g >> 0] = 0;
  115884. cB((n + j) | 0, g);
  115885. }
  115886. } else dB(b, m, (k + e - m) | 0, k, k, 0, e, d);
  115887. l = f;
  115888. return b | 0;
  115889. }
  115890. function UA(a) {
  115891. a = a | 0;
  115892. WA((a + 32) | 0);
  115893. XA((a + 16) | 0);
  115894. RA(a);
  115895. return;
  115896. }
  115897. function VA(a) {
  115898. a = a | 0;
  115899. c[(a + 4096) >> 2] = 0;
  115900. return;
  115901. }
  115902. function WA(a) {
  115903. a = a | 0;
  115904. var b = 0,
  115905. d = 0,
  115906. e = 0,
  115907. f = 0;
  115908. b = c[a >> 2] | 0;
  115909. if (b | 0) {
  115910. d = (a + 4) | 0;
  115911. e = c[d >> 2] | 0;
  115912. while (1) {
  115913. if ((e | 0) == (b | 0)) break;
  115914. f = (e + -16) | 0;
  115915. XA(f);
  115916. e = f;
  115917. }
  115918. c[d >> 2] = b;
  115919. b = c[a >> 2] | 0;
  115920. aB((a + 12) | 0, b, ((c[(a + 8) >> 2] | 0) - b) >> 4);
  115921. }
  115922. return;
  115923. }
  115924. function XA(a) {
  115925. a = a | 0;
  115926. var b = 0,
  115927. d = 0,
  115928. e = 0,
  115929. f = 0;
  115930. b = c[a >> 2] | 0;
  115931. if (b | 0) {
  115932. d = (a + 4) | 0;
  115933. e = c[d >> 2] | 0;
  115934. while (1) {
  115935. if ((e | 0) == (b | 0)) break;
  115936. f = (e + -16) | 0;
  115937. RA(f);
  115938. e = f;
  115939. }
  115940. c[d >> 2] = b;
  115941. b = c[a >> 2] | 0;
  115942. YA((a + 12) | 0, b, ((c[(a + 8) >> 2] | 0) - b) >> 4);
  115943. }
  115944. return;
  115945. }
  115946. function YA(a, b, d) {
  115947. a = a | 0;
  115948. b = b | 0;
  115949. d = d | 0;
  115950. ZA(c[a >> 2] | 0, b, d << 4);
  115951. return;
  115952. }
  115953. function ZA(a, b, d) {
  115954. a = a | 0;
  115955. b = b | 0;
  115956. d = d | 0;
  115957. var e = 0;
  115958. if (_A(a, b) | 0) {
  115959. e = (b + ($A(d) | 0)) | 0;
  115960. d = (a + 4096) | 0;
  115961. if ((e | 0) == (c[d >> 2] | 0)) c[d >> 2] = b;
  115962. } else Dy(b);
  115963. return;
  115964. }
  115965. function _A(a, b) {
  115966. a = a | 0;
  115967. b = b | 0;
  115968. return (
  115969. ((((a + 4096) | 0) >>> 0 >= b >>> 0) &
  115970. (a >>> 0 <= b >>> 0)) |
  115971. 0
  115972. );
  115973. }
  115974. function $A(a) {
  115975. a = a | 0;
  115976. return ((a + 15) & -16) | 0;
  115977. }
  115978. function aB(a, b, d) {
  115979. a = a | 0;
  115980. b = b | 0;
  115981. d = d | 0;
  115982. ZA(c[a >> 2] | 0, b, d << 4);
  115983. return;
  115984. }
  115985. function bB(a, b, c) {
  115986. a = a | 0;
  115987. b = b | 0;
  115988. c = c | 0;
  115989. if (c | 0) mE(a | 0, b | 0, c | 0) | 0;
  115990. return a | 0;
  115991. }
  115992. function cB(b, c) {
  115993. b = b | 0;
  115994. c = c | 0;
  115995. a[b >> 0] = a[c >> 0] | 0;
  115996. return;
  115997. }
  115998. function dB(b, d, e, f, g, h, i, j) {
  115999. b = b | 0;
  116000. d = d | 0;
  116001. e = e | 0;
  116002. f = f | 0;
  116003. g = g | 0;
  116004. h = h | 0;
  116005. i = i | 0;
  116006. j = j | 0;
  116007. var k = 0,
  116008. m = 0,
  116009. n = 0,
  116010. o = 0,
  116011. p = 0,
  116012. q = 0;
  116013. k = l;
  116014. l = (l + 16) | 0;
  116015. m = k;
  116016. if (((-18 - d) | 0) >>> 0 < e >>> 0) eB(b);
  116017. if ((a[(b + 11) >> 0] | 0) < 0) n = c[b >> 2] | 0;
  116018. else n = b;
  116019. if (d >>> 0 < 2147483623) {
  116020. o = (e + d) | 0;
  116021. e = d << 1;
  116022. p = o >>> 0 < e >>> 0 ? e : o;
  116023. q = p >>> 0 < 11 ? 11 : (p + 16) & -16;
  116024. } else q = -17;
  116025. p = fB(q) | 0;
  116026. if (g | 0) bB(p, n, g) | 0;
  116027. if (i | 0) bB((p + g) | 0, j, i) | 0;
  116028. j = (f - h) | 0;
  116029. f = (j - g) | 0;
  116030. if (f | 0) bB((p + g + i) | 0, (n + g + h) | 0, f) | 0;
  116031. if ((d | 0) != 10) gB(n);
  116032. c[b >> 2] = p;
  116033. c[(b + 8) >> 2] = q | -2147483648;
  116034. q = (j + i) | 0;
  116035. c[(b + 4) >> 2] = q;
  116036. a[m >> 0] = 0;
  116037. cB((p + q) | 0, m);
  116038. l = k;
  116039. return;
  116040. }
  116041. function eB(a) {
  116042. a = a | 0;
  116043. lb();
  116044. }
  116045. function fB(a) {
  116046. a = a | 0;
  116047. return Cy(a) | 0;
  116048. }
  116049. function gB(a) {
  116050. a = a | 0;
  116051. Dy(a);
  116052. return;
  116053. }
  116054. function hB(a, b, d) {
  116055. a = a | 0;
  116056. b = b | 0;
  116057. d = d | 0;
  116058. ZA(c[a >> 2] | 0, b, (d * 24) | 0);
  116059. return;
  116060. }
  116061. function iB(b) {
  116062. b = b | 0;
  116063. if ((a[(b + 11) >> 0] | 0) < 0) gB(c[b >> 2] | 0);
  116064. return;
  116065. }
  116066. function jB(b, d, e) {
  116067. b = b | 0;
  116068. d = d | 0;
  116069. e = e | 0;
  116070. var f = 0,
  116071. g = 0,
  116072. h = 0,
  116073. i = 0,
  116074. j = 0,
  116075. k = 0,
  116076. m = 0,
  116077. n = 0,
  116078. o = 0,
  116079. p = 0,
  116080. q = 0,
  116081. r = 0,
  116082. s = 0,
  116083. t = 0,
  116084. u = 0,
  116085. v = 0,
  116086. w = 0,
  116087. x = 0,
  116088. y = 0,
  116089. z = 0,
  116090. A = 0,
  116091. B = 0,
  116092. C = 0,
  116093. D = 0,
  116094. E = 0,
  116095. F = 0,
  116096. G = 0,
  116097. H = 0,
  116098. I = 0,
  116099. J = 0,
  116100. K = 0,
  116101. L = 0,
  116102. M = 0,
  116103. N = 0,
  116104. O = 0,
  116105. P = 0,
  116106. Q = 0,
  116107. R = 0,
  116108. S = 0,
  116109. T = 0,
  116110. U = 0,
  116111. V = 0,
  116112. W = 0,
  116113. X = 0,
  116114. Y = 0,
  116115. Z = 0,
  116116. _ = 0,
  116117. $ = 0,
  116118. aa = 0,
  116119. ba = 0,
  116120. ca = 0,
  116121. da = 0,
  116122. ea = 0,
  116123. fa = 0,
  116124. ga = 0,
  116125. ha = 0,
  116126. ia = 0,
  116127. ja = 0;
  116128. f = l;
  116129. l = (l + 64) | 0;
  116130. g = (f + 48) | 0;
  116131. h = (f + 40) | 0;
  116132. i = (f + 32) | 0;
  116133. j = (f + 24) | 0;
  116134. k = (f + 12) | 0;
  116135. m = f;
  116136. if ((b | 0) != (d | 0)) {
  116137. n = (e + 56) | 0;
  116138. MD(h, n);
  116139. c[n >> 2] = (c[n >> 2] | 0) + 1;
  116140. o = (e + 61) | 0;
  116141. ND(i, o);
  116142. if ((c[n >> 2] | 0) >>> 0 > 1) a[o >> 0] = 1;
  116143. a: do {
  116144. switch (a[b >> 0] | 0) {
  116145. case 84:
  116146. case 71: {
  116147. p = OD(b, d, e) | 0;
  116148. q = 1;
  116149. break;
  116150. }
  116151. default: {
  116152. n = MB(b, d, e) | 0;
  116153. r = c[(e + 48) >> 2] | 0;
  116154. s = c[(e + 52) >> 2] | 0;
  116155. b: do {
  116156. if ((n | 0) != (b | 0)) {
  116157. if ((n | 0) != (d | 0)) {
  116158. switch (a[n >> 0] | 0) {
  116159. case 46:
  116160. case 69: {
  116161. t = n;
  116162. break b;
  116163. break;
  116164. }
  116165. default: {
  116166. }
  116167. }
  116168. ND(j, o);
  116169. a[o >> 0] = 0;
  116170. c[k >> 2] = 0;
  116171. c[(k + 4) >> 2] = 0;
  116172. c[(k + 8) >> 2] = 0;
  116173. u = 0;
  116174. while (1) {
  116175. if ((u | 0) == 3) break;
  116176. c[(k + (u << 2)) >> 2] = 0;
  116177. u = (u + 1) | 0;
  116178. }
  116179. u = (e + 4) | 0;
  116180. v = c[u >> 2] | 0;
  116181. c: do {
  116182. if ((c[e >> 2] | 0) != (v | 0)) {
  116183. w = (v + -24) | 0;
  116184. x = a[(w + 11) >> 0] | 0;
  116185. y = (x << 24) >> 24 < 0;
  116186. if (y) z = c[(v + -20) >> 2] | 0;
  116187. else z = x & 255;
  116188. if (z) {
  116189. if (!(a[(e + 60) >> 0] | 0)) {
  116190. if (y) {
  116191. A = c[w >> 2] | 0;
  116192. B = c[(v + -20) >> 2] | 0;
  116193. } else {
  116194. A = w;
  116195. B = x & 255;
  116196. }
  116197. if ((a[(A + B + -1) >> 0] | 0) == 62) {
  116198. if (y) {
  116199. C = c[(v + -20) >> 2] | 0;
  116200. D = c[w >> 2] | 0;
  116201. } else {
  116202. C = x & 255;
  116203. D = w;
  116204. }
  116205. if (
  116206. (a[(D + (C + -2)) >> 0] | 0) !=
  116207. 45
  116208. ) {
  116209. if (y) {
  116210. E = c[(v + -20) >> 2] | 0;
  116211. F = c[w >> 2] | 0;
  116212. } else {
  116213. E = x & 255;
  116214. F = w;
  116215. }
  116216. if (
  116217. (a[(F + (E + -2)) >> 0] | 0) !=
  116218. 62
  116219. ) {
  116220. x = mB(n, d, e) | 0;
  116221. if ((x | 0) == (n | 0)) {
  116222. G = b;
  116223. H = 0;
  116224. break;
  116225. }
  116226. y = c[u >> 2] | 0;
  116227. I = y;
  116228. if (
  116229. ((((y - (c[e >> 2] | 0)) | 0) /
  116230. 24) |
  116231. 0) >>>
  116232. 0 <
  116233. 2
  116234. ) {
  116235. G = b;
  116236. H = 0;
  116237. break;
  116238. }
  116239. y = (I + -24) | 0;
  116240. c[m >> 2] = c[y >> 2];
  116241. c[(m + 4) >> 2] = c[(y + 4) >> 2];
  116242. c[(m + 8) >> 2] = c[(y + 8) >> 2];
  116243. J = 0;
  116244. while (1) {
  116245. if ((J | 0) == 3) break;
  116246. c[(y + (J << 2)) >> 2] = 0;
  116247. J = (J + 1) | 0;
  116248. }
  116249. J = (I + -12) | 0;
  116250. y = (k + 11) | 0;
  116251. if ((a[y >> 0] | 0) < 0) {
  116252. K = c[k >> 2] | 0;
  116253. a[g >> 0] = 0;
  116254. cB(K, g);
  116255. c[(k + 4) >> 2] = 0;
  116256. } else {
  116257. a[g >> 0] = 0;
  116258. cB(k, g);
  116259. a[y >> 0] = 0;
  116260. }
  116261. TB(k);
  116262. c[k >> 2] = c[J >> 2];
  116263. c[(k + 4) >> 2] = c[(J + 4) >> 2];
  116264. c[(k + 8) >> 2] = c[(J + 8) >> 2];
  116265. K = 0;
  116266. while (1) {
  116267. if ((K | 0) == 3) break;
  116268. c[(J + (K << 2)) >> 2] = 0;
  116269. K = (K + 1) | 0;
  116270. }
  116271. K = a[y >> 0] | 0;
  116272. if (
  116273. !(
  116274. ((K << 24) >> 24 < 0
  116275. ? c[(k + 4) >> 2] | 0
  116276. : K & 255) | 0
  116277. )
  116278. )
  116279. NC(m, 32);
  116280. K = c[u >> 2] | 0;
  116281. J = 0;
  116282. while (1) {
  116283. if ((J | 0) == -1) break;
  116284. I = (J + -1) | 0;
  116285. QA((K + ((I * 24) | 0)) | 0);
  116286. J = I;
  116287. }
  116288. c[u >> 2] = K + -24;
  116289. J = a[(m + 11) >> 0] | 0;
  116290. y = (J << 24) >> 24 < 0;
  116291. zD(
  116292. (K + -48) | 0,
  116293. 0,
  116294. y ? c[m >> 2] | 0 : m,
  116295. y
  116296. ? c[(m + 4) >> 2] | 0
  116297. : J & 255
  116298. ) | 0;
  116299. iB(m);
  116300. L = x;
  116301. M = ((c[u >> 2] | 0) + -24) | 0;
  116302. } else {
  116303. L = n;
  116304. M = w;
  116305. }
  116306. } else {
  116307. L = n;
  116308. M = w;
  116309. }
  116310. } else {
  116311. L = n;
  116312. M = w;
  116313. }
  116314. } else {
  116315. L = n;
  116316. M = w;
  116317. }
  116318. NC(M, 40);
  116319. if (
  116320. (L | 0) != (d | 0)
  116321. ? (a[L >> 0] | 0) == 118
  116322. : 0
  116323. ) {
  116324. N = (L + 1) | 0;
  116325. O = c[e >> 2] | 0;
  116326. P = c[u >> 2] | 0;
  116327. } else Q = 50;
  116328. do {
  116329. if ((Q | 0) == 50) {
  116330. J = (g + 11) | 0;
  116331. y = (g + 4) | 0;
  116332. I = (m + 11) | 0;
  116333. R = (m + 4) | 0;
  116334. S = 1;
  116335. T = L;
  116336. d: while (1) {
  116337. U = T;
  116338. while (1) {
  116339. V =
  116340. ((((c[u >> 2] | 0) -
  116341. (c[e >> 2] | 0)) |
  116342. 0) /
  116343. 24) |
  116344. 0;
  116345. W = mB(U, d, e) | 0;
  116346. X = c[u >> 2] | 0;
  116347. Y = c[e >> 2] | 0;
  116348. Z = (((X - Y) | 0) / 24) | 0;
  116349. if ((W | 0) == (U | 0)) {
  116350. Q = 74;
  116351. break d;
  116352. }
  116353. if (Z >>> 0 > V >>> 0) break;
  116354. else U = W;
  116355. }
  116356. c[g >> 2] = 0;
  116357. c[(g + 4) >> 2] = 0;
  116358. c[(g + 8) >> 2] = 0;
  116359. _ = 0;
  116360. while (1) {
  116361. if ((_ | 0) == 3) break;
  116362. c[(g + (_ << 2)) >> 2] = 0;
  116363. _ = (_ + 1) | 0;
  116364. }
  116365. _ = V;
  116366. while (1) {
  116367. if (_ >>> 0 >= Z >>> 0) break;
  116368. $ = a[J >> 0] | 0;
  116369. if (
  116370. (($ << 24) >> 24 < 0
  116371. ? c[y >> 2] | 0
  116372. : $ & 255) | 0
  116373. )
  116374. qB(g, 18897) | 0;
  116375. FB(
  116376. m,
  116377. ((c[e >> 2] | 0) +
  116378. ((_ * 24) | 0)) |
  116379. 0
  116380. );
  116381. $ = a[I >> 0] | 0;
  116382. aa = ($ << 24) >> 24 < 0;
  116383. TA(
  116384. g,
  116385. aa ? c[m >> 2] | 0 : m,
  116386. aa ? c[R >> 2] | 0 : $ & 255
  116387. ) | 0;
  116388. iB(m);
  116389. _ = (_ + 1) | 0;
  116390. }
  116391. _ = V;
  116392. while (1) {
  116393. if (_ >>> 0 >= Z >>> 0) break;
  116394. $ = c[u >> 2] | 0;
  116395. aa = 0;
  116396. while (1) {
  116397. if ((aa | 0) == -1) break;
  116398. ba = (aa + -1) | 0;
  116399. QA(($ + ((ba * 24) | 0)) | 0);
  116400. aa = ba;
  116401. }
  116402. c[u >> 2] = $ + -24;
  116403. _ = (_ + 1) | 0;
  116404. }
  116405. _ = a[J >> 0] | 0;
  116406. aa = c[y >> 2] | 0;
  116407. ba = _ & 255;
  116408. if (
  116409. !(
  116410. ((_ << 24) >> 24 < 0
  116411. ? aa
  116412. : ba) | 0
  116413. )
  116414. )
  116415. ca = S;
  116416. else {
  116417. da = c[u >> 2] | 0;
  116418. if ((c[e >> 2] | 0) == (da | 0)) {
  116419. Q = 86;
  116420. break;
  116421. }
  116422. if (S) {
  116423. ea = ba;
  116424. fa = da;
  116425. ga = _;
  116426. ha = aa;
  116427. } else {
  116428. qB((da + -24) | 0, 18897) | 0;
  116429. da = a[J >> 0] | 0;
  116430. ea = da & 255;
  116431. fa = c[u >> 2] | 0;
  116432. ga = da;
  116433. ha = c[y >> 2] | 0;
  116434. }
  116435. da = (ga << 24) >> 24 < 0;
  116436. TA(
  116437. (fa + -24) | 0,
  116438. da ? c[g >> 2] | 0 : g,
  116439. da ? ha : ea
  116440. ) | 0;
  116441. ca = 0;
  116442. }
  116443. iB(g);
  116444. S = ca;
  116445. T = W;
  116446. }
  116447. if ((Q | 0) == 74) {
  116448. N = U;
  116449. O = Y;
  116450. P = X;
  116451. break;
  116452. } else if ((Q | 0) == 86) {
  116453. iB(g);
  116454. G = b;
  116455. H = 0;
  116456. break c;
  116457. }
  116458. }
  116459. } while (0);
  116460. if ((O | 0) != (P | 0)) {
  116461. NC((P + -24) | 0, 41);
  116462. if ((r & 1) | 0)
  116463. qB(
  116464. ((c[u >> 2] | 0) + -24) | 0,
  116465. 18620
  116466. ) | 0;
  116467. if ((r & 2) | 0)
  116468. qB(
  116469. ((c[u >> 2] | 0) + -24) | 0,
  116470. 18627
  116471. ) | 0;
  116472. if ((r & 4) | 0)
  116473. qB(
  116474. ((c[u >> 2] | 0) + -24) | 0,
  116475. 18637
  116476. ) | 0;
  116477. switch (s | 0) {
  116478. case 1: {
  116479. qB(
  116480. ((c[u >> 2] | 0) + -24) | 0,
  116481. 20101
  116482. ) | 0;
  116483. break;
  116484. }
  116485. case 2: {
  116486. qB(
  116487. ((c[u >> 2] | 0) + -24) | 0,
  116488. 20104
  116489. ) | 0;
  116490. break;
  116491. }
  116492. default: {
  116493. }
  116494. }
  116495. w = a[(k + 11) >> 0] | 0;
  116496. x = (w << 24) >> 24 < 0;
  116497. TA(
  116498. ((c[u >> 2] | 0) + -24) | 0,
  116499. x ? c[k >> 2] | 0 : k,
  116500. x ? c[(k + 4) >> 2] | 0 : w & 255
  116501. ) | 0;
  116502. G = N;
  116503. H = 1;
  116504. } else {
  116505. G = b;
  116506. H = 0;
  116507. }
  116508. } else {
  116509. G = b;
  116510. H = 0;
  116511. }
  116512. } else {
  116513. G = b;
  116514. H = 0;
  116515. }
  116516. } while (0);
  116517. iB(k);
  116518. PD(j);
  116519. if (H) t = G;
  116520. else {
  116521. p = G;
  116522. q = 0;
  116523. break a;
  116524. }
  116525. } else t = d;
  116526. } else t = b;
  116527. } while (0);
  116528. p = t;
  116529. q = 1;
  116530. }
  116531. }
  116532. } while (0);
  116533. PD(i);
  116534. QD(h);
  116535. if (q) {
  116536. ia = p;
  116537. Q = 90;
  116538. } else ja = b;
  116539. } else {
  116540. ia = b;
  116541. Q = 90;
  116542. }
  116543. if ((Q | 0) == 90) ja = ia;
  116544. l = f;
  116545. return ja | 0;
  116546. }
  116547. function kB(b, d, e) {
  116548. b = b | 0;
  116549. d = d | 0;
  116550. e = e | 0;
  116551. var f = 0,
  116552. g = 0,
  116553. h = 0,
  116554. i = 0,
  116555. j = 0,
  116556. k = 0,
  116557. m = 0;
  116558. f = l;
  116559. l = (l + 48) | 0;
  116560. g = (f + 24) | 0;
  116561. h = (f + 12) | 0;
  116562. i = f;
  116563. if (
  116564. ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 46 : 0)
  116565. ? ((j = (e + 4) | 0), (c[e >> 2] | 0) != (c[j >> 2] | 0))
  116566. : 0
  116567. ) {
  116568. c[i >> 2] = 0;
  116569. c[(i + 4) >> 2] = 0;
  116570. c[(i + 8) >> 2] = 0;
  116571. QC(i, b, d);
  116572. pB(i, 0, 18670) | 0;
  116573. c[h >> 2] = c[i >> 2];
  116574. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  116575. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  116576. e = 0;
  116577. while (1) {
  116578. if ((e | 0) == 3) break;
  116579. c[(i + (e << 2)) >> 2] = 0;
  116580. e = (e + 1) | 0;
  116581. }
  116582. qB(h, 18673) | 0;
  116583. c[g >> 2] = c[h >> 2];
  116584. c[(g + 4) >> 2] = c[(h + 4) >> 2];
  116585. c[(g + 8) >> 2] = c[(h + 8) >> 2];
  116586. e = 0;
  116587. while (1) {
  116588. if ((e | 0) == 3) break;
  116589. c[(h + (e << 2)) >> 2] = 0;
  116590. e = (e + 1) | 0;
  116591. }
  116592. e = a[(g + 11) >> 0] | 0;
  116593. k = (e << 24) >> 24 < 0;
  116594. TA(
  116595. ((c[j >> 2] | 0) + -24) | 0,
  116596. k ? c[g >> 2] | 0 : g,
  116597. k ? c[(g + 4) >> 2] | 0 : e & 255
  116598. ) | 0;
  116599. iB(g);
  116600. iB(h);
  116601. iB(i);
  116602. m = d;
  116603. } else m = b;
  116604. l = f;
  116605. return m | 0;
  116606. }
  116607. function lB(b, d, e) {
  116608. b = b | 0;
  116609. d = d | 0;
  116610. e = e | 0;
  116611. var f = 0,
  116612. g = 0,
  116613. h = 0,
  116614. i = 0,
  116615. j = 0;
  116616. a: do {
  116617. if (((d - b) | 0) > 12) {
  116618. f = 0;
  116619. g = b;
  116620. while (1) {
  116621. if (f >>> 0 >= 13) break;
  116622. if ((a[g >> 0] | 0) != (a[(20306 + f) >> 0] | 0)) {
  116623. h = b;
  116624. break a;
  116625. }
  116626. f = (f + 1) | 0;
  116627. g = (g + 1) | 0;
  116628. }
  116629. b: do {
  116630. if ((g | 0) == (d | 0)) i = d;
  116631. else {
  116632. if ((a[g >> 0] | 0) == 95) {
  116633. f = (g + 1) | 0;
  116634. if ((f | 0) == (d | 0)) {
  116635. h = b;
  116636. break a;
  116637. }
  116638. if ((((a[f >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
  116639. h = b;
  116640. break a;
  116641. }
  116642. j = (g + 2) | 0;
  116643. } else j = g;
  116644. f = j;
  116645. while (1) {
  116646. if ((f | 0) == (d | 0)) {
  116647. i = d;
  116648. break b;
  116649. }
  116650. if ((((a[f >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
  116651. i = f;
  116652. break b;
  116653. }
  116654. f = (f + 1) | 0;
  116655. }
  116656. }
  116657. } while (0);
  116658. g = c[(e + 4) >> 2] | 0;
  116659. if ((c[e >> 2] | 0) != (g | 0)) {
  116660. pB((g + -24) | 0, 0, 20320) | 0;
  116661. h = i;
  116662. } else h = b;
  116663. } else h = b;
  116664. } while (0);
  116665. return h | 0;
  116666. }
  116667. function mB(b, d, e) {
  116668. b = b | 0;
  116669. d = d | 0;
  116670. e = e | 0;
  116671. var f = 0,
  116672. g = 0,
  116673. h = 0,
  116674. i = 0,
  116675. j = 0,
  116676. k = 0,
  116677. m = 0,
  116678. n = 0,
  116679. o = 0,
  116680. p = 0,
  116681. q = 0,
  116682. r = 0,
  116683. s = 0,
  116684. t = 0,
  116685. u = 0,
  116686. v = 0,
  116687. w = 0,
  116688. x = 0,
  116689. y = 0,
  116690. z = 0,
  116691. A = 0,
  116692. B = 0,
  116693. C = 0,
  116694. D = 0,
  116695. E = 0,
  116696. F = 0,
  116697. G = 0,
  116698. H = 0,
  116699. I = 0,
  116700. J = 0,
  116701. K = 0,
  116702. L = 0,
  116703. M = 0,
  116704. N = 0,
  116705. O = 0,
  116706. P = 0,
  116707. Q = 0,
  116708. R = 0,
  116709. S = 0,
  116710. T = 0,
  116711. U = 0,
  116712. V = 0,
  116713. W = 0,
  116714. X = 0,
  116715. Y = 0;
  116716. f = l;
  116717. l = (l + 144) | 0;
  116718. g = (f + 128) | 0;
  116719. h = (f + 104) | 0;
  116720. i = (f + 40) | 0;
  116721. j = (f + 88) | 0;
  116722. k = (f + 24) | 0;
  116723. m = (f + 76) | 0;
  116724. n = (f + 12) | 0;
  116725. o = f;
  116726. p = (f + 64) | 0;
  116727. a: do {
  116728. if ((b | 0) != (d | 0)) {
  116729. switch (a[b >> 0] | 0) {
  116730. case 75:
  116731. case 86:
  116732. case 114: {
  116733. c[g >> 2] = 0;
  116734. q = nB(b, d, g) | 0;
  116735. b: do {
  116736. if (
  116737. (q | 0) != (b | 0)
  116738. ? ((r = (a[q >> 0] | 0) == 70),
  116739. (s = (e + 4) | 0),
  116740. (t =
  116741. ((((c[s >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  116742. 24) |
  116743. 0),
  116744. (u = mB(q, d, e) | 0),
  116745. (v =
  116746. ((((c[s >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  116747. 24) |
  116748. 0),
  116749. (u | 0) != (q | 0))
  116750. : 0
  116751. ) {
  116752. s = (e + 20) | 0;
  116753. w = c[s >> 2] | 0;
  116754. if (r) {
  116755. x = 0;
  116756. while (1) {
  116757. if ((x | 0) == -1) break;
  116758. y = (x + -1) | 0;
  116759. RA((w + (y << 4)) | 0);
  116760. x = y;
  116761. }
  116762. x = (w + -16) | 0;
  116763. c[s >> 2] = x;
  116764. z = x;
  116765. } else z = w;
  116766. x = c[(e + 12) >> 2] | 0;
  116767. c[h >> 2] = x;
  116768. if (z >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  116769. c[z >> 2] = 0;
  116770. c[(z + 4) >> 2] = 0;
  116771. c[(z + 8) >> 2] = 0;
  116772. c[(z + 12) >> 2] = x;
  116773. c[s >> 2] = (c[s >> 2] | 0) + 16;
  116774. } else oB((e + 16) | 0, h);
  116775. x = c[g >> 2] | 0;
  116776. y = ((x & 1) | 0) == 0;
  116777. A = ((x & 2) | 0) == 0;
  116778. B = ((x & 4) | 0) == 0;
  116779. x = t;
  116780. while (1) {
  116781. if (x >>> 0 >= v >>> 0) {
  116782. C = u;
  116783. break b;
  116784. }
  116785. if (r) {
  116786. D = c[e >> 2] | 0;
  116787. E = (D + ((x * 24) | 0) + 12) | 0;
  116788. F = a[(E + 11) >> 0] | 0;
  116789. G = (F << 24) >> 24 < 0;
  116790. if (G) {
  116791. H = c[(D + ((x * 24) | 0) + 16) >> 2] | 0;
  116792. I = c[E >> 2] | 0;
  116793. } else {
  116794. H = F & 255;
  116795. I = E;
  116796. }
  116797. J = (H + -2) | 0;
  116798. if ((a[(I + J) >> 0] | 0) == 38)
  116799. K = (H + -3) | 0;
  116800. else {
  116801. if (G) {
  116802. L = c[E >> 2] | 0;
  116803. M = c[(D + ((x * 24) | 0) + 16) >> 2] | 0;
  116804. } else {
  116805. L = E;
  116806. M = F & 255;
  116807. }
  116808. K =
  116809. (a[(L + M + -1) >> 0] | 0) == 38 ? J : H;
  116810. }
  116811. if (y) N = K;
  116812. else {
  116813. pB(E, K, 18620) | 0;
  116814. N = (K + 6) | 0;
  116815. }
  116816. if (A) O = N;
  116817. else {
  116818. pB(
  116819. ((c[e >> 2] | 0) + ((x * 24) | 0) + 12) |
  116820. 0,
  116821. N,
  116822. 18627
  116823. ) | 0;
  116824. O = (N + 9) | 0;
  116825. }
  116826. if (!B)
  116827. pB(
  116828. ((c[e >> 2] | 0) + ((x * 24) | 0) + 12) |
  116829. 0,
  116830. O,
  116831. 18637
  116832. ) | 0;
  116833. } else {
  116834. if (!y)
  116835. qB(
  116836. ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0,
  116837. 18620
  116838. ) | 0;
  116839. if (!A)
  116840. qB(
  116841. ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0,
  116842. 18627
  116843. ) | 0;
  116844. if (!B)
  116845. qB(
  116846. ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0,
  116847. 18637
  116848. ) | 0;
  116849. }
  116850. E = c[s >> 2] | 0;
  116851. J = ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0;
  116852. F = (E + -12) | 0;
  116853. D = c[F >> 2] | 0;
  116854. if ((D | 0) == (c[(E + -8) >> 2] | 0))
  116855. sB((E + -16) | 0, J);
  116856. else {
  116857. rB(D, J);
  116858. c[F >> 2] = (c[F >> 2] | 0) + 24;
  116859. }
  116860. x = (x + 1) | 0;
  116861. }
  116862. } else C = b;
  116863. } while (0);
  116864. P = C;
  116865. break a;
  116866. break;
  116867. }
  116868. default: {
  116869. }
  116870. }
  116871. q = tB(b, d, e) | 0;
  116872. if ((q | 0) == (b | 0)) {
  116873. c: do {
  116874. switch (a[b >> 0] | 0) {
  116875. case 65: {
  116876. x = uB(b, d, e) | 0;
  116877. if ((x | 0) == (b | 0)) {
  116878. P = b;
  116879. break a;
  116880. }
  116881. s = c[(e + 4) >> 2] | 0;
  116882. if ((c[e >> 2] | 0) == (s | 0)) {
  116883. P = b;
  116884. break a;
  116885. }
  116886. c[h >> 2] = c[(e + 12) >> 2];
  116887. vB(g, (s + -24) | 0, h);
  116888. s = (e + 20) | 0;
  116889. B = c[s >> 2] | 0;
  116890. if (B >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  116891. c[B >> 2] = 0;
  116892. A = (B + 4) | 0;
  116893. c[A >> 2] = 0;
  116894. y = (B + 8) | 0;
  116895. c[y >> 2] = 0;
  116896. c[(B + 12) >> 2] = c[(g + 12) >> 2];
  116897. c[B >> 2] = c[g >> 2];
  116898. B = (g + 4) | 0;
  116899. c[A >> 2] = c[B >> 2];
  116900. A = (g + 8) | 0;
  116901. c[y >> 2] = c[A >> 2];
  116902. c[A >> 2] = 0;
  116903. c[B >> 2] = 0;
  116904. c[g >> 2] = 0;
  116905. c[s >> 2] = (c[s >> 2] | 0) + 16;
  116906. } else wB((e + 16) | 0, g);
  116907. RA(g);
  116908. P = x;
  116909. break a;
  116910. break;
  116911. }
  116912. case 67: {
  116913. x = (b + 1) | 0;
  116914. s = mB(x, d, e) | 0;
  116915. if ((s | 0) == (x | 0)) {
  116916. P = b;
  116917. break a;
  116918. }
  116919. x = (e + 4) | 0;
  116920. B = c[x >> 2] | 0;
  116921. if ((c[e >> 2] | 0) == (B | 0)) {
  116922. P = b;
  116923. break a;
  116924. }
  116925. qB((B + -24) | 0, 18647) | 0;
  116926. B = ((c[x >> 2] | 0) + -24) | 0;
  116927. c[h >> 2] = c[(e + 12) >> 2];
  116928. vB(g, B, h);
  116929. B = (e + 20) | 0;
  116930. x = c[B >> 2] | 0;
  116931. if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  116932. c[x >> 2] = 0;
  116933. A = (x + 4) | 0;
  116934. c[A >> 2] = 0;
  116935. y = (x + 8) | 0;
  116936. c[y >> 2] = 0;
  116937. c[(x + 12) >> 2] = c[(g + 12) >> 2];
  116938. c[x >> 2] = c[g >> 2];
  116939. x = (g + 4) | 0;
  116940. c[A >> 2] = c[x >> 2];
  116941. A = (g + 8) | 0;
  116942. c[y >> 2] = c[A >> 2];
  116943. c[A >> 2] = 0;
  116944. c[x >> 2] = 0;
  116945. c[g >> 2] = 0;
  116946. c[B >> 2] = (c[B >> 2] | 0) + 16;
  116947. } else wB((e + 16) | 0, g);
  116948. RA(g);
  116949. P = s;
  116950. break a;
  116951. break;
  116952. }
  116953. case 70: {
  116954. s = xB(b, d, e) | 0;
  116955. if ((s | 0) == (b | 0)) {
  116956. P = b;
  116957. break a;
  116958. }
  116959. B = c[(e + 4) >> 2] | 0;
  116960. if ((c[e >> 2] | 0) == (B | 0)) {
  116961. P = b;
  116962. break a;
  116963. }
  116964. c[h >> 2] = c[(e + 12) >> 2];
  116965. vB(g, (B + -24) | 0, h);
  116966. B = (e + 20) | 0;
  116967. x = c[B >> 2] | 0;
  116968. if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  116969. c[x >> 2] = 0;
  116970. A = (x + 4) | 0;
  116971. c[A >> 2] = 0;
  116972. y = (x + 8) | 0;
  116973. c[y >> 2] = 0;
  116974. c[(x + 12) >> 2] = c[(g + 12) >> 2];
  116975. c[x >> 2] = c[g >> 2];
  116976. x = (g + 4) | 0;
  116977. c[A >> 2] = c[x >> 2];
  116978. A = (g + 8) | 0;
  116979. c[y >> 2] = c[A >> 2];
  116980. c[A >> 2] = 0;
  116981. c[x >> 2] = 0;
  116982. c[g >> 2] = 0;
  116983. c[B >> 2] = (c[B >> 2] | 0) + 16;
  116984. } else wB((e + 16) | 0, g);
  116985. RA(g);
  116986. P = s;
  116987. break a;
  116988. break;
  116989. }
  116990. case 71: {
  116991. s = (b + 1) | 0;
  116992. B = mB(s, d, e) | 0;
  116993. if ((B | 0) == (s | 0)) {
  116994. P = b;
  116995. break a;
  116996. }
  116997. s = (e + 4) | 0;
  116998. x = c[s >> 2] | 0;
  116999. if ((c[e >> 2] | 0) == (x | 0)) {
  117000. P = b;
  117001. break a;
  117002. }
  117003. qB((x + -24) | 0, 18656) | 0;
  117004. x = ((c[s >> 2] | 0) + -24) | 0;
  117005. c[h >> 2] = c[(e + 12) >> 2];
  117006. vB(g, x, h);
  117007. x = (e + 20) | 0;
  117008. s = c[x >> 2] | 0;
  117009. if (s >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117010. c[s >> 2] = 0;
  117011. A = (s + 4) | 0;
  117012. c[A >> 2] = 0;
  117013. y = (s + 8) | 0;
  117014. c[y >> 2] = 0;
  117015. c[(s + 12) >> 2] = c[(g + 12) >> 2];
  117016. c[s >> 2] = c[g >> 2];
  117017. s = (g + 4) | 0;
  117018. c[A >> 2] = c[s >> 2];
  117019. A = (g + 8) | 0;
  117020. c[y >> 2] = c[A >> 2];
  117021. c[A >> 2] = 0;
  117022. c[s >> 2] = 0;
  117023. c[g >> 2] = 0;
  117024. c[x >> 2] = (c[x >> 2] | 0) + 16;
  117025. } else wB((e + 16) | 0, g);
  117026. RA(g);
  117027. P = B;
  117028. break a;
  117029. break;
  117030. }
  117031. case 77: {
  117032. B = yB(b, d, e) | 0;
  117033. if ((B | 0) == (b | 0)) {
  117034. P = b;
  117035. break a;
  117036. }
  117037. x = c[(e + 4) >> 2] | 0;
  117038. if ((c[e >> 2] | 0) == (x | 0)) {
  117039. P = b;
  117040. break a;
  117041. }
  117042. c[h >> 2] = c[(e + 12) >> 2];
  117043. vB(g, (x + -24) | 0, h);
  117044. x = (e + 20) | 0;
  117045. s = c[x >> 2] | 0;
  117046. if (s >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117047. c[s >> 2] = 0;
  117048. A = (s + 4) | 0;
  117049. c[A >> 2] = 0;
  117050. y = (s + 8) | 0;
  117051. c[y >> 2] = 0;
  117052. c[(s + 12) >> 2] = c[(g + 12) >> 2];
  117053. c[s >> 2] = c[g >> 2];
  117054. s = (g + 4) | 0;
  117055. c[A >> 2] = c[s >> 2];
  117056. A = (g + 8) | 0;
  117057. c[y >> 2] = c[A >> 2];
  117058. c[A >> 2] = 0;
  117059. c[s >> 2] = 0;
  117060. c[g >> 2] = 0;
  117061. c[x >> 2] = (c[x >> 2] | 0) + 16;
  117062. } else wB((e + 16) | 0, g);
  117063. RA(g);
  117064. P = B;
  117065. break a;
  117066. break;
  117067. }
  117068. case 79: {
  117069. B = (e + 4) | 0;
  117070. x =
  117071. ((((c[B >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117072. 24) |
  117073. 0;
  117074. s = (b + 1) | 0;
  117075. A = mB(s, d, e) | 0;
  117076. y =
  117077. ((((c[B >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117078. 24) |
  117079. 0;
  117080. if ((A | 0) == (s | 0)) {
  117081. P = b;
  117082. break a;
  117083. }
  117084. s = c[(e + 12) >> 2] | 0;
  117085. c[g >> 2] = s;
  117086. B = (e + 20) | 0;
  117087. r = c[B >> 2] | 0;
  117088. if (r >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117089. c[r >> 2] = 0;
  117090. c[(r + 4) >> 2] = 0;
  117091. c[(r + 8) >> 2] = 0;
  117092. c[(r + 12) >> 2] = s;
  117093. c[B >> 2] = (c[B >> 2] | 0) + 16;
  117094. } else oB((e + 16) | 0, g);
  117095. s = (g + 11) | 0;
  117096. r = (g + 4) | 0;
  117097. u = x;
  117098. while (1) {
  117099. if (u >>> 0 >= y >>> 0) {
  117100. P = A;
  117101. break a;
  117102. }
  117103. zB(
  117104. g,
  117105. ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
  117106. 2
  117107. );
  117108. x = AB(18667) | 0;
  117109. v = a[s >> 0] | 0;
  117110. if (
  117111. (x | 0) ==
  117112. (((v << 24) >> 24 < 0
  117113. ? c[r >> 2] | 0
  117114. : v & 255) |
  117115. 0)
  117116. )
  117117. Q = (BB(g, 18667, x) | 0) == 0;
  117118. else Q = 0;
  117119. iB(g);
  117120. x = c[e >> 2] | 0;
  117121. v = (x + ((u * 24) | 0)) | 0;
  117122. if (!Q) {
  117123. t = (x + ((u * 24) | 0) + 12) | 0;
  117124. if ((a[(t + 11) >> 0] | 0) < 0)
  117125. R = c[t >> 2] | 0;
  117126. else R = t;
  117127. if ((a[R >> 0] | 0) == 40) {
  117128. qB(v, 18675) | 0;
  117129. pB(
  117130. ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) |
  117131. 0,
  117132. 0,
  117133. 18673
  117134. ) | 0;
  117135. }
  117136. } else {
  117137. qB(v, 18670) | 0;
  117138. pB(
  117139. ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
  117140. 0,
  117141. 18673
  117142. ) | 0;
  117143. }
  117144. qB(
  117145. ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0,
  117146. 18677
  117147. ) | 0;
  117148. v = c[B >> 2] | 0;
  117149. t = ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0;
  117150. x = (v + -12) | 0;
  117151. w = c[x >> 2] | 0;
  117152. if ((w | 0) == (c[(v + -8) >> 2] | 0))
  117153. sB((v + -16) | 0, t);
  117154. else {
  117155. rB(w, t);
  117156. c[x >> 2] = (c[x >> 2] | 0) + 24;
  117157. }
  117158. u = (u + 1) | 0;
  117159. }
  117160. break;
  117161. }
  117162. case 80: {
  117163. u = (e + 4) | 0;
  117164. B =
  117165. ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117166. 24) |
  117167. 0;
  117168. r = (b + 1) | 0;
  117169. s = mB(r, d, e) | 0;
  117170. A =
  117171. ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117172. 24) |
  117173. 0;
  117174. if ((s | 0) == (r | 0)) {
  117175. P = b;
  117176. break a;
  117177. }
  117178. u = c[(e + 12) >> 2] | 0;
  117179. c[g >> 2] = u;
  117180. y = (e + 20) | 0;
  117181. x = c[y >> 2] | 0;
  117182. if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117183. c[x >> 2] = 0;
  117184. c[(x + 4) >> 2] = 0;
  117185. c[(x + 8) >> 2] = 0;
  117186. c[(x + 12) >> 2] = u;
  117187. c[y >> 2] = (c[y >> 2] | 0) + 16;
  117188. } else oB((e + 16) | 0, g);
  117189. u = (g + 11) | 0;
  117190. x = (g + 4) | 0;
  117191. t = (g + 11) | 0;
  117192. w = (g + 4) | 0;
  117193. v = B;
  117194. while (1) {
  117195. if (v >>> 0 >= A >>> 0) {
  117196. P = s;
  117197. break a;
  117198. }
  117199. zB(
  117200. g,
  117201. ((c[e >> 2] | 0) + ((v * 24) | 0) + 12) | 0,
  117202. 2
  117203. );
  117204. B = AB(18667) | 0;
  117205. F = a[u >> 0] | 0;
  117206. if (
  117207. (B | 0) ==
  117208. (((F << 24) >> 24 < 0
  117209. ? c[x >> 2] | 0
  117210. : F & 255) |
  117211. 0)
  117212. )
  117213. S = (BB(g, 18667, B) | 0) == 0;
  117214. else S = 0;
  117215. iB(g);
  117216. B = c[e >> 2] | 0;
  117217. F = (B + ((v * 24) | 0)) | 0;
  117218. if (!S) {
  117219. J = (B + ((v * 24) | 0) + 12) | 0;
  117220. if ((a[(J + 11) >> 0] | 0) < 0)
  117221. T = c[J >> 2] | 0;
  117222. else T = J;
  117223. if ((a[T >> 0] | 0) == 40) {
  117224. qB(F, 18675) | 0;
  117225. pB(
  117226. ((c[e >> 2] | 0) + ((v * 24) | 0) + 12) |
  117227. 0,
  117228. 0,
  117229. 18673
  117230. ) | 0;
  117231. }
  117232. } else {
  117233. qB(F, 18670) | 0;
  117234. pB(
  117235. ((c[e >> 2] | 0) + ((v * 24) | 0) + 12) | 0,
  117236. 0,
  117237. 18673
  117238. ) | 0;
  117239. }
  117240. if ((a[r >> 0] | 0) == 85) {
  117241. zB(
  117242. g,
  117243. ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0,
  117244. 12
  117245. );
  117246. F = AB(18680) | 0;
  117247. J = a[t >> 0] | 0;
  117248. if (
  117249. (F | 0) ==
  117250. (((J << 24) >> 24 < 0
  117251. ? c[w >> 2] | 0
  117252. : J & 255) |
  117253. 0)
  117254. )
  117255. U = (BB(g, 18680, F) | 0) != 0;
  117256. else U = 1;
  117257. iB(g);
  117258. F = ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0;
  117259. if (U) {
  117260. V = F;
  117261. W = 113;
  117262. } else CB(F);
  117263. } else {
  117264. V = ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0;
  117265. W = 113;
  117266. }
  117267. if ((W | 0) == 113) {
  117268. W = 0;
  117269. qB(V, 18693) | 0;
  117270. }
  117271. F = c[y >> 2] | 0;
  117272. J = ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0;
  117273. B = (F + -12) | 0;
  117274. D = c[B >> 2] | 0;
  117275. if ((D | 0) == (c[(F + -8) >> 2] | 0))
  117276. sB((F + -16) | 0, J);
  117277. else {
  117278. rB(D, J);
  117279. c[B >> 2] = (c[B >> 2] | 0) + 24;
  117280. }
  117281. v = (v + 1) | 0;
  117282. }
  117283. break;
  117284. }
  117285. case 82: {
  117286. v = (e + 4) | 0;
  117287. y =
  117288. ((((c[v >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117289. 24) |
  117290. 0;
  117291. w = (b + 1) | 0;
  117292. t = mB(w, d, e) | 0;
  117293. r =
  117294. ((((c[v >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117295. 24) |
  117296. 0;
  117297. if ((t | 0) == (w | 0)) {
  117298. P = b;
  117299. break a;
  117300. }
  117301. w = c[(e + 12) >> 2] | 0;
  117302. c[g >> 2] = w;
  117303. v = (e + 20) | 0;
  117304. x = c[v >> 2] | 0;
  117305. if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117306. c[x >> 2] = 0;
  117307. c[(x + 4) >> 2] = 0;
  117308. c[(x + 8) >> 2] = 0;
  117309. c[(x + 12) >> 2] = w;
  117310. c[v >> 2] = (c[v >> 2] | 0) + 16;
  117311. } else oB((e + 16) | 0, g);
  117312. w = (g + 11) | 0;
  117313. x = (g + 4) | 0;
  117314. u = y;
  117315. while (1) {
  117316. if (u >>> 0 >= r >>> 0) {
  117317. P = t;
  117318. break a;
  117319. }
  117320. zB(
  117321. g,
  117322. ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
  117323. 2
  117324. );
  117325. y = AB(18667) | 0;
  117326. s = a[w >> 0] | 0;
  117327. if (
  117328. (y | 0) ==
  117329. (((s << 24) >> 24 < 0
  117330. ? c[x >> 2] | 0
  117331. : s & 255) |
  117332. 0)
  117333. )
  117334. X = (BB(g, 18667, y) | 0) == 0;
  117335. else X = 0;
  117336. iB(g);
  117337. y = c[e >> 2] | 0;
  117338. s = (y + ((u * 24) | 0)) | 0;
  117339. if (!X) {
  117340. A = (y + ((u * 24) | 0) + 12) | 0;
  117341. if ((a[(A + 11) >> 0] | 0) < 0)
  117342. Y = c[A >> 2] | 0;
  117343. else Y = A;
  117344. if ((a[Y >> 0] | 0) == 40) {
  117345. qB(s, 18675) | 0;
  117346. pB(
  117347. ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) |
  117348. 0,
  117349. 0,
  117350. 18673
  117351. ) | 0;
  117352. }
  117353. } else {
  117354. qB(s, 18670) | 0;
  117355. pB(
  117356. ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
  117357. 0,
  117358. 18673
  117359. ) | 0;
  117360. }
  117361. qB(
  117362. ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0,
  117363. 18695
  117364. ) | 0;
  117365. s = c[v >> 2] | 0;
  117366. A = ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0;
  117367. y = (s + -12) | 0;
  117368. B = c[y >> 2] | 0;
  117369. if ((B | 0) == (c[(s + -8) >> 2] | 0))
  117370. sB((s + -16) | 0, A);
  117371. else {
  117372. rB(B, A);
  117373. c[y >> 2] = (c[y >> 2] | 0) + 24;
  117374. }
  117375. u = (u + 1) | 0;
  117376. }
  117377. break;
  117378. }
  117379. case 84: {
  117380. u = (e + 4) | 0;
  117381. v =
  117382. ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117383. 24) |
  117384. 0;
  117385. x = DB(b, d, e) | 0;
  117386. w =
  117387. ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  117388. 24) |
  117389. 0;
  117390. if ((x | 0) == (b | 0)) {
  117391. P = b;
  117392. break a;
  117393. }
  117394. t = (e + 16) | 0;
  117395. r = (e + 12) | 0;
  117396. y = c[r >> 2] | 0;
  117397. c[g >> 2] = y;
  117398. A = (e + 20) | 0;
  117399. B = c[A >> 2] | 0;
  117400. s = (e + 24) | 0;
  117401. if (B >>> 0 < (c[s >> 2] | 0) >>> 0) {
  117402. c[B >> 2] = 0;
  117403. c[(B + 4) >> 2] = 0;
  117404. c[(B + 8) >> 2] = 0;
  117405. c[(B + 12) >> 2] = y;
  117406. c[A >> 2] = (c[A >> 2] | 0) + 16;
  117407. } else oB(t, g);
  117408. y = v;
  117409. while (1) {
  117410. if (y >>> 0 >= w >>> 0) break;
  117411. B = c[A >> 2] | 0;
  117412. J = ((c[e >> 2] | 0) + ((y * 24) | 0)) | 0;
  117413. D = (B + -12) | 0;
  117414. F = c[D >> 2] | 0;
  117415. if ((F | 0) == (c[(B + -8) >> 2] | 0))
  117416. sB((B + -16) | 0, J);
  117417. else {
  117418. rB(F, J);
  117419. c[D >> 2] = (c[D >> 2] | 0) + 24;
  117420. }
  117421. y = (y + 1) | 0;
  117422. }
  117423. if (
  117424. !(
  117425. ((w | 0) == ((v + 1) | 0)) &
  117426. ((a[(e + 63) >> 0] | 0) != 0)
  117427. )
  117428. ) {
  117429. P = x;
  117430. break a;
  117431. }
  117432. y = EB(x, d, e) | 0;
  117433. if ((y | 0) == (x | 0)) {
  117434. P = x;
  117435. break a;
  117436. }
  117437. FB(g, ((c[u >> 2] | 0) + -24) | 0);
  117438. D = c[u >> 2] | 0;
  117439. J = 0;
  117440. while (1) {
  117441. if ((J | 0) == -1) break;
  117442. F = (J + -1) | 0;
  117443. QA((D + ((F * 24) | 0)) | 0);
  117444. J = F;
  117445. }
  117446. c[u >> 2] = D + -24;
  117447. J = a[(g + 11) >> 0] | 0;
  117448. x = (J << 24) >> 24 < 0;
  117449. TA(
  117450. (D + -48) | 0,
  117451. x ? c[g >> 2] | 0 : g,
  117452. x ? c[(g + 4) >> 2] | 0 : J & 255
  117453. ) | 0;
  117454. J = ((c[u >> 2] | 0) + -24) | 0;
  117455. c[i >> 2] = c[r >> 2];
  117456. vB(h, J, i);
  117457. J = c[A >> 2] | 0;
  117458. if (J >>> 0 < (c[s >> 2] | 0) >>> 0) {
  117459. c[J >> 2] = 0;
  117460. x = (J + 4) | 0;
  117461. c[x >> 2] = 0;
  117462. v = (J + 8) | 0;
  117463. c[v >> 2] = 0;
  117464. c[(J + 12) >> 2] = c[(h + 12) >> 2];
  117465. c[J >> 2] = c[h >> 2];
  117466. J = (h + 4) | 0;
  117467. c[x >> 2] = c[J >> 2];
  117468. x = (h + 8) | 0;
  117469. c[v >> 2] = c[x >> 2];
  117470. c[x >> 2] = 0;
  117471. c[J >> 2] = 0;
  117472. c[h >> 2] = 0;
  117473. c[A >> 2] = (c[A >> 2] | 0) + 16;
  117474. } else wB(t, h);
  117475. RA(h);
  117476. iB(g);
  117477. P = y;
  117478. break a;
  117479. break;
  117480. }
  117481. case 85: {
  117482. J = (b + 1) | 0;
  117483. if ((J | 0) == (d | 0)) {
  117484. P = b;
  117485. break a;
  117486. }
  117487. x = GB(J, d, e) | 0;
  117488. if ((x | 0) == (J | 0)) {
  117489. P = b;
  117490. break a;
  117491. }
  117492. J = mB(x, d, e) | 0;
  117493. if ((J | 0) == (x | 0)) {
  117494. P = b;
  117495. break a;
  117496. }
  117497. x = (e + 4) | 0;
  117498. v = c[x >> 2] | 0;
  117499. if (
  117500. ((((v - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  117501. 2
  117502. ) {
  117503. P = b;
  117504. break a;
  117505. }
  117506. FB(g, (v + -24) | 0);
  117507. v = c[x >> 2] | 0;
  117508. w = 0;
  117509. while (1) {
  117510. if ((w | 0) == -1) break;
  117511. F = (w + -1) | 0;
  117512. QA((v + ((F * 24) | 0)) | 0);
  117513. w = F;
  117514. }
  117515. c[x >> 2] = v + -24;
  117516. zB(h, (v + -48) | 0, 9);
  117517. w = AB(18697) | 0;
  117518. y = a[(h + 11) >> 0] | 0;
  117519. if (
  117520. (w | 0) ==
  117521. (((y << 24) >> 24 < 0
  117522. ? c[(h + 4) >> 2] | 0
  117523. : y & 255) |
  117524. 0)
  117525. ) {
  117526. y = (BB(h, 18697, w) | 0) == 0;
  117527. iB(h);
  117528. if (y) {
  117529. FB(h, ((c[x >> 2] | 0) + -24) | 0);
  117530. y = c[x >> 2] | 0;
  117531. w = 0;
  117532. while (1) {
  117533. if ((w | 0) == -1) break;
  117534. t = (w + -1) | 0;
  117535. QA((y + ((t * 24) | 0)) | 0);
  117536. w = t;
  117537. }
  117538. c[x >> 2] = y + -24;
  117539. w = (h + 11) | 0;
  117540. v = a[w >> 0] | 0;
  117541. t = (v << 24) >> 24 < 0;
  117542. A = (h + 4) | 0;
  117543. s = t ? c[h >> 2] | 0 : h;
  117544. r =
  117545. GB(
  117546. (s + 9) | 0,
  117547. (s + (t ? c[A >> 2] | 0 : v & 255)) | 0,
  117548. e
  117549. ) | 0;
  117550. if (
  117551. (r | 0) ==
  117552. ((((a[w >> 0] | 0) < 0
  117553. ? c[h >> 2] | 0
  117554. : h) +
  117555. 9) |
  117556. 0)
  117557. ) {
  117558. HB(k, g, 18707);
  117559. r = a[w >> 0] | 0;
  117560. w = (r << 24) >> 24 < 0;
  117561. TA(
  117562. k,
  117563. w ? c[h >> 2] | 0 : h,
  117564. w ? c[A >> 2] | 0 : r & 255
  117565. ) | 0;
  117566. c[p >> 2] = c[k >> 2];
  117567. c[(p + 4) >> 2] = c[(k + 4) >> 2];
  117568. c[(p + 8) >> 2] = c[(k + 8) >> 2];
  117569. r = 0;
  117570. while (1) {
  117571. if ((r | 0) == 3) break;
  117572. c[(k + (r << 2)) >> 2] = 0;
  117573. r = (r + 1) | 0;
  117574. }
  117575. IB(i, p);
  117576. r = c[x >> 2] | 0;
  117577. if (r >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  117578. KB(r, i);
  117579. c[x >> 2] = (c[x >> 2] | 0) + 24;
  117580. } else LB(e, i);
  117581. QA(i);
  117582. iB(p);
  117583. iB(k);
  117584. } else {
  117585. HB(n, g, 18709);
  117586. FB(o, ((c[x >> 2] | 0) + -24) | 0);
  117587. r = a[(o + 11) >> 0] | 0;
  117588. y = (r << 24) >> 24 < 0;
  117589. TA(
  117590. n,
  117591. y ? c[o >> 2] | 0 : o,
  117592. y ? c[(o + 4) >> 2] | 0 : r & 255
  117593. ) | 0;
  117594. c[k >> 2] = c[n >> 2];
  117595. c[(k + 4) >> 2] = c[(n + 4) >> 2];
  117596. c[(k + 8) >> 2] = c[(n + 8) >> 2];
  117597. r = 0;
  117598. while (1) {
  117599. if ((r | 0) == 3) break;
  117600. c[(n + (r << 2)) >> 2] = 0;
  117601. r = (r + 1) | 0;
  117602. }
  117603. qB(k, 18711) | 0;
  117604. c[m >> 2] = c[k >> 2];
  117605. c[(m + 4) >> 2] = c[(k + 4) >> 2];
  117606. c[(m + 8) >> 2] = c[(k + 8) >> 2];
  117607. r = 0;
  117608. while (1) {
  117609. if ((r | 0) == 3) break;
  117610. c[(k + (r << 2)) >> 2] = 0;
  117611. r = (r + 1) | 0;
  117612. }
  117613. IB(i, m);
  117614. JB(((c[x >> 2] | 0) + -24) | 0, i);
  117615. QA(i);
  117616. iB(m);
  117617. iB(k);
  117618. iB(o);
  117619. iB(n);
  117620. }
  117621. iB(h);
  117622. } else W = 167;
  117623. } else {
  117624. iB(h);
  117625. W = 167;
  117626. }
  117627. if ((W | 0) == 167) {
  117628. HB(i, g, 18707);
  117629. FB(k, ((c[x >> 2] | 0) + -24) | 0);
  117630. r = a[(k + 11) >> 0] | 0;
  117631. y = (r << 24) >> 24 < 0;
  117632. TA(
  117633. i,
  117634. y ? c[k >> 2] | 0 : k,
  117635. y ? c[(k + 4) >> 2] | 0 : r & 255
  117636. ) | 0;
  117637. c[j >> 2] = c[i >> 2];
  117638. c[(j + 4) >> 2] = c[(i + 4) >> 2];
  117639. c[(j + 8) >> 2] = c[(i + 8) >> 2];
  117640. r = 0;
  117641. while (1) {
  117642. if ((r | 0) == 3) break;
  117643. c[(i + (r << 2)) >> 2] = 0;
  117644. r = (r + 1) | 0;
  117645. }
  117646. IB(h, j);
  117647. JB(((c[x >> 2] | 0) + -24) | 0, h);
  117648. QA(h);
  117649. iB(j);
  117650. iB(k);
  117651. iB(i);
  117652. }
  117653. r = ((c[x >> 2] | 0) + -24) | 0;
  117654. c[i >> 2] = c[(e + 12) >> 2];
  117655. vB(h, r, i);
  117656. r = (e + 20) | 0;
  117657. y = c[r >> 2] | 0;
  117658. if (y >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117659. c[y >> 2] = 0;
  117660. A = (y + 4) | 0;
  117661. c[A >> 2] = 0;
  117662. w = (y + 8) | 0;
  117663. c[w >> 2] = 0;
  117664. c[(y + 12) >> 2] = c[(h + 12) >> 2];
  117665. c[y >> 2] = c[h >> 2];
  117666. y = (h + 4) | 0;
  117667. c[A >> 2] = c[y >> 2];
  117668. A = (h + 8) | 0;
  117669. c[w >> 2] = c[A >> 2];
  117670. c[A >> 2] = 0;
  117671. c[y >> 2] = 0;
  117672. c[h >> 2] = 0;
  117673. c[r >> 2] = (c[r >> 2] | 0) + 16;
  117674. } else wB((e + 16) | 0, h);
  117675. RA(h);
  117676. iB(g);
  117677. P = J;
  117678. break a;
  117679. break;
  117680. }
  117681. case 83: {
  117682. r = (b + 1) | 0;
  117683. if (
  117684. (r | 0) != (d | 0) ? (a[r >> 0] | 0) == 116 : 0
  117685. ) {
  117686. r = MB(b, d, e) | 0;
  117687. if ((r | 0) == (b | 0)) {
  117688. P = b;
  117689. break a;
  117690. }
  117691. y = c[(e + 4) >> 2] | 0;
  117692. if ((c[e >> 2] | 0) == (y | 0)) {
  117693. P = b;
  117694. break a;
  117695. }
  117696. c[h >> 2] = c[(e + 12) >> 2];
  117697. vB(g, (y + -24) | 0, h);
  117698. y = (e + 20) | 0;
  117699. A = c[y >> 2] | 0;
  117700. if (A >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117701. c[A >> 2] = 0;
  117702. w = (A + 4) | 0;
  117703. c[w >> 2] = 0;
  117704. v = (A + 8) | 0;
  117705. c[v >> 2] = 0;
  117706. c[(A + 12) >> 2] = c[(g + 12) >> 2];
  117707. c[A >> 2] = c[g >> 2];
  117708. A = (g + 4) | 0;
  117709. c[w >> 2] = c[A >> 2];
  117710. w = (g + 8) | 0;
  117711. c[v >> 2] = c[w >> 2];
  117712. c[w >> 2] = 0;
  117713. c[A >> 2] = 0;
  117714. c[g >> 2] = 0;
  117715. c[y >> 2] = (c[y >> 2] | 0) + 16;
  117716. } else wB((e + 16) | 0, g);
  117717. RA(g);
  117718. P = r;
  117719. break a;
  117720. }
  117721. r = NB(b, d, e) | 0;
  117722. if ((r | 0) == (b | 0)) {
  117723. P = b;
  117724. break a;
  117725. }
  117726. y = EB(r, d, e) | 0;
  117727. if ((y | 0) == (r | 0)) {
  117728. P = r;
  117729. break a;
  117730. }
  117731. A = (e + 4) | 0;
  117732. w = c[A >> 2] | 0;
  117733. if (
  117734. ((((w - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  117735. 2
  117736. ) {
  117737. P = r;
  117738. break a;
  117739. }
  117740. FB(g, (w + -24) | 0);
  117741. w = c[A >> 2] | 0;
  117742. r = 0;
  117743. while (1) {
  117744. if ((r | 0) == -1) break;
  117745. v = (r + -1) | 0;
  117746. QA((w + ((v * 24) | 0)) | 0);
  117747. r = v;
  117748. }
  117749. c[A >> 2] = w + -24;
  117750. r = a[(g + 11) >> 0] | 0;
  117751. J = (r << 24) >> 24 < 0;
  117752. TA(
  117753. (w + -48) | 0,
  117754. J ? c[g >> 2] | 0 : g,
  117755. J ? c[(g + 4) >> 2] | 0 : r & 255
  117756. ) | 0;
  117757. r = ((c[A >> 2] | 0) + -24) | 0;
  117758. c[i >> 2] = c[(e + 12) >> 2];
  117759. vB(h, r, i);
  117760. r = (e + 20) | 0;
  117761. J = c[r >> 2] | 0;
  117762. if (J >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117763. c[J >> 2] = 0;
  117764. x = (J + 4) | 0;
  117765. c[x >> 2] = 0;
  117766. v = (J + 8) | 0;
  117767. c[v >> 2] = 0;
  117768. c[(J + 12) >> 2] = c[(h + 12) >> 2];
  117769. c[J >> 2] = c[h >> 2];
  117770. J = (h + 4) | 0;
  117771. c[x >> 2] = c[J >> 2];
  117772. x = (h + 8) | 0;
  117773. c[v >> 2] = c[x >> 2];
  117774. c[x >> 2] = 0;
  117775. c[J >> 2] = 0;
  117776. c[h >> 2] = 0;
  117777. c[r >> 2] = (c[r >> 2] | 0) + 16;
  117778. } else wB((e + 16) | 0, h);
  117779. RA(h);
  117780. iB(g);
  117781. P = y;
  117782. break a;
  117783. break;
  117784. }
  117785. case 68: {
  117786. r = (b + 1) | 0;
  117787. if ((r | 0) != (d | 0))
  117788. switch (a[r >> 0] | 0) {
  117789. case 112: {
  117790. r = (e + 4) | 0;
  117791. J =
  117792. ((((c[r >> 2] | 0) - (c[e >> 2] | 0)) |
  117793. 0) /
  117794. 24) |
  117795. 0;
  117796. x = (b + 2) | 0;
  117797. v = mB(x, d, e) | 0;
  117798. t =
  117799. ((((c[r >> 2] | 0) - (c[e >> 2] | 0)) |
  117800. 0) /
  117801. 24) |
  117802. 0;
  117803. if ((v | 0) == (x | 0)) break c;
  117804. x = c[(e + 12) >> 2] | 0;
  117805. c[g >> 2] = x;
  117806. r = (e + 20) | 0;
  117807. s = c[r >> 2] | 0;
  117808. if (
  117809. s >>> 0 <
  117810. (c[(e + 24) >> 2] | 0) >>> 0
  117811. ) {
  117812. c[s >> 2] = 0;
  117813. c[(s + 4) >> 2] = 0;
  117814. c[(s + 8) >> 2] = 0;
  117815. c[(s + 12) >> 2] = x;
  117816. c[r >> 2] = (c[r >> 2] | 0) + 16;
  117817. } else oB((e + 16) | 0, g);
  117818. x = J;
  117819. while (1) {
  117820. if (x >>> 0 >= t >>> 0) {
  117821. P = v;
  117822. break a;
  117823. }
  117824. J = c[r >> 2] | 0;
  117825. s =
  117826. ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0;
  117827. u = (J + -12) | 0;
  117828. D = c[u >> 2] | 0;
  117829. if ((D | 0) == (c[(J + -8) >> 2] | 0))
  117830. sB((J + -16) | 0, s);
  117831. else {
  117832. rB(D, s);
  117833. c[u >> 2] = (c[u >> 2] | 0) + 24;
  117834. }
  117835. x = (x + 1) | 0;
  117836. }
  117837. break;
  117838. }
  117839. case 84:
  117840. case 116: {
  117841. x = OB(b, d, e) | 0;
  117842. if ((x | 0) == (b | 0)) break c;
  117843. r = c[(e + 4) >> 2] | 0;
  117844. if ((c[e >> 2] | 0) == (r | 0)) {
  117845. P = b;
  117846. break a;
  117847. }
  117848. c[h >> 2] = c[(e + 12) >> 2];
  117849. vB(g, (r + -24) | 0, h);
  117850. r = (e + 20) | 0;
  117851. v = c[r >> 2] | 0;
  117852. if (
  117853. v >>> 0 <
  117854. (c[(e + 24) >> 2] | 0) >>> 0
  117855. ) {
  117856. c[v >> 2] = 0;
  117857. t = (v + 4) | 0;
  117858. c[t >> 2] = 0;
  117859. y = (v + 8) | 0;
  117860. c[y >> 2] = 0;
  117861. c[(v + 12) >> 2] = c[(g + 12) >> 2];
  117862. c[v >> 2] = c[g >> 2];
  117863. v = (g + 4) | 0;
  117864. c[t >> 2] = c[v >> 2];
  117865. t = (g + 8) | 0;
  117866. c[y >> 2] = c[t >> 2];
  117867. c[t >> 2] = 0;
  117868. c[v >> 2] = 0;
  117869. c[g >> 2] = 0;
  117870. c[r >> 2] = (c[r >> 2] | 0) + 16;
  117871. } else wB((e + 16) | 0, g);
  117872. RA(g);
  117873. P = x;
  117874. break a;
  117875. break;
  117876. }
  117877. case 118: {
  117878. x = PB(b, d, e) | 0;
  117879. if ((x | 0) == (b | 0)) break c;
  117880. r = c[(e + 4) >> 2] | 0;
  117881. if ((c[e >> 2] | 0) == (r | 0)) {
  117882. P = b;
  117883. break a;
  117884. }
  117885. c[h >> 2] = c[(e + 12) >> 2];
  117886. vB(g, (r + -24) | 0, h);
  117887. r = (e + 20) | 0;
  117888. v = c[r >> 2] | 0;
  117889. if (
  117890. v >>> 0 <
  117891. (c[(e + 24) >> 2] | 0) >>> 0
  117892. ) {
  117893. c[v >> 2] = 0;
  117894. t = (v + 4) | 0;
  117895. c[t >> 2] = 0;
  117896. y = (v + 8) | 0;
  117897. c[y >> 2] = 0;
  117898. c[(v + 12) >> 2] = c[(g + 12) >> 2];
  117899. c[v >> 2] = c[g >> 2];
  117900. v = (g + 4) | 0;
  117901. c[t >> 2] = c[v >> 2];
  117902. t = (g + 8) | 0;
  117903. c[y >> 2] = c[t >> 2];
  117904. c[t >> 2] = 0;
  117905. c[v >> 2] = 0;
  117906. c[g >> 2] = 0;
  117907. c[r >> 2] = (c[r >> 2] | 0) + 16;
  117908. } else wB((e + 16) | 0, g);
  117909. RA(g);
  117910. P = x;
  117911. break a;
  117912. break;
  117913. }
  117914. default:
  117915. break c;
  117916. }
  117917. break;
  117918. }
  117919. default: {
  117920. }
  117921. }
  117922. } while (0);
  117923. x = tB(b, d, e) | 0;
  117924. if ((x | 0) == (b | 0)) {
  117925. r = MB(b, d, e) | 0;
  117926. if (
  117927. (r | 0) != (b | 0)
  117928. ? ((v = c[(e + 4) >> 2] | 0),
  117929. (c[e >> 2] | 0) != (v | 0))
  117930. : 0
  117931. ) {
  117932. c[h >> 2] = c[(e + 12) >> 2];
  117933. vB(g, (v + -24) | 0, h);
  117934. v = (e + 20) | 0;
  117935. t = c[v >> 2] | 0;
  117936. if (t >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  117937. c[t >> 2] = 0;
  117938. y = (t + 4) | 0;
  117939. c[y >> 2] = 0;
  117940. A = (t + 8) | 0;
  117941. c[A >> 2] = 0;
  117942. c[(t + 12) >> 2] = c[(g + 12) >> 2];
  117943. c[t >> 2] = c[g >> 2];
  117944. t = (g + 4) | 0;
  117945. c[y >> 2] = c[t >> 2];
  117946. y = (g + 8) | 0;
  117947. c[A >> 2] = c[y >> 2];
  117948. c[y >> 2] = 0;
  117949. c[t >> 2] = 0;
  117950. c[g >> 2] = 0;
  117951. c[v >> 2] = (c[v >> 2] | 0) + 16;
  117952. } else wB((e + 16) | 0, g);
  117953. RA(g);
  117954. P = r;
  117955. } else P = b;
  117956. } else P = x;
  117957. } else P = q;
  117958. } else P = b;
  117959. } while (0);
  117960. l = f;
  117961. return P | 0;
  117962. }
  117963. function nB(b, d, e) {
  117964. b = b | 0;
  117965. d = d | 0;
  117966. e = e | 0;
  117967. var f = 0,
  117968. g = 0,
  117969. h = 0,
  117970. i = 0,
  117971. j = 0,
  117972. k = 0,
  117973. l = 0,
  117974. m = 0;
  117975. c[e >> 2] = 0;
  117976. if ((b | 0) != (d | 0)) {
  117977. d = a[b >> 0] | 0;
  117978. if ((d << 24) >> 24 == 114) {
  117979. c[e >> 2] = 4;
  117980. f = (b + 1) | 0;
  117981. g = f;
  117982. h = 4;
  117983. i = a[f >> 0] | 0;
  117984. } else {
  117985. g = b;
  117986. h = 0;
  117987. i = d;
  117988. }
  117989. if ((i << 24) >> 24 == 86) {
  117990. d = h | 2;
  117991. c[e >> 2] = d;
  117992. f = (g + 1) | 0;
  117993. j = f;
  117994. k = a[f >> 0] | 0;
  117995. l = d;
  117996. } else {
  117997. j = g;
  117998. k = i;
  117999. l = h;
  118000. }
  118001. if ((k << 24) >> 24 == 75) {
  118002. c[e >> 2] = l | 1;
  118003. m = (j + 1) | 0;
  118004. } else m = j;
  118005. } else m = b;
  118006. return m | 0;
  118007. }
  118008. function oB(a, b) {
  118009. a = a | 0;
  118010. b = b | 0;
  118011. var d = 0,
  118012. e = 0,
  118013. f = 0,
  118014. g = 0,
  118015. h = 0,
  118016. i = 0,
  118017. j = 0,
  118018. k = 0;
  118019. d = l;
  118020. l = (l + 32) | 0;
  118021. e = d;
  118022. f = (a + 4) | 0;
  118023. g = ((((c[f >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
  118024. h = AD(a) | 0;
  118025. if (h >>> 0 < g >>> 0) Wz(a);
  118026. else {
  118027. i = c[a >> 2] | 0;
  118028. j = ((c[(a + 8) >> 2] | 0) - i) | 0;
  118029. k = j >> 3;
  118030. BD(
  118031. e,
  118032. (j >> 4) >>> 0 < (h >>> 1) >>> 0
  118033. ? k >>> 0 < g >>> 0
  118034. ? g
  118035. : k
  118036. : h,
  118037. ((c[f >> 2] | 0) - i) >> 4,
  118038. (a + 12) | 0
  118039. );
  118040. i = (e + 8) | 0;
  118041. f = c[i >> 2] | 0;
  118042. c[f >> 2] = 0;
  118043. c[(f + 4) >> 2] = 0;
  118044. c[(f + 8) >> 2] = 0;
  118045. c[(f + 12) >> 2] = c[b >> 2];
  118046. c[i >> 2] = f + 16;
  118047. CD(a, e);
  118048. DD(e);
  118049. l = d;
  118050. return;
  118051. }
  118052. }
  118053. function pB(a, b, c) {
  118054. a = a | 0;
  118055. b = b | 0;
  118056. c = c | 0;
  118057. return zD(a, b, c, AB(c) | 0) | 0;
  118058. }
  118059. function qB(a, b) {
  118060. a = a | 0;
  118061. b = b | 0;
  118062. return TA(a, b, AB(b) | 0) | 0;
  118063. }
  118064. function rB(a, b) {
  118065. a = a | 0;
  118066. b = b | 0;
  118067. TC(a, b);
  118068. TC((a + 12) | 0, (b + 12) | 0);
  118069. return;
  118070. }
  118071. function sB(a, b) {
  118072. a = a | 0;
  118073. b = b | 0;
  118074. var d = 0,
  118075. e = 0,
  118076. f = 0,
  118077. g = 0,
  118078. h = 0,
  118079. i = 0,
  118080. j = 0,
  118081. k = 0;
  118082. d = l;
  118083. l = (l + 32) | 0;
  118084. e = d;
  118085. f = (a + 4) | 0;
  118086. g =
  118087. ((((((c[f >> 2] | 0) - (c[a >> 2] | 0)) | 0) / 24) | 0) +
  118088. 1) |
  118089. 0;
  118090. h = XC(a) | 0;
  118091. if (h >>> 0 < g >>> 0) Wz(a);
  118092. else {
  118093. i = c[a >> 2] | 0;
  118094. j = ((((c[(a + 8) >> 2] | 0) - i) | 0) / 24) | 0;
  118095. k = j << 1;
  118096. YC(
  118097. e,
  118098. j >>> 0 < (h >>> 1) >>> 0
  118099. ? k >>> 0 < g >>> 0
  118100. ? g
  118101. : k
  118102. : h,
  118103. ((((c[f >> 2] | 0) - i) | 0) / 24) | 0,
  118104. (a + 12) | 0
  118105. );
  118106. i = (e + 8) | 0;
  118107. f = c[i >> 2] | 0;
  118108. rB(f, b);
  118109. c[i >> 2] = f + 24;
  118110. ZC(a, e);
  118111. _C(e);
  118112. l = d;
  118113. return;
  118114. }
  118115. }
  118116. function tB(b, d, e) {
  118117. b = b | 0;
  118118. d = d | 0;
  118119. e = e | 0;
  118120. var f = 0,
  118121. g = 0,
  118122. h = 0,
  118123. i = 0,
  118124. j = 0;
  118125. f = l;
  118126. l = (l + 32) | 0;
  118127. g = f;
  118128. a: do {
  118129. if ((b | 0) == (d | 0)) h = b;
  118130. else
  118131. do {
  118132. switch (a[b >> 0] | 0) {
  118133. case 118: {
  118134. cD(g, 20112);
  118135. i = (e + 4) | 0;
  118136. j = c[i >> 2] | 0;
  118137. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118138. KB(j, g);
  118139. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118140. } else LB(e, g);
  118141. QA(g);
  118142. h = (b + 1) | 0;
  118143. break a;
  118144. break;
  118145. }
  118146. case 119: {
  118147. HD(g);
  118148. i = (e + 4) | 0;
  118149. j = c[i >> 2] | 0;
  118150. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118151. KB(j, g);
  118152. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118153. } else LB(e, g);
  118154. QA(g);
  118155. h = (b + 1) | 0;
  118156. break a;
  118157. break;
  118158. }
  118159. case 98: {
  118160. cD(g, 20117);
  118161. i = (e + 4) | 0;
  118162. j = c[i >> 2] | 0;
  118163. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118164. KB(j, g);
  118165. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118166. } else LB(e, g);
  118167. QA(g);
  118168. h = (b + 1) | 0;
  118169. break a;
  118170. break;
  118171. }
  118172. case 99: {
  118173. cD(g, 19886);
  118174. i = (e + 4) | 0;
  118175. j = c[i >> 2] | 0;
  118176. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118177. KB(j, g);
  118178. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118179. } else LB(e, g);
  118180. QA(g);
  118181. h = (b + 1) | 0;
  118182. break a;
  118183. break;
  118184. }
  118185. case 97: {
  118186. JC(g, 19891);
  118187. i = (e + 4) | 0;
  118188. j = c[i >> 2] | 0;
  118189. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118190. KB(j, g);
  118191. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118192. } else LB(e, g);
  118193. QA(g);
  118194. h = (b + 1) | 0;
  118195. break a;
  118196. break;
  118197. }
  118198. case 104: {
  118199. gD(g, 19903);
  118200. i = (e + 4) | 0;
  118201. j = c[i >> 2] | 0;
  118202. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118203. KB(j, g);
  118204. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118205. } else LB(e, g);
  118206. QA(g);
  118207. h = (b + 1) | 0;
  118208. break a;
  118209. break;
  118210. }
  118211. case 115: {
  118212. sC(g, 19917);
  118213. i = (e + 4) | 0;
  118214. j = c[i >> 2] | 0;
  118215. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118216. KB(j, g);
  118217. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118218. } else LB(e, g);
  118219. QA(g);
  118220. h = (b + 1) | 0;
  118221. break a;
  118222. break;
  118223. }
  118224. case 116: {
  118225. KC(g, 19923);
  118226. i = (e + 4) | 0;
  118227. j = c[i >> 2] | 0;
  118228. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118229. KB(j, g);
  118230. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118231. } else LB(e, g);
  118232. QA(g);
  118233. h = (b + 1) | 0;
  118234. break a;
  118235. break;
  118236. }
  118237. case 105: {
  118238. ID(g, 20122);
  118239. i = (e + 4) | 0;
  118240. j = c[i >> 2] | 0;
  118241. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118242. KB(j, g);
  118243. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118244. } else LB(e, g);
  118245. QA(g);
  118246. h = (b + 1) | 0;
  118247. break a;
  118248. break;
  118249. }
  118250. case 106: {
  118251. LC(g, 20126);
  118252. i = (e + 4) | 0;
  118253. j = c[i >> 2] | 0;
  118254. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118255. KB(j, g);
  118256. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118257. } else LB(e, g);
  118258. QA(g);
  118259. h = (b + 1) | 0;
  118260. break a;
  118261. break;
  118262. }
  118263. case 108: {
  118264. cD(g, 20139);
  118265. i = (e + 4) | 0;
  118266. j = c[i >> 2] | 0;
  118267. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118268. KB(j, g);
  118269. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118270. } else LB(e, g);
  118271. QA(g);
  118272. h = (b + 1) | 0;
  118273. break a;
  118274. break;
  118275. }
  118276. case 109: {
  118277. gD(g, 20144);
  118278. i = (e + 4) | 0;
  118279. j = c[i >> 2] | 0;
  118280. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118281. KB(j, g);
  118282. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118283. } else LB(e, g);
  118284. QA(g);
  118285. h = (b + 1) | 0;
  118286. break a;
  118287. break;
  118288. }
  118289. case 120: {
  118290. GC(g, 20158);
  118291. i = (e + 4) | 0;
  118292. j = c[i >> 2] | 0;
  118293. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118294. KB(j, g);
  118295. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118296. } else LB(e, g);
  118297. QA(g);
  118298. h = (b + 1) | 0;
  118299. break a;
  118300. break;
  118301. }
  118302. case 121: {
  118303. JD(g);
  118304. i = (e + 4) | 0;
  118305. j = c[i >> 2] | 0;
  118306. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118307. KB(j, g);
  118308. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118309. } else LB(e, g);
  118310. QA(g);
  118311. h = (b + 1) | 0;
  118312. break a;
  118313. break;
  118314. }
  118315. case 110: {
  118316. KD(g, 19952);
  118317. i = (e + 4) | 0;
  118318. j = c[i >> 2] | 0;
  118319. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118320. KB(j, g);
  118321. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118322. } else LB(e, g);
  118323. QA(g);
  118324. h = (b + 1) | 0;
  118325. break a;
  118326. break;
  118327. }
  118328. case 111: {
  118329. HC(g, 19961);
  118330. i = (e + 4) | 0;
  118331. j = c[i >> 2] | 0;
  118332. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118333. KB(j, g);
  118334. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118335. } else LB(e, g);
  118336. QA(g);
  118337. h = (b + 1) | 0;
  118338. break a;
  118339. break;
  118340. }
  118341. case 102: {
  118342. sC(g, 20168);
  118343. i = (e + 4) | 0;
  118344. j = c[i >> 2] | 0;
  118345. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118346. KB(j, g);
  118347. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118348. } else LB(e, g);
  118349. QA(g);
  118350. h = (b + 1) | 0;
  118351. break a;
  118352. break;
  118353. }
  118354. case 100: {
  118355. LD(g);
  118356. i = (e + 4) | 0;
  118357. j = c[i >> 2] | 0;
  118358. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118359. KB(j, g);
  118360. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118361. } else LB(e, g);
  118362. QA(g);
  118363. h = (b + 1) | 0;
  118364. break a;
  118365. break;
  118366. }
  118367. case 101: {
  118368. JC(g, 20174);
  118369. i = (e + 4) | 0;
  118370. j = c[i >> 2] | 0;
  118371. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118372. KB(j, g);
  118373. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118374. } else LB(e, g);
  118375. QA(g);
  118376. h = (b + 1) | 0;
  118377. break a;
  118378. break;
  118379. }
  118380. case 103: {
  118381. FC(g, 20186);
  118382. i = (e + 4) | 0;
  118383. j = c[i >> 2] | 0;
  118384. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118385. KB(j, g);
  118386. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118387. } else LB(e, g);
  118388. QA(g);
  118389. h = (b + 1) | 0;
  118390. break a;
  118391. break;
  118392. }
  118393. case 122: {
  118394. ID(g, 20197);
  118395. i = (e + 4) | 0;
  118396. j = c[i >> 2] | 0;
  118397. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118398. KB(j, g);
  118399. c[i >> 2] = (c[i >> 2] | 0) + 24;
  118400. } else LB(e, g);
  118401. QA(g);
  118402. h = (b + 1) | 0;
  118403. break a;
  118404. break;
  118405. }
  118406. case 117: {
  118407. i = (b + 1) | 0;
  118408. j = GB(i, d, e) | 0;
  118409. h = (j | 0) == (i | 0) ? b : j;
  118410. break a;
  118411. break;
  118412. }
  118413. case 68: {
  118414. j = (b + 1) | 0;
  118415. if ((j | 0) == (d | 0)) {
  118416. h = b;
  118417. break a;
  118418. }
  118419. switch (a[j >> 0] | 0) {
  118420. case 100: {
  118421. GC(g, 20201);
  118422. j = (e + 4) | 0;
  118423. i = c[j >> 2] | 0;
  118424. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118425. KB(i, g);
  118426. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118427. } else LB(e, g);
  118428. QA(g);
  118429. h = (b + 2) | 0;
  118430. break a;
  118431. break;
  118432. }
  118433. case 101: {
  118434. FC(g, 20211);
  118435. j = (e + 4) | 0;
  118436. i = c[j >> 2] | 0;
  118437. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118438. KB(i, g);
  118439. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118440. } else LB(e, g);
  118441. QA(g);
  118442. h = (b + 2) | 0;
  118443. break a;
  118444. break;
  118445. }
  118446. case 102: {
  118447. GC(g, 20222);
  118448. j = (e + 4) | 0;
  118449. i = c[j >> 2] | 0;
  118450. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118451. KB(i, g);
  118452. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118453. } else LB(e, g);
  118454. QA(g);
  118455. h = (b + 2) | 0;
  118456. break a;
  118457. break;
  118458. }
  118459. case 104: {
  118460. GC(g, 20232);
  118461. j = (e + 4) | 0;
  118462. i = c[j >> 2] | 0;
  118463. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118464. KB(i, g);
  118465. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118466. } else LB(e, g);
  118467. QA(g);
  118468. h = (b + 2) | 0;
  118469. break a;
  118470. break;
  118471. }
  118472. case 105: {
  118473. KD(g, 20242);
  118474. j = (e + 4) | 0;
  118475. i = c[j >> 2] | 0;
  118476. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118477. KB(i, g);
  118478. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118479. } else LB(e, g);
  118480. QA(g);
  118481. h = (b + 2) | 0;
  118482. break a;
  118483. break;
  118484. }
  118485. case 115: {
  118486. KD(g, 20251);
  118487. j = (e + 4) | 0;
  118488. i = c[j >> 2] | 0;
  118489. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118490. KB(i, g);
  118491. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118492. } else LB(e, g);
  118493. QA(g);
  118494. h = (b + 2) | 0;
  118495. break a;
  118496. break;
  118497. }
  118498. case 97: {
  118499. cD(g, 20260);
  118500. j = (e + 4) | 0;
  118501. i = c[j >> 2] | 0;
  118502. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118503. KB(i, g);
  118504. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118505. } else LB(e, g);
  118506. QA(g);
  118507. h = (b + 2) | 0;
  118508. break a;
  118509. break;
  118510. }
  118511. case 110: {
  118512. KC(g, 20265);
  118513. j = (e + 4) | 0;
  118514. i = c[j >> 2] | 0;
  118515. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  118516. KB(i, g);
  118517. c[j >> 2] = (c[j >> 2] | 0) + 24;
  118518. } else LB(e, g);
  118519. QA(g);
  118520. h = (b + 2) | 0;
  118521. break a;
  118522. break;
  118523. }
  118524. default: {
  118525. h = b;
  118526. break a;
  118527. }
  118528. }
  118529. break;
  118530. }
  118531. default: {
  118532. h = b;
  118533. break a;
  118534. }
  118535. }
  118536. } while (0);
  118537. } while (0);
  118538. l = f;
  118539. return h | 0;
  118540. }
  118541. function uB(b, d, e) {
  118542. b = b | 0;
  118543. d = d | 0;
  118544. e = e | 0;
  118545. var f = 0,
  118546. g = 0,
  118547. h = 0,
  118548. i = 0,
  118549. j = 0,
  118550. k = 0,
  118551. m = 0,
  118552. n = 0,
  118553. o = 0,
  118554. p = 0,
  118555. q = 0,
  118556. r = 0,
  118557. s = 0,
  118558. t = 0,
  118559. u = 0,
  118560. v = 0,
  118561. w = 0;
  118562. f = l;
  118563. l = (l + 112) | 0;
  118564. g = (f + 96) | 0;
  118565. h = (f + 72) | 0;
  118566. i = (f + 48) | 0;
  118567. j = (f + 36) | 0;
  118568. k = (f + 24) | 0;
  118569. m = (f + 12) | 0;
  118570. n = f;
  118571. do {
  118572. if (
  118573. ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 65 : 0)
  118574. ? ((o = (b + 1) | 0), (o | 0) != (d | 0))
  118575. : 0
  118576. ) {
  118577. p = a[o >> 0] | 0;
  118578. if ((p << 24) >> 24 == 95) {
  118579. q = (b + 2) | 0;
  118580. r = mB(q, d, e) | 0;
  118581. if ((r | 0) == (q | 0)) {
  118582. s = b;
  118583. break;
  118584. }
  118585. q = (e + 4) | 0;
  118586. t = c[q >> 2] | 0;
  118587. if ((c[e >> 2] | 0) == (t | 0)) {
  118588. s = b;
  118589. break;
  118590. }
  118591. zB(g, (t + -12) | 0, 2);
  118592. t = AB(18667) | 0;
  118593. u = a[(g + 11) >> 0] | 0;
  118594. if (
  118595. (t | 0) ==
  118596. (((u << 24) >> 24 < 0
  118597. ? c[(g + 4) >> 2] | 0
  118598. : u & 255) |
  118599. 0)
  118600. ) {
  118601. u = (BB(g, 18667, t) | 0) == 0;
  118602. iB(g);
  118603. if (u) GD(((c[q >> 2] | 0) + -12) | 0);
  118604. } else iB(g);
  118605. pB(((c[q >> 2] | 0) + -12) | 0, 0, 20108) | 0;
  118606. s = r;
  118607. break;
  118608. }
  118609. if (((p + -49) & 255) < 9) {
  118610. p = QB(o, d) | 0;
  118611. if ((p | 0) == (d | 0)) {
  118612. s = b;
  118613. break;
  118614. }
  118615. if ((a[p >> 0] | 0) != 95) {
  118616. s = b;
  118617. break;
  118618. }
  118619. r = (p + 1) | 0;
  118620. q = mB(r, d, e) | 0;
  118621. if ((q | 0) == (r | 0)) {
  118622. s = b;
  118623. break;
  118624. }
  118625. r = (e + 4) | 0;
  118626. u = c[r >> 2] | 0;
  118627. if ((c[e >> 2] | 0) == (u | 0)) {
  118628. s = b;
  118629. break;
  118630. }
  118631. zB(g, (u + -12) | 0, 2);
  118632. u = AB(18667) | 0;
  118633. t = a[(g + 11) >> 0] | 0;
  118634. if (
  118635. (u | 0) ==
  118636. (((t << 24) >> 24 < 0
  118637. ? c[(g + 4) >> 2] | 0
  118638. : t & 255) |
  118639. 0)
  118640. ) {
  118641. t = (BB(g, 18667, u) | 0) == 0;
  118642. iB(g);
  118643. if (t) GD(((c[r >> 2] | 0) + -12) | 0);
  118644. } else iB(g);
  118645. t = ((c[r >> 2] | 0) + -12) | 0;
  118646. c[i >> 2] = 0;
  118647. c[(i + 4) >> 2] = 0;
  118648. c[(i + 8) >> 2] = 0;
  118649. QC(i, o, p);
  118650. pB(i, 0, 18667) | 0;
  118651. c[h >> 2] = c[i >> 2];
  118652. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  118653. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  118654. p = 0;
  118655. while (1) {
  118656. if ((p | 0) == 3) break;
  118657. c[(i + (p << 2)) >> 2] = 0;
  118658. p = (p + 1) | 0;
  118659. }
  118660. qB(h, 18722) | 0;
  118661. c[g >> 2] = c[h >> 2];
  118662. c[(g + 4) >> 2] = c[(h + 4) >> 2];
  118663. c[(g + 8) >> 2] = c[(h + 8) >> 2];
  118664. p = 0;
  118665. while (1) {
  118666. if ((p | 0) == 3) break;
  118667. c[(h + (p << 2)) >> 2] = 0;
  118668. p = (p + 1) | 0;
  118669. }
  118670. p = a[(g + 11) >> 0] | 0;
  118671. r = (p << 24) >> 24 < 0;
  118672. zD(
  118673. t,
  118674. 0,
  118675. r ? c[g >> 2] | 0 : g,
  118676. r ? c[(g + 4) >> 2] | 0 : p & 255
  118677. ) | 0;
  118678. iB(g);
  118679. iB(h);
  118680. iB(i);
  118681. s = q;
  118682. break;
  118683. }
  118684. p = SB(o, d, e) | 0;
  118685. if (
  118686. (
  118687. (
  118688. !(((p | 0) == (o | 0)) | ((p | 0) == (d | 0)))
  118689. ? (a[p >> 0] | 0) == 95
  118690. : 0
  118691. )
  118692. ? ((r = (p + 1) | 0),
  118693. (p = mB(r, d, e) | 0),
  118694. (p | 0) != (r | 0))
  118695. : 0
  118696. )
  118697. ? ((r = (e + 4) | 0),
  118698. (u = c[r >> 2] | 0),
  118699. ((((u - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  118700. : 0
  118701. ) {
  118702. KB(h, (u + -24) | 0);
  118703. u = c[r >> 2] | 0;
  118704. v = 0;
  118705. while (1) {
  118706. if ((v | 0) == -1) break;
  118707. w = (v + -1) | 0;
  118708. QA((u + ((w * 24) | 0)) | 0);
  118709. v = w;
  118710. }
  118711. c[r >> 2] = u + -24;
  118712. KB(i, (u + -48) | 0);
  118713. v = c[r >> 2] | 0;
  118714. o = (v + -24) | 0;
  118715. q = (o + 11) | 0;
  118716. if ((a[q >> 0] | 0) < 0) {
  118717. t = c[o >> 2] | 0;
  118718. a[g >> 0] = 0;
  118719. cB(t, g);
  118720. c[(v + -20) >> 2] = 0;
  118721. } else {
  118722. a[g >> 0] = 0;
  118723. cB(o, g);
  118724. a[q >> 0] = 0;
  118725. }
  118726. TB(o);
  118727. c[o >> 2] = c[h >> 2];
  118728. c[(o + 4) >> 2] = c[(h + 4) >> 2];
  118729. c[(o + 8) >> 2] = c[(h + 8) >> 2];
  118730. o = 0;
  118731. while (1) {
  118732. if ((o | 0) == 3) break;
  118733. c[(h + (o << 2)) >> 2] = 0;
  118734. o = (o + 1) | 0;
  118735. }
  118736. o = (h + 12) | 0;
  118737. zB(g, o, 2);
  118738. u = AB(18667) | 0;
  118739. q = a[(g + 11) >> 0] | 0;
  118740. if (
  118741. (u | 0) ==
  118742. (((q << 24) >> 24 < 0
  118743. ? c[(g + 4) >> 2] | 0
  118744. : q & 255) |
  118745. 0)
  118746. ) {
  118747. q = (BB(g, 18667, u) | 0) == 0;
  118748. iB(g);
  118749. if (q) GD(o);
  118750. } else iB(g);
  118751. FB(n, i);
  118752. pB(n, 0, 18667) | 0;
  118753. c[m >> 2] = c[n >> 2];
  118754. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  118755. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  118756. q = 0;
  118757. while (1) {
  118758. if ((q | 0) == 3) break;
  118759. c[(n + (q << 2)) >> 2] = 0;
  118760. q = (q + 1) | 0;
  118761. }
  118762. qB(m, 18722) | 0;
  118763. c[k >> 2] = c[m >> 2];
  118764. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  118765. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  118766. q = 0;
  118767. while (1) {
  118768. if ((q | 0) == 3) break;
  118769. c[(m + (q << 2)) >> 2] = 0;
  118770. q = (q + 1) | 0;
  118771. }
  118772. q = a[(o + 11) >> 0] | 0;
  118773. u = (q << 24) >> 24 < 0;
  118774. TA(
  118775. k,
  118776. u ? c[o >> 2] | 0 : o,
  118777. u ? c[(h + 16) >> 2] | 0 : q & 255
  118778. ) | 0;
  118779. c[j >> 2] = c[k >> 2];
  118780. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  118781. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  118782. q = 0;
  118783. while (1) {
  118784. if ((q | 0) == 3) break;
  118785. c[(k + (q << 2)) >> 2] = 0;
  118786. q = (q + 1) | 0;
  118787. }
  118788. q = c[r >> 2] | 0;
  118789. o = (q + -12) | 0;
  118790. u = (o + 11) | 0;
  118791. if ((a[u >> 0] | 0) < 0) {
  118792. v = c[o >> 2] | 0;
  118793. a[g >> 0] = 0;
  118794. cB(v, g);
  118795. c[(q + -8) >> 2] = 0;
  118796. } else {
  118797. a[g >> 0] = 0;
  118798. cB(o, g);
  118799. a[u >> 0] = 0;
  118800. }
  118801. TB(o);
  118802. c[o >> 2] = c[j >> 2];
  118803. c[(o + 4) >> 2] = c[(j + 4) >> 2];
  118804. c[(o + 8) >> 2] = c[(j + 8) >> 2];
  118805. o = 0;
  118806. while (1) {
  118807. if ((o | 0) == 3) break;
  118808. c[(j + (o << 2)) >> 2] = 0;
  118809. o = (o + 1) | 0;
  118810. }
  118811. iB(j);
  118812. iB(k);
  118813. iB(m);
  118814. iB(n);
  118815. QA(i);
  118816. QA(h);
  118817. s = p;
  118818. } else s = b;
  118819. } else s = b;
  118820. } while (0);
  118821. l = f;
  118822. return s | 0;
  118823. }
  118824. function vB(a, b, d) {
  118825. a = a | 0;
  118826. b = b | 0;
  118827. d = d | 0;
  118828. var e = 0;
  118829. c[a >> 2] = 0;
  118830. e = (a + 4) | 0;
  118831. c[e >> 2] = 0;
  118832. c[(a + 8) >> 2] = 0;
  118833. c[(a + 12) >> 2] = c[d >> 2];
  118834. FD(a);
  118835. rB(c[e >> 2] | 0, b);
  118836. c[e >> 2] = (c[e >> 2] | 0) + 24;
  118837. return;
  118838. }
  118839. function wB(a, b) {
  118840. a = a | 0;
  118841. b = b | 0;
  118842. var d = 0,
  118843. e = 0,
  118844. f = 0,
  118845. g = 0,
  118846. h = 0,
  118847. i = 0,
  118848. j = 0,
  118849. k = 0;
  118850. d = l;
  118851. l = (l + 32) | 0;
  118852. e = d;
  118853. f = (a + 4) | 0;
  118854. g = ((((c[f >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
  118855. h = AD(a) | 0;
  118856. if (h >>> 0 < g >>> 0) Wz(a);
  118857. else {
  118858. i = c[a >> 2] | 0;
  118859. j = ((c[(a + 8) >> 2] | 0) - i) | 0;
  118860. k = j >> 3;
  118861. BD(
  118862. e,
  118863. (j >> 4) >>> 0 < (h >>> 1) >>> 0
  118864. ? k >>> 0 < g >>> 0
  118865. ? g
  118866. : k
  118867. : h,
  118868. ((c[f >> 2] | 0) - i) >> 4,
  118869. (a + 12) | 0
  118870. );
  118871. i = (e + 8) | 0;
  118872. f = c[i >> 2] | 0;
  118873. c[f >> 2] = 0;
  118874. h = (f + 4) | 0;
  118875. c[h >> 2] = 0;
  118876. k = (f + 8) | 0;
  118877. c[k >> 2] = 0;
  118878. c[(f + 12) >> 2] = c[(b + 12) >> 2];
  118879. c[f >> 2] = c[b >> 2];
  118880. g = (b + 4) | 0;
  118881. c[h >> 2] = c[g >> 2];
  118882. h = (b + 8) | 0;
  118883. c[k >> 2] = c[h >> 2];
  118884. c[h >> 2] = 0;
  118885. c[g >> 2] = 0;
  118886. c[b >> 2] = 0;
  118887. c[i >> 2] = f + 16;
  118888. CD(a, e);
  118889. DD(e);
  118890. l = d;
  118891. return;
  118892. }
  118893. }
  118894. function xB(b, d, e) {
  118895. b = b | 0;
  118896. d = d | 0;
  118897. e = e | 0;
  118898. var f = 0,
  118899. g = 0,
  118900. h = 0,
  118901. i = 0,
  118902. j = 0,
  118903. k = 0,
  118904. m = 0,
  118905. n = 0,
  118906. o = 0,
  118907. p = 0,
  118908. q = 0,
  118909. r = 0,
  118910. s = 0,
  118911. t = 0,
  118912. u = 0,
  118913. v = 0,
  118914. w = 0,
  118915. x = 0,
  118916. y = 0,
  118917. z = 0,
  118918. A = 0,
  118919. B = 0,
  118920. C = 0,
  118921. D = 0;
  118922. f = l;
  118923. l = (l + 32) | 0;
  118924. g = (f + 12) | 0;
  118925. h = f;
  118926. do {
  118927. if (
  118928. ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 70 : 0)
  118929. ? ((i = (b + 1) | 0), (i | 0) != (d | 0))
  118930. : 0
  118931. ) {
  118932. if ((a[i >> 0] | 0) == 89) {
  118933. j = (b + 2) | 0;
  118934. if ((j | 0) == (d | 0)) {
  118935. k = b;
  118936. break;
  118937. } else m = j;
  118938. } else m = i;
  118939. i = mB(m, d, e) | 0;
  118940. if ((i | 0) != (m | 0)) {
  118941. c[g >> 2] = 0;
  118942. c[(g + 4) >> 2] = 0;
  118943. c[(g + 8) >> 2] = 0;
  118944. RB(g, 18675, AB(18675) | 0);
  118945. j = (e + 4) | 0;
  118946. n = (g + 11) | 0;
  118947. o = (g + 4) | 0;
  118948. p = (h + 11) | 0;
  118949. q = (h + 4) | 0;
  118950. r = 0;
  118951. s = i;
  118952. a: while (1) {
  118953. t = s;
  118954. b: while (1) {
  118955. if ((t | 0) == (d | 0)) {
  118956. u = 11;
  118957. break a;
  118958. }
  118959. switch (a[t >> 0] | 0) {
  118960. case 69: {
  118961. u = 16;
  118962. break a;
  118963. break;
  118964. }
  118965. case 118: {
  118966. v = (t + 1) | 0;
  118967. break;
  118968. }
  118969. case 82: {
  118970. i = (t + 1) | 0;
  118971. if (
  118972. (i | 0) != (d | 0) ? (a[i >> 0] | 0) == 69 : 0
  118973. ) {
  118974. w = 1;
  118975. x = i;
  118976. break b;
  118977. } else u = 23;
  118978. break;
  118979. }
  118980. case 79: {
  118981. i = (t + 1) | 0;
  118982. if (
  118983. (i | 0) != (d | 0) ? (a[i >> 0] | 0) == 69 : 0
  118984. ) {
  118985. w = 2;
  118986. x = i;
  118987. break b;
  118988. } else u = 23;
  118989. break;
  118990. }
  118991. default:
  118992. u = 23;
  118993. }
  118994. c: do {
  118995. if ((u | 0) == 23) {
  118996. u = 0;
  118997. i =
  118998. ((((c[j >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  118999. 24) |
  119000. 0;
  119001. y = mB(t, d, e) | 0;
  119002. z =
  119003. ((((c[j >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
  119004. 24) |
  119005. 0;
  119006. if (((y | 0) == (t | 0)) | ((y | 0) == (d | 0)))
  119007. break a;
  119008. A = i;
  119009. while (1) {
  119010. if (A >>> 0 >= z >>> 0) break;
  119011. B = a[n >> 0] | 0;
  119012. if (
  119013. ((B << 24) >> 24 < 0
  119014. ? c[o >> 2] | 0
  119015. : B & 255) >>>
  119016. 0 >
  119017. 1
  119018. )
  119019. qB(g, 18897) | 0;
  119020. FB(h, ((c[e >> 2] | 0) + ((A * 24) | 0)) | 0);
  119021. B = a[p >> 0] | 0;
  119022. C = (B << 24) >> 24 < 0;
  119023. TA(
  119024. g,
  119025. C ? c[h >> 2] | 0 : h,
  119026. C ? c[q >> 2] | 0 : B & 255
  119027. ) | 0;
  119028. iB(h);
  119029. A = (A + 1) | 0;
  119030. }
  119031. A = i;
  119032. while (1) {
  119033. if (A >>> 0 >= z >>> 0) {
  119034. v = y;
  119035. break c;
  119036. }
  119037. B = c[j >> 2] | 0;
  119038. C = 0;
  119039. while (1) {
  119040. if ((C | 0) == -1) break;
  119041. D = (C + -1) | 0;
  119042. QA((B + ((D * 24) | 0)) | 0);
  119043. C = D;
  119044. }
  119045. c[j >> 2] = B + -24;
  119046. A = (A + 1) | 0;
  119047. }
  119048. }
  119049. } while (0);
  119050. t = v;
  119051. }
  119052. r = w;
  119053. s = x;
  119054. }
  119055. if ((u | 0) == 11) {
  119056. s = c[j >> 2] | 0;
  119057. q = 0;
  119058. while (1) {
  119059. if ((q | 0) == -1) break;
  119060. p = (q + -1) | 0;
  119061. QA((s + ((p * 24) | 0)) | 0);
  119062. q = p;
  119063. }
  119064. c[j >> 2] = s + -24;
  119065. } else if ((u | 0) == 16) {
  119066. q = (t + 1) | 0;
  119067. qB(g, 18673) | 0;
  119068. switch (r & 3) {
  119069. case 1: {
  119070. qB(g, 20101) | 0;
  119071. break;
  119072. }
  119073. case 2: {
  119074. qB(g, 20104) | 0;
  119075. break;
  119076. }
  119077. default: {
  119078. }
  119079. }
  119080. p = c[j >> 2] | 0;
  119081. if ((c[e >> 2] | 0) != (p | 0)) {
  119082. qB((p + -24) | 0, 18707) | 0;
  119083. p = a[n >> 0] | 0;
  119084. A = (p << 24) >> 24 < 0;
  119085. zD(
  119086. ((c[j >> 2] | 0) + -12) | 0,
  119087. 0,
  119088. A ? c[g >> 2] | 0 : g,
  119089. A ? c[o >> 2] | 0 : p & 255
  119090. ) | 0;
  119091. iB(g);
  119092. k = q;
  119093. break;
  119094. }
  119095. }
  119096. iB(g);
  119097. k = b;
  119098. } else k = b;
  119099. } else k = b;
  119100. } while (0);
  119101. l = f;
  119102. return k | 0;
  119103. }
  119104. function yB(b, d, e) {
  119105. b = b | 0;
  119106. d = d | 0;
  119107. e = e | 0;
  119108. var f = 0,
  119109. g = 0,
  119110. h = 0,
  119111. i = 0,
  119112. j = 0,
  119113. k = 0,
  119114. m = 0,
  119115. n = 0,
  119116. o = 0,
  119117. p = 0,
  119118. q = 0,
  119119. r = 0,
  119120. s = 0,
  119121. t = 0;
  119122. f = l;
  119123. l = (l + 112) | 0;
  119124. g = (f + 96) | 0;
  119125. h = (f + 72) | 0;
  119126. i = (f + 48) | 0;
  119127. j = (f + 36) | 0;
  119128. k = (f + 24) | 0;
  119129. m = (f + 12) | 0;
  119130. n = f;
  119131. if (
  119132. (
  119133. (
  119134. ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 77 : 0)
  119135. ? ((o = (b + 1) | 0),
  119136. (p = mB(o, d, e) | 0),
  119137. (p | 0) != (o | 0))
  119138. : 0
  119139. )
  119140. ? ((o = mB(p, d, e) | 0), (o | 0) != (p | 0))
  119141. : 0
  119142. )
  119143. ? ((p = (e + 4) | 0),
  119144. (d = c[p >> 2] | 0),
  119145. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  119146. : 0
  119147. ) {
  119148. KB(h, (d + -24) | 0);
  119149. d = c[p >> 2] | 0;
  119150. e = 0;
  119151. while (1) {
  119152. if ((e | 0) == -1) break;
  119153. q = (e + -1) | 0;
  119154. QA((d + ((q * 24) | 0)) | 0);
  119155. e = q;
  119156. }
  119157. c[p >> 2] = d + -24;
  119158. KB(i, (d + -48) | 0);
  119159. d = (h + 12) | 0;
  119160. a: do {
  119161. if (
  119162. (a[
  119163. ((a[(d + 11) >> 0] | 0) < 0 ? c[d >> 2] | 0 : d) >> 0
  119164. ] |
  119165. 0) ==
  119166. 40
  119167. ) {
  119168. qB(h, 18675) | 0;
  119169. c[m >> 2] = c[h >> 2];
  119170. c[(m + 4) >> 2] = c[(h + 4) >> 2];
  119171. c[(m + 8) >> 2] = c[(h + 8) >> 2];
  119172. e = 0;
  119173. while (1) {
  119174. if ((e | 0) == 3) break;
  119175. c[(h + (e << 2)) >> 2] = 0;
  119176. e = (e + 1) | 0;
  119177. }
  119178. FB(n, i);
  119179. e = a[(n + 11) >> 0] | 0;
  119180. q = (e << 24) >> 24 < 0;
  119181. TA(
  119182. m,
  119183. q ? c[n >> 2] | 0 : n,
  119184. q ? c[(n + 4) >> 2] | 0 : e & 255
  119185. ) | 0;
  119186. c[k >> 2] = c[m >> 2];
  119187. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  119188. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  119189. e = 0;
  119190. while (1) {
  119191. if ((e | 0) == 3) break;
  119192. c[(m + (e << 2)) >> 2] = 0;
  119193. e = (e + 1) | 0;
  119194. }
  119195. qB(k, 20097) | 0;
  119196. c[j >> 2] = c[k >> 2];
  119197. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  119198. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  119199. e = 0;
  119200. while (1) {
  119201. if ((e | 0) == 3) break;
  119202. c[(k + (e << 2)) >> 2] = 0;
  119203. e = (e + 1) | 0;
  119204. }
  119205. e = c[p >> 2] | 0;
  119206. q = (e + -24) | 0;
  119207. r = (q + 11) | 0;
  119208. if ((a[r >> 0] | 0) < 0) {
  119209. s = c[q >> 2] | 0;
  119210. a[g >> 0] = 0;
  119211. cB(s, g);
  119212. c[(e + -20) >> 2] = 0;
  119213. } else {
  119214. a[g >> 0] = 0;
  119215. cB(q, g);
  119216. a[r >> 0] = 0;
  119217. }
  119218. TB(q);
  119219. c[q >> 2] = c[j >> 2];
  119220. c[(q + 4) >> 2] = c[(j + 4) >> 2];
  119221. c[(q + 8) >> 2] = c[(j + 8) >> 2];
  119222. q = 0;
  119223. while (1) {
  119224. if ((q | 0) == 3) break;
  119225. c[(j + (q << 2)) >> 2] = 0;
  119226. q = (q + 1) | 0;
  119227. }
  119228. iB(j);
  119229. iB(k);
  119230. iB(n);
  119231. iB(m);
  119232. pB(d, 0, 18673) | 0;
  119233. c[j >> 2] = c[d >> 2];
  119234. c[(j + 4) >> 2] = c[(d + 4) >> 2];
  119235. c[(j + 8) >> 2] = c[(d + 8) >> 2];
  119236. q = 0;
  119237. while (1) {
  119238. if ((q | 0) == 3) break;
  119239. c[(d + (q << 2)) >> 2] = 0;
  119240. q = (q + 1) | 0;
  119241. }
  119242. q = c[p >> 2] | 0;
  119243. r = (q + -12) | 0;
  119244. e = (r + 11) | 0;
  119245. if ((a[e >> 0] | 0) < 0) {
  119246. s = c[r >> 2] | 0;
  119247. a[g >> 0] = 0;
  119248. cB(s, g);
  119249. c[(q + -8) >> 2] = 0;
  119250. } else {
  119251. a[g >> 0] = 0;
  119252. cB(r, g);
  119253. a[e >> 0] = 0;
  119254. }
  119255. TB(r);
  119256. c[r >> 2] = c[j >> 2];
  119257. c[(r + 4) >> 2] = c[(j + 4) >> 2];
  119258. c[(r + 8) >> 2] = c[(j + 8) >> 2];
  119259. r = 0;
  119260. while (1) {
  119261. if ((r | 0) == 3) break;
  119262. c[(j + (r << 2)) >> 2] = 0;
  119263. r = (r + 1) | 0;
  119264. }
  119265. iB(j);
  119266. } else {
  119267. qB(h, 18707) | 0;
  119268. c[m >> 2] = c[h >> 2];
  119269. c[(m + 4) >> 2] = c[(h + 4) >> 2];
  119270. c[(m + 8) >> 2] = c[(h + 8) >> 2];
  119271. r = 0;
  119272. while (1) {
  119273. if ((r | 0) == 3) break;
  119274. c[(h + (r << 2)) >> 2] = 0;
  119275. r = (r + 1) | 0;
  119276. }
  119277. FB(n, i);
  119278. r = a[(n + 11) >> 0] | 0;
  119279. e = (r << 24) >> 24 < 0;
  119280. TA(
  119281. m,
  119282. e ? c[n >> 2] | 0 : n,
  119283. e ? c[(n + 4) >> 2] | 0 : r & 255
  119284. ) | 0;
  119285. c[k >> 2] = c[m >> 2];
  119286. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  119287. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  119288. r = 0;
  119289. while (1) {
  119290. if ((r | 0) == 3) break;
  119291. c[(m + (r << 2)) >> 2] = 0;
  119292. r = (r + 1) | 0;
  119293. }
  119294. qB(k, 20097) | 0;
  119295. c[j >> 2] = c[k >> 2];
  119296. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  119297. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  119298. r = 0;
  119299. while (1) {
  119300. if ((r | 0) == 3) break;
  119301. c[(k + (r << 2)) >> 2] = 0;
  119302. r = (r + 1) | 0;
  119303. }
  119304. r = c[p >> 2] | 0;
  119305. e = (r + -24) | 0;
  119306. q = (e + 11) | 0;
  119307. if ((a[q >> 0] | 0) < 0) {
  119308. s = c[e >> 2] | 0;
  119309. a[g >> 0] = 0;
  119310. cB(s, g);
  119311. c[(r + -20) >> 2] = 0;
  119312. } else {
  119313. a[g >> 0] = 0;
  119314. cB(e, g);
  119315. a[q >> 0] = 0;
  119316. }
  119317. TB(e);
  119318. c[e >> 2] = c[j >> 2];
  119319. c[(e + 4) >> 2] = c[(j + 4) >> 2];
  119320. c[(e + 8) >> 2] = c[(j + 8) >> 2];
  119321. e = 0;
  119322. while (1) {
  119323. if ((e | 0) == 3) break;
  119324. c[(j + (e << 2)) >> 2] = 0;
  119325. e = (e + 1) | 0;
  119326. }
  119327. iB(j);
  119328. iB(k);
  119329. iB(n);
  119330. iB(m);
  119331. e = c[p >> 2] | 0;
  119332. q = (e + -12) | 0;
  119333. r = (q + 11) | 0;
  119334. if ((a[r >> 0] | 0) < 0) {
  119335. s = c[q >> 2] | 0;
  119336. a[g >> 0] = 0;
  119337. cB(s, g);
  119338. c[(e + -8) >> 2] = 0;
  119339. } else {
  119340. a[g >> 0] = 0;
  119341. cB(q, g);
  119342. a[r >> 0] = 0;
  119343. }
  119344. TB(q);
  119345. c[q >> 2] = c[d >> 2];
  119346. c[(q + 4) >> 2] = c[(d + 4) >> 2];
  119347. c[(q + 8) >> 2] = c[(d + 8) >> 2];
  119348. q = 0;
  119349. while (1) {
  119350. if ((q | 0) == 3) break a;
  119351. c[(d + (q << 2)) >> 2] = 0;
  119352. q = (q + 1) | 0;
  119353. }
  119354. }
  119355. } while (0);
  119356. QA(i);
  119357. QA(h);
  119358. t = o;
  119359. } else t = b;
  119360. l = f;
  119361. return t | 0;
  119362. }
  119363. function zB(b, d, e) {
  119364. b = b | 0;
  119365. d = d | 0;
  119366. e = e | 0;
  119367. var f = 0,
  119368. g = 0,
  119369. h = 0;
  119370. c[b >> 2] = 0;
  119371. c[(b + 4) >> 2] = 0;
  119372. c[(b + 8) >> 2] = 0;
  119373. f = a[(d + 11) >> 0] | 0;
  119374. g = (f << 24) >> 24 < 0;
  119375. h = g ? c[(d + 4) >> 2] | 0 : f & 255;
  119376. RB(b, g ? c[d >> 2] | 0 : d, h >>> 0 < e >>> 0 ? h : e);
  119377. return;
  119378. }
  119379. function AB(a) {
  119380. a = a | 0;
  119381. return Ty(a) | 0;
  119382. }
  119383. function BB(b, d, e) {
  119384. b = b | 0;
  119385. d = d | 0;
  119386. e = e | 0;
  119387. var f = 0,
  119388. g = 0,
  119389. h = 0,
  119390. i = 0;
  119391. f = a[(b + 11) >> 0] | 0;
  119392. g = (f << 24) >> 24 < 0;
  119393. if (g) h = c[(b + 4) >> 2] | 0;
  119394. else h = f & 255;
  119395. if ((e | 0) == -1) xD(b);
  119396. if (g) i = c[b >> 2] | 0;
  119397. else i = b;
  119398. b = h >>> 0 > e >>> 0;
  119399. g = yD(i, d, b ? e : h) | 0;
  119400. if (!g) return (h >>> 0 < e >>> 0 ? -1 : b & 1) | 0;
  119401. else return g | 0;
  119402. return 0;
  119403. }
  119404. function CB(a) {
  119405. a = a | 0;
  119406. wD(a, AB(20094) | 0);
  119407. return;
  119408. }
  119409. function DB(b, d, e) {
  119410. b = b | 0;
  119411. d = d | 0;
  119412. e = e | 0;
  119413. var f = 0,
  119414. g = 0,
  119415. h = 0,
  119416. i = 0,
  119417. j = 0,
  119418. k = 0,
  119419. m = 0,
  119420. n = 0,
  119421. o = 0,
  119422. p = 0,
  119423. q = 0,
  119424. r = 0,
  119425. s = 0;
  119426. f = l;
  119427. l = (l + 48) | 0;
  119428. g = (f + 16) | 0;
  119429. h = f;
  119430. a: do {
  119431. if (((d - b) | 0) > 1 ? (a[b >> 0] | 0) == 84 : 0) {
  119432. i = a[(b + 1) >> 0] | 0;
  119433. if ((i << 24) >> 24 == 95) {
  119434. j = c[(e + 36) >> 2] | 0;
  119435. if ((c[(e + 32) >> 2] | 0) == (j | 0)) {
  119436. k = b;
  119437. break;
  119438. }
  119439. m = c[(j + -16) >> 2] | 0;
  119440. if ((m | 0) == (c[(j + -12) >> 2] | 0)) {
  119441. vD(g);
  119442. j = (e + 4) | 0;
  119443. n = c[j >> 2] | 0;
  119444. if (n >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  119445. KB(n, g);
  119446. c[j >> 2] = (c[j >> 2] | 0) + 24;
  119447. } else LB(e, g);
  119448. QA(g);
  119449. a[(e + 62) >> 0] = 1;
  119450. k = (b + 2) | 0;
  119451. break;
  119452. }
  119453. j = c[(m + 4) >> 2] | 0;
  119454. n = (e + 4) | 0;
  119455. o = (e + 8) | 0;
  119456. p = c[m >> 2] | 0;
  119457. while (1) {
  119458. if ((p | 0) == (j | 0)) break;
  119459. m = c[n >> 2] | 0;
  119460. if ((m | 0) == (c[o >> 2] | 0)) sB(e, p);
  119461. else {
  119462. rB(m, p);
  119463. c[n >> 2] = (c[n >> 2] | 0) + 24;
  119464. }
  119465. p = (p + 24) | 0;
  119466. }
  119467. k = (b + 2) | 0;
  119468. break;
  119469. }
  119470. p = (((i << 24) >> 24) + -48) | 0;
  119471. if (p >>> 0 < 10) {
  119472. n = p;
  119473. p = (b + 2) | 0;
  119474. while (1) {
  119475. if ((p | 0) == (d | 0)) {
  119476. k = b;
  119477. break a;
  119478. }
  119479. q = a[p >> 0] | 0;
  119480. o = (((q << 24) >> 24) + -48) | 0;
  119481. if (o >>> 0 >= 10) break;
  119482. n = (o + ((n * 10) | 0)) | 0;
  119483. p = (p + 1) | 0;
  119484. }
  119485. if (
  119486. (q << 24) >> 24 == 95
  119487. ? ((i = c[(e + 36) >> 2] | 0),
  119488. (c[(e + 32) >> 2] | 0) != (i | 0))
  119489. : 0
  119490. ) {
  119491. o = (n + 1) | 0;
  119492. j = c[(i + -16) >> 2] | 0;
  119493. m = j;
  119494. if (
  119495. o >>> 0 >=
  119496. (((c[(i + -12) >> 2] | 0) - j) >> 4) >>> 0
  119497. ) {
  119498. j = (p + 1) | 0;
  119499. c[h >> 2] = 0;
  119500. c[(h + 4) >> 2] = 0;
  119501. c[(h + 8) >> 2] = 0;
  119502. QC(h, b, j);
  119503. IB(g, h);
  119504. i = (e + 4) | 0;
  119505. r = c[i >> 2] | 0;
  119506. if (r >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  119507. KB(r, g);
  119508. c[i >> 2] = (c[i >> 2] | 0) + 24;
  119509. } else LB(e, g);
  119510. QA(g);
  119511. iB(h);
  119512. a[(e + 62) >> 0] = 1;
  119513. k = j;
  119514. break;
  119515. }
  119516. j = c[(m + (o << 4) + 4) >> 2] | 0;
  119517. i = (e + 4) | 0;
  119518. r = (e + 8) | 0;
  119519. s = c[(m + (o << 4)) >> 2] | 0;
  119520. while (1) {
  119521. if ((s | 0) == (j | 0)) break;
  119522. o = c[i >> 2] | 0;
  119523. if ((o | 0) == (c[r >> 2] | 0)) sB(e, s);
  119524. else {
  119525. rB(o, s);
  119526. c[i >> 2] = (c[i >> 2] | 0) + 24;
  119527. }
  119528. s = (s + 24) | 0;
  119529. }
  119530. k = (p + 1) | 0;
  119531. } else k = b;
  119532. } else k = b;
  119533. } else k = b;
  119534. } while (0);
  119535. l = f;
  119536. return k | 0;
  119537. }
  119538. function EB(b, d, e) {
  119539. b = b | 0;
  119540. d = d | 0;
  119541. e = e | 0;
  119542. var f = 0,
  119543. g = 0,
  119544. h = 0,
  119545. i = 0,
  119546. j = 0,
  119547. k = 0,
  119548. m = 0,
  119549. n = 0,
  119550. o = 0,
  119551. p = 0,
  119552. q = 0,
  119553. r = 0,
  119554. s = 0,
  119555. t = 0,
  119556. u = 0,
  119557. v = 0,
  119558. w = 0,
  119559. x = 0,
  119560. y = 0,
  119561. z = 0,
  119562. A = 0,
  119563. B = 0,
  119564. C = 0,
  119565. D = 0,
  119566. E = 0,
  119567. F = 0,
  119568. G = 0,
  119569. H = 0,
  119570. I = 0;
  119571. f = l;
  119572. l = (l + 64) | 0;
  119573. g = (f + 32) | 0;
  119574. h = (f + 16) | 0;
  119575. i = (f + 12) | 0;
  119576. j = f;
  119577. do {
  119578. if (((d - b) | 0) > 1 ? (a[b >> 0] | 0) == 73 : 0) {
  119579. k = (e + 61) | 0;
  119580. m = (e + 36) | 0;
  119581. if (a[k >> 0] | 0) {
  119582. n = c[m >> 2] | 0;
  119583. o = c[(n + -16) >> 2] | 0;
  119584. p = (n + -12) | 0;
  119585. n = c[p >> 2] | 0;
  119586. while (1) {
  119587. if ((n | 0) == (o | 0)) break;
  119588. q = (n + -16) | 0;
  119589. RA(q);
  119590. n = q;
  119591. }
  119592. c[p >> 2] = o;
  119593. }
  119594. c[h >> 2] = 0;
  119595. c[(h + 4) >> 2] = 0;
  119596. c[(h + 8) >> 2] = 0;
  119597. RB(h, 18709, AB(18709) | 0);
  119598. n = (e + 4) | 0;
  119599. q = (e + 12) | 0;
  119600. r = (e + 40) | 0;
  119601. s = (e + 32) | 0;
  119602. t = (h + 11) | 0;
  119603. u = (h + 4) | 0;
  119604. v = (g + 11) | 0;
  119605. w = (g + 4) | 0;
  119606. x = (b + 1) | 0;
  119607. while (1) {
  119608. if ((a[x >> 0] | 0) == 69) break;
  119609. if (a[k >> 0] | 0) {
  119610. c[i >> 2] = c[q >> 2];
  119611. y = c[m >> 2] | 0;
  119612. if (y >>> 0 < (c[r >> 2] | 0) >>> 0) {
  119613. nD(g, i);
  119614. c[y >> 2] = 0;
  119615. c[(y + 4) >> 2] = 0;
  119616. c[(y + 8) >> 2] = 0;
  119617. c[(y + 12) >> 2] = c[g >> 2];
  119618. c[m >> 2] = (c[m >> 2] | 0) + 16;
  119619. } else oD(s, i);
  119620. }
  119621. y =
  119622. ((((c[n >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0;
  119623. z = pD(x, d, e) | 0;
  119624. A =
  119625. ((((c[n >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0;
  119626. if (a[k >> 0] | 0) {
  119627. B = c[m >> 2] | 0;
  119628. C = 0;
  119629. while (1) {
  119630. if ((C | 0) == -1) break;
  119631. D = (C + -1) | 0;
  119632. XA((B + (D << 4)) | 0);
  119633. C = D;
  119634. }
  119635. c[m >> 2] = B + -16;
  119636. }
  119637. if (((z | 0) == (x | 0)) | ((z | 0) == (d | 0))) {
  119638. E = 53;
  119639. break;
  119640. }
  119641. a: do {
  119642. if (a[k >> 0] | 0) {
  119643. C = c[m >> 2] | 0;
  119644. D = c[q >> 2] | 0;
  119645. c[g >> 2] = D;
  119646. F = (C + -12) | 0;
  119647. G = c[F >> 2] | 0;
  119648. if (G >>> 0 < (c[(C + -8) >> 2] | 0) >>> 0) {
  119649. c[G >> 2] = 0;
  119650. c[(G + 4) >> 2] = 0;
  119651. c[(G + 8) >> 2] = 0;
  119652. c[(G + 12) >> 2] = D;
  119653. c[F >> 2] = (c[F >> 2] | 0) + 16;
  119654. } else oB((C + -16) | 0, g);
  119655. C = y;
  119656. while (1) {
  119657. if (C >>> 0 >= A >>> 0) break a;
  119658. F = c[((c[m >> 2] | 0) + -12) >> 2] | 0;
  119659. D = ((c[e >> 2] | 0) + ((C * 24) | 0)) | 0;
  119660. G = (F + -12) | 0;
  119661. H = c[G >> 2] | 0;
  119662. if ((H | 0) == (c[(F + -8) >> 2] | 0))
  119663. sB((F + -16) | 0, D);
  119664. else {
  119665. rB(H, D);
  119666. c[G >> 2] = (c[G >> 2] | 0) + 24;
  119667. }
  119668. C = (C + 1) | 0;
  119669. }
  119670. }
  119671. } while (0);
  119672. B = y;
  119673. while (1) {
  119674. if (B >>> 0 >= A >>> 0) break;
  119675. C = a[t >> 0] | 0;
  119676. if (
  119677. ((C << 24) >> 24 < 0 ? c[u >> 2] | 0 : C & 255) >>>
  119678. 0 >
  119679. 1
  119680. )
  119681. qB(h, 18897) | 0;
  119682. FB(g, ((c[e >> 2] | 0) + ((B * 24) | 0)) | 0);
  119683. C = a[v >> 0] | 0;
  119684. G = (C << 24) >> 24 < 0;
  119685. TA(
  119686. h,
  119687. G ? c[g >> 2] | 0 : g,
  119688. G ? c[w >> 2] | 0 : C & 255
  119689. ) | 0;
  119690. iB(g);
  119691. B = (B + 1) | 0;
  119692. }
  119693. B = A;
  119694. while (1) {
  119695. if ((B | 0) == (y | 0)) break;
  119696. C = c[n >> 2] | 0;
  119697. G = 0;
  119698. while (1) {
  119699. if ((G | 0) == -1) break;
  119700. D = (G + -1) | 0;
  119701. QA((C + ((D * 24) | 0)) | 0);
  119702. G = D;
  119703. }
  119704. c[n >> 2] = C + -24;
  119705. B = (B + -1) | 0;
  119706. }
  119707. x = z;
  119708. }
  119709. if ((E | 0) == 53) {
  119710. iB(h);
  119711. I = b;
  119712. break;
  119713. }
  119714. w = (x + 1) | 0;
  119715. v = a[t >> 0] | 0;
  119716. m = (v << 24) >> 24 < 0;
  119717. if (
  119718. (a[
  119719. ((m ? c[h >> 2] | 0 : h) +
  119720. (m ? c[u >> 2] | 0 : v & 255) +
  119721. -1) >>
  119722. 0
  119723. ] |
  119724. 0) ==
  119725. 62
  119726. )
  119727. qB(h, 20088) | 0;
  119728. else qB(h, 18711) | 0;
  119729. c[j >> 2] = c[h >> 2];
  119730. c[(j + 4) >> 2] = c[(h + 4) >> 2];
  119731. c[(j + 8) >> 2] = c[(h + 8) >> 2];
  119732. v = 0;
  119733. while (1) {
  119734. if ((v | 0) == 3) break;
  119735. c[(h + (v << 2)) >> 2] = 0;
  119736. v = (v + 1) | 0;
  119737. }
  119738. IB(g, j);
  119739. v = c[n >> 2] | 0;
  119740. if (v >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  119741. KB(v, g);
  119742. c[n >> 2] = (c[n >> 2] | 0) + 24;
  119743. } else LB(e, g);
  119744. QA(g);
  119745. iB(j);
  119746. iB(h);
  119747. I = w;
  119748. } else I = b;
  119749. } while (0);
  119750. l = f;
  119751. return I | 0;
  119752. }
  119753. function FB(b, d) {
  119754. b = b | 0;
  119755. d = d | 0;
  119756. var e = 0,
  119757. f = 0,
  119758. g = 0;
  119759. e = (d + 12) | 0;
  119760. f = a[(e + 11) >> 0] | 0;
  119761. g = (f << 24) >> 24 < 0;
  119762. TA(
  119763. d,
  119764. g ? c[e >> 2] | 0 : e,
  119765. g ? c[(d + 16) >> 2] | 0 : f & 255
  119766. ) | 0;
  119767. c[b >> 2] = c[d >> 2];
  119768. c[(b + 4) >> 2] = c[(d + 4) >> 2];
  119769. c[(b + 8) >> 2] = c[(d + 8) >> 2];
  119770. b = 0;
  119771. while (1) {
  119772. if ((b | 0) == 3) break;
  119773. c[(d + (b << 2)) >> 2] = 0;
  119774. b = (b + 1) | 0;
  119775. }
  119776. return;
  119777. }
  119778. function GB(b, d, e) {
  119779. b = b | 0;
  119780. d = d | 0;
  119781. e = e | 0;
  119782. var f = 0,
  119783. g = 0,
  119784. h = 0,
  119785. i = 0,
  119786. j = 0,
  119787. k = 0,
  119788. m = 0,
  119789. n = 0,
  119790. o = 0,
  119791. p = 0;
  119792. f = l;
  119793. l = (l + 64) | 0;
  119794. g = (f + 40) | 0;
  119795. h = (f + 16) | 0;
  119796. i = f;
  119797. a: do {
  119798. if (
  119799. (
  119800. (b | 0) != (d | 0)
  119801. ? ((j = ((a[b >> 0] | 0) + -48) | 0), j >>> 0 < 10)
  119802. : 0
  119803. )
  119804. ? ((k = (b + 1) | 0), (k | 0) != (d | 0))
  119805. : 0
  119806. ) {
  119807. m = j;
  119808. j = k;
  119809. while (1) {
  119810. k = ((a[j >> 0] | 0) + -48) | 0;
  119811. if (k >>> 0 >= 10) break;
  119812. n = (j + 1) | 0;
  119813. if ((n | 0) == (d | 0)) {
  119814. o = b;
  119815. break a;
  119816. }
  119817. m = (k + ((m * 10) | 0)) | 0;
  119818. j = n;
  119819. }
  119820. if (((d - j) | 0) >>> 0 >= m >>> 0) {
  119821. c[g >> 2] = 0;
  119822. c[(g + 4) >> 2] = 0;
  119823. c[(g + 8) >> 2] = 0;
  119824. RB(g, j, m);
  119825. zB(h, g, 10);
  119826. n = AB(20055) | 0;
  119827. k = a[(h + 11) >> 0] | 0;
  119828. if (
  119829. (n | 0) ==
  119830. (((k << 24) >> 24 < 0
  119831. ? c[(h + 4) >> 2] | 0
  119832. : k & 255) |
  119833. 0)
  119834. )
  119835. p = (BB(h, 20055, n) | 0) == 0;
  119836. else p = 0;
  119837. iB(h);
  119838. if (p) {
  119839. mD(h);
  119840. n = (e + 4) | 0;
  119841. k = c[n >> 2] | 0;
  119842. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  119843. KB(k, h);
  119844. c[n >> 2] = (c[n >> 2] | 0) + 24;
  119845. } else LB(e, h);
  119846. QA(h);
  119847. } else {
  119848. c[i >> 2] = c[g >> 2];
  119849. c[(i + 4) >> 2] = c[(g + 4) >> 2];
  119850. c[(i + 8) >> 2] = c[(g + 8) >> 2];
  119851. n = 0;
  119852. while (1) {
  119853. if ((n | 0) == 3) break;
  119854. c[(g + (n << 2)) >> 2] = 0;
  119855. n = (n + 1) | 0;
  119856. }
  119857. IB(h, i);
  119858. n = (e + 4) | 0;
  119859. k = c[n >> 2] | 0;
  119860. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  119861. KB(k, h);
  119862. c[n >> 2] = (c[n >> 2] | 0) + 24;
  119863. } else LB(e, h);
  119864. QA(h);
  119865. iB(i);
  119866. }
  119867. iB(g);
  119868. o = (j + m) | 0;
  119869. } else o = b;
  119870. } else o = b;
  119871. } while (0);
  119872. l = f;
  119873. return o | 0;
  119874. }
  119875. function HB(b, d, e) {
  119876. b = b | 0;
  119877. d = d | 0;
  119878. e = e | 0;
  119879. var f = 0,
  119880. g = 0,
  119881. h = 0;
  119882. c[b >> 2] = 0;
  119883. c[(b + 4) >> 2] = 0;
  119884. c[(b + 8) >> 2] = 0;
  119885. f = 0;
  119886. while (1) {
  119887. if ((f | 0) == 3) break;
  119888. c[(b + (f << 2)) >> 2] = 0;
  119889. f = (f + 1) | 0;
  119890. }
  119891. f = (d + 11) | 0;
  119892. g = a[f >> 0] | 0;
  119893. h = (g << 24) >> 24 < 0 ? c[(d + 4) >> 2] | 0 : g & 255;
  119894. g = AB(e) | 0;
  119895. VB(
  119896. b,
  119897. (a[f >> 0] | 0) < 0 ? c[d >> 2] | 0 : d,
  119898. h,
  119899. (h + g) | 0
  119900. );
  119901. TA(b, e, g) | 0;
  119902. return;
  119903. }
  119904. function IB(a, b) {
  119905. a = a | 0;
  119906. b = b | 0;
  119907. var d = 0;
  119908. c[a >> 2] = c[b >> 2];
  119909. c[(a + 4) >> 2] = c[(b + 4) >> 2];
  119910. c[(a + 8) >> 2] = c[(b + 8) >> 2];
  119911. d = 0;
  119912. while (1) {
  119913. if ((d | 0) == 3) break;
  119914. c[(b + (d << 2)) >> 2] = 0;
  119915. d = (d + 1) | 0;
  119916. }
  119917. d = (a + 12) | 0;
  119918. c[d >> 2] = 0;
  119919. c[(d + 4) >> 2] = 0;
  119920. c[(d + 8) >> 2] = 0;
  119921. a = 0;
  119922. while (1) {
  119923. if ((a | 0) == 3) break;
  119924. c[(d + (a << 2)) >> 2] = 0;
  119925. a = (a + 1) | 0;
  119926. }
  119927. return;
  119928. }
  119929. function JB(b, d) {
  119930. b = b | 0;
  119931. d = d | 0;
  119932. var e = 0,
  119933. f = 0,
  119934. g = 0,
  119935. h = 0,
  119936. i = 0;
  119937. e = l;
  119938. l = (l + 16) | 0;
  119939. f = e;
  119940. g = (b + 11) | 0;
  119941. if ((a[g >> 0] | 0) < 0) {
  119942. h = c[b >> 2] | 0;
  119943. a[f >> 0] = 0;
  119944. cB(h, f);
  119945. c[(b + 4) >> 2] = 0;
  119946. } else {
  119947. a[f >> 0] = 0;
  119948. cB(b, f);
  119949. a[g >> 0] = 0;
  119950. }
  119951. TB(b);
  119952. c[b >> 2] = c[d >> 2];
  119953. c[(b + 4) >> 2] = c[(d + 4) >> 2];
  119954. c[(b + 8) >> 2] = c[(d + 8) >> 2];
  119955. g = 0;
  119956. while (1) {
  119957. if ((g | 0) == 3) break;
  119958. c[(d + (g << 2)) >> 2] = 0;
  119959. g = (g + 1) | 0;
  119960. }
  119961. g = (b + 12) | 0;
  119962. h = (d + 12) | 0;
  119963. d = (g + 11) | 0;
  119964. if ((a[d >> 0] | 0) < 0) {
  119965. i = c[g >> 2] | 0;
  119966. a[f >> 0] = 0;
  119967. cB(i, f);
  119968. c[(b + 16) >> 2] = 0;
  119969. } else {
  119970. a[f >> 0] = 0;
  119971. cB(g, f);
  119972. a[d >> 0] = 0;
  119973. }
  119974. TB(g);
  119975. c[g >> 2] = c[h >> 2];
  119976. c[(g + 4) >> 2] = c[(h + 4) >> 2];
  119977. c[(g + 8) >> 2] = c[(h + 8) >> 2];
  119978. g = 0;
  119979. while (1) {
  119980. if ((g | 0) == 3) break;
  119981. c[(h + (g << 2)) >> 2] = 0;
  119982. g = (g + 1) | 0;
  119983. }
  119984. l = e;
  119985. return;
  119986. }
  119987. function KB(a, b) {
  119988. a = a | 0;
  119989. b = b | 0;
  119990. var d = 0;
  119991. c[a >> 2] = c[b >> 2];
  119992. c[(a + 4) >> 2] = c[(b + 4) >> 2];
  119993. c[(a + 8) >> 2] = c[(b + 8) >> 2];
  119994. d = 0;
  119995. while (1) {
  119996. if ((d | 0) == 3) break;
  119997. c[(b + (d << 2)) >> 2] = 0;
  119998. d = (d + 1) | 0;
  119999. }
  120000. d = (a + 12) | 0;
  120001. a = (b + 12) | 0;
  120002. c[d >> 2] = c[a >> 2];
  120003. c[(d + 4) >> 2] = c[(a + 4) >> 2];
  120004. c[(d + 8) >> 2] = c[(a + 8) >> 2];
  120005. d = 0;
  120006. while (1) {
  120007. if ((d | 0) == 3) break;
  120008. c[(a + (d << 2)) >> 2] = 0;
  120009. d = (d + 1) | 0;
  120010. }
  120011. return;
  120012. }
  120013. function LB(a, b) {
  120014. a = a | 0;
  120015. b = b | 0;
  120016. var d = 0,
  120017. e = 0,
  120018. f = 0,
  120019. g = 0,
  120020. h = 0,
  120021. i = 0,
  120022. j = 0,
  120023. k = 0;
  120024. d = l;
  120025. l = (l + 32) | 0;
  120026. e = d;
  120027. f = (a + 4) | 0;
  120028. g =
  120029. ((((((c[f >> 2] | 0) - (c[a >> 2] | 0)) | 0) / 24) | 0) +
  120030. 1) |
  120031. 0;
  120032. h = XC(a) | 0;
  120033. if (h >>> 0 < g >>> 0) Wz(a);
  120034. else {
  120035. i = c[a >> 2] | 0;
  120036. j = ((((c[(a + 8) >> 2] | 0) - i) | 0) / 24) | 0;
  120037. k = j << 1;
  120038. YC(
  120039. e,
  120040. j >>> 0 < (h >>> 1) >>> 0
  120041. ? k >>> 0 < g >>> 0
  120042. ? g
  120043. : k
  120044. : h,
  120045. ((((c[f >> 2] | 0) - i) | 0) / 24) | 0,
  120046. (a + 12) | 0
  120047. );
  120048. i = (e + 8) | 0;
  120049. f = c[i >> 2] | 0;
  120050. KB(f, b);
  120051. c[i >> 2] = f + 24;
  120052. ZC(a, e);
  120053. _C(e);
  120054. l = d;
  120055. return;
  120056. }
  120057. }
  120058. function MB(b, d, e) {
  120059. b = b | 0;
  120060. d = d | 0;
  120061. e = e | 0;
  120062. var f = 0,
  120063. g = 0,
  120064. h = 0,
  120065. i = 0,
  120066. j = 0,
  120067. k = 0,
  120068. m = 0,
  120069. n = 0,
  120070. o = 0,
  120071. p = 0,
  120072. q = 0,
  120073. r = 0,
  120074. s = 0;
  120075. f = l;
  120076. l = (l + 32) | 0;
  120077. g = (f + 8) | 0;
  120078. h = f;
  120079. a: do {
  120080. if (((d - b) | 0) > 1) {
  120081. i = (a[b >> 0] | 0) == 76 ? (b + 1) | 0 : b;
  120082. switch (a[i >> 0] | 0) {
  120083. case 78: {
  120084. j = hD(i, d, e) | 0;
  120085. k = (j | 0) == (i | 0) ? b : j;
  120086. break a;
  120087. break;
  120088. }
  120089. case 90: {
  120090. j = iD(i, d, e) | 0;
  120091. k = (j | 0) == (i | 0) ? b : j;
  120092. break a;
  120093. break;
  120094. }
  120095. default: {
  120096. j = jD(i, d, e) | 0;
  120097. if ((j | 0) == (i | 0)) {
  120098. m = NB(i, d, e) | 0;
  120099. if (((m | 0) == (i | 0)) | ((m | 0) == (d | 0))) {
  120100. k = b;
  120101. break a;
  120102. }
  120103. if ((a[m >> 0] | 0) != 73) {
  120104. k = b;
  120105. break a;
  120106. }
  120107. i = EB(m, d, e) | 0;
  120108. if ((i | 0) == (m | 0)) {
  120109. k = b;
  120110. break a;
  120111. }
  120112. m = (e + 4) | 0;
  120113. n = c[m >> 2] | 0;
  120114. if (
  120115. ((((n - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  120116. 2
  120117. ) {
  120118. k = b;
  120119. break a;
  120120. }
  120121. FB(g, (n + -24) | 0);
  120122. n = c[m >> 2] | 0;
  120123. o = 0;
  120124. while (1) {
  120125. if ((o | 0) == -1) break;
  120126. p = (o + -1) | 0;
  120127. QA((n + ((p * 24) | 0)) | 0);
  120128. o = p;
  120129. }
  120130. c[m >> 2] = n + -24;
  120131. o = a[(g + 11) >> 0] | 0;
  120132. p = (o << 24) >> 24 < 0;
  120133. TA(
  120134. (n + -48) | 0,
  120135. p ? c[g >> 2] | 0 : g,
  120136. p ? c[(g + 4) >> 2] | 0 : o & 255
  120137. ) | 0;
  120138. iB(g);
  120139. k = i;
  120140. break a;
  120141. }
  120142. if ((j | 0) == (d | 0)) {
  120143. k = d;
  120144. break a;
  120145. }
  120146. if ((a[j >> 0] | 0) != 73) {
  120147. k = j;
  120148. break a;
  120149. }
  120150. o = (e + 4) | 0;
  120151. p = c[o >> 2] | 0;
  120152. if ((c[e >> 2] | 0) == (p | 0)) {
  120153. k = b;
  120154. break a;
  120155. }
  120156. c[h >> 2] = c[(e + 12) >> 2];
  120157. vB(g, (p + -24) | 0, h);
  120158. p = (e + 20) | 0;
  120159. q = c[p >> 2] | 0;
  120160. if (q >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  120161. c[q >> 2] = 0;
  120162. r = (q + 4) | 0;
  120163. c[r >> 2] = 0;
  120164. s = (q + 8) | 0;
  120165. c[s >> 2] = 0;
  120166. c[(q + 12) >> 2] = c[(g + 12) >> 2];
  120167. c[q >> 2] = c[g >> 2];
  120168. q = (g + 4) | 0;
  120169. c[r >> 2] = c[q >> 2];
  120170. r = (g + 8) | 0;
  120171. c[s >> 2] = c[r >> 2];
  120172. c[r >> 2] = 0;
  120173. c[q >> 2] = 0;
  120174. c[g >> 2] = 0;
  120175. c[p >> 2] = (c[p >> 2] | 0) + 16;
  120176. } else wB((e + 16) | 0, g);
  120177. RA(g);
  120178. p = EB(j, d, e) | 0;
  120179. if ((p | 0) == (j | 0)) {
  120180. k = b;
  120181. break a;
  120182. }
  120183. q = c[o >> 2] | 0;
  120184. if (
  120185. ((((q - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  120186. 2
  120187. ) {
  120188. k = b;
  120189. break a;
  120190. }
  120191. FB(g, (q + -24) | 0);
  120192. q = c[o >> 2] | 0;
  120193. r = 0;
  120194. while (1) {
  120195. if ((r | 0) == -1) break;
  120196. s = (r + -1) | 0;
  120197. QA((q + ((s * 24) | 0)) | 0);
  120198. r = s;
  120199. }
  120200. c[o >> 2] = q + -24;
  120201. r = a[(g + 11) >> 0] | 0;
  120202. j = (r << 24) >> 24 < 0;
  120203. TA(
  120204. (q + -48) | 0,
  120205. j ? c[g >> 2] | 0 : g,
  120206. j ? c[(g + 4) >> 2] | 0 : r & 255
  120207. ) | 0;
  120208. iB(g);
  120209. k = p;
  120210. break a;
  120211. }
  120212. }
  120213. } else k = b;
  120214. } while (0);
  120215. l = f;
  120216. return k | 0;
  120217. }
  120218. function NB(b, d, e) {
  120219. b = b | 0;
  120220. d = d | 0;
  120221. e = e | 0;
  120222. var f = 0,
  120223. g = 0,
  120224. h = 0,
  120225. i = 0,
  120226. j = 0,
  120227. k = 0,
  120228. m = 0,
  120229. n = 0,
  120230. o = 0,
  120231. p = 0,
  120232. q = 0,
  120233. r = 0;
  120234. f = l;
  120235. l = (l + 32) | 0;
  120236. g = f;
  120237. a: do {
  120238. if (((d - b) | 0) > 1 ? (a[b >> 0] | 0) == 83 : 0) {
  120239. h = a[(b + 1) >> 0] | 0;
  120240. switch (h | 0) {
  120241. case 97: {
  120242. KC(g, 20001);
  120243. i = (e + 4) | 0;
  120244. j = c[i >> 2] | 0;
  120245. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120246. KB(j, g);
  120247. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120248. } else LB(e, g);
  120249. QA(g);
  120250. k = (b + 2) | 0;
  120251. break a;
  120252. break;
  120253. }
  120254. case 98: {
  120255. HC(g, 20016);
  120256. i = (e + 4) | 0;
  120257. j = c[i >> 2] | 0;
  120258. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120259. KB(j, g);
  120260. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120261. } else LB(e, g);
  120262. QA(g);
  120263. k = (b + 2) | 0;
  120264. break a;
  120265. break;
  120266. }
  120267. case 115: {
  120268. JC(g, 19495);
  120269. i = (e + 4) | 0;
  120270. j = c[i >> 2] | 0;
  120271. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120272. KB(j, g);
  120273. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120274. } else LB(e, g);
  120275. QA(g);
  120276. k = (b + 2) | 0;
  120277. break a;
  120278. break;
  120279. }
  120280. case 105: {
  120281. LC(g, 19591);
  120282. i = (e + 4) | 0;
  120283. j = c[i >> 2] | 0;
  120284. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120285. KB(j, g);
  120286. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120287. } else LB(e, g);
  120288. QA(g);
  120289. k = (b + 2) | 0;
  120290. break a;
  120291. break;
  120292. }
  120293. case 111: {
  120294. LC(g, 19668);
  120295. i = (e + 4) | 0;
  120296. j = c[i >> 2] | 0;
  120297. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120298. KB(j, g);
  120299. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120300. } else LB(e, g);
  120301. QA(g);
  120302. k = (b + 2) | 0;
  120303. break a;
  120304. break;
  120305. }
  120306. case 100: {
  120307. gD(g, 19745);
  120308. i = (e + 4) | 0;
  120309. j = c[i >> 2] | 0;
  120310. if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120311. KB(j, g);
  120312. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120313. } else LB(e, g);
  120314. QA(g);
  120315. k = (b + 2) | 0;
  120316. break a;
  120317. break;
  120318. }
  120319. case 95: {
  120320. i = c[(e + 16) >> 2] | 0;
  120321. if ((i | 0) == (c[(e + 20) >> 2] | 0)) {
  120322. k = b;
  120323. break a;
  120324. }
  120325. j = c[(i + 4) >> 2] | 0;
  120326. m = (e + 4) | 0;
  120327. n = (e + 8) | 0;
  120328. o = c[i >> 2] | 0;
  120329. while (1) {
  120330. if ((o | 0) == (j | 0)) break;
  120331. i = c[m >> 2] | 0;
  120332. if ((i | 0) == (c[n >> 2] | 0)) sB(e, o);
  120333. else {
  120334. rB(i, o);
  120335. c[m >> 2] = (c[m >> 2] | 0) + 24;
  120336. }
  120337. o = (o + 24) | 0;
  120338. }
  120339. k = (b + 2) | 0;
  120340. break a;
  120341. break;
  120342. }
  120343. default: {
  120344. o = (h + -48) | 0;
  120345. m = o >>> 0 < 10;
  120346. if (!m ? (Pz(h) | 0) == 0 : 0) {
  120347. k = b;
  120348. break a;
  120349. }
  120350. n = (b + 2) | 0;
  120351. j = m ? o : (h + -55) | 0;
  120352. while (1) {
  120353. if ((n | 0) == (d | 0)) {
  120354. k = b;
  120355. break a;
  120356. }
  120357. p = a[n >> 0] | 0;
  120358. o = (p << 24) >> 24;
  120359. m = (o + -48) | 0;
  120360. i = m >>> 0 < 10;
  120361. if (!i ? (Pz(o) | 0) == 0 : 0) break;
  120362. n = (n + 1) | 0;
  120363. j = ((i ? m : (o + -55) | 0) + ((j * 36) | 0)) | 0;
  120364. }
  120365. if ((p << 24) >> 24 != 95) {
  120366. k = b;
  120367. break a;
  120368. }
  120369. h = (j + 1) | 0;
  120370. o = c[(e + 16) >> 2] | 0;
  120371. m = o;
  120372. if (
  120373. h >>> 0 >=
  120374. (((c[(e + 20) >> 2] | 0) - o) >> 4) >>> 0
  120375. ) {
  120376. k = b;
  120377. break a;
  120378. }
  120379. o = c[(m + (h << 4) + 4) >> 2] | 0;
  120380. i = (e + 4) | 0;
  120381. q = (e + 8) | 0;
  120382. r = c[(m + (h << 4)) >> 2] | 0;
  120383. while (1) {
  120384. if ((r | 0) == (o | 0)) break;
  120385. h = c[i >> 2] | 0;
  120386. if ((h | 0) == (c[q >> 2] | 0)) sB(e, r);
  120387. else {
  120388. rB(h, r);
  120389. c[i >> 2] = (c[i >> 2] | 0) + 24;
  120390. }
  120391. r = (r + 24) | 0;
  120392. }
  120393. k = (n + 1) | 0;
  120394. break a;
  120395. }
  120396. }
  120397. } else k = b;
  120398. } while (0);
  120399. l = f;
  120400. return k | 0;
  120401. }
  120402. function OB(b, d, e) {
  120403. b = b | 0;
  120404. d = d | 0;
  120405. e = e | 0;
  120406. var f = 0,
  120407. g = 0,
  120408. h = 0,
  120409. i = 0,
  120410. j = 0,
  120411. k = 0,
  120412. m = 0,
  120413. n = 0,
  120414. o = 0;
  120415. f = l;
  120416. l = (l + 64) | 0;
  120417. g = (f + 40) | 0;
  120418. h = (f + 12) | 0;
  120419. i = (f + 24) | 0;
  120420. j = f;
  120421. a: do {
  120422. if (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 68 : 0) {
  120423. switch (a[(b + 1) >> 0] | 0) {
  120424. case 84:
  120425. case 116:
  120426. break;
  120427. default: {
  120428. k = b;
  120429. break a;
  120430. }
  120431. }
  120432. m = (b + 2) | 0;
  120433. n = SB(m, d, e) | 0;
  120434. if (
  120435. (
  120436. !(((n | 0) == (m | 0)) | ((n | 0) == (d | 0)))
  120437. ? (a[n >> 0] | 0) == 69
  120438. : 0
  120439. )
  120440. ? ((m = (e + 4) | 0),
  120441. (o = c[m >> 2] | 0),
  120442. (c[e >> 2] | 0) != (o | 0))
  120443. : 0
  120444. ) {
  120445. FB(j, (o + -24) | 0);
  120446. pB(j, 0, 19991) | 0;
  120447. c[i >> 2] = c[j >> 2];
  120448. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  120449. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  120450. o = 0;
  120451. while (1) {
  120452. if ((o | 0) == 3) break;
  120453. c[(j + (o << 2)) >> 2] = 0;
  120454. o = (o + 1) | 0;
  120455. }
  120456. qB(i, 18673) | 0;
  120457. c[h >> 2] = c[i >> 2];
  120458. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  120459. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  120460. o = 0;
  120461. while (1) {
  120462. if ((o | 0) == 3) break;
  120463. c[(i + (o << 2)) >> 2] = 0;
  120464. o = (o + 1) | 0;
  120465. }
  120466. IB(g, h);
  120467. JB(((c[m >> 2] | 0) + -24) | 0, g);
  120468. QA(g);
  120469. iB(h);
  120470. iB(i);
  120471. iB(j);
  120472. k = (n + 1) | 0;
  120473. } else k = b;
  120474. } else k = b;
  120475. } while (0);
  120476. l = f;
  120477. return k | 0;
  120478. }
  120479. function PB(b, d, e) {
  120480. b = b | 0;
  120481. d = d | 0;
  120482. e = e | 0;
  120483. var f = 0,
  120484. g = 0,
  120485. h = 0,
  120486. i = 0,
  120487. j = 0,
  120488. k = 0,
  120489. m = 0,
  120490. n = 0,
  120491. o = 0,
  120492. p = 0,
  120493. q = 0,
  120494. r = 0,
  120495. s = 0,
  120496. t = 0,
  120497. u = 0,
  120498. v = 0,
  120499. w = 0;
  120500. f = l;
  120501. l = (l + 64) | 0;
  120502. g = (f + 40) | 0;
  120503. h = (f + 12) | 0;
  120504. i = f;
  120505. j = (f + 24) | 0;
  120506. a: do {
  120507. if (
  120508. (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 68 : 0)
  120509. ? (a[(b + 1) >> 0] | 0) == 118
  120510. : 0
  120511. ) {
  120512. k = (b + 2) | 0;
  120513. m = a[k >> 0] | 0;
  120514. if (((m + -49) & 255) < 9) {
  120515. n = QB(k, d) | 0;
  120516. if ((n | 0) == (d | 0)) {
  120517. o = b;
  120518. break;
  120519. }
  120520. if ((a[n >> 0] | 0) != 95) {
  120521. o = b;
  120522. break;
  120523. }
  120524. p = (n - k) | 0;
  120525. q = (n + 1) | 0;
  120526. if ((q | 0) == (d | 0)) {
  120527. o = b;
  120528. break;
  120529. }
  120530. if ((a[q >> 0] | 0) != 112) {
  120531. r = mB(q, d, e) | 0;
  120532. if ((r | 0) == (q | 0)) {
  120533. o = b;
  120534. break;
  120535. }
  120536. q = (e + 4) | 0;
  120537. if ((c[e >> 2] | 0) == (c[q >> 2] | 0)) {
  120538. o = b;
  120539. break;
  120540. }
  120541. c[i >> 2] = 0;
  120542. c[(i + 4) >> 2] = 0;
  120543. c[(i + 8) >> 2] = 0;
  120544. RB(i, k, p);
  120545. pB(i, 0, 18713) | 0;
  120546. c[h >> 2] = c[i >> 2];
  120547. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  120548. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  120549. s = 0;
  120550. while (1) {
  120551. if ((s | 0) == 3) break;
  120552. c[(i + (s << 2)) >> 2] = 0;
  120553. s = (s + 1) | 0;
  120554. }
  120555. qB(h, 18722) | 0;
  120556. c[g >> 2] = c[h >> 2];
  120557. c[(g + 4) >> 2] = c[(h + 4) >> 2];
  120558. c[(g + 8) >> 2] = c[(h + 8) >> 2];
  120559. s = 0;
  120560. while (1) {
  120561. if ((s | 0) == 3) break;
  120562. c[(h + (s << 2)) >> 2] = 0;
  120563. s = (s + 1) | 0;
  120564. }
  120565. s = a[(g + 11) >> 0] | 0;
  120566. t = (s << 24) >> 24 < 0;
  120567. TA(
  120568. ((c[q >> 2] | 0) + -24) | 0,
  120569. t ? c[g >> 2] | 0 : g,
  120570. t ? c[(g + 4) >> 2] | 0 : s & 255
  120571. ) | 0;
  120572. iB(g);
  120573. iB(h);
  120574. iB(i);
  120575. o = r;
  120576. break;
  120577. }
  120578. s = (n + 2) | 0;
  120579. c[i >> 2] = 0;
  120580. c[(i + 4) >> 2] = 0;
  120581. c[(i + 8) >> 2] = 0;
  120582. RB(i, k, p);
  120583. pB(i, 0, 18724) | 0;
  120584. c[h >> 2] = c[i >> 2];
  120585. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  120586. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  120587. t = 0;
  120588. while (1) {
  120589. if ((t | 0) == 3) break;
  120590. c[(i + (t << 2)) >> 2] = 0;
  120591. t = (t + 1) | 0;
  120592. }
  120593. qB(h, 18722) | 0;
  120594. c[j >> 2] = c[h >> 2];
  120595. c[(j + 4) >> 2] = c[(h + 4) >> 2];
  120596. c[(j + 8) >> 2] = c[(h + 8) >> 2];
  120597. t = 0;
  120598. while (1) {
  120599. if ((t | 0) == 3) break;
  120600. c[(h + (t << 2)) >> 2] = 0;
  120601. t = (t + 1) | 0;
  120602. }
  120603. IB(g, j);
  120604. t = (e + 4) | 0;
  120605. p = c[t >> 2] | 0;
  120606. if (p >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  120607. KB(p, g);
  120608. c[t >> 2] = (c[t >> 2] | 0) + 24;
  120609. } else LB(e, g);
  120610. QA(g);
  120611. iB(j);
  120612. iB(h);
  120613. iB(i);
  120614. o = s;
  120615. break;
  120616. }
  120617. c[h >> 2] = 0;
  120618. c[(h + 4) >> 2] = 0;
  120619. c[(h + 8) >> 2] = 0;
  120620. t = 0;
  120621. while (1) {
  120622. if ((t | 0) == 3) break;
  120623. c[(h + (t << 2)) >> 2] = 0;
  120624. t = (t + 1) | 0;
  120625. }
  120626. if (
  120627. (m << 24) >> 24 != 95
  120628. ? ((t = SB(k, d, e) | 0), (t | 0) != (k | 0))
  120629. : 0
  120630. ) {
  120631. s = (e + 4) | 0;
  120632. p = c[s >> 2] | 0;
  120633. if ((c[e >> 2] | 0) != (p | 0)) {
  120634. FB(i, (p + -24) | 0);
  120635. p = (h + 11) | 0;
  120636. if ((a[p >> 0] | 0) < 0) {
  120637. n = c[h >> 2] | 0;
  120638. a[g >> 0] = 0;
  120639. cB(n, g);
  120640. c[(h + 4) >> 2] = 0;
  120641. } else {
  120642. a[g >> 0] = 0;
  120643. cB(h, g);
  120644. a[p >> 0] = 0;
  120645. }
  120646. TB(h);
  120647. c[h >> 2] = c[i >> 2];
  120648. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  120649. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  120650. p = 0;
  120651. while (1) {
  120652. if ((p | 0) == 3) break;
  120653. c[(i + (p << 2)) >> 2] = 0;
  120654. p = (p + 1) | 0;
  120655. }
  120656. iB(i);
  120657. p = c[s >> 2] | 0;
  120658. m = 0;
  120659. while (1) {
  120660. if ((m | 0) == -1) break;
  120661. n = (m + -1) | 0;
  120662. QA((p + ((n * 24) | 0)) | 0);
  120663. m = n;
  120664. }
  120665. c[s >> 2] = p + -24;
  120666. u = t;
  120667. v = 44;
  120668. }
  120669. } else {
  120670. u = k;
  120671. v = 44;
  120672. }
  120673. do {
  120674. if ((v | 0) == 44) {
  120675. if (
  120676. (
  120677. ((u | 0) != (d | 0) ? (a[u >> 0] | 0) == 95 : 0)
  120678. ? ((m = (u + 1) | 0), (m | 0) != (d | 0))
  120679. : 0
  120680. )
  120681. ? ((n = mB(m, d, e) | 0), (n | 0) != (m | 0))
  120682. : 0
  120683. ) {
  120684. m = (e + 4) | 0;
  120685. if ((c[e >> 2] | 0) == (c[m >> 2] | 0)) break;
  120686. UB(i, 18713, h);
  120687. qB(i, 18722) | 0;
  120688. c[g >> 2] = c[i >> 2];
  120689. c[(g + 4) >> 2] = c[(i + 4) >> 2];
  120690. c[(g + 8) >> 2] = c[(i + 8) >> 2];
  120691. r = 0;
  120692. while (1) {
  120693. if ((r | 0) == 3) break;
  120694. c[(i + (r << 2)) >> 2] = 0;
  120695. r = (r + 1) | 0;
  120696. }
  120697. r = a[(g + 11) >> 0] | 0;
  120698. q = (r << 24) >> 24 < 0;
  120699. TA(
  120700. ((c[m >> 2] | 0) + -24) | 0,
  120701. q ? c[g >> 2] | 0 : g,
  120702. q ? c[(g + 4) >> 2] | 0 : r & 255
  120703. ) | 0;
  120704. iB(g);
  120705. iB(i);
  120706. w = n;
  120707. } else w = b;
  120708. iB(h);
  120709. o = w;
  120710. break a;
  120711. }
  120712. } while (0);
  120713. iB(h);
  120714. o = b;
  120715. } else o = b;
  120716. } while (0);
  120717. l = f;
  120718. return o | 0;
  120719. }
  120720. function QB(b, c) {
  120721. b = b | 0;
  120722. c = c | 0;
  120723. var d = 0,
  120724. e = 0,
  120725. f = 0;
  120726. a: do {
  120727. if (
  120728. (b | 0) != (c | 0)
  120729. ? ((d = (a[b >> 0] | 0) == 110 ? (b + 1) | 0 : b),
  120730. (d | 0) != (c | 0))
  120731. : 0
  120732. ) {
  120733. e = a[d >> 0] | 0;
  120734. if ((e << 24) >> 24 == 48) {
  120735. f = (d + 1) | 0;
  120736. break;
  120737. }
  120738. if (((e + -49) & 255) < 9) {
  120739. e = d;
  120740. while (1) {
  120741. d = (e + 1) | 0;
  120742. if ((d | 0) == (c | 0)) {
  120743. f = c;
  120744. break a;
  120745. }
  120746. if ((((a[d >> 0] | 0) + -48) | 0) >>> 0 < 10) e = d;
  120747. else {
  120748. f = d;
  120749. break;
  120750. }
  120751. }
  120752. } else f = b;
  120753. } else f = b;
  120754. } while (0);
  120755. return f | 0;
  120756. }
  120757. function RB(b, d, e) {
  120758. b = b | 0;
  120759. d = d | 0;
  120760. e = e | 0;
  120761. var f = 0,
  120762. g = 0,
  120763. h = 0,
  120764. i = 0,
  120765. j = 0;
  120766. f = l;
  120767. l = (l + 16) | 0;
  120768. g = f;
  120769. if (e >>> 0 > 4294967279) eB(b);
  120770. if (e >>> 0 < 11) {
  120771. a[(b + 11) >> 0] = e;
  120772. h = b;
  120773. } else {
  120774. i = (e + 16) & -16;
  120775. j = fB(i) | 0;
  120776. c[b >> 2] = j;
  120777. c[(b + 8) >> 2] = i | -2147483648;
  120778. c[(b + 4) >> 2] = e;
  120779. h = j;
  120780. }
  120781. bB(h, d, e) | 0;
  120782. a[g >> 0] = 0;
  120783. cB((h + e) | 0, g);
  120784. l = f;
  120785. return;
  120786. }
  120787. function SB(b, d, e) {
  120788. b = b | 0;
  120789. d = d | 0;
  120790. e = e | 0;
  120791. var f = 0,
  120792. g = 0,
  120793. h = 0,
  120794. i = 0,
  120795. j = 0,
  120796. k = 0,
  120797. m = 0,
  120798. n = 0,
  120799. o = 0,
  120800. p = 0,
  120801. q = 0,
  120802. r = 0,
  120803. s = 0,
  120804. t = 0,
  120805. u = 0,
  120806. v = 0,
  120807. w = 0,
  120808. x = 0,
  120809. y = 0,
  120810. z = 0,
  120811. A = 0,
  120812. B = 0,
  120813. C = 0,
  120814. D = 0,
  120815. E = 0,
  120816. F = 0,
  120817. G = 0;
  120818. f = l;
  120819. l = (l + 208) | 0;
  120820. g = (f + 176) | 0;
  120821. h = (f + 112) | 0;
  120822. i = (f + 88) | 0;
  120823. j = (f + 64) | 0;
  120824. k = (f + 48) | 0;
  120825. m = (f + 160) | 0;
  120826. n = (f + 36) | 0;
  120827. o = (f + 148) | 0;
  120828. p = (f + 136) | 0;
  120829. q = (f + 124) | 0;
  120830. r = (f + 24) | 0;
  120831. s = (f + 12) | 0;
  120832. t = f;
  120833. u = d;
  120834. v = (u - b) | 0;
  120835. a: do {
  120836. if ((v | 0) > 1) {
  120837. if ((v | 0) > 3 ? (a[b >> 0] | 0) == 103 : 0) {
  120838. w = (a[(b + 1) >> 0] | 0) == 115;
  120839. x = w ? (b + 2) | 0 : b;
  120840. y = w;
  120841. } else {
  120842. x = b;
  120843. y = 0;
  120844. }
  120845. do {
  120846. switch (a[x >> 0] | 0) {
  120847. case 76: {
  120848. z = WB(b, d, e) | 0;
  120849. break a;
  120850. break;
  120851. }
  120852. case 84: {
  120853. z = DB(b, d, e) | 0;
  120854. break a;
  120855. break;
  120856. }
  120857. case 102: {
  120858. z = XB(b, d, e) | 0;
  120859. break a;
  120860. break;
  120861. }
  120862. case 97: {
  120863. switch (a[(x + 1) >> 0] | 0) {
  120864. case 97: {
  120865. w = (b + 2) | 0;
  120866. c[g >> 2] = 0;
  120867. c[(g + 4) >> 2] = 0;
  120868. c[(g + 8) >> 2] = 0;
  120869. RB(g, 18677, AB(18677) | 0);
  120870. A = YB(w, d, g, e) | 0;
  120871. iB(g);
  120872. z = (A | 0) == (w | 0) ? b : A;
  120873. break a;
  120874. break;
  120875. }
  120876. case 100: {
  120877. A = (b + 2) | 0;
  120878. c[g >> 2] = 0;
  120879. c[(g + 4) >> 2] = 0;
  120880. c[(g + 8) >> 2] = 0;
  120881. RB(g, 18695, AB(18695) | 0);
  120882. w = ZB(A, d, g, e) | 0;
  120883. iB(g);
  120884. z = (w | 0) == (A | 0) ? b : w;
  120885. break a;
  120886. break;
  120887. }
  120888. case 110: {
  120889. w = (b + 2) | 0;
  120890. c[g >> 2] = 0;
  120891. c[(g + 4) >> 2] = 0;
  120892. c[(g + 8) >> 2] = 0;
  120893. RB(g, 18695, AB(18695) | 0);
  120894. A = YB(w, d, g, e) | 0;
  120895. iB(g);
  120896. z = (A | 0) == (w | 0) ? b : A;
  120897. break a;
  120898. break;
  120899. }
  120900. case 78: {
  120901. A = (b + 2) | 0;
  120902. c[g >> 2] = 0;
  120903. c[(g + 4) >> 2] = 0;
  120904. c[(g + 8) >> 2] = 0;
  120905. RB(g, 18738, AB(18738) | 0);
  120906. w = YB(A, d, g, e) | 0;
  120907. iB(g);
  120908. z = (w | 0) == (A | 0) ? b : w;
  120909. break a;
  120910. break;
  120911. }
  120912. case 83: {
  120913. w = (b + 2) | 0;
  120914. c[g >> 2] = 0;
  120915. c[(g + 4) >> 2] = 0;
  120916. c[(g + 8) >> 2] = 0;
  120917. RB(g, 18741, AB(18741) | 0);
  120918. A = YB(w, d, g, e) | 0;
  120919. iB(g);
  120920. z = (A | 0) == (w | 0) ? b : A;
  120921. break a;
  120922. break;
  120923. }
  120924. case 116: {
  120925. z = _B(b, d, e) | 0;
  120926. break a;
  120927. break;
  120928. }
  120929. case 122: {
  120930. z = $B(b, d, e) | 0;
  120931. break a;
  120932. break;
  120933. }
  120934. default: {
  120935. z = b;
  120936. break a;
  120937. }
  120938. }
  120939. break;
  120940. }
  120941. case 99: {
  120942. switch (a[(x + 1) >> 0] | 0) {
  120943. case 99: {
  120944. z = aC(b, d, e) | 0;
  120945. break a;
  120946. break;
  120947. }
  120948. case 108: {
  120949. z = bC(b, d, e) | 0;
  120950. break a;
  120951. break;
  120952. }
  120953. case 109: {
  120954. A = (b + 2) | 0;
  120955. c[g >> 2] = 0;
  120956. c[(g + 4) >> 2] = 0;
  120957. c[(g + 8) >> 2] = 0;
  120958. RB(g, 18743, AB(18743) | 0);
  120959. w = YB(A, d, g, e) | 0;
  120960. iB(g);
  120961. z = (w | 0) == (A | 0) ? b : w;
  120962. break a;
  120963. break;
  120964. }
  120965. case 111: {
  120966. w = (b + 2) | 0;
  120967. c[g >> 2] = 0;
  120968. c[(g + 4) >> 2] = 0;
  120969. c[(g + 8) >> 2] = 0;
  120970. RB(g, 18745, AB(18745) | 0);
  120971. A = ZB(w, d, g, e) | 0;
  120972. iB(g);
  120973. z = (A | 0) == (w | 0) ? b : A;
  120974. break a;
  120975. break;
  120976. }
  120977. case 118: {
  120978. z = cC(b, d, e) | 0;
  120979. break a;
  120980. break;
  120981. }
  120982. default: {
  120983. z = b;
  120984. break a;
  120985. }
  120986. }
  120987. break;
  120988. }
  120989. case 100: {
  120990. switch (a[(x + 1) >> 0] | 0) {
  120991. case 97: {
  120992. A = (x + 2) | 0;
  120993. w = SB(A, d, e) | 0;
  120994. if ((w | 0) == (A | 0)) {
  120995. z = b;
  120996. break a;
  120997. }
  120998. A = (e + 4) | 0;
  120999. if ((c[e >> 2] | 0) == (c[A >> 2] | 0)) {
  121000. z = b;
  121001. break a;
  121002. }
  121003. c[j >> 2] = 0;
  121004. c[(j + 4) >> 2] = 0;
  121005. c[(j + 8) >> 2] = 0;
  121006. b: do {
  121007. if (y) RB(j, 18747, AB(18747) | 0);
  121008. else {
  121009. B = 0;
  121010. while (1) {
  121011. if ((B | 0) == 3) break b;
  121012. c[(j + (B << 2)) >> 2] = 0;
  121013. B = (B + 1) | 0;
  121014. }
  121015. }
  121016. } while (0);
  121017. qB(j, 18750) | 0;
  121018. c[i >> 2] = c[j >> 2];
  121019. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  121020. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  121021. B = 0;
  121022. while (1) {
  121023. if ((B | 0) == 3) break;
  121024. c[(j + (B << 2)) >> 2] = 0;
  121025. B = (B + 1) | 0;
  121026. }
  121027. FB(k, ((c[A >> 2] | 0) + -24) | 0);
  121028. B = a[(k + 11) >> 0] | 0;
  121029. C = (B << 24) >> 24 < 0;
  121030. TA(
  121031. i,
  121032. C ? c[k >> 2] | 0 : k,
  121033. C ? c[(k + 4) >> 2] | 0 : B & 255
  121034. ) | 0;
  121035. c[h >> 2] = c[i >> 2];
  121036. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  121037. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  121038. B = 0;
  121039. while (1) {
  121040. if ((B | 0) == 3) break;
  121041. c[(i + (B << 2)) >> 2] = 0;
  121042. B = (B + 1) | 0;
  121043. }
  121044. B = c[A >> 2] | 0;
  121045. C = (B + -24) | 0;
  121046. D = (C + 11) | 0;
  121047. if ((a[D >> 0] | 0) < 0) {
  121048. E = c[C >> 2] | 0;
  121049. a[g >> 0] = 0;
  121050. cB(E, g);
  121051. c[(B + -20) >> 2] = 0;
  121052. } else {
  121053. a[g >> 0] = 0;
  121054. cB(C, g);
  121055. a[D >> 0] = 0;
  121056. }
  121057. TB(C);
  121058. c[C >> 2] = c[h >> 2];
  121059. c[(C + 4) >> 2] = c[(h + 4) >> 2];
  121060. c[(C + 8) >> 2] = c[(h + 8) >> 2];
  121061. C = 0;
  121062. while (1) {
  121063. if ((C | 0) == 3) break;
  121064. c[(h + (C << 2)) >> 2] = 0;
  121065. C = (C + 1) | 0;
  121066. }
  121067. iB(h);
  121068. iB(k);
  121069. iB(i);
  121070. iB(j);
  121071. z = w;
  121072. break a;
  121073. break;
  121074. }
  121075. case 99: {
  121076. z = dC(b, d, e) | 0;
  121077. break a;
  121078. break;
  121079. }
  121080. case 101: {
  121081. C = (b + 2) | 0;
  121082. c[g >> 2] = 0;
  121083. c[(g + 4) >> 2] = 0;
  121084. c[(g + 8) >> 2] = 0;
  121085. RB(g, 18693, AB(18693) | 0);
  121086. A = ZB(C, d, g, e) | 0;
  121087. iB(g);
  121088. z = (A | 0) == (C | 0) ? b : A;
  121089. break a;
  121090. break;
  121091. }
  121092. case 108: {
  121093. A = (x + 2) | 0;
  121094. C = SB(A, d, e) | 0;
  121095. if ((C | 0) == (A | 0)) {
  121096. z = b;
  121097. break a;
  121098. }
  121099. A = (e + 4) | 0;
  121100. if ((c[e >> 2] | 0) == (c[A >> 2] | 0)) {
  121101. z = b;
  121102. break a;
  121103. }
  121104. c[j >> 2] = 0;
  121105. c[(j + 4) >> 2] = 0;
  121106. c[(j + 8) >> 2] = 0;
  121107. c: do {
  121108. if (y) RB(j, 18747, AB(18747) | 0);
  121109. else {
  121110. D = 0;
  121111. while (1) {
  121112. if ((D | 0) == 3) break c;
  121113. c[(j + (D << 2)) >> 2] = 0;
  121114. D = (D + 1) | 0;
  121115. }
  121116. }
  121117. } while (0);
  121118. qB(j, 18760) | 0;
  121119. c[i >> 2] = c[j >> 2];
  121120. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  121121. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  121122. w = 0;
  121123. while (1) {
  121124. if ((w | 0) == 3) break;
  121125. c[(j + (w << 2)) >> 2] = 0;
  121126. w = (w + 1) | 0;
  121127. }
  121128. FB(k, ((c[A >> 2] | 0) + -24) | 0);
  121129. w = a[(k + 11) >> 0] | 0;
  121130. D = (w << 24) >> 24 < 0;
  121131. TA(
  121132. i,
  121133. D ? c[k >> 2] | 0 : k,
  121134. D ? c[(k + 4) >> 2] | 0 : w & 255
  121135. ) | 0;
  121136. c[h >> 2] = c[i >> 2];
  121137. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  121138. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  121139. w = 0;
  121140. while (1) {
  121141. if ((w | 0) == 3) break;
  121142. c[(i + (w << 2)) >> 2] = 0;
  121143. w = (w + 1) | 0;
  121144. }
  121145. w = c[A >> 2] | 0;
  121146. D = (w + -24) | 0;
  121147. B = (D + 11) | 0;
  121148. if ((a[B >> 0] | 0) < 0) {
  121149. E = c[D >> 2] | 0;
  121150. a[g >> 0] = 0;
  121151. cB(E, g);
  121152. c[(w + -20) >> 2] = 0;
  121153. } else {
  121154. a[g >> 0] = 0;
  121155. cB(D, g);
  121156. a[B >> 0] = 0;
  121157. }
  121158. TB(D);
  121159. c[D >> 2] = c[h >> 2];
  121160. c[(D + 4) >> 2] = c[(h + 4) >> 2];
  121161. c[(D + 8) >> 2] = c[(h + 8) >> 2];
  121162. D = 0;
  121163. while (1) {
  121164. if ((D | 0) == 3) break;
  121165. c[(h + (D << 2)) >> 2] = 0;
  121166. D = (D + 1) | 0;
  121167. }
  121168. iB(h);
  121169. iB(k);
  121170. iB(i);
  121171. iB(j);
  121172. z = C;
  121173. break a;
  121174. break;
  121175. }
  121176. case 110: {
  121177. z = eC(b, d, e) | 0;
  121178. break a;
  121179. break;
  121180. }
  121181. case 115: {
  121182. z = fC(b, d, e) | 0;
  121183. break a;
  121184. break;
  121185. }
  121186. case 116: {
  121187. z = gC(b, d, e) | 0;
  121188. break a;
  121189. break;
  121190. }
  121191. case 118: {
  121192. D = (b + 2) | 0;
  121193. c[g >> 2] = 0;
  121194. c[(g + 4) >> 2] = 0;
  121195. c[(g + 8) >> 2] = 0;
  121196. RB(g, 18768, AB(18768) | 0);
  121197. A = YB(D, d, g, e) | 0;
  121198. iB(g);
  121199. z = (A | 0) == (D | 0) ? b : A;
  121200. break a;
  121201. break;
  121202. }
  121203. case 86: {
  121204. A = (b + 2) | 0;
  121205. c[g >> 2] = 0;
  121206. c[(g + 4) >> 2] = 0;
  121207. c[(g + 8) >> 2] = 0;
  121208. RB(g, 18770, AB(18770) | 0);
  121209. D = YB(A, d, g, e) | 0;
  121210. iB(g);
  121211. z = (D | 0) == (A | 0) ? b : D;
  121212. break a;
  121213. break;
  121214. }
  121215. default: {
  121216. z = b;
  121217. break a;
  121218. }
  121219. }
  121220. break;
  121221. }
  121222. case 101: {
  121223. switch (a[(x + 1) >> 0] | 0) {
  121224. case 111: {
  121225. D = (b + 2) | 0;
  121226. c[g >> 2] = 0;
  121227. c[(g + 4) >> 2] = 0;
  121228. c[(g + 8) >> 2] = 0;
  121229. RB(g, 18773, AB(18773) | 0);
  121230. A = YB(D, d, g, e) | 0;
  121231. iB(g);
  121232. z = (A | 0) == (D | 0) ? b : A;
  121233. break a;
  121234. break;
  121235. }
  121236. case 79: {
  121237. A = (b + 2) | 0;
  121238. c[g >> 2] = 0;
  121239. c[(g + 4) >> 2] = 0;
  121240. c[(g + 8) >> 2] = 0;
  121241. RB(g, 18775, AB(18775) | 0);
  121242. D = YB(A, d, g, e) | 0;
  121243. iB(g);
  121244. z = (D | 0) == (A | 0) ? b : D;
  121245. break a;
  121246. break;
  121247. }
  121248. case 113: {
  121249. D = (b + 2) | 0;
  121250. c[g >> 2] = 0;
  121251. c[(g + 4) >> 2] = 0;
  121252. c[(g + 8) >> 2] = 0;
  121253. RB(g, 18778, AB(18778) | 0);
  121254. A = YB(D, d, g, e) | 0;
  121255. iB(g);
  121256. z = (A | 0) == (D | 0) ? b : A;
  121257. break a;
  121258. break;
  121259. }
  121260. default: {
  121261. z = b;
  121262. break a;
  121263. }
  121264. }
  121265. break;
  121266. }
  121267. case 103: {
  121268. switch (a[(x + 1) >> 0] | 0) {
  121269. case 101: {
  121270. A = (b + 2) | 0;
  121271. c[g >> 2] = 0;
  121272. c[(g + 4) >> 2] = 0;
  121273. c[(g + 8) >> 2] = 0;
  121274. RB(g, 18781, AB(18781) | 0);
  121275. D = YB(A, d, g, e) | 0;
  121276. iB(g);
  121277. z = (D | 0) == (A | 0) ? b : D;
  121278. break a;
  121279. break;
  121280. }
  121281. case 116: {
  121282. D = (b + 2) | 0;
  121283. c[g >> 2] = 0;
  121284. c[(g + 4) >> 2] = 0;
  121285. c[(g + 8) >> 2] = 0;
  121286. RB(g, 18711, AB(18711) | 0);
  121287. A = YB(D, d, g, e) | 0;
  121288. iB(g);
  121289. z = (A | 0) == (D | 0) ? b : A;
  121290. break a;
  121291. break;
  121292. }
  121293. default: {
  121294. z = b;
  121295. break a;
  121296. }
  121297. }
  121298. break;
  121299. }
  121300. case 105: {
  121301. if ((a[(x + 1) >> 0] | 0) != 120) {
  121302. z = b;
  121303. break a;
  121304. }
  121305. A = (b + 2) | 0;
  121306. D = SB(A, d, e) | 0;
  121307. if ((D | 0) == (A | 0)) {
  121308. z = b;
  121309. break a;
  121310. }
  121311. A = SB(D, d, e) | 0;
  121312. B = (e + 4) | 0;
  121313. if ((A | 0) == (D | 0)) {
  121314. D = c[B >> 2] | 0;
  121315. w = 0;
  121316. while (1) {
  121317. if ((w | 0) == -1) break;
  121318. E = (w + -1) | 0;
  121319. QA((D + ((E * 24) | 0)) | 0);
  121320. w = E;
  121321. }
  121322. c[B >> 2] = D + -24;
  121323. z = b;
  121324. break a;
  121325. }
  121326. w = c[B >> 2] | 0;
  121327. if (
  121328. ((((w - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  121329. 2
  121330. ) {
  121331. z = b;
  121332. break a;
  121333. }
  121334. FB(g, (w + -24) | 0);
  121335. w = c[B >> 2] | 0;
  121336. C = 0;
  121337. while (1) {
  121338. if ((C | 0) == -1) break;
  121339. E = (C + -1) | 0;
  121340. QA((w + ((E * 24) | 0)) | 0);
  121341. C = E;
  121342. }
  121343. c[B >> 2] = w + -24;
  121344. FB(h, (w + -48) | 0);
  121345. UB(n, 18675, h);
  121346. qB(n, 18784) | 0;
  121347. c[k >> 2] = c[n >> 2];
  121348. c[(k + 4) >> 2] = c[(n + 4) >> 2];
  121349. c[(k + 8) >> 2] = c[(n + 8) >> 2];
  121350. C = 0;
  121351. while (1) {
  121352. if ((C | 0) == 3) break;
  121353. c[(n + (C << 2)) >> 2] = 0;
  121354. C = (C + 1) | 0;
  121355. }
  121356. C = a[(g + 11) >> 0] | 0;
  121357. w = (C << 24) >> 24 < 0;
  121358. TA(
  121359. k,
  121360. w ? c[g >> 2] | 0 : g,
  121361. w ? c[(g + 4) >> 2] | 0 : C & 255
  121362. ) | 0;
  121363. c[j >> 2] = c[k >> 2];
  121364. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  121365. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  121366. C = 0;
  121367. while (1) {
  121368. if ((C | 0) == 3) break;
  121369. c[(k + (C << 2)) >> 2] = 0;
  121370. C = (C + 1) | 0;
  121371. }
  121372. qB(j, 18722) | 0;
  121373. c[m >> 2] = c[j >> 2];
  121374. c[(m + 4) >> 2] = c[(j + 4) >> 2];
  121375. c[(m + 8) >> 2] = c[(j + 8) >> 2];
  121376. C = 0;
  121377. while (1) {
  121378. if ((C | 0) == 3) break;
  121379. c[(j + (C << 2)) >> 2] = 0;
  121380. C = (C + 1) | 0;
  121381. }
  121382. IB(i, m);
  121383. JB(((c[B >> 2] | 0) + -24) | 0, i);
  121384. QA(i);
  121385. iB(m);
  121386. iB(j);
  121387. iB(k);
  121388. iB(n);
  121389. iB(h);
  121390. iB(g);
  121391. z = A;
  121392. break a;
  121393. break;
  121394. }
  121395. case 108: {
  121396. switch (a[(x + 1) >> 0] | 0) {
  121397. case 101: {
  121398. C = (b + 2) | 0;
  121399. c[g >> 2] = 0;
  121400. c[(g + 4) >> 2] = 0;
  121401. c[(g + 8) >> 2] = 0;
  121402. RB(g, 18787, AB(18787) | 0);
  121403. w = YB(C, d, g, e) | 0;
  121404. iB(g);
  121405. z = (w | 0) == (C | 0) ? b : w;
  121406. break a;
  121407. break;
  121408. }
  121409. case 115: {
  121410. w = (b + 2) | 0;
  121411. c[g >> 2] = 0;
  121412. c[(g + 4) >> 2] = 0;
  121413. c[(g + 8) >> 2] = 0;
  121414. RB(g, 18790, AB(18790) | 0);
  121415. C = YB(w, d, g, e) | 0;
  121416. iB(g);
  121417. z = (C | 0) == (w | 0) ? b : C;
  121418. break a;
  121419. break;
  121420. }
  121421. case 83: {
  121422. C = (b + 2) | 0;
  121423. c[g >> 2] = 0;
  121424. c[(g + 4) >> 2] = 0;
  121425. c[(g + 8) >> 2] = 0;
  121426. RB(g, 18793, AB(18793) | 0);
  121427. w = YB(C, d, g, e) | 0;
  121428. iB(g);
  121429. z = (w | 0) == (C | 0) ? b : w;
  121430. break a;
  121431. break;
  121432. }
  121433. case 116: {
  121434. w = (b + 2) | 0;
  121435. c[g >> 2] = 0;
  121436. c[(g + 4) >> 2] = 0;
  121437. c[(g + 8) >> 2] = 0;
  121438. RB(g, 18709, AB(18709) | 0);
  121439. C = YB(w, d, g, e) | 0;
  121440. iB(g);
  121441. z = (C | 0) == (w | 0) ? b : C;
  121442. break a;
  121443. break;
  121444. }
  121445. default: {
  121446. z = b;
  121447. break a;
  121448. }
  121449. }
  121450. break;
  121451. }
  121452. case 109: {
  121453. switch (a[(x + 1) >> 0] | 0) {
  121454. case 105: {
  121455. C = (b + 2) | 0;
  121456. c[g >> 2] = 0;
  121457. c[(g + 4) >> 2] = 0;
  121458. c[(g + 8) >> 2] = 0;
  121459. RB(g, 18797, AB(18797) | 0);
  121460. w = YB(C, d, g, e) | 0;
  121461. iB(g);
  121462. z = (w | 0) == (C | 0) ? b : w;
  121463. break a;
  121464. break;
  121465. }
  121466. case 73: {
  121467. w = (b + 2) | 0;
  121468. c[g >> 2] = 0;
  121469. c[(g + 4) >> 2] = 0;
  121470. c[(g + 8) >> 2] = 0;
  121471. RB(g, 18799, AB(18799) | 0);
  121472. C = YB(w, d, g, e) | 0;
  121473. iB(g);
  121474. z = (C | 0) == (w | 0) ? b : C;
  121475. break a;
  121476. break;
  121477. }
  121478. case 108: {
  121479. C = (b + 2) | 0;
  121480. c[g >> 2] = 0;
  121481. c[(g + 4) >> 2] = 0;
  121482. c[(g + 8) >> 2] = 0;
  121483. RB(g, 18693, AB(18693) | 0);
  121484. w = YB(C, d, g, e) | 0;
  121485. iB(g);
  121486. z = (w | 0) == (C | 0) ? b : w;
  121487. break a;
  121488. break;
  121489. }
  121490. case 76: {
  121491. w = (b + 2) | 0;
  121492. c[g >> 2] = 0;
  121493. c[(g + 4) >> 2] = 0;
  121494. c[(g + 8) >> 2] = 0;
  121495. RB(g, 18802, AB(18802) | 0);
  121496. C = YB(w, d, g, e) | 0;
  121497. iB(g);
  121498. z = (C | 0) == (w | 0) ? b : C;
  121499. break a;
  121500. break;
  121501. }
  121502. case 109: {
  121503. C = (b + 2) | 0;
  121504. if (
  121505. (C | 0) != (d | 0) ? (a[C >> 0] | 0) == 95 : 0
  121506. ) {
  121507. w = (b + 3) | 0;
  121508. c[g >> 2] = 0;
  121509. c[(g + 4) >> 2] = 0;
  121510. c[(g + 8) >> 2] = 0;
  121511. RB(g, 18805, AB(18805) | 0);
  121512. D = ZB(w, d, g, e) | 0;
  121513. iB(g);
  121514. z = (D | 0) == (w | 0) ? b : D;
  121515. break a;
  121516. }
  121517. D = SB(C, d, e) | 0;
  121518. if ((D | 0) == (C | 0)) {
  121519. z = b;
  121520. break a;
  121521. }
  121522. C = (e + 4) | 0;
  121523. w = c[C >> 2] | 0;
  121524. if ((c[e >> 2] | 0) == (w | 0)) {
  121525. z = b;
  121526. break a;
  121527. }
  121528. FB(i, (w + -24) | 0);
  121529. pB(i, 0, 18675) | 0;
  121530. c[h >> 2] = c[i >> 2];
  121531. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  121532. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  121533. w = 0;
  121534. while (1) {
  121535. if ((w | 0) == 3) break;
  121536. c[(i + (w << 2)) >> 2] = 0;
  121537. w = (w + 1) | 0;
  121538. }
  121539. qB(h, 18808) | 0;
  121540. c[o >> 2] = c[h >> 2];
  121541. c[(o + 4) >> 2] = c[(h + 4) >> 2];
  121542. c[(o + 8) >> 2] = c[(h + 8) >> 2];
  121543. w = 0;
  121544. while (1) {
  121545. if ((w | 0) == 3) break;
  121546. c[(h + (w << 2)) >> 2] = 0;
  121547. w = (w + 1) | 0;
  121548. }
  121549. IB(g, o);
  121550. JB(((c[C >> 2] | 0) + -24) | 0, g);
  121551. QA(g);
  121552. iB(o);
  121553. iB(h);
  121554. iB(i);
  121555. z = D;
  121556. break a;
  121557. break;
  121558. }
  121559. default: {
  121560. z = b;
  121561. break a;
  121562. }
  121563. }
  121564. break;
  121565. }
  121566. case 110: {
  121567. switch (a[(x + 1) >> 0] | 0) {
  121568. case 119:
  121569. case 97: {
  121570. z = hC(b, d, e) | 0;
  121571. break a;
  121572. break;
  121573. }
  121574. case 101: {
  121575. w = (b + 2) | 0;
  121576. c[g >> 2] = 0;
  121577. c[(g + 4) >> 2] = 0;
  121578. c[(g + 8) >> 2] = 0;
  121579. RB(g, 18812, AB(18812) | 0);
  121580. A = YB(w, d, g, e) | 0;
  121581. iB(g);
  121582. z = (A | 0) == (w | 0) ? b : A;
  121583. break a;
  121584. break;
  121585. }
  121586. case 103: {
  121587. A = (b + 2) | 0;
  121588. c[g >> 2] = 0;
  121589. c[(g + 4) >> 2] = 0;
  121590. c[(g + 8) >> 2] = 0;
  121591. RB(g, 18797, AB(18797) | 0);
  121592. w = ZB(A, d, g, e) | 0;
  121593. iB(g);
  121594. z = (w | 0) == (A | 0) ? b : w;
  121595. break a;
  121596. break;
  121597. }
  121598. case 116: {
  121599. w = (b + 2) | 0;
  121600. c[g >> 2] = 0;
  121601. c[(g + 4) >> 2] = 0;
  121602. c[(g + 8) >> 2] = 0;
  121603. RB(g, 18815, AB(18815) | 0);
  121604. A = ZB(w, d, g, e) | 0;
  121605. iB(g);
  121606. z = (A | 0) == (w | 0) ? b : A;
  121607. break a;
  121608. break;
  121609. }
  121610. case 120: {
  121611. A = (b + 2) | 0;
  121612. w = iC(A, d, e) | 0;
  121613. z = (w | 0) == (A | 0) ? b : w;
  121614. break a;
  121615. break;
  121616. }
  121617. default: {
  121618. z = b;
  121619. break a;
  121620. }
  121621. }
  121622. break;
  121623. }
  121624. case 111: {
  121625. switch (a[(x + 1) >> 0] | 0) {
  121626. case 110: {
  121627. z = eC(b, d, e) | 0;
  121628. break a;
  121629. break;
  121630. }
  121631. case 111: {
  121632. w = (b + 2) | 0;
  121633. c[g >> 2] = 0;
  121634. c[(g + 4) >> 2] = 0;
  121635. c[(g + 8) >> 2] = 0;
  121636. RB(g, 18817, AB(18817) | 0);
  121637. A = YB(w, d, g, e) | 0;
  121638. iB(g);
  121639. z = (A | 0) == (w | 0) ? b : A;
  121640. break a;
  121641. break;
  121642. }
  121643. case 114: {
  121644. A = (b + 2) | 0;
  121645. c[g >> 2] = 0;
  121646. c[(g + 4) >> 2] = 0;
  121647. c[(g + 8) >> 2] = 0;
  121648. RB(g, 18820, AB(18820) | 0);
  121649. w = YB(A, d, g, e) | 0;
  121650. iB(g);
  121651. z = (w | 0) == (A | 0) ? b : w;
  121652. break a;
  121653. break;
  121654. }
  121655. case 82: {
  121656. w = (b + 2) | 0;
  121657. c[g >> 2] = 0;
  121658. c[(g + 4) >> 2] = 0;
  121659. c[(g + 8) >> 2] = 0;
  121660. RB(g, 18822, AB(18822) | 0);
  121661. A = YB(w, d, g, e) | 0;
  121662. iB(g);
  121663. z = (A | 0) == (w | 0) ? b : A;
  121664. break a;
  121665. break;
  121666. }
  121667. default: {
  121668. z = b;
  121669. break a;
  121670. }
  121671. }
  121672. break;
  121673. }
  121674. case 112: {
  121675. switch (a[(x + 1) >> 0] | 0) {
  121676. case 109: {
  121677. A = (b + 2) | 0;
  121678. c[g >> 2] = 0;
  121679. c[(g + 4) >> 2] = 0;
  121680. c[(g + 8) >> 2] = 0;
  121681. RB(g, 18825, AB(18825) | 0);
  121682. w = YB(A, d, g, e) | 0;
  121683. iB(g);
  121684. z = (w | 0) == (A | 0) ? b : w;
  121685. break a;
  121686. break;
  121687. }
  121688. case 108: {
  121689. w = (b + 2) | 0;
  121690. c[g >> 2] = 0;
  121691. c[(g + 4) >> 2] = 0;
  121692. c[(g + 8) >> 2] = 0;
  121693. RB(g, 18829, AB(18829) | 0);
  121694. A = YB(w, d, g, e) | 0;
  121695. iB(g);
  121696. z = (A | 0) == (w | 0) ? b : A;
  121697. break a;
  121698. break;
  121699. }
  121700. case 76: {
  121701. A = (b + 2) | 0;
  121702. c[g >> 2] = 0;
  121703. c[(g + 4) >> 2] = 0;
  121704. c[(g + 8) >> 2] = 0;
  121705. RB(g, 18831, AB(18831) | 0);
  121706. w = YB(A, d, g, e) | 0;
  121707. iB(g);
  121708. z = (w | 0) == (A | 0) ? b : w;
  121709. break a;
  121710. break;
  121711. }
  121712. case 112: {
  121713. w = (b + 2) | 0;
  121714. if (
  121715. (w | 0) != (d | 0) ? (a[w >> 0] | 0) == 95 : 0
  121716. ) {
  121717. A = (b + 3) | 0;
  121718. c[g >> 2] = 0;
  121719. c[(g + 4) >> 2] = 0;
  121720. c[(g + 8) >> 2] = 0;
  121721. RB(g, 18834, AB(18834) | 0);
  121722. B = ZB(A, d, g, e) | 0;
  121723. iB(g);
  121724. z = (B | 0) == (A | 0) ? b : B;
  121725. break a;
  121726. }
  121727. B = SB(w, d, e) | 0;
  121728. if ((B | 0) == (w | 0)) {
  121729. z = b;
  121730. break a;
  121731. }
  121732. w = (e + 4) | 0;
  121733. A = c[w >> 2] | 0;
  121734. if ((c[e >> 2] | 0) == (A | 0)) {
  121735. z = b;
  121736. break a;
  121737. }
  121738. FB(i, (A + -24) | 0);
  121739. pB(i, 0, 18675) | 0;
  121740. c[h >> 2] = c[i >> 2];
  121741. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  121742. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  121743. A = 0;
  121744. while (1) {
  121745. if ((A | 0) == 3) break;
  121746. c[(i + (A << 2)) >> 2] = 0;
  121747. A = (A + 1) | 0;
  121748. }
  121749. qB(h, 18837) | 0;
  121750. c[p >> 2] = c[h >> 2];
  121751. c[(p + 4) >> 2] = c[(h + 4) >> 2];
  121752. c[(p + 8) >> 2] = c[(h + 8) >> 2];
  121753. A = 0;
  121754. while (1) {
  121755. if ((A | 0) == 3) break;
  121756. c[(h + (A << 2)) >> 2] = 0;
  121757. A = (A + 1) | 0;
  121758. }
  121759. IB(g, p);
  121760. JB(((c[w >> 2] | 0) + -24) | 0, g);
  121761. QA(g);
  121762. iB(p);
  121763. iB(h);
  121764. iB(i);
  121765. z = B;
  121766. break a;
  121767. break;
  121768. }
  121769. case 115: {
  121770. A = (b + 2) | 0;
  121771. c[g >> 2] = 0;
  121772. c[(g + 4) >> 2] = 0;
  121773. c[(g + 8) >> 2] = 0;
  121774. RB(g, 18829, AB(18829) | 0);
  121775. D = ZB(A, d, g, e) | 0;
  121776. iB(g);
  121777. z = (D | 0) == (A | 0) ? b : D;
  121778. break a;
  121779. break;
  121780. }
  121781. case 116: {
  121782. z = jC(b, d, e) | 0;
  121783. break a;
  121784. break;
  121785. }
  121786. default: {
  121787. z = b;
  121788. break a;
  121789. }
  121790. }
  121791. break;
  121792. }
  121793. case 113: {
  121794. if ((a[(x + 1) >> 0] | 0) != 117) {
  121795. z = b;
  121796. break a;
  121797. }
  121798. D = (b + 2) | 0;
  121799. A = SB(D, d, e) | 0;
  121800. if ((A | 0) == (D | 0)) {
  121801. z = b;
  121802. break a;
  121803. }
  121804. D = SB(A, d, e) | 0;
  121805. if ((D | 0) == (A | 0)) {
  121806. A = (e + 4) | 0;
  121807. C = c[A >> 2] | 0;
  121808. E = 0;
  121809. while (1) {
  121810. if ((E | 0) == -1) break;
  121811. F = (E + -1) | 0;
  121812. QA((C + ((F * 24) | 0)) | 0);
  121813. E = F;
  121814. }
  121815. c[A >> 2] = C + -24;
  121816. z = b;
  121817. break a;
  121818. }
  121819. E = SB(D, d, e) | 0;
  121820. B = (e + 4) | 0;
  121821. if ((E | 0) == (D | 0)) {
  121822. w = c[B >> 2] | 0;
  121823. F = 0;
  121824. while (1) {
  121825. if ((F | 0) == -1) break;
  121826. G = (F + -1) | 0;
  121827. QA((w + ((G * 24) | 0)) | 0);
  121828. F = G;
  121829. }
  121830. F = (w + -24) | 0;
  121831. c[B >> 2] = F;
  121832. D = 0;
  121833. while (1) {
  121834. if ((D | 0) == -1) break;
  121835. C = (D + -1) | 0;
  121836. QA((F + ((C * 24) | 0)) | 0);
  121837. D = C;
  121838. }
  121839. c[B >> 2] = w + -48;
  121840. z = b;
  121841. break a;
  121842. }
  121843. D = c[B >> 2] | 0;
  121844. if (
  121845. ((((D - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  121846. 3
  121847. ) {
  121848. z = b;
  121849. break a;
  121850. }
  121851. FB(g, (D + -24) | 0);
  121852. D = c[B >> 2] | 0;
  121853. F = 0;
  121854. while (1) {
  121855. if ((F | 0) == -1) break;
  121856. C = (F + -1) | 0;
  121857. QA((D + ((C * 24) | 0)) | 0);
  121858. F = C;
  121859. }
  121860. c[B >> 2] = D + -24;
  121861. FB(h, (D + -48) | 0);
  121862. F = c[B >> 2] | 0;
  121863. w = 0;
  121864. while (1) {
  121865. if ((w | 0) == -1) break;
  121866. C = (w + -1) | 0;
  121867. QA((F + ((C * 24) | 0)) | 0);
  121868. w = C;
  121869. }
  121870. c[B >> 2] = F + -24;
  121871. FB(i, (F + -48) | 0);
  121872. UB(t, 18675, i);
  121873. qB(t, 18841) | 0;
  121874. c[s >> 2] = c[t >> 2];
  121875. c[(s + 4) >> 2] = c[(t + 4) >> 2];
  121876. c[(s + 8) >> 2] = c[(t + 8) >> 2];
  121877. w = 0;
  121878. while (1) {
  121879. if ((w | 0) == 3) break;
  121880. c[(t + (w << 2)) >> 2] = 0;
  121881. w = (w + 1) | 0;
  121882. }
  121883. w = a[(h + 11) >> 0] | 0;
  121884. F = (w << 24) >> 24 < 0;
  121885. TA(
  121886. s,
  121887. F ? c[h >> 2] | 0 : h,
  121888. F ? c[(h + 4) >> 2] | 0 : w & 255
  121889. ) | 0;
  121890. c[r >> 2] = c[s >> 2];
  121891. c[(r + 4) >> 2] = c[(s + 4) >> 2];
  121892. c[(r + 8) >> 2] = c[(s + 8) >> 2];
  121893. w = 0;
  121894. while (1) {
  121895. if ((w | 0) == 3) break;
  121896. c[(s + (w << 2)) >> 2] = 0;
  121897. w = (w + 1) | 0;
  121898. }
  121899. qB(r, 18847) | 0;
  121900. c[n >> 2] = c[r >> 2];
  121901. c[(n + 4) >> 2] = c[(r + 4) >> 2];
  121902. c[(n + 8) >> 2] = c[(r + 8) >> 2];
  121903. w = 0;
  121904. while (1) {
  121905. if ((w | 0) == 3) break;
  121906. c[(r + (w << 2)) >> 2] = 0;
  121907. w = (w + 1) | 0;
  121908. }
  121909. w = a[(g + 11) >> 0] | 0;
  121910. F = (w << 24) >> 24 < 0;
  121911. TA(
  121912. n,
  121913. F ? c[g >> 2] | 0 : g,
  121914. F ? c[(g + 4) >> 2] | 0 : w & 255
  121915. ) | 0;
  121916. c[k >> 2] = c[n >> 2];
  121917. c[(k + 4) >> 2] = c[(n + 4) >> 2];
  121918. c[(k + 8) >> 2] = c[(n + 8) >> 2];
  121919. w = 0;
  121920. while (1) {
  121921. if ((w | 0) == 3) break;
  121922. c[(n + (w << 2)) >> 2] = 0;
  121923. w = (w + 1) | 0;
  121924. }
  121925. qB(k, 18673) | 0;
  121926. c[q >> 2] = c[k >> 2];
  121927. c[(q + 4) >> 2] = c[(k + 4) >> 2];
  121928. c[(q + 8) >> 2] = c[(k + 8) >> 2];
  121929. w = 0;
  121930. while (1) {
  121931. if ((w | 0) == 3) break;
  121932. c[(k + (w << 2)) >> 2] = 0;
  121933. w = (w + 1) | 0;
  121934. }
  121935. IB(j, q);
  121936. JB(((c[B >> 2] | 0) + -24) | 0, j);
  121937. QA(j);
  121938. iB(q);
  121939. iB(k);
  121940. iB(n);
  121941. iB(r);
  121942. iB(s);
  121943. iB(t);
  121944. iB(i);
  121945. iB(h);
  121946. iB(g);
  121947. z = E;
  121948. break a;
  121949. break;
  121950. }
  121951. case 114: {
  121952. switch (a[(x + 1) >> 0] | 0) {
  121953. case 99: {
  121954. z = kC(b, d, e) | 0;
  121955. break a;
  121956. break;
  121957. }
  121958. case 109: {
  121959. w = (b + 2) | 0;
  121960. c[g >> 2] = 0;
  121961. c[(g + 4) >> 2] = 0;
  121962. c[(g + 8) >> 2] = 0;
  121963. RB(g, 18853, AB(18853) | 0);
  121964. F = YB(w, d, g, e) | 0;
  121965. iB(g);
  121966. z = (F | 0) == (w | 0) ? b : F;
  121967. break a;
  121968. break;
  121969. }
  121970. case 77: {
  121971. F = (b + 2) | 0;
  121972. c[g >> 2] = 0;
  121973. c[(g + 4) >> 2] = 0;
  121974. c[(g + 8) >> 2] = 0;
  121975. RB(g, 18855, AB(18855) | 0);
  121976. w = YB(F, d, g, e) | 0;
  121977. iB(g);
  121978. z = (w | 0) == (F | 0) ? b : w;
  121979. break a;
  121980. break;
  121981. }
  121982. case 115: {
  121983. w = (b + 2) | 0;
  121984. c[g >> 2] = 0;
  121985. c[(g + 4) >> 2] = 0;
  121986. c[(g + 8) >> 2] = 0;
  121987. RB(g, 18858, AB(18858) | 0);
  121988. F = YB(w, d, g, e) | 0;
  121989. iB(g);
  121990. z = (F | 0) == (w | 0) ? b : F;
  121991. break a;
  121992. break;
  121993. }
  121994. case 83: {
  121995. F = (b + 2) | 0;
  121996. c[g >> 2] = 0;
  121997. c[(g + 4) >> 2] = 0;
  121998. c[(g + 8) >> 2] = 0;
  121999. RB(g, 18861, AB(18861) | 0);
  122000. w = YB(F, d, g, e) | 0;
  122001. iB(g);
  122002. z = (w | 0) == (F | 0) ? b : w;
  122003. break a;
  122004. break;
  122005. }
  122006. default: {
  122007. z = b;
  122008. break a;
  122009. }
  122010. }
  122011. break;
  122012. }
  122013. case 115: {
  122014. switch (a[(x + 1) >> 0] | 0) {
  122015. case 99: {
  122016. z = lC(b, d, e) | 0;
  122017. break a;
  122018. break;
  122019. }
  122020. case 112: {
  122021. z = mC(b, d, e) | 0;
  122022. break a;
  122023. break;
  122024. }
  122025. case 114: {
  122026. z = eC(b, d, e) | 0;
  122027. break a;
  122028. break;
  122029. }
  122030. case 116: {
  122031. z = nC(b, d, e) | 0;
  122032. break a;
  122033. break;
  122034. }
  122035. case 122: {
  122036. z = oC(b, d, e) | 0;
  122037. break a;
  122038. break;
  122039. }
  122040. case 90: {
  122041. if (((u - x) | 0) <= 2) {
  122042. z = b;
  122043. break a;
  122044. }
  122045. switch (a[(x + 2) >> 0] | 0) {
  122046. case 84: {
  122047. z = pC(b, d, e) | 0;
  122048. break a;
  122049. break;
  122050. }
  122051. case 102: {
  122052. z = qC(b, d, e) | 0;
  122053. break a;
  122054. break;
  122055. }
  122056. default: {
  122057. z = b;
  122058. break a;
  122059. }
  122060. }
  122061. break;
  122062. }
  122063. default: {
  122064. z = b;
  122065. break a;
  122066. }
  122067. }
  122068. break;
  122069. }
  122070. case 116: {
  122071. switch (a[(x + 1) >> 0] | 0) {
  122072. case 105:
  122073. case 101: {
  122074. z = rC(b, d, e) | 0;
  122075. break a;
  122076. break;
  122077. }
  122078. case 114: {
  122079. sC(g, 18865);
  122080. w = (e + 4) | 0;
  122081. F = c[w >> 2] | 0;
  122082. if (F >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  122083. KB(F, g);
  122084. c[w >> 2] = (c[w >> 2] | 0) + 24;
  122085. } else LB(e, g);
  122086. QA(g);
  122087. z = (b + 2) | 0;
  122088. break a;
  122089. break;
  122090. }
  122091. case 119: {
  122092. z = tC(b, d, e) | 0;
  122093. break a;
  122094. break;
  122095. }
  122096. default: {
  122097. z = b;
  122098. break a;
  122099. }
  122100. }
  122101. break;
  122102. }
  122103. case 57:
  122104. case 56:
  122105. case 55:
  122106. case 54:
  122107. case 53:
  122108. case 52:
  122109. case 51:
  122110. case 50:
  122111. case 49: {
  122112. z = eC(b, d, e) | 0;
  122113. break a;
  122114. break;
  122115. }
  122116. default: {
  122117. z = b;
  122118. break a;
  122119. }
  122120. }
  122121. } while (0);
  122122. } else z = b;
  122123. } while (0);
  122124. l = f;
  122125. return z | 0;
  122126. }
  122127. function TB(b) {
  122128. b = b | 0;
  122129. var d = 0,
  122130. e = 0,
  122131. f = 0,
  122132. g = 0,
  122133. h = 0,
  122134. i = 0,
  122135. j = 0,
  122136. k = 0,
  122137. l = 0,
  122138. m = 0,
  122139. n = 0,
  122140. o = 0,
  122141. p = 0,
  122142. q = 0,
  122143. r = 0,
  122144. s = 0,
  122145. t = 0;
  122146. d = (b + 11) | 0;
  122147. e = a[d >> 0] | 0;
  122148. f = (e << 24) >> 24 < 0;
  122149. if (f) {
  122150. g = c[(b + 4) >> 2] | 0;
  122151. h = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  122152. } else {
  122153. g = e & 255;
  122154. h = 10;
  122155. }
  122156. i = g >>> 0 < 11;
  122157. j = i ? 10 : (((g + 16) & -16) + -1) | 0;
  122158. a: do {
  122159. if ((j | 0) != (h | 0)) {
  122160. do {
  122161. if (i) {
  122162. k = c[b >> 2] | 0;
  122163. if (f) {
  122164. l = 0;
  122165. m = k;
  122166. n = b;
  122167. o = 12;
  122168. } else {
  122169. bB(b, k, ((e & 255) + 1) | 0) | 0;
  122170. gB(k);
  122171. o = 15;
  122172. }
  122173. } else {
  122174. k = (j + 1) | 0;
  122175. p = fB(k) | 0;
  122176. if ((j >>> 0 <= h >>> 0) & ((p | 0) == 0)) break a;
  122177. q = a[d >> 0] | 0;
  122178. if ((q << 24) >> 24 < 0) {
  122179. l = 1;
  122180. m = c[b >> 2] | 0;
  122181. n = p;
  122182. o = 12;
  122183. break;
  122184. } else {
  122185. bB(p, b, ((q & 255) + 1) | 0) | 0;
  122186. r = p;
  122187. s = k;
  122188. t = (b + 4) | 0;
  122189. o = 14;
  122190. break;
  122191. }
  122192. }
  122193. } while (0);
  122194. if ((o | 0) == 12) {
  122195. k = (b + 4) | 0;
  122196. bB(n, m, ((c[k >> 2] | 0) + 1) | 0) | 0;
  122197. gB(m);
  122198. if (l) {
  122199. r = n;
  122200. s = (j + 1) | 0;
  122201. t = k;
  122202. o = 14;
  122203. } else o = 15;
  122204. }
  122205. if ((o | 0) == 14) {
  122206. c[(b + 8) >> 2] = s | -2147483648;
  122207. c[t >> 2] = g;
  122208. c[b >> 2] = r;
  122209. break;
  122210. } else if ((o | 0) == 15) {
  122211. a[d >> 0] = g;
  122212. break;
  122213. }
  122214. }
  122215. } while (0);
  122216. return;
  122217. }
  122218. function UB(b, d, e) {
  122219. b = b | 0;
  122220. d = d | 0;
  122221. e = e | 0;
  122222. var f = 0,
  122223. g = 0,
  122224. h = 0,
  122225. i = 0;
  122226. c[b >> 2] = 0;
  122227. c[(b + 4) >> 2] = 0;
  122228. c[(b + 8) >> 2] = 0;
  122229. f = 0;
  122230. while (1) {
  122231. if ((f | 0) == 3) break;
  122232. c[(b + (f << 2)) >> 2] = 0;
  122233. f = (f + 1) | 0;
  122234. }
  122235. f = AB(d) | 0;
  122236. g = (e + 11) | 0;
  122237. h = a[g >> 0] | 0;
  122238. i = (h << 24) >> 24 < 0 ? c[(e + 4) >> 2] | 0 : h & 255;
  122239. VB(b, d, f, (i + f) | 0);
  122240. TA(b, (a[g >> 0] | 0) < 0 ? c[e >> 2] | 0 : e, i) | 0;
  122241. return;
  122242. }
  122243. function VB(b, d, e, f) {
  122244. b = b | 0;
  122245. d = d | 0;
  122246. e = e | 0;
  122247. f = f | 0;
  122248. var g = 0,
  122249. h = 0,
  122250. i = 0,
  122251. j = 0;
  122252. g = l;
  122253. l = (l + 16) | 0;
  122254. h = g;
  122255. if (f >>> 0 > 4294967279) eB(b);
  122256. if (f >>> 0 < 11) {
  122257. a[(b + 11) >> 0] = e;
  122258. i = b;
  122259. } else {
  122260. j = (f + 16) & -16;
  122261. f = fB(j) | 0;
  122262. c[b >> 2] = f;
  122263. c[(b + 8) >> 2] = j | -2147483648;
  122264. c[(b + 4) >> 2] = e;
  122265. i = f;
  122266. }
  122267. bB(i, d, e) | 0;
  122268. a[h >> 0] = 0;
  122269. cB((i + e) | 0, h);
  122270. l = g;
  122271. return;
  122272. }
  122273. function WB(b, d, e) {
  122274. b = b | 0;
  122275. d = d | 0;
  122276. e = e | 0;
  122277. var f = 0,
  122278. g = 0,
  122279. h = 0,
  122280. i = 0,
  122281. j = 0,
  122282. k = 0,
  122283. m = 0,
  122284. n = 0,
  122285. o = 0,
  122286. p = 0,
  122287. q = 0,
  122288. r = 0,
  122289. s = 0,
  122290. t = 0,
  122291. u = 0;
  122292. f = l;
  122293. l = (l + 96) | 0;
  122294. g = (f + 64) | 0;
  122295. h = (f + 48) | 0;
  122296. i = (f + 36) | 0;
  122297. j = (f + 24) | 0;
  122298. k = (f + 12) | 0;
  122299. m = f;
  122300. a: do {
  122301. if (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 76 : 0) {
  122302. n = (b + 1) | 0;
  122303. do {
  122304. switch (a[n >> 0] | 0) {
  122305. case 84: {
  122306. o = b;
  122307. break a;
  122308. break;
  122309. }
  122310. case 119: {
  122311. p = (b + 2) | 0;
  122312. c[g >> 2] = 0;
  122313. c[(g + 4) >> 2] = 0;
  122314. c[(g + 8) >> 2] = 0;
  122315. RB(g, 19867, AB(19867) | 0);
  122316. q = bD(p, d, g, e) | 0;
  122317. iB(g);
  122318. o = (q | 0) == (p | 0) ? b : q;
  122319. break a;
  122320. break;
  122321. }
  122322. case 98: {
  122323. if ((a[(b + 3) >> 0] | 0) != 69) {
  122324. o = b;
  122325. break a;
  122326. }
  122327. switch (a[(b + 2) >> 0] | 0) {
  122328. case 48: {
  122329. sC(g, 19875);
  122330. q = (e + 4) | 0;
  122331. p = c[q >> 2] | 0;
  122332. if (p >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  122333. KB(p, g);
  122334. c[q >> 2] = (c[q >> 2] | 0) + 24;
  122335. } else LB(e, g);
  122336. QA(g);
  122337. o = (b + 4) | 0;
  122338. break a;
  122339. break;
  122340. }
  122341. case 49: {
  122342. cD(g, 19881);
  122343. q = (e + 4) | 0;
  122344. p = c[q >> 2] | 0;
  122345. if (p >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  122346. KB(p, g);
  122347. c[q >> 2] = (c[q >> 2] | 0) + 24;
  122348. } else LB(e, g);
  122349. QA(g);
  122350. o = (b + 4) | 0;
  122351. break a;
  122352. break;
  122353. }
  122354. default: {
  122355. o = b;
  122356. break a;
  122357. }
  122358. }
  122359. break;
  122360. }
  122361. case 99: {
  122362. q = (b + 2) | 0;
  122363. c[g >> 2] = 0;
  122364. c[(g + 4) >> 2] = 0;
  122365. c[(g + 8) >> 2] = 0;
  122366. RB(g, 19886, AB(19886) | 0);
  122367. p = bD(q, d, g, e) | 0;
  122368. iB(g);
  122369. o = (p | 0) == (q | 0) ? b : p;
  122370. break a;
  122371. break;
  122372. }
  122373. case 97: {
  122374. p = (b + 2) | 0;
  122375. c[g >> 2] = 0;
  122376. c[(g + 4) >> 2] = 0;
  122377. c[(g + 8) >> 2] = 0;
  122378. RB(g, 19891, AB(19891) | 0);
  122379. q = bD(p, d, g, e) | 0;
  122380. iB(g);
  122381. o = (q | 0) == (p | 0) ? b : q;
  122382. break a;
  122383. break;
  122384. }
  122385. case 104: {
  122386. q = (b + 2) | 0;
  122387. c[g >> 2] = 0;
  122388. c[(g + 4) >> 2] = 0;
  122389. c[(g + 8) >> 2] = 0;
  122390. RB(g, 19903, AB(19903) | 0);
  122391. p = bD(q, d, g, e) | 0;
  122392. iB(g);
  122393. o = (p | 0) == (q | 0) ? b : p;
  122394. break a;
  122395. break;
  122396. }
  122397. case 115: {
  122398. p = (b + 2) | 0;
  122399. c[g >> 2] = 0;
  122400. c[(g + 4) >> 2] = 0;
  122401. c[(g + 8) >> 2] = 0;
  122402. RB(g, 19917, AB(19917) | 0);
  122403. q = bD(p, d, g, e) | 0;
  122404. iB(g);
  122405. o = (q | 0) == (p | 0) ? b : q;
  122406. break a;
  122407. break;
  122408. }
  122409. case 116: {
  122410. q = (b + 2) | 0;
  122411. c[g >> 2] = 0;
  122412. c[(g + 4) >> 2] = 0;
  122413. c[(g + 8) >> 2] = 0;
  122414. RB(g, 19923, AB(19923) | 0);
  122415. p = bD(q, d, g, e) | 0;
  122416. iB(g);
  122417. o = (p | 0) == (q | 0) ? b : p;
  122418. break a;
  122419. break;
  122420. }
  122421. case 105: {
  122422. p = (b + 2) | 0;
  122423. c[g >> 2] = 0;
  122424. c[(g + 4) >> 2] = 0;
  122425. c[(g + 8) >> 2] = 0;
  122426. RB(g, 22268, AB(22268) | 0);
  122427. q = bD(p, d, g, e) | 0;
  122428. iB(g);
  122429. o = (q | 0) == (p | 0) ? b : q;
  122430. break a;
  122431. break;
  122432. }
  122433. case 106: {
  122434. q = (b + 2) | 0;
  122435. c[g >> 2] = 0;
  122436. c[(g + 4) >> 2] = 0;
  122437. c[(g + 8) >> 2] = 0;
  122438. RB(g, 19938, AB(19938) | 0);
  122439. p = bD(q, d, g, e) | 0;
  122440. iB(g);
  122441. o = (p | 0) == (q | 0) ? b : p;
  122442. break a;
  122443. break;
  122444. }
  122445. case 108: {
  122446. p = (b + 2) | 0;
  122447. c[g >> 2] = 0;
  122448. c[(g + 4) >> 2] = 0;
  122449. c[(g + 8) >> 2] = 0;
  122450. RB(g, 19940, AB(19940) | 0);
  122451. q = bD(p, d, g, e) | 0;
  122452. iB(g);
  122453. o = (q | 0) == (p | 0) ? b : q;
  122454. break a;
  122455. break;
  122456. }
  122457. case 109: {
  122458. q = (b + 2) | 0;
  122459. c[g >> 2] = 0;
  122460. c[(g + 4) >> 2] = 0;
  122461. c[(g + 8) >> 2] = 0;
  122462. RB(g, 19942, AB(19942) | 0);
  122463. p = bD(q, d, g, e) | 0;
  122464. iB(g);
  122465. o = (p | 0) == (q | 0) ? b : p;
  122466. break a;
  122467. break;
  122468. }
  122469. case 120: {
  122470. p = (b + 2) | 0;
  122471. c[g >> 2] = 0;
  122472. c[(g + 4) >> 2] = 0;
  122473. c[(g + 8) >> 2] = 0;
  122474. RB(g, 19945, AB(19945) | 0);
  122475. q = bD(p, d, g, e) | 0;
  122476. iB(g);
  122477. o = (q | 0) == (p | 0) ? b : q;
  122478. break a;
  122479. break;
  122480. }
  122481. case 121: {
  122482. q = (b + 2) | 0;
  122483. c[g >> 2] = 0;
  122484. c[(g + 4) >> 2] = 0;
  122485. c[(g + 8) >> 2] = 0;
  122486. RB(g, 19948, AB(19948) | 0);
  122487. p = bD(q, d, g, e) | 0;
  122488. iB(g);
  122489. o = (p | 0) == (q | 0) ? b : p;
  122490. break a;
  122491. break;
  122492. }
  122493. case 110: {
  122494. p = (b + 2) | 0;
  122495. c[g >> 2] = 0;
  122496. c[(g + 4) >> 2] = 0;
  122497. c[(g + 8) >> 2] = 0;
  122498. RB(g, 19952, AB(19952) | 0);
  122499. q = bD(p, d, g, e) | 0;
  122500. iB(g);
  122501. o = (q | 0) == (p | 0) ? b : q;
  122502. break a;
  122503. break;
  122504. }
  122505. case 111: {
  122506. q = (b + 2) | 0;
  122507. c[g >> 2] = 0;
  122508. c[(g + 4) >> 2] = 0;
  122509. c[(g + 8) >> 2] = 0;
  122510. RB(g, 19961, AB(19961) | 0);
  122511. p = bD(q, d, g, e) | 0;
  122512. iB(g);
  122513. o = (p | 0) == (q | 0) ? b : p;
  122514. break a;
  122515. break;
  122516. }
  122517. case 102: {
  122518. p = (b + 2) | 0;
  122519. q = dD(p, d, e) | 0;
  122520. o = (q | 0) == (p | 0) ? b : q;
  122521. break a;
  122522. break;
  122523. }
  122524. case 100: {
  122525. q = (b + 2) | 0;
  122526. p = eD(q, d, e) | 0;
  122527. o = (p | 0) == (q | 0) ? b : p;
  122528. break a;
  122529. break;
  122530. }
  122531. case 101: {
  122532. p = (b + 2) | 0;
  122533. q = fD(p, d, e) | 0;
  122534. o = (q | 0) == (p | 0) ? b : q;
  122535. break a;
  122536. break;
  122537. }
  122538. case 95: {
  122539. if ((a[(b + 2) >> 0] | 0) != 90) {
  122540. o = b;
  122541. break a;
  122542. }
  122543. q = (b + 3) | 0;
  122544. p = jB(q, d, e) | 0;
  122545. if (((p | 0) == (q | 0)) | ((p | 0) == (d | 0))) {
  122546. o = b;
  122547. break a;
  122548. }
  122549. o = (a[p >> 0] | 0) == 69 ? (p + 1) | 0 : b;
  122550. break a;
  122551. break;
  122552. }
  122553. default: {
  122554. p = mB(n, d, e) | 0;
  122555. if (((p | 0) == (n | 0)) | ((p | 0) == (d | 0))) {
  122556. o = b;
  122557. break a;
  122558. }
  122559. if ((a[p >> 0] | 0) == 69) {
  122560. o = (p + 1) | 0;
  122561. break a;
  122562. }
  122563. q = p;
  122564. while (1) {
  122565. if ((q | 0) == (d | 0)) {
  122566. o = b;
  122567. break a;
  122568. }
  122569. r = a[q >> 0] | 0;
  122570. if (((((r << 24) >> 24) + -48) | 0) >>> 0 >= 10)
  122571. break;
  122572. q = (q + 1) | 0;
  122573. }
  122574. if (
  122575. !(((q | 0) != (p | 0)) & ((r << 24) >> 24 == 69))
  122576. ) {
  122577. o = b;
  122578. break a;
  122579. }
  122580. s = (e + 4) | 0;
  122581. t = c[s >> 2] | 0;
  122582. if ((c[e >> 2] | 0) == (t | 0)) {
  122583. o = b;
  122584. break a;
  122585. }
  122586. FB(k, (t + -24) | 0);
  122587. pB(k, 0, 18675) | 0;
  122588. c[j >> 2] = c[k >> 2];
  122589. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  122590. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  122591. t = 0;
  122592. while (1) {
  122593. if ((t | 0) == 3) break;
  122594. c[(k + (t << 2)) >> 2] = 0;
  122595. t = (t + 1) | 0;
  122596. }
  122597. qB(j, 18673) | 0;
  122598. c[i >> 2] = c[j >> 2];
  122599. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  122600. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  122601. t = 0;
  122602. while (1) {
  122603. if ((t | 0) == 3) break;
  122604. c[(j + (t << 2)) >> 2] = 0;
  122605. t = (t + 1) | 0;
  122606. }
  122607. c[m >> 2] = 0;
  122608. c[(m + 4) >> 2] = 0;
  122609. c[(m + 8) >> 2] = 0;
  122610. QC(m, p, q);
  122611. t = a[(m + 11) >> 0] | 0;
  122612. u = (t << 24) >> 24 < 0;
  122613. TA(
  122614. i,
  122615. u ? c[m >> 2] | 0 : m,
  122616. u ? c[(m + 4) >> 2] | 0 : t & 255
  122617. ) | 0;
  122618. c[h >> 2] = c[i >> 2];
  122619. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  122620. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  122621. t = 0;
  122622. while (1) {
  122623. if ((t | 0) == 3) break;
  122624. c[(i + (t << 2)) >> 2] = 0;
  122625. t = (t + 1) | 0;
  122626. }
  122627. IB(g, h);
  122628. JB(((c[s >> 2] | 0) + -24) | 0, g);
  122629. QA(g);
  122630. iB(h);
  122631. iB(m);
  122632. iB(i);
  122633. iB(j);
  122634. iB(k);
  122635. o = (q + 1) | 0;
  122636. break a;
  122637. }
  122638. }
  122639. } while (0);
  122640. } else o = b;
  122641. } while (0);
  122642. l = f;
  122643. return o | 0;
  122644. }
  122645. function XB(b, d, e) {
  122646. b = b | 0;
  122647. d = d | 0;
  122648. e = e | 0;
  122649. var f = 0,
  122650. g = 0,
  122651. h = 0,
  122652. i = 0,
  122653. j = 0,
  122654. k = 0,
  122655. m = 0,
  122656. n = 0,
  122657. o = 0,
  122658. p = 0,
  122659. q = 0,
  122660. r = 0;
  122661. f = l;
  122662. l = (l + 80) | 0;
  122663. g = (f + 64) | 0;
  122664. h = (f + 40) | 0;
  122665. i = (f + 12) | 0;
  122666. j = (f + 24) | 0;
  122667. k = f;
  122668. a: do {
  122669. if (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 102 : 0) {
  122670. switch (a[(b + 1) >> 0] | 0) {
  122671. case 112: {
  122672. m = nB((b + 2) | 0, d, g) | 0;
  122673. n = QB(m, d) | 0;
  122674. if ((n | 0) != (d | 0) ? (a[n >> 0] | 0) == 95 : 0) {
  122675. c[j >> 2] = 0;
  122676. c[(j + 4) >> 2] = 0;
  122677. c[(j + 8) >> 2] = 0;
  122678. QC(j, m, n);
  122679. pB(j, 0, 19864) | 0;
  122680. c[i >> 2] = c[j >> 2];
  122681. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  122682. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  122683. m = 0;
  122684. while (1) {
  122685. if ((m | 0) == 3) break;
  122686. c[(j + (m << 2)) >> 2] = 0;
  122687. m = (m + 1) | 0;
  122688. }
  122689. IB(h, i);
  122690. m = (e + 4) | 0;
  122691. o = c[m >> 2] | 0;
  122692. if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  122693. KB(o, h);
  122694. c[m >> 2] = (c[m >> 2] | 0) + 24;
  122695. } else LB(e, h);
  122696. QA(h);
  122697. iB(i);
  122698. iB(j);
  122699. p = (n + 1) | 0;
  122700. } else p = b;
  122701. q = p;
  122702. break a;
  122703. break;
  122704. }
  122705. case 76:
  122706. break;
  122707. default: {
  122708. q = b;
  122709. break a;
  122710. }
  122711. }
  122712. m = QB((b + 2) | 0, d) | 0;
  122713. if (
  122714. (
  122715. ((m | 0) != (d | 0) ? (a[m >> 0] | 0) == 112 : 0)
  122716. ? ((o = nB((m + 1) | 0, d, g) | 0),
  122717. (m = QB(o, d) | 0),
  122718. (m | 0) != (d | 0))
  122719. : 0
  122720. )
  122721. ? (a[m >> 0] | 0) == 95
  122722. : 0
  122723. ) {
  122724. c[j >> 2] = 0;
  122725. c[(j + 4) >> 2] = 0;
  122726. c[(j + 8) >> 2] = 0;
  122727. QC(j, o, m);
  122728. pB(j, 0, 19864) | 0;
  122729. c[k >> 2] = c[j >> 2];
  122730. c[(k + 4) >> 2] = c[(j + 4) >> 2];
  122731. c[(k + 8) >> 2] = c[(j + 8) >> 2];
  122732. o = 0;
  122733. while (1) {
  122734. if ((o | 0) == 3) break;
  122735. c[(j + (o << 2)) >> 2] = 0;
  122736. o = (o + 1) | 0;
  122737. }
  122738. IB(h, k);
  122739. o = (e + 4) | 0;
  122740. n = c[o >> 2] | 0;
  122741. if (n >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  122742. KB(n, h);
  122743. c[o >> 2] = (c[o >> 2] | 0) + 24;
  122744. } else LB(e, h);
  122745. QA(h);
  122746. iB(k);
  122747. iB(j);
  122748. r = (m + 1) | 0;
  122749. } else r = b;
  122750. q = r;
  122751. } else q = b;
  122752. } while (0);
  122753. l = f;
  122754. return q | 0;
  122755. }
  122756. function YB(b, d, e, f) {
  122757. b = b | 0;
  122758. d = d | 0;
  122759. e = e | 0;
  122760. f = f | 0;
  122761. var g = 0,
  122762. h = 0,
  122763. i = 0,
  122764. j = 0,
  122765. k = 0,
  122766. m = 0,
  122767. n = 0,
  122768. o = 0,
  122769. p = 0,
  122770. q = 0,
  122771. r = 0,
  122772. s = 0,
  122773. t = 0,
  122774. u = 0,
  122775. v = 0,
  122776. w = 0,
  122777. x = 0,
  122778. y = 0,
  122779. z = 0;
  122780. g = l;
  122781. l = (l + 96) | 0;
  122782. h = (g + 84) | 0;
  122783. i = (g + 72) | 0;
  122784. j = (g + 60) | 0;
  122785. k = (g + 48) | 0;
  122786. m = (g + 36) | 0;
  122787. n = (g + 24) | 0;
  122788. o = (g + 12) | 0;
  122789. p = g;
  122790. q = SB(b, d, f) | 0;
  122791. do {
  122792. if ((q | 0) != (b | 0)) {
  122793. r = SB(q, d, f) | 0;
  122794. s = (f + 4) | 0;
  122795. if ((r | 0) == (q | 0)) {
  122796. t = c[s >> 2] | 0;
  122797. u = 0;
  122798. while (1) {
  122799. if ((u | 0) == -1) break;
  122800. v = (u + -1) | 0;
  122801. QA((t + ((v * 24) | 0)) | 0);
  122802. u = v;
  122803. }
  122804. c[s >> 2] = t + -24;
  122805. w = b;
  122806. break;
  122807. }
  122808. u = c[s >> 2] | 0;
  122809. if (((((u - (c[f >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2) {
  122810. FB(i, (u + -24) | 0);
  122811. u = c[s >> 2] | 0;
  122812. v = 0;
  122813. while (1) {
  122814. if ((v | 0) == -1) break;
  122815. x = (v + -1) | 0;
  122816. QA((u + ((x * 24) | 0)) | 0);
  122817. v = x;
  122818. }
  122819. c[s >> 2] = u + -24;
  122820. FB(j, (u + -48) | 0);
  122821. v = c[s >> 2] | 0;
  122822. t = (v + -24) | 0;
  122823. x = (t + 11) | 0;
  122824. if ((a[x >> 0] | 0) < 0) {
  122825. y = c[t >> 2] | 0;
  122826. a[h >> 0] = 0;
  122827. cB(y, h);
  122828. c[(v + -20) >> 2] = 0;
  122829. } else {
  122830. a[h >> 0] = 0;
  122831. cB(t, h);
  122832. a[x >> 0] = 0;
  122833. }
  122834. x = AB(18711) | 0;
  122835. v = (e + 11) | 0;
  122836. y = a[v >> 0] | 0;
  122837. z = (e + 4) | 0;
  122838. if (
  122839. (x | 0) ==
  122840. (((y << 24) >> 24 < 0 ? c[z >> 2] | 0 : y & 255) | 0)
  122841. ? (BB(e, 18711, x) | 0) == 0
  122842. : 0
  122843. )
  122844. NC(t, 40);
  122845. UB(p, 18675, j);
  122846. qB(p, 18961) | 0;
  122847. c[o >> 2] = c[p >> 2];
  122848. c[(o + 4) >> 2] = c[(p + 4) >> 2];
  122849. c[(o + 8) >> 2] = c[(p + 8) >> 2];
  122850. x = 0;
  122851. while (1) {
  122852. if ((x | 0) == 3) break;
  122853. c[(p + (x << 2)) >> 2] = 0;
  122854. x = (x + 1) | 0;
  122855. }
  122856. x = a[v >> 0] | 0;
  122857. s = (x << 24) >> 24 < 0;
  122858. TA(
  122859. o,
  122860. s ? c[e >> 2] | 0 : e,
  122861. s ? c[z >> 2] | 0 : x & 255
  122862. ) | 0;
  122863. c[n >> 2] = c[o >> 2];
  122864. c[(n + 4) >> 2] = c[(o + 4) >> 2];
  122865. c[(n + 8) >> 2] = c[(o + 8) >> 2];
  122866. x = 0;
  122867. while (1) {
  122868. if ((x | 0) == 3) break;
  122869. c[(o + (x << 2)) >> 2] = 0;
  122870. x = (x + 1) | 0;
  122871. }
  122872. qB(n, 18670) | 0;
  122873. c[m >> 2] = c[n >> 2];
  122874. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  122875. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  122876. x = 0;
  122877. while (1) {
  122878. if ((x | 0) == 3) break;
  122879. c[(n + (x << 2)) >> 2] = 0;
  122880. x = (x + 1) | 0;
  122881. }
  122882. x = a[(i + 11) >> 0] | 0;
  122883. s = (x << 24) >> 24 < 0;
  122884. TA(
  122885. m,
  122886. s ? c[i >> 2] | 0 : i,
  122887. s ? c[(i + 4) >> 2] | 0 : x & 255
  122888. ) | 0;
  122889. c[k >> 2] = c[m >> 2];
  122890. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  122891. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  122892. x = 0;
  122893. while (1) {
  122894. if ((x | 0) == 3) break;
  122895. c[(m + (x << 2)) >> 2] = 0;
  122896. x = (x + 1) | 0;
  122897. }
  122898. qB(k, 18673) | 0;
  122899. c[h >> 2] = c[k >> 2];
  122900. c[(h + 4) >> 2] = c[(k + 4) >> 2];
  122901. c[(h + 8) >> 2] = c[(k + 8) >> 2];
  122902. x = 0;
  122903. while (1) {
  122904. if ((x | 0) == 3) break;
  122905. c[(k + (x << 2)) >> 2] = 0;
  122906. x = (x + 1) | 0;
  122907. }
  122908. x = a[(h + 11) >> 0] | 0;
  122909. s = (x << 24) >> 24 < 0;
  122910. TA(
  122911. t,
  122912. s ? c[h >> 2] | 0 : h,
  122913. s ? c[(h + 4) >> 2] | 0 : x & 255
  122914. ) | 0;
  122915. iB(h);
  122916. iB(k);
  122917. iB(m);
  122918. iB(n);
  122919. iB(o);
  122920. iB(p);
  122921. x = AB(18711) | 0;
  122922. s = a[v >> 0] | 0;
  122923. if (
  122924. (x | 0) ==
  122925. (((s << 24) >> 24 < 0 ? c[z >> 2] | 0 : s & 255) | 0)
  122926. ? (BB(e, 18711, x) | 0) == 0
  122927. : 0
  122928. )
  122929. NC(t, 41);
  122930. iB(j);
  122931. iB(i);
  122932. w = r;
  122933. } else w = b;
  122934. } else w = b;
  122935. } while (0);
  122936. l = g;
  122937. return w | 0;
  122938. }
  122939. function ZB(b, d, e, f) {
  122940. b = b | 0;
  122941. d = d | 0;
  122942. e = e | 0;
  122943. f = f | 0;
  122944. var g = 0,
  122945. h = 0,
  122946. i = 0,
  122947. j = 0,
  122948. k = 0,
  122949. m = 0,
  122950. n = 0,
  122951. o = 0,
  122952. p = 0;
  122953. g = l;
  122954. l = (l + 64) | 0;
  122955. h = (g + 48) | 0;
  122956. i = (g + 36) | 0;
  122957. j = (g + 24) | 0;
  122958. k = (g + 12) | 0;
  122959. m = g;
  122960. n = SB(b, d, f) | 0;
  122961. if (
  122962. (n | 0) != (b | 0)
  122963. ? ((d = (f + 4) | 0), (c[f >> 2] | 0) != (c[d >> 2] | 0))
  122964. : 0
  122965. ) {
  122966. HB(k, e, 18675);
  122967. FB(m, ((c[d >> 2] | 0) + -24) | 0);
  122968. e = a[(m + 11) >> 0] | 0;
  122969. f = (e << 24) >> 24 < 0;
  122970. TA(
  122971. k,
  122972. f ? c[m >> 2] | 0 : m,
  122973. f ? c[(m + 4) >> 2] | 0 : e & 255
  122974. ) | 0;
  122975. c[j >> 2] = c[k >> 2];
  122976. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  122977. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  122978. e = 0;
  122979. while (1) {
  122980. if ((e | 0) == 3) break;
  122981. c[(k + (e << 2)) >> 2] = 0;
  122982. e = (e + 1) | 0;
  122983. }
  122984. qB(j, 18673) | 0;
  122985. c[i >> 2] = c[j >> 2];
  122986. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  122987. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  122988. e = 0;
  122989. while (1) {
  122990. if ((e | 0) == 3) break;
  122991. c[(j + (e << 2)) >> 2] = 0;
  122992. e = (e + 1) | 0;
  122993. }
  122994. e = c[d >> 2] | 0;
  122995. d = (e + -24) | 0;
  122996. f = (d + 11) | 0;
  122997. if ((a[f >> 0] | 0) < 0) {
  122998. o = c[d >> 2] | 0;
  122999. a[h >> 0] = 0;
  123000. cB(o, h);
  123001. c[(e + -20) >> 2] = 0;
  123002. } else {
  123003. a[h >> 0] = 0;
  123004. cB(d, h);
  123005. a[f >> 0] = 0;
  123006. }
  123007. TB(d);
  123008. c[d >> 2] = c[i >> 2];
  123009. c[(d + 4) >> 2] = c[(i + 4) >> 2];
  123010. c[(d + 8) >> 2] = c[(i + 8) >> 2];
  123011. d = 0;
  123012. while (1) {
  123013. if ((d | 0) == 3) break;
  123014. c[(i + (d << 2)) >> 2] = 0;
  123015. d = (d + 1) | 0;
  123016. }
  123017. iB(i);
  123018. iB(j);
  123019. iB(m);
  123020. iB(k);
  123021. p = n;
  123022. } else p = b;
  123023. l = g;
  123024. return p | 0;
  123025. }
  123026. function _B(b, d, e) {
  123027. b = b | 0;
  123028. d = d | 0;
  123029. e = e | 0;
  123030. var f = 0,
  123031. g = 0,
  123032. h = 0,
  123033. i = 0,
  123034. j = 0,
  123035. k = 0,
  123036. m = 0,
  123037. n = 0,
  123038. o = 0;
  123039. f = l;
  123040. l = (l + 48) | 0;
  123041. g = (f + 36) | 0;
  123042. h = (f + 24) | 0;
  123043. i = (f + 12) | 0;
  123044. j = f;
  123045. if (
  123046. (
  123047. (
  123048. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 97 : 0)
  123049. ? (a[(b + 1) >> 0] | 0) == 116
  123050. : 0
  123051. )
  123052. ? ((k = (b + 2) | 0),
  123053. (m = mB(k, d, e) | 0),
  123054. (m | 0) != (k | 0))
  123055. : 0
  123056. )
  123057. ? ((k = (e + 4) | 0),
  123058. (d = c[k >> 2] | 0),
  123059. (c[e >> 2] | 0) != (d | 0))
  123060. : 0
  123061. ) {
  123062. FB(j, (d + -24) | 0);
  123063. pB(j, 0, 19854) | 0;
  123064. c[i >> 2] = c[j >> 2];
  123065. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  123066. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  123067. d = 0;
  123068. while (1) {
  123069. if ((d | 0) == 3) break;
  123070. c[(j + (d << 2)) >> 2] = 0;
  123071. d = (d + 1) | 0;
  123072. }
  123073. qB(i, 18673) | 0;
  123074. c[h >> 2] = c[i >> 2];
  123075. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  123076. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  123077. d = 0;
  123078. while (1) {
  123079. if ((d | 0) == 3) break;
  123080. c[(i + (d << 2)) >> 2] = 0;
  123081. d = (d + 1) | 0;
  123082. }
  123083. d = c[k >> 2] | 0;
  123084. k = (d + -24) | 0;
  123085. e = (k + 11) | 0;
  123086. if ((a[e >> 0] | 0) < 0) {
  123087. n = c[k >> 2] | 0;
  123088. a[g >> 0] = 0;
  123089. cB(n, g);
  123090. c[(d + -20) >> 2] = 0;
  123091. } else {
  123092. a[g >> 0] = 0;
  123093. cB(k, g);
  123094. a[e >> 0] = 0;
  123095. }
  123096. TB(k);
  123097. c[k >> 2] = c[h >> 2];
  123098. c[(k + 4) >> 2] = c[(h + 4) >> 2];
  123099. c[(k + 8) >> 2] = c[(h + 8) >> 2];
  123100. k = 0;
  123101. while (1) {
  123102. if ((k | 0) == 3) break;
  123103. c[(h + (k << 2)) >> 2] = 0;
  123104. k = (k + 1) | 0;
  123105. }
  123106. iB(h);
  123107. iB(i);
  123108. iB(j);
  123109. o = m;
  123110. } else o = b;
  123111. l = f;
  123112. return o | 0;
  123113. }
  123114. function $B(b, d, e) {
  123115. b = b | 0;
  123116. d = d | 0;
  123117. e = e | 0;
  123118. var f = 0,
  123119. g = 0,
  123120. h = 0,
  123121. i = 0,
  123122. j = 0,
  123123. k = 0,
  123124. m = 0,
  123125. n = 0,
  123126. o = 0;
  123127. f = l;
  123128. l = (l + 48) | 0;
  123129. g = (f + 36) | 0;
  123130. h = (f + 24) | 0;
  123131. i = (f + 12) | 0;
  123132. j = f;
  123133. if (
  123134. (
  123135. (
  123136. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 97 : 0)
  123137. ? (a[(b + 1) >> 0] | 0) == 122
  123138. : 0
  123139. )
  123140. ? ((k = (b + 2) | 0),
  123141. (m = SB(k, d, e) | 0),
  123142. (m | 0) != (k | 0))
  123143. : 0
  123144. )
  123145. ? ((k = (e + 4) | 0),
  123146. (d = c[k >> 2] | 0),
  123147. (c[e >> 2] | 0) != (d | 0))
  123148. : 0
  123149. ) {
  123150. FB(j, (d + -24) | 0);
  123151. pB(j, 0, 19854) | 0;
  123152. c[i >> 2] = c[j >> 2];
  123153. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  123154. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  123155. d = 0;
  123156. while (1) {
  123157. if ((d | 0) == 3) break;
  123158. c[(j + (d << 2)) >> 2] = 0;
  123159. d = (d + 1) | 0;
  123160. }
  123161. qB(i, 18673) | 0;
  123162. c[h >> 2] = c[i >> 2];
  123163. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  123164. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  123165. d = 0;
  123166. while (1) {
  123167. if ((d | 0) == 3) break;
  123168. c[(i + (d << 2)) >> 2] = 0;
  123169. d = (d + 1) | 0;
  123170. }
  123171. d = c[k >> 2] | 0;
  123172. k = (d + -24) | 0;
  123173. e = (k + 11) | 0;
  123174. if ((a[e >> 0] | 0) < 0) {
  123175. n = c[k >> 2] | 0;
  123176. a[g >> 0] = 0;
  123177. cB(n, g);
  123178. c[(d + -20) >> 2] = 0;
  123179. } else {
  123180. a[g >> 0] = 0;
  123181. cB(k, g);
  123182. a[e >> 0] = 0;
  123183. }
  123184. TB(k);
  123185. c[k >> 2] = c[h >> 2];
  123186. c[(k + 4) >> 2] = c[(h + 4) >> 2];
  123187. c[(k + 8) >> 2] = c[(h + 8) >> 2];
  123188. k = 0;
  123189. while (1) {
  123190. if ((k | 0) == 3) break;
  123191. c[(h + (k << 2)) >> 2] = 0;
  123192. k = (k + 1) | 0;
  123193. }
  123194. iB(h);
  123195. iB(i);
  123196. iB(j);
  123197. o = m;
  123198. } else o = b;
  123199. l = f;
  123200. return o | 0;
  123201. }
  123202. function aC(b, d, e) {
  123203. b = b | 0;
  123204. d = d | 0;
  123205. e = e | 0;
  123206. var f = 0,
  123207. g = 0,
  123208. h = 0,
  123209. i = 0,
  123210. j = 0,
  123211. k = 0,
  123212. m = 0,
  123213. n = 0,
  123214. o = 0,
  123215. p = 0,
  123216. q = 0,
  123217. r = 0;
  123218. f = l;
  123219. l = (l + 112) | 0;
  123220. g = (f + 88) | 0;
  123221. h = (f + 64) | 0;
  123222. i = (f + 36) | 0;
  123223. j = (f + 48) | 0;
  123224. k = (f + 24) | 0;
  123225. m = (f + 12) | 0;
  123226. n = f;
  123227. if (
  123228. (
  123229. (
  123230. (
  123231. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 99 : 0)
  123232. ? (a[(b + 1) >> 0] | 0) == 99
  123233. : 0
  123234. )
  123235. ? ((o = (b + 2) | 0),
  123236. (p = mB(o, d, e) | 0),
  123237. (p | 0) != (o | 0))
  123238. : 0
  123239. )
  123240. ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
  123241. : 0
  123242. )
  123243. ? ((p = (e + 4) | 0),
  123244. (d = c[p >> 2] | 0),
  123245. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  123246. : 0
  123247. ) {
  123248. FB(g, (d + -24) | 0);
  123249. d = c[p >> 2] | 0;
  123250. e = 0;
  123251. while (1) {
  123252. if ((e | 0) == -1) break;
  123253. q = (e + -1) | 0;
  123254. QA((d + ((q * 24) | 0)) | 0);
  123255. e = q;
  123256. }
  123257. c[p >> 2] = d + -24;
  123258. FB(n, (d + -48) | 0);
  123259. pB(n, 0, 19842) | 0;
  123260. c[m >> 2] = c[n >> 2];
  123261. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  123262. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  123263. d = 0;
  123264. while (1) {
  123265. if ((d | 0) == 3) break;
  123266. c[(n + (d << 2)) >> 2] = 0;
  123267. d = (d + 1) | 0;
  123268. }
  123269. qB(m, 18922) | 0;
  123270. c[k >> 2] = c[m >> 2];
  123271. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  123272. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  123273. d = 0;
  123274. while (1) {
  123275. if ((d | 0) == 3) break;
  123276. c[(m + (d << 2)) >> 2] = 0;
  123277. d = (d + 1) | 0;
  123278. }
  123279. d = a[(g + 11) >> 0] | 0;
  123280. e = (d << 24) >> 24 < 0;
  123281. TA(
  123282. k,
  123283. e ? c[g >> 2] | 0 : g,
  123284. e ? c[(g + 4) >> 2] | 0 : d & 255
  123285. ) | 0;
  123286. c[j >> 2] = c[k >> 2];
  123287. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  123288. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  123289. d = 0;
  123290. while (1) {
  123291. if ((d | 0) == 3) break;
  123292. c[(k + (d << 2)) >> 2] = 0;
  123293. d = (d + 1) | 0;
  123294. }
  123295. qB(j, 18673) | 0;
  123296. c[i >> 2] = c[j >> 2];
  123297. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  123298. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  123299. d = 0;
  123300. while (1) {
  123301. if ((d | 0) == 3) break;
  123302. c[(j + (d << 2)) >> 2] = 0;
  123303. d = (d + 1) | 0;
  123304. }
  123305. IB(h, i);
  123306. JB(((c[p >> 2] | 0) + -24) | 0, h);
  123307. QA(h);
  123308. iB(i);
  123309. iB(j);
  123310. iB(k);
  123311. iB(m);
  123312. iB(n);
  123313. iB(g);
  123314. r = o;
  123315. } else r = b;
  123316. l = f;
  123317. return r | 0;
  123318. }
  123319. function bC(b, d, e) {
  123320. b = b | 0;
  123321. d = d | 0;
  123322. e = e | 0;
  123323. var f = 0,
  123324. g = 0,
  123325. h = 0,
  123326. i = 0,
  123327. j = 0,
  123328. k = 0,
  123329. m = 0,
  123330. n = 0,
  123331. o = 0,
  123332. p = 0,
  123333. q = 0,
  123334. r = 0,
  123335. s = 0,
  123336. t = 0,
  123337. u = 0,
  123338. v = 0,
  123339. w = 0,
  123340. x = 0,
  123341. y = 0;
  123342. f = l;
  123343. l = (l + 32) | 0;
  123344. g = (f + 12) | 0;
  123345. h = f;
  123346. a: do {
  123347. if (
  123348. (
  123349. (
  123350. (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 99 : 0)
  123351. ? (a[(b + 1) >> 0] | 0) == 108
  123352. : 0
  123353. )
  123354. ? ((i = (b + 2) | 0),
  123355. (j = SB(i, d, e) | 0),
  123356. !(((j | 0) == (i | 0)) | ((j | 0) == (d | 0))))
  123357. : 0
  123358. )
  123359. ? ((i = (e + 4) | 0),
  123360. (k = c[i >> 2] | 0),
  123361. (c[e >> 2] | 0) != (k | 0))
  123362. : 0
  123363. ) {
  123364. m = (k + -12) | 0;
  123365. n = a[(m + 11) >> 0] | 0;
  123366. o = (n << 24) >> 24 < 0;
  123367. TA(
  123368. (k + -24) | 0,
  123369. o ? c[m >> 2] | 0 : m,
  123370. o ? c[(k + -8) >> 2] | 0 : n & 255
  123371. ) | 0;
  123372. c[h >> 2] = 0;
  123373. c[(h + 4) >> 2] = 0;
  123374. c[(h + 8) >> 2] = 0;
  123375. n = 0;
  123376. while (1) {
  123377. if ((n | 0) == 3) break;
  123378. c[(h + (n << 2)) >> 2] = 0;
  123379. n = (n + 1) | 0;
  123380. }
  123381. n = c[i >> 2] | 0;
  123382. k = (n + -12) | 0;
  123383. o = (k + 11) | 0;
  123384. if ((a[o >> 0] | 0) < 0) {
  123385. m = c[k >> 2] | 0;
  123386. a[g >> 0] = 0;
  123387. cB(m, g);
  123388. c[(n + -8) >> 2] = 0;
  123389. } else {
  123390. a[g >> 0] = 0;
  123391. cB(k, g);
  123392. a[o >> 0] = 0;
  123393. }
  123394. TB(k);
  123395. c[k >> 2] = c[h >> 2];
  123396. c[(k + 4) >> 2] = c[(h + 4) >> 2];
  123397. c[(k + 8) >> 2] = c[(h + 8) >> 2];
  123398. k = 0;
  123399. while (1) {
  123400. if ((k | 0) == 3) break;
  123401. c[(h + (k << 2)) >> 2] = 0;
  123402. k = (k + 1) | 0;
  123403. }
  123404. iB(h);
  123405. qB(((c[i >> 2] | 0) + -24) | 0, 18675) | 0;
  123406. k = (g + 11) | 0;
  123407. o = (g + 4) | 0;
  123408. n = 0;
  123409. m = j;
  123410. while (1) {
  123411. if ((a[m >> 0] | 0) == 69) break;
  123412. p = SB(m, d, e) | 0;
  123413. if (((p | 0) == (m | 0)) | ((p | 0) == (d | 0))) {
  123414. q = b;
  123415. break a;
  123416. }
  123417. r = c[i >> 2] | 0;
  123418. if ((c[e >> 2] | 0) == (r | 0)) {
  123419. q = b;
  123420. break a;
  123421. }
  123422. FB(g, (r + -24) | 0);
  123423. r = c[i >> 2] | 0;
  123424. s = 0;
  123425. while (1) {
  123426. if ((s | 0) == -1) break;
  123427. t = (s + -1) | 0;
  123428. QA((r + ((t * 24) | 0)) | 0);
  123429. s = t;
  123430. }
  123431. s = (r + -24) | 0;
  123432. c[i >> 2] = s;
  123433. t = a[k >> 0] | 0;
  123434. u = (t << 24) >> 24 < 0;
  123435. v = u ? c[o >> 2] | 0 : t & 255;
  123436. if (v) {
  123437. if ((c[e >> 2] | 0) == (s | 0)) {
  123438. w = 0;
  123439. x = b;
  123440. y = m;
  123441. } else {
  123442. TA((r + -48) | 0, u ? c[g >> 2] | 0 : g, v) | 0;
  123443. w = 1;
  123444. x = n;
  123445. y = p;
  123446. }
  123447. } else {
  123448. w = 1;
  123449. x = n;
  123450. y = p;
  123451. }
  123452. iB(g);
  123453. if (w) {
  123454. n = x;
  123455. m = y;
  123456. } else {
  123457. q = x;
  123458. break a;
  123459. }
  123460. }
  123461. n = c[i >> 2] | 0;
  123462. if ((c[e >> 2] | 0) != (n | 0)) {
  123463. qB((n + -24) | 0, 18673) | 0;
  123464. q = (m + 1) | 0;
  123465. } else q = b;
  123466. } else q = b;
  123467. } while (0);
  123468. l = f;
  123469. return q | 0;
  123470. }
  123471. function cC(b, d, e) {
  123472. b = b | 0;
  123473. d = d | 0;
  123474. e = e | 0;
  123475. var f = 0,
  123476. g = 0,
  123477. h = 0,
  123478. i = 0,
  123479. j = 0,
  123480. k = 0,
  123481. m = 0,
  123482. n = 0,
  123483. o = 0,
  123484. p = 0,
  123485. q = 0,
  123486. r = 0,
  123487. s = 0,
  123488. t = 0,
  123489. u = 0,
  123490. v = 0;
  123491. f = l;
  123492. l = (l + 112) | 0;
  123493. g = (f + 88) | 0;
  123494. h = (f + 64) | 0;
  123495. i = (f + 36) | 0;
  123496. j = (f + 48) | 0;
  123497. k = (f + 24) | 0;
  123498. m = (f + 12) | 0;
  123499. n = f;
  123500. a: do {
  123501. if (
  123502. (
  123503. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 99 : 0)
  123504. ? (a[(b + 1) >> 0] | 0) == 118
  123505. : 0
  123506. )
  123507. ? ((o = (e + 63) | 0),
  123508. (p = a[o >> 0] | 0),
  123509. (a[o >> 0] = 0),
  123510. (q = (b + 2) | 0),
  123511. (r = mB(q, d, e) | 0),
  123512. (a[o >> 0] = p),
  123513. !(((r | 0) == (q | 0)) | ((r | 0) == (d | 0))))
  123514. : 0
  123515. ) {
  123516. if ((a[r >> 0] | 0) != 95) {
  123517. q = SB(r, d, e) | 0;
  123518. if ((q | 0) == (r | 0)) {
  123519. s = b;
  123520. break;
  123521. } else t = q;
  123522. } else {
  123523. q = (r + 1) | 0;
  123524. if ((q | 0) == (d | 0)) {
  123525. s = b;
  123526. break;
  123527. }
  123528. r = a[q >> 0] | 0;
  123529. b: do {
  123530. if ((r << 24) >> 24 == 69) {
  123531. p = (e + 4) | 0;
  123532. o = c[p >> 2] | 0;
  123533. if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  123534. c[o >> 2] = 0;
  123535. c[(o + 4) >> 2] = 0;
  123536. c[(o + 8) >> 2] = 0;
  123537. c[(o + 12) >> 2] = 0;
  123538. c[(o + 16) >> 2] = 0;
  123539. c[(o + 20) >> 2] = 0;
  123540. VC(o);
  123541. c[p >> 2] = (c[p >> 2] | 0) + 24;
  123542. u = q;
  123543. break;
  123544. } else {
  123545. WC(e);
  123546. u = q;
  123547. break;
  123548. }
  123549. } else {
  123550. p = q;
  123551. o = r;
  123552. while (1) {
  123553. if ((o << 24) >> 24 == 69) {
  123554. u = p;
  123555. break b;
  123556. }
  123557. v = SB(p, d, e) | 0;
  123558. if (((v | 0) == (p | 0)) | ((v | 0) == (d | 0))) {
  123559. s = b;
  123560. break a;
  123561. }
  123562. p = v;
  123563. o = a[v >> 0] | 0;
  123564. }
  123565. }
  123566. } while (0);
  123567. t = (u + 1) | 0;
  123568. }
  123569. r = (e + 4) | 0;
  123570. q = c[r >> 2] | 0;
  123571. if (((((q - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2) {
  123572. FB(g, (q + -24) | 0);
  123573. q = c[r >> 2] | 0;
  123574. o = 0;
  123575. while (1) {
  123576. if ((o | 0) == -1) break;
  123577. p = (o + -1) | 0;
  123578. QA((q + ((p * 24) | 0)) | 0);
  123579. o = p;
  123580. }
  123581. c[r >> 2] = q + -24;
  123582. FB(n, (q + -48) | 0);
  123583. pB(n, 0, 18675) | 0;
  123584. c[m >> 2] = c[n >> 2];
  123585. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  123586. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  123587. o = 0;
  123588. while (1) {
  123589. if ((o | 0) == 3) break;
  123590. c[(n + (o << 2)) >> 2] = 0;
  123591. o = (o + 1) | 0;
  123592. }
  123593. qB(m, 19839) | 0;
  123594. c[k >> 2] = c[m >> 2];
  123595. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  123596. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  123597. o = 0;
  123598. while (1) {
  123599. if ((o | 0) == 3) break;
  123600. c[(m + (o << 2)) >> 2] = 0;
  123601. o = (o + 1) | 0;
  123602. }
  123603. o = a[(g + 11) >> 0] | 0;
  123604. q = (o << 24) >> 24 < 0;
  123605. TA(
  123606. k,
  123607. q ? c[g >> 2] | 0 : g,
  123608. q ? c[(g + 4) >> 2] | 0 : o & 255
  123609. ) | 0;
  123610. c[j >> 2] = c[k >> 2];
  123611. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  123612. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  123613. o = 0;
  123614. while (1) {
  123615. if ((o | 0) == 3) break;
  123616. c[(k + (o << 2)) >> 2] = 0;
  123617. o = (o + 1) | 0;
  123618. }
  123619. qB(j, 18673) | 0;
  123620. c[i >> 2] = c[j >> 2];
  123621. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  123622. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  123623. o = 0;
  123624. while (1) {
  123625. if ((o | 0) == 3) break;
  123626. c[(j + (o << 2)) >> 2] = 0;
  123627. o = (o + 1) | 0;
  123628. }
  123629. IB(h, i);
  123630. JB(((c[r >> 2] | 0) + -24) | 0, h);
  123631. QA(h);
  123632. iB(i);
  123633. iB(j);
  123634. iB(k);
  123635. iB(m);
  123636. iB(n);
  123637. iB(g);
  123638. s = t;
  123639. } else s = b;
  123640. } else s = b;
  123641. } while (0);
  123642. l = f;
  123643. return s | 0;
  123644. }
  123645. function dC(b, d, e) {
  123646. b = b | 0;
  123647. d = d | 0;
  123648. e = e | 0;
  123649. var f = 0,
  123650. g = 0,
  123651. h = 0,
  123652. i = 0,
  123653. j = 0,
  123654. k = 0,
  123655. m = 0,
  123656. n = 0,
  123657. o = 0,
  123658. p = 0,
  123659. q = 0,
  123660. r = 0;
  123661. f = l;
  123662. l = (l + 112) | 0;
  123663. g = (f + 88) | 0;
  123664. h = (f + 64) | 0;
  123665. i = (f + 36) | 0;
  123666. j = (f + 48) | 0;
  123667. k = (f + 24) | 0;
  123668. m = (f + 12) | 0;
  123669. n = f;
  123670. if (
  123671. (
  123672. (
  123673. (
  123674. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 100 : 0)
  123675. ? (a[(b + 1) >> 0] | 0) == 99
  123676. : 0
  123677. )
  123678. ? ((o = (b + 2) | 0),
  123679. (p = mB(o, d, e) | 0),
  123680. (p | 0) != (o | 0))
  123681. : 0
  123682. )
  123683. ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
  123684. : 0
  123685. )
  123686. ? ((p = (e + 4) | 0),
  123687. (d = c[p >> 2] | 0),
  123688. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  123689. : 0
  123690. ) {
  123691. FB(g, (d + -24) | 0);
  123692. d = c[p >> 2] | 0;
  123693. e = 0;
  123694. while (1) {
  123695. if ((e | 0) == -1) break;
  123696. q = (e + -1) | 0;
  123697. QA((d + ((q * 24) | 0)) | 0);
  123698. e = q;
  123699. }
  123700. c[p >> 2] = d + -24;
  123701. FB(n, (d + -48) | 0);
  123702. pB(n, 0, 19825) | 0;
  123703. c[m >> 2] = c[n >> 2];
  123704. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  123705. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  123706. d = 0;
  123707. while (1) {
  123708. if ((d | 0) == 3) break;
  123709. c[(n + (d << 2)) >> 2] = 0;
  123710. d = (d + 1) | 0;
  123711. }
  123712. qB(m, 18922) | 0;
  123713. c[k >> 2] = c[m >> 2];
  123714. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  123715. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  123716. d = 0;
  123717. while (1) {
  123718. if ((d | 0) == 3) break;
  123719. c[(m + (d << 2)) >> 2] = 0;
  123720. d = (d + 1) | 0;
  123721. }
  123722. d = a[(g + 11) >> 0] | 0;
  123723. e = (d << 24) >> 24 < 0;
  123724. TA(
  123725. k,
  123726. e ? c[g >> 2] | 0 : g,
  123727. e ? c[(g + 4) >> 2] | 0 : d & 255
  123728. ) | 0;
  123729. c[j >> 2] = c[k >> 2];
  123730. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  123731. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  123732. d = 0;
  123733. while (1) {
  123734. if ((d | 0) == 3) break;
  123735. c[(k + (d << 2)) >> 2] = 0;
  123736. d = (d + 1) | 0;
  123737. }
  123738. qB(j, 18673) | 0;
  123739. c[i >> 2] = c[j >> 2];
  123740. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  123741. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  123742. d = 0;
  123743. while (1) {
  123744. if ((d | 0) == 3) break;
  123745. c[(j + (d << 2)) >> 2] = 0;
  123746. d = (d + 1) | 0;
  123747. }
  123748. IB(h, i);
  123749. JB(((c[p >> 2] | 0) + -24) | 0, h);
  123750. QA(h);
  123751. iB(i);
  123752. iB(j);
  123753. iB(k);
  123754. iB(m);
  123755. iB(n);
  123756. iB(g);
  123757. r = o;
  123758. } else r = b;
  123759. l = f;
  123760. return r | 0;
  123761. }
  123762. function eC(b, d, e) {
  123763. b = b | 0;
  123764. d = d | 0;
  123765. e = e | 0;
  123766. var f = 0,
  123767. g = 0,
  123768. h = 0,
  123769. i = 0,
  123770. j = 0,
  123771. k = 0,
  123772. m = 0,
  123773. n = 0,
  123774. o = 0,
  123775. p = 0,
  123776. q = 0,
  123777. r = 0,
  123778. s = 0,
  123779. t = 0,
  123780. u = 0,
  123781. v = 0,
  123782. w = 0,
  123783. x = 0,
  123784. y = 0,
  123785. z = 0,
  123786. A = 0,
  123787. B = 0;
  123788. f = l;
  123789. l = (l + 32) | 0;
  123790. g = (f + 12) | 0;
  123791. h = f;
  123792. i = d;
  123793. a: do {
  123794. if (((i - b) | 0) > 2) {
  123795. if ((a[b >> 0] | 0) == 103) {
  123796. j = (a[(b + 1) >> 0] | 0) == 115;
  123797. k = j;
  123798. m = j ? (b + 2) | 0 : b;
  123799. } else {
  123800. k = 0;
  123801. m = b;
  123802. }
  123803. j = xC(m, d, e) | 0;
  123804. if ((j | 0) != (m | 0)) {
  123805. if (!k) {
  123806. n = j;
  123807. break;
  123808. }
  123809. o = c[(e + 4) >> 2] | 0;
  123810. if ((c[e >> 2] | 0) == (o | 0)) {
  123811. n = b;
  123812. break;
  123813. }
  123814. pB((o + -24) | 0, 0, 18747) | 0;
  123815. n = j;
  123816. break;
  123817. }
  123818. if (
  123819. (((i - m) | 0) > 2 ? (a[m >> 0] | 0) == 115 : 0)
  123820. ? (a[(m + 1) >> 0] | 0) == 114
  123821. : 0
  123822. ) {
  123823. j = (m + 2) | 0;
  123824. if ((a[j >> 0] | 0) == 78) {
  123825. o = (m + 3) | 0;
  123826. p = yC(o, d, e) | 0;
  123827. if (((p | 0) == (o | 0)) | ((p | 0) == (d | 0))) {
  123828. n = b;
  123829. break;
  123830. }
  123831. o = EB(p, d, e) | 0;
  123832. q = (e + 4) | 0;
  123833. do {
  123834. if ((o | 0) == (p | 0)) {
  123835. r = p;
  123836. s = e;
  123837. } else {
  123838. t = c[q >> 2] | 0;
  123839. if (
  123840. ((((t - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  123841. 2
  123842. ) {
  123843. n = b;
  123844. break a;
  123845. }
  123846. FB(g, (t + -24) | 0);
  123847. t = c[q >> 2] | 0;
  123848. u = 0;
  123849. while (1) {
  123850. if ((u | 0) == -1) break;
  123851. v = (u + -1) | 0;
  123852. QA((t + ((v * 24) | 0)) | 0);
  123853. u = v;
  123854. }
  123855. c[q >> 2] = t + -24;
  123856. u = a[(g + 11) >> 0] | 0;
  123857. v = (u << 24) >> 24 < 0;
  123858. TA(
  123859. (t + -48) | 0,
  123860. v ? c[g >> 2] | 0 : g,
  123861. v ? c[(g + 4) >> 2] | 0 : u & 255
  123862. ) | 0;
  123863. if ((o | 0) != (d | 0)) {
  123864. iB(g);
  123865. r = o;
  123866. s = e;
  123867. break;
  123868. }
  123869. u = c[q >> 2] | 0;
  123870. v = 0;
  123871. while (1) {
  123872. if ((v | 0) == -1) break;
  123873. w = (v + -1) | 0;
  123874. QA((u + ((w * 24) | 0)) | 0);
  123875. v = w;
  123876. }
  123877. c[q >> 2] = u + -24;
  123878. iB(g);
  123879. n = b;
  123880. break a;
  123881. }
  123882. } while (0);
  123883. o = (h + 11) | 0;
  123884. p = (h + 4) | 0;
  123885. v = r;
  123886. while (1) {
  123887. if ((a[v >> 0] | 0) == 69) break;
  123888. t = zC(v, d, e) | 0;
  123889. if (((t | 0) == (v | 0)) | ((t | 0) == (d | 0))) {
  123890. n = b;
  123891. break a;
  123892. }
  123893. w = c[q >> 2] | 0;
  123894. if (
  123895. ((((w - (c[s >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  123896. 2
  123897. ) {
  123898. n = b;
  123899. break a;
  123900. }
  123901. FB(g, (w + -24) | 0);
  123902. w = c[q >> 2] | 0;
  123903. x = 0;
  123904. while (1) {
  123905. if ((x | 0) == -1) break;
  123906. y = (x + -1) | 0;
  123907. QA((w + ((y * 24) | 0)) | 0);
  123908. x = y;
  123909. }
  123910. c[q >> 2] = w + -24;
  123911. pB(g, 0, 18747) | 0;
  123912. c[h >> 2] = c[g >> 2];
  123913. c[(h + 4) >> 2] = c[(g + 4) >> 2];
  123914. c[(h + 8) >> 2] = c[(g + 8) >> 2];
  123915. x = 0;
  123916. while (1) {
  123917. if ((x | 0) == 3) break;
  123918. c[(g + (x << 2)) >> 2] = 0;
  123919. x = (x + 1) | 0;
  123920. }
  123921. x = a[o >> 0] | 0;
  123922. w = (x << 24) >> 24 < 0;
  123923. TA(
  123924. ((c[q >> 2] | 0) + -24) | 0,
  123925. w ? c[h >> 2] | 0 : h,
  123926. w ? c[p >> 2] | 0 : x & 255
  123927. ) | 0;
  123928. iB(h);
  123929. iB(g);
  123930. v = t;
  123931. }
  123932. p = (v + 1) | 0;
  123933. o = xC(p, d, e) | 0;
  123934. if ((o | 0) == (p | 0)) {
  123935. p = c[q >> 2] | 0;
  123936. if ((c[e >> 2] | 0) == (p | 0)) {
  123937. n = b;
  123938. break;
  123939. }
  123940. x = 0;
  123941. while (1) {
  123942. if ((x | 0) == -1) break;
  123943. w = (x + -1) | 0;
  123944. QA((p + ((w * 24) | 0)) | 0);
  123945. x = w;
  123946. }
  123947. c[q >> 2] = p + -24;
  123948. n = b;
  123949. break;
  123950. }
  123951. x = c[q >> 2] | 0;
  123952. if (
  123953. ((((x - (c[s >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  123954. 2
  123955. ) {
  123956. n = b;
  123957. break;
  123958. }
  123959. FB(g, (x + -24) | 0);
  123960. x = c[q >> 2] | 0;
  123961. v = 0;
  123962. while (1) {
  123963. if ((v | 0) == -1) break;
  123964. w = (v + -1) | 0;
  123965. QA((x + ((w * 24) | 0)) | 0);
  123966. v = w;
  123967. }
  123968. c[q >> 2] = x + -24;
  123969. pB(g, 0, 18747) | 0;
  123970. c[h >> 2] = c[g >> 2];
  123971. c[(h + 4) >> 2] = c[(g + 4) >> 2];
  123972. c[(h + 8) >> 2] = c[(g + 8) >> 2];
  123973. v = 0;
  123974. while (1) {
  123975. if ((v | 0) == 3) break;
  123976. c[(g + (v << 2)) >> 2] = 0;
  123977. v = (v + 1) | 0;
  123978. }
  123979. v = a[(h + 11) >> 0] | 0;
  123980. x = (v << 24) >> 24 < 0;
  123981. TA(
  123982. ((c[q >> 2] | 0) + -24) | 0,
  123983. x ? c[h >> 2] | 0 : h,
  123984. x ? c[(h + 4) >> 2] | 0 : v & 255
  123985. ) | 0;
  123986. iB(h);
  123987. iB(g);
  123988. n = o;
  123989. break;
  123990. }
  123991. v = yC(j, d, e) | 0;
  123992. if ((v | 0) != (j | 0)) {
  123993. x = EB(v, d, e) | 0;
  123994. if ((x | 0) == (v | 0)) z = v;
  123995. else {
  123996. v = (e + 4) | 0;
  123997. p = c[v >> 2] | 0;
  123998. if (
  123999. ((((p - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  124000. 2
  124001. ) {
  124002. n = b;
  124003. break;
  124004. }
  124005. FB(g, (p + -24) | 0);
  124006. p = c[v >> 2] | 0;
  124007. w = 0;
  124008. while (1) {
  124009. if ((w | 0) == -1) break;
  124010. u = (w + -1) | 0;
  124011. QA((p + ((u * 24) | 0)) | 0);
  124012. w = u;
  124013. }
  124014. c[v >> 2] = p + -24;
  124015. w = a[(g + 11) >> 0] | 0;
  124016. o = (w << 24) >> 24 < 0;
  124017. TA(
  124018. (p + -48) | 0,
  124019. o ? c[g >> 2] | 0 : g,
  124020. o ? c[(g + 4) >> 2] | 0 : w & 255
  124021. ) | 0;
  124022. iB(g);
  124023. z = x;
  124024. }
  124025. w = xC(z, d, e) | 0;
  124026. if ((w | 0) == (z | 0)) {
  124027. o = (e + 4) | 0;
  124028. q = c[o >> 2] | 0;
  124029. if ((c[e >> 2] | 0) == (q | 0)) {
  124030. n = b;
  124031. break;
  124032. }
  124033. u = 0;
  124034. while (1) {
  124035. if ((u | 0) == -1) break;
  124036. y = (u + -1) | 0;
  124037. QA((q + ((y * 24) | 0)) | 0);
  124038. u = y;
  124039. }
  124040. c[o >> 2] = q + -24;
  124041. n = b;
  124042. break;
  124043. }
  124044. u = (e + 4) | 0;
  124045. x = c[u >> 2] | 0;
  124046. if (
  124047. ((((x - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  124048. 2
  124049. ) {
  124050. n = b;
  124051. break;
  124052. }
  124053. FB(g, (x + -24) | 0);
  124054. x = c[u >> 2] | 0;
  124055. p = 0;
  124056. while (1) {
  124057. if ((p | 0) == -1) break;
  124058. v = (p + -1) | 0;
  124059. QA((x + ((v * 24) | 0)) | 0);
  124060. p = v;
  124061. }
  124062. c[u >> 2] = x + -24;
  124063. pB(g, 0, 18747) | 0;
  124064. c[h >> 2] = c[g >> 2];
  124065. c[(h + 4) >> 2] = c[(g + 4) >> 2];
  124066. c[(h + 8) >> 2] = c[(g + 8) >> 2];
  124067. p = 0;
  124068. while (1) {
  124069. if ((p | 0) == 3) break;
  124070. c[(g + (p << 2)) >> 2] = 0;
  124071. p = (p + 1) | 0;
  124072. }
  124073. p = a[(h + 11) >> 0] | 0;
  124074. x = (p << 24) >> 24 < 0;
  124075. TA(
  124076. ((c[u >> 2] | 0) + -24) | 0,
  124077. x ? c[h >> 2] | 0 : h,
  124078. x ? c[(h + 4) >> 2] | 0 : p & 255
  124079. ) | 0;
  124080. iB(h);
  124081. iB(g);
  124082. n = w;
  124083. break;
  124084. }
  124085. p = zC(j, d, e) | 0;
  124086. if (!(((p | 0) == (j | 0)) | ((p | 0) == (d | 0)))) {
  124087. if (k) {
  124088. x = (e + 4) | 0;
  124089. q = c[x >> 2] | 0;
  124090. if ((c[e >> 2] | 0) == (q | 0)) {
  124091. n = b;
  124092. break;
  124093. }
  124094. pB((q + -24) | 0, 0, 18747) | 0;
  124095. A = x;
  124096. } else A = (e + 4) | 0;
  124097. x = (h + 11) | 0;
  124098. q = (h + 4) | 0;
  124099. o = p;
  124100. while (1) {
  124101. if ((a[o >> 0] | 0) == 69) break;
  124102. p = zC(o, d, e) | 0;
  124103. if (((p | 0) == (o | 0)) | ((p | 0) == (d | 0))) {
  124104. n = b;
  124105. break a;
  124106. }
  124107. v = c[A >> 2] | 0;
  124108. if (
  124109. ((((v - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  124110. 2
  124111. ) {
  124112. n = b;
  124113. break a;
  124114. }
  124115. FB(g, (v + -24) | 0);
  124116. v = c[A >> 2] | 0;
  124117. y = 0;
  124118. while (1) {
  124119. if ((y | 0) == -1) break;
  124120. B = (y + -1) | 0;
  124121. QA((v + ((B * 24) | 0)) | 0);
  124122. y = B;
  124123. }
  124124. c[A >> 2] = v + -24;
  124125. pB(g, 0, 18747) | 0;
  124126. c[h >> 2] = c[g >> 2];
  124127. c[(h + 4) >> 2] = c[(g + 4) >> 2];
  124128. c[(h + 8) >> 2] = c[(g + 8) >> 2];
  124129. y = 0;
  124130. while (1) {
  124131. if ((y | 0) == 3) break;
  124132. c[(g + (y << 2)) >> 2] = 0;
  124133. y = (y + 1) | 0;
  124134. }
  124135. y = a[x >> 0] | 0;
  124136. v = (y << 24) >> 24 < 0;
  124137. TA(
  124138. ((c[A >> 2] | 0) + -24) | 0,
  124139. v ? c[h >> 2] | 0 : h,
  124140. v ? c[q >> 2] | 0 : y & 255
  124141. ) | 0;
  124142. iB(h);
  124143. iB(g);
  124144. o = p;
  124145. }
  124146. q = (o + 1) | 0;
  124147. x = xC(q, d, e) | 0;
  124148. if ((x | 0) == (q | 0)) {
  124149. q = c[A >> 2] | 0;
  124150. if ((c[e >> 2] | 0) == (q | 0)) {
  124151. n = b;
  124152. break;
  124153. }
  124154. j = 0;
  124155. while (1) {
  124156. if ((j | 0) == -1) break;
  124157. w = (j + -1) | 0;
  124158. QA((q + ((w * 24) | 0)) | 0);
  124159. j = w;
  124160. }
  124161. c[A >> 2] = q + -24;
  124162. n = b;
  124163. break;
  124164. }
  124165. j = c[A >> 2] | 0;
  124166. if (
  124167. ((((j - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >=
  124168. 2
  124169. ) {
  124170. FB(g, (j + -24) | 0);
  124171. j = c[A >> 2] | 0;
  124172. o = 0;
  124173. while (1) {
  124174. if ((o | 0) == -1) break;
  124175. w = (o + -1) | 0;
  124176. QA((j + ((w * 24) | 0)) | 0);
  124177. o = w;
  124178. }
  124179. c[A >> 2] = j + -24;
  124180. pB(g, 0, 18747) | 0;
  124181. c[h >> 2] = c[g >> 2];
  124182. c[(h + 4) >> 2] = c[(g + 4) >> 2];
  124183. c[(h + 8) >> 2] = c[(g + 8) >> 2];
  124184. o = 0;
  124185. while (1) {
  124186. if ((o | 0) == 3) break;
  124187. c[(g + (o << 2)) >> 2] = 0;
  124188. o = (o + 1) | 0;
  124189. }
  124190. o = a[(h + 11) >> 0] | 0;
  124191. j = (o << 24) >> 24 < 0;
  124192. TA(
  124193. ((c[A >> 2] | 0) + -24) | 0,
  124194. j ? c[h >> 2] | 0 : h,
  124195. j ? c[(h + 4) >> 2] | 0 : o & 255
  124196. ) | 0;
  124197. iB(h);
  124198. iB(g);
  124199. n = x;
  124200. } else n = b;
  124201. } else n = b;
  124202. } else n = b;
  124203. } else n = b;
  124204. } while (0);
  124205. l = f;
  124206. return n | 0;
  124207. }
  124208. function fC(b, d, e) {
  124209. b = b | 0;
  124210. d = d | 0;
  124211. e = e | 0;
  124212. var f = 0,
  124213. g = 0,
  124214. h = 0,
  124215. i = 0,
  124216. j = 0,
  124217. k = 0,
  124218. m = 0;
  124219. f = l;
  124220. l = (l + 32) | 0;
  124221. g = (f + 12) | 0;
  124222. h = f;
  124223. if (
  124224. (
  124225. (
  124226. (
  124227. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 100 : 0)
  124228. ? (a[(b + 1) >> 0] | 0) == 115
  124229. : 0
  124230. )
  124231. ? ((i = (b + 2) | 0),
  124232. (j = SB(i, d, e) | 0),
  124233. (j | 0) != (i | 0))
  124234. : 0
  124235. )
  124236. ? ((i = SB(j, d, e) | 0), (i | 0) != (j | 0))
  124237. : 0
  124238. )
  124239. ? ((j = (e + 4) | 0),
  124240. (d = c[j >> 2] | 0),
  124241. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  124242. : 0
  124243. ) {
  124244. FB(g, (d + -24) | 0);
  124245. d = c[j >> 2] | 0;
  124246. e = 0;
  124247. while (1) {
  124248. if ((e | 0) == -1) break;
  124249. k = (e + -1) | 0;
  124250. QA((d + ((k * 24) | 0)) | 0);
  124251. e = k;
  124252. }
  124253. c[j >> 2] = d + -24;
  124254. UB(h, 18966, g);
  124255. d = a[(h + 11) >> 0] | 0;
  124256. e = (d << 24) >> 24 < 0;
  124257. TA(
  124258. ((c[j >> 2] | 0) + -24) | 0,
  124259. e ? c[h >> 2] | 0 : h,
  124260. e ? c[(h + 4) >> 2] | 0 : d & 255
  124261. ) | 0;
  124262. iB(h);
  124263. iB(g);
  124264. m = i;
  124265. } else m = b;
  124266. l = f;
  124267. return m | 0;
  124268. }
  124269. function gC(b, d, e) {
  124270. b = b | 0;
  124271. d = d | 0;
  124272. e = e | 0;
  124273. var f = 0,
  124274. g = 0,
  124275. h = 0,
  124276. i = 0,
  124277. j = 0,
  124278. k = 0,
  124279. m = 0;
  124280. f = l;
  124281. l = (l + 32) | 0;
  124282. g = (f + 12) | 0;
  124283. h = f;
  124284. if (
  124285. (
  124286. (
  124287. (
  124288. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 100 : 0)
  124289. ? (a[(b + 1) >> 0] | 0) == 116
  124290. : 0
  124291. )
  124292. ? ((i = (b + 2) | 0),
  124293. (j = SB(i, d, e) | 0),
  124294. (j | 0) != (i | 0))
  124295. : 0
  124296. )
  124297. ? ((i = eC(j, d, e) | 0), (i | 0) != (j | 0))
  124298. : 0
  124299. )
  124300. ? ((j = (e + 4) | 0),
  124301. (d = c[j >> 2] | 0),
  124302. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  124303. : 0
  124304. ) {
  124305. FB(g, (d + -24) | 0);
  124306. d = c[j >> 2] | 0;
  124307. e = 0;
  124308. while (1) {
  124309. if ((e | 0) == -1) break;
  124310. k = (e + -1) | 0;
  124311. QA((d + ((k * 24) | 0)) | 0);
  124312. e = k;
  124313. }
  124314. c[j >> 2] = d + -24;
  124315. UB(h, 18964, g);
  124316. d = a[(h + 11) >> 0] | 0;
  124317. e = (d << 24) >> 24 < 0;
  124318. TA(
  124319. ((c[j >> 2] | 0) + -24) | 0,
  124320. e ? c[h >> 2] | 0 : h,
  124321. e ? c[(h + 4) >> 2] | 0 : d & 255
  124322. ) | 0;
  124323. iB(h);
  124324. iB(g);
  124325. m = i;
  124326. } else m = b;
  124327. l = f;
  124328. return m | 0;
  124329. }
  124330. function hC(b, d, e) {
  124331. b = b | 0;
  124332. d = d | 0;
  124333. e = e | 0;
  124334. var f = 0,
  124335. g = 0,
  124336. h = 0,
  124337. i = 0,
  124338. j = 0,
  124339. k = 0,
  124340. m = 0,
  124341. n = 0,
  124342. o = 0,
  124343. p = 0,
  124344. q = 0,
  124345. r = 0,
  124346. s = 0,
  124347. t = 0,
  124348. u = 0,
  124349. v = 0,
  124350. w = 0,
  124351. x = 0,
  124352. y = 0,
  124353. z = 0,
  124354. A = 0,
  124355. B = 0,
  124356. C = 0,
  124357. D = 0,
  124358. E = 0,
  124359. F = 0,
  124360. G = 0,
  124361. H = 0,
  124362. I = 0,
  124363. J = 0,
  124364. K = 0;
  124365. f = l;
  124366. l = (l + 112) | 0;
  124367. g = (f + 88) | 0;
  124368. h = (f + 76) | 0;
  124369. i = (f + 64) | 0;
  124370. j = (f + 40) | 0;
  124371. k = (f + 16) | 0;
  124372. m = f;
  124373. n = (f + 52) | 0;
  124374. o = d;
  124375. a: do {
  124376. if (((o - b) | 0) > 3) {
  124377. p = a[b >> 0] | 0;
  124378. if ((p << 24) >> 24 == 103) {
  124379. q = (a[(b + 1) >> 0] | 0) == 115;
  124380. r = q ? (b + 2) | 0 : b;
  124381. s = q;
  124382. t = r;
  124383. u = a[r >> 0] | 0;
  124384. } else {
  124385. s = 0;
  124386. t = b;
  124387. u = p;
  124388. }
  124389. if ((u << 24) >> 24 == 110) {
  124390. p = a[(t + 1) >> 0] | 0;
  124391. switch ((p << 24) >> 24) {
  124392. case 97:
  124393. case 119:
  124394. break;
  124395. default: {
  124396. v = b;
  124397. break a;
  124398. }
  124399. }
  124400. r = (p << 24) >> 24 == 97;
  124401. p = (t + 2) | 0;
  124402. b: do {
  124403. if ((p | 0) != (d | 0)) {
  124404. q = 0;
  124405. w = p;
  124406. while (1) {
  124407. if ((a[w >> 0] | 0) == 95) break;
  124408. x = SB(w, d, e) | 0;
  124409. if (((x | 0) == (w | 0)) | ((x | 0) == (d | 0)))
  124410. break b;
  124411. else {
  124412. q = 1;
  124413. w = x;
  124414. }
  124415. }
  124416. x = (w + 1) | 0;
  124417. y = mB(x, d, e) | 0;
  124418. if (
  124419. !(((y | 0) == (x | 0)) | ((y | 0) == (d | 0)))
  124420. ) {
  124421. x = a[y >> 0] | 0;
  124422. c: do {
  124423. if (
  124424. !(
  124425. (((o - y) | 0) > 2) &
  124426. ((x << 24) >> 24 == 112)
  124427. )
  124428. ) {
  124429. if ((x << 24) >> 24 == 69) {
  124430. z = 0;
  124431. A = y;
  124432. } else break b;
  124433. } else {
  124434. if ((a[(y + 1) >> 0] | 0) != 105) break b;
  124435. B = (y + 2) | 0;
  124436. while (1) {
  124437. if ((a[B >> 0] | 0) == 69) {
  124438. z = 1;
  124439. A = B;
  124440. break c;
  124441. }
  124442. C = B;
  124443. B = SB(B, d, e) | 0;
  124444. if (
  124445. ((B | 0) == (C | 0)) |
  124446. ((B | 0) == (d | 0))
  124447. )
  124448. break b;
  124449. }
  124450. }
  124451. } while (0);
  124452. c[h >> 2] = 0;
  124453. c[(h + 4) >> 2] = 0;
  124454. c[(h + 8) >> 2] = 0;
  124455. y = 0;
  124456. while (1) {
  124457. if ((y | 0) == 3) break;
  124458. c[(h + (y << 2)) >> 2] = 0;
  124459. y = (y + 1) | 0;
  124460. }
  124461. if (z) {
  124462. y = (e + 4) | 0;
  124463. x = c[y >> 2] | 0;
  124464. if ((c[e >> 2] | 0) == (x | 0)) {
  124465. D = b;
  124466. E = 1;
  124467. } else {
  124468. FB(i, (x + -24) | 0);
  124469. x = (h + 11) | 0;
  124470. if ((a[x >> 0] | 0) < 0) {
  124471. w = c[h >> 2] | 0;
  124472. a[g >> 0] = 0;
  124473. cB(w, g);
  124474. c[(h + 4) >> 2] = 0;
  124475. } else {
  124476. a[g >> 0] = 0;
  124477. cB(h, g);
  124478. a[x >> 0] = 0;
  124479. }
  124480. TB(h);
  124481. c[h >> 2] = c[i >> 2];
  124482. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  124483. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  124484. x = 0;
  124485. while (1) {
  124486. if ((x | 0) == 3) break;
  124487. c[(i + (x << 2)) >> 2] = 0;
  124488. x = (x + 1) | 0;
  124489. }
  124490. iB(i);
  124491. x = c[y >> 2] | 0;
  124492. w = 0;
  124493. while (1) {
  124494. if ((w | 0) == -1) break;
  124495. B = (w + -1) | 0;
  124496. QA((x + ((B * 24) | 0)) | 0);
  124497. w = B;
  124498. }
  124499. w = (x + -24) | 0;
  124500. c[y >> 2] = w;
  124501. F = y;
  124502. G = e;
  124503. H = w;
  124504. I = 33;
  124505. }
  124506. } else {
  124507. w = (e + 4) | 0;
  124508. F = w;
  124509. G = e;
  124510. H = c[w >> 2] | 0;
  124511. I = 33;
  124512. }
  124513. if ((I | 0) == 33)
  124514. if ((c[G >> 2] | 0) == (H | 0)) {
  124515. D = b;
  124516. E = 1;
  124517. } else {
  124518. FB(i, (H + -24) | 0);
  124519. w = c[F >> 2] | 0;
  124520. B = 0;
  124521. while (1) {
  124522. if ((B | 0) == -1) break;
  124523. C = (B + -1) | 0;
  124524. QA((w + ((C * 24) | 0)) | 0);
  124525. B = C;
  124526. }
  124527. B = (w + -24) | 0;
  124528. c[F >> 2] = B;
  124529. c[j >> 2] = 0;
  124530. c[(j + 4) >> 2] = 0;
  124531. c[(j + 8) >> 2] = 0;
  124532. y = 0;
  124533. while (1) {
  124534. if ((y | 0) == 3) break;
  124535. c[(j + (y << 2)) >> 2] = 0;
  124536. y = (y + 1) | 0;
  124537. }
  124538. if (q) {
  124539. if ((c[G >> 2] | 0) == (B | 0)) {
  124540. J = b;
  124541. K = 1;
  124542. } else {
  124543. FB(k, (w + -48) | 0);
  124544. y = (j + 11) | 0;
  124545. if ((a[y >> 0] | 0) < 0) {
  124546. x = c[j >> 2] | 0;
  124547. a[g >> 0] = 0;
  124548. cB(x, g);
  124549. c[(j + 4) >> 2] = 0;
  124550. } else {
  124551. a[g >> 0] = 0;
  124552. cB(j, g);
  124553. a[y >> 0] = 0;
  124554. }
  124555. TB(j);
  124556. c[j >> 2] = c[k >> 2];
  124557. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  124558. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  124559. y = 0;
  124560. while (1) {
  124561. if ((y | 0) == 3) break;
  124562. c[(k + (y << 2)) >> 2] = 0;
  124563. y = (y + 1) | 0;
  124564. }
  124565. iB(k);
  124566. y = c[F >> 2] | 0;
  124567. w = 0;
  124568. while (1) {
  124569. if ((w | 0) == -1) break;
  124570. B = (w + -1) | 0;
  124571. QA((y + ((B * 24) | 0)) | 0);
  124572. w = B;
  124573. }
  124574. c[F >> 2] = y + -24;
  124575. I = 52;
  124576. }
  124577. } else I = 52;
  124578. if ((I | 0) == 52) {
  124579. c[g >> 2] = 0;
  124580. c[(g + 4) >> 2] = 0;
  124581. c[(g + 8) >> 2] = 0;
  124582. w = 0;
  124583. while (1) {
  124584. if ((w | 0) == 3) break;
  124585. c[(g + (w << 2)) >> 2] = 0;
  124586. w = (w + 1) | 0;
  124587. }
  124588. if (s) uC(g, 18747);
  124589. if (r) qB(g, 18957) | 0;
  124590. else qB(g, 18707) | 0;
  124591. if (q) {
  124592. UB(m, 18675, j);
  124593. qB(m, 18961) | 0;
  124594. c[k >> 2] = c[m >> 2];
  124595. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  124596. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  124597. w = 0;
  124598. while (1) {
  124599. if ((w | 0) == 3) break;
  124600. c[(m + (w << 2)) >> 2] = 0;
  124601. w = (w + 1) | 0;
  124602. }
  124603. w = a[(k + 11) >> 0] | 0;
  124604. q = (w << 24) >> 24 < 0;
  124605. TA(
  124606. g,
  124607. q ? c[k >> 2] | 0 : k,
  124608. q ? c[(k + 4) >> 2] | 0 : w & 255
  124609. ) | 0;
  124610. iB(k);
  124611. iB(m);
  124612. }
  124613. w = a[(i + 11) >> 0] | 0;
  124614. q = (w << 24) >> 24 < 0;
  124615. TA(
  124616. g,
  124617. q ? c[i >> 2] | 0 : i,
  124618. q ? c[(i + 4) >> 2] | 0 : w & 255
  124619. ) | 0;
  124620. if (z) {
  124621. UB(m, 18670, h);
  124622. qB(m, 18673) | 0;
  124623. c[k >> 2] = c[m >> 2];
  124624. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  124625. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  124626. w = 0;
  124627. while (1) {
  124628. if ((w | 0) == 3) break;
  124629. c[(m + (w << 2)) >> 2] = 0;
  124630. w = (w + 1) | 0;
  124631. }
  124632. w = a[(k + 11) >> 0] | 0;
  124633. q = (w << 24) >> 24 < 0;
  124634. TA(
  124635. g,
  124636. q ? c[k >> 2] | 0 : k,
  124637. q ? c[(k + 4) >> 2] | 0 : w & 255
  124638. ) | 0;
  124639. iB(k);
  124640. iB(m);
  124641. }
  124642. c[n >> 2] = c[g >> 2];
  124643. c[(n + 4) >> 2] = c[(g + 4) >> 2];
  124644. c[(n + 8) >> 2] = c[(g + 8) >> 2];
  124645. w = 0;
  124646. while (1) {
  124647. if ((w | 0) == 3) break;
  124648. c[(g + (w << 2)) >> 2] = 0;
  124649. w = (w + 1) | 0;
  124650. }
  124651. IB(k, n);
  124652. w = c[F >> 2] | 0;
  124653. if (w >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  124654. KB(w, k);
  124655. c[F >> 2] = (c[F >> 2] | 0) + 24;
  124656. } else LB(e, k);
  124657. QA(k);
  124658. iB(n);
  124659. iB(g);
  124660. J = (A + 1) | 0;
  124661. K = 0;
  124662. }
  124663. iB(j);
  124664. iB(i);
  124665. D = J;
  124666. E = K;
  124667. }
  124668. iB(h);
  124669. if (!E) {
  124670. v = D;
  124671. break a;
  124672. }
  124673. }
  124674. }
  124675. } while (0);
  124676. v = b;
  124677. } else v = b;
  124678. } else v = b;
  124679. } while (0);
  124680. l = f;
  124681. return v | 0;
  124682. }
  124683. function iC(b, d, e) {
  124684. b = b | 0;
  124685. d = d | 0;
  124686. e = e | 0;
  124687. var f = 0,
  124688. g = 0,
  124689. h = 0,
  124690. i = 0,
  124691. j = 0,
  124692. k = 0,
  124693. m = 0,
  124694. n = 0,
  124695. o = 0;
  124696. f = l;
  124697. l = (l + 48) | 0;
  124698. g = (f + 36) | 0;
  124699. h = (f + 24) | 0;
  124700. i = (f + 12) | 0;
  124701. j = f;
  124702. k = SB(b, d, e) | 0;
  124703. if (
  124704. (k | 0) != (b | 0)
  124705. ? ((d = (e + 4) | 0),
  124706. (m = c[d >> 2] | 0),
  124707. (c[e >> 2] | 0) != (m | 0))
  124708. : 0
  124709. ) {
  124710. FB(j, (m + -24) | 0);
  124711. pB(j, 0, 18946) | 0;
  124712. c[i >> 2] = c[j >> 2];
  124713. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  124714. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  124715. m = 0;
  124716. while (1) {
  124717. if ((m | 0) == 3) break;
  124718. c[(j + (m << 2)) >> 2] = 0;
  124719. m = (m + 1) | 0;
  124720. }
  124721. qB(i, 18673) | 0;
  124722. c[h >> 2] = c[i >> 2];
  124723. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  124724. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  124725. m = 0;
  124726. while (1) {
  124727. if ((m | 0) == 3) break;
  124728. c[(i + (m << 2)) >> 2] = 0;
  124729. m = (m + 1) | 0;
  124730. }
  124731. m = c[d >> 2] | 0;
  124732. d = (m + -24) | 0;
  124733. e = (d + 11) | 0;
  124734. if ((a[e >> 0] | 0) < 0) {
  124735. n = c[d >> 2] | 0;
  124736. a[g >> 0] = 0;
  124737. cB(n, g);
  124738. c[(m + -20) >> 2] = 0;
  124739. } else {
  124740. a[g >> 0] = 0;
  124741. cB(d, g);
  124742. a[e >> 0] = 0;
  124743. }
  124744. TB(d);
  124745. c[d >> 2] = c[h >> 2];
  124746. c[(d + 4) >> 2] = c[(h + 4) >> 2];
  124747. c[(d + 8) >> 2] = c[(h + 8) >> 2];
  124748. d = 0;
  124749. while (1) {
  124750. if ((d | 0) == 3) break;
  124751. c[(h + (d << 2)) >> 2] = 0;
  124752. d = (d + 1) | 0;
  124753. }
  124754. iB(h);
  124755. iB(i);
  124756. iB(j);
  124757. o = k;
  124758. } else o = b;
  124759. l = f;
  124760. return o | 0;
  124761. }
  124762. function jC(b, d, e) {
  124763. b = b | 0;
  124764. d = d | 0;
  124765. e = e | 0;
  124766. var f = 0,
  124767. g = 0,
  124768. h = 0,
  124769. i = 0,
  124770. j = 0,
  124771. k = 0;
  124772. f = l;
  124773. l = (l + 16) | 0;
  124774. g = f;
  124775. if (
  124776. (
  124777. (
  124778. (
  124779. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 112 : 0)
  124780. ? (a[(b + 1) >> 0] | 0) == 116
  124781. : 0
  124782. )
  124783. ? ((h = (b + 2) | 0),
  124784. (i = SB(h, d, e) | 0),
  124785. (i | 0) != (h | 0))
  124786. : 0
  124787. )
  124788. ? ((h = SB(i, d, e) | 0), (h | 0) != (i | 0))
  124789. : 0
  124790. )
  124791. ? ((i = (e + 4) | 0),
  124792. (d = c[i >> 2] | 0),
  124793. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  124794. : 0
  124795. ) {
  124796. FB(g, (d + -24) | 0);
  124797. d = c[i >> 2] | 0;
  124798. e = 0;
  124799. while (1) {
  124800. if ((e | 0) == -1) break;
  124801. j = (e + -1) | 0;
  124802. QA((d + ((j * 24) | 0)) | 0);
  124803. e = j;
  124804. }
  124805. c[i >> 2] = d + -24;
  124806. qB((d + -48) | 0, 18943) | 0;
  124807. d = a[(g + 11) >> 0] | 0;
  124808. e = (d << 24) >> 24 < 0;
  124809. TA(
  124810. ((c[i >> 2] | 0) + -24) | 0,
  124811. e ? c[g >> 2] | 0 : g,
  124812. e ? c[(g + 4) >> 2] | 0 : d & 255
  124813. ) | 0;
  124814. iB(g);
  124815. k = h;
  124816. } else k = b;
  124817. l = f;
  124818. return k | 0;
  124819. }
  124820. function kC(b, d, e) {
  124821. b = b | 0;
  124822. d = d | 0;
  124823. e = e | 0;
  124824. var f = 0,
  124825. g = 0,
  124826. h = 0,
  124827. i = 0,
  124828. j = 0,
  124829. k = 0,
  124830. m = 0,
  124831. n = 0,
  124832. o = 0,
  124833. p = 0,
  124834. q = 0,
  124835. r = 0;
  124836. f = l;
  124837. l = (l + 112) | 0;
  124838. g = (f + 88) | 0;
  124839. h = (f + 64) | 0;
  124840. i = (f + 36) | 0;
  124841. j = (f + 48) | 0;
  124842. k = (f + 24) | 0;
  124843. m = (f + 12) | 0;
  124844. n = f;
  124845. if (
  124846. (
  124847. (
  124848. (
  124849. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 114 : 0)
  124850. ? (a[(b + 1) >> 0] | 0) == 99
  124851. : 0
  124852. )
  124853. ? ((o = (b + 2) | 0),
  124854. (p = mB(o, d, e) | 0),
  124855. (p | 0) != (o | 0))
  124856. : 0
  124857. )
  124858. ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
  124859. : 0
  124860. )
  124861. ? ((p = (e + 4) | 0),
  124862. (d = c[p >> 2] | 0),
  124863. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  124864. : 0
  124865. ) {
  124866. FB(g, (d + -24) | 0);
  124867. d = c[p >> 2] | 0;
  124868. e = 0;
  124869. while (1) {
  124870. if ((e | 0) == -1) break;
  124871. q = (e + -1) | 0;
  124872. QA((d + ((q * 24) | 0)) | 0);
  124873. e = q;
  124874. }
  124875. c[p >> 2] = d + -24;
  124876. FB(n, (d + -48) | 0);
  124877. pB(n, 0, 18925) | 0;
  124878. c[m >> 2] = c[n >> 2];
  124879. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  124880. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  124881. d = 0;
  124882. while (1) {
  124883. if ((d | 0) == 3) break;
  124884. c[(n + (d << 2)) >> 2] = 0;
  124885. d = (d + 1) | 0;
  124886. }
  124887. qB(m, 18922) | 0;
  124888. c[k >> 2] = c[m >> 2];
  124889. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  124890. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  124891. d = 0;
  124892. while (1) {
  124893. if ((d | 0) == 3) break;
  124894. c[(m + (d << 2)) >> 2] = 0;
  124895. d = (d + 1) | 0;
  124896. }
  124897. d = a[(g + 11) >> 0] | 0;
  124898. e = (d << 24) >> 24 < 0;
  124899. TA(
  124900. k,
  124901. e ? c[g >> 2] | 0 : g,
  124902. e ? c[(g + 4) >> 2] | 0 : d & 255
  124903. ) | 0;
  124904. c[j >> 2] = c[k >> 2];
  124905. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  124906. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  124907. d = 0;
  124908. while (1) {
  124909. if ((d | 0) == 3) break;
  124910. c[(k + (d << 2)) >> 2] = 0;
  124911. d = (d + 1) | 0;
  124912. }
  124913. qB(j, 18673) | 0;
  124914. c[i >> 2] = c[j >> 2];
  124915. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  124916. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  124917. d = 0;
  124918. while (1) {
  124919. if ((d | 0) == 3) break;
  124920. c[(j + (d << 2)) >> 2] = 0;
  124921. d = (d + 1) | 0;
  124922. }
  124923. IB(h, i);
  124924. JB(((c[p >> 2] | 0) + -24) | 0, h);
  124925. QA(h);
  124926. iB(i);
  124927. iB(j);
  124928. iB(k);
  124929. iB(m);
  124930. iB(n);
  124931. iB(g);
  124932. r = o;
  124933. } else r = b;
  124934. l = f;
  124935. return r | 0;
  124936. }
  124937. function lC(b, d, e) {
  124938. b = b | 0;
  124939. d = d | 0;
  124940. e = e | 0;
  124941. var f = 0,
  124942. g = 0,
  124943. h = 0,
  124944. i = 0,
  124945. j = 0,
  124946. k = 0,
  124947. m = 0,
  124948. n = 0,
  124949. o = 0,
  124950. p = 0,
  124951. q = 0,
  124952. r = 0;
  124953. f = l;
  124954. l = (l + 112) | 0;
  124955. g = (f + 88) | 0;
  124956. h = (f + 64) | 0;
  124957. i = (f + 36) | 0;
  124958. j = (f + 48) | 0;
  124959. k = (f + 24) | 0;
  124960. m = (f + 12) | 0;
  124961. n = f;
  124962. if (
  124963. (
  124964. (
  124965. (
  124966. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
  124967. ? (a[(b + 1) >> 0] | 0) == 99
  124968. : 0
  124969. )
  124970. ? ((o = (b + 2) | 0),
  124971. (p = mB(o, d, e) | 0),
  124972. (p | 0) != (o | 0))
  124973. : 0
  124974. )
  124975. ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
  124976. : 0
  124977. )
  124978. ? ((p = (e + 4) | 0),
  124979. (d = c[p >> 2] | 0),
  124980. ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
  124981. : 0
  124982. ) {
  124983. FB(g, (d + -24) | 0);
  124984. d = c[p >> 2] | 0;
  124985. e = 0;
  124986. while (1) {
  124987. if ((e | 0) == -1) break;
  124988. q = (e + -1) | 0;
  124989. QA((d + ((q * 24) | 0)) | 0);
  124990. e = q;
  124991. }
  124992. c[p >> 2] = d + -24;
  124993. FB(n, (d + -48) | 0);
  124994. pB(n, 0, 18909) | 0;
  124995. c[m >> 2] = c[n >> 2];
  124996. c[(m + 4) >> 2] = c[(n + 4) >> 2];
  124997. c[(m + 8) >> 2] = c[(n + 8) >> 2];
  124998. d = 0;
  124999. while (1) {
  125000. if ((d | 0) == 3) break;
  125001. c[(n + (d << 2)) >> 2] = 0;
  125002. d = (d + 1) | 0;
  125003. }
  125004. qB(m, 18922) | 0;
  125005. c[k >> 2] = c[m >> 2];
  125006. c[(k + 4) >> 2] = c[(m + 4) >> 2];
  125007. c[(k + 8) >> 2] = c[(m + 8) >> 2];
  125008. d = 0;
  125009. while (1) {
  125010. if ((d | 0) == 3) break;
  125011. c[(m + (d << 2)) >> 2] = 0;
  125012. d = (d + 1) | 0;
  125013. }
  125014. d = a[(g + 11) >> 0] | 0;
  125015. e = (d << 24) >> 24 < 0;
  125016. TA(
  125017. k,
  125018. e ? c[g >> 2] | 0 : g,
  125019. e ? c[(g + 4) >> 2] | 0 : d & 255
  125020. ) | 0;
  125021. c[j >> 2] = c[k >> 2];
  125022. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  125023. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  125024. d = 0;
  125025. while (1) {
  125026. if ((d | 0) == 3) break;
  125027. c[(k + (d << 2)) >> 2] = 0;
  125028. d = (d + 1) | 0;
  125029. }
  125030. qB(j, 18673) | 0;
  125031. c[i >> 2] = c[j >> 2];
  125032. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  125033. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  125034. d = 0;
  125035. while (1) {
  125036. if ((d | 0) == 3) break;
  125037. c[(j + (d << 2)) >> 2] = 0;
  125038. d = (d + 1) | 0;
  125039. }
  125040. IB(h, i);
  125041. JB(((c[p >> 2] | 0) + -24) | 0, h);
  125042. QA(h);
  125043. iB(i);
  125044. iB(j);
  125045. iB(k);
  125046. iB(m);
  125047. iB(n);
  125048. iB(g);
  125049. r = o;
  125050. } else r = b;
  125051. l = f;
  125052. return r | 0;
  125053. }
  125054. function mC(b, c, d) {
  125055. b = b | 0;
  125056. c = c | 0;
  125057. d = d | 0;
  125058. var e = 0,
  125059. f = 0,
  125060. g = 0;
  125061. if (
  125062. (((c - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
  125063. ? (a[(b + 1) >> 0] | 0) == 112
  125064. : 0
  125065. ) {
  125066. e = (b + 2) | 0;
  125067. f = SB(e, c, d) | 0;
  125068. g = (f | 0) == (e | 0) ? b : f;
  125069. } else g = b;
  125070. return g | 0;
  125071. }
  125072. function nC(b, d, e) {
  125073. b = b | 0;
  125074. d = d | 0;
  125075. e = e | 0;
  125076. var f = 0,
  125077. g = 0,
  125078. h = 0,
  125079. i = 0,
  125080. j = 0,
  125081. k = 0,
  125082. m = 0,
  125083. n = 0;
  125084. f = l;
  125085. l = (l + 64) | 0;
  125086. g = (f + 40) | 0;
  125087. h = (f + 12) | 0;
  125088. i = (f + 24) | 0;
  125089. j = f;
  125090. if (
  125091. (
  125092. (
  125093. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
  125094. ? (a[(b + 1) >> 0] | 0) == 116
  125095. : 0
  125096. )
  125097. ? ((k = (b + 2) | 0),
  125098. (m = mB(k, d, e) | 0),
  125099. (m | 0) != (k | 0))
  125100. : 0
  125101. )
  125102. ? ((k = (e + 4) | 0),
  125103. (d = c[k >> 2] | 0),
  125104. (c[e >> 2] | 0) != (d | 0))
  125105. : 0
  125106. ) {
  125107. FB(j, (d + -24) | 0);
  125108. pB(j, 0, 18900) | 0;
  125109. c[i >> 2] = c[j >> 2];
  125110. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  125111. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  125112. d = 0;
  125113. while (1) {
  125114. if ((d | 0) == 3) break;
  125115. c[(j + (d << 2)) >> 2] = 0;
  125116. d = (d + 1) | 0;
  125117. }
  125118. qB(i, 18673) | 0;
  125119. c[h >> 2] = c[i >> 2];
  125120. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  125121. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  125122. d = 0;
  125123. while (1) {
  125124. if ((d | 0) == 3) break;
  125125. c[(i + (d << 2)) >> 2] = 0;
  125126. d = (d + 1) | 0;
  125127. }
  125128. IB(g, h);
  125129. JB(((c[k >> 2] | 0) + -24) | 0, g);
  125130. QA(g);
  125131. iB(h);
  125132. iB(i);
  125133. iB(j);
  125134. n = m;
  125135. } else n = b;
  125136. l = f;
  125137. return n | 0;
  125138. }
  125139. function oC(b, d, e) {
  125140. b = b | 0;
  125141. d = d | 0;
  125142. e = e | 0;
  125143. var f = 0,
  125144. g = 0,
  125145. h = 0,
  125146. i = 0,
  125147. j = 0,
  125148. k = 0,
  125149. m = 0,
  125150. n = 0;
  125151. f = l;
  125152. l = (l + 64) | 0;
  125153. g = (f + 40) | 0;
  125154. h = (f + 12) | 0;
  125155. i = (f + 24) | 0;
  125156. j = f;
  125157. if (
  125158. (
  125159. (
  125160. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
  125161. ? (a[(b + 1) >> 0] | 0) == 122
  125162. : 0
  125163. )
  125164. ? ((k = (b + 2) | 0),
  125165. (m = SB(k, d, e) | 0),
  125166. (m | 0) != (k | 0))
  125167. : 0
  125168. )
  125169. ? ((k = (e + 4) | 0),
  125170. (d = c[k >> 2] | 0),
  125171. (c[e >> 2] | 0) != (d | 0))
  125172. : 0
  125173. ) {
  125174. FB(j, (d + -24) | 0);
  125175. pB(j, 0, 18900) | 0;
  125176. c[i >> 2] = c[j >> 2];
  125177. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  125178. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  125179. d = 0;
  125180. while (1) {
  125181. if ((d | 0) == 3) break;
  125182. c[(j + (d << 2)) >> 2] = 0;
  125183. d = (d + 1) | 0;
  125184. }
  125185. qB(i, 18673) | 0;
  125186. c[h >> 2] = c[i >> 2];
  125187. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  125188. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  125189. d = 0;
  125190. while (1) {
  125191. if ((d | 0) == 3) break;
  125192. c[(i + (d << 2)) >> 2] = 0;
  125193. d = (d + 1) | 0;
  125194. }
  125195. IB(g, h);
  125196. JB(((c[k >> 2] | 0) + -24) | 0, g);
  125197. QA(g);
  125198. iB(h);
  125199. iB(i);
  125200. iB(j);
  125201. n = m;
  125202. } else n = b;
  125203. l = f;
  125204. return n | 0;
  125205. }
  125206. function pC(b, d, e) {
  125207. b = b | 0;
  125208. d = d | 0;
  125209. e = e | 0;
  125210. var f = 0,
  125211. g = 0,
  125212. h = 0,
  125213. i = 0,
  125214. j = 0,
  125215. k = 0,
  125216. m = 0,
  125217. n = 0,
  125218. o = 0,
  125219. p = 0,
  125220. q = 0,
  125221. r = 0,
  125222. s = 0,
  125223. t = 0,
  125224. u = 0;
  125225. f = l;
  125226. l = (l + 64) | 0;
  125227. g = (f + 48) | 0;
  125228. h = (f + 24) | 0;
  125229. i = f;
  125230. j = (f + 12) | 0;
  125231. if (
  125232. (
  125233. (
  125234. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
  125235. ? (a[(b + 1) >> 0] | 0) == 90
  125236. : 0
  125237. )
  125238. ? ((k = (b + 2) | 0), (a[k >> 0] | 0) == 84)
  125239. : 0
  125240. )
  125241. ? ((m = (e + 4) | 0),
  125242. (n =
  125243. ((((c[m >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0),
  125244. (o = DB(k, d, e) | 0),
  125245. (d =
  125246. ((((c[m >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0),
  125247. (o | 0) != (k | 0))
  125248. : 0
  125249. ) {
  125250. c[g >> 2] = 0;
  125251. c[(g + 4) >> 2] = 0;
  125252. c[(g + 8) >> 2] = 0;
  125253. RB(g, 18886, AB(18886) | 0);
  125254. a: do {
  125255. if ((n | 0) != (d | 0)) {
  125256. FB(h, ((c[e >> 2] | 0) + ((n * 24) | 0)) | 0);
  125257. k = a[(h + 11) >> 0] | 0;
  125258. p = (k << 24) >> 24 < 0;
  125259. TA(
  125260. g,
  125261. p ? c[h >> 2] | 0 : h,
  125262. p ? c[(h + 4) >> 2] | 0 : k & 255
  125263. ) | 0;
  125264. iB(h);
  125265. k = (h + 11) | 0;
  125266. p = (h + 4) | 0;
  125267. q = n;
  125268. while (1) {
  125269. r = (q + 1) | 0;
  125270. if ((r | 0) == (d | 0)) break a;
  125271. FB(i, ((c[e >> 2] | 0) + ((r * 24) | 0)) | 0);
  125272. pB(i, 0, 18897) | 0;
  125273. c[h >> 2] = c[i >> 2];
  125274. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  125275. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  125276. s = 0;
  125277. while (1) {
  125278. if ((s | 0) == 3) break;
  125279. c[(i + (s << 2)) >> 2] = 0;
  125280. s = (s + 1) | 0;
  125281. }
  125282. s = a[k >> 0] | 0;
  125283. t = (s << 24) >> 24 < 0;
  125284. TA(
  125285. g,
  125286. t ? c[h >> 2] | 0 : h,
  125287. t ? c[p >> 2] | 0 : s & 255
  125288. ) | 0;
  125289. iB(h);
  125290. iB(i);
  125291. q = r;
  125292. }
  125293. }
  125294. } while (0);
  125295. qB(g, 18673) | 0;
  125296. i = d;
  125297. while (1) {
  125298. if ((i | 0) == (n | 0)) break;
  125299. d = c[m >> 2] | 0;
  125300. q = 0;
  125301. while (1) {
  125302. if ((q | 0) == -1) break;
  125303. p = (q + -1) | 0;
  125304. QA((d + ((p * 24) | 0)) | 0);
  125305. q = p;
  125306. }
  125307. c[m >> 2] = d + -24;
  125308. i = (i + -1) | 0;
  125309. }
  125310. c[j >> 2] = c[g >> 2];
  125311. c[(j + 4) >> 2] = c[(g + 4) >> 2];
  125312. c[(j + 8) >> 2] = c[(g + 8) >> 2];
  125313. i = 0;
  125314. while (1) {
  125315. if ((i | 0) == 3) break;
  125316. c[(g + (i << 2)) >> 2] = 0;
  125317. i = (i + 1) | 0;
  125318. }
  125319. IB(h, j);
  125320. i = c[m >> 2] | 0;
  125321. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  125322. KB(i, h);
  125323. c[m >> 2] = (c[m >> 2] | 0) + 24;
  125324. } else LB(e, h);
  125325. QA(h);
  125326. iB(j);
  125327. iB(g);
  125328. u = o;
  125329. } else u = b;
  125330. l = f;
  125331. return u | 0;
  125332. }
  125333. function qC(b, d, e) {
  125334. b = b | 0;
  125335. d = d | 0;
  125336. e = e | 0;
  125337. var f = 0,
  125338. g = 0,
  125339. h = 0,
  125340. i = 0,
  125341. j = 0,
  125342. k = 0,
  125343. m = 0,
  125344. n = 0;
  125345. f = l;
  125346. l = (l + 64) | 0;
  125347. g = (f + 40) | 0;
  125348. h = (f + 12) | 0;
  125349. i = (f + 24) | 0;
  125350. j = f;
  125351. if (
  125352. (
  125353. (
  125354. (
  125355. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
  125356. ? (a[(b + 1) >> 0] | 0) == 90
  125357. : 0
  125358. )
  125359. ? ((k = (b + 2) | 0), (a[k >> 0] | 0) == 102)
  125360. : 0
  125361. )
  125362. ? ((m = XB(k, d, e) | 0), (m | 0) != (k | 0))
  125363. : 0
  125364. )
  125365. ? ((k = (e + 4) | 0),
  125366. (d = c[k >> 2] | 0),
  125367. (c[e >> 2] | 0) != (d | 0))
  125368. : 0
  125369. ) {
  125370. FB(j, (d + -24) | 0);
  125371. pB(j, 0, 18886) | 0;
  125372. c[i >> 2] = c[j >> 2];
  125373. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  125374. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  125375. d = 0;
  125376. while (1) {
  125377. if ((d | 0) == 3) break;
  125378. c[(j + (d << 2)) >> 2] = 0;
  125379. d = (d + 1) | 0;
  125380. }
  125381. qB(i, 18673) | 0;
  125382. c[h >> 2] = c[i >> 2];
  125383. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  125384. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  125385. d = 0;
  125386. while (1) {
  125387. if ((d | 0) == 3) break;
  125388. c[(i + (d << 2)) >> 2] = 0;
  125389. d = (d + 1) | 0;
  125390. }
  125391. IB(g, h);
  125392. JB(((c[k >> 2] | 0) + -24) | 0, g);
  125393. QA(g);
  125394. iB(h);
  125395. iB(i);
  125396. iB(j);
  125397. n = m;
  125398. } else n = b;
  125399. l = f;
  125400. return n | 0;
  125401. }
  125402. function rC(b, d, e) {
  125403. b = b | 0;
  125404. d = d | 0;
  125405. e = e | 0;
  125406. var f = 0,
  125407. g = 0,
  125408. h = 0,
  125409. i = 0,
  125410. j = 0,
  125411. k = 0,
  125412. m = 0,
  125413. n = 0,
  125414. o = 0;
  125415. f = l;
  125416. l = (l + 64) | 0;
  125417. g = (f + 40) | 0;
  125418. h = (f + 12) | 0;
  125419. i = (f + 24) | 0;
  125420. j = f;
  125421. a: do {
  125422. if (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 116 : 0) {
  125423. k = a[(b + 1) >> 0] | 0;
  125424. switch ((k << 24) >> 24) {
  125425. case 105:
  125426. case 101:
  125427. break;
  125428. default: {
  125429. m = b;
  125430. break a;
  125431. }
  125432. }
  125433. n = (b + 2) | 0;
  125434. if ((k << 24) >> 24 == 101) o = SB(n, d, e) | 0;
  125435. else o = mB(n, d, e) | 0;
  125436. if (
  125437. (o | 0) != (n | 0)
  125438. ? ((n = (e + 4) | 0),
  125439. (k = c[n >> 2] | 0),
  125440. (c[e >> 2] | 0) != (k | 0))
  125441. : 0
  125442. ) {
  125443. FB(j, (k + -24) | 0);
  125444. pB(j, 0, 18878) | 0;
  125445. c[i >> 2] = c[j >> 2];
  125446. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  125447. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  125448. k = 0;
  125449. while (1) {
  125450. if ((k | 0) == 3) break;
  125451. c[(j + (k << 2)) >> 2] = 0;
  125452. k = (k + 1) | 0;
  125453. }
  125454. qB(i, 18673) | 0;
  125455. c[h >> 2] = c[i >> 2];
  125456. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  125457. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  125458. k = 0;
  125459. while (1) {
  125460. if ((k | 0) == 3) break;
  125461. c[(i + (k << 2)) >> 2] = 0;
  125462. k = (k + 1) | 0;
  125463. }
  125464. IB(g, h);
  125465. JB(((c[n >> 2] | 0) + -24) | 0, g);
  125466. QA(g);
  125467. iB(h);
  125468. iB(i);
  125469. iB(j);
  125470. m = o;
  125471. } else m = b;
  125472. } else m = b;
  125473. } while (0);
  125474. l = f;
  125475. return m | 0;
  125476. }
  125477. function sC(a, b) {
  125478. a = a | 0;
  125479. b = b | 0;
  125480. c[a >> 2] = 0;
  125481. c[(a + 4) >> 2] = 0;
  125482. c[(a + 8) >> 2] = 0;
  125483. RB(a, b, 5);
  125484. b = (a + 12) | 0;
  125485. c[b >> 2] = 0;
  125486. c[(b + 4) >> 2] = 0;
  125487. c[(b + 8) >> 2] = 0;
  125488. a = 0;
  125489. while (1) {
  125490. if ((a | 0) == 3) break;
  125491. c[(b + (a << 2)) >> 2] = 0;
  125492. a = (a + 1) | 0;
  125493. }
  125494. return;
  125495. }
  125496. function tC(b, d, e) {
  125497. b = b | 0;
  125498. d = d | 0;
  125499. e = e | 0;
  125500. var f = 0,
  125501. g = 0,
  125502. h = 0,
  125503. i = 0,
  125504. j = 0,
  125505. k = 0,
  125506. m = 0;
  125507. f = l;
  125508. l = (l + 48) | 0;
  125509. g = (f + 24) | 0;
  125510. h = f;
  125511. i = (f + 12) | 0;
  125512. if (
  125513. (
  125514. (
  125515. (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 116 : 0)
  125516. ? (a[(b + 1) >> 0] | 0) == 119
  125517. : 0
  125518. )
  125519. ? ((j = (b + 2) | 0),
  125520. (k = SB(j, d, e) | 0),
  125521. (k | 0) != (j | 0))
  125522. : 0
  125523. )
  125524. ? ((j = (e + 4) | 0),
  125525. (d = c[j >> 2] | 0),
  125526. (c[e >> 2] | 0) != (d | 0))
  125527. : 0
  125528. ) {
  125529. FB(i, (d + -24) | 0);
  125530. pB(i, 0, 18871) | 0;
  125531. c[h >> 2] = c[i >> 2];
  125532. c[(h + 4) >> 2] = c[(i + 4) >> 2];
  125533. c[(h + 8) >> 2] = c[(i + 8) >> 2];
  125534. d = 0;
  125535. while (1) {
  125536. if ((d | 0) == 3) break;
  125537. c[(i + (d << 2)) >> 2] = 0;
  125538. d = (d + 1) | 0;
  125539. }
  125540. IB(g, h);
  125541. JB(((c[j >> 2] | 0) + -24) | 0, g);
  125542. QA(g);
  125543. iB(h);
  125544. iB(i);
  125545. m = k;
  125546. } else m = b;
  125547. l = f;
  125548. return m | 0;
  125549. }
  125550. function uC(a, b) {
  125551. a = a | 0;
  125552. b = b | 0;
  125553. vC(a, b, AB(b) | 0);
  125554. return;
  125555. }
  125556. function vC(b, d, e) {
  125557. b = b | 0;
  125558. d = d | 0;
  125559. e = e | 0;
  125560. var f = 0,
  125561. g = 0,
  125562. h = 0,
  125563. i = 0,
  125564. j = 0,
  125565. k = 0,
  125566. m = 0,
  125567. n = 0;
  125568. f = l;
  125569. l = (l + 16) | 0;
  125570. g = f;
  125571. h = (b + 11) | 0;
  125572. i = a[h >> 0] | 0;
  125573. j = (i << 24) >> 24 < 0;
  125574. if (j) k = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  125575. else k = 10;
  125576. do {
  125577. if (k >>> 0 >= e >>> 0) {
  125578. if (j) m = c[b >> 2] | 0;
  125579. else m = b;
  125580. wC(m, d, e) | 0;
  125581. a[g >> 0] = 0;
  125582. cB((m + e) | 0, g);
  125583. if ((a[h >> 0] | 0) < 0) {
  125584. c[(b + 4) >> 2] = e;
  125585. break;
  125586. } else {
  125587. a[h >> 0] = e;
  125588. break;
  125589. }
  125590. } else {
  125591. if (j) n = c[(b + 4) >> 2] | 0;
  125592. else n = i & 255;
  125593. dB(b, k, (e - k) | 0, n, 0, n, e, d);
  125594. }
  125595. } while (0);
  125596. l = f;
  125597. return;
  125598. }
  125599. function wC(a, b, c) {
  125600. a = a | 0;
  125601. b = b | 0;
  125602. c = c | 0;
  125603. if (c | 0) nE(a | 0, b | 0, c | 0) | 0;
  125604. return a | 0;
  125605. }
  125606. function xC(b, d, e) {
  125607. b = b | 0;
  125608. d = d | 0;
  125609. e = e | 0;
  125610. var f = 0,
  125611. g = 0,
  125612. h = 0,
  125613. i = 0,
  125614. j = 0,
  125615. k = 0,
  125616. m = 0,
  125617. n = 0,
  125618. o = 0,
  125619. p = 0,
  125620. q = 0,
  125621. r = 0,
  125622. s = 0;
  125623. f = l;
  125624. l = (l + 16) | 0;
  125625. g = f;
  125626. a: do {
  125627. if (((d - b) | 0) > 1) {
  125628. h = a[b >> 0] | 0;
  125629. switch ((h << 24) >> 24) {
  125630. case 100:
  125631. case 111: {
  125632. if ((a[(b + 1) >> 0] | 0) == 110) {
  125633. i = (b + 2) | 0;
  125634. if ((h << 24) >> 24 != 111) {
  125635. h = UC(i, d, e) | 0;
  125636. j = (h | 0) == (i | 0) ? b : h;
  125637. break a;
  125638. }
  125639. h = EC(i, d, e) | 0;
  125640. if ((h | 0) == (i | 0)) {
  125641. j = b;
  125642. break a;
  125643. }
  125644. i = EB(h, d, e) | 0;
  125645. if ((i | 0) == (h | 0)) {
  125646. j = h;
  125647. break a;
  125648. }
  125649. h = (e + 4) | 0;
  125650. k = c[h >> 2] | 0;
  125651. if (
  125652. ((((k - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  125653. 2
  125654. ) {
  125655. j = i;
  125656. break a;
  125657. }
  125658. FB(g, (k + -24) | 0);
  125659. k = c[h >> 2] | 0;
  125660. m = 0;
  125661. while (1) {
  125662. if ((m | 0) == -1) break;
  125663. n = (m + -1) | 0;
  125664. QA((k + ((n * 24) | 0)) | 0);
  125665. m = n;
  125666. }
  125667. c[h >> 2] = k + -24;
  125668. m = a[(g + 11) >> 0] | 0;
  125669. n = (m << 24) >> 24 < 0;
  125670. TA(
  125671. (k + -48) | 0,
  125672. n ? c[g >> 2] | 0 : g,
  125673. n ? c[(g + 4) >> 2] | 0 : m & 255
  125674. ) | 0;
  125675. iB(g);
  125676. j = i;
  125677. break a;
  125678. }
  125679. break;
  125680. }
  125681. default: {
  125682. }
  125683. }
  125684. m = AC(b, d, e) | 0;
  125685. if ((m | 0) == (b | 0)) {
  125686. n = EC(b, d, e) | 0;
  125687. if ((n | 0) != (b | 0)) {
  125688. o = EB(n, d, e) | 0;
  125689. if ((o | 0) != (n | 0)) {
  125690. p = (e + 4) | 0;
  125691. q = c[p >> 2] | 0;
  125692. if (
  125693. ((((q - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  125694. 2
  125695. )
  125696. j = o;
  125697. else {
  125698. FB(g, (q + -24) | 0);
  125699. q = c[p >> 2] | 0;
  125700. r = 0;
  125701. while (1) {
  125702. if ((r | 0) == -1) break;
  125703. s = (r + -1) | 0;
  125704. QA((q + ((s * 24) | 0)) | 0);
  125705. r = s;
  125706. }
  125707. c[p >> 2] = q + -24;
  125708. r = a[(g + 11) >> 0] | 0;
  125709. i = (r << 24) >> 24 < 0;
  125710. TA(
  125711. (q + -48) | 0,
  125712. i ? c[g >> 2] | 0 : g,
  125713. i ? c[(g + 4) >> 2] | 0 : r & 255
  125714. ) | 0;
  125715. iB(g);
  125716. j = o;
  125717. }
  125718. } else j = n;
  125719. } else j = b;
  125720. } else j = m;
  125721. } else j = b;
  125722. } while (0);
  125723. l = f;
  125724. return j | 0;
  125725. }
  125726. function yC(b, d, e) {
  125727. b = b | 0;
  125728. d = d | 0;
  125729. e = e | 0;
  125730. var f = 0,
  125731. g = 0,
  125732. h = 0,
  125733. i = 0,
  125734. j = 0,
  125735. k = 0,
  125736. m = 0,
  125737. n = 0,
  125738. o = 0,
  125739. p = 0,
  125740. q = 0,
  125741. r = 0,
  125742. s = 0;
  125743. f = l;
  125744. l = (l + 32) | 0;
  125745. g = (f + 8) | 0;
  125746. h = f;
  125747. a: do {
  125748. if ((b | 0) == (d | 0)) i = b;
  125749. else
  125750. switch (a[b >> 0] | 0) {
  125751. case 84: {
  125752. j = (e + 4) | 0;
  125753. k =
  125754. ((((c[j >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) |
  125755. 0;
  125756. m = DB(b, d, e) | 0;
  125757. n = c[j >> 2] | 0;
  125758. o = (((n - (c[e >> 2] | 0)) | 0) / 24) | 0;
  125759. p = n;
  125760. if (
  125761. ((m | 0) != (b | 0)) &
  125762. ((o | 0) == ((k + 1) | 0))
  125763. ) {
  125764. c[h >> 2] = c[(e + 12) >> 2];
  125765. vB(g, (p + -24) | 0, h);
  125766. n = (e + 20) | 0;
  125767. q = c[n >> 2] | 0;
  125768. if (q >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  125769. c[q >> 2] = 0;
  125770. r = (q + 4) | 0;
  125771. c[r >> 2] = 0;
  125772. s = (q + 8) | 0;
  125773. c[s >> 2] = 0;
  125774. c[(q + 12) >> 2] = c[(g + 12) >> 2];
  125775. c[q >> 2] = c[g >> 2];
  125776. q = (g + 4) | 0;
  125777. c[r >> 2] = c[q >> 2];
  125778. r = (g + 8) | 0;
  125779. c[s >> 2] = c[r >> 2];
  125780. c[r >> 2] = 0;
  125781. c[q >> 2] = 0;
  125782. c[g >> 2] = 0;
  125783. c[n >> 2] = (c[n >> 2] | 0) + 16;
  125784. } else wB((e + 16) | 0, g);
  125785. RA(g);
  125786. i = m;
  125787. break a;
  125788. }
  125789. m = o;
  125790. o = p;
  125791. while (1) {
  125792. if ((m | 0) == (k | 0)) {
  125793. i = b;
  125794. break a;
  125795. }
  125796. p = 0;
  125797. while (1) {
  125798. if ((p | 0) == -1) break;
  125799. n = (p + -1) | 0;
  125800. QA((o + ((n * 24) | 0)) | 0);
  125801. p = n;
  125802. }
  125803. p = (o + -24) | 0;
  125804. c[j >> 2] = p;
  125805. m = (m + -1) | 0;
  125806. o = p;
  125807. }
  125808. break;
  125809. }
  125810. case 68: {
  125811. o = OB(b, d, e) | 0;
  125812. if ((o | 0) == (b | 0)) {
  125813. i = b;
  125814. break a;
  125815. }
  125816. m = c[(e + 4) >> 2] | 0;
  125817. if ((c[e >> 2] | 0) == (m | 0)) {
  125818. i = b;
  125819. break a;
  125820. }
  125821. c[h >> 2] = c[(e + 12) >> 2];
  125822. vB(g, (m + -24) | 0, h);
  125823. m = (e + 20) | 0;
  125824. j = c[m >> 2] | 0;
  125825. if (j >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  125826. c[j >> 2] = 0;
  125827. k = (j + 4) | 0;
  125828. c[k >> 2] = 0;
  125829. p = (j + 8) | 0;
  125830. c[p >> 2] = 0;
  125831. c[(j + 12) >> 2] = c[(g + 12) >> 2];
  125832. c[j >> 2] = c[g >> 2];
  125833. j = (g + 4) | 0;
  125834. c[k >> 2] = c[j >> 2];
  125835. k = (g + 8) | 0;
  125836. c[p >> 2] = c[k >> 2];
  125837. c[k >> 2] = 0;
  125838. c[j >> 2] = 0;
  125839. c[g >> 2] = 0;
  125840. c[m >> 2] = (c[m >> 2] | 0) + 16;
  125841. } else wB((e + 16) | 0, g);
  125842. RA(g);
  125843. i = o;
  125844. break a;
  125845. break;
  125846. }
  125847. case 83: {
  125848. o = NB(b, d, e) | 0;
  125849. if ((o | 0) != (b | 0)) {
  125850. i = o;
  125851. break a;
  125852. }
  125853. if (((d - b) | 0) <= 2) {
  125854. i = b;
  125855. break a;
  125856. }
  125857. if ((a[(b + 1) >> 0] | 0) != 116) {
  125858. i = b;
  125859. break a;
  125860. }
  125861. o = (b + 2) | 0;
  125862. m = BC(o, d, e) | 0;
  125863. if ((m | 0) == (o | 0)) {
  125864. i = b;
  125865. break a;
  125866. }
  125867. o = (e + 4) | 0;
  125868. j = c[o >> 2] | 0;
  125869. if ((c[e >> 2] | 0) == (j | 0)) {
  125870. i = b;
  125871. break a;
  125872. }
  125873. pB((j + -24) | 0, 0, 18969) | 0;
  125874. j = ((c[o >> 2] | 0) + -24) | 0;
  125875. c[h >> 2] = c[(e + 12) >> 2];
  125876. vB(g, j, h);
  125877. j = (e + 20) | 0;
  125878. o = c[j >> 2] | 0;
  125879. if (o >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
  125880. c[o >> 2] = 0;
  125881. k = (o + 4) | 0;
  125882. c[k >> 2] = 0;
  125883. p = (o + 8) | 0;
  125884. c[p >> 2] = 0;
  125885. c[(o + 12) >> 2] = c[(g + 12) >> 2];
  125886. c[o >> 2] = c[g >> 2];
  125887. o = (g + 4) | 0;
  125888. c[k >> 2] = c[o >> 2];
  125889. k = (g + 8) | 0;
  125890. c[p >> 2] = c[k >> 2];
  125891. c[k >> 2] = 0;
  125892. c[o >> 2] = 0;
  125893. c[g >> 2] = 0;
  125894. c[j >> 2] = (c[j >> 2] | 0) + 16;
  125895. } else wB((e + 16) | 0, g);
  125896. RA(g);
  125897. i = m;
  125898. break a;
  125899. break;
  125900. }
  125901. default: {
  125902. i = b;
  125903. break a;
  125904. }
  125905. }
  125906. } while (0);
  125907. l = f;
  125908. return i | 0;
  125909. }
  125910. function zC(a, b, c) {
  125911. a = a | 0;
  125912. b = b | 0;
  125913. c = c | 0;
  125914. return AC(a, b, c) | 0;
  125915. }
  125916. function AC(b, d, e) {
  125917. b = b | 0;
  125918. d = d | 0;
  125919. e = e | 0;
  125920. var f = 0,
  125921. g = 0,
  125922. h = 0,
  125923. i = 0,
  125924. j = 0,
  125925. k = 0,
  125926. m = 0;
  125927. f = l;
  125928. l = (l + 16) | 0;
  125929. g = f;
  125930. if (
  125931. (b | 0) != (d | 0)
  125932. ? ((h = GB(b, d, e) | 0), (h | 0) != (b | 0))
  125933. : 0
  125934. ) {
  125935. i = EB(h, d, e) | 0;
  125936. if ((i | 0) != (h | 0)) {
  125937. d = (e + 4) | 0;
  125938. j = c[d >> 2] | 0;
  125939. if (((((j - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 < 2)
  125940. k = b;
  125941. else {
  125942. FB(g, (j + -24) | 0);
  125943. j = c[d >> 2] | 0;
  125944. e = 0;
  125945. while (1) {
  125946. if ((e | 0) == -1) break;
  125947. m = (e + -1) | 0;
  125948. QA((j + ((m * 24) | 0)) | 0);
  125949. e = m;
  125950. }
  125951. c[d >> 2] = j + -24;
  125952. d = a[(g + 11) >> 0] | 0;
  125953. e = (d << 24) >> 24 < 0;
  125954. TA(
  125955. (j + -48) | 0,
  125956. e ? c[g >> 2] | 0 : g,
  125957. e ? c[(g + 4) >> 2] | 0 : d & 255
  125958. ) | 0;
  125959. iB(g);
  125960. k = i;
  125961. }
  125962. } else k = h;
  125963. } else k = b;
  125964. l = f;
  125965. return k | 0;
  125966. }
  125967. function BC(b, c, d) {
  125968. b = b | 0;
  125969. c = c | 0;
  125970. d = d | 0;
  125971. var e = 0;
  125972. a: do {
  125973. if ((b | 0) == (c | 0)) e = b;
  125974. else
  125975. switch (a[b >> 0] | 0) {
  125976. case 68:
  125977. case 67: {
  125978. e = CC(b, c, d) | 0;
  125979. break a;
  125980. break;
  125981. }
  125982. case 85: {
  125983. e = DC(b, c, d) | 0;
  125984. break a;
  125985. break;
  125986. }
  125987. case 57:
  125988. case 56:
  125989. case 55:
  125990. case 54:
  125991. case 53:
  125992. case 52:
  125993. case 51:
  125994. case 50:
  125995. case 49: {
  125996. e = GB(b, c, d) | 0;
  125997. break a;
  125998. break;
  125999. }
  126000. default:
  126001. return EC(b, c, d) | 0;
  126002. }
  126003. } while (0);
  126004. return e | 0;
  126005. }
  126006. function CC(b, d, e) {
  126007. b = b | 0;
  126008. d = d | 0;
  126009. e = e | 0;
  126010. var f = 0,
  126011. g = 0,
  126012. h = 0,
  126013. i = 0,
  126014. j = 0,
  126015. k = 0,
  126016. m = 0,
  126017. n = 0,
  126018. o = 0;
  126019. f = l;
  126020. l = (l + 64) | 0;
  126021. g = (f + 40) | 0;
  126022. h = (f + 24) | 0;
  126023. i = f;
  126024. j = (f + 12) | 0;
  126025. a: do {
  126026. if (
  126027. ((d - b) | 0) > 1
  126028. ? ((k = (e + 4) | 0),
  126029. (m = c[k >> 2] | 0),
  126030. (c[e >> 2] | 0) != (m | 0))
  126031. : 0
  126032. ) {
  126033. switch (a[b >> 0] | 0) {
  126034. case 67: {
  126035. switch (a[(b + 1) >> 0] | 0) {
  126036. case 53:
  126037. case 51:
  126038. case 50:
  126039. case 49:
  126040. break;
  126041. default: {
  126042. n = b;
  126043. break a;
  126044. }
  126045. }
  126046. SC(h, (m + -24) | 0);
  126047. IB(g, h);
  126048. o = c[k >> 2] | 0;
  126049. if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  126050. KB(o, g);
  126051. c[k >> 2] = (c[k >> 2] | 0) + 24;
  126052. } else LB(e, g);
  126053. QA(g);
  126054. iB(h);
  126055. a[(e + 60) >> 0] = 1;
  126056. n = (b + 2) | 0;
  126057. break a;
  126058. break;
  126059. }
  126060. case 68:
  126061. break;
  126062. default: {
  126063. n = b;
  126064. break a;
  126065. }
  126066. }
  126067. switch (a[(b + 1) >> 0] | 0) {
  126068. case 53:
  126069. case 50:
  126070. case 49:
  126071. case 48:
  126072. break;
  126073. default: {
  126074. n = b;
  126075. break a;
  126076. }
  126077. }
  126078. SC(j, (m + -24) | 0);
  126079. pB(j, 0, 18745) | 0;
  126080. c[i >> 2] = c[j >> 2];
  126081. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  126082. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  126083. m = 0;
  126084. while (1) {
  126085. if ((m | 0) == 3) break;
  126086. c[(j + (m << 2)) >> 2] = 0;
  126087. m = (m + 1) | 0;
  126088. }
  126089. IB(g, i);
  126090. m = c[k >> 2] | 0;
  126091. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  126092. KB(m, g);
  126093. c[k >> 2] = (c[k >> 2] | 0) + 24;
  126094. } else LB(e, g);
  126095. QA(g);
  126096. iB(i);
  126097. iB(j);
  126098. a[(e + 60) >> 0] = 1;
  126099. n = (b + 2) | 0;
  126100. } else n = b;
  126101. } while (0);
  126102. l = f;
  126103. return n | 0;
  126104. }
  126105. function Zl(a, b, e, f, g, h) {
  126106. a = a | 0;
  126107. b = b | 0;
  126108. e = e | 0;
  126109. f = f | 0;
  126110. g = g | 0;
  126111. h = h | 0;
  126112. var i = 0,
  126113. j = 0,
  126114. k = 0,
  126115. m = 0,
  126116. n = 0,
  126117. o = 0,
  126118. p = 0,
  126119. q = 0,
  126120. r = 0,
  126121. s = 0,
  126122. t = 0,
  126123. u = 0,
  126124. v = 0,
  126125. w = 0,
  126126. x = 0,
  126127. y = 0,
  126128. z = 0,
  126129. A = 0,
  126130. B = 0,
  126131. C = 0,
  126132. D = 0,
  126133. E = 0,
  126134. F = 0,
  126135. G = 0,
  126136. H = 0,
  126137. I = 0,
  126138. J = 0,
  126139. K = 0,
  126140. L = 0,
  126141. M = 0,
  126142. N = 0,
  126143. O = 0,
  126144. P = 0,
  126145. Q = 0,
  126146. R = 0,
  126147. S = 0,
  126148. T = 0,
  126149. U = 0,
  126150. V = 0,
  126151. W = 0,
  126152. X = 0,
  126153. Y = 0,
  126154. Z = 0,
  126155. _ = 0,
  126156. $ = 0,
  126157. aa = 0;
  126158. i = l;
  126159. l = (l + 192) | 0;
  126160. j = (i + 176) | 0;
  126161. k = (i + 172) | 0;
  126162. m = (i + 168) | 0;
  126163. n = (i + 164) | 0;
  126164. o = (i + 160) | 0;
  126165. p = (i + 156) | 0;
  126166. q = (i + 152) | 0;
  126167. r = (i + 148) | 0;
  126168. s = (i + 144) | 0;
  126169. t = (i + 140) | 0;
  126170. u = (i + 136) | 0;
  126171. v = (i + 132) | 0;
  126172. w = (i + 128) | 0;
  126173. x = (i + 124) | 0;
  126174. y = (i + 120) | 0;
  126175. z = (i + 116) | 0;
  126176. A = (i + 112) | 0;
  126177. B = (i + 108) | 0;
  126178. C = (i + 104) | 0;
  126179. D = (i + 100) | 0;
  126180. E = (i + 96) | 0;
  126181. F = (i + 92) | 0;
  126182. G = (i + 88) | 0;
  126183. H = (i + 84) | 0;
  126184. I = (i + 80) | 0;
  126185. J = (i + 76) | 0;
  126186. K = (i + 72) | 0;
  126187. L = (i + 68) | 0;
  126188. M = (i + 64) | 0;
  126189. N = (i + 60) | 0;
  126190. O = (i + 56) | 0;
  126191. P = (i + 52) | 0;
  126192. Q = (i + 48) | 0;
  126193. R = (i + 44) | 0;
  126194. S = (i + 40) | 0;
  126195. T = (i + 36) | 0;
  126196. U = (i + 32) | 0;
  126197. V = (i + 28) | 0;
  126198. W = (i + 24) | 0;
  126199. X = (i + 20) | 0;
  126200. Y = (i + 16) | 0;
  126201. Z = (i + 12) | 0;
  126202. _ = (i + 8) | 0;
  126203. $ = (i + 4) | 0;
  126204. aa = i;
  126205. c[X >> 2] = a;
  126206. c[Y >> 2] = b;
  126207. c[Z >> 2] = e;
  126208. c[_ >> 2] = f;
  126209. c[$ >> 2] = g;
  126210. c[aa >> 2] = h;
  126211. h = c[Y >> 2] | 0;
  126212. Y = c[Z >> 2] | 0;
  126213. Z = c[_ >> 2] | 0;
  126214. _ = c[$ >> 2] | 0;
  126215. $ = c[aa >> 2] | 0;
  126216. c[j >> 2] = c[X >> 2];
  126217. c[k >> 2] = h;
  126218. c[m >> 2] = Y;
  126219. c[n >> 2] = Z;
  126220. c[o >> 2] = _;
  126221. c[p >> 2] = $;
  126222. c[q >> 2] = 0;
  126223. c[r >> 2] = 0;
  126224. c[s >> 2] = c[o >> 2];
  126225. c[t >> 2] = c[s >> 2];
  126226. c[u >> 2] = c[s >> 2];
  126227. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  126228. c[w >> 2] = (c[v >> 2] | 0) + -8;
  126229. c[x >> 2] =
  126230. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
  126231. (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
  126232. c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
  126233. c[z >> 2] = c[c[m >> 2] >> 2];
  126234. c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  126235. c[B >> 2] = 0;
  126236. c[t >> 2] =
  126237. (c[t >> 2] | 0) +
  126238. (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
  126239. c[((c[j >> 2] | 0) + 28) >> 2] =
  126240. c[((c[j >> 2] | 0) + 24) >> 2];
  126241. c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  126242. if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  126243. c[B >> 2] = c[A >> 2];
  126244. c[A >> 2] = 0;
  126245. }
  126246. if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  126247. c[B >> 2] = c[z >> 2];
  126248. c[z >> 2] = 0;
  126249. }
  126250. while (1) {
  126251. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  126252. c[D >> 2] = 0;
  126253. c[E >> 2] = 0;
  126254. c[F >> 2] = (c[t >> 2] | 0) + 1;
  126255. C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
  126256. q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
  126257. if (
  126258. !((C &
  126259. ((q | 0) ==
  126260. (Bk(
  126261. ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
  126262. ) |
  126263. 0))) |
  126264. 0
  126265. ? ((c[D >> 2] =
  126266. (Qm(
  126267. ((c[t >> 2] | 0) + 1 + 4) | 0,
  126268. ((c[t >> 2] | 0) +
  126269. 1 +
  126270. 4 +
  126271. (0 - (c[z >> 2] | 0))) |
  126272. 0,
  126273. c[v >> 2] | 0
  126274. ) |
  126275. 0) +
  126276. 4),
  126277. !(c[r >> 2] | 0))
  126278. : 0)
  126279. ) {
  126280. c[G >> 2] = 99999999;
  126281. c[H >> 2] =
  126282. tc[c[y >> 2] & 7](
  126283. c[j >> 2] | 0,
  126284. c[n >> 2] | 0,
  126285. c[t >> 2] | 0,
  126286. c[v >> 2] | 0,
  126287. G
  126288. ) | 0;
  126289. if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
  126290. c[D >> 2] = c[H >> 2];
  126291. c[F >> 2] = c[t >> 2];
  126292. c[E >> 2] = c[G >> 2];
  126293. }
  126294. if ((c[D >> 2] | 0) >>> 0 < 4) {
  126295. c[t >> 2] =
  126296. (c[t >> 2] | 0) +
  126297. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  126298. continue;
  126299. }
  126300. a: do {
  126301. if ((c[r >> 2] | 0) >>> 0 >= 1)
  126302. while (1) {
  126303. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  126304. break a;
  126305. c[t >> 2] = (c[t >> 2] | 0) + 1;
  126306. if (
  126307. (
  126308. (
  126309. c[E >> 2] | 0
  126310. ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  126311. (C = Bk(c[t >> 2] | 0) | 0),
  126312. (q &
  126313. ((C | 0) ==
  126314. (Bk(
  126315. ((c[t >> 2] | 0) +
  126316. (0 - (c[z >> 2] | 0))) |
  126317. 0
  126318. ) |
  126319. 0))) |
  126320. 0)
  126321. : 0
  126322. )
  126323. ? ((c[I >> 2] =
  126324. (Qm(
  126325. ((c[t >> 2] | 0) + 4) | 0,
  126326. ((c[t >> 2] | 0) +
  126327. 4 +
  126328. (0 - (c[z >> 2] | 0))) |
  126329. 0,
  126330. c[v >> 2] | 0
  126331. ) |
  126332. 0) +
  126333. 4),
  126334. (c[J >> 2] = (c[I >> 2] | 0) * 3),
  126335. (C = ((c[D >> 2] | 0) * 3) | 0),
  126336. (c[K >> 2] =
  126337. C -
  126338. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  126339. 1),
  126340. (c[I >> 2] | 0) >>> 0 >= 4)
  126341. : 0
  126342. )
  126343. ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
  126344. : 0
  126345. ) {
  126346. c[D >> 2] = c[I >> 2];
  126347. c[E >> 2] = 0;
  126348. c[F >> 2] = c[t >> 2];
  126349. }
  126350. c[L >> 2] = 99999999;
  126351. c[M >> 2] =
  126352. tc[c[y >> 2] & 7](
  126353. c[j >> 2] | 0,
  126354. c[n >> 2] | 0,
  126355. c[t >> 2] | 0,
  126356. c[v >> 2] | 0,
  126357. L
  126358. ) | 0;
  126359. C = c[M >> 2] << 2;
  126360. c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
  126361. C = c[D >> 2] << 2;
  126362. c[O >> 2] =
  126363. C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
  126364. if (
  126365. (c[M >> 2] | 0) >>> 0 >= 4
  126366. ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
  126367. : 0
  126368. ) {
  126369. c[D >> 2] = c[M >> 2];
  126370. c[E >> 2] = c[L >> 2];
  126371. c[F >> 2] = c[t >> 2];
  126372. continue;
  126373. }
  126374. if ((c[r >> 2] | 0) != 2) break a;
  126375. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  126376. break a;
  126377. c[t >> 2] = (c[t >> 2] | 0) + 1;
  126378. do {
  126379. if (
  126380. (
  126381. c[E >> 2] | 0
  126382. ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  126383. (q = Bk(c[t >> 2] | 0) | 0),
  126384. (C &
  126385. ((q | 0) ==
  126386. (Bk(
  126387. ((c[t >> 2] | 0) +
  126388. (0 - (c[z >> 2] | 0))) |
  126389. 0
  126390. ) |
  126391. 0))) |
  126392. 0)
  126393. : 0
  126394. )
  126395. ? ((c[P >> 2] =
  126396. (Qm(
  126397. ((c[t >> 2] | 0) + 4) | 0,
  126398. ((c[t >> 2] | 0) +
  126399. 4 +
  126400. (0 - (c[z >> 2] | 0))) |
  126401. 0,
  126402. c[v >> 2] | 0
  126403. ) |
  126404. 0) +
  126405. 4),
  126406. (c[Q >> 2] = c[P >> 2] << 2),
  126407. (q = c[D >> 2] << 2),
  126408. (c[R >> 2] =
  126409. q -
  126410. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  126411. 1),
  126412. (c[P >> 2] | 0) >>> 0 >= 4)
  126413. : 0
  126414. ) {
  126415. if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
  126416. c[D >> 2] = c[P >> 2];
  126417. c[E >> 2] = 0;
  126418. c[F >> 2] = c[t >> 2];
  126419. }
  126420. } while (0);
  126421. c[S >> 2] = 99999999;
  126422. c[T >> 2] =
  126423. tc[c[y >> 2] & 7](
  126424. c[j >> 2] | 0,
  126425. c[n >> 2] | 0,
  126426. c[t >> 2] | 0,
  126427. c[v >> 2] | 0,
  126428. S
  126429. ) | 0;
  126430. q = c[T >> 2] << 2;
  126431. c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
  126432. q = c[D >> 2] << 2;
  126433. c[V >> 2] =
  126434. q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
  126435. if ((c[T >> 2] | 0) >>> 0 < 4) break a;
  126436. if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
  126437. c[D >> 2] = c[T >> 2];
  126438. c[E >> 2] = c[S >> 2];
  126439. c[F >> 2] = c[t >> 2];
  126440. }
  126441. } while (0);
  126442. if (c[E >> 2] | 0) {
  126443. while (1) {
  126444. if (
  126445. !(
  126446. ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
  126447. ? (((c[F >> 2] | 0) +
  126448. (0 - ((c[E >> 2] | 0) - 2))) |
  126449. 0) >>>
  126450. 0 >
  126451. (c[x >> 2] | 0) >>> 0
  126452. : 0) | 0
  126453. )
  126454. )
  126455. break;
  126456. if (
  126457. (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  126458. (d[
  126459. ((c[F >> 2] | 0) +
  126460. (0 - ((c[E >> 2] | 0) - 2)) +
  126461. -1) >>
  126462. 0
  126463. ] |
  126464. 0 |
  126465. 0)
  126466. )
  126467. break;
  126468. c[F >> 2] = (c[F >> 2] | 0) + -1;
  126469. c[D >> 2] = (c[D >> 2] | 0) + 1;
  126470. }
  126471. c[A >> 2] = c[z >> 2];
  126472. c[z >> 2] = (c[E >> 2] | 0) - 2;
  126473. }
  126474. }
  126475. c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
  126476. Nm(
  126477. c[k >> 2] | 0,
  126478. c[W >> 2] | 0,
  126479. c[u >> 2] | 0,
  126480. c[E >> 2] | 0,
  126481. ((c[D >> 2] | 0) - 3) | 0
  126482. );
  126483. q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
  126484. c[t >> 2] = q;
  126485. c[u >> 2] = q;
  126486. while (1) {
  126487. if (
  126488. !(
  126489. ((c[A >> 2] | 0) >>> 0 > 0
  126490. ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
  126491. : 0) | 0
  126492. )
  126493. )
  126494. break;
  126495. q = Bk(c[t >> 2] | 0) | 0;
  126496. if (
  126497. (q | 0) !=
  126498. (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
  126499. )
  126500. break;
  126501. c[D >> 2] =
  126502. (Qm(
  126503. ((c[t >> 2] | 0) + 4) | 0,
  126504. ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
  126505. c[v >> 2] | 0
  126506. ) |
  126507. 0) +
  126508. 4;
  126509. c[E >> 2] = c[A >> 2];
  126510. c[A >> 2] = c[z >> 2];
  126511. c[z >> 2] = c[E >> 2];
  126512. Nm(
  126513. c[k >> 2] | 0,
  126514. 0,
  126515. c[u >> 2] | 0,
  126516. 0,
  126517. ((c[D >> 2] | 0) - 3) | 0
  126518. );
  126519. c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
  126520. c[u >> 2] = c[t >> 2];
  126521. }
  126522. }
  126523. c[c[m >> 2] >> 2] =
  126524. c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
  126525. c[((c[m >> 2] | 0) + 4) >> 2] =
  126526. c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
  126527. l = i;
  126528. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  126529. }
  126530. function _l(a, b, e, f, g, h) {
  126531. a = a | 0;
  126532. b = b | 0;
  126533. e = e | 0;
  126534. f = f | 0;
  126535. g = g | 0;
  126536. h = h | 0;
  126537. var i = 0,
  126538. j = 0,
  126539. k = 0,
  126540. m = 0,
  126541. n = 0,
  126542. o = 0,
  126543. p = 0,
  126544. q = 0,
  126545. r = 0,
  126546. s = 0,
  126547. t = 0,
  126548. u = 0,
  126549. v = 0,
  126550. w = 0,
  126551. x = 0,
  126552. y = 0,
  126553. z = 0,
  126554. A = 0,
  126555. B = 0,
  126556. C = 0,
  126557. D = 0,
  126558. E = 0,
  126559. F = 0,
  126560. G = 0,
  126561. H = 0,
  126562. I = 0,
  126563. J = 0,
  126564. K = 0,
  126565. L = 0,
  126566. M = 0,
  126567. N = 0,
  126568. O = 0,
  126569. P = 0,
  126570. Q = 0,
  126571. R = 0,
  126572. S = 0,
  126573. T = 0,
  126574. U = 0,
  126575. V = 0,
  126576. W = 0,
  126577. X = 0,
  126578. Y = 0,
  126579. Z = 0,
  126580. _ = 0,
  126581. $ = 0,
  126582. aa = 0;
  126583. i = l;
  126584. l = (l + 192) | 0;
  126585. j = (i + 176) | 0;
  126586. k = (i + 172) | 0;
  126587. m = (i + 168) | 0;
  126588. n = (i + 164) | 0;
  126589. o = (i + 160) | 0;
  126590. p = (i + 156) | 0;
  126591. q = (i + 152) | 0;
  126592. r = (i + 148) | 0;
  126593. s = (i + 144) | 0;
  126594. t = (i + 140) | 0;
  126595. u = (i + 136) | 0;
  126596. v = (i + 132) | 0;
  126597. w = (i + 128) | 0;
  126598. x = (i + 124) | 0;
  126599. y = (i + 120) | 0;
  126600. z = (i + 116) | 0;
  126601. A = (i + 112) | 0;
  126602. B = (i + 108) | 0;
  126603. C = (i + 104) | 0;
  126604. D = (i + 100) | 0;
  126605. E = (i + 96) | 0;
  126606. F = (i + 92) | 0;
  126607. G = (i + 88) | 0;
  126608. H = (i + 84) | 0;
  126609. I = (i + 80) | 0;
  126610. J = (i + 76) | 0;
  126611. K = (i + 72) | 0;
  126612. L = (i + 68) | 0;
  126613. M = (i + 64) | 0;
  126614. N = (i + 60) | 0;
  126615. O = (i + 56) | 0;
  126616. P = (i + 52) | 0;
  126617. Q = (i + 48) | 0;
  126618. R = (i + 44) | 0;
  126619. S = (i + 40) | 0;
  126620. T = (i + 36) | 0;
  126621. U = (i + 32) | 0;
  126622. V = (i + 28) | 0;
  126623. W = (i + 24) | 0;
  126624. X = (i + 20) | 0;
  126625. Y = (i + 16) | 0;
  126626. Z = (i + 12) | 0;
  126627. _ = (i + 8) | 0;
  126628. $ = (i + 4) | 0;
  126629. aa = i;
  126630. c[X >> 2] = a;
  126631. c[Y >> 2] = b;
  126632. c[Z >> 2] = e;
  126633. c[_ >> 2] = f;
  126634. c[$ >> 2] = g;
  126635. c[aa >> 2] = h;
  126636. h = c[Y >> 2] | 0;
  126637. Y = c[Z >> 2] | 0;
  126638. Z = c[_ >> 2] | 0;
  126639. _ = c[$ >> 2] | 0;
  126640. $ = c[aa >> 2] | 0;
  126641. c[j >> 2] = c[X >> 2];
  126642. c[k >> 2] = h;
  126643. c[m >> 2] = Y;
  126644. c[n >> 2] = Z;
  126645. c[o >> 2] = _;
  126646. c[p >> 2] = $;
  126647. c[q >> 2] = 0;
  126648. c[r >> 2] = 1;
  126649. c[s >> 2] = c[o >> 2];
  126650. c[t >> 2] = c[s >> 2];
  126651. c[u >> 2] = c[s >> 2];
  126652. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  126653. c[w >> 2] = (c[v >> 2] | 0) + -8;
  126654. c[x >> 2] =
  126655. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
  126656. (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
  126657. c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
  126658. c[z >> 2] = c[c[m >> 2] >> 2];
  126659. c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  126660. c[B >> 2] = 0;
  126661. c[t >> 2] =
  126662. (c[t >> 2] | 0) +
  126663. (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
  126664. c[((c[j >> 2] | 0) + 28) >> 2] =
  126665. c[((c[j >> 2] | 0) + 24) >> 2];
  126666. c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  126667. if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  126668. c[B >> 2] = c[A >> 2];
  126669. c[A >> 2] = 0;
  126670. }
  126671. if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  126672. c[B >> 2] = c[z >> 2];
  126673. c[z >> 2] = 0;
  126674. }
  126675. while (1) {
  126676. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  126677. c[D >> 2] = 0;
  126678. c[E >> 2] = 0;
  126679. c[F >> 2] = (c[t >> 2] | 0) + 1;
  126680. C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
  126681. q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
  126682. if (
  126683. !((C &
  126684. ((q | 0) ==
  126685. (Bk(
  126686. ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
  126687. ) |
  126688. 0))) |
  126689. 0
  126690. ? ((c[D >> 2] =
  126691. (Qm(
  126692. ((c[t >> 2] | 0) + 1 + 4) | 0,
  126693. ((c[t >> 2] | 0) +
  126694. 1 +
  126695. 4 +
  126696. (0 - (c[z >> 2] | 0))) |
  126697. 0,
  126698. c[v >> 2] | 0
  126699. ) |
  126700. 0) +
  126701. 4),
  126702. !(c[r >> 2] | 0))
  126703. : 0)
  126704. ) {
  126705. c[G >> 2] = 99999999;
  126706. c[H >> 2] =
  126707. tc[c[y >> 2] & 7](
  126708. c[j >> 2] | 0,
  126709. c[n >> 2] | 0,
  126710. c[t >> 2] | 0,
  126711. c[v >> 2] | 0,
  126712. G
  126713. ) | 0;
  126714. if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
  126715. c[D >> 2] = c[H >> 2];
  126716. c[F >> 2] = c[t >> 2];
  126717. c[E >> 2] = c[G >> 2];
  126718. }
  126719. if ((c[D >> 2] | 0) >>> 0 < 4) {
  126720. c[t >> 2] =
  126721. (c[t >> 2] | 0) +
  126722. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  126723. continue;
  126724. }
  126725. a: do {
  126726. if ((c[r >> 2] | 0) >>> 0 >= 1)
  126727. while (1) {
  126728. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  126729. break a;
  126730. c[t >> 2] = (c[t >> 2] | 0) + 1;
  126731. if (
  126732. (
  126733. (
  126734. c[E >> 2] | 0
  126735. ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  126736. (C = Bk(c[t >> 2] | 0) | 0),
  126737. (q &
  126738. ((C | 0) ==
  126739. (Bk(
  126740. ((c[t >> 2] | 0) +
  126741. (0 - (c[z >> 2] | 0))) |
  126742. 0
  126743. ) |
  126744. 0))) |
  126745. 0)
  126746. : 0
  126747. )
  126748. ? ((c[I >> 2] =
  126749. (Qm(
  126750. ((c[t >> 2] | 0) + 4) | 0,
  126751. ((c[t >> 2] | 0) +
  126752. 4 +
  126753. (0 - (c[z >> 2] | 0))) |
  126754. 0,
  126755. c[v >> 2] | 0
  126756. ) |
  126757. 0) +
  126758. 4),
  126759. (c[J >> 2] = (c[I >> 2] | 0) * 3),
  126760. (C = ((c[D >> 2] | 0) * 3) | 0),
  126761. (c[K >> 2] =
  126762. C -
  126763. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  126764. 1),
  126765. (c[I >> 2] | 0) >>> 0 >= 4)
  126766. : 0
  126767. )
  126768. ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
  126769. : 0
  126770. ) {
  126771. c[D >> 2] = c[I >> 2];
  126772. c[E >> 2] = 0;
  126773. c[F >> 2] = c[t >> 2];
  126774. }
  126775. c[L >> 2] = 99999999;
  126776. c[M >> 2] =
  126777. tc[c[y >> 2] & 7](
  126778. c[j >> 2] | 0,
  126779. c[n >> 2] | 0,
  126780. c[t >> 2] | 0,
  126781. c[v >> 2] | 0,
  126782. L
  126783. ) | 0;
  126784. C = c[M >> 2] << 2;
  126785. c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
  126786. C = c[D >> 2] << 2;
  126787. c[O >> 2] =
  126788. C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
  126789. if (
  126790. (c[M >> 2] | 0) >>> 0 >= 4
  126791. ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
  126792. : 0
  126793. ) {
  126794. c[D >> 2] = c[M >> 2];
  126795. c[E >> 2] = c[L >> 2];
  126796. c[F >> 2] = c[t >> 2];
  126797. continue;
  126798. }
  126799. if ((c[r >> 2] | 0) != 2) break a;
  126800. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  126801. break a;
  126802. c[t >> 2] = (c[t >> 2] | 0) + 1;
  126803. do {
  126804. if (
  126805. (
  126806. c[E >> 2] | 0
  126807. ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  126808. (q = Bk(c[t >> 2] | 0) | 0),
  126809. (C &
  126810. ((q | 0) ==
  126811. (Bk(
  126812. ((c[t >> 2] | 0) +
  126813. (0 - (c[z >> 2] | 0))) |
  126814. 0
  126815. ) |
  126816. 0))) |
  126817. 0)
  126818. : 0
  126819. )
  126820. ? ((c[P >> 2] =
  126821. (Qm(
  126822. ((c[t >> 2] | 0) + 4) | 0,
  126823. ((c[t >> 2] | 0) +
  126824. 4 +
  126825. (0 - (c[z >> 2] | 0))) |
  126826. 0,
  126827. c[v >> 2] | 0
  126828. ) |
  126829. 0) +
  126830. 4),
  126831. (c[Q >> 2] = c[P >> 2] << 2),
  126832. (q = c[D >> 2] << 2),
  126833. (c[R >> 2] =
  126834. q -
  126835. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  126836. 1),
  126837. (c[P >> 2] | 0) >>> 0 >= 4)
  126838. : 0
  126839. ) {
  126840. if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
  126841. c[D >> 2] = c[P >> 2];
  126842. c[E >> 2] = 0;
  126843. c[F >> 2] = c[t >> 2];
  126844. }
  126845. } while (0);
  126846. c[S >> 2] = 99999999;
  126847. c[T >> 2] =
  126848. tc[c[y >> 2] & 7](
  126849. c[j >> 2] | 0,
  126850. c[n >> 2] | 0,
  126851. c[t >> 2] | 0,
  126852. c[v >> 2] | 0,
  126853. S
  126854. ) | 0;
  126855. q = c[T >> 2] << 2;
  126856. c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
  126857. q = c[D >> 2] << 2;
  126858. c[V >> 2] =
  126859. q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
  126860. if ((c[T >> 2] | 0) >>> 0 < 4) break a;
  126861. if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
  126862. c[D >> 2] = c[T >> 2];
  126863. c[E >> 2] = c[S >> 2];
  126864. c[F >> 2] = c[t >> 2];
  126865. }
  126866. } while (0);
  126867. if (c[E >> 2] | 0) {
  126868. while (1) {
  126869. if (
  126870. !(
  126871. ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
  126872. ? (((c[F >> 2] | 0) +
  126873. (0 - ((c[E >> 2] | 0) - 2))) |
  126874. 0) >>>
  126875. 0 >
  126876. (c[x >> 2] | 0) >>> 0
  126877. : 0) | 0
  126878. )
  126879. )
  126880. break;
  126881. if (
  126882. (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  126883. (d[
  126884. ((c[F >> 2] | 0) +
  126885. (0 - ((c[E >> 2] | 0) - 2)) +
  126886. -1) >>
  126887. 0
  126888. ] |
  126889. 0 |
  126890. 0)
  126891. )
  126892. break;
  126893. c[F >> 2] = (c[F >> 2] | 0) + -1;
  126894. c[D >> 2] = (c[D >> 2] | 0) + 1;
  126895. }
  126896. c[A >> 2] = c[z >> 2];
  126897. c[z >> 2] = (c[E >> 2] | 0) - 2;
  126898. }
  126899. }
  126900. c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
  126901. Nm(
  126902. c[k >> 2] | 0,
  126903. c[W >> 2] | 0,
  126904. c[u >> 2] | 0,
  126905. c[E >> 2] | 0,
  126906. ((c[D >> 2] | 0) - 3) | 0
  126907. );
  126908. q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
  126909. c[t >> 2] = q;
  126910. c[u >> 2] = q;
  126911. while (1) {
  126912. if (
  126913. !(
  126914. ((c[A >> 2] | 0) >>> 0 > 0
  126915. ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
  126916. : 0) | 0
  126917. )
  126918. )
  126919. break;
  126920. q = Bk(c[t >> 2] | 0) | 0;
  126921. if (
  126922. (q | 0) !=
  126923. (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
  126924. )
  126925. break;
  126926. c[D >> 2] =
  126927. (Qm(
  126928. ((c[t >> 2] | 0) + 4) | 0,
  126929. ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
  126930. c[v >> 2] | 0
  126931. ) |
  126932. 0) +
  126933. 4;
  126934. c[E >> 2] = c[A >> 2];
  126935. c[A >> 2] = c[z >> 2];
  126936. c[z >> 2] = c[E >> 2];
  126937. Nm(
  126938. c[k >> 2] | 0,
  126939. 0,
  126940. c[u >> 2] | 0,
  126941. 0,
  126942. ((c[D >> 2] | 0) - 3) | 0
  126943. );
  126944. c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
  126945. c[u >> 2] = c[t >> 2];
  126946. }
  126947. }
  126948. c[c[m >> 2] >> 2] =
  126949. c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
  126950. c[((c[m >> 2] | 0) + 4) >> 2] =
  126951. c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
  126952. l = i;
  126953. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  126954. }
  126955. function $l(a, b, e, f, g, h) {
  126956. a = a | 0;
  126957. b = b | 0;
  126958. e = e | 0;
  126959. f = f | 0;
  126960. g = g | 0;
  126961. h = h | 0;
  126962. var i = 0,
  126963. j = 0,
  126964. k = 0,
  126965. m = 0,
  126966. n = 0,
  126967. o = 0,
  126968. p = 0,
  126969. q = 0,
  126970. r = 0,
  126971. s = 0,
  126972. t = 0,
  126973. u = 0,
  126974. v = 0,
  126975. w = 0,
  126976. x = 0,
  126977. y = 0,
  126978. z = 0,
  126979. A = 0,
  126980. B = 0,
  126981. C = 0,
  126982. D = 0,
  126983. E = 0,
  126984. F = 0,
  126985. G = 0,
  126986. H = 0,
  126987. I = 0,
  126988. J = 0,
  126989. K = 0,
  126990. L = 0,
  126991. M = 0,
  126992. N = 0,
  126993. O = 0,
  126994. P = 0,
  126995. Q = 0,
  126996. R = 0,
  126997. S = 0,
  126998. T = 0,
  126999. U = 0,
  127000. V = 0,
  127001. W = 0,
  127002. X = 0,
  127003. Y = 0,
  127004. Z = 0,
  127005. _ = 0,
  127006. $ = 0,
  127007. aa = 0;
  127008. i = l;
  127009. l = (l + 192) | 0;
  127010. j = (i + 176) | 0;
  127011. k = (i + 172) | 0;
  127012. m = (i + 168) | 0;
  127013. n = (i + 164) | 0;
  127014. o = (i + 160) | 0;
  127015. p = (i + 156) | 0;
  127016. q = (i + 152) | 0;
  127017. r = (i + 148) | 0;
  127018. s = (i + 144) | 0;
  127019. t = (i + 140) | 0;
  127020. u = (i + 136) | 0;
  127021. v = (i + 132) | 0;
  127022. w = (i + 128) | 0;
  127023. x = (i + 124) | 0;
  127024. y = (i + 120) | 0;
  127025. z = (i + 116) | 0;
  127026. A = (i + 112) | 0;
  127027. B = (i + 108) | 0;
  127028. C = (i + 104) | 0;
  127029. D = (i + 100) | 0;
  127030. E = (i + 96) | 0;
  127031. F = (i + 92) | 0;
  127032. G = (i + 88) | 0;
  127033. H = (i + 84) | 0;
  127034. I = (i + 80) | 0;
  127035. J = (i + 76) | 0;
  127036. K = (i + 72) | 0;
  127037. L = (i + 68) | 0;
  127038. M = (i + 64) | 0;
  127039. N = (i + 60) | 0;
  127040. O = (i + 56) | 0;
  127041. P = (i + 52) | 0;
  127042. Q = (i + 48) | 0;
  127043. R = (i + 44) | 0;
  127044. S = (i + 40) | 0;
  127045. T = (i + 36) | 0;
  127046. U = (i + 32) | 0;
  127047. V = (i + 28) | 0;
  127048. W = (i + 24) | 0;
  127049. X = (i + 20) | 0;
  127050. Y = (i + 16) | 0;
  127051. Z = (i + 12) | 0;
  127052. _ = (i + 8) | 0;
  127053. $ = (i + 4) | 0;
  127054. aa = i;
  127055. c[X >> 2] = a;
  127056. c[Y >> 2] = b;
  127057. c[Z >> 2] = e;
  127058. c[_ >> 2] = f;
  127059. c[$ >> 2] = g;
  127060. c[aa >> 2] = h;
  127061. h = c[Y >> 2] | 0;
  127062. Y = c[Z >> 2] | 0;
  127063. Z = c[_ >> 2] | 0;
  127064. _ = c[$ >> 2] | 0;
  127065. $ = c[aa >> 2] | 0;
  127066. c[j >> 2] = c[X >> 2];
  127067. c[k >> 2] = h;
  127068. c[m >> 2] = Y;
  127069. c[n >> 2] = Z;
  127070. c[o >> 2] = _;
  127071. c[p >> 2] = $;
  127072. c[q >> 2] = 0;
  127073. c[r >> 2] = 2;
  127074. c[s >> 2] = c[o >> 2];
  127075. c[t >> 2] = c[s >> 2];
  127076. c[u >> 2] = c[s >> 2];
  127077. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  127078. c[w >> 2] = (c[v >> 2] | 0) + -8;
  127079. c[x >> 2] =
  127080. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
  127081. (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
  127082. c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
  127083. c[z >> 2] = c[c[m >> 2] >> 2];
  127084. c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  127085. c[B >> 2] = 0;
  127086. c[t >> 2] =
  127087. (c[t >> 2] | 0) +
  127088. (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
  127089. c[((c[j >> 2] | 0) + 28) >> 2] =
  127090. c[((c[j >> 2] | 0) + 24) >> 2];
  127091. c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  127092. if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  127093. c[B >> 2] = c[A >> 2];
  127094. c[A >> 2] = 0;
  127095. }
  127096. if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  127097. c[B >> 2] = c[z >> 2];
  127098. c[z >> 2] = 0;
  127099. }
  127100. while (1) {
  127101. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  127102. c[D >> 2] = 0;
  127103. c[E >> 2] = 0;
  127104. c[F >> 2] = (c[t >> 2] | 0) + 1;
  127105. C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
  127106. q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
  127107. if (
  127108. !((C &
  127109. ((q | 0) ==
  127110. (Bk(
  127111. ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
  127112. ) |
  127113. 0))) |
  127114. 0
  127115. ? ((c[D >> 2] =
  127116. (Qm(
  127117. ((c[t >> 2] | 0) + 1 + 4) | 0,
  127118. ((c[t >> 2] | 0) +
  127119. 1 +
  127120. 4 +
  127121. (0 - (c[z >> 2] | 0))) |
  127122. 0,
  127123. c[v >> 2] | 0
  127124. ) |
  127125. 0) +
  127126. 4),
  127127. !(c[r >> 2] | 0))
  127128. : 0)
  127129. ) {
  127130. c[G >> 2] = 99999999;
  127131. c[H >> 2] =
  127132. tc[c[y >> 2] & 7](
  127133. c[j >> 2] | 0,
  127134. c[n >> 2] | 0,
  127135. c[t >> 2] | 0,
  127136. c[v >> 2] | 0,
  127137. G
  127138. ) | 0;
  127139. if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
  127140. c[D >> 2] = c[H >> 2];
  127141. c[F >> 2] = c[t >> 2];
  127142. c[E >> 2] = c[G >> 2];
  127143. }
  127144. if ((c[D >> 2] | 0) >>> 0 < 4) {
  127145. c[t >> 2] =
  127146. (c[t >> 2] | 0) +
  127147. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  127148. continue;
  127149. }
  127150. a: do {
  127151. if ((c[r >> 2] | 0) >>> 0 >= 1)
  127152. while (1) {
  127153. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  127154. break a;
  127155. c[t >> 2] = (c[t >> 2] | 0) + 1;
  127156. if (
  127157. (
  127158. (
  127159. c[E >> 2] | 0
  127160. ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  127161. (C = Bk(c[t >> 2] | 0) | 0),
  127162. (q &
  127163. ((C | 0) ==
  127164. (Bk(
  127165. ((c[t >> 2] | 0) +
  127166. (0 - (c[z >> 2] | 0))) |
  127167. 0
  127168. ) |
  127169. 0))) |
  127170. 0)
  127171. : 0
  127172. )
  127173. ? ((c[I >> 2] =
  127174. (Qm(
  127175. ((c[t >> 2] | 0) + 4) | 0,
  127176. ((c[t >> 2] | 0) +
  127177. 4 +
  127178. (0 - (c[z >> 2] | 0))) |
  127179. 0,
  127180. c[v >> 2] | 0
  127181. ) |
  127182. 0) +
  127183. 4),
  127184. (c[J >> 2] = (c[I >> 2] | 0) * 3),
  127185. (C = ((c[D >> 2] | 0) * 3) | 0),
  127186. (c[K >> 2] =
  127187. C -
  127188. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  127189. 1),
  127190. (c[I >> 2] | 0) >>> 0 >= 4)
  127191. : 0
  127192. )
  127193. ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
  127194. : 0
  127195. ) {
  127196. c[D >> 2] = c[I >> 2];
  127197. c[E >> 2] = 0;
  127198. c[F >> 2] = c[t >> 2];
  127199. }
  127200. c[L >> 2] = 99999999;
  127201. c[M >> 2] =
  127202. tc[c[y >> 2] & 7](
  127203. c[j >> 2] | 0,
  127204. c[n >> 2] | 0,
  127205. c[t >> 2] | 0,
  127206. c[v >> 2] | 0,
  127207. L
  127208. ) | 0;
  127209. C = c[M >> 2] << 2;
  127210. c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
  127211. C = c[D >> 2] << 2;
  127212. c[O >> 2] =
  127213. C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
  127214. if (
  127215. (c[M >> 2] | 0) >>> 0 >= 4
  127216. ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
  127217. : 0
  127218. ) {
  127219. c[D >> 2] = c[M >> 2];
  127220. c[E >> 2] = c[L >> 2];
  127221. c[F >> 2] = c[t >> 2];
  127222. continue;
  127223. }
  127224. if ((c[r >> 2] | 0) != 2) break a;
  127225. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  127226. break a;
  127227. c[t >> 2] = (c[t >> 2] | 0) + 1;
  127228. do {
  127229. if (
  127230. (
  127231. c[E >> 2] | 0
  127232. ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  127233. (q = Bk(c[t >> 2] | 0) | 0),
  127234. (C &
  127235. ((q | 0) ==
  127236. (Bk(
  127237. ((c[t >> 2] | 0) +
  127238. (0 - (c[z >> 2] | 0))) |
  127239. 0
  127240. ) |
  127241. 0))) |
  127242. 0)
  127243. : 0
  127244. )
  127245. ? ((c[P >> 2] =
  127246. (Qm(
  127247. ((c[t >> 2] | 0) + 4) | 0,
  127248. ((c[t >> 2] | 0) +
  127249. 4 +
  127250. (0 - (c[z >> 2] | 0))) |
  127251. 0,
  127252. c[v >> 2] | 0
  127253. ) |
  127254. 0) +
  127255. 4),
  127256. (c[Q >> 2] = c[P >> 2] << 2),
  127257. (q = c[D >> 2] << 2),
  127258. (c[R >> 2] =
  127259. q -
  127260. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  127261. 1),
  127262. (c[P >> 2] | 0) >>> 0 >= 4)
  127263. : 0
  127264. ) {
  127265. if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
  127266. c[D >> 2] = c[P >> 2];
  127267. c[E >> 2] = 0;
  127268. c[F >> 2] = c[t >> 2];
  127269. }
  127270. } while (0);
  127271. c[S >> 2] = 99999999;
  127272. c[T >> 2] =
  127273. tc[c[y >> 2] & 7](
  127274. c[j >> 2] | 0,
  127275. c[n >> 2] | 0,
  127276. c[t >> 2] | 0,
  127277. c[v >> 2] | 0,
  127278. S
  127279. ) | 0;
  127280. q = c[T >> 2] << 2;
  127281. c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
  127282. q = c[D >> 2] << 2;
  127283. c[V >> 2] =
  127284. q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
  127285. if ((c[T >> 2] | 0) >>> 0 < 4) break a;
  127286. if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
  127287. c[D >> 2] = c[T >> 2];
  127288. c[E >> 2] = c[S >> 2];
  127289. c[F >> 2] = c[t >> 2];
  127290. }
  127291. } while (0);
  127292. if (c[E >> 2] | 0) {
  127293. while (1) {
  127294. if (
  127295. !(
  127296. ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
  127297. ? (((c[F >> 2] | 0) +
  127298. (0 - ((c[E >> 2] | 0) - 2))) |
  127299. 0) >>>
  127300. 0 >
  127301. (c[x >> 2] | 0) >>> 0
  127302. : 0) | 0
  127303. )
  127304. )
  127305. break;
  127306. if (
  127307. (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  127308. (d[
  127309. ((c[F >> 2] | 0) +
  127310. (0 - ((c[E >> 2] | 0) - 2)) +
  127311. -1) >>
  127312. 0
  127313. ] |
  127314. 0 |
  127315. 0)
  127316. )
  127317. break;
  127318. c[F >> 2] = (c[F >> 2] | 0) + -1;
  127319. c[D >> 2] = (c[D >> 2] | 0) + 1;
  127320. }
  127321. c[A >> 2] = c[z >> 2];
  127322. c[z >> 2] = (c[E >> 2] | 0) - 2;
  127323. }
  127324. }
  127325. c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
  127326. Nm(
  127327. c[k >> 2] | 0,
  127328. c[W >> 2] | 0,
  127329. c[u >> 2] | 0,
  127330. c[E >> 2] | 0,
  127331. ((c[D >> 2] | 0) - 3) | 0
  127332. );
  127333. q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
  127334. c[t >> 2] = q;
  127335. c[u >> 2] = q;
  127336. while (1) {
  127337. if (
  127338. !(
  127339. ((c[A >> 2] | 0) >>> 0 > 0
  127340. ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
  127341. : 0) | 0
  127342. )
  127343. )
  127344. break;
  127345. q = Bk(c[t >> 2] | 0) | 0;
  127346. if (
  127347. (q | 0) !=
  127348. (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
  127349. )
  127350. break;
  127351. c[D >> 2] =
  127352. (Qm(
  127353. ((c[t >> 2] | 0) + 4) | 0,
  127354. ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
  127355. c[v >> 2] | 0
  127356. ) |
  127357. 0) +
  127358. 4;
  127359. c[E >> 2] = c[A >> 2];
  127360. c[A >> 2] = c[z >> 2];
  127361. c[z >> 2] = c[E >> 2];
  127362. Nm(
  127363. c[k >> 2] | 0,
  127364. 0,
  127365. c[u >> 2] | 0,
  127366. 0,
  127367. ((c[D >> 2] | 0) - 3) | 0
  127368. );
  127369. c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
  127370. c[u >> 2] = c[t >> 2];
  127371. }
  127372. }
  127373. c[c[m >> 2] >> 2] =
  127374. c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
  127375. c[((c[m >> 2] | 0) + 4) >> 2] =
  127376. c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
  127377. l = i;
  127378. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  127379. }
  127380. function am(a, b, e, f, g, h) {
  127381. a = a | 0;
  127382. b = b | 0;
  127383. e = e | 0;
  127384. f = f | 0;
  127385. g = g | 0;
  127386. h = h | 0;
  127387. var i = 0,
  127388. j = 0,
  127389. k = 0,
  127390. m = 0,
  127391. n = 0,
  127392. o = 0,
  127393. p = 0,
  127394. q = 0,
  127395. r = 0,
  127396. s = 0,
  127397. t = 0,
  127398. u = 0,
  127399. v = 0,
  127400. w = 0,
  127401. x = 0,
  127402. y = 0,
  127403. z = 0,
  127404. A = 0,
  127405. B = 0,
  127406. C = 0,
  127407. D = 0,
  127408. E = 0,
  127409. F = 0,
  127410. G = 0,
  127411. H = 0,
  127412. I = 0,
  127413. J = 0,
  127414. K = 0,
  127415. L = 0,
  127416. M = 0,
  127417. N = 0,
  127418. O = 0,
  127419. P = 0,
  127420. Q = 0,
  127421. R = 0,
  127422. S = 0,
  127423. T = 0,
  127424. U = 0,
  127425. V = 0,
  127426. W = 0,
  127427. X = 0,
  127428. Y = 0,
  127429. Z = 0,
  127430. _ = 0,
  127431. $ = 0,
  127432. aa = 0;
  127433. i = l;
  127434. l = (l + 192) | 0;
  127435. j = (i + 176) | 0;
  127436. k = (i + 172) | 0;
  127437. m = (i + 168) | 0;
  127438. n = (i + 164) | 0;
  127439. o = (i + 160) | 0;
  127440. p = (i + 156) | 0;
  127441. q = (i + 152) | 0;
  127442. r = (i + 148) | 0;
  127443. s = (i + 144) | 0;
  127444. t = (i + 140) | 0;
  127445. u = (i + 136) | 0;
  127446. v = (i + 132) | 0;
  127447. w = (i + 128) | 0;
  127448. x = (i + 124) | 0;
  127449. y = (i + 120) | 0;
  127450. z = (i + 116) | 0;
  127451. A = (i + 112) | 0;
  127452. B = (i + 108) | 0;
  127453. C = (i + 104) | 0;
  127454. D = (i + 100) | 0;
  127455. E = (i + 96) | 0;
  127456. F = (i + 92) | 0;
  127457. G = (i + 88) | 0;
  127458. H = (i + 84) | 0;
  127459. I = (i + 80) | 0;
  127460. J = (i + 76) | 0;
  127461. K = (i + 72) | 0;
  127462. L = (i + 68) | 0;
  127463. M = (i + 64) | 0;
  127464. N = (i + 60) | 0;
  127465. O = (i + 56) | 0;
  127466. P = (i + 52) | 0;
  127467. Q = (i + 48) | 0;
  127468. R = (i + 44) | 0;
  127469. S = (i + 40) | 0;
  127470. T = (i + 36) | 0;
  127471. U = (i + 32) | 0;
  127472. V = (i + 28) | 0;
  127473. W = (i + 24) | 0;
  127474. X = (i + 20) | 0;
  127475. Y = (i + 16) | 0;
  127476. Z = (i + 12) | 0;
  127477. _ = (i + 8) | 0;
  127478. $ = (i + 4) | 0;
  127479. aa = i;
  127480. c[X >> 2] = a;
  127481. c[Y >> 2] = b;
  127482. c[Z >> 2] = e;
  127483. c[_ >> 2] = f;
  127484. c[$ >> 2] = g;
  127485. c[aa >> 2] = h;
  127486. h = c[Y >> 2] | 0;
  127487. Y = c[Z >> 2] | 0;
  127488. Z = c[_ >> 2] | 0;
  127489. _ = c[$ >> 2] | 0;
  127490. $ = c[aa >> 2] | 0;
  127491. c[j >> 2] = c[X >> 2];
  127492. c[k >> 2] = h;
  127493. c[m >> 2] = Y;
  127494. c[n >> 2] = Z;
  127495. c[o >> 2] = _;
  127496. c[p >> 2] = $;
  127497. c[q >> 2] = 1;
  127498. c[r >> 2] = 2;
  127499. c[s >> 2] = c[o >> 2];
  127500. c[t >> 2] = c[s >> 2];
  127501. c[u >> 2] = c[s >> 2];
  127502. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  127503. c[w >> 2] = (c[v >> 2] | 0) + -8;
  127504. c[x >> 2] =
  127505. (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
  127506. (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
  127507. c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
  127508. c[z >> 2] = c[c[m >> 2] >> 2];
  127509. c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  127510. c[B >> 2] = 0;
  127511. c[t >> 2] =
  127512. (c[t >> 2] | 0) +
  127513. (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
  127514. c[((c[j >> 2] | 0) + 28) >> 2] =
  127515. c[((c[j >> 2] | 0) + 24) >> 2];
  127516. c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  127517. if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  127518. c[B >> 2] = c[A >> 2];
  127519. c[A >> 2] = 0;
  127520. }
  127521. if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
  127522. c[B >> 2] = c[z >> 2];
  127523. c[z >> 2] = 0;
  127524. }
  127525. while (1) {
  127526. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  127527. c[D >> 2] = 0;
  127528. c[E >> 2] = 0;
  127529. c[F >> 2] = (c[t >> 2] | 0) + 1;
  127530. C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
  127531. q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
  127532. if (
  127533. !((C &
  127534. ((q | 0) ==
  127535. (Bk(
  127536. ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
  127537. ) |
  127538. 0))) |
  127539. 0
  127540. ? ((c[D >> 2] =
  127541. (Qm(
  127542. ((c[t >> 2] | 0) + 1 + 4) | 0,
  127543. ((c[t >> 2] | 0) +
  127544. 1 +
  127545. 4 +
  127546. (0 - (c[z >> 2] | 0))) |
  127547. 0,
  127548. c[v >> 2] | 0
  127549. ) |
  127550. 0) +
  127551. 4),
  127552. !(c[r >> 2] | 0))
  127553. : 0)
  127554. ) {
  127555. c[G >> 2] = 99999999;
  127556. c[H >> 2] =
  127557. tc[c[y >> 2] & 7](
  127558. c[j >> 2] | 0,
  127559. c[n >> 2] | 0,
  127560. c[t >> 2] | 0,
  127561. c[v >> 2] | 0,
  127562. G
  127563. ) | 0;
  127564. if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
  127565. c[D >> 2] = c[H >> 2];
  127566. c[F >> 2] = c[t >> 2];
  127567. c[E >> 2] = c[G >> 2];
  127568. }
  127569. if ((c[D >> 2] | 0) >>> 0 < 4) {
  127570. c[t >> 2] =
  127571. (c[t >> 2] | 0) +
  127572. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  127573. continue;
  127574. }
  127575. a: do {
  127576. if ((c[r >> 2] | 0) >>> 0 >= 1)
  127577. while (1) {
  127578. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  127579. break a;
  127580. c[t >> 2] = (c[t >> 2] | 0) + 1;
  127581. if (
  127582. (
  127583. (
  127584. c[E >> 2] | 0
  127585. ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  127586. (C = Bk(c[t >> 2] | 0) | 0),
  127587. (q &
  127588. ((C | 0) ==
  127589. (Bk(
  127590. ((c[t >> 2] | 0) +
  127591. (0 - (c[z >> 2] | 0))) |
  127592. 0
  127593. ) |
  127594. 0))) |
  127595. 0)
  127596. : 0
  127597. )
  127598. ? ((c[I >> 2] =
  127599. (Qm(
  127600. ((c[t >> 2] | 0) + 4) | 0,
  127601. ((c[t >> 2] | 0) +
  127602. 4 +
  127603. (0 - (c[z >> 2] | 0))) |
  127604. 0,
  127605. c[v >> 2] | 0
  127606. ) |
  127607. 0) +
  127608. 4),
  127609. (c[J >> 2] = (c[I >> 2] | 0) * 3),
  127610. (C = ((c[D >> 2] | 0) * 3) | 0),
  127611. (c[K >> 2] =
  127612. C -
  127613. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  127614. 1),
  127615. (c[I >> 2] | 0) >>> 0 >= 4)
  127616. : 0
  127617. )
  127618. ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
  127619. : 0
  127620. ) {
  127621. c[D >> 2] = c[I >> 2];
  127622. c[E >> 2] = 0;
  127623. c[F >> 2] = c[t >> 2];
  127624. }
  127625. c[L >> 2] = 99999999;
  127626. c[M >> 2] =
  127627. tc[c[y >> 2] & 7](
  127628. c[j >> 2] | 0,
  127629. c[n >> 2] | 0,
  127630. c[t >> 2] | 0,
  127631. c[v >> 2] | 0,
  127632. L
  127633. ) | 0;
  127634. C = c[M >> 2] << 2;
  127635. c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
  127636. C = c[D >> 2] << 2;
  127637. c[O >> 2] =
  127638. C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
  127639. if (
  127640. (c[M >> 2] | 0) >>> 0 >= 4
  127641. ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
  127642. : 0
  127643. ) {
  127644. c[D >> 2] = c[M >> 2];
  127645. c[E >> 2] = c[L >> 2];
  127646. c[F >> 2] = c[t >> 2];
  127647. continue;
  127648. }
  127649. if ((c[r >> 2] | 0) != 2) break a;
  127650. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  127651. break a;
  127652. c[t >> 2] = (c[t >> 2] | 0) + 1;
  127653. do {
  127654. if (
  127655. (
  127656. c[E >> 2] | 0
  127657. ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
  127658. (q = Bk(c[t >> 2] | 0) | 0),
  127659. (C &
  127660. ((q | 0) ==
  127661. (Bk(
  127662. ((c[t >> 2] | 0) +
  127663. (0 - (c[z >> 2] | 0))) |
  127664. 0
  127665. ) |
  127666. 0))) |
  127667. 0)
  127668. : 0
  127669. )
  127670. ? ((c[P >> 2] =
  127671. (Qm(
  127672. ((c[t >> 2] | 0) + 4) | 0,
  127673. ((c[t >> 2] | 0) +
  127674. 4 +
  127675. (0 - (c[z >> 2] | 0))) |
  127676. 0,
  127677. c[v >> 2] | 0
  127678. ) |
  127679. 0) +
  127680. 4),
  127681. (c[Q >> 2] = c[P >> 2] << 2),
  127682. (q = c[D >> 2] << 2),
  127683. (c[R >> 2] =
  127684. q -
  127685. (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
  127686. 1),
  127687. (c[P >> 2] | 0) >>> 0 >= 4)
  127688. : 0
  127689. ) {
  127690. if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
  127691. c[D >> 2] = c[P >> 2];
  127692. c[E >> 2] = 0;
  127693. c[F >> 2] = c[t >> 2];
  127694. }
  127695. } while (0);
  127696. c[S >> 2] = 99999999;
  127697. c[T >> 2] =
  127698. tc[c[y >> 2] & 7](
  127699. c[j >> 2] | 0,
  127700. c[n >> 2] | 0,
  127701. c[t >> 2] | 0,
  127702. c[v >> 2] | 0,
  127703. S
  127704. ) | 0;
  127705. q = c[T >> 2] << 2;
  127706. c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
  127707. q = c[D >> 2] << 2;
  127708. c[V >> 2] =
  127709. q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
  127710. if ((c[T >> 2] | 0) >>> 0 < 4) break a;
  127711. if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
  127712. c[D >> 2] = c[T >> 2];
  127713. c[E >> 2] = c[S >> 2];
  127714. c[F >> 2] = c[t >> 2];
  127715. }
  127716. } while (0);
  127717. if (c[E >> 2] | 0) {
  127718. while (1) {
  127719. if (
  127720. !(
  127721. ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
  127722. ? (((c[F >> 2] | 0) +
  127723. (0 - ((c[E >> 2] | 0) - 2))) |
  127724. 0) >>>
  127725. 0 >
  127726. (c[x >> 2] | 0) >>> 0
  127727. : 0) | 0
  127728. )
  127729. )
  127730. break;
  127731. if (
  127732. (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  127733. (d[
  127734. ((c[F >> 2] | 0) +
  127735. (0 - ((c[E >> 2] | 0) - 2)) +
  127736. -1) >>
  127737. 0
  127738. ] |
  127739. 0 |
  127740. 0)
  127741. )
  127742. break;
  127743. c[F >> 2] = (c[F >> 2] | 0) + -1;
  127744. c[D >> 2] = (c[D >> 2] | 0) + 1;
  127745. }
  127746. c[A >> 2] = c[z >> 2];
  127747. c[z >> 2] = (c[E >> 2] | 0) - 2;
  127748. }
  127749. }
  127750. c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
  127751. Nm(
  127752. c[k >> 2] | 0,
  127753. c[W >> 2] | 0,
  127754. c[u >> 2] | 0,
  127755. c[E >> 2] | 0,
  127756. ((c[D >> 2] | 0) - 3) | 0
  127757. );
  127758. q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
  127759. c[t >> 2] = q;
  127760. c[u >> 2] = q;
  127761. while (1) {
  127762. if (
  127763. !(
  127764. ((c[A >> 2] | 0) >>> 0 > 0
  127765. ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
  127766. : 0) | 0
  127767. )
  127768. )
  127769. break;
  127770. q = Bk(c[t >> 2] | 0) | 0;
  127771. if (
  127772. (q | 0) !=
  127773. (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
  127774. )
  127775. break;
  127776. c[D >> 2] =
  127777. (Qm(
  127778. ((c[t >> 2] | 0) + 4) | 0,
  127779. ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
  127780. c[v >> 2] | 0
  127781. ) |
  127782. 0) +
  127783. 4;
  127784. c[E >> 2] = c[A >> 2];
  127785. c[A >> 2] = c[z >> 2];
  127786. c[z >> 2] = c[E >> 2];
  127787. Nm(
  127788. c[k >> 2] | 0,
  127789. 0,
  127790. c[u >> 2] | 0,
  127791. 0,
  127792. ((c[D >> 2] | 0) - 3) | 0
  127793. );
  127794. c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
  127795. c[u >> 2] = c[t >> 2];
  127796. }
  127797. }
  127798. c[c[m >> 2] >> 2] =
  127799. c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
  127800. c[((c[m >> 2] | 0) + 4) >> 2] =
  127801. c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
  127802. l = i;
  127803. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  127804. }
  127805. function bm(a, b, e, f, g, h) {
  127806. a = a | 0;
  127807. b = b | 0;
  127808. e = e | 0;
  127809. f = f | 0;
  127810. g = g | 0;
  127811. h = h | 0;
  127812. var i = 0,
  127813. j = 0,
  127814. k = 0,
  127815. m = 0,
  127816. n = 0,
  127817. o = 0,
  127818. p = 0,
  127819. q = 0,
  127820. r = 0,
  127821. s = 0,
  127822. t = 0,
  127823. u = 0,
  127824. v = 0,
  127825. w = 0,
  127826. x = 0,
  127827. y = 0,
  127828. z = 0,
  127829. A = 0,
  127830. B = 0,
  127831. C = 0,
  127832. D = 0,
  127833. E = 0,
  127834. F = 0,
  127835. G = 0,
  127836. H = 0,
  127837. I = 0,
  127838. J = 0,
  127839. K = 0,
  127840. L = 0,
  127841. M = 0,
  127842. N = 0,
  127843. O = 0,
  127844. P = 0,
  127845. Q = 0,
  127846. R = 0,
  127847. S = 0,
  127848. T = 0,
  127849. U = 0,
  127850. V = 0,
  127851. W = 0,
  127852. X = 0,
  127853. Y = 0,
  127854. Z = 0,
  127855. _ = 0,
  127856. $ = 0,
  127857. aa = 0,
  127858. ba = 0,
  127859. ca = 0,
  127860. da = 0,
  127861. ea = 0,
  127862. fa = 0,
  127863. ga = 0,
  127864. ha = 0,
  127865. ia = 0,
  127866. ja = 0,
  127867. ka = 0,
  127868. la = 0,
  127869. ma = 0,
  127870. na = 0,
  127871. oa = 0,
  127872. pa = 0,
  127873. qa = 0,
  127874. ra = 0,
  127875. sa = 0,
  127876. ta = 0,
  127877. ua = 0,
  127878. va = 0,
  127879. wa = 0,
  127880. xa = 0,
  127881. ya = 0,
  127882. za = 0,
  127883. Aa = 0,
  127884. Ba = 0,
  127885. Ca = 0,
  127886. Da = 0,
  127887. Ea = 0,
  127888. Fa = 0,
  127889. Ga = 0,
  127890. Ha = 0,
  127891. Ia = 0,
  127892. Ja = 0,
  127893. Ka = 0,
  127894. La = 0,
  127895. Ma = 0,
  127896. Na = 0,
  127897. Oa = 0,
  127898. Pa = 0,
  127899. Qa = 0,
  127900. Ra = 0,
  127901. Sa = 0,
  127902. Ta = 0,
  127903. Ua = 0,
  127904. Va = 0,
  127905. Wa = 0,
  127906. Xa = 0,
  127907. Ya = 0,
  127908. Za = 0,
  127909. _a = 0,
  127910. $a = 0,
  127911. ab = 0,
  127912. bb = 0,
  127913. cb = 0,
  127914. db = 0,
  127915. eb = 0,
  127916. fb = 0,
  127917. gb = 0,
  127918. hb = 0,
  127919. ib = 0,
  127920. jb = 0,
  127921. kb = 0,
  127922. lb = 0,
  127923. mb = 0,
  127924. nb = 0,
  127925. ob = 0,
  127926. pb = 0,
  127927. qb = 0,
  127928. rb = 0,
  127929. sb = 0,
  127930. tb = 0,
  127931. ub = 0,
  127932. vb = 0,
  127933. wb = 0,
  127934. xb = 0,
  127935. yb = 0,
  127936. zb = 0,
  127937. Ab = 0,
  127938. Bb = 0,
  127939. Cb = 0,
  127940. Db = 0,
  127941. Eb = 0,
  127942. Fb = 0,
  127943. Gb = 0,
  127944. Hb = 0,
  127945. Ib = 0,
  127946. Jb = 0,
  127947. Kb = 0,
  127948. Lb = 0,
  127949. Mb = 0,
  127950. Nb = 0,
  127951. Ob = 0,
  127952. Pb = 0,
  127953. Qb = 0,
  127954. Rb = 0,
  127955. Sb = 0,
  127956. Tb = 0,
  127957. Ub = 0,
  127958. Vb = 0,
  127959. Wb = 0,
  127960. Xb = 0,
  127961. Yb = 0,
  127962. Zb = 0,
  127963. _b = 0,
  127964. $b = 0,
  127965. ac = 0,
  127966. bc = 0,
  127967. cc = 0,
  127968. dc = 0,
  127969. ec = 0,
  127970. fc = 0,
  127971. gc = 0,
  127972. hc = 0,
  127973. ic = 0,
  127974. jc = 0,
  127975. kc = 0,
  127976. lc = 0,
  127977. mc = 0,
  127978. nc = 0,
  127979. oc = 0,
  127980. pc = 0,
  127981. qc = 0,
  127982. rc = 0,
  127983. sc = 0,
  127984. tc = 0,
  127985. uc = 0,
  127986. vc = 0,
  127987. wc = 0,
  127988. xc = 0,
  127989. yc = 0,
  127990. zc = 0,
  127991. Ac = 0,
  127992. Bc = 0,
  127993. Cc = 0,
  127994. Dc = 0,
  127995. Ec = 0,
  127996. Fc = 0,
  127997. Gc = 0,
  127998. Hc = 0,
  127999. Ic = 0,
  128000. Jc = 0,
  128001. Kc = 0,
  128002. Lc = 0,
  128003. Mc = 0,
  128004. Nc = 0,
  128005. Oc = 0,
  128006. Pc = 0,
  128007. Qc = 0,
  128008. Rc = 0,
  128009. Sc = 0,
  128010. Tc = 0,
  128011. Uc = 0,
  128012. Vc = 0,
  128013. Wc = 0,
  128014. Xc = 0,
  128015. Yc = 0,
  128016. Zc = 0,
  128017. _c = 0,
  128018. $c = 0,
  128019. ad = 0,
  128020. bd = 0,
  128021. cd = 0,
  128022. dd = 0,
  128023. ed = 0,
  128024. fd = 0,
  128025. gd = 0,
  128026. hd = 0,
  128027. id = 0,
  128028. jd = 0,
  128029. kd = 0,
  128030. ld = 0,
  128031. md = 0,
  128032. nd = 0,
  128033. od = 0,
  128034. pd = 0,
  128035. qd = 0,
  128036. rd = 0,
  128037. sd = 0,
  128038. td = 0,
  128039. ud = 0,
  128040. vd = 0,
  128041. wd = 0,
  128042. xd = 0,
  128043. yd = 0,
  128044. zd = 0,
  128045. Ad = 0,
  128046. Bd = 0,
  128047. Cd = 0,
  128048. Dd = 0,
  128049. Ed = 0,
  128050. Fd = 0,
  128051. Gd = 0,
  128052. Hd = 0,
  128053. Id = 0,
  128054. Jd = 0,
  128055. Kd = 0,
  128056. Ld = 0,
  128057. Md = 0,
  128058. Nd = 0,
  128059. Od = 0,
  128060. Pd = 0,
  128061. Qd = 0,
  128062. Rd = 0,
  128063. Sd = 0,
  128064. Td = 0,
  128065. Ud = 0,
  128066. Vd = 0,
  128067. Wd = 0,
  128068. Xd = 0,
  128069. Yd = 0,
  128070. Zd = 0,
  128071. _d = 0,
  128072. $d = 0,
  128073. ae = 0,
  128074. be = 0,
  128075. ce = 0,
  128076. de = 0,
  128077. ee = 0,
  128078. fe = 0,
  128079. ge = 0,
  128080. he = 0,
  128081. ie = 0,
  128082. je = 0,
  128083. ke = 0,
  128084. le = 0,
  128085. me = 0,
  128086. ne = 0,
  128087. oe = 0,
  128088. pe = 0,
  128089. qe = 0,
  128090. re = 0,
  128091. se = 0,
  128092. te = 0,
  128093. ue = 0,
  128094. ve = 0,
  128095. we = 0,
  128096. xe = 0,
  128097. ye = 0,
  128098. ze = 0,
  128099. Ae = 0,
  128100. Be = 0,
  128101. Ce = 0,
  128102. De = 0,
  128103. Ee = 0,
  128104. Fe = 0,
  128105. Ge = 0,
  128106. He = 0,
  128107. Ie = 0,
  128108. Je = 0,
  128109. Ke = 0,
  128110. Le = 0,
  128111. Me = 0,
  128112. Ne = 0,
  128113. Oe = 0,
  128114. Pe = 0,
  128115. Qe = 0,
  128116. Re = 0,
  128117. Se = 0,
  128118. Te = 0,
  128119. Ue = 0,
  128120. Ve = 0,
  128121. We = 0,
  128122. Xe = 0,
  128123. Ye = 0,
  128124. Ze = 0,
  128125. _e = 0,
  128126. $e = 0,
  128127. af = 0,
  128128. bf = 0,
  128129. cf = 0,
  128130. df = 0,
  128131. ef = 0,
  128132. ff = 0,
  128133. gf = 0,
  128134. hf = 0,
  128135. jf = 0,
  128136. kf = 0,
  128137. lf = 0,
  128138. mf = 0,
  128139. nf = 0,
  128140. of = 0,
  128141. pf = 0,
  128142. qf = 0,
  128143. rf = 0,
  128144. sf = 0,
  128145. tf = 0,
  128146. uf = 0,
  128147. vf = 0,
  128148. wf = 0,
  128149. xf = 0,
  128150. yf = 0,
  128151. zf = 0,
  128152. Af = 0,
  128153. Bf = 0,
  128154. Cf = 0,
  128155. Df = 0,
  128156. Ef = 0,
  128157. Ff = 0,
  128158. Gf = 0,
  128159. Hf = 0,
  128160. If = 0,
  128161. Jf = 0,
  128162. Kf = 0,
  128163. Lf = 0,
  128164. Mf = 0,
  128165. Nf = 0,
  128166. Of = 0,
  128167. Pf = 0,
  128168. Qf = 0,
  128169. Rf = 0,
  128170. Sf = 0,
  128171. Tf = 0,
  128172. Uf = 0,
  128173. Vf = 0,
  128174. Wf = 0,
  128175. Xf = 0,
  128176. Yf = 0,
  128177. Zf = 0,
  128178. _f = 0,
  128179. $f = 0,
  128180. ag = 0,
  128181. bg = 0,
  128182. cg = 0,
  128183. dg = 0,
  128184. eg = 0,
  128185. fg = 0,
  128186. gg = 0,
  128187. hg = 0,
  128188. ig = 0,
  128189. jg = 0,
  128190. kg = 0,
  128191. lg = 0,
  128192. mg = 0,
  128193. ng = 0,
  128194. og = 0,
  128195. pg = 0,
  128196. qg = 0,
  128197. rg = 0,
  128198. sg = 0,
  128199. tg = 0,
  128200. ug = 0,
  128201. vg = 0,
  128202. wg = 0,
  128203. xg = 0,
  128204. yg = 0,
  128205. zg = 0,
  128206. Ag = 0,
  128207. Bg = 0,
  128208. Cg = 0,
  128209. Dg = 0,
  128210. Eg = 0,
  128211. Fg = 0,
  128212. Gg = 0,
  128213. Hg = 0,
  128214. Ig = 0,
  128215. Jg = 0,
  128216. Kg = 0,
  128217. Lg = 0,
  128218. Mg = 0,
  128219. Ng = 0,
  128220. Og = 0,
  128221. Pg = 0,
  128222. Qg = 0,
  128223. Rg = 0,
  128224. Sg = 0,
  128225. Tg = 0,
  128226. Ug = 0,
  128227. Vg = 0,
  128228. Wg = 0,
  128229. Xg = 0,
  128230. Yg = 0,
  128231. Zg = 0,
  128232. _g = 0,
  128233. $g = 0,
  128234. ah = 0,
  128235. bh = 0,
  128236. ch = 0,
  128237. dh = 0,
  128238. eh = 0,
  128239. fh = 0,
  128240. gh = 0,
  128241. hh = 0,
  128242. ih = 0,
  128243. jh = 0,
  128244. kh = 0,
  128245. lh = 0,
  128246. mh = 0,
  128247. nh = 0,
  128248. oh = 0,
  128249. ph = 0,
  128250. qh = 0,
  128251. rh = 0,
  128252. sh = 0,
  128253. th = 0,
  128254. uh = 0,
  128255. vh = 0,
  128256. wh = 0,
  128257. xh = 0,
  128258. yh = 0,
  128259. zh = 0,
  128260. Ah = 0,
  128261. Bh = 0,
  128262. Ch = 0,
  128263. Dh = 0,
  128264. Eh = 0,
  128265. Fh = 0,
  128266. Gh = 0,
  128267. Hh = 0,
  128268. Ih = 0,
  128269. Jh = 0,
  128270. Kh = 0,
  128271. Lh = 0,
  128272. Mh = 0,
  128273. Nh = 0,
  128274. Oh = 0,
  128275. Ph = 0,
  128276. Qh = 0,
  128277. Rh = 0,
  128278. Sh = 0,
  128279. Th = 0,
  128280. Uh = 0,
  128281. Vh = 0,
  128282. Wh = 0,
  128283. Xh = 0,
  128284. Yh = 0,
  128285. Zh = 0,
  128286. _h = 0,
  128287. $h = 0,
  128288. ai = 0,
  128289. bi = 0,
  128290. ci = 0,
  128291. di = 0,
  128292. ei = 0,
  128293. fi = 0,
  128294. gi = 0,
  128295. hi = 0,
  128296. ii = 0,
  128297. ji = 0,
  128298. ki = 0,
  128299. li = 0,
  128300. mi = 0,
  128301. ni = 0,
  128302. oi = 0,
  128303. pi = 0,
  128304. qi = 0,
  128305. ri = 0,
  128306. si = 0,
  128307. ti = 0,
  128308. ui = 0,
  128309. vi = 0,
  128310. wi = 0,
  128311. xi = 0,
  128312. yi = 0,
  128313. zi = 0,
  128314. Ai = 0,
  128315. Bi = 0,
  128316. Ci = 0,
  128317. Di = 0,
  128318. Ei = 0,
  128319. Fi = 0,
  128320. Gi = 0,
  128321. Hi = 0,
  128322. Ii = 0,
  128323. Ji = 0,
  128324. Ki = 0,
  128325. Li = 0,
  128326. Mi = 0,
  128327. Ni = 0,
  128328. Oi = 0,
  128329. Pi = 0,
  128330. Qi = 0,
  128331. Ri = 0,
  128332. Si = 0,
  128333. Ti = 0,
  128334. Ui = 0,
  128335. Vi = 0,
  128336. Wi = 0,
  128337. Xi = 0,
  128338. Yi = 0,
  128339. Zi = 0,
  128340. _i = 0,
  128341. $i = 0,
  128342. aj = 0,
  128343. bj = 0,
  128344. cj = 0,
  128345. dj = 0,
  128346. ej = 0,
  128347. fj = 0,
  128348. gj = 0,
  128349. hj = 0,
  128350. ij = 0,
  128351. jj = 0,
  128352. kj = 0,
  128353. lj = 0,
  128354. mj = 0,
  128355. nj = 0,
  128356. oj = 0,
  128357. pj = 0,
  128358. qj = 0,
  128359. rj = 0,
  128360. sj = 0,
  128361. tj = 0,
  128362. uj = 0,
  128363. vj = 0,
  128364. wj = 0,
  128365. xj = 0,
  128366. yj = 0,
  128367. zj = 0,
  128368. Aj = 0,
  128369. Bj = 0,
  128370. Cj = 0,
  128371. Dj = 0,
  128372. Ej = 0;
  128373. i = l;
  128374. l = (l + 2144) | 0;
  128375. j = (i + 2136) | 0;
  128376. k = (i + 2132) | 0;
  128377. m = (i + 2128) | 0;
  128378. n = (i + 2124) | 0;
  128379. o = (i + 2120) | 0;
  128380. p = (i + 2116) | 0;
  128381. q = (i + 2112) | 0;
  128382. r = (i + 2108) | 0;
  128383. s = (i + 2104) | 0;
  128384. t = (i + 2100) | 0;
  128385. u = (i + 2096) | 0;
  128386. v = (i + 2092) | 0;
  128387. w = (i + 2088) | 0;
  128388. x = (i + 2084) | 0;
  128389. y = (i + 2080) | 0;
  128390. z = (i + 2076) | 0;
  128391. A = (i + 2072) | 0;
  128392. B = (i + 2068) | 0;
  128393. C = (i + 2064) | 0;
  128394. D = (i + 2060) | 0;
  128395. E = (i + 2056) | 0;
  128396. F = (i + 2052) | 0;
  128397. G = (i + 2048) | 0;
  128398. H = (i + 2044) | 0;
  128399. I = (i + 2040) | 0;
  128400. J = (i + 2036) | 0;
  128401. K = (i + 2032) | 0;
  128402. L = (i + 2028) | 0;
  128403. M = (i + 2024) | 0;
  128404. N = (i + 2020) | 0;
  128405. O = (i + 2016) | 0;
  128406. P = (i + 2012) | 0;
  128407. Q = (i + 2008) | 0;
  128408. R = (i + 2004) | 0;
  128409. S = (i + 2e3) | 0;
  128410. T = (i + 1996) | 0;
  128411. U = (i + 1992) | 0;
  128412. V = (i + 1988) | 0;
  128413. W = (i + 1984) | 0;
  128414. X = (i + 1980) | 0;
  128415. Y = (i + 1976) | 0;
  128416. Z = (i + 1972) | 0;
  128417. _ = (i + 1968) | 0;
  128418. $ = (i + 1964) | 0;
  128419. aa = (i + 1960) | 0;
  128420. ba = (i + 1956) | 0;
  128421. ca = (i + 1952) | 0;
  128422. da = (i + 1948) | 0;
  128423. ea = (i + 1944) | 0;
  128424. fa = (i + 1940) | 0;
  128425. ga = (i + 1936) | 0;
  128426. ha = (i + 1932) | 0;
  128427. ia = (i + 1928) | 0;
  128428. ja = (i + 1924) | 0;
  128429. ka = (i + 1920) | 0;
  128430. la = (i + 1916) | 0;
  128431. ma = (i + 1912) | 0;
  128432. na = (i + 1908) | 0;
  128433. oa = (i + 1904) | 0;
  128434. pa = (i + 1900) | 0;
  128435. qa = (i + 1896) | 0;
  128436. ra = (i + 1892) | 0;
  128437. sa = (i + 1888) | 0;
  128438. ta = (i + 1884) | 0;
  128439. ua = (i + 1880) | 0;
  128440. va = (i + 1876) | 0;
  128441. wa = (i + 1872) | 0;
  128442. xa = (i + 1868) | 0;
  128443. ya = (i + 1864) | 0;
  128444. za = (i + 1860) | 0;
  128445. Aa = (i + 1856) | 0;
  128446. Ba = (i + 1852) | 0;
  128447. Ca = (i + 1848) | 0;
  128448. Da = (i + 1844) | 0;
  128449. Ea = (i + 1840) | 0;
  128450. Fa = (i + 1836) | 0;
  128451. Ga = (i + 1832) | 0;
  128452. Ha = (i + 1828) | 0;
  128453. Ia = (i + 1824) | 0;
  128454. Ja = (i + 1820) | 0;
  128455. Ka = (i + 1816) | 0;
  128456. La = (i + 1812) | 0;
  128457. Ma = (i + 1808) | 0;
  128458. Na = (i + 1804) | 0;
  128459. Oa = (i + 1800) | 0;
  128460. Pa = (i + 1796) | 0;
  128461. Qa = (i + 1792) | 0;
  128462. Ra = (i + 1788) | 0;
  128463. Sa = (i + 1784) | 0;
  128464. Ta = (i + 1780) | 0;
  128465. Ua = (i + 1776) | 0;
  128466. Va = (i + 1772) | 0;
  128467. Wa = (i + 1768) | 0;
  128468. Xa = (i + 1764) | 0;
  128469. Ya = (i + 1760) | 0;
  128470. Za = (i + 1756) | 0;
  128471. _a = (i + 1752) | 0;
  128472. $a = (i + 1748) | 0;
  128473. ab = (i + 1744) | 0;
  128474. bb = (i + 1740) | 0;
  128475. cb = (i + 1736) | 0;
  128476. db = (i + 1732) | 0;
  128477. eb = (i + 1728) | 0;
  128478. fb = (i + 1724) | 0;
  128479. gb = (i + 1720) | 0;
  128480. hb = (i + 1716) | 0;
  128481. ib = (i + 1712) | 0;
  128482. jb = (i + 1708) | 0;
  128483. kb = (i + 1704) | 0;
  128484. lb = (i + 1700) | 0;
  128485. mb = (i + 1696) | 0;
  128486. nb = (i + 1692) | 0;
  128487. ob = (i + 1688) | 0;
  128488. pb = (i + 1684) | 0;
  128489. qb = (i + 1680) | 0;
  128490. rb = (i + 1676) | 0;
  128491. sb = (i + 1672) | 0;
  128492. tb = (i + 1668) | 0;
  128493. ub = (i + 1664) | 0;
  128494. vb = (i + 1660) | 0;
  128495. wb = (i + 1656) | 0;
  128496. xb = (i + 1652) | 0;
  128497. yb = (i + 1648) | 0;
  128498. zb = (i + 1644) | 0;
  128499. Ab = (i + 1640) | 0;
  128500. Bb = (i + 1636) | 0;
  128501. Cb = (i + 1632) | 0;
  128502. Db = (i + 1628) | 0;
  128503. Eb = (i + 1624) | 0;
  128504. Fb = (i + 1620) | 0;
  128505. Gb = (i + 1616) | 0;
  128506. Hb = (i + 1612) | 0;
  128507. Ib = (i + 1608) | 0;
  128508. Jb = (i + 1604) | 0;
  128509. Kb = (i + 1600) | 0;
  128510. Lb = (i + 1596) | 0;
  128511. Mb = (i + 1592) | 0;
  128512. Nb = (i + 1588) | 0;
  128513. Ob = (i + 1584) | 0;
  128514. Pb = (i + 1580) | 0;
  128515. Qb = (i + 1576) | 0;
  128516. Rb = (i + 1572) | 0;
  128517. Sb = (i + 1568) | 0;
  128518. Tb = (i + 1564) | 0;
  128519. Ub = (i + 1560) | 0;
  128520. Vb = (i + 1556) | 0;
  128521. Wb = (i + 1552) | 0;
  128522. Xb = (i + 1548) | 0;
  128523. Yb = (i + 1544) | 0;
  128524. Zb = (i + 1540) | 0;
  128525. _b = (i + 1536) | 0;
  128526. $b = (i + 1532) | 0;
  128527. ac = (i + 1528) | 0;
  128528. bc = (i + 1524) | 0;
  128529. cc = (i + 1520) | 0;
  128530. dc = (i + 1516) | 0;
  128531. ec = (i + 1512) | 0;
  128532. fc = (i + 1508) | 0;
  128533. gc = (i + 1504) | 0;
  128534. hc = (i + 1500) | 0;
  128535. ic = (i + 1496) | 0;
  128536. jc = (i + 1492) | 0;
  128537. kc = (i + 1488) | 0;
  128538. lc = (i + 1484) | 0;
  128539. mc = (i + 1480) | 0;
  128540. nc = (i + 1476) | 0;
  128541. oc = (i + 1472) | 0;
  128542. pc = (i + 1468) | 0;
  128543. qc = (i + 1464) | 0;
  128544. rc = (i + 1460) | 0;
  128545. sc = (i + 1456) | 0;
  128546. tc = (i + 1452) | 0;
  128547. uc = (i + 1448) | 0;
  128548. vc = (i + 1444) | 0;
  128549. wc = (i + 1440) | 0;
  128550. xc = (i + 1436) | 0;
  128551. yc = (i + 1432) | 0;
  128552. zc = (i + 1428) | 0;
  128553. Ac = (i + 1424) | 0;
  128554. Bc = (i + 1420) | 0;
  128555. Cc = (i + 1416) | 0;
  128556. Dc = (i + 1412) | 0;
  128557. Ec = (i + 1408) | 0;
  128558. Fc = (i + 1404) | 0;
  128559. Gc = (i + 1400) | 0;
  128560. Hc = (i + 1396) | 0;
  128561. Ic = (i + 1392) | 0;
  128562. Jc = (i + 1388) | 0;
  128563. Kc = (i + 1384) | 0;
  128564. Lc = (i + 1380) | 0;
  128565. Mc = (i + 1376) | 0;
  128566. Nc = (i + 1372) | 0;
  128567. Oc = (i + 1368) | 0;
  128568. Pc = (i + 1364) | 0;
  128569. Qc = (i + 1360) | 0;
  128570. Rc = (i + 1356) | 0;
  128571. Sc = (i + 1352) | 0;
  128572. Tc = (i + 1348) | 0;
  128573. Uc = (i + 1344) | 0;
  128574. Vc = (i + 1340) | 0;
  128575. Wc = (i + 1336) | 0;
  128576. Xc = (i + 1332) | 0;
  128577. Yc = (i + 1328) | 0;
  128578. Zc = (i + 1324) | 0;
  128579. _c = (i + 1320) | 0;
  128580. $c = (i + 1316) | 0;
  128581. ad = (i + 1312) | 0;
  128582. bd = (i + 1308) | 0;
  128583. cd = (i + 1304) | 0;
  128584. dd = (i + 1300) | 0;
  128585. ed = (i + 1296) | 0;
  128586. fd = (i + 1292) | 0;
  128587. gd = (i + 1288) | 0;
  128588. hd = (i + 1284) | 0;
  128589. id = (i + 1280) | 0;
  128590. jd = (i + 1276) | 0;
  128591. kd = (i + 1272) | 0;
  128592. ld = (i + 1268) | 0;
  128593. md = (i + 1264) | 0;
  128594. nd = (i + 1260) | 0;
  128595. od = (i + 1256) | 0;
  128596. pd = (i + 1252) | 0;
  128597. qd = (i + 1248) | 0;
  128598. rd = (i + 1244) | 0;
  128599. sd = (i + 1240) | 0;
  128600. td = (i + 1236) | 0;
  128601. ud = (i + 1232) | 0;
  128602. vd = (i + 1228) | 0;
  128603. wd = (i + 1224) | 0;
  128604. xd = (i + 1220) | 0;
  128605. yd = (i + 1216) | 0;
  128606. zd = (i + 1212) | 0;
  128607. Ad = (i + 1208) | 0;
  128608. Bd = (i + 1204) | 0;
  128609. Cd = (i + 1200) | 0;
  128610. Dd = (i + 1196) | 0;
  128611. Ed = (i + 1192) | 0;
  128612. Fd = (i + 1188) | 0;
  128613. Gd = (i + 1184) | 0;
  128614. Hd = (i + 1180) | 0;
  128615. Id = (i + 1176) | 0;
  128616. Jd = (i + 1172) | 0;
  128617. Kd = (i + 1168) | 0;
  128618. Ld = (i + 1164) | 0;
  128619. Md = (i + 1160) | 0;
  128620. Nd = (i + 1156) | 0;
  128621. Od = (i + 1152) | 0;
  128622. Pd = (i + 1148) | 0;
  128623. Qd = (i + 1144) | 0;
  128624. Rd = (i + 1140) | 0;
  128625. Sd = (i + 1136) | 0;
  128626. Td = (i + 1132) | 0;
  128627. Ud = (i + 1128) | 0;
  128628. Vd = (i + 1124) | 0;
  128629. Wd = (i + 1120) | 0;
  128630. Xd = (i + 1116) | 0;
  128631. Yd = (i + 1112) | 0;
  128632. Zd = (i + 1108) | 0;
  128633. _d = (i + 1104) | 0;
  128634. $d = (i + 1100) | 0;
  128635. ae = (i + 1096) | 0;
  128636. be = (i + 1092) | 0;
  128637. ce = (i + 1088) | 0;
  128638. de = (i + 1084) | 0;
  128639. ee = (i + 1080) | 0;
  128640. fe = (i + 1076) | 0;
  128641. ge = (i + 1072) | 0;
  128642. he = (i + 1068) | 0;
  128643. ie = (i + 1064) | 0;
  128644. je = (i + 1060) | 0;
  128645. ke = (i + 1056) | 0;
  128646. le = (i + 1052) | 0;
  128647. me = (i + 1048) | 0;
  128648. ne = (i + 1044) | 0;
  128649. oe = (i + 1040) | 0;
  128650. pe = (i + 1036) | 0;
  128651. qe = (i + 1032) | 0;
  128652. re = (i + 1028) | 0;
  128653. se = (i + 1024) | 0;
  128654. te = (i + 1020) | 0;
  128655. ue = (i + 1016) | 0;
  128656. ve = (i + 1012) | 0;
  128657. we = (i + 1008) | 0;
  128658. xe = (i + 1004) | 0;
  128659. ye = (i + 1e3) | 0;
  128660. ze = (i + 996) | 0;
  128661. Ae = (i + 992) | 0;
  128662. Be = (i + 988) | 0;
  128663. Ce = (i + 984) | 0;
  128664. De = (i + 980) | 0;
  128665. Ee = (i + 976) | 0;
  128666. Fe = (i + 972) | 0;
  128667. Ge = (i + 968) | 0;
  128668. He = (i + 964) | 0;
  128669. Ie = (i + 960) | 0;
  128670. Je = (i + 956) | 0;
  128671. Ke = (i + 952) | 0;
  128672. Le = (i + 948) | 0;
  128673. Me = (i + 944) | 0;
  128674. Ne = (i + 940) | 0;
  128675. Oe = (i + 936) | 0;
  128676. Pe = (i + 932) | 0;
  128677. Qe = (i + 928) | 0;
  128678. Re = (i + 924) | 0;
  128679. Se = (i + 920) | 0;
  128680. Te = (i + 916) | 0;
  128681. Ue = (i + 912) | 0;
  128682. Ve = (i + 908) | 0;
  128683. We = (i + 904) | 0;
  128684. Xe = (i + 900) | 0;
  128685. Ye = (i + 896) | 0;
  128686. Ze = (i + 892) | 0;
  128687. _e = (i + 888) | 0;
  128688. $e = (i + 884) | 0;
  128689. af = (i + 880) | 0;
  128690. bf = (i + 876) | 0;
  128691. cf = (i + 872) | 0;
  128692. df = (i + 868) | 0;
  128693. ef = (i + 864) | 0;
  128694. ff = (i + 860) | 0;
  128695. gf = (i + 856) | 0;
  128696. hf = (i + 852) | 0;
  128697. jf = (i + 848) | 0;
  128698. kf = (i + 844) | 0;
  128699. lf = (i + 840) | 0;
  128700. mf = (i + 836) | 0;
  128701. nf = (i + 832) | 0;
  128702. of = (i + 828) | 0;
  128703. pf = (i + 824) | 0;
  128704. qf = (i + 820) | 0;
  128705. rf = (i + 816) | 0;
  128706. sf = (i + 812) | 0;
  128707. tf = (i + 808) | 0;
  128708. uf = (i + 804) | 0;
  128709. vf = (i + 800) | 0;
  128710. wf = (i + 796) | 0;
  128711. xf = (i + 792) | 0;
  128712. yf = (i + 788) | 0;
  128713. zf = (i + 784) | 0;
  128714. Af = (i + 780) | 0;
  128715. Bf = (i + 776) | 0;
  128716. Cf = (i + 772) | 0;
  128717. Df = (i + 768) | 0;
  128718. Ef = (i + 764) | 0;
  128719. Ff = (i + 760) | 0;
  128720. Gf = (i + 756) | 0;
  128721. Hf = (i + 752) | 0;
  128722. If = (i + 748) | 0;
  128723. Jf = (i + 744) | 0;
  128724. Kf = (i + 740) | 0;
  128725. Lf = (i + 736) | 0;
  128726. Mf = (i + 732) | 0;
  128727. Nf = (i + 728) | 0;
  128728. Of = (i + 724) | 0;
  128729. Pf = (i + 720) | 0;
  128730. Qf = (i + 716) | 0;
  128731. Rf = (i + 712) | 0;
  128732. Sf = (i + 708) | 0;
  128733. Tf = (i + 704) | 0;
  128734. Uf = (i + 700) | 0;
  128735. Vf = (i + 696) | 0;
  128736. Wf = (i + 692) | 0;
  128737. Xf = (i + 688) | 0;
  128738. Yf = (i + 684) | 0;
  128739. Zf = (i + 680) | 0;
  128740. _f = (i + 676) | 0;
  128741. $f = (i + 672) | 0;
  128742. ag = (i + 668) | 0;
  128743. bg = (i + 664) | 0;
  128744. cg = (i + 660) | 0;
  128745. dg = (i + 656) | 0;
  128746. eg = (i + 652) | 0;
  128747. fg = (i + 648) | 0;
  128748. gg = (i + 644) | 0;
  128749. hg = (i + 640) | 0;
  128750. ig = (i + 636) | 0;
  128751. jg = (i + 632) | 0;
  128752. kg = (i + 628) | 0;
  128753. lg = (i + 624) | 0;
  128754. mg = (i + 620) | 0;
  128755. ng = (i + 616) | 0;
  128756. og = (i + 612) | 0;
  128757. pg = (i + 608) | 0;
  128758. qg = (i + 604) | 0;
  128759. rg = (i + 600) | 0;
  128760. sg = (i + 596) | 0;
  128761. tg = (i + 592) | 0;
  128762. ug = (i + 588) | 0;
  128763. vg = (i + 584) | 0;
  128764. wg = (i + 580) | 0;
  128765. xg = (i + 576) | 0;
  128766. yg = (i + 572) | 0;
  128767. zg = (i + 568) | 0;
  128768. Ag = (i + 564) | 0;
  128769. Bg = (i + 560) | 0;
  128770. Cg = (i + 556) | 0;
  128771. Dg = (i + 552) | 0;
  128772. Eg = (i + 548) | 0;
  128773. Fg = (i + 544) | 0;
  128774. Gg = (i + 540) | 0;
  128775. Hg = (i + 536) | 0;
  128776. Ig = (i + 532) | 0;
  128777. Jg = (i + 528) | 0;
  128778. Kg = (i + 524) | 0;
  128779. Lg = (i + 520) | 0;
  128780. Mg = (i + 516) | 0;
  128781. Ng = (i + 512) | 0;
  128782. Og = (i + 508) | 0;
  128783. Pg = (i + 504) | 0;
  128784. Qg = (i + 500) | 0;
  128785. Rg = (i + 496) | 0;
  128786. Sg = (i + 492) | 0;
  128787. Tg = (i + 488) | 0;
  128788. Ug = (i + 484) | 0;
  128789. Vg = (i + 480) | 0;
  128790. Wg = (i + 476) | 0;
  128791. Xg = (i + 472) | 0;
  128792. Yg = (i + 468) | 0;
  128793. Zg = (i + 464) | 0;
  128794. _g = (i + 460) | 0;
  128795. $g = (i + 456) | 0;
  128796. ah = (i + 452) | 0;
  128797. bh = (i + 448) | 0;
  128798. ch = (i + 444) | 0;
  128799. dh = (i + 440) | 0;
  128800. eh = (i + 436) | 0;
  128801. fh = (i + 432) | 0;
  128802. gh = (i + 428) | 0;
  128803. hh = (i + 424) | 0;
  128804. ih = (i + 420) | 0;
  128805. jh = (i + 416) | 0;
  128806. kh = (i + 412) | 0;
  128807. lh = (i + 408) | 0;
  128808. mh = (i + 404) | 0;
  128809. nh = (i + 400) | 0;
  128810. oh = (i + 396) | 0;
  128811. ph = (i + 392) | 0;
  128812. qh = (i + 388) | 0;
  128813. rh = (i + 384) | 0;
  128814. sh = (i + 380) | 0;
  128815. th = (i + 376) | 0;
  128816. uh = (i + 372) | 0;
  128817. vh = (i + 368) | 0;
  128818. wh = (i + 364) | 0;
  128819. xh = (i + 360) | 0;
  128820. yh = (i + 356) | 0;
  128821. zh = (i + 352) | 0;
  128822. Ah = (i + 348) | 0;
  128823. Bh = (i + 344) | 0;
  128824. Ch = (i + 340) | 0;
  128825. Dh = (i + 336) | 0;
  128826. Eh = (i + 332) | 0;
  128827. Fh = (i + 328) | 0;
  128828. Gh = (i + 324) | 0;
  128829. Hh = (i + 320) | 0;
  128830. Ih = (i + 316) | 0;
  128831. Jh = (i + 312) | 0;
  128832. Kh = (i + 308) | 0;
  128833. Lh = (i + 304) | 0;
  128834. Mh = (i + 300) | 0;
  128835. Nh = (i + 296) | 0;
  128836. Oh = (i + 292) | 0;
  128837. Ph = (i + 288) | 0;
  128838. Qh = (i + 284) | 0;
  128839. Rh = (i + 280) | 0;
  128840. Sh = (i + 276) | 0;
  128841. Th = (i + 272) | 0;
  128842. Uh = (i + 268) | 0;
  128843. Vh = (i + 264) | 0;
  128844. Wh = (i + 260) | 0;
  128845. Xh = (i + 256) | 0;
  128846. Yh = (i + 252) | 0;
  128847. Zh = (i + 248) | 0;
  128848. _h = (i + 244) | 0;
  128849. $h = (i + 240) | 0;
  128850. ai = (i + 236) | 0;
  128851. bi = (i + 232) | 0;
  128852. ci = (i + 228) | 0;
  128853. di = (i + 216) | 0;
  128854. ei = (i + 212) | 0;
  128855. fi = (i + 208) | 0;
  128856. gi = (i + 204) | 0;
  128857. hi = (i + 200) | 0;
  128858. ii = (i + 196) | 0;
  128859. ji = (i + 192) | 0;
  128860. ki = (i + 188) | 0;
  128861. li = (i + 184) | 0;
  128862. mi = (i + 180) | 0;
  128863. ni = (i + 176) | 0;
  128864. oi = (i + 172) | 0;
  128865. pi = (i + 168) | 0;
  128866. qi = (i + 164) | 0;
  128867. ri = (i + 160) | 0;
  128868. si = (i + 148) | 0;
  128869. ti = (i + 144) | 0;
  128870. ui = (i + 140) | 0;
  128871. vi = (i + 136) | 0;
  128872. wi = (i + 132) | 0;
  128873. xi = (i + 128) | 0;
  128874. yi = (i + 124) | 0;
  128875. zi = (i + 120) | 0;
  128876. Ai = (i + 116) | 0;
  128877. Bi = (i + 112) | 0;
  128878. Ci = (i + 108) | 0;
  128879. Di = (i + 104) | 0;
  128880. Ei = (i + 100) | 0;
  128881. Fi = (i + 88) | 0;
  128882. Gi = (i + 84) | 0;
  128883. Hi = (i + 80) | 0;
  128884. Ii = (i + 76) | 0;
  128885. Ji = (i + 72) | 0;
  128886. Ki = (i + 68) | 0;
  128887. Li = (i + 64) | 0;
  128888. Mi = (i + 60) | 0;
  128889. Ni = (i + 56) | 0;
  128890. Oi = (i + 52) | 0;
  128891. Pi = (i + 48) | 0;
  128892. Qi = (i + 44) | 0;
  128893. Ri = (i + 40) | 0;
  128894. Si = (i + 36) | 0;
  128895. Ti = (i + 32) | 0;
  128896. Ui = (i + 28) | 0;
  128897. Vi = (i + 24) | 0;
  128898. Wi = (i + 20) | 0;
  128899. Xi = (i + 16) | 0;
  128900. Yi = (i + 12) | 0;
  128901. Zi = (i + 8) | 0;
  128902. _i = (i + 4) | 0;
  128903. $i = i;
  128904. c[Wi >> 2] = a;
  128905. c[Xi >> 2] = b;
  128906. c[Yi >> 2] = e;
  128907. c[Zi >> 2] = f;
  128908. c[_i >> 2] = g;
  128909. c[$i >> 2] = h;
  128910. h = c[Xi >> 2] | 0;
  128911. Xi = c[Yi >> 2] | 0;
  128912. Yi = c[Zi >> 2] | 0;
  128913. Zi = c[_i >> 2] | 0;
  128914. _i = c[$i >> 2] | 0;
  128915. c[Lh >> 2] = c[Wi >> 2];
  128916. c[Mh >> 2] = h;
  128917. c[Nh >> 2] = Xi;
  128918. c[Oh >> 2] = Yi;
  128919. c[Ph >> 2] = Zi;
  128920. c[Qh >> 2] = _i;
  128921. c[Rh >> 2] = 0;
  128922. c[Sh >> 2] = 0;
  128923. c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
  128924. c[Uh >> 2] = c[Ph >> 2];
  128925. c[Vh >> 2] = c[Uh >> 2];
  128926. c[Wh >> 2] = c[Uh >> 2];
  128927. c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
  128928. c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
  128929. c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
  128930. c[_h >> 2] =
  128931. (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
  128932. if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
  128933. aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
  128934. else aj = 4095;
  128935. c[$h >> 2] = aj;
  128936. c[ai >> 2] =
  128937. (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
  128938. c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
  128939. c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
  128940. c[((c[Lh >> 2] | 0) + 28) >> 2] =
  128941. c[((c[Lh >> 2] | 0) + 24) >> 2];
  128942. lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
  128943. c[Vh >> 2] =
  128944. (c[Vh >> 2] | 0) +
  128945. (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
  128946. c[di >> 2] = 0;
  128947. c[(di + 4) >> 2] = 0;
  128948. c[(di + 8) >> 2] = 0;
  128949. while (1) {
  128950. if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
  128951. c[fi >> 2] = 0;
  128952. c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  128953. c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
  128954. _h = c[Oh >> 2] | 0;
  128955. Qh = c[Vh >> 2] | 0;
  128956. Ph = c[Xh >> 2] | 0;
  128957. aj = c[Sh >> 2] | 0;
  128958. Zh = c[Nh >> 2] | 0;
  128959. Uh = c[ji >> 2] | 0;
  128960. _i = c[ci >> 2] | 0;
  128961. Zi = c[ai >> 2] | 0;
  128962. c[Bh >> 2] = c[Lh >> 2];
  128963. c[Ch >> 2] = _h;
  128964. c[Dh >> 2] = Qh;
  128965. c[Eh >> 2] = Ph;
  128966. c[Fh >> 2] = aj;
  128967. c[Gh >> 2] = Zh;
  128968. c[Hh >> 2] = Uh;
  128969. c[Ih >> 2] = _i;
  128970. c[Jh >> 2] = Zi;
  128971. c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
  128972. a: do {
  128973. if (
  128974. (c[Dh >> 2] | 0) >>> 0 <
  128975. (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
  128976. (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
  128977. 0) >>>
  128978. 0
  128979. )
  128980. c[Ah >> 2] = 0;
  128981. else {
  128982. Zi = c[Ch >> 2] | 0;
  128983. _i = c[Dh >> 2] | 0;
  128984. Uh = c[Eh >> 2] | 0;
  128985. Zh = c[Kh >> 2] | 0;
  128986. aj = c[Fh >> 2] | 0;
  128987. c[rh >> 2] = c[Bh >> 2];
  128988. c[sh >> 2] = Zi;
  128989. c[th >> 2] = _i;
  128990. c[uh >> 2] = Uh;
  128991. c[vh >> 2] = Zh;
  128992. c[wh >> 2] = aj;
  128993. c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
  128994. c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
  128995. c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
  128996. while (1) {
  128997. if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
  128998. break;
  128999. aj =
  129000. Rj(
  129001. c[rh >> 2] | 0,
  129002. c[sh >> 2] | 0,
  129003. ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
  129004. c[uh >> 2] | 0,
  129005. c[vh >> 2] | 0,
  129006. c[wh >> 2] | 0
  129007. ) | 0;
  129008. c[zh >> 2] = (c[zh >> 2] | 0) + aj;
  129009. }
  129010. c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
  129011. switch (c[Kh >> 2] | 0) {
  129012. case 3: {
  129013. aj = c[Ch >> 2] | 0;
  129014. Zh = c[Dh >> 2] | 0;
  129015. Uh = c[Eh >> 2] | 0;
  129016. _i = c[Fh >> 2] | 0;
  129017. Zi = c[Gh >> 2] | 0;
  129018. Ph = c[Hh >> 2] | 0;
  129019. Qh = c[Ih >> 2] | 0;
  129020. _h = c[Jh >> 2] | 0;
  129021. c[wg >> 2] = c[Bh >> 2];
  129022. c[xg >> 2] = aj;
  129023. c[yg >> 2] = Zh;
  129024. c[zg >> 2] = Uh;
  129025. c[Ag >> 2] = _i;
  129026. c[Bg >> 2] = Zi;
  129027. c[Cg >> 2] = Ph;
  129028. c[Dg >> 2] = Qh;
  129029. c[Eg >> 2] = _h;
  129030. c[Fg >> 2] = 3;
  129031. if (
  129032. (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  129033. 4095
  129034. )
  129035. bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
  129036. else bj = 4095;
  129037. c[Gg >> 2] = bj;
  129038. c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
  129039. c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
  129040. c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
  129041. c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
  129042. c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
  129043. c[Mg >> 2] =
  129044. Sj(
  129045. c[yg >> 2] | 0,
  129046. c[Jg >> 2] | 0,
  129047. c[Fg >> 2] | 0
  129048. ) | 0;
  129049. c[Ng >> 2] =
  129050. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
  129051. c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
  129052. c[Pg >> 2] =
  129053. (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
  129054. c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
  129055. c[Rg >> 2] = 0;
  129056. c[Sg >> 2] = 0;
  129057. c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
  129058. c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
  129059. c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
  129060. c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
  129061. if (
  129062. (c[Qg >> 2] | 0) >>> 0 >=
  129063. (c[Ig >> 2] | 0) >>> 0
  129064. )
  129065. cj = 0;
  129066. else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
  129067. c[Xg >> 2] = cj;
  129068. c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
  129069. c[Zg >> 2] =
  129070. (c[Og >> 2] | 0) +
  129071. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
  129072. c[_g >> 2] =
  129073. (c[Og >> 2] | 0) +
  129074. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
  129075. 4;
  129076. c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
  129077. c[bh >> 2] = 0;
  129078. c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
  129079. c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
  129080. c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
  129081. c[fh >> 2] = c[Cg >> 2];
  129082. while (1) {
  129083. if (
  129084. (c[fh >> 2] | 0) >>> 0 >=
  129085. (c[eh >> 2] | 0) >>> 0
  129086. ) {
  129087. dj = 31;
  129088. break;
  129089. }
  129090. _h = c[Bg >> 2] | 0;
  129091. if ((c[fh >> 2] | 0) == 3)
  129092. ej = ((c[_h >> 2] | 0) - 1) | 0;
  129093. else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
  129094. c[gh >> 2] = ej;
  129095. c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
  129096. c[ih >> 2] = 0;
  129097. if (
  129098. (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  129099. (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
  129100. 0
  129101. ) {
  129102. _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
  129103. if (
  129104. (_h | 0) ==
  129105. (mm(
  129106. ((c[yg >> 2] | 0) +
  129107. (0 - (c[gh >> 2] | 0))) |
  129108. 0,
  129109. c[Kg >> 2] | 0
  129110. ) |
  129111. 0)
  129112. ) {
  129113. _h =
  129114. Tj(
  129115. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  129116. ((c[yg >> 2] | 0) +
  129117. (c[Kg >> 2] | 0) +
  129118. (0 - (c[gh >> 2] | 0))) |
  129119. 0,
  129120. c[zg >> 2] | 0
  129121. ) | 0;
  129122. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  129123. }
  129124. } else {
  129125. c[jh >> 2] =
  129126. (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
  129127. if (
  129128. (
  129129. c[Ag >> 2] | 0
  129130. ? ((((c[Ug >> 2] | 0) -
  129131. 1 -
  129132. (c[hh >> 2] | 0)) |
  129133. 0) >>>
  129134. 0 >=
  129135. 3
  129136. ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  129137. (((c[Ig >> 2] | 0) -
  129138. (c[Yg >> 2] | 0)) |
  129139. 0) >>>
  129140. 0
  129141. : 0) | 0
  129142. : 0
  129143. )
  129144. ? ((_h =
  129145. mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
  129146. (_h | 0) ==
  129147. (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
  129148. 0))
  129149. : 0
  129150. ) {
  129151. _h =
  129152. Uj(
  129153. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  129154. ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  129155. c[zg >> 2] | 0,
  129156. c[Vg >> 2] | 0,
  129157. c[Wg >> 2] | 0
  129158. ) | 0;
  129159. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  129160. }
  129161. }
  129162. if (
  129163. (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
  129164. ? ((c[dh >> 2] = c[ih >> 2]),
  129165. (c[
  129166. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  129167. 2
  129168. ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
  129169. (c[
  129170. ((c[Dg >> 2] | 0) +
  129171. (c[bh >> 2] << 3) +
  129172. 4) >>
  129173. 2
  129174. ] = c[ih >> 2]),
  129175. (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
  129176. ((c[ih >> 2] | 0) >>> 0 >
  129177. (c[Gg >> 2] | 0) >>> 0
  129178. ? 1
  129179. : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
  129180. 0) ==
  129181. (c[zg >> 2] | 0)) | 0)
  129182. : 0
  129183. ) {
  129184. dj = 29;
  129185. break;
  129186. }
  129187. c[fh >> 2] = (c[fh >> 2] | 0) + 1;
  129188. }
  129189. do {
  129190. if ((dj | 0) == 29) {
  129191. dj = 0;
  129192. c[vg >> 2] = c[bh >> 2];
  129193. } else if ((dj | 0) == 31) {
  129194. dj = 0;
  129195. if (
  129196. (
  129197. (c[Fg >> 2] | 0) == 3
  129198. ? (c[dh >> 2] | 0) >>> 0 <
  129199. (c[Fg >> 2] | 0) >>> 0
  129200. : 0
  129201. )
  129202. ? ((c[kh >> 2] =
  129203. nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
  129204. ((c[kh >> 2] | 0) >>> 0 >
  129205. (c[Yg >> 2] | 0) >>> 0
  129206. ? (((c[Ig >> 2] | 0) -
  129207. (c[kh >> 2] | 0)) |
  129208. 0) >>>
  129209. 0 <
  129210. 262144
  129211. : 0) | 0)
  129212. : 0
  129213. ) {
  129214. if (
  129215. c[Ag >> 2] | 0
  129216. ? (c[kh >> 2] | 0) >>> 0 <
  129217. (c[Ug >> 2] | 0) >>> 0
  129218. : 0
  129219. ) {
  129220. c[nh >> 2] =
  129221. (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
  129222. c[lh >> 2] =
  129223. Uj(
  129224. c[yg >> 2] | 0,
  129225. c[nh >> 2] | 0,
  129226. c[zg >> 2] | 0,
  129227. c[Vg >> 2] | 0,
  129228. c[Wg >> 2] | 0
  129229. ) | 0;
  129230. } else {
  129231. c[mh >> 2] =
  129232. (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
  129233. c[lh >> 2] =
  129234. Tj(
  129235. c[yg >> 2] | 0,
  129236. c[mh >> 2] | 0,
  129237. c[zg >> 2] | 0
  129238. ) | 0;
  129239. }
  129240. if (
  129241. (c[lh >> 2] | 0) >>> 0 >=
  129242. (c[Fg >> 2] | 0) >>> 0
  129243. ? ((c[dh >> 2] = c[lh >> 2]),
  129244. (c[c[Dg >> 2] >> 2] =
  129245. (c[Ig >> 2] | 0) -
  129246. (c[kh >> 2] | 0) +
  129247. 2),
  129248. (c[((c[Dg >> 2] | 0) + 4) >> 2] =
  129249. c[lh >> 2]),
  129250. (c[bh >> 2] = 1),
  129251. ((c[lh >> 2] | 0) >>> 0 >
  129252. (c[Gg >> 2] | 0) >>> 0
  129253. ? 1
  129254. : (((c[yg >> 2] | 0) +
  129255. (c[lh >> 2] | 0)) |
  129256. 0) ==
  129257. (c[zg >> 2] | 0)) | 0)
  129258. : 0
  129259. ) {
  129260. c[((c[wg >> 2] | 0) + 24) >> 2] =
  129261. (c[Ig >> 2] | 0) + 1;
  129262. c[vg >> 2] = 1;
  129263. break;
  129264. }
  129265. }
  129266. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
  129267. c[Ig >> 2];
  129268. while (1) {
  129269. _h = c[ch >> 2] | 0;
  129270. c[ch >> 2] = _h + -1;
  129271. if (!_h) break;
  129272. if (
  129273. (c[Ng >> 2] | 0) >>> 0 <=
  129274. (c[Yg >> 2] | 0) >>> 0
  129275. )
  129276. break;
  129277. c[oh >> 2] =
  129278. (c[Og >> 2] | 0) +
  129279. (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
  129280. c[ph >> 2] =
  129281. (c[Rg >> 2] | 0) >>> 0 <
  129282. (c[Sg >> 2] | 0) >>> 0
  129283. ? c[Rg >> 2] | 0
  129284. : c[Sg >> 2] | 0;
  129285. if (
  129286. c[Ag >> 2] | 0
  129287. ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  129288. 0) >>>
  129289. 0 <
  129290. (c[Ug >> 2] | 0) >>> 0
  129291. : 0
  129292. ) {
  129293. c[qh >> 2] =
  129294. (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
  129295. _h =
  129296. Uj(
  129297. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  129298. 0,
  129299. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  129300. 0,
  129301. c[zg >> 2] | 0,
  129302. c[Vg >> 2] | 0,
  129303. c[Wg >> 2] | 0
  129304. ) | 0;
  129305. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  129306. if (
  129307. (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  129308. 0) >>>
  129309. 0 >=
  129310. (c[Ug >> 2] | 0) >>> 0
  129311. )
  129312. c[qh >> 2] =
  129313. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  129314. } else {
  129315. c[qh >> 2] =
  129316. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  129317. _h =
  129318. Tj(
  129319. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  129320. 0,
  129321. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  129322. 0,
  129323. c[zg >> 2] | 0
  129324. ) | 0;
  129325. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  129326. }
  129327. if (
  129328. (c[ph >> 2] | 0) >>> 0 >
  129329. (c[dh >> 2] | 0) >>> 0
  129330. ) {
  129331. if (
  129332. (c[ph >> 2] | 0) >>> 0 >
  129333. (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
  129334. 0) >>>
  129335. 0
  129336. )
  129337. c[$g >> 2] =
  129338. (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
  129339. c[dh >> 2] = c[ph >> 2];
  129340. c[
  129341. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  129342. 2
  129343. ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
  129344. c[
  129345. ((c[Dg >> 2] | 0) +
  129346. (c[bh >> 2] << 3) +
  129347. 4) >>
  129348. 2
  129349. ] = c[ph >> 2];
  129350. c[bh >> 2] = (c[bh >> 2] | 0) + 1;
  129351. if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
  129352. if (
  129353. (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  129354. 0) ==
  129355. (c[zg >> 2] | 0)
  129356. )
  129357. break;
  129358. }
  129359. _h = c[Ng >> 2] | 0;
  129360. if (
  129361. (d[
  129362. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  129363. ] |
  129364. 0 |
  129365. 0) <
  129366. (d[
  129367. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  129368. ] |
  129369. 0 |
  129370. 0)
  129371. ) {
  129372. c[c[Zg >> 2] >> 2] = _h;
  129373. c[Rg >> 2] = c[ph >> 2];
  129374. if (
  129375. (c[Ng >> 2] | 0) >>> 0 <=
  129376. (c[Xg >> 2] | 0) >>> 0
  129377. ) {
  129378. dj = 56;
  129379. break;
  129380. }
  129381. c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
  129382. c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
  129383. } else {
  129384. c[c[_g >> 2] >> 2] = _h;
  129385. c[Sg >> 2] = c[ph >> 2];
  129386. if (
  129387. (c[Ng >> 2] | 0) >>> 0 <=
  129388. (c[Xg >> 2] | 0) >>> 0
  129389. ) {
  129390. dj = 59;
  129391. break;
  129392. }
  129393. c[_g >> 2] = c[oh >> 2];
  129394. c[Ng >> 2] = c[c[oh >> 2] >> 2];
  129395. }
  129396. }
  129397. if ((dj | 0) == 56) {
  129398. dj = 0;
  129399. c[Zg >> 2] = ah;
  129400. } else if ((dj | 0) == 59) {
  129401. dj = 0;
  129402. c[_g >> 2] = ah;
  129403. }
  129404. c[c[_g >> 2] >> 2] = 0;
  129405. c[c[Zg >> 2] >> 2] = 0;
  129406. c[((c[wg >> 2] | 0) + 24) >> 2] =
  129407. (c[$g >> 2] | 0) - 8;
  129408. c[vg >> 2] = c[bh >> 2];
  129409. }
  129410. } while (0);
  129411. c[Ah >> 2] = c[vg >> 2];
  129412. break a;
  129413. break;
  129414. }
  129415. case 7:
  129416. case 6: {
  129417. _h = c[Ch >> 2] | 0;
  129418. Qh = c[Dh >> 2] | 0;
  129419. Ph = c[Eh >> 2] | 0;
  129420. Zi = c[Fh >> 2] | 0;
  129421. _i = c[Gh >> 2] | 0;
  129422. Uh = c[Hh >> 2] | 0;
  129423. Zh = c[Ih >> 2] | 0;
  129424. aj = c[Jh >> 2] | 0;
  129425. c[Hd >> 2] = c[Bh >> 2];
  129426. c[Id >> 2] = _h;
  129427. c[Jd >> 2] = Qh;
  129428. c[Kd >> 2] = Ph;
  129429. c[Ld >> 2] = Zi;
  129430. c[Md >> 2] = _i;
  129431. c[Nd >> 2] = Uh;
  129432. c[Od >> 2] = Zh;
  129433. c[Pd >> 2] = aj;
  129434. c[Qd >> 2] = 6;
  129435. if (
  129436. (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  129437. 4095
  129438. )
  129439. fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
  129440. else fj = 4095;
  129441. c[Rd >> 2] = fj;
  129442. c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
  129443. c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
  129444. c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
  129445. c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
  129446. c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
  129447. c[Xd >> 2] =
  129448. Sj(
  129449. c[Jd >> 2] | 0,
  129450. c[Ud >> 2] | 0,
  129451. c[Qd >> 2] | 0
  129452. ) | 0;
  129453. c[Yd >> 2] =
  129454. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
  129455. c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
  129456. c[_d >> 2] =
  129457. (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
  129458. c[$d >> 2] = (1 << c[_d >> 2]) - 1;
  129459. c[ae >> 2] = 0;
  129460. c[be >> 2] = 0;
  129461. c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
  129462. c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
  129463. c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
  129464. c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
  129465. if (
  129466. (c[$d >> 2] | 0) >>> 0 >=
  129467. (c[Td >> 2] | 0) >>> 0
  129468. )
  129469. gj = 0;
  129470. else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
  129471. c[ge >> 2] = gj;
  129472. c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
  129473. c[ie >> 2] =
  129474. (c[Zd >> 2] | 0) +
  129475. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
  129476. c[je >> 2] =
  129477. (c[Zd >> 2] | 0) +
  129478. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
  129479. 4;
  129480. c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
  129481. c[me >> 2] = 0;
  129482. c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
  129483. c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
  129484. c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
  129485. c[qe >> 2] = c[Nd >> 2];
  129486. while (1) {
  129487. if (
  129488. (c[qe >> 2] | 0) >>> 0 >=
  129489. (c[pe >> 2] | 0) >>> 0
  129490. ) {
  129491. dj = 190;
  129492. break;
  129493. }
  129494. aj = c[Md >> 2] | 0;
  129495. if ((c[qe >> 2] | 0) == 3)
  129496. hj = ((c[aj >> 2] | 0) - 1) | 0;
  129497. else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
  129498. c[re >> 2] = hj;
  129499. c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
  129500. c[te >> 2] = 0;
  129501. if (
  129502. (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  129503. (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
  129504. 0
  129505. ) {
  129506. aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
  129507. if (
  129508. (aj | 0) ==
  129509. (mm(
  129510. ((c[Jd >> 2] | 0) +
  129511. (0 - (c[re >> 2] | 0))) |
  129512. 0,
  129513. c[Vd >> 2] | 0
  129514. ) |
  129515. 0)
  129516. ) {
  129517. aj =
  129518. Tj(
  129519. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  129520. ((c[Jd >> 2] | 0) +
  129521. (c[Vd >> 2] | 0) +
  129522. (0 - (c[re >> 2] | 0))) |
  129523. 0,
  129524. c[Kd >> 2] | 0
  129525. ) | 0;
  129526. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  129527. }
  129528. } else {
  129529. c[ue >> 2] =
  129530. (c[ce >> 2] | 0) + (c[se >> 2] | 0);
  129531. if (
  129532. (
  129533. c[Ld >> 2] | 0
  129534. ? ((((c[de >> 2] | 0) -
  129535. 1 -
  129536. (c[se >> 2] | 0)) |
  129537. 0) >>>
  129538. 0 >=
  129539. 3
  129540. ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  129541. (((c[Td >> 2] | 0) -
  129542. (c[he >> 2] | 0)) |
  129543. 0) >>>
  129544. 0
  129545. : 0) | 0
  129546. : 0
  129547. )
  129548. ? ((aj =
  129549. mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
  129550. (aj | 0) ==
  129551. (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
  129552. 0))
  129553. : 0
  129554. ) {
  129555. aj =
  129556. Uj(
  129557. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  129558. ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  129559. c[Kd >> 2] | 0,
  129560. c[ee >> 2] | 0,
  129561. c[fe >> 2] | 0
  129562. ) | 0;
  129563. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  129564. }
  129565. }
  129566. if (
  129567. (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
  129568. ? ((c[oe >> 2] = c[te >> 2]),
  129569. (c[
  129570. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  129571. 2
  129572. ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
  129573. (c[
  129574. ((c[Od >> 2] | 0) +
  129575. (c[me >> 2] << 3) +
  129576. 4) >>
  129577. 2
  129578. ] = c[te >> 2]),
  129579. (c[me >> 2] = (c[me >> 2] | 0) + 1),
  129580. ((c[te >> 2] | 0) >>> 0 >
  129581. (c[Rd >> 2] | 0) >>> 0
  129582. ? 1
  129583. : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
  129584. 0) ==
  129585. (c[Kd >> 2] | 0)) | 0)
  129586. : 0
  129587. ) {
  129588. dj = 188;
  129589. break;
  129590. }
  129591. c[qe >> 2] = (c[qe >> 2] | 0) + 1;
  129592. }
  129593. do {
  129594. if ((dj | 0) == 188) {
  129595. dj = 0;
  129596. c[Gd >> 2] = c[me >> 2];
  129597. } else if ((dj | 0) == 190) {
  129598. dj = 0;
  129599. if (
  129600. (
  129601. (c[Qd >> 2] | 0) == 3
  129602. ? (c[oe >> 2] | 0) >>> 0 <
  129603. (c[Qd >> 2] | 0) >>> 0
  129604. : 0
  129605. )
  129606. ? ((c[ve >> 2] =
  129607. nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
  129608. ((c[ve >> 2] | 0) >>> 0 >
  129609. (c[he >> 2] | 0) >>> 0
  129610. ? (((c[Td >> 2] | 0) -
  129611. (c[ve >> 2] | 0)) |
  129612. 0) >>>
  129613. 0 <
  129614. 262144
  129615. : 0) | 0)
  129616. : 0
  129617. ) {
  129618. if (
  129619. c[Ld >> 2] | 0
  129620. ? (c[ve >> 2] | 0) >>> 0 <
  129621. (c[de >> 2] | 0) >>> 0
  129622. : 0
  129623. ) {
  129624. c[ye >> 2] =
  129625. (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
  129626. c[we >> 2] =
  129627. Uj(
  129628. c[Jd >> 2] | 0,
  129629. c[ye >> 2] | 0,
  129630. c[Kd >> 2] | 0,
  129631. c[ee >> 2] | 0,
  129632. c[fe >> 2] | 0
  129633. ) | 0;
  129634. } else {
  129635. c[xe >> 2] =
  129636. (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
  129637. c[we >> 2] =
  129638. Tj(
  129639. c[Jd >> 2] | 0,
  129640. c[xe >> 2] | 0,
  129641. c[Kd >> 2] | 0
  129642. ) | 0;
  129643. }
  129644. if (
  129645. (c[we >> 2] | 0) >>> 0 >=
  129646. (c[Qd >> 2] | 0) >>> 0
  129647. ? ((c[oe >> 2] = c[we >> 2]),
  129648. (c[c[Od >> 2] >> 2] =
  129649. (c[Td >> 2] | 0) -
  129650. (c[ve >> 2] | 0) +
  129651. 2),
  129652. (c[((c[Od >> 2] | 0) + 4) >> 2] =
  129653. c[we >> 2]),
  129654. (c[me >> 2] = 1),
  129655. ((c[we >> 2] | 0) >>> 0 >
  129656. (c[Rd >> 2] | 0) >>> 0
  129657. ? 1
  129658. : (((c[Jd >> 2] | 0) +
  129659. (c[we >> 2] | 0)) |
  129660. 0) ==
  129661. (c[Kd >> 2] | 0)) | 0)
  129662. : 0
  129663. ) {
  129664. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  129665. (c[Td >> 2] | 0) + 1;
  129666. c[Gd >> 2] = 1;
  129667. break;
  129668. }
  129669. }
  129670. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
  129671. c[Td >> 2];
  129672. while (1) {
  129673. aj = c[ne >> 2] | 0;
  129674. c[ne >> 2] = aj + -1;
  129675. if (!aj) break;
  129676. if (
  129677. (c[Yd >> 2] | 0) >>> 0 <=
  129678. (c[he >> 2] | 0) >>> 0
  129679. )
  129680. break;
  129681. c[ze >> 2] =
  129682. (c[Zd >> 2] | 0) +
  129683. (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
  129684. c[Ae >> 2] =
  129685. (c[ae >> 2] | 0) >>> 0 <
  129686. (c[be >> 2] | 0) >>> 0
  129687. ? c[ae >> 2] | 0
  129688. : c[be >> 2] | 0;
  129689. if (
  129690. c[Ld >> 2] | 0
  129691. ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129692. 0) >>>
  129693. 0 <
  129694. (c[de >> 2] | 0) >>> 0
  129695. : 0
  129696. ) {
  129697. c[Be >> 2] =
  129698. (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
  129699. aj =
  129700. Uj(
  129701. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129702. 0,
  129703. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129704. 0,
  129705. c[Kd >> 2] | 0,
  129706. c[ee >> 2] | 0,
  129707. c[fe >> 2] | 0
  129708. ) | 0;
  129709. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  129710. if (
  129711. (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129712. 0) >>>
  129713. 0 >=
  129714. (c[de >> 2] | 0) >>> 0
  129715. )
  129716. c[Be >> 2] =
  129717. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  129718. } else {
  129719. c[Be >> 2] =
  129720. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  129721. aj =
  129722. Tj(
  129723. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129724. 0,
  129725. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129726. 0,
  129727. c[Kd >> 2] | 0
  129728. ) | 0;
  129729. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  129730. }
  129731. if (
  129732. (c[Ae >> 2] | 0) >>> 0 >
  129733. (c[oe >> 2] | 0) >>> 0
  129734. ) {
  129735. if (
  129736. (c[Ae >> 2] | 0) >>> 0 >
  129737. (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
  129738. 0) >>>
  129739. 0
  129740. )
  129741. c[ke >> 2] =
  129742. (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
  129743. c[oe >> 2] = c[Ae >> 2];
  129744. c[
  129745. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  129746. 2
  129747. ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
  129748. c[
  129749. ((c[Od >> 2] | 0) +
  129750. (c[me >> 2] << 3) +
  129751. 4) >>
  129752. 2
  129753. ] = c[Ae >> 2];
  129754. c[me >> 2] = (c[me >> 2] | 0) + 1;
  129755. if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
  129756. if (
  129757. (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  129758. 0) ==
  129759. (c[Kd >> 2] | 0)
  129760. )
  129761. break;
  129762. }
  129763. aj = c[Yd >> 2] | 0;
  129764. if (
  129765. (d[
  129766. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  129767. ] |
  129768. 0 |
  129769. 0) <
  129770. (d[
  129771. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  129772. ] |
  129773. 0 |
  129774. 0)
  129775. ) {
  129776. c[c[ie >> 2] >> 2] = aj;
  129777. c[ae >> 2] = c[Ae >> 2];
  129778. if (
  129779. (c[Yd >> 2] | 0) >>> 0 <=
  129780. (c[ge >> 2] | 0) >>> 0
  129781. ) {
  129782. dj = 215;
  129783. break;
  129784. }
  129785. c[ie >> 2] = (c[ze >> 2] | 0) + 4;
  129786. c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
  129787. } else {
  129788. c[c[je >> 2] >> 2] = aj;
  129789. c[be >> 2] = c[Ae >> 2];
  129790. if (
  129791. (c[Yd >> 2] | 0) >>> 0 <=
  129792. (c[ge >> 2] | 0) >>> 0
  129793. ) {
  129794. dj = 218;
  129795. break;
  129796. }
  129797. c[je >> 2] = c[ze >> 2];
  129798. c[Yd >> 2] = c[c[ze >> 2] >> 2];
  129799. }
  129800. }
  129801. if ((dj | 0) == 215) {
  129802. dj = 0;
  129803. c[ie >> 2] = le;
  129804. } else if ((dj | 0) == 218) {
  129805. dj = 0;
  129806. c[je >> 2] = le;
  129807. }
  129808. c[c[je >> 2] >> 2] = 0;
  129809. c[c[ie >> 2] >> 2] = 0;
  129810. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  129811. (c[ke >> 2] | 0) - 8;
  129812. c[Gd >> 2] = c[me >> 2];
  129813. }
  129814. } while (0);
  129815. c[Ah >> 2] = c[Gd >> 2];
  129816. break a;
  129817. break;
  129818. }
  129819. case 5: {
  129820. aj = c[Ch >> 2] | 0;
  129821. Zh = c[Dh >> 2] | 0;
  129822. Uh = c[Eh >> 2] | 0;
  129823. _i = c[Fh >> 2] | 0;
  129824. Zi = c[Gh >> 2] | 0;
  129825. Ph = c[Hh >> 2] | 0;
  129826. Qh = c[Ih >> 2] | 0;
  129827. _h = c[Jh >> 2] | 0;
  129828. c[De >> 2] = c[Bh >> 2];
  129829. c[Ee >> 2] = aj;
  129830. c[Fe >> 2] = Zh;
  129831. c[Ge >> 2] = Uh;
  129832. c[He >> 2] = _i;
  129833. c[Ie >> 2] = Zi;
  129834. c[Je >> 2] = Ph;
  129835. c[Ke >> 2] = Qh;
  129836. c[Le >> 2] = _h;
  129837. c[Me >> 2] = 5;
  129838. if (
  129839. (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  129840. 4095
  129841. )
  129842. ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
  129843. else ij = 4095;
  129844. c[Ne >> 2] = ij;
  129845. c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
  129846. c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
  129847. c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
  129848. c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
  129849. c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
  129850. c[Te >> 2] =
  129851. Sj(
  129852. c[Fe >> 2] | 0,
  129853. c[Qe >> 2] | 0,
  129854. c[Me >> 2] | 0
  129855. ) | 0;
  129856. c[Ue >> 2] =
  129857. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
  129858. c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
  129859. c[We >> 2] =
  129860. (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
  129861. c[Xe >> 2] = (1 << c[We >> 2]) - 1;
  129862. c[Ye >> 2] = 0;
  129863. c[Ze >> 2] = 0;
  129864. c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
  129865. c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
  129866. c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
  129867. c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
  129868. if (
  129869. (c[Xe >> 2] | 0) >>> 0 >=
  129870. (c[Pe >> 2] | 0) >>> 0
  129871. )
  129872. jj = 0;
  129873. else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
  129874. c[cf >> 2] = jj;
  129875. c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
  129876. c[ef >> 2] =
  129877. (c[Ve >> 2] | 0) +
  129878. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
  129879. c[ff >> 2] =
  129880. (c[Ve >> 2] | 0) +
  129881. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
  129882. 4;
  129883. c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
  129884. c[jf >> 2] = 0;
  129885. c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
  129886. c[lf >> 2] = (c[Le >> 2] | 0) - 1;
  129887. c[mf >> 2] = 3 + (c[Je >> 2] | 0);
  129888. c[nf >> 2] = c[Je >> 2];
  129889. while (1) {
  129890. if (
  129891. (c[nf >> 2] | 0) >>> 0 >=
  129892. (c[mf >> 2] | 0) >>> 0
  129893. ) {
  129894. dj = 137;
  129895. break;
  129896. }
  129897. _h = c[Ie >> 2] | 0;
  129898. if ((c[nf >> 2] | 0) == 3)
  129899. kj = ((c[_h >> 2] | 0) - 1) | 0;
  129900. else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
  129901. c[of >> 2] = kj;
  129902. c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
  129903. c[qf >> 2] = 0;
  129904. if (
  129905. (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  129906. (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
  129907. 0
  129908. ) {
  129909. _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
  129910. if (
  129911. (_h | 0) ==
  129912. (mm(
  129913. ((c[Fe >> 2] | 0) +
  129914. (0 - (c[of >> 2] | 0))) |
  129915. 0,
  129916. c[Re >> 2] | 0
  129917. ) |
  129918. 0)
  129919. ) {
  129920. _h =
  129921. Tj(
  129922. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  129923. ((c[Fe >> 2] | 0) +
  129924. (c[Re >> 2] | 0) +
  129925. (0 - (c[of >> 2] | 0))) |
  129926. 0,
  129927. c[Ge >> 2] | 0
  129928. ) | 0;
  129929. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  129930. }
  129931. } else {
  129932. c[rf >> 2] =
  129933. (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
  129934. if (
  129935. (
  129936. c[He >> 2] | 0
  129937. ? ((((c[$e >> 2] | 0) -
  129938. 1 -
  129939. (c[pf >> 2] | 0)) |
  129940. 0) >>>
  129941. 0 >=
  129942. 3
  129943. ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  129944. (((c[Pe >> 2] | 0) -
  129945. (c[df >> 2] | 0)) |
  129946. 0) >>>
  129947. 0
  129948. : 0) | 0
  129949. : 0
  129950. )
  129951. ? ((_h =
  129952. mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
  129953. (_h | 0) ==
  129954. (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
  129955. 0))
  129956. : 0
  129957. ) {
  129958. _h =
  129959. Uj(
  129960. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  129961. ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  129962. c[Ge >> 2] | 0,
  129963. c[af >> 2] | 0,
  129964. c[bf >> 2] | 0
  129965. ) | 0;
  129966. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  129967. }
  129968. }
  129969. if (
  129970. (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
  129971. ? ((c[lf >> 2] = c[qf >> 2]),
  129972. (c[
  129973. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  129974. 2
  129975. ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
  129976. (c[
  129977. ((c[Ke >> 2] | 0) +
  129978. (c[jf >> 2] << 3) +
  129979. 4) >>
  129980. 2
  129981. ] = c[qf >> 2]),
  129982. (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
  129983. ((c[qf >> 2] | 0) >>> 0 >
  129984. (c[Ne >> 2] | 0) >>> 0
  129985. ? 1
  129986. : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
  129987. 0) ==
  129988. (c[Ge >> 2] | 0)) | 0)
  129989. : 0
  129990. ) {
  129991. dj = 135;
  129992. break;
  129993. }
  129994. c[nf >> 2] = (c[nf >> 2] | 0) + 1;
  129995. }
  129996. do {
  129997. if ((dj | 0) == 135) {
  129998. dj = 0;
  129999. c[Ce >> 2] = c[jf >> 2];
  130000. } else if ((dj | 0) == 137) {
  130001. dj = 0;
  130002. if (
  130003. (
  130004. (c[Me >> 2] | 0) == 3
  130005. ? (c[lf >> 2] | 0) >>> 0 <
  130006. (c[Me >> 2] | 0) >>> 0
  130007. : 0
  130008. )
  130009. ? ((c[sf >> 2] =
  130010. nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
  130011. ((c[sf >> 2] | 0) >>> 0 >
  130012. (c[df >> 2] | 0) >>> 0
  130013. ? (((c[Pe >> 2] | 0) -
  130014. (c[sf >> 2] | 0)) |
  130015. 0) >>>
  130016. 0 <
  130017. 262144
  130018. : 0) | 0)
  130019. : 0
  130020. ) {
  130021. if (
  130022. c[He >> 2] | 0
  130023. ? (c[sf >> 2] | 0) >>> 0 <
  130024. (c[$e >> 2] | 0) >>> 0
  130025. : 0
  130026. ) {
  130027. c[vf >> 2] =
  130028. (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
  130029. c[tf >> 2] =
  130030. Uj(
  130031. c[Fe >> 2] | 0,
  130032. c[vf >> 2] | 0,
  130033. c[Ge >> 2] | 0,
  130034. c[af >> 2] | 0,
  130035. c[bf >> 2] | 0
  130036. ) | 0;
  130037. } else {
  130038. c[uf >> 2] =
  130039. (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
  130040. c[tf >> 2] =
  130041. Tj(
  130042. c[Fe >> 2] | 0,
  130043. c[uf >> 2] | 0,
  130044. c[Ge >> 2] | 0
  130045. ) | 0;
  130046. }
  130047. if (
  130048. (c[tf >> 2] | 0) >>> 0 >=
  130049. (c[Me >> 2] | 0) >>> 0
  130050. ? ((c[lf >> 2] = c[tf >> 2]),
  130051. (c[c[Ke >> 2] >> 2] =
  130052. (c[Pe >> 2] | 0) -
  130053. (c[sf >> 2] | 0) +
  130054. 2),
  130055. (c[((c[Ke >> 2] | 0) + 4) >> 2] =
  130056. c[tf >> 2]),
  130057. (c[jf >> 2] = 1),
  130058. ((c[tf >> 2] | 0) >>> 0 >
  130059. (c[Ne >> 2] | 0) >>> 0
  130060. ? 1
  130061. : (((c[Fe >> 2] | 0) +
  130062. (c[tf >> 2] | 0)) |
  130063. 0) ==
  130064. (c[Ge >> 2] | 0)) | 0)
  130065. : 0
  130066. ) {
  130067. c[((c[De >> 2] | 0) + 24) >> 2] =
  130068. (c[Pe >> 2] | 0) + 1;
  130069. c[Ce >> 2] = 1;
  130070. break;
  130071. }
  130072. }
  130073. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
  130074. c[Pe >> 2];
  130075. while (1) {
  130076. _h = c[kf >> 2] | 0;
  130077. c[kf >> 2] = _h + -1;
  130078. if (!_h) break;
  130079. if (
  130080. (c[Ue >> 2] | 0) >>> 0 <=
  130081. (c[df >> 2] | 0) >>> 0
  130082. )
  130083. break;
  130084. c[wf >> 2] =
  130085. (c[Ve >> 2] | 0) +
  130086. (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
  130087. c[xf >> 2] =
  130088. (c[Ye >> 2] | 0) >>> 0 <
  130089. (c[Ze >> 2] | 0) >>> 0
  130090. ? c[Ye >> 2] | 0
  130091. : c[Ze >> 2] | 0;
  130092. if (
  130093. c[He >> 2] | 0
  130094. ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  130095. 0) >>>
  130096. 0 <
  130097. (c[$e >> 2] | 0) >>> 0
  130098. : 0
  130099. ) {
  130100. c[yf >> 2] =
  130101. (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
  130102. _h =
  130103. Uj(
  130104. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  130105. 0,
  130106. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  130107. 0,
  130108. c[Ge >> 2] | 0,
  130109. c[af >> 2] | 0,
  130110. c[bf >> 2] | 0
  130111. ) | 0;
  130112. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  130113. if (
  130114. (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  130115. 0) >>>
  130116. 0 >=
  130117. (c[$e >> 2] | 0) >>> 0
  130118. )
  130119. c[yf >> 2] =
  130120. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  130121. } else {
  130122. c[yf >> 2] =
  130123. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  130124. _h =
  130125. Tj(
  130126. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  130127. 0,
  130128. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  130129. 0,
  130130. c[Ge >> 2] | 0
  130131. ) | 0;
  130132. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  130133. }
  130134. if (
  130135. (c[xf >> 2] | 0) >>> 0 >
  130136. (c[lf >> 2] | 0) >>> 0
  130137. ) {
  130138. if (
  130139. (c[xf >> 2] | 0) >>> 0 >
  130140. (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
  130141. 0) >>>
  130142. 0
  130143. )
  130144. c[gf >> 2] =
  130145. (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
  130146. c[lf >> 2] = c[xf >> 2];
  130147. c[
  130148. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  130149. 2
  130150. ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
  130151. c[
  130152. ((c[Ke >> 2] | 0) +
  130153. (c[jf >> 2] << 3) +
  130154. 4) >>
  130155. 2
  130156. ] = c[xf >> 2];
  130157. c[jf >> 2] = (c[jf >> 2] | 0) + 1;
  130158. if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
  130159. if (
  130160. (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  130161. 0) ==
  130162. (c[Ge >> 2] | 0)
  130163. )
  130164. break;
  130165. }
  130166. _h = c[Ue >> 2] | 0;
  130167. if (
  130168. (d[
  130169. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  130170. ] |
  130171. 0 |
  130172. 0) <
  130173. (d[
  130174. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  130175. ] |
  130176. 0 |
  130177. 0)
  130178. ) {
  130179. c[c[ef >> 2] >> 2] = _h;
  130180. c[Ye >> 2] = c[xf >> 2];
  130181. if (
  130182. (c[Ue >> 2] | 0) >>> 0 <=
  130183. (c[cf >> 2] | 0) >>> 0
  130184. ) {
  130185. dj = 162;
  130186. break;
  130187. }
  130188. c[ef >> 2] = (c[wf >> 2] | 0) + 4;
  130189. c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
  130190. } else {
  130191. c[c[ff >> 2] >> 2] = _h;
  130192. c[Ze >> 2] = c[xf >> 2];
  130193. if (
  130194. (c[Ue >> 2] | 0) >>> 0 <=
  130195. (c[cf >> 2] | 0) >>> 0
  130196. ) {
  130197. dj = 165;
  130198. break;
  130199. }
  130200. c[ff >> 2] = c[wf >> 2];
  130201. c[Ue >> 2] = c[c[wf >> 2] >> 2];
  130202. }
  130203. }
  130204. if ((dj | 0) == 162) {
  130205. dj = 0;
  130206. c[ef >> 2] = hf;
  130207. } else if ((dj | 0) == 165) {
  130208. dj = 0;
  130209. c[ff >> 2] = hf;
  130210. }
  130211. c[c[ff >> 2] >> 2] = 0;
  130212. c[c[ef >> 2] >> 2] = 0;
  130213. c[((c[De >> 2] | 0) + 24) >> 2] =
  130214. (c[gf >> 2] | 0) - 8;
  130215. c[Ce >> 2] = c[jf >> 2];
  130216. }
  130217. } while (0);
  130218. c[Ah >> 2] = c[Ce >> 2];
  130219. break a;
  130220. break;
  130221. }
  130222. default: {
  130223. _h = c[Ch >> 2] | 0;
  130224. Qh = c[Dh >> 2] | 0;
  130225. Ph = c[Eh >> 2] | 0;
  130226. Zi = c[Fh >> 2] | 0;
  130227. _i = c[Gh >> 2] | 0;
  130228. Uh = c[Hh >> 2] | 0;
  130229. Zh = c[Ih >> 2] | 0;
  130230. aj = c[Jh >> 2] | 0;
  130231. c[Af >> 2] = c[Bh >> 2];
  130232. c[Bf >> 2] = _h;
  130233. c[Cf >> 2] = Qh;
  130234. c[Df >> 2] = Ph;
  130235. c[Ef >> 2] = Zi;
  130236. c[Ff >> 2] = _i;
  130237. c[Gf >> 2] = Uh;
  130238. c[Hf >> 2] = Zh;
  130239. c[If >> 2] = aj;
  130240. c[Jf >> 2] = 4;
  130241. if (
  130242. (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  130243. 4095
  130244. )
  130245. lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
  130246. else lj = 4095;
  130247. c[Kf >> 2] = lj;
  130248. c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
  130249. c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
  130250. c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
  130251. c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
  130252. c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
  130253. c[Qf >> 2] =
  130254. Sj(
  130255. c[Cf >> 2] | 0,
  130256. c[Nf >> 2] | 0,
  130257. c[Jf >> 2] | 0
  130258. ) | 0;
  130259. c[Rf >> 2] =
  130260. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
  130261. c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
  130262. c[Tf >> 2] =
  130263. (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
  130264. c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
  130265. c[Vf >> 2] = 0;
  130266. c[Wf >> 2] = 0;
  130267. c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
  130268. c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
  130269. c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
  130270. c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
  130271. if (
  130272. (c[Uf >> 2] | 0) >>> 0 >=
  130273. (c[Mf >> 2] | 0) >>> 0
  130274. )
  130275. mj = 0;
  130276. else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
  130277. c[$f >> 2] = mj;
  130278. c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
  130279. c[bg >> 2] =
  130280. (c[Sf >> 2] | 0) +
  130281. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
  130282. c[cg >> 2] =
  130283. (c[Sf >> 2] | 0) +
  130284. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
  130285. 4;
  130286. c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
  130287. c[fg >> 2] = 0;
  130288. c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
  130289. c[hg >> 2] = (c[If >> 2] | 0) - 1;
  130290. c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
  130291. c[jg >> 2] = c[Gf >> 2];
  130292. while (1) {
  130293. if (
  130294. (c[jg >> 2] | 0) >>> 0 >=
  130295. (c[ig >> 2] | 0) >>> 0
  130296. ) {
  130297. dj = 84;
  130298. break;
  130299. }
  130300. aj = c[Ff >> 2] | 0;
  130301. if ((c[jg >> 2] | 0) == 3)
  130302. nj = ((c[aj >> 2] | 0) - 1) | 0;
  130303. else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
  130304. c[kg >> 2] = nj;
  130305. c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
  130306. c[mg >> 2] = 0;
  130307. if (
  130308. (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  130309. (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
  130310. 0
  130311. ) {
  130312. aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
  130313. if (
  130314. (aj | 0) ==
  130315. (mm(
  130316. ((c[Cf >> 2] | 0) +
  130317. (0 - (c[kg >> 2] | 0))) |
  130318. 0,
  130319. c[Of >> 2] | 0
  130320. ) |
  130321. 0)
  130322. ) {
  130323. aj =
  130324. Tj(
  130325. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  130326. ((c[Cf >> 2] | 0) +
  130327. (c[Of >> 2] | 0) +
  130328. (0 - (c[kg >> 2] | 0))) |
  130329. 0,
  130330. c[Df >> 2] | 0
  130331. ) | 0;
  130332. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  130333. }
  130334. } else {
  130335. c[ng >> 2] =
  130336. (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
  130337. if (
  130338. (
  130339. c[Ef >> 2] | 0
  130340. ? ((((c[Yf >> 2] | 0) -
  130341. 1 -
  130342. (c[lg >> 2] | 0)) |
  130343. 0) >>>
  130344. 0 >=
  130345. 3
  130346. ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  130347. (((c[Mf >> 2] | 0) -
  130348. (c[ag >> 2] | 0)) |
  130349. 0) >>>
  130350. 0
  130351. : 0) | 0
  130352. : 0
  130353. )
  130354. ? ((aj =
  130355. mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
  130356. (aj | 0) ==
  130357. (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
  130358. 0))
  130359. : 0
  130360. ) {
  130361. aj =
  130362. Uj(
  130363. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  130364. ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  130365. c[Df >> 2] | 0,
  130366. c[Zf >> 2] | 0,
  130367. c[_f >> 2] | 0
  130368. ) | 0;
  130369. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  130370. }
  130371. }
  130372. if (
  130373. (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
  130374. ? ((c[hg >> 2] = c[mg >> 2]),
  130375. (c[
  130376. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  130377. 2
  130378. ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
  130379. (c[
  130380. ((c[Hf >> 2] | 0) +
  130381. (c[fg >> 2] << 3) +
  130382. 4) >>
  130383. 2
  130384. ] = c[mg >> 2]),
  130385. (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
  130386. ((c[mg >> 2] | 0) >>> 0 >
  130387. (c[Kf >> 2] | 0) >>> 0
  130388. ? 1
  130389. : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
  130390. 0) ==
  130391. (c[Df >> 2] | 0)) | 0)
  130392. : 0
  130393. ) {
  130394. dj = 82;
  130395. break;
  130396. }
  130397. c[jg >> 2] = (c[jg >> 2] | 0) + 1;
  130398. }
  130399. do {
  130400. if ((dj | 0) == 82) {
  130401. dj = 0;
  130402. c[zf >> 2] = c[fg >> 2];
  130403. } else if ((dj | 0) == 84) {
  130404. dj = 0;
  130405. if (
  130406. (
  130407. (c[Jf >> 2] | 0) == 3
  130408. ? (c[hg >> 2] | 0) >>> 0 <
  130409. (c[Jf >> 2] | 0) >>> 0
  130410. : 0
  130411. )
  130412. ? ((c[og >> 2] =
  130413. nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
  130414. ((c[og >> 2] | 0) >>> 0 >
  130415. (c[ag >> 2] | 0) >>> 0
  130416. ? (((c[Mf >> 2] | 0) -
  130417. (c[og >> 2] | 0)) |
  130418. 0) >>>
  130419. 0 <
  130420. 262144
  130421. : 0) | 0)
  130422. : 0
  130423. ) {
  130424. if (
  130425. c[Ef >> 2] | 0
  130426. ? (c[og >> 2] | 0) >>> 0 <
  130427. (c[Yf >> 2] | 0) >>> 0
  130428. : 0
  130429. ) {
  130430. c[rg >> 2] =
  130431. (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
  130432. c[pg >> 2] =
  130433. Uj(
  130434. c[Cf >> 2] | 0,
  130435. c[rg >> 2] | 0,
  130436. c[Df >> 2] | 0,
  130437. c[Zf >> 2] | 0,
  130438. c[_f >> 2] | 0
  130439. ) | 0;
  130440. } else {
  130441. c[qg >> 2] =
  130442. (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
  130443. c[pg >> 2] =
  130444. Tj(
  130445. c[Cf >> 2] | 0,
  130446. c[qg >> 2] | 0,
  130447. c[Df >> 2] | 0
  130448. ) | 0;
  130449. }
  130450. if (
  130451. (c[pg >> 2] | 0) >>> 0 >=
  130452. (c[Jf >> 2] | 0) >>> 0
  130453. ? ((c[hg >> 2] = c[pg >> 2]),
  130454. (c[c[Hf >> 2] >> 2] =
  130455. (c[Mf >> 2] | 0) -
  130456. (c[og >> 2] | 0) +
  130457. 2),
  130458. (c[((c[Hf >> 2] | 0) + 4) >> 2] =
  130459. c[pg >> 2]),
  130460. (c[fg >> 2] = 1),
  130461. ((c[pg >> 2] | 0) >>> 0 >
  130462. (c[Kf >> 2] | 0) >>> 0
  130463. ? 1
  130464. : (((c[Cf >> 2] | 0) +
  130465. (c[pg >> 2] | 0)) |
  130466. 0) ==
  130467. (c[Df >> 2] | 0)) | 0)
  130468. : 0
  130469. ) {
  130470. c[((c[Af >> 2] | 0) + 24) >> 2] =
  130471. (c[Mf >> 2] | 0) + 1;
  130472. c[zf >> 2] = 1;
  130473. break;
  130474. }
  130475. }
  130476. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
  130477. c[Mf >> 2];
  130478. while (1) {
  130479. aj = c[gg >> 2] | 0;
  130480. c[gg >> 2] = aj + -1;
  130481. if (!aj) break;
  130482. if (
  130483. (c[Rf >> 2] | 0) >>> 0 <=
  130484. (c[ag >> 2] | 0) >>> 0
  130485. )
  130486. break;
  130487. c[sg >> 2] =
  130488. (c[Sf >> 2] | 0) +
  130489. (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
  130490. c[tg >> 2] =
  130491. (c[Vf >> 2] | 0) >>> 0 <
  130492. (c[Wf >> 2] | 0) >>> 0
  130493. ? c[Vf >> 2] | 0
  130494. : c[Wf >> 2] | 0;
  130495. if (
  130496. c[Ef >> 2] | 0
  130497. ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  130498. 0) >>>
  130499. 0 <
  130500. (c[Yf >> 2] | 0) >>> 0
  130501. : 0
  130502. ) {
  130503. c[ug >> 2] =
  130504. (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
  130505. aj =
  130506. Uj(
  130507. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  130508. 0,
  130509. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  130510. 0,
  130511. c[Df >> 2] | 0,
  130512. c[Zf >> 2] | 0,
  130513. c[_f >> 2] | 0
  130514. ) | 0;
  130515. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  130516. if (
  130517. (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  130518. 0) >>>
  130519. 0 >=
  130520. (c[Yf >> 2] | 0) >>> 0
  130521. )
  130522. c[ug >> 2] =
  130523. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  130524. } else {
  130525. c[ug >> 2] =
  130526. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  130527. aj =
  130528. Tj(
  130529. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  130530. 0,
  130531. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  130532. 0,
  130533. c[Df >> 2] | 0
  130534. ) | 0;
  130535. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  130536. }
  130537. if (
  130538. (c[tg >> 2] | 0) >>> 0 >
  130539. (c[hg >> 2] | 0) >>> 0
  130540. ) {
  130541. if (
  130542. (c[tg >> 2] | 0) >>> 0 >
  130543. (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
  130544. 0) >>>
  130545. 0
  130546. )
  130547. c[dg >> 2] =
  130548. (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
  130549. c[hg >> 2] = c[tg >> 2];
  130550. c[
  130551. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  130552. 2
  130553. ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
  130554. c[
  130555. ((c[Hf >> 2] | 0) +
  130556. (c[fg >> 2] << 3) +
  130557. 4) >>
  130558. 2
  130559. ] = c[tg >> 2];
  130560. c[fg >> 2] = (c[fg >> 2] | 0) + 1;
  130561. if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
  130562. if (
  130563. (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  130564. 0) ==
  130565. (c[Df >> 2] | 0)
  130566. )
  130567. break;
  130568. }
  130569. aj = c[Rf >> 2] | 0;
  130570. if (
  130571. (d[
  130572. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  130573. ] |
  130574. 0 |
  130575. 0) <
  130576. (d[
  130577. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  130578. ] |
  130579. 0 |
  130580. 0)
  130581. ) {
  130582. c[c[bg >> 2] >> 2] = aj;
  130583. c[Vf >> 2] = c[tg >> 2];
  130584. if (
  130585. (c[Rf >> 2] | 0) >>> 0 <=
  130586. (c[$f >> 2] | 0) >>> 0
  130587. ) {
  130588. dj = 109;
  130589. break;
  130590. }
  130591. c[bg >> 2] = (c[sg >> 2] | 0) + 4;
  130592. c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
  130593. } else {
  130594. c[c[cg >> 2] >> 2] = aj;
  130595. c[Wf >> 2] = c[tg >> 2];
  130596. if (
  130597. (c[Rf >> 2] | 0) >>> 0 <=
  130598. (c[$f >> 2] | 0) >>> 0
  130599. ) {
  130600. dj = 112;
  130601. break;
  130602. }
  130603. c[cg >> 2] = c[sg >> 2];
  130604. c[Rf >> 2] = c[c[sg >> 2] >> 2];
  130605. }
  130606. }
  130607. if ((dj | 0) == 109) {
  130608. dj = 0;
  130609. c[bg >> 2] = eg;
  130610. } else if ((dj | 0) == 112) {
  130611. dj = 0;
  130612. c[cg >> 2] = eg;
  130613. }
  130614. c[c[cg >> 2] >> 2] = 0;
  130615. c[c[bg >> 2] >> 2] = 0;
  130616. c[((c[Af >> 2] | 0) + 24) >> 2] =
  130617. (c[dg >> 2] | 0) - 8;
  130618. c[zf >> 2] = c[fg >> 2];
  130619. }
  130620. } while (0);
  130621. c[Ah >> 2] = c[zf >> 2];
  130622. break a;
  130623. }
  130624. }
  130625. }
  130626. } while (0);
  130627. c[ki >> 2] = c[Ah >> 2];
  130628. if (!(c[ki >> 2] | 0)) {
  130629. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  130630. continue;
  130631. }
  130632. c[li >> 2] = 0;
  130633. while (1) {
  130634. if ((c[li >> 2] | 0) >>> 0 >= 3) break;
  130635. c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
  130636. c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
  130637. c[li >> 2] = (c[li >> 2] | 0) + 1;
  130638. }
  130639. c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
  130640. c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
  130641. c[mi >> 2] =
  130642. c[
  130643. ((c[ci >> 2] | 0) +
  130644. (((c[ki >> 2] | 0) - 1) << 3) +
  130645. 4) >>
  130646. 2
  130647. ];
  130648. do {
  130649. if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
  130650. c[ni >> 2] =
  130651. om(
  130652. di,
  130653. c[Wh >> 2] | 0,
  130654. c[ii >> 2] | 0,
  130655. c[Th >> 2] | 0
  130656. ) | 0;
  130657. c[oi >> 2] = 0;
  130658. while (1) {
  130659. if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
  130660. break;
  130661. c[
  130662. ((c[bi >> 2] | 0) +
  130663. (((c[oi >> 2] | 0) * 28) | 0) +
  130664. 8) >>
  130665. 2
  130666. ] = 1;
  130667. c[
  130668. ((c[bi >> 2] | 0) +
  130669. (((c[oi >> 2] | 0) * 28) | 0)) >>
  130670. 2
  130671. ] = 1073741824;
  130672. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  130673. }
  130674. c[pi >> 2] = 0;
  130675. while (1) {
  130676. if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
  130677. break;
  130678. c[qi >> 2] =
  130679. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
  130680. c[ri >> 2] =
  130681. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
  130682. pm(
  130683. si,
  130684. c[Nh >> 2] | 0,
  130685. c[qi >> 2] | 0,
  130686. c[ji >> 2] | 0
  130687. );
  130688. while (1) {
  130689. if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
  130690. break;
  130691. aj = c[ni >> 2] | 0;
  130692. Zh = c[oi >> 2] | 0;
  130693. Uh = c[Th >> 2] | 0;
  130694. _i = c[Rh >> 2] | 0;
  130695. c[yd >> 2] = c[qi >> 2];
  130696. c[zd >> 2] = Zh;
  130697. c[Ad >> 2] = Uh;
  130698. c[Bd >> 2] = _i;
  130699. c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
  130700. c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
  130701. if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
  130702. _i =
  130703. ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
  130704. c[xd >> 2] = _i + (c[Dd >> 2] | 0);
  130705. } else {
  130706. _i =
  130707. ((c[Dd >> 2] | 0) +
  130708. (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
  130709. 0;
  130710. c[Cd >> 2] =
  130711. _i -
  130712. (qm(
  130713. ((c[
  130714. ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
  130715. (c[Dd >> 2] << 2)) >>
  130716. 2
  130717. ] |
  130718. 0) +
  130719. 1) |
  130720. 0
  130721. ) |
  130722. 0);
  130723. if (
  130724. ((c[Bd >> 2] | 0) < 2) &
  130725. ((c[Dd >> 2] | 0) >>> 0 >= 20)
  130726. )
  130727. c[Cd >> 2] =
  130728. (c[Cd >> 2] | 0) +
  130729. (((c[Dd >> 2] | 0) - 19) << 1);
  130730. c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
  130731. _i =
  130732. ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
  130733. (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
  130734. 0;
  130735. Uh =
  130736. (_i -
  130737. (qm(
  130738. ((c[
  130739. ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
  130740. (c[Fd >> 2] << 2)) >>
  130741. 2
  130742. ] |
  130743. 0) +
  130744. 1) |
  130745. 0
  130746. ) |
  130747. 0)) |
  130748. 0;
  130749. c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
  130750. c[xd >> 2] = c[Cd >> 2];
  130751. }
  130752. c[ti >> 2] = aj + (c[xd >> 2] | 0);
  130753. c[
  130754. ((c[bi >> 2] | 0) +
  130755. (((c[oi >> 2] | 0) * 28) | 0) +
  130756. 8) >>
  130757. 2
  130758. ] = c[oi >> 2];
  130759. c[
  130760. ((c[bi >> 2] | 0) +
  130761. (((c[oi >> 2] | 0) * 28) | 0) +
  130762. 4) >>
  130763. 2
  130764. ] = c[qi >> 2];
  130765. c[
  130766. ((c[bi >> 2] | 0) +
  130767. (((c[oi >> 2] | 0) * 28) | 0) +
  130768. 12) >>
  130769. 2
  130770. ] = c[ii >> 2];
  130771. c[
  130772. ((c[bi >> 2] | 0) +
  130773. (((c[oi >> 2] | 0) * 28) | 0)) >>
  130774. 2
  130775. ] = c[ti >> 2];
  130776. aj =
  130777. ((c[bi >> 2] | 0) +
  130778. (((c[oi >> 2] | 0) * 28) | 0) +
  130779. 16) |
  130780. 0;
  130781. c[aj >> 2] = c[si >> 2];
  130782. c[(aj + 4) >> 2] = c[(si + 4) >> 2];
  130783. c[(aj + 8) >> 2] = c[(si + 8) >> 2];
  130784. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  130785. }
  130786. c[pi >> 2] = (c[pi >> 2] | 0) + 1;
  130787. }
  130788. c[fi >> 2] = (c[oi >> 2] | 0) - 1;
  130789. c[ei >> 2] = 1;
  130790. b: while (1) {
  130791. if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
  130792. dj = 504;
  130793. break;
  130794. }
  130795. c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
  130796. if (
  130797. (c[
  130798. ((c[bi >> 2] | 0) +
  130799. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  130800. 8) >>
  130801. 2
  130802. ] |
  130803. 0) ==
  130804. 1
  130805. )
  130806. oj =
  130807. ((c[
  130808. ((c[bi >> 2] | 0) +
  130809. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  130810. 12) >>
  130811. 2
  130812. ] |
  130813. 0) +
  130814. 1) |
  130815. 0;
  130816. else oj = 1;
  130817. c[vi >> 2] = oj;
  130818. if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
  130819. aj =
  130820. c[
  130821. ((c[bi >> 2] | 0) +
  130822. (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
  130823. 0) *
  130824. 28) |
  130825. 0)) >>
  130826. 2
  130827. ] | 0;
  130828. c[wi >> 2] =
  130829. aj +
  130830. (sm(
  130831. ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
  130832. c[vi >> 2] | 0,
  130833. c[Th >> 2] | 0
  130834. ) |
  130835. 0);
  130836. } else
  130837. c[wi >> 2] =
  130838. tm(
  130839. di,
  130840. c[Wh >> 2] | 0,
  130841. c[vi >> 2] | 0,
  130842. c[Th >> 2] | 0
  130843. ) | 0;
  130844. if (
  130845. (c[wi >> 2] | 0) <=
  130846. (c[
  130847. ((c[bi >> 2] | 0) +
  130848. (((c[ei >> 2] | 0) * 28) | 0)) >>
  130849. 2
  130850. ] |
  130851. 0)
  130852. ) {
  130853. c[
  130854. ((c[bi >> 2] | 0) +
  130855. (((c[ei >> 2] | 0) * 28) | 0) +
  130856. 8) >>
  130857. 2
  130858. ] = 1;
  130859. c[
  130860. ((c[bi >> 2] | 0) +
  130861. (((c[ei >> 2] | 0) * 28) | 0) +
  130862. 4) >>
  130863. 2
  130864. ] = 0;
  130865. c[
  130866. ((c[bi >> 2] | 0) +
  130867. (((c[ei >> 2] | 0) * 28) | 0) +
  130868. 12) >>
  130869. 2
  130870. ] = c[vi >> 2];
  130871. c[
  130872. ((c[bi >> 2] | 0) +
  130873. (((c[ei >> 2] | 0) * 28) | 0)) >>
  130874. 2
  130875. ] = c[wi >> 2];
  130876. aj =
  130877. ((c[bi >> 2] | 0) +
  130878. (((c[ei >> 2] | 0) * 28) | 0) +
  130879. 16) |
  130880. 0;
  130881. Uh =
  130882. ((c[bi >> 2] | 0) +
  130883. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  130884. 16) |
  130885. 0;
  130886. c[aj >> 2] = c[Uh >> 2];
  130887. c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
  130888. c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
  130889. }
  130890. c: do {
  130891. if (
  130892. (c[ui >> 2] | 0) >>> 0 <=
  130893. (c[Yh >> 2] | 0) >>> 0
  130894. ) {
  130895. if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
  130896. dj = 504;
  130897. break b;
  130898. }
  130899. if (
  130900. (c[Rh >> 2] | 0) == 0
  130901. ? (c[
  130902. ((c[bi >> 2] | 0) +
  130903. (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
  130904. 0)) >>
  130905. 2
  130906. ] |
  130907. 0) <=
  130908. (c[
  130909. ((c[bi >> 2] | 0) +
  130910. (((c[ei >> 2] | 0) * 28) | 0)) >>
  130911. 2
  130912. ] |
  130913. 0)
  130914. : 0
  130915. )
  130916. break;
  130917. c[xi >> 2] =
  130918. ((c[
  130919. ((c[bi >> 2] | 0) +
  130920. (((c[ei >> 2] | 0) * 28) | 0) +
  130921. 8) >>
  130922. 2
  130923. ] |
  130924. 0) !=
  130925. 1) &
  130926. 1;
  130927. if (
  130928. (c[
  130929. ((c[bi >> 2] | 0) +
  130930. (((c[ei >> 2] | 0) * 28) | 0) +
  130931. 8) >>
  130932. 2
  130933. ] |
  130934. 0) ==
  130935. 1
  130936. )
  130937. pj =
  130938. c[
  130939. ((c[bi >> 2] | 0) +
  130940. (((c[ei >> 2] | 0) * 28) | 0) +
  130941. 12) >>
  130942. 2
  130943. ] | 0;
  130944. else pj = 0;
  130945. c[yi >> 2] = pj;
  130946. if (
  130947. (c[ei >> 2] | 0) >>> 0 >
  130948. (c[yi >> 2] | 0) >>> 0
  130949. )
  130950. qj =
  130951. c[
  130952. ((c[bi >> 2] | 0) +
  130953. (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
  130954. 0) *
  130955. 28) |
  130956. 0)) >>
  130957. 2
  130958. ] | 0;
  130959. else qj = 0;
  130960. c[zi >> 2] = qj;
  130961. Uh = c[zi >> 2] | 0;
  130962. c[Ai >> 2] =
  130963. Uh +
  130964. (um(
  130965. ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
  130966. 0,
  130967. c[yi >> 2] | 0,
  130968. c[Th >> 2] | 0
  130969. ) |
  130970. 0);
  130971. Uh = c[Oh >> 2] | 0;
  130972. aj = c[ui >> 2] | 0;
  130973. _i = c[Xh >> 2] | 0;
  130974. Zh = c[Sh >> 2] | 0;
  130975. Zi =
  130976. ((c[bi >> 2] | 0) +
  130977. (((c[ei >> 2] | 0) * 28) | 0) +
  130978. 16) |
  130979. 0;
  130980. Ph = c[xi >> 2] | 0;
  130981. Qh = c[ci >> 2] | 0;
  130982. _h = c[ai >> 2] | 0;
  130983. c[nd >> 2] = c[Lh >> 2];
  130984. c[od >> 2] = Uh;
  130985. c[pd >> 2] = aj;
  130986. c[qd >> 2] = _i;
  130987. c[rd >> 2] = Zh;
  130988. c[sd >> 2] = Zi;
  130989. c[td >> 2] = Ph;
  130990. c[ud >> 2] = Qh;
  130991. c[vd >> 2] = _h;
  130992. c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
  130993. d: do {
  130994. if (
  130995. (c[pd >> 2] | 0) >>> 0 <
  130996. (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
  130997. (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
  130998. 0) >>>
  130999. 0
  131000. )
  131001. c[md >> 2] = 0;
  131002. else {
  131003. _h = c[od >> 2] | 0;
  131004. Qh = c[pd >> 2] | 0;
  131005. Ph = c[qd >> 2] | 0;
  131006. Zi = c[wd >> 2] | 0;
  131007. Zh = c[rd >> 2] | 0;
  131008. c[dd >> 2] = c[nd >> 2];
  131009. c[ed >> 2] = _h;
  131010. c[fd >> 2] = Qh;
  131011. c[gd >> 2] = Ph;
  131012. c[hd >> 2] = Zi;
  131013. c[id >> 2] = Zh;
  131014. c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
  131015. c[kd >> 2] =
  131016. (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
  131017. c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
  131018. while (1) {
  131019. if (
  131020. (c[ld >> 2] | 0) >>> 0 >=
  131021. (c[kd >> 2] | 0) >>> 0
  131022. )
  131023. break;
  131024. Zh =
  131025. Rj(
  131026. c[dd >> 2] | 0,
  131027. c[ed >> 2] | 0,
  131028. ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
  131029. 0,
  131030. c[gd >> 2] | 0,
  131031. c[hd >> 2] | 0,
  131032. c[id >> 2] | 0
  131033. ) | 0;
  131034. c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
  131035. }
  131036. c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
  131037. switch (c[wd >> 2] | 0) {
  131038. case 3: {
  131039. Zh = c[od >> 2] | 0;
  131040. Zi = c[pd >> 2] | 0;
  131041. Ph = c[qd >> 2] | 0;
  131042. Qh = c[rd >> 2] | 0;
  131043. _h = c[sd >> 2] | 0;
  131044. _i = c[td >> 2] | 0;
  131045. aj = c[ud >> 2] | 0;
  131046. Uh = c[vd >> 2] | 0;
  131047. c[ic >> 2] = c[nd >> 2];
  131048. c[jc >> 2] = Zh;
  131049. c[kc >> 2] = Zi;
  131050. c[lc >> 2] = Ph;
  131051. c[mc >> 2] = Qh;
  131052. c[nc >> 2] = _h;
  131053. c[oc >> 2] = _i;
  131054. c[pc >> 2] = aj;
  131055. c[qc >> 2] = Uh;
  131056. c[rc >> 2] = 3;
  131057. if (
  131058. (c[((c[jc >> 2] | 0) + 20) >> 2] |
  131059. 0) >>>
  131060. 0 <
  131061. 4095
  131062. )
  131063. rj =
  131064. c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
  131065. else rj = 4095;
  131066. c[sc >> 2] = rj;
  131067. c[tc >> 2] =
  131068. c[((c[ic >> 2] | 0) + 4) >> 2];
  131069. c[uc >> 2] =
  131070. (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
  131071. c[vc >> 2] =
  131072. c[((c[jc >> 2] | 0) + 8) >> 2];
  131073. c[wc >> 2] =
  131074. (c[rc >> 2] | 0) == 3 ? 3 : 4;
  131075. c[xc >> 2] =
  131076. c[((c[ic >> 2] | 0) + 36) >> 2];
  131077. c[yc >> 2] =
  131078. Sj(
  131079. c[kc >> 2] | 0,
  131080. c[vc >> 2] | 0,
  131081. c[rc >> 2] | 0
  131082. ) | 0;
  131083. c[zc >> 2] =
  131084. c[
  131085. ((c[xc >> 2] | 0) +
  131086. (c[yc >> 2] << 2)) >>
  131087. 2
  131088. ];
  131089. c[Ac >> 2] =
  131090. c[((c[ic >> 2] | 0) + 44) >> 2];
  131091. c[Bc >> 2] =
  131092. (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
  131093. 1;
  131094. c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
  131095. c[Dc >> 2] = 0;
  131096. c[Ec >> 2] = 0;
  131097. c[Fc >> 2] =
  131098. c[((c[ic >> 2] | 0) + 8) >> 2];
  131099. c[Gc >> 2] =
  131100. c[((c[ic >> 2] | 0) + 12) >> 2];
  131101. c[Hc >> 2] =
  131102. (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
  131103. c[Ic >> 2] =
  131104. (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
  131105. if (
  131106. (c[Cc >> 2] | 0) >>> 0 >=
  131107. (c[uc >> 2] | 0) >>> 0
  131108. )
  131109. sj = 0;
  131110. else
  131111. sj =
  131112. ((c[uc >> 2] | 0) -
  131113. (c[Cc >> 2] | 0)) |
  131114. 0;
  131115. c[Jc >> 2] = sj;
  131116. c[Kc >> 2] =
  131117. c[((c[ic >> 2] | 0) + 16) >> 2];
  131118. c[Lc >> 2] =
  131119. (c[Ac >> 2] | 0) +
  131120. (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
  131121. c[Mc >> 2] =
  131122. (c[Ac >> 2] | 0) +
  131123. (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
  131124. 2) +
  131125. 4;
  131126. c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
  131127. c[Pc >> 2] = 0;
  131128. c[Qc >> 2] =
  131129. 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
  131130. c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
  131131. c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
  131132. c[Tc >> 2] = c[oc >> 2];
  131133. while (1) {
  131134. if (
  131135. (c[Tc >> 2] | 0) >>> 0 >=
  131136. (c[Sc >> 2] | 0) >>> 0
  131137. ) {
  131138. dj = 287;
  131139. break;
  131140. }
  131141. Uh = c[nc >> 2] | 0;
  131142. if ((c[Tc >> 2] | 0) == 3)
  131143. tj = ((c[Uh >> 2] | 0) - 1) | 0;
  131144. else
  131145. tj =
  131146. c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
  131147. 0;
  131148. c[Uc >> 2] = tj;
  131149. c[Vc >> 2] =
  131150. (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
  131151. c[Wc >> 2] = 0;
  131152. do {
  131153. if (
  131154. (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
  131155. (((c[uc >> 2] | 0) -
  131156. (c[Gc >> 2] | 0)) |
  131157. 0) >>>
  131158. 0
  131159. ) {
  131160. Uh =
  131161. mm(
  131162. c[kc >> 2] | 0,
  131163. c[wc >> 2] | 0
  131164. ) | 0;
  131165. if (
  131166. (Uh | 0) !=
  131167. (mm(
  131168. ((c[kc >> 2] | 0) +
  131169. (0 - (c[Uc >> 2] | 0))) |
  131170. 0,
  131171. c[wc >> 2] | 0
  131172. ) |
  131173. 0)
  131174. )
  131175. break;
  131176. Uh =
  131177. Tj(
  131178. ((c[kc >> 2] | 0) +
  131179. (c[wc >> 2] | 0)) |
  131180. 0,
  131181. ((c[kc >> 2] | 0) +
  131182. (c[wc >> 2] | 0) +
  131183. (0 - (c[Uc >> 2] | 0))) |
  131184. 0,
  131185. c[lc >> 2] | 0
  131186. ) | 0;
  131187. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  131188. } else {
  131189. c[Xc >> 2] =
  131190. (c[Fc >> 2] | 0) +
  131191. (c[Vc >> 2] | 0);
  131192. if (!(c[mc >> 2] | 0)) break;
  131193. if (
  131194. !(
  131195. ((((c[Gc >> 2] | 0) -
  131196. 1 -
  131197. (c[Vc >> 2] | 0)) |
  131198. 0) >>>
  131199. 0 >=
  131200. 3
  131201. ? (((c[Uc >> 2] | 0) - 1) |
  131202. 0) >>>
  131203. 0 <
  131204. (((c[uc >> 2] | 0) -
  131205. (c[Kc >> 2] | 0)) |
  131206. 0) >>>
  131207. 0
  131208. : 0) | 0
  131209. )
  131210. )
  131211. break;
  131212. Uh =
  131213. mm(
  131214. c[kc >> 2] | 0,
  131215. c[wc >> 2] | 0
  131216. ) | 0;
  131217. if (
  131218. (Uh | 0) !=
  131219. (mm(
  131220. c[Xc >> 2] | 0,
  131221. c[wc >> 2] | 0
  131222. ) |
  131223. 0)
  131224. )
  131225. break;
  131226. Uh =
  131227. Uj(
  131228. ((c[kc >> 2] | 0) +
  131229. (c[wc >> 2] | 0)) |
  131230. 0,
  131231. ((c[Xc >> 2] | 0) +
  131232. (c[wc >> 2] | 0)) |
  131233. 0,
  131234. c[lc >> 2] | 0,
  131235. c[Hc >> 2] | 0,
  131236. c[Ic >> 2] | 0
  131237. ) | 0;
  131238. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  131239. }
  131240. } while (0);
  131241. if (
  131242. (c[Wc >> 2] | 0) >>> 0 >
  131243. (c[Rc >> 2] | 0) >>> 0
  131244. ? ((c[Rc >> 2] = c[Wc >> 2]),
  131245. (c[
  131246. ((c[pc >> 2] | 0) +
  131247. (c[Pc >> 2] << 3)) >>
  131248. 2
  131249. ] =
  131250. (c[Tc >> 2] | 0) -
  131251. (c[oc >> 2] | 0)),
  131252. (c[
  131253. ((c[pc >> 2] | 0) +
  131254. (c[Pc >> 2] << 3) +
  131255. 4) >>
  131256. 2
  131257. ] = c[Wc >> 2]),
  131258. (c[Pc >> 2] =
  131259. (c[Pc >> 2] | 0) + 1),
  131260. ((c[Wc >> 2] | 0) >>> 0 >
  131261. (c[sc >> 2] | 0) >>> 0
  131262. ? 1
  131263. : (((c[kc >> 2] | 0) +
  131264. (c[Wc >> 2] | 0)) |
  131265. 0) ==
  131266. (c[lc >> 2] | 0)) | 0)
  131267. : 0
  131268. ) {
  131269. dj = 285;
  131270. break;
  131271. }
  131272. c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
  131273. }
  131274. e: do {
  131275. if ((dj | 0) == 285) {
  131276. dj = 0;
  131277. c[hc >> 2] = c[Pc >> 2];
  131278. } else if ((dj | 0) == 287) {
  131279. dj = 0;
  131280. do {
  131281. if ((c[rc >> 2] | 0) == 3) {
  131282. if (
  131283. (c[Rc >> 2] | 0) >>> 0 >=
  131284. (c[rc >> 2] | 0) >>> 0
  131285. )
  131286. break;
  131287. c[Yc >> 2] =
  131288. nm(
  131289. c[ic >> 2] | 0,
  131290. c[kc >> 2] | 0
  131291. ) | 0;
  131292. if (
  131293. !(
  131294. ((c[Yc >> 2] | 0) >>> 0 >
  131295. (c[Kc >> 2] | 0) >>> 0
  131296. ? (((c[uc >> 2] | 0) -
  131297. (c[Yc >> 2] | 0)) |
  131298. 0) >>>
  131299. 0 <
  131300. 262144
  131301. : 0) | 0
  131302. )
  131303. )
  131304. break;
  131305. do {
  131306. if (c[mc >> 2] | 0) {
  131307. if (
  131308. (c[Yc >> 2] | 0) >>> 0 >=
  131309. (c[Gc >> 2] | 0) >>> 0
  131310. ) {
  131311. dj = 292;
  131312. break;
  131313. }
  131314. c[$c >> 2] =
  131315. (c[Fc >> 2] | 0) +
  131316. (c[Yc >> 2] | 0);
  131317. c[Zc >> 2] =
  131318. Uj(
  131319. c[kc >> 2] | 0,
  131320. c[$c >> 2] | 0,
  131321. c[lc >> 2] | 0,
  131322. c[Hc >> 2] | 0,
  131323. c[Ic >> 2] | 0
  131324. ) | 0;
  131325. } else dj = 292;
  131326. } while (0);
  131327. if ((dj | 0) == 292) {
  131328. dj = 0;
  131329. c[_c >> 2] =
  131330. (c[tc >> 2] | 0) +
  131331. (c[Yc >> 2] | 0);
  131332. c[Zc >> 2] =
  131333. Tj(
  131334. c[kc >> 2] | 0,
  131335. c[_c >> 2] | 0,
  131336. c[lc >> 2] | 0
  131337. ) | 0;
  131338. }
  131339. if (
  131340. (c[Zc >> 2] | 0) >>> 0 <
  131341. (c[rc >> 2] | 0) >>> 0
  131342. )
  131343. break;
  131344. c[Rc >> 2] = c[Zc >> 2];
  131345. c[c[pc >> 2] >> 2] =
  131346. (c[uc >> 2] | 0) -
  131347. (c[Yc >> 2] | 0) +
  131348. 2;
  131349. c[((c[pc >> 2] | 0) + 4) >> 2] =
  131350. c[Zc >> 2];
  131351. c[Pc >> 2] = 1;
  131352. if (
  131353. !(
  131354. ((c[Zc >> 2] | 0) >>> 0 >
  131355. (c[sc >> 2] | 0) >>> 0
  131356. ? 1
  131357. : (((c[kc >> 2] | 0) +
  131358. (c[Zc >> 2] | 0)) |
  131359. 0) ==
  131360. (c[lc >> 2] | 0)) | 0
  131361. )
  131362. )
  131363. break;
  131364. c[((c[ic >> 2] | 0) + 24) >> 2] =
  131365. (c[uc >> 2] | 0) + 1;
  131366. c[hc >> 2] = 1;
  131367. break e;
  131368. }
  131369. } while (0);
  131370. c[
  131371. ((c[xc >> 2] | 0) +
  131372. (c[yc >> 2] << 2)) >>
  131373. 2
  131374. ] = c[uc >> 2];
  131375. while (1) {
  131376. Uh = c[Qc >> 2] | 0;
  131377. c[Qc >> 2] = Uh + -1;
  131378. if (!Uh) break;
  131379. if (
  131380. (c[zc >> 2] | 0) >>> 0 <=
  131381. (c[Kc >> 2] | 0) >>> 0
  131382. )
  131383. break;
  131384. c[ad >> 2] =
  131385. (c[Ac >> 2] | 0) +
  131386. (((c[zc >> 2] & c[Cc >> 2]) <<
  131387. 1) <<
  131388. 2);
  131389. c[bd >> 2] =
  131390. (c[Dc >> 2] | 0) >>> 0 <
  131391. (c[Ec >> 2] | 0) >>> 0
  131392. ? c[Dc >> 2] | 0
  131393. : c[Ec >> 2] | 0;
  131394. do {
  131395. if (c[mc >> 2] | 0) {
  131396. if (
  131397. (((c[zc >> 2] | 0) +
  131398. (c[bd >> 2] | 0)) |
  131399. 0) >>>
  131400. 0 >=
  131401. (c[Gc >> 2] | 0) >>> 0
  131402. ) {
  131403. dj = 302;
  131404. break;
  131405. }
  131406. c[cd >> 2] =
  131407. (c[Fc >> 2] | 0) +
  131408. (c[zc >> 2] | 0);
  131409. Uh =
  131410. Uj(
  131411. ((c[kc >> 2] | 0) +
  131412. (c[bd >> 2] | 0)) |
  131413. 0,
  131414. ((c[cd >> 2] | 0) +
  131415. (c[bd >> 2] | 0)) |
  131416. 0,
  131417. c[lc >> 2] | 0,
  131418. c[Hc >> 2] | 0,
  131419. c[Ic >> 2] | 0
  131420. ) | 0;
  131421. c[bd >> 2] =
  131422. (c[bd >> 2] | 0) + Uh;
  131423. if (
  131424. (((c[zc >> 2] | 0) +
  131425. (c[bd >> 2] | 0)) |
  131426. 0) >>>
  131427. 0 <
  131428. (c[Gc >> 2] | 0) >>> 0
  131429. )
  131430. break;
  131431. c[cd >> 2] =
  131432. (c[tc >> 2] | 0) +
  131433. (c[zc >> 2] | 0);
  131434. } else dj = 302;
  131435. } while (0);
  131436. if ((dj | 0) == 302) {
  131437. dj = 0;
  131438. c[cd >> 2] =
  131439. (c[tc >> 2] | 0) +
  131440. (c[zc >> 2] | 0);
  131441. Uh =
  131442. Tj(
  131443. ((c[kc >> 2] | 0) +
  131444. (c[bd >> 2] | 0)) |
  131445. 0,
  131446. ((c[cd >> 2] | 0) +
  131447. (c[bd >> 2] | 0)) |
  131448. 0,
  131449. c[lc >> 2] | 0
  131450. ) | 0;
  131451. c[bd >> 2] =
  131452. (c[bd >> 2] | 0) + Uh;
  131453. }
  131454. if (
  131455. (c[bd >> 2] | 0) >>> 0 >
  131456. (c[Rc >> 2] | 0) >>> 0
  131457. ) {
  131458. if (
  131459. (c[bd >> 2] | 0) >>> 0 >
  131460. (((c[Nc >> 2] | 0) -
  131461. (c[zc >> 2] | 0)) |
  131462. 0) >>>
  131463. 0
  131464. )
  131465. c[Nc >> 2] =
  131466. (c[zc >> 2] | 0) +
  131467. (c[bd >> 2] | 0);
  131468. c[Rc >> 2] = c[bd >> 2];
  131469. c[
  131470. ((c[pc >> 2] | 0) +
  131471. (c[Pc >> 2] << 3)) >>
  131472. 2
  131473. ] =
  131474. (c[uc >> 2] | 0) -
  131475. (c[zc >> 2] | 0) +
  131476. 2;
  131477. c[
  131478. ((c[pc >> 2] | 0) +
  131479. (c[Pc >> 2] << 3) +
  131480. 4) >>
  131481. 2
  131482. ] = c[bd >> 2];
  131483. c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
  131484. if ((c[bd >> 2] | 0) >>> 0 > 4096)
  131485. break;
  131486. if (
  131487. (((c[kc >> 2] | 0) +
  131488. (c[bd >> 2] | 0)) |
  131489. 0) ==
  131490. (c[lc >> 2] | 0)
  131491. )
  131492. break;
  131493. }
  131494. Uh = c[zc >> 2] | 0;
  131495. if (
  131496. (d[
  131497. ((c[cd >> 2] | 0) +
  131498. (c[bd >> 2] | 0)) >>
  131499. 0
  131500. ] |
  131501. 0 |
  131502. 0) <
  131503. (d[
  131504. ((c[kc >> 2] | 0) +
  131505. (c[bd >> 2] | 0)) >>
  131506. 0
  131507. ] |
  131508. 0 |
  131509. 0)
  131510. ) {
  131511. c[c[Lc >> 2] >> 2] = Uh;
  131512. c[Dc >> 2] = c[bd >> 2];
  131513. if (
  131514. (c[zc >> 2] | 0) >>> 0 <=
  131515. (c[Jc >> 2] | 0) >>> 0
  131516. ) {
  131517. dj = 312;
  131518. break;
  131519. }
  131520. c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
  131521. c[zc >> 2] =
  131522. c[((c[ad >> 2] | 0) + 4) >> 2];
  131523. } else {
  131524. c[c[Mc >> 2] >> 2] = Uh;
  131525. c[Ec >> 2] = c[bd >> 2];
  131526. if (
  131527. (c[zc >> 2] | 0) >>> 0 <=
  131528. (c[Jc >> 2] | 0) >>> 0
  131529. ) {
  131530. dj = 315;
  131531. break;
  131532. }
  131533. c[Mc >> 2] = c[ad >> 2];
  131534. c[zc >> 2] = c[c[ad >> 2] >> 2];
  131535. }
  131536. }
  131537. if ((dj | 0) == 312) {
  131538. dj = 0;
  131539. c[Lc >> 2] = Oc;
  131540. } else if ((dj | 0) == 315) {
  131541. dj = 0;
  131542. c[Mc >> 2] = Oc;
  131543. }
  131544. c[c[Mc >> 2] >> 2] = 0;
  131545. c[c[Lc >> 2] >> 2] = 0;
  131546. c[((c[ic >> 2] | 0) + 24) >> 2] =
  131547. (c[Nc >> 2] | 0) - 8;
  131548. c[hc >> 2] = c[Pc >> 2];
  131549. }
  131550. } while (0);
  131551. c[md >> 2] = c[hc >> 2];
  131552. break d;
  131553. break;
  131554. }
  131555. case 7:
  131556. case 6: {
  131557. Uh = c[od >> 2] | 0;
  131558. aj = c[pd >> 2] | 0;
  131559. _i = c[qd >> 2] | 0;
  131560. _h = c[rd >> 2] | 0;
  131561. Qh = c[sd >> 2] | 0;
  131562. Ph = c[td >> 2] | 0;
  131563. Zi = c[ud >> 2] | 0;
  131564. Zh = c[vd >> 2] | 0;
  131565. c[u >> 2] = c[nd >> 2];
  131566. c[v >> 2] = Uh;
  131567. c[w >> 2] = aj;
  131568. c[x >> 2] = _i;
  131569. c[y >> 2] = _h;
  131570. c[z >> 2] = Qh;
  131571. c[A >> 2] = Ph;
  131572. c[B >> 2] = Zi;
  131573. c[C >> 2] = Zh;
  131574. c[D >> 2] = 6;
  131575. if (
  131576. (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
  131577. 0 <
  131578. 4095
  131579. )
  131580. uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
  131581. else uj = 4095;
  131582. c[E >> 2] = uj;
  131583. c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
  131584. c[G >> 2] =
  131585. (c[w >> 2] | 0) - (c[F >> 2] | 0);
  131586. c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
  131587. c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
  131588. c[J >> 2] =
  131589. c[((c[u >> 2] | 0) + 36) >> 2];
  131590. c[K >> 2] =
  131591. Sj(
  131592. c[w >> 2] | 0,
  131593. c[H >> 2] | 0,
  131594. c[D >> 2] | 0
  131595. ) | 0;
  131596. c[L >> 2] =
  131597. c[
  131598. ((c[J >> 2] | 0) +
  131599. (c[K >> 2] << 2)) >>
  131600. 2
  131601. ];
  131602. c[M >> 2] =
  131603. c[((c[u >> 2] | 0) + 44) >> 2];
  131604. c[N >> 2] =
  131605. (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
  131606. c[O >> 2] = (1 << c[N >> 2]) - 1;
  131607. c[P >> 2] = 0;
  131608. c[Q >> 2] = 0;
  131609. c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
  131610. c[S >> 2] =
  131611. c[((c[u >> 2] | 0) + 12) >> 2];
  131612. c[T >> 2] =
  131613. (c[R >> 2] | 0) + (c[S >> 2] | 0);
  131614. c[U >> 2] =
  131615. (c[F >> 2] | 0) + (c[S >> 2] | 0);
  131616. if (
  131617. (c[O >> 2] | 0) >>> 0 >=
  131618. (c[G >> 2] | 0) >>> 0
  131619. )
  131620. vj = 0;
  131621. else
  131622. vj =
  131623. ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
  131624. 0;
  131625. c[V >> 2] = vj;
  131626. c[W >> 2] =
  131627. c[((c[u >> 2] | 0) + 16) >> 2];
  131628. c[X >> 2] =
  131629. (c[M >> 2] | 0) +
  131630. (((c[G >> 2] & c[O >> 2]) << 1) << 2);
  131631. c[Y >> 2] =
  131632. (c[M >> 2] | 0) +
  131633. (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
  131634. 4;
  131635. c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
  131636. c[$ >> 2] = 0;
  131637. c[aa >> 2] =
  131638. 1 << c[((c[v >> 2] | 0) + 12) >> 2];
  131639. c[ba >> 2] = (c[C >> 2] | 0) - 1;
  131640. c[ca >> 2] = 3 + (c[A >> 2] | 0);
  131641. c[da >> 2] = c[A >> 2];
  131642. while (1) {
  131643. if (
  131644. (c[da >> 2] | 0) >>> 0 >=
  131645. (c[ca >> 2] | 0) >>> 0
  131646. ) {
  131647. dj = 446;
  131648. break;
  131649. }
  131650. Zh = c[z >> 2] | 0;
  131651. if ((c[da >> 2] | 0) == 3)
  131652. wj = ((c[Zh >> 2] | 0) - 1) | 0;
  131653. else
  131654. wj =
  131655. c[(Zh + (c[da >> 2] << 2)) >> 2] |
  131656. 0;
  131657. c[ea >> 2] = wj;
  131658. c[fa >> 2] =
  131659. (c[G >> 2] | 0) - (c[ea >> 2] | 0);
  131660. c[ga >> 2] = 0;
  131661. do {
  131662. if (
  131663. (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
  131664. (((c[G >> 2] | 0) -
  131665. (c[S >> 2] | 0)) |
  131666. 0) >>>
  131667. 0
  131668. ) {
  131669. Zh =
  131670. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  131671. 0;
  131672. if (
  131673. (Zh | 0) !=
  131674. (mm(
  131675. ((c[w >> 2] | 0) +
  131676. (0 - (c[ea >> 2] | 0))) |
  131677. 0,
  131678. c[I >> 2] | 0
  131679. ) |
  131680. 0)
  131681. )
  131682. break;
  131683. Zh =
  131684. Tj(
  131685. ((c[w >> 2] | 0) +
  131686. (c[I >> 2] | 0)) |
  131687. 0,
  131688. ((c[w >> 2] | 0) +
  131689. (c[I >> 2] | 0) +
  131690. (0 - (c[ea >> 2] | 0))) |
  131691. 0,
  131692. c[x >> 2] | 0
  131693. ) | 0;
  131694. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  131695. } else {
  131696. c[ha >> 2] =
  131697. (c[R >> 2] | 0) +
  131698. (c[fa >> 2] | 0);
  131699. if (!(c[y >> 2] | 0)) break;
  131700. if (
  131701. !(
  131702. ((((c[S >> 2] | 0) -
  131703. 1 -
  131704. (c[fa >> 2] | 0)) |
  131705. 0) >>>
  131706. 0 >=
  131707. 3
  131708. ? (((c[ea >> 2] | 0) - 1) |
  131709. 0) >>>
  131710. 0 <
  131711. (((c[G >> 2] | 0) -
  131712. (c[W >> 2] | 0)) |
  131713. 0) >>>
  131714. 0
  131715. : 0) | 0
  131716. )
  131717. )
  131718. break;
  131719. Zh =
  131720. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  131721. 0;
  131722. if (
  131723. (Zh | 0) !=
  131724. (mm(
  131725. c[ha >> 2] | 0,
  131726. c[I >> 2] | 0
  131727. ) |
  131728. 0)
  131729. )
  131730. break;
  131731. Zh =
  131732. Uj(
  131733. ((c[w >> 2] | 0) +
  131734. (c[I >> 2] | 0)) |
  131735. 0,
  131736. ((c[ha >> 2] | 0) +
  131737. (c[I >> 2] | 0)) |
  131738. 0,
  131739. c[x >> 2] | 0,
  131740. c[T >> 2] | 0,
  131741. c[U >> 2] | 0
  131742. ) | 0;
  131743. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  131744. }
  131745. } while (0);
  131746. if (
  131747. (c[ga >> 2] | 0) >>> 0 >
  131748. (c[ba >> 2] | 0) >>> 0
  131749. ? ((c[ba >> 2] = c[ga >> 2]),
  131750. (c[
  131751. ((c[B >> 2] | 0) +
  131752. (c[$ >> 2] << 3)) >>
  131753. 2
  131754. ] =
  131755. (c[da >> 2] | 0) -
  131756. (c[A >> 2] | 0)),
  131757. (c[
  131758. ((c[B >> 2] | 0) +
  131759. (c[$ >> 2] << 3) +
  131760. 4) >>
  131761. 2
  131762. ] = c[ga >> 2]),
  131763. (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
  131764. ((c[ga >> 2] | 0) >>> 0 >
  131765. (c[E >> 2] | 0) >>> 0
  131766. ? 1
  131767. : (((c[w >> 2] | 0) +
  131768. (c[ga >> 2] | 0)) |
  131769. 0) ==
  131770. (c[x >> 2] | 0)) | 0)
  131771. : 0
  131772. ) {
  131773. dj = 444;
  131774. break;
  131775. }
  131776. c[da >> 2] = (c[da >> 2] | 0) + 1;
  131777. }
  131778. f: do {
  131779. if ((dj | 0) == 444) {
  131780. dj = 0;
  131781. c[t >> 2] = c[$ >> 2];
  131782. } else if ((dj | 0) == 446) {
  131783. dj = 0;
  131784. do {
  131785. if ((c[D >> 2] | 0) == 3) {
  131786. if (
  131787. (c[ba >> 2] | 0) >>> 0 >=
  131788. (c[D >> 2] | 0) >>> 0
  131789. )
  131790. break;
  131791. c[ia >> 2] =
  131792. nm(
  131793. c[u >> 2] | 0,
  131794. c[w >> 2] | 0
  131795. ) | 0;
  131796. if (
  131797. !(
  131798. ((c[ia >> 2] | 0) >>> 0 >
  131799. (c[W >> 2] | 0) >>> 0
  131800. ? (((c[G >> 2] | 0) -
  131801. (c[ia >> 2] | 0)) |
  131802. 0) >>>
  131803. 0 <
  131804. 262144
  131805. : 0) | 0
  131806. )
  131807. )
  131808. break;
  131809. do {
  131810. if (c[y >> 2] | 0) {
  131811. if (
  131812. (c[ia >> 2] | 0) >>> 0 >=
  131813. (c[S >> 2] | 0) >>> 0
  131814. ) {
  131815. dj = 451;
  131816. break;
  131817. }
  131818. c[la >> 2] =
  131819. (c[R >> 2] | 0) +
  131820. (c[ia >> 2] | 0);
  131821. c[ja >> 2] =
  131822. Uj(
  131823. c[w >> 2] | 0,
  131824. c[la >> 2] | 0,
  131825. c[x >> 2] | 0,
  131826. c[T >> 2] | 0,
  131827. c[U >> 2] | 0
  131828. ) | 0;
  131829. } else dj = 451;
  131830. } while (0);
  131831. if ((dj | 0) == 451) {
  131832. dj = 0;
  131833. c[ka >> 2] =
  131834. (c[F >> 2] | 0) +
  131835. (c[ia >> 2] | 0);
  131836. c[ja >> 2] =
  131837. Tj(
  131838. c[w >> 2] | 0,
  131839. c[ka >> 2] | 0,
  131840. c[x >> 2] | 0
  131841. ) | 0;
  131842. }
  131843. if (
  131844. (c[ja >> 2] | 0) >>> 0 <
  131845. (c[D >> 2] | 0) >>> 0
  131846. )
  131847. break;
  131848. c[ba >> 2] = c[ja >> 2];
  131849. c[c[B >> 2] >> 2] =
  131850. (c[G >> 2] | 0) -
  131851. (c[ia >> 2] | 0) +
  131852. 2;
  131853. c[((c[B >> 2] | 0) + 4) >> 2] =
  131854. c[ja >> 2];
  131855. c[$ >> 2] = 1;
  131856. if (
  131857. !(
  131858. ((c[ja >> 2] | 0) >>> 0 >
  131859. (c[E >> 2] | 0) >>> 0
  131860. ? 1
  131861. : (((c[w >> 2] | 0) +
  131862. (c[ja >> 2] | 0)) |
  131863. 0) ==
  131864. (c[x >> 2] | 0)) | 0
  131865. )
  131866. )
  131867. break;
  131868. c[((c[u >> 2] | 0) + 24) >> 2] =
  131869. (c[G >> 2] | 0) + 1;
  131870. c[t >> 2] = 1;
  131871. break f;
  131872. }
  131873. } while (0);
  131874. c[
  131875. ((c[J >> 2] | 0) +
  131876. (c[K >> 2] << 2)) >>
  131877. 2
  131878. ] = c[G >> 2];
  131879. while (1) {
  131880. Zh = c[aa >> 2] | 0;
  131881. c[aa >> 2] = Zh + -1;
  131882. if (!Zh) break;
  131883. if (
  131884. (c[L >> 2] | 0) >>> 0 <=
  131885. (c[W >> 2] | 0) >>> 0
  131886. )
  131887. break;
  131888. c[ma >> 2] =
  131889. (c[M >> 2] | 0) +
  131890. (((c[L >> 2] & c[O >> 2]) << 1) <<
  131891. 2);
  131892. c[na >> 2] =
  131893. (c[P >> 2] | 0) >>> 0 <
  131894. (c[Q >> 2] | 0) >>> 0
  131895. ? c[P >> 2] | 0
  131896. : c[Q >> 2] | 0;
  131897. do {
  131898. if (c[y >> 2] | 0) {
  131899. if (
  131900. (((c[L >> 2] | 0) +
  131901. (c[na >> 2] | 0)) |
  131902. 0) >>>
  131903. 0 >=
  131904. (c[S >> 2] | 0) >>> 0
  131905. ) {
  131906. dj = 461;
  131907. break;
  131908. }
  131909. c[oa >> 2] =
  131910. (c[R >> 2] | 0) +
  131911. (c[L >> 2] | 0);
  131912. Zh =
  131913. Uj(
  131914. ((c[w >> 2] | 0) +
  131915. (c[na >> 2] | 0)) |
  131916. 0,
  131917. ((c[oa >> 2] | 0) +
  131918. (c[na >> 2] | 0)) |
  131919. 0,
  131920. c[x >> 2] | 0,
  131921. c[T >> 2] | 0,
  131922. c[U >> 2] | 0
  131923. ) | 0;
  131924. c[na >> 2] =
  131925. (c[na >> 2] | 0) + Zh;
  131926. if (
  131927. (((c[L >> 2] | 0) +
  131928. (c[na >> 2] | 0)) |
  131929. 0) >>>
  131930. 0 <
  131931. (c[S >> 2] | 0) >>> 0
  131932. )
  131933. break;
  131934. c[oa >> 2] =
  131935. (c[F >> 2] | 0) +
  131936. (c[L >> 2] | 0);
  131937. } else dj = 461;
  131938. } while (0);
  131939. if ((dj | 0) == 461) {
  131940. dj = 0;
  131941. c[oa >> 2] =
  131942. (c[F >> 2] | 0) +
  131943. (c[L >> 2] | 0);
  131944. Zh =
  131945. Tj(
  131946. ((c[w >> 2] | 0) +
  131947. (c[na >> 2] | 0)) |
  131948. 0,
  131949. ((c[oa >> 2] | 0) +
  131950. (c[na >> 2] | 0)) |
  131951. 0,
  131952. c[x >> 2] | 0
  131953. ) | 0;
  131954. c[na >> 2] =
  131955. (c[na >> 2] | 0) + Zh;
  131956. }
  131957. if (
  131958. (c[na >> 2] | 0) >>> 0 >
  131959. (c[ba >> 2] | 0) >>> 0
  131960. ) {
  131961. if (
  131962. (c[na >> 2] | 0) >>> 0 >
  131963. (((c[Z >> 2] | 0) -
  131964. (c[L >> 2] | 0)) |
  131965. 0) >>>
  131966. 0
  131967. )
  131968. c[Z >> 2] =
  131969. (c[L >> 2] | 0) +
  131970. (c[na >> 2] | 0);
  131971. c[ba >> 2] = c[na >> 2];
  131972. c[
  131973. ((c[B >> 2] | 0) +
  131974. (c[$ >> 2] << 3)) >>
  131975. 2
  131976. ] =
  131977. (c[G >> 2] | 0) -
  131978. (c[L >> 2] | 0) +
  131979. 2;
  131980. c[
  131981. ((c[B >> 2] | 0) +
  131982. (c[$ >> 2] << 3) +
  131983. 4) >>
  131984. 2
  131985. ] = c[na >> 2];
  131986. c[$ >> 2] = (c[$ >> 2] | 0) + 1;
  131987. if ((c[na >> 2] | 0) >>> 0 > 4096)
  131988. break;
  131989. if (
  131990. (((c[w >> 2] | 0) +
  131991. (c[na >> 2] | 0)) |
  131992. 0) ==
  131993. (c[x >> 2] | 0)
  131994. )
  131995. break;
  131996. }
  131997. Zh = c[L >> 2] | 0;
  131998. if (
  131999. (d[
  132000. ((c[oa >> 2] | 0) +
  132001. (c[na >> 2] | 0)) >>
  132002. 0
  132003. ] |
  132004. 0 |
  132005. 0) <
  132006. (d[
  132007. ((c[w >> 2] | 0) +
  132008. (c[na >> 2] | 0)) >>
  132009. 0
  132010. ] |
  132011. 0 |
  132012. 0)
  132013. ) {
  132014. c[c[X >> 2] >> 2] = Zh;
  132015. c[P >> 2] = c[na >> 2];
  132016. if (
  132017. (c[L >> 2] | 0) >>> 0 <=
  132018. (c[V >> 2] | 0) >>> 0
  132019. ) {
  132020. dj = 471;
  132021. break;
  132022. }
  132023. c[X >> 2] = (c[ma >> 2] | 0) + 4;
  132024. c[L >> 2] =
  132025. c[((c[ma >> 2] | 0) + 4) >> 2];
  132026. } else {
  132027. c[c[Y >> 2] >> 2] = Zh;
  132028. c[Q >> 2] = c[na >> 2];
  132029. if (
  132030. (c[L >> 2] | 0) >>> 0 <=
  132031. (c[V >> 2] | 0) >>> 0
  132032. ) {
  132033. dj = 474;
  132034. break;
  132035. }
  132036. c[Y >> 2] = c[ma >> 2];
  132037. c[L >> 2] = c[c[ma >> 2] >> 2];
  132038. }
  132039. }
  132040. if ((dj | 0) == 471) {
  132041. dj = 0;
  132042. c[X >> 2] = _;
  132043. } else if ((dj | 0) == 474) {
  132044. dj = 0;
  132045. c[Y >> 2] = _;
  132046. }
  132047. c[c[Y >> 2] >> 2] = 0;
  132048. c[c[X >> 2] >> 2] = 0;
  132049. c[((c[u >> 2] | 0) + 24) >> 2] =
  132050. (c[Z >> 2] | 0) - 8;
  132051. c[t >> 2] = c[$ >> 2];
  132052. }
  132053. } while (0);
  132054. c[md >> 2] = c[t >> 2];
  132055. break d;
  132056. break;
  132057. }
  132058. case 5: {
  132059. Zh = c[od >> 2] | 0;
  132060. Zi = c[pd >> 2] | 0;
  132061. Ph = c[qd >> 2] | 0;
  132062. Qh = c[rd >> 2] | 0;
  132063. _h = c[sd >> 2] | 0;
  132064. _i = c[td >> 2] | 0;
  132065. aj = c[ud >> 2] | 0;
  132066. Uh = c[vd >> 2] | 0;
  132067. c[qa >> 2] = c[nd >> 2];
  132068. c[ra >> 2] = Zh;
  132069. c[sa >> 2] = Zi;
  132070. c[ta >> 2] = Ph;
  132071. c[ua >> 2] = Qh;
  132072. c[va >> 2] = _h;
  132073. c[wa >> 2] = _i;
  132074. c[xa >> 2] = aj;
  132075. c[ya >> 2] = Uh;
  132076. c[za >> 2] = 5;
  132077. if (
  132078. (c[((c[ra >> 2] | 0) + 20) >> 2] |
  132079. 0) >>>
  132080. 0 <
  132081. 4095
  132082. )
  132083. xj =
  132084. c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
  132085. else xj = 4095;
  132086. c[Aa >> 2] = xj;
  132087. c[Ba >> 2] =
  132088. c[((c[qa >> 2] | 0) + 4) >> 2];
  132089. c[Ca >> 2] =
  132090. (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
  132091. c[Da >> 2] =
  132092. c[((c[ra >> 2] | 0) + 8) >> 2];
  132093. c[Ea >> 2] =
  132094. (c[za >> 2] | 0) == 3 ? 3 : 4;
  132095. c[Fa >> 2] =
  132096. c[((c[qa >> 2] | 0) + 36) >> 2];
  132097. c[Ga >> 2] =
  132098. Sj(
  132099. c[sa >> 2] | 0,
  132100. c[Da >> 2] | 0,
  132101. c[za >> 2] | 0
  132102. ) | 0;
  132103. c[Ha >> 2] =
  132104. c[
  132105. ((c[Fa >> 2] | 0) +
  132106. (c[Ga >> 2] << 2)) >>
  132107. 2
  132108. ];
  132109. c[Ia >> 2] =
  132110. c[((c[qa >> 2] | 0) + 44) >> 2];
  132111. c[Ja >> 2] =
  132112. (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
  132113. 1;
  132114. c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
  132115. c[La >> 2] = 0;
  132116. c[Ma >> 2] = 0;
  132117. c[Na >> 2] =
  132118. c[((c[qa >> 2] | 0) + 8) >> 2];
  132119. c[Oa >> 2] =
  132120. c[((c[qa >> 2] | 0) + 12) >> 2];
  132121. c[Pa >> 2] =
  132122. (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
  132123. c[Qa >> 2] =
  132124. (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
  132125. if (
  132126. (c[Ka >> 2] | 0) >>> 0 >=
  132127. (c[Ca >> 2] | 0) >>> 0
  132128. )
  132129. yj = 0;
  132130. else
  132131. yj =
  132132. ((c[Ca >> 2] | 0) -
  132133. (c[Ka >> 2] | 0)) |
  132134. 0;
  132135. c[Ra >> 2] = yj;
  132136. c[Sa >> 2] =
  132137. c[((c[qa >> 2] | 0) + 16) >> 2];
  132138. c[Ta >> 2] =
  132139. (c[Ia >> 2] | 0) +
  132140. (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
  132141. c[Ua >> 2] =
  132142. (c[Ia >> 2] | 0) +
  132143. (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
  132144. 2) +
  132145. 4;
  132146. c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
  132147. c[Xa >> 2] = 0;
  132148. c[Ya >> 2] =
  132149. 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
  132150. c[Za >> 2] = (c[ya >> 2] | 0) - 1;
  132151. c[_a >> 2] = 3 + (c[wa >> 2] | 0);
  132152. c[$a >> 2] = c[wa >> 2];
  132153. while (1) {
  132154. if (
  132155. (c[$a >> 2] | 0) >>> 0 >=
  132156. (c[_a >> 2] | 0) >>> 0
  132157. ) {
  132158. dj = 393;
  132159. break;
  132160. }
  132161. Uh = c[va >> 2] | 0;
  132162. if ((c[$a >> 2] | 0) == 3)
  132163. zj = ((c[Uh >> 2] | 0) - 1) | 0;
  132164. else
  132165. zj =
  132166. c[(Uh + (c[$a >> 2] << 2)) >> 2] |
  132167. 0;
  132168. c[ab >> 2] = zj;
  132169. c[bb >> 2] =
  132170. (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
  132171. c[cb >> 2] = 0;
  132172. do {
  132173. if (
  132174. (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
  132175. (((c[Ca >> 2] | 0) -
  132176. (c[Oa >> 2] | 0)) |
  132177. 0) >>>
  132178. 0
  132179. ) {
  132180. Uh =
  132181. mm(
  132182. c[sa >> 2] | 0,
  132183. c[Ea >> 2] | 0
  132184. ) | 0;
  132185. if (
  132186. (Uh | 0) !=
  132187. (mm(
  132188. ((c[sa >> 2] | 0) +
  132189. (0 - (c[ab >> 2] | 0))) |
  132190. 0,
  132191. c[Ea >> 2] | 0
  132192. ) |
  132193. 0)
  132194. )
  132195. break;
  132196. Uh =
  132197. Tj(
  132198. ((c[sa >> 2] | 0) +
  132199. (c[Ea >> 2] | 0)) |
  132200. 0,
  132201. ((c[sa >> 2] | 0) +
  132202. (c[Ea >> 2] | 0) +
  132203. (0 - (c[ab >> 2] | 0))) |
  132204. 0,
  132205. c[ta >> 2] | 0
  132206. ) | 0;
  132207. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  132208. } else {
  132209. c[db >> 2] =
  132210. (c[Na >> 2] | 0) +
  132211. (c[bb >> 2] | 0);
  132212. if (!(c[ua >> 2] | 0)) break;
  132213. if (
  132214. !(
  132215. ((((c[Oa >> 2] | 0) -
  132216. 1 -
  132217. (c[bb >> 2] | 0)) |
  132218. 0) >>>
  132219. 0 >=
  132220. 3
  132221. ? (((c[ab >> 2] | 0) - 1) |
  132222. 0) >>>
  132223. 0 <
  132224. (((c[Ca >> 2] | 0) -
  132225. (c[Sa >> 2] | 0)) |
  132226. 0) >>>
  132227. 0
  132228. : 0) | 0
  132229. )
  132230. )
  132231. break;
  132232. Uh =
  132233. mm(
  132234. c[sa >> 2] | 0,
  132235. c[Ea >> 2] | 0
  132236. ) | 0;
  132237. if (
  132238. (Uh | 0) !=
  132239. (mm(
  132240. c[db >> 2] | 0,
  132241. c[Ea >> 2] | 0
  132242. ) |
  132243. 0)
  132244. )
  132245. break;
  132246. Uh =
  132247. Uj(
  132248. ((c[sa >> 2] | 0) +
  132249. (c[Ea >> 2] | 0)) |
  132250. 0,
  132251. ((c[db >> 2] | 0) +
  132252. (c[Ea >> 2] | 0)) |
  132253. 0,
  132254. c[ta >> 2] | 0,
  132255. c[Pa >> 2] | 0,
  132256. c[Qa >> 2] | 0
  132257. ) | 0;
  132258. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  132259. }
  132260. } while (0);
  132261. if (
  132262. (c[cb >> 2] | 0) >>> 0 >
  132263. (c[Za >> 2] | 0) >>> 0
  132264. ? ((c[Za >> 2] = c[cb >> 2]),
  132265. (c[
  132266. ((c[xa >> 2] | 0) +
  132267. (c[Xa >> 2] << 3)) >>
  132268. 2
  132269. ] =
  132270. (c[$a >> 2] | 0) -
  132271. (c[wa >> 2] | 0)),
  132272. (c[
  132273. ((c[xa >> 2] | 0) +
  132274. (c[Xa >> 2] << 3) +
  132275. 4) >>
  132276. 2
  132277. ] = c[cb >> 2]),
  132278. (c[Xa >> 2] =
  132279. (c[Xa >> 2] | 0) + 1),
  132280. ((c[cb >> 2] | 0) >>> 0 >
  132281. (c[Aa >> 2] | 0) >>> 0
  132282. ? 1
  132283. : (((c[sa >> 2] | 0) +
  132284. (c[cb >> 2] | 0)) |
  132285. 0) ==
  132286. (c[ta >> 2] | 0)) | 0)
  132287. : 0
  132288. ) {
  132289. dj = 391;
  132290. break;
  132291. }
  132292. c[$a >> 2] = (c[$a >> 2] | 0) + 1;
  132293. }
  132294. g: do {
  132295. if ((dj | 0) == 391) {
  132296. dj = 0;
  132297. c[pa >> 2] = c[Xa >> 2];
  132298. } else if ((dj | 0) == 393) {
  132299. dj = 0;
  132300. do {
  132301. if ((c[za >> 2] | 0) == 3) {
  132302. if (
  132303. (c[Za >> 2] | 0) >>> 0 >=
  132304. (c[za >> 2] | 0) >>> 0
  132305. )
  132306. break;
  132307. c[eb >> 2] =
  132308. nm(
  132309. c[qa >> 2] | 0,
  132310. c[sa >> 2] | 0
  132311. ) | 0;
  132312. if (
  132313. !(
  132314. ((c[eb >> 2] | 0) >>> 0 >
  132315. (c[Sa >> 2] | 0) >>> 0
  132316. ? (((c[Ca >> 2] | 0) -
  132317. (c[eb >> 2] | 0)) |
  132318. 0) >>>
  132319. 0 <
  132320. 262144
  132321. : 0) | 0
  132322. )
  132323. )
  132324. break;
  132325. do {
  132326. if (c[ua >> 2] | 0) {
  132327. if (
  132328. (c[eb >> 2] | 0) >>> 0 >=
  132329. (c[Oa >> 2] | 0) >>> 0
  132330. ) {
  132331. dj = 398;
  132332. break;
  132333. }
  132334. c[hb >> 2] =
  132335. (c[Na >> 2] | 0) +
  132336. (c[eb >> 2] | 0);
  132337. c[fb >> 2] =
  132338. Uj(
  132339. c[sa >> 2] | 0,
  132340. c[hb >> 2] | 0,
  132341. c[ta >> 2] | 0,
  132342. c[Pa >> 2] | 0,
  132343. c[Qa >> 2] | 0
  132344. ) | 0;
  132345. } else dj = 398;
  132346. } while (0);
  132347. if ((dj | 0) == 398) {
  132348. dj = 0;
  132349. c[gb >> 2] =
  132350. (c[Ba >> 2] | 0) +
  132351. (c[eb >> 2] | 0);
  132352. c[fb >> 2] =
  132353. Tj(
  132354. c[sa >> 2] | 0,
  132355. c[gb >> 2] | 0,
  132356. c[ta >> 2] | 0
  132357. ) | 0;
  132358. }
  132359. if (
  132360. (c[fb >> 2] | 0) >>> 0 <
  132361. (c[za >> 2] | 0) >>> 0
  132362. )
  132363. break;
  132364. c[Za >> 2] = c[fb >> 2];
  132365. c[c[xa >> 2] >> 2] =
  132366. (c[Ca >> 2] | 0) -
  132367. (c[eb >> 2] | 0) +
  132368. 2;
  132369. c[((c[xa >> 2] | 0) + 4) >> 2] =
  132370. c[fb >> 2];
  132371. c[Xa >> 2] = 1;
  132372. if (
  132373. !(
  132374. ((c[fb >> 2] | 0) >>> 0 >
  132375. (c[Aa >> 2] | 0) >>> 0
  132376. ? 1
  132377. : (((c[sa >> 2] | 0) +
  132378. (c[fb >> 2] | 0)) |
  132379. 0) ==
  132380. (c[ta >> 2] | 0)) | 0
  132381. )
  132382. )
  132383. break;
  132384. c[((c[qa >> 2] | 0) + 24) >> 2] =
  132385. (c[Ca >> 2] | 0) + 1;
  132386. c[pa >> 2] = 1;
  132387. break g;
  132388. }
  132389. } while (0);
  132390. c[
  132391. ((c[Fa >> 2] | 0) +
  132392. (c[Ga >> 2] << 2)) >>
  132393. 2
  132394. ] = c[Ca >> 2];
  132395. while (1) {
  132396. Uh = c[Ya >> 2] | 0;
  132397. c[Ya >> 2] = Uh + -1;
  132398. if (!Uh) break;
  132399. if (
  132400. (c[Ha >> 2] | 0) >>> 0 <=
  132401. (c[Sa >> 2] | 0) >>> 0
  132402. )
  132403. break;
  132404. c[ib >> 2] =
  132405. (c[Ia >> 2] | 0) +
  132406. (((c[Ha >> 2] & c[Ka >> 2]) <<
  132407. 1) <<
  132408. 2);
  132409. c[jb >> 2] =
  132410. (c[La >> 2] | 0) >>> 0 <
  132411. (c[Ma >> 2] | 0) >>> 0
  132412. ? c[La >> 2] | 0
  132413. : c[Ma >> 2] | 0;
  132414. do {
  132415. if (c[ua >> 2] | 0) {
  132416. if (
  132417. (((c[Ha >> 2] | 0) +
  132418. (c[jb >> 2] | 0)) |
  132419. 0) >>>
  132420. 0 >=
  132421. (c[Oa >> 2] | 0) >>> 0
  132422. ) {
  132423. dj = 408;
  132424. break;
  132425. }
  132426. c[kb >> 2] =
  132427. (c[Na >> 2] | 0) +
  132428. (c[Ha >> 2] | 0);
  132429. Uh =
  132430. Uj(
  132431. ((c[sa >> 2] | 0) +
  132432. (c[jb >> 2] | 0)) |
  132433. 0,
  132434. ((c[kb >> 2] | 0) +
  132435. (c[jb >> 2] | 0)) |
  132436. 0,
  132437. c[ta >> 2] | 0,
  132438. c[Pa >> 2] | 0,
  132439. c[Qa >> 2] | 0
  132440. ) | 0;
  132441. c[jb >> 2] =
  132442. (c[jb >> 2] | 0) + Uh;
  132443. if (
  132444. (((c[Ha >> 2] | 0) +
  132445. (c[jb >> 2] | 0)) |
  132446. 0) >>>
  132447. 0 <
  132448. (c[Oa >> 2] | 0) >>> 0
  132449. )
  132450. break;
  132451. c[kb >> 2] =
  132452. (c[Ba >> 2] | 0) +
  132453. (c[Ha >> 2] | 0);
  132454. } else dj = 408;
  132455. } while (0);
  132456. if ((dj | 0) == 408) {
  132457. dj = 0;
  132458. c[kb >> 2] =
  132459. (c[Ba >> 2] | 0) +
  132460. (c[Ha >> 2] | 0);
  132461. Uh =
  132462. Tj(
  132463. ((c[sa >> 2] | 0) +
  132464. (c[jb >> 2] | 0)) |
  132465. 0,
  132466. ((c[kb >> 2] | 0) +
  132467. (c[jb >> 2] | 0)) |
  132468. 0,
  132469. c[ta >> 2] | 0
  132470. ) | 0;
  132471. c[jb >> 2] =
  132472. (c[jb >> 2] | 0) + Uh;
  132473. }
  132474. if (
  132475. (c[jb >> 2] | 0) >>> 0 >
  132476. (c[Za >> 2] | 0) >>> 0
  132477. ) {
  132478. if (
  132479. (c[jb >> 2] | 0) >>> 0 >
  132480. (((c[Va >> 2] | 0) -
  132481. (c[Ha >> 2] | 0)) |
  132482. 0) >>>
  132483. 0
  132484. )
  132485. c[Va >> 2] =
  132486. (c[Ha >> 2] | 0) +
  132487. (c[jb >> 2] | 0);
  132488. c[Za >> 2] = c[jb >> 2];
  132489. c[
  132490. ((c[xa >> 2] | 0) +
  132491. (c[Xa >> 2] << 3)) >>
  132492. 2
  132493. ] =
  132494. (c[Ca >> 2] | 0) -
  132495. (c[Ha >> 2] | 0) +
  132496. 2;
  132497. c[
  132498. ((c[xa >> 2] | 0) +
  132499. (c[Xa >> 2] << 3) +
  132500. 4) >>
  132501. 2
  132502. ] = c[jb >> 2];
  132503. c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
  132504. if ((c[jb >> 2] | 0) >>> 0 > 4096)
  132505. break;
  132506. if (
  132507. (((c[sa >> 2] | 0) +
  132508. (c[jb >> 2] | 0)) |
  132509. 0) ==
  132510. (c[ta >> 2] | 0)
  132511. )
  132512. break;
  132513. }
  132514. Uh = c[Ha >> 2] | 0;
  132515. if (
  132516. (d[
  132517. ((c[kb >> 2] | 0) +
  132518. (c[jb >> 2] | 0)) >>
  132519. 0
  132520. ] |
  132521. 0 |
  132522. 0) <
  132523. (d[
  132524. ((c[sa >> 2] | 0) +
  132525. (c[jb >> 2] | 0)) >>
  132526. 0
  132527. ] |
  132528. 0 |
  132529. 0)
  132530. ) {
  132531. c[c[Ta >> 2] >> 2] = Uh;
  132532. c[La >> 2] = c[jb >> 2];
  132533. if (
  132534. (c[Ha >> 2] | 0) >>> 0 <=
  132535. (c[Ra >> 2] | 0) >>> 0
  132536. ) {
  132537. dj = 418;
  132538. break;
  132539. }
  132540. c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
  132541. c[Ha >> 2] =
  132542. c[((c[ib >> 2] | 0) + 4) >> 2];
  132543. } else {
  132544. c[c[Ua >> 2] >> 2] = Uh;
  132545. c[Ma >> 2] = c[jb >> 2];
  132546. if (
  132547. (c[Ha >> 2] | 0) >>> 0 <=
  132548. (c[Ra >> 2] | 0) >>> 0
  132549. ) {
  132550. dj = 421;
  132551. break;
  132552. }
  132553. c[Ua >> 2] = c[ib >> 2];
  132554. c[Ha >> 2] = c[c[ib >> 2] >> 2];
  132555. }
  132556. }
  132557. if ((dj | 0) == 418) {
  132558. dj = 0;
  132559. c[Ta >> 2] = Wa;
  132560. } else if ((dj | 0) == 421) {
  132561. dj = 0;
  132562. c[Ua >> 2] = Wa;
  132563. }
  132564. c[c[Ua >> 2] >> 2] = 0;
  132565. c[c[Ta >> 2] >> 2] = 0;
  132566. c[((c[qa >> 2] | 0) + 24) >> 2] =
  132567. (c[Va >> 2] | 0) - 8;
  132568. c[pa >> 2] = c[Xa >> 2];
  132569. }
  132570. } while (0);
  132571. c[md >> 2] = c[pa >> 2];
  132572. break d;
  132573. break;
  132574. }
  132575. default: {
  132576. Uh = c[od >> 2] | 0;
  132577. aj = c[pd >> 2] | 0;
  132578. _i = c[qd >> 2] | 0;
  132579. _h = c[rd >> 2] | 0;
  132580. Qh = c[sd >> 2] | 0;
  132581. Ph = c[td >> 2] | 0;
  132582. Zi = c[ud >> 2] | 0;
  132583. Zh = c[vd >> 2] | 0;
  132584. c[mb >> 2] = c[nd >> 2];
  132585. c[nb >> 2] = Uh;
  132586. c[ob >> 2] = aj;
  132587. c[pb >> 2] = _i;
  132588. c[qb >> 2] = _h;
  132589. c[rb >> 2] = Qh;
  132590. c[sb >> 2] = Ph;
  132591. c[tb >> 2] = Zi;
  132592. c[ub >> 2] = Zh;
  132593. c[vb >> 2] = 4;
  132594. if (
  132595. (c[((c[nb >> 2] | 0) + 20) >> 2] |
  132596. 0) >>>
  132597. 0 <
  132598. 4095
  132599. )
  132600. Aj =
  132601. c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
  132602. else Aj = 4095;
  132603. c[wb >> 2] = Aj;
  132604. c[xb >> 2] =
  132605. c[((c[mb >> 2] | 0) + 4) >> 2];
  132606. c[yb >> 2] =
  132607. (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
  132608. c[zb >> 2] =
  132609. c[((c[nb >> 2] | 0) + 8) >> 2];
  132610. c[Ab >> 2] =
  132611. (c[vb >> 2] | 0) == 3 ? 3 : 4;
  132612. c[Bb >> 2] =
  132613. c[((c[mb >> 2] | 0) + 36) >> 2];
  132614. c[Cb >> 2] =
  132615. Sj(
  132616. c[ob >> 2] | 0,
  132617. c[zb >> 2] | 0,
  132618. c[vb >> 2] | 0
  132619. ) | 0;
  132620. c[Db >> 2] =
  132621. c[
  132622. ((c[Bb >> 2] | 0) +
  132623. (c[Cb >> 2] << 2)) >>
  132624. 2
  132625. ];
  132626. c[Eb >> 2] =
  132627. c[((c[mb >> 2] | 0) + 44) >> 2];
  132628. c[Fb >> 2] =
  132629. (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
  132630. 1;
  132631. c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
  132632. c[Hb >> 2] = 0;
  132633. c[Ib >> 2] = 0;
  132634. c[Jb >> 2] =
  132635. c[((c[mb >> 2] | 0) + 8) >> 2];
  132636. c[Kb >> 2] =
  132637. c[((c[mb >> 2] | 0) + 12) >> 2];
  132638. c[Lb >> 2] =
  132639. (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
  132640. c[Mb >> 2] =
  132641. (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
  132642. if (
  132643. (c[Gb >> 2] | 0) >>> 0 >=
  132644. (c[yb >> 2] | 0) >>> 0
  132645. )
  132646. Bj = 0;
  132647. else
  132648. Bj =
  132649. ((c[yb >> 2] | 0) -
  132650. (c[Gb >> 2] | 0)) |
  132651. 0;
  132652. c[Nb >> 2] = Bj;
  132653. c[Ob >> 2] =
  132654. c[((c[mb >> 2] | 0) + 16) >> 2];
  132655. c[Pb >> 2] =
  132656. (c[Eb >> 2] | 0) +
  132657. (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
  132658. c[Qb >> 2] =
  132659. (c[Eb >> 2] | 0) +
  132660. (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
  132661. 2) +
  132662. 4;
  132663. c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
  132664. c[Tb >> 2] = 0;
  132665. c[Ub >> 2] =
  132666. 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
  132667. c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
  132668. c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
  132669. c[Xb >> 2] = c[sb >> 2];
  132670. while (1) {
  132671. if (
  132672. (c[Xb >> 2] | 0) >>> 0 >=
  132673. (c[Wb >> 2] | 0) >>> 0
  132674. ) {
  132675. dj = 340;
  132676. break;
  132677. }
  132678. Zh = c[rb >> 2] | 0;
  132679. if ((c[Xb >> 2] | 0) == 3)
  132680. Cj = ((c[Zh >> 2] | 0) - 1) | 0;
  132681. else
  132682. Cj =
  132683. c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
  132684. 0;
  132685. c[Yb >> 2] = Cj;
  132686. c[Zb >> 2] =
  132687. (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
  132688. c[_b >> 2] = 0;
  132689. do {
  132690. if (
  132691. (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
  132692. (((c[yb >> 2] | 0) -
  132693. (c[Kb >> 2] | 0)) |
  132694. 0) >>>
  132695. 0
  132696. ) {
  132697. Zh =
  132698. mm(
  132699. c[ob >> 2] | 0,
  132700. c[Ab >> 2] | 0
  132701. ) | 0;
  132702. if (
  132703. (Zh | 0) !=
  132704. (mm(
  132705. ((c[ob >> 2] | 0) +
  132706. (0 - (c[Yb >> 2] | 0))) |
  132707. 0,
  132708. c[Ab >> 2] | 0
  132709. ) |
  132710. 0)
  132711. )
  132712. break;
  132713. Zh =
  132714. Tj(
  132715. ((c[ob >> 2] | 0) +
  132716. (c[Ab >> 2] | 0)) |
  132717. 0,
  132718. ((c[ob >> 2] | 0) +
  132719. (c[Ab >> 2] | 0) +
  132720. (0 - (c[Yb >> 2] | 0))) |
  132721. 0,
  132722. c[pb >> 2] | 0
  132723. ) | 0;
  132724. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  132725. } else {
  132726. c[$b >> 2] =
  132727. (c[Jb >> 2] | 0) +
  132728. (c[Zb >> 2] | 0);
  132729. if (!(c[qb >> 2] | 0)) break;
  132730. if (
  132731. !(
  132732. ((((c[Kb >> 2] | 0) -
  132733. 1 -
  132734. (c[Zb >> 2] | 0)) |
  132735. 0) >>>
  132736. 0 >=
  132737. 3
  132738. ? (((c[Yb >> 2] | 0) - 1) |
  132739. 0) >>>
  132740. 0 <
  132741. (((c[yb >> 2] | 0) -
  132742. (c[Ob >> 2] | 0)) |
  132743. 0) >>>
  132744. 0
  132745. : 0) | 0
  132746. )
  132747. )
  132748. break;
  132749. Zh =
  132750. mm(
  132751. c[ob >> 2] | 0,
  132752. c[Ab >> 2] | 0
  132753. ) | 0;
  132754. if (
  132755. (Zh | 0) !=
  132756. (mm(
  132757. c[$b >> 2] | 0,
  132758. c[Ab >> 2] | 0
  132759. ) |
  132760. 0)
  132761. )
  132762. break;
  132763. Zh =
  132764. Uj(
  132765. ((c[ob >> 2] | 0) +
  132766. (c[Ab >> 2] | 0)) |
  132767. 0,
  132768. ((c[$b >> 2] | 0) +
  132769. (c[Ab >> 2] | 0)) |
  132770. 0,
  132771. c[pb >> 2] | 0,
  132772. c[Lb >> 2] | 0,
  132773. c[Mb >> 2] | 0
  132774. ) | 0;
  132775. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  132776. }
  132777. } while (0);
  132778. if (
  132779. (c[_b >> 2] | 0) >>> 0 >
  132780. (c[Vb >> 2] | 0) >>> 0
  132781. ? ((c[Vb >> 2] = c[_b >> 2]),
  132782. (c[
  132783. ((c[tb >> 2] | 0) +
  132784. (c[Tb >> 2] << 3)) >>
  132785. 2
  132786. ] =
  132787. (c[Xb >> 2] | 0) -
  132788. (c[sb >> 2] | 0)),
  132789. (c[
  132790. ((c[tb >> 2] | 0) +
  132791. (c[Tb >> 2] << 3) +
  132792. 4) >>
  132793. 2
  132794. ] = c[_b >> 2]),
  132795. (c[Tb >> 2] =
  132796. (c[Tb >> 2] | 0) + 1),
  132797. ((c[_b >> 2] | 0) >>> 0 >
  132798. (c[wb >> 2] | 0) >>> 0
  132799. ? 1
  132800. : (((c[ob >> 2] | 0) +
  132801. (c[_b >> 2] | 0)) |
  132802. 0) ==
  132803. (c[pb >> 2] | 0)) | 0)
  132804. : 0
  132805. ) {
  132806. dj = 338;
  132807. break;
  132808. }
  132809. c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
  132810. }
  132811. h: do {
  132812. if ((dj | 0) == 338) {
  132813. dj = 0;
  132814. c[lb >> 2] = c[Tb >> 2];
  132815. } else if ((dj | 0) == 340) {
  132816. dj = 0;
  132817. do {
  132818. if ((c[vb >> 2] | 0) == 3) {
  132819. if (
  132820. (c[Vb >> 2] | 0) >>> 0 >=
  132821. (c[vb >> 2] | 0) >>> 0
  132822. )
  132823. break;
  132824. c[ac >> 2] =
  132825. nm(
  132826. c[mb >> 2] | 0,
  132827. c[ob >> 2] | 0
  132828. ) | 0;
  132829. if (
  132830. !(
  132831. ((c[ac >> 2] | 0) >>> 0 >
  132832. (c[Ob >> 2] | 0) >>> 0
  132833. ? (((c[yb >> 2] | 0) -
  132834. (c[ac >> 2] | 0)) |
  132835. 0) >>>
  132836. 0 <
  132837. 262144
  132838. : 0) | 0
  132839. )
  132840. )
  132841. break;
  132842. do {
  132843. if (c[qb >> 2] | 0) {
  132844. if (
  132845. (c[ac >> 2] | 0) >>> 0 >=
  132846. (c[Kb >> 2] | 0) >>> 0
  132847. ) {
  132848. dj = 345;
  132849. break;
  132850. }
  132851. c[dc >> 2] =
  132852. (c[Jb >> 2] | 0) +
  132853. (c[ac >> 2] | 0);
  132854. c[bc >> 2] =
  132855. Uj(
  132856. c[ob >> 2] | 0,
  132857. c[dc >> 2] | 0,
  132858. c[pb >> 2] | 0,
  132859. c[Lb >> 2] | 0,
  132860. c[Mb >> 2] | 0
  132861. ) | 0;
  132862. } else dj = 345;
  132863. } while (0);
  132864. if ((dj | 0) == 345) {
  132865. dj = 0;
  132866. c[cc >> 2] =
  132867. (c[xb >> 2] | 0) +
  132868. (c[ac >> 2] | 0);
  132869. c[bc >> 2] =
  132870. Tj(
  132871. c[ob >> 2] | 0,
  132872. c[cc >> 2] | 0,
  132873. c[pb >> 2] | 0
  132874. ) | 0;
  132875. }
  132876. if (
  132877. (c[bc >> 2] | 0) >>> 0 <
  132878. (c[vb >> 2] | 0) >>> 0
  132879. )
  132880. break;
  132881. c[Vb >> 2] = c[bc >> 2];
  132882. c[c[tb >> 2] >> 2] =
  132883. (c[yb >> 2] | 0) -
  132884. (c[ac >> 2] | 0) +
  132885. 2;
  132886. c[((c[tb >> 2] | 0) + 4) >> 2] =
  132887. c[bc >> 2];
  132888. c[Tb >> 2] = 1;
  132889. if (
  132890. !(
  132891. ((c[bc >> 2] | 0) >>> 0 >
  132892. (c[wb >> 2] | 0) >>> 0
  132893. ? 1
  132894. : (((c[ob >> 2] | 0) +
  132895. (c[bc >> 2] | 0)) |
  132896. 0) ==
  132897. (c[pb >> 2] | 0)) | 0
  132898. )
  132899. )
  132900. break;
  132901. c[((c[mb >> 2] | 0) + 24) >> 2] =
  132902. (c[yb >> 2] | 0) + 1;
  132903. c[lb >> 2] = 1;
  132904. break h;
  132905. }
  132906. } while (0);
  132907. c[
  132908. ((c[Bb >> 2] | 0) +
  132909. (c[Cb >> 2] << 2)) >>
  132910. 2
  132911. ] = c[yb >> 2];
  132912. while (1) {
  132913. Zh = c[Ub >> 2] | 0;
  132914. c[Ub >> 2] = Zh + -1;
  132915. if (!Zh) break;
  132916. if (
  132917. (c[Db >> 2] | 0) >>> 0 <=
  132918. (c[Ob >> 2] | 0) >>> 0
  132919. )
  132920. break;
  132921. c[ec >> 2] =
  132922. (c[Eb >> 2] | 0) +
  132923. (((c[Db >> 2] & c[Gb >> 2]) <<
  132924. 1) <<
  132925. 2);
  132926. c[fc >> 2] =
  132927. (c[Hb >> 2] | 0) >>> 0 <
  132928. (c[Ib >> 2] | 0) >>> 0
  132929. ? c[Hb >> 2] | 0
  132930. : c[Ib >> 2] | 0;
  132931. do {
  132932. if (c[qb >> 2] | 0) {
  132933. if (
  132934. (((c[Db >> 2] | 0) +
  132935. (c[fc >> 2] | 0)) |
  132936. 0) >>>
  132937. 0 >=
  132938. (c[Kb >> 2] | 0) >>> 0
  132939. ) {
  132940. dj = 355;
  132941. break;
  132942. }
  132943. c[gc >> 2] =
  132944. (c[Jb >> 2] | 0) +
  132945. (c[Db >> 2] | 0);
  132946. Zh =
  132947. Uj(
  132948. ((c[ob >> 2] | 0) +
  132949. (c[fc >> 2] | 0)) |
  132950. 0,
  132951. ((c[gc >> 2] | 0) +
  132952. (c[fc >> 2] | 0)) |
  132953. 0,
  132954. c[pb >> 2] | 0,
  132955. c[Lb >> 2] | 0,
  132956. c[Mb >> 2] | 0
  132957. ) | 0;
  132958. c[fc >> 2] =
  132959. (c[fc >> 2] | 0) + Zh;
  132960. if (
  132961. (((c[Db >> 2] | 0) +
  132962. (c[fc >> 2] | 0)) |
  132963. 0) >>>
  132964. 0 <
  132965. (c[Kb >> 2] | 0) >>> 0
  132966. )
  132967. break;
  132968. c[gc >> 2] =
  132969. (c[xb >> 2] | 0) +
  132970. (c[Db >> 2] | 0);
  132971. } else dj = 355;
  132972. } while (0);
  132973. if ((dj | 0) == 355) {
  132974. dj = 0;
  132975. c[gc >> 2] =
  132976. (c[xb >> 2] | 0) +
  132977. (c[Db >> 2] | 0);
  132978. Zh =
  132979. Tj(
  132980. ((c[ob >> 2] | 0) +
  132981. (c[fc >> 2] | 0)) |
  132982. 0,
  132983. ((c[gc >> 2] | 0) +
  132984. (c[fc >> 2] | 0)) |
  132985. 0,
  132986. c[pb >> 2] | 0
  132987. ) | 0;
  132988. c[fc >> 2] =
  132989. (c[fc >> 2] | 0) + Zh;
  132990. }
  132991. if (
  132992. (c[fc >> 2] | 0) >>> 0 >
  132993. (c[Vb >> 2] | 0) >>> 0
  132994. ) {
  132995. if (
  132996. (c[fc >> 2] | 0) >>> 0 >
  132997. (((c[Rb >> 2] | 0) -
  132998. (c[Db >> 2] | 0)) |
  132999. 0) >>>
  133000. 0
  133001. )
  133002. c[Rb >> 2] =
  133003. (c[Db >> 2] | 0) +
  133004. (c[fc >> 2] | 0);
  133005. c[Vb >> 2] = c[fc >> 2];
  133006. c[
  133007. ((c[tb >> 2] | 0) +
  133008. (c[Tb >> 2] << 3)) >>
  133009. 2
  133010. ] =
  133011. (c[yb >> 2] | 0) -
  133012. (c[Db >> 2] | 0) +
  133013. 2;
  133014. c[
  133015. ((c[tb >> 2] | 0) +
  133016. (c[Tb >> 2] << 3) +
  133017. 4) >>
  133018. 2
  133019. ] = c[fc >> 2];
  133020. c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
  133021. if ((c[fc >> 2] | 0) >>> 0 > 4096)
  133022. break;
  133023. if (
  133024. (((c[ob >> 2] | 0) +
  133025. (c[fc >> 2] | 0)) |
  133026. 0) ==
  133027. (c[pb >> 2] | 0)
  133028. )
  133029. break;
  133030. }
  133031. Zh = c[Db >> 2] | 0;
  133032. if (
  133033. (d[
  133034. ((c[gc >> 2] | 0) +
  133035. (c[fc >> 2] | 0)) >>
  133036. 0
  133037. ] |
  133038. 0 |
  133039. 0) <
  133040. (d[
  133041. ((c[ob >> 2] | 0) +
  133042. (c[fc >> 2] | 0)) >>
  133043. 0
  133044. ] |
  133045. 0 |
  133046. 0)
  133047. ) {
  133048. c[c[Pb >> 2] >> 2] = Zh;
  133049. c[Hb >> 2] = c[fc >> 2];
  133050. if (
  133051. (c[Db >> 2] | 0) >>> 0 <=
  133052. (c[Nb >> 2] | 0) >>> 0
  133053. ) {
  133054. dj = 365;
  133055. break;
  133056. }
  133057. c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
  133058. c[Db >> 2] =
  133059. c[((c[ec >> 2] | 0) + 4) >> 2];
  133060. } else {
  133061. c[c[Qb >> 2] >> 2] = Zh;
  133062. c[Ib >> 2] = c[fc >> 2];
  133063. if (
  133064. (c[Db >> 2] | 0) >>> 0 <=
  133065. (c[Nb >> 2] | 0) >>> 0
  133066. ) {
  133067. dj = 368;
  133068. break;
  133069. }
  133070. c[Qb >> 2] = c[ec >> 2];
  133071. c[Db >> 2] = c[c[ec >> 2] >> 2];
  133072. }
  133073. }
  133074. if ((dj | 0) == 365) {
  133075. dj = 0;
  133076. c[Pb >> 2] = Sb;
  133077. } else if ((dj | 0) == 368) {
  133078. dj = 0;
  133079. c[Qb >> 2] = Sb;
  133080. }
  133081. c[c[Qb >> 2] >> 2] = 0;
  133082. c[c[Pb >> 2] >> 2] = 0;
  133083. c[((c[mb >> 2] | 0) + 24) >> 2] =
  133084. (c[Rb >> 2] | 0) - 8;
  133085. c[lb >> 2] = c[Tb >> 2];
  133086. }
  133087. } while (0);
  133088. c[md >> 2] = c[lb >> 2];
  133089. break d;
  133090. }
  133091. }
  133092. }
  133093. } while (0);
  133094. c[Bi >> 2] = c[md >> 2];
  133095. if (c[Bi >> 2] | 0) {
  133096. c[Di >> 2] =
  133097. c[
  133098. ((c[ci >> 2] | 0) +
  133099. (((c[Bi >> 2] | 0) - 1) << 3) +
  133100. 4) >>
  133101. 2
  133102. ];
  133103. if (
  133104. ((c[Di >> 2] | 0) >>> 0 >
  133105. (c[$h >> 2] | 0) >>> 0
  133106. ? 1
  133107. : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
  133108. 0) >>>
  133109. 0 >=
  133110. 4096) | 0
  133111. ) {
  133112. dj = 481;
  133113. break b;
  133114. }
  133115. c[Ci >> 2] = 0;
  133116. while (1) {
  133117. if (
  133118. (c[Ci >> 2] | 0) >>> 0 >=
  133119. (c[Bi >> 2] | 0) >>> 0
  133120. )
  133121. break c;
  133122. c[Ei >> 2] =
  133123. c[
  133124. ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
  133125. 2
  133126. ];
  133127. pm(
  133128. Fi,
  133129. ((c[bi >> 2] | 0) +
  133130. (((c[ei >> 2] | 0) * 28) | 0) +
  133131. 16) |
  133132. 0,
  133133. c[Ei >> 2] | 0,
  133134. c[xi >> 2] | 0
  133135. );
  133136. c[Gi >> 2] =
  133137. c[
  133138. ((c[ci >> 2] | 0) +
  133139. (c[Ci >> 2] << 3) +
  133140. 4) >>
  133141. 2
  133142. ];
  133143. if ((c[Ci >> 2] | 0) >>> 0 > 0)
  133144. Dj =
  133145. ((c[
  133146. ((c[ci >> 2] | 0) +
  133147. (((c[Ci >> 2] | 0) - 1) << 3) +
  133148. 4) >>
  133149. 2
  133150. ] |
  133151. 0) +
  133152. 1) |
  133153. 0;
  133154. else Dj = c[ai >> 2] | 0;
  133155. c[Hi >> 2] = Dj;
  133156. c[Ii >> 2] = c[Gi >> 2];
  133157. i: while (1) {
  133158. if (
  133159. (c[Ii >> 2] | 0) >>> 0 <
  133160. (c[Hi >> 2] | 0) >>> 0
  133161. )
  133162. break;
  133163. c[Ji >> 2] =
  133164. (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
  133165. Zh = c[Ai >> 2] | 0;
  133166. Zi = c[Ii >> 2] | 0;
  133167. Ph = c[Th >> 2] | 0;
  133168. Qh = c[Rh >> 2] | 0;
  133169. c[k >> 2] = c[Ei >> 2];
  133170. c[m >> 2] = Zi;
  133171. c[n >> 2] = Ph;
  133172. c[o >> 2] = Qh;
  133173. c[q >> 2] =
  133174. qm(((c[k >> 2] | 0) + 1) | 0) | 0;
  133175. c[r >> 2] = (c[m >> 2] | 0) - 3;
  133176. if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
  133177. Qh =
  133178. ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
  133179. 16) |
  133180. 0;
  133181. c[j >> 2] = Qh + (c[q >> 2] | 0);
  133182. } else {
  133183. Qh =
  133184. ((c[q >> 2] | 0) +
  133185. (c[((c[n >> 2] | 0) + 52) >> 2] |
  133186. 0)) |
  133187. 0;
  133188. c[p >> 2] =
  133189. Qh -
  133190. (qm(
  133191. ((c[
  133192. ((c[((c[n >> 2] | 0) + 12) >> 2] |
  133193. 0) +
  133194. (c[q >> 2] << 2)) >>
  133195. 2
  133196. ] |
  133197. 0) +
  133198. 1) |
  133199. 0
  133200. ) |
  133201. 0);
  133202. if (
  133203. ((c[o >> 2] | 0) < 2) &
  133204. ((c[q >> 2] | 0) >>> 0 >= 20)
  133205. )
  133206. c[p >> 2] =
  133207. (c[p >> 2] | 0) +
  133208. (((c[q >> 2] | 0) - 19) << 1);
  133209. c[s >> 2] = rm(c[r >> 2] | 0) | 0;
  133210. Qh =
  133211. ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
  133212. 0) +
  133213. (c[((c[n >> 2] | 0) + 48) >> 2] |
  133214. 0)) |
  133215. 0;
  133216. Ph =
  133217. (Qh -
  133218. (qm(
  133219. ((c[
  133220. ((c[((c[n >> 2] | 0) + 8) >> 2] |
  133221. 0) +
  133222. (c[s >> 2] << 2)) >>
  133223. 2
  133224. ] |
  133225. 0) +
  133226. 1) |
  133227. 0
  133228. ) |
  133229. 0)) |
  133230. 0;
  133231. c[p >> 2] = (c[p >> 2] | 0) + Ph;
  133232. c[j >> 2] = c[p >> 2];
  133233. }
  133234. c[Ki >> 2] = Zh + (c[j >> 2] | 0);
  133235. do {
  133236. if (
  133237. (c[Ji >> 2] | 0) >>> 0 <=
  133238. (c[fi >> 2] | 0) >>> 0
  133239. ) {
  133240. if (
  133241. (c[Ki >> 2] | 0) <
  133242. (c[
  133243. ((c[bi >> 2] | 0) +
  133244. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  133245. 2
  133246. ] |
  133247. 0)
  133248. ) {
  133249. dj = 496;
  133250. break;
  133251. }
  133252. if (!(c[Rh >> 2] | 0)) break i;
  133253. } else dj = 496;
  133254. } while (0);
  133255. if ((dj | 0) == 496) {
  133256. dj = 0;
  133257. while (1) {
  133258. if (
  133259. (c[fi >> 2] | 0) >>> 0 >=
  133260. (c[Ji >> 2] | 0) >>> 0
  133261. )
  133262. break;
  133263. c[
  133264. ((c[bi >> 2] | 0) +
  133265. (((((c[fi >> 2] | 0) + 1) | 0) *
  133266. 28) |
  133267. 0)) >>
  133268. 2
  133269. ] = 1073741824;
  133270. c[fi >> 2] = (c[fi >> 2] | 0) + 1;
  133271. }
  133272. c[
  133273. ((c[bi >> 2] | 0) +
  133274. (((c[Ji >> 2] | 0) * 28) | 0) +
  133275. 8) >>
  133276. 2
  133277. ] = c[Ii >> 2];
  133278. c[
  133279. ((c[bi >> 2] | 0) +
  133280. (((c[Ji >> 2] | 0) * 28) | 0) +
  133281. 4) >>
  133282. 2
  133283. ] = c[Ei >> 2];
  133284. c[
  133285. ((c[bi >> 2] | 0) +
  133286. (((c[Ji >> 2] | 0) * 28) | 0) +
  133287. 12) >>
  133288. 2
  133289. ] = c[yi >> 2];
  133290. c[
  133291. ((c[bi >> 2] | 0) +
  133292. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  133293. 2
  133294. ] = c[Ki >> 2];
  133295. Zh =
  133296. ((c[bi >> 2] | 0) +
  133297. (((c[Ji >> 2] | 0) * 28) | 0) +
  133298. 16) |
  133299. 0;
  133300. c[Zh >> 2] = c[Fi >> 2];
  133301. c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
  133302. c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
  133303. }
  133304. c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
  133305. }
  133306. c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
  133307. }
  133308. }
  133309. }
  133310. } while (0);
  133311. c[ei >> 2] = (c[ei >> 2] | 0) + 1;
  133312. }
  133313. if ((dj | 0) == 481) {
  133314. dj = 0;
  133315. c[gi >> 2] = c[Di >> 2];
  133316. c[hi >> 2] =
  133317. c[
  133318. ((c[ci >> 2] | 0) +
  133319. (((c[Bi >> 2] | 0) - 1) << 3)) >>
  133320. 2
  133321. ];
  133322. c[fi >> 2] = (c[ei >> 2] | 0) + 1;
  133323. break;
  133324. } else if ((dj | 0) == 504) {
  133325. dj = 0;
  133326. c[gi >> 2] =
  133327. c[
  133328. ((c[bi >> 2] | 0) +
  133329. (((c[fi >> 2] | 0) * 28) | 0) +
  133330. 8) >>
  133331. 2
  133332. ];
  133333. c[hi >> 2] =
  133334. c[
  133335. ((c[bi >> 2] | 0) +
  133336. (((c[fi >> 2] | 0) * 28) | 0) +
  133337. 4) >>
  133338. 2
  133339. ];
  133340. c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
  133341. break;
  133342. }
  133343. } else {
  133344. c[gi >> 2] = c[mi >> 2];
  133345. c[hi >> 2] =
  133346. c[
  133347. ((c[ci >> 2] | 0) +
  133348. (((c[ki >> 2] | 0) - 1) << 3)) >>
  133349. 2
  133350. ];
  133351. c[ei >> 2] = 0;
  133352. c[fi >> 2] = 1;
  133353. }
  133354. } while (0);
  133355. c[Li >> 2] = c[gi >> 2];
  133356. c[Mi >> 2] = c[hi >> 2];
  133357. c[Ni >> 2] = c[ei >> 2];
  133358. while (1) {
  133359. c[Oi >> 2] =
  133360. c[
  133361. ((c[bi >> 2] | 0) +
  133362. (((c[Ni >> 2] | 0) * 28) | 0) +
  133363. 8) >>
  133364. 2
  133365. ];
  133366. c[Pi >> 2] =
  133367. c[
  133368. ((c[bi >> 2] | 0) +
  133369. (((c[Ni >> 2] | 0) * 28) | 0) +
  133370. 4) >>
  133371. 2
  133372. ];
  133373. c[
  133374. ((c[bi >> 2] | 0) +
  133375. (((c[Ni >> 2] | 0) * 28) | 0) +
  133376. 8) >>
  133377. 2
  133378. ] = c[Li >> 2];
  133379. c[
  133380. ((c[bi >> 2] | 0) +
  133381. (((c[Ni >> 2] | 0) * 28) | 0) +
  133382. 4) >>
  133383. 2
  133384. ] = c[Mi >> 2];
  133385. c[Li >> 2] = c[Oi >> 2];
  133386. c[Mi >> 2] = c[Pi >> 2];
  133387. if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
  133388. break;
  133389. c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
  133390. }
  133391. c[Qi >> 2] = 0;
  133392. while (1) {
  133393. if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
  133394. break;
  133395. c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  133396. c[Si >> 2] =
  133397. c[
  133398. ((c[bi >> 2] | 0) +
  133399. (((c[Qi >> 2] | 0) * 28) | 0) +
  133400. 8) >>
  133401. 2
  133402. ];
  133403. c[Ti >> 2] =
  133404. c[
  133405. ((c[bi >> 2] | 0) +
  133406. (((c[Qi >> 2] | 0) * 28) | 0) +
  133407. 4) >>
  133408. 2
  133409. ];
  133410. if ((c[Si >> 2] | 0) == 1) {
  133411. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  133412. c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
  133413. continue;
  133414. }
  133415. c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
  133416. c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
  133417. if ((c[Ti >> 2] | 0) >>> 0 < 3) {
  133418. c[Ui >> 2] =
  133419. (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
  133420. if (c[Ui >> 2] | 0) {
  133421. Zh = c[Nh >> 2] | 0;
  133422. if ((c[Ui >> 2] | 0) == 3)
  133423. Ej = ((c[Zh >> 2] | 0) - 1) | 0;
  133424. else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
  133425. c[Vi >> 2] = Ej;
  133426. if ((c[Ui >> 2] | 0) >>> 0 >= 2)
  133427. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  133428. c[((c[Nh >> 2] | 0) + 4) >> 2];
  133429. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  133430. c[c[Nh >> 2] >> 2] = c[Vi >> 2];
  133431. }
  133432. } else {
  133433. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  133434. c[((c[Nh >> 2] | 0) + 4) >> 2];
  133435. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  133436. c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
  133437. }
  133438. vm(
  133439. c[Th >> 2] | 0,
  133440. c[Ri >> 2] | 0,
  133441. c[Wh >> 2] | 0,
  133442. c[Ti >> 2] | 0,
  133443. c[Si >> 2] | 0
  133444. );
  133445. wm(
  133446. c[Mh >> 2] | 0,
  133447. c[Ri >> 2] | 0,
  133448. c[Wh >> 2] | 0,
  133449. c[Ti >> 2] | 0,
  133450. ((c[Si >> 2] | 0) - 3) | 0
  133451. );
  133452. c[Wh >> 2] = c[Vh >> 2];
  133453. }
  133454. xm(c[Th >> 2] | 0);
  133455. }
  133456. l = i;
  133457. return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
  133458. }
  133459. function cm(a, b, e, f, g, h) {
  133460. a = a | 0;
  133461. b = b | 0;
  133462. e = e | 0;
  133463. f = f | 0;
  133464. g = g | 0;
  133465. h = h | 0;
  133466. var i = 0,
  133467. j = 0,
  133468. k = 0,
  133469. m = 0,
  133470. n = 0,
  133471. o = 0,
  133472. p = 0,
  133473. q = 0,
  133474. r = 0,
  133475. s = 0,
  133476. t = 0,
  133477. u = 0,
  133478. v = 0,
  133479. w = 0,
  133480. x = 0,
  133481. y = 0,
  133482. z = 0,
  133483. A = 0,
  133484. B = 0,
  133485. C = 0,
  133486. D = 0,
  133487. E = 0,
  133488. F = 0,
  133489. G = 0,
  133490. H = 0,
  133491. I = 0,
  133492. J = 0,
  133493. K = 0,
  133494. L = 0,
  133495. M = 0,
  133496. N = 0,
  133497. O = 0,
  133498. P = 0,
  133499. Q = 0,
  133500. R = 0,
  133501. S = 0,
  133502. T = 0,
  133503. U = 0,
  133504. V = 0,
  133505. W = 0,
  133506. X = 0,
  133507. Y = 0,
  133508. Z = 0,
  133509. _ = 0,
  133510. $ = 0,
  133511. aa = 0,
  133512. ba = 0,
  133513. ca = 0,
  133514. da = 0,
  133515. ea = 0,
  133516. fa = 0,
  133517. ga = 0,
  133518. ha = 0,
  133519. ia = 0,
  133520. ja = 0,
  133521. ka = 0,
  133522. la = 0,
  133523. ma = 0,
  133524. na = 0,
  133525. oa = 0,
  133526. pa = 0,
  133527. qa = 0,
  133528. ra = 0,
  133529. sa = 0,
  133530. ta = 0,
  133531. ua = 0,
  133532. va = 0,
  133533. wa = 0,
  133534. xa = 0,
  133535. ya = 0,
  133536. za = 0,
  133537. Aa = 0,
  133538. Ba = 0,
  133539. Ca = 0,
  133540. Da = 0,
  133541. Ea = 0,
  133542. Fa = 0,
  133543. Ga = 0,
  133544. Ha = 0,
  133545. Ia = 0,
  133546. Ja = 0,
  133547. Ka = 0,
  133548. La = 0,
  133549. Ma = 0,
  133550. Na = 0,
  133551. Oa = 0,
  133552. Pa = 0,
  133553. Qa = 0,
  133554. Ra = 0,
  133555. Sa = 0,
  133556. Ta = 0,
  133557. Ua = 0,
  133558. Va = 0,
  133559. Wa = 0,
  133560. Xa = 0,
  133561. Ya = 0,
  133562. Za = 0,
  133563. _a = 0,
  133564. $a = 0,
  133565. ab = 0,
  133566. bb = 0,
  133567. cb = 0,
  133568. db = 0,
  133569. eb = 0,
  133570. fb = 0,
  133571. gb = 0,
  133572. hb = 0,
  133573. ib = 0,
  133574. jb = 0,
  133575. kb = 0,
  133576. lb = 0,
  133577. mb = 0,
  133578. nb = 0,
  133579. ob = 0,
  133580. pb = 0,
  133581. qb = 0,
  133582. rb = 0,
  133583. sb = 0,
  133584. tb = 0,
  133585. ub = 0,
  133586. vb = 0,
  133587. wb = 0,
  133588. xb = 0,
  133589. yb = 0,
  133590. zb = 0,
  133591. Ab = 0,
  133592. Bb = 0,
  133593. Cb = 0,
  133594. Db = 0,
  133595. Eb = 0,
  133596. Fb = 0,
  133597. Gb = 0,
  133598. Hb = 0,
  133599. Ib = 0,
  133600. Jb = 0,
  133601. Kb = 0,
  133602. Lb = 0,
  133603. Mb = 0,
  133604. Nb = 0,
  133605. Ob = 0,
  133606. Pb = 0,
  133607. Qb = 0,
  133608. Rb = 0,
  133609. Sb = 0,
  133610. Tb = 0,
  133611. Ub = 0,
  133612. Vb = 0,
  133613. Wb = 0,
  133614. Xb = 0,
  133615. Yb = 0,
  133616. Zb = 0,
  133617. _b = 0,
  133618. $b = 0,
  133619. ac = 0,
  133620. bc = 0,
  133621. cc = 0,
  133622. dc = 0,
  133623. ec = 0,
  133624. fc = 0,
  133625. gc = 0,
  133626. hc = 0,
  133627. ic = 0,
  133628. jc = 0,
  133629. kc = 0,
  133630. lc = 0,
  133631. mc = 0,
  133632. nc = 0,
  133633. oc = 0,
  133634. pc = 0,
  133635. qc = 0,
  133636. rc = 0,
  133637. sc = 0,
  133638. tc = 0,
  133639. uc = 0,
  133640. vc = 0,
  133641. wc = 0,
  133642. xc = 0,
  133643. yc = 0,
  133644. zc = 0,
  133645. Ac = 0,
  133646. Bc = 0,
  133647. Cc = 0,
  133648. Dc = 0,
  133649. Ec = 0,
  133650. Fc = 0,
  133651. Gc = 0,
  133652. Hc = 0,
  133653. Ic = 0,
  133654. Jc = 0,
  133655. Kc = 0,
  133656. Lc = 0,
  133657. Mc = 0,
  133658. Nc = 0,
  133659. Oc = 0,
  133660. Pc = 0,
  133661. Qc = 0,
  133662. Rc = 0,
  133663. Sc = 0,
  133664. Tc = 0,
  133665. Uc = 0,
  133666. Vc = 0,
  133667. Wc = 0,
  133668. Xc = 0,
  133669. Yc = 0,
  133670. Zc = 0,
  133671. _c = 0,
  133672. $c = 0,
  133673. ad = 0,
  133674. bd = 0,
  133675. cd = 0,
  133676. dd = 0,
  133677. ed = 0,
  133678. fd = 0,
  133679. gd = 0,
  133680. hd = 0,
  133681. id = 0,
  133682. jd = 0,
  133683. kd = 0,
  133684. ld = 0,
  133685. md = 0,
  133686. nd = 0,
  133687. od = 0,
  133688. pd = 0,
  133689. qd = 0,
  133690. rd = 0,
  133691. sd = 0,
  133692. td = 0,
  133693. ud = 0,
  133694. vd = 0,
  133695. wd = 0,
  133696. xd = 0,
  133697. yd = 0,
  133698. zd = 0,
  133699. Ad = 0,
  133700. Bd = 0,
  133701. Cd = 0,
  133702. Dd = 0,
  133703. Ed = 0,
  133704. Fd = 0,
  133705. Gd = 0,
  133706. Hd = 0,
  133707. Id = 0,
  133708. Jd = 0,
  133709. Kd = 0,
  133710. Ld = 0,
  133711. Md = 0,
  133712. Nd = 0,
  133713. Od = 0,
  133714. Pd = 0,
  133715. Qd = 0,
  133716. Rd = 0,
  133717. Sd = 0,
  133718. Td = 0,
  133719. Ud = 0,
  133720. Vd = 0,
  133721. Wd = 0,
  133722. Xd = 0,
  133723. Yd = 0,
  133724. Zd = 0,
  133725. _d = 0,
  133726. $d = 0,
  133727. ae = 0,
  133728. be = 0,
  133729. ce = 0,
  133730. de = 0,
  133731. ee = 0,
  133732. fe = 0,
  133733. ge = 0,
  133734. he = 0,
  133735. ie = 0,
  133736. je = 0,
  133737. ke = 0,
  133738. le = 0,
  133739. me = 0,
  133740. ne = 0,
  133741. oe = 0,
  133742. pe = 0,
  133743. qe = 0,
  133744. re = 0,
  133745. se = 0,
  133746. te = 0,
  133747. ue = 0,
  133748. ve = 0,
  133749. we = 0,
  133750. xe = 0,
  133751. ye = 0,
  133752. ze = 0,
  133753. Ae = 0,
  133754. Be = 0,
  133755. Ce = 0,
  133756. De = 0,
  133757. Ee = 0,
  133758. Fe = 0,
  133759. Ge = 0,
  133760. He = 0,
  133761. Ie = 0,
  133762. Je = 0,
  133763. Ke = 0,
  133764. Le = 0,
  133765. Me = 0,
  133766. Ne = 0,
  133767. Oe = 0,
  133768. Pe = 0,
  133769. Qe = 0,
  133770. Re = 0,
  133771. Se = 0,
  133772. Te = 0,
  133773. Ue = 0,
  133774. Ve = 0,
  133775. We = 0,
  133776. Xe = 0,
  133777. Ye = 0,
  133778. Ze = 0,
  133779. _e = 0,
  133780. $e = 0,
  133781. af = 0,
  133782. bf = 0,
  133783. cf = 0,
  133784. df = 0,
  133785. ef = 0,
  133786. ff = 0,
  133787. gf = 0,
  133788. hf = 0,
  133789. jf = 0,
  133790. kf = 0,
  133791. lf = 0,
  133792. mf = 0,
  133793. nf = 0,
  133794. of = 0,
  133795. pf = 0,
  133796. qf = 0,
  133797. rf = 0,
  133798. sf = 0,
  133799. tf = 0,
  133800. uf = 0,
  133801. vf = 0,
  133802. wf = 0,
  133803. xf = 0,
  133804. yf = 0,
  133805. zf = 0,
  133806. Af = 0,
  133807. Bf = 0,
  133808. Cf = 0,
  133809. Df = 0,
  133810. Ef = 0,
  133811. Ff = 0,
  133812. Gf = 0,
  133813. Hf = 0,
  133814. If = 0,
  133815. Jf = 0,
  133816. Kf = 0,
  133817. Lf = 0,
  133818. Mf = 0,
  133819. Nf = 0,
  133820. Of = 0,
  133821. Pf = 0,
  133822. Qf = 0,
  133823. Rf = 0,
  133824. Sf = 0,
  133825. Tf = 0,
  133826. Uf = 0,
  133827. Vf = 0,
  133828. Wf = 0,
  133829. Xf = 0,
  133830. Yf = 0,
  133831. Zf = 0,
  133832. _f = 0,
  133833. $f = 0,
  133834. ag = 0,
  133835. bg = 0,
  133836. cg = 0,
  133837. dg = 0,
  133838. eg = 0,
  133839. fg = 0,
  133840. gg = 0,
  133841. hg = 0,
  133842. ig = 0,
  133843. jg = 0,
  133844. kg = 0,
  133845. lg = 0,
  133846. mg = 0,
  133847. ng = 0,
  133848. og = 0,
  133849. pg = 0,
  133850. qg = 0,
  133851. rg = 0,
  133852. sg = 0,
  133853. tg = 0,
  133854. ug = 0,
  133855. vg = 0,
  133856. wg = 0,
  133857. xg = 0,
  133858. yg = 0,
  133859. zg = 0,
  133860. Ag = 0,
  133861. Bg = 0,
  133862. Cg = 0,
  133863. Dg = 0,
  133864. Eg = 0,
  133865. Fg = 0,
  133866. Gg = 0,
  133867. Hg = 0,
  133868. Ig = 0,
  133869. Jg = 0,
  133870. Kg = 0,
  133871. Lg = 0,
  133872. Mg = 0,
  133873. Ng = 0,
  133874. Og = 0,
  133875. Pg = 0,
  133876. Qg = 0,
  133877. Rg = 0,
  133878. Sg = 0,
  133879. Tg = 0,
  133880. Ug = 0,
  133881. Vg = 0,
  133882. Wg = 0,
  133883. Xg = 0,
  133884. Yg = 0,
  133885. Zg = 0,
  133886. _g = 0,
  133887. $g = 0,
  133888. ah = 0,
  133889. bh = 0,
  133890. ch = 0,
  133891. dh = 0,
  133892. eh = 0,
  133893. fh = 0,
  133894. gh = 0,
  133895. hh = 0,
  133896. ih = 0,
  133897. jh = 0,
  133898. kh = 0,
  133899. lh = 0,
  133900. mh = 0,
  133901. nh = 0,
  133902. oh = 0,
  133903. ph = 0,
  133904. qh = 0,
  133905. rh = 0,
  133906. sh = 0,
  133907. th = 0,
  133908. uh = 0,
  133909. vh = 0,
  133910. wh = 0,
  133911. xh = 0,
  133912. yh = 0,
  133913. zh = 0,
  133914. Ah = 0,
  133915. Bh = 0,
  133916. Ch = 0,
  133917. Dh = 0,
  133918. Eh = 0,
  133919. Fh = 0,
  133920. Gh = 0,
  133921. Hh = 0,
  133922. Ih = 0,
  133923. Jh = 0,
  133924. Kh = 0,
  133925. Lh = 0,
  133926. Mh = 0,
  133927. Nh = 0,
  133928. Oh = 0,
  133929. Ph = 0,
  133930. Qh = 0,
  133931. Rh = 0,
  133932. Sh = 0,
  133933. Th = 0,
  133934. Uh = 0,
  133935. Vh = 0,
  133936. Wh = 0,
  133937. Xh = 0,
  133938. Yh = 0,
  133939. Zh = 0,
  133940. _h = 0,
  133941. $h = 0,
  133942. ai = 0,
  133943. bi = 0,
  133944. ci = 0,
  133945. di = 0,
  133946. ei = 0,
  133947. fi = 0,
  133948. gi = 0,
  133949. hi = 0,
  133950. ii = 0,
  133951. ji = 0,
  133952. ki = 0,
  133953. li = 0,
  133954. mi = 0,
  133955. ni = 0,
  133956. oi = 0,
  133957. pi = 0,
  133958. qi = 0,
  133959. ri = 0,
  133960. si = 0,
  133961. ti = 0,
  133962. ui = 0,
  133963. vi = 0,
  133964. wi = 0,
  133965. xi = 0,
  133966. yi = 0,
  133967. zi = 0,
  133968. Ai = 0,
  133969. Bi = 0,
  133970. Ci = 0,
  133971. Di = 0,
  133972. Ei = 0,
  133973. Fi = 0,
  133974. Gi = 0,
  133975. Hi = 0,
  133976. Ii = 0,
  133977. Ji = 0,
  133978. Ki = 0,
  133979. Li = 0,
  133980. Mi = 0,
  133981. Ni = 0,
  133982. Oi = 0,
  133983. Pi = 0,
  133984. Qi = 0,
  133985. Ri = 0,
  133986. Si = 0,
  133987. Ti = 0,
  133988. Ui = 0,
  133989. Vi = 0,
  133990. Wi = 0,
  133991. Xi = 0,
  133992. Yi = 0,
  133993. Zi = 0,
  133994. _i = 0,
  133995. $i = 0,
  133996. aj = 0,
  133997. bj = 0,
  133998. cj = 0,
  133999. dj = 0,
  134000. ej = 0,
  134001. fj = 0,
  134002. gj = 0,
  134003. hj = 0,
  134004. ij = 0,
  134005. jj = 0,
  134006. kj = 0,
  134007. lj = 0,
  134008. mj = 0,
  134009. nj = 0,
  134010. oj = 0,
  134011. pj = 0,
  134012. qj = 0,
  134013. rj = 0,
  134014. sj = 0,
  134015. tj = 0,
  134016. uj = 0,
  134017. vj = 0,
  134018. wj = 0,
  134019. xj = 0,
  134020. yj = 0,
  134021. zj = 0,
  134022. Aj = 0,
  134023. Bj = 0,
  134024. Cj = 0,
  134025. Dj = 0,
  134026. Ej = 0;
  134027. i = l;
  134028. l = (l + 2144) | 0;
  134029. j = (i + 2136) | 0;
  134030. k = (i + 2132) | 0;
  134031. m = (i + 2128) | 0;
  134032. n = (i + 2124) | 0;
  134033. o = (i + 2120) | 0;
  134034. p = (i + 2116) | 0;
  134035. q = (i + 2112) | 0;
  134036. r = (i + 2108) | 0;
  134037. s = (i + 2104) | 0;
  134038. t = (i + 2100) | 0;
  134039. u = (i + 2096) | 0;
  134040. v = (i + 2092) | 0;
  134041. w = (i + 2088) | 0;
  134042. x = (i + 2084) | 0;
  134043. y = (i + 2080) | 0;
  134044. z = (i + 2076) | 0;
  134045. A = (i + 2072) | 0;
  134046. B = (i + 2068) | 0;
  134047. C = (i + 2064) | 0;
  134048. D = (i + 2060) | 0;
  134049. E = (i + 2056) | 0;
  134050. F = (i + 2052) | 0;
  134051. G = (i + 2048) | 0;
  134052. H = (i + 2044) | 0;
  134053. I = (i + 2040) | 0;
  134054. J = (i + 2036) | 0;
  134055. K = (i + 2032) | 0;
  134056. L = (i + 2028) | 0;
  134057. M = (i + 2024) | 0;
  134058. N = (i + 2020) | 0;
  134059. O = (i + 2016) | 0;
  134060. P = (i + 2012) | 0;
  134061. Q = (i + 2008) | 0;
  134062. R = (i + 2004) | 0;
  134063. S = (i + 2e3) | 0;
  134064. T = (i + 1996) | 0;
  134065. U = (i + 1992) | 0;
  134066. V = (i + 1988) | 0;
  134067. W = (i + 1984) | 0;
  134068. X = (i + 1980) | 0;
  134069. Y = (i + 1976) | 0;
  134070. Z = (i + 1972) | 0;
  134071. _ = (i + 1968) | 0;
  134072. $ = (i + 1964) | 0;
  134073. aa = (i + 1960) | 0;
  134074. ba = (i + 1956) | 0;
  134075. ca = (i + 1952) | 0;
  134076. da = (i + 1948) | 0;
  134077. ea = (i + 1944) | 0;
  134078. fa = (i + 1940) | 0;
  134079. ga = (i + 1936) | 0;
  134080. ha = (i + 1932) | 0;
  134081. ia = (i + 1928) | 0;
  134082. ja = (i + 1924) | 0;
  134083. ka = (i + 1920) | 0;
  134084. la = (i + 1916) | 0;
  134085. ma = (i + 1912) | 0;
  134086. na = (i + 1908) | 0;
  134087. oa = (i + 1904) | 0;
  134088. pa = (i + 1900) | 0;
  134089. qa = (i + 1896) | 0;
  134090. ra = (i + 1892) | 0;
  134091. sa = (i + 1888) | 0;
  134092. ta = (i + 1884) | 0;
  134093. ua = (i + 1880) | 0;
  134094. va = (i + 1876) | 0;
  134095. wa = (i + 1872) | 0;
  134096. xa = (i + 1868) | 0;
  134097. ya = (i + 1864) | 0;
  134098. za = (i + 1860) | 0;
  134099. Aa = (i + 1856) | 0;
  134100. Ba = (i + 1852) | 0;
  134101. Ca = (i + 1848) | 0;
  134102. Da = (i + 1844) | 0;
  134103. Ea = (i + 1840) | 0;
  134104. Fa = (i + 1836) | 0;
  134105. Ga = (i + 1832) | 0;
  134106. Ha = (i + 1828) | 0;
  134107. Ia = (i + 1824) | 0;
  134108. Ja = (i + 1820) | 0;
  134109. Ka = (i + 1816) | 0;
  134110. La = (i + 1812) | 0;
  134111. Ma = (i + 1808) | 0;
  134112. Na = (i + 1804) | 0;
  134113. Oa = (i + 1800) | 0;
  134114. Pa = (i + 1796) | 0;
  134115. Qa = (i + 1792) | 0;
  134116. Ra = (i + 1788) | 0;
  134117. Sa = (i + 1784) | 0;
  134118. Ta = (i + 1780) | 0;
  134119. Ua = (i + 1776) | 0;
  134120. Va = (i + 1772) | 0;
  134121. Wa = (i + 1768) | 0;
  134122. Xa = (i + 1764) | 0;
  134123. Ya = (i + 1760) | 0;
  134124. Za = (i + 1756) | 0;
  134125. _a = (i + 1752) | 0;
  134126. $a = (i + 1748) | 0;
  134127. ab = (i + 1744) | 0;
  134128. bb = (i + 1740) | 0;
  134129. cb = (i + 1736) | 0;
  134130. db = (i + 1732) | 0;
  134131. eb = (i + 1728) | 0;
  134132. fb = (i + 1724) | 0;
  134133. gb = (i + 1720) | 0;
  134134. hb = (i + 1716) | 0;
  134135. ib = (i + 1712) | 0;
  134136. jb = (i + 1708) | 0;
  134137. kb = (i + 1704) | 0;
  134138. lb = (i + 1700) | 0;
  134139. mb = (i + 1696) | 0;
  134140. nb = (i + 1692) | 0;
  134141. ob = (i + 1688) | 0;
  134142. pb = (i + 1684) | 0;
  134143. qb = (i + 1680) | 0;
  134144. rb = (i + 1676) | 0;
  134145. sb = (i + 1672) | 0;
  134146. tb = (i + 1668) | 0;
  134147. ub = (i + 1664) | 0;
  134148. vb = (i + 1660) | 0;
  134149. wb = (i + 1656) | 0;
  134150. xb = (i + 1652) | 0;
  134151. yb = (i + 1648) | 0;
  134152. zb = (i + 1644) | 0;
  134153. Ab = (i + 1640) | 0;
  134154. Bb = (i + 1636) | 0;
  134155. Cb = (i + 1632) | 0;
  134156. Db = (i + 1628) | 0;
  134157. Eb = (i + 1624) | 0;
  134158. Fb = (i + 1620) | 0;
  134159. Gb = (i + 1616) | 0;
  134160. Hb = (i + 1612) | 0;
  134161. Ib = (i + 1608) | 0;
  134162. Jb = (i + 1604) | 0;
  134163. Kb = (i + 1600) | 0;
  134164. Lb = (i + 1596) | 0;
  134165. Mb = (i + 1592) | 0;
  134166. Nb = (i + 1588) | 0;
  134167. Ob = (i + 1584) | 0;
  134168. Pb = (i + 1580) | 0;
  134169. Qb = (i + 1576) | 0;
  134170. Rb = (i + 1572) | 0;
  134171. Sb = (i + 1568) | 0;
  134172. Tb = (i + 1564) | 0;
  134173. Ub = (i + 1560) | 0;
  134174. Vb = (i + 1556) | 0;
  134175. Wb = (i + 1552) | 0;
  134176. Xb = (i + 1548) | 0;
  134177. Yb = (i + 1544) | 0;
  134178. Zb = (i + 1540) | 0;
  134179. _b = (i + 1536) | 0;
  134180. $b = (i + 1532) | 0;
  134181. ac = (i + 1528) | 0;
  134182. bc = (i + 1524) | 0;
  134183. cc = (i + 1520) | 0;
  134184. dc = (i + 1516) | 0;
  134185. ec = (i + 1512) | 0;
  134186. fc = (i + 1508) | 0;
  134187. gc = (i + 1504) | 0;
  134188. hc = (i + 1500) | 0;
  134189. ic = (i + 1496) | 0;
  134190. jc = (i + 1492) | 0;
  134191. kc = (i + 1488) | 0;
  134192. lc = (i + 1484) | 0;
  134193. mc = (i + 1480) | 0;
  134194. nc = (i + 1476) | 0;
  134195. oc = (i + 1472) | 0;
  134196. pc = (i + 1468) | 0;
  134197. qc = (i + 1464) | 0;
  134198. rc = (i + 1460) | 0;
  134199. sc = (i + 1456) | 0;
  134200. tc = (i + 1452) | 0;
  134201. uc = (i + 1448) | 0;
  134202. vc = (i + 1444) | 0;
  134203. wc = (i + 1440) | 0;
  134204. xc = (i + 1436) | 0;
  134205. yc = (i + 1432) | 0;
  134206. zc = (i + 1428) | 0;
  134207. Ac = (i + 1424) | 0;
  134208. Bc = (i + 1420) | 0;
  134209. Cc = (i + 1416) | 0;
  134210. Dc = (i + 1412) | 0;
  134211. Ec = (i + 1408) | 0;
  134212. Fc = (i + 1404) | 0;
  134213. Gc = (i + 1400) | 0;
  134214. Hc = (i + 1396) | 0;
  134215. Ic = (i + 1392) | 0;
  134216. Jc = (i + 1388) | 0;
  134217. Kc = (i + 1384) | 0;
  134218. Lc = (i + 1380) | 0;
  134219. Mc = (i + 1376) | 0;
  134220. Nc = (i + 1372) | 0;
  134221. Oc = (i + 1368) | 0;
  134222. Pc = (i + 1364) | 0;
  134223. Qc = (i + 1360) | 0;
  134224. Rc = (i + 1356) | 0;
  134225. Sc = (i + 1352) | 0;
  134226. Tc = (i + 1348) | 0;
  134227. Uc = (i + 1344) | 0;
  134228. Vc = (i + 1340) | 0;
  134229. Wc = (i + 1336) | 0;
  134230. Xc = (i + 1332) | 0;
  134231. Yc = (i + 1328) | 0;
  134232. Zc = (i + 1324) | 0;
  134233. _c = (i + 1320) | 0;
  134234. $c = (i + 1316) | 0;
  134235. ad = (i + 1312) | 0;
  134236. bd = (i + 1308) | 0;
  134237. cd = (i + 1304) | 0;
  134238. dd = (i + 1300) | 0;
  134239. ed = (i + 1296) | 0;
  134240. fd = (i + 1292) | 0;
  134241. gd = (i + 1288) | 0;
  134242. hd = (i + 1284) | 0;
  134243. id = (i + 1280) | 0;
  134244. jd = (i + 1276) | 0;
  134245. kd = (i + 1272) | 0;
  134246. ld = (i + 1268) | 0;
  134247. md = (i + 1264) | 0;
  134248. nd = (i + 1260) | 0;
  134249. od = (i + 1256) | 0;
  134250. pd = (i + 1252) | 0;
  134251. qd = (i + 1248) | 0;
  134252. rd = (i + 1244) | 0;
  134253. sd = (i + 1240) | 0;
  134254. td = (i + 1236) | 0;
  134255. ud = (i + 1232) | 0;
  134256. vd = (i + 1228) | 0;
  134257. wd = (i + 1224) | 0;
  134258. xd = (i + 1220) | 0;
  134259. yd = (i + 1216) | 0;
  134260. zd = (i + 1212) | 0;
  134261. Ad = (i + 1208) | 0;
  134262. Bd = (i + 1204) | 0;
  134263. Cd = (i + 1200) | 0;
  134264. Dd = (i + 1196) | 0;
  134265. Ed = (i + 1192) | 0;
  134266. Fd = (i + 1188) | 0;
  134267. Gd = (i + 1184) | 0;
  134268. Hd = (i + 1180) | 0;
  134269. Id = (i + 1176) | 0;
  134270. Jd = (i + 1172) | 0;
  134271. Kd = (i + 1168) | 0;
  134272. Ld = (i + 1164) | 0;
  134273. Md = (i + 1160) | 0;
  134274. Nd = (i + 1156) | 0;
  134275. Od = (i + 1152) | 0;
  134276. Pd = (i + 1148) | 0;
  134277. Qd = (i + 1144) | 0;
  134278. Rd = (i + 1140) | 0;
  134279. Sd = (i + 1136) | 0;
  134280. Td = (i + 1132) | 0;
  134281. Ud = (i + 1128) | 0;
  134282. Vd = (i + 1124) | 0;
  134283. Wd = (i + 1120) | 0;
  134284. Xd = (i + 1116) | 0;
  134285. Yd = (i + 1112) | 0;
  134286. Zd = (i + 1108) | 0;
  134287. _d = (i + 1104) | 0;
  134288. $d = (i + 1100) | 0;
  134289. ae = (i + 1096) | 0;
  134290. be = (i + 1092) | 0;
  134291. ce = (i + 1088) | 0;
  134292. de = (i + 1084) | 0;
  134293. ee = (i + 1080) | 0;
  134294. fe = (i + 1076) | 0;
  134295. ge = (i + 1072) | 0;
  134296. he = (i + 1068) | 0;
  134297. ie = (i + 1064) | 0;
  134298. je = (i + 1060) | 0;
  134299. ke = (i + 1056) | 0;
  134300. le = (i + 1052) | 0;
  134301. me = (i + 1048) | 0;
  134302. ne = (i + 1044) | 0;
  134303. oe = (i + 1040) | 0;
  134304. pe = (i + 1036) | 0;
  134305. qe = (i + 1032) | 0;
  134306. re = (i + 1028) | 0;
  134307. se = (i + 1024) | 0;
  134308. te = (i + 1020) | 0;
  134309. ue = (i + 1016) | 0;
  134310. ve = (i + 1012) | 0;
  134311. we = (i + 1008) | 0;
  134312. xe = (i + 1004) | 0;
  134313. ye = (i + 1e3) | 0;
  134314. ze = (i + 996) | 0;
  134315. Ae = (i + 992) | 0;
  134316. Be = (i + 988) | 0;
  134317. Ce = (i + 984) | 0;
  134318. De = (i + 980) | 0;
  134319. Ee = (i + 976) | 0;
  134320. Fe = (i + 972) | 0;
  134321. Ge = (i + 968) | 0;
  134322. He = (i + 964) | 0;
  134323. Ie = (i + 960) | 0;
  134324. Je = (i + 956) | 0;
  134325. Ke = (i + 952) | 0;
  134326. Le = (i + 948) | 0;
  134327. Me = (i + 944) | 0;
  134328. Ne = (i + 940) | 0;
  134329. Oe = (i + 936) | 0;
  134330. Pe = (i + 932) | 0;
  134331. Qe = (i + 928) | 0;
  134332. Re = (i + 924) | 0;
  134333. Se = (i + 920) | 0;
  134334. Te = (i + 916) | 0;
  134335. Ue = (i + 912) | 0;
  134336. Ve = (i + 908) | 0;
  134337. We = (i + 904) | 0;
  134338. Xe = (i + 900) | 0;
  134339. Ye = (i + 896) | 0;
  134340. Ze = (i + 892) | 0;
  134341. _e = (i + 888) | 0;
  134342. $e = (i + 884) | 0;
  134343. af = (i + 880) | 0;
  134344. bf = (i + 876) | 0;
  134345. cf = (i + 872) | 0;
  134346. df = (i + 868) | 0;
  134347. ef = (i + 864) | 0;
  134348. ff = (i + 860) | 0;
  134349. gf = (i + 856) | 0;
  134350. hf = (i + 852) | 0;
  134351. jf = (i + 848) | 0;
  134352. kf = (i + 844) | 0;
  134353. lf = (i + 840) | 0;
  134354. mf = (i + 836) | 0;
  134355. nf = (i + 832) | 0;
  134356. of = (i + 828) | 0;
  134357. pf = (i + 824) | 0;
  134358. qf = (i + 820) | 0;
  134359. rf = (i + 816) | 0;
  134360. sf = (i + 812) | 0;
  134361. tf = (i + 808) | 0;
  134362. uf = (i + 804) | 0;
  134363. vf = (i + 800) | 0;
  134364. wf = (i + 796) | 0;
  134365. xf = (i + 792) | 0;
  134366. yf = (i + 788) | 0;
  134367. zf = (i + 784) | 0;
  134368. Af = (i + 780) | 0;
  134369. Bf = (i + 776) | 0;
  134370. Cf = (i + 772) | 0;
  134371. Df = (i + 768) | 0;
  134372. Ef = (i + 764) | 0;
  134373. Ff = (i + 760) | 0;
  134374. Gf = (i + 756) | 0;
  134375. Hf = (i + 752) | 0;
  134376. If = (i + 748) | 0;
  134377. Jf = (i + 744) | 0;
  134378. Kf = (i + 740) | 0;
  134379. Lf = (i + 736) | 0;
  134380. Mf = (i + 732) | 0;
  134381. Nf = (i + 728) | 0;
  134382. Of = (i + 724) | 0;
  134383. Pf = (i + 720) | 0;
  134384. Qf = (i + 716) | 0;
  134385. Rf = (i + 712) | 0;
  134386. Sf = (i + 708) | 0;
  134387. Tf = (i + 704) | 0;
  134388. Uf = (i + 700) | 0;
  134389. Vf = (i + 696) | 0;
  134390. Wf = (i + 692) | 0;
  134391. Xf = (i + 688) | 0;
  134392. Yf = (i + 684) | 0;
  134393. Zf = (i + 680) | 0;
  134394. _f = (i + 676) | 0;
  134395. $f = (i + 672) | 0;
  134396. ag = (i + 668) | 0;
  134397. bg = (i + 664) | 0;
  134398. cg = (i + 660) | 0;
  134399. dg = (i + 656) | 0;
  134400. eg = (i + 652) | 0;
  134401. fg = (i + 648) | 0;
  134402. gg = (i + 644) | 0;
  134403. hg = (i + 640) | 0;
  134404. ig = (i + 636) | 0;
  134405. jg = (i + 632) | 0;
  134406. kg = (i + 628) | 0;
  134407. lg = (i + 624) | 0;
  134408. mg = (i + 620) | 0;
  134409. ng = (i + 616) | 0;
  134410. og = (i + 612) | 0;
  134411. pg = (i + 608) | 0;
  134412. qg = (i + 604) | 0;
  134413. rg = (i + 600) | 0;
  134414. sg = (i + 596) | 0;
  134415. tg = (i + 592) | 0;
  134416. ug = (i + 588) | 0;
  134417. vg = (i + 584) | 0;
  134418. wg = (i + 580) | 0;
  134419. xg = (i + 576) | 0;
  134420. yg = (i + 572) | 0;
  134421. zg = (i + 568) | 0;
  134422. Ag = (i + 564) | 0;
  134423. Bg = (i + 560) | 0;
  134424. Cg = (i + 556) | 0;
  134425. Dg = (i + 552) | 0;
  134426. Eg = (i + 548) | 0;
  134427. Fg = (i + 544) | 0;
  134428. Gg = (i + 540) | 0;
  134429. Hg = (i + 536) | 0;
  134430. Ig = (i + 532) | 0;
  134431. Jg = (i + 528) | 0;
  134432. Kg = (i + 524) | 0;
  134433. Lg = (i + 520) | 0;
  134434. Mg = (i + 516) | 0;
  134435. Ng = (i + 512) | 0;
  134436. Og = (i + 508) | 0;
  134437. Pg = (i + 504) | 0;
  134438. Qg = (i + 500) | 0;
  134439. Rg = (i + 496) | 0;
  134440. Sg = (i + 492) | 0;
  134441. Tg = (i + 488) | 0;
  134442. Ug = (i + 484) | 0;
  134443. Vg = (i + 480) | 0;
  134444. Wg = (i + 476) | 0;
  134445. Xg = (i + 472) | 0;
  134446. Yg = (i + 468) | 0;
  134447. Zg = (i + 464) | 0;
  134448. _g = (i + 460) | 0;
  134449. $g = (i + 456) | 0;
  134450. ah = (i + 452) | 0;
  134451. bh = (i + 448) | 0;
  134452. ch = (i + 444) | 0;
  134453. dh = (i + 440) | 0;
  134454. eh = (i + 436) | 0;
  134455. fh = (i + 432) | 0;
  134456. gh = (i + 428) | 0;
  134457. hh = (i + 424) | 0;
  134458. ih = (i + 420) | 0;
  134459. jh = (i + 416) | 0;
  134460. kh = (i + 412) | 0;
  134461. lh = (i + 408) | 0;
  134462. mh = (i + 404) | 0;
  134463. nh = (i + 400) | 0;
  134464. oh = (i + 396) | 0;
  134465. ph = (i + 392) | 0;
  134466. qh = (i + 388) | 0;
  134467. rh = (i + 384) | 0;
  134468. sh = (i + 380) | 0;
  134469. th = (i + 376) | 0;
  134470. uh = (i + 372) | 0;
  134471. vh = (i + 368) | 0;
  134472. wh = (i + 364) | 0;
  134473. xh = (i + 360) | 0;
  134474. yh = (i + 356) | 0;
  134475. zh = (i + 352) | 0;
  134476. Ah = (i + 348) | 0;
  134477. Bh = (i + 344) | 0;
  134478. Ch = (i + 340) | 0;
  134479. Dh = (i + 336) | 0;
  134480. Eh = (i + 332) | 0;
  134481. Fh = (i + 328) | 0;
  134482. Gh = (i + 324) | 0;
  134483. Hh = (i + 320) | 0;
  134484. Ih = (i + 316) | 0;
  134485. Jh = (i + 312) | 0;
  134486. Kh = (i + 308) | 0;
  134487. Lh = (i + 304) | 0;
  134488. Mh = (i + 300) | 0;
  134489. Nh = (i + 296) | 0;
  134490. Oh = (i + 292) | 0;
  134491. Ph = (i + 288) | 0;
  134492. Qh = (i + 284) | 0;
  134493. Rh = (i + 280) | 0;
  134494. Sh = (i + 276) | 0;
  134495. Th = (i + 272) | 0;
  134496. Uh = (i + 268) | 0;
  134497. Vh = (i + 264) | 0;
  134498. Wh = (i + 260) | 0;
  134499. Xh = (i + 256) | 0;
  134500. Yh = (i + 252) | 0;
  134501. Zh = (i + 248) | 0;
  134502. _h = (i + 244) | 0;
  134503. $h = (i + 240) | 0;
  134504. ai = (i + 236) | 0;
  134505. bi = (i + 232) | 0;
  134506. ci = (i + 228) | 0;
  134507. di = (i + 216) | 0;
  134508. ei = (i + 212) | 0;
  134509. fi = (i + 208) | 0;
  134510. gi = (i + 204) | 0;
  134511. hi = (i + 200) | 0;
  134512. ii = (i + 196) | 0;
  134513. ji = (i + 192) | 0;
  134514. ki = (i + 188) | 0;
  134515. li = (i + 184) | 0;
  134516. mi = (i + 180) | 0;
  134517. ni = (i + 176) | 0;
  134518. oi = (i + 172) | 0;
  134519. pi = (i + 168) | 0;
  134520. qi = (i + 164) | 0;
  134521. ri = (i + 160) | 0;
  134522. si = (i + 148) | 0;
  134523. ti = (i + 144) | 0;
  134524. ui = (i + 140) | 0;
  134525. vi = (i + 136) | 0;
  134526. wi = (i + 132) | 0;
  134527. xi = (i + 128) | 0;
  134528. yi = (i + 124) | 0;
  134529. zi = (i + 120) | 0;
  134530. Ai = (i + 116) | 0;
  134531. Bi = (i + 112) | 0;
  134532. Ci = (i + 108) | 0;
  134533. Di = (i + 104) | 0;
  134534. Ei = (i + 100) | 0;
  134535. Fi = (i + 88) | 0;
  134536. Gi = (i + 84) | 0;
  134537. Hi = (i + 80) | 0;
  134538. Ii = (i + 76) | 0;
  134539. Ji = (i + 72) | 0;
  134540. Ki = (i + 68) | 0;
  134541. Li = (i + 64) | 0;
  134542. Mi = (i + 60) | 0;
  134543. Ni = (i + 56) | 0;
  134544. Oi = (i + 52) | 0;
  134545. Pi = (i + 48) | 0;
  134546. Qi = (i + 44) | 0;
  134547. Ri = (i + 40) | 0;
  134548. Si = (i + 36) | 0;
  134549. Ti = (i + 32) | 0;
  134550. Ui = (i + 28) | 0;
  134551. Vi = (i + 24) | 0;
  134552. Wi = (i + 20) | 0;
  134553. Xi = (i + 16) | 0;
  134554. Yi = (i + 12) | 0;
  134555. Zi = (i + 8) | 0;
  134556. _i = (i + 4) | 0;
  134557. $i = i;
  134558. c[Wi >> 2] = a;
  134559. c[Xi >> 2] = b;
  134560. c[Yi >> 2] = e;
  134561. c[Zi >> 2] = f;
  134562. c[_i >> 2] = g;
  134563. c[$i >> 2] = h;
  134564. h = c[Xi >> 2] | 0;
  134565. Xi = c[Yi >> 2] | 0;
  134566. Yi = c[Zi >> 2] | 0;
  134567. Zi = c[_i >> 2] | 0;
  134568. _i = c[$i >> 2] | 0;
  134569. c[Lh >> 2] = c[Wi >> 2];
  134570. c[Mh >> 2] = h;
  134571. c[Nh >> 2] = Xi;
  134572. c[Oh >> 2] = Yi;
  134573. c[Ph >> 2] = Zi;
  134574. c[Qh >> 2] = _i;
  134575. c[Rh >> 2] = 2;
  134576. c[Sh >> 2] = 0;
  134577. c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
  134578. c[Uh >> 2] = c[Ph >> 2];
  134579. c[Vh >> 2] = c[Uh >> 2];
  134580. c[Wh >> 2] = c[Uh >> 2];
  134581. c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
  134582. c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
  134583. c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
  134584. c[_h >> 2] =
  134585. (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
  134586. if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
  134587. aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
  134588. else aj = 4095;
  134589. c[$h >> 2] = aj;
  134590. c[ai >> 2] =
  134591. (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
  134592. c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
  134593. c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
  134594. c[((c[Lh >> 2] | 0) + 28) >> 2] =
  134595. c[((c[Lh >> 2] | 0) + 24) >> 2];
  134596. lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
  134597. c[Vh >> 2] =
  134598. (c[Vh >> 2] | 0) +
  134599. (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
  134600. c[di >> 2] = 0;
  134601. c[(di + 4) >> 2] = 0;
  134602. c[(di + 8) >> 2] = 0;
  134603. while (1) {
  134604. if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
  134605. c[fi >> 2] = 0;
  134606. c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  134607. c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
  134608. _h = c[Oh >> 2] | 0;
  134609. Qh = c[Vh >> 2] | 0;
  134610. Ph = c[Xh >> 2] | 0;
  134611. aj = c[Sh >> 2] | 0;
  134612. Zh = c[Nh >> 2] | 0;
  134613. Uh = c[ji >> 2] | 0;
  134614. _i = c[ci >> 2] | 0;
  134615. Zi = c[ai >> 2] | 0;
  134616. c[Bh >> 2] = c[Lh >> 2];
  134617. c[Ch >> 2] = _h;
  134618. c[Dh >> 2] = Qh;
  134619. c[Eh >> 2] = Ph;
  134620. c[Fh >> 2] = aj;
  134621. c[Gh >> 2] = Zh;
  134622. c[Hh >> 2] = Uh;
  134623. c[Ih >> 2] = _i;
  134624. c[Jh >> 2] = Zi;
  134625. c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
  134626. a: do {
  134627. if (
  134628. (c[Dh >> 2] | 0) >>> 0 <
  134629. (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
  134630. (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
  134631. 0) >>>
  134632. 0
  134633. )
  134634. c[Ah >> 2] = 0;
  134635. else {
  134636. Zi = c[Ch >> 2] | 0;
  134637. _i = c[Dh >> 2] | 0;
  134638. Uh = c[Eh >> 2] | 0;
  134639. Zh = c[Kh >> 2] | 0;
  134640. aj = c[Fh >> 2] | 0;
  134641. c[rh >> 2] = c[Bh >> 2];
  134642. c[sh >> 2] = Zi;
  134643. c[th >> 2] = _i;
  134644. c[uh >> 2] = Uh;
  134645. c[vh >> 2] = Zh;
  134646. c[wh >> 2] = aj;
  134647. c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
  134648. c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
  134649. c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
  134650. while (1) {
  134651. if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
  134652. break;
  134653. aj =
  134654. Rj(
  134655. c[rh >> 2] | 0,
  134656. c[sh >> 2] | 0,
  134657. ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
  134658. c[uh >> 2] | 0,
  134659. c[vh >> 2] | 0,
  134660. c[wh >> 2] | 0
  134661. ) | 0;
  134662. c[zh >> 2] = (c[zh >> 2] | 0) + aj;
  134663. }
  134664. c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
  134665. switch (c[Kh >> 2] | 0) {
  134666. case 3: {
  134667. aj = c[Ch >> 2] | 0;
  134668. Zh = c[Dh >> 2] | 0;
  134669. Uh = c[Eh >> 2] | 0;
  134670. _i = c[Fh >> 2] | 0;
  134671. Zi = c[Gh >> 2] | 0;
  134672. Ph = c[Hh >> 2] | 0;
  134673. Qh = c[Ih >> 2] | 0;
  134674. _h = c[Jh >> 2] | 0;
  134675. c[wg >> 2] = c[Bh >> 2];
  134676. c[xg >> 2] = aj;
  134677. c[yg >> 2] = Zh;
  134678. c[zg >> 2] = Uh;
  134679. c[Ag >> 2] = _i;
  134680. c[Bg >> 2] = Zi;
  134681. c[Cg >> 2] = Ph;
  134682. c[Dg >> 2] = Qh;
  134683. c[Eg >> 2] = _h;
  134684. c[Fg >> 2] = 3;
  134685. if (
  134686. (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  134687. 4095
  134688. )
  134689. bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
  134690. else bj = 4095;
  134691. c[Gg >> 2] = bj;
  134692. c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
  134693. c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
  134694. c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
  134695. c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
  134696. c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
  134697. c[Mg >> 2] =
  134698. Sj(
  134699. c[yg >> 2] | 0,
  134700. c[Jg >> 2] | 0,
  134701. c[Fg >> 2] | 0
  134702. ) | 0;
  134703. c[Ng >> 2] =
  134704. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
  134705. c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
  134706. c[Pg >> 2] =
  134707. (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
  134708. c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
  134709. c[Rg >> 2] = 0;
  134710. c[Sg >> 2] = 0;
  134711. c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
  134712. c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
  134713. c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
  134714. c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
  134715. if (
  134716. (c[Qg >> 2] | 0) >>> 0 >=
  134717. (c[Ig >> 2] | 0) >>> 0
  134718. )
  134719. cj = 0;
  134720. else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
  134721. c[Xg >> 2] = cj;
  134722. c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
  134723. c[Zg >> 2] =
  134724. (c[Og >> 2] | 0) +
  134725. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
  134726. c[_g >> 2] =
  134727. (c[Og >> 2] | 0) +
  134728. (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
  134729. 4;
  134730. c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
  134731. c[bh >> 2] = 0;
  134732. c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
  134733. c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
  134734. c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
  134735. c[fh >> 2] = c[Cg >> 2];
  134736. while (1) {
  134737. if (
  134738. (c[fh >> 2] | 0) >>> 0 >=
  134739. (c[eh >> 2] | 0) >>> 0
  134740. ) {
  134741. dj = 31;
  134742. break;
  134743. }
  134744. _h = c[Bg >> 2] | 0;
  134745. if ((c[fh >> 2] | 0) == 3)
  134746. ej = ((c[_h >> 2] | 0) - 1) | 0;
  134747. else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
  134748. c[gh >> 2] = ej;
  134749. c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
  134750. c[ih >> 2] = 0;
  134751. if (
  134752. (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  134753. (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
  134754. 0
  134755. ) {
  134756. _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
  134757. if (
  134758. (_h | 0) ==
  134759. (mm(
  134760. ((c[yg >> 2] | 0) +
  134761. (0 - (c[gh >> 2] | 0))) |
  134762. 0,
  134763. c[Kg >> 2] | 0
  134764. ) |
  134765. 0)
  134766. ) {
  134767. _h =
  134768. Tj(
  134769. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  134770. ((c[yg >> 2] | 0) +
  134771. (c[Kg >> 2] | 0) +
  134772. (0 - (c[gh >> 2] | 0))) |
  134773. 0,
  134774. c[zg >> 2] | 0
  134775. ) | 0;
  134776. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  134777. }
  134778. } else {
  134779. c[jh >> 2] =
  134780. (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
  134781. if (
  134782. (
  134783. c[Ag >> 2] | 0
  134784. ? ((((c[Ug >> 2] | 0) -
  134785. 1 -
  134786. (c[hh >> 2] | 0)) |
  134787. 0) >>>
  134788. 0 >=
  134789. 3
  134790. ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
  134791. (((c[Ig >> 2] | 0) -
  134792. (c[Yg >> 2] | 0)) |
  134793. 0) >>>
  134794. 0
  134795. : 0) | 0
  134796. : 0
  134797. )
  134798. ? ((_h =
  134799. mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
  134800. (_h | 0) ==
  134801. (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
  134802. 0))
  134803. : 0
  134804. ) {
  134805. _h =
  134806. Uj(
  134807. ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  134808. ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
  134809. c[zg >> 2] | 0,
  134810. c[Vg >> 2] | 0,
  134811. c[Wg >> 2] | 0
  134812. ) | 0;
  134813. c[ih >> 2] = _h + (c[Kg >> 2] | 0);
  134814. }
  134815. }
  134816. if (
  134817. (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
  134818. ? ((c[dh >> 2] = c[ih >> 2]),
  134819. (c[
  134820. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  134821. 2
  134822. ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
  134823. (c[
  134824. ((c[Dg >> 2] | 0) +
  134825. (c[bh >> 2] << 3) +
  134826. 4) >>
  134827. 2
  134828. ] = c[ih >> 2]),
  134829. (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
  134830. ((c[ih >> 2] | 0) >>> 0 >
  134831. (c[Gg >> 2] | 0) >>> 0
  134832. ? 1
  134833. : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
  134834. 0) ==
  134835. (c[zg >> 2] | 0)) | 0)
  134836. : 0
  134837. ) {
  134838. dj = 29;
  134839. break;
  134840. }
  134841. c[fh >> 2] = (c[fh >> 2] | 0) + 1;
  134842. }
  134843. do {
  134844. if ((dj | 0) == 29) {
  134845. dj = 0;
  134846. c[vg >> 2] = c[bh >> 2];
  134847. } else if ((dj | 0) == 31) {
  134848. dj = 0;
  134849. if (
  134850. (
  134851. (c[Fg >> 2] | 0) == 3
  134852. ? (c[dh >> 2] | 0) >>> 0 <
  134853. (c[Fg >> 2] | 0) >>> 0
  134854. : 0
  134855. )
  134856. ? ((c[kh >> 2] =
  134857. nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
  134858. ((c[kh >> 2] | 0) >>> 0 >
  134859. (c[Yg >> 2] | 0) >>> 0
  134860. ? (((c[Ig >> 2] | 0) -
  134861. (c[kh >> 2] | 0)) |
  134862. 0) >>>
  134863. 0 <
  134864. 262144
  134865. : 0) | 0)
  134866. : 0
  134867. ) {
  134868. if (
  134869. c[Ag >> 2] | 0
  134870. ? (c[kh >> 2] | 0) >>> 0 <
  134871. (c[Ug >> 2] | 0) >>> 0
  134872. : 0
  134873. ) {
  134874. c[nh >> 2] =
  134875. (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
  134876. c[lh >> 2] =
  134877. Uj(
  134878. c[yg >> 2] | 0,
  134879. c[nh >> 2] | 0,
  134880. c[zg >> 2] | 0,
  134881. c[Vg >> 2] | 0,
  134882. c[Wg >> 2] | 0
  134883. ) | 0;
  134884. } else {
  134885. c[mh >> 2] =
  134886. (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
  134887. c[lh >> 2] =
  134888. Tj(
  134889. c[yg >> 2] | 0,
  134890. c[mh >> 2] | 0,
  134891. c[zg >> 2] | 0
  134892. ) | 0;
  134893. }
  134894. if (
  134895. (c[lh >> 2] | 0) >>> 0 >=
  134896. (c[Fg >> 2] | 0) >>> 0
  134897. ? ((c[dh >> 2] = c[lh >> 2]),
  134898. (c[c[Dg >> 2] >> 2] =
  134899. (c[Ig >> 2] | 0) -
  134900. (c[kh >> 2] | 0) +
  134901. 2),
  134902. (c[((c[Dg >> 2] | 0) + 4) >> 2] =
  134903. c[lh >> 2]),
  134904. (c[bh >> 2] = 1),
  134905. ((c[lh >> 2] | 0) >>> 0 >
  134906. (c[Gg >> 2] | 0) >>> 0
  134907. ? 1
  134908. : (((c[yg >> 2] | 0) +
  134909. (c[lh >> 2] | 0)) |
  134910. 0) ==
  134911. (c[zg >> 2] | 0)) | 0)
  134912. : 0
  134913. ) {
  134914. c[((c[wg >> 2] | 0) + 24) >> 2] =
  134915. (c[Ig >> 2] | 0) + 1;
  134916. c[vg >> 2] = 1;
  134917. break;
  134918. }
  134919. }
  134920. c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
  134921. c[Ig >> 2];
  134922. while (1) {
  134923. _h = c[ch >> 2] | 0;
  134924. c[ch >> 2] = _h + -1;
  134925. if (!_h) break;
  134926. if (
  134927. (c[Ng >> 2] | 0) >>> 0 <=
  134928. (c[Yg >> 2] | 0) >>> 0
  134929. )
  134930. break;
  134931. c[oh >> 2] =
  134932. (c[Og >> 2] | 0) +
  134933. (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
  134934. c[ph >> 2] =
  134935. (c[Rg >> 2] | 0) >>> 0 <
  134936. (c[Sg >> 2] | 0) >>> 0
  134937. ? c[Rg >> 2] | 0
  134938. : c[Sg >> 2] | 0;
  134939. if (
  134940. c[Ag >> 2] | 0
  134941. ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  134942. 0) >>>
  134943. 0 <
  134944. (c[Ug >> 2] | 0) >>> 0
  134945. : 0
  134946. ) {
  134947. c[qh >> 2] =
  134948. (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
  134949. _h =
  134950. Uj(
  134951. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  134952. 0,
  134953. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  134954. 0,
  134955. c[zg >> 2] | 0,
  134956. c[Vg >> 2] | 0,
  134957. c[Wg >> 2] | 0
  134958. ) | 0;
  134959. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  134960. if (
  134961. (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
  134962. 0) >>>
  134963. 0 >=
  134964. (c[Ug >> 2] | 0) >>> 0
  134965. )
  134966. c[qh >> 2] =
  134967. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  134968. } else {
  134969. c[qh >> 2] =
  134970. (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
  134971. _h =
  134972. Tj(
  134973. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  134974. 0,
  134975. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
  134976. 0,
  134977. c[zg >> 2] | 0
  134978. ) | 0;
  134979. c[ph >> 2] = (c[ph >> 2] | 0) + _h;
  134980. }
  134981. if (
  134982. (c[ph >> 2] | 0) >>> 0 >
  134983. (c[dh >> 2] | 0) >>> 0
  134984. ) {
  134985. if (
  134986. (c[ph >> 2] | 0) >>> 0 >
  134987. (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
  134988. 0) >>>
  134989. 0
  134990. )
  134991. c[$g >> 2] =
  134992. (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
  134993. c[dh >> 2] = c[ph >> 2];
  134994. c[
  134995. ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
  134996. 2
  134997. ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
  134998. c[
  134999. ((c[Dg >> 2] | 0) +
  135000. (c[bh >> 2] << 3) +
  135001. 4) >>
  135002. 2
  135003. ] = c[ph >> 2];
  135004. c[bh >> 2] = (c[bh >> 2] | 0) + 1;
  135005. if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
  135006. if (
  135007. (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
  135008. 0) ==
  135009. (c[zg >> 2] | 0)
  135010. )
  135011. break;
  135012. }
  135013. _h = c[Ng >> 2] | 0;
  135014. if (
  135015. (d[
  135016. ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  135017. ] |
  135018. 0 |
  135019. 0) <
  135020. (d[
  135021. ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
  135022. ] |
  135023. 0 |
  135024. 0)
  135025. ) {
  135026. c[c[Zg >> 2] >> 2] = _h;
  135027. c[Rg >> 2] = c[ph >> 2];
  135028. if (
  135029. (c[Ng >> 2] | 0) >>> 0 <=
  135030. (c[Xg >> 2] | 0) >>> 0
  135031. ) {
  135032. dj = 56;
  135033. break;
  135034. }
  135035. c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
  135036. c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
  135037. } else {
  135038. c[c[_g >> 2] >> 2] = _h;
  135039. c[Sg >> 2] = c[ph >> 2];
  135040. if (
  135041. (c[Ng >> 2] | 0) >>> 0 <=
  135042. (c[Xg >> 2] | 0) >>> 0
  135043. ) {
  135044. dj = 59;
  135045. break;
  135046. }
  135047. c[_g >> 2] = c[oh >> 2];
  135048. c[Ng >> 2] = c[c[oh >> 2] >> 2];
  135049. }
  135050. }
  135051. if ((dj | 0) == 56) {
  135052. dj = 0;
  135053. c[Zg >> 2] = ah;
  135054. } else if ((dj | 0) == 59) {
  135055. dj = 0;
  135056. c[_g >> 2] = ah;
  135057. }
  135058. c[c[_g >> 2] >> 2] = 0;
  135059. c[c[Zg >> 2] >> 2] = 0;
  135060. c[((c[wg >> 2] | 0) + 24) >> 2] =
  135061. (c[$g >> 2] | 0) - 8;
  135062. c[vg >> 2] = c[bh >> 2];
  135063. }
  135064. } while (0);
  135065. c[Ah >> 2] = c[vg >> 2];
  135066. break a;
  135067. break;
  135068. }
  135069. case 7:
  135070. case 6: {
  135071. _h = c[Ch >> 2] | 0;
  135072. Qh = c[Dh >> 2] | 0;
  135073. Ph = c[Eh >> 2] | 0;
  135074. Zi = c[Fh >> 2] | 0;
  135075. _i = c[Gh >> 2] | 0;
  135076. Uh = c[Hh >> 2] | 0;
  135077. Zh = c[Ih >> 2] | 0;
  135078. aj = c[Jh >> 2] | 0;
  135079. c[Hd >> 2] = c[Bh >> 2];
  135080. c[Id >> 2] = _h;
  135081. c[Jd >> 2] = Qh;
  135082. c[Kd >> 2] = Ph;
  135083. c[Ld >> 2] = Zi;
  135084. c[Md >> 2] = _i;
  135085. c[Nd >> 2] = Uh;
  135086. c[Od >> 2] = Zh;
  135087. c[Pd >> 2] = aj;
  135088. c[Qd >> 2] = 6;
  135089. if (
  135090. (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  135091. 4095
  135092. )
  135093. fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
  135094. else fj = 4095;
  135095. c[Rd >> 2] = fj;
  135096. c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
  135097. c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
  135098. c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
  135099. c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
  135100. c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
  135101. c[Xd >> 2] =
  135102. Sj(
  135103. c[Jd >> 2] | 0,
  135104. c[Ud >> 2] | 0,
  135105. c[Qd >> 2] | 0
  135106. ) | 0;
  135107. c[Yd >> 2] =
  135108. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
  135109. c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
  135110. c[_d >> 2] =
  135111. (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
  135112. c[$d >> 2] = (1 << c[_d >> 2]) - 1;
  135113. c[ae >> 2] = 0;
  135114. c[be >> 2] = 0;
  135115. c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
  135116. c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
  135117. c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
  135118. c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
  135119. if (
  135120. (c[$d >> 2] | 0) >>> 0 >=
  135121. (c[Td >> 2] | 0) >>> 0
  135122. )
  135123. gj = 0;
  135124. else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
  135125. c[ge >> 2] = gj;
  135126. c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
  135127. c[ie >> 2] =
  135128. (c[Zd >> 2] | 0) +
  135129. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
  135130. c[je >> 2] =
  135131. (c[Zd >> 2] | 0) +
  135132. (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
  135133. 4;
  135134. c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
  135135. c[me >> 2] = 0;
  135136. c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
  135137. c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
  135138. c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
  135139. c[qe >> 2] = c[Nd >> 2];
  135140. while (1) {
  135141. if (
  135142. (c[qe >> 2] | 0) >>> 0 >=
  135143. (c[pe >> 2] | 0) >>> 0
  135144. ) {
  135145. dj = 190;
  135146. break;
  135147. }
  135148. aj = c[Md >> 2] | 0;
  135149. if ((c[qe >> 2] | 0) == 3)
  135150. hj = ((c[aj >> 2] | 0) - 1) | 0;
  135151. else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
  135152. c[re >> 2] = hj;
  135153. c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
  135154. c[te >> 2] = 0;
  135155. if (
  135156. (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  135157. (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
  135158. 0
  135159. ) {
  135160. aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
  135161. if (
  135162. (aj | 0) ==
  135163. (mm(
  135164. ((c[Jd >> 2] | 0) +
  135165. (0 - (c[re >> 2] | 0))) |
  135166. 0,
  135167. c[Vd >> 2] | 0
  135168. ) |
  135169. 0)
  135170. ) {
  135171. aj =
  135172. Tj(
  135173. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  135174. ((c[Jd >> 2] | 0) +
  135175. (c[Vd >> 2] | 0) +
  135176. (0 - (c[re >> 2] | 0))) |
  135177. 0,
  135178. c[Kd >> 2] | 0
  135179. ) | 0;
  135180. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  135181. }
  135182. } else {
  135183. c[ue >> 2] =
  135184. (c[ce >> 2] | 0) + (c[se >> 2] | 0);
  135185. if (
  135186. (
  135187. c[Ld >> 2] | 0
  135188. ? ((((c[de >> 2] | 0) -
  135189. 1 -
  135190. (c[se >> 2] | 0)) |
  135191. 0) >>>
  135192. 0 >=
  135193. 3
  135194. ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
  135195. (((c[Td >> 2] | 0) -
  135196. (c[he >> 2] | 0)) |
  135197. 0) >>>
  135198. 0
  135199. : 0) | 0
  135200. : 0
  135201. )
  135202. ? ((aj =
  135203. mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
  135204. (aj | 0) ==
  135205. (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
  135206. 0))
  135207. : 0
  135208. ) {
  135209. aj =
  135210. Uj(
  135211. ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  135212. ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
  135213. c[Kd >> 2] | 0,
  135214. c[ee >> 2] | 0,
  135215. c[fe >> 2] | 0
  135216. ) | 0;
  135217. c[te >> 2] = aj + (c[Vd >> 2] | 0);
  135218. }
  135219. }
  135220. if (
  135221. (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
  135222. ? ((c[oe >> 2] = c[te >> 2]),
  135223. (c[
  135224. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  135225. 2
  135226. ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
  135227. (c[
  135228. ((c[Od >> 2] | 0) +
  135229. (c[me >> 2] << 3) +
  135230. 4) >>
  135231. 2
  135232. ] = c[te >> 2]),
  135233. (c[me >> 2] = (c[me >> 2] | 0) + 1),
  135234. ((c[te >> 2] | 0) >>> 0 >
  135235. (c[Rd >> 2] | 0) >>> 0
  135236. ? 1
  135237. : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
  135238. 0) ==
  135239. (c[Kd >> 2] | 0)) | 0)
  135240. : 0
  135241. ) {
  135242. dj = 188;
  135243. break;
  135244. }
  135245. c[qe >> 2] = (c[qe >> 2] | 0) + 1;
  135246. }
  135247. do {
  135248. if ((dj | 0) == 188) {
  135249. dj = 0;
  135250. c[Gd >> 2] = c[me >> 2];
  135251. } else if ((dj | 0) == 190) {
  135252. dj = 0;
  135253. if (
  135254. (
  135255. (c[Qd >> 2] | 0) == 3
  135256. ? (c[oe >> 2] | 0) >>> 0 <
  135257. (c[Qd >> 2] | 0) >>> 0
  135258. : 0
  135259. )
  135260. ? ((c[ve >> 2] =
  135261. nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
  135262. ((c[ve >> 2] | 0) >>> 0 >
  135263. (c[he >> 2] | 0) >>> 0
  135264. ? (((c[Td >> 2] | 0) -
  135265. (c[ve >> 2] | 0)) |
  135266. 0) >>>
  135267. 0 <
  135268. 262144
  135269. : 0) | 0)
  135270. : 0
  135271. ) {
  135272. if (
  135273. c[Ld >> 2] | 0
  135274. ? (c[ve >> 2] | 0) >>> 0 <
  135275. (c[de >> 2] | 0) >>> 0
  135276. : 0
  135277. ) {
  135278. c[ye >> 2] =
  135279. (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
  135280. c[we >> 2] =
  135281. Uj(
  135282. c[Jd >> 2] | 0,
  135283. c[ye >> 2] | 0,
  135284. c[Kd >> 2] | 0,
  135285. c[ee >> 2] | 0,
  135286. c[fe >> 2] | 0
  135287. ) | 0;
  135288. } else {
  135289. c[xe >> 2] =
  135290. (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
  135291. c[we >> 2] =
  135292. Tj(
  135293. c[Jd >> 2] | 0,
  135294. c[xe >> 2] | 0,
  135295. c[Kd >> 2] | 0
  135296. ) | 0;
  135297. }
  135298. if (
  135299. (c[we >> 2] | 0) >>> 0 >=
  135300. (c[Qd >> 2] | 0) >>> 0
  135301. ? ((c[oe >> 2] = c[we >> 2]),
  135302. (c[c[Od >> 2] >> 2] =
  135303. (c[Td >> 2] | 0) -
  135304. (c[ve >> 2] | 0) +
  135305. 2),
  135306. (c[((c[Od >> 2] | 0) + 4) >> 2] =
  135307. c[we >> 2]),
  135308. (c[me >> 2] = 1),
  135309. ((c[we >> 2] | 0) >>> 0 >
  135310. (c[Rd >> 2] | 0) >>> 0
  135311. ? 1
  135312. : (((c[Jd >> 2] | 0) +
  135313. (c[we >> 2] | 0)) |
  135314. 0) ==
  135315. (c[Kd >> 2] | 0)) | 0)
  135316. : 0
  135317. ) {
  135318. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  135319. (c[Td >> 2] | 0) + 1;
  135320. c[Gd >> 2] = 1;
  135321. break;
  135322. }
  135323. }
  135324. c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
  135325. c[Td >> 2];
  135326. while (1) {
  135327. aj = c[ne >> 2] | 0;
  135328. c[ne >> 2] = aj + -1;
  135329. if (!aj) break;
  135330. if (
  135331. (c[Yd >> 2] | 0) >>> 0 <=
  135332. (c[he >> 2] | 0) >>> 0
  135333. )
  135334. break;
  135335. c[ze >> 2] =
  135336. (c[Zd >> 2] | 0) +
  135337. (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
  135338. c[Ae >> 2] =
  135339. (c[ae >> 2] | 0) >>> 0 <
  135340. (c[be >> 2] | 0) >>> 0
  135341. ? c[ae >> 2] | 0
  135342. : c[be >> 2] | 0;
  135343. if (
  135344. c[Ld >> 2] | 0
  135345. ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135346. 0) >>>
  135347. 0 <
  135348. (c[de >> 2] | 0) >>> 0
  135349. : 0
  135350. ) {
  135351. c[Be >> 2] =
  135352. (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
  135353. aj =
  135354. Uj(
  135355. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135356. 0,
  135357. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135358. 0,
  135359. c[Kd >> 2] | 0,
  135360. c[ee >> 2] | 0,
  135361. c[fe >> 2] | 0
  135362. ) | 0;
  135363. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  135364. if (
  135365. (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135366. 0) >>>
  135367. 0 >=
  135368. (c[de >> 2] | 0) >>> 0
  135369. )
  135370. c[Be >> 2] =
  135371. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  135372. } else {
  135373. c[Be >> 2] =
  135374. (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
  135375. aj =
  135376. Tj(
  135377. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135378. 0,
  135379. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135380. 0,
  135381. c[Kd >> 2] | 0
  135382. ) | 0;
  135383. c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
  135384. }
  135385. if (
  135386. (c[Ae >> 2] | 0) >>> 0 >
  135387. (c[oe >> 2] | 0) >>> 0
  135388. ) {
  135389. if (
  135390. (c[Ae >> 2] | 0) >>> 0 >
  135391. (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
  135392. 0) >>>
  135393. 0
  135394. )
  135395. c[ke >> 2] =
  135396. (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
  135397. c[oe >> 2] = c[Ae >> 2];
  135398. c[
  135399. ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
  135400. 2
  135401. ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
  135402. c[
  135403. ((c[Od >> 2] | 0) +
  135404. (c[me >> 2] << 3) +
  135405. 4) >>
  135406. 2
  135407. ] = c[Ae >> 2];
  135408. c[me >> 2] = (c[me >> 2] | 0) + 1;
  135409. if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
  135410. if (
  135411. (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
  135412. 0) ==
  135413. (c[Kd >> 2] | 0)
  135414. )
  135415. break;
  135416. }
  135417. aj = c[Yd >> 2] | 0;
  135418. if (
  135419. (d[
  135420. ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  135421. ] |
  135422. 0 |
  135423. 0) <
  135424. (d[
  135425. ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
  135426. ] |
  135427. 0 |
  135428. 0)
  135429. ) {
  135430. c[c[ie >> 2] >> 2] = aj;
  135431. c[ae >> 2] = c[Ae >> 2];
  135432. if (
  135433. (c[Yd >> 2] | 0) >>> 0 <=
  135434. (c[ge >> 2] | 0) >>> 0
  135435. ) {
  135436. dj = 215;
  135437. break;
  135438. }
  135439. c[ie >> 2] = (c[ze >> 2] | 0) + 4;
  135440. c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
  135441. } else {
  135442. c[c[je >> 2] >> 2] = aj;
  135443. c[be >> 2] = c[Ae >> 2];
  135444. if (
  135445. (c[Yd >> 2] | 0) >>> 0 <=
  135446. (c[ge >> 2] | 0) >>> 0
  135447. ) {
  135448. dj = 218;
  135449. break;
  135450. }
  135451. c[je >> 2] = c[ze >> 2];
  135452. c[Yd >> 2] = c[c[ze >> 2] >> 2];
  135453. }
  135454. }
  135455. if ((dj | 0) == 215) {
  135456. dj = 0;
  135457. c[ie >> 2] = le;
  135458. } else if ((dj | 0) == 218) {
  135459. dj = 0;
  135460. c[je >> 2] = le;
  135461. }
  135462. c[c[je >> 2] >> 2] = 0;
  135463. c[c[ie >> 2] >> 2] = 0;
  135464. c[((c[Hd >> 2] | 0) + 24) >> 2] =
  135465. (c[ke >> 2] | 0) - 8;
  135466. c[Gd >> 2] = c[me >> 2];
  135467. }
  135468. } while (0);
  135469. c[Ah >> 2] = c[Gd >> 2];
  135470. break a;
  135471. break;
  135472. }
  135473. case 5: {
  135474. aj = c[Ch >> 2] | 0;
  135475. Zh = c[Dh >> 2] | 0;
  135476. Uh = c[Eh >> 2] | 0;
  135477. _i = c[Fh >> 2] | 0;
  135478. Zi = c[Gh >> 2] | 0;
  135479. Ph = c[Hh >> 2] | 0;
  135480. Qh = c[Ih >> 2] | 0;
  135481. _h = c[Jh >> 2] | 0;
  135482. c[De >> 2] = c[Bh >> 2];
  135483. c[Ee >> 2] = aj;
  135484. c[Fe >> 2] = Zh;
  135485. c[Ge >> 2] = Uh;
  135486. c[He >> 2] = _i;
  135487. c[Ie >> 2] = Zi;
  135488. c[Je >> 2] = Ph;
  135489. c[Ke >> 2] = Qh;
  135490. c[Le >> 2] = _h;
  135491. c[Me >> 2] = 5;
  135492. if (
  135493. (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  135494. 4095
  135495. )
  135496. ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
  135497. else ij = 4095;
  135498. c[Ne >> 2] = ij;
  135499. c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
  135500. c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
  135501. c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
  135502. c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
  135503. c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
  135504. c[Te >> 2] =
  135505. Sj(
  135506. c[Fe >> 2] | 0,
  135507. c[Qe >> 2] | 0,
  135508. c[Me >> 2] | 0
  135509. ) | 0;
  135510. c[Ue >> 2] =
  135511. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
  135512. c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
  135513. c[We >> 2] =
  135514. (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
  135515. c[Xe >> 2] = (1 << c[We >> 2]) - 1;
  135516. c[Ye >> 2] = 0;
  135517. c[Ze >> 2] = 0;
  135518. c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
  135519. c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
  135520. c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
  135521. c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
  135522. if (
  135523. (c[Xe >> 2] | 0) >>> 0 >=
  135524. (c[Pe >> 2] | 0) >>> 0
  135525. )
  135526. jj = 0;
  135527. else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
  135528. c[cf >> 2] = jj;
  135529. c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
  135530. c[ef >> 2] =
  135531. (c[Ve >> 2] | 0) +
  135532. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
  135533. c[ff >> 2] =
  135534. (c[Ve >> 2] | 0) +
  135535. (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
  135536. 4;
  135537. c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
  135538. c[jf >> 2] = 0;
  135539. c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
  135540. c[lf >> 2] = (c[Le >> 2] | 0) - 1;
  135541. c[mf >> 2] = 3 + (c[Je >> 2] | 0);
  135542. c[nf >> 2] = c[Je >> 2];
  135543. while (1) {
  135544. if (
  135545. (c[nf >> 2] | 0) >>> 0 >=
  135546. (c[mf >> 2] | 0) >>> 0
  135547. ) {
  135548. dj = 137;
  135549. break;
  135550. }
  135551. _h = c[Ie >> 2] | 0;
  135552. if ((c[nf >> 2] | 0) == 3)
  135553. kj = ((c[_h >> 2] | 0) - 1) | 0;
  135554. else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
  135555. c[of >> 2] = kj;
  135556. c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
  135557. c[qf >> 2] = 0;
  135558. if (
  135559. (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  135560. (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
  135561. 0
  135562. ) {
  135563. _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
  135564. if (
  135565. (_h | 0) ==
  135566. (mm(
  135567. ((c[Fe >> 2] | 0) +
  135568. (0 - (c[of >> 2] | 0))) |
  135569. 0,
  135570. c[Re >> 2] | 0
  135571. ) |
  135572. 0)
  135573. ) {
  135574. _h =
  135575. Tj(
  135576. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  135577. ((c[Fe >> 2] | 0) +
  135578. (c[Re >> 2] | 0) +
  135579. (0 - (c[of >> 2] | 0))) |
  135580. 0,
  135581. c[Ge >> 2] | 0
  135582. ) | 0;
  135583. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  135584. }
  135585. } else {
  135586. c[rf >> 2] =
  135587. (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
  135588. if (
  135589. (
  135590. c[He >> 2] | 0
  135591. ? ((((c[$e >> 2] | 0) -
  135592. 1 -
  135593. (c[pf >> 2] | 0)) |
  135594. 0) >>>
  135595. 0 >=
  135596. 3
  135597. ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
  135598. (((c[Pe >> 2] | 0) -
  135599. (c[df >> 2] | 0)) |
  135600. 0) >>>
  135601. 0
  135602. : 0) | 0
  135603. : 0
  135604. )
  135605. ? ((_h =
  135606. mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
  135607. (_h | 0) ==
  135608. (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
  135609. 0))
  135610. : 0
  135611. ) {
  135612. _h =
  135613. Uj(
  135614. ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  135615. ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
  135616. c[Ge >> 2] | 0,
  135617. c[af >> 2] | 0,
  135618. c[bf >> 2] | 0
  135619. ) | 0;
  135620. c[qf >> 2] = _h + (c[Re >> 2] | 0);
  135621. }
  135622. }
  135623. if (
  135624. (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
  135625. ? ((c[lf >> 2] = c[qf >> 2]),
  135626. (c[
  135627. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  135628. 2
  135629. ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
  135630. (c[
  135631. ((c[Ke >> 2] | 0) +
  135632. (c[jf >> 2] << 3) +
  135633. 4) >>
  135634. 2
  135635. ] = c[qf >> 2]),
  135636. (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
  135637. ((c[qf >> 2] | 0) >>> 0 >
  135638. (c[Ne >> 2] | 0) >>> 0
  135639. ? 1
  135640. : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
  135641. 0) ==
  135642. (c[Ge >> 2] | 0)) | 0)
  135643. : 0
  135644. ) {
  135645. dj = 135;
  135646. break;
  135647. }
  135648. c[nf >> 2] = (c[nf >> 2] | 0) + 1;
  135649. }
  135650. do {
  135651. if ((dj | 0) == 135) {
  135652. dj = 0;
  135653. c[Ce >> 2] = c[jf >> 2];
  135654. } else if ((dj | 0) == 137) {
  135655. dj = 0;
  135656. if (
  135657. (
  135658. (c[Me >> 2] | 0) == 3
  135659. ? (c[lf >> 2] | 0) >>> 0 <
  135660. (c[Me >> 2] | 0) >>> 0
  135661. : 0
  135662. )
  135663. ? ((c[sf >> 2] =
  135664. nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
  135665. ((c[sf >> 2] | 0) >>> 0 >
  135666. (c[df >> 2] | 0) >>> 0
  135667. ? (((c[Pe >> 2] | 0) -
  135668. (c[sf >> 2] | 0)) |
  135669. 0) >>>
  135670. 0 <
  135671. 262144
  135672. : 0) | 0)
  135673. : 0
  135674. ) {
  135675. if (
  135676. c[He >> 2] | 0
  135677. ? (c[sf >> 2] | 0) >>> 0 <
  135678. (c[$e >> 2] | 0) >>> 0
  135679. : 0
  135680. ) {
  135681. c[vf >> 2] =
  135682. (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
  135683. c[tf >> 2] =
  135684. Uj(
  135685. c[Fe >> 2] | 0,
  135686. c[vf >> 2] | 0,
  135687. c[Ge >> 2] | 0,
  135688. c[af >> 2] | 0,
  135689. c[bf >> 2] | 0
  135690. ) | 0;
  135691. } else {
  135692. c[uf >> 2] =
  135693. (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
  135694. c[tf >> 2] =
  135695. Tj(
  135696. c[Fe >> 2] | 0,
  135697. c[uf >> 2] | 0,
  135698. c[Ge >> 2] | 0
  135699. ) | 0;
  135700. }
  135701. if (
  135702. (c[tf >> 2] | 0) >>> 0 >=
  135703. (c[Me >> 2] | 0) >>> 0
  135704. ? ((c[lf >> 2] = c[tf >> 2]),
  135705. (c[c[Ke >> 2] >> 2] =
  135706. (c[Pe >> 2] | 0) -
  135707. (c[sf >> 2] | 0) +
  135708. 2),
  135709. (c[((c[Ke >> 2] | 0) + 4) >> 2] =
  135710. c[tf >> 2]),
  135711. (c[jf >> 2] = 1),
  135712. ((c[tf >> 2] | 0) >>> 0 >
  135713. (c[Ne >> 2] | 0) >>> 0
  135714. ? 1
  135715. : (((c[Fe >> 2] | 0) +
  135716. (c[tf >> 2] | 0)) |
  135717. 0) ==
  135718. (c[Ge >> 2] | 0)) | 0)
  135719. : 0
  135720. ) {
  135721. c[((c[De >> 2] | 0) + 24) >> 2] =
  135722. (c[Pe >> 2] | 0) + 1;
  135723. c[Ce >> 2] = 1;
  135724. break;
  135725. }
  135726. }
  135727. c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
  135728. c[Pe >> 2];
  135729. while (1) {
  135730. _h = c[kf >> 2] | 0;
  135731. c[kf >> 2] = _h + -1;
  135732. if (!_h) break;
  135733. if (
  135734. (c[Ue >> 2] | 0) >>> 0 <=
  135735. (c[df >> 2] | 0) >>> 0
  135736. )
  135737. break;
  135738. c[wf >> 2] =
  135739. (c[Ve >> 2] | 0) +
  135740. (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
  135741. c[xf >> 2] =
  135742. (c[Ye >> 2] | 0) >>> 0 <
  135743. (c[Ze >> 2] | 0) >>> 0
  135744. ? c[Ye >> 2] | 0
  135745. : c[Ze >> 2] | 0;
  135746. if (
  135747. c[He >> 2] | 0
  135748. ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  135749. 0) >>>
  135750. 0 <
  135751. (c[$e >> 2] | 0) >>> 0
  135752. : 0
  135753. ) {
  135754. c[yf >> 2] =
  135755. (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
  135756. _h =
  135757. Uj(
  135758. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  135759. 0,
  135760. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  135761. 0,
  135762. c[Ge >> 2] | 0,
  135763. c[af >> 2] | 0,
  135764. c[bf >> 2] | 0
  135765. ) | 0;
  135766. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  135767. if (
  135768. (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
  135769. 0) >>>
  135770. 0 >=
  135771. (c[$e >> 2] | 0) >>> 0
  135772. )
  135773. c[yf >> 2] =
  135774. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  135775. } else {
  135776. c[yf >> 2] =
  135777. (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
  135778. _h =
  135779. Tj(
  135780. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  135781. 0,
  135782. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
  135783. 0,
  135784. c[Ge >> 2] | 0
  135785. ) | 0;
  135786. c[xf >> 2] = (c[xf >> 2] | 0) + _h;
  135787. }
  135788. if (
  135789. (c[xf >> 2] | 0) >>> 0 >
  135790. (c[lf >> 2] | 0) >>> 0
  135791. ) {
  135792. if (
  135793. (c[xf >> 2] | 0) >>> 0 >
  135794. (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
  135795. 0) >>>
  135796. 0
  135797. )
  135798. c[gf >> 2] =
  135799. (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
  135800. c[lf >> 2] = c[xf >> 2];
  135801. c[
  135802. ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
  135803. 2
  135804. ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
  135805. c[
  135806. ((c[Ke >> 2] | 0) +
  135807. (c[jf >> 2] << 3) +
  135808. 4) >>
  135809. 2
  135810. ] = c[xf >> 2];
  135811. c[jf >> 2] = (c[jf >> 2] | 0) + 1;
  135812. if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
  135813. if (
  135814. (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
  135815. 0) ==
  135816. (c[Ge >> 2] | 0)
  135817. )
  135818. break;
  135819. }
  135820. _h = c[Ue >> 2] | 0;
  135821. if (
  135822. (d[
  135823. ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  135824. ] |
  135825. 0 |
  135826. 0) <
  135827. (d[
  135828. ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
  135829. ] |
  135830. 0 |
  135831. 0)
  135832. ) {
  135833. c[c[ef >> 2] >> 2] = _h;
  135834. c[Ye >> 2] = c[xf >> 2];
  135835. if (
  135836. (c[Ue >> 2] | 0) >>> 0 <=
  135837. (c[cf >> 2] | 0) >>> 0
  135838. ) {
  135839. dj = 162;
  135840. break;
  135841. }
  135842. c[ef >> 2] = (c[wf >> 2] | 0) + 4;
  135843. c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
  135844. } else {
  135845. c[c[ff >> 2] >> 2] = _h;
  135846. c[Ze >> 2] = c[xf >> 2];
  135847. if (
  135848. (c[Ue >> 2] | 0) >>> 0 <=
  135849. (c[cf >> 2] | 0) >>> 0
  135850. ) {
  135851. dj = 165;
  135852. break;
  135853. }
  135854. c[ff >> 2] = c[wf >> 2];
  135855. c[Ue >> 2] = c[c[wf >> 2] >> 2];
  135856. }
  135857. }
  135858. if ((dj | 0) == 162) {
  135859. dj = 0;
  135860. c[ef >> 2] = hf;
  135861. } else if ((dj | 0) == 165) {
  135862. dj = 0;
  135863. c[ff >> 2] = hf;
  135864. }
  135865. c[c[ff >> 2] >> 2] = 0;
  135866. c[c[ef >> 2] >> 2] = 0;
  135867. c[((c[De >> 2] | 0) + 24) >> 2] =
  135868. (c[gf >> 2] | 0) - 8;
  135869. c[Ce >> 2] = c[jf >> 2];
  135870. }
  135871. } while (0);
  135872. c[Ah >> 2] = c[Ce >> 2];
  135873. break a;
  135874. break;
  135875. }
  135876. default: {
  135877. _h = c[Ch >> 2] | 0;
  135878. Qh = c[Dh >> 2] | 0;
  135879. Ph = c[Eh >> 2] | 0;
  135880. Zi = c[Fh >> 2] | 0;
  135881. _i = c[Gh >> 2] | 0;
  135882. Uh = c[Hh >> 2] | 0;
  135883. Zh = c[Ih >> 2] | 0;
  135884. aj = c[Jh >> 2] | 0;
  135885. c[Af >> 2] = c[Bh >> 2];
  135886. c[Bf >> 2] = _h;
  135887. c[Cf >> 2] = Qh;
  135888. c[Df >> 2] = Ph;
  135889. c[Ef >> 2] = Zi;
  135890. c[Ff >> 2] = _i;
  135891. c[Gf >> 2] = Uh;
  135892. c[Hf >> 2] = Zh;
  135893. c[If >> 2] = aj;
  135894. c[Jf >> 2] = 4;
  135895. if (
  135896. (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
  135897. 4095
  135898. )
  135899. lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
  135900. else lj = 4095;
  135901. c[Kf >> 2] = lj;
  135902. c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
  135903. c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
  135904. c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
  135905. c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
  135906. c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
  135907. c[Qf >> 2] =
  135908. Sj(
  135909. c[Cf >> 2] | 0,
  135910. c[Nf >> 2] | 0,
  135911. c[Jf >> 2] | 0
  135912. ) | 0;
  135913. c[Rf >> 2] =
  135914. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
  135915. c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
  135916. c[Tf >> 2] =
  135917. (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
  135918. c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
  135919. c[Vf >> 2] = 0;
  135920. c[Wf >> 2] = 0;
  135921. c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
  135922. c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
  135923. c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
  135924. c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
  135925. if (
  135926. (c[Uf >> 2] | 0) >>> 0 >=
  135927. (c[Mf >> 2] | 0) >>> 0
  135928. )
  135929. mj = 0;
  135930. else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
  135931. c[$f >> 2] = mj;
  135932. c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
  135933. c[bg >> 2] =
  135934. (c[Sf >> 2] | 0) +
  135935. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
  135936. c[cg >> 2] =
  135937. (c[Sf >> 2] | 0) +
  135938. (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
  135939. 4;
  135940. c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
  135941. c[fg >> 2] = 0;
  135942. c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
  135943. c[hg >> 2] = (c[If >> 2] | 0) - 1;
  135944. c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
  135945. c[jg >> 2] = c[Gf >> 2];
  135946. while (1) {
  135947. if (
  135948. (c[jg >> 2] | 0) >>> 0 >=
  135949. (c[ig >> 2] | 0) >>> 0
  135950. ) {
  135951. dj = 84;
  135952. break;
  135953. }
  135954. aj = c[Ff >> 2] | 0;
  135955. if ((c[jg >> 2] | 0) == 3)
  135956. nj = ((c[aj >> 2] | 0) - 1) | 0;
  135957. else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
  135958. c[kg >> 2] = nj;
  135959. c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
  135960. c[mg >> 2] = 0;
  135961. if (
  135962. (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  135963. (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
  135964. 0
  135965. ) {
  135966. aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
  135967. if (
  135968. (aj | 0) ==
  135969. (mm(
  135970. ((c[Cf >> 2] | 0) +
  135971. (0 - (c[kg >> 2] | 0))) |
  135972. 0,
  135973. c[Of >> 2] | 0
  135974. ) |
  135975. 0)
  135976. ) {
  135977. aj =
  135978. Tj(
  135979. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  135980. ((c[Cf >> 2] | 0) +
  135981. (c[Of >> 2] | 0) +
  135982. (0 - (c[kg >> 2] | 0))) |
  135983. 0,
  135984. c[Df >> 2] | 0
  135985. ) | 0;
  135986. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  135987. }
  135988. } else {
  135989. c[ng >> 2] =
  135990. (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
  135991. if (
  135992. (
  135993. c[Ef >> 2] | 0
  135994. ? ((((c[Yf >> 2] | 0) -
  135995. 1 -
  135996. (c[lg >> 2] | 0)) |
  135997. 0) >>>
  135998. 0 >=
  135999. 3
  136000. ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
  136001. (((c[Mf >> 2] | 0) -
  136002. (c[ag >> 2] | 0)) |
  136003. 0) >>>
  136004. 0
  136005. : 0) | 0
  136006. : 0
  136007. )
  136008. ? ((aj =
  136009. mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
  136010. (aj | 0) ==
  136011. (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
  136012. 0))
  136013. : 0
  136014. ) {
  136015. aj =
  136016. Uj(
  136017. ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  136018. ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
  136019. c[Df >> 2] | 0,
  136020. c[Zf >> 2] | 0,
  136021. c[_f >> 2] | 0
  136022. ) | 0;
  136023. c[mg >> 2] = aj + (c[Of >> 2] | 0);
  136024. }
  136025. }
  136026. if (
  136027. (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
  136028. ? ((c[hg >> 2] = c[mg >> 2]),
  136029. (c[
  136030. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  136031. 2
  136032. ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
  136033. (c[
  136034. ((c[Hf >> 2] | 0) +
  136035. (c[fg >> 2] << 3) +
  136036. 4) >>
  136037. 2
  136038. ] = c[mg >> 2]),
  136039. (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
  136040. ((c[mg >> 2] | 0) >>> 0 >
  136041. (c[Kf >> 2] | 0) >>> 0
  136042. ? 1
  136043. : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
  136044. 0) ==
  136045. (c[Df >> 2] | 0)) | 0)
  136046. : 0
  136047. ) {
  136048. dj = 82;
  136049. break;
  136050. }
  136051. c[jg >> 2] = (c[jg >> 2] | 0) + 1;
  136052. }
  136053. do {
  136054. if ((dj | 0) == 82) {
  136055. dj = 0;
  136056. c[zf >> 2] = c[fg >> 2];
  136057. } else if ((dj | 0) == 84) {
  136058. dj = 0;
  136059. if (
  136060. (
  136061. (c[Jf >> 2] | 0) == 3
  136062. ? (c[hg >> 2] | 0) >>> 0 <
  136063. (c[Jf >> 2] | 0) >>> 0
  136064. : 0
  136065. )
  136066. ? ((c[og >> 2] =
  136067. nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
  136068. ((c[og >> 2] | 0) >>> 0 >
  136069. (c[ag >> 2] | 0) >>> 0
  136070. ? (((c[Mf >> 2] | 0) -
  136071. (c[og >> 2] | 0)) |
  136072. 0) >>>
  136073. 0 <
  136074. 262144
  136075. : 0) | 0)
  136076. : 0
  136077. ) {
  136078. if (
  136079. c[Ef >> 2] | 0
  136080. ? (c[og >> 2] | 0) >>> 0 <
  136081. (c[Yf >> 2] | 0) >>> 0
  136082. : 0
  136083. ) {
  136084. c[rg >> 2] =
  136085. (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
  136086. c[pg >> 2] =
  136087. Uj(
  136088. c[Cf >> 2] | 0,
  136089. c[rg >> 2] | 0,
  136090. c[Df >> 2] | 0,
  136091. c[Zf >> 2] | 0,
  136092. c[_f >> 2] | 0
  136093. ) | 0;
  136094. } else {
  136095. c[qg >> 2] =
  136096. (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
  136097. c[pg >> 2] =
  136098. Tj(
  136099. c[Cf >> 2] | 0,
  136100. c[qg >> 2] | 0,
  136101. c[Df >> 2] | 0
  136102. ) | 0;
  136103. }
  136104. if (
  136105. (c[pg >> 2] | 0) >>> 0 >=
  136106. (c[Jf >> 2] | 0) >>> 0
  136107. ? ((c[hg >> 2] = c[pg >> 2]),
  136108. (c[c[Hf >> 2] >> 2] =
  136109. (c[Mf >> 2] | 0) -
  136110. (c[og >> 2] | 0) +
  136111. 2),
  136112. (c[((c[Hf >> 2] | 0) + 4) >> 2] =
  136113. c[pg >> 2]),
  136114. (c[fg >> 2] = 1),
  136115. ((c[pg >> 2] | 0) >>> 0 >
  136116. (c[Kf >> 2] | 0) >>> 0
  136117. ? 1
  136118. : (((c[Cf >> 2] | 0) +
  136119. (c[pg >> 2] | 0)) |
  136120. 0) ==
  136121. (c[Df >> 2] | 0)) | 0)
  136122. : 0
  136123. ) {
  136124. c[((c[Af >> 2] | 0) + 24) >> 2] =
  136125. (c[Mf >> 2] | 0) + 1;
  136126. c[zf >> 2] = 1;
  136127. break;
  136128. }
  136129. }
  136130. c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
  136131. c[Mf >> 2];
  136132. while (1) {
  136133. aj = c[gg >> 2] | 0;
  136134. c[gg >> 2] = aj + -1;
  136135. if (!aj) break;
  136136. if (
  136137. (c[Rf >> 2] | 0) >>> 0 <=
  136138. (c[ag >> 2] | 0) >>> 0
  136139. )
  136140. break;
  136141. c[sg >> 2] =
  136142. (c[Sf >> 2] | 0) +
  136143. (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
  136144. c[tg >> 2] =
  136145. (c[Vf >> 2] | 0) >>> 0 <
  136146. (c[Wf >> 2] | 0) >>> 0
  136147. ? c[Vf >> 2] | 0
  136148. : c[Wf >> 2] | 0;
  136149. if (
  136150. c[Ef >> 2] | 0
  136151. ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  136152. 0) >>>
  136153. 0 <
  136154. (c[Yf >> 2] | 0) >>> 0
  136155. : 0
  136156. ) {
  136157. c[ug >> 2] =
  136158. (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
  136159. aj =
  136160. Uj(
  136161. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  136162. 0,
  136163. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  136164. 0,
  136165. c[Df >> 2] | 0,
  136166. c[Zf >> 2] | 0,
  136167. c[_f >> 2] | 0
  136168. ) | 0;
  136169. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  136170. if (
  136171. (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
  136172. 0) >>>
  136173. 0 >=
  136174. (c[Yf >> 2] | 0) >>> 0
  136175. )
  136176. c[ug >> 2] =
  136177. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  136178. } else {
  136179. c[ug >> 2] =
  136180. (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
  136181. aj =
  136182. Tj(
  136183. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  136184. 0,
  136185. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
  136186. 0,
  136187. c[Df >> 2] | 0
  136188. ) | 0;
  136189. c[tg >> 2] = (c[tg >> 2] | 0) + aj;
  136190. }
  136191. if (
  136192. (c[tg >> 2] | 0) >>> 0 >
  136193. (c[hg >> 2] | 0) >>> 0
  136194. ) {
  136195. if (
  136196. (c[tg >> 2] | 0) >>> 0 >
  136197. (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
  136198. 0) >>>
  136199. 0
  136200. )
  136201. c[dg >> 2] =
  136202. (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
  136203. c[hg >> 2] = c[tg >> 2];
  136204. c[
  136205. ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
  136206. 2
  136207. ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
  136208. c[
  136209. ((c[Hf >> 2] | 0) +
  136210. (c[fg >> 2] << 3) +
  136211. 4) >>
  136212. 2
  136213. ] = c[tg >> 2];
  136214. c[fg >> 2] = (c[fg >> 2] | 0) + 1;
  136215. if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
  136216. if (
  136217. (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
  136218. 0) ==
  136219. (c[Df >> 2] | 0)
  136220. )
  136221. break;
  136222. }
  136223. aj = c[Rf >> 2] | 0;
  136224. if (
  136225. (d[
  136226. ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  136227. ] |
  136228. 0 |
  136229. 0) <
  136230. (d[
  136231. ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
  136232. ] |
  136233. 0 |
  136234. 0)
  136235. ) {
  136236. c[c[bg >> 2] >> 2] = aj;
  136237. c[Vf >> 2] = c[tg >> 2];
  136238. if (
  136239. (c[Rf >> 2] | 0) >>> 0 <=
  136240. (c[$f >> 2] | 0) >>> 0
  136241. ) {
  136242. dj = 109;
  136243. break;
  136244. }
  136245. c[bg >> 2] = (c[sg >> 2] | 0) + 4;
  136246. c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
  136247. } else {
  136248. c[c[cg >> 2] >> 2] = aj;
  136249. c[Wf >> 2] = c[tg >> 2];
  136250. if (
  136251. (c[Rf >> 2] | 0) >>> 0 <=
  136252. (c[$f >> 2] | 0) >>> 0
  136253. ) {
  136254. dj = 112;
  136255. break;
  136256. }
  136257. c[cg >> 2] = c[sg >> 2];
  136258. c[Rf >> 2] = c[c[sg >> 2] >> 2];
  136259. }
  136260. }
  136261. if ((dj | 0) == 109) {
  136262. dj = 0;
  136263. c[bg >> 2] = eg;
  136264. } else if ((dj | 0) == 112) {
  136265. dj = 0;
  136266. c[cg >> 2] = eg;
  136267. }
  136268. c[c[cg >> 2] >> 2] = 0;
  136269. c[c[bg >> 2] >> 2] = 0;
  136270. c[((c[Af >> 2] | 0) + 24) >> 2] =
  136271. (c[dg >> 2] | 0) - 8;
  136272. c[zf >> 2] = c[fg >> 2];
  136273. }
  136274. } while (0);
  136275. c[Ah >> 2] = c[zf >> 2];
  136276. break a;
  136277. }
  136278. }
  136279. }
  136280. } while (0);
  136281. c[ki >> 2] = c[Ah >> 2];
  136282. if (!(c[ki >> 2] | 0)) {
  136283. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  136284. continue;
  136285. }
  136286. c[li >> 2] = 0;
  136287. while (1) {
  136288. if ((c[li >> 2] | 0) >>> 0 >= 3) break;
  136289. c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
  136290. c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
  136291. c[li >> 2] = (c[li >> 2] | 0) + 1;
  136292. }
  136293. c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
  136294. c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
  136295. c[mi >> 2] =
  136296. c[
  136297. ((c[ci >> 2] | 0) +
  136298. (((c[ki >> 2] | 0) - 1) << 3) +
  136299. 4) >>
  136300. 2
  136301. ];
  136302. do {
  136303. if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
  136304. c[ni >> 2] =
  136305. om(
  136306. di,
  136307. c[Wh >> 2] | 0,
  136308. c[ii >> 2] | 0,
  136309. c[Th >> 2] | 0
  136310. ) | 0;
  136311. c[oi >> 2] = 0;
  136312. while (1) {
  136313. if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
  136314. break;
  136315. c[
  136316. ((c[bi >> 2] | 0) +
  136317. (((c[oi >> 2] | 0) * 28) | 0) +
  136318. 8) >>
  136319. 2
  136320. ] = 1;
  136321. c[
  136322. ((c[bi >> 2] | 0) +
  136323. (((c[oi >> 2] | 0) * 28) | 0)) >>
  136324. 2
  136325. ] = 1073741824;
  136326. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  136327. }
  136328. c[pi >> 2] = 0;
  136329. while (1) {
  136330. if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
  136331. break;
  136332. c[qi >> 2] =
  136333. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
  136334. c[ri >> 2] =
  136335. c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
  136336. pm(
  136337. si,
  136338. c[Nh >> 2] | 0,
  136339. c[qi >> 2] | 0,
  136340. c[ji >> 2] | 0
  136341. );
  136342. while (1) {
  136343. if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
  136344. break;
  136345. aj = c[ni >> 2] | 0;
  136346. Zh = c[oi >> 2] | 0;
  136347. Uh = c[Th >> 2] | 0;
  136348. _i = c[Rh >> 2] | 0;
  136349. c[yd >> 2] = c[qi >> 2];
  136350. c[zd >> 2] = Zh;
  136351. c[Ad >> 2] = Uh;
  136352. c[Bd >> 2] = _i;
  136353. c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
  136354. c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
  136355. if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
  136356. _i =
  136357. ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
  136358. c[xd >> 2] = _i + (c[Dd >> 2] | 0);
  136359. } else {
  136360. _i =
  136361. ((c[Dd >> 2] | 0) +
  136362. (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
  136363. 0;
  136364. c[Cd >> 2] =
  136365. _i -
  136366. (qm(
  136367. ((c[
  136368. ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
  136369. (c[Dd >> 2] << 2)) >>
  136370. 2
  136371. ] |
  136372. 0) +
  136373. 1) |
  136374. 0
  136375. ) |
  136376. 0);
  136377. if (
  136378. ((c[Bd >> 2] | 0) < 2) &
  136379. ((c[Dd >> 2] | 0) >>> 0 >= 20)
  136380. )
  136381. c[Cd >> 2] =
  136382. (c[Cd >> 2] | 0) +
  136383. (((c[Dd >> 2] | 0) - 19) << 1);
  136384. c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
  136385. _i =
  136386. ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
  136387. (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
  136388. 0;
  136389. Uh =
  136390. (_i -
  136391. (qm(
  136392. ((c[
  136393. ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
  136394. (c[Fd >> 2] << 2)) >>
  136395. 2
  136396. ] |
  136397. 0) +
  136398. 1) |
  136399. 0
  136400. ) |
  136401. 0)) |
  136402. 0;
  136403. c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
  136404. c[xd >> 2] = c[Cd >> 2];
  136405. }
  136406. c[ti >> 2] = aj + (c[xd >> 2] | 0);
  136407. c[
  136408. ((c[bi >> 2] | 0) +
  136409. (((c[oi >> 2] | 0) * 28) | 0) +
  136410. 8) >>
  136411. 2
  136412. ] = c[oi >> 2];
  136413. c[
  136414. ((c[bi >> 2] | 0) +
  136415. (((c[oi >> 2] | 0) * 28) | 0) +
  136416. 4) >>
  136417. 2
  136418. ] = c[qi >> 2];
  136419. c[
  136420. ((c[bi >> 2] | 0) +
  136421. (((c[oi >> 2] | 0) * 28) | 0) +
  136422. 12) >>
  136423. 2
  136424. ] = c[ii >> 2];
  136425. c[
  136426. ((c[bi >> 2] | 0) +
  136427. (((c[oi >> 2] | 0) * 28) | 0)) >>
  136428. 2
  136429. ] = c[ti >> 2];
  136430. aj =
  136431. ((c[bi >> 2] | 0) +
  136432. (((c[oi >> 2] | 0) * 28) | 0) +
  136433. 16) |
  136434. 0;
  136435. c[aj >> 2] = c[si >> 2];
  136436. c[(aj + 4) >> 2] = c[(si + 4) >> 2];
  136437. c[(aj + 8) >> 2] = c[(si + 8) >> 2];
  136438. c[oi >> 2] = (c[oi >> 2] | 0) + 1;
  136439. }
  136440. c[pi >> 2] = (c[pi >> 2] | 0) + 1;
  136441. }
  136442. c[fi >> 2] = (c[oi >> 2] | 0) - 1;
  136443. c[ei >> 2] = 1;
  136444. b: while (1) {
  136445. if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
  136446. dj = 504;
  136447. break;
  136448. }
  136449. c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
  136450. if (
  136451. (c[
  136452. ((c[bi >> 2] | 0) +
  136453. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  136454. 8) >>
  136455. 2
  136456. ] |
  136457. 0) ==
  136458. 1
  136459. )
  136460. oj =
  136461. ((c[
  136462. ((c[bi >> 2] | 0) +
  136463. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  136464. 12) >>
  136465. 2
  136466. ] |
  136467. 0) +
  136468. 1) |
  136469. 0;
  136470. else oj = 1;
  136471. c[vi >> 2] = oj;
  136472. if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
  136473. aj =
  136474. c[
  136475. ((c[bi >> 2] | 0) +
  136476. (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
  136477. 0) *
  136478. 28) |
  136479. 0)) >>
  136480. 2
  136481. ] | 0;
  136482. c[wi >> 2] =
  136483. aj +
  136484. (sm(
  136485. ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
  136486. c[vi >> 2] | 0,
  136487. c[Th >> 2] | 0
  136488. ) |
  136489. 0);
  136490. } else
  136491. c[wi >> 2] =
  136492. tm(
  136493. di,
  136494. c[Wh >> 2] | 0,
  136495. c[vi >> 2] | 0,
  136496. c[Th >> 2] | 0
  136497. ) | 0;
  136498. if (
  136499. (c[wi >> 2] | 0) <=
  136500. (c[
  136501. ((c[bi >> 2] | 0) +
  136502. (((c[ei >> 2] | 0) * 28) | 0)) >>
  136503. 2
  136504. ] |
  136505. 0)
  136506. ) {
  136507. c[
  136508. ((c[bi >> 2] | 0) +
  136509. (((c[ei >> 2] | 0) * 28) | 0) +
  136510. 8) >>
  136511. 2
  136512. ] = 1;
  136513. c[
  136514. ((c[bi >> 2] | 0) +
  136515. (((c[ei >> 2] | 0) * 28) | 0) +
  136516. 4) >>
  136517. 2
  136518. ] = 0;
  136519. c[
  136520. ((c[bi >> 2] | 0) +
  136521. (((c[ei >> 2] | 0) * 28) | 0) +
  136522. 12) >>
  136523. 2
  136524. ] = c[vi >> 2];
  136525. c[
  136526. ((c[bi >> 2] | 0) +
  136527. (((c[ei >> 2] | 0) * 28) | 0)) >>
  136528. 2
  136529. ] = c[wi >> 2];
  136530. aj =
  136531. ((c[bi >> 2] | 0) +
  136532. (((c[ei >> 2] | 0) * 28) | 0) +
  136533. 16) |
  136534. 0;
  136535. Uh =
  136536. ((c[bi >> 2] | 0) +
  136537. (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
  136538. 16) |
  136539. 0;
  136540. c[aj >> 2] = c[Uh >> 2];
  136541. c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
  136542. c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
  136543. }
  136544. c: do {
  136545. if (
  136546. (c[ui >> 2] | 0) >>> 0 <=
  136547. (c[Yh >> 2] | 0) >>> 0
  136548. ) {
  136549. if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
  136550. dj = 504;
  136551. break b;
  136552. }
  136553. if (
  136554. (c[Rh >> 2] | 0) == 0
  136555. ? (c[
  136556. ((c[bi >> 2] | 0) +
  136557. (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
  136558. 0)) >>
  136559. 2
  136560. ] |
  136561. 0) <=
  136562. (c[
  136563. ((c[bi >> 2] | 0) +
  136564. (((c[ei >> 2] | 0) * 28) | 0)) >>
  136565. 2
  136566. ] |
  136567. 0)
  136568. : 0
  136569. )
  136570. break;
  136571. c[xi >> 2] =
  136572. ((c[
  136573. ((c[bi >> 2] | 0) +
  136574. (((c[ei >> 2] | 0) * 28) | 0) +
  136575. 8) >>
  136576. 2
  136577. ] |
  136578. 0) !=
  136579. 1) &
  136580. 1;
  136581. if (
  136582. (c[
  136583. ((c[bi >> 2] | 0) +
  136584. (((c[ei >> 2] | 0) * 28) | 0) +
  136585. 8) >>
  136586. 2
  136587. ] |
  136588. 0) ==
  136589. 1
  136590. )
  136591. pj =
  136592. c[
  136593. ((c[bi >> 2] | 0) +
  136594. (((c[ei >> 2] | 0) * 28) | 0) +
  136595. 12) >>
  136596. 2
  136597. ] | 0;
  136598. else pj = 0;
  136599. c[yi >> 2] = pj;
  136600. if (
  136601. (c[ei >> 2] | 0) >>> 0 >
  136602. (c[yi >> 2] | 0) >>> 0
  136603. )
  136604. qj =
  136605. c[
  136606. ((c[bi >> 2] | 0) +
  136607. (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
  136608. 0) *
  136609. 28) |
  136610. 0)) >>
  136611. 2
  136612. ] | 0;
  136613. else qj = 0;
  136614. c[zi >> 2] = qj;
  136615. Uh = c[zi >> 2] | 0;
  136616. c[Ai >> 2] =
  136617. Uh +
  136618. (um(
  136619. ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
  136620. 0,
  136621. c[yi >> 2] | 0,
  136622. c[Th >> 2] | 0
  136623. ) |
  136624. 0);
  136625. Uh = c[Oh >> 2] | 0;
  136626. aj = c[ui >> 2] | 0;
  136627. _i = c[Xh >> 2] | 0;
  136628. Zh = c[Sh >> 2] | 0;
  136629. Zi =
  136630. ((c[bi >> 2] | 0) +
  136631. (((c[ei >> 2] | 0) * 28) | 0) +
  136632. 16) |
  136633. 0;
  136634. Ph = c[xi >> 2] | 0;
  136635. Qh = c[ci >> 2] | 0;
  136636. _h = c[ai >> 2] | 0;
  136637. c[nd >> 2] = c[Lh >> 2];
  136638. c[od >> 2] = Uh;
  136639. c[pd >> 2] = aj;
  136640. c[qd >> 2] = _i;
  136641. c[rd >> 2] = Zh;
  136642. c[sd >> 2] = Zi;
  136643. c[td >> 2] = Ph;
  136644. c[ud >> 2] = Qh;
  136645. c[vd >> 2] = _h;
  136646. c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
  136647. d: do {
  136648. if (
  136649. (c[pd >> 2] | 0) >>> 0 <
  136650. (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
  136651. (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
  136652. 0) >>>
  136653. 0
  136654. )
  136655. c[md >> 2] = 0;
  136656. else {
  136657. _h = c[od >> 2] | 0;
  136658. Qh = c[pd >> 2] | 0;
  136659. Ph = c[qd >> 2] | 0;
  136660. Zi = c[wd >> 2] | 0;
  136661. Zh = c[rd >> 2] | 0;
  136662. c[dd >> 2] = c[nd >> 2];
  136663. c[ed >> 2] = _h;
  136664. c[fd >> 2] = Qh;
  136665. c[gd >> 2] = Ph;
  136666. c[hd >> 2] = Zi;
  136667. c[id >> 2] = Zh;
  136668. c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
  136669. c[kd >> 2] =
  136670. (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
  136671. c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
  136672. while (1) {
  136673. if (
  136674. (c[ld >> 2] | 0) >>> 0 >=
  136675. (c[kd >> 2] | 0) >>> 0
  136676. )
  136677. break;
  136678. Zh =
  136679. Rj(
  136680. c[dd >> 2] | 0,
  136681. c[ed >> 2] | 0,
  136682. ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
  136683. 0,
  136684. c[gd >> 2] | 0,
  136685. c[hd >> 2] | 0,
  136686. c[id >> 2] | 0
  136687. ) | 0;
  136688. c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
  136689. }
  136690. c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
  136691. switch (c[wd >> 2] | 0) {
  136692. case 3: {
  136693. Zh = c[od >> 2] | 0;
  136694. Zi = c[pd >> 2] | 0;
  136695. Ph = c[qd >> 2] | 0;
  136696. Qh = c[rd >> 2] | 0;
  136697. _h = c[sd >> 2] | 0;
  136698. _i = c[td >> 2] | 0;
  136699. aj = c[ud >> 2] | 0;
  136700. Uh = c[vd >> 2] | 0;
  136701. c[ic >> 2] = c[nd >> 2];
  136702. c[jc >> 2] = Zh;
  136703. c[kc >> 2] = Zi;
  136704. c[lc >> 2] = Ph;
  136705. c[mc >> 2] = Qh;
  136706. c[nc >> 2] = _h;
  136707. c[oc >> 2] = _i;
  136708. c[pc >> 2] = aj;
  136709. c[qc >> 2] = Uh;
  136710. c[rc >> 2] = 3;
  136711. if (
  136712. (c[((c[jc >> 2] | 0) + 20) >> 2] |
  136713. 0) >>>
  136714. 0 <
  136715. 4095
  136716. )
  136717. rj =
  136718. c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
  136719. else rj = 4095;
  136720. c[sc >> 2] = rj;
  136721. c[tc >> 2] =
  136722. c[((c[ic >> 2] | 0) + 4) >> 2];
  136723. c[uc >> 2] =
  136724. (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
  136725. c[vc >> 2] =
  136726. c[((c[jc >> 2] | 0) + 8) >> 2];
  136727. c[wc >> 2] =
  136728. (c[rc >> 2] | 0) == 3 ? 3 : 4;
  136729. c[xc >> 2] =
  136730. c[((c[ic >> 2] | 0) + 36) >> 2];
  136731. c[yc >> 2] =
  136732. Sj(
  136733. c[kc >> 2] | 0,
  136734. c[vc >> 2] | 0,
  136735. c[rc >> 2] | 0
  136736. ) | 0;
  136737. c[zc >> 2] =
  136738. c[
  136739. ((c[xc >> 2] | 0) +
  136740. (c[yc >> 2] << 2)) >>
  136741. 2
  136742. ];
  136743. c[Ac >> 2] =
  136744. c[((c[ic >> 2] | 0) + 44) >> 2];
  136745. c[Bc >> 2] =
  136746. (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
  136747. 1;
  136748. c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
  136749. c[Dc >> 2] = 0;
  136750. c[Ec >> 2] = 0;
  136751. c[Fc >> 2] =
  136752. c[((c[ic >> 2] | 0) + 8) >> 2];
  136753. c[Gc >> 2] =
  136754. c[((c[ic >> 2] | 0) + 12) >> 2];
  136755. c[Hc >> 2] =
  136756. (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
  136757. c[Ic >> 2] =
  136758. (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
  136759. if (
  136760. (c[Cc >> 2] | 0) >>> 0 >=
  136761. (c[uc >> 2] | 0) >>> 0
  136762. )
  136763. sj = 0;
  136764. else
  136765. sj =
  136766. ((c[uc >> 2] | 0) -
  136767. (c[Cc >> 2] | 0)) |
  136768. 0;
  136769. c[Jc >> 2] = sj;
  136770. c[Kc >> 2] =
  136771. c[((c[ic >> 2] | 0) + 16) >> 2];
  136772. c[Lc >> 2] =
  136773. (c[Ac >> 2] | 0) +
  136774. (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
  136775. c[Mc >> 2] =
  136776. (c[Ac >> 2] | 0) +
  136777. (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
  136778. 2) +
  136779. 4;
  136780. c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
  136781. c[Pc >> 2] = 0;
  136782. c[Qc >> 2] =
  136783. 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
  136784. c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
  136785. c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
  136786. c[Tc >> 2] = c[oc >> 2];
  136787. while (1) {
  136788. if (
  136789. (c[Tc >> 2] | 0) >>> 0 >=
  136790. (c[Sc >> 2] | 0) >>> 0
  136791. ) {
  136792. dj = 287;
  136793. break;
  136794. }
  136795. Uh = c[nc >> 2] | 0;
  136796. if ((c[Tc >> 2] | 0) == 3)
  136797. tj = ((c[Uh >> 2] | 0) - 1) | 0;
  136798. else
  136799. tj =
  136800. c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
  136801. 0;
  136802. c[Uc >> 2] = tj;
  136803. c[Vc >> 2] =
  136804. (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
  136805. c[Wc >> 2] = 0;
  136806. do {
  136807. if (
  136808. (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
  136809. (((c[uc >> 2] | 0) -
  136810. (c[Gc >> 2] | 0)) |
  136811. 0) >>>
  136812. 0
  136813. ) {
  136814. Uh =
  136815. mm(
  136816. c[kc >> 2] | 0,
  136817. c[wc >> 2] | 0
  136818. ) | 0;
  136819. if (
  136820. (Uh | 0) !=
  136821. (mm(
  136822. ((c[kc >> 2] | 0) +
  136823. (0 - (c[Uc >> 2] | 0))) |
  136824. 0,
  136825. c[wc >> 2] | 0
  136826. ) |
  136827. 0)
  136828. )
  136829. break;
  136830. Uh =
  136831. Tj(
  136832. ((c[kc >> 2] | 0) +
  136833. (c[wc >> 2] | 0)) |
  136834. 0,
  136835. ((c[kc >> 2] | 0) +
  136836. (c[wc >> 2] | 0) +
  136837. (0 - (c[Uc >> 2] | 0))) |
  136838. 0,
  136839. c[lc >> 2] | 0
  136840. ) | 0;
  136841. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  136842. } else {
  136843. c[Xc >> 2] =
  136844. (c[Fc >> 2] | 0) +
  136845. (c[Vc >> 2] | 0);
  136846. if (!(c[mc >> 2] | 0)) break;
  136847. if (
  136848. !(
  136849. ((((c[Gc >> 2] | 0) -
  136850. 1 -
  136851. (c[Vc >> 2] | 0)) |
  136852. 0) >>>
  136853. 0 >=
  136854. 3
  136855. ? (((c[Uc >> 2] | 0) - 1) |
  136856. 0) >>>
  136857. 0 <
  136858. (((c[uc >> 2] | 0) -
  136859. (c[Kc >> 2] | 0)) |
  136860. 0) >>>
  136861. 0
  136862. : 0) | 0
  136863. )
  136864. )
  136865. break;
  136866. Uh =
  136867. mm(
  136868. c[kc >> 2] | 0,
  136869. c[wc >> 2] | 0
  136870. ) | 0;
  136871. if (
  136872. (Uh | 0) !=
  136873. (mm(
  136874. c[Xc >> 2] | 0,
  136875. c[wc >> 2] | 0
  136876. ) |
  136877. 0)
  136878. )
  136879. break;
  136880. Uh =
  136881. Uj(
  136882. ((c[kc >> 2] | 0) +
  136883. (c[wc >> 2] | 0)) |
  136884. 0,
  136885. ((c[Xc >> 2] | 0) +
  136886. (c[wc >> 2] | 0)) |
  136887. 0,
  136888. c[lc >> 2] | 0,
  136889. c[Hc >> 2] | 0,
  136890. c[Ic >> 2] | 0
  136891. ) | 0;
  136892. c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
  136893. }
  136894. } while (0);
  136895. if (
  136896. (c[Wc >> 2] | 0) >>> 0 >
  136897. (c[Rc >> 2] | 0) >>> 0
  136898. ? ((c[Rc >> 2] = c[Wc >> 2]),
  136899. (c[
  136900. ((c[pc >> 2] | 0) +
  136901. (c[Pc >> 2] << 3)) >>
  136902. 2
  136903. ] =
  136904. (c[Tc >> 2] | 0) -
  136905. (c[oc >> 2] | 0)),
  136906. (c[
  136907. ((c[pc >> 2] | 0) +
  136908. (c[Pc >> 2] << 3) +
  136909. 4) >>
  136910. 2
  136911. ] = c[Wc >> 2]),
  136912. (c[Pc >> 2] =
  136913. (c[Pc >> 2] | 0) + 1),
  136914. ((c[Wc >> 2] | 0) >>> 0 >
  136915. (c[sc >> 2] | 0) >>> 0
  136916. ? 1
  136917. : (((c[kc >> 2] | 0) +
  136918. (c[Wc >> 2] | 0)) |
  136919. 0) ==
  136920. (c[lc >> 2] | 0)) | 0)
  136921. : 0
  136922. ) {
  136923. dj = 285;
  136924. break;
  136925. }
  136926. c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
  136927. }
  136928. e: do {
  136929. if ((dj | 0) == 285) {
  136930. dj = 0;
  136931. c[hc >> 2] = c[Pc >> 2];
  136932. } else if ((dj | 0) == 287) {
  136933. dj = 0;
  136934. do {
  136935. if ((c[rc >> 2] | 0) == 3) {
  136936. if (
  136937. (c[Rc >> 2] | 0) >>> 0 >=
  136938. (c[rc >> 2] | 0) >>> 0
  136939. )
  136940. break;
  136941. c[Yc >> 2] =
  136942. nm(
  136943. c[ic >> 2] | 0,
  136944. c[kc >> 2] | 0
  136945. ) | 0;
  136946. if (
  136947. !(
  136948. ((c[Yc >> 2] | 0) >>> 0 >
  136949. (c[Kc >> 2] | 0) >>> 0
  136950. ? (((c[uc >> 2] | 0) -
  136951. (c[Yc >> 2] | 0)) |
  136952. 0) >>>
  136953. 0 <
  136954. 262144
  136955. : 0) | 0
  136956. )
  136957. )
  136958. break;
  136959. do {
  136960. if (c[mc >> 2] | 0) {
  136961. if (
  136962. (c[Yc >> 2] | 0) >>> 0 >=
  136963. (c[Gc >> 2] | 0) >>> 0
  136964. ) {
  136965. dj = 292;
  136966. break;
  136967. }
  136968. c[$c >> 2] =
  136969. (c[Fc >> 2] | 0) +
  136970. (c[Yc >> 2] | 0);
  136971. c[Zc >> 2] =
  136972. Uj(
  136973. c[kc >> 2] | 0,
  136974. c[$c >> 2] | 0,
  136975. c[lc >> 2] | 0,
  136976. c[Hc >> 2] | 0,
  136977. c[Ic >> 2] | 0
  136978. ) | 0;
  136979. } else dj = 292;
  136980. } while (0);
  136981. if ((dj | 0) == 292) {
  136982. dj = 0;
  136983. c[_c >> 2] =
  136984. (c[tc >> 2] | 0) +
  136985. (c[Yc >> 2] | 0);
  136986. c[Zc >> 2] =
  136987. Tj(
  136988. c[kc >> 2] | 0,
  136989. c[_c >> 2] | 0,
  136990. c[lc >> 2] | 0
  136991. ) | 0;
  136992. }
  136993. if (
  136994. (c[Zc >> 2] | 0) >>> 0 <
  136995. (c[rc >> 2] | 0) >>> 0
  136996. )
  136997. break;
  136998. c[Rc >> 2] = c[Zc >> 2];
  136999. c[c[pc >> 2] >> 2] =
  137000. (c[uc >> 2] | 0) -
  137001. (c[Yc >> 2] | 0) +
  137002. 2;
  137003. c[((c[pc >> 2] | 0) + 4) >> 2] =
  137004. c[Zc >> 2];
  137005. c[Pc >> 2] = 1;
  137006. if (
  137007. !(
  137008. ((c[Zc >> 2] | 0) >>> 0 >
  137009. (c[sc >> 2] | 0) >>> 0
  137010. ? 1
  137011. : (((c[kc >> 2] | 0) +
  137012. (c[Zc >> 2] | 0)) |
  137013. 0) ==
  137014. (c[lc >> 2] | 0)) | 0
  137015. )
  137016. )
  137017. break;
  137018. c[((c[ic >> 2] | 0) + 24) >> 2] =
  137019. (c[uc >> 2] | 0) + 1;
  137020. c[hc >> 2] = 1;
  137021. break e;
  137022. }
  137023. } while (0);
  137024. c[
  137025. ((c[xc >> 2] | 0) +
  137026. (c[yc >> 2] << 2)) >>
  137027. 2
  137028. ] = c[uc >> 2];
  137029. while (1) {
  137030. Uh = c[Qc >> 2] | 0;
  137031. c[Qc >> 2] = Uh + -1;
  137032. if (!Uh) break;
  137033. if (
  137034. (c[zc >> 2] | 0) >>> 0 <=
  137035. (c[Kc >> 2] | 0) >>> 0
  137036. )
  137037. break;
  137038. c[ad >> 2] =
  137039. (c[Ac >> 2] | 0) +
  137040. (((c[zc >> 2] & c[Cc >> 2]) <<
  137041. 1) <<
  137042. 2);
  137043. c[bd >> 2] =
  137044. (c[Dc >> 2] | 0) >>> 0 <
  137045. (c[Ec >> 2] | 0) >>> 0
  137046. ? c[Dc >> 2] | 0
  137047. : c[Ec >> 2] | 0;
  137048. do {
  137049. if (c[mc >> 2] | 0) {
  137050. if (
  137051. (((c[zc >> 2] | 0) +
  137052. (c[bd >> 2] | 0)) |
  137053. 0) >>>
  137054. 0 >=
  137055. (c[Gc >> 2] | 0) >>> 0
  137056. ) {
  137057. dj = 302;
  137058. break;
  137059. }
  137060. c[cd >> 2] =
  137061. (c[Fc >> 2] | 0) +
  137062. (c[zc >> 2] | 0);
  137063. Uh =
  137064. Uj(
  137065. ((c[kc >> 2] | 0) +
  137066. (c[bd >> 2] | 0)) |
  137067. 0,
  137068. ((c[cd >> 2] | 0) +
  137069. (c[bd >> 2] | 0)) |
  137070. 0,
  137071. c[lc >> 2] | 0,
  137072. c[Hc >> 2] | 0,
  137073. c[Ic >> 2] | 0
  137074. ) | 0;
  137075. c[bd >> 2] =
  137076. (c[bd >> 2] | 0) + Uh;
  137077. if (
  137078. (((c[zc >> 2] | 0) +
  137079. (c[bd >> 2] | 0)) |
  137080. 0) >>>
  137081. 0 <
  137082. (c[Gc >> 2] | 0) >>> 0
  137083. )
  137084. break;
  137085. c[cd >> 2] =
  137086. (c[tc >> 2] | 0) +
  137087. (c[zc >> 2] | 0);
  137088. } else dj = 302;
  137089. } while (0);
  137090. if ((dj | 0) == 302) {
  137091. dj = 0;
  137092. c[cd >> 2] =
  137093. (c[tc >> 2] | 0) +
  137094. (c[zc >> 2] | 0);
  137095. Uh =
  137096. Tj(
  137097. ((c[kc >> 2] | 0) +
  137098. (c[bd >> 2] | 0)) |
  137099. 0,
  137100. ((c[cd >> 2] | 0) +
  137101. (c[bd >> 2] | 0)) |
  137102. 0,
  137103. c[lc >> 2] | 0
  137104. ) | 0;
  137105. c[bd >> 2] =
  137106. (c[bd >> 2] | 0) + Uh;
  137107. }
  137108. if (
  137109. (c[bd >> 2] | 0) >>> 0 >
  137110. (c[Rc >> 2] | 0) >>> 0
  137111. ) {
  137112. if (
  137113. (c[bd >> 2] | 0) >>> 0 >
  137114. (((c[Nc >> 2] | 0) -
  137115. (c[zc >> 2] | 0)) |
  137116. 0) >>>
  137117. 0
  137118. )
  137119. c[Nc >> 2] =
  137120. (c[zc >> 2] | 0) +
  137121. (c[bd >> 2] | 0);
  137122. c[Rc >> 2] = c[bd >> 2];
  137123. c[
  137124. ((c[pc >> 2] | 0) +
  137125. (c[Pc >> 2] << 3)) >>
  137126. 2
  137127. ] =
  137128. (c[uc >> 2] | 0) -
  137129. (c[zc >> 2] | 0) +
  137130. 2;
  137131. c[
  137132. ((c[pc >> 2] | 0) +
  137133. (c[Pc >> 2] << 3) +
  137134. 4) >>
  137135. 2
  137136. ] = c[bd >> 2];
  137137. c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
  137138. if ((c[bd >> 2] | 0) >>> 0 > 4096)
  137139. break;
  137140. if (
  137141. (((c[kc >> 2] | 0) +
  137142. (c[bd >> 2] | 0)) |
  137143. 0) ==
  137144. (c[lc >> 2] | 0)
  137145. )
  137146. break;
  137147. }
  137148. Uh = c[zc >> 2] | 0;
  137149. if (
  137150. (d[
  137151. ((c[cd >> 2] | 0) +
  137152. (c[bd >> 2] | 0)) >>
  137153. 0
  137154. ] |
  137155. 0 |
  137156. 0) <
  137157. (d[
  137158. ((c[kc >> 2] | 0) +
  137159. (c[bd >> 2] | 0)) >>
  137160. 0
  137161. ] |
  137162. 0 |
  137163. 0)
  137164. ) {
  137165. c[c[Lc >> 2] >> 2] = Uh;
  137166. c[Dc >> 2] = c[bd >> 2];
  137167. if (
  137168. (c[zc >> 2] | 0) >>> 0 <=
  137169. (c[Jc >> 2] | 0) >>> 0
  137170. ) {
  137171. dj = 312;
  137172. break;
  137173. }
  137174. c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
  137175. c[zc >> 2] =
  137176. c[((c[ad >> 2] | 0) + 4) >> 2];
  137177. } else {
  137178. c[c[Mc >> 2] >> 2] = Uh;
  137179. c[Ec >> 2] = c[bd >> 2];
  137180. if (
  137181. (c[zc >> 2] | 0) >>> 0 <=
  137182. (c[Jc >> 2] | 0) >>> 0
  137183. ) {
  137184. dj = 315;
  137185. break;
  137186. }
  137187. c[Mc >> 2] = c[ad >> 2];
  137188. c[zc >> 2] = c[c[ad >> 2] >> 2];
  137189. }
  137190. }
  137191. if ((dj | 0) == 312) {
  137192. dj = 0;
  137193. c[Lc >> 2] = Oc;
  137194. } else if ((dj | 0) == 315) {
  137195. dj = 0;
  137196. c[Mc >> 2] = Oc;
  137197. }
  137198. c[c[Mc >> 2] >> 2] = 0;
  137199. c[c[Lc >> 2] >> 2] = 0;
  137200. c[((c[ic >> 2] | 0) + 24) >> 2] =
  137201. (c[Nc >> 2] | 0) - 8;
  137202. c[hc >> 2] = c[Pc >> 2];
  137203. }
  137204. } while (0);
  137205. c[md >> 2] = c[hc >> 2];
  137206. break d;
  137207. break;
  137208. }
  137209. case 7:
  137210. case 6: {
  137211. Uh = c[od >> 2] | 0;
  137212. aj = c[pd >> 2] | 0;
  137213. _i = c[qd >> 2] | 0;
  137214. _h = c[rd >> 2] | 0;
  137215. Qh = c[sd >> 2] | 0;
  137216. Ph = c[td >> 2] | 0;
  137217. Zi = c[ud >> 2] | 0;
  137218. Zh = c[vd >> 2] | 0;
  137219. c[u >> 2] = c[nd >> 2];
  137220. c[v >> 2] = Uh;
  137221. c[w >> 2] = aj;
  137222. c[x >> 2] = _i;
  137223. c[y >> 2] = _h;
  137224. c[z >> 2] = Qh;
  137225. c[A >> 2] = Ph;
  137226. c[B >> 2] = Zi;
  137227. c[C >> 2] = Zh;
  137228. c[D >> 2] = 6;
  137229. if (
  137230. (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
  137231. 0 <
  137232. 4095
  137233. )
  137234. uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
  137235. else uj = 4095;
  137236. c[E >> 2] = uj;
  137237. c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
  137238. c[G >> 2] =
  137239. (c[w >> 2] | 0) - (c[F >> 2] | 0);
  137240. c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
  137241. c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
  137242. c[J >> 2] =
  137243. c[((c[u >> 2] | 0) + 36) >> 2];
  137244. c[K >> 2] =
  137245. Sj(
  137246. c[w >> 2] | 0,
  137247. c[H >> 2] | 0,
  137248. c[D >> 2] | 0
  137249. ) | 0;
  137250. c[L >> 2] =
  137251. c[
  137252. ((c[J >> 2] | 0) +
  137253. (c[K >> 2] << 2)) >>
  137254. 2
  137255. ];
  137256. c[M >> 2] =
  137257. c[((c[u >> 2] | 0) + 44) >> 2];
  137258. c[N >> 2] =
  137259. (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
  137260. c[O >> 2] = (1 << c[N >> 2]) - 1;
  137261. c[P >> 2] = 0;
  137262. c[Q >> 2] = 0;
  137263. c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
  137264. c[S >> 2] =
  137265. c[((c[u >> 2] | 0) + 12) >> 2];
  137266. c[T >> 2] =
  137267. (c[R >> 2] | 0) + (c[S >> 2] | 0);
  137268. c[U >> 2] =
  137269. (c[F >> 2] | 0) + (c[S >> 2] | 0);
  137270. if (
  137271. (c[O >> 2] | 0) >>> 0 >=
  137272. (c[G >> 2] | 0) >>> 0
  137273. )
  137274. vj = 0;
  137275. else
  137276. vj =
  137277. ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
  137278. 0;
  137279. c[V >> 2] = vj;
  137280. c[W >> 2] =
  137281. c[((c[u >> 2] | 0) + 16) >> 2];
  137282. c[X >> 2] =
  137283. (c[M >> 2] | 0) +
  137284. (((c[G >> 2] & c[O >> 2]) << 1) << 2);
  137285. c[Y >> 2] =
  137286. (c[M >> 2] | 0) +
  137287. (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
  137288. 4;
  137289. c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
  137290. c[$ >> 2] = 0;
  137291. c[aa >> 2] =
  137292. 1 << c[((c[v >> 2] | 0) + 12) >> 2];
  137293. c[ba >> 2] = (c[C >> 2] | 0) - 1;
  137294. c[ca >> 2] = 3 + (c[A >> 2] | 0);
  137295. c[da >> 2] = c[A >> 2];
  137296. while (1) {
  137297. if (
  137298. (c[da >> 2] | 0) >>> 0 >=
  137299. (c[ca >> 2] | 0) >>> 0
  137300. ) {
  137301. dj = 446;
  137302. break;
  137303. }
  137304. Zh = c[z >> 2] | 0;
  137305. if ((c[da >> 2] | 0) == 3)
  137306. wj = ((c[Zh >> 2] | 0) - 1) | 0;
  137307. else
  137308. wj =
  137309. c[(Zh + (c[da >> 2] << 2)) >> 2] |
  137310. 0;
  137311. c[ea >> 2] = wj;
  137312. c[fa >> 2] =
  137313. (c[G >> 2] | 0) - (c[ea >> 2] | 0);
  137314. c[ga >> 2] = 0;
  137315. do {
  137316. if (
  137317. (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
  137318. (((c[G >> 2] | 0) -
  137319. (c[S >> 2] | 0)) |
  137320. 0) >>>
  137321. 0
  137322. ) {
  137323. Zh =
  137324. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  137325. 0;
  137326. if (
  137327. (Zh | 0) !=
  137328. (mm(
  137329. ((c[w >> 2] | 0) +
  137330. (0 - (c[ea >> 2] | 0))) |
  137331. 0,
  137332. c[I >> 2] | 0
  137333. ) |
  137334. 0)
  137335. )
  137336. break;
  137337. Zh =
  137338. Tj(
  137339. ((c[w >> 2] | 0) +
  137340. (c[I >> 2] | 0)) |
  137341. 0,
  137342. ((c[w >> 2] | 0) +
  137343. (c[I >> 2] | 0) +
  137344. (0 - (c[ea >> 2] | 0))) |
  137345. 0,
  137346. c[x >> 2] | 0
  137347. ) | 0;
  137348. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  137349. } else {
  137350. c[ha >> 2] =
  137351. (c[R >> 2] | 0) +
  137352. (c[fa >> 2] | 0);
  137353. if (!(c[y >> 2] | 0)) break;
  137354. if (
  137355. !(
  137356. ((((c[S >> 2] | 0) -
  137357. 1 -
  137358. (c[fa >> 2] | 0)) |
  137359. 0) >>>
  137360. 0 >=
  137361. 3
  137362. ? (((c[ea >> 2] | 0) - 1) |
  137363. 0) >>>
  137364. 0 <
  137365. (((c[G >> 2] | 0) -
  137366. (c[W >> 2] | 0)) |
  137367. 0) >>>
  137368. 0
  137369. : 0) | 0
  137370. )
  137371. )
  137372. break;
  137373. Zh =
  137374. mm(c[w >> 2] | 0, c[I >> 2] | 0) |
  137375. 0;
  137376. if (
  137377. (Zh | 0) !=
  137378. (mm(
  137379. c[ha >> 2] | 0,
  137380. c[I >> 2] | 0
  137381. ) |
  137382. 0)
  137383. )
  137384. break;
  137385. Zh =
  137386. Uj(
  137387. ((c[w >> 2] | 0) +
  137388. (c[I >> 2] | 0)) |
  137389. 0,
  137390. ((c[ha >> 2] | 0) +
  137391. (c[I >> 2] | 0)) |
  137392. 0,
  137393. c[x >> 2] | 0,
  137394. c[T >> 2] | 0,
  137395. c[U >> 2] | 0
  137396. ) | 0;
  137397. c[ga >> 2] = Zh + (c[I >> 2] | 0);
  137398. }
  137399. } while (0);
  137400. if (
  137401. (c[ga >> 2] | 0) >>> 0 >
  137402. (c[ba >> 2] | 0) >>> 0
  137403. ? ((c[ba >> 2] = c[ga >> 2]),
  137404. (c[
  137405. ((c[B >> 2] | 0) +
  137406. (c[$ >> 2] << 3)) >>
  137407. 2
  137408. ] =
  137409. (c[da >> 2] | 0) -
  137410. (c[A >> 2] | 0)),
  137411. (c[
  137412. ((c[B >> 2] | 0) +
  137413. (c[$ >> 2] << 3) +
  137414. 4) >>
  137415. 2
  137416. ] = c[ga >> 2]),
  137417. (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
  137418. ((c[ga >> 2] | 0) >>> 0 >
  137419. (c[E >> 2] | 0) >>> 0
  137420. ? 1
  137421. : (((c[w >> 2] | 0) +
  137422. (c[ga >> 2] | 0)) |
  137423. 0) ==
  137424. (c[x >> 2] | 0)) | 0)
  137425. : 0
  137426. ) {
  137427. dj = 444;
  137428. break;
  137429. }
  137430. c[da >> 2] = (c[da >> 2] | 0) + 1;
  137431. }
  137432. f: do {
  137433. if ((dj | 0) == 444) {
  137434. dj = 0;
  137435. c[t >> 2] = c[$ >> 2];
  137436. } else if ((dj | 0) == 446) {
  137437. dj = 0;
  137438. do {
  137439. if ((c[D >> 2] | 0) == 3) {
  137440. if (
  137441. (c[ba >> 2] | 0) >>> 0 >=
  137442. (c[D >> 2] | 0) >>> 0
  137443. )
  137444. break;
  137445. c[ia >> 2] =
  137446. nm(
  137447. c[u >> 2] | 0,
  137448. c[w >> 2] | 0
  137449. ) | 0;
  137450. if (
  137451. !(
  137452. ((c[ia >> 2] | 0) >>> 0 >
  137453. (c[W >> 2] | 0) >>> 0
  137454. ? (((c[G >> 2] | 0) -
  137455. (c[ia >> 2] | 0)) |
  137456. 0) >>>
  137457. 0 <
  137458. 262144
  137459. : 0) | 0
  137460. )
  137461. )
  137462. break;
  137463. do {
  137464. if (c[y >> 2] | 0) {
  137465. if (
  137466. (c[ia >> 2] | 0) >>> 0 >=
  137467. (c[S >> 2] | 0) >>> 0
  137468. ) {
  137469. dj = 451;
  137470. break;
  137471. }
  137472. c[la >> 2] =
  137473. (c[R >> 2] | 0) +
  137474. (c[ia >> 2] | 0);
  137475. c[ja >> 2] =
  137476. Uj(
  137477. c[w >> 2] | 0,
  137478. c[la >> 2] | 0,
  137479. c[x >> 2] | 0,
  137480. c[T >> 2] | 0,
  137481. c[U >> 2] | 0
  137482. ) | 0;
  137483. } else dj = 451;
  137484. } while (0);
  137485. if ((dj | 0) == 451) {
  137486. dj = 0;
  137487. c[ka >> 2] =
  137488. (c[F >> 2] | 0) +
  137489. (c[ia >> 2] | 0);
  137490. c[ja >> 2] =
  137491. Tj(
  137492. c[w >> 2] | 0,
  137493. c[ka >> 2] | 0,
  137494. c[x >> 2] | 0
  137495. ) | 0;
  137496. }
  137497. if (
  137498. (c[ja >> 2] | 0) >>> 0 <
  137499. (c[D >> 2] | 0) >>> 0
  137500. )
  137501. break;
  137502. c[ba >> 2] = c[ja >> 2];
  137503. c[c[B >> 2] >> 2] =
  137504. (c[G >> 2] | 0) -
  137505. (c[ia >> 2] | 0) +
  137506. 2;
  137507. c[((c[B >> 2] | 0) + 4) >> 2] =
  137508. c[ja >> 2];
  137509. c[$ >> 2] = 1;
  137510. if (
  137511. !(
  137512. ((c[ja >> 2] | 0) >>> 0 >
  137513. (c[E >> 2] | 0) >>> 0
  137514. ? 1
  137515. : (((c[w >> 2] | 0) +
  137516. (c[ja >> 2] | 0)) |
  137517. 0) ==
  137518. (c[x >> 2] | 0)) | 0
  137519. )
  137520. )
  137521. break;
  137522. c[((c[u >> 2] | 0) + 24) >> 2] =
  137523. (c[G >> 2] | 0) + 1;
  137524. c[t >> 2] = 1;
  137525. break f;
  137526. }
  137527. } while (0);
  137528. c[
  137529. ((c[J >> 2] | 0) +
  137530. (c[K >> 2] << 2)) >>
  137531. 2
  137532. ] = c[G >> 2];
  137533. while (1) {
  137534. Zh = c[aa >> 2] | 0;
  137535. c[aa >> 2] = Zh + -1;
  137536. if (!Zh) break;
  137537. if (
  137538. (c[L >> 2] | 0) >>> 0 <=
  137539. (c[W >> 2] | 0) >>> 0
  137540. )
  137541. break;
  137542. c[ma >> 2] =
  137543. (c[M >> 2] | 0) +
  137544. (((c[L >> 2] & c[O >> 2]) << 1) <<
  137545. 2);
  137546. c[na >> 2] =
  137547. (c[P >> 2] | 0) >>> 0 <
  137548. (c[Q >> 2] | 0) >>> 0
  137549. ? c[P >> 2] | 0
  137550. : c[Q >> 2] | 0;
  137551. do {
  137552. if (c[y >> 2] | 0) {
  137553. if (
  137554. (((c[L >> 2] | 0) +
  137555. (c[na >> 2] | 0)) |
  137556. 0) >>>
  137557. 0 >=
  137558. (c[S >> 2] | 0) >>> 0
  137559. ) {
  137560. dj = 461;
  137561. break;
  137562. }
  137563. c[oa >> 2] =
  137564. (c[R >> 2] | 0) +
  137565. (c[L >> 2] | 0);
  137566. Zh =
  137567. Uj(
  137568. ((c[w >> 2] | 0) +
  137569. (c[na >> 2] | 0)) |
  137570. 0,
  137571. ((c[oa >> 2] | 0) +
  137572. (c[na >> 2] | 0)) |
  137573. 0,
  137574. c[x >> 2] | 0,
  137575. c[T >> 2] | 0,
  137576. c[U >> 2] | 0
  137577. ) | 0;
  137578. c[na >> 2] =
  137579. (c[na >> 2] | 0) + Zh;
  137580. if (
  137581. (((c[L >> 2] | 0) +
  137582. (c[na >> 2] | 0)) |
  137583. 0) >>>
  137584. 0 <
  137585. (c[S >> 2] | 0) >>> 0
  137586. )
  137587. break;
  137588. c[oa >> 2] =
  137589. (c[F >> 2] | 0) +
  137590. (c[L >> 2] | 0);
  137591. } else dj = 461;
  137592. } while (0);
  137593. if ((dj | 0) == 461) {
  137594. dj = 0;
  137595. c[oa >> 2] =
  137596. (c[F >> 2] | 0) +
  137597. (c[L >> 2] | 0);
  137598. Zh =
  137599. Tj(
  137600. ((c[w >> 2] | 0) +
  137601. (c[na >> 2] | 0)) |
  137602. 0,
  137603. ((c[oa >> 2] | 0) +
  137604. (c[na >> 2] | 0)) |
  137605. 0,
  137606. c[x >> 2] | 0
  137607. ) | 0;
  137608. c[na >> 2] =
  137609. (c[na >> 2] | 0) + Zh;
  137610. }
  137611. if (
  137612. (c[na >> 2] | 0) >>> 0 >
  137613. (c[ba >> 2] | 0) >>> 0
  137614. ) {
  137615. if (
  137616. (c[na >> 2] | 0) >>> 0 >
  137617. (((c[Z >> 2] | 0) -
  137618. (c[L >> 2] | 0)) |
  137619. 0) >>>
  137620. 0
  137621. )
  137622. c[Z >> 2] =
  137623. (c[L >> 2] | 0) +
  137624. (c[na >> 2] | 0);
  137625. c[ba >> 2] = c[na >> 2];
  137626. c[
  137627. ((c[B >> 2] | 0) +
  137628. (c[$ >> 2] << 3)) >>
  137629. 2
  137630. ] =
  137631. (c[G >> 2] | 0) -
  137632. (c[L >> 2] | 0) +
  137633. 2;
  137634. c[
  137635. ((c[B >> 2] | 0) +
  137636. (c[$ >> 2] << 3) +
  137637. 4) >>
  137638. 2
  137639. ] = c[na >> 2];
  137640. c[$ >> 2] = (c[$ >> 2] | 0) + 1;
  137641. if ((c[na >> 2] | 0) >>> 0 > 4096)
  137642. break;
  137643. if (
  137644. (((c[w >> 2] | 0) +
  137645. (c[na >> 2] | 0)) |
  137646. 0) ==
  137647. (c[x >> 2] | 0)
  137648. )
  137649. break;
  137650. }
  137651. Zh = c[L >> 2] | 0;
  137652. if (
  137653. (d[
  137654. ((c[oa >> 2] | 0) +
  137655. (c[na >> 2] | 0)) >>
  137656. 0
  137657. ] |
  137658. 0 |
  137659. 0) <
  137660. (d[
  137661. ((c[w >> 2] | 0) +
  137662. (c[na >> 2] | 0)) >>
  137663. 0
  137664. ] |
  137665. 0 |
  137666. 0)
  137667. ) {
  137668. c[c[X >> 2] >> 2] = Zh;
  137669. c[P >> 2] = c[na >> 2];
  137670. if (
  137671. (c[L >> 2] | 0) >>> 0 <=
  137672. (c[V >> 2] | 0) >>> 0
  137673. ) {
  137674. dj = 471;
  137675. break;
  137676. }
  137677. c[X >> 2] = (c[ma >> 2] | 0) + 4;
  137678. c[L >> 2] =
  137679. c[((c[ma >> 2] | 0) + 4) >> 2];
  137680. } else {
  137681. c[c[Y >> 2] >> 2] = Zh;
  137682. c[Q >> 2] = c[na >> 2];
  137683. if (
  137684. (c[L >> 2] | 0) >>> 0 <=
  137685. (c[V >> 2] | 0) >>> 0
  137686. ) {
  137687. dj = 474;
  137688. break;
  137689. }
  137690. c[Y >> 2] = c[ma >> 2];
  137691. c[L >> 2] = c[c[ma >> 2] >> 2];
  137692. }
  137693. }
  137694. if ((dj | 0) == 471) {
  137695. dj = 0;
  137696. c[X >> 2] = _;
  137697. } else if ((dj | 0) == 474) {
  137698. dj = 0;
  137699. c[Y >> 2] = _;
  137700. }
  137701. c[c[Y >> 2] >> 2] = 0;
  137702. c[c[X >> 2] >> 2] = 0;
  137703. c[((c[u >> 2] | 0) + 24) >> 2] =
  137704. (c[Z >> 2] | 0) - 8;
  137705. c[t >> 2] = c[$ >> 2];
  137706. }
  137707. } while (0);
  137708. c[md >> 2] = c[t >> 2];
  137709. break d;
  137710. break;
  137711. }
  137712. case 5: {
  137713. Zh = c[od >> 2] | 0;
  137714. Zi = c[pd >> 2] | 0;
  137715. Ph = c[qd >> 2] | 0;
  137716. Qh = c[rd >> 2] | 0;
  137717. _h = c[sd >> 2] | 0;
  137718. _i = c[td >> 2] | 0;
  137719. aj = c[ud >> 2] | 0;
  137720. Uh = c[vd >> 2] | 0;
  137721. c[qa >> 2] = c[nd >> 2];
  137722. c[ra >> 2] = Zh;
  137723. c[sa >> 2] = Zi;
  137724. c[ta >> 2] = Ph;
  137725. c[ua >> 2] = Qh;
  137726. c[va >> 2] = _h;
  137727. c[wa >> 2] = _i;
  137728. c[xa >> 2] = aj;
  137729. c[ya >> 2] = Uh;
  137730. c[za >> 2] = 5;
  137731. if (
  137732. (c[((c[ra >> 2] | 0) + 20) >> 2] |
  137733. 0) >>>
  137734. 0 <
  137735. 4095
  137736. )
  137737. xj =
  137738. c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
  137739. else xj = 4095;
  137740. c[Aa >> 2] = xj;
  137741. c[Ba >> 2] =
  137742. c[((c[qa >> 2] | 0) + 4) >> 2];
  137743. c[Ca >> 2] =
  137744. (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
  137745. c[Da >> 2] =
  137746. c[((c[ra >> 2] | 0) + 8) >> 2];
  137747. c[Ea >> 2] =
  137748. (c[za >> 2] | 0) == 3 ? 3 : 4;
  137749. c[Fa >> 2] =
  137750. c[((c[qa >> 2] | 0) + 36) >> 2];
  137751. c[Ga >> 2] =
  137752. Sj(
  137753. c[sa >> 2] | 0,
  137754. c[Da >> 2] | 0,
  137755. c[za >> 2] | 0
  137756. ) | 0;
  137757. c[Ha >> 2] =
  137758. c[
  137759. ((c[Fa >> 2] | 0) +
  137760. (c[Ga >> 2] << 2)) >>
  137761. 2
  137762. ];
  137763. c[Ia >> 2] =
  137764. c[((c[qa >> 2] | 0) + 44) >> 2];
  137765. c[Ja >> 2] =
  137766. (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
  137767. 1;
  137768. c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
  137769. c[La >> 2] = 0;
  137770. c[Ma >> 2] = 0;
  137771. c[Na >> 2] =
  137772. c[((c[qa >> 2] | 0) + 8) >> 2];
  137773. c[Oa >> 2] =
  137774. c[((c[qa >> 2] | 0) + 12) >> 2];
  137775. c[Pa >> 2] =
  137776. (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
  137777. c[Qa >> 2] =
  137778. (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
  137779. if (
  137780. (c[Ka >> 2] | 0) >>> 0 >=
  137781. (c[Ca >> 2] | 0) >>> 0
  137782. )
  137783. yj = 0;
  137784. else
  137785. yj =
  137786. ((c[Ca >> 2] | 0) -
  137787. (c[Ka >> 2] | 0)) |
  137788. 0;
  137789. c[Ra >> 2] = yj;
  137790. c[Sa >> 2] =
  137791. c[((c[qa >> 2] | 0) + 16) >> 2];
  137792. c[Ta >> 2] =
  137793. (c[Ia >> 2] | 0) +
  137794. (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
  137795. c[Ua >> 2] =
  137796. (c[Ia >> 2] | 0) +
  137797. (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
  137798. 2) +
  137799. 4;
  137800. c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
  137801. c[Xa >> 2] = 0;
  137802. c[Ya >> 2] =
  137803. 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
  137804. c[Za >> 2] = (c[ya >> 2] | 0) - 1;
  137805. c[_a >> 2] = 3 + (c[wa >> 2] | 0);
  137806. c[$a >> 2] = c[wa >> 2];
  137807. while (1) {
  137808. if (
  137809. (c[$a >> 2] | 0) >>> 0 >=
  137810. (c[_a >> 2] | 0) >>> 0
  137811. ) {
  137812. dj = 393;
  137813. break;
  137814. }
  137815. Uh = c[va >> 2] | 0;
  137816. if ((c[$a >> 2] | 0) == 3)
  137817. zj = ((c[Uh >> 2] | 0) - 1) | 0;
  137818. else
  137819. zj =
  137820. c[(Uh + (c[$a >> 2] << 2)) >> 2] |
  137821. 0;
  137822. c[ab >> 2] = zj;
  137823. c[bb >> 2] =
  137824. (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
  137825. c[cb >> 2] = 0;
  137826. do {
  137827. if (
  137828. (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
  137829. (((c[Ca >> 2] | 0) -
  137830. (c[Oa >> 2] | 0)) |
  137831. 0) >>>
  137832. 0
  137833. ) {
  137834. Uh =
  137835. mm(
  137836. c[sa >> 2] | 0,
  137837. c[Ea >> 2] | 0
  137838. ) | 0;
  137839. if (
  137840. (Uh | 0) !=
  137841. (mm(
  137842. ((c[sa >> 2] | 0) +
  137843. (0 - (c[ab >> 2] | 0))) |
  137844. 0,
  137845. c[Ea >> 2] | 0
  137846. ) |
  137847. 0)
  137848. )
  137849. break;
  137850. Uh =
  137851. Tj(
  137852. ((c[sa >> 2] | 0) +
  137853. (c[Ea >> 2] | 0)) |
  137854. 0,
  137855. ((c[sa >> 2] | 0) +
  137856. (c[Ea >> 2] | 0) +
  137857. (0 - (c[ab >> 2] | 0))) |
  137858. 0,
  137859. c[ta >> 2] | 0
  137860. ) | 0;
  137861. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  137862. } else {
  137863. c[db >> 2] =
  137864. (c[Na >> 2] | 0) +
  137865. (c[bb >> 2] | 0);
  137866. if (!(c[ua >> 2] | 0)) break;
  137867. if (
  137868. !(
  137869. ((((c[Oa >> 2] | 0) -
  137870. 1 -
  137871. (c[bb >> 2] | 0)) |
  137872. 0) >>>
  137873. 0 >=
  137874. 3
  137875. ? (((c[ab >> 2] | 0) - 1) |
  137876. 0) >>>
  137877. 0 <
  137878. (((c[Ca >> 2] | 0) -
  137879. (c[Sa >> 2] | 0)) |
  137880. 0) >>>
  137881. 0
  137882. : 0) | 0
  137883. )
  137884. )
  137885. break;
  137886. Uh =
  137887. mm(
  137888. c[sa >> 2] | 0,
  137889. c[Ea >> 2] | 0
  137890. ) | 0;
  137891. if (
  137892. (Uh | 0) !=
  137893. (mm(
  137894. c[db >> 2] | 0,
  137895. c[Ea >> 2] | 0
  137896. ) |
  137897. 0)
  137898. )
  137899. break;
  137900. Uh =
  137901. Uj(
  137902. ((c[sa >> 2] | 0) +
  137903. (c[Ea >> 2] | 0)) |
  137904. 0,
  137905. ((c[db >> 2] | 0) +
  137906. (c[Ea >> 2] | 0)) |
  137907. 0,
  137908. c[ta >> 2] | 0,
  137909. c[Pa >> 2] | 0,
  137910. c[Qa >> 2] | 0
  137911. ) | 0;
  137912. c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
  137913. }
  137914. } while (0);
  137915. if (
  137916. (c[cb >> 2] | 0) >>> 0 >
  137917. (c[Za >> 2] | 0) >>> 0
  137918. ? ((c[Za >> 2] = c[cb >> 2]),
  137919. (c[
  137920. ((c[xa >> 2] | 0) +
  137921. (c[Xa >> 2] << 3)) >>
  137922. 2
  137923. ] =
  137924. (c[$a >> 2] | 0) -
  137925. (c[wa >> 2] | 0)),
  137926. (c[
  137927. ((c[xa >> 2] | 0) +
  137928. (c[Xa >> 2] << 3) +
  137929. 4) >>
  137930. 2
  137931. ] = c[cb >> 2]),
  137932. (c[Xa >> 2] =
  137933. (c[Xa >> 2] | 0) + 1),
  137934. ((c[cb >> 2] | 0) >>> 0 >
  137935. (c[Aa >> 2] | 0) >>> 0
  137936. ? 1
  137937. : (((c[sa >> 2] | 0) +
  137938. (c[cb >> 2] | 0)) |
  137939. 0) ==
  137940. (c[ta >> 2] | 0)) | 0)
  137941. : 0
  137942. ) {
  137943. dj = 391;
  137944. break;
  137945. }
  137946. c[$a >> 2] = (c[$a >> 2] | 0) + 1;
  137947. }
  137948. g: do {
  137949. if ((dj | 0) == 391) {
  137950. dj = 0;
  137951. c[pa >> 2] = c[Xa >> 2];
  137952. } else if ((dj | 0) == 393) {
  137953. dj = 0;
  137954. do {
  137955. if ((c[za >> 2] | 0) == 3) {
  137956. if (
  137957. (c[Za >> 2] | 0) >>> 0 >=
  137958. (c[za >> 2] | 0) >>> 0
  137959. )
  137960. break;
  137961. c[eb >> 2] =
  137962. nm(
  137963. c[qa >> 2] | 0,
  137964. c[sa >> 2] | 0
  137965. ) | 0;
  137966. if (
  137967. !(
  137968. ((c[eb >> 2] | 0) >>> 0 >
  137969. (c[Sa >> 2] | 0) >>> 0
  137970. ? (((c[Ca >> 2] | 0) -
  137971. (c[eb >> 2] | 0)) |
  137972. 0) >>>
  137973. 0 <
  137974. 262144
  137975. : 0) | 0
  137976. )
  137977. )
  137978. break;
  137979. do {
  137980. if (c[ua >> 2] | 0) {
  137981. if (
  137982. (c[eb >> 2] | 0) >>> 0 >=
  137983. (c[Oa >> 2] | 0) >>> 0
  137984. ) {
  137985. dj = 398;
  137986. break;
  137987. }
  137988. c[hb >> 2] =
  137989. (c[Na >> 2] | 0) +
  137990. (c[eb >> 2] | 0);
  137991. c[fb >> 2] =
  137992. Uj(
  137993. c[sa >> 2] | 0,
  137994. c[hb >> 2] | 0,
  137995. c[ta >> 2] | 0,
  137996. c[Pa >> 2] | 0,
  137997. c[Qa >> 2] | 0
  137998. ) | 0;
  137999. } else dj = 398;
  138000. } while (0);
  138001. if ((dj | 0) == 398) {
  138002. dj = 0;
  138003. c[gb >> 2] =
  138004. (c[Ba >> 2] | 0) +
  138005. (c[eb >> 2] | 0);
  138006. c[fb >> 2] =
  138007. Tj(
  138008. c[sa >> 2] | 0,
  138009. c[gb >> 2] | 0,
  138010. c[ta >> 2] | 0
  138011. ) | 0;
  138012. }
  138013. if (
  138014. (c[fb >> 2] | 0) >>> 0 <
  138015. (c[za >> 2] | 0) >>> 0
  138016. )
  138017. break;
  138018. c[Za >> 2] = c[fb >> 2];
  138019. c[c[xa >> 2] >> 2] =
  138020. (c[Ca >> 2] | 0) -
  138021. (c[eb >> 2] | 0) +
  138022. 2;
  138023. c[((c[xa >> 2] | 0) + 4) >> 2] =
  138024. c[fb >> 2];
  138025. c[Xa >> 2] = 1;
  138026. if (
  138027. !(
  138028. ((c[fb >> 2] | 0) >>> 0 >
  138029. (c[Aa >> 2] | 0) >>> 0
  138030. ? 1
  138031. : (((c[sa >> 2] | 0) +
  138032. (c[fb >> 2] | 0)) |
  138033. 0) ==
  138034. (c[ta >> 2] | 0)) | 0
  138035. )
  138036. )
  138037. break;
  138038. c[((c[qa >> 2] | 0) + 24) >> 2] =
  138039. (c[Ca >> 2] | 0) + 1;
  138040. c[pa >> 2] = 1;
  138041. break g;
  138042. }
  138043. } while (0);
  138044. c[
  138045. ((c[Fa >> 2] | 0) +
  138046. (c[Ga >> 2] << 2)) >>
  138047. 2
  138048. ] = c[Ca >> 2];
  138049. while (1) {
  138050. Uh = c[Ya >> 2] | 0;
  138051. c[Ya >> 2] = Uh + -1;
  138052. if (!Uh) break;
  138053. if (
  138054. (c[Ha >> 2] | 0) >>> 0 <=
  138055. (c[Sa >> 2] | 0) >>> 0
  138056. )
  138057. break;
  138058. c[ib >> 2] =
  138059. (c[Ia >> 2] | 0) +
  138060. (((c[Ha >> 2] & c[Ka >> 2]) <<
  138061. 1) <<
  138062. 2);
  138063. c[jb >> 2] =
  138064. (c[La >> 2] | 0) >>> 0 <
  138065. (c[Ma >> 2] | 0) >>> 0
  138066. ? c[La >> 2] | 0
  138067. : c[Ma >> 2] | 0;
  138068. do {
  138069. if (c[ua >> 2] | 0) {
  138070. if (
  138071. (((c[Ha >> 2] | 0) +
  138072. (c[jb >> 2] | 0)) |
  138073. 0) >>>
  138074. 0 >=
  138075. (c[Oa >> 2] | 0) >>> 0
  138076. ) {
  138077. dj = 408;
  138078. break;
  138079. }
  138080. c[kb >> 2] =
  138081. (c[Na >> 2] | 0) +
  138082. (c[Ha >> 2] | 0);
  138083. Uh =
  138084. Uj(
  138085. ((c[sa >> 2] | 0) +
  138086. (c[jb >> 2] | 0)) |
  138087. 0,
  138088. ((c[kb >> 2] | 0) +
  138089. (c[jb >> 2] | 0)) |
  138090. 0,
  138091. c[ta >> 2] | 0,
  138092. c[Pa >> 2] | 0,
  138093. c[Qa >> 2] | 0
  138094. ) | 0;
  138095. c[jb >> 2] =
  138096. (c[jb >> 2] | 0) + Uh;
  138097. if (
  138098. (((c[Ha >> 2] | 0) +
  138099. (c[jb >> 2] | 0)) |
  138100. 0) >>>
  138101. 0 <
  138102. (c[Oa >> 2] | 0) >>> 0
  138103. )
  138104. break;
  138105. c[kb >> 2] =
  138106. (c[Ba >> 2] | 0) +
  138107. (c[Ha >> 2] | 0);
  138108. } else dj = 408;
  138109. } while (0);
  138110. if ((dj | 0) == 408) {
  138111. dj = 0;
  138112. c[kb >> 2] =
  138113. (c[Ba >> 2] | 0) +
  138114. (c[Ha >> 2] | 0);
  138115. Uh =
  138116. Tj(
  138117. ((c[sa >> 2] | 0) +
  138118. (c[jb >> 2] | 0)) |
  138119. 0,
  138120. ((c[kb >> 2] | 0) +
  138121. (c[jb >> 2] | 0)) |
  138122. 0,
  138123. c[ta >> 2] | 0
  138124. ) | 0;
  138125. c[jb >> 2] =
  138126. (c[jb >> 2] | 0) + Uh;
  138127. }
  138128. if (
  138129. (c[jb >> 2] | 0) >>> 0 >
  138130. (c[Za >> 2] | 0) >>> 0
  138131. ) {
  138132. if (
  138133. (c[jb >> 2] | 0) >>> 0 >
  138134. (((c[Va >> 2] | 0) -
  138135. (c[Ha >> 2] | 0)) |
  138136. 0) >>>
  138137. 0
  138138. )
  138139. c[Va >> 2] =
  138140. (c[Ha >> 2] | 0) +
  138141. (c[jb >> 2] | 0);
  138142. c[Za >> 2] = c[jb >> 2];
  138143. c[
  138144. ((c[xa >> 2] | 0) +
  138145. (c[Xa >> 2] << 3)) >>
  138146. 2
  138147. ] =
  138148. (c[Ca >> 2] | 0) -
  138149. (c[Ha >> 2] | 0) +
  138150. 2;
  138151. c[
  138152. ((c[xa >> 2] | 0) +
  138153. (c[Xa >> 2] << 3) +
  138154. 4) >>
  138155. 2
  138156. ] = c[jb >> 2];
  138157. c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
  138158. if ((c[jb >> 2] | 0) >>> 0 > 4096)
  138159. break;
  138160. if (
  138161. (((c[sa >> 2] | 0) +
  138162. (c[jb >> 2] | 0)) |
  138163. 0) ==
  138164. (c[ta >> 2] | 0)
  138165. )
  138166. break;
  138167. }
  138168. Uh = c[Ha >> 2] | 0;
  138169. if (
  138170. (d[
  138171. ((c[kb >> 2] | 0) +
  138172. (c[jb >> 2] | 0)) >>
  138173. 0
  138174. ] |
  138175. 0 |
  138176. 0) <
  138177. (d[
  138178. ((c[sa >> 2] | 0) +
  138179. (c[jb >> 2] | 0)) >>
  138180. 0
  138181. ] |
  138182. 0 |
  138183. 0)
  138184. ) {
  138185. c[c[Ta >> 2] >> 2] = Uh;
  138186. c[La >> 2] = c[jb >> 2];
  138187. if (
  138188. (c[Ha >> 2] | 0) >>> 0 <=
  138189. (c[Ra >> 2] | 0) >>> 0
  138190. ) {
  138191. dj = 418;
  138192. break;
  138193. }
  138194. c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
  138195. c[Ha >> 2] =
  138196. c[((c[ib >> 2] | 0) + 4) >> 2];
  138197. } else {
  138198. c[c[Ua >> 2] >> 2] = Uh;
  138199. c[Ma >> 2] = c[jb >> 2];
  138200. if (
  138201. (c[Ha >> 2] | 0) >>> 0 <=
  138202. (c[Ra >> 2] | 0) >>> 0
  138203. ) {
  138204. dj = 421;
  138205. break;
  138206. }
  138207. c[Ua >> 2] = c[ib >> 2];
  138208. c[Ha >> 2] = c[c[ib >> 2] >> 2];
  138209. }
  138210. }
  138211. if ((dj | 0) == 418) {
  138212. dj = 0;
  138213. c[Ta >> 2] = Wa;
  138214. } else if ((dj | 0) == 421) {
  138215. dj = 0;
  138216. c[Ua >> 2] = Wa;
  138217. }
  138218. c[c[Ua >> 2] >> 2] = 0;
  138219. c[c[Ta >> 2] >> 2] = 0;
  138220. c[((c[qa >> 2] | 0) + 24) >> 2] =
  138221. (c[Va >> 2] | 0) - 8;
  138222. c[pa >> 2] = c[Xa >> 2];
  138223. }
  138224. } while (0);
  138225. c[md >> 2] = c[pa >> 2];
  138226. break d;
  138227. break;
  138228. }
  138229. default: {
  138230. Uh = c[od >> 2] | 0;
  138231. aj = c[pd >> 2] | 0;
  138232. _i = c[qd >> 2] | 0;
  138233. _h = c[rd >> 2] | 0;
  138234. Qh = c[sd >> 2] | 0;
  138235. Ph = c[td >> 2] | 0;
  138236. Zi = c[ud >> 2] | 0;
  138237. Zh = c[vd >> 2] | 0;
  138238. c[mb >> 2] = c[nd >> 2];
  138239. c[nb >> 2] = Uh;
  138240. c[ob >> 2] = aj;
  138241. c[pb >> 2] = _i;
  138242. c[qb >> 2] = _h;
  138243. c[rb >> 2] = Qh;
  138244. c[sb >> 2] = Ph;
  138245. c[tb >> 2] = Zi;
  138246. c[ub >> 2] = Zh;
  138247. c[vb >> 2] = 4;
  138248. if (
  138249. (c[((c[nb >> 2] | 0) + 20) >> 2] |
  138250. 0) >>>
  138251. 0 <
  138252. 4095
  138253. )
  138254. Aj =
  138255. c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
  138256. else Aj = 4095;
  138257. c[wb >> 2] = Aj;
  138258. c[xb >> 2] =
  138259. c[((c[mb >> 2] | 0) + 4) >> 2];
  138260. c[yb >> 2] =
  138261. (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
  138262. c[zb >> 2] =
  138263. c[((c[nb >> 2] | 0) + 8) >> 2];
  138264. c[Ab >> 2] =
  138265. (c[vb >> 2] | 0) == 3 ? 3 : 4;
  138266. c[Bb >> 2] =
  138267. c[((c[mb >> 2] | 0) + 36) >> 2];
  138268. c[Cb >> 2] =
  138269. Sj(
  138270. c[ob >> 2] | 0,
  138271. c[zb >> 2] | 0,
  138272. c[vb >> 2] | 0
  138273. ) | 0;
  138274. c[Db >> 2] =
  138275. c[
  138276. ((c[Bb >> 2] | 0) +
  138277. (c[Cb >> 2] << 2)) >>
  138278. 2
  138279. ];
  138280. c[Eb >> 2] =
  138281. c[((c[mb >> 2] | 0) + 44) >> 2];
  138282. c[Fb >> 2] =
  138283. (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
  138284. 1;
  138285. c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
  138286. c[Hb >> 2] = 0;
  138287. c[Ib >> 2] = 0;
  138288. c[Jb >> 2] =
  138289. c[((c[mb >> 2] | 0) + 8) >> 2];
  138290. c[Kb >> 2] =
  138291. c[((c[mb >> 2] | 0) + 12) >> 2];
  138292. c[Lb >> 2] =
  138293. (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
  138294. c[Mb >> 2] =
  138295. (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
  138296. if (
  138297. (c[Gb >> 2] | 0) >>> 0 >=
  138298. (c[yb >> 2] | 0) >>> 0
  138299. )
  138300. Bj = 0;
  138301. else
  138302. Bj =
  138303. ((c[yb >> 2] | 0) -
  138304. (c[Gb >> 2] | 0)) |
  138305. 0;
  138306. c[Nb >> 2] = Bj;
  138307. c[Ob >> 2] =
  138308. c[((c[mb >> 2] | 0) + 16) >> 2];
  138309. c[Pb >> 2] =
  138310. (c[Eb >> 2] | 0) +
  138311. (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
  138312. c[Qb >> 2] =
  138313. (c[Eb >> 2] | 0) +
  138314. (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
  138315. 2) +
  138316. 4;
  138317. c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
  138318. c[Tb >> 2] = 0;
  138319. c[Ub >> 2] =
  138320. 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
  138321. c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
  138322. c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
  138323. c[Xb >> 2] = c[sb >> 2];
  138324. while (1) {
  138325. if (
  138326. (c[Xb >> 2] | 0) >>> 0 >=
  138327. (c[Wb >> 2] | 0) >>> 0
  138328. ) {
  138329. dj = 340;
  138330. break;
  138331. }
  138332. Zh = c[rb >> 2] | 0;
  138333. if ((c[Xb >> 2] | 0) == 3)
  138334. Cj = ((c[Zh >> 2] | 0) - 1) | 0;
  138335. else
  138336. Cj =
  138337. c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
  138338. 0;
  138339. c[Yb >> 2] = Cj;
  138340. c[Zb >> 2] =
  138341. (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
  138342. c[_b >> 2] = 0;
  138343. do {
  138344. if (
  138345. (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
  138346. (((c[yb >> 2] | 0) -
  138347. (c[Kb >> 2] | 0)) |
  138348. 0) >>>
  138349. 0
  138350. ) {
  138351. Zh =
  138352. mm(
  138353. c[ob >> 2] | 0,
  138354. c[Ab >> 2] | 0
  138355. ) | 0;
  138356. if (
  138357. (Zh | 0) !=
  138358. (mm(
  138359. ((c[ob >> 2] | 0) +
  138360. (0 - (c[Yb >> 2] | 0))) |
  138361. 0,
  138362. c[Ab >> 2] | 0
  138363. ) |
  138364. 0)
  138365. )
  138366. break;
  138367. Zh =
  138368. Tj(
  138369. ((c[ob >> 2] | 0) +
  138370. (c[Ab >> 2] | 0)) |
  138371. 0,
  138372. ((c[ob >> 2] | 0) +
  138373. (c[Ab >> 2] | 0) +
  138374. (0 - (c[Yb >> 2] | 0))) |
  138375. 0,
  138376. c[pb >> 2] | 0
  138377. ) | 0;
  138378. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  138379. } else {
  138380. c[$b >> 2] =
  138381. (c[Jb >> 2] | 0) +
  138382. (c[Zb >> 2] | 0);
  138383. if (!(c[qb >> 2] | 0)) break;
  138384. if (
  138385. !(
  138386. ((((c[Kb >> 2] | 0) -
  138387. 1 -
  138388. (c[Zb >> 2] | 0)) |
  138389. 0) >>>
  138390. 0 >=
  138391. 3
  138392. ? (((c[Yb >> 2] | 0) - 1) |
  138393. 0) >>>
  138394. 0 <
  138395. (((c[yb >> 2] | 0) -
  138396. (c[Ob >> 2] | 0)) |
  138397. 0) >>>
  138398. 0
  138399. : 0) | 0
  138400. )
  138401. )
  138402. break;
  138403. Zh =
  138404. mm(
  138405. c[ob >> 2] | 0,
  138406. c[Ab >> 2] | 0
  138407. ) | 0;
  138408. if (
  138409. (Zh | 0) !=
  138410. (mm(
  138411. c[$b >> 2] | 0,
  138412. c[Ab >> 2] | 0
  138413. ) |
  138414. 0)
  138415. )
  138416. break;
  138417. Zh =
  138418. Uj(
  138419. ((c[ob >> 2] | 0) +
  138420. (c[Ab >> 2] | 0)) |
  138421. 0,
  138422. ((c[$b >> 2] | 0) +
  138423. (c[Ab >> 2] | 0)) |
  138424. 0,
  138425. c[pb >> 2] | 0,
  138426. c[Lb >> 2] | 0,
  138427. c[Mb >> 2] | 0
  138428. ) | 0;
  138429. c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
  138430. }
  138431. } while (0);
  138432. if (
  138433. (c[_b >> 2] | 0) >>> 0 >
  138434. (c[Vb >> 2] | 0) >>> 0
  138435. ? ((c[Vb >> 2] = c[_b >> 2]),
  138436. (c[
  138437. ((c[tb >> 2] | 0) +
  138438. (c[Tb >> 2] << 3)) >>
  138439. 2
  138440. ] =
  138441. (c[Xb >> 2] | 0) -
  138442. (c[sb >> 2] | 0)),
  138443. (c[
  138444. ((c[tb >> 2] | 0) +
  138445. (c[Tb >> 2] << 3) +
  138446. 4) >>
  138447. 2
  138448. ] = c[_b >> 2]),
  138449. (c[Tb >> 2] =
  138450. (c[Tb >> 2] | 0) + 1),
  138451. ((c[_b >> 2] | 0) >>> 0 >
  138452. (c[wb >> 2] | 0) >>> 0
  138453. ? 1
  138454. : (((c[ob >> 2] | 0) +
  138455. (c[_b >> 2] | 0)) |
  138456. 0) ==
  138457. (c[pb >> 2] | 0)) | 0)
  138458. : 0
  138459. ) {
  138460. dj = 338;
  138461. break;
  138462. }
  138463. c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
  138464. }
  138465. h: do {
  138466. if ((dj | 0) == 338) {
  138467. dj = 0;
  138468. c[lb >> 2] = c[Tb >> 2];
  138469. } else if ((dj | 0) == 340) {
  138470. dj = 0;
  138471. do {
  138472. if ((c[vb >> 2] | 0) == 3) {
  138473. if (
  138474. (c[Vb >> 2] | 0) >>> 0 >=
  138475. (c[vb >> 2] | 0) >>> 0
  138476. )
  138477. break;
  138478. c[ac >> 2] =
  138479. nm(
  138480. c[mb >> 2] | 0,
  138481. c[ob >> 2] | 0
  138482. ) | 0;
  138483. if (
  138484. !(
  138485. ((c[ac >> 2] | 0) >>> 0 >
  138486. (c[Ob >> 2] | 0) >>> 0
  138487. ? (((c[yb >> 2] | 0) -
  138488. (c[ac >> 2] | 0)) |
  138489. 0) >>>
  138490. 0 <
  138491. 262144
  138492. : 0) | 0
  138493. )
  138494. )
  138495. break;
  138496. do {
  138497. if (c[qb >> 2] | 0) {
  138498. if (
  138499. (c[ac >> 2] | 0) >>> 0 >=
  138500. (c[Kb >> 2] | 0) >>> 0
  138501. ) {
  138502. dj = 345;
  138503. break;
  138504. }
  138505. c[dc >> 2] =
  138506. (c[Jb >> 2] | 0) +
  138507. (c[ac >> 2] | 0);
  138508. c[bc >> 2] =
  138509. Uj(
  138510. c[ob >> 2] | 0,
  138511. c[dc >> 2] | 0,
  138512. c[pb >> 2] | 0,
  138513. c[Lb >> 2] | 0,
  138514. c[Mb >> 2] | 0
  138515. ) | 0;
  138516. } else dj = 345;
  138517. } while (0);
  138518. if ((dj | 0) == 345) {
  138519. dj = 0;
  138520. c[cc >> 2] =
  138521. (c[xb >> 2] | 0) +
  138522. (c[ac >> 2] | 0);
  138523. c[bc >> 2] =
  138524. Tj(
  138525. c[ob >> 2] | 0,
  138526. c[cc >> 2] | 0,
  138527. c[pb >> 2] | 0
  138528. ) | 0;
  138529. }
  138530. if (
  138531. (c[bc >> 2] | 0) >>> 0 <
  138532. (c[vb >> 2] | 0) >>> 0
  138533. )
  138534. break;
  138535. c[Vb >> 2] = c[bc >> 2];
  138536. c[c[tb >> 2] >> 2] =
  138537. (c[yb >> 2] | 0) -
  138538. (c[ac >> 2] | 0) +
  138539. 2;
  138540. c[((c[tb >> 2] | 0) + 4) >> 2] =
  138541. c[bc >> 2];
  138542. c[Tb >> 2] = 1;
  138543. if (
  138544. !(
  138545. ((c[bc >> 2] | 0) >>> 0 >
  138546. (c[wb >> 2] | 0) >>> 0
  138547. ? 1
  138548. : (((c[ob >> 2] | 0) +
  138549. (c[bc >> 2] | 0)) |
  138550. 0) ==
  138551. (c[pb >> 2] | 0)) | 0
  138552. )
  138553. )
  138554. break;
  138555. c[((c[mb >> 2] | 0) + 24) >> 2] =
  138556. (c[yb >> 2] | 0) + 1;
  138557. c[lb >> 2] = 1;
  138558. break h;
  138559. }
  138560. } while (0);
  138561. c[
  138562. ((c[Bb >> 2] | 0) +
  138563. (c[Cb >> 2] << 2)) >>
  138564. 2
  138565. ] = c[yb >> 2];
  138566. while (1) {
  138567. Zh = c[Ub >> 2] | 0;
  138568. c[Ub >> 2] = Zh + -1;
  138569. if (!Zh) break;
  138570. if (
  138571. (c[Db >> 2] | 0) >>> 0 <=
  138572. (c[Ob >> 2] | 0) >>> 0
  138573. )
  138574. break;
  138575. c[ec >> 2] =
  138576. (c[Eb >> 2] | 0) +
  138577. (((c[Db >> 2] & c[Gb >> 2]) <<
  138578. 1) <<
  138579. 2);
  138580. c[fc >> 2] =
  138581. (c[Hb >> 2] | 0) >>> 0 <
  138582. (c[Ib >> 2] | 0) >>> 0
  138583. ? c[Hb >> 2] | 0
  138584. : c[Ib >> 2] | 0;
  138585. do {
  138586. if (c[qb >> 2] | 0) {
  138587. if (
  138588. (((c[Db >> 2] | 0) +
  138589. (c[fc >> 2] | 0)) |
  138590. 0) >>>
  138591. 0 >=
  138592. (c[Kb >> 2] | 0) >>> 0
  138593. ) {
  138594. dj = 355;
  138595. break;
  138596. }
  138597. c[gc >> 2] =
  138598. (c[Jb >> 2] | 0) +
  138599. (c[Db >> 2] | 0);
  138600. Zh =
  138601. Uj(
  138602. ((c[ob >> 2] | 0) +
  138603. (c[fc >> 2] | 0)) |
  138604. 0,
  138605. ((c[gc >> 2] | 0) +
  138606. (c[fc >> 2] | 0)) |
  138607. 0,
  138608. c[pb >> 2] | 0,
  138609. c[Lb >> 2] | 0,
  138610. c[Mb >> 2] | 0
  138611. ) | 0;
  138612. c[fc >> 2] =
  138613. (c[fc >> 2] | 0) + Zh;
  138614. if (
  138615. (((c[Db >> 2] | 0) +
  138616. (c[fc >> 2] | 0)) |
  138617. 0) >>>
  138618. 0 <
  138619. (c[Kb >> 2] | 0) >>> 0
  138620. )
  138621. break;
  138622. c[gc >> 2] =
  138623. (c[xb >> 2] | 0) +
  138624. (c[Db >> 2] | 0);
  138625. } else dj = 355;
  138626. } while (0);
  138627. if ((dj | 0) == 355) {
  138628. dj = 0;
  138629. c[gc >> 2] =
  138630. (c[xb >> 2] | 0) +
  138631. (c[Db >> 2] | 0);
  138632. Zh =
  138633. Tj(
  138634. ((c[ob >> 2] | 0) +
  138635. (c[fc >> 2] | 0)) |
  138636. 0,
  138637. ((c[gc >> 2] | 0) +
  138638. (c[fc >> 2] | 0)) |
  138639. 0,
  138640. c[pb >> 2] | 0
  138641. ) | 0;
  138642. c[fc >> 2] =
  138643. (c[fc >> 2] | 0) + Zh;
  138644. }
  138645. if (
  138646. (c[fc >> 2] | 0) >>> 0 >
  138647. (c[Vb >> 2] | 0) >>> 0
  138648. ) {
  138649. if (
  138650. (c[fc >> 2] | 0) >>> 0 >
  138651. (((c[Rb >> 2] | 0) -
  138652. (c[Db >> 2] | 0)) |
  138653. 0) >>>
  138654. 0
  138655. )
  138656. c[Rb >> 2] =
  138657. (c[Db >> 2] | 0) +
  138658. (c[fc >> 2] | 0);
  138659. c[Vb >> 2] = c[fc >> 2];
  138660. c[
  138661. ((c[tb >> 2] | 0) +
  138662. (c[Tb >> 2] << 3)) >>
  138663. 2
  138664. ] =
  138665. (c[yb >> 2] | 0) -
  138666. (c[Db >> 2] | 0) +
  138667. 2;
  138668. c[
  138669. ((c[tb >> 2] | 0) +
  138670. (c[Tb >> 2] << 3) +
  138671. 4) >>
  138672. 2
  138673. ] = c[fc >> 2];
  138674. c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
  138675. if ((c[fc >> 2] | 0) >>> 0 > 4096)
  138676. break;
  138677. if (
  138678. (((c[ob >> 2] | 0) +
  138679. (c[fc >> 2] | 0)) |
  138680. 0) ==
  138681. (c[pb >> 2] | 0)
  138682. )
  138683. break;
  138684. }
  138685. Zh = c[Db >> 2] | 0;
  138686. if (
  138687. (d[
  138688. ((c[gc >> 2] | 0) +
  138689. (c[fc >> 2] | 0)) >>
  138690. 0
  138691. ] |
  138692. 0 |
  138693. 0) <
  138694. (d[
  138695. ((c[ob >> 2] | 0) +
  138696. (c[fc >> 2] | 0)) >>
  138697. 0
  138698. ] |
  138699. 0 |
  138700. 0)
  138701. ) {
  138702. c[c[Pb >> 2] >> 2] = Zh;
  138703. c[Hb >> 2] = c[fc >> 2];
  138704. if (
  138705. (c[Db >> 2] | 0) >>> 0 <=
  138706. (c[Nb >> 2] | 0) >>> 0
  138707. ) {
  138708. dj = 365;
  138709. break;
  138710. }
  138711. c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
  138712. c[Db >> 2] =
  138713. c[((c[ec >> 2] | 0) + 4) >> 2];
  138714. } else {
  138715. c[c[Qb >> 2] >> 2] = Zh;
  138716. c[Ib >> 2] = c[fc >> 2];
  138717. if (
  138718. (c[Db >> 2] | 0) >>> 0 <=
  138719. (c[Nb >> 2] | 0) >>> 0
  138720. ) {
  138721. dj = 368;
  138722. break;
  138723. }
  138724. c[Qb >> 2] = c[ec >> 2];
  138725. c[Db >> 2] = c[c[ec >> 2] >> 2];
  138726. }
  138727. }
  138728. if ((dj | 0) == 365) {
  138729. dj = 0;
  138730. c[Pb >> 2] = Sb;
  138731. } else if ((dj | 0) == 368) {
  138732. dj = 0;
  138733. c[Qb >> 2] = Sb;
  138734. }
  138735. c[c[Qb >> 2] >> 2] = 0;
  138736. c[c[Pb >> 2] >> 2] = 0;
  138737. c[((c[mb >> 2] | 0) + 24) >> 2] =
  138738. (c[Rb >> 2] | 0) - 8;
  138739. c[lb >> 2] = c[Tb >> 2];
  138740. }
  138741. } while (0);
  138742. c[md >> 2] = c[lb >> 2];
  138743. break d;
  138744. }
  138745. }
  138746. }
  138747. } while (0);
  138748. c[Bi >> 2] = c[md >> 2];
  138749. if (c[Bi >> 2] | 0) {
  138750. c[Di >> 2] =
  138751. c[
  138752. ((c[ci >> 2] | 0) +
  138753. (((c[Bi >> 2] | 0) - 1) << 3) +
  138754. 4) >>
  138755. 2
  138756. ];
  138757. if (
  138758. ((c[Di >> 2] | 0) >>> 0 >
  138759. (c[$h >> 2] | 0) >>> 0
  138760. ? 1
  138761. : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
  138762. 0) >>>
  138763. 0 >=
  138764. 4096) | 0
  138765. ) {
  138766. dj = 481;
  138767. break b;
  138768. }
  138769. c[Ci >> 2] = 0;
  138770. while (1) {
  138771. if (
  138772. (c[Ci >> 2] | 0) >>> 0 >=
  138773. (c[Bi >> 2] | 0) >>> 0
  138774. )
  138775. break c;
  138776. c[Ei >> 2] =
  138777. c[
  138778. ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
  138779. 2
  138780. ];
  138781. pm(
  138782. Fi,
  138783. ((c[bi >> 2] | 0) +
  138784. (((c[ei >> 2] | 0) * 28) | 0) +
  138785. 16) |
  138786. 0,
  138787. c[Ei >> 2] | 0,
  138788. c[xi >> 2] | 0
  138789. );
  138790. c[Gi >> 2] =
  138791. c[
  138792. ((c[ci >> 2] | 0) +
  138793. (c[Ci >> 2] << 3) +
  138794. 4) >>
  138795. 2
  138796. ];
  138797. if ((c[Ci >> 2] | 0) >>> 0 > 0)
  138798. Dj =
  138799. ((c[
  138800. ((c[ci >> 2] | 0) +
  138801. (((c[Ci >> 2] | 0) - 1) << 3) +
  138802. 4) >>
  138803. 2
  138804. ] |
  138805. 0) +
  138806. 1) |
  138807. 0;
  138808. else Dj = c[ai >> 2] | 0;
  138809. c[Hi >> 2] = Dj;
  138810. c[Ii >> 2] = c[Gi >> 2];
  138811. i: while (1) {
  138812. if (
  138813. (c[Ii >> 2] | 0) >>> 0 <
  138814. (c[Hi >> 2] | 0) >>> 0
  138815. )
  138816. break;
  138817. c[Ji >> 2] =
  138818. (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
  138819. Zh = c[Ai >> 2] | 0;
  138820. Zi = c[Ii >> 2] | 0;
  138821. Ph = c[Th >> 2] | 0;
  138822. Qh = c[Rh >> 2] | 0;
  138823. c[k >> 2] = c[Ei >> 2];
  138824. c[m >> 2] = Zi;
  138825. c[n >> 2] = Ph;
  138826. c[o >> 2] = Qh;
  138827. c[q >> 2] =
  138828. qm(((c[k >> 2] | 0) + 1) | 0) | 0;
  138829. c[r >> 2] = (c[m >> 2] | 0) - 3;
  138830. if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
  138831. Qh =
  138832. ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
  138833. 16) |
  138834. 0;
  138835. c[j >> 2] = Qh + (c[q >> 2] | 0);
  138836. } else {
  138837. Qh =
  138838. ((c[q >> 2] | 0) +
  138839. (c[((c[n >> 2] | 0) + 52) >> 2] |
  138840. 0)) |
  138841. 0;
  138842. c[p >> 2] =
  138843. Qh -
  138844. (qm(
  138845. ((c[
  138846. ((c[((c[n >> 2] | 0) + 12) >> 2] |
  138847. 0) +
  138848. (c[q >> 2] << 2)) >>
  138849. 2
  138850. ] |
  138851. 0) +
  138852. 1) |
  138853. 0
  138854. ) |
  138855. 0);
  138856. if (
  138857. ((c[o >> 2] | 0) < 2) &
  138858. ((c[q >> 2] | 0) >>> 0 >= 20)
  138859. )
  138860. c[p >> 2] =
  138861. (c[p >> 2] | 0) +
  138862. (((c[q >> 2] | 0) - 19) << 1);
  138863. c[s >> 2] = rm(c[r >> 2] | 0) | 0;
  138864. Qh =
  138865. ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
  138866. 0) +
  138867. (c[((c[n >> 2] | 0) + 48) >> 2] |
  138868. 0)) |
  138869. 0;
  138870. Ph =
  138871. (Qh -
  138872. (qm(
  138873. ((c[
  138874. ((c[((c[n >> 2] | 0) + 8) >> 2] |
  138875. 0) +
  138876. (c[s >> 2] << 2)) >>
  138877. 2
  138878. ] |
  138879. 0) +
  138880. 1) |
  138881. 0
  138882. ) |
  138883. 0)) |
  138884. 0;
  138885. c[p >> 2] = (c[p >> 2] | 0) + Ph;
  138886. c[j >> 2] = c[p >> 2];
  138887. }
  138888. c[Ki >> 2] = Zh + (c[j >> 2] | 0);
  138889. do {
  138890. if (
  138891. (c[Ji >> 2] | 0) >>> 0 <=
  138892. (c[fi >> 2] | 0) >>> 0
  138893. ) {
  138894. if (
  138895. (c[Ki >> 2] | 0) <
  138896. (c[
  138897. ((c[bi >> 2] | 0) +
  138898. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  138899. 2
  138900. ] |
  138901. 0)
  138902. ) {
  138903. dj = 496;
  138904. break;
  138905. }
  138906. if (!(c[Rh >> 2] | 0)) break i;
  138907. } else dj = 496;
  138908. } while (0);
  138909. if ((dj | 0) == 496) {
  138910. dj = 0;
  138911. while (1) {
  138912. if (
  138913. (c[fi >> 2] | 0) >>> 0 >=
  138914. (c[Ji >> 2] | 0) >>> 0
  138915. )
  138916. break;
  138917. c[
  138918. ((c[bi >> 2] | 0) +
  138919. (((((c[fi >> 2] | 0) + 1) | 0) *
  138920. 28) |
  138921. 0)) >>
  138922. 2
  138923. ] = 1073741824;
  138924. c[fi >> 2] = (c[fi >> 2] | 0) + 1;
  138925. }
  138926. c[
  138927. ((c[bi >> 2] | 0) +
  138928. (((c[Ji >> 2] | 0) * 28) | 0) +
  138929. 8) >>
  138930. 2
  138931. ] = c[Ii >> 2];
  138932. c[
  138933. ((c[bi >> 2] | 0) +
  138934. (((c[Ji >> 2] | 0) * 28) | 0) +
  138935. 4) >>
  138936. 2
  138937. ] = c[Ei >> 2];
  138938. c[
  138939. ((c[bi >> 2] | 0) +
  138940. (((c[Ji >> 2] | 0) * 28) | 0) +
  138941. 12) >>
  138942. 2
  138943. ] = c[yi >> 2];
  138944. c[
  138945. ((c[bi >> 2] | 0) +
  138946. (((c[Ji >> 2] | 0) * 28) | 0)) >>
  138947. 2
  138948. ] = c[Ki >> 2];
  138949. Zh =
  138950. ((c[bi >> 2] | 0) +
  138951. (((c[Ji >> 2] | 0) * 28) | 0) +
  138952. 16) |
  138953. 0;
  138954. c[Zh >> 2] = c[Fi >> 2];
  138955. c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
  138956. c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
  138957. }
  138958. c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
  138959. }
  138960. c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
  138961. }
  138962. }
  138963. }
  138964. } while (0);
  138965. c[ei >> 2] = (c[ei >> 2] | 0) + 1;
  138966. }
  138967. if ((dj | 0) == 481) {
  138968. dj = 0;
  138969. c[gi >> 2] = c[Di >> 2];
  138970. c[hi >> 2] =
  138971. c[
  138972. ((c[ci >> 2] | 0) +
  138973. (((c[Bi >> 2] | 0) - 1) << 3)) >>
  138974. 2
  138975. ];
  138976. c[fi >> 2] = (c[ei >> 2] | 0) + 1;
  138977. break;
  138978. } else if ((dj | 0) == 504) {
  138979. dj = 0;
  138980. c[gi >> 2] =
  138981. c[
  138982. ((c[bi >> 2] | 0) +
  138983. (((c[fi >> 2] | 0) * 28) | 0) +
  138984. 8) >>
  138985. 2
  138986. ];
  138987. c[hi >> 2] =
  138988. c[
  138989. ((c[bi >> 2] | 0) +
  138990. (((c[fi >> 2] | 0) * 28) | 0) +
  138991. 4) >>
  138992. 2
  138993. ];
  138994. c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
  138995. break;
  138996. }
  138997. } else {
  138998. c[gi >> 2] = c[mi >> 2];
  138999. c[hi >> 2] =
  139000. c[
  139001. ((c[ci >> 2] | 0) +
  139002. (((c[ki >> 2] | 0) - 1) << 3)) >>
  139003. 2
  139004. ];
  139005. c[ei >> 2] = 0;
  139006. c[fi >> 2] = 1;
  139007. }
  139008. } while (0);
  139009. c[Li >> 2] = c[gi >> 2];
  139010. c[Mi >> 2] = c[hi >> 2];
  139011. c[Ni >> 2] = c[ei >> 2];
  139012. while (1) {
  139013. c[Oi >> 2] =
  139014. c[
  139015. ((c[bi >> 2] | 0) +
  139016. (((c[Ni >> 2] | 0) * 28) | 0) +
  139017. 8) >>
  139018. 2
  139019. ];
  139020. c[Pi >> 2] =
  139021. c[
  139022. ((c[bi >> 2] | 0) +
  139023. (((c[Ni >> 2] | 0) * 28) | 0) +
  139024. 4) >>
  139025. 2
  139026. ];
  139027. c[
  139028. ((c[bi >> 2] | 0) +
  139029. (((c[Ni >> 2] | 0) * 28) | 0) +
  139030. 8) >>
  139031. 2
  139032. ] = c[Li >> 2];
  139033. c[
  139034. ((c[bi >> 2] | 0) +
  139035. (((c[Ni >> 2] | 0) * 28) | 0) +
  139036. 4) >>
  139037. 2
  139038. ] = c[Mi >> 2];
  139039. c[Li >> 2] = c[Oi >> 2];
  139040. c[Mi >> 2] = c[Pi >> 2];
  139041. if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
  139042. break;
  139043. c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
  139044. }
  139045. c[Qi >> 2] = 0;
  139046. while (1) {
  139047. if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
  139048. break;
  139049. c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
  139050. c[Si >> 2] =
  139051. c[
  139052. ((c[bi >> 2] | 0) +
  139053. (((c[Qi >> 2] | 0) * 28) | 0) +
  139054. 8) >>
  139055. 2
  139056. ];
  139057. c[Ti >> 2] =
  139058. c[
  139059. ((c[bi >> 2] | 0) +
  139060. (((c[Qi >> 2] | 0) * 28) | 0) +
  139061. 4) >>
  139062. 2
  139063. ];
  139064. if ((c[Si >> 2] | 0) == 1) {
  139065. c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
  139066. c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
  139067. continue;
  139068. }
  139069. c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
  139070. c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
  139071. if ((c[Ti >> 2] | 0) >>> 0 < 3) {
  139072. c[Ui >> 2] =
  139073. (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
  139074. if (c[Ui >> 2] | 0) {
  139075. Zh = c[Nh >> 2] | 0;
  139076. if ((c[Ui >> 2] | 0) == 3)
  139077. Ej = ((c[Zh >> 2] | 0) - 1) | 0;
  139078. else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
  139079. c[Vi >> 2] = Ej;
  139080. if ((c[Ui >> 2] | 0) >>> 0 >= 2)
  139081. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  139082. c[((c[Nh >> 2] | 0) + 4) >> 2];
  139083. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  139084. c[c[Nh >> 2] >> 2] = c[Vi >> 2];
  139085. }
  139086. } else {
  139087. c[((c[Nh >> 2] | 0) + 8) >> 2] =
  139088. c[((c[Nh >> 2] | 0) + 4) >> 2];
  139089. c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
  139090. c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
  139091. }
  139092. vm(
  139093. c[Th >> 2] | 0,
  139094. c[Ri >> 2] | 0,
  139095. c[Wh >> 2] | 0,
  139096. c[Ti >> 2] | 0,
  139097. c[Si >> 2] | 0
  139098. );
  139099. wm(
  139100. c[Mh >> 2] | 0,
  139101. c[Ri >> 2] | 0,
  139102. c[Wh >> 2] | 0,
  139103. c[Ti >> 2] | 0,
  139104. ((c[Si >> 2] | 0) - 3) | 0
  139105. );
  139106. c[Wh >> 2] = c[Vh >> 2];
  139107. }
  139108. xm(c[Th >> 2] | 0);
  139109. }
  139110. l = i;
  139111. return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
  139112. }
  139113. function dm(a, b, d, e, f, g) {
  139114. a = a | 0;
  139115. b = b | 0;
  139116. d = d | 0;
  139117. e = e | 0;
  139118. f = f | 0;
  139119. g = g | 0;
  139120. var h = 0,
  139121. i = 0,
  139122. j = 0,
  139123. k = 0,
  139124. m = 0,
  139125. n = 0,
  139126. o = 0,
  139127. p = 0,
  139128. q = 0,
  139129. r = 0,
  139130. s = 0,
  139131. t = 0;
  139132. h = l;
  139133. l = (l + 48) | 0;
  139134. i = (h + 36) | 0;
  139135. j = (h + 32) | 0;
  139136. k = (h + 28) | 0;
  139137. m = (h + 24) | 0;
  139138. n = (h + 20) | 0;
  139139. o = (h + 16) | 0;
  139140. p = (h + 12) | 0;
  139141. q = (h + 8) | 0;
  139142. r = (h + 4) | 0;
  139143. s = h;
  139144. c[j >> 2] = a;
  139145. c[k >> 2] = b;
  139146. c[m >> 2] = d;
  139147. c[n >> 2] = e;
  139148. c[o >> 2] = f;
  139149. c[p >> 2] = g;
  139150. c[q >> 2] = c[((c[n >> 2] | 0) + 8) >> 2];
  139151. c[r >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
  139152. c[s >> 2] = c[((c[n >> 2] | 0) + 20) >> 2];
  139153. switch (c[r >> 2] | 0) {
  139154. case 7: {
  139155. c[i >> 2] =
  139156. hn(
  139157. c[j >> 2] | 0,
  139158. c[k >> 2] | 0,
  139159. c[m >> 2] | 0,
  139160. c[o >> 2] | 0,
  139161. c[p >> 2] | 0,
  139162. c[q >> 2] | 0,
  139163. c[s >> 2] | 0,
  139164. 7
  139165. ) | 0;
  139166. t = c[i >> 2] | 0;
  139167. l = h;
  139168. return t | 0;
  139169. }
  139170. case 5: {
  139171. c[i >> 2] =
  139172. hn(
  139173. c[j >> 2] | 0,
  139174. c[k >> 2] | 0,
  139175. c[m >> 2] | 0,
  139176. c[o >> 2] | 0,
  139177. c[p >> 2] | 0,
  139178. c[q >> 2] | 0,
  139179. c[s >> 2] | 0,
  139180. 5
  139181. ) | 0;
  139182. t = c[i >> 2] | 0;
  139183. l = h;
  139184. return t | 0;
  139185. }
  139186. case 6: {
  139187. c[i >> 2] =
  139188. hn(
  139189. c[j >> 2] | 0,
  139190. c[k >> 2] | 0,
  139191. c[m >> 2] | 0,
  139192. c[o >> 2] | 0,
  139193. c[p >> 2] | 0,
  139194. c[q >> 2] | 0,
  139195. c[s >> 2] | 0,
  139196. 6
  139197. ) | 0;
  139198. t = c[i >> 2] | 0;
  139199. l = h;
  139200. return t | 0;
  139201. }
  139202. default: {
  139203. c[i >> 2] =
  139204. hn(
  139205. c[j >> 2] | 0,
  139206. c[k >> 2] | 0,
  139207. c[m >> 2] | 0,
  139208. c[o >> 2] | 0,
  139209. c[p >> 2] | 0,
  139210. c[q >> 2] | 0,
  139211. c[s >> 2] | 0,
  139212. 4
  139213. ) | 0;
  139214. t = c[i >> 2] | 0;
  139215. l = h;
  139216. return t | 0;
  139217. }
  139218. }
  139219. return 0;
  139220. }
  139221. function em(a, b, d, e, f, g) {
  139222. a = a | 0;
  139223. b = b | 0;
  139224. d = d | 0;
  139225. e = e | 0;
  139226. f = f | 0;
  139227. g = g | 0;
  139228. var h = 0,
  139229. i = 0,
  139230. j = 0,
  139231. k = 0,
  139232. m = 0,
  139233. n = 0,
  139234. o = 0,
  139235. p = 0,
  139236. q = 0,
  139237. r = 0;
  139238. h = l;
  139239. l = (l + 32) | 0;
  139240. i = (h + 28) | 0;
  139241. j = (h + 24) | 0;
  139242. k = (h + 20) | 0;
  139243. m = (h + 16) | 0;
  139244. n = (h + 12) | 0;
  139245. o = (h + 8) | 0;
  139246. p = (h + 4) | 0;
  139247. q = h;
  139248. c[j >> 2] = a;
  139249. c[k >> 2] = b;
  139250. c[m >> 2] = d;
  139251. c[n >> 2] = e;
  139252. c[o >> 2] = f;
  139253. c[p >> 2] = g;
  139254. c[q >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
  139255. switch (c[q >> 2] | 0) {
  139256. case 7: {
  139257. c[i >> 2] =
  139258. Zm(
  139259. c[j >> 2] | 0,
  139260. c[k >> 2] | 0,
  139261. c[m >> 2] | 0,
  139262. c[n >> 2] | 0,
  139263. c[o >> 2] | 0,
  139264. c[p >> 2] | 0,
  139265. 7
  139266. ) | 0;
  139267. r = c[i >> 2] | 0;
  139268. l = h;
  139269. return r | 0;
  139270. }
  139271. case 5: {
  139272. c[i >> 2] =
  139273. Zm(
  139274. c[j >> 2] | 0,
  139275. c[k >> 2] | 0,
  139276. c[m >> 2] | 0,
  139277. c[n >> 2] | 0,
  139278. c[o >> 2] | 0,
  139279. c[p >> 2] | 0,
  139280. 5
  139281. ) | 0;
  139282. r = c[i >> 2] | 0;
  139283. l = h;
  139284. return r | 0;
  139285. }
  139286. case 6: {
  139287. c[i >> 2] =
  139288. Zm(
  139289. c[j >> 2] | 0,
  139290. c[k >> 2] | 0,
  139291. c[m >> 2] | 0,
  139292. c[n >> 2] | 0,
  139293. c[o >> 2] | 0,
  139294. c[p >> 2] | 0,
  139295. 6
  139296. ) | 0;
  139297. r = c[i >> 2] | 0;
  139298. l = h;
  139299. return r | 0;
  139300. }
  139301. default: {
  139302. c[i >> 2] =
  139303. Zm(
  139304. c[j >> 2] | 0,
  139305. c[k >> 2] | 0,
  139306. c[m >> 2] | 0,
  139307. c[n >> 2] | 0,
  139308. c[o >> 2] | 0,
  139309. c[p >> 2] | 0,
  139310. 4
  139311. ) | 0;
  139312. r = c[i >> 2] | 0;
  139313. l = h;
  139314. return r | 0;
  139315. }
  139316. }
  139317. return 0;
  139318. }
  139319. function fm(a, b, e, f, g, h) {
  139320. a = a | 0;
  139321. b = b | 0;
  139322. e = e | 0;
  139323. f = f | 0;
  139324. g = g | 0;
  139325. h = h | 0;
  139326. var i = 0,
  139327. j = 0,
  139328. k = 0,
  139329. m = 0,
  139330. n = 0,
  139331. o = 0,
  139332. p = 0,
  139333. q = 0,
  139334. r = 0,
  139335. s = 0,
  139336. t = 0,
  139337. u = 0,
  139338. v = 0,
  139339. w = 0,
  139340. x = 0,
  139341. y = 0,
  139342. z = 0,
  139343. A = 0,
  139344. B = 0,
  139345. C = 0,
  139346. D = 0,
  139347. E = 0,
  139348. F = 0,
  139349. G = 0,
  139350. H = 0,
  139351. I = 0,
  139352. J = 0,
  139353. K = 0,
  139354. L = 0,
  139355. M = 0,
  139356. N = 0,
  139357. O = 0,
  139358. P = 0,
  139359. Q = 0,
  139360. R = 0,
  139361. S = 0,
  139362. T = 0,
  139363. U = 0,
  139364. V = 0,
  139365. W = 0,
  139366. X = 0,
  139367. Y = 0,
  139368. Z = 0,
  139369. _ = 0,
  139370. $ = 0,
  139371. aa = 0,
  139372. ba = 0,
  139373. ca = 0,
  139374. da = 0,
  139375. ea = 0,
  139376. fa = 0,
  139377. ga = 0,
  139378. ha = 0,
  139379. ia = 0,
  139380. ja = 0,
  139381. ka = 0,
  139382. la = 0,
  139383. ma = 0,
  139384. na = 0,
  139385. oa = 0,
  139386. pa = 0,
  139387. qa = 0,
  139388. ra = 0,
  139389. sa = 0,
  139390. ta = 0,
  139391. ua = 0,
  139392. va = 0,
  139393. wa = 0,
  139394. xa = 0,
  139395. ya = 0;
  139396. i = l;
  139397. l = (l + 288) | 0;
  139398. j = (i + 272) | 0;
  139399. k = (i + 268) | 0;
  139400. m = (i + 264) | 0;
  139401. n = (i + 260) | 0;
  139402. o = (i + 256) | 0;
  139403. p = (i + 252) | 0;
  139404. q = (i + 248) | 0;
  139405. r = (i + 244) | 0;
  139406. s = (i + 240) | 0;
  139407. t = (i + 236) | 0;
  139408. u = (i + 232) | 0;
  139409. v = (i + 228) | 0;
  139410. w = (i + 224) | 0;
  139411. x = (i + 220) | 0;
  139412. y = (i + 216) | 0;
  139413. z = (i + 212) | 0;
  139414. A = (i + 208) | 0;
  139415. B = (i + 204) | 0;
  139416. C = (i + 200) | 0;
  139417. D = (i + 196) | 0;
  139418. E = (i + 192) | 0;
  139419. F = (i + 188) | 0;
  139420. G = (i + 184) | 0;
  139421. H = (i + 180) | 0;
  139422. I = (i + 176) | 0;
  139423. J = (i + 172) | 0;
  139424. K = (i + 168) | 0;
  139425. L = (i + 164) | 0;
  139426. M = (i + 160) | 0;
  139427. N = (i + 156) | 0;
  139428. O = (i + 152) | 0;
  139429. P = (i + 148) | 0;
  139430. Q = (i + 144) | 0;
  139431. R = (i + 140) | 0;
  139432. S = (i + 136) | 0;
  139433. T = (i + 132) | 0;
  139434. U = (i + 128) | 0;
  139435. V = (i + 124) | 0;
  139436. W = (i + 120) | 0;
  139437. X = (i + 116) | 0;
  139438. Y = (i + 112) | 0;
  139439. Z = (i + 108) | 0;
  139440. _ = (i + 104) | 0;
  139441. $ = (i + 100) | 0;
  139442. aa = (i + 96) | 0;
  139443. ba = (i + 92) | 0;
  139444. ca = (i + 88) | 0;
  139445. da = (i + 84) | 0;
  139446. ea = (i + 80) | 0;
  139447. fa = (i + 76) | 0;
  139448. ga = (i + 72) | 0;
  139449. ha = (i + 68) | 0;
  139450. ia = (i + 64) | 0;
  139451. ja = (i + 60) | 0;
  139452. ka = (i + 56) | 0;
  139453. la = (i + 52) | 0;
  139454. ma = (i + 48) | 0;
  139455. na = (i + 44) | 0;
  139456. oa = (i + 40) | 0;
  139457. pa = (i + 36) | 0;
  139458. qa = (i + 32) | 0;
  139459. ra = (i + 28) | 0;
  139460. sa = (i + 24) | 0;
  139461. ta = (i + 20) | 0;
  139462. ua = (i + 16) | 0;
  139463. va = (i + 12) | 0;
  139464. wa = (i + 8) | 0;
  139465. xa = (i + 4) | 0;
  139466. ya = i;
  139467. c[ta >> 2] = a;
  139468. c[ua >> 2] = b;
  139469. c[va >> 2] = e;
  139470. c[wa >> 2] = f;
  139471. c[xa >> 2] = g;
  139472. c[ya >> 2] = h;
  139473. h = c[ua >> 2] | 0;
  139474. ua = c[va >> 2] | 0;
  139475. va = c[wa >> 2] | 0;
  139476. wa = c[xa >> 2] | 0;
  139477. xa = c[ya >> 2] | 0;
  139478. c[j >> 2] = c[ta >> 2];
  139479. c[k >> 2] = h;
  139480. c[m >> 2] = ua;
  139481. c[n >> 2] = va;
  139482. c[o >> 2] = wa;
  139483. c[p >> 2] = xa;
  139484. c[q >> 2] = 0;
  139485. c[r >> 2] = 0;
  139486. c[s >> 2] = c[o >> 2];
  139487. c[t >> 2] = c[s >> 2];
  139488. c[u >> 2] = c[s >> 2];
  139489. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  139490. c[w >> 2] = (c[v >> 2] | 0) + -8;
  139491. c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
  139492. c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
  139493. c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
  139494. c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
  139495. c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
  139496. c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
  139497. c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
  139498. c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
  139499. c[F >> 2] = c[c[m >> 2] >> 2];
  139500. c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  139501. c[((c[j >> 2] | 0) + 28) >> 2] =
  139502. c[((c[j >> 2] | 0) + 24) >> 2];
  139503. c[t >> 2] =
  139504. (c[t >> 2] | 0) +
  139505. (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
  139506. while (1) {
  139507. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  139508. c[H >> 2] = 0;
  139509. c[I >> 2] = 0;
  139510. c[J >> 2] = (c[t >> 2] | 0) + 1;
  139511. c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  139512. c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
  139513. c[M >> 2] =
  139514. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  139515. ? c[B >> 2] | 0
  139516. : c[x >> 2] | 0;
  139517. c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
  139518. if (
  139519. !((
  139520. ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  139521. ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
  139522. 0 >=
  139523. 3
  139524. : 0) | 0
  139525. ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
  139526. (q | 0) == (Bk(c[N >> 2] | 0) | 0))
  139527. : 0
  139528. )
  139529. ? ((c[O >> 2] =
  139530. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  139531. ? c[C >> 2] | 0
  139532. : c[v >> 2] | 0),
  139533. (c[H >> 2] =
  139534. (Lm(
  139535. ((c[t >> 2] | 0) + 1 + 4) | 0,
  139536. ((c[N >> 2] | 0) + 4) | 0,
  139537. c[v >> 2] | 0,
  139538. c[O >> 2] | 0,
  139539. c[A >> 2] | 0
  139540. ) |
  139541. 0) +
  139542. 4),
  139543. !(c[r >> 2] | 0))
  139544. : 0)
  139545. ) {
  139546. c[P >> 2] = 99999999;
  139547. c[Q >> 2] =
  139548. tc[c[E >> 2] & 7](
  139549. c[j >> 2] | 0,
  139550. c[n >> 2] | 0,
  139551. c[t >> 2] | 0,
  139552. c[v >> 2] | 0,
  139553. P
  139554. ) | 0;
  139555. if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  139556. c[H >> 2] = c[Q >> 2];
  139557. c[J >> 2] = c[t >> 2];
  139558. c[I >> 2] = c[P >> 2];
  139559. }
  139560. if ((c[H >> 2] | 0) >>> 0 < 4) {
  139561. c[t >> 2] =
  139562. (c[t >> 2] | 0) +
  139563. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  139564. continue;
  139565. }
  139566. a: do {
  139567. if ((c[r >> 2] | 0) >>> 0 >= 1)
  139568. while (1) {
  139569. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  139570. break a;
  139571. c[t >> 2] = (c[t >> 2] | 0) + 1;
  139572. c[K >> 2] = (c[K >> 2] | 0) + 1;
  139573. if (
  139574. (
  139575. (
  139576. (
  139577. c[I >> 2] | 0
  139578. ? ((c[R >> 2] =
  139579. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  139580. (c[S >> 2] =
  139581. (c[R >> 2] | 0) >>> 0 <
  139582. (c[y >> 2] | 0) >>> 0
  139583. ? c[B >> 2] | 0
  139584. : c[x >> 2] | 0),
  139585. (c[T >> 2] =
  139586. (c[S >> 2] | 0) + (c[R >> 2] | 0)),
  139587. ((c[R >> 2] | 0) >>> 0 >
  139588. (c[z >> 2] | 0) >>> 0
  139589. ? (((c[y >> 2] | 0) -
  139590. 1 -
  139591. (c[R >> 2] | 0)) |
  139592. 0) >>>
  139593. 0 >=
  139594. 3
  139595. : 0) | 0)
  139596. : 0
  139597. )
  139598. ? ((q = Bk(c[t >> 2] | 0) | 0),
  139599. (q | 0) == (Bk(c[T >> 2] | 0) | 0))
  139600. : 0
  139601. )
  139602. ? ((c[U >> 2] =
  139603. (c[R >> 2] | 0) >>> 0 <
  139604. (c[y >> 2] | 0) >>> 0
  139605. ? c[C >> 2] | 0
  139606. : c[v >> 2] | 0),
  139607. (c[V >> 2] =
  139608. (Lm(
  139609. ((c[t >> 2] | 0) + 4) | 0,
  139610. ((c[T >> 2] | 0) + 4) | 0,
  139611. c[v >> 2] | 0,
  139612. c[U >> 2] | 0,
  139613. c[A >> 2] | 0
  139614. ) |
  139615. 0) +
  139616. 4),
  139617. (c[W >> 2] = (c[V >> 2] | 0) * 3),
  139618. (q = ((c[H >> 2] | 0) * 3) | 0),
  139619. (c[X >> 2] =
  139620. q -
  139621. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  139622. 1),
  139623. (c[V >> 2] | 0) >>> 0 >= 4)
  139624. : 0
  139625. )
  139626. ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
  139627. : 0
  139628. ) {
  139629. c[H >> 2] = c[V >> 2];
  139630. c[I >> 2] = 0;
  139631. c[J >> 2] = c[t >> 2];
  139632. }
  139633. c[Y >> 2] = 99999999;
  139634. c[Z >> 2] =
  139635. tc[c[E >> 2] & 7](
  139636. c[j >> 2] | 0,
  139637. c[n >> 2] | 0,
  139638. c[t >> 2] | 0,
  139639. c[v >> 2] | 0,
  139640. Y
  139641. ) | 0;
  139642. q = c[Z >> 2] << 2;
  139643. c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
  139644. q = c[H >> 2] << 2;
  139645. c[$ >> 2] =
  139646. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
  139647. if (
  139648. (c[Z >> 2] | 0) >>> 0 >= 4
  139649. ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
  139650. : 0
  139651. ) {
  139652. c[H >> 2] = c[Z >> 2];
  139653. c[I >> 2] = c[Y >> 2];
  139654. c[J >> 2] = c[t >> 2];
  139655. continue;
  139656. }
  139657. if ((c[r >> 2] | 0) != 2) break a;
  139658. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  139659. break a;
  139660. c[t >> 2] = (c[t >> 2] | 0) + 1;
  139661. c[K >> 2] = (c[K >> 2] | 0) + 1;
  139662. if (
  139663. (
  139664. (
  139665. (
  139666. c[I >> 2] | 0
  139667. ? ((c[aa >> 2] =
  139668. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  139669. (c[ba >> 2] =
  139670. (c[aa >> 2] | 0) >>> 0 <
  139671. (c[y >> 2] | 0) >>> 0
  139672. ? c[B >> 2] | 0
  139673. : c[x >> 2] | 0),
  139674. (c[ca >> 2] =
  139675. (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
  139676. ((c[aa >> 2] | 0) >>> 0 >
  139677. (c[z >> 2] | 0) >>> 0
  139678. ? (((c[y >> 2] | 0) -
  139679. 1 -
  139680. (c[aa >> 2] | 0)) |
  139681. 0) >>>
  139682. 0 >=
  139683. 3
  139684. : 0) | 0)
  139685. : 0
  139686. )
  139687. ? ((q = Bk(c[t >> 2] | 0) | 0),
  139688. (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
  139689. : 0
  139690. )
  139691. ? ((c[da >> 2] =
  139692. (c[aa >> 2] | 0) >>> 0 <
  139693. (c[y >> 2] | 0) >>> 0
  139694. ? c[C >> 2] | 0
  139695. : c[v >> 2] | 0),
  139696. (c[ea >> 2] =
  139697. (Lm(
  139698. ((c[t >> 2] | 0) + 4) | 0,
  139699. ((c[ca >> 2] | 0) + 4) | 0,
  139700. c[v >> 2] | 0,
  139701. c[da >> 2] | 0,
  139702. c[A >> 2] | 0
  139703. ) |
  139704. 0) +
  139705. 4),
  139706. (c[fa >> 2] = c[ea >> 2] << 2),
  139707. (q = c[H >> 2] << 2),
  139708. (c[ga >> 2] =
  139709. q -
  139710. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  139711. 1),
  139712. (c[ea >> 2] | 0) >>> 0 >= 4)
  139713. : 0
  139714. )
  139715. ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
  139716. : 0
  139717. ) {
  139718. c[H >> 2] = c[ea >> 2];
  139719. c[I >> 2] = 0;
  139720. c[J >> 2] = c[t >> 2];
  139721. }
  139722. c[ha >> 2] = 99999999;
  139723. c[ia >> 2] =
  139724. tc[c[E >> 2] & 7](
  139725. c[j >> 2] | 0,
  139726. c[n >> 2] | 0,
  139727. c[t >> 2] | 0,
  139728. c[v >> 2] | 0,
  139729. ha
  139730. ) | 0;
  139731. q = c[ia >> 2] << 2;
  139732. c[ja >> 2] =
  139733. q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
  139734. q = c[H >> 2] << 2;
  139735. c[ka >> 2] =
  139736. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
  139737. if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
  139738. if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
  139739. c[H >> 2] = c[ia >> 2];
  139740. c[I >> 2] = c[ha >> 2];
  139741. c[J >> 2] = c[t >> 2];
  139742. }
  139743. } while (0);
  139744. if (c[I >> 2] | 0) {
  139745. c[la >> 2] =
  139746. (c[J >> 2] | 0) -
  139747. (c[x >> 2] | 0) -
  139748. ((c[I >> 2] | 0) - 2);
  139749. c[ma >> 2] =
  139750. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  139751. ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
  139752. : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
  139753. c[na >> 2] =
  139754. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  139755. ? c[D >> 2] | 0
  139756. : c[A >> 2] | 0;
  139757. while (1) {
  139758. if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
  139759. break;
  139760. if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
  139761. break;
  139762. if (
  139763. (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  139764. (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
  139765. )
  139766. break;
  139767. c[J >> 2] = (c[J >> 2] | 0) + -1;
  139768. c[ma >> 2] = (c[ma >> 2] | 0) + -1;
  139769. c[H >> 2] = (c[H >> 2] | 0) + 1;
  139770. }
  139771. c[G >> 2] = c[F >> 2];
  139772. c[F >> 2] = (c[I >> 2] | 0) - 2;
  139773. }
  139774. }
  139775. c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
  139776. Nm(
  139777. c[k >> 2] | 0,
  139778. c[oa >> 2] | 0,
  139779. c[u >> 2] | 0,
  139780. c[I >> 2] | 0,
  139781. ((c[H >> 2] | 0) - 3) | 0
  139782. );
  139783. q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
  139784. c[t >> 2] = q;
  139785. c[u >> 2] = q;
  139786. while (1) {
  139787. if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
  139788. c[pa >> 2] =
  139789. (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
  139790. c[qa >> 2] =
  139791. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  139792. ? c[B >> 2] | 0
  139793. : c[x >> 2] | 0;
  139794. c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
  139795. if (
  139796. !(
  139797. ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  139798. ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
  139799. 0 >=
  139800. 3
  139801. : 0) | 0
  139802. )
  139803. )
  139804. break;
  139805. q = Bk(c[t >> 2] | 0) | 0;
  139806. if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
  139807. c[sa >> 2] =
  139808. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  139809. ? c[C >> 2] | 0
  139810. : c[v >> 2] | 0;
  139811. c[H >> 2] =
  139812. (Lm(
  139813. ((c[t >> 2] | 0) + 4) | 0,
  139814. ((c[ra >> 2] | 0) + 4) | 0,
  139815. c[v >> 2] | 0,
  139816. c[sa >> 2] | 0,
  139817. c[A >> 2] | 0
  139818. ) |
  139819. 0) +
  139820. 4;
  139821. c[I >> 2] = c[G >> 2];
  139822. c[G >> 2] = c[F >> 2];
  139823. c[F >> 2] = c[I >> 2];
  139824. Nm(
  139825. c[k >> 2] | 0,
  139826. 0,
  139827. c[u >> 2] | 0,
  139828. 0,
  139829. ((c[H >> 2] | 0) - 3) | 0
  139830. );
  139831. c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
  139832. c[u >> 2] = c[t >> 2];
  139833. }
  139834. }
  139835. c[c[m >> 2] >> 2] = c[F >> 2];
  139836. c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
  139837. l = i;
  139838. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  139839. }
  139840. function gm(a, b, e, f, g, h) {
  139841. a = a | 0;
  139842. b = b | 0;
  139843. e = e | 0;
  139844. f = f | 0;
  139845. g = g | 0;
  139846. h = h | 0;
  139847. var i = 0,
  139848. j = 0,
  139849. k = 0,
  139850. m = 0,
  139851. n = 0,
  139852. o = 0,
  139853. p = 0,
  139854. q = 0,
  139855. r = 0,
  139856. s = 0,
  139857. t = 0,
  139858. u = 0,
  139859. v = 0,
  139860. w = 0,
  139861. x = 0,
  139862. y = 0,
  139863. z = 0,
  139864. A = 0,
  139865. B = 0,
  139866. C = 0,
  139867. D = 0,
  139868. E = 0,
  139869. F = 0,
  139870. G = 0,
  139871. H = 0,
  139872. I = 0,
  139873. J = 0,
  139874. K = 0,
  139875. L = 0,
  139876. M = 0,
  139877. N = 0,
  139878. O = 0,
  139879. P = 0,
  139880. Q = 0,
  139881. R = 0,
  139882. S = 0,
  139883. T = 0,
  139884. U = 0,
  139885. V = 0,
  139886. W = 0,
  139887. X = 0,
  139888. Y = 0,
  139889. Z = 0,
  139890. _ = 0,
  139891. $ = 0,
  139892. aa = 0,
  139893. ba = 0,
  139894. ca = 0,
  139895. da = 0,
  139896. ea = 0,
  139897. fa = 0,
  139898. ga = 0,
  139899. ha = 0,
  139900. ia = 0,
  139901. ja = 0,
  139902. ka = 0,
  139903. la = 0,
  139904. ma = 0,
  139905. na = 0,
  139906. oa = 0,
  139907. pa = 0,
  139908. qa = 0,
  139909. ra = 0,
  139910. sa = 0,
  139911. ta = 0,
  139912. ua = 0,
  139913. va = 0,
  139914. wa = 0,
  139915. xa = 0,
  139916. ya = 0;
  139917. i = l;
  139918. l = (l + 288) | 0;
  139919. j = (i + 272) | 0;
  139920. k = (i + 268) | 0;
  139921. m = (i + 264) | 0;
  139922. n = (i + 260) | 0;
  139923. o = (i + 256) | 0;
  139924. p = (i + 252) | 0;
  139925. q = (i + 248) | 0;
  139926. r = (i + 244) | 0;
  139927. s = (i + 240) | 0;
  139928. t = (i + 236) | 0;
  139929. u = (i + 232) | 0;
  139930. v = (i + 228) | 0;
  139931. w = (i + 224) | 0;
  139932. x = (i + 220) | 0;
  139933. y = (i + 216) | 0;
  139934. z = (i + 212) | 0;
  139935. A = (i + 208) | 0;
  139936. B = (i + 204) | 0;
  139937. C = (i + 200) | 0;
  139938. D = (i + 196) | 0;
  139939. E = (i + 192) | 0;
  139940. F = (i + 188) | 0;
  139941. G = (i + 184) | 0;
  139942. H = (i + 180) | 0;
  139943. I = (i + 176) | 0;
  139944. J = (i + 172) | 0;
  139945. K = (i + 168) | 0;
  139946. L = (i + 164) | 0;
  139947. M = (i + 160) | 0;
  139948. N = (i + 156) | 0;
  139949. O = (i + 152) | 0;
  139950. P = (i + 148) | 0;
  139951. Q = (i + 144) | 0;
  139952. R = (i + 140) | 0;
  139953. S = (i + 136) | 0;
  139954. T = (i + 132) | 0;
  139955. U = (i + 128) | 0;
  139956. V = (i + 124) | 0;
  139957. W = (i + 120) | 0;
  139958. X = (i + 116) | 0;
  139959. Y = (i + 112) | 0;
  139960. Z = (i + 108) | 0;
  139961. _ = (i + 104) | 0;
  139962. $ = (i + 100) | 0;
  139963. aa = (i + 96) | 0;
  139964. ba = (i + 92) | 0;
  139965. ca = (i + 88) | 0;
  139966. da = (i + 84) | 0;
  139967. ea = (i + 80) | 0;
  139968. fa = (i + 76) | 0;
  139969. ga = (i + 72) | 0;
  139970. ha = (i + 68) | 0;
  139971. ia = (i + 64) | 0;
  139972. ja = (i + 60) | 0;
  139973. ka = (i + 56) | 0;
  139974. la = (i + 52) | 0;
  139975. ma = (i + 48) | 0;
  139976. na = (i + 44) | 0;
  139977. oa = (i + 40) | 0;
  139978. pa = (i + 36) | 0;
  139979. qa = (i + 32) | 0;
  139980. ra = (i + 28) | 0;
  139981. sa = (i + 24) | 0;
  139982. ta = (i + 20) | 0;
  139983. ua = (i + 16) | 0;
  139984. va = (i + 12) | 0;
  139985. wa = (i + 8) | 0;
  139986. xa = (i + 4) | 0;
  139987. ya = i;
  139988. c[ta >> 2] = a;
  139989. c[ua >> 2] = b;
  139990. c[va >> 2] = e;
  139991. c[wa >> 2] = f;
  139992. c[xa >> 2] = g;
  139993. c[ya >> 2] = h;
  139994. h = c[ua >> 2] | 0;
  139995. ua = c[va >> 2] | 0;
  139996. va = c[wa >> 2] | 0;
  139997. wa = c[xa >> 2] | 0;
  139998. xa = c[ya >> 2] | 0;
  139999. c[j >> 2] = c[ta >> 2];
  140000. c[k >> 2] = h;
  140001. c[m >> 2] = ua;
  140002. c[n >> 2] = va;
  140003. c[o >> 2] = wa;
  140004. c[p >> 2] = xa;
  140005. c[q >> 2] = 0;
  140006. c[r >> 2] = 1;
  140007. c[s >> 2] = c[o >> 2];
  140008. c[t >> 2] = c[s >> 2];
  140009. c[u >> 2] = c[s >> 2];
  140010. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  140011. c[w >> 2] = (c[v >> 2] | 0) + -8;
  140012. c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
  140013. c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
  140014. c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
  140015. c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
  140016. c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
  140017. c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
  140018. c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
  140019. c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
  140020. c[F >> 2] = c[c[m >> 2] >> 2];
  140021. c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  140022. c[((c[j >> 2] | 0) + 28) >> 2] =
  140023. c[((c[j >> 2] | 0) + 24) >> 2];
  140024. c[t >> 2] =
  140025. (c[t >> 2] | 0) +
  140026. (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
  140027. while (1) {
  140028. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  140029. c[H >> 2] = 0;
  140030. c[I >> 2] = 0;
  140031. c[J >> 2] = (c[t >> 2] | 0) + 1;
  140032. c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  140033. c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
  140034. c[M >> 2] =
  140035. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140036. ? c[B >> 2] | 0
  140037. : c[x >> 2] | 0;
  140038. c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
  140039. if (
  140040. !((
  140041. ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  140042. ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
  140043. 0 >=
  140044. 3
  140045. : 0) | 0
  140046. ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
  140047. (q | 0) == (Bk(c[N >> 2] | 0) | 0))
  140048. : 0
  140049. )
  140050. ? ((c[O >> 2] =
  140051. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140052. ? c[C >> 2] | 0
  140053. : c[v >> 2] | 0),
  140054. (c[H >> 2] =
  140055. (Lm(
  140056. ((c[t >> 2] | 0) + 1 + 4) | 0,
  140057. ((c[N >> 2] | 0) + 4) | 0,
  140058. c[v >> 2] | 0,
  140059. c[O >> 2] | 0,
  140060. c[A >> 2] | 0
  140061. ) |
  140062. 0) +
  140063. 4),
  140064. !(c[r >> 2] | 0))
  140065. : 0)
  140066. ) {
  140067. c[P >> 2] = 99999999;
  140068. c[Q >> 2] =
  140069. tc[c[E >> 2] & 7](
  140070. c[j >> 2] | 0,
  140071. c[n >> 2] | 0,
  140072. c[t >> 2] | 0,
  140073. c[v >> 2] | 0,
  140074. P
  140075. ) | 0;
  140076. if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  140077. c[H >> 2] = c[Q >> 2];
  140078. c[J >> 2] = c[t >> 2];
  140079. c[I >> 2] = c[P >> 2];
  140080. }
  140081. if ((c[H >> 2] | 0) >>> 0 < 4) {
  140082. c[t >> 2] =
  140083. (c[t >> 2] | 0) +
  140084. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  140085. continue;
  140086. }
  140087. a: do {
  140088. if ((c[r >> 2] | 0) >>> 0 >= 1)
  140089. while (1) {
  140090. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  140091. break a;
  140092. c[t >> 2] = (c[t >> 2] | 0) + 1;
  140093. c[K >> 2] = (c[K >> 2] | 0) + 1;
  140094. if (
  140095. (
  140096. (
  140097. (
  140098. c[I >> 2] | 0
  140099. ? ((c[R >> 2] =
  140100. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  140101. (c[S >> 2] =
  140102. (c[R >> 2] | 0) >>> 0 <
  140103. (c[y >> 2] | 0) >>> 0
  140104. ? c[B >> 2] | 0
  140105. : c[x >> 2] | 0),
  140106. (c[T >> 2] =
  140107. (c[S >> 2] | 0) + (c[R >> 2] | 0)),
  140108. ((c[R >> 2] | 0) >>> 0 >
  140109. (c[z >> 2] | 0) >>> 0
  140110. ? (((c[y >> 2] | 0) -
  140111. 1 -
  140112. (c[R >> 2] | 0)) |
  140113. 0) >>>
  140114. 0 >=
  140115. 3
  140116. : 0) | 0)
  140117. : 0
  140118. )
  140119. ? ((q = Bk(c[t >> 2] | 0) | 0),
  140120. (q | 0) == (Bk(c[T >> 2] | 0) | 0))
  140121. : 0
  140122. )
  140123. ? ((c[U >> 2] =
  140124. (c[R >> 2] | 0) >>> 0 <
  140125. (c[y >> 2] | 0) >>> 0
  140126. ? c[C >> 2] | 0
  140127. : c[v >> 2] | 0),
  140128. (c[V >> 2] =
  140129. (Lm(
  140130. ((c[t >> 2] | 0) + 4) | 0,
  140131. ((c[T >> 2] | 0) + 4) | 0,
  140132. c[v >> 2] | 0,
  140133. c[U >> 2] | 0,
  140134. c[A >> 2] | 0
  140135. ) |
  140136. 0) +
  140137. 4),
  140138. (c[W >> 2] = (c[V >> 2] | 0) * 3),
  140139. (q = ((c[H >> 2] | 0) * 3) | 0),
  140140. (c[X >> 2] =
  140141. q -
  140142. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  140143. 1),
  140144. (c[V >> 2] | 0) >>> 0 >= 4)
  140145. : 0
  140146. )
  140147. ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
  140148. : 0
  140149. ) {
  140150. c[H >> 2] = c[V >> 2];
  140151. c[I >> 2] = 0;
  140152. c[J >> 2] = c[t >> 2];
  140153. }
  140154. c[Y >> 2] = 99999999;
  140155. c[Z >> 2] =
  140156. tc[c[E >> 2] & 7](
  140157. c[j >> 2] | 0,
  140158. c[n >> 2] | 0,
  140159. c[t >> 2] | 0,
  140160. c[v >> 2] | 0,
  140161. Y
  140162. ) | 0;
  140163. q = c[Z >> 2] << 2;
  140164. c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
  140165. q = c[H >> 2] << 2;
  140166. c[$ >> 2] =
  140167. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
  140168. if (
  140169. (c[Z >> 2] | 0) >>> 0 >= 4
  140170. ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
  140171. : 0
  140172. ) {
  140173. c[H >> 2] = c[Z >> 2];
  140174. c[I >> 2] = c[Y >> 2];
  140175. c[J >> 2] = c[t >> 2];
  140176. continue;
  140177. }
  140178. if ((c[r >> 2] | 0) != 2) break a;
  140179. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  140180. break a;
  140181. c[t >> 2] = (c[t >> 2] | 0) + 1;
  140182. c[K >> 2] = (c[K >> 2] | 0) + 1;
  140183. if (
  140184. (
  140185. (
  140186. (
  140187. c[I >> 2] | 0
  140188. ? ((c[aa >> 2] =
  140189. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  140190. (c[ba >> 2] =
  140191. (c[aa >> 2] | 0) >>> 0 <
  140192. (c[y >> 2] | 0) >>> 0
  140193. ? c[B >> 2] | 0
  140194. : c[x >> 2] | 0),
  140195. (c[ca >> 2] =
  140196. (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
  140197. ((c[aa >> 2] | 0) >>> 0 >
  140198. (c[z >> 2] | 0) >>> 0
  140199. ? (((c[y >> 2] | 0) -
  140200. 1 -
  140201. (c[aa >> 2] | 0)) |
  140202. 0) >>>
  140203. 0 >=
  140204. 3
  140205. : 0) | 0)
  140206. : 0
  140207. )
  140208. ? ((q = Bk(c[t >> 2] | 0) | 0),
  140209. (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
  140210. : 0
  140211. )
  140212. ? ((c[da >> 2] =
  140213. (c[aa >> 2] | 0) >>> 0 <
  140214. (c[y >> 2] | 0) >>> 0
  140215. ? c[C >> 2] | 0
  140216. : c[v >> 2] | 0),
  140217. (c[ea >> 2] =
  140218. (Lm(
  140219. ((c[t >> 2] | 0) + 4) | 0,
  140220. ((c[ca >> 2] | 0) + 4) | 0,
  140221. c[v >> 2] | 0,
  140222. c[da >> 2] | 0,
  140223. c[A >> 2] | 0
  140224. ) |
  140225. 0) +
  140226. 4),
  140227. (c[fa >> 2] = c[ea >> 2] << 2),
  140228. (q = c[H >> 2] << 2),
  140229. (c[ga >> 2] =
  140230. q -
  140231. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  140232. 1),
  140233. (c[ea >> 2] | 0) >>> 0 >= 4)
  140234. : 0
  140235. )
  140236. ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
  140237. : 0
  140238. ) {
  140239. c[H >> 2] = c[ea >> 2];
  140240. c[I >> 2] = 0;
  140241. c[J >> 2] = c[t >> 2];
  140242. }
  140243. c[ha >> 2] = 99999999;
  140244. c[ia >> 2] =
  140245. tc[c[E >> 2] & 7](
  140246. c[j >> 2] | 0,
  140247. c[n >> 2] | 0,
  140248. c[t >> 2] | 0,
  140249. c[v >> 2] | 0,
  140250. ha
  140251. ) | 0;
  140252. q = c[ia >> 2] << 2;
  140253. c[ja >> 2] =
  140254. q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
  140255. q = c[H >> 2] << 2;
  140256. c[ka >> 2] =
  140257. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
  140258. if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
  140259. if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
  140260. c[H >> 2] = c[ia >> 2];
  140261. c[I >> 2] = c[ha >> 2];
  140262. c[J >> 2] = c[t >> 2];
  140263. }
  140264. } while (0);
  140265. if (c[I >> 2] | 0) {
  140266. c[la >> 2] =
  140267. (c[J >> 2] | 0) -
  140268. (c[x >> 2] | 0) -
  140269. ((c[I >> 2] | 0) - 2);
  140270. c[ma >> 2] =
  140271. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140272. ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
  140273. : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
  140274. c[na >> 2] =
  140275. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140276. ? c[D >> 2] | 0
  140277. : c[A >> 2] | 0;
  140278. while (1) {
  140279. if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
  140280. break;
  140281. if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
  140282. break;
  140283. if (
  140284. (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  140285. (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
  140286. )
  140287. break;
  140288. c[J >> 2] = (c[J >> 2] | 0) + -1;
  140289. c[ma >> 2] = (c[ma >> 2] | 0) + -1;
  140290. c[H >> 2] = (c[H >> 2] | 0) + 1;
  140291. }
  140292. c[G >> 2] = c[F >> 2];
  140293. c[F >> 2] = (c[I >> 2] | 0) - 2;
  140294. }
  140295. }
  140296. c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
  140297. Nm(
  140298. c[k >> 2] | 0,
  140299. c[oa >> 2] | 0,
  140300. c[u >> 2] | 0,
  140301. c[I >> 2] | 0,
  140302. ((c[H >> 2] | 0) - 3) | 0
  140303. );
  140304. q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
  140305. c[t >> 2] = q;
  140306. c[u >> 2] = q;
  140307. while (1) {
  140308. if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
  140309. c[pa >> 2] =
  140310. (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
  140311. c[qa >> 2] =
  140312. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140313. ? c[B >> 2] | 0
  140314. : c[x >> 2] | 0;
  140315. c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
  140316. if (
  140317. !(
  140318. ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  140319. ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
  140320. 0 >=
  140321. 3
  140322. : 0) | 0
  140323. )
  140324. )
  140325. break;
  140326. q = Bk(c[t >> 2] | 0) | 0;
  140327. if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
  140328. c[sa >> 2] =
  140329. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140330. ? c[C >> 2] | 0
  140331. : c[v >> 2] | 0;
  140332. c[H >> 2] =
  140333. (Lm(
  140334. ((c[t >> 2] | 0) + 4) | 0,
  140335. ((c[ra >> 2] | 0) + 4) | 0,
  140336. c[v >> 2] | 0,
  140337. c[sa >> 2] | 0,
  140338. c[A >> 2] | 0
  140339. ) |
  140340. 0) +
  140341. 4;
  140342. c[I >> 2] = c[G >> 2];
  140343. c[G >> 2] = c[F >> 2];
  140344. c[F >> 2] = c[I >> 2];
  140345. Nm(
  140346. c[k >> 2] | 0,
  140347. 0,
  140348. c[u >> 2] | 0,
  140349. 0,
  140350. ((c[H >> 2] | 0) - 3) | 0
  140351. );
  140352. c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
  140353. c[u >> 2] = c[t >> 2];
  140354. }
  140355. }
  140356. c[c[m >> 2] >> 2] = c[F >> 2];
  140357. c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
  140358. l = i;
  140359. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  140360. }
  140361. function hm(a, b, e, f, g, h) {
  140362. a = a | 0;
  140363. b = b | 0;
  140364. e = e | 0;
  140365. f = f | 0;
  140366. g = g | 0;
  140367. h = h | 0;
  140368. var i = 0,
  140369. j = 0,
  140370. k = 0,
  140371. m = 0,
  140372. n = 0,
  140373. o = 0,
  140374. p = 0,
  140375. q = 0,
  140376. r = 0,
  140377. s = 0,
  140378. t = 0,
  140379. u = 0,
  140380. v = 0,
  140381. w = 0,
  140382. x = 0,
  140383. y = 0,
  140384. z = 0,
  140385. A = 0,
  140386. B = 0,
  140387. C = 0,
  140388. D = 0,
  140389. E = 0,
  140390. F = 0,
  140391. G = 0,
  140392. H = 0,
  140393. I = 0,
  140394. J = 0,
  140395. K = 0,
  140396. L = 0,
  140397. M = 0,
  140398. N = 0,
  140399. O = 0,
  140400. P = 0,
  140401. Q = 0,
  140402. R = 0,
  140403. S = 0,
  140404. T = 0,
  140405. U = 0,
  140406. V = 0,
  140407. W = 0,
  140408. X = 0,
  140409. Y = 0,
  140410. Z = 0,
  140411. _ = 0,
  140412. $ = 0,
  140413. aa = 0,
  140414. ba = 0,
  140415. ca = 0,
  140416. da = 0,
  140417. ea = 0,
  140418. fa = 0,
  140419. ga = 0,
  140420. ha = 0,
  140421. ia = 0,
  140422. ja = 0,
  140423. ka = 0,
  140424. la = 0,
  140425. ma = 0,
  140426. na = 0,
  140427. oa = 0,
  140428. pa = 0,
  140429. qa = 0,
  140430. ra = 0,
  140431. sa = 0,
  140432. ta = 0,
  140433. ua = 0,
  140434. va = 0,
  140435. wa = 0,
  140436. xa = 0,
  140437. ya = 0;
  140438. i = l;
  140439. l = (l + 288) | 0;
  140440. j = (i + 272) | 0;
  140441. k = (i + 268) | 0;
  140442. m = (i + 264) | 0;
  140443. n = (i + 260) | 0;
  140444. o = (i + 256) | 0;
  140445. p = (i + 252) | 0;
  140446. q = (i + 248) | 0;
  140447. r = (i + 244) | 0;
  140448. s = (i + 240) | 0;
  140449. t = (i + 236) | 0;
  140450. u = (i + 232) | 0;
  140451. v = (i + 228) | 0;
  140452. w = (i + 224) | 0;
  140453. x = (i + 220) | 0;
  140454. y = (i + 216) | 0;
  140455. z = (i + 212) | 0;
  140456. A = (i + 208) | 0;
  140457. B = (i + 204) | 0;
  140458. C = (i + 200) | 0;
  140459. D = (i + 196) | 0;
  140460. E = (i + 192) | 0;
  140461. F = (i + 188) | 0;
  140462. G = (i + 184) | 0;
  140463. H = (i + 180) | 0;
  140464. I = (i + 176) | 0;
  140465. J = (i + 172) | 0;
  140466. K = (i + 168) | 0;
  140467. L = (i + 164) | 0;
  140468. M = (i + 160) | 0;
  140469. N = (i + 156) | 0;
  140470. O = (i + 152) | 0;
  140471. P = (i + 148) | 0;
  140472. Q = (i + 144) | 0;
  140473. R = (i + 140) | 0;
  140474. S = (i + 136) | 0;
  140475. T = (i + 132) | 0;
  140476. U = (i + 128) | 0;
  140477. V = (i + 124) | 0;
  140478. W = (i + 120) | 0;
  140479. X = (i + 116) | 0;
  140480. Y = (i + 112) | 0;
  140481. Z = (i + 108) | 0;
  140482. _ = (i + 104) | 0;
  140483. $ = (i + 100) | 0;
  140484. aa = (i + 96) | 0;
  140485. ba = (i + 92) | 0;
  140486. ca = (i + 88) | 0;
  140487. da = (i + 84) | 0;
  140488. ea = (i + 80) | 0;
  140489. fa = (i + 76) | 0;
  140490. ga = (i + 72) | 0;
  140491. ha = (i + 68) | 0;
  140492. ia = (i + 64) | 0;
  140493. ja = (i + 60) | 0;
  140494. ka = (i + 56) | 0;
  140495. la = (i + 52) | 0;
  140496. ma = (i + 48) | 0;
  140497. na = (i + 44) | 0;
  140498. oa = (i + 40) | 0;
  140499. pa = (i + 36) | 0;
  140500. qa = (i + 32) | 0;
  140501. ra = (i + 28) | 0;
  140502. sa = (i + 24) | 0;
  140503. ta = (i + 20) | 0;
  140504. ua = (i + 16) | 0;
  140505. va = (i + 12) | 0;
  140506. wa = (i + 8) | 0;
  140507. xa = (i + 4) | 0;
  140508. ya = i;
  140509. c[ta >> 2] = a;
  140510. c[ua >> 2] = b;
  140511. c[va >> 2] = e;
  140512. c[wa >> 2] = f;
  140513. c[xa >> 2] = g;
  140514. c[ya >> 2] = h;
  140515. h = c[ua >> 2] | 0;
  140516. ua = c[va >> 2] | 0;
  140517. va = c[wa >> 2] | 0;
  140518. wa = c[xa >> 2] | 0;
  140519. xa = c[ya >> 2] | 0;
  140520. c[j >> 2] = c[ta >> 2];
  140521. c[k >> 2] = h;
  140522. c[m >> 2] = ua;
  140523. c[n >> 2] = va;
  140524. c[o >> 2] = wa;
  140525. c[p >> 2] = xa;
  140526. c[q >> 2] = 0;
  140527. c[r >> 2] = 2;
  140528. c[s >> 2] = c[o >> 2];
  140529. c[t >> 2] = c[s >> 2];
  140530. c[u >> 2] = c[s >> 2];
  140531. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  140532. c[w >> 2] = (c[v >> 2] | 0) + -8;
  140533. c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
  140534. c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
  140535. c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
  140536. c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
  140537. c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
  140538. c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
  140539. c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
  140540. c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
  140541. c[F >> 2] = c[c[m >> 2] >> 2];
  140542. c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  140543. c[((c[j >> 2] | 0) + 28) >> 2] =
  140544. c[((c[j >> 2] | 0) + 24) >> 2];
  140545. c[t >> 2] =
  140546. (c[t >> 2] | 0) +
  140547. (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
  140548. while (1) {
  140549. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  140550. c[H >> 2] = 0;
  140551. c[I >> 2] = 0;
  140552. c[J >> 2] = (c[t >> 2] | 0) + 1;
  140553. c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  140554. c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
  140555. c[M >> 2] =
  140556. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140557. ? c[B >> 2] | 0
  140558. : c[x >> 2] | 0;
  140559. c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
  140560. if (
  140561. !((
  140562. ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  140563. ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
  140564. 0 >=
  140565. 3
  140566. : 0) | 0
  140567. ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
  140568. (q | 0) == (Bk(c[N >> 2] | 0) | 0))
  140569. : 0
  140570. )
  140571. ? ((c[O >> 2] =
  140572. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140573. ? c[C >> 2] | 0
  140574. : c[v >> 2] | 0),
  140575. (c[H >> 2] =
  140576. (Lm(
  140577. ((c[t >> 2] | 0) + 1 + 4) | 0,
  140578. ((c[N >> 2] | 0) + 4) | 0,
  140579. c[v >> 2] | 0,
  140580. c[O >> 2] | 0,
  140581. c[A >> 2] | 0
  140582. ) |
  140583. 0) +
  140584. 4),
  140585. !(c[r >> 2] | 0))
  140586. : 0)
  140587. ) {
  140588. c[P >> 2] = 99999999;
  140589. c[Q >> 2] =
  140590. tc[c[E >> 2] & 7](
  140591. c[j >> 2] | 0,
  140592. c[n >> 2] | 0,
  140593. c[t >> 2] | 0,
  140594. c[v >> 2] | 0,
  140595. P
  140596. ) | 0;
  140597. if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  140598. c[H >> 2] = c[Q >> 2];
  140599. c[J >> 2] = c[t >> 2];
  140600. c[I >> 2] = c[P >> 2];
  140601. }
  140602. if ((c[H >> 2] | 0) >>> 0 < 4) {
  140603. c[t >> 2] =
  140604. (c[t >> 2] | 0) +
  140605. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  140606. continue;
  140607. }
  140608. a: do {
  140609. if ((c[r >> 2] | 0) >>> 0 >= 1)
  140610. while (1) {
  140611. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  140612. break a;
  140613. c[t >> 2] = (c[t >> 2] | 0) + 1;
  140614. c[K >> 2] = (c[K >> 2] | 0) + 1;
  140615. if (
  140616. (
  140617. (
  140618. (
  140619. c[I >> 2] | 0
  140620. ? ((c[R >> 2] =
  140621. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  140622. (c[S >> 2] =
  140623. (c[R >> 2] | 0) >>> 0 <
  140624. (c[y >> 2] | 0) >>> 0
  140625. ? c[B >> 2] | 0
  140626. : c[x >> 2] | 0),
  140627. (c[T >> 2] =
  140628. (c[S >> 2] | 0) + (c[R >> 2] | 0)),
  140629. ((c[R >> 2] | 0) >>> 0 >
  140630. (c[z >> 2] | 0) >>> 0
  140631. ? (((c[y >> 2] | 0) -
  140632. 1 -
  140633. (c[R >> 2] | 0)) |
  140634. 0) >>>
  140635. 0 >=
  140636. 3
  140637. : 0) | 0)
  140638. : 0
  140639. )
  140640. ? ((q = Bk(c[t >> 2] | 0) | 0),
  140641. (q | 0) == (Bk(c[T >> 2] | 0) | 0))
  140642. : 0
  140643. )
  140644. ? ((c[U >> 2] =
  140645. (c[R >> 2] | 0) >>> 0 <
  140646. (c[y >> 2] | 0) >>> 0
  140647. ? c[C >> 2] | 0
  140648. : c[v >> 2] | 0),
  140649. (c[V >> 2] =
  140650. (Lm(
  140651. ((c[t >> 2] | 0) + 4) | 0,
  140652. ((c[T >> 2] | 0) + 4) | 0,
  140653. c[v >> 2] | 0,
  140654. c[U >> 2] | 0,
  140655. c[A >> 2] | 0
  140656. ) |
  140657. 0) +
  140658. 4),
  140659. (c[W >> 2] = (c[V >> 2] | 0) * 3),
  140660. (q = ((c[H >> 2] | 0) * 3) | 0),
  140661. (c[X >> 2] =
  140662. q -
  140663. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  140664. 1),
  140665. (c[V >> 2] | 0) >>> 0 >= 4)
  140666. : 0
  140667. )
  140668. ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
  140669. : 0
  140670. ) {
  140671. c[H >> 2] = c[V >> 2];
  140672. c[I >> 2] = 0;
  140673. c[J >> 2] = c[t >> 2];
  140674. }
  140675. c[Y >> 2] = 99999999;
  140676. c[Z >> 2] =
  140677. tc[c[E >> 2] & 7](
  140678. c[j >> 2] | 0,
  140679. c[n >> 2] | 0,
  140680. c[t >> 2] | 0,
  140681. c[v >> 2] | 0,
  140682. Y
  140683. ) | 0;
  140684. q = c[Z >> 2] << 2;
  140685. c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
  140686. q = c[H >> 2] << 2;
  140687. c[$ >> 2] =
  140688. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
  140689. if (
  140690. (c[Z >> 2] | 0) >>> 0 >= 4
  140691. ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
  140692. : 0
  140693. ) {
  140694. c[H >> 2] = c[Z >> 2];
  140695. c[I >> 2] = c[Y >> 2];
  140696. c[J >> 2] = c[t >> 2];
  140697. continue;
  140698. }
  140699. if ((c[r >> 2] | 0) != 2) break a;
  140700. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  140701. break a;
  140702. c[t >> 2] = (c[t >> 2] | 0) + 1;
  140703. c[K >> 2] = (c[K >> 2] | 0) + 1;
  140704. if (
  140705. (
  140706. (
  140707. (
  140708. c[I >> 2] | 0
  140709. ? ((c[aa >> 2] =
  140710. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  140711. (c[ba >> 2] =
  140712. (c[aa >> 2] | 0) >>> 0 <
  140713. (c[y >> 2] | 0) >>> 0
  140714. ? c[B >> 2] | 0
  140715. : c[x >> 2] | 0),
  140716. (c[ca >> 2] =
  140717. (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
  140718. ((c[aa >> 2] | 0) >>> 0 >
  140719. (c[z >> 2] | 0) >>> 0
  140720. ? (((c[y >> 2] | 0) -
  140721. 1 -
  140722. (c[aa >> 2] | 0)) |
  140723. 0) >>>
  140724. 0 >=
  140725. 3
  140726. : 0) | 0)
  140727. : 0
  140728. )
  140729. ? ((q = Bk(c[t >> 2] | 0) | 0),
  140730. (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
  140731. : 0
  140732. )
  140733. ? ((c[da >> 2] =
  140734. (c[aa >> 2] | 0) >>> 0 <
  140735. (c[y >> 2] | 0) >>> 0
  140736. ? c[C >> 2] | 0
  140737. : c[v >> 2] | 0),
  140738. (c[ea >> 2] =
  140739. (Lm(
  140740. ((c[t >> 2] | 0) + 4) | 0,
  140741. ((c[ca >> 2] | 0) + 4) | 0,
  140742. c[v >> 2] | 0,
  140743. c[da >> 2] | 0,
  140744. c[A >> 2] | 0
  140745. ) |
  140746. 0) +
  140747. 4),
  140748. (c[fa >> 2] = c[ea >> 2] << 2),
  140749. (q = c[H >> 2] << 2),
  140750. (c[ga >> 2] =
  140751. q -
  140752. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  140753. 1),
  140754. (c[ea >> 2] | 0) >>> 0 >= 4)
  140755. : 0
  140756. )
  140757. ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
  140758. : 0
  140759. ) {
  140760. c[H >> 2] = c[ea >> 2];
  140761. c[I >> 2] = 0;
  140762. c[J >> 2] = c[t >> 2];
  140763. }
  140764. c[ha >> 2] = 99999999;
  140765. c[ia >> 2] =
  140766. tc[c[E >> 2] & 7](
  140767. c[j >> 2] | 0,
  140768. c[n >> 2] | 0,
  140769. c[t >> 2] | 0,
  140770. c[v >> 2] | 0,
  140771. ha
  140772. ) | 0;
  140773. q = c[ia >> 2] << 2;
  140774. c[ja >> 2] =
  140775. q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
  140776. q = c[H >> 2] << 2;
  140777. c[ka >> 2] =
  140778. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
  140779. if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
  140780. if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
  140781. c[H >> 2] = c[ia >> 2];
  140782. c[I >> 2] = c[ha >> 2];
  140783. c[J >> 2] = c[t >> 2];
  140784. }
  140785. } while (0);
  140786. if (c[I >> 2] | 0) {
  140787. c[la >> 2] =
  140788. (c[J >> 2] | 0) -
  140789. (c[x >> 2] | 0) -
  140790. ((c[I >> 2] | 0) - 2);
  140791. c[ma >> 2] =
  140792. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140793. ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
  140794. : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
  140795. c[na >> 2] =
  140796. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140797. ? c[D >> 2] | 0
  140798. : c[A >> 2] | 0;
  140799. while (1) {
  140800. if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
  140801. break;
  140802. if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
  140803. break;
  140804. if (
  140805. (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  140806. (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
  140807. )
  140808. break;
  140809. c[J >> 2] = (c[J >> 2] | 0) + -1;
  140810. c[ma >> 2] = (c[ma >> 2] | 0) + -1;
  140811. c[H >> 2] = (c[H >> 2] | 0) + 1;
  140812. }
  140813. c[G >> 2] = c[F >> 2];
  140814. c[F >> 2] = (c[I >> 2] | 0) - 2;
  140815. }
  140816. }
  140817. c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
  140818. Nm(
  140819. c[k >> 2] | 0,
  140820. c[oa >> 2] | 0,
  140821. c[u >> 2] | 0,
  140822. c[I >> 2] | 0,
  140823. ((c[H >> 2] | 0) - 3) | 0
  140824. );
  140825. q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
  140826. c[t >> 2] = q;
  140827. c[u >> 2] = q;
  140828. while (1) {
  140829. if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
  140830. c[pa >> 2] =
  140831. (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
  140832. c[qa >> 2] =
  140833. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140834. ? c[B >> 2] | 0
  140835. : c[x >> 2] | 0;
  140836. c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
  140837. if (
  140838. !(
  140839. ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  140840. ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
  140841. 0 >=
  140842. 3
  140843. : 0) | 0
  140844. )
  140845. )
  140846. break;
  140847. q = Bk(c[t >> 2] | 0) | 0;
  140848. if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
  140849. c[sa >> 2] =
  140850. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  140851. ? c[C >> 2] | 0
  140852. : c[v >> 2] | 0;
  140853. c[H >> 2] =
  140854. (Lm(
  140855. ((c[t >> 2] | 0) + 4) | 0,
  140856. ((c[ra >> 2] | 0) + 4) | 0,
  140857. c[v >> 2] | 0,
  140858. c[sa >> 2] | 0,
  140859. c[A >> 2] | 0
  140860. ) |
  140861. 0) +
  140862. 4;
  140863. c[I >> 2] = c[G >> 2];
  140864. c[G >> 2] = c[F >> 2];
  140865. c[F >> 2] = c[I >> 2];
  140866. Nm(
  140867. c[k >> 2] | 0,
  140868. 0,
  140869. c[u >> 2] | 0,
  140870. 0,
  140871. ((c[H >> 2] | 0) - 3) | 0
  140872. );
  140873. c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
  140874. c[u >> 2] = c[t >> 2];
  140875. }
  140876. }
  140877. c[c[m >> 2] >> 2] = c[F >> 2];
  140878. c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
  140879. l = i;
  140880. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  140881. }
  140882. function im(a, b, e, f, g, h) {
  140883. a = a | 0;
  140884. b = b | 0;
  140885. e = e | 0;
  140886. f = f | 0;
  140887. g = g | 0;
  140888. h = h | 0;
  140889. var i = 0,
  140890. j = 0,
  140891. k = 0,
  140892. m = 0,
  140893. n = 0,
  140894. o = 0,
  140895. p = 0,
  140896. q = 0,
  140897. r = 0,
  140898. s = 0,
  140899. t = 0,
  140900. u = 0,
  140901. v = 0,
  140902. w = 0,
  140903. x = 0,
  140904. y = 0,
  140905. z = 0,
  140906. A = 0,
  140907. B = 0,
  140908. C = 0,
  140909. D = 0,
  140910. E = 0,
  140911. F = 0,
  140912. G = 0,
  140913. H = 0,
  140914. I = 0,
  140915. J = 0,
  140916. K = 0,
  140917. L = 0,
  140918. M = 0,
  140919. N = 0,
  140920. O = 0,
  140921. P = 0,
  140922. Q = 0,
  140923. R = 0,
  140924. S = 0,
  140925. T = 0,
  140926. U = 0,
  140927. V = 0,
  140928. W = 0,
  140929. X = 0,
  140930. Y = 0,
  140931. Z = 0,
  140932. _ = 0,
  140933. $ = 0,
  140934. aa = 0,
  140935. ba = 0,
  140936. ca = 0,
  140937. da = 0,
  140938. ea = 0,
  140939. fa = 0,
  140940. ga = 0,
  140941. ha = 0,
  140942. ia = 0,
  140943. ja = 0,
  140944. ka = 0,
  140945. la = 0,
  140946. ma = 0,
  140947. na = 0,
  140948. oa = 0,
  140949. pa = 0,
  140950. qa = 0,
  140951. ra = 0,
  140952. sa = 0,
  140953. ta = 0,
  140954. ua = 0,
  140955. va = 0,
  140956. wa = 0,
  140957. xa = 0,
  140958. ya = 0;
  140959. i = l;
  140960. l = (l + 288) | 0;
  140961. j = (i + 272) | 0;
  140962. k = (i + 268) | 0;
  140963. m = (i + 264) | 0;
  140964. n = (i + 260) | 0;
  140965. o = (i + 256) | 0;
  140966. p = (i + 252) | 0;
  140967. q = (i + 248) | 0;
  140968. r = (i + 244) | 0;
  140969. s = (i + 240) | 0;
  140970. t = (i + 236) | 0;
  140971. u = (i + 232) | 0;
  140972. v = (i + 228) | 0;
  140973. w = (i + 224) | 0;
  140974. x = (i + 220) | 0;
  140975. y = (i + 216) | 0;
  140976. z = (i + 212) | 0;
  140977. A = (i + 208) | 0;
  140978. B = (i + 204) | 0;
  140979. C = (i + 200) | 0;
  140980. D = (i + 196) | 0;
  140981. E = (i + 192) | 0;
  140982. F = (i + 188) | 0;
  140983. G = (i + 184) | 0;
  140984. H = (i + 180) | 0;
  140985. I = (i + 176) | 0;
  140986. J = (i + 172) | 0;
  140987. K = (i + 168) | 0;
  140988. L = (i + 164) | 0;
  140989. M = (i + 160) | 0;
  140990. N = (i + 156) | 0;
  140991. O = (i + 152) | 0;
  140992. P = (i + 148) | 0;
  140993. Q = (i + 144) | 0;
  140994. R = (i + 140) | 0;
  140995. S = (i + 136) | 0;
  140996. T = (i + 132) | 0;
  140997. U = (i + 128) | 0;
  140998. V = (i + 124) | 0;
  140999. W = (i + 120) | 0;
  141000. X = (i + 116) | 0;
  141001. Y = (i + 112) | 0;
  141002. Z = (i + 108) | 0;
  141003. _ = (i + 104) | 0;
  141004. $ = (i + 100) | 0;
  141005. aa = (i + 96) | 0;
  141006. ba = (i + 92) | 0;
  141007. ca = (i + 88) | 0;
  141008. da = (i + 84) | 0;
  141009. ea = (i + 80) | 0;
  141010. fa = (i + 76) | 0;
  141011. ga = (i + 72) | 0;
  141012. ha = (i + 68) | 0;
  141013. ia = (i + 64) | 0;
  141014. ja = (i + 60) | 0;
  141015. ka = (i + 56) | 0;
  141016. la = (i + 52) | 0;
  141017. ma = (i + 48) | 0;
  141018. na = (i + 44) | 0;
  141019. oa = (i + 40) | 0;
  141020. pa = (i + 36) | 0;
  141021. qa = (i + 32) | 0;
  141022. ra = (i + 28) | 0;
  141023. sa = (i + 24) | 0;
  141024. ta = (i + 20) | 0;
  141025. ua = (i + 16) | 0;
  141026. va = (i + 12) | 0;
  141027. wa = (i + 8) | 0;
  141028. xa = (i + 4) | 0;
  141029. ya = i;
  141030. c[ta >> 2] = a;
  141031. c[ua >> 2] = b;
  141032. c[va >> 2] = e;
  141033. c[wa >> 2] = f;
  141034. c[xa >> 2] = g;
  141035. c[ya >> 2] = h;
  141036. h = c[ua >> 2] | 0;
  141037. ua = c[va >> 2] | 0;
  141038. va = c[wa >> 2] | 0;
  141039. wa = c[xa >> 2] | 0;
  141040. xa = c[ya >> 2] | 0;
  141041. c[j >> 2] = c[ta >> 2];
  141042. c[k >> 2] = h;
  141043. c[m >> 2] = ua;
  141044. c[n >> 2] = va;
  141045. c[o >> 2] = wa;
  141046. c[p >> 2] = xa;
  141047. c[q >> 2] = 1;
  141048. c[r >> 2] = 2;
  141049. c[s >> 2] = c[o >> 2];
  141050. c[t >> 2] = c[s >> 2];
  141051. c[u >> 2] = c[s >> 2];
  141052. c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
  141053. c[w >> 2] = (c[v >> 2] | 0) + -8;
  141054. c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
  141055. c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
  141056. c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
  141057. c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
  141058. c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
  141059. c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
  141060. c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
  141061. c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
  141062. c[F >> 2] = c[c[m >> 2] >> 2];
  141063. c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
  141064. c[((c[j >> 2] | 0) + 28) >> 2] =
  141065. c[((c[j >> 2] | 0) + 24) >> 2];
  141066. c[t >> 2] =
  141067. (c[t >> 2] | 0) +
  141068. (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
  141069. while (1) {
  141070. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
  141071. c[H >> 2] = 0;
  141072. c[I >> 2] = 0;
  141073. c[J >> 2] = (c[t >> 2] | 0) + 1;
  141074. c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
  141075. c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
  141076. c[M >> 2] =
  141077. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  141078. ? c[B >> 2] | 0
  141079. : c[x >> 2] | 0;
  141080. c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
  141081. if (
  141082. !((
  141083. ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  141084. ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
  141085. 0 >=
  141086. 3
  141087. : 0) | 0
  141088. ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
  141089. (q | 0) == (Bk(c[N >> 2] | 0) | 0))
  141090. : 0
  141091. )
  141092. ? ((c[O >> 2] =
  141093. (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  141094. ? c[C >> 2] | 0
  141095. : c[v >> 2] | 0),
  141096. (c[H >> 2] =
  141097. (Lm(
  141098. ((c[t >> 2] | 0) + 1 + 4) | 0,
  141099. ((c[N >> 2] | 0) + 4) | 0,
  141100. c[v >> 2] | 0,
  141101. c[O >> 2] | 0,
  141102. c[A >> 2] | 0
  141103. ) |
  141104. 0) +
  141105. 4),
  141106. !(c[r >> 2] | 0))
  141107. : 0)
  141108. ) {
  141109. c[P >> 2] = 99999999;
  141110. c[Q >> 2] =
  141111. tc[c[E >> 2] & 7](
  141112. c[j >> 2] | 0,
  141113. c[n >> 2] | 0,
  141114. c[t >> 2] | 0,
  141115. c[v >> 2] | 0,
  141116. P
  141117. ) | 0;
  141118. if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
  141119. c[H >> 2] = c[Q >> 2];
  141120. c[J >> 2] = c[t >> 2];
  141121. c[I >> 2] = c[P >> 2];
  141122. }
  141123. if ((c[H >> 2] | 0) >>> 0 < 4) {
  141124. c[t >> 2] =
  141125. (c[t >> 2] | 0) +
  141126. ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
  141127. continue;
  141128. }
  141129. a: do {
  141130. if ((c[r >> 2] | 0) >>> 0 >= 1)
  141131. while (1) {
  141132. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  141133. break a;
  141134. c[t >> 2] = (c[t >> 2] | 0) + 1;
  141135. c[K >> 2] = (c[K >> 2] | 0) + 1;
  141136. if (
  141137. (
  141138. (
  141139. (
  141140. c[I >> 2] | 0
  141141. ? ((c[R >> 2] =
  141142. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  141143. (c[S >> 2] =
  141144. (c[R >> 2] | 0) >>> 0 <
  141145. (c[y >> 2] | 0) >>> 0
  141146. ? c[B >> 2] | 0
  141147. : c[x >> 2] | 0),
  141148. (c[T >> 2] =
  141149. (c[S >> 2] | 0) + (c[R >> 2] | 0)),
  141150. ((c[R >> 2] | 0) >>> 0 >
  141151. (c[z >> 2] | 0) >>> 0
  141152. ? (((c[y >> 2] | 0) -
  141153. 1 -
  141154. (c[R >> 2] | 0)) |
  141155. 0) >>>
  141156. 0 >=
  141157. 3
  141158. : 0) | 0)
  141159. : 0
  141160. )
  141161. ? ((q = Bk(c[t >> 2] | 0) | 0),
  141162. (q | 0) == (Bk(c[T >> 2] | 0) | 0))
  141163. : 0
  141164. )
  141165. ? ((c[U >> 2] =
  141166. (c[R >> 2] | 0) >>> 0 <
  141167. (c[y >> 2] | 0) >>> 0
  141168. ? c[C >> 2] | 0
  141169. : c[v >> 2] | 0),
  141170. (c[V >> 2] =
  141171. (Lm(
  141172. ((c[t >> 2] | 0) + 4) | 0,
  141173. ((c[T >> 2] | 0) + 4) | 0,
  141174. c[v >> 2] | 0,
  141175. c[U >> 2] | 0,
  141176. c[A >> 2] | 0
  141177. ) |
  141178. 0) +
  141179. 4),
  141180. (c[W >> 2] = (c[V >> 2] | 0) * 3),
  141181. (q = ((c[H >> 2] | 0) * 3) | 0),
  141182. (c[X >> 2] =
  141183. q -
  141184. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  141185. 1),
  141186. (c[V >> 2] | 0) >>> 0 >= 4)
  141187. : 0
  141188. )
  141189. ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
  141190. : 0
  141191. ) {
  141192. c[H >> 2] = c[V >> 2];
  141193. c[I >> 2] = 0;
  141194. c[J >> 2] = c[t >> 2];
  141195. }
  141196. c[Y >> 2] = 99999999;
  141197. c[Z >> 2] =
  141198. tc[c[E >> 2] & 7](
  141199. c[j >> 2] | 0,
  141200. c[n >> 2] | 0,
  141201. c[t >> 2] | 0,
  141202. c[v >> 2] | 0,
  141203. Y
  141204. ) | 0;
  141205. q = c[Z >> 2] << 2;
  141206. c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
  141207. q = c[H >> 2] << 2;
  141208. c[$ >> 2] =
  141209. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
  141210. if (
  141211. (c[Z >> 2] | 0) >>> 0 >= 4
  141212. ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
  141213. : 0
  141214. ) {
  141215. c[H >> 2] = c[Z >> 2];
  141216. c[I >> 2] = c[Y >> 2];
  141217. c[J >> 2] = c[t >> 2];
  141218. continue;
  141219. }
  141220. if ((c[r >> 2] | 0) != 2) break a;
  141221. if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
  141222. break a;
  141223. c[t >> 2] = (c[t >> 2] | 0) + 1;
  141224. c[K >> 2] = (c[K >> 2] | 0) + 1;
  141225. if (
  141226. (
  141227. (
  141228. (
  141229. c[I >> 2] | 0
  141230. ? ((c[aa >> 2] =
  141231. (c[K >> 2] | 0) - (c[F >> 2] | 0)),
  141232. (c[ba >> 2] =
  141233. (c[aa >> 2] | 0) >>> 0 <
  141234. (c[y >> 2] | 0) >>> 0
  141235. ? c[B >> 2] | 0
  141236. : c[x >> 2] | 0),
  141237. (c[ca >> 2] =
  141238. (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
  141239. ((c[aa >> 2] | 0) >>> 0 >
  141240. (c[z >> 2] | 0) >>> 0
  141241. ? (((c[y >> 2] | 0) -
  141242. 1 -
  141243. (c[aa >> 2] | 0)) |
  141244. 0) >>>
  141245. 0 >=
  141246. 3
  141247. : 0) | 0)
  141248. : 0
  141249. )
  141250. ? ((q = Bk(c[t >> 2] | 0) | 0),
  141251. (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
  141252. : 0
  141253. )
  141254. ? ((c[da >> 2] =
  141255. (c[aa >> 2] | 0) >>> 0 <
  141256. (c[y >> 2] | 0) >>> 0
  141257. ? c[C >> 2] | 0
  141258. : c[v >> 2] | 0),
  141259. (c[ea >> 2] =
  141260. (Lm(
  141261. ((c[t >> 2] | 0) + 4) | 0,
  141262. ((c[ca >> 2] | 0) + 4) | 0,
  141263. c[v >> 2] | 0,
  141264. c[da >> 2] | 0,
  141265. c[A >> 2] | 0
  141266. ) |
  141267. 0) +
  141268. 4),
  141269. (c[fa >> 2] = c[ea >> 2] << 2),
  141270. (q = c[H >> 2] << 2),
  141271. (c[ga >> 2] =
  141272. q -
  141273. (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
  141274. 1),
  141275. (c[ea >> 2] | 0) >>> 0 >= 4)
  141276. : 0
  141277. )
  141278. ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
  141279. : 0
  141280. ) {
  141281. c[H >> 2] = c[ea >> 2];
  141282. c[I >> 2] = 0;
  141283. c[J >> 2] = c[t >> 2];
  141284. }
  141285. c[ha >> 2] = 99999999;
  141286. c[ia >> 2] =
  141287. tc[c[E >> 2] & 7](
  141288. c[j >> 2] | 0,
  141289. c[n >> 2] | 0,
  141290. c[t >> 2] | 0,
  141291. c[v >> 2] | 0,
  141292. ha
  141293. ) | 0;
  141294. q = c[ia >> 2] << 2;
  141295. c[ja >> 2] =
  141296. q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
  141297. q = c[H >> 2] << 2;
  141298. c[ka >> 2] =
  141299. q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
  141300. if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
  141301. if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
  141302. c[H >> 2] = c[ia >> 2];
  141303. c[I >> 2] = c[ha >> 2];
  141304. c[J >> 2] = c[t >> 2];
  141305. }
  141306. } while (0);
  141307. if (c[I >> 2] | 0) {
  141308. c[la >> 2] =
  141309. (c[J >> 2] | 0) -
  141310. (c[x >> 2] | 0) -
  141311. ((c[I >> 2] | 0) - 2);
  141312. c[ma >> 2] =
  141313. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  141314. ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
  141315. : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
  141316. c[na >> 2] =
  141317. (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  141318. ? c[D >> 2] | 0
  141319. : c[A >> 2] | 0;
  141320. while (1) {
  141321. if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
  141322. break;
  141323. if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
  141324. break;
  141325. if (
  141326. (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
  141327. (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
  141328. )
  141329. break;
  141330. c[J >> 2] = (c[J >> 2] | 0) + -1;
  141331. c[ma >> 2] = (c[ma >> 2] | 0) + -1;
  141332. c[H >> 2] = (c[H >> 2] | 0) + 1;
  141333. }
  141334. c[G >> 2] = c[F >> 2];
  141335. c[F >> 2] = (c[I >> 2] | 0) - 2;
  141336. }
  141337. }
  141338. c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
  141339. Nm(
  141340. c[k >> 2] | 0,
  141341. c[oa >> 2] | 0,
  141342. c[u >> 2] | 0,
  141343. c[I >> 2] | 0,
  141344. ((c[H >> 2] | 0) - 3) | 0
  141345. );
  141346. q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
  141347. c[t >> 2] = q;
  141348. c[u >> 2] = q;
  141349. while (1) {
  141350. if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
  141351. c[pa >> 2] =
  141352. (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
  141353. c[qa >> 2] =
  141354. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  141355. ? c[B >> 2] | 0
  141356. : c[x >> 2] | 0;
  141357. c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
  141358. if (
  141359. !(
  141360. ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
  141361. ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
  141362. 0 >=
  141363. 3
  141364. : 0) | 0
  141365. )
  141366. )
  141367. break;
  141368. q = Bk(c[t >> 2] | 0) | 0;
  141369. if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
  141370. c[sa >> 2] =
  141371. (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
  141372. ? c[C >> 2] | 0
  141373. : c[v >> 2] | 0;
  141374. c[H >> 2] =
  141375. (Lm(
  141376. ((c[t >> 2] | 0) + 4) | 0,
  141377. ((c[ra >> 2] | 0) + 4) | 0,
  141378. c[v >> 2] | 0,
  141379. c[sa >> 2] | 0,
  141380. c[A >> 2] | 0
  141381. ) |
  141382. 0) +
  141383. 4;
  141384. c[I >> 2] = c[G >> 2];
  141385. c[G >> 2] = c[F >> 2];
  141386. c[F >> 2] = c[I >> 2];
  141387. Nm(
  141388. c[k >> 2] | 0,
  141389. 0,
  141390. c[u >> 2] | 0,
  141391. 0,
  141392. ((c[H >> 2] | 0) - 3) | 0
  141393. );
  141394. c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
  141395. c[u >> 2] = c[t >> 2];
  141396. }
  141397. }
  141398. c[c[m >> 2] >> 2] = c[F >> 2];
  141399. c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
  141400. l = i;
  141401. return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
  141402. }
  141403. function DC(b, d, e) {
  141404. b = b | 0;
  141405. d = d | 0;
  141406. e = e | 0;
  141407. var f = 0,
  141408. g = 0,
  141409. h = 0,
  141410. i = 0,
  141411. j = 0,
  141412. k = 0,
  141413. m = 0,
  141414. n = 0,
  141415. o = 0,
  141416. p = 0,
  141417. q = 0,
  141418. r = 0,
  141419. s = 0,
  141420. t = 0,
  141421. u = 0,
  141422. v = 0,
  141423. w = 0,
  141424. x = 0,
  141425. y = 0,
  141426. z = 0,
  141427. A = 0,
  141428. B = 0,
  141429. C = 0,
  141430. D = 0,
  141431. E = 0,
  141432. F = 0,
  141433. G = 0,
  141434. H = 0;
  141435. f = l;
  141436. l = (l + 80) | 0;
  141437. g = (f + 56) | 0;
  141438. h = (f + 40) | 0;
  141439. i = (f + 28) | 0;
  141440. j = (f + 12) | 0;
  141441. k = f;
  141442. m = (f + 24) | 0;
  141443. a: do {
  141444. if (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 85 : 0) {
  141445. switch (a[(b + 1) >> 0] | 0) {
  141446. case 116: {
  141447. c[h >> 2] = 0;
  141448. c[(h + 4) >> 2] = 0;
  141449. c[(h + 8) >> 2] = 0;
  141450. RB(h, 19476, AB(19476) | 0);
  141451. IB(g, h);
  141452. n = (e + 4) | 0;
  141453. o = c[n >> 2] | 0;
  141454. if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141455. KB(o, g);
  141456. c[n >> 2] = (c[n >> 2] | 0) + 24;
  141457. } else LB(e, g);
  141458. QA(g);
  141459. iB(h);
  141460. o = (b + 2) | 0;
  141461. if ((o | 0) == (d | 0)) {
  141462. p = c[n >> 2] | 0;
  141463. q = 0;
  141464. while (1) {
  141465. if ((q | 0) == -1) break;
  141466. r = (q + -1) | 0;
  141467. QA((p + ((r * 24) | 0)) | 0);
  141468. q = r;
  141469. }
  141470. c[n >> 2] = p + -24;
  141471. s = b;
  141472. break a;
  141473. }
  141474. if ((((a[o >> 0] | 0) + -48) | 0) >>> 0 < 10) {
  141475. q = (b + 3) | 0;
  141476. while (1) {
  141477. if ((q | 0) == (d | 0)) {
  141478. t = d;
  141479. break;
  141480. }
  141481. if ((((a[q >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
  141482. t = q;
  141483. break;
  141484. }
  141485. q = (q + 1) | 0;
  141486. }
  141487. MC(((c[n >> 2] | 0) + -24) | 0, o, t);
  141488. u = t;
  141489. } else u = o;
  141490. NC(((c[n >> 2] | 0) + -24) | 0, 39);
  141491. if ((u | 0) != (d | 0) ? (a[u >> 0] | 0) == 95 : 0) {
  141492. s = (u + 1) | 0;
  141493. break a;
  141494. }
  141495. q = c[n >> 2] | 0;
  141496. p = 0;
  141497. while (1) {
  141498. if ((p | 0) == -1) break;
  141499. r = (p + -1) | 0;
  141500. QA((q + ((r * 24) | 0)) | 0);
  141501. p = r;
  141502. }
  141503. c[n >> 2] = q + -24;
  141504. s = b;
  141505. break a;
  141506. break;
  141507. }
  141508. case 108:
  141509. break;
  141510. default: {
  141511. s = b;
  141512. break a;
  141513. }
  141514. }
  141515. c[i >> 2] = 0;
  141516. c[(i + 4) >> 2] = 0;
  141517. c[(i + 8) >> 2] = 0;
  141518. RB(i, 19485, AB(19485) | 0);
  141519. IB(g, i);
  141520. p = (e + 4) | 0;
  141521. o = c[p >> 2] | 0;
  141522. if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141523. KB(o, g);
  141524. c[p >> 2] = (c[p >> 2] | 0) + 24;
  141525. } else LB(e, g);
  141526. QA(g);
  141527. iB(i);
  141528. o = (b + 2) | 0;
  141529. do {
  141530. if ((a[o >> 0] | 0) != 118) {
  141531. r = mB(o, d, e) | 0;
  141532. if ((r | 0) == (o | 0)) {
  141533. v = c[p >> 2] | 0;
  141534. w = 0;
  141535. while (1) {
  141536. if ((w | 0) == -1) break;
  141537. x = (w + -1) | 0;
  141538. QA((v + ((x * 24) | 0)) | 0);
  141539. w = x;
  141540. }
  141541. c[p >> 2] = v + -24;
  141542. s = b;
  141543. break a;
  141544. }
  141545. w = c[p >> 2] | 0;
  141546. if (
  141547. ((((w - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  141548. 2
  141549. ) {
  141550. s = b;
  141551. break a;
  141552. }
  141553. FB(j, (w + -24) | 0);
  141554. w = c[p >> 2] | 0;
  141555. x = 0;
  141556. while (1) {
  141557. if ((x | 0) == -1) break;
  141558. y = (x + -1) | 0;
  141559. QA((w + ((y * 24) | 0)) | 0);
  141560. x = y;
  141561. }
  141562. c[p >> 2] = w + -24;
  141563. x = (j + 11) | 0;
  141564. v = a[x >> 0] | 0;
  141565. y = (v << 24) >> 24 < 0;
  141566. z = (j + 4) | 0;
  141567. TA(
  141568. (w + -48) | 0,
  141569. y ? c[j >> 2] | 0 : j,
  141570. y ? c[z >> 2] | 0 : v & 255
  141571. ) | 0;
  141572. v = r;
  141573. while (1) {
  141574. y = mB(v, d, e) | 0;
  141575. if ((y | 0) == (v | 0)) {
  141576. A = 54;
  141577. break;
  141578. }
  141579. B = c[p >> 2] | 0;
  141580. if (
  141581. ((((B - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  141582. 2
  141583. ) {
  141584. A = 82;
  141585. break;
  141586. }
  141587. FB(k, (B + -24) | 0);
  141588. if ((a[x >> 0] | 0) < 0) {
  141589. B = c[j >> 2] | 0;
  141590. a[g >> 0] = 0;
  141591. cB(B, g);
  141592. c[z >> 2] = 0;
  141593. } else {
  141594. a[g >> 0] = 0;
  141595. cB(j, g);
  141596. a[x >> 0] = 0;
  141597. }
  141598. TB(j);
  141599. c[j >> 2] = c[k >> 2];
  141600. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  141601. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  141602. B = 0;
  141603. while (1) {
  141604. if ((B | 0) == 3) break;
  141605. c[(k + (B << 2)) >> 2] = 0;
  141606. B = (B + 1) | 0;
  141607. }
  141608. iB(k);
  141609. B = c[p >> 2] | 0;
  141610. C = 0;
  141611. while (1) {
  141612. if ((C | 0) == -1) break;
  141613. D = (C + -1) | 0;
  141614. QA((B + ((D * 24) | 0)) | 0);
  141615. C = D;
  141616. }
  141617. c[p >> 2] = B + -24;
  141618. C = a[x >> 0] | 0;
  141619. if (
  141620. ((C << 24) >> 24 < 0 ? c[z >> 2] | 0 : C & 255) |
  141621. 0
  141622. ) {
  141623. qB((B + -48) | 0, 18897) | 0;
  141624. C = a[x >> 0] | 0;
  141625. D = (C << 24) >> 24 < 0;
  141626. TA(
  141627. ((c[p >> 2] | 0) + -24) | 0,
  141628. D ? c[j >> 2] | 0 : j,
  141629. D ? c[z >> 2] | 0 : C & 255
  141630. ) | 0;
  141631. }
  141632. v = y;
  141633. }
  141634. if ((A | 0) == 54) {
  141635. qB(((c[p >> 2] | 0) + -24) | 0, 18673) | 0;
  141636. iB(j);
  141637. E = v;
  141638. break;
  141639. } else if ((A | 0) == 82) {
  141640. iB(j);
  141641. s = b;
  141642. break a;
  141643. }
  141644. } else {
  141645. NC(((c[p >> 2] | 0) + -24) | 0, 41);
  141646. E = (b + 3) | 0;
  141647. }
  141648. } while (0);
  141649. if ((E | 0) != (d | 0) ? (a[E >> 0] | 0) == 69 : 0) {
  141650. o = (E + 1) | 0;
  141651. if ((o | 0) == (d | 0)) {
  141652. q = c[p >> 2] | 0;
  141653. n = 0;
  141654. while (1) {
  141655. if ((n | 0) == -1) break;
  141656. z = (n + -1) | 0;
  141657. QA((q + ((z * 24) | 0)) | 0);
  141658. n = z;
  141659. }
  141660. c[p >> 2] = q + -24;
  141661. s = b;
  141662. break;
  141663. }
  141664. if ((((a[o >> 0] | 0) + -48) | 0) >>> 0 < 10) {
  141665. n = (E + 2) | 0;
  141666. while (1) {
  141667. if ((n | 0) == (d | 0)) {
  141668. F = d;
  141669. break;
  141670. }
  141671. if ((((a[n >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
  141672. F = n;
  141673. break;
  141674. }
  141675. n = (n + 1) | 0;
  141676. }
  141677. n = ((c[p >> 2] | 0) + -24) | 0;
  141678. if ((a[(n + 11) >> 0] | 0) < 0) G = c[n >> 2] | 0;
  141679. else G = n;
  141680. c[m >> 2] = G + 7;
  141681. c[g >> 2] = c[m >> 2];
  141682. OC(n, g, o, F) | 0;
  141683. H = F;
  141684. } else H = o;
  141685. if ((H | 0) != (d | 0) ? (a[H >> 0] | 0) == 95 : 0) {
  141686. s = (H + 1) | 0;
  141687. break;
  141688. }
  141689. n = c[p >> 2] | 0;
  141690. q = 0;
  141691. while (1) {
  141692. if ((q | 0) == -1) break;
  141693. z = (q + -1) | 0;
  141694. QA((n + ((z * 24) | 0)) | 0);
  141695. q = z;
  141696. }
  141697. c[p >> 2] = n + -24;
  141698. s = b;
  141699. break;
  141700. }
  141701. q = c[p >> 2] | 0;
  141702. o = 0;
  141703. while (1) {
  141704. if ((o | 0) == -1) break;
  141705. z = (o + -1) | 0;
  141706. QA((q + ((z * 24) | 0)) | 0);
  141707. o = z;
  141708. }
  141709. c[p >> 2] = q + -24;
  141710. s = b;
  141711. } else s = b;
  141712. } while (0);
  141713. l = f;
  141714. return s | 0;
  141715. }
  141716. function EC(b, d, e) {
  141717. b = b | 0;
  141718. d = d | 0;
  141719. e = e | 0;
  141720. var f = 0,
  141721. g = 0,
  141722. h = 0,
  141723. i = 0,
  141724. j = 0,
  141725. k = 0,
  141726. m = 0;
  141727. f = l;
  141728. l = (l + 32) | 0;
  141729. g = f;
  141730. a: do {
  141731. if (((d - b) | 0) > 1)
  141732. do {
  141733. switch (a[b >> 0] | 0) {
  141734. case 97: {
  141735. switch (a[(b + 1) >> 0] | 0) {
  141736. case 97: {
  141737. FC(g, 18975);
  141738. h = (e + 4) | 0;
  141739. i = c[h >> 2] | 0;
  141740. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141741. KB(i, g);
  141742. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141743. } else LB(e, g);
  141744. QA(g);
  141745. j = (b + 2) | 0;
  141746. break a;
  141747. break;
  141748. }
  141749. case 110:
  141750. case 100: {
  141751. GC(g, 18986);
  141752. h = (e + 4) | 0;
  141753. i = c[h >> 2] | 0;
  141754. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141755. KB(i, g);
  141756. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141757. } else LB(e, g);
  141758. QA(g);
  141759. j = (b + 2) | 0;
  141760. break a;
  141761. break;
  141762. }
  141763. case 78: {
  141764. FC(g, 18996);
  141765. h = (e + 4) | 0;
  141766. i = c[h >> 2] | 0;
  141767. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141768. KB(i, g);
  141769. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141770. } else LB(e, g);
  141771. QA(g);
  141772. j = (b + 2) | 0;
  141773. break a;
  141774. break;
  141775. }
  141776. case 83: {
  141777. GC(g, 19007);
  141778. h = (e + 4) | 0;
  141779. i = c[h >> 2] | 0;
  141780. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141781. KB(i, g);
  141782. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141783. } else LB(e, g);
  141784. QA(g);
  141785. j = (b + 2) | 0;
  141786. break a;
  141787. break;
  141788. }
  141789. default: {
  141790. j = b;
  141791. break a;
  141792. }
  141793. }
  141794. break;
  141795. }
  141796. case 99: {
  141797. switch (a[(b + 1) >> 0] | 0) {
  141798. case 108: {
  141799. FC(g, 19017);
  141800. h = (e + 4) | 0;
  141801. i = c[h >> 2] | 0;
  141802. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141803. KB(i, g);
  141804. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141805. } else LB(e, g);
  141806. QA(g);
  141807. j = (b + 2) | 0;
  141808. break a;
  141809. break;
  141810. }
  141811. case 109: {
  141812. GC(g, 19028);
  141813. h = (e + 4) | 0;
  141814. i = c[h >> 2] | 0;
  141815. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141816. KB(i, g);
  141817. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141818. } else LB(e, g);
  141819. QA(g);
  141820. j = (b + 2) | 0;
  141821. break a;
  141822. break;
  141823. }
  141824. case 111: {
  141825. GC(g, 19038);
  141826. h = (e + 4) | 0;
  141827. i = c[h >> 2] | 0;
  141828. if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141829. KB(i, g);
  141830. c[h >> 2] = (c[h >> 2] | 0) + 24;
  141831. } else LB(e, g);
  141832. QA(g);
  141833. j = (b + 2) | 0;
  141834. break a;
  141835. break;
  141836. }
  141837. case 118: {
  141838. h = (e + 63) | 0;
  141839. i = a[h >> 0] | 0;
  141840. a[h >> 0] = 0;
  141841. k = (b + 2) | 0;
  141842. m = mB(k, d, e) | 0;
  141843. a[h >> 0] = i;
  141844. if ((m | 0) == (k | 0)) {
  141845. j = b;
  141846. break a;
  141847. }
  141848. k = c[(e + 4) >> 2] | 0;
  141849. if ((c[e >> 2] | 0) == (k | 0)) {
  141850. j = b;
  141851. break a;
  141852. }
  141853. pB((k + -24) | 0, 0, 19048) | 0;
  141854. a[(e + 60) >> 0] = 1;
  141855. j = m;
  141856. break a;
  141857. break;
  141858. }
  141859. default: {
  141860. j = b;
  141861. break a;
  141862. }
  141863. }
  141864. break;
  141865. }
  141866. case 100: {
  141867. switch (a[(b + 1) >> 0] | 0) {
  141868. case 97: {
  141869. HC(g, 19058);
  141870. m = (e + 4) | 0;
  141871. k = c[m >> 2] | 0;
  141872. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141873. KB(k, g);
  141874. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141875. } else LB(e, g);
  141876. QA(g);
  141877. j = (b + 2) | 0;
  141878. break a;
  141879. break;
  141880. }
  141881. case 101: {
  141882. GC(g, 19076);
  141883. m = (e + 4) | 0;
  141884. k = c[m >> 2] | 0;
  141885. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141886. KB(k, g);
  141887. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141888. } else LB(e, g);
  141889. QA(g);
  141890. j = (b + 2) | 0;
  141891. break a;
  141892. break;
  141893. }
  141894. case 108: {
  141895. IC(g);
  141896. m = (e + 4) | 0;
  141897. k = c[m >> 2] | 0;
  141898. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141899. KB(k, g);
  141900. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141901. } else LB(e, g);
  141902. QA(g);
  141903. j = (b + 2) | 0;
  141904. break a;
  141905. break;
  141906. }
  141907. case 118: {
  141908. GC(g, 19086);
  141909. m = (e + 4) | 0;
  141910. k = c[m >> 2] | 0;
  141911. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141912. KB(k, g);
  141913. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141914. } else LB(e, g);
  141915. QA(g);
  141916. j = (b + 2) | 0;
  141917. break a;
  141918. break;
  141919. }
  141920. case 86: {
  141921. FC(g, 19096);
  141922. m = (e + 4) | 0;
  141923. k = c[m >> 2] | 0;
  141924. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141925. KB(k, g);
  141926. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141927. } else LB(e, g);
  141928. QA(g);
  141929. j = (b + 2) | 0;
  141930. break a;
  141931. break;
  141932. }
  141933. default: {
  141934. j = b;
  141935. break a;
  141936. }
  141937. }
  141938. break;
  141939. }
  141940. case 101: {
  141941. switch (a[(b + 1) >> 0] | 0) {
  141942. case 111: {
  141943. GC(g, 19107);
  141944. m = (e + 4) | 0;
  141945. k = c[m >> 2] | 0;
  141946. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141947. KB(k, g);
  141948. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141949. } else LB(e, g);
  141950. QA(g);
  141951. j = (b + 2) | 0;
  141952. break a;
  141953. break;
  141954. }
  141955. case 79: {
  141956. FC(g, 19117);
  141957. m = (e + 4) | 0;
  141958. k = c[m >> 2] | 0;
  141959. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141960. KB(k, g);
  141961. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141962. } else LB(e, g);
  141963. QA(g);
  141964. j = (b + 2) | 0;
  141965. break a;
  141966. break;
  141967. }
  141968. case 113: {
  141969. FC(g, 19128);
  141970. m = (e + 4) | 0;
  141971. k = c[m >> 2] | 0;
  141972. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141973. KB(k, g);
  141974. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141975. } else LB(e, g);
  141976. QA(g);
  141977. j = (b + 2) | 0;
  141978. break a;
  141979. break;
  141980. }
  141981. default: {
  141982. j = b;
  141983. break a;
  141984. }
  141985. }
  141986. break;
  141987. }
  141988. case 103: {
  141989. switch (a[(b + 1) >> 0] | 0) {
  141990. case 101: {
  141991. FC(g, 19139);
  141992. m = (e + 4) | 0;
  141993. k = c[m >> 2] | 0;
  141994. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  141995. KB(k, g);
  141996. c[m >> 2] = (c[m >> 2] | 0) + 24;
  141997. } else LB(e, g);
  141998. QA(g);
  141999. j = (b + 2) | 0;
  142000. break a;
  142001. break;
  142002. }
  142003. case 116: {
  142004. GC(g, 19150);
  142005. m = (e + 4) | 0;
  142006. k = c[m >> 2] | 0;
  142007. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142008. KB(k, g);
  142009. c[m >> 2] = (c[m >> 2] | 0) + 24;
  142010. } else LB(e, g);
  142011. QA(g);
  142012. j = (b + 2) | 0;
  142013. break a;
  142014. break;
  142015. }
  142016. default: {
  142017. j = b;
  142018. break a;
  142019. }
  142020. }
  142021. break;
  142022. }
  142023. case 105: {
  142024. if ((a[(b + 1) >> 0] | 0) != 120) {
  142025. j = b;
  142026. break a;
  142027. }
  142028. FC(g, 19160);
  142029. m = (e + 4) | 0;
  142030. k = c[m >> 2] | 0;
  142031. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142032. KB(k, g);
  142033. c[m >> 2] = (c[m >> 2] | 0) + 24;
  142034. } else LB(e, g);
  142035. QA(g);
  142036. j = (b + 2) | 0;
  142037. break a;
  142038. break;
  142039. }
  142040. case 108: {
  142041. switch (a[(b + 1) >> 0] | 0) {
  142042. case 101: {
  142043. FC(g, 19171);
  142044. m = (e + 4) | 0;
  142045. k = c[m >> 2] | 0;
  142046. if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142047. KB(k, g);
  142048. c[m >> 2] = (c[m >> 2] | 0) + 24;
  142049. } else LB(e, g);
  142050. QA(g);
  142051. j = (b + 2) | 0;
  142052. break a;
  142053. break;
  142054. }
  142055. case 105: {
  142056. m = (b + 2) | 0;
  142057. k = GB(m, d, e) | 0;
  142058. if ((k | 0) == (m | 0)) {
  142059. j = b;
  142060. break a;
  142061. }
  142062. m = c[(e + 4) >> 2] | 0;
  142063. if ((c[e >> 2] | 0) == (m | 0)) {
  142064. j = b;
  142065. break a;
  142066. }
  142067. pB((m + -24) | 0, 0, 19182) | 0;
  142068. j = k;
  142069. break a;
  142070. break;
  142071. }
  142072. case 115: {
  142073. FC(g, 19194);
  142074. k = (e + 4) | 0;
  142075. m = c[k >> 2] | 0;
  142076. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142077. KB(m, g);
  142078. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142079. } else LB(e, g);
  142080. QA(g);
  142081. j = (b + 2) | 0;
  142082. break a;
  142083. break;
  142084. }
  142085. case 83: {
  142086. JC(g, 19205);
  142087. k = (e + 4) | 0;
  142088. m = c[k >> 2] | 0;
  142089. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142090. KB(m, g);
  142091. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142092. } else LB(e, g);
  142093. QA(g);
  142094. j = (b + 2) | 0;
  142095. break a;
  142096. break;
  142097. }
  142098. case 116: {
  142099. GC(g, 19217);
  142100. k = (e + 4) | 0;
  142101. m = c[k >> 2] | 0;
  142102. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142103. KB(m, g);
  142104. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142105. } else LB(e, g);
  142106. QA(g);
  142107. j = (b + 2) | 0;
  142108. break a;
  142109. break;
  142110. }
  142111. default: {
  142112. j = b;
  142113. break a;
  142114. }
  142115. }
  142116. break;
  142117. }
  142118. case 109: {
  142119. switch (a[(b + 1) >> 0] | 0) {
  142120. case 105: {
  142121. GC(g, 19227);
  142122. k = (e + 4) | 0;
  142123. m = c[k >> 2] | 0;
  142124. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142125. KB(m, g);
  142126. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142127. } else LB(e, g);
  142128. QA(g);
  142129. j = (b + 2) | 0;
  142130. break a;
  142131. break;
  142132. }
  142133. case 73: {
  142134. FC(g, 19237);
  142135. k = (e + 4) | 0;
  142136. m = c[k >> 2] | 0;
  142137. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142138. KB(m, g);
  142139. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142140. } else LB(e, g);
  142141. QA(g);
  142142. j = (b + 2) | 0;
  142143. break a;
  142144. break;
  142145. }
  142146. case 108: {
  142147. GC(g, 19076);
  142148. k = (e + 4) | 0;
  142149. m = c[k >> 2] | 0;
  142150. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142151. KB(m, g);
  142152. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142153. } else LB(e, g);
  142154. QA(g);
  142155. j = (b + 2) | 0;
  142156. break a;
  142157. break;
  142158. }
  142159. case 76: {
  142160. FC(g, 19248);
  142161. k = (e + 4) | 0;
  142162. m = c[k >> 2] | 0;
  142163. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142164. KB(m, g);
  142165. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142166. } else LB(e, g);
  142167. QA(g);
  142168. j = (b + 2) | 0;
  142169. break a;
  142170. break;
  142171. }
  142172. case 109: {
  142173. FC(g, 19259);
  142174. k = (e + 4) | 0;
  142175. m = c[k >> 2] | 0;
  142176. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142177. KB(m, g);
  142178. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142179. } else LB(e, g);
  142180. QA(g);
  142181. j = (b + 2) | 0;
  142182. break a;
  142183. break;
  142184. }
  142185. default: {
  142186. j = b;
  142187. break a;
  142188. }
  142189. }
  142190. break;
  142191. }
  142192. case 110: {
  142193. switch (a[(b + 1) >> 0] | 0) {
  142194. case 97: {
  142195. KC(g, 19270);
  142196. k = (e + 4) | 0;
  142197. m = c[k >> 2] | 0;
  142198. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142199. KB(m, g);
  142200. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142201. } else LB(e, g);
  142202. QA(g);
  142203. j = (b + 2) | 0;
  142204. break a;
  142205. break;
  142206. }
  142207. case 101: {
  142208. FC(g, 19285);
  142209. k = (e + 4) | 0;
  142210. m = c[k >> 2] | 0;
  142211. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142212. KB(m, g);
  142213. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142214. } else LB(e, g);
  142215. QA(g);
  142216. j = (b + 2) | 0;
  142217. break a;
  142218. break;
  142219. }
  142220. case 103: {
  142221. GC(g, 19227);
  142222. k = (e + 4) | 0;
  142223. m = c[k >> 2] | 0;
  142224. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142225. KB(m, g);
  142226. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142227. } else LB(e, g);
  142228. QA(g);
  142229. j = (b + 2) | 0;
  142230. break a;
  142231. break;
  142232. }
  142233. case 116: {
  142234. GC(g, 19296);
  142235. k = (e + 4) | 0;
  142236. m = c[k >> 2] | 0;
  142237. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142238. KB(m, g);
  142239. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142240. } else LB(e, g);
  142241. QA(g);
  142242. j = (b + 2) | 0;
  142243. break a;
  142244. break;
  142245. }
  142246. case 119: {
  142247. LC(g, 19306);
  142248. k = (e + 4) | 0;
  142249. m = c[k >> 2] | 0;
  142250. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142251. KB(m, g);
  142252. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142253. } else LB(e, g);
  142254. QA(g);
  142255. j = (b + 2) | 0;
  142256. break a;
  142257. break;
  142258. }
  142259. default: {
  142260. j = b;
  142261. break a;
  142262. }
  142263. }
  142264. break;
  142265. }
  142266. case 111: {
  142267. switch (a[(b + 1) >> 0] | 0) {
  142268. case 111: {
  142269. FC(g, 19319);
  142270. k = (e + 4) | 0;
  142271. m = c[k >> 2] | 0;
  142272. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142273. KB(m, g);
  142274. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142275. } else LB(e, g);
  142276. QA(g);
  142277. j = (b + 2) | 0;
  142278. break a;
  142279. break;
  142280. }
  142281. case 114: {
  142282. GC(g, 19330);
  142283. k = (e + 4) | 0;
  142284. m = c[k >> 2] | 0;
  142285. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142286. KB(m, g);
  142287. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142288. } else LB(e, g);
  142289. QA(g);
  142290. j = (b + 2) | 0;
  142291. break a;
  142292. break;
  142293. }
  142294. case 82: {
  142295. FC(g, 19340);
  142296. k = (e + 4) | 0;
  142297. m = c[k >> 2] | 0;
  142298. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142299. KB(m, g);
  142300. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142301. } else LB(e, g);
  142302. QA(g);
  142303. j = (b + 2) | 0;
  142304. break a;
  142305. break;
  142306. }
  142307. default: {
  142308. j = b;
  142309. break a;
  142310. }
  142311. }
  142312. break;
  142313. }
  142314. case 112: {
  142315. switch (a[(b + 1) >> 0] | 0) {
  142316. case 109: {
  142317. JC(g, 19351);
  142318. k = (e + 4) | 0;
  142319. m = c[k >> 2] | 0;
  142320. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142321. KB(m, g);
  142322. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142323. } else LB(e, g);
  142324. QA(g);
  142325. j = (b + 2) | 0;
  142326. break a;
  142327. break;
  142328. }
  142329. case 108: {
  142330. GC(g, 19363);
  142331. k = (e + 4) | 0;
  142332. m = c[k >> 2] | 0;
  142333. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142334. KB(m, g);
  142335. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142336. } else LB(e, g);
  142337. QA(g);
  142338. j = (b + 2) | 0;
  142339. break a;
  142340. break;
  142341. }
  142342. case 76: {
  142343. FC(g, 19373);
  142344. k = (e + 4) | 0;
  142345. m = c[k >> 2] | 0;
  142346. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142347. KB(m, g);
  142348. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142349. } else LB(e, g);
  142350. QA(g);
  142351. j = (b + 2) | 0;
  142352. break a;
  142353. break;
  142354. }
  142355. case 112: {
  142356. FC(g, 19384);
  142357. k = (e + 4) | 0;
  142358. m = c[k >> 2] | 0;
  142359. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142360. KB(m, g);
  142361. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142362. } else LB(e, g);
  142363. QA(g);
  142364. j = (b + 2) | 0;
  142365. break a;
  142366. break;
  142367. }
  142368. case 115: {
  142369. GC(g, 19363);
  142370. k = (e + 4) | 0;
  142371. m = c[k >> 2] | 0;
  142372. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142373. KB(m, g);
  142374. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142375. } else LB(e, g);
  142376. QA(g);
  142377. j = (b + 2) | 0;
  142378. break a;
  142379. break;
  142380. }
  142381. case 116: {
  142382. FC(g, 19395);
  142383. k = (e + 4) | 0;
  142384. m = c[k >> 2] | 0;
  142385. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142386. KB(m, g);
  142387. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142388. } else LB(e, g);
  142389. QA(g);
  142390. j = (b + 2) | 0;
  142391. break a;
  142392. break;
  142393. }
  142394. default: {
  142395. j = b;
  142396. break a;
  142397. }
  142398. }
  142399. break;
  142400. }
  142401. case 113: {
  142402. if ((a[(b + 1) >> 0] | 0) != 117) {
  142403. j = b;
  142404. break a;
  142405. }
  142406. GC(g, 19406);
  142407. k = (e + 4) | 0;
  142408. m = c[k >> 2] | 0;
  142409. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142410. KB(m, g);
  142411. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142412. } else LB(e, g);
  142413. QA(g);
  142414. j = (b + 2) | 0;
  142415. break a;
  142416. break;
  142417. }
  142418. case 114: {
  142419. switch (a[(b + 1) >> 0] | 0) {
  142420. case 109: {
  142421. GC(g, 19416);
  142422. k = (e + 4) | 0;
  142423. m = c[k >> 2] | 0;
  142424. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142425. KB(m, g);
  142426. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142427. } else LB(e, g);
  142428. QA(g);
  142429. j = (b + 2) | 0;
  142430. break a;
  142431. break;
  142432. }
  142433. case 77: {
  142434. FC(g, 19426);
  142435. k = (e + 4) | 0;
  142436. m = c[k >> 2] | 0;
  142437. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142438. KB(m, g);
  142439. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142440. } else LB(e, g);
  142441. QA(g);
  142442. j = (b + 2) | 0;
  142443. break a;
  142444. break;
  142445. }
  142446. case 115: {
  142447. FC(g, 19437);
  142448. k = (e + 4) | 0;
  142449. m = c[k >> 2] | 0;
  142450. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142451. KB(m, g);
  142452. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142453. } else LB(e, g);
  142454. QA(g);
  142455. j = (b + 2) | 0;
  142456. break a;
  142457. break;
  142458. }
  142459. case 83: {
  142460. JC(g, 19448);
  142461. k = (e + 4) | 0;
  142462. m = c[k >> 2] | 0;
  142463. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  142464. KB(m, g);
  142465. c[k >> 2] = (c[k >> 2] | 0) + 24;
  142466. } else LB(e, g);
  142467. QA(g);
  142468. j = (b + 2) | 0;
  142469. break a;
  142470. break;
  142471. }
  142472. default: {
  142473. j = b;
  142474. break a;
  142475. }
  142476. }
  142477. break;
  142478. }
  142479. case 118: {
  142480. if (
  142481. (((a[(b + 1) >> 0] | 0) + -48) | 0) >>> 0 >=
  142482. 10
  142483. ) {
  142484. j = b;
  142485. break a;
  142486. }
  142487. k = (b + 2) | 0;
  142488. m = GB(k, d, e) | 0;
  142489. if ((m | 0) == (k | 0)) {
  142490. j = b;
  142491. break a;
  142492. }
  142493. k = c[(e + 4) >> 2] | 0;
  142494. if ((c[e >> 2] | 0) == (k | 0)) {
  142495. j = b;
  142496. break a;
  142497. }
  142498. pB((k + -24) | 0, 0, 19048) | 0;
  142499. j = m;
  142500. break a;
  142501. break;
  142502. }
  142503. default: {
  142504. j = b;
  142505. break a;
  142506. }
  142507. }
  142508. } while (0);
  142509. else j = b;
  142510. } while (0);
  142511. l = f;
  142512. return j | 0;
  142513. }
  142514. function FC(a, b) {
  142515. a = a | 0;
  142516. b = b | 0;
  142517. c[a >> 2] = 0;
  142518. c[(a + 4) >> 2] = 0;
  142519. c[(a + 8) >> 2] = 0;
  142520. RB(a, b, 10);
  142521. b = (a + 12) | 0;
  142522. c[b >> 2] = 0;
  142523. c[(b + 4) >> 2] = 0;
  142524. c[(b + 8) >> 2] = 0;
  142525. a = 0;
  142526. while (1) {
  142527. if ((a | 0) == 3) break;
  142528. c[(b + (a << 2)) >> 2] = 0;
  142529. a = (a + 1) | 0;
  142530. }
  142531. return;
  142532. }
  142533. function GC(a, b) {
  142534. a = a | 0;
  142535. b = b | 0;
  142536. c[a >> 2] = 0;
  142537. c[(a + 4) >> 2] = 0;
  142538. c[(a + 8) >> 2] = 0;
  142539. RB(a, b, 9);
  142540. b = (a + 12) | 0;
  142541. c[b >> 2] = 0;
  142542. c[(b + 4) >> 2] = 0;
  142543. c[(b + 8) >> 2] = 0;
  142544. a = 0;
  142545. while (1) {
  142546. if ((a | 0) == 3) break;
  142547. c[(b + (a << 2)) >> 2] = 0;
  142548. a = (a + 1) | 0;
  142549. }
  142550. return;
  142551. }
  142552. function HC(a, b) {
  142553. a = a | 0;
  142554. b = b | 0;
  142555. c[a >> 2] = 0;
  142556. c[(a + 4) >> 2] = 0;
  142557. c[(a + 8) >> 2] = 0;
  142558. RB(a, b, 17);
  142559. b = (a + 12) | 0;
  142560. c[b >> 2] = 0;
  142561. c[(b + 4) >> 2] = 0;
  142562. c[(b + 8) >> 2] = 0;
  142563. a = 0;
  142564. while (1) {
  142565. if ((a | 0) == 3) break;
  142566. c[(b + (a << 2)) >> 2] = 0;
  142567. a = (a + 1) | 0;
  142568. }
  142569. return;
  142570. }
  142571. function IC(a) {
  142572. a = a | 0;
  142573. var b = 0;
  142574. c[a >> 2] = 0;
  142575. c[(a + 4) >> 2] = 0;
  142576. c[(a + 8) >> 2] = 0;
  142577. RB(a, 19460, 15);
  142578. b = (a + 12) | 0;
  142579. c[b >> 2] = 0;
  142580. c[(b + 4) >> 2] = 0;
  142581. c[(b + 8) >> 2] = 0;
  142582. a = 0;
  142583. while (1) {
  142584. if ((a | 0) == 3) break;
  142585. c[(b + (a << 2)) >> 2] = 0;
  142586. a = (a + 1) | 0;
  142587. }
  142588. return;
  142589. }
  142590. function JC(a, b) {
  142591. a = a | 0;
  142592. b = b | 0;
  142593. c[a >> 2] = 0;
  142594. c[(a + 4) >> 2] = 0;
  142595. c[(a + 8) >> 2] = 0;
  142596. RB(a, b, 11);
  142597. b = (a + 12) | 0;
  142598. c[b >> 2] = 0;
  142599. c[(b + 4) >> 2] = 0;
  142600. c[(b + 8) >> 2] = 0;
  142601. a = 0;
  142602. while (1) {
  142603. if ((a | 0) == 3) break;
  142604. c[(b + (a << 2)) >> 2] = 0;
  142605. a = (a + 1) | 0;
  142606. }
  142607. return;
  142608. }
  142609. function KC(a, b) {
  142610. a = a | 0;
  142611. b = b | 0;
  142612. c[a >> 2] = 0;
  142613. c[(a + 4) >> 2] = 0;
  142614. c[(a + 8) >> 2] = 0;
  142615. RB(a, b, 14);
  142616. b = (a + 12) | 0;
  142617. c[b >> 2] = 0;
  142618. c[(b + 4) >> 2] = 0;
  142619. c[(b + 8) >> 2] = 0;
  142620. a = 0;
  142621. while (1) {
  142622. if ((a | 0) == 3) break;
  142623. c[(b + (a << 2)) >> 2] = 0;
  142624. a = (a + 1) | 0;
  142625. }
  142626. return;
  142627. }
  142628. function LC(a, b) {
  142629. a = a | 0;
  142630. b = b | 0;
  142631. c[a >> 2] = 0;
  142632. c[(a + 4) >> 2] = 0;
  142633. c[(a + 8) >> 2] = 0;
  142634. RB(a, b, 12);
  142635. b = (a + 12) | 0;
  142636. c[b >> 2] = 0;
  142637. c[(b + 4) >> 2] = 0;
  142638. c[(b + 8) >> 2] = 0;
  142639. a = 0;
  142640. while (1) {
  142641. if ((a | 0) == 3) break;
  142642. c[(b + (a << 2)) >> 2] = 0;
  142643. a = (a + 1) | 0;
  142644. }
  142645. return;
  142646. }
  142647. function MC(b, d, e) {
  142648. b = b | 0;
  142649. d = d | 0;
  142650. e = e | 0;
  142651. var f = 0,
  142652. g = 0,
  142653. h = 0,
  142654. i = 0,
  142655. j = 0,
  142656. k = 0,
  142657. m = 0,
  142658. n = 0,
  142659. o = 0,
  142660. p = 0,
  142661. q = 0,
  142662. r = 0,
  142663. s = 0,
  142664. t = 0,
  142665. u = 0;
  142666. f = l;
  142667. l = (l + 16) | 0;
  142668. g = d;
  142669. h = f;
  142670. i = (b + 11) | 0;
  142671. j = a[i >> 0] | 0;
  142672. k = (j << 24) >> 24 < 0;
  142673. if (k) {
  142674. m = c[(b + 4) >> 2] | 0;
  142675. n = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  142676. } else {
  142677. m = j & 255;
  142678. n = 10;
  142679. }
  142680. o = (e - g) | 0;
  142681. do {
  142682. if (o | 0) {
  142683. if (k) {
  142684. p = c[b >> 2] | 0;
  142685. q = c[(b + 4) >> 2] | 0;
  142686. } else {
  142687. p = b;
  142688. q = j & 255;
  142689. }
  142690. if (PC(d, p, (p + q) | 0) | 0) {
  142691. c[h >> 2] = 0;
  142692. c[(h + 4) >> 2] = 0;
  142693. c[(h + 8) >> 2] = 0;
  142694. QC(h, d, e);
  142695. r = a[(h + 11) >> 0] | 0;
  142696. s = (r << 24) >> 24 < 0;
  142697. TA(
  142698. b,
  142699. s ? c[h >> 2] | 0 : h,
  142700. s ? c[(h + 4) >> 2] | 0 : r & 255
  142701. ) | 0;
  142702. iB(h);
  142703. break;
  142704. }
  142705. if (((n - m) | 0) >>> 0 < o >>> 0)
  142706. RC(b, n, (m + o - n) | 0, m, m, 0);
  142707. if ((a[i >> 0] | 0) < 0) t = c[b >> 2] | 0;
  142708. else t = b;
  142709. r = (e + (m - g)) | 0;
  142710. s = (t + m) | 0;
  142711. u = d;
  142712. while (1) {
  142713. if ((u | 0) == (e | 0)) break;
  142714. cB(s, u);
  142715. s = (s + 1) | 0;
  142716. u = (u + 1) | 0;
  142717. }
  142718. a[h >> 0] = 0;
  142719. cB((t + r) | 0, h);
  142720. u = (m + o) | 0;
  142721. if ((a[i >> 0] | 0) < 0) {
  142722. c[(b + 4) >> 2] = u;
  142723. break;
  142724. } else {
  142725. a[i >> 0] = u;
  142726. break;
  142727. }
  142728. }
  142729. } while (0);
  142730. l = f;
  142731. return;
  142732. }
  142733. function NC(b, d) {
  142734. b = b | 0;
  142735. d = d | 0;
  142736. var e = 0,
  142737. f = 0,
  142738. g = 0,
  142739. h = 0,
  142740. i = 0,
  142741. j = 0,
  142742. k = 0,
  142743. m = 0,
  142744. n = 0;
  142745. e = l;
  142746. l = (l + 16) | 0;
  142747. f = e;
  142748. g = (e + 1) | 0;
  142749. a[f >> 0] = d;
  142750. d = (b + 11) | 0;
  142751. h = a[d >> 0] | 0;
  142752. i = (h << 24) >> 24 < 0;
  142753. if (i) {
  142754. j = c[(b + 4) >> 2] | 0;
  142755. k = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  142756. } else {
  142757. j = h & 255;
  142758. k = 10;
  142759. }
  142760. if ((j | 0) == (k | 0)) {
  142761. RC(b, k, 1, k, k, 0);
  142762. if ((a[d >> 0] | 0) < 0) m = 8;
  142763. else m = 7;
  142764. } else if (i) m = 8;
  142765. else m = 7;
  142766. if ((m | 0) == 7) {
  142767. a[d >> 0] = j + 1;
  142768. n = b;
  142769. } else if ((m | 0) == 8) {
  142770. m = c[b >> 2] | 0;
  142771. c[(b + 4) >> 2] = j + 1;
  142772. n = m;
  142773. }
  142774. m = (n + j) | 0;
  142775. cB(m, f);
  142776. a[g >> 0] = 0;
  142777. cB((m + 1) | 0, g);
  142778. l = e;
  142779. return;
  142780. }
  142781. function OC(b, d, e, f) {
  142782. b = b | 0;
  142783. d = d | 0;
  142784. e = e | 0;
  142785. f = f | 0;
  142786. var g = 0,
  142787. h = 0,
  142788. i = 0,
  142789. j = 0,
  142790. k = 0,
  142791. m = 0,
  142792. n = 0,
  142793. o = 0,
  142794. p = 0,
  142795. q = 0,
  142796. r = 0,
  142797. s = 0,
  142798. t = 0,
  142799. u = 0,
  142800. v = 0,
  142801. w = 0,
  142802. x = 0,
  142803. y = 0,
  142804. z = 0,
  142805. A = 0,
  142806. B = 0,
  142807. C = 0,
  142808. D = 0;
  142809. g = l;
  142810. l = (l + 32) | 0;
  142811. h = (g + 16) | 0;
  142812. i = (g + 4) | 0;
  142813. j = g;
  142814. k = (b + 11) | 0;
  142815. m = a[k >> 0] | 0;
  142816. n = (m << 24) >> 24 < 0;
  142817. if (n) o = c[b >> 2] | 0;
  142818. else o = b;
  142819. p = c[d >> 2] | 0;
  142820. d = (p - o) | 0;
  142821. o = (f - e) | 0;
  142822. do {
  142823. if (!o) {
  142824. q = m;
  142825. r = 27;
  142826. } else {
  142827. if (n) {
  142828. s = c[b >> 2] | 0;
  142829. t = c[(b + 4) >> 2] | 0;
  142830. } else {
  142831. s = b;
  142832. t = m & 255;
  142833. }
  142834. if (PC(e, s, (s + t) | 0) | 0) {
  142835. c[i >> 2] = 0;
  142836. c[(i + 4) >> 2] = 0;
  142837. c[(i + 8) >> 2] = 0;
  142838. QC(i, e, f);
  142839. c[j >> 2] = p;
  142840. u = a[(i + 11) >> 0] | 0;
  142841. v = (u << 24) >> 24 < 0;
  142842. w = v ? c[i >> 2] | 0 : i;
  142843. x = (w + (v ? c[(i + 4) >> 2] | 0 : u & 255)) | 0;
  142844. c[h >> 2] = c[j >> 2];
  142845. u = OC(b, h, w, x) | 0;
  142846. iB(i);
  142847. y = u;
  142848. break;
  142849. }
  142850. u = a[k >> 0] | 0;
  142851. x = (u << 24) >> 24 < 0;
  142852. if (x) {
  142853. z = c[(b + 4) >> 2] | 0;
  142854. A = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  142855. } else {
  142856. z = u & 255;
  142857. A = 10;
  142858. }
  142859. if (((A - z) | 0) >>> 0 >= o >>> 0) {
  142860. if (x) B = c[b >> 2] | 0;
  142861. else B = b;
  142862. x = (z - d) | 0;
  142863. if (!x) C = B;
  142864. else {
  142865. u = (B + d) | 0;
  142866. wC((u + o) | 0, u, x) | 0;
  142867. C = B;
  142868. }
  142869. } else {
  142870. RC(b, A, (z + o - A) | 0, z, d, o);
  142871. C = c[b >> 2] | 0;
  142872. }
  142873. x = (z + o) | 0;
  142874. if ((a[k >> 0] | 0) < 0) c[(b + 4) >> 2] = x;
  142875. else a[k >> 0] = x;
  142876. a[h >> 0] = 0;
  142877. cB((C + x) | 0, h);
  142878. x = e;
  142879. u = (C + d) | 0;
  142880. while (1) {
  142881. if ((x | 0) == (f | 0)) break;
  142882. cB(u, x);
  142883. x = (x + 1) | 0;
  142884. u = (u + 1) | 0;
  142885. }
  142886. q = a[k >> 0] | 0;
  142887. r = 27;
  142888. }
  142889. } while (0);
  142890. if ((r | 0) == 27) {
  142891. if ((q << 24) >> 24 < 0) D = c[b >> 2] | 0;
  142892. else D = b;
  142893. y = (D + d) | 0;
  142894. }
  142895. l = g;
  142896. return y | 0;
  142897. }
  142898. function PC(a, b, c) {
  142899. a = a | 0;
  142900. b = b | 0;
  142901. c = c | 0;
  142902. return ((b >>> 0 <= a >>> 0) & (a >>> 0 < c >>> 0)) | 0;
  142903. }
  142904. function QC(b, d, e) {
  142905. b = b | 0;
  142906. d = d | 0;
  142907. e = e | 0;
  142908. var f = 0,
  142909. g = 0,
  142910. h = 0,
  142911. i = 0,
  142912. j = 0,
  142913. k = 0,
  142914. m = 0;
  142915. f = l;
  142916. l = (l + 16) | 0;
  142917. g = d;
  142918. h = f;
  142919. i = (e - g) | 0;
  142920. if (i >>> 0 > 4294967279) eB(b);
  142921. if (i >>> 0 < 11) {
  142922. a[(b + 11) >> 0] = i;
  142923. j = b;
  142924. } else {
  142925. k = (i + 16) & -16;
  142926. m = fB(k) | 0;
  142927. c[b >> 2] = m;
  142928. c[(b + 8) >> 2] = k | -2147483648;
  142929. c[(b + 4) >> 2] = i;
  142930. j = m;
  142931. }
  142932. m = (e - g) | 0;
  142933. g = d;
  142934. d = j;
  142935. while (1) {
  142936. if ((g | 0) == (e | 0)) break;
  142937. cB(d, g);
  142938. g = (g + 1) | 0;
  142939. d = (d + 1) | 0;
  142940. }
  142941. a[h >> 0] = 0;
  142942. cB((j + m) | 0, h);
  142943. l = f;
  142944. return;
  142945. }
  142946. function RC(b, d, e, f, g, h) {
  142947. b = b | 0;
  142948. d = d | 0;
  142949. e = e | 0;
  142950. f = f | 0;
  142951. g = g | 0;
  142952. h = h | 0;
  142953. var i = 0,
  142954. j = 0,
  142955. k = 0,
  142956. l = 0;
  142957. if (((-17 - d) | 0) >>> 0 < e >>> 0) eB(b);
  142958. if ((a[(b + 11) >> 0] | 0) < 0) i = c[b >> 2] | 0;
  142959. else i = b;
  142960. if (d >>> 0 < 2147483623) {
  142961. j = (e + d) | 0;
  142962. e = d << 1;
  142963. k = j >>> 0 < e >>> 0 ? e : j;
  142964. l = k >>> 0 < 11 ? 11 : (k + 16) & -16;
  142965. } else l = -17;
  142966. k = fB(l) | 0;
  142967. if (g | 0) bB(k, i, g) | 0;
  142968. j = (f - g) | 0;
  142969. if (j | 0) bB((k + g + h) | 0, (i + g) | 0, j) | 0;
  142970. if ((d | 0) != 10) gB(i);
  142971. c[b >> 2] = k;
  142972. c[(b + 8) >> 2] = l | -2147483648;
  142973. return;
  142974. }
  142975. function SC(b, d) {
  142976. b = b | 0;
  142977. d = d | 0;
  142978. var e = 0,
  142979. f = 0,
  142980. g = 0,
  142981. h = 0,
  142982. i = 0,
  142983. j = 0,
  142984. k = 0,
  142985. l = 0,
  142986. m = 0,
  142987. n = 0,
  142988. o = 0,
  142989. p = 0,
  142990. q = 0,
  142991. r = 0,
  142992. s = 0,
  142993. t = 0,
  142994. u = 0;
  142995. e = (d + 11) | 0;
  142996. f = a[e >> 0] | 0;
  142997. g = (d + 4) | 0;
  142998. a: do {
  142999. if (!(((f << 24) >> 24 < 0 ? c[g >> 2] | 0 : f & 255) | 0))
  143000. TC(b, d);
  143001. else {
  143002. h = AB(19495) | 0;
  143003. i = a[e >> 0] | 0;
  143004. if (
  143005. (h | 0) ==
  143006. (((i << 24) >> 24 < 0 ? c[g >> 2] | 0 : i & 255) | 0)
  143007. ? (BB(d, 19495, h) | 0) == 0
  143008. : 0
  143009. ) {
  143010. uC(d, 19507);
  143011. c[b >> 2] = 0;
  143012. c[(b + 4) >> 2] = 0;
  143013. c[(b + 8) >> 2] = 0;
  143014. RB(b, 19578, AB(19578) | 0);
  143015. break;
  143016. }
  143017. h = AB(19591) | 0;
  143018. i = a[e >> 0] | 0;
  143019. if (
  143020. (h | 0) ==
  143021. (((i << 24) >> 24 < 0 ? c[g >> 2] | 0 : i & 255) | 0)
  143022. ? (BB(d, 19591, h) | 0) == 0
  143023. : 0
  143024. ) {
  143025. uC(d, 19604);
  143026. c[b >> 2] = 0;
  143027. c[(b + 4) >> 2] = 0;
  143028. c[(b + 8) >> 2] = 0;
  143029. RB(b, 19654, AB(19654) | 0);
  143030. break;
  143031. }
  143032. h = AB(19668) | 0;
  143033. i = a[e >> 0] | 0;
  143034. if (
  143035. (h | 0) ==
  143036. (((i << 24) >> 24 < 0 ? c[g >> 2] | 0 : i & 255) | 0)
  143037. ? (BB(d, 19668, h) | 0) == 0
  143038. : 0
  143039. ) {
  143040. uC(d, 19681);
  143041. c[b >> 2] = 0;
  143042. c[(b + 4) >> 2] = 0;
  143043. c[(b + 8) >> 2] = 0;
  143044. RB(b, 19731, AB(19731) | 0);
  143045. break;
  143046. }
  143047. h = AB(19745) | 0;
  143048. i = a[e >> 0] | 0;
  143049. j = c[g >> 2] | 0;
  143050. k = i & 255;
  143051. do {
  143052. if ((h | 0) == (((i << 24) >> 24 < 0 ? j : k) | 0)) {
  143053. if (!(BB(d, 19745, h) | 0)) {
  143054. uC(d, 19759);
  143055. c[b >> 2] = 0;
  143056. c[(b + 4) >> 2] = 0;
  143057. c[(b + 8) >> 2] = 0;
  143058. RB(b, 19810, AB(19810) | 0);
  143059. break a;
  143060. } else {
  143061. l = a[e >> 0] | 0;
  143062. m = l & 255;
  143063. n = l;
  143064. o = c[g >> 2] | 0;
  143065. break;
  143066. }
  143067. } else {
  143068. m = k;
  143069. n = i;
  143070. o = j;
  143071. }
  143072. } while (0);
  143073. j = (n << 24) >> 24 < 0;
  143074. i = j ? c[d >> 2] | 0 : d;
  143075. k = (i + (j ? o : m)) | 0;
  143076. do {
  143077. if ((a[(k + -1) >> 0] | 0) == 62) {
  143078. j = 1;
  143079. h = k;
  143080. b: while (1) {
  143081. p = h;
  143082. c: while (1) {
  143083. q = (p + -1) | 0;
  143084. if ((q | 0) == (i | 0)) break b;
  143085. switch (a[(p + -2) >> 0] | 0) {
  143086. case 60: {
  143087. r = 24;
  143088. break c;
  143089. break;
  143090. }
  143091. case 62: {
  143092. r = 25;
  143093. break c;
  143094. break;
  143095. }
  143096. default:
  143097. p = q;
  143098. }
  143099. }
  143100. if ((r | 0) == 24) {
  143101. r = 0;
  143102. l = (j + -1) | 0;
  143103. if (!l) {
  143104. r = 27;
  143105. break;
  143106. } else s = l;
  143107. } else if ((r | 0) == 25) {
  143108. r = 0;
  143109. s = (j + 1) | 0;
  143110. }
  143111. j = s;
  143112. h = q;
  143113. }
  143114. if ((r | 0) == 27) {
  143115. t = (p + -2) | 0;
  143116. break;
  143117. }
  143118. c[b >> 2] = 0;
  143119. c[(b + 4) >> 2] = 0;
  143120. c[(b + 8) >> 2] = 0;
  143121. h = 0;
  143122. while (1) {
  143123. if ((h | 0) == 3) break a;
  143124. c[(b + (h << 2)) >> 2] = 0;
  143125. h = (h + 1) | 0;
  143126. }
  143127. } else t = k;
  143128. } while (0);
  143129. k = t;
  143130. while (1) {
  143131. h = (k + -1) | 0;
  143132. if ((h | 0) == (i | 0)) {
  143133. u = i;
  143134. break;
  143135. }
  143136. if ((a[h >> 0] | 0) == 58) {
  143137. u = k;
  143138. break;
  143139. } else k = h;
  143140. }
  143141. c[b >> 2] = 0;
  143142. c[(b + 4) >> 2] = 0;
  143143. c[(b + 8) >> 2] = 0;
  143144. QC(b, u, t);
  143145. }
  143146. } while (0);
  143147. return;
  143148. }
  143149. function TC(b, d) {
  143150. b = b | 0;
  143151. d = d | 0;
  143152. c[b >> 2] = 0;
  143153. c[(b + 4) >> 2] = 0;
  143154. c[(b + 8) >> 2] = 0;
  143155. if ((a[(d + 11) >> 0] | 0) < 0)
  143156. RB(b, c[d >> 2] | 0, c[(d + 4) >> 2] | 0);
  143157. else {
  143158. c[b >> 2] = c[d >> 2];
  143159. c[(b + 4) >> 2] = c[(d + 4) >> 2];
  143160. c[(b + 8) >> 2] = c[(d + 8) >> 2];
  143161. }
  143162. return;
  143163. }
  143164. function UC(a, b, d) {
  143165. a = a | 0;
  143166. b = b | 0;
  143167. d = d | 0;
  143168. var e = 0,
  143169. f = 0,
  143170. g = 0;
  143171. if ((a | 0) != (b | 0)) {
  143172. e = yC(a, b, d) | 0;
  143173. if ((e | 0) == (a | 0)) f = AC(a, b, d) | 0;
  143174. else f = e;
  143175. if (
  143176. (f | 0) != (a | 0)
  143177. ? ((e = c[(d + 4) >> 2] | 0),
  143178. (c[d >> 2] | 0) != (e | 0))
  143179. : 0
  143180. ) {
  143181. pB((e + -24) | 0, 0, 18745) | 0;
  143182. g = f;
  143183. } else g = a;
  143184. } else g = a;
  143185. return g | 0;
  143186. }
  143187. function VC(a) {
  143188. a = a | 0;
  143189. var b = 0;
  143190. c[a >> 2] = 0;
  143191. c[(a + 4) >> 2] = 0;
  143192. c[(a + 8) >> 2] = 0;
  143193. b = 0;
  143194. while (1) {
  143195. if ((b | 0) == 3) break;
  143196. c[(a + (b << 2)) >> 2] = 0;
  143197. b = (b + 1) | 0;
  143198. }
  143199. b = (a + 12) | 0;
  143200. c[b >> 2] = 0;
  143201. c[(b + 4) >> 2] = 0;
  143202. c[(b + 8) >> 2] = 0;
  143203. a = 0;
  143204. while (1) {
  143205. if ((a | 0) == 3) break;
  143206. c[(b + (a << 2)) >> 2] = 0;
  143207. a = (a + 1) | 0;
  143208. }
  143209. return;
  143210. }
  143211. function WC(a) {
  143212. a = a | 0;
  143213. var b = 0,
  143214. d = 0,
  143215. e = 0,
  143216. f = 0,
  143217. g = 0,
  143218. h = 0,
  143219. i = 0,
  143220. j = 0;
  143221. b = l;
  143222. l = (l + 32) | 0;
  143223. d = b;
  143224. e = (a + 4) | 0;
  143225. f =
  143226. ((((((c[e >> 2] | 0) - (c[a >> 2] | 0)) | 0) / 24) | 0) +
  143227. 1) |
  143228. 0;
  143229. g = XC(a) | 0;
  143230. if (g >>> 0 < f >>> 0) Wz(a);
  143231. else {
  143232. h = c[a >> 2] | 0;
  143233. i = ((((c[(a + 8) >> 2] | 0) - h) | 0) / 24) | 0;
  143234. j = i << 1;
  143235. YC(
  143236. d,
  143237. i >>> 0 < (g >>> 1) >>> 0
  143238. ? j >>> 0 < f >>> 0
  143239. ? f
  143240. : j
  143241. : g,
  143242. ((((c[e >> 2] | 0) - h) | 0) / 24) | 0,
  143243. (a + 12) | 0
  143244. );
  143245. h = (d + 8) | 0;
  143246. e = c[h >> 2] | 0;
  143247. c[e >> 2] = 0;
  143248. c[(e + 4) >> 2] = 0;
  143249. c[(e + 8) >> 2] = 0;
  143250. c[(e + 12) >> 2] = 0;
  143251. c[(e + 16) >> 2] = 0;
  143252. c[(e + 20) >> 2] = 0;
  143253. VC(e);
  143254. c[h >> 2] = e + 24;
  143255. ZC(a, d);
  143256. _C(d);
  143257. l = b;
  143258. return;
  143259. }
  143260. }
  143261. function XC(a) {
  143262. a = a | 0;
  143263. return 178956970;
  143264. }
  143265. function YC(a, b, d, e) {
  143266. a = a | 0;
  143267. b = b | 0;
  143268. d = d | 0;
  143269. e = e | 0;
  143270. var f = 0,
  143271. g = 0;
  143272. f = (a + 12) | 0;
  143273. c[f >> 2] = 0;
  143274. c[(a + 16) >> 2] = e;
  143275. if (!b) g = 0;
  143276. else g = $C(e, b) | 0;
  143277. c[a >> 2] = g;
  143278. e = (g + ((d * 24) | 0)) | 0;
  143279. c[(a + 8) >> 2] = e;
  143280. c[(a + 4) >> 2] = e;
  143281. c[f >> 2] = g + ((b * 24) | 0);
  143282. return;
  143283. }
  143284. function ZC(a, b) {
  143285. a = a | 0;
  143286. b = b | 0;
  143287. var d = 0,
  143288. e = 0,
  143289. f = 0,
  143290. g = 0,
  143291. h = 0;
  143292. d = c[a >> 2] | 0;
  143293. e = (a + 4) | 0;
  143294. f = (b + 4) | 0;
  143295. g = c[e >> 2] | 0;
  143296. while (1) {
  143297. if ((g | 0) == (d | 0)) break;
  143298. h = (g + -24) | 0;
  143299. KB(((c[f >> 2] | 0) + -24) | 0, h);
  143300. c[f >> 2] = (c[f >> 2] | 0) + -24;
  143301. g = h;
  143302. }
  143303. g = c[a >> 2] | 0;
  143304. c[a >> 2] = c[f >> 2];
  143305. c[f >> 2] = g;
  143306. g = (b + 8) | 0;
  143307. d = c[e >> 2] | 0;
  143308. c[e >> 2] = c[g >> 2];
  143309. c[g >> 2] = d;
  143310. d = (a + 8) | 0;
  143311. a = (b + 12) | 0;
  143312. g = c[d >> 2] | 0;
  143313. c[d >> 2] = c[a >> 2];
  143314. c[a >> 2] = g;
  143315. c[b >> 2] = c[f >> 2];
  143316. return;
  143317. }
  143318. function _C(a) {
  143319. a = a | 0;
  143320. var b = 0,
  143321. d = 0,
  143322. e = 0,
  143323. f = 0;
  143324. b = c[(a + 4) >> 2] | 0;
  143325. d = (a + 8) | 0;
  143326. while (1) {
  143327. e = c[d >> 2] | 0;
  143328. if ((e | 0) == (b | 0)) break;
  143329. f = (e + -24) | 0;
  143330. c[d >> 2] = f;
  143331. QA(f);
  143332. }
  143333. d = c[a >> 2] | 0;
  143334. if (d | 0)
  143335. hB(
  143336. c[(a + 16) >> 2] | 0,
  143337. d,
  143338. ((((c[(a + 12) >> 2] | 0) - d) | 0) / 24) | 0
  143339. );
  143340. return;
  143341. }
  143342. function $C(a, b) {
  143343. a = a | 0;
  143344. b = b | 0;
  143345. return aD(c[a >> 2] | 0, (b * 24) | 0) | 0;
  143346. }
  143347. function aD(a, b) {
  143348. a = a | 0;
  143349. b = b | 0;
  143350. var d = 0,
  143351. e = 0,
  143352. f = 0;
  143353. d = $A(b) | 0;
  143354. b = (a + 4096) | 0;
  143355. e = c[b >> 2] | 0;
  143356. if (((a + 4096 - e) | 0) >>> 0 < d >>> 0) f = Cy(d) | 0;
  143357. else {
  143358. c[b >> 2] = e + d;
  143359. f = e;
  143360. }
  143361. return f | 0;
  143362. }
  143363. function bD(b, d, e, f) {
  143364. b = b | 0;
  143365. d = d | 0;
  143366. e = e | 0;
  143367. f = f | 0;
  143368. var g = 0,
  143369. h = 0,
  143370. i = 0,
  143371. j = 0,
  143372. k = 0,
  143373. m = 0,
  143374. n = 0,
  143375. o = 0,
  143376. p = 0,
  143377. q = 0,
  143378. r = 0;
  143379. g = l;
  143380. l = (l + 48) | 0;
  143381. h = (g + 24) | 0;
  143382. i = g;
  143383. j = (g + 12) | 0;
  143384. k = QB(b, d) | 0;
  143385. if (
  143386. !(((k | 0) == (b | 0)) | ((k | 0) == (d | 0)))
  143387. ? (a[k >> 0] | 0) == 69
  143388. : 0
  143389. ) {
  143390. d = (e + 11) | 0;
  143391. m = a[d >> 0] | 0;
  143392. n = (e + 4) | 0;
  143393. do {
  143394. if (
  143395. ((m << 24) >> 24 < 0 ? c[n >> 2] | 0 : m & 255) >>> 0 <=
  143396. 3
  143397. ) {
  143398. o = (f + 4) | 0;
  143399. p = c[o >> 2] | 0;
  143400. if (p >>> 0 < (c[(f + 8) >> 2] | 0) >>> 0) {
  143401. c[p >> 2] = 0;
  143402. c[(p + 4) >> 2] = 0;
  143403. c[(p + 8) >> 2] = 0;
  143404. c[(p + 12) >> 2] = 0;
  143405. c[(p + 16) >> 2] = 0;
  143406. c[(p + 20) >> 2] = 0;
  143407. VC(p);
  143408. c[o >> 2] = (c[o >> 2] | 0) + 24;
  143409. break;
  143410. } else {
  143411. WC(f);
  143412. break;
  143413. }
  143414. } else {
  143415. UB(j, 18675, e);
  143416. qB(j, 18673) | 0;
  143417. c[i >> 2] = c[j >> 2];
  143418. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  143419. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  143420. o = 0;
  143421. while (1) {
  143422. if ((o | 0) == 3) break;
  143423. c[(j + (o << 2)) >> 2] = 0;
  143424. o = (o + 1) | 0;
  143425. }
  143426. IB(h, i);
  143427. o = (f + 4) | 0;
  143428. p = c[o >> 2] | 0;
  143429. if (p >>> 0 < (c[(f + 8) >> 2] | 0) >>> 0) {
  143430. KB(p, h);
  143431. c[o >> 2] = (c[o >> 2] | 0) + 24;
  143432. } else LB(f, h);
  143433. QA(h);
  143434. iB(i);
  143435. iB(j);
  143436. }
  143437. } while (0);
  143438. j = (f + 4) | 0;
  143439. if ((a[b >> 0] | 0) == 110) {
  143440. NC(((c[j >> 2] | 0) + -24) | 0, 45);
  143441. q = (b + 1) | 0;
  143442. } else q = b;
  143443. MC(((c[j >> 2] | 0) + -24) | 0, q, k);
  143444. q = a[d >> 0] | 0;
  143445. d = (q << 24) >> 24 < 0;
  143446. f = d ? c[n >> 2] | 0 : q & 255;
  143447. if (f >>> 0 < 4)
  143448. TA(
  143449. ((c[j >> 2] | 0) + -24) | 0,
  143450. d ? c[e >> 2] | 0 : e,
  143451. f
  143452. ) | 0;
  143453. r = (k + 1) | 0;
  143454. } else r = b;
  143455. l = g;
  143456. return r | 0;
  143457. }
  143458. function cD(a, b) {
  143459. a = a | 0;
  143460. b = b | 0;
  143461. c[a >> 2] = 0;
  143462. c[(a + 4) >> 2] = 0;
  143463. c[(a + 8) >> 2] = 0;
  143464. RB(a, b, 4);
  143465. b = (a + 12) | 0;
  143466. c[b >> 2] = 0;
  143467. c[(b + 4) >> 2] = 0;
  143468. c[(b + 8) >> 2] = 0;
  143469. a = 0;
  143470. while (1) {
  143471. if ((a | 0) == 3) break;
  143472. c[(b + (a << 2)) >> 2] = 0;
  143473. a = (a + 1) | 0;
  143474. }
  143475. return;
  143476. }
  143477. function dD(b, d, e) {
  143478. b = b | 0;
  143479. d = d | 0;
  143480. e = e | 0;
  143481. var f = 0,
  143482. i = 0,
  143483. j = 0,
  143484. k = 0,
  143485. m = 0,
  143486. n = 0,
  143487. o = 0,
  143488. p = 0,
  143489. q = 0,
  143490. r = 0,
  143491. s = 0,
  143492. t = 0,
  143493. u = 0,
  143494. v = 0;
  143495. f = l;
  143496. l = (l + 64) | 0;
  143497. i = (f + 24) | 0;
  143498. j = (f + 60) | 0;
  143499. k = f;
  143500. m = (f + 48) | 0;
  143501. a: do {
  143502. if (((d - b) | 0) >>> 0 > 8) {
  143503. n = 0;
  143504. o = j;
  143505. while (1) {
  143506. p = a[(b + n) >> 0] | 0;
  143507. q = (p << 24) >> 24;
  143508. if ((n | 0) == 8) {
  143509. r = 6;
  143510. break;
  143511. }
  143512. if (!(Qz(q) | 0)) break;
  143513. s = a[(b + (n | 1)) >> 0] | 0;
  143514. a[o >> 0] =
  143515. (((((q + -48) | 0) >>> 0 < 10 ? 0 : 9) + q) << 4) +
  143516. s +
  143517. (((s + -48) | 0) >>> 0 < 10 ? 208 : 169);
  143518. n = (n + 2) | 0;
  143519. o = (o + 1) | 0;
  143520. }
  143521. do {
  143522. if ((r | 0) == 6) {
  143523. if ((p << 24) >> 24 == 69) {
  143524. b: do {
  143525. if ((o | 0) != (j | 0)) {
  143526. n = o;
  143527. s = j;
  143528. while (1) {
  143529. q = (n + -1) | 0;
  143530. if (s >>> 0 >= q >>> 0) break b;
  143531. t = a[s >> 0] | 0;
  143532. a[s >> 0] = a[q >> 0] | 0;
  143533. a[q >> 0] = t;
  143534. n = q;
  143535. s = (s + 1) | 0;
  143536. }
  143537. }
  143538. } while (0);
  143539. c[k >> 2] = 0;
  143540. c[(k + 4) >> 2] = 0;
  143541. c[(k + 8) >> 2] = 0;
  143542. c[(k + 12) >> 2] = 0;
  143543. c[(k + 16) >> 2] = 0;
  143544. c[(k + 20) >> 2] = 0;
  143545. h[i >> 3] = +g[j >> 2];
  143546. s = bz(k, 24, 19987, i) | 0;
  143547. if (s >>> 0 > 23) break;
  143548. c[m >> 2] = 0;
  143549. c[(m + 4) >> 2] = 0;
  143550. c[(m + 8) >> 2] = 0;
  143551. RB(m, k, s);
  143552. IB(i, m);
  143553. s = (e + 4) | 0;
  143554. n = c[s >> 2] | 0;
  143555. if (n >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  143556. KB(n, i);
  143557. c[s >> 2] = (c[s >> 2] | 0) + 24;
  143558. } else LB(e, i);
  143559. QA(i);
  143560. iB(m);
  143561. u = (b + 9) | 0;
  143562. } else u = b;
  143563. v = u;
  143564. break a;
  143565. }
  143566. } while (0);
  143567. v = b;
  143568. } else v = b;
  143569. } while (0);
  143570. l = f;
  143571. return v | 0;
  143572. }
  143573. function eD(b, d, e) {
  143574. b = b | 0;
  143575. d = d | 0;
  143576. e = e | 0;
  143577. var f = 0,
  143578. g = 0,
  143579. i = 0,
  143580. j = 0,
  143581. k = 0,
  143582. m = 0,
  143583. n = 0,
  143584. o = 0,
  143585. p = 0,
  143586. q = 0,
  143587. r = 0,
  143588. s = 0,
  143589. t = 0,
  143590. u = 0;
  143591. f = l;
  143592. l = (l + 80) | 0;
  143593. g = (f + 40) | 0;
  143594. i = (f + 32) | 0;
  143595. j = f;
  143596. k = (f + 64) | 0;
  143597. a: do {
  143598. if (((d - b) | 0) >>> 0 > 16) {
  143599. m = 0;
  143600. n = i;
  143601. while (1) {
  143602. o = a[(b + m) >> 0] | 0;
  143603. p = (o << 24) >> 24;
  143604. if ((m | 0) == 16) {
  143605. q = 6;
  143606. break;
  143607. }
  143608. if (!(Qz(p) | 0)) break;
  143609. r = a[(b + (m | 1)) >> 0] | 0;
  143610. a[n >> 0] =
  143611. (((((p + -48) | 0) >>> 0 < 10 ? 0 : 9) + p) << 4) +
  143612. r +
  143613. (((r + -48) | 0) >>> 0 < 10 ? 208 : 169);
  143614. m = (m + 2) | 0;
  143615. n = (n + 1) | 0;
  143616. }
  143617. do {
  143618. if ((q | 0) == 6) {
  143619. if ((o << 24) >> 24 == 69) {
  143620. b: do {
  143621. if ((n | 0) != (i | 0)) {
  143622. m = n;
  143623. r = i;
  143624. while (1) {
  143625. p = (m + -1) | 0;
  143626. if (r >>> 0 >= p >>> 0) break b;
  143627. s = a[r >> 0] | 0;
  143628. a[r >> 0] = a[p >> 0] | 0;
  143629. a[p >> 0] = s;
  143630. m = p;
  143631. r = (r + 1) | 0;
  143632. }
  143633. }
  143634. } while (0);
  143635. c[j >> 2] = 0;
  143636. c[(j + 4) >> 2] = 0;
  143637. c[(j + 8) >> 2] = 0;
  143638. c[(j + 12) >> 2] = 0;
  143639. c[(j + 16) >> 2] = 0;
  143640. c[(j + 20) >> 2] = 0;
  143641. c[(j + 24) >> 2] = 0;
  143642. c[(j + 28) >> 2] = 0;
  143643. h[g >> 3] = +h[i >> 3];
  143644. r = bz(j, 32, 19984, g) | 0;
  143645. if (r >>> 0 > 31) break;
  143646. c[k >> 2] = 0;
  143647. c[(k + 4) >> 2] = 0;
  143648. c[(k + 8) >> 2] = 0;
  143649. RB(k, j, r);
  143650. IB(g, k);
  143651. r = (e + 4) | 0;
  143652. m = c[r >> 2] | 0;
  143653. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  143654. KB(m, g);
  143655. c[r >> 2] = (c[r >> 2] | 0) + 24;
  143656. } else LB(e, g);
  143657. QA(g);
  143658. iB(k);
  143659. t = (b + 17) | 0;
  143660. } else t = b;
  143661. u = t;
  143662. break a;
  143663. }
  143664. } while (0);
  143665. u = b;
  143666. } else u = b;
  143667. } while (0);
  143668. l = f;
  143669. return u | 0;
  143670. }
  143671. function fD(b, d, e) {
  143672. b = b | 0;
  143673. d = d | 0;
  143674. e = e | 0;
  143675. var f = 0,
  143676. g = 0,
  143677. i = 0,
  143678. j = 0,
  143679. k = 0,
  143680. m = 0,
  143681. n = 0,
  143682. o = 0,
  143683. p = 0,
  143684. q = 0,
  143685. r = 0,
  143686. s = 0,
  143687. t = 0,
  143688. u = 0;
  143689. f = l;
  143690. l = (l + 96) | 0;
  143691. g = (f + 48) | 0;
  143692. i = (f + 40) | 0;
  143693. j = f;
  143694. k = (f + 72) | 0;
  143695. a: do {
  143696. if (((d - b) | 0) >>> 0 > 20) {
  143697. m = 0;
  143698. n = i;
  143699. while (1) {
  143700. o = a[(b + m) >> 0] | 0;
  143701. p = (o << 24) >> 24;
  143702. if ((m | 0) == 20) {
  143703. q = 6;
  143704. break;
  143705. }
  143706. if (!(Qz(p) | 0)) break;
  143707. r = a[(b + (m | 1)) >> 0] | 0;
  143708. a[n >> 0] =
  143709. (((((p + -48) | 0) >>> 0 < 10 ? 0 : 9) + p) << 4) +
  143710. r +
  143711. (((r + -48) | 0) >>> 0 < 10 ? 208 : 169);
  143712. m = (m + 2) | 0;
  143713. n = (n + 1) | 0;
  143714. }
  143715. do {
  143716. if ((q | 0) == 6) {
  143717. if ((o << 24) >> 24 == 69) {
  143718. b: do {
  143719. if ((n | 0) != (i | 0)) {
  143720. m = n;
  143721. r = i;
  143722. while (1) {
  143723. p = (m + -1) | 0;
  143724. if (r >>> 0 >= p >>> 0) break b;
  143725. s = a[r >> 0] | 0;
  143726. a[r >> 0] = a[p >> 0] | 0;
  143727. a[p >> 0] = s;
  143728. m = p;
  143729. r = (r + 1) | 0;
  143730. }
  143731. }
  143732. } while (0);
  143733. r = j;
  143734. m = (r + 40) | 0;
  143735. do {
  143736. c[r >> 2] = 0;
  143737. r = (r + 4) | 0;
  143738. } while ((r | 0) < (m | 0));
  143739. h[g >> 3] = +h[i >> 3];
  143740. r = bz(j, 40, 19979, g) | 0;
  143741. if (r >>> 0 > 39) break;
  143742. c[k >> 2] = 0;
  143743. c[(k + 4) >> 2] = 0;
  143744. c[(k + 8) >> 2] = 0;
  143745. RB(k, j, r);
  143746. IB(g, k);
  143747. r = (e + 4) | 0;
  143748. m = c[r >> 2] | 0;
  143749. if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  143750. KB(m, g);
  143751. c[r >> 2] = (c[r >> 2] | 0) + 24;
  143752. } else LB(e, g);
  143753. QA(g);
  143754. iB(k);
  143755. t = (b + 21) | 0;
  143756. } else t = b;
  143757. u = t;
  143758. break a;
  143759. }
  143760. } while (0);
  143761. u = b;
  143762. } else u = b;
  143763. } while (0);
  143764. l = f;
  143765. return u | 0;
  143766. }
  143767. function gD(a, b) {
  143768. a = a | 0;
  143769. b = b | 0;
  143770. c[a >> 2] = 0;
  143771. c[(a + 4) >> 2] = 0;
  143772. c[(a + 8) >> 2] = 0;
  143773. RB(a, b, 13);
  143774. b = (a + 12) | 0;
  143775. c[b >> 2] = 0;
  143776. c[(b + 4) >> 2] = 0;
  143777. c[(b + 8) >> 2] = 0;
  143778. a = 0;
  143779. while (1) {
  143780. if ((a | 0) == 3) break;
  143781. c[(b + (a << 2)) >> 2] = 0;
  143782. a = (a + 1) | 0;
  143783. }
  143784. return;
  143785. }
  143786. function hD(b, d, e) {
  143787. b = b | 0;
  143788. d = d | 0;
  143789. e = e | 0;
  143790. var f = 0,
  143791. g = 0,
  143792. h = 0,
  143793. i = 0,
  143794. j = 0,
  143795. k = 0,
  143796. m = 0,
  143797. n = 0,
  143798. o = 0,
  143799. p = 0,
  143800. q = 0,
  143801. r = 0,
  143802. s = 0,
  143803. t = 0,
  143804. u = 0,
  143805. v = 0,
  143806. w = 0,
  143807. x = 0,
  143808. y = 0,
  143809. z = 0,
  143810. A = 0,
  143811. B = 0,
  143812. C = 0,
  143813. D = 0,
  143814. E = 0,
  143815. F = 0,
  143816. G = 0,
  143817. H = 0,
  143818. I = 0,
  143819. J = 0,
  143820. K = 0,
  143821. L = 0,
  143822. M = 0,
  143823. N = 0,
  143824. O = 0,
  143825. P = 0,
  143826. Q = 0,
  143827. R = 0,
  143828. S = 0,
  143829. T = 0,
  143830. U = 0,
  143831. V = 0,
  143832. W = 0,
  143833. X = 0,
  143834. Y = 0,
  143835. Z = 0,
  143836. _ = 0,
  143837. $ = 0,
  143838. aa = 0,
  143839. ba = 0,
  143840. ca = 0,
  143841. da = 0,
  143842. ea = 0,
  143843. fa = 0,
  143844. ga = 0,
  143845. ha = 0,
  143846. ia = 0,
  143847. ja = 0;
  143848. f = l;
  143849. l = (l + 48) | 0;
  143850. g = (f + 36) | 0;
  143851. h = (f + 24) | 0;
  143852. i = (f + 8) | 0;
  143853. j = f;
  143854. a: do {
  143855. if ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 78 : 0) {
  143856. k = nB((b + 1) | 0, d, g) | 0;
  143857. b: do {
  143858. if ((k | 0) != (d | 0)) {
  143859. m = (e + 52) | 0;
  143860. c[m >> 2] = 0;
  143861. switch (a[k >> 0] | 0) {
  143862. case 82: {
  143863. n = 1;
  143864. o = 6;
  143865. break;
  143866. }
  143867. case 79: {
  143868. n = 2;
  143869. o = 6;
  143870. break;
  143871. }
  143872. default:
  143873. p = k;
  143874. }
  143875. if ((o | 0) == 6) {
  143876. c[m >> 2] = n;
  143877. p = (k + 1) | 0;
  143878. }
  143879. m = (e + 4) | 0;
  143880. q = c[m >> 2] | 0;
  143881. if (q >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
  143882. c[q >> 2] = 0;
  143883. c[(q + 4) >> 2] = 0;
  143884. c[(q + 8) >> 2] = 0;
  143885. c[(q + 12) >> 2] = 0;
  143886. c[(q + 16) >> 2] = 0;
  143887. c[(q + 20) >> 2] = 0;
  143888. VC(q);
  143889. c[m >> 2] = (c[m >> 2] | 0) + 24;
  143890. } else WC(e);
  143891. if (
  143892. (((d - p) | 0) > 1 ? (a[p >> 0] | 0) == 83 : 0)
  143893. ? (a[(p + 1) >> 0] | 0) == 116
  143894. : 0
  143895. ) {
  143896. uC(((c[m >> 2] | 0) + -24) | 0, 20051);
  143897. r = (p + 2) | 0;
  143898. } else r = p;
  143899. if ((r | 0) == (d | 0)) {
  143900. q = c[m >> 2] | 0;
  143901. s = 0;
  143902. while (1) {
  143903. if ((s | 0) == -1) break;
  143904. t = (s + -1) | 0;
  143905. QA((q + ((t * 24) | 0)) | 0);
  143906. s = t;
  143907. }
  143908. c[m >> 2] = q + -24;
  143909. break;
  143910. }
  143911. s = (h + 11) | 0;
  143912. t = (h + 4) | 0;
  143913. u = (e + 12) | 0;
  143914. v = (e + 20) | 0;
  143915. w = (e + 24) | 0;
  143916. x = (i + 11) | 0;
  143917. y = (i + 4) | 0;
  143918. z = (i + 11) | 0;
  143919. A = (i + 4) | 0;
  143920. B = (i + 12) | 0;
  143921. C = (i + 4) | 0;
  143922. D = (i + 8) | 0;
  143923. E = (e + 16) | 0;
  143924. F = (i + 12) | 0;
  143925. G = (i + 4) | 0;
  143926. H = (i + 8) | 0;
  143927. I = (i + 11) | 0;
  143928. J = (i + 4) | 0;
  143929. K = (i + 12) | 0;
  143930. L = (i + 4) | 0;
  143931. M = (i + 8) | 0;
  143932. N = (i + 11) | 0;
  143933. O = (i + 4) | 0;
  143934. P = (i + 12) | 0;
  143935. Q = (i + 4) | 0;
  143936. R = (i + 8) | 0;
  143937. S = (i + 12) | 0;
  143938. T = (i + 4) | 0;
  143939. U = (i + 8) | 0;
  143940. V = 0;
  143941. W = r;
  143942. c: while (1) {
  143943. X = W;
  143944. d: while (1) {
  143945. Y = a[X >> 0] | 0;
  143946. if ((Y << 24) >> 24 == 69) break c;
  143947. switch (((Y << 24) >> 24) | 0) {
  143948. case 83: {
  143949. o = 23;
  143950. break d;
  143951. break;
  143952. }
  143953. case 84: {
  143954. o = 39;
  143955. break d;
  143956. break;
  143957. }
  143958. case 68: {
  143959. o = 53;
  143960. break d;
  143961. break;
  143962. }
  143963. case 73: {
  143964. Y = EB(X, d, e) | 0;
  143965. if (
  143966. ((Y | 0) == (X | 0)) |
  143967. ((Y | 0) == (d | 0))
  143968. )
  143969. break b;
  143970. FB(h, ((c[m >> 2] | 0) + -24) | 0);
  143971. Z = c[m >> 2] | 0;
  143972. _ = 0;
  143973. while (1) {
  143974. if ((_ | 0) == -1) break;
  143975. $ = (_ + -1) | 0;
  143976. QA((Z + (($ * 24) | 0)) | 0);
  143977. _ = $;
  143978. }
  143979. c[m >> 2] = Z + -24;
  143980. _ = a[s >> 0] | 0;
  143981. $ = (_ << 24) >> 24 < 0;
  143982. TA(
  143983. (Z + -48) | 0,
  143984. $ ? c[h >> 2] | 0 : h,
  143985. $ ? c[t >> 2] | 0 : _ & 255
  143986. ) | 0;
  143987. _ = ((c[m >> 2] | 0) + -24) | 0;
  143988. c[j >> 2] = c[u >> 2];
  143989. vB(i, _, j);
  143990. _ = c[v >> 2] | 0;
  143991. if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
  143992. c[_ >> 2] = 0;
  143993. $ = (_ + 4) | 0;
  143994. c[$ >> 2] = 0;
  143995. aa = (_ + 8) | 0;
  143996. c[aa >> 2] = 0;
  143997. c[(_ + 12) >> 2] = c[B >> 2];
  143998. c[_ >> 2] = c[i >> 2];
  143999. c[$ >> 2] = c[C >> 2];
  144000. c[aa >> 2] = c[D >> 2];
  144001. c[D >> 2] = 0;
  144002. c[C >> 2] = 0;
  144003. c[i >> 2] = 0;
  144004. c[v >> 2] = (c[v >> 2] | 0) + 16;
  144005. } else wB(E, i);
  144006. RA(i);
  144007. iB(h);
  144008. ba = Y;
  144009. break;
  144010. }
  144011. case 76: {
  144012. aa = (X + 1) | 0;
  144013. if ((aa | 0) == (d | 0)) break b;
  144014. else ba = aa;
  144015. break;
  144016. }
  144017. default: {
  144018. o = 79;
  144019. break d;
  144020. }
  144021. }
  144022. X = ba;
  144023. }
  144024. e: do {
  144025. if ((o | 0) == 23) {
  144026. o = 0;
  144027. aa = (X + 1) | 0;
  144028. if (
  144029. (aa | 0) != (d | 0)
  144030. ? (a[aa >> 0] | 0) == 116
  144031. : 0
  144032. ) {
  144033. o = 79;
  144034. break;
  144035. }
  144036. aa = NB(X, d, e) | 0;
  144037. if (
  144038. ((aa | 0) == (X | 0)) |
  144039. ((aa | 0) == (d | 0))
  144040. )
  144041. break b;
  144042. FB(h, ((c[m >> 2] | 0) + -24) | 0);
  144043. $ = c[m >> 2] | 0;
  144044. _ = 0;
  144045. while (1) {
  144046. if ((_ | 0) == -1) break;
  144047. ca = (_ + -1) | 0;
  144048. QA(($ + ((ca * 24) | 0)) | 0);
  144049. _ = ca;
  144050. }
  144051. c[m >> 2] = $ + -24;
  144052. _ = ($ + -48) | 0;
  144053. Y = a[(_ + 11) >> 0] | 0;
  144054. if ((Y << 24) >> 24 < 0)
  144055. da = c[($ + -44) >> 2] | 0;
  144056. else da = Y & 255;
  144057. if (!da) lD(_, h);
  144058. else {
  144059. UB(i, 18747, h);
  144060. _ = a[I >> 0] | 0;
  144061. Y = (_ << 24) >> 24 < 0;
  144062. TA(
  144063. ((c[m >> 2] | 0) + -24) | 0,
  144064. Y ? c[i >> 2] | 0 : i,
  144065. Y ? c[J >> 2] | 0 : _ & 255
  144066. ) | 0;
  144067. iB(i);
  144068. _ = ((c[m >> 2] | 0) + -24) | 0;
  144069. c[j >> 2] = c[u >> 2];
  144070. vB(i, _, j);
  144071. _ = c[v >> 2] | 0;
  144072. if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
  144073. c[_ >> 2] = 0;
  144074. Y = (_ + 4) | 0;
  144075. c[Y >> 2] = 0;
  144076. Z = (_ + 8) | 0;
  144077. c[Z >> 2] = 0;
  144078. c[(_ + 12) >> 2] = c[S >> 2];
  144079. c[_ >> 2] = c[i >> 2];
  144080. c[Y >> 2] = c[T >> 2];
  144081. c[Z >> 2] = c[U >> 2];
  144082. c[U >> 2] = 0;
  144083. c[T >> 2] = 0;
  144084. c[i >> 2] = 0;
  144085. c[v >> 2] = (c[v >> 2] | 0) + 16;
  144086. } else wB(E, i);
  144087. RA(i);
  144088. }
  144089. iB(h);
  144090. ea = aa;
  144091. } else if ((o | 0) == 39) {
  144092. o = 0;
  144093. Z = DB(X, d, e) | 0;
  144094. if (((Z | 0) == (X | 0)) | ((Z | 0) == (d | 0)))
  144095. break b;
  144096. FB(h, ((c[m >> 2] | 0) + -24) | 0);
  144097. Y = c[m >> 2] | 0;
  144098. _ = 0;
  144099. while (1) {
  144100. if ((_ | 0) == -1) break;
  144101. ca = (_ + -1) | 0;
  144102. QA((Y + ((ca * 24) | 0)) | 0);
  144103. _ = ca;
  144104. }
  144105. c[m >> 2] = Y + -24;
  144106. _ = (Y + -48) | 0;
  144107. aa = a[(_ + 11) >> 0] | 0;
  144108. if ((aa << 24) >> 24 < 0)
  144109. fa = c[(Y + -44) >> 2] | 0;
  144110. else fa = aa & 255;
  144111. if (!fa) lD(_, h);
  144112. else {
  144113. UB(i, 18747, h);
  144114. _ = a[z >> 0] | 0;
  144115. aa = (_ << 24) >> 24 < 0;
  144116. TA(
  144117. ((c[m >> 2] | 0) + -24) | 0,
  144118. aa ? c[i >> 2] | 0 : i,
  144119. aa ? c[A >> 2] | 0 : _ & 255
  144120. ) | 0;
  144121. iB(i);
  144122. }
  144123. _ = ((c[m >> 2] | 0) + -24) | 0;
  144124. c[j >> 2] = c[u >> 2];
  144125. vB(i, _, j);
  144126. _ = c[v >> 2] | 0;
  144127. if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
  144128. c[_ >> 2] = 0;
  144129. aa = (_ + 4) | 0;
  144130. c[aa >> 2] = 0;
  144131. $ = (_ + 8) | 0;
  144132. c[$ >> 2] = 0;
  144133. c[(_ + 12) >> 2] = c[K >> 2];
  144134. c[_ >> 2] = c[i >> 2];
  144135. c[aa >> 2] = c[L >> 2];
  144136. c[$ >> 2] = c[M >> 2];
  144137. c[M >> 2] = 0;
  144138. c[L >> 2] = 0;
  144139. c[i >> 2] = 0;
  144140. c[v >> 2] = (c[v >> 2] | 0) + 16;
  144141. } else wB(E, i);
  144142. RA(i);
  144143. iB(h);
  144144. ea = Z;
  144145. } else if ((o | 0) == 53) {
  144146. o = 0;
  144147. $ = (X + 1) | 0;
  144148. if (($ | 0) != (d | 0))
  144149. switch (a[$ >> 0] | 0) {
  144150. case 84:
  144151. case 116:
  144152. break;
  144153. default: {
  144154. o = 79;
  144155. break e;
  144156. }
  144157. }
  144158. $ = OB(X, d, e) | 0;
  144159. if ((($ | 0) == (X | 0)) | (($ | 0) == (d | 0)))
  144160. break b;
  144161. FB(h, ((c[m >> 2] | 0) + -24) | 0);
  144162. aa = c[m >> 2] | 0;
  144163. _ = 0;
  144164. while (1) {
  144165. if ((_ | 0) == -1) break;
  144166. ca = (_ + -1) | 0;
  144167. QA((aa + ((ca * 24) | 0)) | 0);
  144168. _ = ca;
  144169. }
  144170. c[m >> 2] = aa + -24;
  144171. _ = (aa + -48) | 0;
  144172. Z = a[(_ + 11) >> 0] | 0;
  144173. if ((Z << 24) >> 24 < 0)
  144174. ga = c[(aa + -44) >> 2] | 0;
  144175. else ga = Z & 255;
  144176. if (!ga) lD(_, h);
  144177. else {
  144178. UB(i, 18747, h);
  144179. _ = a[N >> 0] | 0;
  144180. Z = (_ << 24) >> 24 < 0;
  144181. TA(
  144182. ((c[m >> 2] | 0) + -24) | 0,
  144183. Z ? c[i >> 2] | 0 : i,
  144184. Z ? c[O >> 2] | 0 : _ & 255
  144185. ) | 0;
  144186. iB(i);
  144187. }
  144188. _ = ((c[m >> 2] | 0) + -24) | 0;
  144189. c[j >> 2] = c[u >> 2];
  144190. vB(i, _, j);
  144191. _ = c[v >> 2] | 0;
  144192. if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
  144193. c[_ >> 2] = 0;
  144194. Z = (_ + 4) | 0;
  144195. c[Z >> 2] = 0;
  144196. Y = (_ + 8) | 0;
  144197. c[Y >> 2] = 0;
  144198. c[(_ + 12) >> 2] = c[P >> 2];
  144199. c[_ >> 2] = c[i >> 2];
  144200. c[Z >> 2] = c[Q >> 2];
  144201. c[Y >> 2] = c[R >> 2];
  144202. c[R >> 2] = 0;
  144203. c[Q >> 2] = 0;
  144204. c[i >> 2] = 0;
  144205. c[v >> 2] = (c[v >> 2] | 0) + 16;
  144206. } else wB(E, i);
  144207. RA(i);
  144208. iB(h);
  144209. ea = $;
  144210. }
  144211. } while (0);
  144212. if ((o | 0) == 79) {
  144213. o = 0;
  144214. Y = BC(X, d, e) | 0;
  144215. if (((Y | 0) == (X | 0)) | ((Y | 0) == (d | 0)))
  144216. break b;
  144217. FB(h, ((c[m >> 2] | 0) + -24) | 0);
  144218. Z = c[m >> 2] | 0;
  144219. _ = 0;
  144220. while (1) {
  144221. if ((_ | 0) == -1) break;
  144222. ca = (_ + -1) | 0;
  144223. QA((Z + ((ca * 24) | 0)) | 0);
  144224. _ = ca;
  144225. }
  144226. c[m >> 2] = Z + -24;
  144227. _ = (Z + -48) | 0;
  144228. ca = a[(_ + 11) >> 0] | 0;
  144229. if ((ca << 24) >> 24 < 0)
  144230. ha = c[(Z + -44) >> 2] | 0;
  144231. else ha = ca & 255;
  144232. if (!ha) lD(_, h);
  144233. else {
  144234. UB(i, 18747, h);
  144235. _ = a[x >> 0] | 0;
  144236. ca = (_ << 24) >> 24 < 0;
  144237. TA(
  144238. ((c[m >> 2] | 0) + -24) | 0,
  144239. ca ? c[i >> 2] | 0 : i,
  144240. ca ? c[y >> 2] | 0 : _ & 255
  144241. ) | 0;
  144242. iB(i);
  144243. }
  144244. _ = ((c[m >> 2] | 0) + -24) | 0;
  144245. c[j >> 2] = c[u >> 2];
  144246. vB(i, _, j);
  144247. _ = c[v >> 2] | 0;
  144248. if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
  144249. c[_ >> 2] = 0;
  144250. ca = (_ + 4) | 0;
  144251. c[ca >> 2] = 0;
  144252. ia = (_ + 8) | 0;
  144253. c[ia >> 2] = 0;
  144254. c[(_ + 12) >> 2] = c[F >> 2];
  144255. c[_ >> 2] = c[i >> 2];
  144256. c[ca >> 2] = c[G >> 2];
  144257. c[ia >> 2] = c[H >> 2];
  144258. c[H >> 2] = 0;
  144259. c[G >> 2] = 0;
  144260. c[i >> 2] = 0;
  144261. c[v >> 2] = (c[v >> 2] | 0) + 16;
  144262. } else wB(E, i);
  144263. RA(i);
  144264. iB(h);
  144265. ea = Y;
  144266. }
  144267. V = 1;
  144268. W = ea;
  144269. }
  144270. W = (X + 1) | 0;
  144271. c[(e + 48) >> 2] = c[g >> 2];
  144272. if (
  144273. V
  144274. ? ((E = c[v >> 2] | 0),
  144275. (c[(e + 16) >> 2] | 0) != (E | 0))
  144276. : 0
  144277. ) {
  144278. G = 0;
  144279. while (1) {
  144280. if ((G | 0) == -1) break;
  144281. H = (G + -1) | 0;
  144282. RA((E + (H << 4)) | 0);
  144283. G = H;
  144284. }
  144285. c[v >> 2] = E + -16;
  144286. }
  144287. ja = W;
  144288. break a;
  144289. }
  144290. } while (0);
  144291. ja = b;
  144292. } else ja = b;
  144293. } while (0);
  144294. l = f;
  144295. return ja | 0;
  144296. }
  144297. function iD(b, d, e) {
  144298. b = b | 0;
  144299. d = d | 0;
  144300. e = e | 0;
  144301. var f = 0,
  144302. g = 0,
  144303. h = 0,
  144304. i = 0,
  144305. j = 0,
  144306. k = 0,
  144307. m = 0,
  144308. n = 0,
  144309. o = 0,
  144310. p = 0,
  144311. q = 0,
  144312. r = 0;
  144313. f = l;
  144314. l = (l + 16) | 0;
  144315. g = f;
  144316. a: do {
  144317. if (
  144318. (
  144319. (
  144320. ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 90 : 0)
  144321. ? ((h = (b + 1) | 0),
  144322. (i = jB(h, d, e) | 0),
  144323. !(((i | 0) == (h | 0)) | ((i | 0) == (d | 0))))
  144324. : 0
  144325. )
  144326. ? (a[i >> 0] | 0) == 69
  144327. : 0
  144328. )
  144329. ? ((h = (i + 1) | 0), (h | 0) != (d | 0))
  144330. : 0
  144331. )
  144332. switch (a[h >> 0] | 0) {
  144333. case 115: {
  144334. j = kD((i + 2) | 0, d) | 0;
  144335. k = c[(e + 4) >> 2] | 0;
  144336. if ((c[e >> 2] | 0) == (k | 0)) {
  144337. m = j;
  144338. break a;
  144339. }
  144340. qB((k + -24) | 0, 20034) | 0;
  144341. m = j;
  144342. break a;
  144343. break;
  144344. }
  144345. case 100: {
  144346. j = (i + 2) | 0;
  144347. if ((j | 0) == (d | 0)) {
  144348. m = b;
  144349. break a;
  144350. }
  144351. i = QB(j, d) | 0;
  144352. if ((i | 0) == (d | 0)) {
  144353. m = b;
  144354. break a;
  144355. }
  144356. if ((a[i >> 0] | 0) != 95) {
  144357. m = b;
  144358. break a;
  144359. }
  144360. j = (i + 1) | 0;
  144361. i = MB(j, d, e) | 0;
  144362. k = (e + 4) | 0;
  144363. if ((i | 0) == (j | 0)) {
  144364. j = c[k >> 2] | 0;
  144365. n = 0;
  144366. while (1) {
  144367. if ((n | 0) == -1) break;
  144368. o = (n + -1) | 0;
  144369. QA((j + ((o * 24) | 0)) | 0);
  144370. n = o;
  144371. }
  144372. c[k >> 2] = j + -24;
  144373. m = b;
  144374. break a;
  144375. }
  144376. n = c[k >> 2] | 0;
  144377. if (
  144378. ((((n - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  144379. 2
  144380. ) {
  144381. m = b;
  144382. break a;
  144383. }
  144384. FB(g, (n + -24) | 0);
  144385. n = c[k >> 2] | 0;
  144386. o = 0;
  144387. while (1) {
  144388. if ((o | 0) == -1) break;
  144389. p = (o + -1) | 0;
  144390. QA((n + ((p * 24) | 0)) | 0);
  144391. o = p;
  144392. }
  144393. c[k >> 2] = n + -24;
  144394. qB((n + -48) | 0, 18747) | 0;
  144395. o = a[(g + 11) >> 0] | 0;
  144396. j = (o << 24) >> 24 < 0;
  144397. TA(
  144398. ((c[k >> 2] | 0) + -24) | 0,
  144399. j ? c[g >> 2] | 0 : g,
  144400. j ? c[(g + 4) >> 2] | 0 : o & 255
  144401. ) | 0;
  144402. iB(g);
  144403. m = i;
  144404. break a;
  144405. break;
  144406. }
  144407. default: {
  144408. o = MB(h, d, e) | 0;
  144409. if ((o | 0) == (h | 0)) {
  144410. j = (e + 4) | 0;
  144411. p = c[j >> 2] | 0;
  144412. q = 0;
  144413. while (1) {
  144414. if ((q | 0) == -1) break;
  144415. r = (q + -1) | 0;
  144416. QA((p + ((r * 24) | 0)) | 0);
  144417. q = r;
  144418. }
  144419. c[j >> 2] = p + -24;
  144420. m = b;
  144421. break a;
  144422. }
  144423. q = kD(o, d) | 0;
  144424. h = (e + 4) | 0;
  144425. i = c[h >> 2] | 0;
  144426. if (
  144427. ((((i - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  144428. 2
  144429. ) {
  144430. m = q;
  144431. break a;
  144432. }
  144433. FB(g, (i + -24) | 0);
  144434. i = c[h >> 2] | 0;
  144435. k = 0;
  144436. while (1) {
  144437. if ((k | 0) == -1) break;
  144438. n = (k + -1) | 0;
  144439. QA((i + ((n * 24) | 0)) | 0);
  144440. k = n;
  144441. }
  144442. c[h >> 2] = i + -24;
  144443. qB((i + -48) | 0, 18747) | 0;
  144444. k = a[(g + 11) >> 0] | 0;
  144445. o = (k << 24) >> 24 < 0;
  144446. TA(
  144447. ((c[h >> 2] | 0) + -24) | 0,
  144448. o ? c[g >> 2] | 0 : g,
  144449. o ? c[(g + 4) >> 2] | 0 : k & 255
  144450. ) | 0;
  144451. iB(g);
  144452. m = q;
  144453. break a;
  144454. }
  144455. }
  144456. else m = b;
  144457. } while (0);
  144458. l = f;
  144459. return m | 0;
  144460. }
  144461. function jD(b, d, e) {
  144462. b = b | 0;
  144463. d = d | 0;
  144464. e = e | 0;
  144465. var f = 0,
  144466. g = 0,
  144467. h = 0,
  144468. i = 0;
  144469. if (((d - b) | 0) > 1) {
  144470. if (
  144471. (a[b >> 0] | 0) == 83 ? (a[(b + 1) >> 0] | 0) == 116 : 0
  144472. ) {
  144473. f = (b + 2) | 0;
  144474. if ((f | 0) == (d | 0)) {
  144475. g = 0;
  144476. h = d;
  144477. } else {
  144478. g = 0;
  144479. h = (a[f >> 0] | 0) == 76 ? (b + 3) | 0 : f;
  144480. }
  144481. } else {
  144482. g = 1;
  144483. h = b;
  144484. }
  144485. f = BC(h, d, e) | 0;
  144486. d = (f | 0) == (h | 0);
  144487. if (!(g | d)) {
  144488. g = c[(e + 4) >> 2] | 0;
  144489. if ((c[e >> 2] | 0) == (g | 0)) i = b;
  144490. else {
  144491. pB((g + -24) | 0, 0, 18969) | 0;
  144492. i = f;
  144493. }
  144494. } else i = d ? b : f;
  144495. } else i = b;
  144496. return i | 0;
  144497. }
  144498. function kD(b, c) {
  144499. b = b | 0;
  144500. c = c | 0;
  144501. var d = 0,
  144502. e = 0,
  144503. f = 0,
  144504. g = 0;
  144505. a: do {
  144506. if ((b | 0) != (c | 0)) {
  144507. d = a[b >> 0] | 0;
  144508. if ((d << 24) >> 24 != 95) {
  144509. if (((((d << 24) >> 24) + -48) | 0) >>> 0 >= 10) {
  144510. e = b;
  144511. break;
  144512. }
  144513. d = b;
  144514. while (1) {
  144515. f = (d + 1) | 0;
  144516. if ((f | 0) == (c | 0)) {
  144517. e = c;
  144518. break a;
  144519. }
  144520. if ((((a[f >> 0] | 0) + -48) | 0) >>> 0 < 10) d = f;
  144521. else {
  144522. e = f;
  144523. break a;
  144524. }
  144525. }
  144526. }
  144527. d = (b + 1) | 0;
  144528. if ((d | 0) != (c | 0)) {
  144529. f = a[d >> 0] | 0;
  144530. if (((((f << 24) >> 24) + -48) | 0) >>> 0 < 10) {
  144531. e = (b + 2) | 0;
  144532. break;
  144533. }
  144534. if ((f << 24) >> 24 == 95) {
  144535. f = (b + 2) | 0;
  144536. while (1) {
  144537. if ((f | 0) == (c | 0)) {
  144538. e = b;
  144539. break a;
  144540. }
  144541. g = a[f >> 0] | 0;
  144542. if (((((g << 24) >> 24) + -48) | 0) >>> 0 >= 10)
  144543. break;
  144544. f = (f + 1) | 0;
  144545. }
  144546. return ((g << 24) >> 24 == 95 ? (f + 1) | 0 : b) | 0;
  144547. } else e = b;
  144548. } else e = b;
  144549. } else e = b;
  144550. } while (0);
  144551. return e | 0;
  144552. }
  144553. function lD(b, d) {
  144554. b = b | 0;
  144555. d = d | 0;
  144556. var e = 0,
  144557. f = 0;
  144558. if ((b | 0) != (d | 0)) {
  144559. e = a[(d + 11) >> 0] | 0;
  144560. f = (e << 24) >> 24 < 0;
  144561. vC(
  144562. b,
  144563. f ? c[d >> 2] | 0 : d,
  144564. f ? c[(d + 4) >> 2] | 0 : e & 255
  144565. );
  144566. }
  144567. return;
  144568. }
  144569. function mD(a) {
  144570. a = a | 0;
  144571. var b = 0;
  144572. c[a >> 2] = 0;
  144573. c[(a + 4) >> 2] = 0;
  144574. c[(a + 8) >> 2] = 0;
  144575. RB(a, 20066, 21);
  144576. b = (a + 12) | 0;
  144577. c[b >> 2] = 0;
  144578. c[(b + 4) >> 2] = 0;
  144579. c[(b + 8) >> 2] = 0;
  144580. a = 0;
  144581. while (1) {
  144582. if ((a | 0) == 3) break;
  144583. c[(b + (a << 2)) >> 2] = 0;
  144584. a = (a + 1) | 0;
  144585. }
  144586. return;
  144587. }
  144588. function nD(a, b) {
  144589. a = a | 0;
  144590. b = b | 0;
  144591. c[a >> 2] = c[b >> 2];
  144592. return;
  144593. }
  144594. function oD(a, b) {
  144595. a = a | 0;
  144596. b = b | 0;
  144597. var d = 0,
  144598. e = 0,
  144599. f = 0,
  144600. g = 0,
  144601. h = 0,
  144602. i = 0,
  144603. j = 0,
  144604. k = 0,
  144605. m = 0;
  144606. d = l;
  144607. l = (l + 32) | 0;
  144608. e = (d + 20) | 0;
  144609. f = d;
  144610. g = (a + 4) | 0;
  144611. h = ((((c[g >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
  144612. i = qD(a) | 0;
  144613. if (i >>> 0 < h >>> 0) Wz(a);
  144614. else {
  144615. j = c[a >> 2] | 0;
  144616. k = ((c[(a + 8) >> 2] | 0) - j) | 0;
  144617. m = k >> 3;
  144618. rD(
  144619. f,
  144620. (k >> 4) >>> 0 < (i >>> 1) >>> 0
  144621. ? m >>> 0 < h >>> 0
  144622. ? h
  144623. : m
  144624. : i,
  144625. ((c[g >> 2] | 0) - j) >> 4,
  144626. (a + 12) | 0
  144627. );
  144628. j = (f + 8) | 0;
  144629. g = c[j >> 2] | 0;
  144630. nD(e, b);
  144631. c[g >> 2] = 0;
  144632. c[(g + 4) >> 2] = 0;
  144633. c[(g + 8) >> 2] = 0;
  144634. c[(g + 12) >> 2] = c[e >> 2];
  144635. c[j >> 2] = g + 16;
  144636. sD(a, f);
  144637. tD(f);
  144638. l = d;
  144639. return;
  144640. }
  144641. }
  144642. function pD(b, c, d) {
  144643. b = b | 0;
  144644. c = c | 0;
  144645. d = d | 0;
  144646. var e = 0,
  144647. f = 0,
  144648. g = 0,
  144649. h = 0;
  144650. a: do {
  144651. if ((b | 0) == (c | 0)) e = b;
  144652. else
  144653. switch (a[b >> 0] | 0) {
  144654. case 88: {
  144655. f = (b + 1) | 0;
  144656. g = SB(f, c, d) | 0;
  144657. if (((g | 0) == (f | 0)) | ((g | 0) == (c | 0))) {
  144658. e = b;
  144659. break a;
  144660. }
  144661. e = (a[g >> 0] | 0) == 69 ? (g + 1) | 0 : b;
  144662. break a;
  144663. break;
  144664. }
  144665. case 74: {
  144666. g = (b + 1) | 0;
  144667. if ((g | 0) == (c | 0)) {
  144668. e = b;
  144669. break a;
  144670. }
  144671. f = g;
  144672. while (1) {
  144673. if ((a[f >> 0] | 0) == 69) break;
  144674. g = pD(f, c, d) | 0;
  144675. if ((g | 0) == (f | 0)) {
  144676. e = b;
  144677. break a;
  144678. } else f = g;
  144679. }
  144680. e = (f + 1) | 0;
  144681. break a;
  144682. break;
  144683. }
  144684. case 76: {
  144685. g = (b + 1) | 0;
  144686. if ((g | 0) != (c | 0) ? (a[g >> 0] | 0) == 90 : 0) {
  144687. g = (b + 2) | 0;
  144688. h = jB(g, c, d) | 0;
  144689. if (((h | 0) == (g | 0)) | ((h | 0) == (c | 0))) {
  144690. e = b;
  144691. break a;
  144692. }
  144693. e = (a[h >> 0] | 0) == 69 ? (h + 1) | 0 : b;
  144694. break a;
  144695. }
  144696. e = WB(b, c, d) | 0;
  144697. break a;
  144698. break;
  144699. }
  144700. default: {
  144701. e = mB(b, c, d) | 0;
  144702. break a;
  144703. }
  144704. }
  144705. } while (0);
  144706. return e | 0;
  144707. }
  144708. function qD(a) {
  144709. a = a | 0;
  144710. return 268435455;
  144711. }
  144712. function rD(a, b, d, e) {
  144713. a = a | 0;
  144714. b = b | 0;
  144715. d = d | 0;
  144716. e = e | 0;
  144717. var f = 0,
  144718. g = 0;
  144719. f = (a + 12) | 0;
  144720. c[f >> 2] = 0;
  144721. c[(a + 16) >> 2] = e;
  144722. if (!b) g = 0;
  144723. else g = uD(e, b) | 0;
  144724. c[a >> 2] = g;
  144725. e = (g + (d << 4)) | 0;
  144726. c[(a + 8) >> 2] = e;
  144727. c[(a + 4) >> 2] = e;
  144728. c[f >> 2] = g + (b << 4);
  144729. return;
  144730. }
  144731. function sD(a, b) {
  144732. a = a | 0;
  144733. b = b | 0;
  144734. var d = 0,
  144735. e = 0,
  144736. f = 0,
  144737. g = 0,
  144738. h = 0,
  144739. i = 0,
  144740. j = 0,
  144741. k = 0,
  144742. l = 0;
  144743. d = c[a >> 2] | 0;
  144744. e = (a + 4) | 0;
  144745. f = (b + 4) | 0;
  144746. g = c[e >> 2] | 0;
  144747. while (1) {
  144748. if ((g | 0) == (d | 0)) break;
  144749. h = c[f >> 2] | 0;
  144750. i = (h + -16) | 0;
  144751. j = (g + -16) | 0;
  144752. c[i >> 2] = 0;
  144753. k = (h + -12) | 0;
  144754. c[k >> 2] = 0;
  144755. l = (h + -8) | 0;
  144756. c[l >> 2] = 0;
  144757. c[(h + -4) >> 2] = c[(g + -4) >> 2];
  144758. c[i >> 2] = c[j >> 2];
  144759. i = (g + -12) | 0;
  144760. c[k >> 2] = c[i >> 2];
  144761. k = (g + -8) | 0;
  144762. c[l >> 2] = c[k >> 2];
  144763. c[k >> 2] = 0;
  144764. c[i >> 2] = 0;
  144765. c[j >> 2] = 0;
  144766. c[f >> 2] = (c[f >> 2] | 0) + -16;
  144767. g = j;
  144768. }
  144769. g = c[a >> 2] | 0;
  144770. c[a >> 2] = c[f >> 2];
  144771. c[f >> 2] = g;
  144772. g = (b + 8) | 0;
  144773. d = c[e >> 2] | 0;
  144774. c[e >> 2] = c[g >> 2];
  144775. c[g >> 2] = d;
  144776. d = (a + 8) | 0;
  144777. a = (b + 12) | 0;
  144778. g = c[d >> 2] | 0;
  144779. c[d >> 2] = c[a >> 2];
  144780. c[a >> 2] = g;
  144781. c[b >> 2] = c[f >> 2];
  144782. return;
  144783. }
  144784. function tD(a) {
  144785. a = a | 0;
  144786. var b = 0,
  144787. d = 0,
  144788. e = 0,
  144789. f = 0;
  144790. b = c[(a + 4) >> 2] | 0;
  144791. d = (a + 8) | 0;
  144792. while (1) {
  144793. e = c[d >> 2] | 0;
  144794. if ((e | 0) == (b | 0)) break;
  144795. f = (e + -16) | 0;
  144796. c[d >> 2] = f;
  144797. XA(f);
  144798. }
  144799. d = c[a >> 2] | 0;
  144800. if (d | 0)
  144801. aB(
  144802. c[(a + 16) >> 2] | 0,
  144803. d,
  144804. ((c[(a + 12) >> 2] | 0) - d) >> 4
  144805. );
  144806. return;
  144807. }
  144808. function uD(a, b) {
  144809. a = a | 0;
  144810. b = b | 0;
  144811. return aD(c[a >> 2] | 0, b << 4) | 0;
  144812. }
  144813. function vD(a) {
  144814. a = a | 0;
  144815. var b = 0;
  144816. c[a >> 2] = 0;
  144817. c[(a + 4) >> 2] = 0;
  144818. c[(a + 8) >> 2] = 0;
  144819. RB(a, 20091, 2);
  144820. b = (a + 12) | 0;
  144821. c[b >> 2] = 0;
  144822. c[(b + 4) >> 2] = 0;
  144823. c[(b + 8) >> 2] = 0;
  144824. a = 0;
  144825. while (1) {
  144826. if ((a | 0) == 3) break;
  144827. c[(b + (a << 2)) >> 2] = 0;
  144828. a = (a + 1) | 0;
  144829. }
  144830. return;
  144831. }
  144832. function wD(b, d) {
  144833. b = b | 0;
  144834. d = d | 0;
  144835. var e = 0,
  144836. f = 0,
  144837. g = 0,
  144838. h = 0,
  144839. i = 0,
  144840. j = 0,
  144841. k = 0,
  144842. m = 0,
  144843. n = 0,
  144844. o = 0,
  144845. p = 0,
  144846. q = 0,
  144847. r = 0,
  144848. s = 0,
  144849. t = 0,
  144850. u = 0,
  144851. v = 0,
  144852. w = 0,
  144853. x = 0,
  144854. y = 0,
  144855. z = 0;
  144856. e = l;
  144857. l = (l + 16) | 0;
  144858. f = e;
  144859. g = (b + 11) | 0;
  144860. h = a[g >> 0] | 0;
  144861. i = (h << 24) >> 24 < 0;
  144862. if (i) {
  144863. j = c[(b + 4) >> 2] | 0;
  144864. k = j >>> 0 < 11 ? j : 11;
  144865. m = j;
  144866. n = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  144867. } else {
  144868. j = h & 255;
  144869. k = j >>> 0 < 11 ? j : 11;
  144870. m = j;
  144871. n = 10;
  144872. }
  144873. if (((k - m + n) | 0) >>> 0 < d >>> 0)
  144874. dB(b, n, (d - k + m - n) | 0, m, 0, k, d, 20094);
  144875. else {
  144876. if (i) o = c[b >> 2] | 0;
  144877. else o = b;
  144878. do {
  144879. if ((k | 0) != (d | 0)) {
  144880. i = (m - k) | 0;
  144881. if (!i) {
  144882. p = k;
  144883. q = 0;
  144884. r = 20094;
  144885. s = d;
  144886. t = 17;
  144887. } else {
  144888. if (k >>> 0 > d >>> 0) {
  144889. wC(o, 20094, d) | 0;
  144890. wC((o + d) | 0, (o + k) | 0, i) | 0;
  144891. u = k;
  144892. v = d;
  144893. break;
  144894. }
  144895. do {
  144896. if (
  144897. (o >>> 0 < 20094 >>> 0) &
  144898. (((o + m) | 0) >>> 0 > 20094 >>> 0)
  144899. ) {
  144900. if (((o + k) | 0) >>> 0 > 20094 >>> 0) {
  144901. wC(o, 20094, k) | 0;
  144902. w = 0;
  144903. x = k;
  144904. y = (20094 + d) | 0;
  144905. z = (d - k) | 0;
  144906. break;
  144907. } else {
  144908. w = k;
  144909. x = 0;
  144910. y = (20094 + (d - k)) | 0;
  144911. z = d;
  144912. break;
  144913. }
  144914. } else {
  144915. w = k;
  144916. x = 0;
  144917. y = 20094;
  144918. z = d;
  144919. }
  144920. } while (0);
  144921. n = (o + x) | 0;
  144922. wC((n + z) | 0, (n + w) | 0, i) | 0;
  144923. p = w;
  144924. q = x;
  144925. r = y;
  144926. s = z;
  144927. t = 17;
  144928. }
  144929. } else {
  144930. p = d;
  144931. q = 0;
  144932. r = 20094;
  144933. s = d;
  144934. t = 17;
  144935. }
  144936. } while (0);
  144937. if ((t | 0) == 17) {
  144938. wC((o + q) | 0, r, s) | 0;
  144939. u = p;
  144940. v = s;
  144941. }
  144942. s = (v - u + m) | 0;
  144943. if ((a[g >> 0] | 0) < 0) c[(b + 4) >> 2] = s;
  144944. else a[g >> 0] = s;
  144945. a[f >> 0] = 0;
  144946. cB((o + s) | 0, f);
  144947. }
  144948. l = e;
  144949. return;
  144950. }
  144951. function xD(a) {
  144952. a = a | 0;
  144953. lb();
  144954. }
  144955. function yD(a, b, c) {
  144956. a = a | 0;
  144957. b = b | 0;
  144958. c = c | 0;
  144959. var d = 0;
  144960. if (!c) d = 0;
  144961. else d = Qy(a, b, c) | 0;
  144962. return d | 0;
  144963. }
  144964. function zD(b, d, e, f) {
  144965. b = b | 0;
  144966. d = d | 0;
  144967. e = e | 0;
  144968. f = f | 0;
  144969. var g = 0,
  144970. h = 0,
  144971. i = 0,
  144972. j = 0,
  144973. k = 0,
  144974. m = 0,
  144975. n = 0,
  144976. o = 0,
  144977. p = 0;
  144978. g = l;
  144979. l = (l + 16) | 0;
  144980. h = g;
  144981. i = (b + 11) | 0;
  144982. j = a[i >> 0] | 0;
  144983. k = (j << 24) >> 24 < 0;
  144984. if (k) m = c[(b + 4) >> 2] | 0;
  144985. else m = j & 255;
  144986. if (m >>> 0 < d >>> 0) xD(b);
  144987. if (k) n = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
  144988. else n = 10;
  144989. if (((n - m) | 0) >>> 0 >= f >>> 0) {
  144990. if (f | 0) {
  144991. if (k) o = c[b >> 2] | 0;
  144992. else o = b;
  144993. k = (m - d) | 0;
  144994. j = (o + d) | 0;
  144995. if (!k) p = e;
  144996. else {
  144997. wC((j + f) | 0, j, k) | 0;
  144998. p =
  144999. (j >>> 0 <= e >>> 0) & (((o + m) | 0) >>> 0 > e >>> 0)
  145000. ? (e + f) | 0
  145001. : e;
  145002. }
  145003. wC(j, p, f) | 0;
  145004. p = (m + f) | 0;
  145005. if ((a[i >> 0] | 0) < 0) c[(b + 4) >> 2] = p;
  145006. else a[i >> 0] = p;
  145007. a[h >> 0] = 0;
  145008. cB((o + p) | 0, h);
  145009. }
  145010. } else dB(b, n, (m + f - n) | 0, m, d, 0, f, e);
  145011. l = g;
  145012. return b | 0;
  145013. }
  145014. function AD(a) {
  145015. a = a | 0;
  145016. return 268435455;
  145017. }
  145018. function BD(a, b, d, e) {
  145019. a = a | 0;
  145020. b = b | 0;
  145021. d = d | 0;
  145022. e = e | 0;
  145023. var f = 0,
  145024. g = 0;
  145025. f = (a + 12) | 0;
  145026. c[f >> 2] = 0;
  145027. c[(a + 16) >> 2] = e;
  145028. if (!b) g = 0;
  145029. else g = ED(e, b) | 0;
  145030. c[a >> 2] = g;
  145031. e = (g + (d << 4)) | 0;
  145032. c[(a + 8) >> 2] = e;
  145033. c[(a + 4) >> 2] = e;
  145034. c[f >> 2] = g + (b << 4);
  145035. return;
  145036. }
  145037. function CD(a, b) {
  145038. a = a | 0;
  145039. b = b | 0;
  145040. var d = 0,
  145041. e = 0,
  145042. f = 0,
  145043. g = 0,
  145044. h = 0,
  145045. i = 0,
  145046. j = 0,
  145047. k = 0,
  145048. l = 0;
  145049. d = c[a >> 2] | 0;
  145050. e = (a + 4) | 0;
  145051. f = (b + 4) | 0;
  145052. g = c[e >> 2] | 0;
  145053. while (1) {
  145054. if ((g | 0) == (d | 0)) break;
  145055. h = c[f >> 2] | 0;
  145056. i = (h + -16) | 0;
  145057. j = (g + -16) | 0;
  145058. c[i >> 2] = 0;
  145059. k = (h + -12) | 0;
  145060. c[k >> 2] = 0;
  145061. l = (h + -8) | 0;
  145062. c[l >> 2] = 0;
  145063. c[(h + -4) >> 2] = c[(g + -4) >> 2];
  145064. c[i >> 2] = c[j >> 2];
  145065. i = (g + -12) | 0;
  145066. c[k >> 2] = c[i >> 2];
  145067. k = (g + -8) | 0;
  145068. c[l >> 2] = c[k >> 2];
  145069. c[k >> 2] = 0;
  145070. c[i >> 2] = 0;
  145071. c[j >> 2] = 0;
  145072. c[f >> 2] = (c[f >> 2] | 0) + -16;
  145073. g = j;
  145074. }
  145075. g = c[a >> 2] | 0;
  145076. c[a >> 2] = c[f >> 2];
  145077. c[f >> 2] = g;
  145078. g = (b + 8) | 0;
  145079. d = c[e >> 2] | 0;
  145080. c[e >> 2] = c[g >> 2];
  145081. c[g >> 2] = d;
  145082. d = (a + 8) | 0;
  145083. a = (b + 12) | 0;
  145084. g = c[d >> 2] | 0;
  145085. c[d >> 2] = c[a >> 2];
  145086. c[a >> 2] = g;
  145087. c[b >> 2] = c[f >> 2];
  145088. return;
  145089. }
  145090. function DD(a) {
  145091. a = a | 0;
  145092. var b = 0,
  145093. d = 0,
  145094. e = 0,
  145095. f = 0;
  145096. b = c[(a + 4) >> 2] | 0;
  145097. d = (a + 8) | 0;
  145098. while (1) {
  145099. e = c[d >> 2] | 0;
  145100. if ((e | 0) == (b | 0)) break;
  145101. f = (e + -16) | 0;
  145102. c[d >> 2] = f;
  145103. RA(f);
  145104. }
  145105. d = c[a >> 2] | 0;
  145106. if (d | 0)
  145107. YA(
  145108. c[(a + 16) >> 2] | 0,
  145109. d,
  145110. ((c[(a + 12) >> 2] | 0) - d) >> 4
  145111. );
  145112. return;
  145113. }
  145114. function ED(a, b) {
  145115. a = a | 0;
  145116. b = b | 0;
  145117. return aD(c[a >> 2] | 0, b << 4) | 0;
  145118. }
  145119. function FD(a) {
  145120. a = a | 0;
  145121. var b = 0;
  145122. if (!(XC(a) | 0)) Wz(a);
  145123. else {
  145124. b = $C((a + 12) | 0, 1) | 0;
  145125. c[(a + 4) >> 2] = b;
  145126. c[a >> 2] = b;
  145127. c[(a + 8) >> 2] = b + 24;
  145128. return;
  145129. }
  145130. }
  145131. function GD(b) {
  145132. b = b | 0;
  145133. var d = 0,
  145134. e = 0,
  145135. f = 0,
  145136. g = 0,
  145137. h = 0,
  145138. i = 0,
  145139. j = 0,
  145140. k = 0,
  145141. m = 0;
  145142. d = l;
  145143. l = (l + 16) | 0;
  145144. e = d;
  145145. f = (b + 11) | 0;
  145146. g = a[f >> 0] | 0;
  145147. if ((g << 24) >> 24 < 0) {
  145148. h = c[b >> 2] | 0;
  145149. i = c[(b + 4) >> 2] | 0;
  145150. } else {
  145151. h = b;
  145152. i = g & 255;
  145153. }
  145154. j = ((i | 0) != 0) & 1;
  145155. k = (i - j) | 0;
  145156. if (!k) m = g;
  145157. else {
  145158. wC(h, (h + j) | 0, k) | 0;
  145159. m = a[f >> 0] | 0;
  145160. }
  145161. if ((m << 24) >> 24 < 0) c[(b + 4) >> 2] = k;
  145162. else a[f >> 0] = k;
  145163. a[e >> 0] = 0;
  145164. cB((h + k) | 0, e);
  145165. l = d;
  145166. return;
  145167. }
  145168. function HD(a) {
  145169. a = a | 0;
  145170. var b = 0;
  145171. c[a >> 2] = 0;
  145172. c[(a + 4) >> 2] = 0;
  145173. c[(a + 8) >> 2] = 0;
  145174. RB(a, 19867, 7);
  145175. b = (a + 12) | 0;
  145176. c[b >> 2] = 0;
  145177. c[(b + 4) >> 2] = 0;
  145178. c[(b + 8) >> 2] = 0;
  145179. a = 0;
  145180. while (1) {
  145181. if ((a | 0) == 3) break;
  145182. c[(b + (a << 2)) >> 2] = 0;
  145183. a = (a + 1) | 0;
  145184. }
  145185. return;
  145186. }
  145187. function ID(a, b) {
  145188. a = a | 0;
  145189. b = b | 0;
  145190. c[a >> 2] = 0;
  145191. c[(a + 4) >> 2] = 0;
  145192. c[(a + 8) >> 2] = 0;
  145193. RB(a, b, 3);
  145194. b = (a + 12) | 0;
  145195. c[b >> 2] = 0;
  145196. c[(b + 4) >> 2] = 0;
  145197. c[(b + 8) >> 2] = 0;
  145198. a = 0;
  145199. while (1) {
  145200. if ((a | 0) == 3) break;
  145201. c[(b + (a << 2)) >> 2] = 0;
  145202. a = (a + 1) | 0;
  145203. }
  145204. return;
  145205. }
  145206. function JD(a) {
  145207. a = a | 0;
  145208. var b = 0;
  145209. c[a >> 2] = 0;
  145210. c[(a + 4) >> 2] = 0;
  145211. c[(a + 8) >> 2] = 0;
  145212. RB(a, 20287, 18);
  145213. b = (a + 12) | 0;
  145214. c[b >> 2] = 0;
  145215. c[(b + 4) >> 2] = 0;
  145216. c[(b + 8) >> 2] = 0;
  145217. a = 0;
  145218. while (1) {
  145219. if ((a | 0) == 3) break;
  145220. c[(b + (a << 2)) >> 2] = 0;
  145221. a = (a + 1) | 0;
  145222. }
  145223. return;
  145224. }
  145225. function KD(a, b) {
  145226. a = a | 0;
  145227. b = b | 0;
  145228. c[a >> 2] = 0;
  145229. c[(a + 4) >> 2] = 0;
  145230. c[(a + 8) >> 2] = 0;
  145231. RB(a, b, 8);
  145232. b = (a + 12) | 0;
  145233. c[b >> 2] = 0;
  145234. c[(b + 4) >> 2] = 0;
  145235. c[(b + 8) >> 2] = 0;
  145236. a = 0;
  145237. while (1) {
  145238. if ((a | 0) == 3) break;
  145239. c[(b + (a << 2)) >> 2] = 0;
  145240. a = (a + 1) | 0;
  145241. }
  145242. return;
  145243. }
  145244. function LD(a) {
  145245. a = a | 0;
  145246. var b = 0;
  145247. c[a >> 2] = 0;
  145248. c[(a + 4) >> 2] = 0;
  145249. c[(a + 8) >> 2] = 0;
  145250. RB(a, 20280, 6);
  145251. b = (a + 12) | 0;
  145252. c[b >> 2] = 0;
  145253. c[(b + 4) >> 2] = 0;
  145254. c[(b + 8) >> 2] = 0;
  145255. a = 0;
  145256. while (1) {
  145257. if ((a | 0) == 3) break;
  145258. c[(b + (a << 2)) >> 2] = 0;
  145259. a = (a + 1) | 0;
  145260. }
  145261. return;
  145262. }
  145263. function MD(a, b) {
  145264. a = a | 0;
  145265. b = b | 0;
  145266. c[a >> 2] = b;
  145267. c[(a + 4) >> 2] = c[b >> 2];
  145268. return;
  145269. }
  145270. function ND(b, d) {
  145271. b = b | 0;
  145272. d = d | 0;
  145273. c[b >> 2] = d;
  145274. a[(b + 4) >> 0] = a[d >> 0] | 0;
  145275. return;
  145276. }
  145277. function OD(b, d, e) {
  145278. b = b | 0;
  145279. d = d | 0;
  145280. e = e | 0;
  145281. var f = 0,
  145282. g = 0,
  145283. h = 0,
  145284. i = 0,
  145285. j = 0,
  145286. k = 0,
  145287. m = 0,
  145288. n = 0,
  145289. o = 0,
  145290. p = 0,
  145291. q = 0,
  145292. r = 0,
  145293. s = 0,
  145294. t = 0,
  145295. u = 0,
  145296. v = 0,
  145297. w = 0,
  145298. x = 0,
  145299. y = 0;
  145300. f = l;
  145301. l = (l + 64) | 0;
  145302. g = (f + 60) | 0;
  145303. h = (f + 48) | 0;
  145304. i = (f + 36) | 0;
  145305. j = (f + 24) | 0;
  145306. k = (f + 12) | 0;
  145307. m = f;
  145308. a: do {
  145309. if (((d - b) | 0) > 2) {
  145310. switch (a[b >> 0] | 0) {
  145311. case 84:
  145312. break;
  145313. case 71: {
  145314. switch (a[(b + 1) >> 0] | 0) {
  145315. case 86: {
  145316. n = (b + 2) | 0;
  145317. o = MB(n, d, e) | 0;
  145318. if ((o | 0) == (n | 0)) {
  145319. p = b;
  145320. q = 60;
  145321. break a;
  145322. }
  145323. n = c[(e + 4) >> 2] | 0;
  145324. if ((c[e >> 2] | 0) == (n | 0)) {
  145325. r = b;
  145326. break a;
  145327. }
  145328. pB((n + -24) | 0, 0, 20505) | 0;
  145329. p = o;
  145330. q = 60;
  145331. break a;
  145332. break;
  145333. }
  145334. case 82: {
  145335. o = (b + 2) | 0;
  145336. n = MB(o, d, e) | 0;
  145337. if ((n | 0) == (o | 0)) {
  145338. p = b;
  145339. q = 60;
  145340. break a;
  145341. }
  145342. o = c[(e + 4) >> 2] | 0;
  145343. if ((c[e >> 2] | 0) == (o | 0)) {
  145344. r = b;
  145345. break a;
  145346. }
  145347. pB((o + -24) | 0, 0, 20525) | 0;
  145348. p = n;
  145349. q = 60;
  145350. break a;
  145351. break;
  145352. }
  145353. default: {
  145354. p = b;
  145355. q = 60;
  145356. break a;
  145357. }
  145358. }
  145359. break;
  145360. }
  145361. default: {
  145362. p = b;
  145363. q = 60;
  145364. break a;
  145365. }
  145366. }
  145367. n = (b + 1) | 0;
  145368. switch (a[n >> 0] | 0) {
  145369. case 86: {
  145370. o = (b + 2) | 0;
  145371. s = mB(o, d, e) | 0;
  145372. if ((s | 0) == (o | 0)) {
  145373. p = b;
  145374. q = 60;
  145375. break a;
  145376. }
  145377. o = c[(e + 4) >> 2] | 0;
  145378. if ((c[e >> 2] | 0) == (o | 0)) {
  145379. r = b;
  145380. break a;
  145381. }
  145382. pB((o + -24) | 0, 0, 20354) | 0;
  145383. p = s;
  145384. q = 60;
  145385. break a;
  145386. break;
  145387. }
  145388. case 84: {
  145389. s = (b + 2) | 0;
  145390. o = mB(s, d, e) | 0;
  145391. if ((o | 0) == (s | 0)) {
  145392. p = b;
  145393. q = 60;
  145394. break a;
  145395. }
  145396. s = c[(e + 4) >> 2] | 0;
  145397. if ((c[e >> 2] | 0) == (s | 0)) {
  145398. r = b;
  145399. break a;
  145400. }
  145401. pB((s + -24) | 0, 0, 20366) | 0;
  145402. p = o;
  145403. q = 60;
  145404. break a;
  145405. break;
  145406. }
  145407. case 73: {
  145408. o = (b + 2) | 0;
  145409. s = mB(o, d, e) | 0;
  145410. if ((s | 0) == (o | 0)) {
  145411. p = b;
  145412. q = 60;
  145413. break a;
  145414. }
  145415. o = c[(e + 4) >> 2] | 0;
  145416. if ((c[e >> 2] | 0) == (o | 0)) {
  145417. r = b;
  145418. break a;
  145419. }
  145420. pB((o + -24) | 0, 0, 20375) | 0;
  145421. p = s;
  145422. q = 60;
  145423. break a;
  145424. break;
  145425. }
  145426. case 83: {
  145427. s = (b + 2) | 0;
  145428. o = mB(s, d, e) | 0;
  145429. if ((o | 0) == (s | 0)) {
  145430. p = b;
  145431. q = 60;
  145432. break a;
  145433. }
  145434. s = c[(e + 4) >> 2] | 0;
  145435. if ((c[e >> 2] | 0) == (s | 0)) {
  145436. r = b;
  145437. break a;
  145438. }
  145439. pB((s + -24) | 0, 0, 20389) | 0;
  145440. p = o;
  145441. q = 60;
  145442. break a;
  145443. break;
  145444. }
  145445. case 99: {
  145446. o = (b + 2) | 0;
  145447. s = RD(o, d) | 0;
  145448. if ((s | 0) == (o | 0)) {
  145449. p = b;
  145450. q = 60;
  145451. break a;
  145452. }
  145453. o = RD(s, d) | 0;
  145454. if ((o | 0) == (s | 0)) {
  145455. p = b;
  145456. q = 60;
  145457. break a;
  145458. }
  145459. s = jB(o, d, e) | 0;
  145460. if ((s | 0) == (o | 0)) {
  145461. p = b;
  145462. q = 60;
  145463. break a;
  145464. }
  145465. o = c[(e + 4) >> 2] | 0;
  145466. if ((c[e >> 2] | 0) == (o | 0)) {
  145467. r = b;
  145468. break a;
  145469. }
  145470. pB((o + -24) | 0, 0, 20408) | 0;
  145471. p = s;
  145472. q = 60;
  145473. break a;
  145474. break;
  145475. }
  145476. case 67: {
  145477. s = (b + 2) | 0;
  145478. o = mB(s, d, e) | 0;
  145479. if ((o | 0) == (s | 0)) {
  145480. p = b;
  145481. q = 60;
  145482. break a;
  145483. }
  145484. s = QB(o, d) | 0;
  145485. if (((s | 0) == (o | 0)) | ((s | 0) == (d | 0))) {
  145486. p = b;
  145487. q = 60;
  145488. break a;
  145489. }
  145490. if ((a[s >> 0] | 0) != 95) {
  145491. p = b;
  145492. q = 60;
  145493. break a;
  145494. }
  145495. o = (s + 1) | 0;
  145496. s = mB(o, d, e) | 0;
  145497. if ((s | 0) == (o | 0)) {
  145498. p = b;
  145499. q = 60;
  145500. break a;
  145501. }
  145502. o = (e + 4) | 0;
  145503. t = c[o >> 2] | 0;
  145504. if (
  145505. ((((t - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
  145506. 2
  145507. ) {
  145508. r = b;
  145509. break a;
  145510. }
  145511. FB(h, (t + -24) | 0);
  145512. t = c[o >> 2] | 0;
  145513. u = 0;
  145514. while (1) {
  145515. if ((u | 0) == -1) break;
  145516. v = (u + -1) | 0;
  145517. QA((t + ((v * 24) | 0)) | 0);
  145518. u = v;
  145519. }
  145520. c[o >> 2] = t + -24;
  145521. pB(h, 0, 20435) | 0;
  145522. c[k >> 2] = c[h >> 2];
  145523. c[(k + 4) >> 2] = c[(h + 4) >> 2];
  145524. c[(k + 8) >> 2] = c[(h + 8) >> 2];
  145525. u = 0;
  145526. while (1) {
  145527. if ((u | 0) == 3) break;
  145528. c[(h + (u << 2)) >> 2] = 0;
  145529. u = (u + 1) | 0;
  145530. }
  145531. qB(k, 20460) | 0;
  145532. c[j >> 2] = c[k >> 2];
  145533. c[(j + 4) >> 2] = c[(k + 4) >> 2];
  145534. c[(j + 8) >> 2] = c[(k + 8) >> 2];
  145535. u = 0;
  145536. while (1) {
  145537. if ((u | 0) == 3) break;
  145538. c[(k + (u << 2)) >> 2] = 0;
  145539. u = (u + 1) | 0;
  145540. }
  145541. FB(m, ((c[o >> 2] | 0) + -24) | 0);
  145542. u = a[(m + 11) >> 0] | 0;
  145543. t = (u << 24) >> 24 < 0;
  145544. TA(
  145545. j,
  145546. t ? c[m >> 2] | 0 : m,
  145547. t ? c[(m + 4) >> 2] | 0 : u & 255
  145548. ) | 0;
  145549. c[i >> 2] = c[j >> 2];
  145550. c[(i + 4) >> 2] = c[(j + 4) >> 2];
  145551. c[(i + 8) >> 2] = c[(j + 8) >> 2];
  145552. u = 0;
  145553. while (1) {
  145554. if ((u | 0) == 3) break;
  145555. c[(j + (u << 2)) >> 2] = 0;
  145556. u = (u + 1) | 0;
  145557. }
  145558. u = c[o >> 2] | 0;
  145559. t = (u + -24) | 0;
  145560. v = (t + 11) | 0;
  145561. if ((a[v >> 0] | 0) < 0) {
  145562. w = c[t >> 2] | 0;
  145563. a[g >> 0] = 0;
  145564. cB(w, g);
  145565. c[(u + -20) >> 2] = 0;
  145566. } else {
  145567. a[g >> 0] = 0;
  145568. cB(t, g);
  145569. a[v >> 0] = 0;
  145570. }
  145571. TB(t);
  145572. c[t >> 2] = c[i >> 2];
  145573. c[(t + 4) >> 2] = c[(i + 4) >> 2];
  145574. c[(t + 8) >> 2] = c[(i + 8) >> 2];
  145575. t = 0;
  145576. while (1) {
  145577. if ((t | 0) == 3) break;
  145578. c[(i + (t << 2)) >> 2] = 0;
  145579. t = (t + 1) | 0;
  145580. }
  145581. iB(i);
  145582. iB(m);
  145583. iB(j);
  145584. iB(k);
  145585. iB(h);
  145586. p = s;
  145587. q = 60;
  145588. break a;
  145589. break;
  145590. }
  145591. default: {
  145592. t = RD(n, d) | 0;
  145593. do {
  145594. if ((t | 0) != (n | 0)) {
  145595. o = jB(t, d, e) | 0;
  145596. if ((o | 0) != (t | 0)) {
  145597. v = c[(e + 4) >> 2] | 0;
  145598. if ((c[e >> 2] | 0) != (v | 0)) {
  145599. u = (v + -24) | 0;
  145600. if ((a[(b + 2) >> 0] | 0) == 118) {
  145601. pB(u, 0, 20465) | 0;
  145602. x = 0;
  145603. y = o;
  145604. break;
  145605. } else {
  145606. pB(u, 0, 20483) | 0;
  145607. x = 0;
  145608. y = o;
  145609. break;
  145610. }
  145611. } else {
  145612. x = 1;
  145613. y = b;
  145614. }
  145615. } else {
  145616. x = 0;
  145617. y = b;
  145618. }
  145619. } else {
  145620. x = 3;
  145621. y = b;
  145622. }
  145623. } while (0);
  145624. switch (x & 3) {
  145625. case 3:
  145626. case 0: {
  145627. p = y;
  145628. q = 60;
  145629. break a;
  145630. break;
  145631. }
  145632. default: {
  145633. }
  145634. }
  145635. if (!x) {
  145636. p = y;
  145637. q = 60;
  145638. break a;
  145639. } else {
  145640. r = b;
  145641. break a;
  145642. }
  145643. }
  145644. }
  145645. } else {
  145646. p = b;
  145647. q = 60;
  145648. }
  145649. } while (0);
  145650. if ((q | 0) == 60) r = p;
  145651. l = f;
  145652. return r | 0;
  145653. }
  145654. function PD(b) {
  145655. b = b | 0;
  145656. a[c[b >> 2] >> 0] = a[(b + 4) >> 0] | 0;
  145657. return;
  145658. }
  145659. function QD(a) {
  145660. a = a | 0;
  145661. c[c[a >> 2] >> 2] = c[(a + 4) >> 2];
  145662. return;
  145663. }
  145664. function RD(b, c) {
  145665. b = b | 0;
  145666. c = c | 0;
  145667. var d = 0,
  145668. e = 0,
  145669. f = 0;
  145670. a: do {
  145671. if ((b | 0) != (c | 0)) {
  145672. switch (a[b >> 0] | 0) {
  145673. case 104: {
  145674. d = (b + 1) | 0;
  145675. e = QB(d, c) | 0;
  145676. if (((e | 0) == (d | 0)) | ((e | 0) == (c | 0))) {
  145677. f = b;
  145678. break a;
  145679. }
  145680. return ((a[e >> 0] | 0) == 95 ? (e + 1) | 0 : b) | 0;
  145681. }
  145682. case 118:
  145683. break;
  145684. default: {
  145685. f = b;
  145686. break a;
  145687. }
  145688. }
  145689. e = (b + 1) | 0;
  145690. d = QB(e, c) | 0;
  145691. if (
  145692. (
  145693. !(((d | 0) == (e | 0)) | ((d | 0) == (c | 0)))
  145694. ? (a[d >> 0] | 0) == 95
  145695. : 0
  145696. )
  145697. ? ((e = (d + 1) | 0),
  145698. (d = QB(e, c) | 0),
  145699. !(((d | 0) == (e | 0)) | ((d | 0) == (c | 0))))
  145700. : 0
  145701. )
  145702. f = (a[d >> 0] | 0) == 95 ? (d + 1) | 0 : b;
  145703. else f = b;
  145704. } else f = b;
  145705. } while (0);
  145706. return f | 0;
  145707. }
  145708. function SD(a, b) {
  145709. a = a | 0;
  145710. b = b | 0;
  145711. c[a >> 2] = b;
  145712. return;
  145713. }
  145714. function TD(a, b) {
  145715. a = a | 0;
  145716. b = b | 0;
  145717. c[a >> 2] = 0;
  145718. c[(a + 4) >> 2] = 0;
  145719. c[(a + 8) >> 2] = 0;
  145720. c[(a + 12) >> 2] = c[b >> 2];
  145721. return;
  145722. }
  145723. function UD(a, b) {
  145724. a = a | 0;
  145725. b = b | 0;
  145726. c[a >> 2] = b;
  145727. return;
  145728. }
  145729. function VD(a, b) {
  145730. a = a | 0;
  145731. b = b | 0;
  145732. c[a >> 2] = 0;
  145733. c[(a + 4) >> 2] = 0;
  145734. c[(a + 8) >> 2] = 0;
  145735. c[(a + 12) >> 2] = c[b >> 2];
  145736. return;
  145737. }
  145738. function WD(b) {
  145739. b = b | 0;
  145740. var c = 0;
  145741. if ((a[b >> 0] | 0) == 1) c = 0;
  145742. else {
  145743. a[b >> 0] = 1;
  145744. c = 1;
  145745. }
  145746. return c | 0;
  145747. }
  145748. function XD(a) {
  145749. a = a | 0;
  145750. return;
  145751. }
  145752. function YD(a) {
  145753. a = a | 0;
  145754. return;
  145755. }
  145756. function ZD() {
  145757. var a = 0;
  145758. a = c[5564] | 0;
  145759. c[5564] = a + 0;
  145760. return a | 0;
  145761. }
  145762. function _D(a, b, d) {
  145763. a = a | 0;
  145764. b = b | 0;
  145765. d = d | 0;
  145766. var e = 0,
  145767. f = 0,
  145768. g = 0;
  145769. e = l;
  145770. l = (l + 16) | 0;
  145771. f = e;
  145772. c[f >> 2] = c[d >> 2];
  145773. g = rc[c[((c[a >> 2] | 0) + 16) >> 2] & 31](a, b, f) | 0;
  145774. if (g) c[d >> 2] = c[f >> 2];
  145775. l = e;
  145776. return (g & 1) | 0;
  145777. }
  145778. function $D(a) {
  145779. a = a | 0;
  145780. var b = 0;
  145781. if (!a) b = 0;
  145782. else b = ((kA(a, 10840, 10896, 0) | 0) != 0) & 1;
  145783. return b | 0;
  145784. }
  145785. function aE() {}
  145786. function bE(a, b) {
  145787. a = a | 0;
  145788. b = b | 0;
  145789. var c = 0,
  145790. d = 0,
  145791. e = 0,
  145792. f = 0;
  145793. c = a & 65535;
  145794. d = b & 65535;
  145795. e = N(d, c) | 0;
  145796. f = a >>> 16;
  145797. a = ((e >>> 16) + (N(d, f) | 0)) | 0;
  145798. d = b >>> 16;
  145799. b = N(d, c) | 0;
  145800. return (
  145801. ((y =
  145802. ((a >>> 16) +
  145803. (N(d, f) | 0) +
  145804. ((((a & 65535) + b) | 0) >>> 16)) |
  145805. 0),
  145806. ((a + b) << 16) | (e & 65535) | 0) | 0
  145807. );
  145808. }
  145809. function cE(a, b, c, d) {
  145810. a = a | 0;
  145811. b = b | 0;
  145812. c = c | 0;
  145813. d = d | 0;
  145814. var e = 0,
  145815. f = 0;
  145816. e = a;
  145817. a = c;
  145818. c = bE(e, a) | 0;
  145819. f = y;
  145820. return (
  145821. ((y = ((N(b, a) | 0) + (N(d, e) | 0) + f) | (f & 0)),
  145822. c | 0 | 0) | 0
  145823. );
  145824. }
  145825. function dE(a, b, c, d) {
  145826. a = a | 0;
  145827. b = b | 0;
  145828. c = c | 0;
  145829. d = d | 0;
  145830. var e = 0;
  145831. e = (a + c) >>> 0;
  145832. return (
  145833. ((y = (b + d + ((e >>> 0 < a >>> 0) | 0)) >>> 0), e | 0) | 0
  145834. );
  145835. }
  145836. function eE(a, b, c, d) {
  145837. a = a | 0;
  145838. b = b | 0;
  145839. c = c | 0;
  145840. d = d | 0;
  145841. var e = 0;
  145842. e = (b - d) >>> 0;
  145843. e = (b - d - ((c >>> 0 > a >>> 0) | 0)) >>> 0;
  145844. return ((y = e), ((a - c) >>> 0) | 0) | 0;
  145845. }
  145846. function fE(a) {
  145847. a = a | 0;
  145848. return (a ? (31 - (Q(a ^ (a - 1)) | 0)) | 0 : 32) | 0;
  145849. }
  145850. function gE(a, b, d, e, f) {
  145851. a = a | 0;
  145852. b = b | 0;
  145853. d = d | 0;
  145854. e = e | 0;
  145855. f = f | 0;
  145856. var g = 0,
  145857. h = 0,
  145858. i = 0,
  145859. j = 0,
  145860. k = 0,
  145861. l = 0,
  145862. m = 0,
  145863. n = 0,
  145864. o = 0,
  145865. p = 0,
  145866. q = 0,
  145867. r = 0,
  145868. s = 0,
  145869. t = 0,
  145870. u = 0,
  145871. v = 0,
  145872. w = 0,
  145873. x = 0,
  145874. z = 0,
  145875. A = 0,
  145876. B = 0,
  145877. C = 0,
  145878. D = 0,
  145879. E = 0,
  145880. F = 0,
  145881. G = 0,
  145882. H = 0;
  145883. g = a;
  145884. h = b;
  145885. i = h;
  145886. j = d;
  145887. k = e;
  145888. l = k;
  145889. if (!i) {
  145890. m = (f | 0) != 0;
  145891. if (!l) {
  145892. if (m) {
  145893. c[f >> 2] = (g >>> 0) % (j >>> 0);
  145894. c[(f + 4) >> 2] = 0;
  145895. }
  145896. n = 0;
  145897. o = ((g >>> 0) / (j >>> 0)) >>> 0;
  145898. return ((y = n), o) | 0;
  145899. } else {
  145900. if (!m) {
  145901. n = 0;
  145902. o = 0;
  145903. return ((y = n), o) | 0;
  145904. }
  145905. c[f >> 2] = a | 0;
  145906. c[(f + 4) >> 2] = b & 0;
  145907. n = 0;
  145908. o = 0;
  145909. return ((y = n), o) | 0;
  145910. }
  145911. }
  145912. m = (l | 0) == 0;
  145913. do {
  145914. if (j) {
  145915. if (!m) {
  145916. p = ((Q(l | 0) | 0) - (Q(i | 0) | 0)) | 0;
  145917. if (p >>> 0 <= 31) {
  145918. q = (p + 1) | 0;
  145919. r = (31 - p) | 0;
  145920. s = (p - 31) >> 31;
  145921. t = q;
  145922. u = ((g >>> (q >>> 0)) & s) | (i << r);
  145923. v = (i >>> (q >>> 0)) & s;
  145924. w = 0;
  145925. x = g << r;
  145926. break;
  145927. }
  145928. if (!f) {
  145929. n = 0;
  145930. o = 0;
  145931. return ((y = n), o) | 0;
  145932. }
  145933. c[f >> 2] = a | 0;
  145934. c[(f + 4) >> 2] = h | (b & 0);
  145935. n = 0;
  145936. o = 0;
  145937. return ((y = n), o) | 0;
  145938. }
  145939. r = (j - 1) | 0;
  145940. if ((r & j) | 0) {
  145941. s = ((Q(j | 0) | 0) + 33 - (Q(i | 0) | 0)) | 0;
  145942. q = (64 - s) | 0;
  145943. p = (32 - s) | 0;
  145944. z = p >> 31;
  145945. A = (s - 32) | 0;
  145946. B = A >> 31;
  145947. t = s;
  145948. u =
  145949. (((p - 1) >> 31) & (i >>> (A >>> 0))) |
  145950. (((i << p) | (g >>> (s >>> 0))) & B);
  145951. v = B & (i >>> (s >>> 0));
  145952. w = (g << q) & z;
  145953. x =
  145954. (((i << q) | (g >>> (A >>> 0))) & z) |
  145955. ((g << p) & ((s - 33) >> 31));
  145956. break;
  145957. }
  145958. if (f | 0) {
  145959. c[f >> 2] = r & g;
  145960. c[(f + 4) >> 2] = 0;
  145961. }
  145962. if ((j | 0) == 1) {
  145963. n = h | (b & 0);
  145964. o = a | 0 | 0;
  145965. return ((y = n), o) | 0;
  145966. } else {
  145967. r = fE(j | 0) | 0;
  145968. n = (i >>> (r >>> 0)) | 0;
  145969. o = (i << (32 - r)) | (g >>> (r >>> 0)) | 0;
  145970. return ((y = n), o) | 0;
  145971. }
  145972. } else {
  145973. if (m) {
  145974. if (f | 0) {
  145975. c[f >> 2] = (i >>> 0) % (j >>> 0);
  145976. c[(f + 4) >> 2] = 0;
  145977. }
  145978. n = 0;
  145979. o = ((i >>> 0) / (j >>> 0)) >>> 0;
  145980. return ((y = n), o) | 0;
  145981. }
  145982. if (!g) {
  145983. if (f | 0) {
  145984. c[f >> 2] = 0;
  145985. c[(f + 4) >> 2] = (i >>> 0) % (l >>> 0);
  145986. }
  145987. n = 0;
  145988. o = ((i >>> 0) / (l >>> 0)) >>> 0;
  145989. return ((y = n), o) | 0;
  145990. }
  145991. r = (l - 1) | 0;
  145992. if (!(r & l)) {
  145993. if (f | 0) {
  145994. c[f >> 2] = a | 0;
  145995. c[(f + 4) >> 2] = (r & i) | (b & 0);
  145996. }
  145997. n = 0;
  145998. o = i >>> ((fE(l | 0) | 0) >>> 0);
  145999. return ((y = n), o) | 0;
  146000. }
  146001. r = ((Q(l | 0) | 0) - (Q(i | 0) | 0)) | 0;
  146002. if (r >>> 0 <= 30) {
  146003. s = (r + 1) | 0;
  146004. p = (31 - r) | 0;
  146005. t = s;
  146006. u = (i << p) | (g >>> (s >>> 0));
  146007. v = i >>> (s >>> 0);
  146008. w = 0;
  146009. x = g << p;
  146010. break;
  146011. }
  146012. if (!f) {
  146013. n = 0;
  146014. o = 0;
  146015. return ((y = n), o) | 0;
  146016. }
  146017. c[f >> 2] = a | 0;
  146018. c[(f + 4) >> 2] = h | (b & 0);
  146019. n = 0;
  146020. o = 0;
  146021. return ((y = n), o) | 0;
  146022. }
  146023. } while (0);
  146024. if (!t) {
  146025. C = x;
  146026. D = w;
  146027. E = v;
  146028. F = u;
  146029. G = 0;
  146030. H = 0;
  146031. } else {
  146032. b = d | 0 | 0;
  146033. d = k | (e & 0);
  146034. e = dE(b | 0, d | 0, -1, -1) | 0;
  146035. k = y;
  146036. h = x;
  146037. x = w;
  146038. w = v;
  146039. v = u;
  146040. u = t;
  146041. t = 0;
  146042. do {
  146043. a = h;
  146044. h = (x >>> 31) | (h << 1);
  146045. x = t | (x << 1);
  146046. g = (v << 1) | (a >>> 31) | 0;
  146047. a = (v >>> 31) | (w << 1) | 0;
  146048. eE(e | 0, k | 0, g | 0, a | 0) | 0;
  146049. i = y;
  146050. l = (i >> 31) | (((i | 0) < 0 ? -1 : 0) << 1);
  146051. t = l & 1;
  146052. v =
  146053. eE(
  146054. g | 0,
  146055. a | 0,
  146056. (l & b) | 0,
  146057. (((((i | 0) < 0 ? -1 : 0) >> 31) |
  146058. (((i | 0) < 0 ? -1 : 0) << 1)) &
  146059. d) |
  146060. 0
  146061. ) | 0;
  146062. w = y;
  146063. u = (u - 1) | 0;
  146064. } while ((u | 0) != 0);
  146065. C = h;
  146066. D = x;
  146067. E = w;
  146068. F = v;
  146069. G = 0;
  146070. H = t;
  146071. }
  146072. t = D;
  146073. D = 0;
  146074. if (f | 0) {
  146075. c[f >> 2] = F;
  146076. c[(f + 4) >> 2] = E;
  146077. }
  146078. n =
  146079. ((t | 0) >>> 31) |
  146080. ((C | D) << 1) |
  146081. (((D << 1) | (t >>> 31)) & 0) |
  146082. G;
  146083. o = (((t << 1) | (0 >>> 31)) & -2) | H;
  146084. return ((y = n), o) | 0;
  146085. }
  146086. function hE(a, b, c, d) {
  146087. a = a | 0;
  146088. b = b | 0;
  146089. c = c | 0;
  146090. d = d | 0;
  146091. return gE(a, b, c, d, 0) | 0;
  146092. }
  146093. function iE(a, b, c) {
  146094. a = a | 0;
  146095. b = b | 0;
  146096. c = c | 0;
  146097. if ((c | 0) < 32) {
  146098. y = b >>> c;
  146099. return (a >>> c) | ((b & ((1 << c) - 1)) << (32 - c));
  146100. }
  146101. y = 0;
  146102. return (b >>> (c - 32)) | 0;
  146103. }
  146104. function jE(a, b, c) {
  146105. a = a | 0;
  146106. b = b | 0;
  146107. c = c | 0;
  146108. if ((c | 0) < 32) {
  146109. y =
  146110. (b << c) |
  146111. ((a & (((1 << c) - 1) << (32 - c))) >>> (32 - c));
  146112. return a << c;
  146113. }
  146114. y = a << (c - 32);
  146115. return 0;
  146116. }
  146117. function kE(a) {
  146118. a = a | 0;
  146119. return (
  146120. ((a & 255) << 24) |
  146121. (((a >> 8) & 255) << 16) |
  146122. (((a >> 16) & 255) << 8) |
  146123. (a >>> 24) |
  146124. 0
  146125. );
  146126. }
  146127. function lE(a, b, c) {
  146128. a = a | 0;
  146129. b = b | 0;
  146130. c = c | 0;
  146131. c = Q(b) | 0;
  146132. if ((c | 0) == 32) c = (c + (Q(a) | 0)) | 0;
  146133. y = 0;
  146134. return c | 0;
  146135. }
  146136. function mE(b, d, e) {
  146137. b = b | 0;
  146138. d = d | 0;
  146139. e = e | 0;
  146140. var f = 0,
  146141. g = 0,
  146142. h = 0;
  146143. if ((e | 0) >= 8192) return nb(b | 0, d | 0, e | 0) | 0;
  146144. f = b | 0;
  146145. g = (b + e) | 0;
  146146. if ((b & 3) == (d & 3)) {
  146147. while (b & 3) {
  146148. if (!e) return f | 0;
  146149. a[b >> 0] = a[d >> 0] | 0;
  146150. b = (b + 1) | 0;
  146151. d = (d + 1) | 0;
  146152. e = (e - 1) | 0;
  146153. }
  146154. h = (g & -4) | 0;
  146155. e = (h - 64) | 0;
  146156. while ((b | 0) <= (e | 0)) {
  146157. c[b >> 2] = c[d >> 2];
  146158. c[(b + 4) >> 2] = c[(d + 4) >> 2];
  146159. c[(b + 8) >> 2] = c[(d + 8) >> 2];
  146160. c[(b + 12) >> 2] = c[(d + 12) >> 2];
  146161. c[(b + 16) >> 2] = c[(d + 16) >> 2];
  146162. c[(b + 20) >> 2] = c[(d + 20) >> 2];
  146163. c[(b + 24) >> 2] = c[(d + 24) >> 2];
  146164. c[(b + 28) >> 2] = c[(d + 28) >> 2];
  146165. c[(b + 32) >> 2] = c[(d + 32) >> 2];
  146166. c[(b + 36) >> 2] = c[(d + 36) >> 2];
  146167. c[(b + 40) >> 2] = c[(d + 40) >> 2];
  146168. c[(b + 44) >> 2] = c[(d + 44) >> 2];
  146169. c[(b + 48) >> 2] = c[(d + 48) >> 2];
  146170. c[(b + 52) >> 2] = c[(d + 52) >> 2];
  146171. c[(b + 56) >> 2] = c[(d + 56) >> 2];
  146172. c[(b + 60) >> 2] = c[(d + 60) >> 2];
  146173. b = (b + 64) | 0;
  146174. d = (d + 64) | 0;
  146175. }
  146176. while ((b | 0) < (h | 0)) {
  146177. c[b >> 2] = c[d >> 2];
  146178. b = (b + 4) | 0;
  146179. d = (d + 4) | 0;
  146180. }
  146181. } else {
  146182. h = (g - 4) | 0;
  146183. while ((b | 0) < (h | 0)) {
  146184. a[b >> 0] = a[d >> 0] | 0;
  146185. a[(b + 1) >> 0] = a[(d + 1) >> 0] | 0;
  146186. a[(b + 2) >> 0] = a[(d + 2) >> 0] | 0;
  146187. a[(b + 3) >> 0] = a[(d + 3) >> 0] | 0;
  146188. b = (b + 4) | 0;
  146189. d = (d + 4) | 0;
  146190. }
  146191. }
  146192. while ((b | 0) < (g | 0)) {
  146193. a[b >> 0] = a[d >> 0] | 0;
  146194. b = (b + 1) | 0;
  146195. d = (d + 1) | 0;
  146196. }
  146197. return f | 0;
  146198. }
  146199. function nE(b, c, d) {
  146200. b = b | 0;
  146201. c = c | 0;
  146202. d = d | 0;
  146203. var e = 0;
  146204. if (((c | 0) < (b | 0)) & ((b | 0) < ((c + d) | 0))) {
  146205. e = b;
  146206. c = (c + d) | 0;
  146207. b = (b + d) | 0;
  146208. while ((d | 0) > 0) {
  146209. b = (b - 1) | 0;
  146210. c = (c - 1) | 0;
  146211. d = (d - 1) | 0;
  146212. a[b >> 0] = a[c >> 0] | 0;
  146213. }
  146214. b = e;
  146215. } else mE(b, c, d) | 0;
  146216. return b | 0;
  146217. }
  146218. function oE(b, d, e) {
  146219. b = b | 0;
  146220. d = d | 0;
  146221. e = e | 0;
  146222. var f = 0,
  146223. g = 0,
  146224. h = 0,
  146225. i = 0;
  146226. f = (b + e) | 0;
  146227. d = d & 255;
  146228. if ((e | 0) >= 67) {
  146229. while (b & 3) {
  146230. a[b >> 0] = d;
  146231. b = (b + 1) | 0;
  146232. }
  146233. g = (f & -4) | 0;
  146234. h = (g - 64) | 0;
  146235. i = d | (d << 8) | (d << 16) | (d << 24);
  146236. while ((b | 0) <= (h | 0)) {
  146237. c[b >> 2] = i;
  146238. c[(b + 4) >> 2] = i;
  146239. c[(b + 8) >> 2] = i;
  146240. c[(b + 12) >> 2] = i;
  146241. c[(b + 16) >> 2] = i;
  146242. c[(b + 20) >> 2] = i;
  146243. c[(b + 24) >> 2] = i;
  146244. c[(b + 28) >> 2] = i;
  146245. c[(b + 32) >> 2] = i;
  146246. c[(b + 36) >> 2] = i;
  146247. c[(b + 40) >> 2] = i;
  146248. c[(b + 44) >> 2] = i;
  146249. c[(b + 48) >> 2] = i;
  146250. c[(b + 52) >> 2] = i;
  146251. c[(b + 56) >> 2] = i;
  146252. c[(b + 60) >> 2] = i;
  146253. b = (b + 64) | 0;
  146254. }
  146255. while ((b | 0) < (g | 0)) {
  146256. c[b >> 2] = i;
  146257. b = (b + 4) | 0;
  146258. }
  146259. }
  146260. while ((b | 0) < (f | 0)) {
  146261. a[b >> 0] = d;
  146262. b = (b + 1) | 0;
  146263. }
  146264. return (f - e) | 0;
  146265. }
  146266. function pE(a) {
  146267. a = a | 0;
  146268. var b = 0,
  146269. d = 0;
  146270. b = c[i >> 2] | 0;
  146271. d = (b + a) | 0;
  146272. if ((((a | 0) > 0) & ((d | 0) < (b | 0))) | ((d | 0) < 0)) {
  146273. V() | 0;
  146274. Ca(12);
  146275. return -1;
  146276. }
  146277. c[i >> 2] = d;
  146278. if ((d | 0) > (U() | 0) ? (T() | 0) == 0 : 0) {
  146279. c[i >> 2] = b;
  146280. Ca(12);
  146281. return -1;
  146282. }
  146283. return b | 0;
  146284. }
  146285. function qE(a) {
  146286. a = a | 0;
  146287. return oc[a & 7]() | 0;
  146288. }
  146289. function rE(a, b) {
  146290. a = a | 0;
  146291. b = b | 0;
  146292. return pc[a & 63](b | 0) | 0;
  146293. }
  146294. function sE(a, b, c) {
  146295. a = a | 0;
  146296. b = b | 0;
  146297. c = c | 0;
  146298. return qc[a & 63](b | 0, c | 0) | 0;
  146299. }
  146300. function tE(a, b, c, d) {
  146301. a = a | 0;
  146302. b = b | 0;
  146303. c = c | 0;
  146304. d = d | 0;
  146305. return rc[a & 31](b | 0, c | 0, d | 0) | 0;
  146306. }
  146307. function uE(a, b, c, d, e) {
  146308. a = a | 0;
  146309. b = b | 0;
  146310. c = c | 0;
  146311. d = d | 0;
  146312. e = e | 0;
  146313. return sc[a & 15](b | 0, c | 0, d | 0, e | 0) | 0;
  146314. }
  146315. function vE(a, b, c, d, e, f) {
  146316. a = a | 0;
  146317. b = b | 0;
  146318. c = c | 0;
  146319. d = d | 0;
  146320. e = e | 0;
  146321. f = f | 0;
  146322. return tc[a & 7](b | 0, c | 0, d | 0, e | 0, f | 0) | 0;
  146323. }
  146324. function wE(a, b, c, d, e, f, g) {
  146325. a = a | 0;
  146326. b = b | 0;
  146327. c = c | 0;
  146328. d = d | 0;
  146329. e = e | 0;
  146330. f = f | 0;
  146331. g = g | 0;
  146332. return (
  146333. uc[a & 31](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0) | 0
  146334. );
  146335. }
  146336. function xE(a) {
  146337. a = a | 0;
  146338. vc[a & 3]();
  146339. }
  146340. function yE(a, b) {
  146341. a = a | 0;
  146342. b = b | 0;
  146343. wc[a & 127](b | 0);
  146344. }
  146345. function zE(a, b, c) {
  146346. a = a | 0;
  146347. b = b | 0;
  146348. c = c | 0;
  146349. xc[a & 31](b | 0, c | 0);
  146350. }
  146351. function AE(a, b, c, d) {
  146352. a = a | 0;
  146353. b = b | 0;
  146354. c = c | 0;
  146355. d = d | 0;
  146356. yc[a & 7](b | 0, c | 0, d | 0);
  146357. }
  146358. function BE(a, b, c, d, e) {
  146359. a = a | 0;
  146360. b = b | 0;
  146361. c = c | 0;
  146362. d = d | 0;
  146363. e = e | 0;
  146364. zc[a & 7](b | 0, c | 0, d | 0, e | 0);
  146365. }
  146366. function CE(a, b, c, d, e, f) {
  146367. a = a | 0;
  146368. b = b | 0;
  146369. c = c | 0;
  146370. d = d | 0;
  146371. e = e | 0;
  146372. f = f | 0;
  146373. Ac[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0);
  146374. }
  146375. function DE(a, b, c, d, e, f, g) {
  146376. a = a | 0;
  146377. b = b | 0;
  146378. c = c | 0;
  146379. d = d | 0;
  146380. e = e | 0;
  146381. f = f | 0;
  146382. g = g | 0;
  146383. Bc[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0);
  146384. }
  146385. function EE() {
  146386. R(0);
  146387. return 0;
  146388. }
  146389. function FE(a) {
  146390. a = a | 0;
  146391. R(1);
  146392. return 0;
  146393. }
  146394. function GE(a, b) {
  146395. a = a | 0;
  146396. b = b | 0;
  146397. R(2);
  146398. return 0;
  146399. }
  146400. function HE(a, b, c) {
  146401. a = a | 0;
  146402. b = b | 0;
  146403. c = c | 0;
  146404. R(3);
  146405. return 0;
  146406. }
  146407. function IE(a, b, c, d) {
  146408. a = a | 0;
  146409. b = b | 0;
  146410. c = c | 0;
  146411. d = d | 0;
  146412. R(4);
  146413. return 0;
  146414. }
  146415. function JE(a, b, c, d, e) {
  146416. a = a | 0;
  146417. b = b | 0;
  146418. c = c | 0;
  146419. d = d | 0;
  146420. e = e | 0;
  146421. R(5);
  146422. return 0;
  146423. }
  146424. function KE(a, b, c, d, e, f) {
  146425. a = a | 0;
  146426. b = b | 0;
  146427. c = c | 0;
  146428. d = d | 0;
  146429. e = e | 0;
  146430. f = f | 0;
  146431. R(6);
  146432. return 0;
  146433. }
  146434. function LE() {
  146435. R(7);
  146436. }
  146437. function ME(a) {
  146438. a = a | 0;
  146439. R(8);
  146440. }
  146441. function NE(a, b) {
  146442. a = a | 0;
  146443. b = b | 0;
  146444. R(9);
  146445. }
  146446. function OE(a, b, c) {
  146447. a = a | 0;
  146448. b = b | 0;
  146449. c = c | 0;
  146450. R(10);
  146451. }
  146452. function PE(a, b, c, d) {
  146453. a = a | 0;
  146454. b = b | 0;
  146455. c = c | 0;
  146456. d = d | 0;
  146457. R(11);
  146458. }
  146459. function QE(a, b, c, d, e) {
  146460. a = a | 0;
  146461. b = b | 0;
  146462. c = c | 0;
  146463. d = d | 0;
  146464. e = e | 0;
  146465. R(12);
  146466. }
  146467. function RE(a, b, c, d, e, f) {
  146468. a = a | 0;
  146469. b = b | 0;
  146470. c = c | 0;
  146471. d = d | 0;
  146472. e = e | 0;
  146473. f = f | 0;
  146474. R(13);
  146475. } // EMSCRIPTEN_END_FUNCS
  146476. var oc = [EE, Ce, Me, Ue, ge, EE, EE, EE];
  146477. var pc = [
  146478. FE,
  146479. fd,
  146480. ld,
  146481. nd,
  146482. td,
  146483. vd,
  146484. Bd,
  146485. Ed,
  146486. Kd,
  146487. Md,
  146488. Sd,
  146489. Ud,
  146490. _d,
  146491. kf,
  146492. qf,
  146493. xf,
  146494. Df,
  146495. If,
  146496. Of,
  146497. Tf,
  146498. Zf,
  146499. fg,
  146500. lg,
  146501. og,
  146502. ug,
  146503. Fg,
  146504. Lg,
  146505. Og,
  146506. Ug,
  146507. Iy,
  146508. Tz,
  146509. qe,
  146510. ve,
  146511. Qc,
  146512. Ae,
  146513. De,
  146514. Ke,
  146515. Ne,
  146516. Se,
  146517. Ve,
  146518. Wc,
  146519. ee,
  146520. he,
  146521. Mc,
  146522. Oo,
  146523. Gx,
  146524. FE,
  146525. FE,
  146526. FE,
  146527. FE,
  146528. FE,
  146529. FE,
  146530. FE,
  146531. FE,
  146532. FE,
  146533. FE,
  146534. FE,
  146535. FE,
  146536. FE,
  146537. FE,
  146538. FE,
  146539. FE,
  146540. FE,
  146541. FE,
  146542. ];
  146543. var qc = [
  146544. GE,
  146545. kd,
  146546. sd,
  146547. Ad,
  146548. Jd,
  146549. Rd,
  146550. Zd,
  146551. pf,
  146552. Cf,
  146553. Nf,
  146554. Yf,
  146555. jg,
  146556. kg,
  146557. sg,
  146558. tg,
  146559. Jg,
  146560. Kg,
  146561. Sg,
  146562. Tg,
  146563. Ht,
  146564. pe,
  146565. Oc,
  146566. ze,
  146567. $e,
  146568. af,
  146569. Rc,
  146570. Sc,
  146571. Uc,
  146572. Vc,
  146573. We,
  146574. Xc,
  146575. Zc,
  146576. _c,
  146577. ke,
  146578. GE,
  146579. GE,
  146580. GE,
  146581. GE,
  146582. GE,
  146583. GE,
  146584. GE,
  146585. GE,
  146586. GE,
  146587. GE,
  146588. GE,
  146589. GE,
  146590. GE,
  146591. GE,
  146592. GE,
  146593. GE,
  146594. GE,
  146595. GE,
  146596. GE,
  146597. GE,
  146598. GE,
  146599. GE,
  146600. GE,
  146601. GE,
  146602. GE,
  146603. GE,
  146604. GE,
  146605. GE,
  146606. GE,
  146607. GE,
  146608. ];
  146609. var rc = [
  146610. HE,
  146611. Jy,
  146612. Ky,
  146613. Ny,
  146614. zz,
  146615. cA,
  146616. xA,
  146617. zA,
  146618. CA,
  146619. ue,
  146620. Ee,
  146621. Fe,
  146622. cf,
  146623. Oe,
  146624. Pe,
  146625. Tc,
  146626. Re,
  146627. Xe,
  146628. Yc,
  146629. Ze,
  146630. le,
  146631. ce,
  146632. Py,
  146633. HE,
  146634. HE,
  146635. HE,
  146636. HE,
  146637. HE,
  146638. HE,
  146639. HE,
  146640. HE,
  146641. HE,
  146642. ];
  146643. var sc = [
  146644. IE,
  146645. vu,
  146646. wu,
  146647. Kv,
  146648. Lv,
  146649. Xw,
  146650. Yw,
  146651. bf,
  146652. He,
  146653. df,
  146654. rf,
  146655. Qe,
  146656. Ye,
  146657. me,
  146658. IE,
  146659. IE,
  146660. ];
  146661. var tc = [JE, Ge, Ie, Je, tn, sn, Km, Jm];
  146662. var uc = [
  146663. KE,
  146664. Xl,
  146665. Yl,
  146666. Zl,
  146667. _l,
  146668. $l,
  146669. am,
  146670. bm,
  146671. cm,
  146672. dm,
  146673. em,
  146674. fm,
  146675. gm,
  146676. hm,
  146677. im,
  146678. jm,
  146679. km,
  146680. KE,
  146681. KE,
  146682. KE,
  146683. KE,
  146684. KE,
  146685. KE,
  146686. KE,
  146687. KE,
  146688. KE,
  146689. KE,
  146690. KE,
  146691. KE,
  146692. KE,
  146693. KE,
  146694. KE,
  146695. ];
  146696. var vc = [LE, Xz, Jc, qA];
  146697. var wc = [
  146698. ME,
  146699. Cd,
  146700. ed,
  146701. hd,
  146702. id,
  146703. md,
  146704. pd,
  146705. qd,
  146706. ud,
  146707. xd,
  146708. yd,
  146709. Dd,
  146710. Gd,
  146711. Hd,
  146712. Ld,
  146713. Od,
  146714. Pd,
  146715. Td,
  146716. Wd,
  146717. Xd,
  146718. hf,
  146719. jf,
  146720. mf,
  146721. nf,
  146722. vf,
  146723. wf,
  146724. zf,
  146725. Af,
  146726. Gf,
  146727. Hf,
  146728. Kf,
  146729. Lf,
  146730. Rf,
  146731. Sf,
  146732. Vf,
  146733. Wf,
  146734. dg,
  146735. eg,
  146736. hg,
  146737. ig,
  146738. ng,
  146739. qg,
  146740. rg,
  146741. Dg,
  146742. Eg,
  146743. Hg,
  146744. Ig,
  146745. Ng,
  146746. Qg,
  146747. Rg,
  146748. Rz,
  146749. Sz,
  146750. _z,
  146751. $z,
  146752. aA,
  146753. bA,
  146754. lA,
  146755. wA,
  146756. yA,
  146757. BA,
  146758. DA,
  146759. ne,
  146760. re,
  146761. we,
  146762. Be,
  146763. Le,
  146764. Te,
  146765. fe,
  146766. ef,
  146767. sf,
  146768. Ff,
  146769. Qf,
  146770. rA,
  146771. ME,
  146772. ME,
  146773. ME,
  146774. ME,
  146775. ME,
  146776. ME,
  146777. ME,
  146778. ME,
  146779. ME,
  146780. ME,
  146781. ME,
  146782. ME,
  146783. ME,
  146784. ME,
  146785. ME,
  146786. ME,
  146787. ME,
  146788. ME,
  146789. ME,
  146790. ME,
  146791. ME,
  146792. ME,
  146793. ME,
  146794. ME,
  146795. ME,
  146796. ME,
  146797. ME,
  146798. ME,
  146799. ME,
  146800. ME,
  146801. ME,
  146802. ME,
  146803. ME,
  146804. ME,
  146805. ME,
  146806. ME,
  146807. ME,
  146808. ME,
  146809. ME,
  146810. ME,
  146811. ME,
  146812. ME,
  146813. ME,
  146814. ME,
  146815. ME,
  146816. ME,
  146817. ME,
  146818. ME,
  146819. ME,
  146820. ME,
  146821. ME,
  146822. ME,
  146823. ME,
  146824. ME,
  146825. ME,
  146826. ];
  146827. var xc = [
  146828. NE,
  146829. gd,
  146830. jd,
  146831. od,
  146832. rd,
  146833. wd,
  146834. zd,
  146835. Fd,
  146836. Id,
  146837. Nd,
  146838. Qd,
  146839. Vd,
  146840. Yd,
  146841. lf,
  146842. of,
  146843. yf,
  146844. Bf,
  146845. Jf,
  146846. Mf,
  146847. Uf,
  146848. Xf,
  146849. gg,
  146850. pg,
  146851. Gg,
  146852. Pg,
  146853. It,
  146854. Kc,
  146855. Lc,
  146856. Nc,
  146857. $d,
  146858. NE,
  146859. NE,
  146860. ];
  146861. var yc = [OE, oe, ie, ae, be, OE, OE, OE];
  146862. var zc = [PE, fA, oA, GA, je, PE, PE, PE];
  146863. var Ac = [QE, eA, nA, FA];
  146864. var Bc = [RE, dA, mA, EA];
  146865. return {
  146866. __GLOBAL__sub_I_bind_cpp: zy,
  146867. __GLOBAL__sub_I_zstd_binding_cc: _e,
  146868. ___cxa_can_catch: _D,
  146869. ___cxa_demangle: KA,
  146870. ___cxa_is_pointer_type: $D,
  146871. ___errno_location: My,
  146872. ___getTypeName: By,
  146873. ___muldi3: cE,
  146874. ___udivdi3: hE,
  146875. _bitshift64Lshr: iE,
  146876. _bitshift64Shl: jE,
  146877. _free: Dy,
  146878. _i64Add: dE,
  146879. _i64Subtract: eE,
  146880. _llvm_bswap_i32: kE,
  146881. _llvm_ctlz_i64: lE,
  146882. _llvm_cttz_i32: fE,
  146883. _malloc: Cy,
  146884. _memcpy: mE,
  146885. _memmove: nE,
  146886. _memset: oE,
  146887. _sbrk: pE,
  146888. dynCall_i: qE,
  146889. dynCall_ii: rE,
  146890. dynCall_iii: sE,
  146891. dynCall_iiii: tE,
  146892. dynCall_iiiii: uE,
  146893. dynCall_iiiiii: vE,
  146894. dynCall_iiiiiii: wE,
  146895. dynCall_v: xE,
  146896. dynCall_vi: yE,
  146897. dynCall_vii: zE,
  146898. dynCall_viii: AE,
  146899. dynCall_viiii: BE,
  146900. dynCall_viiiii: CE,
  146901. dynCall_viiiiii: DE,
  146902. establishStackSpace: Fc,
  146903. getTempRet0: Ic,
  146904. runPostSets: aE,
  146905. setTempRet0: Hc,
  146906. setThrew: Gc,
  146907. stackAlloc: Cc,
  146908. stackRestore: Ec,
  146909. stackSave: Dc,
  146910. };
  146911. })(
  146912. // EMSCRIPTEN_END_ASM
  146913. Module.asmGlobalArg,
  146914. Module.asmLibraryArg,
  146915. buffer
  146916. );
  146917. var __GLOBAL__sub_I_bind_cpp = (Module[
  146918. "__GLOBAL__sub_I_bind_cpp"
  146919. ] = asm["__GLOBAL__sub_I_bind_cpp"]);
  146920. var __GLOBAL__sub_I_zstd_binding_cc = (Module[
  146921. "__GLOBAL__sub_I_zstd_binding_cc"
  146922. ] = asm["__GLOBAL__sub_I_zstd_binding_cc"]);
  146923. var ___cxa_can_catch = (Module["___cxa_can_catch"] =
  146924. asm["___cxa_can_catch"]);
  146925. var ___cxa_demangle = (Module["___cxa_demangle"] =
  146926. asm["___cxa_demangle"]);
  146927. var ___cxa_is_pointer_type = (Module["___cxa_is_pointer_type"] =
  146928. asm["___cxa_is_pointer_type"]);
  146929. var ___errno_location = (Module["___errno_location"] =
  146930. asm["___errno_location"]);
  146931. var ___getTypeName = (Module["___getTypeName"] =
  146932. asm["___getTypeName"]);
  146933. var ___muldi3 = (Module["___muldi3"] = asm["___muldi3"]);
  146934. var ___udivdi3 = (Module["___udivdi3"] = asm["___udivdi3"]);
  146935. var _bitshift64Lshr = (Module["_bitshift64Lshr"] =
  146936. asm["_bitshift64Lshr"]);
  146937. var _bitshift64Shl = (Module["_bitshift64Shl"] =
  146938. asm["_bitshift64Shl"]);
  146939. var _free = (Module["_free"] = asm["_free"]);
  146940. var _i64Add = (Module["_i64Add"] = asm["_i64Add"]);
  146941. var _i64Subtract = (Module["_i64Subtract"] = asm["_i64Subtract"]);
  146942. var _llvm_bswap_i32 = (Module["_llvm_bswap_i32"] =
  146943. asm["_llvm_bswap_i32"]);
  146944. var _llvm_ctlz_i64 = (Module["_llvm_ctlz_i64"] =
  146945. asm["_llvm_ctlz_i64"]);
  146946. var _llvm_cttz_i32 = (Module["_llvm_cttz_i32"] =
  146947. asm["_llvm_cttz_i32"]);
  146948. var _malloc = (Module["_malloc"] = asm["_malloc"]);
  146949. var _memcpy = (Module["_memcpy"] = asm["_memcpy"]);
  146950. var _memmove = (Module["_memmove"] = asm["_memmove"]);
  146951. var _memset = (Module["_memset"] = asm["_memset"]);
  146952. var _sbrk = (Module["_sbrk"] = asm["_sbrk"]);
  146953. var establishStackSpace = (Module["establishStackSpace"] =
  146954. asm["establishStackSpace"]);
  146955. var getTempRet0 = (Module["getTempRet0"] = asm["getTempRet0"]);
  146956. var runPostSets = (Module["runPostSets"] = asm["runPostSets"]);
  146957. var setTempRet0 = (Module["setTempRet0"] = asm["setTempRet0"]);
  146958. var setThrew = (Module["setThrew"] = asm["setThrew"]);
  146959. var stackAlloc = (Module["stackAlloc"] = asm["stackAlloc"]);
  146960. var _stackRestore = (Module["stackRestore"] =
  146961. asm["stackRestore"]);
  146962. var _stackSave = (Module["stackSave"] = asm["stackSave"]);
  146963. var dynCall_i = (Module["dynCall_i"] = asm["dynCall_i"]);
  146964. var dynCall_ii = (Module["dynCall_ii"] = asm["dynCall_ii"]);
  146965. var dynCall_iii = (Module["dynCall_iii"] = asm["dynCall_iii"]);
  146966. var dynCall_iiii = (Module["dynCall_iiii"] = asm["dynCall_iiii"]);
  146967. var dynCall_iiiii = (Module["dynCall_iiiii"] =
  146968. asm["dynCall_iiiii"]);
  146969. var dynCall_iiiiii = (Module["dynCall_iiiiii"] =
  146970. asm["dynCall_iiiiii"]);
  146971. var dynCall_iiiiiii = (Module["dynCall_iiiiiii"] =
  146972. asm["dynCall_iiiiiii"]);
  146973. var dynCall_v = (Module["dynCall_v"] = asm["dynCall_v"]);
  146974. var dynCall_vi = (Module["dynCall_vi"] = asm["dynCall_vi"]);
  146975. var dynCall_vii = (Module["dynCall_vii"] = asm["dynCall_vii"]);
  146976. var dynCall_viii = (Module["dynCall_viii"] = asm["dynCall_viii"]);
  146977. var dynCall_viiii = (Module["dynCall_viiii"] =
  146978. asm["dynCall_viiii"]);
  146979. var dynCall_viiiii = (Module["dynCall_viiiii"] =
  146980. asm["dynCall_viiiii"]);
  146981. var dynCall_viiiiii = (Module["dynCall_viiiiii"] =
  146982. asm["dynCall_viiiiii"]);
  146983. Module["asm"] = asm;
  146984. Module["FS"] = FS;
  146985. if (memoryInitializer) {
  146986. if (!isDataURI(memoryInitializer)) {
  146987. memoryInitializer = locateFile(memoryInitializer);
  146988. }
  146989. if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
  146990. var data = Module["readBinary"](memoryInitializer);
  146991. HEAPU8.set(data, GLOBAL_BASE);
  146992. } else {
  146993. var doBrowserLoad = function doBrowserLoad() {
  146994. Module["readAsync"](
  146995. memoryInitializer,
  146996. applyMemoryInitializer,
  146997. function () {
  146998. throw (
  146999. "could not load memory initializer " +
  147000. memoryInitializer
  147001. );
  147002. }
  147003. );
  147004. };
  147005. addRunDependency("memory initializer");
  147006. var applyMemoryInitializer = function applyMemoryInitializer(
  147007. data
  147008. ) {
  147009. if (data.byteLength) data = new Uint8Array(data);
  147010. HEAPU8.set(data, GLOBAL_BASE);
  147011. if (Module["memoryInitializerRequest"])
  147012. delete Module["memoryInitializerRequest"].response;
  147013. removeRunDependency("memory initializer");
  147014. };
  147015. var memoryInitializerBytes =
  147016. tryParseAsDataURI(memoryInitializer);
  147017. if (memoryInitializerBytes) {
  147018. applyMemoryInitializer(memoryInitializerBytes.buffer);
  147019. } else if (Module["memoryInitializerRequest"]) {
  147020. var useRequest = function useRequest() {
  147021. var request = Module["memoryInitializerRequest"];
  147022. var response = request.response;
  147023. if (request.status !== 200 && request.status !== 0) {
  147024. var data = tryParseAsDataURI(
  147025. Module["memoryInitializerRequestURL"]
  147026. );
  147027. if (data) {
  147028. response = data.buffer;
  147029. } else {
  147030. console.warn(
  147031. "a problem seems to have happened with Module.memoryInitializerRequest, status: " +
  147032. request.status +
  147033. ", retrying " +
  147034. memoryInitializer
  147035. );
  147036. doBrowserLoad();
  147037. return;
  147038. }
  147039. }
  147040. applyMemoryInitializer(response);
  147041. };
  147042. if (Module["memoryInitializerRequest"].response) {
  147043. setTimeout(useRequest, 0);
  147044. } else {
  147045. Module["memoryInitializerRequest"].addEventListener(
  147046. "load",
  147047. useRequest
  147048. );
  147049. }
  147050. } else {
  147051. doBrowserLoad();
  147052. }
  147053. }
  147054. }
  147055. Module["then"] = function (func) {
  147056. if (Module["calledRun"]) {
  147057. func(Module);
  147058. } else {
  147059. var old = Module["onRuntimeInitialized"];
  147060. Module["onRuntimeInitialized"] = function () {
  147061. if (old) old();
  147062. func(Module);
  147063. };
  147064. }
  147065. return Module;
  147066. };
  147067. function ExitStatus(status) {
  147068. this.name = "ExitStatus";
  147069. this.message = "Program terminated with exit(" + status + ")";
  147070. this.status = status;
  147071. }
  147072. ExitStatus.prototype = new Error();
  147073. ExitStatus.prototype.constructor = ExitStatus;
  147074. var initialStackTop;
  147075. dependenciesFulfilled = function runCaller() {
  147076. if (!Module["calledRun"]) run();
  147077. if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
  147078. };
  147079. function run(args) {
  147080. args = args || Module["arguments"];
  147081. if (runDependencies > 0) {
  147082. return;
  147083. }
  147084. preRun();
  147085. if (runDependencies > 0) return;
  147086. if (Module["calledRun"]) return;
  147087. function doRun() {
  147088. if (Module["calledRun"]) return;
  147089. Module["calledRun"] = true;
  147090. if (ABORT) return;
  147091. ensureInitRuntime();
  147092. preMain();
  147093. if (Module["onRuntimeInitialized"])
  147094. Module["onRuntimeInitialized"]();
  147095. postRun();
  147096. }
  147097. if (Module["setStatus"]) {
  147098. Module["setStatus"]("Running...");
  147099. setTimeout(function () {
  147100. setTimeout(function () {
  147101. Module["setStatus"]("");
  147102. }, 1);
  147103. doRun();
  147104. }, 1);
  147105. } else {
  147106. doRun();
  147107. }
  147108. }
  147109. Module["run"] = run;
  147110. function abort(what) {
  147111. if (Module["onAbort"]) {
  147112. Module["onAbort"](what);
  147113. }
  147114. if (what !== undefined) {
  147115. out(what);
  147116. err(what);
  147117. what = JSON.stringify(what);
  147118. } else {
  147119. what = "";
  147120. }
  147121. ABORT = true;
  147122. EXITSTATUS = 1;
  147123. throw (
  147124. "abort(" +
  147125. what +
  147126. "). Build with -s ASSERTIONS=1 for more info."
  147127. );
  147128. }
  147129. Module["abort"] = abort;
  147130. if (Module["preInit"]) {
  147131. if (typeof Module["preInit"] == "function")
  147132. Module["preInit"] = [Module["preInit"]];
  147133. while (Module["preInit"].length > 0) {
  147134. Module["preInit"].pop()();
  147135. }
  147136. }
  147137. Module["noExitRuntime"] = true;
  147138. run();
  147139. return Module;
  147140. };
  147141. })();
  147142. if (
  147143. (typeof exports === "undefined"
  147144. ? "undefined"
  147145. : _typeof(exports)) === "object" &&
  147146. (typeof module === "undefined" ? "undefined" : _typeof(module)) ===
  147147. "object"
  147148. )
  147149. module.exports = Module;
  147150. else if (typeof define === "function" && define["amd"])
  147151. define([], function () {
  147152. return Module;
  147153. });
  147154. else if (
  147155. (typeof exports === "undefined"
  147156. ? "undefined"
  147157. : _typeof(exports)) === "object"
  147158. )
  147159. exports["Module"] = Module;
  147160. }).call(this, require("_process"), require("buffer").Buffer, "/lib");
  147161. },
  147162. { _process: 126, buffer: 54, crypto: 63, fs: 9, path: 119 },
  147163. ],
  147164. 7: [
  147165. function (require, module, exports) {
  147166. "use strict";
  147167. var _createClass = (function () {
  147168. function defineProperties(target, props) {
  147169. for (var i = 0; i < props.length; i++) {
  147170. var descriptor = props[i];
  147171. descriptor.enumerable = descriptor.enumerable || false;
  147172. descriptor.configurable = true;
  147173. if ("value" in descriptor) descriptor.writable = true;
  147174. Object.defineProperty(target, descriptor.key, descriptor);
  147175. }
  147176. }
  147177. return function (Constructor, protoProps, staticProps) {
  147178. if (protoProps) defineProperties(Constructor.prototype, protoProps);
  147179. if (staticProps) defineProperties(Constructor, staticProps);
  147180. return Constructor;
  147181. };
  147182. })();
  147183. function _classCallCheck(instance, Constructor) {
  147184. if (!(instance instanceof Constructor)) {
  147185. throw new TypeError("Cannot call a class as a function");
  147186. }
  147187. }
  147188. var ArrayBufferHelper = require("./helpers.js").ArrayBufferHelper;
  147189. var constants = require("./constants.js");
  147190. var onReady = function onReady(binding) {
  147191. var codec = new binding.ZstdCodec();
  147192. var withBindingInstance = function withBindingInstance(
  147193. instance,
  147194. callback
  147195. ) {
  147196. try {
  147197. return callback(instance);
  147198. } finally {
  147199. instance.delete();
  147200. }
  147201. };
  147202. var withCppVector = function withCppVector(callback) {
  147203. var vector = new binding.VectorU8();
  147204. return withBindingInstance(vector, callback);
  147205. };
  147206. var correctCompressionLevel = function correctCompressionLevel(
  147207. compression_level
  147208. ) {
  147209. return compression_level || constants.DEFAULT_COMPRESSION_LEVEL;
  147210. };
  147211. var compressBoundImpl = function compressBoundImpl(content_size) {
  147212. var rc = codec.compressBound(content_size);
  147213. return rc >= 0 ? rc : null;
  147214. };
  147215. var contentSizeImpl = function contentSizeImpl(src_vec) {
  147216. var rc = codec.contentSize(src_vec);
  147217. return rc >= 0 ? rc : null;
  147218. };
  147219. var ArrayBufferSink = (function () {
  147220. function ArrayBufferSink(initial_size) {
  147221. _classCallCheck(this, ArrayBufferSink);
  147222. this._buffer = new ArrayBuffer(initial_size);
  147223. this._array = new Uint8Array(this._buffer);
  147224. this._offset = 0;
  147225. }
  147226. _createClass(ArrayBufferSink, [
  147227. {
  147228. key: "concat",
  147229. value: function concat(array) {
  147230. if (array.length + this._offset > this._array.length) {
  147231. this._grow(Math.max(this._array.length, array.length) * 2);
  147232. }
  147233. this._array.set(array, this._offset);
  147234. this._offset += array.length;
  147235. },
  147236. },
  147237. {
  147238. key: "array",
  147239. value: function array() {
  147240. // NOTE: clone buffer to shrink to fit
  147241. var buffer = ArrayBufferHelper.transfer(
  147242. this._buffer,
  147243. this._offset
  147244. );
  147245. return new Uint8Array(buffer);
  147246. },
  147247. },
  147248. {
  147249. key: "_grow",
  147250. value: function _grow(new_size) {
  147251. this._buffer = ArrayBufferHelper.transfer(
  147252. this._buffer,
  147253. new_size
  147254. );
  147255. this._array = new Uint8Array(this._buffer);
  147256. },
  147257. },
  147258. ]);
  147259. return ArrayBufferSink;
  147260. })();
  147261. var Generic = (function () {
  147262. function Generic() {
  147263. _classCallCheck(this, Generic);
  147264. }
  147265. _createClass(Generic, [
  147266. {
  147267. key: "compressBound",
  147268. value: function compressBound(content_bytes) {
  147269. return compressBoundImpl(content_bytes.length);
  147270. },
  147271. },
  147272. {
  147273. key: "contentSize",
  147274. value: function contentSize(compressed_bytes) {
  147275. return withCppVector(function (src) {
  147276. binding.cloneToVector(src, compressed_bytes);
  147277. return contentSizeImpl(src);
  147278. });
  147279. },
  147280. },
  147281. ]);
  147282. return Generic;
  147283. })();
  147284. var Simple = (function () {
  147285. function Simple() {
  147286. _classCallCheck(this, Simple);
  147287. }
  147288. _createClass(Simple, [
  147289. {
  147290. key: "compress",
  147291. value: function compress(content_bytes, compression_level) {
  147292. // use basic-api `compress`, to embed `frameContentSize`.
  147293. var compressBound = compressBoundImpl(content_bytes.length);
  147294. if (!compressBound) return null;
  147295. compression_level =
  147296. correctCompressionLevel(compression_level);
  147297. return withCppVector(function (src) {
  147298. return withCppVector(function (dest) {
  147299. binding.cloneToVector(src, content_bytes);
  147300. dest.resize(compressBound, 0);
  147301. var rc = codec.compress(dest, src, compression_level);
  147302. if (rc < 0) return null; // `rc` is compressed size
  147303. dest.resize(rc, 0);
  147304. return binding.cloneAsTypedArray(dest);
  147305. });
  147306. });
  147307. },
  147308. },
  147309. {
  147310. key: "decompress",
  147311. value: function decompress(compressed_bytes) {
  147312. // use streaming-api, to support data without `frameContentSize`.
  147313. return withCppVector(function (src) {
  147314. return withCppVector(function (dest) {
  147315. binding.cloneToVector(src, compressed_bytes);
  147316. var contentSize = contentSizeImpl(src);
  147317. if (!contentSize) return null;
  147318. dest.resize(contentSize, 0);
  147319. var rc = codec.decompress(dest, src);
  147320. if (rc < 0 || rc != contentSize) return null; // `rc` is compressed size
  147321. return binding.cloneAsTypedArray(dest);
  147322. });
  147323. });
  147324. },
  147325. },
  147326. {
  147327. key: "compressUsingDict",
  147328. value: function compressUsingDict(content_bytes, cdict) {
  147329. // use basic-api `compress`, to embed `frameContentSize`.
  147330. var compressBound = compressBoundImpl(content_bytes.length);
  147331. if (!compressBound) return null;
  147332. return withCppVector(function (src) {
  147333. return withCppVector(function (dest) {
  147334. binding.cloneToVector(src, content_bytes);
  147335. dest.resize(compressBound, 0);
  147336. var rc = codec.compressUsingDict(dest, src, cdict.get());
  147337. if (rc < 0) return null; // `rc` is original content size
  147338. dest.resize(rc, 0);
  147339. return binding.cloneAsTypedArray(dest);
  147340. });
  147341. });
  147342. },
  147343. },
  147344. {
  147345. key: "decompressUsingDict",
  147346. value: function decompressUsingDict(compressed_bytes, ddict) {
  147347. // use streaming-api, to support data without `frameContentSize`.
  147348. return withCppVector(function (src) {
  147349. return withCppVector(function (dest) {
  147350. binding.cloneToVector(src, compressed_bytes);
  147351. var contentSize = contentSizeImpl(src);
  147352. if (!contentSize) return null;
  147353. dest.resize(contentSize, 0);
  147354. var rc = codec.decompressUsingDict(
  147355. dest,
  147356. src,
  147357. ddict.get()
  147358. );
  147359. if (rc < 0 || rc != contentSize) return null; // `rc` is compressed size
  147360. return binding.cloneAsTypedArray(dest);
  147361. });
  147362. });
  147363. },
  147364. },
  147365. ]);
  147366. return Simple;
  147367. })();
  147368. var Streaming = (function () {
  147369. function Streaming() {
  147370. _classCallCheck(this, Streaming);
  147371. }
  147372. _createClass(Streaming, [
  147373. {
  147374. key: "compress",
  147375. value: function compress(content_bytes, compression_level) {
  147376. return withBindingInstance(
  147377. new binding.ZstdCompressStreamBinding(),
  147378. function (stream) {
  147379. var initial_size = compressBoundImpl(
  147380. content_bytes.length
  147381. );
  147382. var sink = new ArrayBufferSink(initial_size);
  147383. var callback = function callback(compressed) {
  147384. sink.concat(compressed);
  147385. };
  147386. var level = correctCompressionLevel(compression_level);
  147387. if (!stream.begin(level)) return null;
  147388. if (!stream.transform(content_bytes, callback))
  147389. return null;
  147390. if (!stream.end(callback)) return null;
  147391. return sink.array();
  147392. }
  147393. );
  147394. },
  147395. },
  147396. {
  147397. key: "compressChunks",
  147398. value: function compressChunks(
  147399. chunks,
  147400. size_hint,
  147401. compression_level
  147402. ) {
  147403. return withBindingInstance(
  147404. new binding.ZstdCompressStreamBinding(),
  147405. function (stream) {
  147406. var initial_size =
  147407. size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
  147408. var sink = new ArrayBufferSink(initial_size);
  147409. var callback = function callback(compressed) {
  147410. sink.concat(compressed);
  147411. };
  147412. var level = correctCompressionLevel(compression_level);
  147413. if (!stream.begin(level)) return null;
  147414. var _iteratorNormalCompletion = true;
  147415. var _didIteratorError = false;
  147416. var _iteratorError = undefined;
  147417. try {
  147418. for (
  147419. var _iterator = chunks[Symbol.iterator](), _step;
  147420. !(_iteratorNormalCompletion = (_step =
  147421. _iterator.next()).done);
  147422. _iteratorNormalCompletion = true
  147423. ) {
  147424. var chunk = _step.value;
  147425. if (!stream.transform(chunk, callback)) return null;
  147426. }
  147427. } catch (err) {
  147428. _didIteratorError = true;
  147429. _iteratorError = err;
  147430. } finally {
  147431. try {
  147432. if (!_iteratorNormalCompletion && _iterator.return) {
  147433. _iterator.return();
  147434. }
  147435. } finally {
  147436. if (_didIteratorError) {
  147437. throw _iteratorError;
  147438. }
  147439. }
  147440. }
  147441. if (!stream.end(callback)) return null;
  147442. return sink.array();
  147443. }
  147444. );
  147445. },
  147446. },
  147447. {
  147448. key: "compressUsingDict",
  147449. value: function compressUsingDict(content_bytes, cdict) {
  147450. return withBindingInstance(
  147451. new binding.ZstdCompressStreamBinding(),
  147452. function (stream) {
  147453. var initial_size = compressBoundImpl(
  147454. content_bytes.length
  147455. );
  147456. var sink = new ArrayBufferSink(initial_size);
  147457. var callback = function callback(compressed) {
  147458. sink.concat(compressed);
  147459. };
  147460. if (!stream.beginUsingDict(cdict.get())) return null;
  147461. if (!stream.transform(content_bytes, callback))
  147462. return null;
  147463. if (!stream.end(callback)) return null;
  147464. return sink.array();
  147465. }
  147466. );
  147467. },
  147468. },
  147469. {
  147470. key: "compressChunksUsingDict",
  147471. value: function compressChunksUsingDict(
  147472. chunks,
  147473. size_hint,
  147474. cdict
  147475. ) {
  147476. return withBindingInstance(
  147477. new binding.ZstdCompressStreamBinding(),
  147478. function (stream) {
  147479. var initial_size =
  147480. size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
  147481. var sink = new ArrayBufferSink(initial_size);
  147482. var callback = function callback(compressed) {
  147483. sink.concat(compressed);
  147484. };
  147485. if (!stream.beginUsingDict(cdict.get())) return null;
  147486. var _iteratorNormalCompletion2 = true;
  147487. var _didIteratorError2 = false;
  147488. var _iteratorError2 = undefined;
  147489. try {
  147490. for (
  147491. var _iterator2 = chunks[Symbol.iterator](), _step2;
  147492. !(_iteratorNormalCompletion2 = (_step2 =
  147493. _iterator2.next()).done);
  147494. _iteratorNormalCompletion2 = true
  147495. ) {
  147496. var chunk = _step2.value;
  147497. if (!stream.transform(chunk, callback)) return null;
  147498. }
  147499. } catch (err) {
  147500. _didIteratorError2 = true;
  147501. _iteratorError2 = err;
  147502. } finally {
  147503. try {
  147504. if (
  147505. !_iteratorNormalCompletion2 &&
  147506. _iterator2.return
  147507. ) {
  147508. _iterator2.return();
  147509. }
  147510. } finally {
  147511. if (_didIteratorError2) {
  147512. throw _iteratorError2;
  147513. }
  147514. }
  147515. }
  147516. if (!stream.end(callback)) return null;
  147517. return sink.array();
  147518. }
  147519. );
  147520. },
  147521. },
  147522. {
  147523. key: "decompress",
  147524. value: function decompress(compressed_bytes, size_hint) {
  147525. var _this = this;
  147526. return withBindingInstance(
  147527. new binding.ZstdDecompressStreamBinding(),
  147528. function (stream) {
  147529. var initial_size =
  147530. size_hint ||
  147531. _this._estimateContentSize(compressed_bytes);
  147532. var sink = new ArrayBufferSink(initial_size);
  147533. var callback = function callback(decompressed) {
  147534. sink.concat(decompressed);
  147535. };
  147536. if (!stream.begin()) return null;
  147537. if (!stream.transform(compressed_bytes, callback))
  147538. return null;
  147539. if (!stream.end(callback)) return null;
  147540. return sink.array();
  147541. }
  147542. );
  147543. },
  147544. },
  147545. {
  147546. key: "decompressChunks",
  147547. value: function decompressChunks(chunks, size_hint) {
  147548. return withBindingInstance(
  147549. new binding.ZstdDecompressStreamBinding(),
  147550. function (stream) {
  147551. var initial_size =
  147552. size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
  147553. var sink = new ArrayBufferSink(initial_size);
  147554. var callback = function callback(decompressed) {
  147555. sink.concat(decompressed);
  147556. };
  147557. if (!stream.begin()) return null;
  147558. var _iteratorNormalCompletion3 = true;
  147559. var _didIteratorError3 = false;
  147560. var _iteratorError3 = undefined;
  147561. try {
  147562. for (
  147563. var _iterator3 = chunks[Symbol.iterator](), _step3;
  147564. !(_iteratorNormalCompletion3 = (_step3 =
  147565. _iterator3.next()).done);
  147566. _iteratorNormalCompletion3 = true
  147567. ) {
  147568. var chunk = _step3.value;
  147569. if (!stream.transform(chunk, callback)) return null;
  147570. }
  147571. } catch (err) {
  147572. _didIteratorError3 = true;
  147573. _iteratorError3 = err;
  147574. } finally {
  147575. try {
  147576. if (
  147577. !_iteratorNormalCompletion3 &&
  147578. _iterator3.return
  147579. ) {
  147580. _iterator3.return();
  147581. }
  147582. } finally {
  147583. if (_didIteratorError3) {
  147584. throw _iteratorError3;
  147585. }
  147586. }
  147587. }
  147588. if (!stream.end(callback)) return null;
  147589. return sink.array();
  147590. }
  147591. );
  147592. },
  147593. },
  147594. {
  147595. key: "decompressUsingDict",
  147596. value: function decompressUsingDict(
  147597. compressed_bytes,
  147598. size_hint,
  147599. ddict
  147600. ) {
  147601. var _this2 = this;
  147602. return withBindingInstance(
  147603. new binding.ZstdDecompressStreamBinding(),
  147604. function (stream) {
  147605. var initial_size =
  147606. size_hint ||
  147607. _this2._estimateContentSize(compressed_bytes);
  147608. var sink = new ArrayBufferSink(initial_size);
  147609. var callback = function callback(decompressed) {
  147610. sink.concat(decompressed);
  147611. };
  147612. if (!stream.beginUsingDict(ddict.get())) return null;
  147613. if (!stream.transform(compressed_bytes, callback))
  147614. return null;
  147615. if (!stream.end(callback)) return null;
  147616. return sink.array();
  147617. }
  147618. );
  147619. },
  147620. },
  147621. {
  147622. key: "decompressChunksUsingDict",
  147623. value: function decompressChunksUsingDict(
  147624. chunks,
  147625. size_hint,
  147626. ddict
  147627. ) {
  147628. return withBindingInstance(
  147629. new binding.ZstdDecompressStreamBinding(),
  147630. function (stream) {
  147631. var initial_size =
  147632. size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
  147633. var sink = new ArrayBufferSink(initial_size);
  147634. var callback = function callback(decompressed) {
  147635. sink.concat(decompressed);
  147636. };
  147637. if (!stream.beginUsingDict(ddict.get())) return null;
  147638. var _iteratorNormalCompletion4 = true;
  147639. var _didIteratorError4 = false;
  147640. var _iteratorError4 = undefined;
  147641. try {
  147642. for (
  147643. var _iterator4 = chunks[Symbol.iterator](), _step4;
  147644. !(_iteratorNormalCompletion4 = (_step4 =
  147645. _iterator4.next()).done);
  147646. _iteratorNormalCompletion4 = true
  147647. ) {
  147648. var chunk = _step4.value;
  147649. if (!stream.transform(chunk, callback)) return null;
  147650. }
  147651. } catch (err) {
  147652. _didIteratorError4 = true;
  147653. _iteratorError4 = err;
  147654. } finally {
  147655. try {
  147656. if (
  147657. !_iteratorNormalCompletion4 &&
  147658. _iterator4.return
  147659. ) {
  147660. _iterator4.return();
  147661. }
  147662. } finally {
  147663. if (_didIteratorError4) {
  147664. throw _iteratorError4;
  147665. }
  147666. }
  147667. }
  147668. if (!stream.end(callback)) return null;
  147669. return sink.array();
  147670. }
  147671. );
  147672. },
  147673. },
  147674. {
  147675. key: "_estimateContentSize",
  147676. value: function _estimateContentSize(compressed_bytes) {
  147677. // REF: https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/
  147678. // with lzbench, ratio=3.11 .. 3.14. round up to integer
  147679. return compressed_bytes.length * 4;
  147680. },
  147681. },
  147682. ]);
  147683. return Streaming;
  147684. })();
  147685. var ZstdCompressionDict = (function () {
  147686. function ZstdCompressionDict(dict_bytes, compression_level) {
  147687. _classCallCheck(this, ZstdCompressionDict);
  147688. this.binding = binding.createCompressionDict(
  147689. dict_bytes,
  147690. compression_level
  147691. );
  147692. }
  147693. _createClass(ZstdCompressionDict, [
  147694. {
  147695. key: "get",
  147696. value: function get() {
  147697. return this.binding;
  147698. },
  147699. },
  147700. {
  147701. key: "close",
  147702. value: function close() {
  147703. if (this.binding) {
  147704. this.binding.delete();
  147705. }
  147706. },
  147707. },
  147708. {
  147709. key: "delete",
  147710. value: function _delete() {
  147711. this.close();
  147712. },
  147713. },
  147714. ]);
  147715. return ZstdCompressionDict;
  147716. })();
  147717. var ZstdDecompressionDict = (function () {
  147718. function ZstdDecompressionDict(dict_bytes) {
  147719. _classCallCheck(this, ZstdDecompressionDict);
  147720. this.binding = new binding.createDecompressionDict(dict_bytes);
  147721. }
  147722. _createClass(ZstdDecompressionDict, [
  147723. {
  147724. key: "get",
  147725. value: function get() {
  147726. return this.binding;
  147727. },
  147728. },
  147729. {
  147730. key: "close",
  147731. value: function close() {
  147732. if (this.binding) {
  147733. this.binding.delete();
  147734. }
  147735. },
  147736. },
  147737. {
  147738. key: "delete",
  147739. value: function _delete() {
  147740. this.close();
  147741. },
  147742. },
  147743. ]);
  147744. return ZstdDecompressionDict;
  147745. })();
  147746. var zstd = {};
  147747. zstd.Generic = Generic;
  147748. zstd.Simple = Simple;
  147749. zstd.Streaming = Streaming;
  147750. zstd.Dict = {};
  147751. zstd.Dict.Compress = ZstdCompressionDict;
  147752. zstd.Dict.Decompress = ZstdDecompressionDict;
  147753. return zstd;
  147754. };
  147755. exports.run = function (f) {
  147756. return require("./module.js").run(function (binding) {
  147757. var zstd = onReady(binding);
  147758. f(zstd);
  147759. });
  147760. };
  147761. },
  147762. { "./constants.js": 2, "./helpers.js": 3, "./module.js": 4 },
  147763. ],
  147764. 8: [
  147765. function (require, module, exports) {
  147766. "use strict";
  147767. var _typeof =
  147768. typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
  147769. ? function (obj) {
  147770. return typeof obj;
  147771. }
  147772. : function (obj) {
  147773. return obj &&
  147774. typeof Symbol === "function" &&
  147775. obj.constructor === Symbol &&
  147776. obj !== Symbol.prototype
  147777. ? "symbol"
  147778. : typeof obj;
  147779. };
  147780. var _createClass = (function () {
  147781. function defineProperties(target, props) {
  147782. for (var i = 0; i < props.length; i++) {
  147783. var descriptor = props[i];
  147784. descriptor.enumerable = descriptor.enumerable || false;
  147785. descriptor.configurable = true;
  147786. if ("value" in descriptor) descriptor.writable = true;
  147787. Object.defineProperty(target, descriptor.key, descriptor);
  147788. }
  147789. }
  147790. return function (Constructor, protoProps, staticProps) {
  147791. if (protoProps) defineProperties(Constructor.prototype, protoProps);
  147792. if (staticProps) defineProperties(Constructor, staticProps);
  147793. return Constructor;
  147794. };
  147795. })();
  147796. function _classCallCheck(instance, Constructor) {
  147797. if (!(instance instanceof Constructor)) {
  147798. throw new TypeError("Cannot call a class as a function");
  147799. }
  147800. }
  147801. function _possibleConstructorReturn(self, call) {
  147802. if (!self) {
  147803. throw new ReferenceError(
  147804. "this hasn't been initialised - super() hasn't been called"
  147805. );
  147806. }
  147807. return call &&
  147808. (typeof call === "object" || typeof call === "function")
  147809. ? call
  147810. : self;
  147811. }
  147812. function _inherits(subClass, superClass) {
  147813. if (typeof superClass !== "function" && superClass !== null) {
  147814. throw new TypeError(
  147815. "Super expression must either be null or a function, not " +
  147816. typeof superClass
  147817. );
  147818. }
  147819. subClass.prototype = Object.create(
  147820. superClass && superClass.prototype,
  147821. {
  147822. constructor: {
  147823. value: subClass,
  147824. enumerable: false,
  147825. writable: true,
  147826. configurable: true,
  147827. },
  147828. }
  147829. );
  147830. if (superClass)
  147831. Object.setPrototypeOf
  147832. ? Object.setPrototypeOf(subClass, superClass)
  147833. : (subClass.__proto__ = superClass);
  147834. }
  147835. var stream = require("stream");
  147836. var binding = require("./module.js").Binding;
  147837. var constants = require("./constants.js");
  147838. var helpers = require("./helpers.js");
  147839. var getClassName = helpers.getClassName;
  147840. var toTypedArray = helpers.toTypedArray;
  147841. var fromTypedArrayToBuffer = helpers.fromTypedArrayToBuffer;
  147842. var onReady = function onReady(binding) {
  147843. var ZstdCompressTransform = (function (_stream$Transform) {
  147844. _inherits(ZstdCompressTransform, _stream$Transform);
  147845. function ZstdCompressTransform(
  147846. compression_level,
  147847. string_decoder,
  147848. option
  147849. ) {
  147850. _classCallCheck(this, ZstdCompressTransform);
  147851. var _this = _possibleConstructorReturn(
  147852. this,
  147853. (
  147854. ZstdCompressTransform.__proto__ ||
  147855. Object.getPrototypeOf(ZstdCompressTransform)
  147856. ).call(this, option || {})
  147857. );
  147858. _this.string_decoder = string_decoder;
  147859. _this.binding = new binding.ZstdCompressStreamBinding();
  147860. _this.binding.begin(
  147861. compression_level || constants.DEFAULT_COMPRESSION_LEVEL
  147862. );
  147863. _this.callback = function (compressed) {
  147864. _this.push(fromTypedArrayToBuffer(compressed), "buffer");
  147865. };
  147866. return _this;
  147867. }
  147868. _createClass(ZstdCompressTransform, [
  147869. {
  147870. key: "_transform",
  147871. value: function _transform(chunk, encoding, callback) {
  147872. var chunkBytes = toTypedArray(
  147873. chunk,
  147874. encoding,
  147875. this.string_decoder
  147876. );
  147877. if (!chunkBytes) {
  147878. var type_name =
  147879. getClassName(chunk) ||
  147880. (typeof chunk === "undefined"
  147881. ? "undefined"
  147882. : _typeof(chunk));
  147883. callback(new Error("unsupported chunk type: " + type_name));
  147884. return;
  147885. }
  147886. if (this.binding.transform(chunkBytes, this.callback)) {
  147887. callback();
  147888. } else {
  147889. callback(
  147890. new Error("ZstdDecompressTransform: Error on _transform")
  147891. );
  147892. }
  147893. },
  147894. },
  147895. {
  147896. key: "_flush",
  147897. value: function _flush(callback) {
  147898. if (this.binding.flush(this.callback)) {
  147899. callback();
  147900. } else {
  147901. callback(
  147902. new Error("ZstdDecompressTransform: Error on _flush")
  147903. );
  147904. }
  147905. },
  147906. },
  147907. {
  147908. key: "_final",
  147909. value: function _final(callback) {
  147910. if (this.binding.end(this.callback)) {
  147911. callback();
  147912. } else {
  147913. callback(
  147914. new Error("ZstdDecompressTransform: Error on _final")
  147915. );
  147916. }
  147917. },
  147918. },
  147919. ]);
  147920. return ZstdCompressTransform;
  147921. })(stream.Transform);
  147922. var ZstdDecompressTransform = (function (_stream$Transform2) {
  147923. _inherits(ZstdDecompressTransform, _stream$Transform2);
  147924. function ZstdDecompressTransform(option) {
  147925. _classCallCheck(this, ZstdDecompressTransform);
  147926. var _this2 = _possibleConstructorReturn(
  147927. this,
  147928. (
  147929. ZstdDecompressTransform.__proto__ ||
  147930. Object.getPrototypeOf(ZstdDecompressTransform)
  147931. ).call(this, option || {})
  147932. );
  147933. _this2.binding = new binding.ZstdDecompressStreamBinding();
  147934. _this2.binding.begin();
  147935. _this2.callback = function (decompressed) {
  147936. _this2.push(fromTypedArrayToBuffer(decompressed), "buffer");
  147937. };
  147938. return _this2;
  147939. }
  147940. _createClass(ZstdDecompressTransform, [
  147941. {
  147942. key: "_transform",
  147943. value: function _transform(chunk, encoding, callback) {
  147944. var chunkBytes = toTypedArray(
  147945. chunk,
  147946. encoding,
  147947. this.string_decoder
  147948. );
  147949. if (!chunkBytes) {
  147950. var type_name =
  147951. getClassName(chunk) ||
  147952. (typeof chunk === "undefined"
  147953. ? "undefined"
  147954. : _typeof(chunk));
  147955. callback(new Error("unsupported chunk type: " + type_name));
  147956. return;
  147957. }
  147958. if (this.binding.transform(chunk, this.callback)) {
  147959. callback();
  147960. } else {
  147961. callback(
  147962. new Error("ZstdDecompressTransform: Error on _transform")
  147963. );
  147964. }
  147965. },
  147966. },
  147967. {
  147968. key: "_flush",
  147969. value: function _flush(callback) {
  147970. if (this.binding.flush(this.callback)) {
  147971. callback();
  147972. } else {
  147973. callback(
  147974. new Error("ZstdDecompressTransform: Error on _flush")
  147975. );
  147976. }
  147977. },
  147978. },
  147979. {
  147980. key: "_final",
  147981. value: function _final(callback) {
  147982. if (this.binding.end(this.callback)) {
  147983. callback();
  147984. } else {
  147985. callback(
  147986. new Error("ZstdDecompressTransform: Error on _final")
  147987. );
  147988. }
  147989. },
  147990. },
  147991. ]);
  147992. return ZstdDecompressTransform;
  147993. })(stream.Transform);
  147994. var streams = {};
  147995. streams.ZstdCompressTransform = ZstdCompressTransform;
  147996. streams.ZstdDecompressTransform = ZstdDecompressTransform;
  147997. return streams;
  147998. };
  147999. exports = function exports(f) {
  148000. return require("./module.js").then(function (binding) {
  148001. var streams = onReady(binding);
  148002. f(streams);
  148003. });
  148004. };
  148005. },
  148006. { "./constants.js": 2, "./helpers.js": 3, "./module.js": 4, stream: 157 },
  148007. ],
  148008. 9: [function (require, module, exports) {}, {}],
  148009. 10: [
  148010. function (require, module, exports) {
  148011. var asn1 = exports;
  148012. asn1.bignum = require("bn.js");
  148013. asn1.define = require("./asn1/api.js").define;
  148014. asn1.base = require("./asn1/base.js");
  148015. asn1.constants = require("./asn1/constants.js");
  148016. asn1.decoders = require("./asn1/decoders.js");
  148017. asn1.encoders = require("./asn1/encoders.js");
  148018. },
  148019. {
  148020. "./asn1/api": 11,
  148021. "./asn1/base": 13,
  148022. "./asn1/constants": 17,
  148023. "./asn1/decoders": 19,
  148024. "./asn1/encoders": 22,
  148025. "bn.js": 25,
  148026. },
  148027. ],
  148028. 11: [
  148029. function (require, module, exports) {
  148030. var asn1 = require("../asn1.js");
  148031. var inherits = require("inherits");
  148032. var api = exports;
  148033. api.define = function define(name, body) {
  148034. return new Entity(name, body);
  148035. };
  148036. function Entity(name, body) {
  148037. this.name = name;
  148038. this.body = body;
  148039. this.decoders = {};
  148040. this.encoders = {};
  148041. }
  148042. Entity.prototype._createNamed = function createNamed(base) {
  148043. var named;
  148044. try {
  148045. named = require("vm").runInThisContext(
  148046. "(function " +
  148047. this.name +
  148048. "(entity) {\n" +
  148049. " this._initNamed(entity);\n" +
  148050. "})"
  148051. );
  148052. } catch (e) {
  148053. named = function (entity) {
  148054. this._initNamed(entity);
  148055. };
  148056. }
  148057. inherits(named, base);
  148058. named.prototype._initNamed = function initnamed(entity) {
  148059. base.call(this, entity);
  148060. };
  148061. return new named(this);
  148062. };
  148063. Entity.prototype._getDecoder = function _getDecoder(enc) {
  148064. enc = enc || "der";
  148065. // Lazily create decoder
  148066. if (!this.decoders.hasOwnProperty(enc))
  148067. this.decoders[enc] = this._createNamed(asn1.decoders[enc]);
  148068. return this.decoders[enc];
  148069. };
  148070. Entity.prototype.decode = function decode(data, enc, options) {
  148071. return this._getDecoder(enc).decode(data, options);
  148072. };
  148073. Entity.prototype._getEncoder = function _getEncoder(enc) {
  148074. enc = enc || "der";
  148075. // Lazily create encoder
  148076. if (!this.encoders.hasOwnProperty(enc))
  148077. this.encoders[enc] = this._createNamed(asn1.encoders[enc]);
  148078. return this.encoders[enc];
  148079. };
  148080. Entity.prototype.encode = function encode(
  148081. data,
  148082. enc,
  148083. /* internal */ reporter
  148084. ) {
  148085. return this._getEncoder(enc).encode(data, reporter);
  148086. };
  148087. },
  148088. { "../asn1": 10, inherits: 108, vm: 160 },
  148089. ],
  148090. 12: [
  148091. function (require, module, exports) {
  148092. var inherits = require("inherits");
  148093. var Reporter = require("../base.js").Reporter;
  148094. var Buffer = require("buffer").Buffer;
  148095. function DecoderBuffer(base, options) {
  148096. Reporter.call(this, options);
  148097. if (!Buffer.isBuffer(base)) {
  148098. this.error("Input not Buffer");
  148099. return;
  148100. }
  148101. this.base = base;
  148102. this.offset = 0;
  148103. this.length = base.length;
  148104. }
  148105. inherits(DecoderBuffer, Reporter);
  148106. exports.DecoderBuffer = DecoderBuffer;
  148107. DecoderBuffer.prototype.save = function save() {
  148108. return {
  148109. offset: this.offset,
  148110. reporter: Reporter.prototype.save.call(this),
  148111. };
  148112. };
  148113. DecoderBuffer.prototype.restore = function restore(save) {
  148114. // Return skipped data
  148115. var res = new DecoderBuffer(this.base);
  148116. res.offset = save.offset;
  148117. res.length = this.offset;
  148118. this.offset = save.offset;
  148119. Reporter.prototype.restore.call(this, save.reporter);
  148120. return res;
  148121. };
  148122. DecoderBuffer.prototype.isEmpty = function isEmpty() {
  148123. return this.offset === this.length;
  148124. };
  148125. DecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {
  148126. if (this.offset + 1 <= this.length)
  148127. return this.base.readUInt8(this.offset++, true);
  148128. else return this.error(fail || "DecoderBuffer overrun");
  148129. };
  148130. DecoderBuffer.prototype.skip = function skip(bytes, fail) {
  148131. if (!(this.offset + bytes <= this.length))
  148132. return this.error(fail || "DecoderBuffer overrun");
  148133. var res = new DecoderBuffer(this.base);
  148134. // Share reporter state
  148135. res._reporterState = this._reporterState;
  148136. res.offset = this.offset;
  148137. res.length = this.offset + bytes;
  148138. this.offset += bytes;
  148139. return res;
  148140. };
  148141. DecoderBuffer.prototype.raw = function raw(save) {
  148142. return this.base.slice(save ? save.offset : this.offset, this.length);
  148143. };
  148144. function EncoderBuffer(value, reporter) {
  148145. if (Array.isArray(value)) {
  148146. this.length = 0;
  148147. this.value = value.map(function (item) {
  148148. if (!(item instanceof EncoderBuffer))
  148149. item = new EncoderBuffer(item, reporter);
  148150. this.length += item.length;
  148151. return item;
  148152. }, this);
  148153. } else if (typeof value === "number") {
  148154. if (!(0 <= value && value <= 0xff))
  148155. return reporter.error("non-byte EncoderBuffer value");
  148156. this.value = value;
  148157. this.length = 1;
  148158. } else if (typeof value === "string") {
  148159. this.value = value;
  148160. this.length = Buffer.byteLength(value);
  148161. } else if (Buffer.isBuffer(value)) {
  148162. this.value = value;
  148163. this.length = value.length;
  148164. } else {
  148165. return reporter.error("Unsupported type: " + typeof value);
  148166. }
  148167. }
  148168. exports.EncoderBuffer = EncoderBuffer;
  148169. EncoderBuffer.prototype.join = function join(out, offset) {
  148170. if (!out) out = new Buffer(this.length);
  148171. if (!offset) offset = 0;
  148172. if (this.length === 0) return out;
  148173. if (Array.isArray(this.value)) {
  148174. this.value.forEach(function (item) {
  148175. item.join(out, offset);
  148176. offset += item.length;
  148177. });
  148178. } else {
  148179. if (typeof this.value === "number") out[offset] = this.value;
  148180. else if (typeof this.value === "string")
  148181. out.write(this.value, offset);
  148182. else if (Buffer.isBuffer(this.value)) this.value.copy(out, offset);
  148183. offset += this.length;
  148184. }
  148185. return out;
  148186. };
  148187. },
  148188. { "../base": 13, buffer: 54, inherits: 108 },
  148189. ],
  148190. 13: [
  148191. function (require, module, exports) {
  148192. var base = exports;
  148193. base.Reporter = require("./reporter.js").Reporter;
  148194. base.DecoderBuffer = require("./buffer.js").DecoderBuffer;
  148195. base.EncoderBuffer = require("./buffer.js").EncoderBuffer;
  148196. base.Node = require("./node.js");
  148197. },
  148198. { "./buffer": 12, "./node": 14, "./reporter": 15 },
  148199. ],
  148200. 14: [
  148201. function (require, module, exports) {
  148202. var Reporter = require("../base.js").Reporter;
  148203. var EncoderBuffer = require("../base.js").EncoderBuffer;
  148204. var DecoderBuffer = require("../base.js").DecoderBuffer;
  148205. var assert = require("minimalistic-assert");
  148206. // Supported tags
  148207. var tags = [
  148208. "seq",
  148209. "seqof",
  148210. "set",
  148211. "setof",
  148212. "objid",
  148213. "bool",
  148214. "gentime",
  148215. "utctime",
  148216. "null_",
  148217. "enum",
  148218. "int",
  148219. "objDesc",
  148220. "bitstr",
  148221. "bmpstr",
  148222. "charstr",
  148223. "genstr",
  148224. "graphstr",
  148225. "ia5str",
  148226. "iso646str",
  148227. "numstr",
  148228. "octstr",
  148229. "printstr",
  148230. "t61str",
  148231. "unistr",
  148232. "utf8str",
  148233. "videostr",
  148234. ];
  148235. // Public methods list
  148236. var methods = [
  148237. "key",
  148238. "obj",
  148239. "use",
  148240. "optional",
  148241. "explicit",
  148242. "implicit",
  148243. "def",
  148244. "choice",
  148245. "any",
  148246. "contains",
  148247. ].concat(tags);
  148248. // Overrided methods list
  148249. var overrided = [
  148250. "_peekTag",
  148251. "_decodeTag",
  148252. "_use",
  148253. "_decodeStr",
  148254. "_decodeObjid",
  148255. "_decodeTime",
  148256. "_decodeNull",
  148257. "_decodeInt",
  148258. "_decodeBool",
  148259. "_decodeList",
  148260. "_encodeComposite",
  148261. "_encodeStr",
  148262. "_encodeObjid",
  148263. "_encodeTime",
  148264. "_encodeNull",
  148265. "_encodeInt",
  148266. "_encodeBool",
  148267. ];
  148268. function Node(enc, parent) {
  148269. var state = {};
  148270. this._baseState = state;
  148271. state.enc = enc;
  148272. state.parent = parent || null;
  148273. state.children = null;
  148274. // State
  148275. state.tag = null;
  148276. state.args = null;
  148277. state.reverseArgs = null;
  148278. state.choice = null;
  148279. state.optional = false;
  148280. state.any = false;
  148281. state.obj = false;
  148282. state.use = null;
  148283. state.useDecoder = null;
  148284. state.key = null;
  148285. state["default"] = null;
  148286. state.explicit = null;
  148287. state.implicit = null;
  148288. state.contains = null;
  148289. // Should create new instance on each method
  148290. if (!state.parent) {
  148291. state.children = [];
  148292. this._wrap();
  148293. }
  148294. }
  148295. module.exports = Node;
  148296. var stateProps = [
  148297. "enc",
  148298. "parent",
  148299. "children",
  148300. "tag",
  148301. "args",
  148302. "reverseArgs",
  148303. "choice",
  148304. "optional",
  148305. "any",
  148306. "obj",
  148307. "use",
  148308. "alteredUse",
  148309. "key",
  148310. "default",
  148311. "explicit",
  148312. "implicit",
  148313. "contains",
  148314. ];
  148315. Node.prototype.clone = function clone() {
  148316. var state = this._baseState;
  148317. var cstate = {};
  148318. stateProps.forEach(function (prop) {
  148319. cstate[prop] = state[prop];
  148320. });
  148321. var res = new this.constructor(cstate.parent);
  148322. res._baseState = cstate;
  148323. return res;
  148324. };
  148325. Node.prototype._wrap = function wrap() {
  148326. var state = this._baseState;
  148327. methods.forEach(function (method) {
  148328. this[method] = function _wrappedMethod() {
  148329. var clone = new this.constructor(this);
  148330. state.children.push(clone);
  148331. return clone[method].apply(clone, arguments);
  148332. };
  148333. }, this);
  148334. };
  148335. Node.prototype._init = function init(body) {
  148336. var state = this._baseState;
  148337. assert(state.parent === null);
  148338. body.call(this);
  148339. // Filter children
  148340. state.children = state.children.filter(function (child) {
  148341. return child._baseState.parent === this;
  148342. }, this);
  148343. assert.equal(
  148344. state.children.length,
  148345. 1,
  148346. "Root node can have only one child"
  148347. );
  148348. };
  148349. Node.prototype._useArgs = function useArgs(args) {
  148350. var state = this._baseState;
  148351. // Filter children and args
  148352. var children = args.filter(function (arg) {
  148353. return arg instanceof this.constructor;
  148354. }, this);
  148355. args = args.filter(function (arg) {
  148356. return !(arg instanceof this.constructor);
  148357. }, this);
  148358. if (children.length !== 0) {
  148359. assert(state.children === null);
  148360. state.children = children;
  148361. // Replace parent to maintain backward link
  148362. children.forEach(function (child) {
  148363. child._baseState.parent = this;
  148364. }, this);
  148365. }
  148366. if (args.length !== 0) {
  148367. assert(state.args === null);
  148368. state.args = args;
  148369. state.reverseArgs = args.map(function (arg) {
  148370. if (typeof arg !== "object" || arg.constructor !== Object)
  148371. return arg;
  148372. var res = {};
  148373. Object.keys(arg).forEach(function (key) {
  148374. if (key == (key | 0)) key |= 0;
  148375. var value = arg[key];
  148376. res[value] = key;
  148377. });
  148378. return res;
  148379. });
  148380. }
  148381. };
  148382. //
  148383. // Overrided methods
  148384. //
  148385. overrided.forEach(function (method) {
  148386. Node.prototype[method] = function _overrided() {
  148387. var state = this._baseState;
  148388. throw new Error(
  148389. method + " not implemented for encoding: " + state.enc
  148390. );
  148391. };
  148392. });
  148393. //
  148394. // Public methods
  148395. //
  148396. tags.forEach(function (tag) {
  148397. Node.prototype[tag] = function _tagMethod() {
  148398. var state = this._baseState;
  148399. var args = Array.prototype.slice.call(arguments);
  148400. assert(state.tag === null);
  148401. state.tag = tag;
  148402. this._useArgs(args);
  148403. return this;
  148404. };
  148405. });
  148406. Node.prototype.use = function use(item) {
  148407. assert(item);
  148408. var state = this._baseState;
  148409. assert(state.use === null);
  148410. state.use = item;
  148411. return this;
  148412. };
  148413. Node.prototype.optional = function optional() {
  148414. var state = this._baseState;
  148415. state.optional = true;
  148416. return this;
  148417. };
  148418. Node.prototype.def = function def(val) {
  148419. var state = this._baseState;
  148420. assert(state["default"] === null);
  148421. state["default"] = val;
  148422. state.optional = true;
  148423. return this;
  148424. };
  148425. Node.prototype.explicit = function explicit(num) {
  148426. var state = this._baseState;
  148427. assert(state.explicit === null && state.implicit === null);
  148428. state.explicit = num;
  148429. return this;
  148430. };
  148431. Node.prototype.implicit = function implicit(num) {
  148432. var state = this._baseState;
  148433. assert(state.explicit === null && state.implicit === null);
  148434. state.implicit = num;
  148435. return this;
  148436. };
  148437. Node.prototype.obj = function obj() {
  148438. var state = this._baseState;
  148439. var args = Array.prototype.slice.call(arguments);
  148440. state.obj = true;
  148441. if (args.length !== 0) this._useArgs(args);
  148442. return this;
  148443. };
  148444. Node.prototype.key = function key(newKey) {
  148445. var state = this._baseState;
  148446. assert(state.key === null);
  148447. state.key = newKey;
  148448. return this;
  148449. };
  148450. Node.prototype.any = function any() {
  148451. var state = this._baseState;
  148452. state.any = true;
  148453. return this;
  148454. };
  148455. Node.prototype.choice = function choice(obj) {
  148456. var state = this._baseState;
  148457. assert(state.choice === null);
  148458. state.choice = obj;
  148459. this._useArgs(
  148460. Object.keys(obj).map(function (key) {
  148461. return obj[key];
  148462. })
  148463. );
  148464. return this;
  148465. };
  148466. Node.prototype.contains = function contains(item) {
  148467. var state = this._baseState;
  148468. assert(state.use === null);
  148469. state.contains = item;
  148470. return this;
  148471. };
  148472. //
  148473. // Decoding
  148474. //
  148475. Node.prototype._decode = function decode(input, options) {
  148476. var state = this._baseState;
  148477. // Decode root node
  148478. if (state.parent === null)
  148479. return input.wrapResult(state.children[0]._decode(input, options));
  148480. var result = state["default"];
  148481. var present = true;
  148482. var prevKey = null;
  148483. if (state.key !== null) prevKey = input.enterKey(state.key);
  148484. // Check if tag is there
  148485. if (state.optional) {
  148486. var tag = null;
  148487. if (state.explicit !== null) tag = state.explicit;
  148488. else if (state.implicit !== null) tag = state.implicit;
  148489. else if (state.tag !== null) tag = state.tag;
  148490. if (tag === null && !state.any) {
  148491. // Trial and Error
  148492. var save = input.save();
  148493. try {
  148494. if (state.choice === null)
  148495. this._decodeGeneric(state.tag, input, options);
  148496. else this._decodeChoice(input, options);
  148497. present = true;
  148498. } catch (e) {
  148499. present = false;
  148500. }
  148501. input.restore(save);
  148502. } else {
  148503. present = this._peekTag(input, tag, state.any);
  148504. if (input.isError(present)) return present;
  148505. }
  148506. }
  148507. // Push object on stack
  148508. var prevObj;
  148509. if (state.obj && present) prevObj = input.enterObject();
  148510. if (present) {
  148511. // Unwrap explicit values
  148512. if (state.explicit !== null) {
  148513. var explicit = this._decodeTag(input, state.explicit);
  148514. if (input.isError(explicit)) return explicit;
  148515. input = explicit;
  148516. }
  148517. var start = input.offset;
  148518. // Unwrap implicit and normal values
  148519. if (state.use === null && state.choice === null) {
  148520. if (state.any) var save = input.save();
  148521. var body = this._decodeTag(
  148522. input,
  148523. state.implicit !== null ? state.implicit : state.tag,
  148524. state.any
  148525. );
  148526. if (input.isError(body)) return body;
  148527. if (state.any) result = input.raw(save);
  148528. else input = body;
  148529. }
  148530. if (options && options.track && state.tag !== null)
  148531. options.track(input.path(), start, input.length, "tagged");
  148532. if (options && options.track && state.tag !== null)
  148533. options.track(
  148534. input.path(),
  148535. input.offset,
  148536. input.length,
  148537. "content"
  148538. );
  148539. // Select proper method for tag
  148540. if (state.any) result = result;
  148541. else if (state.choice === null)
  148542. result = this._decodeGeneric(state.tag, input, options);
  148543. else result = this._decodeChoice(input, options);
  148544. if (input.isError(result)) return result;
  148545. // Decode children
  148546. if (
  148547. !state.any &&
  148548. state.choice === null &&
  148549. state.children !== null
  148550. ) {
  148551. state.children.forEach(function decodeChildren(child) {
  148552. // NOTE: We are ignoring errors here, to let parser continue with other
  148553. // parts of encoded data
  148554. child._decode(input, options);
  148555. });
  148556. }
  148557. // Decode contained/encoded by schema, only in bit or octet strings
  148558. if (
  148559. state.contains &&
  148560. (state.tag === "octstr" || state.tag === "bitstr")
  148561. ) {
  148562. var data = new DecoderBuffer(result);
  148563. result = this._getUse(
  148564. state.contains,
  148565. input._reporterState.obj
  148566. )._decode(data, options);
  148567. }
  148568. }
  148569. // Pop object
  148570. if (state.obj && present) result = input.leaveObject(prevObj);
  148571. // Set key
  148572. if (state.key !== null && (result !== null || present === true))
  148573. input.leaveKey(prevKey, state.key, result);
  148574. else if (prevKey !== null) input.exitKey(prevKey);
  148575. return result;
  148576. };
  148577. Node.prototype._decodeGeneric = function decodeGeneric(
  148578. tag,
  148579. input,
  148580. options
  148581. ) {
  148582. var state = this._baseState;
  148583. if (tag === "seq" || tag === "set") return null;
  148584. if (tag === "seqof" || tag === "setof")
  148585. return this._decodeList(input, tag, state.args[0], options);
  148586. else if (/str$/.test(tag))
  148587. return this._decodeStr(input, tag, options);
  148588. else if (tag === "objid" && state.args)
  148589. return this._decodeObjid(
  148590. input,
  148591. state.args[0],
  148592. state.args[1],
  148593. options
  148594. );
  148595. else if (tag === "objid")
  148596. return this._decodeObjid(input, null, null, options);
  148597. else if (tag === "gentime" || tag === "utctime")
  148598. return this._decodeTime(input, tag, options);
  148599. else if (tag === "null_") return this._decodeNull(input, options);
  148600. else if (tag === "bool") return this._decodeBool(input, options);
  148601. else if (tag === "objDesc")
  148602. return this._decodeStr(input, tag, options);
  148603. else if (tag === "int" || tag === "enum")
  148604. return this._decodeInt(input, state.args && state.args[0], options);
  148605. if (state.use !== null) {
  148606. return this._getUse(state.use, input._reporterState.obj)._decode(
  148607. input,
  148608. options
  148609. );
  148610. } else {
  148611. return input.error("unknown tag: " + tag);
  148612. }
  148613. };
  148614. Node.prototype._getUse = function _getUse(entity, obj) {
  148615. var state = this._baseState;
  148616. // Create altered use decoder if implicit is set
  148617. state.useDecoder = this._use(entity, obj);
  148618. assert(state.useDecoder._baseState.parent === null);
  148619. state.useDecoder = state.useDecoder._baseState.children[0];
  148620. if (state.implicit !== state.useDecoder._baseState.implicit) {
  148621. state.useDecoder = state.useDecoder.clone();
  148622. state.useDecoder._baseState.implicit = state.implicit;
  148623. }
  148624. return state.useDecoder;
  148625. };
  148626. Node.prototype._decodeChoice = function decodeChoice(input, options) {
  148627. var state = this._baseState;
  148628. var result = null;
  148629. var match = false;
  148630. Object.keys(state.choice).some(function (key) {
  148631. var save = input.save();
  148632. var node = state.choice[key];
  148633. try {
  148634. var value = node._decode(input, options);
  148635. if (input.isError(value)) return false;
  148636. result = { type: key, value: value };
  148637. match = true;
  148638. } catch (e) {
  148639. input.restore(save);
  148640. return false;
  148641. }
  148642. return true;
  148643. }, this);
  148644. if (!match) return input.error("Choice not matched");
  148645. return result;
  148646. };
  148647. //
  148648. // Encoding
  148649. //
  148650. Node.prototype._createEncoderBuffer = function createEncoderBuffer(
  148651. data
  148652. ) {
  148653. return new EncoderBuffer(data, this.reporter);
  148654. };
  148655. Node.prototype._encode = function encode(data, reporter, parent) {
  148656. var state = this._baseState;
  148657. if (state["default"] !== null && state["default"] === data) return;
  148658. var result = this._encodeValue(data, reporter, parent);
  148659. if (result === undefined) return;
  148660. if (this._skipDefault(result, reporter, parent)) return;
  148661. return result;
  148662. };
  148663. Node.prototype._encodeValue = function encode(data, reporter, parent) {
  148664. var state = this._baseState;
  148665. // Decode root node
  148666. if (state.parent === null)
  148667. return state.children[0]._encode(data, reporter || new Reporter());
  148668. var result = null;
  148669. // Set reporter to share it with a child class
  148670. this.reporter = reporter;
  148671. // Check if data is there
  148672. if (state.optional && data === undefined) {
  148673. if (state["default"] !== null) data = state["default"];
  148674. else return;
  148675. }
  148676. // Encode children first
  148677. var content = null;
  148678. var primitive = false;
  148679. if (state.any) {
  148680. // Anything that was given is translated to buffer
  148681. result = this._createEncoderBuffer(data);
  148682. } else if (state.choice) {
  148683. result = this._encodeChoice(data, reporter);
  148684. } else if (state.contains) {
  148685. content = this._getUse(state.contains, parent)._encode(
  148686. data,
  148687. reporter
  148688. );
  148689. primitive = true;
  148690. } else if (state.children) {
  148691. content = state.children
  148692. .map(function (child) {
  148693. if (child._baseState.tag === "null_")
  148694. return child._encode(null, reporter, data);
  148695. if (child._baseState.key === null)
  148696. return reporter.error("Child should have a key");
  148697. var prevKey = reporter.enterKey(child._baseState.key);
  148698. if (typeof data !== "object")
  148699. return reporter.error(
  148700. "Child expected, but input is not object"
  148701. );
  148702. var res = child._encode(
  148703. data[child._baseState.key],
  148704. reporter,
  148705. data
  148706. );
  148707. reporter.leaveKey(prevKey);
  148708. return res;
  148709. }, this)
  148710. .filter(function (child) {
  148711. return child;
  148712. });
  148713. content = this._createEncoderBuffer(content);
  148714. } else {
  148715. if (state.tag === "seqof" || state.tag === "setof") {
  148716. // TODO(indutny): this should be thrown on DSL level
  148717. if (!(state.args && state.args.length === 1))
  148718. return reporter.error("Too many args for : " + state.tag);
  148719. if (!Array.isArray(data))
  148720. return reporter.error("seqof/setof, but data is not Array");
  148721. var child = this.clone();
  148722. child._baseState.implicit = null;
  148723. content = this._createEncoderBuffer(
  148724. data.map(function (item) {
  148725. var state = this._baseState;
  148726. return this._getUse(state.args[0], data)._encode(
  148727. item,
  148728. reporter
  148729. );
  148730. }, child)
  148731. );
  148732. } else if (state.use !== null) {
  148733. result = this._getUse(state.use, parent)._encode(data, reporter);
  148734. } else {
  148735. content = this._encodePrimitive(state.tag, data);
  148736. primitive = true;
  148737. }
  148738. }
  148739. // Encode data itself
  148740. var result;
  148741. if (!state.any && state.choice === null) {
  148742. var tag = state.implicit !== null ? state.implicit : state.tag;
  148743. var cls = state.implicit === null ? "universal" : "context";
  148744. if (tag === null) {
  148745. if (state.use === null)
  148746. reporter.error("Tag could be ommited only for .use()");
  148747. } else {
  148748. if (state.use === null)
  148749. result = this._encodeComposite(tag, primitive, cls, content);
  148750. }
  148751. }
  148752. // Wrap in explicit
  148753. if (state.explicit !== null)
  148754. result = this._encodeComposite(
  148755. state.explicit,
  148756. false,
  148757. "context",
  148758. result
  148759. );
  148760. return result;
  148761. };
  148762. Node.prototype._encodeChoice = function encodeChoice(data, reporter) {
  148763. var state = this._baseState;
  148764. var node = state.choice[data.type];
  148765. if (!node) {
  148766. assert(
  148767. false,
  148768. data.type +
  148769. " not found in " +
  148770. JSON.stringify(Object.keys(state.choice))
  148771. );
  148772. }
  148773. return node._encode(data.value, reporter);
  148774. };
  148775. Node.prototype._encodePrimitive = function encodePrimitive(tag, data) {
  148776. var state = this._baseState;
  148777. if (/str$/.test(tag)) return this._encodeStr(data, tag);
  148778. else if (tag === "objid" && state.args)
  148779. return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);
  148780. else if (tag === "objid") return this._encodeObjid(data, null, null);
  148781. else if (tag === "gentime" || tag === "utctime")
  148782. return this._encodeTime(data, tag);
  148783. else if (tag === "null_") return this._encodeNull();
  148784. else if (tag === "int" || tag === "enum")
  148785. return this._encodeInt(data, state.args && state.reverseArgs[0]);
  148786. else if (tag === "bool") return this._encodeBool(data);
  148787. else if (tag === "objDesc") return this._encodeStr(data, tag);
  148788. else throw new Error("Unsupported tag: " + tag);
  148789. };
  148790. Node.prototype._isNumstr = function isNumstr(str) {
  148791. return /^[0-9 ]*$/.test(str);
  148792. };
  148793. Node.prototype._isPrintstr = function isPrintstr(str) {
  148794. return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(str);
  148795. };
  148796. },
  148797. { "../base": 13, "minimalistic-assert": 112 },
  148798. ],
  148799. 15: [
  148800. function (require, module, exports) {
  148801. var inherits = require("inherits");
  148802. function Reporter(options) {
  148803. this._reporterState = {
  148804. obj: null,
  148805. path: [],
  148806. options: options || {},
  148807. errors: [],
  148808. };
  148809. }
  148810. exports.Reporter = Reporter;
  148811. Reporter.prototype.isError = function isError(obj) {
  148812. return obj instanceof ReporterError;
  148813. };
  148814. Reporter.prototype.save = function save() {
  148815. var state = this._reporterState;
  148816. return { obj: state.obj, pathLen: state.path.length };
  148817. };
  148818. Reporter.prototype.restore = function restore(data) {
  148819. var state = this._reporterState;
  148820. state.obj = data.obj;
  148821. state.path = state.path.slice(0, data.pathLen);
  148822. };
  148823. Reporter.prototype.enterKey = function enterKey(key) {
  148824. return this._reporterState.path.push(key);
  148825. };
  148826. Reporter.prototype.exitKey = function exitKey(index) {
  148827. var state = this._reporterState;
  148828. state.path = state.path.slice(0, index - 1);
  148829. };
  148830. Reporter.prototype.leaveKey = function leaveKey(index, key, value) {
  148831. var state = this._reporterState;
  148832. this.exitKey(index);
  148833. if (state.obj !== null) state.obj[key] = value;
  148834. };
  148835. Reporter.prototype.path = function path() {
  148836. return this._reporterState.path.join("/");
  148837. };
  148838. Reporter.prototype.enterObject = function enterObject() {
  148839. var state = this._reporterState;
  148840. var prev = state.obj;
  148841. state.obj = {};
  148842. return prev;
  148843. };
  148844. Reporter.prototype.leaveObject = function leaveObject(prev) {
  148845. var state = this._reporterState;
  148846. var now = state.obj;
  148847. state.obj = prev;
  148848. return now;
  148849. };
  148850. Reporter.prototype.error = function error(msg) {
  148851. var err;
  148852. var state = this._reporterState;
  148853. var inherited = msg instanceof ReporterError;
  148854. if (inherited) {
  148855. err = msg;
  148856. } else {
  148857. err = new ReporterError(
  148858. state.path
  148859. .map(function (elem) {
  148860. return "[" + JSON.stringify(elem) + "]";
  148861. })
  148862. .join(""),
  148863. msg.message || msg,
  148864. msg.stack
  148865. );
  148866. }
  148867. if (!state.options.partial) throw err;
  148868. if (!inherited) state.errors.push(err);
  148869. return err;
  148870. };
  148871. Reporter.prototype.wrapResult = function wrapResult(result) {
  148872. var state = this._reporterState;
  148873. if (!state.options.partial) return result;
  148874. return {
  148875. result: this.isError(result) ? null : result,
  148876. errors: state.errors,
  148877. };
  148878. };
  148879. function ReporterError(path, msg) {
  148880. this.path = path;
  148881. this.rethrow(msg);
  148882. }
  148883. inherits(ReporterError, Error);
  148884. ReporterError.prototype.rethrow = function rethrow(msg) {
  148885. this.message = msg + " at: " + (this.path || "(shallow)");
  148886. if (Error.captureStackTrace)
  148887. Error.captureStackTrace(this, ReporterError);
  148888. if (!this.stack) {
  148889. try {
  148890. // IE only adds stack when thrown
  148891. throw new Error(this.message);
  148892. } catch (e) {
  148893. this.stack = e.stack;
  148894. }
  148895. }
  148896. return this;
  148897. };
  148898. },
  148899. { inherits: 108 },
  148900. ],
  148901. 16: [
  148902. function (require, module, exports) {
  148903. var constants = require("../constants.js");
  148904. exports.tagClass = {
  148905. 0: "universal",
  148906. 1: "application",
  148907. 2: "context",
  148908. 3: "private",
  148909. };
  148910. exports.tagClassByName = constants._reverse(exports.tagClass);
  148911. exports.tag = {
  148912. 0x00: "end",
  148913. 0x01: "bool",
  148914. 0x02: "int",
  148915. 0x03: "bitstr",
  148916. 0x04: "octstr",
  148917. 0x05: "null_",
  148918. 0x06: "objid",
  148919. 0x07: "objDesc",
  148920. 0x08: "external",
  148921. 0x09: "real",
  148922. 0x0a: "enum",
  148923. 0x0b: "embed",
  148924. 0x0c: "utf8str",
  148925. 0x0d: "relativeOid",
  148926. 0x10: "seq",
  148927. 0x11: "set",
  148928. 0x12: "numstr",
  148929. 0x13: "printstr",
  148930. 0x14: "t61str",
  148931. 0x15: "videostr",
  148932. 0x16: "ia5str",
  148933. 0x17: "utctime",
  148934. 0x18: "gentime",
  148935. 0x19: "graphstr",
  148936. 0x1a: "iso646str",
  148937. 0x1b: "genstr",
  148938. 0x1c: "unistr",
  148939. 0x1d: "charstr",
  148940. 0x1e: "bmpstr",
  148941. };
  148942. exports.tagByName = constants._reverse(exports.tag);
  148943. },
  148944. { "../constants": 17 },
  148945. ],
  148946. 17: [
  148947. function (require, module, exports) {
  148948. var constants = exports;
  148949. // Helper
  148950. constants._reverse = function reverse(map) {
  148951. var res = {};
  148952. Object.keys(map).forEach(function (key) {
  148953. // Convert key to integer if it is stringified
  148954. if ((key | 0) == key) key = key | 0;
  148955. var value = map[key];
  148956. res[value] = key;
  148957. });
  148958. return res;
  148959. };
  148960. constants.der = require("./der.js");
  148961. },
  148962. { "./der": 16 },
  148963. ],
  148964. 18: [
  148965. function (require, module, exports) {
  148966. var inherits = require("inherits");
  148967. var asn1 = require("../../asn1.js");
  148968. var base = asn1.base;
  148969. var bignum = asn1.bignum;
  148970. // Import DER constants
  148971. var der = asn1.constants.der;
  148972. function DERDecoder(entity) {
  148973. this.enc = "der";
  148974. this.name = entity.name;
  148975. this.entity = entity;
  148976. // Construct base tree
  148977. this.tree = new DERNode();
  148978. this.tree._init(entity.body);
  148979. }
  148980. module.exports = DERDecoder;
  148981. DERDecoder.prototype.decode = function decode(data, options) {
  148982. if (!(data instanceof base.DecoderBuffer))
  148983. data = new base.DecoderBuffer(data, options);
  148984. return this.tree._decode(data, options);
  148985. };
  148986. // Tree methods
  148987. function DERNode(parent) {
  148988. base.Node.call(this, "der", parent);
  148989. }
  148990. inherits(DERNode, base.Node);
  148991. DERNode.prototype._peekTag = function peekTag(buffer, tag, any) {
  148992. if (buffer.isEmpty()) return false;
  148993. var state = buffer.save();
  148994. var decodedTag = derDecodeTag(
  148995. buffer,
  148996. 'Failed to peek tag: "' + tag + '"'
  148997. );
  148998. if (buffer.isError(decodedTag)) return decodedTag;
  148999. buffer.restore(state);
  149000. return (
  149001. decodedTag.tag === tag ||
  149002. decodedTag.tagStr === tag ||
  149003. decodedTag.tagStr + "of" === tag ||
  149004. any
  149005. );
  149006. };
  149007. DERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {
  149008. var decodedTag = derDecodeTag(
  149009. buffer,
  149010. 'Failed to decode tag of "' + tag + '"'
  149011. );
  149012. if (buffer.isError(decodedTag)) return decodedTag;
  149013. var len = derDecodeLen(
  149014. buffer,
  149015. decodedTag.primitive,
  149016. 'Failed to get length of "' + tag + '"'
  149017. );
  149018. // Failure
  149019. if (buffer.isError(len)) return len;
  149020. if (
  149021. !any &&
  149022. decodedTag.tag !== tag &&
  149023. decodedTag.tagStr !== tag &&
  149024. decodedTag.tagStr + "of" !== tag
  149025. ) {
  149026. return buffer.error('Failed to match tag: "' + tag + '"');
  149027. }
  149028. if (decodedTag.primitive || len !== null)
  149029. return buffer.skip(len, 'Failed to match body of: "' + tag + '"');
  149030. // Indefinite length... find END tag
  149031. var state = buffer.save();
  149032. var res = this._skipUntilEnd(
  149033. buffer,
  149034. 'Failed to skip indefinite length body: "' + this.tag + '"'
  149035. );
  149036. if (buffer.isError(res)) return res;
  149037. len = buffer.offset - state.offset;
  149038. buffer.restore(state);
  149039. return buffer.skip(len, 'Failed to match body of: "' + tag + '"');
  149040. };
  149041. DERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {
  149042. while (true) {
  149043. var tag = derDecodeTag(buffer, fail);
  149044. if (buffer.isError(tag)) return tag;
  149045. var len = derDecodeLen(buffer, tag.primitive, fail);
  149046. if (buffer.isError(len)) return len;
  149047. var res;
  149048. if (tag.primitive || len !== null) res = buffer.skip(len);
  149049. else res = this._skipUntilEnd(buffer, fail);
  149050. // Failure
  149051. if (buffer.isError(res)) return res;
  149052. if (tag.tagStr === "end") break;
  149053. }
  149054. };
  149055. DERNode.prototype._decodeList = function decodeList(
  149056. buffer,
  149057. tag,
  149058. decoder,
  149059. options
  149060. ) {
  149061. var result = [];
  149062. while (!buffer.isEmpty()) {
  149063. var possibleEnd = this._peekTag(buffer, "end");
  149064. if (buffer.isError(possibleEnd)) return possibleEnd;
  149065. var res = decoder.decode(buffer, "der", options);
  149066. if (buffer.isError(res) && possibleEnd) break;
  149067. result.push(res);
  149068. }
  149069. return result;
  149070. };
  149071. DERNode.prototype._decodeStr = function decodeStr(buffer, tag) {
  149072. if (tag === "bitstr") {
  149073. var unused = buffer.readUInt8();
  149074. if (buffer.isError(unused)) return unused;
  149075. return { unused: unused, data: buffer.raw() };
  149076. } else if (tag === "bmpstr") {
  149077. var raw = buffer.raw();
  149078. if (raw.length % 2 === 1)
  149079. return buffer.error(
  149080. "Decoding of string type: bmpstr length mismatch"
  149081. );
  149082. var str = "";
  149083. for (var i = 0; i < raw.length / 2; i++) {
  149084. str += String.fromCharCode(raw.readUInt16BE(i * 2));
  149085. }
  149086. return str;
  149087. } else if (tag === "numstr") {
  149088. var numstr = buffer.raw().toString("ascii");
  149089. if (!this._isNumstr(numstr)) {
  149090. return buffer.error(
  149091. "Decoding of string type: " + "numstr unsupported characters"
  149092. );
  149093. }
  149094. return numstr;
  149095. } else if (tag === "octstr") {
  149096. return buffer.raw();
  149097. } else if (tag === "objDesc") {
  149098. return buffer.raw();
  149099. } else if (tag === "printstr") {
  149100. var printstr = buffer.raw().toString("ascii");
  149101. if (!this._isPrintstr(printstr)) {
  149102. return buffer.error(
  149103. "Decoding of string type: " + "printstr unsupported characters"
  149104. );
  149105. }
  149106. return printstr;
  149107. } else if (/str$/.test(tag)) {
  149108. return buffer.raw().toString();
  149109. } else {
  149110. return buffer.error(
  149111. "Decoding of string type: " + tag + " unsupported"
  149112. );
  149113. }
  149114. };
  149115. DERNode.prototype._decodeObjid = function decodeObjid(
  149116. buffer,
  149117. values,
  149118. relative
  149119. ) {
  149120. var result;
  149121. var identifiers = [];
  149122. var ident = 0;
  149123. while (!buffer.isEmpty()) {
  149124. var subident = buffer.readUInt8();
  149125. ident <<= 7;
  149126. ident |= subident & 0x7f;
  149127. if ((subident & 0x80) === 0) {
  149128. identifiers.push(ident);
  149129. ident = 0;
  149130. }
  149131. }
  149132. if (subident & 0x80) identifiers.push(ident);
  149133. var first = (identifiers[0] / 40) | 0;
  149134. var second = identifiers[0] % 40;
  149135. if (relative) result = identifiers;
  149136. else result = [first, second].concat(identifiers.slice(1));
  149137. if (values) {
  149138. var tmp = values[result.join(" ")];
  149139. if (tmp === undefined) tmp = values[result.join(".")];
  149140. if (tmp !== undefined) result = tmp;
  149141. }
  149142. return result;
  149143. };
  149144. DERNode.prototype._decodeTime = function decodeTime(buffer, tag) {
  149145. var str = buffer.raw().toString();
  149146. if (tag === "gentime") {
  149147. var year = str.slice(0, 4) | 0;
  149148. var mon = str.slice(4, 6) | 0;
  149149. var day = str.slice(6, 8) | 0;
  149150. var hour = str.slice(8, 10) | 0;
  149151. var min = str.slice(10, 12) | 0;
  149152. var sec = str.slice(12, 14) | 0;
  149153. } else if (tag === "utctime") {
  149154. var year = str.slice(0, 2) | 0;
  149155. var mon = str.slice(2, 4) | 0;
  149156. var day = str.slice(4, 6) | 0;
  149157. var hour = str.slice(6, 8) | 0;
  149158. var min = str.slice(8, 10) | 0;
  149159. var sec = str.slice(10, 12) | 0;
  149160. if (year < 70) year = 2000 + year;
  149161. else year = 1900 + year;
  149162. } else {
  149163. return buffer.error(
  149164. "Decoding " + tag + " time is not supported yet"
  149165. );
  149166. }
  149167. return Date.UTC(year, mon - 1, day, hour, min, sec, 0);
  149168. };
  149169. DERNode.prototype._decodeNull = function decodeNull(buffer) {
  149170. return null;
  149171. };
  149172. DERNode.prototype._decodeBool = function decodeBool(buffer) {
  149173. var res = buffer.readUInt8();
  149174. if (buffer.isError(res)) return res;
  149175. else return res !== 0;
  149176. };
  149177. DERNode.prototype._decodeInt = function decodeInt(buffer, values) {
  149178. // Bigint, return as it is (assume big endian)
  149179. var raw = buffer.raw();
  149180. var res = new bignum(raw);
  149181. if (values) res = values[res.toString(10)] || res;
  149182. return res;
  149183. };
  149184. DERNode.prototype._use = function use(entity, obj) {
  149185. if (typeof entity === "function") entity = entity(obj);
  149186. return entity._getDecoder("der").tree;
  149187. };
  149188. // Utility methods
  149189. function derDecodeTag(buf, fail) {
  149190. var tag = buf.readUInt8(fail);
  149191. if (buf.isError(tag)) return tag;
  149192. var cls = der.tagClass[tag >> 6];
  149193. var primitive = (tag & 0x20) === 0;
  149194. // Multi-octet tag - load
  149195. if ((tag & 0x1f) === 0x1f) {
  149196. var oct = tag;
  149197. tag = 0;
  149198. while ((oct & 0x80) === 0x80) {
  149199. oct = buf.readUInt8(fail);
  149200. if (buf.isError(oct)) return oct;
  149201. tag <<= 7;
  149202. tag |= oct & 0x7f;
  149203. }
  149204. } else {
  149205. tag &= 0x1f;
  149206. }
  149207. var tagStr = der.tag[tag];
  149208. return {
  149209. cls: cls,
  149210. primitive: primitive,
  149211. tag: tag,
  149212. tagStr: tagStr,
  149213. };
  149214. }
  149215. function derDecodeLen(buf, primitive, fail) {
  149216. var len = buf.readUInt8(fail);
  149217. if (buf.isError(len)) return len;
  149218. // Indefinite form
  149219. if (!primitive && len === 0x80) return null;
  149220. // Definite form
  149221. if ((len & 0x80) === 0) {
  149222. // Short form
  149223. return len;
  149224. }
  149225. // Long form
  149226. var num = len & 0x7f;
  149227. if (num > 4) return buf.error("length octect is too long");
  149228. len = 0;
  149229. for (var i = 0; i < num; i++) {
  149230. len <<= 8;
  149231. var j = buf.readUInt8(fail);
  149232. if (buf.isError(j)) return j;
  149233. len |= j;
  149234. }
  149235. return len;
  149236. }
  149237. },
  149238. { "../../asn1": 10, inherits: 108 },
  149239. ],
  149240. 19: [
  149241. function (require, module, exports) {
  149242. var decoders = exports;
  149243. decoders.der = require("./der.js");
  149244. decoders.pem = require("./pem.js");
  149245. },
  149246. { "./der": 18, "./pem": 20 },
  149247. ],
  149248. 20: [
  149249. function (require, module, exports) {
  149250. var inherits = require("inherits");
  149251. var Buffer = require("buffer").Buffer;
  149252. var DERDecoder = require("./der.js");
  149253. function PEMDecoder(entity) {
  149254. DERDecoder.call(this, entity);
  149255. this.enc = "pem";
  149256. }
  149257. inherits(PEMDecoder, DERDecoder);
  149258. module.exports = PEMDecoder;
  149259. PEMDecoder.prototype.decode = function decode(data, options) {
  149260. var lines = data.toString().split(/[\r\n]+/g);
  149261. var label = options.label.toUpperCase();
  149262. var re = /^-----(BEGIN|END) ([^-]+)-----$/;
  149263. var start = -1;
  149264. var end = -1;
  149265. for (var i = 0; i < lines.length; i++) {
  149266. var match = lines[i].match(re);
  149267. if (match === null) continue;
  149268. if (match[2] !== label) continue;
  149269. if (start === -1) {
  149270. if (match[1] !== "BEGIN") break;
  149271. start = i;
  149272. } else {
  149273. if (match[1] !== "END") break;
  149274. end = i;
  149275. break;
  149276. }
  149277. }
  149278. if (start === -1 || end === -1)
  149279. throw new Error("PEM section not found for: " + label);
  149280. var base64 = lines.slice(start + 1, end).join("");
  149281. // Remove excessive symbols
  149282. base64.replace(/[^a-z0-9\+\/=]+/gi, "");
  149283. var input = new Buffer(base64, "base64");
  149284. return DERDecoder.prototype.decode.call(this, input, options);
  149285. };
  149286. },
  149287. { "./der": 18, buffer: 54, inherits: 108 },
  149288. ],
  149289. 21: [
  149290. function (require, module, exports) {
  149291. var inherits = require("inherits");
  149292. var Buffer = require("buffer").Buffer;
  149293. var asn1 = require("../../asn1.js");
  149294. var base = asn1.base;
  149295. // Import DER constants
  149296. var der = asn1.constants.der;
  149297. function DEREncoder(entity) {
  149298. this.enc = "der";
  149299. this.name = entity.name;
  149300. this.entity = entity;
  149301. // Construct base tree
  149302. this.tree = new DERNode();
  149303. this.tree._init(entity.body);
  149304. }
  149305. module.exports = DEREncoder;
  149306. DEREncoder.prototype.encode = function encode(data, reporter) {
  149307. return this.tree._encode(data, reporter).join();
  149308. };
  149309. // Tree methods
  149310. function DERNode(parent) {
  149311. base.Node.call(this, "der", parent);
  149312. }
  149313. inherits(DERNode, base.Node);
  149314. DERNode.prototype._encodeComposite = function encodeComposite(
  149315. tag,
  149316. primitive,
  149317. cls,
  149318. content
  149319. ) {
  149320. var encodedTag = encodeTag(tag, primitive, cls, this.reporter);
  149321. // Short form
  149322. if (content.length < 0x80) {
  149323. var header = new Buffer(2);
  149324. header[0] = encodedTag;
  149325. header[1] = content.length;
  149326. return this._createEncoderBuffer([header, content]);
  149327. }
  149328. // Long form
  149329. // Count octets required to store length
  149330. var lenOctets = 1;
  149331. for (var i = content.length; i >= 0x100; i >>= 8) lenOctets++;
  149332. var header = new Buffer(1 + 1 + lenOctets);
  149333. header[0] = encodedTag;
  149334. header[1] = 0x80 | lenOctets;
  149335. for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)
  149336. header[i] = j & 0xff;
  149337. return this._createEncoderBuffer([header, content]);
  149338. };
  149339. DERNode.prototype._encodeStr = function encodeStr(str, tag) {
  149340. if (tag === "bitstr") {
  149341. return this._createEncoderBuffer([str.unused | 0, str.data]);
  149342. } else if (tag === "bmpstr") {
  149343. var buf = new Buffer(str.length * 2);
  149344. for (var i = 0; i < str.length; i++) {
  149345. buf.writeUInt16BE(str.charCodeAt(i), i * 2);
  149346. }
  149347. return this._createEncoderBuffer(buf);
  149348. } else if (tag === "numstr") {
  149349. if (!this._isNumstr(str)) {
  149350. return this.reporter.error(
  149351. "Encoding of string type: numstr supports " +
  149352. "only digits and space"
  149353. );
  149354. }
  149355. return this._createEncoderBuffer(str);
  149356. } else if (tag === "printstr") {
  149357. if (!this._isPrintstr(str)) {
  149358. return this.reporter.error(
  149359. "Encoding of string type: printstr supports " +
  149360. "only latin upper and lower case letters, " +
  149361. "digits, space, apostrophe, left and rigth " +
  149362. "parenthesis, plus sign, comma, hyphen, " +
  149363. "dot, slash, colon, equal sign, " +
  149364. "question mark"
  149365. );
  149366. }
  149367. return this._createEncoderBuffer(str);
  149368. } else if (/str$/.test(tag)) {
  149369. return this._createEncoderBuffer(str);
  149370. } else if (tag === "objDesc") {
  149371. return this._createEncoderBuffer(str);
  149372. } else {
  149373. return this.reporter.error(
  149374. "Encoding of string type: " + tag + " unsupported"
  149375. );
  149376. }
  149377. };
  149378. DERNode.prototype._encodeObjid = function encodeObjid(
  149379. id,
  149380. values,
  149381. relative
  149382. ) {
  149383. if (typeof id === "string") {
  149384. if (!values)
  149385. return this.reporter.error(
  149386. "string objid given, but no values map found"
  149387. );
  149388. if (!values.hasOwnProperty(id))
  149389. return this.reporter.error("objid not found in values map");
  149390. id = values[id].split(/[\s\.]+/g);
  149391. for (var i = 0; i < id.length; i++) id[i] |= 0;
  149392. } else if (Array.isArray(id)) {
  149393. id = id.slice();
  149394. for (var i = 0; i < id.length; i++) id[i] |= 0;
  149395. }
  149396. if (!Array.isArray(id)) {
  149397. return this.reporter.error(
  149398. "objid() should be either array or string, " +
  149399. "got: " +
  149400. JSON.stringify(id)
  149401. );
  149402. }
  149403. if (!relative) {
  149404. if (id[1] >= 40)
  149405. return this.reporter.error("Second objid identifier OOB");
  149406. id.splice(0, 2, id[0] * 40 + id[1]);
  149407. }
  149408. // Count number of octets
  149409. var size = 0;
  149410. for (var i = 0; i < id.length; i++) {
  149411. var ident = id[i];
  149412. for (size++; ident >= 0x80; ident >>= 7) size++;
  149413. }
  149414. var objid = new Buffer(size);
  149415. var offset = objid.length - 1;
  149416. for (var i = id.length - 1; i >= 0; i--) {
  149417. var ident = id[i];
  149418. objid[offset--] = ident & 0x7f;
  149419. while ((ident >>= 7) > 0) objid[offset--] = 0x80 | (ident & 0x7f);
  149420. }
  149421. return this._createEncoderBuffer(objid);
  149422. };
  149423. function two(num) {
  149424. if (num < 10) return "0" + num;
  149425. else return num;
  149426. }
  149427. DERNode.prototype._encodeTime = function encodeTime(time, tag) {
  149428. var str;
  149429. var date = new Date(time);
  149430. if (tag === "gentime") {
  149431. str = [
  149432. two(date.getFullYear()),
  149433. two(date.getUTCMonth() + 1),
  149434. two(date.getUTCDate()),
  149435. two(date.getUTCHours()),
  149436. two(date.getUTCMinutes()),
  149437. two(date.getUTCSeconds()),
  149438. "Z",
  149439. ].join("");
  149440. } else if (tag === "utctime") {
  149441. str = [
  149442. two(date.getFullYear() % 100),
  149443. two(date.getUTCMonth() + 1),
  149444. two(date.getUTCDate()),
  149445. two(date.getUTCHours()),
  149446. two(date.getUTCMinutes()),
  149447. two(date.getUTCSeconds()),
  149448. "Z",
  149449. ].join("");
  149450. } else {
  149451. this.reporter.error(
  149452. "Encoding " + tag + " time is not supported yet"
  149453. );
  149454. }
  149455. return this._encodeStr(str, "octstr");
  149456. };
  149457. DERNode.prototype._encodeNull = function encodeNull() {
  149458. return this._createEncoderBuffer("");
  149459. };
  149460. DERNode.prototype._encodeInt = function encodeInt(num, values) {
  149461. if (typeof num === "string") {
  149462. if (!values)
  149463. return this.reporter.error(
  149464. "String int or enum given, but no values map"
  149465. );
  149466. if (!values.hasOwnProperty(num)) {
  149467. return this.reporter.error(
  149468. "Values map doesn't contain: " + JSON.stringify(num)
  149469. );
  149470. }
  149471. num = values[num];
  149472. }
  149473. // Bignum, assume big endian
  149474. if (typeof num !== "number" && !Buffer.isBuffer(num)) {
  149475. var numArray = num.toArray();
  149476. if (!num.sign && numArray[0] & 0x80) {
  149477. numArray.unshift(0);
  149478. }
  149479. num = new Buffer(numArray);
  149480. }
  149481. if (Buffer.isBuffer(num)) {
  149482. var size = num.length;
  149483. if (num.length === 0) size++;
  149484. var out = new Buffer(size);
  149485. num.copy(out);
  149486. if (num.length === 0) out[0] = 0;
  149487. return this._createEncoderBuffer(out);
  149488. }
  149489. if (num < 0x80) return this._createEncoderBuffer(num);
  149490. if (num < 0x100) return this._createEncoderBuffer([0, num]);
  149491. var size = 1;
  149492. for (var i = num; i >= 0x100; i >>= 8) size++;
  149493. var out = new Array(size);
  149494. for (var i = out.length - 1; i >= 0; i--) {
  149495. out[i] = num & 0xff;
  149496. num >>= 8;
  149497. }
  149498. if (out[0] & 0x80) {
  149499. out.unshift(0);
  149500. }
  149501. return this._createEncoderBuffer(new Buffer(out));
  149502. };
  149503. DERNode.prototype._encodeBool = function encodeBool(value) {
  149504. return this._createEncoderBuffer(value ? 0xff : 0);
  149505. };
  149506. DERNode.prototype._use = function use(entity, obj) {
  149507. if (typeof entity === "function") entity = entity(obj);
  149508. return entity._getEncoder("der").tree;
  149509. };
  149510. DERNode.prototype._skipDefault = function skipDefault(
  149511. dataBuffer,
  149512. reporter,
  149513. parent
  149514. ) {
  149515. var state = this._baseState;
  149516. var i;
  149517. if (state["default"] === null) return false;
  149518. var data = dataBuffer.join();
  149519. if (state.defaultBuffer === undefined)
  149520. state.defaultBuffer = this._encodeValue(
  149521. state["default"],
  149522. reporter,
  149523. parent
  149524. ).join();
  149525. if (data.length !== state.defaultBuffer.length) return false;
  149526. for (i = 0; i < data.length; i++)
  149527. if (data[i] !== state.defaultBuffer[i]) return false;
  149528. return true;
  149529. };
  149530. // Utility methods
  149531. function encodeTag(tag, primitive, cls, reporter) {
  149532. var res;
  149533. if (tag === "seqof") tag = "seq";
  149534. else if (tag === "setof") tag = "set";
  149535. if (der.tagByName.hasOwnProperty(tag)) res = der.tagByName[tag];
  149536. else if (typeof tag === "number" && (tag | 0) === tag) res = tag;
  149537. else return reporter.error("Unknown tag: " + tag);
  149538. if (res >= 0x1f)
  149539. return reporter.error("Multi-octet tag encoding unsupported");
  149540. if (!primitive) res |= 0x20;
  149541. res |= der.tagClassByName[cls || "universal"] << 6;
  149542. return res;
  149543. }
  149544. },
  149545. { "../../asn1": 10, buffer: 54, inherits: 108 },
  149546. ],
  149547. 22: [
  149548. function (require, module, exports) {
  149549. var encoders = exports;
  149550. encoders.der = require("./der.js");
  149551. encoders.pem = require("./pem.js");
  149552. },
  149553. { "./der": 21, "./pem": 23 },
  149554. ],
  149555. 23: [
  149556. function (require, module, exports) {
  149557. var inherits = require("inherits");
  149558. var DEREncoder = require("./der.js");
  149559. function PEMEncoder(entity) {
  149560. DEREncoder.call(this, entity);
  149561. this.enc = "pem";
  149562. }
  149563. inherits(PEMEncoder, DEREncoder);
  149564. module.exports = PEMEncoder;
  149565. PEMEncoder.prototype.encode = function encode(data, options) {
  149566. var buf = DEREncoder.prototype.encode.call(this, data);
  149567. var p = buf.toString("base64");
  149568. var out = ["-----BEGIN " + options.label + "-----"];
  149569. for (var i = 0; i < p.length; i += 64) out.push(p.slice(i, i + 64));
  149570. out.push("-----END " + options.label + "-----");
  149571. return out.join("\n");
  149572. };
  149573. },
  149574. { "./der": 21, inherits: 108 },
  149575. ],
  149576. 24: [
  149577. function (require, module, exports) {
  149578. "use strict";
  149579. exports.byteLength = byteLength;
  149580. exports.toByteArray = toByteArray;
  149581. exports.fromByteArray = fromByteArray;
  149582. var lookup = [];
  149583. var revLookup = [];
  149584. var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
  149585. var code =
  149586. "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  149587. for (var i = 0, len = code.length; i < len; ++i) {
  149588. lookup[i] = code[i];
  149589. revLookup[code.charCodeAt(i)] = i;
  149590. }
  149591. revLookup["-".charCodeAt(0)] = 62;
  149592. revLookup["_".charCodeAt(0)] = 63;
  149593. function placeHoldersCount(b64) {
  149594. var len = b64.length;
  149595. if (len % 4 > 0) {
  149596. throw new Error("Invalid string. Length must be a multiple of 4");
  149597. }
  149598. // the number of equal signs (place holders)
  149599. // if there are two placeholders, than the two characters before it
  149600. // represent one byte
  149601. // if there is only one, then the three characters before it represent 2 bytes
  149602. // this is just a cheap hack to not do indexOf twice
  149603. return b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0;
  149604. }
  149605. function byteLength(b64) {
  149606. // base64 is 4/3 + up to two characters of the original data
  149607. return (b64.length * 3) / 4 - placeHoldersCount(b64);
  149608. }
  149609. function toByteArray(b64) {
  149610. var i, l, tmp, placeHolders, arr;
  149611. var len = b64.length;
  149612. placeHolders = placeHoldersCount(b64);
  149613. arr = new Arr((len * 3) / 4 - placeHolders);
  149614. // if there are placeholders, only get up to the last complete 4 chars
  149615. l = placeHolders > 0 ? len - 4 : len;
  149616. var L = 0;
  149617. for (i = 0; i < l; i += 4) {
  149618. tmp =
  149619. (revLookup[b64.charCodeAt(i)] << 18) |
  149620. (revLookup[b64.charCodeAt(i + 1)] << 12) |
  149621. (revLookup[b64.charCodeAt(i + 2)] << 6) |
  149622. revLookup[b64.charCodeAt(i + 3)];
  149623. arr[L++] = (tmp >> 16) & 0xff;
  149624. arr[L++] = (tmp >> 8) & 0xff;
  149625. arr[L++] = tmp & 0xff;
  149626. }
  149627. if (placeHolders === 2) {
  149628. tmp =
  149629. (revLookup[b64.charCodeAt(i)] << 2) |
  149630. (revLookup[b64.charCodeAt(i + 1)] >> 4);
  149631. arr[L++] = tmp & 0xff;
  149632. } else if (placeHolders === 1) {
  149633. tmp =
  149634. (revLookup[b64.charCodeAt(i)] << 10) |
  149635. (revLookup[b64.charCodeAt(i + 1)] << 4) |
  149636. (revLookup[b64.charCodeAt(i + 2)] >> 2);
  149637. arr[L++] = (tmp >> 8) & 0xff;
  149638. arr[L++] = tmp & 0xff;
  149639. }
  149640. return arr;
  149641. }
  149642. function tripletToBase64(num) {
  149643. return (
  149644. lookup[(num >> 18) & 0x3f] +
  149645. lookup[(num >> 12) & 0x3f] +
  149646. lookup[(num >> 6) & 0x3f] +
  149647. lookup[num & 0x3f]
  149648. );
  149649. }
  149650. function encodeChunk(uint8, start, end) {
  149651. var tmp;
  149652. var output = [];
  149653. for (var i = start; i < end; i += 3) {
  149654. tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2];
  149655. output.push(tripletToBase64(tmp));
  149656. }
  149657. return output.join("");
  149658. }
  149659. function fromByteArray(uint8) {
  149660. var tmp;
  149661. var len = uint8.length;
  149662. var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes
  149663. var output = "";
  149664. var parts = [];
  149665. var maxChunkLength = 16383; // must be multiple of 3
  149666. // go through the array every three bytes, we'll deal with trailing stuff later
  149667. for (
  149668. var i = 0, len2 = len - extraBytes;
  149669. i < len2;
  149670. i += maxChunkLength
  149671. ) {
  149672. parts.push(
  149673. encodeChunk(
  149674. uint8,
  149675. i,
  149676. i + maxChunkLength > len2 ? len2 : i + maxChunkLength
  149677. )
  149678. );
  149679. }
  149680. // pad the end with zeros, but make sure to not forget the extra bytes
  149681. if (extraBytes === 1) {
  149682. tmp = uint8[len - 1];
  149683. output += lookup[tmp >> 2];
  149684. output += lookup[(tmp << 4) & 0x3f];
  149685. output += "==";
  149686. } else if (extraBytes === 2) {
  149687. tmp = (uint8[len - 2] << 8) + uint8[len - 1];
  149688. output += lookup[tmp >> 10];
  149689. output += lookup[(tmp >> 4) & 0x3f];
  149690. output += lookup[(tmp << 2) & 0x3f];
  149691. output += "=";
  149692. }
  149693. parts.push(output);
  149694. return parts.join("");
  149695. }
  149696. },
  149697. {},
  149698. ],
  149699. 25: [
  149700. function (require, module, exports) {
  149701. (function (module, exports) {
  149702. "use strict";
  149703. // Utils
  149704. function assert(val, msg) {
  149705. if (!val) throw new Error(msg || "Assertion failed");
  149706. }
  149707. // Could use `inherits` module, but don't want to move from single file
  149708. // architecture yet.
  149709. function inherits(ctor, superCtor) {
  149710. ctor.super_ = superCtor;
  149711. var TempCtor = function () {};
  149712. TempCtor.prototype = superCtor.prototype;
  149713. ctor.prototype = new TempCtor();
  149714. ctor.prototype.constructor = ctor;
  149715. }
  149716. // BN
  149717. function BN(number, base, endian) {
  149718. if (BN.isBN(number)) {
  149719. return number;
  149720. }
  149721. this.negative = 0;
  149722. this.words = null;
  149723. this.length = 0;
  149724. // Reduction context
  149725. this.red = null;
  149726. if (number !== null) {
  149727. if (base === "le" || base === "be") {
  149728. endian = base;
  149729. base = 10;
  149730. }
  149731. this._init(number || 0, base || 10, endian || "be");
  149732. }
  149733. }
  149734. if (typeof module === "object") {
  149735. module.exports = BN;
  149736. } else {
  149737. exports.BN = BN;
  149738. }
  149739. BN.BN = BN;
  149740. BN.wordSize = 26;
  149741. var Buffer;
  149742. try {
  149743. Buffer = require("buffer").Buffer;
  149744. } catch (e) {}
  149745. BN.isBN = function isBN(num) {
  149746. if (num instanceof BN) {
  149747. return true;
  149748. }
  149749. return (
  149750. num !== null &&
  149751. typeof num === "object" &&
  149752. num.constructor.wordSize === BN.wordSize &&
  149753. Array.isArray(num.words)
  149754. );
  149755. };
  149756. BN.max = function max(left, right) {
  149757. if (left.cmp(right) > 0) return left;
  149758. return right;
  149759. };
  149760. BN.min = function min(left, right) {
  149761. if (left.cmp(right) < 0) return left;
  149762. return right;
  149763. };
  149764. BN.prototype._init = function init(number, base, endian) {
  149765. if (typeof number === "number") {
  149766. return this._initNumber(number, base, endian);
  149767. }
  149768. if (typeof number === "object") {
  149769. return this._initArray(number, base, endian);
  149770. }
  149771. if (base === "hex") {
  149772. base = 16;
  149773. }
  149774. assert(base === (base | 0) && base >= 2 && base <= 36);
  149775. number = number.toString().replace(/\s+/g, "");
  149776. var start = 0;
  149777. if (number[0] === "-") {
  149778. start++;
  149779. }
  149780. if (base === 16) {
  149781. this._parseHex(number, start);
  149782. } else {
  149783. this._parseBase(number, base, start);
  149784. }
  149785. if (number[0] === "-") {
  149786. this.negative = 1;
  149787. }
  149788. this.strip();
  149789. if (endian !== "le") return;
  149790. this._initArray(this.toArray(), base, endian);
  149791. };
  149792. BN.prototype._initNumber = function _initNumber(
  149793. number,
  149794. base,
  149795. endian
  149796. ) {
  149797. if (number < 0) {
  149798. this.negative = 1;
  149799. number = -number;
  149800. }
  149801. if (number < 0x4000000) {
  149802. this.words = [number & 0x3ffffff];
  149803. this.length = 1;
  149804. } else if (number < 0x10000000000000) {
  149805. this.words = [
  149806. number & 0x3ffffff,
  149807. (number / 0x4000000) & 0x3ffffff,
  149808. ];
  149809. this.length = 2;
  149810. } else {
  149811. assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)
  149812. this.words = [
  149813. number & 0x3ffffff,
  149814. (number / 0x4000000) & 0x3ffffff,
  149815. 1,
  149816. ];
  149817. this.length = 3;
  149818. }
  149819. if (endian !== "le") return;
  149820. // Reverse the bytes
  149821. this._initArray(this.toArray(), base, endian);
  149822. };
  149823. BN.prototype._initArray = function _initArray(number, base, endian) {
  149824. // Perhaps a Uint8Array
  149825. assert(typeof number.length === "number");
  149826. if (number.length <= 0) {
  149827. this.words = [0];
  149828. this.length = 1;
  149829. return this;
  149830. }
  149831. this.length = Math.ceil(number.length / 3);
  149832. this.words = new Array(this.length);
  149833. for (var i = 0; i < this.length; i++) {
  149834. this.words[i] = 0;
  149835. }
  149836. var j, w;
  149837. var off = 0;
  149838. if (endian === "be") {
  149839. for (i = number.length - 1, j = 0; i >= 0; i -= 3) {
  149840. w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);
  149841. this.words[j] |= (w << off) & 0x3ffffff;
  149842. this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
  149843. off += 24;
  149844. if (off >= 26) {
  149845. off -= 26;
  149846. j++;
  149847. }
  149848. }
  149849. } else if (endian === "le") {
  149850. for (i = 0, j = 0; i < number.length; i += 3) {
  149851. w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);
  149852. this.words[j] |= (w << off) & 0x3ffffff;
  149853. this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
  149854. off += 24;
  149855. if (off >= 26) {
  149856. off -= 26;
  149857. j++;
  149858. }
  149859. }
  149860. }
  149861. return this.strip();
  149862. };
  149863. function parseHex(str, start, end) {
  149864. var r = 0;
  149865. var len = Math.min(str.length, end);
  149866. for (var i = start; i < len; i++) {
  149867. var c = str.charCodeAt(i) - 48;
  149868. r <<= 4;
  149869. // 'a' - 'f'
  149870. if (c >= 49 && c <= 54) {
  149871. r |= c - 49 + 0xa;
  149872. // 'A' - 'F'
  149873. } else if (c >= 17 && c <= 22) {
  149874. r |= c - 17 + 0xa;
  149875. // '0' - '9'
  149876. } else {
  149877. r |= c & 0xf;
  149878. }
  149879. }
  149880. return r;
  149881. }
  149882. BN.prototype._parseHex = function _parseHex(number, start) {
  149883. // Create possibly bigger array to ensure that it fits the number
  149884. this.length = Math.ceil((number.length - start) / 6);
  149885. this.words = new Array(this.length);
  149886. for (var i = 0; i < this.length; i++) {
  149887. this.words[i] = 0;
  149888. }
  149889. var j, w;
  149890. // Scan 24-bit chunks and add them to the number
  149891. var off = 0;
  149892. for (i = number.length - 6, j = 0; i >= start; i -= 6) {
  149893. w = parseHex(number, i, i + 6);
  149894. this.words[j] |= (w << off) & 0x3ffffff;
  149895. // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb
  149896. this.words[j + 1] |= (w >>> (26 - off)) & 0x3fffff;
  149897. off += 24;
  149898. if (off >= 26) {
  149899. off -= 26;
  149900. j++;
  149901. }
  149902. }
  149903. if (i + 6 !== start) {
  149904. w = parseHex(number, start, i + 6);
  149905. this.words[j] |= (w << off) & 0x3ffffff;
  149906. this.words[j + 1] |= (w >>> (26 - off)) & 0x3fffff;
  149907. }
  149908. this.strip();
  149909. };
  149910. function parseBase(str, start, end, mul) {
  149911. var r = 0;
  149912. var len = Math.min(str.length, end);
  149913. for (var i = start; i < len; i++) {
  149914. var c = str.charCodeAt(i) - 48;
  149915. r *= mul;
  149916. // 'a'
  149917. if (c >= 49) {
  149918. r += c - 49 + 0xa;
  149919. // 'A'
  149920. } else if (c >= 17) {
  149921. r += c - 17 + 0xa;
  149922. // '0' - '9'
  149923. } else {
  149924. r += c;
  149925. }
  149926. }
  149927. return r;
  149928. }
  149929. BN.prototype._parseBase = function _parseBase(number, base, start) {
  149930. // Initialize as zero
  149931. this.words = [0];
  149932. this.length = 1;
  149933. // Find length of limb in base
  149934. for (
  149935. var limbLen = 0, limbPow = 1;
  149936. limbPow <= 0x3ffffff;
  149937. limbPow *= base
  149938. ) {
  149939. limbLen++;
  149940. }
  149941. limbLen--;
  149942. limbPow = (limbPow / base) | 0;
  149943. var total = number.length - start;
  149944. var mod = total % limbLen;
  149945. var end = Math.min(total, total - mod) + start;
  149946. var word = 0;
  149947. for (var i = start; i < end; i += limbLen) {
  149948. word = parseBase(number, i, i + limbLen, base);
  149949. this.imuln(limbPow);
  149950. if (this.words[0] + word < 0x4000000) {
  149951. this.words[0] += word;
  149952. } else {
  149953. this._iaddn(word);
  149954. }
  149955. }
  149956. if (mod !== 0) {
  149957. var pow = 1;
  149958. word = parseBase(number, i, number.length, base);
  149959. for (i = 0; i < mod; i++) {
  149960. pow *= base;
  149961. }
  149962. this.imuln(pow);
  149963. if (this.words[0] + word < 0x4000000) {
  149964. this.words[0] += word;
  149965. } else {
  149966. this._iaddn(word);
  149967. }
  149968. }
  149969. };
  149970. BN.prototype.copy = function copy(dest) {
  149971. dest.words = new Array(this.length);
  149972. for (var i = 0; i < this.length; i++) {
  149973. dest.words[i] = this.words[i];
  149974. }
  149975. dest.length = this.length;
  149976. dest.negative = this.negative;
  149977. dest.red = this.red;
  149978. };
  149979. BN.prototype.clone = function clone() {
  149980. var r = new BN(null);
  149981. this.copy(r);
  149982. return r;
  149983. };
  149984. BN.prototype._expand = function _expand(size) {
  149985. while (this.length < size) {
  149986. this.words[this.length++] = 0;
  149987. }
  149988. return this;
  149989. };
  149990. // Remove leading `0` from `this`
  149991. BN.prototype.strip = function strip() {
  149992. while (this.length > 1 && this.words[this.length - 1] === 0) {
  149993. this.length--;
  149994. }
  149995. return this._normSign();
  149996. };
  149997. BN.prototype._normSign = function _normSign() {
  149998. // -0 = 0
  149999. if (this.length === 1 && this.words[0] === 0) {
  150000. this.negative = 0;
  150001. }
  150002. return this;
  150003. };
  150004. BN.prototype.inspect = function inspect() {
  150005. return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">";
  150006. };
  150007. /*
  150008. var zeros = [];
  150009. var groupSizes = [];
  150010. var groupBases = [];
  150011. var s = '';
  150012. var i = -1;
  150013. while (++i < BN.wordSize) {
  150014. zeros[i] = s;
  150015. s += '0';
  150016. }
  150017. groupSizes[0] = 0;
  150018. groupSizes[1] = 0;
  150019. groupBases[0] = 0;
  150020. groupBases[1] = 0;
  150021. var base = 2 - 1;
  150022. while (++base < 36 + 1) {
  150023. var groupSize = 0;
  150024. var groupBase = 1;
  150025. while (groupBase < (1 << BN.wordSize) / base) {
  150026. groupBase *= base;
  150027. groupSize += 1;
  150028. }
  150029. groupSizes[base] = groupSize;
  150030. groupBases[base] = groupBase;
  150031. }
  150032. */
  150033. var zeros = [
  150034. "",
  150035. "0",
  150036. "00",
  150037. "000",
  150038. "0000",
  150039. "00000",
  150040. "000000",
  150041. "0000000",
  150042. "00000000",
  150043. "000000000",
  150044. "0000000000",
  150045. "00000000000",
  150046. "000000000000",
  150047. "0000000000000",
  150048. "00000000000000",
  150049. "000000000000000",
  150050. "0000000000000000",
  150051. "00000000000000000",
  150052. "000000000000000000",
  150053. "0000000000000000000",
  150054. "00000000000000000000",
  150055. "000000000000000000000",
  150056. "0000000000000000000000",
  150057. "00000000000000000000000",
  150058. "000000000000000000000000",
  150059. "0000000000000000000000000",
  150060. ];
  150061. var groupSizes = [
  150062. 0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6,
  150063. 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  150064. ];
  150065. var groupBases = [
  150066. 0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607,
  150067. 16777216, 43046721, 10000000, 19487171, 35831808, 62748517, 7529536,
  150068. 11390625, 16777216, 24137569, 34012224, 47045881, 64000000, 4084101,
  150069. 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368,
  150070. 20511149, 24300000, 28629151, 33554432, 39135393, 45435424,
  150071. 52521875, 60466176,
  150072. ];
  150073. BN.prototype.toString = function toString(base, padding) {
  150074. base = base || 10;
  150075. padding = padding | 0 || 1;
  150076. var out;
  150077. if (base === 16 || base === "hex") {
  150078. out = "";
  150079. var off = 0;
  150080. var carry = 0;
  150081. for (var i = 0; i < this.length; i++) {
  150082. var w = this.words[i];
  150083. var word = (((w << off) | carry) & 0xffffff).toString(16);
  150084. carry = (w >>> (24 - off)) & 0xffffff;
  150085. if (carry !== 0 || i !== this.length - 1) {
  150086. out = zeros[6 - word.length] + word + out;
  150087. } else {
  150088. out = word + out;
  150089. }
  150090. off += 2;
  150091. if (off >= 26) {
  150092. off -= 26;
  150093. i--;
  150094. }
  150095. }
  150096. if (carry !== 0) {
  150097. out = carry.toString(16) + out;
  150098. }
  150099. while (out.length % padding !== 0) {
  150100. out = "0" + out;
  150101. }
  150102. if (this.negative !== 0) {
  150103. out = "-" + out;
  150104. }
  150105. return out;
  150106. }
  150107. if (base === (base | 0) && base >= 2 && base <= 36) {
  150108. // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));
  150109. var groupSize = groupSizes[base];
  150110. // var groupBase = Math.pow(base, groupSize);
  150111. var groupBase = groupBases[base];
  150112. out = "";
  150113. var c = this.clone();
  150114. c.negative = 0;
  150115. while (!c.isZero()) {
  150116. var r = c.modn(groupBase).toString(base);
  150117. c = c.idivn(groupBase);
  150118. if (!c.isZero()) {
  150119. out = zeros[groupSize - r.length] + r + out;
  150120. } else {
  150121. out = r + out;
  150122. }
  150123. }
  150124. if (this.isZero()) {
  150125. out = "0" + out;
  150126. }
  150127. while (out.length % padding !== 0) {
  150128. out = "0" + out;
  150129. }
  150130. if (this.negative !== 0) {
  150131. out = "-" + out;
  150132. }
  150133. return out;
  150134. }
  150135. assert(false, "Base should be between 2 and 36");
  150136. };
  150137. BN.prototype.toNumber = function toNumber() {
  150138. var ret = this.words[0];
  150139. if (this.length === 2) {
  150140. ret += this.words[1] * 0x4000000;
  150141. } else if (this.length === 3 && this.words[2] === 0x01) {
  150142. // NOTE: at this stage it is known that the top bit is set
  150143. ret += 0x10000000000000 + this.words[1] * 0x4000000;
  150144. } else if (this.length > 2) {
  150145. assert(false, "Number can only safely store up to 53 bits");
  150146. }
  150147. return this.negative !== 0 ? -ret : ret;
  150148. };
  150149. BN.prototype.toJSON = function toJSON() {
  150150. return this.toString(16);
  150151. };
  150152. BN.prototype.toBuffer = function toBuffer(endian, length) {
  150153. assert(typeof Buffer !== "undefined");
  150154. return this.toArrayLike(Buffer, endian, length);
  150155. };
  150156. BN.prototype.toArray = function toArray(endian, length) {
  150157. return this.toArrayLike(Array, endian, length);
  150158. };
  150159. BN.prototype.toArrayLike = function toArrayLike(
  150160. ArrayType,
  150161. endian,
  150162. length
  150163. ) {
  150164. var byteLength = this.byteLength();
  150165. var reqLength = length || Math.max(1, byteLength);
  150166. assert(
  150167. byteLength <= reqLength,
  150168. "byte array longer than desired length"
  150169. );
  150170. assert(reqLength > 0, "Requested array length <= 0");
  150171. this.strip();
  150172. var littleEndian = endian === "le";
  150173. var res = new ArrayType(reqLength);
  150174. var b, i;
  150175. var q = this.clone();
  150176. if (!littleEndian) {
  150177. // Assume big-endian
  150178. for (i = 0; i < reqLength - byteLength; i++) {
  150179. res[i] = 0;
  150180. }
  150181. for (i = 0; !q.isZero(); i++) {
  150182. b = q.andln(0xff);
  150183. q.iushrn(8);
  150184. res[reqLength - i - 1] = b;
  150185. }
  150186. } else {
  150187. for (i = 0; !q.isZero(); i++) {
  150188. b = q.andln(0xff);
  150189. q.iushrn(8);
  150190. res[i] = b;
  150191. }
  150192. for (; i < reqLength; i++) {
  150193. res[i] = 0;
  150194. }
  150195. }
  150196. return res;
  150197. };
  150198. if (Math.clz32) {
  150199. BN.prototype._countBits = function _countBits(w) {
  150200. return 32 - Math.clz32(w);
  150201. };
  150202. } else {
  150203. BN.prototype._countBits = function _countBits(w) {
  150204. var t = w;
  150205. var r = 0;
  150206. if (t >= 0x1000) {
  150207. r += 13;
  150208. t >>>= 13;
  150209. }
  150210. if (t >= 0x40) {
  150211. r += 7;
  150212. t >>>= 7;
  150213. }
  150214. if (t >= 0x8) {
  150215. r += 4;
  150216. t >>>= 4;
  150217. }
  150218. if (t >= 0x02) {
  150219. r += 2;
  150220. t >>>= 2;
  150221. }
  150222. return r + t;
  150223. };
  150224. }
  150225. BN.prototype._zeroBits = function _zeroBits(w) {
  150226. // Short-cut
  150227. if (w === 0) return 26;
  150228. var t = w;
  150229. var r = 0;
  150230. if ((t & 0x1fff) === 0) {
  150231. r += 13;
  150232. t >>>= 13;
  150233. }
  150234. if ((t & 0x7f) === 0) {
  150235. r += 7;
  150236. t >>>= 7;
  150237. }
  150238. if ((t & 0xf) === 0) {
  150239. r += 4;
  150240. t >>>= 4;
  150241. }
  150242. if ((t & 0x3) === 0) {
  150243. r += 2;
  150244. t >>>= 2;
  150245. }
  150246. if ((t & 0x1) === 0) {
  150247. r++;
  150248. }
  150249. return r;
  150250. };
  150251. // Return number of used bits in a BN
  150252. BN.prototype.bitLength = function bitLength() {
  150253. var w = this.words[this.length - 1];
  150254. var hi = this._countBits(w);
  150255. return (this.length - 1) * 26 + hi;
  150256. };
  150257. function toBitArray(num) {
  150258. var w = new Array(num.bitLength());
  150259. for (var bit = 0; bit < w.length; bit++) {
  150260. var off = (bit / 26) | 0;
  150261. var wbit = bit % 26;
  150262. w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;
  150263. }
  150264. return w;
  150265. }
  150266. // Number of trailing zero bits
  150267. BN.prototype.zeroBits = function zeroBits() {
  150268. if (this.isZero()) return 0;
  150269. var r = 0;
  150270. for (var i = 0; i < this.length; i++) {
  150271. var b = this._zeroBits(this.words[i]);
  150272. r += b;
  150273. if (b !== 26) break;
  150274. }
  150275. return r;
  150276. };
  150277. BN.prototype.byteLength = function byteLength() {
  150278. return Math.ceil(this.bitLength() / 8);
  150279. };
  150280. BN.prototype.toTwos = function toTwos(width) {
  150281. if (this.negative !== 0) {
  150282. return this.abs().inotn(width).iaddn(1);
  150283. }
  150284. return this.clone();
  150285. };
  150286. BN.prototype.fromTwos = function fromTwos(width) {
  150287. if (this.testn(width - 1)) {
  150288. return this.notn(width).iaddn(1).ineg();
  150289. }
  150290. return this.clone();
  150291. };
  150292. BN.prototype.isNeg = function isNeg() {
  150293. return this.negative !== 0;
  150294. };
  150295. // Return negative clone of `this`
  150296. BN.prototype.neg = function neg() {
  150297. return this.clone().ineg();
  150298. };
  150299. BN.prototype.ineg = function ineg() {
  150300. if (!this.isZero()) {
  150301. this.negative ^= 1;
  150302. }
  150303. return this;
  150304. };
  150305. // Or `num` with `this` in-place
  150306. BN.prototype.iuor = function iuor(num) {
  150307. while (this.length < num.length) {
  150308. this.words[this.length++] = 0;
  150309. }
  150310. for (var i = 0; i < num.length; i++) {
  150311. this.words[i] = this.words[i] | num.words[i];
  150312. }
  150313. return this.strip();
  150314. };
  150315. BN.prototype.ior = function ior(num) {
  150316. assert((this.negative | num.negative) === 0);
  150317. return this.iuor(num);
  150318. };
  150319. // Or `num` with `this`
  150320. BN.prototype.or = function or(num) {
  150321. if (this.length > num.length) return this.clone().ior(num);
  150322. return num.clone().ior(this);
  150323. };
  150324. BN.prototype.uor = function uor(num) {
  150325. if (this.length > num.length) return this.clone().iuor(num);
  150326. return num.clone().iuor(this);
  150327. };
  150328. // And `num` with `this` in-place
  150329. BN.prototype.iuand = function iuand(num) {
  150330. // b = min-length(num, this)
  150331. var b;
  150332. if (this.length > num.length) {
  150333. b = num;
  150334. } else {
  150335. b = this;
  150336. }
  150337. for (var i = 0; i < b.length; i++) {
  150338. this.words[i] = this.words[i] & num.words[i];
  150339. }
  150340. this.length = b.length;
  150341. return this.strip();
  150342. };
  150343. BN.prototype.iand = function iand(num) {
  150344. assert((this.negative | num.negative) === 0);
  150345. return this.iuand(num);
  150346. };
  150347. // And `num` with `this`
  150348. BN.prototype.and = function and(num) {
  150349. if (this.length > num.length) return this.clone().iand(num);
  150350. return num.clone().iand(this);
  150351. };
  150352. BN.prototype.uand = function uand(num) {
  150353. if (this.length > num.length) return this.clone().iuand(num);
  150354. return num.clone().iuand(this);
  150355. };
  150356. // Xor `num` with `this` in-place
  150357. BN.prototype.iuxor = function iuxor(num) {
  150358. // a.length > b.length
  150359. var a;
  150360. var b;
  150361. if (this.length > num.length) {
  150362. a = this;
  150363. b = num;
  150364. } else {
  150365. a = num;
  150366. b = this;
  150367. }
  150368. for (var i = 0; i < b.length; i++) {
  150369. this.words[i] = a.words[i] ^ b.words[i];
  150370. }
  150371. if (this !== a) {
  150372. for (; i < a.length; i++) {
  150373. this.words[i] = a.words[i];
  150374. }
  150375. }
  150376. this.length = a.length;
  150377. return this.strip();
  150378. };
  150379. BN.prototype.ixor = function ixor(num) {
  150380. assert((this.negative | num.negative) === 0);
  150381. return this.iuxor(num);
  150382. };
  150383. // Xor `num` with `this`
  150384. BN.prototype.xor = function xor(num) {
  150385. if (this.length > num.length) return this.clone().ixor(num);
  150386. return num.clone().ixor(this);
  150387. };
  150388. BN.prototype.uxor = function uxor(num) {
  150389. if (this.length > num.length) return this.clone().iuxor(num);
  150390. return num.clone().iuxor(this);
  150391. };
  150392. // Not ``this`` with ``width`` bitwidth
  150393. BN.prototype.inotn = function inotn(width) {
  150394. assert(typeof width === "number" && width >= 0);
  150395. var bytesNeeded = Math.ceil(width / 26) | 0;
  150396. var bitsLeft = width % 26;
  150397. // Extend the buffer with leading zeroes
  150398. this._expand(bytesNeeded);
  150399. if (bitsLeft > 0) {
  150400. bytesNeeded--;
  150401. }
  150402. // Handle complete words
  150403. for (var i = 0; i < bytesNeeded; i++) {
  150404. this.words[i] = ~this.words[i] & 0x3ffffff;
  150405. }
  150406. // Handle the residue
  150407. if (bitsLeft > 0) {
  150408. this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));
  150409. }
  150410. // And remove leading zeroes
  150411. return this.strip();
  150412. };
  150413. BN.prototype.notn = function notn(width) {
  150414. return this.clone().inotn(width);
  150415. };
  150416. // Set `bit` of `this`
  150417. BN.prototype.setn = function setn(bit, val) {
  150418. assert(typeof bit === "number" && bit >= 0);
  150419. var off = (bit / 26) | 0;
  150420. var wbit = bit % 26;
  150421. this._expand(off + 1);
  150422. if (val) {
  150423. this.words[off] = this.words[off] | (1 << wbit);
  150424. } else {
  150425. this.words[off] = this.words[off] & ~(1 << wbit);
  150426. }
  150427. return this.strip();
  150428. };
  150429. // Add `num` to `this` in-place
  150430. BN.prototype.iadd = function iadd(num) {
  150431. var r;
  150432. // negative + positive
  150433. if (this.negative !== 0 && num.negative === 0) {
  150434. this.negative = 0;
  150435. r = this.isub(num);
  150436. this.negative ^= 1;
  150437. return this._normSign();
  150438. // positive + negative
  150439. } else if (this.negative === 0 && num.negative !== 0) {
  150440. num.negative = 0;
  150441. r = this.isub(num);
  150442. num.negative = 1;
  150443. return r._normSign();
  150444. }
  150445. // a.length > b.length
  150446. var a, b;
  150447. if (this.length > num.length) {
  150448. a = this;
  150449. b = num;
  150450. } else {
  150451. a = num;
  150452. b = this;
  150453. }
  150454. var carry = 0;
  150455. for (var i = 0; i < b.length; i++) {
  150456. r = (a.words[i] | 0) + (b.words[i] | 0) + carry;
  150457. this.words[i] = r & 0x3ffffff;
  150458. carry = r >>> 26;
  150459. }
  150460. for (; carry !== 0 && i < a.length; i++) {
  150461. r = (a.words[i] | 0) + carry;
  150462. this.words[i] = r & 0x3ffffff;
  150463. carry = r >>> 26;
  150464. }
  150465. this.length = a.length;
  150466. if (carry !== 0) {
  150467. this.words[this.length] = carry;
  150468. this.length++;
  150469. // Copy the rest of the words
  150470. } else if (a !== this) {
  150471. for (; i < a.length; i++) {
  150472. this.words[i] = a.words[i];
  150473. }
  150474. }
  150475. return this;
  150476. };
  150477. // Add `num` to `this`
  150478. BN.prototype.add = function add(num) {
  150479. var res;
  150480. if (num.negative !== 0 && this.negative === 0) {
  150481. num.negative = 0;
  150482. res = this.sub(num);
  150483. num.negative ^= 1;
  150484. return res;
  150485. } else if (num.negative === 0 && this.negative !== 0) {
  150486. this.negative = 0;
  150487. res = num.sub(this);
  150488. this.negative = 1;
  150489. return res;
  150490. }
  150491. if (this.length > num.length) return this.clone().iadd(num);
  150492. return num.clone().iadd(this);
  150493. };
  150494. // Subtract `num` from `this` in-place
  150495. BN.prototype.isub = function isub(num) {
  150496. // this - (-num) = this + num
  150497. if (num.negative !== 0) {
  150498. num.negative = 0;
  150499. var r = this.iadd(num);
  150500. num.negative = 1;
  150501. return r._normSign();
  150502. // -this - num = -(this + num)
  150503. } else if (this.negative !== 0) {
  150504. this.negative = 0;
  150505. this.iadd(num);
  150506. this.negative = 1;
  150507. return this._normSign();
  150508. }
  150509. // At this point both numbers are positive
  150510. var cmp = this.cmp(num);
  150511. // Optimization - zeroify
  150512. if (cmp === 0) {
  150513. this.negative = 0;
  150514. this.length = 1;
  150515. this.words[0] = 0;
  150516. return this;
  150517. }
  150518. // a > b
  150519. var a, b;
  150520. if (cmp > 0) {
  150521. a = this;
  150522. b = num;
  150523. } else {
  150524. a = num;
  150525. b = this;
  150526. }
  150527. var carry = 0;
  150528. for (var i = 0; i < b.length; i++) {
  150529. r = (a.words[i] | 0) - (b.words[i] | 0) + carry;
  150530. carry = r >> 26;
  150531. this.words[i] = r & 0x3ffffff;
  150532. }
  150533. for (; carry !== 0 && i < a.length; i++) {
  150534. r = (a.words[i] | 0) + carry;
  150535. carry = r >> 26;
  150536. this.words[i] = r & 0x3ffffff;
  150537. }
  150538. // Copy rest of the words
  150539. if (carry === 0 && i < a.length && a !== this) {
  150540. for (; i < a.length; i++) {
  150541. this.words[i] = a.words[i];
  150542. }
  150543. }
  150544. this.length = Math.max(this.length, i);
  150545. if (a !== this) {
  150546. this.negative = 1;
  150547. }
  150548. return this.strip();
  150549. };
  150550. // Subtract `num` from `this`
  150551. BN.prototype.sub = function sub(num) {
  150552. return this.clone().isub(num);
  150553. };
  150554. function smallMulTo(self, num, out) {
  150555. out.negative = num.negative ^ self.negative;
  150556. var len = (self.length + num.length) | 0;
  150557. out.length = len;
  150558. len = (len - 1) | 0;
  150559. // Peel one iteration (compiler can't do it, because of code complexity)
  150560. var a = self.words[0] | 0;
  150561. var b = num.words[0] | 0;
  150562. var r = a * b;
  150563. var lo = r & 0x3ffffff;
  150564. var carry = (r / 0x4000000) | 0;
  150565. out.words[0] = lo;
  150566. for (var k = 1; k < len; k++) {
  150567. // Sum all words with the same `i + j = k` and accumulate `ncarry`,
  150568. // note that ncarry could be >= 0x3ffffff
  150569. var ncarry = carry >>> 26;
  150570. var rword = carry & 0x3ffffff;
  150571. var maxJ = Math.min(k, num.length - 1);
  150572. for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
  150573. var i = (k - j) | 0;
  150574. a = self.words[i] | 0;
  150575. b = num.words[j] | 0;
  150576. r = a * b + rword;
  150577. ncarry += (r / 0x4000000) | 0;
  150578. rword = r & 0x3ffffff;
  150579. }
  150580. out.words[k] = rword | 0;
  150581. carry = ncarry | 0;
  150582. }
  150583. if (carry !== 0) {
  150584. out.words[k] = carry | 0;
  150585. } else {
  150586. out.length--;
  150587. }
  150588. return out.strip();
  150589. }
  150590. // TODO(indutny): it may be reasonable to omit it for users who don't need
  150591. // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit
  150592. // multiplication (like elliptic secp256k1).
  150593. var comb10MulTo = function comb10MulTo(self, num, out) {
  150594. var a = self.words;
  150595. var b = num.words;
  150596. var o = out.words;
  150597. var c = 0;
  150598. var lo;
  150599. var mid;
  150600. var hi;
  150601. var a0 = a[0] | 0;
  150602. var al0 = a0 & 0x1fff;
  150603. var ah0 = a0 >>> 13;
  150604. var a1 = a[1] | 0;
  150605. var al1 = a1 & 0x1fff;
  150606. var ah1 = a1 >>> 13;
  150607. var a2 = a[2] | 0;
  150608. var al2 = a2 & 0x1fff;
  150609. var ah2 = a2 >>> 13;
  150610. var a3 = a[3] | 0;
  150611. var al3 = a3 & 0x1fff;
  150612. var ah3 = a3 >>> 13;
  150613. var a4 = a[4] | 0;
  150614. var al4 = a4 & 0x1fff;
  150615. var ah4 = a4 >>> 13;
  150616. var a5 = a[5] | 0;
  150617. var al5 = a5 & 0x1fff;
  150618. var ah5 = a5 >>> 13;
  150619. var a6 = a[6] | 0;
  150620. var al6 = a6 & 0x1fff;
  150621. var ah6 = a6 >>> 13;
  150622. var a7 = a[7] | 0;
  150623. var al7 = a7 & 0x1fff;
  150624. var ah7 = a7 >>> 13;
  150625. var a8 = a[8] | 0;
  150626. var al8 = a8 & 0x1fff;
  150627. var ah8 = a8 >>> 13;
  150628. var a9 = a[9] | 0;
  150629. var al9 = a9 & 0x1fff;
  150630. var ah9 = a9 >>> 13;
  150631. var b0 = b[0] | 0;
  150632. var bl0 = b0 & 0x1fff;
  150633. var bh0 = b0 >>> 13;
  150634. var b1 = b[1] | 0;
  150635. var bl1 = b1 & 0x1fff;
  150636. var bh1 = b1 >>> 13;
  150637. var b2 = b[2] | 0;
  150638. var bl2 = b2 & 0x1fff;
  150639. var bh2 = b2 >>> 13;
  150640. var b3 = b[3] | 0;
  150641. var bl3 = b3 & 0x1fff;
  150642. var bh3 = b3 >>> 13;
  150643. var b4 = b[4] | 0;
  150644. var bl4 = b4 & 0x1fff;
  150645. var bh4 = b4 >>> 13;
  150646. var b5 = b[5] | 0;
  150647. var bl5 = b5 & 0x1fff;
  150648. var bh5 = b5 >>> 13;
  150649. var b6 = b[6] | 0;
  150650. var bl6 = b6 & 0x1fff;
  150651. var bh6 = b6 >>> 13;
  150652. var b7 = b[7] | 0;
  150653. var bl7 = b7 & 0x1fff;
  150654. var bh7 = b7 >>> 13;
  150655. var b8 = b[8] | 0;
  150656. var bl8 = b8 & 0x1fff;
  150657. var bh8 = b8 >>> 13;
  150658. var b9 = b[9] | 0;
  150659. var bl9 = b9 & 0x1fff;
  150660. var bh9 = b9 >>> 13;
  150661. out.negative = self.negative ^ num.negative;
  150662. out.length = 19;
  150663. /* k = 0 */
  150664. lo = Math.imul(al0, bl0);
  150665. mid = Math.imul(al0, bh0);
  150666. mid = (mid + Math.imul(ah0, bl0)) | 0;
  150667. hi = Math.imul(ah0, bh0);
  150668. var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150669. c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;
  150670. w0 &= 0x3ffffff;
  150671. /* k = 1 */
  150672. lo = Math.imul(al1, bl0);
  150673. mid = Math.imul(al1, bh0);
  150674. mid = (mid + Math.imul(ah1, bl0)) | 0;
  150675. hi = Math.imul(ah1, bh0);
  150676. lo = (lo + Math.imul(al0, bl1)) | 0;
  150677. mid = (mid + Math.imul(al0, bh1)) | 0;
  150678. mid = (mid + Math.imul(ah0, bl1)) | 0;
  150679. hi = (hi + Math.imul(ah0, bh1)) | 0;
  150680. var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150681. c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;
  150682. w1 &= 0x3ffffff;
  150683. /* k = 2 */
  150684. lo = Math.imul(al2, bl0);
  150685. mid = Math.imul(al2, bh0);
  150686. mid = (mid + Math.imul(ah2, bl0)) | 0;
  150687. hi = Math.imul(ah2, bh0);
  150688. lo = (lo + Math.imul(al1, bl1)) | 0;
  150689. mid = (mid + Math.imul(al1, bh1)) | 0;
  150690. mid = (mid + Math.imul(ah1, bl1)) | 0;
  150691. hi = (hi + Math.imul(ah1, bh1)) | 0;
  150692. lo = (lo + Math.imul(al0, bl2)) | 0;
  150693. mid = (mid + Math.imul(al0, bh2)) | 0;
  150694. mid = (mid + Math.imul(ah0, bl2)) | 0;
  150695. hi = (hi + Math.imul(ah0, bh2)) | 0;
  150696. var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150697. c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;
  150698. w2 &= 0x3ffffff;
  150699. /* k = 3 */
  150700. lo = Math.imul(al3, bl0);
  150701. mid = Math.imul(al3, bh0);
  150702. mid = (mid + Math.imul(ah3, bl0)) | 0;
  150703. hi = Math.imul(ah3, bh0);
  150704. lo = (lo + Math.imul(al2, bl1)) | 0;
  150705. mid = (mid + Math.imul(al2, bh1)) | 0;
  150706. mid = (mid + Math.imul(ah2, bl1)) | 0;
  150707. hi = (hi + Math.imul(ah2, bh1)) | 0;
  150708. lo = (lo + Math.imul(al1, bl2)) | 0;
  150709. mid = (mid + Math.imul(al1, bh2)) | 0;
  150710. mid = (mid + Math.imul(ah1, bl2)) | 0;
  150711. hi = (hi + Math.imul(ah1, bh2)) | 0;
  150712. lo = (lo + Math.imul(al0, bl3)) | 0;
  150713. mid = (mid + Math.imul(al0, bh3)) | 0;
  150714. mid = (mid + Math.imul(ah0, bl3)) | 0;
  150715. hi = (hi + Math.imul(ah0, bh3)) | 0;
  150716. var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150717. c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;
  150718. w3 &= 0x3ffffff;
  150719. /* k = 4 */
  150720. lo = Math.imul(al4, bl0);
  150721. mid = Math.imul(al4, bh0);
  150722. mid = (mid + Math.imul(ah4, bl0)) | 0;
  150723. hi = Math.imul(ah4, bh0);
  150724. lo = (lo + Math.imul(al3, bl1)) | 0;
  150725. mid = (mid + Math.imul(al3, bh1)) | 0;
  150726. mid = (mid + Math.imul(ah3, bl1)) | 0;
  150727. hi = (hi + Math.imul(ah3, bh1)) | 0;
  150728. lo = (lo + Math.imul(al2, bl2)) | 0;
  150729. mid = (mid + Math.imul(al2, bh2)) | 0;
  150730. mid = (mid + Math.imul(ah2, bl2)) | 0;
  150731. hi = (hi + Math.imul(ah2, bh2)) | 0;
  150732. lo = (lo + Math.imul(al1, bl3)) | 0;
  150733. mid = (mid + Math.imul(al1, bh3)) | 0;
  150734. mid = (mid + Math.imul(ah1, bl3)) | 0;
  150735. hi = (hi + Math.imul(ah1, bh3)) | 0;
  150736. lo = (lo + Math.imul(al0, bl4)) | 0;
  150737. mid = (mid + Math.imul(al0, bh4)) | 0;
  150738. mid = (mid + Math.imul(ah0, bl4)) | 0;
  150739. hi = (hi + Math.imul(ah0, bh4)) | 0;
  150740. var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150741. c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;
  150742. w4 &= 0x3ffffff;
  150743. /* k = 5 */
  150744. lo = Math.imul(al5, bl0);
  150745. mid = Math.imul(al5, bh0);
  150746. mid = (mid + Math.imul(ah5, bl0)) | 0;
  150747. hi = Math.imul(ah5, bh0);
  150748. lo = (lo + Math.imul(al4, bl1)) | 0;
  150749. mid = (mid + Math.imul(al4, bh1)) | 0;
  150750. mid = (mid + Math.imul(ah4, bl1)) | 0;
  150751. hi = (hi + Math.imul(ah4, bh1)) | 0;
  150752. lo = (lo + Math.imul(al3, bl2)) | 0;
  150753. mid = (mid + Math.imul(al3, bh2)) | 0;
  150754. mid = (mid + Math.imul(ah3, bl2)) | 0;
  150755. hi = (hi + Math.imul(ah3, bh2)) | 0;
  150756. lo = (lo + Math.imul(al2, bl3)) | 0;
  150757. mid = (mid + Math.imul(al2, bh3)) | 0;
  150758. mid = (mid + Math.imul(ah2, bl3)) | 0;
  150759. hi = (hi + Math.imul(ah2, bh3)) | 0;
  150760. lo = (lo + Math.imul(al1, bl4)) | 0;
  150761. mid = (mid + Math.imul(al1, bh4)) | 0;
  150762. mid = (mid + Math.imul(ah1, bl4)) | 0;
  150763. hi = (hi + Math.imul(ah1, bh4)) | 0;
  150764. lo = (lo + Math.imul(al0, bl5)) | 0;
  150765. mid = (mid + Math.imul(al0, bh5)) | 0;
  150766. mid = (mid + Math.imul(ah0, bl5)) | 0;
  150767. hi = (hi + Math.imul(ah0, bh5)) | 0;
  150768. var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150769. c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;
  150770. w5 &= 0x3ffffff;
  150771. /* k = 6 */
  150772. lo = Math.imul(al6, bl0);
  150773. mid = Math.imul(al6, bh0);
  150774. mid = (mid + Math.imul(ah6, bl0)) | 0;
  150775. hi = Math.imul(ah6, bh0);
  150776. lo = (lo + Math.imul(al5, bl1)) | 0;
  150777. mid = (mid + Math.imul(al5, bh1)) | 0;
  150778. mid = (mid + Math.imul(ah5, bl1)) | 0;
  150779. hi = (hi + Math.imul(ah5, bh1)) | 0;
  150780. lo = (lo + Math.imul(al4, bl2)) | 0;
  150781. mid = (mid + Math.imul(al4, bh2)) | 0;
  150782. mid = (mid + Math.imul(ah4, bl2)) | 0;
  150783. hi = (hi + Math.imul(ah4, bh2)) | 0;
  150784. lo = (lo + Math.imul(al3, bl3)) | 0;
  150785. mid = (mid + Math.imul(al3, bh3)) | 0;
  150786. mid = (mid + Math.imul(ah3, bl3)) | 0;
  150787. hi = (hi + Math.imul(ah3, bh3)) | 0;
  150788. lo = (lo + Math.imul(al2, bl4)) | 0;
  150789. mid = (mid + Math.imul(al2, bh4)) | 0;
  150790. mid = (mid + Math.imul(ah2, bl4)) | 0;
  150791. hi = (hi + Math.imul(ah2, bh4)) | 0;
  150792. lo = (lo + Math.imul(al1, bl5)) | 0;
  150793. mid = (mid + Math.imul(al1, bh5)) | 0;
  150794. mid = (mid + Math.imul(ah1, bl5)) | 0;
  150795. hi = (hi + Math.imul(ah1, bh5)) | 0;
  150796. lo = (lo + Math.imul(al0, bl6)) | 0;
  150797. mid = (mid + Math.imul(al0, bh6)) | 0;
  150798. mid = (mid + Math.imul(ah0, bl6)) | 0;
  150799. hi = (hi + Math.imul(ah0, bh6)) | 0;
  150800. var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150801. c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;
  150802. w6 &= 0x3ffffff;
  150803. /* k = 7 */
  150804. lo = Math.imul(al7, bl0);
  150805. mid = Math.imul(al7, bh0);
  150806. mid = (mid + Math.imul(ah7, bl0)) | 0;
  150807. hi = Math.imul(ah7, bh0);
  150808. lo = (lo + Math.imul(al6, bl1)) | 0;
  150809. mid = (mid + Math.imul(al6, bh1)) | 0;
  150810. mid = (mid + Math.imul(ah6, bl1)) | 0;
  150811. hi = (hi + Math.imul(ah6, bh1)) | 0;
  150812. lo = (lo + Math.imul(al5, bl2)) | 0;
  150813. mid = (mid + Math.imul(al5, bh2)) | 0;
  150814. mid = (mid + Math.imul(ah5, bl2)) | 0;
  150815. hi = (hi + Math.imul(ah5, bh2)) | 0;
  150816. lo = (lo + Math.imul(al4, bl3)) | 0;
  150817. mid = (mid + Math.imul(al4, bh3)) | 0;
  150818. mid = (mid + Math.imul(ah4, bl3)) | 0;
  150819. hi = (hi + Math.imul(ah4, bh3)) | 0;
  150820. lo = (lo + Math.imul(al3, bl4)) | 0;
  150821. mid = (mid + Math.imul(al3, bh4)) | 0;
  150822. mid = (mid + Math.imul(ah3, bl4)) | 0;
  150823. hi = (hi + Math.imul(ah3, bh4)) | 0;
  150824. lo = (lo + Math.imul(al2, bl5)) | 0;
  150825. mid = (mid + Math.imul(al2, bh5)) | 0;
  150826. mid = (mid + Math.imul(ah2, bl5)) | 0;
  150827. hi = (hi + Math.imul(ah2, bh5)) | 0;
  150828. lo = (lo + Math.imul(al1, bl6)) | 0;
  150829. mid = (mid + Math.imul(al1, bh6)) | 0;
  150830. mid = (mid + Math.imul(ah1, bl6)) | 0;
  150831. hi = (hi + Math.imul(ah1, bh6)) | 0;
  150832. lo = (lo + Math.imul(al0, bl7)) | 0;
  150833. mid = (mid + Math.imul(al0, bh7)) | 0;
  150834. mid = (mid + Math.imul(ah0, bl7)) | 0;
  150835. hi = (hi + Math.imul(ah0, bh7)) | 0;
  150836. var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150837. c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;
  150838. w7 &= 0x3ffffff;
  150839. /* k = 8 */
  150840. lo = Math.imul(al8, bl0);
  150841. mid = Math.imul(al8, bh0);
  150842. mid = (mid + Math.imul(ah8, bl0)) | 0;
  150843. hi = Math.imul(ah8, bh0);
  150844. lo = (lo + Math.imul(al7, bl1)) | 0;
  150845. mid = (mid + Math.imul(al7, bh1)) | 0;
  150846. mid = (mid + Math.imul(ah7, bl1)) | 0;
  150847. hi = (hi + Math.imul(ah7, bh1)) | 0;
  150848. lo = (lo + Math.imul(al6, bl2)) | 0;
  150849. mid = (mid + Math.imul(al6, bh2)) | 0;
  150850. mid = (mid + Math.imul(ah6, bl2)) | 0;
  150851. hi = (hi + Math.imul(ah6, bh2)) | 0;
  150852. lo = (lo + Math.imul(al5, bl3)) | 0;
  150853. mid = (mid + Math.imul(al5, bh3)) | 0;
  150854. mid = (mid + Math.imul(ah5, bl3)) | 0;
  150855. hi = (hi + Math.imul(ah5, bh3)) | 0;
  150856. lo = (lo + Math.imul(al4, bl4)) | 0;
  150857. mid = (mid + Math.imul(al4, bh4)) | 0;
  150858. mid = (mid + Math.imul(ah4, bl4)) | 0;
  150859. hi = (hi + Math.imul(ah4, bh4)) | 0;
  150860. lo = (lo + Math.imul(al3, bl5)) | 0;
  150861. mid = (mid + Math.imul(al3, bh5)) | 0;
  150862. mid = (mid + Math.imul(ah3, bl5)) | 0;
  150863. hi = (hi + Math.imul(ah3, bh5)) | 0;
  150864. lo = (lo + Math.imul(al2, bl6)) | 0;
  150865. mid = (mid + Math.imul(al2, bh6)) | 0;
  150866. mid = (mid + Math.imul(ah2, bl6)) | 0;
  150867. hi = (hi + Math.imul(ah2, bh6)) | 0;
  150868. lo = (lo + Math.imul(al1, bl7)) | 0;
  150869. mid = (mid + Math.imul(al1, bh7)) | 0;
  150870. mid = (mid + Math.imul(ah1, bl7)) | 0;
  150871. hi = (hi + Math.imul(ah1, bh7)) | 0;
  150872. lo = (lo + Math.imul(al0, bl8)) | 0;
  150873. mid = (mid + Math.imul(al0, bh8)) | 0;
  150874. mid = (mid + Math.imul(ah0, bl8)) | 0;
  150875. hi = (hi + Math.imul(ah0, bh8)) | 0;
  150876. var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150877. c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;
  150878. w8 &= 0x3ffffff;
  150879. /* k = 9 */
  150880. lo = Math.imul(al9, bl0);
  150881. mid = Math.imul(al9, bh0);
  150882. mid = (mid + Math.imul(ah9, bl0)) | 0;
  150883. hi = Math.imul(ah9, bh0);
  150884. lo = (lo + Math.imul(al8, bl1)) | 0;
  150885. mid = (mid + Math.imul(al8, bh1)) | 0;
  150886. mid = (mid + Math.imul(ah8, bl1)) | 0;
  150887. hi = (hi + Math.imul(ah8, bh1)) | 0;
  150888. lo = (lo + Math.imul(al7, bl2)) | 0;
  150889. mid = (mid + Math.imul(al7, bh2)) | 0;
  150890. mid = (mid + Math.imul(ah7, bl2)) | 0;
  150891. hi = (hi + Math.imul(ah7, bh2)) | 0;
  150892. lo = (lo + Math.imul(al6, bl3)) | 0;
  150893. mid = (mid + Math.imul(al6, bh3)) | 0;
  150894. mid = (mid + Math.imul(ah6, bl3)) | 0;
  150895. hi = (hi + Math.imul(ah6, bh3)) | 0;
  150896. lo = (lo + Math.imul(al5, bl4)) | 0;
  150897. mid = (mid + Math.imul(al5, bh4)) | 0;
  150898. mid = (mid + Math.imul(ah5, bl4)) | 0;
  150899. hi = (hi + Math.imul(ah5, bh4)) | 0;
  150900. lo = (lo + Math.imul(al4, bl5)) | 0;
  150901. mid = (mid + Math.imul(al4, bh5)) | 0;
  150902. mid = (mid + Math.imul(ah4, bl5)) | 0;
  150903. hi = (hi + Math.imul(ah4, bh5)) | 0;
  150904. lo = (lo + Math.imul(al3, bl6)) | 0;
  150905. mid = (mid + Math.imul(al3, bh6)) | 0;
  150906. mid = (mid + Math.imul(ah3, bl6)) | 0;
  150907. hi = (hi + Math.imul(ah3, bh6)) | 0;
  150908. lo = (lo + Math.imul(al2, bl7)) | 0;
  150909. mid = (mid + Math.imul(al2, bh7)) | 0;
  150910. mid = (mid + Math.imul(ah2, bl7)) | 0;
  150911. hi = (hi + Math.imul(ah2, bh7)) | 0;
  150912. lo = (lo + Math.imul(al1, bl8)) | 0;
  150913. mid = (mid + Math.imul(al1, bh8)) | 0;
  150914. mid = (mid + Math.imul(ah1, bl8)) | 0;
  150915. hi = (hi + Math.imul(ah1, bh8)) | 0;
  150916. lo = (lo + Math.imul(al0, bl9)) | 0;
  150917. mid = (mid + Math.imul(al0, bh9)) | 0;
  150918. mid = (mid + Math.imul(ah0, bl9)) | 0;
  150919. hi = (hi + Math.imul(ah0, bh9)) | 0;
  150920. var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150921. c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;
  150922. w9 &= 0x3ffffff;
  150923. /* k = 10 */
  150924. lo = Math.imul(al9, bl1);
  150925. mid = Math.imul(al9, bh1);
  150926. mid = (mid + Math.imul(ah9, bl1)) | 0;
  150927. hi = Math.imul(ah9, bh1);
  150928. lo = (lo + Math.imul(al8, bl2)) | 0;
  150929. mid = (mid + Math.imul(al8, bh2)) | 0;
  150930. mid = (mid + Math.imul(ah8, bl2)) | 0;
  150931. hi = (hi + Math.imul(ah8, bh2)) | 0;
  150932. lo = (lo + Math.imul(al7, bl3)) | 0;
  150933. mid = (mid + Math.imul(al7, bh3)) | 0;
  150934. mid = (mid + Math.imul(ah7, bl3)) | 0;
  150935. hi = (hi + Math.imul(ah7, bh3)) | 0;
  150936. lo = (lo + Math.imul(al6, bl4)) | 0;
  150937. mid = (mid + Math.imul(al6, bh4)) | 0;
  150938. mid = (mid + Math.imul(ah6, bl4)) | 0;
  150939. hi = (hi + Math.imul(ah6, bh4)) | 0;
  150940. lo = (lo + Math.imul(al5, bl5)) | 0;
  150941. mid = (mid + Math.imul(al5, bh5)) | 0;
  150942. mid = (mid + Math.imul(ah5, bl5)) | 0;
  150943. hi = (hi + Math.imul(ah5, bh5)) | 0;
  150944. lo = (lo + Math.imul(al4, bl6)) | 0;
  150945. mid = (mid + Math.imul(al4, bh6)) | 0;
  150946. mid = (mid + Math.imul(ah4, bl6)) | 0;
  150947. hi = (hi + Math.imul(ah4, bh6)) | 0;
  150948. lo = (lo + Math.imul(al3, bl7)) | 0;
  150949. mid = (mid + Math.imul(al3, bh7)) | 0;
  150950. mid = (mid + Math.imul(ah3, bl7)) | 0;
  150951. hi = (hi + Math.imul(ah3, bh7)) | 0;
  150952. lo = (lo + Math.imul(al2, bl8)) | 0;
  150953. mid = (mid + Math.imul(al2, bh8)) | 0;
  150954. mid = (mid + Math.imul(ah2, bl8)) | 0;
  150955. hi = (hi + Math.imul(ah2, bh8)) | 0;
  150956. lo = (lo + Math.imul(al1, bl9)) | 0;
  150957. mid = (mid + Math.imul(al1, bh9)) | 0;
  150958. mid = (mid + Math.imul(ah1, bl9)) | 0;
  150959. hi = (hi + Math.imul(ah1, bh9)) | 0;
  150960. var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150961. c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;
  150962. w10 &= 0x3ffffff;
  150963. /* k = 11 */
  150964. lo = Math.imul(al9, bl2);
  150965. mid = Math.imul(al9, bh2);
  150966. mid = (mid + Math.imul(ah9, bl2)) | 0;
  150967. hi = Math.imul(ah9, bh2);
  150968. lo = (lo + Math.imul(al8, bl3)) | 0;
  150969. mid = (mid + Math.imul(al8, bh3)) | 0;
  150970. mid = (mid + Math.imul(ah8, bl3)) | 0;
  150971. hi = (hi + Math.imul(ah8, bh3)) | 0;
  150972. lo = (lo + Math.imul(al7, bl4)) | 0;
  150973. mid = (mid + Math.imul(al7, bh4)) | 0;
  150974. mid = (mid + Math.imul(ah7, bl4)) | 0;
  150975. hi = (hi + Math.imul(ah7, bh4)) | 0;
  150976. lo = (lo + Math.imul(al6, bl5)) | 0;
  150977. mid = (mid + Math.imul(al6, bh5)) | 0;
  150978. mid = (mid + Math.imul(ah6, bl5)) | 0;
  150979. hi = (hi + Math.imul(ah6, bh5)) | 0;
  150980. lo = (lo + Math.imul(al5, bl6)) | 0;
  150981. mid = (mid + Math.imul(al5, bh6)) | 0;
  150982. mid = (mid + Math.imul(ah5, bl6)) | 0;
  150983. hi = (hi + Math.imul(ah5, bh6)) | 0;
  150984. lo = (lo + Math.imul(al4, bl7)) | 0;
  150985. mid = (mid + Math.imul(al4, bh7)) | 0;
  150986. mid = (mid + Math.imul(ah4, bl7)) | 0;
  150987. hi = (hi + Math.imul(ah4, bh7)) | 0;
  150988. lo = (lo + Math.imul(al3, bl8)) | 0;
  150989. mid = (mid + Math.imul(al3, bh8)) | 0;
  150990. mid = (mid + Math.imul(ah3, bl8)) | 0;
  150991. hi = (hi + Math.imul(ah3, bh8)) | 0;
  150992. lo = (lo + Math.imul(al2, bl9)) | 0;
  150993. mid = (mid + Math.imul(al2, bh9)) | 0;
  150994. mid = (mid + Math.imul(ah2, bl9)) | 0;
  150995. hi = (hi + Math.imul(ah2, bh9)) | 0;
  150996. var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  150997. c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;
  150998. w11 &= 0x3ffffff;
  150999. /* k = 12 */
  151000. lo = Math.imul(al9, bl3);
  151001. mid = Math.imul(al9, bh3);
  151002. mid = (mid + Math.imul(ah9, bl3)) | 0;
  151003. hi = Math.imul(ah9, bh3);
  151004. lo = (lo + Math.imul(al8, bl4)) | 0;
  151005. mid = (mid + Math.imul(al8, bh4)) | 0;
  151006. mid = (mid + Math.imul(ah8, bl4)) | 0;
  151007. hi = (hi + Math.imul(ah8, bh4)) | 0;
  151008. lo = (lo + Math.imul(al7, bl5)) | 0;
  151009. mid = (mid + Math.imul(al7, bh5)) | 0;
  151010. mid = (mid + Math.imul(ah7, bl5)) | 0;
  151011. hi = (hi + Math.imul(ah7, bh5)) | 0;
  151012. lo = (lo + Math.imul(al6, bl6)) | 0;
  151013. mid = (mid + Math.imul(al6, bh6)) | 0;
  151014. mid = (mid + Math.imul(ah6, bl6)) | 0;
  151015. hi = (hi + Math.imul(ah6, bh6)) | 0;
  151016. lo = (lo + Math.imul(al5, bl7)) | 0;
  151017. mid = (mid + Math.imul(al5, bh7)) | 0;
  151018. mid = (mid + Math.imul(ah5, bl7)) | 0;
  151019. hi = (hi + Math.imul(ah5, bh7)) | 0;
  151020. lo = (lo + Math.imul(al4, bl8)) | 0;
  151021. mid = (mid + Math.imul(al4, bh8)) | 0;
  151022. mid = (mid + Math.imul(ah4, bl8)) | 0;
  151023. hi = (hi + Math.imul(ah4, bh8)) | 0;
  151024. lo = (lo + Math.imul(al3, bl9)) | 0;
  151025. mid = (mid + Math.imul(al3, bh9)) | 0;
  151026. mid = (mid + Math.imul(ah3, bl9)) | 0;
  151027. hi = (hi + Math.imul(ah3, bh9)) | 0;
  151028. var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151029. c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;
  151030. w12 &= 0x3ffffff;
  151031. /* k = 13 */
  151032. lo = Math.imul(al9, bl4);
  151033. mid = Math.imul(al9, bh4);
  151034. mid = (mid + Math.imul(ah9, bl4)) | 0;
  151035. hi = Math.imul(ah9, bh4);
  151036. lo = (lo + Math.imul(al8, bl5)) | 0;
  151037. mid = (mid + Math.imul(al8, bh5)) | 0;
  151038. mid = (mid + Math.imul(ah8, bl5)) | 0;
  151039. hi = (hi + Math.imul(ah8, bh5)) | 0;
  151040. lo = (lo + Math.imul(al7, bl6)) | 0;
  151041. mid = (mid + Math.imul(al7, bh6)) | 0;
  151042. mid = (mid + Math.imul(ah7, bl6)) | 0;
  151043. hi = (hi + Math.imul(ah7, bh6)) | 0;
  151044. lo = (lo + Math.imul(al6, bl7)) | 0;
  151045. mid = (mid + Math.imul(al6, bh7)) | 0;
  151046. mid = (mid + Math.imul(ah6, bl7)) | 0;
  151047. hi = (hi + Math.imul(ah6, bh7)) | 0;
  151048. lo = (lo + Math.imul(al5, bl8)) | 0;
  151049. mid = (mid + Math.imul(al5, bh8)) | 0;
  151050. mid = (mid + Math.imul(ah5, bl8)) | 0;
  151051. hi = (hi + Math.imul(ah5, bh8)) | 0;
  151052. lo = (lo + Math.imul(al4, bl9)) | 0;
  151053. mid = (mid + Math.imul(al4, bh9)) | 0;
  151054. mid = (mid + Math.imul(ah4, bl9)) | 0;
  151055. hi = (hi + Math.imul(ah4, bh9)) | 0;
  151056. var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151057. c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;
  151058. w13 &= 0x3ffffff;
  151059. /* k = 14 */
  151060. lo = Math.imul(al9, bl5);
  151061. mid = Math.imul(al9, bh5);
  151062. mid = (mid + Math.imul(ah9, bl5)) | 0;
  151063. hi = Math.imul(ah9, bh5);
  151064. lo = (lo + Math.imul(al8, bl6)) | 0;
  151065. mid = (mid + Math.imul(al8, bh6)) | 0;
  151066. mid = (mid + Math.imul(ah8, bl6)) | 0;
  151067. hi = (hi + Math.imul(ah8, bh6)) | 0;
  151068. lo = (lo + Math.imul(al7, bl7)) | 0;
  151069. mid = (mid + Math.imul(al7, bh7)) | 0;
  151070. mid = (mid + Math.imul(ah7, bl7)) | 0;
  151071. hi = (hi + Math.imul(ah7, bh7)) | 0;
  151072. lo = (lo + Math.imul(al6, bl8)) | 0;
  151073. mid = (mid + Math.imul(al6, bh8)) | 0;
  151074. mid = (mid + Math.imul(ah6, bl8)) | 0;
  151075. hi = (hi + Math.imul(ah6, bh8)) | 0;
  151076. lo = (lo + Math.imul(al5, bl9)) | 0;
  151077. mid = (mid + Math.imul(al5, bh9)) | 0;
  151078. mid = (mid + Math.imul(ah5, bl9)) | 0;
  151079. hi = (hi + Math.imul(ah5, bh9)) | 0;
  151080. var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151081. c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;
  151082. w14 &= 0x3ffffff;
  151083. /* k = 15 */
  151084. lo = Math.imul(al9, bl6);
  151085. mid = Math.imul(al9, bh6);
  151086. mid = (mid + Math.imul(ah9, bl6)) | 0;
  151087. hi = Math.imul(ah9, bh6);
  151088. lo = (lo + Math.imul(al8, bl7)) | 0;
  151089. mid = (mid + Math.imul(al8, bh7)) | 0;
  151090. mid = (mid + Math.imul(ah8, bl7)) | 0;
  151091. hi = (hi + Math.imul(ah8, bh7)) | 0;
  151092. lo = (lo + Math.imul(al7, bl8)) | 0;
  151093. mid = (mid + Math.imul(al7, bh8)) | 0;
  151094. mid = (mid + Math.imul(ah7, bl8)) | 0;
  151095. hi = (hi + Math.imul(ah7, bh8)) | 0;
  151096. lo = (lo + Math.imul(al6, bl9)) | 0;
  151097. mid = (mid + Math.imul(al6, bh9)) | 0;
  151098. mid = (mid + Math.imul(ah6, bl9)) | 0;
  151099. hi = (hi + Math.imul(ah6, bh9)) | 0;
  151100. var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151101. c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;
  151102. w15 &= 0x3ffffff;
  151103. /* k = 16 */
  151104. lo = Math.imul(al9, bl7);
  151105. mid = Math.imul(al9, bh7);
  151106. mid = (mid + Math.imul(ah9, bl7)) | 0;
  151107. hi = Math.imul(ah9, bh7);
  151108. lo = (lo + Math.imul(al8, bl8)) | 0;
  151109. mid = (mid + Math.imul(al8, bh8)) | 0;
  151110. mid = (mid + Math.imul(ah8, bl8)) | 0;
  151111. hi = (hi + Math.imul(ah8, bh8)) | 0;
  151112. lo = (lo + Math.imul(al7, bl9)) | 0;
  151113. mid = (mid + Math.imul(al7, bh9)) | 0;
  151114. mid = (mid + Math.imul(ah7, bl9)) | 0;
  151115. hi = (hi + Math.imul(ah7, bh9)) | 0;
  151116. var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151117. c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;
  151118. w16 &= 0x3ffffff;
  151119. /* k = 17 */
  151120. lo = Math.imul(al9, bl8);
  151121. mid = Math.imul(al9, bh8);
  151122. mid = (mid + Math.imul(ah9, bl8)) | 0;
  151123. hi = Math.imul(ah9, bh8);
  151124. lo = (lo + Math.imul(al8, bl9)) | 0;
  151125. mid = (mid + Math.imul(al8, bh9)) | 0;
  151126. mid = (mid + Math.imul(ah8, bl9)) | 0;
  151127. hi = (hi + Math.imul(ah8, bh9)) | 0;
  151128. var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151129. c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;
  151130. w17 &= 0x3ffffff;
  151131. /* k = 18 */
  151132. lo = Math.imul(al9, bl9);
  151133. mid = Math.imul(al9, bh9);
  151134. mid = (mid + Math.imul(ah9, bl9)) | 0;
  151135. hi = Math.imul(ah9, bh9);
  151136. var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  151137. c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;
  151138. w18 &= 0x3ffffff;
  151139. o[0] = w0;
  151140. o[1] = w1;
  151141. o[2] = w2;
  151142. o[3] = w3;
  151143. o[4] = w4;
  151144. o[5] = w5;
  151145. o[6] = w6;
  151146. o[7] = w7;
  151147. o[8] = w8;
  151148. o[9] = w9;
  151149. o[10] = w10;
  151150. o[11] = w11;
  151151. o[12] = w12;
  151152. o[13] = w13;
  151153. o[14] = w14;
  151154. o[15] = w15;
  151155. o[16] = w16;
  151156. o[17] = w17;
  151157. o[18] = w18;
  151158. if (c !== 0) {
  151159. o[19] = c;
  151160. out.length++;
  151161. }
  151162. return out;
  151163. };
  151164. // Polyfill comb
  151165. if (!Math.imul) {
  151166. comb10MulTo = smallMulTo;
  151167. }
  151168. function bigMulTo(self, num, out) {
  151169. out.negative = num.negative ^ self.negative;
  151170. out.length = self.length + num.length;
  151171. var carry = 0;
  151172. var hncarry = 0;
  151173. for (var k = 0; k < out.length - 1; k++) {
  151174. // Sum all words with the same `i + j = k` and accumulate `ncarry`,
  151175. // note that ncarry could be >= 0x3ffffff
  151176. var ncarry = hncarry;
  151177. hncarry = 0;
  151178. var rword = carry & 0x3ffffff;
  151179. var maxJ = Math.min(k, num.length - 1);
  151180. for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
  151181. var i = k - j;
  151182. var a = self.words[i] | 0;
  151183. var b = num.words[j] | 0;
  151184. var r = a * b;
  151185. var lo = r & 0x3ffffff;
  151186. ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;
  151187. lo = (lo + rword) | 0;
  151188. rword = lo & 0x3ffffff;
  151189. ncarry = (ncarry + (lo >>> 26)) | 0;
  151190. hncarry += ncarry >>> 26;
  151191. ncarry &= 0x3ffffff;
  151192. }
  151193. out.words[k] = rword;
  151194. carry = ncarry;
  151195. ncarry = hncarry;
  151196. }
  151197. if (carry !== 0) {
  151198. out.words[k] = carry;
  151199. } else {
  151200. out.length--;
  151201. }
  151202. return out.strip();
  151203. }
  151204. function jumboMulTo(self, num, out) {
  151205. var fftm = new FFTM();
  151206. return fftm.mulp(self, num, out);
  151207. }
  151208. BN.prototype.mulTo = function mulTo(num, out) {
  151209. var res;
  151210. var len = this.length + num.length;
  151211. if (this.length === 10 && num.length === 10) {
  151212. res = comb10MulTo(this, num, out);
  151213. } else if (len < 63) {
  151214. res = smallMulTo(this, num, out);
  151215. } else if (len < 1024) {
  151216. res = bigMulTo(this, num, out);
  151217. } else {
  151218. res = jumboMulTo(this, num, out);
  151219. }
  151220. return res;
  151221. };
  151222. // Cooley-Tukey algorithm for FFT
  151223. // slightly revisited to rely on looping instead of recursion
  151224. function FFTM(x, y) {
  151225. this.x = x;
  151226. this.y = y;
  151227. }
  151228. FFTM.prototype.makeRBT = function makeRBT(N) {
  151229. var t = new Array(N);
  151230. var l = BN.prototype._countBits(N) - 1;
  151231. for (var i = 0; i < N; i++) {
  151232. t[i] = this.revBin(i, l, N);
  151233. }
  151234. return t;
  151235. };
  151236. // Returns binary-reversed representation of `x`
  151237. FFTM.prototype.revBin = function revBin(x, l, N) {
  151238. if (x === 0 || x === N - 1) return x;
  151239. var rb = 0;
  151240. for (var i = 0; i < l; i++) {
  151241. rb |= (x & 1) << (l - i - 1);
  151242. x >>= 1;
  151243. }
  151244. return rb;
  151245. };
  151246. // Performs "tweedling" phase, therefore 'emulating'
  151247. // behaviour of the recursive algorithm
  151248. FFTM.prototype.permute = function permute(
  151249. rbt,
  151250. rws,
  151251. iws,
  151252. rtws,
  151253. itws,
  151254. N
  151255. ) {
  151256. for (var i = 0; i < N; i++) {
  151257. rtws[i] = rws[rbt[i]];
  151258. itws[i] = iws[rbt[i]];
  151259. }
  151260. };
  151261. FFTM.prototype.transform = function transform(
  151262. rws,
  151263. iws,
  151264. rtws,
  151265. itws,
  151266. N,
  151267. rbt
  151268. ) {
  151269. this.permute(rbt, rws, iws, rtws, itws, N);
  151270. for (var s = 1; s < N; s <<= 1) {
  151271. var l = s << 1;
  151272. var rtwdf = Math.cos((2 * Math.PI) / l);
  151273. var itwdf = Math.sin((2 * Math.PI) / l);
  151274. for (var p = 0; p < N; p += l) {
  151275. var rtwdf_ = rtwdf;
  151276. var itwdf_ = itwdf;
  151277. for (var j = 0; j < s; j++) {
  151278. var re = rtws[p + j];
  151279. var ie = itws[p + j];
  151280. var ro = rtws[p + j + s];
  151281. var io = itws[p + j + s];
  151282. var rx = rtwdf_ * ro - itwdf_ * io;
  151283. io = rtwdf_ * io + itwdf_ * ro;
  151284. ro = rx;
  151285. rtws[p + j] = re + ro;
  151286. itws[p + j] = ie + io;
  151287. rtws[p + j + s] = re - ro;
  151288. itws[p + j + s] = ie - io;
  151289. /* jshint maxdepth : false */
  151290. if (j !== l) {
  151291. rx = rtwdf * rtwdf_ - itwdf * itwdf_;
  151292. itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;
  151293. rtwdf_ = rx;
  151294. }
  151295. }
  151296. }
  151297. }
  151298. };
  151299. FFTM.prototype.guessLen13b = function guessLen13b(n, m) {
  151300. var N = Math.max(m, n) | 1;
  151301. var odd = N & 1;
  151302. var i = 0;
  151303. for (N = (N / 2) | 0; N; N = N >>> 1) {
  151304. i++;
  151305. }
  151306. return 1 << (i + 1 + odd);
  151307. };
  151308. FFTM.prototype.conjugate = function conjugate(rws, iws, N) {
  151309. if (N <= 1) return;
  151310. for (var i = 0; i < N / 2; i++) {
  151311. var t = rws[i];
  151312. rws[i] = rws[N - i - 1];
  151313. rws[N - i - 1] = t;
  151314. t = iws[i];
  151315. iws[i] = -iws[N - i - 1];
  151316. iws[N - i - 1] = -t;
  151317. }
  151318. };
  151319. FFTM.prototype.normalize13b = function normalize13b(ws, N) {
  151320. var carry = 0;
  151321. for (var i = 0; i < N / 2; i++) {
  151322. var w =
  151323. Math.round(ws[2 * i + 1] / N) * 0x2000 +
  151324. Math.round(ws[2 * i] / N) +
  151325. carry;
  151326. ws[i] = w & 0x3ffffff;
  151327. if (w < 0x4000000) {
  151328. carry = 0;
  151329. } else {
  151330. carry = (w / 0x4000000) | 0;
  151331. }
  151332. }
  151333. return ws;
  151334. };
  151335. FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {
  151336. var carry = 0;
  151337. for (var i = 0; i < len; i++) {
  151338. carry = carry + (ws[i] | 0);
  151339. rws[2 * i] = carry & 0x1fff;
  151340. carry = carry >>> 13;
  151341. rws[2 * i + 1] = carry & 0x1fff;
  151342. carry = carry >>> 13;
  151343. }
  151344. // Pad with zeroes
  151345. for (i = 2 * len; i < N; ++i) {
  151346. rws[i] = 0;
  151347. }
  151348. assert(carry === 0);
  151349. assert((carry & ~0x1fff) === 0);
  151350. };
  151351. FFTM.prototype.stub = function stub(N) {
  151352. var ph = new Array(N);
  151353. for (var i = 0; i < N; i++) {
  151354. ph[i] = 0;
  151355. }
  151356. return ph;
  151357. };
  151358. FFTM.prototype.mulp = function mulp(x, y, out) {
  151359. var N = 2 * this.guessLen13b(x.length, y.length);
  151360. var rbt = this.makeRBT(N);
  151361. var _ = this.stub(N);
  151362. var rws = new Array(N);
  151363. var rwst = new Array(N);
  151364. var iwst = new Array(N);
  151365. var nrws = new Array(N);
  151366. var nrwst = new Array(N);
  151367. var niwst = new Array(N);
  151368. var rmws = out.words;
  151369. rmws.length = N;
  151370. this.convert13b(x.words, x.length, rws, N);
  151371. this.convert13b(y.words, y.length, nrws, N);
  151372. this.transform(rws, _, rwst, iwst, N, rbt);
  151373. this.transform(nrws, _, nrwst, niwst, N, rbt);
  151374. for (var i = 0; i < N; i++) {
  151375. var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];
  151376. iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];
  151377. rwst[i] = rx;
  151378. }
  151379. this.conjugate(rwst, iwst, N);
  151380. this.transform(rwst, iwst, rmws, _, N, rbt);
  151381. this.conjugate(rmws, _, N);
  151382. this.normalize13b(rmws, N);
  151383. out.negative = x.negative ^ y.negative;
  151384. out.length = x.length + y.length;
  151385. return out.strip();
  151386. };
  151387. // Multiply `this` by `num`
  151388. BN.prototype.mul = function mul(num) {
  151389. var out = new BN(null);
  151390. out.words = new Array(this.length + num.length);
  151391. return this.mulTo(num, out);
  151392. };
  151393. // Multiply employing FFT
  151394. BN.prototype.mulf = function mulf(num) {
  151395. var out = new BN(null);
  151396. out.words = new Array(this.length + num.length);
  151397. return jumboMulTo(this, num, out);
  151398. };
  151399. // In-place Multiplication
  151400. BN.prototype.imul = function imul(num) {
  151401. return this.clone().mulTo(num, this);
  151402. };
  151403. BN.prototype.imuln = function imuln(num) {
  151404. assert(typeof num === "number");
  151405. assert(num < 0x4000000);
  151406. // Carry
  151407. var carry = 0;
  151408. for (var i = 0; i < this.length; i++) {
  151409. var w = (this.words[i] | 0) * num;
  151410. var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);
  151411. carry >>= 26;
  151412. carry += (w / 0x4000000) | 0;
  151413. // NOTE: lo is 27bit maximum
  151414. carry += lo >>> 26;
  151415. this.words[i] = lo & 0x3ffffff;
  151416. }
  151417. if (carry !== 0) {
  151418. this.words[i] = carry;
  151419. this.length++;
  151420. }
  151421. return this;
  151422. };
  151423. BN.prototype.muln = function muln(num) {
  151424. return this.clone().imuln(num);
  151425. };
  151426. // `this` * `this`
  151427. BN.prototype.sqr = function sqr() {
  151428. return this.mul(this);
  151429. };
  151430. // `this` * `this` in-place
  151431. BN.prototype.isqr = function isqr() {
  151432. return this.imul(this.clone());
  151433. };
  151434. // Math.pow(`this`, `num`)
  151435. BN.prototype.pow = function pow(num) {
  151436. var w = toBitArray(num);
  151437. if (w.length === 0) return new BN(1);
  151438. // Skip leading zeroes
  151439. var res = this;
  151440. for (var i = 0; i < w.length; i++, res = res.sqr()) {
  151441. if (w[i] !== 0) break;
  151442. }
  151443. if (++i < w.length) {
  151444. for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {
  151445. if (w[i] === 0) continue;
  151446. res = res.mul(q);
  151447. }
  151448. }
  151449. return res;
  151450. };
  151451. // Shift-left in-place
  151452. BN.prototype.iushln = function iushln(bits) {
  151453. assert(typeof bits === "number" && bits >= 0);
  151454. var r = bits % 26;
  151455. var s = (bits - r) / 26;
  151456. var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);
  151457. var i;
  151458. if (r !== 0) {
  151459. var carry = 0;
  151460. for (i = 0; i < this.length; i++) {
  151461. var newCarry = this.words[i] & carryMask;
  151462. var c = ((this.words[i] | 0) - newCarry) << r;
  151463. this.words[i] = c | carry;
  151464. carry = newCarry >>> (26 - r);
  151465. }
  151466. if (carry) {
  151467. this.words[i] = carry;
  151468. this.length++;
  151469. }
  151470. }
  151471. if (s !== 0) {
  151472. for (i = this.length - 1; i >= 0; i--) {
  151473. this.words[i + s] = this.words[i];
  151474. }
  151475. for (i = 0; i < s; i++) {
  151476. this.words[i] = 0;
  151477. }
  151478. this.length += s;
  151479. }
  151480. return this.strip();
  151481. };
  151482. BN.prototype.ishln = function ishln(bits) {
  151483. // TODO(indutny): implement me
  151484. assert(this.negative === 0);
  151485. return this.iushln(bits);
  151486. };
  151487. // Shift-right in-place
  151488. // NOTE: `hint` is a lowest bit before trailing zeroes
  151489. // NOTE: if `extended` is present - it will be filled with destroyed bits
  151490. BN.prototype.iushrn = function iushrn(bits, hint, extended) {
  151491. assert(typeof bits === "number" && bits >= 0);
  151492. var h;
  151493. if (hint) {
  151494. h = (hint - (hint % 26)) / 26;
  151495. } else {
  151496. h = 0;
  151497. }
  151498. var r = bits % 26;
  151499. var s = Math.min((bits - r) / 26, this.length);
  151500. var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
  151501. var maskedWords = extended;
  151502. h -= s;
  151503. h = Math.max(0, h);
  151504. // Extended mode, copy masked part
  151505. if (maskedWords) {
  151506. for (var i = 0; i < s; i++) {
  151507. maskedWords.words[i] = this.words[i];
  151508. }
  151509. maskedWords.length = s;
  151510. }
  151511. if (s === 0) {
  151512. // No-op, we should not move anything at all
  151513. } else if (this.length > s) {
  151514. this.length -= s;
  151515. for (i = 0; i < this.length; i++) {
  151516. this.words[i] = this.words[i + s];
  151517. }
  151518. } else {
  151519. this.words[0] = 0;
  151520. this.length = 1;
  151521. }
  151522. var carry = 0;
  151523. for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {
  151524. var word = this.words[i] | 0;
  151525. this.words[i] = (carry << (26 - r)) | (word >>> r);
  151526. carry = word & mask;
  151527. }
  151528. // Push carried bits as a mask
  151529. if (maskedWords && carry !== 0) {
  151530. maskedWords.words[maskedWords.length++] = carry;
  151531. }
  151532. if (this.length === 0) {
  151533. this.words[0] = 0;
  151534. this.length = 1;
  151535. }
  151536. return this.strip();
  151537. };
  151538. BN.prototype.ishrn = function ishrn(bits, hint, extended) {
  151539. // TODO(indutny): implement me
  151540. assert(this.negative === 0);
  151541. return this.iushrn(bits, hint, extended);
  151542. };
  151543. // Shift-left
  151544. BN.prototype.shln = function shln(bits) {
  151545. return this.clone().ishln(bits);
  151546. };
  151547. BN.prototype.ushln = function ushln(bits) {
  151548. return this.clone().iushln(bits);
  151549. };
  151550. // Shift-right
  151551. BN.prototype.shrn = function shrn(bits) {
  151552. return this.clone().ishrn(bits);
  151553. };
  151554. BN.prototype.ushrn = function ushrn(bits) {
  151555. return this.clone().iushrn(bits);
  151556. };
  151557. // Test if n bit is set
  151558. BN.prototype.testn = function testn(bit) {
  151559. assert(typeof bit === "number" && bit >= 0);
  151560. var r = bit % 26;
  151561. var s = (bit - r) / 26;
  151562. var q = 1 << r;
  151563. // Fast case: bit is much higher than all existing words
  151564. if (this.length <= s) return false;
  151565. // Check bit and return
  151566. var w = this.words[s];
  151567. return !!(w & q);
  151568. };
  151569. // Return only lowers bits of number (in-place)
  151570. BN.prototype.imaskn = function imaskn(bits) {
  151571. assert(typeof bits === "number" && bits >= 0);
  151572. var r = bits % 26;
  151573. var s = (bits - r) / 26;
  151574. assert(
  151575. this.negative === 0,
  151576. "imaskn works only with positive numbers"
  151577. );
  151578. if (this.length <= s) {
  151579. return this;
  151580. }
  151581. if (r !== 0) {
  151582. s++;
  151583. }
  151584. this.length = Math.min(s, this.length);
  151585. if (r !== 0) {
  151586. var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
  151587. this.words[this.length - 1] &= mask;
  151588. }
  151589. return this.strip();
  151590. };
  151591. // Return only lowers bits of number
  151592. BN.prototype.maskn = function maskn(bits) {
  151593. return this.clone().imaskn(bits);
  151594. };
  151595. // Add plain number `num` to `this`
  151596. BN.prototype.iaddn = function iaddn(num) {
  151597. assert(typeof num === "number");
  151598. assert(num < 0x4000000);
  151599. if (num < 0) return this.isubn(-num);
  151600. // Possible sign change
  151601. if (this.negative !== 0) {
  151602. if (this.length === 1 && (this.words[0] | 0) < num) {
  151603. this.words[0] = num - (this.words[0] | 0);
  151604. this.negative = 0;
  151605. return this;
  151606. }
  151607. this.negative = 0;
  151608. this.isubn(num);
  151609. this.negative = 1;
  151610. return this;
  151611. }
  151612. // Add without checks
  151613. return this._iaddn(num);
  151614. };
  151615. BN.prototype._iaddn = function _iaddn(num) {
  151616. this.words[0] += num;
  151617. // Carry
  151618. for (
  151619. var i = 0;
  151620. i < this.length && this.words[i] >= 0x4000000;
  151621. i++
  151622. ) {
  151623. this.words[i] -= 0x4000000;
  151624. if (i === this.length - 1) {
  151625. this.words[i + 1] = 1;
  151626. } else {
  151627. this.words[i + 1]++;
  151628. }
  151629. }
  151630. this.length = Math.max(this.length, i + 1);
  151631. return this;
  151632. };
  151633. // Subtract plain number `num` from `this`
  151634. BN.prototype.isubn = function isubn(num) {
  151635. assert(typeof num === "number");
  151636. assert(num < 0x4000000);
  151637. if (num < 0) return this.iaddn(-num);
  151638. if (this.negative !== 0) {
  151639. this.negative = 0;
  151640. this.iaddn(num);
  151641. this.negative = 1;
  151642. return this;
  151643. }
  151644. this.words[0] -= num;
  151645. if (this.length === 1 && this.words[0] < 0) {
  151646. this.words[0] = -this.words[0];
  151647. this.negative = 1;
  151648. } else {
  151649. // Carry
  151650. for (var i = 0; i < this.length && this.words[i] < 0; i++) {
  151651. this.words[i] += 0x4000000;
  151652. this.words[i + 1] -= 1;
  151653. }
  151654. }
  151655. return this.strip();
  151656. };
  151657. BN.prototype.addn = function addn(num) {
  151658. return this.clone().iaddn(num);
  151659. };
  151660. BN.prototype.subn = function subn(num) {
  151661. return this.clone().isubn(num);
  151662. };
  151663. BN.prototype.iabs = function iabs() {
  151664. this.negative = 0;
  151665. return this;
  151666. };
  151667. BN.prototype.abs = function abs() {
  151668. return this.clone().iabs();
  151669. };
  151670. BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {
  151671. var len = num.length + shift;
  151672. var i;
  151673. this._expand(len);
  151674. var w;
  151675. var carry = 0;
  151676. for (i = 0; i < num.length; i++) {
  151677. w = (this.words[i + shift] | 0) + carry;
  151678. var right = (num.words[i] | 0) * mul;
  151679. w -= right & 0x3ffffff;
  151680. carry = (w >> 26) - ((right / 0x4000000) | 0);
  151681. this.words[i + shift] = w & 0x3ffffff;
  151682. }
  151683. for (; i < this.length - shift; i++) {
  151684. w = (this.words[i + shift] | 0) + carry;
  151685. carry = w >> 26;
  151686. this.words[i + shift] = w & 0x3ffffff;
  151687. }
  151688. if (carry === 0) return this.strip();
  151689. // Subtraction overflow
  151690. assert(carry === -1);
  151691. carry = 0;
  151692. for (i = 0; i < this.length; i++) {
  151693. w = -(this.words[i] | 0) + carry;
  151694. carry = w >> 26;
  151695. this.words[i] = w & 0x3ffffff;
  151696. }
  151697. this.negative = 1;
  151698. return this.strip();
  151699. };
  151700. BN.prototype._wordDiv = function _wordDiv(num, mode) {
  151701. var shift = this.length - num.length;
  151702. var a = this.clone();
  151703. var b = num;
  151704. // Normalize
  151705. var bhi = b.words[b.length - 1] | 0;
  151706. var bhiBits = this._countBits(bhi);
  151707. shift = 26 - bhiBits;
  151708. if (shift !== 0) {
  151709. b = b.ushln(shift);
  151710. a.iushln(shift);
  151711. bhi = b.words[b.length - 1] | 0;
  151712. }
  151713. // Initialize quotient
  151714. var m = a.length - b.length;
  151715. var q;
  151716. if (mode !== "mod") {
  151717. q = new BN(null);
  151718. q.length = m + 1;
  151719. q.words = new Array(q.length);
  151720. for (var i = 0; i < q.length; i++) {
  151721. q.words[i] = 0;
  151722. }
  151723. }
  151724. var diff = a.clone()._ishlnsubmul(b, 1, m);
  151725. if (diff.negative === 0) {
  151726. a = diff;
  151727. if (q) {
  151728. q.words[m] = 1;
  151729. }
  151730. }
  151731. for (var j = m - 1; j >= 0; j--) {
  151732. var qj =
  151733. (a.words[b.length + j] | 0) * 0x4000000 +
  151734. (a.words[b.length + j - 1] | 0);
  151735. // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max
  151736. // (0x7ffffff)
  151737. qj = Math.min((qj / bhi) | 0, 0x3ffffff);
  151738. a._ishlnsubmul(b, qj, j);
  151739. while (a.negative !== 0) {
  151740. qj--;
  151741. a.negative = 0;
  151742. a._ishlnsubmul(b, 1, j);
  151743. if (!a.isZero()) {
  151744. a.negative ^= 1;
  151745. }
  151746. }
  151747. if (q) {
  151748. q.words[j] = qj;
  151749. }
  151750. }
  151751. if (q) {
  151752. q.strip();
  151753. }
  151754. a.strip();
  151755. // Denormalize
  151756. if (mode !== "div" && shift !== 0) {
  151757. a.iushrn(shift);
  151758. }
  151759. return {
  151760. div: q || null,
  151761. mod: a,
  151762. };
  151763. };
  151764. // NOTE: 1) `mode` can be set to `mod` to request mod only,
  151765. // to `div` to request div only, or be absent to
  151766. // request both div & mod
  151767. // 2) `positive` is true if unsigned mod is requested
  151768. BN.prototype.divmod = function divmod(num, mode, positive) {
  151769. assert(!num.isZero());
  151770. if (this.isZero()) {
  151771. return {
  151772. div: new BN(0),
  151773. mod: new BN(0),
  151774. };
  151775. }
  151776. var div, mod, res;
  151777. if (this.negative !== 0 && num.negative === 0) {
  151778. res = this.neg().divmod(num, mode);
  151779. if (mode !== "mod") {
  151780. div = res.div.neg();
  151781. }
  151782. if (mode !== "div") {
  151783. mod = res.mod.neg();
  151784. if (positive && mod.negative !== 0) {
  151785. mod.iadd(num);
  151786. }
  151787. }
  151788. return {
  151789. div: div,
  151790. mod: mod,
  151791. };
  151792. }
  151793. if (this.negative === 0 && num.negative !== 0) {
  151794. res = this.divmod(num.neg(), mode);
  151795. if (mode !== "mod") {
  151796. div = res.div.neg();
  151797. }
  151798. return {
  151799. div: div,
  151800. mod: res.mod,
  151801. };
  151802. }
  151803. if ((this.negative & num.negative) !== 0) {
  151804. res = this.neg().divmod(num.neg(), mode);
  151805. if (mode !== "div") {
  151806. mod = res.mod.neg();
  151807. if (positive && mod.negative !== 0) {
  151808. mod.isub(num);
  151809. }
  151810. }
  151811. return {
  151812. div: res.div,
  151813. mod: mod,
  151814. };
  151815. }
  151816. // Both numbers are positive at this point
  151817. // Strip both numbers to approximate shift value
  151818. if (num.length > this.length || this.cmp(num) < 0) {
  151819. return {
  151820. div: new BN(0),
  151821. mod: this,
  151822. };
  151823. }
  151824. // Very short reduction
  151825. if (num.length === 1) {
  151826. if (mode === "div") {
  151827. return {
  151828. div: this.divn(num.words[0]),
  151829. mod: null,
  151830. };
  151831. }
  151832. if (mode === "mod") {
  151833. return {
  151834. div: null,
  151835. mod: new BN(this.modn(num.words[0])),
  151836. };
  151837. }
  151838. return {
  151839. div: this.divn(num.words[0]),
  151840. mod: new BN(this.modn(num.words[0])),
  151841. };
  151842. }
  151843. return this._wordDiv(num, mode);
  151844. };
  151845. // Find `this` / `num`
  151846. BN.prototype.div = function div(num) {
  151847. return this.divmod(num, "div", false).div;
  151848. };
  151849. // Find `this` % `num`
  151850. BN.prototype.mod = function mod(num) {
  151851. return this.divmod(num, "mod", false).mod;
  151852. };
  151853. BN.prototype.umod = function umod(num) {
  151854. return this.divmod(num, "mod", true).mod;
  151855. };
  151856. // Find Round(`this` / `num`)
  151857. BN.prototype.divRound = function divRound(num) {
  151858. var dm = this.divmod(num);
  151859. // Fast case - exact division
  151860. if (dm.mod.isZero()) return dm.div;
  151861. var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;
  151862. var half = num.ushrn(1);
  151863. var r2 = num.andln(1);
  151864. var cmp = mod.cmp(half);
  151865. // Round down
  151866. if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;
  151867. // Round up
  151868. return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);
  151869. };
  151870. BN.prototype.modn = function modn(num) {
  151871. assert(num <= 0x3ffffff);
  151872. var p = (1 << 26) % num;
  151873. var acc = 0;
  151874. for (var i = this.length - 1; i >= 0; i--) {
  151875. acc = (p * acc + (this.words[i] | 0)) % num;
  151876. }
  151877. return acc;
  151878. };
  151879. // In-place division by number
  151880. BN.prototype.idivn = function idivn(num) {
  151881. assert(num <= 0x3ffffff);
  151882. var carry = 0;
  151883. for (var i = this.length - 1; i >= 0; i--) {
  151884. var w = (this.words[i] | 0) + carry * 0x4000000;
  151885. this.words[i] = (w / num) | 0;
  151886. carry = w % num;
  151887. }
  151888. return this.strip();
  151889. };
  151890. BN.prototype.divn = function divn(num) {
  151891. return this.clone().idivn(num);
  151892. };
  151893. BN.prototype.egcd = function egcd(p) {
  151894. assert(p.negative === 0);
  151895. assert(!p.isZero());
  151896. var x = this;
  151897. var y = p.clone();
  151898. if (x.negative !== 0) {
  151899. x = x.umod(p);
  151900. } else {
  151901. x = x.clone();
  151902. }
  151903. // A * x + B * y = x
  151904. var A = new BN(1);
  151905. var B = new BN(0);
  151906. // C * x + D * y = y
  151907. var C = new BN(0);
  151908. var D = new BN(1);
  151909. var g = 0;
  151910. while (x.isEven() && y.isEven()) {
  151911. x.iushrn(1);
  151912. y.iushrn(1);
  151913. ++g;
  151914. }
  151915. var yp = y.clone();
  151916. var xp = x.clone();
  151917. while (!x.isZero()) {
  151918. for (
  151919. var i = 0, im = 1;
  151920. (x.words[0] & im) === 0 && i < 26;
  151921. ++i, im <<= 1
  151922. );
  151923. if (i > 0) {
  151924. x.iushrn(i);
  151925. while (i-- > 0) {
  151926. if (A.isOdd() || B.isOdd()) {
  151927. A.iadd(yp);
  151928. B.isub(xp);
  151929. }
  151930. A.iushrn(1);
  151931. B.iushrn(1);
  151932. }
  151933. }
  151934. for (
  151935. var j = 0, jm = 1;
  151936. (y.words[0] & jm) === 0 && j < 26;
  151937. ++j, jm <<= 1
  151938. );
  151939. if (j > 0) {
  151940. y.iushrn(j);
  151941. while (j-- > 0) {
  151942. if (C.isOdd() || D.isOdd()) {
  151943. C.iadd(yp);
  151944. D.isub(xp);
  151945. }
  151946. C.iushrn(1);
  151947. D.iushrn(1);
  151948. }
  151949. }
  151950. if (x.cmp(y) >= 0) {
  151951. x.isub(y);
  151952. A.isub(C);
  151953. B.isub(D);
  151954. } else {
  151955. y.isub(x);
  151956. C.isub(A);
  151957. D.isub(B);
  151958. }
  151959. }
  151960. return {
  151961. a: C,
  151962. b: D,
  151963. gcd: y.iushln(g),
  151964. };
  151965. };
  151966. // This is reduced incarnation of the binary EEA
  151967. // above, designated to invert members of the
  151968. // _prime_ fields F(p) at a maximal speed
  151969. BN.prototype._invmp = function _invmp(p) {
  151970. assert(p.negative === 0);
  151971. assert(!p.isZero());
  151972. var a = this;
  151973. var b = p.clone();
  151974. if (a.negative !== 0) {
  151975. a = a.umod(p);
  151976. } else {
  151977. a = a.clone();
  151978. }
  151979. var x1 = new BN(1);
  151980. var x2 = new BN(0);
  151981. var delta = b.clone();
  151982. while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {
  151983. for (
  151984. var i = 0, im = 1;
  151985. (a.words[0] & im) === 0 && i < 26;
  151986. ++i, im <<= 1
  151987. );
  151988. if (i > 0) {
  151989. a.iushrn(i);
  151990. while (i-- > 0) {
  151991. if (x1.isOdd()) {
  151992. x1.iadd(delta);
  151993. }
  151994. x1.iushrn(1);
  151995. }
  151996. }
  151997. for (
  151998. var j = 0, jm = 1;
  151999. (b.words[0] & jm) === 0 && j < 26;
  152000. ++j, jm <<= 1
  152001. );
  152002. if (j > 0) {
  152003. b.iushrn(j);
  152004. while (j-- > 0) {
  152005. if (x2.isOdd()) {
  152006. x2.iadd(delta);
  152007. }
  152008. x2.iushrn(1);
  152009. }
  152010. }
  152011. if (a.cmp(b) >= 0) {
  152012. a.isub(b);
  152013. x1.isub(x2);
  152014. } else {
  152015. b.isub(a);
  152016. x2.isub(x1);
  152017. }
  152018. }
  152019. var res;
  152020. if (a.cmpn(1) === 0) {
  152021. res = x1;
  152022. } else {
  152023. res = x2;
  152024. }
  152025. if (res.cmpn(0) < 0) {
  152026. res.iadd(p);
  152027. }
  152028. return res;
  152029. };
  152030. BN.prototype.gcd = function gcd(num) {
  152031. if (this.isZero()) return num.abs();
  152032. if (num.isZero()) return this.abs();
  152033. var a = this.clone();
  152034. var b = num.clone();
  152035. a.negative = 0;
  152036. b.negative = 0;
  152037. // Remove common factor of two
  152038. for (var shift = 0; a.isEven() && b.isEven(); shift++) {
  152039. a.iushrn(1);
  152040. b.iushrn(1);
  152041. }
  152042. do {
  152043. while (a.isEven()) {
  152044. a.iushrn(1);
  152045. }
  152046. while (b.isEven()) {
  152047. b.iushrn(1);
  152048. }
  152049. var r = a.cmp(b);
  152050. if (r < 0) {
  152051. // Swap `a` and `b` to make `a` always bigger than `b`
  152052. var t = a;
  152053. a = b;
  152054. b = t;
  152055. } else if (r === 0 || b.cmpn(1) === 0) {
  152056. break;
  152057. }
  152058. a.isub(b);
  152059. } while (true);
  152060. return b.iushln(shift);
  152061. };
  152062. // Invert number in the field F(num)
  152063. BN.prototype.invm = function invm(num) {
  152064. return this.egcd(num).a.umod(num);
  152065. };
  152066. BN.prototype.isEven = function isEven() {
  152067. return (this.words[0] & 1) === 0;
  152068. };
  152069. BN.prototype.isOdd = function isOdd() {
  152070. return (this.words[0] & 1) === 1;
  152071. };
  152072. // And first word and num
  152073. BN.prototype.andln = function andln(num) {
  152074. return this.words[0] & num;
  152075. };
  152076. // Increment at the bit position in-line
  152077. BN.prototype.bincn = function bincn(bit) {
  152078. assert(typeof bit === "number");
  152079. var r = bit % 26;
  152080. var s = (bit - r) / 26;
  152081. var q = 1 << r;
  152082. // Fast case: bit is much higher than all existing words
  152083. if (this.length <= s) {
  152084. this._expand(s + 1);
  152085. this.words[s] |= q;
  152086. return this;
  152087. }
  152088. // Add bit and propagate, if needed
  152089. var carry = q;
  152090. for (var i = s; carry !== 0 && i < this.length; i++) {
  152091. var w = this.words[i] | 0;
  152092. w += carry;
  152093. carry = w >>> 26;
  152094. w &= 0x3ffffff;
  152095. this.words[i] = w;
  152096. }
  152097. if (carry !== 0) {
  152098. this.words[i] = carry;
  152099. this.length++;
  152100. }
  152101. return this;
  152102. };
  152103. BN.prototype.isZero = function isZero() {
  152104. return this.length === 1 && this.words[0] === 0;
  152105. };
  152106. BN.prototype.cmpn = function cmpn(num) {
  152107. var negative = num < 0;
  152108. if (this.negative !== 0 && !negative) return -1;
  152109. if (this.negative === 0 && negative) return 1;
  152110. this.strip();
  152111. var res;
  152112. if (this.length > 1) {
  152113. res = 1;
  152114. } else {
  152115. if (negative) {
  152116. num = -num;
  152117. }
  152118. assert(num <= 0x3ffffff, "Number is too big");
  152119. var w = this.words[0] | 0;
  152120. res = w === num ? 0 : w < num ? -1 : 1;
  152121. }
  152122. if (this.negative !== 0) return -res | 0;
  152123. return res;
  152124. };
  152125. // Compare two numbers and return:
  152126. // 1 - if `this` > `num`
  152127. // 0 - if `this` == `num`
  152128. // -1 - if `this` < `num`
  152129. BN.prototype.cmp = function cmp(num) {
  152130. if (this.negative !== 0 && num.negative === 0) return -1;
  152131. if (this.negative === 0 && num.negative !== 0) return 1;
  152132. var res = this.ucmp(num);
  152133. if (this.negative !== 0) return -res | 0;
  152134. return res;
  152135. };
  152136. // Unsigned comparison
  152137. BN.prototype.ucmp = function ucmp(num) {
  152138. // At this point both numbers have the same sign
  152139. if (this.length > num.length) return 1;
  152140. if (this.length < num.length) return -1;
  152141. var res = 0;
  152142. for (var i = this.length - 1; i >= 0; i--) {
  152143. var a = this.words[i] | 0;
  152144. var b = num.words[i] | 0;
  152145. if (a === b) continue;
  152146. if (a < b) {
  152147. res = -1;
  152148. } else if (a > b) {
  152149. res = 1;
  152150. }
  152151. break;
  152152. }
  152153. return res;
  152154. };
  152155. BN.prototype.gtn = function gtn(num) {
  152156. return this.cmpn(num) === 1;
  152157. };
  152158. BN.prototype.gt = function gt(num) {
  152159. return this.cmp(num) === 1;
  152160. };
  152161. BN.prototype.gten = function gten(num) {
  152162. return this.cmpn(num) >= 0;
  152163. };
  152164. BN.prototype.gte = function gte(num) {
  152165. return this.cmp(num) >= 0;
  152166. };
  152167. BN.prototype.ltn = function ltn(num) {
  152168. return this.cmpn(num) === -1;
  152169. };
  152170. BN.prototype.lt = function lt(num) {
  152171. return this.cmp(num) === -1;
  152172. };
  152173. BN.prototype.lten = function lten(num) {
  152174. return this.cmpn(num) <= 0;
  152175. };
  152176. BN.prototype.lte = function lte(num) {
  152177. return this.cmp(num) <= 0;
  152178. };
  152179. BN.prototype.eqn = function eqn(num) {
  152180. return this.cmpn(num) === 0;
  152181. };
  152182. BN.prototype.eq = function eq(num) {
  152183. return this.cmp(num) === 0;
  152184. };
  152185. //
  152186. // A reduce context, could be using montgomery or something better, depending
  152187. // on the `m` itself.
  152188. //
  152189. BN.red = function red(num) {
  152190. return new Red(num);
  152191. };
  152192. BN.prototype.toRed = function toRed(ctx) {
  152193. assert(!this.red, "Already a number in reduction context");
  152194. assert(this.negative === 0, "red works only with positives");
  152195. return ctx.convertTo(this)._forceRed(ctx);
  152196. };
  152197. BN.prototype.fromRed = function fromRed() {
  152198. assert(
  152199. this.red,
  152200. "fromRed works only with numbers in reduction context"
  152201. );
  152202. return this.red.convertFrom(this);
  152203. };
  152204. BN.prototype._forceRed = function _forceRed(ctx) {
  152205. this.red = ctx;
  152206. return this;
  152207. };
  152208. BN.prototype.forceRed = function forceRed(ctx) {
  152209. assert(!this.red, "Already a number in reduction context");
  152210. return this._forceRed(ctx);
  152211. };
  152212. BN.prototype.redAdd = function redAdd(num) {
  152213. assert(this.red, "redAdd works only with red numbers");
  152214. return this.red.add(this, num);
  152215. };
  152216. BN.prototype.redIAdd = function redIAdd(num) {
  152217. assert(this.red, "redIAdd works only with red numbers");
  152218. return this.red.iadd(this, num);
  152219. };
  152220. BN.prototype.redSub = function redSub(num) {
  152221. assert(this.red, "redSub works only with red numbers");
  152222. return this.red.sub(this, num);
  152223. };
  152224. BN.prototype.redISub = function redISub(num) {
  152225. assert(this.red, "redISub works only with red numbers");
  152226. return this.red.isub(this, num);
  152227. };
  152228. BN.prototype.redShl = function redShl(num) {
  152229. assert(this.red, "redShl works only with red numbers");
  152230. return this.red.shl(this, num);
  152231. };
  152232. BN.prototype.redMul = function redMul(num) {
  152233. assert(this.red, "redMul works only with red numbers");
  152234. this.red._verify2(this, num);
  152235. return this.red.mul(this, num);
  152236. };
  152237. BN.prototype.redIMul = function redIMul(num) {
  152238. assert(this.red, "redMul works only with red numbers");
  152239. this.red._verify2(this, num);
  152240. return this.red.imul(this, num);
  152241. };
  152242. BN.prototype.redSqr = function redSqr() {
  152243. assert(this.red, "redSqr works only with red numbers");
  152244. this.red._verify1(this);
  152245. return this.red.sqr(this);
  152246. };
  152247. BN.prototype.redISqr = function redISqr() {
  152248. assert(this.red, "redISqr works only with red numbers");
  152249. this.red._verify1(this);
  152250. return this.red.isqr(this);
  152251. };
  152252. // Square root over p
  152253. BN.prototype.redSqrt = function redSqrt() {
  152254. assert(this.red, "redSqrt works only with red numbers");
  152255. this.red._verify1(this);
  152256. return this.red.sqrt(this);
  152257. };
  152258. BN.prototype.redInvm = function redInvm() {
  152259. assert(this.red, "redInvm works only with red numbers");
  152260. this.red._verify1(this);
  152261. return this.red.invm(this);
  152262. };
  152263. // Return negative clone of `this` % `red modulo`
  152264. BN.prototype.redNeg = function redNeg() {
  152265. assert(this.red, "redNeg works only with red numbers");
  152266. this.red._verify1(this);
  152267. return this.red.neg(this);
  152268. };
  152269. BN.prototype.redPow = function redPow(num) {
  152270. assert(this.red && !num.red, "redPow(normalNum)");
  152271. this.red._verify1(this);
  152272. return this.red.pow(this, num);
  152273. };
  152274. // Prime numbers with efficient reduction
  152275. var primes = {
  152276. k256: null,
  152277. p224: null,
  152278. p192: null,
  152279. p25519: null,
  152280. };
  152281. // Pseudo-Mersenne prime
  152282. function MPrime(name, p) {
  152283. // P = 2 ^ N - K
  152284. this.name = name;
  152285. this.p = new BN(p, 16);
  152286. this.n = this.p.bitLength();
  152287. this.k = new BN(1).iushln(this.n).isub(this.p);
  152288. this.tmp = this._tmp();
  152289. }
  152290. MPrime.prototype._tmp = function _tmp() {
  152291. var tmp = new BN(null);
  152292. tmp.words = new Array(Math.ceil(this.n / 13));
  152293. return tmp;
  152294. };
  152295. MPrime.prototype.ireduce = function ireduce(num) {
  152296. // Assumes that `num` is less than `P^2`
  152297. // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)
  152298. var r = num;
  152299. var rlen;
  152300. do {
  152301. this.split(r, this.tmp);
  152302. r = this.imulK(r);
  152303. r = r.iadd(this.tmp);
  152304. rlen = r.bitLength();
  152305. } while (rlen > this.n);
  152306. var cmp = rlen < this.n ? -1 : r.ucmp(this.p);
  152307. if (cmp === 0) {
  152308. r.words[0] = 0;
  152309. r.length = 1;
  152310. } else if (cmp > 0) {
  152311. r.isub(this.p);
  152312. } else {
  152313. r.strip();
  152314. }
  152315. return r;
  152316. };
  152317. MPrime.prototype.split = function split(input, out) {
  152318. input.iushrn(this.n, 0, out);
  152319. };
  152320. MPrime.prototype.imulK = function imulK(num) {
  152321. return num.imul(this.k);
  152322. };
  152323. function K256() {
  152324. MPrime.call(
  152325. this,
  152326. "k256",
  152327. "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f"
  152328. );
  152329. }
  152330. inherits(K256, MPrime);
  152331. K256.prototype.split = function split(input, output) {
  152332. // 256 = 9 * 26 + 22
  152333. var mask = 0x3fffff;
  152334. var outLen = Math.min(input.length, 9);
  152335. for (var i = 0; i < outLen; i++) {
  152336. output.words[i] = input.words[i];
  152337. }
  152338. output.length = outLen;
  152339. if (input.length <= 9) {
  152340. input.words[0] = 0;
  152341. input.length = 1;
  152342. return;
  152343. }
  152344. // Shift by 9 limbs
  152345. var prev = input.words[9];
  152346. output.words[output.length++] = prev & mask;
  152347. for (i = 10; i < input.length; i++) {
  152348. var next = input.words[i] | 0;
  152349. input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);
  152350. prev = next;
  152351. }
  152352. prev >>>= 22;
  152353. input.words[i - 10] = prev;
  152354. if (prev === 0 && input.length > 10) {
  152355. input.length -= 10;
  152356. } else {
  152357. input.length -= 9;
  152358. }
  152359. };
  152360. K256.prototype.imulK = function imulK(num) {
  152361. // K = 0x1000003d1 = [ 0x40, 0x3d1 ]
  152362. num.words[num.length] = 0;
  152363. num.words[num.length + 1] = 0;
  152364. num.length += 2;
  152365. // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390
  152366. var lo = 0;
  152367. for (var i = 0; i < num.length; i++) {
  152368. var w = num.words[i] | 0;
  152369. lo += w * 0x3d1;
  152370. num.words[i] = lo & 0x3ffffff;
  152371. lo = w * 0x40 + ((lo / 0x4000000) | 0);
  152372. }
  152373. // Fast length reduction
  152374. if (num.words[num.length - 1] === 0) {
  152375. num.length--;
  152376. if (num.words[num.length - 1] === 0) {
  152377. num.length--;
  152378. }
  152379. }
  152380. return num;
  152381. };
  152382. function P224() {
  152383. MPrime.call(
  152384. this,
  152385. "p224",
  152386. "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001"
  152387. );
  152388. }
  152389. inherits(P224, MPrime);
  152390. function P192() {
  152391. MPrime.call(
  152392. this,
  152393. "p192",
  152394. "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff"
  152395. );
  152396. }
  152397. inherits(P192, MPrime);
  152398. function P25519() {
  152399. // 2 ^ 255 - 19
  152400. MPrime.call(
  152401. this,
  152402. "25519",
  152403. "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed"
  152404. );
  152405. }
  152406. inherits(P25519, MPrime);
  152407. P25519.prototype.imulK = function imulK(num) {
  152408. // K = 0x13
  152409. var carry = 0;
  152410. for (var i = 0; i < num.length; i++) {
  152411. var hi = (num.words[i] | 0) * 0x13 + carry;
  152412. var lo = hi & 0x3ffffff;
  152413. hi >>>= 26;
  152414. num.words[i] = lo;
  152415. carry = hi;
  152416. }
  152417. if (carry !== 0) {
  152418. num.words[num.length++] = carry;
  152419. }
  152420. return num;
  152421. };
  152422. // Exported mostly for testing purposes, use plain name instead
  152423. BN._prime = function prime(name) {
  152424. // Cached version of prime
  152425. if (primes[name]) return primes[name];
  152426. var prime;
  152427. if (name === "k256") {
  152428. prime = new K256();
  152429. } else if (name === "p224") {
  152430. prime = new P224();
  152431. } else if (name === "p192") {
  152432. prime = new P192();
  152433. } else if (name === "p25519") {
  152434. prime = new P25519();
  152435. } else {
  152436. throw new Error("Unknown prime " + name);
  152437. }
  152438. primes[name] = prime;
  152439. return prime;
  152440. };
  152441. //
  152442. // Base reduction engine
  152443. //
  152444. function Red(m) {
  152445. if (typeof m === "string") {
  152446. var prime = BN._prime(m);
  152447. this.m = prime.p;
  152448. this.prime = prime;
  152449. } else {
  152450. assert(m.gtn(1), "modulus must be greater than 1");
  152451. this.m = m;
  152452. this.prime = null;
  152453. }
  152454. }
  152455. Red.prototype._verify1 = function _verify1(a) {
  152456. assert(a.negative === 0, "red works only with positives");
  152457. assert(a.red, "red works only with red numbers");
  152458. };
  152459. Red.prototype._verify2 = function _verify2(a, b) {
  152460. assert(
  152461. (a.negative | b.negative) === 0,
  152462. "red works only with positives"
  152463. );
  152464. assert(a.red && a.red === b.red, "red works only with red numbers");
  152465. };
  152466. Red.prototype.imod = function imod(a) {
  152467. if (this.prime) return this.prime.ireduce(a)._forceRed(this);
  152468. return a.umod(this.m)._forceRed(this);
  152469. };
  152470. Red.prototype.neg = function neg(a) {
  152471. if (a.isZero()) {
  152472. return a.clone();
  152473. }
  152474. return this.m.sub(a)._forceRed(this);
  152475. };
  152476. Red.prototype.add = function add(a, b) {
  152477. this._verify2(a, b);
  152478. var res = a.add(b);
  152479. if (res.cmp(this.m) >= 0) {
  152480. res.isub(this.m);
  152481. }
  152482. return res._forceRed(this);
  152483. };
  152484. Red.prototype.iadd = function iadd(a, b) {
  152485. this._verify2(a, b);
  152486. var res = a.iadd(b);
  152487. if (res.cmp(this.m) >= 0) {
  152488. res.isub(this.m);
  152489. }
  152490. return res;
  152491. };
  152492. Red.prototype.sub = function sub(a, b) {
  152493. this._verify2(a, b);
  152494. var res = a.sub(b);
  152495. if (res.cmpn(0) < 0) {
  152496. res.iadd(this.m);
  152497. }
  152498. return res._forceRed(this);
  152499. };
  152500. Red.prototype.isub = function isub(a, b) {
  152501. this._verify2(a, b);
  152502. var res = a.isub(b);
  152503. if (res.cmpn(0) < 0) {
  152504. res.iadd(this.m);
  152505. }
  152506. return res;
  152507. };
  152508. Red.prototype.shl = function shl(a, num) {
  152509. this._verify1(a);
  152510. return this.imod(a.ushln(num));
  152511. };
  152512. Red.prototype.imul = function imul(a, b) {
  152513. this._verify2(a, b);
  152514. return this.imod(a.imul(b));
  152515. };
  152516. Red.prototype.mul = function mul(a, b) {
  152517. this._verify2(a, b);
  152518. return this.imod(a.mul(b));
  152519. };
  152520. Red.prototype.isqr = function isqr(a) {
  152521. return this.imul(a, a.clone());
  152522. };
  152523. Red.prototype.sqr = function sqr(a) {
  152524. return this.mul(a, a);
  152525. };
  152526. Red.prototype.sqrt = function sqrt(a) {
  152527. if (a.isZero()) return a.clone();
  152528. var mod3 = this.m.andln(3);
  152529. assert(mod3 % 2 === 1);
  152530. // Fast case
  152531. if (mod3 === 3) {
  152532. var pow = this.m.add(new BN(1)).iushrn(2);
  152533. return this.pow(a, pow);
  152534. }
  152535. // Tonelli-Shanks algorithm (Totally unoptimized and slow)
  152536. //
  152537. // Find Q and S, that Q * 2 ^ S = (P - 1)
  152538. var q = this.m.subn(1);
  152539. var s = 0;
  152540. while (!q.isZero() && q.andln(1) === 0) {
  152541. s++;
  152542. q.iushrn(1);
  152543. }
  152544. assert(!q.isZero());
  152545. var one = new BN(1).toRed(this);
  152546. var nOne = one.redNeg();
  152547. // Find quadratic non-residue
  152548. // NOTE: Max is such because of generalized Riemann hypothesis.
  152549. var lpow = this.m.subn(1).iushrn(1);
  152550. var z = this.m.bitLength();
  152551. z = new BN(2 * z * z).toRed(this);
  152552. while (this.pow(z, lpow).cmp(nOne) !== 0) {
  152553. z.redIAdd(nOne);
  152554. }
  152555. var c = this.pow(z, q);
  152556. var r = this.pow(a, q.addn(1).iushrn(1));
  152557. var t = this.pow(a, q);
  152558. var m = s;
  152559. while (t.cmp(one) !== 0) {
  152560. var tmp = t;
  152561. for (var i = 0; tmp.cmp(one) !== 0; i++) {
  152562. tmp = tmp.redSqr();
  152563. }
  152564. assert(i < m);
  152565. var b = this.pow(c, new BN(1).iushln(m - i - 1));
  152566. r = r.redMul(b);
  152567. c = b.redSqr();
  152568. t = t.redMul(c);
  152569. m = i;
  152570. }
  152571. return r;
  152572. };
  152573. Red.prototype.invm = function invm(a) {
  152574. var inv = a._invmp(this.m);
  152575. if (inv.negative !== 0) {
  152576. inv.negative = 0;
  152577. return this.imod(inv).redNeg();
  152578. } else {
  152579. return this.imod(inv);
  152580. }
  152581. };
  152582. Red.prototype.pow = function pow(a, num) {
  152583. if (num.isZero()) return new BN(1).toRed(this);
  152584. if (num.cmpn(1) === 0) return a.clone();
  152585. var windowSize = 4;
  152586. var wnd = new Array(1 << windowSize);
  152587. wnd[0] = new BN(1).toRed(this);
  152588. wnd[1] = a;
  152589. for (var i = 2; i < wnd.length; i++) {
  152590. wnd[i] = this.mul(wnd[i - 1], a);
  152591. }
  152592. var res = wnd[0];
  152593. var current = 0;
  152594. var currentLen = 0;
  152595. var start = num.bitLength() % 26;
  152596. if (start === 0) {
  152597. start = 26;
  152598. }
  152599. for (i = num.length - 1; i >= 0; i--) {
  152600. var word = num.words[i];
  152601. for (var j = start - 1; j >= 0; j--) {
  152602. var bit = (word >> j) & 1;
  152603. if (res !== wnd[0]) {
  152604. res = this.sqr(res);
  152605. }
  152606. if (bit === 0 && current === 0) {
  152607. currentLen = 0;
  152608. continue;
  152609. }
  152610. current <<= 1;
  152611. current |= bit;
  152612. currentLen++;
  152613. if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;
  152614. res = this.mul(res, wnd[current]);
  152615. currentLen = 0;
  152616. current = 0;
  152617. }
  152618. start = 26;
  152619. }
  152620. return res;
  152621. };
  152622. Red.prototype.convertTo = function convertTo(num) {
  152623. var r = num.umod(this.m);
  152624. return r === num ? r.clone() : r;
  152625. };
  152626. Red.prototype.convertFrom = function convertFrom(num) {
  152627. var res = num.clone();
  152628. res.red = null;
  152629. return res;
  152630. };
  152631. //
  152632. // Montgomery method engine
  152633. //
  152634. BN.mont = function mont(num) {
  152635. return new Mont(num);
  152636. };
  152637. function Mont(m) {
  152638. Red.call(this, m);
  152639. this.shift = this.m.bitLength();
  152640. if (this.shift % 26 !== 0) {
  152641. this.shift += 26 - (this.shift % 26);
  152642. }
  152643. this.r = new BN(1).iushln(this.shift);
  152644. this.r2 = this.imod(this.r.sqr());
  152645. this.rinv = this.r._invmp(this.m);
  152646. this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);
  152647. this.minv = this.minv.umod(this.r);
  152648. this.minv = this.r.sub(this.minv);
  152649. }
  152650. inherits(Mont, Red);
  152651. Mont.prototype.convertTo = function convertTo(num) {
  152652. return this.imod(num.ushln(this.shift));
  152653. };
  152654. Mont.prototype.convertFrom = function convertFrom(num) {
  152655. var r = this.imod(num.mul(this.rinv));
  152656. r.red = null;
  152657. return r;
  152658. };
  152659. Mont.prototype.imul = function imul(a, b) {
  152660. if (a.isZero() || b.isZero()) {
  152661. a.words[0] = 0;
  152662. a.length = 1;
  152663. return a;
  152664. }
  152665. var t = a.imul(b);
  152666. var c = t
  152667. .maskn(this.shift)
  152668. .mul(this.minv)
  152669. .imaskn(this.shift)
  152670. .mul(this.m);
  152671. var u = t.isub(c).iushrn(this.shift);
  152672. var res = u;
  152673. if (u.cmp(this.m) >= 0) {
  152674. res = u.isub(this.m);
  152675. } else if (u.cmpn(0) < 0) {
  152676. res = u.iadd(this.m);
  152677. }
  152678. return res._forceRed(this);
  152679. };
  152680. Mont.prototype.mul = function mul(a, b) {
  152681. if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);
  152682. var t = a.mul(b);
  152683. var c = t
  152684. .maskn(this.shift)
  152685. .mul(this.minv)
  152686. .imaskn(this.shift)
  152687. .mul(this.m);
  152688. var u = t.isub(c).iushrn(this.shift);
  152689. var res = u;
  152690. if (u.cmp(this.m) >= 0) {
  152691. res = u.isub(this.m);
  152692. } else if (u.cmpn(0) < 0) {
  152693. res = u.iadd(this.m);
  152694. }
  152695. return res._forceRed(this);
  152696. };
  152697. Mont.prototype.invm = function invm(a) {
  152698. // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R
  152699. var res = this.imod(a._invmp(this.m).mul(this.r2));
  152700. return res._forceRed(this);
  152701. };
  152702. })(typeof module === "undefined" || module, this);
  152703. },
  152704. { buffer: 27 },
  152705. ],
  152706. 26: [
  152707. function (require, module, exports) {
  152708. var r;
  152709. module.exports = function rand(len) {
  152710. if (!r) r = new Rand(null);
  152711. return r.generate(len);
  152712. };
  152713. function Rand(rand) {
  152714. this.rand = rand;
  152715. }
  152716. module.exports.Rand = Rand;
  152717. Rand.prototype.generate = function generate(len) {
  152718. return this._rand(len);
  152719. };
  152720. // Emulate crypto API using randy
  152721. Rand.prototype._rand = function _rand(n) {
  152722. if (this.rand.getBytes) return this.rand.getBytes(n);
  152723. var res = new Uint8Array(n);
  152724. for (var i = 0; i < res.length; i++) res[i] = this.rand.getByte();
  152725. return res;
  152726. };
  152727. if (typeof self === "object") {
  152728. if (self.crypto && self.crypto.getRandomValues) {
  152729. // Modern browsers
  152730. Rand.prototype._rand = function _rand(n) {
  152731. var arr = new Uint8Array(n);
  152732. self.crypto.getRandomValues(arr);
  152733. return arr;
  152734. };
  152735. } else if (self.msCrypto && self.msCrypto.getRandomValues) {
  152736. // IE
  152737. Rand.prototype._rand = function _rand(n) {
  152738. var arr = new Uint8Array(n);
  152739. self.msCrypto.getRandomValues(arr);
  152740. return arr;
  152741. };
  152742. // Safari's WebWorkers do not have `crypto`
  152743. } else if (typeof window === "object") {
  152744. // Old junk
  152745. Rand.prototype._rand = function () {
  152746. throw new Error("Not implemented yet");
  152747. };
  152748. }
  152749. } else {
  152750. // Node.js or Web worker with no crypto support
  152751. try {
  152752. var crypto = require("crypto");
  152753. if (typeof crypto.randomBytes !== "function")
  152754. throw new Error("Not supported");
  152755. Rand.prototype._rand = function _rand(n) {
  152756. return crypto.randomBytes(n);
  152757. };
  152758. } catch (e) {}
  152759. }
  152760. },
  152761. { crypto: 27 },
  152762. ],
  152763. 27: [
  152764. function (require, module, exports) {
  152765. arguments[4][9][0].apply(exports, arguments);
  152766. },
  152767. { dup: 9 },
  152768. ],
  152769. 28: [
  152770. function (require, module, exports) {
  152771. (function (Buffer) {
  152772. // based on the aes implimentation in triple sec
  152773. // https://github.com/keybase/triplesec
  152774. // which is in turn based on the one from crypto-js
  152775. // https://code.google.com/p/crypto-js/
  152776. var uint_max = Math.pow(2, 32);
  152777. function fixup_uint32(x) {
  152778. var ret, x_pos;
  152779. ret =
  152780. x > uint_max || x < 0
  152781. ? ((x_pos = Math.abs(x) % uint_max),
  152782. x < 0 ? uint_max - x_pos : x_pos)
  152783. : x;
  152784. return ret;
  152785. }
  152786. function scrub_vec(v) {
  152787. for (var i = 0; i < v.length; v++) {
  152788. v[i] = 0;
  152789. }
  152790. return false;
  152791. }
  152792. function Global() {
  152793. this.SBOX = [];
  152794. this.INV_SBOX = [];
  152795. this.SUB_MIX = [[], [], [], []];
  152796. this.INV_SUB_MIX = [[], [], [], []];
  152797. this.init();
  152798. this.RCON = [
  152799. 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36,
  152800. ];
  152801. }
  152802. Global.prototype.init = function () {
  152803. var d, i, sx, t, x, x2, x4, x8, xi, _i;
  152804. d = (function () {
  152805. var _i, _results;
  152806. _results = [];
  152807. for (i = _i = 0; _i < 256; i = ++_i) {
  152808. if (i < 128) {
  152809. _results.push(i << 1);
  152810. } else {
  152811. _results.push((i << 1) ^ 0x11b);
  152812. }
  152813. }
  152814. return _results;
  152815. })();
  152816. x = 0;
  152817. xi = 0;
  152818. for (i = _i = 0; _i < 256; i = ++_i) {
  152819. sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
  152820. sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
  152821. this.SBOX[x] = sx;
  152822. this.INV_SBOX[sx] = x;
  152823. x2 = d[x];
  152824. x4 = d[x2];
  152825. x8 = d[x4];
  152826. t = (d[sx] * 0x101) ^ (sx * 0x1010100);
  152827. this.SUB_MIX[0][x] = (t << 24) | (t >>> 8);
  152828. this.SUB_MIX[1][x] = (t << 16) | (t >>> 16);
  152829. this.SUB_MIX[2][x] = (t << 8) | (t >>> 24);
  152830. this.SUB_MIX[3][x] = t;
  152831. t =
  152832. (x8 * 0x1010101) ^
  152833. (x4 * 0x10001) ^
  152834. (x2 * 0x101) ^
  152835. (x * 0x1010100);
  152836. this.INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8);
  152837. this.INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16);
  152838. this.INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24);
  152839. this.INV_SUB_MIX[3][sx] = t;
  152840. if (x === 0) {
  152841. x = xi = 1;
  152842. } else {
  152843. x = x2 ^ d[d[d[x8 ^ x2]]];
  152844. xi ^= d[d[xi]];
  152845. }
  152846. }
  152847. return true;
  152848. };
  152849. var G = new Global();
  152850. AES.blockSize = 4 * 4;
  152851. AES.prototype.blockSize = AES.blockSize;
  152852. AES.keySize = 256 / 8;
  152853. AES.prototype.keySize = AES.keySize;
  152854. function bufferToArray(buf) {
  152855. var len = buf.length / 4;
  152856. var out = new Array(len);
  152857. var i = -1;
  152858. while (++i < len) {
  152859. out[i] = buf.readUInt32BE(i * 4);
  152860. }
  152861. return out;
  152862. }
  152863. function AES(key) {
  152864. this._key = bufferToArray(key);
  152865. this._doReset();
  152866. }
  152867. AES.prototype._doReset = function () {
  152868. var invKsRow, keySize, keyWords, ksRow, ksRows, t;
  152869. keyWords = this._key;
  152870. keySize = keyWords.length;
  152871. this._nRounds = keySize + 6;
  152872. ksRows = (this._nRounds + 1) * 4;
  152873. this._keySchedule = [];
  152874. for (ksRow = 0; ksRow < ksRows; ksRow++) {
  152875. this._keySchedule[ksRow] =
  152876. ksRow < keySize
  152877. ? keyWords[ksRow]
  152878. : ((t = this._keySchedule[ksRow - 1]),
  152879. ksRow % keySize === 0
  152880. ? ((t = (t << 8) | (t >>> 24)),
  152881. (t =
  152882. (G.SBOX[t >>> 24] << 24) |
  152883. (G.SBOX[(t >>> 16) & 0xff] << 16) |
  152884. (G.SBOX[(t >>> 8) & 0xff] << 8) |
  152885. G.SBOX[t & 0xff]),
  152886. (t ^= G.RCON[(ksRow / keySize) | 0] << 24))
  152887. : keySize > 6 && ksRow % keySize === 4
  152888. ? (t =
  152889. (G.SBOX[t >>> 24] << 24) |
  152890. (G.SBOX[(t >>> 16) & 0xff] << 16) |
  152891. (G.SBOX[(t >>> 8) & 0xff] << 8) |
  152892. G.SBOX[t & 0xff])
  152893. : void 0,
  152894. this._keySchedule[ksRow - keySize] ^ t);
  152895. }
  152896. this._invKeySchedule = [];
  152897. for (invKsRow = 0; invKsRow < ksRows; invKsRow++) {
  152898. ksRow = ksRows - invKsRow;
  152899. t = this._keySchedule[ksRow - (invKsRow % 4 ? 0 : 4)];
  152900. this._invKeySchedule[invKsRow] =
  152901. invKsRow < 4 || ksRow <= 4
  152902. ? t
  152903. : G.INV_SUB_MIX[0][G.SBOX[t >>> 24]] ^
  152904. G.INV_SUB_MIX[1][G.SBOX[(t >>> 16) & 0xff]] ^
  152905. G.INV_SUB_MIX[2][G.SBOX[(t >>> 8) & 0xff]] ^
  152906. G.INV_SUB_MIX[3][G.SBOX[t & 0xff]];
  152907. }
  152908. return true;
  152909. };
  152910. AES.prototype.encryptBlock = function (M) {
  152911. M = bufferToArray(new Buffer(M));
  152912. var out = this._doCryptBlock(
  152913. M,
  152914. this._keySchedule,
  152915. G.SUB_MIX,
  152916. G.SBOX
  152917. );
  152918. var buf = new Buffer(16);
  152919. buf.writeUInt32BE(out[0], 0);
  152920. buf.writeUInt32BE(out[1], 4);
  152921. buf.writeUInt32BE(out[2], 8);
  152922. buf.writeUInt32BE(out[3], 12);
  152923. return buf;
  152924. };
  152925. AES.prototype.decryptBlock = function (M) {
  152926. M = bufferToArray(new Buffer(M));
  152927. var temp = [M[3], M[1]];
  152928. M[1] = temp[0];
  152929. M[3] = temp[1];
  152930. var out = this._doCryptBlock(
  152931. M,
  152932. this._invKeySchedule,
  152933. G.INV_SUB_MIX,
  152934. G.INV_SBOX
  152935. );
  152936. var buf = new Buffer(16);
  152937. buf.writeUInt32BE(out[0], 0);
  152938. buf.writeUInt32BE(out[3], 4);
  152939. buf.writeUInt32BE(out[2], 8);
  152940. buf.writeUInt32BE(out[1], 12);
  152941. return buf;
  152942. };
  152943. AES.prototype.scrub = function () {
  152944. scrub_vec(this._keySchedule);
  152945. scrub_vec(this._invKeySchedule);
  152946. scrub_vec(this._key);
  152947. };
  152948. AES.prototype._doCryptBlock = function (
  152949. M,
  152950. keySchedule,
  152951. SUB_MIX,
  152952. SBOX
  152953. ) {
  152954. var ksRow, s0, s1, s2, s3, t0, t1, t2, t3;
  152955. s0 = M[0] ^ keySchedule[0];
  152956. s1 = M[1] ^ keySchedule[1];
  152957. s2 = M[2] ^ keySchedule[2];
  152958. s3 = M[3] ^ keySchedule[3];
  152959. ksRow = 4;
  152960. for (var round = 1; round < this._nRounds; round++) {
  152961. t0 =
  152962. SUB_MIX[0][s0 >>> 24] ^
  152963. SUB_MIX[1][(s1 >>> 16) & 0xff] ^
  152964. SUB_MIX[2][(s2 >>> 8) & 0xff] ^
  152965. SUB_MIX[3][s3 & 0xff] ^
  152966. keySchedule[ksRow++];
  152967. t1 =
  152968. SUB_MIX[0][s1 >>> 24] ^
  152969. SUB_MIX[1][(s2 >>> 16) & 0xff] ^
  152970. SUB_MIX[2][(s3 >>> 8) & 0xff] ^
  152971. SUB_MIX[3][s0 & 0xff] ^
  152972. keySchedule[ksRow++];
  152973. t2 =
  152974. SUB_MIX[0][s2 >>> 24] ^
  152975. SUB_MIX[1][(s3 >>> 16) & 0xff] ^
  152976. SUB_MIX[2][(s0 >>> 8) & 0xff] ^
  152977. SUB_MIX[3][s1 & 0xff] ^
  152978. keySchedule[ksRow++];
  152979. t3 =
  152980. SUB_MIX[0][s3 >>> 24] ^
  152981. SUB_MIX[1][(s0 >>> 16) & 0xff] ^
  152982. SUB_MIX[2][(s1 >>> 8) & 0xff] ^
  152983. SUB_MIX[3][s2 & 0xff] ^
  152984. keySchedule[ksRow++];
  152985. s0 = t0;
  152986. s1 = t1;
  152987. s2 = t2;
  152988. s3 = t3;
  152989. }
  152990. t0 =
  152991. ((SBOX[s0 >>> 24] << 24) |
  152992. (SBOX[(s1 >>> 16) & 0xff] << 16) |
  152993. (SBOX[(s2 >>> 8) & 0xff] << 8) |
  152994. SBOX[s3 & 0xff]) ^
  152995. keySchedule[ksRow++];
  152996. t1 =
  152997. ((SBOX[s1 >>> 24] << 24) |
  152998. (SBOX[(s2 >>> 16) & 0xff] << 16) |
  152999. (SBOX[(s3 >>> 8) & 0xff] << 8) |
  153000. SBOX[s0 & 0xff]) ^
  153001. keySchedule[ksRow++];
  153002. t2 =
  153003. ((SBOX[s2 >>> 24] << 24) |
  153004. (SBOX[(s3 >>> 16) & 0xff] << 16) |
  153005. (SBOX[(s0 >>> 8) & 0xff] << 8) |
  153006. SBOX[s1 & 0xff]) ^
  153007. keySchedule[ksRow++];
  153008. t3 =
  153009. ((SBOX[s3 >>> 24] << 24) |
  153010. (SBOX[(s0 >>> 16) & 0xff] << 16) |
  153011. (SBOX[(s1 >>> 8) & 0xff] << 8) |
  153012. SBOX[s2 & 0xff]) ^
  153013. keySchedule[ksRow++];
  153014. return [
  153015. fixup_uint32(t0),
  153016. fixup_uint32(t1),
  153017. fixup_uint32(t2),
  153018. fixup_uint32(t3),
  153019. ];
  153020. };
  153021. exports.AES = AES;
  153022. }).call(this, require("buffer").Buffer);
  153023. },
  153024. { buffer: 54 },
  153025. ],
  153026. 29: [
  153027. function (require, module, exports) {
  153028. (function (Buffer) {
  153029. var aes = require("./aes.js");
  153030. var Transform = require("cipher-base");
  153031. var inherits = require("inherits");
  153032. var GHASH = require("./ghash.js");
  153033. var xor = require("buffer-xor");
  153034. inherits(StreamCipher, Transform);
  153035. module.exports = StreamCipher;
  153036. function StreamCipher(mode, key, iv, decrypt) {
  153037. if (!(this instanceof StreamCipher)) {
  153038. return new StreamCipher(mode, key, iv);
  153039. }
  153040. Transform.call(this);
  153041. this._finID = Buffer.concat([iv, new Buffer([0, 0, 0, 1])]);
  153042. iv = Buffer.concat([iv, new Buffer([0, 0, 0, 2])]);
  153043. this._cipher = new aes.AES(key);
  153044. this._prev = new Buffer(iv.length);
  153045. this._cache = new Buffer("");
  153046. this._secCache = new Buffer("");
  153047. this._decrypt = decrypt;
  153048. this._alen = 0;
  153049. this._len = 0;
  153050. iv.copy(this._prev);
  153051. this._mode = mode;
  153052. var h = new Buffer(4);
  153053. h.fill(0);
  153054. this._ghash = new GHASH(this._cipher.encryptBlock(h));
  153055. this._authTag = null;
  153056. this._called = false;
  153057. }
  153058. StreamCipher.prototype._update = function (chunk) {
  153059. if (!this._called && this._alen) {
  153060. var rump = 16 - (this._alen % 16);
  153061. if (rump < 16) {
  153062. rump = new Buffer(rump);
  153063. rump.fill(0);
  153064. this._ghash.update(rump);
  153065. }
  153066. }
  153067. this._called = true;
  153068. var out = this._mode.encrypt(this, chunk);
  153069. if (this._decrypt) {
  153070. this._ghash.update(chunk);
  153071. } else {
  153072. this._ghash.update(out);
  153073. }
  153074. this._len += chunk.length;
  153075. return out;
  153076. };
  153077. StreamCipher.prototype._final = function () {
  153078. if (this._decrypt && !this._authTag) {
  153079. throw new Error(
  153080. "Unsupported state or unable to authenticate data"
  153081. );
  153082. }
  153083. var tag = xor(
  153084. this._ghash.final(this._alen * 8, this._len * 8),
  153085. this._cipher.encryptBlock(this._finID)
  153086. );
  153087. if (this._decrypt) {
  153088. if (xorTest(tag, this._authTag)) {
  153089. throw new Error(
  153090. "Unsupported state or unable to authenticate data"
  153091. );
  153092. }
  153093. } else {
  153094. this._authTag = tag;
  153095. }
  153096. this._cipher.scrub();
  153097. };
  153098. StreamCipher.prototype.getAuthTag = function getAuthTag() {
  153099. if (!this._decrypt && Buffer.isBuffer(this._authTag)) {
  153100. return this._authTag;
  153101. } else {
  153102. throw new Error(
  153103. "Attempting to get auth tag in unsupported state"
  153104. );
  153105. }
  153106. };
  153107. StreamCipher.prototype.setAuthTag = function setAuthTag(tag) {
  153108. if (this._decrypt) {
  153109. this._authTag = tag;
  153110. } else {
  153111. throw new Error(
  153112. "Attempting to set auth tag in unsupported state"
  153113. );
  153114. }
  153115. };
  153116. StreamCipher.prototype.setAAD = function setAAD(buf) {
  153117. if (!this._called) {
  153118. this._ghash.update(buf);
  153119. this._alen += buf.length;
  153120. } else {
  153121. throw new Error("Attempting to set AAD in unsupported state");
  153122. }
  153123. };
  153124. function xorTest(a, b) {
  153125. var out = 0;
  153126. if (a.length !== b.length) {
  153127. out++;
  153128. }
  153129. var len = Math.min(a.length, b.length);
  153130. var i = -1;
  153131. while (++i < len) {
  153132. out += a[i] ^ b[i];
  153133. }
  153134. return out;
  153135. }
  153136. }).call(this, require("buffer").Buffer);
  153137. },
  153138. {
  153139. "./aes": 28,
  153140. "./ghash": 33,
  153141. buffer: 54,
  153142. "buffer-xor": 53,
  153143. "cipher-base": 55,
  153144. inherits: 108,
  153145. },
  153146. ],
  153147. 30: [
  153148. function (require, module, exports) {
  153149. var ciphers = require("./encrypter.js");
  153150. exports.createCipher = exports.Cipher = ciphers.createCipher;
  153151. exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv;
  153152. var deciphers = require("./decrypter.js");
  153153. exports.createDecipher = exports.Decipher = deciphers.createDecipher;
  153154. exports.createDecipheriv = exports.Decipheriv =
  153155. deciphers.createDecipheriv;
  153156. var modes = require("./modes.js");
  153157. function getCiphers() {
  153158. return Object.keys(modes);
  153159. }
  153160. exports.listCiphers = exports.getCiphers = getCiphers;
  153161. },
  153162. { "./decrypter": 31, "./encrypter": 32, "./modes": 34 },
  153163. ],
  153164. 31: [
  153165. function (require, module, exports) {
  153166. (function (Buffer) {
  153167. var aes = require("./aes.js");
  153168. var Transform = require("cipher-base");
  153169. var inherits = require("inherits");
  153170. var modes = require("./modes.js");
  153171. var StreamCipher = require("./streamCipher.js");
  153172. var AuthCipher = require("./authCipher.js");
  153173. var ebtk = require("evp_bytestokey");
  153174. inherits(Decipher, Transform);
  153175. function Decipher(mode, key, iv) {
  153176. if (!(this instanceof Decipher)) {
  153177. return new Decipher(mode, key, iv);
  153178. }
  153179. Transform.call(this);
  153180. this._cache = new Splitter();
  153181. this._last = void 0;
  153182. this._cipher = new aes.AES(key);
  153183. this._prev = new Buffer(iv.length);
  153184. iv.copy(this._prev);
  153185. this._mode = mode;
  153186. this._autopadding = true;
  153187. }
  153188. Decipher.prototype._update = function (data) {
  153189. this._cache.add(data);
  153190. var chunk;
  153191. var thing;
  153192. var out = [];
  153193. while ((chunk = this._cache.get(this._autopadding))) {
  153194. thing = this._mode.decrypt(this, chunk);
  153195. out.push(thing);
  153196. }
  153197. return Buffer.concat(out);
  153198. };
  153199. Decipher.prototype._final = function () {
  153200. var chunk = this._cache.flush();
  153201. if (this._autopadding) {
  153202. return unpad(this._mode.decrypt(this, chunk));
  153203. } else if (chunk) {
  153204. throw new Error("data not multiple of block length");
  153205. }
  153206. };
  153207. Decipher.prototype.setAutoPadding = function (setTo) {
  153208. this._autopadding = !!setTo;
  153209. return this;
  153210. };
  153211. function Splitter() {
  153212. if (!(this instanceof Splitter)) {
  153213. return new Splitter();
  153214. }
  153215. this.cache = new Buffer("");
  153216. }
  153217. Splitter.prototype.add = function (data) {
  153218. this.cache = Buffer.concat([this.cache, data]);
  153219. };
  153220. Splitter.prototype.get = function (autoPadding) {
  153221. var out;
  153222. if (autoPadding) {
  153223. if (this.cache.length > 16) {
  153224. out = this.cache.slice(0, 16);
  153225. this.cache = this.cache.slice(16);
  153226. return out;
  153227. }
  153228. } else {
  153229. if (this.cache.length >= 16) {
  153230. out = this.cache.slice(0, 16);
  153231. this.cache = this.cache.slice(16);
  153232. return out;
  153233. }
  153234. }
  153235. return null;
  153236. };
  153237. Splitter.prototype.flush = function () {
  153238. if (this.cache.length) {
  153239. return this.cache;
  153240. }
  153241. };
  153242. function unpad(last) {
  153243. var padded = last[15];
  153244. var i = -1;
  153245. while (++i < padded) {
  153246. if (last[i + (16 - padded)] !== padded) {
  153247. throw new Error("unable to decrypt data");
  153248. }
  153249. }
  153250. if (padded === 16) {
  153251. return;
  153252. }
  153253. return last.slice(0, 16 - padded);
  153254. }
  153255. var modelist = {
  153256. ECB: require("./modes/ecb.js"),
  153257. CBC: require("./modes/cbc.js"),
  153258. CFB: require("./modes/cfb.js"),
  153259. CFB8: require("./modes/cfb8.js"),
  153260. CFB1: require("./modes/cfb1.js"),
  153261. OFB: require("./modes/ofb.js"),
  153262. CTR: require("./modes/ctr.js"),
  153263. GCM: require("./modes/ctr.js"),
  153264. };
  153265. function createDecipheriv(suite, password, iv) {
  153266. var config = modes[suite.toLowerCase()];
  153267. if (!config) {
  153268. throw new TypeError("invalid suite type");
  153269. }
  153270. if (typeof iv === "string") {
  153271. iv = new Buffer(iv);
  153272. }
  153273. if (typeof password === "string") {
  153274. password = new Buffer(password);
  153275. }
  153276. if (password.length !== config.key / 8) {
  153277. throw new TypeError("invalid key length " + password.length);
  153278. }
  153279. if (iv.length !== config.iv) {
  153280. throw new TypeError("invalid iv length " + iv.length);
  153281. }
  153282. if (config.type === "stream") {
  153283. return new StreamCipher(
  153284. modelist[config.mode],
  153285. password,
  153286. iv,
  153287. true
  153288. );
  153289. } else if (config.type === "auth") {
  153290. return new AuthCipher(modelist[config.mode], password, iv, true);
  153291. }
  153292. return new Decipher(modelist[config.mode], password, iv);
  153293. }
  153294. function createDecipher(suite, password) {
  153295. var config = modes[suite.toLowerCase()];
  153296. if (!config) {
  153297. throw new TypeError("invalid suite type");
  153298. }
  153299. var keys = ebtk(password, false, config.key, config.iv);
  153300. return createDecipheriv(suite, keys.key, keys.iv);
  153301. }
  153302. exports.createDecipher = createDecipher;
  153303. exports.createDecipheriv = createDecipheriv;
  153304. }).call(this, require("buffer").Buffer);
  153305. },
  153306. {
  153307. "./aes": 28,
  153308. "./authCipher": 29,
  153309. "./modes": 34,
  153310. "./modes/cbc": 35,
  153311. "./modes/cfb": 36,
  153312. "./modes/cfb1": 37,
  153313. "./modes/cfb8": 38,
  153314. "./modes/ctr": 39,
  153315. "./modes/ecb": 40,
  153316. "./modes/ofb": 41,
  153317. "./streamCipher": 42,
  153318. buffer: 54,
  153319. "cipher-base": 55,
  153320. evp_bytestokey: 91,
  153321. inherits: 108,
  153322. },
  153323. ],
  153324. 32: [
  153325. function (require, module, exports) {
  153326. (function (Buffer) {
  153327. var aes = require("./aes.js");
  153328. var Transform = require("cipher-base");
  153329. var inherits = require("inherits");
  153330. var modes = require("./modes.js");
  153331. var ebtk = require("evp_bytestokey");
  153332. var StreamCipher = require("./streamCipher.js");
  153333. var AuthCipher = require("./authCipher.js");
  153334. inherits(Cipher, Transform);
  153335. function Cipher(mode, key, iv) {
  153336. if (!(this instanceof Cipher)) {
  153337. return new Cipher(mode, key, iv);
  153338. }
  153339. Transform.call(this);
  153340. this._cache = new Splitter();
  153341. this._cipher = new aes.AES(key);
  153342. this._prev = new Buffer(iv.length);
  153343. iv.copy(this._prev);
  153344. this._mode = mode;
  153345. this._autopadding = true;
  153346. }
  153347. Cipher.prototype._update = function (data) {
  153348. this._cache.add(data);
  153349. var chunk;
  153350. var thing;
  153351. var out = [];
  153352. while ((chunk = this._cache.get())) {
  153353. thing = this._mode.encrypt(this, chunk);
  153354. out.push(thing);
  153355. }
  153356. return Buffer.concat(out);
  153357. };
  153358. Cipher.prototype._final = function () {
  153359. var chunk = this._cache.flush();
  153360. if (this._autopadding) {
  153361. chunk = this._mode.encrypt(this, chunk);
  153362. this._cipher.scrub();
  153363. return chunk;
  153364. } else if (
  153365. chunk.toString("hex") !== "10101010101010101010101010101010"
  153366. ) {
  153367. this._cipher.scrub();
  153368. throw new Error("data not multiple of block length");
  153369. }
  153370. };
  153371. Cipher.prototype.setAutoPadding = function (setTo) {
  153372. this._autopadding = !!setTo;
  153373. return this;
  153374. };
  153375. function Splitter() {
  153376. if (!(this instanceof Splitter)) {
  153377. return new Splitter();
  153378. }
  153379. this.cache = new Buffer("");
  153380. }
  153381. Splitter.prototype.add = function (data) {
  153382. this.cache = Buffer.concat([this.cache, data]);
  153383. };
  153384. Splitter.prototype.get = function () {
  153385. if (this.cache.length > 15) {
  153386. var out = this.cache.slice(0, 16);
  153387. this.cache = this.cache.slice(16);
  153388. return out;
  153389. }
  153390. return null;
  153391. };
  153392. Splitter.prototype.flush = function () {
  153393. var len = 16 - this.cache.length;
  153394. var padBuff = new Buffer(len);
  153395. var i = -1;
  153396. while (++i < len) {
  153397. padBuff.writeUInt8(len, i);
  153398. }
  153399. var out = Buffer.concat([this.cache, padBuff]);
  153400. return out;
  153401. };
  153402. var modelist = {
  153403. ECB: require("./modes/ecb.js"),
  153404. CBC: require("./modes/cbc.js"),
  153405. CFB: require("./modes/cfb.js"),
  153406. CFB8: require("./modes/cfb8.js"),
  153407. CFB1: require("./modes/cfb1.js"),
  153408. OFB: require("./modes/ofb.js"),
  153409. CTR: require("./modes/ctr.js"),
  153410. GCM: require("./modes/ctr.js"),
  153411. };
  153412. function createCipheriv(suite, password, iv) {
  153413. var config = modes[suite.toLowerCase()];
  153414. if (!config) {
  153415. throw new TypeError("invalid suite type");
  153416. }
  153417. if (typeof iv === "string") {
  153418. iv = new Buffer(iv);
  153419. }
  153420. if (typeof password === "string") {
  153421. password = new Buffer(password);
  153422. }
  153423. if (password.length !== config.key / 8) {
  153424. throw new TypeError("invalid key length " + password.length);
  153425. }
  153426. if (iv.length !== config.iv) {
  153427. throw new TypeError("invalid iv length " + iv.length);
  153428. }
  153429. if (config.type === "stream") {
  153430. return new StreamCipher(modelist[config.mode], password, iv);
  153431. } else if (config.type === "auth") {
  153432. return new AuthCipher(modelist[config.mode], password, iv);
  153433. }
  153434. return new Cipher(modelist[config.mode], password, iv);
  153435. }
  153436. function createCipher(suite, password) {
  153437. var config = modes[suite.toLowerCase()];
  153438. if (!config) {
  153439. throw new TypeError("invalid suite type");
  153440. }
  153441. var keys = ebtk(password, false, config.key, config.iv);
  153442. return createCipheriv(suite, keys.key, keys.iv);
  153443. }
  153444. exports.createCipheriv = createCipheriv;
  153445. exports.createCipher = createCipher;
  153446. }).call(this, require("buffer").Buffer);
  153447. },
  153448. {
  153449. "./aes": 28,
  153450. "./authCipher": 29,
  153451. "./modes": 34,
  153452. "./modes/cbc": 35,
  153453. "./modes/cfb": 36,
  153454. "./modes/cfb1": 37,
  153455. "./modes/cfb8": 38,
  153456. "./modes/ctr": 39,
  153457. "./modes/ecb": 40,
  153458. "./modes/ofb": 41,
  153459. "./streamCipher": 42,
  153460. buffer: 54,
  153461. "cipher-base": 55,
  153462. evp_bytestokey: 91,
  153463. inherits: 108,
  153464. },
  153465. ],
  153466. 33: [
  153467. function (require, module, exports) {
  153468. (function (Buffer) {
  153469. var zeros = new Buffer(16);
  153470. zeros.fill(0);
  153471. module.exports = GHASH;
  153472. function GHASH(key) {
  153473. this.h = key;
  153474. this.state = new Buffer(16);
  153475. this.state.fill(0);
  153476. this.cache = new Buffer("");
  153477. }
  153478. // from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html
  153479. // by Juho Vähä-Herttua
  153480. GHASH.prototype.ghash = function (block) {
  153481. var i = -1;
  153482. while (++i < block.length) {
  153483. this.state[i] ^= block[i];
  153484. }
  153485. this._multiply();
  153486. };
  153487. GHASH.prototype._multiply = function () {
  153488. var Vi = toArray(this.h);
  153489. var Zi = [0, 0, 0, 0];
  153490. var j, xi, lsb_Vi;
  153491. var i = -1;
  153492. while (++i < 128) {
  153493. xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0;
  153494. if (xi) {
  153495. // Z_i+1 = Z_i ^ V_i
  153496. Zi = xor(Zi, Vi);
  153497. }
  153498. // Store the value of LSB(V_i)
  153499. lsb_Vi = (Vi[3] & 1) !== 0;
  153500. // V_i+1 = V_i >> 1
  153501. for (j = 3; j > 0; j--) {
  153502. Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31);
  153503. }
  153504. Vi[0] = Vi[0] >>> 1;
  153505. // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R
  153506. if (lsb_Vi) {
  153507. Vi[0] = Vi[0] ^ (0xe1 << 24);
  153508. }
  153509. }
  153510. this.state = fromArray(Zi);
  153511. };
  153512. GHASH.prototype.update = function (buf) {
  153513. this.cache = Buffer.concat([this.cache, buf]);
  153514. var chunk;
  153515. while (this.cache.length >= 16) {
  153516. chunk = this.cache.slice(0, 16);
  153517. this.cache = this.cache.slice(16);
  153518. this.ghash(chunk);
  153519. }
  153520. };
  153521. GHASH.prototype.final = function (abl, bl) {
  153522. if (this.cache.length) {
  153523. this.ghash(Buffer.concat([this.cache, zeros], 16));
  153524. }
  153525. this.ghash(fromArray([0, abl, 0, bl]));
  153526. return this.state;
  153527. };
  153528. function toArray(buf) {
  153529. return [
  153530. buf.readUInt32BE(0),
  153531. buf.readUInt32BE(4),
  153532. buf.readUInt32BE(8),
  153533. buf.readUInt32BE(12),
  153534. ];
  153535. }
  153536. function fromArray(out) {
  153537. out = out.map(fixup_uint32);
  153538. var buf = new Buffer(16);
  153539. buf.writeUInt32BE(out[0], 0);
  153540. buf.writeUInt32BE(out[1], 4);
  153541. buf.writeUInt32BE(out[2], 8);
  153542. buf.writeUInt32BE(out[3], 12);
  153543. return buf;
  153544. }
  153545. var uint_max = Math.pow(2, 32);
  153546. function fixup_uint32(x) {
  153547. var ret, x_pos;
  153548. ret =
  153549. x > uint_max || x < 0
  153550. ? ((x_pos = Math.abs(x) % uint_max),
  153551. x < 0 ? uint_max - x_pos : x_pos)
  153552. : x;
  153553. return ret;
  153554. }
  153555. function xor(a, b) {
  153556. return [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]];
  153557. }
  153558. }).call(this, require("buffer").Buffer);
  153559. },
  153560. { buffer: 54 },
  153561. ],
  153562. 34: [
  153563. function (require, module, exports) {
  153564. exports["aes-128-ecb"] = {
  153565. cipher: "AES",
  153566. key: 128,
  153567. iv: 0,
  153568. mode: "ECB",
  153569. type: "block",
  153570. };
  153571. exports["aes-192-ecb"] = {
  153572. cipher: "AES",
  153573. key: 192,
  153574. iv: 0,
  153575. mode: "ECB",
  153576. type: "block",
  153577. };
  153578. exports["aes-256-ecb"] = {
  153579. cipher: "AES",
  153580. key: 256,
  153581. iv: 0,
  153582. mode: "ECB",
  153583. type: "block",
  153584. };
  153585. exports["aes-128-cbc"] = {
  153586. cipher: "AES",
  153587. key: 128,
  153588. iv: 16,
  153589. mode: "CBC",
  153590. type: "block",
  153591. };
  153592. exports["aes-192-cbc"] = {
  153593. cipher: "AES",
  153594. key: 192,
  153595. iv: 16,
  153596. mode: "CBC",
  153597. type: "block",
  153598. };
  153599. exports["aes-256-cbc"] = {
  153600. cipher: "AES",
  153601. key: 256,
  153602. iv: 16,
  153603. mode: "CBC",
  153604. type: "block",
  153605. };
  153606. exports["aes128"] = exports["aes-128-cbc"];
  153607. exports["aes192"] = exports["aes-192-cbc"];
  153608. exports["aes256"] = exports["aes-256-cbc"];
  153609. exports["aes-128-cfb"] = {
  153610. cipher: "AES",
  153611. key: 128,
  153612. iv: 16,
  153613. mode: "CFB",
  153614. type: "stream",
  153615. };
  153616. exports["aes-192-cfb"] = {
  153617. cipher: "AES",
  153618. key: 192,
  153619. iv: 16,
  153620. mode: "CFB",
  153621. type: "stream",
  153622. };
  153623. exports["aes-256-cfb"] = {
  153624. cipher: "AES",
  153625. key: 256,
  153626. iv: 16,
  153627. mode: "CFB",
  153628. type: "stream",
  153629. };
  153630. exports["aes-128-cfb8"] = {
  153631. cipher: "AES",
  153632. key: 128,
  153633. iv: 16,
  153634. mode: "CFB8",
  153635. type: "stream",
  153636. };
  153637. exports["aes-192-cfb8"] = {
  153638. cipher: "AES",
  153639. key: 192,
  153640. iv: 16,
  153641. mode: "CFB8",
  153642. type: "stream",
  153643. };
  153644. exports["aes-256-cfb8"] = {
  153645. cipher: "AES",
  153646. key: 256,
  153647. iv: 16,
  153648. mode: "CFB8",
  153649. type: "stream",
  153650. };
  153651. exports["aes-128-cfb1"] = {
  153652. cipher: "AES",
  153653. key: 128,
  153654. iv: 16,
  153655. mode: "CFB1",
  153656. type: "stream",
  153657. };
  153658. exports["aes-192-cfb1"] = {
  153659. cipher: "AES",
  153660. key: 192,
  153661. iv: 16,
  153662. mode: "CFB1",
  153663. type: "stream",
  153664. };
  153665. exports["aes-256-cfb1"] = {
  153666. cipher: "AES",
  153667. key: 256,
  153668. iv: 16,
  153669. mode: "CFB1",
  153670. type: "stream",
  153671. };
  153672. exports["aes-128-ofb"] = {
  153673. cipher: "AES",
  153674. key: 128,
  153675. iv: 16,
  153676. mode: "OFB",
  153677. type: "stream",
  153678. };
  153679. exports["aes-192-ofb"] = {
  153680. cipher: "AES",
  153681. key: 192,
  153682. iv: 16,
  153683. mode: "OFB",
  153684. type: "stream",
  153685. };
  153686. exports["aes-256-ofb"] = {
  153687. cipher: "AES",
  153688. key: 256,
  153689. iv: 16,
  153690. mode: "OFB",
  153691. type: "stream",
  153692. };
  153693. exports["aes-128-ctr"] = {
  153694. cipher: "AES",
  153695. key: 128,
  153696. iv: 16,
  153697. mode: "CTR",
  153698. type: "stream",
  153699. };
  153700. exports["aes-192-ctr"] = {
  153701. cipher: "AES",
  153702. key: 192,
  153703. iv: 16,
  153704. mode: "CTR",
  153705. type: "stream",
  153706. };
  153707. exports["aes-256-ctr"] = {
  153708. cipher: "AES",
  153709. key: 256,
  153710. iv: 16,
  153711. mode: "CTR",
  153712. type: "stream",
  153713. };
  153714. exports["aes-128-gcm"] = {
  153715. cipher: "AES",
  153716. key: 128,
  153717. iv: 12,
  153718. mode: "GCM",
  153719. type: "auth",
  153720. };
  153721. exports["aes-192-gcm"] = {
  153722. cipher: "AES",
  153723. key: 192,
  153724. iv: 12,
  153725. mode: "GCM",
  153726. type: "auth",
  153727. };
  153728. exports["aes-256-gcm"] = {
  153729. cipher: "AES",
  153730. key: 256,
  153731. iv: 12,
  153732. mode: "GCM",
  153733. type: "auth",
  153734. };
  153735. },
  153736. {},
  153737. ],
  153738. 35: [
  153739. function (require, module, exports) {
  153740. var xor = require("buffer-xor");
  153741. exports.encrypt = function (self, block) {
  153742. var data = xor(block, self._prev);
  153743. self._prev = self._cipher.encryptBlock(data);
  153744. return self._prev;
  153745. };
  153746. exports.decrypt = function (self, block) {
  153747. var pad = self._prev;
  153748. self._prev = block;
  153749. var out = self._cipher.decryptBlock(block);
  153750. return xor(out, pad);
  153751. };
  153752. },
  153753. { "buffer-xor": 53 },
  153754. ],
  153755. 36: [
  153756. function (require, module, exports) {
  153757. (function (Buffer) {
  153758. var xor = require("buffer-xor");
  153759. exports.encrypt = function (self, data, decrypt) {
  153760. var out = new Buffer("");
  153761. var len;
  153762. while (data.length) {
  153763. if (self._cache.length === 0) {
  153764. self._cache = self._cipher.encryptBlock(self._prev);
  153765. self._prev = new Buffer("");
  153766. }
  153767. if (self._cache.length <= data.length) {
  153768. len = self._cache.length;
  153769. out = Buffer.concat([
  153770. out,
  153771. encryptStart(self, data.slice(0, len), decrypt),
  153772. ]);
  153773. data = data.slice(len);
  153774. } else {
  153775. out = Buffer.concat([out, encryptStart(self, data, decrypt)]);
  153776. break;
  153777. }
  153778. }
  153779. return out;
  153780. };
  153781. function encryptStart(self, data, decrypt) {
  153782. var len = data.length;
  153783. var out = xor(data, self._cache);
  153784. self._cache = self._cache.slice(len);
  153785. self._prev = Buffer.concat([self._prev, decrypt ? data : out]);
  153786. return out;
  153787. }
  153788. }).call(this, require("buffer").Buffer);
  153789. },
  153790. { buffer: 54, "buffer-xor": 53 },
  153791. ],
  153792. 37: [
  153793. function (require, module, exports) {
  153794. (function (Buffer) {
  153795. function encryptByte(self, byteParam, decrypt) {
  153796. var pad;
  153797. var i = -1;
  153798. var len = 8;
  153799. var out = 0;
  153800. var bit, value;
  153801. while (++i < len) {
  153802. pad = self._cipher.encryptBlock(self._prev);
  153803. bit = byteParam & (1 << (7 - i)) ? 0x80 : 0;
  153804. value = pad[0] ^ bit;
  153805. out += (value & 0x80) >> i % 8;
  153806. self._prev = shiftIn(self._prev, decrypt ? bit : value);
  153807. }
  153808. return out;
  153809. }
  153810. exports.encrypt = function (self, chunk, decrypt) {
  153811. var len = chunk.length;
  153812. var out = new Buffer(len);
  153813. var i = -1;
  153814. while (++i < len) {
  153815. out[i] = encryptByte(self, chunk[i], decrypt);
  153816. }
  153817. return out;
  153818. };
  153819. function shiftIn(buffer, value) {
  153820. var len = buffer.length;
  153821. var i = -1;
  153822. var out = new Buffer(buffer.length);
  153823. buffer = Buffer.concat([buffer, new Buffer([value])]);
  153824. while (++i < len) {
  153825. out[i] = (buffer[i] << 1) | (buffer[i + 1] >> 7);
  153826. }
  153827. return out;
  153828. }
  153829. }).call(this, require("buffer").Buffer);
  153830. },
  153831. { buffer: 54 },
  153832. ],
  153833. 38: [
  153834. function (require, module, exports) {
  153835. (function (Buffer) {
  153836. function encryptByte(self, byteParam, decrypt) {
  153837. var pad = self._cipher.encryptBlock(self._prev);
  153838. var out = pad[0] ^ byteParam;
  153839. self._prev = Buffer.concat([
  153840. self._prev.slice(1),
  153841. new Buffer([decrypt ? byteParam : out]),
  153842. ]);
  153843. return out;
  153844. }
  153845. exports.encrypt = function (self, chunk, decrypt) {
  153846. var len = chunk.length;
  153847. var out = new Buffer(len);
  153848. var i = -1;
  153849. while (++i < len) {
  153850. out[i] = encryptByte(self, chunk[i], decrypt);
  153851. }
  153852. return out;
  153853. };
  153854. }).call(this, require("buffer").Buffer);
  153855. },
  153856. { buffer: 54 },
  153857. ],
  153858. 39: [
  153859. function (require, module, exports) {
  153860. (function (Buffer) {
  153861. var xor = require("buffer-xor");
  153862. function incr32(iv) {
  153863. var len = iv.length;
  153864. var item;
  153865. while (len--) {
  153866. item = iv.readUInt8(len);
  153867. if (item === 255) {
  153868. iv.writeUInt8(0, len);
  153869. } else {
  153870. item++;
  153871. iv.writeUInt8(item, len);
  153872. break;
  153873. }
  153874. }
  153875. }
  153876. function getBlock(self) {
  153877. var out = self._cipher.encryptBlock(self._prev);
  153878. incr32(self._prev);
  153879. return out;
  153880. }
  153881. exports.encrypt = function (self, chunk) {
  153882. while (self._cache.length < chunk.length) {
  153883. self._cache = Buffer.concat([self._cache, getBlock(self)]);
  153884. }
  153885. var pad = self._cache.slice(0, chunk.length);
  153886. self._cache = self._cache.slice(chunk.length);
  153887. return xor(chunk, pad);
  153888. };
  153889. }).call(this, require("buffer").Buffer);
  153890. },
  153891. { buffer: 54, "buffer-xor": 53 },
  153892. ],
  153893. 40: [
  153894. function (require, module, exports) {
  153895. exports.encrypt = function (self, block) {
  153896. return self._cipher.encryptBlock(block);
  153897. };
  153898. exports.decrypt = function (self, block) {
  153899. return self._cipher.decryptBlock(block);
  153900. };
  153901. },
  153902. {},
  153903. ],
  153904. 41: [
  153905. function (require, module, exports) {
  153906. (function (Buffer) {
  153907. var xor = require("buffer-xor");
  153908. function getBlock(self) {
  153909. self._prev = self._cipher.encryptBlock(self._prev);
  153910. return self._prev;
  153911. }
  153912. exports.encrypt = function (self, chunk) {
  153913. while (self._cache.length < chunk.length) {
  153914. self._cache = Buffer.concat([self._cache, getBlock(self)]);
  153915. }
  153916. var pad = self._cache.slice(0, chunk.length);
  153917. self._cache = self._cache.slice(chunk.length);
  153918. return xor(chunk, pad);
  153919. };
  153920. }).call(this, require("buffer").Buffer);
  153921. },
  153922. { buffer: 54, "buffer-xor": 53 },
  153923. ],
  153924. 42: [
  153925. function (require, module, exports) {
  153926. (function (Buffer) {
  153927. var aes = require("./aes.js");
  153928. var Transform = require("cipher-base");
  153929. var inherits = require("inherits");
  153930. inherits(StreamCipher, Transform);
  153931. module.exports = StreamCipher;
  153932. function StreamCipher(mode, key, iv, decrypt) {
  153933. if (!(this instanceof StreamCipher)) {
  153934. return new StreamCipher(mode, key, iv);
  153935. }
  153936. Transform.call(this);
  153937. this._cipher = new aes.AES(key);
  153938. this._prev = new Buffer(iv.length);
  153939. this._cache = new Buffer("");
  153940. this._secCache = new Buffer("");
  153941. this._decrypt = decrypt;
  153942. iv.copy(this._prev);
  153943. this._mode = mode;
  153944. }
  153945. StreamCipher.prototype._update = function (chunk) {
  153946. return this._mode.encrypt(this, chunk, this._decrypt);
  153947. };
  153948. StreamCipher.prototype._final = function () {
  153949. this._cipher.scrub();
  153950. };
  153951. }).call(this, require("buffer").Buffer);
  153952. },
  153953. { "./aes": 28, buffer: 54, "cipher-base": 55, inherits: 108 },
  153954. ],
  153955. 43: [
  153956. function (require, module, exports) {
  153957. var ebtk = require("evp_bytestokey");
  153958. var aes = require("browserify-aes/browser");
  153959. var DES = require("browserify-des");
  153960. var desModes = require("browserify-des/modes");
  153961. var aesModes = require("browserify-aes/modes");
  153962. function createCipher(suite, password) {
  153963. var keyLen, ivLen;
  153964. suite = suite.toLowerCase();
  153965. if (aesModes[suite]) {
  153966. keyLen = aesModes[suite].key;
  153967. ivLen = aesModes[suite].iv;
  153968. } else if (desModes[suite]) {
  153969. keyLen = desModes[suite].key * 8;
  153970. ivLen = desModes[suite].iv;
  153971. } else {
  153972. throw new TypeError("invalid suite type");
  153973. }
  153974. var keys = ebtk(password, false, keyLen, ivLen);
  153975. return createCipheriv(suite, keys.key, keys.iv);
  153976. }
  153977. function createDecipher(suite, password) {
  153978. var keyLen, ivLen;
  153979. suite = suite.toLowerCase();
  153980. if (aesModes[suite]) {
  153981. keyLen = aesModes[suite].key;
  153982. ivLen = aesModes[suite].iv;
  153983. } else if (desModes[suite]) {
  153984. keyLen = desModes[suite].key * 8;
  153985. ivLen = desModes[suite].iv;
  153986. } else {
  153987. throw new TypeError("invalid suite type");
  153988. }
  153989. var keys = ebtk(password, false, keyLen, ivLen);
  153990. return createDecipheriv(suite, keys.key, keys.iv);
  153991. }
  153992. function createCipheriv(suite, key, iv) {
  153993. suite = suite.toLowerCase();
  153994. if (aesModes[suite]) {
  153995. return aes.createCipheriv(suite, key, iv);
  153996. } else if (desModes[suite]) {
  153997. return new DES({
  153998. key: key,
  153999. iv: iv,
  154000. mode: suite,
  154001. });
  154002. } else {
  154003. throw new TypeError("invalid suite type");
  154004. }
  154005. }
  154006. function createDecipheriv(suite, key, iv) {
  154007. suite = suite.toLowerCase();
  154008. if (aesModes[suite]) {
  154009. return aes.createDecipheriv(suite, key, iv);
  154010. } else if (desModes[suite]) {
  154011. return new DES({
  154012. key: key,
  154013. iv: iv,
  154014. mode: suite,
  154015. decrypt: true,
  154016. });
  154017. } else {
  154018. throw new TypeError("invalid suite type");
  154019. }
  154020. }
  154021. exports.createCipher = exports.Cipher = createCipher;
  154022. exports.createCipheriv = exports.Cipheriv = createCipheriv;
  154023. exports.createDecipher = exports.Decipher = createDecipher;
  154024. exports.createDecipheriv = exports.Decipheriv = createDecipheriv;
  154025. function getCiphers() {
  154026. return Object.keys(desModes).concat(aes.getCiphers());
  154027. }
  154028. exports.listCiphers = exports.getCiphers = getCiphers;
  154029. },
  154030. {
  154031. "browserify-aes/browser": 30,
  154032. "browserify-aes/modes": 34,
  154033. "browserify-des": 44,
  154034. "browserify-des/modes": 45,
  154035. evp_bytestokey: 91,
  154036. },
  154037. ],
  154038. 44: [
  154039. function (require, module, exports) {
  154040. (function (Buffer) {
  154041. var CipherBase = require("cipher-base");
  154042. var des = require("des.js");
  154043. var inherits = require("inherits");
  154044. var modes = {
  154045. "des-ede3-cbc": des.CBC.instantiate(des.EDE),
  154046. "des-ede3": des.EDE,
  154047. "des-ede-cbc": des.CBC.instantiate(des.EDE),
  154048. "des-ede": des.EDE,
  154049. "des-cbc": des.CBC.instantiate(des.DES),
  154050. "des-ecb": des.DES,
  154051. };
  154052. modes.des = modes["des-cbc"];
  154053. modes.des3 = modes["des-ede3-cbc"];
  154054. module.exports = DES;
  154055. inherits(DES, CipherBase);
  154056. function DES(opts) {
  154057. CipherBase.call(this);
  154058. var modeName = opts.mode.toLowerCase();
  154059. var mode = modes[modeName];
  154060. var type;
  154061. if (opts.decrypt) {
  154062. type = "decrypt";
  154063. } else {
  154064. type = "encrypt";
  154065. }
  154066. var key = opts.key;
  154067. if (modeName === "des-ede" || modeName === "des-ede-cbc") {
  154068. key = Buffer.concat([key, key.slice(0, 8)]);
  154069. }
  154070. var iv = opts.iv;
  154071. this._des = mode.create({
  154072. key: key,
  154073. iv: iv,
  154074. type: type,
  154075. });
  154076. }
  154077. DES.prototype._update = function (data) {
  154078. return new Buffer(this._des.update(data));
  154079. };
  154080. DES.prototype._final = function () {
  154081. return new Buffer(this._des.final());
  154082. };
  154083. }).call(this, require("buffer").Buffer);
  154084. },
  154085. { buffer: 54, "cipher-base": 55, "des.js": 64, inherits: 108 },
  154086. ],
  154087. 45: [
  154088. function (require, module, exports) {
  154089. exports["des-ecb"] = {
  154090. key: 8,
  154091. iv: 0,
  154092. };
  154093. exports["des-cbc"] = exports.des = {
  154094. key: 8,
  154095. iv: 8,
  154096. };
  154097. exports["des-ede3-cbc"] = exports.des3 = {
  154098. key: 24,
  154099. iv: 8,
  154100. };
  154101. exports["des-ede3"] = {
  154102. key: 24,
  154103. iv: 0,
  154104. };
  154105. exports["des-ede-cbc"] = {
  154106. key: 16,
  154107. iv: 8,
  154108. };
  154109. exports["des-ede"] = {
  154110. key: 16,
  154111. iv: 0,
  154112. };
  154113. },
  154114. {},
  154115. ],
  154116. 46: [
  154117. function (require, module, exports) {
  154118. (function (Buffer) {
  154119. var bn = require("bn.js");
  154120. var randomBytes = require("randombytes");
  154121. module.exports = crt;
  154122. function blind(priv) {
  154123. var r = getr(priv);
  154124. var blinder = r
  154125. .toRed(bn.mont(priv.modulus))
  154126. .redPow(new bn(priv.publicExponent))
  154127. .fromRed();
  154128. return {
  154129. blinder: blinder,
  154130. unblinder: r.invm(priv.modulus),
  154131. };
  154132. }
  154133. function crt(msg, priv) {
  154134. var blinds = blind(priv);
  154135. var len = priv.modulus.byteLength();
  154136. var mod = bn.mont(priv.modulus);
  154137. var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);
  154138. var c1 = blinded.toRed(bn.mont(priv.prime1));
  154139. var c2 = blinded.toRed(bn.mont(priv.prime2));
  154140. var qinv = priv.coefficient;
  154141. var p = priv.prime1;
  154142. var q = priv.prime2;
  154143. var m1 = c1.redPow(priv.exponent1);
  154144. var m2 = c2.redPow(priv.exponent2);
  154145. m1 = m1.fromRed();
  154146. m2 = m2.fromRed();
  154147. var h = m1.isub(m2).imul(qinv).umod(p);
  154148. h.imul(q);
  154149. m2.iadd(h);
  154150. return new Buffer(
  154151. m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len)
  154152. );
  154153. }
  154154. crt.getr = getr;
  154155. function getr(priv) {
  154156. var len = priv.modulus.byteLength();
  154157. var r = new bn(randomBytes(len));
  154158. while (
  154159. r.cmp(priv.modulus) >= 0 ||
  154160. !r.umod(priv.prime1) ||
  154161. !r.umod(priv.prime2)
  154162. ) {
  154163. r = new bn(randomBytes(len));
  154164. }
  154165. return r;
  154166. }
  154167. }).call(this, require("buffer").Buffer);
  154168. },
  154169. { "bn.js": 25, buffer: 54, randombytes: 133 },
  154170. ],
  154171. 47: [
  154172. function (require, module, exports) {
  154173. module.exports = require("./browser/algorithms.json");
  154174. },
  154175. { "./browser/algorithms.json": 48 },
  154176. ],
  154177. 48: [
  154178. function (require, module, exports) {
  154179. module.exports = {
  154180. sha224WithRSAEncryption: {
  154181. sign: "rsa",
  154182. hash: "sha224",
  154183. id: "302d300d06096086480165030402040500041c",
  154184. },
  154185. "RSA-SHA224": {
  154186. sign: "ecdsa/rsa",
  154187. hash: "sha224",
  154188. id: "302d300d06096086480165030402040500041c",
  154189. },
  154190. sha256WithRSAEncryption: {
  154191. sign: "rsa",
  154192. hash: "sha256",
  154193. id: "3031300d060960864801650304020105000420",
  154194. },
  154195. "RSA-SHA256": {
  154196. sign: "ecdsa/rsa",
  154197. hash: "sha256",
  154198. id: "3031300d060960864801650304020105000420",
  154199. },
  154200. sha384WithRSAEncryption: {
  154201. sign: "rsa",
  154202. hash: "sha384",
  154203. id: "3041300d060960864801650304020205000430",
  154204. },
  154205. "RSA-SHA384": {
  154206. sign: "ecdsa/rsa",
  154207. hash: "sha384",
  154208. id: "3041300d060960864801650304020205000430",
  154209. },
  154210. sha512WithRSAEncryption: {
  154211. sign: "rsa",
  154212. hash: "sha512",
  154213. id: "3051300d060960864801650304020305000440",
  154214. },
  154215. "RSA-SHA512": {
  154216. sign: "ecdsa/rsa",
  154217. hash: "sha512",
  154218. id: "3051300d060960864801650304020305000440",
  154219. },
  154220. "RSA-SHA1": {
  154221. sign: "rsa",
  154222. hash: "sha1",
  154223. id: "3021300906052b0e03021a05000414",
  154224. },
  154225. "ecdsa-with-SHA1": {
  154226. sign: "ecdsa",
  154227. hash: "sha1",
  154228. id: "",
  154229. },
  154230. sha256: {
  154231. sign: "ecdsa",
  154232. hash: "sha256",
  154233. id: "",
  154234. },
  154235. sha224: {
  154236. sign: "ecdsa",
  154237. hash: "sha224",
  154238. id: "",
  154239. },
  154240. sha384: {
  154241. sign: "ecdsa",
  154242. hash: "sha384",
  154243. id: "",
  154244. },
  154245. sha512: {
  154246. sign: "ecdsa",
  154247. hash: "sha512",
  154248. id: "",
  154249. },
  154250. "DSA-SHA": {
  154251. sign: "dsa",
  154252. hash: "sha1",
  154253. id: "",
  154254. },
  154255. "DSA-SHA1": {
  154256. sign: "dsa",
  154257. hash: "sha1",
  154258. id: "",
  154259. },
  154260. DSA: {
  154261. sign: "dsa",
  154262. hash: "sha1",
  154263. id: "",
  154264. },
  154265. "DSA-WITH-SHA224": {
  154266. sign: "dsa",
  154267. hash: "sha224",
  154268. id: "",
  154269. },
  154270. "DSA-SHA224": {
  154271. sign: "dsa",
  154272. hash: "sha224",
  154273. id: "",
  154274. },
  154275. "DSA-WITH-SHA256": {
  154276. sign: "dsa",
  154277. hash: "sha256",
  154278. id: "",
  154279. },
  154280. "DSA-SHA256": {
  154281. sign: "dsa",
  154282. hash: "sha256",
  154283. id: "",
  154284. },
  154285. "DSA-WITH-SHA384": {
  154286. sign: "dsa",
  154287. hash: "sha384",
  154288. id: "",
  154289. },
  154290. "DSA-SHA384": {
  154291. sign: "dsa",
  154292. hash: "sha384",
  154293. id: "",
  154294. },
  154295. "DSA-WITH-SHA512": {
  154296. sign: "dsa",
  154297. hash: "sha512",
  154298. id: "",
  154299. },
  154300. "DSA-SHA512": {
  154301. sign: "dsa",
  154302. hash: "sha512",
  154303. id: "",
  154304. },
  154305. "DSA-RIPEMD160": {
  154306. sign: "dsa",
  154307. hash: "rmd160",
  154308. id: "",
  154309. },
  154310. ripemd160WithRSA: {
  154311. sign: "rsa",
  154312. hash: "rmd160",
  154313. id: "3021300906052b2403020105000414",
  154314. },
  154315. "RSA-RIPEMD160": {
  154316. sign: "rsa",
  154317. hash: "rmd160",
  154318. id: "3021300906052b2403020105000414",
  154319. },
  154320. md5WithRSAEncryption: {
  154321. sign: "rsa",
  154322. hash: "md5",
  154323. id: "3020300c06082a864886f70d020505000410",
  154324. },
  154325. "RSA-MD5": {
  154326. sign: "rsa",
  154327. hash: "md5",
  154328. id: "3020300c06082a864886f70d020505000410",
  154329. },
  154330. };
  154331. },
  154332. {},
  154333. ],
  154334. 49: [
  154335. function (require, module, exports) {
  154336. module.exports = {
  154337. "1.3.132.0.10": "secp256k1",
  154338. "1.3.132.0.33": "p224",
  154339. "1.2.840.10045.3.1.1": "p192",
  154340. "1.2.840.10045.3.1.7": "p256",
  154341. "1.3.132.0.34": "p384",
  154342. "1.3.132.0.35": "p521",
  154343. };
  154344. },
  154345. {},
  154346. ],
  154347. 50: [
  154348. function (require, module, exports) {
  154349. (function (Buffer) {
  154350. var createHash = require("create-hash");
  154351. var stream = require("stream");
  154352. var inherits = require("inherits");
  154353. var sign = require("./sign.js");
  154354. var verify = require("./verify.js");
  154355. var algorithms = require("./algorithms.json");
  154356. Object.keys(algorithms).forEach(function (key) {
  154357. algorithms[key].id = new Buffer(algorithms[key].id, "hex");
  154358. algorithms[key.toLowerCase()] = algorithms[key];
  154359. });
  154360. function Sign(algorithm) {
  154361. stream.Writable.call(this);
  154362. var data = algorithms[algorithm];
  154363. if (!data) throw new Error("Unknown message digest");
  154364. this._hashType = data.hash;
  154365. this._hash = createHash(data.hash);
  154366. this._tag = data.id;
  154367. this._signType = data.sign;
  154368. }
  154369. inherits(Sign, stream.Writable);
  154370. Sign.prototype._write = function _write(data, _, done) {
  154371. this._hash.update(data);
  154372. done();
  154373. };
  154374. Sign.prototype.update = function update(data, enc) {
  154375. if (typeof data === "string") data = new Buffer(data, enc);
  154376. this._hash.update(data);
  154377. return this;
  154378. };
  154379. Sign.prototype.sign = function signMethod(key, enc) {
  154380. this.end();
  154381. var hash = this._hash.digest();
  154382. var sig = sign(
  154383. hash,
  154384. key,
  154385. this._hashType,
  154386. this._signType,
  154387. this._tag
  154388. );
  154389. return enc ? sig.toString(enc) : sig;
  154390. };
  154391. function Verify(algorithm) {
  154392. stream.Writable.call(this);
  154393. var data = algorithms[algorithm];
  154394. if (!data) throw new Error("Unknown message digest");
  154395. this._hash = createHash(data.hash);
  154396. this._tag = data.id;
  154397. this._signType = data.sign;
  154398. }
  154399. inherits(Verify, stream.Writable);
  154400. Verify.prototype._write = function _write(data, _, done) {
  154401. this._hash.update(data);
  154402. done();
  154403. };
  154404. Verify.prototype.update = function update(data, enc) {
  154405. if (typeof data === "string") data = new Buffer(data, enc);
  154406. this._hash.update(data);
  154407. return this;
  154408. };
  154409. Verify.prototype.verify = function verifyMethod(key, sig, enc) {
  154410. if (typeof sig === "string") sig = new Buffer(sig, enc);
  154411. this.end();
  154412. var hash = this._hash.digest();
  154413. return verify(sig, hash, key, this._signType, this._tag);
  154414. };
  154415. function createSign(algorithm) {
  154416. return new Sign(algorithm);
  154417. }
  154418. function createVerify(algorithm) {
  154419. return new Verify(algorithm);
  154420. }
  154421. module.exports = {
  154422. Sign: createSign,
  154423. Verify: createVerify,
  154424. createSign: createSign,
  154425. createVerify: createVerify,
  154426. };
  154427. }).call(this, require("buffer").Buffer);
  154428. },
  154429. {
  154430. "./algorithms.json": 48,
  154431. "./sign": 51,
  154432. "./verify": 52,
  154433. buffer: 54,
  154434. "create-hash": 58,
  154435. inherits: 108,
  154436. stream: 157,
  154437. },
  154438. ],
  154439. 51: [
  154440. function (require, module, exports) {
  154441. (function (Buffer) {
  154442. // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
  154443. var createHmac = require("create-hmac");
  154444. var crt = require("browserify-rsa");
  154445. var EC = require("elliptic").ec;
  154446. var BN = require("bn.js");
  154447. var parseKeys = require("parse-asn1");
  154448. var curves = require("./curves.json");
  154449. function sign(hash, key, hashType, signType, tag) {
  154450. var priv = parseKeys(key);
  154451. if (priv.curve) {
  154452. // rsa keys can be interpreted as ecdsa ones in openssl
  154453. if (signType !== "ecdsa" && signType !== "ecdsa/rsa")
  154454. throw new Error("wrong private key type");
  154455. return ecSign(hash, priv);
  154456. } else if (priv.type === "dsa") {
  154457. if (signType !== "dsa") throw new Error("wrong private key type");
  154458. return dsaSign(hash, priv, hashType);
  154459. } else {
  154460. if (signType !== "rsa" && signType !== "ecdsa/rsa")
  154461. throw new Error("wrong private key type");
  154462. }
  154463. hash = Buffer.concat([tag, hash]);
  154464. var len = priv.modulus.byteLength();
  154465. var pad = [0, 1];
  154466. while (hash.length + pad.length + 1 < len) pad.push(0xff);
  154467. pad.push(0x00);
  154468. var i = -1;
  154469. while (++i < hash.length) pad.push(hash[i]);
  154470. var out = crt(pad, priv);
  154471. return out;
  154472. }
  154473. function ecSign(hash, priv) {
  154474. var curveId = curves[priv.curve.join(".")];
  154475. if (!curveId)
  154476. throw new Error("unknown curve " + priv.curve.join("."));
  154477. var curve = new EC(curveId);
  154478. var key = curve.keyFromPrivate(priv.privateKey);
  154479. var out = key.sign(hash);
  154480. return new Buffer(out.toDER());
  154481. }
  154482. function dsaSign(hash, priv, algo) {
  154483. var x = priv.params.priv_key;
  154484. var p = priv.params.p;
  154485. var q = priv.params.q;
  154486. var g = priv.params.g;
  154487. var r = new BN(0);
  154488. var k;
  154489. var H = bits2int(hash, q).mod(q);
  154490. var s = false;
  154491. var kv = getKey(x, q, hash, algo);
  154492. while (s === false) {
  154493. k = makeKey(q, kv, algo);
  154494. r = makeR(g, k, p, q);
  154495. s = k
  154496. .invm(q)
  154497. .imul(H.add(x.mul(r)))
  154498. .mod(q);
  154499. if (s.cmpn(0) === 0) {
  154500. s = false;
  154501. r = new BN(0);
  154502. }
  154503. }
  154504. return toDER(r, s);
  154505. }
  154506. function toDER(r, s) {
  154507. r = r.toArray();
  154508. s = s.toArray();
  154509. // Pad values
  154510. if (r[0] & 0x80) r = [0].concat(r);
  154511. if (s[0] & 0x80) s = [0].concat(s);
  154512. var total = r.length + s.length + 4;
  154513. var res = [0x30, total, 0x02, r.length];
  154514. res = res.concat(r, [0x02, s.length], s);
  154515. return new Buffer(res);
  154516. }
  154517. function getKey(x, q, hash, algo) {
  154518. x = new Buffer(x.toArray());
  154519. if (x.length < q.byteLength()) {
  154520. var zeros = new Buffer(q.byteLength() - x.length);
  154521. zeros.fill(0);
  154522. x = Buffer.concat([zeros, x]);
  154523. }
  154524. var hlen = hash.length;
  154525. var hbits = bits2octets(hash, q);
  154526. var v = new Buffer(hlen);
  154527. v.fill(1);
  154528. var k = new Buffer(hlen);
  154529. k.fill(0);
  154530. k = createHmac(algo, k)
  154531. .update(v)
  154532. .update(new Buffer([0]))
  154533. .update(x)
  154534. .update(hbits)
  154535. .digest();
  154536. v = createHmac(algo, k).update(v).digest();
  154537. k = createHmac(algo, k)
  154538. .update(v)
  154539. .update(new Buffer([1]))
  154540. .update(x)
  154541. .update(hbits)
  154542. .digest();
  154543. v = createHmac(algo, k).update(v).digest();
  154544. return { k: k, v: v };
  154545. }
  154546. function bits2int(obits, q) {
  154547. var bits = new BN(obits);
  154548. var shift = (obits.length << 3) - q.bitLength();
  154549. if (shift > 0) bits.ishrn(shift);
  154550. return bits;
  154551. }
  154552. function bits2octets(bits, q) {
  154553. bits = bits2int(bits, q);
  154554. bits = bits.mod(q);
  154555. var out = new Buffer(bits.toArray());
  154556. if (out.length < q.byteLength()) {
  154557. var zeros = new Buffer(q.byteLength() - out.length);
  154558. zeros.fill(0);
  154559. out = Buffer.concat([zeros, out]);
  154560. }
  154561. return out;
  154562. }
  154563. function makeKey(q, kv, algo) {
  154564. var t;
  154565. var k;
  154566. do {
  154567. t = new Buffer(0);
  154568. while (t.length * 8 < q.bitLength()) {
  154569. kv.v = createHmac(algo, kv.k).update(kv.v).digest();
  154570. t = Buffer.concat([t, kv.v]);
  154571. }
  154572. k = bits2int(t, q);
  154573. kv.k = createHmac(algo, kv.k)
  154574. .update(kv.v)
  154575. .update(new Buffer([0]))
  154576. .digest();
  154577. kv.v = createHmac(algo, kv.k).update(kv.v).digest();
  154578. } while (k.cmp(q) !== -1);
  154579. return k;
  154580. }
  154581. function makeR(g, k, p, q) {
  154582. return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);
  154583. }
  154584. module.exports = sign;
  154585. module.exports.getKey = getKey;
  154586. module.exports.makeKey = makeKey;
  154587. }).call(this, require("buffer").Buffer);
  154588. },
  154589. {
  154590. "./curves.json": 49,
  154591. "bn.js": 25,
  154592. "browserify-rsa": 46,
  154593. buffer: 54,
  154594. "create-hmac": 61,
  154595. elliptic: 74,
  154596. "parse-asn1": 118,
  154597. },
  154598. ],
  154599. 52: [
  154600. function (require, module, exports) {
  154601. (function (Buffer) {
  154602. // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
  154603. var BN = require("bn.js");
  154604. var EC = require("elliptic").ec;
  154605. var parseKeys = require("parse-asn1");
  154606. var curves = require("./curves.json");
  154607. function verify(sig, hash, key, signType, tag) {
  154608. var pub = parseKeys(key);
  154609. if (pub.type === "ec") {
  154610. // rsa keys can be interpreted as ecdsa ones in openssl
  154611. if (signType !== "ecdsa" && signType !== "ecdsa/rsa")
  154612. throw new Error("wrong public key type");
  154613. return ecVerify(sig, hash, pub);
  154614. } else if (pub.type === "dsa") {
  154615. if (signType !== "dsa") throw new Error("wrong public key type");
  154616. return dsaVerify(sig, hash, pub);
  154617. } else {
  154618. if (signType !== "rsa" && signType !== "ecdsa/rsa")
  154619. throw new Error("wrong public key type");
  154620. }
  154621. hash = Buffer.concat([tag, hash]);
  154622. var len = pub.modulus.byteLength();
  154623. var pad = [1];
  154624. var padNum = 0;
  154625. while (hash.length + pad.length + 2 < len) {
  154626. pad.push(0xff);
  154627. padNum++;
  154628. }
  154629. pad.push(0x00);
  154630. var i = -1;
  154631. while (++i < hash.length) {
  154632. pad.push(hash[i]);
  154633. }
  154634. pad = new Buffer(pad);
  154635. var red = BN.mont(pub.modulus);
  154636. sig = new BN(sig).toRed(red);
  154637. sig = sig.redPow(new BN(pub.publicExponent));
  154638. sig = new Buffer(sig.fromRed().toArray());
  154639. var out = padNum < 8 ? 1 : 0;
  154640. len = Math.min(sig.length, pad.length);
  154641. if (sig.length !== pad.length) out = 1;
  154642. i = -1;
  154643. while (++i < len) out |= sig[i] ^ pad[i];
  154644. return out === 0;
  154645. }
  154646. function ecVerify(sig, hash, pub) {
  154647. var curveId = curves[pub.data.algorithm.curve.join(".")];
  154648. if (!curveId)
  154649. throw new Error(
  154650. "unknown curve " + pub.data.algorithm.curve.join(".")
  154651. );
  154652. var curve = new EC(curveId);
  154653. var pubkey = pub.data.subjectPrivateKey.data;
  154654. return curve.verify(hash, sig, pubkey);
  154655. }
  154656. function dsaVerify(sig, hash, pub) {
  154657. var p = pub.data.p;
  154658. var q = pub.data.q;
  154659. var g = pub.data.g;
  154660. var y = pub.data.pub_key;
  154661. var unpacked = parseKeys.signature.decode(sig, "der");
  154662. var s = unpacked.s;
  154663. var r = unpacked.r;
  154664. checkValue(s, q);
  154665. checkValue(r, q);
  154666. var montp = BN.mont(p);
  154667. var w = s.invm(q);
  154668. var v = g
  154669. .toRed(montp)
  154670. .redPow(new BN(hash).mul(w).mod(q))
  154671. .fromRed()
  154672. .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())
  154673. .mod(p)
  154674. .mod(q);
  154675. return v.cmp(r) === 0;
  154676. }
  154677. function checkValue(b, q) {
  154678. if (b.cmpn(0) <= 0) throw new Error("invalid sig");
  154679. if (b.cmp(q) >= q) throw new Error("invalid sig");
  154680. }
  154681. module.exports = verify;
  154682. }).call(this, require("buffer").Buffer);
  154683. },
  154684. {
  154685. "./curves.json": 49,
  154686. "bn.js": 25,
  154687. buffer: 54,
  154688. elliptic: 74,
  154689. "parse-asn1": 118,
  154690. },
  154691. ],
  154692. 53: [
  154693. function (require, module, exports) {
  154694. (function (Buffer) {
  154695. module.exports = function xor(a, b) {
  154696. var length = Math.min(a.length, b.length);
  154697. var buffer = new Buffer(length);
  154698. for (var i = 0; i < length; ++i) {
  154699. buffer[i] = a[i] ^ b[i];
  154700. }
  154701. return buffer;
  154702. };
  154703. }).call(this, require("buffer").Buffer);
  154704. },
  154705. { buffer: 54 },
  154706. ],
  154707. 54: [
  154708. function (require, module, exports) {
  154709. /*!
  154710. * The buffer module from node.js, for the browser.
  154711. *
  154712. * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  154713. * @license MIT
  154714. */
  154715. /* eslint-disable no-proto */
  154716. "use strict";
  154717. var base64 = require("base64-js");
  154718. var ieee754 = require("ieee754");
  154719. exports.Buffer = Buffer;
  154720. exports.SlowBuffer = SlowBuffer;
  154721. exports.INSPECT_MAX_BYTES = 50;
  154722. var K_MAX_LENGTH = 0x7fffffff;
  154723. exports.kMaxLength = K_MAX_LENGTH;
  154724. /**
  154725. * If `Buffer.TYPED_ARRAY_SUPPORT`:
  154726. * === true Use Uint8Array implementation (fastest)
  154727. * === false Print warning and recommend using `buffer` v4.x which has an Object
  154728. * implementation (most compatible, even IE6)
  154729. *
  154730. * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
  154731. * Opera 11.6+, iOS 4.2+.
  154732. *
  154733. * We report that the browser does not support typed arrays if the are not subclassable
  154734. * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
  154735. * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
  154736. * for __proto__ and has a buggy typed array implementation.
  154737. */
  154738. Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();
  154739. if (
  154740. !Buffer.TYPED_ARRAY_SUPPORT &&
  154741. typeof console !== "undefined" &&
  154742. typeof console.error === "function"
  154743. ) {
  154744. console.error(
  154745. "This browser lacks typed array (Uint8Array) support which is required by " +
  154746. "`buffer` v5.x. Use `buffer` v4.x if you require old browser support."
  154747. );
  154748. }
  154749. function typedArraySupport() {
  154750. // Can typed array instances can be augmented?
  154751. try {
  154752. var arr = new Uint8Array(1);
  154753. arr.__proto__ = {
  154754. __proto__: Uint8Array.prototype,
  154755. foo: function () {
  154756. return 42;
  154757. },
  154758. };
  154759. return arr.foo() === 42;
  154760. } catch (e) {
  154761. return false;
  154762. }
  154763. }
  154764. function createBuffer(length) {
  154765. if (length > K_MAX_LENGTH) {
  154766. throw new RangeError("Invalid typed array length");
  154767. }
  154768. // Return an augmented `Uint8Array` instance
  154769. var buf = new Uint8Array(length);
  154770. buf.__proto__ = Buffer.prototype;
  154771. return buf;
  154772. }
  154773. /**
  154774. * The Buffer constructor returns instances of `Uint8Array` that have their
  154775. * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
  154776. * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
  154777. * and the `Uint8Array` methods. Square bracket notation works as expected -- it
  154778. * returns a single octet.
  154779. *
  154780. * The `Uint8Array` prototype remains unmodified.
  154781. */
  154782. function Buffer(arg, encodingOrOffset, length) {
  154783. // Common case.
  154784. if (typeof arg === "number") {
  154785. if (typeof encodingOrOffset === "string") {
  154786. throw new Error(
  154787. "If encoding is specified then the first argument must be a string"
  154788. );
  154789. }
  154790. return allocUnsafe(arg);
  154791. }
  154792. return from(arg, encodingOrOffset, length);
  154793. }
  154794. // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
  154795. if (
  154796. typeof Symbol !== "undefined" &&
  154797. Symbol.species &&
  154798. Buffer[Symbol.species] === Buffer
  154799. ) {
  154800. Object.defineProperty(Buffer, Symbol.species, {
  154801. value: null,
  154802. configurable: true,
  154803. enumerable: false,
  154804. writable: false,
  154805. });
  154806. }
  154807. Buffer.poolSize = 8192; // not used by this implementation
  154808. function from(value, encodingOrOffset, length) {
  154809. if (typeof value === "number") {
  154810. throw new TypeError('"value" argument must not be a number');
  154811. }
  154812. if (isArrayBuffer(value)) {
  154813. return fromArrayBuffer(value, encodingOrOffset, length);
  154814. }
  154815. if (typeof value === "string") {
  154816. return fromString(value, encodingOrOffset);
  154817. }
  154818. return fromObject(value);
  154819. }
  154820. /**
  154821. * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
  154822. * if value is a number.
  154823. * Buffer.from(str[, encoding])
  154824. * Buffer.from(array)
  154825. * Buffer.from(buffer)
  154826. * Buffer.from(arrayBuffer[, byteOffset[, length]])
  154827. **/
  154828. Buffer.from = function (value, encodingOrOffset, length) {
  154829. return from(value, encodingOrOffset, length);
  154830. };
  154831. // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
  154832. // https://github.com/feross/buffer/pull/148
  154833. Buffer.prototype.__proto__ = Uint8Array.prototype;
  154834. Buffer.__proto__ = Uint8Array;
  154835. function assertSize(size) {
  154836. if (typeof size !== "number") {
  154837. throw new TypeError('"size" argument must be a number');
  154838. } else if (size < 0) {
  154839. throw new RangeError('"size" argument must not be negative');
  154840. }
  154841. }
  154842. function alloc(size, fill, encoding) {
  154843. assertSize(size);
  154844. if (size <= 0) {
  154845. return createBuffer(size);
  154846. }
  154847. if (fill !== undefined) {
  154848. // Only pay attention to encoding if it's a string. This
  154849. // prevents accidentally sending in a number that would
  154850. // be interpretted as a start offset.
  154851. return typeof encoding === "string"
  154852. ? createBuffer(size).fill(fill, encoding)
  154853. : createBuffer(size).fill(fill);
  154854. }
  154855. return createBuffer(size);
  154856. }
  154857. /**
  154858. * Creates a new filled Buffer instance.
  154859. * alloc(size[, fill[, encoding]])
  154860. **/
  154861. Buffer.alloc = function (size, fill, encoding) {
  154862. return alloc(size, fill, encoding);
  154863. };
  154864. function allocUnsafe(size) {
  154865. assertSize(size);
  154866. return createBuffer(size < 0 ? 0 : checked(size) | 0);
  154867. }
  154868. /**
  154869. * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
  154870. * */
  154871. Buffer.allocUnsafe = function (size) {
  154872. return allocUnsafe(size);
  154873. };
  154874. /**
  154875. * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
  154876. */
  154877. Buffer.allocUnsafeSlow = function (size) {
  154878. return allocUnsafe(size);
  154879. };
  154880. function fromString(string, encoding) {
  154881. if (typeof encoding !== "string" || encoding === "") {
  154882. encoding = "utf8";
  154883. }
  154884. if (!Buffer.isEncoding(encoding)) {
  154885. throw new TypeError('"encoding" must be a valid string encoding');
  154886. }
  154887. var length = byteLength(string, encoding) | 0;
  154888. var buf = createBuffer(length);
  154889. var actual = buf.write(string, encoding);
  154890. if (actual !== length) {
  154891. // Writing a hex string, for example, that contains invalid characters will
  154892. // cause everything after the first invalid character to be ignored. (e.g.
  154893. // 'abxxcd' will be treated as 'ab')
  154894. buf = buf.slice(0, actual);
  154895. }
  154896. return buf;
  154897. }
  154898. function fromArrayLike(array) {
  154899. var length = array.length < 0 ? 0 : checked(array.length) | 0;
  154900. var buf = createBuffer(length);
  154901. for (var i = 0; i < length; i += 1) {
  154902. buf[i] = array[i] & 255;
  154903. }
  154904. return buf;
  154905. }
  154906. function fromArrayBuffer(array, byteOffset, length) {
  154907. if (byteOffset < 0 || array.byteLength < byteOffset) {
  154908. throw new RangeError("'offset' is out of bounds");
  154909. }
  154910. if (array.byteLength < byteOffset + (length || 0)) {
  154911. throw new RangeError("'length' is out of bounds");
  154912. }
  154913. var buf;
  154914. if (byteOffset === undefined && length === undefined) {
  154915. buf = new Uint8Array(array);
  154916. } else if (length === undefined) {
  154917. buf = new Uint8Array(array, byteOffset);
  154918. } else {
  154919. buf = new Uint8Array(array, byteOffset, length);
  154920. }
  154921. // Return an augmented `Uint8Array` instance
  154922. buf.__proto__ = Buffer.prototype;
  154923. return buf;
  154924. }
  154925. function fromObject(obj) {
  154926. if (Buffer.isBuffer(obj)) {
  154927. var len = checked(obj.length) | 0;
  154928. var buf = createBuffer(len);
  154929. if (buf.length === 0) {
  154930. return buf;
  154931. }
  154932. obj.copy(buf, 0, 0, len);
  154933. return buf;
  154934. }
  154935. if (obj) {
  154936. if (isArrayBufferView(obj) || "length" in obj) {
  154937. if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {
  154938. return createBuffer(0);
  154939. }
  154940. return fromArrayLike(obj);
  154941. }
  154942. if (obj.type === "Buffer" && Array.isArray(obj.data)) {
  154943. return fromArrayLike(obj.data);
  154944. }
  154945. }
  154946. throw new TypeError(
  154947. "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object."
  154948. );
  154949. }
  154950. function checked(length) {
  154951. // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
  154952. // length is NaN (which is otherwise coerced to zero.)
  154953. if (length >= K_MAX_LENGTH) {
  154954. throw new RangeError(
  154955. "Attempt to allocate Buffer larger than maximum " +
  154956. "size: 0x" +
  154957. K_MAX_LENGTH.toString(16) +
  154958. " bytes"
  154959. );
  154960. }
  154961. return length | 0;
  154962. }
  154963. function SlowBuffer(length) {
  154964. if (+length != length) {
  154965. // eslint-disable-line eqeqeq
  154966. length = 0;
  154967. }
  154968. return Buffer.alloc(+length);
  154969. }
  154970. Buffer.isBuffer = function isBuffer(b) {
  154971. return b != null && b._isBuffer === true;
  154972. };
  154973. Buffer.compare = function compare(a, b) {
  154974. if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
  154975. throw new TypeError("Arguments must be Buffers");
  154976. }
  154977. if (a === b) return 0;
  154978. var x = a.length;
  154979. var y = b.length;
  154980. for (var i = 0, len = Math.min(x, y); i < len; ++i) {
  154981. if (a[i] !== b[i]) {
  154982. x = a[i];
  154983. y = b[i];
  154984. break;
  154985. }
  154986. }
  154987. if (x < y) return -1;
  154988. if (y < x) return 1;
  154989. return 0;
  154990. };
  154991. Buffer.isEncoding = function isEncoding(encoding) {
  154992. switch (String(encoding).toLowerCase()) {
  154993. case "hex":
  154994. case "utf8":
  154995. case "utf-8":
  154996. case "ascii":
  154997. case "latin1":
  154998. case "binary":
  154999. case "base64":
  155000. case "ucs2":
  155001. case "ucs-2":
  155002. case "utf16le":
  155003. case "utf-16le":
  155004. return true;
  155005. default:
  155006. return false;
  155007. }
  155008. };
  155009. Buffer.concat = function concat(list, length) {
  155010. if (!Array.isArray(list)) {
  155011. throw new TypeError('"list" argument must be an Array of Buffers');
  155012. }
  155013. if (list.length === 0) {
  155014. return Buffer.alloc(0);
  155015. }
  155016. var i;
  155017. if (length === undefined) {
  155018. length = 0;
  155019. for (i = 0; i < list.length; ++i) {
  155020. length += list[i].length;
  155021. }
  155022. }
  155023. var buffer = Buffer.allocUnsafe(length);
  155024. var pos = 0;
  155025. for (i = 0; i < list.length; ++i) {
  155026. var buf = list[i];
  155027. if (!Buffer.isBuffer(buf)) {
  155028. throw new TypeError(
  155029. '"list" argument must be an Array of Buffers'
  155030. );
  155031. }
  155032. buf.copy(buffer, pos);
  155033. pos += buf.length;
  155034. }
  155035. return buffer;
  155036. };
  155037. function byteLength(string, encoding) {
  155038. if (Buffer.isBuffer(string)) {
  155039. return string.length;
  155040. }
  155041. if (isArrayBufferView(string) || isArrayBuffer(string)) {
  155042. return string.byteLength;
  155043. }
  155044. if (typeof string !== "string") {
  155045. string = "" + string;
  155046. }
  155047. var len = string.length;
  155048. if (len === 0) return 0;
  155049. // Use a for loop to avoid recursion
  155050. var loweredCase = false;
  155051. for (;;) {
  155052. switch (encoding) {
  155053. case "ascii":
  155054. case "latin1":
  155055. case "binary":
  155056. return len;
  155057. case "utf8":
  155058. case "utf-8":
  155059. case undefined:
  155060. return utf8ToBytes(string).length;
  155061. case "ucs2":
  155062. case "ucs-2":
  155063. case "utf16le":
  155064. case "utf-16le":
  155065. return len * 2;
  155066. case "hex":
  155067. return len >>> 1;
  155068. case "base64":
  155069. return base64ToBytes(string).length;
  155070. default:
  155071. if (loweredCase) return utf8ToBytes(string).length; // assume utf8
  155072. encoding = ("" + encoding).toLowerCase();
  155073. loweredCase = true;
  155074. }
  155075. }
  155076. }
  155077. Buffer.byteLength = byteLength;
  155078. function slowToString(encoding, start, end) {
  155079. var loweredCase = false;
  155080. // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
  155081. // property of a typed array.
  155082. // This behaves neither like String nor Uint8Array in that we set start/end
  155083. // to their upper/lower bounds if the value passed is out of range.
  155084. // undefined is handled specially as per ECMA-262 6th Edition,
  155085. // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
  155086. if (start === undefined || start < 0) {
  155087. start = 0;
  155088. }
  155089. // Return early if start > this.length. Done here to prevent potential uint32
  155090. // coercion fail below.
  155091. if (start > this.length) {
  155092. return "";
  155093. }
  155094. if (end === undefined || end > this.length) {
  155095. end = this.length;
  155096. }
  155097. if (end <= 0) {
  155098. return "";
  155099. }
  155100. // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
  155101. end >>>= 0;
  155102. start >>>= 0;
  155103. if (end <= start) {
  155104. return "";
  155105. }
  155106. if (!encoding) encoding = "utf8";
  155107. while (true) {
  155108. switch (encoding) {
  155109. case "hex":
  155110. return hexSlice(this, start, end);
  155111. case "utf8":
  155112. case "utf-8":
  155113. return utf8Slice(this, start, end);
  155114. case "ascii":
  155115. return asciiSlice(this, start, end);
  155116. case "latin1":
  155117. case "binary":
  155118. return latin1Slice(this, start, end);
  155119. case "base64":
  155120. return base64Slice(this, start, end);
  155121. case "ucs2":
  155122. case "ucs-2":
  155123. case "utf16le":
  155124. case "utf-16le":
  155125. return utf16leSlice(this, start, end);
  155126. default:
  155127. if (loweredCase)
  155128. throw new TypeError("Unknown encoding: " + encoding);
  155129. encoding = (encoding + "").toLowerCase();
  155130. loweredCase = true;
  155131. }
  155132. }
  155133. }
  155134. // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
  155135. // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
  155136. // reliably in a browserify context because there could be multiple different
  155137. // copies of the 'buffer' package in use. This method works even for Buffer
  155138. // instances that were created from another copy of the `buffer` package.
  155139. // See: https://github.com/feross/buffer/issues/154
  155140. Buffer.prototype._isBuffer = true;
  155141. function swap(b, n, m) {
  155142. var i = b[n];
  155143. b[n] = b[m];
  155144. b[m] = i;
  155145. }
  155146. Buffer.prototype.swap16 = function swap16() {
  155147. var len = this.length;
  155148. if (len % 2 !== 0) {
  155149. throw new RangeError("Buffer size must be a multiple of 16-bits");
  155150. }
  155151. for (var i = 0; i < len; i += 2) {
  155152. swap(this, i, i + 1);
  155153. }
  155154. return this;
  155155. };
  155156. Buffer.prototype.swap32 = function swap32() {
  155157. var len = this.length;
  155158. if (len % 4 !== 0) {
  155159. throw new RangeError("Buffer size must be a multiple of 32-bits");
  155160. }
  155161. for (var i = 0; i < len; i += 4) {
  155162. swap(this, i, i + 3);
  155163. swap(this, i + 1, i + 2);
  155164. }
  155165. return this;
  155166. };
  155167. Buffer.prototype.swap64 = function swap64() {
  155168. var len = this.length;
  155169. if (len % 8 !== 0) {
  155170. throw new RangeError("Buffer size must be a multiple of 64-bits");
  155171. }
  155172. for (var i = 0; i < len; i += 8) {
  155173. swap(this, i, i + 7);
  155174. swap(this, i + 1, i + 6);
  155175. swap(this, i + 2, i + 5);
  155176. swap(this, i + 3, i + 4);
  155177. }
  155178. return this;
  155179. };
  155180. Buffer.prototype.toString = function toString() {
  155181. var length = this.length;
  155182. if (length === 0) return "";
  155183. if (arguments.length === 0) return utf8Slice(this, 0, length);
  155184. return slowToString.apply(this, arguments);
  155185. };
  155186. Buffer.prototype.equals = function equals(b) {
  155187. if (!Buffer.isBuffer(b))
  155188. throw new TypeError("Argument must be a Buffer");
  155189. if (this === b) return true;
  155190. return Buffer.compare(this, b) === 0;
  155191. };
  155192. Buffer.prototype.inspect = function inspect() {
  155193. var str = "";
  155194. var max = exports.INSPECT_MAX_BYTES;
  155195. if (this.length > 0) {
  155196. str = this.toString("hex", 0, max).match(/.{2}/g).join(" ");
  155197. if (this.length > max) str += " ... ";
  155198. }
  155199. return "<Buffer " + str + ">";
  155200. };
  155201. Buffer.prototype.compare = function compare(
  155202. target,
  155203. start,
  155204. end,
  155205. thisStart,
  155206. thisEnd
  155207. ) {
  155208. if (!Buffer.isBuffer(target)) {
  155209. throw new TypeError("Argument must be a Buffer");
  155210. }
  155211. if (start === undefined) {
  155212. start = 0;
  155213. }
  155214. if (end === undefined) {
  155215. end = target ? target.length : 0;
  155216. }
  155217. if (thisStart === undefined) {
  155218. thisStart = 0;
  155219. }
  155220. if (thisEnd === undefined) {
  155221. thisEnd = this.length;
  155222. }
  155223. if (
  155224. start < 0 ||
  155225. end > target.length ||
  155226. thisStart < 0 ||
  155227. thisEnd > this.length
  155228. ) {
  155229. throw new RangeError("out of range index");
  155230. }
  155231. if (thisStart >= thisEnd && start >= end) {
  155232. return 0;
  155233. }
  155234. if (thisStart >= thisEnd) {
  155235. return -1;
  155236. }
  155237. if (start >= end) {
  155238. return 1;
  155239. }
  155240. start >>>= 0;
  155241. end >>>= 0;
  155242. thisStart >>>= 0;
  155243. thisEnd >>>= 0;
  155244. if (this === target) return 0;
  155245. var x = thisEnd - thisStart;
  155246. var y = end - start;
  155247. var len = Math.min(x, y);
  155248. var thisCopy = this.slice(thisStart, thisEnd);
  155249. var targetCopy = target.slice(start, end);
  155250. for (var i = 0; i < len; ++i) {
  155251. if (thisCopy[i] !== targetCopy[i]) {
  155252. x = thisCopy[i];
  155253. y = targetCopy[i];
  155254. break;
  155255. }
  155256. }
  155257. if (x < y) return -1;
  155258. if (y < x) return 1;
  155259. return 0;
  155260. };
  155261. // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
  155262. // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
  155263. //
  155264. // Arguments:
  155265. // - buffer - a Buffer to search
  155266. // - val - a string, Buffer, or number
  155267. // - byteOffset - an index into `buffer`; will be clamped to an int32
  155268. // - encoding - an optional encoding, relevant is val is a string
  155269. // - dir - true for indexOf, false for lastIndexOf
  155270. function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
  155271. // Empty buffer means no match
  155272. if (buffer.length === 0) return -1;
  155273. // Normalize byteOffset
  155274. if (typeof byteOffset === "string") {
  155275. encoding = byteOffset;
  155276. byteOffset = 0;
  155277. } else if (byteOffset > 0x7fffffff) {
  155278. byteOffset = 0x7fffffff;
  155279. } else if (byteOffset < -0x80000000) {
  155280. byteOffset = -0x80000000;
  155281. }
  155282. byteOffset = +byteOffset; // Coerce to Number.
  155283. if (numberIsNaN(byteOffset)) {
  155284. // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
  155285. byteOffset = dir ? 0 : buffer.length - 1;
  155286. }
  155287. // Normalize byteOffset: negative offsets start from the end of the buffer
  155288. if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
  155289. if (byteOffset >= buffer.length) {
  155290. if (dir) return -1;
  155291. else byteOffset = buffer.length - 1;
  155292. } else if (byteOffset < 0) {
  155293. if (dir) byteOffset = 0;
  155294. else return -1;
  155295. }
  155296. // Normalize val
  155297. if (typeof val === "string") {
  155298. val = Buffer.from(val, encoding);
  155299. }
  155300. // Finally, search either indexOf (if dir is true) or lastIndexOf
  155301. if (Buffer.isBuffer(val)) {
  155302. // Special case: looking for empty string/buffer always fails
  155303. if (val.length === 0) {
  155304. return -1;
  155305. }
  155306. return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
  155307. } else if (typeof val === "number") {
  155308. val = val & 0xff; // Search for a byte value [0-255]
  155309. if (typeof Uint8Array.prototype.indexOf === "function") {
  155310. if (dir) {
  155311. return Uint8Array.prototype.indexOf.call(
  155312. buffer,
  155313. val,
  155314. byteOffset
  155315. );
  155316. } else {
  155317. return Uint8Array.prototype.lastIndexOf.call(
  155318. buffer,
  155319. val,
  155320. byteOffset
  155321. );
  155322. }
  155323. }
  155324. return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
  155325. }
  155326. throw new TypeError("val must be string, number or Buffer");
  155327. }
  155328. function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
  155329. var indexSize = 1;
  155330. var arrLength = arr.length;
  155331. var valLength = val.length;
  155332. if (encoding !== undefined) {
  155333. encoding = String(encoding).toLowerCase();
  155334. if (
  155335. encoding === "ucs2" ||
  155336. encoding === "ucs-2" ||
  155337. encoding === "utf16le" ||
  155338. encoding === "utf-16le"
  155339. ) {
  155340. if (arr.length < 2 || val.length < 2) {
  155341. return -1;
  155342. }
  155343. indexSize = 2;
  155344. arrLength /= 2;
  155345. valLength /= 2;
  155346. byteOffset /= 2;
  155347. }
  155348. }
  155349. function read(buf, i) {
  155350. if (indexSize === 1) {
  155351. return buf[i];
  155352. } else {
  155353. return buf.readUInt16BE(i * indexSize);
  155354. }
  155355. }
  155356. var i;
  155357. if (dir) {
  155358. var foundIndex = -1;
  155359. for (i = byteOffset; i < arrLength; i++) {
  155360. if (
  155361. read(arr, i) ===
  155362. read(val, foundIndex === -1 ? 0 : i - foundIndex)
  155363. ) {
  155364. if (foundIndex === -1) foundIndex = i;
  155365. if (i - foundIndex + 1 === valLength)
  155366. return foundIndex * indexSize;
  155367. } else {
  155368. if (foundIndex !== -1) i -= i - foundIndex;
  155369. foundIndex = -1;
  155370. }
  155371. }
  155372. } else {
  155373. if (byteOffset + valLength > arrLength)
  155374. byteOffset = arrLength - valLength;
  155375. for (i = byteOffset; i >= 0; i--) {
  155376. var found = true;
  155377. for (var j = 0; j < valLength; j++) {
  155378. if (read(arr, i + j) !== read(val, j)) {
  155379. found = false;
  155380. break;
  155381. }
  155382. }
  155383. if (found) return i;
  155384. }
  155385. }
  155386. return -1;
  155387. }
  155388. Buffer.prototype.includes = function includes(
  155389. val,
  155390. byteOffset,
  155391. encoding
  155392. ) {
  155393. return this.indexOf(val, byteOffset, encoding) !== -1;
  155394. };
  155395. Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
  155396. return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
  155397. };
  155398. Buffer.prototype.lastIndexOf = function lastIndexOf(
  155399. val,
  155400. byteOffset,
  155401. encoding
  155402. ) {
  155403. return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
  155404. };
  155405. function hexWrite(buf, string, offset, length) {
  155406. offset = Number(offset) || 0;
  155407. var remaining = buf.length - offset;
  155408. if (!length) {
  155409. length = remaining;
  155410. } else {
  155411. length = Number(length);
  155412. if (length > remaining) {
  155413. length = remaining;
  155414. }
  155415. }
  155416. // must be an even number of digits
  155417. var strLen = string.length;
  155418. if (strLen % 2 !== 0) throw new TypeError("Invalid hex string");
  155419. if (length > strLen / 2) {
  155420. length = strLen / 2;
  155421. }
  155422. for (var i = 0; i < length; ++i) {
  155423. var parsed = parseInt(string.substr(i * 2, 2), 16);
  155424. if (numberIsNaN(parsed)) return i;
  155425. buf[offset + i] = parsed;
  155426. }
  155427. return i;
  155428. }
  155429. function utf8Write(buf, string, offset, length) {
  155430. return blitBuffer(
  155431. utf8ToBytes(string, buf.length - offset),
  155432. buf,
  155433. offset,
  155434. length
  155435. );
  155436. }
  155437. function asciiWrite(buf, string, offset, length) {
  155438. return blitBuffer(asciiToBytes(string), buf, offset, length);
  155439. }
  155440. function latin1Write(buf, string, offset, length) {
  155441. return asciiWrite(buf, string, offset, length);
  155442. }
  155443. function base64Write(buf, string, offset, length) {
  155444. return blitBuffer(base64ToBytes(string), buf, offset, length);
  155445. }
  155446. function ucs2Write(buf, string, offset, length) {
  155447. return blitBuffer(
  155448. utf16leToBytes(string, buf.length - offset),
  155449. buf,
  155450. offset,
  155451. length
  155452. );
  155453. }
  155454. Buffer.prototype.write = function write(
  155455. string,
  155456. offset,
  155457. length,
  155458. encoding
  155459. ) {
  155460. // Buffer#write(string)
  155461. if (offset === undefined) {
  155462. encoding = "utf8";
  155463. length = this.length;
  155464. offset = 0;
  155465. // Buffer#write(string, encoding)
  155466. } else if (length === undefined && typeof offset === "string") {
  155467. encoding = offset;
  155468. length = this.length;
  155469. offset = 0;
  155470. // Buffer#write(string, offset[, length][, encoding])
  155471. } else if (isFinite(offset)) {
  155472. offset = offset >>> 0;
  155473. if (isFinite(length)) {
  155474. length = length >>> 0;
  155475. if (encoding === undefined) encoding = "utf8";
  155476. } else {
  155477. encoding = length;
  155478. length = undefined;
  155479. }
  155480. } else {
  155481. throw new Error(
  155482. "Buffer.write(string, encoding, offset[, length]) is no longer supported"
  155483. );
  155484. }
  155485. var remaining = this.length - offset;
  155486. if (length === undefined || length > remaining) length = remaining;
  155487. if (
  155488. (string.length > 0 && (length < 0 || offset < 0)) ||
  155489. offset > this.length
  155490. ) {
  155491. throw new RangeError("Attempt to write outside buffer bounds");
  155492. }
  155493. if (!encoding) encoding = "utf8";
  155494. var loweredCase = false;
  155495. for (;;) {
  155496. switch (encoding) {
  155497. case "hex":
  155498. return hexWrite(this, string, offset, length);
  155499. case "utf8":
  155500. case "utf-8":
  155501. return utf8Write(this, string, offset, length);
  155502. case "ascii":
  155503. return asciiWrite(this, string, offset, length);
  155504. case "latin1":
  155505. case "binary":
  155506. return latin1Write(this, string, offset, length);
  155507. case "base64":
  155508. // Warning: maxLength not taken into account in base64Write
  155509. return base64Write(this, string, offset, length);
  155510. case "ucs2":
  155511. case "ucs-2":
  155512. case "utf16le":
  155513. case "utf-16le":
  155514. return ucs2Write(this, string, offset, length);
  155515. default:
  155516. if (loweredCase)
  155517. throw new TypeError("Unknown encoding: " + encoding);
  155518. encoding = ("" + encoding).toLowerCase();
  155519. loweredCase = true;
  155520. }
  155521. }
  155522. };
  155523. Buffer.prototype.toJSON = function toJSON() {
  155524. return {
  155525. type: "Buffer",
  155526. data: Array.prototype.slice.call(this._arr || this, 0),
  155527. };
  155528. };
  155529. function base64Slice(buf, start, end) {
  155530. if (start === 0 && end === buf.length) {
  155531. return base64.fromByteArray(buf);
  155532. } else {
  155533. return base64.fromByteArray(buf.slice(start, end));
  155534. }
  155535. }
  155536. function utf8Slice(buf, start, end) {
  155537. end = Math.min(buf.length, end);
  155538. var res = [];
  155539. var i = start;
  155540. while (i < end) {
  155541. var firstByte = buf[i];
  155542. var codePoint = null;
  155543. var bytesPerSequence =
  155544. firstByte > 0xef
  155545. ? 4
  155546. : firstByte > 0xdf
  155547. ? 3
  155548. : firstByte > 0xbf
  155549. ? 2
  155550. : 1;
  155551. if (i + bytesPerSequence <= end) {
  155552. var secondByte, thirdByte, fourthByte, tempCodePoint;
  155553. switch (bytesPerSequence) {
  155554. case 1:
  155555. if (firstByte < 0x80) {
  155556. codePoint = firstByte;
  155557. }
  155558. break;
  155559. case 2:
  155560. secondByte = buf[i + 1];
  155561. if ((secondByte & 0xc0) === 0x80) {
  155562. tempCodePoint =
  155563. ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f);
  155564. if (tempCodePoint > 0x7f) {
  155565. codePoint = tempCodePoint;
  155566. }
  155567. }
  155568. break;
  155569. case 3:
  155570. secondByte = buf[i + 1];
  155571. thirdByte = buf[i + 2];
  155572. if (
  155573. (secondByte & 0xc0) === 0x80 &&
  155574. (thirdByte & 0xc0) === 0x80
  155575. ) {
  155576. tempCodePoint =
  155577. ((firstByte & 0xf) << 0xc) |
  155578. ((secondByte & 0x3f) << 0x6) |
  155579. (thirdByte & 0x3f);
  155580. if (
  155581. tempCodePoint > 0x7ff &&
  155582. (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)
  155583. ) {
  155584. codePoint = tempCodePoint;
  155585. }
  155586. }
  155587. break;
  155588. case 4:
  155589. secondByte = buf[i + 1];
  155590. thirdByte = buf[i + 2];
  155591. fourthByte = buf[i + 3];
  155592. if (
  155593. (secondByte & 0xc0) === 0x80 &&
  155594. (thirdByte & 0xc0) === 0x80 &&
  155595. (fourthByte & 0xc0) === 0x80
  155596. ) {
  155597. tempCodePoint =
  155598. ((firstByte & 0xf) << 0x12) |
  155599. ((secondByte & 0x3f) << 0xc) |
  155600. ((thirdByte & 0x3f) << 0x6) |
  155601. (fourthByte & 0x3f);
  155602. if (tempCodePoint > 0xffff && tempCodePoint < 0x110000) {
  155603. codePoint = tempCodePoint;
  155604. }
  155605. }
  155606. }
  155607. }
  155608. if (codePoint === null) {
  155609. // we did not generate a valid codePoint so insert a
  155610. // replacement char (U+FFFD) and advance only 1 byte
  155611. codePoint = 0xfffd;
  155612. bytesPerSequence = 1;
  155613. } else if (codePoint > 0xffff) {
  155614. // encode to utf16 (surrogate pair dance)
  155615. codePoint -= 0x10000;
  155616. res.push(((codePoint >>> 10) & 0x3ff) | 0xd800);
  155617. codePoint = 0xdc00 | (codePoint & 0x3ff);
  155618. }
  155619. res.push(codePoint);
  155620. i += bytesPerSequence;
  155621. }
  155622. return decodeCodePointsArray(res);
  155623. }
  155624. // Based on http://stackoverflow.com/a/22747272/680742, the browser with
  155625. // the lowest limit is Chrome, with 0x10000 args.
  155626. // We go 1 magnitude less, for safety
  155627. var MAX_ARGUMENTS_LENGTH = 0x1000;
  155628. function decodeCodePointsArray(codePoints) {
  155629. var len = codePoints.length;
  155630. if (len <= MAX_ARGUMENTS_LENGTH) {
  155631. return String.fromCharCode.apply(String, codePoints); // avoid extra slice()
  155632. }
  155633. // Decode in chunks to avoid "call stack size exceeded".
  155634. var res = "";
  155635. var i = 0;
  155636. while (i < len) {
  155637. res += String.fromCharCode.apply(
  155638. String,
  155639. codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH))
  155640. );
  155641. }
  155642. return res;
  155643. }
  155644. function asciiSlice(buf, start, end) {
  155645. var ret = "";
  155646. end = Math.min(buf.length, end);
  155647. for (var i = start; i < end; ++i) {
  155648. ret += String.fromCharCode(buf[i] & 0x7f);
  155649. }
  155650. return ret;
  155651. }
  155652. function latin1Slice(buf, start, end) {
  155653. var ret = "";
  155654. end = Math.min(buf.length, end);
  155655. for (var i = start; i < end; ++i) {
  155656. ret += String.fromCharCode(buf[i]);
  155657. }
  155658. return ret;
  155659. }
  155660. function hexSlice(buf, start, end) {
  155661. var len = buf.length;
  155662. if (!start || start < 0) start = 0;
  155663. if (!end || end < 0 || end > len) end = len;
  155664. var out = "";
  155665. for (var i = start; i < end; ++i) {
  155666. out += toHex(buf[i]);
  155667. }
  155668. return out;
  155669. }
  155670. function utf16leSlice(buf, start, end) {
  155671. var bytes = buf.slice(start, end);
  155672. var res = "";
  155673. for (var i = 0; i < bytes.length; i += 2) {
  155674. res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
  155675. }
  155676. return res;
  155677. }
  155678. Buffer.prototype.slice = function slice(start, end) {
  155679. var len = this.length;
  155680. start = ~~start;
  155681. end = end === undefined ? len : ~~end;
  155682. if (start < 0) {
  155683. start += len;
  155684. if (start < 0) start = 0;
  155685. } else if (start > len) {
  155686. start = len;
  155687. }
  155688. if (end < 0) {
  155689. end += len;
  155690. if (end < 0) end = 0;
  155691. } else if (end > len) {
  155692. end = len;
  155693. }
  155694. if (end < start) end = start;
  155695. var newBuf = this.subarray(start, end);
  155696. // Return an augmented `Uint8Array` instance
  155697. newBuf.__proto__ = Buffer.prototype;
  155698. return newBuf;
  155699. };
  155700. /*
  155701. * Need to make sure that buffer isn't trying to write out of bounds.
  155702. */
  155703. function checkOffset(offset, ext, length) {
  155704. if (offset % 1 !== 0 || offset < 0)
  155705. throw new RangeError("offset is not uint");
  155706. if (offset + ext > length)
  155707. throw new RangeError("Trying to access beyond buffer length");
  155708. }
  155709. Buffer.prototype.readUIntLE = function readUIntLE(
  155710. offset,
  155711. byteLength,
  155712. noAssert
  155713. ) {
  155714. offset = offset >>> 0;
  155715. byteLength = byteLength >>> 0;
  155716. if (!noAssert) checkOffset(offset, byteLength, this.length);
  155717. var val = this[offset];
  155718. var mul = 1;
  155719. var i = 0;
  155720. while (++i < byteLength && (mul *= 0x100)) {
  155721. val += this[offset + i] * mul;
  155722. }
  155723. return val;
  155724. };
  155725. Buffer.prototype.readUIntBE = function readUIntBE(
  155726. offset,
  155727. byteLength,
  155728. noAssert
  155729. ) {
  155730. offset = offset >>> 0;
  155731. byteLength = byteLength >>> 0;
  155732. if (!noAssert) {
  155733. checkOffset(offset, byteLength, this.length);
  155734. }
  155735. var val = this[offset + --byteLength];
  155736. var mul = 1;
  155737. while (byteLength > 0 && (mul *= 0x100)) {
  155738. val += this[offset + --byteLength] * mul;
  155739. }
  155740. return val;
  155741. };
  155742. Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
  155743. offset = offset >>> 0;
  155744. if (!noAssert) checkOffset(offset, 1, this.length);
  155745. return this[offset];
  155746. };
  155747. Buffer.prototype.readUInt16LE = function readUInt16LE(
  155748. offset,
  155749. noAssert
  155750. ) {
  155751. offset = offset >>> 0;
  155752. if (!noAssert) checkOffset(offset, 2, this.length);
  155753. return this[offset] | (this[offset + 1] << 8);
  155754. };
  155755. Buffer.prototype.readUInt16BE = function readUInt16BE(
  155756. offset,
  155757. noAssert
  155758. ) {
  155759. offset = offset >>> 0;
  155760. if (!noAssert) checkOffset(offset, 2, this.length);
  155761. return (this[offset] << 8) | this[offset + 1];
  155762. };
  155763. Buffer.prototype.readUInt32LE = function readUInt32LE(
  155764. offset,
  155765. noAssert
  155766. ) {
  155767. offset = offset >>> 0;
  155768. if (!noAssert) checkOffset(offset, 4, this.length);
  155769. return (
  155770. (this[offset] |
  155771. (this[offset + 1] << 8) |
  155772. (this[offset + 2] << 16)) +
  155773. this[offset + 3] * 0x1000000
  155774. );
  155775. };
  155776. Buffer.prototype.readUInt32BE = function readUInt32BE(
  155777. offset,
  155778. noAssert
  155779. ) {
  155780. offset = offset >>> 0;
  155781. if (!noAssert) checkOffset(offset, 4, this.length);
  155782. return (
  155783. this[offset] * 0x1000000 +
  155784. ((this[offset + 1] << 16) |
  155785. (this[offset + 2] << 8) |
  155786. this[offset + 3])
  155787. );
  155788. };
  155789. Buffer.prototype.readIntLE = function readIntLE(
  155790. offset,
  155791. byteLength,
  155792. noAssert
  155793. ) {
  155794. offset = offset >>> 0;
  155795. byteLength = byteLength >>> 0;
  155796. if (!noAssert) checkOffset(offset, byteLength, this.length);
  155797. var val = this[offset];
  155798. var mul = 1;
  155799. var i = 0;
  155800. while (++i < byteLength && (mul *= 0x100)) {
  155801. val += this[offset + i] * mul;
  155802. }
  155803. mul *= 0x80;
  155804. if (val >= mul) val -= Math.pow(2, 8 * byteLength);
  155805. return val;
  155806. };
  155807. Buffer.prototype.readIntBE = function readIntBE(
  155808. offset,
  155809. byteLength,
  155810. noAssert
  155811. ) {
  155812. offset = offset >>> 0;
  155813. byteLength = byteLength >>> 0;
  155814. if (!noAssert) checkOffset(offset, byteLength, this.length);
  155815. var i = byteLength;
  155816. var mul = 1;
  155817. var val = this[offset + --i];
  155818. while (i > 0 && (mul *= 0x100)) {
  155819. val += this[offset + --i] * mul;
  155820. }
  155821. mul *= 0x80;
  155822. if (val >= mul) val -= Math.pow(2, 8 * byteLength);
  155823. return val;
  155824. };
  155825. Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
  155826. offset = offset >>> 0;
  155827. if (!noAssert) checkOffset(offset, 1, this.length);
  155828. if (!(this[offset] & 0x80)) return this[offset];
  155829. return (0xff - this[offset] + 1) * -1;
  155830. };
  155831. Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
  155832. offset = offset >>> 0;
  155833. if (!noAssert) checkOffset(offset, 2, this.length);
  155834. var val = this[offset] | (this[offset + 1] << 8);
  155835. return val & 0x8000 ? val | 0xffff0000 : val;
  155836. };
  155837. Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
  155838. offset = offset >>> 0;
  155839. if (!noAssert) checkOffset(offset, 2, this.length);
  155840. var val = this[offset + 1] | (this[offset] << 8);
  155841. return val & 0x8000 ? val | 0xffff0000 : val;
  155842. };
  155843. Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
  155844. offset = offset >>> 0;
  155845. if (!noAssert) checkOffset(offset, 4, this.length);
  155846. return (
  155847. this[offset] |
  155848. (this[offset + 1] << 8) |
  155849. (this[offset + 2] << 16) |
  155850. (this[offset + 3] << 24)
  155851. );
  155852. };
  155853. Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
  155854. offset = offset >>> 0;
  155855. if (!noAssert) checkOffset(offset, 4, this.length);
  155856. return (
  155857. (this[offset] << 24) |
  155858. (this[offset + 1] << 16) |
  155859. (this[offset + 2] << 8) |
  155860. this[offset + 3]
  155861. );
  155862. };
  155863. Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
  155864. offset = offset >>> 0;
  155865. if (!noAssert) checkOffset(offset, 4, this.length);
  155866. return ieee754.read(this, offset, true, 23, 4);
  155867. };
  155868. Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
  155869. offset = offset >>> 0;
  155870. if (!noAssert) checkOffset(offset, 4, this.length);
  155871. return ieee754.read(this, offset, false, 23, 4);
  155872. };
  155873. Buffer.prototype.readDoubleLE = function readDoubleLE(
  155874. offset,
  155875. noAssert
  155876. ) {
  155877. offset = offset >>> 0;
  155878. if (!noAssert) checkOffset(offset, 8, this.length);
  155879. return ieee754.read(this, offset, true, 52, 8);
  155880. };
  155881. Buffer.prototype.readDoubleBE = function readDoubleBE(
  155882. offset,
  155883. noAssert
  155884. ) {
  155885. offset = offset >>> 0;
  155886. if (!noAssert) checkOffset(offset, 8, this.length);
  155887. return ieee754.read(this, offset, false, 52, 8);
  155888. };
  155889. function checkInt(buf, value, offset, ext, max, min) {
  155890. if (!Buffer.isBuffer(buf))
  155891. throw new TypeError('"buffer" argument must be a Buffer instance');
  155892. if (value > max || value < min)
  155893. throw new RangeError('"value" argument is out of bounds');
  155894. if (offset + ext > buf.length)
  155895. throw new RangeError("Index out of range");
  155896. }
  155897. Buffer.prototype.writeUIntLE = function writeUIntLE(
  155898. value,
  155899. offset,
  155900. byteLength,
  155901. noAssert
  155902. ) {
  155903. value = +value;
  155904. offset = offset >>> 0;
  155905. byteLength = byteLength >>> 0;
  155906. if (!noAssert) {
  155907. var maxBytes = Math.pow(2, 8 * byteLength) - 1;
  155908. checkInt(this, value, offset, byteLength, maxBytes, 0);
  155909. }
  155910. var mul = 1;
  155911. var i = 0;
  155912. this[offset] = value & 0xff;
  155913. while (++i < byteLength && (mul *= 0x100)) {
  155914. this[offset + i] = (value / mul) & 0xff;
  155915. }
  155916. return offset + byteLength;
  155917. };
  155918. Buffer.prototype.writeUIntBE = function writeUIntBE(
  155919. value,
  155920. offset,
  155921. byteLength,
  155922. noAssert
  155923. ) {
  155924. value = +value;
  155925. offset = offset >>> 0;
  155926. byteLength = byteLength >>> 0;
  155927. if (!noAssert) {
  155928. var maxBytes = Math.pow(2, 8 * byteLength) - 1;
  155929. checkInt(this, value, offset, byteLength, maxBytes, 0);
  155930. }
  155931. var i = byteLength - 1;
  155932. var mul = 1;
  155933. this[offset + i] = value & 0xff;
  155934. while (--i >= 0 && (mul *= 0x100)) {
  155935. this[offset + i] = (value / mul) & 0xff;
  155936. }
  155937. return offset + byteLength;
  155938. };
  155939. Buffer.prototype.writeUInt8 = function writeUInt8(
  155940. value,
  155941. offset,
  155942. noAssert
  155943. ) {
  155944. value = +value;
  155945. offset = offset >>> 0;
  155946. if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
  155947. this[offset] = value & 0xff;
  155948. return offset + 1;
  155949. };
  155950. Buffer.prototype.writeUInt16LE = function writeUInt16LE(
  155951. value,
  155952. offset,
  155953. noAssert
  155954. ) {
  155955. value = +value;
  155956. offset = offset >>> 0;
  155957. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
  155958. this[offset] = value & 0xff;
  155959. this[offset + 1] = value >>> 8;
  155960. return offset + 2;
  155961. };
  155962. Buffer.prototype.writeUInt16BE = function writeUInt16BE(
  155963. value,
  155964. offset,
  155965. noAssert
  155966. ) {
  155967. value = +value;
  155968. offset = offset >>> 0;
  155969. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
  155970. this[offset] = value >>> 8;
  155971. this[offset + 1] = value & 0xff;
  155972. return offset + 2;
  155973. };
  155974. Buffer.prototype.writeUInt32LE = function writeUInt32LE(
  155975. value,
  155976. offset,
  155977. noAssert
  155978. ) {
  155979. value = +value;
  155980. offset = offset >>> 0;
  155981. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
  155982. this[offset + 3] = value >>> 24;
  155983. this[offset + 2] = value >>> 16;
  155984. this[offset + 1] = value >>> 8;
  155985. this[offset] = value & 0xff;
  155986. return offset + 4;
  155987. };
  155988. Buffer.prototype.writeUInt32BE = function writeUInt32BE(
  155989. value,
  155990. offset,
  155991. noAssert
  155992. ) {
  155993. value = +value;
  155994. offset = offset >>> 0;
  155995. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
  155996. this[offset] = value >>> 24;
  155997. this[offset + 1] = value >>> 16;
  155998. this[offset + 2] = value >>> 8;
  155999. this[offset + 3] = value & 0xff;
  156000. return offset + 4;
  156001. };
  156002. Buffer.prototype.writeIntLE = function writeIntLE(
  156003. value,
  156004. offset,
  156005. byteLength,
  156006. noAssert
  156007. ) {
  156008. value = +value;
  156009. offset = offset >>> 0;
  156010. if (!noAssert) {
  156011. var limit = Math.pow(2, 8 * byteLength - 1);
  156012. checkInt(this, value, offset, byteLength, limit - 1, -limit);
  156013. }
  156014. var i = 0;
  156015. var mul = 1;
  156016. var sub = 0;
  156017. this[offset] = value & 0xff;
  156018. while (++i < byteLength && (mul *= 0x100)) {
  156019. if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
  156020. sub = 1;
  156021. }
  156022. this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;
  156023. }
  156024. return offset + byteLength;
  156025. };
  156026. Buffer.prototype.writeIntBE = function writeIntBE(
  156027. value,
  156028. offset,
  156029. byteLength,
  156030. noAssert
  156031. ) {
  156032. value = +value;
  156033. offset = offset >>> 0;
  156034. if (!noAssert) {
  156035. var limit = Math.pow(2, 8 * byteLength - 1);
  156036. checkInt(this, value, offset, byteLength, limit - 1, -limit);
  156037. }
  156038. var i = byteLength - 1;
  156039. var mul = 1;
  156040. var sub = 0;
  156041. this[offset + i] = value & 0xff;
  156042. while (--i >= 0 && (mul *= 0x100)) {
  156043. if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
  156044. sub = 1;
  156045. }
  156046. this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;
  156047. }
  156048. return offset + byteLength;
  156049. };
  156050. Buffer.prototype.writeInt8 = function writeInt8(
  156051. value,
  156052. offset,
  156053. noAssert
  156054. ) {
  156055. value = +value;
  156056. offset = offset >>> 0;
  156057. if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);
  156058. if (value < 0) value = 0xff + value + 1;
  156059. this[offset] = value & 0xff;
  156060. return offset + 1;
  156061. };
  156062. Buffer.prototype.writeInt16LE = function writeInt16LE(
  156063. value,
  156064. offset,
  156065. noAssert
  156066. ) {
  156067. value = +value;
  156068. offset = offset >>> 0;
  156069. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
  156070. this[offset] = value & 0xff;
  156071. this[offset + 1] = value >>> 8;
  156072. return offset + 2;
  156073. };
  156074. Buffer.prototype.writeInt16BE = function writeInt16BE(
  156075. value,
  156076. offset,
  156077. noAssert
  156078. ) {
  156079. value = +value;
  156080. offset = offset >>> 0;
  156081. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
  156082. this[offset] = value >>> 8;
  156083. this[offset + 1] = value & 0xff;
  156084. return offset + 2;
  156085. };
  156086. Buffer.prototype.writeInt32LE = function writeInt32LE(
  156087. value,
  156088. offset,
  156089. noAssert
  156090. ) {
  156091. value = +value;
  156092. offset = offset >>> 0;
  156093. if (!noAssert)
  156094. checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
  156095. this[offset] = value & 0xff;
  156096. this[offset + 1] = value >>> 8;
  156097. this[offset + 2] = value >>> 16;
  156098. this[offset + 3] = value >>> 24;
  156099. return offset + 4;
  156100. };
  156101. Buffer.prototype.writeInt32BE = function writeInt32BE(
  156102. value,
  156103. offset,
  156104. noAssert
  156105. ) {
  156106. value = +value;
  156107. offset = offset >>> 0;
  156108. if (!noAssert)
  156109. checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
  156110. if (value < 0) value = 0xffffffff + value + 1;
  156111. this[offset] = value >>> 24;
  156112. this[offset + 1] = value >>> 16;
  156113. this[offset + 2] = value >>> 8;
  156114. this[offset + 3] = value & 0xff;
  156115. return offset + 4;
  156116. };
  156117. function checkIEEE754(buf, value, offset, ext, max, min) {
  156118. if (offset + ext > buf.length)
  156119. throw new RangeError("Index out of range");
  156120. if (offset < 0) throw new RangeError("Index out of range");
  156121. }
  156122. function writeFloat(buf, value, offset, littleEndian, noAssert) {
  156123. value = +value;
  156124. offset = offset >>> 0;
  156125. if (!noAssert) {
  156126. checkIEEE754(
  156127. buf,
  156128. value,
  156129. offset,
  156130. 4,
  156131. 3.4028234663852886e38,
  156132. -3.4028234663852886e38
  156133. );
  156134. }
  156135. ieee754.write(buf, value, offset, littleEndian, 23, 4);
  156136. return offset + 4;
  156137. }
  156138. Buffer.prototype.writeFloatLE = function writeFloatLE(
  156139. value,
  156140. offset,
  156141. noAssert
  156142. ) {
  156143. return writeFloat(this, value, offset, true, noAssert);
  156144. };
  156145. Buffer.prototype.writeFloatBE = function writeFloatBE(
  156146. value,
  156147. offset,
  156148. noAssert
  156149. ) {
  156150. return writeFloat(this, value, offset, false, noAssert);
  156151. };
  156152. function writeDouble(buf, value, offset, littleEndian, noAssert) {
  156153. value = +value;
  156154. offset = offset >>> 0;
  156155. if (!noAssert) {
  156156. checkIEEE754(
  156157. buf,
  156158. value,
  156159. offset,
  156160. 8,
  156161. 1.7976931348623157e308,
  156162. -1.7976931348623157e308
  156163. );
  156164. }
  156165. ieee754.write(buf, value, offset, littleEndian, 52, 8);
  156166. return offset + 8;
  156167. }
  156168. Buffer.prototype.writeDoubleLE = function writeDoubleLE(
  156169. value,
  156170. offset,
  156171. noAssert
  156172. ) {
  156173. return writeDouble(this, value, offset, true, noAssert);
  156174. };
  156175. Buffer.prototype.writeDoubleBE = function writeDoubleBE(
  156176. value,
  156177. offset,
  156178. noAssert
  156179. ) {
  156180. return writeDouble(this, value, offset, false, noAssert);
  156181. };
  156182. // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
  156183. Buffer.prototype.copy = function copy(target, targetStart, start, end) {
  156184. if (!start) start = 0;
  156185. if (!end && end !== 0) end = this.length;
  156186. if (targetStart >= target.length) targetStart = target.length;
  156187. if (!targetStart) targetStart = 0;
  156188. if (end > 0 && end < start) end = start;
  156189. // Copy 0 bytes; we're done
  156190. if (end === start) return 0;
  156191. if (target.length === 0 || this.length === 0) return 0;
  156192. // Fatal error conditions
  156193. if (targetStart < 0) {
  156194. throw new RangeError("targetStart out of bounds");
  156195. }
  156196. if (start < 0 || start >= this.length)
  156197. throw new RangeError("sourceStart out of bounds");
  156198. if (end < 0) throw new RangeError("sourceEnd out of bounds");
  156199. // Are we oob?
  156200. if (end > this.length) end = this.length;
  156201. if (target.length - targetStart < end - start) {
  156202. end = target.length - targetStart + start;
  156203. }
  156204. var len = end - start;
  156205. var i;
  156206. if (this === target && start < targetStart && targetStart < end) {
  156207. // descending copy from end
  156208. for (i = len - 1; i >= 0; --i) {
  156209. target[i + targetStart] = this[i + start];
  156210. }
  156211. } else if (len < 1000) {
  156212. // ascending copy from start
  156213. for (i = 0; i < len; ++i) {
  156214. target[i + targetStart] = this[i + start];
  156215. }
  156216. } else {
  156217. Uint8Array.prototype.set.call(
  156218. target,
  156219. this.subarray(start, start + len),
  156220. targetStart
  156221. );
  156222. }
  156223. return len;
  156224. };
  156225. // Usage:
  156226. // buffer.fill(number[, offset[, end]])
  156227. // buffer.fill(buffer[, offset[, end]])
  156228. // buffer.fill(string[, offset[, end]][, encoding])
  156229. Buffer.prototype.fill = function fill(val, start, end, encoding) {
  156230. // Handle string cases:
  156231. if (typeof val === "string") {
  156232. if (typeof start === "string") {
  156233. encoding = start;
  156234. start = 0;
  156235. end = this.length;
  156236. } else if (typeof end === "string") {
  156237. encoding = end;
  156238. end = this.length;
  156239. }
  156240. if (val.length === 1) {
  156241. var code = val.charCodeAt(0);
  156242. if (code < 256) {
  156243. val = code;
  156244. }
  156245. }
  156246. if (encoding !== undefined && typeof encoding !== "string") {
  156247. throw new TypeError("encoding must be a string");
  156248. }
  156249. if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) {
  156250. throw new TypeError("Unknown encoding: " + encoding);
  156251. }
  156252. } else if (typeof val === "number") {
  156253. val = val & 255;
  156254. }
  156255. // Invalid ranges are not set to a default, so can range check early.
  156256. if (start < 0 || this.length < start || this.length < end) {
  156257. throw new RangeError("Out of range index");
  156258. }
  156259. if (end <= start) {
  156260. return this;
  156261. }
  156262. start = start >>> 0;
  156263. end = end === undefined ? this.length : end >>> 0;
  156264. if (!val) val = 0;
  156265. var i;
  156266. if (typeof val === "number") {
  156267. for (i = start; i < end; ++i) {
  156268. this[i] = val;
  156269. }
  156270. } else {
  156271. var bytes = Buffer.isBuffer(val) ? val : new Buffer(val, encoding);
  156272. var len = bytes.length;
  156273. for (i = 0; i < end - start; ++i) {
  156274. this[i + start] = bytes[i % len];
  156275. }
  156276. }
  156277. return this;
  156278. };
  156279. // HELPER FUNCTIONS
  156280. // ================
  156281. var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
  156282. function base64clean(str) {
  156283. // Node strips out invalid characters like \n and \t from the string, base64-js does not
  156284. str = str.trim().replace(INVALID_BASE64_RE, "");
  156285. // Node converts strings with length < 2 to ''
  156286. if (str.length < 2) return "";
  156287. // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
  156288. while (str.length % 4 !== 0) {
  156289. str = str + "=";
  156290. }
  156291. return str;
  156292. }
  156293. function toHex(n) {
  156294. if (n < 16) return "0" + n.toString(16);
  156295. return n.toString(16);
  156296. }
  156297. function utf8ToBytes(string, units) {
  156298. units = units || Infinity;
  156299. var codePoint;
  156300. var length = string.length;
  156301. var leadSurrogate = null;
  156302. var bytes = [];
  156303. for (var i = 0; i < length; ++i) {
  156304. codePoint = string.charCodeAt(i);
  156305. // is surrogate component
  156306. if (codePoint > 0xd7ff && codePoint < 0xe000) {
  156307. // last char was a lead
  156308. if (!leadSurrogate) {
  156309. // no lead yet
  156310. if (codePoint > 0xdbff) {
  156311. // unexpected trail
  156312. if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
  156313. continue;
  156314. } else if (i + 1 === length) {
  156315. // unpaired lead
  156316. if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
  156317. continue;
  156318. }
  156319. // valid lead
  156320. leadSurrogate = codePoint;
  156321. continue;
  156322. }
  156323. // 2 leads in a row
  156324. if (codePoint < 0xdc00) {
  156325. if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
  156326. leadSurrogate = codePoint;
  156327. continue;
  156328. }
  156329. // valid surrogate pair
  156330. codePoint =
  156331. (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +
  156332. 0x10000;
  156333. } else if (leadSurrogate) {
  156334. // valid bmp char, but last char was a lead
  156335. if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
  156336. }
  156337. leadSurrogate = null;
  156338. // encode utf8
  156339. if (codePoint < 0x80) {
  156340. if ((units -= 1) < 0) break;
  156341. bytes.push(codePoint);
  156342. } else if (codePoint < 0x800) {
  156343. if ((units -= 2) < 0) break;
  156344. bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80);
  156345. } else if (codePoint < 0x10000) {
  156346. if ((units -= 3) < 0) break;
  156347. bytes.push(
  156348. (codePoint >> 0xc) | 0xe0,
  156349. ((codePoint >> 0x6) & 0x3f) | 0x80,
  156350. (codePoint & 0x3f) | 0x80
  156351. );
  156352. } else if (codePoint < 0x110000) {
  156353. if ((units -= 4) < 0) break;
  156354. bytes.push(
  156355. (codePoint >> 0x12) | 0xf0,
  156356. ((codePoint >> 0xc) & 0x3f) | 0x80,
  156357. ((codePoint >> 0x6) & 0x3f) | 0x80,
  156358. (codePoint & 0x3f) | 0x80
  156359. );
  156360. } else {
  156361. throw new Error("Invalid code point");
  156362. }
  156363. }
  156364. return bytes;
  156365. }
  156366. function asciiToBytes(str) {
  156367. var byteArray = [];
  156368. for (var i = 0; i < str.length; ++i) {
  156369. // Node's code seems to be doing this and not & 0x7F..
  156370. byteArray.push(str.charCodeAt(i) & 0xff);
  156371. }
  156372. return byteArray;
  156373. }
  156374. function utf16leToBytes(str, units) {
  156375. var c, hi, lo;
  156376. var byteArray = [];
  156377. for (var i = 0; i < str.length; ++i) {
  156378. if ((units -= 2) < 0) break;
  156379. c = str.charCodeAt(i);
  156380. hi = c >> 8;
  156381. lo = c % 256;
  156382. byteArray.push(lo);
  156383. byteArray.push(hi);
  156384. }
  156385. return byteArray;
  156386. }
  156387. function base64ToBytes(str) {
  156388. return base64.toByteArray(base64clean(str));
  156389. }
  156390. function blitBuffer(src, dst, offset, length) {
  156391. for (var i = 0; i < length; ++i) {
  156392. if (i + offset >= dst.length || i >= src.length) break;
  156393. dst[i + offset] = src[i];
  156394. }
  156395. return i;
  156396. }
  156397. // ArrayBuffers from another context (i.e. an iframe) do not pass the `instanceof` check
  156398. // but they should be treated as valid. See: https://github.com/feross/buffer/issues/166
  156399. function isArrayBuffer(obj) {
  156400. return (
  156401. obj instanceof ArrayBuffer ||
  156402. (obj != null &&
  156403. obj.constructor != null &&
  156404. obj.constructor.name === "ArrayBuffer" &&
  156405. typeof obj.byteLength === "number")
  156406. );
  156407. }
  156408. // Node 0.10 supports `ArrayBuffer` but lacks `ArrayBuffer.isView`
  156409. function isArrayBufferView(obj) {
  156410. return (
  156411. typeof ArrayBuffer.isView === "function" && ArrayBuffer.isView(obj)
  156412. );
  156413. }
  156414. function numberIsNaN(obj) {
  156415. return obj !== obj; // eslint-disable-line no-self-compare
  156416. }
  156417. },
  156418. { "base64-js": 24, ieee754: 106 },
  156419. ],
  156420. 55: [
  156421. function (require, module, exports) {
  156422. var Buffer = require("safe-buffer").Buffer;
  156423. var Transform = require("stream").Transform;
  156424. var StringDecoder = require("string_decoder").StringDecoder;
  156425. var inherits = require("inherits");
  156426. function CipherBase(hashMode) {
  156427. Transform.call(this);
  156428. this.hashMode = typeof hashMode === "string";
  156429. if (this.hashMode) {
  156430. this[hashMode] = this._finalOrDigest;
  156431. } else {
  156432. this.final = this._finalOrDigest;
  156433. }
  156434. if (this._final) {
  156435. this.__final = this._final;
  156436. this._final = null;
  156437. }
  156438. this._decoder = null;
  156439. this._encoding = null;
  156440. }
  156441. inherits(CipherBase, Transform);
  156442. CipherBase.prototype.update = function (data, inputEnc, outputEnc) {
  156443. if (typeof data === "string") {
  156444. data = Buffer.from(data, inputEnc);
  156445. }
  156446. var outData = this._update(data);
  156447. if (this.hashMode) return this;
  156448. if (outputEnc) {
  156449. outData = this._toString(outData, outputEnc);
  156450. }
  156451. return outData;
  156452. };
  156453. CipherBase.prototype.setAutoPadding = function () {};
  156454. CipherBase.prototype.getAuthTag = function () {
  156455. throw new Error("trying to get auth tag in unsupported state");
  156456. };
  156457. CipherBase.prototype.setAuthTag = function () {
  156458. throw new Error("trying to set auth tag in unsupported state");
  156459. };
  156460. CipherBase.prototype.setAAD = function () {
  156461. throw new Error("trying to set aad in unsupported state");
  156462. };
  156463. CipherBase.prototype._transform = function (data, _, next) {
  156464. var err;
  156465. try {
  156466. if (this.hashMode) {
  156467. this._update(data);
  156468. } else {
  156469. this.push(this._update(data));
  156470. }
  156471. } catch (e) {
  156472. err = e;
  156473. } finally {
  156474. next(err);
  156475. }
  156476. };
  156477. CipherBase.prototype._flush = function (done) {
  156478. var err;
  156479. try {
  156480. this.push(this.__final());
  156481. } catch (e) {
  156482. err = e;
  156483. }
  156484. done(err);
  156485. };
  156486. CipherBase.prototype._finalOrDigest = function (outputEnc) {
  156487. var outData = this.__final() || Buffer.alloc(0);
  156488. if (outputEnc) {
  156489. outData = this._toString(outData, outputEnc, true);
  156490. }
  156491. return outData;
  156492. };
  156493. CipherBase.prototype._toString = function (value, enc, fin) {
  156494. if (!this._decoder) {
  156495. this._decoder = new StringDecoder(enc);
  156496. this._encoding = enc;
  156497. }
  156498. if (this._encoding !== enc) throw new Error("can't switch encodings");
  156499. var out = this._decoder.write(value);
  156500. if (fin) {
  156501. out += this._decoder.end();
  156502. }
  156503. return out;
  156504. };
  156505. module.exports = CipherBase;
  156506. },
  156507. { inherits: 108, "safe-buffer": 148, stream: 157, string_decoder: 158 },
  156508. ],
  156509. 56: [
  156510. function (require, module, exports) {
  156511. (function (Buffer) {
  156512. // Copyright Joyent, Inc. and other Node contributors.
  156513. //
  156514. // Permission is hereby granted, free of charge, to any person obtaining a
  156515. // copy of this software and associated documentation files (the
  156516. // "Software"), to deal in the Software without restriction, including
  156517. // without limitation the rights to use, copy, modify, merge, publish,
  156518. // distribute, sublicense, and/or sell copies of the Software, and to permit
  156519. // persons to whom the Software is furnished to do so, subject to the
  156520. // following conditions:
  156521. //
  156522. // The above copyright notice and this permission notice shall be included
  156523. // in all copies or substantial portions of the Software.
  156524. //
  156525. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  156526. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  156527. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  156528. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  156529. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  156530. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  156531. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  156532. // NOTE: These type checking functions intentionally don't use `instanceof`
  156533. // because it is fragile and can be easily faked with `Object.create()`.
  156534. function isArray(arg) {
  156535. if (Array.isArray) {
  156536. return Array.isArray(arg);
  156537. }
  156538. return objectToString(arg) === "[object Array]";
  156539. }
  156540. exports.isArray = isArray;
  156541. function isBoolean(arg) {
  156542. return typeof arg === "boolean";
  156543. }
  156544. exports.isBoolean = isBoolean;
  156545. function isNull(arg) {
  156546. return arg === null;
  156547. }
  156548. exports.isNull = isNull;
  156549. function isNullOrUndefined(arg) {
  156550. return arg == null;
  156551. }
  156552. exports.isNullOrUndefined = isNullOrUndefined;
  156553. function isNumber(arg) {
  156554. return typeof arg === "number";
  156555. }
  156556. exports.isNumber = isNumber;
  156557. function isString(arg) {
  156558. return typeof arg === "string";
  156559. }
  156560. exports.isString = isString;
  156561. function isSymbol(arg) {
  156562. return typeof arg === "symbol";
  156563. }
  156564. exports.isSymbol = isSymbol;
  156565. function isUndefined(arg) {
  156566. return arg === void 0;
  156567. }
  156568. exports.isUndefined = isUndefined;
  156569. function isRegExp(re) {
  156570. return objectToString(re) === "[object RegExp]";
  156571. }
  156572. exports.isRegExp = isRegExp;
  156573. function isObject(arg) {
  156574. return typeof arg === "object" && arg !== null;
  156575. }
  156576. exports.isObject = isObject;
  156577. function isDate(d) {
  156578. return objectToString(d) === "[object Date]";
  156579. }
  156580. exports.isDate = isDate;
  156581. function isError(e) {
  156582. return objectToString(e) === "[object Error]" || e instanceof Error;
  156583. }
  156584. exports.isError = isError;
  156585. function isFunction(arg) {
  156586. return typeof arg === "function";
  156587. }
  156588. exports.isFunction = isFunction;
  156589. function isPrimitive(arg) {
  156590. return (
  156591. arg === null ||
  156592. typeof arg === "boolean" ||
  156593. typeof arg === "number" ||
  156594. typeof arg === "string" ||
  156595. typeof arg === "symbol" || // ES6 symbol
  156596. typeof arg === "undefined"
  156597. );
  156598. }
  156599. exports.isPrimitive = isPrimitive;
  156600. exports.isBuffer = Buffer.isBuffer;
  156601. function objectToString(o) {
  156602. return Object.prototype.toString.call(o);
  156603. }
  156604. }).call(this, { isBuffer: require("../../is-buffer/index.js") });
  156605. },
  156606. { "../../is-buffer/index.js": 109 },
  156607. ],
  156608. 57: [
  156609. function (require, module, exports) {
  156610. (function (Buffer) {
  156611. var elliptic = require("elliptic");
  156612. var BN = require("bn.js");
  156613. module.exports = function createECDH(curve) {
  156614. return new ECDH(curve);
  156615. };
  156616. var aliases = {
  156617. secp256k1: {
  156618. name: "secp256k1",
  156619. byteLength: 32,
  156620. },
  156621. secp224r1: {
  156622. name: "p224",
  156623. byteLength: 28,
  156624. },
  156625. prime256v1: {
  156626. name: "p256",
  156627. byteLength: 32,
  156628. },
  156629. prime192v1: {
  156630. name: "p192",
  156631. byteLength: 24,
  156632. },
  156633. ed25519: {
  156634. name: "ed25519",
  156635. byteLength: 32,
  156636. },
  156637. secp384r1: {
  156638. name: "p384",
  156639. byteLength: 48,
  156640. },
  156641. secp521r1: {
  156642. name: "p521",
  156643. byteLength: 66,
  156644. },
  156645. };
  156646. aliases.p224 = aliases.secp224r1;
  156647. aliases.p256 = aliases.secp256r1 = aliases.prime256v1;
  156648. aliases.p192 = aliases.secp192r1 = aliases.prime192v1;
  156649. aliases.p384 = aliases.secp384r1;
  156650. aliases.p521 = aliases.secp521r1;
  156651. function ECDH(curve) {
  156652. this.curveType = aliases[curve];
  156653. if (!this.curveType) {
  156654. this.curveType = {
  156655. name: curve,
  156656. };
  156657. }
  156658. this.curve = new elliptic.ec(this.curveType.name);
  156659. this.keys = void 0;
  156660. }
  156661. ECDH.prototype.generateKeys = function (enc, format) {
  156662. this.keys = this.curve.genKeyPair();
  156663. return this.getPublicKey(enc, format);
  156664. };
  156665. ECDH.prototype.computeSecret = function (other, inenc, enc) {
  156666. inenc = inenc || "utf8";
  156667. if (!Buffer.isBuffer(other)) {
  156668. other = new Buffer(other, inenc);
  156669. }
  156670. var otherPub = this.curve.keyFromPublic(other).getPublic();
  156671. var out = otherPub.mul(this.keys.getPrivate()).getX();
  156672. return formatReturnValue(out, enc, this.curveType.byteLength);
  156673. };
  156674. ECDH.prototype.getPublicKey = function (enc, format) {
  156675. var key = this.keys.getPublic(format === "compressed", true);
  156676. if (format === "hybrid") {
  156677. if (key[key.length - 1] % 2) {
  156678. key[0] = 7;
  156679. } else {
  156680. key[0] = 6;
  156681. }
  156682. }
  156683. return formatReturnValue(key, enc);
  156684. };
  156685. ECDH.prototype.getPrivateKey = function (enc) {
  156686. return formatReturnValue(this.keys.getPrivate(), enc);
  156687. };
  156688. ECDH.prototype.setPublicKey = function (pub, enc) {
  156689. enc = enc || "utf8";
  156690. if (!Buffer.isBuffer(pub)) {
  156691. pub = new Buffer(pub, enc);
  156692. }
  156693. this.keys._importPublic(pub);
  156694. return this;
  156695. };
  156696. ECDH.prototype.setPrivateKey = function (priv, enc) {
  156697. enc = enc || "utf8";
  156698. if (!Buffer.isBuffer(priv)) {
  156699. priv = new Buffer(priv, enc);
  156700. }
  156701. var _priv = new BN(priv);
  156702. _priv = _priv.toString(16);
  156703. this.keys._importPrivate(_priv);
  156704. return this;
  156705. };
  156706. function formatReturnValue(bn, enc, len) {
  156707. if (!Array.isArray(bn)) {
  156708. bn = bn.toArray();
  156709. }
  156710. var buf = new Buffer(bn);
  156711. if (len && buf.length < len) {
  156712. var zeros = new Buffer(len - buf.length);
  156713. zeros.fill(0);
  156714. buf = Buffer.concat([zeros, buf]);
  156715. }
  156716. if (!enc) {
  156717. return buf;
  156718. } else {
  156719. return buf.toString(enc);
  156720. }
  156721. }
  156722. }).call(this, require("buffer").Buffer);
  156723. },
  156724. { "bn.js": 25, buffer: 54, elliptic: 74 },
  156725. ],
  156726. 58: [
  156727. function (require, module, exports) {
  156728. (function (Buffer) {
  156729. "use strict";
  156730. var inherits = require("inherits");
  156731. var md5 = require("./md5.js");
  156732. var RIPEMD160 = require("ripemd160");
  156733. var sha = require("sha.js");
  156734. var Base = require("cipher-base");
  156735. function HashNoConstructor(hash) {
  156736. Base.call(this, "digest");
  156737. this._hash = hash;
  156738. this.buffers = [];
  156739. }
  156740. inherits(HashNoConstructor, Base);
  156741. HashNoConstructor.prototype._update = function (data) {
  156742. this.buffers.push(data);
  156743. };
  156744. HashNoConstructor.prototype._final = function () {
  156745. var buf = Buffer.concat(this.buffers);
  156746. var r = this._hash(buf);
  156747. this.buffers = null;
  156748. return r;
  156749. };
  156750. function Hash(hash) {
  156751. Base.call(this, "digest");
  156752. this._hash = hash;
  156753. }
  156754. inherits(Hash, Base);
  156755. Hash.prototype._update = function (data) {
  156756. this._hash.update(data);
  156757. };
  156758. Hash.prototype._final = function () {
  156759. return this._hash.digest();
  156760. };
  156761. module.exports = function createHash(alg) {
  156762. alg = alg.toLowerCase();
  156763. if (alg === "md5") return new HashNoConstructor(md5);
  156764. if (alg === "rmd160" || alg === "ripemd160")
  156765. return new Hash(new RIPEMD160());
  156766. return new Hash(sha(alg));
  156767. };
  156768. }).call(this, require("buffer").Buffer);
  156769. },
  156770. {
  156771. "./md5": 60,
  156772. buffer: 54,
  156773. "cipher-base": 55,
  156774. inherits: 108,
  156775. ripemd160: 147,
  156776. "sha.js": 150,
  156777. },
  156778. ],
  156779. 59: [
  156780. function (require, module, exports) {
  156781. (function (Buffer) {
  156782. "use strict";
  156783. var intSize = 4;
  156784. var zeroBuffer = new Buffer(intSize);
  156785. zeroBuffer.fill(0);
  156786. var charSize = 8;
  156787. var hashSize = 16;
  156788. function toArray(buf) {
  156789. if (buf.length % intSize !== 0) {
  156790. var len = buf.length + (intSize - (buf.length % intSize));
  156791. buf = Buffer.concat([buf, zeroBuffer], len);
  156792. }
  156793. var arr = new Array(buf.length >>> 2);
  156794. for (var i = 0, j = 0; i < buf.length; i += intSize, j++) {
  156795. arr[j] = buf.readInt32LE(i);
  156796. }
  156797. return arr;
  156798. }
  156799. module.exports = function hash(buf, fn) {
  156800. var arr = fn(toArray(buf), buf.length * charSize);
  156801. buf = new Buffer(hashSize);
  156802. for (var i = 0; i < arr.length; i++) {
  156803. buf.writeInt32LE(arr[i], i << 2, true);
  156804. }
  156805. return buf;
  156806. };
  156807. }).call(this, require("buffer").Buffer);
  156808. },
  156809. { buffer: 54 },
  156810. ],
  156811. 60: [
  156812. function (require, module, exports) {
  156813. "use strict";
  156814. /*
  156815. * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
  156816. * Digest Algorithm, as defined in RFC 1321.
  156817. * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
  156818. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  156819. * Distributed under the BSD License
  156820. * See http://pajhome.org.uk/crypt/md5 for more info.
  156821. */
  156822. var makeHash = require("./make-hash.js");
  156823. /*
  156824. * Calculate the MD5 of an array of little-endian words, and a bit length
  156825. */
  156826. function core_md5(x, len) {
  156827. /* append padding */
  156828. x[len >> 5] |= 0x80 << len % 32;
  156829. x[(((len + 64) >>> 9) << 4) + 14] = len;
  156830. var a = 1732584193;
  156831. var b = -271733879;
  156832. var c = -1732584194;
  156833. var d = 271733878;
  156834. for (var i = 0; i < x.length; i += 16) {
  156835. var olda = a;
  156836. var oldb = b;
  156837. var oldc = c;
  156838. var oldd = d;
  156839. a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
  156840. d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
  156841. c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
  156842. b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
  156843. a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
  156844. d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
  156845. c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
  156846. b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
  156847. a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
  156848. d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
  156849. c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
  156850. b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
  156851. a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
  156852. d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
  156853. c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
  156854. b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
  156855. a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
  156856. d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
  156857. c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
  156858. b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
  156859. a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
  156860. d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
  156861. c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
  156862. b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
  156863. a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
  156864. d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
  156865. c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
  156866. b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
  156867. a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
  156868. d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
  156869. c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
  156870. b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
  156871. a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
  156872. d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
  156873. c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
  156874. b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
  156875. a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
  156876. d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
  156877. c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
  156878. b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
  156879. a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
  156880. d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
  156881. c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
  156882. b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
  156883. a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
  156884. d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
  156885. c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
  156886. b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
  156887. a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
  156888. d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
  156889. c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
  156890. b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
  156891. a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
  156892. d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
  156893. c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
  156894. b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
  156895. a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
  156896. d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
  156897. c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
  156898. b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
  156899. a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
  156900. d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
  156901. c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
  156902. b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
  156903. a = safe_add(a, olda);
  156904. b = safe_add(b, oldb);
  156905. c = safe_add(c, oldc);
  156906. d = safe_add(d, oldd);
  156907. }
  156908. return [a, b, c, d];
  156909. }
  156910. /*
  156911. * These functions implement the four basic operations the algorithm uses.
  156912. */
  156913. function md5_cmn(q, a, b, x, s, t) {
  156914. return safe_add(
  156915. bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),
  156916. b
  156917. );
  156918. }
  156919. function md5_ff(a, b, c, d, x, s, t) {
  156920. return md5_cmn((b & c) | (~b & d), a, b, x, s, t);
  156921. }
  156922. function md5_gg(a, b, c, d, x, s, t) {
  156923. return md5_cmn((b & d) | (c & ~d), a, b, x, s, t);
  156924. }
  156925. function md5_hh(a, b, c, d, x, s, t) {
  156926. return md5_cmn(b ^ c ^ d, a, b, x, s, t);
  156927. }
  156928. function md5_ii(a, b, c, d, x, s, t) {
  156929. return md5_cmn(c ^ (b | ~d), a, b, x, s, t);
  156930. }
  156931. /*
  156932. * Add integers, wrapping at 2^32. This uses 16-bit operations internally
  156933. * to work around bugs in some JS interpreters.
  156934. */
  156935. function safe_add(x, y) {
  156936. var lsw = (x & 0xffff) + (y & 0xffff);
  156937. var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
  156938. return (msw << 16) | (lsw & 0xffff);
  156939. }
  156940. /*
  156941. * Bitwise rotate a 32-bit number to the left.
  156942. */
  156943. function bit_rol(num, cnt) {
  156944. return (num << cnt) | (num >>> (32 - cnt));
  156945. }
  156946. module.exports = function md5(buf) {
  156947. return makeHash(buf, core_md5);
  156948. };
  156949. },
  156950. { "./make-hash": 59 },
  156951. ],
  156952. 61: [
  156953. function (require, module, exports) {
  156954. "use strict";
  156955. var inherits = require("inherits");
  156956. var Legacy = require("./legacy.js");
  156957. var Base = require("cipher-base");
  156958. var Buffer = require("safe-buffer").Buffer;
  156959. var md5 = require("create-hash/md5");
  156960. var RIPEMD160 = require("ripemd160");
  156961. var sha = require("sha.js");
  156962. var ZEROS = Buffer.alloc(128);
  156963. function Hmac(alg, key) {
  156964. Base.call(this, "digest");
  156965. if (typeof key === "string") {
  156966. key = Buffer.from(key);
  156967. }
  156968. var blocksize = alg === "sha512" || alg === "sha384" ? 128 : 64;
  156969. this._alg = alg;
  156970. this._key = key;
  156971. if (key.length > blocksize) {
  156972. var hash = alg === "rmd160" ? new RIPEMD160() : sha(alg);
  156973. key = hash.update(key).digest();
  156974. } else if (key.length < blocksize) {
  156975. key = Buffer.concat([key, ZEROS], blocksize);
  156976. }
  156977. var ipad = (this._ipad = Buffer.allocUnsafe(blocksize));
  156978. var opad = (this._opad = Buffer.allocUnsafe(blocksize));
  156979. for (var i = 0; i < blocksize; i++) {
  156980. ipad[i] = key[i] ^ 0x36;
  156981. opad[i] = key[i] ^ 0x5c;
  156982. }
  156983. this._hash = alg === "rmd160" ? new RIPEMD160() : sha(alg);
  156984. this._hash.update(ipad);
  156985. }
  156986. inherits(Hmac, Base);
  156987. Hmac.prototype._update = function (data) {
  156988. this._hash.update(data);
  156989. };
  156990. Hmac.prototype._final = function () {
  156991. var h = this._hash.digest();
  156992. var hash = this._alg === "rmd160" ? new RIPEMD160() : sha(this._alg);
  156993. return hash.update(this._opad).update(h).digest();
  156994. };
  156995. module.exports = function createHmac(alg, key) {
  156996. alg = alg.toLowerCase();
  156997. if (alg === "rmd160" || alg === "ripemd160") {
  156998. return new Hmac("rmd160", key);
  156999. }
  157000. if (alg === "md5") {
  157001. return new Legacy(md5, key);
  157002. }
  157003. return new Hmac(alg, key);
  157004. };
  157005. },
  157006. {
  157007. "./legacy": 62,
  157008. "cipher-base": 55,
  157009. "create-hash/md5": 60,
  157010. inherits: 108,
  157011. ripemd160: 147,
  157012. "safe-buffer": 148,
  157013. "sha.js": 150,
  157014. },
  157015. ],
  157016. 62: [
  157017. function (require, module, exports) {
  157018. "use strict";
  157019. var inherits = require("inherits");
  157020. var Buffer = require("safe-buffer").Buffer;
  157021. var Base = require("cipher-base");
  157022. var ZEROS = Buffer.alloc(128);
  157023. var blocksize = 64;
  157024. function Hmac(alg, key) {
  157025. Base.call(this, "digest");
  157026. if (typeof key === "string") {
  157027. key = Buffer.from(key);
  157028. }
  157029. this._alg = alg;
  157030. this._key = key;
  157031. if (key.length > blocksize) {
  157032. key = alg(key);
  157033. } else if (key.length < blocksize) {
  157034. key = Buffer.concat([key, ZEROS], blocksize);
  157035. }
  157036. var ipad = (this._ipad = Buffer.allocUnsafe(blocksize));
  157037. var opad = (this._opad = Buffer.allocUnsafe(blocksize));
  157038. for (var i = 0; i < blocksize; i++) {
  157039. ipad[i] = key[i] ^ 0x36;
  157040. opad[i] = key[i] ^ 0x5c;
  157041. }
  157042. this._hash = [ipad];
  157043. }
  157044. inherits(Hmac, Base);
  157045. Hmac.prototype._update = function (data) {
  157046. this._hash.push(data);
  157047. };
  157048. Hmac.prototype._final = function () {
  157049. var h = this._alg(Buffer.concat(this._hash));
  157050. return this._alg(Buffer.concat([this._opad, h]));
  157051. };
  157052. module.exports = Hmac;
  157053. },
  157054. { "cipher-base": 55, inherits: 108, "safe-buffer": 148 },
  157055. ],
  157056. 63: [
  157057. function (require, module, exports) {
  157058. "use strict";
  157059. exports.randomBytes =
  157060. exports.rng =
  157061. exports.pseudoRandomBytes =
  157062. exports.prng =
  157063. require("randombytes");
  157064. exports.createHash = exports.Hash = require("create-hash");
  157065. exports.createHmac = exports.Hmac = require("create-hmac");
  157066. var algos = require("browserify-sign/algos");
  157067. var algoKeys = Object.keys(algos);
  157068. var hashes = [
  157069. "sha1",
  157070. "sha224",
  157071. "sha256",
  157072. "sha384",
  157073. "sha512",
  157074. "md5",
  157075. "rmd160",
  157076. ].concat(algoKeys);
  157077. exports.getHashes = function () {
  157078. return hashes;
  157079. };
  157080. var p = require("pbkdf2");
  157081. exports.pbkdf2 = p.pbkdf2;
  157082. exports.pbkdf2Sync = p.pbkdf2Sync;
  157083. var aes = require("browserify-cipher");
  157084. exports.Cipher = aes.Cipher;
  157085. exports.createCipher = aes.createCipher;
  157086. exports.Cipheriv = aes.Cipheriv;
  157087. exports.createCipheriv = aes.createCipheriv;
  157088. exports.Decipher = aes.Decipher;
  157089. exports.createDecipher = aes.createDecipher;
  157090. exports.Decipheriv = aes.Decipheriv;
  157091. exports.createDecipheriv = aes.createDecipheriv;
  157092. exports.getCiphers = aes.getCiphers;
  157093. exports.listCiphers = aes.listCiphers;
  157094. var dh = require("diffie-hellman");
  157095. exports.DiffieHellmanGroup = dh.DiffieHellmanGroup;
  157096. exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;
  157097. exports.getDiffieHellman = dh.getDiffieHellman;
  157098. exports.createDiffieHellman = dh.createDiffieHellman;
  157099. exports.DiffieHellman = dh.DiffieHellman;
  157100. var sign = require("browserify-sign");
  157101. exports.createSign = sign.createSign;
  157102. exports.Sign = sign.Sign;
  157103. exports.createVerify = sign.createVerify;
  157104. exports.Verify = sign.Verify;
  157105. exports.createECDH = require("create-ecdh");
  157106. var publicEncrypt = require("public-encrypt");
  157107. exports.publicEncrypt = publicEncrypt.publicEncrypt;
  157108. exports.privateEncrypt = publicEncrypt.privateEncrypt;
  157109. exports.publicDecrypt = publicEncrypt.publicDecrypt;
  157110. exports.privateDecrypt = publicEncrypt.privateDecrypt;
  157111. // the least I can do is make error messages for the rest of the node.js/crypto api.
  157112. // ;[
  157113. // 'createCredentials'
  157114. // ].forEach(function (name) {
  157115. // exports[name] = function () {
  157116. // throw new Error([
  157117. // 'sorry, ' + name + ' is not implemented yet',
  157118. // 'we accept pull requests',
  157119. // 'https://github.com/crypto-browserify/crypto-browserify'
  157120. // ].join('\n'))
  157121. // }
  157122. // })
  157123. exports.createCredentials = function () {
  157124. throw new Error(
  157125. [
  157126. "sorry, createCredentials is not implemented yet",
  157127. "we accept pull requests",
  157128. "https://github.com/crypto-browserify/crypto-browserify",
  157129. ].join("\n")
  157130. );
  157131. };
  157132. exports.constants = {
  157133. DH_CHECK_P_NOT_SAFE_PRIME: 2,
  157134. DH_CHECK_P_NOT_PRIME: 1,
  157135. DH_UNABLE_TO_CHECK_GENERATOR: 4,
  157136. DH_NOT_SUITABLE_GENERATOR: 8,
  157137. NPN_ENABLED: 1,
  157138. ALPN_ENABLED: 1,
  157139. RSA_PKCS1_PADDING: 1,
  157140. RSA_SSLV23_PADDING: 2,
  157141. RSA_NO_PADDING: 3,
  157142. RSA_PKCS1_OAEP_PADDING: 4,
  157143. RSA_X931_PADDING: 5,
  157144. RSA_PKCS1_PSS_PADDING: 6,
  157145. POINT_CONVERSION_COMPRESSED: 2,
  157146. POINT_CONVERSION_UNCOMPRESSED: 4,
  157147. POINT_CONVERSION_HYBRID: 6,
  157148. };
  157149. },
  157150. {
  157151. "browserify-cipher": 43,
  157152. "browserify-sign": 50,
  157153. "browserify-sign/algos": 47,
  157154. "create-ecdh": 57,
  157155. "create-hash": 58,
  157156. "create-hmac": 61,
  157157. "diffie-hellman": 70,
  157158. pbkdf2: 120,
  157159. "public-encrypt": 127,
  157160. randombytes: 133,
  157161. },
  157162. ],
  157163. 64: [
  157164. function (require, module, exports) {
  157165. "use strict";
  157166. exports.utils = require("./des/utils.js");
  157167. exports.Cipher = require("./des/cipher.js");
  157168. exports.DES = require("./des/des.js");
  157169. exports.CBC = require("./des/cbc.js");
  157170. exports.EDE = require("./des/ede.js");
  157171. },
  157172. {
  157173. "./des/cbc": 65,
  157174. "./des/cipher": 66,
  157175. "./des/des": 67,
  157176. "./des/ede": 68,
  157177. "./des/utils": 69,
  157178. },
  157179. ],
  157180. 65: [
  157181. function (require, module, exports) {
  157182. "use strict";
  157183. var assert = require("minimalistic-assert");
  157184. var inherits = require("inherits");
  157185. var proto = {};
  157186. function CBCState(iv) {
  157187. assert.equal(iv.length, 8, "Invalid IV length");
  157188. this.iv = new Array(8);
  157189. for (var i = 0; i < this.iv.length; i++) this.iv[i] = iv[i];
  157190. }
  157191. function instantiate(Base) {
  157192. function CBC(options) {
  157193. Base.call(this, options);
  157194. this._cbcInit();
  157195. }
  157196. inherits(CBC, Base);
  157197. var keys = Object.keys(proto);
  157198. for (var i = 0; i < keys.length; i++) {
  157199. var key = keys[i];
  157200. CBC.prototype[key] = proto[key];
  157201. }
  157202. CBC.create = function create(options) {
  157203. return new CBC(options);
  157204. };
  157205. return CBC;
  157206. }
  157207. exports.instantiate = instantiate;
  157208. proto._cbcInit = function _cbcInit() {
  157209. var state = new CBCState(this.options.iv);
  157210. this._cbcState = state;
  157211. };
  157212. proto._update = function _update(inp, inOff, out, outOff) {
  157213. var state = this._cbcState;
  157214. var superProto = this.constructor.super_.prototype;
  157215. var iv = state.iv;
  157216. if (this.type === "encrypt") {
  157217. for (var i = 0; i < this.blockSize; i++) iv[i] ^= inp[inOff + i];
  157218. superProto._update.call(this, iv, 0, out, outOff);
  157219. for (var i = 0; i < this.blockSize; i++) iv[i] = out[outOff + i];
  157220. } else {
  157221. superProto._update.call(this, inp, inOff, out, outOff);
  157222. for (var i = 0; i < this.blockSize; i++) out[outOff + i] ^= iv[i];
  157223. for (var i = 0; i < this.blockSize; i++) iv[i] = inp[inOff + i];
  157224. }
  157225. };
  157226. },
  157227. { inherits: 108, "minimalistic-assert": 112 },
  157228. ],
  157229. 66: [
  157230. function (require, module, exports) {
  157231. "use strict";
  157232. var assert = require("minimalistic-assert");
  157233. function Cipher(options) {
  157234. this.options = options;
  157235. this.type = this.options.type;
  157236. this.blockSize = 8;
  157237. this._init();
  157238. this.buffer = new Array(this.blockSize);
  157239. this.bufferOff = 0;
  157240. }
  157241. module.exports = Cipher;
  157242. Cipher.prototype._init = function _init() {
  157243. // Might be overrided
  157244. };
  157245. Cipher.prototype.update = function update(data) {
  157246. if (data.length === 0) return [];
  157247. if (this.type === "decrypt") return this._updateDecrypt(data);
  157248. else return this._updateEncrypt(data);
  157249. };
  157250. Cipher.prototype._buffer = function _buffer(data, off) {
  157251. // Append data to buffer
  157252. var min = Math.min(
  157253. this.buffer.length - this.bufferOff,
  157254. data.length - off
  157255. );
  157256. for (var i = 0; i < min; i++)
  157257. this.buffer[this.bufferOff + i] = data[off + i];
  157258. this.bufferOff += min;
  157259. // Shift next
  157260. return min;
  157261. };
  157262. Cipher.prototype._flushBuffer = function _flushBuffer(out, off) {
  157263. this._update(this.buffer, 0, out, off);
  157264. this.bufferOff = 0;
  157265. return this.blockSize;
  157266. };
  157267. Cipher.prototype._updateEncrypt = function _updateEncrypt(data) {
  157268. var inputOff = 0;
  157269. var outputOff = 0;
  157270. var count = ((this.bufferOff + data.length) / this.blockSize) | 0;
  157271. var out = new Array(count * this.blockSize);
  157272. if (this.bufferOff !== 0) {
  157273. inputOff += this._buffer(data, inputOff);
  157274. if (this.bufferOff === this.buffer.length)
  157275. outputOff += this._flushBuffer(out, outputOff);
  157276. }
  157277. // Write blocks
  157278. var max = data.length - ((data.length - inputOff) % this.blockSize);
  157279. for (; inputOff < max; inputOff += this.blockSize) {
  157280. this._update(data, inputOff, out, outputOff);
  157281. outputOff += this.blockSize;
  157282. }
  157283. // Queue rest
  157284. for (; inputOff < data.length; inputOff++, this.bufferOff++)
  157285. this.buffer[this.bufferOff] = data[inputOff];
  157286. return out;
  157287. };
  157288. Cipher.prototype._updateDecrypt = function _updateDecrypt(data) {
  157289. var inputOff = 0;
  157290. var outputOff = 0;
  157291. var count =
  157292. Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;
  157293. var out = new Array(count * this.blockSize);
  157294. // TODO(indutny): optimize it, this is far from optimal
  157295. for (; count > 0; count--) {
  157296. inputOff += this._buffer(data, inputOff);
  157297. outputOff += this._flushBuffer(out, outputOff);
  157298. }
  157299. // Buffer rest of the input
  157300. inputOff += this._buffer(data, inputOff);
  157301. return out;
  157302. };
  157303. Cipher.prototype.final = function final(buffer) {
  157304. var first;
  157305. if (buffer) first = this.update(buffer);
  157306. var last;
  157307. if (this.type === "encrypt") last = this._finalEncrypt();
  157308. else last = this._finalDecrypt();
  157309. if (first) return first.concat(last);
  157310. else return last;
  157311. };
  157312. Cipher.prototype._pad = function _pad(buffer, off) {
  157313. if (off === 0) return false;
  157314. while (off < buffer.length) buffer[off++] = 0;
  157315. return true;
  157316. };
  157317. Cipher.prototype._finalEncrypt = function _finalEncrypt() {
  157318. if (!this._pad(this.buffer, this.bufferOff)) return [];
  157319. var out = new Array(this.blockSize);
  157320. this._update(this.buffer, 0, out, 0);
  157321. return out;
  157322. };
  157323. Cipher.prototype._unpad = function _unpad(buffer) {
  157324. return buffer;
  157325. };
  157326. Cipher.prototype._finalDecrypt = function _finalDecrypt() {
  157327. assert.equal(
  157328. this.bufferOff,
  157329. this.blockSize,
  157330. "Not enough data to decrypt"
  157331. );
  157332. var out = new Array(this.blockSize);
  157333. this._flushBuffer(out, 0);
  157334. return this._unpad(out);
  157335. };
  157336. },
  157337. { "minimalistic-assert": 112 },
  157338. ],
  157339. 67: [
  157340. function (require, module, exports) {
  157341. "use strict";
  157342. var assert = require("minimalistic-assert");
  157343. var inherits = require("inherits");
  157344. var des = require("../des.js");
  157345. var utils = des.utils;
  157346. var Cipher = des.Cipher;
  157347. function DESState() {
  157348. this.tmp = new Array(2);
  157349. this.keys = null;
  157350. }
  157351. function DES(options) {
  157352. Cipher.call(this, options);
  157353. var state = new DESState();
  157354. this._desState = state;
  157355. this.deriveKeys(state, options.key);
  157356. }
  157357. inherits(DES, Cipher);
  157358. module.exports = DES;
  157359. DES.create = function create(options) {
  157360. return new DES(options);
  157361. };
  157362. var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];
  157363. DES.prototype.deriveKeys = function deriveKeys(state, key) {
  157364. state.keys = new Array(16 * 2);
  157365. assert.equal(key.length, this.blockSize, "Invalid key length");
  157366. var kL = utils.readUInt32BE(key, 0);
  157367. var kR = utils.readUInt32BE(key, 4);
  157368. utils.pc1(kL, kR, state.tmp, 0);
  157369. kL = state.tmp[0];
  157370. kR = state.tmp[1];
  157371. for (var i = 0; i < state.keys.length; i += 2) {
  157372. var shift = shiftTable[i >>> 1];
  157373. kL = utils.r28shl(kL, shift);
  157374. kR = utils.r28shl(kR, shift);
  157375. utils.pc2(kL, kR, state.keys, i);
  157376. }
  157377. };
  157378. DES.prototype._update = function _update(inp, inOff, out, outOff) {
  157379. var state = this._desState;
  157380. var l = utils.readUInt32BE(inp, inOff);
  157381. var r = utils.readUInt32BE(inp, inOff + 4);
  157382. // Initial Permutation
  157383. utils.ip(l, r, state.tmp, 0);
  157384. l = state.tmp[0];
  157385. r = state.tmp[1];
  157386. if (this.type === "encrypt") this._encrypt(state, l, r, state.tmp, 0);
  157387. else this._decrypt(state, l, r, state.tmp, 0);
  157388. l = state.tmp[0];
  157389. r = state.tmp[1];
  157390. utils.writeUInt32BE(out, l, outOff);
  157391. utils.writeUInt32BE(out, r, outOff + 4);
  157392. };
  157393. DES.prototype._pad = function _pad(buffer, off) {
  157394. var value = buffer.length - off;
  157395. for (var i = off; i < buffer.length; i++) buffer[i] = value;
  157396. return true;
  157397. };
  157398. DES.prototype._unpad = function _unpad(buffer) {
  157399. var pad = buffer[buffer.length - 1];
  157400. for (var i = buffer.length - pad; i < buffer.length; i++)
  157401. assert.equal(buffer[i], pad);
  157402. return buffer.slice(0, buffer.length - pad);
  157403. };
  157404. DES.prototype._encrypt = function _encrypt(
  157405. state,
  157406. lStart,
  157407. rStart,
  157408. out,
  157409. off
  157410. ) {
  157411. var l = lStart;
  157412. var r = rStart;
  157413. // Apply f() x16 times
  157414. for (var i = 0; i < state.keys.length; i += 2) {
  157415. var keyL = state.keys[i];
  157416. var keyR = state.keys[i + 1];
  157417. // f(r, k)
  157418. utils.expand(r, state.tmp, 0);
  157419. keyL ^= state.tmp[0];
  157420. keyR ^= state.tmp[1];
  157421. var s = utils.substitute(keyL, keyR);
  157422. var f = utils.permute(s);
  157423. var t = r;
  157424. r = (l ^ f) >>> 0;
  157425. l = t;
  157426. }
  157427. // Reverse Initial Permutation
  157428. utils.rip(r, l, out, off);
  157429. };
  157430. DES.prototype._decrypt = function _decrypt(
  157431. state,
  157432. lStart,
  157433. rStart,
  157434. out,
  157435. off
  157436. ) {
  157437. var l = rStart;
  157438. var r = lStart;
  157439. // Apply f() x16 times
  157440. for (var i = state.keys.length - 2; i >= 0; i -= 2) {
  157441. var keyL = state.keys[i];
  157442. var keyR = state.keys[i + 1];
  157443. // f(r, k)
  157444. utils.expand(l, state.tmp, 0);
  157445. keyL ^= state.tmp[0];
  157446. keyR ^= state.tmp[1];
  157447. var s = utils.substitute(keyL, keyR);
  157448. var f = utils.permute(s);
  157449. var t = l;
  157450. l = (r ^ f) >>> 0;
  157451. r = t;
  157452. }
  157453. // Reverse Initial Permutation
  157454. utils.rip(l, r, out, off);
  157455. };
  157456. },
  157457. { "../des": 64, inherits: 108, "minimalistic-assert": 112 },
  157458. ],
  157459. 68: [
  157460. function (require, module, exports) {
  157461. "use strict";
  157462. var assert = require("minimalistic-assert");
  157463. var inherits = require("inherits");
  157464. var des = require("../des.js");
  157465. var Cipher = des.Cipher;
  157466. var DES = des.DES;
  157467. function EDEState(type, key) {
  157468. assert.equal(key.length, 24, "Invalid key length");
  157469. var k1 = key.slice(0, 8);
  157470. var k2 = key.slice(8, 16);
  157471. var k3 = key.slice(16, 24);
  157472. if (type === "encrypt") {
  157473. this.ciphers = [
  157474. DES.create({ type: "encrypt", key: k1 }),
  157475. DES.create({ type: "decrypt", key: k2 }),
  157476. DES.create({ type: "encrypt", key: k3 }),
  157477. ];
  157478. } else {
  157479. this.ciphers = [
  157480. DES.create({ type: "decrypt", key: k3 }),
  157481. DES.create({ type: "encrypt", key: k2 }),
  157482. DES.create({ type: "decrypt", key: k1 }),
  157483. ];
  157484. }
  157485. }
  157486. function EDE(options) {
  157487. Cipher.call(this, options);
  157488. var state = new EDEState(this.type, this.options.key);
  157489. this._edeState = state;
  157490. }
  157491. inherits(EDE, Cipher);
  157492. module.exports = EDE;
  157493. EDE.create = function create(options) {
  157494. return new EDE(options);
  157495. };
  157496. EDE.prototype._update = function _update(inp, inOff, out, outOff) {
  157497. var state = this._edeState;
  157498. state.ciphers[0]._update(inp, inOff, out, outOff);
  157499. state.ciphers[1]._update(out, outOff, out, outOff);
  157500. state.ciphers[2]._update(out, outOff, out, outOff);
  157501. };
  157502. EDE.prototype._pad = DES.prototype._pad;
  157503. EDE.prototype._unpad = DES.prototype._unpad;
  157504. },
  157505. { "../des": 64, inherits: 108, "minimalistic-assert": 112 },
  157506. ],
  157507. 69: [
  157508. function (require, module, exports) {
  157509. "use strict";
  157510. exports.readUInt32BE = function readUInt32BE(bytes, off) {
  157511. var res =
  157512. (bytes[0 + off] << 24) |
  157513. (bytes[1 + off] << 16) |
  157514. (bytes[2 + off] << 8) |
  157515. bytes[3 + off];
  157516. return res >>> 0;
  157517. };
  157518. exports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {
  157519. bytes[0 + off] = value >>> 24;
  157520. bytes[1 + off] = (value >>> 16) & 0xff;
  157521. bytes[2 + off] = (value >>> 8) & 0xff;
  157522. bytes[3 + off] = value & 0xff;
  157523. };
  157524. exports.ip = function ip(inL, inR, out, off) {
  157525. var outL = 0;
  157526. var outR = 0;
  157527. for (var i = 6; i >= 0; i -= 2) {
  157528. for (var j = 0; j <= 24; j += 8) {
  157529. outL <<= 1;
  157530. outL |= (inR >>> (j + i)) & 1;
  157531. }
  157532. for (var j = 0; j <= 24; j += 8) {
  157533. outL <<= 1;
  157534. outL |= (inL >>> (j + i)) & 1;
  157535. }
  157536. }
  157537. for (var i = 6; i >= 0; i -= 2) {
  157538. for (var j = 1; j <= 25; j += 8) {
  157539. outR <<= 1;
  157540. outR |= (inR >>> (j + i)) & 1;
  157541. }
  157542. for (var j = 1; j <= 25; j += 8) {
  157543. outR <<= 1;
  157544. outR |= (inL >>> (j + i)) & 1;
  157545. }
  157546. }
  157547. out[off + 0] = outL >>> 0;
  157548. out[off + 1] = outR >>> 0;
  157549. };
  157550. exports.rip = function rip(inL, inR, out, off) {
  157551. var outL = 0;
  157552. var outR = 0;
  157553. for (var i = 0; i < 4; i++) {
  157554. for (var j = 24; j >= 0; j -= 8) {
  157555. outL <<= 1;
  157556. outL |= (inR >>> (j + i)) & 1;
  157557. outL <<= 1;
  157558. outL |= (inL >>> (j + i)) & 1;
  157559. }
  157560. }
  157561. for (var i = 4; i < 8; i++) {
  157562. for (var j = 24; j >= 0; j -= 8) {
  157563. outR <<= 1;
  157564. outR |= (inR >>> (j + i)) & 1;
  157565. outR <<= 1;
  157566. outR |= (inL >>> (j + i)) & 1;
  157567. }
  157568. }
  157569. out[off + 0] = outL >>> 0;
  157570. out[off + 1] = outR >>> 0;
  157571. };
  157572. exports.pc1 = function pc1(inL, inR, out, off) {
  157573. var outL = 0;
  157574. var outR = 0;
  157575. // 7, 15, 23, 31, 39, 47, 55, 63
  157576. // 6, 14, 22, 30, 39, 47, 55, 63
  157577. // 5, 13, 21, 29, 39, 47, 55, 63
  157578. // 4, 12, 20, 28
  157579. for (var i = 7; i >= 5; i--) {
  157580. for (var j = 0; j <= 24; j += 8) {
  157581. outL <<= 1;
  157582. outL |= (inR >> (j + i)) & 1;
  157583. }
  157584. for (var j = 0; j <= 24; j += 8) {
  157585. outL <<= 1;
  157586. outL |= (inL >> (j + i)) & 1;
  157587. }
  157588. }
  157589. for (var j = 0; j <= 24; j += 8) {
  157590. outL <<= 1;
  157591. outL |= (inR >> (j + i)) & 1;
  157592. }
  157593. // 1, 9, 17, 25, 33, 41, 49, 57
  157594. // 2, 10, 18, 26, 34, 42, 50, 58
  157595. // 3, 11, 19, 27, 35, 43, 51, 59
  157596. // 36, 44, 52, 60
  157597. for (var i = 1; i <= 3; i++) {
  157598. for (var j = 0; j <= 24; j += 8) {
  157599. outR <<= 1;
  157600. outR |= (inR >> (j + i)) & 1;
  157601. }
  157602. for (var j = 0; j <= 24; j += 8) {
  157603. outR <<= 1;
  157604. outR |= (inL >> (j + i)) & 1;
  157605. }
  157606. }
  157607. for (var j = 0; j <= 24; j += 8) {
  157608. outR <<= 1;
  157609. outR |= (inL >> (j + i)) & 1;
  157610. }
  157611. out[off + 0] = outL >>> 0;
  157612. out[off + 1] = outR >>> 0;
  157613. };
  157614. exports.r28shl = function r28shl(num, shift) {
  157615. return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));
  157616. };
  157617. var pc2table = [
  157618. // inL => outL
  157619. 14, 11, 17, 4, 27, 23, 25, 0, 13, 22, 7, 18, 5, 9, 16, 24, 2, 20, 12,
  157620. 21, 1, 8, 15, 26,
  157621. // inR => outR
  157622. 15, 4, 25, 19, 9, 1, 26, 16, 5, 11, 23, 8, 12, 7, 17, 0, 22, 3, 10,
  157623. 14, 6, 20, 27, 24,
  157624. ];
  157625. exports.pc2 = function pc2(inL, inR, out, off) {
  157626. var outL = 0;
  157627. var outR = 0;
  157628. var len = pc2table.length >>> 1;
  157629. for (var i = 0; i < len; i++) {
  157630. outL <<= 1;
  157631. outL |= (inL >>> pc2table[i]) & 0x1;
  157632. }
  157633. for (var i = len; i < pc2table.length; i++) {
  157634. outR <<= 1;
  157635. outR |= (inR >>> pc2table[i]) & 0x1;
  157636. }
  157637. out[off + 0] = outL >>> 0;
  157638. out[off + 1] = outR >>> 0;
  157639. };
  157640. exports.expand = function expand(r, out, off) {
  157641. var outL = 0;
  157642. var outR = 0;
  157643. outL = ((r & 1) << 5) | (r >>> 27);
  157644. for (var i = 23; i >= 15; i -= 4) {
  157645. outL <<= 6;
  157646. outL |= (r >>> i) & 0x3f;
  157647. }
  157648. for (var i = 11; i >= 3; i -= 4) {
  157649. outR |= (r >>> i) & 0x3f;
  157650. outR <<= 6;
  157651. }
  157652. outR |= ((r & 0x1f) << 1) | (r >>> 31);
  157653. out[off + 0] = outL >>> 0;
  157654. out[off + 1] = outR >>> 0;
  157655. };
  157656. var sTable = [
  157657. 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, 3, 10, 10, 6,
  157658. 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, 4, 15, 1, 12, 14, 8, 8, 2, 13,
  157659. 4, 6, 9, 2, 1, 11, 7, 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6,
  157660. 0, 13,
  157661. 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, 9, 12, 7, 0, 2,
  157662. 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, 0, 13, 14, 8, 7, 10, 11, 1, 10,
  157663. 3, 4, 15, 13, 4, 1, 2, 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14,
  157664. 15, 9,
  157665. 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, 1, 2, 13, 8, 12,
  157666. 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, 13, 1, 6, 10, 4, 13, 9, 0, 8, 6,
  157667. 15, 9, 3, 8, 0, 7, 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7,
  157668. 12,
  157669. 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, 1, 4, 2, 7, 8,
  157670. 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, 10, 3, 6, 15, 9, 0, 0, 6, 12,
  157671. 10, 11, 1, 7, 13, 13, 8, 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2,
  157672. 4, 14,
  157673. 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, 8, 5, 5, 0, 3,
  157674. 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, 4, 11, 2, 8, 1, 12, 11, 7, 10,
  157675. 1, 13, 14, 7, 2, 8, 13, 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5,
  157676. 14, 3,
  157677. 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, 0, 6, 13, 1, 3,
  157678. 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, 9, 4, 14, 3, 15, 2, 5, 12, 2, 9,
  157679. 8, 5, 12, 15, 3, 10, 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6,
  157680. 13,
  157681. 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, 3, 14, 12, 3,
  157682. 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, 1, 6, 4, 11, 11, 13, 13, 8, 12,
  157683. 1, 3, 4, 7, 10, 14, 7, 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3,
  157684. 2, 12,
  157685. 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, 10, 12, 9, 5, 3,
  157686. 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, 7, 2, 11, 1, 4, 14, 1, 7, 9, 4,
  157687. 12, 10, 14, 8, 2, 13, 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6,
  157688. 8, 11,
  157689. ];
  157690. exports.substitute = function substitute(inL, inR) {
  157691. var out = 0;
  157692. for (var i = 0; i < 4; i++) {
  157693. var b = (inL >>> (18 - i * 6)) & 0x3f;
  157694. var sb = sTable[i * 0x40 + b];
  157695. out <<= 4;
  157696. out |= sb;
  157697. }
  157698. for (var i = 0; i < 4; i++) {
  157699. var b = (inR >>> (18 - i * 6)) & 0x3f;
  157700. var sb = sTable[4 * 0x40 + i * 0x40 + b];
  157701. out <<= 4;
  157702. out |= sb;
  157703. }
  157704. return out >>> 0;
  157705. };
  157706. var permuteTable = [
  157707. 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22, 30, 24, 8,
  157708. 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7,
  157709. ];
  157710. exports.permute = function permute(num) {
  157711. var out = 0;
  157712. for (var i = 0; i < permuteTable.length; i++) {
  157713. out <<= 1;
  157714. out |= (num >>> permuteTable[i]) & 0x1;
  157715. }
  157716. return out >>> 0;
  157717. };
  157718. exports.padSplit = function padSplit(num, size, group) {
  157719. var str = num.toString(2);
  157720. while (str.length < size) str = "0" + str;
  157721. var out = [];
  157722. for (var i = 0; i < size; i += group)
  157723. out.push(str.slice(i, i + group));
  157724. return out.join(" ");
  157725. };
  157726. },
  157727. {},
  157728. ],
  157729. 70: [
  157730. function (require, module, exports) {
  157731. (function (Buffer) {
  157732. var generatePrime = require("./lib/generatePrime.js");
  157733. var primes = require("./lib/primes.json");
  157734. var DH = require("./lib/dh.js");
  157735. function getDiffieHellman(mod) {
  157736. var prime = new Buffer(primes[mod].prime, "hex");
  157737. var gen = new Buffer(primes[mod].gen, "hex");
  157738. return new DH(prime, gen);
  157739. }
  157740. var ENCODINGS = {
  157741. binary: true,
  157742. hex: true,
  157743. base64: true,
  157744. };
  157745. function createDiffieHellman(prime, enc, generator, genc) {
  157746. if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {
  157747. return createDiffieHellman(prime, "binary", enc, generator);
  157748. }
  157749. enc = enc || "binary";
  157750. genc = genc || "binary";
  157751. generator = generator || new Buffer([2]);
  157752. if (!Buffer.isBuffer(generator)) {
  157753. generator = new Buffer(generator, genc);
  157754. }
  157755. if (typeof prime === "number") {
  157756. return new DH(generatePrime(prime, generator), generator, true);
  157757. }
  157758. if (!Buffer.isBuffer(prime)) {
  157759. prime = new Buffer(prime, enc);
  157760. }
  157761. return new DH(prime, generator, true);
  157762. }
  157763. exports.DiffieHellmanGroup =
  157764. exports.createDiffieHellmanGroup =
  157765. exports.getDiffieHellman =
  157766. getDiffieHellman;
  157767. exports.createDiffieHellman = exports.DiffieHellman =
  157768. createDiffieHellman;
  157769. }).call(this, require("buffer").Buffer);
  157770. },
  157771. {
  157772. "./lib/dh": 71,
  157773. "./lib/generatePrime": 72,
  157774. "./lib/primes.json": 73,
  157775. buffer: 54,
  157776. },
  157777. ],
  157778. 71: [
  157779. function (require, module, exports) {
  157780. (function (Buffer) {
  157781. var BN = require("bn.js");
  157782. var MillerRabin = require("miller-rabin");
  157783. var millerRabin = new MillerRabin();
  157784. var TWENTYFOUR = new BN(24);
  157785. var ELEVEN = new BN(11);
  157786. var TEN = new BN(10);
  157787. var THREE = new BN(3);
  157788. var SEVEN = new BN(7);
  157789. var primes = require("./generatePrime.js");
  157790. var randomBytes = require("randombytes");
  157791. module.exports = DH;
  157792. function setPublicKey(pub, enc) {
  157793. enc = enc || "utf8";
  157794. if (!Buffer.isBuffer(pub)) {
  157795. pub = new Buffer(pub, enc);
  157796. }
  157797. this._pub = new BN(pub);
  157798. return this;
  157799. }
  157800. function setPrivateKey(priv, enc) {
  157801. enc = enc || "utf8";
  157802. if (!Buffer.isBuffer(priv)) {
  157803. priv = new Buffer(priv, enc);
  157804. }
  157805. this._priv = new BN(priv);
  157806. return this;
  157807. }
  157808. var primeCache = {};
  157809. function checkPrime(prime, generator) {
  157810. var gen = generator.toString("hex");
  157811. var hex = [gen, prime.toString(16)].join("_");
  157812. if (hex in primeCache) {
  157813. return primeCache[hex];
  157814. }
  157815. var error = 0;
  157816. if (
  157817. prime.isEven() ||
  157818. !primes.simpleSieve ||
  157819. !primes.fermatTest(prime) ||
  157820. !millerRabin.test(prime)
  157821. ) {
  157822. //not a prime so +1
  157823. error += 1;
  157824. if (gen === "02" || gen === "05") {
  157825. // we'd be able to check the generator
  157826. // it would fail so +8
  157827. error += 8;
  157828. } else {
  157829. //we wouldn't be able to test the generator
  157830. // so +4
  157831. error += 4;
  157832. }
  157833. primeCache[hex] = error;
  157834. return error;
  157835. }
  157836. if (!millerRabin.test(prime.shrn(1))) {
  157837. //not a safe prime
  157838. error += 2;
  157839. }
  157840. var rem;
  157841. switch (gen) {
  157842. case "02":
  157843. if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {
  157844. // unsuidable generator
  157845. error += 8;
  157846. }
  157847. break;
  157848. case "05":
  157849. rem = prime.mod(TEN);
  157850. if (rem.cmp(THREE) && rem.cmp(SEVEN)) {
  157851. // prime mod 10 needs to equal 3 or 7
  157852. error += 8;
  157853. }
  157854. break;
  157855. default:
  157856. error += 4;
  157857. }
  157858. primeCache[hex] = error;
  157859. return error;
  157860. }
  157861. function DH(prime, generator, malleable) {
  157862. this.setGenerator(generator);
  157863. this.__prime = new BN(prime);
  157864. this._prime = BN.mont(this.__prime);
  157865. this._primeLen = prime.length;
  157866. this._pub = undefined;
  157867. this._priv = undefined;
  157868. this._primeCode = undefined;
  157869. if (malleable) {
  157870. this.setPublicKey = setPublicKey;
  157871. this.setPrivateKey = setPrivateKey;
  157872. } else {
  157873. this._primeCode = 8;
  157874. }
  157875. }
  157876. Object.defineProperty(DH.prototype, "verifyError", {
  157877. enumerable: true,
  157878. get: function () {
  157879. if (typeof this._primeCode !== "number") {
  157880. this._primeCode = checkPrime(this.__prime, this.__gen);
  157881. }
  157882. return this._primeCode;
  157883. },
  157884. });
  157885. DH.prototype.generateKeys = function () {
  157886. if (!this._priv) {
  157887. this._priv = new BN(randomBytes(this._primeLen));
  157888. }
  157889. this._pub = this._gen
  157890. .toRed(this._prime)
  157891. .redPow(this._priv)
  157892. .fromRed();
  157893. return this.getPublicKey();
  157894. };
  157895. DH.prototype.computeSecret = function (other) {
  157896. other = new BN(other);
  157897. other = other.toRed(this._prime);
  157898. var secret = other.redPow(this._priv).fromRed();
  157899. var out = new Buffer(secret.toArray());
  157900. var prime = this.getPrime();
  157901. if (out.length < prime.length) {
  157902. var front = new Buffer(prime.length - out.length);
  157903. front.fill(0);
  157904. out = Buffer.concat([front, out]);
  157905. }
  157906. return out;
  157907. };
  157908. DH.prototype.getPublicKey = function getPublicKey(enc) {
  157909. return formatReturnValue(this._pub, enc);
  157910. };
  157911. DH.prototype.getPrivateKey = function getPrivateKey(enc) {
  157912. return formatReturnValue(this._priv, enc);
  157913. };
  157914. DH.prototype.getPrime = function (enc) {
  157915. return formatReturnValue(this.__prime, enc);
  157916. };
  157917. DH.prototype.getGenerator = function (enc) {
  157918. return formatReturnValue(this._gen, enc);
  157919. };
  157920. DH.prototype.setGenerator = function (gen, enc) {
  157921. enc = enc || "utf8";
  157922. if (!Buffer.isBuffer(gen)) {
  157923. gen = new Buffer(gen, enc);
  157924. }
  157925. this.__gen = gen;
  157926. this._gen = new BN(gen);
  157927. return this;
  157928. };
  157929. function formatReturnValue(bn, enc) {
  157930. var buf = new Buffer(bn.toArray());
  157931. if (!enc) {
  157932. return buf;
  157933. } else {
  157934. return buf.toString(enc);
  157935. }
  157936. }
  157937. }).call(this, require("buffer").Buffer);
  157938. },
  157939. {
  157940. "./generatePrime": 72,
  157941. "bn.js": 25,
  157942. buffer: 54,
  157943. "miller-rabin": 111,
  157944. randombytes: 133,
  157945. },
  157946. ],
  157947. 72: [
  157948. function (require, module, exports) {
  157949. var randomBytes = require("randombytes");
  157950. module.exports = findPrime;
  157951. findPrime.simpleSieve = simpleSieve;
  157952. findPrime.fermatTest = fermatTest;
  157953. var BN = require("bn.js");
  157954. var TWENTYFOUR = new BN(24);
  157955. var MillerRabin = require("miller-rabin");
  157956. var millerRabin = new MillerRabin();
  157957. var ONE = new BN(1);
  157958. var TWO = new BN(2);
  157959. var FIVE = new BN(5);
  157960. var SIXTEEN = new BN(16);
  157961. var EIGHT = new BN(8);
  157962. var TEN = new BN(10);
  157963. var THREE = new BN(3);
  157964. var SEVEN = new BN(7);
  157965. var ELEVEN = new BN(11);
  157966. var FOUR = new BN(4);
  157967. var TWELVE = new BN(12);
  157968. var primes = null;
  157969. function _getPrimes() {
  157970. if (primes !== null) return primes;
  157971. var limit = 0x100000;
  157972. var res = [];
  157973. res[0] = 2;
  157974. for (var i = 1, k = 3; k < limit; k += 2) {
  157975. var sqrt = Math.ceil(Math.sqrt(k));
  157976. for (var j = 0; j < i && res[j] <= sqrt; j++)
  157977. if (k % res[j] === 0) break;
  157978. if (i !== j && res[j] <= sqrt) continue;
  157979. res[i++] = k;
  157980. }
  157981. primes = res;
  157982. return res;
  157983. }
  157984. function simpleSieve(p) {
  157985. var primes = _getPrimes();
  157986. for (var i = 0; i < primes.length; i++)
  157987. if (p.modn(primes[i]) === 0) {
  157988. if (p.cmpn(primes[i]) === 0) {
  157989. return true;
  157990. } else {
  157991. return false;
  157992. }
  157993. }
  157994. return true;
  157995. }
  157996. function fermatTest(p) {
  157997. var red = BN.mont(p);
  157998. return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;
  157999. }
  158000. function findPrime(bits, gen) {
  158001. if (bits < 16) {
  158002. // this is what openssl does
  158003. if (gen === 2 || gen === 5) {
  158004. return new BN([0x8c, 0x7b]);
  158005. } else {
  158006. return new BN([0x8c, 0x27]);
  158007. }
  158008. }
  158009. gen = new BN(gen);
  158010. var num, n2;
  158011. while (true) {
  158012. num = new BN(randomBytes(Math.ceil(bits / 8)));
  158013. while (num.bitLength() > bits) {
  158014. num.ishrn(1);
  158015. }
  158016. if (num.isEven()) {
  158017. num.iadd(ONE);
  158018. }
  158019. if (!num.testn(1)) {
  158020. num.iadd(TWO);
  158021. }
  158022. if (!gen.cmp(TWO)) {
  158023. while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {
  158024. num.iadd(FOUR);
  158025. }
  158026. } else if (!gen.cmp(FIVE)) {
  158027. while (num.mod(TEN).cmp(THREE)) {
  158028. num.iadd(FOUR);
  158029. }
  158030. }
  158031. n2 = num.shrn(1);
  158032. if (
  158033. simpleSieve(n2) &&
  158034. simpleSieve(num) &&
  158035. fermatTest(n2) &&
  158036. fermatTest(num) &&
  158037. millerRabin.test(n2) &&
  158038. millerRabin.test(num)
  158039. ) {
  158040. return num;
  158041. }
  158042. }
  158043. }
  158044. },
  158045. { "bn.js": 25, "miller-rabin": 111, randombytes: 133 },
  158046. ],
  158047. 73: [
  158048. function (require, module, exports) {
  158049. module.exports = {
  158050. modp1: {
  158051. gen: "02",
  158052. prime:
  158053. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff",
  158054. },
  158055. modp2: {
  158056. gen: "02",
  158057. prime:
  158058. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff",
  158059. },
  158060. modp5: {
  158061. gen: "02",
  158062. prime:
  158063. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff",
  158064. },
  158065. modp14: {
  158066. gen: "02",
  158067. prime:
  158068. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff",
  158069. },
  158070. modp15: {
  158071. gen: "02",
  158072. prime:
  158073. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff",
  158074. },
  158075. modp16: {
  158076. gen: "02",
  158077. prime:
  158078. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff",
  158079. },
  158080. modp17: {
  158081. gen: "02",
  158082. prime:
  158083. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff",
  158084. },
  158085. modp18: {
  158086. gen: "02",
  158087. prime:
  158088. "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff",
  158089. },
  158090. };
  158091. },
  158092. {},
  158093. ],
  158094. 74: [
  158095. function (require, module, exports) {
  158096. "use strict";
  158097. var elliptic = exports;
  158098. elliptic.version = require("../package.json").version;
  158099. elliptic.utils = require("./elliptic/utils.js");
  158100. elliptic.rand = require("brorand");
  158101. elliptic.curve = require("./elliptic/curve.js");
  158102. elliptic.curves = require("./elliptic/curves.js");
  158103. // Protocols
  158104. elliptic.ec = require("./elliptic/ec.js");
  158105. elliptic.eddsa = require("./elliptic/eddsa.js");
  158106. },
  158107. {
  158108. "../package.json": 89,
  158109. "./elliptic/curve": 77,
  158110. "./elliptic/curves": 80,
  158111. "./elliptic/ec": 81,
  158112. "./elliptic/eddsa": 84,
  158113. "./elliptic/utils": 88,
  158114. brorand: 26,
  158115. },
  158116. ],
  158117. 75: [
  158118. function (require, module, exports) {
  158119. "use strict";
  158120. var BN = require("bn.js");
  158121. var elliptic = require("../../elliptic.js");
  158122. var utils = elliptic.utils;
  158123. var getNAF = utils.getNAF;
  158124. var getJSF = utils.getJSF;
  158125. var assert = utils.assert;
  158126. function BaseCurve(type, conf) {
  158127. this.type = type;
  158128. this.p = new BN(conf.p, 16);
  158129. // Use Montgomery, when there is no fast reduction for the prime
  158130. this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);
  158131. // Useful for many curves
  158132. this.zero = new BN(0).toRed(this.red);
  158133. this.one = new BN(1).toRed(this.red);
  158134. this.two = new BN(2).toRed(this.red);
  158135. // Curve configuration, optional
  158136. this.n = conf.n && new BN(conf.n, 16);
  158137. this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);
  158138. // Temporary arrays
  158139. this._wnafT1 = new Array(4);
  158140. this._wnafT2 = new Array(4);
  158141. this._wnafT3 = new Array(4);
  158142. this._wnafT4 = new Array(4);
  158143. // Generalized Greg Maxwell's trick
  158144. var adjustCount = this.n && this.p.div(this.n);
  158145. if (!adjustCount || adjustCount.cmpn(100) > 0) {
  158146. this.redN = null;
  158147. } else {
  158148. this._maxwellTrick = true;
  158149. this.redN = this.n.toRed(this.red);
  158150. }
  158151. }
  158152. module.exports = BaseCurve;
  158153. BaseCurve.prototype.point = function point() {
  158154. throw new Error("Not implemented");
  158155. };
  158156. BaseCurve.prototype.validate = function validate() {
  158157. throw new Error("Not implemented");
  158158. };
  158159. BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {
  158160. assert(p.precomputed);
  158161. var doubles = p._getDoubles();
  158162. var naf = getNAF(k, 1);
  158163. var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);
  158164. I /= 3;
  158165. // Translate into more windowed form
  158166. var repr = [];
  158167. for (var j = 0; j < naf.length; j += doubles.step) {
  158168. var nafW = 0;
  158169. for (var k = j + doubles.step - 1; k >= j; k--)
  158170. nafW = (nafW << 1) + naf[k];
  158171. repr.push(nafW);
  158172. }
  158173. var a = this.jpoint(null, null, null);
  158174. var b = this.jpoint(null, null, null);
  158175. for (var i = I; i > 0; i--) {
  158176. for (var j = 0; j < repr.length; j++) {
  158177. var nafW = repr[j];
  158178. if (nafW === i) b = b.mixedAdd(doubles.points[j]);
  158179. else if (nafW === -i) b = b.mixedAdd(doubles.points[j].neg());
  158180. }
  158181. a = a.add(b);
  158182. }
  158183. return a.toP();
  158184. };
  158185. BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {
  158186. var w = 4;
  158187. // Precompute window
  158188. var nafPoints = p._getNAFPoints(w);
  158189. w = nafPoints.wnd;
  158190. var wnd = nafPoints.points;
  158191. // Get NAF form
  158192. var naf = getNAF(k, w);
  158193. // Add `this`*(N+1) for every w-NAF index
  158194. var acc = this.jpoint(null, null, null);
  158195. for (var i = naf.length - 1; i >= 0; i--) {
  158196. // Count zeroes
  158197. for (var k = 0; i >= 0 && naf[i] === 0; i--) k++;
  158198. if (i >= 0) k++;
  158199. acc = acc.dblp(k);
  158200. if (i < 0) break;
  158201. var z = naf[i];
  158202. assert(z !== 0);
  158203. if (p.type === "affine") {
  158204. // J +- P
  158205. if (z > 0) acc = acc.mixedAdd(wnd[(z - 1) >> 1]);
  158206. else acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());
  158207. } else {
  158208. // J +- J
  158209. if (z > 0) acc = acc.add(wnd[(z - 1) >> 1]);
  158210. else acc = acc.add(wnd[(-z - 1) >> 1].neg());
  158211. }
  158212. }
  158213. return p.type === "affine" ? acc.toP() : acc;
  158214. };
  158215. BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(
  158216. defW,
  158217. points,
  158218. coeffs,
  158219. len,
  158220. jacobianResult
  158221. ) {
  158222. var wndWidth = this._wnafT1;
  158223. var wnd = this._wnafT2;
  158224. var naf = this._wnafT3;
  158225. // Fill all arrays
  158226. var max = 0;
  158227. for (var i = 0; i < len; i++) {
  158228. var p = points[i];
  158229. var nafPoints = p._getNAFPoints(defW);
  158230. wndWidth[i] = nafPoints.wnd;
  158231. wnd[i] = nafPoints.points;
  158232. }
  158233. // Comb small window NAFs
  158234. for (var i = len - 1; i >= 1; i -= 2) {
  158235. var a = i - 1;
  158236. var b = i;
  158237. if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {
  158238. naf[a] = getNAF(coeffs[a], wndWidth[a]);
  158239. naf[b] = getNAF(coeffs[b], wndWidth[b]);
  158240. max = Math.max(naf[a].length, max);
  158241. max = Math.max(naf[b].length, max);
  158242. continue;
  158243. }
  158244. var comb = [
  158245. points[a] /* 1 */,
  158246. null /* 3 */,
  158247. null /* 5 */,
  158248. points[b] /* 7 */,
  158249. ];
  158250. // Try to avoid Projective points, if possible
  158251. if (points[a].y.cmp(points[b].y) === 0) {
  158252. comb[1] = points[a].add(points[b]);
  158253. comb[2] = points[a].toJ().mixedAdd(points[b].neg());
  158254. } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {
  158255. comb[1] = points[a].toJ().mixedAdd(points[b]);
  158256. comb[2] = points[a].add(points[b].neg());
  158257. } else {
  158258. comb[1] = points[a].toJ().mixedAdd(points[b]);
  158259. comb[2] = points[a].toJ().mixedAdd(points[b].neg());
  158260. }
  158261. var index = [
  158262. -3 /* -1 -1 */, -1 /* -1 0 */, -5 /* -1 1 */, -7 /* 0 -1 */,
  158263. 0 /* 0 0 */, 7 /* 0 1 */, 5 /* 1 -1 */, 1 /* 1 0 */, 3 /* 1 1 */,
  158264. ];
  158265. var jsf = getJSF(coeffs[a], coeffs[b]);
  158266. max = Math.max(jsf[0].length, max);
  158267. naf[a] = new Array(max);
  158268. naf[b] = new Array(max);
  158269. for (var j = 0; j < max; j++) {
  158270. var ja = jsf[0][j] | 0;
  158271. var jb = jsf[1][j] | 0;
  158272. naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];
  158273. naf[b][j] = 0;
  158274. wnd[a] = comb;
  158275. }
  158276. }
  158277. var acc = this.jpoint(null, null, null);
  158278. var tmp = this._wnafT4;
  158279. for (var i = max; i >= 0; i--) {
  158280. var k = 0;
  158281. while (i >= 0) {
  158282. var zero = true;
  158283. for (var j = 0; j < len; j++) {
  158284. tmp[j] = naf[j][i] | 0;
  158285. if (tmp[j] !== 0) zero = false;
  158286. }
  158287. if (!zero) break;
  158288. k++;
  158289. i--;
  158290. }
  158291. if (i >= 0) k++;
  158292. acc = acc.dblp(k);
  158293. if (i < 0) break;
  158294. for (var j = 0; j < len; j++) {
  158295. var z = tmp[j];
  158296. var p;
  158297. if (z === 0) continue;
  158298. else if (z > 0) p = wnd[j][(z - 1) >> 1];
  158299. else if (z < 0) p = wnd[j][(-z - 1) >> 1].neg();
  158300. if (p.type === "affine") acc = acc.mixedAdd(p);
  158301. else acc = acc.add(p);
  158302. }
  158303. }
  158304. // Zeroify references
  158305. for (var i = 0; i < len; i++) wnd[i] = null;
  158306. if (jacobianResult) return acc;
  158307. else return acc.toP();
  158308. };
  158309. function BasePoint(curve, type) {
  158310. this.curve = curve;
  158311. this.type = type;
  158312. this.precomputed = null;
  158313. }
  158314. BaseCurve.BasePoint = BasePoint;
  158315. BasePoint.prototype.eq = function eq(/*other*/) {
  158316. throw new Error("Not implemented");
  158317. };
  158318. BasePoint.prototype.validate = function validate() {
  158319. return this.curve.validate(this);
  158320. };
  158321. BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
  158322. bytes = utils.toArray(bytes, enc);
  158323. var len = this.p.byteLength();
  158324. // uncompressed, hybrid-odd, hybrid-even
  158325. if (
  158326. (bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
  158327. bytes.length - 1 === 2 * len
  158328. ) {
  158329. if (bytes[0] === 0x06) assert(bytes[bytes.length - 1] % 2 === 0);
  158330. else if (bytes[0] === 0x07)
  158331. assert(bytes[bytes.length - 1] % 2 === 1);
  158332. var res = this.point(
  158333. bytes.slice(1, 1 + len),
  158334. bytes.slice(1 + len, 1 + 2 * len)
  158335. );
  158336. return res;
  158337. } else if (
  158338. (bytes[0] === 0x02 || bytes[0] === 0x03) &&
  158339. bytes.length - 1 === len
  158340. ) {
  158341. return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);
  158342. }
  158343. throw new Error("Unknown point format");
  158344. };
  158345. BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {
  158346. return this.encode(enc, true);
  158347. };
  158348. BasePoint.prototype._encode = function _encode(compact) {
  158349. var len = this.curve.p.byteLength();
  158350. var x = this.getX().toArray("be", len);
  158351. if (compact) return [this.getY().isEven() ? 0x02 : 0x03].concat(x);
  158352. return [0x04].concat(x, this.getY().toArray("be", len));
  158353. };
  158354. BasePoint.prototype.encode = function encode(enc, compact) {
  158355. return utils.encode(this._encode(compact), enc);
  158356. };
  158357. BasePoint.prototype.precompute = function precompute(power) {
  158358. if (this.precomputed) return this;
  158359. var precomputed = {
  158360. doubles: null,
  158361. naf: null,
  158362. beta: null,
  158363. };
  158364. precomputed.naf = this._getNAFPoints(8);
  158365. precomputed.doubles = this._getDoubles(4, power);
  158366. precomputed.beta = this._getBeta();
  158367. this.precomputed = precomputed;
  158368. return this;
  158369. };
  158370. BasePoint.prototype._hasDoubles = function _hasDoubles(k) {
  158371. if (!this.precomputed) return false;
  158372. var doubles = this.precomputed.doubles;
  158373. if (!doubles) return false;
  158374. return (
  158375. doubles.points.length >=
  158376. Math.ceil((k.bitLength() + 1) / doubles.step)
  158377. );
  158378. };
  158379. BasePoint.prototype._getDoubles = function _getDoubles(step, power) {
  158380. if (this.precomputed && this.precomputed.doubles)
  158381. return this.precomputed.doubles;
  158382. var doubles = [this];
  158383. var acc = this;
  158384. for (var i = 0; i < power; i += step) {
  158385. for (var j = 0; j < step; j++) acc = acc.dbl();
  158386. doubles.push(acc);
  158387. }
  158388. return {
  158389. step: step,
  158390. points: doubles,
  158391. };
  158392. };
  158393. BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {
  158394. if (this.precomputed && this.precomputed.naf)
  158395. return this.precomputed.naf;
  158396. var res = [this];
  158397. var max = (1 << wnd) - 1;
  158398. var dbl = max === 1 ? null : this.dbl();
  158399. for (var i = 1; i < max; i++) res[i] = res[i - 1].add(dbl);
  158400. return {
  158401. wnd: wnd,
  158402. points: res,
  158403. };
  158404. };
  158405. BasePoint.prototype._getBeta = function _getBeta() {
  158406. return null;
  158407. };
  158408. BasePoint.prototype.dblp = function dblp(k) {
  158409. var r = this;
  158410. for (var i = 0; i < k; i++) r = r.dbl();
  158411. return r;
  158412. };
  158413. },
  158414. { "../../elliptic": 74, "bn.js": 25 },
  158415. ],
  158416. 76: [
  158417. function (require, module, exports) {
  158418. "use strict";
  158419. var curve = require("../curve.js");
  158420. var elliptic = require("../../elliptic.js");
  158421. var BN = require("bn.js");
  158422. var inherits = require("inherits");
  158423. var Base = curve.base;
  158424. var assert = elliptic.utils.assert;
  158425. function EdwardsCurve(conf) {
  158426. // NOTE: Important as we are creating point in Base.call()
  158427. this.twisted = (conf.a | 0) !== 1;
  158428. this.mOneA = this.twisted && (conf.a | 0) === -1;
  158429. this.extended = this.mOneA;
  158430. Base.call(this, "edwards", conf);
  158431. this.a = new BN(conf.a, 16).umod(this.red.m);
  158432. this.a = this.a.toRed(this.red);
  158433. this.c = new BN(conf.c, 16).toRed(this.red);
  158434. this.c2 = this.c.redSqr();
  158435. this.d = new BN(conf.d, 16).toRed(this.red);
  158436. this.dd = this.d.redAdd(this.d);
  158437. assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);
  158438. this.oneC = (conf.c | 0) === 1;
  158439. }
  158440. inherits(EdwardsCurve, Base);
  158441. module.exports = EdwardsCurve;
  158442. EdwardsCurve.prototype._mulA = function _mulA(num) {
  158443. if (this.mOneA) return num.redNeg();
  158444. else return this.a.redMul(num);
  158445. };
  158446. EdwardsCurve.prototype._mulC = function _mulC(num) {
  158447. if (this.oneC) return num;
  158448. else return this.c.redMul(num);
  158449. };
  158450. // Just for compatibility with Short curve
  158451. EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {
  158452. return this.point(x, y, z, t);
  158453. };
  158454. EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {
  158455. x = new BN(x, 16);
  158456. if (!x.red) x = x.toRed(this.red);
  158457. var x2 = x.redSqr();
  158458. var rhs = this.c2.redSub(this.a.redMul(x2));
  158459. var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));
  158460. var y2 = rhs.redMul(lhs.redInvm());
  158461. var y = y2.redSqrt();
  158462. if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
  158463. throw new Error("invalid point");
  158464. var isOdd = y.fromRed().isOdd();
  158465. if ((odd && !isOdd) || (!odd && isOdd)) y = y.redNeg();
  158466. return this.point(x, y);
  158467. };
  158468. EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {
  158469. y = new BN(y, 16);
  158470. if (!y.red) y = y.toRed(this.red);
  158471. // x^2 = (y^2 - 1) / (d y^2 + 1)
  158472. var y2 = y.redSqr();
  158473. var lhs = y2.redSub(this.one);
  158474. var rhs = y2.redMul(this.d).redAdd(this.one);
  158475. var x2 = lhs.redMul(rhs.redInvm());
  158476. if (x2.cmp(this.zero) === 0) {
  158477. if (odd) throw new Error("invalid point");
  158478. else return this.point(this.zero, y);
  158479. }
  158480. var x = x2.redSqrt();
  158481. if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)
  158482. throw new Error("invalid point");
  158483. if (x.isOdd() !== odd) x = x.redNeg();
  158484. return this.point(x, y);
  158485. };
  158486. EdwardsCurve.prototype.validate = function validate(point) {
  158487. if (point.isInfinity()) return true;
  158488. // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)
  158489. point.normalize();
  158490. var x2 = point.x.redSqr();
  158491. var y2 = point.y.redSqr();
  158492. var lhs = x2.redMul(this.a).redAdd(y2);
  158493. var rhs = this.c2.redMul(
  158494. this.one.redAdd(this.d.redMul(x2).redMul(y2))
  158495. );
  158496. return lhs.cmp(rhs) === 0;
  158497. };
  158498. function Point(curve, x, y, z, t) {
  158499. Base.BasePoint.call(this, curve, "projective");
  158500. if (x === null && y === null && z === null) {
  158501. this.x = this.curve.zero;
  158502. this.y = this.curve.one;
  158503. this.z = this.curve.one;
  158504. this.t = this.curve.zero;
  158505. this.zOne = true;
  158506. } else {
  158507. this.x = new BN(x, 16);
  158508. this.y = new BN(y, 16);
  158509. this.z = z ? new BN(z, 16) : this.curve.one;
  158510. this.t = t && new BN(t, 16);
  158511. if (!this.x.red) this.x = this.x.toRed(this.curve.red);
  158512. if (!this.y.red) this.y = this.y.toRed(this.curve.red);
  158513. if (!this.z.red) this.z = this.z.toRed(this.curve.red);
  158514. if (this.t && !this.t.red) this.t = this.t.toRed(this.curve.red);
  158515. this.zOne = this.z === this.curve.one;
  158516. // Use extended coordinates
  158517. if (this.curve.extended && !this.t) {
  158518. this.t = this.x.redMul(this.y);
  158519. if (!this.zOne) this.t = this.t.redMul(this.z.redInvm());
  158520. }
  158521. }
  158522. }
  158523. inherits(Point, Base.BasePoint);
  158524. EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
  158525. return Point.fromJSON(this, obj);
  158526. };
  158527. EdwardsCurve.prototype.point = function point(x, y, z, t) {
  158528. return new Point(this, x, y, z, t);
  158529. };
  158530. Point.fromJSON = function fromJSON(curve, obj) {
  158531. return new Point(curve, obj[0], obj[1], obj[2]);
  158532. };
  158533. Point.prototype.inspect = function inspect() {
  158534. if (this.isInfinity()) return "<EC Point Infinity>";
  158535. return (
  158536. "<EC Point x: " +
  158537. this.x.fromRed().toString(16, 2) +
  158538. " y: " +
  158539. this.y.fromRed().toString(16, 2) +
  158540. " z: " +
  158541. this.z.fromRed().toString(16, 2) +
  158542. ">"
  158543. );
  158544. };
  158545. Point.prototype.isInfinity = function isInfinity() {
  158546. // XXX This code assumes that zero is always zero in red
  158547. return this.x.cmpn(0) === 0 && this.y.cmp(this.z) === 0;
  158548. };
  158549. Point.prototype._extDbl = function _extDbl() {
  158550. // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
  158551. // #doubling-dbl-2008-hwcd
  158552. // 4M + 4S
  158553. // A = X1^2
  158554. var a = this.x.redSqr();
  158555. // B = Y1^2
  158556. var b = this.y.redSqr();
  158557. // C = 2 * Z1^2
  158558. var c = this.z.redSqr();
  158559. c = c.redIAdd(c);
  158560. // D = a * A
  158561. var d = this.curve._mulA(a);
  158562. // E = (X1 + Y1)^2 - A - B
  158563. var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);
  158564. // G = D + B
  158565. var g = d.redAdd(b);
  158566. // F = G - C
  158567. var f = g.redSub(c);
  158568. // H = D - B
  158569. var h = d.redSub(b);
  158570. // X3 = E * F
  158571. var nx = e.redMul(f);
  158572. // Y3 = G * H
  158573. var ny = g.redMul(h);
  158574. // T3 = E * H
  158575. var nt = e.redMul(h);
  158576. // Z3 = F * G
  158577. var nz = f.redMul(g);
  158578. return this.curve.point(nx, ny, nz, nt);
  158579. };
  158580. Point.prototype._projDbl = function _projDbl() {
  158581. // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
  158582. // #doubling-dbl-2008-bbjlp
  158583. // #doubling-dbl-2007-bl
  158584. // and others
  158585. // Generally 3M + 4S or 2M + 4S
  158586. // B = (X1 + Y1)^2
  158587. var b = this.x.redAdd(this.y).redSqr();
  158588. // C = X1^2
  158589. var c = this.x.redSqr();
  158590. // D = Y1^2
  158591. var d = this.y.redSqr();
  158592. var nx;
  158593. var ny;
  158594. var nz;
  158595. if (this.curve.twisted) {
  158596. // E = a * C
  158597. var e = this.curve._mulA(c);
  158598. // F = E + D
  158599. var f = e.redAdd(d);
  158600. if (this.zOne) {
  158601. // X3 = (B - C - D) * (F - 2)
  158602. nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));
  158603. // Y3 = F * (E - D)
  158604. ny = f.redMul(e.redSub(d));
  158605. // Z3 = F^2 - 2 * F
  158606. nz = f.redSqr().redSub(f).redSub(f);
  158607. } else {
  158608. // H = Z1^2
  158609. var h = this.z.redSqr();
  158610. // J = F - 2 * H
  158611. var j = f.redSub(h).redISub(h);
  158612. // X3 = (B-C-D)*J
  158613. nx = b.redSub(c).redISub(d).redMul(j);
  158614. // Y3 = F * (E - D)
  158615. ny = f.redMul(e.redSub(d));
  158616. // Z3 = F * J
  158617. nz = f.redMul(j);
  158618. }
  158619. } else {
  158620. // E = C + D
  158621. var e = c.redAdd(d);
  158622. // H = (c * Z1)^2
  158623. var h = this.curve._mulC(this.c.redMul(this.z)).redSqr();
  158624. // J = E - 2 * H
  158625. var j = e.redSub(h).redSub(h);
  158626. // X3 = c * (B - E) * J
  158627. nx = this.curve._mulC(b.redISub(e)).redMul(j);
  158628. // Y3 = c * E * (C - D)
  158629. ny = this.curve._mulC(e).redMul(c.redISub(d));
  158630. // Z3 = E * J
  158631. nz = e.redMul(j);
  158632. }
  158633. return this.curve.point(nx, ny, nz);
  158634. };
  158635. Point.prototype.dbl = function dbl() {
  158636. if (this.isInfinity()) return this;
  158637. // Double in extended coordinates
  158638. if (this.curve.extended) return this._extDbl();
  158639. else return this._projDbl();
  158640. };
  158641. Point.prototype._extAdd = function _extAdd(p) {
  158642. // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
  158643. // #addition-add-2008-hwcd-3
  158644. // 8M
  158645. // A = (Y1 - X1) * (Y2 - X2)
  158646. var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));
  158647. // B = (Y1 + X1) * (Y2 + X2)
  158648. var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));
  158649. // C = T1 * k * T2
  158650. var c = this.t.redMul(this.curve.dd).redMul(p.t);
  158651. // D = Z1 * 2 * Z2
  158652. var d = this.z.redMul(p.z.redAdd(p.z));
  158653. // E = B - A
  158654. var e = b.redSub(a);
  158655. // F = D - C
  158656. var f = d.redSub(c);
  158657. // G = D + C
  158658. var g = d.redAdd(c);
  158659. // H = B + A
  158660. var h = b.redAdd(a);
  158661. // X3 = E * F
  158662. var nx = e.redMul(f);
  158663. // Y3 = G * H
  158664. var ny = g.redMul(h);
  158665. // T3 = E * H
  158666. var nt = e.redMul(h);
  158667. // Z3 = F * G
  158668. var nz = f.redMul(g);
  158669. return this.curve.point(nx, ny, nz, nt);
  158670. };
  158671. Point.prototype._projAdd = function _projAdd(p) {
  158672. // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
  158673. // #addition-add-2008-bbjlp
  158674. // #addition-add-2007-bl
  158675. // 10M + 1S
  158676. // A = Z1 * Z2
  158677. var a = this.z.redMul(p.z);
  158678. // B = A^2
  158679. var b = a.redSqr();
  158680. // C = X1 * X2
  158681. var c = this.x.redMul(p.x);
  158682. // D = Y1 * Y2
  158683. var d = this.y.redMul(p.y);
  158684. // E = d * C * D
  158685. var e = this.curve.d.redMul(c).redMul(d);
  158686. // F = B - E
  158687. var f = b.redSub(e);
  158688. // G = B + E
  158689. var g = b.redAdd(e);
  158690. // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)
  158691. var tmp = this.x
  158692. .redAdd(this.y)
  158693. .redMul(p.x.redAdd(p.y))
  158694. .redISub(c)
  158695. .redISub(d);
  158696. var nx = a.redMul(f).redMul(tmp);
  158697. var ny;
  158698. var nz;
  158699. if (this.curve.twisted) {
  158700. // Y3 = A * G * (D - a * C)
  158701. ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));
  158702. // Z3 = F * G
  158703. nz = f.redMul(g);
  158704. } else {
  158705. // Y3 = A * G * (D - C)
  158706. ny = a.redMul(g).redMul(d.redSub(c));
  158707. // Z3 = c * F * G
  158708. nz = this.curve._mulC(f).redMul(g);
  158709. }
  158710. return this.curve.point(nx, ny, nz);
  158711. };
  158712. Point.prototype.add = function add(p) {
  158713. if (this.isInfinity()) return p;
  158714. if (p.isInfinity()) return this;
  158715. if (this.curve.extended) return this._extAdd(p);
  158716. else return this._projAdd(p);
  158717. };
  158718. Point.prototype.mul = function mul(k) {
  158719. if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);
  158720. else return this.curve._wnafMul(this, k);
  158721. };
  158722. Point.prototype.mulAdd = function mulAdd(k1, p, k2) {
  158723. return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, false);
  158724. };
  158725. Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) {
  158726. return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, true);
  158727. };
  158728. Point.prototype.normalize = function normalize() {
  158729. if (this.zOne) return this;
  158730. // Normalize coordinates
  158731. var zi = this.z.redInvm();
  158732. this.x = this.x.redMul(zi);
  158733. this.y = this.y.redMul(zi);
  158734. if (this.t) this.t = this.t.redMul(zi);
  158735. this.z = this.curve.one;
  158736. this.zOne = true;
  158737. return this;
  158738. };
  158739. Point.prototype.neg = function neg() {
  158740. return this.curve.point(
  158741. this.x.redNeg(),
  158742. this.y,
  158743. this.z,
  158744. this.t && this.t.redNeg()
  158745. );
  158746. };
  158747. Point.prototype.getX = function getX() {
  158748. this.normalize();
  158749. return this.x.fromRed();
  158750. };
  158751. Point.prototype.getY = function getY() {
  158752. this.normalize();
  158753. return this.y.fromRed();
  158754. };
  158755. Point.prototype.eq = function eq(other) {
  158756. return (
  158757. this === other ||
  158758. (this.getX().cmp(other.getX()) === 0 &&
  158759. this.getY().cmp(other.getY()) === 0)
  158760. );
  158761. };
  158762. Point.prototype.eqXToP = function eqXToP(x) {
  158763. var rx = x.toRed(this.curve.red).redMul(this.z);
  158764. if (this.x.cmp(rx) === 0) return true;
  158765. var xc = x.clone();
  158766. var t = this.curve.redN.redMul(this.z);
  158767. for (;;) {
  158768. xc.iadd(this.curve.n);
  158769. if (xc.cmp(this.curve.p) >= 0) return false;
  158770. rx.redIAdd(t);
  158771. if (this.x.cmp(rx) === 0) return true;
  158772. }
  158773. return false;
  158774. };
  158775. // Compatibility with BaseCurve
  158776. Point.prototype.toP = Point.prototype.normalize;
  158777. Point.prototype.mixedAdd = Point.prototype.add;
  158778. },
  158779. { "../../elliptic": 74, "../curve": 77, "bn.js": 25, inherits: 108 },
  158780. ],
  158781. 77: [
  158782. function (require, module, exports) {
  158783. "use strict";
  158784. var curve = exports;
  158785. curve.base = require("./base.js");
  158786. curve.short = require("./short.js");
  158787. curve.mont = require("./mont.js");
  158788. curve.edwards = require("./edwards.js");
  158789. },
  158790. { "./base": 75, "./edwards": 76, "./mont": 78, "./short": 79 },
  158791. ],
  158792. 78: [
  158793. function (require, module, exports) {
  158794. "use strict";
  158795. var curve = require("../curve.js");
  158796. var BN = require("bn.js");
  158797. var inherits = require("inherits");
  158798. var Base = curve.base;
  158799. var elliptic = require("../../elliptic.js");
  158800. var utils = elliptic.utils;
  158801. function MontCurve(conf) {
  158802. Base.call(this, "mont", conf);
  158803. this.a = new BN(conf.a, 16).toRed(this.red);
  158804. this.b = new BN(conf.b, 16).toRed(this.red);
  158805. this.i4 = new BN(4).toRed(this.red).redInvm();
  158806. this.two = new BN(2).toRed(this.red);
  158807. this.a24 = this.i4.redMul(this.a.redAdd(this.two));
  158808. }
  158809. inherits(MontCurve, Base);
  158810. module.exports = MontCurve;
  158811. MontCurve.prototype.validate = function validate(point) {
  158812. var x = point.normalize().x;
  158813. var x2 = x.redSqr();
  158814. var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);
  158815. var y = rhs.redSqrt();
  158816. return y.redSqr().cmp(rhs) === 0;
  158817. };
  158818. function Point(curve, x, z) {
  158819. Base.BasePoint.call(this, curve, "projective");
  158820. if (x === null && z === null) {
  158821. this.x = this.curve.one;
  158822. this.z = this.curve.zero;
  158823. } else {
  158824. this.x = new BN(x, 16);
  158825. this.z = new BN(z, 16);
  158826. if (!this.x.red) this.x = this.x.toRed(this.curve.red);
  158827. if (!this.z.red) this.z = this.z.toRed(this.curve.red);
  158828. }
  158829. }
  158830. inherits(Point, Base.BasePoint);
  158831. MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
  158832. return this.point(utils.toArray(bytes, enc), 1);
  158833. };
  158834. MontCurve.prototype.point = function point(x, z) {
  158835. return new Point(this, x, z);
  158836. };
  158837. MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
  158838. return Point.fromJSON(this, obj);
  158839. };
  158840. Point.prototype.precompute = function precompute() {
  158841. // No-op
  158842. };
  158843. Point.prototype._encode = function _encode() {
  158844. return this.getX().toArray("be", this.curve.p.byteLength());
  158845. };
  158846. Point.fromJSON = function fromJSON(curve, obj) {
  158847. return new Point(curve, obj[0], obj[1] || curve.one);
  158848. };
  158849. Point.prototype.inspect = function inspect() {
  158850. if (this.isInfinity()) return "<EC Point Infinity>";
  158851. return (
  158852. "<EC Point x: " +
  158853. this.x.fromRed().toString(16, 2) +
  158854. " z: " +
  158855. this.z.fromRed().toString(16, 2) +
  158856. ">"
  158857. );
  158858. };
  158859. Point.prototype.isInfinity = function isInfinity() {
  158860. // XXX This code assumes that zero is always zero in red
  158861. return this.z.cmpn(0) === 0;
  158862. };
  158863. Point.prototype.dbl = function dbl() {
  158864. // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3
  158865. // 2M + 2S + 4A
  158866. // A = X1 + Z1
  158867. var a = this.x.redAdd(this.z);
  158868. // AA = A^2
  158869. var aa = a.redSqr();
  158870. // B = X1 - Z1
  158871. var b = this.x.redSub(this.z);
  158872. // BB = B^2
  158873. var bb = b.redSqr();
  158874. // C = AA - BB
  158875. var c = aa.redSub(bb);
  158876. // X3 = AA * BB
  158877. var nx = aa.redMul(bb);
  158878. // Z3 = C * (BB + A24 * C)
  158879. var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));
  158880. return this.curve.point(nx, nz);
  158881. };
  158882. Point.prototype.add = function add() {
  158883. throw new Error("Not supported on Montgomery curve");
  158884. };
  158885. Point.prototype.diffAdd = function diffAdd(p, diff) {
  158886. // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3
  158887. // 4M + 2S + 6A
  158888. // A = X2 + Z2
  158889. var a = this.x.redAdd(this.z);
  158890. // B = X2 - Z2
  158891. var b = this.x.redSub(this.z);
  158892. // C = X3 + Z3
  158893. var c = p.x.redAdd(p.z);
  158894. // D = X3 - Z3
  158895. var d = p.x.redSub(p.z);
  158896. // DA = D * A
  158897. var da = d.redMul(a);
  158898. // CB = C * B
  158899. var cb = c.redMul(b);
  158900. // X5 = Z1 * (DA + CB)^2
  158901. var nx = diff.z.redMul(da.redAdd(cb).redSqr());
  158902. // Z5 = X1 * (DA - CB)^2
  158903. var nz = diff.x.redMul(da.redISub(cb).redSqr());
  158904. return this.curve.point(nx, nz);
  158905. };
  158906. Point.prototype.mul = function mul(k) {
  158907. var t = k.clone();
  158908. var a = this; // (N / 2) * Q + Q
  158909. var b = this.curve.point(null, null); // (N / 2) * Q
  158910. var c = this; // Q
  158911. for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))
  158912. bits.push(t.andln(1));
  158913. for (var i = bits.length - 1; i >= 0; i--) {
  158914. if (bits[i] === 0) {
  158915. // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q
  158916. a = a.diffAdd(b, c);
  158917. // N * Q = 2 * ((N / 2) * Q + Q))
  158918. b = b.dbl();
  158919. } else {
  158920. // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)
  158921. b = a.diffAdd(b, c);
  158922. // N * Q + Q = 2 * ((N / 2) * Q + Q)
  158923. a = a.dbl();
  158924. }
  158925. }
  158926. return b;
  158927. };
  158928. Point.prototype.mulAdd = function mulAdd() {
  158929. throw new Error("Not supported on Montgomery curve");
  158930. };
  158931. Point.prototype.jumlAdd = function jumlAdd() {
  158932. throw new Error("Not supported on Montgomery curve");
  158933. };
  158934. Point.prototype.eq = function eq(other) {
  158935. return this.getX().cmp(other.getX()) === 0;
  158936. };
  158937. Point.prototype.normalize = function normalize() {
  158938. this.x = this.x.redMul(this.z.redInvm());
  158939. this.z = this.curve.one;
  158940. return this;
  158941. };
  158942. Point.prototype.getX = function getX() {
  158943. // Normalize coordinates
  158944. this.normalize();
  158945. return this.x.fromRed();
  158946. };
  158947. },
  158948. { "../../elliptic": 74, "../curve": 77, "bn.js": 25, inherits: 108 },
  158949. ],
  158950. 79: [
  158951. function (require, module, exports) {
  158952. "use strict";
  158953. var curve = require("../curve.js");
  158954. var elliptic = require("../../elliptic.js");
  158955. var BN = require("bn.js");
  158956. var inherits = require("inherits");
  158957. var Base = curve.base;
  158958. var assert = elliptic.utils.assert;
  158959. function ShortCurve(conf) {
  158960. Base.call(this, "short", conf);
  158961. this.a = new BN(conf.a, 16).toRed(this.red);
  158962. this.b = new BN(conf.b, 16).toRed(this.red);
  158963. this.tinv = this.two.redInvm();
  158964. this.zeroA = this.a.fromRed().cmpn(0) === 0;
  158965. this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;
  158966. // If the curve is endomorphic, precalculate beta and lambda
  158967. this.endo = this._getEndomorphism(conf);
  158968. this._endoWnafT1 = new Array(4);
  158969. this._endoWnafT2 = new Array(4);
  158970. }
  158971. inherits(ShortCurve, Base);
  158972. module.exports = ShortCurve;
  158973. ShortCurve.prototype._getEndomorphism = function _getEndomorphism(
  158974. conf
  158975. ) {
  158976. // No efficient endomorphism
  158977. if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) return;
  158978. // Compute beta and lambda, that lambda * P = (beta * Px; Py)
  158979. var beta;
  158980. var lambda;
  158981. if (conf.beta) {
  158982. beta = new BN(conf.beta, 16).toRed(this.red);
  158983. } else {
  158984. var betas = this._getEndoRoots(this.p);
  158985. // Choose the smallest beta
  158986. beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];
  158987. beta = beta.toRed(this.red);
  158988. }
  158989. if (conf.lambda) {
  158990. lambda = new BN(conf.lambda, 16);
  158991. } else {
  158992. // Choose the lambda that is matching selected beta
  158993. var lambdas = this._getEndoRoots(this.n);
  158994. if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {
  158995. lambda = lambdas[0];
  158996. } else {
  158997. lambda = lambdas[1];
  158998. assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);
  158999. }
  159000. }
  159001. // Get basis vectors, used for balanced length-two representation
  159002. var basis;
  159003. if (conf.basis) {
  159004. basis = conf.basis.map(function (vec) {
  159005. return {
  159006. a: new BN(vec.a, 16),
  159007. b: new BN(vec.b, 16),
  159008. };
  159009. });
  159010. } else {
  159011. basis = this._getEndoBasis(lambda);
  159012. }
  159013. return {
  159014. beta: beta,
  159015. lambda: lambda,
  159016. basis: basis,
  159017. };
  159018. };
  159019. ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {
  159020. // Find roots of for x^2 + x + 1 in F
  159021. // Root = (-1 +- Sqrt(-3)) / 2
  159022. //
  159023. var red = num === this.p ? this.red : BN.mont(num);
  159024. var tinv = new BN(2).toRed(red).redInvm();
  159025. var ntinv = tinv.redNeg();
  159026. var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);
  159027. var l1 = ntinv.redAdd(s).fromRed();
  159028. var l2 = ntinv.redSub(s).fromRed();
  159029. return [l1, l2];
  159030. };
  159031. ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {
  159032. // aprxSqrt >= sqrt(this.n)
  159033. var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));
  159034. // 3.74
  159035. // Run EGCD, until r(L + 1) < aprxSqrt
  159036. var u = lambda;
  159037. var v = this.n.clone();
  159038. var x1 = new BN(1);
  159039. var y1 = new BN(0);
  159040. var x2 = new BN(0);
  159041. var y2 = new BN(1);
  159042. // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)
  159043. var a0;
  159044. var b0;
  159045. // First vector
  159046. var a1;
  159047. var b1;
  159048. // Second vector
  159049. var a2;
  159050. var b2;
  159051. var prevR;
  159052. var i = 0;
  159053. var r;
  159054. var x;
  159055. while (u.cmpn(0) !== 0) {
  159056. var q = v.div(u);
  159057. r = v.sub(q.mul(u));
  159058. x = x2.sub(q.mul(x1));
  159059. var y = y2.sub(q.mul(y1));
  159060. if (!a1 && r.cmp(aprxSqrt) < 0) {
  159061. a0 = prevR.neg();
  159062. b0 = x1;
  159063. a1 = r.neg();
  159064. b1 = x;
  159065. } else if (a1 && ++i === 2) {
  159066. break;
  159067. }
  159068. prevR = r;
  159069. v = u;
  159070. u = r;
  159071. x2 = x1;
  159072. x1 = x;
  159073. y2 = y1;
  159074. y1 = y;
  159075. }
  159076. a2 = r.neg();
  159077. b2 = x;
  159078. var len1 = a1.sqr().add(b1.sqr());
  159079. var len2 = a2.sqr().add(b2.sqr());
  159080. if (len2.cmp(len1) >= 0) {
  159081. a2 = a0;
  159082. b2 = b0;
  159083. }
  159084. // Normalize signs
  159085. if (a1.negative) {
  159086. a1 = a1.neg();
  159087. b1 = b1.neg();
  159088. }
  159089. if (a2.negative) {
  159090. a2 = a2.neg();
  159091. b2 = b2.neg();
  159092. }
  159093. return [
  159094. { a: a1, b: b1 },
  159095. { a: a2, b: b2 },
  159096. ];
  159097. };
  159098. ShortCurve.prototype._endoSplit = function _endoSplit(k) {
  159099. var basis = this.endo.basis;
  159100. var v1 = basis[0];
  159101. var v2 = basis[1];
  159102. var c1 = v2.b.mul(k).divRound(this.n);
  159103. var c2 = v1.b.neg().mul(k).divRound(this.n);
  159104. var p1 = c1.mul(v1.a);
  159105. var p2 = c2.mul(v2.a);
  159106. var q1 = c1.mul(v1.b);
  159107. var q2 = c2.mul(v2.b);
  159108. // Calculate answer
  159109. var k1 = k.sub(p1).sub(p2);
  159110. var k2 = q1.add(q2).neg();
  159111. return { k1: k1, k2: k2 };
  159112. };
  159113. ShortCurve.prototype.pointFromX = function pointFromX(x, odd) {
  159114. x = new BN(x, 16);
  159115. if (!x.red) x = x.toRed(this.red);
  159116. var y2 = x
  159117. .redSqr()
  159118. .redMul(x)
  159119. .redIAdd(x.redMul(this.a))
  159120. .redIAdd(this.b);
  159121. var y = y2.redSqrt();
  159122. if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
  159123. throw new Error("invalid point");
  159124. // XXX Is there any way to tell if the number is odd without converting it
  159125. // to non-red form?
  159126. var isOdd = y.fromRed().isOdd();
  159127. if ((odd && !isOdd) || (!odd && isOdd)) y = y.redNeg();
  159128. return this.point(x, y);
  159129. };
  159130. ShortCurve.prototype.validate = function validate(point) {
  159131. if (point.inf) return true;
  159132. var x = point.x;
  159133. var y = point.y;
  159134. var ax = this.a.redMul(x);
  159135. var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);
  159136. return y.redSqr().redISub(rhs).cmpn(0) === 0;
  159137. };
  159138. ShortCurve.prototype._endoWnafMulAdd = function _endoWnafMulAdd(
  159139. points,
  159140. coeffs,
  159141. jacobianResult
  159142. ) {
  159143. var npoints = this._endoWnafT1;
  159144. var ncoeffs = this._endoWnafT2;
  159145. for (var i = 0; i < points.length; i++) {
  159146. var split = this._endoSplit(coeffs[i]);
  159147. var p = points[i];
  159148. var beta = p._getBeta();
  159149. if (split.k1.negative) {
  159150. split.k1.ineg();
  159151. p = p.neg(true);
  159152. }
  159153. if (split.k2.negative) {
  159154. split.k2.ineg();
  159155. beta = beta.neg(true);
  159156. }
  159157. npoints[i * 2] = p;
  159158. npoints[i * 2 + 1] = beta;
  159159. ncoeffs[i * 2] = split.k1;
  159160. ncoeffs[i * 2 + 1] = split.k2;
  159161. }
  159162. var res = this._wnafMulAdd(
  159163. 1,
  159164. npoints,
  159165. ncoeffs,
  159166. i * 2,
  159167. jacobianResult
  159168. );
  159169. // Clean-up references to points and coefficients
  159170. for (var j = 0; j < i * 2; j++) {
  159171. npoints[j] = null;
  159172. ncoeffs[j] = null;
  159173. }
  159174. return res;
  159175. };
  159176. function Point(curve, x, y, isRed) {
  159177. Base.BasePoint.call(this, curve, "affine");
  159178. if (x === null && y === null) {
  159179. this.x = null;
  159180. this.y = null;
  159181. this.inf = true;
  159182. } else {
  159183. this.x = new BN(x, 16);
  159184. this.y = new BN(y, 16);
  159185. // Force redgomery representation when loading from JSON
  159186. if (isRed) {
  159187. this.x.forceRed(this.curve.red);
  159188. this.y.forceRed(this.curve.red);
  159189. }
  159190. if (!this.x.red) this.x = this.x.toRed(this.curve.red);
  159191. if (!this.y.red) this.y = this.y.toRed(this.curve.red);
  159192. this.inf = false;
  159193. }
  159194. }
  159195. inherits(Point, Base.BasePoint);
  159196. ShortCurve.prototype.point = function point(x, y, isRed) {
  159197. return new Point(this, x, y, isRed);
  159198. };
  159199. ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {
  159200. return Point.fromJSON(this, obj, red);
  159201. };
  159202. Point.prototype._getBeta = function _getBeta() {
  159203. if (!this.curve.endo) return;
  159204. var pre = this.precomputed;
  159205. if (pre && pre.beta) return pre.beta;
  159206. var beta = this.curve.point(
  159207. this.x.redMul(this.curve.endo.beta),
  159208. this.y
  159209. );
  159210. if (pre) {
  159211. var curve = this.curve;
  159212. var endoMul = function (p) {
  159213. return curve.point(p.x.redMul(curve.endo.beta), p.y);
  159214. };
  159215. pre.beta = beta;
  159216. beta.precomputed = {
  159217. beta: null,
  159218. naf: pre.naf && {
  159219. wnd: pre.naf.wnd,
  159220. points: pre.naf.points.map(endoMul),
  159221. },
  159222. doubles: pre.doubles && {
  159223. step: pre.doubles.step,
  159224. points: pre.doubles.points.map(endoMul),
  159225. },
  159226. };
  159227. }
  159228. return beta;
  159229. };
  159230. Point.prototype.toJSON = function toJSON() {
  159231. if (!this.precomputed) return [this.x, this.y];
  159232. return [
  159233. this.x,
  159234. this.y,
  159235. this.precomputed && {
  159236. doubles: this.precomputed.doubles && {
  159237. step: this.precomputed.doubles.step,
  159238. points: this.precomputed.doubles.points.slice(1),
  159239. },
  159240. naf: this.precomputed.naf && {
  159241. wnd: this.precomputed.naf.wnd,
  159242. points: this.precomputed.naf.points.slice(1),
  159243. },
  159244. },
  159245. ];
  159246. };
  159247. Point.fromJSON = function fromJSON(curve, obj, red) {
  159248. if (typeof obj === "string") obj = JSON.parse(obj);
  159249. var res = curve.point(obj[0], obj[1], red);
  159250. if (!obj[2]) return res;
  159251. function obj2point(obj) {
  159252. return curve.point(obj[0], obj[1], red);
  159253. }
  159254. var pre = obj[2];
  159255. res.precomputed = {
  159256. beta: null,
  159257. doubles: pre.doubles && {
  159258. step: pre.doubles.step,
  159259. points: [res].concat(pre.doubles.points.map(obj2point)),
  159260. },
  159261. naf: pre.naf && {
  159262. wnd: pre.naf.wnd,
  159263. points: [res].concat(pre.naf.points.map(obj2point)),
  159264. },
  159265. };
  159266. return res;
  159267. };
  159268. Point.prototype.inspect = function inspect() {
  159269. if (this.isInfinity()) return "<EC Point Infinity>";
  159270. return (
  159271. "<EC Point x: " +
  159272. this.x.fromRed().toString(16, 2) +
  159273. " y: " +
  159274. this.y.fromRed().toString(16, 2) +
  159275. ">"
  159276. );
  159277. };
  159278. Point.prototype.isInfinity = function isInfinity() {
  159279. return this.inf;
  159280. };
  159281. Point.prototype.add = function add(p) {
  159282. // O + P = P
  159283. if (this.inf) return p;
  159284. // P + O = P
  159285. if (p.inf) return this;
  159286. // P + P = 2P
  159287. if (this.eq(p)) return this.dbl();
  159288. // P + (-P) = O
  159289. if (this.neg().eq(p)) return this.curve.point(null, null);
  159290. // P + Q = O
  159291. if (this.x.cmp(p.x) === 0) return this.curve.point(null, null);
  159292. var c = this.y.redSub(p.y);
  159293. if (c.cmpn(0) !== 0) c = c.redMul(this.x.redSub(p.x).redInvm());
  159294. var nx = c.redSqr().redISub(this.x).redISub(p.x);
  159295. var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
  159296. return this.curve.point(nx, ny);
  159297. };
  159298. Point.prototype.dbl = function dbl() {
  159299. if (this.inf) return this;
  159300. // 2P = O
  159301. var ys1 = this.y.redAdd(this.y);
  159302. if (ys1.cmpn(0) === 0) return this.curve.point(null, null);
  159303. var a = this.curve.a;
  159304. var x2 = this.x.redSqr();
  159305. var dyinv = ys1.redInvm();
  159306. var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);
  159307. var nx = c.redSqr().redISub(this.x.redAdd(this.x));
  159308. var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
  159309. return this.curve.point(nx, ny);
  159310. };
  159311. Point.prototype.getX = function getX() {
  159312. return this.x.fromRed();
  159313. };
  159314. Point.prototype.getY = function getY() {
  159315. return this.y.fromRed();
  159316. };
  159317. Point.prototype.mul = function mul(k) {
  159318. k = new BN(k, 16);
  159319. if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);
  159320. else if (this.curve.endo)
  159321. return this.curve._endoWnafMulAdd([this], [k]);
  159322. else return this.curve._wnafMul(this, k);
  159323. };
  159324. Point.prototype.mulAdd = function mulAdd(k1, p2, k2) {
  159325. var points = [this, p2];
  159326. var coeffs = [k1, k2];
  159327. if (this.curve.endo)
  159328. return this.curve._endoWnafMulAdd(points, coeffs);
  159329. else return this.curve._wnafMulAdd(1, points, coeffs, 2);
  159330. };
  159331. Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {
  159332. var points = [this, p2];
  159333. var coeffs = [k1, k2];
  159334. if (this.curve.endo)
  159335. return this.curve._endoWnafMulAdd(points, coeffs, true);
  159336. else return this.curve._wnafMulAdd(1, points, coeffs, 2, true);
  159337. };
  159338. Point.prototype.eq = function eq(p) {
  159339. return (
  159340. this === p ||
  159341. (this.inf === p.inf &&
  159342. (this.inf || (this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0)))
  159343. );
  159344. };
  159345. Point.prototype.neg = function neg(_precompute) {
  159346. if (this.inf) return this;
  159347. var res = this.curve.point(this.x, this.y.redNeg());
  159348. if (_precompute && this.precomputed) {
  159349. var pre = this.precomputed;
  159350. var negate = function (p) {
  159351. return p.neg();
  159352. };
  159353. res.precomputed = {
  159354. naf: pre.naf && {
  159355. wnd: pre.naf.wnd,
  159356. points: pre.naf.points.map(negate),
  159357. },
  159358. doubles: pre.doubles && {
  159359. step: pre.doubles.step,
  159360. points: pre.doubles.points.map(negate),
  159361. },
  159362. };
  159363. }
  159364. return res;
  159365. };
  159366. Point.prototype.toJ = function toJ() {
  159367. if (this.inf) return this.curve.jpoint(null, null, null);
  159368. var res = this.curve.jpoint(this.x, this.y, this.curve.one);
  159369. return res;
  159370. };
  159371. function JPoint(curve, x, y, z) {
  159372. Base.BasePoint.call(this, curve, "jacobian");
  159373. if (x === null && y === null && z === null) {
  159374. this.x = this.curve.one;
  159375. this.y = this.curve.one;
  159376. this.z = new BN(0);
  159377. } else {
  159378. this.x = new BN(x, 16);
  159379. this.y = new BN(y, 16);
  159380. this.z = new BN(z, 16);
  159381. }
  159382. if (!this.x.red) this.x = this.x.toRed(this.curve.red);
  159383. if (!this.y.red) this.y = this.y.toRed(this.curve.red);
  159384. if (!this.z.red) this.z = this.z.toRed(this.curve.red);
  159385. this.zOne = this.z === this.curve.one;
  159386. }
  159387. inherits(JPoint, Base.BasePoint);
  159388. ShortCurve.prototype.jpoint = function jpoint(x, y, z) {
  159389. return new JPoint(this, x, y, z);
  159390. };
  159391. JPoint.prototype.toP = function toP() {
  159392. if (this.isInfinity()) return this.curve.point(null, null);
  159393. var zinv = this.z.redInvm();
  159394. var zinv2 = zinv.redSqr();
  159395. var ax = this.x.redMul(zinv2);
  159396. var ay = this.y.redMul(zinv2).redMul(zinv);
  159397. return this.curve.point(ax, ay);
  159398. };
  159399. JPoint.prototype.neg = function neg() {
  159400. return this.curve.jpoint(this.x, this.y.redNeg(), this.z);
  159401. };
  159402. JPoint.prototype.add = function add(p) {
  159403. // O + P = P
  159404. if (this.isInfinity()) return p;
  159405. // P + O = P
  159406. if (p.isInfinity()) return this;
  159407. // 12M + 4S + 7A
  159408. var pz2 = p.z.redSqr();
  159409. var z2 = this.z.redSqr();
  159410. var u1 = this.x.redMul(pz2);
  159411. var u2 = p.x.redMul(z2);
  159412. var s1 = this.y.redMul(pz2.redMul(p.z));
  159413. var s2 = p.y.redMul(z2.redMul(this.z));
  159414. var h = u1.redSub(u2);
  159415. var r = s1.redSub(s2);
  159416. if (h.cmpn(0) === 0) {
  159417. if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);
  159418. else return this.dbl();
  159419. }
  159420. var h2 = h.redSqr();
  159421. var h3 = h2.redMul(h);
  159422. var v = u1.redMul(h2);
  159423. var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
  159424. var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
  159425. var nz = this.z.redMul(p.z).redMul(h);
  159426. return this.curve.jpoint(nx, ny, nz);
  159427. };
  159428. JPoint.prototype.mixedAdd = function mixedAdd(p) {
  159429. // O + P = P
  159430. if (this.isInfinity()) return p.toJ();
  159431. // P + O = P
  159432. if (p.isInfinity()) return this;
  159433. // 8M + 3S + 7A
  159434. var z2 = this.z.redSqr();
  159435. var u1 = this.x;
  159436. var u2 = p.x.redMul(z2);
  159437. var s1 = this.y;
  159438. var s2 = p.y.redMul(z2).redMul(this.z);
  159439. var h = u1.redSub(u2);
  159440. var r = s1.redSub(s2);
  159441. if (h.cmpn(0) === 0) {
  159442. if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);
  159443. else return this.dbl();
  159444. }
  159445. var h2 = h.redSqr();
  159446. var h3 = h2.redMul(h);
  159447. var v = u1.redMul(h2);
  159448. var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
  159449. var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
  159450. var nz = this.z.redMul(h);
  159451. return this.curve.jpoint(nx, ny, nz);
  159452. };
  159453. JPoint.prototype.dblp = function dblp(pow) {
  159454. if (pow === 0) return this;
  159455. if (this.isInfinity()) return this;
  159456. if (!pow) return this.dbl();
  159457. if (this.curve.zeroA || this.curve.threeA) {
  159458. var r = this;
  159459. for (var i = 0; i < pow; i++) r = r.dbl();
  159460. return r;
  159461. }
  159462. // 1M + 2S + 1A + N * (4S + 5M + 8A)
  159463. // N = 1 => 6M + 6S + 9A
  159464. var a = this.curve.a;
  159465. var tinv = this.curve.tinv;
  159466. var jx = this.x;
  159467. var jy = this.y;
  159468. var jz = this.z;
  159469. var jz4 = jz.redSqr().redSqr();
  159470. // Reuse results
  159471. var jyd = jy.redAdd(jy);
  159472. for (var i = 0; i < pow; i++) {
  159473. var jx2 = jx.redSqr();
  159474. var jyd2 = jyd.redSqr();
  159475. var jyd4 = jyd2.redSqr();
  159476. var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
  159477. var t1 = jx.redMul(jyd2);
  159478. var nx = c.redSqr().redISub(t1.redAdd(t1));
  159479. var t2 = t1.redISub(nx);
  159480. var dny = c.redMul(t2);
  159481. dny = dny.redIAdd(dny).redISub(jyd4);
  159482. var nz = jyd.redMul(jz);
  159483. if (i + 1 < pow) jz4 = jz4.redMul(jyd4);
  159484. jx = nx;
  159485. jz = nz;
  159486. jyd = dny;
  159487. }
  159488. return this.curve.jpoint(jx, jyd.redMul(tinv), jz);
  159489. };
  159490. JPoint.prototype.dbl = function dbl() {
  159491. if (this.isInfinity()) return this;
  159492. if (this.curve.zeroA) return this._zeroDbl();
  159493. else if (this.curve.threeA) return this._threeDbl();
  159494. else return this._dbl();
  159495. };
  159496. JPoint.prototype._zeroDbl = function _zeroDbl() {
  159497. var nx;
  159498. var ny;
  159499. var nz;
  159500. // Z = 1
  159501. if (this.zOne) {
  159502. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
  159503. // #doubling-mdbl-2007-bl
  159504. // 1M + 5S + 14A
  159505. // XX = X1^2
  159506. var xx = this.x.redSqr();
  159507. // YY = Y1^2
  159508. var yy = this.y.redSqr();
  159509. // YYYY = YY^2
  159510. var yyyy = yy.redSqr();
  159511. // S = 2 * ((X1 + YY)^2 - XX - YYYY)
  159512. var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
  159513. s = s.redIAdd(s);
  159514. // M = 3 * XX + a; a = 0
  159515. var m = xx.redAdd(xx).redIAdd(xx);
  159516. // T = M ^ 2 - 2*S
  159517. var t = m.redSqr().redISub(s).redISub(s);
  159518. // 8 * YYYY
  159519. var yyyy8 = yyyy.redIAdd(yyyy);
  159520. yyyy8 = yyyy8.redIAdd(yyyy8);
  159521. yyyy8 = yyyy8.redIAdd(yyyy8);
  159522. // X3 = T
  159523. nx = t;
  159524. // Y3 = M * (S - T) - 8 * YYYY
  159525. ny = m.redMul(s.redISub(t)).redISub(yyyy8);
  159526. // Z3 = 2*Y1
  159527. nz = this.y.redAdd(this.y);
  159528. } else {
  159529. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
  159530. // #doubling-dbl-2009-l
  159531. // 2M + 5S + 13A
  159532. // A = X1^2
  159533. var a = this.x.redSqr();
  159534. // B = Y1^2
  159535. var b = this.y.redSqr();
  159536. // C = B^2
  159537. var c = b.redSqr();
  159538. // D = 2 * ((X1 + B)^2 - A - C)
  159539. var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);
  159540. d = d.redIAdd(d);
  159541. // E = 3 * A
  159542. var e = a.redAdd(a).redIAdd(a);
  159543. // F = E^2
  159544. var f = e.redSqr();
  159545. // 8 * C
  159546. var c8 = c.redIAdd(c);
  159547. c8 = c8.redIAdd(c8);
  159548. c8 = c8.redIAdd(c8);
  159549. // X3 = F - 2 * D
  159550. nx = f.redISub(d).redISub(d);
  159551. // Y3 = E * (D - X3) - 8 * C
  159552. ny = e.redMul(d.redISub(nx)).redISub(c8);
  159553. // Z3 = 2 * Y1 * Z1
  159554. nz = this.y.redMul(this.z);
  159555. nz = nz.redIAdd(nz);
  159556. }
  159557. return this.curve.jpoint(nx, ny, nz);
  159558. };
  159559. JPoint.prototype._threeDbl = function _threeDbl() {
  159560. var nx;
  159561. var ny;
  159562. var nz;
  159563. // Z = 1
  159564. if (this.zOne) {
  159565. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html
  159566. // #doubling-mdbl-2007-bl
  159567. // 1M + 5S + 15A
  159568. // XX = X1^2
  159569. var xx = this.x.redSqr();
  159570. // YY = Y1^2
  159571. var yy = this.y.redSqr();
  159572. // YYYY = YY^2
  159573. var yyyy = yy.redSqr();
  159574. // S = 2 * ((X1 + YY)^2 - XX - YYYY)
  159575. var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
  159576. s = s.redIAdd(s);
  159577. // M = 3 * XX + a
  159578. var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);
  159579. // T = M^2 - 2 * S
  159580. var t = m.redSqr().redISub(s).redISub(s);
  159581. // X3 = T
  159582. nx = t;
  159583. // Y3 = M * (S - T) - 8 * YYYY
  159584. var yyyy8 = yyyy.redIAdd(yyyy);
  159585. yyyy8 = yyyy8.redIAdd(yyyy8);
  159586. yyyy8 = yyyy8.redIAdd(yyyy8);
  159587. ny = m.redMul(s.redISub(t)).redISub(yyyy8);
  159588. // Z3 = 2 * Y1
  159589. nz = this.y.redAdd(this.y);
  159590. } else {
  159591. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b
  159592. // 3M + 5S
  159593. // delta = Z1^2
  159594. var delta = this.z.redSqr();
  159595. // gamma = Y1^2
  159596. var gamma = this.y.redSqr();
  159597. // beta = X1 * gamma
  159598. var beta = this.x.redMul(gamma);
  159599. // alpha = 3 * (X1 - delta) * (X1 + delta)
  159600. var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));
  159601. alpha = alpha.redAdd(alpha).redIAdd(alpha);
  159602. // X3 = alpha^2 - 8 * beta
  159603. var beta4 = beta.redIAdd(beta);
  159604. beta4 = beta4.redIAdd(beta4);
  159605. var beta8 = beta4.redAdd(beta4);
  159606. nx = alpha.redSqr().redISub(beta8);
  159607. // Z3 = (Y1 + Z1)^2 - gamma - delta
  159608. nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);
  159609. // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2
  159610. var ggamma8 = gamma.redSqr();
  159611. ggamma8 = ggamma8.redIAdd(ggamma8);
  159612. ggamma8 = ggamma8.redIAdd(ggamma8);
  159613. ggamma8 = ggamma8.redIAdd(ggamma8);
  159614. ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);
  159615. }
  159616. return this.curve.jpoint(nx, ny, nz);
  159617. };
  159618. JPoint.prototype._dbl = function _dbl() {
  159619. var a = this.curve.a;
  159620. // 4M + 6S + 10A
  159621. var jx = this.x;
  159622. var jy = this.y;
  159623. var jz = this.z;
  159624. var jz4 = jz.redSqr().redSqr();
  159625. var jx2 = jx.redSqr();
  159626. var jy2 = jy.redSqr();
  159627. var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
  159628. var jxd4 = jx.redAdd(jx);
  159629. jxd4 = jxd4.redIAdd(jxd4);
  159630. var t1 = jxd4.redMul(jy2);
  159631. var nx = c.redSqr().redISub(t1.redAdd(t1));
  159632. var t2 = t1.redISub(nx);
  159633. var jyd8 = jy2.redSqr();
  159634. jyd8 = jyd8.redIAdd(jyd8);
  159635. jyd8 = jyd8.redIAdd(jyd8);
  159636. jyd8 = jyd8.redIAdd(jyd8);
  159637. var ny = c.redMul(t2).redISub(jyd8);
  159638. var nz = jy.redAdd(jy).redMul(jz);
  159639. return this.curve.jpoint(nx, ny, nz);
  159640. };
  159641. JPoint.prototype.trpl = function trpl() {
  159642. if (!this.curve.zeroA) return this.dbl().add(this);
  159643. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl
  159644. // 5M + 10S + ...
  159645. // XX = X1^2
  159646. var xx = this.x.redSqr();
  159647. // YY = Y1^2
  159648. var yy = this.y.redSqr();
  159649. // ZZ = Z1^2
  159650. var zz = this.z.redSqr();
  159651. // YYYY = YY^2
  159652. var yyyy = yy.redSqr();
  159653. // M = 3 * XX + a * ZZ2; a = 0
  159654. var m = xx.redAdd(xx).redIAdd(xx);
  159655. // MM = M^2
  159656. var mm = m.redSqr();
  159657. // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM
  159658. var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
  159659. e = e.redIAdd(e);
  159660. e = e.redAdd(e).redIAdd(e);
  159661. e = e.redISub(mm);
  159662. // EE = E^2
  159663. var ee = e.redSqr();
  159664. // T = 16*YYYY
  159665. var t = yyyy.redIAdd(yyyy);
  159666. t = t.redIAdd(t);
  159667. t = t.redIAdd(t);
  159668. t = t.redIAdd(t);
  159669. // U = (M + E)^2 - MM - EE - T
  159670. var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);
  159671. // X3 = 4 * (X1 * EE - 4 * YY * U)
  159672. var yyu4 = yy.redMul(u);
  159673. yyu4 = yyu4.redIAdd(yyu4);
  159674. yyu4 = yyu4.redIAdd(yyu4);
  159675. var nx = this.x.redMul(ee).redISub(yyu4);
  159676. nx = nx.redIAdd(nx);
  159677. nx = nx.redIAdd(nx);
  159678. // Y3 = 8 * Y1 * (U * (T - U) - E * EE)
  159679. var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));
  159680. ny = ny.redIAdd(ny);
  159681. ny = ny.redIAdd(ny);
  159682. ny = ny.redIAdd(ny);
  159683. // Z3 = (Z1 + E)^2 - ZZ - EE
  159684. var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);
  159685. return this.curve.jpoint(nx, ny, nz);
  159686. };
  159687. JPoint.prototype.mul = function mul(k, kbase) {
  159688. k = new BN(k, kbase);
  159689. return this.curve._wnafMul(this, k);
  159690. };
  159691. JPoint.prototype.eq = function eq(p) {
  159692. if (p.type === "affine") return this.eq(p.toJ());
  159693. if (this === p) return true;
  159694. // x1 * z2^2 == x2 * z1^2
  159695. var z2 = this.z.redSqr();
  159696. var pz2 = p.z.redSqr();
  159697. if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)
  159698. return false;
  159699. // y1 * z2^3 == y2 * z1^3
  159700. var z3 = z2.redMul(this.z);
  159701. var pz3 = pz2.redMul(p.z);
  159702. return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;
  159703. };
  159704. JPoint.prototype.eqXToP = function eqXToP(x) {
  159705. var zs = this.z.redSqr();
  159706. var rx = x.toRed(this.curve.red).redMul(zs);
  159707. if (this.x.cmp(rx) === 0) return true;
  159708. var xc = x.clone();
  159709. var t = this.curve.redN.redMul(zs);
  159710. for (;;) {
  159711. xc.iadd(this.curve.n);
  159712. if (xc.cmp(this.curve.p) >= 0) return false;
  159713. rx.redIAdd(t);
  159714. if (this.x.cmp(rx) === 0) return true;
  159715. }
  159716. return false;
  159717. };
  159718. JPoint.prototype.inspect = function inspect() {
  159719. if (this.isInfinity()) return "<EC JPoint Infinity>";
  159720. return (
  159721. "<EC JPoint x: " +
  159722. this.x.toString(16, 2) +
  159723. " y: " +
  159724. this.y.toString(16, 2) +
  159725. " z: " +
  159726. this.z.toString(16, 2) +
  159727. ">"
  159728. );
  159729. };
  159730. JPoint.prototype.isInfinity = function isInfinity() {
  159731. // XXX This code assumes that zero is always zero in red
  159732. return this.z.cmpn(0) === 0;
  159733. };
  159734. },
  159735. { "../../elliptic": 74, "../curve": 77, "bn.js": 25, inherits: 108 },
  159736. ],
  159737. 80: [
  159738. function (require, module, exports) {
  159739. "use strict";
  159740. var curves = exports;
  159741. var hash = require("hash.js");
  159742. var elliptic = require("../elliptic.js");
  159743. var assert = elliptic.utils.assert;
  159744. function PresetCurve(options) {
  159745. if (options.type === "short")
  159746. this.curve = new elliptic.curve.short(options);
  159747. else if (options.type === "edwards")
  159748. this.curve = new elliptic.curve.edwards(options);
  159749. else this.curve = new elliptic.curve.mont(options);
  159750. this.g = this.curve.g;
  159751. this.n = this.curve.n;
  159752. this.hash = options.hash;
  159753. assert(this.g.validate(), "Invalid curve");
  159754. assert(this.g.mul(this.n).isInfinity(), "Invalid curve, G*N != O");
  159755. }
  159756. curves.PresetCurve = PresetCurve;
  159757. function defineCurve(name, options) {
  159758. Object.defineProperty(curves, name, {
  159759. configurable: true,
  159760. enumerable: true,
  159761. get: function () {
  159762. var curve = new PresetCurve(options);
  159763. Object.defineProperty(curves, name, {
  159764. configurable: true,
  159765. enumerable: true,
  159766. value: curve,
  159767. });
  159768. return curve;
  159769. },
  159770. });
  159771. }
  159772. defineCurve("p192", {
  159773. type: "short",
  159774. prime: "p192",
  159775. p: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",
  159776. a: "ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",
  159777. b: "64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",
  159778. n: "ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",
  159779. hash: hash.sha256,
  159780. gRed: false,
  159781. g: [
  159782. "188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012",
  159783. "07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811",
  159784. ],
  159785. });
  159786. defineCurve("p224", {
  159787. type: "short",
  159788. prime: "p224",
  159789. p: "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",
  159790. a: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",
  159791. b: "b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",
  159792. n: "ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",
  159793. hash: hash.sha256,
  159794. gRed: false,
  159795. g: [
  159796. "b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21",
  159797. "bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34",
  159798. ],
  159799. });
  159800. defineCurve("p256", {
  159801. type: "short",
  159802. prime: null,
  159803. p: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",
  159804. a: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",
  159805. b: "5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",
  159806. n: "ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",
  159807. hash: hash.sha256,
  159808. gRed: false,
  159809. g: [
  159810. "6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296",
  159811. "4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5",
  159812. ],
  159813. });
  159814. defineCurve("p384", {
  159815. type: "short",
  159816. prime: null,
  159817. p:
  159818. "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159819. "fffffffe ffffffff 00000000 00000000 ffffffff",
  159820. a:
  159821. "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159822. "fffffffe ffffffff 00000000 00000000 fffffffc",
  159823. b:
  159824. "b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f " +
  159825. "5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",
  159826. n:
  159827. "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 " +
  159828. "f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",
  159829. hash: hash.sha384,
  159830. gRed: false,
  159831. g: [
  159832. "aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 " +
  159833. "5502f25d bf55296c 3a545e38 72760ab7",
  159834. "3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 " +
  159835. "0a60b1ce 1d7e819d 7a431d7c 90ea0e5f",
  159836. ],
  159837. });
  159838. defineCurve("p521", {
  159839. type: "short",
  159840. prime: null,
  159841. p:
  159842. "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159843. "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159844. "ffffffff ffffffff ffffffff ffffffff ffffffff",
  159845. a:
  159846. "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159847. "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159848. "ffffffff ffffffff ffffffff ffffffff fffffffc",
  159849. b:
  159850. "00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b " +
  159851. "99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd " +
  159852. "3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",
  159853. n:
  159854. "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff " +
  159855. "ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 " +
  159856. "f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",
  159857. hash: hash.sha512,
  159858. gRed: false,
  159859. g: [
  159860. "000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 " +
  159861. "053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 " +
  159862. "a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66",
  159863. "00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 " +
  159864. "579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 " +
  159865. "3fad0761 353c7086 a272c240 88be9476 9fd16650",
  159866. ],
  159867. });
  159868. defineCurve("curve25519", {
  159869. type: "mont",
  159870. prime: "p25519",
  159871. p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",
  159872. a: "76d06",
  159873. b: "1",
  159874. n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",
  159875. hash: hash.sha256,
  159876. gRed: false,
  159877. g: ["9"],
  159878. });
  159879. defineCurve("ed25519", {
  159880. type: "edwards",
  159881. prime: "p25519",
  159882. p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",
  159883. a: "-1",
  159884. c: "1",
  159885. // -121665 * (121666^(-1)) (mod P)
  159886. d: "52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",
  159887. n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",
  159888. hash: hash.sha256,
  159889. gRed: false,
  159890. g: [
  159891. "216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a",
  159892. // 4/5
  159893. "6666666666666666666666666666666666666666666666666666666666666658",
  159894. ],
  159895. });
  159896. var pre;
  159897. try {
  159898. pre = require("./precomputed/secp256k1.js");
  159899. } catch (e) {
  159900. pre = undefined;
  159901. }
  159902. defineCurve("secp256k1", {
  159903. type: "short",
  159904. prime: "k256",
  159905. p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",
  159906. a: "0",
  159907. b: "7",
  159908. n: "ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",
  159909. h: "1",
  159910. hash: hash.sha256,
  159911. // Precomputed endomorphism
  159912. beta: "7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",
  159913. lambda:
  159914. "5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",
  159915. basis: [
  159916. {
  159917. a: "3086d221a7d46bcde86c90e49284eb15",
  159918. b: "-e4437ed6010e88286f547fa90abfe4c3",
  159919. },
  159920. {
  159921. a: "114ca50f7a8e2f3f657c1108d9d44cfd8",
  159922. b: "3086d221a7d46bcde86c90e49284eb15",
  159923. },
  159924. ],
  159925. gRed: false,
  159926. g: [
  159927. "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
  159928. "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  159929. pre,
  159930. ],
  159931. });
  159932. },
  159933. { "../elliptic": 74, "./precomputed/secp256k1": 87, "hash.js": 93 },
  159934. ],
  159935. 81: [
  159936. function (require, module, exports) {
  159937. "use strict";
  159938. var BN = require("bn.js");
  159939. var HmacDRBG = require("hmac-drbg");
  159940. var elliptic = require("../../elliptic.js");
  159941. var utils = elliptic.utils;
  159942. var assert = utils.assert;
  159943. var KeyPair = require("./key.js");
  159944. var Signature = require("./signature.js");
  159945. function EC(options) {
  159946. if (!(this instanceof EC)) return new EC(options);
  159947. // Shortcut `elliptic.ec(curve-name)`
  159948. if (typeof options === "string") {
  159949. assert(
  159950. elliptic.curves.hasOwnProperty(options),
  159951. "Unknown curve " + options
  159952. );
  159953. options = elliptic.curves[options];
  159954. }
  159955. // Shortcut for `elliptic.ec(elliptic.curves.curveName)`
  159956. if (options instanceof elliptic.curves.PresetCurve)
  159957. options = { curve: options };
  159958. this.curve = options.curve.curve;
  159959. this.n = this.curve.n;
  159960. this.nh = this.n.ushrn(1);
  159961. this.g = this.curve.g;
  159962. // Point on curve
  159963. this.g = options.curve.g;
  159964. this.g.precompute(options.curve.n.bitLength() + 1);
  159965. // Hash for function for DRBG
  159966. this.hash = options.hash || options.curve.hash;
  159967. }
  159968. module.exports = EC;
  159969. EC.prototype.keyPair = function keyPair(options) {
  159970. return new KeyPair(this, options);
  159971. };
  159972. EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {
  159973. return KeyPair.fromPrivate(this, priv, enc);
  159974. };
  159975. EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {
  159976. return KeyPair.fromPublic(this, pub, enc);
  159977. };
  159978. EC.prototype.genKeyPair = function genKeyPair(options) {
  159979. if (!options) options = {};
  159980. // Instantiate Hmac_DRBG
  159981. var drbg = new HmacDRBG({
  159982. hash: this.hash,
  159983. pers: options.pers,
  159984. persEnc: options.persEnc || "utf8",
  159985. entropy: options.entropy || elliptic.rand(this.hash.hmacStrength),
  159986. entropyEnc: (options.entropy && options.entropyEnc) || "utf8",
  159987. nonce: this.n.toArray(),
  159988. });
  159989. var bytes = this.n.byteLength();
  159990. var ns2 = this.n.sub(new BN(2));
  159991. do {
  159992. var priv = new BN(drbg.generate(bytes));
  159993. if (priv.cmp(ns2) > 0) continue;
  159994. priv.iaddn(1);
  159995. return this.keyFromPrivate(priv);
  159996. } while (true);
  159997. };
  159998. EC.prototype._truncateToN = function truncateToN(msg, truncOnly) {
  159999. var delta = msg.byteLength() * 8 - this.n.bitLength();
  160000. if (delta > 0) msg = msg.ushrn(delta);
  160001. if (!truncOnly && msg.cmp(this.n) >= 0) return msg.sub(this.n);
  160002. else return msg;
  160003. };
  160004. EC.prototype.sign = function sign(msg, key, enc, options) {
  160005. if (typeof enc === "object") {
  160006. options = enc;
  160007. enc = null;
  160008. }
  160009. if (!options) options = {};
  160010. key = this.keyFromPrivate(key, enc);
  160011. msg = this._truncateToN(new BN(msg, 16));
  160012. // Zero-extend key to provide enough entropy
  160013. var bytes = this.n.byteLength();
  160014. var bkey = key.getPrivate().toArray("be", bytes);
  160015. // Zero-extend nonce to have the same byte size as N
  160016. var nonce = msg.toArray("be", bytes);
  160017. // Instantiate Hmac_DRBG
  160018. var drbg = new HmacDRBG({
  160019. hash: this.hash,
  160020. entropy: bkey,
  160021. nonce: nonce,
  160022. pers: options.pers,
  160023. persEnc: options.persEnc || "utf8",
  160024. });
  160025. // Number of bytes to generate
  160026. var ns1 = this.n.sub(new BN(1));
  160027. for (var iter = 0; true; iter++) {
  160028. var k = options.k
  160029. ? options.k(iter)
  160030. : new BN(drbg.generate(this.n.byteLength()));
  160031. k = this._truncateToN(k, true);
  160032. if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) continue;
  160033. var kp = this.g.mul(k);
  160034. if (kp.isInfinity()) continue;
  160035. var kpX = kp.getX();
  160036. var r = kpX.umod(this.n);
  160037. if (r.cmpn(0) === 0) continue;
  160038. var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));
  160039. s = s.umod(this.n);
  160040. if (s.cmpn(0) === 0) continue;
  160041. var recoveryParam =
  160042. (kp.getY().isOdd() ? 1 : 0) | (kpX.cmp(r) !== 0 ? 2 : 0);
  160043. // Use complement of `s`, if it is > `n / 2`
  160044. if (options.canonical && s.cmp(this.nh) > 0) {
  160045. s = this.n.sub(s);
  160046. recoveryParam ^= 1;
  160047. }
  160048. return new Signature({ r: r, s: s, recoveryParam: recoveryParam });
  160049. }
  160050. };
  160051. EC.prototype.verify = function verify(msg, signature, key, enc) {
  160052. msg = this._truncateToN(new BN(msg, 16));
  160053. key = this.keyFromPublic(key, enc);
  160054. signature = new Signature(signature, "hex");
  160055. // Perform primitive values validation
  160056. var r = signature.r;
  160057. var s = signature.s;
  160058. if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) return false;
  160059. if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) return false;
  160060. // Validate signature
  160061. var sinv = s.invm(this.n);
  160062. var u1 = sinv.mul(msg).umod(this.n);
  160063. var u2 = sinv.mul(r).umod(this.n);
  160064. if (!this.curve._maxwellTrick) {
  160065. var p = this.g.mulAdd(u1, key.getPublic(), u2);
  160066. if (p.isInfinity()) return false;
  160067. return p.getX().umod(this.n).cmp(r) === 0;
  160068. }
  160069. // NOTE: Greg Maxwell's trick, inspired by:
  160070. // https://git.io/vad3K
  160071. var p = this.g.jmulAdd(u1, key.getPublic(), u2);
  160072. if (p.isInfinity()) return false;
  160073. // Compare `p.x` of Jacobian point with `r`,
  160074. // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the
  160075. // inverse of `p.z^2`
  160076. return p.eqXToP(r);
  160077. };
  160078. EC.prototype.recoverPubKey = function (msg, signature, j, enc) {
  160079. assert((3 & j) === j, "The recovery param is more than two bits");
  160080. signature = new Signature(signature, enc);
  160081. var n = this.n;
  160082. var e = new BN(msg);
  160083. var r = signature.r;
  160084. var s = signature.s;
  160085. // A set LSB signifies that the y-coordinate is odd
  160086. var isYOdd = j & 1;
  160087. var isSecondKey = j >> 1;
  160088. if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)
  160089. throw new Error("Unable to find sencond key candinate");
  160090. // 1.1. Let x = r + jn.
  160091. if (isSecondKey)
  160092. r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);
  160093. else r = this.curve.pointFromX(r, isYOdd);
  160094. var rInv = signature.r.invm(n);
  160095. var s1 = n.sub(e).mul(rInv).umod(n);
  160096. var s2 = s.mul(rInv).umod(n);
  160097. // 1.6.1 Compute Q = r^-1 (sR - eG)
  160098. // Q = r^-1 (sR + -eG)
  160099. return this.g.mulAdd(s1, r, s2);
  160100. };
  160101. EC.prototype.getKeyRecoveryParam = function (e, signature, Q, enc) {
  160102. signature = new Signature(signature, enc);
  160103. if (signature.recoveryParam !== null) return signature.recoveryParam;
  160104. for (var i = 0; i < 4; i++) {
  160105. var Qprime;
  160106. try {
  160107. Qprime = this.recoverPubKey(e, signature, i);
  160108. } catch (e) {
  160109. continue;
  160110. }
  160111. if (Qprime.eq(Q)) return i;
  160112. }
  160113. throw new Error("Unable to find valid recovery factor");
  160114. };
  160115. },
  160116. {
  160117. "../../elliptic": 74,
  160118. "./key": 82,
  160119. "./signature": 83,
  160120. "bn.js": 25,
  160121. "hmac-drbg": 105,
  160122. },
  160123. ],
  160124. 82: [
  160125. function (require, module, exports) {
  160126. "use strict";
  160127. var BN = require("bn.js");
  160128. var elliptic = require("../../elliptic.js");
  160129. var utils = elliptic.utils;
  160130. var assert = utils.assert;
  160131. function KeyPair(ec, options) {
  160132. this.ec = ec;
  160133. this.priv = null;
  160134. this.pub = null;
  160135. // KeyPair(ec, { priv: ..., pub: ... })
  160136. if (options.priv) this._importPrivate(options.priv, options.privEnc);
  160137. if (options.pub) this._importPublic(options.pub, options.pubEnc);
  160138. }
  160139. module.exports = KeyPair;
  160140. KeyPair.fromPublic = function fromPublic(ec, pub, enc) {
  160141. if (pub instanceof KeyPair) return pub;
  160142. return new KeyPair(ec, {
  160143. pub: pub,
  160144. pubEnc: enc,
  160145. });
  160146. };
  160147. KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {
  160148. if (priv instanceof KeyPair) return priv;
  160149. return new KeyPair(ec, {
  160150. priv: priv,
  160151. privEnc: enc,
  160152. });
  160153. };
  160154. KeyPair.prototype.validate = function validate() {
  160155. var pub = this.getPublic();
  160156. if (pub.isInfinity())
  160157. return { result: false, reason: "Invalid public key" };
  160158. if (!pub.validate())
  160159. return { result: false, reason: "Public key is not a point" };
  160160. if (!pub.mul(this.ec.curve.n).isInfinity())
  160161. return { result: false, reason: "Public key * N != O" };
  160162. return { result: true, reason: null };
  160163. };
  160164. KeyPair.prototype.getPublic = function getPublic(compact, enc) {
  160165. // compact is optional argument
  160166. if (typeof compact === "string") {
  160167. enc = compact;
  160168. compact = null;
  160169. }
  160170. if (!this.pub) this.pub = this.ec.g.mul(this.priv);
  160171. if (!enc) return this.pub;
  160172. return this.pub.encode(enc, compact);
  160173. };
  160174. KeyPair.prototype.getPrivate = function getPrivate(enc) {
  160175. if (enc === "hex") return this.priv.toString(16, 2);
  160176. else return this.priv;
  160177. };
  160178. KeyPair.prototype._importPrivate = function _importPrivate(key, enc) {
  160179. this.priv = new BN(key, enc || 16);
  160180. // Ensure that the priv won't be bigger than n, otherwise we may fail
  160181. // in fixed multiplication method
  160182. this.priv = this.priv.umod(this.ec.curve.n);
  160183. };
  160184. KeyPair.prototype._importPublic = function _importPublic(key, enc) {
  160185. if (key.x || key.y) {
  160186. // Montgomery points only have an `x` coordinate.
  160187. // Weierstrass/Edwards points on the other hand have both `x` and
  160188. // `y` coordinates.
  160189. if (this.ec.curve.type === "mont") {
  160190. assert(key.x, "Need x coordinate");
  160191. } else if (
  160192. this.ec.curve.type === "short" ||
  160193. this.ec.curve.type === "edwards"
  160194. ) {
  160195. assert(key.x && key.y, "Need both x and y coordinate");
  160196. }
  160197. this.pub = this.ec.curve.point(key.x, key.y);
  160198. return;
  160199. }
  160200. this.pub = this.ec.curve.decodePoint(key, enc);
  160201. };
  160202. // ECDH
  160203. KeyPair.prototype.derive = function derive(pub) {
  160204. return pub.mul(this.priv).getX();
  160205. };
  160206. // ECDSA
  160207. KeyPair.prototype.sign = function sign(msg, enc, options) {
  160208. return this.ec.sign(msg, this, enc, options);
  160209. };
  160210. KeyPair.prototype.verify = function verify(msg, signature) {
  160211. return this.ec.verify(msg, signature, this);
  160212. };
  160213. KeyPair.prototype.inspect = function inspect() {
  160214. return (
  160215. "<Key priv: " +
  160216. (this.priv && this.priv.toString(16, 2)) +
  160217. " pub: " +
  160218. (this.pub && this.pub.inspect()) +
  160219. " >"
  160220. );
  160221. };
  160222. },
  160223. { "../../elliptic": 74, "bn.js": 25 },
  160224. ],
  160225. 83: [
  160226. function (require, module, exports) {
  160227. "use strict";
  160228. var BN = require("bn.js");
  160229. var elliptic = require("../../elliptic.js");
  160230. var utils = elliptic.utils;
  160231. var assert = utils.assert;
  160232. function Signature(options, enc) {
  160233. if (options instanceof Signature) return options;
  160234. if (this._importDER(options, enc)) return;
  160235. assert(options.r && options.s, "Signature without r or s");
  160236. this.r = new BN(options.r, 16);
  160237. this.s = new BN(options.s, 16);
  160238. if (options.recoveryParam === undefined) this.recoveryParam = null;
  160239. else this.recoveryParam = options.recoveryParam;
  160240. }
  160241. module.exports = Signature;
  160242. function Position() {
  160243. this.place = 0;
  160244. }
  160245. function getLength(buf, p) {
  160246. var initial = buf[p.place++];
  160247. if (!(initial & 0x80)) {
  160248. return initial;
  160249. }
  160250. var octetLen = initial & 0xf;
  160251. var val = 0;
  160252. for (var i = 0, off = p.place; i < octetLen; i++, off++) {
  160253. val <<= 8;
  160254. val |= buf[off];
  160255. }
  160256. p.place = off;
  160257. return val;
  160258. }
  160259. function rmPadding(buf) {
  160260. var i = 0;
  160261. var len = buf.length - 1;
  160262. while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {
  160263. i++;
  160264. }
  160265. if (i === 0) {
  160266. return buf;
  160267. }
  160268. return buf.slice(i);
  160269. }
  160270. Signature.prototype._importDER = function _importDER(data, enc) {
  160271. data = utils.toArray(data, enc);
  160272. var p = new Position();
  160273. if (data[p.place++] !== 0x30) {
  160274. return false;
  160275. }
  160276. var len = getLength(data, p);
  160277. if (len + p.place !== data.length) {
  160278. return false;
  160279. }
  160280. if (data[p.place++] !== 0x02) {
  160281. return false;
  160282. }
  160283. var rlen = getLength(data, p);
  160284. var r = data.slice(p.place, rlen + p.place);
  160285. p.place += rlen;
  160286. if (data[p.place++] !== 0x02) {
  160287. return false;
  160288. }
  160289. var slen = getLength(data, p);
  160290. if (data.length !== slen + p.place) {
  160291. return false;
  160292. }
  160293. var s = data.slice(p.place, slen + p.place);
  160294. if (r[0] === 0 && r[1] & 0x80) {
  160295. r = r.slice(1);
  160296. }
  160297. if (s[0] === 0 && s[1] & 0x80) {
  160298. s = s.slice(1);
  160299. }
  160300. this.r = new BN(r);
  160301. this.s = new BN(s);
  160302. this.recoveryParam = null;
  160303. return true;
  160304. };
  160305. function constructLength(arr, len) {
  160306. if (len < 0x80) {
  160307. arr.push(len);
  160308. return;
  160309. }
  160310. var octets = 1 + ((Math.log(len) / Math.LN2) >>> 3);
  160311. arr.push(octets | 0x80);
  160312. while (--octets) {
  160313. arr.push((len >>> (octets << 3)) & 0xff);
  160314. }
  160315. arr.push(len);
  160316. }
  160317. Signature.prototype.toDER = function toDER(enc) {
  160318. var r = this.r.toArray();
  160319. var s = this.s.toArray();
  160320. // Pad values
  160321. if (r[0] & 0x80) r = [0].concat(r);
  160322. // Pad values
  160323. if (s[0] & 0x80) s = [0].concat(s);
  160324. r = rmPadding(r);
  160325. s = rmPadding(s);
  160326. while (!s[0] && !(s[1] & 0x80)) {
  160327. s = s.slice(1);
  160328. }
  160329. var arr = [0x02];
  160330. constructLength(arr, r.length);
  160331. arr = arr.concat(r);
  160332. arr.push(0x02);
  160333. constructLength(arr, s.length);
  160334. var backHalf = arr.concat(s);
  160335. var res = [0x30];
  160336. constructLength(res, backHalf.length);
  160337. res = res.concat(backHalf);
  160338. return utils.encode(res, enc);
  160339. };
  160340. },
  160341. { "../../elliptic": 74, "bn.js": 25 },
  160342. ],
  160343. 84: [
  160344. function (require, module, exports) {
  160345. "use strict";
  160346. var hash = require("hash.js");
  160347. var elliptic = require("../../elliptic.js");
  160348. var utils = elliptic.utils;
  160349. var assert = utils.assert;
  160350. var parseBytes = utils.parseBytes;
  160351. var KeyPair = require("./key.js");
  160352. var Signature = require("./signature.js");
  160353. function EDDSA(curve) {
  160354. assert(curve === "ed25519", "only tested with ed25519 so far");
  160355. if (!(this instanceof EDDSA)) return new EDDSA(curve);
  160356. var curve = elliptic.curves[curve].curve;
  160357. this.curve = curve;
  160358. this.g = curve.g;
  160359. this.g.precompute(curve.n.bitLength() + 1);
  160360. this.pointClass = curve.point().constructor;
  160361. this.encodingLength = Math.ceil(curve.n.bitLength() / 8);
  160362. this.hash = hash.sha512;
  160363. }
  160364. module.exports = EDDSA;
  160365. /**
  160366. * @param {Array|String} message - message bytes
  160367. * @param {Array|String|KeyPair} secret - secret bytes or a keypair
  160368. * @returns {Signature} - signature
  160369. */
  160370. EDDSA.prototype.sign = function sign(message, secret) {
  160371. message = parseBytes(message);
  160372. var key = this.keyFromSecret(secret);
  160373. var r = this.hashInt(key.messagePrefix(), message);
  160374. var R = this.g.mul(r);
  160375. var Rencoded = this.encodePoint(R);
  160376. var s_ = this.hashInt(Rencoded, key.pubBytes(), message).mul(
  160377. key.priv()
  160378. );
  160379. var S = r.add(s_).umod(this.curve.n);
  160380. return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });
  160381. };
  160382. /**
  160383. * @param {Array} message - message bytes
  160384. * @param {Array|String|Signature} sig - sig bytes
  160385. * @param {Array|String|Point|KeyPair} pub - public key
  160386. * @returns {Boolean} - true if public key matches sig of message
  160387. */
  160388. EDDSA.prototype.verify = function verify(message, sig, pub) {
  160389. message = parseBytes(message);
  160390. sig = this.makeSignature(sig);
  160391. var key = this.keyFromPublic(pub);
  160392. var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);
  160393. var SG = this.g.mul(sig.S());
  160394. var RplusAh = sig.R().add(key.pub().mul(h));
  160395. return RplusAh.eq(SG);
  160396. };
  160397. EDDSA.prototype.hashInt = function hashInt() {
  160398. var hash = this.hash();
  160399. for (var i = 0; i < arguments.length; i++) hash.update(arguments[i]);
  160400. return utils.intFromLE(hash.digest()).umod(this.curve.n);
  160401. };
  160402. EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {
  160403. return KeyPair.fromPublic(this, pub);
  160404. };
  160405. EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {
  160406. return KeyPair.fromSecret(this, secret);
  160407. };
  160408. EDDSA.prototype.makeSignature = function makeSignature(sig) {
  160409. if (sig instanceof Signature) return sig;
  160410. return new Signature(this, sig);
  160411. };
  160412. /**
  160413. * * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2
  160414. *
  160415. * EDDSA defines methods for encoding and decoding points and integers. These are
  160416. * helper convenience methods, that pass along to utility functions implied
  160417. * parameters.
  160418. *
  160419. */
  160420. EDDSA.prototype.encodePoint = function encodePoint(point) {
  160421. var enc = point.getY().toArray("le", this.encodingLength);
  160422. enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;
  160423. return enc;
  160424. };
  160425. EDDSA.prototype.decodePoint = function decodePoint(bytes) {
  160426. bytes = utils.parseBytes(bytes);
  160427. var lastIx = bytes.length - 1;
  160428. var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);
  160429. var xIsOdd = (bytes[lastIx] & 0x80) !== 0;
  160430. var y = utils.intFromLE(normed);
  160431. return this.curve.pointFromY(y, xIsOdd);
  160432. };
  160433. EDDSA.prototype.encodeInt = function encodeInt(num) {
  160434. return num.toArray("le", this.encodingLength);
  160435. };
  160436. EDDSA.prototype.decodeInt = function decodeInt(bytes) {
  160437. return utils.intFromLE(bytes);
  160438. };
  160439. EDDSA.prototype.isPoint = function isPoint(val) {
  160440. return val instanceof this.pointClass;
  160441. };
  160442. },
  160443. { "../../elliptic": 74, "./key": 85, "./signature": 86, "hash.js": 93 },
  160444. ],
  160445. 85: [
  160446. function (require, module, exports) {
  160447. "use strict";
  160448. var elliptic = require("../../elliptic.js");
  160449. var utils = elliptic.utils;
  160450. var assert = utils.assert;
  160451. var parseBytes = utils.parseBytes;
  160452. var cachedProperty = utils.cachedProperty;
  160453. /**
  160454. * @param {EDDSA} eddsa - instance
  160455. * @param {Object} params - public/private key parameters
  160456. *
  160457. * @param {Array<Byte>} [params.secret] - secret seed bytes
  160458. * @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)
  160459. * @param {Array<Byte>} [params.pub] - public key point encoded as bytes
  160460. *
  160461. */
  160462. function KeyPair(eddsa, params) {
  160463. this.eddsa = eddsa;
  160464. this._secret = parseBytes(params.secret);
  160465. if (eddsa.isPoint(params.pub)) this._pub = params.pub;
  160466. else this._pubBytes = parseBytes(params.pub);
  160467. }
  160468. KeyPair.fromPublic = function fromPublic(eddsa, pub) {
  160469. if (pub instanceof KeyPair) return pub;
  160470. return new KeyPair(eddsa, { pub: pub });
  160471. };
  160472. KeyPair.fromSecret = function fromSecret(eddsa, secret) {
  160473. if (secret instanceof KeyPair) return secret;
  160474. return new KeyPair(eddsa, { secret: secret });
  160475. };
  160476. KeyPair.prototype.secret = function secret() {
  160477. return this._secret;
  160478. };
  160479. cachedProperty(KeyPair, "pubBytes", function pubBytes() {
  160480. return this.eddsa.encodePoint(this.pub());
  160481. });
  160482. cachedProperty(KeyPair, "pub", function pub() {
  160483. if (this._pubBytes) return this.eddsa.decodePoint(this._pubBytes);
  160484. return this.eddsa.g.mul(this.priv());
  160485. });
  160486. cachedProperty(KeyPair, "privBytes", function privBytes() {
  160487. var eddsa = this.eddsa;
  160488. var hash = this.hash();
  160489. var lastIx = eddsa.encodingLength - 1;
  160490. var a = hash.slice(0, eddsa.encodingLength);
  160491. a[0] &= 248;
  160492. a[lastIx] &= 127;
  160493. a[lastIx] |= 64;
  160494. return a;
  160495. });
  160496. cachedProperty(KeyPair, "priv", function priv() {
  160497. return this.eddsa.decodeInt(this.privBytes());
  160498. });
  160499. cachedProperty(KeyPair, "hash", function hash() {
  160500. return this.eddsa.hash().update(this.secret()).digest();
  160501. });
  160502. cachedProperty(KeyPair, "messagePrefix", function messagePrefix() {
  160503. return this.hash().slice(this.eddsa.encodingLength);
  160504. });
  160505. KeyPair.prototype.sign = function sign(message) {
  160506. assert(this._secret, "KeyPair can only verify");
  160507. return this.eddsa.sign(message, this);
  160508. };
  160509. KeyPair.prototype.verify = function verify(message, sig) {
  160510. return this.eddsa.verify(message, sig, this);
  160511. };
  160512. KeyPair.prototype.getSecret = function getSecret(enc) {
  160513. assert(this._secret, "KeyPair is public only");
  160514. return utils.encode(this.secret(), enc);
  160515. };
  160516. KeyPair.prototype.getPublic = function getPublic(enc) {
  160517. return utils.encode(this.pubBytes(), enc);
  160518. };
  160519. module.exports = KeyPair;
  160520. },
  160521. { "../../elliptic": 74 },
  160522. ],
  160523. 86: [
  160524. function (require, module, exports) {
  160525. "use strict";
  160526. var BN = require("bn.js");
  160527. var elliptic = require("../../elliptic.js");
  160528. var utils = elliptic.utils;
  160529. var assert = utils.assert;
  160530. var cachedProperty = utils.cachedProperty;
  160531. var parseBytes = utils.parseBytes;
  160532. /**
  160533. * @param {EDDSA} eddsa - eddsa instance
  160534. * @param {Array<Bytes>|Object} sig -
  160535. * @param {Array<Bytes>|Point} [sig.R] - R point as Point or bytes
  160536. * @param {Array<Bytes>|bn} [sig.S] - S scalar as bn or bytes
  160537. * @param {Array<Bytes>} [sig.Rencoded] - R point encoded
  160538. * @param {Array<Bytes>} [sig.Sencoded] - S scalar encoded
  160539. */
  160540. function Signature(eddsa, sig) {
  160541. this.eddsa = eddsa;
  160542. if (typeof sig !== "object") sig = parseBytes(sig);
  160543. if (Array.isArray(sig)) {
  160544. sig = {
  160545. R: sig.slice(0, eddsa.encodingLength),
  160546. S: sig.slice(eddsa.encodingLength),
  160547. };
  160548. }
  160549. assert(sig.R && sig.S, "Signature without R or S");
  160550. if (eddsa.isPoint(sig.R)) this._R = sig.R;
  160551. if (sig.S instanceof BN) this._S = sig.S;
  160552. this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;
  160553. this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;
  160554. }
  160555. cachedProperty(Signature, "S", function S() {
  160556. return this.eddsa.decodeInt(this.Sencoded());
  160557. });
  160558. cachedProperty(Signature, "R", function R() {
  160559. return this.eddsa.decodePoint(this.Rencoded());
  160560. });
  160561. cachedProperty(Signature, "Rencoded", function Rencoded() {
  160562. return this.eddsa.encodePoint(this.R());
  160563. });
  160564. cachedProperty(Signature, "Sencoded", function Sencoded() {
  160565. return this.eddsa.encodeInt(this.S());
  160566. });
  160567. Signature.prototype.toBytes = function toBytes() {
  160568. return this.Rencoded().concat(this.Sencoded());
  160569. };
  160570. Signature.prototype.toHex = function toHex() {
  160571. return utils.encode(this.toBytes(), "hex").toUpperCase();
  160572. };
  160573. module.exports = Signature;
  160574. },
  160575. { "../../elliptic": 74, "bn.js": 25 },
  160576. ],
  160577. 87: [
  160578. function (require, module, exports) {
  160579. module.exports = {
  160580. doubles: {
  160581. step: 4,
  160582. points: [
  160583. [
  160584. "e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a",
  160585. "f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821",
  160586. ],
  160587. [
  160588. "8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508",
  160589. "11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
  160590. ],
  160591. [
  160592. "175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739",
  160593. "d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695",
  160594. ],
  160595. [
  160596. "363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640",
  160597. "4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9",
  160598. ],
  160599. [
  160600. "8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c",
  160601. "4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36",
  160602. ],
  160603. [
  160604. "723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda",
  160605. "96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f",
  160606. ],
  160607. [
  160608. "eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa",
  160609. "5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999",
  160610. ],
  160611. [
  160612. "100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0",
  160613. "cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09",
  160614. ],
  160615. [
  160616. "e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d",
  160617. "9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d",
  160618. ],
  160619. [
  160620. "feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d",
  160621. "e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088",
  160622. ],
  160623. [
  160624. "da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1",
  160625. "9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d",
  160626. ],
  160627. [
  160628. "53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0",
  160629. "5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8",
  160630. ],
  160631. [
  160632. "8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047",
  160633. "10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a",
  160634. ],
  160635. [
  160636. "385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862",
  160637. "283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453",
  160638. ],
  160639. [
  160640. "6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7",
  160641. "7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160",
  160642. ],
  160643. [
  160644. "3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd",
  160645. "56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0",
  160646. ],
  160647. [
  160648. "85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83",
  160649. "7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6",
  160650. ],
  160651. [
  160652. "948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a",
  160653. "53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589",
  160654. ],
  160655. [
  160656. "6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8",
  160657. "bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17",
  160658. ],
  160659. [
  160660. "e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d",
  160661. "4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda",
  160662. ],
  160663. [
  160664. "e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725",
  160665. "7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd",
  160666. ],
  160667. [
  160668. "213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754",
  160669. "4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2",
  160670. ],
  160671. [
  160672. "4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c",
  160673. "17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6",
  160674. ],
  160675. [
  160676. "fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6",
  160677. "6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f",
  160678. ],
  160679. [
  160680. "76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39",
  160681. "c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01",
  160682. ],
  160683. [
  160684. "c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891",
  160685. "893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3",
  160686. ],
  160687. [
  160688. "d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b",
  160689. "febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f",
  160690. ],
  160691. [
  160692. "b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03",
  160693. "2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7",
  160694. ],
  160695. [
  160696. "e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d",
  160697. "eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78",
  160698. ],
  160699. [
  160700. "a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070",
  160701. "7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1",
  160702. ],
  160703. [
  160704. "90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4",
  160705. "e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150",
  160706. ],
  160707. [
  160708. "8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da",
  160709. "662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82",
  160710. ],
  160711. [
  160712. "e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11",
  160713. "1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc",
  160714. ],
  160715. [
  160716. "8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e",
  160717. "efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b",
  160718. ],
  160719. [
  160720. "e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41",
  160721. "2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51",
  160722. ],
  160723. [
  160724. "b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef",
  160725. "67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45",
  160726. ],
  160727. [
  160728. "d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8",
  160729. "db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120",
  160730. ],
  160731. [
  160732. "324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d",
  160733. "648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84",
  160734. ],
  160735. [
  160736. "4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96",
  160737. "35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d",
  160738. ],
  160739. [
  160740. "9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd",
  160741. "ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d",
  160742. ],
  160743. [
  160744. "6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5",
  160745. "9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8",
  160746. ],
  160747. [
  160748. "a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266",
  160749. "40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8",
  160750. ],
  160751. [
  160752. "7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71",
  160753. "34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac",
  160754. ],
  160755. [
  160756. "928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac",
  160757. "c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f",
  160758. ],
  160759. [
  160760. "85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751",
  160761. "1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962",
  160762. ],
  160763. [
  160764. "ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e",
  160765. "493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907",
  160766. ],
  160767. [
  160768. "827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241",
  160769. "c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec",
  160770. ],
  160771. [
  160772. "eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3",
  160773. "be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d",
  160774. ],
  160775. [
  160776. "e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f",
  160777. "4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414",
  160778. ],
  160779. [
  160780. "1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19",
  160781. "aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd",
  160782. ],
  160783. [
  160784. "146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be",
  160785. "b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0",
  160786. ],
  160787. [
  160788. "fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9",
  160789. "6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811",
  160790. ],
  160791. [
  160792. "da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2",
  160793. "8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1",
  160794. ],
  160795. [
  160796. "a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13",
  160797. "7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c",
  160798. ],
  160799. [
  160800. "174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c",
  160801. "ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73",
  160802. ],
  160803. [
  160804. "959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba",
  160805. "2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd",
  160806. ],
  160807. [
  160808. "d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151",
  160809. "e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405",
  160810. ],
  160811. [
  160812. "64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073",
  160813. "d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589",
  160814. ],
  160815. [
  160816. "8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458",
  160817. "38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e",
  160818. ],
  160819. [
  160820. "13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b",
  160821. "69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27",
  160822. ],
  160823. [
  160824. "bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366",
  160825. "d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1",
  160826. ],
  160827. [
  160828. "8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa",
  160829. "40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482",
  160830. ],
  160831. [
  160832. "8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0",
  160833. "620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945",
  160834. ],
  160835. [
  160836. "dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787",
  160837. "7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573",
  160838. ],
  160839. [
  160840. "f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e",
  160841. "ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82",
  160842. ],
  160843. ],
  160844. },
  160845. naf: {
  160846. wnd: 7,
  160847. points: [
  160848. [
  160849. "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9",
  160850. "388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672",
  160851. ],
  160852. [
  160853. "2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4",
  160854. "d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6",
  160855. ],
  160856. [
  160857. "5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc",
  160858. "6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da",
  160859. ],
  160860. [
  160861. "acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe",
  160862. "cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37",
  160863. ],
  160864. [
  160865. "774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb",
  160866. "d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b",
  160867. ],
  160868. [
  160869. "f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8",
  160870. "ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81",
  160871. ],
  160872. [
  160873. "d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e",
  160874. "581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58",
  160875. ],
  160876. [
  160877. "defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34",
  160878. "4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77",
  160879. ],
  160880. [
  160881. "2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c",
  160882. "85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a",
  160883. ],
  160884. [
  160885. "352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5",
  160886. "321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c",
  160887. ],
  160888. [
  160889. "2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f",
  160890. "2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67",
  160891. ],
  160892. [
  160893. "9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714",
  160894. "73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402",
  160895. ],
  160896. [
  160897. "daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729",
  160898. "a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55",
  160899. ],
  160900. [
  160901. "c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db",
  160902. "2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482",
  160903. ],
  160904. [
  160905. "6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4",
  160906. "e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82",
  160907. ],
  160908. [
  160909. "1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5",
  160910. "b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396",
  160911. ],
  160912. [
  160913. "605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479",
  160914. "2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49",
  160915. ],
  160916. [
  160917. "62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d",
  160918. "80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf",
  160919. ],
  160920. [
  160921. "80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f",
  160922. "1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a",
  160923. ],
  160924. [
  160925. "7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb",
  160926. "d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7",
  160927. ],
  160928. [
  160929. "d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9",
  160930. "eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933",
  160931. ],
  160932. [
  160933. "49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963",
  160934. "758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a",
  160935. ],
  160936. [
  160937. "77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74",
  160938. "958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6",
  160939. ],
  160940. [
  160941. "f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530",
  160942. "e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37",
  160943. ],
  160944. [
  160945. "463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b",
  160946. "5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e",
  160947. ],
  160948. [
  160949. "f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247",
  160950. "cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6",
  160951. ],
  160952. [
  160953. "caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1",
  160954. "cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476",
  160955. ],
  160956. [
  160957. "2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120",
  160958. "4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40",
  160959. ],
  160960. [
  160961. "7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435",
  160962. "91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61",
  160963. ],
  160964. [
  160965. "754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18",
  160966. "673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683",
  160967. ],
  160968. [
  160969. "e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8",
  160970. "59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5",
  160971. ],
  160972. [
  160973. "186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb",
  160974. "3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b",
  160975. ],
  160976. [
  160977. "df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f",
  160978. "55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417",
  160979. ],
  160980. [
  160981. "5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143",
  160982. "efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868",
  160983. ],
  160984. [
  160985. "290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba",
  160986. "e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a",
  160987. ],
  160988. [
  160989. "af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45",
  160990. "f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6",
  160991. ],
  160992. [
  160993. "766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a",
  160994. "744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996",
  160995. ],
  160996. [
  160997. "59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e",
  160998. "c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e",
  160999. ],
  161000. [
  161001. "f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8",
  161002. "e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d",
  161003. ],
  161004. [
  161005. "7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c",
  161006. "30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2",
  161007. ],
  161008. [
  161009. "948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519",
  161010. "e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e",
  161011. ],
  161012. [
  161013. "7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab",
  161014. "100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437",
  161015. ],
  161016. [
  161017. "3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca",
  161018. "ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311",
  161019. ],
  161020. [
  161021. "d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf",
  161022. "8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4",
  161023. ],
  161024. [
  161025. "1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610",
  161026. "68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575",
  161027. ],
  161028. [
  161029. "733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4",
  161030. "f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d",
  161031. ],
  161032. [
  161033. "15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c",
  161034. "d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d",
  161035. ],
  161036. [
  161037. "a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940",
  161038. "edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629",
  161039. ],
  161040. [
  161041. "e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980",
  161042. "a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06",
  161043. ],
  161044. [
  161045. "311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3",
  161046. "66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374",
  161047. ],
  161048. [
  161049. "34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf",
  161050. "9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee",
  161051. ],
  161052. [
  161053. "f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63",
  161054. "4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1",
  161055. ],
  161056. [
  161057. "d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448",
  161058. "fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b",
  161059. ],
  161060. [
  161061. "32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf",
  161062. "5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661",
  161063. ],
  161064. [
  161065. "7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5",
  161066. "8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6",
  161067. ],
  161068. [
  161069. "ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6",
  161070. "8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e",
  161071. ],
  161072. [
  161073. "16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5",
  161074. "5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d",
  161075. ],
  161076. [
  161077. "eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99",
  161078. "f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc",
  161079. ],
  161080. [
  161081. "78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51",
  161082. "f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4",
  161083. ],
  161084. [
  161085. "494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5",
  161086. "42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c",
  161087. ],
  161088. [
  161089. "a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5",
  161090. "204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b",
  161091. ],
  161092. [
  161093. "c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997",
  161094. "4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913",
  161095. ],
  161096. [
  161097. "841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881",
  161098. "73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154",
  161099. ],
  161100. [
  161101. "5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5",
  161102. "39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865",
  161103. ],
  161104. [
  161105. "36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66",
  161106. "d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc",
  161107. ],
  161108. [
  161109. "336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726",
  161110. "ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224",
  161111. ],
  161112. [
  161113. "8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede",
  161114. "6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e",
  161115. ],
  161116. [
  161117. "1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94",
  161118. "60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6",
  161119. ],
  161120. [
  161121. "85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31",
  161122. "3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511",
  161123. ],
  161124. [
  161125. "29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51",
  161126. "b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b",
  161127. ],
  161128. [
  161129. "a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252",
  161130. "ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2",
  161131. ],
  161132. [
  161133. "4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5",
  161134. "cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c",
  161135. ],
  161136. [
  161137. "d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b",
  161138. "6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3",
  161139. ],
  161140. [
  161141. "ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4",
  161142. "322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d",
  161143. ],
  161144. [
  161145. "af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f",
  161146. "6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700",
  161147. ],
  161148. [
  161149. "e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889",
  161150. "2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4",
  161151. ],
  161152. [
  161153. "591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246",
  161154. "b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196",
  161155. ],
  161156. [
  161157. "11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984",
  161158. "998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4",
  161159. ],
  161160. [
  161161. "3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a",
  161162. "b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257",
  161163. ],
  161164. [
  161165. "cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030",
  161166. "bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13",
  161167. ],
  161168. [
  161169. "c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197",
  161170. "6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096",
  161171. ],
  161172. [
  161173. "c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593",
  161174. "c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38",
  161175. ],
  161176. [
  161177. "a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef",
  161178. "21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f",
  161179. ],
  161180. [
  161181. "347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38",
  161182. "60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448",
  161183. ],
  161184. [
  161185. "da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a",
  161186. "49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a",
  161187. ],
  161188. [
  161189. "c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111",
  161190. "5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4",
  161191. ],
  161192. [
  161193. "4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502",
  161194. "7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437",
  161195. ],
  161196. [
  161197. "3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea",
  161198. "be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7",
  161199. ],
  161200. [
  161201. "cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26",
  161202. "8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d",
  161203. ],
  161204. [
  161205. "b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986",
  161206. "39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a",
  161207. ],
  161208. [
  161209. "d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e",
  161210. "62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54",
  161211. ],
  161212. [
  161213. "48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4",
  161214. "25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77",
  161215. ],
  161216. [
  161217. "dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda",
  161218. "ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517",
  161219. ],
  161220. [
  161221. "6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859",
  161222. "cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10",
  161223. ],
  161224. [
  161225. "e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f",
  161226. "f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125",
  161227. ],
  161228. [
  161229. "eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c",
  161230. "6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e",
  161231. ],
  161232. [
  161233. "13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942",
  161234. "fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1",
  161235. ],
  161236. [
  161237. "ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a",
  161238. "1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2",
  161239. ],
  161240. [
  161241. "b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80",
  161242. "5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423",
  161243. ],
  161244. [
  161245. "ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d",
  161246. "438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8",
  161247. ],
  161248. [
  161249. "8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1",
  161250. "cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758",
  161251. ],
  161252. [
  161253. "52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63",
  161254. "c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375",
  161255. ],
  161256. [
  161257. "e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352",
  161258. "6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d",
  161259. ],
  161260. [
  161261. "7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193",
  161262. "ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec",
  161263. ],
  161264. [
  161265. "5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00",
  161266. "9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0",
  161267. ],
  161268. [
  161269. "32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58",
  161270. "ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c",
  161271. ],
  161272. [
  161273. "e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7",
  161274. "d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4",
  161275. ],
  161276. [
  161277. "8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8",
  161278. "c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f",
  161279. ],
  161280. [
  161281. "4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e",
  161282. "67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649",
  161283. ],
  161284. [
  161285. "3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d",
  161286. "cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826",
  161287. ],
  161288. [
  161289. "674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b",
  161290. "299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5",
  161291. ],
  161292. [
  161293. "d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f",
  161294. "f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87",
  161295. ],
  161296. [
  161297. "30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6",
  161298. "462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b",
  161299. ],
  161300. [
  161301. "be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297",
  161302. "62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc",
  161303. ],
  161304. [
  161305. "93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a",
  161306. "7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c",
  161307. ],
  161308. [
  161309. "b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c",
  161310. "ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f",
  161311. ],
  161312. [
  161313. "d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52",
  161314. "4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a",
  161315. ],
  161316. [
  161317. "d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb",
  161318. "bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46",
  161319. ],
  161320. [
  161321. "463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065",
  161322. "bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f",
  161323. ],
  161324. [
  161325. "7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917",
  161326. "603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03",
  161327. ],
  161328. [
  161329. "74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9",
  161330. "cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08",
  161331. ],
  161332. [
  161333. "30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3",
  161334. "553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8",
  161335. ],
  161336. [
  161337. "9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57",
  161338. "712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373",
  161339. ],
  161340. [
  161341. "176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66",
  161342. "ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3",
  161343. ],
  161344. [
  161345. "75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8",
  161346. "9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8",
  161347. ],
  161348. [
  161349. "809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721",
  161350. "9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1",
  161351. ],
  161352. [
  161353. "1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180",
  161354. "4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9",
  161355. ],
  161356. ],
  161357. },
  161358. };
  161359. },
  161360. {},
  161361. ],
  161362. 88: [
  161363. function (require, module, exports) {
  161364. "use strict";
  161365. var utils = exports;
  161366. var BN = require("bn.js");
  161367. var minAssert = require("minimalistic-assert");
  161368. var minUtils = require("minimalistic-crypto-utils");
  161369. utils.assert = minAssert;
  161370. utils.toArray = minUtils.toArray;
  161371. utils.zero2 = minUtils.zero2;
  161372. utils.toHex = minUtils.toHex;
  161373. utils.encode = minUtils.encode;
  161374. // Represent num in a w-NAF form
  161375. function getNAF(num, w) {
  161376. var naf = [];
  161377. var ws = 1 << (w + 1);
  161378. var k = num.clone();
  161379. while (k.cmpn(1) >= 0) {
  161380. var z;
  161381. if (k.isOdd()) {
  161382. var mod = k.andln(ws - 1);
  161383. if (mod > (ws >> 1) - 1) z = (ws >> 1) - mod;
  161384. else z = mod;
  161385. k.isubn(z);
  161386. } else {
  161387. z = 0;
  161388. }
  161389. naf.push(z);
  161390. // Optimization, shift by word if possible
  161391. var shift = k.cmpn(0) !== 0 && k.andln(ws - 1) === 0 ? w + 1 : 1;
  161392. for (var i = 1; i < shift; i++) naf.push(0);
  161393. k.iushrn(shift);
  161394. }
  161395. return naf;
  161396. }
  161397. utils.getNAF = getNAF;
  161398. // Represent k1, k2 in a Joint Sparse Form
  161399. function getJSF(k1, k2) {
  161400. var jsf = [[], []];
  161401. k1 = k1.clone();
  161402. k2 = k2.clone();
  161403. var d1 = 0;
  161404. var d2 = 0;
  161405. while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {
  161406. // First phase
  161407. var m14 = (k1.andln(3) + d1) & 3;
  161408. var m24 = (k2.andln(3) + d2) & 3;
  161409. if (m14 === 3) m14 = -1;
  161410. if (m24 === 3) m24 = -1;
  161411. var u1;
  161412. if ((m14 & 1) === 0) {
  161413. u1 = 0;
  161414. } else {
  161415. var m8 = (k1.andln(7) + d1) & 7;
  161416. if ((m8 === 3 || m8 === 5) && m24 === 2) u1 = -m14;
  161417. else u1 = m14;
  161418. }
  161419. jsf[0].push(u1);
  161420. var u2;
  161421. if ((m24 & 1) === 0) {
  161422. u2 = 0;
  161423. } else {
  161424. var m8 = (k2.andln(7) + d2) & 7;
  161425. if ((m8 === 3 || m8 === 5) && m14 === 2) u2 = -m24;
  161426. else u2 = m24;
  161427. }
  161428. jsf[1].push(u2);
  161429. // Second phase
  161430. if (2 * d1 === u1 + 1) d1 = 1 - d1;
  161431. if (2 * d2 === u2 + 1) d2 = 1 - d2;
  161432. k1.iushrn(1);
  161433. k2.iushrn(1);
  161434. }
  161435. return jsf;
  161436. }
  161437. utils.getJSF = getJSF;
  161438. function cachedProperty(obj, name, computer) {
  161439. var key = "_" + name;
  161440. obj.prototype[name] = function cachedProperty() {
  161441. return this[key] !== undefined
  161442. ? this[key]
  161443. : (this[key] = computer.call(this));
  161444. };
  161445. }
  161446. utils.cachedProperty = cachedProperty;
  161447. function parseBytes(bytes) {
  161448. return typeof bytes === "string"
  161449. ? utils.toArray(bytes, "hex")
  161450. : bytes;
  161451. }
  161452. utils.parseBytes = parseBytes;
  161453. function intFromLE(bytes) {
  161454. return new BN(bytes, "hex", "le");
  161455. }
  161456. utils.intFromLE = intFromLE;
  161457. },
  161458. {
  161459. "bn.js": 25,
  161460. "minimalistic-assert": 112,
  161461. "minimalistic-crypto-utils": 113,
  161462. },
  161463. ],
  161464. 89: [
  161465. function (require, module, exports) {
  161466. module.exports = {
  161467. _from: "elliptic@^6.0.0",
  161468. _id: "elliptic@6.4.0",
  161469. _inBundle: false,
  161470. _integrity: "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
  161471. _location: "/browserify/elliptic",
  161472. _phantomChildren: {},
  161473. _requested: {
  161474. type: "range",
  161475. registry: true,
  161476. raw: "elliptic@^6.0.0",
  161477. name: "elliptic",
  161478. escapedName: "elliptic",
  161479. rawSpec: "^6.0.0",
  161480. saveSpec: null,
  161481. fetchSpec: "^6.0.0",
  161482. },
  161483. _requiredBy: [
  161484. "/browserify/browserify-sign",
  161485. "/browserify/create-ecdh",
  161486. ],
  161487. _resolved: "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
  161488. _shasum: "cac9af8762c85836187003c8dfe193e5e2eae5df",
  161489. _spec: "elliptic@^6.0.0",
  161490. _where:
  161491. "/usr/local/lib/node_modules/browserify/node_modules/browserify-sign",
  161492. author: {
  161493. name: "Fedor Indutny",
  161494. email: "fedor@indutny.com",
  161495. },
  161496. bugs: {
  161497. url: "https://github.com/indutny/elliptic/issues",
  161498. },
  161499. bundleDependencies: false,
  161500. dependencies: {
  161501. "bn.js": "^4.4.0",
  161502. brorand: "^1.0.1",
  161503. "hash.js": "^1.0.0",
  161504. "hmac-drbg": "^1.0.0",
  161505. inherits: "^2.0.1",
  161506. "minimalistic-assert": "^1.0.0",
  161507. "minimalistic-crypto-utils": "^1.0.0",
  161508. },
  161509. deprecated: false,
  161510. description: "EC cryptography",
  161511. devDependencies: {
  161512. brfs: "^1.4.3",
  161513. coveralls: "^2.11.3",
  161514. grunt: "^0.4.5",
  161515. "grunt-browserify": "^5.0.0",
  161516. "grunt-cli": "^1.2.0",
  161517. "grunt-contrib-connect": "^1.0.0",
  161518. "grunt-contrib-copy": "^1.0.0",
  161519. "grunt-contrib-uglify": "^1.0.1",
  161520. "grunt-mocha-istanbul": "^3.0.1",
  161521. "grunt-saucelabs": "^8.6.2",
  161522. istanbul: "^0.4.2",
  161523. jscs: "^2.9.0",
  161524. jshint: "^2.6.0",
  161525. mocha: "^2.1.0",
  161526. },
  161527. files: ["lib"],
  161528. homepage: "https://github.com/indutny/elliptic",
  161529. keywords: ["EC", "Elliptic", "curve", "Cryptography"],
  161530. license: "MIT",
  161531. main: "lib/elliptic.js",
  161532. name: "elliptic",
  161533. repository: {
  161534. type: "git",
  161535. url: "git+ssh://git@github.com/indutny/elliptic.git",
  161536. },
  161537. scripts: {
  161538. jscs: "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",
  161539. jshint:
  161540. "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",
  161541. lint: "npm run jscs && npm run jshint",
  161542. test: "npm run lint && npm run unit",
  161543. unit: "istanbul test _mocha --reporter=spec test/index.js",
  161544. version: "grunt dist && git add dist/",
  161545. },
  161546. version: "6.4.0",
  161547. };
  161548. },
  161549. {},
  161550. ],
  161551. 90: [
  161552. function (require, module, exports) {
  161553. // Copyright Joyent, Inc. and other Node contributors.
  161554. //
  161555. // Permission is hereby granted, free of charge, to any person obtaining a
  161556. // copy of this software and associated documentation files (the
  161557. // "Software"), to deal in the Software without restriction, including
  161558. // without limitation the rights to use, copy, modify, merge, publish,
  161559. // distribute, sublicense, and/or sell copies of the Software, and to permit
  161560. // persons to whom the Software is furnished to do so, subject to the
  161561. // following conditions:
  161562. //
  161563. // The above copyright notice and this permission notice shall be included
  161564. // in all copies or substantial portions of the Software.
  161565. //
  161566. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  161567. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  161568. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  161569. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  161570. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  161571. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  161572. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  161573. function EventEmitter() {
  161574. this._events = this._events || {};
  161575. this._maxListeners = this._maxListeners || undefined;
  161576. }
  161577. module.exports = EventEmitter;
  161578. // Backwards-compat with node 0.10.x
  161579. EventEmitter.EventEmitter = EventEmitter;
  161580. EventEmitter.prototype._events = undefined;
  161581. EventEmitter.prototype._maxListeners = undefined;
  161582. // By default EventEmitters will print a warning if more than 10 listeners are
  161583. // added to it. This is a useful default which helps finding memory leaks.
  161584. EventEmitter.defaultMaxListeners = 10;
  161585. // Obviously not all Emitters should be limited to 10. This function allows
  161586. // that to be increased. Set to zero for unlimited.
  161587. EventEmitter.prototype.setMaxListeners = function (n) {
  161588. if (!isNumber(n) || n < 0 || isNaN(n))
  161589. throw TypeError("n must be a positive number");
  161590. this._maxListeners = n;
  161591. return this;
  161592. };
  161593. EventEmitter.prototype.emit = function (type) {
  161594. var er, handler, len, args, i, listeners;
  161595. if (!this._events) this._events = {};
  161596. // If there is no 'error' event listener then throw.
  161597. if (type === "error") {
  161598. if (
  161599. !this._events.error ||
  161600. (isObject(this._events.error) && !this._events.error.length)
  161601. ) {
  161602. er = arguments[1];
  161603. if (er instanceof Error) {
  161604. throw er; // Unhandled 'error' event
  161605. } else {
  161606. // At least give some kind of context to the user
  161607. var err = new Error(
  161608. 'Uncaught, unspecified "error" event. (' + er + ")"
  161609. );
  161610. err.context = er;
  161611. throw err;
  161612. }
  161613. }
  161614. }
  161615. handler = this._events[type];
  161616. if (isUndefined(handler)) return false;
  161617. if (isFunction(handler)) {
  161618. switch (arguments.length) {
  161619. // fast cases
  161620. case 1:
  161621. handler.call(this);
  161622. break;
  161623. case 2:
  161624. handler.call(this, arguments[1]);
  161625. break;
  161626. case 3:
  161627. handler.call(this, arguments[1], arguments[2]);
  161628. break;
  161629. // slower
  161630. default:
  161631. args = Array.prototype.slice.call(arguments, 1);
  161632. handler.apply(this, args);
  161633. }
  161634. } else if (isObject(handler)) {
  161635. args = Array.prototype.slice.call(arguments, 1);
  161636. listeners = handler.slice();
  161637. len = listeners.length;
  161638. for (i = 0; i < len; i++) listeners[i].apply(this, args);
  161639. }
  161640. return true;
  161641. };
  161642. EventEmitter.prototype.addListener = function (type, listener) {
  161643. var m;
  161644. if (!isFunction(listener))
  161645. throw TypeError("listener must be a function");
  161646. if (!this._events) this._events = {};
  161647. // To avoid recursion in the case that type === "newListener"! Before
  161648. // adding it to the listeners, first emit "newListener".
  161649. if (this._events.newListener)
  161650. this.emit(
  161651. "newListener",
  161652. type,
  161653. isFunction(listener.listener) ? listener.listener : listener
  161654. );
  161655. if (!this._events[type])
  161656. // Optimize the case of one listener. Don't need the extra array object.
  161657. this._events[type] = listener;
  161658. else if (isObject(this._events[type]))
  161659. // If we've already got an array, just append.
  161660. this._events[type].push(listener);
  161661. // Adding the second element, need to change to array.
  161662. else this._events[type] = [this._events[type], listener];
  161663. // Check for listener leak
  161664. if (isObject(this._events[type]) && !this._events[type].warned) {
  161665. if (!isUndefined(this._maxListeners)) {
  161666. m = this._maxListeners;
  161667. } else {
  161668. m = EventEmitter.defaultMaxListeners;
  161669. }
  161670. if (m && m > 0 && this._events[type].length > m) {
  161671. this._events[type].warned = true;
  161672. console.error(
  161673. "(node) warning: possible EventEmitter memory " +
  161674. "leak detected. %d listeners added. " +
  161675. "Use emitter.setMaxListeners() to increase limit.",
  161676. this._events[type].length
  161677. );
  161678. if (typeof console.trace === "function") {
  161679. // not supported in IE 10
  161680. console.trace();
  161681. }
  161682. }
  161683. }
  161684. return this;
  161685. };
  161686. EventEmitter.prototype.on = EventEmitter.prototype.addListener;
  161687. EventEmitter.prototype.once = function (type, listener) {
  161688. if (!isFunction(listener))
  161689. throw TypeError("listener must be a function");
  161690. var fired = false;
  161691. function g() {
  161692. this.removeListener(type, g);
  161693. if (!fired) {
  161694. fired = true;
  161695. listener.apply(this, arguments);
  161696. }
  161697. }
  161698. g.listener = listener;
  161699. this.on(type, g);
  161700. return this;
  161701. };
  161702. // emits a 'removeListener' event iff the listener was removed
  161703. EventEmitter.prototype.removeListener = function (type, listener) {
  161704. var list, position, length, i;
  161705. if (!isFunction(listener))
  161706. throw TypeError("listener must be a function");
  161707. if (!this._events || !this._events[type]) return this;
  161708. list = this._events[type];
  161709. length = list.length;
  161710. position = -1;
  161711. if (
  161712. list === listener ||
  161713. (isFunction(list.listener) && list.listener === listener)
  161714. ) {
  161715. delete this._events[type];
  161716. if (this._events.removeListener)
  161717. this.emit("removeListener", type, listener);
  161718. } else if (isObject(list)) {
  161719. for (i = length; i-- > 0; ) {
  161720. if (
  161721. list[i] === listener ||
  161722. (list[i].listener && list[i].listener === listener)
  161723. ) {
  161724. position = i;
  161725. break;
  161726. }
  161727. }
  161728. if (position < 0) return this;
  161729. if (list.length === 1) {
  161730. list.length = 0;
  161731. delete this._events[type];
  161732. } else {
  161733. list.splice(position, 1);
  161734. }
  161735. if (this._events.removeListener)
  161736. this.emit("removeListener", type, listener);
  161737. }
  161738. return this;
  161739. };
  161740. EventEmitter.prototype.removeAllListeners = function (type) {
  161741. var key, listeners;
  161742. if (!this._events) return this;
  161743. // not listening for removeListener, no need to emit
  161744. if (!this._events.removeListener) {
  161745. if (arguments.length === 0) this._events = {};
  161746. else if (this._events[type]) delete this._events[type];
  161747. return this;
  161748. }
  161749. // emit removeListener for all listeners on all events
  161750. if (arguments.length === 0) {
  161751. for (key in this._events) {
  161752. if (key === "removeListener") continue;
  161753. this.removeAllListeners(key);
  161754. }
  161755. this.removeAllListeners("removeListener");
  161756. this._events = {};
  161757. return this;
  161758. }
  161759. listeners = this._events[type];
  161760. if (isFunction(listeners)) {
  161761. this.removeListener(type, listeners);
  161762. } else if (listeners) {
  161763. // LIFO order
  161764. while (listeners.length)
  161765. this.removeListener(type, listeners[listeners.length - 1]);
  161766. }
  161767. delete this._events[type];
  161768. return this;
  161769. };
  161770. EventEmitter.prototype.listeners = function (type) {
  161771. var ret;
  161772. if (!this._events || !this._events[type]) ret = [];
  161773. else if (isFunction(this._events[type])) ret = [this._events[type]];
  161774. else ret = this._events[type].slice();
  161775. return ret;
  161776. };
  161777. EventEmitter.prototype.listenerCount = function (type) {
  161778. if (this._events) {
  161779. var evlistener = this._events[type];
  161780. if (isFunction(evlistener)) return 1;
  161781. else if (evlistener) return evlistener.length;
  161782. }
  161783. return 0;
  161784. };
  161785. EventEmitter.listenerCount = function (emitter, type) {
  161786. return emitter.listenerCount(type);
  161787. };
  161788. function isFunction(arg) {
  161789. return typeof arg === "function";
  161790. }
  161791. function isNumber(arg) {
  161792. return typeof arg === "number";
  161793. }
  161794. function isObject(arg) {
  161795. return typeof arg === "object" && arg !== null;
  161796. }
  161797. function isUndefined(arg) {
  161798. return arg === void 0;
  161799. }
  161800. },
  161801. {},
  161802. ],
  161803. 91: [
  161804. function (require, module, exports) {
  161805. (function (Buffer) {
  161806. var md5 = require("create-hash/md5");
  161807. module.exports = EVP_BytesToKey;
  161808. function EVP_BytesToKey(password, salt, keyLen, ivLen) {
  161809. if (!Buffer.isBuffer(password)) {
  161810. password = new Buffer(password, "binary");
  161811. }
  161812. if (salt && !Buffer.isBuffer(salt)) {
  161813. salt = new Buffer(salt, "binary");
  161814. }
  161815. keyLen = keyLen / 8;
  161816. ivLen = ivLen || 0;
  161817. var ki = 0;
  161818. var ii = 0;
  161819. var key = new Buffer(keyLen);
  161820. var iv = new Buffer(ivLen);
  161821. var addmd = 0;
  161822. var md_buf;
  161823. var i;
  161824. var bufs = [];
  161825. while (true) {
  161826. if (addmd++ > 0) {
  161827. bufs.push(md_buf);
  161828. }
  161829. bufs.push(password);
  161830. if (salt) {
  161831. bufs.push(salt);
  161832. }
  161833. md_buf = md5(Buffer.concat(bufs));
  161834. bufs = [];
  161835. i = 0;
  161836. if (keyLen > 0) {
  161837. while (true) {
  161838. if (keyLen === 0) {
  161839. break;
  161840. }
  161841. if (i === md_buf.length) {
  161842. break;
  161843. }
  161844. key[ki++] = md_buf[i];
  161845. keyLen--;
  161846. i++;
  161847. }
  161848. }
  161849. if (ivLen > 0 && i !== md_buf.length) {
  161850. while (true) {
  161851. if (ivLen === 0) {
  161852. break;
  161853. }
  161854. if (i === md_buf.length) {
  161855. break;
  161856. }
  161857. iv[ii++] = md_buf[i];
  161858. ivLen--;
  161859. i++;
  161860. }
  161861. }
  161862. if (keyLen === 0 && ivLen === 0) {
  161863. break;
  161864. }
  161865. }
  161866. for (i = 0; i < md_buf.length; i++) {
  161867. md_buf[i] = 0;
  161868. }
  161869. return {
  161870. key: key,
  161871. iv: iv,
  161872. };
  161873. }
  161874. }).call(this, require("buffer").Buffer);
  161875. },
  161876. { buffer: 54, "create-hash/md5": 60 },
  161877. ],
  161878. 92: [
  161879. function (require, module, exports) {
  161880. (function (Buffer) {
  161881. "use strict";
  161882. var Transform = require("stream").Transform;
  161883. var inherits = require("inherits");
  161884. function HashBase(blockSize) {
  161885. Transform.call(this);
  161886. this._block = new Buffer(blockSize);
  161887. this._blockSize = blockSize;
  161888. this._blockOffset = 0;
  161889. this._length = [0, 0, 0, 0];
  161890. this._finalized = false;
  161891. }
  161892. inherits(HashBase, Transform);
  161893. HashBase.prototype._transform = function (chunk, encoding, callback) {
  161894. var error = null;
  161895. try {
  161896. if (encoding !== "buffer") chunk = new Buffer(chunk, encoding);
  161897. this.update(chunk);
  161898. } catch (err) {
  161899. error = err;
  161900. }
  161901. callback(error);
  161902. };
  161903. HashBase.prototype._flush = function (callback) {
  161904. var error = null;
  161905. try {
  161906. this.push(this._digest());
  161907. } catch (err) {
  161908. error = err;
  161909. }
  161910. callback(error);
  161911. };
  161912. HashBase.prototype.update = function (data, encoding) {
  161913. if (!Buffer.isBuffer(data) && typeof data !== "string")
  161914. throw new TypeError("Data must be a string or a buffer");
  161915. if (this._finalized) throw new Error("Digest already called");
  161916. if (!Buffer.isBuffer(data))
  161917. data = new Buffer(data, encoding || "binary");
  161918. // consume data
  161919. var block = this._block;
  161920. var offset = 0;
  161921. while (
  161922. this._blockOffset + data.length - offset >=
  161923. this._blockSize
  161924. ) {
  161925. for (var i = this._blockOffset; i < this._blockSize; )
  161926. block[i++] = data[offset++];
  161927. this._update();
  161928. this._blockOffset = 0;
  161929. }
  161930. while (offset < data.length)
  161931. block[this._blockOffset++] = data[offset++];
  161932. // update length
  161933. for (var j = 0, carry = data.length * 8; carry > 0; ++j) {
  161934. this._length[j] += carry;
  161935. carry = (this._length[j] / 0x0100000000) | 0;
  161936. if (carry > 0) this._length[j] -= 0x0100000000 * carry;
  161937. }
  161938. return this;
  161939. };
  161940. HashBase.prototype._update = function (data) {
  161941. throw new Error("_update is not implemented");
  161942. };
  161943. HashBase.prototype.digest = function (encoding) {
  161944. if (this._finalized) throw new Error("Digest already called");
  161945. this._finalized = true;
  161946. var digest = this._digest();
  161947. if (encoding !== undefined) digest = digest.toString(encoding);
  161948. return digest;
  161949. };
  161950. HashBase.prototype._digest = function () {
  161951. throw new Error("_digest is not implemented");
  161952. };
  161953. module.exports = HashBase;
  161954. }).call(this, require("buffer").Buffer);
  161955. },
  161956. { buffer: 54, inherits: 108, stream: 157 },
  161957. ],
  161958. 93: [
  161959. function (require, module, exports) {
  161960. var hash = exports;
  161961. hash.utils = require("./hash/utils.js");
  161962. hash.common = require("./hash/common.js");
  161963. hash.sha = require("./hash/sha.js");
  161964. hash.ripemd = require("./hash/ripemd.js");
  161965. hash.hmac = require("./hash/hmac.js");
  161966. // Proxy hash functions to the main object
  161967. hash.sha1 = hash.sha.sha1;
  161968. hash.sha256 = hash.sha.sha256;
  161969. hash.sha224 = hash.sha.sha224;
  161970. hash.sha384 = hash.sha.sha384;
  161971. hash.sha512 = hash.sha.sha512;
  161972. hash.ripemd160 = hash.ripemd.ripemd160;
  161973. },
  161974. {
  161975. "./hash/common": 94,
  161976. "./hash/hmac": 95,
  161977. "./hash/ripemd": 96,
  161978. "./hash/sha": 97,
  161979. "./hash/utils": 104,
  161980. },
  161981. ],
  161982. 94: [
  161983. function (require, module, exports) {
  161984. "use strict";
  161985. var utils = require("./utils.js");
  161986. var assert = require("minimalistic-assert");
  161987. function BlockHash() {
  161988. this.pending = null;
  161989. this.pendingTotal = 0;
  161990. this.blockSize = this.constructor.blockSize;
  161991. this.outSize = this.constructor.outSize;
  161992. this.hmacStrength = this.constructor.hmacStrength;
  161993. this.padLength = this.constructor.padLength / 8;
  161994. this.endian = "big";
  161995. this._delta8 = this.blockSize / 8;
  161996. this._delta32 = this.blockSize / 32;
  161997. }
  161998. exports.BlockHash = BlockHash;
  161999. BlockHash.prototype.update = function update(msg, enc) {
  162000. // Convert message to array, pad it, and join into 32bit blocks
  162001. msg = utils.toArray(msg, enc);
  162002. if (!this.pending) this.pending = msg;
  162003. else this.pending = this.pending.concat(msg);
  162004. this.pendingTotal += msg.length;
  162005. // Enough data, try updating
  162006. if (this.pending.length >= this._delta8) {
  162007. msg = this.pending;
  162008. // Process pending data in blocks
  162009. var r = msg.length % this._delta8;
  162010. this.pending = msg.slice(msg.length - r, msg.length);
  162011. if (this.pending.length === 0) this.pending = null;
  162012. msg = utils.join32(msg, 0, msg.length - r, this.endian);
  162013. for (var i = 0; i < msg.length; i += this._delta32)
  162014. this._update(msg, i, i + this._delta32);
  162015. }
  162016. return this;
  162017. };
  162018. BlockHash.prototype.digest = function digest(enc) {
  162019. this.update(this._pad());
  162020. assert(this.pending === null);
  162021. return this._digest(enc);
  162022. };
  162023. BlockHash.prototype._pad = function pad() {
  162024. var len = this.pendingTotal;
  162025. var bytes = this._delta8;
  162026. var k = bytes - ((len + this.padLength) % bytes);
  162027. var res = new Array(k + this.padLength);
  162028. res[0] = 0x80;
  162029. for (var i = 1; i < k; i++) res[i] = 0;
  162030. // Append length
  162031. len <<= 3;
  162032. if (this.endian === "big") {
  162033. for (var t = 8; t < this.padLength; t++) res[i++] = 0;
  162034. res[i++] = 0;
  162035. res[i++] = 0;
  162036. res[i++] = 0;
  162037. res[i++] = 0;
  162038. res[i++] = (len >>> 24) & 0xff;
  162039. res[i++] = (len >>> 16) & 0xff;
  162040. res[i++] = (len >>> 8) & 0xff;
  162041. res[i++] = len & 0xff;
  162042. } else {
  162043. res[i++] = len & 0xff;
  162044. res[i++] = (len >>> 8) & 0xff;
  162045. res[i++] = (len >>> 16) & 0xff;
  162046. res[i++] = (len >>> 24) & 0xff;
  162047. res[i++] = 0;
  162048. res[i++] = 0;
  162049. res[i++] = 0;
  162050. res[i++] = 0;
  162051. for (t = 8; t < this.padLength; t++) res[i++] = 0;
  162052. }
  162053. return res;
  162054. };
  162055. },
  162056. { "./utils": 104, "minimalistic-assert": 112 },
  162057. ],
  162058. 95: [
  162059. function (require, module, exports) {
  162060. "use strict";
  162061. var utils = require("./utils.js");
  162062. var assert = require("minimalistic-assert");
  162063. function Hmac(hash, key, enc) {
  162064. if (!(this instanceof Hmac)) return new Hmac(hash, key, enc);
  162065. this.Hash = hash;
  162066. this.blockSize = hash.blockSize / 8;
  162067. this.outSize = hash.outSize / 8;
  162068. this.inner = null;
  162069. this.outer = null;
  162070. this._init(utils.toArray(key, enc));
  162071. }
  162072. module.exports = Hmac;
  162073. Hmac.prototype._init = function init(key) {
  162074. // Shorten key, if needed
  162075. if (key.length > this.blockSize)
  162076. key = new this.Hash().update(key).digest();
  162077. assert(key.length <= this.blockSize);
  162078. // Add padding to key
  162079. for (var i = key.length; i < this.blockSize; i++) key.push(0);
  162080. for (i = 0; i < key.length; i++) key[i] ^= 0x36;
  162081. this.inner = new this.Hash().update(key);
  162082. // 0x36 ^ 0x5c = 0x6a
  162083. for (i = 0; i < key.length; i++) key[i] ^= 0x6a;
  162084. this.outer = new this.Hash().update(key);
  162085. };
  162086. Hmac.prototype.update = function update(msg, enc) {
  162087. this.inner.update(msg, enc);
  162088. return this;
  162089. };
  162090. Hmac.prototype.digest = function digest(enc) {
  162091. this.outer.update(this.inner.digest());
  162092. return this.outer.digest(enc);
  162093. };
  162094. },
  162095. { "./utils": 104, "minimalistic-assert": 112 },
  162096. ],
  162097. 96: [
  162098. function (require, module, exports) {
  162099. "use strict";
  162100. var utils = require("./utils.js");
  162101. var common = require("./common.js");
  162102. var rotl32 = utils.rotl32;
  162103. var sum32 = utils.sum32;
  162104. var sum32_3 = utils.sum32_3;
  162105. var sum32_4 = utils.sum32_4;
  162106. var BlockHash = common.BlockHash;
  162107. function RIPEMD160() {
  162108. if (!(this instanceof RIPEMD160)) return new RIPEMD160();
  162109. BlockHash.call(this);
  162110. this.h = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
  162111. this.endian = "little";
  162112. }
  162113. utils.inherits(RIPEMD160, BlockHash);
  162114. exports.ripemd160 = RIPEMD160;
  162115. RIPEMD160.blockSize = 512;
  162116. RIPEMD160.outSize = 160;
  162117. RIPEMD160.hmacStrength = 192;
  162118. RIPEMD160.padLength = 64;
  162119. RIPEMD160.prototype._update = function update(msg, start) {
  162120. var A = this.h[0];
  162121. var B = this.h[1];
  162122. var C = this.h[2];
  162123. var D = this.h[3];
  162124. var E = this.h[4];
  162125. var Ah = A;
  162126. var Bh = B;
  162127. var Ch = C;
  162128. var Dh = D;
  162129. var Eh = E;
  162130. for (var j = 0; j < 80; j++) {
  162131. var T = sum32(
  162132. rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]),
  162133. E
  162134. );
  162135. A = E;
  162136. E = D;
  162137. D = rotl32(C, 10);
  162138. C = B;
  162139. B = T;
  162140. T = sum32(
  162141. rotl32(
  162142. sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),
  162143. sh[j]
  162144. ),
  162145. Eh
  162146. );
  162147. Ah = Eh;
  162148. Eh = Dh;
  162149. Dh = rotl32(Ch, 10);
  162150. Ch = Bh;
  162151. Bh = T;
  162152. }
  162153. T = sum32_3(this.h[1], C, Dh);
  162154. this.h[1] = sum32_3(this.h[2], D, Eh);
  162155. this.h[2] = sum32_3(this.h[3], E, Ah);
  162156. this.h[3] = sum32_3(this.h[4], A, Bh);
  162157. this.h[4] = sum32_3(this.h[0], B, Ch);
  162158. this.h[0] = T;
  162159. };
  162160. RIPEMD160.prototype._digest = function digest(enc) {
  162161. if (enc === "hex") return utils.toHex32(this.h, "little");
  162162. else return utils.split32(this.h, "little");
  162163. };
  162164. function f(j, x, y, z) {
  162165. if (j <= 15) return x ^ y ^ z;
  162166. else if (j <= 31) return (x & y) | (~x & z);
  162167. else if (j <= 47) return (x | ~y) ^ z;
  162168. else if (j <= 63) return (x & z) | (y & ~z);
  162169. else return x ^ (y | ~z);
  162170. }
  162171. function K(j) {
  162172. if (j <= 15) return 0x00000000;
  162173. else if (j <= 31) return 0x5a827999;
  162174. else if (j <= 47) return 0x6ed9eba1;
  162175. else if (j <= 63) return 0x8f1bbcdc;
  162176. else return 0xa953fd4e;
  162177. }
  162178. function Kh(j) {
  162179. if (j <= 15) return 0x50a28be6;
  162180. else if (j <= 31) return 0x5c4dd124;
  162181. else if (j <= 47) return 0x6d703ef3;
  162182. else if (j <= 63) return 0x7a6d76e9;
  162183. else return 0x00000000;
  162184. }
  162185. var r = [
  162186. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10,
  162187. 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7,
  162188. 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5,
  162189. 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13,
  162190. ];
  162191. var rh = [
  162192. 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0,
  162193. 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8,
  162194. 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10,
  162195. 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11,
  162196. ];
  162197. var s = [
  162198. 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13,
  162199. 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13,
  162200. 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5,
  162201. 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5,
  162202. 6,
  162203. ];
  162204. var sh = [
  162205. 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7,
  162206. 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14,
  162207. 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9,
  162208. 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11,
  162209. ];
  162210. },
  162211. { "./common": 94, "./utils": 104 },
  162212. ],
  162213. 97: [
  162214. function (require, module, exports) {
  162215. "use strict";
  162216. exports.sha1 = require("./sha/1.js");
  162217. exports.sha224 = require("./sha/224.js");
  162218. exports.sha256 = require("./sha/256.js");
  162219. exports.sha384 = require("./sha/384.js");
  162220. exports.sha512 = require("./sha/512.js");
  162221. },
  162222. {
  162223. "./sha/1": 98,
  162224. "./sha/224": 99,
  162225. "./sha/256": 100,
  162226. "./sha/384": 101,
  162227. "./sha/512": 102,
  162228. },
  162229. ],
  162230. 98: [
  162231. function (require, module, exports) {
  162232. "use strict";
  162233. var utils = require("../utils.js");
  162234. var common = require("../common.js");
  162235. var shaCommon = require("./common.js");
  162236. var rotl32 = utils.rotl32;
  162237. var sum32 = utils.sum32;
  162238. var sum32_5 = utils.sum32_5;
  162239. var ft_1 = shaCommon.ft_1;
  162240. var BlockHash = common.BlockHash;
  162241. var sha1_K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
  162242. function SHA1() {
  162243. if (!(this instanceof SHA1)) return new SHA1();
  162244. BlockHash.call(this);
  162245. this.h = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
  162246. this.W = new Array(80);
  162247. }
  162248. utils.inherits(SHA1, BlockHash);
  162249. module.exports = SHA1;
  162250. SHA1.blockSize = 512;
  162251. SHA1.outSize = 160;
  162252. SHA1.hmacStrength = 80;
  162253. SHA1.padLength = 64;
  162254. SHA1.prototype._update = function _update(msg, start) {
  162255. var W = this.W;
  162256. for (var i = 0; i < 16; i++) W[i] = msg[start + i];
  162257. for (; i < W.length; i++)
  162258. W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);
  162259. var a = this.h[0];
  162260. var b = this.h[1];
  162261. var c = this.h[2];
  162262. var d = this.h[3];
  162263. var e = this.h[4];
  162264. for (i = 0; i < W.length; i++) {
  162265. var s = ~~(i / 20);
  162266. var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);
  162267. e = d;
  162268. d = c;
  162269. c = rotl32(b, 30);
  162270. b = a;
  162271. a = t;
  162272. }
  162273. this.h[0] = sum32(this.h[0], a);
  162274. this.h[1] = sum32(this.h[1], b);
  162275. this.h[2] = sum32(this.h[2], c);
  162276. this.h[3] = sum32(this.h[3], d);
  162277. this.h[4] = sum32(this.h[4], e);
  162278. };
  162279. SHA1.prototype._digest = function digest(enc) {
  162280. if (enc === "hex") return utils.toHex32(this.h, "big");
  162281. else return utils.split32(this.h, "big");
  162282. };
  162283. },
  162284. { "../common": 94, "../utils": 104, "./common": 103 },
  162285. ],
  162286. 99: [
  162287. function (require, module, exports) {
  162288. "use strict";
  162289. var utils = require("../utils.js");
  162290. var SHA256 = require("./256.js");
  162291. function SHA224() {
  162292. if (!(this instanceof SHA224)) return new SHA224();
  162293. SHA256.call(this);
  162294. this.h = [
  162295. 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31,
  162296. 0x68581511, 0x64f98fa7, 0xbefa4fa4,
  162297. ];
  162298. }
  162299. utils.inherits(SHA224, SHA256);
  162300. module.exports = SHA224;
  162301. SHA224.blockSize = 512;
  162302. SHA224.outSize = 224;
  162303. SHA224.hmacStrength = 192;
  162304. SHA224.padLength = 64;
  162305. SHA224.prototype._digest = function digest(enc) {
  162306. // Just truncate output
  162307. if (enc === "hex") return utils.toHex32(this.h.slice(0, 7), "big");
  162308. else return utils.split32(this.h.slice(0, 7), "big");
  162309. };
  162310. },
  162311. { "../utils": 104, "./256": 100 },
  162312. ],
  162313. 100: [
  162314. function (require, module, exports) {
  162315. "use strict";
  162316. var utils = require("../utils.js");
  162317. var common = require("../common.js");
  162318. var shaCommon = require("./common.js");
  162319. var assert = require("minimalistic-assert");
  162320. var sum32 = utils.sum32;
  162321. var sum32_4 = utils.sum32_4;
  162322. var sum32_5 = utils.sum32_5;
  162323. var ch32 = shaCommon.ch32;
  162324. var maj32 = shaCommon.maj32;
  162325. var s0_256 = shaCommon.s0_256;
  162326. var s1_256 = shaCommon.s1_256;
  162327. var g0_256 = shaCommon.g0_256;
  162328. var g1_256 = shaCommon.g1_256;
  162329. var BlockHash = common.BlockHash;
  162330. var sha256_K = [
  162331. 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,
  162332. 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,
  162333. 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,
  162334. 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
  162335. 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,
  162336. 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
  162337. 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,
  162338. 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
  162339. 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,
  162340. 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,
  162341. 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,
  162342. 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
  162343. 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
  162344. ];
  162345. function SHA256() {
  162346. if (!(this instanceof SHA256)) return new SHA256();
  162347. BlockHash.call(this);
  162348. this.h = [
  162349. 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f,
  162350. 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
  162351. ];
  162352. this.k = sha256_K;
  162353. this.W = new Array(64);
  162354. }
  162355. utils.inherits(SHA256, BlockHash);
  162356. module.exports = SHA256;
  162357. SHA256.blockSize = 512;
  162358. SHA256.outSize = 256;
  162359. SHA256.hmacStrength = 192;
  162360. SHA256.padLength = 64;
  162361. SHA256.prototype._update = function _update(msg, start) {
  162362. var W = this.W;
  162363. for (var i = 0; i < 16; i++) W[i] = msg[start + i];
  162364. for (; i < W.length; i++)
  162365. W[i] = sum32_4(
  162366. g1_256(W[i - 2]),
  162367. W[i - 7],
  162368. g0_256(W[i - 15]),
  162369. W[i - 16]
  162370. );
  162371. var a = this.h[0];
  162372. var b = this.h[1];
  162373. var c = this.h[2];
  162374. var d = this.h[3];
  162375. var e = this.h[4];
  162376. var f = this.h[5];
  162377. var g = this.h[6];
  162378. var h = this.h[7];
  162379. assert(this.k.length === W.length);
  162380. for (i = 0; i < W.length; i++) {
  162381. var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);
  162382. var T2 = sum32(s0_256(a), maj32(a, b, c));
  162383. h = g;
  162384. g = f;
  162385. f = e;
  162386. e = sum32(d, T1);
  162387. d = c;
  162388. c = b;
  162389. b = a;
  162390. a = sum32(T1, T2);
  162391. }
  162392. this.h[0] = sum32(this.h[0], a);
  162393. this.h[1] = sum32(this.h[1], b);
  162394. this.h[2] = sum32(this.h[2], c);
  162395. this.h[3] = sum32(this.h[3], d);
  162396. this.h[4] = sum32(this.h[4], e);
  162397. this.h[5] = sum32(this.h[5], f);
  162398. this.h[6] = sum32(this.h[6], g);
  162399. this.h[7] = sum32(this.h[7], h);
  162400. };
  162401. SHA256.prototype._digest = function digest(enc) {
  162402. if (enc === "hex") return utils.toHex32(this.h, "big");
  162403. else return utils.split32(this.h, "big");
  162404. };
  162405. },
  162406. {
  162407. "../common": 94,
  162408. "../utils": 104,
  162409. "./common": 103,
  162410. "minimalistic-assert": 112,
  162411. },
  162412. ],
  162413. 101: [
  162414. function (require, module, exports) {
  162415. "use strict";
  162416. var utils = require("../utils.js");
  162417. var SHA512 = require("./512.js");
  162418. function SHA384() {
  162419. if (!(this instanceof SHA384)) return new SHA384();
  162420. SHA512.call(this);
  162421. this.h = [
  162422. 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507, 0x9159015a,
  162423. 0x3070dd17, 0x152fecd8, 0xf70e5939, 0x67332667, 0xffc00b31,
  162424. 0x8eb44a87, 0x68581511, 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d,
  162425. 0xbefa4fa4,
  162426. ];
  162427. }
  162428. utils.inherits(SHA384, SHA512);
  162429. module.exports = SHA384;
  162430. SHA384.blockSize = 1024;
  162431. SHA384.outSize = 384;
  162432. SHA384.hmacStrength = 192;
  162433. SHA384.padLength = 128;
  162434. SHA384.prototype._digest = function digest(enc) {
  162435. if (enc === "hex") return utils.toHex32(this.h.slice(0, 12), "big");
  162436. else return utils.split32(this.h.slice(0, 12), "big");
  162437. };
  162438. },
  162439. { "../utils": 104, "./512": 102 },
  162440. ],
  162441. 102: [
  162442. function (require, module, exports) {
  162443. "use strict";
  162444. var utils = require("../utils.js");
  162445. var common = require("../common.js");
  162446. var assert = require("minimalistic-assert");
  162447. var rotr64_hi = utils.rotr64_hi;
  162448. var rotr64_lo = utils.rotr64_lo;
  162449. var shr64_hi = utils.shr64_hi;
  162450. var shr64_lo = utils.shr64_lo;
  162451. var sum64 = utils.sum64;
  162452. var sum64_hi = utils.sum64_hi;
  162453. var sum64_lo = utils.sum64_lo;
  162454. var sum64_4_hi = utils.sum64_4_hi;
  162455. var sum64_4_lo = utils.sum64_4_lo;
  162456. var sum64_5_hi = utils.sum64_5_hi;
  162457. var sum64_5_lo = utils.sum64_5_lo;
  162458. var BlockHash = common.BlockHash;
  162459. var sha512_K = [
  162460. 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf,
  162461. 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538,
  162462. 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5,
  162463. 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
  162464. 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74,
  162465. 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235,
  162466. 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786,
  162467. 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
  162468. 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc,
  162469. 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab,
  162470. 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7,
  162471. 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
  162472. 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85,
  162473. 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed,
  162474. 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb,
  162475. 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
  162476. 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70,
  162477. 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218,
  162478. 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070,
  162479. 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
  162480. 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3,
  162481. 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373,
  162482. 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f,
  162483. 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
  162484. 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7,
  162485. 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c,
  162486. 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f,
  162487. 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
  162488. 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5,
  162489. 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc,
  162490. 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c,
  162491. 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817,
  162492. ];
  162493. function SHA512() {
  162494. if (!(this instanceof SHA512)) return new SHA512();
  162495. BlockHash.call(this);
  162496. this.h = [
  162497. 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372,
  162498. 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1, 0x510e527f, 0xade682d1,
  162499. 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19,
  162500. 0x137e2179,
  162501. ];
  162502. this.k = sha512_K;
  162503. this.W = new Array(160);
  162504. }
  162505. utils.inherits(SHA512, BlockHash);
  162506. module.exports = SHA512;
  162507. SHA512.blockSize = 1024;
  162508. SHA512.outSize = 512;
  162509. SHA512.hmacStrength = 192;
  162510. SHA512.padLength = 128;
  162511. SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {
  162512. var W = this.W;
  162513. // 32 x 32bit words
  162514. for (var i = 0; i < 32; i++) W[i] = msg[start + i];
  162515. for (; i < W.length; i += 2) {
  162516. var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2
  162517. var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);
  162518. var c1_hi = W[i - 14]; // i - 7
  162519. var c1_lo = W[i - 13];
  162520. var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15
  162521. var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);
  162522. var c3_hi = W[i - 32]; // i - 16
  162523. var c3_lo = W[i - 31];
  162524. W[i] = sum64_4_hi(
  162525. c0_hi,
  162526. c0_lo,
  162527. c1_hi,
  162528. c1_lo,
  162529. c2_hi,
  162530. c2_lo,
  162531. c3_hi,
  162532. c3_lo
  162533. );
  162534. W[i + 1] = sum64_4_lo(
  162535. c0_hi,
  162536. c0_lo,
  162537. c1_hi,
  162538. c1_lo,
  162539. c2_hi,
  162540. c2_lo,
  162541. c3_hi,
  162542. c3_lo
  162543. );
  162544. }
  162545. };
  162546. SHA512.prototype._update = function _update(msg, start) {
  162547. this._prepareBlock(msg, start);
  162548. var W = this.W;
  162549. var ah = this.h[0];
  162550. var al = this.h[1];
  162551. var bh = this.h[2];
  162552. var bl = this.h[3];
  162553. var ch = this.h[4];
  162554. var cl = this.h[5];
  162555. var dh = this.h[6];
  162556. var dl = this.h[7];
  162557. var eh = this.h[8];
  162558. var el = this.h[9];
  162559. var fh = this.h[10];
  162560. var fl = this.h[11];
  162561. var gh = this.h[12];
  162562. var gl = this.h[13];
  162563. var hh = this.h[14];
  162564. var hl = this.h[15];
  162565. assert(this.k.length === W.length);
  162566. for (var i = 0; i < W.length; i += 2) {
  162567. var c0_hi = hh;
  162568. var c0_lo = hl;
  162569. var c1_hi = s1_512_hi(eh, el);
  162570. var c1_lo = s1_512_lo(eh, el);
  162571. var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);
  162572. var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);
  162573. var c3_hi = this.k[i];
  162574. var c3_lo = this.k[i + 1];
  162575. var c4_hi = W[i];
  162576. var c4_lo = W[i + 1];
  162577. var T1_hi = sum64_5_hi(
  162578. c0_hi,
  162579. c0_lo,
  162580. c1_hi,
  162581. c1_lo,
  162582. c2_hi,
  162583. c2_lo,
  162584. c3_hi,
  162585. c3_lo,
  162586. c4_hi,
  162587. c4_lo
  162588. );
  162589. var T1_lo = sum64_5_lo(
  162590. c0_hi,
  162591. c0_lo,
  162592. c1_hi,
  162593. c1_lo,
  162594. c2_hi,
  162595. c2_lo,
  162596. c3_hi,
  162597. c3_lo,
  162598. c4_hi,
  162599. c4_lo
  162600. );
  162601. c0_hi = s0_512_hi(ah, al);
  162602. c0_lo = s0_512_lo(ah, al);
  162603. c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);
  162604. c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);
  162605. var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);
  162606. var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);
  162607. hh = gh;
  162608. hl = gl;
  162609. gh = fh;
  162610. gl = fl;
  162611. fh = eh;
  162612. fl = el;
  162613. eh = sum64_hi(dh, dl, T1_hi, T1_lo);
  162614. el = sum64_lo(dl, dl, T1_hi, T1_lo);
  162615. dh = ch;
  162616. dl = cl;
  162617. ch = bh;
  162618. cl = bl;
  162619. bh = ah;
  162620. bl = al;
  162621. ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);
  162622. al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);
  162623. }
  162624. sum64(this.h, 0, ah, al);
  162625. sum64(this.h, 2, bh, bl);
  162626. sum64(this.h, 4, ch, cl);
  162627. sum64(this.h, 6, dh, dl);
  162628. sum64(this.h, 8, eh, el);
  162629. sum64(this.h, 10, fh, fl);
  162630. sum64(this.h, 12, gh, gl);
  162631. sum64(this.h, 14, hh, hl);
  162632. };
  162633. SHA512.prototype._digest = function digest(enc) {
  162634. if (enc === "hex") return utils.toHex32(this.h, "big");
  162635. else return utils.split32(this.h, "big");
  162636. };
  162637. function ch64_hi(xh, xl, yh, yl, zh) {
  162638. var r = (xh & yh) ^ (~xh & zh);
  162639. if (r < 0) r += 0x100000000;
  162640. return r;
  162641. }
  162642. function ch64_lo(xh, xl, yh, yl, zh, zl) {
  162643. var r = (xl & yl) ^ (~xl & zl);
  162644. if (r < 0) r += 0x100000000;
  162645. return r;
  162646. }
  162647. function maj64_hi(xh, xl, yh, yl, zh) {
  162648. var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);
  162649. if (r < 0) r += 0x100000000;
  162650. return r;
  162651. }
  162652. function maj64_lo(xh, xl, yh, yl, zh, zl) {
  162653. var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);
  162654. if (r < 0) r += 0x100000000;
  162655. return r;
  162656. }
  162657. function s0_512_hi(xh, xl) {
  162658. var c0_hi = rotr64_hi(xh, xl, 28);
  162659. var c1_hi = rotr64_hi(xl, xh, 2); // 34
  162660. var c2_hi = rotr64_hi(xl, xh, 7); // 39
  162661. var r = c0_hi ^ c1_hi ^ c2_hi;
  162662. if (r < 0) r += 0x100000000;
  162663. return r;
  162664. }
  162665. function s0_512_lo(xh, xl) {
  162666. var c0_lo = rotr64_lo(xh, xl, 28);
  162667. var c1_lo = rotr64_lo(xl, xh, 2); // 34
  162668. var c2_lo = rotr64_lo(xl, xh, 7); // 39
  162669. var r = c0_lo ^ c1_lo ^ c2_lo;
  162670. if (r < 0) r += 0x100000000;
  162671. return r;
  162672. }
  162673. function s1_512_hi(xh, xl) {
  162674. var c0_hi = rotr64_hi(xh, xl, 14);
  162675. var c1_hi = rotr64_hi(xh, xl, 18);
  162676. var c2_hi = rotr64_hi(xl, xh, 9); // 41
  162677. var r = c0_hi ^ c1_hi ^ c2_hi;
  162678. if (r < 0) r += 0x100000000;
  162679. return r;
  162680. }
  162681. function s1_512_lo(xh, xl) {
  162682. var c0_lo = rotr64_lo(xh, xl, 14);
  162683. var c1_lo = rotr64_lo(xh, xl, 18);
  162684. var c2_lo = rotr64_lo(xl, xh, 9); // 41
  162685. var r = c0_lo ^ c1_lo ^ c2_lo;
  162686. if (r < 0) r += 0x100000000;
  162687. return r;
  162688. }
  162689. function g0_512_hi(xh, xl) {
  162690. var c0_hi = rotr64_hi(xh, xl, 1);
  162691. var c1_hi = rotr64_hi(xh, xl, 8);
  162692. var c2_hi = shr64_hi(xh, xl, 7);
  162693. var r = c0_hi ^ c1_hi ^ c2_hi;
  162694. if (r < 0) r += 0x100000000;
  162695. return r;
  162696. }
  162697. function g0_512_lo(xh, xl) {
  162698. var c0_lo = rotr64_lo(xh, xl, 1);
  162699. var c1_lo = rotr64_lo(xh, xl, 8);
  162700. var c2_lo = shr64_lo(xh, xl, 7);
  162701. var r = c0_lo ^ c1_lo ^ c2_lo;
  162702. if (r < 0) r += 0x100000000;
  162703. return r;
  162704. }
  162705. function g1_512_hi(xh, xl) {
  162706. var c0_hi = rotr64_hi(xh, xl, 19);
  162707. var c1_hi = rotr64_hi(xl, xh, 29); // 61
  162708. var c2_hi = shr64_hi(xh, xl, 6);
  162709. var r = c0_hi ^ c1_hi ^ c2_hi;
  162710. if (r < 0) r += 0x100000000;
  162711. return r;
  162712. }
  162713. function g1_512_lo(xh, xl) {
  162714. var c0_lo = rotr64_lo(xh, xl, 19);
  162715. var c1_lo = rotr64_lo(xl, xh, 29); // 61
  162716. var c2_lo = shr64_lo(xh, xl, 6);
  162717. var r = c0_lo ^ c1_lo ^ c2_lo;
  162718. if (r < 0) r += 0x100000000;
  162719. return r;
  162720. }
  162721. },
  162722. { "../common": 94, "../utils": 104, "minimalistic-assert": 112 },
  162723. ],
  162724. 103: [
  162725. function (require, module, exports) {
  162726. "use strict";
  162727. var utils = require("../utils.js");
  162728. var rotr32 = utils.rotr32;
  162729. function ft_1(s, x, y, z) {
  162730. if (s === 0) return ch32(x, y, z);
  162731. if (s === 1 || s === 3) return p32(x, y, z);
  162732. if (s === 2) return maj32(x, y, z);
  162733. }
  162734. exports.ft_1 = ft_1;
  162735. function ch32(x, y, z) {
  162736. return (x & y) ^ (~x & z);
  162737. }
  162738. exports.ch32 = ch32;
  162739. function maj32(x, y, z) {
  162740. return (x & y) ^ (x & z) ^ (y & z);
  162741. }
  162742. exports.maj32 = maj32;
  162743. function p32(x, y, z) {
  162744. return x ^ y ^ z;
  162745. }
  162746. exports.p32 = p32;
  162747. function s0_256(x) {
  162748. return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);
  162749. }
  162750. exports.s0_256 = s0_256;
  162751. function s1_256(x) {
  162752. return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);
  162753. }
  162754. exports.s1_256 = s1_256;
  162755. function g0_256(x) {
  162756. return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);
  162757. }
  162758. exports.g0_256 = g0_256;
  162759. function g1_256(x) {
  162760. return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);
  162761. }
  162762. exports.g1_256 = g1_256;
  162763. },
  162764. { "../utils": 104 },
  162765. ],
  162766. 104: [
  162767. function (require, module, exports) {
  162768. "use strict";
  162769. var assert = require("minimalistic-assert");
  162770. var inherits = require("inherits");
  162771. exports.inherits = inherits;
  162772. function toArray(msg, enc) {
  162773. if (Array.isArray(msg)) return msg.slice();
  162774. if (!msg) return [];
  162775. var res = [];
  162776. if (typeof msg === "string") {
  162777. if (!enc) {
  162778. for (var i = 0; i < msg.length; i++) {
  162779. var c = msg.charCodeAt(i);
  162780. var hi = c >> 8;
  162781. var lo = c & 0xff;
  162782. if (hi) res.push(hi, lo);
  162783. else res.push(lo);
  162784. }
  162785. } else if (enc === "hex") {
  162786. msg = msg.replace(/[^a-z0-9]+/gi, "");
  162787. if (msg.length % 2 !== 0) msg = "0" + msg;
  162788. for (i = 0; i < msg.length; i += 2)
  162789. res.push(parseInt(msg[i] + msg[i + 1], 16));
  162790. }
  162791. } else {
  162792. for (i = 0; i < msg.length; i++) res[i] = msg[i] | 0;
  162793. }
  162794. return res;
  162795. }
  162796. exports.toArray = toArray;
  162797. function toHex(msg) {
  162798. var res = "";
  162799. for (var i = 0; i < msg.length; i++)
  162800. res += zero2(msg[i].toString(16));
  162801. return res;
  162802. }
  162803. exports.toHex = toHex;
  162804. function htonl(w) {
  162805. var res =
  162806. (w >>> 24) |
  162807. ((w >>> 8) & 0xff00) |
  162808. ((w << 8) & 0xff0000) |
  162809. ((w & 0xff) << 24);
  162810. return res >>> 0;
  162811. }
  162812. exports.htonl = htonl;
  162813. function toHex32(msg, endian) {
  162814. var res = "";
  162815. for (var i = 0; i < msg.length; i++) {
  162816. var w = msg[i];
  162817. if (endian === "little") w = htonl(w);
  162818. res += zero8(w.toString(16));
  162819. }
  162820. return res;
  162821. }
  162822. exports.toHex32 = toHex32;
  162823. function zero2(word) {
  162824. if (word.length === 1) return "0" + word;
  162825. else return word;
  162826. }
  162827. exports.zero2 = zero2;
  162828. function zero8(word) {
  162829. if (word.length === 7) return "0" + word;
  162830. else if (word.length === 6) return "00" + word;
  162831. else if (word.length === 5) return "000" + word;
  162832. else if (word.length === 4) return "0000" + word;
  162833. else if (word.length === 3) return "00000" + word;
  162834. else if (word.length === 2) return "000000" + word;
  162835. else if (word.length === 1) return "0000000" + word;
  162836. else return word;
  162837. }
  162838. exports.zero8 = zero8;
  162839. function join32(msg, start, end, endian) {
  162840. var len = end - start;
  162841. assert(len % 4 === 0);
  162842. var res = new Array(len / 4);
  162843. for (var i = 0, k = start; i < res.length; i++, k += 4) {
  162844. var w;
  162845. if (endian === "big")
  162846. w =
  162847. (msg[k] << 24) |
  162848. (msg[k + 1] << 16) |
  162849. (msg[k + 2] << 8) |
  162850. msg[k + 3];
  162851. else
  162852. w =
  162853. (msg[k + 3] << 24) |
  162854. (msg[k + 2] << 16) |
  162855. (msg[k + 1] << 8) |
  162856. msg[k];
  162857. res[i] = w >>> 0;
  162858. }
  162859. return res;
  162860. }
  162861. exports.join32 = join32;
  162862. function split32(msg, endian) {
  162863. var res = new Array(msg.length * 4);
  162864. for (var i = 0, k = 0; i < msg.length; i++, k += 4) {
  162865. var m = msg[i];
  162866. if (endian === "big") {
  162867. res[k] = m >>> 24;
  162868. res[k + 1] = (m >>> 16) & 0xff;
  162869. res[k + 2] = (m >>> 8) & 0xff;
  162870. res[k + 3] = m & 0xff;
  162871. } else {
  162872. res[k + 3] = m >>> 24;
  162873. res[k + 2] = (m >>> 16) & 0xff;
  162874. res[k + 1] = (m >>> 8) & 0xff;
  162875. res[k] = m & 0xff;
  162876. }
  162877. }
  162878. return res;
  162879. }
  162880. exports.split32 = split32;
  162881. function rotr32(w, b) {
  162882. return (w >>> b) | (w << (32 - b));
  162883. }
  162884. exports.rotr32 = rotr32;
  162885. function rotl32(w, b) {
  162886. return (w << b) | (w >>> (32 - b));
  162887. }
  162888. exports.rotl32 = rotl32;
  162889. function sum32(a, b) {
  162890. return (a + b) >>> 0;
  162891. }
  162892. exports.sum32 = sum32;
  162893. function sum32_3(a, b, c) {
  162894. return (a + b + c) >>> 0;
  162895. }
  162896. exports.sum32_3 = sum32_3;
  162897. function sum32_4(a, b, c, d) {
  162898. return (a + b + c + d) >>> 0;
  162899. }
  162900. exports.sum32_4 = sum32_4;
  162901. function sum32_5(a, b, c, d, e) {
  162902. return (a + b + c + d + e) >>> 0;
  162903. }
  162904. exports.sum32_5 = sum32_5;
  162905. function sum64(buf, pos, ah, al) {
  162906. var bh = buf[pos];
  162907. var bl = buf[pos + 1];
  162908. var lo = (al + bl) >>> 0;
  162909. var hi = (lo < al ? 1 : 0) + ah + bh;
  162910. buf[pos] = hi >>> 0;
  162911. buf[pos + 1] = lo;
  162912. }
  162913. exports.sum64 = sum64;
  162914. function sum64_hi(ah, al, bh, bl) {
  162915. var lo = (al + bl) >>> 0;
  162916. var hi = (lo < al ? 1 : 0) + ah + bh;
  162917. return hi >>> 0;
  162918. }
  162919. exports.sum64_hi = sum64_hi;
  162920. function sum64_lo(ah, al, bh, bl) {
  162921. var lo = al + bl;
  162922. return lo >>> 0;
  162923. }
  162924. exports.sum64_lo = sum64_lo;
  162925. function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
  162926. var carry = 0;
  162927. var lo = al;
  162928. lo = (lo + bl) >>> 0;
  162929. carry += lo < al ? 1 : 0;
  162930. lo = (lo + cl) >>> 0;
  162931. carry += lo < cl ? 1 : 0;
  162932. lo = (lo + dl) >>> 0;
  162933. carry += lo < dl ? 1 : 0;
  162934. var hi = ah + bh + ch + dh + carry;
  162935. return hi >>> 0;
  162936. }
  162937. exports.sum64_4_hi = sum64_4_hi;
  162938. function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {
  162939. var lo = al + bl + cl + dl;
  162940. return lo >>> 0;
  162941. }
  162942. exports.sum64_4_lo = sum64_4_lo;
  162943. function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
  162944. var carry = 0;
  162945. var lo = al;
  162946. lo = (lo + bl) >>> 0;
  162947. carry += lo < al ? 1 : 0;
  162948. lo = (lo + cl) >>> 0;
  162949. carry += lo < cl ? 1 : 0;
  162950. lo = (lo + dl) >>> 0;
  162951. carry += lo < dl ? 1 : 0;
  162952. lo = (lo + el) >>> 0;
  162953. carry += lo < el ? 1 : 0;
  162954. var hi = ah + bh + ch + dh + eh + carry;
  162955. return hi >>> 0;
  162956. }
  162957. exports.sum64_5_hi = sum64_5_hi;
  162958. function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
  162959. var lo = al + bl + cl + dl + el;
  162960. return lo >>> 0;
  162961. }
  162962. exports.sum64_5_lo = sum64_5_lo;
  162963. function rotr64_hi(ah, al, num) {
  162964. var r = (al << (32 - num)) | (ah >>> num);
  162965. return r >>> 0;
  162966. }
  162967. exports.rotr64_hi = rotr64_hi;
  162968. function rotr64_lo(ah, al, num) {
  162969. var r = (ah << (32 - num)) | (al >>> num);
  162970. return r >>> 0;
  162971. }
  162972. exports.rotr64_lo = rotr64_lo;
  162973. function shr64_hi(ah, al, num) {
  162974. return ah >>> num;
  162975. }
  162976. exports.shr64_hi = shr64_hi;
  162977. function shr64_lo(ah, al, num) {
  162978. var r = (ah << (32 - num)) | (al >>> num);
  162979. return r >>> 0;
  162980. }
  162981. exports.shr64_lo = shr64_lo;
  162982. },
  162983. { inherits: 108, "minimalistic-assert": 112 },
  162984. ],
  162985. 105: [
  162986. function (require, module, exports) {
  162987. "use strict";
  162988. var hash = require("hash.js");
  162989. var utils = require("minimalistic-crypto-utils");
  162990. var assert = require("minimalistic-assert");
  162991. function HmacDRBG(options) {
  162992. if (!(this instanceof HmacDRBG)) return new HmacDRBG(options);
  162993. this.hash = options.hash;
  162994. this.predResist = !!options.predResist;
  162995. this.outLen = this.hash.outSize;
  162996. this.minEntropy = options.minEntropy || this.hash.hmacStrength;
  162997. this._reseed = null;
  162998. this.reseedInterval = null;
  162999. this.K = null;
  163000. this.V = null;
  163001. var entropy = utils.toArray(
  163002. options.entropy,
  163003. options.entropyEnc || "hex"
  163004. );
  163005. var nonce = utils.toArray(options.nonce, options.nonceEnc || "hex");
  163006. var pers = utils.toArray(options.pers, options.persEnc || "hex");
  163007. assert(
  163008. entropy.length >= this.minEntropy / 8,
  163009. "Not enough entropy. Minimum is: " + this.minEntropy + " bits"
  163010. );
  163011. this._init(entropy, nonce, pers);
  163012. }
  163013. module.exports = HmacDRBG;
  163014. HmacDRBG.prototype._init = function init(entropy, nonce, pers) {
  163015. var seed = entropy.concat(nonce).concat(pers);
  163016. this.K = new Array(this.outLen / 8);
  163017. this.V = new Array(this.outLen / 8);
  163018. for (var i = 0; i < this.V.length; i++) {
  163019. this.K[i] = 0x00;
  163020. this.V[i] = 0x01;
  163021. }
  163022. this._update(seed);
  163023. this._reseed = 1;
  163024. this.reseedInterval = 0x1000000000000; // 2^48
  163025. };
  163026. HmacDRBG.prototype._hmac = function hmac() {
  163027. return new hash.hmac(this.hash, this.K);
  163028. };
  163029. HmacDRBG.prototype._update = function update(seed) {
  163030. var kmac = this._hmac().update(this.V).update([0x00]);
  163031. if (seed) kmac = kmac.update(seed);
  163032. this.K = kmac.digest();
  163033. this.V = this._hmac().update(this.V).digest();
  163034. if (!seed) return;
  163035. this.K = this._hmac()
  163036. .update(this.V)
  163037. .update([0x01])
  163038. .update(seed)
  163039. .digest();
  163040. this.V = this._hmac().update(this.V).digest();
  163041. };
  163042. HmacDRBG.prototype.reseed = function reseed(
  163043. entropy,
  163044. entropyEnc,
  163045. add,
  163046. addEnc
  163047. ) {
  163048. // Optional entropy enc
  163049. if (typeof entropyEnc !== "string") {
  163050. addEnc = add;
  163051. add = entropyEnc;
  163052. entropyEnc = null;
  163053. }
  163054. entropy = utils.toArray(entropy, entropyEnc);
  163055. add = utils.toArray(add, addEnc);
  163056. assert(
  163057. entropy.length >= this.minEntropy / 8,
  163058. "Not enough entropy. Minimum is: " + this.minEntropy + " bits"
  163059. );
  163060. this._update(entropy.concat(add || []));
  163061. this._reseed = 1;
  163062. };
  163063. HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {
  163064. if (this._reseed > this.reseedInterval)
  163065. throw new Error("Reseed is required");
  163066. // Optional encoding
  163067. if (typeof enc !== "string") {
  163068. addEnc = add;
  163069. add = enc;
  163070. enc = null;
  163071. }
  163072. // Optional additional data
  163073. if (add) {
  163074. add = utils.toArray(add, addEnc || "hex");
  163075. this._update(add);
  163076. }
  163077. var temp = [];
  163078. while (temp.length < len) {
  163079. this.V = this._hmac().update(this.V).digest();
  163080. temp = temp.concat(this.V);
  163081. }
  163082. var res = temp.slice(0, len);
  163083. this._update(add);
  163084. this._reseed++;
  163085. return utils.encode(res, enc);
  163086. };
  163087. },
  163088. {
  163089. "hash.js": 93,
  163090. "minimalistic-assert": 112,
  163091. "minimalistic-crypto-utils": 113,
  163092. },
  163093. ],
  163094. 106: [
  163095. function (require, module, exports) {
  163096. exports.read = function (buffer, offset, isLE, mLen, nBytes) {
  163097. var e, m;
  163098. var eLen = nBytes * 8 - mLen - 1;
  163099. var eMax = (1 << eLen) - 1;
  163100. var eBias = eMax >> 1;
  163101. var nBits = -7;
  163102. var i = isLE ? nBytes - 1 : 0;
  163103. var d = isLE ? -1 : 1;
  163104. var s = buffer[offset + i];
  163105. i += d;
  163106. e = s & ((1 << -nBits) - 1);
  163107. s >>= -nBits;
  163108. nBits += eLen;
  163109. for (
  163110. ;
  163111. nBits > 0;
  163112. e = e * 256 + buffer[offset + i], i += d, nBits -= 8
  163113. ) {}
  163114. m = e & ((1 << -nBits) - 1);
  163115. e >>= -nBits;
  163116. nBits += mLen;
  163117. for (
  163118. ;
  163119. nBits > 0;
  163120. m = m * 256 + buffer[offset + i], i += d, nBits -= 8
  163121. ) {}
  163122. if (e === 0) {
  163123. e = 1 - eBias;
  163124. } else if (e === eMax) {
  163125. return m ? NaN : (s ? -1 : 1) * Infinity;
  163126. } else {
  163127. m = m + Math.pow(2, mLen);
  163128. e = e - eBias;
  163129. }
  163130. return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
  163131. };
  163132. exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
  163133. var e, m, c;
  163134. var eLen = nBytes * 8 - mLen - 1;
  163135. var eMax = (1 << eLen) - 1;
  163136. var eBias = eMax >> 1;
  163137. var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
  163138. var i = isLE ? 0 : nBytes - 1;
  163139. var d = isLE ? 1 : -1;
  163140. var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
  163141. value = Math.abs(value);
  163142. if (isNaN(value) || value === Infinity) {
  163143. m = isNaN(value) ? 1 : 0;
  163144. e = eMax;
  163145. } else {
  163146. e = Math.floor(Math.log(value) / Math.LN2);
  163147. if (value * (c = Math.pow(2, -e)) < 1) {
  163148. e--;
  163149. c *= 2;
  163150. }
  163151. if (e + eBias >= 1) {
  163152. value += rt / c;
  163153. } else {
  163154. value += rt * Math.pow(2, 1 - eBias);
  163155. }
  163156. if (value * c >= 2) {
  163157. e++;
  163158. c /= 2;
  163159. }
  163160. if (e + eBias >= eMax) {
  163161. m = 0;
  163162. e = eMax;
  163163. } else if (e + eBias >= 1) {
  163164. m = (value * c - 1) * Math.pow(2, mLen);
  163165. e = e + eBias;
  163166. } else {
  163167. m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
  163168. e = 0;
  163169. }
  163170. }
  163171. for (
  163172. ;
  163173. mLen >= 8;
  163174. buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8
  163175. ) {}
  163176. e = (e << mLen) | m;
  163177. eLen += mLen;
  163178. for (
  163179. ;
  163180. eLen > 0;
  163181. buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8
  163182. ) {}
  163183. buffer[offset + i - d] |= s * 128;
  163184. };
  163185. },
  163186. {},
  163187. ],
  163188. 107: [
  163189. function (require, module, exports) {
  163190. var indexOf = [].indexOf;
  163191. module.exports = function (arr, obj) {
  163192. if (indexOf) return arr.indexOf(obj);
  163193. for (var i = 0; i < arr.length; ++i) {
  163194. if (arr[i] === obj) return i;
  163195. }
  163196. return -1;
  163197. };
  163198. },
  163199. {},
  163200. ],
  163201. 108: [
  163202. function (require, module, exports) {
  163203. if (typeof Object.create === "function") {
  163204. // implementation from standard node.js 'util' module
  163205. module.exports = function inherits(ctor, superCtor) {
  163206. ctor.super_ = superCtor;
  163207. ctor.prototype = Object.create(superCtor.prototype, {
  163208. constructor: {
  163209. value: ctor,
  163210. enumerable: false,
  163211. writable: true,
  163212. configurable: true,
  163213. },
  163214. });
  163215. };
  163216. } else {
  163217. // old school shim for old browsers
  163218. module.exports = function inherits(ctor, superCtor) {
  163219. ctor.super_ = superCtor;
  163220. var TempCtor = function () {};
  163221. TempCtor.prototype = superCtor.prototype;
  163222. ctor.prototype = new TempCtor();
  163223. ctor.prototype.constructor = ctor;
  163224. };
  163225. }
  163226. },
  163227. {},
  163228. ],
  163229. 109: [
  163230. function (require, module, exports) {
  163231. /*!
  163232. * Determine if an object is a Buffer
  163233. *
  163234. * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  163235. * @license MIT
  163236. */
  163237. // The _isBuffer check is for Safari 5-7 support, because it's missing
  163238. // Object.prototype.constructor. Remove this eventually
  163239. module.exports = function (obj) {
  163240. return (
  163241. obj != null &&
  163242. (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
  163243. );
  163244. };
  163245. function isBuffer(obj) {
  163246. return (
  163247. !!obj.constructor &&
  163248. typeof obj.constructor.isBuffer === "function" &&
  163249. obj.constructor.isBuffer(obj)
  163250. );
  163251. }
  163252. // For Node v0.10 support. Remove this eventually.
  163253. function isSlowBuffer(obj) {
  163254. return (
  163255. typeof obj.readFloatLE === "function" &&
  163256. typeof obj.slice === "function" &&
  163257. isBuffer(obj.slice(0, 0))
  163258. );
  163259. }
  163260. },
  163261. {},
  163262. ],
  163263. 110: [
  163264. function (require, module, exports) {
  163265. var toString = {}.toString;
  163266. module.exports =
  163267. Array.isArray ||
  163268. function (arr) {
  163269. return toString.call(arr) == "[object Array]";
  163270. };
  163271. },
  163272. {},
  163273. ],
  163274. 111: [
  163275. function (require, module, exports) {
  163276. var bn = require("bn.js");
  163277. var brorand = require("brorand");
  163278. function MillerRabin(rand) {
  163279. this.rand = rand || new brorand.Rand();
  163280. }
  163281. module.exports = MillerRabin;
  163282. MillerRabin.create = function create(rand) {
  163283. return new MillerRabin(rand);
  163284. };
  163285. MillerRabin.prototype._rand = function _rand(n) {
  163286. var len = n.bitLength();
  163287. var buf = this.rand.generate(Math.ceil(len / 8));
  163288. // Set low bits
  163289. buf[0] |= 3;
  163290. // Mask high bits
  163291. var mask = len & 0x7;
  163292. if (mask !== 0) buf[buf.length - 1] >>= 7 - mask;
  163293. return new bn(buf);
  163294. };
  163295. MillerRabin.prototype.test = function test(n, k, cb) {
  163296. var len = n.bitLength();
  163297. var red = bn.mont(n);
  163298. var rone = new bn(1).toRed(red);
  163299. if (!k) k = Math.max(1, (len / 48) | 0);
  163300. // Find d and s, (n - 1) = (2 ^ s) * d;
  163301. var n1 = n.subn(1);
  163302. var n2 = n1.subn(1);
  163303. for (var s = 0; !n1.testn(s); s++) {}
  163304. var d = n.shrn(s);
  163305. var rn1 = n1.toRed(red);
  163306. var prime = true;
  163307. for (; k > 0; k--) {
  163308. var a = this._rand(n2);
  163309. if (cb) cb(a);
  163310. var x = a.toRed(red).redPow(d);
  163311. if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;
  163312. for (var i = 1; i < s; i++) {
  163313. x = x.redSqr();
  163314. if (x.cmp(rone) === 0) return false;
  163315. if (x.cmp(rn1) === 0) break;
  163316. }
  163317. if (i === s) return false;
  163318. }
  163319. return prime;
  163320. };
  163321. MillerRabin.prototype.getDivisor = function getDivisor(n, k) {
  163322. var len = n.bitLength();
  163323. var red = bn.mont(n);
  163324. var rone = new bn(1).toRed(red);
  163325. if (!k) k = Math.max(1, (len / 48) | 0);
  163326. // Find d and s, (n - 1) = (2 ^ s) * d;
  163327. var n1 = n.subn(1);
  163328. var n2 = n1.subn(1);
  163329. for (var s = 0; !n1.testn(s); s++) {}
  163330. var d = n.shrn(s);
  163331. var rn1 = n1.toRed(red);
  163332. for (; k > 0; k--) {
  163333. var a = this._rand(n2);
  163334. var g = n.gcd(a);
  163335. if (g.cmpn(1) !== 0) return g;
  163336. var x = a.toRed(red).redPow(d);
  163337. if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;
  163338. for (var i = 1; i < s; i++) {
  163339. x = x.redSqr();
  163340. if (x.cmp(rone) === 0) return x.fromRed().subn(1).gcd(n);
  163341. if (x.cmp(rn1) === 0) break;
  163342. }
  163343. if (i === s) {
  163344. x = x.redSqr();
  163345. return x.fromRed().subn(1).gcd(n);
  163346. }
  163347. }
  163348. return false;
  163349. };
  163350. },
  163351. { "bn.js": 25, brorand: 26 },
  163352. ],
  163353. 112: [
  163354. function (require, module, exports) {
  163355. module.exports = assert;
  163356. function assert(val, msg) {
  163357. if (!val) throw new Error(msg || "Assertion failed");
  163358. }
  163359. assert.equal = function assertEqual(l, r, msg) {
  163360. if (l != r)
  163361. throw new Error(msg || "Assertion failed: " + l + " != " + r);
  163362. };
  163363. },
  163364. {},
  163365. ],
  163366. 113: [
  163367. function (require, module, exports) {
  163368. "use strict";
  163369. var utils = exports;
  163370. function toArray(msg, enc) {
  163371. if (Array.isArray(msg)) return msg.slice();
  163372. if (!msg) return [];
  163373. var res = [];
  163374. if (typeof msg !== "string") {
  163375. for (var i = 0; i < msg.length; i++) res[i] = msg[i] | 0;
  163376. return res;
  163377. }
  163378. if (enc === "hex") {
  163379. msg = msg.replace(/[^a-z0-9]+/gi, "");
  163380. if (msg.length % 2 !== 0) msg = "0" + msg;
  163381. for (var i = 0; i < msg.length; i += 2)
  163382. res.push(parseInt(msg[i] + msg[i + 1], 16));
  163383. } else {
  163384. for (var i = 0; i < msg.length; i++) {
  163385. var c = msg.charCodeAt(i);
  163386. var hi = c >> 8;
  163387. var lo = c & 0xff;
  163388. if (hi) res.push(hi, lo);
  163389. else res.push(lo);
  163390. }
  163391. }
  163392. return res;
  163393. }
  163394. utils.toArray = toArray;
  163395. function zero2(word) {
  163396. if (word.length === 1) return "0" + word;
  163397. else return word;
  163398. }
  163399. utils.zero2 = zero2;
  163400. function toHex(msg) {
  163401. var res = "";
  163402. for (var i = 0; i < msg.length; i++)
  163403. res += zero2(msg[i].toString(16));
  163404. return res;
  163405. }
  163406. utils.toHex = toHex;
  163407. utils.encode = function encode(arr, enc) {
  163408. if (enc === "hex") return toHex(arr);
  163409. else return arr;
  163410. };
  163411. },
  163412. {},
  163413. ],
  163414. 114: [
  163415. function (require, module, exports) {
  163416. module.exports = {
  163417. "2.16.840.1.101.3.4.1.1": "aes-128-ecb",
  163418. "2.16.840.1.101.3.4.1.2": "aes-128-cbc",
  163419. "2.16.840.1.101.3.4.1.3": "aes-128-ofb",
  163420. "2.16.840.1.101.3.4.1.4": "aes-128-cfb",
  163421. "2.16.840.1.101.3.4.1.21": "aes-192-ecb",
  163422. "2.16.840.1.101.3.4.1.22": "aes-192-cbc",
  163423. "2.16.840.1.101.3.4.1.23": "aes-192-ofb",
  163424. "2.16.840.1.101.3.4.1.24": "aes-192-cfb",
  163425. "2.16.840.1.101.3.4.1.41": "aes-256-ecb",
  163426. "2.16.840.1.101.3.4.1.42": "aes-256-cbc",
  163427. "2.16.840.1.101.3.4.1.43": "aes-256-ofb",
  163428. "2.16.840.1.101.3.4.1.44": "aes-256-cfb",
  163429. };
  163430. },
  163431. {},
  163432. ],
  163433. 115: [
  163434. function (require, module, exports) {
  163435. // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js
  163436. // Fedor, you are amazing.
  163437. "use strict";
  163438. var asn1 = require("asn1.js");
  163439. exports.certificate = require("./certificate.js");
  163440. var RSAPrivateKey = asn1.define("RSAPrivateKey", function () {
  163441. this.seq().obj(
  163442. this.key("version").int(),
  163443. this.key("modulus").int(),
  163444. this.key("publicExponent").int(),
  163445. this.key("privateExponent").int(),
  163446. this.key("prime1").int(),
  163447. this.key("prime2").int(),
  163448. this.key("exponent1").int(),
  163449. this.key("exponent2").int(),
  163450. this.key("coefficient").int()
  163451. );
  163452. });
  163453. exports.RSAPrivateKey = RSAPrivateKey;
  163454. var RSAPublicKey = asn1.define("RSAPublicKey", function () {
  163455. this.seq().obj(
  163456. this.key("modulus").int(),
  163457. this.key("publicExponent").int()
  163458. );
  163459. });
  163460. exports.RSAPublicKey = RSAPublicKey;
  163461. var PublicKey = asn1.define("SubjectPublicKeyInfo", function () {
  163462. this.seq().obj(
  163463. this.key("algorithm").use(AlgorithmIdentifier),
  163464. this.key("subjectPublicKey").bitstr()
  163465. );
  163466. });
  163467. exports.PublicKey = PublicKey;
  163468. var AlgorithmIdentifier = asn1.define(
  163469. "AlgorithmIdentifier",
  163470. function () {
  163471. this.seq().obj(
  163472. this.key("algorithm").objid(),
  163473. this.key("none").null_().optional(),
  163474. this.key("curve").objid().optional(),
  163475. this.key("params")
  163476. .seq()
  163477. .obj(
  163478. this.key("p").int(),
  163479. this.key("q").int(),
  163480. this.key("g").int()
  163481. )
  163482. .optional()
  163483. );
  163484. }
  163485. );
  163486. var PrivateKeyInfo = asn1.define("PrivateKeyInfo", function () {
  163487. this.seq().obj(
  163488. this.key("version").int(),
  163489. this.key("algorithm").use(AlgorithmIdentifier),
  163490. this.key("subjectPrivateKey").octstr()
  163491. );
  163492. });
  163493. exports.PrivateKey = PrivateKeyInfo;
  163494. var EncryptedPrivateKeyInfo = asn1.define(
  163495. "EncryptedPrivateKeyInfo",
  163496. function () {
  163497. this.seq().obj(
  163498. this.key("algorithm")
  163499. .seq()
  163500. .obj(
  163501. this.key("id").objid(),
  163502. this.key("decrypt")
  163503. .seq()
  163504. .obj(
  163505. this.key("kde")
  163506. .seq()
  163507. .obj(
  163508. this.key("id").objid(),
  163509. this.key("kdeparams")
  163510. .seq()
  163511. .obj(
  163512. this.key("salt").octstr(),
  163513. this.key("iters").int()
  163514. )
  163515. ),
  163516. this.key("cipher")
  163517. .seq()
  163518. .obj(this.key("algo").objid(), this.key("iv").octstr())
  163519. )
  163520. ),
  163521. this.key("subjectPrivateKey").octstr()
  163522. );
  163523. }
  163524. );
  163525. exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;
  163526. var DSAPrivateKey = asn1.define("DSAPrivateKey", function () {
  163527. this.seq().obj(
  163528. this.key("version").int(),
  163529. this.key("p").int(),
  163530. this.key("q").int(),
  163531. this.key("g").int(),
  163532. this.key("pub_key").int(),
  163533. this.key("priv_key").int()
  163534. );
  163535. });
  163536. exports.DSAPrivateKey = DSAPrivateKey;
  163537. exports.DSAparam = asn1.define("DSAparam", function () {
  163538. this.int();
  163539. });
  163540. var ECPrivateKey = asn1.define("ECPrivateKey", function () {
  163541. this.seq().obj(
  163542. this.key("version").int(),
  163543. this.key("privateKey").octstr(),
  163544. this.key("parameters").optional().explicit(0).use(ECParameters),
  163545. this.key("publicKey").optional().explicit(1).bitstr()
  163546. );
  163547. });
  163548. exports.ECPrivateKey = ECPrivateKey;
  163549. var ECParameters = asn1.define("ECParameters", function () {
  163550. this.choice({
  163551. namedCurve: this.objid(),
  163552. });
  163553. });
  163554. exports.signature = asn1.define("signature", function () {
  163555. this.seq().obj(this.key("r").int(), this.key("s").int());
  163556. });
  163557. },
  163558. { "./certificate": 116, "asn1.js": 10 },
  163559. ],
  163560. 116: [
  163561. function (require, module, exports) {
  163562. // from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js
  163563. // thanks to @Rantanen
  163564. "use strict";
  163565. var asn = require("asn1.js");
  163566. var Time = asn.define("Time", function () {
  163567. this.choice({
  163568. utcTime: this.utctime(),
  163569. generalTime: this.gentime(),
  163570. });
  163571. });
  163572. var AttributeTypeValue = asn.define("AttributeTypeValue", function () {
  163573. this.seq().obj(this.key("type").objid(), this.key("value").any());
  163574. });
  163575. var AlgorithmIdentifier = asn.define(
  163576. "AlgorithmIdentifier",
  163577. function () {
  163578. this.seq().obj(
  163579. this.key("algorithm").objid(),
  163580. this.key("parameters").optional()
  163581. );
  163582. }
  163583. );
  163584. var SubjectPublicKeyInfo = asn.define(
  163585. "SubjectPublicKeyInfo",
  163586. function () {
  163587. this.seq().obj(
  163588. this.key("algorithm").use(AlgorithmIdentifier),
  163589. this.key("subjectPublicKey").bitstr()
  163590. );
  163591. }
  163592. );
  163593. var RelativeDistinguishedName = asn.define(
  163594. "RelativeDistinguishedName",
  163595. function () {
  163596. this.setof(AttributeTypeValue);
  163597. }
  163598. );
  163599. var RDNSequence = asn.define("RDNSequence", function () {
  163600. this.seqof(RelativeDistinguishedName);
  163601. });
  163602. var Name = asn.define("Name", function () {
  163603. this.choice({
  163604. rdnSequence: this.use(RDNSequence),
  163605. });
  163606. });
  163607. var Validity = asn.define("Validity", function () {
  163608. this.seq().obj(
  163609. this.key("notBefore").use(Time),
  163610. this.key("notAfter").use(Time)
  163611. );
  163612. });
  163613. var Extension = asn.define("Extension", function () {
  163614. this.seq().obj(
  163615. this.key("extnID").objid(),
  163616. this.key("critical").bool().def(false),
  163617. this.key("extnValue").octstr()
  163618. );
  163619. });
  163620. var TBSCertificate = asn.define("TBSCertificate", function () {
  163621. this.seq().obj(
  163622. this.key("version").explicit(0).int(),
  163623. this.key("serialNumber").int(),
  163624. this.key("signature").use(AlgorithmIdentifier),
  163625. this.key("issuer").use(Name),
  163626. this.key("validity").use(Validity),
  163627. this.key("subject").use(Name),
  163628. this.key("subjectPublicKeyInfo").use(SubjectPublicKeyInfo),
  163629. this.key("issuerUniqueID").implicit(1).bitstr().optional(),
  163630. this.key("subjectUniqueID").implicit(2).bitstr().optional(),
  163631. this.key("extensions").explicit(3).seqof(Extension).optional()
  163632. );
  163633. });
  163634. var X509Certificate = asn.define("X509Certificate", function () {
  163635. this.seq().obj(
  163636. this.key("tbsCertificate").use(TBSCertificate),
  163637. this.key("signatureAlgorithm").use(AlgorithmIdentifier),
  163638. this.key("signatureValue").bitstr()
  163639. );
  163640. });
  163641. module.exports = X509Certificate;
  163642. },
  163643. { "asn1.js": 10 },
  163644. ],
  163645. 117: [
  163646. function (require, module, exports) {
  163647. (function (Buffer) {
  163648. // adapted from https://github.com/apatil/pemstrip
  163649. var findProc =
  163650. /Proc-Type: 4,ENCRYPTED\n\r?DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\n\r?\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?/m;
  163651. var startRegex = /^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n/m;
  163652. var fullRegex =
  163653. /^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?-----END \1-----$/m;
  163654. var evp = require("evp_bytestokey");
  163655. var ciphers = require("browserify-aes");
  163656. module.exports = function (okey, password) {
  163657. var key = okey.toString();
  163658. var match = key.match(findProc);
  163659. var decrypted;
  163660. if (!match) {
  163661. var match2 = key.match(fullRegex);
  163662. decrypted = new Buffer(match2[2].replace(/\r?\n/g, ""), "base64");
  163663. } else {
  163664. var suite = "aes" + match[1];
  163665. var iv = new Buffer(match[2], "hex");
  163666. var cipherText = new Buffer(
  163667. match[3].replace(/\r?\n/g, ""),
  163668. "base64"
  163669. );
  163670. var cipherKey = evp(
  163671. password,
  163672. iv.slice(0, 8),
  163673. parseInt(match[1], 10)
  163674. ).key;
  163675. var out = [];
  163676. var cipher = ciphers.createDecipheriv(suite, cipherKey, iv);
  163677. out.push(cipher.update(cipherText));
  163678. out.push(cipher.final());
  163679. decrypted = Buffer.concat(out);
  163680. }
  163681. var tag = key.match(startRegex)[1];
  163682. return {
  163683. tag: tag,
  163684. data: decrypted,
  163685. };
  163686. };
  163687. }).call(this, require("buffer").Buffer);
  163688. },
  163689. { "browserify-aes": 30, buffer: 54, evp_bytestokey: 91 },
  163690. ],
  163691. 118: [
  163692. function (require, module, exports) {
  163693. (function (Buffer) {
  163694. var asn1 = require("./asn1.js");
  163695. var aesid = require("./aesid.json");
  163696. var fixProc = require("./fixProc.js");
  163697. var ciphers = require("browserify-aes");
  163698. var compat = require("pbkdf2");
  163699. module.exports = parseKeys;
  163700. function parseKeys(buffer) {
  163701. var password;
  163702. if (typeof buffer === "object" && !Buffer.isBuffer(buffer)) {
  163703. password = buffer.passphrase;
  163704. buffer = buffer.key;
  163705. }
  163706. if (typeof buffer === "string") {
  163707. buffer = new Buffer(buffer);
  163708. }
  163709. var stripped = fixProc(buffer, password);
  163710. var type = stripped.tag;
  163711. var data = stripped.data;
  163712. var subtype, ndata;
  163713. switch (type) {
  163714. case "CERTIFICATE":
  163715. ndata = asn1.certificate.decode(data, "der").tbsCertificate
  163716. .subjectPublicKeyInfo;
  163717. // falls through
  163718. case "PUBLIC KEY":
  163719. if (!ndata) {
  163720. ndata = asn1.PublicKey.decode(data, "der");
  163721. }
  163722. subtype = ndata.algorithm.algorithm.join(".");
  163723. switch (subtype) {
  163724. case "1.2.840.113549.1.1.1":
  163725. return asn1.RSAPublicKey.decode(
  163726. ndata.subjectPublicKey.data,
  163727. "der"
  163728. );
  163729. case "1.2.840.10045.2.1":
  163730. ndata.subjectPrivateKey = ndata.subjectPublicKey;
  163731. return {
  163732. type: "ec",
  163733. data: ndata,
  163734. };
  163735. case "1.2.840.10040.4.1":
  163736. ndata.algorithm.params.pub_key = asn1.DSAparam.decode(
  163737. ndata.subjectPublicKey.data,
  163738. "der"
  163739. );
  163740. return {
  163741. type: "dsa",
  163742. data: ndata.algorithm.params,
  163743. };
  163744. default:
  163745. throw new Error("unknown key id " + subtype);
  163746. }
  163747. throw new Error("unknown key type " + type);
  163748. case "ENCRYPTED PRIVATE KEY":
  163749. data = asn1.EncryptedPrivateKey.decode(data, "der");
  163750. data = decrypt(data, password);
  163751. // falls through
  163752. case "PRIVATE KEY":
  163753. ndata = asn1.PrivateKey.decode(data, "der");
  163754. subtype = ndata.algorithm.algorithm.join(".");
  163755. switch (subtype) {
  163756. case "1.2.840.113549.1.1.1":
  163757. return asn1.RSAPrivateKey.decode(
  163758. ndata.subjectPrivateKey,
  163759. "der"
  163760. );
  163761. case "1.2.840.10045.2.1":
  163762. return {
  163763. curve: ndata.algorithm.curve,
  163764. privateKey: asn1.ECPrivateKey.decode(
  163765. ndata.subjectPrivateKey,
  163766. "der"
  163767. ).privateKey,
  163768. };
  163769. case "1.2.840.10040.4.1":
  163770. ndata.algorithm.params.priv_key = asn1.DSAparam.decode(
  163771. ndata.subjectPrivateKey,
  163772. "der"
  163773. );
  163774. return {
  163775. type: "dsa",
  163776. params: ndata.algorithm.params,
  163777. };
  163778. default:
  163779. throw new Error("unknown key id " + subtype);
  163780. }
  163781. throw new Error("unknown key type " + type);
  163782. case "RSA PUBLIC KEY":
  163783. return asn1.RSAPublicKey.decode(data, "der");
  163784. case "RSA PRIVATE KEY":
  163785. return asn1.RSAPrivateKey.decode(data, "der");
  163786. case "DSA PRIVATE KEY":
  163787. return {
  163788. type: "dsa",
  163789. params: asn1.DSAPrivateKey.decode(data, "der"),
  163790. };
  163791. case "EC PRIVATE KEY":
  163792. data = asn1.ECPrivateKey.decode(data, "der");
  163793. return {
  163794. curve: data.parameters.value,
  163795. privateKey: data.privateKey,
  163796. };
  163797. default:
  163798. throw new Error("unknown key type " + type);
  163799. }
  163800. }
  163801. parseKeys.signature = asn1.signature;
  163802. function decrypt(data, password) {
  163803. var salt = data.algorithm.decrypt.kde.kdeparams.salt;
  163804. var iters = parseInt(
  163805. data.algorithm.decrypt.kde.kdeparams.iters.toString(),
  163806. 10
  163807. );
  163808. var algo = aesid[data.algorithm.decrypt.cipher.algo.join(".")];
  163809. var iv = data.algorithm.decrypt.cipher.iv;
  163810. var cipherText = data.subjectPrivateKey;
  163811. var keylen = parseInt(algo.split("-")[1], 10) / 8;
  163812. var key = compat.pbkdf2Sync(password, salt, iters, keylen);
  163813. var cipher = ciphers.createDecipheriv(algo, key, iv);
  163814. var out = [];
  163815. out.push(cipher.update(cipherText));
  163816. out.push(cipher.final());
  163817. return Buffer.concat(out);
  163818. }
  163819. }).call(this, require("buffer").Buffer);
  163820. },
  163821. {
  163822. "./aesid.json": 114,
  163823. "./asn1": 115,
  163824. "./fixProc": 117,
  163825. "browserify-aes": 30,
  163826. buffer: 54,
  163827. pbkdf2: 120,
  163828. },
  163829. ],
  163830. 119: [
  163831. function (require, module, exports) {
  163832. (function (process) {
  163833. // Copyright Joyent, Inc. and other Node contributors.
  163834. //
  163835. // Permission is hereby granted, free of charge, to any person obtaining a
  163836. // copy of this software and associated documentation files (the
  163837. // "Software"), to deal in the Software without restriction, including
  163838. // without limitation the rights to use, copy, modify, merge, publish,
  163839. // distribute, sublicense, and/or sell copies of the Software, and to permit
  163840. // persons to whom the Software is furnished to do so, subject to the
  163841. // following conditions:
  163842. //
  163843. // The above copyright notice and this permission notice shall be included
  163844. // in all copies or substantial portions of the Software.
  163845. //
  163846. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  163847. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  163848. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  163849. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  163850. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  163851. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  163852. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  163853. // resolves . and .. elements in a path array with directory names there
  163854. // must be no slashes, empty elements, or device names (c:\) in the array
  163855. // (so also no leading and trailing slashes - it does not distinguish
  163856. // relative and absolute paths)
  163857. function normalizeArray(parts, allowAboveRoot) {
  163858. // if the path tries to go above the root, `up` ends up > 0
  163859. var up = 0;
  163860. for (var i = parts.length - 1; i >= 0; i--) {
  163861. var last = parts[i];
  163862. if (last === ".") {
  163863. parts.splice(i, 1);
  163864. } else if (last === "..") {
  163865. parts.splice(i, 1);
  163866. up++;
  163867. } else if (up) {
  163868. parts.splice(i, 1);
  163869. up--;
  163870. }
  163871. }
  163872. // if the path is allowed to go above the root, restore leading ..s
  163873. if (allowAboveRoot) {
  163874. for (; up--; up) {
  163875. parts.unshift("..");
  163876. }
  163877. }
  163878. return parts;
  163879. }
  163880. // Split a filename into [root, dir, basename, ext], unix version
  163881. // 'root' is just a slash, or nothing.
  163882. var splitPathRe =
  163883. /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  163884. var splitPath = function (filename) {
  163885. return splitPathRe.exec(filename).slice(1);
  163886. };
  163887. // path.resolve([from ...], to)
  163888. // posix version
  163889. exports.resolve = function () {
  163890. var resolvedPath = "",
  163891. resolvedAbsolute = false;
  163892. for (
  163893. var i = arguments.length - 1;
  163894. i >= -1 && !resolvedAbsolute;
  163895. i--
  163896. ) {
  163897. var path = i >= 0 ? arguments[i] : process.cwd();
  163898. // Skip empty and invalid entries
  163899. if (typeof path !== "string") {
  163900. throw new TypeError(
  163901. "Arguments to path.resolve must be strings"
  163902. );
  163903. } else if (!path) {
  163904. continue;
  163905. }
  163906. resolvedPath = path + "/" + resolvedPath;
  163907. resolvedAbsolute = path.charAt(0) === "/";
  163908. }
  163909. // At this point the path should be resolved to a full absolute path, but
  163910. // handle relative paths to be safe (might happen when process.cwd() fails)
  163911. // Normalize the path
  163912. resolvedPath = normalizeArray(
  163913. filter(resolvedPath.split("/"), function (p) {
  163914. return !!p;
  163915. }),
  163916. !resolvedAbsolute
  163917. ).join("/");
  163918. return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  163919. };
  163920. // path.normalize(path)
  163921. // posix version
  163922. exports.normalize = function (path) {
  163923. var isAbsolute = exports.isAbsolute(path),
  163924. trailingSlash = substr(path, -1) === "/";
  163925. // Normalize the path
  163926. path = normalizeArray(
  163927. filter(path.split("/"), function (p) {
  163928. return !!p;
  163929. }),
  163930. !isAbsolute
  163931. ).join("/");
  163932. if (!path && !isAbsolute) {
  163933. path = ".";
  163934. }
  163935. if (path && trailingSlash) {
  163936. path += "/";
  163937. }
  163938. return (isAbsolute ? "/" : "") + path;
  163939. };
  163940. // posix version
  163941. exports.isAbsolute = function (path) {
  163942. return path.charAt(0) === "/";
  163943. };
  163944. // posix version
  163945. exports.join = function () {
  163946. var paths = Array.prototype.slice.call(arguments, 0);
  163947. return exports.normalize(
  163948. filter(paths, function (p, index) {
  163949. if (typeof p !== "string") {
  163950. throw new TypeError("Arguments to path.join must be strings");
  163951. }
  163952. return p;
  163953. }).join("/")
  163954. );
  163955. };
  163956. // path.relative(from, to)
  163957. // posix version
  163958. exports.relative = function (from, to) {
  163959. from = exports.resolve(from).substr(1);
  163960. to = exports.resolve(to).substr(1);
  163961. function trim(arr) {
  163962. var start = 0;
  163963. for (; start < arr.length; start++) {
  163964. if (arr[start] !== "") break;
  163965. }
  163966. var end = arr.length - 1;
  163967. for (; end >= 0; end--) {
  163968. if (arr[end] !== "") break;
  163969. }
  163970. if (start > end) return [];
  163971. return arr.slice(start, end - start + 1);
  163972. }
  163973. var fromParts = trim(from.split("/"));
  163974. var toParts = trim(to.split("/"));
  163975. var length = Math.min(fromParts.length, toParts.length);
  163976. var samePartsLength = length;
  163977. for (var i = 0; i < length; i++) {
  163978. if (fromParts[i] !== toParts[i]) {
  163979. samePartsLength = i;
  163980. break;
  163981. }
  163982. }
  163983. var outputParts = [];
  163984. for (var i = samePartsLength; i < fromParts.length; i++) {
  163985. outputParts.push("..");
  163986. }
  163987. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  163988. return outputParts.join("/");
  163989. };
  163990. exports.sep = "/";
  163991. exports.delimiter = ":";
  163992. exports.dirname = function (path) {
  163993. var result = splitPath(path),
  163994. root = result[0],
  163995. dir = result[1];
  163996. if (!root && !dir) {
  163997. // No dirname whatsoever
  163998. return ".";
  163999. }
  164000. if (dir) {
  164001. // It has a dirname, strip trailing slash
  164002. dir = dir.substr(0, dir.length - 1);
  164003. }
  164004. return root + dir;
  164005. };
  164006. exports.basename = function (path, ext) {
  164007. var f = splitPath(path)[2];
  164008. // TODO: make this comparison case-insensitive on windows?
  164009. if (ext && f.substr(-1 * ext.length) === ext) {
  164010. f = f.substr(0, f.length - ext.length);
  164011. }
  164012. return f;
  164013. };
  164014. exports.extname = function (path) {
  164015. return splitPath(path)[3];
  164016. };
  164017. function filter(xs, f) {
  164018. if (xs.filter) return xs.filter(f);
  164019. var res = [];
  164020. for (var i = 0; i < xs.length; i++) {
  164021. if (f(xs[i], i, xs)) res.push(xs[i]);
  164022. }
  164023. return res;
  164024. }
  164025. // String.prototype.substr - negative index don't work in IE8
  164026. var substr =
  164027. "ab".substr(-1) === "b"
  164028. ? function (str, start, len) {
  164029. return str.substr(start, len);
  164030. }
  164031. : function (str, start, len) {
  164032. if (start < 0) start = str.length + start;
  164033. return str.substr(start, len);
  164034. };
  164035. }).call(this, require("_process"));
  164036. },
  164037. { _process: 126 },
  164038. ],
  164039. 120: [
  164040. function (require, module, exports) {
  164041. exports.pbkdf2 = require("./lib/async.js");
  164042. exports.pbkdf2Sync = require("./lib/sync.js");
  164043. },
  164044. { "./lib/async": 121, "./lib/sync": 124 },
  164045. ],
  164046. 121: [
  164047. function (require, module, exports) {
  164048. (function (process, global) {
  164049. var checkParameters = require("./precondition.js");
  164050. var defaultEncoding = require("./default-encoding.js");
  164051. var sync = require("./sync.js");
  164052. var Buffer = require("safe-buffer").Buffer;
  164053. var ZERO_BUF;
  164054. var subtle = global.crypto && global.crypto.subtle;
  164055. var toBrowser = {
  164056. sha: "SHA-1",
  164057. "sha-1": "SHA-1",
  164058. sha1: "SHA-1",
  164059. sha256: "SHA-256",
  164060. "sha-256": "SHA-256",
  164061. sha384: "SHA-384",
  164062. "sha-384": "SHA-384",
  164063. "sha-512": "SHA-512",
  164064. sha512: "SHA-512",
  164065. };
  164066. var checks = [];
  164067. function checkNative(algo) {
  164068. if (global.process && !global.process.browser) {
  164069. return Promise.resolve(false);
  164070. }
  164071. if (!subtle || !subtle.importKey || !subtle.deriveBits) {
  164072. return Promise.resolve(false);
  164073. }
  164074. if (checks[algo] !== undefined) {
  164075. return checks[algo];
  164076. }
  164077. ZERO_BUF = ZERO_BUF || Buffer.alloc(8);
  164078. var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)
  164079. .then(function () {
  164080. return true;
  164081. })
  164082. .catch(function () {
  164083. return false;
  164084. });
  164085. checks[algo] = prom;
  164086. return prom;
  164087. }
  164088. function browserPbkdf2(password, salt, iterations, length, algo) {
  164089. return subtle
  164090. .importKey("raw", password, { name: "PBKDF2" }, false, [
  164091. "deriveBits",
  164092. ])
  164093. .then(function (key) {
  164094. return subtle.deriveBits(
  164095. {
  164096. name: "PBKDF2",
  164097. salt: salt,
  164098. iterations: iterations,
  164099. hash: {
  164100. name: algo,
  164101. },
  164102. },
  164103. key,
  164104. length << 3
  164105. );
  164106. })
  164107. .then(function (res) {
  164108. return Buffer.from(res);
  164109. });
  164110. }
  164111. function resolvePromise(promise, callback) {
  164112. promise.then(
  164113. function (out) {
  164114. process.nextTick(function () {
  164115. callback(null, out);
  164116. });
  164117. },
  164118. function (e) {
  164119. process.nextTick(function () {
  164120. callback(e);
  164121. });
  164122. }
  164123. );
  164124. }
  164125. module.exports = function (
  164126. password,
  164127. salt,
  164128. iterations,
  164129. keylen,
  164130. digest,
  164131. callback
  164132. ) {
  164133. if (!Buffer.isBuffer(password))
  164134. password = Buffer.from(password, defaultEncoding);
  164135. if (!Buffer.isBuffer(salt))
  164136. salt = Buffer.from(salt, defaultEncoding);
  164137. checkParameters(iterations, keylen);
  164138. if (typeof digest === "function") {
  164139. callback = digest;
  164140. digest = undefined;
  164141. }
  164142. if (typeof callback !== "function")
  164143. throw new Error("No callback provided to pbkdf2");
  164144. digest = digest || "sha1";
  164145. var algo = toBrowser[digest.toLowerCase()];
  164146. if (!algo || typeof global.Promise !== "function") {
  164147. return process.nextTick(function () {
  164148. var out;
  164149. try {
  164150. out = sync(password, salt, iterations, keylen, digest);
  164151. } catch (e) {
  164152. return callback(e);
  164153. }
  164154. callback(null, out);
  164155. });
  164156. }
  164157. resolvePromise(
  164158. checkNative(algo).then(function (resp) {
  164159. if (resp) {
  164160. return browserPbkdf2(
  164161. password,
  164162. salt,
  164163. iterations,
  164164. keylen,
  164165. algo
  164166. );
  164167. } else {
  164168. return sync(password, salt, iterations, keylen, digest);
  164169. }
  164170. }),
  164171. callback
  164172. );
  164173. };
  164174. }).call(
  164175. this,
  164176. require("_process"),
  164177. typeof global !== "undefined"
  164178. ? global
  164179. : typeof self !== "undefined"
  164180. ? self
  164181. : typeof window !== "undefined"
  164182. ? window
  164183. : {}
  164184. );
  164185. },
  164186. {
  164187. "./default-encoding": 122,
  164188. "./precondition": 123,
  164189. "./sync": 124,
  164190. _process: 126,
  164191. "safe-buffer": 148,
  164192. },
  164193. ],
  164194. 122: [
  164195. function (require, module, exports) {
  164196. (function (process) {
  164197. var defaultEncoding;
  164198. /* istanbul ignore next */
  164199. if (process.browser) {
  164200. defaultEncoding = "utf-8";
  164201. } else {
  164202. var pVersionMajor = parseInt(
  164203. process.version.split(".")[0].slice(1),
  164204. 10
  164205. );
  164206. defaultEncoding = pVersionMajor >= 6 ? "utf-8" : "binary";
  164207. }
  164208. module.exports = defaultEncoding;
  164209. }).call(this, require("_process"));
  164210. },
  164211. { _process: 126 },
  164212. ],
  164213. 123: [
  164214. function (require, module, exports) {
  164215. var MAX_ALLOC = Math.pow(2, 30) - 1; // default in iojs
  164216. module.exports = function (iterations, keylen) {
  164217. if (typeof iterations !== "number") {
  164218. throw new TypeError("Iterations not a number");
  164219. }
  164220. if (iterations < 0) {
  164221. throw new TypeError("Bad iterations");
  164222. }
  164223. if (typeof keylen !== "number") {
  164224. throw new TypeError("Key length not a number");
  164225. }
  164226. if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) {
  164227. /* eslint no-self-compare: 0 */
  164228. throw new TypeError("Bad key length");
  164229. }
  164230. };
  164231. },
  164232. {},
  164233. ],
  164234. 124: [
  164235. function (require, module, exports) {
  164236. var md5 = require("create-hash/md5");
  164237. var rmd160 = require("ripemd160");
  164238. var sha = require("sha.js");
  164239. var checkParameters = require("./precondition.js");
  164240. var defaultEncoding = require("./default-encoding.js");
  164241. var Buffer = require("safe-buffer").Buffer;
  164242. var ZEROS = Buffer.alloc(128);
  164243. var sizes = {
  164244. md5: 16,
  164245. sha1: 20,
  164246. sha224: 28,
  164247. sha256: 32,
  164248. sha384: 48,
  164249. sha512: 64,
  164250. rmd160: 20,
  164251. ripemd160: 20,
  164252. };
  164253. function Hmac(alg, key, saltLen) {
  164254. var hash = getDigest(alg);
  164255. var blocksize = alg === "sha512" || alg === "sha384" ? 128 : 64;
  164256. if (key.length > blocksize) {
  164257. key = hash(key);
  164258. } else if (key.length < blocksize) {
  164259. key = Buffer.concat([key, ZEROS], blocksize);
  164260. }
  164261. var ipad = Buffer.allocUnsafe(blocksize + sizes[alg]);
  164262. var opad = Buffer.allocUnsafe(blocksize + sizes[alg]);
  164263. for (var i = 0; i < blocksize; i++) {
  164264. ipad[i] = key[i] ^ 0x36;
  164265. opad[i] = key[i] ^ 0x5c;
  164266. }
  164267. var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4);
  164268. ipad.copy(ipad1, 0, 0, blocksize);
  164269. this.ipad1 = ipad1;
  164270. this.ipad2 = ipad;
  164271. this.opad = opad;
  164272. this.alg = alg;
  164273. this.blocksize = blocksize;
  164274. this.hash = hash;
  164275. this.size = sizes[alg];
  164276. }
  164277. Hmac.prototype.run = function (data, ipad) {
  164278. data.copy(ipad, this.blocksize);
  164279. var h = this.hash(ipad);
  164280. h.copy(this.opad, this.blocksize);
  164281. return this.hash(this.opad);
  164282. };
  164283. function getDigest(alg) {
  164284. function shaFunc(data) {
  164285. return sha(alg).update(data).digest();
  164286. }
  164287. if (alg === "rmd160" || alg === "ripemd160") return rmd160;
  164288. if (alg === "md5") return md5;
  164289. return shaFunc;
  164290. }
  164291. function pbkdf2(password, salt, iterations, keylen, digest) {
  164292. if (!Buffer.isBuffer(password))
  164293. password = Buffer.from(password, defaultEncoding);
  164294. if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding);
  164295. checkParameters(iterations, keylen);
  164296. digest = digest || "sha1";
  164297. var hmac = new Hmac(digest, password, salt.length);
  164298. var DK = Buffer.allocUnsafe(keylen);
  164299. var block1 = Buffer.allocUnsafe(salt.length + 4);
  164300. salt.copy(block1, 0, 0, salt.length);
  164301. var destPos = 0;
  164302. var hLen = sizes[digest];
  164303. var l = Math.ceil(keylen / hLen);
  164304. for (var i = 1; i <= l; i++) {
  164305. block1.writeUInt32BE(i, salt.length);
  164306. var T = hmac.run(block1, hmac.ipad1);
  164307. var U = T;
  164308. for (var j = 1; j < iterations; j++) {
  164309. U = hmac.run(U, hmac.ipad2);
  164310. for (var k = 0; k < hLen; k++) T[k] ^= U[k];
  164311. }
  164312. T.copy(DK, destPos);
  164313. destPos += hLen;
  164314. }
  164315. return DK;
  164316. }
  164317. module.exports = pbkdf2;
  164318. },
  164319. {
  164320. "./default-encoding": 122,
  164321. "./precondition": 123,
  164322. "create-hash/md5": 60,
  164323. ripemd160: 147,
  164324. "safe-buffer": 148,
  164325. "sha.js": 150,
  164326. },
  164327. ],
  164328. 125: [
  164329. function (require, module, exports) {
  164330. (function (process) {
  164331. "use strict";
  164332. if (
  164333. !process.version ||
  164334. process.version.indexOf("v0.") === 0 ||
  164335. (process.version.indexOf("v1.") === 0 &&
  164336. process.version.indexOf("v1.8.") !== 0)
  164337. ) {
  164338. module.exports = nextTick;
  164339. } else {
  164340. module.exports = process.nextTick;
  164341. }
  164342. function nextTick(fn, arg1, arg2, arg3) {
  164343. if (typeof fn !== "function") {
  164344. throw new TypeError('"callback" argument must be a function');
  164345. }
  164346. var len = arguments.length;
  164347. var args, i;
  164348. switch (len) {
  164349. case 0:
  164350. case 1:
  164351. return process.nextTick(fn);
  164352. case 2:
  164353. return process.nextTick(function afterTickOne() {
  164354. fn.call(null, arg1);
  164355. });
  164356. case 3:
  164357. return process.nextTick(function afterTickTwo() {
  164358. fn.call(null, arg1, arg2);
  164359. });
  164360. case 4:
  164361. return process.nextTick(function afterTickThree() {
  164362. fn.call(null, arg1, arg2, arg3);
  164363. });
  164364. default:
  164365. args = new Array(len - 1);
  164366. i = 0;
  164367. while (i < args.length) {
  164368. args[i++] = arguments[i];
  164369. }
  164370. return process.nextTick(function afterTick() {
  164371. fn.apply(null, args);
  164372. });
  164373. }
  164374. }
  164375. }).call(this, require("_process"));
  164376. },
  164377. { _process: 126 },
  164378. ],
  164379. 126: [
  164380. function (require, module, exports) {
  164381. // shim for using process in browser
  164382. var process = (module.exports = {});
  164383. // cached from whatever global is present so that test runners that stub it
  164384. // don't break things. But we need to wrap it in a try catch in case it is
  164385. // wrapped in strict mode code which doesn't define any globals. It's inside a
  164386. // function because try/catches deoptimize in certain engines.
  164387. var cachedSetTimeout;
  164388. var cachedClearTimeout;
  164389. function defaultSetTimout() {
  164390. throw new Error("setTimeout has not been defined");
  164391. }
  164392. function defaultClearTimeout() {
  164393. throw new Error("clearTimeout has not been defined");
  164394. }
  164395. (function () {
  164396. try {
  164397. if (typeof setTimeout === "function") {
  164398. cachedSetTimeout = setTimeout;
  164399. } else {
  164400. cachedSetTimeout = defaultSetTimout;
  164401. }
  164402. } catch (e) {
  164403. cachedSetTimeout = defaultSetTimout;
  164404. }
  164405. try {
  164406. if (typeof clearTimeout === "function") {
  164407. cachedClearTimeout = clearTimeout;
  164408. } else {
  164409. cachedClearTimeout = defaultClearTimeout;
  164410. }
  164411. } catch (e) {
  164412. cachedClearTimeout = defaultClearTimeout;
  164413. }
  164414. })();
  164415. function runTimeout(fun) {
  164416. if (cachedSetTimeout === setTimeout) {
  164417. //normal enviroments in sane situations
  164418. return setTimeout(fun, 0);
  164419. }
  164420. // if setTimeout wasn't available but was latter defined
  164421. if (
  164422. (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&
  164423. setTimeout
  164424. ) {
  164425. cachedSetTimeout = setTimeout;
  164426. return setTimeout(fun, 0);
  164427. }
  164428. try {
  164429. // when when somebody has screwed with setTimeout but no I.E. maddness
  164430. return cachedSetTimeout(fun, 0);
  164431. } catch (e) {
  164432. try {
  164433. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  164434. return cachedSetTimeout.call(null, fun, 0);
  164435. } catch (e) {
  164436. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
  164437. return cachedSetTimeout.call(this, fun, 0);
  164438. }
  164439. }
  164440. }
  164441. function runClearTimeout(marker) {
  164442. if (cachedClearTimeout === clearTimeout) {
  164443. //normal enviroments in sane situations
  164444. return clearTimeout(marker);
  164445. }
  164446. // if clearTimeout wasn't available but was latter defined
  164447. if (
  164448. (cachedClearTimeout === defaultClearTimeout ||
  164449. !cachedClearTimeout) &&
  164450. clearTimeout
  164451. ) {
  164452. cachedClearTimeout = clearTimeout;
  164453. return clearTimeout(marker);
  164454. }
  164455. try {
  164456. // when when somebody has screwed with setTimeout but no I.E. maddness
  164457. return cachedClearTimeout(marker);
  164458. } catch (e) {
  164459. try {
  164460. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  164461. return cachedClearTimeout.call(null, marker);
  164462. } catch (e) {
  164463. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
  164464. // Some versions of I.E. have different rules for clearTimeout vs setTimeout
  164465. return cachedClearTimeout.call(this, marker);
  164466. }
  164467. }
  164468. }
  164469. var queue = [];
  164470. var draining = false;
  164471. var currentQueue;
  164472. var queueIndex = -1;
  164473. function cleanUpNextTick() {
  164474. if (!draining || !currentQueue) {
  164475. return;
  164476. }
  164477. draining = false;
  164478. if (currentQueue.length) {
  164479. queue = currentQueue.concat(queue);
  164480. } else {
  164481. queueIndex = -1;
  164482. }
  164483. if (queue.length) {
  164484. drainQueue();
  164485. }
  164486. }
  164487. function drainQueue() {
  164488. if (draining) {
  164489. return;
  164490. }
  164491. var timeout = runTimeout(cleanUpNextTick);
  164492. draining = true;
  164493. var len = queue.length;
  164494. while (len) {
  164495. currentQueue = queue;
  164496. queue = [];
  164497. while (++queueIndex < len) {
  164498. if (currentQueue) {
  164499. currentQueue[queueIndex].run();
  164500. }
  164501. }
  164502. queueIndex = -1;
  164503. len = queue.length;
  164504. }
  164505. currentQueue = null;
  164506. draining = false;
  164507. runClearTimeout(timeout);
  164508. }
  164509. process.nextTick = function (fun) {
  164510. var args = new Array(arguments.length - 1);
  164511. if (arguments.length > 1) {
  164512. for (var i = 1; i < arguments.length; i++) {
  164513. args[i - 1] = arguments[i];
  164514. }
  164515. }
  164516. queue.push(new Item(fun, args));
  164517. if (queue.length === 1 && !draining) {
  164518. runTimeout(drainQueue);
  164519. }
  164520. };
  164521. // v8 likes predictible objects
  164522. function Item(fun, array) {
  164523. this.fun = fun;
  164524. this.array = array;
  164525. }
  164526. Item.prototype.run = function () {
  164527. this.fun.apply(null, this.array);
  164528. };
  164529. process.title = "browser";
  164530. process.browser = true;
  164531. process.env = {};
  164532. process.argv = [];
  164533. process.version = ""; // empty string to avoid regexp issues
  164534. process.versions = {};
  164535. function noop() {}
  164536. process.on = noop;
  164537. process.addListener = noop;
  164538. process.once = noop;
  164539. process.off = noop;
  164540. process.removeListener = noop;
  164541. process.removeAllListeners = noop;
  164542. process.emit = noop;
  164543. process.prependListener = noop;
  164544. process.prependOnceListener = noop;
  164545. process.listeners = function (name) {
  164546. return [];
  164547. };
  164548. process.binding = function (name) {
  164549. throw new Error("process.binding is not supported");
  164550. };
  164551. process.cwd = function () {
  164552. return "/";
  164553. };
  164554. process.chdir = function (dir) {
  164555. throw new Error("process.chdir is not supported");
  164556. };
  164557. process.umask = function () {
  164558. return 0;
  164559. };
  164560. },
  164561. {},
  164562. ],
  164563. 127: [
  164564. function (require, module, exports) {
  164565. exports.publicEncrypt = require("./publicEncrypt.js");
  164566. exports.privateDecrypt = require("./privateDecrypt.js");
  164567. exports.privateEncrypt = function privateEncrypt(key, buf) {
  164568. return exports.publicEncrypt(key, buf, true);
  164569. };
  164570. exports.publicDecrypt = function publicDecrypt(key, buf) {
  164571. return exports.privateDecrypt(key, buf, true);
  164572. };
  164573. },
  164574. { "./privateDecrypt": 129, "./publicEncrypt": 130 },
  164575. ],
  164576. 128: [
  164577. function (require, module, exports) {
  164578. (function (Buffer) {
  164579. var createHash = require("create-hash");
  164580. module.exports = function (seed, len) {
  164581. var t = new Buffer("");
  164582. var i = 0,
  164583. c;
  164584. while (t.length < len) {
  164585. c = i2ops(i++);
  164586. t = Buffer.concat([
  164587. t,
  164588. createHash("sha1").update(seed).update(c).digest(),
  164589. ]);
  164590. }
  164591. return t.slice(0, len);
  164592. };
  164593. function i2ops(c) {
  164594. var out = new Buffer(4);
  164595. out.writeUInt32BE(c, 0);
  164596. return out;
  164597. }
  164598. }).call(this, require("buffer").Buffer);
  164599. },
  164600. { buffer: 54, "create-hash": 58 },
  164601. ],
  164602. 129: [
  164603. function (require, module, exports) {
  164604. (function (Buffer) {
  164605. var parseKeys = require("parse-asn1");
  164606. var mgf = require("./mgf.js");
  164607. var xor = require("./xor.js");
  164608. var bn = require("bn.js");
  164609. var crt = require("browserify-rsa");
  164610. var createHash = require("create-hash");
  164611. var withPublic = require("./withPublic.js");
  164612. module.exports = function privateDecrypt(private_key, enc, reverse) {
  164613. var padding;
  164614. if (private_key.padding) {
  164615. padding = private_key.padding;
  164616. } else if (reverse) {
  164617. padding = 1;
  164618. } else {
  164619. padding = 4;
  164620. }
  164621. var key = parseKeys(private_key);
  164622. var k = key.modulus.byteLength();
  164623. if (enc.length > k || new bn(enc).cmp(key.modulus) >= 0) {
  164624. throw new Error("decryption error");
  164625. }
  164626. var msg;
  164627. if (reverse) {
  164628. msg = withPublic(new bn(enc), key);
  164629. } else {
  164630. msg = crt(enc, key);
  164631. }
  164632. var zBuffer = new Buffer(k - msg.length);
  164633. zBuffer.fill(0);
  164634. msg = Buffer.concat([zBuffer, msg], k);
  164635. if (padding === 4) {
  164636. return oaep(key, msg);
  164637. } else if (padding === 1) {
  164638. return pkcs1(key, msg, reverse);
  164639. } else if (padding === 3) {
  164640. return msg;
  164641. } else {
  164642. throw new Error("unknown padding");
  164643. }
  164644. };
  164645. function oaep(key, msg) {
  164646. var n = key.modulus;
  164647. var k = key.modulus.byteLength();
  164648. var mLen = msg.length;
  164649. var iHash = createHash("sha1").update(new Buffer("")).digest();
  164650. var hLen = iHash.length;
  164651. var hLen2 = 2 * hLen;
  164652. if (msg[0] !== 0) {
  164653. throw new Error("decryption error");
  164654. }
  164655. var maskedSeed = msg.slice(1, hLen + 1);
  164656. var maskedDb = msg.slice(hLen + 1);
  164657. var seed = xor(maskedSeed, mgf(maskedDb, hLen));
  164658. var db = xor(maskedDb, mgf(seed, k - hLen - 1));
  164659. if (compare(iHash, db.slice(0, hLen))) {
  164660. throw new Error("decryption error");
  164661. }
  164662. var i = hLen;
  164663. while (db[i] === 0) {
  164664. i++;
  164665. }
  164666. if (db[i++] !== 1) {
  164667. throw new Error("decryption error");
  164668. }
  164669. return db.slice(i);
  164670. }
  164671. function pkcs1(key, msg, reverse) {
  164672. var p1 = msg.slice(0, 2);
  164673. var i = 2;
  164674. var status = 0;
  164675. while (msg[i++] !== 0) {
  164676. if (i >= msg.length) {
  164677. status++;
  164678. break;
  164679. }
  164680. }
  164681. var ps = msg.slice(2, i - 1);
  164682. var p2 = msg.slice(i - 1, i);
  164683. if (
  164684. (p1.toString("hex") !== "0002" && !reverse) ||
  164685. (p1.toString("hex") !== "0001" && reverse)
  164686. ) {
  164687. status++;
  164688. }
  164689. if (ps.length < 8) {
  164690. status++;
  164691. }
  164692. if (status) {
  164693. throw new Error("decryption error");
  164694. }
  164695. return msg.slice(i);
  164696. }
  164697. function compare(a, b) {
  164698. a = new Buffer(a);
  164699. b = new Buffer(b);
  164700. var dif = 0;
  164701. var len = a.length;
  164702. if (a.length !== b.length) {
  164703. dif++;
  164704. len = Math.min(a.length, b.length);
  164705. }
  164706. var i = -1;
  164707. while (++i < len) {
  164708. dif += a[i] ^ b[i];
  164709. }
  164710. return dif;
  164711. }
  164712. }).call(this, require("buffer").Buffer);
  164713. },
  164714. {
  164715. "./mgf": 128,
  164716. "./withPublic": 131,
  164717. "./xor": 132,
  164718. "bn.js": 25,
  164719. "browserify-rsa": 46,
  164720. buffer: 54,
  164721. "create-hash": 58,
  164722. "parse-asn1": 118,
  164723. },
  164724. ],
  164725. 130: [
  164726. function (require, module, exports) {
  164727. (function (Buffer) {
  164728. var parseKeys = require("parse-asn1");
  164729. var randomBytes = require("randombytes");
  164730. var createHash = require("create-hash");
  164731. var mgf = require("./mgf.js");
  164732. var xor = require("./xor.js");
  164733. var bn = require("bn.js");
  164734. var withPublic = require("./withPublic.js");
  164735. var crt = require("browserify-rsa");
  164736. var constants = {
  164737. RSA_PKCS1_OAEP_PADDING: 4,
  164738. RSA_PKCS1_PADDIN: 1,
  164739. RSA_NO_PADDING: 3,
  164740. };
  164741. module.exports = function publicEncrypt(public_key, msg, reverse) {
  164742. var padding;
  164743. if (public_key.padding) {
  164744. padding = public_key.padding;
  164745. } else if (reverse) {
  164746. padding = 1;
  164747. } else {
  164748. padding = 4;
  164749. }
  164750. var key = parseKeys(public_key);
  164751. var paddedMsg;
  164752. if (padding === 4) {
  164753. paddedMsg = oaep(key, msg);
  164754. } else if (padding === 1) {
  164755. paddedMsg = pkcs1(key, msg, reverse);
  164756. } else if (padding === 3) {
  164757. paddedMsg = new bn(msg);
  164758. if (paddedMsg.cmp(key.modulus) >= 0) {
  164759. throw new Error("data too long for modulus");
  164760. }
  164761. } else {
  164762. throw new Error("unknown padding");
  164763. }
  164764. if (reverse) {
  164765. return crt(paddedMsg, key);
  164766. } else {
  164767. return withPublic(paddedMsg, key);
  164768. }
  164769. };
  164770. function oaep(key, msg) {
  164771. var k = key.modulus.byteLength();
  164772. var mLen = msg.length;
  164773. var iHash = createHash("sha1").update(new Buffer("")).digest();
  164774. var hLen = iHash.length;
  164775. var hLen2 = 2 * hLen;
  164776. if (mLen > k - hLen2 - 2) {
  164777. throw new Error("message too long");
  164778. }
  164779. var ps = new Buffer(k - mLen - hLen2 - 2);
  164780. ps.fill(0);
  164781. var dblen = k - hLen - 1;
  164782. var seed = randomBytes(hLen);
  164783. var maskedDb = xor(
  164784. Buffer.concat([iHash, ps, new Buffer([1]), msg], dblen),
  164785. mgf(seed, dblen)
  164786. );
  164787. var maskedSeed = xor(seed, mgf(maskedDb, hLen));
  164788. return new bn(
  164789. Buffer.concat([new Buffer([0]), maskedSeed, maskedDb], k)
  164790. );
  164791. }
  164792. function pkcs1(key, msg, reverse) {
  164793. var mLen = msg.length;
  164794. var k = key.modulus.byteLength();
  164795. if (mLen > k - 11) {
  164796. throw new Error("message too long");
  164797. }
  164798. var ps;
  164799. if (reverse) {
  164800. ps = new Buffer(k - mLen - 3);
  164801. ps.fill(0xff);
  164802. } else {
  164803. ps = nonZero(k - mLen - 3);
  164804. }
  164805. return new bn(
  164806. Buffer.concat(
  164807. [new Buffer([0, reverse ? 1 : 2]), ps, new Buffer([0]), msg],
  164808. k
  164809. )
  164810. );
  164811. }
  164812. function nonZero(len, crypto) {
  164813. var out = new Buffer(len);
  164814. var i = 0;
  164815. var cache = randomBytes(len * 2);
  164816. var cur = 0;
  164817. var num;
  164818. while (i < len) {
  164819. if (cur === cache.length) {
  164820. cache = randomBytes(len * 2);
  164821. cur = 0;
  164822. }
  164823. num = cache[cur++];
  164824. if (num) {
  164825. out[i++] = num;
  164826. }
  164827. }
  164828. return out;
  164829. }
  164830. }).call(this, require("buffer").Buffer);
  164831. },
  164832. {
  164833. "./mgf": 128,
  164834. "./withPublic": 131,
  164835. "./xor": 132,
  164836. "bn.js": 25,
  164837. "browserify-rsa": 46,
  164838. buffer: 54,
  164839. "create-hash": 58,
  164840. "parse-asn1": 118,
  164841. randombytes: 133,
  164842. },
  164843. ],
  164844. 131: [
  164845. function (require, module, exports) {
  164846. (function (Buffer) {
  164847. var bn = require("bn.js");
  164848. function withPublic(paddedMsg, key) {
  164849. return new Buffer(
  164850. paddedMsg
  164851. .toRed(bn.mont(key.modulus))
  164852. .redPow(new bn(key.publicExponent))
  164853. .fromRed()
  164854. .toArray()
  164855. );
  164856. }
  164857. module.exports = withPublic;
  164858. }).call(this, require("buffer").Buffer);
  164859. },
  164860. { "bn.js": 25, buffer: 54 },
  164861. ],
  164862. 132: [
  164863. function (require, module, exports) {
  164864. module.exports = function xor(a, b) {
  164865. var len = a.length;
  164866. var i = -1;
  164867. while (++i < len) {
  164868. a[i] ^= b[i];
  164869. }
  164870. return a;
  164871. };
  164872. },
  164873. {},
  164874. ],
  164875. 133: [
  164876. function (require, module, exports) {
  164877. (function (process, global) {
  164878. "use strict";
  164879. function oldBrowser() {
  164880. throw new Error(
  164881. "secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11"
  164882. );
  164883. }
  164884. var Buffer = require("safe-buffer").Buffer;
  164885. var crypto = global.crypto || global.msCrypto;
  164886. if (crypto && crypto.getRandomValues) {
  164887. module.exports = randomBytes;
  164888. } else {
  164889. module.exports = oldBrowser;
  164890. }
  164891. function randomBytes(size, cb) {
  164892. // phantomjs needs to throw
  164893. if (size > 65536)
  164894. throw new Error("requested too many random bytes");
  164895. // in case browserify isn't using the Uint8Array version
  164896. var rawBytes = new global.Uint8Array(size);
  164897. // This will not work in older browsers.
  164898. // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
  164899. if (size > 0) {
  164900. // getRandomValues fails on IE if size == 0
  164901. crypto.getRandomValues(rawBytes);
  164902. }
  164903. // XXX: phantomjs doesn't like a buffer being passed here
  164904. var bytes = Buffer.from(rawBytes.buffer);
  164905. if (typeof cb === "function") {
  164906. return process.nextTick(function () {
  164907. cb(null, bytes);
  164908. });
  164909. }
  164910. return bytes;
  164911. }
  164912. }).call(
  164913. this,
  164914. require("_process"),
  164915. typeof global !== "undefined"
  164916. ? global
  164917. : typeof self !== "undefined"
  164918. ? self
  164919. : typeof window !== "undefined"
  164920. ? window
  164921. : {}
  164922. );
  164923. },
  164924. { _process: 126, "safe-buffer": 148 },
  164925. ],
  164926. 134: [
  164927. function (require, module, exports) {
  164928. module.exports = require("./lib/_stream_duplex.js");
  164929. },
  164930. { "./lib/_stream_duplex.js": 135 },
  164931. ],
  164932. 135: [
  164933. function (require, module, exports) {
  164934. // Copyright Joyent, Inc. and other Node contributors.
  164935. //
  164936. // Permission is hereby granted, free of charge, to any person obtaining a
  164937. // copy of this software and associated documentation files (the
  164938. // "Software"), to deal in the Software without restriction, including
  164939. // without limitation the rights to use, copy, modify, merge, publish,
  164940. // distribute, sublicense, and/or sell copies of the Software, and to permit
  164941. // persons to whom the Software is furnished to do so, subject to the
  164942. // following conditions:
  164943. //
  164944. // The above copyright notice and this permission notice shall be included
  164945. // in all copies or substantial portions of the Software.
  164946. //
  164947. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  164948. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  164949. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  164950. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  164951. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  164952. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  164953. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  164954. // a duplex stream is just a stream that is both readable and writable.
  164955. // Since JS doesn't have multiple prototypal inheritance, this class
  164956. // prototypally inherits from Readable, and then parasitically from
  164957. // Writable.
  164958. "use strict";
  164959. /*<replacement>*/
  164960. var processNextTick = require("process-nextick-args");
  164961. /*</replacement>*/
  164962. /*<replacement>*/
  164963. var objectKeys =
  164964. Object.keys ||
  164965. function (obj) {
  164966. var keys = [];
  164967. for (var key in obj) {
  164968. keys.push(key);
  164969. }
  164970. return keys;
  164971. };
  164972. /*</replacement>*/
  164973. module.exports = Duplex;
  164974. /*<replacement>*/
  164975. var util = require("core-util-is");
  164976. util.inherits = require("inherits");
  164977. /*</replacement>*/
  164978. var Readable = require("./_stream_readable.js");
  164979. var Writable = require("./_stream_writable.js");
  164980. util.inherits(Duplex, Readable);
  164981. var keys = objectKeys(Writable.prototype);
  164982. for (var v = 0; v < keys.length; v++) {
  164983. var method = keys[v];
  164984. if (!Duplex.prototype[method])
  164985. Duplex.prototype[method] = Writable.prototype[method];
  164986. }
  164987. function Duplex(options) {
  164988. if (!(this instanceof Duplex)) return new Duplex(options);
  164989. Readable.call(this, options);
  164990. Writable.call(this, options);
  164991. if (options && options.readable === false) this.readable = false;
  164992. if (options && options.writable === false) this.writable = false;
  164993. this.allowHalfOpen = true;
  164994. if (options && options.allowHalfOpen === false)
  164995. this.allowHalfOpen = false;
  164996. this.once("end", onend);
  164997. }
  164998. // the no-half-open enforcer
  164999. function onend() {
  165000. // if we allow half-open state, or if the writable side ended,
  165001. // then we're ok.
  165002. if (this.allowHalfOpen || this._writableState.ended) return;
  165003. // no more data can be written.
  165004. // But allow more writes to happen in this tick.
  165005. processNextTick(onEndNT, this);
  165006. }
  165007. function onEndNT(self) {
  165008. self.end();
  165009. }
  165010. Object.defineProperty(Duplex.prototype, "destroyed", {
  165011. get: function () {
  165012. if (
  165013. this._readableState === undefined ||
  165014. this._writableState === undefined
  165015. ) {
  165016. return false;
  165017. }
  165018. return (
  165019. this._readableState.destroyed && this._writableState.destroyed
  165020. );
  165021. },
  165022. set: function (value) {
  165023. // we ignore the value if the stream
  165024. // has not been initialized yet
  165025. if (
  165026. this._readableState === undefined ||
  165027. this._writableState === undefined
  165028. ) {
  165029. return;
  165030. }
  165031. // backward compatibility, the user is explicitly
  165032. // managing destroyed
  165033. this._readableState.destroyed = value;
  165034. this._writableState.destroyed = value;
  165035. },
  165036. });
  165037. Duplex.prototype._destroy = function (err, cb) {
  165038. this.push(null);
  165039. this.end();
  165040. processNextTick(cb, err);
  165041. };
  165042. function forEach(xs, f) {
  165043. for (var i = 0, l = xs.length; i < l; i++) {
  165044. f(xs[i], i);
  165045. }
  165046. }
  165047. },
  165048. {
  165049. "./_stream_readable": 137,
  165050. "./_stream_writable": 139,
  165051. "core-util-is": 56,
  165052. inherits: 108,
  165053. "process-nextick-args": 125,
  165054. },
  165055. ],
  165056. 136: [
  165057. function (require, module, exports) {
  165058. // Copyright Joyent, Inc. and other Node contributors.
  165059. //
  165060. // Permission is hereby granted, free of charge, to any person obtaining a
  165061. // copy of this software and associated documentation files (the
  165062. // "Software"), to deal in the Software without restriction, including
  165063. // without limitation the rights to use, copy, modify, merge, publish,
  165064. // distribute, sublicense, and/or sell copies of the Software, and to permit
  165065. // persons to whom the Software is furnished to do so, subject to the
  165066. // following conditions:
  165067. //
  165068. // The above copyright notice and this permission notice shall be included
  165069. // in all copies or substantial portions of the Software.
  165070. //
  165071. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  165072. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  165073. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  165074. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  165075. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  165076. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  165077. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  165078. // a passthrough stream.
  165079. // basically just the most minimal sort of Transform stream.
  165080. // Every written chunk gets output as-is.
  165081. "use strict";
  165082. module.exports = PassThrough;
  165083. var Transform = require("./_stream_transform.js");
  165084. /*<replacement>*/
  165085. var util = require("core-util-is");
  165086. util.inherits = require("inherits");
  165087. /*</replacement>*/
  165088. util.inherits(PassThrough, Transform);
  165089. function PassThrough(options) {
  165090. if (!(this instanceof PassThrough)) return new PassThrough(options);
  165091. Transform.call(this, options);
  165092. }
  165093. PassThrough.prototype._transform = function (chunk, encoding, cb) {
  165094. cb(null, chunk);
  165095. };
  165096. },
  165097. { "./_stream_transform": 138, "core-util-is": 56, inherits: 108 },
  165098. ],
  165099. 137: [
  165100. function (require, module, exports) {
  165101. (function (process, global) {
  165102. // Copyright Joyent, Inc. and other Node contributors.
  165103. //
  165104. // Permission is hereby granted, free of charge, to any person obtaining a
  165105. // copy of this software and associated documentation files (the
  165106. // "Software"), to deal in the Software without restriction, including
  165107. // without limitation the rights to use, copy, modify, merge, publish,
  165108. // distribute, sublicense, and/or sell copies of the Software, and to permit
  165109. // persons to whom the Software is furnished to do so, subject to the
  165110. // following conditions:
  165111. //
  165112. // The above copyright notice and this permission notice shall be included
  165113. // in all copies or substantial portions of the Software.
  165114. //
  165115. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  165116. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  165117. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  165118. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  165119. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  165120. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  165121. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  165122. "use strict";
  165123. /*<replacement>*/
  165124. var processNextTick = require("process-nextick-args");
  165125. /*</replacement>*/
  165126. module.exports = Readable;
  165127. /*<replacement>*/
  165128. var isArray = require("isarray");
  165129. /*</replacement>*/
  165130. /*<replacement>*/
  165131. var Duplex;
  165132. /*</replacement>*/
  165133. Readable.ReadableState = ReadableState;
  165134. /*<replacement>*/
  165135. var EE = require("events").EventEmitter;
  165136. var EElistenerCount = function (emitter, type) {
  165137. return emitter.listeners(type).length;
  165138. };
  165139. /*</replacement>*/
  165140. /*<replacement>*/
  165141. var Stream = require("./internal/streams/stream.js");
  165142. /*</replacement>*/
  165143. // TODO(bmeurer): Change this back to const once hole checks are
  165144. // properly optimized away early in Ignition+TurboFan.
  165145. /*<replacement>*/
  165146. var Buffer = require("safe-buffer").Buffer;
  165147. var OurUint8Array = global.Uint8Array || function () {};
  165148. function _uint8ArrayToBuffer(chunk) {
  165149. return Buffer.from(chunk);
  165150. }
  165151. function _isUint8Array(obj) {
  165152. return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
  165153. }
  165154. /*</replacement>*/
  165155. /*<replacement>*/
  165156. var util = require("core-util-is");
  165157. util.inherits = require("inherits");
  165158. /*</replacement>*/
  165159. /*<replacement>*/
  165160. var debugUtil = require("util");
  165161. var debug = void 0;
  165162. if (debugUtil && debugUtil.debuglog) {
  165163. debug = debugUtil.debuglog("stream");
  165164. } else {
  165165. debug = function () {};
  165166. }
  165167. /*</replacement>*/
  165168. var BufferList = require("./internal/streams/BufferList.js");
  165169. var destroyImpl = require("./internal/streams/destroy.js");
  165170. var StringDecoder;
  165171. util.inherits(Readable, Stream);
  165172. var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
  165173. function prependListener(emitter, event, fn) {
  165174. // Sadly this is not cacheable as some libraries bundle their own
  165175. // event emitter implementation with them.
  165176. if (typeof emitter.prependListener === "function") {
  165177. return emitter.prependListener(event, fn);
  165178. } else {
  165179. // This is a hack to make sure that our error handler is attached before any
  165180. // userland ones. NEVER DO THIS. This is here only because this code needs
  165181. // to continue to work with older versions of Node.js that do not include
  165182. // the prependListener() method. The goal is to eventually remove this hack.
  165183. if (!emitter._events || !emitter._events[event])
  165184. emitter.on(event, fn);
  165185. else if (isArray(emitter._events[event]))
  165186. emitter._events[event].unshift(fn);
  165187. else emitter._events[event] = [fn, emitter._events[event]];
  165188. }
  165189. }
  165190. function ReadableState(options, stream) {
  165191. Duplex = Duplex || require("./_stream_duplex.js");
  165192. options = options || {};
  165193. // object stream flag. Used to make read(n) ignore n and to
  165194. // make all the buffer merging and length checks go away
  165195. this.objectMode = !!options.objectMode;
  165196. if (stream instanceof Duplex)
  165197. this.objectMode = this.objectMode || !!options.readableObjectMode;
  165198. // the point at which it stops calling _read() to fill the buffer
  165199. // Note: 0 is a valid value, means "don't call _read preemptively ever"
  165200. var hwm = options.highWaterMark;
  165201. var defaultHwm = this.objectMode ? 16 : 16 * 1024;
  165202. this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
  165203. // cast to ints.
  165204. this.highWaterMark = Math.floor(this.highWaterMark);
  165205. // A linked list is used to store data chunks instead of an array because the
  165206. // linked list can remove elements from the beginning faster than
  165207. // array.shift()
  165208. this.buffer = new BufferList();
  165209. this.length = 0;
  165210. this.pipes = null;
  165211. this.pipesCount = 0;
  165212. this.flowing = null;
  165213. this.ended = false;
  165214. this.endEmitted = false;
  165215. this.reading = false;
  165216. // a flag to be able to tell if the event 'readable'/'data' is emitted
  165217. // immediately, or on a later tick. We set this to true at first, because
  165218. // any actions that shouldn't happen until "later" should generally also
  165219. // not happen before the first read call.
  165220. this.sync = true;
  165221. // whenever we return null, then we set a flag to say
  165222. // that we're awaiting a 'readable' event emission.
  165223. this.needReadable = false;
  165224. this.emittedReadable = false;
  165225. this.readableListening = false;
  165226. this.resumeScheduled = false;
  165227. // has it been destroyed
  165228. this.destroyed = false;
  165229. // Crypto is kind of old and crusty. Historically, its default string
  165230. // encoding is 'binary' so we have to make this configurable.
  165231. // Everything else in the universe uses 'utf8', though.
  165232. this.defaultEncoding = options.defaultEncoding || "utf8";
  165233. // the number of writers that are awaiting a drain event in .pipe()s
  165234. this.awaitDrain = 0;
  165235. // if true, a maybeReadMore has been scheduled
  165236. this.readingMore = false;
  165237. this.decoder = null;
  165238. this.encoding = null;
  165239. if (options.encoding) {
  165240. if (!StringDecoder)
  165241. StringDecoder = require("string_decoder/").StringDecoder;
  165242. this.decoder = new StringDecoder(options.encoding);
  165243. this.encoding = options.encoding;
  165244. }
  165245. }
  165246. function Readable(options) {
  165247. Duplex = Duplex || require("./_stream_duplex.js");
  165248. if (!(this instanceof Readable)) return new Readable(options);
  165249. this._readableState = new ReadableState(options, this);
  165250. // legacy
  165251. this.readable = true;
  165252. if (options) {
  165253. if (typeof options.read === "function") this._read = options.read;
  165254. if (typeof options.destroy === "function")
  165255. this._destroy = options.destroy;
  165256. }
  165257. Stream.call(this);
  165258. }
  165259. Object.defineProperty(Readable.prototype, "destroyed", {
  165260. get: function () {
  165261. if (this._readableState === undefined) {
  165262. return false;
  165263. }
  165264. return this._readableState.destroyed;
  165265. },
  165266. set: function (value) {
  165267. // we ignore the value if the stream
  165268. // has not been initialized yet
  165269. if (!this._readableState) {
  165270. return;
  165271. }
  165272. // backward compatibility, the user is explicitly
  165273. // managing destroyed
  165274. this._readableState.destroyed = value;
  165275. },
  165276. });
  165277. Readable.prototype.destroy = destroyImpl.destroy;
  165278. Readable.prototype._undestroy = destroyImpl.undestroy;
  165279. Readable.prototype._destroy = function (err, cb) {
  165280. this.push(null);
  165281. cb(err);
  165282. };
  165283. // Manually shove something into the read() buffer.
  165284. // This returns true if the highWaterMark has not been hit yet,
  165285. // similar to how Writable.write() returns true if you should
  165286. // write() some more.
  165287. Readable.prototype.push = function (chunk, encoding) {
  165288. var state = this._readableState;
  165289. var skipChunkCheck;
  165290. if (!state.objectMode) {
  165291. if (typeof chunk === "string") {
  165292. encoding = encoding || state.defaultEncoding;
  165293. if (encoding !== state.encoding) {
  165294. chunk = Buffer.from(chunk, encoding);
  165295. encoding = "";
  165296. }
  165297. skipChunkCheck = true;
  165298. }
  165299. } else {
  165300. skipChunkCheck = true;
  165301. }
  165302. return readableAddChunk(
  165303. this,
  165304. chunk,
  165305. encoding,
  165306. false,
  165307. skipChunkCheck
  165308. );
  165309. };
  165310. // Unshift should *always* be something directly out of read()
  165311. Readable.prototype.unshift = function (chunk) {
  165312. return readableAddChunk(this, chunk, null, true, false);
  165313. };
  165314. function readableAddChunk(
  165315. stream,
  165316. chunk,
  165317. encoding,
  165318. addToFront,
  165319. skipChunkCheck
  165320. ) {
  165321. var state = stream._readableState;
  165322. if (chunk === null) {
  165323. state.reading = false;
  165324. onEofChunk(stream, state);
  165325. } else {
  165326. var er;
  165327. if (!skipChunkCheck) er = chunkInvalid(state, chunk);
  165328. if (er) {
  165329. stream.emit("error", er);
  165330. } else if (state.objectMode || (chunk && chunk.length > 0)) {
  165331. if (
  165332. typeof chunk !== "string" &&
  165333. !state.objectMode &&
  165334. Object.getPrototypeOf(chunk) !== Buffer.prototype
  165335. ) {
  165336. chunk = _uint8ArrayToBuffer(chunk);
  165337. }
  165338. if (addToFront) {
  165339. if (state.endEmitted)
  165340. stream.emit(
  165341. "error",
  165342. new Error("stream.unshift() after end event")
  165343. );
  165344. else addChunk(stream, state, chunk, true);
  165345. } else if (state.ended) {
  165346. stream.emit("error", new Error("stream.push() after EOF"));
  165347. } else {
  165348. state.reading = false;
  165349. if (state.decoder && !encoding) {
  165350. chunk = state.decoder.write(chunk);
  165351. if (state.objectMode || chunk.length !== 0)
  165352. addChunk(stream, state, chunk, false);
  165353. else maybeReadMore(stream, state);
  165354. } else {
  165355. addChunk(stream, state, chunk, false);
  165356. }
  165357. }
  165358. } else if (!addToFront) {
  165359. state.reading = false;
  165360. }
  165361. }
  165362. return needMoreData(state);
  165363. }
  165364. function addChunk(stream, state, chunk, addToFront) {
  165365. if (state.flowing && state.length === 0 && !state.sync) {
  165366. stream.emit("data", chunk);
  165367. stream.read(0);
  165368. } else {
  165369. // update the buffer info.
  165370. state.length += state.objectMode ? 1 : chunk.length;
  165371. if (addToFront) state.buffer.unshift(chunk);
  165372. else state.buffer.push(chunk);
  165373. if (state.needReadable) emitReadable(stream);
  165374. }
  165375. maybeReadMore(stream, state);
  165376. }
  165377. function chunkInvalid(state, chunk) {
  165378. var er;
  165379. if (
  165380. !_isUint8Array(chunk) &&
  165381. typeof chunk !== "string" &&
  165382. chunk !== undefined &&
  165383. !state.objectMode
  165384. ) {
  165385. er = new TypeError("Invalid non-string/buffer chunk");
  165386. }
  165387. return er;
  165388. }
  165389. // if it's past the high water mark, we can push in some more.
  165390. // Also, if we have no data yet, we can stand some
  165391. // more bytes. This is to work around cases where hwm=0,
  165392. // such as the repl. Also, if the push() triggered a
  165393. // readable event, and the user called read(largeNumber) such that
  165394. // needReadable was set, then we ought to push more, so that another
  165395. // 'readable' event will be triggered.
  165396. function needMoreData(state) {
  165397. return (
  165398. !state.ended &&
  165399. (state.needReadable ||
  165400. state.length < state.highWaterMark ||
  165401. state.length === 0)
  165402. );
  165403. }
  165404. Readable.prototype.isPaused = function () {
  165405. return this._readableState.flowing === false;
  165406. };
  165407. // backwards compatibility.
  165408. Readable.prototype.setEncoding = function (enc) {
  165409. if (!StringDecoder)
  165410. StringDecoder = require("string_decoder/").StringDecoder;
  165411. this._readableState.decoder = new StringDecoder(enc);
  165412. this._readableState.encoding = enc;
  165413. return this;
  165414. };
  165415. // Don't raise the hwm > 8MB
  165416. var MAX_HWM = 0x800000;
  165417. function computeNewHighWaterMark(n) {
  165418. if (n >= MAX_HWM) {
  165419. n = MAX_HWM;
  165420. } else {
  165421. // Get the next highest power of 2 to prevent increasing hwm excessively in
  165422. // tiny amounts
  165423. n--;
  165424. n |= n >>> 1;
  165425. n |= n >>> 2;
  165426. n |= n >>> 4;
  165427. n |= n >>> 8;
  165428. n |= n >>> 16;
  165429. n++;
  165430. }
  165431. return n;
  165432. }
  165433. // This function is designed to be inlinable, so please take care when making
  165434. // changes to the function body.
  165435. function howMuchToRead(n, state) {
  165436. if (n <= 0 || (state.length === 0 && state.ended)) return 0;
  165437. if (state.objectMode) return 1;
  165438. if (n !== n) {
  165439. // Only flow one buffer at a time
  165440. if (state.flowing && state.length)
  165441. return state.buffer.head.data.length;
  165442. else return state.length;
  165443. }
  165444. // If we're asking for more than the current hwm, then raise the hwm.
  165445. if (n > state.highWaterMark)
  165446. state.highWaterMark = computeNewHighWaterMark(n);
  165447. if (n <= state.length) return n;
  165448. // Don't have enough
  165449. if (!state.ended) {
  165450. state.needReadable = true;
  165451. return 0;
  165452. }
  165453. return state.length;
  165454. }
  165455. // you can override either this method, or the async _read(n) below.
  165456. Readable.prototype.read = function (n) {
  165457. debug("read", n);
  165458. n = parseInt(n, 10);
  165459. var state = this._readableState;
  165460. var nOrig = n;
  165461. if (n !== 0) state.emittedReadable = false;
  165462. // if we're doing read(0) to trigger a readable event, but we
  165463. // already have a bunch of data in the buffer, then just trigger
  165464. // the 'readable' event and move on.
  165465. if (
  165466. n === 0 &&
  165467. state.needReadable &&
  165468. (state.length >= state.highWaterMark || state.ended)
  165469. ) {
  165470. debug("read: emitReadable", state.length, state.ended);
  165471. if (state.length === 0 && state.ended) endReadable(this);
  165472. else emitReadable(this);
  165473. return null;
  165474. }
  165475. n = howMuchToRead(n, state);
  165476. // if we've ended, and we're now clear, then finish it up.
  165477. if (n === 0 && state.ended) {
  165478. if (state.length === 0) endReadable(this);
  165479. return null;
  165480. }
  165481. // All the actual chunk generation logic needs to be
  165482. // *below* the call to _read. The reason is that in certain
  165483. // synthetic stream cases, such as passthrough streams, _read
  165484. // may be a completely synchronous operation which may change
  165485. // the state of the read buffer, providing enough data when
  165486. // before there was *not* enough.
  165487. //
  165488. // So, the steps are:
  165489. // 1. Figure out what the state of things will be after we do
  165490. // a read from the buffer.
  165491. //
  165492. // 2. If that resulting state will trigger a _read, then call _read.
  165493. // Note that this may be asynchronous, or synchronous. Yes, it is
  165494. // deeply ugly to write APIs this way, but that still doesn't mean
  165495. // that the Readable class should behave improperly, as streams are
  165496. // designed to be sync/async agnostic.
  165497. // Take note if the _read call is sync or async (ie, if the read call
  165498. // has returned yet), so that we know whether or not it's safe to emit
  165499. // 'readable' etc.
  165500. //
  165501. // 3. Actually pull the requested chunks out of the buffer and return.
  165502. // if we need a readable event, then we need to do some reading.
  165503. var doRead = state.needReadable;
  165504. debug("need readable", doRead);
  165505. // if we currently have less than the highWaterMark, then also read some
  165506. if (state.length === 0 || state.length - n < state.highWaterMark) {
  165507. doRead = true;
  165508. debug("length less than watermark", doRead);
  165509. }
  165510. // however, if we've ended, then there's no point, and if we're already
  165511. // reading, then it's unnecessary.
  165512. if (state.ended || state.reading) {
  165513. doRead = false;
  165514. debug("reading or ended", doRead);
  165515. } else if (doRead) {
  165516. debug("do read");
  165517. state.reading = true;
  165518. state.sync = true;
  165519. // if the length is currently zero, then we *need* a readable event.
  165520. if (state.length === 0) state.needReadable = true;
  165521. // call internal read method
  165522. this._read(state.highWaterMark);
  165523. state.sync = false;
  165524. // If _read pushed data synchronously, then `reading` will be false,
  165525. // and we need to re-evaluate how much data we can return to the user.
  165526. if (!state.reading) n = howMuchToRead(nOrig, state);
  165527. }
  165528. var ret;
  165529. if (n > 0) ret = fromList(n, state);
  165530. else ret = null;
  165531. if (ret === null) {
  165532. state.needReadable = true;
  165533. n = 0;
  165534. } else {
  165535. state.length -= n;
  165536. }
  165537. if (state.length === 0) {
  165538. // If we have nothing in the buffer, then we want to know
  165539. // as soon as we *do* get something into the buffer.
  165540. if (!state.ended) state.needReadable = true;
  165541. // If we tried to read() past the EOF, then emit end on the next tick.
  165542. if (nOrig !== n && state.ended) endReadable(this);
  165543. }
  165544. if (ret !== null) this.emit("data", ret);
  165545. return ret;
  165546. };
  165547. function onEofChunk(stream, state) {
  165548. if (state.ended) return;
  165549. if (state.decoder) {
  165550. var chunk = state.decoder.end();
  165551. if (chunk && chunk.length) {
  165552. state.buffer.push(chunk);
  165553. state.length += state.objectMode ? 1 : chunk.length;
  165554. }
  165555. }
  165556. state.ended = true;
  165557. // emit 'readable' now to make sure it gets picked up.
  165558. emitReadable(stream);
  165559. }
  165560. // Don't emit readable right away in sync mode, because this can trigger
  165561. // another read() call => stack overflow. This way, it might trigger
  165562. // a nextTick recursion warning, but that's not so bad.
  165563. function emitReadable(stream) {
  165564. var state = stream._readableState;
  165565. state.needReadable = false;
  165566. if (!state.emittedReadable) {
  165567. debug("emitReadable", state.flowing);
  165568. state.emittedReadable = true;
  165569. if (state.sync) processNextTick(emitReadable_, stream);
  165570. else emitReadable_(stream);
  165571. }
  165572. }
  165573. function emitReadable_(stream) {
  165574. debug("emit readable");
  165575. stream.emit("readable");
  165576. flow(stream);
  165577. }
  165578. // at this point, the user has presumably seen the 'readable' event,
  165579. // and called read() to consume some data. that may have triggered
  165580. // in turn another _read(n) call, in which case reading = true if
  165581. // it's in progress.
  165582. // However, if we're not ended, or reading, and the length < hwm,
  165583. // then go ahead and try to read some more preemptively.
  165584. function maybeReadMore(stream, state) {
  165585. if (!state.readingMore) {
  165586. state.readingMore = true;
  165587. processNextTick(maybeReadMore_, stream, state);
  165588. }
  165589. }
  165590. function maybeReadMore_(stream, state) {
  165591. var len = state.length;
  165592. while (
  165593. !state.reading &&
  165594. !state.flowing &&
  165595. !state.ended &&
  165596. state.length < state.highWaterMark
  165597. ) {
  165598. debug("maybeReadMore read 0");
  165599. stream.read(0);
  165600. if (len === state.length)
  165601. // didn't get any data, stop spinning.
  165602. break;
  165603. else len = state.length;
  165604. }
  165605. state.readingMore = false;
  165606. }
  165607. // abstract method. to be overridden in specific implementation classes.
  165608. // call cb(er, data) where data is <= n in length.
  165609. // for virtual (non-string, non-buffer) streams, "length" is somewhat
  165610. // arbitrary, and perhaps not very meaningful.
  165611. Readable.prototype._read = function (n) {
  165612. this.emit("error", new Error("_read() is not implemented"));
  165613. };
  165614. Readable.prototype.pipe = function (dest, pipeOpts) {
  165615. var src = this;
  165616. var state = this._readableState;
  165617. switch (state.pipesCount) {
  165618. case 0:
  165619. state.pipes = dest;
  165620. break;
  165621. case 1:
  165622. state.pipes = [state.pipes, dest];
  165623. break;
  165624. default:
  165625. state.pipes.push(dest);
  165626. break;
  165627. }
  165628. state.pipesCount += 1;
  165629. debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
  165630. var doEnd =
  165631. (!pipeOpts || pipeOpts.end !== false) &&
  165632. dest !== process.stdout &&
  165633. dest !== process.stderr;
  165634. var endFn = doEnd ? onend : unpipe;
  165635. if (state.endEmitted) processNextTick(endFn);
  165636. else src.once("end", endFn);
  165637. dest.on("unpipe", onunpipe);
  165638. function onunpipe(readable, unpipeInfo) {
  165639. debug("onunpipe");
  165640. if (readable === src) {
  165641. if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
  165642. unpipeInfo.hasUnpiped = true;
  165643. cleanup();
  165644. }
  165645. }
  165646. }
  165647. function onend() {
  165648. debug("onend");
  165649. dest.end();
  165650. }
  165651. // when the dest drains, it reduces the awaitDrain counter
  165652. // on the source. This would be more elegant with a .once()
  165653. // handler in flow(), but adding and removing repeatedly is
  165654. // too slow.
  165655. var ondrain = pipeOnDrain(src);
  165656. dest.on("drain", ondrain);
  165657. var cleanedUp = false;
  165658. function cleanup() {
  165659. debug("cleanup");
  165660. // cleanup event handlers once the pipe is broken
  165661. dest.removeListener("close", onclose);
  165662. dest.removeListener("finish", onfinish);
  165663. dest.removeListener("drain", ondrain);
  165664. dest.removeListener("error", onerror);
  165665. dest.removeListener("unpipe", onunpipe);
  165666. src.removeListener("end", onend);
  165667. src.removeListener("end", unpipe);
  165668. src.removeListener("data", ondata);
  165669. cleanedUp = true;
  165670. // if the reader is waiting for a drain event from this
  165671. // specific writer, then it would cause it to never start
  165672. // flowing again.
  165673. // So, if this is awaiting a drain, then we just call it now.
  165674. // If we don't know, then assume that we are waiting for one.
  165675. if (
  165676. state.awaitDrain &&
  165677. (!dest._writableState || dest._writableState.needDrain)
  165678. )
  165679. ondrain();
  165680. }
  165681. // If the user pushes more data while we're writing to dest then we'll end up
  165682. // in ondata again. However, we only want to increase awaitDrain once because
  165683. // dest will only emit one 'drain' event for the multiple writes.
  165684. // => Introduce a guard on increasing awaitDrain.
  165685. var increasedAwaitDrain = false;
  165686. src.on("data", ondata);
  165687. function ondata(chunk) {
  165688. debug("ondata");
  165689. increasedAwaitDrain = false;
  165690. var ret = dest.write(chunk);
  165691. if (false === ret && !increasedAwaitDrain) {
  165692. // If the user unpiped during `dest.write()`, it is possible
  165693. // to get stuck in a permanently paused state if that write
  165694. // also returned false.
  165695. // => Check whether `dest` is still a piping destination.
  165696. if (
  165697. ((state.pipesCount === 1 && state.pipes === dest) ||
  165698. (state.pipesCount > 1 &&
  165699. indexOf(state.pipes, dest) !== -1)) &&
  165700. !cleanedUp
  165701. ) {
  165702. debug(
  165703. "false write response, pause",
  165704. src._readableState.awaitDrain
  165705. );
  165706. src._readableState.awaitDrain++;
  165707. increasedAwaitDrain = true;
  165708. }
  165709. src.pause();
  165710. }
  165711. }
  165712. // if the dest has an error, then stop piping into it.
  165713. // however, don't suppress the throwing behavior for this.
  165714. function onerror(er) {
  165715. debug("onerror", er);
  165716. unpipe();
  165717. dest.removeListener("error", onerror);
  165718. if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
  165719. }
  165720. // Make sure our error handler is attached before userland ones.
  165721. prependListener(dest, "error", onerror);
  165722. // Both close and finish should trigger unpipe, but only once.
  165723. function onclose() {
  165724. dest.removeListener("finish", onfinish);
  165725. unpipe();
  165726. }
  165727. dest.once("close", onclose);
  165728. function onfinish() {
  165729. debug("onfinish");
  165730. dest.removeListener("close", onclose);
  165731. unpipe();
  165732. }
  165733. dest.once("finish", onfinish);
  165734. function unpipe() {
  165735. debug("unpipe");
  165736. src.unpipe(dest);
  165737. }
  165738. // tell the dest that it's being piped to
  165739. dest.emit("pipe", src);
  165740. // start the flow if it hasn't been started already.
  165741. if (!state.flowing) {
  165742. debug("pipe resume");
  165743. src.resume();
  165744. }
  165745. return dest;
  165746. };
  165747. function pipeOnDrain(src) {
  165748. return function () {
  165749. var state = src._readableState;
  165750. debug("pipeOnDrain", state.awaitDrain);
  165751. if (state.awaitDrain) state.awaitDrain--;
  165752. if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
  165753. state.flowing = true;
  165754. flow(src);
  165755. }
  165756. };
  165757. }
  165758. Readable.prototype.unpipe = function (dest) {
  165759. var state = this._readableState;
  165760. var unpipeInfo = { hasUnpiped: false };
  165761. // if we're not piping anywhere, then do nothing.
  165762. if (state.pipesCount === 0) return this;
  165763. // just one destination. most common case.
  165764. if (state.pipesCount === 1) {
  165765. // passed in one, but it's not the right one.
  165766. if (dest && dest !== state.pipes) return this;
  165767. if (!dest) dest = state.pipes;
  165768. // got a match.
  165769. state.pipes = null;
  165770. state.pipesCount = 0;
  165771. state.flowing = false;
  165772. if (dest) dest.emit("unpipe", this, unpipeInfo);
  165773. return this;
  165774. }
  165775. // slow case. multiple pipe destinations.
  165776. if (!dest) {
  165777. // remove all.
  165778. var dests = state.pipes;
  165779. var len = state.pipesCount;
  165780. state.pipes = null;
  165781. state.pipesCount = 0;
  165782. state.flowing = false;
  165783. for (var i = 0; i < len; i++) {
  165784. dests[i].emit("unpipe", this, unpipeInfo);
  165785. }
  165786. return this;
  165787. }
  165788. // try to find the right one.
  165789. var index = indexOf(state.pipes, dest);
  165790. if (index === -1) return this;
  165791. state.pipes.splice(index, 1);
  165792. state.pipesCount -= 1;
  165793. if (state.pipesCount === 1) state.pipes = state.pipes[0];
  165794. dest.emit("unpipe", this, unpipeInfo);
  165795. return this;
  165796. };
  165797. // set up data events if they are asked for
  165798. // Ensure readable listeners eventually get something
  165799. Readable.prototype.on = function (ev, fn) {
  165800. var res = Stream.prototype.on.call(this, ev, fn);
  165801. if (ev === "data") {
  165802. // Start flowing on next tick if stream isn't explicitly paused
  165803. if (this._readableState.flowing !== false) this.resume();
  165804. } else if (ev === "readable") {
  165805. var state = this._readableState;
  165806. if (!state.endEmitted && !state.readableListening) {
  165807. state.readableListening = state.needReadable = true;
  165808. state.emittedReadable = false;
  165809. if (!state.reading) {
  165810. processNextTick(nReadingNextTick, this);
  165811. } else if (state.length) {
  165812. emitReadable(this);
  165813. }
  165814. }
  165815. }
  165816. return res;
  165817. };
  165818. Readable.prototype.addListener = Readable.prototype.on;
  165819. function nReadingNextTick(self) {
  165820. debug("readable nexttick read 0");
  165821. self.read(0);
  165822. }
  165823. // pause() and resume() are remnants of the legacy readable stream API
  165824. // If the user uses them, then switch into old mode.
  165825. Readable.prototype.resume = function () {
  165826. var state = this._readableState;
  165827. if (!state.flowing) {
  165828. debug("resume");
  165829. state.flowing = true;
  165830. resume(this, state);
  165831. }
  165832. return this;
  165833. };
  165834. function resume(stream, state) {
  165835. if (!state.resumeScheduled) {
  165836. state.resumeScheduled = true;
  165837. processNextTick(resume_, stream, state);
  165838. }
  165839. }
  165840. function resume_(stream, state) {
  165841. if (!state.reading) {
  165842. debug("resume read 0");
  165843. stream.read(0);
  165844. }
  165845. state.resumeScheduled = false;
  165846. state.awaitDrain = 0;
  165847. stream.emit("resume");
  165848. flow(stream);
  165849. if (state.flowing && !state.reading) stream.read(0);
  165850. }
  165851. Readable.prototype.pause = function () {
  165852. debug("call pause flowing=%j", this._readableState.flowing);
  165853. if (false !== this._readableState.flowing) {
  165854. debug("pause");
  165855. this._readableState.flowing = false;
  165856. this.emit("pause");
  165857. }
  165858. return this;
  165859. };
  165860. function flow(stream) {
  165861. var state = stream._readableState;
  165862. debug("flow", state.flowing);
  165863. while (state.flowing && stream.read() !== null) {}
  165864. }
  165865. // wrap an old-style stream as the async data source.
  165866. // This is *not* part of the readable stream interface.
  165867. // It is an ugly unfortunate mess of history.
  165868. Readable.prototype.wrap = function (stream) {
  165869. var state = this._readableState;
  165870. var paused = false;
  165871. var self = this;
  165872. stream.on("end", function () {
  165873. debug("wrapped end");
  165874. if (state.decoder && !state.ended) {
  165875. var chunk = state.decoder.end();
  165876. if (chunk && chunk.length) self.push(chunk);
  165877. }
  165878. self.push(null);
  165879. });
  165880. stream.on("data", function (chunk) {
  165881. debug("wrapped data");
  165882. if (state.decoder) chunk = state.decoder.write(chunk);
  165883. // don't skip over falsy values in objectMode
  165884. if (state.objectMode && (chunk === null || chunk === undefined))
  165885. return;
  165886. else if (!state.objectMode && (!chunk || !chunk.length)) return;
  165887. var ret = self.push(chunk);
  165888. if (!ret) {
  165889. paused = true;
  165890. stream.pause();
  165891. }
  165892. });
  165893. // proxy all the other methods.
  165894. // important when wrapping filters and duplexes.
  165895. for (var i in stream) {
  165896. if (this[i] === undefined && typeof stream[i] === "function") {
  165897. this[i] = (function (method) {
  165898. return function () {
  165899. return stream[method].apply(stream, arguments);
  165900. };
  165901. })(i);
  165902. }
  165903. }
  165904. // proxy certain important events.
  165905. for (var n = 0; n < kProxyEvents.length; n++) {
  165906. stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));
  165907. }
  165908. // when we try to consume some more bytes, simply unpause the
  165909. // underlying stream.
  165910. self._read = function (n) {
  165911. debug("wrapped _read", n);
  165912. if (paused) {
  165913. paused = false;
  165914. stream.resume();
  165915. }
  165916. };
  165917. return self;
  165918. };
  165919. // exposed for testing purposes only.
  165920. Readable._fromList = fromList;
  165921. // Pluck off n bytes from an array of buffers.
  165922. // Length is the combined lengths of all the buffers in the list.
  165923. // This function is designed to be inlinable, so please take care when making
  165924. // changes to the function body.
  165925. function fromList(n, state) {
  165926. // nothing buffered
  165927. if (state.length === 0) return null;
  165928. var ret;
  165929. if (state.objectMode) ret = state.buffer.shift();
  165930. else if (!n || n >= state.length) {
  165931. // read it all, truncate the list
  165932. if (state.decoder) ret = state.buffer.join("");
  165933. else if (state.buffer.length === 1) ret = state.buffer.head.data;
  165934. else ret = state.buffer.concat(state.length);
  165935. state.buffer.clear();
  165936. } else {
  165937. // read part of list
  165938. ret = fromListPartial(n, state.buffer, state.decoder);
  165939. }
  165940. return ret;
  165941. }
  165942. // Extracts only enough buffered data to satisfy the amount requested.
  165943. // This function is designed to be inlinable, so please take care when making
  165944. // changes to the function body.
  165945. function fromListPartial(n, list, hasStrings) {
  165946. var ret;
  165947. if (n < list.head.data.length) {
  165948. // slice is the same for buffers and strings
  165949. ret = list.head.data.slice(0, n);
  165950. list.head.data = list.head.data.slice(n);
  165951. } else if (n === list.head.data.length) {
  165952. // first chunk is a perfect match
  165953. ret = list.shift();
  165954. } else {
  165955. // result spans more than one buffer
  165956. ret = hasStrings
  165957. ? copyFromBufferString(n, list)
  165958. : copyFromBuffer(n, list);
  165959. }
  165960. return ret;
  165961. }
  165962. // Copies a specified amount of characters from the list of buffered data
  165963. // chunks.
  165964. // This function is designed to be inlinable, so please take care when making
  165965. // changes to the function body.
  165966. function copyFromBufferString(n, list) {
  165967. var p = list.head;
  165968. var c = 1;
  165969. var ret = p.data;
  165970. n -= ret.length;
  165971. while ((p = p.next)) {
  165972. var str = p.data;
  165973. var nb = n > str.length ? str.length : n;
  165974. if (nb === str.length) ret += str;
  165975. else ret += str.slice(0, n);
  165976. n -= nb;
  165977. if (n === 0) {
  165978. if (nb === str.length) {
  165979. ++c;
  165980. if (p.next) list.head = p.next;
  165981. else list.head = list.tail = null;
  165982. } else {
  165983. list.head = p;
  165984. p.data = str.slice(nb);
  165985. }
  165986. break;
  165987. }
  165988. ++c;
  165989. }
  165990. list.length -= c;
  165991. return ret;
  165992. }
  165993. // Copies a specified amount of bytes from the list of buffered data chunks.
  165994. // This function is designed to be inlinable, so please take care when making
  165995. // changes to the function body.
  165996. function copyFromBuffer(n, list) {
  165997. var ret = Buffer.allocUnsafe(n);
  165998. var p = list.head;
  165999. var c = 1;
  166000. p.data.copy(ret);
  166001. n -= p.data.length;
  166002. while ((p = p.next)) {
  166003. var buf = p.data;
  166004. var nb = n > buf.length ? buf.length : n;
  166005. buf.copy(ret, ret.length - n, 0, nb);
  166006. n -= nb;
  166007. if (n === 0) {
  166008. if (nb === buf.length) {
  166009. ++c;
  166010. if (p.next) list.head = p.next;
  166011. else list.head = list.tail = null;
  166012. } else {
  166013. list.head = p;
  166014. p.data = buf.slice(nb);
  166015. }
  166016. break;
  166017. }
  166018. ++c;
  166019. }
  166020. list.length -= c;
  166021. return ret;
  166022. }
  166023. function endReadable(stream) {
  166024. var state = stream._readableState;
  166025. // If we get here before consuming all the bytes, then that is a
  166026. // bug in node. Should never happen.
  166027. if (state.length > 0)
  166028. throw new Error('"endReadable()" called on non-empty stream');
  166029. if (!state.endEmitted) {
  166030. state.ended = true;
  166031. processNextTick(endReadableNT, state, stream);
  166032. }
  166033. }
  166034. function endReadableNT(state, stream) {
  166035. // Check that we didn't get one last unshift.
  166036. if (!state.endEmitted && state.length === 0) {
  166037. state.endEmitted = true;
  166038. stream.readable = false;
  166039. stream.emit("end");
  166040. }
  166041. }
  166042. function forEach(xs, f) {
  166043. for (var i = 0, l = xs.length; i < l; i++) {
  166044. f(xs[i], i);
  166045. }
  166046. }
  166047. function indexOf(xs, x) {
  166048. for (var i = 0, l = xs.length; i < l; i++) {
  166049. if (xs[i] === x) return i;
  166050. }
  166051. return -1;
  166052. }
  166053. }).call(
  166054. this,
  166055. require("_process"),
  166056. typeof global !== "undefined"
  166057. ? global
  166058. : typeof self !== "undefined"
  166059. ? self
  166060. : typeof window !== "undefined"
  166061. ? window
  166062. : {}
  166063. );
  166064. },
  166065. {
  166066. "./_stream_duplex": 135,
  166067. "./internal/streams/BufferList": 140,
  166068. "./internal/streams/destroy": 141,
  166069. "./internal/streams/stream": 142,
  166070. _process: 126,
  166071. "core-util-is": 56,
  166072. events: 90,
  166073. inherits: 108,
  166074. isarray: 110,
  166075. "process-nextick-args": 125,
  166076. "safe-buffer": 148,
  166077. "string_decoder/": 158,
  166078. util: 27,
  166079. },
  166080. ],
  166081. 138: [
  166082. function (require, module, exports) {
  166083. // Copyright Joyent, Inc. and other Node contributors.
  166084. //
  166085. // Permission is hereby granted, free of charge, to any person obtaining a
  166086. // copy of this software and associated documentation files (the
  166087. // "Software"), to deal in the Software without restriction, including
  166088. // without limitation the rights to use, copy, modify, merge, publish,
  166089. // distribute, sublicense, and/or sell copies of the Software, and to permit
  166090. // persons to whom the Software is furnished to do so, subject to the
  166091. // following conditions:
  166092. //
  166093. // The above copyright notice and this permission notice shall be included
  166094. // in all copies or substantial portions of the Software.
  166095. //
  166096. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  166097. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  166098. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  166099. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  166100. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  166101. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  166102. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  166103. // a transform stream is a readable/writable stream where you do
  166104. // something with the data. Sometimes it's called a "filter",
  166105. // but that's not a great name for it, since that implies a thing where
  166106. // some bits pass through, and others are simply ignored. (That would
  166107. // be a valid example of a transform, of course.)
  166108. //
  166109. // While the output is causally related to the input, it's not a
  166110. // necessarily symmetric or synchronous transformation. For example,
  166111. // a zlib stream might take multiple plain-text writes(), and then
  166112. // emit a single compressed chunk some time in the future.
  166113. //
  166114. // Here's how this works:
  166115. //
  166116. // The Transform stream has all the aspects of the readable and writable
  166117. // stream classes. When you write(chunk), that calls _write(chunk,cb)
  166118. // internally, and returns false if there's a lot of pending writes
  166119. // buffered up. When you call read(), that calls _read(n) until
  166120. // there's enough pending readable data buffered up.
  166121. //
  166122. // In a transform stream, the written data is placed in a buffer. When
  166123. // _read(n) is called, it transforms the queued up data, calling the
  166124. // buffered _write cb's as it consumes chunks. If consuming a single
  166125. // written chunk would result in multiple output chunks, then the first
  166126. // outputted bit calls the readcb, and subsequent chunks just go into
  166127. // the read buffer, and will cause it to emit 'readable' if necessary.
  166128. //
  166129. // This way, back-pressure is actually determined by the reading side,
  166130. // since _read has to be called to start processing a new chunk. However,
  166131. // a pathological inflate type of transform can cause excessive buffering
  166132. // here. For example, imagine a stream where every byte of input is
  166133. // interpreted as an integer from 0-255, and then results in that many
  166134. // bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
  166135. // 1kb of data being output. In this case, you could write a very small
  166136. // amount of input, and end up with a very large amount of output. In
  166137. // such a pathological inflating mechanism, there'd be no way to tell
  166138. // the system to stop doing the transform. A single 4MB write could
  166139. // cause the system to run out of memory.
  166140. //
  166141. // However, even in such a pathological case, only a single written chunk
  166142. // would be consumed, and then the rest would wait (un-transformed) until
  166143. // the results of the previous transformed chunk were consumed.
  166144. "use strict";
  166145. module.exports = Transform;
  166146. var Duplex = require("./_stream_duplex.js");
  166147. /*<replacement>*/
  166148. var util = require("core-util-is");
  166149. util.inherits = require("inherits");
  166150. /*</replacement>*/
  166151. util.inherits(Transform, Duplex);
  166152. function TransformState(stream) {
  166153. this.afterTransform = function (er, data) {
  166154. return afterTransform(stream, er, data);
  166155. };
  166156. this.needTransform = false;
  166157. this.transforming = false;
  166158. this.writecb = null;
  166159. this.writechunk = null;
  166160. this.writeencoding = null;
  166161. }
  166162. function afterTransform(stream, er, data) {
  166163. var ts = stream._transformState;
  166164. ts.transforming = false;
  166165. var cb = ts.writecb;
  166166. if (!cb) {
  166167. return stream.emit(
  166168. "error",
  166169. new Error("write callback called multiple times")
  166170. );
  166171. }
  166172. ts.writechunk = null;
  166173. ts.writecb = null;
  166174. if (data !== null && data !== undefined) stream.push(data);
  166175. cb(er);
  166176. var rs = stream._readableState;
  166177. rs.reading = false;
  166178. if (rs.needReadable || rs.length < rs.highWaterMark) {
  166179. stream._read(rs.highWaterMark);
  166180. }
  166181. }
  166182. function Transform(options) {
  166183. if (!(this instanceof Transform)) return new Transform(options);
  166184. Duplex.call(this, options);
  166185. this._transformState = new TransformState(this);
  166186. var stream = this;
  166187. // start out asking for a readable event once data is transformed.
  166188. this._readableState.needReadable = true;
  166189. // we have implemented the _read method, and done the other things
  166190. // that Readable wants before the first _read call, so unset the
  166191. // sync guard flag.
  166192. this._readableState.sync = false;
  166193. if (options) {
  166194. if (typeof options.transform === "function")
  166195. this._transform = options.transform;
  166196. if (typeof options.flush === "function")
  166197. this._flush = options.flush;
  166198. }
  166199. // When the writable side finishes, then flush out anything remaining.
  166200. this.once("prefinish", function () {
  166201. if (typeof this._flush === "function")
  166202. this._flush(function (er, data) {
  166203. done(stream, er, data);
  166204. });
  166205. else done(stream);
  166206. });
  166207. }
  166208. Transform.prototype.push = function (chunk, encoding) {
  166209. this._transformState.needTransform = false;
  166210. return Duplex.prototype.push.call(this, chunk, encoding);
  166211. };
  166212. // This is the part where you do stuff!
  166213. // override this function in implementation classes.
  166214. // 'chunk' is an input chunk.
  166215. //
  166216. // Call `push(newChunk)` to pass along transformed output
  166217. // to the readable side. You may call 'push' zero or more times.
  166218. //
  166219. // Call `cb(err)` when you are done with this chunk. If you pass
  166220. // an error, then that'll put the hurt on the whole operation. If you
  166221. // never call cb(), then you'll never get another chunk.
  166222. Transform.prototype._transform = function (chunk, encoding, cb) {
  166223. throw new Error("_transform() is not implemented");
  166224. };
  166225. Transform.prototype._write = function (chunk, encoding, cb) {
  166226. var ts = this._transformState;
  166227. ts.writecb = cb;
  166228. ts.writechunk = chunk;
  166229. ts.writeencoding = encoding;
  166230. if (!ts.transforming) {
  166231. var rs = this._readableState;
  166232. if (
  166233. ts.needTransform ||
  166234. rs.needReadable ||
  166235. rs.length < rs.highWaterMark
  166236. )
  166237. this._read(rs.highWaterMark);
  166238. }
  166239. };
  166240. // Doesn't matter what the args are here.
  166241. // _transform does all the work.
  166242. // That we got here means that the readable side wants more data.
  166243. Transform.prototype._read = function (n) {
  166244. var ts = this._transformState;
  166245. if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
  166246. ts.transforming = true;
  166247. this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
  166248. } else {
  166249. // mark that we need a transform, so that any data that comes in
  166250. // will get processed, now that we've asked for it.
  166251. ts.needTransform = true;
  166252. }
  166253. };
  166254. Transform.prototype._destroy = function (err, cb) {
  166255. var _this = this;
  166256. Duplex.prototype._destroy.call(this, err, function (err2) {
  166257. cb(err2);
  166258. _this.emit("close");
  166259. });
  166260. };
  166261. function done(stream, er, data) {
  166262. if (er) return stream.emit("error", er);
  166263. if (data !== null && data !== undefined) stream.push(data);
  166264. // if there's nothing in the write buffer, then that means
  166265. // that nothing more will ever be provided
  166266. var ws = stream._writableState;
  166267. var ts = stream._transformState;
  166268. if (ws.length)
  166269. throw new Error("Calling transform done when ws.length != 0");
  166270. if (ts.transforming)
  166271. throw new Error("Calling transform done when still transforming");
  166272. return stream.push(null);
  166273. }
  166274. },
  166275. { "./_stream_duplex": 135, "core-util-is": 56, inherits: 108 },
  166276. ],
  166277. 139: [
  166278. function (require, module, exports) {
  166279. (function (process, global) {
  166280. // Copyright Joyent, Inc. and other Node contributors.
  166281. //
  166282. // Permission is hereby granted, free of charge, to any person obtaining a
  166283. // copy of this software and associated documentation files (the
  166284. // "Software"), to deal in the Software without restriction, including
  166285. // without limitation the rights to use, copy, modify, merge, publish,
  166286. // distribute, sublicense, and/or sell copies of the Software, and to permit
  166287. // persons to whom the Software is furnished to do so, subject to the
  166288. // following conditions:
  166289. //
  166290. // The above copyright notice and this permission notice shall be included
  166291. // in all copies or substantial portions of the Software.
  166292. //
  166293. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  166294. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  166295. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  166296. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  166297. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  166298. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  166299. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  166300. // A bit simpler than readable streams.
  166301. // Implement an async ._write(chunk, encoding, cb), and it'll handle all
  166302. // the drain event emission and buffering.
  166303. "use strict";
  166304. /*<replacement>*/
  166305. var processNextTick = require("process-nextick-args");
  166306. /*</replacement>*/
  166307. module.exports = Writable;
  166308. /* <replacement> */
  166309. function WriteReq(chunk, encoding, cb) {
  166310. this.chunk = chunk;
  166311. this.encoding = encoding;
  166312. this.callback = cb;
  166313. this.next = null;
  166314. }
  166315. // It seems a linked list but it is not
  166316. // there will be only 2 of these for each stream
  166317. function CorkedRequest(state) {
  166318. var _this = this;
  166319. this.next = null;
  166320. this.entry = null;
  166321. this.finish = function () {
  166322. onCorkedFinish(_this, state);
  166323. };
  166324. }
  166325. /* </replacement> */
  166326. /*<replacement>*/
  166327. var asyncWrite =
  166328. !process.browser &&
  166329. ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1
  166330. ? setImmediate
  166331. : processNextTick;
  166332. /*</replacement>*/
  166333. /*<replacement>*/
  166334. var Duplex;
  166335. /*</replacement>*/
  166336. Writable.WritableState = WritableState;
  166337. /*<replacement>*/
  166338. var util = require("core-util-is");
  166339. util.inherits = require("inherits");
  166340. /*</replacement>*/
  166341. /*<replacement>*/
  166342. var internalUtil = {
  166343. deprecate: require("util-deprecate"),
  166344. };
  166345. /*</replacement>*/
  166346. /*<replacement>*/
  166347. var Stream = require("./internal/streams/stream.js");
  166348. /*</replacement>*/
  166349. /*<replacement>*/
  166350. var Buffer = require("safe-buffer").Buffer;
  166351. var OurUint8Array = global.Uint8Array || function () {};
  166352. function _uint8ArrayToBuffer(chunk) {
  166353. return Buffer.from(chunk);
  166354. }
  166355. function _isUint8Array(obj) {
  166356. return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
  166357. }
  166358. /*</replacement>*/
  166359. var destroyImpl = require("./internal/streams/destroy.js");
  166360. util.inherits(Writable, Stream);
  166361. function nop() {}
  166362. function WritableState(options, stream) {
  166363. Duplex = Duplex || require("./_stream_duplex.js");
  166364. options = options || {};
  166365. // object stream flag to indicate whether or not this stream
  166366. // contains buffers or objects.
  166367. this.objectMode = !!options.objectMode;
  166368. if (stream instanceof Duplex)
  166369. this.objectMode = this.objectMode || !!options.writableObjectMode;
  166370. // the point at which write() starts returning false
  166371. // Note: 0 is a valid value, means that we always return false if
  166372. // the entire buffer is not flushed immediately on write()
  166373. var hwm = options.highWaterMark;
  166374. var defaultHwm = this.objectMode ? 16 : 16 * 1024;
  166375. this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
  166376. // cast to ints.
  166377. this.highWaterMark = Math.floor(this.highWaterMark);
  166378. // if _final has been called
  166379. this.finalCalled = false;
  166380. // drain event flag.
  166381. this.needDrain = false;
  166382. // at the start of calling end()
  166383. this.ending = false;
  166384. // when end() has been called, and returned
  166385. this.ended = false;
  166386. // when 'finish' is emitted
  166387. this.finished = false;
  166388. // has it been destroyed
  166389. this.destroyed = false;
  166390. // should we decode strings into buffers before passing to _write?
  166391. // this is here so that some node-core streams can optimize string
  166392. // handling at a lower level.
  166393. var noDecode = options.decodeStrings === false;
  166394. this.decodeStrings = !noDecode;
  166395. // Crypto is kind of old and crusty. Historically, its default string
  166396. // encoding is 'binary' so we have to make this configurable.
  166397. // Everything else in the universe uses 'utf8', though.
  166398. this.defaultEncoding = options.defaultEncoding || "utf8";
  166399. // not an actual buffer we keep track of, but a measurement
  166400. // of how much we're waiting to get pushed to some underlying
  166401. // socket or file.
  166402. this.length = 0;
  166403. // a flag to see when we're in the middle of a write.
  166404. this.writing = false;
  166405. // when true all writes will be buffered until .uncork() call
  166406. this.corked = 0;
  166407. // a flag to be able to tell if the onwrite cb is called immediately,
  166408. // or on a later tick. We set this to true at first, because any
  166409. // actions that shouldn't happen until "later" should generally also
  166410. // not happen before the first write call.
  166411. this.sync = true;
  166412. // a flag to know if we're processing previously buffered items, which
  166413. // may call the _write() callback in the same tick, so that we don't
  166414. // end up in an overlapped onwrite situation.
  166415. this.bufferProcessing = false;
  166416. // the callback that's passed to _write(chunk,cb)
  166417. this.onwrite = function (er) {
  166418. onwrite(stream, er);
  166419. };
  166420. // the callback that the user supplies to write(chunk,encoding,cb)
  166421. this.writecb = null;
  166422. // the amount that is being written when _write is called.
  166423. this.writelen = 0;
  166424. this.bufferedRequest = null;
  166425. this.lastBufferedRequest = null;
  166426. // number of pending user-supplied write callbacks
  166427. // this must be 0 before 'finish' can be emitted
  166428. this.pendingcb = 0;
  166429. // emit prefinish if the only thing we're waiting for is _write cbs
  166430. // This is relevant for synchronous Transform streams
  166431. this.prefinished = false;
  166432. // True if the error was already emitted and should not be thrown again
  166433. this.errorEmitted = false;
  166434. // count buffered requests
  166435. this.bufferedRequestCount = 0;
  166436. // allocate the first CorkedRequest, there is always
  166437. // one allocated and free to use, and we maintain at most two
  166438. this.corkedRequestsFree = new CorkedRequest(this);
  166439. }
  166440. WritableState.prototype.getBuffer = function getBuffer() {
  166441. var current = this.bufferedRequest;
  166442. var out = [];
  166443. while (current) {
  166444. out.push(current);
  166445. current = current.next;
  166446. }
  166447. return out;
  166448. };
  166449. (function () {
  166450. try {
  166451. Object.defineProperty(WritableState.prototype, "buffer", {
  166452. get: internalUtil.deprecate(
  166453. function () {
  166454. return this.getBuffer();
  166455. },
  166456. "_writableState.buffer is deprecated. Use _writableState.getBuffer " +
  166457. "instead.",
  166458. "DEP0003"
  166459. ),
  166460. });
  166461. } catch (_) {}
  166462. })();
  166463. // Test _writableState for inheritance to account for Duplex streams,
  166464. // whose prototype chain only points to Readable.
  166465. var realHasInstance;
  166466. if (
  166467. typeof Symbol === "function" &&
  166468. Symbol.hasInstance &&
  166469. typeof Function.prototype[Symbol.hasInstance] === "function"
  166470. ) {
  166471. realHasInstance = Function.prototype[Symbol.hasInstance];
  166472. Object.defineProperty(Writable, Symbol.hasInstance, {
  166473. value: function (object) {
  166474. if (realHasInstance.call(this, object)) return true;
  166475. return object && object._writableState instanceof WritableState;
  166476. },
  166477. });
  166478. } else {
  166479. realHasInstance = function (object) {
  166480. return object instanceof this;
  166481. };
  166482. }
  166483. function Writable(options) {
  166484. Duplex = Duplex || require("./_stream_duplex.js");
  166485. // Writable ctor is applied to Duplexes, too.
  166486. // `realHasInstance` is necessary because using plain `instanceof`
  166487. // would return false, as no `_writableState` property is attached.
  166488. // Trying to use the custom `instanceof` for Writable here will also break the
  166489. // Node.js LazyTransform implementation, which has a non-trivial getter for
  166490. // `_writableState` that would lead to infinite recursion.
  166491. if (
  166492. !realHasInstance.call(Writable, this) &&
  166493. !(this instanceof Duplex)
  166494. ) {
  166495. return new Writable(options);
  166496. }
  166497. this._writableState = new WritableState(options, this);
  166498. // legacy.
  166499. this.writable = true;
  166500. if (options) {
  166501. if (typeof options.write === "function")
  166502. this._write = options.write;
  166503. if (typeof options.writev === "function")
  166504. this._writev = options.writev;
  166505. if (typeof options.destroy === "function")
  166506. this._destroy = options.destroy;
  166507. if (typeof options.final === "function")
  166508. this._final = options.final;
  166509. }
  166510. Stream.call(this);
  166511. }
  166512. // Otherwise people can pipe Writable streams, which is just wrong.
  166513. Writable.prototype.pipe = function () {
  166514. this.emit("error", new Error("Cannot pipe, not readable"));
  166515. };
  166516. function writeAfterEnd(stream, cb) {
  166517. var er = new Error("write after end");
  166518. // TODO: defer error events consistently everywhere, not just the cb
  166519. stream.emit("error", er);
  166520. processNextTick(cb, er);
  166521. }
  166522. // Checks that a user-supplied chunk is valid, especially for the particular
  166523. // mode the stream is in. Currently this means that `null` is never accepted
  166524. // and undefined/non-string values are only allowed in object mode.
  166525. function validChunk(stream, state, chunk, cb) {
  166526. var valid = true;
  166527. var er = false;
  166528. if (chunk === null) {
  166529. er = new TypeError("May not write null values to stream");
  166530. } else if (
  166531. typeof chunk !== "string" &&
  166532. chunk !== undefined &&
  166533. !state.objectMode
  166534. ) {
  166535. er = new TypeError("Invalid non-string/buffer chunk");
  166536. }
  166537. if (er) {
  166538. stream.emit("error", er);
  166539. processNextTick(cb, er);
  166540. valid = false;
  166541. }
  166542. return valid;
  166543. }
  166544. Writable.prototype.write = function (chunk, encoding, cb) {
  166545. var state = this._writableState;
  166546. var ret = false;
  166547. var isBuf = _isUint8Array(chunk) && !state.objectMode;
  166548. if (isBuf && !Buffer.isBuffer(chunk)) {
  166549. chunk = _uint8ArrayToBuffer(chunk);
  166550. }
  166551. if (typeof encoding === "function") {
  166552. cb = encoding;
  166553. encoding = null;
  166554. }
  166555. if (isBuf) encoding = "buffer";
  166556. else if (!encoding) encoding = state.defaultEncoding;
  166557. if (typeof cb !== "function") cb = nop;
  166558. if (state.ended) writeAfterEnd(this, cb);
  166559. else if (isBuf || validChunk(this, state, chunk, cb)) {
  166560. state.pendingcb++;
  166561. ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
  166562. }
  166563. return ret;
  166564. };
  166565. Writable.prototype.cork = function () {
  166566. var state = this._writableState;
  166567. state.corked++;
  166568. };
  166569. Writable.prototype.uncork = function () {
  166570. var state = this._writableState;
  166571. if (state.corked) {
  166572. state.corked--;
  166573. if (
  166574. !state.writing &&
  166575. !state.corked &&
  166576. !state.finished &&
  166577. !state.bufferProcessing &&
  166578. state.bufferedRequest
  166579. )
  166580. clearBuffer(this, state);
  166581. }
  166582. };
  166583. Writable.prototype.setDefaultEncoding = function setDefaultEncoding(
  166584. encoding
  166585. ) {
  166586. // node::ParseEncoding() requires lower case.
  166587. if (typeof encoding === "string") encoding = encoding.toLowerCase();
  166588. if (
  166589. !(
  166590. [
  166591. "hex",
  166592. "utf8",
  166593. "utf-8",
  166594. "ascii",
  166595. "binary",
  166596. "base64",
  166597. "ucs2",
  166598. "ucs-2",
  166599. "utf16le",
  166600. "utf-16le",
  166601. "raw",
  166602. ].indexOf((encoding + "").toLowerCase()) > -1
  166603. )
  166604. )
  166605. throw new TypeError("Unknown encoding: " + encoding);
  166606. this._writableState.defaultEncoding = encoding;
  166607. return this;
  166608. };
  166609. function decodeChunk(state, chunk, encoding) {
  166610. if (
  166611. !state.objectMode &&
  166612. state.decodeStrings !== false &&
  166613. typeof chunk === "string"
  166614. ) {
  166615. chunk = Buffer.from(chunk, encoding);
  166616. }
  166617. return chunk;
  166618. }
  166619. // if we're already writing something, then just put this
  166620. // in the queue, and wait our turn. Otherwise, call _write
  166621. // If we return false, then we need a drain event, so set that flag.
  166622. function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
  166623. if (!isBuf) {
  166624. var newChunk = decodeChunk(state, chunk, encoding);
  166625. if (chunk !== newChunk) {
  166626. isBuf = true;
  166627. encoding = "buffer";
  166628. chunk = newChunk;
  166629. }
  166630. }
  166631. var len = state.objectMode ? 1 : chunk.length;
  166632. state.length += len;
  166633. var ret = state.length < state.highWaterMark;
  166634. // we must ensure that previous needDrain will not be reset to false.
  166635. if (!ret) state.needDrain = true;
  166636. if (state.writing || state.corked) {
  166637. var last = state.lastBufferedRequest;
  166638. state.lastBufferedRequest = {
  166639. chunk: chunk,
  166640. encoding: encoding,
  166641. isBuf: isBuf,
  166642. callback: cb,
  166643. next: null,
  166644. };
  166645. if (last) {
  166646. last.next = state.lastBufferedRequest;
  166647. } else {
  166648. state.bufferedRequest = state.lastBufferedRequest;
  166649. }
  166650. state.bufferedRequestCount += 1;
  166651. } else {
  166652. doWrite(stream, state, false, len, chunk, encoding, cb);
  166653. }
  166654. return ret;
  166655. }
  166656. function doWrite(stream, state, writev, len, chunk, encoding, cb) {
  166657. state.writelen = len;
  166658. state.writecb = cb;
  166659. state.writing = true;
  166660. state.sync = true;
  166661. if (writev) stream._writev(chunk, state.onwrite);
  166662. else stream._write(chunk, encoding, state.onwrite);
  166663. state.sync = false;
  166664. }
  166665. function onwriteError(stream, state, sync, er, cb) {
  166666. --state.pendingcb;
  166667. if (sync) {
  166668. // defer the callback if we are being called synchronously
  166669. // to avoid piling up things on the stack
  166670. processNextTick(cb, er);
  166671. // this can emit finish, and it will always happen
  166672. // after error
  166673. processNextTick(finishMaybe, stream, state);
  166674. stream._writableState.errorEmitted = true;
  166675. stream.emit("error", er);
  166676. } else {
  166677. // the caller expect this to happen before if
  166678. // it is async
  166679. cb(er);
  166680. stream._writableState.errorEmitted = true;
  166681. stream.emit("error", er);
  166682. // this can emit finish, but finish must
  166683. // always follow error
  166684. finishMaybe(stream, state);
  166685. }
  166686. }
  166687. function onwriteStateUpdate(state) {
  166688. state.writing = false;
  166689. state.writecb = null;
  166690. state.length -= state.writelen;
  166691. state.writelen = 0;
  166692. }
  166693. function onwrite(stream, er) {
  166694. var state = stream._writableState;
  166695. var sync = state.sync;
  166696. var cb = state.writecb;
  166697. onwriteStateUpdate(state);
  166698. if (er) onwriteError(stream, state, sync, er, cb);
  166699. else {
  166700. // Check if we're actually ready to finish, but don't emit yet
  166701. var finished = needFinish(state);
  166702. if (
  166703. !finished &&
  166704. !state.corked &&
  166705. !state.bufferProcessing &&
  166706. state.bufferedRequest
  166707. ) {
  166708. clearBuffer(stream, state);
  166709. }
  166710. if (sync) {
  166711. /*<replacement>*/
  166712. asyncWrite(afterWrite, stream, state, finished, cb);
  166713. /*</replacement>*/
  166714. } else {
  166715. afterWrite(stream, state, finished, cb);
  166716. }
  166717. }
  166718. }
  166719. function afterWrite(stream, state, finished, cb) {
  166720. if (!finished) onwriteDrain(stream, state);
  166721. state.pendingcb--;
  166722. cb();
  166723. finishMaybe(stream, state);
  166724. }
  166725. // Must force callback to be called on nextTick, so that we don't
  166726. // emit 'drain' before the write() consumer gets the 'false' return
  166727. // value, and has a chance to attach a 'drain' listener.
  166728. function onwriteDrain(stream, state) {
  166729. if (state.length === 0 && state.needDrain) {
  166730. state.needDrain = false;
  166731. stream.emit("drain");
  166732. }
  166733. }
  166734. // if there's something in the buffer waiting, then process it
  166735. function clearBuffer(stream, state) {
  166736. state.bufferProcessing = true;
  166737. var entry = state.bufferedRequest;
  166738. if (stream._writev && entry && entry.next) {
  166739. // Fast case, write everything using _writev()
  166740. var l = state.bufferedRequestCount;
  166741. var buffer = new Array(l);
  166742. var holder = state.corkedRequestsFree;
  166743. holder.entry = entry;
  166744. var count = 0;
  166745. var allBuffers = true;
  166746. while (entry) {
  166747. buffer[count] = entry;
  166748. if (!entry.isBuf) allBuffers = false;
  166749. entry = entry.next;
  166750. count += 1;
  166751. }
  166752. buffer.allBuffers = allBuffers;
  166753. doWrite(
  166754. stream,
  166755. state,
  166756. true,
  166757. state.length,
  166758. buffer,
  166759. "",
  166760. holder.finish
  166761. );
  166762. // doWrite is almost always async, defer these to save a bit of time
  166763. // as the hot path ends with doWrite
  166764. state.pendingcb++;
  166765. state.lastBufferedRequest = null;
  166766. if (holder.next) {
  166767. state.corkedRequestsFree = holder.next;
  166768. holder.next = null;
  166769. } else {
  166770. state.corkedRequestsFree = new CorkedRequest(state);
  166771. }
  166772. } else {
  166773. // Slow case, write chunks one-by-one
  166774. while (entry) {
  166775. var chunk = entry.chunk;
  166776. var encoding = entry.encoding;
  166777. var cb = entry.callback;
  166778. var len = state.objectMode ? 1 : chunk.length;
  166779. doWrite(stream, state, false, len, chunk, encoding, cb);
  166780. entry = entry.next;
  166781. // if we didn't call the onwrite immediately, then
  166782. // it means that we need to wait until it does.
  166783. // also, that means that the chunk and cb are currently
  166784. // being processed, so move the buffer counter past them.
  166785. if (state.writing) {
  166786. break;
  166787. }
  166788. }
  166789. if (entry === null) state.lastBufferedRequest = null;
  166790. }
  166791. state.bufferedRequestCount = 0;
  166792. state.bufferedRequest = entry;
  166793. state.bufferProcessing = false;
  166794. }
  166795. Writable.prototype._write = function (chunk, encoding, cb) {
  166796. cb(new Error("_write() is not implemented"));
  166797. };
  166798. Writable.prototype._writev = null;
  166799. Writable.prototype.end = function (chunk, encoding, cb) {
  166800. var state = this._writableState;
  166801. if (typeof chunk === "function") {
  166802. cb = chunk;
  166803. chunk = null;
  166804. encoding = null;
  166805. } else if (typeof encoding === "function") {
  166806. cb = encoding;
  166807. encoding = null;
  166808. }
  166809. if (chunk !== null && chunk !== undefined)
  166810. this.write(chunk, encoding);
  166811. // .end() fully uncorks
  166812. if (state.corked) {
  166813. state.corked = 1;
  166814. this.uncork();
  166815. }
  166816. // ignore unnecessary end() calls.
  166817. if (!state.ending && !state.finished) endWritable(this, state, cb);
  166818. };
  166819. function needFinish(state) {
  166820. return (
  166821. state.ending &&
  166822. state.length === 0 &&
  166823. state.bufferedRequest === null &&
  166824. !state.finished &&
  166825. !state.writing
  166826. );
  166827. }
  166828. function callFinal(stream, state) {
  166829. stream._final(function (err) {
  166830. state.pendingcb--;
  166831. if (err) {
  166832. stream.emit("error", err);
  166833. }
  166834. state.prefinished = true;
  166835. stream.emit("prefinish");
  166836. finishMaybe(stream, state);
  166837. });
  166838. }
  166839. function prefinish(stream, state) {
  166840. if (!state.prefinished && !state.finalCalled) {
  166841. if (typeof stream._final === "function") {
  166842. state.pendingcb++;
  166843. state.finalCalled = true;
  166844. processNextTick(callFinal, stream, state);
  166845. } else {
  166846. state.prefinished = true;
  166847. stream.emit("prefinish");
  166848. }
  166849. }
  166850. }
  166851. function finishMaybe(stream, state) {
  166852. var need = needFinish(state);
  166853. if (need) {
  166854. prefinish(stream, state);
  166855. if (state.pendingcb === 0) {
  166856. state.finished = true;
  166857. stream.emit("finish");
  166858. }
  166859. }
  166860. return need;
  166861. }
  166862. function endWritable(stream, state, cb) {
  166863. state.ending = true;
  166864. finishMaybe(stream, state);
  166865. if (cb) {
  166866. if (state.finished) processNextTick(cb);
  166867. else stream.once("finish", cb);
  166868. }
  166869. state.ended = true;
  166870. stream.writable = false;
  166871. }
  166872. function onCorkedFinish(corkReq, state, err) {
  166873. var entry = corkReq.entry;
  166874. corkReq.entry = null;
  166875. while (entry) {
  166876. var cb = entry.callback;
  166877. state.pendingcb--;
  166878. cb(err);
  166879. entry = entry.next;
  166880. }
  166881. if (state.corkedRequestsFree) {
  166882. state.corkedRequestsFree.next = corkReq;
  166883. } else {
  166884. state.corkedRequestsFree = corkReq;
  166885. }
  166886. }
  166887. Object.defineProperty(Writable.prototype, "destroyed", {
  166888. get: function () {
  166889. if (this._writableState === undefined) {
  166890. return false;
  166891. }
  166892. return this._writableState.destroyed;
  166893. },
  166894. set: function (value) {
  166895. // we ignore the value if the stream
  166896. // has not been initialized yet
  166897. if (!this._writableState) {
  166898. return;
  166899. }
  166900. // backward compatibility, the user is explicitly
  166901. // managing destroyed
  166902. this._writableState.destroyed = value;
  166903. },
  166904. });
  166905. Writable.prototype.destroy = destroyImpl.destroy;
  166906. Writable.prototype._undestroy = destroyImpl.undestroy;
  166907. Writable.prototype._destroy = function (err, cb) {
  166908. this.end();
  166909. cb(err);
  166910. };
  166911. }).call(
  166912. this,
  166913. require("_process"),
  166914. typeof global !== "undefined"
  166915. ? global
  166916. : typeof self !== "undefined"
  166917. ? self
  166918. : typeof window !== "undefined"
  166919. ? window
  166920. : {}
  166921. );
  166922. },
  166923. {
  166924. "./_stream_duplex": 135,
  166925. "./internal/streams/destroy": 141,
  166926. "./internal/streams/stream": 142,
  166927. _process: 126,
  166928. "core-util-is": 56,
  166929. inherits: 108,
  166930. "process-nextick-args": 125,
  166931. "safe-buffer": 148,
  166932. "util-deprecate": 159,
  166933. },
  166934. ],
  166935. 140: [
  166936. function (require, module, exports) {
  166937. "use strict";
  166938. /*<replacement>*/
  166939. function _classCallCheck(instance, Constructor) {
  166940. if (!(instance instanceof Constructor)) {
  166941. throw new TypeError("Cannot call a class as a function");
  166942. }
  166943. }
  166944. var Buffer = require("safe-buffer").Buffer;
  166945. /*</replacement>*/
  166946. function copyBuffer(src, target, offset) {
  166947. src.copy(target, offset);
  166948. }
  166949. module.exports = (function () {
  166950. function BufferList() {
  166951. _classCallCheck(this, BufferList);
  166952. this.head = null;
  166953. this.tail = null;
  166954. this.length = 0;
  166955. }
  166956. BufferList.prototype.push = function push(v) {
  166957. var entry = { data: v, next: null };
  166958. if (this.length > 0) this.tail.next = entry;
  166959. else this.head = entry;
  166960. this.tail = entry;
  166961. ++this.length;
  166962. };
  166963. BufferList.prototype.unshift = function unshift(v) {
  166964. var entry = { data: v, next: this.head };
  166965. if (this.length === 0) this.tail = entry;
  166966. this.head = entry;
  166967. ++this.length;
  166968. };
  166969. BufferList.prototype.shift = function shift() {
  166970. if (this.length === 0) return;
  166971. var ret = this.head.data;
  166972. if (this.length === 1) this.head = this.tail = null;
  166973. else this.head = this.head.next;
  166974. --this.length;
  166975. return ret;
  166976. };
  166977. BufferList.prototype.clear = function clear() {
  166978. this.head = this.tail = null;
  166979. this.length = 0;
  166980. };
  166981. BufferList.prototype.join = function join(s) {
  166982. if (this.length === 0) return "";
  166983. var p = this.head;
  166984. var ret = "" + p.data;
  166985. while ((p = p.next)) {
  166986. ret += s + p.data;
  166987. }
  166988. return ret;
  166989. };
  166990. BufferList.prototype.concat = function concat(n) {
  166991. if (this.length === 0) return Buffer.alloc(0);
  166992. if (this.length === 1) return this.head.data;
  166993. var ret = Buffer.allocUnsafe(n >>> 0);
  166994. var p = this.head;
  166995. var i = 0;
  166996. while (p) {
  166997. copyBuffer(p.data, ret, i);
  166998. i += p.data.length;
  166999. p = p.next;
  167000. }
  167001. return ret;
  167002. };
  167003. return BufferList;
  167004. })();
  167005. },
  167006. { "safe-buffer": 148 },
  167007. ],
  167008. 141: [
  167009. function (require, module, exports) {
  167010. "use strict";
  167011. /*<replacement>*/
  167012. var processNextTick = require("process-nextick-args");
  167013. /*</replacement>*/
  167014. // undocumented cb() API, needed for core, not for public API
  167015. function destroy(err, cb) {
  167016. var _this = this;
  167017. var readableDestroyed =
  167018. this._readableState && this._readableState.destroyed;
  167019. var writableDestroyed =
  167020. this._writableState && this._writableState.destroyed;
  167021. if (readableDestroyed || writableDestroyed) {
  167022. if (cb) {
  167023. cb(err);
  167024. } else if (
  167025. err &&
  167026. (!this._writableState || !this._writableState.errorEmitted)
  167027. ) {
  167028. processNextTick(emitErrorNT, this, err);
  167029. }
  167030. return;
  167031. }
  167032. // we set destroyed to true before firing error callbacks in order
  167033. // to make it re-entrance safe in case destroy() is called within callbacks
  167034. if (this._readableState) {
  167035. this._readableState.destroyed = true;
  167036. }
  167037. // if this is a duplex stream mark the writable part as destroyed as well
  167038. if (this._writableState) {
  167039. this._writableState.destroyed = true;
  167040. }
  167041. this._destroy(err || null, function (err) {
  167042. if (!cb && err) {
  167043. processNextTick(emitErrorNT, _this, err);
  167044. if (_this._writableState) {
  167045. _this._writableState.errorEmitted = true;
  167046. }
  167047. } else if (cb) {
  167048. cb(err);
  167049. }
  167050. });
  167051. }
  167052. function undestroy() {
  167053. if (this._readableState) {
  167054. this._readableState.destroyed = false;
  167055. this._readableState.reading = false;
  167056. this._readableState.ended = false;
  167057. this._readableState.endEmitted = false;
  167058. }
  167059. if (this._writableState) {
  167060. this._writableState.destroyed = false;
  167061. this._writableState.ended = false;
  167062. this._writableState.ending = false;
  167063. this._writableState.finished = false;
  167064. this._writableState.errorEmitted = false;
  167065. }
  167066. }
  167067. function emitErrorNT(self, err) {
  167068. self.emit("error", err);
  167069. }
  167070. module.exports = {
  167071. destroy: destroy,
  167072. undestroy: undestroy,
  167073. };
  167074. },
  167075. { "process-nextick-args": 125 },
  167076. ],
  167077. 142: [
  167078. function (require, module, exports) {
  167079. module.exports = require("events").EventEmitter;
  167080. },
  167081. { events: 90 },
  167082. ],
  167083. 143: [
  167084. function (require, module, exports) {
  167085. module.exports = require("./readable.js").PassThrough;
  167086. },
  167087. { "./readable": 144 },
  167088. ],
  167089. 144: [
  167090. function (require, module, exports) {
  167091. exports = module.exports = require("./lib/_stream_readable.js");
  167092. exports.Stream = exports;
  167093. exports.Readable = exports;
  167094. exports.Writable = require("./lib/_stream_writable.js");
  167095. exports.Duplex = require("./lib/_stream_duplex.js");
  167096. exports.Transform = require("./lib/_stream_transform.js");
  167097. exports.PassThrough = require("./lib/_stream_passthrough.js");
  167098. },
  167099. {
  167100. "./lib/_stream_duplex.js": 135,
  167101. "./lib/_stream_passthrough.js": 136,
  167102. "./lib/_stream_readable.js": 137,
  167103. "./lib/_stream_transform.js": 138,
  167104. "./lib/_stream_writable.js": 139,
  167105. },
  167106. ],
  167107. 145: [
  167108. function (require, module, exports) {
  167109. module.exports = require("./readable.js").Transform;
  167110. },
  167111. { "./readable": 144 },
  167112. ],
  167113. 146: [
  167114. function (require, module, exports) {
  167115. module.exports = require("./lib/_stream_writable.js");
  167116. },
  167117. { "./lib/_stream_writable.js": 139 },
  167118. ],
  167119. 147: [
  167120. function (require, module, exports) {
  167121. (function (Buffer) {
  167122. "use strict";
  167123. var inherits = require("inherits");
  167124. var HashBase = require("hash-base");
  167125. function RIPEMD160() {
  167126. HashBase.call(this, 64);
  167127. // state
  167128. this._a = 0x67452301;
  167129. this._b = 0xefcdab89;
  167130. this._c = 0x98badcfe;
  167131. this._d = 0x10325476;
  167132. this._e = 0xc3d2e1f0;
  167133. }
  167134. inherits(RIPEMD160, HashBase);
  167135. RIPEMD160.prototype._update = function () {
  167136. var m = new Array(16);
  167137. for (var i = 0; i < 16; ++i) m[i] = this._block.readInt32LE(i * 4);
  167138. var al = this._a;
  167139. var bl = this._b;
  167140. var cl = this._c;
  167141. var dl = this._d;
  167142. var el = this._e;
  167143. // Mj = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
  167144. // K = 0x00000000
  167145. // Sj = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
  167146. al = fn1(al, bl, cl, dl, el, m[0], 0x00000000, 11);
  167147. cl = rotl(cl, 10);
  167148. el = fn1(el, al, bl, cl, dl, m[1], 0x00000000, 14);
  167149. bl = rotl(bl, 10);
  167150. dl = fn1(dl, el, al, bl, cl, m[2], 0x00000000, 15);
  167151. al = rotl(al, 10);
  167152. cl = fn1(cl, dl, el, al, bl, m[3], 0x00000000, 12);
  167153. el = rotl(el, 10);
  167154. bl = fn1(bl, cl, dl, el, al, m[4], 0x00000000, 5);
  167155. dl = rotl(dl, 10);
  167156. al = fn1(al, bl, cl, dl, el, m[5], 0x00000000, 8);
  167157. cl = rotl(cl, 10);
  167158. el = fn1(el, al, bl, cl, dl, m[6], 0x00000000, 7);
  167159. bl = rotl(bl, 10);
  167160. dl = fn1(dl, el, al, bl, cl, m[7], 0x00000000, 9);
  167161. al = rotl(al, 10);
  167162. cl = fn1(cl, dl, el, al, bl, m[8], 0x00000000, 11);
  167163. el = rotl(el, 10);
  167164. bl = fn1(bl, cl, dl, el, al, m[9], 0x00000000, 13);
  167165. dl = rotl(dl, 10);
  167166. al = fn1(al, bl, cl, dl, el, m[10], 0x00000000, 14);
  167167. cl = rotl(cl, 10);
  167168. el = fn1(el, al, bl, cl, dl, m[11], 0x00000000, 15);
  167169. bl = rotl(bl, 10);
  167170. dl = fn1(dl, el, al, bl, cl, m[12], 0x00000000, 6);
  167171. al = rotl(al, 10);
  167172. cl = fn1(cl, dl, el, al, bl, m[13], 0x00000000, 7);
  167173. el = rotl(el, 10);
  167174. bl = fn1(bl, cl, dl, el, al, m[14], 0x00000000, 9);
  167175. dl = rotl(dl, 10);
  167176. al = fn1(al, bl, cl, dl, el, m[15], 0x00000000, 8);
  167177. cl = rotl(cl, 10);
  167178. // Mj = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
  167179. // K = 0x5a827999
  167180. // Sj = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
  167181. el = fn2(el, al, bl, cl, dl, m[7], 0x5a827999, 7);
  167182. bl = rotl(bl, 10);
  167183. dl = fn2(dl, el, al, bl, cl, m[4], 0x5a827999, 6);
  167184. al = rotl(al, 10);
  167185. cl = fn2(cl, dl, el, al, bl, m[13], 0x5a827999, 8);
  167186. el = rotl(el, 10);
  167187. bl = fn2(bl, cl, dl, el, al, m[1], 0x5a827999, 13);
  167188. dl = rotl(dl, 10);
  167189. al = fn2(al, bl, cl, dl, el, m[10], 0x5a827999, 11);
  167190. cl = rotl(cl, 10);
  167191. el = fn2(el, al, bl, cl, dl, m[6], 0x5a827999, 9);
  167192. bl = rotl(bl, 10);
  167193. dl = fn2(dl, el, al, bl, cl, m[15], 0x5a827999, 7);
  167194. al = rotl(al, 10);
  167195. cl = fn2(cl, dl, el, al, bl, m[3], 0x5a827999, 15);
  167196. el = rotl(el, 10);
  167197. bl = fn2(bl, cl, dl, el, al, m[12], 0x5a827999, 7);
  167198. dl = rotl(dl, 10);
  167199. al = fn2(al, bl, cl, dl, el, m[0], 0x5a827999, 12);
  167200. cl = rotl(cl, 10);
  167201. el = fn2(el, al, bl, cl, dl, m[9], 0x5a827999, 15);
  167202. bl = rotl(bl, 10);
  167203. dl = fn2(dl, el, al, bl, cl, m[5], 0x5a827999, 9);
  167204. al = rotl(al, 10);
  167205. cl = fn2(cl, dl, el, al, bl, m[2], 0x5a827999, 11);
  167206. el = rotl(el, 10);
  167207. bl = fn2(bl, cl, dl, el, al, m[14], 0x5a827999, 7);
  167208. dl = rotl(dl, 10);
  167209. al = fn2(al, bl, cl, dl, el, m[11], 0x5a827999, 13);
  167210. cl = rotl(cl, 10);
  167211. el = fn2(el, al, bl, cl, dl, m[8], 0x5a827999, 12);
  167212. bl = rotl(bl, 10);
  167213. // Mj = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
  167214. // K = 0x6ed9eba1
  167215. // Sj = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
  167216. dl = fn3(dl, el, al, bl, cl, m[3], 0x6ed9eba1, 11);
  167217. al = rotl(al, 10);
  167218. cl = fn3(cl, dl, el, al, bl, m[10], 0x6ed9eba1, 13);
  167219. el = rotl(el, 10);
  167220. bl = fn3(bl, cl, dl, el, al, m[14], 0x6ed9eba1, 6);
  167221. dl = rotl(dl, 10);
  167222. al = fn3(al, bl, cl, dl, el, m[4], 0x6ed9eba1, 7);
  167223. cl = rotl(cl, 10);
  167224. el = fn3(el, al, bl, cl, dl, m[9], 0x6ed9eba1, 14);
  167225. bl = rotl(bl, 10);
  167226. dl = fn3(dl, el, al, bl, cl, m[15], 0x6ed9eba1, 9);
  167227. al = rotl(al, 10);
  167228. cl = fn3(cl, dl, el, al, bl, m[8], 0x6ed9eba1, 13);
  167229. el = rotl(el, 10);
  167230. bl = fn3(bl, cl, dl, el, al, m[1], 0x6ed9eba1, 15);
  167231. dl = rotl(dl, 10);
  167232. al = fn3(al, bl, cl, dl, el, m[2], 0x6ed9eba1, 14);
  167233. cl = rotl(cl, 10);
  167234. el = fn3(el, al, bl, cl, dl, m[7], 0x6ed9eba1, 8);
  167235. bl = rotl(bl, 10);
  167236. dl = fn3(dl, el, al, bl, cl, m[0], 0x6ed9eba1, 13);
  167237. al = rotl(al, 10);
  167238. cl = fn3(cl, dl, el, al, bl, m[6], 0x6ed9eba1, 6);
  167239. el = rotl(el, 10);
  167240. bl = fn3(bl, cl, dl, el, al, m[13], 0x6ed9eba1, 5);
  167241. dl = rotl(dl, 10);
  167242. al = fn3(al, bl, cl, dl, el, m[11], 0x6ed9eba1, 12);
  167243. cl = rotl(cl, 10);
  167244. el = fn3(el, al, bl, cl, dl, m[5], 0x6ed9eba1, 7);
  167245. bl = rotl(bl, 10);
  167246. dl = fn3(dl, el, al, bl, cl, m[12], 0x6ed9eba1, 5);
  167247. al = rotl(al, 10);
  167248. // Mj = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
  167249. // K = 0x8f1bbcdc
  167250. // Sj = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
  167251. cl = fn4(cl, dl, el, al, bl, m[1], 0x8f1bbcdc, 11);
  167252. el = rotl(el, 10);
  167253. bl = fn4(bl, cl, dl, el, al, m[9], 0x8f1bbcdc, 12);
  167254. dl = rotl(dl, 10);
  167255. al = fn4(al, bl, cl, dl, el, m[11], 0x8f1bbcdc, 14);
  167256. cl = rotl(cl, 10);
  167257. el = fn4(el, al, bl, cl, dl, m[10], 0x8f1bbcdc, 15);
  167258. bl = rotl(bl, 10);
  167259. dl = fn4(dl, el, al, bl, cl, m[0], 0x8f1bbcdc, 14);
  167260. al = rotl(al, 10);
  167261. cl = fn4(cl, dl, el, al, bl, m[8], 0x8f1bbcdc, 15);
  167262. el = rotl(el, 10);
  167263. bl = fn4(bl, cl, dl, el, al, m[12], 0x8f1bbcdc, 9);
  167264. dl = rotl(dl, 10);
  167265. al = fn4(al, bl, cl, dl, el, m[4], 0x8f1bbcdc, 8);
  167266. cl = rotl(cl, 10);
  167267. el = fn4(el, al, bl, cl, dl, m[13], 0x8f1bbcdc, 9);
  167268. bl = rotl(bl, 10);
  167269. dl = fn4(dl, el, al, bl, cl, m[3], 0x8f1bbcdc, 14);
  167270. al = rotl(al, 10);
  167271. cl = fn4(cl, dl, el, al, bl, m[7], 0x8f1bbcdc, 5);
  167272. el = rotl(el, 10);
  167273. bl = fn4(bl, cl, dl, el, al, m[15], 0x8f1bbcdc, 6);
  167274. dl = rotl(dl, 10);
  167275. al = fn4(al, bl, cl, dl, el, m[14], 0x8f1bbcdc, 8);
  167276. cl = rotl(cl, 10);
  167277. el = fn4(el, al, bl, cl, dl, m[5], 0x8f1bbcdc, 6);
  167278. bl = rotl(bl, 10);
  167279. dl = fn4(dl, el, al, bl, cl, m[6], 0x8f1bbcdc, 5);
  167280. al = rotl(al, 10);
  167281. cl = fn4(cl, dl, el, al, bl, m[2], 0x8f1bbcdc, 12);
  167282. el = rotl(el, 10);
  167283. // Mj = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
  167284. // K = 0xa953fd4e
  167285. // Sj = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
  167286. bl = fn5(bl, cl, dl, el, al, m[4], 0xa953fd4e, 9);
  167287. dl = rotl(dl, 10);
  167288. al = fn5(al, bl, cl, dl, el, m[0], 0xa953fd4e, 15);
  167289. cl = rotl(cl, 10);
  167290. el = fn5(el, al, bl, cl, dl, m[5], 0xa953fd4e, 5);
  167291. bl = rotl(bl, 10);
  167292. dl = fn5(dl, el, al, bl, cl, m[9], 0xa953fd4e, 11);
  167293. al = rotl(al, 10);
  167294. cl = fn5(cl, dl, el, al, bl, m[7], 0xa953fd4e, 6);
  167295. el = rotl(el, 10);
  167296. bl = fn5(bl, cl, dl, el, al, m[12], 0xa953fd4e, 8);
  167297. dl = rotl(dl, 10);
  167298. al = fn5(al, bl, cl, dl, el, m[2], 0xa953fd4e, 13);
  167299. cl = rotl(cl, 10);
  167300. el = fn5(el, al, bl, cl, dl, m[10], 0xa953fd4e, 12);
  167301. bl = rotl(bl, 10);
  167302. dl = fn5(dl, el, al, bl, cl, m[14], 0xa953fd4e, 5);
  167303. al = rotl(al, 10);
  167304. cl = fn5(cl, dl, el, al, bl, m[1], 0xa953fd4e, 12);
  167305. el = rotl(el, 10);
  167306. bl = fn5(bl, cl, dl, el, al, m[3], 0xa953fd4e, 13);
  167307. dl = rotl(dl, 10);
  167308. al = fn5(al, bl, cl, dl, el, m[8], 0xa953fd4e, 14);
  167309. cl = rotl(cl, 10);
  167310. el = fn5(el, al, bl, cl, dl, m[11], 0xa953fd4e, 11);
  167311. bl = rotl(bl, 10);
  167312. dl = fn5(dl, el, al, bl, cl, m[6], 0xa953fd4e, 8);
  167313. al = rotl(al, 10);
  167314. cl = fn5(cl, dl, el, al, bl, m[15], 0xa953fd4e, 5);
  167315. el = rotl(el, 10);
  167316. bl = fn5(bl, cl, dl, el, al, m[13], 0xa953fd4e, 6);
  167317. dl = rotl(dl, 10);
  167318. var ar = this._a;
  167319. var br = this._b;
  167320. var cr = this._c;
  167321. var dr = this._d;
  167322. var er = this._e;
  167323. // M'j = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
  167324. // K' = 0x50a28be6
  167325. // S'j = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
  167326. ar = fn5(ar, br, cr, dr, er, m[5], 0x50a28be6, 8);
  167327. cr = rotl(cr, 10);
  167328. er = fn5(er, ar, br, cr, dr, m[14], 0x50a28be6, 9);
  167329. br = rotl(br, 10);
  167330. dr = fn5(dr, er, ar, br, cr, m[7], 0x50a28be6, 9);
  167331. ar = rotl(ar, 10);
  167332. cr = fn5(cr, dr, er, ar, br, m[0], 0x50a28be6, 11);
  167333. er = rotl(er, 10);
  167334. br = fn5(br, cr, dr, er, ar, m[9], 0x50a28be6, 13);
  167335. dr = rotl(dr, 10);
  167336. ar = fn5(ar, br, cr, dr, er, m[2], 0x50a28be6, 15);
  167337. cr = rotl(cr, 10);
  167338. er = fn5(er, ar, br, cr, dr, m[11], 0x50a28be6, 15);
  167339. br = rotl(br, 10);
  167340. dr = fn5(dr, er, ar, br, cr, m[4], 0x50a28be6, 5);
  167341. ar = rotl(ar, 10);
  167342. cr = fn5(cr, dr, er, ar, br, m[13], 0x50a28be6, 7);
  167343. er = rotl(er, 10);
  167344. br = fn5(br, cr, dr, er, ar, m[6], 0x50a28be6, 7);
  167345. dr = rotl(dr, 10);
  167346. ar = fn5(ar, br, cr, dr, er, m[15], 0x50a28be6, 8);
  167347. cr = rotl(cr, 10);
  167348. er = fn5(er, ar, br, cr, dr, m[8], 0x50a28be6, 11);
  167349. br = rotl(br, 10);
  167350. dr = fn5(dr, er, ar, br, cr, m[1], 0x50a28be6, 14);
  167351. ar = rotl(ar, 10);
  167352. cr = fn5(cr, dr, er, ar, br, m[10], 0x50a28be6, 14);
  167353. er = rotl(er, 10);
  167354. br = fn5(br, cr, dr, er, ar, m[3], 0x50a28be6, 12);
  167355. dr = rotl(dr, 10);
  167356. ar = fn5(ar, br, cr, dr, er, m[12], 0x50a28be6, 6);
  167357. cr = rotl(cr, 10);
  167358. // M'j = 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
  167359. // K' = 0x5c4dd124
  167360. // S'j = 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
  167361. er = fn4(er, ar, br, cr, dr, m[6], 0x5c4dd124, 9);
  167362. br = rotl(br, 10);
  167363. dr = fn4(dr, er, ar, br, cr, m[11], 0x5c4dd124, 13);
  167364. ar = rotl(ar, 10);
  167365. cr = fn4(cr, dr, er, ar, br, m[3], 0x5c4dd124, 15);
  167366. er = rotl(er, 10);
  167367. br = fn4(br, cr, dr, er, ar, m[7], 0x5c4dd124, 7);
  167368. dr = rotl(dr, 10);
  167369. ar = fn4(ar, br, cr, dr, er, m[0], 0x5c4dd124, 12);
  167370. cr = rotl(cr, 10);
  167371. er = fn4(er, ar, br, cr, dr, m[13], 0x5c4dd124, 8);
  167372. br = rotl(br, 10);
  167373. dr = fn4(dr, er, ar, br, cr, m[5], 0x5c4dd124, 9);
  167374. ar = rotl(ar, 10);
  167375. cr = fn4(cr, dr, er, ar, br, m[10], 0x5c4dd124, 11);
  167376. er = rotl(er, 10);
  167377. br = fn4(br, cr, dr, er, ar, m[14], 0x5c4dd124, 7);
  167378. dr = rotl(dr, 10);
  167379. ar = fn4(ar, br, cr, dr, er, m[15], 0x5c4dd124, 7);
  167380. cr = rotl(cr, 10);
  167381. er = fn4(er, ar, br, cr, dr, m[8], 0x5c4dd124, 12);
  167382. br = rotl(br, 10);
  167383. dr = fn4(dr, er, ar, br, cr, m[12], 0x5c4dd124, 7);
  167384. ar = rotl(ar, 10);
  167385. cr = fn4(cr, dr, er, ar, br, m[4], 0x5c4dd124, 6);
  167386. er = rotl(er, 10);
  167387. br = fn4(br, cr, dr, er, ar, m[9], 0x5c4dd124, 15);
  167388. dr = rotl(dr, 10);
  167389. ar = fn4(ar, br, cr, dr, er, m[1], 0x5c4dd124, 13);
  167390. cr = rotl(cr, 10);
  167391. er = fn4(er, ar, br, cr, dr, m[2], 0x5c4dd124, 11);
  167392. br = rotl(br, 10);
  167393. // M'j = 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
  167394. // K' = 0x6d703ef3
  167395. // S'j = 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
  167396. dr = fn3(dr, er, ar, br, cr, m[15], 0x6d703ef3, 9);
  167397. ar = rotl(ar, 10);
  167398. cr = fn3(cr, dr, er, ar, br, m[5], 0x6d703ef3, 7);
  167399. er = rotl(er, 10);
  167400. br = fn3(br, cr, dr, er, ar, m[1], 0x6d703ef3, 15);
  167401. dr = rotl(dr, 10);
  167402. ar = fn3(ar, br, cr, dr, er, m[3], 0x6d703ef3, 11);
  167403. cr = rotl(cr, 10);
  167404. er = fn3(er, ar, br, cr, dr, m[7], 0x6d703ef3, 8);
  167405. br = rotl(br, 10);
  167406. dr = fn3(dr, er, ar, br, cr, m[14], 0x6d703ef3, 6);
  167407. ar = rotl(ar, 10);
  167408. cr = fn3(cr, dr, er, ar, br, m[6], 0x6d703ef3, 6);
  167409. er = rotl(er, 10);
  167410. br = fn3(br, cr, dr, er, ar, m[9], 0x6d703ef3, 14);
  167411. dr = rotl(dr, 10);
  167412. ar = fn3(ar, br, cr, dr, er, m[11], 0x6d703ef3, 12);
  167413. cr = rotl(cr, 10);
  167414. er = fn3(er, ar, br, cr, dr, m[8], 0x6d703ef3, 13);
  167415. br = rotl(br, 10);
  167416. dr = fn3(dr, er, ar, br, cr, m[12], 0x6d703ef3, 5);
  167417. ar = rotl(ar, 10);
  167418. cr = fn3(cr, dr, er, ar, br, m[2], 0x6d703ef3, 14);
  167419. er = rotl(er, 10);
  167420. br = fn3(br, cr, dr, er, ar, m[10], 0x6d703ef3, 13);
  167421. dr = rotl(dr, 10);
  167422. ar = fn3(ar, br, cr, dr, er, m[0], 0x6d703ef3, 13);
  167423. cr = rotl(cr, 10);
  167424. er = fn3(er, ar, br, cr, dr, m[4], 0x6d703ef3, 7);
  167425. br = rotl(br, 10);
  167426. dr = fn3(dr, er, ar, br, cr, m[13], 0x6d703ef3, 5);
  167427. ar = rotl(ar, 10);
  167428. // M'j = 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
  167429. // K' = 0x7a6d76e9
  167430. // S'j = 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
  167431. cr = fn2(cr, dr, er, ar, br, m[8], 0x7a6d76e9, 15);
  167432. er = rotl(er, 10);
  167433. br = fn2(br, cr, dr, er, ar, m[6], 0x7a6d76e9, 5);
  167434. dr = rotl(dr, 10);
  167435. ar = fn2(ar, br, cr, dr, er, m[4], 0x7a6d76e9, 8);
  167436. cr = rotl(cr, 10);
  167437. er = fn2(er, ar, br, cr, dr, m[1], 0x7a6d76e9, 11);
  167438. br = rotl(br, 10);
  167439. dr = fn2(dr, er, ar, br, cr, m[3], 0x7a6d76e9, 14);
  167440. ar = rotl(ar, 10);
  167441. cr = fn2(cr, dr, er, ar, br, m[11], 0x7a6d76e9, 14);
  167442. er = rotl(er, 10);
  167443. br = fn2(br, cr, dr, er, ar, m[15], 0x7a6d76e9, 6);
  167444. dr = rotl(dr, 10);
  167445. ar = fn2(ar, br, cr, dr, er, m[0], 0x7a6d76e9, 14);
  167446. cr = rotl(cr, 10);
  167447. er = fn2(er, ar, br, cr, dr, m[5], 0x7a6d76e9, 6);
  167448. br = rotl(br, 10);
  167449. dr = fn2(dr, er, ar, br, cr, m[12], 0x7a6d76e9, 9);
  167450. ar = rotl(ar, 10);
  167451. cr = fn2(cr, dr, er, ar, br, m[2], 0x7a6d76e9, 12);
  167452. er = rotl(er, 10);
  167453. br = fn2(br, cr, dr, er, ar, m[13], 0x7a6d76e9, 9);
  167454. dr = rotl(dr, 10);
  167455. ar = fn2(ar, br, cr, dr, er, m[9], 0x7a6d76e9, 12);
  167456. cr = rotl(cr, 10);
  167457. er = fn2(er, ar, br, cr, dr, m[7], 0x7a6d76e9, 5);
  167458. br = rotl(br, 10);
  167459. dr = fn2(dr, er, ar, br, cr, m[10], 0x7a6d76e9, 15);
  167460. ar = rotl(ar, 10);
  167461. cr = fn2(cr, dr, er, ar, br, m[14], 0x7a6d76e9, 8);
  167462. er = rotl(er, 10);
  167463. // M'j = 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
  167464. // K' = 0x00000000
  167465. // S'j = 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
  167466. br = fn1(br, cr, dr, er, ar, m[12], 0x00000000, 8);
  167467. dr = rotl(dr, 10);
  167468. ar = fn1(ar, br, cr, dr, er, m[15], 0x00000000, 5);
  167469. cr = rotl(cr, 10);
  167470. er = fn1(er, ar, br, cr, dr, m[10], 0x00000000, 12);
  167471. br = rotl(br, 10);
  167472. dr = fn1(dr, er, ar, br, cr, m[4], 0x00000000, 9);
  167473. ar = rotl(ar, 10);
  167474. cr = fn1(cr, dr, er, ar, br, m[1], 0x00000000, 12);
  167475. er = rotl(er, 10);
  167476. br = fn1(br, cr, dr, er, ar, m[5], 0x00000000, 5);
  167477. dr = rotl(dr, 10);
  167478. ar = fn1(ar, br, cr, dr, er, m[8], 0x00000000, 14);
  167479. cr = rotl(cr, 10);
  167480. er = fn1(er, ar, br, cr, dr, m[7], 0x00000000, 6);
  167481. br = rotl(br, 10);
  167482. dr = fn1(dr, er, ar, br, cr, m[6], 0x00000000, 8);
  167483. ar = rotl(ar, 10);
  167484. cr = fn1(cr, dr, er, ar, br, m[2], 0x00000000, 13);
  167485. er = rotl(er, 10);
  167486. br = fn1(br, cr, dr, er, ar, m[13], 0x00000000, 6);
  167487. dr = rotl(dr, 10);
  167488. ar = fn1(ar, br, cr, dr, er, m[14], 0x00000000, 5);
  167489. cr = rotl(cr, 10);
  167490. er = fn1(er, ar, br, cr, dr, m[0], 0x00000000, 15);
  167491. br = rotl(br, 10);
  167492. dr = fn1(dr, er, ar, br, cr, m[3], 0x00000000, 13);
  167493. ar = rotl(ar, 10);
  167494. cr = fn1(cr, dr, er, ar, br, m[9], 0x00000000, 11);
  167495. er = rotl(er, 10);
  167496. br = fn1(br, cr, dr, er, ar, m[11], 0x00000000, 11);
  167497. dr = rotl(dr, 10);
  167498. // change state
  167499. var t = (this._b + cl + dr) | 0;
  167500. this._b = (this._c + dl + er) | 0;
  167501. this._c = (this._d + el + ar) | 0;
  167502. this._d = (this._e + al + br) | 0;
  167503. this._e = (this._a + bl + cr) | 0;
  167504. this._a = t;
  167505. };
  167506. RIPEMD160.prototype._digest = function () {
  167507. // create padding and handle blocks
  167508. this._block[this._blockOffset++] = 0x80;
  167509. if (this._blockOffset > 56) {
  167510. this._block.fill(0, this._blockOffset, 64);
  167511. this._update();
  167512. this._blockOffset = 0;
  167513. }
  167514. this._block.fill(0, this._blockOffset, 56);
  167515. this._block.writeUInt32LE(this._length[0], 56);
  167516. this._block.writeUInt32LE(this._length[1], 60);
  167517. this._update();
  167518. // produce result
  167519. var buffer = new Buffer(20);
  167520. buffer.writeInt32LE(this._a, 0);
  167521. buffer.writeInt32LE(this._b, 4);
  167522. buffer.writeInt32LE(this._c, 8);
  167523. buffer.writeInt32LE(this._d, 12);
  167524. buffer.writeInt32LE(this._e, 16);
  167525. return buffer;
  167526. };
  167527. function rotl(x, n) {
  167528. return (x << n) | (x >>> (32 - n));
  167529. }
  167530. function fn1(a, b, c, d, e, m, k, s) {
  167531. return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0;
  167532. }
  167533. function fn2(a, b, c, d, e, m, k, s) {
  167534. return (rotl((a + ((b & c) | (~b & d)) + m + k) | 0, s) + e) | 0;
  167535. }
  167536. function fn3(a, b, c, d, e, m, k, s) {
  167537. return (rotl((a + ((b | ~c) ^ d) + m + k) | 0, s) + e) | 0;
  167538. }
  167539. function fn4(a, b, c, d, e, m, k, s) {
  167540. return (rotl((a + ((b & d) | (c & ~d)) + m + k) | 0, s) + e) | 0;
  167541. }
  167542. function fn5(a, b, c, d, e, m, k, s) {
  167543. return (rotl((a + (b ^ (c | ~d)) + m + k) | 0, s) + e) | 0;
  167544. }
  167545. module.exports = RIPEMD160;
  167546. }).call(this, require("buffer").Buffer);
  167547. },
  167548. { buffer: 54, "hash-base": 92, inherits: 108 },
  167549. ],
  167550. 148: [
  167551. function (require, module, exports) {
  167552. /* eslint-disable node/no-deprecated-api */
  167553. var buffer = require("buffer");
  167554. var Buffer = buffer.Buffer;
  167555. // alternative to using Object.keys for old browsers
  167556. function copyProps(src, dst) {
  167557. for (var key in src) {
  167558. dst[key] = src[key];
  167559. }
  167560. }
  167561. if (
  167562. Buffer.from &&
  167563. Buffer.alloc &&
  167564. Buffer.allocUnsafe &&
  167565. Buffer.allocUnsafeSlow
  167566. ) {
  167567. module.exports = buffer;
  167568. } else {
  167569. // Copy properties from require('buffer')
  167570. copyProps(buffer, exports);
  167571. exports.Buffer = SafeBuffer;
  167572. }
  167573. function SafeBuffer(arg, encodingOrOffset, length) {
  167574. return Buffer(arg, encodingOrOffset, length);
  167575. }
  167576. // Copy static methods from Buffer
  167577. copyProps(Buffer, SafeBuffer);
  167578. SafeBuffer.from = function (arg, encodingOrOffset, length) {
  167579. if (typeof arg === "number") {
  167580. throw new TypeError("Argument must not be a number");
  167581. }
  167582. return Buffer(arg, encodingOrOffset, length);
  167583. };
  167584. SafeBuffer.alloc = function (size, fill, encoding) {
  167585. if (typeof size !== "number") {
  167586. throw new TypeError("Argument must be a number");
  167587. }
  167588. var buf = Buffer(size);
  167589. if (fill !== undefined) {
  167590. if (typeof encoding === "string") {
  167591. buf.fill(fill, encoding);
  167592. } else {
  167593. buf.fill(fill);
  167594. }
  167595. } else {
  167596. buf.fill(0);
  167597. }
  167598. return buf;
  167599. };
  167600. SafeBuffer.allocUnsafe = function (size) {
  167601. if (typeof size !== "number") {
  167602. throw new TypeError("Argument must be a number");
  167603. }
  167604. return Buffer(size);
  167605. };
  167606. SafeBuffer.allocUnsafeSlow = function (size) {
  167607. if (typeof size !== "number") {
  167608. throw new TypeError("Argument must be a number");
  167609. }
  167610. return buffer.SlowBuffer(size);
  167611. };
  167612. },
  167613. { buffer: 54 },
  167614. ],
  167615. 149: [
  167616. function (require, module, exports) {
  167617. (function (Buffer) {
  167618. // prototype class for hash functions
  167619. function Hash(blockSize, finalSize) {
  167620. this._block = new Buffer(blockSize);
  167621. this._finalSize = finalSize;
  167622. this._blockSize = blockSize;
  167623. this._len = 0;
  167624. this._s = 0;
  167625. }
  167626. Hash.prototype.update = function (data, enc) {
  167627. if (typeof data === "string") {
  167628. enc = enc || "utf8";
  167629. data = new Buffer(data, enc);
  167630. }
  167631. var l = (this._len += data.length);
  167632. var s = this._s || 0;
  167633. var f = 0;
  167634. var buffer = this._block;
  167635. while (s < l) {
  167636. var t = Math.min(
  167637. data.length,
  167638. f + this._blockSize - (s % this._blockSize)
  167639. );
  167640. var ch = t - f;
  167641. for (var i = 0; i < ch; i++) {
  167642. buffer[(s % this._blockSize) + i] = data[i + f];
  167643. }
  167644. s += ch;
  167645. f += ch;
  167646. if (s % this._blockSize === 0) {
  167647. this._update(buffer);
  167648. }
  167649. }
  167650. this._s = s;
  167651. return this;
  167652. };
  167653. Hash.prototype.digest = function (enc) {
  167654. // Suppose the length of the message M, in bits, is l
  167655. var l = this._len * 8;
  167656. // Append the bit 1 to the end of the message
  167657. this._block[this._len % this._blockSize] = 0x80;
  167658. // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
  167659. this._block.fill(0, (this._len % this._blockSize) + 1);
  167660. if (l % (this._blockSize * 8) >= this._finalSize * 8) {
  167661. this._update(this._block);
  167662. this._block.fill(0);
  167663. }
  167664. // to this append the block which is equal to the number l written in binary
  167665. // TODO: handle case where l is > Math.pow(2, 29)
  167666. this._block.writeInt32BE(l, this._blockSize - 4);
  167667. var hash = this._update(this._block) || this._hash();
  167668. return enc ? hash.toString(enc) : hash;
  167669. };
  167670. Hash.prototype._update = function () {
  167671. throw new Error("_update must be implemented by subclass");
  167672. };
  167673. module.exports = Hash;
  167674. }).call(this, require("buffer").Buffer);
  167675. },
  167676. { buffer: 54 },
  167677. ],
  167678. 150: [
  167679. function (require, module, exports) {
  167680. var exports = (module.exports = function SHA(algorithm) {
  167681. algorithm = algorithm.toLowerCase();
  167682. var Algorithm = exports[algorithm];
  167683. if (!Algorithm)
  167684. throw new Error(
  167685. algorithm + " is not supported (we accept pull requests)"
  167686. );
  167687. return new Algorithm();
  167688. });
  167689. exports.sha = require("./sha.js");
  167690. exports.sha1 = require("./sha1.js");
  167691. exports.sha224 = require("./sha224.js");
  167692. exports.sha256 = require("./sha256.js");
  167693. exports.sha384 = require("./sha384.js");
  167694. exports.sha512 = require("./sha512.js");
  167695. },
  167696. {
  167697. "./sha": 151,
  167698. "./sha1": 152,
  167699. "./sha224": 153,
  167700. "./sha256": 154,
  167701. "./sha384": 155,
  167702. "./sha512": 156,
  167703. },
  167704. ],
  167705. 151: [
  167706. function (require, module, exports) {
  167707. (function (Buffer) {
  167708. /*
  167709. * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
  167710. * in FIPS PUB 180-1
  167711. * This source code is derived from sha1.js of the same repository.
  167712. * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
  167713. * operation was added.
  167714. */
  167715. var inherits = require("inherits");
  167716. var Hash = require("./hash.js");
  167717. var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];
  167718. var W = new Array(80);
  167719. function Sha() {
  167720. this.init();
  167721. this._w = W;
  167722. Hash.call(this, 64, 56);
  167723. }
  167724. inherits(Sha, Hash);
  167725. Sha.prototype.init = function () {
  167726. this._a = 0x67452301;
  167727. this._b = 0xefcdab89;
  167728. this._c = 0x98badcfe;
  167729. this._d = 0x10325476;
  167730. this._e = 0xc3d2e1f0;
  167731. return this;
  167732. };
  167733. function rotl5(num) {
  167734. return (num << 5) | (num >>> 27);
  167735. }
  167736. function rotl30(num) {
  167737. return (num << 30) | (num >>> 2);
  167738. }
  167739. function ft(s, b, c, d) {
  167740. if (s === 0) return (b & c) | (~b & d);
  167741. if (s === 2) return (b & c) | (b & d) | (c & d);
  167742. return b ^ c ^ d;
  167743. }
  167744. Sha.prototype._update = function (M) {
  167745. var W = this._w;
  167746. var a = this._a | 0;
  167747. var b = this._b | 0;
  167748. var c = this._c | 0;
  167749. var d = this._d | 0;
  167750. var e = this._e | 0;
  167751. for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4);
  167752. for (; i < 80; ++i)
  167753. W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
  167754. for (var j = 0; j < 80; ++j) {
  167755. var s = ~~(j / 20);
  167756. var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0;
  167757. e = d;
  167758. d = c;
  167759. c = rotl30(b);
  167760. b = a;
  167761. a = t;
  167762. }
  167763. this._a = (a + this._a) | 0;
  167764. this._b = (b + this._b) | 0;
  167765. this._c = (c + this._c) | 0;
  167766. this._d = (d + this._d) | 0;
  167767. this._e = (e + this._e) | 0;
  167768. };
  167769. Sha.prototype._hash = function () {
  167770. var H = new Buffer(20);
  167771. H.writeInt32BE(this._a | 0, 0);
  167772. H.writeInt32BE(this._b | 0, 4);
  167773. H.writeInt32BE(this._c | 0, 8);
  167774. H.writeInt32BE(this._d | 0, 12);
  167775. H.writeInt32BE(this._e | 0, 16);
  167776. return H;
  167777. };
  167778. module.exports = Sha;
  167779. }).call(this, require("buffer").Buffer);
  167780. },
  167781. { "./hash": 149, buffer: 54, inherits: 108 },
  167782. ],
  167783. 152: [
  167784. function (require, module, exports) {
  167785. (function (Buffer) {
  167786. /*
  167787. * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
  167788. * in FIPS PUB 180-1
  167789. * Version 2.1a Copyright Paul Johnston 2000 - 2002.
  167790. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  167791. * Distributed under the BSD License
  167792. * See http://pajhome.org.uk/crypt/md5 for details.
  167793. */
  167794. var inherits = require("inherits");
  167795. var Hash = require("./hash.js");
  167796. var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];
  167797. var W = new Array(80);
  167798. function Sha1() {
  167799. this.init();
  167800. this._w = W;
  167801. Hash.call(this, 64, 56);
  167802. }
  167803. inherits(Sha1, Hash);
  167804. Sha1.prototype.init = function () {
  167805. this._a = 0x67452301;
  167806. this._b = 0xefcdab89;
  167807. this._c = 0x98badcfe;
  167808. this._d = 0x10325476;
  167809. this._e = 0xc3d2e1f0;
  167810. return this;
  167811. };
  167812. function rotl1(num) {
  167813. return (num << 1) | (num >>> 31);
  167814. }
  167815. function rotl5(num) {
  167816. return (num << 5) | (num >>> 27);
  167817. }
  167818. function rotl30(num) {
  167819. return (num << 30) | (num >>> 2);
  167820. }
  167821. function ft(s, b, c, d) {
  167822. if (s === 0) return (b & c) | (~b & d);
  167823. if (s === 2) return (b & c) | (b & d) | (c & d);
  167824. return b ^ c ^ d;
  167825. }
  167826. Sha1.prototype._update = function (M) {
  167827. var W = this._w;
  167828. var a = this._a | 0;
  167829. var b = this._b | 0;
  167830. var c = this._c | 0;
  167831. var d = this._d | 0;
  167832. var e = this._e | 0;
  167833. for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4);
  167834. for (; i < 80; ++i)
  167835. W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]);
  167836. for (var j = 0; j < 80; ++j) {
  167837. var s = ~~(j / 20);
  167838. var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0;
  167839. e = d;
  167840. d = c;
  167841. c = rotl30(b);
  167842. b = a;
  167843. a = t;
  167844. }
  167845. this._a = (a + this._a) | 0;
  167846. this._b = (b + this._b) | 0;
  167847. this._c = (c + this._c) | 0;
  167848. this._d = (d + this._d) | 0;
  167849. this._e = (e + this._e) | 0;
  167850. };
  167851. Sha1.prototype._hash = function () {
  167852. var H = new Buffer(20);
  167853. H.writeInt32BE(this._a | 0, 0);
  167854. H.writeInt32BE(this._b | 0, 4);
  167855. H.writeInt32BE(this._c | 0, 8);
  167856. H.writeInt32BE(this._d | 0, 12);
  167857. H.writeInt32BE(this._e | 0, 16);
  167858. return H;
  167859. };
  167860. module.exports = Sha1;
  167861. }).call(this, require("buffer").Buffer);
  167862. },
  167863. { "./hash": 149, buffer: 54, inherits: 108 },
  167864. ],
  167865. 153: [
  167866. function (require, module, exports) {
  167867. (function (Buffer) {
  167868. /**
  167869. * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
  167870. * in FIPS 180-2
  167871. * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
  167872. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  167873. *
  167874. */
  167875. var inherits = require("inherits");
  167876. var Sha256 = require("./sha256.js");
  167877. var Hash = require("./hash.js");
  167878. var W = new Array(64);
  167879. function Sha224() {
  167880. this.init();
  167881. this._w = W; // new Array(64)
  167882. Hash.call(this, 64, 56);
  167883. }
  167884. inherits(Sha224, Sha256);
  167885. Sha224.prototype.init = function () {
  167886. this._a = 0xc1059ed8;
  167887. this._b = 0x367cd507;
  167888. this._c = 0x3070dd17;
  167889. this._d = 0xf70e5939;
  167890. this._e = 0xffc00b31;
  167891. this._f = 0x68581511;
  167892. this._g = 0x64f98fa7;
  167893. this._h = 0xbefa4fa4;
  167894. return this;
  167895. };
  167896. Sha224.prototype._hash = function () {
  167897. var H = new Buffer(28);
  167898. H.writeInt32BE(this._a, 0);
  167899. H.writeInt32BE(this._b, 4);
  167900. H.writeInt32BE(this._c, 8);
  167901. H.writeInt32BE(this._d, 12);
  167902. H.writeInt32BE(this._e, 16);
  167903. H.writeInt32BE(this._f, 20);
  167904. H.writeInt32BE(this._g, 24);
  167905. return H;
  167906. };
  167907. module.exports = Sha224;
  167908. }).call(this, require("buffer").Buffer);
  167909. },
  167910. { "./hash": 149, "./sha256": 154, buffer: 54, inherits: 108 },
  167911. ],
  167912. 154: [
  167913. function (require, module, exports) {
  167914. (function (Buffer) {
  167915. /**
  167916. * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
  167917. * in FIPS 180-2
  167918. * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
  167919. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  167920. *
  167921. */
  167922. var inherits = require("inherits");
  167923. var Hash = require("./hash.js");
  167924. var K = [
  167925. 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,
  167926. 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,
  167927. 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,
  167928. 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
  167929. 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,
  167930. 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
  167931. 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,
  167932. 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
  167933. 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,
  167934. 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,
  167935. 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,
  167936. 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
  167937. 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
  167938. ];
  167939. var W = new Array(64);
  167940. function Sha256() {
  167941. this.init();
  167942. this._w = W; // new Array(64)
  167943. Hash.call(this, 64, 56);
  167944. }
  167945. inherits(Sha256, Hash);
  167946. Sha256.prototype.init = function () {
  167947. this._a = 0x6a09e667;
  167948. this._b = 0xbb67ae85;
  167949. this._c = 0x3c6ef372;
  167950. this._d = 0xa54ff53a;
  167951. this._e = 0x510e527f;
  167952. this._f = 0x9b05688c;
  167953. this._g = 0x1f83d9ab;
  167954. this._h = 0x5be0cd19;
  167955. return this;
  167956. };
  167957. function ch(x, y, z) {
  167958. return z ^ (x & (y ^ z));
  167959. }
  167960. function maj(x, y, z) {
  167961. return (x & y) | (z & (x | y));
  167962. }
  167963. function sigma0(x) {
  167964. return (
  167965. ((x >>> 2) | (x << 30)) ^
  167966. ((x >>> 13) | (x << 19)) ^
  167967. ((x >>> 22) | (x << 10))
  167968. );
  167969. }
  167970. function sigma1(x) {
  167971. return (
  167972. ((x >>> 6) | (x << 26)) ^
  167973. ((x >>> 11) | (x << 21)) ^
  167974. ((x >>> 25) | (x << 7))
  167975. );
  167976. }
  167977. function gamma0(x) {
  167978. return (
  167979. ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3)
  167980. );
  167981. }
  167982. function gamma1(x) {
  167983. return (
  167984. ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10)
  167985. );
  167986. }
  167987. Sha256.prototype._update = function (M) {
  167988. var W = this._w;
  167989. var a = this._a | 0;
  167990. var b = this._b | 0;
  167991. var c = this._c | 0;
  167992. var d = this._d | 0;
  167993. var e = this._e | 0;
  167994. var f = this._f | 0;
  167995. var g = this._g | 0;
  167996. var h = this._h | 0;
  167997. for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4);
  167998. for (; i < 64; ++i)
  167999. W[i] =
  168000. (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) |
  168001. 0;
  168002. for (var j = 0; j < 64; ++j) {
  168003. var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0;
  168004. var T2 = (sigma0(a) + maj(a, b, c)) | 0;
  168005. h = g;
  168006. g = f;
  168007. f = e;
  168008. e = (d + T1) | 0;
  168009. d = c;
  168010. c = b;
  168011. b = a;
  168012. a = (T1 + T2) | 0;
  168013. }
  168014. this._a = (a + this._a) | 0;
  168015. this._b = (b + this._b) | 0;
  168016. this._c = (c + this._c) | 0;
  168017. this._d = (d + this._d) | 0;
  168018. this._e = (e + this._e) | 0;
  168019. this._f = (f + this._f) | 0;
  168020. this._g = (g + this._g) | 0;
  168021. this._h = (h + this._h) | 0;
  168022. };
  168023. Sha256.prototype._hash = function () {
  168024. var H = new Buffer(32);
  168025. H.writeInt32BE(this._a, 0);
  168026. H.writeInt32BE(this._b, 4);
  168027. H.writeInt32BE(this._c, 8);
  168028. H.writeInt32BE(this._d, 12);
  168029. H.writeInt32BE(this._e, 16);
  168030. H.writeInt32BE(this._f, 20);
  168031. H.writeInt32BE(this._g, 24);
  168032. H.writeInt32BE(this._h, 28);
  168033. return H;
  168034. };
  168035. module.exports = Sha256;
  168036. }).call(this, require("buffer").Buffer);
  168037. },
  168038. { "./hash": 149, buffer: 54, inherits: 108 },
  168039. ],
  168040. 155: [
  168041. function (require, module, exports) {
  168042. (function (Buffer) {
  168043. var inherits = require("inherits");
  168044. var SHA512 = require("./sha512.js");
  168045. var Hash = require("./hash.js");
  168046. var W = new Array(160);
  168047. function Sha384() {
  168048. this.init();
  168049. this._w = W;
  168050. Hash.call(this, 128, 112);
  168051. }
  168052. inherits(Sha384, SHA512);
  168053. Sha384.prototype.init = function () {
  168054. this._ah = 0xcbbb9d5d;
  168055. this._bh = 0x629a292a;
  168056. this._ch = 0x9159015a;
  168057. this._dh = 0x152fecd8;
  168058. this._eh = 0x67332667;
  168059. this._fh = 0x8eb44a87;
  168060. this._gh = 0xdb0c2e0d;
  168061. this._hh = 0x47b5481d;
  168062. this._al = 0xc1059ed8;
  168063. this._bl = 0x367cd507;
  168064. this._cl = 0x3070dd17;
  168065. this._dl = 0xf70e5939;
  168066. this._el = 0xffc00b31;
  168067. this._fl = 0x68581511;
  168068. this._gl = 0x64f98fa7;
  168069. this._hl = 0xbefa4fa4;
  168070. return this;
  168071. };
  168072. Sha384.prototype._hash = function () {
  168073. var H = new Buffer(48);
  168074. function writeInt64BE(h, l, offset) {
  168075. H.writeInt32BE(h, offset);
  168076. H.writeInt32BE(l, offset + 4);
  168077. }
  168078. writeInt64BE(this._ah, this._al, 0);
  168079. writeInt64BE(this._bh, this._bl, 8);
  168080. writeInt64BE(this._ch, this._cl, 16);
  168081. writeInt64BE(this._dh, this._dl, 24);
  168082. writeInt64BE(this._eh, this._el, 32);
  168083. writeInt64BE(this._fh, this._fl, 40);
  168084. return H;
  168085. };
  168086. module.exports = Sha384;
  168087. }).call(this, require("buffer").Buffer);
  168088. },
  168089. { "./hash": 149, "./sha512": 156, buffer: 54, inherits: 108 },
  168090. ],
  168091. 156: [
  168092. function (require, module, exports) {
  168093. (function (Buffer) {
  168094. var inherits = require("inherits");
  168095. var Hash = require("./hash.js");
  168096. var K = [
  168097. 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf,
  168098. 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538,
  168099. 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5,
  168100. 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
  168101. 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74,
  168102. 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235,
  168103. 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786,
  168104. 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
  168105. 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc,
  168106. 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab,
  168107. 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7,
  168108. 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
  168109. 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85,
  168110. 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed,
  168111. 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb,
  168112. 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
  168113. 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70,
  168114. 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218,
  168115. 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070,
  168116. 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
  168117. 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3,
  168118. 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373,
  168119. 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f,
  168120. 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
  168121. 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7,
  168122. 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c,
  168123. 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f,
  168124. 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
  168125. 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5,
  168126. 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc,
  168127. 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c,
  168128. 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817,
  168129. ];
  168130. var W = new Array(160);
  168131. function Sha512() {
  168132. this.init();
  168133. this._w = W;
  168134. Hash.call(this, 128, 112);
  168135. }
  168136. inherits(Sha512, Hash);
  168137. Sha512.prototype.init = function () {
  168138. this._ah = 0x6a09e667;
  168139. this._bh = 0xbb67ae85;
  168140. this._ch = 0x3c6ef372;
  168141. this._dh = 0xa54ff53a;
  168142. this._eh = 0x510e527f;
  168143. this._fh = 0x9b05688c;
  168144. this._gh = 0x1f83d9ab;
  168145. this._hh = 0x5be0cd19;
  168146. this._al = 0xf3bcc908;
  168147. this._bl = 0x84caa73b;
  168148. this._cl = 0xfe94f82b;
  168149. this._dl = 0x5f1d36f1;
  168150. this._el = 0xade682d1;
  168151. this._fl = 0x2b3e6c1f;
  168152. this._gl = 0xfb41bd6b;
  168153. this._hl = 0x137e2179;
  168154. return this;
  168155. };
  168156. function Ch(x, y, z) {
  168157. return z ^ (x & (y ^ z));
  168158. }
  168159. function maj(x, y, z) {
  168160. return (x & y) | (z & (x | y));
  168161. }
  168162. function sigma0(x, xl) {
  168163. return (
  168164. ((x >>> 28) | (xl << 4)) ^
  168165. ((xl >>> 2) | (x << 30)) ^
  168166. ((xl >>> 7) | (x << 25))
  168167. );
  168168. }
  168169. function sigma1(x, xl) {
  168170. return (
  168171. ((x >>> 14) | (xl << 18)) ^
  168172. ((x >>> 18) | (xl << 14)) ^
  168173. ((xl >>> 9) | (x << 23))
  168174. );
  168175. }
  168176. function Gamma0(x, xl) {
  168177. return (
  168178. ((x >>> 1) | (xl << 31)) ^ ((x >>> 8) | (xl << 24)) ^ (x >>> 7)
  168179. );
  168180. }
  168181. function Gamma0l(x, xl) {
  168182. return (
  168183. ((x >>> 1) | (xl << 31)) ^
  168184. ((x >>> 8) | (xl << 24)) ^
  168185. ((x >>> 7) | (xl << 25))
  168186. );
  168187. }
  168188. function Gamma1(x, xl) {
  168189. return (
  168190. ((x >>> 19) | (xl << 13)) ^ ((xl >>> 29) | (x << 3)) ^ (x >>> 6)
  168191. );
  168192. }
  168193. function Gamma1l(x, xl) {
  168194. return (
  168195. ((x >>> 19) | (xl << 13)) ^
  168196. ((xl >>> 29) | (x << 3)) ^
  168197. ((x >>> 6) | (xl << 26))
  168198. );
  168199. }
  168200. function getCarry(a, b) {
  168201. return a >>> 0 < b >>> 0 ? 1 : 0;
  168202. }
  168203. Sha512.prototype._update = function (M) {
  168204. var W = this._w;
  168205. var ah = this._ah | 0;
  168206. var bh = this._bh | 0;
  168207. var ch = this._ch | 0;
  168208. var dh = this._dh | 0;
  168209. var eh = this._eh | 0;
  168210. var fh = this._fh | 0;
  168211. var gh = this._gh | 0;
  168212. var hh = this._hh | 0;
  168213. var al = this._al | 0;
  168214. var bl = this._bl | 0;
  168215. var cl = this._cl | 0;
  168216. var dl = this._dl | 0;
  168217. var el = this._el | 0;
  168218. var fl = this._fl | 0;
  168219. var gl = this._gl | 0;
  168220. var hl = this._hl | 0;
  168221. for (var i = 0; i < 32; i += 2) {
  168222. W[i] = M.readInt32BE(i * 4);
  168223. W[i + 1] = M.readInt32BE(i * 4 + 4);
  168224. }
  168225. for (; i < 160; i += 2) {
  168226. var xh = W[i - 15 * 2];
  168227. var xl = W[i - 15 * 2 + 1];
  168228. var gamma0 = Gamma0(xh, xl);
  168229. var gamma0l = Gamma0l(xl, xh);
  168230. xh = W[i - 2 * 2];
  168231. xl = W[i - 2 * 2 + 1];
  168232. var gamma1 = Gamma1(xh, xl);
  168233. var gamma1l = Gamma1l(xl, xh);
  168234. // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
  168235. var Wi7h = W[i - 7 * 2];
  168236. var Wi7l = W[i - 7 * 2 + 1];
  168237. var Wi16h = W[i - 16 * 2];
  168238. var Wi16l = W[i - 16 * 2 + 1];
  168239. var Wil = (gamma0l + Wi7l) | 0;
  168240. var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0;
  168241. Wil = (Wil + gamma1l) | 0;
  168242. Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0;
  168243. Wil = (Wil + Wi16l) | 0;
  168244. Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0;
  168245. W[i] = Wih;
  168246. W[i + 1] = Wil;
  168247. }
  168248. for (var j = 0; j < 160; j += 2) {
  168249. Wih = W[j];
  168250. Wil = W[j + 1];
  168251. var majh = maj(ah, bh, ch);
  168252. var majl = maj(al, bl, cl);
  168253. var sigma0h = sigma0(ah, al);
  168254. var sigma0l = sigma0(al, ah);
  168255. var sigma1h = sigma1(eh, el);
  168256. var sigma1l = sigma1(el, eh);
  168257. // t1 = h + sigma1 + ch + K[j] + W[j]
  168258. var Kih = K[j];
  168259. var Kil = K[j + 1];
  168260. var chh = Ch(eh, fh, gh);
  168261. var chl = Ch(el, fl, gl);
  168262. var t1l = (hl + sigma1l) | 0;
  168263. var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0;
  168264. t1l = (t1l + chl) | 0;
  168265. t1h = (t1h + chh + getCarry(t1l, chl)) | 0;
  168266. t1l = (t1l + Kil) | 0;
  168267. t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0;
  168268. t1l = (t1l + Wil) | 0;
  168269. t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0;
  168270. // t2 = sigma0 + maj
  168271. var t2l = (sigma0l + majl) | 0;
  168272. var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0;
  168273. hh = gh;
  168274. hl = gl;
  168275. gh = fh;
  168276. gl = fl;
  168277. fh = eh;
  168278. fl = el;
  168279. el = (dl + t1l) | 0;
  168280. eh = (dh + t1h + getCarry(el, dl)) | 0;
  168281. dh = ch;
  168282. dl = cl;
  168283. ch = bh;
  168284. cl = bl;
  168285. bh = ah;
  168286. bl = al;
  168287. al = (t1l + t2l) | 0;
  168288. ah = (t1h + t2h + getCarry(al, t1l)) | 0;
  168289. }
  168290. this._al = (this._al + al) | 0;
  168291. this._bl = (this._bl + bl) | 0;
  168292. this._cl = (this._cl + cl) | 0;
  168293. this._dl = (this._dl + dl) | 0;
  168294. this._el = (this._el + el) | 0;
  168295. this._fl = (this._fl + fl) | 0;
  168296. this._gl = (this._gl + gl) | 0;
  168297. this._hl = (this._hl + hl) | 0;
  168298. this._ah = (this._ah + ah + getCarry(this._al, al)) | 0;
  168299. this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0;
  168300. this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0;
  168301. this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0;
  168302. this._eh = (this._eh + eh + getCarry(this._el, el)) | 0;
  168303. this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0;
  168304. this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0;
  168305. this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0;
  168306. };
  168307. Sha512.prototype._hash = function () {
  168308. var H = new Buffer(64);
  168309. function writeInt64BE(h, l, offset) {
  168310. H.writeInt32BE(h, offset);
  168311. H.writeInt32BE(l, offset + 4);
  168312. }
  168313. writeInt64BE(this._ah, this._al, 0);
  168314. writeInt64BE(this._bh, this._bl, 8);
  168315. writeInt64BE(this._ch, this._cl, 16);
  168316. writeInt64BE(this._dh, this._dl, 24);
  168317. writeInt64BE(this._eh, this._el, 32);
  168318. writeInt64BE(this._fh, this._fl, 40);
  168319. writeInt64BE(this._gh, this._gl, 48);
  168320. writeInt64BE(this._hh, this._hl, 56);
  168321. return H;
  168322. };
  168323. module.exports = Sha512;
  168324. }).call(this, require("buffer").Buffer);
  168325. },
  168326. { "./hash": 149, buffer: 54, inherits: 108 },
  168327. ],
  168328. 157: [
  168329. function (require, module, exports) {
  168330. // Copyright Joyent, Inc. and other Node contributors.
  168331. //
  168332. // Permission is hereby granted, free of charge, to any person obtaining a
  168333. // copy of this software and associated documentation files (the
  168334. // "Software"), to deal in the Software without restriction, including
  168335. // without limitation the rights to use, copy, modify, merge, publish,
  168336. // distribute, sublicense, and/or sell copies of the Software, and to permit
  168337. // persons to whom the Software is furnished to do so, subject to the
  168338. // following conditions:
  168339. //
  168340. // The above copyright notice and this permission notice shall be included
  168341. // in all copies or substantial portions of the Software.
  168342. //
  168343. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  168344. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  168345. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  168346. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  168347. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  168348. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  168349. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  168350. module.exports = Stream;
  168351. var EE = require("events").EventEmitter;
  168352. var inherits = require("inherits");
  168353. inherits(Stream, EE);
  168354. Stream.Readable = require("readable-stream/readable.js");
  168355. Stream.Writable = require("readable-stream/writable.js");
  168356. Stream.Duplex = require("readable-stream/duplex.js");
  168357. Stream.Transform = require("readable-stream/transform.js");
  168358. Stream.PassThrough = require("readable-stream/passthrough.js");
  168359. // Backwards-compat with node 0.4.x
  168360. Stream.Stream = Stream;
  168361. // old-style streams. Note that the pipe method (the only relevant
  168362. // part of this class) is overridden in the Readable class.
  168363. function Stream() {
  168364. EE.call(this);
  168365. }
  168366. Stream.prototype.pipe = function (dest, options) {
  168367. var source = this;
  168368. function ondata(chunk) {
  168369. if (dest.writable) {
  168370. if (false === dest.write(chunk) && source.pause) {
  168371. source.pause();
  168372. }
  168373. }
  168374. }
  168375. source.on("data", ondata);
  168376. function ondrain() {
  168377. if (source.readable && source.resume) {
  168378. source.resume();
  168379. }
  168380. }
  168381. dest.on("drain", ondrain);
  168382. // If the 'end' option is not supplied, dest.end() will be called when
  168383. // source gets the 'end' or 'close' events. Only dest.end() once.
  168384. if (!dest._isStdio && (!options || options.end !== false)) {
  168385. source.on("end", onend);
  168386. source.on("close", onclose);
  168387. }
  168388. var didOnEnd = false;
  168389. function onend() {
  168390. if (didOnEnd) return;
  168391. didOnEnd = true;
  168392. dest.end();
  168393. }
  168394. function onclose() {
  168395. if (didOnEnd) return;
  168396. didOnEnd = true;
  168397. if (typeof dest.destroy === "function") dest.destroy();
  168398. }
  168399. // don't leave dangling pipes when there are errors.
  168400. function onerror(er) {
  168401. cleanup();
  168402. if (EE.listenerCount(this, "error") === 0) {
  168403. throw er; // Unhandled stream error in pipe.
  168404. }
  168405. }
  168406. source.on("error", onerror);
  168407. dest.on("error", onerror);
  168408. // remove all the event listeners that were added.
  168409. function cleanup() {
  168410. source.removeListener("data", ondata);
  168411. dest.removeListener("drain", ondrain);
  168412. source.removeListener("end", onend);
  168413. source.removeListener("close", onclose);
  168414. source.removeListener("error", onerror);
  168415. dest.removeListener("error", onerror);
  168416. source.removeListener("end", cleanup);
  168417. source.removeListener("close", cleanup);
  168418. dest.removeListener("close", cleanup);
  168419. }
  168420. source.on("end", cleanup);
  168421. source.on("close", cleanup);
  168422. dest.on("close", cleanup);
  168423. dest.emit("pipe", source);
  168424. // Allow for unix-like usage: A.pipe(B).pipe(C)
  168425. return dest;
  168426. };
  168427. },
  168428. {
  168429. events: 90,
  168430. inherits: 108,
  168431. "readable-stream/duplex.js": 134,
  168432. "readable-stream/passthrough.js": 143,
  168433. "readable-stream/readable.js": 144,
  168434. "readable-stream/transform.js": 145,
  168435. "readable-stream/writable.js": 146,
  168436. },
  168437. ],
  168438. 158: [
  168439. function (require, module, exports) {
  168440. "use strict";
  168441. var Buffer = require("safe-buffer").Buffer;
  168442. var isEncoding =
  168443. Buffer.isEncoding ||
  168444. function (encoding) {
  168445. encoding = "" + encoding;
  168446. switch (encoding && encoding.toLowerCase()) {
  168447. case "hex":
  168448. case "utf8":
  168449. case "utf-8":
  168450. case "ascii":
  168451. case "binary":
  168452. case "base64":
  168453. case "ucs2":
  168454. case "ucs-2":
  168455. case "utf16le":
  168456. case "utf-16le":
  168457. case "raw":
  168458. return true;
  168459. default:
  168460. return false;
  168461. }
  168462. };
  168463. function _normalizeEncoding(enc) {
  168464. if (!enc) return "utf8";
  168465. var retried;
  168466. while (true) {
  168467. switch (enc) {
  168468. case "utf8":
  168469. case "utf-8":
  168470. return "utf8";
  168471. case "ucs2":
  168472. case "ucs-2":
  168473. case "utf16le":
  168474. case "utf-16le":
  168475. return "utf16le";
  168476. case "latin1":
  168477. case "binary":
  168478. return "latin1";
  168479. case "base64":
  168480. case "ascii":
  168481. case "hex":
  168482. return enc;
  168483. default:
  168484. if (retried) return; // undefined
  168485. enc = ("" + enc).toLowerCase();
  168486. retried = true;
  168487. }
  168488. }
  168489. }
  168490. // Do not cache `Buffer.isEncoding` when checking encoding names as some
  168491. // modules monkey-patch it to support additional encodings
  168492. function normalizeEncoding(enc) {
  168493. var nenc = _normalizeEncoding(enc);
  168494. if (
  168495. typeof nenc !== "string" &&
  168496. (Buffer.isEncoding === isEncoding || !isEncoding(enc))
  168497. )
  168498. throw new Error("Unknown encoding: " + enc);
  168499. return nenc || enc;
  168500. }
  168501. // StringDecoder provides an interface for efficiently splitting a series of
  168502. // buffers into a series of JS strings without breaking apart multi-byte
  168503. // characters.
  168504. exports.StringDecoder = StringDecoder;
  168505. function StringDecoder(encoding) {
  168506. this.encoding = normalizeEncoding(encoding);
  168507. var nb;
  168508. switch (this.encoding) {
  168509. case "utf16le":
  168510. this.text = utf16Text;
  168511. this.end = utf16End;
  168512. nb = 4;
  168513. break;
  168514. case "utf8":
  168515. this.fillLast = utf8FillLast;
  168516. nb = 4;
  168517. break;
  168518. case "base64":
  168519. this.text = base64Text;
  168520. this.end = base64End;
  168521. nb = 3;
  168522. break;
  168523. default:
  168524. this.write = simpleWrite;
  168525. this.end = simpleEnd;
  168526. return;
  168527. }
  168528. this.lastNeed = 0;
  168529. this.lastTotal = 0;
  168530. this.lastChar = Buffer.allocUnsafe(nb);
  168531. }
  168532. StringDecoder.prototype.write = function (buf) {
  168533. if (buf.length === 0) return "";
  168534. var r;
  168535. var i;
  168536. if (this.lastNeed) {
  168537. r = this.fillLast(buf);
  168538. if (r === undefined) return "";
  168539. i = this.lastNeed;
  168540. this.lastNeed = 0;
  168541. } else {
  168542. i = 0;
  168543. }
  168544. if (i < buf.length)
  168545. return r ? r + this.text(buf, i) : this.text(buf, i);
  168546. return r || "";
  168547. };
  168548. StringDecoder.prototype.end = utf8End;
  168549. // Returns only complete characters in a Buffer
  168550. StringDecoder.prototype.text = utf8Text;
  168551. // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
  168552. StringDecoder.prototype.fillLast = function (buf) {
  168553. if (this.lastNeed <= buf.length) {
  168554. buf.copy(
  168555. this.lastChar,
  168556. this.lastTotal - this.lastNeed,
  168557. 0,
  168558. this.lastNeed
  168559. );
  168560. return this.lastChar.toString(this.encoding, 0, this.lastTotal);
  168561. }
  168562. buf.copy(
  168563. this.lastChar,
  168564. this.lastTotal - this.lastNeed,
  168565. 0,
  168566. buf.length
  168567. );
  168568. this.lastNeed -= buf.length;
  168569. };
  168570. // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
  168571. // continuation byte.
  168572. function utf8CheckByte(byte) {
  168573. if (byte <= 0x7f) return 0;
  168574. else if (byte >> 5 === 0x06) return 2;
  168575. else if (byte >> 4 === 0x0e) return 3;
  168576. else if (byte >> 3 === 0x1e) return 4;
  168577. return -1;
  168578. }
  168579. // Checks at most 3 bytes at the end of a Buffer in order to detect an
  168580. // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
  168581. // needed to complete the UTF-8 character (if applicable) are returned.
  168582. function utf8CheckIncomplete(self, buf, i) {
  168583. var j = buf.length - 1;
  168584. if (j < i) return 0;
  168585. var nb = utf8CheckByte(buf[j]);
  168586. if (nb >= 0) {
  168587. if (nb > 0) self.lastNeed = nb - 1;
  168588. return nb;
  168589. }
  168590. if (--j < i) return 0;
  168591. nb = utf8CheckByte(buf[j]);
  168592. if (nb >= 0) {
  168593. if (nb > 0) self.lastNeed = nb - 2;
  168594. return nb;
  168595. }
  168596. if (--j < i) return 0;
  168597. nb = utf8CheckByte(buf[j]);
  168598. if (nb >= 0) {
  168599. if (nb > 0) {
  168600. if (nb === 2) nb = 0;
  168601. else self.lastNeed = nb - 3;
  168602. }
  168603. return nb;
  168604. }
  168605. return 0;
  168606. }
  168607. // Validates as many continuation bytes for a multi-byte UTF-8 character as
  168608. // needed or are available. If we see a non-continuation byte where we expect
  168609. // one, we "replace" the validated continuation bytes we've seen so far with
  168610. // UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding
  168611. // behavior. The continuation byte check is included three times in the case
  168612. // where all of the continuation bytes for a character exist in the same buffer.
  168613. // It is also done this way as a slight performance increase instead of using a
  168614. // loop.
  168615. function utf8CheckExtraBytes(self, buf, p) {
  168616. if ((buf[0] & 0xc0) !== 0x80) {
  168617. self.lastNeed = 0;
  168618. return "\ufffd".repeat(p);
  168619. }
  168620. if (self.lastNeed > 1 && buf.length > 1) {
  168621. if ((buf[1] & 0xc0) !== 0x80) {
  168622. self.lastNeed = 1;
  168623. return "\ufffd".repeat(p + 1);
  168624. }
  168625. if (self.lastNeed > 2 && buf.length > 2) {
  168626. if ((buf[2] & 0xc0) !== 0x80) {
  168627. self.lastNeed = 2;
  168628. return "\ufffd".repeat(p + 2);
  168629. }
  168630. }
  168631. }
  168632. }
  168633. // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
  168634. function utf8FillLast(buf) {
  168635. var p = this.lastTotal - this.lastNeed;
  168636. var r = utf8CheckExtraBytes(this, buf, p);
  168637. if (r !== undefined) return r;
  168638. if (this.lastNeed <= buf.length) {
  168639. buf.copy(this.lastChar, p, 0, this.lastNeed);
  168640. return this.lastChar.toString(this.encoding, 0, this.lastTotal);
  168641. }
  168642. buf.copy(this.lastChar, p, 0, buf.length);
  168643. this.lastNeed -= buf.length;
  168644. }
  168645. // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
  168646. // partial character, the character's bytes are buffered until the required
  168647. // number of bytes are available.
  168648. function utf8Text(buf, i) {
  168649. var total = utf8CheckIncomplete(this, buf, i);
  168650. if (!this.lastNeed) return buf.toString("utf8", i);
  168651. this.lastTotal = total;
  168652. var end = buf.length - (total - this.lastNeed);
  168653. buf.copy(this.lastChar, 0, end);
  168654. return buf.toString("utf8", i, end);
  168655. }
  168656. // For UTF-8, a replacement character for each buffered byte of a (partial)
  168657. // character needs to be added to the output.
  168658. function utf8End(buf) {
  168659. var r = buf && buf.length ? this.write(buf) : "";
  168660. if (this.lastNeed)
  168661. return r + "\ufffd".repeat(this.lastTotal - this.lastNeed);
  168662. return r;
  168663. }
  168664. // UTF-16LE typically needs two bytes per character, but even if we have an even
  168665. // number of bytes available, we need to check if we end on a leading/high
  168666. // surrogate. In that case, we need to wait for the next two bytes in order to
  168667. // decode the last character properly.
  168668. function utf16Text(buf, i) {
  168669. if ((buf.length - i) % 2 === 0) {
  168670. var r = buf.toString("utf16le", i);
  168671. if (r) {
  168672. var c = r.charCodeAt(r.length - 1);
  168673. if (c >= 0xd800 && c <= 0xdbff) {
  168674. this.lastNeed = 2;
  168675. this.lastTotal = 4;
  168676. this.lastChar[0] = buf[buf.length - 2];
  168677. this.lastChar[1] = buf[buf.length - 1];
  168678. return r.slice(0, -1);
  168679. }
  168680. }
  168681. return r;
  168682. }
  168683. this.lastNeed = 1;
  168684. this.lastTotal = 2;
  168685. this.lastChar[0] = buf[buf.length - 1];
  168686. return buf.toString("utf16le", i, buf.length - 1);
  168687. }
  168688. // For UTF-16LE we do not explicitly append special replacement characters if we
  168689. // end on a partial character, we simply let v8 handle that.
  168690. function utf16End(buf) {
  168691. var r = buf && buf.length ? this.write(buf) : "";
  168692. if (this.lastNeed) {
  168693. var end = this.lastTotal - this.lastNeed;
  168694. return r + this.lastChar.toString("utf16le", 0, end);
  168695. }
  168696. return r;
  168697. }
  168698. function base64Text(buf, i) {
  168699. var n = (buf.length - i) % 3;
  168700. if (n === 0) return buf.toString("base64", i);
  168701. this.lastNeed = 3 - n;
  168702. this.lastTotal = 3;
  168703. if (n === 1) {
  168704. this.lastChar[0] = buf[buf.length - 1];
  168705. } else {
  168706. this.lastChar[0] = buf[buf.length - 2];
  168707. this.lastChar[1] = buf[buf.length - 1];
  168708. }
  168709. return buf.toString("base64", i, buf.length - n);
  168710. }
  168711. function base64End(buf) {
  168712. var r = buf && buf.length ? this.write(buf) : "";
  168713. if (this.lastNeed)
  168714. return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
  168715. return r;
  168716. }
  168717. // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
  168718. function simpleWrite(buf) {
  168719. return buf.toString(this.encoding);
  168720. }
  168721. function simpleEnd(buf) {
  168722. return buf && buf.length ? this.write(buf) : "";
  168723. }
  168724. },
  168725. { "safe-buffer": 148 },
  168726. ],
  168727. 159: [
  168728. function (require, module, exports) {
  168729. (function (global) {
  168730. /**
  168731. * Module exports.
  168732. */
  168733. module.exports = deprecate;
  168734. /**
  168735. * Mark that a method should not be used.
  168736. * Returns a modified function which warns once by default.
  168737. *
  168738. * If `localStorage.noDeprecation = true` is set, then it is a no-op.
  168739. *
  168740. * If `localStorage.throwDeprecation = true` is set, then deprecated functions
  168741. * will throw an Error when invoked.
  168742. *
  168743. * If `localStorage.traceDeprecation = true` is set, then deprecated functions
  168744. * will invoke `console.trace()` instead of `console.error()`.
  168745. *
  168746. * @param {Function} fn - the function to deprecate
  168747. * @param {String} msg - the string to print to the console when `fn` is invoked
  168748. * @returns {Function} a new "deprecated" version of `fn`
  168749. * @api public
  168750. */
  168751. function deprecate(fn, msg) {
  168752. if (config("noDeprecation")) {
  168753. return fn;
  168754. }
  168755. var warned = false;
  168756. function deprecated() {
  168757. if (!warned) {
  168758. if (config("throwDeprecation")) {
  168759. throw new Error(msg);
  168760. } else if (config("traceDeprecation")) {
  168761. console.trace(msg);
  168762. } else {
  168763. console.warn(msg);
  168764. }
  168765. warned = true;
  168766. }
  168767. return fn.apply(this, arguments);
  168768. }
  168769. return deprecated;
  168770. }
  168771. /**
  168772. * Checks `localStorage` for boolean values for the given `name`.
  168773. *
  168774. * @param {String} name
  168775. * @returns {Boolean}
  168776. * @api private
  168777. */
  168778. function config(name) {
  168779. // accessing global.localStorage can trigger a DOMException in sandboxed iframes
  168780. try {
  168781. if (!global.localStorage) return false;
  168782. } catch (_) {
  168783. return false;
  168784. }
  168785. var val = global.localStorage[name];
  168786. if (null == val) return false;
  168787. return String(val).toLowerCase() === "true";
  168788. }
  168789. }).call(
  168790. this,
  168791. typeof global !== "undefined"
  168792. ? global
  168793. : typeof self !== "undefined"
  168794. ? self
  168795. : typeof window !== "undefined"
  168796. ? window
  168797. : {}
  168798. );
  168799. },
  168800. {},
  168801. ],
  168802. 160: [
  168803. function (require, module, exports) {
  168804. var indexOf = require("indexof");
  168805. var Object_keys = function (obj) {
  168806. if (Object.keys) return Object.keys(obj);
  168807. else {
  168808. var res = [];
  168809. for (var key in obj) res.push(key);
  168810. return res;
  168811. }
  168812. };
  168813. var forEach = function (xs, fn) {
  168814. if (xs.forEach) return xs.forEach(fn);
  168815. else
  168816. for (var i = 0; i < xs.length; i++) {
  168817. fn(xs[i], i, xs);
  168818. }
  168819. };
  168820. var defineProp = (function () {
  168821. try {
  168822. Object.defineProperty({}, "_", {});
  168823. return function (obj, name, value) {
  168824. Object.defineProperty(obj, name, {
  168825. writable: true,
  168826. enumerable: false,
  168827. configurable: true,
  168828. value: value,
  168829. });
  168830. };
  168831. } catch (e) {
  168832. return function (obj, name, value) {
  168833. obj[name] = value;
  168834. };
  168835. }
  168836. })();
  168837. var globals = [
  168838. "Array",
  168839. "Boolean",
  168840. "Date",
  168841. "Error",
  168842. "EvalError",
  168843. "Function",
  168844. "Infinity",
  168845. "JSON",
  168846. "Math",
  168847. "NaN",
  168848. "Number",
  168849. "Object",
  168850. "RangeError",
  168851. "ReferenceError",
  168852. "RegExp",
  168853. "String",
  168854. "SyntaxError",
  168855. "TypeError",
  168856. "URIError",
  168857. "decodeURI",
  168858. "decodeURIComponent",
  168859. "encodeURI",
  168860. "encodeURIComponent",
  168861. "escape",
  168862. "eval",
  168863. "isFinite",
  168864. "isNaN",
  168865. "parseFloat",
  168866. "parseInt",
  168867. "undefined",
  168868. "unescape",
  168869. ];
  168870. function Context() {}
  168871. Context.prototype = {};
  168872. var Script = (exports.Script = function NodeScript(code) {
  168873. if (!(this instanceof Script)) return new Script(code);
  168874. this.code = code;
  168875. });
  168876. Script.prototype.runInContext = function (context) {
  168877. if (!(context instanceof Context)) {
  168878. throw new TypeError("needs a 'context' argument.");
  168879. }
  168880. var iframe = document.createElement("iframe");
  168881. if (!iframe.style) iframe.style = {};
  168882. iframe.style.display = "none";
  168883. document.body.appendChild(iframe);
  168884. var win = iframe.contentWindow;
  168885. var wEval = win.eval,
  168886. wExecScript = win.execScript;
  168887. if (!wEval && wExecScript) {
  168888. // win.eval() magically appears when this is called in IE:
  168889. wExecScript.call(win, "null");
  168890. wEval = win.eval;
  168891. }
  168892. forEach(Object_keys(context), function (key) {
  168893. win[key] = context[key];
  168894. });
  168895. forEach(globals, function (key) {
  168896. if (context[key]) {
  168897. win[key] = context[key];
  168898. }
  168899. });
  168900. var winKeys = Object_keys(win);
  168901. var res = wEval.call(win, this.code);
  168902. forEach(Object_keys(win), function (key) {
  168903. // Avoid copying circular objects like `top` and `window` by only
  168904. // updating existing context properties or new properties in the `win`
  168905. // that was only introduced after the eval.
  168906. if (key in context || indexOf(winKeys, key) === -1) {
  168907. context[key] = win[key];
  168908. }
  168909. });
  168910. forEach(globals, function (key) {
  168911. if (!(key in context)) {
  168912. defineProp(context, key, win[key]);
  168913. }
  168914. });
  168915. document.body.removeChild(iframe);
  168916. return res;
  168917. };
  168918. Script.prototype.runInThisContext = function () {
  168919. return eval(this.code); // maybe...
  168920. };
  168921. Script.prototype.runInNewContext = function (context) {
  168922. var ctx = Script.createContext(context);
  168923. var res = this.runInContext(ctx);
  168924. forEach(Object_keys(ctx), function (key) {
  168925. context[key] = ctx[key];
  168926. });
  168927. return res;
  168928. };
  168929. forEach(Object_keys(Script.prototype), function (name) {
  168930. exports[name] = Script[name] = function (code) {
  168931. var s = Script(code);
  168932. return s[name].apply(s, [].slice.call(arguments, 1));
  168933. };
  168934. });
  168935. exports.createScript = function (code) {
  168936. return exports.Script(code);
  168937. };
  168938. exports.createContext = Script.createContext = function (context) {
  168939. var copy = new Context();
  168940. if (typeof context === "object") {
  168941. forEach(Object_keys(context), function (key) {
  168942. copy[key] = context[key];
  168943. });
  168944. }
  168945. return copy;
  168946. };
  168947. },
  168948. { indexof: 107 },
  168949. ],
  168950. },
  168951. {},
  168952. [1]
  168953. );