c2runtime.js 948 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772
  1. function resetdpsubmit() {
  2. g9param.issubmit = false
  3. }
  4. var g9param = {
  5. resetId: "",
  6. issubmit: false
  7. };
  8. var cr = {};
  9. cr.plugins_ = {}, cr.behaviors = {}, "function" != typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" == typeof "test".__proto__ ? function(e) {
  10. return e.__proto__
  11. } : function(e) {
  12. return e.constructor.prototype
  13. }),
  14. function() {
  15. function e(e, t) {
  16. this.x = e, this.y = t, cr.seal(this)
  17. }
  18. function t(e, t, n, r) {
  19. this.set(e, t, n, r), cr.seal(this)
  20. }
  21. function n() {
  22. this.tlx = 0, this.tly = 0, this.trx = 0, this.try_ = 0, this.brx = 0, this.bry = 0, this.blx = 0, this.bly = 0, cr.seal(this)
  23. }
  24. function r(e, t, n, r) {
  25. t > e ? r > n ? (h = n > e ? e : n, p = t > r ? t : r) : (h = r > e ? e : r, p = t > n ? t : n) : r > n ? (h = n > t ? t : n, p = e > r ? e : r) : (h = r > t ? t : r, p = e > n ? e : n)
  26. }
  27. function i() {
  28. this.s = null, this.items = null, this.item_count = 0, b && (this.s = new Set), this.values_cache = [], this.cache_valid = !0, cr.seal(this)
  29. }
  30. function s(e) {
  31. w[E++] = e
  32. }
  33. function o() {
  34. this.c = 0, this.y = 0, this.t = 0, this.sum = 0, cr.seal(this)
  35. }
  36. function u(e) {
  37. this.pts_cache = [], this.bboxLeft = 0, this.bboxTop = 0, this.bboxRight = 0, this.bboxBottom = 0, this.convexpolys = null, this.set_pts(e), cr.seal(this)
  38. }
  39. function a(e, t) {
  40. this.cellwidth = e, this.cellheight = t, this.cells = {}
  41. }
  42. function f(e, t, n) {
  43. var r;
  44. return a.prototype.totalCellCount++, x.length ? (r = x.pop(), r.grid = e, r.x = t, r.y = n, r) : new cr.GridCell(e, t, n)
  45. }
  46. function l(e) {
  47. a.prototype.totalCellCount--, e.objects.clear(), x.length < 1e3 && x.push(e)
  48. }
  49. function c(e, t, n) {
  50. this.grid = e, this.x = t, this.y = n, this.objects = new cr.ObjectSet
  51. }
  52. cr.logexport = function(e) {
  53. window.console && window.console.log && window.console.log(e)
  54. }, cr.seal = function(e) {
  55. return e
  56. }, cr.freeze = function(e) {
  57. return e
  58. }, cr.is_undefined = function(e) {
  59. return "undefined" == typeof e
  60. }, cr.is_number = function(e) {
  61. return "number" == typeof e
  62. }, cr.is_string = function(e) {
  63. return "string" == typeof e
  64. }, cr.isPOT = function(e) {
  65. return e > 0 && 0 === (e - 1 & e)
  66. }, cr.nextHighestPowerOfTwo = function(e) {
  67. --e;
  68. for (var t = 1; 32 > t; t <<= 1) e |= e >> t;
  69. return e + 1
  70. }, cr.abs = function(e) {
  71. return 0 > e ? -e : e
  72. }, cr.max = function(e, t) {
  73. return e > t ? e : t
  74. }, cr.min = function(e, t) {
  75. return t > e ? e : t
  76. }, cr.PI = Math.PI, cr.round = function(e) {
  77. return e + .5 | 0
  78. }, cr.floor = function(e) {
  79. return e >= 0 ? 0 | e : (0 | e) - 1
  80. }, cr.ceil = function(e) {
  81. var t = 0 | e;
  82. return t === e ? t : t + 1
  83. }, e.prototype.offset = function(e, t) {
  84. return this.x += e, this.y += t, this
  85. }, e.prototype.mul = function(e, t) {
  86. return this.x *= e, this.y *= t, this
  87. }, cr.vector2 = e, cr.segments_intersect = function(e, t, n, r, i, s, o, u) {
  88. var a, f, l, c, h, p, d, v;
  89. if (n > e ? (f = e, a = n) : (f = n, a = e), o > i ? (p = i, h = o) : (p = o, h = i), p > a || f > h) return !1;
  90. if (r > t ? (c = t, l = r) : (c = r, l = t), u > s ? (v = s, d = u) : (v = u, d = s), v > l || c > d) return !1;
  91. var m = i - e + o - n,
  92. g = s - t + u - r,
  93. y = n - e,
  94. b = r - t,
  95. w = o - i,
  96. E = u - s,
  97. S = cr.abs(b * w - E * y),
  98. x = w * g - E * m;
  99. if (cr.abs(x) > S) return !1;
  100. var T = y * g - b * m;
  101. return cr.abs(T) <= S
  102. }, t.prototype.set = function(e, t, n, r) {
  103. this.left = e, this.top = t, this.right = n, this.bottom = r
  104. }, t.prototype.copy = function(e) {
  105. this.left = e.left, this.top = e.top, this.right = e.right, this.bottom = e.bottom
  106. }, t.prototype.width = function() {
  107. return this.right - this.left
  108. }, t.prototype.height = function() {
  109. return this.bottom - this.top
  110. }, t.prototype.offset = function(e, t) {
  111. return this.left += e, this.top += t, this.right += e, this.bottom += t, this
  112. }, t.prototype.normalize = function() {
  113. var e = 0;
  114. this.left > this.right && (e = this.left, this.left = this.right, this.right = e), this.top > this.bottom && (e = this.top, this.top = this.bottom, this.bottom = e)
  115. }, t.prototype.intersects_rect = function(e) {
  116. return !(e.right < this.left || e.bottom < this.top || e.left > this.right || e.top > this.bottom)
  117. }, t.prototype.intersects_rect_off = function(e, t, n) {
  118. return !(e.right + t < this.left || e.bottom + n < this.top || e.left + t > this.right || e.top + n > this.bottom)
  119. }, t.prototype.contains_pt = function(e, t) {
  120. return e >= this.left && e <= this.right && t >= this.top && t <= this.bottom
  121. }, t.prototype.equals = function(e) {
  122. return this.left === e.left && this.top === e.top && this.right === e.right && this.bottom === e.bottom
  123. }, cr.rect = t, n.prototype.set_from_rect = function(e) {
  124. this.tlx = e.left, this.tly = e.top, this.trx = e.right, this.try_ = e.top, this.brx = e.right, this.bry = e.bottom, this.blx = e.left, this.bly = e.bottom
  125. }, n.prototype.set_from_rotated_rect = function(e, t) {
  126. if (0 === t) this.set_from_rect(e);
  127. else {
  128. var n = Math.sin(t),
  129. r = Math.cos(t),
  130. i = e.left * n,
  131. s = e.top * n,
  132. o = e.right * n,
  133. u = e.bottom * n,
  134. a = e.left * r,
  135. f = e.top * r,
  136. l = e.right * r,
  137. c = e.bottom * r;
  138. this.tlx = a - s, this.tly = f + i, this.trx = l - s, this.try_ = f + o, this.brx = l - u, this.bry = c + o, this.blx = a - u, this.bly = c + i
  139. }
  140. }, n.prototype.offset = function(e, t) {
  141. return this.tlx += e, this.tly += t, this.trx += e, this.try_ += t, this.brx += e, this.bry += t, this.blx += e, this.bly += t, this
  142. };
  143. var h = 0,
  144. p = 0;
  145. n.prototype.bounding_box = function(e) {
  146. r(this.tlx, this.trx, this.brx, this.blx), e.left = h, e.right = p, r(this.tly, this.try_, this.bry, this.bly), e.top = h, e.bottom = p
  147. }, n.prototype.contains_pt = function(e, t) {
  148. var n = this.trx - this.tlx,
  149. r = this.try_ - this.tly,
  150. i = this.brx - this.tlx,
  151. s = this.bry - this.tly,
  152. o = e - this.tlx,
  153. u = t - this.tly,
  154. a = n * n + r * r,
  155. f = n * i + r * s,
  156. l = n * o + r * u,
  157. c = i * i + s * s,
  158. h = i * o + s * u,
  159. p = 1 / (a * c - f * f),
  160. d = (c * l - f * h) * p,
  161. v = (a * h - f * l) * p;
  162. if (d >= 0 && v > 0 && 1 > d + v) return !0;
  163. n = this.blx - this.tlx, r = this.bly - this.tly;
  164. var a = n * n + r * r,
  165. f = n * i + r * s,
  166. l = n * o + r * u;
  167. return p = 1 / (a * c - f * f), d = (c * l - f * h) * p, v = (a * h - f * l) * p, d >= 0 && v > 0 && 1 > d + v
  168. }, n.prototype.at = function(e, t) {
  169. if (t) switch (e) {
  170. case 0:
  171. return this.tlx;
  172. case 1:
  173. return this.trx;
  174. case 2:
  175. return this.brx;
  176. case 3:
  177. return this.blx;
  178. case 4:
  179. return this.tlx;
  180. default:
  181. return this.tlx
  182. } else switch (e) {
  183. case 0:
  184. return this.tly;
  185. case 1:
  186. return this.try_;
  187. case 2:
  188. return this.bry;
  189. case 3:
  190. return this.bly;
  191. case 4:
  192. return this.tly;
  193. default:
  194. return this.tly
  195. }
  196. }, n.prototype.midX = function() {
  197. return (this.tlx + this.trx + this.brx + this.blx) / 4
  198. }, n.prototype.midY = function() {
  199. return (this.tly + this.try_ + this.bry + this.bly) / 4
  200. }, n.prototype.intersects_segment = function(e, t, n, r) {
  201. if (this.contains_pt(e, t) || this.contains_pt(n, r)) return !0;
  202. var i, s, o, u, a;
  203. for (a = 0; 4 > a; a++)
  204. if (i = this.at(a, !0), s = this.at(a, !1), o = this.at(a + 1, !0), u = this.at(a + 1, !1), cr.segments_intersect(e, t, n, r, i, s, o, u)) return !0;
  205. return !1
  206. }, n.prototype.intersects_quad = function(e) {
  207. var t = e.midX(),
  208. n = e.midY();
  209. if (this.contains_pt(t, n)) return !0;
  210. if (t = this.midX(), n = this.midY(), e.contains_pt(t, n)) return !0;
  211. var r, i, s, o, u, a, f, l, c, h;
  212. for (c = 0; 4 > c; c++)
  213. for (h = 0; 4 > h; h++)
  214. if (r = this.at(c, !0), i = this.at(c, !1), s = this.at(c + 1, !0), o = this.at(c + 1, !1), u = e.at(h, !0), a = e.at(h, !1), f = e.at(h + 1, !0), l = e.at(h + 1, !1), cr.segments_intersect(r, i, s, o, u, a, f, l)) return !0;
  215. return !1
  216. }, cr.quad = n, cr.RGB = function(e, t, n) {
  217. return Math.max(Math.min(e, 255), 0) | Math.max(Math.min(t, 255), 0) << 8 | Math.max(Math.min(n, 255), 0) << 16
  218. }, cr.GetRValue = function(e) {
  219. return 255 & e
  220. }, cr.GetGValue = function(e) {
  221. return (65280 & e) >> 8
  222. }, cr.GetBValue = function(e) {
  223. return (16711680 & e) >> 16
  224. }, cr.shallowCopy = function(e, t) {
  225. var n;
  226. for (n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
  227. return e
  228. }, cr.arrayRemove = function(e, t) {
  229. var n, r;
  230. if (t = cr.floor(t), !(0 > t || t >= e.length)) {
  231. for (n = t, r = e.length - 1; r > n; n++) e[n] = e[n + 1];
  232. e.length = r
  233. }
  234. }, cr.shallowAssignArray = function(e, t) {
  235. e.length = t.length;
  236. var n, r;
  237. for (n = 0, r = t.length; r > n; n++) e[n] = t[n]
  238. }, cr.appendArray = function(e, t) {
  239. e.push.apply(e, t)
  240. }, cr.fastIndexOf = function(e, t) {
  241. var n, r;
  242. for (n = 0, r = e.length; r > n; ++n)
  243. if (e[n] === t) return n;
  244. return -1
  245. }, cr.arrayFindRemove = function(e, t) {
  246. var n = cr.fastIndexOf(e, t); - 1 !== n && cr.arrayRemove(e, n)
  247. }, cr.clamp = function(e, t, n) {
  248. return t > e ? t : e > n ? n : e
  249. }, cr.to_radians = function(e) {
  250. return e / (180 / cr.PI)
  251. }, cr.to_degrees = function(e) {
  252. return e * (180 / cr.PI)
  253. }, cr.clamp_angle_degrees = function(e) {
  254. return e %= 360, 0 > e && (e += 360), e
  255. }, cr.clamp_angle = function(e) {
  256. return e %= 2 * cr.PI, 0 > e && (e += 2 * cr.PI), e
  257. }, cr.to_clamped_degrees = function(e) {
  258. return cr.clamp_angle_degrees(cr.to_degrees(e))
  259. }, cr.to_clamped_radians = function(e) {
  260. return cr.clamp_angle(cr.to_radians(e))
  261. }, cr.angleTo = function(e, t, n, r) {
  262. var i = n - e,
  263. s = r - t;
  264. return Math.atan2(s, i)
  265. }, cr.angleDiff = function(e, t) {
  266. if (e === t) return 0;
  267. var n = Math.sin(e),
  268. r = Math.cos(e),
  269. i = Math.sin(t),
  270. s = Math.cos(t),
  271. o = n * i + r * s;
  272. return o >= 1 ? 0 : -1 >= o ? cr.PI : Math.acos(o)
  273. }, cr.angleRotate = function(e, t, n) {
  274. var r = Math.sin(e),
  275. i = Math.cos(e),
  276. s = Math.sin(t),
  277. o = Math.cos(t);
  278. return cr.clamp_angle(Math.acos(r * s + i * o) > n ? i * s - r * o > 0 ? e + n : e - n : t)
  279. }, cr.angleClockwise = function(e, t) {
  280. var n = Math.sin(e),
  281. r = Math.cos(e),
  282. i = Math.sin(t),
  283. s = Math.cos(t);
  284. return 0 >= r * i - n * s
  285. }, cr.rotatePtAround = function(e, t, n, r, i, s) {
  286. if (0 === n) return s ? e : t;
  287. var o = Math.sin(n),
  288. u = Math.cos(n);
  289. e -= r, t -= i;
  290. var a = e * o,
  291. f = t * o,
  292. l = e * u,
  293. c = t * u;
  294. return e = l - f, t = c + a, e += r, t += i, s ? e : t
  295. }, cr.distanceTo = function(e, t, n, r) {
  296. var i = n - e,
  297. s = r - t;
  298. return Math.sqrt(i * i + s * s)
  299. }, cr.xor = function(e, t) {
  300. return !e != !t
  301. }, cr.lerp = function(e, t, n) {
  302. return e + (t - e) * n
  303. }, cr.unlerp = function(e, t, n) {
  304. return e === t ? 0 : (n - e) / (t - e)
  305. }, cr.anglelerp = function(e, t, n) {
  306. var r = cr.angleDiff(e, t);
  307. return cr.angleClockwise(t, e) ? e + r * n : e - r * n
  308. }, cr.qarp = function(e, t, n, r) {
  309. return cr.lerp(cr.lerp(e, t, r), cr.lerp(t, n, r), r)
  310. }, cr.cubic = function(e, t, n, r, i) {
  311. return cr.lerp(cr.qarp(e, t, n, i), cr.qarp(t, n, r, i), i)
  312. }, cr.cosp = function(e, t, n) {
  313. return (e + t + (e - t) * Math.cos(n * Math.PI)) / 2
  314. }, cr.hasAnyOwnProperty = function(e) {
  315. var t;
  316. for (t in e)
  317. if (e.hasOwnProperty(t)) return !0;
  318. return !1
  319. }, cr.wipe = function(e) {
  320. var t;
  321. for (t in e) e.hasOwnProperty(t) && delete e[t]
  322. };
  323. var d = +(new Date);
  324. cr.performance_now = function() {
  325. if ("undefined" != typeof window.performance) {
  326. var e = window.performance;
  327. if ("undefined" != typeof e.now) return e.now();
  328. if ("undefined" != typeof e.webkitNow) return e.webkitNow();
  329. if ("undefined" != typeof e.mozNow) return e.mozNow();
  330. if ("undefined" != typeof e.msNow) return e.msNow()
  331. }
  332. return Date.now() - d
  333. };
  334. var v = !1,
  335. m = !1,
  336. g = !1,
  337. y = !1;
  338. "undefined" != typeof window && (v = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), m = !v && /safari/i.test(navigator.userAgent), g = /(iphone|ipod|ipad)/i.test(navigator.userAgent), y = window.c2ejecta);
  339. var b = !m && !y && !g && "undefined" != typeof Set && "undefined" != typeof Set.prototype.forEach;
  340. i.prototype.contains = function(e) {
  341. return this.isEmpty() ? !1 : b ? this.s.has(e) : this.items && this.items.hasOwnProperty(e)
  342. }, i.prototype.add = function(e) {
  343. if (b) this.s.has(e) || (this.s.add(e), this.cache_valid = !1);
  344. else {
  345. var t = e.toString(),
  346. n = this.items;
  347. n ? n.hasOwnProperty(t) || (n[t] = e, this.item_count++, this.cache_valid = !1) : (this.items = {}, this.items[t] = e, this.item_count = 1, this.cache_valid = !1)
  348. }
  349. }, i.prototype.remove = function(e) {
  350. if (!this.isEmpty())
  351. if (b) this.s.has(e) && (this.s["delete"](e), this.cache_valid = !1);
  352. else if (this.items) {
  353. var t = e.toString(),
  354. n = this.items;
  355. n.hasOwnProperty(t) && (delete n[t], this.item_count--, this.cache_valid = !1)
  356. }
  357. }, i.prototype.clear = function() {
  358. this.isEmpty() || (b ? this.s.clear() : (this.items = null, this.item_count = 0), this.values_cache.length = 0, this.cache_valid = !0)
  359. }, i.prototype.isEmpty = function() {
  360. return 0 === this.count()
  361. }, i.prototype.count = function() {
  362. return b ? this.s.size : this.item_count
  363. };
  364. var w = null,
  365. E = 0;
  366. i.prototype.update_cache = function() {
  367. if (!this.cache_valid) {
  368. if (b) this.values_cache.length = this.s.size, w = this.values_cache, E = 0, this.s.forEach(s), w = null, E = 0;
  369. else {
  370. var e = this.values_cache;
  371. e.length = this.item_count;
  372. var t, n = 0,
  373. r = this.items;
  374. if (r)
  375. for (t in r) r.hasOwnProperty(t) && (e[n++] = r[t])
  376. }
  377. this.cache_valid = !0
  378. }
  379. }, i.prototype.valuesRef = function() {
  380. return this.update_cache(), this.values_cache
  381. }, cr.ObjectSet = i;
  382. var S = new cr.ObjectSet;
  383. cr.removeArrayDuplicates = function(e) {
  384. var t, n;
  385. for (t = 0, n = e.length; n > t; ++t) S.add(e[t]);
  386. cr.shallowAssignArray(e, S.valuesRef()), S.clear()
  387. }, o.prototype.add = function(e) {
  388. this.y = e - this.c, this.t = this.sum + this.y, this.c = this.t - this.sum - this.y, this.sum = this.t
  389. }, o.prototype.reset = function() {
  390. this.c = 0, this.y = 0, this.t = 0, this.sum = 0
  391. }, cr.KahanAdder = o, cr.regexp_escape = function(e) {
  392. return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
  393. }, u.prototype.set_pts = function(e) {
  394. this.pts_array = e, this.pts_count = e.length / 2, this.pts_cache.length = e.length, this.cache_width = -1, this.cache_height = -1, this.cache_angle = 0
  395. }, u.prototype.is_empty = function() {
  396. return !this.pts_array.length
  397. }, u.prototype.update_bbox = function() {
  398. for (var e, t, n, r = this.pts_cache, i = r[0], s = i, o = r[1], u = o, a = 1, f = this.pts_count; f > a; ++a) n = 2 * a, e = r[n], t = r[n + 1], i > e && (i = e), e > s && (s = e), o > t && (o = t), t > u && (u = t);
  399. this.bboxLeft = i, this.bboxRight = s, this.bboxTop = o, this.bboxBottom = u
  400. }, u.prototype.set_from_rect = function(e, t, n) {
  401. this.pts_cache.length = 8, this.pts_count = 4;
  402. var r = this.pts_cache;
  403. r[0] = e.left - t, r[1] = e.top - n, r[2] = e.right - t, r[3] = e.top - n, r[4] = e.right - t, r[5] = e.bottom - n, r[6] = e.left - t, r[7] = e.bottom - n, this.cache_width = e.right - e.left, this.cache_height = e.bottom - e.top, this.update_bbox()
  404. }, u.prototype.set_from_quad = function(e, t, n, r, i) {
  405. this.pts_cache.length = 8, this.pts_count = 4;
  406. var s = this.pts_cache;
  407. s[0] = e.tlx - t, s[1] = e.tly - n, s[2] = e.trx - t, s[3] = e.try_ - n, s[4] = e.brx - t, s[5] = e.bry - n, s[6] = e.blx - t, s[7] = e.bly - n, this.cache_width = r, this.cache_height = i, this.update_bbox()
  408. }, u.prototype.set_from_poly = function(e) {
  409. this.pts_count = e.pts_count, cr.shallowAssignArray(this.pts_cache, e.pts_cache), this.bboxLeft = e.bboxLeft, this.bboxTop - e.bboxTop, this.bboxRight = e.bboxRight, this.bboxBottom = e.bboxBottom
  410. }, u.prototype.cache_poly = function(e, t, n) {
  411. if (this.cache_width !== e || this.cache_height !== t || this.cache_angle !== n) {
  412. this.cache_width = e, this.cache_height = t, this.cache_angle = n;
  413. var r, i, s, o, u, a, f = 0,
  414. l = 1,
  415. c = this.pts_array,
  416. h = this.pts_cache;
  417. for (0 !== n && (f = Math.sin(n), l = Math.cos(n)), r = 0, o = this.pts_count; o > r; r++) i = 2 * r, s = i + 1, u = c[i] * e, a = c[s] * t, h[i] = u * l - a * f, h[s] = a * l + u * f;
  418. this.update_bbox()
  419. }
  420. }, u.prototype.contains_pt = function(e, t) {
  421. var n = this.pts_cache;
  422. if (e === n[0] && t === n[1]) return !0;
  423. var r, i, s, o, u, a, f, l = this.pts_count,
  424. c = this.bboxLeft - 110,
  425. h = this.bboxTop - 101,
  426. p = this.bboxRight + 131,
  427. d = this.bboxBottom + 120,
  428. v = 0,
  429. m = 0;
  430. for (r = 0; l > r; r++) i = 2 * r, s = (r + 1) % l * 2, o = n[i], u = n[i + 1], a = n[s], f = n[s + 1], cr.segments_intersect(c, h, e, t, o, u, a, f) && v++, cr.segments_intersect(p, d, e, t, o, u, a, f) && m++;
  431. return v % 2 === 1 || m % 2 === 1
  432. }, u.prototype.intersects_poly = function(e, t, n) {
  433. var r = e.pts_cache,
  434. i = this.pts_cache;
  435. if (this.contains_pt(r[0] + t, r[1] + n)) return !0;
  436. if (e.contains_pt(i[0] - t, i[1] - n)) return !0;
  437. var s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w;
  438. for (s = 0, a = this.pts_count; a > s; s++)
  439. for (o = 2 * s, u = (s + 1) % a * 2, p = i[o], d = i[o + 1], v = i[u], m = i[u + 1], f = 0, h = e.pts_count; h > f; f++)
  440. if (l = 2 * f, c = (f + 1) % h * 2, g = r[l] + t, y = r[l + 1] + n, b = r[c] + t, w = r[c + 1] + n, cr.segments_intersect(p, d, v, m, g, y, b, w)) return !0;
  441. return !1
  442. }, u.prototype.intersects_segment = function(e, t, n, r, i, s) {
  443. var o = this.pts_cache;
  444. if (this.contains_pt(n - e, r - t)) return !0;
  445. var u, a, f, l, c, h, p, d;
  446. for (u = 0, a = this.pts_count; a > u; u++)
  447. if (f = 2 * u, l = (u + 1) % a * 2, c = o[f] + e, h = o[f + 1] + t, p = o[l] + e, d = o[l + 1] + t, cr.segments_intersect(n, r, i, s, c, h, p, d)) return !0;
  448. return !1
  449. }, u.prototype.mirror = function(e) {
  450. var t, n, r;
  451. for (t = 0, n = this.pts_count; n > t; ++t) r = 2 * t, this.pts_cache[r] = 2 * e - this.pts_cache[r]
  452. }, u.prototype.flip = function(e) {
  453. var t, n, r;
  454. for (t = 0, n = this.pts_count; n > t; ++t) r = 2 * t + 1, this.pts_cache[r] = 2 * e - this.pts_cache[r]
  455. }, u.prototype.diag = function() {
  456. var e, t, n, r, i;
  457. for (e = 0, t = this.pts_count; t > e; ++e) n = 2 * e, r = n + 1, i = this.pts_cache[n], this.pts_cache[n] = this.pts_cache[r], this.pts_cache[r] = i
  458. }, cr.CollisionPoly = u, a.prototype.totalCellCount = 0, a.prototype.getCell = function(e, t, n) {
  459. var r, i = this.cells[e];
  460. return i ? (r = i[t], r ? r : n ? (r = f(this, e, t), this.cells[e][t] = r, r) : null) : n ? (r = f(this, e, t), this.cells[e] = {}, this.cells[e][t] = r, r) : null
  461. }, a.prototype.XToCell = function(e) {
  462. return cr.floor(e / this.cellwidth)
  463. }, a.prototype.YToCell = function(e) {
  464. return cr.floor(e / this.cellheight)
  465. }, a.prototype.update = function(e, t, n) {
  466. var r, i, s, o, u;
  467. if (t)
  468. for (r = t.left, i = t.right; i >= r; ++r)
  469. for (s = t.top, o = t.bottom; o >= s; ++s) n && n.contains_pt(r, s) || (u = this.getCell(r, s, !1), u && (u.remove(e), u.isEmpty() && (l(u), this.cells[r][s] = null)));
  470. if (n)
  471. for (r = n.left, i = n.right; i >= r; ++r)
  472. for (s = n.top, o = n.bottom; o >= s; ++s) t && t.contains_pt(r, s) || this.getCell(r, s, !0).insert(e)
  473. }, a.prototype.queryRange = function(e, t) {
  474. var n, r, i, s, o, u;
  475. for (n = this.XToCell(e.left), i = this.YToCell(e.top), r = this.XToCell(e.right), o = this.YToCell(e.bottom); r >= n; ++n)
  476. for (s = i; o >= s; ++s) u = this.getCell(n, s, !1), u && u.dump(t)
  477. }, cr.SparseGrid = a;
  478. var x = [];
  479. c.prototype.isEmpty = function() {
  480. return this.objects.isEmpty()
  481. }, c.prototype.insert = function(e) {
  482. this.objects.add(e)
  483. }, c.prototype.remove = function(e) {
  484. this.objects.remove(e)
  485. }, c.prototype.dump = function(e) {
  486. cr.appendArray(e, this.objects.valuesRef())
  487. }, cr.GridCell = c;
  488. var T = ["lighter", "xor", "copy", "destination-over", "source-in", "destination-in", "source-out", "destination-out", "source-atop", "destination-atop"];
  489. cr.effectToCompositeOp = function(e) {
  490. return 0 >= e || e >= 11 ? "source-over" : T[e - 1]
  491. }, cr.setGLBlend = function(e, t, n) {
  492. if (n) switch (e.srcBlend = n.ONE, e.destBlend = n.ONE_MINUS_SRC_ALPHA, t) {
  493. case 1:
  494. e.srcBlend = n.ONE, e.destBlend = n.ONE;
  495. break;
  496. case 2:
  497. break;
  498. case 3:
  499. e.srcBlend = n.ONE, e.destBlend = n.ZERO;
  500. break;
  501. case 4:
  502. e.srcBlend = n.ONE_MINUS_DST_ALPHA, e.destBlend = n.ONE;
  503. break;
  504. case 5:
  505. e.srcBlend = n.DST_ALPHA, e.destBlend = n.ZERO;
  506. break;
  507. case 6:
  508. e.srcBlend = n.ZERO, e.destBlend = n.SRC_ALPHA;
  509. break;
  510. case 7:
  511. e.srcBlend = n.ONE_MINUS_DST_ALPHA, e.destBlend = n.ZERO;
  512. break;
  513. case 8:
  514. e.srcBlend = n.ZERO, e.destBlend = n.ONE_MINUS_SRC_ALPHA;
  515. break;
  516. case 9:
  517. e.srcBlend = n.DST_ALPHA, e.destBlend = n.ONE_MINUS_SRC_ALPHA;
  518. break;
  519. case 10:
  520. e.srcBlend = n.ONE_MINUS_DST_ALPHA, e.destBlend = n.SRC_ALPHA
  521. }
  522. }, cr.round6dp = function(e) {
  523. return Math.round(1e6 * e) / 1e6
  524. }, cr.equals_nocase = function(e, t) {
  525. return "string" != typeof e || "string" != typeof t ? !1 : e.length !== t.length ? !1 : e === t ? !0 : e.toLowerCase() === t.toLowerCase()
  526. }, cr.isCanvasInputEvent = function(e) {
  527. var t = e.target;
  528. return t ? t === document || t === window ? !0 : document && document.body && t === document.body ? !0 : cr.equals_nocase(t.tagName, "canvas") ? !0 : !1 : !0
  529. }
  530. }();
  531. var MatrixArray = "undefined" != typeof Float32Array ? Float32Array : Array,
  532. glMatrixArrayType = MatrixArray,
  533. vec3 = {},
  534. mat3 = {},
  535. mat4 = {},
  536. quat4 = {};
  537. vec3.create = function(e) {
  538. var t = new MatrixArray(3);
  539. return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2]), t
  540. }, vec3.set = function(e, t) {
  541. return t[0] = e[0], t[1] = e[1], t[2] = e[2], t
  542. }, vec3.add = function(e, t, n) {
  543. return n && e !== n ? (n[0] = e[0] + t[0], n[1] = e[1] + t[1], n[2] = e[2] + t[2], n) : (e[0] += t[0], e[1] += t[1], e[2] += t[2], e)
  544. }, vec3.subtract = function(e, t, n) {
  545. return n && e !== n ? (n[0] = e[0] - t[0], n[1] = e[1] - t[1], n[2] = e[2] - t[2], n) : (e[0] -= t[0], e[1] -= t[1], e[2] -= t[2], e)
  546. }, vec3.negate = function(e, t) {
  547. return t || (t = e), t[0] = -e[0], t[1] = -e[1], t[2] = -e[2], t
  548. }, vec3.scale = function(e, t, n) {
  549. return n && e !== n ? (n[0] = e[0] * t, n[1] = e[1] * t, n[2] = e[2] * t, n) : (e[0] *= t, e[1] *= t, e[2] *= t, e)
  550. }, vec3.normalize = function(e, t) {
  551. t || (t = e);
  552. var n = e[0],
  553. r = e[1],
  554. i = e[2],
  555. s = Math.sqrt(n * n + r * r + i * i);
  556. return s ? 1 === s ? (t[0] = n, t[1] = r, t[2] = i, t) : (s = 1 / s, t[0] = n * s, t[1] = r * s, t[2] = i * s, t) : (t[0] = 0, t[1] = 0, t[2] = 0, t)
  557. }, vec3.cross = function(e, t, n) {
  558. n || (n = e);
  559. var r = e[0],
  560. i = e[1],
  561. e = e[2],
  562. s = t[0],
  563. o = t[1],
  564. t = t[2];
  565. return n[0] = i * t - e * o, n[1] = e * s - r * t, n[2] = r * o - i * s, n
  566. }, vec3.length = function(e) {
  567. var t = e[0],
  568. n = e[1],
  569. e = e[2];
  570. return Math.sqrt(t * t + n * n + e * e)
  571. }, vec3.dot = function(e, t) {
  572. return e[0] * t[0] + e[1] * t[1] + e[2] * t[2]
  573. }, vec3.direction = function(e, t, n) {
  574. n || (n = e);
  575. var r = e[0] - t[0],
  576. i = e[1] - t[1],
  577. e = e[2] - t[2],
  578. t = Math.sqrt(r * r + i * i + e * e);
  579. return t ? (t = 1 / t, n[0] = r * t, n[1] = i * t, n[2] = e * t, n) : (n[0] = 0, n[1] = 0, n[2] = 0, n)
  580. }, vec3.lerp = function(e, t, n, r) {
  581. return r || (r = e), r[0] = e[0] + n * (t[0] - e[0]), r[1] = e[1] + n * (t[1] - e[1]), r[2] = e[2] + n * (t[2] - e[2]), r
  582. }, vec3.str = function(e) {
  583. return "[" + e[0] + ", " + e[1] + ", " + e[2] + "]"
  584. }, mat3.create = function(e) {
  585. var t = new MatrixArray(9);
  586. return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8]), t
  587. }, mat3.set = function(e, t) {
  588. return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t
  589. }, mat3.identity = function(e) {
  590. return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 1, e[5] = 0, e[6] = 0, e[7] = 0, e[8] = 1, e
  591. }, mat3.transpose = function(e, t) {
  592. if (!t || e === t) {
  593. var n = e[1],
  594. r = e[2],
  595. i = e[5];
  596. return e[1] = e[3], e[2] = e[6], e[3] = n, e[5] = e[7], e[6] = r, e[7] = i, e
  597. }
  598. return t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = e[1], t[4] = e[4], t[5] = e[7], t[6] = e[2], t[7] = e[5], t[8] = e[8], t
  599. }, mat3.toMat4 = function(e, t) {
  600. return t || (t = mat4.create()), t[15] = 1, t[14] = 0, t[13] = 0, t[12] = 0, t[11] = 0, t[10] = e[8], t[9] = e[7], t[8] = e[6], t[7] = 0, t[6] = e[5], t[5] = e[4], t[4] = e[3], t[3] = 0, t[2] = e[2], t[1] = e[1], t[0] = e[0], t
  601. }, mat3.str = function(e) {
  602. return "[" + e[0] + ", " + e[1] + ", " + e[2] + ", " + e[3] + ", " + e[4] + ", " + e[5] + ", " + e[6] + ", " + e[7] + ", " + e[8] + "]"
  603. }, mat4.create = function(e) {
  604. var t = new MatrixArray(16);
  605. return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = e[12], t[13] = e[13], t[14] = e[14], t[15] = e[15]), t
  606. }, mat4.set = function(e, t) {
  607. return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = e[12], t[13] = e[13], t[14] = e[14], t[15] = e[15], t
  608. }, mat4.identity = function(e) {
  609. return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e
  610. }, mat4.transpose = function(e, t) {
  611. if (!t || e === t) {
  612. var n = e[1],
  613. r = e[2],
  614. i = e[3],
  615. s = e[6],
  616. o = e[7],
  617. u = e[11];
  618. return e[1] = e[4], e[2] = e[8], e[3] = e[12], e[4] = n, e[6] = e[9], e[7] = e[13], e[8] = r, e[9] = s, e[11] = e[14], e[12] = i, e[13] = o, e[14] = u, e
  619. }
  620. return t[0] = e[0], t[1] = e[4], t[2] = e[8], t[3] = e[12], t[4] = e[1], t[5] = e[5], t[6] = e[9], t[7] = e[13], t[8] = e[2], t[9] = e[6], t[10] = e[10], t[11] = e[14], t[12] = e[3], t[13] = e[7], t[14] = e[11], t[15] = e[15], t
  621. }, mat4.determinant = function(e) {
  622. var t = e[0],
  623. n = e[1],
  624. r = e[2],
  625. i = e[3],
  626. s = e[4],
  627. o = e[5],
  628. u = e[6],
  629. a = e[7],
  630. f = e[8],
  631. l = e[9],
  632. c = e[10],
  633. h = e[11],
  634. p = e[12],
  635. d = e[13],
  636. v = e[14],
  637. e = e[15];
  638. return p * l * u * i - f * d * u * i - p * o * c * i + s * d * c * i + f * o * v * i - s * l * v * i - p * l * r * a + f * d * r * a + p * n * c * a - t * d * c * a - f * n * v * a + t * l * v * a + p * o * r * h - s * d * r * h - p * n * u * h + t * d * u * h + s * n * v * h - t * o * v * h - f * o * r * e + s * l * r * e + f * n * u * e - t * l * u * e - s * n * c * e + t * o * c * e
  639. }, mat4.inverse = function(e, t) {
  640. t || (t = e);
  641. var n = e[0],
  642. r = e[1],
  643. i = e[2],
  644. s = e[3],
  645. o = e[4],
  646. u = e[5],
  647. a = e[6],
  648. f = e[7],
  649. l = e[8],
  650. c = e[9],
  651. h = e[10],
  652. p = e[11],
  653. d = e[12],
  654. v = e[13],
  655. m = e[14],
  656. g = e[15],
  657. y = n * u - r * o,
  658. b = n * a - i * o,
  659. w = n * f - s * o,
  660. E = r * a - i * u,
  661. S = r * f - s * u,
  662. x = i * f - s * a,
  663. T = l * v - c * d,
  664. N = l * m - h * d,
  665. C = l * g - p * d,
  666. k = c * m - h * v,
  667. L = c * g - p * v,
  668. A = h * g - p * m,
  669. O = 1 / (y * A - b * L + w * k + E * C - S * N + x * T);
  670. return t[0] = (u * A - a * L + f * k) * O, t[1] = (-r * A + i * L - s * k) * O, t[2] = (v * x - m * S + g * E) * O, t[3] = (-c * x + h * S - p * E) * O, t[4] = (-o * A + a * C - f * N) * O, t[5] = (n * A - i * C + s * N) * O, t[6] = (-d * x + m * w - g * b) * O, t[7] = (l * x - h * w + p * b) * O, t[8] = (o * L - u * C + f * T) * O, t[9] = (-n * L + r * C - s * T) * O, t[10] = (d * S - v * w + g * y) * O, t[11] = (-l * S + c * w - p * y) * O, t[12] = (-o * k + u * N - a * T) * O, t[13] = (n * k - r * N + i * T) * O, t[14] = (-d * E + v * b - m * y) * O, t[15] = (l * E - c * b + h * y) * O, t
  671. }, mat4.toRotationMat = function(e, t) {
  672. return t || (t = mat4.create()), t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, t
  673. }, mat4.toMat3 = function(e, t) {
  674. return t || (t = mat3.create()), t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[4], t[4] = e[5], t[5] = e[6], t[6] = e[8], t[7] = e[9], t[8] = e[10], t
  675. }, mat4.toInverseMat3 = function(e, t) {
  676. var n = e[0],
  677. r = e[1],
  678. i = e[2],
  679. s = e[4],
  680. o = e[5],
  681. u = e[6],
  682. a = e[8],
  683. f = e[9],
  684. l = e[10],
  685. c = l * o - u * f,
  686. h = -l * s + u * a,
  687. p = f * s - o * a,
  688. d = n * c + r * h + i * p;
  689. return d ? (d = 1 / d, t || (t = mat3.create()), t[0] = c * d, t[1] = (-l * r + i * f) * d, t[2] = (u * r - i * o) * d, t[3] = h * d, t[4] = (l * n - i * a) * d, t[5] = (-u * n + i * s) * d, t[6] = p * d, t[7] = (-f * n + r * a) * d, t[8] = (o * n - r * s) * d, t) : null
  690. }, mat4.multiply = function(e, t, n) {
  691. n || (n = e);
  692. var r = e[0],
  693. i = e[1],
  694. s = e[2],
  695. o = e[3],
  696. u = e[4],
  697. a = e[5],
  698. f = e[6],
  699. l = e[7],
  700. c = e[8],
  701. h = e[9],
  702. p = e[10],
  703. d = e[11],
  704. v = e[12],
  705. m = e[13],
  706. g = e[14],
  707. e = e[15],
  708. y = t[0],
  709. b = t[1],
  710. w = t[2],
  711. E = t[3],
  712. S = t[4],
  713. x = t[5],
  714. T = t[6],
  715. N = t[7],
  716. C = t[8],
  717. k = t[9],
  718. L = t[10],
  719. A = t[11],
  720. O = t[12],
  721. M = t[13],
  722. _ = t[14],
  723. t = t[15];
  724. return n[0] = y * r + b * u + w * c + E * v, n[1] = y * i + b * a + w * h + E * m, n[2] = y * s + b * f + w * p + E * g, n[3] = y * o + b * l + w * d + E * e, n[4] = S * r + x * u + T * c + N * v, n[5] = S * i + x * a + T * h + N * m, n[6] = S * s + x * f + T * p + N * g, n[7] = S * o + x * l + T * d + N * e, n[8] = C * r + k * u + L * c + A * v, n[9] = C * i + k * a + L * h + A * m, n[10] = C * s + k * f + L * p + A * g, n[11] = C * o + k * l + L * d + A * e, n[12] = O * r + M * u + _ * c + t * v, n[13] = O * i + M * a + _ * h + t * m, n[14] = O * s + M * f + _ * p + t * g, n[15] = O * o + M * l + _ * d + t * e, n
  725. }, mat4.multiplyVec3 = function(e, t, n) {
  726. n || (n = t);
  727. var r = t[0],
  728. i = t[1],
  729. t = t[2];
  730. return n[0] = e[0] * r + e[4] * i + e[8] * t + e[12], n[1] = e[1] * r + e[5] * i + e[9] * t + e[13], n[2] = e[2] * r + e[6] * i + e[10] * t + e[14], n
  731. }, mat4.multiplyVec4 = function(e, t, n) {
  732. n || (n = t);
  733. var r = t[0],
  734. i = t[1],
  735. s = t[2],
  736. t = t[3];
  737. return n[0] = e[0] * r + e[4] * i + e[8] * s + e[12] * t, n[1] = e[1] * r + e[5] * i + e[9] * s + e[13] * t, n[2] = e[2] * r + e[6] * i + e[10] * s + e[14] * t, n[3] = e[3] * r + e[7] * i + e[11] * s + e[15] * t, n
  738. }, mat4.translate = function(e, t, n) {
  739. var r, i, s, o, u, a, f, l, c, h, p, d, v = t[0],
  740. m = t[1],
  741. t = t[2];
  742. return n && e !== n ? (r = e[0], i = e[1], s = e[2], o = e[3], u = e[4], a = e[5], f = e[6], l = e[7], c = e[8], h = e[9], p = e[10], d = e[11], n[0] = r, n[1] = i, n[2] = s, n[3] = o, n[4] = u, n[5] = a, n[6] = f, n[7] = l, n[8] = c, n[9] = h, n[10] = p, n[11] = d, n[12] = r * v + u * m + c * t + e[12], n[13] = i * v + a * m + h * t + e[13], n[14] = s * v + f * m + p * t + e[14], n[15] = o * v + l * m + d * t + e[15], n) : (e[12] = e[0] * v + e[4] * m + e[8] * t + e[12], e[13] = e[1] * v + e[5] * m + e[9] * t + e[13], e[14] = e[2] * v + e[6] * m + e[10] * t + e[14], e[15] = e[3] * v + e[7] * m + e[11] * t + e[15], e)
  743. }, mat4.scale = function(e, t, n) {
  744. var r = t[0],
  745. i = t[1],
  746. t = t[2];
  747. return n && e !== n ? (n[0] = e[0] * r, n[1] = e[1] * r, n[2] = e[2] * r, n[3] = e[3] * r, n[4] = e[4] * i, n[5] = e[5] * i, n[6] = e[6] * i, n[7] = e[7] * i, n[8] = e[8] * t, n[9] = e[9] * t, n[10] = e[10] * t, n[11] = e[11] * t, n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15], n) : (e[0] *= r, e[1] *= r, e[2] *= r, e[3] *= r, e[4] *= i, e[5] *= i, e[6] *= i, e[7] *= i, e[8] *= t, e[9] *= t, e[10] *= t, e[11] *= t, e)
  748. }, mat4.rotate = function(e, t, n, r) {
  749. var i, s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S, x, T = n[0],
  750. N = n[1],
  751. n = n[2],
  752. C = Math.sqrt(T * T + N * N + n * n);
  753. return C ? (1 !== C && (C = 1 / C, T *= C, N *= C, n *= C), i = Math.sin(t), s = Math.cos(t), o = 1 - s, t = e[0], C = e[1], u = e[2], a = e[3], f = e[4], l = e[5], c = e[6], h = e[7], p = e[8], d = e[9], v = e[10], m = e[11], g = T * T * o + s, y = N * T * o + n * i, b = n * T * o - N * i, w = T * N * o - n * i, E = N * N * o + s, S = n * N * o + T * i, x = T * n * o + N * i, T = N * n * o - T * i, N = n * n * o + s, r ? e !== r && (r[12] = e[12], r[13] = e[13], r[14] = e[14], r[15] = e[15]) : r = e, r[0] = t * g + f * y + p * b, r[1] = C * g + l * y + d * b, r[2] = u * g + c * y + v * b, r[3] = a * g + h * y + m * b, r[4] = t * w + f * E + p * S, r[5] = C * w + l * E + d * S, r[6] = u * w + c * E + v * S, r[7] = a * w + h * E + m * S, r[8] = t * x + f * T + p * N, r[9] = C * x + l * T + d * N, r[10] = u * x + c * T + v * N, r[11] = a * x + h * T + m * N, r) : null
  754. }, mat4.rotateX = function(e, t, n) {
  755. var r = Math.sin(t),
  756. t = Math.cos(t),
  757. i = e[4],
  758. s = e[5],
  759. o = e[6],
  760. u = e[7],
  761. a = e[8],
  762. f = e[9],
  763. l = e[10],
  764. c = e[11];
  765. return n ? e !== n && (n[0] = e[0], n[1] = e[1], n[2] = e[2], n[3] = e[3], n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15]) : n = e, n[4] = i * t + a * r, n[5] = s * t + f * r, n[6] = o * t + l * r, n[7] = u * t + c * r, n[8] = i * -r + a * t, n[9] = s * -r + f * t, n[10] = o * -r + l * t, n[11] = u * -r + c * t, n
  766. }, mat4.rotateY = function(e, t, n) {
  767. var r = Math.sin(t),
  768. t = Math.cos(t),
  769. i = e[0],
  770. s = e[1],
  771. o = e[2],
  772. u = e[3],
  773. a = e[8],
  774. f = e[9],
  775. l = e[10],
  776. c = e[11];
  777. return n ? e !== n && (n[4] = e[4], n[5] = e[5], n[6] = e[6], n[7] = e[7], n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15]) : n = e, n[0] = i * t + a * -r, n[1] = s * t + f * -r, n[2] = o * t + l * -r, n[3] = u * t + c * -r, n[8] = i * r + a * t, n[9] = s * r + f * t, n[10] = o * r + l * t, n[11] = u * r + c * t, n
  778. }, mat4.rotateZ = function(e, t, n) {
  779. var r = Math.sin(t),
  780. t = Math.cos(t),
  781. i = e[0],
  782. s = e[1],
  783. o = e[2],
  784. u = e[3],
  785. a = e[4],
  786. f = e[5],
  787. l = e[6],
  788. c = e[7];
  789. return n ? e !== n && (n[8] = e[8], n[9] = e[9], n[10] = e[10], n[11] = e[11], n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15]) : n = e, n[0] = i * t + a * r, n[1] = s * t + f * r, n[2] = o * t + l * r, n[3] = u * t + c * r, n[4] = i * -r + a * t, n[5] = s * -r + f * t, n[6] = o * -r + l * t, n[7] = u * -r + c * t, n
  790. }, mat4.frustum = function(e, t, n, r, i, s, o) {
  791. o || (o = mat4.create());
  792. var u = t - e,
  793. a = r - n,
  794. f = s - i;
  795. return o[0] = 2 * i / u, o[1] = 0, o[2] = 0, o[3] = 0, o[4] = 0, o[5] = 2 * i / a, o[6] = 0, o[7] = 0, o[8] = (t + e) / u, o[9] = (r + n) / a, o[10] = -(s + i) / f, o[11] = -1, o[12] = 0, o[13] = 0, o[14] = -(s * i * 2) / f, o[15] = 0, o
  796. }, mat4.perspective = function(e, t, n, r, i) {
  797. return e = n * Math.tan(e * Math.PI / 360), t *= e, mat4.frustum(-t, t, -e, e, n, r, i)
  798. }, mat4.ortho = function(e, t, n, r, i, s, o) {
  799. o || (o = mat4.create());
  800. var u = t - e,
  801. a = r - n,
  802. f = s - i;
  803. return o[0] = 2 / u, o[1] = 0, o[2] = 0, o[3] = 0, o[4] = 0, o[5] = 2 / a, o[6] = 0, o[7] = 0, o[8] = 0, o[9] = 0, o[10] = -2 / f, o[11] = 0, o[12] = -(e + t) / u, o[13] = -(r + n) / a, o[14] = -(s + i) / f, o[15] = 1, o
  804. }, mat4.lookAt = function(e, t, n, r) {
  805. r || (r = mat4.create());
  806. var i, s, o, u, a, f, l, c, h = e[0],
  807. p = e[1],
  808. e = e[2];
  809. return s = n[0], o = n[1], i = n[2], n = t[1], f = t[2], h === t[0] && p === n && e === f ? mat4.identity(r) : (n = h - t[0], f = p - t[1], l = e - t[2], c = 1 / Math.sqrt(n * n + f * f + l * l), n *= c, f *= c, l *= c, t = o * l - i * f, i = i * n - s * l, s = s * f - o * n, (c = Math.sqrt(t * t + i * i + s * s)) ? (c = 1 / c, t *= c, i *= c, s *= c) : s = i = t = 0, o = f * s - l * i, u = l * t - n * s, a = n * i - f * t, (c = Math.sqrt(o * o + u * u + a * a)) ? (c = 1 / c, o *= c, u *= c, a *= c) : a = u = o = 0, r[0] = t, r[1] = o, r[2] = n, r[3] = 0, r[4] = i, r[5] = u, r[6] = f, r[7] = 0, r[8] = s, r[9] = a, r[10] = l, r[11] = 0, r[12] = -(t * h + i * p + s * e), r[13] = -(o * h + u * p + a * e), r[14] = -(n * h + f * p + l * e), r[15] = 1, r)
  810. }, mat4.fromRotationTranslation = function(e, t, n) {
  811. n || (n = mat4.create());
  812. var r = e[0],
  813. i = e[1],
  814. s = e[2],
  815. o = e[3],
  816. u = r + r,
  817. a = i + i,
  818. f = s + s,
  819. e = r * u,
  820. l = r * a;
  821. r *= f;
  822. var c = i * a;
  823. return i *= f, s *= f, u *= o, a *= o, o *= f, n[0] = 1 - (c + s), n[1] = l + o, n[2] = r - a, n[3] = 0, n[4] = l - o, n[5] = 1 - (e + s), n[6] = i + u, n[7] = 0, n[8] = r + a, n[9] = i - u, n[10] = 1 - (e + c), n[11] = 0, n[12] = t[0], n[13] = t[1], n[14] = t[2], n[15] = 1, n
  824. }, mat4.str = function(e) {
  825. return "[" + e[0] + ", " + e[1] + ", " + e[2] + ", " + e[3] + ", " + e[4] + ", " + e[5] + ", " + e[6] + ", " + e[7] + ", " + e[8] + ", " + e[9] + ", " + e[10] + ", " + e[11] + ", " + e[12] + ", " + e[13] + ", " + e[14] + ", " + e[15] + "]"
  826. }, quat4.create = function(e) {
  827. var t = new MatrixArray(4);
  828. return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3]), t
  829. }, quat4.set = function(e, t) {
  830. return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t
  831. }, quat4.calculateW = function(e, t) {
  832. var n = e[0],
  833. r = e[1],
  834. i = e[2];
  835. return t && e !== t ? (t[0] = n, t[1] = r, t[2] = i, t[3] = -Math.sqrt(Math.abs(1 - n * n - r * r - i * i)), t) : (e[3] = -Math.sqrt(Math.abs(1 - n * n - r * r - i * i)), e)
  836. }, quat4.inverse = function(e, t) {
  837. return t && e !== t ? (t[0] = -e[0], t[1] = -e[1], t[2] = -e[2], t[3] = e[3], t) : (e[0] *= -1, e[1] *= -1, e[2] *= -1, e)
  838. }, quat4.length = function(e) {
  839. var t = e[0],
  840. n = e[1],
  841. r = e[2],
  842. e = e[3];
  843. return Math.sqrt(t * t + n * n + r * r + e * e)
  844. }, quat4.normalize = function(e, t) {
  845. t || (t = e);
  846. var n = e[0],
  847. r = e[1],
  848. i = e[2],
  849. s = e[3],
  850. o = Math.sqrt(n * n + r * r + i * i + s * s);
  851. return 0 === o ? (t[0] = 0, t[1] = 0, t[2] = 0, t[3] = 0, t) : (o = 1 / o, t[0] = n * o, t[1] = r * o, t[2] = i * o, t[3] = s * o, t)
  852. }, quat4.multiply = function(e, t, n) {
  853. n || (n = e);
  854. var r = e[0],
  855. i = e[1],
  856. s = e[2],
  857. e = e[3],
  858. o = t[0],
  859. u = t[1],
  860. a = t[2],
  861. t = t[3];
  862. return n[0] = r * t + e * o + i * a - s * u, n[1] = i * t + e * u + s * o - r * a, n[2] = s * t + e * a + r * u - i * o, n[3] = e * t - r * o - i * u - s * a, n
  863. }, quat4.multiplyVec3 = function(e, t, n) {
  864. n || (n = t);
  865. var r = t[0],
  866. i = t[1],
  867. s = t[2],
  868. t = e[0],
  869. o = e[1],
  870. u = e[2],
  871. e = e[3],
  872. a = e * r + o * s - u * i,
  873. f = e * i + u * r - t * s,
  874. l = e * s + t * i - o * r,
  875. r = -t * r - o * i - u * s;
  876. return n[0] = a * e + r * -t + f * -u - l * -o, n[1] = f * e + r * -o + l * -t - a * -u, n[2] = l * e + r * -u + a * -o - f * -t, n
  877. }, quat4.toMat3 = function(e, t) {
  878. t || (t = mat3.create());
  879. var n = e[0],
  880. r = e[1],
  881. i = e[2],
  882. s = e[3],
  883. o = n + n,
  884. u = r + r,
  885. a = i + i,
  886. f = n * o,
  887. l = n * u;
  888. n *= a;
  889. var c = r * u;
  890. return r *= a, i *= a, o *= s, u *= s, s *= a, t[0] = 1 - (c + i), t[1] = l + s, t[2] = n - u, t[3] = l - s, t[4] = 1 - (f + i), t[5] = r + o, t[6] = n + u, t[7] = r - o, t[8] = 1 - (f + c), t
  891. }, quat4.toMat4 = function(e, t) {
  892. t || (t = mat4.create());
  893. var n = e[0],
  894. r = e[1],
  895. i = e[2],
  896. s = e[3],
  897. o = n + n,
  898. u = r + r,
  899. a = i + i,
  900. f = n * o,
  901. l = n * u;
  902. n *= a;
  903. var c = r * u;
  904. return r *= a, i *= a, o *= s, u *= s, s *= a, t[0] = 1 - (c + i), t[1] = l + s, t[2] = n - u, t[3] = 0, t[4] = l - s, t[5] = 1 - (f + i), t[6] = r + o, t[7] = 0, t[8] = n + u, t[9] = r - o, t[10] = 1 - (f + c), t[11] = 0, t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, t
  905. }, quat4.slerp = function(e, t, n, r) {
  906. r || (r = e);
  907. var i, s, o = e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3];
  908. return Math.abs(o) >= 1 ? (r !== e && (r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = e[3]), r) : (i = Math.acos(o), s = Math.sqrt(1 - o * o), Math.abs(s) < .001 ? (r[0] = .5 * e[0] + .5 * t[0], r[1] = .5 * e[1] + .5 * t[1], r[2] = .5 * e[2] + .5 * t[2], r[3] = .5 * e[3] + .5 * t[3], r) : (o = Math.sin((1 - n) * i) / s, n = Math.sin(n * i) / s, r[0] = e[0] * o + t[0] * n, r[1] = e[1] * o + t[1] * n, r[2] = e[2] * o + t[2] * n, r[3] = e[3] * o + t[3] * n, r))
  909. }, quat4.str = function(e) {
  910. return "[" + e[0] + ", " + e[1] + ", " + e[2] + ", " + e[3] + "]"
  911. },
  912. function() {
  913. function e(e) {
  914. this.isIE = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent), this.width = 0, this.height = 0, this.cam = vec3.create([0, 0, 100]), this.look = vec3.create([0, 0, 0]), this.up = vec3.create([0, 1, 0]), this.worldScale = vec3.create([1, 1, 1]), this.enable_mipmaps = !0, this.matP = mat4.create(), this.matMV = mat4.create(), this.lastMV = mat4.create(), this.currentMV = mat4.create(), this.gl = e, this.initState()
  915. }
  916. function t(e, t, n) {
  917. this.gl = e, this.shaderProgram = t, this.name = n, this.locAPos = e.getAttribLocation(t, "aPos"), this.locATex = e.getAttribLocation(t, "aTex"), this.locMatP = e.getUniformLocation(t, "matP"), this.locMatMV = e.getUniformLocation(t, "matMV"), this.locOpacity = e.getUniformLocation(t, "opacity"), this.locSamplerFront = e.getUniformLocation(t, "samplerFront"), this.locSamplerBack = e.getUniformLocation(t, "samplerBack"), this.locDestStart = e.getUniformLocation(t, "destStart"), this.locDestEnd = e.getUniformLocation(t, "destEnd"), this.locSeconds = e.getUniformLocation(t, "seconds"), this.locPixelWidth = e.getUniformLocation(t, "pixelWidth"), this.locPixelHeight = e.getUniformLocation(t, "pixelHeight"), this.locLayerScale = e.getUniformLocation(t, "layerScale"), this.locLayerAngle = e.getUniformLocation(t, "layerAngle"), this.locViewOrigin = e.getUniformLocation(t, "viewOrigin"), this.hasAnyOptionalUniforms = !!(this.locPixelWidth || this.locPixelHeight || this.locSeconds || this.locSamplerBack || this.locDestStart || this.locDestEnd || this.locLayerScale || this.locLayerAngle || this.locViewOrigin), this.locOpacity && e.uniform1f(this.locOpacity, 1), this.locSamplerFront && e.uniform1i(this.locSamplerFront, 0), this.locSamplerBack && e.uniform1i(this.locSamplerBack, 1), this.locDestStart && e.uniform2f(this.locDestStart, 0, 0), this.locDestEnd && e.uniform2f(this.locDestEnd, 1, 1), this.locLayerScale && e.uniform1f(this.locLayerScale, 1), this.locLayerAngle && e.uniform1f(this.locLayerAngle, 0), this.locViewOrigin && e.uniform2f(this.locViewOrigin, 0, 0), this.hasCurrentMatMV = !1
  918. }
  919. function n(e, t) {
  920. this.type = e, this.glwrap = t, this.gl = t.gl, this.opacityParam = 0, this.startIndex = 0, this.indexCount = 0, this.texParam = null, this.mat4param = null, this.shaderParams = [], cr.seal(this)
  921. }
  922. var r = 8e3,
  923. i = r / 2 * 3,
  924. s = 8e3,
  925. o = 4,
  926. u = 0,
  927. a = 1,
  928. f = 2,
  929. l = 3,
  930. c = 4,
  931. h = 5,
  932. p = 6,
  933. d = 7,
  934. v = 8,
  935. m = 9,
  936. g = 10;
  937. e.prototype.initState = function() {
  938. var e, t, n = this.gl;
  939. for (this.lastOpacity = 1, this.lastTexture0 = null, this.lastTexture1 = null, this.currentOpacity = 1, n.clearColor(0, 0, 0, 0), n.clear(n.COLOR_BUFFER_BIT), n.enable(n.BLEND), n.blendFunc(n.ONE, n.ONE_MINUS_SRC_ALPHA), n.disable(n.CULL_FACE), n.disable(n.DEPTH_TEST), this.maxTextureSize = n.getParameter(n.MAX_TEXTURE_SIZE), this.lastSrcBlend = n.ONE, this.lastDestBlend = n.ONE_MINUS_SRC_ALPHA, this.pointBuffer = n.createBuffer(), n.bindBuffer(n.ARRAY_BUFFER, this.pointBuffer), this.vertexBuffers = new Array(o), this.texcoordBuffers = new Array(o), e = 0; o > e; e++) this.vertexBuffers[e] = n.createBuffer(), n.bindBuffer(n.ARRAY_BUFFER, this.vertexBuffers[e]), this.texcoordBuffers[e] = n.createBuffer(), n.bindBuffer(n.ARRAY_BUFFER, this.texcoordBuffers[e]);
  940. this.curBuffer = 0, this.indexBuffer = n.createBuffer(), n.bindBuffer(n.ELEMENT_ARRAY_BUFFER, this.indexBuffer), this.vertexData = new Float32Array(2 * r), this.texcoordData = new Float32Array(2 * r), this.pointData = new Float32Array(4 * s);
  941. var u = new Uint16Array(i);
  942. e = 0, t = i;
  943. for (var a = 0; t > e;) u[e++] = a, u[e++] = a + 1, u[e++] = a + 2, u[e++] = a, u[e++] = a + 2, u[e++] = a + 3, a += 4;
  944. n.bufferData(n.ELEMENT_ARRAY_BUFFER, u, n.STATIC_DRAW), this.vertexPtr = 0, this.pointPtr = 0;
  945. var f, l;
  946. this.shaderPrograms = [], f = ["varying mediump vec2 vTex;", "uniform lowp float opacity;", "uniform lowp sampler2D samplerFront;", "void main(void) {", " gl_FragColor = texture2D(samplerFront, vTex);", " gl_FragColor *= opacity;", "}"].join("\n"), l = ["attribute highp vec2 aPos;", "attribute mediump vec2 aTex;", "varying mediump vec2 vTex;", "uniform highp mat4 matP;", "uniform highp mat4 matMV;", "void main(void) {", " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", " vTex = aTex;", "}"].join("\n");
  947. var c = this.createShaderProgram({
  948. src: f
  949. }, l, "<default>");
  950. this.shaderPrograms.push(c), f = ["uniform mediump sampler2D samplerFront;", "varying lowp float opacity;", "void main(void) {", " gl_FragColor = texture2D(samplerFront, gl_PointCoord);", " gl_FragColor *= opacity;", "}"].join("\n");
  951. var h = ["attribute vec4 aPos;", "varying float opacity;", "uniform mat4 matP;", "uniform mat4 matMV;", "void main(void) {", " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", " gl_PointSize = aPos.z;", " opacity = aPos.w;", "}"].join("\n");
  952. c = this.createShaderProgram({
  953. src: f
  954. }, h, "<point>"), this.shaderPrograms.push(c);
  955. for (var p in cr.shaders) cr.shaders.hasOwnProperty(p) && this.shaderPrograms.push(this.createShaderProgram(cr.shaders[p], l, p));
  956. n.activeTexture(n.TEXTURE0), n.bindTexture(n.TEXTURE_2D, null), this.batch = [], this.batchPtr = 0, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1, this.lastProgram = -1, this.currentProgram = -1, this.currentShader = null, this.fbo = n.createFramebuffer(), this.renderToTex = null, this.tmpVec3 = vec3.create([0, 0, 0]);
  957. var d = n.getParameter(n.ALIASED_POINT_SIZE_RANGE);
  958. this.minPointSize = d[0], this.maxPointSize = d[1], this.maxPointSize > 2048 && (this.maxPointSize = 2048), this.switchProgram(0), cr.seal(this)
  959. }, e.prototype.createShaderProgram = function(e, n, r) {
  960. var i = this.gl,
  961. s = i.createShader(i.FRAGMENT_SHADER);
  962. if (i.shaderSource(s, e.src), i.compileShader(s), !i.getShaderParameter(s, i.COMPILE_STATUS)) return i.deleteShader(s), null;
  963. var o = i.createShader(i.VERTEX_SHADER);
  964. if (i.shaderSource(o, n), i.compileShader(o), !i.getShaderParameter(o, i.COMPILE_STATUS)) return i.deleteShader(s), i.deleteShader(o), null;
  965. var u = i.createProgram();
  966. if (i.attachShader(u, s), i.attachShader(u, o), i.linkProgram(u), !i.getProgramParameter(u, i.LINK_STATUS)) return i.deleteShader(s), i.deleteShader(o), i.deleteProgram(u), null;
  967. i.useProgram(u), i.deleteShader(s), i.deleteShader(o);
  968. var a = new t(i, u, r);
  969. a.extendBoxHorizontal = e.extendBoxHorizontal || 0, a.extendBoxVertical = e.extendBoxVertical || 0, a.crossSampling = !!e.crossSampling, a.animated = !!e.animated, a.parameters = e.parameters || [];
  970. var f, l;
  971. for (f = 0, l = a.parameters.length; l > f; f++) a.parameters[f][1] = i.getUniformLocation(u, a.parameters[f][0]), i.uniform1f(a.parameters[f][1], 0);
  972. return cr.seal(a), a
  973. }, e.prototype.getShaderIndex = function(e) {
  974. var t, n;
  975. for (t = 0, n = this.shaderPrograms.length; n > t; t++)
  976. if (this.shaderPrograms[t].name === e) return t;
  977. return -1
  978. }, e.prototype.project = function(e, t, n) {
  979. var r = this.matMV,
  980. i = this.matP,
  981. s = [0, 0, 0, 0, 0, 0, 0, 0];
  982. s[0] = r[0] * e + r[4] * t + r[12], s[1] = r[1] * e + r[5] * t + r[13], s[2] = r[2] * e + r[6] * t + r[14], s[3] = r[3] * e + r[7] * t + r[15], s[4] = i[0] * s[0] + i[4] * s[1] + i[8] * s[2] + i[12] * s[3], s[5] = i[1] * s[0] + i[5] * s[1] + i[9] * s[2] + i[13] * s[3], s[6] = i[2] * s[0] + i[6] * s[1] + i[10] * s[2] + i[14] * s[3], s[7] = -s[2], 0 !== s[7] && (s[7] = 1 / s[7], s[4] *= s[7], s[5] *= s[7], s[6] *= s[7], n[0] = (.5 * s[4] + .5) * this.width, n[1] = (.5 * s[5] + .5) * this.height)
  983. }, e.prototype.setSize = function(e, t, n) {
  984. if (this.width !== e || this.height !== t || n) {
  985. this.endBatch(), this.width = e, this.height = t, this.gl.viewport(0, 0, e, t), mat4.perspective(45, e / t, 1, 1e3, this.matP), mat4.lookAt(this.cam, this.look, this.up, this.matMV);
  986. var r = [0, 0],
  987. i = [0, 0];
  988. this.project(0, 0, r), this.project(1, 1, i), this.worldScale[0] = 1 / (i[0] - r[0]), this.worldScale[1] = -1 / (i[1] - r[1]);
  989. var s, o, u;
  990. for (s = 0, o = this.shaderPrograms.length; o > s; s++) u = this.shaderPrograms[s], u.hasCurrentMatMV = !1, u.locMatP && (this.gl.useProgram(u.shaderProgram), this.gl.uniformMatrix4fv(u.locMatP, !1, this.matP));
  991. this.gl.useProgram(this.shaderPrograms[this.lastProgram].shaderProgram), this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.gl.activeTexture(this.gl.TEXTURE1), this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.gl.activeTexture(this.gl.TEXTURE0), this.lastTexture0 = null, this.lastTexture1 = null
  992. }
  993. }, e.prototype.resetModelView = function() {
  994. mat4.lookAt(this.cam, this.look, this.up, this.matMV), mat4.scale(this.matMV, this.worldScale)
  995. }, e.prototype.translate = function(e, t) {
  996. (0 !== e || 0 !== t) && (this.tmpVec3[0] = e, this.tmpVec3[1] = t, this.tmpVec3[2] = 0, mat4.translate(this.matMV, this.tmpVec3))
  997. }, e.prototype.scale = function(e, t) {
  998. (1 !== e || 1 !== t) && (this.tmpVec3[0] = e, this.tmpVec3[1] = t, this.tmpVec3[2] = 1, mat4.scale(this.matMV, this.tmpVec3))
  999. }, e.prototype.rotateZ = function(e) {
  1000. 0 !== e && mat4.rotateZ(this.matMV, e)
  1001. }, e.prototype.updateModelView = function() {
  1002. for (var e = !1, t = 0; 16 > t; t++)
  1003. if (this.lastMV[t] !== this.matMV[t]) {
  1004. e = !0;
  1005. break
  1006. }
  1007. if (e) {
  1008. var n = this.pushBatch();
  1009. n.type = h, n.mat4param ? mat4.set(this.matMV, n.mat4param) : n.mat4param = mat4.create(this.matMV), mat4.set(this.matMV, this.lastMV), this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1010. }
  1011. }, n.prototype.doSetTexture = function() {
  1012. this.gl.bindTexture(this.gl.TEXTURE_2D, this.texParam)
  1013. }, n.prototype.doSetTexture1 = function() {
  1014. var e = this.gl;
  1015. e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, this.texParam), e.activeTexture(e.TEXTURE0)
  1016. }, n.prototype.doSetOpacity = function() {
  1017. var e = this.opacityParam,
  1018. t = this.glwrap;
  1019. t.currentOpacity = e;
  1020. var n = t.currentShader;
  1021. n.locOpacity && this.gl.uniform1f(n.locOpacity, e)
  1022. }, n.prototype.doQuad = function() {
  1023. this.gl.drawElements(this.gl.TRIANGLES, this.indexCount, this.gl.UNSIGNED_SHORT, 2 * this.startIndex)
  1024. }, n.prototype.doSetBlend = function() {
  1025. this.gl.blendFunc(this.startIndex, this.indexCount)
  1026. }, n.prototype.doUpdateModelView = function() {
  1027. var e, t, n, r = this.glwrap.shaderPrograms,
  1028. i = this.glwrap.currentProgram;
  1029. for (e = 0, t = r.length; t > e; e++) n = r[e], e === i && n.locMatMV ? (this.gl.uniformMatrix4fv(n.locMatMV, !1, this.mat4param), n.hasCurrentMatMV = !0) : n.hasCurrentMatMV = !1;
  1030. mat4.set(this.mat4param, this.glwrap.currentMV)
  1031. }, n.prototype.doRenderToTexture = function() {
  1032. var e = this.gl,
  1033. t = this.glwrap;
  1034. this.texParam ? (t.lastTexture1 === this.texParam && (e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, null), t.lastTexture1 = null, e.activeTexture(e.TEXTURE0)), e.bindFramebuffer(e.FRAMEBUFFER, t.fbo), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.texParam, 0)) : (e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, null, 0), e.bindFramebuffer(e.FRAMEBUFFER, null))
  1035. }, n.prototype.doClear = function() {
  1036. var e = this.gl;
  1037. 0 === this.startIndex ? (e.clearColor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]), e.clear(e.COLOR_BUFFER_BIT)) : (e.enable(e.SCISSOR_TEST), e.scissor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]), e.clearColor(0, 0, 0, 0), e.clear(this.gl.COLOR_BUFFER_BIT), e.disable(e.SCISSOR_TEST))
  1038. }, n.prototype.doPoints = function() {
  1039. var e = this.gl,
  1040. t = this.glwrap,
  1041. n = t.shaderPrograms[1];
  1042. e.useProgram(n.shaderProgram), !n.hasCurrentMatMV && n.locMatMV && (e.uniformMatrix4fv(n.locMatMV, !1, t.currentMV), n.hasCurrentMatMV = !0), e.enableVertexAttribArray(n.locAPos), e.bindBuffer(e.ARRAY_BUFFER, t.pointBuffer), e.vertexAttribPointer(n.locAPos, 4, e.FLOAT, !1, 0, 0), e.drawArrays(e.POINTS, this.startIndex / 4, this.indexCount), n = t.currentShader, e.useProgram(n.shaderProgram), n.locAPos >= 0 && (e.enableVertexAttribArray(n.locAPos), e.bindBuffer(e.ARRAY_BUFFER, t.vertexBuffers[t.curBuffer]), e.vertexAttribPointer(n.locAPos, 2, e.FLOAT, !1, 0, 0)), n.locATex >= 0 && (e.enableVertexAttribArray(n.locATex), e.bindBuffer(e.ARRAY_BUFFER, t.texcoordBuffers[t.curBuffer]), e.vertexAttribPointer(n.locATex, 2, e.FLOAT, !1, 0, 0))
  1043. }, n.prototype.doSetProgram = function() {
  1044. var e = this.gl,
  1045. t = this.glwrap,
  1046. n = t.shaderPrograms[this.startIndex];
  1047. t.currentProgram = this.startIndex, t.currentShader = n, e.useProgram(n.shaderProgram), !n.hasCurrentMatMV && n.locMatMV && (e.uniformMatrix4fv(n.locMatMV, !1, t.currentMV), n.hasCurrentMatMV = !0), n.locOpacity && e.uniform1f(n.locOpacity, t.currentOpacity), n.locAPos >= 0 && (e.enableVertexAttribArray(n.locAPos), e.bindBuffer(e.ARRAY_BUFFER, t.vertexBuffers[t.curBuffer]), e.vertexAttribPointer(n.locAPos, 2, e.FLOAT, !1, 0, 0)), n.locATex >= 0 && (e.enableVertexAttribArray(n.locATex), e.bindBuffer(e.ARRAY_BUFFER, t.texcoordBuffers[t.curBuffer]), e.vertexAttribPointer(n.locATex, 2, e.FLOAT, !1, 0, 0))
  1048. }, n.prototype.doSetProgramParameters = function() {
  1049. var e, t, n = this.glwrap.currentShader,
  1050. r = this.gl,
  1051. i = this.mat4param;
  1052. if (n.locSamplerBack && this.glwrap.lastTexture1 !== this.texParam && (r.activeTexture(r.TEXTURE1), r.bindTexture(r.TEXTURE_2D, this.texParam), this.glwrap.lastTexture1 = this.texParam, r.activeTexture(r.TEXTURE0)), n.locPixelWidth && r.uniform1f(n.locPixelWidth, i[0]), n.locPixelHeight && r.uniform1f(n.locPixelHeight, i[1]), n.locDestStart && r.uniform2f(n.locDestStart, i[2], i[3]), n.locDestEnd && r.uniform2f(n.locDestEnd, i[4], i[5]), n.locLayerScale && r.uniform1f(n.locLayerScale, i[6]), n.locLayerAngle && r.uniform1f(n.locLayerAngle, i[7]), n.locViewOrigin && r.uniform2f(n.locViewOrigin, i[8], i[9]), n.locSeconds && r.uniform1f(n.locSeconds, cr.performance_now() / 1e3), n.parameters.length)
  1053. for (e = 0, t = n.parameters.length; t > e; e++) r.uniform1f(n.parameters[e][1], this.shaderParams[e])
  1054. }, e.prototype.pushBatch = function() {
  1055. return this.batchPtr === this.batch.length && this.batch.push(new n(u, this)), this.batch[this.batchPtr++]
  1056. }, e.prototype.endBatch = function() {
  1057. if (0 !== this.batchPtr && !this.gl.isContextLost()) {
  1058. var e = this.gl;
  1059. if (this.pointPtr > 0 && (e.bindBuffer(e.ARRAY_BUFFER, this.pointBuffer), e.bufferData(e.ARRAY_BUFFER, this.pointData.subarray(0, this.pointPtr), e.STREAM_DRAW), t && t.locAPos >= 0 && "<point>" === t.name && e.vertexAttribPointer(t.locAPos, 4, e.FLOAT, !1, 0, 0)), this.vertexPtr > 0) {
  1060. var t = this.currentShader;
  1061. e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffers[this.curBuffer]), e.bufferData(e.ARRAY_BUFFER, this.vertexData.subarray(0, this.vertexPtr), e.STREAM_DRAW), t && t.locAPos >= 0 && "<point>" !== t.name && e.vertexAttribPointer(t.locAPos, 2, e.FLOAT, !1, 0, 0), e.bindBuffer(e.ARRAY_BUFFER, this.texcoordBuffers[this.curBuffer]), e.bufferData(e.ARRAY_BUFFER, this.texcoordData.subarray(0, this.vertexPtr), e.STREAM_DRAW), t && t.locATex >= 0 && "<point>" !== t.name && e.vertexAttribPointer(t.locATex, 2, e.FLOAT, !1, 0, 0)
  1062. }
  1063. var n, r, i;
  1064. for (n = 0, r = this.batchPtr; r > n; n++) switch (i = this.batch[n], i.type) {
  1065. case 1:
  1066. i.doQuad();
  1067. break;
  1068. case 2:
  1069. i.doSetTexture();
  1070. break;
  1071. case 3:
  1072. i.doSetOpacity();
  1073. break;
  1074. case 4:
  1075. i.doSetBlend();
  1076. break;
  1077. case 5:
  1078. i.doUpdateModelView();
  1079. break;
  1080. case 6:
  1081. i.doRenderToTexture();
  1082. break;
  1083. case 7:
  1084. i.doClear();
  1085. break;
  1086. case 8:
  1087. i.doPoints();
  1088. break;
  1089. case 9:
  1090. i.doSetProgram();
  1091. break;
  1092. case 10:
  1093. i.doSetProgramParameters();
  1094. break;
  1095. case 11:
  1096. i.doSetTexture1()
  1097. }
  1098. this.batchPtr = 0, this.vertexPtr = 0, this.pointPtr = 0, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1, this.curBuffer++, this.curBuffer >= o && (this.curBuffer = 0)
  1099. }
  1100. }, e.prototype.setOpacity = function(e) {
  1101. if (e !== this.lastOpacity) {
  1102. var t = this.pushBatch();
  1103. t.type = l, t.opacityParam = e, this.lastOpacity = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1104. }
  1105. }, e.prototype.setTexture = function(e) {
  1106. if (e !== this.lastTexture0) {
  1107. var t = this.pushBatch();
  1108. t.type = f, t.texParam = e, this.lastTexture0 = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1109. }
  1110. }, e.prototype.setBlend = function(e, t) {
  1111. if (e !== this.lastSrcBlend || t !== this.lastDestBlend) {
  1112. var n = this.pushBatch();
  1113. n.type = c, n.startIndex = e, n.indexCount = t, this.lastSrcBlend = e, this.lastDestBlend = t, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1114. }
  1115. }, e.prototype.isPremultipliedAlphaBlend = function() {
  1116. return this.lastSrcBlend === this.gl.ONE && this.lastDestBlend === this.gl.ONE_MINUS_SRC_ALPHA
  1117. }, e.prototype.setAlphaBlend = function() {
  1118. this.setBlend(this.gl.ONE, this.gl.ONE_MINUS_SRC_ALPHA)
  1119. }, e.prototype.setNoPremultiplyAlphaBlend = function() {
  1120. this.setBlend(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA)
  1121. };
  1122. var y = 2 * r - 8;
  1123. e.prototype.quad = function(e, t, n, r, i, s, o, u) {
  1124. this.vertexPtr >= y && this.endBatch();
  1125. var f = this.vertexPtr,
  1126. l = this.vertexData,
  1127. c = this.texcoordData;
  1128. if (this.hasQuadBatchTop) this.batch[this.batchPtr - 1].indexCount += 6;
  1129. else {
  1130. var h = this.pushBatch();
  1131. h.type = a, h.startIndex = f / 4 * 3, h.indexCount = 6, this.hasQuadBatchTop = !0, this.hasPointBatchTop = !1
  1132. }
  1133. l[f] = e, c[f++] = 0, l[f] = t, c[f++] = 0, l[f] = n, c[f++] = 1, l[f] = r, c[f++] = 0, l[f] = i, c[f++] = 1, l[f] = s, c[f++] = 1, l[f] = o, c[f++] = 0, l[f] = u, c[f++] = 1, this.vertexPtr = f
  1134. }, e.prototype.quadTex = function(e, t, n, r, i, s, o, u, f) {
  1135. this.vertexPtr >= y && this.endBatch();
  1136. var l = this.vertexPtr,
  1137. c = this.vertexData,
  1138. h = this.texcoordData;
  1139. if (this.hasQuadBatchTop) this.batch[this.batchPtr - 1].indexCount += 6;
  1140. else {
  1141. var p = this.pushBatch();
  1142. p.type = a, p.startIndex = l / 4 * 3, p.indexCount = 6, this.hasQuadBatchTop = !0, this.hasPointBatchTop = !1
  1143. }
  1144. var d = f.left,
  1145. v = f.top,
  1146. m = f.right,
  1147. g = f.bottom;
  1148. c[l] = e, h[l++] = d, c[l] = t, h[l++] = v, c[l] = n, h[l++] = m, c[l] = r, h[l++] = v, c[l] = i, h[l++] = m, c[l] = s, h[l++] = g, c[l] = o, h[l++] = d, c[l] = u, h[l++] = g, this.vertexPtr = l
  1149. }, e.prototype.quadTexUV = function(e, t, n, r, i, s, o, u, f, l, c, h, p, d, v, m) {
  1150. this.vertexPtr >= y && this.endBatch();
  1151. var g = this.vertexPtr,
  1152. b = this.vertexData,
  1153. w = this.texcoordData;
  1154. if (this.hasQuadBatchTop) this.batch[this.batchPtr - 1].indexCount += 6;
  1155. else {
  1156. var E = this.pushBatch();
  1157. E.type = a, E.startIndex = g / 4 * 3, E.indexCount = 6, this.hasQuadBatchTop = !0, this.hasPointBatchTop = !1
  1158. }
  1159. b[g] = e, w[g++] = f, b[g] = t, w[g++] = l, b[g] = n, w[g++] = c, b[g] = r, w[g++] = h, b[g] = i, w[g++] = p, b[g] = s, w[g++] = d, b[g] = o, w[g++] = v, b[g] = u, w[g++] = m, this.vertexPtr = g
  1160. }, e.prototype.convexPoly = function(e) {
  1161. var t, n, r, i, s, o, u, a, f = e.length / 2,
  1162. l = f - 2,
  1163. c = l - 1,
  1164. h = e[0],
  1165. p = e[1];
  1166. for (t = 0; l > t; t += 2) n = 2 * t, r = e[n + 2], i = e[n + 3], s = e[n + 4], o = e[n + 5], t === c ? this.quad(h, p, r, i, s, o, s, o) : (u = e[n + 6], a = e[n + 7], this.quad(h, p, r, i, s, o, u, a))
  1167. };
  1168. var b = s - 4;
  1169. e.prototype.point = function(e, t, n, r) {
  1170. this.pointPtr >= b && this.endBatch();
  1171. var i = this.pointPtr,
  1172. s = this.pointData;
  1173. if (this.hasPointBatchTop) this.batch[this.batchPtr - 1].indexCount++;
  1174. else {
  1175. var o = this.pushBatch();
  1176. o.type = v, o.startIndex = i, o.indexCount = 1, this.hasPointBatchTop = !0, this.hasQuadBatchTop = !1
  1177. }
  1178. s[i++] = e, s[i++] = t, s[i++] = n, s[i++] = r, this.pointPtr = i
  1179. }, e.prototype.switchProgram = function(e) {
  1180. if (this.lastProgram !== e) {
  1181. var t = this.shaderPrograms[e];
  1182. if (!t) {
  1183. if (0 === this.lastProgram) return;
  1184. e = 0, t = this.shaderPrograms[0]
  1185. }
  1186. var n = this.pushBatch();
  1187. n.type = m, n.startIndex = e, this.lastProgram = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1188. }
  1189. }, e.prototype.programUsesDest = function(e) {
  1190. var t = this.shaderPrograms[e];
  1191. return !(!t.locDestStart && !t.locDestEnd)
  1192. }, e.prototype.programUsesCrossSampling = function(e) {
  1193. var t = this.shaderPrograms[e];
  1194. return !!(t.locDestStart || t.locDestEnd || t.crossSampling)
  1195. }, e.prototype.programExtendsBox = function(e) {
  1196. var t = this.shaderPrograms[e];
  1197. return 0 !== t.extendBoxHorizontal || 0 !== t.extendBoxVertical
  1198. }, e.prototype.getProgramBoxExtendHorizontal = function(e) {
  1199. return this.shaderPrograms[e].extendBoxHorizontal
  1200. }, e.prototype.getProgramBoxExtendVertical = function(e) {
  1201. return this.shaderPrograms[e].extendBoxVertical
  1202. }, e.prototype.getProgramParameterType = function(e, t) {
  1203. return this.shaderPrograms[e].parameters[t][2]
  1204. }, e.prototype.programIsAnimated = function(e) {
  1205. return this.shaderPrograms[e].animated
  1206. }, e.prototype.setProgramParameters = function(e, t, n, r, i, s, o, u, a, f, l, c) {
  1207. var h, p, d, v, m, y = this.shaderPrograms[this.lastProgram];
  1208. if (y.hasAnyOptionalUniforms || c.length) {
  1209. if (d = this.pushBatch(), d.type = g, d.mat4param ? mat4.set(this.matMV, d.mat4param) : d.mat4param = mat4.create(), v = d.mat4param, v[0] = t, v[1] = n, v[2] = r, v[3] = i, v[4] = s, v[5] = o, v[6] = u, v[7] = a, v[8] = f, v[9] = l, d.texParam = y.locSamplerBack ? e : null, c.length)
  1210. for (m = d.shaderParams, m.length = c.length, h = 0, p = c.length; p > h; h++) m[h] = c[h];
  1211. this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1212. }
  1213. }, e.prototype.clear = function(e, t, n, r) {
  1214. var i = this.pushBatch();
  1215. i.type = d, i.startIndex = 0, i.mat4param || (i.mat4param = mat4.create()), i.mat4param[0] = e, i.mat4param[1] = t, i.mat4param[2] = n, i.mat4param[3] = r, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1216. }, e.prototype.clearRect = function(e, t, n, r) {
  1217. if (!(0 > n || 0 > r)) {
  1218. var i = this.pushBatch();
  1219. i.type = d, i.startIndex = 1, i.mat4param || (i.mat4param = mat4.create()), i.mat4param[0] = e, i.mat4param[1] = t, i.mat4param[2] = n, i.mat4param[3] = r, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1220. }
  1221. }, e.prototype.present = function() {
  1222. this.endBatch(), this.gl.flush()
  1223. };
  1224. var w = [],
  1225. E = {},
  1226. S = 1,
  1227. x = 2,
  1228. T = 3,
  1229. N = 4;
  1230. e.prototype.loadTexture = function(e, t, n, r, i, s) {
  1231. t = !!t, n = !!n;
  1232. // updateShare(0, 0);
  1233. var o = e.src + "," + t + "," + n + (t ? "," + i : ""),
  1234. u = null;
  1235. if ("undefined" != typeof e.src && E.hasOwnProperty(o)) return u = E[o], u.c2refcount++, u;
  1236. this.endBatch();
  1237. var a = this.gl,
  1238. f = cr.isPOT(e.width) && cr.isPOT(e.height);
  1239. u = a.createTexture(), a.bindTexture(a.TEXTURE_2D, u), a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);
  1240. var l = a.RGBA,
  1241. c = a.RGBA,
  1242. h = a.UNSIGNED_BYTE;
  1243. if (r && !this.isIE) switch (r) {
  1244. case S:
  1245. l = a.RGB, c = a.RGB;
  1246. break;
  1247. case x:
  1248. h = a.UNSIGNED_SHORT_4_4_4_4;
  1249. break;
  1250. case T:
  1251. h = a.UNSIGNED_SHORT_5_5_5_1;
  1252. break;
  1253. case N:
  1254. l = a.RGB, c = a.RGB, h = a.UNSIGNED_SHORT_5_6_5
  1255. }
  1256. if (!f && t) {
  1257. var p = document.createElement("canvas");
  1258. p.width = cr.nextHighestPowerOfTwo(e.width), p.height = cr.nextHighestPowerOfTwo(e.height);
  1259. var d = p.getContext("2d");
  1260. d.webkitImageSmoothingEnabled = n, d.mozImageSmoothingEnabled = n, d.msImageSmoothingEnabled = n, d.imageSmoothingEnabled = n, d.drawImage(e, 0, 0, e.width, e.height, 0, 0, p.width, p.height), a.texImage2D(a.TEXTURE_2D, 0, l, c, h, p)
  1261. } else a.texImage2D(a.TEXTURE_2D, 0, l, c, h, e);
  1262. return t ? "repeat-x" === i ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.REPEAT), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE)) : "repeat-y" === i ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.REPEAT)) : (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.REPEAT), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.REPEAT)) : (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE)), n ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.LINEAR), f && this.enable_mipmaps && !s ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR_MIPMAP_LINEAR), a.generateMipmap(a.TEXTURE_2D)) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR)) : (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST)), a.bindTexture(a.TEXTURE_2D, null), this.lastTexture0 = null, u.c2width = e.width, u.c2height = e.height, u.c2refcount = 1, u.c2texkey = o, w.push(u), E[o] = u, u
  1263. }, e.prototype.createEmptyTexture = function(e, t, n, r, i) {
  1264. this.endBatch();
  1265. var s = this.gl;
  1266. this.isIE && (r = !1);
  1267. var o = s.createTexture();
  1268. return s.bindTexture(s.TEXTURE_2D, o), s.texImage2D(s.TEXTURE_2D, 0, s.RGBA, e, t, 0, s.RGBA, r ? s.UNSIGNED_SHORT_4_4_4_4 : s.UNSIGNED_BYTE, null), i ? (s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_S, s.REPEAT), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_T, s.REPEAT)) : (s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_S, s.CLAMP_TO_EDGE), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_T, s.CLAMP_TO_EDGE)), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_MAG_FILTER, n ? s.LINEAR : s.NEAREST), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_MIN_FILTER, n ? s.LINEAR : s.NEAREST), s.bindTexture(s.TEXTURE_2D, null), this.lastTexture0 = null, o.c2width = e, o.c2height = t, w.push(o), o
  1269. }, e.prototype.videoToTexture = function(e, t, n) {
  1270. this.endBatch();
  1271. var r = this.gl;
  1272. this.isIE && (n = !1), r.bindTexture(r.TEXTURE_2D, t), r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0), r.texImage2D(r.TEXTURE_2D, 0, r.RGBA, r.RGBA, n ? r.UNSIGNED_SHORT_4_4_4_4 : r.UNSIGNED_BYTE, e), r.bindTexture(r.TEXTURE_2D, null), this.lastTexture0 = null
  1273. }, e.prototype.deleteTexture = function(e) {
  1274. if (e) {
  1275. if ("undefined" != typeof e.c2refcount && e.c2refcount > 1) return void(e.c2refcount--);
  1276. this.endBatch(), e === this.lastTexture0 && (this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.lastTexture0 = null), e === this.lastTexture1 && (this.gl.activeTexture(this.gl.TEXTURE1), this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.gl.activeTexture(this.gl.TEXTURE0), this.lastTexture1 = null), cr.arrayFindRemove(w, e), "undefined" != typeof e.c2texkey && delete E[e.c2texkey], this.gl.deleteTexture(e)
  1277. }
  1278. }, e.prototype.estimateVRAM = function() {
  1279. var e, t, n, r = this.width * this.height * 4 * 2;
  1280. for (e = 0, t = w.length; t > e; e++) n = w[e], r += n.c2width * n.c2height * 4;
  1281. return r
  1282. }, e.prototype.textureCount = function() {
  1283. return w.length
  1284. }, e.prototype.setRenderingToTexture = function(e) {
  1285. if (e !== this.renderToTex) {
  1286. var t = this.pushBatch();
  1287. t.type = p, t.texParam = e, this.renderToTex = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
  1288. }
  1289. }, cr.GLWrap = e
  1290. }(),
  1291. function() {
  1292. function e(e) {
  1293. if (e && (e.getContext || e.dc) && !e.c2runtime) {
  1294. e.c2runtime = this;
  1295. var t = this;
  1296. this.isCrosswalk = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !("undefined" == typeof window.c2isCrosswalk || !window.c2isCrosswalk), this.isPhoneGap = !this.isCrosswalk && "undefined" != typeof window.device && ("undefined" != typeof window.device.cordova || "undefined" != typeof window.device.phonegap) || "undefined" != typeof window.c2isphonegap && window.c2isphonegap, this.isDirectCanvas = !!e.dc, this.isAppMobi = "undefined" != typeof window.AppMobi || this.isDirectCanvas, this.isCocoonJs = !!window.c2cocoonjs, this.isEjecta = !!window.c2ejecta, this.isCocoonJs && (CocoonJS.App.onSuspended.addEventListener(function() {
  1297. t.setSuspended(!0)
  1298. }), CocoonJS.App.onActivated.addEventListener(function() {
  1299. t.setSuspended(!1)
  1300. })), this.isEjecta && (document.addEventListener("pagehide", function() {
  1301. t.setSuspended(!0)
  1302. }), document.addEventListener("pageshow", function() {
  1303. t.setSuspended(!1)
  1304. }), document.addEventListener("resize", function() {
  1305. t.setSize(window.innerWidth, window.innerHeight)
  1306. })), this.isDomFree = this.isDirectCanvas || this.isCocoonJs || this.isEjecta, this.isIE = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent), this.isTizen = /tizen/i.test(navigator.userAgent), this.isAndroid = /android/i.test(navigator.userAgent) && !this.isTizen && !this.isIE, this.isiPhone = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) && !this.isIE, this.isiPad = /ipad/i.test(navigator.userAgent), this.isiOS = this.isiPhone || this.isiPad || this.isEjecta, this.isiPhoneiOS6 = this.isiPhone && /os\s6/i.test(navigator.userAgent), this.isChrome = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), this.isAmazonWebApp = /amazonwebappplatform/i.test(navigator.userAgent), this.isFirefox = /firefox/i.test(navigator.userAgent), this.isSafari = /safari/i.test(navigator.userAgent) && !this.isChrome && !this.isIE, this.isWindows = /windows/i.test(navigator.userAgent), this.isNodeWebkit = "undefined" != typeof window.c2nodewebkit || /nodewebkit/i.test(navigator.userAgent), this.isArcade = "undefined" != typeof window.is_scirra_arcade, this.isWindows8App = !("undefined" == typeof window.c2isWindows8 || !window.c2isWindows8), this.isWindows8Capable = !("undefined" == typeof window.c2isWindows8Capable || !window.c2isWindows8Capable), this.isWindowsPhone8 = !("undefined" == typeof window.c2isWindowsPhone8 || !window.c2isWindowsPhone8), this.isWindowsPhone81 = !("undefined" == typeof window.c2isWindowsPhone81 || !window.c2isWindowsPhone81), this.isWinJS = this.isWindows8App || this.isWindows8Capable || this.isWindowsPhone81, this.isBlackberry10 = !("undefined" == typeof window.c2isBlackberry10 || !window.c2isBlackberry10), this.isAndroidStockBrowser = this.isAndroid && !this.isChrome && !this.isFirefox && !this.isAmazonWebApp && !this.isDomFree, this.devicePixelRatio = 1, this.isMobile = this.isPhoneGap || this.isCrosswalk || this.isAppMobi || this.isCocoonJs || this.isAndroid || this.isiOS || this.isWindowsPhone8 || this.isWindowsPhone81 || this.isBlackberry10 || this.isTizen || this.isEjecta, this.isMobile || (this.isMobile = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent)), "undefined" == typeof cr_is_preview || this.isNodeWebkit || "?nw" !== window.location.search && !/nodewebkit/i.test(navigator.userAgent) || (this.isNodeWebkit = !0), this.isDebug = "undefined" != typeof cr_is_preview && window.location.search.indexOf("debug") > -1, this.canvas = e, this.canvasdiv = document.getElementById("c2canvasdiv"), this.gl = null, this.glwrap = null, this.ctx = null, this.fullscreenOldMarginCss = "", this.firstInFullscreen = !1, this.oldWidth = 0, this.oldHeight = 0, this.canvas.oncontextmenu = function(e) {
  1307. return e.preventDefault && e.preventDefault(), !1
  1308. }, this.canvas.onselectstart = function(e) {
  1309. return e.preventDefault && e.preventDefault(), !1
  1310. }, this.isDirectCanvas && (window.c2runtime = this), this.isNodeWebkit && (window.ondragover = function(e) {
  1311. return e.preventDefault(), !1
  1312. }, window.ondrop = function(e) {
  1313. return e.preventDefault(), !1
  1314. }, require("nw.gui").App.clearCache()), this.width = e.width, this.height = e.height, this.draw_width = this.width, this.draw_height = this.height, this.cssWidth = this.width, this.cssHeight = this.height, this.lastWindowWidth = window.innerWidth, this.lastWindowHeight = window.innerHeight, this.redraw = !0, this.isSuspended = !1, Date.now || (Date.now = function() {
  1315. return +(new Date)
  1316. }), this.plugins = [], this.types = {}, this.types_by_index = [], this.behaviors = [], this.layouts = {}, this.layouts_by_index = [], this.eventsheets = {}, this.eventsheets_by_index = [], this.wait_for_textures = [], this.triggers_to_postinit = [], this.all_global_vars = [], this.all_local_vars = [], this.solidBehavior = null, this.jumpthruBehavior = null, this.shadowcasterBehavior = null, this.deathRow = new cr.ObjectSet, this.isInClearDeathRow = !1, this.isInOnDestroy = 0, this.isRunningEvents = !1, this.createRow = [], this.isLoadingState = !1, this.saveToSlot = "", this.loadFromSlot = "", this.loadFromJson = "", this.lastSaveJson = "", this.signalledContinuousPreview = !1, this.suspendDrawing = !1, this.dt = 0, this.dt1 = 0, this.logictime = 0, this.cpuutilisation = 0, this.zeroDtCount = 0, this.timescale = 1, this.kahanTime = new cr.KahanAdder, this.last_tick_time = 0, this.measuring_dt = !0, this.fps = 0, this.last_fps_time = 0, this.tickcount = 0, this.execcount = 0, this.framecount = 0, this.objectcount = 0, this.changelayout = null, this.destroycallbacks = [], this.event_stack = [], this.event_stack_index = -1, this.localvar_stack = [
  1317. []
  1318. ], this.localvar_stack_index = 0, this.trigger_depth = 0, this.pushEventStack(null), this.loop_stack = [], this.loop_stack_index = -1, this.next_uid = 0, this.next_puid = 0, this.layout_first_tick = !0, this.family_count = 0, this.suspend_events = [], this.raf_id = -1, this.timeout_id = -1, this.isloading = !0, this.loadingprogress = 0, this.isNodeFullscreen = !1, this.stackLocalCount = 0, this.audioInstance = null, this.halfFramerateMode = !1, this.lastRafTime = 0, this.ranLastRaf = !1, this.had_a_click = !1, this.isInUserInputEvent = !1, this.objects_to_pretick = new cr.ObjectSet, this.objects_to_tick = new cr.ObjectSet, this.objects_to_tick2 = new cr.ObjectSet, this.registered_collisions = [], this.temp_poly = new cr.CollisionPoly([]), this.temp_poly2 = new cr.CollisionPoly([]), this.allGroups = [], this.groups_by_name = {}, this.cndsBySid = {}, this.actsBySid = {}, this.varsBySid = {}, this.blocksBySid = {}, this.running_layout = null, this.layer_canvas = null, this.layer_ctx = null, this.layer_tex = null, this.layout_tex = null, this.layout_canvas = null, this.layout_ctx = null, this.is_WebGL_context_lost = !1, this.uses_background_blending = !1, this.fx_tex = [null, null], this.fullscreen_scaling = 0, this.files_subfolder = "", this.objectsByUid = {}, this.loaderlogo = null, this.snapshotCanvas = null, this.snapshotData = "", this.load(), this.isRetina = (!this.isDomFree || this.isEjecta) && this.useHighDpi && !this.isAndroidStockBrowser, this.devicePixelRatio = this.isRetina ? window.devicePixelRatio || window.webkitDevicePixelRatio || window.mozDevicePixelRatio || window.msDevicePixelRatio || 1 : 1, this.ClearDeathRow();
  1319. var n, r = this.alphaBackground && !(this.isNodeWebkit || this.isWinJS || this.isWindowsPhone8 || this.isCrosswalk);
  1320. this.fullscreen_mode > 0 && this.setSize(window.innerWidth, window.innerHeight, !0);
  1321. try {
  1322. this.enableWebGL && (this.isCocoonJs || this.isEjecta || !this.isDomFree) && (n = {
  1323. alpha: r,
  1324. depth: !1,
  1325. antialias: !1,
  1326. failIfMajorPerformanceCaveat: !0
  1327. }, this.gl = e.getContext("webgl", n) || e.getContext("experimental-webgl", n))
  1328. } catch (i) {}
  1329. if (this.gl) {
  1330. this.isDomFree || (this.overlay_canvas = document.createElement("canvas"), jQuery(this.overlay_canvas).appendTo(this.canvas.parentNode), this.overlay_canvas.oncontextmenu = function() {
  1331. return !1
  1332. }, this.overlay_canvas.onselectstart = function() {
  1333. return !1
  1334. }, this.overlay_canvas.width = this.cssWidth, this.overlay_canvas.height = this.cssHeight, jQuery(this.overlay_canvas).css({
  1335. width: this.cssWidth + "px",
  1336. height: this.cssHeight + "px"
  1337. }), this.positionOverlayCanvas(), this.overlay_ctx = this.overlay_canvas.getContext("2d")), this.glwrap = new cr.GLWrap(this.gl, this.isMobile), this.glwrap.setSize(e.width, e.height), this.glwrap.enable_mipmaps = 0 !== this.downscalingQuality, this.ctx = null, this.canvas.addEventListener("webglcontextlost", function(e) {
  1338. e.preventDefault(), t.onContextLost(), console.log("[Construct 2] WebGL context lost"), window.cr_setSuspended(!0)
  1339. }, !1), this.canvas.addEventListener("webglcontextrestored", function() {
  1340. t.glwrap.initState(), t.glwrap.setSize(t.glwrap.width, t.glwrap.height, !0), t.layer_tex = null, t.layout_tex = null, t.fx_tex[0] = null, t.fx_tex[1] = null, t.onContextRestored(), t.redraw = !0, console.log("[Construct 2] WebGL context restored"), window.cr_setSuspended(!1)
  1341. }, !1);
  1342. var s, o, u, a, f, l, c, h, p, d;
  1343. for (s = 0, o = this.types_by_index.length; o > s; s++)
  1344. for (c = this.types_by_index[s], u = 0, a = c.effect_types.length; a > u; u++) h = c.effect_types[u], h.shaderindex = this.glwrap.getShaderIndex(h.id), this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(h.shaderindex);
  1345. for (s = 0, o = this.layouts_by_index.length; o > s; s++) {
  1346. for (p = this.layouts_by_index[s], u = 0, a = p.effect_types.length; a > u; u++) h = p.effect_types[u], h.shaderindex = this.glwrap.getShaderIndex(h.id);
  1347. for (u = 0, a = p.layers.length; a > u; u++)
  1348. for (d = p.layers[u], f = 0, l = d.effect_types.length; l > f; f++) h = d.effect_types[f], h.shaderindex = this.glwrap.getShaderIndex(h.id), this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(h.shaderindex)
  1349. }
  1350. } else {
  1351. if (this.fullscreen_mode > 0 && this.isDirectCanvas) {
  1352. this.canvas = null, document.oncontextmenu = function() {
  1353. return !1
  1354. }, document.onselectstart = function() {
  1355. return !1
  1356. }, this.ctx = AppMobi.canvas.getContext("2d");
  1357. try {
  1358. this.ctx.samplingMode = this.linearSampling ? "smooth" : "sharp", this.ctx.globalScale = 1, this.ctx.HTML5CompatibilityMode = !0, this.ctx.imageSmoothingEnabled = this.linearSampling
  1359. } catch (i) {}
  1360. 0 !== this.width && 0 !== this.height && (this.ctx.width = this.width, this.ctx.height = this.height)
  1361. }
  1362. this.ctx || (this.isCocoonJs ? (n = {
  1363. antialias: !!this.linearSampling,
  1364. alpha: r
  1365. }, this.ctx = e.getContext("2d", n)) : (n = {
  1366. alpha: r
  1367. }, this.ctx = e.getContext("2d", n)), this.ctx.webkitImageSmoothingEnabled = this.linearSampling, this.ctx.mozImageSmoothingEnabled = this.linearSampling, this.ctx.msImageSmoothingEnabled = this.linearSampling, this.ctx.imageSmoothingEnabled = this.linearSampling), this.overlay_canvas = null, this.overlay_ctx = null
  1368. }
  1369. this.tickFunc = function() {
  1370. t.tick(!1)
  1371. }, window == window.top || this.isDomFree || this.isWinJS || this.isWindowsPhone8 || (document.addEventListener("mousedown", function() {
  1372. window.focus()
  1373. }, !0), document.addEventListener("touchstart", function() {
  1374. window.focus()
  1375. }, !0)), "undefined" != typeof cr_is_preview && (this.isCocoonJs && console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"), window.location.search.indexOf("continuous") > -1 && (cr.logexport("Reloading for continuous preview"), this.loadFromSlot = "__c2_continuouspreview", this.suspendDrawing = !0), this.pauseOnBlur && !this.isMobile && (jQuery(window).focus(function() {
  1376. t.setSuspended(!1)
  1377. }), jQuery(window).blur(function() {
  1378. t.setSuspended(!0)
  1379. })));
  1380. var v = function(e) {
  1381. cr.isCanvasInputEvent(e) && document.activeElement && document.activeElement.blur && document.activeElement.blur()
  1382. };
  1383. window.navigator.pointerEnabled ? document.addEventListener("pointerdown", v) : window.navigator.msPointerEnabled ? document.addEventListener("MSPointerDown", v) : document.addEventListener("touchstart", v), 0 === this.fullscreen_mode && this.isRetina && this.devicePixelRatio > 1 && this.setSize(this.original_width, this.original_height, !0), this.tryLockOrientation(), this.getready(), this.go(), this.extra = {}, cr.seal(this)
  1384. }
  1385. }
  1386. function t(e) {
  1387. var t = e.target.result;
  1388. t.createObjectStore("saves", {
  1389. keyPath: "slot"
  1390. })
  1391. }
  1392. function n(e, n, r, i) {
  1393. var s = indexedDB.open("_C2SaveStates");
  1394. s.onupgradeneeded = t, s.onerror = i, s.onsuccess = function(t) {
  1395. var s = t.target.result;
  1396. s.onerror = i;
  1397. var o = s.transaction(["saves"], "readwrite"),
  1398. u = o.objectStore("saves"),
  1399. a = u.put({
  1400. slot: e,
  1401. data: n
  1402. });
  1403. a.onsuccess = r
  1404. }
  1405. }
  1406. function r(e, n, r) {
  1407. var i = indexedDB.open("_C2SaveStates");
  1408. i.onupgradeneeded = t, i.onerror = r, i.onsuccess = function(t) {
  1409. var i = t.target.result;
  1410. i.onerror = r;
  1411. var s = i.transaction(["saves"]),
  1412. o = s.objectStore("saves"),
  1413. u = o.get(e);
  1414. u.onsuccess = function() {
  1415. n(u.result ? u.result.data : null)
  1416. }
  1417. }
  1418. }
  1419. function i() {
  1420. cr.logexport("Reloading for continuous preview"), window.c2cocoonjs ? CocoonJS.App.reload() : window.location.search.indexOf("continuous") > -1 ? window.location.reload(!0) : window.location = window.location + "?continuous"
  1421. }
  1422. function s(e) {
  1423. var t, n = {};
  1424. for (t in e)
  1425. if (e.hasOwnProperty(t)) {
  1426. if (e[t] instanceof cr.ObjectSet) continue;
  1427. if (e[t] && "undefined" != typeof e[t].c2userdata) continue;
  1428. n[t] = e[t]
  1429. }
  1430. return n
  1431. }
  1432. e.prototype.setSize = function(e, t, n) {
  1433. var r = 0,
  1434. i = 0,
  1435. s = 0,
  1436. o = 0,
  1437. u = 0,
  1438. a = this.isiPhoneiOS6 && this.isSafari && !navigator.standalone && !this.isDomFree && !this.isPhoneGap;
  1439. if (a && (t += 60), this.lastWindowWidth !== e || this.lastWindowHeight !== t || n) {
  1440. this.lastWindowWidth = e, this.lastWindowHeight = t;
  1441. var f, l, c = this.fullscreen_mode,
  1442. h = (document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.isNodeFullscreen) && !this.isPhoneGap;
  1443. if (h || 0 !== this.fullscreen_mode || n) {
  1444. h && this.fullscreen_scaling > 0 && (c = this.fullscreen_scaling);
  1445. var p = this.devicePixelRatio;
  1446. c >= 4 ? (f = this.original_width / this.original_height, l = e / t, l > f ? (s = t * f, 5 === c ? (u = s * p / this.original_width, u > 1 ? u = Math.floor(u) : 1 > u && (u = 1 / Math.ceil(1 / u)), s = this.original_width * u / p, o = this.original_height * u / p, r = (e - s) / 2, i = (t - o) / 2, e = s, t = o) : (r = (e - s) / 2, e = s)) : (o = e / f, 5 === c ? (u = o * p / this.original_height, u > 1 ? u = Math.floor(u) : 1 > u && (u = 1 / Math.ceil(1 / u)), s = this.original_width * u / p, o = this.original_height * u / p, r = (e - s) / 2, i = (t - o) / 2, e = s, t = o) : (i = (t - o) / 2, t = o)), h && !this.isNodeWebkit && (r = 0, i = 0)) : this.isNodeWebkit && this.isNodeFullscreen && 0 === this.fullscreen_mode_set && (r = Math.floor((e - this.original_width) / 2), i = Math.floor((t - this.original_height) / 2), e = this.original_width, t = this.original_height), 2 > c && (this.aspect_scale = p), this.isRetina && this.isiPad && p > 1 && (e >= 1024 && (e = 1023), t >= 1024 && (t = 1023)), this.cssWidth = Math.round(e), this.cssHeight = Math.round(t), this.width = Math.round(e * p), this.height = Math.round(t * p), this.redraw = !0, this.wantFullscreenScalingQuality ? (this.draw_width = this.width, this.draw_height = this.height, this.fullscreenScalingQuality = !0) : this.width < this.original_width && this.height < this.original_height || 1 === c ? (this.draw_width = this.width, this.draw_height = this.height, this.fullscreenScalingQuality = !0) : (this.draw_width = this.original_width, this.draw_height = this.original_height, this.fullscreenScalingQuality = !1, 2 === c ? (f = this.original_width / this.original_height, l = this.lastWindowWidth / this.lastWindowHeight, f > l ? this.draw_width = this.draw_height * l : l > f && (this.draw_height = this.draw_width / l)) : 3 === c && (f = this.original_width / this.original_height, l = this.lastWindowWidth / this.lastWindowHeight, l > f ? this.draw_width = this.draw_height * l : f > l && (this.draw_height = this.draw_width / l))), this.canvasdiv && !this.isDomFree && (jQuery(this.canvasdiv).css({
  1447. width: Math.round(e) + "px",
  1448. height: Math.round(t) + "px",
  1449. "margin-left": Math.floor(r) + "px",
  1450. "margin-top": Math.floor(i) + "px"
  1451. }), "undefined" != typeof cr_is_preview && jQuery("#borderwrap").css({
  1452. width: Math.round(e) + "px",
  1453. height: Math.round(t) + "px"
  1454. })), this.canvas && (this.canvas.width = Math.round(e * p), this.canvas.height = Math.round(t * p), this.isEjecta ? (this.canvas.style.left = Math.floor(r) + "px", this.canvas.style.top = Math.floor(i) + "px", this.canvas.style.width = Math.round(e) + "px", this.canvas.style.height = Math.round(t) + "px") : this.isRetina && !this.isDomFree && jQuery(this.canvas).css({
  1455. width: Math.round(e) + "px",
  1456. height: Math.round(t) + "px"
  1457. })), this.overlay_canvas && (this.overlay_canvas.width = Math.round(e), this.overlay_canvas.height = Math.round(t), jQuery(this.overlay_canvas).css({
  1458. width: Math.round(e) + "px",
  1459. height: Math.round(t) + "px"
  1460. })), this.glwrap && this.glwrap.setSize(Math.round(e * p), Math.round(t * p)), this.isDirectCanvas && this.ctx && (this.ctx.width = Math.round(e), this.ctx.height = Math.round(t)), this.ctx && (this.ctx.webkitImageSmoothingEnabled = this.linearSampling, this.ctx.mozImageSmoothingEnabled = this.linearSampling, this.ctx.msImageSmoothingEnabled = this.linearSampling, this.ctx.imageSmoothingEnabled = this.linearSampling), this.tryLockOrientation(), this.isDomFree || !a && !this.isiPhone || window.setTimeout(function() {
  1461. window.scrollTo(0, 1)
  1462. }, 100)
  1463. }
  1464. }
  1465. }, e.prototype.tryLockOrientation = function() {
  1466. if (this.autoLockOrientation && 0 !== this.orientations) {
  1467. var e = "portrait";
  1468. 2 === this.orientations && (e = "landscape"), screen.lockOrientation ? screen.lockOrientation(e) : screen.webkitLockOrientation ? screen.webkitLockOrientation(e) : screen.mozLockOrientation ? screen.mozLockOrientation(e) : screen.msLockOrientation && screen.msLockOrientation(e)
  1469. }
  1470. }, e.prototype.onContextLost = function() {
  1471. this.is_WebGL_context_lost = !0;
  1472. var e, t, n;
  1473. for (e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.onLostWebGLContext && n.onLostWebGLContext()
  1474. }, e.prototype.onContextRestored = function() {
  1475. this.is_WebGL_context_lost = !1;
  1476. var e, t, n;
  1477. for (e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.onRestoreWebGLContext && n.onRestoreWebGLContext()
  1478. }, e.prototype.positionOverlayCanvas = function() {
  1479. if (!this.isDomFree) {
  1480. var e = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.isNodeFullscreen) && !this.isPhoneGap,
  1481. t = e ? jQuery(this.canvas).offset() : jQuery(this.canvas).position();
  1482. t.position = "absolute", jQuery(this.overlay_canvas).css(t)
  1483. }
  1484. };
  1485. var o = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame || window.oCancelAnimationFrame;
  1486. e.prototype.setSuspended = function(e) {
  1487. var t, n;
  1488. if (e && !this.isSuspended)
  1489. for (cr.logexport("[Construct 2] Suspending"), this.isSuspended = !0, -1 !== this.raf_id && o && o(this.raf_id), -1 !== this.timeout_id && clearTimeout(this.timeout_id), t = 0, n = this.suspend_events.length; n > t; t++) this.suspend_events[t](!0);
  1490. else if (!e && this.isSuspended) {
  1491. for (cr.logexport("[Construct 2] Resuming"), this.isSuspended = !1, this.last_tick_time = cr.performance_now(), this.last_fps_time = cr.performance_now(), this.framecount = 0, this.logictime = 0, t = 0, n = this.suspend_events.length; n > t; t++) this.suspend_events[t](!1);
  1492. this.tick(!1)
  1493. }
  1494. }, e.prototype.addSuspendCallback = function(e) {
  1495. this.suspend_events.push(e)
  1496. }, e.prototype.load = function() {
  1497. var e = cr.getProjectModel();
  1498. this.name = e[0], this.first_layout = e[1], this.fullscreen_mode = e[12], this.fullscreen_mode_set = e[12], this.original_width = e[10], this.original_height = e[11], this.parallax_x_origin = this.original_width / 2, this.parallax_y_origin = this.original_height / 2, this.isDomFree && !this.isEjecta && (e[12] >= 4 || 0 === e[12]) && (cr.logexport("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"), this.fullscreen_mode = 3, this.fullscreen_mode_set = 3), this.uses_loader_layout = e[18], this.loaderstyle = e[19], 0 === this.loaderstyle && (this.loaderlogo = new Image, this.loaderlogo.src = "loading-logo.png"), this.next_uid = e[21], this.system = new cr.system_object(this);
  1499. var t, n, r, i, s, o, u, a, f, l, c, h;
  1500. for (t = 0, n = e[2].length; n > t; t++) u = e[2][t], cr.add_common_aces(u), c = new u[0](this), c.singleglobal = u[1], c.is_world = u[2], c.must_predraw = u[9], c.onCreate && c.onCreate(), cr.seal(c), this.plugins.push(c);
  1501. for (e = cr.getProjectModel(), t = 0, n = e[3].length; n > t; t++) {
  1502. for (u = e[3][t], h = u[1], c = null, r = 0, i = this.plugins.length; i > r; r++)
  1503. if (this.plugins[r] instanceof h) {
  1504. c = this.plugins[r];
  1505. break
  1506. }
  1507. var p = new c.Type(c);
  1508. for (p.name = u[0], p.is_family = u[2], p.instvar_sids = u[3].slice(0), p.vars_count = u[3].length, p.behs_count = u[4], p.fx_count = u[5], p.sid = u[11], p.is_family ? (p.members = [], p.family_index = this.family_count++, p.families = null) : (p.members = null, p.family_index = -1, p.families = []), p.family_var_map = null, p.family_beh_map = null, p.family_fx_map = null, p.is_contained = !1, p.container = null, u[6] ? (p.texture_file = u[6][0], p.texture_filesize = u[6][1], p.texture_pixelformat = u[6][2]) : (p.texture_file = null, p.texture_filesize = 0, p.texture_pixelformat = 0), p.animations = u[7] ? u[7] : null, p.index = t, p.instances = [], p.deadCache = [], p.solstack = [new cr.selection(p)], p.cur_sol = 0, p.default_instance = null, p.default_layerindex = 0, p.stale_iids = !0, p.updateIIDs = cr.type_updateIIDs, p.getFirstPicked = cr.type_getFirstPicked, p.getPairedInstance = cr.type_getPairedInstance, p.getCurrentSol = cr.type_getCurrentSol, p.pushCleanSol = cr.type_pushCleanSol, p.pushCopySol = cr.type_pushCopySol, p.popSol = cr.type_popSol, p.getBehaviorByName = cr.type_getBehaviorByName, p.getBehaviorIndexByName = cr.type_getBehaviorIndexByName, p.getEffectIndexByName = cr.type_getEffectIndexByName, p.applySolToContainer = cr.type_applySolToContainer, p.getInstanceByIID = cr.type_getInstanceByIID, p.collision_grid = new cr.SparseGrid(this.original_width, this.original_height), p.any_cell_changed = !0, p.any_instance_parallaxed = !1, p.extra = {}, p.toString = cr.type_toString, p.behaviors = [], r = 0, i = u[8].length; i > r; r++) {
  1509. a = u[8][r];
  1510. var d = a[1],
  1511. v = null;
  1512. for (s = 0, o = this.behaviors.length; o > s; s++)
  1513. if (this.behaviors[s] instanceof d) {
  1514. v = this.behaviors[s];
  1515. break
  1516. }
  1517. v || (v = new d(this), v.my_types = [], v.my_instances = new cr.ObjectSet, v.onCreate && v.onCreate(), cr.seal(v), this.behaviors.push(v), cr.behaviors.solid && v instanceof cr.behaviors.solid && (this.solidBehavior = v), cr.behaviors.jumpthru && v instanceof cr.behaviors.jumpthru && (this.jumpthruBehavior = v), cr.behaviors.shadowcaster && v instanceof cr.behaviors.shadowcaster && (this.shadowcasterBehavior = v)), -1 === v.my_types.indexOf(p) && v.my_types.push(p);
  1518. var m = new v.Type(v, p);
  1519. m.name = a[0], m.sid = a[2], m.onCreate(), cr.seal(m), p.behaviors.push(m)
  1520. }
  1521. for (p.global = u[9], p.isOnLoaderLayout = u[10], p.effect_types = [], r = 0, i = u[12].length; i > r; r++) p.effect_types.push({
  1522. id: u[12][r][0],
  1523. name: u[12][r][1],
  1524. shaderindex: -1,
  1525. active: !0,
  1526. index: r
  1527. });
  1528. if (p.tile_poly_data = u[13], (!this.uses_loader_layout || p.is_family || p.isOnLoaderLayout || !c.is_world) && (p.onCreate(), cr.seal(p)), p.name && (this.types[p.name] = p), this.types_by_index.push(p), c.singleglobal) {
  1529. var g = new c.Instance(p);
  1530. g.uid = this.next_uid++, g.puid = this.next_puid++, g.iid = 0, g.get_iid = cr.inst_get_iid, g.toString = cr.inst_toString, g.properties = u[14], g.onCreate(), cr.seal(g), p.instances.push(g), this.objectsByUid[g.uid.toString()] = g
  1531. }
  1532. }
  1533. for (t = 0, n = e[4].length; n > t; t++) {
  1534. var y, b = e[4][t],
  1535. w = this.types_by_index[b[0]];
  1536. for (r = 1, i = b.length; i > r; r++) y = this.types_by_index[b[r]], y.families.push(w), w.members.push(y)
  1537. }
  1538. for (t = 0, n = e[26].length; n > t; t++) {
  1539. var E = e[26][t],
  1540. S = [];
  1541. for (r = 0, i = E.length; i > r; r++) S.push(this.types_by_index[E[r]]);
  1542. for (r = 0, i = S.length; i > r; r++) S[r].is_contained = !0, S[r].container = S
  1543. }
  1544. if (this.family_count > 0)
  1545. for (t = 0, n = this.types_by_index.length; n > t; t++)
  1546. if (f = this.types_by_index[t], !f.is_family && f.families.length) {
  1547. f.family_var_map = new Array(this.family_count), f.family_beh_map = new Array(this.family_count), f.family_fx_map = new Array(this.family_count);
  1548. var x = [],
  1549. T = 0,
  1550. N = 0,
  1551. C = 0;
  1552. for (r = 0, i = f.families.length; i > r; r++)
  1553. for (l = f.families[r], f.family_var_map[l.family_index] = T, T += l.vars_count, f.family_beh_map[l.family_index] = N, N += l.behs_count, f.family_fx_map[l.family_index] = C, C += l.fx_count, s = 0, o = l.effect_types.length; o > s; s++) x.push(cr.shallowCopy({}, l.effect_types[s]));
  1554. for (f.effect_types = x.concat(f.effect_types), r = 0, i = f.effect_types.length; i > r; r++) f.effect_types[r].index = r
  1555. }
  1556. for (t = 0, n = e[5].length; n > t; t++) {
  1557. u = e[5][t];
  1558. var k = new cr.layout(this, u);
  1559. cr.seal(k), this.layouts[k.name] = k, this.layouts_by_index.push(k)
  1560. }
  1561. for (t = 0, n = e[6].length; n > t; t++) {
  1562. u = e[6][t];
  1563. var L = new cr.eventsheet(this, u);
  1564. cr.seal(L), this.eventsheets[L.name] = L, this.eventsheets_by_index.push(L)
  1565. }
  1566. for (t = 0, n = this.eventsheets_by_index.length; n > t; t++) this.eventsheets_by_index[t].postInit();
  1567. for (t = 0, n = this.eventsheets_by_index.length; n > t; t++) this.eventsheets_by_index[t].updateDeepIncludes();
  1568. for (t = 0, n = this.triggers_to_postinit.length; n > t; t++) this.triggers_to_postinit[t].postInit();
  1569. this.triggers_to_postinit.length = 0, this.audio_to_preload = e[7], this.files_subfolder = e[8], this.pixel_rounding = e[9], this.aspect_scale = 1, this.enableWebGL = e[13], this.linearSampling = e[14], this.alphaBackground = e[15], this.versionstr = e[16], this.useHighDpi = e[17], this.orientations = e[20], this.autoLockOrientation = this.orientations > 0, this.pauseOnBlur = e[22], this.wantFullscreenScalingQuality = e[23], this.fullscreenScalingQuality = this.wantFullscreenScalingQuality, this.downscalingQuality = e[24], this.preloadSounds = e[25], this.start_time = Date.now()
  1570. };
  1571. var u = !1;
  1572. e.prototype.waitForImageLoad = function(e) {
  1573. e.onerror = function(t) {
  1574. e.c2error = !0, u = !0, console && console.error && console.error("Error loading image '" + e.src + "': ", t)
  1575. }, this.wait_for_textures.push(e)
  1576. }, e.prototype.findWaitingTexture = function(e) {
  1577. var t, n;
  1578. for (t = 0, n = this.wait_for_textures.length; n > t; t++)
  1579. if (this.wait_for_textures[t].cr_src === e) return this.wait_for_textures[t];
  1580. return null
  1581. };
  1582. var a = 0,
  1583. f = !1;
  1584. e.prototype.getready = function() {
  1585. this.audioInstance && (a = this.audioInstance.setPreloadList(this.audio_to_preload))
  1586. }, e.prototype.areAllTexturesAndSoundsLoaded = function() {
  1587. var e, t, n, r = a,
  1588. i = 0,
  1589. s = 0,
  1590. o = !0;
  1591. for (e = 0, t = this.wait_for_textures.length; t > e; e++) {
  1592. n = this.wait_for_textures[e];
  1593. var u = n.cr_filesize;
  1594. (!u || 0 >= u) && (u = 5e4), r += u, !n.complete && !n.loaded || n.c2error ? o = !1 : i += u
  1595. }
  1596. return o && this.preloadSounds && this.audioInstance && (f || (this.audioInstance.startPreloads(), f = !0), s = this.audioInstance.getPreloadedSize(), i += s, a > s && (o = !1)), this.progress = 0 == r ? 0 : i / r, o
  1597. }, e.prototype.go = function() {
  1598. if (this.ctx || this.glwrap) {
  1599. var e = this.ctx || this.overlay_ctx;
  1600. if (this.overlay_canvas && this.positionOverlayCanvas(), this.progress = 0, this.last_progress = -1, this.areAllTexturesAndSoundsLoaded()) this.go_loading_finished();
  1601. else {
  1602. var t = Date.now() - this.start_time;
  1603. if (e) {
  1604. var n = this.width,
  1605. r = this.height,
  1606. i = this.devicePixelRatio;
  1607. if (this.overlay_canvas && (n = this.cssWidth, r = this.cssHeight, i = 1), 3 !== this.loaderstyle && (this.isCocoonJs || t >= 500 && this.last_progress != this.progress)) {
  1608. e.clearRect(0, 0, n, r);
  1609. var s, o = n / 2,
  1610. a = r / 2,
  1611. f = 0 === this.loaderstyle && this.loaderlogo.complete,
  1612. l = 40 * i,
  1613. c = 0,
  1614. h = 80 * i;
  1615. if (f && (h = this.loaderlogo.width * i, s = this.loaderlogo.height * i, l = h / 2, c = s / 2, e.drawImage(this.loaderlogo, cr.floor(o - l), cr.floor(a - c), h, s)), this.loaderstyle <= 1) a += c + (f ? 12 * i : 0), o -= l, o = cr.floor(o) + .5, a = cr.floor(a) + .5, e.fillStyle = u ? "red" : "DodgerBlue", e.fillRect(o, a, Math.floor(h * this.progress), 6 * i), e.strokeStyle = "black", e.strokeRect(o, a, h, 6 * i), e.strokeStyle = "white", e.strokeRect(o - 1 * i, a - 1 * i, h + 2 * i, 8 * i);
  1616. else if (2 === this.loaderstyle) {
  1617. e.font = this.isEjecta ? "12pt ArialMT" : "12pt Arial", e.fillStyle = u ? "#f00" : "#999", e.textBaseLine = "middle";
  1618. var p = Math.round(100 * this.progress) + "%",
  1619. d = e.measureText ? e.measureText(p) : null,
  1620. v = d ? d.width : 0;
  1621. e.fillText(p, o - v / 2, a)
  1622. }
  1623. }
  1624. this.last_progress = this.progress
  1625. }
  1626. setTimeout(function(e) {
  1627. return function() {
  1628. e.go()
  1629. }
  1630. }(this), this.isCocoonJs ? 10 : 100)
  1631. }
  1632. }
  1633. }, e.prototype.go_loading_finished = function() {
  1634. this.overlay_canvas && (this.canvas.parentNode.removeChild(this.overlay_canvas), this.overlay_ctx = null, this.overlay_canvas = null), this.start_time = Date.now(), this.last_fps_time = cr.performance_now();
  1635. var e, t, n;
  1636. if (this.uses_loader_layout)
  1637. for (e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.is_family || n.isOnLoaderLayout || !n.plugin.is_world || (n.onCreate(), cr.seal(n));
  1638. else this.isloading = !1;
  1639. for (e = 0, t = this.layouts_by_index.length; t > e; e++) this.layouts_by_index[e].createGlobalNonWorlds();
  1640. if (this.fullscreen_mode >= 2) {
  1641. var r = this.original_width / this.original_height,
  1642. i = this.width / this.height;
  1643. this.aspect_scale = 2 !== this.fullscreen_mode && i > r || 2 === this.fullscreen_mode && r > i ? this.height / this.original_height : this.width / this.original_width
  1644. }
  1645. for (this.first_layout ? this.layouts[this.first_layout].startRunning() : this.layouts_by_index[0].startRunning(), this.uses_loader_layout || (this.loadingprogress = 1, this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null)), navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide(), e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.onAppBegin && n.onAppBegin();
  1646. this.tick(!1), this.isDirectCanvas && AppMobi.webview.execute("onGameReady();")
  1647. };
  1648. var l = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame;
  1649. e.prototype.tick = function(e) {
  1650. if (this.running_layout) {
  1651. var t = cr.performance_now();
  1652. if (this.halfFramerateMode && this.ranLastRaf && t - this.lastRafTime < 29) return this.ranLastRaf = !1, this.lastRafTime = t, void(l ? this.raf_id = l(this.tickFunc, this.canvas) : this.timeout_id = setTimeout(this.tickFunc, this.isMobile ? 1 : 16));
  1653. this.ranLastRaf = !0, this.lastRafTime = t;
  1654. var n = this.fullscreen_mode,
  1655. r = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement) && !this.isPhoneGap;
  1656. if ((r || this.isNodeFullscreen) && this.fullscreen_scaling > 0 && (n = this.fullscreen_scaling), n > 0 && (!this.isiOS || window.self !== window.top)) {
  1657. var i = window.innerWidth,
  1658. s = window.innerHeight;
  1659. (this.lastWindowWidth !== i || this.lastWindowHeight !== s) && this.setSize(i, s)
  1660. }
  1661. if (this.isDomFree || (r ? (this.firstInFullscreen || (this.fullscreenOldMarginCss = jQuery(this.canvas).css("margin") || "0", this.firstInFullscreen = !0), this.isChrome || this.isNodeWebkit || jQuery(this.canvas).css({
  1662. "margin-left": "" + Math.floor((screen.width - this.width / this.devicePixelRatio) / 2) + "px",
  1663. "margin-top": "" + Math.floor((screen.height - this.height / this.devicePixelRatio) / 2) + "px"
  1664. })) : this.firstInFullscreen ? (this.isChrome || this.isNodeWebkit || jQuery(this.canvas).css("margin", this.fullscreenOldMarginCss), this.fullscreenOldMarginCss = "", this.firstInFullscreen = !1, 0 === this.fullscreen_mode && this.setSize(Math.round(this.oldWidth / this.devicePixelRatio), Math.round(this.oldHeight / this.devicePixelRatio), !0)) : (this.oldWidth = this.width, this.oldHeight = this.height)), this.isloading) {
  1665. var o = this.areAllTexturesAndSoundsLoaded();
  1666. this.loadingprogress = this.progress, o && (this.isloading = !1, this.progress = 1, this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null))
  1667. }
  1668. this.logic(), !this.redraw && !this.isCocoonJs || this.is_WebGL_context_lost || this.suspendDrawing || e || (this.redraw = !1, this.glwrap ? this.drawGL() : this.draw(), this.snapshotCanvas && (this.canvas && this.canvas.toDataURL && (this.snapshotData = this.canvas.toDataURL(this.snapshotCanvas[0], this.snapshotCanvas[1]), this.trigger(cr.system_object.prototype.cnds.OnCanvasSnapshot, null)), this.snapshotCanvas = null)), this.hit_breakpoint || (this.tickcount++, this.execcount++, this.framecount++), this.logictime += cr.performance_now() - t, this.isSuspended || e || (l ? this.raf_id = l(this.tickFunc, this.canvas) : this.timeout_id = setTimeout(this.tickFunc, this.isMobile ? 1 : 16))
  1669. }
  1670. }, e.prototype.logic = function() {
  1671. var e, t, n, r, i, s, o, u, a, f = cr.performance_now();
  1672. if (f - this.last_fps_time >= 1e3 && (this.last_fps_time += 1e3, this.fps = this.framecount, this.framecount = 0, this.cpuutilisation = this.logictime, this.logictime = 0), this.measuring_dt) {
  1673. if (0 !== this.last_tick_time) {
  1674. var l = f - this.last_tick_time;
  1675. 0 !== l || this.isDebug ? (this.dt1 = l / 1e3, this.dt1 > .5 ? this.dt1 = 0 : this.dt1 > .1 && (this.dt1 = .1)) : (this.zeroDtCount++, this.zeroDtCout >= 10 && (this.measuring_dt = !1), this.dt1 = 1 / 60)
  1676. }
  1677. this.last_tick_time = f
  1678. }
  1679. this.dt = this.dt1 * this.timescale, this.kahanTime.add(this.dt);
  1680. var c = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.isNodeFullscreen) && !this.isPhoneGap;
  1681. if (this.fullscreen_mode >= 2 || c && this.fullscreen_scaling > 0) {
  1682. var h = this.original_width / this.original_height,
  1683. p = this.width / this.height,
  1684. d = this.fullscreen_mode;
  1685. c && this.fullscreen_scaling > 0 && (d = this.fullscreen_scaling), this.aspect_scale = 2 !== d && p > h || 2 === d && h > p ? this.height / this.original_height : this.width / this.original_width, this.running_layout && (this.running_layout.scrollToX(this.running_layout.scrollX), this.running_layout.scrollToY(this.running_layout.scrollY))
  1686. } else this.aspect_scale = this.isRetina ? this.devicePixelRatio : 1;
  1687. this.ClearDeathRow(), this.isInOnDestroy++, this.system.runWaits(), this.isInOnDestroy--, this.ClearDeathRow(), this.isInOnDestroy++;
  1688. var v = this.objects_to_pretick.valuesRef();
  1689. for (e = 0, t = v.length; t > e; e++) v[e].pretick();
  1690. for (e = 0, t = this.types_by_index.length; t > e; e++)
  1691. if (o = this.types_by_index[e], !o.is_family && (o.behaviors.length || o.families.length))
  1692. for (n = 0, r = o.instances.length; r > n; n++)
  1693. for (u = o.instances[n], i = 0, s = u.behavior_insts.length; s > i; i++) u.behavior_insts[i].tick();
  1694. for (e = 0, t = this.types_by_index.length; t > e; e++)
  1695. if (o = this.types_by_index[e], !o.is_family && (o.behaviors.length || o.families.length))
  1696. for (n = 0, r = o.instances.length; r > n; n++)
  1697. for (u = o.instances[n], i = 0, s = u.behavior_insts.length; s > i; i++) a = u.behavior_insts[i], a.posttick && a.posttick();
  1698. for (v = this.objects_to_tick.valuesRef(), e = 0, t = v.length; t > e; e++) v[e].tick();
  1699. for (this.isInOnDestroy--, this.handleSaveLoad(), e = 0; this.changelayout && e++ < 10;) this.doChangeLayout(this.changelayout);
  1700. for (e = 0, t = this.eventsheets_by_index.length; t > e; e++) this.eventsheets_by_index[e].hasRun = !1;
  1701. for (this.running_layout.event_sheet && this.running_layout.event_sheet.run(), this.registered_collisions.length = 0, this.layout_first_tick = !1, this.isInOnDestroy++, e = 0, t = this.types_by_index.length; t > e; e++)
  1702. if (o = this.types_by_index[e], !o.is_family && (o.behaviors.length || o.families.length))
  1703. for (n = 0, r = o.instances.length; r > n; n++) {
  1704. var u = o.instances[n];
  1705. for (i = 0, s = u.behavior_insts.length; s > i; i++) a = u.behavior_insts[i], a.tick2 && a.tick2()
  1706. }
  1707. for (v = this.objects_to_tick2.valuesRef(), e = 0, t = v.length; t > e; e++) v[e].tick2();
  1708. this.isInOnDestroy--
  1709. }, e.prototype.doChangeLayout = function(e) {
  1710. var t = this.running_layout;
  1711. this.running_layout.stopRunning();
  1712. var n, r, i, s, o, u, a, f, l;
  1713. if (this.glwrap)
  1714. for (n = 0, r = this.types_by_index.length; r > n; n++) a = this.types_by_index[n], a.is_family || !a.unloadTextures || a.global && 0 !== a.instances.length || -1 !== e.initial_types.indexOf(a) || a.unloadTextures();
  1715. for (t == e && (this.system.waits.length = 0), e.startRunning(), n = 0, r = this.types_by_index.length; r > n; n++)
  1716. if (a = this.types_by_index[n], a.global || a.plugin.singleglobal)
  1717. for (i = 0, s = a.instances.length; s > i; i++)
  1718. if (f = a.instances[i], f.onLayoutChange && f.onLayoutChange(), f.behavior_insts)
  1719. for (o = 0, u = f.behavior_insts.length; u > o; o++) l = f.behavior_insts[o], l.onLayoutChange && l.onLayoutChange();
  1720. this.redraw = !0, this.layout_first_tick = !0, this.ClearDeathRow()
  1721. }, e.prototype.pretickMe = function(e) {
  1722. this.objects_to_pretick.add(e)
  1723. }, e.prototype.unpretickMe = function(e) {
  1724. this.objects_to_pretick.remove(e)
  1725. }, e.prototype.tickMe = function(e) {
  1726. this.objects_to_tick.add(e)
  1727. }, e.prototype.untickMe = function(e) {
  1728. this.objects_to_tick.remove(e)
  1729. }, e.prototype.tick2Me = function(e) {
  1730. this.objects_to_tick2.add(e)
  1731. }, e.prototype.untick2Me = function(e) {
  1732. this.objects_to_tick2.remove(e)
  1733. }, e.prototype.getDt = function(e) {
  1734. return e && -1 !== e.my_timescale ? this.dt1 * e.my_timescale : this.dt
  1735. }, e.prototype.draw = function() {
  1736. this.running_layout.draw(this.ctx), this.isDirectCanvas && this.ctx.present()
  1737. }, e.prototype.drawGL = function() {
  1738. this.running_layout.drawGL(this.glwrap), this.glwrap.present()
  1739. }, e.prototype.addDestroyCallback = function(e) {
  1740. e && this.destroycallbacks.push(e)
  1741. }, e.prototype.removeDestroyCallback = function(e) {
  1742. cr.arrayFindRemove(this.destroycallbacks, e)
  1743. }, e.prototype.getObjectByUID = function(e) {
  1744. var t = e.toString();
  1745. return this.objectsByUid.hasOwnProperty(t) ? this.objectsByUid[t] : null
  1746. }, e.prototype.DestroyInstance = function(e) {
  1747. var t, n;
  1748. if (!this.deathRow.contains(e)) {
  1749. if (this.deathRow.add(e), e.is_contained)
  1750. for (t = 0, n = e.siblings.length; n > t; t++) this.DestroyInstance(e.siblings[t]);
  1751. this.isInClearDeathRow && this.deathRow.values_cache.push(e), this.isInOnDestroy++, this.trigger(Object.getPrototypeOf(e.type.plugin).cnds.OnDestroyed, e), this.isInOnDestroy--
  1752. }
  1753. }, e.prototype.ClearDeathRow = function() {
  1754. var e, t, n, r, i, s, o, u, a, f, l, c;
  1755. for (this.isInClearDeathRow = !0, i = 0, u = this.createRow.length; u > i; i++)
  1756. for (e = this.createRow[i], t = e.type, t.instances.push(e), s = 0, a = t.families.length; a > s; s++) t.families[s].instances.push(e), t.families[s].stale_iids = !0;
  1757. this.createRow.length = 0;
  1758. var h = this.deathRow.valuesRef();
  1759. for (i = 0; i < h.length; i++) {
  1760. for (e = h[i], t = e.type, n = t.instances, s = 0, a = this.destroycallbacks.length; a > s; s++) this.destroycallbacks[s](e);
  1761. for (cr.arrayFindRemove(n, e), 0 === n.length && (t.any_instance_parallaxed = !1), e.collcells && t.collision_grid.update(e, e.collcells, null), e.layer && (cr.arrayRemove(e.layer.instances, e.get_zindex()), e.layer.zindices_stale = !0), s = 0, a = t.families.length; a > s; s++) cr.arrayFindRemove(t.families[s].instances, e), t.families[s].stale_iids = !0;
  1762. if (e.behavior_insts)
  1763. for (s = 0, a = e.behavior_insts.length; a > s; s++) r = e.behavior_insts[s], r.onDestroy && r.onDestroy(), r.behavior.my_instances.remove(e);
  1764. for (this.objects_to_pretick.remove(e), this.objects_to_tick.remove(e), this.objects_to_tick2.remove(e), s = 0, a = this.system.waits.length; a > s; s++)
  1765. if (l = this.system.waits[s], l.sols.hasOwnProperty(t.index) && cr.arrayFindRemove(l.sols[t.index].insts, e), !t.is_family)
  1766. for (o = 0, f = t.families.length; f > o; o++) c = t.families[o], l.sols.hasOwnProperty(c.index) && cr.arrayFindRemove(l.sols[c.index].insts, e);
  1767. e.onDestroy && e.onDestroy(), this.objectsByUid.hasOwnProperty(e.uid.toString()) && delete this.objectsByUid[e.uid.toString()], this.objectcount--, t.deadCache.length < 64 && t.deadCache.push(e), t.stale_iids = !0
  1768. }
  1769. this.deathRow.isEmpty() || (this.redraw = !0), this.deathRow.clear(), this.isInClearDeathRow = !1
  1770. }, e.prototype.createInstance = function(e, t, n, r) {
  1771. if (e.is_family) {
  1772. var i = cr.floor(Math.random() * e.members.length);
  1773. return this.createInstance(e.members[i], t, n, r)
  1774. }
  1775. return e.default_instance ? this.createInstanceFromInit(e.default_instance, t, !1, n, r, !1) : null
  1776. };
  1777. var c = [];
  1778. e.prototype.createInstanceFromInit = function(e, t, n, r, i, s) {
  1779. var o, u, a, f, l;
  1780. if (!e) return null;
  1781. var h = this.types_by_index[e[1]],
  1782. p = h.plugin.is_world;
  1783. if (this.isloading && p && !h.isOnLoaderLayout) return null;
  1784. if (p && !this.glwrap && 11 === e[0][11]) return null;
  1785. var d = t;
  1786. p || (t = null);
  1787. var v;
  1788. for (h.deadCache.length ? (v = h.deadCache.pop(), v.recycled = !0, h.plugin.Instance.call(v, h)) : (v = new h.plugin.Instance(h), v.recycled = !1), v.uid = n && !s ? e[2] : this.next_uid++, this.objectsByUid[v.uid.toString()] = v, v.puid = this.next_puid++, v.iid = h.instances.length, o = 0, u = this.createRow.length; u > o; ++o) this.createRow[o].type === h && v.iid++;
  1789. v.get_iid = cr.inst_get_iid;
  1790. var m = e[3];
  1791. if (v.recycled) cr.wipe(v.extra);
  1792. else {
  1793. if (v.extra = {}, "undefined" != typeof cr_is_preview)
  1794. for (v.instance_var_names = [], v.instance_var_names.length = m.length, o = 0, u = m.length; u > o; o++) v.instance_var_names[o] = m[o][1];
  1795. v.instance_vars = [], v.instance_vars.length = m.length
  1796. }
  1797. for (o = 0, u = m.length; u > o; o++) v.instance_vars[o] = m[o][0];
  1798. if (p) {
  1799. var g = e[0];
  1800. if (v.x = cr.is_undefined(r) ? g[0] : r, v.y = cr.is_undefined(i) ? g[1] : i, v.z = g[2], v.width = g[3], v.height = g[4], v.depth = g[5], v.angle = g[6], v.opacity = g[7], v.hotspotX = g[8], v.hotspotY = g[9], v.blend_mode = g[10], l = g[11], !this.glwrap && h.effect_types.length && (v.blend_mode = l), v.compositeOp = cr.effectToCompositeOp(v.blend_mode), this.gl && cr.setGLBlend(v, v.blend_mode, this.gl), v.recycled) {
  1801. for (o = 0, u = g[12].length; u > o; o++)
  1802. for (a = 0, f = g[12][o].length; f > a; a++) v.effect_params[o][a] = g[12][o][a];
  1803. v.bbox.set(0, 0, 0, 0), v.collcells.set(0, 0, -1, -1), v.bquad.set_from_rect(v.bbox), v.bbox_changed_callbacks.length = 0
  1804. } else {
  1805. for (v.effect_params = g[12].slice(0), o = 0, u = v.effect_params.length; u > o; o++) v.effect_params[o] = g[12][o].slice(0);
  1806. v.active_effect_types = [], v.active_effect_flags = [], v.active_effect_flags.length = h.effect_types.length, v.bbox = new cr.rect(0, 0, 0, 0), v.collcells = new cr.rect(0, 0, -1, -1), v.bquad = new cr.quad, v.bbox_changed_callbacks = [], v.set_bbox_changed = cr.set_bbox_changed, v.add_bbox_changed_callback = cr.add_bbox_changed_callback, v.contains_pt = cr.inst_contains_pt, v.update_bbox = cr.update_bbox, v.update_collision_cell = cr.update_collision_cell, v.get_zindex = cr.inst_get_zindex
  1807. }
  1808. for (v.tilemap_exists = !1, v.tilemap_width = 0, v.tilemap_height = 0, v.tilemap_data = null, 14 === g.length && (v.tilemap_exists = !0, v.tilemap_width = g[13][0], v.tilemap_height = g[13][1], v.tilemap_data = g[13][2]), o = 0, u = h.effect_types.length; u > o; o++) v.active_effect_flags[o] = !0;
  1809. v.updateActiveEffects = cr.inst_updateActiveEffects, v.updateActiveEffects(), v.uses_shaders = !!v.active_effect_types.length, v.bbox_changed = !0, v.cell_changed = !0, h.any_cell_changed = !0, v.visible = !0, v.my_timescale = -1, v.layer = t, v.zindex = t.instances.length, "undefined" == typeof v.collision_poly && (v.collision_poly = null), v.collisionsEnabled = !0, this.redraw = !0
  1810. }
  1811. v.toString = cr.inst_toString;
  1812. var y, b;
  1813. for (c.length = 0, o = 0, u = h.families.length; u > o; o++) c.push.apply(c, h.families[o].behaviors);
  1814. if (c.push.apply(c, h.behaviors), v.recycled)
  1815. for (o = 0, u = c.length; u > o; o++) {
  1816. var w = c[o];
  1817. for (b = v.behavior_insts[o], b.recycled = !0, w.behavior.Instance.call(b, w, v), y = e[4][o], a = 0, f = y.length; f > a; a++) b.properties[a] = y[a];
  1818. b.onCreate(), w.behavior.my_instances.add(v)
  1819. } else
  1820. for (v.behavior_insts = [], o = 0, u = c.length; u > o; o++) {
  1821. var w = c[o],
  1822. b = new w.behavior.Instance(w, v);
  1823. b.recycled = !1, b.properties = e[4][o].slice(0), b.onCreate(), cr.seal(b), v.behavior_insts.push(b), w.behavior.my_instances.add(v)
  1824. }
  1825. if (y = e[5], v.recycled)
  1826. for (o = 0, u = y.length; u > o; o++) v.properties[o] = y[o];
  1827. else v.properties = y.slice(0); if (this.createRow.push(v), t && (t.instances.push(v), (1 !== t.parallaxX || 1 !== t.parallaxY) && (h.any_instance_parallaxed = !0)), this.objectcount++, h.is_contained) {
  1828. if (v.is_contained = !0, v.recycled ? v.siblings.length = 0 : v.siblings = [], !n && !s) {
  1829. for (o = 0, u = h.container.length; u > o; o++)
  1830. if (h.container[o] !== h) {
  1831. if (!h.container[o].default_instance) return null;
  1832. v.siblings.push(this.createInstanceFromInit(h.container[o].default_instance, d, !1, p ? v.x : r, p ? v.y : i, !0))
  1833. }
  1834. for (o = 0, u = v.siblings.length; u > o; o++)
  1835. for (v.siblings[o].siblings.push(v), a = 0; u > a; a++) o !== a && v.siblings[o].siblings.push(v.siblings[a])
  1836. }
  1837. } else v.is_contained = !1, v.siblings = null;
  1838. for (v.onCreate(), v.recycled || cr.seal(v), o = 0, u = v.behavior_insts.length; u > o; o++) v.behavior_insts[o].postCreate && v.behavior_insts[o].postCreate();
  1839. return v
  1840. }, e.prototype.getLayerByName = function(e) {
  1841. var t, n;
  1842. for (t = 0, n = this.running_layout.layers.length; n > t; t++) {
  1843. var r = this.running_layout.layers[t];
  1844. if (cr.equals_nocase(r.name, e)) return r
  1845. }
  1846. return null
  1847. }, e.prototype.getLayerByNumber = function(e) {
  1848. return e = cr.floor(e), 0 > e && (e = 0), e >= this.running_layout.layers.length && (e = this.running_layout.layers.length - 1), this.running_layout.layers[e]
  1849. }, e.prototype.getLayer = function(e) {
  1850. return cr.is_number(e) ? this.getLayerByNumber(e) : this.getLayerByName(e.toString())
  1851. }, e.prototype.clearSol = function(e) {
  1852. var t, n;
  1853. for (t = 0, n = e.length; n > t; t++) e[t].getCurrentSol().select_all = !0
  1854. }, e.prototype.pushCleanSol = function(e) {
  1855. var t, n;
  1856. for (t = 0, n = e.length; n > t; t++) e[t].pushCleanSol()
  1857. }, e.prototype.pushCopySol = function(e) {
  1858. var t, n;
  1859. for (t = 0, n = e.length; n > t; t++) e[t].pushCopySol()
  1860. }, e.prototype.popSol = function(e) {
  1861. var t, n;
  1862. for (t = 0, n = e.length; n > t; t++) e[t].popSol()
  1863. }, e.prototype.updateAllCells = function(e) {
  1864. if (e.any_cell_changed) {
  1865. var t, n, r = e.instances;
  1866. for (t = 0, n = r.length; n > t; ++t) r[t].update_collision_cell();
  1867. var i = this.createRow;
  1868. for (t = 0, n = i.length; n > t; ++t) i[t].type === e && i[t].update_collision_cell();
  1869. e.any_cell_changed = !1
  1870. }
  1871. }, e.prototype.getCollisionCandidates = function(e, t, n, r) {
  1872. var i, s, o, u = e ? 1 !== e.parallaxX || 1 !== e.parallaxY : !1;
  1873. if (t.is_family)
  1874. for (i = 0, s = t.members.length; s > i; ++i) o = t.members[i], u || o.any_instance_parallaxed ? cr.appendArray(r, o.instances) : (this.updateAllCells(o), o.collision_grid.queryRange(n, r));
  1875. else u || t.any_instance_parallaxed ? cr.appendArray(r, t.instances) : (this.updateAllCells(t), t.collision_grid.queryRange(n, r))
  1876. }, e.prototype.getTypesCollisionCandidates = function(e, t, n, r) {
  1877. var i, s;
  1878. for (i = 0, s = t.length; s > i; ++i) this.getCollisionCandidates(e, t[i], n, r)
  1879. }, e.prototype.getSolidCollisionCandidates = function(e, t, n) {
  1880. var r = this.getSolidBehavior();
  1881. return r ? void this.getTypesCollisionCandidates(e, r.my_types, t, n) : null
  1882. }, e.prototype.getJumpthruCollisionCandidates = function(e, t, n) {
  1883. var r = this.getJumpthruBehavior();
  1884. return r ? void this.getTypesCollisionCandidates(e, r.my_types, t, n) : null
  1885. }, e.prototype.testAndSelectCanvasPointOverlap = function(e, t, n, r) {
  1886. var i, s, o, u, a, f, l = e.getCurrentSol();
  1887. if (l.select_all) {
  1888. for (r || (l.select_all = !1, l.instances.length = 0), i = 0, u = e.instances.length; u > i; i++)
  1889. if (o = e.instances[i], o.update_bbox(), a = o.layer.canvasToLayer(t, n, !0), f = o.layer.canvasToLayer(t, n, !1), o.contains_pt(a, f)) {
  1890. if (r) return !1;
  1891. l.instances.push(o)
  1892. }
  1893. } else {
  1894. for (s = 0, i = 0, u = l.instances.length; u > i; i++)
  1895. if (o = l.instances[i], o.update_bbox(), a = o.layer.canvasToLayer(t, n, !0), f = o.layer.canvasToLayer(t, n, !1), o.contains_pt(a, f)) {
  1896. if (r) return !1;
  1897. l.instances[s] = l.instances[i], s++
  1898. }
  1899. r || (l.instances.length = s)
  1900. }
  1901. return e.applySolToContainer(), r ? !0 : l.hasObjects()
  1902. }, e.prototype.testOverlap = function(e, t) {
  1903. if (!(e && t && e !== t && e.collisionsEnabled && t.collisionsEnabled)) return !1;
  1904. e.update_bbox(), t.update_bbox();
  1905. var n, r, i, s, o, u, a, f, l, c, h = e.layer,
  1906. p = t.layer,
  1907. d = h !== p && (h.parallaxX !== p.parallaxX || p.parallaxY !== p.parallaxY || h.scale !== p.scale || h.angle !== p.angle || h.zoomRate !== p.zoomRate);
  1908. if (d) {
  1909. for (a = e.collision_poly && !e.collision_poly.is_empty(), f = t.collision_poly && !t.collision_poly.is_empty(), a ? (e.collision_poly.cache_poly(e.width, e.height, e.angle), this.temp_poly.set_from_poly(e.collision_poly)) : this.temp_poly.set_from_quad(e.bquad, e.x, e.y, e.width, e.height), l = this.temp_poly, f ? (t.collision_poly.cache_poly(t.width, t.height, t.angle), this.temp_poly2.set_from_poly(t.collision_poly)) : this.temp_poly2.set_from_quad(t.bquad, t.x, t.y, t.width, t.height), c = this.temp_poly2, n = 0, r = l.pts_count; r > n; n++) i = 2 * n, s = i + 1, o = l.pts_cache[i], u = l.pts_cache[s], l.pts_cache[i] = h.layerToCanvas(o + e.x, u + e.y, !0), l.pts_cache[s] = h.layerToCanvas(o + e.x, u + e.y, !1);
  1910. for (l.update_bbox(), n = 0, r = c.pts_count; r > n; n++) i = 2 * n, s = i + 1, o = c.pts_cache[i], u = c.pts_cache[s], c.pts_cache[i] = p.layerToCanvas(o + t.x, u + t.y, !0), c.pts_cache[s] = p.layerToCanvas(o + t.x, u + t.y, !1);
  1911. return c.update_bbox(), l.intersects_poly(c, 0, 0)
  1912. }
  1913. return e.bbox.intersects_rect(t.bbox) && e.bquad.intersects_quad(t.bquad) ? e.tilemap_exists && t.tilemap_exists ? !1 : e.tilemap_exists ? this.testTilemapOverlap(e, t) : t.tilemap_exists ? this.testTilemapOverlap(t, e) : (a = e.collision_poly && !e.collision_poly.is_empty(), f = t.collision_poly && !t.collision_poly.is_empty(), a || f ? (a ? (e.collision_poly.cache_poly(e.width, e.height, e.angle), l = e.collision_poly) : (this.temp_poly.set_from_quad(e.bquad, e.x, e.y, e.width, e.height), l = this.temp_poly), f ? (t.collision_poly.cache_poly(t.width, t.height, t.angle), c = t.collision_poly) : (this.temp_poly.set_from_quad(t.bquad, t.x, t.y, t.width, t.height), c = this.temp_poly), l.intersects_poly(c, t.x - e.x, t.y - e.y)) : !0) : !1
  1914. };
  1915. var h = new cr.quad,
  1916. p = new cr.rect(0, 0, 0, 0),
  1917. d = [];
  1918. e.prototype.testTilemapOverlap = function(e, t) {
  1919. var n, r, i, s, o = t.bbox,
  1920. u = e.x,
  1921. a = e.y;
  1922. e.getCollisionRectCandidates(o, d);
  1923. var f = d,
  1924. l = t.collision_poly && !t.collision_poly.is_empty();
  1925. for (n = 0, r = f.length; r > n; ++n)
  1926. if (i = f[n], s = i.rc, o.intersects_rect_off(s, u, a) && (h.set_from_rect(s), h.offset(u, a), h.intersects_quad(t.bquad)))
  1927. if (l) {
  1928. if (t.collision_poly.cache_poly(t.width, t.height, t.angle), i.poly) {
  1929. if (i.poly.intersects_poly(t.collision_poly, t.x - (u + s.left), t.y - (a + s.top))) return d.length = 0, !0
  1930. } else if (this.temp_poly.set_from_quad(h, 0, 0, s.right - s.left, s.bottom - s.top), this.temp_poly.intersects_poly(t.collision_poly, t.x, t.y)) return d.length = 0, !0
  1931. } else {
  1932. if (!i.poly) return d.length = 0, !0;
  1933. if (this.temp_poly.set_from_quad(t.bquad, 0, 0, t.width, t.height), i.poly.intersects_poly(this.temp_poly, -(u + s.left), -(a + s.top))) return d.length = 0, !0
  1934. }
  1935. return d.length = 0, !1
  1936. }, e.prototype.testRectOverlap = function(e, t) {
  1937. if (!t || !t.collisionsEnabled) return !1;
  1938. t.update_bbox(); {
  1939. var n;
  1940. t.layer
  1941. }
  1942. if (!t.bbox.intersects_rect(e)) return !1;
  1943. if (t.tilemap_exists) {
  1944. t.getCollisionRectCandidates(e, d);
  1945. var r, i, s, o, u = d,
  1946. a = t.x,
  1947. f = t.y;
  1948. for (r = 0, i = u.length; i > r; ++r)
  1949. if (s = u[r], o = s.rc, e.intersects_rect_off(o, a, f)) {
  1950. if (!s.poly) return d.length = 0, !0;
  1951. if (this.temp_poly.set_from_rect(e, 0, 0), s.poly.intersects_poly(this.temp_poly, -(a + o.left), -(f + o.top))) return d.length = 0, !0
  1952. }
  1953. return d.length = 0, !1
  1954. }
  1955. return h.set_from_rect(e), t.bquad.intersects_quad(h) ? (n = t.collision_poly && !t.collision_poly.is_empty()) ? (t.collision_poly.cache_poly(t.width, t.height, t.angle), h.offset(-e.left, -e.top), this.temp_poly.set_from_quad(h, 0, 0, 1, 1), t.collision_poly.intersects_poly(this.temp_poly, e.left - t.x, e.top - t.y)) : !0 : !1
  1956. }, e.prototype.testSegmentOverlap = function(e, t, n, r, i) {
  1957. if (!i || !i.collisionsEnabled) return !1;
  1958. i.update_bbox(); {
  1959. var s;
  1960. i.layer
  1961. }
  1962. if (p.set(cr.min(e, n), cr.min(t, r), cr.max(e, n), cr.max(t, r)), !i.bbox.intersects_rect(p)) return !1;
  1963. if (i.tilemap_exists) {
  1964. i.getCollisionRectCandidates(p, d);
  1965. var o, u, a, f, l = d,
  1966. c = i.x,
  1967. v = i.y;
  1968. for (o = 0, u = l.length; u > o; ++o)
  1969. if (a = l[o], f = a.rc, p.intersects_rect_off(f, c, v) && (h.set_from_rect(f), h.offset(c, v), h.intersects_segment(e, t, n, r))) {
  1970. if (!a.poly) return d.length = 0, !0;
  1971. if (a.poly.intersects_segment(c + f.left, v + f.top, e, t, n, r)) return d.length = 0, !0
  1972. }
  1973. return d.length = 0, !1
  1974. }
  1975. return i.bquad.intersects_segment(e, t, n, r) ? (s = i.collision_poly && !i.collision_poly.is_empty()) ? (i.collision_poly.cache_poly(i.width, i.height, i.angle), i.collision_poly.intersects_segment(i.x, i.y, e, t, n, r)) : !0 : !1
  1976. }, e.prototype.typeHasBehavior = function(e, t) {
  1977. if (!t) return !1;
  1978. var n, r, i, s, o;
  1979. for (n = 0, r = e.behaviors.length; r > n; n++)
  1980. if (e.behaviors[n].behavior instanceof t) return !0;
  1981. if (!e.is_family)
  1982. for (n = 0, r = e.families.length; r > n; n++)
  1983. for (o = e.families[n], i = 0, s = o.behaviors.length; s > i; i++)
  1984. if (o.behaviors[i].behavior instanceof t) return !0;
  1985. return !1
  1986. }, e.prototype.typeHasNoSaveBehavior = function(e) {
  1987. return this.typeHasBehavior(e, cr.behaviors.NoSave)
  1988. }, e.prototype.typeHasPersistBehavior = function(e) {
  1989. return this.typeHasBehavior(e, cr.behaviors.Persist)
  1990. }, e.prototype.getSolidBehavior = function() {
  1991. return this.solidBehavior
  1992. }, e.prototype.getJumpthruBehavior = function() {
  1993. return this.jumpthruBehavior
  1994. };
  1995. var v = [];
  1996. e.prototype.testOverlapSolid = function(e) {
  1997. var t, n, r;
  1998. for (e.update_bbox(), this.getSolidCollisionCandidates(e.layer, e.bbox, v), t = 0, n = v.length; n > t; ++t)
  1999. if (r = v[t], r.extra.solidEnabled && this.testOverlap(e, r)) return v.length = 0, r;
  2000. return v.length = 0, null
  2001. }, e.prototype.testRectOverlapSolid = function(e) {
  2002. var t, n, r;
  2003. for (this.getSolidCollisionCandidates(null, e, v), t = 0, n = v.length; n > t; ++t)
  2004. if (r = v[t], r.extra.solidEnabled && this.testRectOverlap(e, r)) return v.length = 0, r;
  2005. return v.length = 0, null
  2006. };
  2007. var m = [];
  2008. e.prototype.testOverlapJumpThru = function(e, t) {
  2009. var n = null;
  2010. t && (n = m, n.length = 0), e.update_bbox(), this.getJumpthruCollisionCandidates(e.layer, e.bbox, v);
  2011. var r, i, s;
  2012. for (r = 0, i = v.length; i > r; ++r)
  2013. if (s = v[r], s.extra.jumpthruEnabled && this.testOverlap(e, s)) {
  2014. if (!t) return v.length = 0, s;
  2015. n.push(s)
  2016. }
  2017. return v.length = 0, n
  2018. }, e.prototype.pushOutSolid = function(e, t, n, r, i, s) {
  2019. var o, u = r || 50,
  2020. a = e.x,
  2021. f = e.y,
  2022. l = null,
  2023. c = null;
  2024. for (o = 0; u > o; o++)
  2025. if (e.x = a + t * o, e.y = f + n * o, e.set_bbox_changed(), !this.testOverlap(e, l) && (l = this.testOverlapSolid(e), l && (c = l), !l && (i && (l = s ? this.testOverlap(e, s) ? s : null : this.testOverlapJumpThru(e), l && (c = l)), !l))) return c && this.pushInFractional(e, t, n, c, 16), !0;
  2026. return e.x = a, e.y = f, e.set_bbox_changed(), !1
  2027. }, e.prototype.pushOut = function(e, t, n, r, i) {
  2028. var s, o = r || 50,
  2029. u = e.x,
  2030. a = e.y;
  2031. for (s = 0; o > s; s++)
  2032. if (e.x = u + t * s, e.y = a + n * s, e.set_bbox_changed(), !this.testOverlap(e, i)) return !0;
  2033. return e.x = u, e.y = a, e.set_bbox_changed(), !1
  2034. }, e.prototype.pushInFractional = function(e, t, n, r, i) {
  2035. for (var s, o = 2, u = !1, a = !1, f = e.x, l = e.y; i >= o;) s = 1 / o, o *= 2, e.x += t * s * (u ? 1 : -1), e.y += n * s * (u ? 1 : -1), e.set_bbox_changed(), this.testOverlap(e, r) ? (u = !0, a = !0) : (u = !1, a = !1, f = e.x, l = e.y);
  2036. a && (e.x = f, e.y = l, e.set_bbox_changed())
  2037. }, e.prototype.pushOutSolidNearest = function(e, t) {
  2038. var n = cr.is_undefined(t) ? 100 : t,
  2039. r = 0,
  2040. i = e.x,
  2041. s = e.y,
  2042. o = 0,
  2043. u = 0,
  2044. a = 0,
  2045. f = this.testOverlapSolid(e);
  2046. if (!f) return !0;
  2047. for (; n >= r;) {
  2048. switch (o) {
  2049. case 0:
  2050. u = 0, a = -1, r++;
  2051. break;
  2052. case 1:
  2053. u = 1, a = -1;
  2054. break;
  2055. case 2:
  2056. u = 1, a = 0;
  2057. break;
  2058. case 3:
  2059. u = 1, a = 1;
  2060. break;
  2061. case 4:
  2062. u = 0, a = 1;
  2063. break;
  2064. case 5:
  2065. u = -1, a = 1;
  2066. break;
  2067. case 6:
  2068. u = -1, a = 0;
  2069. break;
  2070. case 7:
  2071. u = -1, a = -1
  2072. }
  2073. if (o = (o + 1) % 8, e.x = cr.floor(i + u * r), e.y = cr.floor(s + a * r), e.set_bbox_changed(), !this.testOverlap(e, f) && (f = this.testOverlapSolid(e), !f)) return !0
  2074. }
  2075. return e.x = i, e.y = s, e.set_bbox_changed(), !1
  2076. }, e.prototype.registerCollision = function(e, t) {
  2077. e.collisionsEnabled && t.collisionsEnabled && this.registered_collisions.push([e, t])
  2078. }, e.prototype.checkRegisteredCollision = function(e, t) {
  2079. var n, r, i;
  2080. for (n = 0, r = this.registered_collisions.length; r > n; n++)
  2081. if (i = this.registered_collisions[n], i[0] == e && i[1] == t || i[0] == t && i[1] == e) return !0;
  2082. return !1
  2083. }, e.prototype.calculateSolidBounceAngle = function(e, t, n, r) {
  2084. var i = e.x,
  2085. s = e.y,
  2086. o = cr.max(10, cr.distanceTo(t, n, i, s)),
  2087. u = cr.angleTo(t, n, i, s),
  2088. a = r || this.testOverlapSolid(e);
  2089. if (!a) return cr.clamp_angle(u + cr.PI);
  2090. var f, l, c, h, p = a,
  2091. d = cr.to_radians(5);
  2092. for (f = 1; 36 > f; f++)
  2093. if (l = u - f * d, e.x = t + Math.cos(l) * o, e.y = n + Math.sin(l) * o, e.set_bbox_changed(), !this.testOverlap(e, p) && (p = r ? null : this.testOverlapSolid(e), !p)) {
  2094. c = l;
  2095. break
  2096. }
  2097. 36 === f && (c = cr.clamp_angle(u + cr.PI));
  2098. var p = a;
  2099. for (f = 1; 36 > f; f++)
  2100. if (l = u + f * d, e.x = t + Math.cos(l) * o, e.y = n + Math.sin(l) * o, e.set_bbox_changed(), !this.testOverlap(e, p) && (p = r ? null : this.testOverlapSolid(e), !p)) {
  2101. h = l;
  2102. break
  2103. }
  2104. if (36 === f && (h = cr.clamp_angle(u + cr.PI)), e.x = i, e.y = s, e.set_bbox_changed(), h === c) return h;
  2105. var v, m = cr.angleDiff(h, c) / 2;
  2106. v = cr.clamp_angle(cr.angleClockwise(h, c) ? c + m + cr.PI : h + m);
  2107. var g = Math.cos(u),
  2108. y = Math.sin(u),
  2109. b = Math.cos(v),
  2110. w = Math.sin(v),
  2111. E = g * b + y * w,
  2112. S = g - 2 * E * b,
  2113. x = y - 2 * E * w;
  2114. return cr.angleTo(0, 0, S, x)
  2115. };
  2116. var g = -1;
  2117. e.prototype.trigger = function(e, t, n) {
  2118. if (!this.running_layout) return !1;
  2119. var r = this.running_layout.event_sheet;
  2120. if (!r) return !1;
  2121. var i, s, o, u = !1;
  2122. g++;
  2123. var a = r.deep_includes;
  2124. for (s = 0, o = a.length; o > s; ++s) i = this.triggerOnSheet(e, t, a[s], n), u = u || i;
  2125. return i = this.triggerOnSheet(e, t, r, n), u = u || i, g--, u
  2126. }, e.prototype.triggerOnSheet = function(e, t, n, r) {
  2127. var i, s, o, u, a = !1;
  2128. if (t)
  2129. for (o = this.triggerOnSheetForTypeName(e, t, t.type.name, n, r), a = a || o, u = t.type.families, i = 0, s = u.length; s > i; ++i) o = this.triggerOnSheetForTypeName(e, t, u[i].name, n, r), a = a || o;
  2130. else o = this.triggerOnSheetForTypeName(e, t, "system", n, r), a = a || o;
  2131. return a
  2132. }, e.prototype.triggerOnSheetForTypeName = function(e, t, n, r, i) {
  2133. var s, o, u, a, f = !1,
  2134. l = !1,
  2135. c = "undefined" != typeof i,
  2136. h = c ? r.fasttriggers : r.triggers,
  2137. p = h[n];
  2138. if (!p) return f;
  2139. var d = null;
  2140. for (s = 0, o = p.length; o > s; ++s)
  2141. if (p[s].method == e) {
  2142. d = p[s].evs;
  2143. break
  2144. }
  2145. if (!d) return f;
  2146. var v;
  2147. if (v = c ? d[i] : d, !v) return null;
  2148. for (s = 0, o = v.length; o > s; s++) u = v[s][0], a = v[s][1], l = this.executeSingleTrigger(t, n, u, a), f = f || l;
  2149. return f
  2150. }, e.prototype.executeSingleTrigger = function(e, t, n, r) {
  2151. var i, s, o = !1;
  2152. this.trigger_depth++;
  2153. var u = this.getCurrentEventStack().current_event;
  2154. u && this.pushCleanSol(u.solModifiersIncludingParents);
  2155. var a = this.trigger_depth > 1;
  2156. this.pushCleanSol(n.solModifiersIncludingParents), a && this.pushLocalVarStack();
  2157. var f = this.pushEventStack(n);
  2158. if (f.current_event = n, e) {
  2159. var l = this.types[t].getCurrentSol();
  2160. l.select_all = !1, l.instances.length = 1, l.instances[0] = e, this.types[t].applySolToContainer()
  2161. }
  2162. var c = !0;
  2163. if (n.parent) {
  2164. for (var h = f.temp_parents_arr, p = n.parent; p;) h.push(p), p = p.parent;
  2165. for (h.reverse(), i = 0, s = h.length; s > i; i++)
  2166. if (!h[i].run_pretrigger()) {
  2167. c = !1;
  2168. break
  2169. }
  2170. }
  2171. return c && (this.execcount++, n.orblock ? n.run_orblocktrigger(r) : n.run(), o = o || f.last_event_true), this.popEventStack(), a && this.popLocalVarStack(), this.popSol(n.solModifiersIncludingParents), u && this.popSol(u.solModifiersIncludingParents), 0 !== this.isInOnDestroy || 0 !== g || this.isRunningEvents || this.deathRow.isEmpty() && !this.createRow.length || this.ClearDeathRow(), this.trigger_depth--, o
  2172. }, e.prototype.getCurrentCondition = function() {
  2173. var e = this.getCurrentEventStack();
  2174. return e.current_event.conditions[e.cndindex]
  2175. }, e.prototype.getCurrentAction = function() {
  2176. var e = this.getCurrentEventStack();
  2177. return e.current_event.actions[e.actindex]
  2178. }, e.prototype.pushLocalVarStack = function() {
  2179. this.localvar_stack_index++, this.localvar_stack_index >= this.localvar_stack.length && this.localvar_stack.push([])
  2180. }, e.prototype.popLocalVarStack = function() {
  2181. this.localvar_stack_index--
  2182. }, e.prototype.getCurrentLocalVarStack = function() {
  2183. return this.localvar_stack[this.localvar_stack_index]
  2184. }, e.prototype.pushEventStack = function(e) {
  2185. this.event_stack_index++, this.event_stack_index >= this.event_stack.length && this.event_stack.push(new cr.eventStackFrame);
  2186. var t = this.getCurrentEventStack();
  2187. return t.reset(e), t
  2188. }, e.prototype.popEventStack = function() {
  2189. this.event_stack_index--
  2190. }, e.prototype.getCurrentEventStack = function() {
  2191. return this.event_stack[this.event_stack_index]
  2192. }, e.prototype.pushLoopStack = function(e) {
  2193. this.loop_stack_index++, this.loop_stack_index >= this.loop_stack.length && this.loop_stack.push(cr.seal({
  2194. name: e,
  2195. index: 0,
  2196. stopped: !1
  2197. }));
  2198. var t = this.getCurrentLoop();
  2199. return t.name = e, t.index = 0, t.stopped = !1, t
  2200. }, e.prototype.popLoopStack = function() {
  2201. this.loop_stack_index--
  2202. }, e.prototype.getCurrentLoop = function() {
  2203. return this.loop_stack[this.loop_stack_index]
  2204. }, e.prototype.getEventVariableByName = function(e, t) {
  2205. for (var n, r, i, s, o, u; t;) {
  2206. for (n = 0, r = t.subevents.length; r > n; n++)
  2207. if (u = t.subevents[n], u instanceof cr.eventvariable && cr.equals_nocase(e, u.name)) return u;
  2208. t = t.parent
  2209. }
  2210. for (n = 0, r = this.eventsheets_by_index.length; r > n; n++)
  2211. for (o = this.eventsheets_by_index[n], i = 0, s = o.events.length; s > i; i++)
  2212. if (u = o.events[i], u instanceof cr.eventvariable && cr.equals_nocase(e, u.name)) return u;
  2213. return null
  2214. }, e.prototype.getLayoutBySid = function(e) {
  2215. var t, n;
  2216. for (t = 0, n = this.layouts_by_index.length; n > t; t++)
  2217. if (this.layouts_by_index[t].sid === e) return this.layouts_by_index[t];
  2218. return null
  2219. }, e.prototype.getObjectTypeBySid = function(e) {
  2220. var t, n;
  2221. for (t = 0, n = this.types_by_index.length; n > t; t++)
  2222. if (this.types_by_index[t].sid === e) return this.types_by_index[t];
  2223. return null
  2224. }, e.prototype.getGroupBySid = function(e) {
  2225. var t, n;
  2226. for (t = 0, n = this.allGroups.length; n > t; t++)
  2227. if (this.allGroups[t].sid === e) return this.allGroups[t];
  2228. return null
  2229. }, e.prototype.signalContinuousPreview = function() {
  2230. this.signalledContinuousPreview = !0
  2231. }, e.prototype.handleSaveLoad = function() {
  2232. var e = this,
  2233. t = this.saveToSlot,
  2234. s = this.lastSaveJson,
  2235. o = this.loadFromSlot,
  2236. u = !1;
  2237. if (this.signalledContinuousPreview && (u = !0, t = "__c2_continuouspreview", this.signalledContinuousPreview = !1), t.length) {
  2238. if (this.ClearDeathRow(), s = this.saveToJSONString(), window.indexedDB && !this.isCocoonJs) n(t, s, function() {
  2239. cr.logexport("Saved state to IndexedDB storage (" + s.length + " bytes)"), e.lastSaveJson = s, e.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null), e.lastSaveJson = "", u && i()
  2240. }, function(n) {
  2241. try {
  2242. localStorage.setItem("__c2save_" + t, s), cr.logexport("Saved state to WebStorage (" + s.length + " bytes)"), e.lastSaveJson = s, e.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null), e.lastSaveJson = "", u && i()
  2243. } catch (r) {
  2244. cr.logexport("Failed to save game state: " + n + "; " + r)
  2245. }
  2246. });
  2247. else try {
  2248. localStorage.setItem("__c2save_" + t, s), cr.logexport("Saved state to WebStorage (" + s.length + " bytes)"), e.lastSaveJson = s, this.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null), e.lastSaveJson = "", u && i()
  2249. } catch (a) {
  2250. cr.logexport("Error saving to WebStorage: " + a)
  2251. }
  2252. this.saveToSlot = "", this.loadFromSlot = "", this.loadFromJson = ""
  2253. }
  2254. o.length && (window.indexedDB && !this.isCocoonJs ? r(o, function(t) {
  2255. t ? (e.loadFromJson = t, cr.logexport("Loaded state from IndexedDB storage (" + e.loadFromJson.length + " bytes)")) : (e.loadFromJson = localStorage.getItem("__c2save_" + o) || "", cr.logexport("Loaded state from WebStorage (" + e.loadFromJson.length + " bytes)")), e.suspendDrawing = !1, e.loadFromJson.length || e.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null)
  2256. }, function() {
  2257. e.loadFromJson = localStorage.getItem("__c2save_" + o) || "", cr.logexport("Loaded state from WebStorage (" + e.loadFromJson.length + " bytes)"), e.suspendDrawing = !1, e.loadFromJson.length || e.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null)
  2258. }) : (this.loadFromJson = localStorage.getItem("__c2save_" + o) || "", cr.logexport("Loaded state from WebStorage (" + this.loadFromJson.length + " bytes)"), this.suspendDrawing = !1, e.loadFromJson.length || e.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null)), this.loadFromSlot = "", this.saveToSlot = ""), this.loadFromJson.length && (this.ClearDeathRow(), this.loadFromJSONString(this.loadFromJson), this.lastSaveJson = this.loadFromJson, this.trigger(cr.system_object.prototype.cnds.OnLoadComplete, null), this.lastSaveJson = "", this.loadFromJson = "")
  2259. }, e.prototype.saveToJSONString = function() {
  2260. var e, t, n, r, i, o, u, a, f, l, c, h, p = {
  2261. c2save: !0,
  2262. version: 1,
  2263. rt: {
  2264. time: this.kahanTime.sum,
  2265. timescale: this.timescale,
  2266. tickcount: this.tickcount,
  2267. execcount: this.execcount,
  2268. next_uid: this.next_uid,
  2269. running_layout: this.running_layout.sid,
  2270. start_time_offset: Date.now() - this.start_time
  2271. },
  2272. types: {},
  2273. layouts: {},
  2274. events: {
  2275. groups: {},
  2276. cnds: {},
  2277. acts: {},
  2278. vars: {}
  2279. }
  2280. };
  2281. for (e = 0, t = this.types_by_index.length; t > e; e++)
  2282. if (i = this.types_by_index[e], !i.is_family && !this.typeHasNoSaveBehavior(i)) {
  2283. for (u = {
  2284. instances: []
  2285. }, cr.hasAnyOwnProperty(i.extra) && (u.ex = s(i.extra)), n = 0, r = i.instances.length; r > n; n++) u.instances.push(this.saveInstanceToJSON(i.instances[n]));
  2286. p.types[i.sid.toString()] = u
  2287. }
  2288. for (e = 0, t = this.layouts_by_index.length; t > e; e++) o = this.layouts_by_index[e], p.layouts[o.sid.toString()] = o.saveToJSON();
  2289. var d = p.events.groups;
  2290. for (e = 0, t = this.allGroups.length; t > e; e++) a = this.allGroups[e], d[a.sid.toString()] = this.groups_by_name[a.group_name].group_active;
  2291. var v = p.events.cnds;
  2292. for (h in this.cndsBySid) this.cndsBySid.hasOwnProperty(h) && (f = this.cndsBySid[h], cr.hasAnyOwnProperty(f.extra) && (v[h] = {
  2293. ex: s(f.extra)
  2294. }));
  2295. var m = p.events.acts;
  2296. for (h in this.actsBySid) this.actsBySid.hasOwnProperty(h) && (l = this.actsBySid[h], cr.hasAnyOwnProperty(l.extra) && (m[h] = {
  2297. ex: l.extra
  2298. }));
  2299. var g = p.events.vars;
  2300. for (h in this.varsBySid) this.varsBySid.hasOwnProperty(h) && (c = this.varsBySid[h], c.is_constant || c.parent && !c.is_static || (g[h] = c.data));
  2301. return p.system = this.system.saveToJSON(), JSON.stringify(p)
  2302. }, e.prototype.refreshUidMap = function() {
  2303. var e, t, n, r, i, s;
  2304. for (this.objectsByUid = {}, e = 0, t = this.types_by_index.length; t > e; e++)
  2305. if (n = this.types_by_index[e], !n.is_family)
  2306. for (r = 0, i = n.instances.length; i > r; r++) s = n.instances[r], this.objectsByUid[s.uid.toString()] = s
  2307. }, e.prototype.loadFromJSONString = function(e) {
  2308. var t = JSON.parse(e);
  2309. if (t.c2save && !(t.version > 1)) {
  2310. var n = t.rt;
  2311. this.kahanTime.reset(), this.kahanTime.sum = n.time, this.timescale = n.timescale, this.tickcount = n.tickcount, this.start_time = Date.now() - n.start_time_offset;
  2312. var r = n.running_layout;
  2313. if (r !== this.running_layout.sid) {
  2314. var i = this.getLayoutBySid(r);
  2315. if (!i) return;
  2316. this.doChangeLayout(i)
  2317. }
  2318. this.isLoadingState = !0;
  2319. var s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S = t.types;
  2320. for (c in S)
  2321. if (S.hasOwnProperty(c)) {
  2322. if (h = this.getObjectTypeBySid(parseInt(c, 10)), !h || h.is_family || this.typeHasNoSaveBehavior(h)) continue;
  2323. for (S[c].ex ? h.extra = S[c].ex : cr.wipe(h.extra), p = h.instances, d = S[c].instances, s = 0, o = cr.min(p.length, d.length); o > s; s++) this.loadInstanceFromJSON(p[s], d[s]);
  2324. for (s = d.length, o = p.length; o > s; s++) this.DestroyInstance(p[s]);
  2325. for (s = p.length, o = d.length; o > s; s++) y = null, (!h.plugin.is_world || (y = this.running_layout.getLayerBySid(d[s].w.l))) && (v = this.createInstanceFromInit(h.default_instance, y, !1, 0, 0, !0), this.loadInstanceFromJSON(v, d[s]));
  2326. h.stale_iids = !0
  2327. }
  2328. this.ClearDeathRow(), this.refreshUidMap();
  2329. var x = t.layouts;
  2330. for (c in x)
  2331. if (x.hasOwnProperty(c)) {
  2332. if (g = this.getLayoutBySid(parseInt(c, 10)), !g) continue;
  2333. g.loadFromJSON(x[c])
  2334. }
  2335. var T = t.events.groups;
  2336. for (c in T) T.hasOwnProperty(c) && (b = this.getGroupBySid(parseInt(c, 10)), b && this.groups_by_name[b.group_name] && (this.groups_by_name[b.group_name].group_active = T[c]));
  2337. var N = t.events.cnds;
  2338. for (c in N) N.hasOwnProperty(c) && this.cndsBySid.hasOwnProperty(c) && (this.cndsBySid[c].extra = N[c].ex);
  2339. var C = t.events.acts;
  2340. for (c in C) C.hasOwnProperty(c) && this.actsBySid.hasOwnProperty(c) && (this.actsBySid[c].extra = C[c].ex);
  2341. var k = t.events.vars;
  2342. for (c in k) k.hasOwnProperty(c) && this.varsBySid.hasOwnProperty(c) && (this.varsBySid[c].data = k[c]);
  2343. for (this.next_uid = n.next_uid, this.isLoadingState = !1, this.system.loadFromJSON(t.system), s = 0, o = this.types_by_index.length; o > s; s++)
  2344. if (h = this.types_by_index[s], !h.is_family)
  2345. for (u = 0, a = h.instances.length; a > u; u++) {
  2346. if (v = h.instances[u], h.is_contained)
  2347. for (w = v.get_iid(), v.siblings.length = 0, f = 0, l = h.container.length; l > f; f++) E = h.container[f], h !== E && v.siblings.push(E.instances[w]);
  2348. if (v.afterLoad && v.afterLoad(), v.behavior_insts)
  2349. for (f = 0, l = v.behavior_insts.length; l > f; f++) m = v.behavior_insts[f], m.afterLoad && m.afterLoad()
  2350. }
  2351. this.redraw = !0
  2352. }
  2353. }, e.prototype.saveInstanceToJSON = function(e, t) {
  2354. var n, r, i, o, u, a = e.type,
  2355. f = a.plugin,
  2356. l = {};
  2357. if (t ? l.c2 = !0 : l.uid = e.uid, cr.hasAnyOwnProperty(e.extra) && (l.ex = s(e.extra)), e.instance_vars && e.instance_vars.length)
  2358. for (l.ivs = {}, n = 0, r = e.instance_vars.length; r > n; n++) l.ivs[e.type.instvar_sids[n].toString()] = e.instance_vars[n];
  2359. if (f.is_world) {
  2360. if (i = {
  2361. x: e.x,
  2362. y: e.y,
  2363. w: e.width,
  2364. h: e.height,
  2365. l: e.layer.sid,
  2366. zi: e.get_zindex()
  2367. }, 0 !== e.angle && (i.a = e.angle), 1 !== e.opacity && (i.o = e.opacity), .5 !== e.hotspotX && (i.hX = e.hotspotX), .5 !== e.hotspotY && (i.hY = e.hotspotY), 0 !== e.blend_mode && (i.bm = e.blend_mode), e.visible || (i.v = e.visible), e.collisionsEnabled || (i.ce = e.collisionsEnabled), -1 !== e.my_timescale && (i.mts = e.my_timescale), a.effect_types.length)
  2368. for (i.fx = [], n = 0, r = a.effect_types.length; r > n; n++) u = a.effect_types[n], i.fx.push({
  2369. name: u.name,
  2370. active: e.active_effect_flags[u.index],
  2371. params: e.effect_params[u.index]
  2372. });
  2373. l.w = i
  2374. }
  2375. if (e.behavior_insts && e.behavior_insts.length)
  2376. for (l.behs = {}, n = 0, r = e.behavior_insts.length; r > n; n++) o = e.behavior_insts[n], o.saveToJSON && (l.behs[o.type.sid.toString()] = o.saveToJSON());
  2377. return e.saveToJSON && (l.data = e.saveToJSON()), l
  2378. }, e.prototype.getInstanceVarIndexBySid = function(e, t) {
  2379. var n, r;
  2380. for (n = 0, r = e.instvar_sids.length; r > n; n++)
  2381. if (e.instvar_sids[n] === t) return n;
  2382. return -1
  2383. }, e.prototype.getBehaviorIndexBySid = function(e, t) {
  2384. var n, r;
  2385. for (n = 0, r = e.behavior_insts.length; r > n; n++)
  2386. if (e.behavior_insts[n].type.sid === t) return n;
  2387. return -1
  2388. }, e.prototype.loadInstanceFromJSON = function(e, t, n) {
  2389. var r, i, s, o, u, a, f, l, c, h, p = e.type,
  2390. d = p.plugin;
  2391. if (n) {
  2392. if (!t.c2) return
  2393. } else e.uid = t.uid; if (t.ex ? e.extra = t.ex : cr.wipe(e.extra), u = t.ivs)
  2394. for (r in u)
  2395. if (u.hasOwnProperty(r)) {
  2396. if (o = this.getInstanceVarIndexBySid(p, parseInt(r, 10)), 0 > o || o >= e.instance_vars.length) continue;
  2397. e.instance_vars[o] = u[r]
  2398. }
  2399. if (d.is_world) {
  2400. if (a = t.w, e.layer.sid !== a.l && (h = e.layer, e.layer = this.running_layout.getLayerBySid(a.l), e.layer ? (e.layer.instances.push(e), e.layer.zindices_stale = !0, cr.arrayFindRemove(h.instances, e), h.zindices_stale = !0) : (e.layer = h, this.DestroyInstance(e))), e.x = a.x, e.y = a.y, e.width = a.w, e.height = a.h, e.zindex = a.zi, e.angle = a.hasOwnProperty("a") ? a.a : 0, e.opacity = a.hasOwnProperty("o") ? a.o : 1, e.hotspotX = a.hasOwnProperty("hX") ? a.hX : .5, e.hotspotY = a.hasOwnProperty("hY") ? a.hY : .5, e.visible = a.hasOwnProperty("v") ? a.v : !0, e.collisionsEnabled = a.hasOwnProperty("ce") ? a.ce : !0, e.my_timescale = a.hasOwnProperty("mts") ? a.mts : -1, e.blend_mode = a.hasOwnProperty("bm") ? a.bm : 0, e.compositeOp = cr.effectToCompositeOp(e.blend_mode), this.gl && cr.setGLBlend(e, e.blend_mode, this.gl), e.set_bbox_changed(), a.hasOwnProperty("fx"))
  2401. for (i = 0, s = a.fx.length; s > i; i++) f = p.getEffectIndexByName(a.fx[i].name), 0 > f || (e.active_effect_flags[f] = a.fx[i].active, e.effect_params[f] = a.fx[i].params);
  2402. e.updateActiveEffects()
  2403. }
  2404. if (l = t.behs)
  2405. for (r in l)
  2406. if (l.hasOwnProperty(r)) {
  2407. if (c = this.getBehaviorIndexBySid(e, parseInt(r, 10)), 0 > c) continue;
  2408. e.behavior_insts[c].loadFromJSON(l[r])
  2409. }
  2410. t.data && e.loadFromJSON(t.data)
  2411. }, cr.runtime = e, cr.createRuntime = function(t) {
  2412. return new e(document.getElementById(t))
  2413. }, cr.createDCRuntime = function(t, n) {
  2414. return new e({
  2415. dc: !0,
  2416. width: t,
  2417. height: n
  2418. })
  2419. }, window.cr_createRuntime = cr.createRuntime, window.cr_createDCRuntime = cr.createDCRuntime, window.createCocoonJSRuntime = function() {
  2420. window.c2cocoonjs = !0;
  2421. var t = document.createElement("screencanvas") || document.createElement("canvas");
  2422. t.screencanvas = !0, document.body.appendChild(t);
  2423. var n = new e(t);
  2424. return window.c2runtime = n, window.addEventListener("orientationchange", function() {
  2425. window.c2runtime.setSize(window.innerWidth, window.innerHeight)
  2426. }), window.c2runtime.setSize(window.innerWidth, window.innerHeight), n
  2427. }, window.createEjectaRuntime = function() {
  2428. var t = document.getElementById("canvas"),
  2429. n = new e(t);
  2430. return window.c2runtime = n, window.c2runtime.setSize(window.innerWidth, window.innerHeight), n
  2431. }
  2432. }(), window.cr_getC2Runtime = function() {
  2433. var e = document.getElementById("c2canvas");
  2434. return e ? e.c2runtime : window.c2runtime ? window.c2runtime : null
  2435. }, window.cr_sizeCanvas = function(e, t) {
  2436. if (0 !== e && 0 !== t) {
  2437. var n = window.cr_getC2Runtime();
  2438. n && n.setSize(e, t)
  2439. }
  2440. }, window.cr_setSuspended = function(e) {
  2441. var t = window.cr_getC2Runtime();
  2442. t && t.setSuspended(e)
  2443. },
  2444. function() {
  2445. function e(e, t) {
  2446. this.runtime = e, this.event_sheet = null, this.scrollX = this.runtime.original_width / 2, this.scrollY = this.runtime.original_height / 2, this.scale = 1, this.angle = 0, this.first_visit = !0, this.name = t[0], this.width = t[1], this.height = t[2], this.unbounded_scrolling = t[3], this.sheetname = t[4], this.sid = t[5];
  2447. var n, r, i = t[6];
  2448. for (this.layers = [], this.initial_types = [], n = 0, r = i.length; r > n; n++) {
  2449. var s = new cr.layer(this, i[n]);
  2450. s.number = n, cr.seal(s), this.layers.push(s)
  2451. }
  2452. var o = t[7];
  2453. for (this.initial_nonworld = [], n = 0, r = o.length; r > n; n++) {
  2454. var u = o[n],
  2455. a = this.runtime.types_by_index[u[1]];
  2456. a.default_instance || (a.default_instance = u), this.initial_nonworld.push(u), -1 === this.initial_types.indexOf(a) && this.initial_types.push(a)
  2457. }
  2458. for (this.effect_types = [], this.active_effect_types = [], this.effect_params = [], n = 0, r = t[8].length; r > n; n++) this.effect_types.push({
  2459. id: t[8][n][0],
  2460. name: t[8][n][1],
  2461. shaderindex: -1,
  2462. active: !0,
  2463. index: n
  2464. }), this.effect_params.push(t[8][n][2].slice(0));
  2465. this.updateActiveEffects(), this.rcTex = new cr.rect(0, 0, 1, 1), this.rcTex2 = new cr.rect(0, 0, 1, 1), this.persist_data = {}
  2466. }
  2467. function t(e, t) {
  2468. this.layout = e, this.runtime = e.runtime, this.instances = [], this.scale = 1, this.angle = 0, this.disableAngle = !1, this.tmprect = new cr.rect(0, 0, 0, 0), this.tmpquad = new cr.quad, this.viewLeft = 0, this.viewRight = 0, this.viewTop = 0, this.viewBottom = 0, this.zindices_stale = !1, this.name = t[0], this.index = t[1], this.sid = t[2], this.visible = t[3], this.background_color = t[4], this.transparent = t[5], this.parallaxX = t[6], this.parallaxY = t[7], this.opacity = t[8], this.forceOwnTexture = t[9], this.zoomRate = t[10], this.blend_mode = t[11], this.effect_fallback = t[12], this.compositeOp = "source-over", this.srcBlend = 0, this.destBlend = 0, this.render_offscreen = !1;
  2469. var n, r, i = t[13];
  2470. for (this.initial_instances = [], n = 0, r = i.length; r > n; n++) {
  2471. var s = i[n],
  2472. o = this.runtime.types_by_index[s[1]];
  2473. o.default_instance || (o.default_instance = s, o.default_layerindex = this.index), this.initial_instances.push(s), -1 === this.layout.initial_types.indexOf(o) && this.layout.initial_types.push(o)
  2474. }
  2475. for (this.effect_types = [], this.active_effect_types = [], this.effect_params = [], n = 0, r = t[14].length; r > n; n++) this.effect_types.push({
  2476. id: t[14][n][0],
  2477. name: t[14][n][1],
  2478. shaderindex: -1,
  2479. active: !0,
  2480. index: n
  2481. }), this.effect_params.push(t[14][n][2].slice(0));
  2482. this.updateActiveEffects(), this.rcTex = new cr.rect(0, 0, 1, 1), this.rcTex2 = new cr.rect(0, 0, 1, 1)
  2483. }
  2484. function n(e, t) {
  2485. return e.zindex - t.zindex
  2486. }
  2487. e.prototype.saveObjectToPersist = function(e) {
  2488. var t = e.type.sid.toString();
  2489. this.persist_data.hasOwnProperty(t) || (this.persist_data[t] = []);
  2490. var n = this.persist_data[t];
  2491. n.push(this.runtime.saveInstanceToJSON(e))
  2492. }, e.prototype.hasOpaqueBottomLayer = function() {
  2493. var e = this.layers[0];
  2494. return !e.transparent && 1 === e.opacity && !e.forceOwnTexture && e.visible
  2495. }, e.prototype.updateActiveEffects = function() {
  2496. this.active_effect_types.length = 0;
  2497. var e, t, n;
  2498. for (e = 0, t = this.effect_types.length; t > e; e++) n = this.effect_types[e], n.active && this.active_effect_types.push(n)
  2499. }, e.prototype.getEffectByName = function(e) {
  2500. var t, n, r;
  2501. for (t = 0, n = this.effect_types.length; n > t; t++)
  2502. if (r = this.effect_types[t], r.name === e) return r;
  2503. return null
  2504. };
  2505. var r = [];
  2506. e.prototype.startRunning = function() {
  2507. this.sheetname && (this.event_sheet = this.runtime.eventsheets[this.sheetname], this.event_sheet.updateDeepIncludes()), this.runtime.running_layout = this, this.scrollX = this.runtime.original_width / 2, this.scrollY = this.runtime.original_height / 2;
  2508. var e, t, o, u, a, f, l, c, h, p, d, v, m;
  2509. for (e = 0, o = this.runtime.types_by_index.length; o > e; e++)
  2510. if (a = this.runtime.types_by_index[e], !a.is_family)
  2511. for (f = a.instances, t = 0, u = f.length; u > t; t++)
  2512. if (l = f[t], l.layer) {
  2513. var g = l.layer.number;
  2514. g >= this.layers.length && (g = this.layers.length - 1), l.layer = this.layers[g], -1 === l.layer.instances.indexOf(l) && l.layer.instances.push(l), l.layer.zindices_stale = !0
  2515. }
  2516. var m;
  2517. for (r.length = 0, this.boundScrolling(), e = 0, o = this.layers.length; o > e; e++) {
  2518. m = this.layers[e], m.createInitialInstances(), m.disableAngle = !0;
  2519. var y = m.canvasToLayer(0, 0, !0, !0),
  2520. b = m.canvasToLayer(0, 0, !1, !0);
  2521. m.disableAngle = !1, this.runtime.pixel_rounding && (y = y + .5 | 0, b = b + .5 | 0), m.rotateViewport(y, b, null)
  2522. }
  2523. var w = !1;
  2524. if (!this.first_visit) {
  2525. for (d in this.persist_data)
  2526. if (this.persist_data.hasOwnProperty(d)) {
  2527. if (a = this.runtime.getObjectTypeBySid(parseInt(d, 10)), !a || a.is_family || !this.runtime.typeHasPersistBehavior(a)) continue;
  2528. for (v = this.persist_data[d], e = 0, o = v.length; o > e; e++) m = null, (!a.plugin.is_world || (m = this.getLayerBySid(v[e].w.l))) && (l = this.runtime.createInstanceFromInit(a.default_instance, m, !1, 0, 0, !0), this.runtime.loadInstanceFromJSON(l, v[e]), w = !0, r.push(l));
  2529. v.length = 0
  2530. }
  2531. for (e = 0, o = this.layers.length; o > e; e++) this.layers[e].instances.sort(n), this.layers[e].zindices_stale = !0
  2532. }
  2533. for (w && (this.runtime.ClearDeathRow(), this.runtime.refreshUidMap()), e = 0; e < r.length; e++)
  2534. if (l = r[e], l.type.is_contained)
  2535. for (c = l.get_iid(), t = 0, u = l.type.container.length; u > t; t++) h = l.type.container[t], l.type !== h && (h.instances.length > c ? l.siblings.push(h.instances[c]) : h.default_instance && (p = this.runtime.createInstanceFromInit(h.default_instance, l.layer, !0, l.x, l.y, !0), this.runtime.ClearDeathRow(), h.updateIIDs(), l.siblings.push(p), r.push(p)));
  2536. for (e = 0, o = this.initial_nonworld.length; o > e; e++) l = this.runtime.createInstanceFromInit(this.initial_nonworld[e], null, !0);
  2537. if (this.runtime.changelayout = null, this.runtime.ClearDeathRow(), this.runtime.ctx && !this.runtime.isDomFree)
  2538. for (e = 0, o = this.runtime.types_by_index.length; o > e; e++) h = this.runtime.types_by_index[e], !h.is_family && h.instances.length && h.preloadCanvas2D && h.preloadCanvas2D(this.runtime.ctx);
  2539. for (e = 0, o = r.length; o > e; e++) l = r[e], this.runtime.trigger(Object.getPrototypeOf(l.type.plugin).cnds.OnCreated, l);
  2540. r.length = 0, this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutStart, null), this.first_visit = !1
  2541. }, e.prototype.createGlobalNonWorlds = function() {
  2542. var e, t, n, r, i, s;
  2543. for (e = 0, t = 0, n = this.initial_nonworld.length; n > e; e++) r = this.initial_nonworld[e], s = this.runtime.types_by_index[r[1]], s.global ? i = this.runtime.createInstanceFromInit(r, null, !0) : (this.initial_nonworld[t] = r, t++);
  2544. this.initial_nonworld.length = t
  2545. }, e.prototype.stopRunning = function() {
  2546. this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutEnd, null), this.runtime.system.waits.length = 0;
  2547. var e, t, n, r, i, s, o;
  2548. for (e = 0, t = this.layers.length; t > e; e++) {
  2549. for (i = this.layers[e].instances, n = 0, r = i.length; r > n; n++) s = i[n], s.type.global || (this.runtime.typeHasPersistBehavior(s.type) && this.saveObjectToPersist(s), this.runtime.DestroyInstance(s));
  2550. this.runtime.ClearDeathRow(), i.length = 0, this.layers[e].zindices_stale = !0
  2551. }
  2552. for (e = 0, t = this.runtime.types_by_index.length; t > e; e++)
  2553. if (o = this.runtime.types_by_index[e], !(o.global || o.plugin.is_world || o.plugin.singleglobal || o.is_family)) {
  2554. for (n = 0, r = o.instances.length; r > n; n++) this.runtime.DestroyInstance(o.instances[n]);
  2555. this.runtime.ClearDeathRow()
  2556. }
  2557. }, e.prototype.draw = function(e) {
  2558. var t, n = e,
  2559. r = !1,
  2560. i = !this.runtime.fullscreenScalingQuality;
  2561. i && (this.runtime.layout_canvas || (this.runtime.layout_canvas = document.createElement("canvas"), t = this.runtime.layout_canvas, t.width = this.runtime.draw_width, t.height = this.runtime.draw_height, this.runtime.layout_ctx = t.getContext("2d"), r = !0), t = this.runtime.layout_canvas, n = this.runtime.layout_ctx, t.width !== this.runtime.draw_width && (t.width = this.runtime.draw_width, r = !0), t.height !== this.runtime.draw_height && (t.height = this.runtime.draw_height, r = !0), r && (n.webkitImageSmoothingEnabled = this.runtime.linearSampling, n.mozImageSmoothingEnabled = this.runtime.linearSampling, n.msImageSmoothingEnabled = this.runtime.linearSampling, n.imageSmoothingEnabled = this.runtime.linearSampling)), n.globalAlpha = 1, n.globalCompositeOperation = "source-over", this.runtime.alphaBackground && !this.hasOpaqueBottomLayer() && n.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height);
  2562. var s, o, u;
  2563. for (s = 0, o = this.layers.length; o > s; s++) u = this.layers[s], u.visible && u.opacity > 0 && 11 !== u.blend_mode && u.draw(n);
  2564. i && e.drawImage(t, 0, 0, this.runtime.width, this.runtime.height)
  2565. }, e.prototype.drawGL = function(e) {
  2566. var t = this.active_effect_types.length > 0 || this.runtime.uses_background_blending || !this.runtime.fullscreenScalingQuality;
  2567. t ? (this.runtime.layout_tex || (this.runtime.layout_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), (this.runtime.layout_tex.c2width !== this.runtime.draw_width || this.runtime.layout_tex.c2height !== this.runtime.draw_height) && (e.deleteTexture(this.runtime.layout_tex), this.runtime.layout_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), e.setRenderingToTexture(this.runtime.layout_tex), this.runtime.fullscreenScalingQuality || e.setSize(this.runtime.draw_width, this.runtime.draw_height)) : this.runtime.layout_tex && (e.setRenderingToTexture(null), e.deleteTexture(this.runtime.layout_tex), this.runtime.layout_tex = null), this.runtime.alphaBackground && !this.hasOpaqueBottomLayer() && e.clear(0, 0, 0, 0);
  2568. var n, r;
  2569. for (n = 0, r = this.layers.length; r > n; n++) this.layers[n].visible && this.layers[n].opacity > 0 && this.layers[n].drawGL(e);
  2570. if (t)
  2571. if (0 === this.active_effect_types.length || 1 === this.active_effect_types.length && this.runtime.fullscreenScalingQuality) {
  2572. if (1 === this.active_effect_types.length) {
  2573. var i = this.active_effect_types[0].index;
  2574. e.switchProgram(this.active_effect_types[0].shaderindex), e.setProgramParameters(null, 1 / this.runtime.draw_width, 1 / this.runtime.draw_height, 0, 0, 1, 1, this.scale, this.angle, 0, 0, this.effect_params[i]), e.programIsAnimated(this.active_effect_types[0].shaderindex) && (this.runtime.redraw = !0)
  2575. } else e.switchProgram(0);
  2576. this.runtime.fullscreenScalingQuality || e.setSize(this.runtime.width, this.runtime.height), e.setRenderingToTexture(null), e.setOpacity(1), e.setTexture(this.runtime.layout_tex), e.setAlphaBlend(), e.resetModelView(), e.updateModelView();
  2577. var s = this.runtime.width / 2,
  2578. o = this.runtime.height / 2;
  2579. e.quad(-s, o, s, o, s, -o, -s, -o), e.setTexture(null)
  2580. } else this.renderEffectChain(e, null, null, null)
  2581. }, e.prototype.getRenderTarget = function() {
  2582. return this.active_effect_types.length > 0 || this.runtime.uses_background_blending || !this.runtime.fullscreenScalingQuality ? this.runtime.layout_tex : null
  2583. }, e.prototype.getMinLayerScale = function() {
  2584. var e, t, n, r = this.layers[0].getScale();
  2585. for (e = 1, t = this.layers.length; t > e; e++) n = this.layers[e], (0 !== n.parallaxX || 0 !== n.parallaxY) && n.getScale() < r && (r = n.getScale());
  2586. return r
  2587. }, e.prototype.scrollToX = function(e) {
  2588. if (!this.unbounded_scrolling) {
  2589. var t = this.runtime.draw_width * (1 / this.getMinLayerScale()) / 2;
  2590. e > this.width - t && (e = this.width - t), t > e && (e = t)
  2591. }
  2592. this.scrollX !== e && (this.scrollX = e, this.runtime.redraw = !0)
  2593. }, e.prototype.scrollToY = function(e) {
  2594. if (!this.unbounded_scrolling) {
  2595. var t = this.runtime.draw_height * (1 / this.getMinLayerScale()) / 2;
  2596. e > this.height - t && (e = this.height - t), t > e && (e = t)
  2597. }
  2598. this.scrollY !== e && (this.scrollY = e, this.runtime.redraw = !0)
  2599. }, e.prototype.boundScrolling = function() {
  2600. this.scrollToX(this.scrollX), this.scrollToY(this.scrollY)
  2601. }, e.prototype.renderEffectChain = function(e, t, n, r) {
  2602. var i = n ? n.active_effect_types : t ? t.active_effect_types : this.active_effect_types,
  2603. s = 1,
  2604. o = 0,
  2605. u = 0,
  2606. a = 0;
  2607. n ? (s = n.layer.getScale(), o = n.layer.getAngle(), u = n.layer.viewLeft, a = n.layer.viewTop) : t && (s = t.getScale(), o = t.getAngle(), u = t.viewLeft, a = t.viewTop);
  2608. var f, l, c, h, p, d, v = this.runtime.fx_tex,
  2609. m = 0,
  2610. g = 1,
  2611. y = this.runtime.draw_width,
  2612. b = this.runtime.draw_height,
  2613. w = y / 2,
  2614. E = b / 2,
  2615. S = t ? t.rcTex : this.rcTex,
  2616. x = t ? t.rcTex2 : this.rcTex2,
  2617. T = 0,
  2618. N = 0,
  2619. C = 0,
  2620. k = 0,
  2621. L = y,
  2622. A = y,
  2623. O = b,
  2624. M = b,
  2625. _ = 0,
  2626. D = 0,
  2627. P = n ? n.layer.getAngle() : 0;
  2628. if (n) {
  2629. for (f = 0, l = i.length; l > f; f++) _ += e.getProgramBoxExtendHorizontal(i[f].shaderindex), D += e.getProgramBoxExtendVertical(i[f].shaderindex);
  2630. var H = n.bbox;
  2631. if (T = t.layerToCanvas(H.left, H.top, !0, !0), C = t.layerToCanvas(H.left, H.top, !1, !0), L = t.layerToCanvas(H.right, H.bottom, !0, !0), O = t.layerToCanvas(H.right, H.bottom, !1, !0), 0 !== P) {
  2632. var B = t.layerToCanvas(H.right, H.top, !0, !0),
  2633. j = t.layerToCanvas(H.right, H.top, !1, !0),
  2634. F = t.layerToCanvas(H.left, H.bottom, !0, !0),
  2635. I = t.layerToCanvas(H.left, H.bottom, !1, !0);
  2636. h = Math.min(T, L, B, F), L = Math.max(T, L, B, F), T = h, h = Math.min(C, O, j, I), O = Math.max(C, O, j, I), C = h
  2637. }
  2638. T -= _, C -= D, L += _, O += D, x.left = T / y, x.top = 1 - C / b, x.right = L / y, x.bottom = 1 - O / b, N = T = cr.floor(T), k = C = cr.floor(C), A = L = cr.ceil(L), M = O = cr.ceil(O), N -= _, k -= D, A += _, M += D, 0 > T && (T = 0), 0 > C && (C = 0), L > y && (L = y), O > b && (O = b), 0 > N && (N = 0), 0 > k && (k = 0), A > y && (A = y), M > b && (M = b), S.left = T / y, S.top = 1 - C / b, S.right = L / y, S.bottom = 1 - O / b
  2639. } else S.left = x.left = 0, S.top = x.top = 0, S.right = x.right = 1, S.bottom = x.bottom = 1;
  2640. var q = n && ((n.angle || P) && e.programUsesDest(i[0].shaderindex) || 0 !== _ || 0 !== D || 1 !== n.opacity || n.type.plugin.must_predraw) || t && !n && 1 !== t.opacity;
  2641. e.setAlphaBlend(), q && (v[m] || (v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), (v[m].c2width !== y || v[m].c2height !== b) && (e.deleteTexture(v[m]), v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), e.switchProgram(0), e.setRenderingToTexture(v[m]), d = M - k, p = b - k - d, e.clearRect(N, p, A - N, d), n ? n.drawGL(e) : (e.setTexture(this.runtime.layer_tex), e.setOpacity(t.opacity), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), e.quadTex(T, O, L, O, L, C, T, C, S)), x.left = x.top = 0, x.right = x.bottom = 1, n && (h = S.top, S.top = S.bottom, S.bottom = h), m = 1, g = 0), e.setOpacity(1);
  2642. var c = i.length - 1,
  2643. R = e.programUsesCrossSampling(i[c].shaderindex) || !t && !n && !this.runtime.fullscreenScalingQuality,
  2644. U = 0;
  2645. for (f = 0, l = i.length; l > f; f++) v[m] || (v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), (v[m].c2width !== y || v[m].c2height !== b) && (e.deleteTexture(v[m]), v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), e.switchProgram(i[f].shaderindex), U = i[f].index, e.programIsAnimated(i[f].shaderindex) && (this.runtime.redraw = !0), 0 != f || q ? (e.setProgramParameters(r, 1 / y, 1 / b, x.left, x.top, x.right, x.bottom, s, o, u, a, n ? n.effect_params[U] : t ? t.effect_params[U] : this.effect_params[U]), e.setTexture(null), f !== c || R ? (e.setRenderingToTexture(v[m]), d = M - k, p = b - k - d, e.clearRect(N, p, A - N, d)) : (n ? e.setBlend(n.srcBlend, n.destBlend) : t && e.setBlend(t.srcBlend, t.destBlend), e.setRenderingToTexture(r)), e.setTexture(v[g]), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), e.quadTex(T, O, L, O, L, C, T, C, S), f !== c || R || e.setTexture(null)) : (e.setRenderingToTexture(v[m]), d = M - k, p = b - k - d, e.clearRect(N, p, A - N, d), n ? (e.setProgramParameters(r, 1 / n.width, 1 / n.height, x.left, x.top, x.right, x.bottom, s, o, u, a, n.effect_params[U]), n.drawGL(e)) : (e.setProgramParameters(r, 1 / y, 1 / b, 0, 0, 1, 1, s, o, u, a, t ? t.effect_params[U] : this.effect_params[U]), e.setTexture(t ? this.runtime.layer_tex : this.runtime.layout_tex), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), e.quadTex(T, O, L, O, L, C, T, C, S)), x.left = x.top = 0, x.right = x.bottom = 1, n && !R && (h = O, O = C, C = h)), m = 0 === m ? 1 : 0, g = 0 === m ? 1 : 0;
  2646. R && (e.switchProgram(0), n ? e.setBlend(n.srcBlend, n.destBlend) : t ? e.setBlend(t.srcBlend, t.destBlend) : this.runtime.fullscreenScalingQuality || (e.setSize(this.runtime.width, this.runtime.height), w = this.runtime.width / 2, E = this.runtime.height / 2, T = 0, C = 0, L = this.runtime.width, O = this.runtime.height), e.setRenderingToTexture(r), e.setTexture(v[g]), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), n && 1 === i.length && !q ? e.quadTex(T, C, L, C, L, O, T, O, S) : e.quadTex(T, O, L, O, L, C, T, C, S), e.setTexture(null))
  2647. }, e.prototype.getLayerBySid = function(e) {
  2648. var t, n;
  2649. for (t = 0, n = this.layers.length; n > t; t++)
  2650. if (this.layers[t].sid === e) return this.layers[t];
  2651. return null
  2652. }, e.prototype.saveToJSON = function() {
  2653. var e, t, n, r, i = {
  2654. sx: this.scrollX,
  2655. sy: this.scrollY,
  2656. s: this.scale,
  2657. a: this.angle,
  2658. w: this.width,
  2659. h: this.height,
  2660. fv: this.first_visit,
  2661. persist: this.persist_data,
  2662. fx: [],
  2663. layers: {}
  2664. };
  2665. for (e = 0, t = this.effect_types.length; t > e; e++) r = this.effect_types[e], i.fx.push({
  2666. name: r.name,
  2667. active: r.active,
  2668. params: this.effect_params[r.index]
  2669. });
  2670. for (e = 0, t = this.layers.length; t > e; e++) n = this.layers[e], i.layers[n.sid.toString()] = n.saveToJSON();
  2671. return i
  2672. }, e.prototype.loadFromJSON = function(e) {
  2673. var t, n, r, i, s;
  2674. this.scrollX = e.sx, this.scrollY = e.sy, this.scale = e.s, this.angle = e.a, this.width = e.w, this.height = e.h, this.persist_data = e.persist, "undefined" != typeof e.fv && (this.first_visit = e.fv);
  2675. var o = e.fx;
  2676. for (t = 0, n = o.length; n > t; t++) r = this.getEffectByName(o[t].name), r && (r.active = o[t].active, this.effect_params[r.index] = o[t].params);
  2677. this.updateActiveEffects();
  2678. var u = e.layers;
  2679. for (i in u)
  2680. if (u.hasOwnProperty(i)) {
  2681. if (s = this.getLayerBySid(parseInt(i, 10)), !s) continue;
  2682. s.loadFromJSON(u[i])
  2683. }
  2684. }, cr.layout = e, t.prototype.updateActiveEffects = function() {
  2685. this.active_effect_types.length = 0;
  2686. var e, t, n;
  2687. for (e = 0, t = this.effect_types.length; t > e; e++) n = this.effect_types[e], n.active && this.active_effect_types.push(n)
  2688. }, t.prototype.getEffectByName = function(e) {
  2689. var t, n, r;
  2690. for (t = 0, n = this.effect_types.length; n > t; t++)
  2691. if (r = this.effect_types[t], r.name === e) return r;
  2692. return null
  2693. }, t.prototype.createInitialInstances = function() {
  2694. var e, t, n, i, o, u, a, f;
  2695. for (e = 0, t = 0, n = this.initial_instances.length; n > e; e++) o = this.initial_instances[e], u = this.runtime.types_by_index[o[1]], f = this.runtime.typeHasPersistBehavior(u), a = !0, (!f || this.layout.first_visit) && (i = this.runtime.createInstanceFromInit(o, this, !0), r.push(i), i.type.global && (a = !1)), a && (this.initial_instances[t] = this.initial_instances[e], t++);
  2696. this.initial_instances.length = t, this.runtime.ClearDeathRow(), !this.runtime.glwrap && this.effect_types.length && (this.blend_mode = this.effect_fallback), this.compositeOp = cr.effectToCompositeOp(this.blend_mode), this.runtime.gl && cr.setGLBlend(this, this.blend_mode, this.runtime.gl)
  2697. }, t.prototype.updateZIndices = function() {
  2698. if (this.zindices_stale) {
  2699. var e, t;
  2700. for (e = 0, t = this.instances.length; t > e; e++) this.instances[e].zindex = e;
  2701. this.zindices_stale = !1
  2702. }
  2703. }, t.prototype.getScale = function(e) {
  2704. return this.getNormalScale() * (this.runtime.fullscreenScalingQuality || e ? this.runtime.aspect_scale : 1)
  2705. }, t.prototype.getNormalScale = function() {
  2706. return (this.scale * this.layout.scale - 1) * this.zoomRate + 1
  2707. }, t.prototype.getAngle = function() {
  2708. return this.disableAngle ? 0 : cr.clamp_angle(this.layout.angle + this.angle)
  2709. }, t.prototype.draw = function(e) {
  2710. this.render_offscreen = this.forceOwnTexture || 1 !== this.opacity || 0 !== this.blend_mode;
  2711. var t = this.runtime.canvas,
  2712. n = e,
  2713. r = !1;
  2714. this.render_offscreen && (this.runtime.layer_canvas || (this.runtime.layer_canvas = document.createElement("canvas"), t = this.runtime.layer_canvas, t.width = this.runtime.draw_width, t.height = this.runtime.draw_height, this.runtime.layer_ctx = t.getContext("2d"), r = !0), t = this.runtime.layer_canvas, n = this.runtime.layer_ctx, t.width !== this.runtime.draw_width && (t.width = this.runtime.draw_width, r = !0), t.height !== this.runtime.draw_height && (t.height = this.runtime.draw_height, r = !0), r && (n.webkitImageSmoothingEnabled = this.runtime.linearSampling, n.mozImageSmoothingEnabled = this.runtime.linearSampling, n.msImageSmoothingEnabled = this.runtime.linearSampling, n.imageSmoothingEnabled = this.runtime.linearSampling), this.transparent && n.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height)), n.globalAlpha = 1, n.globalCompositeOperation = "source-over", this.transparent || (n.fillStyle = "rgb(" + this.background_color[0] + "," + this.background_color[1] + "," + this.background_color[2] + ")", n.fillRect(0, 0, this.runtime.draw_width, this.runtime.draw_height)), n.save(), this.disableAngle = !0;
  2715. var i = this.canvasToLayer(0, 0, !0, !0),
  2716. s = this.canvasToLayer(0, 0, !1, !0);
  2717. this.disableAngle = !1, this.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), this.rotateViewport(i, s, n);
  2718. var o = this.getScale();
  2719. n.scale(o, o), n.translate(-i, -s);
  2720. var u, a, f, l;
  2721. for (u = 0, a = this.instances.length; a > u; u++) f = this.instances[u], f.visible && 0 !== f.width && 0 !== f.height && (f.update_bbox(), l = f.bbox, l.right < this.viewLeft || l.bottom < this.viewTop || l.left > this.viewRight || l.top > this.viewBottom || (n.globalCompositeOperation = f.compositeOp, f.draw(n)));
  2722. n.restore(), this.render_offscreen && (e.globalCompositeOperation = this.compositeOp, e.globalAlpha = this.opacity, e.drawImage(t, 0, 0))
  2723. }, t.prototype.rotateViewport = function(e, t, n) {
  2724. var r = this.getScale();
  2725. this.viewLeft = e, this.viewTop = t, this.viewRight = e + this.runtime.draw_width * (1 / r), this.viewBottom = t + this.runtime.draw_height * (1 / r);
  2726. var i = this.getAngle();
  2727. 0 !== i && (n && (n.translate(this.runtime.draw_width / 2, this.runtime.draw_height / 2), n.rotate(-i), n.translate(this.runtime.draw_width / -2, this.runtime.draw_height / -2)), this.tmprect.set(this.viewLeft, this.viewTop, this.viewRight, this.viewBottom), this.tmprect.offset((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2), this.tmpquad.set_from_rotated_rect(this.tmprect, i), this.tmpquad.bounding_box(this.tmprect), this.tmprect.offset((this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2), this.viewLeft = this.tmprect.left, this.viewTop = this.tmprect.top, this.viewRight = this.tmprect.right, this.viewBottom = this.tmprect.bottom)
  2728. }, t.prototype.drawGL = function(e) {
  2729. var t = this.runtime.draw_width,
  2730. n = this.runtime.draw_height,
  2731. r = 0,
  2732. i = 0;
  2733. this.render_offscreen = this.forceOwnTexture || 1 !== this.opacity || this.active_effect_types.length > 0 || 0 !== this.blend_mode, this.render_offscreen && (this.runtime.layer_tex || (this.runtime.layer_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), (this.runtime.layer_tex.c2width !== this.runtime.draw_width || this.runtime.layer_tex.c2height !== this.runtime.draw_height) && (e.deleteTexture(this.runtime.layer_tex), this.runtime.layer_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), e.setRenderingToTexture(this.runtime.layer_tex), this.transparent && e.clear(0, 0, 0, 0)), this.transparent || e.clear(this.background_color[0] / 255, this.background_color[1] / 255, this.background_color[2] / 255, 1), this.disableAngle = !0;
  2734. var s = this.canvasToLayer(0, 0, !0, !0),
  2735. o = this.canvasToLayer(0, 0, !1, !0);
  2736. this.disableAngle = !1, this.runtime.pixel_rounding && (s = s + .5 | 0, o = o + .5 | 0), this.rotateViewport(s, o, null);
  2737. var u = this.getScale();
  2738. e.resetModelView(), e.scale(u, u), e.rotateZ(-this.getAngle()), e.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2), e.updateModelView();
  2739. var a, f, l, c;
  2740. for (a = 0, f = this.instances.length; f > a; a++)
  2741. if (l = this.instances[a], l.visible && 0 !== l.width && 0 !== l.height && (l.update_bbox(), c = l.bbox, !(c.right < this.viewLeft || c.bottom < this.viewTop || c.left > this.viewRight || c.top > this.viewBottom)))
  2742. if (l.uses_shaders)
  2743. if (r = l.active_effect_types[0].shaderindex, i = l.active_effect_types[0].index, 1 !== l.active_effect_types.length || e.programUsesCrossSampling(r) || e.programExtendsBox(r) || (l.angle || l.layer.getAngle()) && e.programUsesDest(r) || 1 !== l.opacity || l.type.plugin.must_predraw) this.layout.renderEffectChain(e, this, l, this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget()), e.resetModelView(), e.scale(u, u), e.rotateZ(-this.getAngle()), e.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2), e.updateModelView();
  2744. else {
  2745. e.switchProgram(r), e.setBlend(l.srcBlend, l.destBlend), e.programIsAnimated(r) && (this.runtime.redraw = !0);
  2746. var h = 0,
  2747. p = 0,
  2748. d = 0,
  2749. v = 0;
  2750. if (e.programUsesDest(r)) {
  2751. var c = l.bbox,
  2752. m = this.layerToCanvas(c.left, c.top, !0, !0),
  2753. g = this.layerToCanvas(c.left, c.top, !1, !0),
  2754. y = this.layerToCanvas(c.right, c.bottom, !0, !0),
  2755. b = this.layerToCanvas(c.right, c.bottom, !1, !0);
  2756. h = m / t, p = 1 - g / n, d = y / t, v = 1 - b / n
  2757. }
  2758. e.setProgramParameters(this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget(), 1 / l.width, 1 / l.height, h, p, d, v, this.getScale(), this.getAngle(), this.viewLeft, this.viewTop, l.effect_params[i]), l.drawGL(e)
  2759. } else e.switchProgram(0), e.setBlend(l.srcBlend, l.destBlend), l.drawGL(e); if (this.render_offscreen)
  2760. if (r = this.active_effect_types.length ? this.active_effect_types[0].shaderindex : 0, i = this.active_effect_types.length ? this.active_effect_types[0].index : 0, 0 === this.active_effect_types.length || 1 === this.active_effect_types.length && !e.programUsesCrossSampling(r) && 1 === this.opacity) {
  2761. 1 === this.active_effect_types.length ? (e.switchProgram(r), e.setProgramParameters(this.layout.getRenderTarget(), 1 / this.runtime.draw_width, 1 / this.runtime.draw_height, 0, 0, 1, 1, this.getScale(), this.getAngle(), this.viewLeft, this.viewTop, this.effect_params[i]), e.programIsAnimated(r) && (this.runtime.redraw = !0)) : e.switchProgram(0), e.setRenderingToTexture(this.layout.getRenderTarget()), e.setOpacity(this.opacity), e.setTexture(this.runtime.layer_tex), e.setBlend(this.srcBlend, this.destBlend), e.resetModelView(), e.updateModelView();
  2762. var w = this.runtime.draw_width / 2,
  2763. E = this.runtime.draw_height / 2;
  2764. e.quad(-w, E, w, E, w, -E, -w, -E), e.setTexture(null)
  2765. } else this.layout.renderEffectChain(e, this, null, this.layout.getRenderTarget())
  2766. }, t.prototype.canvasToLayer = function(e, t, n, r) {
  2767. var i = this.runtime.devicePixelRatio;
  2768. this.runtime.isRetina && (e *= i, t *= i);
  2769. var s = this.runtime.parallax_x_origin,
  2770. o = this.runtime.parallax_y_origin,
  2771. u = (this.layout.scrollX - s) * this.parallaxX + s,
  2772. a = (this.layout.scrollY - o) * this.parallaxY + o,
  2773. f = 1 / this.getScale(!r);
  2774. r ? (u -= this.runtime.draw_width * f / 2, a -= this.runtime.draw_height * f / 2) : (u -= this.runtime.width * f / 2, a -= this.runtime.height * f / 2), u += e * f, a += t * f;
  2775. var l = this.getAngle();
  2776. if (0 !== l) {
  2777. u -= this.layout.scrollX, a -= this.layout.scrollY;
  2778. var c = Math.cos(l),
  2779. h = Math.sin(l),
  2780. p = u * c - a * h;
  2781. a = a * c + u * h, u = p, u += this.layout.scrollX, a += this.layout.scrollY
  2782. }
  2783. return n ? u : a
  2784. }, t.prototype.layerToCanvas = function(e, t, n, r) {
  2785. var i = this.getAngle();
  2786. if (0 !== i) {
  2787. e -= this.layout.scrollX, t -= this.layout.scrollY;
  2788. var s = Math.cos(-i),
  2789. o = Math.sin(-i),
  2790. u = e * s - t * o;
  2791. t = t * s + e * o, e = u, e += this.layout.scrollX, t += this.layout.scrollY
  2792. }
  2793. var a = this.runtime.parallax_x_origin,
  2794. f = this.runtime.parallax_y_origin,
  2795. l = (this.layout.scrollX - a) * this.parallaxX + a,
  2796. c = (this.layout.scrollY - f) * this.parallaxY + f,
  2797. h = 1 / this.getScale(!r);
  2798. r ? (l -= this.runtime.draw_width * h / 2, c -= this.runtime.draw_height * h / 2) : (l -= this.runtime.width * h / 2, c -= this.runtime.height * h / 2), l = (e - l) / h, c = (t - c) / h;
  2799. var p = this.runtime.devicePixelRatio;
  2800. return this.runtime.isRetina && !r && (l /= p, c /= p), n ? l : c
  2801. }, t.prototype.rotatePt = function(e, t, n) {
  2802. if (0 === this.getAngle()) return n ? e : t;
  2803. var r = this.layerToCanvas(e, t, !0),
  2804. i = this.layerToCanvas(e, t, !1);
  2805. this.disableAngle = !0;
  2806. var s = this.canvasToLayer(r, i, !0),
  2807. o = this.canvasToLayer(r, i, !0);
  2808. return this.disableAngle = !1, n ? s : o
  2809. }, t.prototype.saveToJSON = function() {
  2810. var e, t, n, r = {
  2811. s: this.scale,
  2812. a: this.angle,
  2813. vl: this.viewLeft,
  2814. vt: this.viewTop,
  2815. vr: this.viewRight,
  2816. vb: this.viewBottom,
  2817. v: this.visible,
  2818. bc: this.background_color,
  2819. t: this.transparent,
  2820. px: this.parallaxX,
  2821. py: this.parallaxY,
  2822. o: this.opacity,
  2823. zr: this.zoomRate,
  2824. fx: [],
  2825. instances: []
  2826. };
  2827. for (e = 0, t = this.effect_types.length; t > e; e++) n = this.effect_types[e], r.fx.push({
  2828. name: n.name,
  2829. active: n.active,
  2830. params: this.effect_params[n.index]
  2831. });
  2832. return r
  2833. }, t.prototype.loadFromJSON = function(e) {
  2834. var t, r, s;
  2835. this.scale = e.s, this.angle = e.a, this.viewLeft = e.vl, this.viewTop = e.vt, this.viewRight = e.vr, this.viewBottom = e.vb, this.visible = e.v, this.background_color = e.bc, this.transparent = e.t, this.parallaxX = e.px, this.parallaxY = e.py, this.opacity = e.o, this.zoomRate = e.zr;
  2836. var o = e.fx;
  2837. for (t = 0, r = o.length; r > t; t++) s = this.getEffectByName(o[t].name), s && (s.active = o[t].active, this.effect_params[s.index] = o[t].params);
  2838. this.updateActiveEffects(), this.instances.sort(n), this.zindices_stale = !0
  2839. }, cr.layer = t
  2840. }(),
  2841. function() {
  2842. function e(e, t) {
  2843. var n, r = e.length;
  2844. switch (r) {
  2845. case 0:
  2846. return !0;
  2847. case 1:
  2848. return e[0] === t[0];
  2849. case 2:
  2850. return e[0] === t[0] && e[1] === t[1];
  2851. default:
  2852. for (n = 0; r > n; n++)
  2853. if (e[n] !== t[n]) return !1;
  2854. return !0
  2855. }
  2856. }
  2857. function t(e, t) {
  2858. return e.index - t.index
  2859. }
  2860. function n(n) {
  2861. var r, i, s, o, u;
  2862. for (2 === n.length ? n[0].index > n[1].index && (o = n[0], n[0] = n[1], n[1] = o) : n.length > 2 && n.sort(t), n.length >= d.length && (d.length = n.length + 1), d[n.length] || (d[n.length] = []), u = d[n.length], r = 0, i = u.length; i > r; r++)
  2863. if (s = u[r], e(n, s)) return s;
  2864. return u.push(n), n
  2865. }
  2866. function r(e, t) {
  2867. this.runtime = e, this.triggers = {}, this.fasttriggers = {}, this.hasRun = !1, this.includes = new cr.ObjectSet, this.deep_includes = [], this.already_included_sheets = [], this.name = t[0];
  2868. var n = t[1];
  2869. this.events = [];
  2870. var r, i;
  2871. for (r = 0, i = n.length; i > r; r++) this.init_event(n[r], null, this.events)
  2872. }
  2873. function i(e) {
  2874. return cr.plugins_.Sprite && e === cr.plugins_.Sprite.prototype.cnds.OnFrameChanged ? !0 : !1
  2875. }
  2876. function s(e) {
  2877. this.type = e, this.instances = [], this.else_instances = [], this.select_all = !0
  2878. }
  2879. function o(e, t, n) {
  2880. this.sheet = e, this.parent = t, this.runtime = e.runtime, this.solModifiers = [], this.solModifiersIncludingParents = [], this.solWriterAfterCnds = !1, this.group = !1, this.initially_activated = !1, this.toplevelevent = !1, this.toplevelgroup = !1, this.has_else_block = !1, this.conditions = [], this.actions = [], this.subevents = [], this.group_name = "", this.group = !1, this.initially_activated = !1, this.group_active = !1, this.contained_includes = null, n[1] && (this.group_name = n[1][1].toLowerCase(), this.group = !0, this.initially_activated = !!n[1][0], this.contained_includes = [], this.group_active = this.initially_activated, this.runtime.allGroups.push(this), this.runtime.groups_by_name[this.group_name] = this), this.orblock = n[2], this.sid = n[4], this.group || (this.runtime.blocksBySid[this.sid.toString()] = this);
  2881. var r, i, s = n[5];
  2882. for (r = 0, i = s.length; i > r; r++) {
  2883. var o = new cr.condition(this, s[r]);
  2884. o.index = r, cr.seal(o), this.conditions.push(o), this.addSolModifier(o.type)
  2885. }
  2886. var u = n[6];
  2887. for (r = 0, i = u.length; i > r; r++) {
  2888. var a = new cr.action(this, u[r]);
  2889. a.index = r, cr.seal(a), this.actions.push(a)
  2890. }
  2891. if (8 === n.length) {
  2892. var f = n[7];
  2893. for (r = 0, i = f.length; i > r; r++) this.sheet.init_event(f[r], this, this.subevents)
  2894. }
  2895. this.is_else_block = !1, this.conditions.length && (this.is_else_block = null == this.conditions[0].type && this.conditions[0].func == cr.system_object.prototype.cnds.Else)
  2896. }
  2897. function u(e, t) {
  2898. var n, r, i;
  2899. if (e && (-1 === t.indexOf(e) && t.push(e), e.is_contained))
  2900. for (n = 0, r = e.container.length; r > n; n++) i = e.container[n], e !== i && -1 === t.indexOf(i) && t.push(i)
  2901. }
  2902. function a(e, t) {
  2903. if (this.block = e, this.sheet = e.sheet, this.runtime = e.runtime, this.parameters = [], this.results = [], this.extra = {}, this.index = -1, this.anyParamVariesPerInstance = !1, this.func = t[1], this.trigger = t[3] > 0, this.fasttrigger = 2 === t[3], this.looping = t[4], this.inverted = t[5], this.isstatic = t[6], this.sid = t[7], this.runtime.cndsBySid[this.sid.toString()] = this, -1 === t[0] ? (this.type = null, this.run = this.run_system, this.behaviortype = null, this.beh_index = -1) : (this.type = this.runtime.types_by_index[t[0]], this.run = this.isstatic ? this.run_static : this.run_object, t[2] ? (this.behaviortype = this.type.getBehaviorByName(t[2]), this.beh_index = this.type.getBehaviorIndexByName(t[2])) : (this.behaviortype = null, this.beh_index = -1), this.block.parent && this.block.parent.setSolWriterAfterCnds()), this.fasttrigger && (this.run = this.run_true), 10 === t.length) {
  2904. var n, r, i = t[9];
  2905. for (n = 0, r = i.length; r > n; n++) {
  2906. var s = new cr.parameter(this, i[n]);
  2907. cr.seal(s), this.parameters.push(s)
  2908. }
  2909. this.results.length = i.length
  2910. }
  2911. }
  2912. function f(e, t) {
  2913. if (this.block = e, this.sheet = e.sheet, this.runtime = e.runtime, this.parameters = [], this.results = [], this.extra = {}, this.index = -1, this.anyParamVariesPerInstance = !1, this.func = t[1], -1 === t[0] ? (this.type = null, this.run = this.run_system, this.behaviortype = null, this.beh_index = -1) : (this.type = this.runtime.types_by_index[t[0]], this.run = this.run_object, t[2] ? (this.behaviortype = this.type.getBehaviorByName(t[2]), this.beh_index = this.type.getBehaviorIndexByName(t[2])) : (this.behaviortype = null, this.beh_index = -1)), this.sid = t[3], this.runtime.actsBySid[this.sid.toString()] = this, 6 === t.length) {
  2914. var n, r, i = t[5];
  2915. for (n = 0, r = i.length; r > n; n++) {
  2916. var s = new cr.parameter(this, i[n]);
  2917. cr.seal(s), this.parameters.push(s)
  2918. }
  2919. this.results.length = i.length
  2920. }
  2921. }
  2922. function l(e, t) {
  2923. this.owner = e, this.block = e.block, this.sheet = e.sheet, this.runtime = e.runtime, this.type = t[0], this.expression = null, this.solindex = 0, this.get = null, this.combosel = 0, this.layout = null, this.key = 0, this.object = null, this.index = 0, this.varname = null, this.eventvar = null, this.fileinfo = null, this.subparams = null, this.variadicret = null, this.subparams = null, this.variadicret = null, this.variesPerInstance = !1;
  2924. var n, r, i;
  2925. switch (t[0]) {
  2926. case 0:
  2927. case 7:
  2928. this.expression = new cr.expNode(this, t[1]), this.solindex = 0, this.get = this.get_exp;
  2929. break;
  2930. case 1:
  2931. this.expression = new cr.expNode(this, t[1]), this.solindex = 0, this.get = this.get_exp_str;
  2932. break;
  2933. case 5:
  2934. this.expression = new cr.expNode(this, t[1]), this.solindex = 0, this.get = this.get_layer;
  2935. break;
  2936. case 3:
  2937. case 8:
  2938. this.combosel = t[1], this.get = this.get_combosel;
  2939. break;
  2940. case 6:
  2941. this.layout = this.runtime.layouts[t[1]], this.get = this.get_layout;
  2942. break;
  2943. case 9:
  2944. this.key = t[1], this.get = this.get_key;
  2945. break;
  2946. case 4:
  2947. this.object = this.runtime.types_by_index[t[1]], this.get = this.get_object, this.block.addSolModifier(this.object), this.owner instanceof cr.action ? this.block.setSolWriterAfterCnds() : this.block.parent && this.block.parent.setSolWriterAfterCnds();
  2948. break;
  2949. case 10:
  2950. this.index = t[1], e.type.is_family ? (this.get = this.get_familyvar, this.variesPerInstance = !0) : this.get = this.get_instvar;
  2951. break;
  2952. case 11:
  2953. this.varname = t[1], this.eventvar = null, this.get = this.get_eventvar;
  2954. break;
  2955. case 2:
  2956. case 12:
  2957. this.fileinfo = t[1], this.get = this.get_audiofile;
  2958. break;
  2959. case 13:
  2960. for (this.get = this.get_variadic, this.subparams = [], this.variadicret = [], n = 1, r = t.length; r > n; n++) i = new cr.parameter(this.owner, t[n]), cr.seal(i), this.subparams.push(i), this.variadicret.push(0)
  2961. }
  2962. }
  2963. function c(e, t, n) {
  2964. this.sheet = e, this.parent = t, this.runtime = e.runtime, this.solModifiers = [], this.name = n[1], this.vartype = n[2], this.initial = n[3], this.is_static = !!n[4], this.is_constant = !!n[5], this.sid = n[6], this.runtime.varsBySid[this.sid.toString()] = this, this.data = this.initial, this.parent ? (this.localIndex = this.is_static || this.is_constant ? -1 : this.runtime.stackLocalCount++, this.runtime.all_local_vars.push(this)) : (this.localIndex = -1, this.runtime.all_global_vars.push(this))
  2965. }
  2966. function h(e, t, n) {
  2967. this.sheet = e, this.parent = t, this.runtime = e.runtime, this.solModifiers = [], this.include_sheet = null, this.include_sheet_name = n[1], this.active = !0
  2968. }
  2969. function p() {
  2970. this.temp_parents_arr = [], this.reset(null), cr.seal(this)
  2971. }
  2972. var d = [];
  2973. r.prototype.toString = function() {
  2974. return this.name
  2975. }, r.prototype.init_event = function(e, t, n) {
  2976. switch (e[0]) {
  2977. case 0:
  2978. var r = new cr.eventblock(this, t, e);
  2979. if (cr.seal(r), r.orblock) {
  2980. n.push(r);
  2981. var i, s;
  2982. for (i = 0, s = r.conditions.length; s > i; i++) r.conditions[i].trigger && this.init_trigger(r, i)
  2983. } else r.is_trigger() ? this.init_trigger(r, 0) : n.push(r);
  2984. break;
  2985. case 1:
  2986. var o = new cr.eventvariable(this, t, e);
  2987. cr.seal(o), n.push(o);
  2988. break;
  2989. case 2:
  2990. var u = new cr.eventinclude(this, t, e);
  2991. cr.seal(u), n.push(u)
  2992. }
  2993. }, r.prototype.postInit = function() {
  2994. var e, t;
  2995. for (e = 0, t = this.events.length; t > e; e++) this.events[e].postInit(t - 1 > e && this.events[e + 1].is_else_block)
  2996. }, r.prototype.updateDeepIncludes = function() {
  2997. this.deep_includes.length = 0, this.already_included_sheets.length = 0, this.addDeepIncludes(this), this.already_included_sheets.length = 0
  2998. }, r.prototype.addDeepIncludes = function(e) {
  2999. var t, n, r, i, s = e.deep_includes,
  3000. o = e.already_included_sheets,
  3001. u = this.includes.valuesRef();
  3002. for (t = 0, n = u.length; n > t; ++t) r = u[t], i = r.include_sheet, !r.isActive() || e === i || o.indexOf(i) > -1 || (o.push(i), i.addDeepIncludes(e), s.push(i))
  3003. }, r.prototype.run = function(e) {
  3004. this.runtime.resuming_breakpoint || (this.hasRun = !0, e || (this.runtime.isRunningEvents = !0));
  3005. var t, n;
  3006. for (t = 0, n = this.events.length; n > t; t++) {
  3007. var r = this.events[t];
  3008. r.run(), this.runtime.clearSol(r.solModifiers), (!this.runtime.deathRow.isEmpty() || this.runtime.createRow.length) && this.runtime.ClearDeathRow()
  3009. }
  3010. e || (this.runtime.isRunningEvents = !1)
  3011. }, r.prototype.init_trigger = function(e, t) {
  3012. e.orblock || this.runtime.triggers_to_postinit.push(e);
  3013. var n, r, s, o = e.conditions[t];
  3014. s = o.type ? o.type.name : "system";
  3015. var u = o.fasttrigger,
  3016. a = u ? this.fasttriggers : this.triggers;
  3017. a[s] || (a[s] = []);
  3018. var f = a[s],
  3019. l = o.func;
  3020. if (u) {
  3021. if (!o.parameters.length) return;
  3022. var c = o.parameters[0];
  3023. if (1 !== c.type || 2 !== c.expression.type) return;
  3024. var h, n, r, p = c.expression.value.toLowerCase();
  3025. for (n = 0, r = f.length; r > n; n++)
  3026. if (f[n].method == l) return h = f[n].evs, void(h[p] ? h[p].push([e, t]) : h[p] = [
  3027. [e, t]
  3028. ]);
  3029. h = {}, h[p] = [
  3030. [e, t]
  3031. ], f.push({
  3032. method: l,
  3033. evs: h
  3034. })
  3035. } else {
  3036. for (n = 0, r = f.length; r > n; n++)
  3037. if (f[n].method == l) return void f[n].evs.push([e, t]);
  3038. i(l) ? f.unshift({
  3039. method: l,
  3040. evs: [
  3041. [e, t]
  3042. ]
  3043. }) : f.push({
  3044. method: l,
  3045. evs: [
  3046. [e, t]
  3047. ]
  3048. })
  3049. }
  3050. }, cr.eventsheet = r, s.prototype.hasObjects = function() {
  3051. return this.select_all ? this.type.instances.length : this.instances.length
  3052. }, s.prototype.getObjects = function() {
  3053. return this.select_all ? this.type.instances : this.instances
  3054. }, s.prototype.pick_one = function(e) {
  3055. if (e)
  3056. if (e.runtime.getCurrentEventStack().current_event.orblock) {
  3057. this.select_all && (this.instances.length = 0, cr.shallowAssignArray(this.else_instances, e.type.instances), this.select_all = !1);
  3058. var t = this.else_instances.indexOf(e); - 1 !== t && (this.instances.push(this.else_instances[t]), this.else_instances.splice(t, 1))
  3059. } else this.select_all = !1, this.instances.length = 1, this.instances[0] = e
  3060. }, cr.selection = s, window._c2hh_ = "AC4DF46CAE0946F0F6CAE2315999B12F27257076", o.prototype.postInit = function(e) {
  3061. var t, r, i = this.parent;
  3062. if (this.group)
  3063. for (this.toplevelgroup = !0; i;) {
  3064. if (!i.group) {
  3065. this.toplevelgroup = !1;
  3066. break
  3067. }
  3068. i = i.parent
  3069. }
  3070. for (this.toplevelevent = !this.is_trigger() && (!this.parent || this.parent.group && this.parent.toplevelgroup), this.has_else_block = !!e, this.solModifiersIncludingParents = this.solModifiers.slice(0), i = this.parent; i;) {
  3071. for (t = 0, r = i.solModifiers.length; r > t; t++) this.addParentSolModifier(i.solModifiers[t]);
  3072. i = i.parent
  3073. }
  3074. this.solModifiers = n(this.solModifiers), this.solModifiersIncludingParents = n(this.solModifiersIncludingParents);
  3075. var t, r;
  3076. for (t = 0, r = this.conditions.length; r > t; t++) this.conditions[t].postInit();
  3077. for (t = 0, r = this.actions.length; r > t; t++) this.actions[t].postInit();
  3078. for (t = 0, r = this.subevents.length; r > t; t++) this.subevents[t].postInit(r - 1 > t && this.subevents[t + 1].is_else_block)
  3079. }, o.prototype.setGroupActive = function(e) {
  3080. if (this.group_active !== !!e) {
  3081. this.group_active = !!e;
  3082. var t, n;
  3083. for (t = 0, n = this.contained_includes.length; n > t; ++t) this.contained_includes[t].updateActive();
  3084. n > 0 && this.runtime.running_layout.event_sheet && this.runtime.running_layout.event_sheet.updateDeepIncludes()
  3085. }
  3086. }, o.prototype.addSolModifier = function(e) {
  3087. u(e, this.solModifiers)
  3088. }, o.prototype.addParentSolModifier = function(e) {
  3089. u(e, this.solModifiersIncludingParents)
  3090. }, o.prototype.setSolWriterAfterCnds = function() {
  3091. this.solWriterAfterCnds = !0, this.parent && this.parent.setSolWriterAfterCnds()
  3092. }, o.prototype.is_trigger = function() {
  3093. return this.conditions.length ? this.conditions[0].trigger : !1
  3094. }, o.prototype.run = function() {
  3095. var e, t, n = !1,
  3096. r = this.runtime,
  3097. i = this.runtime.getCurrentEventStack();
  3098. i.current_event = this;
  3099. var s = this.conditions;
  3100. if (this.is_else_block || (i.else_branch_ran = !1), this.orblock) {
  3101. for (0 === s.length && (n = !0), i.cndindex = 0, e = s.length; i.cndindex < e; i.cndindex++) s[i.cndindex].trigger || (t = s[i.cndindex].run(), t && (n = !0));
  3102. i.last_event_true = n, n && this.run_actions_and_subevents()
  3103. } else {
  3104. for (i.cndindex = 0, e = s.length; i.cndindex < e; i.cndindex++)
  3105. if (t = s[i.cndindex].run(), !t) return i.last_event_true = !1, void(!this.toplevelevent || r.deathRow.isEmpty() && !r.createRow.length || r.ClearDeathRow());
  3106. i.last_event_true = !0, this.run_actions_and_subevents()
  3107. }
  3108. this.end_run(i)
  3109. }, o.prototype.end_run = function(e) {
  3110. e.last_event_true && this.has_else_block && (e.else_branch_ran = !0), !this.toplevelevent || this.runtime.deathRow.isEmpty() && !this.runtime.createRow.length || this.runtime.ClearDeathRow()
  3111. }, o.prototype.run_orblocktrigger = function(e) {
  3112. var t = this.runtime.getCurrentEventStack();
  3113. t.current_event = this, this.conditions[e].run() && (this.run_actions_and_subevents(), this.runtime.getCurrentEventStack().last_event_true = !0)
  3114. }, o.prototype.run_actions_and_subevents = function() {
  3115. var e, t = this.runtime.getCurrentEventStack();
  3116. for (t.actindex = 0, e = this.actions.length; t.actindex < e; t.actindex++)
  3117. if (this.actions[t.actindex].run()) return;
  3118. this.run_subevents()
  3119. }, o.prototype.resume_actions_and_subevents = function() {
  3120. var e, t = this.runtime.getCurrentEventStack();
  3121. for (e = this.actions.length; t.actindex < e; t.actindex++)
  3122. if (this.actions[t.actindex].run()) return;
  3123. this.run_subevents()
  3124. }, o.prototype.run_subevents = function() {
  3125. if (this.subevents.length) {
  3126. var e, t, n, r, i = this.subevents.length - 1;
  3127. if (this.runtime.pushEventStack(this), this.solWriterAfterCnds)
  3128. for (e = 0, t = this.subevents.length; t > e; e++) n = this.subevents[e], r = !this.toplevelgroup || !this.group && i > e, r && this.runtime.pushCopySol(n.solModifiers), n.run(), r ? this.runtime.popSol(n.solModifiers) : this.runtime.clearSol(n.solModifiers);
  3129. else
  3130. for (e = 0, t = this.subevents.length; t > e; e++) this.subevents[e].run();
  3131. this.runtime.popEventStack()
  3132. }
  3133. }, o.prototype.run_pretrigger = function() {
  3134. var e = this.runtime.getCurrentEventStack();
  3135. e.current_event = this;
  3136. var t, n = !1;
  3137. for (e.cndindex = 0, t = this.conditions.length; e.cndindex < t; e.cndindex++)
  3138. if (this.conditions[e.cndindex].run()) n = !0;
  3139. else if (!this.orblock) return !1;
  3140. return this.orblock ? n : !0
  3141. }, o.prototype.retrigger = function() {
  3142. this.runtime.execcount++;
  3143. var e, t = this.runtime.getCurrentEventStack().cndindex,
  3144. n = this.runtime.pushEventStack(this);
  3145. if (!this.orblock)
  3146. for (n.cndindex = t + 1, e = this.conditions.length; n.cndindex < e; n.cndindex++)
  3147. if (!this.conditions[n.cndindex].run()) return this.runtime.popEventStack(), !1;
  3148. return this.run_actions_and_subevents(), this.runtime.popEventStack(), !0
  3149. }, o.prototype.isFirstConditionOfType = function(e) {
  3150. var t = e.index;
  3151. if (0 === t) return !0;
  3152. for (--t; t >= 0; --t)
  3153. if (this.conditions[t].type === e.type) return !1;
  3154. return !0
  3155. }, cr.eventblock = o, a.prototype.postInit = function() {
  3156. var e, t, n;
  3157. for (e = 0, t = this.parameters.length; t > e; e++) n = this.parameters[e], n.postInit(), n.variesPerInstance && (this.anyParamVariesPerInstance = !0)
  3158. }, a.prototype.run_true = function() {
  3159. return !0
  3160. }, a.prototype.run_system = function() {
  3161. var e, t;
  3162. for (e = 0, t = this.parameters.length; t > e; e++) this.results[e] = this.parameters[e].get();
  3163. return cr.xor(this.func.apply(this.runtime.system, this.results), this.inverted)
  3164. }, a.prototype.run_static = function() {
  3165. var e, t;
  3166. for (e = 0, t = this.parameters.length; t > e; e++) this.results[e] = this.parameters[e].get();
  3167. var n = this.func.apply(this.behaviortype ? this.behaviortype : this.type, this.results);
  3168. return this.type.applySolToContainer(), n
  3169. }, a.prototype.run_object = function() {
  3170. var e, t, n, r, i, s, o, u, a, f, l, c, h, p = this.type,
  3171. d = p.getCurrentSol(),
  3172. v = this.block.orblock && !this.trigger,
  3173. m = 0,
  3174. g = p.is_contained,
  3175. y = p.is_family,
  3176. b = p.family_index,
  3177. w = this.beh_index,
  3178. E = w > -1,
  3179. S = this.anyParamVariesPerInstance,
  3180. x = this.parameters,
  3181. T = this.results,
  3182. N = this.inverted,
  3183. C = this.func;
  3184. if (S)
  3185. for (t = 0, i = x.length; i > t; ++t) s = x[t], s.variesPerInstance || (T[t] = s.get(0));
  3186. else
  3187. for (t = 0, i = x.length; i > t; ++t) T[t] = x[t].get(0); if (d.select_all) {
  3188. for (d.instances.length = 0, d.else_instances.length = 0, c = p.instances, e = 0, r = c.length; r > e; ++e) {
  3189. if (a = c[e], S)
  3190. for (t = 0, i = x.length; i > t; ++t) s = x[t], s.variesPerInstance && (T[t] = s.get(e));
  3191. E ? (m = 0, y && (m = a.type.family_beh_map[b]), o = C.apply(a.behavior_insts[w + m], T)) : o = C.apply(a, T), u = cr.xor(o, N), u ? d.instances.push(a) : v && d.else_instances.push(a)
  3192. }
  3193. return p.finish && p.finish(!0), d.select_all = !1, p.applySolToContainer(), d.hasObjects()
  3194. }
  3195. n = 0;
  3196. var k = v && !this.block.isFirstConditionOfType(this);
  3197. c = k ? d.else_instances : d.instances;
  3198. var L = !1;
  3199. for (e = 0, r = c.length; r > e; ++e) {
  3200. if (a = c[e], S)
  3201. for (t = 0, i = x.length; i > t; ++t) s = x[t], s.variesPerInstance && (T[t] = s.get(e));
  3202. if (E ? (m = 0, y && (m = a.type.family_beh_map[b]), o = C.apply(a.behavior_insts[w + m], T)) : o = C.apply(a, T), cr.xor(o, N))
  3203. if (L = !0, k) {
  3204. if (d.instances.push(a), g)
  3205. for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().instances.push(f)
  3206. } else {
  3207. if (c[n] = a, g)
  3208. for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().instances[n] = f;
  3209. n++
  3210. } else if (k) {
  3211. if (c[n] = a, g)
  3212. for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().else_instances[n] = f;
  3213. n++
  3214. } else if (v && (d.else_instances.push(a), g))
  3215. for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().else_instances.push(f)
  3216. }
  3217. if (c.length = n, g)
  3218. for (h = p.container, e = 0, r = h.length; r > e; e++) l = h[e].getCurrentSol(), k ? l.else_instances.length = n : l.instances.length = n;
  3219. var A = L;
  3220. if (k && !L)
  3221. for (e = 0, r = d.instances.length; r > e; e++) {
  3222. if (a = d.instances[e], S)
  3223. for (t = 0, i = x.length; i > t; t++) s = x[t], s.variesPerInstance && (T[t] = s.get(e));
  3224. if (o = E ? C.apply(a.behavior_insts[w], T) : C.apply(a, T), cr.xor(o, N)) {
  3225. L = !0;
  3226. break
  3227. }
  3228. }
  3229. return p.finish && p.finish(A || v), v ? L : d.hasObjects()
  3230. }, cr.condition = a, f.prototype.postInit = function() {
  3231. var e, t, n;
  3232. for (e = 0, t = this.parameters.length; t > e; e++) n = this.parameters[e], n.postInit(), n.variesPerInstance && (this.anyParamVariesPerInstance = !0)
  3233. }, f.prototype.run_system = function() {
  3234. var e, t;
  3235. for (e = 0, t = this.parameters.length; t > e; e++) this.results[e] = this.parameters[e].get();
  3236. return this.func.apply(this.runtime.system, this.results)
  3237. }, f.prototype.run_object = function() {
  3238. var e, t, n, r, i, s, o, u = this.type.getCurrentSol().getObjects(),
  3239. a = this.type.is_family,
  3240. f = this.type.family_index,
  3241. l = this.beh_index,
  3242. c = l > -1,
  3243. h = this.anyParamVariesPerInstance,
  3244. p = this.parameters,
  3245. d = this.results,
  3246. v = this.func;
  3247. if (h)
  3248. for (t = 0, r = p.length; r > t; ++t) i = p[t], i.variesPerInstance || (d[t] = i.get(0));
  3249. else
  3250. for (t = 0, r = p.length; r > t; ++t) d[t] = p[t].get(0);
  3251. for (e = 0, n = u.length; n > e; ++e) {
  3252. if (s = u[e], h)
  3253. for (t = 0, r = p.length; r > t; ++t) i = p[t], i.variesPerInstance && (d[t] = i.get(e));
  3254. c ? (o = 0, a && (o = s.type.family_beh_map[f]), v.apply(s.behavior_insts[l + o], d)) : v.apply(s, d)
  3255. }
  3256. return !1
  3257. }, cr.action = f;
  3258. var v = [],
  3259. m = -1;
  3260. l.prototype.postInit = function() {
  3261. var e, t;
  3262. if (11 === this.type) this.eventvar = this.runtime.getEventVariableByName(this.varname, this.block.parent);
  3263. else if (13 === this.type)
  3264. for (e = 0, t = this.subparams.length; t > e; e++) this.subparams[e].postInit();
  3265. this.expression && this.expression.postInit()
  3266. }, l.prototype.maybeVaryForType = function(e) {
  3267. return !this.variesPerInstance && e ? e.plugin.singleglobal ? void 0 : void(this.variesPerInstance = !0) : void 0
  3268. }, l.prototype.setVaries = function() {
  3269. this.variesPerInstance = !0
  3270. }, l.prototype.pushTempValue = function() {
  3271. return m++, v.length === m && v.push(new cr.expvalue), v[m]
  3272. }, l.prototype.popTempValue = function() {
  3273. m--
  3274. }, l.prototype.get_exp = function(e) {
  3275. this.solindex = e || 0;
  3276. var t = this.pushTempValue();
  3277. return this.expression.get(t), this.popTempValue(), t.data
  3278. }, l.prototype.get_exp_str = function(e) {
  3279. this.solindex = e || 0;
  3280. var t = this.pushTempValue();
  3281. return this.expression.get(t), this.popTempValue(), cr.is_string(t.data) ? t.data : ""
  3282. }, l.prototype.get_object = function() {
  3283. return this.object
  3284. }, l.prototype.get_combosel = function() {
  3285. return this.combosel
  3286. }, l.prototype.get_layer = function(e) {
  3287. this.solindex = e || 0;
  3288. var t = this.pushTempValue();
  3289. return this.expression.get(t), this.popTempValue(), t.is_number() ? this.runtime.getLayerByNumber(t.data) : this.runtime.getLayerByName(t.data)
  3290. }, l.prototype.get_layout = function() {
  3291. return this.layout
  3292. }, l.prototype.get_key = function() {
  3293. return this.key
  3294. }, l.prototype.get_instvar = function() {
  3295. return this.index
  3296. }, l.prototype.get_familyvar = function(e) {
  3297. var t = e || 0,
  3298. n = this.owner.type,
  3299. r = null,
  3300. i = n.getCurrentSol(),
  3301. s = i.getObjects();
  3302. if (s.length) r = s[t % s.length].type;
  3303. else if (i.else_instances.length) r = i.else_instances[t % i.else_instances.length].type;
  3304. else {
  3305. if (!n.instances.length) return 0;
  3306. r = n.instances[t % n.instances.length].type
  3307. }
  3308. return this.index + r.family_var_map[n.family_index]
  3309. }, l.prototype.get_eventvar = function() {
  3310. return this.eventvar
  3311. }, l.prototype.get_audiofile = function() {
  3312. return this.fileinfo
  3313. }, l.prototype.get_variadic = function() {
  3314. var e, t;
  3315. for (e = 0, t = this.subparams.length; t > e; e++) this.variadicret[e] = this.subparams[e].get();
  3316. return this.variadicret
  3317. }, cr.parameter = l, c.prototype.postInit = function() {
  3318. this.solModifiers = n(this.solModifiers)
  3319. }, c.prototype.setValue = function(e) {
  3320. var t = this.runtime.getCurrentLocalVarStack();
  3321. this.parent && !this.is_static && t ? (this.localIndex >= t.length && (t.length = this.localIndex + 1), t[this.localIndex] = e) : this.data = e
  3322. }, c.prototype.getValue = function() {
  3323. var e = this.runtime.getCurrentLocalVarStack();
  3324. return !this.parent || this.is_static || !e || this.is_constant ? this.data : this.localIndex >= e.length ? this.initial : "undefined" == typeof e[this.localIndex] ? this.initial : e[this.localIndex]
  3325. }, c.prototype.run = function() {
  3326. !this.parent || this.is_static || this.is_constant || this.setValue(this.initial)
  3327. }, cr.eventvariable = c, h.prototype.toString = function() {
  3328. return "include:" + this.include_sheet.toString()
  3329. }, h.prototype.postInit = function() {
  3330. this.include_sheet = this.runtime.eventsheets[this.include_sheet_name], this.sheet.includes.add(this), this.solModifiers = n(this.solModifiers);
  3331. for (var e = this.parent; e;) e.group && e.contained_includes.push(this), e = e.parent;
  3332. this.updateActive()
  3333. }, h.prototype.run = function() {
  3334. this.parent && this.runtime.pushCleanSol(this.runtime.types_by_index), this.include_sheet.hasRun || this.include_sheet.run(!0), this.parent && this.runtime.popSol(this.runtime.types_by_index)
  3335. }, h.prototype.updateActive = function() {
  3336. for (var e = this.parent; e;) {
  3337. if (e.group && !e.group_active) return void(this.active = !1);
  3338. e = e.parent
  3339. }
  3340. this.active = !0
  3341. }, h.prototype.isActive = function() {
  3342. return this.active
  3343. }, cr.eventinclude = h, p.prototype.reset = function(e) {
  3344. this.current_event = e, this.cndindex = 0, this.actindex = 0, this.temp_parents_arr.length = 0, this.last_event_true = !1, this.else_branch_ran = !1, this.any_true_state = !1
  3345. }, p.prototype.isModifierAfterCnds = function() {
  3346. return this.current_event.solWriterAfterCnds ? !0 : this.cndindex < this.current_event.conditions.length - 1 ? !!this.current_event.solModifiers.length : !1
  3347. }, cr.eventStackFrame = p
  3348. }(),
  3349. function() {
  3350. function e(e, t) {
  3351. this.owner = e, this.runtime = e.runtime, this.type = t[0], this.get = [this.eval_int, this.eval_float, this.eval_string, this.eval_unaryminus, this.eval_add, this.eval_subtract, this.eval_multiply, this.eval_divide, this.eval_mod, this.eval_power, this.eval_and, this.eval_or, this.eval_equal, this.eval_notequal, this.eval_less, this.eval_lessequal, this.eval_greater, this.eval_greaterequal, this.eval_conditional, this.eval_system_exp, this.eval_object_behavior_exp, this.eval_instvar_exp, this.eval_object_behavior_exp, this.eval_eventvar_exp][this.type];
  3352. var n = null;
  3353. switch (this.value = null, this.first = null, this.second = null, this.third = null, this.func = null, this.results = null, this.parameters = null, this.object_type = null, this.beh_index = -1, this.instance_expr = null, this.varindex = -1, this.behavior_type = null, this.varname = null, this.eventvar = null, this.return_string = !1, this.type) {
  3354. case 0:
  3355. case 1:
  3356. case 2:
  3357. this.value = t[1];
  3358. break;
  3359. case 3:
  3360. this.first = new cr.expNode(e, t[1]);
  3361. break;
  3362. case 18:
  3363. this.first = new cr.expNode(e, t[1]), this.second = new cr.expNode(e, t[2]), this.third = new cr.expNode(e, t[3]);
  3364. break;
  3365. case 19:
  3366. this.func = t[1], (this.func === cr.system_object.prototype.exps.random || this.func === cr.system_object.prototype.exps.choose) && this.owner.setVaries(), this.results = [], this.parameters = [], 3 === t.length ? (n = t[2], this.results.length = n.length + 1) : this.results.length = 1;
  3367. break;
  3368. case 20:
  3369. this.object_type = this.runtime.types_by_index[t[1]], this.beh_index = -1, this.func = t[2], this.return_string = t[3], cr.plugins_.Function && this.func === cr.plugins_.Function.prototype.exps.Call && this.owner.setVaries(), this.instance_expr = t[4] ? new cr.expNode(e, t[4]) : null, this.results = [], this.parameters = [], 6 === t.length ? (n = t[5], this.results.length = n.length + 1) : this.results.length = 1;
  3370. break;
  3371. case 21:
  3372. this.object_type = this.runtime.types_by_index[t[1]], this.return_string = t[2], this.instance_expr = t[3] ? new cr.expNode(e, t[3]) : null, this.varindex = t[4];
  3373. break;
  3374. case 22:
  3375. this.object_type = this.runtime.types_by_index[t[1]], this.behavior_type = this.object_type.getBehaviorByName(t[2]), this.beh_index = this.object_type.getBehaviorIndexByName(t[2]), this.func = t[3], this.return_string = t[4], this.instance_expr = t[5] ? new cr.expNode(e, t[5]) : null, this.results = [], this.parameters = [], 7 === t.length ? (n = t[6], this.results.length = n.length + 1) : this.results.length = 1;
  3376. break;
  3377. case 23:
  3378. this.varname = t[1], this.eventvar = null
  3379. }
  3380. if (this.owner.maybeVaryForType(this.object_type), this.type >= 4 && this.type <= 17 && (this.first = new cr.expNode(e, t[1]), this.second = new cr.expNode(e, t[2])), n) {
  3381. var r, i;
  3382. for (r = 0, i = n.length; i > r; r++) this.parameters.push(new cr.expNode(e, n[r]))
  3383. }
  3384. cr.seal(this)
  3385. }
  3386. function t(e, t) {
  3387. this.type = e || cr.exptype.Integer, this.data = t || 0, this.object_class = null, this.type == cr.exptype.Integer && (this.data = Math.floor(this.data)), cr.seal(this)
  3388. }
  3389. e.prototype.postInit = function() {
  3390. if (23 === this.type && (this.eventvar = this.owner.runtime.getEventVariableByName(this.varname, this.owner.block.parent)), this.first && this.first.postInit(), this.second && this.second.postInit(), this.third && this.third.postInit(), this.instance_expr && this.instance_expr.postInit(), this.parameters) {
  3391. var e, t;
  3392. for (e = 0, t = this.parameters.length; t > e; e++) this.parameters[e].postInit()
  3393. }
  3394. }, e.prototype.eval_system_exp = function(e) {
  3395. this.results[0] = e;
  3396. var t, n, r = this.owner.pushTempValue();
  3397. for (t = 0, n = this.parameters.length; n > t; t++) this.parameters[t].get(r), this.results[t + 1] = r.data;
  3398. this.owner.popTempValue(), this.func.apply(this.runtime.system, this.results)
  3399. }, e.prototype.eval_object_behavior_exp = function(e) {
  3400. var t = this.object_type.getCurrentSol(),
  3401. n = t.getObjects();
  3402. if (!n.length) {
  3403. if (!t.else_instances.length) return void(this.return_string ? e.set_string("") : e.set_int(0));
  3404. n = t.else_instances
  3405. }
  3406. this.results[0] = e, e.object_class = this.object_type;
  3407. var r, i, s = this.owner.pushTempValue();
  3408. for (r = 0, i = this.parameters.length; i > r; r++) this.parameters[r].get(s), this.results[r + 1] = s.data;
  3409. var o = this.owner.solindex;
  3410. this.instance_expr && (this.instance_expr.get(s), s.is_number() && (o = s.data, n = this.object_type.instances)), this.owner.popTempValue(), o %= n.length, 0 > o && (o += n.length);
  3411. var u, a = n[o];
  3412. if (this.beh_index > -1) {
  3413. var f = 0;
  3414. this.object_type.is_family && (f = a.type.family_beh_map[this.object_type.family_index]), u = this.func.apply(a.behavior_insts[this.beh_index + f], this.results)
  3415. } else u = this.func.apply(a, this.results)
  3416. }, e.prototype.eval_instvar_exp = function(e) {
  3417. var t = this.object_type.getCurrentSol(),
  3418. n = t.getObjects();
  3419. if (!n.length) {
  3420. if (!t.else_instances.length) return void(this.return_string ? e.set_string("") : e.set_int(0));
  3421. n = t.else_instances
  3422. }
  3423. var r = this.owner.solindex;
  3424. if (this.instance_expr) {
  3425. var i = this.owner.pushTempValue();
  3426. if (this.instance_expr.get(i), i.is_number()) {
  3427. r = i.data;
  3428. var s = this.object_type.instances;
  3429. r %= s.length, 0 > r && (r += s.length);
  3430. var o = s[r].instance_vars[this.varindex];
  3431. return cr.is_string(o) ? e.set_string(o) : e.set_float(o), void this.owner.popTempValue()
  3432. }
  3433. this.owner.popTempValue()
  3434. }
  3435. r %= n.length, 0 > r && (r += n.length);
  3436. var u = n[r],
  3437. a = 0;
  3438. this.object_type.is_family && (a = u.type.family_var_map[this.object_type.family_index]);
  3439. var o = u.instance_vars[this.varindex + a];
  3440. cr.is_string(o) ? e.set_string(o) : e.set_float(o)
  3441. }, e.prototype.eval_int = function(e) {
  3442. e.type = cr.exptype.Integer, e.data = this.value
  3443. }, e.prototype.eval_float = function(e) {
  3444. e.type = cr.exptype.Float, e.data = this.value
  3445. }, e.prototype.eval_string = function(e) {
  3446. e.type = cr.exptype.String, e.data = this.value
  3447. }, e.prototype.eval_unaryminus = function(e) {
  3448. this.first.get(e), e.is_number() && (e.data = -e.data)
  3449. }, e.prototype.eval_add = function(e) {
  3450. this.first.get(e);
  3451. var t = this.owner.pushTempValue();
  3452. this.second.get(t), e.is_number() && t.is_number() && (e.data += t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
  3453. }, e.prototype.eval_subtract = function(e) {
  3454. this.first.get(e);
  3455. var t = this.owner.pushTempValue();
  3456. this.second.get(t), e.is_number() && t.is_number() && (e.data -= t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
  3457. }, e.prototype.eval_multiply = function(e) {
  3458. this.first.get(e);
  3459. var t = this.owner.pushTempValue();
  3460. this.second.get(t), e.is_number() && t.is_number() && (e.data *= t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
  3461. }, e.prototype.eval_divide = function(e) {
  3462. this.first.get(e);
  3463. var t = this.owner.pushTempValue();
  3464. this.second.get(t), e.is_number() && t.is_number() && (e.data /= t.data, e.make_float()), this.owner.popTempValue()
  3465. }, e.prototype.eval_mod = function(e) {
  3466. this.first.get(e);
  3467. var t = this.owner.pushTempValue();
  3468. this.second.get(t), e.is_number() && t.is_number() && (e.data %= t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
  3469. }, e.prototype.eval_power = function(e) {
  3470. this.first.get(e);
  3471. var t = this.owner.pushTempValue();
  3472. this.second.get(t), e.is_number() && t.is_number() && (e.data = Math.pow(e.data, t.data), t.is_float() && e.make_float()), this.owner.popTempValue()
  3473. }, e.prototype.eval_and = function(e) {
  3474. this.first.get(e);
  3475. var t = this.owner.pushTempValue();
  3476. this.second.get(t), e.is_number() ? t.is_string() ? e.set_string(e.data.toString() + t.data) : e.set_int(e.data && t.data ? 1 : 0) : e.is_string() && (e.data += t.is_string() ? t.data : (Math.round(1e10 * t.data) / 1e10).toString()), this.owner.popTempValue()
  3477. }, e.prototype.eval_or = function(e) {
  3478. this.first.get(e);
  3479. var t = this.owner.pushTempValue();
  3480. this.second.get(t), e.is_number() && t.is_number() && e.set_int(e.data || t.data ? 1 : 0), this.owner.popTempValue()
  3481. }, e.prototype.eval_conditional = function(e) {
  3482. this.first.get(e), e.data ? this.second.get(e) : this.third.get(e)
  3483. }, e.prototype.eval_equal = function(e) {
  3484. this.first.get(e);
  3485. var t = this.owner.pushTempValue();
  3486. this.second.get(t), e.set_int(e.data === t.data ? 1 : 0), this.owner.popTempValue()
  3487. }, e.prototype.eval_notequal = function(e) {
  3488. this.first.get(e);
  3489. var t = this.owner.pushTempValue();
  3490. this.second.get(t), e.set_int(e.data !== t.data ? 1 : 0), this.owner.popTempValue()
  3491. }, e.prototype.eval_less = function(e) {
  3492. this.first.get(e);
  3493. var t = this.owner.pushTempValue();
  3494. this.second.get(t), e.set_int(e.data < t.data ? 1 : 0), this.owner.popTempValue()
  3495. }, e.prototype.eval_lessequal = function(e) {
  3496. this.first.get(e);
  3497. var t = this.owner.pushTempValue();
  3498. this.second.get(t), e.set_int(e.data <= t.data ? 1 : 0), this.owner.popTempValue()
  3499. }, e.prototype.eval_greater = function(e) {
  3500. this.first.get(e);
  3501. var t = this.owner.pushTempValue();
  3502. this.second.get(t), e.set_int(e.data > t.data ? 1 : 0), this.owner.popTempValue()
  3503. }, e.prototype.eval_greaterequal = function(e) {
  3504. this.first.get(e);
  3505. var t = this.owner.pushTempValue();
  3506. this.second.get(t), e.set_int(e.data >= t.data ? 1 : 0), this.owner.popTempValue()
  3507. }, e.prototype.eval_eventvar_exp = function(e) {
  3508. var t = this.eventvar.getValue();
  3509. cr.is_number(t) ? e.set_float(t) : e.set_string(t)
  3510. }, cr.expNode = e, t.prototype.is_int = function() {
  3511. return this.type === cr.exptype.Integer
  3512. }, t.prototype.is_float = function() {
  3513. return this.type === cr.exptype.Float
  3514. }, t.prototype.is_number = function() {
  3515. return this.type === cr.exptype.Integer || this.type === cr.exptype.Float
  3516. }, t.prototype.is_string = function() {
  3517. return this.type === cr.exptype.String
  3518. }, t.prototype.make_int = function() {
  3519. this.is_int() || (this.is_float() ? this.data = Math.floor(this.data) : this.is_string() && (this.data = parseInt(this.data, 10)), this.type = cr.exptype.Integer)
  3520. }, t.prototype.make_float = function() {
  3521. this.is_float() || (this.is_string() && (this.data = parseFloat(this.data)), this.type = cr.exptype.Float)
  3522. }, t.prototype.make_string = function() {
  3523. this.is_string() || (this.data = this.data.toString(), this.type = cr.exptype.String)
  3524. }, t.prototype.set_int = function(e) {
  3525. this.type = cr.exptype.Integer, this.data = Math.floor(e)
  3526. }, t.prototype.set_float = function(e) {
  3527. this.type = cr.exptype.Float, this.data = e
  3528. }, t.prototype.set_string = function(e) {
  3529. this.type = cr.exptype.String, this.data = e
  3530. }, t.prototype.set_any = function(e) {
  3531. cr.is_number(e) ? (this.type = cr.exptype.Float, this.data = e) : cr.is_string(e) ? (this.type = cr.exptype.String, this.data = e.toString()) : (this.type = cr.exptype.Integer, this.data = 0)
  3532. }, cr.expvalue = t, cr.exptype = {
  3533. Integer: 0,
  3534. Float: 1,
  3535. String: 2
  3536. }
  3537. }(), cr.system_object = function(e) {
  3538. this.runtime = e, this.waits = []
  3539. }, cr.system_object.prototype.saveToJSON = function() {
  3540. var e, t, n, r, i, s, o, u, a = {};
  3541. a.waits = [];
  3542. var f, l = a.waits;
  3543. for (e = 0, t = this.waits.length; t > e; e++) {
  3544. for (s = this.waits[e], f = {
  3545. t: s.time,
  3546. st: s.signaltag,
  3547. s: s.signalled,
  3548. ev: s.ev.sid,
  3549. sm: [],
  3550. sols: {}
  3551. }, s.ev.actions[s.actindex] && (f.act = s.ev.actions[s.actindex].sid), n = 0, r = s.solModifiers.length; r > n; n++) f.sm.push(s.solModifiers[n].sid);
  3552. for (i in s.sols)
  3553. if (s.sols.hasOwnProperty(i)) {
  3554. for (o = this.runtime.types_by_index[parseInt(i, 10)], u = {
  3555. sa: s.sols[i].sa,
  3556. insts: []
  3557. }, n = 0, r = s.sols[i].insts.length; r > n; n++) u.insts.push(s.sols[i].insts[n].uid);
  3558. f.sols[o.sid.toString()] = u
  3559. }
  3560. l.push(f)
  3561. }
  3562. return a
  3563. }, cr.system_object.prototype.loadFromJSON = function(e) {
  3564. var t, n, r, i, s, o, u, a, f, l, c, h, p, d = e.waits;
  3565. for (this.waits.length = 0, t = 0, n = d.length; n > t; t++)
  3566. if (o = d[t], a = this.runtime.blocksBySid[o.ev.toString()]) {
  3567. for (f = -1, r = 0, i = a.actions.length; i > r; r++)
  3568. if (a.actions[r].sid === o.act) {
  3569. f = r;
  3570. break
  3571. }
  3572. if (-1 !== f) {
  3573. for (u = {}, u.sols = {}, u.solModifiers = [], u.deleteme = !1, u.time = o.t, u.signaltag = o.st || "", u.signalled = !!o.s, u.ev = a, u.actindex = f, r = 0, i = o.sm.length; i > r; r++) l = this.runtime.getObjectTypeBySid(o.sm[r]), l && u.solModifiers.push(l);
  3574. for (s in o.sols)
  3575. if (o.sols.hasOwnProperty(s)) {
  3576. if (l = this.runtime.getObjectTypeBySid(parseInt(s, 10)), !l) continue;
  3577. for (c = o.sols[s], h = {
  3578. sa: c.sa,
  3579. insts: []
  3580. }, r = 0, i = c.insts.length; i > r; r++) p = this.runtime.getObjectByUID(c.insts[r]), p && h.insts.push(p);
  3581. u.sols[l.index.toString()] = h
  3582. }
  3583. this.waits.push(u)
  3584. }
  3585. }
  3586. },
  3587. function() {
  3588. function e() {}
  3589. function t(e, t) {
  3590. var n = e.extra.c2_foreachordered_val,
  3591. r = t.extra.c2_foreachordered_val;
  3592. return cr.is_number(n) && cr.is_number(r) ? n - r : (n = "" + n, r = "" + r, r > n ? -1 : n > r ? 1 : 0)
  3593. }
  3594. function n(e, t) {
  3595. return p && e === d && t === v || (p = new RegExp(e, t), d = e, v = t), p.lastIndex = 0, p
  3596. }
  3597. function r() {}
  3598. function i() {
  3599. var e;
  3600. return g.length ? e = g.pop() : (e = {}, e.sols = {}, e.solModifiers = []), e.deleteme = !1, e
  3601. }
  3602. function s(e) {
  3603. cr.wipe(e.sols), e.solModifiers.length = 0, g.push(e)
  3604. }
  3605. function o() {
  3606. var e;
  3607. return y.length ? e = y.pop() : (e = {}, e.insts = []), e.sa = !1, e
  3608. }
  3609. function u(e) {
  3610. e.insts.length = 0, y.push(e)
  3611. }
  3612. function a() {}
  3613. function f(e, t, r) {
  3614. if (e !== w || t !== E || r !== S) {
  3615. var i = n(t, r);
  3616. b = e.match(i), w = e, E = t, S = r
  3617. }
  3618. }
  3619. var l = cr.system_object.prototype;
  3620. e.prototype.EveryTick = function() {
  3621. return !0
  3622. }, e.prototype.OnLayoutStart = function() {
  3623. return !0
  3624. }, e.prototype.OnLayoutEnd = function() {
  3625. return !0
  3626. }, e.prototype.Compare = function(e, t, n) {
  3627. return cr.do_cmp(e, t, n)
  3628. }, e.prototype.CompareTime = function(e, t) {
  3629. var n = this.runtime.kahanTime.sum;
  3630. if (0 === e) {
  3631. var r = this.runtime.getCurrentCondition();
  3632. return !r.extra.CompareTime_executed && n >= t ? (r.extra.CompareTime_executed = !0, !0) : !1
  3633. }
  3634. return cr.do_cmp(n, e, t)
  3635. }, e.prototype.LayerVisible = function(e) {
  3636. return e ? e.visible : !1
  3637. }, e.prototype.LayerCmpOpacity = function(e, t, n) {
  3638. return e ? cr.do_cmp(100 * e.opacity, t, n) : !1
  3639. }, e.prototype.Repeat = function(e) {
  3640. var t, n = this.runtime.getCurrentEventStack(),
  3641. r = n.current_event,
  3642. i = n.isModifierAfterCnds(),
  3643. s = this.runtime.pushLoopStack();
  3644. if (i)
  3645. for (t = 0; e > t && !s.stopped; t++) this.runtime.pushCopySol(r.solModifiers), s.index = t, r.retrigger(), this.runtime.popSol(r.solModifiers);
  3646. else
  3647. for (t = 0; e > t && !s.stopped; t++) s.index = t, r.retrigger();
  3648. return this.runtime.popLoopStack(), !1
  3649. }, e.prototype.While = function() {
  3650. var e, t = this.runtime.getCurrentEventStack(),
  3651. n = t.current_event,
  3652. r = t.isModifierAfterCnds(),
  3653. i = this.runtime.pushLoopStack();
  3654. if (r)
  3655. for (e = 0; !i.stopped; e++) this.runtime.pushCopySol(n.solModifiers), i.index = e, n.retrigger() || (i.stopped = !0), this.runtime.popSol(n.solModifiers);
  3656. else
  3657. for (e = 0; !i.stopped; e++) i.index = e, n.retrigger() || (i.stopped = !0);
  3658. return this.runtime.popLoopStack(), !1
  3659. }, e.prototype.For = function(e, t, n) {
  3660. var r, i = this.runtime.getCurrentEventStack(),
  3661. s = i.current_event,
  3662. o = i.isModifierAfterCnds(),
  3663. u = this.runtime.pushLoopStack(e);
  3664. if (t > n)
  3665. if (o)
  3666. for (r = t; r >= n && !u.stopped; --r) this.runtime.pushCopySol(s.solModifiers), u.index = r, s.retrigger(), this.runtime.popSol(s.solModifiers);
  3667. else
  3668. for (r = t; r >= n && !u.stopped; --r) u.index = r, s.retrigger();
  3669. else if (o)
  3670. for (r = t; n >= r && !u.stopped; ++r) this.runtime.pushCopySol(s.solModifiers), u.index = r, s.retrigger(), this.runtime.popSol(s.solModifiers);
  3671. else
  3672. for (r = t; n >= r && !u.stopped; ++r) u.index = r, s.retrigger();
  3673. return this.runtime.popLoopStack(), !1
  3674. };
  3675. var c = [],
  3676. h = -1;
  3677. e.prototype.ForEach = function(e) {
  3678. var t = e.getCurrentSol();
  3679. h++, c.length === h && c.push([]);
  3680. var n = c[h];
  3681. cr.shallowAssignArray(n, t.getObjects());
  3682. var r, i, s, o, u, a, f, l = this.runtime.getCurrentEventStack(),
  3683. p = l.current_event,
  3684. d = l.isModifierAfterCnds(),
  3685. v = this.runtime.pushLoopStack(),
  3686. m = e.is_contained;
  3687. if (d)
  3688. for (r = 0, i = n.length; i > r && !v.stopped; r++) {
  3689. if (this.runtime.pushCopySol(p.solModifiers), u = n[r], t = e.getCurrentSol(), t.select_all = !1, t.instances.length = 1, t.instances[0] = u, m)
  3690. for (s = 0, o = u.siblings.length; o > s; s++) a = u.siblings[s], f = a.type.getCurrentSol(), f.select_all = !1, f.instances.length = 1, f.instances[0] = a;
  3691. v.index = r, p.retrigger(), this.runtime.popSol(p.solModifiers)
  3692. } else
  3693. for (t.select_all = !1, t.instances.length = 1, r = 0, i = n.length; i > r && !v.stopped; r++) {
  3694. if (u = n[r], t.instances[0] = u, m)
  3695. for (s = 0, o = u.siblings.length; o > s; s++) a = u.siblings[s], f = a.type.getCurrentSol(), f.select_all = !1, f.instances.length = 1, f.instances[0] = a;
  3696. v.index = r, p.retrigger()
  3697. }
  3698. return n.length = 0, this.runtime.popLoopStack(), h--, !1
  3699. }, e.prototype.ForEachOrdered = function(e, n, r) {
  3700. var i = e.getCurrentSol();
  3701. h++, c.length === h && c.push([]);
  3702. var s = c[h];
  3703. cr.shallowAssignArray(s, i.getObjects());
  3704. var o, u, a, f, l, p, d, v = this.runtime.getCurrentEventStack(),
  3705. m = v.current_event,
  3706. g = this.runtime.getCurrentCondition(),
  3707. y = v.isModifierAfterCnds(),
  3708. b = this.runtime.pushLoopStack();
  3709. for (o = 0, u = s.length; u > o; o++) s[o].extra.c2_foreachordered_val = g.parameters[1].get(o);
  3710. s.sort(t), 1 === r && s.reverse();
  3711. var w = e.is_contained;
  3712. if (y)
  3713. for (o = 0, u = s.length; u > o && !b.stopped; o++) {
  3714. if (this.runtime.pushCopySol(m.solModifiers), l = s[o], i = e.getCurrentSol(), i.select_all = !1, i.instances.length = 1, i.instances[0] = l, w)
  3715. for (a = 0, f = l.siblings.length; f > a; a++) p = l.siblings[a], d = p.type.getCurrentSol(), d.select_all = !1, d.instances.length = 1, d.instances[0] = p;
  3716. b.index = o, m.retrigger(), this.runtime.popSol(m.solModifiers)
  3717. } else
  3718. for (i.select_all = !1, i.instances.length = 1, o = 0, u = s.length; u > o && !b.stopped; o++) {
  3719. if (l = s[o], i.instances[0] = l, w)
  3720. for (a = 0, f = l.siblings.length; f > a; a++) p = l.siblings[a], d = p.type.getCurrentSol(), d.select_all = !1, d.instances.length = 1, d.instances[0] = p;
  3721. b.index = o, m.retrigger()
  3722. }
  3723. return s.length = 0, this.runtime.popLoopStack(), h--, !1
  3724. }, e.prototype.PickByComparison = function(e, t, n, r) {
  3725. var i, s, o, u;
  3726. if (e) {
  3727. h++, c.length === h && c.push([]);
  3728. var a = c[h],
  3729. f = e.getCurrentSol();
  3730. cr.shallowAssignArray(a, f.getObjects()), f.select_all && (f.else_instances.length = 0);
  3731. var l = this.runtime.getCurrentCondition();
  3732. for (i = 0, o = 0, s = a.length; s > i; i++) u = a[i], a[o] = u, t = l.parameters[1].get(i), r = l.parameters[3].get(i), cr.do_cmp(t, n, r) ? o++ : f.else_instances.push(u);
  3733. return a.length = o, f.select_all = !1, cr.shallowAssignArray(f.instances, a), a.length = 0, h--, e.applySolToContainer(), !!f.instances.length
  3734. }
  3735. }, e.prototype.PickByEvaluate = function(e, t) {
  3736. var n, r, i, s;
  3737. if (e) {
  3738. h++, c.length === h && c.push([]);
  3739. var o = c[h],
  3740. u = e.getCurrentSol();
  3741. cr.shallowAssignArray(o, u.getObjects()), u.select_all && (u.else_instances.length = 0);
  3742. var a = this.runtime.getCurrentCondition();
  3743. for (n = 0, i = 0, r = o.length; r > n; n++) s = o[n], o[i] = s, t = a.parameters[1].get(n), t ? i++ : u.else_instances.push(s);
  3744. return o.length = i, u.select_all = !1, cr.shallowAssignArray(u.instances, o), o.length = 0, h--, e.applySolToContainer(), !!u.instances.length
  3745. }
  3746. }, e.prototype.TriggerOnce = function() {
  3747. var e = this.runtime.getCurrentCondition().extra;
  3748. "undefined" == typeof e.TriggerOnce_lastTick && (e.TriggerOnce_lastTick = -1);
  3749. var t = e.TriggerOnce_lastTick,
  3750. n = this.runtime.tickcount;
  3751. return e.TriggerOnce_lastTick = n, this.runtime.layout_first_tick || t !== n - 1
  3752. }, e.prototype.Every = function(e) {
  3753. var t = this.runtime.getCurrentCondition(),
  3754. n = t.extra.Every_lastTime || 0,
  3755. r = this.runtime.kahanTime.sum;
  3756. "undefined" == typeof t.extra.Every_seconds && (t.extra.Every_seconds = e);
  3757. var i = t.extra.Every_seconds;
  3758. return r >= n + i ? (t.extra.Every_lastTime = n + i, r >= t.extra.Every_lastTime + .04 && (t.extra.Every_lastTime = r), t.extra.Every_seconds = e, !0) : (n - .1 > r && (t.extra.Every_lastTime = r), !1)
  3759. }, e.prototype.PickNth = function(e, t) {
  3760. if (!e) return !1;
  3761. var n = e.getCurrentSol(),
  3762. r = n.getObjects();
  3763. if (t = cr.floor(t), 0 > t || t >= r.length) return !1;
  3764. var i = r[t];
  3765. return n.pick_one(i), e.applySolToContainer(), !0
  3766. }, e.prototype.PickRandom = function(e) {
  3767. if (!e) return !1;
  3768. var t = e.getCurrentSol(),
  3769. n = t.getObjects(),
  3770. r = cr.floor(Math.random() * n.length);
  3771. if (r >= n.length) return !1;
  3772. var i = n[r];
  3773. return t.pick_one(i), e.applySolToContainer(), !0
  3774. }, e.prototype.CompareVar = function(e, t, n) {
  3775. if (e.name.indexOf("Score") >= 0) {
  3776. var r = 0,
  3777. i = e.name.substring(5);
  3778. r = e.data > n ? e.data : n;
  3779. for (var s = [
  3780. ["Normal", "普通难度"],
  3781. ["Nightmare", "噩梦"],
  3782. ["Hell", "地狱"],
  3783. ["Inferno", "炼狱"],
  3784. ["Impossible", "自虐难度"]
  3785. ], o = 0, u = 0; u < s.length; u++) i == s[u][0] && (i = s[u][1], o = u + 2);
  3786. var a = i;
  3787. clearTimeout(g9param.resetId);
  3788. g9param.resetId = setTimeout(resetdpsubmit, 1e3);
  3789. if (!g9param.issubmit) {
  3790. g9param.issubmit = true;
  3791. if (a == "自虐难度") {
  3792. window.myPlayGameScore = e.data;
  3793. window.myPlayGameHead = 5;
  3794. // updateShare(window.myPlayGameHead, window.myPlayGameScore);
  3795. // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
  3796. } else if (a == "炼狱") {
  3797. window.myPlayGameScore = e.data;
  3798. window.myPlayGameHead = 4;
  3799. // updateShare(window.myPlayGameHead, window.myPlayGameScore);
  3800. // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
  3801. } else if (a == "地狱") {
  3802. window.myPlayGameScore = e.data;
  3803. window.myPlayGameHead = 3;
  3804. // updateShare(window.myPlayGameHead, window.myPlayGameScore);
  3805. // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
  3806. } else if (a == "噩梦") {
  3807. window.myPlayGameScore = e.data;
  3808. window.myPlayGameHead = 2;
  3809. // updateShare(window.myPlayGameHead, window.myPlayGameScore);
  3810. // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
  3811. } else if (a == "普通难度") {
  3812. window.myPlayGameScore = e.data;
  3813. window.myPlayGameHead = 1;
  3814. // updateShare(window.myPlayGameHead, window.myPlayGameScore);
  3815. // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
  3816. }
  3817. }
  3818. }
  3819. return cr.do_cmp(e.getValue(), t, n)
  3820. }, e.prototype.IsGroupActive = function(e) {
  3821. var t = this.runtime.groups_by_name[e.toLowerCase()];
  3822. return t && t.group_active
  3823. }, e.prototype.IsPreview = function() {
  3824. return "undefined" != typeof cr_is_preview
  3825. }, e.prototype.PickAll = function(e) {
  3826. if (!e) return !1;
  3827. if (!e.instances.length) return !1;
  3828. var t = e.getCurrentSol();
  3829. return t.select_all = !0, e.applySolToContainer(), !0
  3830. }, e.prototype.IsMobile = function() {
  3831. return this.runtime.isMobile
  3832. }, e.prototype.CompareBetween = function(e, t, n) {
  3833. return e >= t && n >= e
  3834. }, e.prototype.Else = function() {
  3835. var e = this.runtime.getCurrentEventStack();
  3836. return e.else_branch_ran ? !1 : !e.last_event_true
  3837. }, e.prototype.OnLoadFinished = function() {
  3838. return !0
  3839. }, e.prototype.OnCanvasSnapshot = function() {
  3840. return !0
  3841. }, e.prototype.EffectsSupported = function() {
  3842. return !!this.runtime.glwrap
  3843. }, e.prototype.OnSaveComplete = function() {
  3844. return !0
  3845. }, e.prototype.OnLoadComplete = function() {
  3846. return !0
  3847. }, e.prototype.OnLoadFailed = function() {
  3848. return !0
  3849. }, e.prototype.ObjectUIDExists = function(e) {
  3850. return !!this.runtime.getObjectByUID(e)
  3851. }, e.prototype.IsOnPlatform = function(e) {
  3852. var t = this.runtime;
  3853. switch (e) {
  3854. case 0:
  3855. return !(t.isDomFree || t.isNodeWebkit || t.isPhoneGap || t.isCrosswalk || t.isWinJS || t.isWindowsPhone8 || t.isBlackberry10 || t.isAmazonWebApp);
  3856. case 1:
  3857. return t.isiOS;
  3858. case 2:
  3859. return t.isAndroid;
  3860. case 3:
  3861. return t.isWindows8App;
  3862. case 4:
  3863. return t.isWindowsPhone8;
  3864. case 5:
  3865. return t.isBlackberry10;
  3866. case 6:
  3867. return t.isTizen;
  3868. case 7:
  3869. return t.isCocoonJs;
  3870. case 8:
  3871. return t.isPhoneGap;
  3872. case 9:
  3873. return t.isArcade;
  3874. case 10:
  3875. return t.isNodeWebkit;
  3876. case 11:
  3877. return t.isCrosswalk;
  3878. case 12:
  3879. return t.isAmazonWebApp;
  3880. default:
  3881. return !1
  3882. }
  3883. };
  3884. var p = null,
  3885. d = "",
  3886. v = "";
  3887. e.prototype.RegexTest = function(e, t, r) {
  3888. var i = n(t, r);
  3889. return i.test(e)
  3890. };
  3891. var m = [];
  3892. e.prototype.PickOverlappingPoint = function(e, t, n) {
  3893. if (!e) return !1;
  3894. var r, i, s, o, u = e.getCurrentSol(),
  3895. a = u.getObjects(),
  3896. f = this.runtime.getCurrentEventStack().current_event,
  3897. l = f.orblock,
  3898. c = this.runtime.getCurrentCondition();
  3899. for (u.select_all ? (cr.shallowAssignArray(m, a), u.else_instances.length = 0, u.select_all = !1, u.instances.length = 0) : l ? (cr.shallowAssignArray(m, u.else_instances), u.else_instances.length = 0) : (cr.shallowAssignArray(m, a), u.instances.length = 0), r = 0, i = m.length; i > r; ++r) s = m[r], s.update_bbox(), o = cr.xor(s.contains_pt(t, n), c.inverted), o ? u.instances.push(s) : u.else_instances.push(s);
  3900. return e.applySolToContainer(), cr.xor(!!u.instances.length, c.inverted)
  3901. }, l.cnds = new e, r.prototype.GoToLayout = function(e) {
  3902. this.runtime.isloading || this.runtime.changelayout || (this.runtime.changelayout = e)
  3903. }, r.prototype.NextPrevLayout = function(e) {
  3904. if (!this.runtime.isloading && !this.runtime.changelayout) {
  3905. var t = this.runtime.layouts_by_index.indexOf(this.runtime.running_layout);
  3906. if (!(e && 0 === t || !e && t === this.runtime.layouts_by_index.length - 1)) {
  3907. var n = this.runtime.layouts_by_index[t + (e ? -1 : 1)];
  3908. this.runtime.changelayout = n
  3909. }
  3910. }
  3911. }, r.prototype.CreateObject = function(e, t, n, r) {
  3912. if (t && e) {
  3913. var i = this.runtime.createInstance(e, t, n, r);
  3914. if (i) {
  3915. this.runtime.isInOnDestroy++;
  3916. var s, o, u;
  3917. if (this.runtime.trigger(Object.getPrototypeOf(e.plugin).cnds.OnCreated, i), i.is_contained)
  3918. for (s = 0, o = i.siblings.length; o > s; s++) u = i.siblings[s], this.runtime.trigger(Object.getPrototypeOf(u.type.plugin).cnds.OnCreated, u);
  3919. this.runtime.isInOnDestroy--;
  3920. var a = e.getCurrentSol();
  3921. if (a.select_all = !1, a.instances.length = 1, a.instances[0] = i, i.is_contained)
  3922. for (s = 0, o = i.siblings.length; o > s; s++) u = i.siblings[s], a = u.type.getCurrentSol(), a.select_all = !1, a.instances.length = 1, a.instances[0] = u
  3923. }
  3924. }
  3925. }, r.prototype.SetLayerVisible = function(e, t) {
  3926. e && e.visible !== t && (e.visible = t, this.runtime.redraw = !0)
  3927. }, r.prototype.SetLayerOpacity = function(e, t) {
  3928. e && (t = cr.clamp(t / 100, 0, 1), e.opacity !== t && (e.opacity = t, this.runtime.redraw = !0))
  3929. }, r.prototype.SetLayerScaleRate = function(e, t) {
  3930. e && e.zoomRate !== t && (e.zoomRate = t, this.runtime.redraw = !0)
  3931. }, r.prototype.SetLayoutScale = function(e) {
  3932. this.runtime.running_layout && this.runtime.running_layout.scale !== e && (this.runtime.running_layout.scale = e, this.runtime.running_layout.boundScrolling(), this.runtime.redraw = !0)
  3933. }, r.prototype.ScrollX = function(e) {
  3934. this.runtime.running_layout.scrollToX(e)
  3935. }, r.prototype.ScrollY = function(e) {
  3936. this.runtime.running_layout.scrollToY(e)
  3937. }, r.prototype.Scroll = function(e, t) {
  3938. this.runtime.running_layout.scrollToX(e), this.runtime.running_layout.scrollToY(t)
  3939. }, r.prototype.ScrollToObject = function(e) {
  3940. var t = e.getFirstPicked();
  3941. t && (this.runtime.running_layout.scrollToX(t.x), this.runtime.running_layout.scrollToY(t.y))
  3942. }, r.prototype.SetVar = function(e, t) {
  3943. 0 === e.vartype ? e.setValue(cr.is_number(t) ? t : parseFloat(t)) : 1 === e.vartype && e.setValue(t.toString())
  3944. }, r.prototype.AddVar = function(e, t) {
  3945. 0 === e.vartype ? e.setValue(cr.is_number(t) ? e.getValue() + t : e.getValue() + parseFloat(t)) : 1 === e.vartype && e.setValue(e.getValue() + t.toString())
  3946. }, r.prototype.SubVar = function(e, t) {
  3947. 0 === e.vartype && e.setValue(cr.is_number(t) ? e.getValue() - t : e.getValue() - parseFloat(t))
  3948. }, r.prototype.SetGroupActive = function(e, t) {
  3949. var n = this.runtime.groups_by_name[e.toLowerCase()];
  3950. if (n) switch (t) {
  3951. case 0:
  3952. n.setGroupActive(!1);
  3953. break;
  3954. case 1:
  3955. n.setGroupActive(!0);
  3956. break;
  3957. case 2:
  3958. n.setGroupActive(!n.group_active)
  3959. }
  3960. }, r.prototype.SetTimescale = function(e) {
  3961. var t = e;
  3962. 0 > t && (t = 0), this.runtime.timescale = t
  3963. }, r.prototype.SetObjectTimescale = function(e, t) {
  3964. var n = t;
  3965. if (0 > n && (n = 0), e) {
  3966. var r, i, s = e.getCurrentSol(),
  3967. o = s.getObjects();
  3968. for (r = 0, i = o.length; i > r; r++) o[r].my_timescale = n
  3969. }
  3970. }, r.prototype.RestoreObjectTimescale = function(e) {
  3971. if (!e) return !1;
  3972. var t, n, r = e.getCurrentSol(),
  3973. i = r.getObjects();
  3974. for (t = 0, n = i.length; n > t; t++) i[t].my_timescale = -1
  3975. };
  3976. var g = [],
  3977. y = [];
  3978. r.prototype.Wait = function(e) {
  3979. if (!(0 > e)) {
  3980. var t, n, r, s, u, a = this.runtime.getCurrentEventStack(),
  3981. f = i();
  3982. for (f.time = this.runtime.kahanTime.sum + e, f.signaltag = "", f.signalled = !1, f.ev = a.current_event, f.actindex = a.actindex + 1, t = 0, n = this.runtime.types_by_index.length; n > t; t++) s = this.runtime.types_by_index[t], r = s.getCurrentSol(), r.select_all && -1 === a.current_event.solModifiers.indexOf(s) || (f.solModifiers.push(s), u = o(), u.sa = r.select_all, cr.shallowAssignArray(u.insts, r.instances), f.sols[t.toString()] = u);
  3983. return this.waits.push(f), !0
  3984. }
  3985. }, r.prototype.WaitForSignal = function(e) {
  3986. var t, n, r, s, u, a = this.runtime.getCurrentEventStack(),
  3987. f = i();
  3988. for (f.time = -1, f.signaltag = e.toLowerCase(), f.signalled = !1, f.ev = a.current_event, f.actindex = a.actindex + 1, t = 0, n = this.runtime.types_by_index.length; n > t; t++) s = this.runtime.types_by_index[t], r = s.getCurrentSol(), r.select_all && -1 === a.current_event.solModifiers.indexOf(s) || (f.solModifiers.push(s), u = o(), u.sa = r.select_all, cr.shallowAssignArray(u.insts, r.instances), f.sols[t.toString()] = u);
  3989. return this.waits.push(f), !0
  3990. }, r.prototype.Signal = function(e) {
  3991. var t, n, r, i = e.toLowerCase();
  3992. for (t = 0, n = this.waits.length; n > t; ++t) r = this.waits[t], -1 === r.time && r.signaltag === i && (r.signalled = !0)
  3993. }, r.prototype.SetLayerScale = function(e, t) {
  3994. e && e.scale !== t && (e.scale = t, this.runtime.redraw = !0)
  3995. }, r.prototype.ResetGlobals = function() {
  3996. var e, t, n;
  3997. for (e = 0, t = this.runtime.all_global_vars.length; t > e; e++) n = this.runtime.all_global_vars[e], n.data = n.initial
  3998. }, r.prototype.SetLayoutAngle = function(e) {
  3999. e = cr.to_radians(e), e = cr.clamp_angle(e), this.runtime.running_layout && this.runtime.running_layout.angle !== e && (this.runtime.running_layout.angle = e, this.runtime.redraw = !0)
  4000. }, r.prototype.SetLayerAngle = function(e, t) {
  4001. e && (t = cr.to_radians(t), t = cr.clamp_angle(t), e.angle !== t && (e.angle = t, this.runtime.redraw = !0))
  4002. }, r.prototype.SetLayerParallax = function(e, t, n) {
  4003. if (e && (e.parallaxX !== t / 100 || e.parallaxY !== n / 100)) {
  4004. if (e.parallaxX = t / 100, e.parallaxY = n / 100, 1 !== e.parallaxX || 1 !== e.parallaxY) {
  4005. var r, i, s = e.instances;
  4006. for (r = 0, i = s.length; i > r; ++r) s[r].type.any_instance_parallaxed = !0
  4007. }
  4008. this.runtime.redraw = !0
  4009. }
  4010. }, r.prototype.SetLayerBackground = function(e, t) {
  4011. if (e) {
  4012. var n = cr.GetRValue(t),
  4013. r = cr.GetGValue(t),
  4014. i = cr.GetBValue(t);
  4015. (e.background_color[0] !== n || e.background_color[1] !== r || e.background_color[2] !== i) && (e.background_color[0] = n, e.background_color[1] = r, e.background_color[2] = i, this.runtime.redraw = !0)
  4016. }
  4017. }, r.prototype.SetLayerTransparent = function(e, t) {
  4018. e && !!t != !!e.transparent && (e.transparent = !!t, this.runtime.redraw = !0)
  4019. }, r.prototype.StopLoop = function() {
  4020. this.runtime.loop_stack_index < 0 || (this.runtime.getCurrentLoop().stopped = !0)
  4021. }, r.prototype.GoToLayoutByName = function(e) {
  4022. if (!this.runtime.isloading && !this.runtime.changelayout) {
  4023. var t;
  4024. for (t in this.runtime.layouts)
  4025. if (this.runtime.layouts.hasOwnProperty(t) && cr.equals_nocase(t, e)) return void(this.runtime.changelayout = this.runtime.layouts[t])
  4026. }
  4027. }, r.prototype.RestartLayout = function() {
  4028. console.dir("restart");
  4029. if (!this.runtime.isloading && !this.runtime.changelayout && this.runtime.running_layout) {
  4030. this.runtime.changelayout = this.runtime.running_layout;
  4031. var e, t, n;
  4032. for (e = 0, t = this.runtime.allGroups.length; t > e; e++) n = this.runtime.allGroups[e], n.setGroupActive(n.initially_activated)
  4033. }
  4034. }, r.prototype.SnapshotCanvas = function(e, t) {
  4035. this.runtime.snapshotCanvas = [0 === e ? "image/png" : "image/jpeg", t / 100], this.runtime.redraw = !0
  4036. }, r.prototype.SetCanvasSize = function(e, t) {
  4037. if (!(0 >= e || 0 >= t)) {
  4038. var n = this.runtime.fullscreen_mode,
  4039. r = document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.runtime.isNodeFullscreen;
  4040. r && this.runtime.fullscreen_scaling > 0 && (n = this.runtime.fullscreen_scaling), 0 === n ? this.runtime.setSize(e, t, !0) : (this.runtime.original_width = e, this.runtime.original_height = t, this.runtime.setSize(this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, !0))
  4041. }
  4042. }, r.prototype.SetLayoutEffectEnabled = function(e, t) {
  4043. if (this.runtime.running_layout && this.runtime.glwrap) {
  4044. var n = this.runtime.running_layout.getEffectByName(t);
  4045. if (n) {
  4046. var r = 1 === e;
  4047. n.active != r && (n.active = r, this.runtime.running_layout.updateActiveEffects(), this.runtime.redraw = !0)
  4048. }
  4049. }
  4050. }, r.prototype.SetLayerEffectEnabled = function(e, t, n) {
  4051. if (e && this.runtime.glwrap) {
  4052. var r = e.getEffectByName(n);
  4053. if (r) {
  4054. var i = 1 === t;
  4055. r.active != i && (r.active = i, e.updateActiveEffects(), this.runtime.redraw = !0)
  4056. }
  4057. }
  4058. }, r.prototype.SetLayoutEffectParam = function(e, t, n) {
  4059. if (this.runtime.running_layout && this.runtime.glwrap) {
  4060. var r = this.runtime.running_layout.getEffectByName(e);
  4061. if (r) {
  4062. var i = this.runtime.running_layout.effect_params[r.index];
  4063. t = Math.floor(t), 0 > t || t >= i.length || (1 === this.runtime.glwrap.getProgramParameterType(r.shaderindex, t) && (n /= 100), i[t] !== n && (i[t] = n, r.active && (this.runtime.redraw = !0)))
  4064. }
  4065. }
  4066. }, r.prototype.SetLayerEffectParam = function(e, t, n, r) {
  4067. if (e && this.runtime.glwrap) {
  4068. var i = e.getEffectByName(t);
  4069. if (i) {
  4070. var s = e.effect_params[i.index];
  4071. n = Math.floor(n), 0 > n || n >= s.length || (1 === this.runtime.glwrap.getProgramParameterType(i.shaderindex, n) && (r /= 100), s[n] !== r && (s[n] = r, i.active && (this.runtime.redraw = !0)))
  4072. }
  4073. }
  4074. }, r.prototype.SaveState = function(e) {
  4075. this.runtime.saveToSlot = e
  4076. }, r.prototype.LoadState = function(e) {
  4077. this.runtime.loadFromSlot = e
  4078. }, r.prototype.LoadStateJSON = function(e) {
  4079. this.runtime.loadFromJson = e
  4080. }, r.prototype.SetHalfFramerateMode = function(e) {
  4081. this.runtime.halfFramerateMode = 0 !== e
  4082. }, r.prototype.SetFullscreenQuality = function(e) {
  4083. var t = document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.isNodeFullscreen;
  4084. (t || 0 !== this.runtime.fullscreen_mode) && (this.runtime.wantFullscreenScalingQuality = 0 !== e, this.runtime.setSize(this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, !0))
  4085. }, l.acts = new r, a.prototype["int"] = function(e, t) {
  4086. cr.is_string(t) ? (e.set_int(parseInt(t, 10)), isNaN(e.data) && (e.data = 0)) : e.set_int(t)
  4087. }, a.prototype["float"] = function(e, t) {
  4088. cr.is_string(t) ? (e.set_float(parseFloat(t)), isNaN(e.data) && (e.data = 0)) : e.set_float(t)
  4089. }, a.prototype.str = function(e, t) {
  4090. e.set_string(cr.is_string(t) ? t : t.toString())
  4091. }, a.prototype.len = function(e, t) {
  4092. e.set_int(t.length || 0)
  4093. }, a.prototype.random = function(e, t, n) {
  4094. e.set_float(void 0 === n ? Math.random() * t : Math.random() * (n - t) + t)
  4095. }, a.prototype.sqrt = function(e, t) {
  4096. e.set_float(Math.sqrt(t))
  4097. }, a.prototype.abs = function(e, t) {
  4098. e.set_float(Math.abs(t))
  4099. }, a.prototype.round = function(e, t) {
  4100. e.set_int(Math.round(t))
  4101. }, a.prototype.floor = function(e, t) {
  4102. e.set_int(Math.floor(t))
  4103. }, a.prototype.ceil = function(e, t) {
  4104. e.set_int(Math.ceil(t))
  4105. }, a.prototype.sin = function(e, t) {
  4106. e.set_float(Math.sin(cr.to_radians(t)))
  4107. }, a.prototype.cos = function(e, t) {
  4108. e.set_float(Math.cos(cr.to_radians(t)))
  4109. }, a.prototype.tan = function(e, t) {
  4110. e.set_float(Math.tan(cr.to_radians(t)))
  4111. }, a.prototype.asin = function(e, t) {
  4112. e.set_float(cr.to_degrees(Math.asin(t)))
  4113. }, a.prototype.acos = function(e, t) {
  4114. e.set_float(cr.to_degrees(Math.acos(t)))
  4115. }, a.prototype.atan = function(e, t) {
  4116. e.set_float(cr.to_degrees(Math.atan(t)))
  4117. }, a.prototype.exp = function(e, t) {
  4118. e.set_float(Math.exp(t))
  4119. }, a.prototype.ln = function(e, t) {
  4120. e.set_float(Math.log(t))
  4121. }, a.prototype.log10 = function(e, t) {
  4122. e.set_float(Math.log(t) / Math.LN10)
  4123. }, a.prototype.max = function(e) {
  4124. var t = arguments[1];
  4125. "number" != typeof t && (t = 0);
  4126. var n, r, i;
  4127. for (n = 2, r = arguments.length; r > n; n++) i = arguments[n], "number" == typeof i && i > t && (t = i);
  4128. e.set_float(t)
  4129. }, a.prototype.min = function(e) {
  4130. var t = arguments[1];
  4131. "number" != typeof t && (t = 0);
  4132. var n, r, i;
  4133. for (n = 2, r = arguments.length; r > n; n++) i = arguments[n], "number" == typeof i && t > i && (t = i);
  4134. e.set_float(t)
  4135. }, a.prototype.dt = function(e) {
  4136. e.set_float(this.runtime.dt)
  4137. }, a.prototype.timescale = function(e) {
  4138. e.set_float(this.runtime.timescale)
  4139. }, a.prototype.wallclocktime = function(e) {
  4140. e.set_float((Date.now() - this.runtime.start_time) / 1e3)
  4141. }, a.prototype.time = function(e) {
  4142. e.set_float(this.runtime.kahanTime.sum)
  4143. }, a.prototype.tickcount = function(e) {
  4144. e.set_int(this.runtime.tickcount)
  4145. }, a.prototype.objectcount = function(e) {
  4146. e.set_int(this.runtime.objectcount)
  4147. }, a.prototype.fps = function(e) {
  4148. e.set_int(this.runtime.fps)
  4149. }, a.prototype.loopindex = function(e, t) {
  4150. var n, r, i;
  4151. if (!this.runtime.loop_stack.length) return void e.set_int(0);
  4152. if (t) {
  4153. for (r = 0, i = this.runtime.loop_stack.length; i > r; r++)
  4154. if (n = this.runtime.loop_stack[r], n.name === t) return void e.set_int(n.index);
  4155. e.set_int(0)
  4156. } else n = this.runtime.getCurrentLoop(), e.set_int(n ? n.index : -1)
  4157. }, a.prototype.distance = function(e, t, n, r, i) {
  4158. e.set_float(cr.distanceTo(t, n, r, i))
  4159. }, a.prototype.angle = function(e, t, n, r, i) {
  4160. e.set_float(cr.to_degrees(cr.angleTo(t, n, r, i)))
  4161. }, a.prototype.scrollx = function(e) {
  4162. e.set_float(this.runtime.running_layout.scrollX)
  4163. }, a.prototype.scrolly = function(e) {
  4164. e.set_float(this.runtime.running_layout.scrollY)
  4165. }, a.prototype.newline = function(e) {
  4166. e.set_string("\n")
  4167. }, a.prototype.lerp = function(e, t, n, r) {
  4168. e.set_float(cr.lerp(t, n, r))
  4169. }, a.prototype.qarp = function(e, t, n, r, i) {
  4170. e.set_float(cr.qarp(t, n, r, i))
  4171. }, a.prototype.cubic = function(e, t, n, r, i, s) {
  4172. e.set_float(cr.cubic(t, n, r, i, s))
  4173. }, a.prototype.cosp = function(e, t, n, r) {
  4174. e.set_float(cr.cosp(t, n, r))
  4175. }, a.prototype.windowwidth = function(e) {
  4176. e.set_int(this.runtime.width)
  4177. }, a.prototype.windowheight = function(e) {
  4178. e.set_int(this.runtime.height)
  4179. }, a.prototype.uppercase = function(e, t) {
  4180. e.set_string(cr.is_string(t) ? t.toUpperCase() : "")
  4181. }, a.prototype.lowercase = function(e, t) {
  4182. e.set_string(cr.is_string(t) ? t.toLowerCase() : "")
  4183. }, a.prototype.clamp = function(e, t, n, r) {
  4184. e.set_float(n > t ? n : t > r ? r : t)
  4185. }, a.prototype.layerscale = function(e, t) {
  4186. var n = this.runtime.getLayer(t);
  4187. e.set_float(n ? n.scale : 0)
  4188. }, a.prototype.layeropacity = function(e, t) {
  4189. var n = this.runtime.getLayer(t);
  4190. e.set_float(n ? 100 * n.opacity : 0)
  4191. }, a.prototype.layerscalerate = function(e, t) {
  4192. var n = this.runtime.getLayer(t);
  4193. e.set_float(n ? n.zoomRate : 0)
  4194. }, a.prototype.layerparallaxx = function(e, t) {
  4195. var n = this.runtime.getLayer(t);
  4196. e.set_float(n ? 100 * n.parallaxX : 0)
  4197. }, a.prototype.layerparallaxy = function(e, t) {
  4198. var n = this.runtime.getLayer(t);
  4199. e.set_float(n ? 100 * n.parallaxY : 0)
  4200. }, a.prototype.layoutscale = function(e) {
  4201. e.set_float(this.runtime.running_layout ? this.runtime.running_layout.scale : 0)
  4202. }, a.prototype.layoutangle = function(e) {
  4203. e.set_float(cr.to_degrees(this.runtime.running_layout.angle))
  4204. }, a.prototype.layerangle = function(e, t) {
  4205. var n = this.runtime.getLayer(t);
  4206. e.set_float(n ? cr.to_degrees(n.angle) : 0)
  4207. }, a.prototype.layoutwidth = function(e) {
  4208. e.set_int(this.runtime.running_layout.width)
  4209. }, a.prototype.layoutheight = function(e) {
  4210. e.set_int(this.runtime.running_layout.height)
  4211. }, a.prototype.find = function(e, t, n) {
  4212. e.set_int(cr.is_string(t) && cr.is_string(n) ? t.search(new RegExp(cr.regexp_escape(n), "i")) : -1)
  4213. }, a.prototype.left = function(e, t, n) {
  4214. e.set_string(cr.is_string(t) ? t.substr(0, n) : "")
  4215. }, a.prototype.right = function(e, t, n) {
  4216. e.set_string(cr.is_string(t) ? t.substr(t.length - n) : "")
  4217. }, a.prototype.mid = function(e, t, n, r) {
  4218. e.set_string(cr.is_string(t) ? t.substr(n, r) : "")
  4219. }, a.prototype.tokenat = function(e, t, n, r) {
  4220. if (cr.is_string(t) && cr.is_string(r)) {
  4221. var i = t.split(r),
  4222. s = cr.floor(n);
  4223. e.set_string(0 > s || s >= i.length ? "" : i[s])
  4224. } else e.set_string("")
  4225. }, a.prototype.tokencount = function(e, t, n) {
  4226. e.set_int(cr.is_string(t) && t.length ? t.split(n).length : 0)
  4227. }, a.prototype.replace = function(e, t, n, r) {
  4228. e.set_string(cr.is_string(t) && cr.is_string(n) && cr.is_string(r) ? t.replace(new RegExp(cr.regexp_escape(n), "gi"), r) : cr.is_string(t) ? t : "")
  4229. }, a.prototype.trim = function(e, t) {
  4230. e.set_string(cr.is_string(t) ? t.trim() : "")
  4231. }, a.prototype.pi = function(e) {
  4232. e.set_float(cr.PI)
  4233. }, a.prototype.layoutname = function(e) {
  4234. e.set_string(this.runtime.running_layout ? this.runtime.running_layout.name : "")
  4235. }, a.prototype.renderer = function(e) {
  4236. e.set_string(this.runtime.gl ? "webgl" : "canvas2d")
  4237. }, a.prototype.anglediff = function(e, t, n) {
  4238. e.set_float(cr.to_degrees(cr.angleDiff(cr.to_radians(t), cr.to_radians(n))))
  4239. }, a.prototype.choose = function(e) {
  4240. var t = cr.floor(Math.random() * (arguments.length - 1));
  4241. e.set_any(arguments[t + 1])
  4242. }, a.prototype.rgb = function(e, t, n, r) {
  4243. e.set_int(cr.RGB(t, n, r))
  4244. }, a.prototype.projectversion = function(e) {
  4245. e.set_string(this.runtime.versionstr)
  4246. }, a.prototype.anglelerp = function(e, t, n, r) {
  4247. t = cr.to_radians(t), n = cr.to_radians(n);
  4248. var i = cr.angleDiff(t, n);
  4249. e.set_float(cr.to_clamped_degrees(cr.angleClockwise(n, t) ? t + i * r : t - i * r))
  4250. }, a.prototype.anglerotate = function(e, t, n, r) {
  4251. t = cr.to_radians(t), n = cr.to_radians(n), r = cr.to_radians(r), e.set_float(cr.to_clamped_degrees(cr.angleRotate(t, n, r)))
  4252. }, a.prototype.zeropad = function(e, t, n) {
  4253. var r = 0 > t ? "-" : "";
  4254. 0 > t && (t = -t);
  4255. for (var i = n - t.toString().length, s = 0; i > s; s++) r += "0";
  4256. e.set_string(r + t.toString())
  4257. }, a.prototype.cpuutilisation = function(e) {
  4258. e.set_float(this.runtime.cpuutilisation / 1e3)
  4259. }, a.prototype.viewportleft = function(e, t) {
  4260. var n = this.runtime.getLayer(t);
  4261. e.set_float(n ? n.viewLeft : 0)
  4262. }, a.prototype.viewporttop = function(e, t) {
  4263. var n = this.runtime.getLayer(t);
  4264. e.set_float(n ? n.viewTop : 0)
  4265. }, a.prototype.viewportright = function(e, t) {
  4266. var n = this.runtime.getLayer(t);
  4267. e.set_float(n ? n.viewRight : 0)
  4268. }, a.prototype.viewportbottom = function(e, t) {
  4269. var n = this.runtime.getLayer(t);
  4270. e.set_float(n ? n.viewBottom : 0)
  4271. }, a.prototype.loadingprogress = function(e) {
  4272. e.set_float(this.runtime.loadingprogress)
  4273. }, a.prototype.unlerp = function(e, t, n, r) {
  4274. e.set_float(cr.unlerp(t, n, r))
  4275. }, a.prototype.canvassnapshot = function(e) {
  4276. e.set_string(this.runtime.snapshotData)
  4277. }, a.prototype.urlencode = function(e, t) {
  4278. e.set_string(encodeURIComponent(t))
  4279. }, a.prototype.urldecode = function(e, t) {
  4280. e.set_string(decodeURIComponent(t))
  4281. }, a.prototype.canvastolayerx = function(e, t, n, r) {
  4282. var i = this.runtime.getLayer(t);
  4283. e.set_float(i ? i.canvasToLayer(n, r, !0) : 0)
  4284. }, a.prototype.canvastolayery = function(e, t, n, r) {
  4285. var i = this.runtime.getLayer(t);
  4286. e.set_float(i ? i.canvasToLayer(n, r, !1) : 0)
  4287. }, a.prototype.layertocanvasx = function(e, t, n, r) {
  4288. var i = this.runtime.getLayer(t);
  4289. e.set_float(i ? i.layerToCanvas(n, r, !0) : 0)
  4290. }, a.prototype.layertocanvasy = function(e, t, n, r) {
  4291. var i = this.runtime.getLayer(t);
  4292. e.set_float(i ? i.layerToCanvas(n, r, !1) : 0)
  4293. }, a.prototype.savestatejson = function(e) {
  4294. e.set_string(this.runtime.lastSaveJson)
  4295. }, a.prototype.imagememoryusage = function(e) {
  4296. e.set_float(this.runtime.glwrap ? Math.round(100 * this.runtime.glwrap.estimateVRAM() / 1048576) / 100 : 0)
  4297. }, a.prototype.regexsearch = function(e, t, r, i) {
  4298. var s = n(r, i);
  4299. e.set_int(t ? t.search(s) : -1)
  4300. }, a.prototype.regexreplace = function(e, t, r, i, s) {
  4301. var o = n(r, i);
  4302. e.set_string(t ? t.replace(o, s) : "")
  4303. };
  4304. var b = [],
  4305. w = "",
  4306. E = "",
  4307. S = "";
  4308. a.prototype.regexmatchcount = function(e, t, r, i) {
  4309. n(r, i);
  4310. f(t, r, i), e.set_int(b ? b.length : 0)
  4311. }, a.prototype.regexmatchat = function(e, t, r, i, s) {
  4312. s = Math.floor(s);
  4313. n(r, i);
  4314. f(t, r, i), e.set_string(!b || 0 > s || s >= b.length ? "" : b[s])
  4315. }, a.prototype.infinity = function(e) {
  4316. e.set_float(1 / 0)
  4317. }, a.prototype.setbit = function(e, t, n, r) {
  4318. t = 0 | t, n = 0 | n, r = 0 !== r ? 1 : 0, e.set_int(t & ~(1 << n) | r << n)
  4319. }, a.prototype.togglebit = function(e, t, n) {
  4320. t = 0 | t, n = 0 | n, e.set_int(t ^ 1 << n)
  4321. }, a.prototype.getbit = function(e, t, n) {
  4322. t = 0 | t, n = 0 | n, e.set_int(t & 1 << n ? 1 : 0)
  4323. }, l.exps = new a, l.runWaits = function() {
  4324. var e, t, n, r, i, o, a, f = this.runtime.getCurrentEventStack();
  4325. for (e = 0, n = this.waits.length; n > e; e++) {
  4326. if (r = this.waits[e], -1 === r.time) {
  4327. if (!r.signalled) continue
  4328. } else if (r.time > this.runtime.kahanTime.sum) continue;
  4329. f.current_event = r.ev, f.actindex = r.actindex, f.cndindex = 0;
  4330. for (i in r.sols) r.sols.hasOwnProperty(i) && (o = this.runtime.types_by_index[parseInt(i, 10)].getCurrentSol(), a = r.sols[i], o.select_all = a.sa, cr.shallowAssignArray(o.instances, a.insts), u(a));
  4331. r.ev.resume_actions_and_subevents(), this.runtime.clearSol(r.solModifiers), r.deleteme = !0
  4332. }
  4333. for (e = 0, t = 0, n = this.waits.length; n > e; e++) r = this.waits[e], this.waits[t] = r, r.deleteme ? s(r) : t++;
  4334. this.waits.length = t
  4335. }
  4336. }(),
  4337. function() {
  4338. cr.add_common_aces = function(e) {
  4339. var t = e[0].prototype,
  4340. n = e[1],
  4341. r = e[3],
  4342. i = e[4],
  4343. s = e[5],
  4344. o = e[6],
  4345. u = e[7],
  4346. a = e[8];
  4347. t.cnds || (t.cnds = {}), t.acts || (t.acts = {}), t.exps || (t.exps = {});
  4348. var f = t.cnds,
  4349. l = t.acts,
  4350. c = t.exps;
  4351. r && (f.CompareX = function(e, t) {
  4352. return cr.do_cmp(this.x, e, t)
  4353. }, f.CompareY = function(e, t) {
  4354. return cr.do_cmp(this.y, e, t)
  4355. }, f.IsOnScreen = function() {
  4356. var e = this.layer;
  4357. this.update_bbox();
  4358. var t = this.bbox;
  4359. return !(t.right < e.viewLeft || t.bottom < e.viewTop || t.left > e.viewRight || t.top > e.viewBottom)
  4360. }, f.IsOutsideLayout = function() {
  4361. this.update_bbox();
  4362. var e = this.bbox,
  4363. t = this.runtime.running_layout;
  4364. return e.right < 0 || e.bottom < 0 || e.left > t.width || e.top > t.height
  4365. }, f.PickDistance = function(e, t, n) {
  4366. var r = this.getCurrentSol(),
  4367. i = r.getObjects();
  4368. if (!i.length) return !1;
  4369. var s, o, u, a = i[0],
  4370. f = a,
  4371. l = cr.distanceTo(a.x, a.y, t, n);
  4372. for (s = 1, o = i.length; o > s; s++) a = i[s], u = cr.distanceTo(a.x, a.y, t, n), (0 === e && l > u || 1 === e && u > l) && (l = u, f = a);
  4373. return r.pick_one(f), !0
  4374. }, l.SetX = function(e) {
  4375. this.x !== e && (this.x = e, this.set_bbox_changed())
  4376. }, l.SetY = function(e) {
  4377. this.y !== e && (this.y = e, this.set_bbox_changed())
  4378. }, l.SetPos = function(e, t) {
  4379. (this.x !== e || this.y !== t) && (this.x = e, this.y = t, this.set_bbox_changed())
  4380. }, l.SetPosToObject = function(e, t) {
  4381. var n = e.getPairedInstance(this);
  4382. if (n) {
  4383. var r, i;
  4384. n.getImagePoint ? (r = n.getImagePoint(t, !0), i = n.getImagePoint(t, !1)) : (r = n.x, i = n.y), (this.x !== r || this.y !== i) && (this.x = r, this.y = i, this.set_bbox_changed())
  4385. }
  4386. }, l.MoveForward = function(e) {
  4387. 0 !== e && (this.x += Math.cos(this.angle) * e, this.y += Math.sin(this.angle) * e, this.set_bbox_changed())
  4388. }, l.MoveAtAngle = function(e, t) {
  4389. 0 !== t && (this.x += Math.cos(cr.to_radians(e)) * t, this.y += Math.sin(cr.to_radians(e)) * t, this.set_bbox_changed())
  4390. }, c.X = function(e) {
  4391. e.set_float(this.x)
  4392. }, c.Y = function(e) {
  4393. e.set_float(this.y)
  4394. }, c.dt = function(e) {
  4395. e.set_float(this.runtime.getDt(this))
  4396. }), i && (f.CompareWidth = function(e, t) {
  4397. return cr.do_cmp(this.width, e, t)
  4398. }, f.CompareHeight = function(e, t) {
  4399. return cr.do_cmp(this.height, e, t)
  4400. }, l.SetWidth = function(e) {
  4401. this.width !== e && (this.width = e, this.set_bbox_changed())
  4402. }, l.SetHeight = function(e) {
  4403. this.height !== e && (this.height = e, this.set_bbox_changed())
  4404. }, l.SetSize = function(e, t) {
  4405. (this.width !== e || this.height !== t) && (this.width = e, this.height = t, this.set_bbox_changed())
  4406. }, c.Width = function(e) {
  4407. e.set_float(this.width)
  4408. }, c.Height = function(e) {
  4409. e.set_float(this.height)
  4410. }, c.BBoxLeft = function(e) {
  4411. this.update_bbox(), e.set_float(this.bbox.left)
  4412. }, c.BBoxTop = function(e) {
  4413. this.update_bbox(), e.set_float(this.bbox.top)
  4414. }, c.BBoxRight = function(e) {
  4415. this.update_bbox(), e.set_float(this.bbox.right)
  4416. }, c.BBoxBottom = function(e) {
  4417. this.update_bbox(), e.set_float(this.bbox.bottom)
  4418. }), s && (f.AngleWithin = function(e, t) {
  4419. return cr.angleDiff(this.angle, cr.to_radians(t)) <= cr.to_radians(e)
  4420. }, f.IsClockwiseFrom = function(e) {
  4421. return cr.angleClockwise(this.angle, cr.to_radians(e))
  4422. }, f.IsBetweenAngles = function(e, t) {
  4423. var n = cr.to_clamped_radians(e),
  4424. r = cr.to_clamped_radians(t),
  4425. i = cr.clamp_angle(this.angle),
  4426. s = !cr.angleClockwise(r, n);
  4427. return s ? !(!cr.angleClockwise(i, n) && cr.angleClockwise(i, r)) : cr.angleClockwise(i, n) && !cr.angleClockwise(i, r)
  4428. }, l.SetAngle = function(e) {
  4429. var t = cr.to_radians(cr.clamp_angle_degrees(e));
  4430. isNaN(t) || this.angle !== t && (this.angle = t, this.set_bbox_changed())
  4431. }, l.RotateClockwise = function(e) {
  4432. 0 === e || isNaN(e) || (this.angle += cr.to_radians(e), this.angle = cr.clamp_angle(this.angle), this.set_bbox_changed())
  4433. }, l.RotateCounterclockwise = function(e) {
  4434. 0 === e || isNaN(e) || (this.angle -= cr.to_radians(e), this.angle = cr.clamp_angle(this.angle), this.set_bbox_changed())
  4435. }, l.RotateTowardAngle = function(e, t) {
  4436. var n = cr.angleRotate(this.angle, cr.to_radians(t), cr.to_radians(e));
  4437. isNaN(n) || this.angle !== n && (this.angle = n, this.set_bbox_changed())
  4438. }, l.RotateTowardPosition = function(e, t, n) {
  4439. var r = t - this.x,
  4440. i = n - this.y,
  4441. s = Math.atan2(i, r),
  4442. o = cr.angleRotate(this.angle, s, cr.to_radians(e));
  4443. isNaN(o) || this.angle !== o && (this.angle = o, this.set_bbox_changed())
  4444. }, l.SetTowardPosition = function(e, t) {
  4445. var n = e - this.x,
  4446. r = t - this.y,
  4447. i = Math.atan2(r, n);
  4448. isNaN(i) || this.angle !== i && (this.angle = i, this.set_bbox_changed())
  4449. }, c.Angle = function(e) {
  4450. e.set_float(cr.to_clamped_degrees(this.angle))
  4451. }), n || (f.CompareInstanceVar = function(e, t, n) {
  4452. return cr.do_cmp(this.instance_vars[e], t, n)
  4453. }, f.IsBoolInstanceVarSet = function(e) {
  4454. return this.instance_vars[e]
  4455. }, f.PickInstVarHiLow = function(e, t) {
  4456. var n = this.getCurrentSol(),
  4457. r = n.getObjects();
  4458. if (!r.length) return !1;
  4459. var i, s, o, u = r[0],
  4460. a = u,
  4461. f = u.instance_vars[t];
  4462. for (i = 1, s = r.length; s > i; i++) u = r[i], o = u.instance_vars[t], (0 === e && f > o || 1 === e && o > f) && (f = o, a = u);
  4463. return n.pick_one(a), !0
  4464. }, f.PickByUID = function(e) {
  4465. var t, n, r, i, s, o, u, a = this.runtime.getCurrentCondition();
  4466. if (a.inverted) {
  4467. if (u = this.getCurrentSol(), u.select_all) {
  4468. for (u.select_all = !1, u.instances.length = 0, u.else_instances.length = 0, o = this.instances, t = 0, n = o.length; n > t; t++) i = o[t], i.uid === e ? u.else_instances.push(i) : u.instances.push(i);
  4469. return this.applySolToContainer(), !!u.instances.length
  4470. }
  4471. for (t = 0, r = 0, n = u.instances.length; n > t; t++) i = u.instances[t], u.instances[r] = i, i.uid === e ? u.else_instances.push(i) : r++;
  4472. return u.instances.length = r, this.applySolToContainer(), !!u.instances.length
  4473. }
  4474. if (i = this.runtime.getObjectByUID(e), !i) return !1;
  4475. if (u = this.getCurrentSol(), !u.select_all && -1 === u.instances.indexOf(i)) return !1;
  4476. if (this.is_family) {
  4477. for (s = i.type.families, t = 0, n = s.length; n > t; t++)
  4478. if (s[t] === this) return u.pick_one(i), this.applySolToContainer(), !0
  4479. } else if (i.type === this) return u.pick_one(i), this.applySolToContainer(), !0;
  4480. return !1
  4481. }, f.OnCreated = function() {
  4482. return !0
  4483. }, f.OnDestroyed = function() {
  4484. return !0
  4485. }, l.SetInstanceVar = function(e, t) {
  4486. var n = this.instance_vars;
  4487. cr.is_number(n[e]) ? n[e] = cr.is_number(t) ? t : parseFloat(t) : cr.is_string(n[e]) && (n[e] = cr.is_string(t) ? t : t.toString())
  4488. }, l.AddInstanceVar = function(e, t) {
  4489. var n = this.instance_vars;
  4490. cr.is_number(n[e]) ? n[e] += cr.is_number(t) ? t : parseFloat(t) : cr.is_string(n[e]) && (n[e] += cr.is_string(t) ? t : t.toString())
  4491. }, l.SubInstanceVar = function(e, t) {
  4492. var n = this.instance_vars;
  4493. cr.is_number(n[e]) && (n[e] -= cr.is_number(t) ? t : parseFloat(t))
  4494. }, l.SetBoolInstanceVar = function(e, t) {
  4495. this.instance_vars[e] = t ? 1 : 0
  4496. }, l.ToggleBoolInstanceVar = function(e) {
  4497. this.instance_vars[e] = 1 - this.instance_vars[e]
  4498. }, l.Destroy = function() {
  4499. this.runtime.DestroyInstance(this)
  4500. }, l.LoadFromJsonString || (l.LoadFromJsonString = function(e) {
  4501. var t, n, r, i;
  4502. try {
  4503. t = JSON.parse(e)
  4504. } catch (s) {
  4505. return
  4506. }
  4507. if (this.runtime.loadInstanceFromJSON(this, t, !0), this.afterLoad && this.afterLoad(), this.behavior_insts)
  4508. for (n = 0, r = this.behavior_insts.length; r > n; ++n) i = this.behavior_insts[n], i.afterLoad && i.afterLoad()
  4509. }), c.Count = function(e) {
  4510. var t, n, r, i = e.object_class.instances.length;
  4511. for (t = 0, n = this.runtime.createRow.length; n > t; t++) r = this.runtime.createRow[t], e.object_class.is_family ? r.type.families.indexOf(e.object_class) >= 0 && i++ : r.type === e.object_class && i++;
  4512. e.set_int(i)
  4513. }, c.PickedCount = function(e) {
  4514. e.set_int(e.object_class.getCurrentSol().getObjects().length)
  4515. }, c.UID = function(e) {
  4516. e.set_int(this.uid)
  4517. }, c.IID = function(e) {
  4518. e.set_int(this.get_iid())
  4519. }, c.AsJSON || (c.AsJSON = function(e) {
  4520. e.set_string(JSON.stringify(this.runtime.saveInstanceToJSON(this, !0)))
  4521. })), o && (f.IsVisible = function() {
  4522. return this.visible
  4523. }, l.SetVisible = function(e) {
  4524. !e != !this.visible && (this.visible = e, this.runtime.redraw = !0)
  4525. }, f.CompareOpacity = function(e, t) {
  4526. return cr.do_cmp(cr.round6dp(100 * this.opacity), e, t)
  4527. }, l.SetOpacity = function(e) {
  4528. var t = e / 100;
  4529. 0 > t ? t = 0 : t > 1 && (t = 1), t !== this.opacity && (this.opacity = t, this.runtime.redraw = !0)
  4530. }, c.Opacity = function(e) {
  4531. e.set_float(cr.round6dp(100 * this.opacity))
  4532. }), u && (f.IsOnLayer = function(e) {
  4533. return e ? this.layer === e : !1
  4534. }, f.PickTopBottom = function(e) {
  4535. var t = this.getCurrentSol(),
  4536. n = t.getObjects();
  4537. if (!n.length) return !1;
  4538. var r, i, s = n[0],
  4539. o = s;
  4540. for (r = 1, i = n.length; i > r; r++) s = n[r], 0 === e ? (s.layer.index > o.layer.index || s.layer.index === o.layer.index && s.get_zindex() > o.get_zindex()) && (o = s) : (s.layer.index < o.layer.index || s.layer.index === o.layer.index && s.get_zindex() < o.get_zindex()) && (o = s);
  4541. return t.pick_one(o), !0
  4542. }, l.MoveToTop = function() {
  4543. var e = this.get_zindex();
  4544. e !== this.layer.instances.length - 1 && (cr.arrayRemove(this.layer.instances, e), this.layer.instances.push(this), this.runtime.redraw = !0, this.layer.zindices_stale = !0)
  4545. }, l.MoveToBottom = function() {
  4546. var e = this.get_zindex();
  4547. 0 !== e && (cr.arrayRemove(this.layer.instances, e), this.layer.instances.unshift(this), this.runtime.redraw = !0, this.layer.zindices_stale = !0)
  4548. }, l.MoveToLayer = function(e) {
  4549. e && e != this.layer && (cr.arrayRemove(this.layer.instances, this.get_zindex()), this.layer.zindices_stale = !0, this.layer = e, this.zindex = e.instances.length, e.instances.push(this), this.runtime.redraw = !0)
  4550. }, l.ZMoveToObject = function(e, t) {
  4551. var n = 0 === e;
  4552. if (t) {
  4553. var r = t.getFirstPicked(this);
  4554. if (r && r.uid !== this.uid) {
  4555. this.layer.index !== r.layer.index && (cr.arrayRemove(this.layer.instances, this.get_zindex()), this.layer.zindices_stale = !0, this.layer = r.layer, this.zindex = r.layer.instances.length, r.layer.instances.push(this));
  4556. var i = this.get_zindex(),
  4557. s = r.get_zindex();
  4558. cr.arrayRemove(this.layer.instances, i), s > i && s--, n && s++, s === this.layer.instances.length ? this.layer.instances.push(this) : this.layer.instances.splice(s, 0, this), this.layer.zindices_stale = !0, this.runtime.redraw = !0
  4559. }
  4560. }
  4561. }, c.LayerNumber = function(e) {
  4562. e.set_int(this.layer.number)
  4563. }, c.LayerName = function(e) {
  4564. e.set_string(this.layer.name)
  4565. }, c.ZIndex = function(e) {
  4566. e.set_int(this.get_zindex())
  4567. }), a && (l.SetEffectEnabled = function(e, t) {
  4568. if (this.runtime.glwrap) {
  4569. var n = this.type.getEffectIndexByName(t);
  4570. if (!(0 > n)) {
  4571. var r = 1 === e;
  4572. this.active_effect_flags[n] !== r && (this.active_effect_flags[n] = r, this.updateActiveEffects(), this.runtime.redraw = !0)
  4573. }
  4574. }
  4575. }, l.SetEffectParam = function(e, t, n) {
  4576. if (this.runtime.glwrap) {
  4577. var r = this.type.getEffectIndexByName(e);
  4578. if (!(0 > r)) {
  4579. var i = this.type.effect_types[r],
  4580. s = this.effect_params[r];
  4581. t = Math.floor(t), 0 > t || t >= s.length || (1 === this.runtime.glwrap.getProgramParameterType(i.shaderindex, t) && (n /= 100), s[t] !== n && (s[t] = n, i.active && (this.runtime.redraw = !0)))
  4582. }
  4583. }
  4584. })
  4585. }, cr.set_bbox_changed = function() {
  4586. this.bbox_changed = !0, this.cell_changed = !0, this.type.any_cell_changed = !0, this.runtime.redraw = !0;
  4587. var e, t, n = this.bbox_changed_callbacks;
  4588. for (e = 0, t = n.length; t > e; ++e) n[e](this)
  4589. }, cr.add_bbox_changed_callback = function(e) {
  4590. e && this.bbox_changed_callbacks.push(e)
  4591. }, cr.update_bbox = function() {
  4592. if (this.bbox_changed) {
  4593. var e = this.bbox,
  4594. t = this.bquad;
  4595. e.set(this.x, this.y, this.x + this.width, this.y + this.height), e.offset(-this.hotspotX * this.width, -this.hotspotY * this.height), this.angle ? (e.offset(-this.x, -this.y), t.set_from_rotated_rect(e, this.angle), t.offset(this.x, this.y), t.bounding_box(e)) : t.set_from_rect(e), e.normalize(), this.bbox_changed = !1
  4596. }
  4597. };
  4598. var e = new cr.rect(0, 0, 0, 0);
  4599. cr.update_collision_cell = function() {
  4600. if (this.cell_changed && this.collisionsEnabled) {
  4601. this.update_bbox();
  4602. var n = this.type.collision_grid,
  4603. r = this.collcells,
  4604. i = this.bbox;
  4605. e.set(n.XToCell(i.left), n.YToCell(i.top), n.XToCell(i.right), n.YToCell(i.bottom)), r.equals(e) || (r.right < r.left ? n.update(this, null, e) : n.update(this, r, e), r.copy(e), this.cell_changed = !1)
  4606. }
  4607. }, cr.inst_contains_pt = function(e, t) {
  4608. return this.bbox.contains_pt(e, t) && this.bquad.contains_pt(e, t) ? this.collision_poly && !this.collision_poly.is_empty() ? (this.collision_poly.cache_poly(this.width, this.height, this.angle), this.collision_poly.contains_pt(e - this.x, t - this.y)) : !0 : !1
  4609. }, cr.inst_get_iid = function() {
  4610. return this.type.updateIIDs(), this.iid
  4611. }, cr.inst_get_zindex = function() {
  4612. return this.layer.updateZIndices(), this.zindex
  4613. }, cr.inst_updateActiveEffects = function() {
  4614. this.active_effect_types.length = 0;
  4615. var e, t;
  4616. for (e = 0, t = this.active_effect_flags.length; t > e; e++) this.active_effect_flags[e] && this.active_effect_types.push(this.type.effect_types[e]);
  4617. this.uses_shaders = !!this.active_effect_types.length
  4618. }, cr.inst_toString = function() {
  4619. return "Inst" + this.puid
  4620. }, cr.type_getFirstPicked = function(e) {
  4621. if (e && e.is_contained && e.type != this) {
  4622. var t, n, r;
  4623. for (t = 0, n = e.siblings.length; n > t; t++)
  4624. if (r = e.siblings[t], r.type == this) return r
  4625. }
  4626. var i = this.getCurrentSol().getObjects();
  4627. return i.length ? i[0] : null
  4628. }, cr.type_getPairedInstance = function(e) {
  4629. var t = this.getCurrentSol().getObjects();
  4630. return t.length ? t[e.get_iid() % t.length] : null
  4631. }, cr.type_updateIIDs = function() {
  4632. if (this.stale_iids && !this.is_family) {
  4633. var e, t;
  4634. for (e = 0, t = this.instances.length; t > e; e++) this.instances[e].iid = e;
  4635. var n = e,
  4636. r = this.runtime.createRow;
  4637. for (e = 0, t = r.length; t > e; ++e) r[e].type === this && (r[e].iid = n++);
  4638. this.stale_iids = !1
  4639. }
  4640. }, cr.type_getInstanceByIID = function(e) {
  4641. if (e < this.instances.length) return this.instances[e];
  4642. e -= this.instances.length;
  4643. var t, n, r = this.runtime.createRow;
  4644. for (t = 0, n = r.length; n > t; ++t)
  4645. if (r[t].type === this) {
  4646. if (0 === e) return r[t];
  4647. --e
  4648. }
  4649. return null
  4650. }, cr.type_getCurrentSol = function() {
  4651. return this.solstack[this.cur_sol]
  4652. }, cr.type_pushCleanSol = function() {
  4653. this.cur_sol++, this.cur_sol === this.solstack.length ? this.solstack.push(new cr.selection(this)) : this.solstack[this.cur_sol].select_all = !0
  4654. }, cr.type_pushCopySol = function() {
  4655. this.cur_sol++, this.cur_sol === this.solstack.length && this.solstack.push(new cr.selection(this));
  4656. var e = this.solstack[this.cur_sol],
  4657. t = this.solstack[this.cur_sol - 1];
  4658. t.select_all ? e.select_all = !0 : (e.select_all = !1, cr.shallowAssignArray(e.instances, t.instances), cr.shallowAssignArray(e.else_instances, t.else_instances))
  4659. }, cr.type_popSol = function() {
  4660. this.cur_sol--
  4661. }, cr.type_getBehaviorByName = function(e) {
  4662. var t, n, r, i, s, o = 0;
  4663. if (!this.is_family)
  4664. for (t = 0, n = this.families.length; n > t; t++)
  4665. for (s = this.families[t], r = 0, i = s.behaviors.length; i > r; r++) {
  4666. if (e === s.behaviors[r].name) return this.extra.lastBehIndex = o, s.behaviors[r];
  4667. o++
  4668. }
  4669. for (t = 0, n = this.behaviors.length; n > t; t++) {
  4670. if (e === this.behaviors[t].name) return this.extra.lastBehIndex = o, this.behaviors[t];
  4671. o++
  4672. }
  4673. return null
  4674. }, cr.type_getBehaviorIndexByName = function(e) {
  4675. var t = this.getBehaviorByName(e);
  4676. return t ? this.extra.lastBehIndex : -1
  4677. }, cr.type_getEffectIndexByName = function(e) {
  4678. var t, n;
  4679. for (t = 0, n = this.effect_types.length; n > t; t++)
  4680. if (this.effect_types[t].name === e) return t;
  4681. return -1
  4682. }, cr.type_applySolToContainer = function() {
  4683. if (this.is_contained && !this.is_family) {
  4684. var e, t, n, r, i, s, o;
  4685. this.updateIIDs(), s = this.getCurrentSol();
  4686. var u = s.select_all,
  4687. a = this.runtime.getCurrentEventStack(),
  4688. f = a && a.current_event && a.current_event.orblock;
  4689. for (e = 0, t = this.container.length; t > e; e++)
  4690. if (i = this.container[e], i !== this && (i.updateIIDs(), o = i.getCurrentSol(), o.select_all = u, !u)) {
  4691. for (o.instances.length = s.instances.length, n = 0, r = s.instances.length; r > n; n++) o.instances[n] = i.getInstanceByIID(s.instances[n].iid);
  4692. if (f)
  4693. for (o.else_instances.length = s.else_instances.length, n = 0, r = s.else_instances.length; r > n; n++) o.else_instances[n] = i.getInstanceByIID(s.else_instances[n].iid)
  4694. }
  4695. }
  4696. }, cr.type_toString = function() {
  4697. return "Type" + this.sid
  4698. }, cr.do_cmp = function(e, t, n) {
  4699. if ("undefined" == typeof e || "undefined" == typeof n) return !1;
  4700. switch (t) {
  4701. case 0:
  4702. return e === n;
  4703. case 1:
  4704. return e !== n;
  4705. case 2:
  4706. return n > e;
  4707. case 3:
  4708. return n >= e;
  4709. case 4:
  4710. return e > n;
  4711. case 5:
  4712. return e >= n;
  4713. default:
  4714. return !1
  4715. }
  4716. }
  4717. }(), cr.shaders = {}, cr.plugins_.Audio = function(e) {
  4718. this.runtime = e
  4719. },
  4720. function() {
  4721. function e(e) {
  4722. var t = n(e);
  4723. return 0 > t && (t = 0), t > 1 && (t = 1), t
  4724. }
  4725. function t(e) {
  4726. return 0 > e && (e = 0), e > 1 && (e = 1), r(e)
  4727. }
  4728. function n(e) {
  4729. return Math.pow(10, e / 20)
  4730. }
  4731. function r(e) {
  4732. return Math.log(e) / Math.log(10) * 20
  4733. }
  4734. function i(e) {
  4735. return e = e.toLowerCase(), lt.hasOwnProperty(e) && lt[e].length ? lt[e][0].getInputNode() : X.destination
  4736. }
  4737. function s() {
  4738. return X.createGain ? X.createGain() : X.createGainNode()
  4739. }
  4740. function o(e) {
  4741. return X.createDelay ? X.createDelay(e) : X.createDelayNode(e)
  4742. }
  4743. function u(e) {
  4744. e.start ? e.start(0) : e.noteOn(0)
  4745. }
  4746. function a(e, t, n) {
  4747. e.start ? e.start(0, t) : e.noteGrainOn(0, t, n - t)
  4748. }
  4749. function f(e) {
  4750. try {
  4751. e.stop ? e.stop(0) : e.noteOff(0)
  4752. } catch (t) {}
  4753. }
  4754. function l(e, t, n, r) {
  4755. if (e) {
  4756. if (e.cancelScheduledValues(0), 0 === r) return void(e.value = t);
  4757. var i = X.currentTime;
  4758. switch (r += i, n) {
  4759. case 0:
  4760. e.setValueAtTime(t, r);
  4761. break;
  4762. case 1:
  4763. e.setValueAtTime(e.value, i), e.linearRampToValueAtTime(t, r);
  4764. break;
  4765. case 2:
  4766. e.setValueAtTime(e.value, i), e.exponentialRampToValueAtTime(t, r)
  4767. }
  4768. }
  4769. }
  4770. function c(e, t, n, r, i, o) {
  4771. this.type = "filter", this.params = [e, t, n, r, i, o], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = o, this.dryNode = s(), this.dryNode.gain.value = 1 - o, this.filterNode = X.createBiquadFilter(), this.filterNode.type = "number" == typeof this.filterNode.type ? e : ct[e], this.filterNode.frequency.value = t, this.filterNode.detune && (this.filterNode.detune.value = n), this.filterNode.Q.value = r, this.filterNode.gain.value = i, this.inputNode.connect(this.filterNode), this.inputNode.connect(this.dryNode), this.filterNode.connect(this.wetNode)
  4772. }
  4773. function h(e, t, n) {
  4774. this.type = "delay", this.params = [e, t, n], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = n, this.dryNode = s(), this.dryNode.gain.value = 1 - n, this.mainNode = s(), this.delayNode = o(e), this.delayNode.delayTime.value = e, this.delayGainNode = s(), this.delayGainNode.gain.value = t, this.inputNode.connect(this.mainNode), this.inputNode.connect(this.dryNode), this.mainNode.connect(this.wetNode), this.mainNode.connect(this.delayNode), this.delayNode.connect(this.delayGainNode), this.delayGainNode.connect(this.mainNode)
  4775. }
  4776. function p(e, t, n, r) {
  4777. this.type = "convolve", this.params = [t, n, r], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = n, this.dryNode = s(), this.dryNode.gain.value = 1 - n, this.convolveNode = X.createConvolver(), e && (this.convolveNode.normalize = t, this.convolveNode.buffer = e), this.inputNode.connect(this.convolveNode), this.inputNode.connect(this.dryNode), this.convolveNode.connect(this.wetNode)
  4778. }
  4779. function d(e, t, n, r, i) {
  4780. this.type = "flanger", this.params = [e, t, n, r, i], this.inputNode = s(), this.dryNode = s(), this.dryNode.gain.value = 1 - i / 2, this.wetNode = s(), this.wetNode.gain.value = i / 2, this.feedbackNode = s(), this.feedbackNode.gain.value = r, this.delayNode = o(e + t), this.delayNode.delayTime.value = e, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = n, this.oscGainNode = s(), this.oscGainNode.gain.value = t, this.inputNode.connect(this.delayNode), this.inputNode.connect(this.dryNode), this.delayNode.connect(this.wetNode), this.delayNode.connect(this.feedbackNode), this.feedbackNode.connect(this.delayNode), this.oscNode.connect(this.oscGainNode), this.oscGainNode.connect(this.delayNode.delayTime), u(this.oscNode)
  4781. }
  4782. function v(e, t, n, r, i, o) {
  4783. this.type = "phaser", this.params = [e, t, n, r, i, o], this.inputNode = s(), this.dryNode = s(), this.dryNode.gain.value = 1 - o / 2, this.wetNode = s(), this.wetNode.gain.value = o / 2, this.filterNode = X.createBiquadFilter(), this.filterNode.type = "number" == typeof this.filterNode.type ? 7 : "allpass", this.filterNode.frequency.value = e, this.filterNode.detune && (this.filterNode.detune.value = t), this.filterNode.Q.value = n, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = i, this.oscGainNode = s(), this.oscGainNode.gain.value = r, this.inputNode.connect(this.filterNode), this.inputNode.connect(this.dryNode), this.filterNode.connect(this.wetNode), this.oscNode.connect(this.oscGainNode), this.oscGainNode.connect(this.filterNode.frequency), u(this.oscNode)
  4784. }
  4785. function m(e) {
  4786. this.type = "gain", this.params = [e], this.node = s(), this.node.gain.value = e
  4787. }
  4788. function g(e, t) {
  4789. this.type = "tremolo", this.params = [e, t], this.node = s(), this.node.gain.value = 1 - t / 2, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = e, this.oscGainNode = s(), this.oscGainNode.gain.value = t / 2, this.oscNode.connect(this.oscGainNode), this.oscGainNode.connect(this.node.gain), u(this.oscNode)
  4790. }
  4791. function y(e, t) {
  4792. this.type = "ringmod", this.params = [e, t], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = t, this.dryNode = s(), this.dryNode.gain.value = 1 - t, this.ringNode = s(), this.ringNode.gain.value = 0, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = e, this.oscNode.connect(this.ringNode.gain), u(this.oscNode), this.inputNode.connect(this.ringNode), this.inputNode.connect(this.dryNode), this.ringNode.connect(this.wetNode)
  4793. }
  4794. function b(e, t, r, i, o) {
  4795. this.type = "distortion", this.params = [e, t, r, i, o], this.inputNode = s(), this.preGain = s(), this.postGain = s(), this.setDrive(r, n(i)), this.wetNode = s(), this.wetNode.gain.value = o, this.dryNode = s(), this.dryNode.gain.value = 1 - o, this.waveShaper = X.createWaveShaper(), this.curve = new Float32Array(65536), this.generateColortouchCurve(e, t), this.waveShaper.curve = this.curve, this.inputNode.connect(this.preGain), this.inputNode.connect(this.dryNode), this.preGain.connect(this.waveShaper), this.waveShaper.connect(this.postGain), this.postGain.connect(this.wetNode)
  4796. }
  4797. function w(e, t) {
  4798. return 1 - Math.exp(-t * e)
  4799. }
  4800. function E(e, t, n, r, i) {
  4801. this.type = "compressor", this.params = [e, t, n, r, i], this.node = X.createDynamicsCompressor();
  4802. try {
  4803. this.node.threshold.value = e, this.node.knee.value = t, this.node.ratio.value = n, this.node.attack.value = r, this.node.release.value = i
  4804. } catch (s) {}
  4805. }
  4806. function S(e, t) {
  4807. this.type = "analyser", this.params = [e, t], this.node = X.createAnalyser(), this.node.fftSize = e, this.node.smoothingTimeConstant = t, this.freqBins = new Float32Array(this.node.frequencyBinCount), this.signal = new Uint8Array(e), this.peak = 0, this.rms = 0
  4808. }
  4809. function x() {
  4810. this.obj = null, this.loadUid = 0, this.speeds = [], this.lastX = 0, this.lastY = 0, this.moveAngle = 0
  4811. }
  4812. function T(e, t) {
  4813. this.src = e, this.myapi = W, this.is_music = t, this.added_end_listener = !1;
  4814. var n = this;
  4815. this.outNode = null, this.mediaSourceNode = null, this.panWhenReady = [], this.seekWhenReady = 0, this.pauseWhenReady = !1, this.supportWebAudioAPI = !1, this.failedToLoad = !1, W === R && t && (this.myapi = q, this.outNode = s()), this.bufferObject = null, this.audioData = null;
  4816. var r;
  4817. switch (this.myapi) {
  4818. case q:
  4819. this.bufferObject = new Audio, W !== R || !X.createMediaElementSource || B.isFirefox || /wiiu/i.test(navigator.userAgent) || (this.supportWebAudioAPI = !0, this.bufferObject.addEventListener("canplay", function() {
  4820. n.mediaSourceNode || (n.mediaSourceNode = X.createMediaElementSource(n.bufferObject), n.mediaSourceNode.connect(n.outNode))
  4821. })), this.bufferObject.autoplay = !1, this.bufferObject.preload = "auto", this.bufferObject.src = e;
  4822. break;
  4823. case R:
  4824. r = new XMLHttpRequest, r.open("GET", e, !0), r.responseType = "arraybuffer", r.onload = function() {
  4825. n.audioData = r.response, n.decodeAudioBuffer()
  4826. }, r.onerror = function() {
  4827. n.failedToLoad = !0
  4828. }, r.send();
  4829. break;
  4830. case U:
  4831. this.bufferObject = !0;
  4832. break;
  4833. case z:
  4834. this.bufferObject = !0
  4835. }
  4836. }
  4837. function N(e, t) {
  4838. var n = this;
  4839. this.tag = t, this.fresh = !0, this.stopped = !0, this.src = e.src, this.buffer = e, this.myapi = W, this.is_music = e.is_music, this.playbackRate = 1, this.pgended = !0, this.resume_me = !1, this.is_paused = !1, this.resume_position = 0, this.looping = !1, this.is_muted = !1, this.is_silent = !1, this.volume = 1, this.mutevol = 1, this.startTime = B.kahanTime.sum, this.gainNode = null, this.pannerNode = null, this.pannerEnabled = !1, this.objectTracker = null, this.panX = 0, this.panY = 0, this.panAngle = 0, this.panConeInner = 0, this.panConeOuter = 0, this.panConeOuterGain = 0, this.instanceObject = null;
  4840. var r = !1;
  4841. switch (this.myapi !== R || this.buffer.myapi !== q || this.buffer.supportWebAudioAPI || (this.myapi = q), this.myapi) {
  4842. case q:
  4843. this.is_music ? (this.instanceObject = e.bufferObject, r = !e.added_end_listener, e.added_end_listener = !0) : (this.instanceObject = new Audio, this.instanceObject.autoplay = !1, this.instanceObject.src = e.bufferObject.src, r = !0), r && this.instanceObject.addEventListener("ended", function() {
  4844. F = n.tag, n.stopped = !0, B.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, j)
  4845. });
  4846. break;
  4847. case R:
  4848. this.gainNode = s(), this.gainNode.connect(i(t)), this.buffer.myapi === R ? e.bufferObject && (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = e.bufferObject, this.instanceObject.connect(this.gainNode)) : (this.instanceObject = this.buffer.bufferObject, this.buffer.outNode.connect(this.gainNode));
  4849. break;
  4850. case U:
  4851. this.instanceObject = new window.Media(I + this.src, null, null, function(e) {
  4852. e === window.Media.MEDIA_STOPPED && (n.pgended = !0, n.stopped = !0, F = n.tag, B.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, j))
  4853. });
  4854. break;
  4855. case z:
  4856. this.instanceObject = !0
  4857. }
  4858. }
  4859. function C(e, t) {
  4860. var n = e.isPlaying() ? 1 : 0,
  4861. r = t.isPlaying() ? 1 : 0;
  4862. return n === r ? 0 : r > n ? 1 : -1
  4863. }
  4864. function k(e, t) {
  4865. if (gt.length = 0, !e.length) return !J || J.hasEnded() ? void 0 : (gt.length = 1, void(gt[0] = J));
  4866. var n, r, i;
  4867. for (n = 0, r = $.length; r > n; n++) i = $[n], cr.equals_nocase(e, i.tag) && gt.push(i);
  4868. t && gt.sort(C)
  4869. }
  4870. function L(e) {
  4871. var t, n, r, i, s = X.destination;
  4872. if (lt.hasOwnProperty(e) && (r = lt[e], r.length))
  4873. for (s = r[0].getInputNode(), t = 0, n = r.length; n > t; t++) i = r[t], i.connectTo(t + 1 === n ? X.destination : r[t + 1].getInputNode());
  4874. for (k(e), t = 0, n = gt.length; n > t; t++) gt[t].reconnect(s);
  4875. ot && ut === e && (ot.disconnect(), ot.connect(s))
  4876. }
  4877. function A(e, t) {
  4878. lt.hasOwnProperty(e) ? lt[e].push(t) : lt[e] = [t], L(e)
  4879. }
  4880. function O() {}
  4881. function M() {}
  4882. function _() {}
  4883. function D(e, t) {
  4884. var n = null;
  4885. return lt.hasOwnProperty(e) && (n = lt[e]), n && t >= 0 && t < n.length && n[t].freqBins ? n[t] : null
  4886. }
  4887. var P = cr.plugins_.Audio.prototype;
  4888. P.Type = function(e) {
  4889. this.plugin = e, this.runtime = e.runtime
  4890. };
  4891. var H = P.Type.prototype;
  4892. H.onCreate = function() {};
  4893. var B = null,
  4894. j = null,
  4895. F = "",
  4896. I = "",
  4897. q = 0,
  4898. R = 1,
  4899. U = 2,
  4900. z = 3,
  4901. W = q,
  4902. X = null,
  4903. V = [],
  4904. $ = [],
  4905. J = null,
  4906. K = !1,
  4907. Q = 0,
  4908. G = !1,
  4909. Y = 1,
  4910. Z = 0,
  4911. et = 0,
  4912. tt = 1,
  4913. nt = 1,
  4914. rt = 10,
  4915. it = 1e4,
  4916. st = 1,
  4917. ot = null,
  4918. ut = "",
  4919. at = !1,
  4920. ft = [],
  4921. lt = {},
  4922. ct = ["lowpass", "highpass", "bandpass", "lowshelf", "highshelf", "peaking", "notch", "allpass"];
  4923. c.prototype.connectTo = function(e) {
  4924. this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
  4925. }, c.prototype.remove = function() {
  4926. this.inputNode.disconnect(), this.filterNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
  4927. }, c.prototype.getInputNode = function() {
  4928. return this.inputNode
  4929. }, c.prototype.setParam = function(e, t, n, r) {
  4930. switch (e) {
  4931. case 0:
  4932. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[5] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r);
  4933. break;
  4934. case 1:
  4935. this.params[1] = t, l(this.filterNode.frequency, t, n, r);
  4936. break;
  4937. case 2:
  4938. this.params[2] = t, l(this.filterNode.detune, t, n, r);
  4939. break;
  4940. case 3:
  4941. this.params[3] = t, l(this.filterNode.Q, t, n, r);
  4942. break;
  4943. case 4:
  4944. this.params[4] = t, l(this.filterNode.gain, t, n, r)
  4945. }
  4946. }, h.prototype.connectTo = function(e) {
  4947. this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
  4948. }, h.prototype.remove = function() {
  4949. this.inputNode.disconnect(), this.mainNode.disconnect(), this.delayNode.disconnect(), this.delayGainNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
  4950. }, h.prototype.getInputNode = function() {
  4951. return this.inputNode
  4952. }, h.prototype.setParam = function(t, n, r, i) {
  4953. switch (t) {
  4954. case 0:
  4955. n /= 100, 0 > n && (n = 0), n > 1 && (n = 1), this.params[2] = n, l(this.wetNode.gain, n, r, i), l(this.dryNode.gain, 1 - n, r, i);
  4956. break;
  4957. case 4:
  4958. this.params[1] = e(n), l(this.delayGainNode.gain, e(n), r, i);
  4959. break;
  4960. case 5:
  4961. this.params[0] = n, l(this.delayNode.delayTime, n, r, i)
  4962. }
  4963. }, p.prototype.connectTo = function(e) {
  4964. this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
  4965. }, p.prototype.remove = function() {
  4966. this.inputNode.disconnect(), this.convolveNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
  4967. }, p.prototype.getInputNode = function() {
  4968. return this.inputNode
  4969. }, p.prototype.setParam = function(e, t, n, r) {
  4970. switch (e) {
  4971. case 0:
  4972. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[1] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r)
  4973. }
  4974. }, d.prototype.connectTo = function(e) {
  4975. this.dryNode.disconnect(), this.dryNode.connect(e), this.wetNode.disconnect(), this.wetNode.connect(e)
  4976. }, d.prototype.remove = function() {
  4977. this.inputNode.disconnect(), this.delayNode.disconnect(), this.oscNode.disconnect(), this.oscGainNode.disconnect(), this.dryNode.disconnect(), this.wetNode.disconnect(), this.feedbackNode.disconnect()
  4978. }, d.prototype.getInputNode = function() {
  4979. return this.inputNode
  4980. }, d.prototype.setParam = function(e, t, n, r) {
  4981. switch (e) {
  4982. case 0:
  4983. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[4] = t, l(this.wetNode.gain, t / 2, n, r), l(this.dryNode.gain, 1 - t / 2, n, r);
  4984. break;
  4985. case 6:
  4986. this.params[1] = t / 1e3, l(this.oscGainNode.gain, t / 1e3, n, r);
  4987. break;
  4988. case 7:
  4989. this.params[2] = t, l(this.oscNode.frequency, t, n, r);
  4990. break;
  4991. case 8:
  4992. this.params[3] = t / 100, l(this.feedbackNode.gain, t / 100, n, r)
  4993. }
  4994. }, v.prototype.connectTo = function(e) {
  4995. this.dryNode.disconnect(), this.dryNode.connect(e), this.wetNode.disconnect(), this.wetNode.connect(e)
  4996. }, v.prototype.remove = function() {
  4997. this.inputNode.disconnect(), this.filterNode.disconnect(), this.oscNode.disconnect(), this.oscGainNode.disconnect(), this.dryNode.disconnect(), this.wetNode.disconnect()
  4998. }, v.prototype.getInputNode = function() {
  4999. return this.inputNode
  5000. }, v.prototype.setParam = function(e, t, n, r) {
  5001. switch (e) {
  5002. case 0:
  5003. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[5] = t, l(this.wetNode.gain, t / 2, n, r), l(this.dryNode.gain, 1 - t / 2, n, r);
  5004. break;
  5005. case 1:
  5006. this.params[0] = t, l(this.filterNode.frequency, t, n, r);
  5007. break;
  5008. case 2:
  5009. this.params[1] = t, l(this.filterNode.detune, t, n, r);
  5010. break;
  5011. case 3:
  5012. this.params[2] = t, l(this.filterNode.Q, t, n, r);
  5013. break;
  5014. case 6:
  5015. this.params[3] = t, l(this.oscGainNode.gain, t, n, r);
  5016. break;
  5017. case 7:
  5018. this.params[4] = t, l(this.oscNode.frequency, t, n, r)
  5019. }
  5020. }, m.prototype.connectTo = function(e) {
  5021. this.node.disconnect(), this.node.connect(e)
  5022. }, m.prototype.remove = function() {
  5023. this.node.disconnect()
  5024. }, m.prototype.getInputNode = function() {
  5025. return this.node
  5026. }, m.prototype.setParam = function(t, n, r, i) {
  5027. switch (t) {
  5028. case 4:
  5029. this.params[0] = e(n), l(this.node.gain, e(n), r, i)
  5030. }
  5031. }, g.prototype.connectTo = function(e) {
  5032. this.node.disconnect(), this.node.connect(e)
  5033. }, g.prototype.remove = function() {
  5034. this.oscNode.disconnect(), this.oscGainNode.disconnect(), this.node.disconnect()
  5035. }, g.prototype.getInputNode = function() {
  5036. return this.node
  5037. }, g.prototype.setParam = function(e, t, n, r) {
  5038. switch (e) {
  5039. case 0:
  5040. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[1] = t, l(this.node.gain.value, 1 - t / 2, n, r), l(this.oscGainNode.gain.value, t / 2, n, r);
  5041. break;
  5042. case 7:
  5043. this.params[0] = t, l(this.oscNode.frequency, t, n, r)
  5044. }
  5045. }, y.prototype.connectTo = function(e) {
  5046. this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
  5047. }, y.prototype.remove = function() {
  5048. this.oscNode.disconnect(), this.ringNode.disconnect(), this.inputNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
  5049. }, y.prototype.getInputNode = function() {
  5050. return this.inputNode
  5051. }, y.prototype.setParam = function(e, t, n, r) {
  5052. switch (e) {
  5053. case 0:
  5054. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[1] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r);
  5055. break;
  5056. case 7:
  5057. this.params[0] = t, l(this.oscNode.frequency, t, n, r)
  5058. }
  5059. }, b.prototype.setDrive = function(e, t) {.01 > e && (e = .01), this.preGain.gain.value = e, this.postGain.gain.value = Math.pow(1 / e, .6) * t
  5060. }, b.prototype.shape = function(e, t, n) {
  5061. var r = 1.05 * n * t,
  5062. i = r - t,
  5063. s = 0 > e ? -1 : 1,
  5064. o = 0 > e ? -e : e,
  5065. u = t > o ? o : t + i * w(o - t, 1 / i);
  5066. return u *= s
  5067. }, b.prototype.generateColortouchCurve = function(e, t) {
  5068. for (var r = n(e), i = n(t), s = 65536, o = s / 2, u = 0, a = 0; o > a; ++a) u = a / o, u = this.shape(u, r, i), this.curve[o + a] = u, this.curve[o - a - 1] = -u
  5069. }, b.prototype.connectTo = function(e) {
  5070. this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
  5071. }, b.prototype.remove = function() {
  5072. this.inputNode.disconnect(), this.preGain.disconnect(), this.waveShaper.disconnect(), this.postGain.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
  5073. }, b.prototype.getInputNode = function() {
  5074. return this.inputNode
  5075. }, b.prototype.setParam = function(e, t, n, r) {
  5076. switch (e) {
  5077. case 0:
  5078. t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[4] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r)
  5079. }
  5080. }, E.prototype.connectTo = function(e) {
  5081. this.node.disconnect(), this.node.connect(e)
  5082. }, E.prototype.remove = function() {
  5083. this.node.disconnect()
  5084. }, E.prototype.getInputNode = function() {
  5085. return this.node
  5086. }, E.prototype.setParam = function() {}, S.prototype.tick = function() {
  5087. this.node.getFloatFrequencyData(this.freqBins), this.node.getByteTimeDomainData(this.signal);
  5088. var e = this.node.fftSize,
  5089. n = 0;
  5090. this.peak = 0;
  5091. for (var r = 0, i = 0; e > n; n++) i = (this.signal[n] - 128) / 128, 0 > i && (i = -i), this.peak < i && (this.peak = i), r += i * i;
  5092. this.peak = t(this.peak), this.rms = t(Math.sqrt(r / e))
  5093. }, S.prototype.connectTo = function(e) {
  5094. this.node.disconnect(), this.node.connect(e)
  5095. }, S.prototype.remove = function() {
  5096. this.node.disconnect()
  5097. }, S.prototype.getInputNode = function() {
  5098. return this.node
  5099. }, S.prototype.setParam = function() {};
  5100. var ht = 4;
  5101. x.prototype.setObject = function(e) {
  5102. this.obj = e, this.obj && (this.lastX = this.obj.x, this.lastY = this.obj.y), this.speeds.length = 0
  5103. }, x.prototype.hasObject = function() {
  5104. return !!this.obj
  5105. }, x.prototype.tick = function(e) {
  5106. if (this.obj && 0 !== e) {
  5107. this.moveAngle = cr.angleTo(this.lastX, this.lastY, this.obj.x, this.obj.y);
  5108. var t = cr.distanceTo(this.lastX, this.lastY, this.obj.x, this.obj.y) / e;
  5109. this.speeds.length < ht ? this.speeds.push(t) : (this.speeds.shift(), this.speeds.push(t)), this.lastX = this.obj.x, this.lastY = this.obj.y
  5110. }
  5111. }, x.prototype.getSpeed = function() {
  5112. if (!this.speeds.length) return 0;
  5113. var e, t, n = 0;
  5114. for (e = 0, t = this.speeds.length; t > e; e++) n += this.speeds[e];
  5115. return n / this.speeds.length
  5116. }, x.prototype.getVelocityX = function() {
  5117. return Math.cos(this.moveAngle) * this.getSpeed()
  5118. }, x.prototype.getVelocityY = function() {
  5119. return Math.sin(this.moveAngle) * this.getSpeed()
  5120. };
  5121. var pt = !1;
  5122. T.prototype.decodeAudioBuffer = function() {
  5123. if (!this.bufferObject && this.audioData) {
  5124. var e = this;
  5125. if (X.decodeAudioData) X.decodeAudioData(this.audioData, function(t) {
  5126. e.bufferObject = t;
  5127. var n, r, i, s;
  5128. if (cr.is_undefined(e.playTagWhenReady) || G) {
  5129. if (!cr.is_undefined(e.convolveWhenReady)) {
  5130. var o = e.convolveWhenReady.convolveNode;
  5131. o.normalize = e.normalizeWhenReady, o.buffer = t
  5132. }
  5133. } else if (e.panWhenReady.length) {
  5134. for (r = 0, i = e.panWhenReady.length; i > r; r++)
  5135. if (n = e.panWhenReady[r], s = new N(e, n.thistag), s.setPannerEnabled(!0), "undefined" == typeof n.objUid || (n.obj = B.getObjectByUID(n.objUid), n.obj)) {
  5136. if (n.obj) {
  5137. var u = cr.rotatePtAround(n.obj.x, n.obj.y, -n.obj.layer.getAngle(), Z, et, !0),
  5138. a = cr.rotatePtAround(n.obj.x, n.obj.y, -n.obj.layer.getAngle(), Z, et, !1);
  5139. s.setPan(u, a, cr.to_degrees(n.obj.angle - n.obj.layer.getAngle()), n.ia, n.oa, n.og), s.setObject(n.obj)
  5140. } else s.setPan(n.x, n.y, n.a, n.ia, n.oa, n.og);
  5141. s.play(e.loopWhenReady, e.volumeWhenReady, e.seekWhenReady), e.pauseWhenReady && s.pause(), $.push(s)
  5142. }
  5143. e.panWhenReady.length = 0
  5144. } else s = new N(e, e.playTagWhenReady), s.play(e.loopWhenReady, e.volumeWhenReady, e.seekWhenReady), e.pauseWhenReady && s.pause(), $.push(s)
  5145. }, function() {
  5146. e.failedToLoad = !0
  5147. });
  5148. else if (this.bufferObject = X.createBuffer(this.audioData, !1), cr.is_undefined(this.playTagWhenReady) || G) {
  5149. if (!cr.is_undefined(this.convolveWhenReady)) {
  5150. var t = this.convolveWhenReady.convolveNode;
  5151. t.normalize = this.normalizeWhenReady, t.buffer = this.bufferObject
  5152. }
  5153. } else {
  5154. var n = new N(this, this.playTagWhenReady);
  5155. n.play(this.loopWhenReady, this.volumeWhenReady, this.seekWhenReady), this.pauseWhenReady && n.pause(), $.push(n)
  5156. }
  5157. }
  5158. }, T.prototype.isLoaded = function() {
  5159. switch (this.myapi) {
  5160. case q:
  5161. return this.bufferObject.readyState >= 4;
  5162. case R:
  5163. return !!this.audioData;
  5164. case U:
  5165. return !0;
  5166. case z:
  5167. return !0
  5168. }
  5169. return !1
  5170. }, T.prototype.isLoadedAndDecoded = function() {
  5171. switch (this.myapi) {
  5172. case q:
  5173. return this.bufferObject.readyState >= 4;
  5174. case R:
  5175. return !!this.audioData && !!this.bufferObject;
  5176. case U:
  5177. return !0;
  5178. case z:
  5179. return !0
  5180. }
  5181. return !1
  5182. }, T.prototype.hasFailedToLoad = function() {
  5183. switch (this.myapi) {
  5184. case q:
  5185. return !!this.bufferObject.error;
  5186. case R:
  5187. return this.failedToLoad
  5188. }
  5189. return !1
  5190. }, N.prototype.hasEnded = function() {
  5191. switch (this.myapi) {
  5192. case q:
  5193. return this.instanceObject.ended;
  5194. case R:
  5195. return this.buffer.myapi === R ? this.fresh || this.stopped || !this.instanceObject.loop ? this.is_paused ? !1 : B.kahanTime.sum - this.startTime > this.buffer.bufferObject.duration : !1 : this.instanceObject.ended;
  5196. case U:
  5197. return this.pgended;
  5198. case z:
  5199. }
  5200. return !0
  5201. }, N.prototype.canBeRecycled = function() {
  5202. return this.fresh || this.stopped ? !0 : this.hasEnded()
  5203. }, N.prototype.setPannerEnabled = function(e) {
  5204. if (W === R)
  5205. if (!this.pannerEnabled && e) {
  5206. if (!this.gainNode) return;
  5207. this.pannerNode || (this.pannerNode = X.createPanner(), this.pannerNode.panningModel = "number" == typeof this.pannerNode.panningModel ? tt : ["equalpower", "HRTF", "soundfield"][tt], this.pannerNode.distanceModel = "number" == typeof this.pannerNode.distanceModel ? nt : ["linear", "inverse", "exponential"][nt], this.pannerNode.refDistance = rt, this.pannerNode.maxDistance = it, this.pannerNode.rolloffFactor = st), this.gainNode.disconnect(), this.gainNode.connect(this.pannerNode), this.pannerNode.connect(i(this.tag)), this.pannerEnabled = !0
  5208. } else if (this.pannerEnabled && !e) {
  5209. if (!this.gainNode) return;
  5210. this.pannerNode.disconnect(), this.gainNode.disconnect(), this.gainNode.connect(i(this.tag)), this.pannerEnabled = !1
  5211. }
  5212. }, N.prototype.setPan = function(e, t, n, r, i, s) {
  5213. this.pannerEnabled && W === R && (this.pannerNode.setPosition(e, t, 0), this.pannerNode.setOrientation(Math.cos(cr.to_radians(n)), Math.sin(cr.to_radians(n)), 0), this.pannerNode.coneInnerAngle = r, this.pannerNode.coneOuterAngle = i, this.pannerNode.coneOuterGain = s, this.panX = e, this.panY = t, this.panAngle = n, this.panConeInner = r, this.panConeOuter = i, this.panConeOuterGain = s)
  5214. }, N.prototype.setObject = function(e) {
  5215. this.pannerEnabled && W === R && (this.objectTracker || (this.objectTracker = new x), this.objectTracker.setObject(e))
  5216. }, N.prototype.tick = function(e) {
  5217. if (this.pannerEnabled && W === R && this.objectTracker && this.objectTracker.hasObject() && this.isPlaying()) {
  5218. this.objectTracker.tick(e);
  5219. var t = this.objectTracker.obj,
  5220. n = cr.rotatePtAround(t.x, t.y, -t.layer.getAngle(), Z, et, !0),
  5221. r = cr.rotatePtAround(t.x, t.y, -t.layer.getAngle(), Z, et, !1);
  5222. this.pannerNode.setPosition(n, r, 0);
  5223. var i = 0;
  5224. "undefined" != typeof this.objectTracker.obj.angle && (i = t.angle - t.layer.getAngle(), this.pannerNode.setOrientation(Math.cos(i), Math.sin(i), 0)), n = cr.rotatePtAround(this.objectTracker.getVelocityX(), this.objectTracker.getVelocityY(), -t.layer.getAngle(), 0, 0, !0), r = cr.rotatePtAround(this.objectTracker.getVelocityX(), this.objectTracker.getVelocityY(), -t.layer.getAngle(), 0, 0, !1), this.pannerNode.setVelocity(n, r, 0)
  5225. }
  5226. }, N.prototype.play = function(e, t, n) {
  5227. var r = this.instanceObject;
  5228. this.looping = e, this.volume = t;
  5229. var i = n || 0;
  5230. switch (this.myapi) {
  5231. case q:
  5232. if (1 !== r.playbackRate && (r.playbackRate = 1), r.volume !== t * Y && (r.volume = t * Y), r.loop !== e && (r.loop = e), r.muted && (r.muted = !1), r.currentTime !== i) try {
  5233. r.currentTime = i
  5234. } catch (s) {}
  5235. if (this.is_music && at && !B.isInUserInputEvent) ft.push(this);
  5236. else try {
  5237. this.instanceObject.play()
  5238. } catch (o) {}
  5239. break;
  5240. case R:
  5241. if (this.muted = !1, this.mutevol = 1, this.buffer.myapi === R) this.fresh || (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = this.buffer.bufferObject, this.instanceObject.connect(this.gainNode)), this.instanceObject.loop = e, this.gainNode.gain.value = t * Y, 0 === i ? u(this.instanceObject) : a(this.instanceObject, i, this.getDuration());
  5242. else {
  5243. if (1 !== r.playbackRate && (r.playbackRate = 1), r.loop !== e && (r.loop = e), this.gainNode.gain.value = t * Y, r.currentTime !== i) try {
  5244. r.currentTime = i
  5245. } catch (s) {}
  5246. this.is_music && at && !B.isInUserInputEvent ? ft.push(this) : r.play()
  5247. }
  5248. break;
  5249. case U:
  5250. (!this.fresh && this.stopped || 0 !== i) && r.seekTo(i), r.play(), this.pgended = !1;
  5251. break;
  5252. case z:
  5253. B.isDirectCanvas ? AppMobi.context.playSound(this.src, e) : AppMobi.player.playSound(this.src, e)
  5254. }
  5255. this.playbackRate = 1, this.startTime = B.kahanTime.sum - i, this.fresh = !1, this.stopped = !1, this.is_paused = !1
  5256. }, N.prototype.stop = function() {
  5257. switch (this.myapi) {
  5258. case q:
  5259. this.instanceObject.paused || this.instanceObject.pause();
  5260. break;
  5261. case R:
  5262. this.buffer.myapi === R ? f(this.instanceObject) : this.instanceObject.paused || this.instanceObject.pause();
  5263. break;
  5264. case U:
  5265. this.instanceObject.stop();
  5266. break;
  5267. case z:
  5268. B.isDirectCanvas && AppMobi.context.stopSound(this.src)
  5269. }
  5270. this.stopped = !0, this.is_paused = !1
  5271. }, N.prototype.pause = function() {
  5272. if (!(this.fresh || this.stopped || this.hasEnded() || this.is_paused)) {
  5273. switch (this.myapi) {
  5274. case q:
  5275. this.instanceObject.paused || this.instanceObject.pause();
  5276. break;
  5277. case R:
  5278. this.buffer.myapi === R ? (this.resume_position = this.getPlaybackTime(), this.looping && (this.resume_position = this.resume_position % this.getDuration()), f(this.instanceObject)) : this.instanceObject.paused || this.instanceObject.pause();
  5279. break;
  5280. case U:
  5281. this.instanceObject.pause();
  5282. break;
  5283. case z:
  5284. B.isDirectCanvas && AppMobi.context.stopSound(this.src)
  5285. }
  5286. this.is_paused = !0
  5287. }
  5288. }, N.prototype.resume = function() {
  5289. if (!(this.fresh || this.stopped || this.hasEnded()) && this.is_paused) {
  5290. switch (this.myapi) {
  5291. case q:
  5292. this.instanceObject.play();
  5293. break;
  5294. case R:
  5295. this.buffer.myapi === R ? (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = this.buffer.bufferObject, this.instanceObject.connect(this.gainNode), this.instanceObject.loop = this.looping, this.gainNode.gain.value = Y * this.volume * this.mutevol, this.startTime = B.kahanTime.sum - this.resume_position, a(this.instanceObject, this.resume_position, this.getDuration())) : this.instanceObject.play();
  5296. break;
  5297. case U:
  5298. this.instanceObject.play();
  5299. break;
  5300. case z:
  5301. B.isDirectCanvas && AppMobi.context.resumeSound(this.src)
  5302. }
  5303. this.is_paused = !1
  5304. }
  5305. }, N.prototype.seek = function(e) {
  5306. if (!(this.fresh || this.stopped || this.hasEnded())) switch (this.myapi) {
  5307. case q:
  5308. try {
  5309. this.instanceObject.currentTime = e
  5310. } catch (t) {}
  5311. break;
  5312. case R:
  5313. if (this.buffer.myapi === R) this.is_paused ? this.resume_position = e : (this.pause(), this.resume_position = e, this.resume());
  5314. else try {
  5315. this.instanceObject.currentTime = e
  5316. } catch (t) {}
  5317. break;
  5318. case U:
  5319. break;
  5320. case z:
  5321. B.isDirectCanvas && AppMobi.context.seekSound(this.src, e)
  5322. }
  5323. }, N.prototype.reconnect = function(e) {
  5324. this.myapi === R && (this.pannerEnabled ? (this.pannerNode.disconnect(), this.pannerNode.connect(e)) : (this.gainNode.disconnect(), this.gainNode.connect(e)))
  5325. }, N.prototype.getDuration = function() {
  5326. switch (this.myapi) {
  5327. case q:
  5328. return "undefined" != typeof this.instanceObject.duration ? this.instanceObject.duration : 0;
  5329. case R:
  5330. return this.buffer.bufferObject.duration;
  5331. case U:
  5332. return this.instanceObject.getDuration();
  5333. case z:
  5334. return B.isDirectCanvas ? AppMobi.context.getDurationSound(this.src) : 0
  5335. }
  5336. return 0
  5337. }, N.prototype.getPlaybackTime = function() {
  5338. var e = this.getDuration(),
  5339. t = 0;
  5340. switch (this.myapi) {
  5341. case q:
  5342. "undefined" != typeof this.instanceObject.currentTime && (t = this.instanceObject.currentTime);
  5343. break;
  5344. case R:
  5345. if (this.buffer.myapi === R) {
  5346. if (this.is_paused) return this.resume_position;
  5347. t = B.kahanTime.sum - this.startTime
  5348. } else "undefined" != typeof this.instanceObject.currentTime && (t = this.instanceObject.currentTime);
  5349. break;
  5350. case U:
  5351. break;
  5352. case z:
  5353. B.isDirectCanvas && (t = AppMobi.context.getPlaybackTimeSound(this.src))
  5354. }
  5355. return !this.looping && t > e && (t = e), t
  5356. }, N.prototype.isPlaying = function() {
  5357. return !(this.is_paused || this.fresh || this.stopped || this.hasEnded())
  5358. }, N.prototype.setVolume = function(e) {
  5359. this.volume = e, this.updateVolume()
  5360. }, N.prototype.updateVolume = function() {
  5361. var e = this.volume * Y;
  5362. switch (this.myapi) {
  5363. case q:
  5364. this.instanceObject.volume && this.instanceObject.volume !== e && (this.instanceObject.volume = e);
  5365. break;
  5366. case R:
  5367. this.gainNode.gain.value = e * this.mutevol;
  5368. break;
  5369. case U:
  5370. break;
  5371. case z:
  5372. }
  5373. }, N.prototype.getVolume = function() {
  5374. return this.volume
  5375. }, N.prototype.doSetMuted = function(e) {
  5376. switch (this.myapi) {
  5377. case q:
  5378. this.instanceObject.muted !== !!e && (this.instanceObject.muted = !!e);
  5379. break;
  5380. case R:
  5381. this.mutevol = e ? 0 : 1, this.gainNode.gain.value = Y * this.volume * this.mutevol;
  5382. break;
  5383. case U:
  5384. break;
  5385. case z:
  5386. }
  5387. }, N.prototype.setMuted = function(e) {
  5388. this.is_muted = !!e, this.doSetMuted(this.is_muted || this.is_silent)
  5389. }, N.prototype.setSilent = function(e) {
  5390. this.is_silent = !!e, this.doSetMuted(this.is_muted || this.is_silent)
  5391. }, N.prototype.setLooping = function(e) {
  5392. switch (this.looping = e, this.myapi) {
  5393. case q:
  5394. this.instanceObject.loop !== !!e && (this.instanceObject.loop = !!e);
  5395. break;
  5396. case R:
  5397. this.instanceObject.loop !== !!e && (this.instanceObject.loop = !!e);
  5398. break;
  5399. case U:
  5400. break;
  5401. case z:
  5402. B.isDirectCanvas && AppMobi.context.setLoopingSound(this.src, e)
  5403. }
  5404. }, N.prototype.setPlaybackRate = function(e) {
  5405. this.playbackRate = e, this.updatePlaybackRate()
  5406. }, N.prototype.updatePlaybackRate = function() {
  5407. var e = this.playbackRate;
  5408. switch ((1 === Q && !this.is_music || 2 === Q) && (e *= B.timescale), this.myapi) {
  5409. case q:
  5410. this.instanceObject.playbackRate !== e && (this.instanceObject.playbackRate = e);
  5411. break;
  5412. case R:
  5413. this.buffer.myapi === R ? this.instanceObject.playbackRate.value !== e && (this.instanceObject.playbackRate.value = e) : this.instanceObject.playbackRate !== e && (this.instanceObject.playbackRate = e);
  5414. break;
  5415. case U:
  5416. break;
  5417. case z:
  5418. }
  5419. }, N.prototype.setSuspended = function(e) {
  5420. switch (this.myapi) {
  5421. case q:
  5422. e ? this.isPlaying() ? (this.instanceObject.pause(), this.resume_me = !0) : this.resume_me = !1 : this.resume_me && this.instanceObject.play();
  5423. break;
  5424. case R:
  5425. e ? this.isPlaying() ? (this.buffer.myapi === R ? (this.resume_position = this.getPlaybackTime(), this.looping && (this.resume_position = this.resume_position % this.getDuration()), f(this.instanceObject)) : this.instanceObject.pause(), this.resume_me = !0) : this.resume_me = !1 : this.resume_me && (this.buffer.myapi === R ? (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = this.buffer.bufferObject, this.instanceObject.connect(this.gainNode), this.instanceObject.loop = this.looping, this.gainNode.gain.value = Y * this.volume * this.mutevol, this.startTime = B.kahanTime.sum - this.resume_position, a(this.instanceObject, this.resume_position, this.getDuration())) : this.instanceObject.play());
  5426. break;
  5427. case U:
  5428. e ? this.isPlaying() ? (this.instanceObject.pause(), this.resume_me = !0) : this.resume_me = !1 : this.resume_me && this.instanceObject.play();
  5429. break;
  5430. case z:
  5431. }
  5432. }, P.Instance = function(e) {
  5433. if (this.type = e, this.runtime = e.runtime, B = this.runtime, j = this, this.listenerTracker = null, this.listenerZ = -600, !(this.runtime.isiOS || this.runtime.isAndroid && (this.runtime.isChrome || this.runtime.isAndroidStockBrowser)) || this.runtime.isCrosswalk || this.runtime.isDomFree || (at = !0), X = null, "undefined" != typeof AudioContext ? (W = R, X = new AudioContext) : "undefined" != typeof webkitAudioContext && (W = R, X = new webkitAudioContext), (this.runtime.isiOS && W === R || at) && document.addEventListener("touchstart", function() {
  5434. var e, t, n;
  5435. if (!pt && X) {
  5436. var r = X.createBuffer(1, 1, 22050),
  5437. i = X.createBufferSource();
  5438. i.buffer = r, i.connect(X.destination), u(i), pt = !0
  5439. }
  5440. if (at) {
  5441. if (!G)
  5442. for (e = 0, t = ft.length; t > e; ++e) n = ft[e], n.stopped || n.is_paused || n.instanceObject.play();
  5443. ft.length = 0
  5444. }
  5445. }, !0), W !== R && (this.runtime.isPhoneGap && "undefined" != typeof window.Media ? W = U : this.runtime.isAppMobi && (W = z)), W === U) {
  5446. I = location.href;
  5447. var t = I.lastIndexOf("/");
  5448. t > -1 && (I = I.substr(0, t + 1)), I = I.replace("file://", "")
  5449. }
  5450. if (this.runtime.isSafari && this.runtime.isWindows && "undefined" == typeof Audio) alert("It looks like you're using Safari for Windows without Quicktime. Audio cannot be played until Quicktime is installed."), this.runtime.DestroyInstance(this);
  5451. else {
  5452. if (this.runtime.isDirectCanvas) K = this.runtime.isAndroid;
  5453. else try {
  5454. K = !!(new Audio).canPlayType('audio/ogg; codecs="vorbis"')
  5455. } catch (n) {
  5456. K = !1
  5457. }
  5458. switch (W) {
  5459. case q:
  5460. break;
  5461. case R:
  5462. break;
  5463. case U:
  5464. break;
  5465. case z:
  5466. }
  5467. this.runtime.tickMe(this)
  5468. }
  5469. };
  5470. var dt = P.Instance.prototype;
  5471. dt.onCreate = function() {
  5472. this.runtime.audioInstance = this, Q = this.properties[0], this.saveload = this.properties[1], tt = this.properties[2], nt = this.properties[3], this.listenerZ = -this.properties[4], rt = this.properties[5], it = this.properties[6], st = this.properties[7], this.listenerTracker = new x, W === R && (X.listener.speedOfSound = this.properties[8], X.listener.dopplerFactor = this.properties[9], X.listener.setPosition(this.runtime.draw_width / 2, this.runtime.draw_height / 2, this.listenerZ), X.listener.setOrientation(0, 0, 1, 0, -1, 0), window.c2OnAudioMicStream = function(e, t) {
  5473. ot && ot.disconnect(), ut = t.toLowerCase(), ot = X.createMediaStreamSource(e), ot.connect(i(ut))
  5474. }), this.runtime.addSuspendCallback(function(e) {
  5475. j.onSuspend(e)
  5476. });
  5477. var e = this;
  5478. this.runtime.addDestroyCallback(function(t) {
  5479. e.onInstanceDestroyed(t)
  5480. })
  5481. }, dt.onInstanceDestroyed = function(e) {
  5482. var t, n, r;
  5483. for (t = 0, n = $.length; n > t; t++) r = $[t], r.objectTracker && r.objectTracker.obj === e && (r.objectTracker.obj = null, r.pannerEnabled && r.isPlaying() && r.looping && r.stop());
  5484. this.listenerTracker.obj === e && (this.listenerTracker.obj = null)
  5485. }, dt.saveToJSON = function() {
  5486. var e, t, n, r, i, s, o, u = {
  5487. silent: G,
  5488. masterVolume: Y,
  5489. listenerZ: this.listenerZ,
  5490. listenerUid: this.listenerTracker.hasObject() ? this.listenerTracker.obj.uid : -1,
  5491. playing: [],
  5492. effects: {}
  5493. },
  5494. a = u.playing;
  5495. for (e = 0, t = $.length; t > e; e++) n = $[e], n.isPlaying() && 3 !== this.saveload && (n.is_music && 1 === this.saveload || (n.is_music || 2 !== this.saveload) && (o = n.getPlaybackTime(), n.looping && (o %= n.getDuration()), r = {
  5496. tag: n.tag,
  5497. buffersrc: n.buffer.src,
  5498. is_music: n.is_music,
  5499. playbackTime: o,
  5500. volume: n.volume,
  5501. looping: n.looping,
  5502. muted: n.is_muted,
  5503. playbackRate: n.playbackRate,
  5504. paused: n.is_paused,
  5505. resume_position: n.resume_position
  5506. }, n.pannerEnabled && (r.pan = {}, s = r.pan, n.objectTracker && n.objectTracker.hasObject() ? s.objUid = n.objectTracker.obj.uid : (s.x = n.panX, s.y = n.panY, s.a = n.panAngle), s.ia = n.panConeInner, s.oa = n.panConeOuter, s.og = n.panConeOuterGain), a.push(r)));
  5507. var f, l = u.effects;
  5508. for (i in lt)
  5509. if (lt.hasOwnProperty(i)) {
  5510. for (f = [], e = 0, t = lt[i].length; t > e; e++) f.push({
  5511. type: lt[i][e].type,
  5512. params: lt[i][e].params
  5513. });
  5514. l[i] = f
  5515. }
  5516. return u
  5517. };
  5518. var vt = [];
  5519. dt.loadFromJSON = function(e) {
  5520. var t = e.silent;
  5521. Y = e.masterVolume, this.listenerZ = e.listenerZ, this.listenerTracker.setObject(null);
  5522. var n = e.listenerUid; - 1 !== n && (this.listenerTracker.loadUid = n, vt.push(this.listenerTracker));
  5523. var r, i, s, o, u, a, f, l, w, T, N, C, k, L, O = e.playing;
  5524. if (3 !== this.saveload)
  5525. for (r = 0, i = $.length; i > r; r++) N = $[r], N.is_music && 1 === this.saveload || (N.is_music || 2 !== this.saveload) && N.stop();
  5526. var M, _, D, P;
  5527. for (C in lt)
  5528. if (lt.hasOwnProperty(C))
  5529. for (r = 0, i = lt[C].length; i > r; r++) lt[C][r].remove();
  5530. cr.wipe(lt);
  5531. for (C in e.effects)
  5532. if (e.effects.hasOwnProperty(C))
  5533. for (M = e.effects[C], r = 0, i = M.length; i > r; r++) switch (_ = M[r].type, D = M[r].params, _) {
  5534. case "filter":
  5535. A(C, new c(D[0], D[1], D[2], D[3], D[4], D[5]));
  5536. break;
  5537. case "delay":
  5538. A(C, new h(D[0], D[1], D[2]));
  5539. break;
  5540. case "convolve":
  5541. o = D[2], T = this.getAudioBuffer(o, !1), T.bufferObject ? P = new p(T.bufferObject, D[0], D[1], o) : (P = new p(null, D[0], D[1], o), T.normalizeWhenReady = D[0], T.convolveWhenReady = P), A(C, P);
  5542. break;
  5543. case "flanger":
  5544. A(C, new d(D[0], D[1], D[2], D[3], D[4]));
  5545. break;
  5546. case "phaser":
  5547. A(C, new v(D[0], D[1], D[2], D[3], D[4], D[5]));
  5548. break;
  5549. case "gain":
  5550. A(C, new m(D[0]));
  5551. break;
  5552. case "tremolo":
  5553. A(C, new g(D[0], D[1]));
  5554. break;
  5555. case "ringmod":
  5556. A(C, new y(D[0], D[1]));
  5557. break;
  5558. case "distortion":
  5559. A(C, new b(D[0], D[1], D[2], D[3], D[4]));
  5560. break;
  5561. case "compressor":
  5562. A(C, new E(D[0], D[1], D[2], D[3], D[4]));
  5563. break;
  5564. case "analyser":
  5565. A(C, new S(D[0], D[1]))
  5566. }
  5567. for (r = 0, i = O.length; i > r; r++) 3 !== this.saveload && (s = O[r], o = s.buffersrc, u = s.is_music, a = s.tag, f = s.playbackTime, l = s.looping, w = s.volume, k = s.pan, L = k && k.hasOwnProperty("objUid") ? k.objUid : -1, u && 1 === this.saveload || (u || 2 !== this.saveload) && (N = this.getAudioInstance(o, a, u, l, w), N ? (N.resume_position = s.resume_position, N.setPannerEnabled(!!k), N.play(l, w, f), N.updatePlaybackRate(), N.updateVolume(), N.doSetMuted(N.is_muted || N.is_silent), s.paused && N.pause(), s.muted && N.setMuted(!0), N.doSetMuted(N.is_muted || N.is_silent), k && (-1 !== L ? (N.objectTracker = N.objectTracker || new x, N.objectTracker.loadUid = L, vt.push(N.objectTracker)) : N.setPan(k.x, k.y, k.a, k.ia, k.oa, k.og))) : (T = this.getAudioBuffer(o, u), T.seekWhenReady = f, T.pauseWhenReady = s.paused, k && T.panWhenReady.push(-1 !== L ? {
  5568. objUid: L,
  5569. ia: k.ia,
  5570. oa: k.oa,
  5571. og: k.og,
  5572. thistag: a
  5573. } : {
  5574. x: k.x,
  5575. y: k.y,
  5576. a: k.a,
  5577. ia: k.ia,
  5578. oa: k.oa,
  5579. og: k.og,
  5580. thistag: a
  5581. }))));
  5582. if (t && !G) {
  5583. for (r = 0, i = $.length; i > r; r++) $[r].setSilent(!0);
  5584. G = !0
  5585. } else if (!t && G) {
  5586. for (r = 0, i = $.length; i > r; r++) $[r].setSilent(!1);
  5587. G = !1
  5588. }
  5589. }, dt.afterLoad = function() {
  5590. var e, t, n, r;
  5591. for (e = 0, t = vt.length; t > e; e++) n = vt[e], r = this.runtime.getObjectByUID(n.loadUid), n.setObject(r), n.loadUid = -1, r && (Z = r.x, et = r.y);
  5592. vt.length = 0
  5593. }, dt.onSuspend = function(e) {
  5594. var t, n;
  5595. for (t = 0, n = $.length; n > t; t++) $[t].setSuspended(e)
  5596. }, dt.tick = function() {
  5597. var e, t, n, r = this.runtime.dt;
  5598. for (e = 0, t = $.length; t > e; e++) n = $[e], n.tick(r), n.myapi !== q && n.myapi !== z && (n.fresh || n.stopped || !n.hasEnded() || (n.stopped = !0, F = n.tag, B.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, j))), 0 !== Q && n.updatePlaybackRate();
  5599. var i, s, o;
  5600. for (i in lt)
  5601. if (lt.hasOwnProperty(i))
  5602. for (s = lt[i], e = 0, t = s.length; t > e; e++) o = s[e], o.tick && o.tick();
  5603. W === R && this.listenerTracker.hasObject() && (this.listenerTracker.tick(r), Z = this.listenerTracker.obj.x, et = this.listenerTracker.obj.y, X.listener.setPosition(this.listenerTracker.obj.x, this.listenerTracker.obj.y, this.listenerZ), X.listener.setVelocity(this.listenerTracker.getVelocityX(), this.listenerTracker.getVelocityY(), 0))
  5604. };
  5605. var mt = [];
  5606. dt.setPreloadList = function(e) {
  5607. var t, n, r, i, s, o, u = 0;
  5608. for (t = 0, n = e.length; n > t; ++t) r = e[t], i = r[0], s = 2 * r[1], o = i.length > 4 && ".ogg" === i.substr(i.length - 4), (o && K || !o && !K) && (mt.push({
  5609. filename: i,
  5610. size: s,
  5611. obj: null
  5612. }), u += s);
  5613. return u
  5614. }, dt.startPreloads = function() {
  5615. var e, t, n, r;
  5616. for (e = 0, t = mt.length; t > e; ++e) n = mt[e], r = this.runtime.files_subfolder + n.filename, n.obj = this.getAudioBuffer(r, !1)
  5617. }, dt.getPreloadedSize = function() {
  5618. var e, t, n, r = 0;
  5619. for (e = 0, t = mt.length; t > e; ++e) n = mt[e], n.obj.isLoadedAndDecoded() || n.obj.hasFailedToLoad() || this.runtime.isDomFree ? r += n.size : n.obj.isLoaded() && (r += Math.floor(n.size / 2));
  5620. return r
  5621. }, dt.getAudioBuffer = function(e, t) {
  5622. var n, r, i, s = null;
  5623. for (n = 0, r = V.length; r > n; n++)
  5624. if (i = V[n], i.src === e) {
  5625. s = i;
  5626. break
  5627. }
  5628. return s || (s = new T(e, t), V.push(s)), s
  5629. }, dt.getAudioInstance = function(e, t, n, r, i) {
  5630. var s, o, u;
  5631. for (s = 0, o = $.length; o > s; s++)
  5632. if (u = $[s], u.src === e && (u.canBeRecycled() || n)) return u.tag = t, u;
  5633. var a = this.getAudioBuffer(e, n);
  5634. return a.bufferObject ? (u = new N(a, t), $.push(u), u) : ("<preload>" !== t && (a.playTagWhenReady = t, a.loopWhenReady = r, a.volumeWhenReady = i), null)
  5635. };
  5636. var gt = [];
  5637. O.prototype.OnEnded = function(e) {
  5638. return cr.equals_nocase(F, e)
  5639. }, O.prototype.PreloadsComplete = function() {
  5640. var e, t;
  5641. for (e = 0, t = V.length; t > e; e++)
  5642. if (!V[e].isLoaded() && !V[e].hasFailedToLoad()) return !1;
  5643. return !0
  5644. }, O.prototype.AdvancedAudioSupported = function() {
  5645. return W === R
  5646. }, O.prototype.IsSilent = function() {
  5647. return G
  5648. }, O.prototype.IsAnyPlaying = function() {
  5649. var e, t;
  5650. for (e = 0, t = $.length; t > e; e++)
  5651. if ($[e].isPlaying()) return !0;
  5652. return !1
  5653. }, O.prototype.IsTagPlaying = function(e) {
  5654. k(e);
  5655. var t, n;
  5656. for (t = 0, n = gt.length; n > t; t++)
  5657. if (gt[t].isPlaying()) return !0;
  5658. return !1
  5659. }, P.cnds = new O, M.prototype.Play = function(t, n, r, i) {
  5660. if (!G) {
  5661. var s = e(r),
  5662. o = t[1],
  5663. u = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a");
  5664. J = this.getAudioInstance(u, i, o, 0 !== n, s), J && (J.setPannerEnabled(!1), J.play(0 !== n, s))
  5665. }
  5666. }, M.prototype.PlayAtPosition = function(t, n, r, i, s, o, u, a, f, l) {
  5667. if (!G) {
  5668. var c = e(r),
  5669. h = t[1],
  5670. p = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a");
  5671. if (J = this.getAudioInstance(p, l, h, 0 !== n, c), !J) {
  5672. var d = this.getAudioBuffer(p, h);
  5673. return void d.panWhenReady.push({
  5674. x: i,
  5675. y: s,
  5676. a: o,
  5677. ia: u,
  5678. oa: a,
  5679. og: e(f),
  5680. thistag: l
  5681. })
  5682. }
  5683. J.setPannerEnabled(!0), J.setPan(i, s, o, u, a, e(f)), J.play(0 !== n, c)
  5684. }
  5685. }, M.prototype.PlayAtObject = function(t, n, r, i, s, o, u, a) {
  5686. if (!G && i) {
  5687. var f = i.getFirstPicked();
  5688. if (f) {
  5689. var l = e(r),
  5690. c = t[1],
  5691. h = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a");
  5692. if (J = this.getAudioInstance(h, a, c, 0 !== n, l), !J) {
  5693. var p = this.getAudioBuffer(h, c);
  5694. return void p.panWhenReady.push({
  5695. obj: f,
  5696. ia: s,
  5697. oa: o,
  5698. og: e(u),
  5699. thistag: a
  5700. })
  5701. }
  5702. J.setPannerEnabled(!0);
  5703. var d = cr.rotatePtAround(f.x, f.y, -f.layer.getAngle(), Z, et, !0),
  5704. v = cr.rotatePtAround(f.x, f.y, -f.layer.getAngle(), Z, et, !1);
  5705. J.setPan(d, v, cr.to_degrees(f.angle - f.layer.getAngle()), s, o, e(u)), J.setObject(f), J.play(0 !== n, l)
  5706. }
  5707. }
  5708. }, M.prototype.PlayByName = function(t, n, r, i, s) {
  5709. if (!G) {
  5710. var o = e(i),
  5711. u = 1 === t,
  5712. a = this.runtime.files_subfolder + n.toLowerCase() + (K ? ".ogg" : ".m4a");
  5713. J = this.getAudioInstance(a, s, u, 0 !== r, o), J && (J.setPannerEnabled(!1), J.play(0 !== r, o))
  5714. }
  5715. }, M.prototype.PlayAtPositionByName = function(t, n, r, i, s, o, u, a, f, l, c) {
  5716. if (!G) {
  5717. var h = e(i),
  5718. p = 1 === t,
  5719. d = this.runtime.files_subfolder + n.toLowerCase() + (K ? ".ogg" : ".m4a");
  5720. if (J = this.getAudioInstance(d, c, p, 0 !== r, h), !J) {
  5721. var v = this.getAudioBuffer(d, p);
  5722. return void v.panWhenReady.push({
  5723. x: s,
  5724. y: o,
  5725. a: u,
  5726. ia: a,
  5727. oa: f,
  5728. og: e(l),
  5729. thistag: c
  5730. })
  5731. }
  5732. J.setPannerEnabled(!0), J.setPan(s, o, u, a, f, e(l)), J.play(0 !== r, h)
  5733. }
  5734. }, M.prototype.PlayAtObjectByName = function(t, n, r, i, s, o, u, a, f) {
  5735. if (!G && s) {
  5736. var l = s.getFirstPicked();
  5737. if (l) {
  5738. var c = e(i),
  5739. h = 1 === t,
  5740. p = this.runtime.files_subfolder + n.toLowerCase() + (K ? ".ogg" : ".m4a");
  5741. if (J = this.getAudioInstance(p, f, h, 0 !== r, c), !J) {
  5742. var d = this.getAudioBuffer(p, h);
  5743. return void d.panWhenReady.push({
  5744. obj: l,
  5745. ia: o,
  5746. oa: u,
  5747. og: e(a),
  5748. thistag: f
  5749. })
  5750. }
  5751. J.setPannerEnabled(!0);
  5752. var v = cr.rotatePtAround(l.x, l.y, -l.layer.getAngle(), Z, et, !0),
  5753. m = cr.rotatePtAround(l.x, l.y, -l.layer.getAngle(), Z, et, !1);
  5754. J.setPan(v, m, cr.to_degrees(l.angle - l.layer.getAngle()), o, u, e(a)), J.setObject(l), J.play(0 !== r, c)
  5755. }
  5756. }
  5757. }, M.prototype.SetLooping = function(e, t) {
  5758. k(e);
  5759. var n, r;
  5760. for (n = 0, r = gt.length; r > n; n++) gt[n].setLooping(0 === t)
  5761. }, M.prototype.SetMuted = function(e, t) {
  5762. k(e);
  5763. var n, r;
  5764. for (n = 0, r = gt.length; r > n; n++) gt[n].setMuted(0 === t)
  5765. }, M.prototype.SetVolume = function(t, n) {
  5766. k(t);
  5767. var r, i, s = e(n);
  5768. for (r = 0, i = gt.length; i > r; r++) gt[r].setVolume(s)
  5769. }, M.prototype.Preload = function(e) {
  5770. if (!G) {
  5771. var t = e[1],
  5772. n = this.runtime.files_subfolder + e[0] + (K ? ".ogg" : ".m4a");
  5773. return W === z ? void(this.runtime.isDirectCanvas ? AppMobi.context.loadSound(n) : AppMobi.player.loadSound(n)) : void(W !== U && this.getAudioInstance(n, "<preload>", t, !1))
  5774. }
  5775. }, M.prototype.PreloadByName = function(e, t) {
  5776. if (!G) {
  5777. var n = 1 === e,
  5778. r = this.runtime.files_subfolder + t.toLowerCase() + (K ? ".ogg" : ".m4a");
  5779. return W === z ? void(this.runtime.isDirectCanvas ? AppMobi.context.loadSound(r) : AppMobi.player.loadSound(r)) : void(W !== U && this.getAudioInstance(r, "<preload>", n, !1))
  5780. }
  5781. }, M.prototype.SetPlaybackRate = function(e, t) {
  5782. k(e), 0 > t && (t = 0);
  5783. var n, r;
  5784. for (n = 0, r = gt.length; r > n; n++) gt[n].setPlaybackRate(t)
  5785. }, M.prototype.Stop = function(e) {
  5786. k(e);
  5787. var t, n;
  5788. for (t = 0, n = gt.length; n > t; t++) gt[t].stop()
  5789. }, M.prototype.StopAll = function() {
  5790. var e, t;
  5791. for (e = 0, t = $.length; t > e; e++) $[e].stop()
  5792. }, M.prototype.SetPaused = function(e, t) {
  5793. k(e);
  5794. var n, r;
  5795. for (n = 0, r = gt.length; r > n; n++) 0 === t ? gt[n].pause() : gt[n].resume()
  5796. }, M.prototype.Seek = function(e, t) {
  5797. k(e);
  5798. var n, r;
  5799. for (n = 0, r = gt.length; r > n; n++) gt[n].seek(t)
  5800. }, M.prototype.SetSilent = function(e) {
  5801. var t, n;
  5802. if (2 === e && (e = G ? 1 : 0), 0 !== e || G) {
  5803. if (1 === e && G) {
  5804. for (t = 0, n = $.length; n > t; t++) $[t].setSilent(!1);
  5805. G = !1
  5806. }
  5807. } else {
  5808. for (t = 0, n = $.length; n > t; t++) $[t].setSilent(!0);
  5809. G = !0
  5810. }
  5811. }, M.prototype.SetMasterVolume = function(t) {
  5812. Y = e(t);
  5813. var n, r;
  5814. for (n = 0, r = $.length; r > n; n++) $[n].updateVolume()
  5815. }, M.prototype.AddFilterEffect = function(e, t, n, r, i, s, o) {
  5816. W !== R || 0 > t || t >= ct.length || !X.createBiquadFilter || (e = e.toLowerCase(), o /= 100, 0 > o && (o = 0), o > 1 && (o = 1), A(e, new c(t, n, r, i, s, o)))
  5817. }, M.prototype.AddDelayEffect = function(t, n, r, i) {
  5818. W === R && (t = t.toLowerCase(), i /= 100, 0 > i && (i = 0), i > 1 && (i = 1), A(t, new h(n, e(r), i)))
  5819. }, M.prototype.AddFlangerEffect = function(e, t, n, r, i, s) {
  5820. W === R && X.createOscillator && (e = e.toLowerCase(), s /= 100, 0 > s && (s = 0), s > 1 && (s = 1), A(e, new d(t / 1e3, n / 1e3, r, i / 100, s)))
  5821. }, M.prototype.AddPhaserEffect = function(e, t, n, r, i, s, o) {
  5822. W === R && X.createOscillator && (e = e.toLowerCase(), o /= 100, 0 > o && (o = 0), o > 1 && (o = 1), A(e, new v(t, n, r, i, s, o)))
  5823. }, M.prototype.AddConvolutionEffect = function(e, t, n, r) {
  5824. if (W === R && X.createConvolver) {
  5825. var i = 0 === n,
  5826. s = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a"),
  5827. o = this.getAudioBuffer(s, !1);
  5828. e = e.toLowerCase(), r /= 100, 0 > r && (r = 0), r > 1 && (r = 1);
  5829. var u;
  5830. o.bufferObject ? u = new p(o.bufferObject, i, r, s) : (u = new p(null, i, r, s), o.normalizeWhenReady = i, o.convolveWhenReady = u), A(e, u)
  5831. }
  5832. }, M.prototype.AddGainEffect = function(t, n) {
  5833. W === R && (t = t.toLowerCase(), A(t, new m(e(n))))
  5834. }, M.prototype.AddMuteEffect = function(e) {
  5835. W === R && (e = e.toLowerCase(), A(e, new m(0)))
  5836. }, M.prototype.AddTremoloEffect = function(e, t, n) {
  5837. W === R && X.createOscillator && (e = e.toLowerCase(), n /= 100, 0 > n && (n = 0), n > 1 && (n = 1), A(e, new g(t, n)))
  5838. }, M.prototype.AddRingModEffect = function(e, t, n) {
  5839. W === R && X.createOscillator && (e = e.toLowerCase(), n /= 100, 0 > n && (n = 0), n > 1 && (n = 1), A(e, new y(t, n)))
  5840. }, M.prototype.AddDistortionEffect = function(e, t, n, r, i, s) {
  5841. W === R && X.createWaveShaper && (e = e.toLowerCase(), s /= 100, 0 > s && (s = 0), s > 1 && (s = 1), A(e, new b(t, n, r, i, s)))
  5842. }, M.prototype.AddCompressorEffect = function(e, t, n, r, i, s) {
  5843. W === R && X.createDynamicsCompressor && (e = e.toLowerCase(), A(e, new E(t, n, r, i / 1e3, s / 1e3)))
  5844. }, M.prototype.AddAnalyserEffect = function(e, t, n) {
  5845. W === R && (e = e.toLowerCase(), A(e, new S(t, n)))
  5846. }, M.prototype.RemoveEffects = function(e) {
  5847. if (W === R) {
  5848. e = e.toLowerCase();
  5849. var t, n, r;
  5850. if (lt.hasOwnProperty(e) && (r = lt[e], r.length)) {
  5851. for (t = 0, n = r.length; n > t; t++) r[t].remove();
  5852. r.length = 0, L(e)
  5853. }
  5854. }
  5855. }, M.prototype.SetEffectParameter = function(e, t, n, r, i, s) {
  5856. if (W === R) {
  5857. e = e.toLowerCase(), t = Math.floor(t);
  5858. var o;
  5859. lt.hasOwnProperty(e) && (o = lt[e], 0 > t || t >= o.length || o[t].setParam(n, r, i, s))
  5860. }
  5861. }, M.prototype.SetListenerObject = function(e) {
  5862. if (e && W === R) {
  5863. var t = e.getFirstPicked();
  5864. t && (this.listenerTracker.setObject(t), Z = t.x, et = t.y)
  5865. }
  5866. }, M.prototype.SetListenerZ = function(e) {
  5867. this.listenerZ = e
  5868. }, P.acts = new M, _.prototype.Duration = function(e, t) {
  5869. k(t, !0), e.set_float(gt.length ? gt[0].getDuration() : 0)
  5870. }, _.prototype.PlaybackTime = function(e, t) {
  5871. k(t, !0), e.set_float(gt.length ? gt[0].getPlaybackTime() : 0)
  5872. }, _.prototype.Volume = function(e, n) {
  5873. if (k(n, !0), gt.length) {
  5874. var r = gt[0].getVolume();
  5875. e.set_float(t(r))
  5876. } else e.set_float(0)
  5877. }, _.prototype.MasterVolume = function(e) {
  5878. e.set_float(Y)
  5879. }, _.prototype.EffectCount = function(e, t) {
  5880. t = t.toLowerCase();
  5881. var n = null;
  5882. lt.hasOwnProperty(t) && (n = lt[t]), e.set_int(n ? n.length : 0)
  5883. }, _.prototype.AnalyserFreqBinCount = function(e, t, n) {
  5884. t = t.toLowerCase(), n = Math.floor(n);
  5885. var r = D(t, n);
  5886. e.set_int(r ? r.node.frequencyBinCount : 0)
  5887. }, _.prototype.AnalyserFreqBinAt = function(e, t, n, r) {
  5888. t = t.toLowerCase(), n = Math.floor(n), r = Math.floor(r);
  5889. var i = D(t, n);
  5890. e.set_float(i ? 0 > r || r >= i.node.frequencyBinCount ? 0 : i.freqBins[r] : 0)
  5891. }, _.prototype.AnalyserPeakLevel = function(e, t, n) {
  5892. t = t.toLowerCase(), n = Math.floor(n);
  5893. var r = D(t, n);
  5894. e.set_float(r ? r.peak : 0)
  5895. }, _.prototype.AnalyserRMSLevel = function(e, t, n) {
  5896. t = t.toLowerCase(), n = Math.floor(n);
  5897. var r = D(t, n);
  5898. e.set_float(r ? r.rms : 0)
  5899. }, P.exps = new _
  5900. }(), cr.plugins_.Browser = function(e) {
  5901. this.runtime = e
  5902. },
  5903. function() {
  5904. function Cnds() {}
  5905. function Acts() {}
  5906. function onFullscreenError() {
  5907. "undefined" != typeof jQuery && crruntime.setSize(jQuery(window).width(), jQuery(window).height())
  5908. }
  5909. function Exps() {}
  5910. var pluginProto = cr.plugins_.Browser.prototype;
  5911. pluginProto.Type = function(e) {
  5912. this.plugin = e, this.runtime = e.runtime
  5913. };
  5914. var typeProto = pluginProto.Type.prototype;
  5915. typeProto.onCreate = function() {}, pluginProto.Instance = function(e) {
  5916. this.type = e, this.runtime = e.runtime
  5917. };
  5918. var instanceProto = pluginProto.Instance.prototype;
  5919. instanceProto.onCreate = function() {
  5920. var e = this;
  5921. window.addEventListener("resize", function() {
  5922. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnResize, e)
  5923. }), "undefined" != typeof navigator.onLine && (window.addEventListener("online", function() {
  5924. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOnline, e)
  5925. }), window.addEventListener("offline", function() {
  5926. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOffline, e)
  5927. })), "undefined" != typeof window.applicationCache && (window.applicationCache.addEventListener("updateready", function() {
  5928. e.runtime.loadingprogress = 1, e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, e)
  5929. }), window.applicationCache.addEventListener("progress", function(n) {
  5930. e.runtime.loadingprogress = n.loaded / n.total
  5931. })), this.runtime.isDirectCanvas || (document.addEventListener("appMobi.device.update.available", function() {
  5932. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, e)
  5933. }), document.addEventListener("backbutton", function() {
  5934. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, e)
  5935. }), document.addEventListener("menubutton", function() {
  5936. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, e)
  5937. }), document.addEventListener("searchbutton", function() {
  5938. e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnSearchButton, e)
  5939. }), document.addEventListener("tizenhwkey", function(n) {
  5940. var r;
  5941. switch (n.keyName) {
  5942. case "back":
  5943. r = e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, e), r || window.tizen && window.tizen.application.getCurrentApplication().exit();
  5944. break;
  5945. case "menu":
  5946. r = e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, e), r || n.preventDefault()
  5947. }
  5948. })), this.runtime.isWindowsPhone81 && (WinJS.Application.onbackclick = function() {
  5949. return !!e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, e)
  5950. }), this.runtime.addSuspendCallback(function(n) {
  5951. n ? e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageHidden, e) : e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageVisible, e)
  5952. }), this.is_arcade = "undefined" != typeof window.is_scirra_arcade
  5953. }, Cnds.prototype.CookiesEnabled = function() {
  5954. return navigator ? navigator.cookieEnabled : !1
  5955. }, Cnds.prototype.IsOnline = function() {
  5956. return navigator ? navigator.onLine : !1
  5957. }, Cnds.prototype.HasJava = function() {
  5958. return navigator ? navigator.javaEnabled() : !1
  5959. }, Cnds.prototype.OnOnline = function() {
  5960. return !0
  5961. }, Cnds.prototype.OnOffline = function() {
  5962. return !0
  5963. }, Cnds.prototype.IsDownloadingUpdate = function() {
  5964. return "undefined" == typeof window.applicationCache ? !1 : window.applicationCache.status === window.applicationCache.DOWNLOADING
  5965. }, Cnds.prototype.OnUpdateReady = function() {
  5966. return !0
  5967. }, Cnds.prototype.PageVisible = function() {
  5968. return !this.runtime.isSuspended
  5969. }, Cnds.prototype.OnPageVisible = function() {
  5970. return !0
  5971. }, Cnds.prototype.OnPageHidden = function() {
  5972. return !0
  5973. }, Cnds.prototype.OnResize = function() {
  5974. return !0
  5975. }, Cnds.prototype.IsFullscreen = function() {
  5976. return !!(document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || this.runtime.isNodeFullscreen)
  5977. }, Cnds.prototype.OnBackButton = function() {
  5978. return !0
  5979. }, Cnds.prototype.OnMenuButton = function() {
  5980. return !0
  5981. }, Cnds.prototype.OnSearchButton = function() {
  5982. return !0
  5983. }, Cnds.prototype.IsMetered = function() {
  5984. var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
  5985. return e ? e.metered : !1
  5986. }, Cnds.prototype.IsCharging = function() {
  5987. var e = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
  5988. return e ? e.charging : !0
  5989. }, Cnds.prototype.IsPortraitLandscape = function(e) {
  5990. var t = window.innerWidth <= window.innerHeight ? 0 : 1;
  5991. return t === e
  5992. }, pluginProto.cnds = new Cnds, Acts.prototype.Alert = function(e) {
  5993. this.runtime.isDomFree || alert(e.toString())
  5994. }, Acts.prototype.Close = function() {
  5995. this.runtime.isCocoonJs ? CocoonJS.App.forceToFinish() : window.tizen ? window.tizen.application.getCurrentApplication().exit() : navigator.app && navigator.app.exitApp ? navigator.app.exitApp() : navigator.device && navigator.device.exitApp ? navigator.device.exitApp() : this.is_arcade || this.runtime.isDomFree || window.close()
  5996. }, Acts.prototype.Focus = function() {
  5997. if (this.runtime.isNodeWebkit) {
  5998. var e = window.nwgui.Window.get();
  5999. e.focus()
  6000. } else this.is_arcade || this.runtime.isDomFree || window.focus()
  6001. }, Acts.prototype.Blur = function() {
  6002. if (this.runtime.isNodeWebkit) {
  6003. var e = window.nwgui.Window.get();
  6004. e.blur()
  6005. } else this.is_arcade || this.runtime.isDomFree || window.blur()
  6006. }, Acts.prototype.GoBack = function() {
  6007. navigator.app && navigator.app.backHistory ? navigator.app.backHistory() : this.is_arcade || this.runtime.isDomFree || !window.back || window.back()
  6008. }, Acts.prototype.GoForward = function() {
  6009. this.is_arcade || this.runtime.isDomFree || !window.forward || window.forward()
  6010. }, Acts.prototype.GoHome = function() {
  6011. this.is_arcade || this.runtime.isDomFree || !window.home || window.home()
  6012. }, Acts.prototype.GoToURL = function(e, t) {
  6013. this.runtime.isCocoonJs ? CocoonJS.App.openURL(e) : this.runtime.isEjecta ? ejecta.openURL(e) : this.runtime.isWinJS ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(e)) : navigator.app && navigator.app.loadUrl ? navigator.app.loadUrl(e, {
  6014. openExternal: !0
  6015. }) : this.is_arcade || this.runtime.isDomFree || (2 !== t || this.is_arcade ? 1 !== t || this.is_arcade ? window.location = e : window.parent.location = e : window.top.location = e)
  6016. }, Acts.prototype.GoToURLWindow = function(e, t) {
  6017. console.log(e, t), this.runtime.isCocoonJs ? CocoonJS.App.openURL(e) : this.runtime.isEjecta ? ejecta.openURL(e) : this.runtime.isWinJS ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(e)) : navigator.app && navigator.app.loadUrl ? navigator.app.loadUrl(e, {
  6018. openExternal: !0
  6019. }) : this.is_arcade || this.runtime.isDomFree || (e.indexOf("more") >= 0 ? clickMore() : e.indexOf("share") >= 0 && showshare())
  6020. }, Acts.prototype.Reload = function() {
  6021. this.is_arcade || this.runtime.isDomFree || window.location.reload()
  6022. };
  6023. var firstRequestFullscreen = !0,
  6024. crruntime = null;
  6025. Acts.prototype.RequestFullScreen = function(e) {
  6026. if (this.runtime.isDomFree) return void cr.logexport("[Construct 2] Requesting fullscreen is not supported on this platform - the request has been ignored");
  6027. if (e >= 2 && (e += 1), 6 === e && (e = 2), this.runtime.isNodeWebkit) this.runtime.isNodeFullscreen || (window.nwgui.Window.get().enterFullscreen(), this.runtime.isNodeFullscreen = !0, this.runtime.fullscreen_scaling = e >= 2 ? e : 0);
  6028. else {
  6029. if (document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement || document.fullScreen) return;
  6030. this.runtime.fullscreen_scaling = e >= 2 ? e : 0;
  6031. var t = this.runtime.canvasdiv || this.runtime.canvas;
  6032. firstRequestFullscreen && (firstRequestFullscreen = !1, crruntime = this.runtime, t.addEventListener("mozfullscreenerror", onFullscreenError), t.addEventListener("webkitfullscreenerror", onFullscreenError), t.addEventListener("msfullscreenerror", onFullscreenError), t.addEventListener("fullscreenerror", onFullscreenError)), cr.is_undefined(t.requestFullscreen) ? cr.is_undefined(t.webkitRequestFullScreen) ? cr.is_undefined(t.mozRequestFullScreen) ? cr.is_undefined(t.msRequestFullscreen) || t.msRequestFullscreen() : t.mozRequestFullScreen() : "undefined" != typeof Element && "undefined" != typeof Element.ALLOW_KEYBOARD_INPUT ? t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) : t.webkitRequestFullScreen() : t.requestFullscreen()
  6033. }
  6034. }, Acts.prototype.CancelFullScreen = function() {
  6035. return this.runtime.isDomFree ? void cr.logexport("[Construct 2] Exiting fullscreen is not supported on this platform - the request has been ignored") : void(this.runtime.isNodeWebkit ? this.runtime.isNodeFullscreen && (window.nwgui.Window.get().leaveFullscreen(), this.runtime.isNodeFullscreen = !1) : cr.is_undefined(document.exitFullscreen) ? cr.is_undefined(document.webkitCancelFullScreen) ? cr.is_undefined(document.mozCancelFullScreen) ? cr.is_undefined(document.msExitFullscreen) || document.msExitFullscreen() : document.mozCancelFullScreen() : document.webkitCancelFullScreen() : document.exitFullscreen())
  6036. }, Acts.prototype.Vibrate = function(e) {
  6037. try {
  6038. var t, n, r = e.split(",");
  6039. for (t = 0, n = r.length; n > t; t++) r[t] = parseInt(r[t], 10);
  6040. navigator.vibrate ? navigator.vibrate(r) : navigator.mozVibrate ? navigator.mozVibrate(r) : navigator.webkitVibrate ? navigator.webkitVibrate(r) : navigator.msVibrate && navigator.msVibrate(r)
  6041. } catch (i) {}
  6042. }, Acts.prototype.InvokeDownload = function(e, t) {
  6043. var n = document.createElement("a");
  6044. if ("undefined" == typeof n.download) window.open(e);
  6045. else {
  6046. var r = document.getElementsByTagName("body")[0];
  6047. n.textContent = t, n.href = e, n.download = t, r.appendChild(n);
  6048. var i = document.createEvent("MouseEvent");
  6049. i.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), n.dispatchEvent(i), r.removeChild(n)
  6050. }
  6051. }, Acts.prototype.InvokeDownloadString = function(e, t, n) {
  6052. var r = "data:" + t + "," + encodeURIComponent(e),
  6053. i = document.createElement("a");
  6054. if ("undefined" == typeof i.download) window.open(r);
  6055. else {
  6056. var s = document.getElementsByTagName("body")[0];
  6057. i.textContent = n, i.href = r, i.download = n, s.appendChild(i);
  6058. var o = document.createEvent("MouseEvent");
  6059. o.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), i.dispatchEvent(o), s.removeChild(i)
  6060. }
  6061. }, Acts.prototype.ConsoleLog = function(e, t) {
  6062. "undefined" != typeof console && (0 === e && console.log && console.log(t.toString()), 1 === e && console.warn && console.warn(t.toString()), 2 === e && console.error && console.error(t.toString()))
  6063. }, Acts.prototype.ConsoleGroup = function(e) {
  6064. console && console.group && console.group(e)
  6065. }, Acts.prototype.ConsoleGroupEnd = function() {
  6066. console && console.groupEnd && console.groupEnd()
  6067. }, Acts.prototype.ExecJs = function(js_) {
  6068. try {
  6069. eval && eval(js_)
  6070. } catch (e) {
  6071. console && console.error && console.error("Error executing Javascript: ", e)
  6072. }
  6073. };
  6074. var orientations = ["portrait", "landscape", "portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"];
  6075. Acts.prototype.LockOrientation = function(e) {
  6076. if (e = Math.floor(e), !(0 > e || e >= orientations.length)) {
  6077. this.runtime.autoLockOrientation = !1;
  6078. var t = orientations[e];
  6079. screen.lockOrientation ? screen.lockOrientation(t) : screen.webkitLockOrientation ? screen.webkitLockOrientation(t) : screen.mozLockOrientation ? screen.mozLockOrientation(t) : screen.msLockOrientation && screen.msLockOrientation(t)
  6080. }
  6081. }, Acts.prototype.UnlockOrientation = function() {
  6082. this.runtime.autoLockOrientation = !1, screen.unlockOrientation ? screen.unlockOrientation() : screen.webkitUnlockOrientation ? screen.webkitUnlockOrientation() : screen.mozUnlockOrientation ? screen.mozUnlockOrientation() : screen.msUnlockOrientation && screen.msUnlockOrientation()
  6083. }, pluginProto.acts = new Acts, Exps.prototype.URL = function(e) {
  6084. e.set_string(this.runtime.isDomFree ? "" : window.location.toString())
  6085. }, Exps.prototype.Protocol = function(e) {
  6086. e.set_string(this.runtime.isDomFree ? "" : window.location.protocol)
  6087. }, Exps.prototype.Domain = function(e) {
  6088. e.set_string(this.runtime.isDomFree ? "" : window.location.hostname)
  6089. }, Exps.prototype.PathName = function(e) {
  6090. e.set_string(this.runtime.isDomFree ? "" : window.location.pathname)
  6091. }, Exps.prototype.Hash = function(e) {
  6092. e.set_string(this.runtime.isDomFree ? "" : window.location.hash)
  6093. }, Exps.prototype.Referrer = function(e) {
  6094. e.set_string(this.runtime.isDomFree ? "" : document.referrer)
  6095. }, Exps.prototype.Title = function(e) {
  6096. e.set_string(this.runtime.isDomFree ? "" : document.title)
  6097. }, Exps.prototype.Name = function(e) {
  6098. e.set_string(this.runtime.isDomFree ? "" : navigator.appName)
  6099. }, Exps.prototype.Version = function(e) {
  6100. e.set_string(this.runtime.isDomFree ? "" : navigator.appVersion)
  6101. }, Exps.prototype.Language = function(e) {
  6102. e.set_string(navigator && navigator.language ? navigator.language : "")
  6103. }, Exps.prototype.Platform = function(e) {
  6104. e.set_string(this.runtime.isDomFree ? "" : navigator.platform)
  6105. }, Exps.prototype.Product = function(e) {
  6106. e.set_string(navigator && navigator.product ? navigator.product : "")
  6107. }, Exps.prototype.Vendor = function(e) {
  6108. e.set_string(navigator && navigator.vendor ? navigator.vendor : "")
  6109. }, Exps.prototype.UserAgent = function(e) {
  6110. e.set_string(this.runtime.isDomFree ? "" : navigator.userAgent)
  6111. }, Exps.prototype.QueryString = function(e) {
  6112. e.set_string(this.runtime.isDomFree ? "" : window.location.search)
  6113. }, Exps.prototype.QueryParam = function(e, t) {
  6114. if (this.runtime.isDomFree) return void e.set_string("");
  6115. var n = RegExp("[?&]" + t + "=([^&]*)").exec(window.location.search);
  6116. e.set_string(n ? decodeURIComponent(n[1].replace(/\+/g, " ")) : "")
  6117. }, Exps.prototype.Bandwidth = function(e) {
  6118. var t = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
  6119. e.set_float(t ? t.bandwidth : Number.POSITIVE_INFINITY)
  6120. }, Exps.prototype.BatteryLevel = function(e) {
  6121. var t = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
  6122. e.set_float(t ? t.level : 1)
  6123. }, Exps.prototype.BatteryTimeLeft = function(e) {
  6124. var t = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
  6125. e.set_float(t ? t.dischargingTime : Number.POSITIVE_INFINITY)
  6126. }, Exps.prototype.ExecJS = function(ret, js_) {
  6127. if (!eval) return void ret.set_any(0);
  6128. var result = 0;
  6129. try {
  6130. result = eval(js_)
  6131. } catch (e) {
  6132. console && console.error && console.error("Error executing Javascript: ", e)
  6133. }
  6134. ret.set_any("number" == typeof result ? result : "string" == typeof result ? result : "boolean" == typeof result && result ? 1 : 0)
  6135. }, Exps.prototype.ScreenWidth = function(e) {
  6136. e.set_int(screen.width)
  6137. }, Exps.prototype.ScreenHeight = function(e) {
  6138. e.set_int(screen.height)
  6139. }, Exps.prototype.DevicePixelRatio = function(e) {
  6140. e.set_float(this.runtime.devicePixelRatio)
  6141. }, pluginProto.exps = new Exps
  6142. }(), cr.plugins_.CJSAds = function(e) {
  6143. this.runtime = e
  6144. },
  6145. function() {
  6146. function e() {}
  6147. function t() {}
  6148. function n() {}
  6149. var r = "",
  6150. i = [],
  6151. s = 0,
  6152. o = 0,
  6153. u = !1,
  6154. a = !1,
  6155. f = !1,
  6156. l = !1,
  6157. c = cr.plugins_.CJSAds.prototype;
  6158. c.Type = function(e) {
  6159. this.plugin = e, this.runtime = e.runtime
  6160. };
  6161. var h = c.Type.prototype;
  6162. h.onCreate = function() {}, c.Instance = function(e) {
  6163. this.type = e, this.runtime = e.runtime
  6164. };
  6165. var p = c.Instance.prototype;
  6166. p.onCreate = function() {
  6167. this.isShowingBanner = !1, this.isShowingFullscreen = !1, this.triggerProduct = "", this.socialService = null, this.socialServiceAvailable = !1, this.storeServiceAvailable = this.runtime.isCocoonJs && "undefined" != typeof CocoonJS.Store.nativeExtensionObjectAvailable, this.storeManaged = 1 !== this.properties[0], this.storeSandboxed = 0 !== this.properties[1], this.onConsumePurchaseFailedTransactionId = "", this.onConsumePurchaseCompleted = "";
  6168. var e = this;
  6169. this.runtime.isCocoonJs && (CocoonJS.App.onTextDialogFinished.addEventListener(function(t) {
  6170. r = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnKeyboardOK, e)
  6171. }), CocoonJS.App.onTextDialogCancelled.addEventListener(function() {
  6172. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnKeyboardCancelled, e)
  6173. }), CocoonJS.Ad.onBannerShown.addEventListener(function() {
  6174. e.isShowingBanner = !0, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnBannerShown, e)
  6175. }), CocoonJS.Ad.onBannerReady.addEventListener(function() {
  6176. a = !0, u || (CocoonJS.Ad.setBannerLayout(o), CocoonJS.Ad.showBanner())
  6177. }), CocoonJS.Ad.onFullScreenShown.addEventListener(function() {
  6178. e.isShowingFullscreen = !0, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnFullscreenShown, e)
  6179. }), CocoonJS.Ad.onFullScreenHidden.addEventListener(function() {
  6180. e.isShowingFullscreen = !1, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnFullscreenHidden, e)
  6181. }), CocoonJS.Ad.onFullScreenReady.addEventListener(function() {
  6182. l = !0, preloadFullScreen || CocoonJS.Ad.showFullScreen()
  6183. }), this.storeServiceAvailable && (CocoonJS.Store.onProductPurchaseCompleted.addEventListener(function(t) {
  6184. e.triggerProduct = t.productId, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnPurchaseComplete, e), CocoonJS.Store.addPurchase(t), CocoonJS.Store.consumePurchase(t.transactionId, t.productId), CocoonJS.Store.finishPurchase(t.transactionId)
  6185. }), CocoonJS.Store.onConsumePurchaseFailed.addEventListener(function(t) {
  6186. this.onConsumePurchaseFailedTransactionId = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onConsumePurchaseFailed, e)
  6187. }), CocoonJS.Store.onConsumePurchaseCompleted.addEventListener(function(t) {
  6188. this.onConsumePurchaseCompleted = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onConsumePurchaseCompleted, e)
  6189. }), CocoonJS.Store.onProductPurchaseFailed.addEventListener(function(t) {
  6190. e.triggerProduct = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnPurchaseFail, e)
  6191. }), CocoonJS.Store.onProductPurchaseStarted.addEventListener(function(t) {
  6192. e.triggerProduct = t.productId, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnPurchaseStart, e)
  6193. }), CocoonJS.Store.onProductsFetchStarted.addEventListener(function() {
  6194. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onProductsFetchStarted, e)
  6195. }), CocoonJS.Store.onProductsFetchFailed.addEventListener(function() {
  6196. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onProductsFetchFailed, e)
  6197. }), CocoonJS.Store.onProductsFetchCompleted.addEventListener(function() {
  6198. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onProductsFetchCompleted, e)
  6199. }), CocoonJS.Store.requestInitialization({
  6200. managed: this.storeManaged,
  6201. sandbox: this.storeSandboxed
  6202. }), CocoonJS.Store.start()), this.socialService = CocoonJS.SocialGaming.GameCenter, this.socialServiceAvailable = !!this.socialService.nativeExtensionObjectAvailable, this.socialService.onRequestLoginSucceed.addEventListener(function() {
  6203. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLoginSuccess, e)
  6204. }), this.socialService.onRequestLoginFailed.addEventListener(function() {
  6205. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLoginFail, e)
  6206. }), this.socialService.onLogout.addEventListener(function() {
  6207. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLogout, e)
  6208. }), this.socialService.onRequestUserScoreSucceed.addEventListener(function(t) {
  6209. s = t.score || 0, console.log("requested_score", s), e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreReceived, e)
  6210. }), this.socialService.onRequestUserScoreFailed.addEventListener(function() {
  6211. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreUnavailable, e)
  6212. }), this.socialService.onSubmitUserScoreSucceed.addEventListener(function() {
  6213. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreSubmitSuccess, e)
  6214. }), this.socialService.onSubmitUserScoreFailed.addEventListener(function() {
  6215. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreSubmitFail, e)
  6216. }), this.socialService.onLeaderboardViewSucceed.addEventListener(function() {
  6217. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLeaderboardOpen, e)
  6218. }), this.socialService.onLeaderboardViewClosed.addEventListener(function() {
  6219. e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLeaderboardClose, e)
  6220. }))
  6221. }, e.prototype.IsShowingBanner = function() {
  6222. return this.isShowingBanner
  6223. }, e.prototype.IsCocoonJS = function() {
  6224. return this.runtime.isCocoonJs
  6225. }, e.prototype.OnBannerShown = function() {
  6226. return !0
  6227. }, e.prototype.OnFullscreenShown = function() {
  6228. return !0
  6229. }, e.prototype.OnFullscreenHidden = function() {
  6230. return !0
  6231. }, e.prototype.IsShowingFullscreen = function() {
  6232. return this.isShowingFullscreen
  6233. }, e.prototype.IsStoreAvailable = function() {
  6234. return this.runtime.isCocoonJs ? this.storeServiceAvailable && CocoonJS.Store.canPurchase() : !1
  6235. }, e.prototype.OnPurchaseStart = function(e) {
  6236. return this.triggerProduct === e
  6237. }, e.prototype.OnPurchaseComplete = function(e) {
  6238. return this.triggerProduct === e
  6239. }, e.prototype.OnPurchaseFail = function(e) {
  6240. return this.triggerProduct === e
  6241. }, e.prototype.onProductsFetchStarted = function() {
  6242. return !0
  6243. }, e.prototype.onConsumePurchaseFailed = function() {
  6244. return !0
  6245. }, e.prototype.onProductsFetchCompleted = function() {
  6246. return !0
  6247. }, e.prototype.onProductsFetchFailed = function() {
  6248. return !0
  6249. }, e.prototype.IsProductPurchased = function(e) {
  6250. return this.runtime.isCocoonJs ? CocoonJS.Store.isProductPurchased(e) : !1
  6251. }, e.prototype.OnKeyboardCancelled = function() {
  6252. return !0
  6253. }, e.prototype.OnKeyboardOK = function() {
  6254. return !0
  6255. }, e.prototype.IsGCAvailable = function() {
  6256. return this.socialServiceAvailable
  6257. }, e.prototype.IsGCLoggedIn = function() {
  6258. return this.socialServiceAvailable ? this.socialService.isLoggedIn() : !1
  6259. }, e.prototype.OnGCLoginSuccess = function() {
  6260. return !0
  6261. }, e.prototype.OnGCLoginFail = function() {
  6262. return !0
  6263. }, e.prototype.OnGCLogout = function() {
  6264. return !0
  6265. }, e.prototype.OnGCScoreReceived = function() {
  6266. return !0
  6267. }, e.prototype.OnGCScoreUnavailable = function() {
  6268. return !0
  6269. }, e.prototype.OnGCScoreSubmitSuccess = function() {
  6270. return !0
  6271. }, e.prototype.OnGCScoreSubmitFail = function() {
  6272. return !0
  6273. }, e.prototype.OnGCLeaderboardOpen = function() {
  6274. return !0
  6275. }, e.prototype.OnGCLeaderboardClose = function() {
  6276. return !0
  6277. }, c.cnds = new e, t.prototype.ShowBanner = function(e) {
  6278. this.runtime.isCocoonJs && (o = 0 === e ? CocoonJS.Ad.BannerLayout.TOP_CENTER : CocoonJS.Ad.BannerLayout.BOTTOM_CENTER, u = !1, a ? (CocoonJS.Ad.setBannerLayout(o), CocoonJS.Ad.showBanner()) : CocoonJS.Ad.preloadBanner())
  6279. }, t.prototype.ShowFullscreen = function() {
  6280. this.runtime.isCocoonJs && (f = !1, l ? CocoonJS.Ad.showFullScreen() : CocoonJS.Ad.preloadFullScreen())
  6281. }, t.prototype.HideBanner = function() {
  6282. this.runtime.isCocoonJs && (CocoonJS.Ad.hideBanner(), this.isShowingBanner = !1)
  6283. }, t.prototype.PreloadBanner = function() {
  6284. this.runtime.isCocoonJs && (u = !0, CocoonJS.Ad.preloadBanner())
  6285. }, t.prototype.PreloadFullscreen = function() {
  6286. this.runtime.isCocoonJs && (f = !0, CocoonJS.Ad.preloadFullScreen())
  6287. }, t.prototype.RefreshBanner = function() {
  6288. this.runtime.isCocoonJs && CocoonJS.Ad.refreshBanner()
  6289. }, t.prototype.RefreshFullscreen = function() {
  6290. this.runtime.isCocoonJs && CocoonJS.Ad.refreshFullScreen()
  6291. }, t.prototype.Purchase = function(e) {
  6292. this.runtime.isCocoonJs && CocoonJS.Store.purchaseProduct(e)
  6293. }, t.prototype.fetchProductsFromStore = function(e) {
  6294. this.runtime.isCocoonJs && CocoonJS.Store.fetchProductsFromStore(e.split(","))
  6295. }, t.prototype.restorePurchases = function() {
  6296. return this.runtime.isCocoonJs ? CocoonJS.Store.restorePurchases() : void 0
  6297. }, t.prototype.PurchasePreview = function(e) {
  6298. this.runtime.isCocoonJs && CocoonJS.Store.purchaseProductModalWithPreview(e)
  6299. }, t.prototype.RestorePurchases = function() {
  6300. this.runtime.isCocoonJs && CocoonJS.Store.restorePurchases()
  6301. }, t.prototype.PromptKeyboard = function(e, t, n, r, i, s) {
  6302. if (this.runtime.isCocoonJs) {
  6303. var o = ["text", "num", "phone", "email", "url"][r];
  6304. CocoonJS.App.showTextDialog(e, t, n, o, i, s)
  6305. }
  6306. }, t.prototype.UpdateProductsList = function() {
  6307. this.runtime.isCocoonJs && CocoonJS.Store.canPurchase() && (i = CocoonJS.Store.getProducts())
  6308. }, t.prototype.GCLogin = function() {
  6309. this.socialServiceAvailable && !this.socialService.isLoggedIn() && this.socialService.requestLogin()
  6310. }, t.prototype.GCLogout = function() {
  6311. this.socialServiceAvailable && this.socialService.isLoggedIn() && this.socialService.requestLogout()
  6312. }, t.prototype.GCSubmitScore = function(e, t) {
  6313. this.socialServiceAvailable && this.socialService.isLoggedIn() && (console.log(e), this.socialService.submitUserScore(e, t))
  6314. }, t.prototype.GCRequestScore = function(e) {
  6315. this.socialServiceAvailable && this.socialService.isLoggedIn() && this.socialService.requestUserScore(e)
  6316. }, t.prototype.GCOpenLeaderboard = function(e) {
  6317. this.socialServiceAvailable && this.socialService.isLoggedIn() && this.socialService.showLeaderboardView(e)
  6318. }, c.acts = new t, n.prototype.InputText = function(e) {
  6319. e.set_string(r)
  6320. }, n.prototype.ProductCount = function(e) {
  6321. e.set_int(i.length)
  6322. }, n.prototype.ProductDescription = function(e, t) {
  6323. return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].description)
  6324. }, n.prototype.ProductLocalizedPrice = function(e, t) {
  6325. return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].localizedPrice)
  6326. }, n.prototype.ProductPrice = function(e, t) {
  6327. return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].price)
  6328. }, n.prototype.ProductAlias = function(e, t) {
  6329. return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].productAlias)
  6330. }, n.prototype.ProductID = function(e, t) {
  6331. return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].productId)
  6332. }, n.prototype.ProductTitle = function(e, t) {
  6333. return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].title)
  6334. }, n.prototype.GameCenterScore = function(e) {
  6335. e.set_float(s)
  6336. }, c.exps = new n
  6337. }(), cr.plugins_.Particles = function(e) {
  6338. this.runtime = e
  6339. },
  6340. function() {
  6341. function e(e) {
  6342. this.owner = e, this.active = !1, this.x = 0, this.y = 0, this.speed = 0, this.angle = 0, this.opacity = 1, this.grow = 0, this.size = 0, this.gs = 0, this.age = 0, cr.seal(this)
  6343. }
  6344. function t() {}
  6345. function n() {}
  6346. function r() {}
  6347. var i = cr.plugins_.Particles.prototype;
  6348. i.Type = function(e) {
  6349. this.plugin = e, this.runtime = e.runtime
  6350. };
  6351. var s = i.Type.prototype;
  6352. s.onCreate = function() {
  6353. this.is_family || (this.texture_img = new Image, this.texture_img.idtkLoadDisposed = !0, this.texture_img.src = this.texture_file, this.texture_img.cr_filesize = this.texture_filesize, this.webGL_texture = null, this.runtime.waitForImageLoad(this.texture_img))
  6354. }, s.onLostWebGLContext = function() {
  6355. this.is_family || (this.webGL_texture = null)
  6356. }, s.onRestoreWebGLContext = function() {
  6357. !this.is_family && this.instances.length && (this.webGL_texture || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat)))
  6358. }, s.loadTextures = function() {
  6359. this.is_family || this.webGL_texture || !this.runtime.glwrap || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat))
  6360. }, s.unloadTextures = function() {
  6361. this.is_family || this.instances.length || !this.webGL_texture || (this.runtime.glwrap.deleteTexture(this.webGL_texture), this.webGL_texture = null)
  6362. }, s.preloadCanvas2D = function(e) {
  6363. e.drawImage(this.texture_img, 0, 0)
  6364. }, e.prototype.init = function() {
  6365. var e = this.owner;
  6366. this.x = e.x - e.xrandom / 2 + Math.random() * e.xrandom, this.y = e.y - e.yrandom / 2 + Math.random() * e.yrandom, this.speed = e.initspeed - e.speedrandom / 2 + Math.random() * e.speedrandom, this.angle = e.angle - e.spraycone / 2 + Math.random() * e.spraycone, this.opacity = e.initopacity, this.size = e.initsize - e.sizerandom / 2 + Math.random() * e.sizerandom, this.grow = e.growrate - e.growrandom / 2 + Math.random() * e.growrandom, this.gs = 0, this.age = 0
  6367. }, e.prototype.tick = function(e) {
  6368. var t = this.owner;
  6369. return this.x += Math.cos(this.angle) * this.speed * e, this.y += Math.sin(this.angle) * this.speed * e, this.y += this.gs * e, this.speed += t.acc * e, this.size += this.grow * e, this.gs += t.g * e, this.age += e, this.size < 1 ? void(this.active = !1) : (0 !== t.lifeanglerandom && (this.angle += Math.random() * t.lifeanglerandom * e - t.lifeanglerandom * e / 2), 0 !== t.lifespeedrandom && (this.speed += Math.random() * t.lifespeedrandom * e - t.lifespeedrandom * e / 2), 0 !== t.lifeopacityrandom && (this.opacity += Math.random() * t.lifeopacityrandom * e - t.lifeopacityrandom * e / 2, this.opacity < 0 ? this.opacity = 0 : this.opacity > 1 && (this.opacity = 1)), t.destroymode <= 1 && this.age >= t.timeout && (this.active = !1), void(2 === t.destroymode && this.speed <= 0 && (this.active = !1)))
  6370. }, e.prototype.draw = function(e) {
  6371. var t = this.owner.opacity * this.opacity;
  6372. if (0 !== t) {
  6373. 0 === this.owner.destroymode && (t *= 1 - this.age / this.owner.timeout), e.globalAlpha = t;
  6374. var n = this.x - this.size / 2,
  6375. r = this.y - this.size / 2;
  6376. this.owner.runtime.pixel_rounding && (n = n + .5 | 0, r = r + .5 | 0), e.drawImage(this.owner.type.texture_img, n, r, this.size, this.size)
  6377. }
  6378. }, e.prototype.drawGL = function(e) {
  6379. var t = this.owner.opacity * this.opacity;
  6380. 0 === this.owner.destroymode && (t *= 1 - this.age / this.owner.timeout);
  6381. var n = this.size,
  6382. r = n * this.owner.particlescale,
  6383. i = this.x - n / 2,
  6384. s = this.y - n / 2;
  6385. this.owner.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), 1 > r || 0 === t || (r < e.minPointSize || r > e.maxPointSize ? (e.setOpacity(t), e.quad(i, s, i + n, s, i + n, s + n, i, s + n)) : e.point(this.x, this.y, r, t))
  6386. }, e.prototype.left = function() {
  6387. return this.x - this.size / 2
  6388. }, e.prototype.right = function() {
  6389. return this.x + this.size / 2
  6390. }, e.prototype.top = function() {
  6391. return this.y - this.size / 2
  6392. }, e.prototype.bottom = function() {
  6393. return this.y + this.size / 2
  6394. }, i.Instance = function(e) {
  6395. this.type = e, this.runtime = e.runtime
  6396. };
  6397. var o = i.Instance.prototype,
  6398. u = [];
  6399. o.onCreate = function() {
  6400. var e = this.properties;
  6401. if (this.rate = e[0], this.spraycone = cr.to_radians(e[1]), this.spraytype = e[2], this.spraying = !0, this.initspeed = e[3], this.initsize = e[4], this.initopacity = e[5] / 100, this.growrate = e[6], this.xrandom = e[7], this.yrandom = e[8], this.speedrandom = e[9], this.sizerandom = e[10], this.growrandom = e[11], this.acc = e[12], this.g = e[13], this.lifeanglerandom = e[14], this.lifespeedrandom = e[15], this.lifeopacityrandom = e[16], this.destroymode = e[17], this.timeout = e[18], this.particleCreateCounter = 0, this.particlescale = 1, this.particleBoxLeft = this.x, this.particleBoxTop = this.y, this.particleBoxRight = this.x, this.particleBoxBottom = this.y, this.add_bbox_changed_callback(function(e) {
  6402. e.bbox.set(e.particleBoxLeft, e.particleBoxTop, e.particleBoxRight, e.particleBoxBottom), e.bquad.set_from_rect(e.bbox), e.bbox_changed = !1, e.update_collision_cell()
  6403. }), this.recycled || (this.particles = []), this.runtime.tickMe(this), this.type.loadTextures(), 1 === this.spraytype)
  6404. for (var t = 0; t < this.rate; t++) this.allocateParticle().opacity = 0;
  6405. this.first_tick = !0
  6406. }, o.saveToJSON = function() {
  6407. var e, t, n, r = {
  6408. r: this.rate,
  6409. sc: this.spraycone,
  6410. st: this.spraytype,
  6411. s: this.spraying,
  6412. isp: this.initspeed,
  6413. isz: this.initsize,
  6414. io: this.initopacity,
  6415. gr: this.growrate,
  6416. xr: this.xrandom,
  6417. yr: this.yrandom,
  6418. spr: this.speedrandom,
  6419. szr: this.sizerandom,
  6420. grnd: this.growrandom,
  6421. acc: this.acc,
  6422. g: this.g,
  6423. lar: this.lifeanglerandom,
  6424. lsr: this.lifespeedrandom,
  6425. lor: this.lifeopacityrandom,
  6426. dm: this.destroymode,
  6427. to: this.timeout,
  6428. pcc: this.particleCreateCounter,
  6429. ft: this.first_tick,
  6430. p: []
  6431. },
  6432. i = r.p;
  6433. for (e = 0, t = this.particles.length; t > e; e++) n = this.particles[e], i.push([n.x, n.y, n.speed, n.angle, n.opacity, n.grow, n.size, n.gs, n.age]);
  6434. return r
  6435. }, o.loadFromJSON = function(e) {
  6436. this.rate = e.r, this.spraycone = e.sc, this.spraytype = e.st, this.spraying = e.s, this.initspeed = e.isp, this.initsize = e.isz, this.initopacity = e.io, this.growrate = e.gr, this.xrandom = e.xr, this.yrandom = e.yr, this.speedrandom = e.spr, this.sizerandom = e.szr, this.growrandom = e.grnd, this.acc = e.acc, this.g = e.g, this.lifeanglerandom = e.lar, this.lifespeedrandom = e.lsr, this.lifeopacityrandom = e.lor, this.destroymode = e.dm, this.timeout = e.to, this.particleCreateCounter = e.pcc, this.first_tick = e.ft, u.push.apply(u, this.particles), this.particles.length = 0;
  6437. var t, n, r, i, s = e.p;
  6438. for (t = 0, n = s.length; n > t; t++) r = this.allocateParticle(), i = s[t], r.x = i[0], r.y = i[1], r.speed = i[2], r.angle = i[3], r.opacity = i[4], r.grow = i[5], r.size = i[6], r.gs = i[7], r.age = i[8]
  6439. }, o.onDestroy = function() {
  6440. u.push.apply(u, this.particles), this.particles.length = 0
  6441. }, o.allocateParticle = function() {
  6442. var t;
  6443. return u.length ? (t = u.pop(), t.owner = this) : t = new e(this), this.particles.push(t), t.active = !0, t
  6444. }, o.tick = function() {
  6445. var e, t, n, r, i, s = this.runtime.getDt(this);
  6446. if (0 === this.spraytype && this.spraying)
  6447. for (this.particleCreateCounter += s * this.rate, r = cr.floor(this.particleCreateCounter), this.particleCreateCounter -= r, e = 0; r > e; e++) n = this.allocateParticle(), n.init();
  6448. for (this.particleBoxLeft = this.x, this.particleBoxTop = this.y, this.particleBoxRight = this.x, this.particleBoxBottom = this.y, e = 0, i = 0, t = this.particles.length; t > e; e++) n = this.particles[e], this.particles[i] = n, this.runtime.redraw = !0, 1 === this.spraytype && this.first_tick && n.init(), n.tick(s), n.active ? (n.left() < this.particleBoxLeft && (this.particleBoxLeft = n.left()), n.right() > this.particleBoxRight && (this.particleBoxRight = n.right()), n.top() < this.particleBoxTop && (this.particleBoxTop = n.top()), n.bottom() > this.particleBoxBottom && (this.particleBoxBottom = n.bottom()), i++) : u.push(n);
  6449. this.particles.length = i, this.set_bbox_changed(), this.first_tick = !1, 1 === this.spraytype && 0 === this.particles.length && this.runtime.DestroyInstance(this)
  6450. }, o.draw = function(e) {
  6451. var t, n, r, i = this.layer;
  6452. for (t = 0, n = this.particles.length; n > t; t++) r = this.particles[t], r.right() >= i.viewLeft && r.bottom() >= i.viewTop && r.left() <= i.viewRight && r.top() <= i.viewBottom && r.draw(e)
  6453. }, o.drawGL = function(e) {
  6454. this.particlescale = this.layer.getScale(), e.setTexture(this.type.webGL_texture);
  6455. var t, n, r, i = this.layer;
  6456. for (t = 0, n = this.particles.length; n > t; t++) r = this.particles[t], r.right() >= i.viewLeft && r.bottom() >= i.viewTop && r.left() <= i.viewRight && r.top() <= i.viewBottom && r.drawGL(e)
  6457. }, t.prototype.IsSpraying = function() {
  6458. return this.spraying
  6459. }, i.cnds = new t, n.prototype.SetSpraying = function(e) {
  6460. this.spraying = 0 !== e
  6461. }, n.prototype.SetEffect = function(e) {
  6462. this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
  6463. }, n.prototype.SetRate = function(e) {
  6464. this.rate = e;
  6465. var t, n;
  6466. if (1 === this.spraytype && this.first_tick)
  6467. if (e < this.particles.length)
  6468. for (t = this.particles.length - e, n = 0; t > n; n++) u.push(this.particles.pop());
  6469. else if (e > this.particles.length)
  6470. for (t = e - this.particles.length, n = 0; t > n; n++) this.allocateParticle().opacity = 0
  6471. }, n.prototype.SetSprayCone = function(e) {
  6472. this.spraycone = cr.to_radians(e)
  6473. }, n.prototype.SetInitSpeed = function(e) {
  6474. this.initspeed = e
  6475. }, n.prototype.SetInitSize = function(e) {
  6476. this.initsize = e
  6477. }, n.prototype.SetInitOpacity = function(e) {
  6478. this.initopacity = e / 100
  6479. }, n.prototype.SetGrowRate = function(e) {
  6480. this.growrate = e
  6481. }, n.prototype.SetXRandomiser = function(e) {
  6482. this.xrandom = e
  6483. }, n.prototype.SetYRandomiser = function(e) {
  6484. this.yrandom = e
  6485. }, n.prototype.SetSpeedRandomiser = function(e) {
  6486. this.speedrandom = e
  6487. }, n.prototype.SetSizeRandomiser = function(e) {
  6488. this.sizerandom = e
  6489. }, n.prototype.SetGrowRateRandomiser = function(e) {
  6490. this.growrandom = e
  6491. }, n.prototype.SetParticleAcc = function(e) {
  6492. this.acc = e
  6493. }, n.prototype.SetGravity = function(e) {
  6494. this.g = e
  6495. }, n.prototype.SetAngleRandomiser = function(e) {
  6496. this.lifeanglerandom = e
  6497. }, n.prototype.SetSpeedRandomiser = function(e) {
  6498. this.lifespeedrandom = e
  6499. }, n.prototype.SetOpacityRandomiser = function(e) {
  6500. this.lifeopacityrandom = e
  6501. }, n.prototype.SetTimeout = function(e) {
  6502. this.timeout = e
  6503. }, i.acts = new n, r.prototype.ParticleCount = function(e) {
  6504. e.set_int(this.particles.length)
  6505. }, r.prototype.Rate = function(e) {
  6506. e.set_float(this.rate)
  6507. }, r.prototype.SprayCone = function(e) {
  6508. e.set_float(cr.to_degrees(this.spraycone))
  6509. }, r.prototype.InitSpeed = function(e) {
  6510. e.set_float(this.initspeed)
  6511. }, r.prototype.InitSize = function(e) {
  6512. e.set_float(this.initsize)
  6513. }, r.prototype.InitOpacity = function(e) {
  6514. e.set_float(100 * this.initopacity)
  6515. }, r.prototype.InitGrowRate = function(e) {
  6516. e.set_float(this.growrate)
  6517. }, r.prototype.XRandom = function(e) {
  6518. e.set_float(this.xrandom)
  6519. }, r.prototype.YRandom = function(e) {
  6520. e.set_float(this.yrandom)
  6521. }, r.prototype.InitSpeedRandom = function(e) {
  6522. e.set_float(this.speedrandom)
  6523. }, r.prototype.InitSizeRandom = function(e) {
  6524. e.set_float(this.sizerandom)
  6525. }, r.prototype.InitGrowRandom = function(e) {
  6526. e.set_float(this.growrandom)
  6527. }, r.prototype.ParticleAcceleration = function(e) {
  6528. e.set_float(this.acc)
  6529. }, r.prototype.Gravity = function(e) {
  6530. e.set_float(this.g)
  6531. }, r.prototype.ParticleAngleRandom = function(e) {
  6532. e.set_float(this.lifeanglerandom)
  6533. }, r.prototype.ParticleSpeedRandom = function(e) {
  6534. e.set_float(this.lifespeedrandom)
  6535. }, r.prototype.ParticleOpacityRandom = function(e) {
  6536. e.set_float(this.lifeopacityrandom)
  6537. }, r.prototype.Timeout = function(e) {
  6538. e.set_float(this.timeout)
  6539. }, i.exps = new r
  6540. }(), cr.plugins_.Sprite = function(e) {
  6541. this.runtime = e
  6542. },
  6543. function() {
  6544. function e() {
  6545. if (0 === this.datauri.length) {
  6546. var e = document.createElement("canvas");
  6547. e.width = this.width, e.height = this.height;
  6548. var t = e.getContext("2d");
  6549. this.spritesheeted ? t.drawImage(this.texture_img, this.offx, this.offy, this.width, this.height, 0, 0, this.width, this.height) : t.drawImage(this.texture_img, 0, 0, this.width, this.height), this.datauri = e.toDataURL("image/png")
  6550. }
  6551. return this.datauri
  6552. }
  6553. function t() {}
  6554. function n() {
  6555. return m.length ? m.pop() : [0, 0, 0]
  6556. }
  6557. function r(e) {
  6558. e[0] = 0, e[1] = 0, e[2] = 0, m.push(e)
  6559. }
  6560. function i(e, t) {
  6561. return t > e ? "" + e + "," + t : "" + t + "," + e
  6562. }
  6563. function s(e, t, r, s) {
  6564. var o = t.uid,
  6565. u = r.uid,
  6566. a = i(o, u);
  6567. if (e.hasOwnProperty(a)) return void(e[a][2] = s);
  6568. var f = n();
  6569. f[0] = o, f[1] = u, f[2] = s, e[a] = f
  6570. }
  6571. function o(e, t, n) {
  6572. var s = i(t.uid, n.uid);
  6573. e.hasOwnProperty(s) && (r(e[s]), delete e[s])
  6574. }
  6575. function u(e, t) {
  6576. var n, i, s = t.uid;
  6577. for (n in e) e.hasOwnProperty(n) && (i = e[n], (i[0] === s || i[1] === s) && (r(e[n]), delete e[n]))
  6578. }
  6579. function a(e, t, n) {
  6580. var r = i(t.uid, n.uid);
  6581. return e.hasOwnProperty(r) ? (g = e[r][2], !0) : (g = -2, !1)
  6582. }
  6583. function f(e, t, n) {
  6584. if (!e) return !1;
  6585. var r, i, s, o, u, a, f = 0 !== t || 0 !== n,
  6586. l = !1,
  6587. c = this.runtime.getCurrentCondition(),
  6588. h = c.type,
  6589. p = c.inverted,
  6590. d = e.getCurrentSol(),
  6591. v = this.runtime.getCurrentEventStack().current_event.orblock;
  6592. for (d.select_all ? (this.update_bbox(), this.runtime.getCollisionCandidates(this.layer, e, this.bbox, S), a = S) : a = v ? d.else_instances : d.instances, b = e, E = h !== e && !p, f && (r = this.x, i = this.y, this.x += t, this.y += n, this.set_bbox_changed()), s = 0, o = a.length; o > s; s++)
  6593. if (u = a[s], this.runtime.testOverlap(this, u)) {
  6594. if (l = !0, p) break;
  6595. h !== e && w.add(u)
  6596. }
  6597. return f && (this.x = r, this.y = i, this.set_bbox_changed()), S.length = 0, l
  6598. }
  6599. function l() {}
  6600. function c() {}
  6601. var h = cr.plugins_.Sprite.prototype;
  6602. h.Type = function(e) {
  6603. this.plugin = e, this.runtime = e.runtime
  6604. };
  6605. var p = h.Type.prototype;
  6606. p.onCreate = function() {
  6607. if (!this.is_family) {
  6608. var t, n, r, i, s, o, u, a, f, l;
  6609. for (this.all_frames = [], this.has_loaded_textures = !1, t = 0, n = this.animations.length; n > t; t++) {
  6610. for (s = this.animations[t], u = {}, u.name = s[0], u.speed = s[1], u.loop = s[2], u.repeatcount = s[3], u.repeatto = s[4], u.pingpong = s[5], u.sid = s[6], u.frames = [], r = 0, i = s[7].length; i > r; r++) o = s[7][r], a = {}, a.texture_file = o[0], a.texture_filesize = o[1], a.offx = o[2], a.offy = o[3], a.width = o[4], a.height = o[5], a.duration = o[6], a.hotspotX = o[7], a.hotspotY = o[8], a.image_points = o[9], a.poly_pts = o[10], a.pixelformat = o[11], a.spritesheeted = 0 !== a.width, a.datauri = "", a.getDataUri = e, l = {}, l.left = 0, l.top = 0, l.right = 1, l.bottom = 1, a.sheetTex = l, a.webGL_texture = null, f = this.runtime.findWaitingTexture(o[0]), f ? a.texture_img = f : (a.texture_img = new Image, a.texture_img.idtkLoadDisposed = !0, a.texture_img.src = o[0], a.texture_img.cr_src = o[0], a.texture_img.cr_filesize = o[1], a.texture_img.c2webGL_texture = null, this.runtime.waitForImageLoad(a.texture_img)), cr.seal(a), u.frames.push(a), this.all_frames.push(a);
  6611. cr.seal(u), this.animations[t] = u
  6612. }
  6613. }
  6614. }, p.updateAllCurrentTexture = function() {
  6615. var e, t, n;
  6616. for (e = 0, t = this.instances.length; t > e; e++) n = this.instances[e], n.curWebGLTexture = n.curFrame.webGL_texture
  6617. }, p.onLostWebGLContext = function() {
  6618. if (!this.is_family) {
  6619. var e, t, n;
  6620. for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], n.texture_img.c2webGL_texture = null, n.webGL_texture = null
  6621. }
  6622. }, p.onRestoreWebGLContext = function() {
  6623. if (!this.is_family && this.instances.length) {
  6624. var e, t, n;
  6625. for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], n.webGL_texture = this.runtime.glwrap.loadTexture(n.texture_img, !1, this.runtime.linearSampling, n.pixelformat);
  6626. this.updateAllCurrentTexture()
  6627. }
  6628. }, p.loadTextures = function() {
  6629. if (!this.is_family && !this.has_loaded_textures && this.runtime.glwrap) {
  6630. var e, t, n;
  6631. for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], n.webGL_texture = this.runtime.glwrap.loadTexture(n.texture_img, !1, this.runtime.linearSampling, n.pixelformat);
  6632. this.has_loaded_textures = !0
  6633. }
  6634. }, p.unloadTextures = function() {
  6635. if (!this.is_family && !this.instances.length && this.has_loaded_textures) {
  6636. var e, t, n;
  6637. for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], this.runtime.glwrap.deleteTexture(n.webGL_texture), n.webGL_texture = null;
  6638. this.has_loaded_textures = !1
  6639. }
  6640. };
  6641. var d = [];
  6642. p.preloadCanvas2D = function(e) {
  6643. var t, n, r;
  6644. for (d.length = 0, t = 0, n = this.all_frames.length; n > t; ++t) r = this.all_frames[t].texture_img, -1 === d.indexOf(r) && (e.drawImage(r, 0, 0), d.push(r))
  6645. }, h.Instance = function(e) {
  6646. this.type = e, this.runtime = e.runtime;
  6647. var t = this.type.animations[0].frames[0].poly_pts;
  6648. this.recycled ? this.collision_poly.set_pts(t) : this.collision_poly = new cr.CollisionPoly(t)
  6649. };
  6650. var v = h.Instance.prototype;
  6651. v.onCreate = function() {
  6652. this.visible = 0 === this.properties[0], this.isTicking = !1, this.inAnimTrigger = !1, this.collisionsEnabled = 0 !== this.properties[3], 1 === this.type.animations.length && 1 === this.type.animations[0].frames.length || 0 === this.type.animations[0].speed || (this.runtime.tickMe(this), this.isTicking = !0), this.cur_animation = this.getAnimationByName(this.properties[1]) || this.type.animations[0], this.cur_frame = this.properties[2], this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1);
  6653. var e = this.cur_animation.frames[this.cur_frame];
  6654. this.collision_poly.set_pts(e.poly_pts), this.hotspotX = e.hotspotX, this.hotspotY = e.hotspotY, this.cur_anim_speed = this.cur_animation.speed, this.recycled ? this.animTimer.reset() : this.animTimer = new cr.KahanAdder, this.frameStart = this.getNowTime(), this.animPlaying = !0, this.animRepeats = 0, this.animForwards = !0, this.animTriggerName = "", this.changeAnimName = "", this.changeAnimFrom = 0, this.changeAnimFrame = -1, this.type.loadTextures();
  6655. var t, n, r, i, s, o, u, a;
  6656. for (t = 0, n = this.type.animations.length; n > t; t++)
  6657. for (s = this.type.animations[t], r = 0, i = s.frames.length; i > r; r++) o = s.frames[r], 0 === o.width && (o.width = o.texture_img.width, o.height = o.texture_img.height), o.spritesheeted && (a = o.texture_img, u = o.sheetTex, u.left = o.offx / a.width, u.top = o.offy / a.height, u.right = (o.offx + o.width) / a.width, u.bottom = (o.offy + o.height) / a.height, 0 === o.offx && 0 === o.offy && o.width === a.width && o.height === a.height && (o.spritesheeted = !1));
  6658. this.curFrame = this.cur_animation.frames[this.cur_frame], this.curWebGLTexture = this.curFrame.webGL_texture
  6659. }, v.saveToJSON = function() {
  6660. var e = {
  6661. a: this.cur_animation.sid,
  6662. f: this.cur_frame,
  6663. cas: this.cur_anim_speed,
  6664. fs: this.frameStart,
  6665. ar: this.animRepeats,
  6666. at: this.animTimer.sum
  6667. };
  6668. return this.animPlaying || (e.ap = this.animPlaying), this.animForwards || (e.af = this.animForwards), e
  6669. }, v.loadFromJSON = function(e) {
  6670. var t = this.getAnimationBySid(e.a);
  6671. t && (this.cur_animation = t), this.cur_frame = e.f, this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1), this.cur_anim_speed = e.cas, this.frameStart = e.fs, this.animRepeats = e.ar, this.animTimer.reset(), this.animTimer.sum = e.at, this.animPlaying = e.hasOwnProperty("ap") ? e.ap : !0, this.animForwards = e.hasOwnProperty("af") ? e.af : !0, this.curFrame = this.cur_animation.frames[this.cur_frame], this.curWebGLTexture = this.curFrame.webGL_texture, this.collision_poly.set_pts(this.curFrame.poly_pts), this.hotspotX = this.curFrame.hotspotX, this.hotspotY = this.curFrame.hotspotY
  6672. }, v.animationFinish = function(e) {
  6673. this.cur_frame = e ? 0 : this.cur_animation.frames.length - 1, this.animPlaying = !1, this.animTriggerName = this.cur_animation.name, this.inAnimTrigger = !0, this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnyAnimFinished, this), this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnimFinished, this), this.inAnimTrigger = !1, this.animRepeats = 0
  6674. }, v.getNowTime = function() {
  6675. return this.animTimer.sum
  6676. }, v.tick = function() {
  6677. this.animTimer.add(this.runtime.getDt(this)), this.changeAnimName.length && this.doChangeAnim(), this.changeAnimFrame >= 0 && this.doChangeAnimFrame();
  6678. var e, t = this.getNowTime(),
  6679. n = this.cur_animation,
  6680. r = n.frames[this.cur_frame],
  6681. i = r.duration / this.cur_anim_speed;
  6682. this.animPlaying && t >= this.frameStart + i && (this.animForwards ? this.cur_frame++ : this.cur_frame--, this.frameStart += i, this.cur_frame >= n.frames.length && (n.pingpong ? (this.animForwards = !1, this.cur_frame = n.frames.length - 2) : n.loop ? this.cur_frame = n.repeatto : (this.animRepeats++, this.animRepeats >= n.repeatcount ? this.animationFinish(!1) : this.cur_frame = n.repeatto)), this.cur_frame < 0 && (n.pingpong ? (this.cur_frame = 1, this.animForwards = !0, n.loop || (this.animRepeats++, this.animRepeats >= n.repeatcount && this.animationFinish(!0))) : n.loop ? this.cur_frame = n.repeatto : (this.animRepeats++, this.animRepeats >= n.repeatcount ? this.animationFinish(!0) : this.cur_frame = n.repeatto)), this.cur_frame < 0 ? this.cur_frame = 0 : this.cur_frame >= n.frames.length && (this.cur_frame = n.frames.length - 1), t > this.frameStart + n.frames[this.cur_frame].duration / this.cur_anim_speed && (this.frameStart = t), e = n.frames[this.cur_frame], this.OnFrameChanged(r, e), this.runtime.redraw = !0)
  6683. }, v.getAnimationByName = function(e) {
  6684. var t, n, r;
  6685. for (t = 0, n = this.type.animations.length; n > t; t++)
  6686. if (r = this.type.animations[t], cr.equals_nocase(r.name, e)) return r;
  6687. return null
  6688. }, v.getAnimationBySid = function(e) {
  6689. var t, n, r;
  6690. for (t = 0, n = this.type.animations.length; n > t; t++)
  6691. if (r = this.type.animations[t], r.sid === e) return r;
  6692. return null
  6693. }, v.doChangeAnim = function() {
  6694. var e = this.cur_animation.frames[this.cur_frame],
  6695. t = this.getAnimationByName(this.changeAnimName);
  6696. this.changeAnimName = "", t && (cr.equals_nocase(t.name, this.cur_animation.name) && this.animPlaying || (this.cur_animation = t, this.cur_anim_speed = t.speed, this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1), 1 === this.changeAnimFrom && (this.cur_frame = 0), this.animPlaying = !0, this.frameStart = this.getNowTime(), this.animForwards = !0, this.OnFrameChanged(e, this.cur_animation.frames[this.cur_frame]), this.runtime.redraw = !0))
  6697. }, v.doChangeAnimFrame = function() {
  6698. var e = this.cur_animation.frames[this.cur_frame],
  6699. t = this.cur_frame;
  6700. this.cur_frame = cr.floor(this.changeAnimFrame), this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1), t !== this.cur_frame && (this.OnFrameChanged(e, this.cur_animation.frames[this.cur_frame]), this.frameStart = this.getNowTime(), this.runtime.redraw = !0), this.changeAnimFrame = -1
  6701. }, v.OnFrameChanged = function(e, t) {
  6702. var n = e.width,
  6703. r = e.height,
  6704. i = t.width,
  6705. s = t.height;
  6706. n != i && (this.width *= i / n), r != s && (this.height *= s / r), this.hotspotX = t.hotspotX, this.hotspotY = t.hotspotY, this.collision_poly.set_pts(t.poly_pts), this.set_bbox_changed(), this.curFrame = t, this.curWebGLTexture = t.webGL_texture;
  6707. var o, u, a;
  6708. for (o = 0, u = this.behavior_insts.length; u > o; o++) a = this.behavior_insts[o], a.onSpriteFrameChanged && a.onSpriteFrameChanged(e, t);
  6709. this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnFrameChanged, this)
  6710. }, v.draw = function(e) {
  6711. e.globalAlpha = this.opacity;
  6712. var t = this.curFrame,
  6713. n = t.spritesheeted,
  6714. r = t.texture_img,
  6715. i = this.x,
  6716. s = this.y,
  6717. o = this.width,
  6718. u = this.height;
  6719. if (0 === this.angle && o >= 0 && u >= 0) i -= this.hotspotX * o, s -= this.hotspotY * u, this.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), n ? e.drawImage(r, t.offx, t.offy, t.width, t.height, i, s, o, u) : e.drawImage(r, i, s, o, u);
  6720. else {
  6721. this.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), e.save();
  6722. var a = o > 0 ? 1 : -1,
  6723. f = u > 0 ? 1 : -1;
  6724. e.translate(i, s), (1 !== a || 1 !== f) && e.scale(a, f), e.rotate(this.angle * a * f);
  6725. var l = 0 - this.hotspotX * cr.abs(o),
  6726. c = 0 - this.hotspotY * cr.abs(u);
  6727. n ? e.drawImage(r, t.offx, t.offy, t.width, t.height, l, c, cr.abs(o), cr.abs(u)) : e.drawImage(r, l, c, cr.abs(o), cr.abs(u)), e.restore()
  6728. }
  6729. }, v.drawGL = function(e) {
  6730. e.setTexture(this.curWebGLTexture), e.setOpacity(this.opacity);
  6731. var t = this.curFrame,
  6732. n = this.bquad;
  6733. if (this.runtime.pixel_rounding) {
  6734. var r = (this.x + .5 | 0) - this.x,
  6735. i = (this.y + .5 | 0) - this.y;
  6736. t.spritesheeted ? e.quadTex(n.tlx + r, n.tly + i, n.trx + r, n.try_ + i, n.brx + r, n.bry + i, n.blx + r, n.bly + i, t.sheetTex) : e.quad(n.tlx + r, n.tly + i, n.trx + r, n.try_ + i, n.brx + r, n.bry + i, n.blx + r, n.bly + i)
  6737. } else t.spritesheeted ? e.quadTex(n.tlx, n.tly, n.trx, n.try_, n.brx, n.bry, n.blx, n.bly, t.sheetTex) : e.quad(n.tlx, n.tly, n.trx, n.try_, n.brx, n.bry, n.blx, n.bly)
  6738. }, v.getImagePointIndexByName = function(e) {
  6739. var t, n, r = this.curFrame;
  6740. for (t = 0, n = r.image_points.length; n > t; t++)
  6741. if (cr.equals_nocase(e, r.image_points[t][0])) return t;
  6742. return -1
  6743. }, v.getImagePoint = function(e, t) {
  6744. var n, r = this.curFrame,
  6745. i = r.image_points;
  6746. if (n = cr.is_string(e) ? this.getImagePointIndexByName(e) : e - 1, n = cr.floor(n), 0 > n || n >= i.length) return t ? this.x : this.y;
  6747. var s = (i[n][1] - r.hotspotX) * this.width,
  6748. o = i[n][2];
  6749. o = (o - r.hotspotY) * this.height;
  6750. var u = Math.cos(this.angle),
  6751. a = Math.sin(this.angle),
  6752. f = s * u - o * a;
  6753. return o = o * u + s * a, s = f, s += this.x, o += this.y, t ? s : o
  6754. };
  6755. var m = [],
  6756. g = -2,
  6757. y = [];
  6758. t.prototype.OnCollision = function(e) {
  6759. if (!e) return !1;
  6760. var t = this.runtime,
  6761. n = t.getCurrentCondition(),
  6762. r = n.type;
  6763. n.extra.collmemory || (n.extra.collmemory = {}, t.addDestroyCallback(function(e) {
  6764. return function(t) {
  6765. u(e, t)
  6766. }
  6767. }(n.extra.collmemory))); {
  6768. var i, f, l, c, h, p, d, v, m, b = n.extra.collmemory,
  6769. w = r.getCurrentSol(),
  6770. E = e.getCurrentSol(),
  6771. S = w.getObjects(),
  6772. x = this.runtime.tickcount,
  6773. T = x - 1,
  6774. N = t.getCurrentEventStack().current_event;
  6775. N.orblock
  6776. }
  6777. for (f = 0; f < S.length; f++) {
  6778. for (l = S[f], E.select_all ? (l.update_bbox(), this.runtime.getCollisionCandidates(l.layer, e, l.bbox, y), i = y) : i = E.getObjects(), c = 0; c < i.length; c++) h = i[c], t.testOverlap(l, h) || t.checkRegisteredCollision(l, h) ? (v = a(b, l, h), m = !v || T > g, s(b, l, h, x), m && (t.pushCopySol(N.solModifiers), p = r.getCurrentSol(), d = e.getCurrentSol(), p.select_all = !1, d.select_all = !1, r === e ? (p.instances.length = 2, p.instances[0] = l, p.instances[1] = h, r.applySolToContainer()) : (p.instances.length = 1, d.instances.length = 1, p.instances[0] = l, d.instances[0] = h, r.applySolToContainer(), e.applySolToContainer()), N.retrigger(), t.popSol(N.solModifiers))) : o(b, l, h);
  6779. y.length = 0
  6780. }
  6781. return !1
  6782. };
  6783. var b = null,
  6784. w = new cr.ObjectSet,
  6785. E = !1,
  6786. S = [];
  6787. p.finish = function(e) {
  6788. if (E) {
  6789. if (e) {
  6790. var t, n, r, i = this.runtime.getCurrentEventStack().current_event.orblock,
  6791. s = b.getCurrentSol(),
  6792. o = w.valuesRef();
  6793. if (s.select_all) {
  6794. for (s.select_all = !1, s.instances.length = o.length, t = 0, n = o.length; n > t; t++) s.instances[t] = o[t];
  6795. if (i)
  6796. for (s.else_instances.length = 0, t = 0, n = b.instances.length; n > t; t++) r = b.instances[t], w.contains(r) || s.else_instances.push(r)
  6797. } else if (i) {
  6798. var u = s.instances.length;
  6799. for (s.instances.length = u + o.length, t = 0, n = o.length; n > t; t++) s.instances[u + t] = o[t], cr.arrayFindRemove(s.else_instances, o[t])
  6800. } else cr.shallowAssignArray(s.instances, o);
  6801. b.applySolToContainer()
  6802. }
  6803. w.clear(), E = !1
  6804. }
  6805. }, t.prototype.IsOverlapping = function(e) {
  6806. return f.call(this, e, 0, 0)
  6807. }, t.prototype.IsOverlappingOffset = function(e, t, n) {
  6808. return f.call(this, e, t, n)
  6809. }, t.prototype.IsAnimPlaying = function(e) {
  6810. return this.changeAnimName.length ? cr.equals_nocase(this.changeAnimName, e) : cr.equals_nocase(this.cur_animation.name, e)
  6811. }, t.prototype.CompareFrame = function(e, t) {
  6812. return cr.do_cmp(this.cur_frame, e, t)
  6813. }, t.prototype.CompareAnimSpeed = function(e, t) {
  6814. var n = this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed;
  6815. return cr.do_cmp(n, e, t)
  6816. }, t.prototype.OnAnimFinished = function(e) {
  6817. return cr.equals_nocase(this.animTriggerName, e)
  6818. }, t.prototype.OnAnyAnimFinished = function() {
  6819. return !0
  6820. }, t.prototype.OnFrameChanged = function() {
  6821. return !0
  6822. }, t.prototype.IsMirrored = function() {
  6823. return this.width < 0
  6824. }, t.prototype.IsFlipped = function() {
  6825. return this.height < 0
  6826. }, t.prototype.OnURLLoaded = function() {
  6827. return !0
  6828. }, t.prototype.IsCollisionEnabled = function() {
  6829. return this.collisionsEnabled
  6830. }, h.cnds = new t, l.prototype.Spawn = function(e, t, n) {
  6831. if (e && t) {
  6832. var r = this.runtime.createInstance(e, t, this.getImagePoint(n, !0), this.getImagePoint(n, !1));
  6833. if (r) {
  6834. "undefined" != typeof r.angle && (r.angle = this.angle, r.set_bbox_changed()), this.runtime.isInOnDestroy++;
  6835. var i, s, o;
  6836. if (this.runtime.trigger(Object.getPrototypeOf(e.plugin).cnds.OnCreated, r), r.is_contained)
  6837. for (i = 0, s = r.siblings.length; s > i; i++) o = r.siblings[i], this.runtime.trigger(Object.getPrototypeOf(o.type.plugin).cnds.OnCreated, o);
  6838. this.runtime.isInOnDestroy--;
  6839. var u = this.runtime.getCurrentAction(),
  6840. a = !1;
  6841. (cr.is_undefined(u.extra.Spawn_LastExec) || u.extra.Spawn_LastExec < this.runtime.execcount) && (a = !0, u.extra.Spawn_LastExec = this.runtime.execcount);
  6842. var f;
  6843. if (e != this.type && (f = e.getCurrentSol(), f.select_all = !1, a ? (f.instances.length = 1, f.instances[0] = r) : f.instances.push(r), r.is_contained))
  6844. for (i = 0, s = r.siblings.length; s > i; i++) o = r.siblings[i], f = o.type.getCurrentSol(), f.select_all = !1, a ? (f.instances.length = 1, f.instances[0] = o) : f.instances.push(o)
  6845. }
  6846. }
  6847. }, l.prototype.SetEffect = function(e) {
  6848. this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
  6849. }, l.prototype.StopAnim = function() {
  6850. this.animPlaying = !1
  6851. }, l.prototype.StartAnim = function(e) {
  6852. this.animPlaying = !0, this.frameStart = this.getNowTime(), 1 === e && 0 !== this.cur_frame && (this.changeAnimFrame = 0, this.inAnimTrigger || this.doChangeAnimFrame()), this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0)
  6853. }, l.prototype.SetAnim = function(e, t) {
  6854. this.changeAnimName = e, this.changeAnimFrom = t, this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0), this.inAnimTrigger || this.doChangeAnim()
  6855. }, l.prototype.SetAnimFrame = function(e) {
  6856. this.changeAnimFrame = e, this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0), this.inAnimTrigger || this.doChangeAnimFrame()
  6857. }, l.prototype.SetAnimSpeed = function(e) {
  6858. this.cur_anim_speed = cr.abs(e), this.animForwards = e >= 0, this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0)
  6859. }, l.prototype.SetMirrored = function(e) {
  6860. var t = cr.abs(this.width) * (0 === e ? -1 : 1);
  6861. this.width !== t && (this.width = t, this.set_bbox_changed())
  6862. }, l.prototype.SetFlipped = function(e) {
  6863. var t = cr.abs(this.height) * (0 === e ? -1 : 1);
  6864. this.height !== t && (this.height = t, this.set_bbox_changed())
  6865. }, l.prototype.SetScale = function(e) {
  6866. var t = this.curFrame,
  6867. n = this.width < 0 ? -1 : 1,
  6868. r = this.height < 0 ? -1 : 1,
  6869. i = t.width * e * n,
  6870. s = t.height * e * r;
  6871. (this.width !== i || this.height !== s) && (this.width = i, this.height = s, this.set_bbox_changed())
  6872. }, l.prototype.LoadURL = function(e, t) {
  6873. var n = new Image,
  6874. r = this,
  6875. i = this.curFrame;
  6876. n.onload = function() {
  6877. return i.texture_img.src === n.src ? (r.runtime.glwrap && r.curFrame === i && (r.curWebGLTexture = i.webGL_texture), r.runtime.redraw = !0, void r.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, r)) : (i.texture_img = n, i.offx = 0, i.offy = 0, i.width = n.width, i.height = n.height, i.spritesheeted = !1, i.datauri = "", r.runtime.glwrap && (i.webGL_texture && r.runtime.glwrap.deleteTexture(i.webGL_texture), i.webGL_texture = r.runtime.glwrap.loadTexture(n, !1, r.runtime.linearSampling), r.curFrame === i && (r.curWebGLTexture = i.webGL_texture), r.type.updateAllCurrentTexture()), 0 === t && (r.width = n.width, r.height = n.height, r.set_bbox_changed()), r.runtime.redraw = !0, void r.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, r))
  6878. }, "data:" !== e.substr(0, 5) && (n.crossOrigin = "anonymous"), n.src = e
  6879. }, l.prototype.SetCollisions = function(e) {
  6880. this.collisionsEnabled !== (0 !== e) && (this.collisionsEnabled = 0 !== e, this.collisionsEnabled ? this.set_bbox_changed() : (this.collcells.right >= this.collcells.left && this.type.collision_grid.update(this, this.collcells, null), this.collcells.set(0, 0, -1, -1)))
  6881. }, h.acts = new l, c.prototype.AnimationFrame = function(e) {
  6882. e.set_int(this.cur_frame)
  6883. }, c.prototype.AnimationFrameCount = function(e) {
  6884. e.set_int(this.cur_animation.frames.length)
  6885. }, c.prototype.AnimationName = function(e) {
  6886. e.set_string(this.cur_animation.name)
  6887. }, c.prototype.AnimationSpeed = function(e) {
  6888. e.set_float(this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed)
  6889. }, c.prototype.ImagePointX = function(e, t) {
  6890. e.set_float(this.getImagePoint(t, !0))
  6891. }, c.prototype.ImagePointY = function(e, t) {
  6892. e.set_float(this.getImagePoint(t, !1))
  6893. }, c.prototype.ImagePointCount = function(e) {
  6894. e.set_int(this.curFrame.image_points.length)
  6895. }, c.prototype.ImageWidth = function(e) {
  6896. e.set_float(this.curFrame.width)
  6897. }, c.prototype.ImageHeight = function(e) {
  6898. e.set_float(this.curFrame.height)
  6899. }, h.exps = new c
  6900. }(), cr.plugins_.Text = function(e) {
  6901. this.runtime = e
  6902. },
  6903. function() {
  6904. function e() {
  6905. return c.length ? c.pop() : {}
  6906. }
  6907. function t(e) {
  6908. c.push(e)
  6909. }
  6910. function n(e) {
  6911. var n, r;
  6912. for (n = 0, r = e.length; r > n; n++) t(e[n]);
  6913. e.length = 0
  6914. }
  6915. function r() {}
  6916. function i() {}
  6917. function s() {}
  6918. var o = cr.plugins_.Text.prototype;
  6919. o.onCreate = function() {
  6920. o.acts.SetWidth = function(e) {
  6921. this.width !== e && (this.width = e, this.text_changed = !0, this.set_bbox_changed())
  6922. }
  6923. }, o.Type = function(e) {
  6924. this.plugin = e, this.runtime = e.runtime
  6925. };
  6926. var u = o.Type.prototype;
  6927. u.onCreate = function() {}, u.onLostWebGLContext = function() {
  6928. if (!this.is_family) {
  6929. var e, t, n;
  6930. for (e = 0, t = this.instances.length; t > e; e++) n = this.instances[e], n.mycanvas = null, n.myctx = null, n.mytex = null
  6931. }
  6932. }, o.Instance = function(e) {
  6933. this.type = e, this.runtime = e.runtime, this.recycled ? this.lines.length = 0 : this.lines = [], this.text_changed = !0
  6934. };
  6935. var a = o.Instance.prototype,
  6936. f = {};
  6937. a.onCreate = function() {
  6938. this.text = this.properties[0], this.visible = 0 === this.properties[1], this.font = this.properties[2], this.color = this.properties[3], this.halign = this.properties[4], this.valign = this.properties[5], this.wrapbyword = 0 === this.properties[7], this.lastwidth = this.width, this.lastwrapwidth = this.width, this.lastheight = this.height, this.line_height_offset = this.properties[8], this.facename = "", this.fontstyle = "", this.ptSize = 0, this.textWidth = 0, this.textHeight = 0, this.parseFont(), this.mycanvas = null, this.myctx = null, this.mytex = null, this.need_text_redraw = !1, this.last_render_tick = this.runtime.tickcount, this.recycled ? this.rcTex.set(0, 0, 1, 1) : this.rcTex = new cr.rect(0, 0, 1, 1), this.runtime.glwrap && this.runtime.tickMe(this)
  6939. }, a.parseFont = function() {
  6940. var e, t = this.font.split(" ");
  6941. for (e = 0; e < t.length; e++)
  6942. if ("pt" === t[e].substr(t[e].length - 2, 2)) {
  6943. for (this.ptSize = parseInt(t[e].substr(0, t[e].length - 2)), this.pxHeight = Math.ceil(this.ptSize / 72 * 96) + 4, e > 0 && (this.fontstyle = t[e - 1]), this.facename = t[e + 1], e += 2; e < t.length; e++) this.facename += " " + t[e];
  6944. break
  6945. }
  6946. }, a.saveToJSON = function() {
  6947. return {
  6948. t: this.text,
  6949. f: this.font,
  6950. c: this.color,
  6951. ha: this.halign,
  6952. va: this.valign,
  6953. wr: this.wrapbyword,
  6954. lho: this.line_height_offset,
  6955. fn: this.facename,
  6956. fs: this.fontstyle,
  6957. ps: this.ptSize,
  6958. pxh: this.pxHeight,
  6959. tw: this.textWidth,
  6960. th: this.textHeight,
  6961. lrt: this.last_render_tick
  6962. }
  6963. }, a.loadFromJSON = function(e) {
  6964. this.text = e.t, this.font = e.f, this.color = e.c, this.halign = e.ha, this.valign = e.va, this.wrapbyword = e.wr, this.line_height_offset = e.lho, this.facename = e.fn, this.fontstyle = e.fs, this.ptSize = e.ps, this.pxHeight = e.pxh, this.textWidth = e.tw, this.textHeight = e.th, this.last_render_tick = e.lrt, this.text_changed = !0, this.lastwidth = this.width, this.lastwrapwidth = this.width, this.lastheight = this.height
  6965. }, a.tick = function() {
  6966. if (this.runtime.glwrap && this.mytex && this.runtime.tickcount - this.last_render_tick >= 300) {
  6967. var e = this.layer;
  6968. this.update_bbox();
  6969. var t = this.bbox;
  6970. (t.right < e.viewLeft || t.bottom < e.viewTop || t.left > e.viewRight || t.top > e.viewBottom) && (this.runtime.glwrap.deleteTexture(this.mytex), this.mytex = null, this.myctx = null, this.mycanvas = null)
  6971. }
  6972. }, a.onDestroy = function() {
  6973. this.myctx = null, this.mycanvas = null, this.runtime.glwrap && this.mytex && this.runtime.glwrap.deleteTexture(this.mytex), this.mytex = null
  6974. }, a.updateFont = function() {
  6975. this.font = this.fontstyle + " " + this.ptSize.toString() + "pt " + this.facename, this.text_changed = !0, this.runtime.redraw = !0
  6976. }, a.draw = function(e, t) {
  6977. e.font = this.font, e.textBaseline = "top", e.fillStyle = this.color, e.globalAlpha = t ? 1 : this.opacity;
  6978. var n = 1;
  6979. t && (n = this.layer.getScale(), e.save(), e.scale(n, n)), (this.text_changed || this.width !== this.lastwrapwidth) && (this.type.plugin.WordWrap(this.text, this.lines, e, this.width, this.wrapbyword), this.text_changed = !1, this.lastwrapwidth = this.width), this.update_bbox();
  6980. var r = t ? 0 : this.bquad.tlx,
  6981. i = t ? 0 : this.bquad.tly;
  6982. this.runtime.pixel_rounding && (r = r + .5 | 0, i = i + .5 | 0), 0 === this.angle || t || (e.save(), e.translate(r, i), e.rotate(this.angle), r = 0, i = 0);
  6983. var s = i + this.height,
  6984. o = this.pxHeight;
  6985. o += this.line_height_offset;
  6986. var u, a;
  6987. for (1 === this.valign ? i += Math.max(this.height / 2 - this.lines.length * o / 2, 0) : 2 === this.valign && (i += Math.max(this.height - this.lines.length * o - 2, 0)), a = 0; a < this.lines.length && (u = r, 1 === this.halign ? u = r + (this.width - this.lines[a].width) / 2 : 2 === this.halign && (u = r + (this.width - this.lines[a].width)), e.fillText(this.lines[a].text, u, i), i += o, !(i >= s - o)); a++);
  6988. (0 !== this.angle || t) && e.restore(), this.last_render_tick = this.runtime.tickcount
  6989. }, a.drawGL = function(e) {
  6990. if (!(this.width < 1 || this.height < 1)) {
  6991. var t = this.text_changed || this.need_text_redraw;
  6992. this.need_text_redraw = !1;
  6993. var n = this.layer.getScale(),
  6994. r = this.layer.getAngle(),
  6995. i = this.rcTex,
  6996. s = n * this.width,
  6997. o = n * this.height,
  6998. u = Math.ceil(s),
  6999. a = Math.ceil(o),
  7000. f = this.runtime.draw_width / 2,
  7001. l = this.runtime.draw_height / 2;
  7002. this.myctx || (this.mycanvas = document.createElement("canvas"), this.mycanvas.width = u, this.mycanvas.height = a, this.lastwidth = u, this.lastheight = a, t = !0, this.myctx = this.mycanvas.getContext("2d")), (u !== this.lastwidth || a !== this.lastheight) && (this.mycanvas.width = u, this.mycanvas.height = a, this.mytex && (e.deleteTexture(this.mytex), this.mytex = null), t = !0), t && (this.myctx.clearRect(0, 0, u, a), this.draw(this.myctx, !0), this.mytex || (this.mytex = e.createEmptyTexture(u, a, this.runtime.linearSampling, this.runtime.isMobile)), e.videoToTexture(this.mycanvas, this.mytex, this.runtime.isMobile)), this.lastwidth = u, this.lastheight = a, e.setTexture(this.mytex), e.setOpacity(this.opacity), e.resetModelView(), e.translate(-f, -l), e.updateModelView();
  7003. var c = this.bquad,
  7004. h = this.layer.layerToCanvas(c.tlx, c.tly, !0, !0),
  7005. p = this.layer.layerToCanvas(c.tlx, c.tly, !1, !0),
  7006. d = this.layer.layerToCanvas(c.trx, c.try_, !0, !0),
  7007. v = this.layer.layerToCanvas(c.trx, c.try_, !1, !0),
  7008. m = this.layer.layerToCanvas(c.brx, c.bry, !0, !0),
  7009. g = this.layer.layerToCanvas(c.brx, c.bry, !1, !0),
  7010. y = this.layer.layerToCanvas(c.blx, c.bly, !0, !0),
  7011. b = this.layer.layerToCanvas(c.blx, c.bly, !1, !0);
  7012. if (this.runtime.pixel_rounding || 0 === this.angle && 0 === r) {
  7013. var w = (h + .5 | 0) - h,
  7014. E = (p + .5 | 0) - p;
  7015. h += w, p += E, d += w, v += E, m += w, g += E, y += w, b += E
  7016. }
  7017. 0 === this.angle && 0 === r ? (d = h + u, v = p, m = d, g = p + a, y = h, b = g, i.right = 1, i.bottom = 1) : (i.right = s / u, i.bottom = o / a), e.quadTex(h, p, d, v, m, g, y, b, i), e.resetModelView(), e.scale(n, n), e.rotateZ(-this.layer.getAngle()), e.translate((this.layer.viewLeft + this.layer.viewRight) / -2, (this.layer.viewTop + this.layer.viewBottom) / -2), e.updateModelView(), this.last_render_tick = this.runtime.tickcount
  7018. }
  7019. };
  7020. var l = [];
  7021. o.TokeniseWords = function(e) {
  7022. l.length = 0;
  7023. for (var t, n = "", r = 0; r < e.length;)
  7024. if (t = e.charAt(r), "\n" === t) n.length && (l.push(n), n = ""), l.push("\n"), ++r;
  7025. else if (" " === t || " " === t || "-" === t) {
  7026. do n += e.charAt(r), r++; while (r < e.length && (" " === e.charAt(r) || " " === e.charAt(r)));
  7027. l.push(n), n = ""
  7028. } else r < e.length && (n += t, r++);
  7029. n.length && l.push(n)
  7030. };
  7031. var c = [];
  7032. o.WordWrap = function(t, r, i, s, o) {
  7033. if (!t || !t.length) return void n(r);
  7034. if (2 >= s) return void n(r);
  7035. if (t.length <= 100 && -1 === t.indexOf("\n")) {
  7036. var u = i.measureText(t).width;
  7037. if (s >= u) return n(r), r.push(e()), r[0].text = t, void(r[0].width = u)
  7038. }
  7039. this.WrapText(t, r, i, s, o)
  7040. }, o.WrapText = function(n, r, i, s, o) {
  7041. var u;
  7042. o ? (this.TokeniseWords(n), u = l) : u = n;
  7043. var a, f, c, p, d = "",
  7044. v = 0;
  7045. for (c = 0; c < u.length; c++) "\n" !== u[c] ? (a = d, d += u[c], f = i.measureText(d).width, f >= s && (v >= r.length && r.push(e()), p = r[v], p.text = a, p.width = i.measureText(a).width, v++, d = u[c], o || " " !== d || (d = ""))) : (v >= r.length && r.push(e()), p = r[v], p.text = d, p.width = i.measureText(d).width, v++, d = "");
  7046. for (d.length && (v >= r.length && r.push(e()), p = r[v], p.text = d, p.width = i.measureText(d).width, v++), c = v; c < r.length; c++) t(r[c]);
  7047. r.length = v
  7048. }, r.prototype.CompareText = function(e, t) {
  7049. return t ? this.text == e : cr.equals_nocase(this.text, e)
  7050. }, o.cnds = new r, i.prototype.SetText = function(e) {
  7051. cr.is_number(e) && 1e9 > e && (e = Math.round(1e10 * e) / 1e10);
  7052. var t = e.toString();
  7053. this.text !== t && (this.text = t, this.text_changed = !0, this.runtime.redraw = !0)
  7054. }, i.prototype.AppendText = function(e) {
  7055. cr.is_number(e) && (e = Math.round(1e10 * e) / 1e10);
  7056. var t = e.toString();
  7057. t && (this.text += t, this.text_changed = !0, this.runtime.redraw = !0)
  7058. }, i.prototype.SetFontFace = function(e, t) {
  7059. var n = "";
  7060. switch (t) {
  7061. case 1:
  7062. n = "bold";
  7063. break;
  7064. case 2:
  7065. n = "italic";
  7066. break;
  7067. case 3:
  7068. n = "bold italic"
  7069. }(e !== this.facename || n !== this.fontstyle) && (this.facename = e, this.fontstyle = n, this.updateFont())
  7070. }, i.prototype.SetFontSize = function(e) {
  7071. this.ptSize !== e && (this.ptSize = e, this.pxHeight = Math.ceil(this.ptSize / 72 * 96) + 4, this.updateFont())
  7072. }, i.prototype.SetFontColor = function(e) {
  7073. var t = "rgb(" + cr.GetRValue(e).toString() + "," + cr.GetGValue(e).toString() + "," + cr.GetBValue(e).toString() + ")";
  7074. t !== this.color && (this.color = t, this.need_text_redraw = !0, this.runtime.redraw = !0)
  7075. }, i.prototype.SetWebFont = function(e, t) {
  7076. if (this.runtime.isDomFree) return void cr.logexport("[Construct 2] Text plugin: 'Set web font' not supported on this platform - the action has been ignored");
  7077. var n = this,
  7078. r = function() {
  7079. n.runtime.redraw = !0, n.text_changed = !0
  7080. };
  7081. if (f.hasOwnProperty(t)) {
  7082. var i = "'" + e + "'";
  7083. if (this.facename === i) return;
  7084. this.facename = i, this.updateFont();
  7085. for (var s = 1; 10 > s; s++) setTimeout(r, 100 * s), setTimeout(r, 1e3 * s)
  7086. } else {
  7087. var o = document.createElement("link");
  7088. o.href = t, o.rel = "stylesheet", o.type = "text/css", o.onload = r, document.getElementsByTagName("head")[0].appendChild(o), f[t] = !0, this.facename = "'" + e + "'", this.updateFont();
  7089. for (var s = 1; 10 > s; s++) setTimeout(r, 100 * s), setTimeout(r, 1e3 * s)
  7090. }
  7091. }, i.prototype.SetEffect = function(e) {
  7092. this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
  7093. }, o.acts = new i, s.prototype.Text = function(e) {
  7094. e.set_string(this.text)
  7095. }, s.prototype.FaceName = function(e) {
  7096. e.set_string(this.facename)
  7097. }, s.prototype.FaceSize = function(e) {
  7098. e.set_int(this.ptSize)
  7099. }, s.prototype.TextWidth = function(e) {
  7100. var t, n, r, i = 0;
  7101. for (t = 0, n = this.lines.length; n > t; t++) r = this.lines[t].width, r > i && (i = r);
  7102. e.set_int(i)
  7103. }, s.prototype.TextHeight = function(e) {
  7104. e.set_int(this.lines.length * (this.pxHeight + this.line_height_offset) - this.line_height_offset)
  7105. }, o.exps = new s
  7106. }(), cr.plugins_.TiledBg = function(e) {
  7107. this.runtime = e
  7108. },
  7109. function() {
  7110. function e() {}
  7111. function t() {}
  7112. function n() {}
  7113. var r = cr.plugins_.TiledBg.prototype;
  7114. r.Type = function(e) {
  7115. this.plugin = e, this.runtime = e.runtime
  7116. };
  7117. var i = r.Type.prototype;
  7118. i.onCreate = function() {
  7119. this.is_family || (this.texture_img = new Image, this.texture_img.idtkLoadDisposed = !0, this.texture_img.src = this.texture_file, this.texture_img.cr_filesize = this.texture_filesize, this.runtime.waitForImageLoad(this.texture_img), this.pattern = null, this.webGL_texture = null)
  7120. }, i.onLostWebGLContext = function() {
  7121. this.is_family || (this.webGL_texture = null)
  7122. }, i.onRestoreWebGLContext = function() {
  7123. if (!this.is_family && this.instances.length) {
  7124. this.webGL_texture || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat));
  7125. var e, t;
  7126. for (e = 0, t = this.instances.length; t > e; e++) this.instances[e].webGL_texture = this.webGL_texture
  7127. }
  7128. }, i.loadTextures = function() {
  7129. this.is_family || this.webGL_texture || !this.runtime.glwrap || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat))
  7130. }, i.unloadTextures = function() {
  7131. this.is_family || this.instances.length || !this.webGL_texture || (this.runtime.glwrap.deleteTexture(this.webGL_texture), this.webGL_texture = null)
  7132. }, i.preloadCanvas2D = function(e) {
  7133. e.drawImage(this.texture_img, 0, 0)
  7134. }, r.Instance = function(e) {
  7135. this.type = e, this.runtime = e.runtime
  7136. };
  7137. var s = r.Instance.prototype;
  7138. s.onCreate = function() {
  7139. this.visible = 0 === this.properties[0], this.rcTex = new cr.rect(0, 0, 0, 0), this.has_own_texture = !1, this.texture_img = this.type.texture_img, this.runtime.glwrap ? (this.type.loadTextures(), this.webGL_texture = this.type.webGL_texture) : (this.type.pattern || (this.type.pattern = this.runtime.ctx.createPattern(this.type.texture_img, "repeat")), this.pattern = this.type.pattern)
  7140. }, s.afterLoad = function() {
  7141. this.has_own_texture = !1, this.texture_img = this.type.texture_img
  7142. }, s.onDestroy = function() {
  7143. this.runtime.glwrap && this.has_own_texture && this.webGL_texture && (this.runtime.glwrap.deleteTexture(this.webGL_texture), this.webGL_texture = null)
  7144. }, s.draw = function(e) {
  7145. e.globalAlpha = this.opacity, e.save(), e.fillStyle = this.pattern;
  7146. var t = this.x,
  7147. n = this.y;
  7148. this.runtime.pixel_rounding && (t = t + .5 | 0, n = n + .5 | 0);
  7149. var r = -(this.hotspotX * this.width),
  7150. i = -(this.hotspotY * this.height),
  7151. s = r % this.texture_img.width,
  7152. o = i % this.texture_img.height;
  7153. 0 > s && (s += this.texture_img.width), 0 > o && (o += this.texture_img.height), e.translate(t, n), e.rotate(this.angle), e.translate(s, o), e.fillRect(r - s, i - o, this.width, this.height), e.restore()
  7154. }, s.drawGL = function(e) {
  7155. e.setTexture(this.webGL_texture), e.setOpacity(this.opacity);
  7156. var t = this.rcTex;
  7157. t.right = this.width / this.texture_img.width, t.bottom = this.height / this.texture_img.height;
  7158. var n = this.bquad;
  7159. if (this.runtime.pixel_rounding) {
  7160. var r = (this.x + .5 | 0) - this.x,
  7161. i = (this.y + .5 | 0) - this.y;
  7162. e.quadTex(n.tlx + r, n.tly + i, n.trx + r, n.try_ + i, n.brx + r, n.bry + i, n.blx + r, n.bly + i, t)
  7163. } else e.quadTex(n.tlx, n.tly, n.trx, n.try_, n.brx, n.bry, n.blx, n.bly, t)
  7164. }, e.prototype.OnURLLoaded = function() {
  7165. return !0
  7166. }, r.cnds = new e, t.prototype.SetEffect = function(e) {
  7167. this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
  7168. }, t.prototype.LoadURL = function(e) {
  7169. var t = new Image,
  7170. n = this;
  7171. t.onload = function() {
  7172. n.texture_img = t, n.runtime.glwrap ? (n.has_own_texture && n.webGL_texture && n.runtime.glwrap.deleteTexture(n.webGL_texture), n.webGL_texture = n.runtime.glwrap.loadTexture(t, !0, n.runtime.linearSampling)) : n.pattern = n.runtime.ctx.createPattern(t, "repeat"), n.has_own_texture = !0, n.runtime.redraw = !0, n.runtime.trigger(cr.plugins_.TiledBg.prototype.cnds.OnURLLoaded, n)
  7173. }, "data:" !== e.substr(0, 5) && (t.crossOrigin = "anonymous"), t.src = e
  7174. }, r.acts = new t, n.prototype.ImageWidth = function(e) {
  7175. e.set_float(this.texture_img.width)
  7176. }, n.prototype.ImageHeight = function(e) {
  7177. e.set_float(this.texture_img.height)
  7178. }, r.exps = new n
  7179. }(), cr.plugins_.Touch = function(e) {
  7180. this.runtime = e
  7181. },
  7182. function() {
  7183. function e(e) {
  7184. c = e.x, h = e.y, p = e.z
  7185. }
  7186. function t(e) {
  7187. d = e.x, v = e.y, m = e.z
  7188. }
  7189. function n(e, t, n, r) {
  7190. var s;
  7191. return s = y.length ? y.pop() : new i, s.init(e, t, n, r), s
  7192. }
  7193. function r(e) {
  7194. y.length < 100 && y.push(e)
  7195. }
  7196. function i() {
  7197. this.starttime = 0, this.time = 0, this.lasttime = 0, this.startx = 0, this.starty = 0, this.x = 0, this.y = 0, this.lastx = 0, this.lasty = 0, this.id = 0, this.startindex = 0, this.triggeredHold = !1, this.tooFarForHold = !1
  7198. }
  7199. function s() {}
  7200. function o() {}
  7201. var u = cr.plugins_.Touch.prototype;
  7202. u.Type = function(e) {
  7203. this.plugin = e, this.runtime = e.runtime
  7204. };
  7205. var a = u.Type.prototype;
  7206. a.onCreate = function() {}, u.Instance = function(e) {
  7207. this.type = e, this.runtime = e.runtime, this.touches = [], this.mouseDown = !1
  7208. };
  7209. var f = u.Instance.prototype,
  7210. l = {
  7211. left: 0,
  7212. top: 0
  7213. };
  7214. f.findTouch = function(e) {
  7215. var t, n;
  7216. for (t = 0, n = this.touches.length; n > t; t++)
  7217. if (this.touches[t].id === e) return t;
  7218. return -1
  7219. };
  7220. var c = 0,
  7221. h = 0,
  7222. p = 0,
  7223. d = 0,
  7224. v = 0,
  7225. m = 0,
  7226. g = null,
  7227. y = [],
  7228. b = 15,
  7229. w = 500,
  7230. E = 333,
  7231. S = 25;
  7232. i.prototype.init = function(e, t, n, r) {
  7233. var i = cr.performance_now();
  7234. this.time = i, this.lasttime = i, this.starttime = i, this.startx = e, this.starty = t, this.x = e, this.y = t, this.lastx = e, this.lasty = t, this.id = n, this.startindex = r, this.triggeredHold = !1, this.tooFarForHold = !1
  7235. }, i.prototype.update = function(e, t, n) {
  7236. this.lasttime = this.time, this.time = e, this.lastx = this.x, this.lasty = this.y, this.x = t, this.y = n, !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) >= b && (this.tooFarForHold = !0)
  7237. }, i.prototype.maybeTriggerHold = function(e, t) {
  7238. if (!this.triggeredHold) {
  7239. var n = cr.performance_now();
  7240. n - this.starttime >= w && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < b && (this.triggeredHold = !0, e.trigger_index = this.startindex, e.trigger_id = this.id, e.getTouchIndex = t, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGesture, e), e.curTouchX = this.x, e.curTouchY = this.y, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGestureObject, e), e.getTouchIndex = 0)
  7241. }
  7242. };
  7243. var x = -1e3,
  7244. T = -1e3,
  7245. N = -1e4;
  7246. i.prototype.maybeTriggerTap = function(e, t) {
  7247. if (!this.triggeredHold) {
  7248. var n = cr.performance_now();
  7249. n - this.starttime <= E && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < b && (e.trigger_index = this.startindex, e.trigger_id = this.id, e.getTouchIndex = t, 2 * E >= n - N && cr.distanceTo(x, T, this.x, this.y) < S ? (e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGesture, e), e.curTouchX = this.x, e.curTouchY = this.y, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGestureObject, e), x = -1e3, T = -1e3, N = -1e4) : (e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGesture, e), e.curTouchX = this.x, e.curTouchY = this.y, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGestureObject, e), x = this.x, T = this.y, N = n), e.getTouchIndex = 0)
  7250. }
  7251. }, f.onCreate = function() {
  7252. g = this, this.isWindows8 = !("undefined" == typeof window.c2isWindows8 || !window.c2isWindows8), this.orient_alpha = 0, this.orient_beta = 0, this.orient_gamma = 0, this.acc_g_x = 0, this.acc_g_y = 0, this.acc_g_z = 0, this.acc_x = 0, this.acc_y = 0, this.acc_z = 0, this.curTouchX = 0, this.curTouchY = 0, this.trigger_index = 0, this.trigger_id = 0, this.getTouchIndex = 0, this.useMouseInput = 0 !== this.properties[0];
  7253. var n = this.runtime.fullscreen_mode > 0 ? document : this.runtime.canvas,
  7254. r = document;
  7255. this.runtime.isDirectCanvas ? r = n = window.Canvas : this.runtime.isCocoonJs && (r = n = window);
  7256. var i = this;
  7257. if (window.navigator.pointerEnabled ? (n.addEventListener("pointerdown", function(e) {
  7258. i.onPointerStart(e)
  7259. }, !1), n.addEventListener("pointermove", function(e) {
  7260. i.onPointerMove(e)
  7261. }, !1), r.addEventListener("pointerup", function(e) {
  7262. i.onPointerEnd(e, !1)
  7263. }, !1), r.addEventListener("pointercancel", function(e) {
  7264. i.onPointerEnd(e, !0)
  7265. }, !1), this.runtime.canvas && (this.runtime.canvas.addEventListener("MSGestureHold", function(e) {
  7266. e.preventDefault()
  7267. }, !1), document.addEventListener("MSGestureHold", function(e) {
  7268. e.preventDefault()
  7269. }, !1), this.runtime.canvas.addEventListener("gesturehold", function(e) {
  7270. e.preventDefault()
  7271. }, !1), document.addEventListener("gesturehold", function(e) {
  7272. e.preventDefault()
  7273. }, !1))) : window.navigator.msPointerEnabled ? (n.addEventListener("MSPointerDown", function(e) {
  7274. i.onPointerStart(e)
  7275. }, !1), n.addEventListener("MSPointerMove", function(e) {
  7276. i.onPointerMove(e)
  7277. }, !1), r.addEventListener("MSPointerUp", function(e) {
  7278. i.onPointerEnd(e, !1)
  7279. }, !1), r.addEventListener("MSPointerCancel", function(e) {
  7280. i.onPointerEnd(e, !0)
  7281. }, !1), this.runtime.canvas && (this.runtime.canvas.addEventListener("MSGestureHold", function(e) {
  7282. e.preventDefault()
  7283. }, !1), document.addEventListener("MSGestureHold", function(e) {
  7284. e.preventDefault()
  7285. }, !1))) : (n.addEventListener("touchstart", function(e) {
  7286. i.onTouchStart(e)
  7287. }, !1), n.addEventListener("touchmove", function(e) {
  7288. i.onTouchMove(e)
  7289. }, !1), r.addEventListener("touchend", function(e) {
  7290. i.onTouchEnd(e, !1)
  7291. }, !1), r.addEventListener("touchcancel", function(e) {
  7292. i.onTouchEnd(e, !0)
  7293. }, !1)), this.isWindows8) {
  7294. var s = function(e) {
  7295. var t = e.reading;
  7296. i.acc_x = t.accelerationX, i.acc_y = t.accelerationY, i.acc_z = t.accelerationZ
  7297. },
  7298. o = function(e) {
  7299. var t = e.reading;
  7300. i.orient_alpha = t.yawDegrees, i.orient_beta = t.pitchDegrees, i.orient_gamma = t.rollDegrees
  7301. },
  7302. u = Windows.Devices.Sensors.Accelerometer.getDefault();
  7303. u && (u.reportInterval = Math.max(u.minimumReportInterval, 16), u.addEventListener("readingchanged", s));
  7304. var a = Windows.Devices.Sensors.Inclinometer.getDefault();
  7305. a && (a.reportInterval = Math.max(a.minimumReportInterval, 16), a.addEventListener("readingchanged", o)), document.addEventListener("visibilitychange", function() {
  7306. document.hidden || document.msHidden ? (u && u.removeEventListener("readingchanged", s), a && a.removeEventListener("readingchanged", o)) : (u && u.addEventListener("readingchanged", s), a && a.addEventListener("readingchanged", o))
  7307. }, !1)
  7308. } else window.addEventListener("deviceorientation", function(e) {
  7309. i.orient_alpha = e.alpha || 0, i.orient_beta = e.beta || 0, i.orient_gamma = e.gamma || 0
  7310. }, !1), window.addEventListener("devicemotion", function(e) {
  7311. e.accelerationIncludingGravity && (i.acc_g_x = e.accelerationIncludingGravity.x || 0, i.acc_g_y = e.accelerationIncludingGravity.y || 0, i.acc_g_z = e.accelerationIncludingGravity.z || 0), e.acceleration && (i.acc_x = e.acceleration.x || 0, i.acc_y = e.acceleration.y || 0, i.acc_z = e.acceleration.z || 0)
  7312. }, !1);
  7313. this.useMouseInput && !this.runtime.isDomFree && (jQuery(document).mousemove(function(e) {
  7314. i.onMouseMove(e)
  7315. }), jQuery(document).mousedown(function(e) {
  7316. i.onMouseDown(e)
  7317. }), jQuery(document).mouseup(function(e) {
  7318. i.onMouseUp(e)
  7319. })), this.runtime.isAppMobi && !this.runtime.isDirectCanvas && AppMobi.accelerometer.watchAcceleration(e, {
  7320. frequency: 40,
  7321. adjustForRotation: !0
  7322. }), this.runtime.isPhoneGap && navigator.accelerometer && navigator.accelerometer.watchAcceleration && navigator.accelerometer.watchAcceleration(t, null, {
  7323. frequency: 40
  7324. }), this.runtime.tick2Me(this)
  7325. }, f.onPointerMove = function(e) {
  7326. if (e.pointerType !== e.MSPOINTER_TYPE_MOUSE && "mouse" !== e.pointerType) {
  7327. e.preventDefault && e.preventDefault();
  7328. var t = this.findTouch(e.pointerId),
  7329. n = cr.performance_now();
  7330. if (t >= 0) {
  7331. var r = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset(),
  7332. i = this.touches[t];
  7333. if (n - i.time < 2) return;
  7334. i.update(n, e.pageX - r.left, e.pageY - r.top)
  7335. }
  7336. }
  7337. }, f.onPointerStart = function(e) {
  7338. if (e.pointerType !== e.MSPOINTER_TYPE_MOUSE && "mouse" !== e.pointerType) {
  7339. e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault(); {
  7340. var t = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset(),
  7341. r = e.pageX - t.left,
  7342. i = e.pageY - t.top;
  7343. cr.performance_now()
  7344. }
  7345. this.trigger_index = this.touches.length, this.trigger_id = e.pointerId, this.touches.push(n(r, i, e.pointerId, this.trigger_index)), this.runtime.isInUserInputEvent = !0, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this), this.curTouchX = r, this.curTouchY = i, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this), this.runtime.isInUserInputEvent = !1
  7346. }
  7347. }, f.onPointerEnd = function(e, t) {
  7348. if (e.pointerType !== e.MSPOINTER_TYPE_MOUSE && "mouse" !== e.pointerType) {
  7349. e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault();
  7350. var n = this.findTouch(e.pointerId);
  7351. this.trigger_index = n >= 0 ? this.touches[n].startindex : -1, this.trigger_id = n >= 0 ? this.touches[n].id : -1, this.runtime.isInUserInputEvent = !0, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this), n >= 0 && (t || this.touches[n].maybeTriggerTap(this, n), r(this.touches[n]), this.touches.splice(n, 1)), this.runtime.isInUserInputEvent = !1
  7352. }
  7353. }, f.onTouchMove = function(e) {
  7354. e.preventDefault && e.preventDefault();
  7355. var t, n, r, i, s = cr.performance_now();
  7356. for (t = 0, n = e.changedTouches.length; n > t; t++) {
  7357. r = e.changedTouches[t];
  7358. var o = this.findTouch(r.identifier);
  7359. if (o >= 0) {
  7360. var u = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset();
  7361. if (i = this.touches[o], s - i.time < 2) continue;
  7362. i.update(s, r.pageX - u.left, r.pageY - u.top)
  7363. }
  7364. }
  7365. }, f.onTouchStart = function(e) {
  7366. e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault(); {
  7367. var t = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset();
  7368. cr.performance_now()
  7369. }
  7370. this.runtime.isInUserInputEvent = !0;
  7371. var r, i, s, o;
  7372. for (r = 0, i = e.changedTouches.length; i > r; r++)
  7373. if (s = e.changedTouches[r], o = this.findTouch(s.identifier), -1 === o) {
  7374. var u = s.pageX - t.left,
  7375. a = s.pageY - t.top;
  7376. this.trigger_index = this.touches.length, this.trigger_id = s.identifier, this.touches.push(n(u, a, s.identifier, this.trigger_index)), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this), this.curTouchX = u, this.curTouchY = a, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this)
  7377. }
  7378. this.runtime.isInUserInputEvent = !1
  7379. }, f.onTouchEnd = function(e, t) {
  7380. e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault(), this.runtime.isInUserInputEvent = !0;
  7381. var n, i, s, o;
  7382. for (n = 0, i = e.changedTouches.length; i > n; n++) s = e.changedTouches[n], o = this.findTouch(s.identifier), o >= 0 && (this.trigger_index = this.touches[o].startindex, this.trigger_id = this.touches[o].id, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this), t || this.touches[o].maybeTriggerTap(this, o), r(this.touches[o]), this.touches.splice(o, 1));
  7383. this.runtime.isInUserInputEvent = !1
  7384. }, f.getAlpha = function() {
  7385. return this.runtime.isAppMobi && 0 === this.orient_alpha && 0 !== p ? 90 * p : this.runtime.isPhoneGap && 0 === this.orient_alpha && 0 !== m ? 90 * m : this.orient_alpha
  7386. }, f.getBeta = function() {
  7387. return this.runtime.isAppMobi && 0 === this.orient_beta && 0 !== h ? -90 * h : this.runtime.isPhoneGap && 0 === this.orient_beta && 0 !== v ? -90 * v : this.orient_beta
  7388. }, f.getGamma = function() {
  7389. return this.runtime.isAppMobi && 0 === this.orient_gamma && 0 !== c ? 90 * c : this.runtime.isPhoneGap && 0 === this.orient_gamma && 0 !== d ? 90 * d : this.orient_gamma
  7390. };
  7391. f.onMouseDown = function(e) {
  7392. e.preventDefault && this.runtime.had_a_click && !this.runtime.isMobile && e.preventDefault();
  7393. var t = {
  7394. pageX: e.pageX,
  7395. pageY: e.pageY,
  7396. identifier: 0
  7397. },
  7398. n = {
  7399. changedTouches: [t]
  7400. };
  7401. this.onTouchStart(n), this.mouseDown = !0
  7402. }, f.onMouseMove = function(e) {
  7403. if (this.mouseDown) {
  7404. var t = {
  7405. pageX: e.pageX,
  7406. pageY: e.pageY,
  7407. identifier: 0
  7408. },
  7409. n = {
  7410. changedTouches: [t]
  7411. };
  7412. this.onTouchMove(n)
  7413. }
  7414. }, f.onMouseUp = function(e) {
  7415. e.preventDefault && this.runtime.had_a_click && !this.runtime.isMobile && e.preventDefault(), this.runtime.had_a_click = !0;
  7416. var t = {
  7417. pageX: e.pageX,
  7418. pageY: e.pageY,
  7419. identifier: 0
  7420. },
  7421. n = {
  7422. changedTouches: [t]
  7423. };
  7424. this.onTouchEnd(n), this.mouseDown = !1
  7425. }, f.tick2 = function() {
  7426. var e, t, n, r = cr.performance_now();
  7427. for (e = 0, t = this.touches.length; t > e; ++e) n = this.touches[e], n.time <= r - 50 && (n.lasttime = r), n.maybeTriggerHold(this, e)
  7428. }, s.prototype.OnTouchStart = function() {
  7429. return !0
  7430. }, s.prototype.OnTouchEnd = function() {
  7431. return !0
  7432. }, s.prototype.IsInTouch = function() {
  7433. return this.touches.length
  7434. }, s.prototype.OnTouchObject = function(e) {
  7435. return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
  7436. };
  7437. var C = [];
  7438. s.prototype.IsTouchingObject = function(e) {
  7439. if (!e) return !1;
  7440. var t, n, r, i, s, o, u = e.getCurrentSol(),
  7441. a = u.getObjects();
  7442. for (r = 0, i = a.length; i > r; r++) {
  7443. var f = a[r];
  7444. for (f.update_bbox(), s = 0, o = this.touches.length; o > s; s++) {
  7445. var l = this.touches[s];
  7446. if (t = f.layer.canvasToLayer(l.x, l.y, !0), n = f.layer.canvasToLayer(l.x, l.y, !1), f.contains_pt(t, n)) {
  7447. C.push(f);
  7448. break
  7449. }
  7450. }
  7451. }
  7452. return C.length ? (u.select_all = !1, cr.shallowAssignArray(u.instances, C), e.applySolToContainer(), C.length = 0, !0) : !1
  7453. }, s.prototype.CompareTouchSpeed = function(e, t, n) {
  7454. if (e = Math.floor(e), 0 > e || e >= this.touches.length) return !1;
  7455. var r = this.touches[e],
  7456. i = cr.distanceTo(r.x, r.y, r.lastx, r.lasty),
  7457. s = (r.time - r.lasttime) / 1e3,
  7458. o = 0;
  7459. return s > 0 && (o = i / s), cr.do_cmp(o, t, n)
  7460. }, s.prototype.OrientationSupported = function() {
  7461. return "undefined" != typeof window.DeviceOrientationEvent
  7462. }, s.prototype.MotionSupported = function() {
  7463. return "undefined" != typeof window.DeviceMotionEvent
  7464. }, s.prototype.CompareOrientation = function(e, t, n) {
  7465. var r = 0;
  7466. return r = 0 === e ? this.getAlpha() : 1 === e ? this.getBeta() : this.getGamma(), cr.do_cmp(r, t, n)
  7467. }, s.prototype.CompareAcceleration = function(e, t, n) {
  7468. var r = 0;
  7469. return 0 === e ? r = this.acc_g_x : 1 === e ? r = this.acc_g_y : 2 === e ? r = this.acc_g_z : 3 === e ? r = this.acc_x : 4 === e ? r = this.acc_y : 5 === e && (r = this.acc_z), cr.do_cmp(r, t, n)
  7470. }, s.prototype.OnNthTouchStart = function(e) {
  7471. return e = Math.floor(e), e === this.trigger_index
  7472. }, s.prototype.OnNthTouchEnd = function(e) {
  7473. return e = Math.floor(e), e === this.trigger_index
  7474. }, s.prototype.HasNthTouch = function(e) {
  7475. return e = Math.floor(e), this.touches.length >= e + 1
  7476. }, s.prototype.OnHoldGesture = function() {
  7477. return !0
  7478. }, s.prototype.OnTapGesture = function() {
  7479. return !0
  7480. }, s.prototype.OnDoubleTapGesture = function() {
  7481. return !0
  7482. }, s.prototype.OnHoldGestureObject = function(e) {
  7483. return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
  7484. }, s.prototype.OnTapGestureObject = function(e) {
  7485. return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
  7486. }, s.prototype.OnDoubleTapGestureObject = function(e) {
  7487. return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
  7488. }, u.cnds = new s, o.prototype.TouchCount = function(e) {
  7489. e.set_int(this.touches.length)
  7490. }, o.prototype.X = function(e, t) {
  7491. var n = this.getTouchIndex;
  7492. if (0 > n || n >= this.touches.length) return void e.set_float(0);
  7493. var r, i, s, o, u;
  7494. cr.is_undefined(t) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxX, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxX = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[n].x, this.touches[n].y, !0)), r.scale = i, r.zoomRate = s, r.parallaxX = o, r.angle = u) : (r = cr.is_number(t) ? this.runtime.getLayerByNumber(t) : this.runtime.getLayerByName(t), e.set_float(r ? r.canvasToLayer(this.touches[n].x, this.touches[n].y, !0) : 0))
  7495. }, o.prototype.XAt = function(e, t, n) {
  7496. if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
  7497. var r, i, s, o, u;
  7498. cr.is_undefined(n) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxX, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxX = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[t].x, this.touches[t].y, !0)), r.scale = i, r.zoomRate = s, r.parallaxX = o, r.angle = u) : (r = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(r ? r.canvasToLayer(this.touches[t].x, this.touches[t].y, !0) : 0))
  7499. }, o.prototype.XForID = function(e, t, n) {
  7500. var r = this.findTouch(t);
  7501. if (0 > r) return void e.set_float(0);
  7502. var i, s, o, u, a, f = this.touches[r];
  7503. cr.is_undefined(n) ? (i = this.runtime.getLayerByNumber(0), s = i.scale, o = i.zoomRate, u = i.parallaxX, a = i.angle, i.scale = this.runtime.running_layout.scale, i.zoomRate = 1, i.parallaxX = 1, i.angle = this.runtime.running_layout.angle, e.set_float(i.canvasToLayer(f.x, f.y, !0)), i.scale = s, i.zoomRate = o, i.parallaxX = u, i.angle = a) : (i = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(i ? i.canvasToLayer(f.x, f.y, !0) : 0))
  7504. }, o.prototype.Y = function(e, t) {
  7505. var n = this.getTouchIndex;
  7506. if (0 > n || n >= this.touches.length) return void e.set_float(0);
  7507. var r, i, s, o, u;
  7508. cr.is_undefined(t) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxY, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxY = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[n].x, this.touches[n].y, !1)), r.scale = i, r.zoomRate = s, r.parallaxY = o, r.angle = u) : (r = cr.is_number(t) ? this.runtime.getLayerByNumber(t) : this.runtime.getLayerByName(t), e.set_float(r ? r.canvasToLayer(this.touches[n].x, this.touches[n].y, !1) : 0))
  7509. }, o.prototype.YAt = function(e, t, n) {
  7510. if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
  7511. var r, i, s, o, u;
  7512. cr.is_undefined(n) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxY, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxY = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[t].x, this.touches[t].y, !1)), r.scale = i, r.zoomRate = s, r.parallaxY = o, r.angle = u) : (r = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(r ? r.canvasToLayer(this.touches[t].x, this.touches[t].y, !1) : 0))
  7513. }, o.prototype.YForID = function(e, t, n) {
  7514. var r = this.findTouch(t);
  7515. if (0 > r) return void e.set_float(0);
  7516. var i, s, o, u, a, f = this.touches[r];
  7517. cr.is_undefined(n) ? (i = this.runtime.getLayerByNumber(0), s = i.scale, o = i.zoomRate, u = i.parallaxY, a = i.angle, i.scale = this.runtime.running_layout.scale, i.zoomRate = 1, i.parallaxY = 1, i.angle = this.runtime.running_layout.angle, e.set_float(i.canvasToLayer(f.x, f.y, !1)), i.scale = s, i.zoomRate = o, i.parallaxY = u, i.angle = a) : (i = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(i ? i.canvasToLayer(f.x, f.y, !1) : 0))
  7518. }, o.prototype.AbsoluteX = function(e) {
  7519. e.set_float(this.touches.length ? this.touches[0].x : 0)
  7520. }, o.prototype.AbsoluteXAt = function(e, t) {
  7521. return t = Math.floor(t), 0 > t || t >= this.touches.length ? void e.set_float(0) : void e.set_float(this.touches[t].x)
  7522. }, o.prototype.AbsoluteXForID = function(e, t) {
  7523. var n = this.findTouch(t);
  7524. if (0 > n) return void e.set_float(0);
  7525. var r = this.touches[n];
  7526. e.set_float(r.x)
  7527. }, o.prototype.AbsoluteY = function(e) {
  7528. e.set_float(this.touches.length ? this.touches[0].y : 0)
  7529. }, o.prototype.AbsoluteYAt = function(e, t) {
  7530. return t = Math.floor(t), 0 > t || t >= this.touches.length ? void e.set_float(0) : void e.set_float(this.touches[t].y)
  7531. }, o.prototype.AbsoluteYForID = function(e, t) {
  7532. var n = this.findTouch(t);
  7533. if (0 > n) return void e.set_float(0);
  7534. var r = this.touches[n];
  7535. e.set_float(r.y)
  7536. }, o.prototype.SpeedAt = function(e, t) {
  7537. if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
  7538. var n = this.touches[t],
  7539. r = cr.distanceTo(n.x, n.y, n.lastx, n.lasty),
  7540. i = (n.time - n.lasttime) / 1e3;
  7541. e.set_float(0 === i ? 0 : r / i)
  7542. }, o.prototype.SpeedForID = function(e, t) {
  7543. var n = this.findTouch(t);
  7544. if (0 > n) return void e.set_float(0);
  7545. var r = this.touches[n],
  7546. i = cr.distanceTo(r.x, r.y, r.lastx, r.lasty),
  7547. s = (r.time - r.lasttime) / 1e3;
  7548. e.set_float(0 === s ? 0 : i / s)
  7549. }, o.prototype.AngleAt = function(e, t) {
  7550. if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
  7551. var n = this.touches[t];
  7552. e.set_float(cr.to_degrees(cr.angleTo(n.lastx, n.lasty, n.x, n.y)))
  7553. }, o.prototype.AngleForID = function(e, t) {
  7554. var n = this.findTouch(t);
  7555. if (0 > n) return void e.set_float(0);
  7556. var r = this.touches[n];
  7557. e.set_float(cr.to_degrees(cr.angleTo(r.lastx, r.lasty, r.x, r.y)))
  7558. }, o.prototype.Alpha = function(e) {
  7559. e.set_float(this.getAlpha())
  7560. }, o.prototype.Beta = function(e) {
  7561. e.set_float(this.getBeta())
  7562. }, o.prototype.Gamma = function(e) {
  7563. e.set_float(this.getGamma())
  7564. }, o.prototype.AccelerationXWithG = function(e) {
  7565. e.set_float(this.acc_g_x)
  7566. }, o.prototype.AccelerationYWithG = function(e) {
  7567. e.set_float(this.acc_g_y)
  7568. }, o.prototype.AccelerationZWithG = function(e) {
  7569. e.set_float(this.acc_g_z)
  7570. }, o.prototype.AccelerationX = function(e) {
  7571. e.set_float(this.acc_x)
  7572. }, o.prototype.AccelerationY = function(e) {
  7573. e.set_float(this.acc_y)
  7574. }, o.prototype.AccelerationZ = function(e) {
  7575. e.set_float(this.acc_z)
  7576. }, o.prototype.TouchIndex = function(e) {
  7577. e.set_int(this.trigger_index)
  7578. }, o.prototype.TouchID = function(e) {
  7579. e.set_float(this.trigger_id)
  7580. }, u.exps = new o
  7581. }(), cr.plugins_.WebStorage = function(e) {
  7582. this.runtime = e
  7583. },
  7584. function() {
  7585. function e() {
  7586. f || (cr.logexport("[Construct 2] Webstorage plugin: session storage is not supported on this platform. Try using local storage or global variables instead."), f = !0)
  7587. }
  7588. function t() {}
  7589. function n() {}
  7590. function r() {}
  7591. var i = cr.plugins_.WebStorage.prototype;
  7592. i.Type = function(e) {
  7593. this.plugin = e, this.runtime = e.runtime
  7594. };
  7595. var s = i.Type.prototype;
  7596. s.onCreate = function() {}, i.Instance = function(e) {
  7597. this.type = e, this.runtime = e.runtime
  7598. };
  7599. var o = i.Instance.prototype,
  7600. u = "",
  7601. a = "undefined" != typeof window.is_scirra_arcade;
  7602. a && (u = "arcade" + window.scirra_arcade_id);
  7603. var f = !1;
  7604. o.onCreate = function() {}, t.prototype.LocalStorageEnabled = function() {
  7605. return !0
  7606. }, t.prototype.SessionStorageEnabled = function() {
  7607. return !0
  7608. }, t.prototype.LocalStorageExists = function(e) {
  7609. return null != localStorage.getItem(u + e)
  7610. }, t.prototype.SessionStorageExists = function(t) {
  7611. return this.runtime.isCocoonJs || !sessionStorage ? (e(), !1) : null != sessionStorage.getItem(u + t)
  7612. }, t.prototype.OnQuotaExceeded = function() {
  7613. return !0
  7614. }, t.prototype.CompareKeyText = function(e, t, n) {
  7615. var r = localStorage.getItem(u + e) || "";
  7616. return n ? r == t : cr.equals_nocase(r, t)
  7617. }, t.prototype.CompareKeyNumber = function(e, t, n) {
  7618. var r = localStorage.getItem(u + e) || "";
  7619. return cr.do_cmp(parseFloat(r), t, n)
  7620. }, i.cnds = new t, n.prototype.StoreLocal = function(e, t) {
  7621. try {
  7622. localStorage.setItem(u + e, t)
  7623. } catch (n) {
  7624. this.runtime.trigger(cr.plugins_.WebStorage.prototype.cnds.OnQuotaExceeded, this)
  7625. }
  7626. }, n.prototype.StoreSession = function(t, n) {
  7627. if (this.runtime.isCocoonJs || !sessionStorage) return void e();
  7628. try {
  7629. sessionStorage.setItem(u + t, n)
  7630. } catch (r) {
  7631. this.runtime.trigger(cr.plugins_.WebStorage.prototype.cnds.OnQuotaExceeded, this)
  7632. }
  7633. }, n.prototype.RemoveLocal = function(e) {
  7634. localStorage.removeItem(u + e)
  7635. }, n.prototype.RemoveSession = function(t) {
  7636. return this.runtime.isCocoonJs || !sessionStorage ? void e() : void sessionStorage.removeItem(u + t)
  7637. }, n.prototype.ClearLocal = function() {
  7638. a || localStorage.clear()
  7639. }, n.prototype.ClearSession = function() {
  7640. return this.runtime.isCocoonJs || !sessionStorage ? void e() : void(a || sessionStorage.clear())
  7641. }, n.prototype.JSONLoad = function(e, t) {
  7642. var n;
  7643. try {
  7644. n = JSON.parse(e)
  7645. } catch (r) {
  7646. return
  7647. }
  7648. if (n.c2dictionary) {
  7649. var i = n.data;
  7650. 0 !== t || a || localStorage.clear();
  7651. var s;
  7652. for (s in i)
  7653. if (i.hasOwnProperty(s)) try {
  7654. localStorage.setItem(u + s, i[s])
  7655. } catch (r) {
  7656. return void this.runtime.trigger(cr.plugins_.WebStorage.prototype.cnds.OnQuotaExceeded, this)
  7657. }
  7658. }
  7659. }, i.acts = new n, r.prototype.LocalValue = function(e, t) {
  7660. e.set_string(localStorage.getItem(u + t) || "")
  7661. }, r.prototype.SessionValue = function(t, n) {
  7662. return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_string("")) : void t.set_string(sessionStorage.getItem(u + n) || "")
  7663. }, r.prototype.LocalCount = function(e) {
  7664. e.set_int(a ? 0 : localStorage.length)
  7665. }, r.prototype.SessionCount = function(t) {
  7666. return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_int(0)) : void t.set_int(a ? 0 : sessionStorage.length)
  7667. }, r.prototype.LocalAt = function(e, t) {
  7668. e.set_string(a ? "" : localStorage.getItem(localStorage.key(t)) || "")
  7669. }, r.prototype.SessionAt = function(t, n) {
  7670. return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_string("")) : void t.set_string(a ? "" : sessionStorage.getItem(sessionStorage.key(n)) || "")
  7671. }, r.prototype.LocalKeyAt = function(e, t) {
  7672. e.set_string(a ? "" : localStorage.key(t) || "")
  7673. }, r.prototype.SessionKeyAt = function(t, n) {
  7674. return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_string("")) : void t.set_string(a ? "" : sessionStorage.key(n) || "")
  7675. }, r.prototype.AsJSON = function(e) {
  7676. var t, n, r, i = {};
  7677. for (t = 0, n = localStorage.length; n > t; t++) r = localStorage.key(t), a ? r.substr(0, u.length) === u && (i[r.substr(u.length)] = localStorage.getItem(r)) : i[r] = localStorage.getItem(r);
  7678. e.set_string(JSON.stringify({
  7679. c2dictionary: !0,
  7680. data: i
  7681. }))
  7682. }, i.exps = new r
  7683. }(), cr.behaviors.Bullet = function(e) {
  7684. this.runtime = e
  7685. },
  7686. function() {
  7687. function e() {}
  7688. function t() {}
  7689. function n() {}
  7690. var r = cr.behaviors.Bullet.prototype;
  7691. r.Type = function(e, t) {
  7692. this.behavior = e, this.objtype = t, this.runtime = e.runtime
  7693. };
  7694. var i = r.Type.prototype;
  7695. i.onCreate = function() {}, r.Instance = function(e, t) {
  7696. this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
  7697. };
  7698. var s = r.Instance.prototype;
  7699. s.onCreate = function() {
  7700. var e = this.properties[0];
  7701. this.acc = this.properties[1], this.g = this.properties[2], this.bounceOffSolid = 0 !== this.properties[3], this.setAngle = 0 !== this.properties[4], this.dx = Math.cos(this.inst.angle) * e, this.dy = Math.sin(this.inst.angle) * e, this.lastx = this.inst.x, this.lasty = this.inst.y, this.lastKnownAngle = this.inst.angle, this.travelled = 0, this.enabled = 0 !== this.properties[5]
  7702. }, s.saveToJSON = function() {
  7703. return {
  7704. acc: this.acc,
  7705. g: this.g,
  7706. dx: this.dx,
  7707. dy: this.dy,
  7708. lx: this.lastx,
  7709. ly: this.lasty,
  7710. lka: this.lastKnownAngle,
  7711. t: this.travelled,
  7712. e: this.enabled
  7713. }
  7714. }, s.loadFromJSON = function(e) {
  7715. this.acc = e.acc, this.g = e.g, this.dx = e.dx, this.dy = e.dy, this.lastx = e.lx, this.lasty = e.ly, this.lastKnownAngle = e.lka, this.travelled = e.t, this.enabled = e.e
  7716. }, s.tick = function() {
  7717. if (this.enabled) {
  7718. var e, t, n, r, i = this.runtime.getDt(this.inst);
  7719. this.inst.angle !== this.lastKnownAngle && (this.setAngle && (e = cr.distanceTo(0, 0, this.dx, this.dy), this.dx = Math.cos(this.inst.angle) * e, this.dy = Math.sin(this.inst.angle) * e), this.lastKnownAngle = this.inst.angle), 0 !== this.acc && (e = cr.distanceTo(0, 0, this.dx, this.dy), t = 0 === this.dx && 0 === this.dy ? this.inst.angle : cr.angleTo(0, 0, this.dx, this.dy), e += this.acc * i, 0 > e && (e = 0), this.dx = Math.cos(t) * e, this.dy = Math.sin(t) * e), 0 !== this.g && (this.dy += this.g * i), this.lastx = this.inst.x, this.lasty = this.inst.y, (0 !== this.dx || 0 !== this.dy) && (this.inst.x += this.dx * i, this.inst.y += this.dy * i, this.travelled += cr.distanceTo(0, 0, this.dx * i, this.dy * i), this.setAngle && (this.inst.angle = cr.angleTo(0, 0, this.dx, this.dy), this.inst.set_bbox_changed(), this.lastKnownAngle = this.inst.angle), this.inst.set_bbox_changed(), this.bounceOffSolid && (n = this.runtime.testOverlapSolid(this.inst), n && (this.runtime.registerCollision(this.inst, n), e = cr.distanceTo(0, 0, this.dx, this.dy), r = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty), this.dx = Math.cos(r) * e, this.dy = Math.sin(r) * e, this.inst.x += this.dx * i, this.inst.y += this.dy * i, this.inst.set_bbox_changed(), this.setAngle && (this.inst.angle = r, this.lastKnownAngle = r, this.inst.set_bbox_changed()), this.runtime.pushOutSolid(this.inst, this.dx / e, this.dy / e, Math.max(2.5 * e * i, 30)) || this.runtime.pushOutSolidNearest(this.inst, 100))))
  7720. }
  7721. }, e.prototype.CompareSpeed = function(e, t) {
  7722. return cr.do_cmp(cr.distanceTo(0, 0, this.dx, this.dy), e, t)
  7723. }, e.prototype.CompareTravelled = function(e, t) {
  7724. return cr.do_cmp(this.travelled, e, t)
  7725. }, r.cnds = new e, t.prototype.SetSpeed = function(e) {
  7726. var t = cr.angleTo(0, 0, this.dx, this.dy);
  7727. this.dx = Math.cos(t) * e, this.dy = Math.sin(t) * e
  7728. }, t.prototype.SetAcceleration = function(e) {
  7729. this.acc = e
  7730. }, t.prototype.SetGravity = function(e) {
  7731. this.g = e
  7732. }, t.prototype.SetAngleOfMotion = function(e) {
  7733. e = cr.to_radians(e);
  7734. var t = cr.distanceTo(0, 0, this.dx, this.dy);
  7735. this.dx = Math.cos(e) * t, this.dy = Math.sin(e) * t
  7736. }, t.prototype.Bounce = function(e) {
  7737. if (e) {
  7738. var t = e.getFirstPicked(this.inst);
  7739. if (t) {
  7740. var n = this.runtime.getDt(this.inst),
  7741. r = cr.distanceTo(0, 0, this.dx, this.dy),
  7742. i = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty, t);
  7743. this.dx = Math.cos(i) * r, this.dy = Math.sin(i) * r, this.inst.x += this.dx * n, this.inst.y += this.dy * n, this.inst.set_bbox_changed(), this.setAngle && (this.inst.angle = i, this.lastKnownAngle = i, this.inst.set_bbox_changed()), this.bounceOffSolid ? this.runtime.pushOutSolid(this.inst, this.dx / r, this.dy / r, Math.max(2.5 * r * n, 30)) || this.runtime.pushOutSolidNearest(this.inst, 100) : this.runtime.pushOut(this.inst, this.dx / r, this.dy / r, Math.max(2.5 * r * n, 30), t)
  7744. }
  7745. }
  7746. }, t.prototype.SetEnabled = function(e) {
  7747. this.enabled = 1 === e
  7748. }, r.acts = new t, n.prototype.Speed = function(e) {
  7749. var t = cr.distanceTo(0, 0, this.dx, this.dy);
  7750. t = cr.round6dp(t), e.set_float(t)
  7751. }, n.prototype.Acceleration = function(e) {
  7752. e.set_float(this.acc)
  7753. }, n.prototype.AngleOfMotion = function(e) {
  7754. e.set_float(cr.to_degrees(cr.angleTo(0, 0, this.dx, this.dy)))
  7755. }, n.prototype.DistanceTravelled = function(e) {
  7756. e.set_float(this.travelled)
  7757. }, r.exps = new n
  7758. }(), cr.behaviors.Pin = function(e) {
  7759. this.runtime = e
  7760. },
  7761. function() {
  7762. function e() {}
  7763. function t() {}
  7764. function n() {}
  7765. var r = cr.behaviors.Pin.prototype;
  7766. r.Type = function(e, t) {
  7767. this.behavior = e, this.objtype = t, this.runtime = e.runtime
  7768. };
  7769. var i = r.Type.prototype;
  7770. i.onCreate = function() {}, r.Instance = function(e, t) {
  7771. this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
  7772. };
  7773. var s = r.Instance.prototype;
  7774. s.onCreate = function() {
  7775. this.pinObject = null, this.pinObjectUid = -1, this.pinAngle = 0, this.pinDist = 0, this.myStartAngle = 0, this.theirStartAngle = 0, this.lastKnownAngle = 0, this.mode = 0;
  7776. var e = this;
  7777. this.recycled || (this.myDestroyCallback = function(t) {
  7778. e.onInstanceDestroyed(t)
  7779. }), this.runtime.addDestroyCallback(this.myDestroyCallback)
  7780. }, s.saveToJSON = function() {
  7781. return {
  7782. uid: this.pinObject ? this.pinObject.uid : -1,
  7783. pa: this.pinAngle,
  7784. pd: this.pinDist,
  7785. msa: this.myStartAngle,
  7786. tsa: this.theirStartAngle,
  7787. lka: this.lastKnownAngle,
  7788. m: this.mode
  7789. }
  7790. }, s.loadFromJSON = function(e) {
  7791. this.pinObjectUid = e.uid, this.pinAngle = e.pa, this.pinDist = e.pd, this.myStartAngle = e.msa, this.theirStartAngle = e.tsa, this.lastKnownAngle = e.lka, this.mode = e.m
  7792. }, s.afterLoad = function() {
  7793. this.pinObject = -1 === this.pinObjectUid ? null : this.runtime.getObjectByUID(this.pinObjectUid), this.pinObjectUid = -1
  7794. }, s.onInstanceDestroyed = function(e) {
  7795. this.pinObject == e && (this.pinObject = null)
  7796. }, s.onDestroy = function() {
  7797. this.pinObject = null, this.runtime.removeDestroyCallback(this.myDestroyCallback)
  7798. }, s.tick = function() {}, s.tick2 = function() {
  7799. if (this.pinObject) {
  7800. this.lastKnownAngle !== this.inst.angle && (this.myStartAngle = cr.clamp_angle(this.myStartAngle + (this.inst.angle - this.lastKnownAngle)));
  7801. var e = this.inst.x,
  7802. t = this.inst.y;
  7803. if (3 === this.mode || 4 === this.mode) {
  7804. var n = cr.distanceTo(this.inst.x, this.inst.y, this.pinObject.x, this.pinObject.y);
  7805. if (n > this.pinDist || 4 === this.mode && n < this.pinDist) {
  7806. var r = cr.angleTo(this.pinObject.x, this.pinObject.y, this.inst.x, this.inst.y);
  7807. e = this.pinObject.x + Math.cos(r) * this.pinDist, t = this.pinObject.y + Math.sin(r) * this.pinDist
  7808. }
  7809. } else e = this.pinObject.x + Math.cos(this.pinObject.angle + this.pinAngle) * this.pinDist, t = this.pinObject.y + Math.sin(this.pinObject.angle + this.pinAngle) * this.pinDist;
  7810. var i = cr.clamp_angle(this.myStartAngle + (this.pinObject.angle - this.theirStartAngle));
  7811. this.lastKnownAngle = i, 0 !== this.mode && 1 !== this.mode && 3 !== this.mode && 4 !== this.mode || this.inst.x === e && this.inst.y === t || (this.inst.x = e, this.inst.y = t, this.inst.set_bbox_changed()), 0 !== this.mode && 2 !== this.mode || this.inst.angle === i || (this.inst.angle = i, this.inst.set_bbox_changed())
  7812. }
  7813. }, e.prototype.IsPinned = function() {
  7814. return !!this.pinObject
  7815. }, r.cnds = new e, t.prototype.Pin = function(e, t) {
  7816. if (e) {
  7817. var n = e.getFirstPicked(this.inst);
  7818. n && (this.pinObject = n, this.pinAngle = cr.angleTo(n.x, n.y, this.inst.x, this.inst.y) - n.angle, this.pinDist = cr.distanceTo(n.x, n.y, this.inst.x, this.inst.y), this.myStartAngle = this.inst.angle, this.lastKnownAngle = this.inst.angle, this.theirStartAngle = n.angle, this.mode = t)
  7819. }
  7820. }, t.prototype.Unpin = function() {
  7821. this.pinObject = null
  7822. }, r.acts = new t, n.prototype.PinnedUID = function(e) {
  7823. e.set_int(this.pinObject ? this.pinObject.uid : -1)
  7824. }, r.exps = new n
  7825. }(), cr.behaviors.Platform = function(e) {
  7826. this.runtime = e
  7827. },
  7828. function() {
  7829. function e() {}
  7830. function t() {}
  7831. function n() {}
  7832. var r = cr.behaviors.Platform.prototype;
  7833. r.Type = function(e, t) {
  7834. this.behavior = e, this.objtype = t, this.runtime = e.runtime
  7835. };
  7836. var i = r.Type.prototype;
  7837. i.onCreate = function() {};
  7838. var s = 0,
  7839. o = 1,
  7840. u = 2,
  7841. a = 3;
  7842. r.Instance = function(e, t) {
  7843. this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime, this.leftkey = !1, this.rightkey = !1, this.jumpkey = !1, this.jumped = !1, this.ignoreInput = !1, this.simleft = !1, this.simright = !1, this.simjump = !1, this.lastFloorObject = null, this.loadFloorObject = -1, this.lastFloorX = 0, this.lastFloorY = 0, this.floorIsJumpthru = !1, this.animMode = s, this.fallthrough = 0, this.firstTick = !0, this.dx = 0, this.dy = 0
  7844. };
  7845. var f = r.Instance.prototype;
  7846. f.updateGravity = function() {
  7847. this.downx = Math.cos(this.ga), this.downy = Math.sin(this.ga), this.rightx = Math.cos(this.ga - Math.PI / 2), this.righty = Math.sin(this.ga - Math.PI / 2), this.downx = cr.round6dp(this.downx), this.downy = cr.round6dp(this.downy), this.rightx = cr.round6dp(this.rightx), this.righty = cr.round6dp(this.righty), this.g1 = this.g, this.g < 0 && (this.downx *= -1, this.downy *= -1, this.g = Math.abs(this.g))
  7848. }, f.onCreate = function() {
  7849. this.maxspeed = this.properties[0], this.acc = this.properties[1], this.dec = this.properties[2], this.jumpStrength = this.properties[3], this.g = this.properties[4], this.g1 = this.g, this.maxFall = this.properties[5], this.defaultControls = 1 === this.properties[6], this.enabled = 0 !== this.properties[7], this.wasOnFloor = !1, this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst), this.loadOverJumpthru = -1, this.ga = cr.to_radians(90), this.updateGravity();
  7850. var e = this;
  7851. this.defaultControls && !this.runtime.isDomFree && (jQuery(document).keydown(function(t) {
  7852. e.onKeyDown(t)
  7853. }), jQuery(document).keyup(function(t) {
  7854. e.onKeyUp(t)
  7855. })), this.recycled || (this.myDestroyCallback = function(t) {
  7856. e.onInstanceDestroyed(t)
  7857. }), this.runtime.addDestroyCallback(this.myDestroyCallback), this.inst.extra.isPlatformBehavior = !0
  7858. }, f.saveToJSON = function() {
  7859. return {
  7860. ii: this.ignoreInput,
  7861. lfx: this.lastFloorX,
  7862. lfy: this.lastFloorY,
  7863. lfo: this.lastFloorObject ? this.lastFloorObject.uid : -1,
  7864. am: this.animMode,
  7865. en: this.enabled,
  7866. fall: this.fallthrough,
  7867. ft: this.firstTick,
  7868. dx: this.dx,
  7869. dy: this.dy,
  7870. ms: this.maxspeed,
  7871. acc: this.acc,
  7872. dec: this.dec,
  7873. js: this.jumpStrength,
  7874. g: this.g,
  7875. g1: this.g1,
  7876. mf: this.maxFall,
  7877. wof: this.wasOnFloor,
  7878. woj: this.wasOverJumpthru ? this.wasOverJumpthru.uid : -1,
  7879. ga: this.ga
  7880. }
  7881. }, f.loadFromJSON = function(e) {
  7882. this.ignoreInput = e.ii, this.lastFloorX = e.lfx, this.lastFloorY = e.lfy, this.loadFloorObject = e.lfo, this.animMode = e.am, this.enabled = e.en, this.fallthrough = e.fall, this.firstTick = e.ft, this.dx = e.dx, this.dy = e.dy, this.maxspeed = e.ms, this.acc = e.acc, this.dec = e.dec, this.jumpStrength = e.js, this.g = e.g, this.g1 = e.g1, this.maxFall = e.mf, this.wasOnFloor = e.wof, this.loadOverJumpthru = e.woj, this.ga = e.ga, this.leftkey = !1, this.rightkey = !1, this.jumpkey = !1, this.jumped = !1, this.simleft = !1, this.simright = !1, this.simjump = !1, this.updateGravity()
  7883. }, f.afterLoad = function() {
  7884. this.lastFloorObject = -1 === this.loadFloorObject ? null : this.runtime.getObjectByUID(this.loadFloorObject), this.wasOverJumpthru = -1 === this.loadOverJumpthru ? null : this.runtime.getObjectByUID(this.loadOverJumpthru)
  7885. }, f.onInstanceDestroyed = function(e) {
  7886. this.lastFloorObject == e && (this.lastFloorObject = null)
  7887. }, f.onDestroy = function() {
  7888. this.lastFloorObject = null, this.runtime.removeDestroyCallback(this.myDestroyCallback)
  7889. }, f.onKeyDown = function(e) {
  7890. switch (e.which) {
  7891. case 38:
  7892. e.preventDefault(), this.jumpkey = !0;
  7893. break;
  7894. case 37:
  7895. e.preventDefault(), this.leftkey = !0;
  7896. break;
  7897. case 39:
  7898. e.preventDefault(), this.rightkey = !0
  7899. }
  7900. }, f.onKeyUp = function(e) {
  7901. switch (e.which) {
  7902. case 38:
  7903. e.preventDefault(), this.jumpkey = !1, this.jumped = !1;
  7904. break;
  7905. case 37:
  7906. e.preventDefault(), this.leftkey = !1;
  7907. break;
  7908. case 39:
  7909. e.preventDefault(), this.rightkey = !1
  7910. }
  7911. }, f.getGDir = function() {
  7912. return this.g < 0 ? -1 : 1
  7913. }, f.isOnFloor = function() {
  7914. var e, t, n, r = null,
  7915. i = null,
  7916. s = this.inst.x,
  7917. o = this.inst.y;
  7918. if (this.inst.x += this.downx, this.inst.y += this.downy, this.inst.set_bbox_changed(), this.lastFloorObject && this.runtime.testOverlap(this.inst, this.lastFloorObject)) return this.inst.x = s, this.inst.y = o, this.inst.set_bbox_changed(), this.lastFloorObject;
  7919. if (r = this.runtime.testOverlapSolid(this.inst), r || 0 !== this.fallthrough || (i = this.runtime.testOverlapJumpThru(this.inst, !0)), this.inst.x = s, this.inst.y = o, this.inst.set_bbox_changed(), r) return this.runtime.testOverlap(this.inst, r) ? null : (this.floorIsJumpthru = !1, r);
  7920. if (i && i.length) {
  7921. for (e = 0, n = 0, t = i.length; t > e; e++) i[n] = i[e], this.runtime.testOverlap(this.inst, i[e]) || n++;
  7922. if (n >= 1) return this.floorIsJumpthru = !0, i[0]
  7923. }
  7924. return null
  7925. }, f.tick = function() {}, f.posttick = function() {
  7926. var e, t, n, r, i, f, c, h, p, d, v = this.runtime.getDt(this.inst);
  7927. this.jumpkey || this.simjump || (this.jumped = !1);
  7928. var m = this.leftkey || this.simleft,
  7929. g = this.rightkey || this.simright,
  7930. y = (this.jumpkey || this.simjump) && !this.jumped;
  7931. if (this.simleft = !1, this.simright = !1, this.simjump = !1, this.enabled) {
  7932. this.ignoreInput && (m = !1, g = !1, y = !1);
  7933. var b = this.lastFloorObject,
  7934. w = !1;
  7935. this.firstTick && ((this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst)) && this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 4, !0), this.firstTick = !1), !b || 0 !== this.dy || b.y === this.lastFloorY && b.x === this.lastFloorX || (e = b.x - this.lastFloorX, t = b.y - this.lastFloorY, this.inst.x += e, this.inst.y += t, this.inst.set_bbox_changed(), this.lastFloorX = b.x, this.lastFloorY = b.y, w = !0, this.runtime.testOverlapSolid(this.inst) && this.runtime.pushOutSolid(this.inst, -e, -t, 2.5 * Math.sqrt(e * e + t * t)));
  7936. var E = this.isOnFloor(),
  7937. S = this.runtime.testOverlapSolid(this.inst);
  7938. if (S)
  7939. if (this.inst.extra.inputPredicted) this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 10, !1);
  7940. else {
  7941. if (!this.runtime.pushOutSolidNearest(this.inst, Math.max(this.inst.width, this.inst.height) / 2)) return;
  7942. this.runtime.registerCollision(this.inst, S)
  7943. }
  7944. E ? (this.dy > 0 && (this.wasOnFloor || (this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, E, 16), this.wasOnFloor = !0), this.dy = 0), b != E ? (this.lastFloorObject = E, this.lastFloorX = E.x, this.lastFloorY = E.y, this.runtime.registerCollision(this.inst, E)) : w && (S = this.runtime.testOverlapSolid(this.inst), S && (this.runtime.registerCollision(this.inst, S), 0 !== e && (e > 0 ? this.runtime.pushOutSolid(this.inst, -this.rightx, -this.righty) : this.runtime.pushOutSolid(this.inst, this.rightx, this.righty)), this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy))), y && (p = this.inst.x, d = this.inst.y, this.inst.x -= this.downx, this.inst.y -= this.downy, this.inst.set_bbox_changed(), this.runtime.testOverlapSolid(this.inst) ? y = !1 : (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnJump, this.inst), this.animMode = u, this.dy = -this.jumpStrength, this.jumped = !0), this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed())) : (this.lastFloorObject = null, this.dy += this.g * v, this.dy > this.maxFall && (this.dy = this.maxFall), y && (this.jumped = !0)), this.wasOnFloor = !!E, m == g && (this.dx < 0 ? (this.dx += this.dec * v, this.dx > 0 && (this.dx = 0)) : this.dx > 0 && (this.dx -= this.dec * v, this.dx < 0 && (this.dx = 0))), m && !g && (this.dx -= this.dx > 0 ? (this.acc + this.dec) * v : this.acc * v), g && !m && (this.dx += this.dx < 0 ? (this.acc + this.dec) * v : this.acc * v), this.dx > this.maxspeed ? this.dx = this.maxspeed : this.dx < -this.maxspeed && (this.dx = -this.maxspeed);
  7945. var x = !1;
  7946. if (0 !== this.dx) {
  7947. p = this.inst.x, d = this.inst.y, e = this.dx * v * this.rightx, t = this.dx * v * this.righty, this.inst.x += this.rightx * (this.dx > 1 ? 1 : -1) - this.downx, this.inst.y += this.righty * (this.dx > 1 ? 1 : -1) - this.downy, this.inst.set_bbox_changed();
  7948. var T = !1,
  7949. N = this.runtime.testOverlapSolid(this.inst);
  7950. if (this.inst.x = p + e, this.inst.y = d + t, this.inst.set_bbox_changed(), n = this.runtime.testOverlapSolid(this.inst), !n && E && (n = this.runtime.testOverlapJumpThru(this.inst), n && (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed(), this.runtime.testOverlap(this.inst, n) ? (n = null, T = !1) : T = !0, this.inst.x = p + e, this.inst.y = d + t, this.inst.set_bbox_changed())), n) {
  7951. var C = Math.abs(this.dx * v) + 2;
  7952. N || !this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, C, T, n) ? (this.runtime.registerCollision(this.inst, n), C = Math.max(Math.abs(this.dx * v * 2.5), 30), this.runtime.pushOutSolid(this.inst, this.rightx * (this.dx < 0 ? 1 : -1), this.righty * (this.dx < 0 ? 1 : -1), C, !1) ? !E || T || this.floorIsJumpthru || (p = this.inst.x, d = this.inst.y, this.inst.x += this.downx, this.inst.y += this.downy, this.runtime.testOverlapSolid(this.inst) ? this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 3, !1) || (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed()) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed())) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed()), T || (this.dx = 0)) : !N && !y && Math.abs(this.dy) < Math.abs(this.jumpStrength / 4) && (this.dy = 0, E || (x = !0))
  7953. } else {
  7954. var k = this.isOnFloor();
  7955. E && !k ? (r = Math.ceil(Math.abs(this.dx * v)) + 2, p = this.inst.x, d = this.inst.y, this.inst.x += this.downx * r, this.inst.y += this.downy * r, this.inst.set_bbox_changed(), this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst) ? this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, r + 2, !0) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed())) : k && 0 === this.dy && this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, k, 16)
  7956. }
  7957. }
  7958. if (0 !== this.dy) {
  7959. p = this.inst.x, d = this.inst.y, this.inst.x += this.dy * v * this.downx, this.inst.y += this.dy * v * this.downy;
  7960. var L = this.inst.x,
  7961. A = this.inst.y;
  7962. this.inst.set_bbox_changed(), S = this.runtime.testOverlapSolid(this.inst);
  7963. var O = !1;
  7964. if (!S && this.dy > 0 && !E) {
  7965. if (i = this.fallthrough > 0 ? null : this.runtime.testOverlapJumpThru(this.inst, !0), i && i.length) {
  7966. if (this.wasOverJumpthru) {
  7967. for (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed(), f = 0, h = 0, c = i.length; c > f; f++) i[h] = i[f], this.runtime.testOverlap(this.inst, i[f]) || h++;
  7968. i.length = h, this.inst.x = L, this.inst.y = A, this.inst.set_bbox_changed()
  7969. }
  7970. i.length >= 1 && (S = i[0])
  7971. }
  7972. O = !!S
  7973. }
  7974. if (S) {
  7975. this.runtime.registerCollision(this.inst, S);
  7976. var C = O ? Math.abs(this.dy * v * 2.5 + 10) : Math.max(Math.abs(this.dy * v * 2.5 + 10), 30);
  7977. this.runtime.pushOutSolid(this.inst, this.downx * (this.dy < 0 ? 1 : -1), this.downy * (this.dy < 0 ? 1 : -1), C, O, S) ? (this.lastFloorObject = S, this.lastFloorX = S.x, this.lastFloorY = S.y, this.floorIsJumpthru = O, O && (x = !0), this.dy = 0) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed(), this.wasOnFloor = !0, O || (this.dy = 0))
  7978. }
  7979. }
  7980. this.animMode !== a && this.dy > 0 && !E && (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnFall, this.inst), this.animMode = a), (E || x) && (this.animMode === a || x || y && 0 === this.dy ? (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnLand, this.inst), this.animMode = 0 === this.dx && 0 === this.dy ? s : o) : (this.animMode !== s && 0 === this.dx && 0 === this.dy && (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnStop, this.inst), this.animMode = s), this.animMode === o || 0 === this.dx && 0 === this.dy || y || (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnMove, this.inst), this.animMode = o))), this.fallthrough > 0 && this.fallthrough--, this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst)
  7981. }
  7982. }, e.prototype.IsMoving = function() {
  7983. return 0 !== this.dx || 0 !== this.dy
  7984. }, e.prototype.CompareSpeed = function(e, t) {
  7985. var n = Math.sqrt(this.dx * this.dx + this.dy * this.dy);
  7986. return cr.do_cmp(n, e, t)
  7987. }, e.prototype.IsOnFloor = function() {
  7988. if (0 !== this.dy) return !1;
  7989. var e, t, n, r = null,
  7990. i = null,
  7991. s = this.inst.x,
  7992. o = this.inst.y;
  7993. if (this.inst.x += this.downx, this.inst.y += this.downy, this.inst.set_bbox_changed(), r = this.runtime.testOverlapSolid(this.inst), r || 0 !== this.fallthrough || (i = this.runtime.testOverlapJumpThru(this.inst, !0)), this.inst.x = s, this.inst.y = o, this.inst.set_bbox_changed(), r) return !this.runtime.testOverlap(this.inst, r);
  7994. if (i && i.length) {
  7995. for (e = 0, n = 0, t = i.length; t > e; e++) i[n] = i[e], this.runtime.testOverlap(this.inst, i[e]) || n++;
  7996. if (n >= 1) return !0
  7997. }
  7998. return !1
  7999. }, e.prototype.IsByWall = function(e) {
  8000. var t = !1,
  8001. n = this.inst.x,
  8002. r = this.inst.y;
  8003. return this.inst.x -= 3 * this.downx, this.inst.y -= 3 * this.downy, this.inst.set_bbox_changed(), this.runtime.testOverlapSolid(this.inst) ? (this.inst.x = n, this.inst.y = r, this.inst.set_bbox_changed(), !1) : (0 === e ? (this.inst.x -= 2 * this.rightx, this.inst.y -= 2 * this.righty) : (this.inst.x += 2 * this.rightx, this.inst.y += 2 * this.righty), this.inst.set_bbox_changed(), t = this.runtime.testOverlapSolid(this.inst), this.inst.x = n, this.inst.y = r, this.inst.set_bbox_changed(), t)
  8004. }, e.prototype.IsJumping = function() {
  8005. return this.dy < 0
  8006. }, e.prototype.IsFalling = function() {
  8007. return this.dy > 0
  8008. }, e.prototype.OnJump = function() {
  8009. return !0
  8010. }, e.prototype.OnFall = function() {
  8011. return !0
  8012. }, e.prototype.OnStop = function() {
  8013. return !0
  8014. }, e.prototype.OnMove = function() {
  8015. return !0
  8016. }, e.prototype.OnLand = function() {
  8017. return !0
  8018. }, r.cnds = new e, t.prototype.SetIgnoreInput = function(e) {
  8019. this.ignoreInput = e
  8020. }, t.prototype.SetMaxSpeed = function(e) {
  8021. this.maxspeed = e, this.maxspeed < 0 && (this.maxspeed = 0)
  8022. }, t.prototype.SetAcceleration = function(e) {
  8023. this.acc = e, this.acc < 0 && (this.acc = 0)
  8024. }, t.prototype.SetDeceleration = function(e) {
  8025. this.dec = e, this.dec < 0 && (this.dec = 0)
  8026. }, t.prototype.SetJumpStrength = function(e) {
  8027. this.jumpStrength = e, this.jumpStrength < 0 && (this.jumpStrength = 0)
  8028. }, t.prototype.SetGravity = function(e) {
  8029. this.g1 !== e && (this.g = e, this.updateGravity(), this.runtime.testOverlapSolid(this.inst) && (this.runtime.pushOutSolid(this.inst, this.downx, this.downy, 10), this.inst.x += 2 * this.downx, this.inst.y += 2 * this.downy, this.inst.set_bbox_changed()), this.lastFloorObject = null)
  8030. }, t.prototype.SetMaxFallSpeed = function(e) {
  8031. this.maxFall = e, this.maxFall < 0 && (this.maxFall = 0)
  8032. }, t.prototype.SimulateControl = function(e) {
  8033. switch (e) {
  8034. case 0:
  8035. this.simleft = !0;
  8036. break;
  8037. case 1:
  8038. this.simright = !0;
  8039. break;
  8040. case 2:
  8041. this.simjump = !0
  8042. }
  8043. }, t.prototype.SetVectorX = function(e) {
  8044. this.dx = e
  8045. }, t.prototype.SetVectorY = function(e) {
  8046. this.dy = e
  8047. }, t.prototype.SetGravityAngle = function(e) {
  8048. e = cr.to_radians(e), e = cr.clamp_angle(e), this.ga !== e && (this.ga = e, this.updateGravity(), this.lastFloorObject = null)
  8049. }, t.prototype.SetEnabled = function(e) {
  8050. this.enabled !== (1 === e) && (this.enabled = 1 === e, this.enabled || (this.lastFloorObject = null))
  8051. }, t.prototype.FallThrough = function() {
  8052. var e = this.inst.x,
  8053. t = this.inst.y;
  8054. this.inst.x += this.downx, this.inst.y += this.downy, this.inst.set_bbox_changed();
  8055. var n = this.runtime.testOverlapJumpThru(this.inst, !1);
  8056. this.inst.x = e, this.inst.y = t, this.inst.set_bbox_changed(), n && (this.fallthrough = 3, this.lastFloorObject = null)
  8057. }, r.acts = new t, n.prototype.Speed = function(e) {
  8058. e.set_float(Math.sqrt(this.dx * this.dx + this.dy * this.dy))
  8059. }, n.prototype.MaxSpeed = function(e) {
  8060. e.set_float(this.maxspeed)
  8061. }, n.prototype.Acceleration = function(e) {
  8062. e.set_float(this.acc)
  8063. }, n.prototype.Deceleration = function(e) {
  8064. e.set_float(this.dec)
  8065. }, n.prototype.JumpStrength = function(e) {
  8066. e.set_float(this.jumpStrength)
  8067. }, n.prototype.Gravity = function(e) {
  8068. e.set_float(this.g)
  8069. }, n.prototype.GravityAngle = function(e) {
  8070. e.set_float(cr.to_degrees(this.ga))
  8071. }, n.prototype.MaxFallSpeed = function(e) {
  8072. e.set_float(this.maxFall)
  8073. }, n.prototype.MovingAngle = function(e) {
  8074. e.set_float(cr.to_degrees(Math.atan2(this.dy, this.dx)))
  8075. }, n.prototype.VectorX = function(e) {
  8076. e.set_float(this.dx)
  8077. }, n.prototype.VectorY = function(e) {
  8078. e.set_float(this.dy)
  8079. }, r.exps = new n
  8080. }(), cr.behaviors.bound = function(e) {
  8081. this.runtime = e
  8082. },
  8083. function() {
  8084. var e = cr.behaviors.bound.prototype;
  8085. e.Type = function(e, t) {
  8086. this.behavior = e, this.objtype = t, this.runtime = e.runtime
  8087. };
  8088. var t = e.Type.prototype;
  8089. t.onCreate = function() {}, e.Instance = function(e, t) {
  8090. this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime, this.mode = 0
  8091. };
  8092. var n = e.Instance.prototype;
  8093. n.onCreate = function() {
  8094. this.mode = this.properties[0]
  8095. }, n.tick = function() {}, n.tick2 = function() {
  8096. this.inst.update_bbox();
  8097. var e = this.inst.bbox,
  8098. t = this.inst.layer.layout,
  8099. n = !1;
  8100. 0 === this.mode ? (this.inst.x < 0 && (this.inst.x = 0, n = !0), this.inst.y < 0 && (this.inst.y = 0, n = !0), this.inst.x > t.width && (this.inst.x = t.width, n = !0), this.inst.y > t.height && (this.inst.y = t.height, n = !0)) : (e.left < 0 && (this.inst.x -= e.left, n = !0), e.top < 0 && (this.inst.y -= e.top, n = !0), e.right > t.width && (this.inst.x -= e.right - t.width, n = !0), e.bottom > t.height && (this.inst.y -= e.bottom - t.height, n = !0)), n && this.inst.set_bbox_changed()
  8101. }
  8102. }(), cr.behaviors.destroy = function(e) {
  8103. this.runtime = e
  8104. },
  8105. function() {
  8106. var e = cr.behaviors.destroy.prototype;
  8107. e.Type = function(e, t) {
  8108. this.behavior = e, this.objtype = t, this.runtime = e.runtime
  8109. };
  8110. var t = e.Type.prototype;
  8111. t.onCreate = function() {}, e.Instance = function(e, t) {
  8112. this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
  8113. };
  8114. var n = e.Instance.prototype;
  8115. n.onCreate = function() {}, n.tick = function() {
  8116. this.inst.update_bbox();
  8117. var e = this.inst.bbox,
  8118. t = this.inst.layer.layout;
  8119. (e.right < 0 || e.bottom < 0 || e.left > t.width || e.top > t.height) && this.runtime.DestroyInstance(this.inst)
  8120. }
  8121. }(), cr.behaviors.solid = function(e) {
  8122. this.runtime = e
  8123. },
  8124. function() {
  8125. function e() {}
  8126. function t() {}
  8127. var n = cr.behaviors.solid.prototype;
  8128. n.Type = function(e, t) {
  8129. this.behavior = e, this.objtype = t, this.runtime = e.runtime
  8130. };
  8131. var r = n.Type.prototype;
  8132. r.onCreate = function() {}, n.Instance = function(e, t) {
  8133. this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
  8134. };
  8135. var i = n.Instance.prototype;
  8136. i.onCreate = function() {
  8137. this.inst.extra.solidEnabled = 0 !== this.properties[0]
  8138. }, i.tick = function() {}, e.prototype.IsEnabled = function() {
  8139. return this.inst.extra.solidEnabled
  8140. }, n.cnds = new e, t.prototype.SetEnabled = function(e) {
  8141. this.inst.extra.solidEnabled = !!e
  8142. }, n.acts = new t
  8143. }(), cr.getProjectModel = function() {
  8144. return [null, "Menu", [
  8145. [cr.plugins_.Particles, !1, !0, !0, !1, !0, !0, !0, !0, !0],
  8146. [cr.plugins_.Sprite, !1, !0, !0, !0, !0, !0, !0, !0, !1],
  8147. [cr.plugins_.Text, !1, !0, !0, !0, !0, !0, !0, !0, !1],
  8148. [cr.plugins_.Touch, !0, !1, !1, !1, !1, !1, !1, !1, !1],
  8149. [cr.plugins_.WebStorage, !0, !1, !1, !1, !1, !1, !1, !1, !1],
  8150. [cr.plugins_.Audio, !0, !1, !1, !1, !1, !1, !1, !1, !1],
  8151. [cr.plugins_.Browser, !0, !1, !1, !1, !1, !1, !1, !1, !1],
  8152. [cr.plugins_.CJSAds, !0, !1, !1, !1, !1, !1, !1, !1, !1],
  8153. [cr.plugins_.TiledBg, !1, !0, !0, !0, !0, !0, !0, !0, !0]
  8154. ],
  8155. [
  8156. ["t0", cr.plugins_.Sprite, !1, [], 2, 0, null, [
  8157. ["Default", 5, !1, 1, 0, !1, 0x66f3a2fdf1e97, [
  8158. ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
  8159. [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
  8160. ]
  8161. ]]
  8162. ],
  8163. [
  8164. ["Platform", cr.behaviors.Platform, 8314878182034448],
  8165. ["BoundToLayout", cr.behaviors.bound, 0x5d7504344e51b]
  8166. ], !1, !1, 9202559512583248, [], null
  8167. ],
  8168. ["t1", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
  8169. ["Solid", cr.behaviors.solid, 6568188452526936]
  8170. ], !1, !1, 6361042052061363, [], null],
  8171. ["t2", cr.plugins_.Touch, !1, [], 0, 0, null, null, [], !1, !1, 7080415064541899, [], null, [1]],
  8172. ["t3", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg1.png", 156, 1], null, [], !1, !1, 0xc4bc6edb43b9e, [], null],
  8173. ["t4", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg2.png", 156, 1], null, [], !1, !1, 6757427820064185, [], null],
  8174. ["t5", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8175. ["Default", 5, !1, 1, 0, !1, 9310550853039760, [
  8176. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8177. [], 3
  8178. ]
  8179. ]]
  8180. ],
  8181. [], !1, !1, 0x3c3a31334fc8e, [], null
  8182. ],
  8183. ["t6", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
  8184. ["Solid", cr.behaviors.solid, 5914803487727719]
  8185. ], !1, !1, 0x54bf95c2cac0c, [], null],
  8186. ["t7", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
  8187. ["Pin", cr.behaviors.Pin, 8121185699953036],
  8188. ["BoundToLayout", cr.behaviors.bound, 0xa1c0435518447]
  8189. ], !1, !1, 0xfad8802cfae10, [], null],
  8190. ["t8", cr.plugins_.Sprite, !1, [], 2, 0, null, [
  8191. ["Default", 5, !1, 1, 0, !1, 0xc8000226fea68, [
  8192. ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
  8193. [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
  8194. ]
  8195. ]]
  8196. ],
  8197. [
  8198. ["Platform", cr.behaviors.Platform, 0x9142b4d3dfa66],
  8199. ["BoundToLayout", cr.behaviors.bound, 9923801587168184]
  8200. ], !1, !1, 8795787654955184, [], null
  8201. ],
  8202. ["t9", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
  8203. ["Pin", cr.behaviors.Pin, 450205616049659],
  8204. ["BoundToLayout", cr.behaviors.bound, 9499681905803348]
  8205. ], !1, !1, 5567047572048658, [], null],
  8206. ["t10", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8207. ["Default", 5, !1, 1, 0, !1, 7505284560090583, [
  8208. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8209. [], 3
  8210. ]
  8211. ]]
  8212. ],
  8213. [], !1, !1, 5204639142997524, [], null
  8214. ],
  8215. ["t11", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
  8216. ["Solid", cr.behaviors.solid, 9568985645025144]
  8217. ], !1, !1, 6388260095824243, [], null],
  8218. ["t12", cr.plugins_.Sprite, !1, [7528263856580013], 2, 0, null, [
  8219. ["Default", 5, !1, 1, 0, !1, 0xc72788ec0842c, [
  8220. ["images/spike-sheet0.png", 591, 0, 0, 44, 80, 1, .6590909361839294, .4749999940395355, [],
  8221. [5.960464477539063e-8, -.1749999821186066, -.2499999403953552, -.2749999761581421, .3181820511817932, -.01249998807907105, -.2045459449291229, .2875000536441803, 5.960464477539063e-8, .1624999940395355, -.6590909361839294, -.01249998807907105], 0
  8222. ]
  8223. ]]
  8224. ],
  8225. [
  8226. ["Bullet", cr.behaviors.Bullet, 7073731433865991],
  8227. ["DestroyOutsideLayout", cr.behaviors.destroy, 5460983221610014]
  8228. ], !1, !1, 7982039181304106, [], null
  8229. ],
  8230. ["t13", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 6359349168031184, [], null],
  8231. ["t14", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8835981928719879, [], null],
  8232. ["t15", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8233. ["Default", 5, !1, 1, 0, !1, 7613620147924718, [
  8234. ["images/textbg_bestscore_normal-sheet0.png", 589, 0, 0, 404, 222, 1, .5, .5, [],
  8235. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8236. ]
  8237. ]]
  8238. ],
  8239. [], !1, !1, 9607777712854436, [], null
  8240. ],
  8241. ["t16", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 7847271434545664, [], null],
  8242. ["t17", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 7297958554087399, [], null],
  8243. ["t18", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x5baba918e84ba, [], null],
  8244. ["t19", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 9589340306433068, [], null],
  8245. ["t20", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8246. ["Default", 5, !1, 1, 0, !1, 9755286571421904, [
  8247. ["images/textbg_bestscore_normal-sheet0.png", 589, 0, 0, 404, 222, 1, .5, .5, [],
  8248. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8249. ]
  8250. ]]
  8251. ],
  8252. [], !1, !1, 0x71c647078999f, [], null
  8253. ],
  8254. ["t21", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x3f03fb8429157, [], null],
  8255. ["t22", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xcc11606c224f7, [], null],
  8256. ["t23", cr.plugins_.WebStorage, !1, [], 0, 0, null, null, [], !1, !1, 5139001462299883, [], null, []],
  8257. ["t24", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8258. ["Default", 5, !1, 1, 0, !1, 5103342796693258, [
  8259. ["images/normalbttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
  8260. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8261. ]
  8262. ]]
  8263. ],
  8264. [], !1, !1, 0x7af7f7b168338, [], null
  8265. ],
  8266. ["t25", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8984062788887902, [], null],
  8267. ["t26", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 5994456087172483, [], null],
  8268. ["t27", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x3e070f6dc0f5d, [], null],
  8269. ["t28", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8270. ["Default", 5, !1, 1, 0, !1, 0xc1835a6e5a28e, [
  8271. ["images/nightmarebttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
  8272. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8273. ]
  8274. ]]
  8275. ],
  8276. [], !1, !1, 4790712197383259, [], null
  8277. ],
  8278. ["t29", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 6951528211348085, [], null],
  8279. ["t30", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8280. ["Default", 5, !1, 1, 0, !1, 445665985768652, [
  8281. ["images/hellbttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
  8282. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8283. ]
  8284. ]]
  8285. ],
  8286. [], !1, !1, 0xe41d3a23e1414, [], null
  8287. ],
  8288. ["t31", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8289. ["Default", 5, !1, 1, 0, !1, 872611027852685, [
  8290. ["images/infernobttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
  8291. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8292. ]
  8293. ]]
  8294. ],
  8295. [], !1, !1, 7482520610590856, [], null
  8296. ],
  8297. ["t32", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xa4c197186dc49, [], null],
  8298. ["t33", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 5992033972514587, [], null],
  8299. ["t34", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x6a1d5705e0026, [], null],
  8300. ["t35", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 4966954451971078, [], null],
  8301. ["t36", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8302. ["Default", 5, !1, 1, 0, !1, 6096583420072432, [
  8303. ["images/impossiblebttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
  8304. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8305. ]
  8306. ]]
  8307. ],
  8308. [], !1, !1, 0x719f5a58b5c47, [], null
  8309. ],
  8310. ["t37", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 468877404981382, [], null],
  8311. ["t38", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xda92ffda1bca7, [], null],
  8312. ["t39", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg3.png", 156, 1], null, [], !1, !1, 0xb29ac2431cd86, [], null],
  8313. ["t40", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
  8314. ["Solid", cr.behaviors.solid, 0xe3473ebd3799a]
  8315. ], !1, !1, 9677020296823962, [], null],
  8316. ["t41", cr.plugins_.Sprite, !1, [], 2, 0, null, [
  8317. ["Default", 5, !1, 1, 0, !1, 0x627aa0a17bb03, [
  8318. ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
  8319. [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
  8320. ]
  8321. ]]
  8322. ],
  8323. [
  8324. ["Platform", cr.behaviors.Platform, 0xc3da5be5e05be],
  8325. ["BoundToLayout", cr.behaviors.bound, 9649509671967356]
  8326. ], !1, !1, 8319208106429983, [], null
  8327. ],
  8328. ["t42", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8329. ["Default", 5, !1, 1, 0, !1, 6873912397263765, [
  8330. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8331. [], 3
  8332. ]
  8333. ]]
  8334. ],
  8335. [], !1, !1, 8469203959684586, [], null
  8336. ],
  8337. ["t43", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xe4c53ccaa5463, [], null],
  8338. ["t44", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8936911518284494, [], null],
  8339. ["t45", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8952683020386214, [], null],
  8340. ["t46", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x953a83aa41291, [], null],
  8341. ["t47", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg4.png", 156, 1], null, [], !1, !1, 0xbdba9f5f3fcde, [], null],
  8342. ["t48", cr.plugins_.Sprite, !1, [], 2, 0, null, [
  8343. ["Default", 5, !1, 1, 0, !1, 0x81c45f58bb5b3, [
  8344. ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
  8345. [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
  8346. ]
  8347. ]]
  8348. ],
  8349. [
  8350. ["Platform", cr.behaviors.Platform, 0xea0f2a59f4c38],
  8351. ["BoundToLayout", cr.behaviors.bound, 0xf031991bb3658]
  8352. ], !1, !1, 5660495787184037, [], null
  8353. ],
  8354. ["t49", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
  8355. ["Pin", cr.behaviors.Pin, 9142222473371622],
  8356. ["BoundToLayout", cr.behaviors.bound, 4767382198009075]
  8357. ], !1, !1, 7851621736660535, [], null],
  8358. ["t50", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8359. ["Default", 5, !1, 1, 0, !1, 4906895085843812, [
  8360. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8361. [], 3
  8362. ]
  8363. ]]
  8364. ],
  8365. [], !1, !1, 0xa64c1cc7a2880, [], null
  8366. ],
  8367. ["t51", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8368. ["Default", 5, !1, 1, 0, !1, 8423911507388832, [
  8369. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8370. [], 3
  8371. ]
  8372. ]]
  8373. ],
  8374. [], !1, !1, 0xe7bdb851842d, [], null
  8375. ],
  8376. ["t52", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8377. ["Default", 5, !1, 1, 0, !1, 0xfec6c8024c667, [
  8378. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8379. [], 3
  8380. ]
  8381. ]]
  8382. ],
  8383. [], !1, !1, 5790975368279212, [], null
  8384. ],
  8385. ["t53", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8386. ["Default", 5, !1, 1, 0, !1, 4640784326725808, [
  8387. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8388. [], 3
  8389. ]
  8390. ]]
  8391. ],
  8392. [], !1, !1, 4588411117111063, [], null
  8393. ],
  8394. ["t54", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
  8395. ["Pin", cr.behaviors.Pin, 532238573144374],
  8396. ["BoundToLayout", cr.behaviors.bound, 6471116641597284]
  8397. ], !1, !1, 879565000856208, [], null],
  8398. ["t55", cr.plugins_.Sprite, !1, [0xf307ddc1a3a73], 2, 0, null, [
  8399. ["Default", 5, !1, 1, 0, !1, 7260137273477723, [
  8400. ["images/spike-sheet0.png", 591, 0, 0, 44, 80, 1, .6590909361839294, .4749999940395355, [],
  8401. [5.960464477539063e-8, -.1749999821186066, -.2499999403953552, -.2749999761581421, .3181820511817932, -.01249998807907105, -.2045459449291229, .2875000536441803, 5.960464477539063e-8, .1624999940395355, -.6590909361839294, -.01249998807907105], 0
  8402. ]
  8403. ]]
  8404. ],
  8405. [
  8406. ["Bullet", cr.behaviors.Bullet, 7986109018720562],
  8407. ["DestroyOutsideLayout", cr.behaviors.destroy, 5470250386077403]
  8408. ], !1, !1, 8203573051285382, [], null
  8409. ],
  8410. ["t56", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x892413a720ed5, [], null],
  8411. ["t57", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x390e63a5c94c4, [], null],
  8412. ["t58", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg5.png", 156, 1], null, [], !1, !1, 8990260247683904, [], null],
  8413. ["t59", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
  8414. ["Solid", cr.behaviors.solid, 0xccaab0afca5e3]
  8415. ], !1, !1, 7788867354988146, [], null],
  8416. ["t60", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
  8417. ["Solid", cr.behaviors.solid, 4805740337038933]
  8418. ], !1, !1, 5046137115742047, [], null],
  8419. ["t61", cr.plugins_.Sprite, !1, [], 2, 0, null, [
  8420. ["Default", 5, !1, 1, 0, !1, 0xbfbaa6b5af4fd, [
  8421. ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
  8422. [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
  8423. ]
  8424. ]]
  8425. ],
  8426. [
  8427. ["Platform", cr.behaviors.Platform, 31611307272276],
  8428. ["BoundToLayout", cr.behaviors.bound, 5326994880616739]
  8429. ], !1, !1, 0xa860af95ff41b, [], null
  8430. ],
  8431. ["t62", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
  8432. ["Pin", cr.behaviors.Pin, 8917645216701109],
  8433. ["BoundToLayout", cr.behaviors.bound, 0x6317a00bd2a2b]
  8434. ], !1, !1, 0x8287c0b2f0e9b, [], null],
  8435. ["t63", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8436. ["Default", 5, !1, 1, 0, !1, 7702544969032746, [
  8437. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8438. [], 3
  8439. ]
  8440. ]]
  8441. ],
  8442. [], !1, !1, 6580132122188653, [], null
  8443. ],
  8444. ["t64", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg6.png", 156, 1], null, [], !1, !1, 0xfa3522dae993b, [], null],
  8445. ["t65", cr.plugins_.Sprite, !1, [], 2, 0, null, [
  8446. ["Default", 5, !1, 1, 0, !1, 5032065670131676, [
  8447. ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
  8448. [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
  8449. ]
  8450. ]]
  8451. ],
  8452. [
  8453. ["Platform", cr.behaviors.Platform, 5077497232240966],
  8454. ["BoundToLayout", cr.behaviors.bound, 6185495358862762]
  8455. ], !1, !1, 8690321124762315, [], null
  8456. ],
  8457. ["t66", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
  8458. ["Pin", cr.behaviors.Pin, 4617043882985752],
  8459. ["BoundToLayout", cr.behaviors.bound, 0x8da015ecb9783]
  8460. ], !1, !1, 0xb6ffedb55008, [], null],
  8461. ["t67", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8462. ["Default", 5, !1, 1, 0, !1, 7463286475444659, [
  8463. ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
  8464. [], 3
  8465. ]
  8466. ]]
  8467. ],
  8468. [], !1, !1, 0x62c3d9d05d28a, [], null
  8469. ],
  8470. ["t68", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x650e3ff8d565d, [], null],
  8471. ["t69", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xffaf52b2572b9, [], null],
  8472. ["t70", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8473. ["Default", 5, !1, 1, 0, !1, 509362264958093, [
  8474. ["images/letsplaybg-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
  8475. [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
  8476. ]
  8477. ]]
  8478. ],
  8479. [], !1, !1, 408058538244016, [], null
  8480. ],
  8481. ["t71", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 5316312943955336, [], null],
  8482. ["t72", cr.plugins_.CJSAds, !1, [], 0, 0, null, null, [], !1, !1, 949271420120713, [], null, [0, 1]],
  8483. ["t73", cr.plugins_.Audio, !1, [], 0, 0, null, null, [], !1, !1, 0xdab676c509da5, [], null, [0, 0, 1, 1, 600, 600, 1e4, 1, 5e3, 1]],
  8484. ["t74", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x9089e812a8b9a, [], null],
  8485. ["t75", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8486. ["Default", 5, !1, 1, 0, !1, 6888153195182923, [
  8487. ["images/facebookshare-sheet0.png", 1958, 0, 0, 118, 118, 1, .491525411605835, .491525411605835, [],
  8488. [-.3389830589294434, -.3389830589294434, 0, -.4745762646198273, .3474576473236084, -.347457617521286, .491525411605835, 0, .3474576473236084, .3474576473236084, 0, .491525411605835, -.3389830589294434, .3389830589294434, -.4745762646198273, 0], 0
  8489. ]
  8490. ]]
  8491. ],
  8492. [], !1, !1, 0x8737d78dc1b8e, [], null
  8493. ],
  8494. ["t76", cr.plugins_.Sprite, !1, [], 0, 0, null, [
  8495. ["Default", 5, !1, 1, 0, !1, 8810169868865641, [
  8496. ["images/twittershare-sheet0.png", 2369, 0, 0, 118, 118, 1, .491525411605835, .491525411605835, [],
  8497. [-.3389830589294434, -.3389830589294434, 0, -.4745762646198273, .3474576473236084, -.347457617521286, .491525411605835, 0, .3474576473236084, .3474576473236084, 0, .491525411605835, -.3389830589294434, .3389830589294434, -.4745762646198273, 0], 0
  8498. ]
  8499. ]]
  8500. ],
  8501. [], !1, !1, 0xd80c59d575e0d, [], null
  8502. ],
  8503. ["t77", cr.plugins_.Browser, !1, [], 0, 0, null, null, [], !1, !1, 0xc9383e8101249, [], null, []]
  8504. ],
  8505. [],
  8506. [
  8507. ["Normal", 640, 960, !1, "NormalSheet", 6793190745443023, [
  8508. ["BG", 0, 0xfe2f6cdb9082f, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  8509. [
  8510. [324, -10, 0, 323, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 4, [],
  8511. [],
  8512. [0, 0]
  8513. ],
  8514. [
  8515. [-9, -3, 0, 329, 967, 0, 0, 1, 0, 0, 0, 0, []], 3, 2, [],
  8516. [],
  8517. [0, 0]
  8518. ],
  8519. [
  8520. [315, -7, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 1, [],
  8521. [
  8522. [1]
  8523. ],
  8524. [0, 0]
  8525. ]
  8526. ],
  8527. []
  8528. ],
  8529. ["Objects", 1, 0xf6e591d868dc3, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8530. [
  8531. [141, 280, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 0, [],
  8532. [
  8533. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  8534. [1]
  8535. ],
  8536. [0, "Default", 0, 1]
  8537. ],
  8538. [
  8539. [148, 231, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 7, [],
  8540. [
  8541. [],
  8542. [1]
  8543. ],
  8544. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  8545. ],
  8546. [
  8547. [476, 280, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 8, [],
  8548. [
  8549. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  8550. [1]
  8551. ],
  8552. [0, "Default", 0, 1]
  8553. ],
  8554. [
  8555. [481, 227, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 9, [],
  8556. [
  8557. [],
  8558. [1]
  8559. ],
  8560. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  8561. ],
  8562. [
  8563. [-37, -3, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 13, [],
  8564. [],
  8565. ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
  8566. ]
  8567. ],
  8568. []
  8569. ],
  8570. ["Touch", 2, 8804938411823264, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8571. [
  8572. [158, 479.5, 0, 324, 971, 0, 0, 1, .5, .5, 0, 0, []], 5, 5, [],
  8573. [],
  8574. [0, "Default", 0, 1]
  8575. ],
  8576. [
  8577. [500, 480.5, 0, 346, 979, 0, 0, 1, .5, .5, 0, 0, []], 10, 10, [],
  8578. [],
  8579. [0, "Default", 0, 1]
  8580. ]
  8581. ],
  8582. []
  8583. ],
  8584. ["Exterior Walls", 3, 0xadd72705608ec, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8585. [
  8586. [-4, -2.908782958984375, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 6, [],
  8587. [
  8588. [1]
  8589. ],
  8590. [0, 0]
  8591. ],
  8592. [
  8593. [606, -14, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 11, [],
  8594. [
  8595. [1]
  8596. ],
  8597. [0, 0]
  8598. ]
  8599. ],
  8600. []
  8601. ],
  8602. ["GameOver", 4, 8210983363784418, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  8603. [
  8604. [322, 198.5, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 14, [],
  8605. [],
  8606. ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
  8607. ],
  8608. [
  8609. [324, 323, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 15, [],
  8610. [],
  8611. [0, "Default", 0, 1]
  8612. ],
  8613. [
  8614. [124, 264, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 16, [],
  8615. [],
  8616. ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  8617. ],
  8618. [
  8619. [309.3287048339844, 329.8324890136719, 0, 236, 67, 0, 0, 1, 0, 0, 0, 0, []], 17, 17, [],
  8620. [],
  8621. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  8622. ],
  8623. [
  8624. [321, 582, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 18, [],
  8625. [],
  8626. [0, "Default", 0, 1]
  8627. ],
  8628. [
  8629. [122, 546, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 19, [],
  8630. [],
  8631. ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  8632. ],
  8633. [
  8634. [321, 681, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 21, [],
  8635. [],
  8636. [0, "Default", 0, 1]
  8637. ],
  8638. [
  8639. [120, 644, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 20, [],
  8640. [],
  8641. ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  8642. ],
  8643. [
  8644. [322, 461, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 22, [],
  8645. [],
  8646. [0, "Default", 0, 1]
  8647. ],
  8648. [
  8649. [122, 404, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 23, [],
  8650. [],
  8651. ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  8652. ],
  8653. [
  8654. [305, 462, 0, 227, 59, 0, 0, 1, 0, 0, 0, 0, []], 22, 24, [],
  8655. [],
  8656. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  8657. ],
  8658. [
  8659. [48.73337173461914, 906.8275146484375, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 201, [],
  8660. [],
  8661. [0, "Default", 0, 1]
  8662. ],
  8663. [
  8664. [142, 906.8280029296875, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 202, [],
  8665. [],
  8666. [0, "Default", 0, 1]
  8667. ]
  8668. ],
  8669. []
  8670. ],
  8671. ["Click To Begin!", 5, 8793808151719034, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8672. [
  8673. [-5, -2, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 196, [],
  8674. [],
  8675. ["点击开始!", 0, "bold 48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  8676. ]
  8677. ],
  8678. []
  8679. ]
  8680. ],
  8681. [],
  8682. []
  8683. ],
  8684. ["Menu", 640, 960, !1, "MenuSheet", 7496298940719232, [
  8685. ["BG", 0, 0x67f99609e3fa6, !0, [248, 237, 221], !1, 1, 1, 1, !1, 1, 0, 0, [],
  8686. []
  8687. ],
  8688. ["UI", 1, 5342882108316562, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8689. [
  8690. [329.9302978515625, 330, 0, 422, 89, 0, 0, 1, .5, .5, 0, 0, []], 24, 26, [],
  8691. [],
  8692. [0, "Default", 0, 1]
  8693. ],
  8694. [
  8695. [118.9302978515625, 284, 0, 422, 80, 0, 0, 1, 0, 0, 0, 0, []], 25, 27, [],
  8696. [],
  8697. ["普通难度", 0, "bold 36pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8698. ],
  8699. [
  8700. [119, 338, 0, 421.3353271484375, 55, 0, 0, 1, 0, 0, 0, 0, []], 26, 28, [],
  8701. [],
  8702. ["0", 0, "22pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8703. ],
  8704. [
  8705. [1, 70, 0, 638, 98, 0, 0, 1, 0, 0, 0, 0, []], 27, 29, [],
  8706. [],
  8707. ["火柴人大逃亡", 0, "bold 48pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
  8708. ],
  8709. [
  8710. [185, 468, 0, 131.5364685058594, 99.99185180664062, 0, 0, 1, .5, .5, 0, 0, []], 28, 30, [],
  8711. [],
  8712. [0, "Default", 0, 1]
  8713. ],
  8714. [
  8715. [120, 475, 0, 129.9583129882813, 51.3916015625, 0, 0, 1, 0, 0, 0, 0, []], 29, 32, [],
  8716. [],
  8717. ["0", 0, "22pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8718. ],
  8719. [
  8720. [330, 468, 0, 131.5359954833984, 99.99199676513672, 0, 0, 1, .5, .5, 0, 0, []], 30, 33, [],
  8721. [],
  8722. [0, "Default", 0, 1]
  8723. ],
  8724. [
  8725. [474, 467, 0, 131.5359954833984, 99.99199676513672, 0, 0, 1, .5, .5, 0, 0, []], 31, 34, [],
  8726. [],
  8727. [0, "Default", 0, 1]
  8728. ],
  8729. [
  8730. [266, 433, 0, 130.5559997558594, 97.36100006103516, 0, 0, 1, 0, 0, 0, 0, []], 32, 35, [],
  8731. [],
  8732. ["地狱", 0, "bold 24pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8733. ],
  8734. [
  8735. [265, 474, 0, 129.9579925537109, 51.39199829101563, 0, 0, 1, 0, 0, 0, 0, []], 33, 36, [],
  8736. [],
  8737. ["0", 0, "22pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8738. ],
  8739. [
  8740. [411, 434, 0, 130.5559997558594, 97.36100006103516, 0, 0, 1, 0, 0, 0, 0, []], 34, 37, [],
  8741. [],
  8742. ["炼狱", 0, "bold 24pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8743. ],
  8744. [
  8745. [409, 475, 0, 129.9579925537109, 51.39199829101563, 0, 0, 1, 0, 0, 0, 0, []], 35, 38, [],
  8746. [],
  8747. ["0", 0, "22pt Impact", "rgb(46,45,47)", 1, 0, 0, 0, 0]
  8748. ],
  8749. [
  8750. [330, 605, 0, 421.8609924316406, 89, 0, 0, 1, .5, .5, 0, 0, []], 36, 39, [],
  8751. [],
  8752. [0, "Default", 0, 1]
  8753. ],
  8754. [
  8755. [119, 555.221435546875, 0, 422, 80, 0, 0, 1, 0, 0, 0, 0, []], 37, 40, [],
  8756. [],
  8757. ["自虐难度", 0, "bold 36pt Impact", "rgb(45,44,46)", 1, 0, 0, 0, 0]
  8758. ],
  8759. [
  8760. [120.58984375, 609.12109375, 0, 421.3349914550781, 55, 0, 0, 1, 0, 0, 0, 0, []], 38, 41, [],
  8761. [],
  8762. ["0", 0, "22pt Impact", "rgb(46,45,47)", 1, 0, 0, 0, 0]
  8763. ],
  8764. [
  8765. [121, 432, 0, 130.5559997558594, 97.36100006103516, 0, 0, 1, 0, 0, 0, 0, []], 46, 31, [],
  8766. [],
  8767. ["噩梦", 0, "bold 24pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
  8768. ],
  8769. [
  8770. [121, 655, 0, 419, 77, 0, 0, 1, 0, 0, 0, 0, []], 68, 183, [],
  8771. [],
  8772. ["怎么玩?", 0, "36pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
  8773. ]
  8774. ],
  8775. []
  8776. ]
  8777. ],
  8778. [],
  8779. []
  8780. ],
  8781. ["Nightmare", 640, 960, !1, "NightmareSheet", 476582701442117, [
  8782. ["BGs", 0, 6141996387292167, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  8783. [
  8784. [-2, -3, 0, 216, 967, 0, 0, 1, 0, 0, 0, 0, []], 3, 42, [],
  8785. [],
  8786. [0, 0]
  8787. ],
  8788. [
  8789. [211, -15, 0, 213, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 43, [],
  8790. [],
  8791. [0, 0]
  8792. ],
  8793. [
  8794. [423, -7, 0, 223, 974, 0, 0, 1, 0, 0, 0, 0, []], 39, 44, [],
  8795. [],
  8796. [0, 0]
  8797. ],
  8798. [
  8799. [210, -5, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 45, [],
  8800. [
  8801. [1]
  8802. ],
  8803. [0, 0]
  8804. ],
  8805. [
  8806. [423, -9, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 40, 46, [],
  8807. [
  8808. [1]
  8809. ],
  8810. [0, 0]
  8811. ]
  8812. ],
  8813. []
  8814. ],
  8815. ["Players", 1, 6048407420453315, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8816. [
  8817. [570, 239, 0, 74.12200164794922, 74.12000274658203, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 79, [],
  8818. [
  8819. [],
  8820. [1]
  8821. ],
  8822. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  8823. ],
  8824. [
  8825. [137, 231, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 77, [],
  8826. [
  8827. [],
  8828. [1]
  8829. ],
  8830. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  8831. ],
  8832. [
  8833. [370, 235, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 78, [],
  8834. [
  8835. [],
  8836. [1]
  8837. ],
  8838. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  8839. ],
  8840. [
  8841. [130, 280, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 47, [],
  8842. [
  8843. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  8844. [1]
  8845. ],
  8846. [0, "Default", 0, 1]
  8847. ],
  8848. [
  8849. [362, 280, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 48, [],
  8850. [
  8851. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  8852. [1]
  8853. ],
  8854. [0, "Default", 0, 1]
  8855. ],
  8856. [
  8857. [560, 280, 0, 40, 88, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 49, [],
  8858. [
  8859. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  8860. [1]
  8861. ],
  8862. [0, "Default", 0, 1]
  8863. ]
  8864. ],
  8865. []
  8866. ],
  8867. ["Touch", 2, 5926261608077473, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8868. [
  8869. [49, 480, 0, 324, 971, 0, 0, 1, .5, .5, 0, 0, []], 5, 50, [],
  8870. [],
  8871. [0, "Default", 0, 1]
  8872. ],
  8873. [
  8874. [608, 468, 0, 346, 979, 0, 0, 1, .5, .5, 0, 0, []], 10, 51, [],
  8875. [],
  8876. [0, "Default", 0, 1]
  8877. ],
  8878. [
  8879. [324, 482, 0, 210, 986, 0, 0, 1, .5, .5, 0, 0, []], 42, 52, [],
  8880. [],
  8881. [0, "Default", 0, 1]
  8882. ]
  8883. ],
  8884. []
  8885. ],
  8886. ["ExteriorWalls", 3, 0xa7eeacb468bd1, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8887. [
  8888. [-1, 0, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 53, [],
  8889. [
  8890. [1]
  8891. ],
  8892. [0, 0]
  8893. ],
  8894. [
  8895. [605, -19, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 54, [],
  8896. [
  8897. [1]
  8898. ],
  8899. [0, 0]
  8900. ]
  8901. ],
  8902. []
  8903. ],
  8904. ["Objects", 4, 841927784348586, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8905. [
  8906. [-35, -2, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 43, 56, [],
  8907. [],
  8908. ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 0, 0, 0, 0]
  8909. ]
  8910. ],
  8911. []
  8912. ],
  8913. ["GameOver", 5, 9465855984909984, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  8914. [
  8915. [322, 461, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 63, [],
  8916. [],
  8917. [0, "Default", 0, 1]
  8918. ],
  8919. [
  8920. [324, 323, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 59, [],
  8921. [],
  8922. [0, "Default", 0, 1]
  8923. ],
  8924. [
  8925. [322, 198.5, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 57, [],
  8926. [],
  8927. ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
  8928. ],
  8929. [
  8930. [123, 266, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 58, [],
  8931. [],
  8932. ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  8933. ],
  8934. [
  8935. [321, 582, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 60, [],
  8936. [],
  8937. [0, "Default", 0, 1]
  8938. ],
  8939. [
  8940. [321, 681, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 61, [],
  8941. [],
  8942. [0, "Default", 0, 1]
  8943. ],
  8944. [
  8945. [124, 404, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 62, [],
  8946. [],
  8947. ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  8948. ],
  8949. [
  8950. [122, 546, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 64, [],
  8951. [],
  8952. ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  8953. ],
  8954. [
  8955. [122, 644, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 65, [],
  8956. [],
  8957. ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  8958. ],
  8959. [
  8960. [309.3290100097656, 329.8320007324219, 0, 200, 59, 0, 0, 1, 0, 0, 0, 0, []], 44, 66, [],
  8961. [],
  8962. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  8963. ],
  8964. [
  8965. [312, 470, 0, 200, 57, 0, 0, 1, 0, 0, 0, 0, []], 45, 67, [],
  8966. [],
  8967. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  8968. ],
  8969. [
  8970. [57, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 204, [],
  8971. [],
  8972. [0, "Default", 0, 1]
  8973. ],
  8974. [
  8975. [146, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 205, [],
  8976. [],
  8977. [0, "Default", 0, 1]
  8978. ]
  8979. ],
  8980. []
  8981. ],
  8982. ["Click To Begin!", 6, 0x58719e360b2c0, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8983. [
  8984. [-2, -9, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 200, [],
  8985. [],
  8986. ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  8987. ]
  8988. ],
  8989. []
  8990. ]
  8991. ],
  8992. [],
  8993. []
  8994. ],
  8995. ["Hell", 640, 960, !1, "HellSheet", 6495772553679315, [
  8996. ["ObjectsBot", 0, 0x8453830d77bda, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  8997. [
  8998. [1224, 203, 0, 72, 56, 0, 0, 1, .6590909361839294, .4749999940395355, 0, 0, []], 12, 91, [
  8999. [0]
  9000. ],
  9001. [
  9002. [0, 0, 0, 0, 0, 1],
  9003. []
  9004. ],
  9005. [0, "Default", 0, 1]
  9006. ]
  9007. ],
  9008. []
  9009. ],
  9010. ["BG_Top", 1, 5851706206676208, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  9011. [
  9012. [0, 0, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 3, 55, [],
  9013. [],
  9014. [0, 0]
  9015. ],
  9016. [
  9017. [320, 0, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 4, 68, [],
  9018. [],
  9019. [0, 0]
  9020. ]
  9021. ],
  9022. []
  9023. ],
  9024. ["ObjectsTop", 2, 9495895565874314, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9025. [
  9026. [-39.8114013671875, 2.076026916503906, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 92, [],
  9027. [],
  9028. ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
  9029. ]
  9030. ],
  9031. []
  9032. ],
  9033. ["Bg_Bottom", 3, 0xa4cf290d1d3e1, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9034. [
  9035. [0, 480, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 39, 69, [],
  9036. [],
  9037. [0, 0]
  9038. ],
  9039. [
  9040. [320, 480, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 47, 70, [],
  9041. [],
  9042. [0, 0]
  9043. ]
  9044. ],
  9045. []
  9046. ],
  9047. ["Walls", 4, 0x868a51b11ccb9, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9048. [
  9049. [314, -5, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 71, [],
  9050. [
  9051. [1]
  9052. ],
  9053. [0, 0]
  9054. ],
  9055. [
  9056. [806, 466, 0, 18, 976, 0, 1.570796370506287, 1, 0, 0, 0, 0, []], 40, 72, [],
  9057. [
  9058. [1]
  9059. ],
  9060. [0, 0]
  9061. ]
  9062. ],
  9063. []
  9064. ],
  9065. ["Players", 5, 8969480576743454, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9066. [
  9067. [492, 596, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 48, 76, [],
  9068. [
  9069. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9070. [1]
  9071. ],
  9072. [0, "Default", 0, 1]
  9073. ],
  9074. [
  9075. [165, 596, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 75, [],
  9076. [
  9077. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9078. [1]
  9079. ],
  9080. [0, "Default", 0, 1]
  9081. ],
  9082. [
  9083. [490, 100, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 74, [],
  9084. [
  9085. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9086. [1]
  9087. ],
  9088. [0, "Default", 0, 1]
  9089. ],
  9090. [
  9091. [157, 100, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 73, [],
  9092. [
  9093. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9094. [1]
  9095. ],
  9096. [0, "Default", 0, 1]
  9097. ],
  9098. [
  9099. [171, 55, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 86, [],
  9100. [
  9101. [],
  9102. [1]
  9103. ],
  9104. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9105. ],
  9106. [
  9107. [501, 48, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 87, [],
  9108. [
  9109. [],
  9110. [1]
  9111. ],
  9112. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9113. ],
  9114. [
  9115. [167, 567, 0, 74.12200164794922, 74.12000274658203, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 88, [],
  9116. [
  9117. [],
  9118. [1]
  9119. ],
  9120. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9121. ],
  9122. [
  9123. [497, 566, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 54, 89, [],
  9124. [
  9125. [],
  9126. [1]
  9127. ],
  9128. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9129. ]
  9130. ],
  9131. []
  9132. ],
  9133. ["touch", 6, 7880366942117175, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9134. [
  9135. [147.5, 230.5, 0, 339, 481, 0, 0, 1, .5, .5, 0, 0, []], 50, 80, [],
  9136. [],
  9137. [0, "Default", 0, 1]
  9138. ],
  9139. [
  9140. [496, 234.5, 0, 348, 475, 0, 0, 1, .5, .5, 0, 0, []], 51, 81, [],
  9141. [],
  9142. [0, "Default", 0, 1]
  9143. ],
  9144. [
  9145. [140, 725, 0, 354, 482, 0, 0, 1, .5, .5, 0, 0, []], 52, 82, [],
  9146. [],
  9147. [0, "Default", 0, 1]
  9148. ],
  9149. [
  9150. [486.5, 723, 0, 317, 484, 0, 0, 1, .5, .5, 0, 0, []], 53, 83, [],
  9151. [],
  9152. [0, "Default", 0, 1]
  9153. ]
  9154. ],
  9155. []
  9156. ],
  9157. ["Exterior Walls", 7, 7877837409767375, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9158. [
  9159. [-1.125701904296875, -1.933837890625, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 84, [],
  9160. [
  9161. [1]
  9162. ],
  9163. [0, 0]
  9164. ],
  9165. [
  9166. [604, -17, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 85, [],
  9167. [
  9168. [1]
  9169. ],
  9170. [0, 0]
  9171. ]
  9172. ],
  9173. []
  9174. ],
  9175. ["GameOver", 8, 352132221228013, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  9176. [
  9177. [322, 198.5, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 93, [],
  9178. [],
  9179. ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
  9180. ],
  9181. [
  9182. [324, 323, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 94, [],
  9183. [],
  9184. [0, "Default", 0, 1]
  9185. ],
  9186. [
  9187. [321, 582, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 95, [],
  9188. [],
  9189. [0, "Default", 0, 1]
  9190. ],
  9191. [
  9192. [321, 681, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 96, [],
  9193. [],
  9194. [0, "Default", 0, 1]
  9195. ],
  9196. [
  9197. [322, 461, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 97, [],
  9198. [],
  9199. [0, "Default", 0, 1]
  9200. ],
  9201. [
  9202. [126, 265, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 98, [],
  9203. [],
  9204. ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  9205. ],
  9206. [
  9207. [124, 547, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 99, [],
  9208. [],
  9209. ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9210. ],
  9211. [
  9212. [122, 645, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 100, [],
  9213. [],
  9214. ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9215. ],
  9216. [
  9217. [124, 405, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 101, [],
  9218. [],
  9219. ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  9220. ],
  9221. [
  9222. [315, 330, 0, 200, 69, 0, 0, 1, 0, 0, 0, 0, []], 56, 102, [],
  9223. [],
  9224. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  9225. ],
  9226. [
  9227. [312, 471, 0, 200, 65, 0, 0, 1, 0, 0, 0, 0, []], 57, 103, [],
  9228. [],
  9229. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  9230. ],
  9231. [
  9232. [51, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 206, [],
  9233. [],
  9234. [0, "Default", 0, 1]
  9235. ],
  9236. [
  9237. [139, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 207, [],
  9238. [],
  9239. [0, "Default", 0, 1]
  9240. ]
  9241. ],
  9242. []
  9243. ],
  9244. ["Click To Begin", 9, 5096805631829142, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9245. [
  9246. [-9, -6, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 199, [],
  9247. [],
  9248. ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9249. ]
  9250. ],
  9251. []
  9252. ]
  9253. ],
  9254. [],
  9255. []
  9256. ],
  9257. ["Inferno", 640, 960, !1, "InfernoSheet", 0x6f96b4ef9dfbd, [
  9258. ["BG", 0, 0xe235fc1594614, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  9259. [
  9260. [217, -15, 0, 213, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 105, [],
  9261. [],
  9262. [0, 0]
  9263. ],
  9264. [
  9265. [411, -12, 0, 240, 974, 0, 0, 1, 0, 0, 0, 0, []], 39, 106, [],
  9266. [],
  9267. [0, 0]
  9268. ],
  9269. [
  9270. [318.88916015625, 478, 0, 322, 507, 0, 0, 1, 0, 0, 0, 0, []], 58, 108, [],
  9271. [],
  9272. [0, 0]
  9273. ],
  9274. [
  9275. [-7, -5, 0, 241, 973, 0, 0, 1, 0, 0, 0, 0, []], 3, 104, [],
  9276. [],
  9277. [0, 0]
  9278. ],
  9279. [
  9280. [-1, 478, 0, 320, 500, 0, 0, 1, 0, 0, 0, 0, []], 47, 107, [],
  9281. [],
  9282. [0, 0]
  9283. ]
  9284. ],
  9285. []
  9286. ],
  9287. ["Walls", 1, 9087930047096660, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9288. [
  9289. [224, -14, 0, 18, 492, 0, 0, 1, 0, 0, 0, 0, []], 1, 109, [],
  9290. [
  9291. [1]
  9292. ],
  9293. [0, 0]
  9294. ],
  9295. [
  9296. [404, -11, 0, 18, 493, 0, 0, 1, 0, 0, 0, 0, []], 40, 110, [],
  9297. [
  9298. [1]
  9299. ],
  9300. [0, 0]
  9301. ],
  9302. [
  9303. [642, 471.0000305175781, 0, 18, 643, 0, 1.570796370506287, 1, 0, 0, 0, 0, []], 59, 111, [],
  9304. [
  9305. [1]
  9306. ],
  9307. [0, 0]
  9308. ],
  9309. [
  9310. [314, 486, 0, 18, 492, 0, 0, 1, 0, 0, 0, 0, []], 60, 112, [],
  9311. [
  9312. [1]
  9313. ],
  9314. [0, 0]
  9315. ]
  9316. ],
  9317. []
  9318. ],
  9319. ["Exterior Walls", 2, 8660337620441946, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9320. [
  9321. [0, -2, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 113, [],
  9322. [
  9323. [1]
  9324. ],
  9325. [0, 0]
  9326. ],
  9327. [
  9328. [608, -15, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 114, [],
  9329. [
  9330. [1]
  9331. ],
  9332. [0, 0]
  9333. ]
  9334. ],
  9335. []
  9336. ],
  9337. ["Players", 3, 744512630552264, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9338. [
  9339. [90, 110, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 115, [],
  9340. [
  9341. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9342. [1]
  9343. ],
  9344. [0, "Default", 0, 1]
  9345. ],
  9346. [
  9347. [312, 110, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 116, [],
  9348. [
  9349. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9350. [1]
  9351. ],
  9352. [0, "Default", 0, 1]
  9353. ],
  9354. [
  9355. [526, 110, 0, 40, 88, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 117, [],
  9356. [
  9357. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9358. [1]
  9359. ],
  9360. [0, "Default", 0, 1]
  9361. ],
  9362. [
  9363. [86, 598, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 48, 118, [],
  9364. [
  9365. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9366. [1]
  9367. ],
  9368. [0, "Default", 0, 1]
  9369. ],
  9370. [
  9371. [414, 590, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 61, 119, [],
  9372. [
  9373. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9374. [1]
  9375. ],
  9376. [0, "Default", 0, 1]
  9377. ],
  9378. [
  9379. [99, 71, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 120, [],
  9380. [
  9381. [],
  9382. [1]
  9383. ],
  9384. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9385. ],
  9386. [
  9387. [321, 70, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 121, [],
  9388. [
  9389. [],
  9390. [1]
  9391. ],
  9392. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9393. ],
  9394. [
  9395. [536, 68, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 122, [],
  9396. [
  9397. [],
  9398. [1]
  9399. ],
  9400. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9401. ],
  9402. [
  9403. [94, 587, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 54, 123, [],
  9404. [
  9405. [],
  9406. [1]
  9407. ],
  9408. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9409. ],
  9410. [
  9411. [423, 605, 0, 128, 128, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 62, 124, [],
  9412. [
  9413. [],
  9414. [1]
  9415. ],
  9416. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9417. ]
  9418. ],
  9419. []
  9420. ],
  9421. ["Touch", 4, 0xfe21b7d900dfc, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9422. [
  9423. [37, 234, 0, 339, 481, 0, 0, 1, .5, .5, 0, 0, []], 50, 125, [],
  9424. [],
  9425. [0, "Default", 0, 1]
  9426. ],
  9427. [
  9428. [319.5, 229, 0, 213, 489, 0, 0, 1, .5, .5, 0, 0, []], 51, 126, [],
  9429. [],
  9430. [0, "Default", 0, 1]
  9431. ],
  9432. [
  9433. [539.5, 236, 0, 215, 482, 0, 0, 1, .5, .5, 0, 0, []], 52, 127, [],
  9434. [],
  9435. [0, "Default", 0, 1]
  9436. ],
  9437. [
  9438. [156, 724, 0, 335, 484, 0, 0, 1, .5, .5, 0, 0, []], 53, 128, [],
  9439. [],
  9440. [0, "Default", 0, 1]
  9441. ],
  9442. [
  9443. [482.5, 720, 0, 313, 482, 0, 0, 1, .5, .5, 0, 0, []], 63, 129, [],
  9444. [],
  9445. [0, "Default", 0, 1]
  9446. ]
  9447. ],
  9448. []
  9449. ],
  9450. ["Objects", 5, 9638733432799384, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9451. [
  9452. [-29, 3, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 142, [],
  9453. [],
  9454. ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
  9455. ]
  9456. ],
  9457. []
  9458. ],
  9459. ["GameOver", 6, 0x5630b637b3fa9, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  9460. [
  9461. [316, 243, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 131, [],
  9462. [],
  9463. ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
  9464. ],
  9465. [
  9466. [318, 368, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 132, [],
  9467. [],
  9468. [0, "Default", 0, 1]
  9469. ],
  9470. [
  9471. [315, 627, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 133, [],
  9472. [],
  9473. [0, "Default", 0, 1]
  9474. ],
  9475. [
  9476. [315, 726, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 134, [],
  9477. [],
  9478. [0, "Default", 0, 1]
  9479. ],
  9480. [
  9481. [316, 506, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 135, [],
  9482. [],
  9483. [0, "Default", 0, 1]
  9484. ],
  9485. [
  9486. [120, 310, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 136, [],
  9487. [],
  9488. ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  9489. ],
  9490. [
  9491. [118, 592, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 137, [],
  9492. [],
  9493. ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9494. ],
  9495. [
  9496. [116, 690, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 138, [],
  9497. [],
  9498. ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9499. ],
  9500. [
  9501. [118, 450, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 139, [],
  9502. [],
  9503. ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  9504. ],
  9505. [
  9506. [309, 375, 0, 200, 69, 0, 0, 1, 0, 0, 0, 0, []], 56, 140, [],
  9507. [],
  9508. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  9509. ],
  9510. [
  9511. [306, 516, 0, 200, 65, 0, 0, 1, 0, 0, 0, 0, []], 57, 141, [],
  9512. [],
  9513. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  9514. ],
  9515. [
  9516. [60, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 208, [],
  9517. [],
  9518. [0, "Default", 0, 1]
  9519. ],
  9520. [
  9521. [151, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 209, [],
  9522. [],
  9523. [0, "Default", 0, 1]
  9524. ]
  9525. ],
  9526. []
  9527. ],
  9528. ["Click To Begin", 7, 7127975091758518, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9529. [
  9530. [-5, -12, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 198, [],
  9531. [],
  9532. ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9533. ]
  9534. ],
  9535. []
  9536. ]
  9537. ],
  9538. [],
  9539. []
  9540. ],
  9541. ["Impossible", 640, 960, !1, "ImpossibleSheet", 6221709039222784, [
  9542. ["BG", 0, 6823650229543361, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  9543. [
  9544. [-2, -3, 0, 216, 967, 0, 0, 1, 0, 0, 0, 0, []], 3, 130, [],
  9545. [],
  9546. [0, 0]
  9547. ],
  9548. [
  9549. [214, -14, 0, 213, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 143, [],
  9550. [],
  9551. [0, 0]
  9552. ],
  9553. [
  9554. [419, -11, 0, 223, 974, 0, 0, 1, 0, 0, 0, 0, []], 39, 144, [],
  9555. [],
  9556. [0, 0]
  9557. ],
  9558. [
  9559. [-3.552703857421875, 480, 0, 217.5527038574219, 985, 0, 0, 1, 0, 0, 0, 0, []], 47, 145, [],
  9560. [],
  9561. [0, 0]
  9562. ],
  9563. [
  9564. [214.432861328125, 479.03564453125, 0, 204.8214111328125, 985, 0, 0, 1, 0, 0, 0, 0, []], 58, 146, [],
  9565. [],
  9566. [0, 0]
  9567. ],
  9568. [
  9569. [416, 479, 0, 232, 985, 0, 0, 1, 0, 0, 0, 0, []], 64, 147, [],
  9570. [],
  9571. [0, 0]
  9572. ]
  9573. ],
  9574. []
  9575. ],
  9576. ["Walls", 1, 9048676112762024, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9577. [
  9578. [204, -6, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 148, [],
  9579. [
  9580. [1]
  9581. ],
  9582. [0, 0]
  9583. ],
  9584. [
  9585. [410, -10, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 40, 149, [],
  9586. [
  9587. [1]
  9588. ],
  9589. [0, 0]
  9590. ],
  9591. [
  9592. [640, 474, 0, 18, 643, 0, 1.570796370506287, 1, 0, 0, 0, 0, []], 59, 150, [],
  9593. [
  9594. [1]
  9595. ],
  9596. [0, 0]
  9597. ]
  9598. ],
  9599. []
  9600. ],
  9601. ["Exterior Walls", 2, 7702851092721567, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9602. [
  9603. [-2, -3, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 151, [],
  9604. [
  9605. [1]
  9606. ],
  9607. [0, 0]
  9608. ],
  9609. [
  9610. [611.3544311523438, -18, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 152, [],
  9611. [
  9612. [1]
  9613. ],
  9614. [0, 0]
  9615. ]
  9616. ],
  9617. []
  9618. ],
  9619. ["Players", 3, 0x8b40b1275b6ca, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9620. [
  9621. [80, 109, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 153, [],
  9622. [
  9623. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9624. [1]
  9625. ],
  9626. [0, "Default", 0, 1]
  9627. ],
  9628. [
  9629. [305, 109, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 154, [],
  9630. [
  9631. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9632. [1]
  9633. ],
  9634. [0, "Default", 0, 1]
  9635. ],
  9636. [
  9637. [515, 109, 0, 40, 88, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 155, [],
  9638. [
  9639. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9640. [1]
  9641. ],
  9642. [0, "Default", 0, 1]
  9643. ],
  9644. [
  9645. [77, 595, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 48, 156, [],
  9646. [
  9647. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9648. [1]
  9649. ],
  9650. [0, "Default", 0, 1]
  9651. ],
  9652. [
  9653. [306, 595, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 61, 157, [],
  9654. [
  9655. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9656. [1]
  9657. ],
  9658. [0, "Default", 0, 1]
  9659. ],
  9660. [
  9661. [509, 595, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 65, 158, [],
  9662. [
  9663. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9664. [1]
  9665. ],
  9666. [0, "Default", 0, 1]
  9667. ],
  9668. [
  9669. [88, 63, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 159, [],
  9670. [
  9671. [],
  9672. [1]
  9673. ],
  9674. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9675. ],
  9676. [
  9677. [313, 68, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 160, [],
  9678. [
  9679. [],
  9680. [1]
  9681. ],
  9682. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9683. ],
  9684. [
  9685. [523, 66, 0, 74.12200164794922, 74.12000274658203, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 161, [],
  9686. [
  9687. [],
  9688. [1]
  9689. ],
  9690. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9691. ],
  9692. [
  9693. [83, 591, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 54, 162, [],
  9694. [
  9695. [],
  9696. [1]
  9697. ],
  9698. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9699. ],
  9700. [
  9701. [311, 599, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 62, 163, [],
  9702. [
  9703. [],
  9704. [1]
  9705. ],
  9706. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9707. ],
  9708. [
  9709. [512, 597, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 66, 164, [],
  9710. [
  9711. [],
  9712. [1]
  9713. ],
  9714. [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
  9715. ]
  9716. ],
  9717. []
  9718. ],
  9719. ["Touch", 4, 0x65ea3fa82acf8, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9720. [
  9721. [37, 236, 0, 339, 481, 0, 0, 1, .5, .5, 0, 0, []], 50, 165, [],
  9722. [],
  9723. [0, "Default", 0, 1]
  9724. ],
  9725. [
  9726. [316.5, 235.5, 0, 199, 488, 0, 0, 1, .5, .5, 0, 0, []], 51, 166, [],
  9727. [],
  9728. [0, "Default", 0, 1]
  9729. ],
  9730. [
  9731. [527.5, 237, 0, 207, 488, 0, 0, 1, .5, .5, 0, 0, []], 52, 167, [],
  9732. [],
  9733. [0, "Default", 0, 1]
  9734. ],
  9735. [
  9736. [50, 729, 0, 317, 484, 0, 0, 1, .5, .5, 0, 0, []], 53, 168, [],
  9737. [],
  9738. [0, "Default", 0, 1]
  9739. ],
  9740. [
  9741. [315, 726, 0, 199, 482, 0, 0, 1, .5, .5, 0, 0, []], 63, 169, [],
  9742. [],
  9743. [0, "Default", 0, 1]
  9744. ],
  9745. [
  9746. [527, 723.5, 0, 220, 483, 0, 0, 1, .5, .5, 0, 0, []], 67, 170, [],
  9747. [],
  9748. [0, "Default", 0, 1]
  9749. ],
  9750. [
  9751. [-27, -4, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 171, [],
  9752. [],
  9753. ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
  9754. ]
  9755. ],
  9756. []
  9757. ],
  9758. ["GameOver", 5, 9817631364158772, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
  9759. [
  9760. [322, 264, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 172, [],
  9761. [],
  9762. ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
  9763. ],
  9764. [
  9765. [324, 389, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 173, [],
  9766. [],
  9767. [0, "Default", 0, 1]
  9768. ],
  9769. [
  9770. [321, 648, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 174, [],
  9771. [],
  9772. [0, "Default", 0, 1]
  9773. ],
  9774. [
  9775. [321, 747, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 175, [],
  9776. [],
  9777. [0, "Default", 0, 1]
  9778. ],
  9779. [
  9780. [322, 527, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 176, [],
  9781. [],
  9782. [0, "Default", 0, 1]
  9783. ],
  9784. [
  9785. [126, 331, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 177, [],
  9786. [],
  9787. ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  9788. ],
  9789. [
  9790. [124, 613, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 178, [],
  9791. [],
  9792. ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9793. ],
  9794. [
  9795. [122, 711, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 179, [],
  9796. [],
  9797. ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9798. ],
  9799. [
  9800. [124, 471, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 180, [],
  9801. [],
  9802. ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
  9803. ],
  9804. [
  9805. [315, 396, 0, 200, 69, 0, 0, 1, 0, 0, 0, 0, []], 56, 181, [],
  9806. [],
  9807. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  9808. ],
  9809. [
  9810. [312, 537, 0, 200, 65, 0, 0, 1, 0, 0, 0, 0, []], 57, 182, [],
  9811. [],
  9812. ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
  9813. ],
  9814. [
  9815. [55, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 210, [],
  9816. [],
  9817. [0, "Default", 0, 1]
  9818. ],
  9819. [
  9820. [146, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 211, [],
  9821. [],
  9822. [0, "Default", 0, 1]
  9823. ]
  9824. ],
  9825. []
  9826. ],
  9827. ["Click to begin", 6, 94932088974365, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9828. [
  9829. [1, -11, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 197, [],
  9830. [],
  9831. ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
  9832. ]
  9833. ],
  9834. []
  9835. ]
  9836. ],
  9837. [],
  9838. []
  9839. ],
  9840. ["HowTo", 640, 960, !1, "HowToSheet", 4684315367693243, [
  9841. ["BG", 0, 0x3ce4b4fd1bf80, !0, [45, 45, 45], !1, 1, 1, 1, !1, 1, 0, 0, [],
  9842. []
  9843. ],
  9844. ["UI", 1, 0x5f8141a4da503, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9845. [
  9846. [-11, 211, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 3, 184, [],
  9847. [],
  9848. [0, 0]
  9849. ],
  9850. [
  9851. [308, 211, 0, 340, 480.2442626953125, 0, 0, 1, 0, 0, 0, 0, []], 4, 185, [],
  9852. [],
  9853. [0, 0]
  9854. ],
  9855. [
  9856. [-2, 88, 0, 644, 77, 0, 0, 1, 0, 0, 0, 0, []], 68, 186, [],
  9857. [],
  9858. ["怎么玩?", 0, "36pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
  9859. ]
  9860. ],
  9861. []
  9862. ],
  9863. ["Players", 2, 4849095444399906, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9864. [
  9865. [3, 375, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 187, [],
  9866. [
  9867. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9868. [1]
  9869. ],
  9870. [0, "Default", 0, 1]
  9871. ],
  9872. [
  9873. [320, 368, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 188, [],
  9874. [
  9875. [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
  9876. [1]
  9877. ],
  9878. [0, "Default", 0, 1]
  9879. ],
  9880. [
  9881. [298, 210, 0, 18, 482.8175659179688, 0, 0, 1, 0, 0, 0, 0, []], 1, 189, [],
  9882. [
  9883. [1]
  9884. ],
  9885. [0, 0]
  9886. ],
  9887. [
  9888. [47.27220153808594, 528.8405151367188, 0, 72, 56, 0, 0, 1, .6590909361839294, .4749999940395355, 0, 0, []], 12, 190, [
  9889. [0]
  9890. ],
  9891. [
  9892. [0, 0, 0, 0, 0, 1],
  9893. []
  9894. ],
  9895. [0, "Default", 0, 1]
  9896. ],
  9897. [
  9898. [360.72705078125, 654.2943115234375, 0, 72, 56, 0, 0, 1, .6590909361839294, .4749999940395355, 0, 0, []], 55, 191, [
  9899. [0]
  9900. ],
  9901. [
  9902. [0, 0, 0, 0, 0, 1],
  9903. []
  9904. ],
  9905. [0, "Default", 0, 1]
  9906. ]
  9907. ],
  9908. []
  9909. ],
  9910. ["Layer 0", 3, 6124428693833151, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
  9911. [
  9912. [54, 228, 0, 200, 52, 0, 0, 1, 0, 0, 0, 0, []], 69, 192, [],
  9913. [],
  9914. ["点击这里让第一个火柴人跳跃!", 0, "12pt Arial", "rgb(0,0,0)", 1, 0, 0, 0, 0]
  9915. ],
  9916. [
  9917. [398, 230, 0, 200, 52, 0, 0, 1, 0, 0, 0, 0, []], 69, 193, [],
  9918. [],
  9919. ["点击这里让第二个火柴人跳跃!", 0, "12pt Arial", "rgb(0,0,0)", 1, 0, 0, 0, 0]
  9920. ],
  9921. [
  9922. [305, 737, 0, 165, 69, 0, 0, 1, .5, .5, 0, 0, []], 70, 194, [],
  9923. [],
  9924. [0, "Default", 0, 1]
  9925. ],
  9926. [
  9927. [222.6523742675781, 702.348876953125, 0, 165, 69.30474853515625, 0, 0, 1, 0, 0, 0, 0, []], 71, 195, [],
  9928. [],
  9929. ["开始玩!", 0, "20pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
  9930. ]
  9931. ],
  9932. []
  9933. ]
  9934. ],
  9935. [],
  9936. []
  9937. ]
  9938. ],
  9939. [
  9940. ["NormalSheet", [
  9941. [1, "SpeedNormal", 0, 400, !1, !1, 6128900491694406, !1],
  9942. [1, "HighScoreNormal", 0, 0, !1, !1, 4593433996538131, !1],
  9943. [1, "playNormal", 0, 0, !1, !1, 0x7196f0e0e69b3, !1],
  9944. [1, "gameover_normal", 0, 0, !1, !1, 8858073548351434, !1],
  9945. [1, "ScoreNormal", 0, 0, !1, !1, 0xfd5a12e454b5e, !1],
  9946. [1, "gravityNormal", 0, 1, !1, !1, 5456783151183835, !1],
  9947. [1, "begin", 0, 0, !1, !1, 0xc6750a6942190, !1],
  9948. [1, "row1Normal", 0, 0, !1, !1, 0x93828e4a91ec5, !1],
  9949. [1, "row2Normal", 0, 0, !1, !1, 8672221112569121, !1],
  9950. [1, "gravity2Normal", 0, 1, !1, !1, 7835872564096574, !1],
  9951. [0, null, !1, null, 406552105737328, [
  9952. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 8450616553162522, !1]
  9953. ],
  9954. [
  9955. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7034860866874568, !1, [
  9956. [0, [0, 180]]
  9957. ]],
  9958. [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 6297253402573441, !1, [
  9959. [4, 0],
  9960. [3, 1]
  9961. ]],
  9962. [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 6625915676738488, !1, [
  9963. [4, 8],
  9964. [3, 1]
  9965. ]],
  9966. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9701174192858192, !1, [
  9967. [0, [0, 180]]
  9968. ]],
  9969. [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 0x81ad98e908774, !1],
  9970. [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 0xccf93c4ce1a9a, !1, [
  9971. [3, 1]
  9972. ]],
  9973. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9623268513082098, !1, [
  9974. [5, [0, 4]],
  9975. [0, [0, 0]]
  9976. ]],
  9977. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 663923452594253, !1, [
  9978. [5, [0, 4]],
  9979. [3, 0]
  9980. ]],
  9981. [-1, cr.system_object.prototype.acts.SetVar, null, 5300056357462319, !1, [
  9982. [11, "playNormal"],
  9983. [7, [0, 0]]
  9984. ]],
  9985. [-1, cr.system_object.prototype.acts.SetVar, null, 4904336327581021, !1, [
  9986. [11, "gameover_normal"],
  9987. [7, [0, 0]]
  9988. ]],
  9989. [-1, cr.system_object.prototype.acts.SetVar, null, 7838785186286355, !1, [
  9990. [11, "gravity2Normal"],
  9991. [7, [0, 1]]
  9992. ]],
  9993. [-1, cr.system_object.prototype.acts.SetVar, null, 0xac39f40120fd7, !1, [
  9994. [11, "gravityNormal"],
  9995. [7, [0, 1]]
  9996. ]],
  9997. [-1, cr.system_object.prototype.acts.SetVar, null, 4574869848617661, !1, [
  9998. [11, "SpeedNormal"],
  9999. [7, [0, 400]]
  10000. ]],
  10001. [-1, cr.system_object.prototype.acts.SetVar, null, 8520661857682528, !1, [
  10002. [11, "ScoreNormal"],
  10003. [7, [0, 0]]
  10004. ]],
  10005. [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 6928821395288654, !1],
  10006. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 7318544674801025, !1],
  10007. [-1, cr.system_object.prototype.acts.SetVar, null, 8524203456669225, !1, [
  10008. [11, "begin"],
  10009. [7, [0, 0]]
  10010. ]],
  10011. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 4511333943575718, !1, [
  10012. [5, [0, 5]],
  10013. [3, 1]
  10014. ]]
  10015. ],
  10016. [
  10017. [0, null, !1, null, 0xfe9ef78e848e9, [
  10018. [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 5395573642807182, !1, [
  10019. [1, [2, "HighScoreNormal"]]
  10020. ]]
  10021. ],
  10022. [
  10023. [-1, cr.system_object.prototype.acts.SetVar, null, 330353218818566, !1, [
  10024. [11, "HighScoreNormal"],
  10025. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10026. [2, "HighScoreNormal"]
  10027. ]]]
  10028. ]],
  10029. [22, cr.plugins_.Text.prototype.acts.SetText, null, 9101649894824476, !1, [
  10030. [7, [23, "HighScoreNormal"]]
  10031. ]]
  10032. ]
  10033. ],
  10034. [0, null, !1, null, 0xa8f0c73b0492, [
  10035. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x9452ffaa4b193, !1]
  10036. ],
  10037. [
  10038. [-1, cr.system_object.prototype.acts.SetVar, null, 0xacc5f0df7584, !1, [
  10039. [11, "HighScoreNormal"],
  10040. [7, [0, 0]]
  10041. ]],
  10042. [22, cr.plugins_.Text.prototype.acts.SetText, null, 7441889213008412, !1, [
  10043. [7, [23, "HighScoreNormal"]]
  10044. ]]
  10045. ]
  10046. ]
  10047. ]
  10048. ],
  10049. [0, null, !1, null, 6842642836791274, [
  10050. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x4a38c04477924, !1, [
  10051. [4, 1]
  10052. ]]
  10053. ],
  10054. [
  10055. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x82eb1ce3290c, !1, [
  10056. [3, 0]
  10057. ]]
  10058. ]
  10059. ],
  10060. [0, null, !1, null, 6672168632689776, [
  10061. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5899417286645038, !1, [
  10062. [4, 6]
  10063. ]]
  10064. ],
  10065. [
  10066. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 4595441777290981, !1, [
  10067. [3, 1]
  10068. ]]
  10069. ]
  10070. ],
  10071. [0, null, !1, null, 710420021410511, [
  10072. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 7577874649569645, !1, [
  10073. [4, 5]
  10074. ]]
  10075. ],
  10076. [],
  10077. [
  10078. [0, null, !1, null, 0xd542afb1be294, [
  10079. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xca8871e89c0dc, !1, [
  10080. [11, "gravity2Normal"],
  10081. [8, 0],
  10082. [7, [0, 0]]
  10083. ]]
  10084. ],
  10085. [
  10086. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 54371155466584, !1, [
  10087. [0, [0, 180]]
  10088. ]],
  10089. [-1, cr.system_object.prototype.acts.SetVar, null, 8022671629886141, !1, [
  10090. [11, "gravity2Normal"],
  10091. [7, [0, 1]]
  10092. ]]
  10093. ]
  10094. ],
  10095. [0, null, !1, null, 0xf098fef8e8923, [
  10096. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 6547636394856382, !1]
  10097. ],
  10098. [
  10099. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 6934896069221051, !1, [
  10100. [0, [0, 360]]
  10101. ]],
  10102. [-1, cr.system_object.prototype.acts.SetVar, null, 8793957128873952, !1, [
  10103. [11, "gravity2Normal"],
  10104. [7, [0, 0]]
  10105. ]]
  10106. ]
  10107. ]
  10108. ]
  10109. ],
  10110. [0, null, !1, null, 6884490847155575, [
  10111. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5516733946921833, !1, [
  10112. [4, 1]
  10113. ]],
  10114. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 44706565986367, !1, [
  10115. [11, "gravityNormal"],
  10116. [8, 0],
  10117. [7, [0, 1]]
  10118. ]]
  10119. ],
  10120. [
  10121. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xce646acd6a03a, !1, [
  10122. [3, 1]
  10123. ]]
  10124. ]
  10125. ],
  10126. [0, null, !1, null, 0x89316e36b7de1, [
  10127. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8954979636220256, !1, [
  10128. [4, 11]
  10129. ]]
  10130. ],
  10131. [
  10132. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xfcd92d5abcf4d, !1, [
  10133. [3, 0]
  10134. ]]
  10135. ]
  10136. ],
  10137. [0, null, !1, null, 9696574218967808, [
  10138. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5408070242146168, !1, [
  10139. [4, 10]
  10140. ]]
  10141. ],
  10142. [],
  10143. [
  10144. [0, null, !1, null, 9177268882013312, [
  10145. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x39483de928d79, !1, [
  10146. [11, "gravityNormal"],
  10147. [8, 0],
  10148. [7, [0, 0]]
  10149. ]]
  10150. ],
  10151. [
  10152. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8508087942203836, !1, [
  10153. [0, [0, 180]]
  10154. ]],
  10155. [-1, cr.system_object.prototype.acts.SetVar, null, 0xd8cb3e6935b5b, !1, [
  10156. [11, "gravityNormal"],
  10157. [7, [0, 1]]
  10158. ]]
  10159. ]
  10160. ],
  10161. [0, null, !1, null, 9182404856283896, [
  10162. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 5041200311744705, !1]
  10163. ],
  10164. [
  10165. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7752289100344649, !1, [
  10166. [0, [0, 360]]
  10167. ]],
  10168. [-1, cr.system_object.prototype.acts.SetVar, null, 4759490785793237, !1, [
  10169. [11, "gravityNormal"],
  10170. [7, [0, 0]]
  10171. ]]
  10172. ]
  10173. ]
  10174. ]
  10175. ],
  10176. [0, null, !1, null, 5605217618353073, [
  10177. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 313582747096609, !1, [
  10178. [0, [19, cr.system_object.prototype.exps.random, [
  10179. [0, 1],
  10180. [1, 1.5]
  10181. ]]]
  10182. ]],
  10183. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8770515906540405, !1, [
  10184. [11, "playNormal"],
  10185. [8, 0],
  10186. [7, [0, 0]]
  10187. ]],
  10188. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7855845826346227, !1, [
  10189. [11, "begin"],
  10190. [8, 0],
  10191. [7, [0, 1]]
  10192. ]]
  10193. ],
  10194. [
  10195. [-1, cr.system_object.prototype.acts.SetVar, null, 0x7c0db670fb151, !1, [
  10196. [11, "row1Normal"],
  10197. [7, [19, cr.system_object.prototype.exps.choose, [
  10198. [0, 1],
  10199. [0, 2]
  10200. ]]]
  10201. ]]
  10202. ],
  10203. [
  10204. [0, null, !1, null, 0xb400b5d3a0456, [
  10205. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5b9748316fa93, !1, [
  10206. [11, "row1Normal"],
  10207. [8, 0],
  10208. [7, [0, 1]]
  10209. ]]
  10210. ],
  10211. [
  10212. [-1, cr.system_object.prototype.acts.CreateObject, null, 9547573636149468, !1, [
  10213. [4, 12],
  10214. [5, [0, 1]],
  10215. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  10216. [0, 80]
  10217. ]],
  10218. [0, [0, 978]]
  10219. ]]
  10220. ]
  10221. ],
  10222. [0, null, !1, null, 0x543b0ebd41623, [
  10223. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 4707154781682047, !1, [
  10224. [11, "row1Normal"],
  10225. [8, 0],
  10226. [7, [0, 2]]
  10227. ]]
  10228. ],
  10229. [
  10230. [-1, cr.system_object.prototype.acts.CreateObject, null, 8732076363738413, !1, [
  10231. [4, 12],
  10232. [5, [0, 1]],
  10233. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  10234. [0, 30]
  10235. ]],
  10236. [0, [0, 978]]
  10237. ]],
  10238. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5516881870362858, !1, [
  10239. [3, 0]
  10240. ]]
  10241. ]
  10242. ]
  10243. ]
  10244. ],
  10245. [0, null, !1, null, 8018667712521448, [
  10246. [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 0xfcdcbe5bd8c1a, !1]
  10247. ],
  10248. [
  10249. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x89cf5fa1daa50, !1, [
  10250. [0, [0, 270]]
  10251. ]],
  10252. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 7741052735229155, !1, [
  10253. [0, [23, "SpeedNormal"]]
  10254. ]],
  10255. [-1, cr.system_object.prototype.acts.AddVar, null, 0x62039b7f448cf, !1, [
  10256. [11, "SpeedNormal"],
  10257. [7, [1, .1]]
  10258. ]]
  10259. ]
  10260. ],
  10261. [0, null, !1, null, 733865702791395, [
  10262. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x830501bf0f849, !1, [
  10263. [0, [19, cr.system_object.prototype.exps.random, [
  10264. [0, 1],
  10265. [1, 1.5]
  10266. ]]]
  10267. ]],
  10268. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8101163499250353, !1, [
  10269. [11, "playNormal"],
  10270. [8, 0],
  10271. [7, [0, 0]]
  10272. ]],
  10273. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9868637453720092, !1, [
  10274. [11, "begin"],
  10275. [8, 0],
  10276. [7, [0, 1]]
  10277. ]]
  10278. ],
  10279. [
  10280. [-1, cr.system_object.prototype.acts.SetVar, null, 0x8cccba8ab2bf5, !1, [
  10281. [11, "row2Normal"],
  10282. [7, [19, cr.system_object.prototype.exps.choose, [
  10283. [0, 3],
  10284. [0, 4]
  10285. ]]]
  10286. ]]
  10287. ],
  10288. [
  10289. [0, null, !1, null, 6619574077097245, [
  10290. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7053292196231721, !1, [
  10291. [11, "row2Normal"],
  10292. [8, 0],
  10293. [7, [0, 3]]
  10294. ]]
  10295. ],
  10296. [
  10297. [-1, cr.system_object.prototype.acts.CreateObject, null, 5290403359130764, !1, [
  10298. [4, 12],
  10299. [5, [0, 1]],
  10300. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  10301. [0, 60]
  10302. ]],
  10303. [0, [0, 978]]
  10304. ]]
  10305. ]
  10306. ],
  10307. [0, null, !1, null, 4594433236288963, [
  10308. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7199233062790856, !1, [
  10309. [11, "row2Normal"],
  10310. [8, 0],
  10311. [7, [0, 4]]
  10312. ]]
  10313. ],
  10314. [
  10315. [-1, cr.system_object.prototype.acts.CreateObject, null, 9756703718549216, !1, [
  10316. [4, 12],
  10317. [5, [0, 1]],
  10318. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  10319. [0, 40]
  10320. ]],
  10321. [0, [0, 978]]
  10322. ]],
  10323. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 972088230442956, !1, [
  10324. [3, 0]
  10325. ]]
  10326. ]
  10327. ]
  10328. ]
  10329. ],
  10330. [0, null, !1, null, 0xe0524f2ac91a7, [
  10331. [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 6339528076011626, !1, [
  10332. [8, 3],
  10333. [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  10334. ]],
  10335. [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 4872655491988839, !1, [
  10336. [10, 0]
  10337. ]]
  10338. ],
  10339. [
  10340. [-1, cr.system_object.prototype.acts.AddVar, null, 4759005201449048, !1, [
  10341. [11, "ScoreNormal"],
  10342. [7, [0, 1]]
  10343. ]],
  10344. [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6952591301311746, !1, [
  10345. [10, 0],
  10346. [3, 1]
  10347. ]],
  10348. [73, cr.plugins_.Audio.prototype.acts.Play, null, 7532046882123513, !1, [
  10349. [2, ["point", !1]],
  10350. [3, 0],
  10351. [0, [0, -10]],
  10352. [1, [2, ""]]
  10353. ]]
  10354. ]
  10355. ],
  10356. [0, null, !1, null, 7402298332704359, [
  10357. [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 9845329604716024, !1]
  10358. ],
  10359. [
  10360. [13, cr.plugins_.Text.prototype.acts.SetText, null, 297293624592541, !1, [
  10361. [7, [23, "ScoreNormal"]]
  10362. ]]
  10363. ]
  10364. ],
  10365. [0, null, !1, null, 0x7610b09cc9b46, [
  10366. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4550817022332795, !1, [
  10367. [4, 12]
  10368. ]]
  10369. ],
  10370. [
  10371. [-1, cr.system_object.prototype.acts.SetVar, null, 6521603438499928, !1, [
  10372. [11, "playNormal"],
  10373. [7, [0, 1]]
  10374. ]]
  10375. ]
  10376. ],
  10377. [0, null, !1, null, 0xfd062866e46c4, [
  10378. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x67c10cafb040b, !1, [
  10379. [4, 12]
  10380. ]]
  10381. ],
  10382. [
  10383. [-1, cr.system_object.prototype.acts.SetVar, null, 309127937862541, !1, [
  10384. [11, "playNormal"],
  10385. [7, [0, 1]]
  10386. ]]
  10387. ]
  10388. ],
  10389. [0, null, !1, null, 6193186460712161, [
  10390. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc94969bc798d1, !1, [
  10391. [11, "playNormal"],
  10392. [8, 0],
  10393. [7, [0, 1]]
  10394. ]]
  10395. ],
  10396. [
  10397. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7460174000982955, !1, [
  10398. [4, 0],
  10399. [0, [0, 0]]
  10400. ]],
  10401. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7790963985354107, !1, [
  10402. [4, 12],
  10403. [0, [0, 0]]
  10404. ]],
  10405. [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 4560592676367467, !1],
  10406. [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 9766363625190454, !1],
  10407. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5239163607311557, !1, [
  10408. [4, 8],
  10409. [0, [0, 0]]
  10410. ]],
  10411. [-1, cr.system_object.prototype.acts.SetVar, null, 7235272129785533, !1, [
  10412. [11, "gameover_normal"],
  10413. [7, [0, 1]]
  10414. ]],
  10415. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 5986707658430202, !1, [
  10416. [5, [0, 4]],
  10417. [3, 1]
  10418. ]],
  10419. [17, cr.plugins_.Text.prototype.acts.SetText, null, 83053783984799, !1, [
  10420. [7, [23, "ScoreNormal"]]
  10421. ]]
  10422. ],
  10423. [
  10424. [0, null, !1, null, 5623358612633405, [
  10425. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8454507dd6a5, !1, [
  10426. [11, "ScoreNormal"],
  10427. [8, 4],
  10428. [7, [23, "HighScoreNormal"]]
  10429. ]]
  10430. ],
  10431. [
  10432. [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 0x690bf76125d60, !1, [
  10433. [1, [2, "HighScoreNormal"]],
  10434. [7, [23, "ScoreNormal"]]
  10435. ]],
  10436. [22, cr.plugins_.Text.prototype.acts.SetText, null, 8031147090165105, !1, [
  10437. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10438. [2, "HighScoreNormal"]
  10439. ]]]
  10440. ]]
  10441. ]
  10442. ]
  10443. ]
  10444. ],
  10445. [0, null, !1, null, 0x3b204826f0701, [
  10446. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8526956844198822, !1, [
  10447. [11, "gameover_normal"],
  10448. [8, 0],
  10449. [7, [0, 1]]
  10450. ]]
  10451. ],
  10452. [
  10453. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 8495235509801385, !1, [
  10454. [5, [0, 4]],
  10455. [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
  10456. [0, 4]
  10457. ]],
  10458. [0, 5]
  10459. ]]
  10460. ]]
  10461. ]
  10462. ],
  10463. [0, null, !1, null, 0x8bd7bce904598, [
  10464. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5543779827744148, !1, [
  10465. [4, 19]
  10466. ]],
  10467. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0xbf010cf182865, !1, [
  10468. [5, [0, 4]]
  10469. ]]
  10470. ],
  10471. [
  10472. [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xb4f707c295a29, !1, [
  10473. [6, "Menu"]
  10474. ]],
  10475. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 8713148075403434, !1, [
  10476. [5, [0, 4]],
  10477. [0, [0, 0]]
  10478. ]],
  10479. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 4850127859056702, !1, [
  10480. [5, [0, 4]],
  10481. [3, 0]
  10482. ]],
  10483. [-1, cr.system_object.prototype.acts.SetVar, null, 5337063752915593, !1, [
  10484. [11, "playNormal"],
  10485. [7, [0, 0]]
  10486. ]],
  10487. [-1, cr.system_object.prototype.acts.SetVar, null, 0xfa2247cee47ef, !1, [
  10488. [11, "gameover_normal"],
  10489. [7, [0, 0]]
  10490. ]],
  10491. [-1, cr.system_object.prototype.acts.SetVar, null, 345612897143971, !1, [
  10492. [11, "gravity2Normal"],
  10493. [7, [0, 1]]
  10494. ]],
  10495. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9e262648ccbb0, !1, [
  10496. [11, "gravityNormal"],
  10497. [7, [0, 1]]
  10498. ]],
  10499. [-1, cr.system_object.prototype.acts.SetVar, null, 9999834456895368, !1, [
  10500. [11, "SpeedNormal"],
  10501. [7, [0, 400]]
  10502. ]],
  10503. [-1, cr.system_object.prototype.acts.SetVar, null, 0xe580a8f46a46f, !1, [
  10504. [11, "ScoreNormal"],
  10505. [7, [0, 0]]
  10506. ]],
  10507. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0xa89f52318ddd5, !1, [
  10508. [2, ["click1", !1]],
  10509. [3, 0],
  10510. [0, [0, 0]],
  10511. [1, [2, ""]]
  10512. ]]
  10513. ]
  10514. ],
  10515. [0, null, !1, null, 4617105207162233, [
  10516. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x416c28eee3455, !1, [
  10517. [4, 18]
  10518. ]],
  10519. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0x84ace9d93976f, !1, [
  10520. [5, [0, 4]]
  10521. ]]
  10522. ],
  10523. [
  10524. [-1, cr.system_object.prototype.acts.GoToLayout, null, 512668165851831, !1, [
  10525. [6, "Normal"]
  10526. ]],
  10527. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 5574890333169155, !1, [
  10528. [5, [0, 4]],
  10529. [0, [0, 0]]
  10530. ]],
  10531. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 8769707529128851, !1, [
  10532. [5, [0, 4]],
  10533. [3, 0]
  10534. ]],
  10535. [-1, cr.system_object.prototype.acts.SetVar, null, 9135049592581162, !1, [
  10536. [11, "playNormal"],
  10537. [7, [0, 0]]
  10538. ]],
  10539. [-1, cr.system_object.prototype.acts.SetVar, null, 6082751257317717, !1, [
  10540. [11, "gameover_normal"],
  10541. [7, [0, 0]]
  10542. ]],
  10543. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9e5320c92adf, !1, [
  10544. [11, "gravity2Normal"],
  10545. [7, [0, 1]]
  10546. ]],
  10547. [-1, cr.system_object.prototype.acts.SetVar, null, 4970663866985987, !1, [
  10548. [11, "gravityNormal"],
  10549. [7, [0, 1]]
  10550. ]],
  10551. [-1, cr.system_object.prototype.acts.SetVar, null, 0x67274a4a3153b, !1, [
  10552. [11, "SpeedNormal"],
  10553. [7, [0, 400]]
  10554. ]],
  10555. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1d01443b844f, !1, [
  10556. [11, "ScoreNormal"],
  10557. [7, [0, 0]]
  10558. ]],
  10559. [73, cr.plugins_.Audio.prototype.acts.Play, null, 8971233977383036, !1, [
  10560. [2, ["click1", !1]],
  10561. [3, 0],
  10562. [0, [0, 0]],
  10563. [1, [2, ""]]
  10564. ]]
  10565. ]
  10566. ],
  10567. [0, null, !1, null, 4634696781480307, [
  10568. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9651852993619680, !1, [
  10569. [4, 74]
  10570. ]]
  10571. ],
  10572. [
  10573. [-1, cr.system_object.prototype.acts.SetVar, null, 0x619183c820b05, !1, [
  10574. [11, "begin"],
  10575. [7, [0, 1]]
  10576. ]],
  10577. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 7182661777903734, !1, [
  10578. [5, [0, 5]],
  10579. [3, 0]
  10580. ]]
  10581. ]
  10582. ],
  10583. [0, null, !1, null, 0x72697a624bb72, [
  10584. [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 734310025484482, !1, [
  10585. [8, 2],
  10586. [0, [0, 309]]
  10587. ]]
  10588. ],
  10589. [
  10590. [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 0x9bc711de21fd1, !1, [
  10591. [0, [0, 476]]
  10592. ]]
  10593. ]
  10594. ],
  10595. [0, null, !1, null, 7059070686962692, [
  10596. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8035328653726959, !1, [
  10597. [4, 75]
  10598. ]]
  10599. ],
  10600. [
  10601. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 7143950653738538, !1, [
  10602. [1, [10, [10, [10, [2, "sharegame"],
  10603. [23, "ScoreNormal"]
  10604. ],
  10605. [2, ":"]
  10606. ],
  10607. [19, cr.system_object.prototype.exps.random, [
  10608. [0, 1],
  10609. [0, 10]
  10610. ]]
  10611. ]],
  10612. [1, [2, "NewWindow"]]
  10613. ]]
  10614. ]
  10615. ],
  10616. [0, null, !1, null, 4939759628391842, [
  10617. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4554780712947933, !1, [
  10618. [4, 76]
  10619. ]]
  10620. ],
  10621. [
  10622. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0x88f24073bce76, !1, [
  10623. [1, [10, [10, [2, "more"],
  10624. [23, "HighScoreNormal"]
  10625. ],
  10626. [2, ""]
  10627. ]],
  10628. [1, [2, "NewWindow"]]
  10629. ]]
  10630. ]
  10631. ]
  10632. ]],
  10633. ["MenuSheet", [
  10634. [0, null, !1, null, 0x67dd722238388, [
  10635. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x6e09f2c68d1cd, !1, [
  10636. [4, 25]
  10637. ]]
  10638. ],
  10639. [
  10640. [-1, cr.system_object.prototype.acts.GoToLayout, null, 0x756b09459cd8d, !1, [
  10641. [6, "Normal"]
  10642. ]],
  10643. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x3ea78da82c215, !1, [
  10644. [2, ["click1", !1]],
  10645. [3, 0],
  10646. [0, [0, 0]],
  10647. [1, [2, ""]]
  10648. ]],
  10649. [-1, cr.system_object.prototype.acts.SetVar, null, 5003714479805815, !1, [
  10650. [11, "playNormal"],
  10651. [7, [0, 0]]
  10652. ]],
  10653. [-1, cr.system_object.prototype.acts.SetVar, null, 0xe8fafe89db716, !1, [
  10654. [11, "gameover_normal"],
  10655. [7, [0, 0]]
  10656. ]],
  10657. [-1, cr.system_object.prototype.acts.SetVar, null, 9410945820528542, !1, [
  10658. [11, "gravity2Normal"],
  10659. [7, [0, 1]]
  10660. ]],
  10661. [-1, cr.system_object.prototype.acts.SetVar, null, 4888456995098862, !1, [
  10662. [11, "gravityNormal"],
  10663. [7, [0, 1]]
  10664. ]],
  10665. [-1, cr.system_object.prototype.acts.SetVar, null, 0xce97c9376c18e, !1, [
  10666. [11, "SpeedNormal"],
  10667. [7, [0, 400]]
  10668. ]],
  10669. [-1, cr.system_object.prototype.acts.SetVar, null, 4579288453640965, !1, [
  10670. [11, "ScoreNormal"],
  10671. [7, [0, 0]]
  10672. ]]
  10673. ]
  10674. ],
  10675. [0, null, !1, null, 0x8f332f4ddeb6c, [
  10676. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0xd2cadb20a27f5, !1]
  10677. ],
  10678. [
  10679. [26, cr.plugins_.Text.prototype.acts.SetText, null, 6478248108990149, !1, [
  10680. [7, [10, [10, [2, "("],
  10681. [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10682. [2, "HighScoreNormal"]
  10683. ]]
  10684. ],
  10685. [2, ")"]
  10686. ]]
  10687. ]],
  10688. [29, cr.plugins_.Text.prototype.acts.SetText, null, 9718452654224912, !1, [
  10689. [7, [10, [10, [2, "("],
  10690. [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10691. [2, "HighScoreNightmare"]
  10692. ]]
  10693. ],
  10694. [2, ")"]
  10695. ]]
  10696. ]],
  10697. [33, cr.plugins_.Text.prototype.acts.SetText, null, 6610706287525575, !1, [
  10698. [7, [10, [10, [2, "("],
  10699. [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10700. [2, "HighScoreHell"]
  10701. ]]
  10702. ],
  10703. [2, ")"]
  10704. ]]
  10705. ]],
  10706. [35, cr.plugins_.Text.prototype.acts.SetText, null, 0x3c02e3e95c905, !1, [
  10707. [7, [10, [10, [2, "("],
  10708. [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10709. [2, "HighScoreInferno"]
  10710. ]]
  10711. ],
  10712. [2, ")"]
  10713. ]]
  10714. ]],
  10715. [38, cr.plugins_.Text.prototype.acts.SetText, null, 6112658968646318, !1, [
  10716. [7, [10, [10, [2, "("],
  10717. [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  10718. [2, "HighScoreImpossible"]
  10719. ]]
  10720. ],
  10721. [2, ")"]
  10722. ]]
  10723. ]],
  10724. [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 550185038712582, !1, [
  10725. [3, 0]
  10726. ]]
  10727. ]
  10728. ],
  10729. [0, null, !1, null, 7923777733539721, [
  10730. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4525170388282284, !1, [
  10731. [4, 46]
  10732. ]]
  10733. ],
  10734. [
  10735. [-1, cr.system_object.prototype.acts.GoToLayout, null, 5064514123310331, !1, [
  10736. [6, "Nightmare"]
  10737. ]],
  10738. [73, cr.plugins_.Audio.prototype.acts.Play, null, 9969795365194312, !1, [
  10739. [2, ["click1", !1]],
  10740. [3, 0],
  10741. [0, [0, 0]],
  10742. [1, [2, ""]]
  10743. ]],
  10744. [-1, cr.system_object.prototype.acts.SetVar, null, 5116062667703753, !1, [
  10745. [11, "playNightmare"],
  10746. [7, [0, 0]]
  10747. ]],
  10748. [-1, cr.system_object.prototype.acts.SetVar, null, 8907416408230066, !1, [
  10749. [11, "gameover_Nightmare"],
  10750. [7, [0, 0]]
  10751. ]],
  10752. [-1, cr.system_object.prototype.acts.SetVar, null, 7386050382098356, !1, [
  10753. [11, "gravity3Nightmare"],
  10754. [7, [0, 1]]
  10755. ]],
  10756. [-1, cr.system_object.prototype.acts.SetVar, null, 5403299117445234, !1, [
  10757. [11, "gravity2Nightmare"],
  10758. [7, [0, 1]]
  10759. ]],
  10760. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9a503471c249b, !1, [
  10761. [11, "SpeedNightmare"],
  10762. [7, [0, 400]]
  10763. ]],
  10764. [-1, cr.system_object.prototype.acts.SetVar, null, 7402910404973858, !1, [
  10765. [11, "ScoreNightmare"],
  10766. [7, [0, 0]]
  10767. ]],
  10768. [-1, cr.system_object.prototype.acts.SetVar, null, 5173135598903215, !1, [
  10769. [11, "gravityNightmare"],
  10770. [7, [0, 1]]
  10771. ]]
  10772. ]
  10773. ],
  10774. [0, null, !1, null, 9944869931851458, [
  10775. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4784580296224788, !1, [
  10776. [4, 34]
  10777. ]]
  10778. ],
  10779. [
  10780. [-1, cr.system_object.prototype.acts.GoToLayout, null, 694193050280101, !1, [
  10781. [6, "Inferno"]
  10782. ]],
  10783. [73, cr.plugins_.Audio.prototype.acts.Play, null, 5621545330062675, !1, [
  10784. [2, ["click1", !1]],
  10785. [3, 0],
  10786. [0, [0, 0]],
  10787. [1, [2, ""]]
  10788. ]],
  10789. [-1, cr.system_object.prototype.acts.SetVar, null, 5428650833926189, !1, [
  10790. [11, "playInferno"],
  10791. [7, [0, 0]]
  10792. ]],
  10793. [-1, cr.system_object.prototype.acts.SetVar, null, 350610537732811, !1, [
  10794. [11, "gameover_Inferno"],
  10795. [7, [0, 0]]
  10796. ]],
  10797. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1ba15cb270de, !1, [
  10798. [11, "gravityInferno"],
  10799. [7, [0, 1]]
  10800. ]],
  10801. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc40fa9d7c1aba, !1, [
  10802. [11, "gravity2Inferno"],
  10803. [7, [0, 1]]
  10804. ]],
  10805. [-1, cr.system_object.prototype.acts.SetVar, null, 6449289572590423, !1, [
  10806. [11, "SpeedInferno"],
  10807. [7, [0, 200]]
  10808. ]],
  10809. [-1, cr.system_object.prototype.acts.SetVar, null, 7249242976183294, !1, [
  10810. [11, "ScoreInferno"],
  10811. [7, [0, 0]]
  10812. ]],
  10813. [-1, cr.system_object.prototype.acts.SetVar, null, 8588010306306847, !1, [
  10814. [11, "gravity3Inferno"],
  10815. [7, [0, 1]]
  10816. ]],
  10817. [-1, cr.system_object.prototype.acts.SetVar, null, 9765718362435840, !1, [
  10818. [11, "gravity4Inferno"],
  10819. [7, [0, 1]]
  10820. ]],
  10821. [-1, cr.system_object.prototype.acts.SetVar, null, 0x3ce66d0b49b95, !1, [
  10822. [11, "gravity5Inferno"],
  10823. [7, [0, 1]]
  10824. ]]
  10825. ]
  10826. ],
  10827. [0, null, !1, null, 4901297567204796, [
  10828. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9337382497796412, !1, [
  10829. [4, 37]
  10830. ]]
  10831. ],
  10832. [
  10833. [-1, cr.system_object.prototype.acts.GoToLayout, null, 5310228952932892, !1, [
  10834. [6, "Impossible"]
  10835. ]],
  10836. [73, cr.plugins_.Audio.prototype.acts.Play, null, 5431283592294285, !1, [
  10837. [2, ["click1", !1]],
  10838. [3, 0],
  10839. [0, [0, 0]],
  10840. [1, [2, ""]]
  10841. ]],
  10842. [-1, cr.system_object.prototype.acts.SetVar, null, 0x89d975b750d8f, !1, [
  10843. [11, "playImpossible"],
  10844. [7, [0, 0]]
  10845. ]],
  10846. [-1, cr.system_object.prototype.acts.SetVar, null, 8510570907126981, !1, [
  10847. [11, "gameover_Impossible"],
  10848. [7, [0, 0]]
  10849. ]],
  10850. [-1, cr.system_object.prototype.acts.SetVar, null, 9382044478065654, !1, [
  10851. [11, "gravityImpossible"],
  10852. [7, [0, 1]]
  10853. ]],
  10854. [-1, cr.system_object.prototype.acts.SetVar, null, 0x61614e3abb310, !1, [
  10855. [11, "gravity2Impossible"],
  10856. [7, [0, 1]]
  10857. ]],
  10858. [-1, cr.system_object.prototype.acts.SetVar, null, 0x692dff2def206, !1, [
  10859. [11, "SpeedImpossible"],
  10860. [7, [0, 200]]
  10861. ]],
  10862. [-1, cr.system_object.prototype.acts.SetVar, null, 0xf6c9295197fac, !1, [
  10863. [11, "ScoreImpossible"],
  10864. [7, [0, 0]]
  10865. ]],
  10866. [-1, cr.system_object.prototype.acts.SetVar, null, 4566992183673625, !1, [
  10867. [11, "gravity3Impossible"],
  10868. [7, [0, 1]]
  10869. ]],
  10870. [-1, cr.system_object.prototype.acts.SetVar, null, 6499657784839689, !1, [
  10871. [11, "gravity4Impossible"],
  10872. [7, [0, 1]]
  10873. ]],
  10874. [-1, cr.system_object.prototype.acts.SetVar, null, 7623305306859893, !1, [
  10875. [11, "gravity5Impossible"],
  10876. [7, [0, 1]]
  10877. ]],
  10878. [-1, cr.system_object.prototype.acts.SetVar, null, 6321966694798183, !1, [
  10879. [11, "gravity6Impossible"],
  10880. [7, [0, 1]]
  10881. ]]
  10882. ]
  10883. ],
  10884. [0, null, !1, null, 5803685086719148, [
  10885. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9811800540623848, !1, [
  10886. [4, 32]
  10887. ]]
  10888. ],
  10889. [
  10890. [-1, cr.system_object.prototype.acts.GoToLayout, null, 8179488659799367, !1, [
  10891. [6, "Hell"]
  10892. ]],
  10893. [-1, cr.system_object.prototype.acts.SetVar, null, 6777115528603926, !1, [
  10894. [11, "playHell"],
  10895. [7, [0, 0]]
  10896. ]],
  10897. [-1, cr.system_object.prototype.acts.SetVar, null, 0xb468f5eda570b, !1, [
  10898. [11, "gameover_hell"],
  10899. [7, [0, 0]]
  10900. ]],
  10901. [-1, cr.system_object.prototype.acts.SetVar, null, 0xd3d93a2e26ff5, !1, [
  10902. [11, "gravityHell"],
  10903. [7, [0, 1]]
  10904. ]],
  10905. [-1, cr.system_object.prototype.acts.SetVar, null, 0x47b0dcb3d80eb, !1, [
  10906. [11, "gravity2Hell"],
  10907. [7, [0, 1]]
  10908. ]],
  10909. [-1, cr.system_object.prototype.acts.SetVar, null, 0x81de6c491f440, !1, [
  10910. [11, "SpeedHell"],
  10911. [7, [0, 200]]
  10912. ]],
  10913. [-1, cr.system_object.prototype.acts.SetVar, null, 28892000005539, !1, [
  10914. [11, "ScoreHell"],
  10915. [7, [0, 0]]
  10916. ]],
  10917. [-1, cr.system_object.prototype.acts.SetVar, null, 0xd260a9c00d98b, !1, [
  10918. [11, "gravity3Hell"],
  10919. [7, [0, 1]]
  10920. ]],
  10921. [-1, cr.system_object.prototype.acts.SetVar, null, 0xdb2c1aa0c9fc1, !1, [
  10922. [11, "gravity4Hell"],
  10923. [7, [0, 1]]
  10924. ]],
  10925. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0xc19d062889044, !1, [
  10926. [2, ["click1", !1]],
  10927. [3, 0],
  10928. [0, [0, 0]],
  10929. [1, [2, ""]]
  10930. ]]
  10931. ]
  10932. ],
  10933. [0, null, !1, null, 0xab2c67b720b75, [
  10934. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xb5d9716561bd5, !1, [
  10935. [4, 68]
  10936. ]]
  10937. ],
  10938. [
  10939. [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xbd1a534d49261, !1, [
  10940. [6, "HowTo"]
  10941. ]],
  10942. [73, cr.plugins_.Audio.prototype.acts.Play, null, 7854263934215204, !1, [
  10943. [2, ["click1", !1]],
  10944. [3, 0],
  10945. [0, [0, 0]],
  10946. [1, [2, ""]]
  10947. ]]
  10948. ]
  10949. ]
  10950. ]],
  10951. ["NightmareSheet", [
  10952. [1, "gravity3Nightmare", 0, 1, !1, !1, 0x90576286cb034, !1],
  10953. [1, "row1Nightmare", 0, 0, !1, !1, 8833916289425638, !1],
  10954. [1, "gravityNightmare", 0, 1, !1, !1, 6672286445578262, !1],
  10955. [1, "playNightmare", 0, 0, !1, !1, 8751566476406414, !1],
  10956. [1, "row3Nightmare", 0, 0, !1, !1, 0x3c5ccfdf4c611, !1],
  10957. [1, "row2Nightmare", 0, 0, !1, !1, 0x46bfb238c1d27, !1],
  10958. [1, "HighScoreNightmare", 0, 0, !1, !1, 8746127797634645, !1],
  10959. [1, "ScoreNightmare", 0, 0, !1, !1, 0x6c5f9f8cbb553, !1],
  10960. [1, "gameover_Nightmare", 0, 0, !1, !1, 0xa0e10d3ec5852, !1],
  10961. [1, "gravity2Nightmare", 0, 1, !1, !1, 0x87eeef9ac435b, !1],
  10962. [1, "SpeedNightmare", 0, 400, !1, !1, 8547636572603599, !1],
  10963. [0, null, !1, null, 0x71357dc57c55f, [
  10964. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 289262232195379, !1]
  10965. ],
  10966. [
  10967. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8713331488910074, !1, [
  10968. [0, [0, 180]]
  10969. ]],
  10970. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x472598acb8ab6, !1, [
  10971. [0, [0, 180]]
  10972. ]],
  10973. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x8784bff7d2035, !1, [
  10974. [0, [0, 180]]
  10975. ]],
  10976. [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xeeca69c589229, !1, [
  10977. [4, 0],
  10978. [3, 1]
  10979. ]],
  10980. [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 549172360612701, !1, [
  10981. [4, 8],
  10982. [3, 1]
  10983. ]],
  10984. [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 698471779816305, !1, [
  10985. [4, 41],
  10986. [3, 1]
  10987. ]],
  10988. [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 339740526327409, !1],
  10989. [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 8037248055809749, !1, [
  10990. [3, 1]
  10991. ]],
  10992. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 893463671355491, !1, [
  10993. [5, [0, 5]],
  10994. [0, [0, 0]]
  10995. ]],
  10996. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xb45c7c88c9d02, !1, [
  10997. [5, [0, 5]],
  10998. [3, 0]
  10999. ]],
  11000. [-1, cr.system_object.prototype.acts.SetVar, null, 8992980759042323, !1, [
  11001. [11, "playNightmare"],
  11002. [7, [0, 0]]
  11003. ]],
  11004. [-1, cr.system_object.prototype.acts.SetVar, null, 414172205227337, !1, [
  11005. [11, "gameover_Nightmare"],
  11006. [7, [0, 0]]
  11007. ]],
  11008. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1d0c0b6efee6, !1, [
  11009. [11, "gravity3Nightmare"],
  11010. [7, [0, 1]]
  11011. ]],
  11012. [-1, cr.system_object.prototype.acts.SetVar, null, 7922766587598361, !1, [
  11013. [11, "gravity2Nightmare"],
  11014. [7, [0, 1]]
  11015. ]],
  11016. [-1, cr.system_object.prototype.acts.SetVar, null, 4634692795650014, !1, [
  11017. [11, "SpeedNightmare"],
  11018. [7, [0, 400]]
  11019. ]],
  11020. [-1, cr.system_object.prototype.acts.SetVar, null, 8755020795068081, !1, [
  11021. [11, "ScoreNightmare"],
  11022. [7, [0, 0]]
  11023. ]],
  11024. [-1, cr.system_object.prototype.acts.SetVar, null, 8617501127918116, !1, [
  11025. [11, "gravityNightmare"],
  11026. [7, [0, 1]]
  11027. ]],
  11028. [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0xc4738388cb6d7, !1],
  11029. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 6094489929742838, !1],
  11030. [-1, cr.system_object.prototype.acts.SetVar, null, 7776198956814884, !1, [
  11031. [11, "begin"],
  11032. [7, [0, 0]]
  11033. ]],
  11034. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 8028603532636329, !1, [
  11035. [5, [0, 6]],
  11036. [3, 1]
  11037. ]]
  11038. ],
  11039. [
  11040. [0, null, !1, null, 9444303163781764, [
  11041. [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 4578259406166423, !1, [
  11042. [1, [2, "HighScoreNightmare"]]
  11043. ]]
  11044. ],
  11045. [
  11046. [-1, cr.system_object.prototype.acts.SetVar, null, 8401488994608722, !1, [
  11047. [11, "HighScoreNightmare"],
  11048. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  11049. [2, "HighScoreNightmare"]
  11050. ]]]
  11051. ]],
  11052. [45, cr.plugins_.Text.prototype.acts.SetText, null, 8367025300877899, !1, [
  11053. [7, [23, "HighScoreNightmare"]]
  11054. ]]
  11055. ]
  11056. ],
  11057. [0, null, !1, null, 5039016096388617, [
  11058. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x529de400b33fc, !1]
  11059. ],
  11060. [
  11061. [-1, cr.system_object.prototype.acts.SetVar, null, 5257572232504928, !1, [
  11062. [11, "HighScoreNightmare"],
  11063. [7, [0, 0]]
  11064. ]],
  11065. [45, cr.plugins_.Text.prototype.acts.SetText, null, 4557705724387875, !1, [
  11066. [7, [23, "HighScoreNightmare"]]
  11067. ]]
  11068. ]
  11069. ]
  11070. ]
  11071. ],
  11072. [0, null, !1, null, 635568568447811, [
  11073. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6447310925656634, !1, [
  11074. [4, 5]
  11075. ]]
  11076. ],
  11077. [],
  11078. [
  11079. [0, null, !1, null, 0x9058361dbf42e, [
  11080. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 860993964427196, !1, [
  11081. [11, "gravityNightmare"],
  11082. [8, 0],
  11083. [7, [0, 0]]
  11084. ]]
  11085. ],
  11086. [
  11087. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 682459216913761, !1, [
  11088. [0, [0, 180]]
  11089. ]],
  11090. [-1, cr.system_object.prototype.acts.SetVar, null, 0x66e649c449d42, !1, [
  11091. [11, "gravityNightmare"],
  11092. [7, [0, 1]]
  11093. ]]
  11094. ]
  11095. ],
  11096. [0, null, !1, null, 0x94a0c3ca6c085, [
  11097. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0xcd1452faff319, !1]
  11098. ],
  11099. [
  11100. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x41e80f452aa3a, !1, [
  11101. [0, [0, 360]]
  11102. ]],
  11103. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc59095b4f6380, !1, [
  11104. [11, "gravityNightmare"],
  11105. [7, [0, 0]]
  11106. ]]
  11107. ]
  11108. ]
  11109. ]
  11110. ],
  11111. [0, null, !1, null, 0xa68930dde8e97, [
  11112. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6809335468047094, !1, [
  11113. [4, 42]
  11114. ]]
  11115. ],
  11116. [],
  11117. [
  11118. [0, null, !1, null, 0x5029721178128, [
  11119. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x41c5588b6ab07, !1, [
  11120. [11, "gravity2Nightmare"],
  11121. [8, 0],
  11122. [7, [0, 0]]
  11123. ]]
  11124. ],
  11125. [
  11126. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xb02ef1e464b16, !1, [
  11127. [0, [0, 180]]
  11128. ]],
  11129. [-1, cr.system_object.prototype.acts.SetVar, null, 5692415432852029, !1, [
  11130. [11, "gravity2Nightmare"],
  11131. [7, [0, 1]]
  11132. ]]
  11133. ]
  11134. ],
  11135. [0, null, !1, null, 9913176801017936, [
  11136. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x806dad0c3bb7, !1]
  11137. ],
  11138. [
  11139. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9397893662435042, !1, [
  11140. [0, [0, 360]]
  11141. ]],
  11142. [-1, cr.system_object.prototype.acts.SetVar, null, 698448921574584, !1, [
  11143. [11, "gravity2Nightmare"],
  11144. [7, [0, 0]]
  11145. ]]
  11146. ]
  11147. ]
  11148. ]
  11149. ],
  11150. [0, null, !1, null, 0xe3fc2720464af, [
  11151. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xc847ad7ea2241, !1, [
  11152. [4, 10]
  11153. ]]
  11154. ],
  11155. [],
  11156. [
  11157. [0, null, !1, null, 0xd9b198ea4290d, [
  11158. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8716479959184298, !1, [
  11159. [11, "gravity3Nightmare"],
  11160. [8, 0],
  11161. [7, [0, 0]]
  11162. ]]
  11163. ],
  11164. [
  11165. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8213610756315023, !1, [
  11166. [0, [0, 180]]
  11167. ]],
  11168. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9673834b5eb4f, !1, [
  11169. [11, "gravity3Nightmare"],
  11170. [7, [0, 1]]
  11171. ]]
  11172. ]
  11173. ],
  11174. [0, null, !1, null, 5832944103539464, [
  11175. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 6044853697827008, !1]
  11176. ],
  11177. [
  11178. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 6035334004755308, !1, [
  11179. [0, [0, 360]]
  11180. ]],
  11181. [-1, cr.system_object.prototype.acts.SetVar, null, 0x52ffb80f708c1, !1, [
  11182. [11, "gravity3Nightmare"],
  11183. [7, [0, 0]]
  11184. ]]
  11185. ]
  11186. ]
  11187. ]
  11188. ],
  11189. [0, null, !1, null, 0xfcc1a2cf9f1b3, [
  11190. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 553730868984399, !1, [
  11191. [4, 6]
  11192. ]]
  11193. ],
  11194. [
  11195. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6889624833886127, !1, [
  11196. [3, 1]
  11197. ]]
  11198. ]
  11199. ],
  11200. [0, null, !1, null, 0xed77a6eec3e65, [
  11201. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6770308953364988, !1, [
  11202. [4, 1]
  11203. ]]
  11204. ],
  11205. [
  11206. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xf4ceb795ea9f3, !1, [
  11207. [3, 0]
  11208. ]]
  11209. ]
  11210. ],
  11211. [0, null, !1, null, 5914434661047754, [
  11212. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x9e3d88a467a22, !1, [
  11213. [4, 1]
  11214. ]]
  11215. ],
  11216. [
  11217. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xe7103e2443483, !1, [
  11218. [3, 1]
  11219. ]]
  11220. ]
  11221. ],
  11222. [0, null, !1, null, 514624775873697, [
  11223. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6712675516759126, !1, [
  11224. [4, 40]
  11225. ]]
  11226. ],
  11227. [
  11228. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 577277480883874, !1, [
  11229. [3, 0]
  11230. ]]
  11231. ]
  11232. ],
  11233. [0, null, !1, null, 8417950530644079, [
  11234. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4538826408249891, !1, [
  11235. [4, 40]
  11236. ]]
  11237. ],
  11238. [
  11239. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9492187969585394, !1, [
  11240. [3, 1]
  11241. ]]
  11242. ]
  11243. ],
  11244. [0, null, !1, null, 7568821222385036, [
  11245. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6443245544784354, !1, [
  11246. [4, 11]
  11247. ]]
  11248. ],
  11249. [
  11250. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x5209d48d14ea1, !1, [
  11251. [3, 0]
  11252. ]]
  11253. ]
  11254. ],
  11255. [0, null, !1, null, 0xefa9d4ee4656d, [
  11256. [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 0xed25f90949a7f, !1]
  11257. ],
  11258. [
  11259. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 6008574749696409, !1, [
  11260. [0, [0, 270]]
  11261. ]],
  11262. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 4938767017992889, !1, [
  11263. [0, [23, "SpeedNightmare"]]
  11264. ]],
  11265. [-1, cr.system_object.prototype.acts.AddVar, null, 5083014356693013, !1, [
  11266. [11, "SpeedNightmare"],
  11267. [7, [1, .1]]
  11268. ]],
  11269. [43, cr.plugins_.Text.prototype.acts.SetText, null, 5638081893199741, !1, [
  11270. [7, [23, "ScoreNightmare"]]
  11271. ]]
  11272. ]
  11273. ],
  11274. [0, null, !1, null, 0xa4bf6a0f9656a, [
  11275. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x70a42ef54f5ed, !1, [
  11276. [0, [19, cr.system_object.prototype.exps.random, [
  11277. [0, 1],
  11278. [1, 1.5]
  11279. ]]]
  11280. ]],
  11281. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8797309932659033, !1, [
  11282. [11, "playNightmare"],
  11283. [8, 0],
  11284. [7, [0, 0]]
  11285. ]],
  11286. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5588523059894384, !1, [
  11287. [11, "begin"],
  11288. [8, 0],
  11289. [7, [0, 1]]
  11290. ]]
  11291. ],
  11292. [
  11293. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc79018074cb2f, !1, [
  11294. [11, "row1Nightmare"],
  11295. [7, [19, cr.system_object.prototype.exps.choose, [
  11296. [0, 1],
  11297. [0, 2]
  11298. ]]]
  11299. ]]
  11300. ],
  11301. [
  11302. [0, null, !1, null, 0x6b8d0c93c5f6e, [
  11303. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8468405aa25fb, !1, [
  11304. [11, "row1Nightmare"],
  11305. [8, 0],
  11306. [7, [0, 1]]
  11307. ]]
  11308. ],
  11309. [
  11310. [-1, cr.system_object.prototype.acts.CreateObject, null, 6959830114045974, !1, [
  11311. [4, 12],
  11312. [5, [0, 4]],
  11313. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  11314. [0, 80]
  11315. ]],
  11316. [0, [0, 960]]
  11317. ]]
  11318. ]
  11319. ],
  11320. [0, null, !1, null, 6508133992803408, [
  11321. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8411351398425876, !1, [
  11322. [11, "row1Nightmare"],
  11323. [8, 0],
  11324. [7, [0, 2]]
  11325. ]]
  11326. ],
  11327. [
  11328. [-1, cr.system_object.prototype.acts.CreateObject, null, 730061362131965, !1, [
  11329. [4, 12],
  11330. [5, [0, 4]],
  11331. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  11332. [0, 30]
  11333. ]],
  11334. [0, [0, 960]]
  11335. ]],
  11336. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x4f4633adaa62f, !1, [
  11337. [3, 0]
  11338. ]]
  11339. ]
  11340. ]
  11341. ]
  11342. ],
  11343. [0, null, !1, null, 9623070211021e3, [
  11344. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x6af41407b7f79, !1, [
  11345. [0, [19, cr.system_object.prototype.exps.random, [
  11346. [0, 1],
  11347. [1, 1.5]
  11348. ]]]
  11349. ]],
  11350. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5599207334652852, !1, [
  11351. [11, "playNightmare"],
  11352. [8, 0],
  11353. [7, [0, 0]]
  11354. ]],
  11355. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6327317079763356, !1, [
  11356. [11, "begin"],
  11357. [8, 0],
  11358. [7, [0, 1]]
  11359. ]]
  11360. ],
  11361. [
  11362. [-1, cr.system_object.prototype.acts.SetVar, null, 9432665351690324, !1, [
  11363. [11, "row2Nightmare"],
  11364. [7, [19, cr.system_object.prototype.exps.choose, [
  11365. [0, 1],
  11366. [0, 2]
  11367. ]]]
  11368. ]]
  11369. ],
  11370. [
  11371. [0, null, !1, null, 0x6f848d15e686a, [
  11372. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd35ed858fb9e6, !1, [
  11373. [11, "row2Nightmare"],
  11374. [8, 0],
  11375. [7, [0, 1]]
  11376. ]]
  11377. ],
  11378. [
  11379. [-1, cr.system_object.prototype.acts.CreateObject, null, 7286867073744583, !1, [
  11380. [4, 12],
  11381. [5, [0, 4]],
  11382. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  11383. [0, 60]
  11384. ]],
  11385. [0, [0, 960]]
  11386. ]]
  11387. ]
  11388. ],
  11389. [0, null, !1, null, 4509510508602471, [
  11390. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5628702786963106, !1, [
  11391. [11, "row2Nightmare"],
  11392. [8, 0],
  11393. [7, [0, 2]]
  11394. ]]
  11395. ],
  11396. [
  11397. [-1, cr.system_object.prototype.acts.CreateObject, null, 40969121211834, !1, [
  11398. [4, 12],
  11399. [5, [0, 4]],
  11400. [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  11401. [0, 40]
  11402. ]],
  11403. [0, [0, 960]]
  11404. ]],
  11405. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7852625484478836, !1, [
  11406. [3, 0]
  11407. ]]
  11408. ]
  11409. ]
  11410. ]
  11411. ],
  11412. [0, null, !1, null, 0x5bc0b1aeabf05, [
  11413. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8521728435879438, !1, [
  11414. [0, [19, cr.system_object.prototype.exps.random, [
  11415. [0, 1],
  11416. [1, 1.5]
  11417. ]]]
  11418. ]],
  11419. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 82667831112436, !1, [
  11420. [11, "playNightmare"],
  11421. [8, 0],
  11422. [7, [0, 0]]
  11423. ]],
  11424. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x7dc49a92f9ac6, !1, [
  11425. [11, "begin"],
  11426. [8, 0],
  11427. [7, [0, 1]]
  11428. ]]
  11429. ],
  11430. [
  11431. [-1, cr.system_object.prototype.acts.SetVar, null, 9938873852831308, !1, [
  11432. [11, "row3Nightmare"],
  11433. [7, [19, cr.system_object.prototype.exps.choose, [
  11434. [0, 1],
  11435. [0, 2]
  11436. ]]]
  11437. ]]
  11438. ],
  11439. [
  11440. [0, null, !1, null, 0xc614d4eed8bcd, [
  11441. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc69d095a17b7f, !1, [
  11442. [11, "row3Nightmare"],
  11443. [8, 0],
  11444. [7, [0, 1]]
  11445. ]]
  11446. ],
  11447. [
  11448. [-1, cr.system_object.prototype.acts.CreateObject, null, 7746760597386925, !1, [
  11449. [4, 12],
  11450. [5, [0, 4]],
  11451. [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  11452. [0, 60]
  11453. ]],
  11454. [0, [0, 960]]
  11455. ]]
  11456. ]
  11457. ],
  11458. [0, null, !1, null, 9102728382549652, [
  11459. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8261708678716939, !1, [
  11460. [11, "row3Nightmare"],
  11461. [8, 0],
  11462. [7, [0, 2]]
  11463. ]]
  11464. ],
  11465. [
  11466. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xaf25581a7d6ec, !1, [
  11467. [4, 12],
  11468. [5, [0, 4]],
  11469. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  11470. [0, 40]
  11471. ]],
  11472. [0, [0, 960]]
  11473. ]],
  11474. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6935264144681244, !1, [
  11475. [3, 0]
  11476. ]]
  11477. ]
  11478. ]
  11479. ]
  11480. ],
  11481. [0, null, !1, null, 0x49c69354ad6aa, [
  11482. [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 7111314653983631, !1, [
  11483. [8, 3],
  11484. [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  11485. ]],
  11486. [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 9026375162714122, !1, [
  11487. [10, 0]
  11488. ]]
  11489. ],
  11490. [
  11491. [-1, cr.system_object.prototype.acts.AddVar, null, 9591681526336340, !1, [
  11492. [11, "ScoreNightmare"],
  11493. [7, [0, 1]]
  11494. ]],
  11495. [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 8423679302409578, !1, [
  11496. [10, 0],
  11497. [3, 1]
  11498. ]],
  11499. [73, cr.plugins_.Audio.prototype.acts.Play, null, 8199230395608225, !1, [
  11500. [2, ["point", !1]],
  11501. [3, 0],
  11502. [0, [0, -10]],
  11503. [1, [2, ""]]
  11504. ]]
  11505. ]
  11506. ],
  11507. [0, null, !1, null, 767820393524872, [
  11508. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x6764d56a4c665, !1, [
  11509. [4, 12]
  11510. ]]
  11511. ],
  11512. [
  11513. [-1, cr.system_object.prototype.acts.SetVar, null, 0x4109a45b18562, !1, [
  11514. [11, "playNightmare"],
  11515. [7, [0, 1]]
  11516. ]]
  11517. ]
  11518. ],
  11519. [0, null, !1, null, 8660517495026027, [
  11520. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9898596223676344, !1, [
  11521. [4, 12]
  11522. ]]
  11523. ],
  11524. [
  11525. [-1, cr.system_object.prototype.acts.SetVar, null, 7949281541617439, !1, [
  11526. [11, "playNightmare"],
  11527. [7, [0, 1]]
  11528. ]]
  11529. ]
  11530. ],
  11531. [0, null, !1, null, 8915158112963418, [
  11532. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8992490139801813, !1, [
  11533. [4, 12]
  11534. ]]
  11535. ],
  11536. [
  11537. [-1, cr.system_object.prototype.acts.SetVar, null, 7063780445178351, !1, [
  11538. [11, "playNightmare"],
  11539. [7, [0, 1]]
  11540. ]]
  11541. ]
  11542. ],
  11543. [0, null, !1, null, 0x8ebd35b0e604e, [
  11544. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 604331822146805, !1, [
  11545. [11, "playNightmare"],
  11546. [8, 0],
  11547. [7, [0, 1]]
  11548. ]]
  11549. ],
  11550. [
  11551. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9475556916217748, !1, [
  11552. [4, 0],
  11553. [0, [0, 0]]
  11554. ]],
  11555. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5533323125914953, !1, [
  11556. [4, 12],
  11557. [0, [0, 0]]
  11558. ]],
  11559. [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x75b237404e03f, !1],
  11560. [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 7709766070796144, !1],
  11561. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7708939433112673, !1, [
  11562. [4, 8],
  11563. [0, [0, 0]]
  11564. ]],
  11565. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa17f4a0bf9586, !1, [
  11566. [11, "gameover_Nightmare"],
  11567. [7, [0, 1]]
  11568. ]],
  11569. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xa9c5bb881a5e7, !1, [
  11570. [5, [0, 5]],
  11571. [3, 1]
  11572. ]],
  11573. [44, cr.plugins_.Text.prototype.acts.SetText, null, 7376117922618404, !1, [
  11574. [7, [23, "ScoreNightmare"]]
  11575. ]],
  11576. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9943924741033972, !1, [
  11577. [4, 41],
  11578. [0, [0, 0]]
  11579. ]]
  11580. ],
  11581. [
  11582. [0, null, !1, null, 0xf221949d95eea, [
  11583. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x9a6502c369095, !1, [
  11584. [11, "ScoreNightmare"],
  11585. [8, 4],
  11586. [7, [23, "HighScoreNightmare"]]
  11587. ]]
  11588. ],
  11589. [
  11590. [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 0xa6f805d124e7f, !1, [
  11591. [1, [2, "HighScoreNightmare"]],
  11592. [7, [23, "ScoreNightmare"]]
  11593. ]],
  11594. [45, cr.plugins_.Text.prototype.acts.SetText, null, 0xd7b7de376dd06, !1, [
  11595. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  11596. [2, "HighScoreNightmare"]
  11597. ]]]
  11598. ]]
  11599. ]
  11600. ],
  11601. [0, null, !1, null, 0xac14ca69a3126, [
  11602. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x9848c0e34145a, !1, [
  11603. [4, 19]
  11604. ]],
  11605. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 5975921553733024, !1, [
  11606. [5, [0, 4]]
  11607. ]]
  11608. ],
  11609. [
  11610. [-1, cr.system_object.prototype.acts.GoToLayout, null, 9295148921692920, !1, [
  11611. [6, "Menu"]
  11612. ]],
  11613. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9236559617232124, !1, [
  11614. [5, [0, 5]],
  11615. [0, [0, 0]]
  11616. ]],
  11617. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x496035c3d8837, !1, [
  11618. [5, [0, 5]],
  11619. [3, 0]
  11620. ]],
  11621. [-1, cr.system_object.prototype.acts.SetVar, null, 673813954958534, !1, [
  11622. [11, "playNightmare"],
  11623. [7, [0, 0]]
  11624. ]],
  11625. [-1, cr.system_object.prototype.acts.SetVar, null, 0x76987b1695ed2, !1, [
  11626. [11, "gameover_Nightmare"],
  11627. [7, [0, 0]]
  11628. ]],
  11629. [-1, cr.system_object.prototype.acts.SetVar, null, 6345850387737552, !1, [
  11630. [11, "gravity3Nightmare"],
  11631. [7, [0, 1]]
  11632. ]],
  11633. [-1, cr.system_object.prototype.acts.SetVar, null, 5549239826304016, !1, [
  11634. [11, "gravity2Nightmare"],
  11635. [7, [0, 1]]
  11636. ]],
  11637. [-1, cr.system_object.prototype.acts.SetVar, null, 9101759676138352, !1, [
  11638. [11, "SpeedNightmare"],
  11639. [7, [0, 400]]
  11640. ]],
  11641. [-1, cr.system_object.prototype.acts.SetVar, null, 7664454061402409, !1, [
  11642. [11, "ScoreNightmare"],
  11643. [7, [0, 0]]
  11644. ]],
  11645. [-1, cr.system_object.prototype.acts.SetVar, null, 0xe7be415efd173, !1, [
  11646. [11, "gravityNightmare"],
  11647. [7, [0, 1]]
  11648. ]],
  11649. [73, cr.plugins_.Audio.prototype.acts.Play, null, 6068216853611987, !1, [
  11650. [2, ["click1", !1]],
  11651. [3, 0],
  11652. [0, [0, 0]],
  11653. [1, [2, ""]]
  11654. ]]
  11655. ]
  11656. ],
  11657. [0, null, !1, null, 0x7a731148a9541, [
  11658. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9859905247382864, !1, [
  11659. [4, 18]
  11660. ]],
  11661. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 7493996782824175, !1, [
  11662. [5, [0, 4]]
  11663. ]]
  11664. ],
  11665. [
  11666. [-1, cr.system_object.prototype.acts.GoToLayout, null, 5638382792340532, !1, [
  11667. [6, "Nightmare"]
  11668. ]],
  11669. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xd36cb7854a4bb, !1, [
  11670. [5, [0, 5]],
  11671. [0, [0, 0]]
  11672. ]],
  11673. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 368943587709571, !1, [
  11674. [5, [0, 5]],
  11675. [3, 0]
  11676. ]],
  11677. [-1, cr.system_object.prototype.acts.SetVar, null, 0x68c8c7aed6114, !1, [
  11678. [11, "playNightmare"],
  11679. [7, [0, 0]]
  11680. ]],
  11681. [-1, cr.system_object.prototype.acts.SetVar, null, 661044301840794, !1, [
  11682. [11, "gameover_Nightmare"],
  11683. [7, [0, 0]]
  11684. ]],
  11685. [-1, cr.system_object.prototype.acts.SetVar, null, 5779932704214342, !1, [
  11686. [11, "gravity3Nightmare"],
  11687. [7, [0, 1]]
  11688. ]],
  11689. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa34fe4c1a64ba, !1, [
  11690. [11, "gravity2Nightmare"],
  11691. [7, [0, 1]]
  11692. ]],
  11693. [-1, cr.system_object.prototype.acts.SetVar, null, 8609220136865349, !1, [
  11694. [11, "SpeedNightmare"],
  11695. [7, [0, 400]]
  11696. ]],
  11697. [-1, cr.system_object.prototype.acts.SetVar, null, 7935905773248956, !1, [
  11698. [11, "ScoreNightmare"],
  11699. [7, [0, 0]]
  11700. ]],
  11701. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1a4285e56dd8, !1, [
  11702. [11, "gravityNightmare"],
  11703. [7, [0, 1]]
  11704. ]],
  11705. [73, cr.plugins_.Audio.prototype.acts.Play, null, 6700118219619279, !1, [
  11706. [2, ["click1", !1]],
  11707. [3, 0],
  11708. [0, [0, 0]],
  11709. [1, [2, ""]]
  11710. ]]
  11711. ]
  11712. ]
  11713. ]
  11714. ],
  11715. [0, null, !1, null, 0x4e7915982f084, [
  11716. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5137073280066072, !1, [
  11717. [11, "gameover_Nightmare"],
  11718. [8, 0],
  11719. [7, [0, 1]]
  11720. ]]
  11721. ],
  11722. [
  11723. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0x6e4920586735e, !1, [
  11724. [5, [0, 5]],
  11725. [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
  11726. [0, 5]
  11727. ]],
  11728. [0, 5]
  11729. ]]
  11730. ]]
  11731. ]
  11732. ],
  11733. [0, null, !1, null, 7128944285721394, [
  11734. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9331555097558344, !1, [
  11735. [4, 74]
  11736. ]]
  11737. ],
  11738. [
  11739. [-1, cr.system_object.prototype.acts.SetVar, null, 863817775873842, !1, [
  11740. [11, "begin"],
  11741. [7, [0, 1]]
  11742. ]],
  11743. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 4608149593210765, !1, [
  11744. [5, [0, 6]],
  11745. [3, 0]
  11746. ]]
  11747. ]
  11748. ],
  11749. [0, null, !1, null, 4781163146057797, [
  11750. [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 0x8cf4548cc6a8d, !1, [
  11751. [8, 2],
  11752. [0, [0, 203]]
  11753. ]]
  11754. ],
  11755. [
  11756. [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 8188541593818606, !1, [
  11757. [0, [0, 362]]
  11758. ]]
  11759. ]
  11760. ],
  11761. [0, null, !1, null, 0xd888c0612cf81, [
  11762. [41, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 727703682834698, !1, [
  11763. [8, 2],
  11764. [0, [0, 420]]
  11765. ]]
  11766. ],
  11767. [
  11768. [41, cr.plugins_.Sprite.prototype.acts.SetX, null, 0x3934faf044fea, !1, [
  11769. [0, [0, 560]]
  11770. ]]
  11771. ]
  11772. ],
  11773. [0, null, !1, null, 6972403065434678, [
  11774. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 7096176128512979, !1, [
  11775. [4, 75]
  11776. ]],
  11777. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 9672251408111434, !1, [
  11778. [5, [0, 4]]
  11779. ]]
  11780. ],
  11781. [
  11782. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 6989249149377233, !1, [
  11783. [1, [10, [10, [10, [2, "moregame"],
  11784. [23, "ScoreNightmare"]
  11785. ],
  11786. [2, ":"]
  11787. ],
  11788. [19, cr.system_object.prototype.exps.random, [
  11789. [0, 1],
  11790. [0, 10]
  11791. ]]
  11792. ]],
  11793. [1, [2, "NewWindow"]]
  11794. ]]
  11795. ]
  11796. ],
  11797. [0, null, !1, null, 5917977512650088, [
  11798. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5356591655584787, !1, [
  11799. [4, 76]
  11800. ]],
  11801. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0xd888b7c373389, !1, [
  11802. [5, [0, 4]]
  11803. ]]
  11804. ],
  11805. [
  11806. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 7013855719974894, !1, [
  11807. [1, [10, [10, [2, "moregame"],
  11808. [23, "HighScoreNightmare"]
  11809. ],
  11810. [2, "%23MakeThemFallNightmare"]
  11811. ]],
  11812. [1, [2, "NewWindow"]]
  11813. ]]
  11814. ]
  11815. ]
  11816. ]],
  11817. ["HellSheet", [
  11818. [1, "HighScoreHell", 0, 0, !1, !1, 0x552d46b1ad06f, !1],
  11819. [1, "SpeedHell", 0, 200, !1, !1, 9928884518557808, !1],
  11820. [1, "playHell", 0, 0, !1, !1, 8926672357696547, !1],
  11821. [1, "gameover_hell", 0, 0, !1, !1, 0x8bec73dd934f2, !1],
  11822. [1, "ScoreHell", 0, 0, !1, !1, 4986134095776752, !1],
  11823. [1, "gravityHell", 0, 1, !1, !1, 0x901cc3fd1b465, !1],
  11824. [1, "row1Hell", 0, 0, !1, !1, 0x96a100386c35b, !1],
  11825. [1, "gravity3Hell", 0, 1, !1, !1, 0x8ae3cdcb9e968, !1],
  11826. [1, "row3Hell", 0, 0, !1, !1, 0xe3aff52dac73d, !1],
  11827. [1, "row4Hell", 0, 0, !1, !1, 7069719470143997, !1],
  11828. [1, "row2Hell", 0, 0, !1, !1, 8567935100386745, !1],
  11829. [1, "gravity4Hell", 0, 1, !1, !1, 8719070673872469, !1],
  11830. [1, "gravity2Hell", 0, 1, !1, !1, 7667584891962777, !1],
  11831. [0, null, !1, null, 0xa7f82182d055a, [
  11832. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0x7ab60aed63e25, !1]
  11833. ],
  11834. [
  11835. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9451295605599884, !1, [
  11836. [0, [0, 180]]
  11837. ]],
  11838. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7924164873111842, !1, [
  11839. [0, [0, 180]]
  11840. ]],
  11841. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x8b35f902032e3, !1, [
  11842. [0, [0, 180]]
  11843. ]],
  11844. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4806273730307139, !1, [
  11845. [0, [0, 180]]
  11846. ]],
  11847. [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xe7b0d9756df68, !1, [
  11848. [4, 0],
  11849. [3, 1]
  11850. ]],
  11851. [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 5710866925731601, !1, [
  11852. [4, 8],
  11853. [3, 1]
  11854. ]],
  11855. [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 7033793139173021, !1, [
  11856. [4, 41],
  11857. [3, 1]
  11858. ]],
  11859. [54, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x5b46f99808db, !1, [
  11860. [4, 48],
  11861. [3, 1]
  11862. ]],
  11863. [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 0x6fdb49933c4a2, !1],
  11864. [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 8727421015195558, !1, [
  11865. [3, 1]
  11866. ]],
  11867. [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 598493664277292, !1],
  11868. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 7138641630736685, !1],
  11869. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xaa97471ef3f35, !1, [
  11870. [5, [0, 8]],
  11871. [0, [0, 0]]
  11872. ]],
  11873. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x4aa3d80b417c7, !1, [
  11874. [5, [0, 8]],
  11875. [3, 0]
  11876. ]],
  11877. [-1, cr.system_object.prototype.acts.SetVar, null, 0x595c293846636, !1, [
  11878. [11, "playHell"],
  11879. [7, [0, 0]]
  11880. ]],
  11881. [-1, cr.system_object.prototype.acts.SetVar, null, 6918959011573678, !1, [
  11882. [11, "gameover_hell"],
  11883. [7, [0, 0]]
  11884. ]],
  11885. [-1, cr.system_object.prototype.acts.SetVar, null, 8820816317420429, !1, [
  11886. [11, "gravityHell"],
  11887. [7, [0, 1]]
  11888. ]],
  11889. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9a9e4478b9933, !1, [
  11890. [11, "gravity2Hell"],
  11891. [7, [0, 1]]
  11892. ]],
  11893. [-1, cr.system_object.prototype.acts.SetVar, null, 0x7d1b69fde5a59, !1, [
  11894. [11, "SpeedHell"],
  11895. [7, [0, 200]]
  11896. ]],
  11897. [-1, cr.system_object.prototype.acts.SetVar, null, 7444519177505779, !1, [
  11898. [11, "ScoreHell"],
  11899. [7, [0, 0]]
  11900. ]],
  11901. [-1, cr.system_object.prototype.acts.SetVar, null, 7993124026962483, !1, [
  11902. [11, "gravity3Hell"],
  11903. [7, [0, 1]]
  11904. ]],
  11905. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9e3bd84217c0b, !1, [
  11906. [11, "gravity4Hell"],
  11907. [7, [0, 1]]
  11908. ]],
  11909. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 7562068510936174, !1, [
  11910. [5, [0, 9]],
  11911. [3, 1]
  11912. ]],
  11913. [-1, cr.system_object.prototype.acts.SetVar, null, 0xfbba2e7d487e3, !1, [
  11914. [11, "begin"],
  11915. [7, [0, 0]]
  11916. ]]
  11917. ],
  11918. [
  11919. [0, null, !1, null, 9655871707940076, [
  11920. [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 9397829282426248, !1, [
  11921. [1, [2, "HighScoreHell"]]
  11922. ]]
  11923. ],
  11924. [
  11925. [-1, cr.system_object.prototype.acts.SetVar, null, 5594707196559653, !1, [
  11926. [11, "HighScoreHell"],
  11927. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  11928. [2, "HighScoreHell"]
  11929. ]]]
  11930. ]],
  11931. [57, cr.plugins_.Text.prototype.acts.SetText, null, 0xc2db402fff4be, !1, [
  11932. [7, [23, "HighScoreHell"]]
  11933. ]]
  11934. ]
  11935. ],
  11936. [0, null, !1, null, 7102103040663327, [
  11937. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 5223572565718437, !1]
  11938. ],
  11939. [
  11940. [-1, cr.system_object.prototype.acts.SetVar, null, 5940396484919638, !1, [
  11941. [11, "HighScoreHell"],
  11942. [7, [0, 0]]
  11943. ]],
  11944. [57, cr.plugins_.Text.prototype.acts.SetText, null, 0x624ed5f2786d6, !1, [
  11945. [7, [23, "HighScoreHell"]]
  11946. ]]
  11947. ]
  11948. ]
  11949. ]
  11950. ],
  11951. [0, null, !1, null, 0xa438abb56740c, [
  11952. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6311075926567927, !1, [
  11953. [4, 50]
  11954. ]]
  11955. ],
  11956. [],
  11957. [
  11958. [0, null, !1, null, 5408336356917494, [
  11959. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x6357ac45aa30e, !1, [
  11960. [11, "gravity2Hell"],
  11961. [8, 0],
  11962. [7, [0, 0]]
  11963. ]]
  11964. ],
  11965. [
  11966. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8927741400039142, !1, [
  11967. [0, [0, 180]]
  11968. ]],
  11969. [-1, cr.system_object.prototype.acts.SetVar, null, 4604606077588142, !1, [
  11970. [11, "gravity2Hell"],
  11971. [7, [0, 1]]
  11972. ]]
  11973. ]
  11974. ],
  11975. [0, null, !1, null, 0xe57f9f60738b1, [
  11976. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 9041922704029492, !1]
  11977. ],
  11978. [
  11979. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9480708660007226, !1, [
  11980. [0, [0, 360]]
  11981. ]],
  11982. [-1, cr.system_object.prototype.acts.SetVar, null, 8591616930206705, !1, [
  11983. [11, "gravity2Hell"],
  11984. [7, [0, 0]]
  11985. ]]
  11986. ]
  11987. ]
  11988. ]
  11989. ],
  11990. [0, null, !1, null, 7459358099951311, [
  11991. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x7d434765cb136, !1, [
  11992. [4, 51]
  11993. ]]
  11994. ],
  11995. [],
  11996. [
  11997. [0, null, !1, null, 8357035639897332, [
  11998. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xb8521d258dec, !1, [
  11999. [11, "gravityHell"],
  12000. [8, 0],
  12001. [7, [0, 0]]
  12002. ]]
  12003. ],
  12004. [
  12005. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 6659733294372012, !1, [
  12006. [0, [0, 180]]
  12007. ]],
  12008. [-1, cr.system_object.prototype.acts.SetVar, null, 0x4222ba2d7a39c, !1, [
  12009. [11, "gravityHell"],
  12010. [7, [0, 1]]
  12011. ]]
  12012. ]
  12013. ],
  12014. [0, null, !1, null, 8498766517018571, [
  12015. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x4afaed80d649b, !1]
  12016. ],
  12017. [
  12018. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9425907747324344, !1, [
  12019. [0, [0, 360]]
  12020. ]],
  12021. [-1, cr.system_object.prototype.acts.SetVar, null, 6916211718842825, !1, [
  12022. [11, "gravityHell"],
  12023. [7, [0, 0]]
  12024. ]]
  12025. ]
  12026. ]
  12027. ]
  12028. ],
  12029. [0, null, !1, null, 0x8c7493f2bf788, [
  12030. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x77eebe1b1f93, !1, [
  12031. [4, 52]
  12032. ]]
  12033. ],
  12034. [],
  12035. [
  12036. [0, null, !1, null, 6808690899724214, [
  12037. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5266476720904783, !1, [
  12038. [11, "gravity3Hell"],
  12039. [8, 0],
  12040. [7, [0, 0]]
  12041. ]]
  12042. ],
  12043. [
  12044. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7695050954281474, !1, [
  12045. [0, [0, 180]]
  12046. ]],
  12047. [-1, cr.system_object.prototype.acts.SetVar, null, 8313970855145888, !1, [
  12048. [11, "gravity3Hell"],
  12049. [7, [0, 1]]
  12050. ]]
  12051. ]
  12052. ],
  12053. [0, null, !1, null, 0x5b478feb5e794, [
  12054. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 4919067861120487, !1]
  12055. ],
  12056. [
  12057. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5712846548525841, !1, [
  12058. [0, [0, 360]]
  12059. ]],
  12060. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9485c47c8089, !1, [
  12061. [11, "gravity3Hell"],
  12062. [7, [0, 0]]
  12063. ]]
  12064. ]
  12065. ]
  12066. ]
  12067. ],
  12068. [0, null, !1, null, 0xe26f282f0aaad, [
  12069. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x890f0f81bcdd3, !1, [
  12070. [4, 53]
  12071. ]]
  12072. ],
  12073. [],
  12074. [
  12075. [0, null, !1, null, 6338835131561713, [
  12076. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc4efbf9cfc613, !1, [
  12077. [11, "gravity4Hell"],
  12078. [8, 0],
  12079. [7, [0, 0]]
  12080. ]]
  12081. ],
  12082. [
  12083. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xda39bb43bddcd, !1, [
  12084. [0, [0, 180]]
  12085. ]],
  12086. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9f5fc535e3077, !1, [
  12087. [11, "gravity4Hell"],
  12088. [7, [0, 1]]
  12089. ]]
  12090. ]
  12091. ],
  12092. [0, null, !1, null, 0xbb5dc198ff6d7, [
  12093. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7547455061303808, !1]
  12094. ],
  12095. [
  12096. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 916503000140759, !1, [
  12097. [0, [0, 360]]
  12098. ]],
  12099. [-1, cr.system_object.prototype.acts.SetVar, null, 7529545599350329, !1, [
  12100. [11, "gravity4Hell"],
  12101. [7, [0, 0]]
  12102. ]]
  12103. ]
  12104. ]
  12105. ]
  12106. ],
  12107. [0, null, !1, null, 7033289898235823, [
  12108. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x4123318542fc8, !1, [
  12109. [4, 1]
  12110. ]]
  12111. ],
  12112. [
  12113. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x720ba3150724c, !1, [
  12114. [3, 0]
  12115. ]]
  12116. ]
  12117. ],
  12118. [0, null, !1, null, 6903674177238394, [
  12119. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xbdd644f1d5984, !1, [
  12120. [4, 6]
  12121. ]]
  12122. ],
  12123. [
  12124. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5255730867493892, !1, [
  12125. [3, 1]
  12126. ]]
  12127. ]
  12128. ],
  12129. [0, null, !1, null, 9773454816019736, [
  12130. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xd41454c3f11aa, !1, [
  12131. [4, 1]
  12132. ]]
  12133. ],
  12134. [
  12135. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8018092290538973, !1, [
  12136. [3, 1]
  12137. ]]
  12138. ]
  12139. ],
  12140. [0, null, !1, null, 9728758949126892, [
  12141. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4506465299335244, !1, [
  12142. [4, 11]
  12143. ]]
  12144. ],
  12145. [
  12146. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7065318726384422, !1, [
  12147. [3, 0]
  12148. ]]
  12149. ]
  12150. ],
  12151. [0, null, !1, null, 8814309905977545, [
  12152. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 681667708997426, !1, [
  12153. [4, 6]
  12154. ]]
  12155. ],
  12156. [
  12157. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x93422891d9b8c, !1, [
  12158. [3, 1]
  12159. ]]
  12160. ]
  12161. ],
  12162. [0, null, !1, null, 6674981597113797, [
  12163. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xcdad1e9ed9e5d, !1, [
  12164. [4, 1]
  12165. ]]
  12166. ],
  12167. [
  12168. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x44673a2390223, !1, [
  12169. [3, 0]
  12170. ]]
  12171. ]
  12172. ],
  12173. [0, null, !1, null, 330669705406735, [
  12174. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5184418422155062, !1, [
  12175. [4, 11]
  12176. ]]
  12177. ],
  12178. [
  12179. [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9694067107958312, !1, [
  12180. [3, 0]
  12181. ]]
  12182. ]
  12183. ],
  12184. [0, null, !1, null, 7759722303409437, [
  12185. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6682667744922014, !1, [
  12186. [4, 1]
  12187. ]]
  12188. ],
  12189. [
  12190. [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5373596525939339, !1, [
  12191. [3, 1]
  12192. ]]
  12193. ]
  12194. ],
  12195. [0, null, !1, null, 0xfe1727e96d532, [
  12196. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8925495097780245, !1, [
  12197. [0, [19, cr.system_object.prototype.exps.random, [
  12198. [0, 2],
  12199. [1, 2.5]
  12200. ]]]
  12201. ]],
  12202. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x6601e9e911dbf, !1, [
  12203. [11, "begin"],
  12204. [8, 0],
  12205. [7, [0, 1]]
  12206. ]],
  12207. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7399237113893897, !1, [
  12208. [11, "playHell"],
  12209. [8, 0],
  12210. [7, [0, 0]]
  12211. ]]
  12212. ],
  12213. [
  12214. [-1, cr.system_object.prototype.acts.SetVar, null, 0xb0b8ae03d27f1, !1, [
  12215. [11, "row1Hell"],
  12216. [7, [19, cr.system_object.prototype.exps.choose, [
  12217. [0, 1],
  12218. [0, 2]
  12219. ]]]
  12220. ]]
  12221. ],
  12222. [
  12223. [0, null, !1, null, 7725739335533569, [
  12224. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xdb555bec63808, !1, [
  12225. [11, "row1Hell"],
  12226. [8, 0],
  12227. [7, [0, 1]]
  12228. ]]
  12229. ],
  12230. [
  12231. [-1, cr.system_object.prototype.acts.CreateObject, null, 562620816866994, !1, [
  12232. [4, 12],
  12233. [5, [0, 2]],
  12234. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12235. [0, 80]
  12236. ]],
  12237. [0, [0, 500]]
  12238. ]]
  12239. ]
  12240. ],
  12241. [0, null, !1, null, 5440540653000954, [
  12242. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5dcfc69564445, !1, [
  12243. [11, "row1Hell"],
  12244. [8, 0],
  12245. [7, [0, 2]]
  12246. ]]
  12247. ],
  12248. [
  12249. [-1, cr.system_object.prototype.acts.CreateObject, null, 5512409534248595, !1, [
  12250. [4, 12],
  12251. [5, [0, 2]],
  12252. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12253. [0, 30]
  12254. ]],
  12255. [0, [0, 500]]
  12256. ]],
  12257. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 500914232409759, !1, [
  12258. [3, 0]
  12259. ]]
  12260. ]
  12261. ]
  12262. ]
  12263. ],
  12264. [0, null, !1, null, 0xb53eaee0e2f05, [
  12265. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x5422d76a2be2f, !1, [
  12266. [0, [19, cr.system_object.prototype.exps.random, [
  12267. [0, 2],
  12268. [1, 2.5]
  12269. ]]]
  12270. ]],
  12271. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf597cab7ee1f4, !1, [
  12272. [11, "begin"],
  12273. [8, 0],
  12274. [7, [0, 1]]
  12275. ]],
  12276. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8ca8e84148412, !1, [
  12277. [11, "playHell"],
  12278. [8, 0],
  12279. [7, [0, 0]]
  12280. ]]
  12281. ],
  12282. [
  12283. [-1, cr.system_object.prototype.acts.SetVar, null, 5429624349430648, !1, [
  12284. [11, "row2Hell"],
  12285. [7, [19, cr.system_object.prototype.exps.choose, [
  12286. [0, 1],
  12287. [0, 2]
  12288. ]]]
  12289. ]]
  12290. ],
  12291. [
  12292. [0, null, !1, null, 0xce7c45b14aaa2, [
  12293. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5726109632642848, !1, [
  12294. [11, "row2Hell"],
  12295. [8, 0],
  12296. [7, [0, 1]]
  12297. ]]
  12298. ],
  12299. [
  12300. [-1, cr.system_object.prototype.acts.CreateObject, null, 7440359306595869, !1, [
  12301. [4, 12],
  12302. [5, [0, 2]],
  12303. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12304. [0, 60]
  12305. ]],
  12306. [0, [0, 500]]
  12307. ]]
  12308. ]
  12309. ],
  12310. [0, null, !1, null, 8142220993732389, [
  12311. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6603130859136417, !1, [
  12312. [11, "row2Hell"],
  12313. [8, 0],
  12314. [7, [0, 2]]
  12315. ]]
  12316. ],
  12317. [
  12318. [-1, cr.system_object.prototype.acts.CreateObject, null, 5167873746334534, !1, [
  12319. [4, 12],
  12320. [5, [0, 2]],
  12321. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12322. [0, 40]
  12323. ]],
  12324. [0, [0, 500]]
  12325. ]],
  12326. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xf4c305d6b5183, !1, [
  12327. [3, 0]
  12328. ]]
  12329. ]
  12330. ]
  12331. ]
  12332. ],
  12333. [0, null, !1, null, 9244399641397636, [
  12334. [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 9761212369572626, !1]
  12335. ],
  12336. [
  12337. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 9715488567604706, !1, [
  12338. [0, [0, 270]]
  12339. ]],
  12340. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 7441204619361, !1, [
  12341. [0, [23, "SpeedHell"]]
  12342. ]],
  12343. [-1, cr.system_object.prototype.acts.AddVar, null, 704909222498782, !1, [
  12344. [11, "SpeedHell"],
  12345. [7, [1, .1]]
  12346. ]],
  12347. [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 671948114910723, !1, [
  12348. [0, [0, 270]]
  12349. ]],
  12350. [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 7128323783466476, !1, [
  12351. [0, [23, "SpeedHell"]]
  12352. ]],
  12353. [13, cr.plugins_.Text.prototype.acts.SetText, null, 9897522187224684, !1, [
  12354. [7, [23, "ScoreHell"]]
  12355. ]]
  12356. ]
  12357. ],
  12358. [0, null, !1, null, 5573042847591861, [
  12359. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 5133312597769615, !1, [
  12360. [0, [19, cr.system_object.prototype.exps.random, [
  12361. [0, 2],
  12362. [1, 2.5]
  12363. ]]]
  12364. ]],
  12365. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5ba7044f16568, !1, [
  12366. [11, "begin"],
  12367. [8, 0],
  12368. [7, [0, 1]]
  12369. ]],
  12370. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8723610357130276, !1, [
  12371. [11, "playHell"],
  12372. [8, 0],
  12373. [7, [0, 0]]
  12374. ]]
  12375. ],
  12376. [
  12377. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa5139e3d2fe8b, !1, [
  12378. [11, "row3Hell"],
  12379. [7, [19, cr.system_object.prototype.exps.choose, [
  12380. [0, 1],
  12381. [0, 2]
  12382. ]]]
  12383. ]]
  12384. ],
  12385. [
  12386. [0, null, !1, null, 0xd11b6e0727806, [
  12387. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7127279986486988, !1, [
  12388. [11, "row3Hell"],
  12389. [8, 0],
  12390. [7, [0, 1]]
  12391. ]]
  12392. ],
  12393. [
  12394. [-1, cr.system_object.prototype.acts.CreateObject, null, 0x451034bb66383, !1, [
  12395. [4, 55],
  12396. [5, [0, 3]],
  12397. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12398. [0, 80]
  12399. ]],
  12400. [0, [0, 960]]
  12401. ]]
  12402. ]
  12403. ],
  12404. [0, null, !1, null, 7234860650388578, [
  12405. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xe7f4d702ddc3b, !1, [
  12406. [11, "row3Hell"],
  12407. [8, 0],
  12408. [7, [0, 2]]
  12409. ]]
  12410. ],
  12411. [
  12412. [-1, cr.system_object.prototype.acts.CreateObject, null, 6712559584006983, !1, [
  12413. [4, 55],
  12414. [5, [0, 3]],
  12415. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12416. [0, 30]
  12417. ]],
  12418. [0, [0, 960]]
  12419. ]],
  12420. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8797887105937458, !1, [
  12421. [3, 0]
  12422. ]]
  12423. ]
  12424. ]
  12425. ]
  12426. ],
  12427. [0, null, !1, null, 0x81ce717dbece9, [
  12428. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 920919881977293, !1, [
  12429. [0, [19, cr.system_object.prototype.exps.random, [
  12430. [0, 2],
  12431. [1, 2.5]
  12432. ]]]
  12433. ]],
  12434. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8441864204667744, !1, [
  12435. [11, "begin"],
  12436. [8, 0],
  12437. [7, [0, 1]]
  12438. ]],
  12439. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8a3caa064a227, !1, [
  12440. [11, "playHell"],
  12441. [8, 0],
  12442. [7, [0, 0]]
  12443. ]]
  12444. ],
  12445. [
  12446. [-1, cr.system_object.prototype.acts.SetVar, null, 0xab91d60d7c2a, !1, [
  12447. [11, "row4Hell"],
  12448. [7, [19, cr.system_object.prototype.exps.choose, [
  12449. [0, 1],
  12450. [0, 2]
  12451. ]]]
  12452. ]]
  12453. ],
  12454. [
  12455. [0, null, !1, null, 0xf3443fa67c064, [
  12456. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd2bceaba5402c, !1, [
  12457. [11, "row4Hell"],
  12458. [8, 0],
  12459. [7, [0, 1]]
  12460. ]]
  12461. ],
  12462. [
  12463. [-1, cr.system_object.prototype.acts.CreateObject, null, 6269980774003261, !1, [
  12464. [4, 55],
  12465. [5, [0, 3]],
  12466. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12467. [0, 60]
  12468. ]],
  12469. [0, [0, 960]]
  12470. ]]
  12471. ]
  12472. ],
  12473. [0, null, !1, null, 7476320917540544, [
  12474. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf520826b8570a, !1, [
  12475. [11, "row4Hell"],
  12476. [8, 0],
  12477. [7, [0, 2]]
  12478. ]]
  12479. ],
  12480. [
  12481. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xa98b00e0841e2, !1, [
  12482. [4, 55],
  12483. [5, [0, 3]],
  12484. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  12485. [0, 40]
  12486. ]],
  12487. [0, [0, 960]]
  12488. ]],
  12489. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x766e25551329b, !1, [
  12490. [3, 0]
  12491. ]]
  12492. ]
  12493. ]
  12494. ]
  12495. ],
  12496. [0, null, !1, null, 0xa60c41caa3b54, [
  12497. [55, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9616321087636276, !1, [
  12498. [4, 40]
  12499. ]]
  12500. ],
  12501. [
  12502. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0xca4efab568ae9, !1]
  12503. ]
  12504. ],
  12505. [0, null, !1, null, 7606537609946389, [
  12506. [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 8736335771192299, !1, [
  12507. [8, 3],
  12508. [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  12509. ]],
  12510. [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 0x99fc56568b9b6, !1, [
  12511. [10, 0]
  12512. ]]
  12513. ],
  12514. [
  12515. [-1, cr.system_object.prototype.acts.AddVar, null, 6309739897581779, !1, [
  12516. [11, "ScoreHell"],
  12517. [7, [0, 1]]
  12518. ]],
  12519. [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 5652478766510412, !1, [
  12520. [10, 0],
  12521. [3, 1]
  12522. ]],
  12523. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0xef3e10a6ee974, !1, [
  12524. [2, ["point", !1]],
  12525. [3, 0],
  12526. [0, [0, -10]],
  12527. [1, [2, ""]]
  12528. ]]
  12529. ]
  12530. ],
  12531. [0, null, !1, null, 7638744148201248, [
  12532. [55, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 0x5c3c36c00890b, !1, [
  12533. [8, 3],
  12534. [0, [20, 41, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  12535. ]],
  12536. [55, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 5825193909659777, !1, [
  12537. [10, 0]
  12538. ]]
  12539. ],
  12540. [
  12541. [-1, cr.system_object.prototype.acts.AddVar, null, 9454121423546952, !1, [
  12542. [11, "ScoreHell"],
  12543. [7, [0, 1]]
  12544. ]],
  12545. [55, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 4831056549922517, !1, [
  12546. [10, 0],
  12547. [3, 1]
  12548. ]],
  12549. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x464a35c0764a7, !1, [
  12550. [2, ["point", !1]],
  12551. [3, 0],
  12552. [0, [0, -10]],
  12553. [1, [2, ""]]
  12554. ]]
  12555. ]
  12556. ],
  12557. [0, null, !1, null, 0x394ce25874130, [
  12558. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 909052229354765, !1, [
  12559. [4, 12]
  12560. ]]
  12561. ],
  12562. [
  12563. [-1, cr.system_object.prototype.acts.SetVar, null, 0x55897fe4a88cf, !1, [
  12564. [11, "playHell"],
  12565. [7, [0, 1]]
  12566. ]]
  12567. ]
  12568. ],
  12569. [0, null, !1, null, 0xe31706d19a354, [
  12570. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x813e7f21779e1, !1, [
  12571. [4, 12]
  12572. ]]
  12573. ],
  12574. [
  12575. [-1, cr.system_object.prototype.acts.SetVar, null, 7804350369064484, !1, [
  12576. [11, "playHell"],
  12577. [7, [0, 1]]
  12578. ]]
  12579. ]
  12580. ],
  12581. [0, null, !1, null, 9058823307425932, [
  12582. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4901371696587304, !1, [
  12583. [4, 55]
  12584. ]]
  12585. ],
  12586. [
  12587. [-1, cr.system_object.prototype.acts.SetVar, null, 0x5abbe35175f98, !1, [
  12588. [11, "playHell"],
  12589. [7, [0, 1]]
  12590. ]]
  12591. ]
  12592. ],
  12593. [0, null, !1, null, 4843899794236782, [
  12594. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9910063338134196, !1, [
  12595. [4, 55]
  12596. ]]
  12597. ],
  12598. [
  12599. [-1, cr.system_object.prototype.acts.SetVar, null, 0x540a1cfcc7ce9, !1, [
  12600. [11, "playHell"],
  12601. [7, [0, 1]]
  12602. ]]
  12603. ]
  12604. ],
  12605. [0, null, !1, null, 9050267788390494, [
  12606. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7087817035040411, !1, [
  12607. [11, "playHell"],
  12608. [8, 0],
  12609. [7, [0, 1]]
  12610. ]]
  12611. ],
  12612. [
  12613. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 4574218026945983, !1, [
  12614. [4, 0],
  12615. [0, [0, 0]]
  12616. ]],
  12617. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5308654460282015, !1, [
  12618. [4, 12],
  12619. [0, [0, 0]]
  12620. ]],
  12621. [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x6e21e109cbcf0, !1],
  12622. [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x4d697788a2d85, !1],
  12623. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7149559327042243, !1, [
  12624. [4, 8],
  12625. [0, [0, 0]]
  12626. ]],
  12627. [-1, cr.system_object.prototype.acts.SetVar, null, 8104395766873352, !1, [
  12628. [11, "gameover_hell"],
  12629. [7, [0, 1]]
  12630. ]],
  12631. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9476056011606220, !1, [
  12632. [5, [0, 8]],
  12633. [3, 1]
  12634. ]],
  12635. [56, cr.plugins_.Text.prototype.acts.SetText, null, 798734445187935, !1, [
  12636. [7, [23, "ScoreHell"]]
  12637. ]],
  12638. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 6031534127713193, !1, [
  12639. [4, 55],
  12640. [0, [0, 0]]
  12641. ]],
  12642. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xf485efca61e65, !1, [
  12643. [4, 41],
  12644. [0, [0, 0]]
  12645. ]],
  12646. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 8615423523611822, !1, [
  12647. [4, 48],
  12648. [0, [0, 0]]
  12649. ]],
  12650. [49, cr.plugins_.Particles.prototype.acts.Destroy, null, 9374567370643080, !1],
  12651. [54, cr.plugins_.Particles.prototype.acts.Destroy, null, 4642769823445984, !1]
  12652. ],
  12653. [
  12654. [0, null, !1, null, 0x630cfe9020620, [
  12655. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5725862923209495, !1, [
  12656. [11, "ScoreHell"],
  12657. [8, 4],
  12658. [7, [23, "HighScoreHell"]]
  12659. ]]
  12660. ],
  12661. [
  12662. [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 6840443383976438, !1, [
  12663. [1, [2, "HighScoreHell"]],
  12664. [7, [23, "ScoreHell"]]
  12665. ]],
  12666. [57, cr.plugins_.Text.prototype.acts.SetText, null, 6639621487422242, !1, [
  12667. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  12668. [2, "HighScoreHell"]
  12669. ]]]
  12670. ]]
  12671. ]
  12672. ]
  12673. ]
  12674. ],
  12675. [0, null, !1, null, 679799451718477, [
  12676. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5830465292927682, !1, [
  12677. [11, "gameover_hell"],
  12678. [8, 0],
  12679. [7, [0, 1]]
  12680. ]]
  12681. ],
  12682. [
  12683. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0x73c659f521a2d, !1, [
  12684. [5, [0, 8]],
  12685. [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
  12686. [0, 8]
  12687. ]],
  12688. [0, 5]
  12689. ]]
  12690. ]]
  12691. ]
  12692. ],
  12693. [0, null, !1, null, 7426342302629436, [
  12694. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xc10d4deedd110, !1, [
  12695. [4, 19]
  12696. ]],
  12697. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0x4951d3d3484aa, !1, [
  12698. [5, [0, 8]]
  12699. ]]
  12700. ],
  12701. [
  12702. [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xe855b1289f474, !1, [
  12703. [6, "Menu"]
  12704. ]],
  12705. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 5221581668012458, !1, [
  12706. [5, [0, 8]],
  12707. [0, [0, 0]]
  12708. ]],
  12709. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xcf1ffa81902bb, !1, [
  12710. [5, [0, 8]],
  12711. [3, 0]
  12712. ]],
  12713. [-1, cr.system_object.prototype.acts.SetVar, null, 8837537605268049, !1, [
  12714. [11, "playHell"],
  12715. [7, [0, 0]]
  12716. ]],
  12717. [-1, cr.system_object.prototype.acts.SetVar, null, 0xd065ade637207, !1, [
  12718. [11, "gameover_hell"],
  12719. [7, [0, 0]]
  12720. ]],
  12721. [-1, cr.system_object.prototype.acts.SetVar, null, 8956647381998114, !1, [
  12722. [11, "gravityHell"],
  12723. [7, [0, 1]]
  12724. ]],
  12725. [-1, cr.system_object.prototype.acts.SetVar, null, 0x4b925037cfff9, !1, [
  12726. [11, "gravity2Hell"],
  12727. [7, [0, 1]]
  12728. ]],
  12729. [-1, cr.system_object.prototype.acts.SetVar, null, 5322036962388624, !1, [
  12730. [11, "SpeedHell"],
  12731. [7, [0, 200]]
  12732. ]],
  12733. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc33f61c2a07ca, !1, [
  12734. [11, "ScoreHell"],
  12735. [7, [0, 0]]
  12736. ]],
  12737. [-1, cr.system_object.prototype.acts.SetVar, null, 8552013905766892, !1, [
  12738. [11, "gravity3Hell"],
  12739. [7, [0, 1]]
  12740. ]],
  12741. [-1, cr.system_object.prototype.acts.SetVar, null, 0x3aec293f847f1, !1, [
  12742. [11, "gravity4Hell"],
  12743. [7, [0, 1]]
  12744. ]],
  12745. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x3a0a138bea563, !1, [
  12746. [2, ["click1", !1]],
  12747. [3, 0],
  12748. [0, [0, 0]],
  12749. [1, [2, ""]]
  12750. ]]
  12751. ]
  12752. ],
  12753. [0, null, !1, null, 18673227703077, [
  12754. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4712561249736626, !1, [
  12755. [4, 18]
  12756. ]],
  12757. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 9130019110431144, !1, [
  12758. [5, [0, 8]]
  12759. ]]
  12760. ],
  12761. [
  12762. [-1, cr.system_object.prototype.acts.GoToLayout, null, 5255593128229524, !1, [
  12763. [6, "Hell"]
  12764. ]],
  12765. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 309529620636895, !1, [
  12766. [5, [0, 8]],
  12767. [0, [0, 0]]
  12768. ]],
  12769. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xd2dd32bd88b74, !1, [
  12770. [5, [0, 8]],
  12771. [3, 0]
  12772. ]],
  12773. [-1, cr.system_object.prototype.acts.SetVar, null, 9577109230957962, !1, [
  12774. [11, "playHell"],
  12775. [7, [0, 0]]
  12776. ]],
  12777. [-1, cr.system_object.prototype.acts.SetVar, null, 6008793744827708, !1, [
  12778. [11, "gameover_hell"],
  12779. [7, [0, 0]]
  12780. ]],
  12781. [-1, cr.system_object.prototype.acts.SetVar, null, 0xb23ea2b556d7b, !1, [
  12782. [11, "gravityHell"],
  12783. [7, [0, 1]]
  12784. ]],
  12785. [-1, cr.system_object.prototype.acts.SetVar, null, 9927724498141316, !1, [
  12786. [11, "gravity2Hell"],
  12787. [7, [0, 1]]
  12788. ]],
  12789. [-1, cr.system_object.prototype.acts.SetVar, null, 0xb49647fac5a26, !1, [
  12790. [11, "SpeedHell"],
  12791. [7, [0, 200]]
  12792. ]],
  12793. [-1, cr.system_object.prototype.acts.SetVar, null, 6405671479429999, !1, [
  12794. [11, "ScoreHell"],
  12795. [7, [0, 0]]
  12796. ]],
  12797. [-1, cr.system_object.prototype.acts.SetVar, null, 0xd0c3ac8e44724, !1, [
  12798. [11, "gravity3Hell"],
  12799. [7, [0, 1]]
  12800. ]],
  12801. [-1, cr.system_object.prototype.acts.SetVar, null, 0x4f1c06af5cdd0, !1, [
  12802. [11, "gravity4Hell"],
  12803. [7, [0, 1]]
  12804. ]],
  12805. [73, cr.plugins_.Audio.prototype.acts.Play, null, 6189195822342367, !1, [
  12806. [2, ["click1", !1]],
  12807. [3, 0],
  12808. [0, [0, 0]],
  12809. [1, [2, ""]]
  12810. ]]
  12811. ]
  12812. ],
  12813. [0, null, !1, null, 9453216041960614, [
  12814. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4512359609735892, !1, [
  12815. [4, 74]
  12816. ]]
  12817. ],
  12818. [
  12819. [-1, cr.system_object.prototype.acts.SetVar, null, 0xda3b15ce5dca8, !1, [
  12820. [11, "begin"],
  12821. [7, [0, 1]]
  12822. ]],
  12823. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x778ba1973244, !1, [
  12824. [5, [0, 9]],
  12825. [3, 0]
  12826. ]]
  12827. ]
  12828. ],
  12829. [0, null, !1, null, 9362654209296540, [
  12830. [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 8164493035544745, !1, [
  12831. [8, 2],
  12832. [0, [0, 308]]
  12833. ]]
  12834. ],
  12835. [
  12836. [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 0xb850e66ed69aa, !1, [
  12837. [0, [0, 490]]
  12838. ]]
  12839. ]
  12840. ],
  12841. [0, null, !1, null, 0xdee57bb79bade, [
  12842. [48, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 9445772067257832, !1, [
  12843. [8, 2],
  12844. [0, [0, 308]]
  12845. ]]
  12846. ],
  12847. [
  12848. [48, cr.plugins_.Sprite.prototype.acts.SetX, null, 6081515674245238, !1, [
  12849. [0, [0, 490]]
  12850. ]]
  12851. ]
  12852. ],
  12853. [0, null, !1, null, 0xf01937bd5b4bf, [
  12854. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8783840378638202, !1, [
  12855. [4, 75]
  12856. ]],
  12857. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 82539754483416, !1, [
  12858. [5, [0, 8]]
  12859. ]]
  12860. ],
  12861. [
  12862. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0xe5a4b347dbd58, !1, [
  12863. [1, [10, [10, [10, [2, "sharegame"],
  12864. [23, "ScoreHell"]
  12865. ],
  12866. [2, ":"]
  12867. ],
  12868. [19, cr.system_object.prototype.exps.random, [
  12869. [0, 1],
  12870. [0, 10]
  12871. ]]
  12872. ]],
  12873. [1, [2, "NewWindow"]]
  12874. ]]
  12875. ]
  12876. ],
  12877. [0, null, !1, null, 5680920290399461, [
  12878. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x9270514d93e53, !1, [
  12879. [4, 76]
  12880. ]],
  12881. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0xdf4047a8dfb18, !1, [
  12882. [5, [0, 8]]
  12883. ]]
  12884. ],
  12885. [
  12886. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0x6cd8aadce67f8, !1, [
  12887. [1, [10, [10, [2, "moregame"],
  12888. [23, "HighScoreHell"]
  12889. ],
  12890. [2, "%23MakeThemFallHell"]
  12891. ]],
  12892. [1, [2, "NewWindow"]]
  12893. ]]
  12894. ]
  12895. ]
  12896. ]],
  12897. ["InfernoSheet", [
  12898. [1, "HighScoreInferno", 0, 0, !1, !1, 5427305958249449, !1],
  12899. [1, "SpeedInferno", 0, 200, !1, !1, 4923972904439392, !1],
  12900. [1, "playInferno", 0, 0, !1, !1, 6944492838968735, !1],
  12901. [1, "gameover_Inferno", 0, 0, !1, !1, 8804184112140564, !1],
  12902. [1, "ScoreInferno", 0, 0, !1, !1, 7780086796726354, !1],
  12903. [1, "gravityInferno", 0, 1, !1, !1, 7290394008370117, !1],
  12904. [1, "row1Inferno", 0, 0, !1, !1, 434305376478607, !1],
  12905. [1, "gravity3Inferno", 0, 1, !1, !1, 0x4640bf6d06cca, !1],
  12906. [1, "row3Inferno", 0, 0, !1, !1, 9244133280940462, !1],
  12907. [1, "row4Inferno", 0, 0, !1, !1, 7851499609608234, !1],
  12908. [1, "row2Inferno", 0, 0, !1, !1, 4504163606196058, !1],
  12909. [1, "gravity4Inferno", 0, 1, !1, !1, 7669883380839554, !1],
  12910. [1, "gravity5Inferno", 0, 1, !1, !1, 8765740746468771, !1],
  12911. [1, "row5Inferno", 0, 0, !1, !1, 0x90a644c5beb4b, !1],
  12912. [1, "gravity2Inferno", 0, 1, !1, !1, 5340274883463521, !1],
  12913. [0, null, !1, null, 0xd21a4c2ad73ea, [
  12914. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 7366210058875166, !1]
  12915. ],
  12916. [
  12917. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xe4a947ee84853, !1, [
  12918. [0, [0, 180]]
  12919. ]],
  12920. [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x6803bcd008c57, !1, [
  12921. [4, 0],
  12922. [3, 1]
  12923. ]],
  12924. [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 5347855171689379, !1, [
  12925. [4, 8],
  12926. [3, 1]
  12927. ]],
  12928. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xaed3a2c1c505, !1, [
  12929. [0, [0, 180]]
  12930. ]],
  12931. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7626300750645152, !1, [
  12932. [0, [0, 180]]
  12933. ]],
  12934. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x82358b6fb2ad3, !1, [
  12935. [0, [0, 180]]
  12936. ]],
  12937. [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 46697151414898, !1, [
  12938. [0, [0, 180]]
  12939. ]],
  12940. [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xfde18c3207165, !1, [
  12941. [4, 41],
  12942. [3, 1]
  12943. ]],
  12944. [54, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 465659215783545, !1, [
  12945. [4, 48],
  12946. [3, 1]
  12947. ]],
  12948. [62, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x6ec1aeb23e3cd, !1, [
  12949. [4, 61],
  12950. [3, 1]
  12951. ]],
  12952. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 5805518218894838, !1, [
  12953. [0, [0, 270]]
  12954. ]],
  12955. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0x3e7a298c72b1f, !1, [
  12956. [0, [23, "SpeedInferno"]]
  12957. ]],
  12958. [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0xda08851873ecc, !1, [
  12959. [0, [0, 270]]
  12960. ]],
  12961. [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 818228860789696, !1, [
  12962. [0, [23, "SpeedInferno"]]
  12963. ]],
  12964. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 903837226849418, !1, [
  12965. [5, [0, 6]],
  12966. [0, [0, 0]]
  12967. ]],
  12968. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9689903415296520, !1, [
  12969. [5, [0, 6]],
  12970. [3, 0]
  12971. ]],
  12972. [-1, cr.system_object.prototype.acts.SetVar, null, 7995930576266594, !1, [
  12973. [11, "playInferno"],
  12974. [7, [0, 0]]
  12975. ]],
  12976. [-1, cr.system_object.prototype.acts.SetVar, null, 8121524336696859, !1, [
  12977. [11, "gameover_Inferno"],
  12978. [7, [0, 0]]
  12979. ]],
  12980. [-1, cr.system_object.prototype.acts.SetVar, null, 7700259449884242, !1, [
  12981. [11, "gravityInferno"],
  12982. [7, [0, 1]]
  12983. ]],
  12984. [-1, cr.system_object.prototype.acts.SetVar, null, 0xbbbe04f31cdc6, !1, [
  12985. [11, "gravity2Inferno"],
  12986. [7, [0, 1]]
  12987. ]],
  12988. [-1, cr.system_object.prototype.acts.SetVar, null, 4999803614051821, !1, [
  12989. [11, "SpeedInferno"],
  12990. [7, [0, 200]]
  12991. ]],
  12992. [-1, cr.system_object.prototype.acts.SetVar, null, 382291598483799, !1, [
  12993. [11, "ScoreInferno"],
  12994. [7, [0, 0]]
  12995. ]],
  12996. [-1, cr.system_object.prototype.acts.SetVar, null, 8772046843832243, !1, [
  12997. [11, "gravity3Inferno"],
  12998. [7, [0, 1]]
  12999. ]],
  13000. [-1, cr.system_object.prototype.acts.SetVar, null, 0x70b574bfff572, !1, [
  13001. [11, "gravity4Inferno"],
  13002. [7, [0, 1]]
  13003. ]],
  13004. [-1, cr.system_object.prototype.acts.SetVar, null, 0x7ce5b8a13d21a, !1, [
  13005. [11, "gravity5Inferno"],
  13006. [7, [0, 1]]
  13007. ]],
  13008. [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 5375708230565647, !1],
  13009. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 5347015258899974, !1],
  13010. [-1, cr.system_object.prototype.acts.SetVar, null, 8171506635122477, !1, [
  13011. [11, "begin"],
  13012. [7, [0, 0]]
  13013. ]],
  13014. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x97a98e3fa840d, !1, [
  13015. [5, [0, 7]],
  13016. [3, 1]
  13017. ]]
  13018. ],
  13019. [
  13020. [0, null, !1, null, 9108784559063336, [
  13021. [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 0xa8191aba165d1, !1, [
  13022. [1, [2, "HighScoreInferno"]]
  13023. ]]
  13024. ],
  13025. [
  13026. [-1, cr.system_object.prototype.acts.SetVar, null, 9959314045402724, !1, [
  13027. [11, "HighScoreInferno"],
  13028. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  13029. [2, "HighScoreInferno"]
  13030. ]]]
  13031. ]],
  13032. [57, cr.plugins_.Text.prototype.acts.SetText, null, 0x49b8ab782ffca, !1, [
  13033. [7, [23, "HighScoreInferno"]]
  13034. ]]
  13035. ]
  13036. ],
  13037. [0, null, !1, null, 5312418581386761, [
  13038. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 8292902126301972, !1]
  13039. ],
  13040. [
  13041. [-1, cr.system_object.prototype.acts.SetVar, null, 9338946913205232, !1, [
  13042. [11, "HighScoreInferno"],
  13043. [7, [0, 0]]
  13044. ]],
  13045. [57, cr.plugins_.Text.prototype.acts.SetText, null, 4524989490209989, !1, [
  13046. [7, [23, "HighScoreInferno"]]
  13047. ]]
  13048. ]
  13049. ]
  13050. ]
  13051. ],
  13052. [0, null, !1, null, 4882593036582823, [
  13053. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xcc8bf9076e51f, !1, [
  13054. [4, 50]
  13055. ]]
  13056. ],
  13057. [],
  13058. [
  13059. [0, null, !1, null, 8996464631526776, [
  13060. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6294614933207501, !1, [
  13061. [11, "gravityInferno"],
  13062. [8, 0],
  13063. [7, [0, 0]]
  13064. ]]
  13065. ],
  13066. [
  13067. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8134127797557637, !1, [
  13068. [0, [0, 180]]
  13069. ]],
  13070. [-1, cr.system_object.prototype.acts.SetVar, null, 0xf8feb881f8153, !1, [
  13071. [11, "gravityInferno"],
  13072. [7, [0, 1]]
  13073. ]]
  13074. ]
  13075. ],
  13076. [0, null, !1, null, 9250452889424520, [
  13077. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0xc6e23c1b162db, !1]
  13078. ],
  13079. [
  13080. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8600797506998769, !1, [
  13081. [0, [0, 360]]
  13082. ]],
  13083. [-1, cr.system_object.prototype.acts.SetVar, null, 9745920223075912, !1, [
  13084. [11, "gravityInferno"],
  13085. [7, [0, 0]]
  13086. ]]
  13087. ]
  13088. ]
  13089. ]
  13090. ],
  13091. [0, null, !1, null, 0x928c3614434c6, [
  13092. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6285758151508571, !1, [
  13093. [4, 51]
  13094. ]]
  13095. ],
  13096. [],
  13097. [
  13098. [0, null, !1, null, 8454397771367894, [
  13099. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8596060705614931, !1, [
  13100. [11, "gravity2Inferno"],
  13101. [8, 0],
  13102. [7, [0, 0]]
  13103. ]]
  13104. ],
  13105. [
  13106. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8254867236504933, !1, [
  13107. [0, [0, 180]]
  13108. ]],
  13109. [-1, cr.system_object.prototype.acts.SetVar, null, 0xeacf41f137b8, !1, [
  13110. [11, "gravity2Inferno"],
  13111. [7, [0, 1]]
  13112. ]]
  13113. ]
  13114. ],
  13115. [0, null, !1, null, 0xc6e9ac8244f8c, [
  13116. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7223094140894701, !1]
  13117. ],
  13118. [
  13119. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xff540d1b422dd, !1, [
  13120. [0, [0, 360]]
  13121. ]],
  13122. [-1, cr.system_object.prototype.acts.SetVar, null, 4991968824027909, !1, [
  13123. [11, "gravity2Inferno"],
  13124. [7, [0, 0]]
  13125. ]]
  13126. ]
  13127. ]
  13128. ]
  13129. ],
  13130. [0, null, !1, null, 8912786997229079, [
  13131. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5742897302013553, !1, [
  13132. [4, 52]
  13133. ]]
  13134. ],
  13135. [],
  13136. [
  13137. [0, null, !1, null, 4611144412053964, [
  13138. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6210893081316704, !1, [
  13139. [11, "gravity3Inferno"],
  13140. [8, 0],
  13141. [7, [0, 0]]
  13142. ]]
  13143. ],
  13144. [
  13145. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x54e9a9d3c17e3, !1, [
  13146. [0, [0, 180]]
  13147. ]],
  13148. [-1, cr.system_object.prototype.acts.SetVar, null, 4883062748198111, !1, [
  13149. [11, "gravity3Inferno"],
  13150. [7, [0, 1]]
  13151. ]]
  13152. ]
  13153. ],
  13154. [0, null, !1, null, 8904354858901054, [
  13155. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 9534125440671772, !1]
  13156. ],
  13157. [
  13158. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5597147491650741, !1, [
  13159. [0, [0, 360]]
  13160. ]],
  13161. [-1, cr.system_object.prototype.acts.SetVar, null, 538622779151444, !1, [
  13162. [11, "gravity3Inferno"],
  13163. [7, [0, 0]]
  13164. ]]
  13165. ]
  13166. ]
  13167. ]
  13168. ],
  13169. [0, null, !1, null, 6583100441092168, [
  13170. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xaca576fd873c9, !1, [
  13171. [4, 53]
  13172. ]]
  13173. ],
  13174. [],
  13175. [
  13176. [0, null, !1, null, 0x970e78c66a377, [
  13177. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xb15382d6ab3c8, !1, [
  13178. [11, "gravity4Inferno"],
  13179. [8, 0],
  13180. [7, [0, 0]]
  13181. ]]
  13182. ],
  13183. [
  13184. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7889477428752737, !1, [
  13185. [0, [0, 180]]
  13186. ]],
  13187. [-1, cr.system_object.prototype.acts.SetVar, null, 299624160530377, !1, [
  13188. [11, "gravity4Inferno"],
  13189. [7, [0, 1]]
  13190. ]]
  13191. ]
  13192. ],
  13193. [0, null, !1, null, 0xdc1365eac4bd4, [
  13194. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7642097945962612, !1]
  13195. ],
  13196. [
  13197. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x689b16bca5d33, !1, [
  13198. [0, [0, 360]]
  13199. ]],
  13200. [-1, cr.system_object.prototype.acts.SetVar, null, 7706720697248146, !1, [
  13201. [11, "gravity4Inferno"],
  13202. [7, [0, 0]]
  13203. ]]
  13204. ]
  13205. ]
  13206. ]
  13207. ],
  13208. [0, null, !1, null, 9496536555254452, [
  13209. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4946556441692031, !1, [
  13210. [4, 63]
  13211. ]]
  13212. ],
  13213. [],
  13214. [
  13215. [0, null, !1, null, 0x686685bc67d22, [
  13216. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 626033466858388, !1, [
  13217. [11, "gravity5Inferno"],
  13218. [8, 0],
  13219. [7, [0, 0]]
  13220. ]]
  13221. ],
  13222. [
  13223. [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xf2aa3ad565725, !1, [
  13224. [0, [0, 180]]
  13225. ]],
  13226. [-1, cr.system_object.prototype.acts.SetVar, null, 0xeaddad98ffa38, !1, [
  13227. [11, "gravity5Inferno"],
  13228. [7, [0, 1]]
  13229. ]]
  13230. ]
  13231. ],
  13232. [0, null, !1, null, 7717079452150223, [
  13233. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7460873197638608, !1]
  13234. ],
  13235. [
  13236. [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5429142703599778, !1, [
  13237. [0, [0, 360]]
  13238. ]],
  13239. [-1, cr.system_object.prototype.acts.SetVar, null, 850787717979811, !1, [
  13240. [11, "gravity5Inferno"],
  13241. [7, [0, 0]]
  13242. ]]
  13243. ]
  13244. ]
  13245. ]
  13246. ],
  13247. [0, null, !1, null, 9272774304535812, [
  13248. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x741c499977fed, !1, [
  13249. [4, 1]
  13250. ]]
  13251. ],
  13252. [
  13253. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8069280118671104, !1, [
  13254. [3, 0]
  13255. ]]
  13256. ]
  13257. ],
  13258. [0, null, !1, null, 0x7984652aee263, [
  13259. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 879148505850931, !1, [
  13260. [4, 6]
  13261. ]]
  13262. ],
  13263. [
  13264. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x4821a31af446f, !1, [
  13265. [3, 1]
  13266. ]]
  13267. ]
  13268. ],
  13269. [0, null, !1, null, 5484341610722308, [
  13270. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8084182581571936, !1, [
  13271. [4, 1]
  13272. ]]
  13273. ],
  13274. [
  13275. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6539468406326419, !1, [
  13276. [3, 1]
  13277. ]]
  13278. ]
  13279. ],
  13280. [0, null, !1, null, 9777488672897298, [
  13281. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9616654461813536, !1, [
  13282. [4, 40]
  13283. ]]
  13284. ],
  13285. [
  13286. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7299205444194725, !1, [
  13287. [3, 0]
  13288. ]]
  13289. ]
  13290. ],
  13291. [0, null, !1, null, 0x3ddec4f6aef8c, [
  13292. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7496691734142109, !1, [
  13293. [4, 40]
  13294. ]]
  13295. ],
  13296. [
  13297. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x9034cf392757, !1, [
  13298. [3, 1]
  13299. ]]
  13300. ]
  13301. ],
  13302. [0, null, !1, null, 0xdd75079b0390d, [
  13303. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6765578790934803, !1, [
  13304. [4, 11]
  13305. ]]
  13306. ],
  13307. [
  13308. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9448721413584924, !1, [
  13309. [3, 0]
  13310. ]]
  13311. ]
  13312. ],
  13313. [0, null, !1, null, 7212690777928609, [
  13314. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9855061660416436, !1, [
  13315. [4, 60]
  13316. ]]
  13317. ],
  13318. [
  13319. [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9341964562562896, !1, [
  13320. [3, 0]
  13321. ]]
  13322. ]
  13323. ],
  13324. [0, null, !1, null, 7775666003631672, [
  13325. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6348150473472743, !1, [
  13326. [4, 6]
  13327. ]]
  13328. ],
  13329. [
  13330. [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8668150481397153, !1, [
  13331. [3, 1]
  13332. ]]
  13333. ]
  13334. ],
  13335. [0, null, !1, null, 0xd01e02152d061, [
  13336. [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7929266288274391, !1, [
  13337. [4, 60]
  13338. ]]
  13339. ],
  13340. [
  13341. [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9993824452965766, !1, [
  13342. [3, 1]
  13343. ]]
  13344. ]
  13345. ],
  13346. [0, null, !1, null, 5861216079641947, [
  13347. [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xaf844e6834cbf, !1, [
  13348. [4, 11]
  13349. ]]
  13350. ],
  13351. [
  13352. [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 4919626949696486, !1, [
  13353. [3, 0]
  13354. ]]
  13355. ]
  13356. ],
  13357. [0, null, !1, null, 0x3a3b7257da0d8, [
  13358. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 350489085293469, !1, [
  13359. [0, [19, cr.system_object.prototype.exps.random, [
  13360. [0, 2],
  13361. [1, 2.5]
  13362. ]]]
  13363. ]],
  13364. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf17f5b8522f29, !1, [
  13365. [11, "playInferno"],
  13366. [8, 0],
  13367. [7, [0, 0]]
  13368. ]],
  13369. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc601ab00847c7, !1, [
  13370. [11, "begin"],
  13371. [8, 0],
  13372. [7, [0, 1]]
  13373. ]]
  13374. ],
  13375. [
  13376. [-1, cr.system_object.prototype.acts.SetVar, null, 807342960679952, !1, [
  13377. [11, "row1Inferno"],
  13378. [7, [19, cr.system_object.prototype.exps.choose, [
  13379. [0, 1],
  13380. [0, 2]
  13381. ]]]
  13382. ]]
  13383. ],
  13384. [
  13385. [0, null, !1, null, 6132195553715869, [
  13386. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xe6eae8510f816, !1, [
  13387. [11, "row1Inferno"],
  13388. [8, 0],
  13389. [7, [0, 1]]
  13390. ]]
  13391. ],
  13392. [
  13393. [-1, cr.system_object.prototype.acts.CreateObject, null, 6600468424257562, !1, [
  13394. [4, 12],
  13395. [5, [0, 4]],
  13396. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13397. [0, 80]
  13398. ]],
  13399. [0, [0, 460]]
  13400. ]]
  13401. ]
  13402. ],
  13403. [0, null, !1, null, 43185091161684, [
  13404. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 4678754784287868, !1, [
  13405. [11, "row1Inferno"],
  13406. [8, 0],
  13407. [7, [0, 2]]
  13408. ]]
  13409. ],
  13410. [
  13411. [-1, cr.system_object.prototype.acts.CreateObject, null, 338894155257418, !1, [
  13412. [4, 12],
  13413. [5, [0, 4]],
  13414. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13415. [0, 30]
  13416. ]],
  13417. [0, [0, 460]]
  13418. ]],
  13419. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5464812036682771, !1, [
  13420. [3, 0]
  13421. ]]
  13422. ]
  13423. ]
  13424. ]
  13425. ],
  13426. [0, null, !1, null, 9702964587146112, [
  13427. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8089184653393612, !1, [
  13428. [0, [19, cr.system_object.prototype.exps.random, [
  13429. [0, 2],
  13430. [1, 2.5]
  13431. ]]]
  13432. ]],
  13433. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7462772797852375, !1, [
  13434. [11, "playInferno"],
  13435. [8, 0],
  13436. [7, [0, 0]]
  13437. ]],
  13438. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xcfc3ccc3ccd33, !1, [
  13439. [11, "begin"],
  13440. [8, 0],
  13441. [7, [0, 1]]
  13442. ]]
  13443. ],
  13444. [
  13445. [-1, cr.system_object.prototype.acts.SetVar, null, 0xfa1c0865952b7, !1, [
  13446. [11, "row2Inferno"],
  13447. [7, [19, cr.system_object.prototype.exps.choose, [
  13448. [0, 1],
  13449. [0, 2]
  13450. ]]]
  13451. ]]
  13452. ],
  13453. [
  13454. [0, null, !1, null, 5614595879804783, [
  13455. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9399553743804792, !1, [
  13456. [11, "row2Inferno"],
  13457. [8, 0],
  13458. [7, [0, 1]]
  13459. ]]
  13460. ],
  13461. [
  13462. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xdaba459c3b8e9, !1, [
  13463. [4, 12],
  13464. [5, [0, 4]],
  13465. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13466. [0, 60]
  13467. ]],
  13468. [0, [0, 460]]
  13469. ]]
  13470. ]
  13471. ],
  13472. [0, null, !1, null, 9420345846122576, [
  13473. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x655b1d0fe7c98, !1, [
  13474. [11, "row2Inferno"],
  13475. [8, 0],
  13476. [7, [0, 2]]
  13477. ]]
  13478. ],
  13479. [
  13480. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xcb12c91214edb, !1, [
  13481. [4, 12],
  13482. [5, [0, 4]],
  13483. [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13484. [0, 40]
  13485. ]],
  13486. [0, [0, 460]]
  13487. ]],
  13488. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9012047039545086, !1, [
  13489. [3, 0]
  13490. ]]
  13491. ]
  13492. ]
  13493. ]
  13494. ],
  13495. [0, null, !1, null, 7618918929256268, [
  13496. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 7193553013766789, !1, [
  13497. [0, [19, cr.system_object.prototype.exps.random, [
  13498. [0, 2],
  13499. [1, 2.5]
  13500. ]]]
  13501. ]],
  13502. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8574680399617612, !1, [
  13503. [11, "playInferno"],
  13504. [8, 0],
  13505. [7, [0, 0]]
  13506. ]],
  13507. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6115479299509901, !1, [
  13508. [11, "begin"],
  13509. [8, 0],
  13510. [7, [0, 1]]
  13511. ]]
  13512. ],
  13513. [
  13514. [-1, cr.system_object.prototype.acts.SetVar, null, 510637539475, !1, [
  13515. [11, "row3Inferno"],
  13516. [7, [19, cr.system_object.prototype.exps.choose, [
  13517. [0, 1],
  13518. [0, 2]
  13519. ]]]
  13520. ]]
  13521. ],
  13522. [
  13523. [0, null, !1, null, 6977296047121567, [
  13524. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8604734447682628, !1, [
  13525. [11, "row3Inferno"],
  13526. [8, 0],
  13527. [7, [0, 1]]
  13528. ]]
  13529. ],
  13530. [
  13531. [-1, cr.system_object.prototype.acts.CreateObject, null, 9493790402099184, !1, [
  13532. [4, 12],
  13533. [5, [0, 4]],
  13534. [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13535. [0, 60]
  13536. ]],
  13537. [0, [0, 460]]
  13538. ]]
  13539. ]
  13540. ],
  13541. [0, null, !1, null, 0xdf28541fb1b05, [
  13542. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5390523792292486, !1, [
  13543. [11, "row3Inferno"],
  13544. [8, 0],
  13545. [7, [0, 2]]
  13546. ]]
  13547. ],
  13548. [
  13549. [-1, cr.system_object.prototype.acts.CreateObject, null, 0x777e0af167b9d, !1, [
  13550. [4, 12],
  13551. [5, [0, 4]],
  13552. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13553. [0, 40]
  13554. ]],
  13555. [0, [0, 460]]
  13556. ]],
  13557. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xf84a1caab1d19, !1, [
  13558. [3, 0]
  13559. ]]
  13560. ]
  13561. ]
  13562. ]
  13563. ],
  13564. [0, null, !1, null, 7243465845284139, [
  13565. [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 9590055551426188, !1]
  13566. ],
  13567. [
  13568. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x940fcd5923e2, !1, [
  13569. [0, [0, 270]]
  13570. ]],
  13571. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0x41a1a224bf85e, !1, [
  13572. [0, [23, "SpeedInferno"]]
  13573. ]],
  13574. [-1, cr.system_object.prototype.acts.AddVar, null, 534610274322046, !1, [
  13575. [11, "SpeedInferno"],
  13576. [7, [1, .05]]
  13577. ]],
  13578. [13, cr.plugins_.Text.prototype.acts.SetText, null, 8340403033156446, !1, [
  13579. [7, [23, "ScoreInferno"]]
  13580. ]],
  13581. [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 6827921256722737, !1, [
  13582. [0, [0, 270]]
  13583. ]],
  13584. [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 6322480453182522, !1, [
  13585. [0, [23, "SpeedInferno"]]
  13586. ]]
  13587. ]
  13588. ],
  13589. [0, null, !1, null, 8449813243369269, [
  13590. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x5dd15822e402b, !1, [
  13591. [0, [19, cr.system_object.prototype.exps.random, [
  13592. [0, 2],
  13593. [1, 2.5]
  13594. ]]]
  13595. ]],
  13596. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7076443128870045, !1, [
  13597. [11, "playInferno"],
  13598. [8, 0],
  13599. [7, [0, 0]]
  13600. ]],
  13601. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8709607226611714, !1, [
  13602. [11, "begin"],
  13603. [8, 0],
  13604. [7, [0, 1]]
  13605. ]]
  13606. ],
  13607. [
  13608. [-1, cr.system_object.prototype.acts.SetVar, null, 9563970597977912, !1, [
  13609. [11, "row4Inferno"],
  13610. [7, [19, cr.system_object.prototype.exps.choose, [
  13611. [0, 1],
  13612. [0, 2]
  13613. ]]]
  13614. ]]
  13615. ],
  13616. [
  13617. [0, null, !1, null, 5649476884932512, [
  13618. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd3387cbd35e3, !1, [
  13619. [11, "row4Inferno"],
  13620. [8, 0],
  13621. [7, [0, 1]]
  13622. ]]
  13623. ],
  13624. [
  13625. [-1, cr.system_object.prototype.acts.CreateObject, null, 5739306571415684, !1, [
  13626. [4, 55],
  13627. [5, [0, 3]],
  13628. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13629. [0, 80]
  13630. ]],
  13631. [0, [0, 960]]
  13632. ]]
  13633. ]
  13634. ],
  13635. [0, null, !1, null, 0x89fab9bbd3ad1, [
  13636. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc2a130a8d6b1e, !1, [
  13637. [11, "row4Inferno"],
  13638. [8, 0],
  13639. [7, [0, 2]]
  13640. ]]
  13641. ],
  13642. [
  13643. [-1, cr.system_object.prototype.acts.CreateObject, null, 6791043561483827, !1, [
  13644. [4, 55],
  13645. [5, [0, 3]],
  13646. [0, [5, [20, 60, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13647. [0, 30]
  13648. ]],
  13649. [0, [0, 960]]
  13650. ]],
  13651. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 711591480200872, !1, [
  13652. [3, 0]
  13653. ]]
  13654. ]
  13655. ]
  13656. ]
  13657. ],
  13658. [0, null, !1, null, 5820029498458338, [
  13659. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x8cbeba339e626, !1, [
  13660. [0, [19, cr.system_object.prototype.exps.random, [
  13661. [0, 2],
  13662. [1, 2.5]
  13663. ]]]
  13664. ]],
  13665. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x97fcec35a1280, !1, [
  13666. [11, "playInferno"],
  13667. [8, 0],
  13668. [7, [0, 0]]
  13669. ]],
  13670. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc0e5bc39cb616, !1, [
  13671. [11, "begin"],
  13672. [8, 0],
  13673. [7, [0, 1]]
  13674. ]]
  13675. ],
  13676. [
  13677. [-1, cr.system_object.prototype.acts.SetVar, null, 8132678086663985, !1, [
  13678. [11, "row5Inferno"],
  13679. [7, [19, cr.system_object.prototype.exps.choose, [
  13680. [0, 1],
  13681. [0, 2]
  13682. ]]]
  13683. ]]
  13684. ],
  13685. [
  13686. [0, null, !1, null, 0xde34ce53d34ce, [
  13687. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9724270869061140, !1, [
  13688. [11, "row5Inferno"],
  13689. [8, 0],
  13690. [7, [0, 1]]
  13691. ]]
  13692. ],
  13693. [
  13694. [-1, cr.system_object.prototype.acts.CreateObject, null, 9687341993852760, !1, [
  13695. [4, 55],
  13696. [5, [0, 3]],
  13697. [0, [4, [20, 60, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13698. [0, 60]
  13699. ]],
  13700. [0, [0, 960]]
  13701. ]]
  13702. ]
  13703. ],
  13704. [0, null, !1, null, 0xcf897a5d3a193, [
  13705. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9842128518214016, !1, [
  13706. [11, "row5Inferno"],
  13707. [8, 0],
  13708. [7, [0, 2]]
  13709. ]]
  13710. ],
  13711. [
  13712. [-1, cr.system_object.prototype.acts.CreateObject, null, 0x7705fded969a6, !1, [
  13713. [4, 55],
  13714. [5, [0, 3]],
  13715. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  13716. [0, 40]
  13717. ]],
  13718. [0, [0, 960]]
  13719. ]],
  13720. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5229377827280678, !1, [
  13721. [3, 0]
  13722. ]]
  13723. ]
  13724. ]
  13725. ]
  13726. ],
  13727. [0, null, !1, null, 4787500666491806, [
  13728. [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 0x5f9ef182bebfc, !1, [
  13729. [8, 3],
  13730. [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  13731. ]],
  13732. [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 0x77d1a067044ca, !1, [
  13733. [10, 0]
  13734. ]]
  13735. ],
  13736. [
  13737. [-1, cr.system_object.prototype.acts.AddVar, null, 6638341489817053, !1, [
  13738. [11, "ScoreInferno"],
  13739. [7, [0, 1]]
  13740. ]],
  13741. [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6198846684948827, !1, [
  13742. [10, 0],
  13743. [3, 1]
  13744. ]],
  13745. [73, cr.plugins_.Audio.prototype.acts.Play, null, 9654056415183096, !1, [
  13746. [2, ["point", !1]],
  13747. [3, 0],
  13748. [0, [0, -10]],
  13749. [1, [2, ""]]
  13750. ]]
  13751. ]
  13752. ],
  13753. [0, null, !1, null, 9494373008678228, [
  13754. [55, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x56c592feb5337, !1, [
  13755. [4, 59]
  13756. ]]
  13757. ],
  13758. [
  13759. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0x9caa7864bf2f, !1]
  13760. ]
  13761. ],
  13762. [0, null, !1, null, 9986696502089946, [
  13763. [55, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 8809161864242001, !1, [
  13764. [8, 3],
  13765. [0, [20, 48, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  13766. ]],
  13767. [55, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 0xb34bdb0cd1be3, !1, [
  13768. [10, 0]
  13769. ]]
  13770. ],
  13771. [
  13772. [-1, cr.system_object.prototype.acts.AddVar, null, 4647766565110618, !1, [
  13773. [11, "ScoreInferno"],
  13774. [7, [0, 1]]
  13775. ]],
  13776. [55, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6246811799083932, !1, [
  13777. [10, 0],
  13778. [3, 1]
  13779. ]],
  13780. [73, cr.plugins_.Audio.prototype.acts.Play, null, 7834046461334358, !1, [
  13781. [2, ["point", !1]],
  13782. [3, 0],
  13783. [0, [0, -10]],
  13784. [1, [2, ""]]
  13785. ]]
  13786. ]
  13787. ],
  13788. [0, null, !1, null, 9053338163829144, [
  13789. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x9bd3d5bbb0a7b, !1, [
  13790. [4, 12]
  13791. ]]
  13792. ],
  13793. [
  13794. [-1, cr.system_object.prototype.acts.SetVar, null, 8746318384651969, !1, [
  13795. [11, "playInferno"],
  13796. [7, [0, 1]]
  13797. ]]
  13798. ]
  13799. ],
  13800. [0, null, !1, null, 0x522673fd55f49, [
  13801. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x6cde3aa7ed11a, !1, [
  13802. [4, 12]
  13803. ]]
  13804. ],
  13805. [
  13806. [-1, cr.system_object.prototype.acts.SetVar, null, 0xe1d45c492cc77, !1, [
  13807. [11, "playInferno"],
  13808. [7, [0, 1]]
  13809. ]]
  13810. ]
  13811. ],
  13812. [0, null, !1, null, 0x52a28ef6dc876, [
  13813. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8931502994982721, !1, [
  13814. [4, 12]
  13815. ]]
  13816. ],
  13817. [
  13818. [-1, cr.system_object.prototype.acts.SetVar, null, 7638718645253451, !1, [
  13819. [11, "playInferno"],
  13820. [7, [0, 1]]
  13821. ]]
  13822. ]
  13823. ],
  13824. [0, null, !1, null, 9634563093054042, [
  13825. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xf3153daa3d59d, !1, [
  13826. [4, 55]
  13827. ]]
  13828. ],
  13829. [
  13830. [-1, cr.system_object.prototype.acts.SetVar, null, 6435554125040347, !1, [
  13831. [11, "playInferno"],
  13832. [7, [0, 1]]
  13833. ]]
  13834. ]
  13835. ],
  13836. [0, null, !1, null, 8251741735495042, [
  13837. [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xbbe5616201fcf, !1, [
  13838. [4, 55]
  13839. ]]
  13840. ],
  13841. [
  13842. [-1, cr.system_object.prototype.acts.SetVar, null, 0x626a0e128b7dd, !1, [
  13843. [11, "playInferno"],
  13844. [7, [0, 1]]
  13845. ]]
  13846. ]
  13847. ],
  13848. [0, null, !1, null, 6565411383339104, [
  13849. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xb6f39f9688983, !1, [
  13850. [11, "playInferno"],
  13851. [8, 0],
  13852. [7, [0, 1]]
  13853. ]]
  13854. ],
  13855. [
  13856. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7185978850190905, !1, [
  13857. [4, 0],
  13858. [0, [0, 0]]
  13859. ]],
  13860. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5149843733787569, !1, [
  13861. [4, 12],
  13862. [0, [0, 0]]
  13863. ]],
  13864. [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 0xaa648bb76d91, !1],
  13865. [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 6845574511046973, !1],
  13866. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9194210619119080, !1, [
  13867. [4, 8],
  13868. [0, [0, 0]]
  13869. ]],
  13870. [-1, cr.system_object.prototype.acts.SetVar, null, 0x583b20cfa1dd3, !1, [
  13871. [11, "gameover_Inferno"],
  13872. [7, [0, 1]]
  13873. ]],
  13874. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x9c8a852fb39cc, !1, [
  13875. [5, [0, 6]],
  13876. [3, 1]
  13877. ]],
  13878. [56, cr.plugins_.Text.prototype.acts.SetText, null, 6669328124642252, !1, [
  13879. [7, [23, "ScoreInferno"]]
  13880. ]],
  13881. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xa898f5b0e9f76, !1, [
  13882. [4, 55],
  13883. [0, [0, 0]]
  13884. ]],
  13885. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7190395128132829, !1, [
  13886. [4, 41],
  13887. [0, [0, 0]]
  13888. ]],
  13889. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5248244784981169, !1, [
  13890. [4, 48],
  13891. [0, [0, 0]]
  13892. ]],
  13893. [49, cr.plugins_.Particles.prototype.acts.Destroy, null, 5419749242770061, !1],
  13894. [54, cr.plugins_.Particles.prototype.acts.Destroy, null, 6916445986135092, !1],
  13895. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0x51474419557db, !1, [
  13896. [4, 61],
  13897. [0, [0, 0]]
  13898. ]],
  13899. [62, cr.plugins_.Particles.prototype.acts.Destroy, null, 8905001907516277, !1]
  13900. ],
  13901. [
  13902. [0, null, !1, null, 0xeb7af176d8b3c, [
  13903. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5697416605107817, !1, [
  13904. [11, "ScoreInferno"],
  13905. [8, 4],
  13906. [7, [23, "HighScoreInferno"]]
  13907. ]]
  13908. ],
  13909. [
  13910. [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 7987523455711837, !1, [
  13911. [1, [2, "HighScoreInferno"]],
  13912. [7, [23, "ScoreInferno"]]
  13913. ]],
  13914. [57, cr.plugins_.Text.prototype.acts.SetText, null, 0xcc4d45a964f0, !1, [
  13915. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  13916. [2, "HighScoreInferno"]
  13917. ]]]
  13918. ]]
  13919. ]
  13920. ]
  13921. ]
  13922. ],
  13923. [0, null, !1, null, 8596257839681754, [
  13924. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x4ba73dc156f70, !1, [
  13925. [11, "gameover_Inferno"],
  13926. [8, 0],
  13927. [7, [0, 1]]
  13928. ]]
  13929. ],
  13930. [
  13931. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 6617813911023682, !1, [
  13932. [5, [0, 6]],
  13933. [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
  13934. [0, 6]
  13935. ]],
  13936. [0, 5]
  13937. ]]
  13938. ]]
  13939. ]
  13940. ],
  13941. [0, null, !1, null, 7824211357563056, [
  13942. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4613067345833786, !1, [
  13943. [4, 19]
  13944. ]],
  13945. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 5172648370976479, !1, [
  13946. [5, [0, 6]]
  13947. ]]
  13948. ],
  13949. [
  13950. [-1, cr.system_object.prototype.acts.GoToLayout, null, 8544268366965298, !1, [
  13951. [6, "Menu"]
  13952. ]],
  13953. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 4998867769019394, !1, [
  13954. [5, [0, 6]],
  13955. [0, [0, 0]]
  13956. ]],
  13957. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xfc2b5eb3511ad, !1, [
  13958. [5, [0, 6]],
  13959. [3, 0]
  13960. ]],
  13961. [-1, cr.system_object.prototype.acts.SetVar, null, 0xcff31e9c22328, !1, [
  13962. [11, "playInferno"],
  13963. [7, [0, 0]]
  13964. ]],
  13965. [-1, cr.system_object.prototype.acts.SetVar, null, 0xee18c6230cbc5, !1, [
  13966. [11, "gameover_Inferno"],
  13967. [7, [0, 0]]
  13968. ]],
  13969. [-1, cr.system_object.prototype.acts.SetVar, null, 5438652738286576, !1, [
  13970. [11, "gravityInferno"],
  13971. [7, [0, 1]]
  13972. ]],
  13973. [-1, cr.system_object.prototype.acts.SetVar, null, 9620623529916624, !1, [
  13974. [11, "gravity2Inferno"],
  13975. [7, [0, 1]]
  13976. ]],
  13977. [-1, cr.system_object.prototype.acts.SetVar, null, 0x7740fb22b7be1, !1, [
  13978. [11, "SpeedInferno"],
  13979. [7, [0, 300]]
  13980. ]],
  13981. [-1, cr.system_object.prototype.acts.SetVar, null, 0x55c5c9573100e, !1, [
  13982. [11, "ScoreInferno"],
  13983. [7, [0, 0]]
  13984. ]],
  13985. [-1, cr.system_object.prototype.acts.SetVar, null, 5379118109919124, !1, [
  13986. [11, "gravity3Inferno"],
  13987. [7, [0, 1]]
  13988. ]],
  13989. [-1, cr.system_object.prototype.acts.SetVar, null, 4777662028612175, !1, [
  13990. [11, "gravity4Inferno"],
  13991. [7, [0, 1]]
  13992. ]],
  13993. [-1, cr.system_object.prototype.acts.SetVar, null, 7534579503104992, !1, [
  13994. [11, "gravity5Inferno"],
  13995. [7, [0, 1]]
  13996. ]],
  13997. [73, cr.plugins_.Audio.prototype.acts.Play, null, 9178799008349634, !1, [
  13998. [2, ["click1", !1]],
  13999. [3, 0],
  14000. [0, [0, 0]],
  14001. [1, [2, ""]]
  14002. ]]
  14003. ]
  14004. ],
  14005. [0, null, !1, null, 6508774840453701, [
  14006. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8174997102830957, !1, [
  14007. [4, 18]
  14008. ]],
  14009. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 9557582108483096, !1, [
  14010. [5, [0, 6]]
  14011. ]]
  14012. ],
  14013. [
  14014. [-1, cr.system_object.prototype.acts.GoToLayout, null, 9763655999571324, !1, [
  14015. [6, "Inferno"]
  14016. ]],
  14017. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9051245210555536, !1, [
  14018. [5, [0, 6]],
  14019. [0, [0, 0]]
  14020. ]],
  14021. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x4d76c83790d28, !1, [
  14022. [5, [0, 6]],
  14023. [3, 0]
  14024. ]],
  14025. [-1, cr.system_object.prototype.acts.SetVar, null, 7822025253706092, !1, [
  14026. [11, "playInferno"],
  14027. [7, [0, 0]]
  14028. ]],
  14029. [-1, cr.system_object.prototype.acts.SetVar, null, 0x7d779d061b793, !1, [
  14030. [11, "gameover_Inferno"],
  14031. [7, [0, 0]]
  14032. ]],
  14033. [-1, cr.system_object.prototype.acts.SetVar, null, 6618360698063894, !1, [
  14034. [11, "gravityInferno"],
  14035. [7, [0, 1]]
  14036. ]],
  14037. [-1, cr.system_object.prototype.acts.SetVar, null, 4579496432007159, !1, [
  14038. [11, "gravity2Inferno"],
  14039. [7, [0, 1]]
  14040. ]],
  14041. [-1, cr.system_object.prototype.acts.SetVar, null, 9418322170549964, !1, [
  14042. [11, "SpeedInferno"],
  14043. [7, [0, 200]]
  14044. ]],
  14045. [-1, cr.system_object.prototype.acts.SetVar, null, 7651016028740672, !1, [
  14046. [11, "ScoreInferno"],
  14047. [7, [0, 0]]
  14048. ]],
  14049. [-1, cr.system_object.prototype.acts.SetVar, null, 0x6766c04105399, !1, [
  14050. [11, "gravity3Inferno"],
  14051. [7, [0, 1]]
  14052. ]],
  14053. [-1, cr.system_object.prototype.acts.SetVar, null, 8767852330030833, !1, [
  14054. [11, "gravity4Inferno"],
  14055. [7, [0, 1]]
  14056. ]],
  14057. [-1, cr.system_object.prototype.acts.SetVar, null, 9399246878847284, !1, [
  14058. [11, "gravity5Inferno"],
  14059. [7, [0, 1]]
  14060. ]],
  14061. [73, cr.plugins_.Audio.prototype.acts.Play, null, 5540529755927206, !1, [
  14062. [2, ["click1", !1]],
  14063. [3, 0],
  14064. [0, [0, 0]],
  14065. [1, [2, ""]]
  14066. ]]
  14067. ]
  14068. ],
  14069. [0, null, !1, null, 8164221020062774, [
  14070. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9241912056767152, !1, [
  14071. [4, 74]
  14072. ]]
  14073. ],
  14074. [
  14075. [-1, cr.system_object.prototype.acts.SetVar, null, 0x6bce37d183e20, !1, [
  14076. [11, "begin"],
  14077. [7, [0, 1]]
  14078. ]],
  14079. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x606fe5401c74b, !1, [
  14080. [5, [0, 7]],
  14081. [3, 0]
  14082. ]]
  14083. ]
  14084. ],
  14085. [0, null, !1, null, 0xa6da08bd0ecb7, [
  14086. [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 0x9b027cf46e577, !1, [
  14087. [8, 2],
  14088. [0, [0, 215]]
  14089. ]]
  14090. ],
  14091. [
  14092. [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 5265465762367766, !1, [
  14093. [0, [0, 312]]
  14094. ]]
  14095. ]
  14096. ],
  14097. [0, null, !1, null, 0xbe803c7957b75, [
  14098. [41, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 6644866110161652, !1, [
  14099. [8, 2],
  14100. [0, [0, 400]]
  14101. ]]
  14102. ],
  14103. [
  14104. [41, cr.plugins_.Sprite.prototype.acts.SetX, null, 0xbd49ffe1b0b09, !1, [
  14105. [0, [0, 526]]
  14106. ]]
  14107. ]
  14108. ],
  14109. [0, null, !1, null, 0x64ba55ca599a, [
  14110. [61, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 9899521610284982, !1, [
  14111. [8, 2],
  14112. [0, [0, 306]]
  14113. ]]
  14114. ],
  14115. [
  14116. [61, cr.plugins_.Sprite.prototype.acts.SetX, null, 0xec5bb010e0ba2, !1, [
  14117. [0, [0, 414]]
  14118. ]]
  14119. ]
  14120. ],
  14121. [0, null, !1, null, 9458437513984536, [
  14122. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9748128685490146, !1, [
  14123. [4, 75]
  14124. ]],
  14125. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0x80980c56df0d1, !1, [
  14126. [5, [0, 6]]
  14127. ]]
  14128. ],
  14129. [
  14130. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0xd20b904e140b9, !1, [
  14131. [1, [10, [10, [10, [2, "sharegame"],
  14132. [23, "ScoreInferno"]
  14133. ],
  14134. [2, ":"]
  14135. ],
  14136. [19, cr.system_object.prototype.exps.random, [
  14137. [0, 1],
  14138. [0, 10]
  14139. ]]
  14140. ]],
  14141. [1, [2, "NewWindow"]]
  14142. ]]
  14143. ]
  14144. ],
  14145. [0, null, !1, null, 0x7bd4e385e6cf3, [
  14146. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xfe1d0dbfb0900, !1, [
  14147. [4, 76]
  14148. ]],
  14149. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 348722861818509, !1, [
  14150. [5, [0, 6]]
  14151. ]]
  14152. ],
  14153. [
  14154. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 5968053375885204, !1, [
  14155. [1, [10, [10, [2, "moregame"],
  14156. [23, "HighScoreInferno"]
  14157. ],
  14158. [2, "%23MakeThemFallInferno"]
  14159. ]],
  14160. [1, [2, "NewWindow"]]
  14161. ]]
  14162. ]
  14163. ]
  14164. ]],
  14165. ["ImpossibleSheet", [
  14166. [1, "HighScoreImpossible", 0, 0, !1, !1, 7402398858658622, !1],
  14167. [1, "SpeedImpossible", 0, 200, !1, !1, 5127090258814243, !1],
  14168. [1, "playImpossible", 0, 0, !1, !1, 5699370232092319, !1],
  14169. [1, "gameover_Impossible", 0, 0, !1, !1, 7348860416612071, !1],
  14170. [1, "ScoreImpossible", 0, 0, !1, !1, 7740996902252632, !1],
  14171. [1, "gravityImpossible", 0, 1, !1, !1, 724452625577785, !1],
  14172. [1, "row1Impossible", 0, 0, !1, !1, 0xe43a2367fd1f9, !1],
  14173. [1, "gravity3Impossible", 0, 1, !1, !1, 6741110773765168, !1],
  14174. [1, "row3Impossible", 0, 0, !1, !1, 6211646514117541, !1],
  14175. [1, "row4Impossible", 0, 0, !1, !1, 5317571230935821, !1],
  14176. [1, "row2Impossible", 0, 0, !1, !1, 0x3ca9ecb407725, !1],
  14177. [1, "gravity4Impossible", 0, 1, !1, !1, 0x9382712ba676f, !1],
  14178. [1, "gravity5Impossible", 0, 1, !1, !1, 861973730259724, !1],
  14179. [1, "row5Impossible", 0, 0, !1, !1, 9278009837607672, !1],
  14180. [1, "row6Impossible", 0, 0, !1, !1, 0x6d0777670073d, !1],
  14181. [1, "gravity2Impossible", 0, 1, !1, !1, 5469800299229031, !1],
  14182. [1, "gravity6Impossible", 0, 1, !1, !1, 0xcb1919c7d2d65, !1],
  14183. [0, null, !1, null, 6418704810887246, [
  14184. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0xef07fa387e481, !1]
  14185. ],
  14186. [
  14187. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x52df38ec1361a, !1, [
  14188. [0, [0, 180]]
  14189. ]],
  14190. [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xceabacc009f1d, !1, [
  14191. [4, 0],
  14192. [3, 1]
  14193. ]],
  14194. [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 5290863605321413, !1, [
  14195. [4, 8],
  14196. [3, 1]
  14197. ]],
  14198. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xcaa60181ce9a7, !1, [
  14199. [0, [0, 180]]
  14200. ]],
  14201. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x7ffad08bc54cb, !1, [
  14202. [0, [0, 180]]
  14203. ]],
  14204. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5104969159299949, !1, [
  14205. [0, [0, 180]]
  14206. ]],
  14207. [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5630839414353163, !1, [
  14208. [0, [0, 180]]
  14209. ]],
  14210. [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xf32def1f1d95d, !1, [
  14211. [4, 41],
  14212. [3, 1]
  14213. ]],
  14214. [54, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x8bea26123908f, !1, [
  14215. [4, 48],
  14216. [3, 1]
  14217. ]],
  14218. [62, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 7124702780667244, !1, [
  14219. [4, 61],
  14220. [3, 1]
  14221. ]],
  14222. [66, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x8d98b359c7c9, !1, [
  14223. [4, 65],
  14224. [3, 1]
  14225. ]],
  14226. [65, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5509052326639566, !1, [
  14227. [0, [0, 180]]
  14228. ]],
  14229. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x7fd1a4446ab34, !1, [
  14230. [0, [0, 270]]
  14231. ]],
  14232. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0xd0e26fba81c, !1, [
  14233. [0, [23, "SpeedImpossible"]]
  14234. ]],
  14235. [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x87a8d49d808ed, !1, [
  14236. [0, [0, 270]]
  14237. ]],
  14238. [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0xbb6580bb3cbd6, !1, [
  14239. [0, [23, "SpeedImpossible"]]
  14240. ]],
  14241. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xeec25b023987c, !1, [
  14242. [5, [0, 5]],
  14243. [0, [0, 0]]
  14244. ]],
  14245. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 8631087035131411, !1, [
  14246. [5, [0, 5]],
  14247. [3, 0]
  14248. ]],
  14249. [-1, cr.system_object.prototype.acts.SetVar, null, 8332999700372955, !1, [
  14250. [11, "playImpossible"],
  14251. [7, [0, 0]]
  14252. ]],
  14253. [-1, cr.system_object.prototype.acts.SetVar, null, 6009896093551915, !1, [
  14254. [11, "gameover_Impossible"],
  14255. [7, [0, 0]]
  14256. ]],
  14257. [-1, cr.system_object.prototype.acts.SetVar, null, 0xea8d76343efe6, !1, [
  14258. [11, "gravityImpossible"],
  14259. [7, [0, 1]]
  14260. ]],
  14261. [-1, cr.system_object.prototype.acts.SetVar, null, 0xea75466ce7a2e, !1, [
  14262. [11, "gravity2Impossible"],
  14263. [7, [0, 1]]
  14264. ]],
  14265. [-1, cr.system_object.prototype.acts.SetVar, null, 6283589613693221, !1, [
  14266. [11, "SpeedImpossible"],
  14267. [7, [0, 200]]
  14268. ]],
  14269. [-1, cr.system_object.prototype.acts.SetVar, null, 4619358751416698, !1, [
  14270. [11, "ScoreImpossible"],
  14271. [7, [0, 0]]
  14272. ]],
  14273. [-1, cr.system_object.prototype.acts.SetVar, null, 7104341388778886, !1, [
  14274. [11, "gravity3Impossible"],
  14275. [7, [0, 1]]
  14276. ]],
  14277. [-1, cr.system_object.prototype.acts.SetVar, null, 0xe98d562aab172, !1, [
  14278. [11, "gravity4Impossible"],
  14279. [7, [0, 1]]
  14280. ]],
  14281. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc6fddcd889dca, !1, [
  14282. [11, "gravity5Impossible"],
  14283. [7, [0, 1]]
  14284. ]],
  14285. [-1, cr.system_object.prototype.acts.SetVar, null, 5421502645440677, !1, [
  14286. [11, "gravity6Impossible"],
  14287. [7, [0, 1]]
  14288. ]],
  14289. [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 6662626866595487, !1],
  14290. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 5126923107447298, !1],
  14291. [-1, cr.system_object.prototype.acts.SetVar, null, 0xf90d3d31f5f07, !1, [
  14292. [11, "begin"],
  14293. [7, [0, 0]]
  14294. ]],
  14295. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 5688078410076598, !1, [
  14296. [5, [0, 6]],
  14297. [3, 1]
  14298. ]]
  14299. ],
  14300. [
  14301. [0, null, !1, null, 0xa1d565d6f03b, [
  14302. [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 0xd6190d5100571, !1, [
  14303. [1, [2, "HighScoreImpossible"]]
  14304. ]]
  14305. ],
  14306. [
  14307. [-1, cr.system_object.prototype.acts.SetVar, null, 8036042414165201, !1, [
  14308. [11, "HighScoreInferno"],
  14309. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  14310. [2, "HighScoreImpossible"]
  14311. ]]]
  14312. ]],
  14313. [22, cr.plugins_.Text.prototype.acts.SetText, null, 0x4e7184e2912f9, !1, [
  14314. [7, [23, "HighScoreImpossible"]]
  14315. ]]
  14316. ]
  14317. ],
  14318. [0, null, !1, null, 8731338085374912, [
  14319. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 4698002096852956, !1]
  14320. ],
  14321. [
  14322. [-1, cr.system_object.prototype.acts.SetVar, null, 0xfd9fd1e69e799, !1, [
  14323. [11, "HighScoreImpossible"],
  14324. [7, [0, 0]]
  14325. ]],
  14326. [22, cr.plugins_.Text.prototype.acts.SetText, null, 0xe4a613d4698c2, !1, [
  14327. [7, [23, "HighScoreImpossible"]]
  14328. ]]
  14329. ]
  14330. ]
  14331. ]
  14332. ],
  14333. [0, null, !1, null, 0x6c151b4a6d627, [
  14334. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 306348601506138, !1, [
  14335. [4, 50]
  14336. ]]
  14337. ],
  14338. [],
  14339. [
  14340. [0, null, !1, null, 9880047478715416, [
  14341. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd40b00f69d7cb, !1, [
  14342. [11, "gravityInferno"],
  14343. [8, 0],
  14344. [7, [0, 0]]
  14345. ]]
  14346. ],
  14347. [
  14348. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7860003791279539, !1, [
  14349. [0, [0, 180]]
  14350. ]],
  14351. [-1, cr.system_object.prototype.acts.SetVar, null, 6743249970636201, !1, [
  14352. [11, "gravityInferno"],
  14353. [7, [0, 1]]
  14354. ]]
  14355. ]
  14356. ],
  14357. [0, null, !1, null, 465039095576912, [
  14358. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7712815601141488, !1]
  14359. ],
  14360. [
  14361. [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x8439cf01c8a1a, !1, [
  14362. [0, [0, 360]]
  14363. ]],
  14364. [-1, cr.system_object.prototype.acts.SetVar, null, 6225209034119307, !1, [
  14365. [11, "gravityInferno"],
  14366. [7, [0, 0]]
  14367. ]]
  14368. ]
  14369. ]
  14370. ]
  14371. ],
  14372. [0, null, !1, null, 8580439934331843, [
  14373. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xd9a3fd25c0d8f, !1, [
  14374. [4, 51]
  14375. ]]
  14376. ],
  14377. [],
  14378. [
  14379. [0, null, !1, null, 5361161399061406, [
  14380. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6886626006674074, !1, [
  14381. [11, "gravity2Inferno"],
  14382. [8, 0],
  14383. [7, [0, 0]]
  14384. ]]
  14385. ],
  14386. [
  14387. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xe1a0456007068, !1, [
  14388. [0, [0, 180]]
  14389. ]],
  14390. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc3e69d2cd08a7, !1, [
  14391. [11, "gravity2Inferno"],
  14392. [7, [0, 1]]
  14393. ]]
  14394. ]
  14395. ],
  14396. [0, null, !1, null, 8156967976133167, [
  14397. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0xb622fabc4ab2c, !1]
  14398. ],
  14399. [
  14400. [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x48f5b72956e55, !1, [
  14401. [0, [0, 360]]
  14402. ]],
  14403. [-1, cr.system_object.prototype.acts.SetVar, null, 572248730583336, !1, [
  14404. [11, "gravity2Inferno"],
  14405. [7, [0, 0]]
  14406. ]]
  14407. ]
  14408. ]
  14409. ]
  14410. ],
  14411. [0, null, !1, null, 0x9598557a5882a, [
  14412. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4686454823610715, !1, [
  14413. [4, 52]
  14414. ]]
  14415. ],
  14416. [],
  14417. [
  14418. [0, null, !1, null, 5793946394007177, [
  14419. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8489399614441546, !1, [
  14420. [11, "gravity3Inferno"],
  14421. [8, 0],
  14422. [7, [0, 0]]
  14423. ]]
  14424. ],
  14425. [
  14426. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7666821577336725, !1, [
  14427. [0, [0, 180]]
  14428. ]],
  14429. [-1, cr.system_object.prototype.acts.SetVar, null, 0xa9f8614a6d5c1, !1, [
  14430. [11, "gravity3Inferno"],
  14431. [7, [0, 1]]
  14432. ]]
  14433. ]
  14434. ],
  14435. [0, null, !1, null, 0xfc5b7e1bd1670, [
  14436. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 516666422694402, !1]
  14437. ],
  14438. [
  14439. [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8212524302638081, !1, [
  14440. [0, [0, 360]]
  14441. ]],
  14442. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc1269c68162bc, !1, [
  14443. [11, "gravity3Inferno"],
  14444. [7, [0, 0]]
  14445. ]]
  14446. ]
  14447. ]
  14448. ]
  14449. ],
  14450. [0, null, !1, null, 572986022545054, [
  14451. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8657807079833968, !1, [
  14452. [4, 53]
  14453. ]]
  14454. ],
  14455. [],
  14456. [
  14457. [0, null, !1, null, 8338758881075035, [
  14458. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xfd251e25911b1, !1, [
  14459. [11, "gravity4Inferno"],
  14460. [8, 0],
  14461. [7, [0, 0]]
  14462. ]]
  14463. ],
  14464. [
  14465. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4880263741601245, !1, [
  14466. [0, [0, 180]]
  14467. ]],
  14468. [-1, cr.system_object.prototype.acts.SetVar, null, 9728445420588914, !1, [
  14469. [11, "gravity4Inferno"],
  14470. [7, [0, 1]]
  14471. ]]
  14472. ]
  14473. ],
  14474. [0, null, !1, null, 0x49ff79d54c708, [
  14475. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 5973387507165903, !1]
  14476. ],
  14477. [
  14478. [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 290113288632646, !1, [
  14479. [0, [0, 360]]
  14480. ]],
  14481. [-1, cr.system_object.prototype.acts.SetVar, null, 0x8f4e83a117cfb, !1, [
  14482. [11, "gravity4Inferno"],
  14483. [7, [0, 0]]
  14484. ]]
  14485. ]
  14486. ]
  14487. ]
  14488. ],
  14489. [0, null, !1, null, 4910592440788638, [
  14490. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xb8f5db89da217, !1, [
  14491. [4, 63]
  14492. ]]
  14493. ],
  14494. [],
  14495. [
  14496. [0, null, !1, null, 7852051715109525, [
  14497. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8605386739392094, !1, [
  14498. [11, "gravity5Inferno"],
  14499. [8, 0],
  14500. [7, [0, 0]]
  14501. ]]
  14502. ],
  14503. [
  14504. [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4936644800116074, !1, [
  14505. [0, [0, 180]]
  14506. ]],
  14507. [-1, cr.system_object.prototype.acts.SetVar, null, 5992576296177226, !1, [
  14508. [11, "gravity5Inferno"],
  14509. [7, [0, 1]]
  14510. ]]
  14511. ]
  14512. ],
  14513. [0, null, !1, null, 5800558420878574, [
  14514. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7210313837653653, !1]
  14515. ],
  14516. [
  14517. [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x4aea777aa6b26, !1, [
  14518. [0, [0, 360]]
  14519. ]],
  14520. [-1, cr.system_object.prototype.acts.SetVar, null, 0x80f8147e190c7, !1, [
  14521. [11, "gravity5Inferno"],
  14522. [7, [0, 0]]
  14523. ]]
  14524. ]
  14525. ]
  14526. ]
  14527. ],
  14528. [0, null, !1, null, 4976241847827036, [
  14529. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8409617145300181, !1, [
  14530. [4, 67]
  14531. ]]
  14532. ],
  14533. [],
  14534. [
  14535. [0, null, !1, null, 8082063475514109, [
  14536. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 4647102767481759, !1, [
  14537. [11, "gravity6Impossible"],
  14538. [8, 0],
  14539. [7, [0, 0]]
  14540. ]]
  14541. ],
  14542. [
  14543. [65, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4694599159076202, !1, [
  14544. [0, [0, 180]]
  14545. ]],
  14546. [-1, cr.system_object.prototype.acts.SetVar, null, 0x95b40e9596720, !1, [
  14547. [11, "gravity6Impossible"],
  14548. [7, [0, 1]]
  14549. ]]
  14550. ]
  14551. ],
  14552. [0, null, !1, null, 8408804780172576, [
  14553. [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 521505180900857, !1]
  14554. ],
  14555. [
  14556. [65, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 935338192008743, !1, [
  14557. [0, [0, 360]]
  14558. ]],
  14559. [-1, cr.system_object.prototype.acts.SetVar, null, 0x4fc30c996e514, !1, [
  14560. [11, "gravity6Impossible"],
  14561. [7, [0, 0]]
  14562. ]]
  14563. ]
  14564. ]
  14565. ]
  14566. ],
  14567. [0, null, !1, null, 6565359493038453, [
  14568. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 562335762805476, !1, [
  14569. [4, 1]
  14570. ]]
  14571. ],
  14572. [
  14573. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x923ad234ea927, !1, [
  14574. [3, 0]
  14575. ]]
  14576. ]
  14577. ],
  14578. [0, null, !1, null, 0x6b76d1a6b5799, [
  14579. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9347916671078286, !1, [
  14580. [4, 6]
  14581. ]]
  14582. ],
  14583. [
  14584. [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8212740881647777, !1, [
  14585. [3, 1]
  14586. ]]
  14587. ]
  14588. ],
  14589. [0, null, !1, null, 0xc3bb526613007, [
  14590. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xa662d8962df6b, !1, [
  14591. [4, 1]
  14592. ]]
  14593. ],
  14594. [
  14595. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5810865263927311, !1, [
  14596. [3, 1]
  14597. ]]
  14598. ]
  14599. ],
  14600. [0, null, !1, null, 7969667994169023, [
  14601. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xfe96494fe429c, !1, [
  14602. [4, 40]
  14603. ]]
  14604. ],
  14605. [
  14606. [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8859640135457257, !1, [
  14607. [3, 0]
  14608. ]]
  14609. ]
  14610. ],
  14611. [0, null, !1, null, 7134051327035208, [
  14612. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5759891839810282, !1, [
  14613. [4, 40]
  14614. ]]
  14615. ],
  14616. [
  14617. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7404755711066279, !1, [
  14618. [3, 1]
  14619. ]]
  14620. ]
  14621. ],
  14622. [0, null, !1, null, 7859640273972368, [
  14623. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8928894111832834, !1, [
  14624. [4, 11]
  14625. ]]
  14626. ],
  14627. [
  14628. [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9358386974996120, !1, [
  14629. [3, 0]
  14630. ]]
  14631. ]
  14632. ],
  14633. [0, null, !1, null, 475776459480419, [
  14634. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6105235911802122, !1, [
  14635. [4, 1]
  14636. ]]
  14637. ],
  14638. [
  14639. [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9237288209483072, !1, [
  14640. [3, 0]
  14641. ]]
  14642. ]
  14643. ],
  14644. [0, null, !1, null, 9060782899358532, [
  14645. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8741339529867716, !1, [
  14646. [4, 6]
  14647. ]]
  14648. ],
  14649. [
  14650. [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x75664a01f92fc, !1, [
  14651. [3, 1]
  14652. ]]
  14653. ]
  14654. ],
  14655. [0, null, !1, null, 5943106919968472, [
  14656. [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xc6fe192dfa7b, !1, [
  14657. [4, 1]
  14658. ]]
  14659. ],
  14660. [
  14661. [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9042003485523406, !1, [
  14662. [3, 1]
  14663. ]]
  14664. ]
  14665. ],
  14666. [0, null, !1, null, 4897360697980354, [
  14667. [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9835123000173060, !1, [
  14668. [4, 40]
  14669. ]]
  14670. ],
  14671. [
  14672. [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6930849541391029, !1, [
  14673. [3, 0]
  14674. ]]
  14675. ]
  14676. ],
  14677. [0, null, !1, null, 9283722099934906, [
  14678. [65, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x9c53c5e34c49c, !1, [
  14679. [4, 40]
  14680. ]]
  14681. ],
  14682. [
  14683. [65, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 2359547720634, !1, [
  14684. [3, 1]
  14685. ]]
  14686. ]
  14687. ],
  14688. [0, null, !1, null, 0xffde634b7236, [
  14689. [65, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6519035359363083, !1, [
  14690. [4, 11]
  14691. ]]
  14692. ],
  14693. [
  14694. [65, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xb47eb81440f0f, !1, [
  14695. [3, 0]
  14696. ]]
  14697. ]
  14698. ],
  14699. [0, null, !1, null, 484919667324593, [
  14700. [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 8101218338925943, !1]
  14701. ],
  14702. [
  14703. [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0xc7f2fe81f25f3, !1, [
  14704. [0, [0, 270]]
  14705. ]],
  14706. [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0x859975bede43f, !1, [
  14707. [0, [23, "SpeedImpossible"]]
  14708. ]],
  14709. [-1, cr.system_object.prototype.acts.AddVar, null, 8413390005237065, !1, [
  14710. [11, "SpeedImpossible"],
  14711. [7, [1, .05]]
  14712. ]],
  14713. [13, cr.plugins_.Text.prototype.acts.SetText, null, 5040751281928451, !1, [
  14714. [7, [23, "ScoreImpossible"]]
  14715. ]],
  14716. [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 7394560770137496, !1, [
  14717. [0, [0, 270]]
  14718. ]],
  14719. [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 9934036195889692, !1, [
  14720. [0, [23, "SpeedImpossible"]]
  14721. ]]
  14722. ]
  14723. ],
  14724. [0, null, !1, null, 0x9bdc08846b340, [
  14725. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0xc82faec8acfe, !1, [
  14726. [0, [19, cr.system_object.prototype.exps.random, [
  14727. [0, 2],
  14728. [1, 2.5]
  14729. ]]]
  14730. ]],
  14731. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5202169911932624, !1, [
  14732. [11, "playImpossible"],
  14733. [8, 0],
  14734. [7, [0, 0]]
  14735. ]],
  14736. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 286077518744557, !1, [
  14737. [11, "begin"],
  14738. [8, 0],
  14739. [7, [0, 1]]
  14740. ]]
  14741. ],
  14742. [
  14743. [-1, cr.system_object.prototype.acts.SetVar, null, 0x71c1f47298200, !1, [
  14744. [11, "row1Impossible"],
  14745. [7, [19, cr.system_object.prototype.exps.choose, [
  14746. [0, 1],
  14747. [0, 2]
  14748. ]]]
  14749. ]]
  14750. ],
  14751. [
  14752. [0, null, !1, null, 0x4606b413421aa, [
  14753. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xa904db73c1655, !1, [
  14754. [11, "row1Impossible"],
  14755. [8, 0],
  14756. [7, [0, 1]]
  14757. ]]
  14758. ],
  14759. [
  14760. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xda6ec1c90c4fe, !1, [
  14761. [4, 12],
  14762. [5, [0, 4]],
  14763. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14764. [0, 80]
  14765. ]],
  14766. [0, [0, 460]]
  14767. ]]
  14768. ]
  14769. ],
  14770. [0, null, !1, null, 9124955256431192, [
  14771. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xbc2789f1a1e38, !1, [
  14772. [11, "row1Impossible"],
  14773. [8, 0],
  14774. [7, [0, 2]]
  14775. ]]
  14776. ],
  14777. [
  14778. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xd3355ee13b9aa, !1, [
  14779. [4, 12],
  14780. [5, [0, 4]],
  14781. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14782. [0, 30]
  14783. ]],
  14784. [0, [0, 460]]
  14785. ]],
  14786. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8633018124602081, !1, [
  14787. [3, 0]
  14788. ]]
  14789. ]
  14790. ]
  14791. ]
  14792. ],
  14793. [0, null, !1, null, 5560335408984775, [
  14794. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 9080922458699106, !1, [
  14795. [0, [19, cr.system_object.prototype.exps.random, [
  14796. [0, 2],
  14797. [1, 2.5]
  14798. ]]]
  14799. ]],
  14800. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7283557268753761, !1, [
  14801. [11, "playImpossible"],
  14802. [8, 0],
  14803. [7, [0, 0]]
  14804. ]],
  14805. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xcfdf93ef89657, !1, [
  14806. [11, "begin"],
  14807. [8, 0],
  14808. [7, [0, 1]]
  14809. ]]
  14810. ],
  14811. [
  14812. [-1, cr.system_object.prototype.acts.SetVar, null, 0xecad4a31cd3f, !1, [
  14813. [11, "row2Impossible"],
  14814. [7, [19, cr.system_object.prototype.exps.choose, [
  14815. [0, 1],
  14816. [0, 2]
  14817. ]]]
  14818. ]]
  14819. ],
  14820. [
  14821. [0, null, !1, null, 0xe2af50e5c02cf, [
  14822. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9655085398645628, !1, [
  14823. [11, "row2Impossible"],
  14824. [8, 0],
  14825. [7, [0, 1]]
  14826. ]]
  14827. ],
  14828. [
  14829. [-1, cr.system_object.prototype.acts.CreateObject, null, 6678672033942741, !1, [
  14830. [4, 12],
  14831. [5, [0, 4]],
  14832. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14833. [0, 60]
  14834. ]],
  14835. [0, [0, 460]]
  14836. ]]
  14837. ]
  14838. ],
  14839. [0, null, !1, null, 0xa58fa2d598a44, [
  14840. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5861471969901065, !1, [
  14841. [11, "row2Impossible"],
  14842. [8, 0],
  14843. [7, [0, 2]]
  14844. ]]
  14845. ],
  14846. [
  14847. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xb3dd0ede8caa1, !1, [
  14848. [4, 12],
  14849. [5, [0, 4]],
  14850. [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14851. [0, 40]
  14852. ]],
  14853. [0, [0, 460]]
  14854. ]],
  14855. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7107644668824321, !1, [
  14856. [3, 0]
  14857. ]]
  14858. ]
  14859. ]
  14860. ]
  14861. ],
  14862. [0, null, !1, null, 9474932240165148, [
  14863. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 4777092282614782, !1, [
  14864. [0, [19, cr.system_object.prototype.exps.random, [
  14865. [0, 2],
  14866. [1, 2.5]
  14867. ]]]
  14868. ]],
  14869. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xbb82b252a2821, !1, [
  14870. [11, "playImpossible"],
  14871. [8, 0],
  14872. [7, [0, 0]]
  14873. ]],
  14874. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7342523836860821, !1, [
  14875. [11, "begin"],
  14876. [8, 0],
  14877. [7, [0, 1]]
  14878. ]]
  14879. ],
  14880. [
  14881. [-1, cr.system_object.prototype.acts.SetVar, null, 0xc961dd8abe815, !1, [
  14882. [11, "row3Impossible"],
  14883. [7, [19, cr.system_object.prototype.exps.choose, [
  14884. [0, 1],
  14885. [0, 2]
  14886. ]]]
  14887. ]]
  14888. ],
  14889. [
  14890. [0, null, !1, null, 7187906715314596, [
  14891. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x770c08267f363, !1, [
  14892. [11, "row3Impossible"],
  14893. [8, 0],
  14894. [7, [0, 1]]
  14895. ]]
  14896. ],
  14897. [
  14898. [-1, cr.system_object.prototype.acts.CreateObject, null, 0x503cef3149244, !1, [
  14899. [4, 12],
  14900. [5, [0, 4]],
  14901. [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14902. [0, 60]
  14903. ]],
  14904. [0, [0, 460]]
  14905. ]]
  14906. ]
  14907. ],
  14908. [0, null, !1, null, 6047160386074863, [
  14909. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9935291203905462, !1, [
  14910. [11, "row3Impossible"],
  14911. [8, 0],
  14912. [7, [0, 2]]
  14913. ]]
  14914. ],
  14915. [
  14916. [-1, cr.system_object.prototype.acts.CreateObject, null, 0x547df5a3d682d, !1, [
  14917. [4, 12],
  14918. [5, [0, 4]],
  14919. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14920. [0, 40]
  14921. ]],
  14922. [0, [0, 460]]
  14923. ]],
  14924. [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7386170151414615, !1, [
  14925. [3, 0]
  14926. ]]
  14927. ]
  14928. ]
  14929. ]
  14930. ],
  14931. [0, null, !1, null, 0x4c2b61a8de37f, [
  14932. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 967440949305739, !1, [
  14933. [0, [19, cr.system_object.prototype.exps.random, [
  14934. [0, 2],
  14935. [1, 2.5]
  14936. ]]]
  14937. ]],
  14938. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x711c7d6d1d85b, !1, [
  14939. [11, "playImpossible"],
  14940. [8, 0],
  14941. [7, [0, 0]]
  14942. ]],
  14943. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6124920354759082, !1, [
  14944. [11, "begin"],
  14945. [8, 0],
  14946. [7, [0, 1]]
  14947. ]]
  14948. ],
  14949. [
  14950. [-1, cr.system_object.prototype.acts.SetVar, null, 0xf4ef3869698c0, !1, [
  14951. [11, "row4Impossible"],
  14952. [7, [19, cr.system_object.prototype.exps.choose, [
  14953. [0, 1],
  14954. [0, 2]
  14955. ]]]
  14956. ]]
  14957. ],
  14958. [
  14959. [0, null, !1, null, 5216021682540947, [
  14960. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 847016951738177, !1, [
  14961. [11, "row4Impossible"],
  14962. [8, 0],
  14963. [7, [0, 1]]
  14964. ]]
  14965. ],
  14966. [
  14967. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xf80eca83b8069, !1, [
  14968. [4, 55],
  14969. [5, [0, 4]],
  14970. [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14971. [0, 80]
  14972. ]],
  14973. [0, [0, 960]]
  14974. ]]
  14975. ]
  14976. ],
  14977. [0, null, !1, null, 0x70ccbc641c37b, [
  14978. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5930d012e2f13, !1, [
  14979. [11, "row4Impossible"],
  14980. [8, 0],
  14981. [7, [0, 2]]
  14982. ]]
  14983. ],
  14984. [
  14985. [-1, cr.system_object.prototype.acts.CreateObject, null, 0xed583719689f4, !1, [
  14986. [4, 55],
  14987. [5, [0, 4]],
  14988. [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  14989. [0, 30]
  14990. ]],
  14991. [0, [0, 960]]
  14992. ]],
  14993. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xb53e1b8bd37df, !1, [
  14994. [3, 0]
  14995. ]]
  14996. ]
  14997. ]
  14998. ]
  14999. ],
  15000. [0, null, !1, null, 0x9b56c6788103d, [
  15001. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0xa44438159766e, !1, [
  15002. [0, [19, cr.system_object.prototype.exps.random, [
  15003. [0, 2],
  15004. [1, 2.5]
  15005. ]]]
  15006. ]],
  15007. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9703428932852016, !1, [
  15008. [11, "playImpossible"],
  15009. [8, 0],
  15010. [7, [0, 0]]
  15011. ]],
  15012. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x4e203ad0b9ecc, !1, [
  15013. [11, "begin"],
  15014. [8, 0],
  15015. [7, [0, 1]]
  15016. ]]
  15017. ],
  15018. [
  15019. [-1, cr.system_object.prototype.acts.SetVar, null, 5182547118605347, !1, [
  15020. [11, "row5Impossible"],
  15021. [7, [19, cr.system_object.prototype.exps.choose, [
  15022. [0, 1],
  15023. [0, 2]
  15024. ]]]
  15025. ]]
  15026. ],
  15027. [
  15028. [0, null, !1, null, 611959107108666, [
  15029. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6657411437005629, !1, [
  15030. [11, "row5Impossible"],
  15031. [8, 0],
  15032. [7, [0, 1]]
  15033. ]]
  15034. ],
  15035. [
  15036. [-1, cr.system_object.prototype.acts.CreateObject, null, 9512319341476040, !1, [
  15037. [4, 55],
  15038. [5, [0, 4]],
  15039. [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  15040. [0, 60]
  15041. ]],
  15042. [0, [0, 960]]
  15043. ]]
  15044. ]
  15045. ],
  15046. [0, null, !1, null, 82680635578615, [
  15047. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8994286031165795, !1, [
  15048. [11, "row5Impossible"],
  15049. [8, 0],
  15050. [7, [0, 2]]
  15051. ]]
  15052. ],
  15053. [
  15054. [-1, cr.system_object.prototype.acts.CreateObject, null, 8272219408874706, !1, [
  15055. [4, 55],
  15056. [5, [0, 4]],
  15057. [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  15058. [0, 40]
  15059. ]],
  15060. [0, [0, 960]]
  15061. ]],
  15062. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6133831068543971, !1, [
  15063. [3, 0]
  15064. ]]
  15065. ]
  15066. ]
  15067. ]
  15068. ],
  15069. [0, null, !1, null, 0xc51ccd97ff013, [
  15070. [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8053195481456727, !1, [
  15071. [0, [19, cr.system_object.prototype.exps.random, [
  15072. [0, 2],
  15073. [1, 2.5]
  15074. ]]]
  15075. ]],
  15076. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x692956e27f751, !1, [
  15077. [11, "playImpossible"],
  15078. [8, 0],
  15079. [7, [0, 0]]
  15080. ]],
  15081. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5357020741669244, !1, [
  15082. [11, "begin"],
  15083. [8, 0],
  15084. [7, [0, 1]]
  15085. ]]
  15086. ],
  15087. [
  15088. [-1, cr.system_object.prototype.acts.SetVar, null, 6981487123293757, !1, [
  15089. [11, "row6Impossible"],
  15090. [7, [19, cr.system_object.prototype.exps.choose, [
  15091. [0, 1],
  15092. [0, 2]
  15093. ]]]
  15094. ]]
  15095. ],
  15096. [
  15097. [0, null, !1, null, 0xaede721f0506d, [
  15098. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x97ecd156e6c5e, !1, [
  15099. [11, "row6Impossible"],
  15100. [8, 0],
  15101. [7, [0, 1]]
  15102. ]]
  15103. ],
  15104. [
  15105. [-1, cr.system_object.prototype.acts.CreateObject, null, 8490020249221315, !1, [
  15106. [4, 55],
  15107. [5, [0, 4]],
  15108. [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  15109. [0, 60]
  15110. ]],
  15111. [0, [0, 960]]
  15112. ]]
  15113. ]
  15114. ],
  15115. [0, null, !1, null, 50898499229713, [
  15116. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc4048e0dae2e1, !1, [
  15117. [11, "row6Impossible"],
  15118. [8, 0],
  15119. [7, [0, 2]]
  15120. ]]
  15121. ],
  15122. [
  15123. [-1, cr.system_object.prototype.acts.CreateObject, null, 9388840412757354, !1, [
  15124. [4, 55],
  15125. [5, [0, 4]],
  15126. [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
  15127. [0, 40]
  15128. ]],
  15129. [0, [0, 960]]
  15130. ]],
  15131. [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8250792627865191, !1, [
  15132. [3, 0]
  15133. ]]
  15134. ]
  15135. ]
  15136. ]
  15137. ],
  15138. [0, null, !1, null, 0x96a3d746c3f3b, [
  15139. [55, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xa5121ed22fed3, !1, [
  15140. [4, 59]
  15141. ]]
  15142. ],
  15143. [
  15144. [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0x985a63d6e464d, !1]
  15145. ]
  15146. ],
  15147. [0, null, !1, null, 0xc1c3a074d3bef, [
  15148. [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 8430623618439026, !1, [
  15149. [8, 3],
  15150. [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  15151. ]],
  15152. [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 6978172342289448, !1, [
  15153. [10, 0]
  15154. ]]
  15155. ],
  15156. [
  15157. [-1, cr.system_object.prototype.acts.AddVar, null, 7872051882463577, !1, [
  15158. [11, "ScoreImpossible"],
  15159. [7, [0, 1]]
  15160. ]],
  15161. [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 0xddab2c64262af, !1, [
  15162. [10, 0],
  15163. [3, 1]
  15164. ]],
  15165. [73, cr.plugins_.Audio.prototype.acts.Play, null, 5455528446679587, !1, [
  15166. [2, ["point", !1]],
  15167. [3, 0],
  15168. [0, [0, -10]],
  15169. [1, [2, ""]]
  15170. ]]
  15171. ]
  15172. ],
  15173. [0, null, !1, null, 5894550085747855, [
  15174. [55, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 4582320923410074, !1, [
  15175. [8, 3],
  15176. [0, [20, 48, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
  15177. ]],
  15178. [55, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 9245646701584226, !1, [
  15179. [10, 0]
  15180. ]]
  15181. ],
  15182. [
  15183. [-1, cr.system_object.prototype.acts.AddVar, null, 8012160510246577, !1, [
  15184. [11, "ScoreImpossible"],
  15185. [7, [0, 1]]
  15186. ]],
  15187. [55, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6094682613232358, !1, [
  15188. [10, 0],
  15189. [3, 1]
  15190. ]],
  15191. [73, cr.plugins_.Audio.prototype.acts.Play, null, 9229808645894528, !1, [
  15192. [2, ["point", !1]],
  15193. [3, 0],
  15194. [0, [0, -10]],
  15195. [1, [2, ""]]
  15196. ]]
  15197. ]
  15198. ],
  15199. [0, null, !1, null, 0x92f49731894af, [
  15200. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5672301977742321, !1, [
  15201. [11, "playImpossible"],
  15202. [8, 0],
  15203. [7, [0, 1]]
  15204. ]]
  15205. ],
  15206. [
  15207. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0x55025f17b2f19, !1, [
  15208. [4, 0],
  15209. [0, [0, 0]]
  15210. ]],
  15211. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xf06923f31fc73, !1, [
  15212. [4, 12],
  15213. [0, [0, 0]]
  15214. ]],
  15215. [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 5869501078629253, !1],
  15216. [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x9f734f38e2fd4, !1],
  15217. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5239741322405668, !1, [
  15218. [4, 8],
  15219. [0, [0, 0]]
  15220. ]],
  15221. [-1, cr.system_object.prototype.acts.SetVar, null, 5300289018415897, !1, [
  15222. [11, "gameover_Impossible"],
  15223. [7, [0, 1]]
  15224. ]],
  15225. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9876162098509568, !1, [
  15226. [5, [0, 5]],
  15227. [3, 1]
  15228. ]],
  15229. [56, cr.plugins_.Text.prototype.acts.SetText, null, 7395138579192926, !1, [
  15230. [7, [23, "ScoreImpossible"]]
  15231. ]],
  15232. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0x6c9f2f2bc3eaa, !1, [
  15233. [4, 55],
  15234. [0, [0, 0]]
  15235. ]],
  15236. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 4803106115997985, !1, [
  15237. [4, 41],
  15238. [0, [0, 0]]
  15239. ]],
  15240. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xb4de26505487e, !1, [
  15241. [4, 48],
  15242. [0, [0, 0]]
  15243. ]],
  15244. [49, cr.plugins_.Particles.prototype.acts.Destroy, null, 8777928805703707, !1],
  15245. [54, cr.plugins_.Particles.prototype.acts.Destroy, null, 459940856011844, !1],
  15246. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xe63e2ef73b6bb, !1, [
  15247. [4, 61],
  15248. [0, [0, 0]]
  15249. ]],
  15250. [62, cr.plugins_.Particles.prototype.acts.Destroy, null, 9109937631617592, !1],
  15251. [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9578462565946344, !1, [
  15252. [4, 65],
  15253. [0, [0, 0]]
  15254. ]],
  15255. [66, cr.plugins_.Particles.prototype.acts.Destroy, null, 9191264259723098, !1]
  15256. ],
  15257. [
  15258. [0, null, !1, null, 0xb1097c8cbb1d2, [
  15259. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf61dba916727a, !1, [
  15260. [11, "ScoreImpossible"],
  15261. [8, 4],
  15262. [7, [23, "HighScoreImpossible"]]
  15263. ]]
  15264. ],
  15265. [
  15266. [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 6384071599501739, !1, [
  15267. [1, [2, "HighScoreImpossible"]],
  15268. [7, [23, "ScoreImpossible"]]
  15269. ]],
  15270. [57, cr.plugins_.Text.prototype.acts.SetText, null, 598521026190765, !1, [
  15271. [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
  15272. [2, "HighScoreImpossible"]
  15273. ]]]
  15274. ]]
  15275. ]
  15276. ]
  15277. ]
  15278. ],
  15279. [0, null, !1, null, 9210947046583252, [
  15280. [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x5b63cb4d1047c, !1, [
  15281. [4, 12]
  15282. ]]
  15283. ],
  15284. [
  15285. [-1, cr.system_object.prototype.acts.SetVar, null, 0x63d6ab01b886b, !1, [
  15286. [11, "playImpossible"],
  15287. [7, [0, 1]]
  15288. ]]
  15289. ]
  15290. ],
  15291. [0, null, !1, null, 7945291225606061, [
  15292. [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7182671580626588, !1, [
  15293. [4, 12]
  15294. ]]
  15295. ],
  15296. [
  15297. [-1, cr.system_object.prototype.acts.SetVar, null, 7588837819844953, !1, [
  15298. [11, "playImpossible"],
  15299. [7, [0, 1]]
  15300. ]]
  15301. ]
  15302. ],
  15303. [0, null, !1, null, 5188631377632637, [
  15304. [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 576814136131581, !1, [
  15305. [4, 12]
  15306. ]]
  15307. ],
  15308. [
  15309. [-1, cr.system_object.prototype.acts.SetVar, null, 0x9d70e546e1af, !1, [
  15310. [11, "playImpossible"],
  15311. [7, [0, 1]]
  15312. ]]
  15313. ]
  15314. ],
  15315. [0, null, !1, null, 9223887008717436, [
  15316. [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7746368094577913, !1, [
  15317. [4, 55]
  15318. ]]
  15319. ],
  15320. [
  15321. [-1, cr.system_object.prototype.acts.SetVar, null, 0xb4dbe18b61346, !1, [
  15322. [11, "playImpossible"],
  15323. [7, [0, 1]]
  15324. ]]
  15325. ]
  15326. ],
  15327. [0, null, !1, null, 7152630121159691, [
  15328. [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x5349ffac99903, !1, [
  15329. [4, 55]
  15330. ]]
  15331. ],
  15332. [
  15333. [-1, cr.system_object.prototype.acts.SetVar, null, 7452076435949601, !1, [
  15334. [11, "playImpossible"],
  15335. [7, [0, 1]]
  15336. ]]
  15337. ]
  15338. ],
  15339. [0, null, !1, null, 0xa2c09aaa6f99a, [
  15340. [65, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x69ae9ef4d945b, !1, [
  15341. [4, 55]
  15342. ]]
  15343. ],
  15344. [
  15345. [-1, cr.system_object.prototype.acts.SetVar, null, 0x5a19f3be9e49a, !1, [
  15346. [11, "playImpossible"],
  15347. [7, [0, 1]]
  15348. ]]
  15349. ]
  15350. ],
  15351. [0, null, !1, null, 0x6d165cfae94ec, [
  15352. [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd9135bdf74e2b, !1, [
  15353. [11, "gameover_Impossible"],
  15354. [8, 0],
  15355. [7, [0, 1]]
  15356. ]]
  15357. ],
  15358. [
  15359. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xdad481cb2a553, !1, [
  15360. [5, [0, 5]],
  15361. [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
  15362. [0, 5]
  15363. ]],
  15364. [0, 5]
  15365. ]]
  15366. ]]
  15367. ]
  15368. ],
  15369. [0, null, !1, null, 0xcdf0adc6e210b, [
  15370. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x7e1711c1361fc, !1, [
  15371. [4, 19]
  15372. ]],
  15373. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 4753692941024491, !1, [
  15374. [5, [0, 5]]
  15375. ]]
  15376. ],
  15377. [
  15378. [-1, cr.system_object.prototype.acts.GoToLayout, null, 402766122264184, !1, [
  15379. [6, "Menu"]
  15380. ]],
  15381. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0x7c39f340dee8f, !1, [
  15382. [5, [0, 5]],
  15383. [0, [0, 0]]
  15384. ]],
  15385. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xe8e0d490f9cc6, !1, [
  15386. [5, [0, 5]],
  15387. [3, 0]
  15388. ]],
  15389. [-1, cr.system_object.prototype.acts.SetVar, null, 0x4e897fbb92418, !1, [
  15390. [11, "playImpossible"],
  15391. [7, [0, 0]]
  15392. ]],
  15393. [-1, cr.system_object.prototype.acts.SetVar, null, 0xdcf689e942b11, !1, [
  15394. [11, "gameover_Impossible"],
  15395. [7, [0, 0]]
  15396. ]],
  15397. [-1, cr.system_object.prototype.acts.SetVar, null, 404125084585875, !1, [
  15398. [11, "gravityImpossible"],
  15399. [7, [0, 1]]
  15400. ]],
  15401. [-1, cr.system_object.prototype.acts.SetVar, null, 5299536427001595, !1, [
  15402. [11, "gravity2Impossible"],
  15403. [7, [0, 1]]
  15404. ]],
  15405. [-1, cr.system_object.prototype.acts.SetVar, null, 0xebcf81ef25bb4, !1, [
  15406. [11, "SpeedImpossible"],
  15407. [7, [0, 200]]
  15408. ]],
  15409. [-1, cr.system_object.prototype.acts.SetVar, null, 5720816894623756, !1, [
  15410. [11, "ScoreImpossible"],
  15411. [7, [0, 0]]
  15412. ]],
  15413. [-1, cr.system_object.prototype.acts.SetVar, null, 4822431383559057, !1, [
  15414. [11, "gravity3Impossible"],
  15415. [7, [0, 1]]
  15416. ]],
  15417. [-1, cr.system_object.prototype.acts.SetVar, null, 0xd27b60370feb5, !1, [
  15418. [11, "gravity4Impossible"],
  15419. [7, [0, 1]]
  15420. ]],
  15421. [-1, cr.system_object.prototype.acts.SetVar, null, 0xe3ce744712fb8, !1, [
  15422. [11, "gravity5Impossible"],
  15423. [7, [0, 1]]
  15424. ]],
  15425. [-1, cr.system_object.prototype.acts.SetVar, null, 9888605591309640, !1, [
  15426. [11, "gravity6Impossible"],
  15427. [7, [0, 1]]
  15428. ]],
  15429. [73, cr.plugins_.Audio.prototype.acts.Play, null, 9800781474866188, !1, [
  15430. [2, ["click1", !1]],
  15431. [3, 0],
  15432. [0, [0, 0]],
  15433. [1, [2, ""]]
  15434. ]]
  15435. ]
  15436. ],
  15437. [0, null, !1, null, 4811165182205955, [
  15438. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6292350360076174, !1, [
  15439. [4, 18]
  15440. ]],
  15441. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 706335215516044, !1, [
  15442. [5, [0, 5]]
  15443. ]]
  15444. ],
  15445. [
  15446. [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xa9a9f14b6b09b, !1, [
  15447. [6, "Impossible"]
  15448. ]],
  15449. [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9969738018143008, !1, [
  15450. [5, [0, 5]],
  15451. [0, [0, 0]]
  15452. ]],
  15453. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x9b7cc893abe99, !1, [
  15454. [5, [0, 5]],
  15455. [3, 0]
  15456. ]],
  15457. [-1, cr.system_object.prototype.acts.SetVar, null, 0x8cf7bd7d355b8, !1, [
  15458. [11, "playImpossible"],
  15459. [7, [0, 0]]
  15460. ]],
  15461. [-1, cr.system_object.prototype.acts.SetVar, null, 0x5f26738f149b5, !1, [
  15462. [11, "gameover_Impossible"],
  15463. [7, [0, 0]]
  15464. ]],
  15465. [-1, cr.system_object.prototype.acts.SetVar, null, 0x3a2444560f738, !1, [
  15466. [11, "gravityImpossible"],
  15467. [7, [0, 1]]
  15468. ]],
  15469. [-1, cr.system_object.prototype.acts.SetVar, null, 6795368688519229, !1, [
  15470. [11, "gravity2Impossible"],
  15471. [7, [0, 1]]
  15472. ]],
  15473. [-1, cr.system_object.prototype.acts.SetVar, null, 6870606719191381, !1, [
  15474. [11, "SpeedImpossible"],
  15475. [7, [0, 200]]
  15476. ]],
  15477. [-1, cr.system_object.prototype.acts.SetVar, null, 4847126089407462, !1, [
  15478. [11, "ScoreImpossible"],
  15479. [7, [0, 0]]
  15480. ]],
  15481. [-1, cr.system_object.prototype.acts.SetVar, null, 7190098213805858, !1, [
  15482. [11, "gravity3Impossible"],
  15483. [7, [0, 1]]
  15484. ]],
  15485. [-1, cr.system_object.prototype.acts.SetVar, null, 6194961127426688, !1, [
  15486. [11, "gravity4Impossible"],
  15487. [7, [0, 1]]
  15488. ]],
  15489. [-1, cr.system_object.prototype.acts.SetVar, null, 6630372358071485, !1, [
  15490. [11, "gravity5Impossible"],
  15491. [7, [0, 1]]
  15492. ]],
  15493. [-1, cr.system_object.prototype.acts.SetVar, null, 7616107809307576, !1, [
  15494. [11, "gravity6Impossible"],
  15495. [7, [0, 1]]
  15496. ]],
  15497. [73, cr.plugins_.Audio.prototype.acts.Play, null, 5085499607907071, !1, [
  15498. [2, ["click1", !1]],
  15499. [3, 0],
  15500. [0, [0, 0]],
  15501. [1, [2, ""]]
  15502. ]]
  15503. ]
  15504. ],
  15505. [0, null, !1, null, 9555494001599416, [
  15506. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 378184836022266, !1, [
  15507. [4, 74]
  15508. ]]
  15509. ],
  15510. [
  15511. [-1, cr.system_object.prototype.acts.SetVar, null, 0xbdc2b1c89745b, !1, [
  15512. [11, "begin"],
  15513. [7, [0, 1]]
  15514. ]],
  15515. [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9322560042428122, !1, [
  15516. [5, [0, 6]],
  15517. [3, 0]
  15518. ]]
  15519. ]
  15520. ],
  15521. [0, null, !1, null, 6826168198710871, [
  15522. [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 4772836556227268, !1, [
  15523. [8, 2],
  15524. [0, [0, 203]]
  15525. ]]
  15526. ],
  15527. [
  15528. [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 9479401447862832, !1, [
  15529. [0, [0, 305]]
  15530. ]]
  15531. ]
  15532. ],
  15533. [0, null, !1, null, 4963302230019432, [
  15534. [61, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 8223520359383316, !1, [
  15535. [8, 2],
  15536. [0, [0, 203]]
  15537. ]]
  15538. ],
  15539. [
  15540. [61, cr.plugins_.Sprite.prototype.acts.SetX, null, 6382321529866806, !1, [
  15541. [0, [0, 305]]
  15542. ]]
  15543. ]
  15544. ],
  15545. [0, null, !1, null, 8112010701746358, [
  15546. [41, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 9734284668711604, !1, [
  15547. [8, 2],
  15548. [0, [0, 410]]
  15549. ]]
  15550. ],
  15551. [
  15552. [41, cr.plugins_.Sprite.prototype.acts.SetX, null, 749957638382071, !1, [
  15553. [0, [0, 515]]
  15554. ]]
  15555. ]
  15556. ],
  15557. [0, null, !1, null, 0xe64fc1a341dc2, [
  15558. [65, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 0xb22f8102a2806, !1, [
  15559. [8, 2],
  15560. [0, [0, 410]]
  15561. ]]
  15562. ],
  15563. [
  15564. [65, cr.plugins_.Sprite.prototype.acts.SetX, null, 7312449514048943, !1, [
  15565. [0, [0, 515]]
  15566. ]]
  15567. ]
  15568. ],
  15569. [0, null, !1, null, 845026604817764, [
  15570. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9944749160178972, !1, [
  15571. [4, 75]
  15572. ]],
  15573. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 8225286852988792, !1, [
  15574. [5, [0, 5]]
  15575. ]]
  15576. ],
  15577. [
  15578. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 6159045890848927, !1, [
  15579. [1, [10, [10, [10, [2, "sharegame"],
  15580. [23, "ScoreImpossible"]
  15581. ],
  15582. [2, ":"]
  15583. ],
  15584. [19, cr.system_object.prototype.exps.random, [
  15585. [0, 1],
  15586. [0, 10]
  15587. ]]
  15588. ]],
  15589. [1, [2, "NewWindow"]]
  15590. ]]
  15591. ]
  15592. ],
  15593. [0, null, !1, null, 9343460922725686, [
  15594. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x4e6d2fd0d769f, !1, [
  15595. [4, 76]
  15596. ]],
  15597. [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 7091832655060645, !1, [
  15598. [5, [0, 5]]
  15599. ]]
  15600. ],
  15601. [
  15602. [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 8183168696913552, !1, [
  15603. [1, [10, [10, [2, "moregame"],
  15604. [23, "HighScoreImpossible"]
  15605. ],
  15606. [2, "%23MakeThemFallImpossible"]
  15607. ]],
  15608. [1, [2, "NewWindow"]]
  15609. ]]
  15610. ]
  15611. ]
  15612. ]],
  15613. ["HowToSheet", [
  15614. [0, null, !1, null, 0xf88fd3785cc84, [
  15615. [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5736307910588576, !1, [
  15616. [4, 71]
  15617. ]]
  15618. ],
  15619. [
  15620. [-1, cr.system_object.prototype.acts.GoToLayout, null, 0x7159fd315fac2, !1, [
  15621. [6, "Menu"]
  15622. ]],
  15623. [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x6d115ecf9c96f, !1, [
  15624. [2, ["click1", !1]],
  15625. [3, 0],
  15626. [0, [0, 0]],
  15627. [1, [2, ""]]
  15628. ]]
  15629. ]
  15630. ],
  15631. [0, null, !1, null, 0xe0293c80afe73, [
  15632. [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0xf917d4d88cc2f, !1]
  15633. ],
  15634. [
  15635. [0, cr.behaviors.Platform.prototype.acts.SetGravity, "Platform", 8554221901815929, !1, [
  15636. [0, [0, 0]]
  15637. ]],
  15638. [8, cr.behaviors.Platform.prototype.acts.SetGravity, "Platform", 0xc9afc72b34e4a, !1, [
  15639. [0, [0, 0]]
  15640. ]],
  15641. [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 7850978435576418, !1],
  15642. [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 363673293478381, !1, [
  15643. [3, 1]
  15644. ]]
  15645. ]
  15646. ]
  15647. ]]
  15648. ],
  15649. [
  15650. ["click1.ogg", 6952],
  15651. ["point.ogg", 6841]
  15652. ], "media/", !1, 640, 960, 4, !0, !0, !0, "1.0.0.0", !0, !1, 0, 0, 212, !1, !0, 1, !0, []
  15653. ]
  15654. }