UNPKG

pxt-common-packages

Version:
1,215 lines (1,147 loc) 1.24 MB
// total=1241151 new=94.05% cached=0.00% other=5.95% (function (ectx) { 'use strict'; const runtime = ectx.runtime; const oops = ectx.oops; const doNothing = ectx.doNothing; const pxsim = ectx.pxsim; const globals = ectx.globals; const maybeYield = ectx.maybeYield; const setupDebugger = ectx.setupDebugger; const isBreakFrame = ectx.isBreakFrame; const breakpoint = ectx.breakpoint; const trace = ectx.trace; const checkStack = ectx.checkStack; const leave = ectx.leave; const checkResumeConsumed = ectx.checkResumeConsumed; const setupResume = ectx.setupResume; const setupLambda = ectx.setupLambda; const checkSubtype = ectx.checkSubtype; const failedCast = ectx.failedCast; const buildResume = ectx.buildResume; const mkVTable = ectx.mkVTable; const bind = ectx.bind; const leaveAccessor = ectx.leaveAccessor; const __this = runtime; const pxtrt = pxsim.pxtrt; let yieldSteps = 1; ectx.setupYield(function() { yieldSteps = 100; }) pxsim.setTitle("controller---none"); pxsim.setConfigData({}, {}); pxtrt.mapKeyNames = [ "", "__draw", "__drawCore", "__preUpdate", "__update", "__visible", "_action", "_alreadyChecked", "_ax", "_ay", "_col", "_connected", "_controlledSprites", "_data", "_destroyCore", "_dt", "_factory", "_fx", "_fy", "_height", "_hitbox", "_id", "_image", "_kind", "_kindsOverlappedWith", "_lastUpdatedSpriteX", "_lastUpdatedSpriteY", "_lastX", "_lastY", "_layer", "_layers", "_map", "_millis", "_obstacles", "_offsetX", "_offsetY", "_overlappers", "_owner", "_player", "_pressed", "_pressedElasped", "_prune", "_repeatCount", "_row", "_scale", "_sprites", "_sx", "_sy", "_text", "_update", "_vx", "_vy", "_width", "_x", "_y", "_z", "action", "activeCard", "add", "addShape", "addSprite", "alignX", "alignY", "allSprites", "analog", "anchor", "applyTo", "areaHeight", "areaWidth", "ax", "ay", "background", "basicCard", "bgColor", "bottom", "buckets", "button", "buttonEventHandlers", "buttons", "cachedTileView", "cachedVx", "cachedVy", "calcDimensionalHash", "callback", "camera", "canResolveClipping", "card", "cardSpacing", "cardWidth", "cardsPerRow", "cardsTop", "cellHeight", "cellWidth", "change", "charHeight", "charWidth", "clear", "clearObstacles", "collisionHandlers", "color", "column", "columnCount", "condition", "connected", "constrain", "contains", "controlledSprites", "controllerConnectionState", "createMovingSprite", "createParticle", "createdHandlers", "customGestureHandlers", "data", "defaultLifespan", "defaultRate", "deltaTime", "deltaTimeMillis", "destroy", "destroyHandler", "destroyedHandlers", "dispose", "distance", "down", "draw", "drawDebug", "drawOffsetX", "drawOffsetY", "drawParticle", "drawSay", "drawSprite", "drawText", "dx", "dy", "effect", "effectSetByUser", "eid", "enabled", "event", "eventContext", "fastRandom", "fgColor", "filledBuckets", "flags", "followingSprites", "frameCallbacks", "frameWorker", "framesInSample", "fx", "fy", "galois", "gameForeverHandlers", "generator", "gestureHandlers", "getObstacle", "getOrCreateHandlerForEvent", "getText", "getTile", "getTileImage", "getTileIndex", "handler", "handlerState", "handlers", "hash", "head", "headerFont", "headerText", "height", "icon", "iconImage", "id", "idleCallbacks", "image", "img", "infoFont", "infoTop", "init", "insertAABB", "insertAtKey", "isObstacle", "isOnWall", "isOutOfScreen", "isOutsideMap", "isPressed", "isScaled", "isStatic", "isUpdated", "isValid", "isWall", "key", "kind", "lastCustomGesture", "lastGesture", "lastLightCondition", "lastPerfDump", "layer", "layers", "left", "length", "lfsr", "lifespan", "lightHandlers", "loseEffect", "loseMessage", "loseSound", "loseSoundLooping", "map", "maxLifespan", "maxNegativeVelocity", "maxSingleStep", "maxSpeed", "maxStep", "maxVelocity", "melody", "messageSetByUser", "millis", "minAngle", "minLifespan", "minSingleStep", "minStep", "move", "moveSprite", "multiplier", "next", "offsetX", "offsetY", "onEvent", "onUpdate", "once", "options", "order", "overlapHandlers", "overlapMap", "overlapsWith", "ox", "oy", "pFlags", "padding", "parent", "particleSources", "period", "physicsEngine", "pickRandom", "playerIndex", "position", "preferredDelay", "pressureLevel", "prevTimeMillis", "previousScene", "priority", "raiseButtonDown", "raiseButtonRepeat", "raiseButtonUp", "randomRange", "recalcSize", "register", "registerFrameCallbacks", "registerFrameHandler", "registerHandler", "registerObstacle", "remove", "removeSprite", "render", "renderable", "repeatDelay", "repeatInterval", "repeatX", "repeatY", "resetHitbox", "resizeBuckets", "right", "row", "rowCount", "runButtonEvents", "runCallbacks", "runningCallbacks", "s", "sayEndTime", "sayRenderer", "scale", "scene", "sceneDefaultRate", "scoringType", "scoringTypeSetByUser", "screenEdgeCollisions", "scrollOffset", "scrollRow", "scrollTarget", "seed", "selectedCard", "selection", "setAcceleration", "setAnchor", "setDirection", "setFactory", "setFlag", "setHitbox", "setImage", "setKind", "setOffset", "setPressed", "setRate", "setRelativeToCamera", "setSelection", "setSpeed", "setState", "setTheme", "shakeAmplitude", "shakeDuration", "shakeStartTime", "shouldBeVisible", "show", "soundSetByUser", "source", "sourceFactory", "sources", "speed", "spread", "sprite", "spriteCollisions", "spriteNextId", "sprites", "spritesByKind", "src", "start", "state", "stopped", "sx", "sy", "system", "text", "theme", "tileIndex", "tileMap", "tileOverlapHandlers", "tileSet", "tilemapCollisions", "tilemapOverlaps", "tileset", "timeInSample", "timeOut", "timer", "times", "toString", "top", "unregister", "up", "update", "updateCard", "updateIfInvalid", "updateParticle", "updateScrollTarget", "user", "value", "vid", "vx", "vy", "wallCollisionHandlers", "width", "winEffect", "winMessage", "winMessageMultiplayer", "winSound", "winSoundLooping", "x", "xOffset", "xRange", "xStep", "y", "yOffset", "yRange", "yStep", "z" ]; __this.setupPerfCounters([]); const pxsim_Array__getAt = pxsim.Array_.getAt; const pxsim_Array__length = pxsim.Array_.length; const pxsim_Array__mk = pxsim.Array_.mk; const pxsim_Array__push = pxsim.Array_.push; const pxsim_Boolean__bang = pxsim.Boolean_.bang; const pxsim_String__concat = pxsim.String_.concat; const pxsim_String__stringConv = pxsim.String_.stringConv; const pxsim_numops_toBool = pxsim.numops.toBool; const pxsim_numops_toBoolDecr = pxsim.numops.toBoolDecr; const pxsim_pxtcore_mkAction = pxsim.pxtcore.mkAction; const pxsim_pxtcore_mkClassInstance = pxsim.pxtcore.mkClassInstance; const pxsim_pxtrt_ldlocRef = pxsim.pxtrt.ldlocRef; const pxsim_pxtrt_mapGetByString = pxsim.pxtrt.mapGetByString; const pxsim_pxtrt_stclo = pxsim.pxtrt.stclo; const pxsim_pxtrt_stlocRef = pxsim.pxtrt.stlocRef; const pxsim_Boolean_ = pxsim.Boolean_; const pxsim_pxtcore = pxsim.pxtcore; const pxsim_String_ = pxsim.String_; const pxsim_ImageMethods = pxsim.ImageMethods; const pxsim_Array_ = pxsim.Array_; const pxsim_pxtrt = pxsim.pxtrt; const pxsim_numops = pxsim.numops; function _main___P81020(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: globals._intervals___81263 = (undefined); globals._pollEventQueue___81276 = (undefined); globals.minPriority___81282 = (1); r0 = pxsim_Array__mk(); s.tmp_0 = r0; r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P81283); globals.listeners___81284 = (s.tmp_0); globals.globalVolume___81465 = (null); globals.playToneID___81475 = (0); r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C81479_VT); s.tmp_0 = r0; s.tmp_1 = music_Melody_constructor__P81491_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = "~15 e3:3 r:1 d#:3 r:1 d:4 r:1 c#:8"; s.callLocIdx = 70; s.pc = 1; return s.tmp_1; case 1: r0 = s.retval; globals.wawawawaa___81504 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C81479_VT); s.tmp_0 = r0; s.tmp_1 = music_Melody_constructor__P81491_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = "g4:1 c5 e g:2 e:1 g:3"; s.callLocIdx = 71; s.pc = 2; return s.tmp_1; case 2: r0 = s.retval; globals.powerUp___81510 = (s.tmp_0); globals.brightness___81754 = (100); r0 = pxsim_pxtrt.mkMap(); s.tmp_0 = r0; r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charWidth", 6); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charHeight", 8); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex85037); globals.font8___81784 = (s.tmp_0); r0 = pxsim_pxtrt.mkMap(); s.tmp_0 = r0; r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charWidth", 12); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charHeight", 12); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex85039); globals.font12___81786 = (s.tmp_0); r0 = pxsim_pxtrt.mkMap(); s.tmp_0 = r0; r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charWidth", 6); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charHeight", 5); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex84367); globals.font5___81791 = (s.tmp_0); globals.__updated___81798 = (false); r0 = pxsim.control.runInParallel(control___screen_inline__P81803); r0 = pxsim.image.create(178, 128); globals.screen___81826 = (r0); s.tmp_0 = control___screen_setupUpdate__P81800_mk(s); s.tmp_0.arg0 = _screen_internal_inline__P81831; s.callLocIdx = 113; s.pc = 3; return s.tmp_0; case 3: r0 = s.retval; globals.control_EventContext_onStats___81331 = (_screen_internal_inline__P81836); globals.RUN_KEY___81843 = ("#run"); globals.SCOPE_KEY___81844 = ("#scope"); s.tmp_0 = settings_initScopes__P81856_mk(s); s.callLocIdx = 120; s.pc = 4; return s.tmp_0; case 4: r0 = s.retval; r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 5; s.tmp_1.arg2 = 4; s.callLocIdx = 131; s.pc = 5; return s.tmp_1; case 5: r0 = s.retval; globals.A___81920 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 6; s.tmp_1.arg2 = 5; s.callLocIdx = 132; s.pc = 6; return s.tmp_1; case 6: r0 = s.retval; globals.B___81922 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 1; s.tmp_1.arg2 = 47; s.callLocIdx = 133; s.pc = 7; return s.tmp_1; case 7: r0 = s.retval; globals.left___81924 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 2; s.tmp_1.arg2 = 49; s.callLocIdx = 134; s.pc = 8; return s.tmp_1; case 8: r0 = s.retval; globals.up___81926 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 3; s.tmp_1.arg2 = 48; s.callLocIdx = 135; s.pc = 9; return s.tmp_1; case 9: r0 = s.retval; globals.right___81928 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 4; s.tmp_1.arg2 = 50; s.callLocIdx = 136; s.pc = 10; return s.tmp_1; case 10: r0 = s.retval; globals.down___81930 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C82061_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 7; s.tmp_1.arg2 = 51; s.callLocIdx = 137; s.pc = 11; return s.tmp_1; case 11: r0 = s.retval; globals.menu___81932 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C82027_VT); s.tmp_0 = r0; s.tmp_1 = controller_Controller_constructor__P82053_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 2; s.tmp_1.arg2 = undefined; s.callLocIdx = 138; s.pc = 12; return s.tmp_1; case 12: r0 = s.retval; globals.player2___81934 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C82027_VT); s.tmp_0 = r0; s.tmp_1 = controller_Controller_constructor__P82053_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 3; s.tmp_1.arg2 = undefined; s.callLocIdx = 139; s.pc = 13; return s.tmp_1; case 13: r0 = s.retval; globals.player3___81936 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C82027_VT); s.tmp_0 = r0; s.tmp_1 = controller_Controller_constructor__P82053_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 4; s.tmp_1.arg2 = undefined; s.callLocIdx = 140; s.pc = 14; return s.tmp_1; case 14: r0 = s.retval; globals.player4___81938 = (s.tmp_0); s.tmp_0 = controller__player1__P82022_mk(s); s.callLocIdx = 141; s.pc = 15; return s.tmp_0; case 15: r0 = s.retval; globals.player1___81940 = (r0); s.tmp_0 = game_addScenePopHandler__P81943_mk(s); s.tmp_0.arg0 = controller_inline__P81944; s.callLocIdx = 146; s.pc = 16; return s.tmp_0; case 16: r0 = s.retval; s.tmp_0 = game_addScenePushHandler__P81998_mk(s); s.tmp_0.arg0 = controller_inline__P81999; s.callLocIdx = 148; s.pc = 17; return s.tmp_0; case 17: r0 = s.retval; r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C82059_VT); s.tmp_0 = r0; s.tmp_1 = controller_Button_constructor__P82081_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 0; s.tmp_1.arg2 = -1; s.callLocIdx = 195; s.pc = 18; return s.tmp_1; case 18: r0 = s.retval; globals.anyButton___82079 = (s.tmp_0); globals._userEventsEnabled___82085 = (true); globals.defaultRepeatDelay___82087 = (500); globals.defaultRepeatInterval___82089 = (30); s.tmp_0 = SpriteKind_create__P82286_mk(s); s.callLocIdx = 500; s.pc = 19; return s.tmp_0; case 19: r0 = s.retval; globals.Player___82288 = (r0); s.tmp_0 = SpriteKind_create__P82286_mk(s); s.callLocIdx = 501; s.pc = 20; return s.tmp_0; case 20: r0 = s.retval; globals.Food___82293 = (r0); s.tmp_0 = SpriteKind_create__P82286_mk(s); s.callLocIdx = 502; s.pc = 21; return s.tmp_0; case 21: r0 = s.retval; globals.Enemy___82296 = (r0); r0 = (0.1 * 256); s.tmp_0 = r0; r0 = (s.tmp_0 | 0); globals.MIN_MOVE_GAP___82320 = (r0); globals.infoState___82388 = (undefined); s.tmp_0 = game_addScenePushHandler__P81998_mk(s); s.tmp_0.arg0 = info_inline__P82392; s.callLocIdx = 768; s.pc = 22; return s.tmp_0; case 22: r0 = s.retval; s.tmp_0 = game_addScenePopHandler__P81943_mk(s); s.tmp_0.arg0 = info_inline__P82408; s.callLocIdx = 772; s.pc = 23; return s.tmp_0; case 23: r0 = s.retval; r0 = pxsim_Array__mk(); globals.scene_Scene_initializers___82715 = (r0); globals.img_trophy_sm___82773 = (undefined); globals.img_trophy_lg___82776 = (undefined); globals.img_sleepy_sim___82779 = (undefined); globals.debug___82811 = (false); globals.stats___82813 = (false); globals.gameOverConfig___82827 = (gameOverConfig_inline__P82826); s.tmp_0 = scene_systemMenu_initVolume__P83055_mk(s); s.callLocIdx = 1103; s.pc = 24; return s.tmp_0; case 24: r0 = s.retval; s.tmp_0 = scene_systemMenu_initScreen__P83056_mk(s); s.callLocIdx = 1104; s.pc = 25; return s.tmp_0; case 25: r0 = s.retval; r0 = pxsim_Array__push(globals.scene_Scene_initializers___82715, scene_systemMenu_register__P83052); globals.CARD_NORMAL___83064 = (undefined); globals.CARD_SELECTED___83067 = (undefined); globals.CARD_ACTIVE___83070 = (undefined); globals.VOLUME_UP_ICON___83073 = (undefined); globals.BRIGHTNESS_DOWN_ICON___83076 = (undefined); globals.CLOSE_MENU_ICON___83079 = (undefined); globals.VOLUME_DOWN_ICON___83082 = (undefined); globals.SLEEP_ICON___83085 = (undefined); globals.CONSOLE_ICON___83088 = (undefined); globals.BRIGHTNESS_UP_ICON___83091 = (undefined); globals.STATS_ICON___83094 = (undefined); globals.consoleColor___83097 = (1); globals.tabSize___83100 = (8); globals.consoleFont___83106 = (globals.font5___81791); r0 = pxsim_ImageMethods.height(globals.screen___81826); s.tmp_2 = r0; s.tmp_5 = if_charHeight_1_mk(s); s.tmp_5.arg0 = globals.consoleFont___83106; if (!s.tmp_5.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "charHeight"); } else { s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["charHeight"]; if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["charHeight"]; } else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } else { s.callLocIdx = 1105; s.pc = 26; return s.tmp_5; } } case 26: r0 = s.retval; s.tmp_4 = r0; r0 = (s.tmp_4 + 2); s.tmp_3 = r0; r0 = (s.tmp_2 / s.tmp_3); s.tmp_1 = r0; r0 = pxsim.Math_.floor(s.tmp_1); s.tmp_0 = r0; r0 = (s.tmp_0 - 1); globals.consoleLines___83111 = (r0); r0 = pxsim_ImageMethods.width(globals.screen___81826); s.tmp_2 = r0; r0 = (s.tmp_2 - 8); s.tmp_1 = r0; s.tmp_4 = if_charWidth_1_mk(s); s.tmp_4.arg0 = globals.consoleFont___83106; if (!s.tmp_4.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); } else { s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"]; if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; } else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } else { s.callLocIdx = 1106; s.pc = 27; return s.tmp_4; } } case 27: r0 = s.retval; s.tmp_3 = r0; r0 = (s.tmp_1 / s.tmp_3); s.tmp_0 = r0; r0 = pxsim.Math_.floor(s.tmp_0); globals.consoleColumns___83122 = (r0); s.tmp_0 = console_addListener__P81292_mk(s); s.tmp_0.arg0 = game_consoleOverlay_listener__P83134; s.callLocIdx = 1107; s.pc = 28; return s.tmp_0; case 28: r0 = s.retval; s.tmp_0 = lambda_1_mk(s); s.tmp_0.argL = MAX_SOURCES_inline__P89994; setupLambda(s.tmp_0, s.tmp_0.argL); s.callLocIdx = 1120; s.pc = 29; return s.tmp_0; case 29: r0 = s.retval; globals.MAX_SOURCES___83142 = (r0); r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C83212_VT); s.tmp_0 = r0; s.tmp_1 = particles_SprayFactory_constructor__P83218_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 20; s.tmp_1.arg2 = 0; s.tmp_1.arg3 = 60; s.callLocIdx = 1159; s.pc = 30; return s.tmp_1; case 30: r0 = s.retval; globals.defaultFactory___83168 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C83010_VT); s.tmp_0 = r0; s.tmp_1 = Math_FastRandom_constructor__P83017_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = undefined; s.callLocIdx = 1184; s.pc = 31; return s.tmp_1; case 31: r0 = s.retval; globals.galois___83191 = (s.tmp_0); globals.angleSlice___83199 = (0.06283185307179587); r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C83285_VT); s.tmp_0 = r0; s.tmp_1 = effects_ScreenEffect_constructor__P83289_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 10; s.tmp_1.arg2 = 40; s.tmp_1.arg3 = 4000; s.tmp_1.arg4 = confetti_inline__P89743; s.callLocIdx = 1244; s.pc = 32; return s.tmp_1; case 32: r0 = s.retval; globals.confetti___83299 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C83328_VT); s.tmp_0 = r0; s.tmp_1 = effects_ImageEffect_constructor__P83332_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 100; s.tmp_1.arg2 = dissolve_inline__P87458; s.callLocIdx = 1256; s.pc = 33; return s.tmp_1; case 33: r0 = s.retval; globals.dissolve___83334 = (s.tmp_0); r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C83328_VT); s.tmp_0 = r0; s.tmp_1 = effects_ImageEffect_constructor__P83332_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 125; s.tmp_1.arg2 = melt_inline__P89688; s.callLocIdx = 1259; s.pc = 34; return s.tmp_1; case 34: r0 = s.retval; globals.melt___83336 = (s.tmp_0); r0 = pxsim_Array__push(globals.scene_Scene_initializers___82715, controller_initController__P83468); r0 = undefined; return leave(s, r0) default: oops() } } } _main___P81020.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"controllerimpl.ts","functionName":"<main>","argumentNames":[]} _main___P81020.continuations = [ ] function _main___P81020_mk(s) { checkStack(s.depth); return { parent: s, fn: _main___P81020, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, } } const _hex85037 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800") const _hex85039 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000") const _hex84367 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000") function control___screen_inline__P81803(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: case 1: r0 = pxsim_numops_toBoolDecr(true); if (!r0) { step = 4; continue; } globals.__updated___81798 = (false); s.tmp_0 = pause__P81340_mk(s); s.tmp_0.arg0 = 200; s.callLocIdx = 111; s.pc = 5; return s.tmp_0; case 5: r0 = s.retval; r0 = pxsim_numops_toBoolDecr(globals.__updated___81798); s.tmp_1 = r0; r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 2; continue; } s.tmp_2 = control___screen_update__P81799_mk(s); s.callLocIdx = 112; s.pc = 6; return s.tmp_2; case 6: r0 = s.retval; globals.__updated___81798 = (true); case 2: case 3: { step = 1; continue; } case 4: r0 = undefined; return leave(s, r0) default: oops() } } } control___screen_inline__P81803.info = {"start":396,"length":211,"line":17,"column":26,"endLine":26,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"inline","argumentNames":[]} function control___screen_inline__P81803_mk(s) { checkStack(s.depth); return { parent: s, fn: control___screen_inline__P81803, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, } } function _screen_internal_inline__P81831(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: r0 = pxsim_pxtcore.updateScreen(globals.screen___81826); r0 = undefined; return leave(s, r0) default: oops() } } } _screen_internal_inline__P81831.info = {"start":327,"length":26,"line":8,"column":33,"endLine":8,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]} function _screen_internal_inline__P81831_mk(s) { checkStack(s.depth); return { parent: s, fn: _screen_internal_inline__P81831, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, } } function _screen_internal_inline__P81836(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = pxsim_pxtcore.updateStats(s.arg0); r0 = undefined; return leave(s, r0) default: oops() } } } _screen_internal_inline__P81836.info = {"start":390,"length":56,"line":9,"column":35,"endLine":11,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]} function _screen_internal_inline__P81836_mk(s) { checkStack(s.depth); return { parent: s, fn: _screen_internal_inline__P81836, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } function controller_inline__P81944(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: s.stateWhenPushed___81945 = undefined; s.i___81960 = undefined; s.p___81967 = undefined; s.tmp_0 = game_currentScene__P81957_mk(s); s.callLocIdx = 142; s.pc = 12; return s.tmp_0; case 12: r0 = s.retval; r0 = r0.fields["controllerConnectionState"]; s.stateWhenPushed___81945 = (r0); r0 = pxsim_numops_toBoolDecr(s.stateWhenPushed___81945); s.tmp_1 = r0; r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } { step = 11; continue; } case 1: case 2: s.i___81960 = (0); case 3: s.tmp_1 = r0 = s.i___81960; r0 = pxsim_Array__length(s.stateWhenPushed___81945); s.tmp_2 = r0; r0 = (s.tmp_1 < s.tmp_2); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 10; continue; } r0 = pxsim_Array__getAt(globals._players___81941, s.i___81960); s.p___81967 = (r0); s.tmp_0 = r0 = s.p___81967; r0 = pxsim_numops_toBool(s.tmp_0); if (r0) { step = 4; continue; } r0 = s.tmp_0; { step = 5; continue; } case 4: r0 = pxsim_Array__getAt(s.stateWhenPushed___81945, s.i___81960); s.tmp_5 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_5); s.tmp_4 = r0; r0 = pxsim_Boolean__bang(s.tmp_4); s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); s.tmp_2 = r0; r0 = pxsim_Boolean__bang(s.tmp_2); s.tmp_1 = r0; r0 = s.p___81967.fields["_connected"]; s.tmp_10 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_10); s.tmp_9 = r0; r0 = pxsim_Boolean__bang(s.tmp_9); s.tmp_8 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_8); s.tmp_7 = r0; r0 = pxsim_Boolean__bang(s.tmp_7); s.tmp_6 = r0; r0 = (s.tmp_1 != s.tmp_6); case 5: // jmp value (already in r0) s.tmp_11 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_11); if (!r0) { step = 8; continue; } r0 = s.p___81967.fields["_connected"]; s.tmp_12 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_12); if (!r0) { step = 6; continue; } r0 = 1; { step = 7; continue; } case 6: r0 = 2; case 7: // jmp value (already in r0) s.tmp_13 = r0; r0 = s.p___81967.fields["_id"]; s.tmp_14 = r0; r0 = pxsim.control.raiseEvent(s.tmp_14, s.tmp_13); case 8: case 9: r0 = (s.i___81960 + 1); s.i___81960 = (r0); { step = 3; continue; } case 10: case 11: r0 = undefined; return leave(s, r0) default: oops() } } } controller_inline__P81944.info = {"start":344,"length":582,"line":15,"column":28,"endLine":30,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]} function controller_inline__P81944_mk(s) { checkStack(s.depth); return { parent: s, fn: controller_inline__P81944, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, tmp_8: undefined, tmp_9: undefined, tmp_10: undefined, tmp_11: undefined, tmp_12: undefined, tmp_13: undefined, tmp_14: undefined, stateWhenPushed___81945: undefined, i___81960: undefined, p___81967: undefined, } } function controller_inline__P81999(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: s.i___82004 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } s.tmp_0 = r0 = s.arg0; r0 = pxsim_Array__mk(); s.tmp_1 = r0; r0 = (s.tmp_0).fields["controllerConnectionState"] = (s.tmp_1); s.i___82004 = (0); case 1: s.tmp_1 = r0 = s.i___82004; r0 = pxsim_Array__length(globals._players___81941); s.tmp_2 = r0; r0 = (s.tmp_1 < s.tmp_2); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 4; continue; } r0 = pxsim_Array__getAt(globals._players___81941, s.i___82004); s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 2; continue; } r0 = s.arg0.fields["controllerConnectionState"]; s.tmp_4 = r0; s.tmp_5 = r0 = s.i___82004; r0 = pxsim_Array__getAt(globals._players___81941, s.i___82004); s.tmp_7 = r0; r0 = s.tmp_7.fields["_connected"]; s.tmp_6 = r0; r0 = pxsim_Array_.setAt(s.tmp_4, s.tmp_5, s.tmp_6); case 2: case 3: r0 = (s.i___82004 + 1); s.i___82004 = (r0); { step = 1; continue; } case 4: r0 = undefined; return leave(s, r0) default: oops() } } } controller_inline__P81999.info = {"start":957,"length":254,"line":31,"column":29,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["oldScene"]} function controller_inline__P81999_mk(s) { checkStack(s.depth); return { parent: s, fn: controller_inline__P81999, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, i___82004: undefined, arg0: undefined, } } function info_inline__P82392(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = pxsim_numops_toBoolDecr(globals.infoState___82388); if (!r0) { step = 3; continue; } r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___82390); s.tmp_1 = r0; r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } r0 = pxsim_Array__mk(); globals.infoStateStack___82390 = (r0); case 1: case 2: r0 = pxsim_pxtrt.mkMap(); s.tmp_0 = r0; r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___82388); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0); r0 = pxsim_Array__push(globals.infoStateStack___82390, s.tmp_0); globals.infoState___82388 = (undefined); case 3: case 4: r0 = undefined; return leave(s, r0) default: oops() } } } info_inline__P82392.info = {"start":2619,"length":259,"line":94,"column":29,"endLine":103,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]} function info_inline__P82392_mk(s) { checkStack(s.depth); return { parent: s, fn: info_inline__P82392, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, arg0: undefined, } } function info_inline__P82408(s) { let r0 = s.r0, step = s.pc; s.pc = -1; while (true) { if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; switch (step) { case 0: s.scene___82409 = undefined; s.nextState___82418 = undefined; s.tmp_0 = game_currentScene__P81957_mk(s); s.callLocIdx = 769; s.pc = 7; return s.tmp_0; case 7: r0 = s.retval; s.scene___82409 = (r0); globals.infoState___82388 = (undefined); s