{"abstract":"A June fiscal year gets quarterly deadlines based on calendar quarters.","category":"Legal deadline computation","checks":7,"contract":"Stipulated: a fiscal year labelled year ends on the last day of fy_end_month in that year. Quarterly reports cover the first three fiscal quarters, which end on the last day of the months 9, 6 and 3 months before the fiscal year end; they are due 40 days after quarter end (45 for non-accelerated filers). The annual report is due 60/75/90 days after year end for large/accelerated/non-accelerated filers. Each due date on a weekend or listed holiday moves to the next open day. Return [Q1, Q2, Q3, annual].","evaluation_group":"w2-legal-deadline-computation-periodic-report-due-dates","failed_approach":"The partial repair `fy_end_month - 1 + 3 * q` counts quarters forward from year end, landing in the next fiscal year.","family":"w2-legal-deadline-computation-periodic-report-due-dates-quarter-month","id":"FA-77601","implementations":{"attempt":{"sha256":"3509ed9e12c5e483710d5fffb4971563c585cf37fe3aa2a0d9ea1190bba6019d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(year, fy_end_month, filer, holidays):\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    def roll(d):\n        while d.weekday() >= 5 or d in hol:\n            d += dt.timedelta(days=1)\n        return d\n    qdays = 45 if filer == 'non-accelerated' else 40\n    adays = {'large': 60, 'accelerated': 75, 'non-accelerated': 90}[filer]\n    out = []\n    for q in (1, 2, 3):\n        mi = fy_end_month - 1 + 3 * q + year * 12\n        y, m = mi // 12, mi % 12 + 1\n        qend = dt.date(y, m, calendar.monthrange(y, m)[1])\n        out.append(roll(qend + dt.timedelta(days=qdays)).isoformat())\n    fy_end = dt.date(year, fy_end_month, calendar.monthrange(year, fy_end_month)[1])\n    out.append(roll(fy_end + dt.timedelta(days=adays)).isoformat())\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])],\n [('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31'])],\n [('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13'])],\n [('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29'])],\n [('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"6c3ba3258ee5ef6a9aab4823f77d8f9cea17c0177646b552cab986cd726063df","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(year, fy_end_month, filer, holidays):\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    def roll(d):\n        while d.weekday() >= 5 or d in hol:\n            d += dt.timedelta(days=1)\n        return d\n    qdays = 45 if filer == 'non-accelerated' else 40\n    adays = {'large': 60, 'accelerated': 75, 'non-accelerated': 90}[filer]\n    out = []\n    for q in (1, 2, 3):\n        mi = 3 * q - 1 + year * 12\n        y, m = mi // 12, mi % 12 + 1\n        qend = dt.date(y, m, calendar.monthrange(y, m)[1])\n        out.append(roll(qend + dt.timedelta(days=qdays)).isoformat())\n    fy_end = dt.date(year, fy_end_month, calendar.monthrange(year, fy_end_month)[1])\n    out.append(roll(fy_end + dt.timedelta(days=adays)).isoformat())\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])],\n [('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31'])],\n [('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13'])],\n [('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29'])],\n [('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"fbb32385c4075cbec09a976eeaf3e26955a8cea8982b1b7c4b4e120f8f415716","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(year, fy_end_month, filer, holidays):\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    def roll(d):\n        while d.weekday() >= 5 or d in hol:\n            d += dt.timedelta(days=1)\n        return d\n    qdays = 45 if filer == 'non-accelerated' else 40\n    adays = {'large': 60, 'accelerated': 75, 'non-accelerated': 90}[filer]\n    out = []\n    for q in (1, 2, 3):\n        mi = fy_end_month - 1 - 3 * (4 - q) + year * 12\n        y, m = mi // 12, mi % 12 + 1\n        qend = dt.date(y, m, calendar.monthrange(y, m)[1])\n        out.append(roll(qend + dt.timedelta(days=qdays)).isoformat())\n    fy_end = dt.date(year, fy_end_month, calendar.monthrange(year, fy_end_month)[1])\n    out.append(roll(fy_end + dt.timedelta(days=adays)).isoformat())\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])],\n [('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31'])],\n [('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13'])],\n [('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),\n  ('october fiscal year non-accelerated',\n   [2023,\n    10,\n    'non-accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25']],\n   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),\n  ('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29'])],\n [('regression: calendar year non-accelerated',\n   [2024,\n    12,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),\n  ('calendar year large',\n   [2024,\n    12,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),\n  ('accelerated june fiscal year',\n   [2024,\n    6,\n    'accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),\n  ('large september fiscal year',\n   [2024,\n    9,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),\n  ('march fiscal year leap feb quarter',\n   [2024,\n    5,\n    'non-accelerated',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),\n  ('january fiscal year',\n   [2024,\n    1,\n    'accelerated',\n    ['2023-01-02',\n     '2023-01-16',\n     '2023-02-20',\n     '2023-05-29',\n     '2023-06-19',\n     '2023-07-04',\n     '2023-09-04',\n     '2023-10-09',\n     '2023-11-10',\n     '2023-11-23',\n     '2023-12-25',\n     '2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),\n  ('november fiscal year',\n   [2024,\n    11,\n    'large',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated toy deadline rules evaluated offline on explicit fixtures. The contract is inspired by common court-rule structures but is not legal advice and makes no claim to reproduce any jurisdiction's rules. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-legal-deadline-computation-periodic-report-due-dates-quarter-month","generated_at":"2026-09-29T14:49:27.172550+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Docketing systems compute filing and response deadlines from trigger events; a wrong date can forfeit a right.","repair":"At the quarter month decision use `fy_end_month - 1 - 3 * (4 - q)`, leaving the other decision sites of the model unchanged.","root_cause":"Quarter ends are taken from the calendar year rather than the fiscal year.","sha256":"e043003a9818d30e6b9ab4786d38ddbe7d1c5e0aac784669f9b3b5400bb63c4f","title":"Quarterly and annual report due dates for a fiscal year: quarter month · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":47.067,"exit_code":1,"observations":[{"actual":["2025-05-15","2025-08-14","2025-11-14","2025-03-31"],"check":"regression: calendar year non-accelerated","expected":["2024-05-15","2024-08-14","2024-11-14","2025-03-31"],"passed":false},{"actual":["2025-05-12","2025-08-11","2025-11-10","2025-03-03"],"check":"calendar year large","expected":["2024-05-10","2024-08-09","2024-11-12","2025-03-03"],"passed":false},{"actual":["2024-11-12","2025-02-10","2025-05-12","2024-09-13"],"check":"accelerated june fiscal year","expected":["2023-11-09","2024-02-09","2024-05-10","2024-09-13"],"passed":false},{"actual":["2025-02-10","2025-05-12","2025-08-11","2024-11-29"],"check":"large september fiscal year","expected":["2024-02-09","2024-05-10","2024-08-09","2024-11-29"],"passed":false},{"actual":["2024-10-15","2025-01-14","2025-04-14","2024-08-29"],"check":"march fiscal year leap feb quarter","expected":["2023-10-16","2024-01-16","2024-04-15","2024-08-29"],"passed":false},{"actual":["2024-06-10","2024-09-09","2024-12-10","2024-04-15"],"check":"january fiscal year","expected":["2023-06-09","2023-09-11","2023-12-11","2024-04-15"],"passed":false},{"actual":["2025-04-09","2025-07-10","2025-10-10","2025-01-29"],"check":"november fiscal year","expected":["2024-04-09","2024-07-10","2024-10-10","2025-01-29"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: calendar year non-accelerated\", \"actual\": [\"2025-05-15\", \"2025-08-14\", \"2025-11-14\", \"2025-03-31\"], \"expected\": [\"2024-05-15\", \"2024-08-14\", \"2024-11-14\", \"2025-03-31\"], \"passed\": false}, {\"check\": \"calendar year large\", \"actual\": [\"2025-05-12\", \"2025-08-11\", \"2025-11-10\", \"2025-03-03\"], \"expected\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2025-03-03\"], \"passed\": false}, {\"check\": \"accelerated june fiscal year\", \"actual\": [\"2024-11-12\", \"2025-02-10\", \"2025-05-12\", \"2024-09-13\"], \"expected\": [\"2023-11-09\", \"2024-02-09\", \"2024-05-10\", \"2024-09-13\"], \"passed\": false}, {\"check\": \"large september fiscal year\", \"actual\": [\"2025-02-10\", \"2025-05-12\", \"2025-08-11\", \"2024-11-29\"], \"expected\": [\"2024-02-09\", \"2024-05-10\", \"2024-08-09\", \"2024-11-29\"], \"passed\": false}, {\"check\": \"march fiscal year leap feb quarter\", \"actual\": [\"2024-10-15\", \"2025-01-14\", \"2025-04-14\", \"2024-08-29\"], \"expected\": [\"2023-10-16\", \"2024-01-16\", \"2024-04-15\", \"2024-08-29\"], \"passed\": false}, {\"check\": \"january fiscal year\", \"actual\": [\"2024-06-10\", \"2024-09-09\", \"2024-12-10\", \"2024-04-15\"], \"expected\": [\"2023-06-09\", \"2023-09-11\", \"2023-12-11\", \"2024-04-15\"], \"passed\": false}, {\"check\": \"november fiscal year\", \"actual\": [\"2025-04-09\", \"2025-07-10\", \"2025-10-10\", \"2025-01-29\"], \"expected\": [\"2024-04-09\", \"2024-07-10\", \"2024-10-10\", \"2025-01-29\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.55,"exit_code":1,"observations":[{"actual":["2024-05-15","2024-08-14","2024-11-14","2025-03-31"],"check":"regression: calendar year non-accelerated","expected":["2024-05-15","2024-08-14","2024-11-14","2025-03-31"],"passed":true},{"actual":["2024-05-10","2024-08-09","2024-11-12","2025-03-03"],"check":"calendar year large","expected":["2024-05-10","2024-08-09","2024-11-12","2025-03-03"],"passed":true},{"actual":["2024-05-10","2024-08-09","2024-11-12","2024-09-13"],"check":"accelerated june fiscal year","expected":["2023-11-09","2024-02-09","2024-05-10","2024-09-13"],"passed":false},{"actual":["2024-05-10","2024-08-09","2024-11-12","2024-11-29"],"check":"large september fiscal year","expected":["2024-02-09","2024-05-10","2024-08-09","2024-11-29"],"passed":false},{"actual":["2024-05-15","2024-08-14","2024-11-14","2024-08-29"],"check":"march fiscal year leap feb quarter","expected":["2023-10-16","2024-01-16","2024-04-15","2024-08-29"],"passed":false},{"actual":["2024-05-10","2024-08-09","2024-11-12","2024-04-15"],"check":"january fiscal year","expected":["2023-06-09","2023-09-11","2023-12-11","2024-04-15"],"passed":false},{"actual":["2024-05-10","2024-08-09","2024-11-12","2025-01-29"],"check":"november fiscal year","expected":["2024-04-09","2024-07-10","2024-10-10","2025-01-29"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: calendar year non-accelerated\", \"actual\": [\"2024-05-15\", \"2024-08-14\", \"2024-11-14\", \"2025-03-31\"], \"expected\": [\"2024-05-15\", \"2024-08-14\", \"2024-11-14\", \"2025-03-31\"], \"passed\": true}, {\"check\": \"calendar year large\", \"actual\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2025-03-03\"], \"expected\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2025-03-03\"], \"passed\": true}, {\"check\": \"accelerated june fiscal year\", \"actual\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2024-09-13\"], \"expected\": [\"2023-11-09\", \"2024-02-09\", \"2024-05-10\", \"2024-09-13\"], \"passed\": false}, {\"check\": \"large september fiscal year\", \"actual\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2024-11-29\"], \"expected\": [\"2024-02-09\", \"2024-05-10\", \"2024-08-09\", \"2024-11-29\"], \"passed\": false}, {\"check\": \"march fiscal year leap feb quarter\", \"actual\": [\"2024-05-15\", \"2024-08-14\", \"2024-11-14\", \"2024-08-29\"], \"expected\": [\"2023-10-16\", \"2024-01-16\", \"2024-04-15\", \"2024-08-29\"], \"passed\": false}, {\"check\": \"january fiscal year\", \"actual\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2024-04-15\"], \"expected\": [\"2023-06-09\", \"2023-09-11\", \"2023-12-11\", \"2024-04-15\"], \"passed\": false}, {\"check\": \"november fiscal year\", \"actual\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2025-01-29\"], \"expected\": [\"2024-04-09\", \"2024-07-10\", \"2024-10-10\", \"2025-01-29\"], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.106,"exit_code":0,"observations":[{"actual":["2024-05-15","2024-08-14","2024-11-14","2025-03-31"],"check":"regression: calendar year non-accelerated","expected":["2024-05-15","2024-08-14","2024-11-14","2025-03-31"],"passed":true},{"actual":["2024-05-10","2024-08-09","2024-11-12","2025-03-03"],"check":"calendar year large","expected":["2024-05-10","2024-08-09","2024-11-12","2025-03-03"],"passed":true},{"actual":["2023-11-09","2024-02-09","2024-05-10","2024-09-13"],"check":"accelerated june fiscal year","expected":["2023-11-09","2024-02-09","2024-05-10","2024-09-13"],"passed":true},{"actual":["2024-02-09","2024-05-10","2024-08-09","2024-11-29"],"check":"large september fiscal year","expected":["2024-02-09","2024-05-10","2024-08-09","2024-11-29"],"passed":true},{"actual":["2023-10-16","2024-01-16","2024-04-15","2024-08-29"],"check":"march fiscal year leap feb quarter","expected":["2023-10-16","2024-01-16","2024-04-15","2024-08-29"],"passed":true},{"actual":["2023-06-09","2023-09-11","2023-12-11","2024-04-15"],"check":"january fiscal year","expected":["2023-06-09","2023-09-11","2023-12-11","2024-04-15"],"passed":true},{"actual":["2024-04-09","2024-07-10","2024-10-10","2025-01-29"],"check":"november fiscal year","expected":["2024-04-09","2024-07-10","2024-10-10","2025-01-29"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: calendar year non-accelerated\", \"actual\": [\"2024-05-15\", \"2024-08-14\", \"2024-11-14\", \"2025-03-31\"], \"expected\": [\"2024-05-15\", \"2024-08-14\", \"2024-11-14\", \"2025-03-31\"], \"passed\": true}, {\"check\": \"calendar year large\", \"actual\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2025-03-03\"], \"expected\": [\"2024-05-10\", \"2024-08-09\", \"2024-11-12\", \"2025-03-03\"], \"passed\": true}, {\"check\": \"accelerated june fiscal year\", \"actual\": [\"2023-11-09\", \"2024-02-09\", \"2024-05-10\", \"2024-09-13\"], \"expected\": [\"2023-11-09\", \"2024-02-09\", \"2024-05-10\", \"2024-09-13\"], \"passed\": true}, {\"check\": \"large september fiscal year\", \"actual\": [\"2024-02-09\", \"2024-05-10\", \"2024-08-09\", \"2024-11-29\"], \"expected\": [\"2024-02-09\", \"2024-05-10\", \"2024-08-09\", \"2024-11-29\"], \"passed\": true}, {\"check\": \"march fiscal year leap feb quarter\", \"actual\": [\"2023-10-16\", \"2024-01-16\", \"2024-04-15\", \"2024-08-29\"], \"expected\": [\"2023-10-16\", \"2024-01-16\", \"2024-04-15\", \"2024-08-29\"], \"passed\": true}, {\"check\": \"january fiscal year\", \"actual\": [\"2023-06-09\", \"2023-09-11\", \"2023-12-11\", \"2024-04-15\"], \"expected\": [\"2023-06-09\", \"2023-09-11\", \"2023-12-11\", \"2024-04-15\"], \"passed\": true}, {\"check\": \"november fiscal year\", \"actual\": [\"2024-04-09\", \"2024-07-10\", \"2024-10-10\", \"2025-01-29\"], \"expected\": [\"2024-04-09\", \"2024-07-10\", \"2024-10-10\", \"2025-01-29\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}