{
  "version": "2026-11-04-r2",
  "guard_input_sha256": "f84e2f834b258b7f3b5f2254061b4f00a31ccf5652d1d33e79ba210ae02f0e97",
  "output_sha256": "89734acf17e7412e4b0aef71039cdcd4737231ba2fa801ccaece72f6eb794355",
  "scope": "Named forum-related hook sites; the complete original-to-current byte diff is separate",
  "hooks": [
    {
      "title": "Easy numeric roster formatter",
      "address": 36422,
      "size": 6,
      "source": "experimental/easy_stats.s",
      "line_needle": "roster_format:",
      "offset": "0x008E46",
      "before": "4E B9 00 0F EF 7C",
      "after": "4E B9 00 2E E4 14"
    },
    {
      "title": "Easy whole-team assistance entries",
      "address": 3073024,
      "size": 24,
      "source": "experimental/easy_stats.s",
      "line_needle": "_start:",
      "offset": "0x2EE400",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 58 60 00 01 00 60 00 01 6C 60 00 01 9C 60 00 01 B2 60 00 01 C6"
    },
    {
      "title": "P2 red star palette descriptors",
      "address": 2119492,
      "size": 10,
      "source": "experimental/pad_colors.py",
      "line_needle": "for at in (0x205744,0x20574C):",
      "offset": "0x205744",
      "before": "00 05 FF FF FF FB 0F 1A 08 05",
      "after": "20 05 FF FF FF FB 0F 1A 28 05"
    },
    {
      "title": "P3 dedicated green star source",
      "address": 2131418,
      "size": 10,
      "source": "experimental/pad_colors.py",
      "line_needle": "patch(at,bytes.fromhex('0f1a'),STAR_KEY",
      "offset": "0x2085DA",
      "before": "0F 1A 20 05 FF FF FF FB 0F 1A",
      "after": "D3 0C 20 05 FF FF FF FB D3 0C"
    },
    {
      "title": "P3 separate green star art",
      "address": 16388,
      "size": 128,
      "source": "experimental/pad_colors.py",
      "line_needle": "STAR_ART=",
      "offset": "0x004004",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BB BB BB BB 0B B0 00 00 00 BB 00 00 00 0B B0 00 00 00 BB 00 00 00 0B B0 00 00 BB 00 00 0B B0 00 00 BB 00 00 0B B0 00 00 BB 00 00 BB BB BB BB B0 00 00 00 BB 00 00 0B B0 00 0B BB 00 00 BB 00 00 BB B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BB 00 BB BB B0 BB B0 00 00 00 00 00 00"
    },
    {
      "title": "Original P1 blue and goal red palette restored",
      "address": 366934,
      "size": 10,
      "source": "experimental/pad_colors.py",
      "line_needle": "assert data[0x59956:0x59960]",
      "offset": "0x059956",
      "before": "06 00 00 62 00 20 00 4A 00 06",
      "after": "06 00 00 0E 00 E0 00 4A 00 06"
    },
    {
      "title": "Goalie receiver scan",
      "address": 48386,
      "size": 2,
      "source": "experimental/forumfix.py",
      "line_needle": "patch(0xBD02",
      "offset": "0x00BD02",
      "before": "67 00",
      "after": "6F 00"
    },
    {
      "title": "Cached goalie receiver scan",
      "address": 3142060,
      "size": 2,
      "source": "experimental/forumfix.py",
      "line_needle": "patch(at + 4",
      "offset": "0x2FF1AC",
      "before": "67 00",
      "after": "6F 00"
    },
    {
      "title": "Human skating friction",
      "address": 44050,
      "size": 12,
      "source": "experimental/forumfix.s",
      "line_needle": "friction:",
      "offset": "0x00AC12",
      "before": "08 2B 00 00 00 62 67 00 00 04 74 09",
      "after": "4E B9 00 2E F0 00 4E 71 4E 71 4E 71"
    },
    {
      "title": "Penalty-shot award",
      "address": 60822,
      "size": 8,
      "source": "experimental/forumfix.s",
      "line_needle": "psaward:",
      "offset": "0x00ED96",
      "before": "42 78 B7 72 42 78 B7 74",
      "after": "4E B9 00 2E F0 04 4E 71"
    },
    {
      "title": "Penalty-shot setup",
      "address": 61330,
      "size": 6,
      "source": "experimental/forumfix.s",
      "line_needle": "pssetup:",
      "offset": "0x00EF92",
      "before": "08 AB 00 01 00 62",
      "after": "4E B9 00 2E F0 08"
    },
    {
      "title": "Wing Offensive Awareness",
      "address": 53470,
      "size": 6,
      "source": "experimental/forumfix.py",
      "line_needle": "patch(0xD0DE",
      "offset": "0x00D0DE",
      "before": "17 6B 00 6B 00 40",
      "after": "17 6B 00 6A 00 40"
    },
    {
      "title": "Center Offensive Awareness",
      "address": 53974,
      "size": 6,
      "source": "experimental/forumfix.py",
      "line_needle": "patch(0xD2D6",
      "offset": "0x00D2D6",
      "before": "17 6B 00 6B 00 40",
      "after": "17 6B 00 6A 00 40"
    },
    {
      "title": "Short-pass flight time",
      "address": 48980,
      "size": 6,
      "source": "experimental/forumfix.s",
      "line_needle": "passflight:",
      "offset": "0x00BF54",
      "before": "4E B9 00 2F F1 40",
      "after": "4E B9 00 2D E6 00"
    },
    {
      "title": "Diving catch possession timer",
      "address": 86812,
      "size": 6,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0x1531C",
      "offset": "0x01531C",
      "before": "35 7C 00 05 00 48",
      "after": "35 7C 00 B4 00 48"
    },
    {
      "title": "Startup credit card",
      "address": 30494,
      "size": 6,
      "source": "experimental/credits.s",
      "line_needle": "_start:",
      "offset": "0x00771E",
      "before": "4E B9 00 2F E2 80",
      "after": "4E B9 00 2D 80 00"
    },
    {
      "title": "Weak-side defensive winger",
      "address": 53382,
      "size": 8,
      "source": "experimental/ai_defence.py",
      "line_needle": "def install",
      "offset": "0x00D086",
      "before": "41 FA FF 10 34 38 B7 4A",
      "after": "4E B9 00 2D 84 00 4E 71"
    },
    {
      "title": "Defensive pair positioning",
      "address": 53130,
      "size": 10,
      "source": "experimental/ai_gap.py",
      "line_needle": "def install",
      "offset": "0x00CF8A",
      "before": "20 7C 00 00 E5 94 61 00 34 36",
      "after": "4E B9 00 2D C0 00 4E 71 4E 71"
    },
    {
      "title": "Attack support, first caller",
      "address": 53726,
      "size": 8,
      "source": "experimental/ai_attack.py",
      "line_needle": "jump(0xD1DE",
      "offset": "0x00D1DE",
      "before": "41 FA 13 B4 60 00 31 E4",
      "after": "4E F9 00 2D 88 00 4E 71"
    },
    {
      "title": "Attack support, second caller",
      "address": 54206,
      "size": 8,
      "source": "experimental/ai_attack.py",
      "line_needle": "jump(0xD3BE",
      "offset": "0x00D3BE",
      "before": "41 FA 11 D4 60 00 30 04",
      "after": "4E F9 00 2D 88 00 4E 71"
    },
    {
      "title": "CPU pass receiver choice",
      "address": 58462,
      "size": 6,
      "source": "experimental/ai_attack.s",
      "line_needle": "passpick:",
      "offset": "0x00E45E",
      "before": "70 06 61 00 2C 24",
      "after": "4E B9 00 2D 88 04"
    },
    {
      "title": "CPU shot/pass decision",
      "address": 58002,
      "size": 6,
      "source": "experimental/ai_freecross.s",
      "line_needle": "shot:",
      "offset": "0x00E292",
      "before": "61 D0 66 00 00 4E",
      "after": "4E F9 00 2D D8 00"
    },
    {
      "title": "First forward unit personnel",
      "address": 88140,
      "size": 8,
      "source": "experimental/coach_lines.s",
      "line_needle": "personnel:",
      "offset": "0x01584C",
      "before": "43 EA 01 6A 30 2A 00 16",
      "after": "4E F9 00 2D D4 00 4E 71"
    },
    {
      "title": "Matching native line energy",
      "address": 77496,
      "size": 6,
      "source": "experimental/coach_lines.s",
      "line_needle": "energy:",
      "offset": "0x012EB8",
      "before": "43 EA 01 6A E7 40",
      "after": "4E F9 00 2D D4 04"
    },
    {
      "title": "Real keeper selection",
      "address": 88740,
      "size": 6,
      "source": "experimental/coach_goalie.s",
      "line_needle": "_start:",
      "offset": "0x015AA4",
      "before": "08 AB 00 06 00 63",
      "after": "4E F9 00 2D C8 00"
    },
    {
      "title": "Deliberate native cross-pass decision",
      "address": 58436,
      "size": 8,
      "source": "experimental/ai_freecross.s",
      "line_needle": "pass:",
      "offset": "0x00E444",
      "before": "4A 78 BE E4 66 00 00 14",
      "after": "4E F9 00 2D D8 04 4E 71"
    },
    {
      "title": "Native target opening decision",
      "address": 49932,
      "size": 8,
      "source": "experimental/ai_smart_aim.s",
      "line_needle": "shot_hook:",
      "offset": "0x00C30C",
      "before": "61 00 02 58 3F 3C 00 05",
      "after": "4E F9 00 2D F0 00 4E 71"
    },
    {
      "title": "Accepted-pass receiver plan",
      "address": 49078,
      "size": 6,
      "source": "experimental/ai_pass_plan.s",
      "line_needle": "_start:",
      "offset": "0x00BFB6",
      "before": "31 C1 B7 74 4E 75",
      "after": "4E F9 00 2D F8 00"
    },
    {
      "title": "Hard target refresh interval",
      "address": 66512,
      "size": 6,
      "source": "experimental/ai_steering.s",
      "line_needle": "_start:",
      "offset": "0x0103D0",
      "before": "06 2B 00 0C 00 42",
      "after": "4E F9 00 2D 8D 40"
    },
    {
      "title": "Native lateral keeper tracking",
      "address": 55896,
      "size": 6,
      "source": "experimental/ai_keeper_pass.s",
      "line_needle": "_start:",
      "offset": "0x00DA58",
      "before": "32 02 48 A7 C0 00",
      "after": "4E F9 00 2D C2 80"
    },
    {
      "title": "Keeper attacking goal accounting",
      "address": 84324,
      "size": 6,
      "source": "experimental/goalie_offense.s",
      "line_needle": "_start:",
      "offset": "0x014964",
      "before": "30 2A 00 18 10 C0",
      "after": "4E F9 00 2D F4 04"
    },
    {
      "title": "Keeper attacking shot accounting",
      "address": 77852,
      "size": 6,
      "source": "experimental/goalie_offense.s",
      "line_needle": "_start:",
      "offset": "0x01301C",
      "before": "42 40 10 2B 00 66",
      "after": "4E F9 00 2D F4 08"
    },
    {
      "title": "Native H32/H40 footer centre export",
      "address": 2478084,
      "size": 4,
      "source": "experimental/grey_panels.s",
      "line_needle": "center_position:",
      "offset": "0x25D004",
      "before": "FF FF FF FF",
      "after": "60 00 00 1A"
    },
    {
      "title": "Actual native BF78 byte bit1 width selection",
      "address": 2478152,
      "size": 6,
      "source": "experimental/grey_panels.s",
      "line_needle": "btst #1,0xFFFFBF78",
      "offset": "0x25D048",
      "before": "FF FF FF FF FF FF",
      "after": "08 38 00 01 BF 78"
    },
    {
      "title": "Crit Shots season-lock writer",
      "address": 3059756,
      "size": 4,
      "source": "experimental/seasonplayers.s",
      "line_needle": "writer:",
      "offset": "0x2EB02C",
      "before": "FF FF FF FF",
      "after": "60 00 07 E2"
    },
    {
      "title": "Immediate B input and goalie handoff",
      "address": 45494,
      "size": 10,
      "source": "experimental/fourgoalie.s",
      "line_needle": "early:",
      "offset": "0x00B1B6",
      "before": "08 2B 00 03 00 63 66 00 08 CA",
      "after": "4E F9 00 2E A6 00 4E 71 4E 71"
    },
    {
      "title": "Native Stars HUD cleanup",
      "address": 99604,
      "size": 6,
      "source": "experimental/stars_hud.s",
      "line_needle": "_start:",
      "offset": "0x018514",
      "before": "08 F8 00 07 C2 EA",
      "after": "4E B9 00 2D B6 00"
    },
    {
      "title": "Actual carried-puck keeper target",
      "address": 55544,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0xD8F8",
      "offset": "0x00D8F8",
      "before": "E2 40",
      "after": "4E 71"
    },
    {
      "title": "Taken keeper recovery branch",
      "address": 54864,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0xD650",
      "offset": "0x00D650",
      "before": "7E 14",
      "after": "75 96"
    },
    {
      "title": "Keeper recovery veneer in dead glass padding",
      "address": 84966,
      "size": 6,
      "source": "experimental/goalie_anticipation.s",
      "line_needle": "_start:",
      "offset": "0x014BE6",
      "before": "6D 00 00 44 0C 53",
      "after": "4E F9 00 2D B8 00"
    },
    {
      "title": "Ordinary accepted keeper request",
      "address": 3137152,
      "size": 6,
      "source": "experimental/outlet.s",
      "line_needle": "jsr 0x2DB400",
      "offset": "0x2FDE80",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 2D B4 00"
    },
    {
      "title": "Adapter accepted keeper request",
      "address": 3058382,
      "size": 6,
      "source": "experimental/fourgoalie.s",
      "line_needle": "jsr 0x2DB400",
      "offset": "0x2EAACE",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 2D B4 00"
    },
    {
      "title": "One-time keeper deadline reservation",
      "address": 2995200,
      "size": 98,
      "source": "experimental/outlet_deadline.s",
      "line_needle": "_start:",
      "offset": "0x2DB400",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "40 E7 2F 00 4A 68 00 34 66 52 08 28 00 03 00 62 66 4A 10 38 C2 EA 02 00 00 11 66 40 4A 78 D4 12 66 3A 08 38 00 00 C2 FA 66 32 08 38 00 02 C2 F2 66 2A 4A 78 F0 64 67 24 30 28 00 52 B0 78 B7 AA 66 1A B0 78 F0 66 66 14 4A 68 00 48 6B 0E 0C 68 00 04 00 48 6C 06 31 7C 00 04 00 48 20 1F 46 DF 4E 75"
    },
    {
      "title": "Optional native touch-icing award",
      "address": 66030,
      "size": 8,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0x101EE",
      "offset": "0x0101EE",
      "before": "30 3C 00 0C 61 00 1D 38",
      "after": "4E F9 00 2D BA 00 4E 71"
    },
    {
      "title": "Icing On/Off award helper",
      "address": 2996736,
      "size": 24,
      "source": "experimental/icing.s",
      "line_needle": "_start:",
      "offset": "0x2DBA00",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "0C 78 00 01 F0 EE 67 0A 30 3C 00 0C 4E B9 00 01 1F 2C 4E F9 00 01 01 F6"
    },
    {
      "title": "Edmonton startup default",
      "address": 97426,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0x17C92",
      "offset": "0x017C92",
      "before": "00 1E",
      "after": "00 0A"
    },
    {
      "title": "Current native menu cursor limit",
      "address": 1013626,
      "size": 2,
      "source": "experimental/replaymenu.py",
      "line_needle": "'002a' if with_alt_goalies",
      "offset": "0x0F777A",
      "before": "00 12",
      "after": "00 34"
    },
    {
      "title": "Icing menu label",
      "address": 3019456,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Icing        ",
      "offset": "0x2E12C0",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 49 63 69 6E 67 20 20 20 20 20 20 20 20 00"
    },
    {
      "title": "Cooperative keeper catch handoff call",
      "address": 3138670,
      "size": 6,
      "source": "experimental/goalie_ai.s",
      "line_needle": "0x2DBC00",
      "offset": "0x2FE46E",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 2D BC 00"
    },
    {
      "title": "Native keeper-to-skater handoff helper",
      "address": 2997248,
      "size": 288,
      "source": "experimental/goalie_catch_control.s",
      "line_needle": "_start:",
      "offset": "0x2DBC00",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "40 E7 48 E7 FF FE 00 7C 07 00 4A 6A 00 34 66 00 01 08 4A 78 D0 52 66 00 01 00 08 2A 00 03 00 62 67 00 00 F6 08 38 00 00 C2 FA 66 00 00 EC 4A 78 D4 12 66 00 00 E4 10 38 C2 EA 02 00 00 11 66 00 00 D8 3E 2A 00 52 BE 78 B7 AA 66 00 00 CC 78 01 0C 47 00 05 67 0A 78 02 0C 47 00 0B 66 00 00 BA 41 F8 C3 28 70 03 72 00 34 18 67 08 B4 44 66 00 00 A8 72 01 51 C8 FF F2 4A 41 67 00 00 9C 49 F8 C3 20 70 03 BE 5C 57 C8 FF FC 66 00 00 8C 41 F8 B0 4A 0C 44 00 01 67 04 D0 FC 03 00 7A FF 7C FF 76 05 4A 68 00 34 6F 34 08 28 00 03 00 62 66 2C 08 28 00 02 00 63 66 24 08 28 00 05 00 62 66 1C 30 10 90 52 C1 C0 32 28 00 14 92 6A 00 14 C3 C1 D0 81 B0 86 62 06 2C 00 3A 28 00 52 D0 FC 00 80 51 CB FF C0 1F 2A 00 63 08 AA 00 03 00 63 32 07 30 05 4E B9 00 00 C0 F8 15 5F 00 63 41 F8 C3 20 43 F8 C3 28 72 03 34 19 BE 50 66 06 B4 44 66 02 30 80 54 88 51 C9 FF F0 4C DF 7F FF 46 DF 4E 75"
    },
    {
      "title": "Current-skater keeper outlet request",
      "address": 3136524,
      "size": 4,
      "source": "experimental/outlet.s",
      "line_needle": "request:",
      "offset": "0x2FDC0C",
      "before": "FF FF FF FF",
      "after": "60 00 01 8A"
    },
    {
      "title": "Requested Hard startup defaults",
      "address": 3014664,
      "size": 4,
      "source": "experimental/crowd.s",
      "line_needle": "defaults:",
      "offset": "0x2E0008",
      "before": "FF FF FF FF",
      "after": "60 00 01 86"
    },
    {
      "title": "Requested Replay/Crit fallback defaults",
      "address": 3006468,
      "size": 4,
      "source": "experimental/replaymenu.s",
      "line_needle": "loadrecord:",
      "offset": "0x2DE004",
      "before": "FF FF FF FF",
      "after": "60 00 00 D8"
    },
    {
      "title": "Fresh-format Icing On default",
      "address": 2794336,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "move.w #ICING_DEFAULT",
      "offset": "0x2AA360",
      "before": "FF FF FF FF FF FF",
      "after": "43 F9 00 20 00 01"
    },
    {
      "title": "Boot Icing On default",
      "address": 3006584,
      "size": 6,
      "source": "experimental/replaymenu.s",
      "line_needle": "move.w #ICING_DEFAULT",
      "offset": "0x2DE078",
      "before": "FF FF FF FF FF FF",
      "after": "32 3C 1F BE 4E 75"
    },
    {
      "title": "Empty-season Icing On fallback",
      "address": 3060820,
      "size": 6,
      "source": "experimental/seasonplayers.s",
      "line_needle": "move.w #ICING_DEFAULT",
      "offset": "0x2EB454",
      "before": "FF FF FF FF FF FF",
      "after": "31 FC 00 00 F0 EE"
    },
    {
      "title": "Overtime follows selected period length",
      "address": 2801700,
      "size": 8,
      "source": "experimental/shootout.s",
      "line_needle": "timer:",
      "offset": "0x2AC024",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B8 78 4E 4E F8 78 2E"
    },
    {
      "title": "Consume post-whistle momentum events",
      "address": 3016522,
      "size": 52,
      "source": "experimental/crowd.s",
      "line_needle": "changed_events:",
      "offset": "0x2E074A",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
    },
    {
      "title": "Mini divisional opponent lookup",
      "address": 2997760,
      "size": 4,
      "source": "season/minischedule.s",
      "line_needle": "bra.w pick",
      "offset": "0x2DBE00",
      "before": "FF FF FF FF",
      "after": "60 00 00 06"
    },
    {
      "title": "Mini divisional simulated fixtures",
      "address": 2997764,
      "size": 4,
      "source": "season/minischedule.s",
      "line_needle": "bra.w fixtures",
      "offset": "0x2DBE04",
      "before": "FF FF FF FF",
      "after": "60 00 00 16"
    },
    {
      "title": "Human buffered contact/follow-through frame",
      "address": 3018756,
      "size": 4,
      "source": "experimental/onetimer.s",
      "line_needle": "bra.w frame",
      "offset": "0x2E1004",
      "before": "FF FF FF FF",
      "after": "60 00 00 4C"
    },
    {
      "title": "Owned C keeps a buffered pass shot",
      "address": 47120,
      "size": 6,
      "source": "experimental/onetimer.py",
      "line_needle": "patch(0xB810",
      "offset": "0x00B810",
      "before": "4E B9 00 0F EE 60",
      "after": "4E F9 00 2E 10 0C"
    },
    {
      "title": "Native stick-contact gate",
      "address": 3019132,
      "size": 16,
      "source": "experimental/onetimer.s",
      "line_needle": "stick_contact:",
      "offset": "0x2E117C",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "2F 0B 4E B9 00 01 06 E0 D0 53 90 78 B7 4A 0C 40"
    },
    {
      "title": "Capture fouled physical penalty-shot pad",
      "address": 74178,
      "size": 10,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0x121C2",
      "offset": "0x0121C2",
      "before": "31 C0 D4 06 22 7C FF FF B0 4A",
      "after": "4E B9 00 2D A8 00 4E 71 4E 71"
    },
    {
      "title": "Penalty-shot participant assignment",
      "address": 61964,
      "size": 8,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0xF20C",
      "offset": "0x00F20C",
      "before": "61 00 0B 14 30 38 D4 08",
      "after": "4E B9 00 2D A8 04 4E 71"
    },
    {
      "title": "Fouled pad ownership helper",
      "address": 2992128,
      "size": 8,
      "source": "experimental/penalty_owner.s",
      "line_needle": "_start:",
      "offset": "0x2DA800",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "60 00 00 06 60 00 00 6E"
    },
    {
      "title": "Mini records seven regular games",
      "address": 3113294,
      "size": 6,
      "source": "season/season.s",
      "line_needle": "move.w  #MINI_GAMES,10",
      "offset": "0x2F814E",
      "before": "FF FF FF FF FF FF",
      "after": "31 7C 00 07 00 0A"
    },
    {
      "title": "Mini menu denominator seven",
      "address": 2270332,
      "size": 2,
      "source": "season/seasonmenu.s",
      "line_needle": "moveq   #MINI_GAMES",
      "offset": "0x22A47C",
      "before": "FF FF",
      "after": "74 07"
    },
    {
      "title": "Mini seven keeps single-game playoffs",
      "address": 3131724,
      "size": 10,
      "source": "season/playoffs.s",
      "line_needle": "#MINI_GAMES,PBUF+10",
      "offset": "0x2FC94C",
      "before": "FF FF FF FF FF FF FF FF FF FF",
      "after": "0C 79 00 07 00 FF F4 0A 67 14"
    },
    {
      "title": "Owned manual keeper uses native pass",
      "address": 2994358,
      "size": 4,
      "source": "experimental/switch.s",
      "line_needle": "beq.w reset_original            | owned manual keeper",
      "offset": "0x2DB0B6",
      "before": "FF FF FF FF",
      "after": "67 00 01 4C"
    },
    {
      "title": "Adapter owned keeper uses native pass",
      "address": 3057540,
      "size": 4,
      "source": "experimental/fourgoalie.s",
      "line_needle": "beq.w native_early              | owning manual keeper",
      "offset": "0x2EA784",
      "before": "FF FF FF FF",
      "after": "67 00 00 FC"
    },
    {
      "title": "Goal net release positive X threshold",
      "address": 84844,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "for at,old,new in [(0x14B6C",
      "offset": "0x014B6C",
      "before": "20 00",
      "after": "30 00"
    },
    {
      "title": "Goal net release negative X threshold",
      "address": 84852,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "for at,old,new in [(0x14B6C",
      "offset": "0x014B74",
      "before": "E0 00",
      "after": "D0 00"
    },
    {
      "title": "Goal net release positive Y threshold",
      "address": 84860,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "for at,old,new in [(0x14B6C",
      "offset": "0x014B7C",
      "before": "20 00",
      "after": "30 00"
    },
    {
      "title": "Goal net release negative Y threshold",
      "address": 84868,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "for at,old,new in [(0x14B6C",
      "offset": "0x014B84",
      "before": "E0 00",
      "after": "D0 00"
    },
    {
      "title": "Automatic attempt initialization",
      "address": 62080,
      "size": 6,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0xF280",
      "offset": "0x00F280",
      "before": "31 FC 01 90 C3 1A",
      "after": "4E B9 00 22 90 20"
    },
    {
      "title": "Automatic CPU attempt countdown",
      "address": 62104,
      "size": 2,
      "source": "experimental/build_test.py",
      "line_needle": "patch(0xF298",
      "offset": "0x00F298",
      "before": "00 64",
      "after": "00 3C"
    },
    {
      "title": "Shooter-centre blue-line movement watcher",
      "address": 62196,
      "size": 8,
      "source": "experimental/shootout_rules.s",
      "line_needle": "enforce:",
      "offset": "0x00F2F4",
      "before": "48 A7 80 00 30 38 B7 AA",
      "after": "4E F9 00 2D AA 00 4E 71"
    },
    {
      "title": "Downed native B-pass recipient guard",
      "address": 48390,
      "size": 6,
      "source": "experimental/downed_receiver.s",
      "line_needle": "scan:",
      "offset": "0x00BD06",
      "before": "08 29 00 02 00 63",
      "after": "4E B9 00 2D AE 00"
    },
    {
      "title": "Downed keeper fallback recipient guard",
      "address": 3142064,
      "size": 6,
      "source": "experimental/downed_receiver.s",
      "line_needle": "scan:",
      "offset": "0x2FF1B0",
      "before": "08 29 00 02 00 63",
      "after": "4E B9 00 2D AE 00"
    },
    {
      "title": "Downed actual stick-contact guard",
      "address": 86262,
      "size": 6,
      "source": "experimental/downed_receiver.s",
      "line_needle": "pickup:",
      "offset": "0x0150F6",
      "before": "4E B9 00 2F F3 80",
      "after": "4E F9 00 2D AE 04"
    },
    {
      "title": "Optional targeted B-pass lift",
      "address": 48990,
      "size": 18,
      "source": "experimental/pass_height.s",
      "line_needle": "lift:",
      "offset": "0x00BF5E",
      "before": "11 C2 B7 76 B4 7C 00 0C 6D 00 00 08 11 FC 00 0C B7 76",
      "after": "4E F9 00 2D E4 00 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Combined height/speed preference exports",
      "address": 3007488,
      "size": 20,
      "source": "experimental/pass_height.s",
      "line_needle": "_start:",
      "offset": "0x2DE400",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 12 60 00 00 6A 60 00 00 6C 60 00 00 8E 60 00 00 80"
    },
    {
      "title": "Pass Height label",
      "address": 3019488,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Pass Height  ",
      "offset": "0x2E12E0",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 50 61 73 73 20 48 65 69 67 68 74 20 20 00"
    },
    {
      "title": "Independent targeted B-pass speed",
      "address": 48980,
      "size": 6,
      "source": "experimental/pass_speed.s",
      "line_needle": "flight:",
      "offset": "0x00BF54",
      "before": "4E B9 00 2F F1 40",
      "after": "4E B9 00 2D E6 00"
    },
    {
      "title": "Pass speed timing/menu exports",
      "address": 3008000,
      "size": 8,
      "source": "experimental/pass_speed.s",
      "line_needle": "_start:",
      "offset": "0x2DE600",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "60 00 00 06 60 00 00 D6"
    },
    {
      "title": "Pass Speed label",
      "address": 3019504,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Pass Speed   ",
      "offset": "0x2E12F0",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 50 61 73 73 20 53 70 65 65 64 20 20 20 00"
    },
    {
      "title": "Fair accepted co-op pickup control",
      "address": 86922,
      "size": 6,
      "source": "experimental/fair_pickup.s",
      "line_needle": "_start:",
      "offset": "0x01538A",
      "before": "B0 7C 00 06 5D C1",
      "after": "4E F9 00 2E FC 00"
    },
    {
      "title": "Ordinary human B mode dispatcher",
      "address": 48192,
      "size": 8,
      "source": "experimental/pass_mode.s",
      "line_needle": "input_dispatch:",
      "offset": "0x00BC40",
      "before": "08 02 00 04 66 00 00 1E",
      "after": "4E F9 00 2E 68 00 4E 71"
    },
    {
      "title": "Human vector targeting cone",
      "address": 3141684,
      "size": 16,
      "source": "experimental/pass_mode.s",
      "line_needle": "cone:",
      "offset": "0x2FF034",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "4E F9 00 2E 68 04 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Human keeper cone fallback",
      "address": 3142104,
      "size": 12,
      "source": "experimental/pass_mode.s",
      "line_needle": "keeper_fallback:",
      "offset": "0x2FF1D8",
      "before": "08 29 00 03 00 62 67 00 00 04 74 00",
      "after": "4E F9 00 2E 68 18 4E 71 4E 71 4E 71"
    },
    {
      "title": "Mode/cone module exports",
      "address": 3041280,
      "size": 32,
      "source": "experimental/pass_mode.s",
      "line_needle": "_start:",
      "offset": "0x2E6800",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 4C 60 00 00 BA 60 00 01 C0 60 00 03 E8 60 00 02 96 60 00 03 54 60 00 01 76 60 00 01 52"
    },
    {
      "title": "Pass Mode menu label",
      "address": 3019520,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Pass Mode    ",
      "offset": "0x2E1300",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 50 61 73 73 20 4D 6F 64 65 20 20 20 20 00"
    },
    {
      "title": "Target Cone menu label",
      "address": 3019536,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Target Cone  ",
      "offset": "0x2E1310",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 54 61 72 67 65 74 20 43 6F 6E 65 20 20 00"
    },
    {
      "title": "Separate ordinary penalty admission",
      "address": 73592,
      "size": 6,
      "source": "experimental/penalty_rate.s",
      "line_needle": "event:",
      "offset": "0x011F78",
      "before": "06 78 00 C8 B8 9C",
      "after": "4E F9 00 2E C8 00"
    },
    {
      "title": "Whole-fight percentage commit",
      "address": 2098416,
      "size": 10,
      "source": "experimental/penalty_rate.s",
      "line_needle": "fight:",
      "offset": "0x2004F0",
      "before": "28 4B 70 05 26 7C FF FF B0 4A",
      "after": "4E F9 00 2E C8 04 4E 71 4E 71"
    },
    {
      "title": "Penalty rate helper exports",
      "address": 3065856,
      "size": 8,
      "source": "experimental/penalty_rate.s",
      "line_needle": "_start:",
      "offset": "0x2EC800",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "60 00 00 06 60 00 00 AC"
    },
    {
      "title": "Penaltys percentage menu label",
      "address": 3019552,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Penaltys     ",
      "offset": "0x2E1320",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 50 65 6E 61 6C 74 79 73 20 20 20 20 20 00"
    },
    {
      "title": "Native combined rules label",
      "address": 3019360,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Rules        ",
      "offset": "0x2E1260",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 52 75 6C 65 73 20 20 20 20 20 20 20 20 00"
    },
    {
      "title": "Protected human contact-to-release interval",
      "address": 3018888,
      "size": 6,
      "source": "experimental/onetimer.s",
      "line_needle": "keep contact sprite/flip coherent",
      "offset": "0x2E1088",
      "before": "FF FF FF FF FF FF",
      "after": "40 E7 00 7C 07 00"
    },
    {
      "title": "Human held-pass begin",
      "address": 46944,
      "size": 6,
      "source": "experimental/pass_charge.s",
      "line_needle": "begin:",
      "offset": "0x00B760",
      "before": "4E B9 00 0F EE 60",
      "after": "4E B9 00 2E 82 00"
    },
    {
      "title": "Held-pass module exports",
      "address": 3047936,
      "size": 32,
      "source": "experimental/pass_charge.s",
      "line_needle": "_start:",
      "offset": "0x2E8200",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 B6 60 00 00 E0 60 00 01 52 60 00 02 3E 60 00 02 90 60 00 02 D0 60 00 01 90 60 00 02 C8"
    },
    {
      "title": "Human old gate / charged emitter exports",
      "address": 3041312,
      "size": 8,
      "source": "experimental/pass_mode.s",
      "line_needle": "private charging fall-through",
      "offset": "0x2E6820",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "60 00 00 32 60 00 00 50"
    },
    {
      "title": "Pass Charge menu label",
      "address": 3019568,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Pass Charge  ",
      "offset": "0x2E1330",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 50 61 73 73 20 43 68 61 72 67 65 20 20 00"
    },
    {
      "title": "Actual human B pickup cooldown dispatch",
      "address": 3041398,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x220000",
      "offset": "0x2E6876",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 00 00"
    },
    {
      "title": "Pickup-delay human release and preference exports",
      "address": 2228224,
      "size": 16,
      "source": "experimental/pickup_delay.s",
      "line_needle": "_start:",
      "offset": "0x220000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 0E 60 00 00 D8 60 00 01 0A 60 00 01 4A"
    },
    {
      "title": "Pickup Delay menu label",
      "address": 3019584,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Pickup Delay ",
      "offset": "0x2E1340",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 50 69 63 6B 75 70 20 44 65 6C 61 79 20 00"
    },
    {
      "title": "Actual shot provenance after native release",
      "address": 50184,
      "size": 8,
      "source": "experimental/alt_goalies.s",
      "line_needle": "shot:",
      "offset": "0x00C408",
      "before": "4E B9 00 2F F3 00 4E 71",
      "after": "4E B9 00 22 10 00 4E 71"
    },
    {
      "title": "Optional native keeper reach envelope",
      "address": 3142484,
      "size": 12,
      "source": "experimental/alt_goalies.s",
      "line_needle": "reach:",
      "offset": "0x2FF354",
      "before": "0C 78 00 0F B7 62 4E F9 00 01 50 3A",
      "after": "4E F9 00 22 10 04 4E 71 4E 71 4E 71"
    },
    {
      "title": "Native first-save catch/rebound choice",
      "address": 87548,
      "size": 8,
      "source": "experimental/alt_goalies.s",
      "line_needle": "decision:",
      "offset": "0x0155FC",
      "before": "B0 78 B7 72 6D 00 FF 58",
      "after": "4E F9 00 22 10 08 4E 71"
    },
    {
      "title": "Bounded optional rebound velocity",
      "address": 87424,
      "size": 8,
      "source": "experimental/alt_goalies.s",
      "line_needle": "velocity:",
      "offset": "0x015580",
      "before": "17 40 00 28 17 41 00 2A",
      "after": "4E B9 00 22 10 0C 4E 71"
    },
    {
      "title": "Actual accepted possession invalidates shot provenance",
      "address": 86664,
      "size": 8,
      "source": "experimental/alt_goalies.s",
      "line_needle": "accepted_pickup:",
      "offset": "0x015288",
      "before": "30 2A 00 52 31 C0 B7 AA",
      "after": "4E B9 00 22 10 24 4E 71"
    },
    {
      "title": "Normal goal same-shot SOG filter dispatch",
      "address": 2802394,
      "size": 6,
      "source": "experimental/alt_goalies.s",
      "line_needle": "filter_sog:",
      "offset": "0x2AC2DA",
      "before": "FF FF FF FF FF FF",
      "after": "4E F9 00 22 10 20"
    },
    {
      "title": "Alt Goalies ten fixed exports",
      "address": 2232320,
      "size": 40,
      "source": "experimental/alt_goalies.s",
      "line_needle": "_start:",
      "offset": "0x221000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 64 60 00 01 1A 60 00 01 CA 60 00 02 D8 60 00 03 E0 60 00 04 20 60 00 04 60 60 00 01 5A 60 00 04 7E 60 00 05 3C"
    },
    {
      "title": "Alt Goalies menu label",
      "address": 3019600,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Alt Goalies  ",
      "offset": "0x2E1350",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 41 6C 74 20 47 6F 61 6C 69 65 73 20 20 00"
    },
    {
      "title": "Optional OT shootout eight fixed exports",
      "address": 2236416,
      "size": 32,
      "source": "experimental/strict_so.s",
      "line_needle": "_start:",
      "offset": "0x222000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 01 4E 60 00 02 7C 60 00 02 E2 60 00 02 B2 60 00 03 B4 60 00 03 F2 60 00 04 32 60 00 01 DE"
    },
    {
      "title": "Permanent On overtime-shootout load entry; menu row hidden",
      "address": 2236432,
      "size": 4,
      "source": "experimental/strict_so.s",
      "line_needle": "load:",
      "offset": "0x222010",
      "before": "FF FF FF FF",
      "after": "60 00 03 B4"
    },
    {
      "title": "Capture actual eligible rosters before lineup reset",
      "address": 2801862,
      "size": 6,
      "source": "experimental/shootout.s",
      "line_needle": "jsr 0x222000",
      "offset": "0x2AC0C6",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 20 00"
    },
    {
      "title": "Native setup with optional actual bench roster",
      "address": 2802114,
      "size": 6,
      "source": "experimental/shootout.s",
      "line_needle": "jmp 0x222004",
      "offset": "0x2AC1C2",
      "before": "FF FF FF FF FF FF",
      "after": "4E F9 00 22 20 04"
    },
    {
      "title": "Post-blue strict full-body turn observer",
      "address": 2993000,
      "size": 6,
      "source": "experimental/shootout_rules.s",
      "line_needle": "jsr 0x222008",
      "offset": "0x2DAB68",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 20 08"
    },
    {
      "title": "Reset per-attempt full-angle history",
      "address": 2992736,
      "size": 6,
      "source": "experimental/shootout_rules.s",
      "line_needle": "jsr 0x22200C",
      "offset": "0x2DAA60",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 20 0C"
    },
    {
      "title": "Native ordinary shot commitment / optional Hard deferral",
      "address": 58386,
      "size": 6,
      "source": "experimental/shot_plan.s",
      "line_needle": "commit:",
      "offset": "0x00E412",
      "before": "58 4F 30 38 B7 5E",
      "after": "4E F9 00 22 30 00"
    },
    {
      "title": "Native carrier target / optional lateral approach",
      "address": 57612,
      "size": 10,
      "source": "experimental/shot_plan.s",
      "line_needle": "target:",
      "offset": "0x00E10C",
      "before": "41 FA 00 1E 08 38 00 02 C2 F2",
      "after": "4E F9 00 22 30 04 4E 71 4E 71"
    },
    {
      "title": "AI Shot Plan eight fixed exports",
      "address": 2240512,
      "size": 32,
      "source": "experimental/shot_plan.s",
      "line_needle": "_start:",
      "offset": "0x223000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 01 EE 60 00 02 88 60 00 01 A6 60 00 00 D8 60 00 03 8A 60 00 03 C2 60 00 04 02 60 00 03 50"
    },
    {
      "title": "AI Shot Plan menu label",
      "address": 3019616,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "AI Shot Plan ",
      "offset": "0x2E1360",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 41 49 20 53 68 6F 74 20 50 6C 61 6E 20 00"
    },
    {
      "title": "AI Shot Plan Off/On value strings",
      "address": 3020150,
      "size": 44,
      "source": "experimental/replaymenu.py",
      "line_needle": "if with_ai_shot_plan:",
      "offset": "0x2E1576",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 16 4F 66 66 20 53 6D 61 72 74 65 72 20 48 61 72 64 20 41 49 20 00 16 4F 6E 20 53 6D 61 72 74 65 72 20 48 61 72 64 20 41 49 20 20"
    },
    {
      "title": "Load independent shot plan after mapped context",
      "address": 3042116,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x223010",
      "offset": "0x2E6B44",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 30 10"
    },
    {
      "title": "Save independent shot plan record",
      "address": 3042278,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x223014",
      "offset": "0x2E6BE6",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 30 14"
    },
    {
      "title": "Load shot plan after destination slot identity",
      "address": 2794034,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "jsr 0x223010",
      "offset": "0x2AA232",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 30 10"
    },
    {
      "title": "Reset only confirmed selected shot plan season",
      "address": 2794464,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "jsr 0x223018",
      "offset": "0x2AA3E0",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 30 18"
    },
    {
      "title": "Optional painted-dot final stoppage point",
      "address": 75098,
      "size": 8,
      "source": "experimental/faceoff_dots.s",
      "line_needle": "commit:",
      "offset": "0x01255A",
      "before": "61 00 00 22 42 78 C3 E6",
      "after": "4E B9 00 22 40 00 4E 71"
    },
    {
      "title": "Faceoff Dots five fixed exports",
      "address": 2244608,
      "size": 20,
      "source": "experimental/faceoff_dots.s",
      "line_needle": "_start:",
      "offset": "0x224000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 12 60 00 00 54 60 00 01 12 60 00 01 4C 60 00 01 8C"
    },
    {
      "title": "Permanent On painted-dot load entry; menu row hidden",
      "address": 2244616,
      "size": 4,
      "source": "experimental/faceoff_dots.s",
      "line_needle": "load:",
      "offset": "0x224008",
      "before": "FF FF FF FF",
      "after": "60 00 01 12"
    },
    {
      "title": "Retained legacy dot value strings; not a current menu control",
      "address": 3020194,
      "size": 44,
      "source": "experimental/replaymenu.py",
      "line_needle": "if with_faceoff_dots:",
      "offset": "0x2E15A2",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 16 4F 66 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 16 4F 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20"
    },
    {
      "title": "Load dot policy after mapped context",
      "address": 3042110,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x224008",
      "offset": "0x2E6B3E",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 40 08"
    },
    {
      "title": "Save independent dot policy record",
      "address": 3042272,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x22400C",
      "offset": "0x2E6BE0",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 40 0C"
    },
    {
      "title": "Load dot policy after destination slot identity",
      "address": 2794028,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "jsr 0x224008",
      "offset": "0x2AA22C",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 40 08"
    },
    {
      "title": "Reset only confirmed selected dot-policy season",
      "address": 2794458,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "jsr 0x224010",
      "offset": "0x2AA3DA",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 40 10"
    },
    {
      "title": "Native receiver far/near/geometry exports",
      "address": 2248704,
      "size": 12,
      "source": "experimental/finisher_position.s",
      "line_needle": "_start:",
      "offset": "0x225000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 0A 60 00 01 B4 60 00 00 6C"
    },
    {
      "title": "Independent Momentum record and percentage exports",
      "address": 2252800,
      "size": 28,
      "source": "experimental/momentum.s",
      "line_needle": "_start:",
      "offset": "0x226000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 3A 60 00 00 6C 60 00 00 AC 60 00 00 C4 60 00 00 F8 60 00 01 04 60 00 01 10"
    },
    {
      "title": "Lower-left panel ownership/layout exports",
      "address": 2256896,
      "size": 20,
      "source": "experimental/shot_panel_left.s",
      "line_needle": "_start:",
      "offset": "0x227000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 01 78 60 00 00 0E 60 00 00 F2 60 00 01 2C 60 00 02 F2"
    },
    {
      "title": "Outward coast target and arrival-brake callback",
      "address": 2260992,
      "size": 78,
      "source": "experimental/defensive_brake.s",
      "line_needle": "_start:",
      "offset": "0x228000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "34 2B 00 2A 08 2B 00 07 00 62 66 02 44 42 4A 42 6F 1C 36 02 E0 43 C5 C2 48 42 02 82 00 00 FF FF C4 FC 00 11 84 FC 01 2C 94 43 6F 02 92 42 4E 75 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C 40 00 09 67 06 4E F9 00 00 E5 94 4E 75"
    },
    {
      "title": "Native shot presentation exports",
      "address": 3067904,
      "size": 24,
      "source": "experimental/shotmeter.s",
      "line_needle": "_start:",
      "offset": "0x2ED000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 40 60 00 05 88 60 00 06 64 60 00 03 8E 60 00 04 0C 60 00 02 16"
    },
    {
      "title": "Compact dual-unit font first glyph; full bank in byte diff",
      "address": 2490368,
      "size": 96,
      "source": "experimental/shot_panel_left.py",
      "line_needle": "def ",
      "offset": "0x260000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 33 34 34 34 34 34 34 34 34 34 33 44 34 34 34 44 34 34 33 44 34 34 34 34 33 34 34 34 44 44 44 44 34 34 34 34 33 34 34 34 33 34 34 34 34 34 33 34 34 34 34 34 34 34 34 34 34 34 34 34 44 44 44 44"
    },
    {
      "title": "Momentum menu label",
      "address": 3019632,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Momentum     ",
      "offset": "0x2E1370",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 4D 6F 6D 65 6E 74 75 6D 20 20 20 20 20 00"
    },
    {
      "title": "Momentum On/Off menu values",
      "address": 3020238,
      "size": 44,
      "source": "experimental/replaymenu.py",
      "line_needle": "for v in (b'On',b'Off')",
      "offset": "0x2E15CE",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 16 4F 6E 20 7E 31 30 20 25 20 53 74 61 74 73 20 20 20 20 20 20 00 16 4F 66 66 20 7E 31 30 20 25 20 53 74 61 74 73 20 20 20 20 20"
    },
    {
      "title": "Extended final value row",
      "address": 1014596,
      "size": 2,
      "source": "experimental/replaymenu.py",
      "line_needle": "patch(0xF7B44",
      "offset": "0x0F7B44",
      "before": "00 14",
      "after": "00 32"
    },
    {
      "title": "Far native pass receiver positioning",
      "address": 3003042,
      "size": 6,
      "source": "experimental/ai_playbook.s",
      "line_needle": "jsr 0x225000",
      "offset": "0x2DD2A2",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 50 00"
    },
    {
      "title": "Near native receiver target refresh",
      "address": 3003062,
      "size": 6,
      "source": "experimental/ai_playbook.s",
      "line_needle": "jsr 0x225004",
      "offset": "0x2DD2B6",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 50 04"
    },
    {
      "title": "Containment remaining outward coast",
      "address": 2998622,
      "size": 6,
      "source": "experimental/ai_gap.s",
      "line_needle": "jsr 0x228000",
      "offset": "0x2DC15E",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 80 00"
    },
    {
      "title": "Containing-back arrival callback",
      "address": 2998628,
      "size": 6,
      "source": "experimental/ai_gap.s",
      "line_needle": "lea 0x228040",
      "offset": "0x2DC164",
      "before": "FF FF FF FF FF FF",
      "after": "41 F9 00 22 80 40"
    },
    {
      "title": "Disabled momentum consumes actual counters",
      "address": 3015220,
      "size": 6,
      "source": "experimental/crowd.s",
      "line_needle": "jsr 0x22600C",
      "offset": "0x2E0234",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 0C"
    },
    {
      "title": "Effective critical-roll percentage gate",
      "address": 3014732,
      "size": 6,
      "source": "experimental/crowd.s",
      "line_needle": "jsr 0x226010",
      "offset": "0x2E004C",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 10"
    },
    {
      "title": "Effective roster/critical-show percentage gates 1",
      "address": 3014868,
      "size": 6,
      "source": "experimental/crowd.s",
      "line_needle": "jsr 0x226014",
      "offset": "0x2E00D4",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 14"
    },
    {
      "title": "Effective roster/critical-show percentage gates 2",
      "address": 3014968,
      "size": 6,
      "source": "experimental/crowd.s",
      "line_needle": "jsr 0x226014",
      "offset": "0x2E0138",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 14"
    },
    {
      "title": "Effective loaded-attribute percentage gate",
      "address": 3016056,
      "size": 6,
      "source": "experimental/crowd.s",
      "line_needle": "jsr 0x226018",
      "offset": "0x2E0578",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 18"
    },
    {
      "title": "Load Momentum after mapped preferences",
      "address": 3042104,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x226000",
      "offset": "0x2E6B38",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 00"
    },
    {
      "title": "Save separate Momentum preference",
      "address": 3042266,
      "size": 6,
      "source": "experimental/pass_mode.s",
      "line_needle": "jsr 0x226004",
      "offset": "0x2E6BDA",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 04"
    },
    {
      "title": "Load Momentum after destination identity",
      "address": 2794022,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "jsr 0x226000",
      "offset": "0x2AA226",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 00"
    },
    {
      "title": "Reset selected Momentum season only",
      "address": 2794452,
      "size": 6,
      "source": "season/slots.s",
      "line_needle": "jsr 0x226008",
      "offset": "0x2AA3D4",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 60 08"
    },
    {
      "title": "Quickgame ten fixed exports",
      "address": 2265088,
      "size": 40,
      "source": "experimental/quickgame.s",
      "line_needle": "_start:",
      "offset": "0x229000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 72 60 00 00 92 60 00 00 A4 60 00 00 F2 60 00 01 C0 60 00 01 CE 60 00 01 D8 60 00 01 EC 60 00 02 9E 60 00 02 A4"
    },
    {
      "title": "Human-only native side commit",
      "address": 3056658,
      "size": 6,
      "source": "experimental/mtap.s",
      "line_needle": "jsr 0x22900C",
      "offset": "0x2EA412",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 90 0C"
    },
    {
      "title": "Quickgame match-end season isolation",
      "address": 31790,
      "size": 6,
      "source": "experimental/quickgame.s",
      "line_needle": "gameend:",
      "offset": "0x007C2E",
      "before": "4E B9 00 0F F8 8E",
      "after": "4E B9 00 22 90 10"
    },
    {
      "title": "Physical P3/P4 human demo-exit guard",
      "address": 31848,
      "size": 6,
      "source": "experimental/quickgame.s",
      "line_needle": "demo_gate:",
      "offset": "0x007C68",
      "before": "4E B9 00 01 13 40",
      "after": "4E B9 00 22 90 24"
    },
    {
      "title": "Native Quickgame prelist dispatch",
      "address": 78132,
      "size": 6,
      "source": "experimental/quickgame.s",
      "line_needle": "prelist_gate:",
      "offset": "0x013134",
      "before": "41 FA 00 96 20 70",
      "after": "4E B9 00 22 90 18"
    },
    {
      "title": "Quickgame season-table suppression",
      "address": 95030,
      "size": 6,
      "source": "experimental/quickgame.s",
      "line_needle": "table_gate:",
      "offset": "0x017336",
      "before": "4A 78 D0 48 67 00",
      "after": "4E F9 00 22 90 14"
    },
    {
      "title": "Quickgame physical shootout-pool preparation",
      "address": 62080,
      "size": 6,
      "source": "experimental/quickgame.s",
      "line_needle": "attempt_gate:",
      "offset": "0x00F280",
      "before": "31 FC 01 90 C3 1A",
      "after": "4E B9 00 22 90 20"
    },
    {
      "title": "Relocated season menu legacy entry bridges",
      "address": 3119104,
      "size": 16,
      "source": "season/seasonmenu.s",
      "line_needle": "_start:",
      "offset": "0x2F9800",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "4E F9 00 22 A0 00 FF FF 4E F9 00 22 A0 08 FF FF"
    },
    {
      "title": "Relocated menu entry and writer",
      "address": 2269184,
      "size": 16,
      "source": "season/seasonmenu.s",
      "line_needle": "_start:",
      "offset": "0x22A000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "61 00 00 D6 60 00 02 F6 4A 47 66 04 60 00 05 EE"
    },
    {
      "title": "Filtered Quickgame native list pointers",
      "address": 2273280,
      "size": 40,
      "source": "experimental/build_test.py",
      "line_needle": "quickgame",
      "offset": "0x22B000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 22 B0 28 00 22 B0 AC 00 22 B1 D8 00 22 B3 04 00 22 B4 30 00 22 B5 14 00 22 B5 B0 00 22 B6 DC 00 22 B8 08 00 22 B9 34"
    },
    {
      "title": "Allstar fixed exports",
      "address": 2277376,
      "size": 80,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x22C000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 4E 60 00 00 76 60 00 00 8C 60 00 00 B0 60 00 00 D4 60 00 00 F8 60 00 01 1C 60 00 01 40 60 00 01 6A 60 00 01 C2 60 00 01 C6 60 00 01 CA 60 00 01 CE 60 00 01 D4 60 00 01 DA 60 00 01 DE 60 00 01 E4 60 00 01 74 60 00 01 E6 60 00 02 C8"
    },
    {
      "title": "Allstar native dispatch F8A3E",
      "address": 1018430,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0F8A3E",
      "before": "24 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 10"
    },
    {
      "title": "Allstar native dispatch F99F8",
      "address": 1022456,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0F99F8",
      "before": "24 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 10"
    },
    {
      "title": "Allstar native dispatch F9A2C",
      "address": 1022508,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0F9A2C",
      "before": "2A 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 14"
    },
    {
      "title": "Allstar native dispatch FA370",
      "address": 1024880,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FA370",
      "before": "24 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 10"
    },
    {
      "title": "Allstar native dispatch FA888",
      "address": 1026184,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FA888",
      "before": "20 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 08"
    },
    {
      "title": "Allstar native dispatch FA952",
      "address": 1026386,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FA952",
      "before": "20 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 08"
    },
    {
      "title": "Allstar native dispatch FAE56",
      "address": 1027670,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FAE56",
      "before": "20 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 08"
    },
    {
      "title": "Allstar native dispatch FB152",
      "address": 1028434,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FB152",
      "before": "22 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 0C"
    },
    {
      "title": "Allstar native dispatch FC58C",
      "address": 1033612,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FC58C",
      "before": "22 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 0C"
    },
    {
      "title": "Allstar native dispatch FC600",
      "address": 1033728,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FC600",
      "before": "22 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 0C"
    },
    {
      "title": "Allstar native dispatch FCC62",
      "address": 1035362,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FCC62",
      "before": "22 7C 00 00 03 0E",
      "after": "4E B9 00 22 C0 0C"
    },
    {
      "title": "Allstar native dispatch 8078",
      "address": 32888,
      "size": 8,
      "source": "experimental/allstar.s",
      "line_needle": "team_title:",
      "offset": "0x008078",
      "before": "48 E7 E0 C0 3F 38 BF 78",
      "after": "4E F9 00 22 C0 48 4E 71"
    },
    {
      "title": "Allstar native dispatch 8250",
      "address": 33360,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x008250",
      "before": "32 7C 03 0E E5 40",
      "after": "4E B9 00 22 C0 28"
    },
    {
      "title": "Allstar native dispatch 1345E",
      "address": 78942,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x01345E",
      "before": "32 7C 03 0E E5 40",
      "after": "4E B9 00 22 C0 28"
    },
    {
      "title": "Allstar native dispatch 171C2",
      "address": 94658,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0171C2",
      "before": "30 7C 03 0E E5 40",
      "after": "4E B9 00 22 C0 24"
    },
    {
      "title": "Allstar native dispatch F7C7C",
      "address": 1014908,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0F7C7C",
      "before": "32 7C 03 0E E5 43",
      "after": "4E B9 00 22 C0 2C"
    },
    {
      "title": "Allstar native dispatch 132E4",
      "address": 78564,
      "size": 8,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0132E4",
      "before": "32 7C 03 0E 22 71 00 00",
      "after": "4E B9 00 22 C0 30 4E 71"
    },
    {
      "title": "Allstar native dispatch 1330A",
      "address": 78602,
      "size": 8,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x01330A",
      "before": "32 7C 03 0E 22 71 10 00",
      "after": "4E B9 00 22 C0 34 4E 71"
    },
    {
      "title": "Allstar native dispatch 17C1E",
      "address": 97310,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x017C1E",
      "before": "30 7C 03 0E 30 12",
      "after": "4E B9 00 22 C0 38"
    },
    {
      "title": "Allstar native dispatch F8948",
      "address": 1018184,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0F8948",
      "before": "20 7C 00 00 03 8E",
      "after": "4E B9 00 22 C0 18"
    },
    {
      "title": "Allstar native dispatch FAE2A",
      "address": 1027626,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x0FAE2A",
      "before": "20 7C 00 00 03 8E",
      "after": "60 3C 4E 71 4E 71"
    },
    {
      "title": "Allstar native dispatch 2FF422",
      "address": 3142690,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x2FF422",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 C0 1C"
    },
    {
      "title": "Allstar native dispatch 2FF4A0",
      "address": 3142816,
      "size": 8,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x2FF4A0",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 22 C0 3C 4E 71"
    },
    {
      "title": "Allstar native dispatch 2220D6",
      "address": 2236630,
      "size": 8,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x2220D6",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 22 C0 40 4E 71"
    },
    {
      "title": "Allstar native dispatch 2220E2",
      "address": 2236642,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x2220E2",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 C0 20"
    },
    {
      "title": "Allstar native dispatch 2D8CD6",
      "address": 2985174,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x2D8CD6",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 C0 20"
    },
    {
      "title": "Allstar native dispatch 2DF452",
      "address": 3011666,
      "size": 6,
      "source": "experimental/allstar.s",
      "line_needle": "_start:",
      "offset": "0x2DF452",
      "before": "FF FF FF FF FF FF",
      "after": "4E B9 00 22 C0 44"
    },
    {
      "title": "Allstar native displayed team overall",
      "address": 1040754,
      "size": 8,
      "source": "experimental/allstar.s",
      "line_needle": "team_overall:",
      "offset": "0x0FE172",
      "before": "48 E7 7F FE 30 2A 00 28",
      "after": "4E F9 00 22 C0 4C 4E 71"
    },
    {
      "title": "Allstar A own home/away uniform palettes",
      "address": 2281484,
      "size": 64,
      "source": "experimental/allstar.py",
      "line_needle": "shades=",
      "offset": "0x22D00C",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "0E EA 06 66 00 00 00 00 00 00 02 22 06 8C 08 8C 00 00 00 00 02 22 00 00 02 22 00 00 04 44 0A A6 0E EA 06 66 00 00 00 00 00 00 02 22 06 8C 08 8C 00 00 00 00 02 22 00 00 02 22 00 00 04 44 0A A6"
    },
    {
      "title": "Allstar B own home/away uniform palettes",
      "address": 2283532,
      "size": 64,
      "source": "experimental/allstar.py",
      "line_needle": "shades=",
      "offset": "0x22D80C",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "0E EA 06 66 00 00 00 0E 00 06 00 0A 06 8C 08 8C 00 0E 00 0E 00 0A 00 06 00 0E 00 06 00 0E 0A A6 0E EA 06 66 00 00 00 0E 00 06 00 0A 06 8C 08 8C 00 0E 00 0E 00 0A 00 06 00 0E 00 06 00 0E 0A A6"
    },
    {
      "title": "Allstar selected-roster team-overall data",
      "address": 2280808,
      "size": 4,
      "source": "experimental/allstar.py",
      "line_needle": "put(UIDS,uids)",
      "offset": "0x22CD68",
      "before": "FF FF FF FF",
      "after": "00 52 00 52"
    },
    {
      "title": "Automatic replay title/capture exports",
      "address": 3063808,
      "size": 8,
      "source": "experimental/replaytitle.s",
      "line_needle": "_start:",
      "offset": "0x2EC000",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "60 00 00 0E 60 00 00 C8"
    },
    {
      "title": "Automatic replay lifecycle",
      "address": 3035136,
      "size": 12,
      "source": "experimental/replay.s",
      "line_needle": "_start:",
      "offset": "0x2E5000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 0A 60 00 00 96 60 00 01 14"
    },
    {
      "title": "Compact/powerplay shot layout exports",
      "address": 2256896,
      "size": 20,
      "source": "experimental/shot_panel_left.s",
      "line_needle": "_start:",
      "offset": "0x227000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 01 78 60 00 00 0E 60 00 00 F2 60 00 01 2C 60 00 02 F2"
    },
    {
      "title": "Quickgame/Allstar side-policy exports",
      "address": 2265088,
      "size": 40,
      "source": "experimental/quickgame.s",
      "line_needle": "_start:",
      "offset": "0x229000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 72 60 00 00 92 60 00 00 A4 60 00 00 F2 60 00 01 C0 60 00 01 CE 60 00 01 D8 60 00 01 EC 60 00 02 9E 60 00 02 A4"
    },
    {
      "title": "Separate menu background native code",
      "address": 3055616,
      "size": 32,
      "source": "experimental/menubg.s",
      "line_needle": "_start:",
      "offset": "0x2EA000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "33 C4 00 FF D4 32 06 44 00 24 48 E7 FF F8 20 79 00 02 C7 08 43 F9 00 FF D3 D4 76 07 B1 D1 6F 10"
    },
    {
      "title": "Requested P3 neon green fixed palette",
      "address": 366938,
      "size": 2,
      "source": "experimental/pad_colors.py",
      "line_needle": "def install",
      "offset": "0x05995A",
      "before": "00 20",
      "after": "00 E0"
    },
    {
      "title": "Supplied menu78 image header",
      "address": 2359296,
      "size": 38,
      "source": "experimental/build_test.py",
      "line_needle": "menu_picture=",
      "offset": "0x240000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 00 00 00 02 22 04 44 06 66 08 88 0A AA 0C CC 0E EE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 1C 00 01"
    },
    {
      "title": "Transferred native roster getter 0x17102",
      "address": 94466,
      "size": 12,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x17102",
      "offset": "0x017102",
      "before": "3F 38 C6 F4 3F 38 CA 58 48 E7 00 70",
      "after": "4E F9 00 23 60 00 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x9f40",
      "address": 40768,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x9F40",
      "offset": "0x009F40",
      "before": "48 E7 40 80 20 6A 00 1E",
      "after": "4E F9 00 23 60 10 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x9f5c",
      "address": 40796,
      "size": 6,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x9F5C",
      "offset": "0x009F5C",
      "before": "48 E7 00 80 61 DE",
      "after": "4E F9 00 23 60 14"
    },
    {
      "title": "Transferred native roster getter 0x9f7e",
      "address": 40830,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x9F7E",
      "offset": "0x009F7E",
      "before": "48 E7 00 80 20 6A 00 1E",
      "after": "4E F9 00 23 60 18 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x9f9a",
      "address": 40858,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x9F9A",
      "offset": "0x009F9A",
      "before": "48 E7 00 80 20 6A 00 1E",
      "after": "4E F9 00 23 60 1C 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfaa3e",
      "address": 1026622,
      "size": 10,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFAA3E",
      "offset": "0x0FAA3E",
      "before": "D0 D0 D0 D0 50 48 51 C8 FF FA",
      "after": "4E B9 00 23 60 20 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x18bc8",
      "address": 101320,
      "size": 6,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x18BC8",
      "offset": "0x018BC8",
      "before": "20 6A 00 1E D0 D0",
      "after": "4E F9 00 23 60 24"
    },
    {
      "title": "Transferred native roster getter 0xfae26",
      "address": 1027622,
      "size": 10,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFAE26",
      "offset": "0x0FAE26",
      "before": "48 E7 FF 7E 20 7C 00 00 03 8E",
      "after": "4E F9 00 23 60 3C 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xf894e",
      "address": 1018190,
      "size": 14,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xF894E",
      "offset": "0x0F894E",
      "before": "20 70 00 00 31 F0 30 04 D4 34 20 70 30 00",
      "after": "4E B9 00 23 60 40 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xf8906",
      "address": 1018118,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xF8906",
      "offset": "0x0F8906",
      "before": "0C 79 00 1A FF FF D4 3E",
      "after": "4E B9 00 23 60 44 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xf8a46",
      "address": 1018438,
      "size": 22,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xF8A46",
      "offset": "0x0F8A46",
      "before": "24 72 00 00 D4 D2 30 38 D4 34 60 00 00 06 D4 D2 50 4A 51 C8 FF FA",
      "after": "4E B9 00 23 60 48 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x171ce",
      "address": 94670,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x171CE",
      "offset": "0x0171CE",
      "before": "4A 78 D0 58 67 00 00 20",
      "after": "4E F9 00 23 60 4C 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xf71fc",
      "address": 1012220,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xF71FC",
      "offset": "0x0F71FC",
      "before": "20 68 00 1E D0 E8 00 06",
      "after": "4E B9 00 23 60 50 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfafe4",
      "address": 1028068,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFAFE4",
      "offset": "0x0FAFE4",
      "before": "20 68 00 1E D0 E8 00 06",
      "after": "4E B9 00 23 60 50 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfd492",
      "address": 1037458,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFD492",
      "offset": "0x0FD492",
      "before": "20 68 00 1E D0 E8 00 06",
      "after": "4E B9 00 23 60 50 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x15b9a",
      "address": 88986,
      "size": 12,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x15B9A",
      "offset": "0x015B9A",
      "before": "D0 D0 D0 D0 50 48 51 CB FF FA 51 48",
      "after": "4E B9 00 23 60 54 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x96da",
      "address": 38618,
      "size": 18,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x96DA",
      "offset": "0x0096DA",
      "before": "22 6A 00 1E D2 D1 32 00 51 49 50 49 D2 D1 51 C9 FF FA",
      "after": "4E B9 00 23 60 58 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x9ee8",
      "address": 40680,
      "size": 22,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x9EE8",
      "offset": "0x009EE8",
      "before": "22 6A 00 1E D2 D1 34 00 53 42 60 00 00 06 D2 D1 50 49 51 CA FF FA",
      "after": "4E B9 00 23 60 5C 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x12e24",
      "address": 77348,
      "size": 16,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x12E24",
      "offset": "0x012E24",
      "before": "22 6A 00 1E D2 D1 E2 48 D2 D1 50 49 51 C8 FF FA",
      "after": "4E B9 00 23 60 60 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0x17986",
      "address": 96646,
      "size": 18,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0x17986",
      "offset": "0x017986",
      "before": "22 69 00 1E D2 D1 60 00 00 06 D2 D1 50 49 51 C9 FF FA",
      "after": "4E B9 00 23 60 64 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfaca8",
      "address": 1027240,
      "size": 24,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFACA8",
      "offset": "0x0FACA8",
      "before": "20 68 00 1E 32 10 48 C1 D1 C1 32 10 48 C1 D1 C1 50 88 51 C8 FF F6 51 88",
      "after": "4E B9 00 23 60 68 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xee82",
      "address": 61058,
      "size": 8,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xEE82",
      "offset": "0x00EE82",
      "before": "0C 52 00 02 67 00 00 C4",
      "after": "4E F9 00 23 60 6C 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xf9a04",
      "address": 1022468,
      "size": 16,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xF9A04",
      "offset": "0x0F9A04",
      "before": "D4 D2 30 01 60 00 00 06 D4 D2 50 4A 51 C8 FF FA",
      "after": "4E B9 00 23 60 70 4E 71 4E 71 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfa382",
      "address": 1024898,
      "size": 12,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFA382",
      "offset": "0x0FA382",
      "before": "60 00 00 06 D4 D2 50 4A 51 C8 FF FA",
      "after": "4E B9 00 23 60 74 4E 71 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfa95e",
      "address": 1026398,
      "size": 10,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFA95E",
      "offset": "0x0FA95E",
      "before": "20 50 34 28 00 06 48 C2 D1 C2",
      "after": "4E B9 00 23 60 88 4E 71 4E 71"
    },
    {
      "title": "Transferred native roster getter 0xfab7c",
      "address": 1026940,
      "size": 10,
      "source": "experimental/transfers.py",
      "line_needle": "hook(0xFAB7C",
      "offset": "0x0FAB7C",
      "before": "3F 00 4E B9 00 00 9F 5C B0 57",
      "after": "4E F9 00 23 60 8C 4E 71 4E 71"
    },
    {
      "title": "Preseason price/CRC/validation/load/save/transaction exports",
      "address": 2310144,
      "size": 36,
      "source": "experimental/transfers.s",
      "line_needle": "_start:",
      "offset": "0x234000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 22 60 00 00 5C 60 00 00 64 60 00 00 EE 60 00 00 F4 60 00 03 B4 60 00 04 94 60 00 04 E6 60 00 05 A8"
    },
    {
      "title": "Transferred native player/cache getter exports",
      "address": 2318336,
      "size": 144,
      "source": "experimental/transfers_runtime.s",
      "line_needle": "_start:",
      "offset": "0x236000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 EE 60 00 01 CE 60 00 02 5E 60 00 00 82 60 00 02 C8 60 00 03 06 60 00 03 48 60 00 03 90 60 00 03 CE 60 00 04 0A 60 00 00 DC 60 00 04 3E 60 00 04 6A 60 00 04 96 60 00 04 D6 60 00 05 14 60 00 05 76 60 00 05 E2 60 00 06 2A 60 00 06 7C 60 00 08 44 60 00 08 62 60 00 08 AA 60 00 08 FC 60 00 09 50 60 00 09 A4 60 00 09 E6 60 00 0A 40 60 00 0A 92 60 00 0A E0 60 00 0B E0 60 00 0B 28 60 00 0B 10 60 00 0B 54 60 00 0C 28 60 00 0C 58"
    },
    {
      "title": "Actual OVR-sorted buy/sell/Ready modal",
      "address": 2424832,
      "size": 4,
      "source": "experimental/transfers_ui.s",
      "line_needle": "_start:",
      "offset": "0x250000",
      "before": "FF FF FF FF",
      "after": "60 00 00 0A"
    },
    {
      "title": "Transfers preference persistence and played-season locks",
      "address": 2441216,
      "size": 24,
      "source": "experimental/transfers_menu.s",
      "line_needle": "_start:",
      "offset": "0x254000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 06 60 00 00 C6 40 E7 48 E7 FF FE 42 78 F8 5C 4A 78 F0 6C 67 00"
    },
    {
      "title": "Atomic selected-season reset journal",
      "address": 2449408,
      "size": 16,
      "source": "experimental/transfers_reset.s",
      "line_needle": "_start:",
      "offset": "0x256000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 16 60 00 00 20 60 00 00 54 60 00 01 02"
    },
    {
      "title": "Uniform OVR display projection",
      "address": 2341376,
      "size": 32,
      "source": "experimental/transfers.py",
      "line_needle": "display_order=",
      "offset": "0x23BA00",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 A5 01 BA 01 11 02 8B 02 96 00 87 03 0D 02 FB 02 4C 00 36 00 D0 00 CF 01 FE 02 3F 02 57 00 A7"
    },
    {
      "title": "Current human/Allstar CPU policy exports",
      "address": 2265088,
      "size": 40,
      "source": "experimental/quickgame.s",
      "line_needle": "_start:",
      "offset": "0x229000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 72 60 00 00 92 60 00 00 A4 60 00 00 F2 60 00 01 C0 60 00 01 CE 60 00 01 D8 60 00 01 EC 60 00 02 9E 60 00 02 A4"
    },
    {
      "title": "Units/glass/pass gauge/line-pool preferences",
      "address": 2457600,
      "size": 28,
      "source": "experimental/refinements.s",
      "line_needle": "_start:",
      "offset": "0x258000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 40 60 00 00 90 60 00 00 C4 60 00 4D F2 60 00 01 44 60 00 02 50 60 00 03 60"
    },
    {
      "title": "Momentum bars below actual team names",
      "address": 2461696,
      "size": 12,
      "source": "experimental/compact_momentum.s",
      "line_needle": "_start:",
      "offset": "0x259000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 0A 60 00 02 12 60 00 01 A6"
    },
    {
      "title": "Consistent menu controls and crisp native footer",
      "address": 2469888,
      "size": 84,
      "source": "experimental/menu_ui.s",
      "line_needle": "_start:",
      "offset": "0x25B000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 52 60 00 00 AE 60 00 00 C2 60 00 00 EE 60 00 00 F4 60 00 01 12 60 00 00 CA 60 00 01 14 60 00 01 38 60 00 01 48 60 00 03 5A 60 00 03 CC 60 00 01 14 60 00 03 E2 60 00 04 82 60 00 05 92 60 00 05 A4 60 00 05 B6 60 00 08 1E 60 00 05 C4 60 00 04 58"
    },
    {
      "title": "Framed native powerplay draw/clear",
      "address": 3001344,
      "size": 8,
      "source": "experimental/pwrplay_clear.s",
      "line_needle": "_start:",
      "offset": "0x2DCC00",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "60 00 00 06 60 00 00 5A"
    },
    {
      "title": "Genuine friendly native B24 receiver admission",
      "address": 2250752,
      "size": 12,
      "source": "experimental/friendly_reception.s",
      "line_needle": "_start:",
      "offset": "0x225800",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 0A 60 00 01 34 60 00 01 76"
    },
    {
      "title": "Five native warning beeps at40seconds",
      "address": 6496,
      "size": 92,
      "source": "experimental/build_test.py",
      "line_needle": "0x1960",
      "offset": "0x001960",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 C0 1D 00 00 C1 1D 00 00 90 51 7F 00 91 51 28 0A 80 51 00 00 81 51 00 08 90 51 7F 00 91 51 28 0A 80 51 00 00 81 51 00 08 90 51 7F 00 91 51 28 0A 80 51 00 00 81 51 00 08 90 51 7F 00 91 51 28 0A 80 51 00 00 81 51 00 08 90 51 7F 00 91 51 28 0A 80 51 00 00 81 51 00 00 00 FF FF"
    },
    {
      "title": "Unsigned32 transfer dollar formatter; internal units unchanged",
      "address": 2424836,
      "size": 4,
      "source": "experimental/transfers_ui.s",
      "line_needle": "D1=payload length returned",
      "offset": "0x250004",
      "before": "FF FF FF FF",
      "after": "60 00 08 36"
    },
    {
      "title": "Dense original-name position OVR dollar row",
      "address": 2424840,
      "size": 4,
      "source": "experimental/transfers_ui.s",
      "line_needle": "player_text:",
      "offset": "0x250008",
      "before": "FF FF FF FF",
      "after": "60 00 07 32"
    },
    {
      "title": "Centred native framed main-menu footer",
      "address": 2469924,
      "size": 4,
      "source": "experimental/menu_ui.s",
      "line_needle": "footer_main:",
      "offset": "0x25B024",
      "before": "FF FF FF FF",
      "after": "60 00 01 48"
    },
    {
      "title": "Transfer-modal dollar font guard",
      "address": 2457620,
      "size": 4,
      "source": "experimental/refinements.s",
      "line_needle": "plus_minus:",
      "offset": "0x258014",
      "before": "FF FF FF FF",
      "after": "60 00 02 50"
    },
    {
      "title": "Modal-owned native dollar glyph",
      "address": 2465824,
      "size": 32,
      "source": "experimental/refinement_font.py",
      "line_needle": "patch(GLYPH+32",
      "offset": "0x25A020",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 01 10 00 00 11 11 10 01 11 14 44 00 11 11 00 00 01 11 10 01 11 11 44 00 41 14 40 00 00 44 00"
    },
    {
      "title": "Transfers menu label directly below Icing",
      "address": 3019472,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "Transfers    ",
      "offset": "0x2E12D0",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 54 72 61 6E 73 66 65 72 73 20 20 20 20 00"
    },
    {
      "title": "Shot Units current menu label",
      "address": 3019648,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "b'Shot Units'",
      "offset": "0x2E1380",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 53 68 6F 74 20 55 6E 69 74 73 20 20 20 00"
    },
    {
      "title": "Fragile Glass current menu label",
      "address": 3019664,
      "size": 16,
      "source": "experimental/replaymenu.py",
      "line_needle": "b'Fragile Glass'",
      "offset": "0x2E1390",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "00 10 46 72 61 67 69 6C 65 20 47 6C 61 73 73 00"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0xf739e",
      "address": 1012638,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x0F739E",
      "before": "4E B9 00 0F E6 60",
      "after": "4E B9 00 25 C0 00"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0xf843e",
      "address": 1016894,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x0F843E",
      "before": "3F 38 D0 52 31 D7",
      "after": "4E F9 00 25 C0 04"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2340aa",
      "address": 2310314,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2340AA",
      "before": "FF FF FF FF FF FF",
      "after": "4E F9 00 25 C0 08"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x256250",
      "address": 2450000,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x256250",
      "before": "FF FF FF FF FF FF",
      "after": "4E F9 00 25 C0 0C"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x17c62",
      "address": 97378,
      "size": 10,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x017C62",
      "before": "52 78 B0 3E 4E B9 00 01 A5 0A",
      "after": "4E F9 00 25 C0 18 4E 71 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2aa698",
      "address": 2795160,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2AA698",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2aa6f2",
      "address": 2795250,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2AA6F2",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x22013e",
      "address": 2228542,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x22013E",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x221460",
      "address": 2233440,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x221460",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x222432",
      "address": 2237490,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x222432",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x223402",
      "address": 2241538,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x223402",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x224184",
      "address": 2244996,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x224184",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x22609c",
      "address": 2252956,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x22609C",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2de1c0",
      "address": 3006912,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2DE1C0",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2de50a",
      "address": 3007754,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2DE50A",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2de74a",
      "address": 3008330,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2DE74A",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2e6d52",
      "address": 3042642,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2E6D52",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2e84cc",
      "address": 3048652,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2E84CC",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2eb252",
      "address": 3060306,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2EB252",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2eb7ca",
      "address": 3061706,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2EB7CA",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 1C 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2aa562",
      "address": 2794850,
      "size": 10,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2AA562",
      "before": "FF FF FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 20 4E 71 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2aa57c",
      "address": 2794876,
      "size": 10,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2AA57C",
      "before": "FF FF FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 20 4E 71 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x25604c",
      "address": 2449484,
      "size": 10,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x25604C",
      "before": "FF FF FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 24 4E 71 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x25609e",
      "address": 2449566,
      "size": 10,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x25609E",
      "before": "FF FF FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 24 4E 71 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0x2aa434",
      "address": 2794548,
      "size": 8,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x2AA434",
      "before": "FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 C0 28 4E 71"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0xf832c",
      "address": 1016620,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x0F832C",
      "before": "4E B9 00 01 13 18",
      "after": "4E B9 00 25 C0 14"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0xf835c",
      "address": 1016668,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x0F835C",
      "before": "4E B9 00 01 13 18",
      "after": "4E B9 00 25 C0 14"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0xf8384",
      "address": 1016708,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x0F8384",
      "before": "4E B9 00 01 13 18",
      "after": "4E B9 00 25 C0 14"
    },
    {
      "title": "Main-menu guarded input/checksum/audio hook 0xf83a4",
      "address": 1016740,
      "size": 6,
      "source": "experimental/main_menu.py",
      "line_needle": "def install",
      "offset": "0x0F83A4",
      "before": "4E B9 00 01 13 18",
      "after": "4E B9 00 25 C0 14"
    },
    {
      "title": "Main-menu checksum/input/music helpers and full CCITT tables",
      "address": 2473984,
      "size": 2560,
      "source": "experimental/main_menu.s",
      "line_needle": "_start:",
      "offset": "0x25C000",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "60 00 00 2A 60 00 00 3E 60 00 00 4C 60 00 00 FE 4D 4D 30 31 60 00 01 8E 60 00 02 24 60 00 02 5E 60 00 02 FC 60 00 03 BE 60 00 04 80 4E B9 00 0F E6 60 40 E7 42 78 F9 34 21 FC 4D 4E B2 B1 F9 30 46 DF 4E 75 40 E7 42 78 F9 34 42 B8 F9 30 46 DF 4E F9 00 2E 60 00 0C B8 4D 4E B2 B1 F9 30 67 0C D0 C7 34 3C FF FF 4E F9 00 23 40 B0 D0 C7 34 3C 00 FF 3A 3C 00 FF 45 FA 07 88 43 FA 08 84 72 00 76 0E 12 10 D0 C7 38 02 B3 04 14 32 40 00 BB 02 1A 31 40 00 51 CB FF EC 36 07 E5 4B D0 C3 36 3C 01 FA 12 10 D0 C7 38 02 B3 04 14 32 40 00 BB 02 1A 31 40 00 12 10 D0 C7 38 02 B3 04 14 32 40 00 BB 02 1A 31 40 00 12 10 D0 C7 38 02 B3 04 14 32 40 00 BB 02 1A 31 40 00 12 10 D0 C7 38 02 B3 04 14 32 40 00 BB 02 1A 31 40 00 38 03 02 44 00 07 66 04 61 00 00 E6 51 CB FF AA 61 00 00 DE E1 4A 84 45 70 00 30 02 4E F9 00 23 40 E6 0C B8 4D 4E B2 B1 F9 30 67 0C 41 F9 00 20 A0 00 4E F9 00 25 62 56 48 E7 00 60 41 F9 00 20 A0 00 43 FA 06 D2 45 FA 07 CE 32 3C 00 FF 34 3C 00 FF 36 3C 07 FF 70 00 10 10 B3 00 12 31 00 00 B5 01 14 32 00 00 54 88 10 10 B3 00 12 31 00 00 B5 01 14 32 00 00 54 88 10 10 B3 00 12 31 00 00 B5 01 14 32 00 00 54 88 10 10 B3 00 12 31 00 00 B5 01 14 32 00 00 54 88 30 03 02 40 00 0F 66 04 61 00 00 4E 51 CB FF B2 61 00 00 46 E1 49 82 42 4C DF 06 00 4E F9 00 25 62 7A 4E B9 00 01 13 18 40 E7 2F 00 30 01 02 40 00 0F 67 1E 30 02 02 40 00 0F 67 10 30 03 02 40 00 0F 67 0E 31 FC 00 07 B0 42 60 06 31 FC 00 02 B0 42 20 1F 46 DF 4E 75 40 E7 00 7C 07 00 0C B8 4D 4E B2 B1 F9 30 66 50 0C B8 00 01 7C 42 B0 3A 66 46 2F 00 10 39 00 C0 00 08 0C 00 00 E0 65 32 4A 38 F9 34 67 06 4A 38 F9 35 66 2A 08 39 00 07 00 C0 00 05 67 20 50 F8 F9 34 50 F8 F9 35 52 78 B0 3E 48 E7 7F FE 4E B9 00 01 A5 0A 4C DF 7F FE 60 04 42 38 F9 34 20 1F 46 DF 4E 75 12 38 F9 34 42 38 F9 34 10 39 00 C0 00 08 0C 00 00 E0 65 04 50 F8 F9 34 4A 38 F9 35 67 10 42 38 F9 35 4A 38 F9 34 67 10 4A 01 67 02 60 0A 52 78 B0 3E 4E B9 00 01 A5 0A 4E F9 00 01 7C 6C 0C B8 4D 4E B2 B1 F9 30 67 0A D0 10 54 88 51 C9 FF FA 4E 75 48 E7 30 00 40 E7 74 00 34 01 52 82 26 02 E8 8A 02 43 00 0F 53 42 53 43 46 DF 4A 42 6B 00 00 4A D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 D0 10 54 88 61 00 FE E8 51 CA FF BA 40 E7 4A 43 6B 0C 54 8F D0 10 54 88 51 CB FF FA 60 02 46 DF 61 00 FE CC 40 E7 32 3C FF FF 46 DF 4C DF 00 0C 4E 75 0C B8 4D 4E B2 B1 F9 30 67 0C 12 90 54 88 54 89 51 C8 FF F8 4E 75 48 E7 60 00 40 E7 72 00 32 00 52 81 24 01 E8 89 02 42 00 0F 53 41 53 42 46 DF 4A 41 6B 00 00 6A 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 61 00 FE 24 51 C9 FF 9A 40 E7 4A 42 6B 0E 54 8F 12 90 54 88 54 89 51 CA FF F8 60 02 46 DF 61 00 FE 06 40 E7 30 3C FF FF 46 DF 4C DF 00 06 4E 75 0C B8 4D 4E B2 B1 F9 30 67 0C 12 90 54 88 54 89 51 CA FF F8 4E 75 48 E7 C0 00 40 E7 70 00 30 02 52 80 22 00 E8 88 02 41 00 0F 53 40 53 41 46 DF 4A 40 6B 00 00 6A 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 12 90 54 88 54 89 61 00 FD 5E 51 C8 FF 9A 40 E7 4A 41 6B 0E 54 8F 12 90 54 88 54 89 51 C9 FF F8 60 02 46 DF 61 00 FD 40 40 E7 34 3C FF FF 46 DF 4C DF 00 03 4E 75 0C B8 4D 4E B2 B1 F9 30 67 0A 42 10 54 88 51 C8 FF FA 4E 75 48 E7 60 00 40 E7 72 00 32 00 52 81 24 01 E8 89 02 42 00 0F 53 41 53 42 46 DF 4A 41 6B 00 00 4A 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 42 10 54 88 61 00 FC BA 51 C9 FF BA 40 E7 4A 42 6B 0C 54 8F 42 10 54 88 51 CA FF FA 60 02 46 DF 61 00 FC 9E 40 E7 30 3C FF FF 46 DF 4C DF 00 06 4E 75 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 20 30 40 50 60 70 81 91 A1 B1 C1 D1 E1 F1 12 02 32 22 52 42 72 62 93 83 B3 A3 D3 C3 F3 E3 24 34 04 14 64 74 44 54 A5 B5 85 95 E5 F5 C5 D5 36 26 16 06 76 66 56 46 B7 A7 97 87 F7 E7 D7 C7 48 58 68 78 08 18 28 38 C9 D9 E9 F9 89 99 A9 B9 5A 4A 7A 6A 1A 0A 3A 2A DB CB FB EB 9B 8B BB AB 6C 7C 4C 5C 2C 3C 0C 1C ED FD CD DD AD BD 8D 9D 7E 6E 5E 4E 3E 2E 1E 0E FF EF DF CF BF AF 9F 8F 91 81 B1 A1 D1 C1 F1 E1 10 00 30 20 50 40 70 60 83 93 A3 B3 C3 D3 E3 F3 02 12 22 32 42 52 62 72 B5 A5 95 85 F5 E5 D5 C5 34 24 14 04 74 64 54 44 A7 B7 87 97 E7 F7 C7 D7 26 36 06 16 66 76 46 56 D9 C9 F9 E9 99 89 B9 A9 58 48 78 68 18 08 38 28 CB DB EB FB 8B 9B AB BB 4A 5A 6A 7A 0A 1A 2A 3A FD ED DD CD BD AD 9D 8D 7C 6C 5C 4C 3C 2C 1C 0C EF FF CF DF AF BF 8F 9F 6E 7E 4E 5E 2E 3E 0E 1E 00 21 42 63 84 A5 C6 E7 08 29 4A 6B 8C AD CE EF 31 10 73 52 B5 94 F7 D6 39 18 7B 5A BD 9C FF DE 62 43 20 01 E6 C7 A4 85 6A 4B 28 09 EE CF AC 8D 53 72 11 30 D7 F6 95 B4 5B 7A 19 38 DF FE 9D BC C4 E5 86 A7 40 61 02 23 CC ED 8E AF 48 69 0A 2B F5 D4 B7 96 71 50 33 12 FD DC BF 9E 79 58 3B 1A A6 87 E4 C5 22 03 60 41 AE 8F EC CD 2A 0B 68 49 97 B6 D5 F4 13 32 51 70 9F BE DD FC 1B 3A 59 78 88 A9 CA EB 0C 2D 4E 6F 80 A1 C2 E3 04 25 46 67 B9 98 FB DA 3D 1C 7F 5E B1 90 F3 D2 35 14 77 56 EA CB A8 89 6E 4F 2C 0D E2 C3 A0 81 66 47 24 05 DB FA 99 B8 5F 7E 1D 3C D3 F2 91 B0 57 76 15 34 4C 6D 0E 2F C8 E9 8A AB 44 65 06 27 C0 E1 82 A3 7D 5C 3F 1E F9 D8 BB 9A 75 54 37 16 F1 D0 B3 92 2E 0F 6C 4D AA 8B E8 C9 26 07 64 45 A2 83 E0 C1 1F 3E 5D 7C 9B BA D9 F8 17 36 55 74 93 B2 D1 F0"
    },
    {
      "title": "Downed-skater explicit Y keeper request",
      "address": 45636,
      "size": 6,
      "source": "experimental/downed_y.s",
      "line_needle": "_start:",
      "offset": "0x00B244",
      "before": "08 2B 00 03 00 64",
      "after": "4E F9 00 25 CC 00"
    },
    {
      "title": "Downed-Y native guarded helper",
      "address": 2477056,
      "size": 314,
      "source": "experimental/downed_y.s",
      "line_needle": "_start:",
      "offset": "0x25CC00",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "40 E7 48 E7 FF FE 00 7C 07 00 08 2B 00 05 00 62 67 00 01 12 08 2B 00 03 00 62 67 00 01 08 08 2B 00 03 00 63 66 00 00 FE 08 2B 00 00 00 63 66 00 00 F4 4A 78 D4 12 66 00 00 EC 08 38 00 00 C2 FA 66 00 00 E2 08 38 00 02 C2 F2 66 00 00 D8 0C 46 00 0B 62 00 00 D0 3A 04 0C 45 00 02 62 00 00 C6 7E 00 49 F8 F0 E0 4A 78 D0 46 67 1C 4A 78 F8 4C 66 08 4E B9 00 2E A6 10 66 0E 7E 01 49 F8 F0 B2 4A 78 C3 18 6B 02 58 45 4A 34 50 00 67 00 00 96 74 00 0C 46 00 05 6F 02 74 02 41 F8 D0 5A 4A 70 20 00 66 00 00 80 30 38 B7 AA 6B 22 4A 47 67 12 B0 46 67 00 00 70 0C 40 00 05 67 06 0C 40 00 0B 66 0C 5D 40 32 06 5D 41 B3 40 6A 00 00 58 70 05 4A 42 67 02 70 0B 4E B9 00 00 B8 6A 4A 40 6B 00 00 44 32 00 EF 49 41 F8 B0 4A 08 30 00 03 10 62 66 00 00 32 42 34 50 00 4A 47 67 0C 42 B8 F0 64 41 F8 F0 C2 42 70 50 00 4A 44 66 08 4E B9 00 00 C0 BC 60 06 4E B9 00 00 C0 DA 2E 80 4C DF 7F FF 46 DF 4E 75 4C DF 7F FF 46 DF 08 2B 00 03 00 64 4E F9 00 00 B2 4A 59 44 30 31"
    },
    {
      "title": "Consistent actual-roster OVR presentation branch",
      "address": 2457612,
      "size": 4,
      "source": "experimental/team_ovr.py",
      "line_needle": "HOOK=",
      "offset": "0x25800C",
      "before": "FF FF FF FF",
      "after": "60 00 4D F2"
    },
    {
      "title": "Actual-roster presentation-only OVR helper",
      "address": 2477568,
      "size": 136,
      "source": "experimental/team_ovr.s",
      "line_needle": "_start:",
      "offset": "0x25CE00",
      "before": "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF",
      "after": "4E B9 00 25 80 EE 4A 40 6B 00 00 7A 40 E7 48 E7 7F C0 3C 00 7E 00 3E 2A 00 28 0C 47 00 1F 62 5C 32 07 C2 FC 00 34 41 F9 00 23 80 20 D0 C1 43 F9 00 23 9E C0 78 00 7A 00 76 19 72 00 32 18 0C 41 FF FF 67 14 0C 41 03 3F 62 32 74 00 14 31 10 00 DA 42 52 44 51 CB FF E4 4A 44 67 20 8A C4 9C 45 41 F9 00 1E 92 B4 70 00 10 30 70 00 D0 46 6A 02 70 00 0C 40 00 63 63 06 70 63 60 02 70 FF 4C DF 03 FE 46 DF 4A 40 4E 75"
    }
  ]
}
