Repository: vacanza/holidays
Pull request #2277 (2025-02-08 11:09:29)

Add make script for Windows
<!--
  Thanks for contributing to holidays!
-->

## Proposed change

<!--
  Describe the big picture of your changes.
  Don't forget to link your PR to an existing issue if any.
-->

Add CMD script for Windows with `make`-like functionality.

## Type of change

<!--
  Type of change you want to introduce. Please, check one (1) box only!
  If your PR requires multiple boxes to be checked, most likely it needs to
  be split into multiple PRs.
-->

- [ ] New country/market holidays support (thank you!)
- [ ] Supported country/market holidays update (calendar discrepancy fix, localization)
- [x] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
- [ ] Dependency update (version deprecation/pin/upgrade)
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] Breaking change (a code change causing existing functionality to break)
- [ ] New feature (new `holidays` functionality in general)

## Checklist

<!--
  Put an `x` in the boxes that apply. You can change them after PR is created.
-->

- [x] I've followed the [contributing guidelines][contributing-guidelines]
- [x] I've successfully run `make check`, all checks and tests are green

<!--
  Thanks again for your contribution!
-->

[contributing-guidelines]: https://github.com/vacanza/holidays/blob/dev/CONTRIBUTING.rst
[docs]: https://github.com/vacanza/holidays/tree/dev/docs/source


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2277) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2277&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2277&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2277&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2277&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2277&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2277)


codecov[bot]: ## [Codecov](https://app.codecov.io/gh/vacanza/holidays/pull/2277?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 100.00%. Comparing base [(`47010d3`)](https://app.codecov.io/gh/vacanza/holidays/commit/47010d35892a2f50d306e1d5f31992acb715b49f?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) to head [(`1e9b29a`)](https://app.codecov.io/gh/vacanza/holidays/commit/1e9b29a856f1dc2daae7e9b7fa2325f06bcbc9db?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff            @@
##               dev     #2277   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          200       200           
  Lines        12181     12181           
  Branches      1731      1731           
=========================================
  Hits         12181     12181           
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/vacanza/holidays/pull/2277?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).

Prateekshit73: I believe this should help resolve issue #956.
sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2277) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2277&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2277&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2277&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2277&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2277&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2277)


Prateekshit73: > I also hope it will help. Thank you for raising up this issue.

Thank you for your response! Just to clarify, the issue was actually raised by @arkid15r . I was working on it as well, but before I had a chance to submit my pull request, I noticed yours and wanted to mention it. I appreciate your efforts on this!

Patch:
diff --git a/.gitattributes b/.gitattributes
index 4282322a..6dbf0a54 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,3 @@
 # Set the default behavior, in case people don't have core.autocrlf set.
 * text eol=lf
+*.cmd text eol=crlf
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 6f940ec2..5f578439 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -11,6 +11,7 @@ repos:
       - id: mixed-line-ending
         args:
           - --fix=lf
+        exclude: make.cmd
       - id: trailing-whitespace
         exclude_types:
           - rst
diff --git a/README.rst b/README.rst
index 3f2046db..08275319 100644
--- a/README.rst
+++ b/README.rst
@@ -738,8 +738,8 @@ All other default values are highlighted with bold:
    * - Panama
      - PA
      -
-     -
-     -
+     - en_US, **es**, uk
+     - BANK
    * - Papua New Guinea
      - PG
      -
diff --git a/holidays/countries/panama.py b/holidays/countries/panama.py
index 818c9d1f..432cffad 100644
--- a/holidays/countries/panama.py
+++ b/holidays/countries/panama.py
@@ -10,66 +10,94 @@
 #  Website: https://github.com/vacanza/holidays
 #  License: MIT (see LICENSE file)
 
-from holidays.groups import ChristianHolidays, InternationalHolidays
+from gettext import gettext as tr
+
+from holidays.calendars.gregorian import JUL
+from holidays.constants import BANK, PUBLIC
+from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
 from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
 
 
-class Panama(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
+class Panama(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
     """
     References:
-      - https://en.wikipedia.org/wiki/Public_holidays_in_Panama
-      - https://publicholidays.com.pa/
+        - https://en.wikipedia.org/wiki/Public_holidays_in_Panama
+        - `Labor Code 1947 <https://docs.panama.justia.com/federales/leyes/67-de-1947-nov-26-1947.pdf>`_
+        - `Cabinet Decree #347 of 1969 <https://docs.panama.justia.com/federales/decretos-de-gabinete/decreto-de-gabinete-347-de-1969-nov-14-1969.pdf>`_
+        - `Labor Code 1971 <https://www.mitradel.gob.pa/wp-content/uploads/2016/12/c%C3%B3digo-detrabajo.pdf>`_
+        - `Law #4 of Jun 25, 1990 <https://s3-legispan.asamblea.gob.pa/legispan/NORMAS/1990/1990/LEY/Administrador%20Legispan_21570_1990_7_2_ASAMBLEA%20LEGISLATIVA_4.pdf>`_
+        - `Law #55 of Nov 7, 2001 <https://docs.panama.justia.com/federales/leyes/55-de-2001-nov-14-2001.pdf>`_
     """
 
     country = "PA"
-    observed_label = "%s (observed)"
+    default_language = "es"
+    # %s (observed).
+    observed_label = tr("%s (puente)")
+    supported_categories = (BANK, PUBLIC)
+    supported_languages = ("en_US", "es", "uk")
+    start_year = 1948
 
     def __init__(self, *args, **kwargs):
         ChristianHolidays.__init__(self)
         InternationalHolidays.__init__(self)
+        StaticHolidays.__init__(self, PanamaStaticHolidays)
         kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
+        kwargs.setdefault("observed_since", 1972)
         super().__init__(*args, **kwargs)
 
     def _populate_public_holidays(self):
-        # New Year's Day
-        self._add_observed(self._add_new_years_day("New Year's Day"))
+        # New Year's Day.
+        self._add_observed(self._add_new_years_day(tr("Año Nuevo")))
 
-        # Martyrs' Day
-        self._add_observed(self._add_holiday_jan_9("Martyrs' Day"))
+        if self._year >= 1972:
+            # Martyrs' Day.
+            self._add_observed(self._add_holiday_jan_9(tr("Día de los Mártires")))
 
-        # Carnival
-        self._add_carnival_tuesday("Carnival")
+        if self._year <= 1971:
+            # Constitution Day.
+            self._add_holiday_mar_1(tr("Día de la Constitución"))
 
-        # Good Friday
-        self._add_good_friday("Good Friday")
+        # Carnival Tuesday.
+        self._add_carnival_tuesday(tr("Martes de Carnaval"))
 
-        # Labour Day
-        self._add_observed(self._add_labor_day("Labour Day"))
+        # Good Friday.
+        self._add_good_friday(tr("Viernes Santo"))
 
-        # Separation Day
-        self._add_holiday_nov_3("Separation Day")
+        # Labor Day.
+        self._add_observed(self._add_labor_day(tr("Día del Trabajo")))
 
-        # National Symbols Day
-        self._add_holiday_nov_4("National Symbols Day")
+        # Separation Day.
+        self._add_observed(self._add_holiday_nov_3(tr("Separación de Panamá de Colombia")))
 
-        # Colon Day
-        self._add_holiday_nov_5("Colon Day")
+        # Law #55 of Nov 7, 2001.
+        if self._year >= 2002:
+            # Colon Day.
+            self._add_observed(self._add_holiday_nov_5(tr("Día de Colón")))
 
-        # Los Santos Uprising Day
-        self._add_holiday_nov_10("Los Santos Uprising Day")
+        # Cabinet Decree #347 of 1969.
+        if self._year >= 1969:
+            # Los Santos Uprising Day.
+            self._add_observed(self._add_holiday_nov_10(tr("Primer Grito de Independencia")))
 
-        # Independence Day
-        self._add_observed(self._add_holiday_nov_28("Independence Day"))
+        # Independence Day.
+        self._add_observed(self._add_holiday_nov_28(tr("Independencia de Panamá de España")))
 
-        # Mother's Day
-        self._add_observed(self._add_holiday_dec_8("Mother's Day"))
+        # Mother's Day.
+        self._add_observed(self._add_holiday_dec_8(tr("Día de la Madre")))
 
-        # National Mourning Day
         if self._year >= 2022:
-            self._add_observed(self._add_holiday_dec_20("National Mourning Day"))
+            # National Mourning Day.
+            self._add_observed(self._add_holiday_dec_20(tr("Día de Duelo Nacional")))
+
+        # Christmas Day.
+        self._add_observed(self._add_christmas_day(tr("Navidad")))
+
+    def _populate_bank_holidays(self):
+        # Carnival Monday.
+        self._add_carnival_monday(tr("Lunes de Carnaval"))
 
-        # Christmas Day
-        self._add_observed(self._add_christmas_day("Christmas Day"))
+        # National Symbols Day.
+        self._add_holiday_nov_4(tr("Día de los Símbolos Patrios"))
 
 
 class PA(Panama):
@@ -78,3 +106,13 @@ class PA(Panama):
 
 class PAN(Panama):
     pass
+
+
+class PanamaStaticHolidays:
+    # Presidential Inauguration Day.
+    presidential_inauguration_day = tr("Toma posesión del Presidente de la república")
+    special_public_holidays = {
+        2014: (JUL, 1, presidential_inauguration_day),
+        2019: (JUL, 1, presidential_inauguration_day),
+        2024: (JUL, 1, presidential_inauguration_day),
+    }
diff --git a/holidays/locale/en_US/LC_MESSAGES/PA.po b/holidays/locale/en_US/LC_MESSAGES/PA.po
new file mode 100644
index 00000000..c3c2b4ab
--- /dev/null
+++ b/holidays/locale/en_US/LC_MESSAGES/PA.po
@@ -0,0 +1,96 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Panama holidays en_US localization.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.67\n"
+"POT-Creation-Date: 2025-02-06 22:15+0200\n"
+"PO-Revision-Date: 2025-02-06 22:16+0200\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: en_US\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 5.0.5\n"
+"X-Generator: Poedit 3.5\n"
+
+#. %s (observed).
+#, c-format
+msgid "%s (puente)"
+msgstr "%s (observed)"
+
+#. New Year's Day.
+msgid "Año Nuevo"
+msgstr "New Year's Day"
+
+#. Martyrs' Day.
+msgid "Día de los Mártires"
+msgstr "Martyrs' Day"
+
+#. Constitution Day.
+msgid "Día de la Constitución"
+msgstr "Constitution Day"
+
+#. Carnival Tuesday.
+msgid "Martes de Carnaval"
+msgstr "Carnival Tuesday"
+
+#. Good Friday.
+msgid "Viernes Santo"
+msgstr "Good Friday"
+
+#. Labor Day.
+msgid "Día del Trabajo"
+msgstr "Labor Day"
+
+#. Separation Day.
+msgid "Separación de Panamá de Colombia"
+msgstr "Separation Day"
+
+#. Colon Day.
+msgid "Día de Colón"
+msgstr "Colon Day"
+
+#. Los Santos Uprising Day.
+msgid "Primer Grito de Independencia"
+msgstr "Los Santos Uprising Day"
+
+#. Independence Day.
+msgid "Independencia de Panamá de España"
+msgstr "Independence Day"
+
+#. Mother's Day.
+msgid "Día de la Madre"
+msgstr "Mother's Day"
+
+#. National Mourning Day.
+msgid "Día de Duelo Nacional"
+msgstr "National Mourning Day"
+
+#. Christmas Day.
+msgid "Navidad"
+msgstr "Christmas Day"
+
+#. Carnival Monday.
+msgid "Lunes de Carnaval"
+msgstr "Carnival Monday"
+
+#. National Symbols Day.
+msgid "Día de los Símbolos Patrios"
+msgstr "National Symbols Day"
+
+#. Presidential Inauguration Day.
+msgid "Toma posesión del Presidente de la república"
+msgstr "Presidential Inauguration Day"
diff --git a/holidays/locale/es/LC_MESSAGES/PA.po b/holidays/locale/es/LC_MESSAGES/PA.po
new file mode 100644
index 00000000..0a60bdef
--- /dev/null
+++ b/holidays/locale/es/LC_MESSAGES/PA.po
@@ -0,0 +1,96 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Panama holidays.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.67\n"
+"POT-Creation-Date: 2025-02-06 22:15+0200\n"
+"PO-Revision-Date: 2025-02-06 22:16+0200\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 5.0.5\n"
+"X-Generator: Poedit 3.5\n"
+
+#. %s (observed).
+#, c-format
+msgid "%s (puente)"
+msgstr ""
+
+#. New Year's Day.
+msgid "Año Nuevo"
+msgstr ""
+
+#. Martyrs' Day.
+msgid "Día de los Mártires"
+msgstr ""
+
+#. Constitution Day.
+msgid "Día de la Constitución"
+msgstr ""
+
+#. Carnival Tuesday.
+msgid "Martes de Carnaval"
+msgstr ""
+
+#. Good Friday.
+msgid "Viernes Santo"
+msgstr ""
+
+#. Labor Day.
+msgid "Día del Trabajo"
+msgstr ""
+
+#. Separation Day.
+msgid "Separación de Panamá de Colombia"
+msgstr ""
+
+#. Colon Day.
+msgid "Día de Colón"
+msgstr ""
+
+#. Los Santos Uprising Day.
+msgid "Primer Grito de Independencia"
+msgstr ""
+
+#. Independence Day.
+msgid "Independencia de Panamá de España"
+msgstr ""
+
+#. Mother's Day.
+msgid "Día de la Madre"
+msgstr ""
+
+#. National Mourning Day.
+msgid "Día de Duelo Nacional"
+msgstr ""
+
+#. Christmas Day.
+msgid "Navidad"
+msgstr ""
+
+#. Carnival Monday.
+msgid "Lunes de Carnaval"
+msgstr ""
+
+#. National Symbols Day.
+msgid "Día de los Símbolos Patrios"
+msgstr ""
+
+#. Presidential Inauguration Day.
+msgid "Toma posesión del Presidente de la república"
+msgstr ""
diff --git a/holidays/locale/uk/LC_MESSAGES/PA.po b/holidays/locale/uk/LC_MESSAGES/PA.po
new file mode 100644
index 00000000..49a44470
--- /dev/null
+++ b/holidays/locale/uk/LC_MESSAGES/PA.po
@@ -0,0 +1,96 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Panama holidays uk localization.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.67\n"
+"POT-Creation-Date: 2025-02-06 22:15+0200\n"
+"PO-Revision-Date: 2025-02-06 23:00+0200\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 5.0.5\n"
+"X-Generator: Poedit 3.5\n"
+
+#. %s (observed).
+#, c-format
+msgid "%s (puente)"
+msgstr "%s (вихідний)"
+
+#. New Year's Day.
+msgid "Año Nuevo"
+msgstr "Новий рік"
+
+#. Martyrs' Day.
+msgid "Día de los Mártires"
+msgstr "День мучеників"
+
+#. Constitution Day.
+msgid "Día de la Constitución"
+msgstr "День Конституції"
+
+#. Carnival Tuesday.
+msgid "Martes de Carnaval"
+msgstr "Карнавальний вівторок"
+
+#. Good Friday.
+msgid "Viernes Santo"
+msgstr "Страсна пʼятниця"
+
+#. Labor Day.
+msgid "Día del Trabajo"
+msgstr "День праці"
+
+#. Separation Day.
+msgid "Separación de Panamá de Colombia"
+msgstr "День відокремлення від Колумбії"
+
+#. Colon Day.
+msgid "Día de Colón"
+msgstr "День Колона"
+
+#. Los Santos Uprising Day.
+msgid "Primer Grito de Independencia"
+msgstr "День початку повстання у Лос-Сантос"
+
+#. Independence Day.
+msgid "Independencia de Panamá de España"
+msgstr "День незалежності від Іспанії"
+
+#. Mother's Day.
+msgid "Día de la Madre"
+msgstr "День матері"
+
+#. National Mourning Day.
+msgid "Día de Duelo Nacional"
+msgstr "День національної скорботи"
+
+#. Christmas Day.
+msgid "Navidad"
+msgstr "Різдво Христове"
+
+#. Carnival Monday.
+msgid "Lunes de Carnaval"
+msgstr "Карнавальний понеділок"
+
+#. National Symbols Day.
+msgid "Día de los Símbolos Patrios"
+msgstr "День національних символів"
+
+#. Presidential Inauguration Day.
+msgid "Toma posesión del Presidente de la república"
+msgstr "Інавгурація Президента Республіки"
diff --git a/make.cmd b/make.cmd
new file mode 100644
index 00000000..8d3f1915
--- /dev/null
+++ b/make.cmd
@@ -0,0 +1,99 @@
+@Echo Off
+SetLocal EnableDelayedExpansion
+
+Set Target=%~1
+
+Set Targets=
+For /F "Delims=:" %%I in ('FindStr /R "^:" "%~f0"') Do Set Targets=!Targets! %%I
+For %%A in (!Targets!) Do (
+    If /I "%Target%"=="%%A" Call :%%A & Exit /B
+)
+GoTo :Help
+
+:Check
+    Call :L10n
+    Call :Pre-commit
+    Call :Doc
+    Call :Test
+    Exit /B
+
+:Clean
+    Del /S /Q *.mo
+    Del /S /Q *.pyc
+    RD /S /Q .mypy_cache
+    RD /S /Q .pytest_cache
+    RD /S /Q dist
+    RD /S /Q docs\build
+    RD /S /Q docs\source\_autosummary
+    Exit /B
+
+:Coverage
+    pytest --cov=. --cov-config=pyproject.toml --cov-report term-missing --dist loadscope --no-cov-on-fail --numprocesses auto
+    Exit /B
+
+:Doc
+    sphinx-build -E -T -W -b html -D language=en -j auto -q docs\source docs\build
+    Exit /B
+
+:Help
+    Echo Usage: make ^<Target^>
+    Echo     check         run pre-commit and tests
+    Echo     coverage      identify code not covered with tests
+    Echo     doc           run documentation build process
+    Echo     help          show summary of available commands
+    Echo     l10n          update .pot and .po files
+    Echo     package       build package distribution
+    Echo     pre-commit    run pre-commit against all files
+    Echo     setup         setup development environment
+    Echo     test          run tests (in parallel)
+    Echo     tox           run tox (in parallel)
+    Exit /B
+
+:L10n
+    python scripts\l10n\generate_po_files.py 2>nul >nul
+    python scripts\l10n\generate_mo_files.py
+    pre-commit run mixed-line-ending >nul
+    Exit /B
+
+:Package
+    python scripts\l10n\generate_mo_files.py
+    python -m build
+    Exit /B
+
+:Pre-commit
+    pre-commit run --all-files
+    Exit /B
+
+:Release-notes
+    python scripts\generate_release_notes.py
+    Exit /B
+
+:Sbom
+    python -m cyclonedx_py requirements requirements\runtime.txt
+    Exit /B
+
+:Setup
+    pip install --upgrade pip
+    pip install --requirement requirements\dev.txt
+    pip install --requirement requirements\docs.txt
+    pip install --requirement requirements\runtime.txt
+    pip install --requirement requirements\tests.txt
+    pre-commit install --hook-type pre-commit
+    pre-commit install --hook-type pre-push
+    Call :L10n
+    Call :Package
+    Exit /B
+
+:Snapshot
+    python scripts\l10n\generate_mo_files.py
+    python scripts\generate_snapshots.py
+    Exit /B
+
+:Test
+    python scripts\l10n\generate_mo_files.py
+    pytest --cov=. --cov-config=pyproject.toml --cov-report term --cov-report xml --durations 10 --durations-min=0.75 --dist loadscope --no-cov-on-fail --numprocesses auto
+    Exit /B
+
+:Tox
+    tox --parallel auto
+    Exit /B
diff --git a/snapshots/countries/PA_COMMON.json b/snapshots/countries/PA_COMMON.json
index 0f1c4945..1833f7a2 100644
--- a/snapshots/countries/PA_COMMON.json
+++ b/snapshots/countries/PA_COMMON.json
@@ -1,344 +1,305 @@
 {
     "1950-01-01": "New Year's Day",
-    "1950-01-02": "New Year's Day (observed)",
-    "1950-01-09": "Martyrs' Day",
-    "1950-02-21": "Carnival",
+    "1950-02-20": "Carnival Monday",
+    "1950-02-21": "Carnival Tuesday",
+    "1950-03-01": "Constitution Day",
     "1950-04-07": "Good Friday",
-    "1950-05-01": "Labour Day",
+    "1950-05-01": "Labor Day",
     "1950-11-03": "Separation Day",
     "1950-11-04": "National Symbols Day",
-    "1950-11-05": "Colon Day",
-    "1950-11-10": "Los Santos Uprising Day",
     "1950-11-28": "Independence Day",
     "1950-12-08": "Mother's Day",
     "1950-12-25": "Christmas Day",
     "1951-01-01": "New Year's Day",
-    "1951-01-09": "Martyrs' Day",
-    "1951-02-06": "Carnival",
+    "1951-02-05": "Carnival Monday",
+    "1951-02-06": "Carnival Tuesday",
+    "1951-03-01": "Constitution Day",
     "1951-03-23": "Good Friday",
-    "1951-05-01": "Labour Day",
+    "1951-05-01": "Labor Day",
     "1951-11-03": "Separation Day",
     "1951-11-04": "National Symbols Day",
-    "1951-11-05": "Colon Day",
-    "1951-11-10": "Los Santos Uprising Day",
     "1951-11-28": "Independence Day",
     "1951-12-08": "Mother's Day",
     "1951-12-25": "Christmas Day",
     "1952-01-01": "New Year's Day",
-    "1952-01-09": "Martyrs' Day",
-    "1952-02-26": "Carnival",
+    "1952-02-25": "Carnival Monday",
+    "1952-02-26": "Carnival Tuesday",
+    "1952-03-01": "Constitution Day",
     "1952-04-11": "Good Friday",
-    "1952-05-01": "Labour Day",
+    "1952-05-01": "Labor Day",
     "1952-11-03": "Separation Day",
     "1952-11-04": "National Symbols Day",
-    "1952-11-05": "Colon Day",
-    "1952-11-10": "Los Santos Uprising Day",
     "1952-11-28": "Independence Day",
     "1952-12-08": "Mother's Day",
     "1952-12-25": "Christmas Day",
     "1953-01-01": "New Year's Day",
-    "1953-01-09": "Martyrs' Day",
-    "1953-02-17": "Carnival",
+    "1953-02-16": "Carnival Monday",
+    "1953-02-17": "Carnival Tuesday",
+    "1953-03-01": "Constitution Day",
     "1953-04-03": "Good Friday",
-    "1953-05-01": "Labour Day",
+    "1953-05-01": "Labor Day",
     "1953-11-03": "Separation Day",
     "1953-11-04": "National Symbols Day",
-    "1953-11-05": "Colon Day",
-    "1953-11-10": "Los Santos Uprising Day",
     "1953-11-28": "Independence Day",
     "1953-12-08": "Mother's Day",
     "1953-12-25": "Christmas Day",
     "1954-01-01": "New Year's Day",
-    "1954-01-09": "Martyrs' Day",
-    "1954-03-02": "Carnival",
+    "1954-03-01": "Carnival Monday; Constitution Day",
+    "1954-03-02": "Carnival Tuesday",
     "1954-04-16": "Good Friday",
-    "1954-05-01": "Labour Day",
+    "1954-05-01": "Labor Day",
     "1954-11-03": "Separation Day",
     "1954-11-04": "National Symbols Day",
-    "1954-11-05": "Colon Day",
-    "1954-11-10": "Los Santos Uprising Day",
     "1954-11-28": "Independence Day",
-    "1954-11-29": "Independence Day (observed)",
     "1954-12-08": "Mother's Day",
     "1954-12-25": "Christmas Day",
     "1955-01-01": "New Year's Day",
-    "1955-01-09": "Martyrs' Day",
-    "1955-01-10": "Martyrs' Day (observed)",
-    "1955-02-22": "Carnival",
+    "1955-02-21": "Carnival Monday",
+    "1955-02-22": "Carnival Tuesday",
+    "1955-03-01": "Constitution Day",
     "1955-04-08": "Good Friday",
-    "1955-05-01": "Labour Day",
-    "1955-05-02": "Labour Day (observed)",
+    "1955-05-01": "Labor Day",
     "1955-11-03": "Separation Day",
     "1955-11-04": "National Symbols Day",
-    "1955-11-05": "Colon Day",
-    "1955-11-10": "Los Santos Uprising Day",
     "1955-11-28": "Independence Day",
     "1955-12-08": "Mother's Day",
     "1955-12-25": "Christmas Day",
-    "1955-12-26": "Christmas Day (observed)",
     "1956-01-01": "New Year's Day",
-    "1956-01-02": "New Year's Day (observed)",
-    "1956-01-09": "Martyrs' Day",
-    "1956-02-14": "Carnival",
+    "1956-02-13": "Carnival Monday",
+    "1956-02-14": "Carnival Tuesday",
+    "1956-03-01": "Constitution Day",
     "1956-03-30": "Good Friday",
-    "1956-05-01": "Labour Day",
+    "1956-05-01": "Labor Day",
     "1956-11-03": "Separation Day",
     "1956-11-04": "National Symbols Day",
-    "1956-11-05": "Colon Day",
-    "1956-11-10": "Los Santos Uprising Day",
     "1956-11-28": "Independence Day",
     "1956-12-08": "Mother's Day",
     "1956-12-25": "Christmas Day",
     "1957-01-01": "New Year's Day",
-    "1957-01-09": "Martyrs' Day",
-    "1957-03-05": "Carnival",
+    "1957-03-01": "Constitution Day",
+    "1957-03-04": "Carnival Monday",
+    "1957-03-05": "Carnival Tuesday",
     "1957-04-19": "Good Friday",
-    "1957-05-01": "Labour Day",
+    "1957-05-01": "Labor Day",
     "1957-11-03": "Separation Day",
     "1957-11-04": "National Symbols Day",
-    "1957-11-05": "Colon Day",
-    "1957-11-10": "Los Santos Uprising Day",
     "1957-11-28": "Independence Day",
     "1957-12-08": "Mother's Day",
-    "1957-12-09": "Mother's Day (observed)",
     "1957-12-25": "Christmas Day",
     "1958-01-01": "New Year's Day",
-    "1958-01-09": "Martyrs' Day",
-    "1958-02-18": "Carnival",
+    "1958-02-17": "Carnival Monday",
+    "1958-02-18": "Carnival Tuesday",
+    "1958-03-01": "Constitution Day",
     "1958-04-04": "Good Friday",
-    "1958-05-01": "Labour Day",
+    "1958-05-01": "Labor Day",
     "1958-11-03": "Separation Day",
     "1958-11-04": "National Symbols Day",
-    "1958-11-05": "Colon Day",
-    "1958-11-10": "Los Santos Uprising Day",
     "1958-11-28": "Independence Day",
     "1958-12-08": "Mother's Day",
     "1958-12-25": "Christmas Day",
     "1959-01-01": "New Year's Day",
-    "1959-01-09": "Martyrs' Day",
-    "1959-02-10": "Carnival",
+    "1959-02-09": "Carnival Monday",
+    "1959-02-10": "Carnival Tuesday",
+    "1959-03-01": "Constitution Day",
     "1959-03-27": "Good Friday",
-    "1959-05-01": "Labour Day",
+    "1959-05-01": "Labor Day",
     "1959-11-03": "Separation Day",
     "1959-11-04": "National Symbols Day",
-    "1959-11-05": "Colon Day",
-    "1959-11-10": "Los Santos Uprising Day",
     "1959-11-28": "Independence Day",
     "1959-12-08": "Mother's Day",
     "1959-12-25": "Christmas Day",
     "1960-01-01": "New Year's Day",
-    "1960-01-09": "Martyrs' Day",
-    "1960-03-01": "Carnival",
+    "1960-02-29": "Carnival Monday",
+    "1960-03-01": "Carnival Tuesday; Constitution Day",
     "1960-04-15": "Good Friday",
-    "1960-05-01": "Labour Day",
-    "1960-05-02": "Labour Day (observed)",
+    "1960-05-01": "Labor Day",
     "1960-11-03": "Separation Day",
     "1960-11-04": "National Symbols Day",
-    "1960-11-05": "Colon Day",
-    "1960-11-10": "Los Santos Uprising Day",
     "1960-11-28": "Independence Day",
     "1960-12-08": "Mother's Day",
     "1960-12-25": "Christmas Day",
-    "1960-12-26": "Christmas Day (observed)",
     "1961-01-01": "New Year's Day",
-    "1961-01-02": "New Year's Day (observed)",
-    "1961-01-09": "Martyrs' Day",
-    "1961-02-14": "Carnival",
+    "1961-02-13": "Carnival Monday",
+    "1961-02-14": "Carnival Tuesday",
+    "1961-03-01": "Constitution Day",
     "1961-03-31": "Good Friday",
-    "1961-05-01": "Labour Day",
+    "1961-05-01": "Labor Day",
     "1961-11-03": "Separation Day",
     "1961-11-04": "National Symbols Day",
-    "1961-11-05": "Colon Day",
-    "1961-11-10": "Los Santos Uprising Day",
     "1961-11-28": "Independence Day",
     "1961-12-08": "Mother's Day",
     "1961-12-25": "Christmas Day",
     "1962-01-01": "New Year's Day",
-    "1962-01-09": "Martyrs' Day",
-    "1962-03-06": "Carnival",
+    "1962-03-01": "Constitution Day",
+    "1962-03-05": "Carnival Monday",
+    "1962-03-06": "Carnival Tuesday",
     "1962-04-20": "Good Friday",
-    "1962-05-01": "Labour Day",
+    "1962-05-01": "Labor Day",
     "1962-11-03": "Separation Day",
     "1962-11-04": "National Symbols Day",
-    "1962-11-05": "Colon Day",
-    "1962-11-10": "Los Santos Uprising Day",
     "1962-11-28": "Independence Day",
     "1962-12-08": "Mother's Day",
     "1962-12-25": "Christmas Day",
     "1963-01-01": "New Year's Day",
-    "1963-01-09": "Martyrs' Day",
-    "1963-02-26": "Carnival",
+    "1963-02-25": "Carnival Monday",
+    "1963-02-26": "Carnival Tuesday",
+    "1963-03-01": "Constitution Day",
     "1963-04-12": "Good Friday",
-    "1963-05-01": "Labour Day",
+    "1963-05-01": "Labor Day",
     "1963-11-03": "Separation Day",
     "1963-11-04": "National Symbols Day",
-    "1963-11-05": "Colon Day",
-    "1963-11-10": "Los Santos Uprising Day",
     "1963-11-28": "Independence Day",
     "1963-12-08": "Mother's Day",
-    "1963-12-09": "Mother's Day (observed)",
     "1963-12-25": "Christmas Day",
     "1964-01-01": "New Year's Day",
-    "1964-01-09": "Martyrs' Day",
-    "1964-02-11": "Carnival",
+    "1964-02-10": "Carnival Monday",
+    "1964-02-11": "Carnival Tuesday",
+    "1964-03-01": "Constitution Day",
     "1964-03-27": "Good Friday",
-    "1964-05-01": "Labour Day",
+    "1964-05-01": "Labor Day",
     "1964-11-03": "Separation Day",
     "1964-11-04": "National Symbols Day",
-    "1964-11-05": "Colon Day",
-    "1964-11-10": "Los Santos Uprising Day",
     "1964-11-28": "Independence Day",
     "1964-12-08": "Mother's Day",
     "1964-12-25": "Christmas Day",
     "1965-01-01": "New Year's Day",
-    "1965-01-09": "Martyrs' Day",
-    "1965-03-02": "Carnival",
+    "1965-03-01": "Carnival Monday; Constitution Day",
+    "1965-03-02": "Carnival Tuesday",
     "1965-04-16": "Good Friday",
-    "1965-05-01": "Labour Day",
+    "1965-05-01": "Labor Day",
     "1965-11-03": "Separation Day",
     "1965-11-04": "National Symbols Day",
-    "1965-11-05": "Colon Day",
-    "1965-11-10": "Los Santos Uprising Day",
     "1965-11-28": "Independence Day",
-    "1965-11-29": "Independence Day (observed)",
     "1965-12-08": "Mother's Day",
     "1965-12-25": "Christmas Day",
     "1966-01-01": "New Year's Day",
-    "1966-01-09": "Martyrs' Day",
-    "1966-01-10": "Martyrs' Day (observed)",
-    "1966-02-22": "Carnival",
+    "1966-02-21": "Carnival Monday",
+    "1966-02-22": "Carnival Tuesday",
+    "1966-03-01": "Constitution Day",
     "1966-04-08": "Good Friday",
-    "1966-05-01": "Labour Day",
-    "1966-05-02": "Labour Day (observed)",
+    "1966-05-01": "Labor Day",
     "1966-11-03": "Separation Day",
     "1966-11-04": "National Symbols Day",
-    "1966-11-05": "Colon Day",
-    "1966-11-10": "Los Santos Uprising Day",
     "1966-11-28": "Independence Day",
     "1966-12-08": "Mother's Day",
     "1966-12-25": "Christmas Day",
-    "1966-12-26": "Christmas Day (observed)",
     "1967-01-01": "New Year's Day",
-    "1967-01-02": "New Year's Day (observed)",
-    "1967-01-09": "Martyrs' Day",
-    "1967-02-07": "Carnival",
+    "1967-02-06": "Carnival Monday",
+    "1967-02-07": "Carnival Tuesday",
+    "1967-03-01": "Constitution Day",
     "1967-03-24": "Good Friday",
-    "1967-05-01": "Labour Day",
+    "1967-05-01": "Labor Day",
     "1967-11-03": "Separation Day",
     "1967-11-04": "National Symbols Day",
-    "1967-11-05": "Colon Day",
-    "1967-11-10": "Los Santos Uprising Day",
     "1967-11-28": "Independence Day",
     "1967-12-08": "Mother's Day",
     "1967-12-25": "Christmas Day",
     "1968-01-01": "New Year's Day",
-    "1968-01-09": "Martyrs' Day",
-    "1968-02-27": "Carnival",
+    "1968-02-26": "Carnival Monday",
+    "1968-02-27": "Carnival Tuesday",
+    "1968-03-01": "Constitution Day",
     "1968-04-12": "Good Friday",
-    "1968-05-01": "Labour Day",
+    "1968-05-01": "Labor Day",
     "1968-11-03": "Separation Day",
     "1968-11-04": "National Symbols Day",
-    "1968-11-05": "Colon Day",
-    "1968-11-10": "Los Santos Uprising Day",
     "1968-11-28": "Independence Day",
     "1968-12-08": "Mother's Day",
-    "1968-12-09": "Mother's Day (observed)",
     "1968-12-25": "Christmas Day",
     "1969-01-01": "New Year's Day",
-    "1969-01-09": "Martyrs' Day",
-    "1969-02-18": "Carnival",
+    "1969-02-17": "Carnival Monday",
+    "1969-02-18": "Carnival Tuesday",
+    "1969-03-01": "Constitution Day",
     "1969-04-04": "Good Friday",
-    "1969-05-01": "Labour Day",
+    "1969-05-01": "Labor Day",
     "1969-11-03": "Separation Day",
     "1969-11-04": "National Symbols Day",
-    "1969-11-05": "Colon Day",
     "1969-11-10": "Los Santos Uprising Day",
     "1969-11-28": "Independence Day",
     "1969-12-08": "Mother's Day",
     "1969-12-25": "Christmas Day",
     "1970-01-01": "New Year's Day",
-    "1970-01-09": "Martyrs' Day",
-    "1970-02-10": "Carnival",
+    "1970-02-09": "Carnival Monday",
+    "1970-02-10": "Carnival Tuesday",
+    "1970-03-01": "Constitution Day",
     "1970-03-27": "Good Friday",
-    "1970-05-01": "Labour Day",
+    "1970-05-01": "Labor Day",
     "1970-11-03": "Separation Day",
     "1970-11-04": "National Symbols Day",
-    "1970-11-05": "Colon Day",
     "1970-11-10": "Los Santos Uprising Day",
     "1970-11-28": "Independence Day",
     "1970-12-08": "Mother's Day",
     "1970-12-25": "Christmas Day",
     "1971-01-01": "New Year's Day",
-    "1971-01-09": "Martyrs' Day",
-    "1971-02-23": "Carnival",
+    "1971-02-22": "Carnival Monday",
+    "1971-02-23": "Carnival Tuesday",
+    "1971-03-01": "Constitution Day",
     "1971-04-09": "Good Friday",
-    "1971-05-01": "Labour Day",
+    "1971-05-01": "Labor Day",
     "1971-11-03": "Separation Day",
     "1971-11-04": "National Symbols Day",
-    "1971-11-05": "Colon Day",
     "1971-11-10": "Los Santos Uprising Day",
     "1971-11-28": "Independence Day",
-    "1971-11-29": "Independence Day (observed)",
     "1971-12-08": "Mother's Day",
     "1971-12-25": "Christmas Day",
     "1972-01-01": "New Year's Day",
     "1972-01-09": "Martyrs' Day",
     "1972-01-10": "Martyrs' Day (observed)",
-    "1972-02-15": "Carnival",
+    "1972-02-14": "Carnival Monday",
+    "1972-02-15": "Carnival Tuesday",
     "1972-03-31": "Good Friday",
-    "1972-05-01": "Labour Day",
+    "1972-05-01": "Labor Day",
     "1972-11-03": "Separation Day",
     "1972-11-04": "National Symbols Day",
-    "1972-11-05": "Colon Day",
     "1972-11-10": "Los Santos Uprising Day",
     "1972-11-28": "Independence Day",
     "1972-12-08": "Mother's Day",
     "1972-12-25": "Christmas Day",
     "1973-01-01": "New Year's Day",
     "1973-01-09": "Martyrs' Day",
-    "1973-03-06": "Carnival",
+    "1973-03-05": "Carnival Monday",
+    "1973-03-06": "Carnival Tuesday",
     "1973-04-20": "Good Friday",
-    "1973-05-01": "Labour Day",
+    "1973-05-01": "Labor Day",
     "1973-11-03": "Separation Day",
     "1973-11-04": "National Symbols Day",
-    "1973-11-05": "Colon Day",
     "1973-11-10": "Los Santos Uprising Day",
     "1973-11-28": "Independence Day",
     "1973-12-08": "Mother's Day",
     "1973-12-25": "Christmas Day",
     "1974-01-01": "New Year's Day",
     "1974-01-09": "Martyrs' Day",
-    "1974-02-26": "Carnival",
+    "1974-02-25": "Carnival Monday",
+    "1974-02-26": "Carnival Tuesday",
     "1974-04-12": "Good Friday",
-    "1974-05-01": "Labour Day",
+    "1974-05-01": "Labor Day",
     "1974-11-03": "Separation Day",
-    "1974-11-04": "National Symbols Day",
-    "1974-11-05": "Colon Day",
+    "1974-11-04": "National Symbols Day; Separation Day (observed)",
     "1974-11-10": "Los Santos Uprising Day",
+    "1974-11-11": "Los Santos Uprising Day (observed)",
     "1974-11-28": "Independence Day",
     "1974-12-08": "Mother's Day",
     "1974-12-09": "Mother's Day (observed)",
     "1974-12-25": "Christmas Day",
     "1975-01-01": "New Year's Day",
     "1975-01-09": "Martyrs' Day",
-    "1975-02-11": "Carnival",
+    "1975-02-10": "Carnival Monday",
+    "1975-02-11": "Carnival Tuesday",
     "1975-03-28": "Good Friday",
-    "1975-05-01": "Labour Day",
+    "1975-05-01": "Labor Day",
     "1975-11-03": "Separation Day",
     "1975-11-04": "National Symbols Day",
-    "1975-11-05": "Colon Day",
     "1975-11-10": "Los Santos Uprising Day",
     "1975-11-28": "Independence Day",
     "1975-12-08": "Mother's Day",
     "1975-12-25": "Christmas Day",
     "1976-01-01": "New Year's Day",
     "1976-01-09": "Martyrs' Day",
-    "1976-03-02": "Carnival",
+    "1976-03-01": "Carnival Monday",
+    "1976-03-02": "Carnival Tuesday",
     "1976-04-16": "Good Friday",
-    "1976-05-01": "Labour Day",
+    "1976-05-01": "Labor Day",
     "1976-11-03": "Separation Day",
     "1976-11-04": "National Symbols Day",
-    "1976-11-05": "Colon Day",
     "1976-11-10": "Los Santos Uprising Day",
     "1976-11-28": "Independence Day",
     "1976-11-29": "Independence Day (observed)",
@@ -347,13 +308,13 @@
     "1977-01-01": "New Year's Day",
     "1977-01-09": "Martyrs' Day",
     "1977-01-10": "Martyrs' Day (observed)",
-    "1977-02-22": "Carnival",
+    "1977-02-21": "Carnival Monday",
+    "1977-02-22": "Carnival Tuesday",
     "1977-04-08": "Good Friday",
-    "1977-05-01": "Labour Day",
-    "1977-05-02": "Labour Day (observed)",
+    "1977-05-01": "Labor Day",
+    "1977-05-02": "Labor Day (observed)",
     "1977-11-03": "Separation Day",
     "1977-11-04": "National Symbols Day",
-    "1977-11-05": "Colon Day",
     "1977-11-10": "Los Santos Uprising Day",
     "1977-11-28": "Independence Day",
     "1977-12-08": "Mother's Day",
@@ -362,60 +323,60 @@
     "1978-01-01": "New Year's Day",
     "1978-01-02": "New Year's Day (observed)",
     "1978-01-09": "Martyrs' Day",
-    "1978-02-07": "Carnival",
+    "1978-02-06": "Carnival Monday",
+    "1978-02-07": "Carnival Tuesday",
     "1978-03-24": "Good Friday",
-    "1978-05-01": "Labour Day",
+    "1978-05-01": "Labor Day",
     "1978-11-03": "Separation Day",
     "1978-11-04": "National Symbols Day",
-    "1978-11-05": "Colon Day",
     "1978-11-10": "Los Santos Uprising Day",
     "1978-11-28": "Independence Day",
     "1978-12-08": "Mother's Day",
     "1978-12-25": "Christmas Day",
     "1979-01-01": "New Year's Day",
     "1979-01-09": "Martyrs' Day",
-    "1979-02-27": "Carnival",
+    "1979-02-26": "Carnival Monday",
+    "1979-02-27": "Carnival Tuesday",
     "1979-04-13": "Good Friday",
-    "1979-05-01": "Labour Day",
+    "1979-05-01": "Labor Day",
     "1979-11-03": "Separation Day",
     "1979-11-04": "National Symbols Day",
-    "1979-11-05": "Colon Day",
     "1979-11-10": "Los Santos Uprising Day",
     "1979-11-28": "Independence Day",
     "1979-12-08": "Mother's Day",
     "1979-12-25": "Christmas Day",
     "1980-01-01": "New Year's Day",
     "1980-01-09": "Martyrs' Day",
-    "1980-02-19": "Carnival",
+    "1980-02-18": "Carnival Monday",
+    "1980-02-19": "Carnival Tuesday",
     "1980-04-04": "Good Friday",
-    "1980-05-01": "Labour Day",
+    "1980-05-01": "Labor Day",
     "1980-11-03": "Separation Day",
     "1980-11-04": "National Symbols Day",
-    "1980-11-05": "Colon Day",
     "1980-11-10": "Los Santos Uprising Day",
     "1980-11-28": "Independence Day",
     "1980-12-08": "Mother's Day",
     "1980-12-25": "Christmas Day",
     "1981-01-01": "New Year's Day",
     "1981-01-09": "Martyrs' Day",
-    "1981-03-03": "Carnival",
+    "1981-03-02": "Carnival Monday",
+    "1981-03-03": "Carnival Tuesday",
     "1981-04-17": "Good Friday",
-    "1981-05-01": "Labour Day",
+    "1981-05-01": "Labor Day",
     "1981-11-03": "Separation Day",
     "1981-11-04": "National Symbols Day",
-    "1981-11-05": "Colon Day",
     "1981-11-10": "Los Santos Uprising Day",
     "1981-11-28": "Independence Day",
     "1981-12-08": "Mother's Day",
     "1981-12-25": "Christmas Day",
     "1982-01-01": "New Year's Day",
     "1982-01-09": "Martyrs' Day",
-    "1982-02-23": "Carnival",
+    "1982-02-22": "Carnival Monday",
+    "1982-02-23": "Carnival Tuesday",
     "1982-04-09": "Good Friday",
-    "1982-05-01": "Labour Day",
+    "1982-05-01": "Labor Day",
     "1982-11-03": "Separation Day",
     "1982-11-04": "National Symbols Day",
-    "1982-11-05": "Colon Day",
     "1982-11-10": "Los Santos Uprising Day",
     "1982-11-28": "Independence Day",
     "1982-11-29": "Independence Day (observed)",
@@ -424,13 +385,13 @@
     "1983-01-01": "New Year's Day",
     "1983-01-09": "Martyrs' Day",
     "1983-01-10": "Martyrs' Day (observed)",
-    "1983-02-15": "Carnival",
+    "1983-02-14": "Carnival Monday",
+    "1983-02-15": "Carnival Tuesday",
     "1983-04-01": "Good Friday",
-    "1983-05-01": "Labour Day",
-    "1983-05-02": "Labour Day (observed)",
+    "1983-05-01": "Labor Day",
+    "1983-05-02": "Labor Day (observed)",
     "1983-11-03": "Separation Day",
     "1983-11-04": "National Symbols Day",
-    "1983-11-05": "Colon Day",
     "1983-11-10": "Los Santos Uprising Day",
     "1983-11-28": "Independence Day",
     "1983-12-08": "Mother's Day",
@@ -439,62 +400,63 @@
     "1984-01-01": "New Year's Day",
     "1984-01-02": "New Year's Day (observed)",
     "1984-01-09": "Martyrs' Day",
-    "1984-03-06": "Carnival",
+    "1984-03-05": "Carnival Monday",
+    "1984-03-06": "Carnival Tuesday",
     "1984-04-20": "Good Friday",
-    "1984-05-01": "Labour Day",
+    "1984-05-01": "Labor Day",
     "1984-11-03": "Separation Day",
     "1984-11-04": "National Symbols Day",
-    "1984-11-05": "Colon Day",
     "1984-11-10": "Los Santos Uprising Day",
     "1984-11-28": "Independence Day",
     "1984-12-08": "Mother's Day",
     "1984-12-25": "Christmas Day",
     "1985-01-01": "New Year's Day",
     "1985-01-09": "Martyrs' Day",
-    "1985-02-19": "Carnival",
+    "1985-02-18": "Carnival Monday",
+    "1985-02-19": "Carnival Tuesday",
     "1985-04-05": "Good Friday",
-    "1985-05-01": "Labour Day",
+    "1985-05-01": "Labor Day",
     "1985-11-03": "Separation Day",
-    "1985-11-04": "National Symbols Day",
-    "1985-11-05": "Colon Day",
+    "1985-11-04": "National Symbols Day; Separation Day (observed)",
     "1985-11-10": "Los Santos Uprising Day",
+    "1985-11-11": "Los Santos Uprising Day (observed)",
     "1985-11-28": "Independence Day",
     "1985-12-08": "Mother's Day",
     "1985-12-09": "Mother's Day (observed)",
     "1985-12-25": "Christmas Day",
     "1986-01-01": "New Year's Day",
     "1986-01-09": "Martyrs' Day",
-    "1986-02-11": "Carnival",
+    "1986-02-10": "Carnival Monday",
+    "1986-02-11": "Carnival Tuesday",
     "1986-03-28": "Good Friday",
-    "1986-05-01": "Labour Day",
+    "1986-05-01": "Labor Day",
     "1986-11-03": "Separation Day",
     "1986-11-04": "National Symbols Day",
-    "1986-11-05": "Colon Day",
     "1986-11-10": "Los Santos Uprising Day",
     "1986-11-28": "Independence Day",
     "1986-12-08": "Mother's Day",
     "1986-12-25": "Christmas Day",
     "1987-01-01": "New Year's Day",
     "1987-01-09": "Martyrs' Day",
-    "1987-03-03": "Carnival",
+    "1987-03-02": "Carnival Monday",
+    "1987-03-03": "Carnival Tuesday",
     "1987-04-17": "Good Friday",
-    "1987-05-01": "Labour Day",
+    "1987-05-01": "Labor Day",
     "1987-11-03": "Separation Day",
     "1987-11-04": "National Symbols Day",
-    "1987-11-05": "Colon Day",
     "1987-11-10": "Los Santos Uprising Day",
     "1987-11-28": "Independence Day",
     "1987-12-08": "Mother's Day",
     "1987-12-25": "Christmas Day",
     "1988-01-01": "New Year's Day",
     "1988-01-09": "Martyrs' Day",
-    "1988-02-16": "Carnival",
+    "1988-02-15": "Carnival Monday",
+    "1988-02-16": "Carnival Tuesday",
     "1988-04-01": "Good Friday",
-    "1988-05-01": "Labour Day",
-    "1988-05-02": "Labour Day (observed)",
+    "1988-05-01": "Labor Day",
+    "1988-05-02": "Labor Day (observed)",
     "1988-11-03": "Separation Day",
     "1988-11-04": "National Symbols Day",
-    "1988-11-05": "Colon Day",
     "1988-11-10": "Los Santos Uprising Day",
     "1988-11-28": "Independence Day",
     "1988-12-08": "Mother's Day",
@@ -503,61 +465,62 @@
     "1989-01-01": "New Year's Day",
     "1989-01-02": "New Year's Day (observed)",
     "1989-01-09": "Martyrs' Day",
-    "1989-02-07": "Carnival",
+    "1989-02-06": "Carnival Monday",
+    "1989-02-07": "Carnival Tuesday",
     "1989-03-24": "Good Friday",
-    "1989-05-01": "Labour Day",
+    "1989-05-01": "Labor Day",
     "1989-11-03": "Separation Day",
     "1989-11-04": "National Symbols Day",
-    "1989-11-05": "Colon Day",
     "1989-11-10": "Los Santos Uprising Day",
     "1989-11-28": "Independence Day",
     "1989-12-08": "Mother's Day",
     "1989-12-25": "Christmas Day",
     "1990-01-01": "New Year's Day",
     "1990-01-09": "Martyrs' Day",
-    "1990-02-27": "Carnival",
+    "1990-02-26": "Carnival Monday",
+    "1990-02-27": "Carnival Tuesday",
     "1990-04-13": "Good Friday",
-    "1990-05-01": "Labour Day",
+    "1990-05-01": "Labor Day",
     "1990-11-03": "Separation Day",
     "1990-11-04": "National Symbols Day",
-    "1990-11-05": "Colon Day",
     "1990-11-10": "Los Santos Uprising Day",
     "1990-11-28": "Independence Day",
     "1990-12-08": "Mother's Day",
     "1990-12-25": "Christmas Day",
     "1991-01-01": "New Year's Day",
     "1991-01-09": "Martyrs' Day",
-    "1991-02-12": "Carnival",
+    "1991-02-11": "Carnival Monday",
+    "1991-02-12": "Carnival Tuesday",
     "1991-03-29": "Good Friday",
-    "1991-05-01": "Labour Day",
+    "1991-05-01": "Labor Day",
     "1991-11-03": "Separation Day",
-    "1991-11-04": "National Symbols Day",
-    "1991-11-05": "Colon Day",
+    "1991-11-04": "National Symbols Day; Separation Day (observed)",
     "1991-11-10": "Los Santos Uprising Day",
+    "1991-11-11": "Los Santos Uprising Day (observed)",
     "1991-11-28": "Independence Day",
     "1991-12-08": "Mother's Day",
     "1991-12-09": "Mother's Day (observed)",
     "1991-12-25": "Christmas Day",
     "1992-01-01": "New Year's Day",
     "1992-01-09": "Martyrs' Day",
-    "1992-03-03": "Carnival",
+    "1992-03-02": "Carnival Monday",
+    "1992-03-03": "Carnival Tuesday",
     "1992-04-17": "Good Friday",
-    "1992-05-01": "Labour Day",
+    "1992-05-01": "Labor Day",
     "1992-11-03": "Separation Day",
     "1992-11-04": "National Symbols Day",
-    "1992-11-05": "Colon Day",
     "1992-11-10": "Los Santos Uprising Day",
     "1992-11-28": "Independence Day",
     "1992-12-08": "Mother's Day",
     "1992-12-25": "Christmas Day",
     "1993-01-01": "New Year's Day",
     "1993-01-09": "Martyrs' Day",
-    "1993-02-23": "Carnival",
+    "1993-02-22": "Carnival Monday",
+    "1993-02-23": "Carnival Tuesday",
     "1993-04-09": "Good Friday",
-    "1993-05-01": "Labour Day",
+    "1993-05-01": "Labor Day",
     "1993-11-03": "Separation Day",
     "1993-11-04": "National Symbols Day",
-    "1993-11-05": "Colon Day",
     "1993-11-10": "Los Santos Uprising Day",
     "1993-11-28": "Independence Day",
     "1993-11-29": "Independence Day (observed)",
@@ -566,13 +529,13 @@
     "1994-01-01": "New Year's Day",
     "1994-01-09": "Martyrs' Day",
     "1994-01-10": "Martyrs' Day (observed)",
-    "1994-02-15": "Carnival",
+    "1994-02-14": "Carnival Monday",
+    "1994-02-15": "Carnival Tuesday",
     "1994-04-01": "Good Friday",
-    "1994-05-01": "Labour Day",
-    "1994-05-02": "Labour Day (observed)",
+    "1994-05-01": "Labor Day",
+    "1994-05-02": "Labor Day (observed)",
     "1994-11-03": "Separation Day",
     "1994-11-04": "National Symbols Day",
-    "1994-11-05": "Colon Day",
     "1994-11-10": "Los Santos Uprising Day",
     "1994-11-28": "Independence Day",
     "1994-12-08": "Mother's Day",
@@ -581,61 +544,62 @@
     "1995-01-01": "New Year's Day",
     "1995-01-02": "New Year's Day (observed)",
     "1995-01-09": "Martyrs' Day",
-    "1995-02-28": "Carnival",
+    "1995-02-27": "Carnival Monday",
+    "1995-02-28": "Carnival Tuesday",
     "1995-04-14": "Good Friday",
-    "1995-05-01": "Labour Day",
+    "1995-05-01": "Labor Day",
     "1995-11-03": "Separation Day",
     "1995-11-04": "National Symbols Day",
-    "1995-11-05": "Colon Day",
     "1995-11-10": "Los Santos Uprising Day",
     "1995-11-28": "Independence Day",
     "1995-12-08": "Mother's Day",
     "1995-12-25": "Christmas Day",
     "1996-01-01": "New Year's Day",
     "1996-01-09": "Martyrs' Day",
-    "1996-02-20": "Carnival",
+    "1996-02-19": "Carnival Monday",
+    "1996-02-20": "Carnival Tuesday",
     "1996-04-05": "Good Friday",
-    "1996-05-01": "Labour Day",
+    "1996-05-01": "Labor Day",
     "1996-11-03": "Separation Day",
-    "1996-11-04": "National Symbols Day",
-    "1996-11-05": "Colon Day",
+    "1996-11-04": "National Symbols Day; Separation Day (observed)",
     "1996-11-10": "Los Santos Uprising Day",
+    "1996-11-11": "Los Santos Uprising Day (observed)",
     "1996-11-28": "Independence Day",
     "1996-12-08": "Mother's Day",
     "1996-12-09": "Mother's Day (observed)",
     "1996-12-25": "Christmas Day",
     "1997-01-01": "New Year's Day",
     "1997-01-09": "Martyrs' Day",
-    "1997-02-11": "Carnival",
+    "1997-02-10": "Carnival Monday",
+    "1997-02-11": "Carnival Tuesday",
     "1997-03-28": "Good Friday",
-    "1997-05-01": "Labour Day",
+    "1997-05-01": "Labor Day",
     "1997-11-03": "Separation Day",
     "1997-11-04": "National Symbols Day",
-    "1997-11-05": "Colon Day",
     "1997-11-10": "Los Santos Uprising Day",
     "1997-11-28": "Independence Day",
     "1997-12-08": "Mother's Day",
     "1997-12-25": "Christmas Day",
     "1998-01-01": "New Year's Day",
     "1998-01-09": "Martyrs' Day",
-    "1998-02-24": "Carnival",
+    "1998-02-23": "Carnival Monday",
+    "1998-02-24": "Carnival Tuesday",
     "1998-04-10": "Good Friday",
-    "1998-05-01": "Labour Day",
+    "1998-05-01": "Labor Day",
     "1998-11-03": "Separation Day",
     "1998-11-04": "National Symbols Day",
-    "1998-11-05": "Colon Day",
     "1998-11-10": "Los Santos Uprising Day",
     "1998-11-28": "Independence Day",
     "1998-12-08": "Mother's Day",
     "1998-12-25": "Christmas Day",
     "1999-01-01": "New Year's Day",
     "1999-01-09": "Martyrs' Day",
-    "1999-02-16": "Carnival",
+    "1999-02-15": "Carnival Monday",
+    "1999-02-16": "Carnival Tuesday",
     "1999-04-02": "Good Friday",
-    "1999-05-01": "Labour Day",
+    "1999-05-01": "Labor Day",
     "1999-11-03": "Separation Day",
     "1999-11-04": "National Symbols Day",
-    "1999-11-05": "Colon Day",
     "1999-11-10": "Los Santos Uprising Day",
     "1999-11-28": "Independence Day",
     "1999-11-29": "Independence Day (observed)",
@@ -644,46 +608,49 @@
     "2000-01-01": "New Year's Day",
     "2000-01-09": "Martyrs' Day",
     "2000-01-10": "Martyrs' Day (observed)",
-    "2000-03-07": "Carnival",
+    "2000-03-06": "Carnival Monday",
+    "2000-03-07": "Carnival Tuesday",
     "2000-04-21": "Good Friday",
-    "2000-05-01": "Labour Day",
+    "2000-05-01": "Labor Day",
     "2000-11-03": "Separation Day",
     "2000-11-04": "National Symbols Day",
-    "2000-11-05": "Colon Day",
     "2000-11-10": "Los Santos Uprising Day",
     "2000-11-28": "Independence Day",
     "2000-12-08": "Mother's Day",
     "2000-12-25": "Christmas Day",
     "2001-01-01": "New Year's Day",
     "2001-01-09": "Martyrs' Day",
-    "2001-02-27": "Carnival",
+    "2001-02-26": "Carnival Monday",
+    "2001-02-27": "Carnival Tuesday",
     "2001-04-13": "Good Friday",
-    "2001-05-01": "Labour Day",
+    "2001-05-01": "Labor Day",
     "2001-11-03": "Separation Day",
     "2001-11-04": "National Symbols Day",
-    "2001-11-05": "Colon Day",
     "2001-11-10": "Los Santos Uprising Day",
     "2001-11-28": "Independence Day",
     "2001-12-08": "Mother's Day",
     "2001-12-25": "Christmas Day",
     "2002-01-01": "New Year's Day",
     "2002-01-09": "Martyrs' Day",
-    "2002-02-12": "Carnival",
+    "2002-02-11": "Carnival Monday",
+    "2002-02-12": "Carnival Tuesday",
     "2002-03-29": "Good Friday",
-    "2002-05-01": "Labour Day",
+    "2002-05-01": "Labor Day",
     "2002-11-03": "Separation Day",
-    "2002-11-04": "National Symbols Day",
+    "2002-11-04": "National Symbols Day; Separation Day (observed)",
     "2002-11-05": "Colon Day",
     "2002-11-10": "Los Santos Uprising Day",
+    "2002-11-11": "Los Santos Uprising Day (observed)",
     "2002-11-28": "Independence Day",
     "2002-12-08": "Mother's Day",
     "2002-12-09": "Mother's Day (observed)",
     "2002-12-25": "Christmas Day",
     "2003-01-01": "New Year's Day",
     "2003-01-09": "Martyrs' Day",
-    "2003-03-04": "Carnival",
+    "2003-03-03": "Carnival Monday",
+    "2003-03-04": "Carnival Tuesday",
     "2003-04-18": "Good Friday",
-    "2003-05-01": "Labour Day",
+    "2003-05-01": "Labor Day",
     "2003-11-03": "Separation Day",
     "2003-11-04": "National Symbols Day",
     "2003-11-05": "Colon Day",
@@ -693,9 +660,10 @@
     "2003-12-25": "Christmas Day",
     "2004-01-01": "New Year's Day",
     "2004-01-09": "Martyrs' Day",
-    "2004-02-24": "Carnival",
+    "2004-02-23": "Carnival Monday",
+    "2004-02-24": "Carnival Tuesday",
     "2004-04-09": "Good Friday",
-    "2004-05-01": "Labour Day",
+    "2004-05-01": "Labor Day",
     "2004-11-03": "Separation Day",
     "2004-11-04": "National Symbols Day",
     "2004-11-05": "Colon Day",
@@ -707,10 +675,11 @@
     "2005-01-01": "New Year's Day",
     "2005-01-09": "Martyrs' Day",
     "2005-01-10": "Martyrs' Day (observed)",
-    "2005-02-08": "Carnival",
+    "2005-02-07": "Carnival Monday",
+    "2005-02-08": "Carnival Tuesday",
     "2005-03-25": "Good Friday",
-    "2005-05-01": "Labour Day",
-    "2005-05-02": "Labour Day (observed)",
+    "2005-05-01": "Labor Day",
+    "2005-05-02": "Labor Day (observed)",
     "2005-11-03": "Separation Day",
     "2005-11-04": "National Symbols Day",
     "2005-11-05": "Colon Day",
@@ -722,21 +691,24 @@
     "2006-01-01": "New Year's Day",
     "2006-01-02": "New Year's Day (observed)",
     "2006-01-09": "Martyrs' Day",
-    "2006-02-28": "Carnival",
+    "2006-02-27": "Carnival Monday",
+    "2006-02-28": "Carnival Tuesday",
     "2006-04-14": "Good Friday",
-    "2006-05-01": "Labour Day",
+    "2006-05-01": "Labor Day",
     "2006-11-03": "Separation Day",
     "2006-11-04": "National Symbols Day",
     "2006-11-05": "Colon Day",
+    "2006-11-06": "Colon Day (observed)",
     "2006-11-10": "Los Santos Uprising Day",
     "2006-11-28": "Independence Day",
     "2006-12-08": "Mother's Day",
     "2006-12-25": "Christmas Day",
     "2007-01-01": "New Year's Day",
     "2007-01-09": "Martyrs' Day",
-    "2007-02-20": "Carnival",
+    "2007-02-19": "Carnival Monday",
+    "2007-02-20": "Carnival Tuesday",
     "2007-04-06": "Good Friday",
-    "2007-05-01": "Labour Day",
+    "2007-05-01": "Labor Day",
     "2007-11-03": "Separation Day",
     "2007-11-04": "National Symbols Day",
     "2007-11-05": "Colon Day",
@@ -746,9 +718,10 @@
     "2007-12-25": "Christmas Day",
     "2008-01-01": "New Year's Day",
     "2008-01-09": "Martyrs' Day",
-    "2008-02-05": "Carnival",
+    "2008-02-04": "Carnival Monday",
+    "2008-02-05": "Carnival Tuesday",
     "2008-03-21": "Good Friday",
-    "2008-05-01": "Labour Day",
+    "2008-05-01": "Labor Day",
     "2008-11-03": "Separation Day",
     "2008-11-04": "National Symbols Day",
     "2008-11-05": "Colon Day",
@@ -758,9 +731,10 @@
     "2008-12-25": "Christmas Day",
     "2009-01-01": "New Year's Day",
     "2009-01-09": "Martyrs' Day",
-    "2009-02-24": "Carnival",
+    "2009-02-23": "Carnival Monday",
+    "2009-02-24": "Carnival Tuesday",
     "2009-04-10": "Good Friday",
-    "2009-05-01": "Labour Day",
+    "2009-05-01": "Labor Day",
     "2009-11-03": "Separation Day",
     "2009-11-04": "National Symbols Day",
     "2009-11-05": "Colon Day",
@@ -770,9 +744,10 @@
     "2009-12-25": "Christmas Day",
     "2010-01-01": "New Year's Day",
     "2010-01-09": "Martyrs' Day",
-    "2010-02-16": "Carnival",
+    "2010-02-15": "Carnival Monday",
+    "2010-02-16": "Carnival Tuesday",
     "2010-04-02": "Good Friday",
-    "2010-05-01": "Labour Day",
+    "2010-05-01": "Labor Day",
     "2010-11-03": "Separation Day",
     "2010-11-04": "National Symbols Day",
     "2010-11-05": "Colon Day",
@@ -784,10 +759,11 @@
     "2011-01-01": "New Year's Day",
     "2011-01-09": "Martyrs' Day",
     "2011-01-10": "Martyrs' Day (observed)",
-    "2011-03-08": "Carnival",
+    "2011-03-07": "Carnival Monday",
+    "2011-03-08": "Carnival Tuesday",
     "2011-04-22": "Good Friday",
-    "2011-05-01": "Labour Day",
-    "2011-05-02": "Labour Day (observed)",
+    "2011-05-01": "Labor Day",
+    "2011-05-02": "Labor Day (observed)",
     "2011-11-03": "Separation Day",
     "2011-11-04": "National Symbols Day",
     "2011-11-05": "Colon Day",
@@ -799,9 +775,10 @@
     "2012-01-01": "New Year's Day",
     "2012-01-02": "New Year's Day (observed)",
     "2012-01-09": "Martyrs' Day",
-    "2012-02-21": "Carnival",
+    "2012-02-20": "Carnival Monday",
+    "2012-02-21": "Carnival Tuesday",
     "2012-04-06": "Good Friday",
-    "2012-05-01": "Labour Day",
+    "2012-05-01": "Labor Day",
     "2012-11-03": "Separation Day",
     "2012-11-04": "National Symbols Day",
     "2012-11-05": "Colon Day",
@@ -811,22 +788,26 @@
     "2012-12-25": "Christmas Day",
     "2013-01-01": "New Year's Day",
     "2013-01-09": "Martyrs' Day",
-    "2013-02-12": "Carnival",
+    "2013-02-11": "Carnival Monday",
+    "2013-02-12": "Carnival Tuesday",
     "2013-03-29": "Good Friday",
-    "2013-05-01": "Labour Day",
+    "2013-05-01": "Labor Day",
     "2013-11-03": "Separation Day",
-    "2013-11-04": "National Symbols Day",
+    "2013-11-04": "National Symbols Day; Separation Day (observed)",
     "2013-11-05": "Colon Day",
     "2013-11-10": "Los Santos Uprising Day",
+    "2013-11-11": "Los Santos Uprising Day (observed)",
     "2013-11-28": "Independence Day",
     "2013-12-08": "Mother's Day",
     "2013-12-09": "Mother's Day (observed)",
     "2013-12-25": "Christmas Day",
     "2014-01-01": "New Year's Day",
     "2014-01-09": "Martyrs' Day",
-    "2014-03-04": "Carnival",
+    "2014-03-03": "Carnival Monday",
+    "2014-03-04": "Carnival Tuesday",
     "2014-04-18": "Good Friday",
-    "2014-05-01": "Labour Day",
+    "2014-05-01": "Labor Day",
+    "2014-07-01": "Presidential Inauguration Day",
     "2014-11-03": "Separation Day",
     "2014-11-04": "National Symbols Day",
     "2014-11-05": "Colon Day",
@@ -836,9 +817,10 @@
     "2014-12-25": "Christmas Day",
     "2015-01-01": "New Year's Day",
     "2015-01-09": "Martyrs' Day",
-    "2015-02-17": "Carnival",
+    "2015-02-16": "Carnival Monday",
+    "2015-02-17": "Carnival Tuesday",
     "2015-04-03": "Good Friday",
-    "2015-05-01": "Labour Day",
+    "2015-05-01": "Labor Day",
     "2015-11-03": "Separation Day",
     "2015-11-04": "National Symbols Day",
     "2015-11-05": "Colon Day",
@@ -848,10 +830,11 @@
     "2015-12-25": "Christmas Day",
     "2016-01-01": "New Year's Day",
     "2016-01-09": "Martyrs' Day",
-    "2016-02-09": "Carnival",
+    "2016-02-08": "Carnival Monday",
+    "2016-02-09": "Carnival Tuesday",
     "2016-03-25": "Good Friday",
-    "2016-05-01": "Labour Day",
-    "2016-05-02": "Labour Day (observed)",
+    "2016-05-01": "Labor Day",
+    "2016-05-02": "Labor Day (observed)",
     "2016-11-03": "Separation Day",
     "2016-11-04": "National Symbols Day",
     "2016-11-05": "Colon Day",
@@ -863,21 +846,24 @@
     "2017-01-01": "New Year's Day",
     "2017-01-02": "New Year's Day (observed)",
     "2017-01-09": "Martyrs' Day",
-    "2017-02-28": "Carnival",
+    "2017-02-27": "Carnival Monday",
+    "2017-02-28": "Carnival Tuesday",
     "2017-04-14": "Good Friday",
-    "2017-05-01": "Labour Day",
+    "2017-05-01": "Labor Day",
     "2017-11-03": "Separation Day",
     "2017-11-04": "National Symbols Day",
     "2017-11-05": "Colon Day",
+    "2017-11-06": "Colon Day (observed)",
     "2017-11-10": "Los Santos Uprising Day",
     "2017-11-28": "Independence Day",
     "2017-12-08": "Mother's Day",
     "2017-12-25": "Christmas Day",
     "2018-01-01": "New Year's Day",
     "2018-01-09": "Martyrs' Day",
-    "2018-02-13": "Carnival",
+    "2018-02-12": "Carnival Monday",
+    "2018-02-13": "Carnival Tuesday",
     "2018-03-30": "Good Friday",
-    "2018-05-01": "Labour Day",
+    "2018-05-01": "Labor Day",
     "2018-11-03": "Separation Day",
     "2018-11-04": "National Symbols Day",
     "2018-11-05": "Colon Day",
@@ -887,22 +873,26 @@
     "2018-12-25": "Christmas Day",
     "2019-01-01": "New Year's Day",
     "2019-01-09": "Martyrs' Day",
-    "2019-03-05": "Carnival",
+    "2019-03-04": "Carnival Monday",
+    "2019-03-05": "Carnival Tuesday",
     "2019-04-19": "Good Friday",
-    "2019-05-01": "Labour Day",
+    "2019-05-01": "Labor Day",
+    "2019-07-01": "Presidential Inauguration Day",
     "2019-11-03": "Separation Day",
-    "2019-11-04": "National Symbols Day",
+    "2019-11-04": "National Symbols Day; Separation Day (observed)",
     "2019-11-05": "Colon Day",
     "2019-11-10": "Los Santos Uprising Day",
+    "2019-11-11": "Los Santos Uprising Day (observed)",
     "2019-11-28": "Independence Day",
     "2019-12-08": "Mother's Day",
     "2019-12-09": "Mother's Day (observed)",
     "2019-12-25": "Christmas Day",
     "2020-01-01": "New Year's Day",
     "2020-01-09": "Martyrs' Day",
-    "2020-02-25": "Carnival",
+    "2020-02-24": "Carnival Monday",
+    "2020-02-25": "Carnival Tuesday",
     "2020-04-10": "Good Friday",
-    "2020-05-01": "Labour Day",
+    "2020-05-01": "Labor Day",
     "2020-11-03": "Separation Day",
     "2020-11-04": "National Symbols Day",
     "2020-11-05": "Colon Day",
@@ -912,9 +902,10 @@
     "2020-12-25": "Christmas Day",
     "2021-01-01": "New Year's Day",
     "2021-01-09": "Martyrs' Day",
-    "2021-02-16": "Carnival",
+    "2021-02-15": "Carnival Monday",
+    "2021-02-16": "Carnival Tuesday",
     "2021-04-02": "Good Friday",
-    "2021-05-01": "Labour Day",
+    "2021-05-01": "Labor Day",
     "2021-11-03": "Separation Day",
     "2021-11-04": "National Symbols Day",
     "2021-11-05": "Colon Day",
@@ -926,10 +917,11 @@
     "2022-01-01": "New Year's Day",
     "2022-01-09": "Martyrs' Day",
     "2022-01-10": "Martyrs' Day (observed)",
-    "2022-03-01": "Carnival",
+    "2022-02-28": "Carnival Monday",
+    "2022-03-01": "Carnival Tuesday",
     "2022-04-15": "Good Friday",
-    "2022-05-01": "Labour Day",
-    "2022-05-02": "Labour Day (observed)",
+    "2022-05-01": "Labor Day",
+    "2022-05-02": "Labor Day (observed)",
     "2022-11-03": "Separation Day",
     "2022-11-04": "National Symbols Day",
     "2022-11-05": "Colon Day",
@@ -942,12 +934,14 @@
     "2023-01-01": "New Year's Day",
     "2023-01-02": "New Year's Day (observed)",
     "2023-01-09": "Martyrs' Day",
-    "2023-02-21": "Carnival",
+    "2023-02-20": "Carnival Monday",
+    "2023-02-21": "Carnival Tuesday",
     "2023-04-07": "Good Friday",
-    "2023-05-01": "Labour Day",
+    "2023-05-01": "Labor Day",
     "2023-11-03": "Separation Day",
     "2023-11-04": "National Symbols Day",
     "2023-11-05": "Colon Day",
+    "2023-11-06": "Colon Day (observed)",
     "2023-11-10": "Los Santos Uprising Day",
     "2023-11-28": "Independence Day",
     "2023-12-08": "Mother's Day",
@@ -955,13 +949,16 @@
     "2023-12-25": "Christmas Day",
     "2024-01-01": "New Year's Day",
     "2024-01-09": "Martyrs' Day",
-    "2024-02-13": "Carnival",
+    "2024-02-12": "Carnival Monday",
+    "2024-02-13": "Carnival Tuesday",
     "2024-03-29": "Good Friday",
-    "2024-05-01": "Labour Day",
+    "2024-05-01": "Labor Day",
+    "2024-07-01": "Presidential Inauguration Day",
     "2024-11-03": "Separation Day",
-    "2024-11-04": "National Symbols Day",
+    "2024-11-04": "National Symbols Day; Separation Day (observed)",
     "2024-11-05": "Colon Day",
     "2024-11-10": "Los Santos Uprising Day",
+    "2024-11-11": "Los Santos Uprising Day (observed)",
     "2024-11-28": "Independence Day",
     "2024-12-08": "Mother's Day",
     "2024-12-09": "Mother's Day (observed)",
@@ -969,9 +966,10 @@
     "2024-12-25": "Christmas Day",
     "2025-01-01": "New Year's Day",
     "2025-01-09": "Martyrs' Day",
-    "2025-03-04": "Carnival",
+    "2025-03-03": "Carnival Monday",
+    "2025-03-04": "Carnival Tuesday",
     "2025-04-18": "Good Friday",
-    "2025-05-01": "Labour Day",
+    "2025-05-01": "Labor Day",
     "2025-11-03": "Separation Day",
     "2025-11-04": "National Symbols Day",
     "2025-11-05": "Colon Day",
@@ -982,9 +980,10 @@
     "2025-12-25": "Christmas Day",
     "2026-01-01": "New Year's Day",
     "2026-01-09": "Martyrs' Day",
-    "2026-02-17": "Carnival",
+    "2026-02-16": "Carnival Monday",
+    "2026-02-17": "Carnival Tuesday",
     "2026-04-03": "Good Friday",
-    "2026-05-01": "Labour Day",
+    "2026-05-01": "Labor Day",
     "2026-11-03": "Separation Day",
     "2026-11-04": "National Symbols Day",
     "2026-11-05": "Colon Day",
@@ -996,9 +995,10 @@
     "2026-12-25": "Christmas Day",
     "2027-01-01": "New Year's Day",
     "2027-01-09": "Martyrs' Day",
-    "2027-02-09": "Carnival",
+    "2027-02-08": "Carnival Monday",
+    "2027-02-09": "Carnival Tuesday",
     "2027-03-26": "Good Friday",
-    "2027-05-01": "Labour Day",
+    "2027-05-01": "Labor Day",
     "2027-11-03": "Separation Day",
     "2027-11-04": "National Symbols Day",
     "2027-11-05": "Colon Day",
@@ -1011,12 +1011,14 @@
     "2028-01-01": "New Year's Day",
     "2028-01-09": "Martyrs' Day",
     "2028-01-10": "Martyrs' Day (observed)",
-    "2028-02-29": "Carnival",
+    "2028-02-28": "Carnival Monday",
+    "2028-02-29": "Carnival Tuesday",
     "2028-04-14": "Good Friday",
-    "2028-05-01": "Labour Day",
+    "2028-05-01": "Labor Day",
     "2028-11-03": "Separation Day",
     "2028-11-04": "National Symbols Day",
     "2028-11-05": "Colon Day",
+    "2028-11-06": "Colon Day (observed)",
     "2028-11-10": "Los Santos Uprising Day",
     "2028-11-28": "Independence Day",
     "2028-12-08": "Mother's Day",
@@ -1024,9 +1026,10 @@
     "2028-12-25": "Christmas Day",
     "2029-01-01": "New Year's Day",
     "2029-01-09": "Martyrs' Day",
-    "2029-02-13": "Carnival",
+    "2029-02-12": "Carnival Monday",
+    "2029-02-13": "Carnival Tuesday",
     "2029-03-30": "Good Friday",
-    "2029-05-01": "Labour Day",
+    "2029-05-01": "Labor Day",
     "2029-11-03": "Separation Day",
     "2029-11-04": "National Symbols Day",
     "2029-11-05": "Colon Day",
@@ -1037,13 +1040,15 @@
     "2029-12-25": "Christmas Day",
     "2030-01-01": "New Year's Day",
     "2030-01-09": "Martyrs' Day",
-    "2030-03-05": "Carnival",
+    "2030-03-04": "Carnival Monday",
+    "2030-03-05": "Carnival Tuesday",
     "2030-04-19": "Good Friday",
-    "2030-05-01": "Labour Day",
+    "2030-05-01": "Labor Day",
     "2030-11-03": "Separation Day",
-    "2030-11-04": "National Symbols Day",
+    "2030-11-04": "National Symbols Day; Separation Day (observed)",
     "2030-11-05": "Colon Day",
     "2030-11-10": "Los Santos Uprising Day",
+    "2030-11-11": "Los Santos Uprising Day (observed)",
     "2030-11-28": "Independence Day",
     "2030-12-08": "Mother's Day",
     "2030-12-09": "Mother's Day (observed)",
@@ -1051,9 +1056,10 @@
     "2030-12-25": "Christmas Day",
     "2031-01-01": "New Year's Day",
     "2031-01-09": "Martyrs' Day",
-    "2031-02-25": "Carnival",
+    "2031-02-24": "Carnival Monday",
+    "2031-02-25": "Carnival Tuesday",
     "2031-04-11": "Good Friday",
-    "2031-05-01": "Labour Day",
+    "2031-05-01": "Labor Day",
     "2031-11-03": "Separation Day",
     "2031-11-04": "National Symbols Day",
     "2031-11-05": "Colon Day",
@@ -1064,9 +1070,10 @@
     "2031-12-25": "Christmas Day",
     "2032-01-01": "New Year's Day",
     "2032-01-09": "Martyrs' Day",
-    "2032-02-10": "Carnival",
+    "2032-02-09": "Carnival Monday",
+    "2032-02-10": "Carnival Tuesday",
     "2032-03-26": "Good Friday",
-    "2032-05-01": "Labour Day",
+    "2032-05-01": "Labor Day",
     "2032-11-03": "Separation Day",
     "2032-11-04": "National Symbols Day",
     "2032-11-05": "Colon Day",
@@ -1079,10 +1086,11 @@
     "2033-01-01": "New Year's Day",
     "2033-01-09": "Martyrs' Day",
     "2033-01-10": "Martyrs' Day (observed)",
-    "2033-03-01": "Carnival",
+    "2033-02-28": "Carnival Monday",
+    "2033-03-01": "Carnival Tuesday",
     "2033-04-15": "Good Friday",
-    "2033-05-01": "Labour Day",
-    "2033-05-02": "Labour Day (observed)",
+    "2033-05-01": "Labor Day",
+    "2033-05-02": "Labor Day (observed)",
     "2033-11-03": "Separation Day",
     "2033-11-04": "National Symbols Day",
     "2033-11-05": "Colon Day",
@@ -1095,12 +1103,14 @@
     "2034-01-01": "New Year's Day",
     "2034-01-02": "New Year's Day (observed)",
     "2034-01-09": "Martyrs' Day",
-    "2034-02-21": "Carnival",
+    "2034-02-20": "Carnival Monday",
+    "2034-02-21": "Carnival Tuesday",
     "2034-04-07": "Good Friday",
-    "2034-05-01": "Labour Day",
+    "2034-05-01": "Labor Day",
     "2034-11-03": "Separation Day",
     "2034-11-04": "National Symbols Day",
     "2034-11-05": "Colon Day",
+    "2034-11-06": "Colon Day (observed)",
     "2034-11-10": "Los Santos Uprising Day",
     "2034-11-28": "Independence Day",
     "2034-12-08": "Mother's Day",
@@ -1108,9 +1118,10 @@
     "2034-12-25": "Christmas Day",
     "2035-01-01": "New Year's Day",
     "2035-01-09": "Martyrs' Day",
-    "2035-02-06": "Carnival",
+    "2035-02-05": "Carnival Monday",
+    "2035-02-06": "Carnival Tuesday",
     "2035-03-23": "Good Friday",
-    "2035-05-01": "Labour Day",
+    "2035-05-01": "Labor Day",
     "2035-11-03": "Separation Day",
     "2035-11-04": "National Symbols Day",
     "2035-11-05": "Colon Day",
@@ -1121,9 +1132,10 @@
     "2035-12-25": "Christmas Day",
     "2036-01-01": "New Year's Day",
     "2036-01-09": "Martyrs' Day",
-    "2036-02-26": "Carnival",
+    "2036-02-25": "Carnival Monday",
+    "2036-02-26": "Carnival Tuesday",
     "2036-04-11": "Good Friday",
-    "2036-05-01": "Labour Day",
+    "2036-05-01": "Labor Day",
     "2036-11-03": "Separation Day",
     "2036-11-04": "National Symbols Day",
     "2036-11-05": "Colon Day",
@@ -1134,9 +1146,10 @@
     "2036-12-25": "Christmas Day",
     "2037-01-01": "New Year's Day",
     "2037-01-09": "Martyrs' Day",
-    "2037-02-17": "Carnival",
+    "2037-02-16": "Carnival Monday",
+    "2037-02-17": "Carnival Tuesday",
     "2037-04-03": "Good Friday",
-    "2037-05-01": "Labour Day",
+    "2037-05-01": "Labor Day",
     "2037-11-03": "Separation Day",
     "2037-11-04": "National Symbols Day",
     "2037-11-05": "Colon Day",
@@ -1148,9 +1161,10 @@
     "2037-12-25": "Christmas Day",
     "2038-01-01": "New Year's Day",
     "2038-01-09": "Martyrs' Day",
-    "2038-03-09": "Carnival",
+    "2038-03-08": "Carnival Monday",
+    "2038-03-09": "Carnival Tuesday",
     "2038-04-23": "Good Friday",
-    "2038-05-01": "Labour Day",
+    "2038-05-01": "Labor Day",
     "2038-11-03": "Separation Day",
     "2038-11-04": "National Symbols Day",
     "2038-11-05": "Colon Day",
@@ -1163,10 +1177,11 @@
     "2039-01-01": "New Year's Day",
     "2039-01-09": "Martyrs' Day",
     "2039-01-10": "Martyrs' Day (observed)",
-    "2039-02-22": "Carnival",
+    "2039-02-21": "Carnival Monday",
+    "2039-02-22": "Carnival Tuesday",
     "2039-04-08": "Good Friday",
-    "2039-05-01": "Labour Day",
-    "2039-05-02": "Labour Day (observed)",
+    "2039-05-01": "Labor Day",
+    "2039-05-02": "Labor Day (observed)",
     "2039-11-03": "Separation Day",
     "2039-11-04": "National Symbols Day",
     "2039-11-05": "Colon Day",
@@ -1179,9 +1194,10 @@
     "2040-01-01": "New Year's Day",
     "2040-01-02": "New Year's Day (observed)",
     "2040-01-09": "Martyrs' Day",
-    "2040-02-14": "Carnival",
+    "2040-02-13": "Carnival Monday",
+    "2040-02-14": "Carnival Tuesday",
     "2040-03-30": "Good Friday",
-    "2040-05-01": "Labour Day",
+    "2040-05-01": "Labor Day",
     "2040-11-03": "Separation Day",
     "2040-11-04": "National Symbols Day",
     "2040-11-05": "Colon Day",
@@ -1192,13 +1208,15 @@
     "2040-12-25": "Christmas Day",
     "2041-01-01": "New Year's Day",
     "2041-01-09": "Martyrs' Day",
-    "2041-03-05": "Carnival",
+    "2041-03-04": "Carnival Monday",
+    "2041-03-05": "Carnival Tuesday",
     "2041-04-19": "Good Friday",
-    "2041-05-01": "Labour Day",
+    "2041-05-01": "Labor Day",
     "2041-11-03": "Separation Day",
-    "2041-11-04": "National Symbols Day",
+    "2041-11-04": "National Symbols Day; Separation Day (observed)",
     "2041-11-05": "Colon Day",
     "2041-11-10": "Los Santos Uprising Day",
+    "2041-11-11": "Los Santos Uprising Day (observed)",
     "2041-11-28": "Independence Day",
     "2041-12-08": "Mother's Day",
     "2041-12-09": "Mother's Day (observed)",
@@ -1206,9 +1224,10 @@
     "2041-12-25": "Christmas Day",
     "2042-01-01": "New Year's Day",
     "2042-01-09": "Martyrs' Day",
-    "2042-02-18": "Carnival",
+    "2042-02-17": "Carnival Monday",
+    "2042-02-18": "Carnival Tuesday",
     "2042-04-04": "Good Friday",
-    "2042-05-01": "Labour Day",
+    "2042-05-01": "Labor Day",
     "2042-11-03": "Separation Day",
     "2042-11-04": "National Symbols Day",
     "2042-11-05": "Colon Day",
@@ -1219,9 +1238,10 @@
     "2042-12-25": "Christmas Day",
     "2043-01-01": "New Year's Day",
     "2043-01-09": "Martyrs' Day",
-    "2043-02-10": "Carnival",
+    "2043-02-09": "Carnival Monday",
+    "2043-02-10": "Carnival Tuesday",
     "2043-03-27": "Good Friday",
-    "2043-05-01": "Labour Day",
+    "2043-05-01": "Labor Day",
     "2043-11-03": "Separation Day",
     "2043-11-04": "National Symbols Day",
     "2043-11-05": "Colon Day",
@@ -1233,10 +1253,11 @@
     "2043-12-25": "Christmas Day",
     "2044-01-01": "New Year's Day",
     "2044-01-09": "Martyrs' Day",
-    "2044-03-01": "Carnival",
+    "2044-02-29": "Carnival Monday",
+    "2044-03-01": "Carnival Tuesday",
     "2044-04-15": "Good Friday",
-    "2044-05-01": "Labour Day",
-    "2044-05-02": "Labour Day (observed)",
+    "2044-05-01": "Labor Day",
+    "2044-05-02": "Labor Day (observed)",
     "2044-11-03": "Separation Day",
     "2044-11-04": "National Symbols Day",
     "2044-11-05": "Colon Day",
@@ -1249,12 +1270,14 @@
     "2045-01-01": "New Year's Day",
     "2045-01-02": "New Year's Day (observed)",
     "2045-01-09": "Martyrs' Day",
-    "2045-02-21": "Carnival",
+    "2045-02-20": "Carnival Monday",
+    "2045-02-21": "Carnival Tuesday",
     "2045-04-07": "Good Friday",
-    "2045-05-01": "Labour Day",
+    "2045-05-01": "Labor Day",
     "2045-11-03": "Separation Day",
     "2045-11-04": "National Symbols Day",
     "2045-11-05": "Colon Day",
+    "2045-11-06": "Colon Day (observed)",
     "2045-11-10": "Los Santos Uprising Day",
     "2045-11-28": "Independence Day",
     "2045-12-08": "Mother's Day",
@@ -1262,9 +1285,10 @@
     "2045-12-25": "Christmas Day",
     "2046-01-01": "New Year's Day",
     "2046-01-09": "Martyrs' Day",
-    "2046-02-06": "Carnival",
+    "2046-02-05": "Carnival Monday",
+    "2046-02-06": "Carnival Tuesday",
     "2046-03-23": "Good Friday",
-    "2046-05-01": "Labour Day",
+    "2046-05-01": "Labor Day",
     "2046-11-03": "Separation Day",
     "2046-11-04": "National Symbols Day",
     "2046-11-05": "Colon Day",
@@ -1275,13 +1299,15 @@
     "2046-12-25": "Christmas Day",
     "2047-01-01": "New Year's Day",
     "2047-01-09": "Martyrs' Day",
-    "2047-02-26": "Carnival",
+    "2047-02-25": "Carnival Monday",
+    "2047-02-26": "Carnival Tuesday",
     "2047-04-12": "Good Friday",
-    "2047-05-01": "Labour Day",
+    "2047-05-01": "Labor Day",
     "2047-11-03": "Separation Day",
-    "2047-11-04": "National Symbols Day",
+    "2047-11-04": "National Symbols Day; Separation Day (observed)",
     "2047-11-05": "Colon Day",
     "2047-11-10": "Los Santos Uprising Day",
+    "2047-11-11": "Los Santos Uprising Day (observed)",
     "2047-11-28": "Independence Day",
     "2047-12-08": "Mother's Day",
     "2047-12-09": "Mother's Day (observed)",
@@ -1289,9 +1315,10 @@
     "2047-12-25": "Christmas Day",
     "2048-01-01": "New Year's Day",
     "2048-01-09": "Martyrs' Day",
-    "2048-02-18": "Carnival",
+    "2048-02-17": "Carnival Monday",
+    "2048-02-18": "Carnival Tuesday",
     "2048-04-03": "Good Friday",
-    "2048-05-01": "Labour Day",
+    "2048-05-01": "Labor Day",
     "2048-11-03": "Separation Day",
     "2048-11-04": "National Symbols Day",
     "2048-11-05": "Colon Day",
@@ -1303,9 +1330,10 @@
     "2048-12-25": "Christmas Day",
     "2049-01-01": "New Year's Day",
     "2049-01-09": "Martyrs' Day",
-    "2049-03-02": "Carnival",
+    "2049-03-01": "Carnival Monday",
+    "2049-03-02": "Carnival Tuesday",
     "2049-04-16": "Good Friday",
-    "2049-05-01": "Labour Day",
+    "2049-05-01": "Labor Day",
     "2049-11-03": "Separation Day",
     "2049-11-04": "National Symbols Day",
     "2049-11-05": "Colon Day",
@@ -1318,10 +1346,11 @@
     "2050-01-01": "New Year's Day",
     "2050-01-09": "Martyrs' Day",
     "2050-01-10": "Martyrs' Day (observed)",
-    "2050-02-22": "Carnival",
+    "2050-02-21": "Carnival Monday",
+    "2050-02-22": "Carnival Tuesday",
     "2050-04-08": "Good Friday",
-    "2050-05-01": "Labour Day",
-    "2050-05-02": "Labour Day (observed)",
+    "2050-05-01": "Labor Day",
+    "2050-05-02": "Labor Day (observed)",
     "2050-11-03": "Separation Day",
     "2050-11-04": "National Symbols Day",
     "2050-11-05": "Colon Day",


Test patch:
diff --git a/tests/countries/test_panama.py b/tests/countries/test_panama.py
index 7d078e12..d85959cb 100644
--- a/tests/countries/test_panama.py
+++ b/tests/countries/test_panama.py
@@ -12,6 +12,7 @@
 
 from unittest import TestCase
 
+from holidays.constants import BANK, PUBLIC
 from holidays.countries.panama import Panama, PA, PAN
 from tests.common import CommonCountryTests
 
@@ -19,102 +20,306 @@ from tests.common import CommonCountryTests
 class TestPanama(CommonCountryTests, TestCase):
     @classmethod
     def setUpClass(cls):
-        super().setUpClass(Panama, years=range(1950, 2050))
+        years = range(1948, 2050)
+        super().setUpClass(Panama, years=years, years_non_observed=range(2000, 2025))
+        cls.bank_holidays = Panama(categories=BANK, years=years)
 
     def test_country_aliases(self):
         self.assertAliases(Panama, PA, PAN)
 
-    def test_new_year_day(self):
-        self.assertHoliday(f"{year}-01-01" for year in range(1950, 2050))
+    def test_no_holidays(self):
+        self.assertNoHolidays(Panama(categories=(BANK, PUBLIC), years=1947))
+
+    def test_special_holidays(self):
+        self.assertHoliday(
+            "2014-07-01",
+            "2019-07-01",
+            "2024-07-01",
+        )
+
+    def test_new_years_day(self):
+        name = "Año Nuevo"
+        self.assertHolidayName(name, (f"{year}-01-01" for year in range(1948, 2050)))
+        dt = (
+            "2006-01-02",
+            "2012-01-02",
+            "2017-01-02",
+            "2023-01-02",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_martyrs_day(self):
-        self.assertHoliday(f"{year}-01-09" for year in range(1950, 2050))
+        name = "Día de los Mártires"
+        self.assertHolidayName(name, (f"{year}-01-09" for year in range(1972, 2050)))
+        self.assertNoHoliday(f"{year}-01-09" for year in range(1948, 1972))
+        self.assertNoHolidayName(name, range(1948, 1972))
+        dt = (
+            "2005-01-10",
+            "2011-01-10",
+            "2022-01-10",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
-    def test_labour_day(self):
-        self.assertHoliday(f"{year}-05-01" for year in range(1950, 2050))
+    def test_constitution_day(self):
+        name = "Día de la Constitución"
+        self.assertHolidayName(name, (f"{year}-03-01" for year in range(1948, 1972)))
+        self.assertNoHolidayName(name, range(1972, 2050))
 
-    def test_separation_day(self):
-        self.assertHoliday(f"{year}-11-03" for year in range(1950, 2050))
+    def test_carnival_monday(self):
+        name = "Lunes de Carnaval"
+        self.assertHolidayName(
+            name,
+            self.bank_holidays,
+            "2019-03-04",
+            "2020-02-24",
+            "2021-02-15",
+            "2022-02-28",
+            "2023-02-20",
+            "2024-02-12",
+        )
+        self.assertHolidayName(name, self.bank_holidays, range(1948, 2050))
+        self.assertNoHolidayName(name)
 
-    def test_national_symbols_day(self):
-        self.assertHoliday(f"{year}-11-04" for year in range(1950, 2050))
+    def test_carnival_tuesday(self):
+        name = "Martes de Carnaval"
+        self.assertHolidayName(
+            name,
+            "2019-03-05",
+            "2020-02-25",
+            "2021-02-16",
+            "2022-03-01",
+            "2023-02-21",
+            "2024-02-13",
+        )
+        self.assertHolidayName(name, range(1948, 2050))
+
+    def test_good_friday(self):
+        name = "Viernes Santo"
+        self.assertHolidayName(
+            name,
+            "2019-04-19",
+            "2020-04-10",
+            "2021-04-02",
+            "2022-04-15",
+            "2023-04-07",
+            "2024-03-29",
+        )
+        self.assertHolidayName(name, range(1948, 2050))
+
+    def test_labor_day(self):
+        name = "Día del Trabajo"
+        self.assertHolidayName(name, (f"{year}-05-01" for year in range(1948, 2050)))
+        dt = (
+            "2005-05-02",
+            "2011-05-02",
+            "2016-05-02",
+            "2022-05-02",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
+
+    def test_separation_day(self):
+        name = "Separación de Panamá de Colombia"
+        self.assertHolidayName(name, (f"{year}-11-03" for year in range(1948, 2050)))
+        dt = (
+            "2002-11-04",
+            "2013-11-04",
+            "2019-11-04",
+            "2024-11-04",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_colon_day(self):
-        self.assertHoliday(f"{year}-11-05" for year in range(1950, 2050))
+        name = "Día de Colón"
+        self.assertHolidayName(name, (f"{year}-11-05" for year in range(2002, 2050)))
+        self.assertNoHoliday(f"{year}-11-05" for year in range(1948, 2002))
+        self.assertNoHolidayName(name, range(1948, 2002))
+        dt = (
+            "2006-11-06",
+            "2017-11-06",
+            "2023-11-06",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_los_santos_uprising_day(self):
-        self.assertHoliday(f"{year}-11-10" for year in range(1950, 2050))
+        name = "Primer Grito de Independencia"
+        self.assertHolidayName(name, (f"{year}-11-10" for year in range(1969, 2050)))
+        self.assertNoHoliday(f"{year}-11-10" for year in range(1948, 1969))
+        self.assertNoHolidayName(name, range(1948, 1969))
+        dt = (
+            "2002-11-11",
+            "2013-11-11",
+            "2019-11-11",
+            "2024-11-11",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_independence_day(self):
-        self.assertHoliday(f"{year}-11-28" for year in range(1950, 2050))
+        name = "Independencia de Panamá de España"
+        self.assertHolidayName(name, (f"{year}-11-28" for year in range(1948, 2050)))
+        dt = (
+            "2004-11-29",
+            "2010-11-29",
+            "2021-11-29",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_mothers_day(self):
-        self.assertHoliday(f"{year}-12-08" for year in range(1950, 2050))
+        name = "Día de la Madre"
+        self.assertHolidayName(name, (f"{year}-12-08" for year in range(1948, 2050)))
+        dt = (
+            "2002-12-09",
+            "2013-12-09",
+            "2019-12-09",
+            "2024-12-09",
+        )
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_national_mourning_day(self):
-        self.assertHoliday(f"{year}-12-20" for year in range(2022, 2050))
-        self.assertNoHoliday(f"{year}-12-20" for year in range(1950, 2022))
-        self.assertNoHolidayName("National Mourning Day", range(1950, 2022))
+        name = "Día de Duelo Nacional"
+        self.assertHolidayName(name, (f"{year}-12-20" for year in range(2022, 2050)))
+        self.assertNoHoliday(f"{year}-12-20" for year in range(1948, 2022))
+        self.assertNoHolidayName(name, range(1948, 2022))
+        dt = ("2026-12-21",)
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
 
     def test_christmas_day(self):
-        self.assertHoliday(f"{year}-12-25" for year in range(1950, 2050))
-
-    def test_observed(self):
-        observed_holidays = (
-            "2011-01-10",
-            "2011-05-02",
+        name = "Navidad"
+        self.assertHolidayName(name, (f"{year}-12-25" for year in range(1948, 2050)))
+        dt = (
+            "2005-12-26",
             "2011-12-26",
-            "2012-01-02",
-            "2013-12-09",
-            "2016-05-02",
             "2016-12-26",
-            "2017-01-02",
-            "2019-12-09",
-            "2021-11-29",
-            "2022-01-10",
-            "2022-05-02",
             "2022-12-26",
-            "2023-01-02",
         )
-        self.assertHoliday(observed_holidays)
-        self.assertNoNonObservedHoliday(observed_holidays)
+        self.assertHolidayName(f"{name} (puente)", dt)
+        self.assertNoNonObservedHoliday(dt)
+
+    def test_national_symbols_day(self):
+        name = "Día de los Símbolos Patrios"
+        self.assertHolidayName(
+            name, self.bank_holidays, (f"{year}-11-04" for year in range(1948, 2050))
+        )
+        self.assertNoHolidayName(name)
 
     def test_2022(self):
         self.assertHolidays(
-            Panama(years=2022),
-            ("2022-01-01", "New Year's Day"),
-            ("2022-01-09", "Martyrs' Day"),
-            ("2022-01-10", "Martyrs' Day (observed)"),
-            ("2022-03-01", "Carnival"),
-            ("2022-04-15", "Good Friday"),
-            ("2022-05-01", "Labour Day"),
-            ("2022-05-02", "Labour Day (observed)"),
-            ("2022-11-03", "Separation Day"),
-            ("2022-11-04", "National Symbols Day"),
-            ("2022-11-05", "Colon Day"),
-            ("2022-11-10", "Los Santos Uprising Day"),
-            ("2022-11-28", "Independence Day"),
-            ("2022-12-08", "Mother's Day"),
-            ("2022-12-20", "National Mourning Day"),
-            ("2022-12-25", "Christmas Day"),
-            ("2022-12-26", "Christmas Day (observed)"),
+            Panama(categories=(BANK, PUBLIC), years=2022),
+            ("2022-01-01", "Año Nuevo"),
+            ("2022-01-09", "Día de los Mártires"),
+            ("2022-01-10", "Día de los Mártires (puente)"),
+            ("2022-02-28", "Lunes de Carnaval"),
+            ("2022-03-01", "Martes de Carnaval"),
+            ("2022-04-15", "Viernes Santo"),
+            ("2022-05-01", "Día del Trabajo"),
+            ("2022-05-02", "Día del Trabajo (puente)"),
+            ("2022-11-03", "Separación de Panamá de Colombia"),
+            ("2022-11-04", "Día de los Símbolos Patrios"),
+            ("2022-11-05", "Día de Colón"),
+            ("2022-11-10", "Primer Grito de Independencia"),
+            ("2022-11-28", "Independencia de Panamá de España"),
+            ("2022-12-08", "Día de la Madre"),
+            ("2022-12-20", "Día de Duelo Nacional"),
+            ("2022-12-25", "Navidad"),
+            ("2022-12-26", "Navidad (puente)"),
         )
 
     def test_2023(self):
         self.assertHolidays(
-            Panama(years=2023),
-            ("2023-01-01", "New Year's Day"),
-            ("2023-01-02", "New Year's Day (observed)"),
-            ("2023-01-09", "Martyrs' Day"),
-            ("2023-02-21", "Carnival"),
-            ("2023-04-07", "Good Friday"),
-            ("2023-05-01", "Labour Day"),
-            ("2023-11-03", "Separation Day"),
-            ("2023-11-04", "National Symbols Day"),
-            ("2023-11-05", "Colon Day"),
-            ("2023-11-10", "Los Santos Uprising Day"),
-            ("2023-11-28", "Independence Day"),
-            ("2023-12-08", "Mother's Day"),
-            ("2023-12-20", "National Mourning Day"),
-            ("2023-12-25", "Christmas Day"),
+            Panama(categories=(BANK, PUBLIC), years=2023),
+            ("2023-01-01", "Año Nuevo"),
+            ("2023-01-02", "Año Nuevo (puente)"),
+            ("2023-01-09", "Día de los Mártires"),
+            ("2023-02-20", "Lunes de Carnaval"),
+            ("2023-02-21", "Martes de Carnaval"),
+            ("2023-04-07", "Viernes Santo"),
+            ("2023-05-01", "Día del Trabajo"),
+            ("2023-11-03", "Separación de Panamá de Colombia"),
+            ("2023-11-04", "Día de los Símbolos Patrios"),
+            ("2023-11-05", "Día de Colón"),
+            ("2023-11-06", "Día de Colón (puente)"),
+            ("2023-11-10", "Primer Grito de Independencia"),
+            ("2023-11-28", "Independencia de Panamá de España"),
+            ("2023-12-08", "Día de la Madre"),
+            ("2023-12-20", "Día de Duelo Nacional"),
+            ("2023-12-25", "Navidad"),
+        )
+
+    def test_l10n_default(self):
+        self.assertLocalizedHolidays(
+            ("2024-01-01", "Año Nuevo"),
+            ("2024-01-09", "Día de los Mártires"),
+            ("2024-02-12", "Lunes de Carnaval"),
+            ("2024-02-13", "Martes de Carnaval"),
+            ("2024-03-29", "Viernes Santo"),
+            ("2024-05-01", "Día del Trabajo"),
+            ("2024-07-01", "Toma posesión del Presidente de la república"),
+            ("2024-11-03", "Separación de Panamá de Colombia"),
+            (
+                "2024-11-04",
+                "Día de los Símbolos Patrios; Separación de Panamá de Colombia (puente)",
+            ),
+            ("2024-11-05", "Día de Colón"),
+            ("2024-11-10", "Primer Grito de Independencia"),
+            ("2024-11-11", "Primer Grito de Independencia (puente)"),
+            ("2024-11-28", "Independencia de Panamá de España"),
+            ("2024-12-08", "Día de la Madre"),
+            ("2024-12-09", "Día de la Madre (puente)"),
+            ("2024-12-20", "Día de Duelo Nacional"),
+            ("2024-12-25", "Navidad"),
+        )
+
+    def test_l10n_en_us(self):
+        self.assertLocalizedHolidays(
+            "en_US",
+            ("2024-01-01", "New Year's Day"),
+            ("2024-01-09", "Martyrs' Day"),
+            ("2024-02-12", "Carnival Monday"),
+            ("2024-02-13", "Carnival Tuesday"),
+            ("2024-03-29", "Good Friday"),
+            ("2024-05-01", "Labor Day"),
+            ("2024-07-01", "Presidential Inauguration Day"),
+            ("2024-11-03", "Separation Day"),
+            ("2024-11-04", "National Symbols Day; Separation Day (observed)"),
+            ("2024-11-05", "Colon Day"),
+            ("2024-11-10", "Los Santos Uprising Day"),
+            ("2024-11-11", "Los Santos Uprising Day (observed)"),
+            ("2024-11-28", "Independence Day"),
+            ("2024-12-08", "Mother's Day"),
+            ("2024-12-09", "Mother's Day (observed)"),
+            ("2024-12-20", "National Mourning Day"),
+            ("2024-12-25", "Christmas Day"),
+        )
+
+    def test_l10n_uk(self):
+        self.assertLocalizedHolidays(
+            "uk",
+            ("2024-01-01", "Новий рік"),
+            ("2024-01-09", "День мучеників"),
+            ("2024-02-12", "Карнавальний понеділок"),
+            ("2024-02-13", "Карнавальний вівторок"),
+            ("2024-03-29", "Страсна пʼятниця"),
+            ("2024-05-01", "День праці"),
+            ("2024-07-01", "Інавгурація Президента Республіки"),
+            ("2024-11-03", "День відокремлення від Колумбії"),
+            (
+                "2024-11-04",
+                "День відокремлення від Колумбії (вихідний); День національних символів",
+            ),
+            ("2024-11-05", "День Колона"),
+            ("2024-11-10", "День початку повстання у Лос-Сантос"),
+            ("2024-11-11", "День початку повстання у Лос-Сантос (вихідний)"),
+            ("2024-11-28", "День незалежності від Іспанії"),
+            ("2024-12-08", "День матері"),
+            ("2024-12-09", "День матері (вихідний)"),
+            ("2024-12-20", "День національної скорботи"),
+            ("2024-12-25", "Різдво Христове"),
         )