From 2b4582e8b4827ead8ff1fc5fdffe71cfe97cc7ec Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 18:55:29 +0100 Subject: [PATCH 01/29] =?UTF-8?q?Limitation=20de=20la=20vitesse=20des=20en?= =?UTF-8?q?tit=C3=A9s=20dans=20les=20diagonales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/entity.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/engine/entity.py b/src/engine/entity.py index bcfa816..9b71a35 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -1,3 +1,5 @@ +import math + from src.engine.map_manager import MapManager @@ -8,6 +10,8 @@ class Entity: self.x = 8 self.y = 8 + self.max_speed = 1. + self.life_points = -1 self.max_life_points = -1 @@ -81,7 +85,7 @@ class Entity: # On simule le mouvement. Si on ne rencontre pas de collision, on applique le mouvement if not self.get_collisions(self.x + x, self.y, map_manager): - self.x += x + final_x = x else: # Si on a une collision, on avance pixel par pixel jusqu'à atteindre la collision i = 0 @@ -94,11 +98,11 @@ class Entity: i -= 1 i += 1 - self.x += i + final_x = i # On répète le procédé avec l'ordonnée if not self.get_collisions(self.x, self.y + y, map_manager): - self.y += y + final_y = y else: i = 0 if y > 0: @@ -110,7 +114,16 @@ class Entity: i -= 1 i += 1 - self.y += i + final_y = i + + # On normalise le vecteur x, y pour ne pas dépacer la vitesse maximale de l'entité + + total_len = math.sqrt(final_x**2+final_y**2) + if total_len == 0.: + return + + self.x += final_x/total_len*self.max_speed + self.y += final_y/total_len*self.max_speed def link_animation(self, name: str): """Met à jour l'animation en cours de l'entité.""" From 7c203a5d363b118b79e74de1859fe16e801a24d3 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 19:12:31 +0100 Subject: [PATCH 02/29] Modification des mouvements du joueur --- src/engine/engine.py | 2 +- src/engine/entity_manager.py | 14 +++++++++++++- src/engine/event_handler.py | 28 ++++++++++++---------------- src/main.py | 3 +++ 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/src/engine/engine.py b/src/engine/engine.py index 034b6b1..2d1dc8d 100644 --- a/src/engine/engine.py +++ b/src/engine/engine.py @@ -29,7 +29,7 @@ class Engine: self.event_handler = EventHandler(self) self.map_manager = MapManager() self.camera = Camera() - self.entity_manager = EntityManager() + self.entity_manager = EntityManager(self.map_manager) self.boss_fight_manager = BossFightManager(self) def loop(self): diff --git a/src/engine/entity_manager.py b/src/engine/entity_manager.py index 425897c..070bf20 100644 --- a/src/engine/entity_manager.py +++ b/src/engine/entity_manager.py @@ -1,10 +1,13 @@ from src.engine.entity import Entity +from src.engine.map_manager import MapManager class EntityManager: """Classe chargée de gérer les entités.""" - def __init__(self): + def __init__(self, map_manager: MapManager): self.entities: dict[str:Entity] = {} + self.player_entity_name = "" + self.map_manager = map_manager def register_entity(self, name: str): """Crée une entité et l'enregistre dans un dictionnaire.""" @@ -12,6 +15,15 @@ class EntityManager: self.entities[name] = entity return entity + def set_player_entity(self, name: str): + """Définit l'entité donnée comme le joueur. Elle peut donc être controlée.""" + self.player_entity_name = name + + def move_player_controls(self, x: float, y: float): + """Bouge le joueur. X et y doivent être compris entre 0 et 1""" + player: Entity = self.get_by_name(self.player_entity_name) + player.move(x, y, self.map_manager) + def update(self, delta: float): """Met à jour toutes les entités enregistrées.""" for entity_name in list(self.entities.keys()): diff --git a/src/engine/event_handler.py b/src/engine/event_handler.py index de045a6..79dc586 100644 --- a/src/engine/event_handler.py +++ b/src/engine/event_handler.py @@ -22,24 +22,20 @@ class EventHandler: elif e.type == KEYUP: self.key_pressed.remove(e.key) - player = self.engine.entity_manager.get_by_name("player") - player.link_animation("player_none") - if K_RIGHT in self.key_pressed: - player.move(2, 0, self.engine.map_manager) - player.link_animation("player_walking") - if K_LEFT in self.key_pressed: - player.move(-2, 0, self.engine.map_manager) - player.link_animation("player_walking") - if K_UP in self.key_pressed: - player.move(0, -2, self.engine.map_manager) - player.link_animation("player_walking") - if K_DOWN in self.key_pressed: - player.move(0, 2, self.engine.map_manager) - player.link_animation("player_walking") + if self.engine.entity_manager.player_entity_name: + if K_RIGHT in self.key_pressed: + self.engine.entity_manager.move_player_controls(1, 0) + if K_LEFT in self.key_pressed: + self.engine.entity_manager.move_player_controls(-1, 0) + if K_UP in self.key_pressed: + self.engine.entity_manager.move_player_controls(0, -1) + if K_DOWN in self.key_pressed: + self.engine.entity_manager.move_player_controls(0, 1) + if K_l in self.key_pressed: + self.engine.entity_manager.get_by_name("player").take_damages(1) + if K_x in self.key_pressed: self.engine.camera.target_zoom *= 1.01 if K_c in self.key_pressed: self.engine.camera.target_zoom *= 0.99 - if K_l in self.key_pressed: - player.take_damages(1) diff --git a/src/main.py b/src/main.py index 9319668..2efa19c 100644 --- a/src/main.py +++ b/src/main.py @@ -34,6 +34,9 @@ class Game(Engine): player.collision_rect = [-6, -7, 6, 16] player.set_default_life(10) + player.max_speed = 2. + + self.entity_manager.set_player_entity("player") self.camera.follow_entity(player) From acca81131121b107b42ca39ce0f8373f95724c06 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 19:31:16 +0100 Subject: [PATCH 03/29] =?UTF-8?q?Ajout=20d'un=20d=C3=A9calage=20de=20la=20?= =?UTF-8?q?cam=C3=A9ra=20lors=20du=20d=C3=A9placement=20du=20joueur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/camera.py | 9 +++++++-- src/engine/entity.py | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/engine/camera.py b/src/engine/camera.py index aa3a09a..9be655f 100644 --- a/src/engine/camera.py +++ b/src/engine/camera.py @@ -7,6 +7,9 @@ class Camera: self.y = 0 self.zoom = 1. + # Décalage lors du mouvement du joueur + self.player_moving_offset = 100 + # Variables utilisées pour le scrolling self.target_x = self.x self.target_y = self.y @@ -21,8 +24,10 @@ class Camera: # Si on suit une entité, on met à jour les coordonnées de suivi if self.followed_entity is not None: - self.target_x = self.followed_entity.x - self.target_y = self.followed_entity.y + self.target_x = (self.followed_entity.x + self.followed_entity.mouvements[0] * + self.player_moving_offset / self.zoom) + self.target_y = (self.followed_entity.y + self.followed_entity.mouvements[1] * + self.player_moving_offset / self.zoom) self.x += (self.target_x - self.x) / self.smoothness self.y += (self.target_y - self.y) / self.smoothness diff --git a/src/engine/entity.py b/src/engine/entity.py index 9b71a35..3fe10dd 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -10,6 +10,12 @@ class Entity: self.x = 8 self.y = 8 + # Variables utilisées pour detecter les mouvements + self.last_x = 0 + self.last_y = 0 + + self.mouvements = [0., 0.] + self.max_speed = 1. self.life_points = -1 @@ -42,6 +48,14 @@ class Entity: if self.damage_cooldown < 0: self.damage_cooldown = 0 + # Si les coordonnées ont changé, l'entité a bougé + + self.mouvements[0] = (self.x - self.last_x) / self.max_speed + self.mouvements[1] = (self.y - self.last_y) / self.max_speed + + self.last_x = self.x + self.last_y = self.y + def take_damages(self, damages: int): """Inflige {damages} dégâts à l'entité.""" From 350064792cfd707855b0799029c20af2df42d4a5 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 19:47:50 +0100 Subject: [PATCH 04/29] Fix des bugs de collision --- src/engine/entity.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/engine/entity.py b/src/engine/entity.py index 3fe10dd..ec9b457 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -97,9 +97,15 @@ class Entity: def move(self, x: float, y: float, map_manager: MapManager): """Fait bouger l'entité en tenant compte des collisions.""" + # On normalise la vitesse + initial_speed = math.sqrt(x**2+y**2) + + x = x/initial_speed*self.max_speed + y = y/initial_speed*self.max_speed + # On simule le mouvement. Si on ne rencontre pas de collision, on applique le mouvement if not self.get_collisions(self.x + x, self.y, map_manager): - final_x = x + self.x += x else: # Si on a une collision, on avance pixel par pixel jusqu'à atteindre la collision i = 0 @@ -112,11 +118,11 @@ class Entity: i -= 1 i += 1 - final_x = i + self.x += i # On répète le procédé avec l'ordonnée if not self.get_collisions(self.x, self.y + y, map_manager): - final_y = y + self.y += y else: i = 0 if y > 0: @@ -128,16 +134,8 @@ class Entity: i -= 1 i += 1 - final_y = i + self.y += i - # On normalise le vecteur x, y pour ne pas dépacer la vitesse maximale de l'entité - - total_len = math.sqrt(final_x**2+final_y**2) - if total_len == 0.: - return - - self.x += final_x/total_len*self.max_speed - self.y += final_y/total_len*self.max_speed def link_animation(self, name: str): """Met à jour l'animation en cours de l'entité.""" From ca4d46098974afd8b06d2562cde9085bead13a5e Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 19:48:14 +0100 Subject: [PATCH 05/29] Ajout de la visualisation des collisions de la map en mode DEBUG --- src/engine/renderer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/engine/renderer.py b/src/engine/renderer.py index 04df9a7..fbf1789 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -30,7 +30,6 @@ class Renderer: def load_main_menu_assets(self, path: str): """Charge les assets du menu principal depuis le dossier donné.""" - def load_tile_set(self, file_path: str, tile_size: int): """Charge le jeu de tuiles en utilisant le fichier donné et la taille donnée.""" @@ -218,3 +217,9 @@ class Renderer: rendered_surface.blit(self.tiles[tile_id - 1], (math.floor(x * self.tile_size - self.engine.camera.x + x_middle_offset), math.floor(y * self.tile_size - self.engine.camera.y + y_middle_offset))) + + if self.engine.DEBUG_MODE and layer_id == 1: + draw.rect(rendered_surface, (100, 100, 255), + (math.floor(x * self.tile_size - self.engine.camera.x + x_middle_offset), + math.floor(y * self.tile_size - self.engine.camera.y + y_middle_offset), + self.tile_size, self.tile_size), width=1) From bf75c533c66bf6e10e36c45b1b5333a0b93526be Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 21:35:10 +0100 Subject: [PATCH 06/29] Ajout du fichier PDN de l'animation de marche du joueur --- .../textures/entities/player/walking/layers.pdn | Bin 0 -> 6177 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/textures/entities/player/walking/layers.pdn diff --git a/assets/textures/entities/player/walking/layers.pdn b/assets/textures/entities/player/walking/layers.pdn new file mode 100644 index 0000000000000000000000000000000000000000..a983a30ab1dcf3b5e7501efb333d6b7e62126b42 GIT binary patch literal 6177 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 literal 0 HcmV?d00001 From 7a54d2b9a2c56069579e29bca47c61f5cd2ac70a Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 21:35:53 +0100 Subject: [PATCH 07/29] Update du tileset Tiled --- assets/textures/tileset.tsj | 66 +++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/assets/textures/tileset.tsj b/assets/textures/tileset.tsj index d7aa003..0122334 100644 --- a/assets/textures/tileset.tsj +++ b/assets/textures/tileset.tsj @@ -43,6 +43,12 @@ "name":"water", "probability":1, "tile":4 + }, + { + "color":"#ff00d8", + "name":"path", + "probability":1, + "tile":433 }], "name":"forest ground", "tile":1, @@ -415,6 +421,66 @@ { "tileid":353, "wangid":[0, 3, 0, 3, 0, 3, 0, 2] + }, + { + "tileid":408, + "wangid":[0, 1, 0, 6, 0, 1, 0, 1] + }, + { + "tileid":409, + "wangid":[0, 1, 0, 6, 0, 6, 0, 1] + }, + { + "tileid":410, + "wangid":[0, 1, 0, 1, 0, 6, 0, 1] + }, + { + "tileid":417, + "wangid":[0, 1, 0, 6, 0, 1, 0, 6] + }, + { + "tileid":432, + "wangid":[0, 6, 0, 6, 0, 1, 0, 1] + }, + { + "tileid":433, + "wangid":[0, 6, 0, 6, 0, 6, 0, 6] + }, + { + "tileid":434, + "wangid":[0, 1, 0, 1, 0, 6, 0, 6] + }, + { + "tileid":437, + "wangid":[0, 6, 0, 1, 0, 6, 0, 6] + }, + { + "tileid":438, + "wangid":[0, 6, 0, 6, 0, 1, 0, 6] + }, + { + "tileid":441, + "wangid":[0, 6, 0, 1, 0, 6, 0, 1] + }, + { + "tileid":456, + "wangid":[0, 6, 0, 1, 0, 1, 0, 1] + }, + { + "tileid":457, + "wangid":[0, 6, 0, 1, 0, 1, 0, 6] + }, + { + "tileid":458, + "wangid":[0, 1, 0, 1, 0, 1, 0, 6] + }, + { + "tileid":461, + "wangid":[0, 1, 0, 6, 0, 6, 0, 6] + }, + { + "tileid":462, + "wangid":[0, 6, 0, 6, 0, 6, 0, 1] }] }, { From c460003c4ccf5cfb860ad00faf15128c18e9a899 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 21:36:32 +0100 Subject: [PATCH 08/29] =?UTF-8?q?Fix=20du=20d=C3=A9calage=20des=20collisio?= =?UTF-8?q?ns=20dans=20les=20chunks=20=C3=A0=20des=20coordonn=C3=A9es=20n?= =?UTF-8?q?=C3=A9gatives?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/entity.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/engine/entity.py b/src/engine/entity.py index ec9b457..5bcb36e 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -73,11 +73,11 @@ class Entity: """Calcule les collisions.""" # On calcule les coordonnées des points en haut à gauche et en bas à droite - top_left_corner_tile = (int((x + self.collision_rect[0]) / 16), - int((y + self.collision_rect[1]) / 16)) + top_left_corner_tile = (math.floor((x + self.collision_rect[0]) / 16), + math.floor((y + self.collision_rect[1]) / 16)) - bottom_right_corner_tile = (int((x + self.collision_rect[2]-1) / 16), - int((y + self.collision_rect[3]-1) / 16)) + bottom_right_corner_tile = (math.floor((x + self.collision_rect[2]-1) / 16), + math.floor((y + self.collision_rect[3]-1) / 16)) collision = False @@ -136,7 +136,6 @@ class Entity: self.y += i - def link_animation(self, name: str): """Met à jour l'animation en cours de l'entité.""" self.animation_name = name From 21b973e9d83f71e1881597aaefc3b4b4a2dd4306 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 22:13:21 +0100 Subject: [PATCH 09/29] =?UTF-8?q?R=C3=A9implementation=20de=20l'animation?= =?UTF-8?q?=20de=20marche=20du=20joueur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/entity_manager.py | 7 +++++++ src/main.py | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/engine/entity_manager.py b/src/engine/entity_manager.py index 070bf20..9632ddb 100644 --- a/src/engine/entity_manager.py +++ b/src/engine/entity_manager.py @@ -32,6 +32,13 @@ class EntityManager: if entity.life_points == 0: self.entities.pop(entity_name) + if self.player_entity_name: + player: Entity = self.get_by_name(self.player_entity_name) + if player.mouvements[0] != 0. or player.mouvements[1] != 0.: + player.link_animation("player_walking") + else: + player.link_animation("player_none") + def get_all_entities(self): """Donne la liste de toutes les entités enregistrées.""" return list(self.entities.values()) diff --git a/src/main.py b/src/main.py index 2efa19c..ddb424e 100644 --- a/src/main.py +++ b/src/main.py @@ -15,7 +15,7 @@ class Game(Engine): self.create_player_entity() self.load_boss_fight_assets() - self.DEBUG_MODE = True + self.DEBUG_MODE = False self.game_state = GameState.NORMAL @@ -34,7 +34,7 @@ class Game(Engine): player.collision_rect = [-6, -7, 6, 16] player.set_default_life(10) - player.max_speed = 2. + player.max_speed = 1. self.entity_manager.set_player_entity("player") From 630176600a7eb653234ce525424a3f399b350e19 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 22:25:23 +0100 Subject: [PATCH 10/29] =?UTF-8?q?Ajout=20du=20flipping=20de=20direction=20?= =?UTF-8?q?pour=20les=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/entity.py | 11 ++++++++++- src/engine/renderer.py | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/engine/entity.py b/src/engine/entity.py index 5bcb36e..877ae3d 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -10,7 +10,9 @@ class Entity: self.x = 8 self.y = 8 - # Variables utilisées pour detecter les mouvements + self.direction = 0 # 0 : tourné vers la droite (ou sens par défaut), 1 : tourné vers la gauche (ou retourné) + + # Variables utilisées pour détecter les mouvements self.last_x = 0 self.last_y = 0 @@ -97,6 +99,13 @@ class Entity: def move(self, x: float, y: float, map_manager: MapManager): """Fait bouger l'entité en tenant compte des collisions.""" + # On vérifie le sens du mouvement pour changer self.direction + if x > 0: + self.direction = 0 + elif x < 0: + self.direction = 1 + # On ne met pas de else car si x = 0, on ne change pas de direction + # On normalise la vitesse initial_speed = math.sqrt(x**2+y**2) diff --git a/src/engine/renderer.py b/src/engine/renderer.py index fbf1789..3b17e40 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -131,6 +131,10 @@ class Renderer: anim: Anim = self.animations[entity.animation_name] frame = anim.get_frame(delta) + # On flip l'image horizontalement si l'entité est retournée + if entity.direction == 1: + frame = transform.flip(frame, True, False) + # Si l'entité n'apparait pas à l'écran, on passe son rendu if (entity.x - self.engine.camera.x + x_middle_offset + frame.get_width() < 0 or entity.x - self.engine.camera.x - x_middle_offset - frame.get_width() > 0 or From a1825294420f3b368ff4cbeafea4e6b3ef496c53 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 22:25:40 +0100 Subject: [PATCH 11/29] Retrait de l'ombre du joueur --- assets/textures/entities/player/none/0.png | Bin 768 -> 410 bytes assets/textures/entities/player/none/1.png | Bin 774 -> 425 bytes assets/textures/entities/player/walking/0.png | Bin 804 -> 408 bytes assets/textures/entities/player/walking/1.png | Bin 766 -> 406 bytes assets/textures/entities/player/walking/2.png | Bin 771 -> 405 bytes assets/textures/entities/player/walking/3.png | Bin 766 -> 405 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/textures/entities/player/none/0.png b/assets/textures/entities/player/none/0.png index 31e6c8b2ce9e28621a699854d2aaf2fdd79b67c2..6ecc26785015b3d3b8ec6d53eb93278d0778892b 100644 GIT binary patch delta 346 zcmZo*o5egql7pFnfx%@-*RhF;3W=5hJ|V6^{>Mf_-0?%F^9kC#nW@|9S7xqV){#3uI(j4PS09?@rP z3F!S4Ji(;pm~@(Ap|Zu}%f{(9xZ0bZKlKYx{&nZQ!AHG@pC#-*my>jAghk39FT4MlvwQ9{^@r*) zT&MT5#vS_Wc&9XqG2*&<;$-(DTRJU`xhmIMG``O|o4r)XOZSgjPF2gbCh={&JH^&0 j*hjtU6Ykp~5LCr@RNB%^tXAzX(BllAu6{1-oD!MCv delta 727 zcmV;|0x12O1AqpQ83+ad0047(di0SYAb$yPNLh0L01m?d01m?e$8V@)0007&NklviH^$~kxv`M{QXVJ`R`2b1t^A}D@dw>59WBN{-C~}XnjXNf)jj&ld#4=yo z5&3mZA?7(S1dDtqL74zCVd^*cY=4v*u-1yIpjj{b;pq)&)V6Mtnnx#=Acn?y=GU%2 z5H)7L_@44;W`J0~#u;e7ZSWkMs%L5gkW`2;>MG_{u;!-hwyZ9`3~d$aB|rezntkPJ zlB;`p?dTFT1LScgeq8D2YED6W^T7CbUc-$HvI1J^wcPi`sE(n~9Ayz3pnpBkLFlNj zT%&G?K?HpOGWWwb+QPTgap(v%2pxisL5HC&kWei^Id(#8AbN1xIO=uKKIi}>bTUAz zwc?)G?V8E}cId8q+l^s)->fxV^HEB2&+xpKW(J&FFuynF41d$6gvLeY@nAFoc#hquY3^`l*$_ok3cwwmq-d1w_~vVc zCHOx$@}JN%`2;ip{_rw7<@dm%UEZoc!8|krJ%*mMgJ=T$_SK9Ibc;YbM7EzJX7IPr zBWMzO0mYj}a}0TJ7nJhVrBpU diff --git a/assets/textures/entities/player/none/1.png b/assets/textures/entities/player/none/1.png index 2e9c9f41bec41fb593d9a9482a6a173d3148d85c..2b59600405d598fd9300ba1062aaed90c7cc6918 100644 GIT binary patch delta 361 zcmZo;Tgf~@l7pFnfx%@-*RhF;3W=5hJ|V6^{>uk-G4=I;=l zk#z3Rid&WGM>%&dsB4uwrhbRz@3bg}L$7@!o`?mex^N^a?n-Y}{qQ*2F|GLQ^CONL z*$?d#eZ!Y*O=vB3jpL4*FkRzypWwL)fuuhSr57!`FWobr3JeDZPgg&ebxsLQ0A`G( A0ssI2 delta 733 zcmV<30wVpX1BM2W83+ad0047(di0SYAb$yPNLh0L01m?d01m?e$8V@)0007;Nklq}D1whfNFtIoD~j4k0u~WegmhNXCY9P+M6pPtjT)>I6tu9`N&;$S zVJD;z1i>l>!N+1m3yF$K6f>Ul&tqq^ca!-q+W5iQfA(fF=gi~Yo0$Ir>s5-1uYX#i z;jQr#QqN4@V^NQ%{RJ@&rhzy0y6LZ0ONG#Mwy7~qms2K0ZpUbz8qd93@T~^ZGcQ^G zYJe8=U_3Q-&MftgNSoAZH5SdP<_Ad4FI+q=?E?cljp;jSDit@3t=~44>M1s}Lv;AM z5*5F%O^A5`48bB_GRO%K2}|G8y?;e&z*;LRgJ!?%+b7qhQQf{(Y7zfp3nDZwGQWE5 zzNkL`$zRDwvjW8WJ#K;KJBH4)sTxxofHZ{&vo2#^25WA}X=~M`+0a&@-U0-0t&cBU z4fO0a=4>1;dt6O`hIu;}VDgJGwIM2J!Wc%oBsm%0ev zqJk#CvJEcdZm>_lSpW6^!`<-0#X`KNy}W P00000NkvXXu0mjf6uVZn diff --git a/assets/textures/entities/player/walking/0.png b/assets/textures/entities/player/walking/0.png index d8e6e7570a6bbd314bcf6065bfb76b3f5d8de72a..72ccac9f9f37dc5c7470e3883ca4769d6a0d8828 100644 GIT binary patch delta 344 zcmZ3&HiLPBBnLAC1B1(wu45Aw6%s82d_r7-{F%jpRbeI})+&!qPJHm-!I>>h{~s^@ z|NnneaWKP_{|t3E7U*t>=OnLirivE{-xdnw z$P4k~yDT7;y`rt~u;H=wZ0tFf?M)xH^~PS$T*vz1_+t5vUx#^TM!ayn&?feQiQ{mA zQcBkYAybn>ZpRJhaa=XH!;$22`fXdwZiQKX<^f*9&l9{R%#aQ*ecG93tE=ARzeDs{ zJ@<~5=iG+ZSF$cjtyI=H#Sxgw#@-xI)hWo5dpjSZo2!auO1+A>2O)9mqu!v%jCN{>HIzd4TYpq03 z{{)o?vQ~niK}56oEW`(jaY@GSJNMq1o!!aqoFV&zZ_k-wX1;Upxp!yRECHcYE`I_S zwM2%uMovmRH+i2y{XFdrV(d*l@5^PgrBKLKgy!O~+L)%bq##2)l%tH5|{=($6NaHE51M|3v(K(eQrNUXVj8VzK?IG{ z%qOlr5S2fEb7!)nnE?{I9@jzh&HWdds-CGWfFz3Wqt0WVhtS-R)mE>|uY9gT-2xO~ zv#+mhtmf)2ezvp)aRF(Zj~9pLPi%@MtA%7laGuA>o zp##uS7ulor5DO9X1(3O4E@=qgQYWAzP(O4KIu0FzdLSWR0om9FwL$dYv~koO&~9iy zB($=C#d^gxvBRdy0>Z&N_H8$U_P%X5o%2CLa?Q{~|3(~>6X~pWG5dA_@fH|bWn)*g zmMk~_xI`FtaWSs&Lo)-`&3~KUowJ5XQ$pir=Fwm@1#lnRQPVs&8c!*r8MzAJiasl5 z!|gowJsy)|TST*wdw#g6Zh@VJ7_B)+{u_EON1$dEHH6!TKYL%8Qe{AlOBJhZ=JU`e z=n3=^k{dMzEI@2S0XjBZ=`j0x+C-(#e+O{x5mXCDOru%oDKzc!e`t`P*@nEf6FLm> z+iU{zq|E@0`OfBae}TAiIfw+B0tm0?%VZDK2d#ms*AYid6HfJG=p7V|HVth7g!gbU tc0=2tUWniEH0JNK8HoSSxY(Lt%zya5)b0PE!0`Y8002ovPDHLkV1o5yX-WV9 diff --git a/assets/textures/entities/player/walking/1.png b/assets/textures/entities/player/walking/1.png index 91bc1d94246c0223f751f66cafec403f35b80684..2e2d8e96760c08be6e1754b76e3d659e59c68257 100644 GIT binary patch delta 342 zcmeyzI*oaPBnLAC1B1(wu45Aw6%s82d_r7-{F%jpRbeI})+&!qPJHm-!I>>h{~s^@ z|NnneaWKP_{|t3E7 zPW-jKLDgnn!?l;J6D#W&MN(N}W=>RY4ybBo=}m~?etPGJZ^i6{=WN`wbf2@`zV`9G f_gO)6r*rbp_$?bW&kC>sJgTe~DWM4f^PH9= delta 725 zcmV;`0xJEM1O5e&83+ad0047(di0SYAb$yPNLh0L01m?d01m?e$8V@)0007$NklK?`fGB%oFn zc0vk45Uezauf>QK;scc^$@QH7-a9+9GrKeYnEl|)fA=yw=iJv$Vip1GRf)(~Eq}4$ zt+C@$Pfy%qQ9n=n1u+h$fp?9D*;cDn3Zc2#CXH#@N|g|0Z;Z{8#xozj`c{*v=~pa^ z8X#jHj3+10nuWe$X_I=r&Z3#s@&S_O=P#U+_P&Ab#`K>sQRE(D8@EkVJIQA05KDaR zMC8{sg_!5S5G?Yc1Z4umgsI=uyMJD4z*;M+f@Zz!`zP0>QQNXnY98HKf*2a-nP0tj zU(}fW;(N-YnE_(`8fT#S)}eE3s-CG0KvE&XsH>P)!I~Sg+p@a&BD7VgmjD4=>+?%j zlU&)uYgd<`86b}{@#9KAS91zFn+GPo^BQhskY&(vucf{(Ms*B@<|vC;2Y>B`4nRkI zF00g=Fd4p$$Oz9UjR(XeZPU@i(5voShkn|DSQQ6=2Lirt8DKMJ{im00000NkvXX Hu0mjf_wQEF diff --git a/assets/textures/entities/player/walking/2.png b/assets/textures/entities/player/walking/2.png index a2d060ab9ab01748c4ebda1c38fb2e8bc84cdcc7..3b43e84aa22590899bd8b63541d36d4e360f0137 100644 GIT binary patch delta 341 zcmZo>o60;vl7pFnfx%@-*RhF;3W=5hJ|V6^{>Mf|Arty`b|%ircrn7!gf@ORbe#cXpqAL-r5eZz5J z=iOByodM6KvR613C>tJIudbe>y4>ke?(5y_F2`^`skQGpQ1HvCg~M5B%R<(=hC>!% zEgb&y7EN^#;%3-U&SUJ8Km`h#iQjWmG&fNjp~YXiUskY5s^W+d|s*7ijDJ z7prJFKH2d36{ZdA^xJ$R4OjI(Nf9|UCyB*T-02bfV~v{ZKCyeQ8m7lNX6Be4Kasj3 f_Op$-Q;+=Tt(JXv9m4E@erE7=^>bP0l+XkK?(&-X delta 730 zcmV<00ww*G1A_*T83+ad0047(di0SYAb$yPNLh0L01m?d01m?e$8V@)0007*NklQK;scc^$@Ty5Yi4(6cJCQ>KltaIow+mrxv!Z-bph>Eio``J!GG}f z_;C|YPu^z`KTmptG4`gO_w~BkR;iRKLef}gjcM9UnId8v2J@`(?8k2|OPQW|&Ct~X zTFkxi)YMtEI528*Qms}QB%>N%K-T>Hg;OTqH?&=;!4oP;>|=EOj!G&gnMN0}#Km?b zZeANO<~gtk2J<6=m;wTR=r{GRGk?*ewKgh)WWMx=r#DPe*|O2ZJbEz&0UGC-U%URm zs6O}Aory;>0z|txZh_`oN6s-7JyTi$X(+|uiJTCgVl3mc=+%x%uN8gZzEQ6LiEp_JtqHSnMd)bM#(0^{|0CdDf z&d~;lg&5=okoli3X$!wn$DqT|2y_rS3LSzrLxyq%#IXZf1<`}U#$K<6_Cot1LoW*` znk%k}T{aaKphxf8uiZGN_f4N#zmPP@v>AKozlfL3iF{VN7{6UWx&_8o*w`P|lI7NK zml!5oEaD0ek`b_O-u&LYHGgb0B{c429y%i_fcx0?n&xpvMU*PwkE-?g9%qdw!YJ^1 z`?>dgcd=``AT6Rj?D;R~nfV1o1=MET{1?#S`T{fuJ%*n11QCxwZJ2M;;$d#O&L01T z-a?O{Y3KzMhD)*y*>=&U>LSD!N;BS=YvdoqZ#IYfGsKna?+-`{AV+M^E)GLO&>AQ^ zitI5>K0!~QcMwOQ5NQE~_i#%NKs%v9i0^nB^Y61+i2t8)v2{SH|Ks+^I0!oJ(f|Me M07*qoM6N<$f*BQ9Y5)KL diff --git a/assets/textures/entities/player/walking/3.png b/assets/textures/entities/player/walking/3.png index 91bc1d94246c0223f751f66cafec403f35b80684..3b43e84aa22590899bd8b63541d36d4e360f0137 100644 GIT binary patch delta 341 zcmeyzI+b~XBnLAC1B1(wu45Aw6%s82d_r7-{F%jpRbeI})+&!qPJHm-!I>>h{~s^@ z|NnneaWKP_{|t3E7?QfuFHpx~EN3x~7NmW8Z!4Tmhk zS~&dYEt=+bqGVQ$>kXd6y%Tuych)L?5IYc4%cyu}l6I`((U_R8()9_et8m{Vnk|J_yP7;fwxYHx{#~L-+ePZ`qHB66l%*-)8ej;^6 f>}MNurylvwTP^$UI)vE){mkI$>gTe~DWM4fk%XIb delta 725 zcmV;`0xJEL1O5e&83+ad0047(di0SYAb$yPNLh0L01m?d01m?e$8V@)0007$NklK?`fGB%oFn zc0vk45Uezauf>QK;scc^$@QH7-a9+9GrKeYnEl|)fA=yw=iJv$Vip1GRf)(~Eq}4$ zt+C@$Pfy%qQ9n=n1u+h$fp?9D*;cDn3Zc2#CXH#@N|g|0Z;Z{8#xozj`c{*v=~pa^ z8X#jHj3+10nuWe$X_I=r&Z3#s@&S_O=P#U+_P&Ab#`K>sQRE(D8@EkVJIQA05KDaR zMC8{sg_!5S5G?Yc1Z4umgsI=uyMJD4z*;M+f@Zz!`zP0>QQNXnY98HKf*2a-nP0tj zU(}fW;(N-YnE_(`8fT#S)}eE3s-CG0KvE&XsH>P)!I~Sg+p@a&BD7VgmjD4=>+?%j zlU&)uYgd<`86b}{@#9KAS91zFn+GPo^BQhskY&(vucf{(Ms*B@<|vC;2Y>B`4nRkI zF00g=Fd4p$$Oz9UjR(XeZPU@i(5voShkn|DSQQ6=2Lirt8DKMJ{im00000NkvXX Hu0mjf^%_>s From 646d705cf66e9273cbee16959a25d5f348139628 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 22:49:55 +0100 Subject: [PATCH 12/29] =?UTF-8?q?R=C3=A9impl=C3=A9mentation=20du=20rendu?= =?UTF-8?q?=20des=20ombres?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../textures/entities/player/none/layers.pdn | Bin 5383 -> 5383 bytes assets/textures/entities/player/shadow.png | Bin 0 -> 476 bytes src/engine/entity.py | 2 ++ src/engine/renderer.py | 23 +++++++++++++++--- src/main.py | 3 +++ 5 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 assets/textures/entities/player/shadow.png diff --git a/assets/textures/entities/player/none/layers.pdn b/assets/textures/entities/player/none/layers.pdn index 13b5a455d36e989c2ece6f5e3a804d68bf84cadc..deb5bf979a9c9e3f3e5c171a07bc8c151451d5f8 100644 GIT binary patch delta 14 VcmZqIYS-G3$H{20IiGU|HvlAZ1c?9u delta 14 VcmZqIYS-G3$H{2CIiGU|HvlAr1dIRx diff --git a/assets/textures/entities/player/shadow.png b/assets/textures/entities/player/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..200a81e0d7ac228b1f5d129f5122784279486d2f GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!hC)vl$B+p3w^Mg}9Z3*yd;GWSR!6zORsm`4 zYHw-zQVYmw4DTlF`38jVl<%e4RV^UZEKd&Ye7NtMnnF!=R7 zYxUo4UdP@yeEXu~Y4?zO-(}+~TFh!PEu0eVb``DBI~v(9_*~|d$Y*$#AgQ*HeNWy~ z{Q@@k0#;w+ggJRLnnY)`>z(NOoPsi!FOwwo&3s(7XyII?$w_;tUWs(@n+&Za!u zDj9P&tG#LtbK!f~#;$0tscrVrYRy3<9>iJEh> zRv1~Yn!$kxTTAnpD`rf-Ss%W@1?I`K%n;rx{-@@ZFklKDM8nM0~O8tO_7jx?;Q58$z5 zs!u=kpzKsw{$a*Djjzo=Uz{qb@!oLb>+4sodGnlv?;qBj(|mZ^VwInafj1of&s^8B Q0~jL=p00i_>zopr00eZwrvLx| literal 0 HcmV?d00001 diff --git a/src/engine/entity.py b/src/engine/entity.py index 877ae3d..b03ba9d 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -36,6 +36,8 @@ class Entity: self.animation_name = None + self.shadow = None + def set_default_life(self, life: int): """Définit le nombre de PV de l'entité. Mettre -1 pour rendre l'entité immortelle.""" self.life_points = life diff --git a/src/engine/renderer.py b/src/engine/renderer.py index 3b17e40..37c72f6 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -28,6 +28,9 @@ class Renderer: # Variables utilisées par le menu principal self.main_menu_assets: dict[str: Anim] = {} + # Ombres d'entités + self.shadows = {} + def load_main_menu_assets(self, path: str): """Charge les assets du menu principal depuis le dossier donné.""" @@ -78,6 +81,11 @@ class Renderer: # Apres avoir tout rendu, on met à jour l'écran display.update() + def register_shadow(self, file_path: str, name: str): + """Enregistre une image d'ombre utilisée pour le rendu des entités.""" + shadow = image.load(file_path).convert_alpha() + self.shadows[name] = shadow + def register_animation(self, animation: Anim, name: str): """Enregistre une animation.""" self.animations[name] = animation @@ -131,10 +139,6 @@ class Renderer: anim: Anim = self.animations[entity.animation_name] frame = anim.get_frame(delta) - # On flip l'image horizontalement si l'entité est retournée - if entity.direction == 1: - frame = transform.flip(frame, True, False) - # Si l'entité n'apparait pas à l'écran, on passe son rendu if (entity.x - self.engine.camera.x + x_middle_offset + frame.get_width() < 0 or entity.x - self.engine.camera.x - x_middle_offset - frame.get_width() > 0 or @@ -142,10 +146,21 @@ class Renderer: entity.y - self.engine.camera.y - y_middle_offset - frame.get_height() > 0): continue + # On flip l'image horizontalement si l'entité est retournée + if entity.direction == 1: + frame = transform.flip(frame, True, False) + # On calcule les coordonnées de rendu de l'entité entity_dest = (math.floor(entity.x - self.engine.camera.x + x_middle_offset - frame.get_width() / 2), math.floor(entity.y - self.engine.camera.y + y_middle_offset - frame.get_height() / 2)) + # On récupert l'ombre de l'entité + if entity.shadow is not None: + shadow_image = self.shadows[entity.shadow] + # On rend l'ombre + rendered_surface.blit(shadow_image, entity_dest) + + # On affiche l'image rendered_surface.blit(frame, entity_dest) diff --git a/src/main.py b/src/main.py index ddb424e..8f1ec06 100644 --- a/src/main.py +++ b/src/main.py @@ -38,6 +38,9 @@ class Game(Engine): self.entity_manager.set_player_entity("player") + player.shadow = "player_shadow" + self.renderer.register_shadow("assets/textures/entities/player/shadow.png", "player_shadow") + self.camera.follow_entity(player) def load_boss_fight_assets(self): From ced0f8b65b99e78538da18ea183aca4285ab44ad Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Sat, 30 Dec 2023 11:25:01 +0100 Subject: [PATCH 13/29] =?UTF-8?q?Ajout=20d'ombres=20aux=20arbres=20et=20?= =?UTF-8?q?=C3=A0=20la=20porte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/textures/tileset.png | Bin 42121 -> 40854 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/textures/tileset.png b/assets/textures/tileset.png index 1c3d1928255c5f3fe1bccfe7af9153920e2d7b46..963ec382a11e24eecaefee74ec448cc3f22ac0fd 100644 GIT binary patch literal 40854 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 literal 42121 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 From 469e1e4c8a675b16417ebd422dbed2d7aa6c9871 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Sat, 30 Dec 2023 15:13:55 +0100 Subject: [PATCH 14/29] Ajout de particules --- src/engine/event_handler.py | 6 +++++ src/engine/renderer.py | 52 ++++++++++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/src/engine/event_handler.py b/src/engine/event_handler.py index 79dc586..5e6064b 100644 --- a/src/engine/event_handler.py +++ b/src/engine/event_handler.py @@ -31,8 +31,14 @@ class EventHandler: self.engine.entity_manager.move_player_controls(0, -1) if K_DOWN in self.key_pressed: self.engine.entity_manager.move_player_controls(0, 1) + + # Only for tests ! Remove on release !!!!! if K_l in self.key_pressed: self.engine.entity_manager.get_by_name("player").take_damages(1) + if K_p in self.key_pressed: + self.engine.renderer.emit_particles(self.engine.entity_manager.get_by_name("player").x, + self.engine.entity_manager.get_by_name("player").y, + 16, 16, 16, 1, 8, 0, 1, 0.2, 1., (0, 200, 200)) if K_x in self.key_pressed: self.engine.camera.target_zoom *= 1.01 diff --git a/src/engine/renderer.py b/src/engine/renderer.py index 37c72f6..2ad49d5 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -1,4 +1,5 @@ import math +import random from pygame import display, image, surface, transform, draw from pygame.locals import RESIZABLE, SRCALPHA, FULLSCREEN @@ -13,7 +14,7 @@ class Renderer: def __init__(self, core: 'engine.Engine'): self.engine = core - self.window_type = FULLSCREEN + self.window_type = RESIZABLE self.window_size = (display.Info().current_w, display.Info().current_h) if self.window_type == FULLSCREEN else (600, 600) self.window = display.set_mode(self.window_size, self.window_type) self.tiles = [] @@ -31,6 +32,38 @@ class Renderer: # Ombres d'entités self.shadows = {} + # Particules affichées + self.particles = [] + + def emit_particles(self, x: int, y: int, w: int, h: int, count: int, min_size: int, max_size: int, + min_speed: float, max_speed: float, min_life_time: float, max_life_time: float, + color: tuple[int, int, int]): + """Emmet des particules aux coordonnées données dans un rectangle de demi-largeur {w} et de demi-hauteur {h}.""" + for _ in range(count): + # On choisit la taille de la particule + part_size = random.randint(min_size, max_size) + + # On choisit sa vitesse en x et en y + part_speed_x = random.uniform(min_speed, max_speed) + + # On inverse la vitesse de manière aléatoire + if random.randint(0, 1) == 1: + part_speed_x = - part_speed_x + part_speed_y = random.uniform(min_speed, max_speed) + if random.randint(0, 1) == 1: + part_speed_y = - part_speed_y + + # On choisit sa position dans le rectangle + part_x = random.randint(x-w, x+w-part_size) + part_y = random.randint(y-h, y+h-part_size) + + # On choisit la durée de vie + part_life_time = random.uniform(min_life_time, max_life_time) + + # On ajoute la particule dans la liste des particules + # Le 0 correspond au temps de vie depuis la création de la particule + self.particles.append([part_x, part_y, part_size, part_speed_x, part_speed_y, 0., part_life_time, color]) + def load_main_menu_assets(self, path: str): """Charge les assets du menu principal depuis le dossier donné.""" @@ -63,6 +96,7 @@ class Renderer: self.render_layer(0, rendered_surface) self.render_layer(1, rendered_surface) self.render_entities(rendered_surface, gui_surface, delta) + self.render_particles(rendered_surface, delta) self.render_layer(2, rendered_surface) # Enfin, on redimensionne notre surface et on la colle sur la fenêtre principale @@ -98,6 +132,22 @@ class Renderer: """Ajoute une animation pour le joueur lors d'un combat de boss.""" self.boss_fight_player_animations[name] = animation + def render_particles(self, rendered_surface: surface.Surface, delta: float): + """Update et rend les particules.""" + x_middle_offset = display.get_window_size()[0] / 2 / self.engine.camera.zoom + y_middle_offset = display.get_window_size()[1] / 2 / self.engine.camera.zoom + + for part in self.particles.copy(): + part_dest = (math.floor(part[0] - self.engine.camera.x + x_middle_offset), + math.floor(part[1] - self.engine.camera.y + y_middle_offset)) + + draw.rect(rendered_surface, part[7], part_dest + (part[2], part[2])) + part[5] += delta + part[0] += part[3] + part[1] += part[4] + if part[5] > part[6]: + self.particles.remove(part) + def render_boss_fight_scene(self, delta: float): """Rend les sprites du joueur et du boss lors d'un combat de boss.""" From 78b6baf354c7f1fc6f335fda51d1bcca1d0d239e Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Sat, 30 Dec 2023 16:55:21 +0100 Subject: [PATCH 15/29] Update du monde 5 et ajout d'un pont dans le tile set --- assets/textures/tileset.png | Bin 40854 -> 41567 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/textures/tileset.png b/assets/textures/tileset.png index 963ec382a11e24eecaefee74ec448cc3f22ac0fd..8e739f597b88768a93737b9c07e1e91b8b9cc7a3 100644 GIT binary patch delta 40678 zcmZ6yXIN8R&@LQ6L<9{TloF7pND)v#NsR0q88suMZzA7AzNTXoN_VLywO#^L8nw zxqd8OY!9az*^6}h^I1KL1qD4jzlzZk%QyT-!FLrCEg3byhoiAQl~;5+xk)n zr2>W`Rp0(*wJk3%kIpR~)o-|32(z8}bf1*Fm;M1X{9$W< zGlo~&i7>W*Sc#r)dy;}b68UyBZR8tq&A^OoAp@ch(=12y7ix}6^`?52ay3=*m+ ze#~+5D&PQf;GE-eUr8kjeQ#QSS=t^Cxe@$)Wu(K7J}ai?6n$8`Q&`#!x*K5*8ZDQf z>htyldQ-wJr6gU)B7AsX&~fweyM~BXS{p~`)77jdcr1pE_5CMVaP16D*t8D?dIX7= z5WLQ`Ot&w8fM*cL;MH@g_8TyM?~E-6j;rbF zCf&I55+wNQ(({7*#u1@A7qn>C>vM_V|Hzy21v{|HO)T-&k~uZ5O3m5msiD8q99G0O z%p4D6JEP9?z4C0E!NB*bwumBA{()MqB!<-eHRZW<2I$8QLaH$-^; zZ>!KmiuI#EWPN74-~A;ln)#urx|es)IO$cg(7|k0%s zFZRJzJD77$=!*Q6h`65-SD#!i>(sBL;@RVII80D!yY)ohFTZiuvO&r3P%A0f5gIxh zz+XUQkuccX$3uU|^O8xvxnsVRC-y zhzjWUNDwv{(68`pk;Ugv(LcCibIN{?)ZnGwkg6e8-#dTf~6y#1xNpbXI4@um7bTU6Lkol=c zoK6TIx4cF_-Mhz<5y~GKO7%N3cSSb^L!<8aMMd3 zO`@`=eb1A_6iZ9%f4d%2{u~zF(4IWvU07on79>vh6>&3uy)zx)R#)3SKA!4BB9qBQ z6%|)!rMiFqeA~jXzProwE><8~m0iV42!GDh{?+(&{Rvj_Pf-F>ck3HGA@qBPWFY{7 zSo6KnzQlH>?ral7w5oIG=i)SJj~@>`1N=Sev;`W|DeX!6gX-R!YKX(9w3~t%MTCw8 zgSLmiW>LG)mS;~}6lxYk!eB7Dcp(ib4+6i^GuQDWULKzABvJj}^4UtB$&8@M5##If z@*>9!Dwe*Vw!1&Cn+nB4OfMpd!T{fFNYu8S4o>Y9_X45(iaPCoNSMXw+#jYrq}3Uf zJKm|@bWZE7X8V4WQ_MQ5>HVmx+{&gQrh=OUJ6^f!jV%Ef!ghP1*_wyGtE($c3850G z&e?wSYHKp4tquBZ=lA!N1AI6WSa!5FKUYT0cH*;>-K%ax(+fkV5L+`YN`QcR{2y(` z7l-Ur#3+2`=mUzM=Bp31=-L-sC>JL3woLPQf)Ch(T|!+L4@5p^B%!zTug51RR_Vn9 z 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ð$!>R)2@1(L!8mGGdiQG-Sg6@*yl%o#RihOHWV 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 H`|$q(xJ55g delta 39963 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 Date: Sat, 30 Dec 2023 16:57:32 +0100 Subject: [PATCH 16/29] Update du monde 5 non commit --- maps/map5.tmj | 2845 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 2725 insertions(+), 120 deletions(-) diff --git a/maps/map5.tmj b/maps/map5.tmj index 692608c..46046b4 100644 --- a/maps/map5.tmj +++ b/maps/map5.tmj @@ -1,5 +1,5 @@ { "compressionlevel":-1, - "height":20, + "height":80, "infinite":true, "layers":[ { @@ -24,7 +24,7 @@ "height":16, "width":16, "x":0, - "y":-16 + "y":0 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -46,7 +46,7 @@ "height":16, "width":16, "x":16, - "y":-16 + "y":0 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -68,7 +68,7 @@ "height":16, "width":16, "x":32, - "y":-16 + "y":0 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -90,7 +90,7 @@ "height":16, "width":16, "x":48, - "y":-16 + "y":0 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -112,7 +112,7 @@ "height":16, "width":16, "x":64, - "y":-16 + "y":0 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -134,7 +134,183 @@ "height":16, "width":16, "x":80, - "y":-16 + "y":0 + }, + { + "data":[2, 2, 2, 169, 223, 313, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 289, 343, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 85, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 85, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 337, 319, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 217, 199, 313, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 193, 313, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 193, 313, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 193, 313, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 169, 223, 313, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 289, 343, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 89, 110, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 86, 0, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 113, 62, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 85, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 89, 110, 0, 84, 315, 195, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":96, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":112, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":128, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":144, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":160, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":176, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":192, + "y":0 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":208, + "y":0 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -156,7 +332,7 @@ "height":16, "width":16, "x":0, - "y":0 + "y":16 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -178,8 +354,9 @@ "height":16, "width":16, "x":16, - "y":0 - }, + "y":16 + }, + { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -200,7 +377,7 @@ "height":16, "width":16, "x":32, - "y":0 + "y":16 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -222,7 +399,7 @@ "height":16, "width":16, "x":48, - "y":0 + "y":16 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -244,7 +421,51 @@ "height":16, "width":16, "x":64, - "y":0 + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 170, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 170, 223, 289, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 289, 290, 343, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 289, 343, 89, 109, + 2, 2, 2, 2, 2, 2, 2, 2, 169, 170, 223, 289, 343, 89, 110, 5, + 2, 2, 2, 2, 2, 2, 2, 2, 193, 289, 290, 343, 89, 110, 5, 5, + 2, 2, 2, 2, 2, 2, 2, 169, 223, 313, 89, 109, 110, 5, 60, 61, + 2, 2, 2, 2, 2, 2, 169, 223, 289, 343, 86, 0, 0, 60, 114, 318, + 2, 2, 2, 2, 169, 170, 223, 289, 343, 89, 110, 0, 60, 114, 318, 339, + 170, 170, 170, 170, 223, 289, 290, 343, 89, 110, 0, 60, 114, 318, 339, 198, + 290, 290, 290, 291, 194, 313, 89, 109, 110, 0, 0, 84, 318, 339, 198, 219, + 89, 109, 90, 342, 290, 343, 86, 0, 0, 0, 60, 114, 315, 198, 219, 2], + "height":16, + "width":16, + "x":80, + "y":16 + }, + { + "data":[2, 2, 2, 193, 313, 86, 0, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 2, 193, 313, 86, 0, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 2, 2, 169, 223, 313, 113, 62, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 169, 170, 223, 289, 343, 314, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, + 223, 289, 290, 343, 89, 109, 110, 0, 84, 315, 222, 171, 2, 2, 2, 2, + 290, 343, 89, 109, 110, 5, 5, 0, 84, 342, 291, 195, 2, 2, 2, 2, + 89, 109, 110, 5, 5, 5, 5, 0, 108, 90, 315, 195, 2, 2, 2, 2, + 110, 5, 5, 5, 60, 61, 61, 62, 0, 84, 315, 222, 170, 171, 2, 2, + 5, 5, 60, 61, 114, 318, 319, 86, 0, 84, 342, 290, 291, 195, 2, 2, + 60, 61, 114, 318, 338, 339, 313, 86, 0, 108, 109, 90, 315, 222, 171, 2, + 114, 318, 338, 339, 198, 199, 313, 113, 62, 0, 0, 84, 342, 291, 195, 2, + 338, 339, 198, 218, 219, 193, 337, 319, 113, 62, 0, 108, 90, 315, 222, 171, + 198, 218, 219, 2, 2, 217, 199, 337, 319, 113, 62, 0, 84, 342, 291, 195, + 219, 2, 2, 2, 2, 2, 217, 199, 337, 319, 86, 0, 108, 90, 315, 195, + 2, 2, 2, 2, 2, 2, 2, 217, 199, 313, 113, 62, 0, 84, 315, 195, + 2, 2, 2, 2, 2, 2, 2, 2, 193, 337, 319, 86, 0, 84, 315, 222], + "height":16, + "width":16, + "x":96, + "y":16 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -254,19 +475,151 @@ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 170, 170, 170, 170, 171, - 2, 2, 2, 2, 2, 2, 2, 2, 169, 170, 223, 289, 290, 290, 291, 195, - 2, 2, 2, 2, 2, 2, 2, 2, 193, 289, 290, 343, 89, 90, 315, 195, - 2, 2, 2, 2, 2, 2, 2, 169, 223, 313, 89, 109, 110, 84, 315, 195, - 2, 2, 2, 2, 2, 2, 169, 223, 289, 343, 86, 0, 0, 84, 315, 195, - 2, 2, 2, 2, 169, 170, 223, 289, 343, 89, 110, 0, 60, 114, 315, 195, - 170, 170, 170, 170, 223, 289, 290, 343, 89, 110, 0, 60, 114, 318, 339, 195, - 290, 290, 290, 291, 194, 313, 89, 109, 110, 0, 0, 84, 318, 339, 198, 219, - 89, 109, 90, 342, 290, 343, 86, 0, 0, 0, 60, 114, 315, 198, 219, 2], + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 171, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], "height":16, "width":16, - "x":80, - "y":0 + "x":112, + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":128, + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":144, + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":160, + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 463, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434], + "height":16, + "width":16, + "x":176, + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 410, 410, 410, 410, 410, 410, 410, 411, 2, 2, 2, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 462, 411, 2, 2, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 462, 411, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":192, + "y":16 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":208, + "y":16 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -288,7 +641,7 @@ "height":16, "width":16, "x":0, - "y":16 + "y":32 }, { "data":[2, 2, 204, 78, 98, 79, 233, 181, 182, 2, 2, 2, 2, 409, 463, 434, @@ -310,7 +663,7 @@ "height":16, "width":16, "x":16, - "y":16 + "y":32 }, { "data":[434, 434, 438, 459, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 462, 411, @@ -332,7 +685,7 @@ "height":16, "width":16, "x":32, - "y":16 + "y":32 }, { "data":[217, 199, 313, 314, 113, 61, 62, 0, 0, 0, 0, 84, 314, 315, 198, 219, @@ -354,7 +707,7 @@ "height":16, "width":16, "x":48, - "y":16 + "y":32 }, { @@ -377,11 +730,11 @@ "height":16, "width":16, "x":64, - "y":16 + "y":32 }, { - "data":[110, 0, 108, 90, 89, 109, 110, 0, 0, 60, 114, 318, 339, 195, 2, 2, - 0, 0, 0, 108, 110, 0, 0, 0, 60, 114, 318, 339, 198, 219, 2, 2, + "data":[110, 0, 108, 109, 109, 109, 110, 0, 0, 60, 114, 318, 339, 195, 2, 2, + 0, 0, 0, 5, 5, 0, 0, 0, 60, 114, 318, 339, 198, 219, 2, 2, 61, 62, 0, 0, 0, 60, 61, 61, 114, 318, 339, 198, 219, 2, 2, 2, 319, 113, 61, 61, 61, 114, 318, 338, 338, 339, 198, 219, 2, 2, 2, 2, 337, 338, 338, 338, 338, 338, 339, 198, 218, 218, 219, 2, 2, 2, 2, 2, @@ -399,7 +752,183 @@ "height":16, "width":16, "x":80, - "y":16 + "y":32 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 217, 199, 313, 86, 0, 84, 342, 291, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 86, 0, 108, 90, 315, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 113, 62, 0, 84, 342, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 337, 319, 86, 0, 108, 90, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 217, 199, 313, 113, 62, 0, 84, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 337, 319, 86, 0, 108, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 217, 199, 313, 86, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 113, 62, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 337, 319, 113, 62, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 217, 199, 337, 319, 86, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 217, 199, 313, 86, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 86, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 113, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 337, 319, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 217, 199, 313, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313], + "height":16, + "width":16, + "x":96, + "y":32 + }, + { + "data":[195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 222, 171, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 291, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 315, 222, 171, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 342, 291, 222, 171, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 90, 342, 291, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 108, 90, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 84, 315, 222, 171, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 84, 342, 291, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 108, 90, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 62, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409], + "height":16, + "width":16, + "x":112, + "y":32 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 410, 410, 410, 410, + 2, 2, 2, 2, 2, 2, 2, 2, 409, 410, 410, 463, 434, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 409, 463, 434, 434, 434, 438, 458, 458, 458, + 2, 2, 2, 2, 2, 2, 409, 463, 434, 434, 438, 458, 459, 180, 181, 181, + 2, 2, 2, 2, 2, 409, 463, 434, 438, 458, 459, 180, 181, 234, 78, 98, + 2, 2, 2, 2, 409, 463, 434, 438, 459, 180, 181, 234, 78, 98, 99, 0, + 2, 2, 2, 409, 463, 434, 438, 459, 180, 234, 78, 98, 99, 0, 0, 0, + 2, 2, 2, 433, 434, 434, 435, 180, 234, 78, 99, 0, 0, 0, 0, 0, + 2, 2, 409, 463, 434, 438, 459, 204, 78, 99, 0, 0, 0, 0, 0, 0, + 2, 409, 463, 434, 434, 435, 180, 234, 75, 0, 0, 0, 0, 0, 0, 0, + 409, 463, 434, 434, 438, 459, 204, 78, 99, 0, 0, 0, 0, 0, 0, 0, + 463, 434, 434, 438, 459, 180, 234, 75, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":32 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 409, 410, 410, 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 410, 410, 410, 463, 434, 434, 462, 410, 410, 411, 2, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 462, 410, 411, 2, 2, 2, 2, + 458, 458, 458, 458, 439, 434, 434, 434, 434, 434, 434, 462, 411, 2, 2, 2, + 181, 181, 181, 182, 457, 458, 458, 458, 439, 434, 434, 434, 462, 411, 2, 2, + 98, 98, 79, 233, 181, 181, 181, 182, 457, 458, 458, 439, 434, 462, 410, 410, + 0, 0, 97, 98, 98, 98, 79, 233, 181, 181, 182, 457, 458, 439, 434, 434, + 0, 0, 0, 0, 0, 0, 97, 98, 98, 79, 233, 181, 182, 457, 458, 458, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 98, 79, 233, 181, 181, 182, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 98, 98, 79, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 98, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":32 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 462, 410, 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 439, 434, 462, 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 457, 458, 439, 462, 410, 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 181, 182, 457, 439, 434, 462, 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 79, 233, 182, 433, 434, 434, 435, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 97, 79, 206, 457, 439, 434, 462, 411, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 73, 233, 182, 433, 434, 434, 435, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":160, + "y":32 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 463, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 463, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 463, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 457, 439, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 457, 458, 439, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 457, 439, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 433, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 410, 463], + "height":16, + "width":16, + "x":176, + "y":32 + }, + { + "data":[434, 434, 434, 434, 434, 434, 434, 434, 434, 462, 411, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 462, 411, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 438, 459, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 438, 459, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 434, 434, 434, 438, 459, 2, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 434, 438, 458, 458, 459, 2, 2, 2, 2, 2, 2, 2, + 434, 434, 434, 434, 438, 459, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 434, 434, 434, 438, 459, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":192, + "y":32 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":208, + "y":32 }, { "data":[2, 2, 2, 2, 2, 2, 2, 193, 194, 195, 457, 439, 434, 434, 434, 434, @@ -421,7 +950,7 @@ "height":16, "width":16, "x":0, - "y":32 + "y":48 }, { "data":[434, 434, 434, 438, 458, 458, 459, 2, 2, 228, 210, 102, 50, 51, 0, 0, @@ -443,7 +972,7 @@ "height":16, "width":16, "x":16, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 103, 325, 74, 206, 2, @@ -465,7 +994,7 @@ "height":16, "width":16, "x":32, - "y":32 + "y":48 }, { "data":[169, 170, 223, 194, 289, 290, 290, 291, 222, 171, 2, 2, 2, 2, 2, 2, @@ -487,7 +1016,7 @@ "height":16, "width":16, "x":48, - "y":32 + "y":48 }, { "data":[2, 2, 2, 457, 458, 439, 462, 410, 410, 410, 411, 2, 2, 2, 2, 2, @@ -509,15 +1038,15 @@ "height":16, "width":16, "x":64, - "y":32 + "y":48 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 410, 410, 410, 410, 410, 410, 411, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 434, 434, 434, 434, 434, 434, 462, 410, 410, 410, 410, 410, 410, 410, 410, 411, - 458, 458, 458, 458, 439, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, - 2, 2, 2, 2, 457, 458, 458, 458, 439, 434, 434, 434, 434, 434, 434, 435, - 2, 2, 2, 2, 2, 2, 2, 2, 457, 458, 458, 458, 458, 458, 458, 459, + 434, 434, 434, 434, 434, 434, 462, 410, 410, 410, 410, 410, 410, 410, 410, 410, + 458, 458, 458, 458, 439, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 2, 2, 2, 2, 457, 458, 458, 458, 439, 434, 434, 434, 434, 434, 434, 434, + 2, 2, 2, 2, 2, 2, 2, 2, 457, 458, 458, 458, 458, 458, 458, 458, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -531,7 +1060,162 @@ "height":16, "width":16, "x":80, - "y":32 + "y":48 + }, + + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, + 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 411, 193, 313, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 193, 313, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 438, 459, 193, 313, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 459, 169, 223, 313, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 289, 343, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 289, 343, 89, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 289, 343, 89, 110, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 313, 89, 110, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 289, 343, 86, 0, 60, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 89, 110, 0, 84, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 313, 86, 0, 0, 84, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 313, 86, 0, 0, 84, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 193, 289, 343, 86, 0, 60, 114, + 2, 2, 2, 2, 2, 2, 2, 2, 169, 223, 313, 89, 110, 0, 84, 318], + "height":16, + "width":16, + "x":96, + "y":48 + }, + { + "data":[86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 409, 410, 463, + 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 409, 410, 463, 434, 434, + 86, 0, 84, 315, 195, 409, 410, 410, 410, 410, 410, 463, 434, 434, 438, 458, + 563, 564, 565, 315, 195, 433, 434, 434, 434, 434, 434, 434, 434, 438, 459, 2, + 86, 0, 84, 315, 195, 433, 434, 434, 434, 434, 434, 438, 458, 459, 2, 2, + 86, 0, 84, 315, 195, 457, 458, 458, 458, 458, 458, 459, 2, 2, 2, 2, + 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 110, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 60, 114, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 60, 114, 318, 339, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 114, 318, 339, 198, 219, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 318, 339, 198, 219, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 315, 198, 219, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 339, 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":112, + "y":48 + }, + { + "data":[434, 434, 434, 435, 180, 234, 78, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 438, 458, 458, 459, 204, 78, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 459, 2, 2, 180, 234, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 204, 78, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 204, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 204, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 204, 102, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 228, 210, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 204, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 204, 102, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 228, 210, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 204, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 204, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 204, 102, 50, 51, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 228, 229, 210, 102, 50, 51, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 228, 229, 210, 102, 50, 51, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":48 + }, + { + "data":[0, 97, 79, 206, 433, 434, 434, 462, 411, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 73, 206, 457, 439, 434, 434, 462, 410, 410, 410, 410, 410, 410, 410, + 0, 0, 73, 206, 2, 457, 439, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 0, 0, 73, 233, 182, 2, 457, 458, 439, 434, 434, 434, 434, 434, 434, 434, + 0, 0, 97, 79, 206, 2, 2, 2, 457, 458, 458, 458, 458, 458, 458, 458, + 0, 0, 0, 73, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 73, 233, 182, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 97, 79, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 0, 73, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 0, 73, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 0, 73, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 49, 103, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 73, 209, 230, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 49, 103, 206, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 49, 103, 209, 230, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 49, 103, 209, 230, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":160, + "y":48 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 409, 410, 410, 463, 434, 434, + 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 463, 434, 434, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 438, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 438, 458, 458, 458, 458, 458, 459, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 459, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":176, + "y":48 + }, + { + "data":[434, 438, 458, 459, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 438, 459, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 459, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":192, + "y":48 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":208, + "y":48 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -553,7 +1237,7 @@ "height":16, "width":16, "x":0, - "y":48 + "y":64 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -575,7 +1259,7 @@ "height":16, "width":16, "x":16, - "y":48 + "y":64 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -597,7 +1281,7 @@ "height":16, "width":16, "x":32, - "y":48 + "y":64 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -619,7 +1303,7 @@ "height":16, "width":16, "x":48, - "y":48 + "y":64 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -641,7 +1325,7 @@ "height":16, "width":16, "x":64, - "y":48 + "y":64 }, { "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -663,17 +1347,194 @@ "height":16, "width":16, "x":80, - "y":48 + "y":64 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 193, 289, 343, 86, 0, 60, 114, 315, + 2, 2, 2, 2, 2, 2, 2, 169, 223, 313, 89, 110, 0, 84, 318, 339, + 2, 2, 2, 2, 2, 2, 169, 223, 289, 343, 86, 0, 60, 114, 315, 198, + 2, 2, 2, 2, 2, 2, 193, 289, 343, 89, 110, 0, 84, 318, 339, 195, + 2, 2, 2, 2, 2, 169, 223, 313, 89, 110, 0, 60, 114, 315, 198, 219, + 2, 2, 2, 2, 2, 193, 289, 343, 86, 0, 60, 114, 318, 339, 195, 2, + 2, 2, 2, 2, 2, 193, 313, 89, 110, 0, 84, 318, 339, 198, 219, 2, + 2, 2, 2, 2, 169, 223, 313, 86, 0, 0, 84, 315, 198, 219, 2, 2, + 2, 2, 2, 169, 223, 289, 343, 86, 0, 60, 114, 315, 195, 2, 2, 2, + 2, 2, 169, 223, 289, 343, 89, 110, 0, 84, 318, 339, 195, 2, 2, 2, + 2, 2, 193, 289, 343, 89, 110, 0, 60, 114, 315, 198, 219, 2, 2, 2, + 2, 169, 223, 313, 89, 110, 0, 60, 114, 318, 339, 195, 2, 2, 2, 2, + 2, 193, 289, 343, 86, 0, 60, 114, 318, 339, 198, 219, 2, 2, 2, 2, + 2, 193, 313, 89, 110, 0, 84, 318, 339, 198, 219, 2, 2, 2, 2, 2, + 2, 193, 313, 86, 0, 0, 84, 315, 198, 219, 2, 2, 2, 2, 2, 2, + 2, 193, 313, 86, 0, 60, 114, 315, 195, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":96, + "y":64 + }, + { + "data":[198, 219, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 195, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 219, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":112, + "y":64 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 228, 229, 210, 102, 50, 51, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 228, 229, 210, 102, 50, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 228, 229, 229, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":128, + "y":64 + }, + + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 103, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":144, + "y":64 + }, + { + "data":[103, 209, 230, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 209, 230, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 230, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":160, + "y":64 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":176, + "y":64 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":192, + "y":64 + }, + { + "data":[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], + "height":16, + "width":16, + "x":208, + "y":64 }], "height":80, "id":1, "name":"ground", "opacity":1, "startx":0, - "starty":-16, + "starty":0, "type":"tilelayer", "visible":true, - "width":96, + "width":224, "x":0, "y":0 }, @@ -699,7 +1560,7 @@ "height":16, "width":16, "x":0, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -721,7 +1582,7 @@ "height":16, "width":16, "x":16, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -743,7 +1604,7 @@ "height":16, "width":16, "x":32, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -765,7 +1626,7 @@ "height":16, "width":16, "x":48, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -787,7 +1648,7 @@ "height":16, "width":16, "x":64, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -809,7 +1670,183 @@ "height":16, "width":16, "x":80, - "y":-16 + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 555, 556, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 557, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 555, 556, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 557, 558, 0], + "height":16, + "width":16, + "x":96, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 557, 558, 0, 0, 559, 560, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 555, 556, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 557, 558, 0, 0, + 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0], + "height":16, + "width":16, + "x":176, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":192, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0], + "height":16, + "width":16, + "x":208, + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -831,7 +1868,7 @@ "height":16, "width":16, "x":0, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -853,8 +1890,9 @@ "height":16, "width":16, "x":16, - "y":0 - }, + "y":16 + }, + { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 555, 556, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, @@ -875,7 +1913,7 @@ "height":16, "width":16, "x":32, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, @@ -897,7 +1935,7 @@ "height":16, "width":16, "x":48, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -919,7 +1957,7 @@ "height":16, "width":16, "x":64, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, @@ -941,7 +1979,183 @@ "height":16, "width":16, "x":80, - "y":0 + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":16 + }, + { + "data":[0, 0, 0, 559, 560, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557], + "height":16, + "width":16, + "x":112, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 557, 558, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 558, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 559, 560, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 555, 556, + 0, 559, 560, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 555, 556, 0, 0, 0, 0, 555, 556, 0, 0, 557, 558, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 555, 556, 0, + 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":192, + "y":16 + }, + { + "data":[560, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -963,7 +2177,7 @@ "height":16, "width":16, "x":0, - "y":16 + "y":32 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -985,7 +2199,7 @@ "height":16, "width":16, "x":16, - "y":16 + "y":32 }, { "data":[0, 0, 0, 555, 556, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, @@ -1007,7 +2221,7 @@ "height":16, "width":16, "x":32, - "y":16 + "y":32 }, { "data":[0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 0, @@ -1029,7 +2243,7 @@ "height":16, "width":16, "x":48, - "y":16 + "y":32 }, { @@ -1052,7 +2266,7 @@ "height":16, "width":16, "x":64, - "y":16 + "y":32 }, { "data":[0, 5, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, @@ -1074,7 +2288,183 @@ "height":16, "width":16, "x":80, - "y":16 + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 559, 560, 0, 555, 556, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 557, 558, 0, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 5, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5], + "height":16, + "width":16, + "x":128, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 559, 560, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], + "height":16, + "width":16, + "x":144, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 557, 558, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 557, 558, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 555, 556, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 555, 556, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557], + "height":16, + "width":16, + "x":192, + "y":32 + }, + { + "data":[558, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 555, 556, 555, 556, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":32 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1096,7 +2486,7 @@ "height":16, "width":16, "x":0, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, @@ -1118,7 +2508,7 @@ "height":16, "width":16, "x":16, - "y":32 + "y":48 }, { "data":[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, @@ -1140,7 +2530,7 @@ "height":16, "width":16, "x":32, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1162,7 +2552,7 @@ "height":16, "width":16, "x":48, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, @@ -1184,17 +2574,17 @@ "height":16, "width":16, "x":64, - "y":32 + "y":48 }, { - "data":[0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + "data":[0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1206,7 +2596,184 @@ "height":16, "width":16, "x":80, - "y":32 + "y":48 + }, + + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0], + "height":16, + "width":16, + "x":96, + "y":48 + }, + { + "data":[0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0], + "height":16, + "width":16, + "x":112, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 559, 560, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 560, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 560, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5], + "height":16, + "width":16, + "x":128, + "y":48 + }, + { + "data":[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], + "height":16, + "width":16, + "x":144, + "y":48 + }, + { + "data":[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 5, 5, 5, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, + 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 0, 0, 0, 559, 560, 0, 0, 0, 559, 560, 0, 0, 0, + 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 557, 558, 0, 559, 560, 0, 0, 557, 558, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":48 + }, + { + "data":[560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 560, 0, 557, 558, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 559, 560, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559], + "height":16, + "width":16, + "x":176, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":192, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1228,7 +2795,7 @@ "height":16, "width":16, "x":0, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1250,7 +2817,7 @@ "height":16, "width":16, "x":16, - "y":48 + "y":64 }, { "data":[0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1272,7 +2839,7 @@ "height":16, "width":16, "x":32, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1294,7 +2861,7 @@ "height":16, "width":16, "x":48, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, @@ -1316,7 +2883,7 @@ "height":16, "width":16, "x":64, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1338,17 +2905,194 @@ "height":16, "width":16, "x":80, - "y":48 + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, + 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, + 557, 558, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 557, 558, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 559, 560, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":64 + }, + + { + "data":[0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 557, 558, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 555, 556, 0, 0, 0, 557, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 557, 558, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":64 + }, + { + "data":[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 560, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 557, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 557, 558, 559, 560, 0, + 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, + 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, + 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 556, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 559, 560, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, + 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, + 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":192, + "y":64 + }, + { + "data":[0, 559, 560, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, + 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 555, 556, 0, 0, 555, 556, 0, 0, 0, + 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":64 }], "height":80, "id":2, "name":"collisions", "opacity":1, "startx":0, - "starty":-16, + "starty":0, "type":"tilelayer", "visible":true, - "width":96, + "width":224, "x":0, "y":0 }, @@ -1374,7 +3118,7 @@ "height":16, "width":16, "x":0, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1396,7 +3140,7 @@ "height":16, "width":16, "x":16, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1418,7 +3162,7 @@ "height":16, "width":16, "x":32, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1440,7 +3184,7 @@ "height":16, "width":16, "x":48, - "y":-16 + "y":0 }, { "data":[0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1462,7 +3206,7 @@ "height":16, "width":16, "x":64, - "y":-16 + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1484,7 +3228,183 @@ "height":16, "width":16, "x":80, - "y":-16 + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 533, 534, 0, 0, 535, 536, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 531, 532, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0], + "height":16, + "width":16, + "x":128, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 531, 532], + "height":16, + "width":16, + "x":144, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535], + "height":16, + "width":16, + "x":192, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":0 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1506,7 +3426,7 @@ "height":16, "width":16, "x":0, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1528,8 +3448,9 @@ "height":16, "width":16, "x":16, - "y":0 - }, + "y":16 + }, + { "data":[533, 534, 0, 531, 532, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, @@ -1550,7 +3471,7 @@ "height":16, "width":16, "x":32, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1572,7 +3493,7 @@ "height":16, "width":16, "x":48, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1594,7 +3515,7 @@ "height":16, "width":16, "x":64, - "y":0 + "y":16 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1616,7 +3537,183 @@ "height":16, "width":16, "x":80, - "y":0 + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 533, 534, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 534, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":16 + }, + { + "data":[0, 535, 536, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":16 + }, + { + "data":[0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 531, 532, 0, 0, 0, 0, 531, 532, 0, 0, 533, 534, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 533, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 533, 534, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 531, 532, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533], + "height":16, + "width":16, + "x":192, + "y":16 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 534, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":16 }, { "data":[0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1638,7 +3735,7 @@ "height":16, "width":16, "x":0, - "y":16 + "y":32 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1660,7 +3757,7 @@ "height":16, "width":16, "x":16, - "y":16 + "y":32 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1682,7 +3779,7 @@ "height":16, "width":16, "x":48, - "y":16 + "y":32 }, { "data":[0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1704,7 +3801,7 @@ "height":16, "width":16, "x":64, - "y":16 + "y":32 }, { @@ -1723,11 +3820,187 @@ 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534], "height":16, "width":16, "x":80, - "y":16 + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 535, 536, 0, 531, 532, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":32 + }, + { + "data":[0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 533, 534, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 531, 532, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535], + "height":16, + "width":16, + "x":160, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 531, 532, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":192, + "y":32 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 531, 532, 531, 532, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":32 }, { "data":[0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1749,7 +4022,7 @@ "height":16, "width":16, "x":0, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1771,7 +4044,7 @@ "height":16, "width":16, "x":16, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1793,7 +4066,7 @@ "height":16, "width":16, "x":32, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, @@ -1815,7 +4088,7 @@ "height":16, "width":16, "x":48, - "y":32 + "y":48 }, { "data":[536, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1837,7 +4110,7 @@ "height":16, "width":16, "x":64, - "y":32 + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1846,7 +4119,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1859,7 +4132,162 @@ "height":16, "width":16, "x":80, - "y":32 + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":48 + }, + + { + "data":[0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 533, 534, 0, 535, 536, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0], + "height":16, + "width":16, + "x":160, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 536, 0, 533, 534, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":48 + }, + { + "data":[535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532], + "height":16, + "width":16, + "x":192, + "y":48 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":48 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1881,7 +4309,7 @@ "height":16, "width":16, "x":0, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, @@ -1903,7 +4331,7 @@ "height":16, "width":16, "x":16, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1925,7 +4353,7 @@ "height":16, "width":16, "x":32, - "y":48 + "y":64 }, { "data":[0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1947,7 +4375,7 @@ "height":16, "width":16, "x":48, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, @@ -1969,7 +4397,7 @@ "height":16, "width":16, "x":64, - "y":48 + "y":64 }, { "data":[0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, @@ -1991,17 +4419,194 @@ "height":16, "width":16, "x":80, - "y":48 + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":96, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, + 533, 534, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 533, 534, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 535, 536, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":112, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 533, 534, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 531, 532, 0, 0, 0, 533, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 533, 534, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":128, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 533, 534, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":144, + "y":64 + }, + + { + "data":[0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 533, 534, 535, 536, 0, + 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, + 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":160, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, + 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":176, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, + 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 535, 536, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, + 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":192, + "y":64 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, + 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, 531, 532, 0, 0, 0, + 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":16, + "width":16, + "x":208, + "y":64 }], "height":80, "id":3, "name":"top", "opacity":1, "startx":0, - "starty":-16, + "starty":0, "type":"tilelayer", "visible":true, - "width":96, + "width":224, "x":0, "y":0 }], @@ -2019,5 +4624,5 @@ "tilewidth":16, "type":"map", "version":"1.10", - "width":30 + "width":240 } \ No newline at end of file From 89cd32f453b056dc37086412792fe22ec2efa87e Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Sat, 30 Dec 2023 21:56:42 +0100 Subject: [PATCH 17/29] Update du monde 5 et du tileset --- assets/textures/tileset.pdn | 82 +++++++++++++++++++++++++++++++++++++ assets/textures/tileset.tsj | 2 +- maps/map5.tmj | 8 ++-- 3 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 assets/textures/tileset.pdn diff --git a/assets/textures/tileset.pdn b/assets/textures/tileset.pdn new file mode 100644 index 0000000..0108e43 --- /dev/null +++ b/assets/textures/tileset.pdn @@ -0,0 +1,82 @@ +PDN3- OPaintDotNet.Data, Version=5.12.8735.38135, Culture=neutral, PublicKeyToken=nullPaintDotNet.Document +isDisposedlayerswidthheight savedWithuserMetadataItemsPaintDotNet.LayerListSystem.VersionSystem.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]   PaintDotNet.LayerListparentArrayList+_itemsArrayList+_sizeArrayList+_versionPaintDotNet.Document  System.Version_Major_Minor_Build _Revision "System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]keyvalue $exif.tag3[0] +D $exif.tag4[0] / $exif.tag5[0]7 $exif.tag6[0]7      OPaintDotNet.Core, Version=5.12.8735.38135, Culture=neutral, PublicKeyToken=nullPaintDotNet.BitmapLayer +propertiessurfaceLayer+isDisposed Layer+width Layer+heightLayer+properties-PaintDotNet.BitmapLayer+BitmapLayerPropertiesPaintDotNet.Surface!PaintDotNet.Layer+LayerProperties         ! " # $-PaintDotNet.BitmapLayer+BitmapLayerPropertiesblendOp&PaintDotNet.UserBlendOps+NormalBlendOp %PaintDotNet.Surfacewidthheightstridescan0PaintDotNet.MemoryBlock &!PaintDotNet.Layer+LayerPropertiesnameuserMetadataItemsvisible isBackgroundopacity blendModeSystem.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]PaintDotNet.LayerBlendMode'Calque 2 (PaintDotNet.LayerBlendModevalue__ * +,Calque 4 ( /  0!1Calque 3 (" 4# 5$6 Arrière-plan (%&PaintDotNet.UserBlendOps+NormalBlendOp&PaintDotNet.MemoryBlocklength64 hasParentdeferred  (System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]*%+& /%0& 4%5&  ~ +ڱP88;߁ Ȁ fߏ?y~p?H?ԟ~f?ڏ?????????????d?; g3~f?g3~f?~v?g~v?g@?ҟc~b?c9?????????@||2 2 2 2 2@?hO~??x~r?L?~h?~~~~~~~~~~~~~w 2 2 2 2 ;g3~f?g3~3~v?g~v?gD?Os~d?Os~~~~~~~~~d@d@d@d@d`'@~?~z~t?'#P?֟'#~j?????????????@d@d@d@d@v2`?g3~f?g3,gg~v?g~v?H?ԟ~f?ڏ?????????Ȁ Ȁ Ȁ Ȁ Nɀ~f?g3~f?gg~v?g~v?'#P?֟'#~j??????????~w 2 2 2 2 ;?'ޟ'Y?S~`?S~~~~~|m> +ڱ0@ lHyY?S~p~Ȁ Ȁ Ȁ Ȁ N{~OO'Gg'GgD?Os~d?Os~~~~~~~~~~~~~ d@d@d@d@d`'s~n?s~n?s<3L?ӟg3L?ӟg3L?ԟ~f?ڏ???????? d@d@d@d@d`'=?@?ҟc~b?c9?????????????x2 2 2 2 2~n?s~n?s~sL?ӟg3L?ӟg3L?Os~d?Os~~~~~~~~x2 2 2 2 2Y?S~`?S~~~~~~~~~~~~|<ɀ~n?s~n?s~n?L?ӟg3L?ӟg3L?ӟc~b?c9????????@|<@{}O~?ПgCXn?؏gC~????????????@> Ȁ Ȁ Ȁ Ȁ d~n?s~n?s~n?\?ӟg3L?ӟg3L?ӟS~`?S~~~~~~~~> Ȁ Ȁ Ȁ Ȁ d?'?~t~p~r~t~vprtOG3T?OG3~l?~~~~~~~~~~~~~ @d@d@d@d@v2`?s~n?s~n?~?ӟg3L?ӟg3L?ӟgCXn?؏gC~????????@d@d@d@d@v2|?~?~zx:?8?9?:?????'#P?֟.O^]~ +ڱ1 @ߴ RyK[$'﻾ɏ~???ܟݟL?~h?~~~~~~y?Ȁ Ȁ Ȁ Ȁ tɏ~???ܟݟL?~h?~~~~~~~~~~~~~g 2 2 2 2 {2`?s~n?s~n?\?ӟg3L?ӟg3L?ӟS~`?S~~~~~~~~|<X Dv! +1 Om"! +1 Om"e +In0ޢW zޣfdd[t}KPlYvtQ=Hj +ɟ?}`Eݎq٫ߴ/ogggBq{{;Wݼ}XYY)ON׭%VϖϘj 888(%>>/..ʌ*ǂodWOjUg\Z[[+>H>biii~^&|9TO[7ayyS^V9Zorkwԇ2vdhm5IE)Ɔ)y=<<fZ3v~#ׇ5}7CU~tNXZPƄx~y蹚dmAcc뼻^TƧKF90o?w/y2eޟ}WeY[5,S\{д~ڡm\iZ%}.:sZgO8??k~WxOdk'''c?i~?\М5zMs}} 677?@O5zZ˛5ǟZR#j;3qh|DZ0e_wԈCƇAr߫Ogjj+ܱ}dٟYZGjֶT7=?=m-!.t7kBj 'hި!4%bԃ.9 ]}B +1ԉm\9bԆ ièF/BivQrm)YOq@bQwK{hthPK܇nڏZ zqsQ_F~T05xX}֦g/JUX_{g,.Xkp{==k"er?Wqʲ-srru%]V1!jaE{=M%A/彯"oFf|)ߗ'kMyoCRi6ob@R.B~NXs g̕t5BTZRﯢ7aS|cZ5^pѷ}z}޴h/+ʣM'DNPŞBN1;Jy9tu?.BDwъskɸvN0_ SGB~ %?By s'۰;񶹷yyOb sE?_<9yO58{9l]zNq0Q5=OXk2G^P[hk&nf?!;gEy\)q]C +҅CB,@ebZhxO?G#ΜpĞA'iJL=DjBYhż'"(2NZucO^uQ;"]|rRygW"/ϣʼn? b(#2U+Ş>T0߫g=}^k8K.}&z{j9oQDo}_UK\ua~ܺ*X+߁}^I@ +`]5:cͷl5HgMN[/(_ jPs/j{-X75Ѷz<Ӫ8mn7!~,o .h +]{^Ey q@|bjJ (`A1 .uԊV i_\"w"4* $8v38SN;rV)^h-X!}gs>N<;{vvl gFlcOό=+cl wyAV6 S俵jժ]j Y9[̟Vqm'&2usGF/;i^4 emcl#q?rϪ82'###%S9]I>6Mlyl\\p'{[8o݅M|~%*7 sD<?\!yCڀu2G'd2?e3ǣ/?Y)yoLp(s;O222Q2&Ls~oPo߶ܾk'?(xK.`\{?'wmO=>P22260Mny_,ڹ8{AKOFFF>~2}`./2zק.?Y){Vq0GT222R&t"k?&P\9as62222uiEi?وL7Ŏ?{W,bΚby9. +B~;yC=4(wy'׾xnvUWs(o|g22Ҋ|=~8_9uٵ^ˮjo|coܛZo*O:@^.~@,>|&KYV<~Ʃ?'U>7=A׿կV/>{Wa'8^q= o.Ww9e>Yɼ._iI*[6{E}]wk}7o~^uU8ϫ}>2Z8g?;dddM7_Ɵc;vm?{뭷VwuW(FnsayRG222o1,K~{ <6wHހoq8voqq~7yMփs+3v~Ov͚5E?$(ddd-Uqnxց?,Xrv|l+_?qd8Yt|{ߴ˳_dr1/O9lv;do~>?sk׮ݕG&z>سznE1zGOOFFĿ-CϿ{',}{|3Ϝkl.?66gN2^ 'yyWg=>o؆3gT5m[8sٳd'dl_ƶ/ksXxy3g~xMvY;̱ޕYc/<l\|O8gj+Wp᪙o9Kv?WZ-bsal-xǶV}9|GrJ8os?a\36C/?e{ZC۷)'###ksḞSwml&ŏlAdddddddddddddddd;TlȊY V>9_gߦ_ߒ:?$w6-Fcz mZC}Gh&֯!oi"K[2ktKOo;ATKIdi"KAx)H<|{/Co;ܬ?-CҦwj9Tx!c۟,~Cu-CҦ@.X6PR_Xw1tnlu6`[ڬi@>s},tSY}'~_q.zoLq["{q)8Yt.;Wګ}@V<忚wvϫoڍ'?w}즛nY[ns+?a0 c]_\Ҝk7 ū/xmVX\<_X_߽ٺu=_}{7xcxS }|k֬a6lw!Cn?\Ҵ{f=/⇮]i߾!,o}?'ޣ!7;]N]P|7o_ +.i9Yxkg۷o{/<)^z֎߶$0NG o"ǡB~mx4߅?ׅKn.6U?-ħ_dL}sDœˁkׯ__8[{?`>~/߅MׅKP,}Q(f>4/$1GDxlyo"Ϡ 0NxCŘz, ů k?4}QM,: ?;aL }U{` 0kz],t]WXSppI3 p쟫X\|{_1_ c8tEŗ?luSppI>Sk]!ro"~k1 _ s0N]|oKj6| +.im3o,`~l_xWG^SN +<ےDc㗂KsUՏw6l֯;įL1MXG;|>ߖ-&⇭'m\ҴE?8KGį뮻:0G, Zn,-[M[O)8r(tۤnxX|7?lx65~(Ɖ0&> c8;'zb -[M[O)8_p_|-Lk`?Ow?~c_ 0Gc7YA|W_Xlmx֯6| +.i1*b|ˑ2~ysxLj ,ǻ[_xNqxQwj߁w`+?6)|gû[W)8 +)K4x]xw!ߌw oo/d]+iy&q~+Eh=|3ޕ?_)8 卜G +s1z1xwϿC&]vcR?wП/4m./uůtb?H%[O +#]w}AK?)8AH'M]#O%MWIE7yAK\ml1Yo"IQǶ?4yfhsߴI׿|K?)8m?>?!x=6,>uulSppI30p쟫XoH<O1:qڮ__:;+~086yvl;>ww6ח$;߁C["O[g15~_sk~}ni|mOb]e\'ާ ;7E&o}[mXrG'[?+Ytr;rE?v|jxl·I ]ԯrжc?)^>;?wx[?+ԯŷ=/~6Q=V%w`)'_wWN| ܬ=]G~cm_~!#K߅w +է O]_ݟ1xv]~gPZc.lxWoߜ[so%ozqaxCw(Ş` չ3֯~pw/G_Y_X6tx _+1J7>WO~l9TJox֟3~>w+3ux۾g +@jߧ_?<_l>5C\qϭ=x okk^[)w0~FmXObK[G;jJlyD!] mX9o 82DsCDZM\[z_:7C|mX9o Gb֧W9'`?mɟŻ?s_`Ky ߄|_k?7>?_I?]2̅[IK0H~roTcZO{~ORH_:mށ׮/'4>s &ʗq:~x^_mxՇBf \>+!߹(6@?5S~'[ϱx[̴/ܩϻ}Z?mчP|#cBr +t;s6g}:[2ū-Q7o;? LnPlվK^/N7({J]Z~ />QW-5)uuhG,`O }:.ŗnu ׏W?s\c dƫ?_)◵~wQ|;POJ\__5'ޝ5~,' 6~,2WI?D_?߶-F#?c#;)]~#m:S@|+x =o?/ߨ6G]#+knMG~~3ΨSv;G]w9ۥ_>Q/}ʚq.HnSɹ@62o Xz~^W^kB=ƍw꤅)}Fݰ+%?a?P[K_?;sb|RRr7ot9RøցyCP?Z^@_~6]˛}g'|f){sO5# +p3ӄ c +Wvo}@0/DKV+\[ugg'zq{;061:?_馛u0t-Td?1͋I x?xZ?kak֬I{믿x㍔dQ#C>7c7x{_u_a&Uk dϐ~|~/G+sL\g;_>_a/S/%}tyS훼>SQ/u/ p4 A) ~z_vH`p/u/kbp?H7:WKK֖OW1X<%oY^?=}-Xu:0#33@[7yM>5f?3NϓO'߅0_ƅScMϞb,˦آb^|slG-_ڮMvԏ|l[tqukUfo=r_tE+xn_u~_|%K1<^UxӝoS}{8㭥|_l>P-/o;MH2KZ|m3ĖK11ʩ?_⇭=KEvEx_ߒ+qš?xMl-K@1f~{bw?Og?=?_㇭9U~eu^^s$L<;Mr9~x~7|maG* Yǧ6Xᱬ{/ b7kOc]v٧{0;.{>c۟+~kk/axko~_͟73joUs97֛o?ߊ-\os<&7Ξ_ >4?#ʪy㪲l[æV/gǬx:ߡyWY9KXynKWXۗwK?gyϲ+ؑE+/ 3ާػ)gdqfշ?^X烹^x/T['/֯1،g~Xޝ|+>4'&;x=Kى|/\N9 +v"'ן .%p>;K!:[6w6Sg?VkdGNƎ뙋.";sΝ>0Gsa5gy#׬d{pܗc]w]?gB=U}ۮs?\>"Nu߅w\ҪXn=S ͝GZθ`}Sti)y/\'x$7t{}oT϶ Ϻ;x D&Q͑{l`ڰ|da<էUs$y'.L_csۭzݶ}1x Sg=>9#{l5gs'0g߿ujD\sKh߫G/}GWN?}ԕ=N`7xs??('_,~/bXrvSmq}O4:*a-tD7;.ag_X5^aƒQ?-^ +nxuOΫF0|zSppI3u@ .~ +~ =`D+/_9SbcS _ŋ}lgS-X}bo `>A)j{{_SK.w|xwG0;̃B3cKNsg1o]xW1_x·^\Nx?s(gƖ!'ω߅wO +.i==! kw0oa {^b?'nL kyЇs?! +2 <// ax>?7/Qo!~.<_!o4?kz?7~ o>~.<&+Uz1wjo<_Nǰd{j +7ޥj;xW1_>a ~,>!qcw|)}㗂K|G_[W߱x~,ts[?6~93x6w]>!x~,ts[?6~)8 FTk}~{XuB#a{y'/fO~~>j?~]/4}OwG*s*Ux?iwccKeGW4[{_,>w]X\LŷgG]tQUq~{Ư׀M%S,da7nW [ߍ}^o׏??_nvt_ +.i6Fo?/>o;?'~9^ZBet~>K%ͥ/"r:<[PЏcaG$`>(~}[]^lu~9cMb9R~x<»?74y'`aX|0|8{4g.apsKr{XlP>1) +3^|_uX|~_|կϭ/bL +07}sWV{Tc»?7 Xz ?A ƢM嗳cV\u~ ϗ-11c1xEa>Bq7Eٟυ w˅w?7 oӿѯOc")^uA(^Ϗ9?A߷ߧ~>`:?_~f# /ԧS 0o6^'z?mIoo#.@pAO:??|Iݦ_"lGŧ??Lp~Y?VczA?> >D?=`)'`w2Q;^gҏρo0?0jd X:~(1K)Sů$xTslEynQic~߫.{ߗcmkg׭m&_Ў^_l51Ƿ,?w\1Jtwՙ;~m??@֐WjoSF[e& >G{~+?sӝ@kAU&k UkӘqW}{\Yϧ cÛch_G0.'tI_C3xz\CcIznJOi? oO/q FUs~OJK +F=ߏKwv^}`oOc)]']Ͽ}/Lo9㗻~~?O? wcߑ2~wcߍr~m~?_IK`ul]XC!funMz2v 7~>p;8/{U4Yΐclz>~`ZR*>u8gc.g}foHWߴZ_+ƔsOsttA~x1vw6ޏo*ħnWu}x˧~_\x*`b<*M~lįW~"N:9/c]/9 1h7xSoz놗%{~C Xv*񖛯}':[Cb3'Dw'G9/v_1H7Vb.LmW$.3ⴵS$NJyTgK_'|5XW'2}'sc`g]}7X 6 _#lE}D,^)]'yp 7ws⼗[ȹ]Jk8Sa,G/2]c>J5;8Ţ:eVfŅW6XT?,fqazY/_SwS_K]?'O{]"QW~4xSwS_?߿b 9 bIᄎd>yq曯g;u}fIVU*~9 p+XD`1]w]~ƗSlA{!XN<`}Uس8Kg=SbP?ο֘]xUO}XҊ,88CdLqļ7d~sᷬZ^Oz|s 2|}‰w:ٟ}oy=H Eڽ`zpQƦ%B9?m~b_\ޘ}ω{ܳ=6XgE{Ͼ?{ m냷n 38'~cc2hϋ_]8gեz~L#3ߩ|*XO߻|̗ +瞒a/r~WRs+.! _>x_f}|z oτt]xP>>XwQl냷iKG9Bq/ eLd2F2)_~r\<\uݙkW98ۺ>}xSFq]nL1cewi}ƅՏ@@@rt{ g͚Oke_Z"c&WԅG {Syu=KG )Ơ3rUE/ҟ݂5$#7HN_A^5Xy}tX%RDZ^\KVt.Yѹ3<~mBlGIm_? 3YJ2_yq}-@nRU_U\ |Oo?oMד7Tݤ|?7\|}b???@_ MK \x[7?S~_m}b_ ߏ[࿷pT^=(ޟ=DޜBkTxo y/.O՟gm!^cOW{gKYb)x9.րS茶~m"p4Ϥc>/5?u?\| H k!۟OgyF|P⩧}uW2~:Q7/oJ=bn"Ul=c>+wϻc⁥OŧnG_x֯_/>ǽ?91;x_ߔkaÒEԢ/yz>=?T*>u?j?o޼y`O՛} +~Mr/DԢ}^Wx7BS_+֮]+O<|;ƠgeMi~OuOGR#a|: +w#D*>u?j;v֭b?^m&Vݾ&[#~]E_WVGԒ=N_CQ[C|s'?!(?1Z?|>}n d~'Oiϣb |>86{N[?o$>zF黶?^⿯/g޻~ߦ?Z?|UALz2uŢ}+v`}1^._ܻq1ׯ~hXvbEC]{=)]^丿hCOOŧn~֫bP?;^UbS]=!LL6mv<(ݵ[<䓽}v`L޳G^Yu$|lH*{ mr}CO]=c̪Wp?[{m{]w]?b.XVc[:|s?OHxW/DQNn| L`>8gU{5u4+-[Ƚ߇Wغuذa `?fÏk}Z>K|7!>CX#]oi.XǴ_|ض0 9w ?_Cl1yAL;տZ_w]ҿ +Ry }C x{1#=7ncyӦMoT y={sI}wk!xuܷ]xWCU~\ֵ#~GA%GkkAkx]w]W>8K}[48]5۹sGvɹ'\ģP..OCU~1C bJx.OCU_N):o/x<91-/q~lc :_؂r oe_^w}JXw~_iG1S{.OCU_N)7+o U{uNa18qTuߠՀW?~Yy +/ou> P|Uǰ_8(s 7 c cU_q1Z'=5zQugKx`)oSU~Eq2x-%O,E~ + +)E*%5ù ߅j_W~>q_=&om7dxS?rQ/_ӚZ9}8ۯ🁷 1d5Ocs8;j=1/SG(oŴ_fEc/kПOQWN)6pn|ˆ`6x?>S)?o1_03{C:|A*>eGm| +RLaE|g`p_?^]k㳮C*tLl_|?x+߷߅5Nm\~/K5 q +a9?gg>x#G6}[]_w)Ň>qwOĆ''i$^ +SS0O%D$|W'?=Svϔ3hĴ_g)O~c?yv? 2?"A>81?"A,eE*|pJa~G +R)M܏ם{,wo:?5A>6o}j^]Pʟ?_F&ߧ/« j(W_;q }j^_ +_S]xWCe􏍯=}b^}O__g&_C3}~[٣ʟ»?6N_O~G,%.?' SS2^%7wuI7`f>oʿ`{;cS= + +dĄlxtR ]wOJ| y}[]5k-;r]?9BᯯjJ +Kp/R&{ $ǟ;y}[]#_~x~8۩88U3m[|ur%b/xEf֭2o|Txm׏>دj}e| +MOv׀EUfW}q(5z+lܸQ-m<7_/_? kkvX+mT7u*?)]* J~R?"Q7E^ߛby`~ÚR]*OU>~w췊kBu^9P_g߈W*TxzOU>~췊kB#zCϧWt>+oxu:T_ֹd."}~jWe\l~uOEׄ4:o] +5ƿSW/V;o߇R/ߪA~/FKM:?/8o ?@>ww3RHd?5>EW~՝? *&b)YFNϩx3;_G?!$>[,k$=Jg81?~j*G4_+iK⿎#D^aO'pޯ oCec]T׃J| +e:?%O:=w)Uc5?ލtO'ԙ;X/ UCO? +S/ig/_1/v.~*vbO]O=g35Z̡.bOY?O33ʟ~m?3T?!VO3T?!VOŧ= g/F߇oc*?_@+[U~~_SO7_?Y.~*ӛ U_~~cدwS?7;A6?7owSۅOo:v!~inavٯ=ʟՏ8N(hS.~5V|wVT_e7?oŴ^_f>Tz*o_geQ0-nv>^ſ]ln׏%M6Uuԑ[ߔj{%SJvKy36yO:*pb2=?\Ν;o˟|茶~mJ⯷o6m:>KZ#!昣 סz6?aزe=ԅWٺụ˟~گi?&#wV>Gԗ?? ,i?ޗ~rn^1_ŞQ=S`'ٸqlڴ)?_/T}گmo>RyCup}R?ë:b5;E71 f: < +o=ח꛳T{yÅoߦﳤ"@_oƼ85t͛7˘~߇}/_[^% rwoSYҊ? <@;vHTjk|Ϟ=N|Q62g៷R+ĿϒV|(KZ,sAk:O3 />~[9Gb>{M|ielz(fssu +~a?.xMobSDz򒘿~[PL?#NgNl,,8sd8W9/fo]`˲3_~I8(qF|jgail˱l>t3}2|W׮_0Oy>Y<g//Bf[}j4OŧnuG_zL?(KMbfQ1]EI}N9v }6ͧ#ߏIOŧnG?*Ƨ~.wS? KEe0&B1k*قY~)g_^Oθ>n(?6)OŧnG7Ӧ?k;Om,,m^ s>3{c|9⤩naoM-ƞ{]6Nw*񝿵~|G*>uc~˽?{8ebY2S? KE{X|ޗs3 S2w/#?=mhV}A띿NqҾ?_%fOf%x!9E?.11}rx<~j?x(~ޓAH 6c X6|Ge;}O;W]11}W߅wSfH'&0 +=g}:Acr؉?YfA1^ƢUxD^JN_G D[<߅wKf\';|XS9:s!gxuYCĚ-n]W^/4/MX=&zV﻾»__ퟅRs=Ăm{d,yzng}o;^Y3}.eUYX,{ۛ{=05x'=ucgN:d?^"̙yoo?_ퟅb>rOHaLGC_ˍOxĖ;yڞb?&iN]}cYX,qrO8 w諃s>}o|Lw_SOm,,mW~ގ|)`~G,J3ϯ8ߩxK*>uc~j6ˠ?<և5>';o.SfKm,,m|~8i\^z9e;T|xW _jgaifssقm@?~}wSS7W/Y;cq'}@Sƺ 7?ҟO~7f߃Ks'J=/Ku~;LďZ}DOQfq"tmŒxOhǬe:~gTmwLOYwp?Y x>FwJןΟ_R? Kt/oퟅb`Uf1G YF_'緆Om,,m:} _Owz4Yʟ;@Ƨ?,,Mߧ(qP|޷!xcS& >-K8xŐ^T|0 K>6OA<߅w, K< ~Ow]//l|d~^}H4Ħ=* T|~_| :?OC\tc{8۟_`û)~|~Tx>X}jZjNbEREU/hKjga 3} S*T<}gf?oy쳰T7>:B5›]x,,,pZϖT_?caaa AeXXX*tZ +[ϖTi6Q'~~Qo +k\EӋRIW,n E"XK +b+xyX5$j*ԗ"xE͞dCe+ڷ">󛳳;;;gO?9o{&oUU˲v1q;F;U^kF#lw^ck +MxQY/ؖ1VvN>M5?w=8?=6zOjc\\z-7;'J^n/]9_ş{A_2=H5~u-4uu^;ن!6=µgs[¿k^9&zj?fœl+lQ1vһ1SU16{_ɅDr#9R;W=_ɉ‘o. w8_mGƓC'7[4+\;>j_y5^&zmdf@\ Gd^Bޣ/eP6Ri/ψ[PB +e+^?g% JqLg[qQE=ノy2NS=){j?Q|ؽ{t AwtΥTww+crߋ Z;6^,μߍ_v:RhKYx1#{ț|{q9~t~}}Uܝ﵅7S}xߋ:^?~ʊxQ>|ḿ&S[= m]鹭;xרA?鲗7{ĞZH([}Nvo7Jt~xkJ쉧}q˅c"#I55NQAO:ĥ؛g˴EϤ=22Q3T73z'-^s|] ?pajݿzsC`X>7v[ ~wat;z޷N>8#RWO]T=ƜgkK{lG/b_8~;JV*`r'5\6B`Y=@{@x _w蓟i1YY# ]Ng(?np%X{ZT H/qe;G͊B#= r5zYqE9ݸȯ"?Qr?[lY0?v_U&r=86OP;uoP.li>ǰ3κ__WV?-YN?L0sߨOa/+g'AokzUi~L.' +vRtL= y= +i-}PP48q_zRTZoޛtgXq?JtKg_֎sr$?0XN2)yYn'`rzo%*M>y`|׳oNT^S0 WqO^SWHSaѳ}?y{Y0X06gbsy >^=r?) \ No newline at end of file diff --git a/assets/textures/tileset.tsj b/assets/textures/tileset.tsj index 0122334..fcf2482 100644 --- a/assets/textures/tileset.tsj +++ b/assets/textures/tileset.tsj @@ -140,7 +140,7 @@ }, { "tileid":92, - "wangid":[0, 0, 0, 5, 0, 0, 0, 5] + "wangid":[0, 4, 0, 5, 0, 4, 0, 5] }, { "tileid":96, diff --git a/maps/map5.tmj b/maps/map5.tmj index 46046b4..720ae81 100644 --- a/maps/map5.tmj +++ b/maps/map5.tmj @@ -1088,7 +1088,7 @@ { "data":[86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 2, 2, 409, 410, 463, 86, 0, 84, 315, 195, 2, 2, 2, 2, 2, 2, 409, 410, 463, 434, 434, - 86, 0, 84, 315, 195, 409, 410, 410, 410, 410, 410, 463, 434, 434, 438, 458, + 86, 5, 84, 315, 195, 409, 410, 410, 410, 410, 410, 463, 434, 434, 438, 458, 563, 564, 565, 315, 195, 433, 434, 434, 434, 434, 434, 434, 434, 438, 459, 2, 86, 0, 84, 315, 195, 433, 434, 434, 434, 434, 434, 438, 458, 459, 2, 2, 86, 0, 84, 315, 195, 457, 458, 458, 458, 458, 458, 459, 2, 2, 2, 2, @@ -2125,7 +2125,7 @@ 0, 557, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2624,7 +2624,7 @@ { "data":[0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 559, 560, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 558, 0, @@ -3682,7 +3682,7 @@ 0, 533, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, From 5e5f23750f0305fba8c93bf0f34b712163303acb Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Sun, 31 Dec 2023 13:42:15 +0100 Subject: [PATCH 18/29] =?UTF-8?q?Fix=20d'un=20crash=20li=C3=A9=20aux=20par?= =?UTF-8?q?ticules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/event_handler.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/engine/event_handler.py b/src/engine/event_handler.py index 5e6064b..cfd6b60 100644 --- a/src/engine/event_handler.py +++ b/src/engine/event_handler.py @@ -1,3 +1,5 @@ +import math + from pygame import event from pygame.locals import * @@ -36,8 +38,8 @@ class EventHandler: if K_l in self.key_pressed: self.engine.entity_manager.get_by_name("player").take_damages(1) if K_p in self.key_pressed: - self.engine.renderer.emit_particles(self.engine.entity_manager.get_by_name("player").x, - self.engine.entity_manager.get_by_name("player").y, + self.engine.renderer.emit_particles(math.floor(self.engine.entity_manager.get_by_name("player").x), + math.floor(self.engine.entity_manager.get_by_name("player").y), 16, 16, 16, 1, 8, 0, 1, 0.2, 1., (0, 200, 200)) if K_x in self.key_pressed: From a6847caf6ceaf6d7538f571b57864e93d3e69b64 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Sun, 31 Dec 2023 14:12:28 +0100 Subject: [PATCH 19/29] Ajout d'un compteur de FPS en mode DEBUG --- src/engine/renderer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/engine/renderer.py b/src/engine/renderer.py index 2ad49d5..cfc0962 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -1,7 +1,7 @@ import math import random -from pygame import display, image, surface, transform, draw +from pygame import display, image, surface, transform, draw, font from pygame.locals import RESIZABLE, SRCALPHA, FULLSCREEN import src.engine.engine as engine @@ -112,6 +112,11 @@ class Renderer: self.render_boss_fight_scene(delta) self.render_boss_fight_gui() + # Conteur de FPS en mode DEBUG + if self.engine.DEBUG_MODE: + self.window.blit(font.SysFont("Arial", 20).render(f"FPS: {self.engine.clock.get_fps()}", True, (255, 0, 0)), + (0, 0)) + # Apres avoir tout rendu, on met à jour l'écran display.update() From 309939e69ae4b21c0efacf2177db6a811c475b7c Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Sun, 31 Dec 2023 14:12:58 +0100 Subject: [PATCH 20/29] =?UTF-8?q?Optimisation=20de=20la=20r=C3=A9cup=C3=A9?= =?UTF-8?q?ration=20des=20tiles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/map_manager.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/engine/map_manager.py b/src/engine/map_manager.py index aac80bb..885f1fb 100644 --- a/src/engine/map_manager.py +++ b/src/engine/map_manager.py @@ -28,18 +28,13 @@ class MapManager: # On calcule les coordonnées du chunk coordinates = (x//self.chunk_width, y//self.chunk_height) - # On transforme les coordonnées globales en coordonnées dans le chunk - x %= 16 - y %= 16 + # On vérifie que le chunk existe + if coordinates in layer: + chunk = layer[coordinates] - if coordinates not in layer: - return 0 + # On transforme les coordonnées globales en coordonnées dans le chunk, + # On calcule l'index et on renvoie la tile + return chunk[x % 16 + y % 16 * self.chunk_width] - chunk = layer[coordinates] - - # On vérifie que la tile demandée existe sinon on répond "vide" - if x >= self.chunk_width or x < 0 or y >= self.chunk_height or y < 0: - return 0 - - # On calcule l'index et on renvoie la tile - return chunk[x+y*self.chunk_width] + # Si on ne trouve pas le chunk, on renvoit "vide" + return 0 From 6ddf98db4a93e06e3495278baa260e0bcce94058 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Sun, 31 Dec 2023 14:53:39 +0100 Subject: [PATCH 21/29] =?UTF-8?q?Ajout=20d'une=20version=20optimis=C3=A9e?= =?UTF-8?q?=20de=20get=5Ftile=5Fat()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/map_manager.py | 7 +++++++ src/engine/renderer.py | 13 +++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/engine/map_manager.py b/src/engine/map_manager.py index 885f1fb..8655e09 100644 --- a/src/engine/map_manager.py +++ b/src/engine/map_manager.py @@ -38,3 +38,10 @@ class MapManager: # Si on ne trouve pas le chunk, on renvoit "vide" return 0 + + def get_tile_at_quick(self, x: int, y: int, layer_id: int): + """Version optimisée de get_tile_at().""" + chunk = self.map_layers[layer_id].get((x//self.chunk_width, y//self.chunk_height)) + if chunk is not None: + return chunk[x % 16 + y % 16 * self.chunk_width] + return 0 diff --git a/src/engine/renderer.py b/src/engine/renderer.py index cfc0962..ced7a46 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -215,7 +215,6 @@ class Renderer: # On rend l'ombre rendered_surface.blit(shadow_image, entity_dest) - # On affiche l'image rendered_surface.blit(frame, entity_dest) @@ -276,12 +275,18 @@ class Renderer: x_map_offset = math.floor((self.engine.camera.x - x_middle_offset) / self.tile_size) y_map_offset = math.floor((self.engine.camera.y - y_middle_offset) / self.tile_size) + # On précalcule le décallage des tiles sur l'écran + tile_x_offset = - self.engine.camera.x + x_middle_offset + tile_y_offset = - self.engine.camera.y + y_middle_offset + # On itère pour chaque couche, toutes les tiles visibles par la caméra for x in range(x_map_offset, x_map_offset + x_map_range): + # On précalcule les coordonnées en x + tile_render_x = math.floor(x * self.tile_size + tile_x_offset) for y in range(y_map_offset, y_map_offset + y_map_range): # On récupère l'id de la tile à la position donnée - tile_id = self.engine.map_manager.get_tile_at(x, y, layer_id) + tile_id = self.engine.map_manager.get_tile_at_quick(x, y, layer_id) # Si l'id est 0, il s'agit de vide donc on saute le rendu if tile_id == 0: @@ -289,8 +294,8 @@ class Renderer: # Puis, on cherche à quelle image elle correspond et on la colle sur notre surface rendered_surface.blit(self.tiles[tile_id - 1], - (math.floor(x * self.tile_size - self.engine.camera.x + x_middle_offset), - math.floor(y * self.tile_size - self.engine.camera.y + y_middle_offset))) + (tile_render_x, + math.floor(y * self.tile_size + tile_y_offset))) if self.engine.DEBUG_MODE and layer_id == 1: draw.rect(rendered_surface, (100, 100, 255), From 8ea1c1261edee4b63238d9ad3591609e007e80f4 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Tue, 2 Jan 2024 15:04:46 +0100 Subject: [PATCH 22/29] Ajout de typage dans le entity_manager --- src/engine/entity_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engine/entity_manager.py b/src/engine/entity_manager.py index 9632ddb..cad71e8 100644 --- a/src/engine/entity_manager.py +++ b/src/engine/entity_manager.py @@ -9,7 +9,7 @@ class EntityManager: self.player_entity_name = "" self.map_manager = map_manager - def register_entity(self, name: str): + def register_entity(self, name: str) -> Entity: """Crée une entité et l'enregistre dans un dictionnaire.""" entity = Entity(name) self.entities[name] = entity @@ -39,10 +39,10 @@ class EntityManager: else: player.link_animation("player_none") - def get_all_entities(self): + def get_all_entities(self) -> list[Entity]: """Donne la liste de toutes les entités enregistrées.""" return list(self.entities.values()) - def get_by_name(self, name: str): + def get_by_name(self, name: str) -> Entity: """Donne l'entité avec le nom donné.""" return self.entities[name] From ea2f02b2ab981cad571d7b2dcb3aee003cb9232b Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Tue, 2 Jan 2024 15:22:33 +0100 Subject: [PATCH 23/29] Ajout de debugging --- src/engine/event_handler.py | 13 ++++++++----- src/engine/renderer.py | 8 +++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/engine/event_handler.py b/src/engine/event_handler.py index cfd6b60..4d2ce83 100644 --- a/src/engine/event_handler.py +++ b/src/engine/event_handler.py @@ -34,13 +34,16 @@ class EventHandler: if K_DOWN in self.key_pressed: self.engine.entity_manager.move_player_controls(0, 1) - # Only for tests ! Remove on release !!!!! - if K_l in self.key_pressed: - self.engine.entity_manager.get_by_name("player").take_damages(1) - if K_p in self.key_pressed: - self.engine.renderer.emit_particles(math.floor(self.engine.entity_manager.get_by_name("player").x), + if self.engine.DEBUG_MODE: + if K_l in self.key_pressed: + self.engine.entity_manager.get_by_name("player").take_damages(1) + if K_p in self.key_pressed: + self.engine.renderer.emit_particles(math.floor(self.engine.entity_manager.get_by_name("player").x), math.floor(self.engine.entity_manager.get_by_name("player").y), 16, 16, 16, 1, 8, 0, 1, 0.2, 1., (0, 200, 200)) + if K_o in self.key_pressed: + print(f"Player pos: X = {self.engine.entity_manager.get_by_name('player').x} " + f"Y = {self.engine.entity_manager.get_by_name('player').y}") if K_x in self.key_pressed: self.engine.camera.target_zoom *= 1.01 diff --git a/src/engine/renderer.py b/src/engine/renderer.py index ced7a46..39f1393 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -116,6 +116,11 @@ class Renderer: if self.engine.DEBUG_MODE: self.window.blit(font.SysFont("Arial", 20).render(f"FPS: {self.engine.clock.get_fps()}", True, (255, 0, 0)), (0, 0)) + player = self.engine.entity_manager.get_by_name('player') + self.window.blit(font.SysFont("Arial", 20).render(f"X: {player.x} Y:{player.y}", + True, (255, 0, 0)), (0, 30)) + self.window.blit(font.SysFont("Arial", 20).render(f"Zoom: {self.engine.camera.zoom}", + True, (255, 0, 0)), (0, 60)) # Apres avoir tout rendu, on met à jour l'écran display.update() @@ -180,7 +185,8 @@ class Renderer: def render_boss_fight_gui(self): """Rend la barre d'action en bas de l'écran pendant le combat de boss.""" - resized_container = transform.scale(self.boss_fight_GUI_container, (display.get_window_size()[0], self.boss_fight_GUI_container.get_height()/self.boss_fight_GUI_container.get_width()*display.get_window_size()[0])) + resized_container = transform.scale(self.boss_fight_GUI_container, + (display.get_window_size()[0], self.boss_fight_GUI_container.get_height()/self.boss_fight_GUI_container.get_width()*display.get_window_size()[0])) self.window.blit(resized_container, (0, display.get_window_size()[1]-resized_container.get_height())) def render_entities(self, rendered_surface: surface.Surface, gui_surface: surface.Surface, delta: float): From 361837795c2574cf20823794d249d771ab23e1c0 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Tue, 2 Jan 2024 15:55:40 +0100 Subject: [PATCH 24/29] Debut implementation des IA de mobs --- src/custom_AI.py | 10 ++++++++++ src/engine/entity.py | 7 +++++++ src/engine/mobs_AI.py | 9 +++++++++ src/main.py | 12 ++++++++++-- 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/custom_AI.py create mode 100644 src/engine/mobs_AI.py diff --git a/src/custom_AI.py b/src/custom_AI.py new file mode 100644 index 0000000..bfce194 --- /dev/null +++ b/src/custom_AI.py @@ -0,0 +1,10 @@ +from src.engine.entity import Entity +from src.engine.mobs_AI import MobAI + + +class WolfAI(MobAI): + def __init__(self, entity: Entity): + super().__init__(entity) + + def update(self): + self.entity.x += 1 diff --git a/src/engine/entity.py b/src/engine/entity.py index b03ba9d..9e7a4fc 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -1,6 +1,7 @@ import math from src.engine.map_manager import MapManager +from src.engine.mobs_AI import MobAI class Entity: @@ -31,6 +32,7 @@ class Entity: # Time utilisé pour les IA self.time = 0 + self.brain: MobAI | None = None self.name = name @@ -43,6 +45,11 @@ class Entity: self.life_points = life self.max_life_points = life + def set_ai(self, ai: MobAI): + self.brain = ai + self.brain.__init__(self) + print(ai.entity) + def update(self, delta: float): """Met à jour l'entité.""" self.time += delta diff --git a/src/engine/mobs_AI.py b/src/engine/mobs_AI.py new file mode 100644 index 0000000..699c489 --- /dev/null +++ b/src/engine/mobs_AI.py @@ -0,0 +1,9 @@ +from src.engine.entity import Entity + + +class MobAI: + def __init__(self, entity: Entity): + self.entity = entity + + def update(self): + pass diff --git a/src/main.py b/src/main.py index 8f1ec06..da4be06 100644 --- a/src/main.py +++ b/src/main.py @@ -1,5 +1,6 @@ import pygame.image +from src.custom_AI import WolfAI from src.engine.animation import Anim from src.engine.engine import Engine from src.engine.enums import GameState @@ -15,7 +16,7 @@ class Game(Engine): self.create_player_entity() self.load_boss_fight_assets() - self.DEBUG_MODE = False + self.DEBUG_MODE = True self.game_state = GameState.NORMAL @@ -33,7 +34,7 @@ class Game(Engine): player.link_animation("player_none") player.collision_rect = [-6, -7, 6, 16] - player.set_default_life(10) + player.set_default_life(15) player.max_speed = 1. self.entity_manager.set_player_entity("player") @@ -43,6 +44,13 @@ class Game(Engine): self.camera.follow_entity(player) + def spawn_mobs(self): + """Fait apparaitre les mobs de la map.""" + mob = self.entity_manager.register_entity("wolf1") + mob.set_ai(WolfAI) + + + def load_boss_fight_assets(self): """Charge les animations de combat des combats de boss.""" player_none = Anim(1) From 3ba340aeba870cfb38b3b568256027e168cc1c20 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Wed, 3 Jan 2024 11:21:19 +0100 Subject: [PATCH 25/29] Ajout d'un loup qui suit le joueur --- assets/textures/entities/wolf/none/0.png | Bin 0 -> 236 bytes src/custom_AI.py | 22 +++++++++++++++++++--- src/engine/entity.py | 8 ++++---- src/engine/entity_manager.py | 3 +++ src/engine/mobs_AI.py | 9 ++++++--- src/main.py | 16 ++++++++++++++-- 6 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 assets/textures/entities/wolf/none/0.png diff --git a/assets/textures/entities/wolf/none/0.png b/assets/textures/entities/wolf/none/0.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a21ce2af767139722df14dfd31ecfd9b61d331 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3-oF?)7E^DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheYymzYu0R?HmZtAK52Tn%g8YL2Gd$gH;05Gy7I;J!GcfQS0%1l`4X*~E zV4|msV~9rZ+`ij<2NXD*pZ>3}x**1$@oj_f;%`cYH|IV*ct|bz(Zb{NS>HxX7c1uD zO0b&L;x^0cuu8#Pt%CZ-d(Q;VJM9$o)oC?LUj0q)-^7$l+*SwoJB11@4p`!%J!gjP Y#CeQU{daLJ2U^D9>FVdQ&MBb@0MuYjB>(^b literal 0 HcmV?d00001 diff --git a/src/custom_AI.py b/src/custom_AI.py index bfce194..69eb874 100644 --- a/src/custom_AI.py +++ b/src/custom_AI.py @@ -1,10 +1,26 @@ +import math + from src.engine.entity import Entity +from src.engine.entity_manager import EntityManager +from src.engine.map_manager import MapManager from src.engine.mobs_AI import MobAI class WolfAI(MobAI): - def __init__(self, entity: Entity): - super().__init__(entity) + def __init__(self, entity: 'Entity', entity_manager: 'EntityManager', map_manager: 'MapManager'): + super().__init__(entity, entity_manager, map_manager) def update(self): - self.entity.x += 1 + + player: Entity = self.entity_manager.get_by_name(self.entity_manager.player_entity_name) + + x_distance = (player.x - self.entity.x) + y_distance = (player.y - self.entity.y) + + player_distance = math.sqrt(x_distance ** 2 + y_distance ** 2) + + #player.take_damages(1) + + if abs(player_distance) > self.entity.max_speed: + self.entity.move(x_distance / player_distance*self.entity.max_speed, + y_distance / player_distance*self.entity.max_speed, self.map_manager) diff --git a/src/engine/entity.py b/src/engine/entity.py index 9e7a4fc..7a79d2c 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -45,10 +45,10 @@ class Entity: self.life_points = life self.max_life_points = life - def set_ai(self, ai: MobAI): - self.brain = ai - self.brain.__init__(self) - print(ai.entity) + def set_ai(self, ai: MobAI, engine: 'Engine'): + """Enregistre une classe permettant de gérer l'IA du mob.""" + self.brain = ai(self, engine.entity_manager, engine.map_manager) + print(self.brain.entity) def update(self, delta: float): """Met à jour l'entité.""" diff --git a/src/engine/entity_manager.py b/src/engine/entity_manager.py index cad71e8..9cce4ea 100644 --- a/src/engine/entity_manager.py +++ b/src/engine/entity_manager.py @@ -32,6 +32,9 @@ class EntityManager: if entity.life_points == 0: self.entities.pop(entity_name) + if entity.brain is not None: + entity.brain.update() + if self.player_entity_name: player: Entity = self.get_by_name(self.player_entity_name) if player.mouvements[0] != 0. or player.mouvements[1] != 0.: diff --git a/src/engine/mobs_AI.py b/src/engine/mobs_AI.py index 699c489..77d8442 100644 --- a/src/engine/mobs_AI.py +++ b/src/engine/mobs_AI.py @@ -1,9 +1,12 @@ -from src.engine.entity import Entity +import math + class MobAI: - def __init__(self, entity: Entity): - self.entity = entity + def __init__(self, entity_: 'entity.Entity', entity_manager: 'EntityManager', map_manager: 'MapManager'): + self.entity = entity_ + self.entity_manager = entity_manager + self.map_manager = map_manager def update(self): pass diff --git a/src/main.py b/src/main.py index da4be06..db81e7d 100644 --- a/src/main.py +++ b/src/main.py @@ -15,6 +15,7 @@ class Game(Engine): self.create_player_entity() self.load_boss_fight_assets() + self.spawn_mobs() self.DEBUG_MODE = True @@ -35,7 +36,7 @@ class Game(Engine): player.collision_rect = [-6, -7, 6, 16] player.set_default_life(15) - player.max_speed = 1. + player.max_speed = 2. self.entity_manager.set_player_entity("player") @@ -46,10 +47,21 @@ class Game(Engine): def spawn_mobs(self): """Fait apparaitre les mobs de la map.""" + + anim = Anim(0.5) + anim.load_animation_from_directory("assets/textures/entities/wolf/none") + self.renderer.register_animation(anim, "wolf_none") + mob = self.entity_manager.register_entity("wolf1") - mob.set_ai(WolfAI) + mob.set_ai(WolfAI, self) + mob.link_animation("wolf_none") + mob.collision_rect = [-15, -7, 12, 7] + mob.set_default_life(5) + mob.max_speed = 1. + + mob.x, mob.y = 160, 16 def load_boss_fight_assets(self): """Charge les animations de combat des combats de boss.""" From dc37efc262f0904e75028ffa3474457695c526b9 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Wed, 3 Jan 2024 13:12:14 +0100 Subject: [PATCH 26/29] =?UTF-8?q?Ajout=20d'une=20detection=20des=20collisi?= =?UTF-8?q?ons=20entre=20entit=C3=A9s=20et=20premi=C3=A8re=20implementatio?= =?UTF-8?q?n=20d'IA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/custom_AI.py | 3 ++- src/engine/entity.py | 11 ++++++++++- src/main.py | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/custom_AI.py b/src/custom_AI.py index 69eb874..0d84aa2 100644 --- a/src/custom_AI.py +++ b/src/custom_AI.py @@ -19,7 +19,8 @@ class WolfAI(MobAI): player_distance = math.sqrt(x_distance ** 2 + y_distance ** 2) - #player.take_damages(1) + if player.ge_collisions_with_entity(self.entity): + player.take_damages(1) if abs(player_distance) > self.entity.max_speed: self.entity.move(x_distance / player_distance*self.entity.max_speed, diff --git a/src/engine/entity.py b/src/engine/entity.py index 7a79d2c..7a02688 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -47,8 +47,10 @@ class Entity: def set_ai(self, ai: MobAI, engine: 'Engine'): """Enregistre une classe permettant de gérer l'IA du mob.""" + + # La ligne suivante crée une instance de la classe d'IA. Cette ligne peut causer des warnings sur certains IDE + # mais elle est bien valide self.brain = ai(self, engine.entity_manager, engine.map_manager) - print(self.brain.entity) def update(self, delta: float): """Met à jour l'entité.""" @@ -80,6 +82,13 @@ class Entity: if self.life_points < 0: self.life_points = 0 + def ge_collisions_with_entity(self, other: 'Entity'): + """Retourne True si l'entité courante est en collision avec l'entité donnée.""" + return (self.x+self.collision_rect[0] <= other.x+other.collision_rect[2] and + self.x+self.collision_rect[2] >= other.x+other.collision_rect[0] and + self.y+self.collision_rect[3] >= other.y+other.collision_rect[1] and + self.y+self.collision_rect[1] <= other.y+other.collision_rect[3]) + def get_collisions(self, x: float, y: float, map_manager: MapManager): """Calcule les collisions.""" diff --git a/src/main.py b/src/main.py index db81e7d..9d4bdef 100644 --- a/src/main.py +++ b/src/main.py @@ -36,7 +36,7 @@ class Game(Engine): player.collision_rect = [-6, -7, 6, 16] player.set_default_life(15) - player.max_speed = 2. + player.max_speed = 1.1 self.entity_manager.set_player_entity("player") From ce767126d1792739946ebf3eee3473fe48852d43 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Wed, 3 Jan 2024 19:46:00 +0100 Subject: [PATCH 27/29] =?UTF-8?q?Am=C3=A9lioration=20de=20l'IA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/custom_AI.py | 51 +++++++++++++++++++++++++++++++----- src/engine/entity.py | 2 +- src/engine/entity_manager.py | 2 +- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/src/custom_AI.py b/src/custom_AI.py index 0d84aa2..88e4498 100644 --- a/src/custom_AI.py +++ b/src/custom_AI.py @@ -1,4 +1,5 @@ import math +import random from src.engine.entity import Entity from src.engine.entity_manager import EntityManager @@ -10,18 +11,56 @@ class WolfAI(MobAI): def __init__(self, entity: 'Entity', entity_manager: 'EntityManager', map_manager: 'MapManager'): super().__init__(entity, entity_manager, map_manager) - def update(self): + self.ATTACK_DISTANCE = 160 + self.timer = 0 + self.walk_x = 0 + self.walk_y = 0 + self.comportment = 0 # 0 : waiting, 1: walking + def update(self, delta: float): + """Fonction executée à chaque tick pour chaque loup et qui gère l'IA.""" + + # On récupère l'entité joueur player: Entity = self.entity_manager.get_by_name(self.entity_manager.player_entity_name) + # On calcule la distance en x et en y entre le loup et le joueur x_distance = (player.x - self.entity.x) y_distance = (player.y - self.entity.y) + # On calcule la distance player_distance = math.sqrt(x_distance ** 2 + y_distance ** 2) - if player.ge_collisions_with_entity(self.entity): - player.take_damages(1) + # On vérifie que le loup peut voir le joueur + if player_distance <= self.ATTACK_DISTANCE: + # On rétablit la vitesse du loup à 1 + self.entity.max_speed = 1. + + # Si le loup touche le joueur, il lui inflige des dégats + if player.get_collisions_with_entity(self.entity): + player.take_damages(1) + + # Si le loup n'est pas déja sur le joueur, on le fait s'en raprocher + if player_distance > self.entity.max_speed: + self.entity.move(x_distance / player_distance*self.entity.max_speed, + y_distance / player_distance*self.entity.max_speed, self.map_manager) + + else: + # Comportement d'attente + self.entity.max_speed = 0.5 + + self.timer -= delta + if self.timer <= 0 and self.comportment == 0: + self.comportment = 1 + self.timer = random.random() * 5. + self.walk_x = (random.random()-0.5)*2 + self.walk_y = (random.random()-0.5)*2 + + elif self.timer <= 0 and self.comportment == 1: + self.comportment = 0 + self.timer = random.random() * 3 + + print(self.timer) + + self.entity.move(self.walk_x, self.walk_y, self.map_manager) + - if abs(player_distance) > self.entity.max_speed: - self.entity.move(x_distance / player_distance*self.entity.max_speed, - y_distance / player_distance*self.entity.max_speed, self.map_manager) diff --git a/src/engine/entity.py b/src/engine/entity.py index 7a02688..392a884 100644 --- a/src/engine/entity.py +++ b/src/engine/entity.py @@ -82,7 +82,7 @@ class Entity: if self.life_points < 0: self.life_points = 0 - def ge_collisions_with_entity(self, other: 'Entity'): + def get_collisions_with_entity(self, other: 'Entity'): """Retourne True si l'entité courante est en collision avec l'entité donnée.""" return (self.x+self.collision_rect[0] <= other.x+other.collision_rect[2] and self.x+self.collision_rect[2] >= other.x+other.collision_rect[0] and diff --git a/src/engine/entity_manager.py b/src/engine/entity_manager.py index 9cce4ea..72e59a6 100644 --- a/src/engine/entity_manager.py +++ b/src/engine/entity_manager.py @@ -33,7 +33,7 @@ class EntityManager: self.entities.pop(entity_name) if entity.brain is not None: - entity.brain.update() + entity.brain.update(delta) if self.player_entity_name: player: Entity = self.get_by_name(self.player_entity_name) From c0bacc451c32deffc2755a7649cc1db2cae76e3b Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Wed, 3 Jan 2024 20:17:16 +0100 Subject: [PATCH 28/29] Fix d'un bug dans l'IA et ajout de doc --- src/custom_AI.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/custom_AI.py b/src/custom_AI.py index 88e4498..038540c 100644 --- a/src/custom_AI.py +++ b/src/custom_AI.py @@ -46,21 +46,24 @@ class WolfAI(MobAI): else: # Comportement d'attente + + # On diminue la vitesse self.entity.max_speed = 0.5 self.timer -= delta + # Si le timer est fini et que le loup était en train d'attendre, il commence à marcher if self.timer <= 0 and self.comportment == 0: self.comportment = 1 self.timer = random.random() * 5. + + # On choisit la direction self.walk_x = (random.random()-0.5)*2 self.walk_y = (random.random()-0.5)*2 - + # Si le timer est fini et que le loup était de marcher, il commence à attendre elif self.timer <= 0 and self.comportment == 1: self.comportment = 0 self.timer = random.random() * 3 - print(self.timer) - - self.entity.move(self.walk_x, self.walk_y, self.map_manager) - - + # On fait avancer le loup quand il le doit + if self.comportment == 1: + self.entity.move(self.walk_x, self.walk_y, self.map_manager) From a1592b175a638b4063e80717101cc578c3332c02 Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Wed, 3 Jan 2024 20:19:55 +0100 Subject: [PATCH 29/29] Retrait du mode debug --- src/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.py b/src/main.py index 9d4bdef..5287bd9 100644 --- a/src/main.py +++ b/src/main.py @@ -17,7 +17,7 @@ class Game(Engine): self.load_boss_fight_assets() self.spawn_mobs() - self.DEBUG_MODE = True + self.DEBUG_MODE = False self.game_state = GameState.NORMAL