home *** CD-ROM | disk | FTP | other *** search
Text File | 2007-03-20 | 59.1 KB | 1,394 lines |
- function MOT_trace(message_)
- {
- }
- function MOT_random(min_, max_)
- {
- var r;
- do
- {
- r = Math.random();
- }
- while(r == 1);
-
- return min_ + Math.floor(r * (max_ + 1 - min_));
- }
- function MOT_Atom()
- {
- this.owner = 0;
- this.next = 0;
- this.index = 0;
- this.processedIndex = 0;
- }
- function MOT_AtomGroup(size_)
- {
- this.free = 0;
- this.size = size_;
- this.start = 0;
- this.Atoms = new Array(this.size);
- this.head = 0;
- var i;
- i = 0;
- while(i < this.size)
- {
- this.Atoms[i] = new MOT_Atom();
- this.Atoms[i].next = i + 1;
- i++;
- }
- this.Atoms[i].next = -1;
- this.free = 0;
- this.start = -1;
- _root.MOT_trace("Creating Atoms, " + this.size + " elements");
- }
- function MOT_Keypad()
- {
- var i;
- this.state = new Array();
- i = 0;
- while(i < 256)
- {
- this.state[i] = 0;
- i++;
- }
- this.onKeyDown = function()
- {
- this.state[Key.getCode()] = 1;
- };
- this.onKeyUp = function()
- {
- this.state[Key.getCode()] = 0;
- };
- Key.addListener(this);
- }
- function MOT_Level()
- {
- this.Mickey = 0;
- this.Level = 0;
- }
- function MOT_ObjGroup()
- {
- var i;
- this.TheAtoms = new MOT_AtomGroup(64);
- this.KillList = new MOT_AtomGroup(64);
- i = 0;
- while(i < 256)
- {
- _root.Collide_DN_Tabl[i] = 0;
- i++;
- }
- _root.Collide_DN_Tabl[1] = 1;
- _root.Collide_DN_Tabl[6] = 1;
- _root.Collide_DN_Tabl[7] = 1;
- _root.Collide_DN_Tabl[8] = 1;
- _root.Collide_DN_Tabl[9] = 1;
- this.PlayerArray = new Array();
- this.ObjectArray = new Array();
- var i = 0;
- while(i <= 10)
- {
- var row = new Array();
- this.ObjectArray[i] = row;
- var j = 0;
- while(j <= 10)
- {
- row[j] = new Array();
- j++;
- }
- i++;
- }
- this.processedIndex = 0;
- }
- function MOT_Obj()
- {
- var i;
- this.Keys_state = new Array();
- this.Keys_pressed = new Array();
- i = 0;
- while(i < 32)
- {
- this.Keys_state[i] = 0;
- this.Keys_pressed[i] = 0;
- i++;
- }
- this.Obj_Group = 0;
- i = 0;
- while(i < 4)
- {
- this["Obj_Hndlr" + i] = 0;
- this["Obj_Hndlr" + i + "_i"] = 0;
- i++;
- }
- this.Obj_Flip = 1;
- this.Obj_Flags = 0;
- this.Obj_Trans = 0;
- this.Obj_Depth = 0;
- this.Obj_Flash = 0;
- this.Obj_X = 0;
- this.Obj_Y = 0;
- this.Obj_HotX = 0;
- this.Obj_HotY = 0;
- this.Obj_RegX = 0;
- this.Obj_RegY = 0;
- this.Obj_DX = 0;
- this.Obj_DY = 0;
- this.Obj_X1 = 0;
- this.Obj_Y1 = 0;
- this.Obj_X2 = 0;
- this.Obj_Y2 = 0;
- this.CX1 = 0;
- this.CY1 = 0;
- this.CX2 = 0;
- this.CY2 = 0;
- this.Obj_Width = 0;
- this.Obj_Height = 0;
- this.Obj_AnimFrame = -1;
- this.Obj_Timer = 0;
- this.Obj_Target = 0;
- this.Obj_Climb = 0;
- this.Obj_Shield_Up = 0;
- this.Obj_Health = 3;
- this.CX_Flags = 0;
- this.CX_Fall_Flag = 0;
- this.CX_Collide_Flag = 0;
- this.CX_Bounce_Flag = 0;
- this.CX_Obj_Collide = 0;
- this.CX_DY = 0;
- this.Old_X0 = 0;
- this.Old_Y0 = 0;
- this.counter = 0;
- _root.MOT_Trace("Creating MOT_Obj");
- }
- function teleportCreate(owner_)
- {
- _root.Objs.create("TeleportClass",64,0,owner_.Obj_X,owner_.Obj_Y,null);
- }
- function teleportCheck(owner_)
- {
- var x = owner_.Obj_X >> 16 & 4294967288;
- var y = owner_.Obj_Y >> 16 & 4294967288;
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 10)
- {
- _root.goto_Flag = 8;
- return 1;
- }
- return 0;
- }
- function helpCheck(owner_)
- {
- var x = owner_.Obj_X >> 16 & 4294967288;
- var y = owner_.Obj_Y >> 16 & 4294967288;
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 30)
- {
- _root.KeyLocked = 1;
- _root.snd.attachSound("LV_131");
- _root.snd.start();
- _root.Objs.create("HelpClass",80,1,7864320,5242880,8).gotoAndPlay("help1");
- }
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 31)
- {
- _root.KeyLocked = 1;
- _root.snd.attachSound("LV_131");
- _root.snd.start();
- _root.Objs.create("HelpClass",80,1,7864320,5242880,8).gotoAndPlay("help2");
- }
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 32)
- {
- _root.KeyLocked = 1;
- _root.snd.attachSound("LV_131");
- _root.snd.start();
- _root.Objs.create("HelpClass",80,1,7864320,5242880,8).gotoAndPlay("help3");
- }
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 33)
- {
- _root.KeyLocked = 1;
- _root.snd.attachSound("LV_131");
- _root.snd.start();
- _root.Objs.create("HelpClass",80,1,7864320,5242880,8).gotoAndPlay("help4");
- }
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 34)
- {
- _root.KeyLocked = 1;
- _root.snd.attachSound("LV_131");
- _root.snd.start();
- _root.Objs.create("HelpClass",80,1,7864320,5242880,8).gotoAndPlay("help5");
- }
- if(_root.CMapArray[y / 8 * 102 + x / 8] == 60)
- {
- _root.KeyLocked = 1;
- _root.snd.attachSound("LV_131");
- _root.snd.start();
- _root.Objs.create("HelpClass",80,1,7864320,5242880,8).gotoAndPlay("ATFK1");
- }
- }
- function gotoTitle()
- {
- _root.Title = _root.attachMovie("Title Screen","Title Screen",0);
- _root.Title._x = 120;
- _root.Title._y = 80;
- _root.snd.attachSound("LVM_00");
- _root.snd.start();
- }
- function gotoWin()
- {
- _root.Win = _root.attachMovie("Win Screen","Win Screen",0);
- _root.Win._x = 120;
- _root.Win._y = 80;
- _root.snd.attachSound("LVM_01_loop");
- _root.snd.start(0,9999);
- }
- function gotoLose()
- {
- _root.Lose = _root.attachMovie("Game Over","Game Over",0);
- _root.Lose._x = 120;
- _root.Lose._y = 80;
- _root.snd.attachSound("LV_214_loop");
- _root.snd.start(0,9999);
- }
- function gotoGame()
- {
- _root.frame = 0;
- _root.snd.stop("LVM_00");
- _root.snd.attachSound("LVM_02_loop");
- _root.snd.start(0,9999);
- _root.Health = _root.attachMovie("HealthBarClass","x",0);
- _root.Health._x = 24;
- _root.Health._y = 159;
- _root.Fighter = _root.Objs.create("FighterClass",48,0,4718592,6291456,128);
- _root.Runner = _root.Objs.create("RunnerClass",32,0,6815744,6291456,128);
- _root.Shield = _root.Objs.create("ShieldClass",32,0,2621440,6291456,128);
- _root.Elevator1 = _root.Objs.create("ElevatorClass",8,0,8388608,7274496,8);
- _root.Elevator2 = _root.Objs.create("ElevatorClass",8,0,4194304,28246016,8);
- _root.EnergyField1 = _root.Objs.create("EnergyFieldClass",64,0,8388608,21889024,null);
- _root.EnergyField1.Obj_Climb = 0;
- _root.EnergyField2 = _root.Objs.create("EnergyFieldClass",64,0,4194304,51118080,null);
- _root.EnergyField2.Obj_Climb = 1;
- _root.Barrier1 = _root.Objs.create("BarrierClass",32,0,31916032,10485760,null);
- _root.Barrier1.Obj_Climb = 2;
- _root.Barrier2 = _root.Objs.create("BarrierClass",32,0,23527424,27262976,null);
- _root.Barrier2.Obj_Climb = 3;
- _root.Switch1 = _root.Objs.create("SwitchClass",12,0,33816576,8912896,null);
- _root.Switch1.Obj_Climb = 0;
- _root.Switch2 = _root.Objs.create("SwitchClass",12,0,22020096,25624576,null);
- _root.Switch2.Obj_Climb = 1;
- _root.Door1 = _root.Objs.create("DoorClass",56,0,41418752,10485760,null);
- _root.Door1.Obj_Climb = 2;
- _root.Door2 = _root.Objs.create("DoorLockClass",56,0,35127296,27262976,null);
- _root.Door2.Obj_Climb = 3;
- _root.Door3 = _root.Objs.create("DoorClass",56,0,7864320,49283072,null);
- _root.Door3.Obj_Climb = 0;
- _root.Door4 = _root.Objs.create("DoorLockClass",56,0,27787264,49283072,null);
- _root.Door4.Obj_Climb = 1;
- _root.CMapArray[9334] = 1;
- _root.CMapArray[9335] = 1;
- _root.CMapArray[9436] = 1;
- _root.CMapArray[9437] = 1;
- _root.CMapArray[9538] = 1;
- _root.CMapArray[9539] = 1;
- _root.RedKey = _root.Objs.create("RedKeyClass",12,0,50462720,33488896,null);
- _root.RedHole = _root.Objs.create("RedHoleClass",12,0,36569088,26214400,8);
- _root.YellowKey = _root.Objs.create("YellowKeyClass",12,0,11534336,37158912,null);
- _root.YellowHole = _root.Objs.create("YellowHoleClass",12,0,25690112,48168960,8);
- _root.Bowling1 = _root.Objs.create("BowlingClass",32,0,23068672,40828928,null);
- _root.Bowling2 = _root.Objs.create("BowlingClass",32,0,40894464,43974656,null);
- _root.Bowling3 = _root.Objs.create("BowlingClass",32,0,46661632,43974656,null);
- _root.Bowling4 = _root.Objs.create("BowlingClass",32,0,35782656,49217536,null);
- _root.Wall1 = _root.Objs.create("WallClass",64,0,17235968,19922944,null);
- _root.Wall1.Obj_Climb = 2;
- _root.Wall2 = _root.Objs.create("WallClass",64,0,11993088,27262976,null);
- _root.Wall2.Obj_Climb = 3;
- _root.ATFK = _root.Objs.create("ATFKClass",32,0,42467328,37683200,null);
- _root.ATFK.Obj_Climb = 0;
- _root.Exit = _root.Objs.create("ExitClass",32,0,39976960,43909120,null);
- _root.Exit.Obj_Climb = 1;
- _root.Space = _root.Objs.create("SpaceClass",0,2,0,0,264);
- _root.SpaceFG = _root.Objs.create("SpaceFGClass",60,2,0,0,256);
- _root.Arrow = 0;
- _root.Level.gotoMickey(_root.Runner);
- _root.Level.setLevel(_root.Space);
- }
- function quitGame()
- {
- _root.Fighter.kill();
- _root.Runner.kill();
- _root.Shield.kill();
- _root.Runner.kill();
- _root.Elevator1.kill();
- _root.Elevator2.kill();
- _root.EnergyField1.kill();
- _root.EnergyField2.kill();
- _root.Barrier1.kill();
- _root.Barrier2.kill();
- _root.Switch1.kill();
- _root.Switch2.kill();
- _root.Door1.kill();
- _root.Door2.kill();
- _root.Door3.kill();
- _root.Door4.kill();
- _root.RedKey.kill();
- _root.RedHole.kill();
- _root.YellowKey.kill();
- _root.YellowHole.kill();
- _root.Bowling1.kill();
- _root.Bowling2.kill();
- _root.Bowling3.kill();
- _root.Bowling4.kill();
- _root.Wall1.kill();
- _root.Wall2.kill();
- _root.ATFK.kill();
- _root.Exit.kill();
- _root.Space.kill();
- _root.SpaceFG.kill();
- if(_root.Arrow)
- {
- _root.Arrow.kill();
- }
- _root.Health.removeMovieClip();
- _root.snd.stop("LVM_02_loop");
- }
- _root.KEY_LT = 37;
- _root.KEY_RT = 39;
- _root.KEY_UP = 38;
- _root.KEY_DN = 40;
- _root.KEY_A = 65;
- _root.KEY_B = 83;
- _root.KEY_LB = 81;
- _root.KEY_RB = 87;
- _root.KEY_CHEAT = 17;
- _root.Obj_Flags_ALWAYSRUN = 384;
- _root.Obj_Flags_BACKGROUND = 256;
- _root.Obj_Flags_MICKEY = 128;
- _root.Obj_Flags_DEAD = 64;
- _root.Obj_Flags_SPECIAL = 32;
- _root.Obj_Flags_KILL = 16;
- _root.Obj_Flags_KEYBD = 8;
- _root.Obj_Flags_GONE = 4;
- _root.Obj_Flags_ATTACK = 2;
- _root.Obj_Flags_CLIMBING = 1;
- _root.Scroll_X = 0;
- _root.Scroll_Y = 0;
- _root.KeyLocked = 0;
- _root.ImpactX_Flag = 0;
- _root.ImpactY_Flag = 0;
- _root.goto_Flag = 0;
- _root.bits_on = [128,64,32,16,8,4,2,1];
- _root.bits_off = [127,191,223,239,247,251,253,254];
- _root.Impact_Tabl = [0,-1,2,-3,4,-5,6,-7,8];
- _root.Collide_DN_Tabl = new Array();
- MOT_Atom.prototype = new Object();
- MOT_AtomGroup.prototype = new Object();
- MOT_AtomGroup.prototype.reset = function()
- {
- var i;
- i = 0;
- while(i < this.size)
- {
- this.Atoms[i].next = i + 1;
- i++;
- }
- this.Atoms[i].next = -1;
- this.free = 0;
- this.start = -1;
- };
- MOT_AtomGroup.prototype.addAtom = function(object_)
- {
- var i = this.free;
- _root.MOT_trace("addAtom: object: " + object_);
- this.free = this.Atoms[i].next;
- this.Atoms[i].owner = object_;
- this.Atoms[i].next = this.start;
- this.Atoms[i].index = i;
- this.start = i;
- return this.Atoms[i];
- };
- MOT_AtomGroup.prototype.delAtom = function(atom_)
- {
- var i;
- i = atom_.index;
- _root.MOT_trace("delAtom: object: " + i);
- this.start = this.Atoms[i].next;
- this.Atoms[i].next = this.free;
- this.free = i;
- };
- MOT_AtomGroup.prototype.changeAtom(i,object_);
- this.Atoms[i].owner = object_;
- MOT_AtomGroup.prototype.rewind = function()
- {
- this.head = this.start;
- };
- MOT_AtomGroup.prototype.forward = function()
- {
- this.head = this.Atoms[this.head].next;
- };
- MOT_AtomGroup.prototype.getHead = function()
- {
- return this.head;
- };
- MOT_Keypad.prototype = new Object();
- MOT_Level.prototype = new Object();
- MOT_Level.prototype.setMickey = function(mickey_)
- {
- this.Mickey = mickey_;
- };
- MOT_Level.prototype.exitMickey = function(mickey_)
- {
- mickey_.killKeys();
- mickey_.Obj_Flash = 0;
- mickey_._visible = 1;
- mickey_.setDepth(16);
- };
- MOT_Level.prototype.gotoMickey = function(mickey_)
- {
- this.Mickey = mickey_;
- this.Mickey.Obj_Flash = 20;
- this.Mickey.setDepth(48);
- _root.goto_Flag = 8;
- };
- MOT_Level.prototype.getMickey = function()
- {
- return this.Mickey;
- };
- MOT_Level.prototype.setLevel = function(level_)
- {
- this.Level = level_;
- };
- MOT_Level.prototype.scroll = function()
- {
- _root.Scroll_X = (this.Mickey.Obj_X >> 16) - 120;
- _root.Scroll_Y = (this.Mickey.Obj_Y >> 16) - 80;
- if(_root.Scroll_X < 0)
- {
- _root.Scroll_X = 0;
- }
- if(_root.Scroll_X > this.Level._width - 240)
- {
- _root.Scroll_X = this.Level._width - 240;
- }
- if(_root.Scroll_Y < 0)
- {
- _root.Scroll_Y = 0;
- }
- if(_root.Scroll_Y > this.Level._height - 160)
- {
- _root.Scroll_Y = this.Level._height - 160;
- }
- if(_root.ImpactX_Flag)
- {
- _root.Scroll_X += _root.Impact_Tabl[--_root.ImpactX_Flag];
- }
- if(_root.ImpactY_Flag)
- {
- _root.Scroll_Y += _root.Impact_Tabl[--_root.ImpactY_Flag];
- }
- };
- MOT_ObjGroup.prototype = new Object();
- MOT_ObjGroup.prototype.addObject = function(object_)
- {
- var atom = this.TheAtoms.addAtom(object_);
- object_.atom = atom;
- object_.updateCacheIndexes();
- if(object_.alwaysRun())
- {
- this.ObjectArray[object_.xCacheIndex][object_.yCacheIndex].push(atom);
- }
- else
- {
- this.PlayerArray.push(atom);
- }
- return atom.index;
- };
- _root.removeFromArray = function(array, object)
- {
- var len = array.length;
- var i = 0;
- while(i < len)
- {
- if(array[i] == object)
- {
- array.splice(i,1);
- return undefined;
- }
- i++;
- }
- };
- MOT_ObjGroup.prototype.removeObject = function(object_)
- {
- var atom = object_.atom;
- object_.updateCacheIndexes();
- if(object_.Obj_Flags & 0x0180)
- {
- trace("removeFromArray: " + object_);
- removeFromArray(this.PlayerArray,atom);
- }
- else
- {
- removeFromArray(this.ObjectArray[object_.oldXCacheIndex][object_.oldYCacheIndex],atom);
- }
- trace("removing: " + object_);
- object_.removeMovieClip();
- this.theAtoms.delAtom(atom);
- };
- MOT_ObjGroup.prototype.cull = function()
- {
- var i;
- this.KillList.rewind();
- while((i = this.KillList.getHead()) != -1)
- {
- trace("killing: " + this.KillList.Atoms[i].owner);
- this.removeObject(this.KillList.Atoms[i].owner);
- this.KillList.forward();
- }
- this.KillList.reset();
- };
- MOT_ObjGroup.prototype.kill = function(object_)
- {
- trace("adding to killList: " + object_);
- this.KillList.addAtom(object_);
- };
- MOT_ObjGroup.prototype.killAll = function()
- {
- var i;
- this.theAtoms.rewind();
- while((i = this.theAtoms.getHead()) != -1)
- {
- trace("killing: " + this.theAtoms.Atoms[i].owner);
- this.kill(this.theAtoms.Atoms[i].owner);
- this.theAtoms.forward();
- }
- this.theAtoms.reset();
- };
- MOT_ObjGroup.prototype.remapIntoCache = function(object_)
- {
- if(object_.Obj_Flags & 0x0180)
- {
- return undefined;
- }
- var atom = object_.atom;
- object_.updateCacheIndexes();
- removeFromArray(this.ObjectArray[object_.oldXCacheIndex][object_.oldYCacheIndex],atom);
- this.ObjectArray[object_.xCacheIndex][object_.yCacheIndex].push(atom);
- };
- MOT_ObjGroup.prototype.changeObject = function(i, object_)
- {
- this.TheAtoms.changeAtom(i,owner_);
- };
- MOT_ObjGroup.prototype.loop = function(h)
- {
- var x;
- var y;
- var functionName = "Obj_Hndlr" + h;
- this.processedIndex = this.processedIndex + 1;
- var numPlayers = this.PlayerArray.length;
- var i = 0;
- while(i < numPlayers)
- {
- trace("PROCESSING PLAYER " + this.PlayerArray[i].index);
- var player = this.PlayerArray[i].owner;
- player[functionName]();
- if(player.Obj_Flags & 0x80)
- {
- var deltaX = player.xCacheIndex - player.oldXCacheIndex;
- var deltaY = player.yCacheIndex - player.oldYCacheIndex;
- if(deltaX || deltaY)
- {
- x = player.oldXCacheIndex - 1;
- while(x <= player.oldXCacheIndex + 1)
- {
- y = player.oldYCacheIndex - 1;
- while(y <= player.oldYCacheIndex + 1)
- {
- var npcs = this.ObjectArray[x][y];
- var n = 0;
- while(n < npcs.length)
- {
- var npc = npcs[n].owner;
- if(npc.processedIndex != this.processedIndex)
- {
- npc.processedIndex = this.processedIndex;
- npc[functionName]();
- }
- n++;
- }
- y++;
- }
- x++;
- }
- }
- var x1;
- var y1;
- var x2;
- var y2;
- if(player == _root.Level.getMickey() || _root.goto_Flag)
- {
- x1 = (player.Obj_X >> 16) - 128;
- y1 = (player.Obj_Y >> 16) - 128;
- x2 = x1 + 256;
- y2 = y1 + 256;
- if(_root.goto_Flag)
- {
- _root.goto_Flag--;
- }
- }
- else
- {
- x1 = (player.Obj_X >> 16) - 32;
- y1 = (player.Obj_Y >> 16) - 32;
- x2 = x1 + 64;
- y2 = y1 + 64;
- }
- x1 >>= 7;
- y1 >>= 7;
- x2 >>= 7;
- y2 >>= 7;
- x = x1;
- while(x <= x2)
- {
- y = y1;
- while(y <= y2)
- {
- var npcs = this.ObjectArray[x][y];
- var n = 0;
- while(n < npcs.length)
- {
- var npc = npcs[n].owner;
- if(npc.processedIndex != this.processedIndex)
- {
- npc.processedIndex = this.processedIndex;
- npc[functionName]();
- }
- n++;
- }
- y++;
- }
- x++;
- }
- }
- i++;
- }
- };
- MOT_ObjGroup.prototype.create = function(symbol_, depth_, sprite_, x, y, flags)
- {
- var instance;
- Object.registerClass(symbol_,MOT_Obj);
- instance = _root.attachMovie(symbol_,"ObjID" + this.TheAtoms.free,depth_ * 64 + this.TheAtoms.free + 16384);
- instance.init(this,depth_,sprite_,x,y,flags);
- instance._x = instance._y = 999;
- return instance;
- };
- MOT_Obj.prototype = new MovieClip();
- MOT_Obj.prototype.init = function(group_, depth_, sprite_, x_, y_, flags_)
- {
- this.Obj_X = x_;
- this.Obj_Y = y_;
- this.Obj_Group = group_;
- this.Obj_Depth = depth_;
- switch(sprite_)
- {
- case 0:
- this.Obj_Sprite = this.Sprite;
- this.setHndlr(3,this.apply_NORMAL);
- break;
- case 1:
- this.Obj_Sprite = this.Sprite0;
- this.Obj_Flags |= 256;
- this.setHndlr(3,this.apply_NORMAL0);
- break;
- case 2:
- this.Obj_Sprite = this.SpriteX;
- this.setHndlr(3,this.apply_NORMALX);
- }
- this.Obj_Flags |= flags_;
- this.Obj_Hndlr1_i = this.Obj_Group.addObject(this);
- this.setHndlr(1,null);
- this.setHndlr(2,null);
- if(this.Obj_Flags & 0x80)
- {
- this.onKeyDown = function()
- {
- if(this == _root.Level.getMickey() && !_root.KeyLocked)
- {
- var c = Key.getCode();
- var i = (c & 0xF8) / 8;
- if(!(this.Keys_state[i] & _root.Bits_on[c & 7]))
- {
- this.Keys_pressed[i] |= _root.Bits_on[c & 7];
- }
- this.Keys_state[i] |= _root.Bits_on[c & 7];
- }
- };
- this.onKeyUp = function()
- {
- var c = Key.getCode();
- var i = c >> 3;
- this.Keys_state[i] &= _root.Bits_off[c & 7];
- };
- Key.addListener(this);
- this.setHndlr(3,this.apply_MICKEY);
- }
- if(this.Obj_Flags & 8)
- {
- this.onKeyDown = function()
- {
- var c = Key.getCode();
- var i = (c & 0xF8) / 8;
- if(!(this.Keys_state[i] & _root.Bits_on[c & 7]))
- {
- this.Keys_pressed[i] |= _root.Bits_on[c & 7];
- }
- this.Keys_state[i] |= _root.Bits_on[c & 7];
- };
- this.onKeyUp = function()
- {
- var c = Key.getCode();
- var i = c >> 3;
- this.Keys_state[i] &= _root.Bits_off[c & 7];
- };
- Key.addListener(this);
- this.Obj_Flash = -1;
- this.setHndlr(3,this.apply_KEYBD);
- }
- };
- MOT_Obj.prototype.kill = function()
- {
- if(!(this.Obj_Flags & 0x10))
- {
- this.Obj_Flags |= 16;
- this.Obj_Group.kill(this);
- }
- };
- MOT_Obj.prototype.isNPC = function()
- {
- return !(this.Obj_Flags & 0x80);
- };
- MOT_Obj.prototype.alwaysRun = function()
- {
- return !(this.Obj_Flags & 0x0180);
- };
- MOT_Obj.prototype.updateCacheIndexes = function()
- {
- this.oldXCacheIndex = this.xCacheIndex;
- this.xCacheIndex = this.Obj_X + 128 >> 23;
- if(this.xCacheIndex < 0)
- {
- this.xCacheIndex = 0;
- }
- else if(this.xCacheIndex > 10)
- {
- this.xCacheIndex = 10;
- }
- this.oldYCacheIndex = this.yCacheIndex;
- this.yCacheIndex = this.Obj_Y + 128 >> 23;
- if(this.yCacheIndex < 0)
- {
- this.yCacheIndex = 0;
- }
- else if(this.yCacheIndex > 10)
- {
- this.yCacheIndex = 10;
- }
- };
- MOT_Obj.prototype.updateCache = function()
- {
- if(this.Obj_Flags & 0x0180)
- {
- return undefined;
- }
- this.oldXCacheIndex = this.xCacheIndex;
- this.xCacheIndex = this.Obj_X + 128 >> 23;
- if(this.xCacheIndex < 0)
- {
- this.xCacheIndex = 0;
- }
- else if(this.xCacheIndex > 10)
- {
- this.xCacheIndex = 10;
- }
- this.oldYCacheIndex = this.yCacheIndex;
- this.yCacheIndex = this.Obj_Y + 128 >> 23;
- if(this.yCacheIndex < 0)
- {
- this.yCacheIndex = 0;
- }
- else if(this.yCacheIndex > 10)
- {
- this.yCacheIndex = 10;
- }
- if(this.oldXCacheIndex != this.xCacheIndex || this.oldYCacheIndex != this.yCacheIndex)
- {
- _root.Objs.remapIntoCache(this);
- }
- };
- MOT_Obj.prototype.updateCacheX = function()
- {
- this.oldXCacheIndex = this.xCacheIndex;
- this.xCacheIndex = this.Obj_X + 128 >> 23;
- if(this.xCacheIndex < 0)
- {
- this.xCacheIndex = 0;
- }
- else if(this.xCacheIndex > 10)
- {
- this.xCacheIndex = 10;
- }
- this.oldYCacheIndex = this.yCacheIndex;
- this.yCacheIndex = this.Obj_Y + 128 >> 23;
- if(this.yCacheIndex < 0)
- {
- this.yCacheIndex = 0;
- }
- else if(this.yCacheIndex > 10)
- {
- this.yCacheIndex = 10;
- }
- if(this.oldXCacheIndex != this.xCacheIndex || this.oldYCacheIndex != this.yCacheIndex)
- {
- _root.Objs.remapIntoCache(this);
- }
- };
- MOT_Obj.prototype.setXY = function(newX, newY)
- {
- this.Obj_X = newX;
- this.Obj_Y = newY;
- if(this.Obj_Flags & 0x0180)
- {
- return undefined;
- }
- this.updateCacheIndexes();
- if(this.oldXCacheIndex != this.xCacheIndex || this.oldYCacheIndex != this.yCacheIndex)
- {
- _root.Objs.remapIntoCache(this);
- }
- };
- MOT_Obj.prototype.setX = function(newX)
- {
- this.Obj_X = newX;
- if(this.Obj_Flags & 0x0180)
- {
- return undefined;
- }
- this.updateCacheIndexes();
- if(this.oldXCacheIndex != this.xCacheIndex || this.oldYCacheIndex != this.yCacheIndex)
- {
- _root.Objs.remapIntoCache(this);
- }
- };
- MOT_Obj.prototype.setY = function(newY)
- {
- this.Obj_Y = newY;
- if(this.Obj_Flags & 0x0180)
- {
- return undefined;
- }
- this.updateCacheIndexes();
- if(this.oldXCacheIndex != this.xCacheIndex || this.oldYCacheIndex != this.yCacheIndex)
- {
- _root.Objs.remapIntoCache(this);
- }
- };
- MOT_Obj.prototype.getKey = function(c)
- {
- return this.Keys_state[c >> 3] & _root.Bits_on[c & 7];
- };
- MOT_Obj.prototype.getPressed = function(c)
- {
- return this.Keys_pressed[c >> 3] & _root.Bits_on[c & 7];
- };
- MOT_Obj.prototype.setHndlr = function(h, method_)
- {
- this["Obj_Hndlr" + h] = method_;
- };
- MOT_Obj.prototype.apply_NORMAL = function()
- {
- this._x = (this.Obj_X >> 16) - _root.Scroll_X;
- this._y = (this.Obj_Y >> 16) - _root.Scroll_Y;
- this._xscale = this.Obj_Flip * 100;
- };
- MOT_Obj.prototype.apply_NORMAL0 = function()
- {
- this._x = this.Obj_X >> 16;
- this._y = this.Obj_Y >> 16;
- this._xscale = this.Obj_Flip * 100;
- };
- MOT_Obj.prototype.apply_NORMALX = function()
- {
- this._x = - _root.Scroll_X;
- this._y = - _root.Scroll_Y;
- this._xscale = this.Obj_Flip * 100;
- };
- MOT_Obj.prototype.apply_KEYBD = function()
- {
- var i;
- this.Keys_pressed[0] = 0;
- this.Keys_pressed[1] = 0;
- this.Keys_pressed[2] = 0;
- this.Keys_pressed[3] = 0;
- this.Keys_pressed[4] = 0;
- this.Keys_pressed[5] = 0;
- this.Keys_pressed[6] = 0;
- this.Keys_pressed[7] = 0;
- this.Keys_pressed[8] = 0;
- this.Keys_pressed[9] = 0;
- this.Keys_pressed[10] = 0;
- this.Keys_pressed[11] = 0;
- this.Keys_pressed[12] = 0;
- this.Keys_pressed[13] = 0;
- this.Keys_pressed[14] = 0;
- this.Keys_pressed[15] = 0;
- this.Obj_Sprite();
- this._xscale = this.Obj_Flip * 100;
- };
- MOT_Obj.prototype.apply_MICKEY = function()
- {
- var i;
- this.Keys_pressed[0] = 0;
- this.Keys_pressed[1] = 0;
- this.Keys_pressed[2] = 0;
- this.Keys_pressed[3] = 0;
- this.Keys_pressed[4] = 0;
- this.Keys_pressed[5] = 0;
- this.Keys_pressed[6] = 0;
- this.Keys_pressed[7] = 0;
- this.Keys_pressed[8] = 0;
- this.Keys_pressed[9] = 0;
- this.Keys_pressed[10] = 0;
- this.Keys_pressed[11] = 0;
- this.Keys_pressed[12] = 0;
- this.Keys_pressed[13] = 0;
- this.Keys_pressed[14] = 0;
- this.Keys_pressed[15] = 0;
- this.Obj_Sprite();
- this._xscale = this.Obj_Flip * 100;
- this.updateCacheIndexes();
- if(this.Obj_Flash > -1)
- {
- if(this.Obj_Flash)
- {
- if((this.Obj_Flash & 3) > 2)
- {
- this._visible = 1;
- }
- else
- {
- this._visible = 0;
- }
- this.Obj_Flash--;
- }
- else
- {
- this._visible = 1;
- }
- }
- };
- MOT_OBJ.prototype.setDepth = function(depth_)
- {
- this.Obj_Depth = depth_;
- this.swapDepths(this.Obj_Depth * 64 + this.Obj_Hndlr1_i + 16384);
- };
- MOT_Obj.prototype.Sprite = function()
- {
- this._x = (this.Obj_X >> 16) - _root.Scroll_X;
- this._y = (this.Obj_Y >> 16) - _root.Scroll_Y;
- };
- MOT_Obj.prototype.Sprite0 = function()
- {
- this._x = this.Obj_X >> 16;
- this._y = this.Obj_Y >> 16;
- };
- MOT_Obj.prototype.SpriteX = function()
- {
- this._x = - _root.Scroll_X;
- this._y = - _root.Scroll_Y;
- };
- MOT_Obj.prototype.killKeys = function()
- {
- this.Keys_pressed[0] = 0;
- this.Keys_pressed[1] = 0;
- this.Keys_pressed[2] = 0;
- this.Keys_pressed[3] = 0;
- this.Keys_pressed[4] = 0;
- this.Keys_pressed[5] = 0;
- this.Keys_pressed[6] = 0;
- this.Keys_pressed[7] = 0;
- this.Keys_pressed[8] = 0;
- this.Keys_pressed[9] = 0;
- this.Keys_pressed[10] = 0;
- this.Keys_pressed[11] = 0;
- this.Keys_pressed[12] = 0;
- this.Keys_pressed[13] = 0;
- this.Keys_pressed[14] = 0;
- this.Keys_pressed[15] = 0;
- this.Keys_pressed[16] = 0;
- this.Keys_pressed[17] = 0;
- this.Keys_pressed[18] = 0;
- this.Keys_pressed[19] = 0;
- this.Keys_pressed[20] = 0;
- this.Keys_pressed[21] = 0;
- this.Keys_pressed[22] = 0;
- this.Keys_pressed[23] = 0;
- this.Keys_pressed[24] = 0;
- this.Keys_pressed[25] = 0;
- this.Keys_pressed[26] = 0;
- this.Keys_pressed[27] = 0;
- this.Keys_pressed[28] = 0;
- this.Keys_pressed[29] = 0;
- this.Keys_pressed[30] = 0;
- this.Keys_pressed[31] = 0;
- this.Keys_state[0] = 0;
- this.Keys_state[1] = 0;
- this.Keys_state[2] = 0;
- this.Keys_state[3] = 0;
- this.Keys_state[4] = 0;
- this.Keys_state[5] = 0;
- this.Keys_state[6] = 0;
- this.Keys_state[7] = 0;
- this.Keys_state[8] = 0;
- this.Keys_state[9] = 0;
- this.Keys_state[10] = 0;
- this.Keys_state[11] = 0;
- this.Keys_state[12] = 0;
- this.Keys_state[13] = 0;
- this.Keys_state[14] = 0;
- this.Keys_state[15] = 0;
- this.Keys_state[16] = 0;
- this.Keys_state[17] = 0;
- this.Keys_state[18] = 0;
- this.Keys_state[19] = 0;
- this.Keys_state[20] = 0;
- this.Keys_state[21] = 0;
- this.Keys_state[22] = 0;
- this.Keys_state[23] = 0;
- this.Keys_state[24] = 0;
- this.Keys_state[25] = 0;
- this.Keys_state[26] = 0;
- this.Keys_state[27] = 0;
- this.Keys_state[28] = 0;
- this.Keys_state[29] = 0;
- this.Keys_state[30] = 0;
- this.Keys_state[31] = 0;
- };
- MOT_Obj.prototype.cacheCX = function()
- {
- this.CX1 = (this.Obj_X >> 16) + this.Obj_X1;
- this.CX2 = (this.Obj_X >> 16) + this.Obj_X2;
- this.CY1 = (this.Obj_Y >> 16) + this.Obj_Y1;
- this.CY2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- };
- MOT_Obj.prototype.Ck_Collide_DN = function()
- {
- var i;
- var x1;
- var x2;
- var y2;
- x1 = (this.Obj_X >> 16) + this.Obj_X1;
- x2 = (this.Obj_X >> 16) + this.Obj_X2;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- y2 &= 4294967288;
- if(_root.Collide_DN_Tabl[_root.CMapArray[y2 / 8 * 102 + (x1 & 4294967288) / 8]] || _root.Collide_DN_Tabl[_root.CMapArray[y2 / 8 * 102 + (x2 & 4294967288) / 8]])
- {
- this.CX_Collide_Flag |= 8;
- this.Obj_Y = y2 - this.Obj_Y2 - 1 << 16;
- return 1;
- }
- return 0;
- };
- MOT_Obj.prototype.Ck_Collide_UP = function()
- {
- var i;
- var x;
- var x1;
- var x2;
- var y1;
- var y2;
- x1 = (this.Obj_X >> 16) + this.Obj_X1;
- x2 = (this.Obj_X >> 16) + this.Obj_X2;
- y1 = (this.Obj_Y >> 16) + this.Obj_Y1;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- y1 &= 4294967288;
- x = x1 & 4294967288;
- while(x <= (x2 & 4294967288))
- {
- i = y1 / 8 * 102 + x / 8;
- if(_root.CMapArray[i] == 1)
- {
- this.CX_Collide_Flag |= 4;
- this.Obj_Y = y1 + 8 - this.Obj_Y1 << 16;
- return 1;
- }
- x += 8;
- }
- return 0;
- };
- MOT_Obj.prototype.Ck_Collide_LF = function()
- {
- var i;
- var y;
- var x1;
- var x2;
- var y1;
- var y2;
- x1 = (this.Obj_X >> 16) + this.Obj_X1;
- x2 = (this.Obj_X >> 16) + this.Obj_X2;
- y1 = (this.Obj_Y >> 16) + this.Obj_Y1;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- x1 &= 4294967288;
- y = y1 & 4294967288;
- while(y <= (y2 & 4294967288))
- {
- i = y / 8 * 102 + x1 / 8;
- if(_root.CMapArray[i] == 1)
- {
- this.CX_Collide_Flag |= 1;
- this.Obj_X = x1 + 8 - this.Obj_X1 << 16;
- return 1;
- }
- y += 8;
- }
- return 0;
- };
- MOT_Obj.prototype.Ck_Collide_RT = function()
- {
- var i;
- var y;
- var x1;
- var x2;
- var y1;
- var y2;
- x1 = (this.Obj_X >> 16) + this.Obj_X1;
- x2 = (this.Obj_X >> 16) + this.Obj_X2;
- y1 = (this.Obj_Y >> 16) + this.Obj_Y1;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- x2 &= 4294967288;
- y = y1 & 4294967288;
- while(y <= (y2 & 4294967288))
- {
- i = y / 8 * 102 + x2 / 8;
- if(_root.CMapArray[i] == 1)
- {
- this.CX_Collide_Flag |= 1;
- this.Obj_X = x2 - 1 - this.Obj_X2 << 16;
- return 1;
- }
- y += 8;
- }
- return 0;
- };
- MOT_Obj.prototype.CX_Ladder = function(label_)
- {
- var i;
- var x;
- if(this.getKey(38))
- {
- if(i = this.CX_Ladder0())
- {
- x = this.Obj_X >> 16 & 7 + (i - 2) * 8;
- this.Obj_Target = this.Obj_X - (x << 16) + 1048576;
- this.Obj_Timer = 16 - x;
- this.Obj_Climb = 0;
- this.Obj_Flags |= 1;
- this.CX_Obj_Collide = 0;
- this.gotoAndPlay(label_);
- return 1;
- }
- }
- return 0;
- };
- MOT_Obj.prototype.CX_LadderX = function(label_)
- {
- var i;
- var x;
- if(this.getKey(40))
- {
- if(i = this.CX_LadderX1())
- {
- x = this.Obj_X >> 16 & 7 + (i - 6) * 8;
- this.Obj_Target = this.Obj_X - (x << 16) + 1048576;
- this.Obj_Timer = 16 - x;
- this.Obj_Climb = 1;
- this.Obj_Y = (this.Obj_Y >> 16) + 1 << 16;
- this.gotoAndPlay(label_);
- return 1;
- }
- }
- return 0;
- };
- MOT_Obj.prototype.CX_Ladder0 = function()
- {
- var i;
- var x;
- var y;
- var x1;
- var x2;
- var y1;
- var y2;
- x1 = this.Obj_X >> 16;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- x1 &= 4294967288;
- y2 &= 4294967288;
- i = y2 / 8 * 102 + x1 / 8;
- i = _root.CMapArray[i];
- if(i >= 2 && i <= 5)
- {
- return i;
- }
- return 0;
- };
- MOT_Obj.prototype.CX_LadderX0 = function()
- {
- var i;
- var x;
- var y;
- var x1;
- var x2;
- var y1;
- var y2;
- x1 = this.Obj_X >> 16;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- x1 &= 4294967288;
- y2 &= 4294967288;
- i = y2 / 8 * 102 + x1 / 8;
- i = _root.CMapArray[i];
- if(i >= 6 && i <= 9)
- {
- return i;
- }
- return 0;
- };
- MOT_Obj.prototype.CX_LadderX1 = function()
- {
- var i;
- var x;
- var y;
- var x1;
- var x2;
- var y1;
- var y2;
- x1 = this.Obj_X >> 16;
- y2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- x1 &= 4294967288;
- y2 &= 4294967288;
- i = (y2 + 8) / 8 * 102 + x1 / 8;
- i = _root.CMapArray[i];
- if(i >= 6 && i <= 9)
- {
- return i;
- }
- return 0;
- };
- MOT_Obj.prototype.CX_Gravity = function()
- {
- };
- MOT_Obj.prototype.CX_Init = function(flags_)
- {
- this.Obj_CX_Flags = flags_;
- this.CX_Collide_Flag = this.CX_Bounce_Flag = this.CX_Fall_Flag = 0;
- this.Old_X0 = this.Obj_X;
- this.Old_Y0 = this.Obj_Y;
- };
- MOT_Obj.prototype.CX = function(flags_, gravity_, max_velocity_)
- {
- var x;
- if(this.CX_DY)
- {
- this.Obj_Y += this.CX_DY;
- this.CX_DY = 0;
- }
- this.Obj_CX_Flags = flags_;
- this.CX_Collide_Flag = this.CX_Bounce_Flag = this.CX_Fall_Flag = 0;
- this.Old_X0 = this.Obj_X;
- this.Old_Y0 = this.Obj_Y;
- this.Obj_DY += gravity_;
- if(this.Obj_DY > max_velocity_)
- {
- this.Obj_DY = max_velocity_;
- }
- if(this.CX_Obj_Collide)
- {
- this.CX_Collide_Flag |= this.CX_Obj_Collide;
- }
- this.Obj_X += this.Obj_DX;
- if(this.Obj_X >> 16 != this.Old_X0 >> 16)
- {
- if(this.Obj_DX < 0)
- {
- while(this.Ck_Collide_LF())
- {
- }
- }
- else if(this.Obj_DX > 0)
- {
- while(this.Ck_Collide_RT())
- {
- }
- }
- }
- this.Obj_Y += this.Obj_DY;
- if(this.Obj_Y >> 16 != this.Old_Y0 >> 16)
- {
- if(this.Obj_DY < 0)
- {
- while(this.Ck_Collide_UP())
- {
- }
- }
- else if(this.Obj_DY > 0)
- {
- while(this.Ck_Collide_DN())
- {
- }
- }
- }
- if(this.CX_Collide_Flag & 8)
- {
- this.Obj_DY = 65536;
- }
- if(this.CX_Obj_Collide & 8)
- {
- x = 262144;
- }
- else
- {
- x = 131072;
- }
- if(this.Obj_Y - this.Old_Y0 > x)
- {
- this.CX_Fall_Flag = 1;
- }
- if(this.CX_Obj_Collide)
- {
- this.CX_Obj_Collide = 0;
- }
- this.CX1 = (this.Obj_X >> 16) + this.Obj_X1;
- this.CX2 = (this.Obj_X >> 16) + this.Obj_X2;
- this.CY1 = (this.Obj_Y >> 16) + this.Obj_Y1;
- this.CY2 = (this.Obj_Y >> 16) + this.Obj_Y2;
- };
- _root.KEY_LT = 37;
- _root.KEY_RT = 39;
- _root.KEY_UP = 38;
- _root.KEY_DN = 40;
- _root.KEY_A = 65;
- _root.KEY_B = 83;
- _root.KEY_LB = 81;
- _root.KEY_RB = 87;
- _root.KEY_CHEAT = 17;
- _root.Obj_Flags_ALWAYSRUN = 384;
- _root.Obj_Flags_BACKGROUND = 256;
- _root.Obj_Flags_MICKEY = 128;
- _root.Obj_Flags_DEAD = 64;
- _root.Obj_Flags_SPECIAL = 32;
- _root.Obj_Flags_KILL = 16;
- _root.Obj_Flags_KEYBD = 8;
- _root.Obj_Flags_GONE = 4;
- _root.Obj_Flags_ATTACK = 2;
- _root.Obj_Flags_CLIMBING = 1;
- _root.frame = 0;
- _root.Health = 0;
- _root.snd = 0;
- _root.Objs = new MOT_ObjGroup();
- _root.Keys = new MOT_Keypad();
- _root.Level = new MOT_Level();
- _root._xscale = 100;
- _root._yscale = 100;
- _root.snd = new Sound(this);
- _root.snd.setVolume(100);
- _root.gotoTitle();
- CMapArray = [1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,255,255,255,255,255,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,31,31,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,31,31,0,0,0,0,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,31,31,10,10,10,10,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,31,31,10,10,10,10,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,6,7,8,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,3,4,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,3,4,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,3,4,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,3,4,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,3,4,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,3,4,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,3,4,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,3,4,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,3,4,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,30,30,30,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,30,30,30,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,30,30,30,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,30,30,30,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,33,33,33,33,0,0,0,0,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,33,33,33,33,0,0,0,0,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,33,33,33,0,0,0,0,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,33,33,33,0,0,0,0,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,50,50,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,50,50,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,60,60,60,60,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,60,60,60,60,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,60,60,60,60,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,60,60,60,60,60,60,0,0,0,0,0,0,0,0,0,0,10,10,10,10,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,60,60,60,60,60,60,0,0,0,0,0,0,0,0,0,0,10,10,10,10,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,7,8,9,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,4,5,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,0,0,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,255,255,255,255,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255,255,255,255,255,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255];
-