{"version":3,"sources":["../src/index.ts","../src/constants.ts","../src/types.ts","../src/pokemons.ts","../src/neutrals.ts","../src/spawns.ts","../src/battleItems.ts","../src/heldItems.ts","../src/utils.ts","../src/moves.ts","../src/maps.ts","../src/i18n/en.ts","../src/i18n/pt-BR.ts","../src/i18n/ja-JP.ts","../src/i18n/fr.ts","../src/i18n/es.ts","../src/i18n/index.ts"],"sourcesContent":["// Types\nexport type {\n  Pokemon,\n  PokemonImages,\n  PokemonSkillNames,\n  PokemonStats,\n  Move,\n  MoveSlotEntry,\n  MoveSlotValue,\n  MoveSlotId,\n  Map,\n  MapResolution,\n  Neutral,\n  MapSpawn,\n  BattleItem,\n  HeldItem,\n} from \"./types\";\n\n// Constants (BattleType and Tag: use for values; types come from ./types or inferred)\nexport { BattleType, Tag } from \"./constants\";\nexport { POKEMON_MOVE_SLOT_IDS } from \"./types\";\n\n// Data\nexport { default as pokemons } from \"./pokemons\";\nexport { default as moves } from \"./moves\";\nexport { default as maps } from \"./maps\";\nexport { default as neutrals } from \"./neutrals\";\nexport { default as spawns } from \"./spawns\";\nexport { default as battleItems } from \"./battleItems\";\nexport { default as heldItems } from \"./heldItems\";\n\n// Utils\nexport {\n  getImageUrl,\n  getMapImageUrl,\n  getNeutralImageUrl,\n  getSpawnsByMap,\n  getSpawnsByMapVisibleAt,\n  getNeutralById,\n  getPokemonByName,\n  getPokemonByDex,\n  getPokemonSlug,\n  getPokemonBySlug,\n  getPokemonSkillNames,\n  resolveMoveSlot,\n  getPokemonsByBattleType,\n  getPokemonsByTag,\n  getActivePokemons,\n  parseGameClockToSeconds,\n  isSpawnVisibleAtGameClock,\n  getBattleItemById,\n  getHeldItemById,\n  getHeldItemsByPokemon,\n  getExclusiveHeldItems,\n} from \"./utils\";\nexport type { GetImageUrlOptions } from \"./utils\";\n\n// i18n (also available via \"unite-lib/i18n\")\nexport {\n  getPokemonName,\n  getMapName,\n  getMapDescription,\n  getNeutralName,\n  getSpawnInfo,\n  getSpawnInfoForSpawn,\n  getMoveName,\n  moveNameToKey,\n  getBattleItemName,\n  getHeldItemName,\n} from \"./i18n\";\nexport type { Locale } from \"./i18n\";\n","/**\n * Battle role in Pokémon Unite (Attacker, Defender, etc.).\n * Use as const object for framework-agnostic usage.\n */\nexport const BattleType = {\n  ATTACKER: \"attacker\",\n  DEFENDER: \"defender\",\n  ALLROUNDER: \"allrounder\",\n  SPEEDSTER: \"speedster\",\n  SUPPORTER: \"supporter\",\n} as const;\n\nexport type BattleType = (typeof BattleType)[keyof typeof BattleType];\n\n/**\n * Tags for filtering (role + attack style).\n */\nexport const Tag = {\n  ATTACKER: \"attacker\",\n  DEFENDER: \"defender\",\n  ALLROUNDER: \"allrounder\",\n  SPEEDSTER: \"speedster\",\n  SUPPORTER: \"supporter\",\n  MELEE: \"melee\",\n  RANGED: \"ranged\",\n} as const;\n\nexport type Tag = (typeof Tag)[keyof typeof Tag];\n","import type { BattleType, Tag } from \"./constants\";\n\nexport type { BattleType, Tag };\n\n/** One move / passive / unite slot: display name + asset path (single source of truth). */\nexport interface MoveSlotEntry {\n  name: string;\n  image: string;\n}\n\n/** Legacy: path string only. Preferred: `{ name, image }`. */\nexport type MoveSlotValue = MoveSlotEntry | string;\n\n/** Image paths for a Pokémon (relative to package root or baseUrl). */\nexport interface PokemonImages {\n  main: string;\n  big: string;\n  complete: string;\n  evolution_1?: string;\n  evolution_2?: string;\n  evolution_3?: string;\n  evolution_4?: string;\n  move_s11?: MoveSlotValue;\n  move_s12?: MoveSlotValue;\n  move_s13?: MoveSlotValue;\n  move_s14?: MoveSlotValue;\n  move_s21?: MoveSlotValue;\n  move_s22?: MoveSlotValue;\n  move_s23?: MoveSlotValue;\n  move_s24?: MoveSlotValue;\n  move_s1?: MoveSlotValue;\n  move_s2?: MoveSlotValue;\n  move_u1?: MoveSlotValue;\n  move_p1?: MoveSlotValue;\n  [key: string]: string | MoveSlotEntry | undefined;\n}\n\n/** @deprecated Prefer `images.move_*` as `{ name, image }`. Kept for overrides / gradual migration. */\nexport type PokemonSkillNames = Partial<\n  Record<\n    | \"p1\"\n    | \"s1\"\n    | \"s2\"\n    | \"u1\"\n    | \"s11\"\n    | \"s12\"\n    | \"s13\"\n    | \"s14\"\n    | \"s21\"\n    | \"s22\"\n    | \"s23\"\n    | \"s24\",\n    string\n  >\n>;\n\n/** In-game stat ratings (0.5–5). */\nexport interface PokemonStats {\n  offense: number;\n  endurance: number;\n  mobility: number;\n  scoring: number;\n  support: number;\n}\n\n/** A Pokémon Unite roster entry. */\nexport interface Pokemon {\n  name: string;\n  dex: number;\n  images: PokemonImages;\n  /** @deprecated Use `images.move_*.{ name }` instead. */\n  skillNames?: PokemonSkillNames;\n  active: boolean;\n  battleType: BattleType;\n  stats?: PokemonStats;\n  tags: Tag[];\n  difficulty?: number;\n}\n\n/** Move slot identifier (e.g. s11 = first slot, first move). */\nexport type MoveSlotId =\n  | \"s11\"\n  | \"s12\"\n  | \"s13\"\n  | \"s14\"\n  | \"s21\"\n  | \"s22\"\n  | \"s23\"\n  | \"s24\"\n  | \"s1\"\n  | \"s2\"\n  | \"p1\"\n  | \"u1\";\n\n/** All skill slot ids used on the roster (order: branches before base moves for stable `moves` list). */\nexport const POKEMON_MOVE_SLOT_IDS: readonly MoveSlotId[] = [\n  \"s11\",\n  \"s12\",\n  \"s13\",\n  \"s14\",\n  \"s21\",\n  \"s22\",\n  \"s23\",\n  \"s24\",\n  \"s1\",\n  \"s2\",\n  \"p1\",\n  \"u1\",\n] as const;\n\n/** Structured move data linked to a Pokémon. */\nexport interface Move {\n  /** Pokémon identifier (slug from image path). */\n  pokemonId: string;\n  /** Slot id (e.g. 's11', 's22'). */\n  slotId: MoveSlotId;\n  /** Display name of the move. */\n  name: string;\n  /** Optional short description. */\n  description?: string;\n  /** Image path (relative to package root or baseUrl). */\n  image: string;\n}\n\n/** Map image resolution (1x, 2x, 4x). */\nexport type MapResolution = \"1\" | \"2\" | \"4\";\n\n/** Map/arena data. */\nexport interface Map {\n  id: string;\n  name: string;\n  /** Default image path (e.g. 1x). Use getMapImageUrl for a specific resolution. */\n  image: string;\n  /** Optional resolution variants (@1x, @2x, @4x). Keys are \"1\", \"2\", \"4\". */\n  images?: Partial<Record<MapResolution, string>>;\n  /** Optional description. */\n  description?: string;\n}\n\n/** Consumable item used during battle (e.g. Eject Button, Potion). */\nexport interface BattleItem {\n  id: string;\n  /** Image path (relative to package root or baseUrl). */\n  image: string;\n  /** Display name in English (use getBattleItemName for other locales). */\n  name: string;\n}\n\n/** Passive item held by a Pokémon during battle (e.g. Muscle Band, Buddy Barrier). */\nexport interface HeldItem {\n  id: string;\n  /** Image path (relative to package root or baseUrl). */\n  image: string;\n  /** Display name in English (use getHeldItemName for other locales). */\n  name: string;\n  /** Pokémon name if this item is exclusive to a specific Pokémon. */\n  exclusive?: string;\n}\n\n/** Wild/neutral Pokémon or item that can spawn on a map. */\nexport interface Neutral {\n  id: string;\n  /** Image path (relative to package root or baseUrl). */\n  image: string;\n  /** Display name in English (use getNeutralName for other locales). */\n  name: string;\n  /** Pokédex number (omit for non-Pokémon e.g. berries). */\n  dex?: number;\n}\n\n/** A single spawn point on a map, linked to a neutral by neutralId. */\nexport interface MapSpawn {\n  mapId: string;\n  neutralId: string;\n  left: string;\n  top: string;\n  spawnTime: string;\n  respawnTime: number;\n  permanentDelete: boolean;\n  /**\n   * Optional game-clock time when this spawn disappears (e.g. when the center boss spawns).\n   * Format \"MM:SS\" (e.g. \"02:00\"). Use to hide Natu/Altaria at center when Groudon/Kyogre/Rayquaza spawn.\n   */\n  despawnTime?: string;\n  /** Optional HTML description (default locale). Use getSpawnInfo for i18n). */\n  info?: string;\n  /** Optional i18n key for info (spawn.info.<key>). When set, getSpawnInfo uses it. */\n  infoKey?: string;\n}\n","import { BattleType, Tag } from \"./constants\";\nimport type { Pokemon } from \"./types\";\n\nconst pokemons: Array<Pokemon> = [{\n  \"name\": \"Venusaur\",\n  \"dex\": 3,\n  \"images\": {\n    \"main\": \"pokemons/roster-venusaur.png\",\n    \"big\": \"pokemons/roster-venusaur-2x.png\",\n    \"complete\": \"pokemons/stat-venusaur.png\",\n    \"move_p1\": { \"name\": \"Overgrow\", \"image\": \"moves/venusaur_p1.png\" },\n    \"move_s1\": { \"name\": \"Seed Bomb\", \"image\": \"moves/venusaur_s1.png\" },\n    \"move_s2\": { \"name\": \"Razor Leaf\", \"image\": \"moves/venusaur_s2.png\" },\n    \"move_u1\": { \"name\": \"Verdant Anger\", \"image\": \"moves/venusaur_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-bulbasaur-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-ivysaur-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-venusaur-2x.png\",\n    \"move_s11\": { \"name\": \"Sludge Bomb\", \"image\": \"moves/venusaur_s11.png\" },\n    \"move_s12\": { \"name\": \"Giga Drain\", \"image\": \"moves/venusaur_s12.png\" },\n    \"move_s21\": { \"name\": \"Solar Beam\", \"image\": \"moves/venusaur_s21.png\" },\n    \"move_s22\": { \"name\": \"Petal Dance\", \"image\": \"moves/venusaur_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 2,\n    \"mobility\": 2,\n    \"scoring\": 2.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Charizard\",\n  \"dex\": 6,\n  \"images\": {\n    \"main\": \"pokemons/roster-charizard.png\",\n    \"big\": \"pokemons/roster-charizard-2x.png\",\n    \"complete\": \"pokemons/stat-charizard.png\",\n    \"move_p1\": { \"name\": \"Blaze\", \"image\": \"moves/charizard_p1.png\" },\n    \"move_s1\": { \"name\": \"Flame Burst\", \"image\": \"moves/charizard_s1.png\" },\n    \"move_s2\": { \"name\": \"Fire Spin\", \"image\": \"moves/charizard_s2.png\" },\n    \"move_u1\": { \"name\": \"Seismic Slam\", \"image\": \"moves/charizard_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-charmander-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-charmeleon-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-charizard-2x.png\",\n    \"evolution_4\": \"pokemons/evolution-mega-charizard-x-2x.png\",\n    \"move_s11\": { \"name\": \"Flamethrower\", \"image\": \"moves/charizard_s11.png\" },\n    \"move_s12\": { \"name\": \"Fire Punch\", \"image\": \"moves/charizard_s12.png\" },\n    \"move_s21\": { \"name\": \"Fire Blast\", \"image\": \"moves/charizard_s21.png\" },\n    \"move_s22\": { \"name\": \"Flare Blitz\", \"image\": \"moves/charizard_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"difficulty\": 1,\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ]\n},\n{\n  \"name\": \"Mega Charizard X\",\n  \"dex\": 6.1,\n  \"images\": {\n    \"main\": \"pokemons/roster-mega-charizard-x.png\",\n    \"big\": \"pokemons/roster-mega-charizard-x-2x.png\",\n    \"complete\": \"pokemons/stat-mega-charizard-x.png\",\n        \"move_p1\": { \"name\": \"Tough Claws\", \"image\": \"moves/mega-charizard-x_p1.png\" },\n    \"move_s1\": { \"name\": \"Flame Burst\", \"image\": \"moves/mega-charizard-x_s1.png\" },\n    \"move_s2\": { \"name\": \"Fire Spin\", \"image\": \"moves/mega-charizard-x_s2.png\" },\n    \"move_u1\": { \"name\": \"Seismic Slam\", \"image\": \"moves/mega-charizard-x_u1.png\" },\n\"move_s11\": { \"name\": \"Fire Punch\", \"image\": \"moves/mega-charizard_s11.png\" },\n    \"move_s21\": { \"name\": \"Flare Blitz\", \"image\": \"moves/mega-charizard_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 3.5,\n    \"mobility\": 2.5,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"difficulty\": 1,\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ]\n},\n{\n  \"name\": \"Mega Charizard Y\",\n  \"dex\": 6.2,\n  \"images\": {\n    \"main\": \"pokemons/roster-mega-charizard-y.png\",\n    \"big\": \"pokemons/roster-mega-charizard-y-2x.png\",\n    \"complete\": \"pokemons/stat-mega-charizard-y.png\",\n        \"move_p1\": { \"name\": \"Drought\", \"image\": \"moves/mega-charizard-y_p1.png\" },\n    \"move_s1\": { \"name\": \"Flame Burst\", \"image\": \"moves/mega-charizard-y_s1.png\" },\n    \"move_s2\": { \"name\": \"Fire Spin\", \"image\": \"moves/mega-charizard-y_s2.png\" },\n    \"move_u1\": { \"name\": \"Seismic Slam\", \"image\": \"moves/mega-charizard-y_u1.png\" },\n\"move_s11\": { \"name\": \"Flamethrower\", \"image\": \"moves/mega-charizard_s12.png\" },\n    \"move_s21\": { \"name\": \"Fire Blast\", \"image\": \"moves/mega-charizard_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 3,\n    \"mobility\": 4,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Blastoise\",\n  \"dex\": 9,\n  \"images\": {\n    \"main\": \"pokemons/roster-blastoise.png\",\n    \"big\": \"pokemons/roster-blastoise-2x.png\",\n    \"complete\": \"pokemons/stat-blastoise.png\",\n    \"move_p1\": { \"name\": \"Torrent\", \"image\": \"moves/blastoise_p1.png\" },\n    \"move_s1\": { \"name\": \"Water Gun\", \"image\": \"moves/blastoise_s1.png\" },\n    \"move_s2\": { \"name\": \"Skull Bash\", \"image\": \"moves/blastoise_s2.png\" },\n    \"move_u1\": { \"name\": \"Hydro Typhoon\", \"image\": \"moves/blastoise_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-squirtle-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-wartortle-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-blastoise-2x.png\",\n    \"move_s11\": { \"name\": \"Hydro Pump\", \"image\": \"moves/blastoise_s11.png\" },\n    \"move_s12\": { \"name\": \"Water Spout\", \"image\": \"moves/blastoise_s12.png\" },\n    \"move_s21\": { \"name\": \"Surf\", \"image\": \"moves/blastoise_s21.png\" },\n    \"move_s22\": { \"name\": \"Rapid Spin\", \"image\": \"moves/blastoise_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 3.5,\n    \"mobility\": 2,\n    \"scoring\": 2,\n    \"support\": 3\n  }\n},\n{\n  \"name\": \"Pikachu\",\n  \"dex\": 25,\n  \"images\": {\n    \"main\": \"pokemons/roster-pikachu.png\",\n    \"big\": \"pokemons/roster-pikachu-2x.png\",\n    \"complete\": \"pokemons/stat-pikachu.png\",\n    \"move_p1\": { \"name\": \"Static\", \"image\": \"moves/pikachu_p1.png\" },\n    \"move_s1\": { \"name\": \"Thunder Shock\", \"image\": \"moves/pikachu_s1.png\" },\n    \"move_s2\": { \"name\": \"Electroweb\", \"image\": \"moves/pikachu_s2.png\" },\n    \"move_u1\": { \"name\": \"Thunderstorm\", \"image\": \"moves/pikachu_u1.png\" },\n    \"move_s11\": { \"name\": \"Electro Ball\", \"image\": \"moves/pikachu_s11.png\" },\n    \"move_s12\": { \"name\": \"Thunder\", \"image\": \"moves/pikachu_s12.png\" },\n    \"move_s21\": { \"name\": \"Volt Tackle\", \"image\": \"moves/pikachu_s21.png\" },\n    \"move_s22\": { \"name\": \"Thunderbolt\", \"image\": \"moves/pikachu_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 1.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 1.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Alolan Raichu\",\n  \"dex\": 26,\n  \"images\": {\n    \"main\": \"pokemons/roster-alolan-raichu.png\",\n    \"big\": \"pokemons/roster-alolan-raichu-2x.png\",\n    \"complete\": \"pokemons/stat-alolan-raichu.png\",\n    \"evolution_1\": \"pokemons/evolution-pikachu-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-alolan-raichu-2x.png\",\n        \"move_p1\": { \"name\": \"Surge Surfer\", \"image\": \"moves/alolan-raichu_p1.png\" },\n    \"move_s1\": { \"name\": \"Thunder Shock\", \"image\": \"moves/alolan-raichu_s1.png\" },\n    \"move_s2\": { \"name\": \"Thunder Wave\", \"image\": \"moves/alolan-raichu_s2.png\" },\n    \"move_u1\": { \"name\": \"Thunderstorm Aerial\", \"image\": \"moves/alolan-raichu_u1.png\" },\n\"move_s11\": { \"name\": \"Stored Power\", \"image\": \"moves/alolan-raichu_s11.png\" },\n    \"move_s12\": { \"name\": \"Electro Ball\", \"image\": \"moves/alolan-raichu_s12.png\" },\n    \"move_s21\": { \"name\": \"Thunderbolt\", \"image\": \"moves/alolan-raichu_s21.png\" },\n    \"move_s22\": { \"name\": \"Psychic\", \"image\": \"moves/alolan-raichu_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 3.5,\n    \"scoring\": 3,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Clefable\",\n  \"dex\": 36,\n  \"images\": {\n    \"main\": \"pokemons/roster-clefable.png\",\n    \"big\": \"pokemons/roster-clefable-2x.png\",\n    \"complete\": \"pokemons/stat-clefable.png\",\n    \"evolution_1\": \"pokemons/evolution-clefairy-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-clefable-2x.png\",\n        \"move_p1\": { \"name\": \"Magic Guard\", \"image\": \"moves/clefable_p1.png\" },\n    \"move_s1\": { \"name\": \"Heal Pulse\", \"image\": \"moves/clefable_s1.png\" },\n    \"move_s2\": { \"name\": \"Disarming Voice\", \"image\": \"moves/clefable_s2.png\" },\n    \"move_u1\": { \"name\": \"Wonder Wish\", \"image\": \"moves/clefable_u1.png\" },\n\"move_s11\": { \"name\": \"Moonlight\", \"image\": \"moves/clefable_s11.png\" },\n    \"move_s12\": { \"name\": \"Draining Kiss\", \"image\": \"moves/clefable_s12.png\" },\n    \"move_s21\": { \"name\": \"Gravity\", \"image\": \"moves/clefable_s21.png\" },\n    \"move_s22\": { \"name\": \"Follow Me\", \"image\": \"moves/clefable_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 3,\n    \"mobility\": 1.5,\n    \"scoring\": 1.5,\n    \"support\": 4.5\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Alolan Ninetales\",\n  \"dex\": 38,\n  \"images\": {\n    \"main\": \"pokemons/roster-alolan-ninetales.png\",\n    \"big\": \"pokemons/roster-alolan-ninetales-2x.png\",\n    \"complete\": \"pokemons/stat-alolan-ninetales.png\",\n    \"move_p1\": { \"name\": \"Snow Warning\", \"image\": \"moves/alolan-ninetales_p1.png\" },\n    \"move_s1\": { \"name\": \"Powder Snow\", \"image\": \"moves/alolan-ninetales_s1.png\" },\n    \"move_s2\": { \"name\": \"Icy Wind\", \"image\": \"moves/alolan-ninetales_s2.png\" },\n    \"move_u1\": { \"name\": \"Snow Globe\", \"image\": \"moves/alolan-ninetales_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-alolan-vulpix-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-alolan-ninetales-2x.png\",\n    \"move_s11\": { \"name\": \"Avalanche\", \"image\": \"moves/alolan-ninetales_s11.png\" },\n    \"move_s12\": { \"name\": \"Dazzling Gleam\", \"image\": \"moves/alolan-ninetales_s12.png\" },\n    \"move_s21\": { \"name\": \"Blizzard\", \"image\": \"moves/alolan-ninetales_s21.png\" },\n    \"move_s22\": { \"name\": \"Aurora Veil\", \"image\": \"moves/alolan-ninetales_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 1.5,\n    \"scoring\": 2.5,\n    \"support\": 3\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Wigglytuff\",\n  \"dex\": 40,\n  \"images\": {\n    \"main\": \"pokemons/roster-wigglytuff.png\",\n    \"big\": \"pokemons/roster-wigglytuff-2x.png\",\n    \"complete\": \"pokemons/stat-wigglytuff.png\",\n    \"move_p1\": { \"name\": \"Cute Charm\", \"image\": \"moves/wigglytuff_p1.png\" },\n    \"move_s1\": { \"name\": \"Pound\", \"image\": \"moves/wigglytuff_s1.png\" },\n    \"move_s2\": { \"name\": \"Defense Curl\", \"image\": \"moves/wigglytuff_s2.png\" },\n    \"move_u1\": { \"name\": \"Starlight Recital\", \"image\": \"moves/wigglytuff_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-jigglypuff-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-wigglytuff-2x.png\",\n    \"move_s11\": { \"name\": \"Double Slap\", \"image\": \"moves/wigglytuff_s11.png\" },\n    \"move_s12\": { \"name\": \"Dazzling Gleam\", \"image\": \"moves/wigglytuff_s12.png\" },\n    \"move_s21\": { \"name\": \"Rollout\", \"image\": \"moves/wigglytuff_s21.png\" },\n    \"move_s22\": { \"name\": \"Sing\", \"image\": \"moves/wigglytuff_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 1,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 4.5\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Meowth\",\n  \"dex\": 52,\n  \"images\": {\n    \"main\": \"pokemons/roster-meowth.png\",\n    \"big\": \"pokemons/roster-meowth-2x.png\",\n    \"complete\": \"pokemons/stat-meowth.png\",\n        \"move_p1\": { \"name\": \"Pickup\", \"image\": \"moves/meowth_p1.png\" },\n    \"move_s1\": { \"name\": \"Scratch\", \"image\": \"moves/meowth_s1.png\" },\n    \"move_s2\": { \"name\": \"Feint\", \"image\": \"moves/meowth_s2.png\" },\n    \"move_u1\": { \"name\": \"Gold Coin Barrage\", \"image\": \"moves/meowth_u1.png\" },\n\"move_s11\": { \"name\": \"Pay Day\", \"image\": \"moves/meowth_s11.png\" },\n    \"move_s12\": { \"name\": \"Fury Swipes\", \"image\": \"moves/meowth_s12.png\" },\n    \"move_s21\": { \"name\": \"Feint Attack\", \"image\": \"moves/meowth_s21.png\" },\n    \"move_s22\": { \"name\": \"Assurance\", \"image\": \"moves/meowth_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 2,\n    \"mobility\": 4,\n    \"scoring\": 3,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Psyduck\",\n  \"dex\": 54,\n  \"images\": {\n    \"main\": \"pokemons/roster-psyduck.png\",\n    \"big\": \"pokemons/roster-psyduck-2x.png\",\n    \"complete\": \"pokemons/stat-psyduck.png\",\n    \"evolution_1\": \"pokemons/evolution-psyduck-2x.png\",\n        \"move_p1\": { \"name\": \"Swift Swim\", \"image\": \"moves/psyduck_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/psyduck_s1.png\" },\n    \"move_s2\": { \"name\": \"Tail Whip\", \"image\": \"moves/psyduck_s2.png\" },\n    \"move_u1\": { \"name\": \"Full-Power Psy-ay-ay!\", \"image\": \"moves/psyduck_u1.png\" },\n\"move_s11\": { \"name\": \"Surf\", \"image\": \"moves/psyduck_s11.png\" },\n    \"move_s12\": { \"name\": \"Bubble Beam\", \"image\": \"moves/psyduck_s12.png\" },\n    \"move_s21\": { \"name\": \"Disable\", \"image\": \"moves/psyduck_s21.png\" },\n    \"move_s22\": { \"name\": \"Psychic\", \"image\": \"moves/psyduck_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1,\n    \"mobility\": 2,\n    \"scoring\": 1,\n    \"support\": 3\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Machamp\",\n  \"dex\": 68,\n  \"images\": {\n    \"main\": \"pokemons/roster-machamp.png\",\n    \"big\": \"pokemons/roster-machamp-2x.png\",\n    \"complete\": \"pokemons/stat-machamp.png\",\n    \"move_p1\": { \"name\": \"Guts\", \"image\": \"moves/machamp_p1.png\" },\n    \"move_s1\": { \"name\": \"Karate Chop\", \"image\": \"moves/machamp_s1.png\" },\n    \"move_s2\": { \"name\": \"Bulk Up\", \"image\": \"moves/machamp_s2.png\" },\n    \"move_u1\": { \"name\": \"Barrage Blow\", \"image\": \"moves/machamp_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-machop-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-machoke-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-machamp-2x.png\",\n    \"move_s11\": { \"name\": \"Close Combat\", \"image\": \"moves/machamp_s11.png\" },\n    \"move_s12\": { \"name\": \"Cross Chop\", \"image\": \"moves/machamp_s12.png\" },\n    \"move_s21\": { \"name\": \"Dynamic Punch\", \"image\": \"moves/machamp_s21.png\" },\n    \"move_s22\": { \"name\": \"Submission\", \"image\": \"moves/machamp_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Galarian Rapidash\",\n  \"dex\": 78,\n  \"images\": {\n    \"main\": \"pokemons/roster-galarian-rapidash.png\",\n    \"big\": \"pokemons/roster-galarian-rapidash-2x.png\",\n    \"complete\": \"pokemons/stat-galarian-rapidash.png\",\n    \"evolution_1\": \"pokemons/evolution-galarian-ponyta-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-galarian-rapidash-2x.png\",\n        \"move_p1\": { \"name\": \"Pastel Veil\", \"image\": \"moves/galarian-rapidash_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/galarian-rapidash_s1.png\" },\n    \"move_s2\": { \"name\": \"Tackle\", \"image\": \"moves/galarian-rapidash_s2.png\" },\n    \"move_u1\": { \"name\": \"Triad Blitz\", \"image\": \"moves/galarian-rapidash_u1.png\" },\n\"move_s11\": { \"name\": \"Dazzling Gleam\", \"image\": \"moves/galarian-rapidash_s11.png\" },\n    \"move_s12\": { \"name\": \"Fairy Wind\", \"image\": \"moves/galarian-rapidash_s12.png\" },\n    \"move_s21\": { \"name\": \"Smart Strike\", \"image\": \"moves/galarian-rapidash_s21.png\" },\n    \"move_s22\": { \"name\": \"Agility\", \"image\": \"moves/galarian-rapidash_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 4,\n    \"mobility\": 4,\n    \"scoring\": 2,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Slowbro\",\n  \"dex\": 80,\n  \"images\": {\n    \"main\": \"pokemons/roster-slowbro.png\",\n    \"big\": \"pokemons/roster-slowbro-2x.png\",\n    \"complete\": \"pokemons/stat-slowbro.png\",\n    \"move_p1\": { \"name\": \"Oblivious\", \"image\": \"moves/slowbro_p1.png\" },\n    \"move_s1\": { \"name\": \"Water Gun\", \"image\": \"moves/slowbro_s1.png\" },\n    \"move_s2\": { \"name\": \"Slack Off\", \"image\": \"moves/slowbro_s2.png\" },\n    \"move_u1\": { \"name\": \"Slowbeam\", \"image\": \"moves/slowbro_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-slowpoke-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-slowbro-2x.png\",\n    \"move_s11\": { \"name\": \"Scald\", \"image\": \"moves/slowbro_s11.png\" },\n    \"move_s12\": { \"name\": \"Surf\", \"image\": \"moves/slowbro_s12.png\" },\n    \"move_s21\": { \"name\": \"Amnesia\", \"image\": \"moves/slowbro_s21.png\" },\n    \"move_s22\": { \"name\": \"Telekinesis\", \"image\": \"moves/slowbro_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 1.5,\n    \"endurance\": 4,\n    \"mobility\": 1.5,\n    \"scoring\": 1.5,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Dodrio\",\n  \"dex\": 85,\n  \"images\": {\n    \"main\": \"pokemons/roster-dodrio.png\",\n    \"big\": \"pokemons/roster-dodrio-2x.png\",\n    \"complete\": \"pokemons/stat-dodrio.png\",\n    \"evolution_1\": \"pokemons/evolution-doduo-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-dodrio-2x.png\",\n        \"move_p1\": { \"name\": \"Run Away\", \"image\": \"moves/dodrio_p1.png\" },\n    \"move_s1\": { \"name\": \"Peck\", \"image\": \"moves/dodrio_s1.png\" },\n    \"move_s2\": { \"name\": \"Quick Attack\", \"image\": \"moves/dodrio_s2.png\" },\n    \"move_u1\": { \"name\": \"Triple Trample\", \"image\": \"moves/dodrio_u1.png\" },\n\"move_s11\": { \"name\": \"Tri Attack\", \"image\": \"moves/dodrio_s11.png\" },\n    \"move_s12\": { \"name\": \"Drill Peck\", \"image\": \"moves/dodrio_s12.png\" },\n    \"move_s21\": { \"name\": \"Agility\", \"image\": \"moves/dodrio_s21.png\" },\n    \"move_s22\": { \"name\": \"Jump Kick\", \"image\": \"moves/dodrio_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 2,\n    \"mobility\": 4,\n    \"scoring\": 4,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Gengar\",\n  \"dex\": 94,\n  \"images\": {\n    \"main\": \"pokemons/roster-gengar.png\",\n    \"big\": \"pokemons/roster-gengar-2x.png\",\n    \"complete\": \"pokemons/stat-gengar.png\",\n    \"move_p1\": { \"name\": \"Levitate\", \"image\": \"moves/gengar_p1.png\" },\n    \"move_s1\": { \"name\": \"Will-o-Wisp\", \"image\": \"moves/gengar_s1.png\" },\n    \"move_s2\": { \"name\": \"Lick\", \"image\": \"moves/gengar_s2.png\" },\n    \"move_u1\": { \"name\": \"Phantom Ambush\", \"image\": \"moves/gengar_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-gastly-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-haunter-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-gengar-2x.png\",\n    \"move_s11\": { \"name\": \"Shadow Ball\", \"image\": \"moves/gengar_s11.png\" },\n    \"move_s12\": { \"name\": \"Sludge Bomb\", \"image\": \"moves/gengar_s12.png\" },\n    \"move_s21\": { \"name\": \"Dream Eater\", \"image\": \"moves/gengar_s21.png\" },\n    \"move_s22\": { \"name\": \"Hex\", \"image\": \"moves/gengar_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 2,\n    \"mobility\": 4,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Blissey\",\n  \"dex\": 242,\n  \"images\": {\n    \"main\": \"pokemons/roster-blissey.png\",\n    \"big\": \"pokemons/roster-blissey-2x.png\",\n    \"complete\": \"pokemons/stat-blissey.png\",\n    \"move_p1\": { \"name\": \"Natural Cure\", \"image\": \"moves/blissey_p1.png\" },\n    \"move_s1\": { \"name\": \"Pound\", \"image\": \"moves/blissey_s1.png\" },\n    \"move_s2\": { \"name\": \"Heal Pulse\", \"image\": \"moves/blissey_s2.png\" },\n    \"move_u1\": { \"name\": \"Bliss Assistance\", \"image\": \"moves/blissey_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-chansey-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-blissey-2x.png\",\n    \"move_s11\": { \"name\": \"Egg Bomb\", \"image\": \"moves/blissey_s11.png\" },\n    \"move_s12\": { \"name\": \"Helping Hand\", \"image\": \"moves/blissey_s12.png\" },\n    \"move_s21\": { \"name\": \"Soft-Boiled\", \"image\": \"moves/blissey_s21.png\" },\n    \"move_s22\": { \"name\": \"Safeguard\", \"image\": \"moves/blissey_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 1,\n    \"endurance\": 3.5,\n    \"mobility\": 1.5,\n    \"scoring\": 1.5,\n    \"support\": 4.5\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Mr. Mime\",\n  \"dex\": 122,\n  \"images\": {\n    \"main\": \"pokemons/roster-mr-mime.png\",\n    \"big\": \"pokemons/roster-mr-mime-2x.png\",\n    \"complete\": \"pokemons/stat-mr-mime.png\",\n    \"move_p1\": { \"name\": \"Filter\", \"image\": \"moves/mr-mime_p1.png\" },\n    \"move_s1\": { \"name\": \"Fake Out\", \"image\": \"moves/mr-mime_s1.png\" },\n    \"move_s2\": { \"name\": \"Light Screen\", \"image\": \"moves/mr-mime_s2.png\" },\n    \"move_u1\": { \"name\": \"Showtime\", \"image\": \"moves/mr-mime_u1.png\" },\n    \"move_s11\": { \"name\": \"Confusion\", \"image\": \"moves/mr-mime_s11.png\" },\n    \"move_s12\": { \"name\": \"Psychic\", \"image\": \"moves/mr-mime_s12.png\" },\n    \"move_s21\": { \"name\": \"Barrier\", \"image\": \"moves/mr-mime_s21.png\" },\n    \"move_s22\": { \"name\": \"Power Swap\", \"image\": \"moves/mr-mime_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"tags\": [Tag.SUPPORTER, Tag.RANGED]\n},\n{\n  \"name\": \"Scizor\",\n  \"dex\": 212,\n  \"images\": {\n    \"main\": \"pokemons/roster-scizor.png\",\n    \"big\": \"pokemons/roster-scizor-2x.png\",\n    \"complete\": \"pokemons/stat-scizor.png\",\n    \"evolution_1\": \"pokemons/evolution-scyther-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-scizor-2x.png\",\n        \"move_p1\": { \"name\": \"Technician\", \"image\": \"moves/scizor_p1.png\" },\n    \"move_s1\": { \"name\": \"Fury Cutter\", \"image\": \"moves/scizor_s1.png\" },\n    \"move_s2\": { \"name\": \"Quick Attack\", \"image\": \"moves/scizor_s2.png\" },\n    \"move_u1\": { \"name\": \"Red Illusion Dive\", \"image\": \"moves/scizor_u1.png\" },\n\"move_s11\": { \"name\": \"Fury Cutter\", \"image\": \"moves/scizor_s11.png\" },\n    \"move_s12\": { \"name\": \"Bullet Punch\", \"image\": \"moves/scizor_s12.png\" },\n    \"move_s21\": { \"name\": \"Double Hit\", \"image\": \"moves/scizor_s21.png\" },\n    \"move_s22\": { \"name\": \"Swords Dance\", \"image\": \"moves/scizor_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 2.5,\n    \"mobility\": 4.5,\n    \"scoring\": 2.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Gyarados\",\n  \"dex\": 130,\n  \"images\": {\n    \"main\": \"pokemons/roster-gyarados.png\",\n    \"big\": \"pokemons/roster-gyarados-2x.png\",\n    \"complete\": \"pokemons/stat-gyarados.png\",\n    \"evolution_1\": \"pokemons/evolution-magikarp-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-gyarados-2x.png\",\n        \"move_p1\": { \"name\": \"Moxie\", \"image\": \"moves/gyarados_p1.png\" },\n    \"move_s1\": { \"name\": \"Flail\", \"image\": \"moves/gyarados_s1.png\" },\n    \"move_s2\": { \"name\": \"Splash\", \"image\": \"moves/gyarados_s2.png\" },\n    \"move_u1\": { \"name\": \"Dragon Current\", \"image\": \"moves/gyarados_u1.png\" },\n\"move_s11\": { \"name\": \"Dragon Breath\", \"image\": \"moves/gyarados_s11.png\" },\n    \"move_s12\": { \"name\": \"Aqua Tail\", \"image\": \"moves/gyarados_s12.png\" },\n    \"move_s21\": { \"name\": \"Waterfall\", \"image\": \"moves/gyarados_s21.png\" },\n    \"move_s22\": { \"name\": \"Bounce\", \"image\": \"moves/gyarados_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 2.5,\n    \"mobility\": 4.5,\n    \"scoring\": 2.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Mega Gyarados\",\n  \"dex\": 130.1,\n  \"images\": {\n    \"main\": \"pokemons/roster-mega-gyarados.png\",\n    \"big\": \"pokemons/roster-mega-gyarados-2x.png\",\n    \"complete\": \"pokemons/stat-mega-gyarados.png\",\n        \"move_p1\": { \"name\": \"Intimidate\", \"image\": \"moves/mega-gyarados_p1.png\" },\n    \"move_s1\": { \"name\": \"Flail\", \"image\": \"moves/mega-gyarados_s1.png\" },\n    \"move_s2\": { \"name\": \"Splash\", \"image\": \"moves/mega-gyarados_s2.png\" },\n    \"move_u1\": { \"name\": \"Dragon Current\", \"image\": \"moves/mega-gyarados_u1.png\" },\n\"move_s11\": { \"name\": \"Dragon Breath\", \"image\": \"moves/mega-gyarados_s11.png\" },\n    \"move_s21\": { \"name\": \"Waterfall\", \"image\": \"moves/mega-gyarados_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 3.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 1.5\n  },\n  \"difficulty\": 1,\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ]\n},\n{\n  \"name\": \"Lapras\",\n  \"dex\": 131,\n  \"images\": {\n    \"main\": \"pokemons/roster-lapras.png\",\n    \"big\": \"pokemons/roster-lapras-2x.png\",\n    \"complete\": \"pokemons/stat-lapras.png\",\n    \"evolution_1\": \"pokemons/evolution-lapras-2x.png\",\n        \"move_p1\": { \"name\": \"Shell Armor\", \"image\": \"moves/lapras_p1.png\" },\n    \"move_s1\": { \"name\": \"Whirlpool\", \"image\": \"moves/lapras_s1.png\" },\n    \"move_s2\": { \"name\": \"Ice Shard\", \"image\": \"moves/lapras_s2.png\" },\n    \"move_u1\": { \"name\": \"Lapras Express\", \"image\": \"moves/lapras_u1.png\" },\n\"move_s11\": { \"name\": \"Water Pulse\", \"image\": \"moves/lapras_s11.png\" },\n    \"move_s12\": { \"name\": \"Perish Song\", \"image\": \"moves/lapras_s12.png\" },\n    \"move_s21\": { \"name\": \"Bubble Beam\", \"image\": \"moves/lapras_s21.png\" },\n    \"move_s22\": { \"name\": \"Ice Beam\", \"image\": \"moves/lapras_s22.png\" },\n  },\n  \"active\": true,\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 3.5,\n    \"mobility\": 2,\n    \"scoring\": 2,\n    \"support\": 3\n  }\n},\n{\n  \"name\": \"Vaporeon\",\n  \"dex\": 134,\n  \"images\": {\n    \"main\": \"pokemons/roster-vaporeon.png\",\n    \"big\": \"pokemons/roster-vaporeon-2x.png\",\n    \"complete\": \"pokemons/stat-vaporeon.png\",\n    \"evolution_1\": \"pokemons/evolution-eevee-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-vaporeon-2x.png\",\n        \"move_p1\": { \"name\": \"Water Absorb\", \"image\": \"moves/vaporeon_p1.png\" },\n    \"move_s1\": { \"name\": \"Swift\", \"image\": \"moves/vaporeon_s1.png\" },\n    \"move_s2\": { \"name\": \"Tackle\", \"image\": \"moves/vaporeon_s2.png\" },\n    \"move_u1\": { \"name\": \"Aquamarine Splash\", \"image\": \"moves/vaporeon_u1.png\" },\n\"move_s11\": { \"name\": \"Hydro Pump\", \"image\": \"moves/vaporeon_s11.png\" },\n    \"move_s12\": { \"name\": \"Muddy Water\", \"image\": \"moves/vaporeon_s12.png\" },\n    \"move_s21\": { \"name\": \"Aqua Ring\", \"image\": \"moves/vaporeon_s21.png\" },\n    \"move_s22\": { \"name\": \"Flip Turn\", \"image\": \"moves/vaporeon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 4,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Snorlax\",\n  \"dex\": 143,\n  \"images\": {\n    \"main\": \"pokemons/roster-snorlax.png\",\n    \"big\": \"pokemons/roster-snorlax-2x.png\",\n    \"complete\": \"pokemons/stat-snorlax.png\",\n    \"move_p1\": { \"name\": \"Gluttony\", \"image\": \"moves/snorlax_p1.png\" },\n    \"move_s1\": { \"name\": \"Tackle\", \"image\": \"moves/snorlax_s1.png\" },\n    \"move_s2\": { \"name\": \"Rest\", \"image\": \"moves/snorlax_s2.png\" },\n    \"move_u1\": { \"name\": \"Power Nap\", \"image\": \"moves/snorlax_u1.png\" },\n    \"move_s11\": { \"name\": \"Heavy Slam\", \"image\": \"moves/snorlax_s11.png\" },\n    \"move_s12\": { \"name\": \"Flail\", \"image\": \"moves/snorlax_s12.png\" },\n    \"move_s21\": { \"name\": \"Block\", \"image\": \"moves/snorlax_s21.png\" },\n    \"move_s22\": { \"name\": \"Yawn\", \"image\": \"moves/snorlax_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 1.5,\n    \"endurance\": 5,\n    \"mobility\": 2,\n    \"scoring\": 1.5,\n    \"support\": 2.5\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Articuno\",\n  \"dex\": 144,\n  \"images\": {\n    \"main\": \"pokemons/roster-articuno.png\",\n    \"big\": \"pokemons/roster-articuno-2x.png\",\n    \"complete\": \"pokemons/stat-articuno.png\",\n        \"move_p1\": { \"name\": \"Snow Cloak\", \"image\": \"moves/articuno_p1.png\" },\n    \"move_s1\": { \"name\": \"Icy Wind\", \"image\": \"moves/articuno_s1.png\" },\n    \"move_s2\": { \"name\": \"Ice Shard\", \"image\": \"moves/articuno_s2.png\" },\n    \"move_u1\": { \"name\": \"Ice Wing Whiteout\", \"image\": \"moves/articuno_u1.png\" },\n\"move_s11\": { \"name\": \"Blizzard\", \"image\": \"moves/articuno_s11.png\" },\n    \"move_s21\": { \"name\": \"Ice Beam\", \"image\": \"moves/articuno_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 4,\n    \"mobility\": 1,\n    \"scoring\": 2,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Zapdos\",\n  \"dex\": 145,\n  \"images\": {\n    \"main\": \"pokemons/roster-zapdos.png\",\n    \"big\": \"pokemons/roster-zapdos-2x.png\",\n    \"complete\": \"pokemons/stat-zapdos.png\",\n        \"move_p1\": { \"name\": \"Static\", \"image\": \"moves/zapdos_p1.png\" },\n    \"move_s1\": { \"name\": \"Thunder Shock\", \"image\": \"moves/zapdos_s1.png\" },\n    \"move_s2\": { \"name\": \"Discharge\", \"image\": \"moves/zapdos_s2.png\" },\n    \"move_u1\": { \"name\": \"High-Voltage Siege\", \"image\": \"moves/zapdos_u1.png\" },\n\"move_s11\": { \"name\": \"Thunderbolt\", \"image\": \"moves/zapdos_s11.png\" },\n    \"move_s21\": { \"name\": \"Zap Cannon\", \"image\": \"moves/zapdos_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 5,\n    \"endurance\": 2,\n    \"mobility\": 1,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Moltres\",\n  \"dex\": 146,\n  \"images\": {\n    \"main\": \"pokemons/roster-moltres.png\",\n    \"big\": \"pokemons/roster-moltres-2x.png\",\n    \"complete\": \"pokemons/stat-moltres.png\",\n        \"move_p1\": { \"name\": \"Flame Body\", \"image\": \"moves/moltres_p1.png\" },\n    \"move_s1\": { \"name\": \"Wing Attack\", \"image\": \"moves/moltres_s1.png\" },\n    \"move_s2\": { \"name\": \"Incinerate\", \"image\": \"moves/moltres_s2.png\" },\n    \"move_u1\": { \"name\": \"Firebird Inferno\", \"image\": \"moves/moltres_u1.png\" },\n\"move_s11\": { \"name\": \"Sky Attack\", \"image\": \"moves/moltres_s11.png\" },\n    \"move_s21\": { \"name\": \"Heat Wave\", \"image\": \"moves/moltres_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2.5,\n    \"mobility\": 2,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Dragonite\",\n  \"dex\": 149,\n  \"images\": {\n    \"main\": \"pokemons/roster-dragonite.png\",\n    \"big\": \"pokemons/roster-dragonite-2x.png\",\n    \"complete\": \"pokemons/stat-dragonite.png\",\n    \"evolution_1\": \"pokemons/evolution-dratini-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-dragonair-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-dragonite-2x.png\",\n        \"move_p1\": { \"name\": \"Multiscale\", \"image\": \"moves/dragonite_p1.png\" },\n    \"move_s1\": { \"name\": \"Twister\", \"image\": \"moves/dragonite_s1.png\" },\n    \"move_s2\": { \"name\": \"Dragon Breath\", \"image\": \"moves/dragonite_s2.png\" },\n    \"move_u1\": { \"name\": \"Draco Impact\", \"image\": \"moves/dragonite_u1.png\" },\n\"move_s11\": { \"name\": \"Dragon Dance\", \"image\": \"moves/dragonite_s11.png\" },\n    \"move_s12\": { \"name\": \"Extreme Speed\", \"image\": \"moves/dragonite_s12.png\" },\n    \"move_s21\": { \"name\": \"Hyper Beam\", \"image\": \"moves/dragonite_s21.png\" },\n    \"move_s22\": { \"name\": \"Outrage\", \"image\": \"moves/dragonite_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Mega Mewtwo X\",\n  \"dex\": 150,\n  \"images\": {\n    \"main\": \"pokemons/roster-mewtwox.png\",\n    \"big\": \"pokemons/roster-mewtwox-2x.png\",\n    \"complete\": \"pokemons/stat-mewtwox.png\",\n        \"move_p1\": { \"name\": \"Pressure\", \"image\": \"moves/mewtwox_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/mewtwox_s1.png\" },\n    \"move_s2\": { \"name\": \"Barrier\", \"image\": \"moves/mewtwox_s2.png\" },\n    \"move_u1\": { \"name\": \"Infinite Psyburn\", \"image\": \"moves/mewtwox_u1.png\" },\n\"move_s11\": { \"name\": \"Future Sight\", \"image\": \"moves/mewtwox_s11.png\" },\n    \"move_s12\": { \"name\": \"Psystrike\", \"image\": \"moves/mewtwox_s12.png\" },\n    \"move_s21\": { \"name\": \"Recover\", \"image\": \"moves/mewtwox_s21.png\" },\n    \"move_s22\": { \"name\": \"Teleport\", \"image\": \"moves/mewtwox_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 4,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Mega Mewtwo Y\",\n  \"dex\": 150,\n  \"images\": {\n    \"main\": \"pokemons/roster-mewtwoy.png\",\n    \"big\": \"pokemons/roster-mewtwoy-2x.png\",\n    \"complete\": \"pokemons/stat-mewtwoy.png\",\n        \"move_p1\": { \"name\": \"Pressure\", \"image\": \"moves/mewtwoy_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/mewtwoy_s1.png\" },\n    \"move_s2\": { \"name\": \"Barrier\", \"image\": \"moves/mewtwoy_s2.png\" },\n    \"move_u1\": { \"name\": \"Infinite Psyburn\", \"image\": \"moves/mewtwoy_u1.png\" },\n\"move_s11\": { \"name\": \"Future Sight\", \"image\": \"moves/mewtwoy_s11.png\" },\n    \"move_s12\": { \"name\": \"Psystrike\", \"image\": \"moves/mewtwoy_s12.png\" },\n    \"move_s21\": { \"name\": \"Recover\", \"image\": \"moves/mewtwoy_s21.png\" },\n    \"move_s22\": { \"name\": \"Teleport\", \"image\": \"moves/mewtwoy_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 5,\n    \"endurance\": 3,\n    \"mobility\": 3.5,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Mew\",\n  \"dex\": 151,\n  \"images\": {\n    \"main\": \"pokemons/roster-mew.png\",\n    \"big\": \"pokemons/roster-mew-2x.png\",\n    \"complete\": \"pokemons/stat-mew.png\",\n    \"evolution_1\": \"pokemons/evolution-mew-2x.png\",\n        \"move_p1\": { \"name\": \"Move Reset\", \"image\": \"moves/mew_p1.png\" },\n    \"move_s1\": { \"name\": \"Electro Ball\", \"image\": \"moves/mew_s1.png\" },\n    \"move_s2\": { \"name\": \"Coaching\", \"image\": \"moves/mew_s2.png\" },\n    \"move_u1\": { \"name\": \"Mystical Mirage\", \"image\": \"moves/mew_u1.png\" },\n\"move_s11\": { \"name\": \"Solar Beam\", \"image\": \"moves/mew_s11.png\" },\n    \"move_s12\": { \"name\": \"Surf\", \"image\": \"moves/mew_s12.png\" },\n    \"move_s21\": { \"name\": \"Light Screen\", \"image\": \"moves/mew_s21.png\" },\n    \"move_s22\": { \"name\": \"Agility\", \"image\": \"moves/mew_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 3,\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Meganium\",\n  \"dex\": 154,\n  \"images\": {\n    \"main\": \"pokemons/roster-meganium.png\",\n    \"big\": \"pokemons/roster-meganium-2x.png\",\n    \"complete\": \"pokemons/stat-meganium.png\",\n    \"move_p1\": { \"name\": \"Overgrow\", \"image\": \"moves/meganium_p1.png\" },\n    \"move_s1\": { \"name\": \"Magical Leaf\", \"image\": \"moves/meganium_s1.png\" },\n    \"move_s2\": { \"name\": \"Synthesis\", \"image\": \"moves/meganium_s2.png\" },\n    \"move_u1\": { \"name\": \"Full Bloom Aroma\", \"image\": \"moves/meganium_u1.png\" },\n    \"move_s11\": { \"name\": \"Grass Knot\", \"image\": \"moves/meganium_s11.png\" },\n    \"move_s21\": { \"name\": \"Petal Blizzard\", \"image\": \"moves/meganium_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 3,\n    \"mobility\": 2,\n    \"scoring\": 2,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Typhlosion\",\n  \"dex\": 157,\n  \"images\": {\n    \"main\": \"pokemons/roster-typhlosion.png\",\n    \"big\": \"pokemons/roster-typhlosion-2x.png\",\n    \"complete\": \"pokemons/stat-typhlosion.png\",\n    \"move_p1\": { \"name\": \"Blaze\", \"image\": \"moves/typhlosion_p1.png\" },\n    \"move_s11\": { \"name\": \"Eruption\", \"image\": \"moves/typhlosion_s11.png\" },\n    \"move_s21\": { \"name\": \"Flame Wheel\", \"image\": \"moves/typhlosion_s21.png\" },\n    \"move_u1\": { \"name\": \"Explosive Heat Haze\", \"image\": \"moves/typhlosion_u1.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Azumarill\",\n  \"dex\": 184,\n  \"images\": {\n    \"main\": \"pokemons/roster-azumarill.png\",\n    \"big\": \"pokemons/roster-azumarill-2x.png\",\n    \"complete\": \"pokemons/stat-azumarill.png\",\n    \"evolution_1\": \"pokemons/evolution-marill-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-azumarill-2x.png\",\n        \"move_p1\": { \"name\": \"Huge Power\", \"image\": \"moves/azumarill_p1.png\" },\n    \"move_s1\": { \"name\": \"Tackle\", \"image\": \"moves/azumarill_s1.png\" },\n    \"move_s2\": { \"name\": \"Bubble\", \"image\": \"moves/azumarill_s2.png\" },\n    \"move_u1\": { \"name\": \"Belly Bash\", \"image\": \"moves/azumarill_u1.png\" },\n\"move_s11\": { \"name\": \"Play Rough\", \"image\": \"moves/azumarill_s11.png\" },\n    \"move_s12\": { \"name\": \"Water Pulse\", \"image\": \"moves/azumarill_s12.png\" },\n    \"move_s21\": { \"name\": \"Whirlpool\", \"image\": \"moves/azumarill_s21.png\" },\n    \"move_s22\": { \"name\": \"Aqua Tail\", \"image\": \"moves/azumarill_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Espeon\",\n  \"dex\": 196,\n  \"images\": {\n    \"main\": \"pokemons/roster-espeon.png\",\n    \"big\": \"pokemons/roster-espeon-2x.png\",\n    \"complete\": \"pokemons/stat-espeon.png\",\n    \"evolution_1\": \"pokemons/evolution-eevee-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-espeon-2x.png\",\n        \"move_p1\": { \"name\": \"Magic Bounce\", \"image\": \"moves/espeon_p1.png\" },\n    \"move_s1\": { \"name\": \"Swift\", \"image\": \"moves/espeon_s1.png\" },\n    \"move_s2\": { \"name\": \"Growl\", \"image\": \"moves/espeon_s2.png\" },\n    \"move_u1\": { \"name\": \"Psychic Solare\", \"image\": \"moves/espeon_u1.png\" },\n\"move_s11\": { \"name\": \"Psyshock\", \"image\": \"moves/espeon_s11.png\" },\n    \"move_s12\": { \"name\": \"Stored Power\", \"image\": \"moves/espeon_s12.png\" },\n    \"move_s21\": { \"name\": \"Psybeam\", \"image\": \"moves/espeon_s21.png\" },\n    \"move_s22\": { \"name\": \"Future Sight\", \"image\": \"moves/espeon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 1.5,\n    \"scoring\": 2,\n    \"support\": 3\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Umbreon\",\n  \"dex\": 197,\n  \"images\": {\n    \"main\": \"pokemons/roster-umbreon.png\",\n    \"big\": \"pokemons/roster-umbreon-2x.png\",\n    \"complete\": \"pokemons/stat-umbreon.png\",\n    \"evolution_1\": \"pokemons/evolution-eevee-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-umbreon-2x.png\",\n        \"move_p1\": { \"name\": \"Inner Focus\", \"image\": \"moves/umbreon_p1.png\" },\n    \"move_s1\": { \"name\": \"Swift\", \"image\": \"moves/umbreon_s1.png\" },\n    \"move_s2\": { \"name\": \"Fake Tears\", \"image\": \"moves/umbreon_s2.png\" },\n    \"move_u1\": { \"name\": \"Moonlight Prance\", \"image\": \"moves/umbreon_u1.png\" },\n\"move_s11\": { \"name\": \"Mean Look\", \"image\": \"moves/umbreon_s11.png\" },\n    \"move_s12\": { \"name\": \"Foul Play\", \"image\": \"moves/umbreon_s12.png\" },\n    \"move_s21\": { \"name\": \"Wish\", \"image\": \"moves/umbreon_s21.png\" },\n    \"move_s22\": { \"name\": \"Snarl\", \"image\": \"moves/umbreon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"tags\": [Tag.DEFENDER, Tag.MELEE]\n},\n{\n  \"name\": \"Mamoswine\",\n  \"dex\": 473,\n  \"images\": {\n    \"main\": \"pokemons/roster-mamoswine.png\",\n    \"big\": \"pokemons/roster-mamoswine-2x.png\",\n    \"complete\": \"pokemons/stat-mamoswine.png\",\n    \"evolution_1\": \"pokemons/evolution-swinub-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-piloswine-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-mamoswine-2x.png\",\n    \"move_p1\": { \"name\": \"Thick Fat\", \"image\": \"moves/mamoswine_p1.png\" },\n    \"move_s1\": { \"name\": \"Ice Shard\", \"image\": \"moves/mamoswine_s1.png\" },\n    \"move_s2\": { \"name\": \"Tackle\", \"image\": \"moves/mamoswine_s2.png\" },\n    \"move_u1\": { \"name\": \"Mammoth Mash\", \"image\": \"moves/mamoswine_u1.png\" },\n    \"move_s11\": { \"name\": \"Icicle Crash\", \"image\": \"moves/mamoswine_s11.png\" },\n    \"move_s12\": { \"name\": \"Ice Fang\", \"image\": \"moves/mamoswine_s12.png\" },\n    \"move_s21\": { \"name\": \"High Horsepower\", \"image\": \"moves/mamoswine_s21.png\" },\n    \"move_s22\": { \"name\": \"Earthquake\", \"image\": \"moves/mamoswine_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 2.5,\n    \"endurance\": 4,\n    \"mobility\": 2,\n    \"scoring\": 1.5,\n    \"support\": 2.5\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Suicune\",\n  \"dex\": 245,\n  \"images\": {\n    \"main\": \"pokemons/roster-suicune.png\",\n    \"big\": \"pokemons/roster-suicune-2x.png\",\n    \"complete\": \"pokemons/stat-suicune.png\",\n    \"evolution_1\": \"pokemons/evolution-suicune-2x.png\",\n        \"move_p1\": { \"name\": \"Pressure\", \"image\": \"moves/suicune_p1.png\" },\n    \"move_s1\": { \"name\": \"Water Pulse\", \"image\": \"moves/suicune_s1.png\" },\n    \"move_s2\": { \"name\": \"Avalanche\", \"image\": \"moves/suicune_s2.png\" },\n    \"move_u1\": { \"name\": \"Endless Ice Spikes\", \"image\": \"moves/suicune_u1.png\" },\n\"move_s11\": { \"name\": \"Whirlpool\", \"image\": \"moves/suicune_s11.png\" },\n    \"move_s12\": { \"name\": \"Surf\", \"image\": \"moves/suicune_s12.png\" },\n    \"move_s21\": { \"name\": \"Ice Beam\", \"image\": \"moves/suicune_s21.png\" },\n    \"move_s22\": { \"name\": \"Icy Wind\", \"image\": \"moves/suicune_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 5,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Tyranitar\",\n  \"dex\": 248,\n  \"images\": {\n    \"main\": \"pokemons/roster-tyranitar.png\",\n    \"big\": \"pokemons/roster-tyranitar-2x.png\",\n    \"complete\": \"pokemons/stat-tyranitar.png\",\n    \"evolution_1\": \"pokemons/evolution-larvitar-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-pupitar-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-tyranitar-2x.png\",\n        \"move_p1\": { \"name\": \"Shed Skin\", \"image\": \"moves/tyranitar_p1.png\" },\n    \"move_s1\": { \"name\": \"Bite\", \"image\": \"moves/tyranitar_s1.png\" },\n    \"move_s2\": { \"name\": \"Rock Polish\", \"image\": \"moves/tyranitar_s2.png\" },\n    \"move_u1\": { \"name\": \"Tyrannical Rampage\", \"image\": \"moves/tyranitar_u1.png\" },\n\"move_s11\": { \"name\": \"Dark Pulse\", \"image\": \"moves/tyranitar_s11.png\" },\n    \"move_s12\": { \"name\": \"Stone Edge\", \"image\": \"moves/tyranitar_s12.png\" },\n    \"move_s21\": { \"name\": \"Ancient Power\", \"image\": \"moves/tyranitar_s21.png\" },\n    \"move_s22\": { \"name\": \"Sand Tomb\", \"image\": \"moves/tyranitar_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 4,\n    \"mobility\": 2,\n    \"scoring\": 1.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Ho-Oh\",\n  \"dex\": 250,\n  \"images\": {\n    \"main\": \"pokemons/roster-ho-oh.png\",\n    \"big\": \"pokemons/roster-ho-oh-2x.png\",\n    \"complete\": \"pokemons/stat-ho-oh.png\",\n    \"evolution_1\": \"pokemons/evolution-ho-oh-2x.png\",\n        \"move_p1\": { \"name\": \"Regenerator\", \"image\": \"moves/ho-oh_p1.png\" },\n    \"move_s1\": { \"name\": \"Safeguard\", \"image\": \"moves/ho-oh_s1.png\" },\n    \"move_s2\": { \"name\": \"Tailwind\", \"image\": \"moves/ho-oh_s2.png\" },\n    \"move_u1\": { \"name\": \"Rekindling Flame\", \"image\": \"moves/ho-oh_u1.png\" },\n\"move_s11\": { \"name\": \"Sacred Fire\", \"image\": \"moves/ho-oh_s11.png\" },\n    \"move_s12\": { \"name\": \"Fire Spin\", \"image\": \"moves/ho-oh_s12.png\" },\n    \"move_s21\": { \"name\": \"Flamethrower\", \"image\": \"moves/ho-oh_s21.png\" },\n    \"move_s22\": { \"name\": \"Sky Attack\", \"image\": \"moves/ho-oh_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 4,\n    \"mobility\": 2,\n    \"scoring\": 1,\n    \"support\": 3\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Blaziken\",\n  \"dex\": 257,\n  \"images\": {\n    \"main\": \"pokemons/roster-blaziken.png\",\n    \"big\": \"pokemons/roster-blaziken-2x.png\",\n    \"complete\": \"pokemons/stat-blaziken.png\",\n    \"evolution_1\": \"pokemons/evolution-torchic-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-combusken-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-blaziken-2x.png\",\n        \"move_p1\": { \"name\": \"Blaze\", \"image\": \"moves/blaziken_p1.png\" },\n    \"move_s1\": { \"name\": \"Aerial Ace\", \"image\": \"moves/blaziken_s1.png\" },\n    \"move_s2\": { \"name\": \"Ember\", \"image\": \"moves/blaziken_s2.png\" },\n    \"move_u1\": { \"name\": \"Spinning Flame Fist\", \"image\": \"moves/blaziken_u1.png\" },\n\"move_s11\": { \"name\": \"Fire Punch\", \"image\": \"moves/blaziken_s11.png\" },\n    \"move_s12\": { \"name\": \"Overheat\", \"image\": \"moves/blaziken_s12.png\" },\n    \"move_s21\": { \"name\": \"Focus Blast\", \"image\": \"moves/blaziken_s21.png\" },\n    \"move_s22\": { \"name\": \"Blaze Kick\", \"image\": \"moves/blaziken_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2.5,\n    \"mobility\": 4,\n    \"scoring\": 1,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.MELEE,\n    Tag.ALLROUNDER\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Gardevoir\",\n  \"dex\": 282,\n  \"images\": {\n    \"main\": \"pokemons/roster-gardevoir.png\",\n    \"big\": \"pokemons/roster-gardevoir-2x.png\",\n    \"complete\": \"pokemons/stat-gardevoir.png\",\n    \"move_p1\": { \"name\": \"Synchronize\", \"image\": \"moves/gardevoir_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/gardevoir_s1.png\" },\n    \"move_s2\": { \"name\": \"Teleport\", \"image\": \"moves/gardevoir_s2.png\" },\n    \"move_u1\": { \"name\": \"Fairy Singularity\", \"image\": \"moves/gardevoir_u1.png\" },\n    \"move_s11\": { \"name\": \"Psychic\", \"image\": \"moves/gardevoir_s11.png\" },\n    \"move_s12\": { \"name\": \"Moonblast\", \"image\": \"moves/gardevoir_s12.png\" },\n    \"move_s21\": { \"name\": \"Psyshock\", \"image\": \"moves/gardevoir_s21.png\" },\n    \"move_s22\": { \"name\": \"Future Sight\", \"image\": \"moves/gardevoir_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 1.5,\n    \"mobility\": 1.5,\n    \"scoring\": 3,\n    \"support\": 1.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Sableye\",\n  \"dex\": 302,\n  \"images\": {\n    \"main\": \"pokemons/roster-sableye.png\",\n    \"big\": \"pokemons/roster-sableye-2x.png\",\n    \"complete\": \"pokemons/stat-sableye.png\",\n    \"evolution_1\": \"pokemons/evolution-sableye-2x.png\",\n        \"move_p1\": { \"name\": \"Prankster\", \"image\": \"moves/sableye_p1.png\" },\n    \"move_s1\": { \"name\": \"Thief\", \"image\": \"moves/sableye_s1.png\" },\n    \"move_s2\": { \"name\": \"Astonish\", \"image\": \"moves/sableye_s2.png\" },\n    \"move_u1\": { \"name\": \"Chaos Glower\", \"image\": \"moves/sableye_u1.png\" },\n\"move_s11\": { \"name\": \"Knock Off\", \"image\": \"moves/sableye_s11.png\" },\n    \"move_s12\": { \"name\": \"Shadow Sneak\", \"image\": \"moves/sableye_s12.png\" },\n    \"move_s21\": { \"name\": \"Feint Attack\", \"image\": \"moves/sableye_s21.png\" },\n    \"move_s22\": { \"name\": \"Confuse Ray\", \"image\": \"moves/sableye_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 1,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 3.5,\n    \"support\": 3.5\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Absol\",\n  \"dex\": 359,\n  \"images\": {\n    \"main\": \"pokemons/roster-absol.png\",\n    \"big\": \"pokemons/roster-absol-2x.png\",\n    \"complete\": \"pokemons/stat-absol.png\",\n    \"move_p1\": { \"name\": \"Super Luck\", \"image\": \"moves/absol_p1.png\" },\n    \"move_s1\": { \"name\": \"Feint\", \"image\": \"moves/absol_s1.png\" },\n    \"move_s11\": { \"name\": \"Night Slash\", \"image\": \"moves/absol_s11.png\" },\n    \"move_s12\": { \"name\": \"Pursuit\", \"image\": \"moves/absol_s12.png\" },\n    \"move_s2\": { \"name\": \"Slash\", \"image\": \"moves/absol_s2.png\" },\n    \"move_s21\": { \"name\": \"Psycho Cut\", \"image\": \"moves/absol_s21.png\" },\n    \"move_s22\": { \"name\": \"Sucker Punch\", \"image\": \"moves/absol_s22.png\" },\n    \"move_u1\": { \"name\": \"Midnight Slash\", \"image\": \"moves/absol_u1.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 2,\n    \"mobility\": 4,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Metagross\",\n  \"dex\": 376,\n  \"images\": {\n    \"main\": \"pokemons/roster-metagross.png\",\n    \"big\": \"pokemons/roster-metagross-2x.png\",\n    \"complete\": \"pokemons/stat-metagross.png\",\n    \"evolution_1\": \"pokemons/evolution-beldum-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-metang-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-metagross-2x.png\",\n        \"move_p1\": { \"name\": \"Clear Body\", \"image\": \"moves/metagross_p1.png\" },\n    \"move_s1\": { \"name\": \"Iron Defense\", \"image\": \"moves/metagross_s1.png\" },\n    \"move_s2\": { \"name\": \"Tackle\", \"image\": \"moves/metagross_s2.png\" },\n    \"move_u1\": { \"name\": \"Compute and Crush\", \"image\": \"moves/metagross_u1.png\" },\n\"move_s11\": { \"name\": \"Meteor Mash\", \"image\": \"moves/metagross_s11.png\" },\n    \"move_s12\": { \"name\": \"Gyro Ball\", \"image\": \"moves/metagross_s12.png\" },\n    \"move_s21\": { \"name\": \"Zen Headbutt\", \"image\": \"moves/metagross_s21.png\" },\n    \"move_s22\": { \"name\": \"Magnet Rise\", \"image\": \"moves/metagross_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"difficulty\": 2,\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ]\n},\n{\n  \"name\": \"Latias\",\n  \"dex\": 380,\n  \"images\": {\n    \"main\": \"pokemons/roster-latias.png\",\n    \"big\": \"pokemons/roster-latias-2x.png\",\n    \"complete\": \"pokemons/stat-latias.png\",\n    \"evolution_1\": \"pokemons/evolution-latias-2x.png\",\n        \"move_p1\": { \"name\": \"Levitate\", \"image\": \"moves/latias_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/latias_s1.png\" },\n    \"move_s2\": { \"name\": \"Swift\", \"image\": \"moves/latias_s2.png\" },\n    \"move_u1\": { \"name\": \"Mist Blast\", \"image\": \"moves/latias_u1.png\" },\n\"move_s11\": { \"name\": \"Mist Ball\", \"image\": \"moves/latias_s11.png\" },\n    \"move_s12\": { \"name\": \"Dragon Cheer\", \"image\": \"moves/latias_s12.png\" },\n    \"move_s21\": { \"name\": \"Dragon Pulse\", \"image\": \"moves/latias_s21.png\" },\n    \"move_s22\": { \"name\": \"Dragon Breath\", \"image\": \"moves/latias_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 4,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Latios\",\n  \"dex\": 381,\n  \"images\": {\n    \"main\": \"pokemons/roster-latios.png\",\n    \"big\": \"pokemons/roster-latios-2x.png\",\n    \"complete\": \"pokemons/stat-latios.png\",\n    \"evolution_1\": \"pokemons/evolution-latios-2x.png\",\n        \"move_p1\": { \"name\": \"Levitate\", \"image\": \"moves/latios_p1.png\" },\n    \"move_s1\": { \"name\": \"Confusion\", \"image\": \"moves/latios_s1.png\" },\n    \"move_s2\": { \"name\": \"Swift\", \"image\": \"moves/latios_s2.png\" },\n    \"move_u1\": { \"name\": \"Eon Blast\", \"image\": \"moves/latios_u1.png\" },\n\"move_s11\": { \"name\": \"Luster Purge\", \"image\": \"moves/latios_s11.png\" },\n    \"move_s12\": { \"name\": \"Telekinesis\", \"image\": \"moves/latios_s12.png\" },\n    \"move_s21\": { \"name\": \"Dragon Pulse\", \"image\": \"moves/latios_s21.png\" },\n    \"move_s22\": { \"name\": \"Draco Meteor\", \"image\": \"moves/latios_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 4,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Empoleon\",\n  \"dex\": 395,\n  \"images\": {\n    \"main\": \"pokemons/roster-empoleon.png\",\n    \"big\": \"pokemons/roster-empoleon-2x.png\",\n    \"complete\": \"pokemons/stat-empoleon.png\",\n    \"evolution_1\": \"pokemons/evolution-piplup-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-prinplup-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-empoleon-2x.png\",\n        \"move_p1\": { \"name\": \"Torrent\", \"image\": \"moves/empoleon_p1.png\" },\n    \"move_s1\": { \"name\": \"Water Gun\", \"image\": \"moves/empoleon_s1.png\" },\n    \"move_s2\": { \"name\": \"Peck\", \"image\": \"moves/empoleon_s2.png\" },\n    \"move_u1\": { \"name\": \"Sovereign Slide\", \"image\": \"moves/empoleon_u1.png\" },\n\"move_s11\": { \"name\": \"Hydro Cannon\", \"image\": \"moves/empoleon_s11.png\" },\n    \"move_s12\": { \"name\": \"Whirlpool\", \"image\": \"moves/empoleon_s12.png\" },\n    \"move_s21\": { \"name\": \"Metal Claw\", \"image\": \"moves/empoleon_s21.png\" },\n    \"move_s22\": { \"name\": \"Aqua Jet\", \"image\": \"moves/empoleon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 3.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 1.5\n  },\n  \"difficulty\": 2,\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ]\n},\n{\n  \"name\": \"Garchomp\",\n  \"dex\": 445,\n  \"images\": {\n    \"main\": \"pokemons/roster-garchomp.png\",\n    \"big\": \"pokemons/roster-garchomp-2x.png\",\n    \"complete\": \"pokemons/stat-garchomp.png\",\n    \"move_p1\": { \"name\": \"Rough Skin\", \"image\": \"moves/garchomp_p1.png\" },\n    \"move_s1\": { \"name\": \"Sand Attack\", \"image\": \"moves/garchomp_s1.png\" },\n    \"move_s2\": { \"name\": \"Bulldoze\", \"image\": \"moves/garchomp_s2.png\" },\n    \"move_u1\": { \"name\": \"Livid Outrage\", \"image\": \"moves/garchomp_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-gible-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-gabite-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-garchomp-2x.png\",\n    \"move_s11\": { \"name\": \"Dig\", \"image\": \"moves/garchomp_s11.png\" },\n    \"move_s12\": { \"name\": \"Dragon Rush\", \"image\": \"moves/garchomp_s12.png\" },\n    \"move_s21\": { \"name\": \"Earthquake\", \"image\": \"moves/garchomp_s21.png\" },\n    \"move_s22\": { \"name\": \"Dragon Claw\", \"image\": \"moves/garchomp_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 3.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Lucario\",\n  \"dex\": 448,\n  \"images\": {\n    \"main\": \"pokemons/roster-lucario.png\",\n    \"big\": \"pokemons/roster-lucario-2x.png\",\n    \"complete\": \"pokemons/stat-lucario.png\",\n    \"move_p1\": { \"name\": \"Steadfast\", \"image\": \"moves/lucario_p1.png\" },\n    \"move_s1\": { \"name\": \"Quick Attack\", \"image\": \"moves/lucario_s1.png\" },\n    \"move_s2\": { \"name\": \"Meteor Mash\", \"image\": \"moves/lucario_s2.png\" },\n    \"move_u1\": { \"name\": \"Aura Cannon\", \"image\": \"moves/lucario_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-base-lucario-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-mega-lucario-2x.png\",\n    \"move_s11\": { \"name\": \"Extreme Speed\", \"image\": \"moves/lucario_s11.png\" },\n    \"move_s12\": { \"name\": \"Power-Up Punch\", \"image\": \"moves/lucario_s12.png\" },\n    \"move_s21\": { \"name\": \"Bone Rush\", \"image\": \"moves/lucario_s21.png\" },\n    \"move_s22\": { \"name\": \"Close Combat\", \"image\": \"moves/lucario_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 2.5,\n    \"mobility\": 3.5,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Mega Lucario\",\n  \"dex\": 448.1,\n  \"images\": {\n    \"main\": \"pokemons/roster-mega-lucario.png\",\n    \"big\": \"pokemons/roster-mega-lucario-2x.png\",\n    \"complete\": \"pokemons/stat-mega-lucario.png\",\n        \"move_p1\": { \"name\": \"Adaptability\", \"image\": \"moves/mega-lucario_p1.png\" },\n    \"move_s1\": { \"name\": \"Quick Attack\", \"image\": \"moves/mega-lucario_s1.png\" },\n    \"move_s2\": { \"name\": \"Meteor Mash\", \"image\": \"moves/mega-lucario_s2.png\" },\n    \"move_u1\": { \"name\": \"Aura Cannon\", \"image\": \"moves/mega-lucario_u1.png\" },\n\"move_s11\": { \"name\": \"Power-Up Punch\", \"image\": \"moves/mega-lucario_s11.png\" },\n    \"move_s21\": { \"name\": \"Close Combat\", \"image\": \"moves/mega-lucario_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 2,\n    \"mobility\": 3.5,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Leafeon\",\n  \"dex\": 470,\n  \"images\": {\n    \"main\": \"pokemons/roster-leafeon.png\",\n    \"big\": \"pokemons/roster-leafeon-2x.png\",\n    \"complete\": \"pokemons/stat-leafeon.png\",\n    \"evolution_1\": \"pokemons/evolution-eevee-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-leafeon-2x.png\",\n        \"move_p1\": { \"name\": \"Chlorophyll\", \"image\": \"moves/leafeon_p1.png\" },\n    \"move_s1\": { \"name\": \"Swift\", \"image\": \"moves/leafeon_s1.png\" },\n    \"move_s2\": { \"name\": \"Quick Attack\", \"image\": \"moves/leafeon_s2.png\" },\n    \"move_u1\": { \"name\": \"Emerald Two-Step\", \"image\": \"moves/leafeon_u1.png\" },\n\"move_s11\": { \"name\": \"Razor Leaf\", \"image\": \"moves/leafeon_s11.png\" },\n    \"move_s12\": { \"name\": \"Solar Blade\", \"image\": \"moves/leafeon_s12.png\" },\n    \"move_s21\": { \"name\": \"Aerial Ace\", \"image\": \"moves/leafeon_s21.png\" },\n    \"move_s22\": { \"name\": \"Leaf Blade\", \"image\": \"moves/leafeon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 1.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 2.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Glaceon\",\n  \"dex\": 471,\n  \"images\": {\n    \"main\": \"pokemons/roster-glaceon.png\",\n    \"big\": \"pokemons/roster-glaceon-2x.png\",\n    \"complete\": \"pokemons/stat-glaceon.png\",\n    \"evolution_1\": \"pokemons/evolution-eevee-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-glaceon-2x.png\",\n        \"move_p1\": { \"name\": \"Snow Cloak\", \"image\": \"moves/glaceon_p1.png\" },\n    \"move_s1\": { \"name\": \"Swift\", \"image\": \"moves/glaceon_s1.png\" },\n    \"move_s2\": { \"name\": \"Tail Whip\", \"image\": \"moves/glaceon_s2.png\" },\n    \"move_u1\": { \"name\": \"Glacial Stage\", \"image\": \"moves/glaceon_u1.png\" },\n\"move_s11\": { \"name\": \"Icicle Spear\", \"image\": \"moves/glaceon_s11.png\" },\n    \"move_s12\": { \"name\": \"Icy Wind\", \"image\": \"moves/glaceon_s12.png\" },\n    \"move_s21\": { \"name\": \"Ice Shard\", \"image\": \"moves/glaceon_s21.png\" },\n    \"move_s22\": { \"name\": \"Freeze Dry\", \"image\": \"moves/glaceon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 3,\n    \"scoring\": 1,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Darkrai\",\n  \"dex\": 491,\n  \"images\": {\n    \"main\": \"pokemons/roster-darkrai.png\",\n    \"big\": \"pokemons/roster-darkrai-2x.png\",\n    \"complete\": \"pokemons/stat-darkrai.png\",\n    \"evolution_1\": \"pokemons/evolution-darkrai-2x.png\",\n        \"move_p1\": { \"name\": \"Bad Dreams\", \"image\": \"moves/darkrai_p1.png\" },\n    \"move_s1\": { \"name\": \"Hypnosis\", \"image\": \"moves/darkrai_s1.png\" },\n    \"move_s2\": { \"name\": \"Calm Mind\", \"image\": \"moves/darkrai_s2.png\" },\n    \"move_u1\": { \"name\": \"Worst Nightmare\", \"image\": \"moves/darkrai_u1.png\" },\n\"move_s11\": { \"name\": \"Dark Void\", \"image\": \"moves/darkrai_s11.png\" },\n    \"move_s12\": { \"name\": \"Shadow Claw\", \"image\": \"moves/darkrai_s12.png\" },\n    \"move_s21\": { \"name\": \"Nasty Plot\", \"image\": \"moves/darkrai_s21.png\" },\n    \"move_s22\": { \"name\": \"Dark Pulse\", \"image\": \"moves/darkrai_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 1.5,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Crustle\",\n  \"dex\": 558,\n  \"images\": {\n    \"main\": \"pokemons/roster-crustle.png\",\n    \"big\": \"pokemons/roster-crustle-2x.png\",\n    \"complete\": \"pokemons/stat-crustle.png\",\n    \"move_p1\": { \"name\": \"Sturdy\", \"image\": \"moves/crustle_p1.png\" },\n    \"move_s1\": { \"name\": \"Rock Slide\", \"image\": \"moves/crustle_s1.png\" },\n    \"move_s2\": { \"name\": \"Fury Cutter\", \"image\": \"moves/crustle_s2.png\" },\n    \"move_u1\": { \"name\": \"Rubble Rouser\", \"image\": \"moves/crustle_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-dweeble-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-crustle-2x.png\",\n    \"move_s11\": { \"name\": \"Rock Tomb\", \"image\": \"moves/crustle_s11.png\" },\n    \"move_s12\": { \"name\": \"Shell Smash\", \"image\": \"moves/crustle_s12.png\" },\n    \"move_s21\": { \"name\": \"Stealth Rock\", \"image\": \"moves/crustle_s21.png\" },\n    \"move_s22\": { \"name\": \"X-Scissor\", \"image\": \"moves/crustle_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 1.5,\n    \"endurance\": 4,\n    \"mobility\": 1.5,\n    \"scoring\": 2,\n    \"support\": 3\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Zoroark\",\n  \"dex\": 571,\n  \"images\": {\n    \"main\": \"pokemons/roster-zoroark.png\",\n    \"big\": \"pokemons/roster-zoroark-2x.png\",\n    \"complete\": \"pokemons/stat-zoroark.png\",\n    \"evolution_1\": \"pokemons/evolution-zorua-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-zoroark-2x.png\",\n        \"move_p1\": { \"name\": \"Illusion\", \"image\": \"moves/zoroark_p1.png\" },\n    \"move_s1\": { \"name\": \"Slash\", \"image\": \"moves/zoroark_s1.png\" },\n    \"move_s2\": { \"name\": \"Fury Swipes\", \"image\": \"moves/zoroark_s2.png\" },\n    \"move_u1\": { \"name\": \"Nightfall Daze\", \"image\": \"moves/zoroark_u1.png\" },\n\"move_s11\": { \"name\": \"Shadow Claw\", \"image\": \"moves/zoroark_s11.png\" },\n    \"move_s12\": { \"name\": \"Cut\", \"image\": \"moves/zoroark_s12.png\" },\n    \"move_s21\": { \"name\": \"Night Slash\", \"image\": \"moves/zoroark_s21.png\" },\n    \"move_s22\": { \"name\": \"Feint Attack\", \"image\": \"moves/zoroark_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 1.5,\n    \"mobility\": 4,\n    \"scoring\": 2,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Chandelure\",\n  \"dex\": 609,\n  \"images\": {\n    \"main\": \"pokemons/roster-chandelure.png\",\n    \"big\": \"pokemons/roster-chandelure-2x.png\",\n    \"complete\": \"pokemons/stat-chandelure.png\",\n    \"evolution_1\": \"pokemons/evolution-litwick-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-lampent-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-chandelure-2x.png\",\n        \"move_p1\": { \"name\": \"Infiltrator\", \"image\": \"moves/chandelure_p1.png\" },\n    \"move_s1\": { \"name\": \"Ember\", \"image\": \"moves/chandelure_s1.png\" },\n    \"move_s2\": { \"name\": \"Night Shade\", \"image\": \"moves/chandelure_s2.png\" },\n    \"move_u1\": { \"name\": \"Ignite Midnight\", \"image\": \"moves/chandelure_u1.png\" },\n\"move_s11\": { \"name\": \"Flamethrower\", \"image\": \"moves/chandelure_s11.png\" },\n    \"move_s12\": { \"name\": \"Overheat\", \"image\": \"moves/chandelure_s12.png\" },\n    \"move_s21\": { \"name\": \"Poltergeist\", \"image\": \"moves/chandelure_s21.png\" },\n    \"move_s22\": { \"name\": \"Imprison\", \"image\": \"moves/chandelure_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 5,\n    \"endurance\": 1,\n    \"mobility\": 1,\n    \"scoring\": 2,\n    \"support\": 3\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Delphox\",\n  \"dex\": 655,\n  \"images\": {\n    \"main\": \"pokemons/roster-delphox.png\",\n    \"big\": \"pokemons/roster-delphox-2x.png\",\n    \"complete\": \"pokemons/stat-delphox.png\",\n    \"evolution_1\": \"pokemons/evolution-fennekin-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-braixen-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-delphox-2x.png\",\n        \"move_p1\": { \"name\": \"Blaze\", \"image\": \"moves/delphox_p1.png\" },\n    \"move_s1\": { \"name\": \"Ember\", \"image\": \"moves/delphox_s1.png\" },\n    \"move_s2\": { \"name\": \"Will-o-Wisp\", \"image\": \"moves/delphox_s2.png\" },\n    \"move_u1\": { \"name\": \"Fanciful Fireworks\", \"image\": \"moves/delphox_u1.png\" },\n\"move_s11\": { \"name\": \"Fire Blast\", \"image\": \"moves/delphox_s11.png\" },\n    \"move_s12\": { \"name\": \"Mystical Fire\", \"image\": \"moves/delphox_s12.png\" },\n    \"move_s21\": { \"name\": \"Fire Spin\", \"image\": \"moves/delphox_s21.png\" },\n    \"move_s22\": { \"name\": \"Flame Charge\", \"image\": \"moves/delphox_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 3,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Greninja\",\n  \"dex\": 658,\n  \"images\": {\n    \"main\": \"pokemons/roster-greninja.png\",\n    \"big\": \"pokemons/roster-greninja-2x.png\",\n    \"complete\": \"pokemons/stat-greninja.png\",\n    \"move_p1\": { \"name\": \"Torrent\", \"image\": \"moves/greninja_p1.png\" },\n    \"move_s1\": { \"name\": \"Bubble\", \"image\": \"moves/greninja_s1.png\" },\n    \"move_s2\": { \"name\": \"Substitute\", \"image\": \"moves/greninja_s2.png\" },\n    \"move_u1\": { \"name\": \"Waterburst Shuriken\", \"image\": \"moves/greninja_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-froakie-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-frogadier-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-greninja-2x.png\",\n    \"move_s11\": { \"name\": \"Water Shuriken\", \"image\": \"moves/greninja_s11.png\" },\n    \"move_s12\": { \"name\": \"Surf\", \"image\": \"moves/greninja_s12.png\" },\n    \"move_s21\": { \"name\": \"Double Team\", \"image\": \"moves/greninja_s21.png\" },\n    \"move_s22\": { \"name\": \"Smokescreen\", \"image\": \"moves/greninja_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 3,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Talonflame\",\n  \"dex\": 663,\n  \"images\": {\n    \"main\": \"pokemons/roster-talonflame.png\",\n    \"big\": \"pokemons/roster-talonflame-2x.png\",\n    \"complete\": \"pokemons/stat-talonflame.png\",\n    \"move_p1\": { \"name\": \"Gale Wings\", \"image\": \"moves/talonflame_p1.png\" },\n    \"move_s1\": { \"name\": \"Peck\", \"image\": \"moves/talonflame_s1.png\" },\n    \"move_s2\": { \"name\": \"Acrobatics\", \"image\": \"moves/talonflame_s2.png\" },\n    \"move_u1\": { \"name\": \"Flame Sweep\", \"image\": \"moves/talonflame_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-fletchling-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-fletchinder-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-talonflame-2x.png\",\n    \"move_s11\": { \"name\": \"Flame Charge\", \"image\": \"moves/talonflame_s11.png\" },\n    \"move_s12\": { \"name\": \"Aerial Ace\", \"image\": \"moves/talonflame_s12.png\" },\n    \"move_s21\": { \"name\": \"Fly\", \"image\": \"moves/talonflame_s21.png\" },\n    \"move_s22\": { \"name\": \"Brave Bird\", \"image\": \"moves/talonflame_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 2.5,\n    \"endurance\": 1.5,\n    \"mobility\": 5,\n    \"scoring\": 3.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Aegislash\",\n  \"dex\": 681,\n  \"images\": {\n    \"main\": \"pokemons/roster-aegislash.png\",\n    \"big\": \"pokemons/roster-aegislash-2x.png\",\n    \"complete\": \"pokemons/stat-aegislash.png\",\n    \"evolution_1\": \"pokemons/evolution-honedge-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-doublade-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-aegislash-2x.png\",\n        \"move_p1\": { \"name\": \"Stance Change\", \"image\": \"moves/aegislash_p1.png\" },\n    \"move_s1\": { \"name\": \"Shadow Sneak\", \"image\": \"moves/aegislash_s1.png\" },\n    \"move_s2\": { \"name\": \"Sacred Sword\", \"image\": \"moves/aegislash_s2.png\" },\n    \"move_u1\": { \"name\": \"Coup de Grace\", \"image\": \"moves/aegislash_u1.png\" },\n\"move_s11\": { \"name\": \"Shadow Claw\", \"image\": \"moves/aegislash_s11.png\" },\n    \"move_s12\": { \"name\": \"Iron Defense\", \"image\": \"moves/aegislash_s12.png\" },\n    \"move_s21\": { \"name\": \"Wide Guard\", \"image\": \"moves/aegislash_s21.png\" },\n    \"move_s22\": { \"name\": \"Iron Head\", \"image\": \"moves/aegislash_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 2,\n    \"mobility\": 4,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Sylveon\",\n  \"dex\": 700,\n  \"images\": {\n    \"main\": \"pokemons/roster-sylveon.png\",\n    \"big\": \"pokemons/roster-sylveon-2x.png\",\n    \"complete\": \"pokemons/stat-sylveon.png\",\n    \"evolution_1\": \"pokemons/evolution-eevee-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-sylveon-2x.png\",\n        \"move_p1\": { \"name\": \"Pixilate\", \"image\": \"moves/sylveon_p1.png\" },\n    \"move_s1\": { \"name\": \"Swift\", \"image\": \"moves/sylveon_s1.png\" },\n    \"move_s2\": { \"name\": \"Baby-Doll Eyes\", \"image\": \"moves/sylveon_s2.png\" },\n    \"move_u1\": { \"name\": \"Fairy Frolic\", \"image\": \"moves/sylveon_u1.png\" },\n\"move_s11\": { \"name\": \"Mystical Fire\", \"image\": \"moves/sylveon_s11.png\" },\n    \"move_s12\": { \"name\": \"Hyper Voice\", \"image\": \"moves/sylveon_s12.png\" },\n    \"move_s21\": { \"name\": \"Draining Kiss\", \"image\": \"moves/sylveon_s21.png\" },\n    \"move_s22\": { \"name\": \"Calm Mind\", \"image\": \"moves/sylveon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 1.5,\n    \"mobility\": 1.5,\n    \"scoring\": 3.5,\n    \"support\": 3.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Goodra\",\n  \"dex\": 706,\n  \"images\": {\n    \"main\": \"pokemons/roster-goodra.png\",\n    \"big\": \"pokemons/roster-goodra-2x.png\",\n    \"complete\": \"pokemons/stat-goodra.png\",\n    \"evolution_1\": \"pokemons/evolution-goomy-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-sliggoo-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-goodra-2x.png\",\n        \"move_p1\": { \"name\": \"Gooey\", \"image\": \"moves/goodra_p1.png\" },\n    \"move_s1\": { \"name\": \"Bubble\", \"image\": \"moves/goodra_s1.png\" },\n    \"move_s2\": { \"name\": \"Tackle\", \"image\": \"moves/goodra_s2.png\" },\n    \"move_u1\": { \"name\": \"Right as Rain\", \"image\": \"moves/goodra_u1.png\" },\n\"move_s11\": { \"name\": \"Muddy Water\", \"image\": \"moves/goodra_s11.png\" },\n    \"move_s12\": { \"name\": \"Dragon Pulse\", \"image\": \"moves/goodra_s12.png\" },\n    \"move_s21\": { \"name\": \"Power Whip\", \"image\": \"moves/goodra_s21.png\" },\n    \"move_s22\": { \"name\": \"Acid Spray\", \"image\": \"moves/goodra_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 2.5,\n    \"endurance\": 4,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Trevenant\",\n  \"dex\": 709,\n  \"images\": {\n    \"main\": \"pokemons/roster-trevenant.png\",\n    \"big\": \"pokemons/roster-trevenant-2x.png\",\n    \"complete\": \"pokemons/stat-trevenant.png\",\n    \"evolution_1\": \"pokemons/evolution-phantump-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-trevenant-2x.png\",\n        \"move_p1\": { \"name\": \"Natural Cure\", \"image\": \"moves/trevenant_p1.png\" },\n    \"move_s1\": { \"name\": \"Will-o-Wisp\", \"image\": \"moves/trevenant_s1.png\" },\n    \"move_s2\": { \"name\": \"Branch Poke\", \"image\": \"moves/trevenant_s2.png\" },\n    \"move_u1\": { \"name\": \"Phantom Forest\", \"image\": \"moves/trevenant_u1.png\" },\n\"move_s11\": { \"name\": \"Wood Hammer\", \"image\": \"moves/trevenant_s11.png\" },\n    \"move_s12\": { \"name\": \"Curse\", \"image\": \"moves/trevenant_s12.png\" },\n    \"move_s21\": { \"name\": \"Horn Leech\", \"image\": \"moves/trevenant_s21.png\" },\n    \"move_s22\": { \"name\": \"Pain Split\", \"image\": \"moves/trevenant_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 4,\n    \"mobility\": 2,\n    \"scoring\": 2.5,\n    \"support\": 2.5\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Hoopa\",\n  \"dex\": 720,\n  \"images\": {\n    \"main\": \"pokemons/roster-hoopa.png\",\n    \"big\": \"pokemons/roster-hoopa-2x.png\",\n    \"complete\": \"pokemons/stat-hoopa.png\",\n    \"evolution_1\": \"pokemons/evolution-hoopa-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-hoopa-unbound-2x.png\",\n    \"move_p1\": { \"name\": \"Magician\", \"image\": \"moves/hoopa_p1.png\" },\n    \"move_s1\": { \"name\": \"Astonish\", \"image\": \"moves/hoopa_s1.png\" },\n    \"move_s2\": { \"name\": \"Confusion\", \"image\": \"moves/hoopa_s2.png\" },\n    \"move_u1\": { \"name\": \"Rings Unbound\", \"image\": \"moves/hoopa_u1.png\" },\n    \"move_s11\": { \"name\": \"Phantom Force\", \"image\": \"moves/hoopa_s11.png\" },\n    \"move_s12\": { \"name\": \"Shadow Ball\", \"image\": \"moves/hoopa_s12.png\" },\n    \"move_s21\": { \"name\": \"Hyperspace Hole\", \"image\": \"moves/hoopa_s21.png\" },\n    \"move_s22\": { \"name\": \"Trick\", \"image\": \"moves/hoopa_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 2,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 3.5\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Decidueye\",\n  \"dex\": 724,\n  \"images\": {\n    \"main\": \"pokemons/roster-decidueye.png\",\n    \"big\": \"pokemons/roster-decidueye-2x.png\",\n    \"complete\": \"pokemons/stat-decidueye.png\",\n    \"evolution_1\": \"pokemons/evolution-rowlet-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-dartrix-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-decidueye-2x.png\",\n        \"move_p1\": { \"name\": \"Long Reach\", \"image\": \"moves/decidueye_p1.png\" },\n    \"move_s1\": { \"name\": \"Leafage\", \"image\": \"moves/decidueye_s1.png\" },\n    \"move_s2\": { \"name\": \"Astonish\", \"image\": \"moves/decidueye_s2.png\" },\n    \"move_u1\": { \"name\": \"Nock Nock\", \"image\": \"moves/decidueye_u1.png\" },\n\"move_s11\": { \"name\": \"Razor Leaf\", \"image\": \"moves/decidueye_s11.png\" },\n    \"move_s12\": { \"name\": \"Spirit Shackle\", \"image\": \"moves/decidueye_s12.png\" },\n    \"move_s21\": { \"name\": \"Leaf Storm\", \"image\": \"moves/decidueye_s21.png\" },\n    \"move_s22\": { \"name\": \"Shadow Sneak\", \"image\": \"moves/decidueye_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 1.5,\n    \"mobility\": 1.5,\n    \"scoring\": 3.5,\n    \"support\": 3.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Tsareena\",\n  \"dex\": 763,\n  \"images\": {\n    \"main\": \"pokemons/roster-tsareena.png\",\n    \"big\": \"pokemons/roster-tsareena-2x.png\",\n    \"complete\": \"pokemons/stat-tsareena.png\",\n    \"evolution_1\": \"pokemons/evolution-bounsweet-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-steenee-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-tsareena-2x.png\",\n        \"move_p1\": { \"name\": \"Queenly Majesty\", \"image\": \"moves/tsareena_p1.png\" },\n    \"move_s1\": { \"name\": \"Razor Leaf\", \"image\": \"moves/tsareena_s1.png\" },\n    \"move_s2\": { \"name\": \"Rapid Spin\", \"image\": \"moves/tsareena_s2.png\" },\n    \"move_u1\": { \"name\": \"Queen Ascendant\", \"image\": \"moves/tsareena_u1.png\" },\n\"move_s11\": { \"name\": \"Triple Axel\", \"image\": \"moves/tsareena_s11.png\" },\n    \"move_s12\": { \"name\": \"Stomp\", \"image\": \"moves/tsareena_s12.png\" },\n    \"move_s21\": { \"name\": \"Trop Kick\", \"image\": \"moves/tsareena_s21.png\" },\n    \"move_s22\": { \"name\": \"Grassy Glide\", \"image\": \"moves/tsareena_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 1.5,\n    \"mobility\": 1.5,\n    \"scoring\": 3.5,\n    \"support\": 3.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Comfey\",\n  \"dex\": 764,\n  \"images\": {\n    \"main\": \"pokemons/roster-comfey.png\",\n    \"big\": \"pokemons/roster-comfey-2x.png\",\n    \"complete\": \"pokemons/stat-comfey.png\",\n    \"evolution_1\": \"pokemons/evolution-comfey-2x.png\",\n        \"move_p1\": { \"name\": \"Triage\", \"image\": \"moves/comfey_p1.png\" },\n    \"move_s1\": { \"name\": \"Synthesis\", \"image\": \"moves/comfey_s1.png\" },\n    \"move_s2\": { \"name\": \"Vine Whip\", \"image\": \"moves/comfey_s2.png\" },\n    \"move_u1\": { \"name\": \"Flowery Fields Forever\", \"image\": \"moves/comfey_u1.png\" },\n\"move_s11\": { \"name\": \"Floral Healing\", \"image\": \"moves/comfey_s11.png\" },\n    \"move_s12\": { \"name\": \"Sweet Kiss\", \"image\": \"moves/comfey_s12.png\" },\n    \"move_s21\": { \"name\": \"Magical Leaf\", \"image\": \"moves/comfey_s21.png\" },\n    \"move_s22\": { \"name\": \"Grass Knot\", \"image\": \"moves/comfey_s22.png\" },\n  },\n  \"active\": true,\n  \"stats\": {\n    \"offense\": 2,\n    \"endurance\": 3,\n    \"mobility\": 1.5,\n    \"scoring\": 1.5,\n    \"support\": 4.5\n  },\n  \"difficulty\": 1,\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"battleType\": BattleType.SUPPORTER\n},\n{\n  \"name\": \"Mimikyu\",\n  \"dex\": 778,\n  \"images\": {\n    \"main\": \"pokemons/roster-mimikyu.png\",\n    \"big\": \"pokemons/roster-mimikyu-2x.png\",\n    \"complete\": \"pokemons/stat-mimikyu.png\",\n    \"evolution_1\": \"pokemons/evolution-mimikyu-2x.png\",\n        \"move_p1\": { \"name\": \"Disguise\", \"image\": \"moves/mimikyu_p1.png\" },\n    \"move_s1\": { \"name\": \"Astonish\", \"image\": \"moves/mimikyu_s1.png\" },\n    \"move_s2\": { \"name\": \"Scratch\", \"image\": \"moves/mimikyu_s2.png\" },\n    \"move_u1\": { \"name\": \"Play With Me...\", \"image\": \"moves/mimikyu_u1.png\" },\n\"move_s11\": { \"name\": \"Play Rough\", \"image\": \"moves/mimikyu_s11.png\" },\n    \"move_s12\": { \"name\": \"Shadow Claw\", \"image\": \"moves/mimikyu_s12.png\" },\n    \"move_s21\": { \"name\": \"Shadow Sneak\", \"image\": \"moves/mimikyu_s21.png\" },\n    \"move_s22\": { \"name\": \"Trick Room\", \"image\": \"moves/mimikyu_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Dhelmise\",\n  \"dex\": 781,\n  \"images\": {\n    \"main\": \"pokemons/roster-dhelmise.png\",\n    \"big\": \"pokemons/roster-dhelmise-2x.png\",\n    \"complete\": \"pokemons/stat-dhelmise.png\",\n    \"evolution_1\": \"pokemons/evolution-dhelmise-2x.png\",\n        \"move_p1\": { \"name\": \"Steelworker\", \"image\": \"moves/dhelmise_p1.png\" },\n    \"move_s1\": { \"name\": \"Payback\", \"image\": \"moves/dhelmise_s1.png\" },\n    \"move_s2\": { \"name\": \"Bulldoze\", \"image\": \"moves/dhelmise_s2.png\" },\n    \"move_u1\": { \"name\": \"Seaweed Snare\", \"image\": \"moves/dhelmise_u1.png\" },\n\"move_s11\": { \"name\": \"Power Whip\", \"image\": \"moves/dhelmise_s11.png\" },\n    \"move_s12\": { \"name\": \"Whirlpool\", \"image\": \"moves/dhelmise_s12.png\" },\n    \"move_s21\": { \"name\": \"Anchor Shot\", \"image\": \"moves/dhelmise_s21.png\" },\n    \"move_s22\": { \"name\": \"Heavy Slam\", \"image\": \"moves/dhelmise_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 1.5,\n    \"mobility\": 1,\n    \"scoring\": 1,\n    \"support\": 1,\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Buzzwole\",\n  \"dex\": 794,\n  \"images\": {\n    \"main\": \"pokemons/roster-buzzwole.png\",\n    \"big\": \"pokemons/roster-buzzwole-2x.png\",\n    \"complete\": \"pokemons/stat-buzzwole.png\",\n    \"evolution_1\": \"pokemons/evolution-buzzwole-2x.png\",\n        \"move_p1\": { \"name\": \"Beast Boost\", \"image\": \"moves/buzzwole_p1.png\" },\n    \"move_s1\": { \"name\": \"Mega Punch\", \"image\": \"moves/buzzwole_s1.png\" },\n    \"move_s2\": { \"name\": \"Fell Stinger\", \"image\": \"moves/buzzwole_s2.png\" },\n    \"move_u1\": { \"name\": \"Ultra Swole Slam\", \"image\": \"moves/buzzwole_u1.png\" },\n\"move_s11\": { \"name\": \"Lunge\", \"image\": \"moves/buzzwole_s11.png\" },\n    \"move_s12\": { \"name\": \"Smack Down\", \"image\": \"moves/buzzwole_s12.png\" },\n    \"move_s21\": { \"name\": \"Leech Life\", \"image\": \"moves/buzzwole_s21.png\" },\n    \"move_s22\": { \"name\": \"Superpower\", \"image\": \"moves/buzzwole_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Zeraora\",\n  \"dex\": 807,\n  \"images\": {\n    \"main\": \"pokemons/roster-zeraora.png\",\n    \"big\": \"pokemons/roster-zeraora-2x.png\",\n    \"complete\": \"pokemons/stat-zeraora.png\",\n    \"move_p1\": { \"name\": \"Volt Absorb\", \"image\": \"moves/zeraora_p1.png\" },\n    \"move_s1\": { \"name\": \"Agility\", \"image\": \"moves/zeraora_s1.png\" },\n    \"move_s2\": { \"name\": \"Slash\", \"image\": \"moves/zeraora_s2.png\" },\n    \"move_u1\": { \"name\": \"Plasma Gale\", \"image\": \"moves/zeraora_u1.png\" },\n    \"move_s11\": { \"name\": \"Volt Switch\", \"image\": \"moves/zeraora_s11.png\" },\n    \"move_s12\": { \"name\": \"Spark\", \"image\": \"moves/zeraora_s12.png\" },\n    \"move_s21\": { \"name\": \"Discharge\", \"image\": \"moves/zeraora_s21.png\" },\n    \"move_s22\": { \"name\": \"Wild Charge\", \"image\": \"moves/zeraora_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 1.5,\n    \"mobility\": 4,\n    \"scoring\": 3,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Cinderace\",\n  \"dex\": 815,\n  \"images\": {\n    \"main\": \"pokemons/roster-cinderace.png\",\n    \"big\": \"pokemons/roster-cinderace-2x.png\",\n    \"complete\": \"pokemons/stat-cinderace.png\",\n    \"move_p1\": { \"name\": \"Blaze\", \"image\": \"moves/cinderace_p1.png\" },\n    \"move_s1\": { \"name\": \"Ember\", \"image\": \"moves/cinderace_s1.png\" },\n    \"move_s2\": { \"name\": \"Low Sweep\", \"image\": \"moves/cinderace_s2.png\" },\n    \"move_u1\": { \"name\": \"Blazing Bicycle Kick\", \"image\": \"moves/cinderace_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-scorbunny-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-raboot-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-cinderace-2x.png\",\n    \"move_s11\": { \"name\": \"Pyro Ball\", \"image\": \"moves/cinderace_s11.png\" },\n    \"move_s12\": { \"name\": \"Blaze Kick\", \"image\": \"moves/cinderace_s12.png\" },\n    \"move_s21\": { \"name\": \"Flame Charge\", \"image\": \"moves/cinderace_s21.png\" },\n    \"move_s22\": { \"name\": \"Feint\", \"image\": \"moves/cinderace_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 3,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Inteleon\",\n  \"dex\": 818,\n  \"images\": {\n    \"main\": \"pokemons/roster-inteleon.png\",\n    \"big\": \"pokemons/roster-inteleon-2x.png\",\n    \"complete\": \"pokemons/stat-inteleon.png\",\n    \"evolution_1\": \"pokemons/evolution-sobble-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-drizzile-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-inteleon-2x.png\",\n    \"move_p1\": { \"name\": \"Sniper\", \"image\": \"moves/inteleon_p1.png\" },\n    \"move_s1\": { \"name\": \"Tearful Look\", \"image\": \"moves/inteleon_s1.png\" },\n    \"move_s2\": { \"name\": \"Water Gun\", \"image\": \"moves/inteleon_s2.png\" },\n    \"move_u1\": { \"name\": \"Azure Spy Vision\", \"image\": \"moves/inteleon_u1.png\" },\n    \"move_s11\": { \"name\": \"Fell Stinger\", \"image\": \"moves/inteleon_s11.png\" },\n    \"move_s12\": { \"name\": \"Acrobatics\", \"image\": \"moves/inteleon_s12.png\" },\n    \"move_s21\": { \"name\": \"Snipe Shot\", \"image\": \"moves/inteleon_s21.png\" },\n    \"move_s22\": { \"name\": \"Liquidation\", \"image\": \"moves/inteleon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 1.5,\n    \"mobility\": 3.5,\n    \"scoring\": 1.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Greedent\",\n  \"dex\": 820,\n  \"images\": {\n    \"main\": \"pokemons/roster-greedent.png\",\n    \"big\": \"pokemons/roster-greedent-2x.png\",\n    \"complete\": \"pokemons/stat-greedent.png\",\n    \"evolution_1\": \"pokemons/evolution-skwovet-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-greedent-2x.png\",\n        \"move_p1\": { \"name\": \"Cheek Pouch\", \"image\": \"moves/greedent_p1.png\" },\n    \"move_s1\": { \"name\": \"Tackle\", \"image\": \"moves/greedent_s1.png\" },\n    \"move_s2\": { \"name\": \"Defense Curl\", \"image\": \"moves/greedent_s2.png\" },\n    \"move_u1\": { \"name\": \"Berry Belly Flop\", \"image\": \"moves/greedent_u1.png\" },\n\"move_s11\": { \"name\": \"Bullet Seed\", \"image\": \"moves/greedent_s11.png\" },\n    \"move_s12\": { \"name\": \"Belch\", \"image\": \"moves/greedent_s12.png\" },\n    \"move_s21\": { \"name\": \"Stuff Cheeks\", \"image\": \"moves/greedent_s21.png\" },\n    \"move_s22\": { \"name\": \"Covet\", \"image\": \"moves/greedent_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.DEFENDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1.5,\n    \"mobility\": 2,\n    \"scoring\": 1,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.DEFENDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Eldegoss\",\n  \"dex\": 830,\n  \"images\": {\n    \"main\": \"pokemons/roster-eldegoss.png\",\n    \"big\": \"pokemons/roster-eldegoss-2x.png\",\n    \"complete\": \"pokemons/stat-eldegoss.png\",\n    \"move_p1\": { \"name\": \"Cotton Down\", \"image\": \"moves/eldegoss_p1.png\" },\n    \"move_s1\": { \"name\": \"Leafage\", \"image\": \"moves/eldegoss_s1.png\" },\n    \"move_s2\": { \"name\": \"Synthesis\", \"image\": \"moves/eldegoss_s2.png\" },\n    \"move_u1\": { \"name\": \"Cotton Cloud Crash\", \"image\": \"moves/eldegoss_u1.png\" },\n    \"evolution_1\": \"pokemons/evolution-gossifleur-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-eldegoss-2x.png\",\n    \"move_s11\": { \"name\": \"Pollen Puff\", \"image\": \"moves/eldegoss_s11.png\" },\n    \"move_s12\": { \"name\": \"Leaf Tornado\", \"image\": \"moves/eldegoss_s12.png\" },\n    \"move_s21\": { \"name\": \"Cotton Guard\", \"image\": \"moves/eldegoss_s21.png\" },\n    \"move_s22\": { \"name\": \"Cotton Spore\", \"image\": \"moves/eldegoss_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 1.5,\n    \"endurance\": 2,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Cramorant\",\n  \"dex\": 845,\n  \"images\": {\n    \"main\": \"pokemons/roster-cramorant.png\",\n    \"big\": \"pokemons/roster-cramorant-2x.png\",\n    \"complete\": \"pokemons/stat-cramorant.png\",\n    \"move_p1\": { \"name\": \"Gulp Missile\", \"image\": \"moves/cramorant_p1.png\" },\n    \"move_s1\": { \"name\": \"Whirlpool\", \"image\": \"moves/cramorant_s1.png\" },\n    \"move_s2\": { \"name\": \"Feather Dance\", \"image\": \"moves/cramorant_s2.png\" },\n    \"move_u1\": { \"name\": \"Gatling Gulp Missile\", \"image\": \"moves/cramorant_u1.png\" },\n    \"move_s11\": { \"name\": \"Surf\", \"image\": \"moves/cramorant_s11.png\" },\n    \"move_s12\": { \"name\": \"Dive\", \"image\": \"moves/cramorant_s12.png\" },\n    \"move_s21\": { \"name\": \"Hurricane\", \"image\": \"moves/cramorant_s21.png\" },\n    \"move_s22\": { \"name\": \"Air Slash\", \"image\": \"moves/cramorant_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 3,\n    \"mobility\": 3,\n    \"scoring\": 1.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Sirfetch'd\",\n  \"dex\": 865,\n  \"images\": {\n    \"main\": \"pokemons/roster-sirfetchd.png\",\n    \"big\": \"pokemons/roster-sirfetchd-2x.png\",\n    \"complete\": \"pokemons/stat-sirfetchd.png\",\n        \"move_p1\": { \"name\": \"Steadfast\", \"image\": \"moves/sirfetchd_p1.png\" },\n    \"move_s1\": { \"name\": \"Dual Wingbeat\", \"image\": \"moves/sirfetchd_s1.png\" },\n    \"move_s2\": { \"name\": \"Quick Attack\", \"image\": \"moves/sirfetchd_s2.png\" },\n    \"move_u1\": { \"name\": \"Lunging Leek Nova Blast\", \"image\": \"moves/sirfetchd_u1.png\" },\n\"move_s11\": { \"name\": \"Fury Cutter\", \"image\": \"moves/sirfetchd_s11.png\" },\n    \"move_s12\": { \"name\": \"Leaf Blade\", \"image\": \"moves/sirfetchd_s12.png\" },\n    \"move_s21\": { \"name\": \"Brutal Swing\", \"image\": \"moves/sirfetchd_s21.png\" },\n    \"move_s22\": { \"name\": \"Detect\", \"image\": \"moves/sirfetchd_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Alcremie\",\n  \"dex\": 869,\n  \"images\": {\n    \"main\": \"pokemons/roster-alcremie.png\",\n    \"big\": \"pokemons/roster-alcremie-2x.png\",\n    \"complete\": \"pokemons/stat-alcremie.png\",\n    \"evolution_1\": \"pokemons/evolution-milcery-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-alcremie-2x.png\",\n        \"move_p1\": { \"name\": \"Aroma Veil\", \"image\": \"moves/alcremie_p1.png\" },\n    \"move_s1\": { \"name\": \"Helping Hand\", \"image\": \"moves/alcremie_s1.png\" },\n    \"move_s2\": { \"name\": \"Charm\", \"image\": \"moves/alcremie_s2.png\" },\n    \"move_u1\": { \"name\": \"Fluffy Cream Supreme\", \"image\": \"moves/alcremie_u1.png\" },\n\"move_s11\": { \"name\": \"Decorate\", \"image\": \"moves/alcremie_s11.png\" },\n    \"move_s12\": { \"name\": \"Recover\", \"image\": \"moves/alcremie_s12.png\" },\n    \"move_s21\": { \"name\": \"Dazzling Gleam\", \"image\": \"moves/alcremie_s21.png\" },\n    \"move_s22\": { \"name\": \"Sweet Scent\", \"image\": \"moves/alcremie_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SUPPORTER,\n  \"stats\": {\n    \"offense\": 1.5,\n    \"endurance\": 2,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.SUPPORTER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Falinks\",\n  \"dex\": 870,\n  \"images\": {\n    \"main\": \"pokemons/roster-falinks.png\",\n    \"big\": \"pokemons/roster-falinks-2x.png\",\n    \"complete\": \"pokemons/stat-falinks.png\",\n    \"evolution_1\": \"pokemons/evolution-falinks-2x.png\",\n        \"move_p1\": { \"name\": \"Battle Armor\", \"image\": \"moves/falinks_p1.png\" },\n    \"move_s1\": { \"name\": \"Tackle\", \"image\": \"moves/falinks_s1.png\" },\n    \"move_s2\": { \"name\": \"Bulk Up\", \"image\": \"moves/falinks_s2.png\" },\n    \"move_u1\": { \"name\": \"Dust Devil Formation\", \"image\": \"moves/falinks_u1.png\" },\n\"move_s11\": { \"name\": \"Megahorn\", \"image\": \"moves/falinks_s11.png\" },\n    \"move_s12\": { \"name\": \"Iron Head\", \"image\": \"moves/falinks_s12.png\" },\n    \"move_s21\": { \"name\": \"No Retreat\", \"image\": \"moves/falinks_s21.png\" },\n    \"move_s22\": { \"name\": \"Beat Up\", \"image\": \"moves/falinks_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 4.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Duraludon\",\n  \"dex\": 884,\n  \"images\": {\n    \"main\": \"pokemons/roster-duraludon.png\",\n    \"big\": \"pokemons/roster-duraludon-2x.png\",\n    \"complete\": \"pokemons/stat-duraludon.png\",\n        \"move_p1\": { \"name\": \"Heavy Metal\", \"image\": \"moves/duraludon_p1.png\" },\n    \"move_s1\": { \"name\": \"Laser Focus\", \"image\": \"moves/duraludon_s1.png\" },\n    \"move_s2\": { \"name\": \"Metal Claw\", \"image\": \"moves/duraludon_s2.png\" },\n    \"move_u1\": { \"name\": \"Revolving Ruin\", \"image\": \"moves/duraludon_u1.png\" },\n\"move_s11\": { \"name\": \"Flash Cannon\", \"image\": \"moves/duraludon_s11.png\" },\n    \"move_s12\": { \"name\": \"Dragon Pulse\", \"image\": \"moves/duraludon_s12.png\" },\n    \"move_s21\": { \"name\": \"Dragon Tail\", \"image\": \"moves/duraludon_s21.png\" },\n    \"move_s22\": { \"name\": \"Stealth Rock\", \"image\": \"moves/duraludon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 3.5,\n    \"endurance\": 3.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Dragapult\",\n  \"dex\": 887,\n  \"images\": {\n    \"main\": \"pokemons/roster-dragapult.png\",\n    \"big\": \"pokemons/roster-dragapult-2x.png\",\n    \"complete\": \"pokemons/stat-dragapult.png\",\n    \"evolution_1\": \"pokemons/evolution-dreepy-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-drakloak-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-dragapult-2x.png\",\n        \"move_p1\": { \"name\": \"Clear Body\", \"image\": \"moves/dragapult_p1.png\" },\n    \"move_s1\": { \"name\": \"Astonish\", \"image\": \"moves/dragapult_s1.png\" },\n    \"move_s2\": { \"name\": \"Quick Attack\", \"image\": \"moves/dragapult_s2.png\" },\n    \"move_u1\": { \"name\": \"Dreep and Destroy\", \"image\": \"moves/dragapult_u1.png\" },\n\"move_s11\": { \"name\": \"Dragon Breath\", \"image\": \"moves/dragapult_s11.png\" },\n    \"move_s12\": { \"name\": \"Shadow Ball\", \"image\": \"moves/dragapult_s12.png\" },\n    \"move_s21\": { \"name\": \"Dragon Dance\", \"image\": \"moves/dragapult_s21.png\" },\n    \"move_s22\": { \"name\": \"Phantom Force\", \"image\": \"moves/dragapult_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2.5,\n    \"mobility\": 4,\n    \"scoring\": 1.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 3\n},\n{\n  \"name\": \"Zacian\",\n  \"dex\": 888,\n  \"images\": {\n    \"main\": \"pokemons/roster-zacian.png\",\n    \"big\": \"pokemons/roster-zacian-2x.png\",\n    \"complete\": \"pokemons/stat-zacian.png\",\n    \"evolution_1\": \"pokemons/evolution-zacian-2x.png\",\n        \"move_p1\": { \"name\": \"Intrepid Sword\", \"image\": \"moves/zacian_p1.png\" },\n    \"move_s1\": { \"name\": \"Slash\", \"image\": \"moves/zacian_s1.png\" },\n    \"move_s2\": { \"name\": \"Quick Attack\", \"image\": \"moves/zacian_s2.png\" },\n    \"move_u1\": { \"name\": \"Sovereign Sword\", \"image\": \"moves/zacian_u1.png\" },\n\"move_s11\": { \"name\": \"Metal Claw\", \"image\": \"moves/zacian_s11.png\" },\n    \"move_s12\": { \"name\": \"Sacred Sword\", \"image\": \"moves/zacian_s12.png\" },\n    \"move_s21\": { \"name\": \"Agility\", \"image\": \"moves/zacian_s21.png\" },\n    \"move_s22\": { \"name\": \"Play Rough\", \"image\": \"moves/zacian_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 5,\n    \"endurance\": 4,\n    \"mobility\": 3,\n    \"scoring\": 1,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Urshifu\",\n  \"dex\": 892,\n  \"images\": {\n    \"main\": \"pokemons/roster-urshifu.png\",\n    \"big\": \"pokemons/roster-urshifu-2x.png\",\n    \"complete\": \"pokemons/stat-urshifu.png\",\n    \"evolution_1\": \"pokemons/evolution-kubfu-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-urshifu-2x.png\",\n        \"move_p1\": { \"name\": \"Unseen Fist\", \"image\": \"moves/urshifu_p1.png\" },\n    \"move_s1\": { \"name\": \"Rock Smash\", \"image\": \"moves/urshifu_s1.png\" },\n    \"move_s2\": { \"name\": \"Headbutt\", \"image\": \"moves/urshifu_s2.png\" },\n    \"move_u1\": { \"name\": \"Ebon Fist\", \"image\": \"moves/urshifu_u1.png\" },\n\"move_s11\": { \"name\": \"Wicked Blow\", \"image\": \"moves/urshifu_s11.png\" },\n    \"move_s12\": { \"name\": \"Surging Strikes\", \"image\": \"moves/urshifu_s12.png\" },\n    \"move_s21\": { \"name\": \"Throat Chop\", \"image\": \"moves/urshifu_s21.png\" },\n    \"move_s22\": { \"name\": \"Liquidation\", \"image\": \"moves/urshifu_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n}, \n{\n  \"name\": \"Meowscarada\",\n  \"dex\": 908,\n  \"images\": {\n    \"main\": \"pokemons/roster-meowscarada.png\",\n    \"big\": \"pokemons/roster-meowscarada-2x.png\",\n    \"complete\": \"pokemons/stat-meowscarada.png\",\n    \"evolution_1\": \"pokemons/evolution-sprigatito-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-floragato-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-meowscarada-2x.png\",\n        \"move_p1\": { \"name\": \"Overgrow\", \"image\": \"moves/meowscarada_p1.png\" },\n    \"move_s1\": { \"name\": \"Leafage\", \"image\": \"moves/meowscarada_s1.png\" },\n    \"move_s2\": { \"name\": \"Hone Claws\", \"image\": \"moves/meowscarada_s2.png\" },\n    \"move_u1\": { \"name\": \"Floral Flourish\", \"image\": \"moves/meowscarada_u1.png\" },\n\"move_s11\": { \"name\": \"Flower Trick\", \"image\": \"moves/meowscarada_s11.png\" },\n    \"move_s12\": { \"name\": \"Night Slash\", \"image\": \"moves/meowscarada_s12.png\" },\n    \"move_s21\": { \"name\": \"Double Team\", \"image\": \"moves/meowscarada_s21.png\" },\n    \"move_s22\": { \"name\": \"Trailblaze\", \"image\": \"moves/meowscarada_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.SPEEDSTER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 3,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.SPEEDSTER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n}, \n{\n  \"name\": \"Skeledirge\",\n  \"dex\": 911,\n  \"images\": {\n    \"main\": \"pokemons/roster-skeledirge.png\",\n    \"big\": \"pokemons/roster-skeledirge-2x.png\",\n    \"complete\": \"pokemons/stat-skeledirge.png\",\n    \"move_p1\": { \"name\": \"Blaze\", \"image\": \"moves/skeledirge_p1.png\" },\n    \"move_s1\": { \"name\": \"Disarming Voice\", \"image\": \"moves/skeledirge_s1.png\" },\n    \"move_s2\": { \"name\": \"Roar\", \"image\": \"moves/skeledirge_s2.png\" },\n    \"move_u1\": { \"name\": \"Rousing Symphony\", \"image\": \"moves/skeledirge_u1.png\" },\n    \"move_s11\": { \"name\": \"Hyper Voice\", \"image\": \"moves/skeledirge_s11.png\" },\n    \"move_s21\": { \"name\": \"Snarl\", \"image\": \"moves/skeledirge_s21.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 1,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ATTACKER,\n    Tag.RANGED\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Pawmot\",\n  \"dex\": 923,\n  \"images\": {\n    \"main\": \"pokemons/roster-pawmot.png\",\n    \"big\": \"pokemons/roster-pawmot-2x.png\",\n    \"complete\": \"pokemons/stat-pawmot.png\",\n    \"evolution_1\": \"pokemons/evolution-pawmi-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-pawmo-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-pawmot-2x.png\",\n        \"move_p1\": { \"name\": \"Iron Fist\", \"image\": \"moves/pawmot_p1.png\" },\n    \"move_s1\": { \"name\": \"Nuzzle\", \"image\": \"moves/pawmot_s1.png\" },\n    \"move_s2\": { \"name\": \"Scratch\", \"image\": \"moves/pawmot_s2.png\" },\n    \"move_u1\": { \"name\": \"Zip Zap Full-Charge Spark\", \"image\": \"moves/pawmot_u1.png\" },\n\"move_s11\": { \"name\": \"Thunder Punch\", \"image\": \"moves/pawmot_s11.png\" },\n    \"move_s12\": { \"name\": \"Supercell Slam\", \"image\": \"moves/pawmot_s12.png\" },\n    \"move_s21\": { \"name\": \"Volt Switch\", \"image\": \"moves/pawmot_s21.png\" },\n    \"move_s22\": { \"name\": \"Mach Punch\", \"image\": \"moves/pawmot_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4.5,\n    \"endurance\": 2,\n    \"mobility\": 3,\n    \"scoring\": 2,\n    \"support\": 2\n  },\n  \"tags\": [\n    Tag.MELEE,\n    Tag.ALLROUNDER\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Armarouge\",\n  \"dex\": 936,\n  \"images\": {\n    \"main\": \"pokemons/roster-armarouge.png\",\n    \"big\": \"pokemons/roster-armarouge-2x.png\",\n    \"complete\": \"pokemons/stat-armarouge.png\",\n    \"evolution_1\": \"pokemons/evolution-charcadet-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-armarouge-2x.png\",\n        \"move_p1\": { \"name\": \"Flash Fire\", \"image\": \"moves/armarouge_p1.png\" },\n    \"move_s1\": { \"name\": \"Incinerate\", \"image\": \"moves/armarouge_s1.png\" },\n    \"move_s2\": { \"name\": \"Will-o-Wisp\", \"image\": \"moves/armarouge_s2.png\" },\n    \"move_u1\": { \"name\": \"Psykaboom\", \"image\": \"moves/armarouge_u1.png\" },\n\"move_s11\": { \"name\": \"Fire Spin\", \"image\": \"moves/armarouge_s11.png\" },\n    \"move_s12\": { \"name\": \"Armor Cannon\", \"image\": \"moves/armarouge_s12.png\" },\n    \"move_s21\": { \"name\": \"Flame Charge\", \"image\": \"moves/armarouge_s21.png\" },\n    \"move_s22\": { \"name\": \"Psyshock\", \"image\": \"moves/armarouge_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.RANGED,\n    Tag.ATTACKER\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Ceruledge\",\n  \"dex\": 937,\n  \"images\": {\n    \"main\": \"pokemons/roster-ceruledge.png\",\n    \"big\": \"pokemons/roster-ceruledge-2x.png\",\n    \"complete\": \"pokemons/stat-ceruledge.png\",\n    \"evolution_1\": \"pokemons/evolution-charcadet-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-ceruledge-2x.png\",\n        \"move_p1\": { \"name\": \"Weak Armor\", \"image\": \"moves/ceruledge_p1.png\" },\n    \"move_s1\": { \"name\": \"Lava Plume\", \"image\": \"moves/ceruledge_s1.png\" },\n    \"move_s2\": { \"name\": \"Take Down\", \"image\": \"moves/ceruledge_s2.png\" },\n    \"move_u1\": { \"name\": \"Revenant Rend\", \"image\": \"moves/ceruledge_u1.png\" },\n\"move_s11\": { \"name\": \"Bitter Blade\", \"image\": \"moves/ceruledge_s11.png\" },\n    \"move_s12\": { \"name\": \"Psycho Cut\", \"image\": \"moves/ceruledge_s12.png\" },\n    \"move_s21\": { \"name\": \"Phantom Force\", \"image\": \"moves/ceruledge_s21.png\" },\n    \"move_s22\": { \"name\": \"Flame Charge\", \"image\": \"moves/ceruledge_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2.5,\n    \"support\": 0.5\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 2\n},\n{\n  \"name\": \"Tinkaton\",\n  \"dex\": 959,\n  \"images\": {\n    \"main\": \"pokemons/roster-tinkaton.png\",\n    \"big\": \"pokemons/roster-tinkaton-2x.png\",\n    \"complete\": \"pokemons/stat-tinkaton.png\",\n    \"evolution_1\": \"pokemons/evolution-tinkatink-2x.png\",\n    \"evolution_2\": \"pokemons/evolution-tinkatuff-2x.png\",\n    \"evolution_3\": \"pokemons/evolution-tinkaton-2x.png\",\n        \"move_p1\": { \"name\": \"Mold Breaker\", \"image\": \"moves/tinkaton_p1.png\" },\n    \"move_s1\": { \"name\": \"Rock Smash\", \"image\": \"moves/tinkaton_s1.png\" },\n    \"move_s2\": { \"name\": \"Fairy Wind\", \"image\": \"moves/tinkaton_s2.png\" },\n    \"move_u1\": { \"name\": \"Kiss Bliss Kaboom\", \"image\": \"moves/tinkaton_u1.png\" },\n\"move_s11\": { \"name\": \"Gigaton Hammer\", \"image\": \"moves/tinkaton_s11.png\" },\n    \"move_s12\": { \"name\": \"Smack Down\", \"image\": \"moves/tinkaton_s12.png\" },\n    \"move_s21\": { \"name\": \"Ice Hammer\", \"image\": \"moves/tinkaton_s21.png\" },\n    \"move_s22\": { \"name\": \"Thief\", \"image\": \"moves/tinkaton_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ALLROUNDER,\n  \"stats\": {\n    \"offense\": 3,\n    \"endurance\": 3.5,\n    \"mobility\": 2.5,\n    \"scoring\": 2,\n    \"support\": 1\n  },\n  \"tags\": [\n    Tag.ALLROUNDER,\n    Tag.MELEE\n  ],\n  \"difficulty\": 1\n},\n{\n  \"name\": \"Miraidon\",\n  \"dex\": 1008,\n  \"images\": {\n    \"main\": \"pokemons/roster-miraidon.png\",\n    \"big\": \"pokemons/roster-miraidon-2x.png\",\n    \"complete\": \"pokemons/stat-miraidon.png\",\n    \"evolution_1\": \"pokemons/evolution-miraidon-2x.png\",\n        \"move_p1\": { \"name\": \"Hadron Engine\", \"image\": \"moves/miraidon_p1.png\" },\n    \"move_s1\": { \"name\": \"Thunder Shock\", \"image\": \"moves/miraidon_s1.png\" },\n    \"move_s2\": { \"name\": \"Thunder Wave\", \"image\": \"moves/miraidon_s2.png\" },\n    \"move_u1\": { \"name\": \"Bright Future Meteor Storm\", \"image\": \"moves/miraidon_u1.png\" },\n\"move_s11\": { \"name\": \"Charge Beam\", \"image\": \"moves/miraidon_s11.png\" },\n    \"move_s12\": { \"name\": \"Electro Drift\", \"image\": \"moves/miraidon_s12.png\" },\n    \"move_s21\": { \"name\": \"Thunder\", \"image\": \"moves/miraidon_s21.png\" },\n    \"move_s22\": { \"name\": \"Parabolic Charge\", \"image\": \"moves/miraidon_s22.png\" },\n  },\n  \"active\": true,\n  \"battleType\": BattleType.ATTACKER,\n  \"stats\": {\n    \"offense\": 4,\n    \"endurance\": 2,\n    \"mobility\": 2,\n    \"scoring\": 2.5,\n    \"support\": 4\n  },\n  \"tags\": [\n    Tag.RANGED,\n    Tag.ATTACKER\n  ],\n  \"difficulty\": 1\n}];\n\nexport default pokemons;\n","import type { Neutral } from \"./types\";\n\nconst neutrals: Neutral[] = [\n  { id: \"accelgor\", image: \"neutrals/accelgor.png\", name: \"Accelgor\", dex: 617 },\n  { id: \"altaria\", image: \"neutrals/altaria.png\", name: \"Altaria\", dex: 334 },\n  { id: \"baltoy\", image: \"neutrals/baltoy.png\", name: \"Baltoy\", dex: 343 },\n  { id: \"bunnelby\", image: \"neutrals/bunnelby.png\", name: \"Bunnelby\", dex: 659 },\n  { id: \"escavalier\", image: \"neutrals/escavalier.png\", name: \"Escavalier\", dex: 589 },\n  { id: \"groudon\", image: \"neutrals/groudon.png\", name: \"Groudon\", dex: 383 },\n  { id: \"indeedee\", image: \"neutrals/indeedee.png\", name: \"Indeedee\", dex: 876 },\n  { id: \"kyogre\", image: \"neutrals/kyogre.png\", name: \"Kyogre\", dex: 382 },\n  { id: \"natu\", image: \"neutrals/natu.png\", name: \"Natu\", dex: 177 },\n  { id: \"rayquaza\", image: \"neutrals/rayquaza.png\", name: \"Rayquaza\", dex: 384 },\n  { id: \"regidrago\", image: \"neutrals/regidrago.png\", name: \"Regidrago\", dex: 895 },\n  { id: \"regice\", image: \"neutrals/regice.png\", name: \"Regice\", dex: 378 },\n  { id: \"regieleki\", image: \"neutrals/regieleki.png\", name: \"Regieleki\", dex: 894 },\n  { id: \"regirock\", image: \"neutrals/regirock.png\", name: \"Regirock\", dex: 377 },\n  { id: \"registeel\", image: \"neutrals/registeel.png\", name: \"Registeel\", dex: 379 },\n  { id: \"salac\", image: \"neutrals/salac.png\", name: \"Salac Berry\" },\n  { id: \"sitrus\", image: \"neutrals/sitrus.png\", name: \"Sitrus Berry\" },\n  { id: \"xatu\", image: \"neutrals/xatu.png\", name: \"Xatu\", dex: 178 },\n];\n\nexport default neutrals;\n","import type { MapSpawn } from \"./types\";\n\nconst spawns: MapSpawn[] = [\n  // --- map-groudon ---\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"groudon\",\n    left: \"50%\",\n    top: \"43%\",\n    spawnTime: \"02:00\",\n    respawnTime: 0,\n    permanentDelete: false,\n    infoKey: \"groudon.boss\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"19.5%\",\n    top: \"47%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"20.5%\",\n    top: \"38.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"22.21%\",\n    top: \"58%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"25.5%\",\n    top: \"29.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"32.74%\",\n    top: \"65.02%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"34%\",\n    top: \"22.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"80.5%\",\n    top: \"49.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"80%\",\n    top: \"37.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"77%\",\n    top: \"58%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"75%\",\n    top: \"29.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"67.5%\",\n    top: \"67%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"66%\",\n    top: \"22.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"50.06%\",\n    top: \"13.54%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_940\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"56.84%\",\n    top: \"12.37%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_920\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"43.5%\",\n    top: \"13.5%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_920\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"48.89%\",\n    top: \"75.55%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_940\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"51.7%\",\n    top: \"75.55%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_940\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"bunnelby\",\n    left: \"50.06%\",\n    top: \"59.76%\",\n    spawnTime: \"09:15\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_915\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"accelgor\",\n    left: \"35%\",\n    top: \"52%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"accelgor\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"accelgor\",\n    left: \"65%\",\n    top: \"52%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"accelgor\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"escavalier\",\n    left: \"35%\",\n    top: \"35.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"escavalier\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"escavalier\",\n    left: \"65%\",\n    top: \"35%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"escavalier\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"28.5%\",\n    top: \"38.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.generic\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"28%\",\n    top: \"49.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.generic\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"71.5%\",\n    top: \"38%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.generic\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"72.5%\",\n    top: \"50%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.generic\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"56%\",\n    top: \"23%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"44%\",\n    top: \"23.5%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"50.06%\",\n    top: \"10.03%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"35%\",\n    top: \"14%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_only\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"67.26%\",\n    top: \"12.37%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_only\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"33%\",\n    top: \"75%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"67.5%\",\n    top: \"76%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_only\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"43.5%\",\n    top: \"43.5%\",\n    spawnTime: \"08:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_840\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"57%\",\n    top: \"43%\",\n    spawnTime: \"08:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_840\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"30%\",\n    top: \"32%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"71.5%\",\n    top: \"32.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"27.5%\",\n    top: \"54%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"baltoy\",\n    left: \"72%\",\n    top: \"54.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regidrago\",\n    left: \"50%\",\n    top: \"51.5%\",\n    spawnTime: \"08:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:30\",\n    infoKey: \"regidrago\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regieleki\",\n    left: \"50%\",\n    top: \"9.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regieleki\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regieleki\",\n    left: \"50.06%\",\n    top: \"84.91%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regieleki\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regice\",\n    left: \"50%\",\n    top: \"4%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regice\",\n    left: \"50%\",\n    top: \"90%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"registeel\",\n    left: \"46.5%\",\n    top: \"7.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"registeel\",\n    left: \"46%\",\n    top: \"88.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regirock\",\n    left: \"53.5%\",\n    top: \"8.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"regirock\",\n    left: \"54%\",\n    top: \"88.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"xatu\",\n    left: \"25.5%\",\n    top: \"43.5%\",\n    spawnTime: \"09:59\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"xatu\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"xatu\",\n    left: \"74.5%\",\n    top: \"43%\",\n    spawnTime: \"09:59\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"xatu\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"natu\",\n    left: \"51%\",\n    top: \"42.5%\",\n    spawnTime: \"09:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    despawnTime: \"02:00\",\n    infoKey: \"natu.900\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"natu\",\n    left: \"49%\",\n    top: \"42.5%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"natu.920\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"42%\",\n    top: \"77%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_930\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"42.5%\",\n    top: \"63%\",\n    spawnTime: \"09:35\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_935\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"57.5%\",\n    top: \"76.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_930\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"56.5%\",\n    top: \"63%\",\n    spawnTime: \"09:35\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_935\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"29%\",\n    top: \"17.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"22.5%\",\n    top: \"23.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"19%\",\n    top: \"31%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"71.5%\",\n    top: \"18.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"77.5%\",\n    top: \"23.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"81.5%\",\n    top: \"31.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"16.5%\",\n    top: \"59.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"19.5%\",\n    top: \"65%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"81%\",\n    top: \"64.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"indeedee\",\n    left: \"84%\",\n    top: \"59%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"36.72%\",\n    top: \"64.44%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"34.73%\",\n    top: \"68.53%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"63%\",\n    top: \"66.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"64%\",\n    top: \"72%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"38.5%\",\n    top: \"22.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"37.5%\",\n    top: \"18%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"62%\",\n    top: \"22%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"sitrus\",\n    left: \"63%\",\n    top: \"17.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"salac\",\n    left: \"46%\",\n    top: \"51%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"salac\",\n    left: \"55%\",\n    top: \"51%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"salac\",\n    left: \"46%\",\n    top: \"36%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"salac\",\n    left: \"54.5%\",\n    top: \"36%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac\",\n  },\n  {\n    mapId: \"map-groudon\",\n    neutralId: \"altaria\",\n    left: \"0%\",\n    top: \"0%\",\n    spawnTime: \"NaN:NaN\",\n    respawnTime: 0,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"altaria.after_regidrago\",\n  },\n  // --- map-kyogre ---\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"kyogre\",\n    left: \"50%\",\n    top: \"42.5%\",\n    spawnTime: \"02:00\",\n    respawnTime: 0,\n    permanentDelete: false,\n    infoKey: \"kyogre.boss\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"20%\",\n    top: \"48.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"20%\",\n    top: \"39%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"23.5%\",\n    top: \"58%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"24.5%\",\n    top: \"31%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"32.39%\",\n    top: \"65.44%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"33.5%\",\n    top: \"23.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"81%\",\n    top: \"49%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"80%\",\n    top: \"37.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"76.5%\",\n    top: \"58.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"75.5%\",\n    top: \"30.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"67.5%\",\n    top: \"66.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"67%\",\n    top: \"22.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.initial\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"50.06%\",\n    top: \"13.96%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"56.84%\",\n    top: \"12.79%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_920_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"44%\",\n    top: \"14%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_920_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"48.89%\",\n    top: \"75.97%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"51.7%\",\n    top: \"75.97%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"bunnelby\",\n    left: \"50%\",\n    top: \"62%\",\n    spawnTime: \"09:15\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_915_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"accelgor\",\n    left: \"29%\",\n    top: \"50.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"accelgor\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"accelgor\",\n    left: \"71.5%\",\n    top: \"50%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"accelgor\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"escavalier\",\n    left: \"35.5%\",\n    top: \"34.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"escavalier\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"escavalier\",\n    left: \"65%\",\n    top: \"35%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"escavalier\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"28.5%\",\n    top: \"38.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"35%\",\n    top: \"50%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"71.5%\",\n    top: \"38%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"66%\",\n    top: \"51%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"56.84%\",\n    top: \"22.15%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"43.5%\",\n    top: \"24%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"50.06%\",\n    top: \"10.45%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"35%\",\n    top: \"15%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"66%\",\n    top: \"15%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"33.5%\",\n    top: \"76%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"67.5%\",\n    top: \"75.5%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"43.5%\",\n    top: \"45.5%\",\n    spawnTime: \"08:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_840_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"57%\",\n    top: \"45.5%\",\n    spawnTime: \"08:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_840_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"30%\",\n    top: \"32.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_kyogre\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"69.5%\",\n    top: \"32%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_kyogre\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"28%\",\n    top: \"55%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_kyogre\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"baltoy\",\n    left: \"72.5%\",\n    top: \"54%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_kyogre\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regidrago\",\n    left: \"50%\",\n    top: \"52%\",\n    spawnTime: \"08:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regidrago.kyogre\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regieleki\",\n    left: \"50%\",\n    top: \"10%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regieleki\",\n    left: \"50%\",\n    top: \"85.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regice\",\n    left: \"50%\",\n    top: \"3.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regice\",\n    left: \"50.06%\",\n    top: \"92.35%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"registeel\",\n    left: \"46.5%\",\n    top: \"7%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"registeel\",\n    left: \"46%\",\n    top: \"90%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regirock\",\n    left: \"54%\",\n    top: \"7.5%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"regirock\",\n    left: \"53.5%\",\n    top: \"90%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"xatu\",\n    left: \"23.62%\",\n    top: \"42.04%\",\n    spawnTime: \"09:59\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"xatu.short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"xatu\",\n    left: \"75.5%\",\n    top: \"43%\",\n    spawnTime: \"09:59\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"xatu.short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"natu\",\n    left: \"49%\",\n    top: \"43%\",\n    spawnTime: \"09:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    despawnTime: \"02:00\",\n    infoKey: \"natu.900\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"natu\",\n    left: \"51%\",\n    top: \"43%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"natu.920\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"42.5%\",\n    top: \"77.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_930\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"44%\",\n    top: \"64.5%\",\n    spawnTime: \"09:35\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_935\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"57%\",\n    top: \"76.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_930\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"56%\",\n    top: \"63.5%\",\n    spawnTime: \"09:35\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_935\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"29%\",\n    top: \"18.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"22%\",\n    top: \"25%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"18.5%\",\n    top: \"31.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"71.5%\",\n    top: \"18%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"78%\",\n    top: \"24.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"81.5%\",\n    top: \"32%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"16.5%\",\n    top: \"59%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"20%\",\n    top: \"64%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"81%\",\n    top: \"63.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"indeedee\",\n    left: \"84%\",\n    top: \"58.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.tower_short\",\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"38%\",\n    top: \"66.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"37%\",\n    top: \"71%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"63%\",\n    top: \"66.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"63.5%\",\n    top: \"71.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"38.5%\",\n    top: \"22.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"37.5%\",\n    top: \"18%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"62%\",\n    top: \"22.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"62.5%\",\n    top: \"18.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"46%\",\n    top: \"51.5%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"54.5%\",\n    top: \"50.81%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"46%\",\n    top: \"36%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"54%\",\n    top: \"35.5%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"36.72%\",\n    top: \"42.04%\",\n    spawnTime: \"05:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"sitrus\",\n    left: \"63.4%\",\n    top: \"42.04%\",\n    spawnTime: \"05:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-kyogre\",\n    neutralId: \"altaria\",\n    left: \"0%\",\n    top: \"0%\",\n    spawnTime: \"NaN:NaN\",\n    respawnTime: 0,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"altaria.after_regidrago\",\n  },\n  // --- map-rayquaza ---\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"rayquaza\",\n    left: \"50%\",\n    top: \"43%\",\n    spawnTime: \"02:00\",\n    respawnTime: 0,\n    permanentDelete: false,\n    infoKey: \"rayquaza.boss\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"20%\",\n    top: \"48.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"20%\",\n    top: \"38.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"24%\",\n    top: \"58%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"25.5%\",\n    top: \"30.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"34%\",\n    top: \"65.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"33%\",\n    top: \"69%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"34%\",\n    top: \"24.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"33.5%\",\n    top: \"21.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"81%\",\n    top: \"48%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"80.5%\",\n    top: \"38.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"76.77%\",\n    top: \"58.42%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"75.5%\",\n    top: \"31%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"67%\",\n    top: \"65%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"68%\",\n    top: \"68.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"66%\",\n    top: \"20.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"65%\",\n    top: \"23%\",\n    spawnTime: \"10:00\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"bunnelby.points\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"50%\",\n    top: \"14.5%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"56.65%\",\n    top: \"12.79%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_920_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"42.61%\",\n    top: \"12.79%\",\n    spawnTime: \"09:20\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_920_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"48.69%\",\n    top: \"75.97%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"51.5%\",\n    top: \"75.97%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"bunnelby\",\n    left: \"49.86%\",\n    top: \"60.17%\",\n    spawnTime: \"09:15\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"bunnelby.lane_915_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"accelgor\",\n    left: \"35.5%\",\n    top: \"52%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"accelgor\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"accelgor\",\n    left: \"64.5%\",\n    top: \"51.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"accelgor\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"escavalier\",\n    left: \"36%\",\n    top: \"34%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"escavalier\",\n    left: \"65.5%\",\n    top: \"35.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"29%\",\n    top: \"38.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"28%\",\n    top: \"49.5%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"73.26%\",\n    top: \"36.19%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"72.5%\",\n    top: \"50%\",\n    spawnTime: \"09:45\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.945_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"49.98%\",\n    top: \"23.9%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"56.65%\",\n    top: \"22.15%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"42.61%\",\n    top: \"22.15%\",\n    spawnTime: \"09:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_940_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"50%\",\n    top: \"10.5%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"33.13%\",\n    top: \"12.79%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"65.5%\",\n    top: \"14.5%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"33%\",\n    top: \"75.5%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"67.5%\",\n    top: \"76.5%\",\n    spawnTime: \"09:10\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_910_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"43%\",\n    top: \"43.5%\",\n    spawnTime: \"08:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_840_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"57%\",\n    top: \"43%\",\n    spawnTime: \"08:40\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.lane_840_short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"29.5%\",\n    top: \"32%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"71.86%\",\n    top: \"29.75%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"28%\",\n    top: \"54.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"baltoy\",\n    left: \"73%\",\n    top: \"55%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"regieleki\",\n    left: \"49.86%\",\n    top: \"8.11%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"regice\",\n    left: \"49.86%\",\n    top: \"85.33%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"registeel\",\n    left: \"45.18%\",\n    top: \"85.33%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"regirock\",\n    left: \"54.54%\",\n    top: \"85.33%\",\n    spawnTime: \"07:00\",\n    respawnTime: 120,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"regi.700\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"xatu\",\n    left: \"25.5%\",\n    top: \"43%\",\n    spawnTime: \"09:59\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"xatu.short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"xatu\",\n    left: \"74.5%\",\n    top: \"43.5%\",\n    spawnTime: \"09:59\",\n    respawnTime: 0,\n    permanentDelete: true,\n    infoKey: \"xatu.short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"42.5%\",\n    top: \"77.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_930\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"43.5%\",\n    top: \"64%\",\n    spawnTime: \"09:35\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_935\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"58%\",\n    top: \"77%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_930\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"57%\",\n    top: \"64%\",\n    spawnTime: \"09:35\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"indeedee.lane_935\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"28.5%\",\n    top: \"18%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"22.5%\",\n    top: \"25%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"19%\",\n    top: \"31.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"71.5%\",\n    top: \"18%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"78.5%\",\n    top: \"24.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"82%\",\n    top: \"32%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"16.5%\",\n    top: \"59.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"19.5%\",\n    top: \"64.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"81%\",\n    top: \"64.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"indeedee\",\n    left: \"84%\",\n    top: \"59.5%\",\n    spawnTime: \"10:00\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"baltoy.tower_break\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"37.5%\",\n    top: \"67.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"36.5%\",\n    top: \"71%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"63%\",\n    top: \"67%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"64%\",\n    top: \"72%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"38.5%\",\n    top: \"22.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"38%\",\n    top: \"18%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"61.5%\",\n    top: \"22.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"sitrus\",\n    left: \"62.5%\",\n    top: \"18.5%\",\n    spawnTime: \"09:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"salac\",\n    left: \"45.5%\",\n    top: \"51%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac.short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"salac\",\n    left: \"55%\",\n    top: \"50.5%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac.short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"salac\",\n    left: \"46%\",\n    top: \"36%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac.short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"salac\",\n    left: \"54.5%\",\n    top: \"36.5%\",\n    spawnTime: \"08:30\",\n    respawnTime: 60,\n    permanentDelete: false,\n    infoKey: \"salac.short\",\n  },\n  {\n    mapId: \"map-rayquaza\",\n    neutralId: \"altaria\",\n    left: \"50%\",\n    top: \"43%\",\n    spawnTime: \"08:00\",\n    respawnTime: 90,\n    permanentDelete: false,\n    despawnTime: \"02:00\",\n    infoKey: \"altaria.rayquaza\",\n  }\n];\n\nexport default spawns;\n","import type { BattleItem } from \"./types\";\n\nconst battleItems: BattleItem[] = [\n  { id: \"potion\", image: \"battle-items/potion.png\", name: \"Potion\" },\n  { id: \"x-attack\", image: \"battle-items/x-attack.png\", name: \"X Attack\" },\n  { id: \"x-speed\", image: \"battle-items/x-speed.png\", name: \"X Speed\" },\n  { id: \"fluffy-tail\", image: \"battle-items/fluffy-tail.png\", name: \"Fluffy Tail\" },\n  { id: \"eject-button\", image: \"battle-items/eject-button.png\", name: \"Eject Button\" },\n  { id: \"slow-smoke\", image: \"battle-items/slow-smoke.png\", name: \"Slow Smoke\" },\n  { id: \"full-heal\", image: \"battle-items/full-heal.png\", name: \"Full Heal\" },\n  { id: \"goal-getter\", image: \"battle-items/goal-getter.png\", name: \"Goal-Getter\" },\n  { id: \"shedinja-doll\", image: \"battle-items/shedinja-doll.png\", name: \"Shedinja Doll\" },\n  { id: \"goal-hacker\", image: \"battle-items/goal-hacker.png\", name: \"Goal Hacker\" },\n];\n\nexport default battleItems;\n","import type { HeldItem } from \"./types\";\n\nconst heldItems: HeldItem[] = [\n  { id: \"aeos-cookie\", image: \"held-items/aeos-cookie.png\", name: \"Aeos Cookie\" },\n  { id: \"attack-weight\", image: \"held-items/attack-weight.png\", name: \"Attack Weight\" },\n  { id: \"special-attack-specs\", image: \"held-items/special-attack-specs.png\", name: \"Sp. Atk Specs\" },\n  { id: \"shell-bell\", image: \"held-items/shell-bell.png\", name: \"Shell Bell\" },\n  { id: \"float-stone\", image: \"held-items/float-stone.png\", name: \"Float Stone\" },\n  { id: \"muscle-band\", image: \"held-items/muscle-band.png\", name: \"Muscle Band\" },\n  { id: \"scope-lens\", image: \"held-items/scope-lens.png\", name: \"Scope Lens\" },\n  { id: \"wise-glasses\", image: \"held-items/wise-glasses.png\", name: \"Wise Glasses\" },\n  { id: \"leftovers\", image: \"held-items/leftovers.png\", name: \"Leftovers\" },\n  { id: \"exp-share\", image: \"held-items/exp-share.png\", name: \"Exp. Share\" },\n  { id: \"focus-band\", image: \"held-items/focus-band.png\", name: \"Focus Band\" },\n  { id: \"energy-amplifier\", image: \"held-items/energy-amplifier.png\", name: \"Energy Amplifier\" },\n  { id: \"buddy-barrier\", image: \"held-items/buddy-barrier.png\", name: \"Buddy Barrier\" },\n  { id: \"score-shield\", image: \"held-items/score-shield.png\", name: \"Score Shield\" },\n  { id: \"assault-vest\", image: \"held-items/assault-vest.png\", name: \"Assault Vest\" },\n  { id: \"rocky-helmet\", image: \"held-items/rocky-helmet.png\", name: \"Rocky Helmet\" },\n  { id: \"razor-claw\", image: \"held-items/razor-claw.png\", name: \"Razor Claw\" },\n  { id: \"choice-specs\", image: \"held-items/choice-specs.png\", name: \"Choice Specs\" },\n  { id: \"weakness-policy\", image: \"held-items/weakness-policy.png\", name: \"Weakness Policy\" },\n  { id: \"rapid-fire-scarf\", image: \"held-items/rapid-fire-scarf.png\", name: \"Rapid-Fire Scarf\" },\n  { id: \"drain-crown\", image: \"held-items/drain-crown.png\", name: \"Drain Crown\" },\n  { id: \"slick-spoon\", image: \"held-items/slick-spoon.png\", name: \"Slick Spoon\" },\n  { id: \"rescue-hood\", image: \"held-items/rescue-hood.png\", name: \"Rescue Hood\" },\n  { id: \"curse-bangle\", image: \"held-items/curse-bangle.png\", name: \"Curse Bangle\" },\n  { id: \"curse-incense\", image: \"held-items/curse-incense.png\", name: \"Curse Incense\" },\n  { id: \"charging-charm\", image: \"held-items/charging-charm.png\", name: \"Charging Charm\" },\n  { id: \"resonant-guard\", image: \"held-items/resonant-guard.png\", name: \"Resonant Guard\" },\n  { id: \"drive-lens\", image: \"held-items/drive-lens.png\", name: \"Drive Lens\" },\n  { id: \"accel-bracer\", image: \"held-items/accel-bracer.png\", name: \"Accel Bracer\" },\n  { id: \"amulet-coin\", image: \"held-items/amulet-coin.png\", name: \"Amulet Coin\" },\n  { id: \"choice-scarf\", image: \"held-items/choice-scarf.png\", name: \"Choice Scarf\" },\n  { id: \"big-root\", image: \"held-items/big-root.png\", name: \"Big Root\" },\n  { id: \"tenacity-belt\", image: \"held-items/tenacity-belt.png\", name: \"Tenacity Belt\" },\n  { id: \"vanguard-bell\", image: \"held-items/vanguard-bell.png\", name: \"Vanguard Bell\" },\n  { id: \"rusted-sword\", image: \"held-items/rusted-sword.png\", name: \"Rusted Sword\", exclusive: \"Zacian\" },\n  { id: \"mewtwonite-x\", image: \"held-items/mewtwonite-x.png\", name: \"Mewtwonite X\", exclusive: \"Mewtwo\" },\n  { id: \"mewtwonite-y\", image: \"held-items/mewtwonite-y.png\", name: \"Mewtwonite Y\", exclusive: \"Mewtwo\" },\n  { id: \"lucarionite\", image: \"held-items/lucarionite.png\", name: \"Lucarionite\", exclusive: \"Lucario\" },\n  { id: \"charizardite-x\", image: \"held-items/charizardite-x.png\", name: \"Charizardite X\", exclusive: \"Charizard\" },\n  { id: \"charizardite-y\", image: \"held-items/charizardite-y.png\", name: \"Charizardite Y\", exclusive: \"Charizard\" },\n  { id: \"gyaradosite\", image: \"held-items/gyaradosite.png\", name: \"Gyaradosite\", exclusive: \"Gyarados\" },\n];\n\nexport default heldItems;\n","import type {\n  Pokemon,\n  PokemonImages,\n  PokemonSkillNames,\n  MoveSlotEntry,\n  MoveSlotId,\n  BattleType,\n  Tag,\n  Map,\n  MapResolution,\n  Neutral,\n  MapSpawn,\n  BattleItem,\n  HeldItem,\n} from \"./types\";\nimport { POKEMON_MOVE_SLOT_IDS } from \"./types\";\nimport pokemons from \"./pokemons\";\nimport neutrals from \"./neutrals\";\nimport spawns from \"./spawns\";\nimport battleItems from \"./battleItems\";\nimport heldItems from \"./heldItems\";\n\nexport interface GetImageUrlOptions {\n  /** Base URL for assets (e.g. CDN). No trailing slash. */\n  baseUrl?: string;\n}\n\n/**\n * Returns the full or relative URL for a Pokémon image.\n * Use baseUrl for CDN: e.g. \"https://cdn.jsdelivr.net/npm/unite-lib@1.0.0\"\n */\nexport function getImageUrl(\n  pokemon: Pokemon,\n  imageKey: keyof PokemonImages,\n  options?: GetImageUrlOptions\n): string {\n  const raw = pokemon.images[imageKey];\n  if (raw == null || raw === \"\") return \"\";\n  const path =\n    typeof raw === \"string\"\n      ? raw\n      : typeof raw === \"object\" && raw != null && \"image\" in raw\n        ? (raw as MoveSlotEntry).image\n        : \"\";\n  if (path === \"\") return \"\";\n  const base = options?.baseUrl?.replace(/\\/$/, \"\");\n  return base ? `${base}/${path}` : path;\n}\n\n/**\n * Returns the image URL for a map, optionally at a given resolution (1x, 2x, 4x).\n * Falls back to map.image when resolution is omitted or not available.\n */\nexport function getMapImageUrl(\n  map: Map,\n  resolution?: MapResolution,\n  options?: GetImageUrlOptions\n): string {\n  const path =\n    resolution && map.images?.[resolution] != null\n      ? map.images[resolution]\n      : map.image;\n  if (path == null || path === \"\") return \"\";\n  const base = options?.baseUrl?.replace(/\\/$/, \"\");\n  return base ? `${base}/${path}` : path;\n}\n\n/**\n * Returns spawns for a given map id (e.g. \"map-groudon\", \"map-kyogre\", \"map-rayquaza\").\n */\nexport function getSpawnsByMap(mapId: string): MapSpawn[] {\n  return spawns.filter((s) => s.mapId === mapId);\n}\n\n/**\n * Parses game clock \"MM:SS\" to seconds remaining (e.g. \"10:00\" → 600, \"02:00\" → 120).\n */\nexport function parseGameClockToSeconds(clock: string): number {\n  const parts = String(clock).trim().split(\":\");\n  const m = parseInt(parts[0], 10) || 0;\n  const s = parseInt(parts[1], 10) || 0;\n  return m * 60 + s;\n}\n\n/**\n * Returns whether a spawn is visible at the given game clock (seconds remaining).\n * Considers both spawnTime (spawn appears when clock ≤ spawnTime) and despawnTime\n * (spawn disappears when clock ≤ despawnTime, e.g. center Natu/Altaria when boss spawns at 02:00).\n */\nexport function isSpawnVisibleAtGameClock(\n  spawn: MapSpawn,\n  gameClockSeconds: number\n): boolean {\n  const spawnSec = parseGameClockToSeconds(spawn.spawnTime);\n  if (gameClockSeconds > spawnSec) return false;\n  if (spawn.despawnTime != null && spawn.despawnTime !== \"\") {\n    const despawnSec = parseGameClockToSeconds(spawn.despawnTime);\n    if (gameClockSeconds <= despawnSec) return false;\n  }\n  return true;\n}\n\n/**\n * Returns spawns for a map that are visible at the given game clock (seconds remaining).\n * Use this when you need to show only spawns that have already appeared and not yet despawned.\n */\nexport function getSpawnsByMapVisibleAt(\n  mapId: string,\n  gameClockSeconds: number\n): MapSpawn[] {\n  return getSpawnsByMap(mapId).filter((s) =>\n    isSpawnVisibleAtGameClock(s, gameClockSeconds)\n  );\n}\n\n/**\n * Returns the neutral by id, or undefined if not found.\n */\nexport function getNeutralById(id: string): Neutral | undefined {\n  return neutrals.find((n) => n.id === id);\n}\n\n/**\n * Returns the image URL for a neutral (wild Pokémon or item).\n */\nexport function getNeutralImageUrl(\n  neutral: Neutral,\n  options?: GetImageUrlOptions\n): string {\n  const path = neutral.image;\n  if (path == null || path === \"\") return \"\";\n  const base = options?.baseUrl?.replace(/\\/$/, \"\");\n  return base ? `${base}/${path}` : path;\n}\n\nexport function getPokemonByName(name: string): Pokemon | undefined {\n  return pokemons.find((p) => p.name === name);\n}\n\nexport function getPokemonByDex(dex: number): Pokemon | undefined {\n  return pokemons.find((p) => p.dex === dex);\n}\n\n/**\n * Slug from roster image: \"pokemons/roster-venusaur.png\" -> \"venusaur\"\n * Use this slug with getPokemonName(id, locale) for i18n.\n */\nexport function getPokemonSlug(pokemon: Pokemon): string {\n  return pokemon.images.main.replace(/^pokemons\\/roster-/, \"\").replace(/\\.png$/, \"\");\n}\n\n/**\n * Resolved English skill names from `images.move_*.{ name }` and optional deprecated `skillNames` overrides.\n */\nexport function getPokemonSkillNames(pokemon: Pokemon): PokemonSkillNames {\n  const merged: PokemonSkillNames = {};\n  for (const slotId of POKEMON_MOVE_SLOT_IDS) {\n    const key = `move_${slotId}` as keyof PokemonImages;\n    const v = pokemon.images[key];\n    if (\n      v &&\n      typeof v === \"object\" &&\n      \"name\" in v &&\n      (v as MoveSlotEntry).name != null &&\n      (v as MoveSlotEntry).name !== \"\"\n    ) {\n      merged[slotId] = (v as MoveSlotEntry).name;\n    }\n  }\n  return { ...merged, ...pokemon.skillNames };\n}\n\n/**\n * Resolves one move slot to `{ name, image }`.\n * Supports legacy `images.move_*` as a plain string path.\n */\nexport function resolveMoveSlot(\n  pokemon: Pokemon,\n  slotId: MoveSlotId\n): { name: string; image: string } | null {\n  const key = `move_${slotId}` as keyof PokemonImages;\n  const raw = pokemon.images[key];\n  if (raw == null || raw === \"\") return null;\n  const names = getPokemonSkillNames(pokemon);\n  const fallbackName = names[slotId] ?? `${pokemon.name} (${slotId})`;\n  if (typeof raw === \"string\") {\n    return { name: fallbackName, image: raw };\n  }\n  return {\n    name: raw.name !== \"\" ? raw.name : fallbackName,\n    image: raw.image,\n  };\n}\n\nexport function getPokemonBySlug(slug: string): Pokemon | undefined {\n  return pokemons.find((p) => getPokemonSlug(p) === slug);\n}\n\nexport function getPokemonsByBattleType(battleType: BattleType): Pokemon[] {\n  return pokemons.filter((p) => p.battleType === battleType);\n}\n\nexport function getPokemonsByTag(tag: Tag): Pokemon[] {\n  return pokemons.filter((p) => p.tags.includes(tag));\n}\n\nexport function getActivePokemons(): Pokemon[] {\n  return pokemons.filter((p) => p.active);\n}\n\nexport function getBattleItemById(id: string): BattleItem | undefined {\n  return battleItems.find((b) => b.id === id);\n}\n\nexport function getHeldItemById(id: string): HeldItem | undefined {\n  return heldItems.find((h) => h.id === id);\n}\n\nexport function getHeldItemsByPokemon(pokemonName: string): HeldItem[] {\n  return heldItems.filter(\n    (h) => !h.exclusive || h.exclusive === pokemonName\n  );\n}\n\nexport function getExclusiveHeldItems(): HeldItem[] {\n  return heldItems.filter((h) => h.exclusive != null);\n}\n","import type { Move, MoveSlotId } from \"./types\";\nimport { POKEMON_MOVE_SLOT_IDS } from \"./types\";\nimport pokemons from \"./pokemons\";\nimport { getPokemonSlug, resolveMoveSlot } from \"./utils\";\n\n/**\n * Build structured move list from pokemon roster (one source of truth).\n * Each move is correlated to a Pokémon via pokemonId (slug from image path) and has image path.\n */\nfunction buildMoves(): Move[] {\n  const moves: Move[] = [];\n  for (const pokemon of pokemons) {\n    for (const slotId of POKEMON_MOVE_SLOT_IDS) {\n      const resolved = resolveMoveSlot(pokemon, slotId);\n      if (!resolved) continue;\n      const match = resolved.image.match(/^moves\\/(.+)_(s\\d+|p1|u1)\\.png$/);\n      const pokemonId = match\n        ? match[1]\n        : getPokemonSlug(pokemon);\n      moves.push({\n        pokemonId,\n        slotId,\n        name: resolved.name,\n        image: resolved.image,\n      });\n    }\n  }\n  return moves;\n}\n\nconst moves: Move[] = buildMoves();\n\nexport default moves;\n","import type { Map } from \"./types\";\n\nconst maps: Map[] = [\n  {\n    id: \"map-groudon\",\n    name: \"Theia Sky Ruins\",\n    image: \"maps/map-groudon/map-groudon@4x.png\",\n    images: {\n      \"1\": \"maps/map-groudon/map-groudon@1x.png\",\n      \"2\": \"maps/map-groudon/map-groudon@2x.png\",\n      \"4\": \"maps/map-groudon/map-groudon@4x.png\",\n    },\n    description: \"Map with Groudon\",\n  },\n  {\n    id: \"map-kyogre\",\n    name: \"Theia Sky Ruins\",\n    image: \"maps/map-kyogre/map-kyogre@4x.png\",\n    images: {\n      \"1\": \"maps/map-kyogre/map-kyogre@1x.png\",\n      \"2\": \"maps/map-kyogre/map-kyogre@2x.png\",\n      \"4\": \"maps/map-kyogre/map-kyogre@4x.png\",\n    },\n    description: \"Map with Kyogre\",\n  },\n  {\n    id: \"map-rayquaza\",\n    name: \"Theia Sky Ruins\",\n    image: \"maps/map-rayquaza/map-rayquaza@4x.png\",\n    images: {\n      \"1\": \"maps/map-rayquaza/map-rayquaza@1x.png\",\n      \"2\": \"maps/map-rayquaza/map-rayquaza@2x.png\",\n      \"4\": \"maps/map-rayquaza/map-rayquaza@4x.png\",\n    },\n    description: \"Map with Rayquaza\",\n  },\n];\n\nexport default maps;\n","import pokemons from \"../pokemons\";\nimport maps from \"../maps\";\nimport neutrals from \"../neutrals\";\nimport battleItems from \"../battleItems\";\nimport heldItems from \"../heldItems\";\n\n/** Slug from roster image path: \"pokemons/roster-venusaur.png\" -> \"venusaur\" */\nfunction slugFromMain(mainPath: string): string {\n  return mainPath.replace(/^pokemons\\/roster-/, \"\").replace(/\\.png$/, \"\");\n}\n\nconst names: Record<string, string> = {};\nfor (const p of pokemons) {\n  names[slugFromMain(p.images.main)] = p.name;\n}\nfor (const m of maps) {\n  names[m.id] = m.name;\n  if (m.description) names[`${m.id}.description`] = m.description;\n}\nfor (const n of neutrals) {\n  names[n.id] = n.name;\n}\nfor (const b of battleItems) {\n  names[`battle-item.${b.id}`] = b.name;\n}\nfor (const h of heldItems) {\n  names[`held-item.${h.id}`] = h.name;\n}\n\n// Aliases for slug variants (e.g. kebab-case \"mega-mewtwo-x\" from display name).\nnames[\"mega-mewtwo-x\"] = \"Mega Mewtwo X\";\nnames[\"mega-mewtwo-y\"] = \"Mega Mewtwo Y\";\n\n// Spawn info (HTML). Other locales override same keys for translations.\nObject.assign(names, {\n  \"spawn.info.groudon.boss\":\n    \"<p>When defeated, all team members alive receive a <strong>buff</strong> and <strong>15 aeos points</strong>.<br>This buff is <strong>permanent until the holder is KO'd</strong>. When the holder is <strong>KO'd</strong>, the buff <strong>transfers to the killer</strong>.<br>It provides a <strong>goal-scoring speed boost</strong>, a <strong>huge damage boost</strong>, and a <strong>small shield</strong>.<br>Always spawn at 2:00.</p>\",\n  \"spawn.info.bunnelby.initial\":\n    \"<p>They <strong>spawn at the beginning of the game</strong> and <strong>never respawn</strong> once killed.</p><p>Give 2 points.</p>\",\n  \"spawn.info.bunnelby.lane_940\":\n    \"<p>Starts spawning at <strong>9:40</strong>.</p><p>When defeated, grants <strong>2 points</strong> and respawn after <strong>60 seconds</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920\":\n    \"<p>Starts spawning at <strong>9:20</strong>.</p><p>When defeated, grants <strong>2 points</strong> and respawn after <strong>60 seconds</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915\":\n    \"<p>Starts spawning at <strong>9:15</strong>.</p><p>When defeated, grants <strong>2 points</strong> and respawn after <strong>60 seconds</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.accelgor\":\n    \"<p>Starts spawning at <strong>9:45</strong>.</p><p>When defeated, grants <strong>4 / 7 points</strong> and a <strong>buff</strong>. <strong>Respawns after 60 seconds</strong>.</p><p>This buff lasts for <strong>70 seconds</strong> and provides a <strong>10% move cooldown reduction</strong>.</p>\",\n  \"spawn.info.escavalier\":\n    \"<p>Starts spawning at <strong>9:45</strong>.</p><p>When defeated, grants <strong>4 / 7 points</strong> and a <strong>buff</strong>. <strong>Respawns after 60 seconds</strong>.</p><p>This buff lasts for <strong>70 seconds</strong> and provides <strong>basic attacks extra damage and decreases opponent movement speed for a short time</strong>.</p>\",\n  \"spawn.info.baltoy.generic\":\n    \"<p>Starts spawning at <strong>9:45</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940\":\n    \"<p>Starts spawning at <strong>9:40</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.baltoy.lane_920\":\n    \"<p>Starts spawning at <strong>9:40</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910\":\n    \"<p>Starts spawning at <strong>9:10</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_only\":\n    \"<p>Starts spawning at <strong>9:10</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840\":\n    \"<p>Starts spawning at <strong>8:40</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p>\",\n  \"spawn.info.baltoy.tower\":\n    \"<p>Starts spawning when the corresponding <strong>first tower is destroyed</strong>.</p><p>When defeated, grants <strong>2 points</strong>. <strong>Respawns after 60 seconds</strong>.</p>\",\n  \"spawn.info.regidrago\":\n    \"<p>Spawns in the <strong>middle of the map at 8:00</strong>. When killed, <strong>Altaria spawn instead 1:30 minute after</strong>.<br>The team that defeats <strong>Regidrago</strong> gains <strong>experience for all teammates</strong>.<br>The player who lands the killing blow receives a <strong>scoring-speed buff</strong> and <strong>20 points</strong>.</p>\",\n  \"spawn.info.regieleki\":\n    \"<p>Spawns at <strong>7:00</strong> on a random lane between <strong>toplane and botlane</strong>.<br>When defeated, goes to the base of the opposing team and if it touches the base, scores <strong>20/16/12/8 points</strong> and if the base is still alive, makes <strong>any goal become instant during 20/15/10/5s</strong>.<br>The player who lands the killing blow receives <strong>20 points</strong>.<br>Respawns <strong>2 minutes</strong> after death.</p>\",\n  \"spawn.info.regi.700\":\n    \"<p>Spawns at <strong>7:00</strong>.</p>\",\n  \"spawn.info.xatu\":\n    \"<p>Spawns at <strong>9:59</strong>.</p><p>Grants <strong>a large amount of experience</strong> and <strong>2 points</strong> when defeated.</p><p><strong>Does not respawn</strong>.</p>\",\n  \"spawn.info.natu.900\":\n    \"<p>Spawns at <strong>9:00</strong>.</p>\",\n  \"spawn.info.natu.920\":\n    \"<p>Spawns at <strong>9:20</strong>.</p>\",\n  \"spawn.info.indeedee.lane\":\n    \"<p>Starts spawning at <strong>9:30</strong> / <strong>9:35</strong>.</p><p>When defeated, <strong>respawns after 60 seconds</strong> and grants <strong>5 points</strong>.</p><p>If either of the <strong>first towers</strong> in the lane is destroyed, it <strong>disappears</strong>.</p>\",\n  \"spawn.info.indeedee.tower\":\n    \"<p>Spawns when the corresponding <strong>first tower</strong> is destroyed.</p><p>When defeated, <strong>respawns after 60 seconds</strong> and grants <strong>5 points</strong>.</p>\",\n  \"spawn.info.salac\":\n    \"<p>When consumed, grants a <strong>movement speed bonus</strong> for <strong>3 seconds</strong>.</p><p>Starts spawning at <strong>8:30</strong> and respawns <strong>60 seconds</strong> after being consumed.</p>\",\n  \"spawn.info.salac.short\":\n    \"<p>Movement speed bonus for 3 seconds.</p>\",\n  \"spawn.info.altaria.after_regidrago\":\n    \"<p>Starts spawning <strong>mid 1:30 after Regidrago is killed</strong>.</p>\",\n  \"spawn.info.altaria.rayquaza\":\n    \"<p>Spawn at <strong>8:00</strong> and respawn every <strong>1:30</strong>.</p><p>Disappears at <strong>2:30</strong>.</p>\",\n  \"spawn.info.kyogre.boss\":\n    \"<p>When defeated, all team members alive receive a <strong>buff</strong>, <strong>15 aeos points</strong> and all opponents' towers still up are disabled for 1:30 (opponent can't receive shield and regen).<br>This buff is <strong>permanent until the holder is KO'd</strong>. When the holder is <strong>KO'd</strong>, the buff <strong>transfers to the killer</strong>.<br>It provides a <strong>goal-scoring speed boost</strong>, <strong>self regen (5% per second)</strong>, and a <strong>small shield</strong>.<br>Always spawn at 2:00.</p>\",\n  \"spawn.info.rayquaza.boss\":\n    \"<p>When defeated, grants the winning team <strong>15 aeos points</strong>, a <strong>shield</strong> that <strong>speeds up goal scoring</strong> and <strong>prevents goals from being blocked</strong>.<br>Always spawns at 2:00.</p>\",\n  \"spawn.info.regidrago.kyogre\":\n    \"<p>Spawns in the <strong>middle of the map at 8:00</strong>.</p>\",\n  \"spawn.info.xatu.short\":\n    \"<p>Spawns at <strong>9:59</strong>.</p>\",\n  \"spawn.info.indeedee.tower_break\":\n    \"<p>Tower break spawn.</p>\",\n  \"spawn.info.baltoy.tower_break\":\n    \"<p>Tower break spawn.</p>\",\n  \"spawn.info.bunnelby.lane\":\n    \"<p>Starts spawning at <strong>9:40</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920_short\":\n    \"<p>Starts spawning at <strong>9:20</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915_short\":\n    \"<p>Starts spawning at <strong>9:15</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940_short\":\n    \"<p>Starts spawning at <strong>9:40</strong>.</p>\",\n  \"spawn.info.baltoy.945_short\":\n    \"<p>Starts spawning at <strong>9:45</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_short\":\n    \"<p>Starts spawning at <strong>9:10</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840_short\":\n    \"<p>Starts spawning at <strong>8:40</strong>.</p>\",\n  \"spawn.info.indeedee.lane_930\":\n    \"<p>Starts spawning at <strong>9:30</strong>.</p>\",\n  \"spawn.info.indeedee.lane_935\":\n    \"<p>Starts spawning at <strong>9:35</strong>.</p>\",\n  \"spawn.info.bunnelby.points\":\n    \"<p>Give 2 points.</p>\",\n  \"spawn.info.baltoy.tower_kyogre\":\n    \"<p>Starts spawning when the corresponding <strong>first tower is destroyed</strong>.</p>\",\n  \"spawn.info.indeedee.tower_short\":\n    \"<p>Spawns when the corresponding <strong>first tower</strong> is destroyed.</p>\",\n});\n\n// @begin move-names-i18n\nObject.assign(names, {\n  \"move.acid-spray\": \"Acid Spray\",\n  \"move.acrobatics\": \"Acrobatics\",\n  \"move.aerial-ace\": \"Aerial Ace\",\n  \"move.agility\": \"Agility\",\n  \"move.air-slash\": \"Air Slash\",\n  \"move.amnesia\": \"Amnesia\",\n  \"move.anchor-shot\": \"Anchor Shot\",\n  \"move.ancient-power\": \"Ancient Power\",\n  \"move.aqua-jet\": \"Aqua Jet\",\n  \"move.aqua-ring\": \"Aqua Ring\",\n  \"move.aqua-tail\": \"Aqua Tail\",\n  \"move.armor-cannon\": \"Armor Cannon\",\n  \"move.assurance\": \"Assurance\",\n  \"move.astonish\": \"Astonish\",\n  \"move.aurora-veil\": \"Aurora Veil\",\n  \"move.avalanche\": \"Avalanche\",\n  \"move.baby-doll-eyes\": \"Baby-Doll Eyes\",\n  \"move.barrier\": \"Barrier\",\n  \"move.beat-up\": \"Beat Up\",\n  \"move.belch\": \"Belch\",\n  \"move.bite\": \"Bite\",\n  \"move.bitter-blade\": \"Bitter Blade\",\n  \"move.blaze\": \"Blaze\",\n  \"move.blaze-kick\": \"Blaze Kick\",\n  \"move.blizzard\": \"Blizzard\",\n  \"move.block\": \"Block\",\n  \"move.bone-rush\": \"Bone Rush\",\n  \"move.bounce\": \"Bounce\",\n  \"move.branch-poke\": \"Branch Poke\",\n  \"move.brave-bird\": \"Brave Bird\",\n  \"move.brutal-swing\": \"Brutal Swing\",\n  \"move.bubble\": \"Bubble\",\n  \"move.bubble-beam\": \"Bubble Beam\",\n  \"move.bulk-up\": \"Bulk Up\",\n  \"move.bulldoze\": \"Bulldoze\",\n  \"move.bullet-punch\": \"Bullet Punch\",\n  \"move.bullet-seed\": \"Bullet Seed\",\n  \"move.calm-mind\": \"Calm Mind\",\n  \"move.charge-beam\": \"Charge Beam\",\n  \"move.charm\": \"Charm\",\n  \"move.close-combat\": \"Close Combat\",\n  \"move.coaching\": \"Coaching\",\n  \"move.confuse-ray\": \"Confuse Ray\",\n  \"move.confusion\": \"Confusion\",\n  \"move.cotton-guard\": \"Cotton Guard\",\n  \"move.cotton-spore\": \"Cotton Spore\",\n  \"move.covet\": \"Covet\",\n  \"move.cross-chop\": \"Cross Chop\",\n  \"move.curse\": \"Curse\",\n  \"move.cut\": \"Cut\",\n  \"move.dark-pulse\": \"Dark Pulse\",\n  \"move.dark-void\": \"Dark Void\",\n  \"move.dazzling-gleam\": \"Dazzling Gleam\",\n  \"move.decorate\": \"Decorate\",\n  \"move.defense-curl\": \"Defense Curl\",\n  \"move.detect\": \"Detect\",\n  \"move.dig\": \"Dig\",\n  \"move.disable\": \"Disable\",\n  \"move.disarming-voice\": \"Disarming Voice\",\n  \"move.discharge\": \"Discharge\",\n  \"move.dive\": \"Dive\",\n  \"move.double-hit\": \"Double Hit\",\n  \"move.double-slap\": \"Double Slap\",\n  \"move.double-team\": \"Double Team\",\n  \"move.draco-meteor\": \"Draco Meteor\",\n  \"move.dragon-breath\": \"Dragon Breath\",\n  \"move.dragon-cheer\": \"Dragon Cheer\",\n  \"move.dragon-claw\": \"Dragon Claw\",\n  \"move.dragon-dance\": \"Dragon Dance\",\n  \"move.dragon-pulse\": \"Dragon Pulse\",\n  \"move.dragon-rush\": \"Dragon Rush\",\n  \"move.dragon-tail\": \"Dragon Tail\",\n  \"move.draining-kiss\": \"Draining Kiss\",\n  \"move.dream-eater\": \"Dream Eater\",\n  \"move.drill-peck\": \"Drill Peck\",\n  \"move.dual-wingbeat\": \"Dual Wingbeat\",\n  \"move.dynamic-punch\": \"Dynamic Punch\",\n  \"move.earthquake\": \"Earthquake\",\n  \"move.egg-bomb\": \"Egg Bomb\",\n  \"move.electro-ball\": \"Electro Ball\",\n  \"move.electro-drift\": \"Electro Drift\",\n  \"move.electroweb\": \"Electroweb\",\n  \"move.ember\": \"Ember\",\n  \"move.eruption\": \"Eruption\",\n  \"move.explosive-heat-haze\": \"Explosive Heat Haze\",\n  \"move.extreme-speed\": \"Extreme Speed\",\n  \"move.fairy-wind\": \"Fairy Wind\",\n  \"move.fake-out\": \"Fake Out\",\n  \"move.fake-tears\": \"Fake Tears\",\n  \"move.feather-dance\": \"Feather Dance\",\n  \"move.feint\": \"Feint\",\n  \"move.feint-attack\": \"Feint Attack\",\n  \"move.fell-stinger\": \"Fell Stinger\",\n  \"move.fire-blast\": \"Fire Blast\",\n  \"move.fire-punch\": \"Fire Punch\",\n  \"move.fire-spin\": \"Fire Spin\",\n  \"move.flail\": \"Flail\",\n  \"move.flame-burst\": \"Flame Burst\",\n  \"move.flame-charge\": \"Flame Charge\",\n  \"move.flame-wheel\": \"Flame Wheel\",\n  \"move.flamethrower\": \"Flamethrower\",\n  \"move.flare-blitz\": \"Flare Blitz\",\n  \"move.flash-cannon\": \"Flash Cannon\",\n  \"move.flip-turn\": \"Flip Turn\",\n  \"move.floral-healing\": \"Floral Healing\",\n  \"move.flower-trick\": \"Flower Trick\",\n  \"move.fly\": \"Fly\",\n  \"move.focus-blast\": \"Focus Blast\",\n  \"move.follow-me\": \"Follow Me\",\n  \"move.foul-play\": \"Foul Play\",\n  \"move.freeze-dry\": \"Freeze Dry\",\n  \"move.fury-cutter\": \"Fury Cutter\",\n  \"move.fury-swipes\": \"Fury Swipes\",\n  \"move.future-sight\": \"Future Sight\",\n  \"move.giga-drain\": \"Giga Drain\",\n  \"move.gigaton-hammer\": \"Gigaton Hammer\",\n  \"move.grass-knot\": \"Grass Knot\",\n  \"move.grassy-glide\": \"Grassy Glide\",\n  \"move.gravity\": \"Gravity\",\n  \"move.growl\": \"Growl\",\n  \"move.gyro-ball\": \"Gyro Ball\",\n  \"move.headbutt\": \"Headbutt\",\n  \"move.heal-pulse\": \"Heal Pulse\",\n  \"move.heat-wave\": \"Heat Wave\",\n  \"move.heavy-slam\": \"Heavy Slam\",\n  \"move.helping-hand\": \"Helping Hand\",\n  \"move.hex\": \"Hex\",\n  \"move.high-horsepower\": \"High Horsepower\",\n  \"move.hone-claws\": \"Hone Claws\",\n  \"move.horn-leech\": \"Horn Leech\",\n  \"move.hurricane\": \"Hurricane\",\n  \"move.hydro-cannon\": \"Hydro Cannon\",\n  \"move.hydro-pump\": \"Hydro Pump\",\n  \"move.hyper-beam\": \"Hyper Beam\",\n  \"move.hyper-voice\": \"Hyper Voice\",\n  \"move.hyperspace-hole\": \"Hyperspace Hole\",\n  \"move.hypnosis\": \"Hypnosis\",\n  \"move.ice-beam\": \"Ice Beam\",\n  \"move.ice-fang\": \"Ice Fang\",\n  \"move.ice-hammer\": \"Ice Hammer\",\n  \"move.ice-shard\": \"Ice Shard\",\n  \"move.icicle-crash\": \"Icicle Crash\",\n  \"move.icicle-spear\": \"Icicle Spear\",\n  \"move.icy-wind\": \"Icy Wind\",\n  \"move.imprison\": \"Imprison\",\n  \"move.incinerate\": \"Incinerate\",\n  \"move.iron-defense\": \"Iron Defense\",\n  \"move.iron-head\": \"Iron Head\",\n  \"move.jump-kick\": \"Jump Kick\",\n  \"move.karate-chop\": \"Karate Chop\",\n  \"move.knock-off\": \"Knock Off\",\n  \"move.laser-focus\": \"Laser Focus\",\n  \"move.lava-plume\": \"Lava Plume\",\n  \"move.leaf-blade\": \"Leaf Blade\",\n  \"move.leaf-storm\": \"Leaf Storm\",\n  \"move.leaf-tornado\": \"Leaf Tornado\",\n  \"move.leafage\": \"Leafage\",\n  \"move.leech-life\": \"Leech Life\",\n  \"move.lick\": \"Lick\",\n  \"move.light-screen\": \"Light Screen\",\n  \"move.liquidation\": \"Liquidation\",\n  \"move.low-sweep\": \"Low Sweep\",\n  \"move.lunge\": \"Lunge\",\n  \"move.luster-purge\": \"Luster Purge\",\n  \"move.mach-punch\": \"Mach Punch\",\n  \"move.magical-leaf\": \"Magical Leaf\",\n  \"move.magnet-rise\": \"Magnet Rise\",\n  \"move.mean-look\": \"Mean Look\",\n  \"move.mega-punch\": \"Mega Punch\",\n  \"move.megahorn\": \"Megahorn\",\n  \"move.metal-claw\": \"Metal Claw\",\n  \"move.meteor-mash\": \"Meteor Mash\",\n  \"move.mist-ball\": \"Mist Ball\",\n  \"move.moonblast\": \"Moonblast\",\n  \"move.moonlight\": \"Moonlight\",\n  \"move.muddy-water\": \"Muddy Water\",\n  \"move.mystical-fire\": \"Mystical Fire\",\n  \"move.nasty-plot\": \"Nasty Plot\",\n  \"move.night-shade\": \"Night Shade\",\n  \"move.night-slash\": \"Night Slash\",\n  \"move.no-retreat\": \"No Retreat\",\n  \"move.nuzzle\": \"Nuzzle\",\n  \"move.outrage\": \"Outrage\",\n  \"move.overheat\": \"Overheat\",\n  \"move.pain-split\": \"Pain Split\",\n  \"move.parabolic-charge\": \"Parabolic Charge\",\n  \"move.pay-day\": \"Pay Day\",\n  \"move.payback\": \"Payback\",\n  \"move.peck\": \"Peck\",\n  \"move.perish-song\": \"Perish Song\",\n  \"move.petal-dance\": \"Petal Dance\",\n  \"move.phantom-force\": \"Phantom Force\",\n  \"move.play-rough\": \"Play Rough\",\n  \"move.pollen-puff\": \"Pollen Puff\",\n  \"move.poltergeist\": \"Poltergeist\",\n  \"move.pound\": \"Pound\",\n  \"move.powder-snow\": \"Powder Snow\",\n  \"move.power-swap\": \"Power Swap\",\n  \"move.power-up-punch\": \"Power-Up Punch\",\n  \"move.power-whip\": \"Power Whip\",\n  \"move.psybeam\": \"Psybeam\",\n  \"move.psychic\": \"Psychic\",\n  \"move.psycho-cut\": \"Psycho Cut\",\n  \"move.psyshock\": \"Psyshock\",\n  \"move.psystrike\": \"Psystrike\",\n  \"move.pursuit\": \"Pursuit\",\n  \"move.pyro-ball\": \"Pyro Ball\",\n  \"move.quick-attack\": \"Quick Attack\",\n  \"move.rapid-spin\": \"Rapid Spin\",\n  \"move.razor-leaf\": \"Razor Leaf\",\n  \"move.recover\": \"Recover\",\n  \"move.rest\": \"Rest\",\n  \"move.rock-polish\": \"Rock Polish\",\n  \"move.rock-slide\": \"Rock Slide\",\n  \"move.rock-smash\": \"Rock Smash\",\n  \"move.rock-tomb\": \"Rock Tomb\",\n  \"move.rollout\": \"Rollout\",\n  \"move.sacred-fire\": \"Sacred Fire\",\n  \"move.sacred-sword\": \"Sacred Sword\",\n  \"move.safeguard\": \"Safeguard\",\n  \"move.sand-attack\": \"Sand Attack\",\n  \"move.sand-tomb\": \"Sand Tomb\",\n  \"move.scald\": \"Scald\",\n  \"move.scratch\": \"Scratch\",\n  \"move.seed-bomb\": \"Seed Bomb\",\n  \"move.shadow-ball\": \"Shadow Ball\",\n  \"move.shadow-claw\": \"Shadow Claw\",\n  \"move.shadow-sneak\": \"Shadow Sneak\",\n  \"move.shell-smash\": \"Shell Smash\",\n  \"move.sing\": \"Sing\",\n  \"move.skull-bash\": \"Skull Bash\",\n  \"move.sky-attack\": \"Sky Attack\",\n  \"move.slack-off\": \"Slack Off\",\n  \"move.slash\": \"Slash\",\n  \"move.sludge-bomb\": \"Sludge Bomb\",\n  \"move.smack-down\": \"Smack Down\",\n  \"move.smart-strike\": \"Smart Strike\",\n  \"move.smokescreen\": \"Smokescreen\",\n  \"move.snarl\": \"Snarl\",\n  \"move.snipe-shot\": \"Snipe Shot\",\n  \"move.soft-boiled\": \"Soft-Boiled\",\n  \"move.solar-beam\": \"Solar Beam\",\n  \"move.solar-blade\": \"Solar Blade\",\n  \"move.spark\": \"Spark\",\n  \"move.spirit-shackle\": \"Spirit Shackle\",\n  \"move.splash\": \"Splash\",\n  \"move.stealth-rock\": \"Stealth Rock\",\n  \"move.stomp\": \"Stomp\",\n  \"move.stone-edge\": \"Stone Edge\",\n  \"move.stored-power\": \"Stored Power\",\n  \"move.stuff-cheeks\": \"Stuff Cheeks\",\n  \"move.submission\": \"Submission\",\n  \"move.substitute\": \"Substitute\",\n  \"move.sucker-punch\": \"Sucker Punch\",\n  \"move.supercell-slam\": \"Supercell Slam\",\n  \"move.superpower\": \"Superpower\",\n  \"move.surf\": \"Surf\",\n  \"move.surging-strikes\": \"Surging Strikes\",\n  \"move.sweet-kiss\": \"Sweet Kiss\",\n  \"move.sweet-scent\": \"Sweet Scent\",\n  \"move.swift\": \"Swift\",\n  \"move.swords-dance\": \"Swords Dance\",\n  \"move.synthesis\": \"Synthesis\",\n  \"move.tackle\": \"Tackle\",\n  \"move.tail-whip\": \"Tail Whip\",\n  \"move.tailwind\": \"Tailwind\",\n  \"move.take-down\": \"Take Down\",\n  \"move.tearful-look\": \"Tearful Look\",\n  \"move.telekinesis\": \"Telekinesis\",\n  \"move.teleport\": \"Teleport\",\n  \"move.thief\": \"Thief\",\n  \"move.throat-chop\": \"Throat Chop\",\n  \"move.thunder\": \"Thunder\",\n  \"move.thunder-punch\": \"Thunder Punch\",\n  \"move.thunder-shock\": \"Thunder Shock\",\n  \"move.thunder-wave\": \"Thunder Wave\",\n  \"move.thunderbolt\": \"Thunderbolt\",\n  \"move.trailblaze\": \"Trailblaze\",\n  \"move.tri-attack\": \"Tri Attack\",\n  \"move.trick\": \"Trick\",\n  \"move.trick-room\": \"Trick Room\",\n  \"move.triple-axel\": \"Triple Axel\",\n  \"move.trop-kick\": \"Trop Kick\",\n  \"move.twister\": \"Twister\",\n  \"move.vine-whip\": \"Vine Whip\",\n  \"move.volt-switch\": \"Volt Switch\",\n  \"move.volt-tackle\": \"Volt Tackle\",\n  \"move.water-gun\": \"Water Gun\",\n  \"move.water-pulse\": \"Water Pulse\",\n  \"move.water-shuriken\": \"Water Shuriken\",\n  \"move.water-spout\": \"Water Spout\",\n  \"move.waterfall\": \"Waterfall\",\n  \"move.whirlpool\": \"Whirlpool\",\n  \"move.wicked-blow\": \"Wicked Blow\",\n  \"move.wide-guard\": \"Wide Guard\",\n  \"move.wild-charge\": \"Wild Charge\",\n  \"move.will-o-wisp\": \"Will-o-Wisp\",\n  \"move.wing-attack\": \"Wing Attack\",\n  \"move.wish\": \"Wish\",\n  \"move.wood-hammer\": \"Wood Hammer\",\n  \"move.x-scissor\": \"X-Scissor\",\n  \"move.yawn\": \"Yawn\",\n  \"move.zap-cannon\": \"Zap Cannon\",\n  \"move.zen-headbutt\": \"Zen Headbutt\"\n});\n// @end move-names-i18n\n\nexport default names;\n","import en from \"./en\";\n\n/**\n * Portuguese (Brazil). Same as English for Pokémon names; override here only when pt-BR differs.\n */\nconst ptBR: Record<string, string> = {\n  ...en,\n  // @begin move-names-i18n\n  \"move.acid-spray\": \"Spray Ácido\",\n  \"move.acrobatics\": \"Acrobacia\",\n  \"move.aerial-ace\": \"Golpe Aéreo\",\n  \"move.agility\": \"Agilidade\",\n  \"move.air-slash\": \"Talho Aéreo\",\n  \"move.amnesia\": \"Amnésia\",\n  \"move.anchor-shot\": \"Tiro Âncora\",\n  \"move.ancient-power\": \"Poder Ancestral\",\n  \"move.aqua-jet\": \"Aqua-jato\",\n  \"move.aqua-ring\": \"Aqua-ring\",\n  \"move.aqua-tail\": \"Rabo de Água\",\n  \"move.armor-cannon\": \"Canhão Blindado\",\n  \"move.assurance\": \"Garantia\",\n  \"move.astonish\": \"Abalo\",\n  \"move.aurora-veil\": \"Véu Aurora\",\n  \"move.avalanche\": \"Avalanche\",\n  \"move.baby-doll-eyes\": \"Olhos Encantadores\",\n  \"move.barrier\": \"Barreira\",\n  \"move.beat-up\": \"Surra\",\n  \"move.belch\": \"Arroto\",\n  \"move.bite\": \"Mordida\",\n  \"move.bitter-blade\": \"Lâmina Amarga\",\n  \"move.blaze\": \"Brasa\",\n  \"move.blaze-kick\": \"Chute Labareda\",\n  \"move.blizzard\": \"Nevasca\",\n  \"move.block\": \"Bloqueio\",\n  \"move.bone-rush\": \"Investida Óssea\",\n  \"move.bounce\": \"Salto\",\n  \"move.branch-poke\": \"Toque de Galho\",\n  \"move.brave-bird\": \"Pássaro Bravio\",\n  \"move.brutal-swing\": \"Giro Perverso\",\n  \"move.bubble\": \"Bolha\",\n  \"move.bubble-beam\": \"Raio Bolha\",\n  \"move.bulk-up\": \"Corpulência\",\n  \"move.bulldoze\": \"Tremor\",\n  \"move.bullet-punch\": \"Soco Projétil\",\n  \"move.bullet-seed\": \"Rajada de Sementes\",\n  \"move.calm-mind\": \"Calma Mental\",\n  \"move.charge-beam\": \"Raio Carregado\",\n  \"move.charm\": \"Encanto\",\n  \"move.close-combat\": \"Combate Corpo a Corpo\",\n  \"move.coaching\": \"Treinamento\",\n  \"move.confuse-ray\": \"Raio Confuso\",\n  \"move.confusion\": \"Confusão\",\n  \"move.cotton-guard\": \"Guarda de Algodão\",\n  \"move.cotton-spore\": \"Esporo de Algodão\",\n  \"move.covet\": \"Desejo\",\n  \"move.cross-chop\": \"Talho Cruzado\",\n  \"move.curse\": \"Maldição\",\n  \"move.cut\": \"Corte\",\n  \"move.dark-pulse\": \"Pulso Sombrio\",\n  \"move.dark-void\": \"Buraco Negro\",\n  \"move.dazzling-gleam\": \"Brilho Mágico\",\n  \"move.decorate\": \"Decorar\",\n  \"move.defense-curl\": \"Enrolar\",\n  \"move.detect\": \"Detetar\",\n  \"move.dig\": \"Cavar\",\n  \"move.disable\": \"Desabilitar\",\n  \"move.disarming-voice\": \"Voz Desarmante\",\n  \"move.discharge\": \"Descarga\",\n  \"move.dive\": \"Mergulho\",\n  \"move.double-hit\": \"Golpe Duplo\",\n  \"move.double-slap\": \"Tapa Duplo\",\n  \"move.double-team\": \"Duplicidade\",\n  \"move.draco-meteor\": \"Meteoro do Dragão\",\n  \"move.dragon-breath\": \"Hálito de Dragão\",\n  \"move.dragon-cheer\": \"Brado Dracônico\",\n  \"move.dragon-claw\": \"Garra de Dragão\",\n  \"move.dragon-dance\": \"Dança do Dragão\",\n  \"move.dragon-pulse\": \"Pulso do Dragão\",\n  \"move.dragon-rush\": \"Investida de Dragão\",\n  \"move.dragon-tail\": \"Cauda de Dragão\",\n  \"move.draining-kiss\": \"Beijo Drenante\",\n  \"move.dream-eater\": \"Devorador de Sonhos\",\n  \"move.drill-peck\": \"Bico Broca\",\n  \"move.dual-wingbeat\": \"Asas Duplas\",\n  \"move.dynamic-punch\": \"Soco Dinâmico\",\n  \"move.earthquake\": \"Terremoto\",\n  \"move.egg-bomb\": \"Bomba de Ovo\",\n  \"move.electro-ball\": \"Bola Elétrica\",\n  \"move.electro-drift\": \"Deriva Elétrica\",\n  \"move.electroweb\": \"Teia Elétrica\",\n  \"move.ember\": \"Brasas\",\n  \"move.eruption\": \"Erupção\",\n  \"move.explosive-heat-haze\": \"Neblina de Calor Explosiva\",\n  \"move.extreme-speed\": \"Extrema Velocidade\",\n  \"move.fairy-wind\": \"Vento de Fada\",\n  \"move.fake-out\": \"Surpresa\",\n  \"move.fake-tears\": \"Lágrimas Falsas\",\n  \"move.feather-dance\": \"Dança de Penas\",\n  \"move.feint\": \"Finta\",\n  \"move.feint-attack\": \"Ataque Falso\",\n  \"move.fell-stinger\": \"Ferrão Mortal\",\n  \"move.fire-blast\": \"Rajada de Fogo\",\n  \"move.fire-punch\": \"Soco de Fogo\",\n  \"move.fire-spin\": \"Chama Furacão\",\n  \"move.flail\": \"Agonizar\",\n  \"move.flame-burst\": \"Rajas de Fogo\",\n  \"move.flame-charge\": \"Nitrocarregamento\",\n  \"move.flame-wheel\": \"Roda de Fogo\",\n  \"move.flamethrower\": \"Lança-chamas\",\n  \"move.flare-blitz\": \"Labareda\",\n  \"move.flash-cannon\": \"Canhão de Luz\",\n  \"move.flip-turn\": \"Viravolta\",\n  \"move.floral-healing\": \"Cura Floral\",\n  \"move.flower-trick\": \"Truque Floral\",\n  \"move.fly\": \"Voo\",\n  \"move.focus-blast\": \"Explosão Focada\",\n  \"move.follow-me\": \"Chamariz\",\n  \"move.foul-play\": \"Jogo Sujo\",\n  \"move.freeze-dry\": \"Congelamento Seco\",\n  \"move.fury-cutter\": \"Cortador de Fúria\",\n  \"move.fury-swipes\": \"Golpes de Fúria\",\n  \"move.future-sight\": \"Visão do Futuro\",\n  \"move.giga-drain\": \"Gigadreno\",\n  \"move.gigaton-hammer\": \"Marreta Gigaton\",\n  \"move.grass-knot\": \"Nó de Grama\",\n  \"move.grassy-glide\": \"Deslize Gramado\",\n  \"move.gravity\": \"Gravidade\",\n  \"move.growl\": \"Rosnar\",\n  \"move.gyro-ball\": \"Girobola\",\n  \"move.headbutt\": \"Cabeçada\",\n  \"move.heal-pulse\": \"Pulso Cura\",\n  \"move.heat-wave\": \"Onda de Calor\",\n  \"move.heavy-slam\": \"Corpo Pesado\",\n  \"move.helping-hand\": \"Mãozinha\",\n  \"move.hex\": \"Malefício\",\n  \"move.high-horsepower\": \"Força Equina\",\n  \"move.hone-claws\": \"Afia Garras\",\n  \"move.horn-leech\": \"Chifre de Suga\",\n  \"move.hurricane\": \"Furacão\",\n  \"move.hydro-cannon\": \"Hidrocanhão\",\n  \"move.hydro-pump\": \"Jato d'Água\",\n  \"move.hyper-beam\": \"Hiper Raio\",\n  \"move.hyper-voice\": \"Hiper Voz\",\n  \"move.hyperspace-hole\": \"Buraco Dimensional\",\n  \"move.hypnosis\": \"Hipnose\",\n  \"move.ice-beam\": \"Raio de Gelo\",\n  \"move.ice-fang\": \"Presas de Gelo\",\n  \"move.ice-hammer\": \"Martelo de Gelo\",\n  \"move.ice-shard\": \"Estilha de Gelo\",\n  \"move.icicle-crash\": \"Queda de Estalos\",\n  \"move.icicle-spear\": \"Lança de Gelo\",\n  \"move.icy-wind\": \"Vento Congelante\",\n  \"move.imprison\": \"Aprisionar\",\n  \"move.incinerate\": \"Incinerar\",\n  \"move.iron-defense\": \"Defesa de Ferro\",\n  \"move.iron-head\": \"Cabeça de Ferro\",\n  \"move.jump-kick\": \"Chute em Salto\",\n  \"move.karate-chop\": \"Golpe de Karatê\",\n  \"move.knock-off\": \"Derrubar\",\n  \"move.laser-focus\": \"Foco Laser\",\n  \"move.lava-plume\": \"Pluma de Lava\",\n  \"move.leaf-blade\": \"Folha Navalha\",\n  \"move.leaf-storm\": \"Tempestade de Folhas\",\n  \"move.leaf-tornado\": \"Tornado de Folhas\",\n  \"move.leafage\": \"Folhagem\",\n  \"move.leech-life\": \"Sanguessuga\",\n  \"move.lick\": \"Lambida\",\n  \"move.light-screen\": \"Tela de Luz\",\n  \"move.liquidation\": \"Liquidação\",\n  \"move.low-sweep\": \"Baixa Voadora\",\n  \"move.lunge\": \"Arremetida\",\n  \"move.luster-purge\": \"Purificação Lustrosa\",\n  \"move.mach-punch\": \"Soco Mach\",\n  \"move.magical-leaf\": \"Folha Mágica\",\n  \"move.magnet-rise\": \"Eletromagnetismo\",\n  \"move.mean-look\": \"Olhar Malvado\",\n  \"move.mega-punch\": \"Megasoco\",\n  \"move.megahorn\": \"Megachifre\",\n  \"move.metal-claw\": \"Garra de Metal\",\n  \"move.meteor-mash\": \"Meteoro Esmagador\",\n  \"move.mist-ball\": \"Bola de Neblina\",\n  \"move.moonblast\": \"Explosão Lunar\",\n  \"move.moonlight\": \"Luar\",\n  \"move.muddy-water\": \"Água Lodosa\",\n  \"move.mystical-fire\": \"Fogo Místico\",\n  \"move.nasty-plot\": \"Trama\",\n  \"move.night-shade\": \"Sombra Noturna\",\n  \"move.night-slash\": \"Talho Noturno\",\n  \"move.no-retreat\": \"Sem Retirada\",\n  \"move.nuzzle\": \"Chamego\",\n  \"move.outrage\": \"Ultraje\",\n  \"move.overheat\": \"Superaquecimento\",\n  \"move.pain-split\": \"Divisão da Dor\",\n  \"move.parabolic-charge\": \"Carga Parabólica\",\n  \"move.pay-day\": \"Dia de Pagamento\",\n  \"move.payback\": \"Revide\",\n  \"move.peck\": \"Bicada\",\n  \"move.perish-song\": \"Canção Perversa\",\n  \"move.petal-dance\": \"Dança de Pétalas\",\n  \"move.phantom-force\": \"Força Fantasma\",\n  \"move.play-rough\": \"Jogo Duro\",\n  \"move.pollen-puff\": \"Bola de Pólen\",\n  \"move.poltergeist\": \"Poltergeist\",\n  \"move.pound\": \"Pancada\",\n  \"move.powder-snow\": \"Nevasca de Pó\",\n  \"move.power-swap\": \"Troca de Poder\",\n  \"move.power-up-punch\": \"Soco Poderoso\",\n  \"move.power-whip\": \"Chicote Poderoso\",\n  \"move.psybeam\": \"Feixe Psíquico\",\n  \"move.psychic\": \"Psíquico\",\n  \"move.psycho-cut\": \"Corte Psíquico\",\n  \"move.psyshock\": \"Choque Psíquico\",\n  \"move.psystrike\": \"Golpe Psíquico\",\n  \"move.pursuit\": \"Perseguição\",\n  \"move.pyro-ball\": \"Bola de Fogo\",\n  \"move.quick-attack\": \"Ataque Rápido\",\n  \"move.rapid-spin\": \"Giro Rápido\",\n  \"move.razor-leaf\": \"Folha Navalha\",\n  \"move.recover\": \"Recuperar\",\n  \"move.rest\": \"Descanso\",\n  \"move.rock-polish\": \"Polimento Rochoso\",\n  \"move.rock-slide\": \"Deslize de Rochas\",\n  \"move.rock-smash\": \"Esmagamento de Pedras\",\n  \"move.rock-tomb\": \"Túmulo de Rochas\",\n  \"move.rollout\": \"Rolar\",\n  \"move.sacred-fire\": \"Fogo Sagrado\",\n  \"move.sacred-sword\": \"Espada Sagrada\",\n  \"move.safeguard\": \"Velo Místico\",\n  \"move.sand-attack\": \"Ataque de Areia\",\n  \"move.sand-tomb\": \"Sepultamento de Areia\",\n  \"move.scald\": \"Escaldar\",\n  \"move.scratch\": \"Arranhão\",\n  \"move.seed-bomb\": \"Bomba de Sementes\",\n  \"move.shadow-ball\": \"Bola Sombria\",\n  \"move.shadow-claw\": \"Garra Sombria\",\n  \"move.shadow-sneak\": \"Sombra Furtiva\",\n  \"move.shell-smash\": \"Quebra-cascos\",\n  \"move.sing\": \"Cantar\",\n  \"move.skull-bash\": \"Cabecada\",\n  \"move.sky-attack\": \"Ataque Celeste\",\n  \"move.slack-off\": \"Omitir\",\n  \"move.slash\": \"Talho\",\n  \"move.sludge-bomb\": \"Bomba de Lodo\",\n  \"move.smack-down\": \"Queda Livre\",\n  \"move.smart-strike\": \"Golpe Certeiro\",\n  \"move.smokescreen\": \"Tela de Fumaça\",\n  \"move.snarl\": \"Rosnado\",\n  \"move.snipe-shot\": \"Tiro de Elite\",\n  \"move.soft-boiled\": \"Ovo Cozido\",\n  \"move.solar-beam\": \"Raio Solar\",\n  \"move.solar-blade\": \"Lâmina Solar\",\n  \"move.spark\": \"Faísca\",\n  \"move.spirit-shackle\": \"Cadeia Espiritual\",\n  \"move.splash\": \"Splash\",\n  \"move.stealth-rock\": \"Armadilha de Rochas\",\n  \"move.stomp\": \"Pisotear\",\n  \"move.stone-edge\": \"Pedra Afiada\",\n  \"move.stored-power\": \"Poder Reserva\",\n  \"move.stuff-cheeks\": \"Bochechas Cheias\",\n  \"move.submission\": \"Submissão\",\n  \"move.substitute\": \"Substituto\",\n  \"move.sucker-punch\": \"Soco Surpresa\",\n  \"move.supercell-slam\": \"Pancada Trovejante\",\n  \"move.superpower\": \"Superpoder\",\n  \"move.surf\": \"Surf\",\n  \"move.surging-strikes\": \"Golpes Surpreendentes\",\n  \"move.sweet-kiss\": \"Beijo Doce\",\n  \"move.sweet-scent\": \"Aroma Doce\",\n  \"move.swift\": \"Meteoros\",\n  \"move.swords-dance\": \"Dança das Espadas\",\n  \"move.synthesis\": \"Síntese\",\n  \"move.tackle\": \"Investida\",\n  \"move.tail-whip\": \"Chicote de Cauda\",\n  \"move.tailwind\": \"Cauda Vento\",\n  \"move.take-down\": \"Investida Destruidora\",\n  \"move.tearful-look\": \"Olhar Lacrimejante\",\n  \"move.telekinesis\": \"Telecinese\",\n  \"move.teleport\": \"Teleporte\",\n  \"move.thief\": \"Roubar\",\n  \"move.throat-chop\": \"Golpe de Garganta\",\n  \"move.thunder\": \"Trovão\",\n  \"move.thunder-punch\": \"Soco Trovão\",\n  \"move.thunder-shock\": \"Choque do Trovão\",\n  \"move.thunder-wave\": \"Onda de Trovão\",\n  \"move.thunderbolt\": \"Raio\",\n  \"move.trailblaze\": \"Rastro Flamejante\",\n  \"move.tri-attack\": \"Triataque\",\n  \"move.trick\": \"Truque\",\n  \"move.trick-room\": \"Espaço Estranho\",\n  \"move.triple-axel\": \"Triplo Axel\",\n  \"move.trop-kick\": \"Chute Tropical\",\n  \"move.twister\": \"Twister\",\n  \"move.vine-whip\": \"Chicote de Vinha\",\n  \"move.volt-switch\": \"Troca Elétrica\",\n  \"move.volt-tackle\": \"Investida Elétrica\",\n  \"move.water-gun\": \"Pistola d'Água\",\n  \"move.water-pulse\": \"Pulso d'Água\",\n  \"move.water-shuriken\": \"Shuriken d'Água\",\n  \"move.water-spout\": \"Jorrada\",\n  \"move.waterfall\": \"Cachoeira\",\n  \"move.whirlpool\": \"Redemoinho\",\n  \"move.wicked-blow\": \"Golpe Obscuro\",\n  \"move.wide-guard\": \"Barreira Ampla\",\n  \"move.wild-charge\": \"Investida Selvagem\",\n  \"move.will-o-wisp\": \"Fogo Fátuo\",\n  \"move.wing-attack\": \"Ataque de Asa\",\n  \"move.wish\": \"Desejo\",\n  \"move.wood-hammer\": \"Martelo de Madeira\",\n  \"move.x-scissor\": \"Tesoura-X\",\n  \"move.yawn\": \"Bocejo\",\n  \"move.zap-cannon\": \"Canhão Elétrico\",\n  \"move.zen-headbutt\": \"Cabeçada Zen\",\n// @end move-names-i18n\n  // Battle Items\n  \"battle-item.potion\": \"Poção\",\n  \"battle-item.x-attack\": \"Ataque X\",\n  \"battle-item.x-speed\": \"Velocidade X\",\n  \"battle-item.fluffy-tail\": \"Cauda Felpuda\",\n  \"battle-item.eject-button\": \"Botão de Ejeção\",\n  \"battle-item.slow-smoke\": \"Fumaça Lenta\",\n  \"battle-item.full-heal\": \"Cura Total\",\n  \"battle-item.goal-getter\": \"Goleador\",\n  \"battle-item.shedinja-doll\": \"Boneca Shedinja\",\n  \"battle-item.goal-hacker\": \"Infiltrador de Gol\",\n  // Held Items\n  \"held-item.aeos-cookie\": \"Biscoito Aeos\",\n  \"held-item.attack-weight\": \"Peso de Ataque\",\n  \"held-item.special-attack-specs\": \"Esp. de Atq. Esp.\",\n  \"held-item.shell-bell\": \"Sino Concha\",\n  \"held-item.float-stone\": \"Pedra Flutuante\",\n  \"held-item.muscle-band\": \"Faixa Muscular\",\n  \"held-item.scope-lens\": \"Lente de Mira\",\n  \"held-item.wise-glasses\": \"Óculos Sábios\",\n  \"held-item.leftovers\": \"Sobras\",\n  \"held-item.exp-share\": \"Compartilhar Exp.\",\n  \"held-item.focus-band\": \"Faixa de Foco\",\n  \"held-item.energy-amplifier\": \"Amplificador de Energia\",\n  \"held-item.buddy-barrier\": \"Barreira do Companheiro\",\n  \"held-item.score-shield\": \"Escudo de Pontos\",\n  \"held-item.assault-vest\": \"Colete de Assalto\",\n  \"held-item.rocky-helmet\": \"Capacete Rochoso\",\n  \"held-item.razor-claw\": \"Garra Afiada\",\n  \"held-item.choice-specs\": \"Óculos da Escolha\",\n  \"held-item.weakness-policy\": \"Política de Fraqueza\",\n  \"held-item.rapid-fire-scarf\": \"Cachecol de Tiro Rápido\",\n  \"held-item.drain-crown\": \"Coroa Dreno\",\n  \"held-item.slick-spoon\": \"Colher Lisa\",\n  \"held-item.rescue-hood\": \"Capuz Resgate\",\n  \"held-item.curse-bangle\": \"Pulseira Amaldiçoada\",\n  \"held-item.curse-incense\": \"Incenso Amaldiçoado\",\n  \"held-item.charging-charm\": \"Amuleto de Carregamento\",\n  \"held-item.resonant-guard\": \"Guarda Ressonante\",\n  \"held-item.drive-lens\": \"Lente Acionadora\",\n  \"held-item.accel-bracer\": \"Bracelete Accel\",\n  \"held-item.amulet-coin\": \"Moeda Amuleto\",\n  \"held-item.choice-scarf\": \"Cachecol da Escolha\",\n  \"held-item.big-root\": \"Raiz Grande\",\n  \"held-item.tenacity-belt\": \"Cinto de Tenacidade\",\n  \"held-item.vanguard-bell\": \"Sino Vanguarda\",\n  \"held-item.rusted-sword\": \"Espada Enferrujada\",\n  \"held-item.mewtwonite-x\": \"Mewtunita X\",\n  \"held-item.mewtwonite-y\": \"Mewtunita Y\",\n  \"held-item.lucarionite\": \"Lucariônita\",\n  \"held-item.charizardite-x\": \"Charizardita X\",\n  \"held-item.charizardite-y\": \"Charizardita Y\",\n  \"held-item.gyaradosite\": \"Gyaradosita\",\n  // Maps — names and descriptions\n  \"map-groudon\": \"Ruínas Celestes de Theia\",\n  \"map-groudon.description\": \"Mapa 5v5 com Groudon.\",\n  \"map-kyogre\": \"Ruínas Celestes de Theia\",\n  \"map-kyogre.description\": \"Mapa 5v5 com Kyogre.\",\n  \"map-rayquaza\": \"Ruínas Celestes de Theia\",\n  \"map-rayquaza.description\": \"Mapa 5v5 com Rayquaza.\",\n  // Spawn info (HTML) — principais textos; demais usam fallback en\n  \"spawn.info.groudon.boss\":\n    \"<p>Ao ser derrotado, todos os membros vivos do time recebem <strong>buff</strong> e <strong>15 pontos aeos</strong>.<br>O buff é <strong>permanente até o portador ser nocauteado</strong>. Ao ser nocauteado, o buff <strong>transfere para quem aplicou o KO</strong>.<br>Concede <strong>aumento de velocidade de pontuação</strong>, <strong>grande aumento de dano</strong> e <strong>pequeno escudo</strong>.<br>Sempre aparece às 2:00.</p>\",\n  \"spawn.info.kyogre.boss\":\n    \"<p>Ao ser derrotado, todos os membros vivos do time recebem <strong>buff</strong>, <strong>15 pontos aeos</strong> e as torres adversárias ainda de pé ficam desativadas por 1:30 (adversário não recebe escudo e regeneração).<br>O buff é <strong>permanente até o portador ser nocauteado</strong>. Ao ser nocauteado, o buff <strong>transfere para quem aplicou o KO</strong>.<br>Concede <strong>aumento de velocidade de pontuação</strong>, <strong>autorregeneração (5% por segundo)</strong> e <strong>pequeno escudo</strong>.<br>Sempre aparece às 2:00.</p>\",\n  \"spawn.info.rayquaza.boss\":\n    \"<p>Ao ser derrotado, concede ao time vencedor <strong>15 pontos aeos</strong>, um <strong>escudo</strong> que <strong>acelera a pontuação</strong> e <strong>impede que gols sejam bloqueados</strong>.<br>Sempre aparece às 2:00.</p>\",\n  \"spawn.info.bunnelby.initial\":\n    \"<p><strong>Aparecem no início da partida</strong> e <strong>não ressurgem</strong> após derrotados.</p><p>Dão 2 pontos.</p>\",\n  \"spawn.info.bunnelby.points\":\n    \"<p>Dão 2 pontos.</p>\",\n  \"spawn.info.regi.700\":\n    \"<p>Aparece às <strong>7:00</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_940\":\n    \"<p>Começa a aparecer às <strong>9:40</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong> e ressurgem após <strong>60 segundos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920\":\n    \"<p>Começa a aparecer às <strong>9:20</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong> e ressurgem após <strong>60 segundos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915\":\n    \"<p>Começa a aparecer às <strong>9:15</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong> e ressurgem após <strong>60 segundos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.accelgor\":\n    \"<p>Começa a aparecer às <strong>9:45</strong>.</p><p>Quando derrotado, concede <strong>4 / 7 pontos</strong> e um <strong>buff</strong>. <strong>Ressurge após 60 segundos</strong>.</p><p>O buff dura <strong>70 segundos</strong> e concede <strong>10% de redução no tempo de recarga dos movimentos</strong>.</p>\",\n  \"spawn.info.escavalier\":\n    \"<p>Começa a aparecer às <strong>9:45</strong>.</p><p>Quando derrotado, concede <strong>4 / 7 pontos</strong> e um <strong>buff</strong>. <strong>Ressurge após 60 segundos</strong>.</p><p>O buff dura <strong>70 segundos</strong> e concede <strong>dano extra em ataques básicos e reduz a velocidade de movimento do oponente por um curto tempo</strong>.</p>\",\n  \"spawn.info.baltoy.generic\":\n    \"<p>Começa a aparecer às <strong>9:45</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940\":\n    \"<p>Começa a aparecer às <strong>9:40</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.baltoy.lane_920\":\n    \"<p>Começa a aparecer às <strong>9:40</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910\":\n    \"<p>Começa a aparecer às <strong>9:10</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_only\":\n    \"<p>Começa a aparecer às <strong>9:10</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840\":\n    \"<p>Começa a aparecer às <strong>8:40</strong>.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p>\",\n  \"spawn.info.baltoy.tower\":\n    \"<p>Começa a aparecer quando a <strong>primeira torre correspondente</strong> for destruída.</p><p>Quando derrotado, concede <strong>2 pontos</strong>. <strong>Ressurge após 60 segundos</strong>.</p>\",\n  \"spawn.info.regidrago\":\n    \"<p>Aparece no <strong>centro do mapa às 8:00</strong>. Quando derrotado, <strong>Altaria aparece 1:30 minuto depois</strong>.<br>O time que derrotar o <strong>Regidrago</strong> ganha <strong>experiência para todos os aliados</strong>.<br>Quem aplicar o golpe final recebe <strong>buff de velocidade de pontuação</strong> e <strong>20 pontos</strong>.</p>\",\n  \"spawn.info.regieleki\":\n    \"<p>Aparece às <strong>7:00</strong> em uma lane aleatória entre <strong>topo e base</strong>.<br>Quando derrotado, vai até a base do time adversário e, se tocar a base, pontua <strong>20/16/12/8 pontos</strong>; se a base ainda estiver de pé, <strong>gols ficam instantâneos por 20/15/10/5s</strong>.<br>Quem aplicar o golpe final recebe <strong>20 pontos</strong>.<br>Ressurge <strong>2 minutos</strong> após a morte.</p>\",\n  \"spawn.info.xatu\":\n    \"<p>Aparece às <strong>9:59</strong>.</p><p>Concede <strong>muita experiência</strong> e <strong>2 pontos</strong> quando derrotado.</p><p><strong>Não ressurgem</strong>.</p>\",\n  \"spawn.info.natu.900\":\n    \"<p>Aparece às <strong>9:00</strong>.</p>\",\n  \"spawn.info.natu.920\":\n    \"<p>Aparece às <strong>9:20</strong>.</p>\",\n  \"spawn.info.indeedee.lane\":\n    \"<p>Começa a aparecer às <strong>9:30</strong> / <strong>9:35</strong>.</p><p>Quando derrotado, <strong>ressurge após 60 segundos</strong> e concede <strong>5 pontos</strong>.</p><p>Se alguma das <strong>primeiras torres</strong> da lane for destruída, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.indeedee.tower\":\n    \"<p>Aparece quando a <strong>primeira torre correspondente</strong> for destruída.</p><p>Quando derrotado, <strong>ressurge após 60 segundos</strong> e concede <strong>5 pontos</strong>.</p>\",\n  \"spawn.info.salac\":\n    \"<p>Quando consumido, concede <strong>bônus de velocidade de movimento</strong> por <strong>3 segundos</strong>.</p><p>Começa a aparecer às <strong>8:30</strong> e ressurgem <strong>60 segundos</strong> após o consumo.</p>\",\n  \"spawn.info.salac.short\":\n    \"<p>Bônus de velocidade de movimento por 3 segundos.</p>\",\n  \"spawn.info.altaria.after_regidrago\":\n    \"<p>Começa a aparecer <strong>1:30 após o Regidrago ser derrotado</strong>.</p>\",\n  \"spawn.info.altaria.rayquaza\":\n    \"<p>Aparece às <strong>8:00</strong> e resurge a cada <strong>1:30</strong>.</p><p>Desaparece às <strong>2:30</strong>.</p>\",\n  \"spawn.info.regidrago.kyogre\":\n    \"<p>Aparece no <strong>centro do mapa às 8:00</strong>.</p>\",\n  \"spawn.info.xatu.short\":\n    \"<p>Aparece às <strong>9:59</strong>.</p>\",\n  \"spawn.info.indeedee.tower_break\":\n    \"<p>Aparece quando torre é destruída.</p>\",\n  \"spawn.info.baltoy.tower_break\":\n    \"<p>Aparece quando torre é destruída.</p>\",\n  \"spawn.info.bunnelby.lane\":\n    \"<p>Começa a aparecer às <strong>9:40</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920_short\":\n    \"<p>Começa a aparecer às <strong>9:20</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915_short\":\n    \"<p>Começa a aparecer às <strong>9:15</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940_short\":\n    \"<p>Começa a aparecer às <strong>9:40</strong>.</p>\",\n  \"spawn.info.baltoy.945_short\":\n    \"<p>Começa a aparecer às <strong>9:45</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_short\":\n    \"<p>Começa a aparecer às <strong>9:10</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840_short\":\n    \"<p>Começa a aparecer às <strong>8:40</strong>.</p>\",\n  \"spawn.info.indeedee.lane_930\":\n    \"<p>Começa a aparecer às <strong>9:30</strong>.</p>\",\n  \"spawn.info.indeedee.lane_935\":\n    \"<p>Começa a aparecer às <strong>9:35</strong>.</p>\",\n  \"spawn.info.baltoy.tower_kyogre\":\n    \"<p>Começa a aparecer quando a <strong>primeira torre correspondente</strong> for destruída.</p>\",\n  \"spawn.info.indeedee.tower_short\":\n    \"<p>Aparece quando a <strong>primeira torre correspondente</strong> for destruída.</p>\",\n};\n\nexport default ptBR;\n","/**\n * Japanese (Japan) Pokémon names — official localized names.\n */\nconst jaJP: Record<string, string> = {\n  venusaur: \"フシギバナ\",\n  charizard: \"リザードン\",\n  \"mega-charizard-x\": \"メガリザードンX\",\n  \"mega-charizard-y\": \"メガリザードンY\",\n  blastoise: \"カメックス\",\n  pikachu: \"ピカチュウ\",\n  \"alolan-raichu\": \"アローラのライチュウ\",\n  clefable: \"ピクシー\",\n  \"alolan-ninetales\": \"アローラのキュウコン\",\n  wigglytuff: \"プクリン\",\n  meowth: \"ニャース\",\n  psyduck: \"コダック\",\n  machamp: \"カイリキー\",\n  \"galarian-rapidash\": \"ガラルのギャロップ\",\n  slowbro: \"ヤドラン\",\n  dodrio: \"ドードリオ\",\n  gengar: \"ゲンガー\",\n  blissey: \"ハピナス\",\n  \"mr-mime\": \"バリヤード\",\n  scizor: \"ハッサム\",\n  gyarados: \"ギャラドス\",\n  \"mega-gyarados\": \"メガギャラドス\",\n  lapras: \"ラプラス\",\n  vaporeon: \"シャワーズ\",\n  snorlax: \"カビゴン\",\n  zapdos: \"サンダー\",\n  moltres: \"ファイヤー\",\n  dragonite: \"カイリュー\",\n  mewtwox: \"メガミュウツーX\",\n  mewtwoy: \"メガミュウツーY\",\n  \"mega-mewtwo-x\": \"メガミュウツーX\",\n  \"mega-mewtwo-y\": \"メガミュウツーY\",\n  mew: \"ミュウ\",\n  azumarill: \"マリルリ\",\n  espeon: \"エーフィ\",\n  umbreon: \"ブラッキー\",\n  mamoswine: \"マンムー\",\n  suicune: \"スイクン\",\n  tyranitar: \"バンギラス\",\n  \"ho-oh\": \"ホウオウ\",\n  blaziken: \"バシャーモ\",\n  gardevoir: \"サーナイト\",\n  sableye: \"ヤミラミ\",\n  absol: \"アブソル\",\n  metagross: \"メタグロス\",\n  latias: \"ラティアス\",\n  latios: \"ラティオス\",\n  empoleon: \"エンペルト\",\n  garchomp: \"ガブリアス\",\n  lucario: \"ルカリオ\",\n  \"mega-lucario\": \"メガルカリオ\",\n  leafeon: \"リーフィア\",\n  glaceon: \"グレイシア\",\n  darkrai: \"ダークライ\",\n  crustle: \"イワパレス\",\n  zoroark: \"ゾロアーク\",\n  chandelure: \"シャンデラ\",\n  delphox: \"マフォクシー\",\n  greninja: \"ゲッコウガ\",\n  talonflame: \"ファイアロー\",\n  aegislash: \"ギルガルド\",\n  sylveon: \"ニンフィア\",\n  goodra: \"ヌメルゴン\",\n  trevenant: \"オーロット\",\n  hoopa: \"フーパ\",\n  decidueye: \"ジュナイパー\",\n  tsareena: \"アマージョ\",\n  comfey: \"キュワワー\",\n  mimikyu: \"ミミッキュ\",\n  dhelmise: \"ダダリン\",\n  buzzwole: \"マッシブーン\",\n  zeraora: \"ゼラオラ\",\n  cinderace: \"エースバーン\",\n  inteleon: \"インテレオン\",\n  greedent: \"ヨクバリス\",\n  eldegoss: \"ワタシラガ\",\n  cramorant: \"ウッウ\",\n  sirfetchd: \"ネギガナイト\",\n  alcremie: \"マホイップ\",\n  falinks: \"タイレーツ\",\n  duraludon: \"ジュラルドン\",\n  dragapult: \"ドラパルト\",\n  zacian: \"ザシアン\",\n  urshifu: \"ウーラオス\",\n  meowscarada: \"マスカーニャ\",\n  pawmot: \"パーモット\",\n  armarouge: \"グレンアルマ\",\n  ceruledge: \"ソウブレイズ\",\n  tinkaton: \"デカヌチャン\",\n  typhlosion: \"バクフーン\",\n  miraidon: \"ミライドン\",\n  // Maps — names and descriptions\n  \"map-groudon\": \"テイアの天空遺跡\",\n  \"map-groudon.description\": \"グラードンが登場する5v5マップ。\",\n  \"map-kyogre\": \"テイアの天空遺跡\",\n  \"map-kyogre.description\": \"カイオーガが登場する5v5マップ。\",\n  \"map-rayquaza\": \"テイアの天空遺跡\",\n  \"map-rayquaza.description\": \"レックウザが登場する5v5マップ。\",\n  // Neutrals (wild Pokémon / items)\n  accelgor: \"アッケラー\",\n  altaria: \"チルタリス\",\n  baltoy: \"ヤドン\",\n  bunnelby: \"ホルビー\",\n  escavalier: \"シュバルゴ\",\n  groudon: \"グラードン\",\n  indeedee: \"イエッサン\",\n  kyogre: \"カイオーガ\",\n  natu: \"ネイティ\",\n  rayquaza: \"レックウザ\",\n  regidrago: \"レジドラゴ\",\n  regice: \"レジアイス\",\n  regieleki: \"レジエレキ\",\n  regirock: \"レジロック\",\n  registeel: \"レジスチル\",\n  salac: \"サラクのみ\",\n  sitrus: \"オボンのみ\",\n  xatu: \"ネイティオ\",\n  // Spawn info (HTML)\n  \"spawn.info.groudon.boss\":\n    \"<p>撃破すると、生存している味方全員が<strong>バフ</strong>と<strong>15アエオスポイント</strong>を獲得。<br>このバフは<strong>所持者がノックアウトされるまで永続</strong>。ノックアウトされるとバフは<strong>与えた側に移る</strong>。<br><strong>ゴール速度上昇</strong>・<strong>大ダメージ上昇</strong>・<strong>小シールド</strong>。<br>2:00に出現。</p>\",\n  \"spawn.info.bunnelby.initial\":\n    \"<p><strong>試合開始時に出現</strong>し、<strong>撃破後は再出現しない</strong>。</p><p>2ポイント獲得。</p>\",\n  \"spawn.info.bunnelby.lane_940\":\n    \"<p><strong>9:40</strong>から出現。<br>撃破で<strong>2ポイント</strong>獲得、<strong>60秒</strong>後に再出現。<br>レーンの<strong>最初のタワー</strong>が破壊されると<strong>消滅</strong>。</p>\",\n  \"spawn.info.bunnelby.lane_920\":\n    \"<p><strong>9:20</strong>から出現。<br>撃破で<strong>2ポイント</strong>獲得、<strong>60秒</strong>後に再出現。<br>レーンの<strong>最初のタワー</strong>が破壊されると<strong>消滅</strong>。</p>\",\n  \"spawn.info.bunnelby.lane_915\":\n    \"<p><strong>9:15</strong>から出現。<br>撃破で<strong>2ポイント</strong>獲得、<strong>60秒</strong>後に再出現。<br>レーンの<strong>最初のタワー</strong>が破壊されると<strong>消滅</strong>。</p>\",\n  \"spawn.info.accelgor\":\n    \"<p><strong>9:45</strong>から出現。撃破で<strong>4/7ポイント</strong>と<strong>バフ</strong>。<strong>60秒</strong>後に再出現。<br>バフは<strong>70秒</strong>間、<strong>わざのクールダウン10%短縮</strong>。</p>\",\n  \"spawn.info.escavalier\":\n    \"<p><strong>9:45</strong>から出現。撃破で<strong>4/7ポイント</strong>と<strong>バフ</strong>。<strong>60秒</strong>後に再出現。<br>バフは<strong>70秒</strong>間、<strong>基本攻撃ダメージ上昇・相手の移動速度短時間低下</strong>。</p>\",\n  \"spawn.info.baltoy.generic\":\n    \"<p><strong>9:45</strong>から出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。</p>\",\n  \"spawn.info.baltoy.lane_940\":\n    \"<p><strong>9:40</strong>から出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。レーンの<strong>最初のタワー</strong>破壊で<strong>消滅</strong>。</p>\",\n  \"spawn.info.baltoy.lane_920\":\n    \"<p><strong>9:40</strong>から出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。レーンの<strong>最初のタワー</strong>破壊で<strong>消滅</strong>。</p>\",\n  \"spawn.info.baltoy.lane_910\":\n    \"<p><strong>9:10</strong>から出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。レーンの<strong>最初のタワー</strong>破壊で<strong>消滅</strong>。</p>\",\n  \"spawn.info.baltoy.lane_910_only\":\n    \"<p><strong>9:10</strong>から出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。</p>\",\n  \"spawn.info.baltoy.lane_840\":\n    \"<p><strong>8:40</strong>から出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。</p>\",\n  \"spawn.info.baltoy.tower\":\n    \"<p>対応する<strong>最初のタワー</strong>破壊後に出現。撃破で<strong>2ポイント</strong>。<strong>60秒</strong>後に再出現。</p>\",\n  \"spawn.info.regidrago\":\n    \"<p><strong>8:00</strong>にマップ中央に出現。撃破から<strong>1:30</strong>後にチルタリスが出現。<br>撃破したチームは<strong>味方全員に経験値</strong>。とどめを刺したプレイヤーは<strong>得点速度バフ</strong>と<strong>20ポイント</strong>。</p>\",\n  \"spawn.info.regieleki\":\n    \"<p><strong>7:00</strong>にトップ/ボトムのいずれかのレーンに出現。撃破すると相手陣地へ。陣地に到達で<strong>20/16/12/8ポイント</strong>、陣地が健在なら<strong>20/15/10/5秒間ゴール即時</strong>。<br>とどめで<strong>20ポイント</strong>。撃破から<strong>2分</strong>で再出現。</p>\",\n  \"spawn.info.regi.700\":\n    \"<p><strong>7:00</strong>に出現。</p>\",\n  \"spawn.info.xatu\":\n    \"<p><strong>9:59</strong>に出現。撃破で<strong>大量経験値</strong>と<strong>2ポイント</strong>。<strong>再出現なし</strong>。</p>\",\n  \"spawn.info.natu.900\":\n    \"<p><strong>9:00</strong>に出現。</p>\",\n  \"spawn.info.natu.920\":\n    \"<p><strong>9:20</strong>に出現。</p>\",\n  \"spawn.info.indeedee.lane\":\n    \"<p><strong>9:30</strong>/<strong>9:35</strong>から出現。撃破で<strong>60秒</strong>後に再出現、<strong>5ポイント</strong>。レーンの<strong>最初のタワー</strong>破壊で<strong>消滅</strong>。</p>\",\n  \"spawn.info.indeedee.tower\":\n    \"<p>対応する<strong>最初のタワー</strong>破壊後に出現。撃破で<strong>60秒</strong>後に再出現、<strong>5ポイント</strong>。</p>\",\n  \"spawn.info.salac\":\n    \"<p>使用で<strong>3秒間</strong><strong>移動速度アップ</strong>。<strong>8:30</strong>から出現、使用後<strong>60秒</strong>で再出現。</p>\",\n  \"spawn.info.salac.short\":\n    \"<p>3秒間移動速度アップ。</p>\",\n  \"spawn.info.altaria.after_regidrago\":\n    \"<p>レジドラゴ撃破から<strong>1:30</strong>後に出現。</p>\",\n  \"spawn.info.altaria.rayquaza\":\n    \"<p><strong>8:00</strong>に出現、<strong>1:30</strong>ごとに再出現。<strong>2:30</strong>に消滅。</p>\",\n  \"spawn.info.kyogre.boss\":\n    \"<p>撃破すると生存味方全員が<strong>バフ</strong>と<strong>15アエオスポイント</strong>を獲得。相手の残存タワーは1:30間無効（シールド・回復不可）。<br>バフは<strong>所持者がノックアウトされるまで永続</strong>。ノックアウトで<strong>与えた側に移る</strong>。<br><strong>ゴール速度上昇</strong>・<strong>自己回復(毎秒5%)</strong>・<strong>小シールド</strong>。<br>2:00に出現。</p>\",\n  \"spawn.info.rayquaza.boss\":\n    \"<p>撃破で勝利チームに<strong>15アエオスポイント</strong>と<strong>シールド</strong>（得点速度上昇・ゴール妨害無効）。<br>2:00に出現。</p>\",\n  \"spawn.info.regidrago.kyogre\":\n    \"<p><strong>8:00</strong>にマップ中央に出現。</p>\",\n  \"spawn.info.xatu.short\":\n    \"<p><strong>9:59</strong>に出現。</p>\",\n  \"spawn.info.indeedee.tower_break\":\n    \"<p>タワー破壊で出現。</p>\",\n  \"spawn.info.baltoy.tower_break\":\n    \"<p>タワー破壊で出現。</p>\",\n  \"spawn.info.bunnelby.lane\":\n    \"<p><strong>9:40</strong>から出現。</p>\",\n  \"spawn.info.bunnelby.lane_920_short\":\n    \"<p><strong>9:20</strong>から出現。</p>\",\n  \"spawn.info.bunnelby.lane_915_short\":\n    \"<p><strong>9:15</strong>から出現。</p>\",\n  \"spawn.info.baltoy.lane_940_short\":\n    \"<p><strong>9:40</strong>から出現。</p>\",\n  \"spawn.info.baltoy.945_short\":\n    \"<p><strong>9:45</strong>から出現。</p>\",\n  \"spawn.info.baltoy.lane_910_short\":\n    \"<p><strong>9:10</strong>から出現。</p>\",\n  \"spawn.info.baltoy.lane_840_short\":\n    \"<p><strong>8:40</strong>から出現。</p>\",\n  \"spawn.info.indeedee.lane_930\":\n    \"<p><strong>9:30</strong>から出現。</p>\",\n  \"spawn.info.indeedee.lane_935\":\n    \"<p><strong>9:35</strong>から出現。</p>\",\n  \"spawn.info.bunnelby.points\":\n    \"<p>2ポイント獲得。</p>\",\n  \"spawn.info.baltoy.tower_kyogre\":\n    \"<p>対応する<strong>最初のタワー</strong>破壊後に出現。</p>\",\n  \"spawn.info.indeedee.tower_short\":\n    \"<p>対応する<strong>最初のタワー</strong>破壊後に出現。</p>\",\n  // @begin move-names-i18n\n  \"move.acid-spray\": \"アシッドボム\",\n  \"move.acrobatics\": \"アクロバット\",\n  \"move.aerial-ace\": \"つばめがえし\",\n  \"move.agility\": \"こうそくいどう\",\n  \"move.air-slash\": \"エアスラッシュ\",\n  \"move.amnesia\": \"ドわすれ\",\n  \"move.anchor-shot\": \"アンカーショット\",\n  \"move.ancient-power\": \"げんしのちから\",\n  \"move.aqua-jet\": \"アクアジェット\",\n  \"move.aqua-ring\": \"アクアリング\",\n  \"move.aqua-tail\": \"アクアテール\",\n  \"move.armor-cannon\": \"アーマーキャノン\",\n  \"move.assurance\": \"ダメおし\",\n  \"move.astonish\": \"おどろかす\",\n  \"move.aurora-veil\": \"オーロラベール\",\n  \"move.avalanche\": \"ゆきなだれ\",\n  \"move.baby-doll-eyes\": \"つぶらなひとみ\",\n  \"move.barrier\": \"バリアー\",\n  \"move.beat-up\": \"ふくろだたき\",\n  \"move.belch\": \"ゲップ\",\n  \"move.bite\": \"かみつく\",\n  \"move.bitter-blade\": \"むねんのつるぎ\",\n  \"move.blaze\": \"もうか\",\n  \"move.blaze-kick\": \"ブレイズキック\",\n  \"move.blizzard\": \"ふぶき\",\n  \"move.block\": \"とおせんぼう\",\n  \"move.bone-rush\": \"ボーンラッシュ\",\n  \"move.bounce\": \"とびはねる\",\n  \"move.branch-poke\": \"えだづき\",\n  \"move.brave-bird\": \"ブレイブバード\",\n  \"move.brutal-swing\": \"ぶんまわす\",\n  \"move.bubble\": \"あわ\",\n  \"move.bubble-beam\": \"バブルこうせん\",\n  \"move.bulk-up\": \"ビルドアップ\",\n  \"move.bulldoze\": \"じならし\",\n  \"move.bullet-punch\": \"バレットパンチ\",\n  \"move.bullet-seed\": \"タネマシンガン\",\n  \"move.calm-mind\": \"めいそう\",\n  \"move.charge-beam\": \"チャージビーム\",\n  \"move.charm\": \"あまえる\",\n  \"move.close-combat\": \"インファイト\",\n  \"move.coaching\": \"コーチング\",\n  \"move.confuse-ray\": \"あやしいひかり\",\n  \"move.confusion\": \"ねんりき\",\n  \"move.cotton-guard\": \"コットンガード\",\n  \"move.cotton-spore\": \"わたほうし\",\n  \"move.covet\": \"ほしがる\",\n  \"move.cross-chop\": \"クロスチョップ\",\n  \"move.curse\": \"のろい\",\n  \"move.cut\": \"いあいぎり\",\n  \"move.dark-pulse\": \"あくのはどう\",\n  \"move.dark-void\": \"ダークホール\",\n  \"move.dazzling-gleam\": \"マジカルシャイン\",\n  \"move.decorate\": \"デコレーション\",\n  \"move.defense-curl\": \"まるくなる\",\n  \"move.detect\": \"みきり\",\n  \"move.dig\": \"あなをほる\",\n  \"move.disable\": \"かなしばり\",\n  \"move.disarming-voice\": \"チャームボイス\",\n  \"move.discharge\": \"ほうでん\",\n  \"move.dive\": \"ダイビング\",\n  \"move.double-hit\": \"ダブルアタック\",\n  \"move.double-slap\": \"おうふくビンタ\",\n  \"move.double-team\": \"かげぶんしん\",\n  \"move.draco-meteor\": \"りゅうせいぐん\",\n  \"move.dragon-breath\": \"りゅうのいぶき\",\n  \"move.dragon-cheer\": \"ドラゴンエール\",\n  \"move.dragon-claw\": \"ドラゴンクロー\",\n  \"move.dragon-dance\": \"りゅうのまい\",\n  \"move.dragon-pulse\": \"りゅうのはどう\",\n  \"move.dragon-rush\": \"ドラゴンダイブ\",\n  \"move.dragon-tail\": \"ドラゴンテール\",\n  \"move.draining-kiss\": \"ドレインキッス\",\n  \"move.dream-eater\": \"ゆめくい\",\n  \"move.drill-peck\": \"ドリルくちばし\",\n  \"move.dual-wingbeat\": \"ダブルウイング\",\n  \"move.dynamic-punch\": \"ばくれつパンチ\",\n  \"move.earthquake\": \"じしん\",\n  \"move.egg-bomb\": \"タマゴばくだん\",\n  \"move.electro-ball\": \"エレキボール\",\n  \"move.electro-drift\": \"イナズマドライブ\",\n  \"move.electroweb\": \"エレキネット\",\n  \"move.ember\": \"ひのこ\",\n  \"move.eruption\": \"ふんか\",\n  \"move.explosive-heat-haze\": \"エクスプローシブヒートヘイズ\",\n  \"move.extreme-speed\": \"しんそく\",\n  \"move.fairy-wind\": \"ようせいのかぜ\",\n  \"move.fake-out\": \"ねこだまし\",\n  \"move.fake-tears\": \"うそなき\",\n  \"move.feather-dance\": \"フェザーダンス\",\n  \"move.feint\": \"フェイント\",\n  \"move.feint-attack\": \"だましうち\",\n  \"move.fell-stinger\": \"とどめばり\",\n  \"move.fire-blast\": \"だいもんじ\",\n  \"move.fire-punch\": \"ほのおのパンチ\",\n  \"move.fire-spin\": \"ほのおのうず\",\n  \"move.flail\": \"じたばた\",\n  \"move.flame-burst\": \"はじけるほのお\",\n  \"move.flame-charge\": \"ニトロチャージ\",\n  \"move.flame-wheel\": \"かえんぐるま\",\n  \"move.flamethrower\": \"かえんほうしゃ\",\n  \"move.flare-blitz\": \"フレアドライブ\",\n  \"move.flash-cannon\": \"ラスターカノン\",\n  \"move.flip-turn\": \"クイックターン\",\n  \"move.floral-healing\": \"フラワーヒール\",\n  \"move.flower-trick\": \"トリックフラワー\",\n  \"move.fly\": \"そらをとぶ\",\n  \"move.focus-blast\": \"きあいだま\",\n  \"move.follow-me\": \"このゆびとまれ\",\n  \"move.foul-play\": \"イカサマ\",\n  \"move.freeze-dry\": \"フリーズドライ\",\n  \"move.fury-cutter\": \"れんぞくぎり\",\n  \"move.fury-swipes\": \"みだれひっかき\",\n  \"move.future-sight\": \"みらいよち\",\n  \"move.giga-drain\": \"ギガドレイン\",\n  \"move.gigaton-hammer\": \"デカハンマー\",\n  \"move.grass-knot\": \"くさむすび\",\n  \"move.grassy-glide\": \"グラススライダー\",\n  \"move.gravity\": \"じゅうりょく\",\n  \"move.growl\": \"なきごえ\",\n  \"move.gyro-ball\": \"ジャイロボール\",\n  \"move.headbutt\": \"ずつき\",\n  \"move.heal-pulse\": \"いやしのはどう\",\n  \"move.heat-wave\": \"ねっぷう\",\n  \"move.heavy-slam\": \"ヘビーボンバー\",\n  \"move.helping-hand\": \"てだすけ\",\n  \"move.hex\": \"たたりめ\",\n  \"move.high-horsepower\": \"１０まんばりき\",\n  \"move.hone-claws\": \"つめとぎ\",\n  \"move.horn-leech\": \"ウッドホーン\",\n  \"move.hurricane\": \"ぼうふう\",\n  \"move.hydro-cannon\": \"ハイドロカノン\",\n  \"move.hydro-pump\": \"ハイドロポンプ\",\n  \"move.hyper-beam\": \"はかいこうせん\",\n  \"move.hyper-voice\": \"ハイパーボイス\",\n  \"move.hyperspace-hole\": \"いじげんホール\",\n  \"move.hypnosis\": \"さいみんじゅつ\",\n  \"move.ice-beam\": \"れいとうビーム\",\n  \"move.ice-fang\": \"こおりのキバ\",\n  \"move.ice-hammer\": \"アイスハンマー\",\n  \"move.ice-shard\": \"こおりのつぶて\",\n  \"move.icicle-crash\": \"つららおとし\",\n  \"move.icicle-spear\": \"つららばり\",\n  \"move.icy-wind\": \"こごえるかぜ\",\n  \"move.imprison\": \"ふういん\",\n  \"move.incinerate\": \"やきつくす\",\n  \"move.iron-defense\": \"てっぺき\",\n  \"move.iron-head\": \"アイアンヘッド\",\n  \"move.jump-kick\": \"とびげり\",\n  \"move.karate-chop\": \"からてチョップ\",\n  \"move.knock-off\": \"はたきおとす\",\n  \"move.laser-focus\": \"とぎすます\",\n  \"move.lava-plume\": \"ふんえん\",\n  \"move.leaf-blade\": \"リーフブレード\",\n  \"move.leaf-storm\": \"リーフストーム\",\n  \"move.leaf-tornado\": \"グラスミキサー\",\n  \"move.leafage\": \"このは\",\n  \"move.leech-life\": \"きゅうけつ\",\n  \"move.lick\": \"したでなめる\",\n  \"move.light-screen\": \"ひかりのかべ\",\n  \"move.liquidation\": \"アクアブレイク\",\n  \"move.low-sweep\": \"ローキック\",\n  \"move.lunge\": \"とびかかる\",\n  \"move.luster-purge\": \"ラスターパージ\",\n  \"move.mach-punch\": \"マッハパンチ\",\n  \"move.magical-leaf\": \"マジカルリーフ\",\n  \"move.magnet-rise\": \"でんじふゆう\",\n  \"move.mean-look\": \"くろいまなざし\",\n  \"move.mega-punch\": \"メガトンパンチ\",\n  \"move.megahorn\": \"メガホーン\",\n  \"move.metal-claw\": \"メタルクロー\",\n  \"move.meteor-mash\": \"コメットパンチ\",\n  \"move.mist-ball\": \"ミストボール\",\n  \"move.moonblast\": \"ムーンフォース\",\n  \"move.moonlight\": \"つきのひかり\",\n  \"move.muddy-water\": \"だくりゅう\",\n  \"move.mystical-fire\": \"マジカルフレイム\",\n  \"move.nasty-plot\": \"わるだくみ\",\n  \"move.night-shade\": \"ナイトヘッド\",\n  \"move.night-slash\": \"つじぎり\",\n  \"move.no-retreat\": \"はいすいのじん\",\n  \"move.nuzzle\": \"ほっぺすりすり\",\n  \"move.outrage\": \"げきりん\",\n  \"move.overheat\": \"オーバーヒート\",\n  \"move.pain-split\": \"いたみわけ\",\n  \"move.parabolic-charge\": \"パラボラチャージ\",\n  \"move.pay-day\": \"ネコにこばん\",\n  \"move.payback\": \"しっぺがえし\",\n  \"move.peck\": \"つつく\",\n  \"move.perish-song\": \"ほろびのうた\",\n  \"move.petal-dance\": \"はなびらのまい\",\n  \"move.phantom-force\": \"ゴーストダイブ\",\n  \"move.play-rough\": \"じゃれつく\",\n  \"move.pollen-puff\": \"かふんだんご\",\n  \"move.poltergeist\": \"ポルターガイスト\",\n  \"move.pound\": \"はたく\",\n  \"move.powder-snow\": \"こなゆき\",\n  \"move.power-swap\": \"パワースワップ\",\n  \"move.power-up-punch\": \"グロウパンチ\",\n  \"move.power-whip\": \"パワーウィップ\",\n  \"move.psybeam\": \"サイケこうせん\",\n  \"move.psychic\": \"サイコキネシス\",\n  \"move.psycho-cut\": \"サイコカッター\",\n  \"move.psyshock\": \"サイコショック\",\n  \"move.psystrike\": \"サイコブレイク\",\n  \"move.pursuit\": \"おいうち\",\n  \"move.pyro-ball\": \"かえんボール\",\n  \"move.quick-attack\": \"でんこうせっか\",\n  \"move.rapid-spin\": \"こうそくスピン\",\n  \"move.razor-leaf\": \"はっぱカッター\",\n  \"move.recover\": \"じこさいせい\",\n  \"move.rest\": \"ねむる\",\n  \"move.rock-polish\": \"ロックカット\",\n  \"move.rock-slide\": \"いわなだれ\",\n  \"move.rock-smash\": \"いわくだき\",\n  \"move.rock-tomb\": \"がんせきふうじ\",\n  \"move.rollout\": \"ころがる\",\n  \"move.sacred-fire\": \"せいなるほのお\",\n  \"move.sacred-sword\": \"せいなるつるぎ\",\n  \"move.safeguard\": \"しんぴのまもり\",\n  \"move.sand-attack\": \"すなかけ\",\n  \"move.sand-tomb\": \"すなじごく\",\n  \"move.scald\": \"ねっとう\",\n  \"move.scratch\": \"ひっかく\",\n  \"move.seed-bomb\": \"タネばくだん\",\n  \"move.shadow-ball\": \"シャドーボール\",\n  \"move.shadow-claw\": \"シャドークロー\",\n  \"move.shadow-sneak\": \"かげうち\",\n  \"move.shell-smash\": \"からをやぶる\",\n  \"move.sing\": \"うたう\",\n  \"move.skull-bash\": \"ロケットずつき\",\n  \"move.sky-attack\": \"ゴッドバード\",\n  \"move.slack-off\": \"なまける\",\n  \"move.slash\": \"きりさく\",\n  \"move.sludge-bomb\": \"ヘドロばくだん\",\n  \"move.smack-down\": \"うちおとす\",\n  \"move.smart-strike\": \"スマートホーン\",\n  \"move.smokescreen\": \"えんまく\",\n  \"move.snarl\": \"バークアウト\",\n  \"move.snipe-shot\": \"ねらいうち\",\n  \"move.soft-boiled\": \"タマゴうみ\",\n  \"move.solar-beam\": \"ソーラービーム\",\n  \"move.solar-blade\": \"ソーラーブレード\",\n  \"move.spark\": \"スパーク\",\n  \"move.spirit-shackle\": \"かげぬい\",\n  \"move.splash\": \"はねる\",\n  \"move.stealth-rock\": \"ステルスロック\",\n  \"move.stomp\": \"ふみつけ\",\n  \"move.stone-edge\": \"ストーンエッジ\",\n  \"move.stored-power\": \"アシストパワー\",\n  \"move.stuff-cheeks\": \"ほおばる\",\n  \"move.submission\": \"じごくぐるま\",\n  \"move.substitute\": \"みがわり\",\n  \"move.sucker-punch\": \"ふいうち\",\n  \"move.supercell-slam\": \"サンダーダイブ\",\n  \"move.superpower\": \"ばかぢから\",\n  \"move.surf\": \"なみのり\",\n  \"move.surging-strikes\": \"すいりゅうれんだ\",\n  \"move.sweet-kiss\": \"てんしのキッス\",\n  \"move.sweet-scent\": \"あまいかおり\",\n  \"move.swift\": \"スピードスター\",\n  \"move.swords-dance\": \"つるぎのまい\",\n  \"move.synthesis\": \"こうごうせい\",\n  \"move.tackle\": \"たいあたり\",\n  \"move.tail-whip\": \"しっぽをふる\",\n  \"move.tailwind\": \"おいかぜ\",\n  \"move.take-down\": \"とっしん\",\n  \"move.tearful-look\": \"なみだめ\",\n  \"move.telekinesis\": \"テレキネシス\",\n  \"move.teleport\": \"テレポート\",\n  \"move.thief\": \"どろぼう\",\n  \"move.throat-chop\": \"じごくづき\",\n  \"move.thunder\": \"かみなり\",\n  \"move.thunder-punch\": \"かみなりパンチ\",\n  \"move.thunder-shock\": \"でんきショック\",\n  \"move.thunder-wave\": \"でんじは\",\n  \"move.thunderbolt\": \"１０まんボルト\",\n  \"move.trailblaze\": \"くさわけ\",\n  \"move.tri-attack\": \"トライアタック\",\n  \"move.trick\": \"トリック\",\n  \"move.trick-room\": \"トリックルーム\",\n  \"move.triple-axel\": \"トリプルアクセル\",\n  \"move.trop-kick\": \"トロピカルキック\",\n  \"move.twister\": \"たつまき\",\n  \"move.vine-whip\": \"つるのムチ\",\n  \"move.volt-switch\": \"ボルトチェンジ\",\n  \"move.volt-tackle\": \"ボルテッカー\",\n  \"move.water-gun\": \"みずでっぽう\",\n  \"move.water-pulse\": \"みずのはどう\",\n  \"move.water-shuriken\": \"みずしゅりけん\",\n  \"move.water-spout\": \"しおふき\",\n  \"move.waterfall\": \"たきのぼり\",\n  \"move.whirlpool\": \"うずしお\",\n  \"move.wicked-blow\": \"あんこくきょうだ\",\n  \"move.wide-guard\": \"ワイドガード\",\n  \"move.wild-charge\": \"ワイルドボルト\",\n  \"move.will-o-wisp\": \"おにび\",\n  \"move.wing-attack\": \"つばさでうつ\",\n  \"move.wish\": \"ねがいごと\",\n  \"move.wood-hammer\": \"ウッドハンマー\",\n  \"move.x-scissor\": \"シザークロス\",\n  \"move.yawn\": \"あくび\",\n  \"move.zap-cannon\": \"でんじほう\",\n  \"move.zen-headbutt\": \"しねんのずつき\",\n// @end move-names-i18n\n  // Battle Items — standard Pokémon series items with known official JP names\n  \"battle-item.potion\": \"キズぐすり\",\n  \"battle-item.full-heal\": \"なんでもなおし\",\n  \"battle-item.eject-button\": \"ひきもどしボタン\",\n  // Held Items — standard Pokémon series items with known official JP names\n  \"held-item.leftovers\": \"たべのこし\",\n  \"held-item.amulet-coin\": \"おまもりこばん\",\n  \"held-item.rocky-helmet\": \"ゴツゴツメット\",\n  \"held-item.razor-claw\": \"するどいツメ\",\n  \"held-item.big-root\": \"おおきなねっこ\",\n  \"held-item.rusted-sword\": \"さびたつるぎ\",\n  \"held-item.mewtwonite-x\": \"ミュウツナイトX\",\n  \"held-item.mewtwonite-y\": \"ミュウツナイトY\",\n  \"held-item.lucarionite\": \"ルカリオナイト\",\n  \"held-item.charizardite-x\": \"リザードナイトX\",\n  \"held-item.charizardite-y\": \"リザードナイトY\",\n  \"held-item.gyaradosite\": \"ギャラドスナイト\",\n};\n\nexport default jaJP;\n","/**\n * French (France) Pokémon names — official localized names.\n */\nconst fr: Record<string, string> = {\n  venusaur: \"Florizarre\",\n  charizard: \"Dracaufeu\",\n  \"mega-charizard-x\": \"Méga-Dracaufeu X\",\n  \"mega-charizard-y\": \"Méga-Dracaufeu Y\",\n  blastoise: \"Tortank\",\n  pikachu: \"Pikachu\",\n  \"alolan-raichu\": \"Raichu d'Alola\",\n  clefable: \"Mélodelfe\",\n  \"alolan-ninetales\": \"Feunard d'Alola\",\n  wigglytuff: \"Grodoudou\",\n  meowth: \"Miaouss\",\n  psyduck: \"Psykokwak\",\n  machamp: \"Mackogneur\",\n  \"galarian-rapidash\": \"Galopa de Galar\",\n  slowbro: \"Flagadoss\",\n  dodrio: \"Dodrio\",\n  gengar: \"Ectoplasma\",\n  blissey: \"Leveinard\",\n  \"mr-mime\": \"M. Mime\",\n  scizor: \"Cizayox\",\n  gyarados: \"Léviator\",\n  \"mega-gyarados\": \"Méga-Léviator\",\n  lapras: \"Lokhlass\",\n  vaporeon: \"Aquali\",\n  snorlax: \"Ronflex\",\n  zapdos: \"Électhor\",\n  moltres: \"Sulfura\",\n  dragonite: \"Dracolosse\",\n  mewtwox: \"Méga-Mewtwo X\",\n  mewtwoy: \"Méga-Mewtwo Y\",\n  \"mega-mewtwo-x\": \"Méga-Mewtwo X\",\n  \"mega-mewtwo-y\": \"Méga-Mewtwo Y\",\n  mew: \"Mew\",\n  azumarill: \"Azumarill\",\n  espeon: \"Mentali\",\n  umbreon: \"Noctali\",\n  mamoswine: \"Mammochon\",\n  suicune: \"Suicune\",\n  tyranitar: \"Tyranocif\",\n  \"ho-oh\": \"Ho-Oh\",\n  blaziken: \"Braségali\",\n  gardevoir: \"Gardevoir\",\n  sableye: \"Ténéfix\",\n  absol: \"Absol\",\n  metagross: \"Métalosse\",\n  latias: \"Latias\",\n  latios: \"Latios\",\n  empoleon: \"Pingoléon\",\n  garchomp: \"Carchacrok\",\n  lucario: \"Lucario\",\n  \"mega-lucario\": \"Méga-Lucario\",\n  leafeon: \"Phyllali\",\n  glaceon: \"Givrali\",\n  darkrai: \"Darkrai\",\n  crustle: \"Crabaraque\",\n  zoroark: \"Zoroark\",\n  chandelure: \"Lugulabre\",\n  delphox: \"Goupelin\",\n  greninja: \"Amphinobi\",\n  talonflame: \"Flambusard\",\n  aegislash: \"Exagide\",\n  sylveon: \"Nymphali\",\n  goodra: \"Muplodocus\",\n  trevenant: \"Desséliande\",\n  hoopa: \"Hoopa\",\n  decidueye: \"Archéduc\",\n  tsareena: \"Sucreine\",\n  comfey: \"Guérilande\",\n  mimikyu: \"Mimiqui\",\n  dhelmise: \"Sinistrail\",\n  buzzwole: \"Mouscoto\",\n  zeraora: \"Zeraora\",\n  cinderace: \"Pyrobut\",\n  inteleon: \"Lézargus\",\n  greedent: \"Rongrigou\",\n  eldegoss: \"Blancoton\",\n  cramorant: \"Nigosier\",\n  sirfetchd: \"Palarticho\",\n  alcremie: \"Charmilly\",\n  falinks: \"Hexadron\",\n  duraludon: \"Duralugon\",\n  dragapult: \"Drakéfauche\",\n  zacian: \"Zacian\",\n  urshifu: \"Shifours\",\n  meowscarada: \"Matourgeon\",\n  pawmot: \"Parmot\",\n  armarouge: \"Carmadura\",\n  ceruledge: \"Malvalame\",\n  tinkaton: \"Forgerette\",\n  typhlosion: \"Typhlosion\",\n  miraidon: \"Miraidon\",\n  // Maps — names and descriptions\n  \"map-groudon\": \"Ruines Célestes de Theia\",\n  \"map-groudon.description\": \"Carte 5v5 avec Groudon.\",\n  \"map-kyogre\": \"Ruines Célestes de Theia\",\n  \"map-kyogre.description\": \"Carte 5v5 avec Kyogre.\",\n  \"map-rayquaza\": \"Ruines Célestes de Theia\",\n  \"map-rayquaza.description\": \"Carte 5v5 avec Rayquaza.\",\n  // Neutrals (wild Pokémon / items)\n  accelgor: \"Accelgor\",\n  altaria: \"Altaria\",\n  baltoy: \"Balbuto\",\n  bunnelby: \"Sapereau\",\n  escavalier: \"Lançargot\",\n  groudon: \"Groudon\",\n  indeedee: \"Wimessir\",\n  kyogre: \"Kyogre\",\n  natu: \"Natu\",\n  rayquaza: \"Rayquaza\",\n  regidrago: \"Regidrago\",\n  regice: \"Regice\",\n  regieleki: \"Regieleki\",\n  regirock: \"Regirock\",\n  registeel: \"Registeel\",\n  salac: \"Baie Salac\",\n  sitrus: \"Baie Sitrus\",\n  xatu: \"Xatu\",\n  // Spawn info (HTML)\n  \"spawn.info.groudon.boss\":\n    \"<p>Une fois vaincu, tous les coéquipiers vivants reçoivent un <strong>buff</strong> et <strong>15 points aeos</strong>.<br>Ce buff est <strong>permanent jusqu'à ce que le porteur soit K.O.</strong>. Au K.O., le buff <strong>passe au vainqueur</strong>.<br>Il donne un <strong>boost de vitesse de score</strong>, un <strong>gros boost de dégâts</strong> et un <strong>petit bouclier</strong>.<br>Apparaît toujours à 2:00.</p>\",\n  \"spawn.info.bunnelby.initial\":\n    \"<p>Ils <strong>apparaissent au début de la partie</strong> et <strong>ne réapparaissent jamais</strong> une fois vaincus.</p><p>Donnent 2 points.</p>\",\n  \"spawn.info.bunnelby.lane_940\":\n    \"<p>Commence à apparaître à <strong>9:40</strong>.</p><p>Vaincu : <strong>2 points</strong>, réapparition après <strong>60 secondes</strong>.</p><p>Si une des <strong>premières tours</strong> de la voie est détruite, <strong>disparaît</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920\":\n    \"<p>Commence à apparaître à <strong>9:20</strong>.</p><p>Vaincu : <strong>2 points</strong>, réapparition après <strong>60 secondes</strong>.</p><p>Si une des <strong>premières tours</strong> de la voie est détruite, <strong>disparaît</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915\":\n    \"<p>Commence à apparaître à <strong>9:15</strong>.</p><p>Vaincu : <strong>2 points</strong>, réapparition après <strong>60 secondes</strong>.</p><p>Si une des <strong>premières tours</strong> de la voie est détruite, <strong>disparaît</strong>.</p>\",\n  \"spawn.info.accelgor\":\n    \"<p>Commence à <strong>9:45</strong>. Vaincu : <strong>4 / 7 points</strong> et <strong>buff</strong>. Réapparition après <strong>60 s</strong>. Buff <strong>70 s</strong> : <strong>-10% temps de recharge des capacités</strong>.</p>\",\n  \"spawn.info.escavalier\":\n    \"<p>Commence à <strong>9:45</strong>. Vaincu : <strong>4 / 7 points</strong> et <strong>buff</strong>. Réapparition après <strong>60 s</strong>. Buff <strong>70 s</strong> : <strong>dégâts d’attaque basique + ralentissement adverse</strong>.</p>\",\n  \"spawn.info.baltoy.generic\":\n    \"<p>Commence à <strong>9:45</strong>. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940\":\n    \"<p>Commence à <strong>9:40</strong>. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>. <strong>Première tour</strong> détruite → <strong>disparaît</strong>.</p>\",\n  \"spawn.info.baltoy.lane_920\":\n    \"<p>Commence à <strong>9:40</strong>. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>. <strong>Première tour</strong> détruite → <strong>disparaît</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910\":\n    \"<p>Commence à <strong>9:10</strong>. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>. <strong>Première tour</strong> détruite → <strong>disparaît</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_only\":\n    \"<p>Commence à <strong>9:10</strong>. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840\":\n    \"<p>Commence à <strong>8:40</strong>. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>.</p>\",\n  \"spawn.info.baltoy.tower\":\n    \"<p>Apparaît quand la <strong>première tour correspondante</strong> est détruite. Vaincu : <strong>2 points</strong>. Réapparition après <strong>60 s</strong>.</p>\",\n  \"spawn.info.regidrago\":\n    \"<p>Apparaît <strong>au centre à 8:00</strong>. Vaincu → <strong>Altaria 1:30 après</strong>.<br>L’équipe qui le vainc gagne <strong>de l’exp pour toute l’équipe</strong>. Dernier coup : <strong>buff score</strong> et <strong>20 points</strong>.</p>\",\n  \"spawn.info.regieleki\":\n    \"<p>Apparaît à <strong>7:00</strong> en haut ou en bas. Vaincu → va vers la base adverse ; touche la base : <strong>20/16/12/8 points</strong> ; base vivante : <strong>buts instantanés 20/15/10/5 s</strong>.<br>Dernier coup : <strong>20 points</strong>. Réapparition <strong>2 min</strong> après.</p>\",\n  \"spawn.info.regi.700\":\n    \"<p>Apparaît à <strong>7:00</strong>.</p>\",\n  \"spawn.info.xatu\":\n    \"<p>Apparaît à <strong>9:59</strong>. Vaincu : <strong>beaucoup d’exp</strong> et <strong>2 points</strong>. <strong>Ne réapparaît pas</strong>.</p>\",\n  \"spawn.info.natu.900\":\n    \"<p>Apparaît à <strong>9:00</strong>.</p>\",\n  \"spawn.info.natu.920\":\n    \"<p>Apparaît à <strong>9:20</strong>.</p>\",\n  \"spawn.info.indeedee.lane\":\n    \"<p>Commence à <strong>9:30</strong> / <strong>9:35</strong>. Vaincu : réapparition <strong>60 s</strong>, <strong>5 points</strong>. <strong>Première tour</strong> détruite → <strong>disparaît</strong>.</p>\",\n  \"spawn.info.indeedee.tower\":\n    \"<p>Apparaît quand la <strong>première tour correspondante</strong> est détruite. Vaincu : réapparition <strong>60 s</strong>, <strong>5 points</strong>.</p>\",\n  \"spawn.info.salac\":\n    \"<p>Consommé : <strong>bonus vitesse 3 s</strong>. Apparition à <strong>8:30</strong>, réapparition <strong>60 s</strong> après consommation.</p>\",\n  \"spawn.info.salac.short\":\n    \"<p>Bonus de vitesse pendant 3 secondes.</p>\",\n  \"spawn.info.altaria.after_regidrago\":\n    \"<p>Apparaît <strong>1:30 après la chute de Regidrago</strong>.</p>\",\n  \"spawn.info.altaria.rayquaza\":\n    \"<p>Apparaît à <strong>8:00</strong>, réapparition toutes les <strong>1:30</strong>. Disparaît à <strong>2:30</strong>.</p>\",\n  \"spawn.info.kyogre.boss\":\n    \"<p>Vaincu : coéquipiers vivants → <strong>buff</strong>, <strong>15 points aeos</strong>, tours adverses encore debout désactivées 1:30 (pas de bouclier/régén).<br>Buff <strong>permanent jusqu’au K.O. du porteur</strong>, puis <strong>passe au vainqueur</strong>.<br><strong>Vitesse de score</strong>, <strong>régén 5%/s</strong>, <strong>petit bouclier</strong>. Apparaît à 2:00.</p>\",\n  \"spawn.info.rayquaza.boss\":\n    \"<p>Vaincu : équipe gagnante reçoit <strong>15 points aeos</strong>, un <strong>bouclier</strong> qui <strong>accélère le score</strong> et <strong>empêche le blocage des buts</strong>. Apparaît à 2:00.</p>\",\n  \"spawn.info.regidrago.kyogre\":\n    \"<p>Apparaît <strong>au centre à 8:00</strong>.</p>\",\n  \"spawn.info.xatu.short\":\n    \"<p>Apparaît à <strong>9:59</strong>.</p>\",\n  \"spawn.info.indeedee.tower_break\":\n    \"<p>Apparition après destruction de tour.</p>\",\n  \"spawn.info.baltoy.tower_break\":\n    \"<p>Apparition après destruction de tour.</p>\",\n  \"spawn.info.bunnelby.lane\":\n    \"<p>Commence à apparaître à <strong>9:40</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920_short\":\n    \"<p>Commence à apparaître à <strong>9:20</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915_short\":\n    \"<p>Commence à apparaître à <strong>9:15</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940_short\":\n    \"<p>Commence à apparaître à <strong>9:40</strong>.</p>\",\n  \"spawn.info.baltoy.945_short\":\n    \"<p>Commence à apparaître à <strong>9:45</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_short\":\n    \"<p>Commence à apparaître à <strong>9:10</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840_short\":\n    \"<p>Commence à apparaître à <strong>8:40</strong>.</p>\",\n  \"spawn.info.indeedee.lane_930\":\n    \"<p>Commence à apparaître à <strong>9:30</strong>.</p>\",\n  \"spawn.info.indeedee.lane_935\":\n    \"<p>Commence à apparaître à <strong>9:35</strong>.</p>\",\n  \"spawn.info.bunnelby.points\":\n    \"<p>Donnent 2 points.</p>\",\n  \"spawn.info.baltoy.tower_kyogre\":\n    \"<p>Apparaît quand la <strong>première tour correspondante</strong> est détruite.</p>\",\n  \"spawn.info.indeedee.tower_short\":\n    \"<p>Apparaît quand la <strong>première tour correspondante</strong> est détruite.</p>\",\n  // @begin move-names-i18n\n  \"move.acid-spray\": \"Bombe Acide\",\n  \"move.acrobatics\": \"Acrobatie\",\n  \"move.aerial-ace\": \"Aéropique\",\n  \"move.agility\": \"Hâte\",\n  \"move.air-slash\": \"Lame d’Air\",\n  \"move.amnesia\": \"Amnésie\",\n  \"move.anchor-shot\": \"Ancrage\",\n  \"move.ancient-power\": \"Pouvoir Antique\",\n  \"move.aqua-jet\": \"Aqua-Jet\",\n  \"move.aqua-ring\": \"Anneau Hydro\",\n  \"move.aqua-tail\": \"Hydro-Queue\",\n  \"move.armor-cannon\": \"Canon Blindé\",\n  \"move.assurance\": \"Assurance\",\n  \"move.astonish\": \"Étonnement\",\n  \"move.aurora-veil\": \"Voile Aurore\",\n  \"move.avalanche\": \"Avalanche\",\n  \"move.baby-doll-eyes\": \"Regard Touchant\",\n  \"move.barrier\": \"Bouclier\",\n  \"move.beat-up\": \"Baston\",\n  \"move.belch\": \"Éructation\",\n  \"move.bite\": \"Morsure\",\n  \"move.bitter-blade\": \"Lame en Peine\",\n  \"move.blaze\": \"Torche\",\n  \"move.blaze-kick\": \"Pied Brûleur\",\n  \"move.blizzard\": \"Blizzard\",\n  \"move.block\": \"Barrage\",\n  \"move.bone-rush\": \"Charge Os\",\n  \"move.bounce\": \"Rebond\",\n  \"move.branch-poke\": \"Tapotige\",\n  \"move.brave-bird\": \"Rapace\",\n  \"move.brutal-swing\": \"Centrifugifle\",\n  \"move.bubble\": \"Écume\",\n  \"move.bubble-beam\": \"Bulles d’O\",\n  \"move.bulk-up\": \"Gonflette\",\n  \"move.bulldoze\": \"Piétisol\",\n  \"move.bullet-punch\": \"Pisto-Poing\",\n  \"move.bullet-seed\": \"Balle Graine\",\n  \"move.calm-mind\": \"Plénitude\",\n  \"move.charge-beam\": \"Rayon Chargé\",\n  \"move.charm\": \"Charme\",\n  \"move.close-combat\": \"Close Combat\",\n  \"move.coaching\": \"Coaching\",\n  \"move.confuse-ray\": \"Onde Folie\",\n  \"move.confusion\": \"Choc Mental\",\n  \"move.cotton-guard\": \"Cotogarde\",\n  \"move.cotton-spore\": \"Spore Coton\",\n  \"move.covet\": \"Implore\",\n  \"move.cross-chop\": \"Coup Croix\",\n  \"move.curse\": \"Malédiction\",\n  \"move.cut\": \"Coupe\",\n  \"move.dark-pulse\": \"Vibrobscur\",\n  \"move.dark-void\": \"Trou Noir\",\n  \"move.dazzling-gleam\": \"Éclat Magique\",\n  \"move.decorate\": \"Nappage\",\n  \"move.defense-curl\": \"Boul’Armure\",\n  \"move.detect\": \"Détection\",\n  \"move.dig\": \"Tunnel\",\n  \"move.disable\": \"Entrave\",\n  \"move.disarming-voice\": \"Voix Enjôleuse\",\n  \"move.discharge\": \"Coup d’Jus\",\n  \"move.dive\": \"Plongée\",\n  \"move.double-hit\": \"Coup Double\",\n  \"move.double-slap\": \"Torgnoles\",\n  \"move.double-team\": \"Reflet\",\n  \"move.draco-meteor\": \"Draco-Météore\",\n  \"move.dragon-breath\": \"Draco-Souffle\",\n  \"move.dragon-cheer\": \"Cri Draconique\",\n  \"move.dragon-claw\": \"Draco-Griffe\",\n  \"move.dragon-dance\": \"Danse Draco\",\n  \"move.dragon-pulse\": \"Draco-Choc\",\n  \"move.dragon-rush\": \"Draco-Charge\",\n  \"move.dragon-tail\": \"Draco-Queue\",\n  \"move.draining-kiss\": \"Vampibaiser\",\n  \"move.dream-eater\": \"Dévorêve\",\n  \"move.drill-peck\": \"Bec Vrille\",\n  \"move.dual-wingbeat\": \"Double Volée\",\n  \"move.dynamic-punch\": \"Dynamo-Poing\",\n  \"move.earthquake\": \"Séisme\",\n  \"move.egg-bomb\": \"Bombe Œuf\",\n  \"move.electro-ball\": \"Boule Élek\",\n  \"move.electro-drift\": \"Turbo Volt\",\n  \"move.electroweb\": \"Toile Élek\",\n  \"move.ember\": \"Flammèche\",\n  \"move.eruption\": \"Éruption\",\n  \"move.explosive-heat-haze\": \"Brume Thermique Explosive\",\n  \"move.extreme-speed\": \"Vitesse Extrême\",\n  \"move.fairy-wind\": \"Vent Féérique\",\n  \"move.fake-out\": \"Bluff\",\n  \"move.fake-tears\": \"Croco Larme\",\n  \"move.feather-dance\": \"Danse Plumes\",\n  \"move.feint\": \"Ruse\",\n  \"move.feint-attack\": \"Feinte\",\n  \"move.fell-stinger\": \"Dard Mortel\",\n  \"move.fire-blast\": \"Déflagration\",\n  \"move.fire-punch\": \"Poing Feu\",\n  \"move.fire-spin\": \"Danse Flammes\",\n  \"move.flail\": \"Gigotage\",\n  \"move.flame-burst\": \"Rebondifeu\",\n  \"move.flame-charge\": \"Nitrocharge\",\n  \"move.flame-wheel\": \"Roue de Feu\",\n  \"move.flamethrower\": \"Lance-Flammes\",\n  \"move.flare-blitz\": \"Boutefeu\",\n  \"move.flash-cannon\": \"Luminocanon\",\n  \"move.flip-turn\": \"Eau Revoir\",\n  \"move.floral-healing\": \"Soin Floral\",\n  \"move.flower-trick\": \"Magie Florale\",\n  \"move.fly\": \"Vol\",\n  \"move.focus-blast\": \"Exploforce\",\n  \"move.follow-me\": \"Par Ici\",\n  \"move.foul-play\": \"Tricherie\",\n  \"move.freeze-dry\": \"Lyophilisation\",\n  \"move.fury-cutter\": \"Taillade\",\n  \"move.fury-swipes\": \"Combo-Griffe\",\n  \"move.future-sight\": \"Prescience\",\n  \"move.giga-drain\": \"Giga-Sangsue\",\n  \"move.gigaton-hammer\": \"Marteau Mastoc\",\n  \"move.grass-knot\": \"Nœud Herbe\",\n  \"move.grassy-glide\": \"Gliss’Herbe\",\n  \"move.gravity\": \"Gravité\",\n  \"move.growl\": \"Rugissement\",\n  \"move.gyro-ball\": \"Gyroballe\",\n  \"move.headbutt\": \"Coup d’Boule\",\n  \"move.heal-pulse\": \"Vibra Soin\",\n  \"move.heat-wave\": \"Canicule\",\n  \"move.heavy-slam\": \"Tacle Lourd\",\n  \"move.helping-hand\": \"Coup d’Main\",\n  \"move.hex\": \"Châtiment\",\n  \"move.high-horsepower\": \"Cavalerie Lourde\",\n  \"move.hone-claws\": \"Aiguisage\",\n  \"move.horn-leech\": \"Encornebois\",\n  \"move.hurricane\": \"Vent Violent\",\n  \"move.hydro-cannon\": \"Hydroblast\",\n  \"move.hydro-pump\": \"Hydrocanon\",\n  \"move.hyper-beam\": \"Ultralaser\",\n  \"move.hyper-voice\": \"Mégaphone\",\n  \"move.hyperspace-hole\": \"TrouDimensionnel\",\n  \"move.hypnosis\": \"Hypnose\",\n  \"move.ice-beam\": \"Laser Glace\",\n  \"move.ice-fang\": \"Crocs Givre\",\n  \"move.ice-hammer\": \"Marteau de Glace\",\n  \"move.ice-shard\": \"Éclats Glace\",\n  \"move.icicle-crash\": \"Chute Glace\",\n  \"move.icicle-spear\": \"Stalactite\",\n  \"move.icy-wind\": \"Vent Glace\",\n  \"move.imprison\": \"Possessif\",\n  \"move.incinerate\": \"Calcination\",\n  \"move.iron-defense\": \"Mur de Fer\",\n  \"move.iron-head\": \"Tête de Fer\",\n  \"move.jump-kick\": \"Pied Sauté\",\n  \"move.karate-chop\": \"Poing Karaté\",\n  \"move.knock-off\": \"Sabotage\",\n  \"move.laser-focus\": \"Affilage\",\n  \"move.lava-plume\": \"Ébullilave\",\n  \"move.leaf-blade\": \"Lame Feuille\",\n  \"move.leaf-storm\": \"Tempête Verte\",\n  \"move.leaf-tornado\": \"Phytomixeur\",\n  \"move.leafage\": \"Feuillage\",\n  \"move.leech-life\": \"Vampirisme\",\n  \"move.lick\": \"Léchouille\",\n  \"move.light-screen\": \"Mur Lumière\",\n  \"move.liquidation\": \"Aqua-Brèche\",\n  \"move.low-sweep\": \"Balayette\",\n  \"move.lunge\": \"Furie-Bond\",\n  \"move.luster-purge\": \"Lumi-Éclat\",\n  \"move.mach-punch\": \"Mach Punch\",\n  \"move.magical-leaf\": \"Feuille Magik\",\n  \"move.magnet-rise\": \"Vol Magnétik\",\n  \"move.mean-look\": \"Regard Noir\",\n  \"move.mega-punch\": \"Ultimapoing\",\n  \"move.megahorn\": \"Mégacorne\",\n  \"move.metal-claw\": \"Griffe Acier\",\n  \"move.meteor-mash\": \"Poing Météore\",\n  \"move.mist-ball\": \"Ball’Brume\",\n  \"move.moonblast\": \"Pouvoir Lunaire\",\n  \"move.moonlight\": \"Rayon Lune\",\n  \"move.muddy-water\": \"Ocroupi\",\n  \"move.mystical-fire\": \"Feu Ensorcelé\",\n  \"move.nasty-plot\": \"Machination\",\n  \"move.night-shade\": \"Ombre Nocturne\",\n  \"move.night-slash\": \"Tranche-Nuit\",\n  \"move.no-retreat\": \"Ultime Bastion\",\n  \"move.nuzzle\": \"Frotte-Frimousse\",\n  \"move.outrage\": \"Colère\",\n  \"move.overheat\": \"Surchauffe\",\n  \"move.pain-split\": \"Balance\",\n  \"move.parabolic-charge\": \"Parabocharge\",\n  \"move.pay-day\": \"Jackpot\",\n  \"move.payback\": \"Représailles\",\n  \"move.peck\": \"Picpic\",\n  \"move.perish-song\": \"Requiem\",\n  \"move.petal-dance\": \"Danse Fleurs\",\n  \"move.phantom-force\": \"Hantise\",\n  \"move.play-rough\": \"Câlinerie\",\n  \"move.pollen-puff\": \"Boule Pollen\",\n  \"move.poltergeist\": \"Esprit Frappeur\",\n  \"move.pound\": \"Écras’Face\",\n  \"move.powder-snow\": \"Poudreuse\",\n  \"move.power-swap\": \"Permuforce\",\n  \"move.power-up-punch\": \"Poing Boost\",\n  \"move.power-whip\": \"Mégafouet\",\n  \"move.psybeam\": \"Rafale Psy\",\n  \"move.psychic\": \"Psyko\",\n  \"move.psycho-cut\": \"Coupe Psycho\",\n  \"move.psyshock\": \"Choc Psy\",\n  \"move.psystrike\": \"Frappe Psy\",\n  \"move.pursuit\": \"Poursuite\",\n  \"move.pyro-ball\": \"Ballon Brûlant\",\n  \"move.quick-attack\": \"Vive-Attaque\",\n  \"move.rapid-spin\": \"Tour Rapide\",\n  \"move.razor-leaf\": \"Tranch’Herbe\",\n  \"move.recover\": \"Soin\",\n  \"move.rest\": \"Repos\",\n  \"move.rock-polish\": \"Poliroche\",\n  \"move.rock-slide\": \"Éboulement\",\n  \"move.rock-smash\": \"Éclate-Roc\",\n  \"move.rock-tomb\": \"Tomberoche\",\n  \"move.rollout\": \"Roulade\",\n  \"move.sacred-fire\": \"Feu Sacré\",\n  \"move.sacred-sword\": \"Lame Sainte\",\n  \"move.safeguard\": \"Rune Protect\",\n  \"move.sand-attack\": \"Jet de Sable\",\n  \"move.sand-tomb\": \"Tourbi-Sable\",\n  \"move.scald\": \"Ébullition\",\n  \"move.scratch\": \"Griffe\",\n  \"move.seed-bomb\": \"Canon Graine\",\n  \"move.shadow-ball\": \"Ball’Ombre\",\n  \"move.shadow-claw\": \"Griffe Ombre\",\n  \"move.shadow-sneak\": \"Ombre Portée\",\n  \"move.shell-smash\": \"Exuviation\",\n  \"move.sing\": \"Berceuse\",\n  \"move.skull-bash\": \"Coud’Krâne\",\n  \"move.sky-attack\": \"Piqué\",\n  \"move.slack-off\": \"Paresse\",\n  \"move.slash\": \"Tranche\",\n  \"move.sludge-bomb\": \"Bombe Beurk\",\n  \"move.smack-down\": \"Anti-Air\",\n  \"move.smart-strike\": \"Estocorne\",\n  \"move.smokescreen\": \"Brouillard\",\n  \"move.snarl\": \"Aboiement\",\n  \"move.snipe-shot\": \"Tir de Précision\",\n  \"move.soft-boiled\": \"E-Coque\",\n  \"move.solar-beam\": \"Lance-Soleil\",\n  \"move.solar-blade\": \"Lame Solaire\",\n  \"move.spark\": \"Étincelle\",\n  \"move.spirit-shackle\": \"Tisse Ombre\",\n  \"move.splash\": \"Trempette\",\n  \"move.stealth-rock\": \"Piège de Roc\",\n  \"move.stomp\": \"Écrasement\",\n  \"move.stone-edge\": \"Lame de Roc\",\n  \"move.stored-power\": \"Force Ajoutée\",\n  \"move.stuff-cheeks\": \"Garde-à-Joues\",\n  \"move.submission\": \"Sacrifice\",\n  \"move.substitute\": \"Clonage\",\n  \"move.sucker-punch\": \"Coup Bas\",\n  \"move.supercell-slam\": \"Volt Assaut\",\n  \"move.superpower\": \"Surpuissance\",\n  \"move.surf\": \"Surf\",\n  \"move.surging-strikes\": \"Torrent de Coups\",\n  \"move.sweet-kiss\": \"Doux Baiser\",\n  \"move.sweet-scent\": \"Doux Parfum\",\n  \"move.swift\": \"Météores\",\n  \"move.swords-dance\": \"Danse Lames\",\n  \"move.synthesis\": \"Synthèse\",\n  \"move.tackle\": \"Charge\",\n  \"move.tail-whip\": \"Mimi-Queue\",\n  \"move.tailwind\": \"Vent Arrière\",\n  \"move.take-down\": \"Bélier\",\n  \"move.tearful-look\": \"Larme à l’Œil\",\n  \"move.telekinesis\": \"Lévikinésie\",\n  \"move.teleport\": \"Téléport\",\n  \"move.thief\": \"Larcin\",\n  \"move.throat-chop\": \"Exécu-Son\",\n  \"move.thunder\": \"Fatal-Foudre\",\n  \"move.thunder-punch\": \"Poing Éclair\",\n  \"move.thunder-shock\": \"Éclair\",\n  \"move.thunder-wave\": \"Cage Éclair\",\n  \"move.thunderbolt\": \"Tonnerre\",\n  \"move.trailblaze\": \"Désherbaffe\",\n  \"move.tri-attack\": \"Triplattaque\",\n  \"move.trick\": \"Tour de Magie\",\n  \"move.trick-room\": \"Distorsion\",\n  \"move.triple-axel\": \"Triple Axel\",\n  \"move.trop-kick\": \"Botte Sucrette\",\n  \"move.twister\": \"Ouragan\",\n  \"move.vine-whip\": \"Fouet Lianes\",\n  \"move.volt-switch\": \"Change Éclair\",\n  \"move.volt-tackle\": \"Électacle\",\n  \"move.water-gun\": \"Pistolet à O\",\n  \"move.water-pulse\": \"Vibraqua\",\n  \"move.water-shuriken\": \"Sheauriken\",\n  \"move.water-spout\": \"Giclédo\",\n  \"move.waterfall\": \"Cascade\",\n  \"move.whirlpool\": \"Siphon\",\n  \"move.wicked-blow\": \"Poing Obscur\",\n  \"move.wide-guard\": \"Garde Large\",\n  \"move.wild-charge\": \"Éclair Fou\",\n  \"move.will-o-wisp\": \"Feu Follet\",\n  \"move.wing-attack\": \"Cru-Ailes\",\n  \"move.wish\": \"Vœu\",\n  \"move.wood-hammer\": \"Martobois\",\n  \"move.x-scissor\": \"Plaie Croix\",\n  \"move.yawn\": \"Bâillement\",\n  \"move.zap-cannon\": \"Élecanon\",\n  \"move.zen-headbutt\": \"Psykoud’Boul\",\n// @end move-names-i18n\n  // Battle Items\n  \"battle-item.potion\": \"Potion\",\n  \"battle-item.x-attack\": \"X Attaque\",\n  \"battle-item.x-speed\": \"X Vitesse\",\n  \"battle-item.fluffy-tail\": \"Queue Duveteuse\",\n  \"battle-item.eject-button\": \"Bouton Éjection\",\n  \"battle-item.slow-smoke\": \"Fumée Ralentissante\",\n  \"battle-item.full-heal\": \"Guérison Totale\",\n  \"battle-item.goal-getter\": \"Marqueur\",\n  \"battle-item.shedinja-doll\": \"Poupée Munja\",\n  \"battle-item.goal-hacker\": \"Pirate de But\",\n  // Held Items\n  \"held-item.leftovers\": \"Restes\",\n  \"held-item.muscle-band\": \"Bande Musclée\",\n  \"held-item.scope-lens\": \"Lentille Optique\",\n  \"held-item.wise-glasses\": \"Lunettes Savantes\",\n  \"held-item.shell-bell\": \"Grelot Coquillage\",\n  \"held-item.float-stone\": \"Pierre Légère\",\n  \"held-item.focus-band\": \"Bandeau Concentration\",\n  \"held-item.assault-vest\": \"Veste d’Assaut\",\n  \"held-item.rocky-helmet\": \"Casque Cogneur\",\n  \"held-item.razor-claw\": \"Griffe Rasoir\",\n  \"held-item.choice-specs\": \"Lunettes de Choix\",\n  \"held-item.choice-scarf\": \"Foulard de Choix\",\n  \"held-item.weakness-policy\": \"Politique Faiblesse\",\n  \"held-item.big-root\": \"Grosse Racine\",\n  \"held-item.amulet-coin\": \"Pièce Amulette\",\n  \"held-item.rusted-sword\": \"Épée Rouillée\",\n  \"held-item.mewtwonite-x\": \"Mewtnite X\",\n  \"held-item.mewtwonite-y\": \"Mewtnite Y\",\n  \"held-item.lucarionite\": \"Lucariodite\",\n  \"held-item.charizardite-x\": \"Dracaufite X\",\n  \"held-item.charizardite-y\": \"Dracaufite Y\",\n  \"held-item.gyaradosite\": \"Léviatorite\",\n};\n\nexport default fr;\n","/**\n * Spanish (Spain/LATAM) Pokémon names — official localized names.\n */\nconst es: Record<string, string> = {\n  venusaur: \"Venusaur\",\n  charizard: \"Charizard\",\n  \"mega-charizard-x\": \"Mega-Charizard X\",\n  \"mega-charizard-y\": \"Mega-Charizard Y\",\n  blastoise: \"Blastoise\",\n  pikachu: \"Pikachu\",\n  \"alolan-raichu\": \"Raichu de Alola\",\n  clefable: \"Clefable\",\n  \"alolan-ninetales\": \"Ninetales de Alola\",\n  wigglytuff: \"Wigglytuff\",\n  meowth: \"Meowth\",\n  psyduck: \"Psyduck\",\n  machamp: \"Machamp\",\n  \"galarian-rapidash\": \"Rapidash de Galar\",\n  slowbro: \"Slowbro\",\n  dodrio: \"Dodrio\",\n  gengar: \"Gengar\",\n  blissey: \"Blissey\",\n  \"mr-mime\": \"Mr. Mime\",\n  scizor: \"Scizor\",\n  gyarados: \"Gyarados\",\n  \"mega-gyarados\": \"Mega-Gyarados\",\n  lapras: \"Lapras\",\n  vaporeon: \"Vaporeon\",\n  snorlax: \"Snorlax\",\n  zapdos: \"Zapdos\",\n  moltres: \"Moltres\",\n  dragonite: \"Dragonite\",\n  mewtwox: \"Mega-Mewtwo X\",\n  mewtwoy: \"Mega-Mewtwo Y\",\n  \"mega-mewtwo-x\": \"Mega-Mewtwo X\",\n  \"mega-mewtwo-y\": \"Mega-Mewtwo Y\",\n  mew: \"Mew\",\n  azumarill: \"Azumarill\",\n  espeon: \"Espeon\",\n  umbreon: \"Umbreon\",\n  mamoswine: \"Mamoswine\",\n  suicune: \"Suicune\",\n  tyranitar: \"Tyranitar\",\n  \"ho-oh\": \"Ho-Oh\",\n  blaziken: \"Blaziken\",\n  gardevoir: \"Gardevoir\",\n  sableye: \"Sableye\",\n  absol: \"Absol\",\n  metagross: \"Metagross\",\n  latias: \"Latias\",\n  latios: \"Latios\",\n  empoleon: \"Empoleon\",\n  garchomp: \"Garchomp\",\n  lucario: \"Lucario\",\n  \"mega-lucario\": \"Mega-Lucario\",\n  leafeon: \"Leafeon\",\n  glaceon: \"Glaceon\",\n  darkrai: \"Darkrai\",\n  crustle: \"Crustle\",\n  zoroark: \"Zoroark\",\n  chandelure: \"Chandelure\",\n  delphox: \"Delphox\",\n  greninja: \"Greninja\",\n  talonflame: \"Talonflame\",\n  aegislash: \"Aegislash\",\n  sylveon: \"Sylveon\",\n  goodra: \"Goodra\",\n  trevenant: \"Trevenant\",\n  hoopa: \"Hoopa\",\n  decidueye: \"Decidueye\",\n  tsareena: \"Tsareena\",\n  comfey: \"Comfey\",\n  mimikyu: \"Mimikyu\",\n  dhelmise: \"Dhelmise\",\n  buzzwole: \"Buzzwole\",\n  zeraora: \"Zeraora\",\n  cinderace: \"Cinderace\",\n  inteleon: \"Inteleon\",\n  greedent: \"Greedent\",\n  eldegoss: \"Eldegoss\",\n  cramorant: \"Cramorant\",\n  sirfetchd: \"Sirfetch'd\",\n  alcremie: \"Alcremie\",\n  falinks: \"Falinks\",\n  duraludon: \"Duraludon\",\n  dragapult: \"Dragapult\",\n  zacian: \"Zacian\",\n  urshifu: \"Urshifu\",\n  meowscarada: \"Meowscarada\",\n  pawmot: \"Pawmot\",\n  armarouge: \"Armarouge\",\n  ceruledge: \"Ceruledge\",\n  tinkaton: \"Tinkaton\",\n  typhlosion: \"Typhlosion\",\n  miraidon: \"Miraidon\",\n  // Maps — names and descriptions\n  \"map-groudon\": \"Ruinas Celestiales de Theia\",\n  \"map-groudon.description\": \"Mapa 5v5 con Groudon.\",\n  \"map-kyogre\": \"Ruinas Celestiales de Theia\",\n  \"map-kyogre.description\": \"Mapa 5v5 con Kyogre.\",\n  \"map-rayquaza\": \"Ruinas Celestiales de Theia\",\n  \"map-rayquaza.description\": \"Mapa 5v5 con Rayquaza.\",\n  // Neutrals (wild Pokémon / items)\n  accelgor: \"Accelgor\",\n  altaria: \"Altaria\",\n  baltoy: \"Baltoy\",\n  bunnelby: \"Bunnelby\",\n  escavalier: \"Escavalier\",\n  groudon: \"Groudon\",\n  indeedee: \"Indeedee\",\n  kyogre: \"Kyogre\",\n  natu: \"Natu\",\n  rayquaza: \"Rayquaza\",\n  regidrago: \"Regidrago\",\n  regice: \"Regice\",\n  regieleki: \"Regieleki\",\n  regirock: \"Regirock\",\n  registeel: \"Registeel\",\n  salac: \"Baya Salac\",\n  sitrus: \"Baya Sitrus\",\n  xatu: \"Xatu\",\n  // Spawn info (HTML)\n  \"spawn.info.groudon.boss\":\n    \"<p>Al derrotarlo, todos los compañeros vivos reciben <strong>buff</strong> y <strong>15 puntos aeos</strong>.<br>El buff es <strong>permanente hasta que el portador sea K.O.</strong>. Al ser K.O., el buff <strong>pasa al que lo derrotó</strong>.<br>Da <strong>aumento de velocidad de anotación</strong>, <strong>gran aumento de daño</strong> y <strong>pequeño escudo</strong>.<br>Siempre aparece a las 2:00.</p>\",\n  \"spawn.info.bunnelby.initial\":\n    \"<p><strong>Aparecen al inicio de la partida</strong> y <strong>no reaparecen</strong> al ser derrotados.</p><p>Dan 2 puntos.</p>\",\n  \"spawn.info.bunnelby.lane_940\":\n    \"<p>Empieza a aparecer a las <strong>9:40</strong>.</p><p>Al derrotarlo: <strong>2 puntos</strong>, reaparece tras <strong>60 segundos</strong>.</p><p>Si alguna <strong>primera torre</strong> del carril cae, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920\":\n    \"<p>Empieza a aparecer a las <strong>9:20</strong>.</p><p>Al derrotarlo: <strong>2 puntos</strong>, reaparece tras <strong>60 segundos</strong>.</p><p>Si alguna <strong>primera torre</strong> del carril cae, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915\":\n    \"<p>Empieza a aparecer a las <strong>9:15</strong>.</p><p>Al derrotarlo: <strong>2 puntos</strong>, reaparece tras <strong>60 segundos</strong>.</p><p>Si alguna <strong>primera torre</strong> del carril cae, <strong>desaparece</strong>.</p>\",\n  \"spawn.info.accelgor\":\n    \"<p>Empieza a las <strong>9:45</strong>. Derrotado: <strong>4 / 7 puntos</strong> y <strong>buff</strong>. Reaparece en <strong>60 s</strong>. Buff <strong>70 s</strong>: <strong>-10% enfriamiento de movimientos</strong>.</p>\",\n  \"spawn.info.escavalier\":\n    \"<p>Empieza a las <strong>9:45</strong>. Derrotado: <strong>4 / 7 puntos</strong> y <strong>buff</strong>. Reaparece en <strong>60 s</strong>. Buff <strong>70 s</strong>: <strong>daño extra en ataques básicos y ralentiza al rival</strong>.</p>\",\n  \"spawn.info.baltoy.generic\":\n    \"<p>Empieza a las <strong>9:45</strong>. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940\":\n    \"<p>Empieza a las <strong>9:40</strong>. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>. <strong>Primera torre</strong> del carril destruida → <strong>desaparece</strong>.</p>\",\n  \"spawn.info.baltoy.lane_920\":\n    \"<p>Empieza a las <strong>9:40</strong>. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>. <strong>Primera torre</strong> del carril destruida → <strong>desaparece</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910\":\n    \"<p>Empieza a las <strong>9:10</strong>. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>. <strong>Primera torre</strong> del carril destruida → <strong>desaparece</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_only\":\n    \"<p>Empieza a las <strong>9:10</strong>. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840\":\n    \"<p>Empieza a las <strong>8:40</strong>. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>.</p>\",\n  \"spawn.info.baltoy.tower\":\n    \"<p>Aparece cuando la <strong>primera torre correspondiente</strong> es destruida. Derrotado: <strong>2 puntos</strong>. Reaparece en <strong>60 s</strong>.</p>\",\n  \"spawn.info.regidrago\":\n    \"<p>Aparece en <strong>el centro del mapa a las 8:00</strong>. Derrotado → <strong>Altaria 1:30 después</strong>.<br>El equipo que lo derrote gana <strong>experiencia para todos</strong>. Golpe final: <strong>buff de anotación</strong> y <strong>20 puntos</strong>.</p>\",\n  \"spawn.info.regieleki\":\n    \"<p>Aparece a las <strong>7:00</strong> en carril superior o inferior. Derrotado → va a la base rival; toca base: <strong>20/16/12/8 puntos</strong>; base viva: <strong>goles instantáneos 20/15/10/5 s</strong>.<br>Golpe final: <strong>20 puntos</strong>. Reaparece <strong>2 min</strong> después.</p>\",\n  \"spawn.info.regi.700\":\n    \"<p>Aparece a las <strong>7:00</strong>.</p>\",\n  \"spawn.info.xatu\":\n    \"<p>Aparece a las <strong>9:59</strong>. Derrotado: <strong>mucha experiencia</strong> y <strong>2 puntos</strong>. <strong>No reaparece</strong>.</p>\",\n  \"spawn.info.natu.900\":\n    \"<p>Aparece a las <strong>9:00</strong>.</p>\",\n  \"spawn.info.natu.920\":\n    \"<p>Aparece a las <strong>9:20</strong>.</p>\",\n  \"spawn.info.indeedee.lane\":\n    \"<p>Empieza a las <strong>9:30</strong> / <strong>9:35</strong>. Derrotado: reaparece en <strong>60 s</strong>, <strong>5 puntos</strong>. <strong>Primera torre</strong> destruida → <strong>desaparece</strong>.</p>\",\n  \"spawn.info.indeedee.tower\":\n    \"<p>Aparece cuando la <strong>primera torre correspondiente</strong> es destruida. Derrotado: reaparece en <strong>60 s</strong>, <strong>5 puntos</strong>.</p>\",\n  \"spawn.info.salac\":\n    \"<p>Al consumir: <strong>bonus de velocidad 3 s</strong>. Aparece a las <strong>8:30</strong>, reaparece <strong>60 s</strong> después de consumir.</p>\",\n  \"spawn.info.salac.short\":\n    \"<p>Bonus de velocidad durante 3 segundos.</p>\",\n  \"spawn.info.altaria.after_regidrago\":\n    \"<p>Aparece <strong>1:30 después de derrotar a Regidrago</strong>.</p>\",\n  \"spawn.info.altaria.rayquaza\":\n    \"<p>Aparece a las <strong>8:00</strong>, reaparece cada <strong>1:30</strong>. Desaparece a las <strong>2:30</strong>.</p>\",\n  \"spawn.info.kyogre.boss\":\n    \"<p>Derrotado: compañeros vivos → <strong>buff</strong>, <strong>15 puntos aeos</strong>, torres rivales aún en pie desactivadas 1:30 (sin escudo/regen).<br>Buff <strong>permanente hasta K.O. del portador</strong>, luego <strong>pasa al que lo derrotó</strong>.<br><strong>Velocidad de anotación</strong>, <strong>regen 5%/s</strong>, <strong>pequeño escudo</strong>. Aparece a las 2:00.</p>\",\n  \"spawn.info.rayquaza.boss\":\n    \"<p>Derrotado: el equipo ganador recibe <strong>15 puntos aeos</strong>, un <strong>escudo</strong> que <strong>acelera el marcador</strong> y <strong>evita que bloqueen goles</strong>. Aparece a las 2:00.</p>\",\n  \"spawn.info.regidrago.kyogre\":\n    \"<p>Aparece en <strong>el centro del mapa a las 8:00</strong>.</p>\",\n  \"spawn.info.xatu.short\":\n    \"<p>Aparece a las <strong>9:59</strong>.</p>\",\n  \"spawn.info.indeedee.tower_break\":\n    \"<p>Aparece al destruir torre.</p>\",\n  \"spawn.info.baltoy.tower_break\":\n    \"<p>Aparece al destruir torre.</p>\",\n  \"spawn.info.bunnelby.lane\":\n    \"<p>Empieza a aparecer a las <strong>9:40</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_920_short\":\n    \"<p>Empieza a aparecer a las <strong>9:20</strong>.</p>\",\n  \"spawn.info.bunnelby.lane_915_short\":\n    \"<p>Empieza a aparecer a las <strong>9:15</strong>.</p>\",\n  \"spawn.info.baltoy.lane_940_short\":\n    \"<p>Empieza a aparecer a las <strong>9:40</strong>.</p>\",\n  \"spawn.info.baltoy.945_short\":\n    \"<p>Empieza a aparecer a las <strong>9:45</strong>.</p>\",\n  \"spawn.info.baltoy.lane_910_short\":\n    \"<p>Empieza a aparecer a las <strong>9:10</strong>.</p>\",\n  \"spawn.info.baltoy.lane_840_short\":\n    \"<p>Empieza a aparecer a las <strong>8:40</strong>.</p>\",\n  \"spawn.info.indeedee.lane_930\":\n    \"<p>Empieza a aparecer a las <strong>9:30</strong>.</p>\",\n  \"spawn.info.indeedee.lane_935\":\n    \"<p>Empieza a aparecer a las <strong>9:35</strong>.</p>\",\n  \"spawn.info.bunnelby.points\":\n    \"<p>Dan 2 puntos.</p>\",\n  \"spawn.info.baltoy.tower_kyogre\":\n    \"<p>Aparece cuando la <strong>primera torre correspondiente</strong> es destruida.</p>\",\n  \"spawn.info.indeedee.tower_short\":\n    \"<p>Aparece cuando la <strong>primera torre correspondiente</strong> es destruida.</p>\",\n  // @begin move-names-i18n\n  \"move.acid-spray\": \"Bomba Ácida\",\n  \"move.acrobatics\": \"Acróbata\",\n  \"move.aerial-ace\": \"Golpe Aéreo\",\n  \"move.agility\": \"Agilidad\",\n  \"move.air-slash\": \"Tajo Aéreo\",\n  \"move.amnesia\": \"Amnesia\",\n  \"move.anchor-shot\": \"Anclaje\",\n  \"move.ancient-power\": \"Poder Pasado\",\n  \"move.aqua-jet\": \"Acua Jet\",\n  \"move.aqua-ring\": \"Acua Aro\",\n  \"move.aqua-tail\": \"Acua Cola\",\n  \"move.armor-cannon\": \"Armor Cannon\",\n  \"move.assurance\": \"Buena Baza\",\n  \"move.astonish\": \"Impresionar\",\n  \"move.aurora-veil\": \"Velo Aurora\",\n  \"move.avalanche\": \"Alud\",\n  \"move.baby-doll-eyes\": \"Ojitos Tiernos\",\n  \"move.barrier\": \"Barrera\",\n  \"move.beat-up\": \"Paliza\",\n  \"move.belch\": \"Eructo\",\n  \"move.bite\": \"Mordisco\",\n  \"move.bitter-blade\": \"Bitter Blade\",\n  \"move.blaze\": \"Llama\",\n  \"move.blaze-kick\": \"Patada Ígnea\",\n  \"move.blizzard\": \"Ventisca\",\n  \"move.block\": \"Bloqueo\",\n  \"move.bone-rush\": \"Ataque Óseo\",\n  \"move.bounce\": \"Bote\",\n  \"move.branch-poke\": \"Punzada Rama\",\n  \"move.brave-bird\": \"Pájaro Osado\",\n  \"move.brutal-swing\": \"Giro Vil\",\n  \"move.bubble\": \"Burbuja\",\n  \"move.bubble-beam\": \"Rayo Burbuja\",\n  \"move.bulk-up\": \"Corpulencia\",\n  \"move.bulldoze\": \"Terratemblor\",\n  \"move.bullet-punch\": \"Puño Bala\",\n  \"move.bullet-seed\": \"Semilladora\",\n  \"move.calm-mind\": \"Paz Mental\",\n  \"move.charge-beam\": \"Rayo Carga\",\n  \"move.charm\": \"Encanto\",\n  \"move.close-combat\": \"A Bocajarro\",\n  \"move.coaching\": \"Motivación\",\n  \"move.confuse-ray\": \"Rayo Confuso\",\n  \"move.confusion\": \"Confusión\",\n  \"move.cotton-guard\": \"Rizo Algodón\",\n  \"move.cotton-spore\": \"Esporagodón\",\n  \"move.covet\": \"Antojo\",\n  \"move.cross-chop\": \"Tajo Cruzado\",\n  \"move.curse\": \"Maldición\",\n  \"move.cut\": \"Corte\",\n  \"move.dark-pulse\": \"Pulso Umbrío\",\n  \"move.dark-void\": \"Brecha Negra\",\n  \"move.dazzling-gleam\": \"Brillo Mágico\",\n  \"move.decorate\": \"Decoración\",\n  \"move.defense-curl\": \"Rizo Defensa\",\n  \"move.detect\": \"Detección\",\n  \"move.dig\": \"Excavar\",\n  \"move.disable\": \"Anulación\",\n  \"move.disarming-voice\": \"Voz Cautivadora\",\n  \"move.discharge\": \"Chispazo\",\n  \"move.dive\": \"Buceo\",\n  \"move.double-hit\": \"Doble Golpe\",\n  \"move.double-slap\": \"Doble Bofetón\",\n  \"move.double-team\": \"Doble Equipo\",\n  \"move.draco-meteor\": \"Cometa Draco\",\n  \"move.dragon-breath\": \"Dragoaliento\",\n  \"move.dragon-cheer\": \"Bramido Dragón\",\n  \"move.dragon-claw\": \"Garra Dragón\",\n  \"move.dragon-dance\": \"Danza Dragón\",\n  \"move.dragon-pulse\": \"Pulso Dragón\",\n  \"move.dragon-rush\": \"Carga Dragón\",\n  \"move.dragon-tail\": \"Cola Dragón\",\n  \"move.draining-kiss\": \"Beso Drenaje\",\n  \"move.dream-eater\": \"Comesueños\",\n  \"move.drill-peck\": \"Pico Taladro\",\n  \"move.dual-wingbeat\": \"Ala Bis\",\n  \"move.dynamic-punch\": \"Puño Dinámico\",\n  \"move.earthquake\": \"Terremoto\",\n  \"move.egg-bomb\": \"Bomba Huevo\",\n  \"move.electro-ball\": \"Bola Voltio\",\n  \"move.electro-drift\": \"Electro Drift\",\n  \"move.electroweb\": \"Electrotela\",\n  \"move.ember\": \"Ascuas\",\n  \"move.eruption\": \"Erupción\",\n  \"move.explosive-heat-haze\": \"Bruma Térmica Explosiva\",\n  \"move.extreme-speed\": \"Veloc. Extrema\",\n  \"move.fairy-wind\": \"Viento Feérico\",\n  \"move.fake-out\": \"Sorpresa\",\n  \"move.fake-tears\": \"Llanto Falso\",\n  \"move.feather-dance\": \"Danza Pluma\",\n  \"move.feint\": \"Amago\",\n  \"move.feint-attack\": \"Finta\",\n  \"move.fell-stinger\": \"Aguijón Letal\",\n  \"move.fire-blast\": \"Llamarada\",\n  \"move.fire-punch\": \"Puño Fuego\",\n  \"move.fire-spin\": \"Giro Fuego\",\n  \"move.flail\": \"Azote\",\n  \"move.flame-burst\": \"Pirotecnia\",\n  \"move.flame-charge\": \"Nitrocarga\",\n  \"move.flame-wheel\": \"Rueda Fuego\",\n  \"move.flamethrower\": \"Lanzallamas\",\n  \"move.flare-blitz\": \"Envite Ígneo\",\n  \"move.flash-cannon\": \"Foco Resplandor\",\n  \"move.flip-turn\": \"Viraje\",\n  \"move.floral-healing\": \"Cura Floral\",\n  \"move.flower-trick\": \"Flower Trick\",\n  \"move.fly\": \"Vuelo\",\n  \"move.focus-blast\": \"Onda Certera\",\n  \"move.follow-me\": \"Señuelo\",\n  \"move.foul-play\": \"Juego Sucio\",\n  \"move.freeze-dry\": \"Liofilización\",\n  \"move.fury-cutter\": \"Corte Furia\",\n  \"move.fury-swipes\": \"Golpes Furia\",\n  \"move.future-sight\": \"Premonición\",\n  \"move.giga-drain\": \"Gigadrenado\",\n  \"move.gigaton-hammer\": \"Gigaton Hammer\",\n  \"move.grass-knot\": \"Hierba Lazo\",\n  \"move.grassy-glide\": \"Fitoimpulso\",\n  \"move.gravity\": \"Gravedad\",\n  \"move.growl\": \"Gruñido\",\n  \"move.gyro-ball\": \"Giro Bola\",\n  \"move.headbutt\": \"Golpe Cabeza\",\n  \"move.heal-pulse\": \"Pulso Cura\",\n  \"move.heat-wave\": \"Onda Ígnea\",\n  \"move.heavy-slam\": \"Cuerpo Pesado\",\n  \"move.helping-hand\": \"Refuerzo\",\n  \"move.hex\": \"Infortunio\",\n  \"move.high-horsepower\": \"Fuerza Equina\",\n  \"move.hone-claws\": \"Afilagarras\",\n  \"move.horn-leech\": \"Asta Drenaje\",\n  \"move.hurricane\": \"Vendaval\",\n  \"move.hydro-cannon\": \"Hidrocañón\",\n  \"move.hydro-pump\": \"Hidrobomba\",\n  \"move.hyper-beam\": \"Hiperrayo\",\n  \"move.hyper-voice\": \"Vozarrón\",\n  \"move.hyperspace-hole\": \"Paso Dimensional\",\n  \"move.hypnosis\": \"Hipnosis\",\n  \"move.ice-beam\": \"Rayo Hielo\",\n  \"move.ice-fang\": \"Colmillo Hielo\",\n  \"move.ice-hammer\": \"Martillo Hielo\",\n  \"move.ice-shard\": \"Canto Helado\",\n  \"move.icicle-crash\": \"Chuzos\",\n  \"move.icicle-spear\": \"Carámbano\",\n  \"move.icy-wind\": \"Viento Hielo\",\n  \"move.imprison\": \"Sellar\",\n  \"move.incinerate\": \"Calcinación\",\n  \"move.iron-defense\": \"Defensa Férrea\",\n  \"move.iron-head\": \"Cabeza de Hierro\",\n  \"move.jump-kick\": \"Patada Salto\",\n  \"move.karate-chop\": \"Golpe Kárate\",\n  \"move.knock-off\": \"Desarme\",\n  \"move.laser-focus\": \"Aguzar\",\n  \"move.lava-plume\": \"Humareda\",\n  \"move.leaf-blade\": \"Hoja Aguda\",\n  \"move.leaf-storm\": \"Lluevehojas\",\n  \"move.leaf-tornado\": \"Ciclón de Hojas\",\n  \"move.leafage\": \"Follaje\",\n  \"move.leech-life\": \"Chupavidas\",\n  \"move.lick\": \"Lengüetazo\",\n  \"move.light-screen\": \"Pantalla de Luz\",\n  \"move.liquidation\": \"Hidroariete\",\n  \"move.low-sweep\": \"Puntapié\",\n  \"move.lunge\": \"Plancha\",\n  \"move.luster-purge\": \"Resplandor\",\n  \"move.mach-punch\": \"Ultrapuño\",\n  \"move.magical-leaf\": \"Hoja Mágica\",\n  \"move.magnet-rise\": \"Levitón\",\n  \"move.mean-look\": \"Mal de Ojo\",\n  \"move.mega-punch\": \"Megapuño\",\n  \"move.megahorn\": \"Megacuerno\",\n  \"move.metal-claw\": \"Garra Metal\",\n  \"move.meteor-mash\": \"Puño Meteoro\",\n  \"move.mist-ball\": \"Bola Neblina\",\n  \"move.moonblast\": \"Fuerza Lunar\",\n  \"move.moonlight\": \"Luz Lunar\",\n  \"move.muddy-water\": \"Agua Lodosa\",\n  \"move.mystical-fire\": \"Llama Embrujada\",\n  \"move.nasty-plot\": \"Maquinación\",\n  \"move.night-shade\": \"Tinieblas\",\n  \"move.night-slash\": \"Tajo Umbrío\",\n  \"move.no-retreat\": \"Bastión Final\",\n  \"move.nuzzle\": \"Moflete Estático\",\n  \"move.outrage\": \"Enfado\",\n  \"move.overheat\": \"Sofoco\",\n  \"move.pain-split\": \"Divide Dolor\",\n  \"move.parabolic-charge\": \"Carga Parábola\",\n  \"move.pay-day\": \"Día de Pago\",\n  \"move.payback\": \"Vendetta\",\n  \"move.peck\": \"Picotazo\",\n  \"move.perish-song\": \"Canto Mortal\",\n  \"move.petal-dance\": \"Danza Pétalo\",\n  \"move.phantom-force\": \"Golpe Fantasma\",\n  \"move.play-rough\": \"Carantoña\",\n  \"move.pollen-puff\": \"Bola de Polen\",\n  \"move.poltergeist\": \"Poltergeist\",\n  \"move.pound\": \"Destructor\",\n  \"move.powder-snow\": \"Nieve Polvo\",\n  \"move.power-swap\": \"Cambiafuerza\",\n  \"move.power-up-punch\": \"Puño Incremento\",\n  \"move.power-whip\": \"Latigazo\",\n  \"move.psybeam\": \"Psicorrayo\",\n  \"move.psychic\": \"Psíquico\",\n  \"move.psycho-cut\": \"Psicocorte\",\n  \"move.psyshock\": \"Psicocarga\",\n  \"move.psystrike\": \"Onda Mental\",\n  \"move.pursuit\": \"Persecución\",\n  \"move.pyro-ball\": \"Balón Ígneo\",\n  \"move.quick-attack\": \"Ataque Rápido\",\n  \"move.rapid-spin\": \"Giro Rápido\",\n  \"move.razor-leaf\": \"Hoja Afilada\",\n  \"move.recover\": \"Recuperación\",\n  \"move.rest\": \"Descanso\",\n  \"move.rock-polish\": \"Pulimento\",\n  \"move.rock-slide\": \"Avalancha\",\n  \"move.rock-smash\": \"Golpe Roca\",\n  \"move.rock-tomb\": \"Tumba Rocas\",\n  \"move.rollout\": \"Rodar\",\n  \"move.sacred-fire\": \"Fuego Sagrado\",\n  \"move.sacred-sword\": \"Espada Santa\",\n  \"move.safeguard\": \"Velo Sagrado\",\n  \"move.sand-attack\": \"Ataque Arena\",\n  \"move.sand-tomb\": \"Bucle Arena\",\n  \"move.scald\": \"Escaldar\",\n  \"move.scratch\": \"Arañazo\",\n  \"move.seed-bomb\": \"Bomba Germen\",\n  \"move.shadow-ball\": \"Bola Sombra\",\n  \"move.shadow-claw\": \"Garra Umbría\",\n  \"move.shadow-sneak\": \"Sombra Vil\",\n  \"move.shell-smash\": \"Rompecoraza\",\n  \"move.sing\": \"Canto\",\n  \"move.skull-bash\": \"Cabezazo\",\n  \"move.sky-attack\": \"Ataque Aéreo\",\n  \"move.slack-off\": \"Relajo\",\n  \"move.slash\": \"Cuchillada\",\n  \"move.sludge-bomb\": \"Bomba Lodo\",\n  \"move.smack-down\": \"Antiaéreo\",\n  \"move.smart-strike\": \"Cuerno Certero\",\n  \"move.smokescreen\": \"Pantalla de Humo\",\n  \"move.snarl\": \"Alarido\",\n  \"move.snipe-shot\": \"Disparo Certero\",\n  \"move.soft-boiled\": \"Amortiguador\",\n  \"move.solar-beam\": \"Rayo Solar\",\n  \"move.solar-blade\": \"Cuchilla Solar\",\n  \"move.spark\": \"Chispa\",\n  \"move.spirit-shackle\": \"Puntada Sombría\",\n  \"move.splash\": \"Salpicadura\",\n  \"move.stealth-rock\": \"Trampa Rocas\",\n  \"move.stomp\": \"Pisotón\",\n  \"move.stone-edge\": \"Roca Afilada\",\n  \"move.stored-power\": \"Poder Reserva\",\n  \"move.stuff-cheeks\": \"Atiborramiento\",\n  \"move.submission\": \"Sumisión\",\n  \"move.substitute\": \"Sustituto\",\n  \"move.sucker-punch\": \"Golpe Bajo\",\n  \"move.supercell-slam\": \"Plancha Voltaica\",\n  \"move.superpower\": \"Fuerza Bruta\",\n  \"move.surf\": \"Surf\",\n  \"move.surging-strikes\": \"Azote Torrencial\",\n  \"move.sweet-kiss\": \"Beso Dulce\",\n  \"move.sweet-scent\": \"Dulce Aroma\",\n  \"move.swift\": \"Rapidez\",\n  \"move.swords-dance\": \"Danza Espada\",\n  \"move.synthesis\": \"Síntesis\",\n  \"move.tackle\": \"Placaje\",\n  \"move.tail-whip\": \"Látigo\",\n  \"move.tailwind\": \"Viento Afín\",\n  \"move.take-down\": \"Derribo\",\n  \"move.tearful-look\": \"Ojos Llorosos\",\n  \"move.telekinesis\": \"Telequinesis\",\n  \"move.teleport\": \"Teletransporte\",\n  \"move.thief\": \"Ladrón\",\n  \"move.throat-chop\": \"Golpe Mordaza\",\n  \"move.thunder\": \"Trueno\",\n  \"move.thunder-punch\": \"Puño Trueno\",\n  \"move.thunder-shock\": \"Impactrueno\",\n  \"move.thunder-wave\": \"Onda Trueno\",\n  \"move.thunderbolt\": \"Rayo\",\n  \"move.trailblaze\": \"Trailblaze\",\n  \"move.tri-attack\": \"Triataque\",\n  \"move.trick\": \"Truco\",\n  \"move.trick-room\": \"Espacio Raro\",\n  \"move.triple-axel\": \"Triple Axel\",\n  \"move.trop-kick\": \"Patada Tropical\",\n  \"move.twister\": \"Ciclón\",\n  \"move.vine-whip\": \"Látigo Cepa\",\n  \"move.volt-switch\": \"Voltiocambio\",\n  \"move.volt-tackle\": \"Placaje Eléc\",\n  \"move.water-gun\": \"Pistola Agua\",\n  \"move.water-pulse\": \"Hidropulso\",\n  \"move.water-shuriken\": \"Shuriken de Agua\",\n  \"move.water-spout\": \"Salpicar\",\n  \"move.waterfall\": \"Cascada\",\n  \"move.whirlpool\": \"Torbellino\",\n  \"move.wicked-blow\": \"Golpe Oscuro\",\n  \"move.wide-guard\": \"Vastaguardia\",\n  \"move.wild-charge\": \"Voltio Cruel\",\n  \"move.will-o-wisp\": \"Fuego Fatuo\",\n  \"move.wing-attack\": \"Ataque Ala\",\n  \"move.wish\": \"Deseo\",\n  \"move.wood-hammer\": \"Mazazo\",\n  \"move.x-scissor\": \"Tijera X\",\n  \"move.yawn\": \"Bostezo\",\n  \"move.zap-cannon\": \"Electrocañón\",\n  \"move.zen-headbutt\": \"Cabezazo Zen\",\n// @end move-names-i18n\n  // Battle Items\n  \"battle-item.potion\": \"Poción\",\n  \"battle-item.x-attack\": \"Ataque X\",\n  \"battle-item.x-speed\": \"Velocidad X\",\n  \"battle-item.fluffy-tail\": \"Cola Vaporosa\",\n  \"battle-item.eject-button\": \"Botón de Expulsión\",\n  \"battle-item.slow-smoke\": \"Humo Lento\",\n  \"battle-item.full-heal\": \"Cura Total\",\n  \"battle-item.goal-getter\": \"Goleador\",\n  \"battle-item.shedinja-doll\": \"Muñeco Shedinja\",\n  \"battle-item.goal-hacker\": \"Pirata de Gol\",\n  // Held Items\n  \"held-item.leftovers\": \"Restos\",\n  \"held-item.muscle-band\": \"Cinta Muscular\",\n  \"held-item.scope-lens\": \"Lente de Alcance\",\n  \"held-item.wise-glasses\": \"Gafas Sabias\",\n  \"held-item.shell-bell\": \"Concha Campanilla\",\n  \"held-item.float-stone\": \"Piedra Flotante\",\n  \"held-item.focus-band\": \"Cinta Enfoque\",\n  \"held-item.assault-vest\": \"Chaleco Asalto\",\n  \"held-item.rocky-helmet\": \"Casco Férreo\",\n  \"held-item.razor-claw\": \"Zarpa Afilada\",\n  \"held-item.choice-specs\": \"Gafas Elegidas\",\n  \"held-item.choice-scarf\": \"Pañuelo Elegido\",\n  \"held-item.weakness-policy\": \"Política de Debilidad\",\n  \"held-item.big-root\": \"Raíz Grande\",\n  \"held-item.amulet-coin\": \"Monedamuleto\",\n  \"held-item.rusted-sword\": \"Espada Oxidada\",\n  \"held-item.mewtwonite-x\": \"Mewdosnita X\",\n  \"held-item.mewtwonite-y\": \"Mewdosnita Y\",\n  \"held-item.lucarionite\": \"Lucarionita\",\n  \"held-item.charizardite-x\": \"Charizardita X\",\n  \"held-item.charizardite-y\": \"Charizardita Y\",\n  \"held-item.gyaradosite\": \"Gyaradosita\",\n};\n\nexport default es;\n","import en from \"./en\";\nimport ptBR from \"./pt-BR\";\nimport jaJP from \"./ja-JP\";\nimport fr from \"./fr\";\nimport es from \"./es\";\n\nexport type { Locale } from \"./locale\";\nimport type { Locale } from \"./locale\";\n\n/**\n * Stable slug for move display names (matches PokéAPI move identifiers when possible).\n * Locale maps use the key `move.<slug>`. Pass the English `images.move_*.{ name }` string.\n */\nexport function moveNameToKey(englishMoveName: string): string {\n  const s = englishMoveName\n    .trim()\n    .normalize(\"NFD\")\n    .replace(/\\p{Diacritic}/gu, \"\");\n  return s\n    .toLowerCase()\n    .replace(/'/g, \"\")\n    .replace(/[^a-z0-9]+/g, \"-\")\n    .replace(/^-+|-+$/g, \"\");\n}\n\n/**\n * Per-locale display names for moves missing from PokéAPI / the generated `move.*` blocks,\n * or to override a single locale. Key: `moveNameToKey(english roster name)` (no `move.` prefix).\n */\nexport const moveNameOverrides: Record<\n  string,\n  Partial<Record<Locale, string>>\n> = {\n  // \"verdant-anger\": { \"pt-BR\": \"…\", \"ja-JP\": \"…\", fr: \"…\", es: \"…\" },\n};\n\nconst locales: Record<Locale, Record<string, string>> = {\n  en,\n  \"pt-BR\": ptBR,\n  \"ja-JP\": jaJP,\n  fr,\n  es,\n};\n\n/**\n * Returns the display name for a Pokémon by slug/id and locale.\n * Falls back to English if the locale is missing the key, then to the id.\n */\nexport function getPokemonName(id: string, locale: Locale = \"en\"): string {\n  const map = locales[locale] ?? en;\n  return map[id] ?? en[id] ?? id;\n}\n\n/**\n * Returns the localized name for a map by id and locale.\n * Falls back to English, then to the id.\n */\nexport function getMapName(mapId: string, locale: Locale = \"en\"): string {\n  const map = locales[locale] ?? en;\n  return map[mapId] ?? en[mapId] ?? mapId;\n}\n\n/**\n * Returns the localized description for a map by id and locale.\n * Falls back to English, then to empty string.\n */\nexport function getMapDescription(\n  mapId: string,\n  locale: Locale = \"en\"\n): string {\n  const key = `${mapId}.description`;\n  const map = locales[locale] ?? en;\n  return map[key] ?? en[key] ?? \"\";\n}\n\n/**\n * Returns the localized name for a neutral (wild Pokémon/item) by id and locale.\n * Falls back to English, then to the id.\n */\nexport function getNeutralName(\n  neutralId: string,\n  locale: Locale = \"en\"\n): string {\n  const map = locales[locale] ?? en;\n  return map[neutralId] ?? en[neutralId] ?? neutralId;\n}\n\n/**\n * Returns the localized spawn info HTML by key and locale.\n * Key format: \"spawn.info.<infoKey>\". Falls back to English, then to empty string.\n */\nexport function getSpawnInfo(\n  infoKey: string,\n  locale: Locale = \"en\"\n): string {\n  const key = `spawn.info.${infoKey}`;\n  const map = locales[locale] ?? en;\n  return map[key] ?? en[key] ?? \"\";\n}\n\n/** MapSpawn with optional infoKey (from types). */\ntype SpawnLike = { infoKey?: string; info?: string };\n\n/**\n * Returns the localized spawn info HTML for a spawn. Uses infoKey when set, else spawn.info.\n */\nexport function getSpawnInfoForSpawn(\n  spawn: SpawnLike,\n  locale: Locale = \"en\"\n): string {\n  if (spawn.infoKey) {\n    const out = getSpawnInfo(spawn.infoKey, locale);\n    if (out) return out;\n  }\n  return spawn.info ?? \"\";\n}\n\n/**\n * Localized move display name from the English roster label (`images.move_*.{ name }`).\n * Looks up `move.<slug>` in the locale maps (synced from PokéAPI via\n * `npm run sync:move-names-pokeapi`), then optional `moveNameOverrides` below.\n */\nexport function getMoveName(\n  englishMoveName: string,\n  locale: Locale = \"en\"\n): string {\n  if (!englishMoveName.trim()) return \"\";\n  const slug = moveNameToKey(englishMoveName);\n  const ovr = moveNameOverrides[slug]?.[locale];\n  if (ovr) return ovr;\n  const mapKey = `move.${slug}`;\n  const map = locales[locale] ?? en;\n  const hit = map[mapKey] ?? en[mapKey];\n  if (hit) return hit;\n  return englishMoveName;\n}\n\n/**\n * Returns the localized name for a battle item by id and locale.\n * Falls back to English, then to the id.\n */\nexport function getBattleItemName(id: string, locale: Locale = \"en\"): string {\n  const key = `battle-item.${id}`;\n  const map = locales[locale] ?? en;\n  return map[key] ?? en[key] ?? id;\n}\n\n/**\n * Returns the localized name for a held item by id and locale.\n * Falls back to English, then to the id.\n */\nexport function getHeldItemName(id: string, locale: Locale = \"en\"): string {\n  const key = `held-item.${id}`;\n  const map = locales[locale] ?? en;\n  return map[key] ?? en[key] ?? id;\n}\n\nexport { en, ptBR, jaJP, fr, es };\n"],"mappings":"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EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA;AAAA,EAEN,2BACE;AAAA,EACF,+BACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,uBACE;AAAA,EACF,yBACE;AAAA,EACF,6BACE;AAAA,EACF,8BACE;AAAA,EACF,8BACE;AAAA,EACF,8BACE;AAAA,EACF,mCACE;AAAA,EACF,8BACE;AAAA,EACF,2BACE;AAAA,EACF,wBACE;AAAA,EACF,wBACE;AAAA,EACF,uBACE;AAAA,EACF,mBACE;AAAA,EACF,uBACE;AAAA,EACF,uBACE;AAAA,EACF,4BACE;AAAA,EACF,6BACE;AAAA,EACF,oBACE;AAAA,EACF,0BACE;AAAA,EACF,sCACE;AAAA,EACF,+BACE;AAAA,EACF,0BACE;AAAA,EACF,4BACE;AAAA,EACF,+BACE;AAAA,EACF,yBACE;AAAA,EACF,mCACE;AAAA,EACF,iCACE;AAAA,EACF,4BACE;AAAA,EACF,sCACE;AAAA,EACF,sCACE;AAAA,EACF,oCACE;AAAA,EACF,+BACE;AAAA,EACF,oCACE;AAAA,EACF,oCACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,8BACE;AAAA,EACF,kCACE;AAAA,EACF,mCACE;AAAA;AAAA,EAEF,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,E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AA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,uBACE;AAAA,EACF,yBACE;AAAA,EACF,6BACE;AAAA,EACF,8BACE;AAAA,EACF,8BACE;AAAA,EACF,8BACE;AAAA,EACF,mCACE;AAAA,EACF,8BACE;AAAA,EACF,2BACE;AAAA,EACF,wBACE;AAAA,EACF,wBACE;AAAA,EACF,uBACE;AAAA,EACF,mBACE;AAAA,EACF,uBACE;AAAA,EACF,uBACE;AAAA,EACF,4BACE;AAAA,EACF,6BACE;AAAA,EACF,oBACE;AAAA,EACF,0BACE;AAAA,EACF,sCACE;AAAA,EACF,+BACE;AAAA,EACF,0BACE;AAAA,EACF,4BACE;AAAA,EACF,+BACE;AAAA,EACF,yBACE;AAAA,EACF,mCACE;AAAA,EACF,iCACE;AAAA,EACF,4BACE;AAAA,EACF,sCACE;AAAA,EACF,sCACE;AAAA,EACF,oCACE;AAAA,EACF,+BACE;AAAA,EACF,oCACE;AAAA,EACF,oCACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,8BACE;AAAA,EACF,kCACE;AAAA,EACF,mCACE;AAAA;AAAA,EAEF,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,qBAAqB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QAAQ;AAAA,EACR,MAAM;AAAA;AAAA,EAEN,2BACE;AAAA,EACF,+BACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,uBACE;AAAA,EACF,yBACE;AAAA,EACF,6BACE;AAAA,EACF,8BACE;AAAA,EACF,8BACE;AAAA,EACF,8BACE;AAAA,EACF,mCACE;AAAA,EACF,8BACE;AAAA,EACF,2BACE;AAAA,EACF,wBACE;AAAA,EACF,wBACE;AAAA,EACF,uBACE;AAAA,EACF,mBACE;AAAA,EACF,uBACE;AAAA,EACF,uBACE;AAAA,EACF,4BACE;AAAA,EACF,6BACE;AAAA,EACF,oBACE;AAAA,EACF,0BACE;AAAA,EACF,sCACE;AAAA,EACF,+BACE;AAAA,EACF,0BACE;AAAA,EACF,4BACE;AAAA,EACF,+BACE;AAAA,EACF,yBACE;AAAA,EACF,mCACE;AAAA,EACF,iCACE;AAAA,EACF,4BACE;AAAA,EACF,sCACE;AAAA,EACF,sCACE;AAAA,EACF,oCACE;AAAA,EACF,+BACE;AAAA,EACF,oCACE;AAAA,EACF,oCACE;AAAA,EACF,gCACE;AAAA,EACF,gCACE;AAAA,EACF,8BACE;AAAA,EACF,kCACE;AAAA,EACF,mCACE;AAAA;AAAA,EAEF,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,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","names":["names","moves"]}