CCCPaste

auto_shiny.py

import gdb
import secrets

POKEDEX = {
    1: "フシギダネ",
    2: "フシギソウ",
    3: "フシギバナ",
    4: "ヒトカゲ",
    5: "リザード",
    6: "リザードン",
    7: "ゼニガメ",
    8: "カメール",
    9: "カメックス",
    10: "キャタピー",
    11: "トランセル",
    12: "バタフリー",
    13: "ビードル",
    14: "コクーン",
    15: "スピアー",
    16: "ポッポ",
    17: "ピジョン",
    18: "ピジョット",
    19: "コラッタ",
    20: "ラッタ",
    21: "オニスズメ",
    22: "オニドリル",
    23: "アーボ",
    24: "アーボック",
    25: "ピカチュウ",
    26: "ライチュウ",
    27: "サンド",
    28: "サンドパン",
    29: "ニドラン♀",
    30: "ニドリーナ",
    31: "ニドクイン",
    32: "ニドラン♂",
    33: "ニドリーノ",
    34: "ニドキング",
    35: "ピッピ",
    36: "ピクシー",
    37: "ロコン",
    38: "キュウコン",
    39: "プリン",
    40: "プクリン",
    41: "ズバット",
    42: "ゴルバット",
    43: "ナゾノクサ",
    44: "クサイハナ",
    45: "ラフレシア",
    46: "パラス",
    47: "パラセクト",
    48: "コンパン",
    49: "モルフォン",
    50: "ディグダ",
    51: "ダグトリオ",
    52: "ニャース",
    53: "ペルシアン",
    54: "コダック",
    55: "ゴルダック",
    56: "マンキー",
    57: "オコリザル",
    58: "ガーディ",
    59: "ウインディ",
    60: "ニョロモ",
    61: "ニョロゾ",
    62: "ニョロボン",
    63: "ケーシィ",
    64: "ユンゲラー",
    65: "フーディン",
    66: "ワンリキー",
    67: "ゴーリキー",
    68: "カイリキー",
    69: "マダツボミ",
    70: "ウツドン",
    71: "ウツボット",
    72: "メノクラゲ",
    73: "ドククラゲ",
    74: "イシツブテ",
    75: "ゴローン",
    76: "ゴローニャ",
    77: "ポニータ",
    78: "ギャロップ",
    79: "ヤドン",
    80: "ヤドラン",
    81: "コイル",
    82: "レアコイル",
    83: "カモネギ",
    84: "ドードー",
    85: "ドードリオ",
    86: "パウワウ",
    87: "ジュゴン",
    88: "ベトベター",
    89: "ベトベトン",
    90: "シェルダー",
    91: "パルシェン",
    92: "ゴース",
    93: "ゴースト",
    94: "ゲンガー",
    95: "イワーク",
    96: "スリープ",
    97: "スリーパー",
    98: "クラブ",
    99: "キングラー",
    100: "ビリリダマ",
    101: "マルマイン",
    102: "タマタマ",
    103: "ナッシー",
    104: "カラカラ",
    105: "ガラガラ",
    106: "サワムラー",
    107: "エビワラー",
    108: "ベロリンガ",
    109: "ドガース",
    110: "マタドガス",
    111: "サイホーン",
    112: "サイドン",
    113: "ラッキー",
    114: "モンジャラ",
    115: "ガルーラ",
    116: "タッツー",
    117: "シードラ",
    118: "トサキント",
    119: "アズマオウ",
    120: "ヒトデマン",
    121: "スターミー",
    122: "バリヤード",
    123: "ストライク",
    124: "ルージュラ",
    125: "エレブー",
    126: "ブーバー",
    127: "カイロス",
    128: "ケンタロス",
    129: "コイキング",
    130: "ギャラドス",
    131: "ラプラス",
    132: "メタモン",
    133: "イーブイ",
    134: "シャワーズ",
    135: "サンダース",
    136: "ブースター",
    137: "ポリゴン",
    138: "オムナイト",
    139: "オムスター",
    140: "カブト",
    141: "カブトプス",
    142: "プテラ",
    143: "カビゴン",
    144: "フリーザー",
    145: "サンダー",
    146: "ファイヤー",
    147: "ミニリュウ",
    148: "ハクリュー",
    149: "カイリュー",
    150: "ミュウツー",
    151: "ミュウ",
    152: "チコリータ",
    153: "ベイリーフ",
    154: "メガニウム",
    155: "ヒノアラシ",
    156: "マグマラシ",
    157: "バクフーン",
    158: "ワニノコ",
    159: "アリゲイツ",
    160: "オーダイル",
    161: "オタチ",
    162: "オオタチ",
    163: "ホーホー",
    164: "ヨルノズク",
    165: "レディバ",
    166: "レディアン",
    167: "イトマル",
    168: "アリアドス",
    169: "クロバット",
    170: "チョンチー",
    171: "ランターン",
    172: "ピチュー",
    173: "ピィ",
    174: "ププリン",
    175: "トゲピー",
    176: "トゲチック",
    177: "ネイティ",
    178: "ネイティオ",
    179: "メリープ",
    180: "モココ",
    181: "デンリュウ",
    182: "キレイハナ",
    183: "マリル",
    184: "マリルリ",
    185: "ウソッキー",
    186: "ニョロトノ",
    187: "ハネッコ",
    188: "ポポッコ",
    189: "ワタッコ",
    190: "エイパム",
    191: "ヒマナッツ",
    192: "キマワリ",
    193: "ヤンヤンマ",
    194: "ウパー",
    195: "ヌオー",
    196: "エーフィ",
    197: "ブラッキー",
    198: "ヤミカラス",
    199: "ヤドキング",
    200: "ムウマ",
    201: "アンノーン",
    202: "ソーナンス",
    203: "キリンリキ",
    204: "クヌギダマ",
    205: "フォレトス",
    206: "ノコッチ",
    207: "グライガー",
    208: "ハガネール",
    209: "ブルー",
    210: "グランブル",
    211: "ハリーセン",
    212: "ハッサム",
    213: "ツボツボ",
    214: "ヘラクロス",
    215: "ニューラ",
    216: "ヒメグマ",
    217: "リングマ",
    218: "マグマッグ",
    219: "マグカルゴ",
    220: "ウリムー",
    221: "イノムー",
    222: "サニーゴ",
    223: "テッポウオ",
    224: "オクタン",
    225: "デリバード",
    226: "マンタイン",
    227: "エアームド",
    228: "デルビル",
    229: "ヘルガー",
    230: "キングドラ",
    231: "ゴマゾウ",
    232: "ドンファン",
    233: "ポリゴン2",
    234: "オドシシ",
    235: "ドーブル",
    236: "バルキー",
    237: "カポエラー",
    238: "ムチュール",
    239: "エレキッド",
    240: "ブビィ",
    241: "ミルタンク",
    242: "ハピナス",
    243: "ライコウ",
    244: "エンテイ",
    245: "スイクン",
    246: "ヨーギラス",
    247: "サナギラス",
    248: "バンギラス",
    249: "ルギア",
    250: "ホウオウ",
    251: "セレビィ",
    252: "キモリ",
    253: "ジュプトル",
    254: "ジュカイン",
    255: "アチャモ",
    256: "ワカシャモ",
    257: "バシャーモ",
    258: "ミズゴロウ",
    259: "ヌマクロー",
    260: "ラグラージ",
    261: "ポチエナ",
    262: "グラエナ",
    263: "ジグザグマ",
    264: "マッスグマ",
    265: "ケムッソ",
    266: "カラサリス",
    267: "アゲハント",
    268: "マユルド",
    269: "ドクケイル",
    270: "ハスボー",
    271: "ハスブレロ",
    272: "ルンパッパ",
    273: "タネボー",
    274: "コノハナ",
    275: "ダーテング",
    276: "スバメ",
    277: "オオスバメ",
    278: "キャモメ",
    279: "ペリッパー",
    280: "ラルトス",
    281: "キルリア",
    282: "サーナイト",
    283: "アメタマ",
    284: "アメモース",
    285: "キノココ",
    286: "キノガッサ",
    287: "ナマケロ",
    288: "ヤルキモノ",
    289: "ケッキング",
    290: "ツチニン",
    291: "テッカニン",
    292: "ヌケニン",
    293: "ゴニョニョ",
    294: "ドゴーム",
    295: "バクオング",
    296: "マクノシタ",
    297: "ハリテヤマ",
    298: "ルリリ",
    299: "ノズパス",
    300: "エネコ",
    301: "エネコロロ",
    302: "ヤミラミ",
    303: "クチート",
    304: "ココドラ",
    305: "コドラ",
    306: "ボスゴドラ",
    307: "アサナン",
    308: "チャーレム",
    309: "ラクライ",
    310: "ライボルト",
    311: "プラスル",
    312: "マイナン",
    313: "バルビート",
    314: "イルミーゼ",
    315: "ロゼリア",
    316: "ゴクリン",
    317: "マルノーム",
    318: "キバニア",
    319: "サメハダー",
    320: "ホエルコ",
    321: "ホエルオー",
    322: "ドンメル",
    323: "バクーダ",
    324: "コータス",
    325: "バネブー",
    326: "ブーピッグ",
    327: "パッチール",
    328: "ナックラー",
    329: "ビブラーバ",
    330: "フライゴン",
    331: "サボネア",
    332: "ノクタス",
    333: "チルット",
    334: "チルタリス",
    335: "ザングース",
    336: "ハブネーク",
    337: "ルナトーン",
    338: "ソルロック",
    339: "ドジョッチ",
    340: "ナマズン",
    341: "ヘイガニ",
    342: "シザリガー",
    343: "ヤジロン",
    344: "ネンドール",
    345: "リリーラ",
    346: "ユレイドル",
    347: "アノプス",
    348: "アーマルド",
    349: "ヒンバス",
    350: "ミロカロス",
    351: "ポワルン",
    352: "カクレオン",
    353: "カゲボウズ",
    354: "ジュペッタ",
    355: "ヨマワル",
    356: "サマヨール",
    357: "トロピウス",
    358: "チリーン",
    359: "アブソル",
    360: "ソーナノ",
    361: "ユキワラシ",
    362: "オニゴーリ",
    363: "タマザラシ",
    364: "トドグラー",
    365: "トドゼルガ",
    366: "パールル",
    367: "ハンテール",
    368: "サクラビス",
    369: "ジーランス",
    370: "ラブカス",
    371: "タツベイ",
    372: "コモルー",
    373: "ボーマンダ",
    374: "ダンバル",
    375: "メタング",
    376: "メタグロス",
    377: "レジロック",
    378: "レジアイス",
    379: "レジスチル",
    380: "ラティアス",
    381: "ラティオス",
    382: "カイオーガ",
    383: "グラードン",
    384: "レックウザ",
    385: "ジラーチ",
    386: "デオキシス",
    387: "ナエトル",
    388: "ハヤシガメ",
    389: "ドダイトス",
    390: "ヒコザル",
    391: "モウカザル",
    392: "ゴウカザル",
    393: "ポッチャマ",
    394: "ポッタイシ",
    395: "エンペルト",
    396: "ムックル",
    397: "ムクバード",
    398: "ムクホーク",
    399: "ビッパ",
    400: "ビーダル",
    401: "コロボーシ",
    402: "コロトック",
    403: "コリンク",
    404: "ルクシオ",
    405: "レントラー",
    406: "スボミー",
    407: "ロズレイド",
    408: "ズガイドス",
    409: "ラムパルド",
    410: "タテトプス",
    411: "トリデプス",
    412: "ミノムッチ",
    413: "ミノマダム",
    414: "ガーメイル",
    415: "ミツハニー",
    416: "ビークイン",
    417: "パチリス",
    418: "ブイゼル",
    419: "フローゼル",
    420: "チェリンボ",
    421: "チェリム",
    422: "カラナクシ",
    423: "トリトドン",
    424: "エテボース",
    425: "フワンテ",
    426: "フワライド",
    427: "ミミロル",
    428: "ミミロップ",
    429: "ムウマージ",
    430: "ドンカラス",
    431: "ニャルマー",
    432: "ブニャット",
    433: "リーシャン",
    434: "スカンプー",
    435: "スカタンク",
    436: "ドーミラー",
    437: "ドータクン",
    438: "ウソハチ",
    439: "マネネ",
    440: "ピンプク",
    441: "ペラップ",
    442: "ミカルゲ",
    443: "フカマル",
    444: "ガバイト",
    445: "ガブリアス",
    446: "ゴンベ",
    447: "リオル",
    448: "ルカリオ",
    449: "ヒポポタス",
    450: "カバルドン",
    451: "スコルピ",
    452: "ドラピオン",
    453: "グレッグル",
    454: "ドクロッグ",
    455: "マスキッパ",
    456: "ケイコウオ",
    457: "ネオラント",
    458: "タマンタ",
    459: "ユキカブリ",
    460: "ユキノオー",
    461: "マニューラ",
    462: "ジバコイル",
    463: "ベロベルト",
    464: "ドサイドン",
    465: "モジャンボ",
    466: "エレキブル",
    467: "ブーバーン",
    468: "トゲキッス",
    469: "メガヤンマ",
    470: "リーフィア",
    471: "グレイシア",
    472: "グライオン",
    473: "マンムー",
    474: "ポリゴンZ",
    475: "エルレイド",
    476: "ダイノーズ",
    477: "ヨノワール",
    478: "ユキメノコ",
    479: "ロトム",
    480: "ユクシー",
    481: "エムリット",
    482: "アグノム",
    483: "ディアルガ",
    484: "パルキア",
    485: "ヒードラン",
    486: "レジギガス",
    487: "ギラティナ",
    488: "クレセリア",
    489: "フィオネ",
    490: "マナフィ",
    491: "ダークライ",
    492: "シェイミ",
    493: "アルセウス",
    494: "ビクティニ",
    495: "ツタージャ",
    496: "ジャノビー",
    497: "ジャローダ",
    498: "ポカブ",
    499: "チャオブー",
    500: "エンブオー",
    501: "ミジュマル",
    502: "フタチマル",
    503: "ダイケンキ",
    504: "ミネズミ",
    505: "ミルホッグ",
    506: "ヨーテリー",
    507: "ハーデリア",
    508: "ムーランド",
    509: "チョロネコ",
    510: "レパルダス",
    511: "ヤナップ",
    512: "ヤナッキー",
    513: "バオップ",
    514: "バオッキー",
    515: "ヒヤップ",
    516: "ヒヤッキー",
    517: "ムンナ",
    518: "ムシャーナ",
    519: "マメパト",
    520: "ハトーボー",
    521: "ケンホロウ",
    522: "シママ",
    523: "ゼブライカ",
    524: "ダンゴロ",
    525: "ガントル",
    526: "ギガイアス",
    527: "コロモリ",
    528: "ココロモリ",
    529: "モグリュー",
    530: "ドリュウズ",
    531: "タブンネ",
    532: "ドッコラー",
    533: "ドテッコツ",
    534: "ローブシン",
    535: "オタマロ",
    536: "ガマガル",
    537: "ガマゲロゲ",
    538: "ナゲキ",
    539: "ダゲキ",
    540: "クルミル",
    541: "クルマユ",
    542: "ハハコモリ",
    543: "フシデ",
    544: "ホイーガ",
    545: "ペンドラー",
    546: "モンメン",
    547: "エルフーン",
    548: "チュリネ",
    549: "ドレディア",
    550: "バスラオ",
    551: "メグロコ",
    552: "ワルビル",
    553: "ワルビアル",
    554: "ダルマッカ",
    555: "ヒヒダルマ",
    556: "マラカッチ",
    557: "イシズマイ",
    558: "イワパレス",
    559: "ズルッグ",
    560: "ズルズキン",
    561: "シンボラー",
    562: "デスマス",
    563: "デスカーン",
    564: "プロトーガ",
    565: "アバゴーラ",
    566: "アーケン",
    567: "アーケオス",
    568: "ヤブクロン",
    569: "ダストダス",
    570: "ゾロア",
    571: "ゾロアーク",
    572: "チラーミィ",
    573: "チラチーノ",
    574: "ゴチム",
    575: "ゴチミル",
    576: "ゴチルゼル",
    577: "ユニラン",
    578: "ダブラン",
    579: "ランクルス",
    580: "コアルヒー",
    581: "スワンナ",
    582: "バニプッチ",
    583: "バニリッチ",
    584: "バイバニラ",
    585: "シキジカ",
    586: "メブキジカ",
    587: "エモンガ",
    588: "カブルモ",
    589: "シュバルゴ",
    590: "タマゲタケ",
    591: "モロバレル",
    592: "プルリル",
    593: "ブルンゲル",
    594: "ママンボウ",
    595: "バチュル",
    596: "デンチュラ",
    597: "テッシード",
    598: "ナットレイ",
    599: "ギアル",
    600: "ギギアル",
    601: "ギギギアル",
    602: "シビシラス",
    603: "シビビール",
    604: "シビルドン",
    605: "リグレー",
    606: "オーベム",
    607: "ヒトモシ",
    608: "ランプラー",
    609: "シャンデラ",
    610: "キバゴ",
    611: "オノンド",
    612: "オノノクス",
    613: "クマシュン",
    614: "ツンベアー",
    615: "フリージオ",
    616: "チョボマキ",
    617: "アギルダー",
    618: "マッギョ",
    619: "コジョフー",
    620: "コジョンド",
    621: "クリムガン",
    622: "ゴビット",
    623: "ゴルーグ",
    624: "コマタナ",
    625: "キリキザン",
    626: "バッフロン",
    627: "ワシボン",
    628: "ウォーグル",
    629: "バルチャイ",
    630: "バルジーナ",
    631: "クイタラン",
    632: "アイアント",
    633: "モノズ",
    634: "ジヘッド",
    635: "サザンドラ",
    636: "メラルバ",
    637: "ウルガモス",
    638: "コバルオン",
    639: "テラキオン",
    640: "ビリジオン",
    641: "トルネロス",
    642: "ボルトロス",
    643: "レシラム",
    644: "ゼクロム",
    645: "ランドロス",
    646: "キュレム",
    647: "ケルディオ",
    648: "メロエッタ",
    649: "ゲノセクト",
    650: "ハリマロン",
    651: "ハリボーグ",
    652: "ブリガロン",
    653: "フォッコ",
    654: "テールナー",
    655: "マフォクシー",
    656: "ケロマツ",
    657: "ゲコガシラ",
    658: "ゲッコウガ",
    659: "ホルビー",
    660: "ホルード",
    661: "ヤヤコマ",
    662: "ヒノヤコマ",
    663: "ファイアロー",
    664: "コフキムシ",
    665: "コフーライ",
    666: "ビビヨン",
    667: "シシコ",
    668: "カエンジシ",
    669: "フラベベ",
    670: "フラエッテ",
    671: "フラージェス",
    672: "メェークル",
    673: "ゴーゴート",
    674: "ヤンチャム",
    675: "ゴロンダ",
    676: "トリミアン",
    677: "ニャスパー",
    678: "ニャオニクス",
    679: "ヒトツキ",
    680: "ニダンギル",
    681: "ギルガルド",
    682: "シュシュプ",
    683: "フレフワン",
    684: "ペロッパフ",
    685: "ペロリーム",
    686: "マーイーカ",
    687: "カラマネロ",
    688: "カメテテ",
    689: "ガメノデス",
    690: "クズモー",
    691: "ドラミドロ",
    692: "ウデッポウ",
    693: "ブロスター",
    694: "エリキテル",
    695: "エレザード",
    696: "チゴラス",
    697: "ガチゴラス",
    698: "アマルス",
    699: "アマルルガ",
    700: "ニンフィア",
    701: "ルチャブル",
    702: "デデンネ",
    703: "メレシー",
    704: "ヌメラ",
    705: "ヌメイル",
    706: "ヌメルゴン",
    707: "クレッフィ",
    708: "ボクレー",
    709: "オーロット",
    710: "バケッチャ",
    711: "パンプジン",
    712: "カチコール",
    713: "クレベース",
    714: "オンバット",
    715: "オンバーン",
    716: "ゼルネアス",
    717: "イベルタル",
    718: "ジガルデ",
    719: "ディアンシー",
    720: "フーパ",
    721: "ボルケニオン",
    722: "モクロー",
    723: "フクスロー",
    724: "ジュナイパー",
    725: "ニャビー",
    726: "ニャヒート",
    727: "ガオガエン",
    728: "アシマリ",
    729: "オシャマリ",
    730: "アシレーヌ",
    731: "ツツケラ",
    732: "ケララッパ",
    733: "ドデカバシ",
    734: "ヤングース",
    735: "デカグース",
    736: "アゴジムシ",
    737: "デンヂムシ",
    738: "クワガノン",
    739: "マケンカニ",
    740: "ケケンカニ",
    741: "オドリドリ",
    742: "アブリー",
    743: "アブリボン",
    744: "イワンコ",
    745: "ルガルガン",
    746: "ヨワシ",
    747: "ヒドイデ",
    748: "ドヒドイデ",
    749: "ドロバンコ",
    750: "バンバドロ",
    751: "シズクモ",
    752: "オニシズクモ",
    753: "カリキリ",
    754: "ラランテス",
    755: "ネマシュ",
    756: "マシェード",
    757: "ヤトウモリ",
    758: "エンニュート",
    759: "ヌイコグマ",
    760: "キテルグマ",
    761: "アマカジ",
    762: "アママイコ",
    763: "アマージョ",
    764: "キュワワー",
    765: "ヤレユータン",
    766: "ナゲツケサル",
    767: "コソクムシ",
    768: "グソクムシャ",
    769: "スナバァ",
    770: "シロデスナ",
    771: "ナマコブシ",
    772: "タイプ:ヌル",
    773: "シルヴァディ",
    774: "メテノ",
    775: "ネッコアラ",
    776: "バクガメス",
    777: "トゲデマル",
    778: "ミミッキュ",
    779: "ハギギシリ",
    780: "ジジーロン",
    781: "ダダリン",
    782: "ジャラコ",
    783: "ジャランゴ",
    784: "ジャラランガ",
    785: "カプ・コケコ",
    786: "カプ・テテフ",
    787: "カプ・ブルル",
    788: "カプ・レヒレ",
    789: "コスモッグ",
    790: "コスモウム",
    791: "ソルガレオ",
    792: "ルナアーラ",
    793: "ウツロイド",
    794: "マッシブーン",
    795: "フェローチェ",
    796: "デンジュモク",
    797: "テッカグヤ",
    798: "カミツルギ",
    799: "アクジキング",
    800: "ネクロズマ",
    801: "マギアナ",
    802: "マーシャドー",
    803: "ベベノム",
    804: "アーゴヨン",
    805: "ツンデツンデ",
    806: "ズガドーン",
    807: "ゼラオラ",
    808: "メルタン",
    809: "メルメタル",
    810: "サルノリ",
    811: "バチンキー",
    812: "ゴリランダー",
    813: "ヒバニー",
    814: "ラビフット",
    815: "エースバーン",
    816: "メッソン",
    817: "ジメレオン",
    818: "インテレオン",
    819: "ホシガリス",
    820: "ヨクバリス",
    821: "ココガラ",
    822: "アオガラス",
    823: "アーマーガア",
    824: "サッチムシ",
    825: "レドームシ",
    826: "イオルブ",
    827: "クスネ",
    828: "フォクスライ",
    829: "ヒメンカ",
    830: "ワタシラガ",
    831: "ウールー",
    832: "バイウールー",
    833: "カムカメ",
    834: "カジリガメ",
    835: "ワンパチ",
    836: "パルスワン",
    837: "タンドン",
    838: "トロッゴン",
    839: "セキタンザン",
    840: "カジッチュ",
    841: "アップリュー",
    842: "タルップル",
    843: "スナヘビ",
    844: "サダイジャ",
    845: "ウッウ",
    846: "サシカマス",
    847: "カマスジョー",
    848: "エレズン",
    849: "ストリンダー",
    850: "ヤクデ",
    851: "マルヤクデ",
    852: "タタッコ",
    853: "オトスパス",
    854: "ヤバチャ",
    855: "ポットデス",
    856: "ミブリム",
    857: "テブリム",
    858: "ブリムオン",
    859: "ベロバー",
    860: "ギモー",
    861: "オーロンゲ",
    862: "タチフサグマ",
    863: "ニャイキング",
    864: "サニゴーン",
    865: "ネギガナイト",
    866: "バリコオル",
    867: "デスバーン",
    868: "マホミル",
    869: "マホイップ",
    870: "タイレーツ",
    871: "バチンウニ",
    872: "ユキハミ",
    873: "モスノウ",
    874: "イシヘンジン",
    875: "コオリッポ",
    876: "イエッサン",
    877: "モルペコ",
    878: "ゾウドウ",
    879: "ダイオウドウ",
    880: "パッチラゴン",
    881: "パッチルドン",
    882: "ウオノラゴン",
    883: "ウオチルドン",
    884: "ジュラルドン",
    885: "ドラメシヤ",
    886: "ドロンチ",
    887: "ドラパルト",
    888: "ザシアン",
    889: "ザマゼンタ",
    890: "ムゲンダイナ",
    891: "ダクマ",
    892: "ウーラオス",
    893: "ザルード",
    894: "レジエレキ",
    895: "レジドラゴ",
    896: "ブリザポス",
    897: "レイスポス",
    898: "バドレックス",
    899: "アヤシシ",
    900: "バサギリ",
    901: "ガチグマ",
    902: "イダイトウ",
    903: "オオニューラ",
    904: "ハリーマン",
    905: "ラブトロス",
    906: "ニャオハ",
    907: "ニャローテ",
    908: "マスカーニャ",
    909: "ホゲータ",
    910: "アチゲータ",
    911: "ラウドボーン",
    912: "クワッス",
    913: "ウェルカモ",
    914: "ウェーニバル",
    915: "グルトン",
    916: "パフュートン",
    917: "タマンチュラ",
    918: "ワナイダー",
    919: "マメバッタ",
    920: "エクスレッグ",
    921: "パモ",
    922: "パモット",
    923: "パーモット",
    924: "ワッカネズミ",
    925: "イッカネズミ",
    926: "パピモッチ",
    927: "バウッツェル",
    928: "ミニーブ",
    929: "オリーニョ",
    930: "オリーヴァ",
    931: "イキリンコ",
    932: "コジオ",
    933: "ジオヅム",
    934: "キョジオーン",
    935: "カルボウ",
    936: "グレンアルマ",
    937: "ソウブレイズ",
    938: "ズピカ",
    939: "ハラバリー",
    940: "カイデン",
    941: "タイカイデン",
    942: "オラチフ",
    943: "マフィティフ",
    944: "シルシュルー",
    945: "タギングル",
    946: "アノクサ",
    947: "アノホラグサ",
    948: "ノノクラゲ",
    949: "リククラゲ",
    950: "ガケガニ",
    951: "カプサイジ",
    952: "スコヴィラン",
    953: "シガロコ",
    954: "ベラカス",
    955: "ヒラヒナ",
    956: "クエスパトラ",
    957: "カヌチャン",
    958: "ナカヌチャン",
    959: "デカヌチャン",
    960: "ウミディグダ",
    961: "ウミトリオ",
    962: "オトシドリ",
    963: "ナミイルカ",
    964: "イルカマン",
    965: "ブロロン",
    966: "ブロロローム",
    967: "モトトカゲ",
    968: "ミミズズ",
    969: "キラーメ",
    970: "キラフロル",
    971: "ボチ",
    972: "ハカドッグ",
    973: "カラミンゴ",
    974: "アルクジラ",
    975: "ハルクジラ",
    976: "ミガルーサ",
    977: "ヘイラッシャ",
    978: "シャリタツ",
    979: "コノヨザル",
    980: "ドオー",
    981: "リキキリン",
    982: "ノココッチ",
    983: "ドドゲザン",
    984: "イダイナキバ",
    985: "サケブシッポ",
    986: "アラブルタケ",
    987: "ハバタクカミ",
    988: "チヲハウハネ",
    989: "スナノケガワ",
    990: "テツノワダチ",
    991: "テツノツツミ",
    992: "テツノカイナ",
    993: "テツノコウベ",
    994: "テツノドクガ",
    995: "テツノイバラ",
    996: "セビエ",
    997: "セゴール",
    998: "セグレイブ",
    999: "コレクレー",
    1000: "サーフゴー",
    1001: "チオンジェン",
    1002: "パオジアン",
    1003: "ディンルー",
    1004: "イーユイ",
    1005: "トドロクツキ",
    1006: "テツノブジン",
    1007: "コライドン",
    1008: "ミライドン",
    1009: "ウネルミナモ",
    1010: "テツノイサハ",
    1011: "カミッチュ",
    1012: "チャデス",
    1013: "ヤバソチャ",
    1014: "イイネイヌ",
    1015: "マシマシラ",
    1016: "キチキギス",
    1017: "オーガポン",
    1018: "ブリジュラス",
    1019: "カミツオロチ",
    1020: "ウガツホムラ",
    1021: "タケルライコ",
    1022: "テツノイワオ",
    1023: "テツノカシラ",
    1024: "テラパゴス",
    1025: "モモワロウ",
}


class Xoroshiro:
    def __init__(self, s0=secrets.randbits(64), s1=secrets.randbits(64)):
        self.seed = [s0, 0x82A2B175229D6A5B]
    @staticmethod
    def rotl(x, k): return ((x << k) | (x >> (64 - k))) & 0xFFFFFFFFFFFFFFFF
    @staticmethod
    def nextP2(x):
        x -= 1
        for i in range(6): x |= x >> (1 << i)
        return x
    def next(self):
        s0, s1 = self.seed
        r = (s0 + s1) & 0xFFFFFFFFFFFFFFFF
        s1 ^= s0
        self.seed[0] = self.rotl(s0, 24) ^ s1 ^ ((s1 << 16) & 0xFFFFFFFFFFFFFFFF)
        self.seed[1] = self.rotl(s1, 37)
        return r
    def nextInt(self, num=0xFFFFFFFF):
        num2 = self.nextP2(num); s = self.next() & num2
        while s >= num: s = self.next() & num2
        return s

def getSV(tid, pid):
    sid, tid = (tid >> 16), (tid & 0xffff)
    hid, lid = (pid >> 16), (pid & 0xffff)
    return tid ^ sid ^ lid ^ hid

def get_state():
    buf = []
    for _ in range(20000):  # 回しすぎない(起動を軽く)
        s0 = secrets.randbits(64)
        rng = Xoroshiro(s0); rng.nextInt()
        tid = rng.nextInt(); pid = rng.nextInt()
        if getSV(tid, pid) < 0x10:
            buf.append(s0)
            if len(buf) >= 128:  # 必要分だけ
                break
    return buf

states = get_state()
_busy = False
file_idx = 0

def dump_memory(base_addr: int, size: int, filename: str = "memdump.bin"):
    """
    現在のGDBセッションから、指定範囲のメモリを読み取ってローカルに保存する。
    :param base_addr: 読み込み開始アドレス(整数)
    :param size:      ダンプサイズ(バイト単位)
    :param filename:  保存先ファイル名
    """
    inferior = gdb.selected_inferior()
    print(f"[+] dumping memory: 0x{base_addr:x} - 0x{base_addr+size:x} ({size} bytes) → {filename}")
    try:
        data = inferior.read_memory(base_addr, size).tobytes()
    except gdb.MemoryError as e:
        raise gdb.GdbError(f"memory read failed at 0x{base_addr:x}: {e}")

    with open(filename, "wb") as f:
        f.write(data)
    print(f"[✓] dump completed: {len(data)} bytes written to {filename}")

def get_species(reg_base: str = "x19", imm: int = 0x2a) -> int:
    global file_idx
    base = int(gdb.parse_and_eval(f"${reg_base}"))
    #print("x19", hex(base))

    #dump_memory(base, 0x1000, "%10x_%d.bin"%(base, file_idx))
    #file_idx += 1
    addr = (base + int(imm)) & ((1 << 64) - 1)

    inferior = gdb.selected_inferior()
    try:
        b = inferior.read_memory(addr, 2).tobytes()
    except gdb.MemoryError as e:
        raise gdb.GdbError(f"memory read failed at {addr:#x}: {e}")
    value = int.from_bytes(b, byteorder="little")
    print(value, POKEDEX[value])
    return value, POKEDEX[value]

def _continue_later():
    global _busy
    try:
        gdb.execute("continue", from_tty=False, to_string=True)
    finally:
        _busy = False

def on_stop(event):
    global _busy
    target_pokemon = [
        376, #メタグロス
    ]
    if not isinstance(event, gdb.BreakpointEvent):
        return

    try:
        bps = getattr(event, "breakpoints", []) or []
        if bps:
            print(f"[break] hit bp#{bps[0].number} at {bps[0].location}")
        else:
            print("[break] hit (no bp info)")
    except Exception as e:
        gdb.write(f"[auto] print error: {e}\n")

    try:
        if not states:
            states[:] = get_state()
        idx, pokemon = get_species()
        if idx in target_pokemon:
            s0 = states.pop(0)
            gdb.execute(f"set $x8 = 0x{s0:x}", to_string=True)
    except Exception as e:
        gdb.write(f"[auto] handler error: {e}\n")

    if not _busy:
        _busy = True
        gdb.post_event(_continue_later)

try:
    gdb.events.stop.disconnect(on_stop)
except Exception:
    pass
gdb.events.stop.connect(on_stop)
print("[auto-continue] installed: printing every breakpoint hit.")

"""
usage

aarch64-none-elf-gdb-py
target extended-remote 192.168.x.x:22225
monitor wait application
attach 0xNN
monitor get info
set $main_app_base = (unsigned long)$main_app_addr
b *$main_app_base + 0x69b748
source auto_shiny.py # inject
continue
"""