{"abstract":"When next New Year falls on Saturday, December 31 is missing from the calendar.","category":"Legal deadline computation","checks":7,"contract":"Stipulated court holidays for a year: new-year (Jan 1), mlk (3rd Monday Jan), memorial (last Monday May), juneteenth (Jun 19), independence (Jul 4), labor (1st Monday Sep), thanksgiving (4th Thursday Nov), day-after-thanksgiving, christmas (Dec 25). Fixed-date holidays on Saturday are observed the Friday before and on Sunday the Monday after. When next year's January 1 is a Saturday, a new-year-observed entry falls on December 31 of this year; an observed date that falls in another year is not part of this year's calendar. Return [[name, date]] sorted by date.","evaluation_group":"w2-legal-deadline-computation-court-holiday-calendar","failed_approach":"The partial repair `nxt.weekday() >= 5` also adds December 31 for a Sunday New Year, which is observed on January 2.","family":"w2-legal-deadline-computation-court-holiday-calendar-next-new-year","id":"FA-77671","implementations":{"attempt":{"sha256":"111111817b2839b9876de005cdcabeab41afd2ade5357bb9c98cf5e15cff3976","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(year):\n    def nth(month, wd, n):\n        first = dt.date(year, month, 1)\n        return first + dt.timedelta(days=(wd - first.weekday()) % 7 + 7 * (n - 1))\n    def last(month, wd):\n        lastd = dt.date(year, month, calendar.monthrange(year, month)[1])\n        return lastd - dt.timedelta(days=(lastd.weekday() - wd) % 7)\n    def observed(d):\n        return d - dt.timedelta(days=1) if d.weekday() == 5 else d + dt.timedelta(days=1) if d.weekday() == 6 else d\n    thanks = nth(11, 3, 4)\n    rows = [['new-year', observed(dt.date(year, 1, 1))], ['mlk', nth(1, 0, 3)], ['memorial', last(5, 0)],\n            ['juneteenth', observed(dt.date(year, 6, 19))], ['independence', observed(dt.date(year, 7, 4))],\n            ['labor', nth(9, 0, 1)], ['thanksgiving', thanks], ['day-after-thanksgiving', thanks + dt.timedelta(days=1)],\n            ['christmas', observed(dt.date(year, 12, 25))]]\n    nxt = dt.date(year + 1, 1, 1)\n    if nxt.weekday() >= 5:\n        rows.append(['new-year-observed', nxt - dt.timedelta(days=1)])\n    rows = [r for r in rows if r[1].year == year]\n    return [[name, d.isoformat()] for name, d in sorted(rows, key=lambda r: r[1])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']]),\n  ('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']]),\n  ('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']])],\n [('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']]),\n  ('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']])],\n [('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']])],\n [('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']]),\n  ('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']])],\n [('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']]),\n  ('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']]),\n  ('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']])]]\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":"7704219347cf75ac69ba9e06d1afc91706eb560bed5a56b28ad0969f47d09046","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(year):\n    def nth(month, wd, n):\n        first = dt.date(year, month, 1)\n        return first + dt.timedelta(days=(wd - first.weekday()) % 7 + 7 * (n - 1))\n    def last(month, wd):\n        lastd = dt.date(year, month, calendar.monthrange(year, month)[1])\n        return lastd - dt.timedelta(days=(lastd.weekday() - wd) % 7)\n    def observed(d):\n        return d - dt.timedelta(days=1) if d.weekday() == 5 else d + dt.timedelta(days=1) if d.weekday() == 6 else d\n    thanks = nth(11, 3, 4)\n    rows = [['new-year', observed(dt.date(year, 1, 1))], ['mlk', nth(1, 0, 3)], ['memorial', last(5, 0)],\n            ['juneteenth', observed(dt.date(year, 6, 19))], ['independence', observed(dt.date(year, 7, 4))],\n            ['labor', nth(9, 0, 1)], ['thanksgiving', thanks], ['day-after-thanksgiving', thanks + dt.timedelta(days=1)],\n            ['christmas', observed(dt.date(year, 12, 25))]]\n    nxt = dt.date(year + 1, 1, 1)\n    if nxt.weekday() == 6:\n        rows.append(['new-year-observed', nxt - dt.timedelta(days=1)])\n    rows = [r for r in rows if r[1].year == year]\n    return [[name, d.isoformat()] for name, d in sorted(rows, key=lambda r: r[1])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']]),\n  ('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']]),\n  ('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']])],\n [('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']]),\n  ('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']])],\n [('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']])],\n [('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']]),\n  ('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']])],\n [('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']]),\n  ('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']]),\n  ('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']])]]\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":"5c8868ffe6478fd4783a5042af62a12709080d244ad020110633f2c916794ad9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(year):\n    def nth(month, wd, n):\n        first = dt.date(year, month, 1)\n        return first + dt.timedelta(days=(wd - first.weekday()) % 7 + 7 * (n - 1))\n    def last(month, wd):\n        lastd = dt.date(year, month, calendar.monthrange(year, month)[1])\n        return lastd - dt.timedelta(days=(lastd.weekday() - wd) % 7)\n    def observed(d):\n        return d - dt.timedelta(days=1) if d.weekday() == 5 else d + dt.timedelta(days=1) if d.weekday() == 6 else d\n    thanks = nth(11, 3, 4)\n    rows = [['new-year', observed(dt.date(year, 1, 1))], ['mlk', nth(1, 0, 3)], ['memorial', last(5, 0)],\n            ['juneteenth', observed(dt.date(year, 6, 19))], ['independence', observed(dt.date(year, 7, 4))],\n            ['labor', nth(9, 0, 1)], ['thanksgiving', thanks], ['day-after-thanksgiving', thanks + dt.timedelta(days=1)],\n            ['christmas', observed(dt.date(year, 12, 25))]]\n    nxt = dt.date(year + 1, 1, 1)\n    if nxt.weekday() == 5:\n        rows.append(['new-year-observed', nxt - dt.timedelta(days=1)])\n    rows = [r for r in rows if r[1].year == year]\n    return [[name, d.isoformat()] for name, d in sorted(rows, key=lambda r: r[1])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']]),\n  ('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']]),\n  ('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']])],\n [('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']]),\n  ('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']])],\n [('2020 july 4 saturday',\n   [2020],\n   [['new-year', '2020-01-01'],\n    ['mlk', '2020-01-20'],\n    ['memorial', '2020-05-25'],\n    ['juneteenth', '2020-06-19'],\n    ['independence', '2020-07-03'],\n    ['labor', '2020-09-07'],\n    ['thanksgiving', '2020-11-26'],\n    ['day-after-thanksgiving', '2020-11-27'],\n    ['christmas', '2020-12-25']]),\n  ('2016 next new year sunday',\n   [2016],\n   [['new-year', '2016-01-01'],\n    ['mlk', '2016-01-18'],\n    ['memorial', '2016-05-30'],\n    ['juneteenth', '2016-06-20'],\n    ['independence', '2016-07-04'],\n    ['labor', '2016-09-05'],\n    ['thanksgiving', '2016-11-24'],\n    ['day-after-thanksgiving', '2016-11-25'],\n    ['christmas', '2016-12-26']]),\n  ('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']])],\n [('2027 five mondays may',\n   [2027],\n   [['new-year', '2027-01-01'],\n    ['mlk', '2027-01-18'],\n    ['memorial', '2027-05-31'],\n    ['juneteenth', '2027-06-18'],\n    ['independence', '2027-07-05'],\n    ['labor', '2027-09-06'],\n    ['thanksgiving', '2027-11-25'],\n    ['day-after-thanksgiving', '2027-11-26'],\n    ['christmas', '2027-12-24'],\n    ['new-year-observed', '2027-12-31']]),\n  ('2023',\n   [2023],\n   [['new-year', '2023-01-02'],\n    ['mlk', '2023-01-16'],\n    ['memorial', '2023-05-29'],\n    ['juneteenth', '2023-06-19'],\n    ['independence', '2023-07-04'],\n    ['labor', '2023-09-04'],\n    ['thanksgiving', '2023-11-23'],\n    ['day-after-thanksgiving', '2023-11-24'],\n    ['christmas', '2023-12-25']]),\n  ('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']]),\n  ('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']])],\n [('2030',\n   [2030],\n   [['new-year', '2030-01-01'],\n    ['mlk', '2030-01-21'],\n    ['memorial', '2030-05-27'],\n    ['juneteenth', '2030-06-19'],\n    ['independence', '2030-07-04'],\n    ['labor', '2030-09-02'],\n    ['thanksgiving', '2030-11-28'],\n    ['day-after-thanksgiving', '2030-11-29'],\n    ['christmas', '2030-12-25']]),\n  ('2032 leap',\n   [2032],\n   [['new-year', '2032-01-01'],\n    ['mlk', '2032-01-19'],\n    ['memorial', '2032-05-31'],\n    ['juneteenth', '2032-06-18'],\n    ['independence', '2032-07-05'],\n    ['labor', '2032-09-06'],\n    ['thanksgiving', '2032-11-25'],\n    ['day-after-thanksgiving', '2032-11-26'],\n    ['christmas', '2032-12-24'],\n    ['new-year-observed', '2032-12-31']]),\n  ('2033 new year saturday',\n   [2033],\n   [['mlk', '2033-01-17'],\n    ['memorial', '2033-05-30'],\n    ['juneteenth', '2033-06-20'],\n    ['independence', '2033-07-04'],\n    ['labor', '2033-09-05'],\n    ['thanksgiving', '2033-11-24'],\n    ['day-after-thanksgiving', '2033-11-25'],\n    ['christmas', '2033-12-26']]),\n  ('regression: 2022 new year on saturday',\n   [2022],\n   [['mlk', '2022-01-17'],\n    ['memorial', '2022-05-30'],\n    ['juneteenth', '2022-06-20'],\n    ['independence', '2022-07-04'],\n    ['labor', '2022-09-05'],\n    ['thanksgiving', '2022-11-24'],\n    ['day-after-thanksgiving', '2022-11-25'],\n    ['christmas', '2022-12-26']]),\n  ('2021 next new year saturday',\n   [2021],\n   [['new-year', '2021-01-01'],\n    ['mlk', '2021-01-18'],\n    ['memorial', '2021-05-31'],\n    ['juneteenth', '2021-06-18'],\n    ['independence', '2021-07-05'],\n    ['labor', '2021-09-06'],\n    ['thanksgiving', '2021-11-25'],\n    ['day-after-thanksgiving', '2021-11-26'],\n    ['christmas', '2021-12-24'],\n    ['new-year-observed', '2021-12-31']]),\n  ('2024 leap',\n   [2024],\n   [['new-year', '2024-01-01'],\n    ['mlk', '2024-01-15'],\n    ['memorial', '2024-05-27'],\n    ['juneteenth', '2024-06-19'],\n    ['independence', '2024-07-04'],\n    ['labor', '2024-09-02'],\n    ['thanksgiving', '2024-11-28'],\n    ['day-after-thanksgiving', '2024-11-29'],\n    ['christmas', '2024-12-25']]),\n  ('2019 november starts friday',\n   [2019],\n   [['new-year', '2019-01-01'],\n    ['mlk', '2019-01-21'],\n    ['memorial', '2019-05-27'],\n    ['juneteenth', '2019-06-19'],\n    ['independence', '2019-07-04'],\n    ['labor', '2019-09-02'],\n    ['thanksgiving', '2019-11-28'],\n    ['day-after-thanksgiving', '2019-11-29'],\n    ['christmas', '2019-12-25']])]]\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-court-holiday-calendar-next-new-year","generated_at":"2026-09-29T14:49:27.900643+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 next new year decision use `nxt.weekday() == 5`, leaving the other decision sites of the model unchanged.","root_cause":"The December 31 observance is tied to a Sunday New Year.","sha256":"8a20c25e84e982687a061688e95a3ab3d2b86918938d2b5635892eea4a6d7cfe","title":"Court holiday calendar with observed dates: next new year · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":49.565,"exit_code":1,"observations":[{"actual":[["mlk","2022-01-17"],["memorial","2022-05-30"],["juneteenth","2022-06-20"],["independence","2022-07-04"],["labor","2022-09-05"],["thanksgiving","2022-11-24"],["day-after-thanksgiving","2022-11-25"],["christmas","2022-12-26"],["new-year-observed","2022-12-31"]],"check":"regression: 2022 new year on saturday","expected":[["mlk","2022-01-17"],["memorial","2022-05-30"],["juneteenth","2022-06-20"],["independence","2022-07-04"],["labor","2022-09-05"],["thanksgiving","2022-11-24"],["day-after-thanksgiving","2022-11-25"],["christmas","2022-12-26"]],"passed":false},{"actual":[["new-year","2021-01-01"],["mlk","2021-01-18"],["memorial","2021-05-31"],["juneteenth","2021-06-18"],["independence","2021-07-05"],["labor","2021-09-06"],["thanksgiving","2021-11-25"],["day-after-thanksgiving","2021-11-26"],["christmas","2021-12-24"],["new-year-observed","2021-12-31"]],"check":"2021 next new year saturday","expected":[["new-year","2021-01-01"],["mlk","2021-01-18"],["memorial","2021-05-31"],["juneteenth","2021-06-18"],["independence","2021-07-05"],["labor","2021-09-06"],["thanksgiving","2021-11-25"],["day-after-thanksgiving","2021-11-26"],["christmas","2021-12-24"],["new-year-observed","2021-12-31"]],"passed":true},{"actual":[["new-year","2024-01-01"],["mlk","2024-01-15"],["memorial","2024-05-27"],["juneteenth","2024-06-19"],["independence","2024-07-04"],["labor","2024-09-02"],["thanksgiving","2024-11-28"],["day-after-thanksgiving","2024-11-29"],["christmas","2024-12-25"]],"check":"2024 leap","expected":[["new-year","2024-01-01"],["mlk","2024-01-15"],["memorial","2024-05-27"],["juneteenth","2024-06-19"],["independence","2024-07-04"],["labor","2024-09-02"],["thanksgiving","2024-11-28"],["day-after-thanksgiving","2024-11-29"],["christmas","2024-12-25"]],"passed":true},{"actual":[["new-year","2019-01-01"],["mlk","2019-01-21"],["memorial","2019-05-27"],["juneteenth","2019-06-19"],["independence","2019-07-04"],["labor","2019-09-02"],["thanksgiving","2019-11-28"],["day-after-thanksgiving","2019-11-29"],["christmas","2019-12-25"]],"check":"2019 november starts friday","expected":[["new-year","2019-01-01"],["mlk","2019-01-21"],["memorial","2019-05-27"],["juneteenth","2019-06-19"],["independence","2019-07-04"],["labor","2019-09-02"],["thanksgiving","2019-11-28"],["day-after-thanksgiving","2019-11-29"],["christmas","2019-12-25"]],"passed":true},{"actual":[["new-year","2020-01-01"],["mlk","2020-01-20"],["memorial","2020-05-25"],["juneteenth","2020-06-19"],["independence","2020-07-03"],["labor","2020-09-07"],["thanksgiving","2020-11-26"],["day-after-thanksgiving","2020-11-27"],["christmas","2020-12-25"]],"check":"2020 july 4 saturday","expected":[["new-year","2020-01-01"],["mlk","2020-01-20"],["memorial","2020-05-25"],["juneteenth","2020-06-19"],["independence","2020-07-03"],["labor","2020-09-07"],["thanksgiving","2020-11-26"],["day-after-thanksgiving","2020-11-27"],["christmas","2020-12-25"]],"passed":true},{"actual":[["new-year","2016-01-01"],["mlk","2016-01-18"],["memorial","2016-05-30"],["juneteenth","2016-06-20"],["independence","2016-07-04"],["labor","2016-09-05"],["thanksgiving","2016-11-24"],["day-after-thanksgiving","2016-11-25"],["christmas","2016-12-26"],["new-year-observed","2016-12-31"]],"check":"2016 next new year sunday","expected":[["new-year","2016-01-01"],["mlk","2016-01-18"],["memorial","2016-05-30"],["juneteenth","2016-06-20"],["independence","2016-07-04"],["labor","2016-09-05"],["thanksgiving","2016-11-24"],["day-after-thanksgiving","2016-11-25"],["christmas","2016-12-26"]],"passed":false},{"actual":[["new-year","2027-01-01"],["mlk","2027-01-18"],["memorial","2027-05-31"],["juneteenth","2027-06-18"],["independence","2027-07-05"],["labor","2027-09-06"],["thanksgiving","2027-11-25"],["day-after-thanksgiving","2027-11-26"],["christmas","2027-12-24"],["new-year-observed","2027-12-31"]],"check":"2027 five mondays may","expected":[["new-year","2027-01-01"],["mlk","2027-01-18"],["memorial","2027-05-31"],["juneteenth","2027-06-18"],["independence","2027-07-05"],["labor","2027-09-06"],["thanksgiving","2027-11-25"],["day-after-thanksgiving","2027-11-26"],["christmas","2027-12-24"],["new-year-observed","2027-12-31"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: 2022 new year on saturday\", \"actual\": [[\"mlk\", \"2022-01-17\"], [\"memorial\", \"2022-05-30\"], [\"juneteenth\", \"2022-06-20\"], [\"independence\", \"2022-07-04\"], [\"labor\", \"2022-09-05\"], [\"thanksgiving\", \"2022-11-24\"], [\"day-after-thanksgiving\", \"2022-11-25\"], [\"christmas\", \"2022-12-26\"], [\"new-year-observed\", \"2022-12-31\"]], \"expected\": [[\"mlk\", \"2022-01-17\"], [\"memorial\", \"2022-05-30\"], [\"juneteenth\", \"2022-06-20\"], [\"independence\", \"2022-07-04\"], [\"labor\", \"2022-09-05\"], [\"thanksgiving\", \"2022-11-24\"], [\"day-after-thanksgiving\", \"2022-11-25\"], [\"christmas\", \"2022-12-26\"]], \"passed\": false}, {\"check\": \"2021 next new year saturday\", \"actual\": [[\"new-year\", \"2021-01-01\"], [\"mlk\", \"2021-01-18\"], [\"memorial\", \"2021-05-31\"], [\"juneteenth\", \"2021-06-18\"], [\"independence\", \"2021-07-05\"], [\"labor\", \"2021-09-06\"], [\"thanksgiving\", \"2021-11-25\"], [\"day-after-thanksgiving\", \"2021-11-26\"], [\"christmas\", \"2021-12-24\"], [\"new-year-observed\", \"2021-12-31\"]], \"expected\": [[\"new-year\", \"2021-01-01\"], [\"mlk\", \"2021-01-18\"], [\"memorial\", \"2021-05-31\"], [\"juneteenth\", \"2021-06-18\"], [\"independence\", \"2021-07-05\"], [\"labor\", \"2021-09-06\"], [\"thanksgiving\", \"2021-11-25\"], [\"day-after-thanksgiving\", \"2021-11-26\"], [\"christmas\", \"2021-12-24\"], [\"new-year-observed\", \"2021-12-31\"]], \"passed\": true}, {\"check\": \"2024 leap\", \"actual\": [[\"new-year\", \"2024-01-01\"], [\"mlk\", \"2024-01-15\"], [\"memorial\", \"2024-05-27\"], [\"juneteenth\", \"2024-06-19\"], [\"independence\", \"2024-07-04\"], [\"labor\", \"2024-09-02\"], [\"thanksgiving\", \"2024-11-28\"], [\"day-after-thanksgiving\", \"2024-11-29\"], [\"christmas\", \"2024-12-25\"]], \"expected\": [[\"new-year\", \"2024-01-01\"], [\"mlk\", \"2024-01-15\"], [\"memorial\", \"2024-05-27\"], [\"juneteenth\", \"2024-06-19\"], [\"independence\", \"2024-07-04\"], [\"labor\", \"2024-09-02\"], [\"thanksgiving\", \"2024-11-28\"], [\"day-after-thanksgiving\", \"2024-11-29\"], [\"christmas\", \"2024-12-25\"]], \"passed\": true}, {\"check\": \"2019 november starts friday\", \"actual\": [[\"new-year\", \"2019-01-01\"], [\"mlk\", \"2019-01-21\"], [\"memorial\", \"2019-05-27\"], [\"juneteenth\", \"2019-06-19\"], [\"independence\", \"2019-07-04\"], [\"labor\", \"2019-09-02\"], [\"thanksgiving\", \"2019-11-28\"], [\"day-after-thanksgiving\", \"2019-11-29\"], [\"christmas\", \"2019-12-25\"]], \"expected\": [[\"new-year\", \"2019-01-01\"], [\"mlk\", \"2019-01-21\"], [\"memorial\", \"2019-05-27\"], [\"juneteenth\", \"2019-06-19\"], [\"independence\", \"2019-07-04\"], [\"labor\", \"2019-09-02\"], [\"thanksgiving\", \"2019-11-28\"], [\"day-after-thanksgiving\", \"2019-11-29\"], [\"christmas\", \"2019-12-25\"]], \"passed\": true}, {\"check\": \"2020 july 4 saturday\", \"actual\": [[\"new-year\", \"2020-01-01\"], [\"mlk\", \"2020-01-20\"], [\"memorial\", \"2020-05-25\"], [\"juneteenth\", \"2020-06-19\"], [\"independence\", \"2020-07-03\"], [\"labor\", \"2020-09-07\"], [\"thanksgiving\", \"2020-11-26\"], [\"day-after-thanksgiving\", \"2020-11-27\"], [\"christmas\", \"2020-12-25\"]], \"expected\": [[\"new-year\", \"2020-01-01\"], [\"mlk\", \"2020-01-20\"], [\"memorial\", \"2020-05-25\"], [\"juneteenth\", \"2020-06-19\"], [\"independence\", \"2020-07-03\"], [\"labor\", \"2020-09-07\"], [\"thanksgiving\", \"2020-11-26\"], [\"day-after-thanksgiving\", \"2020-11-27\"], [\"christmas\", \"2020-12-25\"]], \"passed\": true}, {\"check\": \"2016 next new year sunday\", \"actual\": [[\"new-year\", \"2016-01-01\"], [\"mlk\", \"2016-01-18\"], [\"memorial\", \"2016-05-30\"], [\"juneteenth\", \"2016-06-20\"], [\"independence\", \"2016-07-04\"], [\"labor\", \"2016-09-05\"], [\"thanksgiving\", \"2016-11-24\"], [\"day-after-thanksgiving\", \"2016-11-25\"], [\"christmas\", \"2016-12-26\"], [\"new-year-observed\", \"2016-12-31\"]], \"expected\": [[\"new-year\", \"2016-01-01\"], [\"mlk\", \"2016-01-18\"], [\"memorial\", \"2016-05-30\"], [\"juneteenth\", \"2016-06-20\"], [\"independence\", \"2016-07-04\"], [\"labor\", \"2016-09-05\"], [\"thanksgiving\", \"2016-11-24\"], [\"day-after-thanksgiving\", \"2016-11-25\"], [\"christmas\", \"2016-12-26\"]], \"passed\": false}, {\"check\": \"2027 five mondays may\", \"actual\": [[\"new-year\", \"2027-01-01\"], [\"mlk\", \"2027-01-18\"], [\"memorial\", \"2027-05-31\"], [\"juneteenth\", \"2027-06-18\"], [\"independence\", \"2027-07-05\"], [\"labor\", \"2027-09-06\"], [\"thanksgiving\", \"2027-11-25\"], [\"day-after-thanksgiving\", \"2027-11-26\"], [\"christmas\", \"2027-12-24\"], [\"new-year-observed\", \"2027-12-31\"]], \"expected\": [[\"new-year\", \"2027-01-01\"], [\"mlk\", \"2027-01-18\"], [\"memorial\", \"2027-05-31\"], [\"juneteenth\", \"2027-06-18\"], [\"independence\", \"2027-07-05\"], [\"labor\", \"2027-09-06\"], [\"thanksgiving\", \"2027-11-25\"], [\"day-after-thanksgiving\", \"2027-11-26\"], [\"christmas\", \"2027-12-24\"], [\"new-year-observed\", \"2027-12-31\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.791,"exit_code":1,"observations":[{"actual":[["mlk","2022-01-17"],["memorial","2022-05-30"],["juneteenth","2022-06-20"],["independence","2022-07-04"],["labor","2022-09-05"],["thanksgiving","2022-11-24"],["day-after-thanksgiving","2022-11-25"],["christmas","2022-12-26"],["new-year-observed","2022-12-31"]],"check":"regression: 2022 new year on saturday","expected":[["mlk","2022-01-17"],["memorial","2022-05-30"],["juneteenth","2022-06-20"],["independence","2022-07-04"],["labor","2022-09-05"],["thanksgiving","2022-11-24"],["day-after-thanksgiving","2022-11-25"],["christmas","2022-12-26"]],"passed":false},{"actual":[["new-year","2021-01-01"],["mlk","2021-01-18"],["memorial","2021-05-31"],["juneteenth","2021-06-18"],["independence","2021-07-05"],["labor","2021-09-06"],["thanksgiving","2021-11-25"],["day-after-thanksgiving","2021-11-26"],["christmas","2021-12-24"]],"check":"2021 next new year saturday","expected":[["new-year","2021-01-01"],["mlk","2021-01-18"],["memorial","2021-05-31"],["juneteenth","2021-06-18"],["independence","2021-07-05"],["labor","2021-09-06"],["thanksgiving","2021-11-25"],["day-after-thanksgiving","2021-11-26"],["christmas","2021-12-24"],["new-year-observed","2021-12-31"]],"passed":false},{"actual":[["new-year","2024-01-01"],["mlk","2024-01-15"],["memorial","2024-05-27"],["juneteenth","2024-06-19"],["independence","2024-07-04"],["labor","2024-09-02"],["thanksgiving","2024-11-28"],["day-after-thanksgiving","2024-11-29"],["christmas","2024-12-25"]],"check":"2024 leap","expected":[["new-year","2024-01-01"],["mlk","2024-01-15"],["memorial","2024-05-27"],["juneteenth","2024-06-19"],["independence","2024-07-04"],["labor","2024-09-02"],["thanksgiving","2024-11-28"],["day-after-thanksgiving","2024-11-29"],["christmas","2024-12-25"]],"passed":true},{"actual":[["new-year","2019-01-01"],["mlk","2019-01-21"],["memorial","2019-05-27"],["juneteenth","2019-06-19"],["independence","2019-07-04"],["labor","2019-09-02"],["thanksgiving","2019-11-28"],["day-after-thanksgiving","2019-11-29"],["christmas","2019-12-25"]],"check":"2019 november starts friday","expected":[["new-year","2019-01-01"],["mlk","2019-01-21"],["memorial","2019-05-27"],["juneteenth","2019-06-19"],["independence","2019-07-04"],["labor","2019-09-02"],["thanksgiving","2019-11-28"],["day-after-thanksgiving","2019-11-29"],["christmas","2019-12-25"]],"passed":true},{"actual":[["new-year","2020-01-01"],["mlk","2020-01-20"],["memorial","2020-05-25"],["juneteenth","2020-06-19"],["independence","2020-07-03"],["labor","2020-09-07"],["thanksgiving","2020-11-26"],["day-after-thanksgiving","2020-11-27"],["christmas","2020-12-25"]],"check":"2020 july 4 saturday","expected":[["new-year","2020-01-01"],["mlk","2020-01-20"],["memorial","2020-05-25"],["juneteenth","2020-06-19"],["independence","2020-07-03"],["labor","2020-09-07"],["thanksgiving","2020-11-26"],["day-after-thanksgiving","2020-11-27"],["christmas","2020-12-25"]],"passed":true},{"actual":[["new-year","2016-01-01"],["mlk","2016-01-18"],["memorial","2016-05-30"],["juneteenth","2016-06-20"],["independence","2016-07-04"],["labor","2016-09-05"],["thanksgiving","2016-11-24"],["day-after-thanksgiving","2016-11-25"],["christmas","2016-12-26"],["new-year-observed","2016-12-31"]],"check":"2016 next new year sunday","expected":[["new-year","2016-01-01"],["mlk","2016-01-18"],["memorial","2016-05-30"],["juneteenth","2016-06-20"],["independence","2016-07-04"],["labor","2016-09-05"],["thanksgiving","2016-11-24"],["day-after-thanksgiving","2016-11-25"],["christmas","2016-12-26"]],"passed":false},{"actual":[["new-year","2027-01-01"],["mlk","2027-01-18"],["memorial","2027-05-31"],["juneteenth","2027-06-18"],["independence","2027-07-05"],["labor","2027-09-06"],["thanksgiving","2027-11-25"],["day-after-thanksgiving","2027-11-26"],["christmas","2027-12-24"]],"check":"2027 five mondays may","expected":[["new-year","2027-01-01"],["mlk","2027-01-18"],["memorial","2027-05-31"],["juneteenth","2027-06-18"],["independence","2027-07-05"],["labor","2027-09-06"],["thanksgiving","2027-11-25"],["day-after-thanksgiving","2027-11-26"],["christmas","2027-12-24"],["new-year-observed","2027-12-31"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: 2022 new year on saturday\", \"actual\": [[\"mlk\", \"2022-01-17\"], [\"memorial\", \"2022-05-30\"], [\"juneteenth\", \"2022-06-20\"], [\"independence\", \"2022-07-04\"], [\"labor\", \"2022-09-05\"], [\"thanksgiving\", \"2022-11-24\"], [\"day-after-thanksgiving\", \"2022-11-25\"], [\"christmas\", \"2022-12-26\"], [\"new-year-observed\", \"2022-12-31\"]], \"expected\": [[\"mlk\", \"2022-01-17\"], [\"memorial\", \"2022-05-30\"], [\"juneteenth\", \"2022-06-20\"], [\"independence\", \"2022-07-04\"], [\"labor\", \"2022-09-05\"], [\"thanksgiving\", \"2022-11-24\"], [\"day-after-thanksgiving\", \"2022-11-25\"], [\"christmas\", \"2022-12-26\"]], \"passed\": false}, {\"check\": \"2021 next new year saturday\", \"actual\": [[\"new-year\", \"2021-01-01\"], [\"mlk\", \"2021-01-18\"], [\"memorial\", \"2021-05-31\"], [\"juneteenth\", \"2021-06-18\"], [\"independence\", \"2021-07-05\"], [\"labor\", \"2021-09-06\"], [\"thanksgiving\", \"2021-11-25\"], [\"day-after-thanksgiving\", \"2021-11-26\"], [\"christmas\", \"2021-12-24\"]], \"expected\": [[\"new-year\", \"2021-01-01\"], [\"mlk\", \"2021-01-18\"], [\"memorial\", \"2021-05-31\"], [\"juneteenth\", \"2021-06-18\"], [\"independence\", \"2021-07-05\"], [\"labor\", \"2021-09-06\"], [\"thanksgiving\", \"2021-11-25\"], [\"day-after-thanksgiving\", \"2021-11-26\"], [\"christmas\", \"2021-12-24\"], [\"new-year-observed\", \"2021-12-31\"]], \"passed\": false}, {\"check\": \"2024 leap\", \"actual\": [[\"new-year\", \"2024-01-01\"], [\"mlk\", \"2024-01-15\"], [\"memorial\", \"2024-05-27\"], [\"juneteenth\", \"2024-06-19\"], [\"independence\", \"2024-07-04\"], [\"labor\", \"2024-09-02\"], [\"thanksgiving\", \"2024-11-28\"], [\"day-after-thanksgiving\", \"2024-11-29\"], [\"christmas\", \"2024-12-25\"]], \"expected\": [[\"new-year\", \"2024-01-01\"], [\"mlk\", \"2024-01-15\"], [\"memorial\", \"2024-05-27\"], [\"juneteenth\", \"2024-06-19\"], [\"independence\", \"2024-07-04\"], [\"labor\", \"2024-09-02\"], [\"thanksgiving\", \"2024-11-28\"], [\"day-after-thanksgiving\", \"2024-11-29\"], [\"christmas\", \"2024-12-25\"]], \"passed\": true}, {\"check\": \"2019 november starts friday\", \"actual\": [[\"new-year\", \"2019-01-01\"], [\"mlk\", \"2019-01-21\"], [\"memorial\", \"2019-05-27\"], [\"juneteenth\", \"2019-06-19\"], [\"independence\", \"2019-07-04\"], [\"labor\", \"2019-09-02\"], [\"thanksgiving\", \"2019-11-28\"], [\"day-after-thanksgiving\", \"2019-11-29\"], [\"christmas\", \"2019-12-25\"]], \"expected\": [[\"new-year\", \"2019-01-01\"], [\"mlk\", \"2019-01-21\"], [\"memorial\", \"2019-05-27\"], [\"juneteenth\", \"2019-06-19\"], [\"independence\", \"2019-07-04\"], [\"labor\", \"2019-09-02\"], [\"thanksgiving\", \"2019-11-28\"], [\"day-after-thanksgiving\", \"2019-11-29\"], [\"christmas\", \"2019-12-25\"]], \"passed\": true}, {\"check\": \"2020 july 4 saturday\", \"actual\": [[\"new-year\", \"2020-01-01\"], [\"mlk\", \"2020-01-20\"], [\"memorial\", \"2020-05-25\"], [\"juneteenth\", \"2020-06-19\"], [\"independence\", \"2020-07-03\"], [\"labor\", \"2020-09-07\"], [\"thanksgiving\", \"2020-11-26\"], [\"day-after-thanksgiving\", \"2020-11-27\"], [\"christmas\", \"2020-12-25\"]], \"expected\": [[\"new-year\", \"2020-01-01\"], [\"mlk\", \"2020-01-20\"], [\"memorial\", \"2020-05-25\"], [\"juneteenth\", \"2020-06-19\"], [\"independence\", \"2020-07-03\"], [\"labor\", \"2020-09-07\"], [\"thanksgiving\", \"2020-11-26\"], [\"day-after-thanksgiving\", \"2020-11-27\"], [\"christmas\", \"2020-12-25\"]], \"passed\": true}, {\"check\": \"2016 next new year sunday\", \"actual\": [[\"new-year\", \"2016-01-01\"], [\"mlk\", \"2016-01-18\"], [\"memorial\", \"2016-05-30\"], [\"juneteenth\", \"2016-06-20\"], [\"independence\", \"2016-07-04\"], [\"labor\", \"2016-09-05\"], [\"thanksgiving\", \"2016-11-24\"], [\"day-after-thanksgiving\", \"2016-11-25\"], [\"christmas\", \"2016-12-26\"], [\"new-year-observed\", \"2016-12-31\"]], \"expected\": [[\"new-year\", \"2016-01-01\"], [\"mlk\", \"2016-01-18\"], [\"memorial\", \"2016-05-30\"], [\"juneteenth\", \"2016-06-20\"], [\"independence\", \"2016-07-04\"], [\"labor\", \"2016-09-05\"], [\"thanksgiving\", \"2016-11-24\"], [\"day-after-thanksgiving\", \"2016-11-25\"], [\"christmas\", \"2016-12-26\"]], \"passed\": false}, {\"check\": \"2027 five mondays may\", \"actual\": [[\"new-year\", \"2027-01-01\"], [\"mlk\", \"2027-01-18\"], [\"memorial\", \"2027-05-31\"], [\"juneteenth\", \"2027-06-18\"], [\"independence\", \"2027-07-05\"], [\"labor\", \"2027-09-06\"], [\"thanksgiving\", \"2027-11-25\"], [\"day-after-thanksgiving\", \"2027-11-26\"], [\"christmas\", \"2027-12-24\"]], \"expected\": [[\"new-year\", \"2027-01-01\"], [\"mlk\", \"2027-01-18\"], [\"memorial\", \"2027-05-31\"], [\"juneteenth\", \"2027-06-18\"], [\"independence\", \"2027-07-05\"], [\"labor\", \"2027-09-06\"], [\"thanksgiving\", \"2027-11-25\"], [\"day-after-thanksgiving\", \"2027-11-26\"], [\"christmas\", \"2027-12-24\"], [\"new-year-observed\", \"2027-12-31\"]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.107,"exit_code":0,"observations":[{"actual":[["mlk","2022-01-17"],["memorial","2022-05-30"],["juneteenth","2022-06-20"],["independence","2022-07-04"],["labor","2022-09-05"],["thanksgiving","2022-11-24"],["day-after-thanksgiving","2022-11-25"],["christmas","2022-12-26"]],"check":"regression: 2022 new year on saturday","expected":[["mlk","2022-01-17"],["memorial","2022-05-30"],["juneteenth","2022-06-20"],["independence","2022-07-04"],["labor","2022-09-05"],["thanksgiving","2022-11-24"],["day-after-thanksgiving","2022-11-25"],["christmas","2022-12-26"]],"passed":true},{"actual":[["new-year","2021-01-01"],["mlk","2021-01-18"],["memorial","2021-05-31"],["juneteenth","2021-06-18"],["independence","2021-07-05"],["labor","2021-09-06"],["thanksgiving","2021-11-25"],["day-after-thanksgiving","2021-11-26"],["christmas","2021-12-24"],["new-year-observed","2021-12-31"]],"check":"2021 next new year saturday","expected":[["new-year","2021-01-01"],["mlk","2021-01-18"],["memorial","2021-05-31"],["juneteenth","2021-06-18"],["independence","2021-07-05"],["labor","2021-09-06"],["thanksgiving","2021-11-25"],["day-after-thanksgiving","2021-11-26"],["christmas","2021-12-24"],["new-year-observed","2021-12-31"]],"passed":true},{"actual":[["new-year","2024-01-01"],["mlk","2024-01-15"],["memorial","2024-05-27"],["juneteenth","2024-06-19"],["independence","2024-07-04"],["labor","2024-09-02"],["thanksgiving","2024-11-28"],["day-after-thanksgiving","2024-11-29"],["christmas","2024-12-25"]],"check":"2024 leap","expected":[["new-year","2024-01-01"],["mlk","2024-01-15"],["memorial","2024-05-27"],["juneteenth","2024-06-19"],["independence","2024-07-04"],["labor","2024-09-02"],["thanksgiving","2024-11-28"],["day-after-thanksgiving","2024-11-29"],["christmas","2024-12-25"]],"passed":true},{"actual":[["new-year","2019-01-01"],["mlk","2019-01-21"],["memorial","2019-05-27"],["juneteenth","2019-06-19"],["independence","2019-07-04"],["labor","2019-09-02"],["thanksgiving","2019-11-28"],["day-after-thanksgiving","2019-11-29"],["christmas","2019-12-25"]],"check":"2019 november starts friday","expected":[["new-year","2019-01-01"],["mlk","2019-01-21"],["memorial","2019-05-27"],["juneteenth","2019-06-19"],["independence","2019-07-04"],["labor","2019-09-02"],["thanksgiving","2019-11-28"],["day-after-thanksgiving","2019-11-29"],["christmas","2019-12-25"]],"passed":true},{"actual":[["new-year","2020-01-01"],["mlk","2020-01-20"],["memorial","2020-05-25"],["juneteenth","2020-06-19"],["independence","2020-07-03"],["labor","2020-09-07"],["thanksgiving","2020-11-26"],["day-after-thanksgiving","2020-11-27"],["christmas","2020-12-25"]],"check":"2020 july 4 saturday","expected":[["new-year","2020-01-01"],["mlk","2020-01-20"],["memorial","2020-05-25"],["juneteenth","2020-06-19"],["independence","2020-07-03"],["labor","2020-09-07"],["thanksgiving","2020-11-26"],["day-after-thanksgiving","2020-11-27"],["christmas","2020-12-25"]],"passed":true},{"actual":[["new-year","2016-01-01"],["mlk","2016-01-18"],["memorial","2016-05-30"],["juneteenth","2016-06-20"],["independence","2016-07-04"],["labor","2016-09-05"],["thanksgiving","2016-11-24"],["day-after-thanksgiving","2016-11-25"],["christmas","2016-12-26"]],"check":"2016 next new year sunday","expected":[["new-year","2016-01-01"],["mlk","2016-01-18"],["memorial","2016-05-30"],["juneteenth","2016-06-20"],["independence","2016-07-04"],["labor","2016-09-05"],["thanksgiving","2016-11-24"],["day-after-thanksgiving","2016-11-25"],["christmas","2016-12-26"]],"passed":true},{"actual":[["new-year","2027-01-01"],["mlk","2027-01-18"],["memorial","2027-05-31"],["juneteenth","2027-06-18"],["independence","2027-07-05"],["labor","2027-09-06"],["thanksgiving","2027-11-25"],["day-after-thanksgiving","2027-11-26"],["christmas","2027-12-24"],["new-year-observed","2027-12-31"]],"check":"2027 five mondays may","expected":[["new-year","2027-01-01"],["mlk","2027-01-18"],["memorial","2027-05-31"],["juneteenth","2027-06-18"],["independence","2027-07-05"],["labor","2027-09-06"],["thanksgiving","2027-11-25"],["day-after-thanksgiving","2027-11-26"],["christmas","2027-12-24"],["new-year-observed","2027-12-31"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: 2022 new year on saturday\", \"actual\": [[\"mlk\", \"2022-01-17\"], [\"memorial\", \"2022-05-30\"], [\"juneteenth\", \"2022-06-20\"], [\"independence\", \"2022-07-04\"], [\"labor\", \"2022-09-05\"], [\"thanksgiving\", \"2022-11-24\"], [\"day-after-thanksgiving\", \"2022-11-25\"], [\"christmas\", \"2022-12-26\"]], \"expected\": [[\"mlk\", \"2022-01-17\"], [\"memorial\", \"2022-05-30\"], [\"juneteenth\", \"2022-06-20\"], [\"independence\", \"2022-07-04\"], [\"labor\", \"2022-09-05\"], [\"thanksgiving\", \"2022-11-24\"], [\"day-after-thanksgiving\", \"2022-11-25\"], [\"christmas\", \"2022-12-26\"]], \"passed\": true}, {\"check\": \"2021 next new year saturday\", \"actual\": [[\"new-year\", \"2021-01-01\"], [\"mlk\", \"2021-01-18\"], [\"memorial\", \"2021-05-31\"], [\"juneteenth\", \"2021-06-18\"], [\"independence\", \"2021-07-05\"], [\"labor\", \"2021-09-06\"], [\"thanksgiving\", \"2021-11-25\"], [\"day-after-thanksgiving\", \"2021-11-26\"], [\"christmas\", \"2021-12-24\"], [\"new-year-observed\", \"2021-12-31\"]], \"expected\": [[\"new-year\", \"2021-01-01\"], [\"mlk\", \"2021-01-18\"], [\"memorial\", \"2021-05-31\"], [\"juneteenth\", \"2021-06-18\"], [\"independence\", \"2021-07-05\"], [\"labor\", \"2021-09-06\"], [\"thanksgiving\", \"2021-11-25\"], [\"day-after-thanksgiving\", \"2021-11-26\"], [\"christmas\", \"2021-12-24\"], [\"new-year-observed\", \"2021-12-31\"]], \"passed\": true}, {\"check\": \"2024 leap\", \"actual\": [[\"new-year\", \"2024-01-01\"], [\"mlk\", \"2024-01-15\"], [\"memorial\", \"2024-05-27\"], [\"juneteenth\", \"2024-06-19\"], [\"independence\", \"2024-07-04\"], [\"labor\", \"2024-09-02\"], [\"thanksgiving\", \"2024-11-28\"], [\"day-after-thanksgiving\", \"2024-11-29\"], [\"christmas\", \"2024-12-25\"]], \"expected\": [[\"new-year\", \"2024-01-01\"], [\"mlk\", \"2024-01-15\"], [\"memorial\", \"2024-05-27\"], [\"juneteenth\", \"2024-06-19\"], [\"independence\", \"2024-07-04\"], [\"labor\", \"2024-09-02\"], [\"thanksgiving\", \"2024-11-28\"], [\"day-after-thanksgiving\", \"2024-11-29\"], [\"christmas\", \"2024-12-25\"]], \"passed\": true}, {\"check\": \"2019 november starts friday\", \"actual\": [[\"new-year\", \"2019-01-01\"], [\"mlk\", \"2019-01-21\"], [\"memorial\", \"2019-05-27\"], [\"juneteenth\", \"2019-06-19\"], [\"independence\", \"2019-07-04\"], [\"labor\", \"2019-09-02\"], [\"thanksgiving\", \"2019-11-28\"], [\"day-after-thanksgiving\", \"2019-11-29\"], [\"christmas\", \"2019-12-25\"]], \"expected\": [[\"new-year\", \"2019-01-01\"], [\"mlk\", \"2019-01-21\"], [\"memorial\", \"2019-05-27\"], [\"juneteenth\", \"2019-06-19\"], [\"independence\", \"2019-07-04\"], [\"labor\", \"2019-09-02\"], [\"thanksgiving\", \"2019-11-28\"], [\"day-after-thanksgiving\", \"2019-11-29\"], [\"christmas\", \"2019-12-25\"]], \"passed\": true}, {\"check\": \"2020 july 4 saturday\", \"actual\": [[\"new-year\", \"2020-01-01\"], [\"mlk\", \"2020-01-20\"], [\"memorial\", \"2020-05-25\"], [\"juneteenth\", \"2020-06-19\"], [\"independence\", \"2020-07-03\"], [\"labor\", \"2020-09-07\"], [\"thanksgiving\", \"2020-11-26\"], [\"day-after-thanksgiving\", \"2020-11-27\"], [\"christmas\", \"2020-12-25\"]], \"expected\": [[\"new-year\", \"2020-01-01\"], [\"mlk\", \"2020-01-20\"], [\"memorial\", \"2020-05-25\"], [\"juneteenth\", \"2020-06-19\"], [\"independence\", \"2020-07-03\"], [\"labor\", \"2020-09-07\"], [\"thanksgiving\", \"2020-11-26\"], [\"day-after-thanksgiving\", \"2020-11-27\"], [\"christmas\", \"2020-12-25\"]], \"passed\": true}, {\"check\": \"2016 next new year sunday\", \"actual\": [[\"new-year\", \"2016-01-01\"], [\"mlk\", \"2016-01-18\"], [\"memorial\", \"2016-05-30\"], [\"juneteenth\", \"2016-06-20\"], [\"independence\", \"2016-07-04\"], [\"labor\", \"2016-09-05\"], [\"thanksgiving\", \"2016-11-24\"], [\"day-after-thanksgiving\", \"2016-11-25\"], [\"christmas\", \"2016-12-26\"]], \"expected\": [[\"new-year\", \"2016-01-01\"], [\"mlk\", \"2016-01-18\"], [\"memorial\", \"2016-05-30\"], [\"juneteenth\", \"2016-06-20\"], [\"independence\", \"2016-07-04\"], [\"labor\", \"2016-09-05\"], [\"thanksgiving\", \"2016-11-24\"], [\"day-after-thanksgiving\", \"2016-11-25\"], [\"christmas\", \"2016-12-26\"]], \"passed\": true}, {\"check\": \"2027 five mondays may\", \"actual\": [[\"new-year\", \"2027-01-01\"], [\"mlk\", \"2027-01-18\"], [\"memorial\", \"2027-05-31\"], [\"juneteenth\", \"2027-06-18\"], [\"independence\", \"2027-07-05\"], [\"labor\", \"2027-09-06\"], [\"thanksgiving\", \"2027-11-25\"], [\"day-after-thanksgiving\", \"2027-11-26\"], [\"christmas\", \"2027-12-24\"], [\"new-year-observed\", \"2027-12-31\"]], \"expected\": [[\"new-year\", \"2027-01-01\"], [\"mlk\", \"2027-01-18\"], [\"memorial\", \"2027-05-31\"], [\"juneteenth\", \"2027-06-18\"], [\"independence\", \"2027-07-05\"], [\"labor\", \"2027-09-06\"], [\"thanksgiving\", \"2027-11-25\"], [\"day-after-thanksgiving\", \"2027-11-26\"], [\"christmas\", \"2027-12-24\"], [\"new-year-observed\", \"2027-12-31\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}