Search the Community

Showing results for tags 'help'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 132 results

  1. Hi, Everyone. this is my first game ( At least the one that got completed). I wanted to make some money out of it. Since this is my first game, I didn't have high hopes. But I got rejected by every sponsor I contacted ( I mean the few who replied). So, Anyone who can give me some pointer on how I can make this game or any future game that I'll be making better. please check out my game lolly match . Any feedback will be appreciated. Thanks in Advance.
  2. Hey Community ! I'm currently using with Friends Phaser for the first time for a school project, and I need your help on 1 point. I'm using Dude as a character and blocks appear, but my problem is Dude can go out of the game Area and the game never restart :/ Any Idea ? Thanks a lot and sorry for my poor english <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Phaser - Making your first game, part 1</title> <script type="text/javascript" src="js/phaser.min.js"></script> <style type="text/css"> body { margin: 100; } </style> </head> <body> <script type="text/javascript"> var game = new Phaser.Game(500, 500, Phaser.AUTO, '', { preload: preload, create: create, update: update }); var player; var platforms; var cursors; var stars; var score = 0; var scoreText; var sky; function preload() { game.load.image('sky', 'assets/sky.png'); game.load.image('ground', 'assets/pipe.png'); game.load.image('star', 'assets/star.png'); game.load.spritesheet('dude', 'assets/dude.png', 32, 48); } function create() { game.physics.startSystem(Phaser.Physics.ARCADE); sky = game.add.sprite(0,0, 'sky'); platforms = game.add.group(); var timer = game.time.events.loop(Phaser.Timer.SECOND, addRowOfPipes, this); // The player and its settings player = game.add.sprite(250, game.world.height - 200, 'dude'); // We need to enable physics on the player game.physics.arcade.enable(player); // Player physics properties. Give the little guy a slight bounce. player.body.collideWorldBounds = true; // Our two animations, walking left and right. player.animations.add('left', [0, 1, 2, 3], 10, true); player.animations.add('right', [5, 6, 7, 8], 10, true); cursors = game.input.keyboard.createCursorKeys(); } function update() { game.physics.arcade.collide(player, platforms); game.physics.arcade.collide(stars, platforms); game.physics.arcade.overlap(player, null, this); player.body.velocity.x = 0; if (cursors.left.isDown) { // Move to the left player.body.velocity.x = -250; player.animations.play('left'); } else if (cursors.right.isDown) { // Move to the right player.body.velocity.x = 250; player.animations.play('right'); } /* else if(cursors.down.isDown) { game.state.start(game.state.current); } */ else { // Stand still player.animations.stop(); player.frame = 4; } // Allow the player to jump if they are touching the ground. console.log(player.body); if (cursors.up.isDown || player.body.touching.collideWorldBounds) { game.state.start(game.state.current); } } function addOnePipe(x,y) { // Create a pipe at the position x and y var pipe = game.add.sprite(x, y, 'ground'); // Add the pipe to our previously created group this.platforms.add(pipe); // Enable physics on the pipe game.physics.arcade.enable(pipe); // Add velocity to the pipe to make it move down pipe.body.velocity.y = 150; // Automatically kill the pipe when it's no longer visible pipe.checkWorldBounds = true; pipe.outOfBoundsKill = true; pipe.body.immovable=true; } function addRowOfPipes() { // Randomly pick a number between 1 and 5 // This will be the hole position var hole = Math.floor(Math.random() * 5) + 1; // Add the 6 pipes // With one big hole at position 'hole' and 'hole + 1' for (var i = 0; i < 8; i++) if (i !== hole && i !== hole + 1) { addOnePipe(i * 60 + 10, 0); } } </script> </body> </html>
  3. Hi all. I'm having a weird problem with rotating sprites. When I use Canvas rendering it's fine, but with WebGL rendering, the edges are jagged when I rotate the sprite. The sprite is created from a texture that is made with PIXI.Texture.fromCanvas. I used the HTML-Canvas API to make the simple rectangle. Here's a code pen project that explains better: code. And here are attached pictures of WebGL rendering and Canvas-fallback rendering. Any help fixing this would be greatly appreciated
  4. Hello, I am pretty new to Phaser and also to JavaScript and while coding a game I keep on getting this error " TypeError: Argument 1 of CanvasRenderingContext2D.drawImage could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap." I have been stuck on it for a day or so and I would like to see if someone could help me find where the problem is. I have been following a few tutorials i find on the web on how to work with Phaser and js here is a pastebin of the code. http://pastebin.com/2CScJnH6
  5. Hello, I'm very new to Javascript (and coding). I just finished my first game, a clone of Pong. I have it controlled via the mouse movement, now I'd like to add code that will let the user swipe up or down on a touchscreen and have that relate the to controls for the mouse. Any Help would be appreciated. Thanks in advance. Here is what I have for my mouse controls. window.onload = function() { canvas = document.getElementById('gameCanvas'); canvasContext = canvas.getContext('2d'); var framesPerSecond = 30; setInterval(function() { moveEverything (); drawEverything(); }, 1000/framesPerSecond); canvas.addEventListener('mousedown', handleMouseClick); canvas.addEventListener('mousemove', function(evt) { var mousePos = calculateMousePos(evt); paddle1Y = mousePos.y - (PADDLE_HEIGHT/2); }); } code help.tiff
  6. Hello, I have searched a solution for a problem for long time and didn't found, if someone have some ideas I am taking all x) did someone know if it's possible to rotate a group of bodies around an anchor point, I set some bodies for invisble walls and my objective is to turn them around by 90° around an anchor point, I know It must be not very comprehensive so I set up an Image to explain myself. In the screen, I have 2 bodies and I want them to turn around the red dot what must be my anchor point, I know it's impossible in arcade so I tried in P2 physics and impossible to found any solution :/ Thanks for reading, feel free to leave a feedback
  7. In the phaser docs I can see that the biggest difference between Sprite and Image is that you cannot animate or add a physics body to an Image, but in Image properties you can see an animationManager. I'm a little confused about this. Anyone?
  8. Hello: So I'm trying to make a bubble popping game where once the balloon pops it shows an animation before getting deleted off the screen. but I can't get the enemy.animations.play() to work if it's in a different function, but once I place it in the create function it works fine so it's not a syntax error(i think). This is where I initialize the enemy playState.prototype.spawnEnemies = function(){ if (this.waveProperties.counter > 0) { while (this.waveProperties.active < this.waveProperties.max / 2) { var type = Phaser.ArrayUtils.getRandomItem(["enemyLarge", "enemyMed", "enemySmall"]); var enemy = this.enemies.create(null, null, enemyProperties[type].img); enemy.reset(game.rnd.integerInRange(80, 1400), game.rnd.integerInRange(50, 400)); enemy.anchor.setTo(0.5, 0.5); enemy.body.collideWorldBounds = true; enemy.body.bounce.set(1); enemy.body.allowGravity = false; enemy.animations.add('pop', [1,2,3,4,5],30,false); enemy.body.velocity.y = game.rnd.integerInRange(enemyProperties[type].minV, enemyProperties[type].maxV) * game.rnd.pick([-1, 1]); enemy.body.velocity.x = game.rnd.integerInRange(enemyProperties[type].minV, enemyProperties[type].maxV) * game.rnd.pick([-1, 1]); enemy.nextSize = enemyProperties[type].nextSize; enemy.hp = enemyProperties[type].hp; enemy.dmg = enemyProperties[type].dmg; enemy.points = enemyProperties[type].points; enemy.bubbleSfx = game.add.audio('bubbleSfx'); enemy.bubbleSfx.allowMultiple = true; this.waveProperties.counter -= enemyProperties[type].points; this.waveProperties.active += enemyProperties[type].points; } } else { console.log("Next wave started.."); //add text that shows PREPARE FOR NEXT WAVE here. this.waveProperties.max *= 2; this.waveProperties.timeCheck += this.waveProperties.timeCheck; this.waveProperties.counter = this.waveProperties.max; } }; this is where it checks if the bullet collided with the enemy and if health is 0 it will play the animation then get destroyed playState.prototype.hitEnemy = function(bullet, enemy){ switch(bullet.key){ //checks which kind of weapon hit the enemy by looking at it's image name case 'bullet' : enemy.hp -= 10; break; } bullet.kill(); //bullet dies on impact if (enemy.hp <= 0) { enemy.animations.play('pop'); this.bEmitter.x = enemy.x; this.bEmitter.y = enemy.y; enemy.bubbleSfx.play(); this.bEmitter.start(true,2000,null,20); enemy.destroy(); this.splitEnemy(enemy.nextSize , enemy.x, enemy.y); this.waveProperties.active -= enemy.points; } }; if anyone could help me it would be greatly appreciated I'm at a loss atm.
  9. I need help. I was following a tutorial online for the Phaser States, and I did everything right (I think), but obviously, I've made some changes myself to fit to what I kind of want. Here is the code: var loadState = { preload: function() { // Load the BG Images (Before so we can have an awesome looking loading screen) game.load.image('redPlanet', '././assets/images/redplanet.png'); game.load.image('spaceBG', '././assets/images/spaceBG.png'); // Preload the one character we need to look awesome! game.load.image('scavenger', '././assets/images/Scavenger.png'); // Add the loading label and the character, so the player doesn't think the game crashed. var background = game.add.sprite(0, 0, 'spaceBG'); background.scale.setTo(0.6); var character = game.add.sprite(80, 150, 'scavenger'); var loadingLabel = game.add.text(0, 0, 'Loading...', {font: '30px Courier', fill: '#fff'}); loadingLabel.alignTo(character, Phaser.RIGHT_CENTER, 16); // Load the Planet Images game.load.image('planet1', '././assets/images/Planet1.png'); game.load.image('planet2', '././assets/images/Planet2.png'); game.load.image('planet3', '././assets/images/Planet3.png'); game.load.image('planet4', '././assets/images/Planet4.png'); game.load.image('planet5', '././assets/images/Planet5.png'); game.load.image('planet6', '././assets/images/Planet6.png'); game.load.image('planet7', '././assets/images/Planet7.png'); game.load.image('planet8', '././assets/images/Planet8.png'); game.load.image('planet9', '././assets/images/Planet9.png'); game.load.image('planet10', '././assets/images/Planet10.png'); game.load.image('planet11', '././assets/images/Planet11.png'); game.load.image('planet12', '././assets/images/Planet12.png'); game.load.image('planet13', '././assets/images/Planet13.png'); game.load.image('planet14', '././assets/images/Planet14.png'); // Load the pause button game.load.image('pauseButton', '././assets/images/pauseButton.png'); } create: function() { game.state.start('menu'); } } And that is not all. Every single one of my state files has an error that says: Expected '}' to match '{' from line 1 and instead saw 'create'. Missing Semi-Colon. Unrecoverable Syntax Error (93% Scanned) Please help me, as this was going to be the way I made my game because I really like how organized states are!
  10. Alright. I'll cut to the chase. I'm making a simple game about abducting people, and I want the victims to run from the player or "flying saucer". This is what I have setup in the update function (I'm pretty sure the rest is irrelevant, but tell me if you need more): this.win.angle = game.physics.arcade.angleToXY(this.win, -(this.player.x), -(this.player.y)); this.win.velocity = game.physics.arcade.velocityFromAngle(this.win.angle, 145, this.win.body.velocity); game.world.wrap(this.win, 0, false); Now here is the error after getting to the "play" state (Oh and by the way, the game is based off of the state tutorial for phaser, except with a lot of edits and a lose.js file.): Uncaught TypeError: d.setTo is not a function at c.Physics.Arcade.velocityFromAngle (phaser.min.js:23) at Object.update (play.js:94) at c.StateManager.update (phaser.min.js:10) at c.Game.updateLogic (phaser.min.js:12) at c.Game.update (phaser.min.js:12) at c.RequestAnimationFrame.updateRAF (phaser.min.js:18) at window.requestAnimationFrame.forceSetTimeOut._onLoop (phaser.min.js:18) Please help!
  11. Hi! I was wondering if anyone would like to help me with the first steps of my 'little' proyect I'm a complete beginner to both phaser and game developing. I'm studying multimedia engineering so I am indeed familiar with HTML5, CSS, JavaScript, among some more scripting languages, but I've never tried implementing something as big as a game before- What I want to make is a virtual pet, (yeup. you read right), yet I intend to knock up the IA so the pet feels more natural, as well as some other features. It's basically an easily-expandable first proyect that I think will allow me to start with a very simple base and add layers of complexity as I get more experience. I chose to implement it using phaser and focus on a browser-game so It's easily accesible to the public and I can use the mobile phone for complementary actions in the long run- I still have no idea on how or what tools would be best to implement the user/pet database and gameServer. All I have right now, it's a simple, general and conceptual web-responsive layout and the empty major game states (menu, the room, etc), so my web looks like this: My major doubts are: 1. whether web-browser games usually work with this kind of layout or It'd be more beneficial to have the gamescreen (blue) covering the entirety of the viewport's size 2. Are the database and server coded first, or should I first focus on the different state's UI and work my way up to having the core mechanics roughfly implemented, then adding requests to the server? 3. I'd like to add some kind of system which allows me to read an external file, interpret it and place the game's dialog / calls for an event with the guide NPC / similar actions- something akin to what happens in some RPGs or in visual novels. I imagine this is done by designing my own 'dialog' structure in a JSON or XML file (which would be later on stored in my database for the client browser to download and cache) and parsing them? How it's this usually done? My apologies if what I'm asking is very basic stuff, I really don't know where nor how should I start. I've followed several 'make your first game' tutorials on phaser's website, but they're nowhere near as complex as to help me understand the general workflow in a multi-state + actors + connectivity proyect.
  12. Hi there folks! It's been a while since I posted something in here, glad to be back! I have a fair amount of experience in game development using JS Canvas, but recently I decided I had move on - so I went with Pixi. I figured out the basics of how to add sprites, do filters and such, but I just can't seem to figure out how to do simple lines and then manipulate them afterwards. What I mean is something like this: https://jsfiddle.net/gustavgb/anxcjfof/5/ I noticed that PIXI.Graphics has an object attached to it called "graphicsData" in which I can find the points that make up the line - great - but when changing the value of these variables, nothing happens to the appearance of my line. I'd appreciate any help, as I'm quite new to Pixi Thank you!
  13. There are a lot of things you can do to help get your questions answered faster. This announcement will provide some tips to get you unstuck as soon as possible. The first, and most important thing to do is ALWAYS develop your game with the most recent non-minified melonJS build. Switch to the minified build for your final release; never before that point. Follow the tips in the other announcement: https://groups.google.com/forum/#!topic/melonjs/SvC8ZNJ3P_c Familiarize yourself with the debugger in your browser/user agent. You are writing a lot of JavaScript to create a full game, perhaps more than most web developers will in their entire careers. If you are not using a debugger, you are shorting yourself, and extending development time greatly. Enable the "pause on all uncaught exceptions" feature in your debugger; this should be the first thing you configure when you open the debugger for the first time. console.log() and alert() are simple to use, but breakpoints are better in every imaginable way; they are temporary, can be enabled and disabled at runtime without modifying the JavaScript, and allow you to inspect variable state at any point in the program's execution. Learn to follow stack traces so you can understand how the code eventually leads up to specific events, like uncaught exceptions. If your game runs slow, use the profiler in your debugger to pinpoint functions that take up the most time, and try to minimize how often the slow functions are called, or make the slow functions faster! If you've done the above and still need a little boost in the right direction, please include the full source code for your game. It is often not enough to paste code snippets in the body of your message, because there are times when the issue lies in an area of the code you hadn't considered. We can use the techniques described above to find and solve a very wide range of issues, but only if we are able to run the code ourselves. If you have found a true bug in the melonJS engine (not just a support request), please search the github issues for similar reports, and file a new ticket if you don't find anything: https://github.com/melonjs/melonJS/issues This is the best way to get bugs in the engine solved quickly. If you are having trouble with the tutorial, it has its own git repository and issue tracker: https://github.com/melonjs/tutorial-platformer
  14. Hello everyone, this is my first time posting on this forum, which means I'm pretty desperate at this point haha! I'm trying to make a simple game where a character is sliding down a hill, this is what I got so far: http://chewyrabbit.com/game.php I want to make the hill as slippery as ice, just like some ice parts in this game: http://test.xapient.net/phaser/ALL/ I learned a lot from this game btw. I tried to copy how the user made his ice material, but it doesn't seem to work in my game! // Create ramp and player from tiles sharp = this.game.physics.p2.convertCollisionObjects(map,"points"); player = this.game.add.sprite(10,10, 'player'); // Define materials groundMaterial = this.game.physics.p2.createMaterial(); playerMaterial = this.game.physics.p2.createMaterial('player'); // Give the ramp material for (i=0; i<sharp.length; i++){ sharp[i].setMaterial(groundMaterial); } // define what happens when one material contacts the other this.game.physics.p2.createContactMaterial(playerMaterial, groundMaterial, { friction: 0 , restitution: 0 }); What am I doing wrong? Please help me
  15. I need some help with my Uni project that I made using Phaser. My game is a simple plat former. I have been working on the Player controls, but for some reason I keep getting :"Uncaught TypeError: Cannot read property 'isDown' of undefined" Game.level1 = function (game) {}; //variables var map; var layer; var player; var controls = {}; var playerSpeed = 150; var jumpTimer = 0; Game.level1.prototype = { create:function(){ this.stage.backgroundColor = '#e6ffff'; this.physics.arcade.gravity.y = 1400; map = this.add.tilemap('map', 32, 32); map.addTilesetImage('tileset'); layer = map.createLayer(0); layer.resizeWorld(); map.setCollisionBetween(0,2); player = this.add.sprite(100,561,'player'); player.anchor.setTo(0.5,0.5); player.animations.add('idle', [0,1], 1, true); player.animations.add('jump', [0,2], 1, true); player.animations.add('run', [3,4,5,6,7,8], 7, true); this.physics.arcade.enable(player); this.camera.follow(player); player.body.collideWorldBounds = true; var controls = { right : this.input.keyboard.addKey(Phaser.Keyboard.RIGHT), left : this.input.keyboard.addKey(Phaser.Keyboard.LEFT), up : this.input.keyboard.addKey(Phaser.Keyboard.UP), }; }, update : function () { this.physics.arcade.collide(player,layer); if(controls.up.isDown){ player.animations.play('jump'); } if(controls.right.isDown){ player.animations.play('run'); player.scale.setTo(1,1); player.body.velocity.x += playerSpeed; } if(controls.left.isDown){ player.animations.play('run'); player.scale.setTo(-1,1); player.body.velocity.x -= playerSpeed; } if(controls.up.isDown && (player.body.onFloor() || player.body.touching.down) && this.time.now > jumpTimer){ player.body.velocity.y = -600; jumpTimer = this.time.now +750; } } } Could anyone tell me what I am doing wrong ?
  16. Is it possible to get payed for my games even though my company isn't registered yet. See, I'm currently a foreigner in the country I'm currently living in and so I can't open a business (sole proprietorship). So if anyone has any advice or experience with getting payed without actually having a business name, I would like to here your opinion.
  17. help

    I'm trying to use Phaser (2.6.2) to mask an image. I need a circle, but the circle drawn has very jagged edges. How can I get a smoother circle? I've tried `drawArc`, `drawCircle`, and drawing a smaller circle but scaling up (for intentional scaling artifacts) Pasting this into http://phaser.io/sandbox/edit/1 illustrates it pretty clearly function create() { var game = this.game var graphics2 = game.add.graphics(0, 0); graphics2.beginFill(0x0000FF, 1) graphics2.drawCircle(0, 0, 100) graphics2.scale.set(12) var graphics = game.add.graphics(0, 0); graphics.beginFill(0x00FF00, 1) graphics.arc(0, 0, 500, game.math.degToRad(0), game.math.degToRad(360), false); graphics.beginFill(0xFF0000, 1); graphics.drawCircle(0, 0, 800); }
  18. Hello, I have a problem with adding tile maps to my phaser game. I know how to add one tile map, but I can't add multiple tile maps. I want two things, which are that I want to add these tile maps, but I also want collision between the turtle and all of the four layers. I didn't add the tile maps already to my game, because of the fact that I can't display the tilemap on my screen. I don't know why.... I get a few error's, which you can see in the images below. Does anybody knows a solution for my problem(s)? My code: var road; var turtle; var controls = {}; var Background; var Finish; var Grass; var Cars; var playState = { preload: function(){ game.load.tilemap('map', 'assets/road.json',null, Phaser.Tilemap.TILED_JSON); game.load.image('tiles', 'assets/road.png'); this.load.image('turtle', 'assets/turtles.png'); }, create:function(){ this.physics.startSystem(Phaser.Physics.ARCADE); map = game.add.tilemap('map'); map.addTilesetImage('road','tiles'); Background = map.createLayer('Background'); Background.resizeWorld(); Background.setCollisionBetween(4, 325); game.physics.arcade.enable(Background); Finish = map.createLayer('Finish'); Finish.resizeWorld(); Finish.setCollisionBetween(4, 15); game.physics.arcade.enable(Finish); Grass = map.createLayer('Grass'); Grass.resizeWorld(); Grass.setCollisionBetween(0, 325); game.physics.arcade.enable(Grass); Cars = map.createLayer('Cars'); Cars.resizeWorld(); Cars.setCollisionBetween(18,309); game.physics.arcade.enable(Cars); //Turtle this.turtle = this.add.sprite(440,450,'turtle'); this.physics.arcade.enable(this.turtle); this.turtle.enableBody = true; this.turtle.anchor.setTo(0.5); this.turtle.scale.setTo(0.2); this.turtle.body.allowGravity = false; this.turtle.body.immovable = true; this.controls = { left: this.input.keyboard.addKey(Phaser.Keyboard.LEFT), right: this.input.keyboard.addKey(Phaser.Keyboard.RIGHT), }; }, update:function(){ this.turtle.body.collideWorldBounds = true; this.turtle.body.velocity.x = 0; if (this.controls.left.isDown){ this.turtle.body.velocity.x = -200; } if (this.controls.right.isDown){ this.turtle.body.velocity.x = 200; } }, gameover:function(){ game.state.start('over'); }, Finish:function(){ game.state.start('win'); } }; My JSON file { "height":326, "layers":[ { "compression":"zlib", "data":"eJy0+GXU1dX6Bmz\/Nynd3Snd3aB0d5d0d3d3d3e3dHephEoo3SAlIKCS78Gnd\/PbjOfT86zhMVznteac57rvtaaoIf7v\/\/4vJKEI\/X\/\/+0hLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFCIZyUlByi\/0lqI0ZShLOcpTgYpUojJVqEo1qlODmtSiNnWoSz3qU4SiFOObL\/S2oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH\/rSkEY05rsv9A5nBCMZxWjGMJZxjGdCYM8UpjKN6cxgJrOYzRz6M4CBDGIRi1nCUpaxnBWsZBWrWcNa1rE+0Ps9m9nCVraxnR3sZBfzmM8CFnKAgxziMEc4yjGOc4KT\/MCP\/MSpQO\/P\/MKvnOM8F7jIb\/zOHvayj\/1c5wY3ucVt7nCXe9znAX\/wkEc8DvQ+4zkv+IuXvOI1f\/MPl7nCVa7xgY+fNv\/HX\/\/5v\/95hDELy1eEIzwRiEgkIhOFqEQjOjGISSxiE4c3znrLO96TyCwxSUj6hd5UZqn5mjSkJR3pyUBGMpGZLGQlG9nJQU5yEY\/4JCAhBShIIQp\/ofdbs+KUoCSlKE0ZylKO8lSgIpWoTBWqUo3q5CEv+chPXepRnwZf6G1i1pRmNKcFLWlFa9rQlna0pwMd6URnutCVmtSiNnXoTR\/60o\/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBS604Oe9GIWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQT3zON6cxg5hd+r\/9vPU47+wxn+ZktbGUb2\/8\/7H3i7Kf8yTN+5RznufD\/YW\/EEO43kYnCC11\/8ZJXxDKLTRziEo\/4JCAhiUhMEpKSjOSkICWpSM3XpCEt6UhPBjKSiWhEJwYxyUFOcpGbPOQlH\/kpQEEKUZgiFKUY3\/AtxSlBSUpRmjKUpRzlyUJWspGdqlSjOjWoSS1qU4e6If73d9jIrDHf0YSmNKM5LWhJK1rThrZUpBKVqUJnutCVbnSnBz3pRe8v9A4wG8ggBjOEoQxjOCMYyShGM4b2dKAjnZjEZKYwlWlMZwYzmfWF3vlmC1jIIhazhKUsYzkrWMkqVjOO8UxgIhvZxPdsZkugZ8cXevea7WM\/BzjIIQ5zhKMc4zgnOMla1rGeDZzhLD\/zC78Gei7Kv\/E7l7jMFa5yjevc4Ca3uM0d7nKP+zzgR37iFKd5yp884zkvAr2v5b\/5h395w1ve8Z4PfPy0x78c\/4cQhCQUoQlDWB5a84jHPCGSWWSiEJVoIT\/vjSXHJg5xiUd8EpCQRCQmCUlJRnJSkJJUpCYc4YlARDKQkUxkJgtZyUZ2cpCTXOQmD3kD762gXIjCFKEoxfiGbylOGtKSjvSUpRzlqUBFKlGZKlSlGtWpQU1qBXrryfVpQEMa0ZjvaEJTSlKK0pShNW1oSzva04GOdKIzXehKN7rTI9DbR+5LP\/ozgIEMYjBDaE4LWtKKUYxmDGMZx3gmMJFJTGYKU5nG9EDvbHkOc5nHfBawkEUsZhjDGcFIVrKK1axhLetYzwY2sonv2cwWtrKN7exgJ7vYzR72so\/9HOAgS1nGclZwnBOc5IfAz\/HpccbsLD\/zC79yjvNc4CK\/8TuXuMwVrnKN69zgMEc4yjHucZ8H\/PGF3qdmf\/KM57zgL17yitf8zT\/8yxve8o73fOAjt7jNHe4S2n8IhyEsX4X6395IZpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJ+Q8hCEkoUpKK1Hz9hd4MZhnJRGaykJVsZCcHOclFbvKQl3zkpwAFSUoykpOCb\/iW4pSg5H91l\/G8LOUoTwUqUonKVKEq1ahODWpSi9rUoS71KEwRilKM72hCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDAxrSiMYMYjBDGMowhjOCkYwK\/O7HyeOZwEQmMZkpTGUa05nBTGYxm370ZwADWcgiFrOEpSxjOStYGehdK69jPRvYyCa+ZzNb2Mo2trODncxlHvNZwH4OcJBDHOYIRznG8UDvj\/JPnOI0ZzjLz4F15+ULXOQ3drOHvezjGte5wc3A3k+Pe4HZQ\/kRj3nCU\/7kWWDdS\/kVr\/mbS1zmCld5zwc+ftr3hf+hFTowCyeHJwIRiURkogTWxZBjEovY\/Ov8N7zlXeA9JvlCb0qzVKTma9KQlnSkJwMZyRTYm03OTg5yEpd4xCdBYG2hL\/R+Y\/YtxSlBSUpRmjKUpRzlA3sry1WoSjVyk4e85AusrS83+K9ZY8+\/owlNaUZzWtCSVrSmDW1pR3s60JFOdKYLNahJLWoHevvK\/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJdKM7PejJzP\/qnuP5XOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTU5nGdGawnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQHfuQnTnGaM5xlM1vYyjYucJHf+J1LXOYKV7nGdW5wk1vc5g53ucd9HvAHD3nEY57wlD\/5hV85x3le8Zq\/+Yd\/ecNb3vGeD3z89HmE8ecoIQgZ5vPvRlj5K8IRnghEJBKReW7\/C\/7iJTHNYhGbOMQlHvFJQMLA+UnlZCQPzFPLX5OGtKQjPRnISFSiEZ0YZCcHOclFbvKQl3zkD5xfWC4SmAUfpbxemjKUpRyZyUJWslGFqlSjOjWoSS1qUyfQ0UBuSKP\/h+4WXmtJK1rThgpUpBKV6URnutCVbnSnBz3pFTi\/n9yfAQxkEIMDa4bLIxjJKEbTjvZ0oCMTmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1kU6F0mL2cFK1nFWMYxnglsYCOb+J7NbGEr29jODnayi93sYS\/72M8BDnKIwxzhKMc4zgnWsJZ1rOc0ZzjLz\/zCr5zjPBe4yG\/8ziUuc4WrXOM6N7jJLW5zh7vc4z4\/8CM\/cYonPOVPnvGcF\/zFS17xmr\/5h395w1ve8Z4PfPz0uw7rfhOCkIQiNGH4w+sPecRjIppFIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSk4ivCEZ4IpCcDGclEZrKQlWxkD\/u\/9ySPWV7ykZ8CFKQQhSlCUYrxDd\/yNWlISzrKUJZylKcCFalEZap8obemWS1qU4e61KM+DWhIIxrzHU0oQUlKUZpWtKYNbb\/Q0ekLs+5mPehJL3rTh770oz8DGMggBtOM5rSgZeDMMV\/omPiF2TSz6cxgJrOYzRzmMo\/5LGAhixjKMIYzInDm6i90bDDbyCa+ZzNb2Mo2trODnYG9e+V97OcAS1jKMpYH1p78Qu9pszOc5Wd+4VfOcZ4LXOS3wN4r8lWucZ1DHOYIRwNrH8h\/8JBHPOYJT\/mTZzznBX\/xkle85u\/AWW\/ld7znAze5xW3uEOord5swhOUrwhGeCEQkEpGJQlSiEZ0YxCQWsb\/6vDe+nICEJPr0Gv8hBCFJQUpSkZqvSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIkISnJSE4xvuFbilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEshClOEojTmO5rQlGY0pwUtaRX4\/X16tDfrQEc60ZkudKUb3elBT3rRm\/o0oCGNGMggBjOEoQxjOCMY+YXecWbjmcBEJjGZKUxlGtOZwUxm0Zd+9GcAC1jIIhazhKUsYzkrvtC71mwd69nARjbxPZvZwla2sZ0dzGEu85jPPvZzgIMc4jBHOMqxL\/T+aPYTpzjNGc7yM7\/wK+c4zwUusovd7GFv4Mwb8k1ucZs73OUe93nAHzzkEY95wlP+5BnPecFfvOQVr\/mdS1zmSqD346cczj0jBCEJRWjCEJavCEd4IhCRSEQmClGJRnRiEJNY\/OPsf3nD20BvYq8nISnJSE4KUpKK1HxNGtKSjvRkICOZyEwWspKN7OQgDnGJR\/xwn\/cWlAtRmCIUpRjf8C3FKUHJwL6ycjnKU4GKVKIyVahKLnKTh7zUpg51qUd9GtCQRjTmO5rQlGY0D\/S2ltvQlna0pwMd6URnqlODmtSiJ73oTR\/60o\/+DGAggxjMEIYyLNA7Sh7NGMYyjvFMYCKT6Eo3utODGcxkFrOZw1zmMZ8FLGQRi1nC0kDvSnkVq1nDWtaxng1sZApTmcZ0trGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5Ad+5CdOcZozfM9mtrCV81zgIr\/xe+BnuSpf4zo3uMktbnOHu9zjPg\/4g4c84jFPeMrP\/MKvnOMlr3jN3\/wT6H0nv+cDHz+9Ft79JgQhCUVowhCWrwhHeCIQkUg8s\/c5L\/iLGGYxiUVs4oT\/vDdBICeRk5KM5KQgJalIzdekIS3pSE8GohCVaEQnG9nJQU5yBXryBXIhuTBFKEoxvuFbilOCkpSiNGUoSyYyk4WsVKYKValG9UBP7UCuLzegIY1ozHc0oSnNaE4LWtKK1pSnAhWpREc60ZkudKUb3elBz0BvX7kf\/RnAQAYx+L\/WDfN8OCMYySja0o72dGACE5nEZKYwlWlMZ0agd448l3nMZwELA2uWystYzgpWMoaxjGM869nARjbxPZvZwla2sZ0d7GQXu9nDXvaxP9B7WD7CUY5xnNWsYS3rOMVpznCWn\/mFXznHeS5wkd\/4nUtc5gpXuRbovSXf5g53ucdJfuBHfuIxT3jKnzzjOS\/4i5e84jV\/8w\/\/8oa3vON9oPc\/EdxvQhKK0Dyw5g8e8iiwPrLXoxCVaEQnBjGJRWziEJd4xCcBCUlEYpKQlGQkJwUpCctXhCN8hM97M8qZyEwWspKN7OQgJ7nITR7yko\/8FKAghShMEYpSjG9IzdekIW2gt5xcngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjfmO4pSgJKUCvW3ktrSjPR3oSCc604WudKM7PehJL3oHzuovD2Agg2hKM5rTghGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGRWoHeePJ8FLGQIQxnGcJazgpWsYjVrWMs61rOBjWziezazha1sYzs7Ar175L3sYz+LWcJSlnGUYxznBCf5gR\/5iVOc5gxn+Zlf+JVznOcCFwO9l+UrXOUaBznEYY5wh7vc4z4P+IOHPOJx4Lxn8nNe8BcvecVr\/uYf\/uUNb3nHe25wk1vcJmREd5vQhCEsXxGO8ESI+HlvFDkq0YhODGISi9jEIS7xiE8CEvLx0\/v39\/8QguSkICWpSM3XpCEt6QK9meTMZCEr2chODnKSi9zkIS\/5yE9ikpCUZBSlGN\/wLcUpQUlKUTrQW16uQEUqUZkqVKUa1alBTWpRmzoUpBCFKUIjGvMdTWhKM5rTgpa0ojVtaEs72gfeT2e5C13pRnd60JNe1KM+DWjIAAYyiMEMYSjDGM4IRjKK0YxhLOMCvZPkyUxhKtOYzgxm0oe+9KM\/81nAQhaxmCUsZRnLWcFKVrGaNawN9G6UN\/E9m9nCVraxndnMYS7z2Ms+9nOAgxziMEc4yjGOc4KT\/MCPgd4z8ll+5hd+5RznucBOdrGbPVzhKte4zg1ucovb3OEu97jPA\/7gIY94zBOe8ifPeM4L\/uIlr\/iN37nEZd7yjvd84OOnnyOSe0YIQhKK0IQhLF8RjvBEICKRiEwUohKN6MQgJn879x\/+5Q3xzRKQkEQkJglJSUZyUpCSVKTma9KQlnSkJwMZyURmspCVbGQnNnGISzzyko\/8FKAghShMEYpG+vxzLC6XoCSlKE0ZylKO8lSgIpWoTBVykovc5KEWtalD3UDHp0ejwKyp3IzmtKAlrWhNG9rSjvZ0oCOdqEZ1alCTHvSkF72\/0DsgMBsiD2UYwxnBSEYxmjGMZRzjmcBEutCVbnQPnDnrC73zA7PF8hKWsozlrGAlq1jNGtayjvVsYDJTmMq0wJk75J3\/Ndvj+V72sZ8DHOQQhznCUY5xnBOc5Ad+5CdOcZpNfM9mtgR6L8q\/8TuXuMwVrnKN69zgJre4zR3uco\/7POAPHvKIxzzhLD\/zC78Gel\/Lf\/MP\/\/KGt7zjPR\/4+GlPZPebEIQkFKEJQ1i+IhzhiUBE\/rTvGc95QXSzGMQkFrGJQ1ziEZ8EJCQRiUlCUpKRnBSRP3\/\/X8tpSEs60hOZKEQlGlnJRnZykJNc5CYPeclHfgpQkEIUpghFKRboLSGXpBSlKUNGMpGZLFSiMlWoSjWqU4Oa1KI2dahLPerTgIY0onGgt5ncnBa0pBXlKE8FKtKBjnSiM13oSje604Oe9KI3fehLP\/ozgIGB3qHyMIYzgpG0oS3taM94JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVjCaMYxlHOtYzwY2Bt73p8dWs21sZwc72cVu9rCXfeznAAc5xGGOcJRjrGI1a1jLT5ziNGe+0HvO7DwXuMhv\/M4lLnOFq1zjOje4yS1uc4e7nOAkP\/Ajj3jME55+ofcvs5e84jV\/809g3Tv5PR\/4+Om1KO43IQhJKO6bP+APHhLeLAIRiRTlf3ujm8UgJrGITZzAugRyQhKRmCQkJRnJSUEYwvIV4UhLOtKTgYxkIjNZyEo2spODnOQK9OaT81OAghSiMEUoSjFSkZqvSUMpSlOGspSjPBWoSCUqU4WqVKN6oLe2XIe61KM+DWhIIxrzLcUpQUla0JJWtKYNbWlHezrQkU50pgtdA7095V70pg996Ud\/BjCQJjSlGc0ZzghGMorRjGEs4xjPBCYyiclMYSrTmM4MZjKL2cxhLvOYzwIGM4ShDGMZy1nBSlaxmjWsZR3r2cBGNvE9m9nCVraxnR3sZBe72cNe9rGIxSxhKUc4yjGOc4KT\/MCP\/MQpTnOGs\/zML\/zKOc5zgYv8xu9c4jJXuMoBDnKIw9zmDne5x30e8AcPecRjnvCUP3nGc17wFy95xWv+5h\/+5Q1vecd1bnCTW4SI6m4TitCEISxfEY7wUf\/3Tkcxi0o0ohODmMQiNnGISzzik4APuj7yf57\/h2QkJwUpSUVqviYNab\/Qm8ksM1nISjayk4Oc5CI3echLPhKRmCQkpQhFKcY3fEtxSlCSUl\/oLW9WgYpUojJVqEo1qlODmtSiNgUoSCEK05BGNOY7mtCUZjSnxRd625q1oz0d6EgnOtOFrnSjOz3oSV3qUZ8G9GcAAxnE4EDPcHkEIxnFaMYwlnGMZwITmcRkpjCVaUxnBr3pQ1\/6MY\/5LGAhiwK9y+TlrGAlq1jNGtayjvVsYCOb+J7NbGEr25jFbOYwlz3sZR\/7ORDoPSIf5RjHOcHJwJpT8mnOcJaf+YVfOcd5drCTXezmMle4yjWuB868Ld\/hLve4z4PAmsfyk8DsufyCv3jJRX7jdy7xhre84z0f+PjpjGjuGSEISShCE4aw0T7viCBHDMyiytGITgxeO\/Nv\/uFf4pnFJwEJSURikpCUZCQnBSlJRepARzo5fWCWWc5CVrIRi9jEIS55yEs+8lOAghSiMEUoSjG+4VuKU4KSlKI0ZQK9FeSKVKIyOchJLnJTk1rUpg51qUd9GtCQRjTmO5rQlGY0pwUtaUVr2tCWdrSnAx2pSjWqU4Pu9KAnvehNH\/rSj\/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTKAzXehKN6YxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxnklMZgpT2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5Ad+5CdOsZFNfM\/mwHfhgnwxMLssX+Eq17jOjcCaO\/Jd7nGfB\/zBQx7xmDOc5Wd+Cex\/Jb8OzN7Ib3nHez7wMbAmZHT3m9CEISxfEY7wROCpPX\/yjOeB\/TG9Hiv657N4cnwSkJBEJA6sSS6nICWpSM3XpCEt6YhEZKIQNbA\/u5wjMMsj5yUf+SlAwcCaonIxvuFbilOCkpSiNBnISCYyB\/ZXkasGZjXlWtSmDnWpF1jTSG7MdzShKc1oTgtaUpZylKcC7elARzrRmS50pRvd6UFPetGbPvSlH\/0ZwEAGMZghDGUYwxlBa9rQlnaMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzmjGM0YxrKWdaxnAxvZxPdsZgtb2cZ2drCTXexmD3vZx34OcJBDHOYIR1nJKlazhh\/5iVOc5gxn+Zlf+JVznOcCF\/mN37nEZa5wlWtc5wY3ucVt7nCcE5zkBx7yiMc84Sl\/8oznvIj++Xfotfw3\/\/Avb3jLO97zgY+f9sTw5zchCMk9s\/s84A\/CmYUnAhGJRGSiEJVoMT7vjSXHJg5xiUd8EpCQRCQmCUlJRnJCE4awfEUa0pKO9GQgI5nITJZAbw45J7nITR7yko\/8FKAghShMEYqSklSk5mtKUorSlKEs5ShPBSoGeqvK1ahODWpSi9rUoS71qE8DGtKIb\/iW4pSgOS1oSSta04a2tKN9oLez3CUw6yH3pBe96UNf+tGfAXxHE5rSjGEMZwQjGcVoxjCWcYxnAhOZxORA73R5BjOZxWzmMJd5zGcQgxnCUJayjOWsYCWrWM0a1rKO9WxgI5sCvVvlbWxnBzvZxW72sJeFLGIxSzjMEY5yjOP\/deYPnv\/IT5ziNGc4G+g9J5\/nAhf5jd+5xGWusJ8DHOQQt7jNHe5yL3DmQ\/kRj3nCU\/7kGc95wV+85BWv+Zt\/+Jc3vOUa17nBTf4T090mJKEIHfPz3nByeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3ze6\/rAx08\/l5yUZCQnRaDz0yONWVrSkZ4MZCQTmclCVrKRnRzkJBe5yUNeEpKIxCShMEUoSjG+CXSXlEtRmjKUpRzlqUBFKlGZKlSlGtWpQU1qkZ8CFKQQDWhIIxrzHU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODOtSlHvXpR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnR60Zs+9GUu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonv2cwWtjKTWcxmDrvZw172sZ8DHOQQhwOf93H5RGD2k3yK05zhLD\/zC79yju3sYCe7uMRlrnCVa1znBje5Fei4J98PzB7Jj3nCU\/7kGc95wV9c4CK\/8Tv\/8oa3vOM9H\/j46exY7neszztCy2ECs\/ByBCISichEISrRiM4r573mb\/4hrlk84pOAhCQiMUlIGuhIKacKzNLK6UhPBjKSicxkISsxiUVs4pCbPOQlH\/kpQEEKUZgiFKUY3\/AtxSlBSUpRmjKUpRzlqUBFKpGdHOQkFzWoSS1qU4e61KM+DWhIIxrzHU1oSjOa04KWtKI1bWhLO9rTgSpUpRrV6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4OtGZLnRlKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLeuYyCQmM4XNbGEr29jODnayi93sYS\/72M8BDnKIwxzhKMc4zglO8gM\/8hMb2Mgmvo\/1+ffyvHwhMLskXw7Mrss3uMktbnOHu9zjPg\/4g4c84jRnOMvPgfNeyq8Cs3\/lN4HZB\/njp1ls95sQhCQUoQlDWL4iHOF5Yv1T\/uRZ4LwYXo8Z+\/NZXDleYJZITkwSkpKM5KQgJalIzdekIS0RiURkogTOyyZnD8xyy3kCswJyQQpRmCIUpRjf8C3FKUFJSpGeDGQkExWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGvMdTWhKM5rTgjKUpRzlaUd7OtCRTnSmC13pRnd60JNe9KYPfelHfwYwkEEMZghDGcZwWtGaNrRlLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKcsYyShGM4Y1rGUd69nARjbxPZvZwla2sZ0d7GQXu9nDXvaxnwMc5BCHOcIKVrKK1bE\/\/76ckk9zhrP8zC\/8yjnOc4GLgX2X5Stc5RrXucFNbnGbYxznBCcD+x\/LT3jKnzzjOS\/4i5e84nVg3xv5Le94zwc+floTx\/0mBHfle9znQWB\/BK9HJBKRiUJUohGdGMQkVpzP98WT45OAhCQiMUlISjJCEZowhA3sTyenJwMZyURmspCVbGQnR2BfHjkv+chPAQpSiMIUIQUpSUVqSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQYnzDtxSnGc1pQUta0Zo2tKUd7elARzrRmS50pRvd6UFPetGbPvSlH\/1pzHc0oSlDGcZwRjCSUYxmDGMZx3gmMJFJTGYKU5kW+L3Pkmczh7nMYyCDGMwQlrCUZSxnBStZxWrWsJZ1rGcDG9nE92xmS6B3h7yTXexmDwtYyCIWc4jDHOEoxzjOCU7yAz\/yE6c4zZlAz6+BfFH+jd+5xGX2sZ8DHOQmt7jNHe5yj\/s84A8e8ojHPOFpoOdFIL+W\/+Yf\/uUNV7nGdW58Wh\/X3SYEIQlFaMIQlq8IR3giEJFIcT\/viSZHJwYxiUVs4hCXeLzT9Z4PfCSJWVKSkZwUpCQVqfk60JFezhCYZZGzko3s5CAnuchNHhKQkEQkphCFKUJRivEN31KcEoGOMnJZylGeClSkEpWpQlWqUZ0a1CQf+SlAQerTgIY0ojHf0YSmNAv0tpJb04a2tKM9HehIJzrTha50ozu1qUNd6tGXfvRnAAMZxGCGMDTQO1IexWjGMJZxjGcCE5nEZKYwlWn0pBe96cMc5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb+J7NbGEGM5nFbHaxmz3sZR\/7OcBBDnGYIxzlGMc5wUl+4Ed+4hSnOcNZfuYXfmUb29nBTn7nEpe5wlWucZ0b3OQWt7nDXe5xnwf8wUMe8ZgnPOVPnvGcF5znAhf5jX\/4lze85R3v+cDHT59tPPebEIQkFKEJQ1i+IhzhiUBEIhGZKEQlGi+d9YrX\/E0cs7jEIz4JSEgiEpOEpCQjOSlISSpS8zVpSEs60pOBjGQiM1mIQUxiEZtc5CYPeclHfgpQkEIUpghFKcY3fEtxSlCSUpSmDGUpR3kqUJFsZCcHOalODWpSi9rUoS71qE8DGtKIxnxHE5rSjOa0oCWtaE0b2tKO9lSmClWpFu\/zu9lD7hmY9ZX70Z8BDGRQYM0weTgjGMkoRjOGsYyjI53oTJfA\/unyjMBsjjyXecxnAQsDa5bKy1jOClayitWsYS0TmMgkJgf2b5W3BWa75N3sYS\/72B9Yc1g+wlGOcZwTnOQHfmQ9G9jIpsD+c\/L5wOx3+RKXucJVrgXW3JJvc4e73OM+D\/iDh5ziNGc4yzOe84K\/eMkrXvM3\/\/Avb3jLO97zgY+f+uO734QgJKEITRjC8hXheGztE57yJ1HMohKN6MSI\/\/nPEkeOSzzik4CEJCIxSUhKMpKTgpSkIjVfk4YIRCQSkclEZrKQlWyB3lxybvKQl3zkpwAFKURhilCUYnzDtxSnBCVJR3oykDHQUUmuHJhVl2tQk1rUpg51qUd9GtCQRjTmO5rQlGY0pzRlKEu5QEcHuWNg1lXuRnd60JNe9KYPfelHfwYwkEEMZghDGUZLWtGaNoGO8fIEJjKJyUxhKtOYzgxmBvbNlecxnwUsZBGLWcJSRjCSUYwO7F8nr2cDG9nE92xmC1vZxvbAvt3yHvayj\/0c4CCHOMxyVrCSVZzkB37kJ05xmjOc5Wd+4VfOcZ4Lgd5L8mWucJVrXOcGN7nFUY5xnBM84A8e8ojHPOEpf\/KM57zgL17yKtD7r\/yGt7zjPR\/4+GldAvebO57f5R73CWv2FeEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKSEJRWjCkJqvSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIUpBCFSU4KUpKK4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgKMX4hm9pSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz8a0ZjvaMIQhjKM4YxgJKMYzRjGMo7xTGBigs+\/V1PlaUxnBjOZxWzmMJcBDGQQg1nMEpayjOWsYCWrWM0a1rKO9WwI9G6Wt7CVbWxnBzvZxW7ms4CFLOIghzjMEY5yjOOc4GSg45R8OjD7Rf6Vc5znAhf5jd+5xF72sZ8D3OAmt7jNHe5yj\/s8CHQ8lp8EZs\/lF\/zFS17xmr\/5h3+5wlWucZ2Pn85I6G4TgpAJ\/\/\/nhfE8bMLPOyLIEQOzqHI0ohODmMQiNnGIy1s973jPBxKbJSEpyUgeODN1IKeT05OBjGQiM1nISjayk4Oc5CI38UlAQhJRkEIUpghFAz3F5RKUpBSlKUNZylGeClSkEpWpQlWqUZ0a5CUf+SlAPerTgIaBzk+PpmbNaE4LWtKK1rShLe1oTwc60onOdKEr3ahFbepQlz70pR\/9GfBf3YM9H8JQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVHrQk170ZjZzmMs85rOAhSxiMUtYyjKWs4KVrGI1a1jLOtazgY1s4ns2M50ZzGQWO9nFbvawl33s5wAHOcRhjnCUYxznBCf5gR\/5iVOc5gxn+Zlf2Mo2trOD3\/idS1zmCle5xnVucJNb3OYOd7nHfR7wBw95xGOe8JQ\/ecZzznGeC1zkb\/7hX97wlne85wMfP33eidxvQhCSUIQmDGH5inCEJwIRiURkohCVv5zzkle8JrZZHOISj\/gkICGJSJzo8+93cjlFYPa1nIa0pCM9GchIJjITnRjEJBY5yUVu8pCXfOSnAAUDHUXlYoFZCbkkpShNGcpSjvJUICvZyE4OqlGdGtSkFrWpQ13qBToayY0Ds2Zyc1rQkla0pg1taUclKlOFqnShK93oTg960ove9Al0DJAHBmZD5WEMZwQjGcVoxjCWDnSkE52ZzBSmMo3pzGAms5jNHOYyj\/ksYCGLWMwSlrKM5axgJatYzRrGM4GJTGIT37OZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJfmAd69nARs7yM7\/wK+c4zwUu8hu\/c4nLXOEq17jODW5yi9vc4S73uM8D\/uAnTnGaM\/zJM57zgr94ySte8zf\/8C9veMs73vOBj58+68TuNyEISShCE4awfMUj6x7zhKdENotCVKIRnRjEJBaxiUNc4hGfBCQkEYlJQlKSkZwUpCQVqfma8EQgIpHISCYyk4WsiT\/\/ruaUc5GbPOQlH\/kpQEEKUZgiFKUY3\/AtxSlBWtKRngyUozwVqEilQG81uTo1qEktalOHutSjPg1oSCMa8x1NaEozSlGaMpSlDW1pR3s6BHq7BHIPuSe96E0f+tKP\/gxgIIMYzBCG0oKWtKI1oxnDWMYxPtAzOZCnyzOYySxmM4e5zGM+C1jIIhazhOGMYCSjWMVq1rCWdaxnAxvZFOjdKm9jOzvYyS52s4e97GM\/BzjIIZaxnBWs5AQn+YEf+YlTnOYMZwO95+Tzgdnv8iUuc4WrXOM6N7jJEY5yjOPc5wF\/8JBHPOYJT\/mTZzznBX\/xMtD7j\/wvb3jLO97zgY+f1ibxzxR\/v8Nd7hHGLCxfEY7wRCAikYhMFKISjejESPJ5bxw5LvGITwISkojEJCEEIQlFaFKRmq9JQ1rSkZ4MZCQTmclCVrIFenMFcj45PwUoSCGSkZwUpORbilOCkpSiNGUoSznKU4GKVKIyVahKNaoHemvLdahLPepThKIU4xua0JRmNKcFLWlFa9rQlna0pwMd6URnutA10NtT7kVv+tCXhjSiMd8xmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTP2v7hmez2QWs5lDfwYwkEEsYjFLWMoylrOClaxiNWtYyzrWs4GNbOJ7NrOFrWxjOzvYyS7mMZ8FLOQABznEYY5wlGMc5wQn+YEf+YlTgd\/rz\/Iv\/Mo5znOBi\/zG7+xhL\/vYz3VucJNb3OYOd7nHfR7wBw95xONA7zP5OS\/4i5e84jV\/8w+XucJVrvGBj5\/OSerPbkIQklCEJgxh+YpwhCdC0s97o8hRiUZ0YhCTWMQmDm90vOUd70lklpgkJCUZyUlBSlKRmq9JQ1rSBXozyZnJQlaykZ0c5CQX8YhPAhJSgIIUojBFAmd+KxenBCUpRWnKUJZylKcCFalEZapQlWpUJw95yUd+6lKP+jSgYaC3idyUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlZrUojZ16E0f+tKP\/oHewfIQhjKM4YxgJKMYzRjGMo7xTGAik5jMFLrTg570YhazmcNc5gV6F8mLWcJSlrGcFaxkFatZw1rWsZ4NbGQT3zON6cxgJjvYyS52syfQe0A+yCEOc4SjHOM4JzjJD\/zIT5ziNGc4y89sYSvb2M5FfuN3LnGZK1zlGte5wU1ucZs73OUe93nAHzzkEY95wlP+5Bm\/co7zXAj8bP\/Kb3jLO97zgY+f1iVzvwlBSEIRmjCE5SvCEZ4IRCQSkYnCC2f8xUteBXrjej0e8UlAQhKRmCQkJRnJSUFKUpGar0lDWtKRngxkJBPRiE4MYib7vDe3nIe85CM\/BShIIQpThKIU4xu+pTglKEkpSlOGspSjPFnISjayB3pryDWpRW3qUJd61KcBDWlEY76jCU1pRnNa0JJWtKYNbalIJSpThc50oSvd6B54L73lPvSlH\/0ZwEAGMZghDGUYwxnBSEYxmjG0pwMd6cQkJjOFqUwL9M6SZzOHucxjfmDNYnkJS1nGclawklWsZhzjmcBENrKJ79nMlsCZO+Sd7GI3e9gbWHNQPsRhjnCUYxznBCdZyzrWs4EznOVnfuHXwJkX5d\/4nUtc5kpgzQ35Jre4zR3uco\/7POBHfuIUp3nKnzzjOS\/4i5e84jV\/8w\/\/8oa3gd6Pn3Jy95sQhCQUoQlDWB5a84jHPCGSWWSiEJVoRCcGMYlFbOIQl3jET\/55b+JATi6nICWpSE04whOBiGQgI5nITBayko3s5CAnuchNHvKSj\/wUoGCgt6hcjG\/4luKkIS3pSE9ZylGeClSkEpWpQlWqUZ0a1KQWtalDXeoFehvJjfmOJjSlJKUoTRla04a2tKM9HehIJzrTha50ozs96EkvetMn0DtAHsggBjOE5rSgJa0YxWjGMJZxjGcCE5nEZKYwlWlMD\/TMlucwl3nMZwELWcRihjGcEYxkJatYzRrWso71bGBjoGOLvDUw2ynvYjd72Ms+9nOAgyxlGctZwXFOcJIf+JGfOMVpzgQ6fpXPBWa\/yb9zictc4SrXuM4NDnOEoxzjHvd5wB885BGPecLTQMcL+a\/A7G\/5H\/7lDW95x3s+8JFb3OYOdwmdwt0mLF8RjvBEICKRUnzeEU2OTgxiEovYxCEu8YhPAhKSiMT8hxCEJBQpSUVqviYNaUlHejIEerPIWclGdnKQk1zkJg95yUd+ClCQpCQjOSn4hm8pTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvUoTBGKUozvaEJTmtGcFrSkFa1pQ1va0Z4OdKQTnelCV7rRnR70pBe96UMDGtKIxgxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNv3ozwAGsvC\/Pr8lni9lGctZwUpWsZo1rGUd69nARjYFvgNb5W1sZwc7mcs85rMgsP6QfJgjHOUYxznBSX7gR37iFKc5w9nAOefk81zgIr+xmz3sZV9g\/U35Fre5w13uBdY8lB\/xmCc85c\/Amr\/kl7ziNX9zictc4Wpg\/f+ldM8IQUhCETrl50vCyeGJQEQiETmwJrocg5jEIjb\/6nrDW94FepN4PSnJSE4KUgbOTCOnJR3pyUBGMpGZLGQlG9nJQU7iEo\/4JCA\/BShIIQpThKIU45tAb0m5FKUpQ1nKUZ4KVKQSlalCVaqRmzzkJR91qEs96tOAhjSiMd\/RhKY0ozktaEkrWtOGtrSjPR3oSCc604Ua1KQWtelFb\/rQl370ZwADGcRghjCUYQxnBCMZxWjGMJZxjGcCE5nEZLrRnR70ZCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCObmMo0pjOD7exgJ7vYzR72so\/9HOAghzjMEY5yjOOc4CQ\/8CM\/cYrTnOEsm9nCVrZxgYv8xu9c4jJXuMo1rnODm9ziNne4yz3u84A\/eMgjHvOEp\/zJL\/zKOc7zitf8zT8pP\/\/uvpPf84GPn15L5X4TgpCEIjRhCMtXhCM8EYhIJCLz3P4X\/MVLYprFIjZxUn3em0BOSCISk4SkJCM5KUhJKlLzNWlISzrSk4GMRCUa0YlBdnKQk1yB3nxyfgpQkEIUpkhg3bdycUpQklKUpgxlKUdmspCVbFShKtWoHjivtlyHutSjPg1oGFjXRG5KM5rTgpa0ojVtqEBFKlGZTnSmC13pRnd60JNe9KYPfelH\/0DvYHkIQxnGcEYwklGMph3t6UBHJjKJyUxhKtOYzgxmMovZzGEu8wK9i+TFLGEpy1jOClayirGMYzwT2MBGNvE9m9nCVraxnR3sZBe72cNe9rGfAxzkEIc58v+rmK6igyAAKIAq4KQbRspGjRjd3d1dAhvd3YISgw1GNyrhUelUUEKQQ3d3CiOku8vrx\/157++d89jNHvayjxWsZBWrOcJRjnGcE5zkFKc5w1nOcZ4LXOQSl7nCVf7hGteJ4QY3ucVtDnCQQxzmAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+fT\/9tn9m1jEJg5fEMAd\/V3ucZ+EskQkJglJSUZyUpCSVKQmkDSkJR3pyUBGviITQQSTmSxkJRtxiUd8EpCbUPKQl3zkpwAFKURhilCUYhSnBCUpRWnKUJZylKcCFalEZULIQU5yUZNa1KYOdalHfRrQkEY0pglNaUZzWtCSVnxNa9rQljDCaUd7qlKN6tSgK93oTg960ove9KEv\/ejPAAYyiMEMYSjD+IbhjOBbvmMkoxhNRzrRmS5EMZ4JRDORSUxmClOZxnRmMJNZzGYOc5nH9\/zAj8xnAQtZxE9EMJZxRLKEpSxjOStYySpWs4a1rOM3fmc9G\/iDP9nIJjazhb\/Yyjb+Zjs\/8wu\/spg97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXGUHO9nFbm5yi9v8yx3uco\/7POAhj3jME57yjOe84CWveM0b3vKO93zgI9e4Tgw3iBPi2wTwJXGJR3wSkJBEJCYJSUlGclKQklSkJpA0pCUd6clARj7jc2IRmyxkJRvZCSEHOclFbkLJQ17ykZ8CFKQQhSlCUYpRnBKUpBSlyUQQwWSmIpWoTBWqUo3q1KAmtahNHepSj\/o0oCGNaEwTmtKM5rSgJa0oSznKU4Fw2tGeDnSkE53pQle60Z0e9KQXvelDX\/rRnwEMZBCDGcJQhtGaNrQljJGMYjRjiGAs44gkivFMIJqJTGIyU5jKNKYzg5nMYjZzmMs8\/gMQtU6u", "encoding":"base64", "height":326, "name":"Background", "opacity":1, "type":"tilelayer", "visible":true, "width":30, "x":0, "y":0 }, { "compression":"zlib", "data":"eJzt0UlOVQEQQNH3P73sfy9IK4pI51ilk05QcayIDVwWQDRhek5yZ5WqQQ0DADxuYTQMz2uxlmq5Vmq11upFrdfLelUb9bo2601t1Xbt1G7t1dvRv+++a+Z9faj9OqjDOqrj+lgndVpndV4X9aku66o+15f6Wtf17T\/ufm\/mR93Uz7qtX\/W7\/tTfunvYMx6GUY1roiZrqqZrpmZrrp7V\/PjJbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjuAY9jLnI=", "encoding":"base64", "height":326, "name":"Finish", "opacity":1, "type":"tilelayer", "visible":true, "width":30, "x":0, "y":0 }, { "compression":"zlib", "data":"eJztlwl0Duceh8ceQTZZScgqsVWVCKWWJPau9msLoaU7LVqCInRBF7Ul0dbW3hbdxL7cFu1tCUUWEdpa20u4BBFraZ8cc4+5vcnk+77M\/Ou48zvnOe+bed\/398x8mZycT1H+O2FQB8IhQpFLLLSHDtBR0DsEhsLj8ISgdwokwlSYZse5d2AWvGvGTenkC\/gSVgp7d8Me2CvsPQNnIc+gvrJlFKUclIcKZQwqtSFBuIIhBEIFvW1xtYNoiBH0xuEaBIMhXtBrxYoVc9K\/rKIMgIEQV1bOm4BrPEyAiYLeFFwL4D1430TvGrrXwjrVsYFxI2yCzSZ6s+jeB9mCn2lh8vFdhAJhr0c5RakOnuVkvbbkfu6pJbQSvre\/4esL\/YS9L+MbC+OEvfPxJUHyHfgO2JOd3P8u+AF2Cz7LKVyn4d9wRtBbubyiOEMVqFpezhuBqy7Ug\/qC3o64OkFn6CLovZMyneeeATOFn38ZvuWwQti7Hd8OSCvBm8F6JmQ5cH\/HOHMcfoFf1fMnGE9Cbgl951m\/APkOeMtU4Ls3lIPyFW5dq8hYCZwq6J91Y90dPErYVxh\/9gRALXVvIGMQBEOIDee1acT+e6GxDedasqcVPKDubcPYFtpBtJ3eh9n\/CDxqw7m+7OkH\/TV745gPstNpb8bSPw4STPYUlWScKX+B10rJKVeRv2+oABUrmuMIoLcW1Nb0BzMPgVAIM8nbit4HoLWmvx3zaIiBWGgPHaAjdDLoPvrR0x8GaPoGMR8M8TAEhsLj8AQMM8g7jp4EGK\/Tl8jaVJgGr5r0uReVJbiWwofwkaB3K65t8A18K+i1Uvo0raQokdAMoirJebvj6gE9oZdJ3mfpfQ6ehxGq4wXGF2EUjDbI+zo9b8B0tW8m45vwFrytXpvF+C7MhjkGeT+m5xNYpvatYPwUPoPP7XRsZP8m2GzDue\/Y8z1sV\/emMe6EXfCDnd4D7D8IP9pw7lf2\/AtOGPD5XaHjKlwTfOcL4+OkKL7g5yTrvVvyFJ\/b0\/AMPCv4Gb6BazrMgJmC3k9wLYPlsELQ+z2u7bAD0gzy\/kzPITgs\/O7\/hu8G3BT21qzMd28IqCzrvR9fS2hlp7cT+ztDF+H7HYZvODwp7H0V32vwurD3I3x\/h4+FvWbkIM\/wI\/wk\/CxX8V2D68JeX2f+d0MN51s\/+zMGQC1nc71R9DeHFqqnJWMreMBkby\/6e0Mf1dOXsR\/0N9n754zFNw4SSvAmsj7VwHtLoisZUnQ6F7O2BJYKfyZb8G2FbcLew\/iOwFFh7018vxc6q9i2vwr7qkI1G\/cblXr46kMDYW9nfF2gq7B3OL4n4SkDvAl0jIcJws+Qgm8BvCfs3YBvI2wS9ubgOwAHDfKeoecs5Ak\/R9Wq\/H2DS1VZb318DaChsLcLvq7woLC3uDzPfYyAkcL38xa+t+EdYe9n+D6HL4S9u\/D9ALvvkN+7FccSXU1RYiC2mnmO\/nQPgIEQp3oGM8bDEBO9CXSPhwkwUfVMYpwMUwz0zqNrPiSpnSmMC+A9eF+9tpBxESw20LuGrrWwTu3cwLgRNsFmEz\/XLLr3QbaJjqKSj+8iFAh7jUqoi6KEQR0XWW8MvlhoL+yNxzcEhgp7J+ObAonC3tJmJfebCqtgteC978WVDhmQKejNw3UOzsMFHe9V1q7BdYPuzcVVUVzBDdxdi9\/ny5of1NDZY0ai8DWHFsLeXvh6Qx9h72h8Y+AlYa+VuydV3PjuDdXAxU3OWw9XfWgADQW9nXF1ga7woKB3OK4n4Sl42kRvIt1TYZrgsxVmCb6l8KGwdyu+bfCNjjeNtZ2wy8B7O0LXUTim05nL2ik4rdlzlnkenDPxc3JyV5TK4Ox++1o15i7g6l78udImnO4IqKtxNGDeEO4x0VtUuuJ7EB4S9lq585LJO5AF+zTvQg7zA3BQ5\/04ytoxOO7gO3SBc\/lwUXP+MvMrcFWv00NRykBZD8e87pzzgOqa897MfcBXp7M2a4EQ5KD3Xs41hvs05yOZN4Monc7WrLWBtg56H+Hco\/CY5nwP5j2hl07nANYGQpyDXitW8nl3LkKB8DvkUZ2\/b\/CsLuttjO8+aCLsfRTfY9BN2Ps8vhEwUuMdxXw0jBG+l9n45sBcYW8qvlWw2kDvdrp2lNCXznoGZBroPUHXScgV\/gwreipKJXDylHOG4gqDOhAu6C1MLL720EHYa+Wvybf8nv8J32l+3zuYp8FOE9+B43T\/Ar9qHCeZ58IpE71lvRSlHJT3un2tEnMnqOxV\/LnSJojuYAjROOowD4cIE71WrNibDN7HTMhS38tsxv2QAwfUaz8y\/gQ\/wyGD3t\/z9FyAfLWvgPESXIYr6rVrjNfhN7hhkNfNm+\/e4OF962dPRi\/wBh\/1mh9jDagJ\/t7GeBvRcy80VvuaMDaFSGimXmvO2ALuh5YGea3c3UnjPdkJu+x8X3LYfwAOOvie5XLuFJy28\/xl9l+Bqw56nXz43w3OPvad82a\/D\/jaee4\/CedcBNS183wk+5tBlINeK45lHp\/3fEiCZMHPfg2utbAO1pvo3Ut3OmSojizGfZAN+0305tF9Ds6rjnzGi1AAl0z0uvgqiiu4+d762YOxOniCl68xjgh66kI9TV9D5vdAI4McRaUj3Z2gs4mOovIEvmEwXNg7Dd+r8Jqw14oVK\/oZ5acoo2GM3+1rY5mPgwS\/4s9NYS0Rpurs0ctszs2BuZrzScyTIUWnczFrS2Cpg95Uzq2C1Zrz65ivhw06nVtY2wrbHPSmcy4DMjXns5nvhxydzsOsHYGjDnrvpHjW4H83eNeQ9TbB1xQiTfQ+RPfD8IjG0Y15d+hhovcZup+F5zSOkcxfgBdN9M6geya8aacjmf0psMDBe1vOuRXwqZ3n17N\/A2wUfvf248uBA8LeS\/guwxVhr5W7O7NqKsq7MLumrPdLfCsh1URvGt07YZfGsYf5Xkg30ZtL9yk4rXGcZZ4H5wz0lvdXlAr+t392Yl4ZnDXXqjF3AVf\/\/z3vSILpCYFQCFM7wxkjoK5BjqLSju5oiIFYEz1\/ziBcgyEehgh6CzMJ32Rhp5X\/v9QOUJRACAq4fS2UeRjUCSj+XGnTmu420FbjiGEeC+1N9A6geyDEaRzxzIfAUBO94+meABM1jsnMp0CiiV4rVozIfbX47g1Na8l6H8PXDboLe0fgGwkvqN5RjKNhjMn38Tb978As1TObcQ7MFX7+VHyrYLWwNx1fBmRqvNnM90OO8L0U4LsEl4W9nrUVxQu8a8t6m+BrCpGqN4qxObQQuI\/uGkcv5r2hj\/Dzj8Y3Bl4S9hZmLs55f4FXIrt5rj2wV\/j5zuA7C3nC3qqBfPcGl0BZb318DaChgd52dEVDjIGdtmQQvsEQL+x9Bd8kmCzs\/QDfQlgk7P0Hvq\/ga2GvRC4F8r8brgTKer2C+N8NPkGy3qb4IqGZsLc7vh7QU9hbVF7iHl6GscL3Mg\/ffEjS8S5kbREsNvDe1tC1FtbpdH7F2tewxUBvFl37IFun82fWDsFh4d\/Fb\/huwE1hb81gRfGHgOBbP9dmDISgYNn7aI2vDbQV9g7ANxDihL3j8U2AiSZ759OfBMkmelbSnQqrNI61zNfBehO9e+lOhwyNYx\/zbNhvojeP7nNwXuO4yLwALpnodQlRFFdwCzHPUVQa4rsHGgl7rRiTxfzelpTyd5fK+VWw2saer9m3BbaW0pvO+QzItLHnEPsOwxGd\/SdYOwm5OnvOsXYeLtjovcG+m\/C7zv6KoYpSCZxCi9\/jypobuOvs0caffQFQS2d\/GGt1INzGTqMSi689dBD2WrFS2lzlnb0G14XfXd8wRfGDGmGy3ih8zaFFCd52rEdDjEH314ue3tCnhL5BrA+GeOHP5RV8k2CysPcDfAthkbDXihUrVqxYsWJ7\/gDSn25K", "encoding":"base64", "height":326, "name":"Cars", "opacity":1, "type":"tilelayer", "visible":true, "width":30, "x":0, "y":0 }, { "compression":"zlib", "data":"eJzt3UXU0FW3wOH3EwETRLobVMIALEoEDMAiVFJJKQMwSJFSygCDUklJlTAIlVJSJQzAoiQNwCBU4j5Ozx2fcwf322s9C5js3+Rd8OdM9sYcGRmb2MwXxJr2F2dkdOABOnJI6zBH+C1id7DWEJ7mGS4kG9m56OJ43al2T+MNplOeClTk8ojdlXZ\/zCesoj4NuI3bI3Z32b2bH9lDZ7rQlQcjdjNyZmT8h7PIxDCt4YxgZMRuUa1iFKcEM7VmMZs5Ebs1tGpyA7VYo7WWdayP2G2p1Yr7uJ99Wvs5wMGI3b5a\/XiS\/mQmC1k5J2e87gS7X+U1XqcUpSlD2YjdJXZ\/wId8RG3qUJebIna\/sftbvuN72tCWdrSP2D1h91\/8zT8MYCCDGByxmzdXRkY+8lOASVqTmcLUiN2rta7hWq5jmdZyVrAyYreJ1t3cw71s19rBTnZF7D6q9RiP8wSntE5z5t9mrnjdF+1+iZd5hUIUpghFI3YX2P0O7\/IeValGdWpE7G62+wu+5Cua0ZwWtIzYPWL3b\/zOH\/SiN33oG7GbPbfvN3JwMWO1xjGeCRG7FbUu5wquZKHWIhazJGL3Nq3buYM72aK1lW18E7HbVetBHuJhjmod4zgnInZHaI3kWZ4jF7nJQ97c8bqz7Z7Dm7xFJSpThasjdtfZvZ5P+YyGNKIxTSJ2D9h9kJ\/4mW50pwePRuxmzeP7jXM5jxe0RjGaFyN2y2iV5RIuZa7WPOazIGK3rtZN3MwtbNDayCY2R+y202pPBx7gV61DHOZIxO4grcEM4Wku4EKykT1PvO4Uu6cyjTcoR3kqUDFid4XdK\/mYT6hHfRpwW8TuTrt3sZsf6URnutA1YvfMv7vz+r83ZzHUn4cxnBERu0W0ilKM4szQmsksZkfsVteqQU1uYLXWGtayLmK3hVZLWnEfe7X2sZ8DEbt9tPrSjyc5m8xkIWveeN3xdk\/gVV6jJKUoTZmI3cV2L+EDPuRGalOHuhG72+z+hm\/5jta0oS3tInaP232Cv\/ibpxjAQAZF7ObJ568N8pGfiVqTmMyUiN0qWldzDdeyVGsZy1kRsdtYqwl3cw8\/aG1nBzsjdntoPcpjPM5JrVOc5kzE7mitF3mJlylIIQpTJF+87ny7F\/AO73I9ValG9YjdTXZv5gu+pCnNaE6LiN3Ddh\/hN36nJ73oTZ+I3Wz5fb9xETkYozWWcYyP2K2gVZHLuYL3tRayiMURuw20buN27uBrrS1sZVvEbhetrjzIQ\/ypdZRjHI\/YHa41gpE8S05ykZs8+eN1Z9k9mzm8yVVUojJVInbX2r2O9XzKXTSkEY0jdvfbfYCD\/MQjdKM7PSJ2sxTw\/cY5nMvzWi8witERu6W1ylCWS3hbay7zmB+xW0erLjdxM59rbWAjmyJ222q1oz0d+EXrVw5xOGJ3oNYgBjOE87mAC8lWIF53st1TmMo0LqMc5akQsbvc7hWs5GNupR71aRCxu8PunexiNx3pRGe6ROyetvvMv\/sL+r83z\/j9UIYxPGK3sFYRilKM6VozmMmsiN1qWtWpQU1Waa1mDWsjdptrtaAlrdijtZd97I\/Y7a3Vh770IxNnk5ksBeN1x9k9ngm8SglKUorSEbuL7F7MEj6gFjdSmzoRu1vt3sY3fMv9tKYNbSN2j9l9nBP8RX+eYgADI3ZzF\/L9Rl7y8brWRCYxOWK3slYVruYaPtJayjKWR+w20mpME+7me60f2M6OiN3uWj14lMf4R+skpzgdsTtKazQv8hIFKEghCheK151n93wW8A7XcT1VqRaxu9HuTWzmC+6lKc1oHrF7yO7DHOE3nqAnvegdsXthYd9vZOciXtEaw1jGReyW16pARS7nPa33WciiiN36Wg24jdv5SutrtrA1YrezVhe68iB\/aP3JUY5F7A7TGs4IRnIxOclF7sLxujPtnsVs5nAlV1GJyhG7a+xeyzrWcyd30ZBGEbv77N7PAQ7yMI\/Qje4Ru5mL+H4jK+fwnNbzvMCoiN1SWqUpQ1ne0nqbucyL2K2tVYe63MRnWp+zgY0Ru2202tKO9vys9Qu\/cihid4DWQAYxmPM4nwu4sEi87iS7JzOFqVzKZZSjfMTuMruXs4KV3MKt1KN+xO52u3ewk108QEc60Tli95Tdpznzb6NoRsbTfn2GoQyL2C2kVZgiFOUNrenMYGbEblWtalSnBp9orWI1ayJ2m2k1pwUt+VFrD3vZF7HbS6s3fejLWWTibDIXjdcda\/c4xjOB4pSgJKUidhfavYjFLOEGanEjtSN2t9i9lW18w33cT2vaROwetfsYxznBk\/TnKQZE7OYq5vuNPOTlNa3XmcikiN1KWpWpwtV8qPURS1kWsdtQqxGNacJ3Wt\/zA9sjdrtpdacHj\/K31j+c5FTE7gtaoxjNi+SnAAUpVCxed67d85jPAq7lOq6nasTuBrs3sonN3MO9NKVZxO6vdh\/iMEd4nCfoSa+I3QuK+34jG9l5WesVxjA2YrecVnkqUJF3td7jfRZG7NbTqk8DbuNLra\/4mi0Ru520OtOFrvyu9Qd\/cjRid6jWMIYzghxcTE5yFY\/XnWH3TGYxmyu4kquoFLG72u41rGUdd3And9EwYnev3fvYzwEe4mEeoVvE7tklfL+Rhaw8q\/Ucz\/NCxG5JrVKUpgxvar3F28yN2L1RqzZ1qMunWp\/xORsidltrtaEt7fhJ62d+4deI3ae0BjCQQZzLeZzPBSXidSfaPYnJTOESLuUyykXsLrV7GctZwc3cwq3Ui9j9we7t7GAnHXiAjnSK2D1p9ylOc4YhPM0zDI3YLVjS9xuFKcI0rTeYzoyI3eu1qlKN6nys9QmrWB2x21SrGc1pwW6tH9nD3ojdnlq96E0f\/sNZZOLskvG6Y+weyzjGU4zilKBkxO77di9kEYupyQ3U4saI3a\/t3sJWttGK+7if1hG7f9p9lGMcpx9P0p+nInZzlvL9Rm7y8KrWa7zOxIjdq7QqUZkqfKD1IR+xNGL3Lq2GNKIx32p9x\/f8ELH7iFY3utODv7T+5h9ORuw+r\/UCoxhNPvJTgIKl4nXftnsu85jPNVzLdVwfsfu53RvYyCbu5h7upWnE7i92\/8ohDvMYj\/MEPSN2zy\/t+40LycZLWi\/zCmMidi\/TKkd5KvCO1ru8x\/sRu7dq1aM+DfhC60u+4uuI3Y5anehMF37T+p0\/+DNi9xmtoQxjOBeRg4vJWTped7rdM5jJLC7nCq7kqojdVXavZg1ruZ07uJO7Inb32L2XfeznQR7iYR6J2M1UxvcbmcnCSK1neY7nI3ZLaJWkFKWZo\/Umb\/F2xG4trRupTR3Wa33KZ3wesXu\/Vmva0JaDWj\/xM79E7PbXeooBDOQczuU8zi8Tr\/u63ROZxGTKcgmXclnE7kd2L2UZy7mJm7mFWyN2v7f7B7azg\/Z04AE6Ruz+Y\/dJTnGawQzhaZ6J2C1Q1vcbhSjMVK1pvMH0iN3rtK6nKtVYqfUxn7AqYvderaY0ozm7tHbzI3sidp\/Q6kkvepPBfziLTGXjdV+xewxjGUdRilGcEhG74dTQqskN1ErYbanVivu4P2G3r1Y\/nqR\/wm6qn6tw\/vtzlWb+r36uUr17h5Pq3TucVO\/e4aR69w4n1bt3OKnevcNJ9e4dTqp373BSvXuHk+rdO5xU797hpHr3DifVu3c4qd69w0n17h1OqnfvcFK9e4eT6t07nFTv3uGkevcOJ9W7dzip3r3DSfXuHU6qd+9wUr17h5Pq3TucVO\/e4aR69w4n1bt3OKnevcNJ9e4dTqp373BSvXuHk+rdO5xU797hpHr3DifVu3c4qd69w0n17v2\/5r\/vk0nm\/9v75PBsGRkjGMmz2dJ1Z2nNZg5vJuyu1VrHej5N2N2vdYCD\/JSwmyV7RkZWzuHc7Om6pbXKUJZLEnbraNXlJm5O2G2r1Y72dEjYHag1iMEMSdidrDWFqUxL2F2utYKVfJywu0NrJ7vYnbB7WuvMv72L\/Pt\/UbpuYa0iFKVYwm41rerUoGbCbnOtFrSkVcJub60+9KVfwu44rfFM4NWE3UVai1nCBwm7W7W28Q3fJuwe0zrOCf5K2M2dIyMjD3nJF\/FuaTiVtapwNdck7DbSakwT7k7Y7a7Vg0d5LGF3lNZoXuSlhN15WvNZwDsJuxsT3f8NJ9X933BS3f8NJ9X933BS3f8NJ9n932BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933BS3f8NJ9X933D+B6JRuJs=", "encoding":"base64", "height":326, "name":"Grass", "opacity":1, "type":"tilelayer", "visible":true, "width":30, "x":0, "y":0 }], "nextobjectid":1, "orientation":"orthogonal", "renderorder":"right-down", "tileheight":50, "tilesets":[ { "columns":31, "firstgid":1, "image":"..\/..\/..\/..\/Users\/Merel\/Desktop\/road.png", "imageheight":17008, "imagewidth":1000, "margin":2, "name":"road", "spacing":2, "tilecount":10137, "tileheight":50, "tilewidth":30 }], "tilewidth":30, "version":1, "width":30 }
  19. Hi, im new here. I have one big doubt, I´m making a game where you shoot ink, and I'd love to staint the floor with it. But I don´t know how. Does anyone know how to do it? Any ideas? Thanks.
  20. Hello, I would like to use game states in my project. I followed this tutorial http://perplexingtech.weebly.com/game-dev-blog/using-states-in-phaserjs-javascript-game-developement. In my project I get the error "Reference error: menuState is not defined". You can download my code in the attachment. Can anybody help me with my problem? I am a beginner, so can you please tell me a solution in an easy way? Thanks! Week 6 - Menu game.zip
  21. Hey everyone! So I'm pretty new to Phaser and I'm having a hard time making the player's bullets stop at a certain point (e.g killing the projectile at around 30px after its original position, etc). I want the player to have a limited projectile range and I'm just wondering how you can implement that because all my attempts of trying to figure it out have failed so far, so I'm seeking help from you guys... Thanks for any advise!
  22. Ok now i have one sprite of the wheel. I rotate the sprite in the update function, with property "wheel.rotation += 0.0200;". When i set the angle of the wheel to 0 on spin action and run the ball animation. Almost every time on the angle is different. I guess it depends on the browser and code optimization for the update function. Is there a way to rotate the sprite exactly every time? So i can calculate the angle, so that the ball falls in at the right number? Maybe with time based animation? Any suggestions?
  23. Hello there, So i'm working on a mobile and desktop roulette, in desktop version i used ~160 instances of graphics object to detect when user is over a specific field. My question is for mobile, I used the same principle when drawing the grid, but the performance kinda lacks. (game size is 896 x 504) So what is the least consuming "way" for the CPU on mobile to detect user input when you have ~160 instances? Do I solve this with bitmapdata? Or is there any other way of doing it? *Can some one explain how does bitmapdata work, or link a good source? Thx.
  24. I'm looking for a 2D (vector design) artist to implement the video game, is a serious game, I took 8 months of work, and hopefully out in 5 months. Deploy platforms: Android, Windows 8.1 / 10, facebook, web, google chrome, IO's, xbox maybe (just maybe) Monetization: ads and inn-app purchases. As you can see I consider myself a good game programmer in HTML5, but my graphics capabilities are very poor, so I need a committed person who wants to win 5% of the total profits of the game. As a safety measure I believe a partner in each panel of the respective online stores account. my web page: http://diyo-games.com the game : on my channel there are more videos that project list of versions so far
  25. I have made a model in Blender, as follow: But when i export it to babylon file and opened this babylon file in sandbox, something strange happended ! My blender vision is 2.76 and babylon export tool is 5.0.4 What should I do to avoid this problem? Thank for your help !