We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Revisit #211 to include FR for France
This is an appeal to reconsider the request in #211 

Started using this library and I really like it, but this one exception to the [iso3166 standard](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) is most unexpected. I'll skip a lengthy opinion on the value of standards and go directly to my question: if there was a pull request to adhere to iso3166, would it be considered? Or would that be wasted work because of reasons (backwards compatibility or anything else)?

Thanks,
rfm.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `holidays/countries/__init__.py`
Content:
```
1 #  python-holidays
2 #  ---------------
3 #  A fast, efficient Python library for generating country, province and state
4 #  specific sets of holidays on the fly. It aims to make determining whether a
5 #  specific date is a holiday as fast and flexible as possible.
6 #
7 #  Author:  ryanss <ryanssdev@icloud.com> (c) 2014-2017
8 #           dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020
9 #  Website: https://github.com/dr-prodigy/python-holidays
10 #  License: MIT (see LICENSE file)
11 
12 from .argentina import Argentina, AR, ARG
13 from .aruba import Aruba, AW, ABW
14 from .australia import Australia, AU, AUS
15 from .austria import Austria, AT, AUT
16 from .belarus import Belarus, BY, BLR
17 from .belgium import Belgium, BE, BEL
18 from .brazil import Brazil, BR, BRA
19 from .bulgaria import Bulgaria, BG, BLG
20 from .burundi import Burundi, BI, BDI
21 from .canada import Canada, CA, CAN
22 from .chile import Chile, CL, CHL
23 from .colombia import Colombia, CO, COL
24 from .croatia import Croatia, HR, HRV
25 from .czechia import Czechia, Czech, CZ, CZE
26 from .denmark import Denmark, DK, DNK
27 from .djibouti import Djibouti, DJ, DJI
28 from .dominican_republic import DominicanRepublic, DO, DOM
29 from .egypt import Egypt, EG, EGY
30 from .estonia import Estonia, EE, EST
31 from .european_central_bank import EuropeanCentralBank, ECB, TAR
32 from .finland import Finland, FI, FIN
33 from .france import France, FRA
34 from .germany import Germany, DE, DEU
35 from .greece import Greece, GR, GRC
36 from .honduras import Honduras, HN, HND
37 from .hongkong import HongKong, HK, HKG
38 from .hungary import Hungary, HU, HUN
39 from .iceland import Iceland, IS, ISL
40 from .india import India, IN, IND
41 from .ireland import Ireland, IE, IRL
42 from .italy import Italy, IT, ITA
43 from .israel import Israel, IL, ISR
44 from .japan import Japan, JP, JPN
45 from .kenya import Kenya, KE, KEN
46 from .korea import Korea, KR, KOR
47 from .latvia import Latvia, LV, LVA
48 from .lithuania import Lithuania, LT, LTU
49 from .luxembourg import Luxembourg, LU, LUX
50 from .mexico import Mexico, MX, MEX
51 from .morocco import Morocco, MA, MOR
52 from .netherlands import Netherlands, NL, NLD
53 from .new_zealand import NewZealand, NZ, NZL
54 from .nicaragua import Nicaragua, NI, NIC
55 from .nigeria import Nigeria, NG, NGA
56 from .norway import Norway, NO, NOR
57 from .paraguay import Paraguay, PY, PRY
58 from .peru import Peru, PE, PER
59 from .poland import Poland, Polish, PL, POL
60 from .portugal import Portugal, PT, PRT, PortugalExt, PTE
61 from .romania import Romania, RO, ROU
62 from .russia import Russia, RU, RUS
63 from .serbia import Serbia, RS, SRB
64 from .singapore import Singapore, SG, SGP
65 from .slovakia import Slovakia, Slovak, SK, SVK
66 from .slovenia import Slovenia, SI, SVN
67 from .south_africa import SouthAfrica, ZA, ZAF
68 from .spain import Spain, ES, ESP
69 from .sweden import Sweden, SE, SWE
70 from .switzerland import Switzerland, CH, CHE
71 from .turkey import Turkey, TR, TUR
72 from .ukraine import Ukraine, UA, UKR
73 from .united_arab_emirates import UnitedArabEmirates, AE, ARE
74 from .united_kingdom import UnitedKingdom, UK, GB, England, Wales, Scotland,\
75     IsleOfMan, NorthernIreland, GBR
76 from .united_states import UnitedStates, US, USA
77 from .vietnam import Vietnam, VN, VNM
78
```

Path: `holidays/countries/france.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 
3 #  python-holidays
4 #  ---------------
5 #  A fast, efficient Python library for generating country, province and state
6 #  specific sets of holidays on the fly. It aims to make determining whether a
7 #  specific date is a holiday as fast and flexible as possible.
8 #
9 #  Author:  ryanss <ryanssdev@icloud.com> (c) 2014-2017
10 #           dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020
11 #  Website: https://github.com/dr-prodigy/python-holidays
12 #  License: MIT (see LICENSE file)
13 
14 from datetime import date
15 
16 from dateutil.easter import easter
17 from dateutil.relativedelta import relativedelta as rd
18 
19 from holidays.constants import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, \
20     NOV, DEC
21 from holidays.holiday_base import HolidayBase
22 
23 
24 class France(HolidayBase):
25     """Official French holidays.
26 
27     Some provinces have specific holidays, only those are included in the
28     PROVINCES, because these provinces have different administrative status,
29     which makes it difficult to enumerate.
30 
31     For religious holidays usually happening on Sundays (Easter, Pentecost),
32     only the following Monday is considered a holiday.
33 
34     Primary sources:
35         https://fr.wikipedia.org/wiki/Fêtes_et_jours_fériés_en_France
36         https://www.service-public.fr/particuliers/vosdroits/F2405
37     """
38 
39     PROVINCES = ['Métropole', 'Alsace-Moselle', 'Guadeloupe', 'Guyane',
40                  'Martinique', 'Mayotte', 'Nouvelle-Calédonie', 'La Réunion',
41                  'Polynésie Française', 'Saint-Barthélémy', 'Saint-Martin',
42                  'Wallis-et-Futuna']
43 
44     def __init__(self, **kwargs):
45         self.country = 'FR'
46         self.prov = kwargs.pop('prov', 'Métropole')
47         HolidayBase.__init__(self, **kwargs)
48 
49     def _populate(self, year):
50         # Civil holidays
51         if year > 1810:
52             self[date(year, JAN, 1)] = "Jour de l'an"
53 
54         if year > 1919:
55             name = 'Fête du Travail'
56             if year <= 1948:
57                 name += ' et de la Concorde sociale'
58             self[date(year, MAY, 1)] = name
59 
60         if (1953 <= year <= 1959) or year > 1981:
61             self[date(year, MAY, 8)] = 'Armistice 1945'
62 
63         if year >= 1880:
64             self[date(year, JUL, 14)] = 'Fête nationale'
65 
66         if year >= 1918:
67             self[date(year, NOV, 11)] = 'Armistice 1918'
68 
69         # Religious holidays
70         if self.prov in ['Alsace-Moselle', 'Guadeloupe', 'Guyane',
71                          'Martinique', 'Polynésie Française']:
72             self[easter(year) - rd(days=2)] = 'Vendredi saint'
73 
74         if self.prov == 'Alsace-Moselle':
75             self[date(year, DEC, 26)] = 'Deuxième jour de Noël'
76 
77         if year >= 1886:
78             self[easter(year) + rd(days=1)] = 'Lundi de Pâques'
79             self[easter(year) + rd(days=50)] = 'Lundi de Pentecôte'
80 
81         if year >= 1802:
82             self[easter(year) + rd(days=39)] = 'Ascension'
83             self[date(year, AUG, 15)] = 'Assomption'
84             self[date(year, NOV, 1)] = 'Toussaint'
85 
86             name = 'Noël'
87             if self.prov == 'Alsace-Moselle':
88                 name = 'Premier jour de ' + name
89             self[date(year, DEC, 25)] = name
90 
91         # Non-metropolitan holidays (starting dates missing)
92         if self.prov == 'Mayotte':
93             self[date(year, APR, 27)] = "Abolition de l'esclavage"
94 
95         if self.prov == 'Wallis-et-Futuna':
96             self[date(year, APR, 28)] = 'Saint Pierre Chanel'
97 
98         if self.prov == 'Martinique':
99             self[date(year, MAY, 22)] = "Abolition de l'esclavage"
100 
101         if self.prov in ['Guadeloupe', 'Saint-Martin']:
102             self[date(year, MAY, 27)] = "Abolition de l'esclavage"
103 
104         if self.prov == 'Guyane':
105             self[date(year, JUN, 10)] = "Abolition de l'esclavage"
106 
107         if self.prov == 'Polynésie Française':
108             self[date(year, JUN, 29)] = "Fête de l'autonomie"
109 
110         if self.prov in ['Guadeloupe', 'Martinique']:
111             self[date(year, JUL, 21)] = 'Fête Victor Schoelcher'
112 
113         if self.prov == 'Wallis-et-Futuna':
114             self[date(year, JUL, 29)] = 'Fête du Territoire'
115 
116         if self.prov == 'Nouvelle-Calédonie':
117             self[date(year, SEP, 24)] = 'Fête de la Citoyenneté'
118 
119         if self.prov == 'Saint-Barthélémy':
120             self[date(year, OCT, 9)] = "Abolition de l'esclavage"
121 
122         if self.prov == 'La Réunion' and year >= 1981:
123             self[date(year, DEC, 20)] = "Abolition de l'esclavage"
124 
125 
126 # FR already exists (Friday), we don't want to mess it up
127 class FRA(France):
128     pass
129
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py
--- a/holidays/countries/__init__.py
+++ b/holidays/countries/__init__.py
@@ -30,7 +30,7 @@
 from .estonia import Estonia, EE, EST
 from .european_central_bank import EuropeanCentralBank, ECB, TAR
 from .finland import Finland, FI, FIN
-from .france import France, FRA
+from .france import France, FR, FRA
 from .germany import Germany, DE, DEU
 from .greece import Greece, GR, GRC
 from .honduras import Honduras, HN, HND
diff --git a/holidays/countries/france.py b/holidays/countries/france.py
--- a/holidays/countries/france.py
+++ b/holidays/countries/france.py
@@ -123,6 +123,10 @@
             self[date(year, DEC, 20)] = "Abolition de l'esclavage"
 
 
-# FR already exists (Friday), we don't want to mess it up
+# *Warning* FR is also used by dateutlis (Friday), so be careful with its use
+class FR(France):
+    pass
+
+
 class FRA(France):
     pass

{"golden_diff": "diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py\n--- a/holidays/countries/__init__.py\n+++ b/holidays/countries/__init__.py\n@@ -30,7 +30,7 @@\n from .estonia import Estonia, EE, EST\n from .european_central_bank import EuropeanCentralBank, ECB, TAR\n from .finland import Finland, FI, FIN\n-from .france import France, FRA\n+from .france import France, FR, FRA\n from .germany import Germany, DE, DEU\n from .greece import Greece, GR, GRC\n from .honduras import Honduras, HN, HND\ndiff --git a/holidays/countries/france.py b/holidays/countries/france.py\n--- a/holidays/countries/france.py\n+++ b/holidays/countries/france.py\n@@ -123,6 +123,10 @@\n             self[date(year, DEC, 20)] = \"Abolition de l'esclavage\"\n \n \n-# FR already exists (Friday), we don't want to mess it up\n+# *Warning* FR is also used by dateutlis (Friday), so be careful with its use\n+class FR(France):\n+    pass\n+\n+\n class FRA(France):\n     pass\n", "issue": "Revisit #211 to include FR for France\nThis is an appeal to reconsider the request in #211 \r\n\r\nStarted using this library and I really like it, but this one exception to the [iso3166 standard](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) is most unexpected. I'll skip a lengthy opinion on the value of standards and go directly to my question: if there was a pull request to adhere to iso3166, would it be considered? Or would that be wasted work because of reasons (backwards compatibility or anything else)?\r\n\r\nThanks,\r\nrfm.\n", "before_files": [{"content": "#  python-holidays\n#  ---------------\n#  A fast, efficient Python library for generating country, province and state\n#  specific sets of holidays on the fly. It aims to make determining whether a\n#  specific date is a holiday as fast and flexible as possible.\n#\n#  Author:  ryanss <ryanssdev@icloud.com> (c) 2014-2017\n#           dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020\n#  Website: https://github.com/dr-prodigy/python-holidays\n#  License: MIT (see LICENSE file)\n\nfrom .argentina import Argentina, AR, ARG\nfrom .aruba import Aruba, AW, ABW\nfrom .australia import Australia, AU, AUS\nfrom .austria import Austria, AT, AUT\nfrom .belarus import Belarus, BY, BLR\nfrom .belgium import Belgium, BE, BEL\nfrom .brazil import Brazil, BR, BRA\nfrom .bulgaria import Bulgaria, BG, BLG\nfrom .burundi import Burundi, BI, BDI\nfrom .canada import Canada, CA, CAN\nfrom .chile import Chile, CL, CHL\nfrom .colombia import Colombia, CO, COL\nfrom .croatia import Croatia, HR, HRV\nfrom .czechia import Czechia, Czech, CZ, CZE\nfrom .denmark import Denmark, DK, DNK\nfrom .djibouti import Djibouti, DJ, DJI\nfrom .dominican_republic import DominicanRepublic, DO, DOM\nfrom .egypt import Egypt, EG, EGY\nfrom .estonia import Estonia, EE, EST\nfrom .european_central_bank import EuropeanCentralBank, ECB, TAR\nfrom .finland import Finland, FI, FIN\nfrom .france import France, FRA\nfrom .germany import Germany, DE, DEU\nfrom .greece import Greece, GR, GRC\nfrom .honduras import Honduras, HN, HND\nfrom .hongkong import HongKong, HK, HKG\nfrom .hungary import Hungary, HU, HUN\nfrom .iceland import Iceland, IS, ISL\nfrom .india import India, IN, IND\nfrom .ireland import Ireland, IE, IRL\nfrom .italy import Italy, IT, ITA\nfrom .israel import Israel, IL, ISR\nfrom .japan import Japan, JP, JPN\nfrom .kenya import Kenya, KE, KEN\nfrom .korea import Korea, KR, KOR\nfrom .latvia import Latvia, LV, LVA\nfrom .lithuania import Lithuania, LT, LTU\nfrom .luxembourg import Luxembourg, LU, LUX\nfrom .mexico import Mexico, MX, MEX\nfrom .morocco import Morocco, MA, MOR\nfrom .netherlands import Netherlands, NL, NLD\nfrom .new_zealand import NewZealand, NZ, NZL\nfrom .nicaragua import Nicaragua, NI, NIC\nfrom .nigeria import Nigeria, NG, NGA\nfrom .norway import Norway, NO, NOR\nfrom .paraguay import Paraguay, PY, PRY\nfrom .peru import Peru, PE, PER\nfrom .poland import Poland, Polish, PL, POL\nfrom .portugal import Portugal, PT, PRT, PortugalExt, PTE\nfrom .romania import Romania, RO, ROU\nfrom .russia import Russia, RU, RUS\nfrom .serbia import Serbia, RS, SRB\nfrom .singapore import Singapore, SG, SGP\nfrom .slovakia import Slovakia, Slovak, SK, SVK\nfrom .slovenia import Slovenia, SI, SVN\nfrom .south_africa import SouthAfrica, ZA, ZAF\nfrom .spain import Spain, ES, ESP\nfrom .sweden import Sweden, SE, SWE\nfrom .switzerland import Switzerland, CH, CHE\nfrom .turkey import Turkey, TR, TUR\nfrom .ukraine import Ukraine, UA, UKR\nfrom .united_arab_emirates import UnitedArabEmirates, AE, ARE\nfrom .united_kingdom import UnitedKingdom, UK, GB, England, Wales, Scotland,\\\n    IsleOfMan, NorthernIreland, GBR\nfrom .united_states import UnitedStates, US, USA\nfrom .vietnam import Vietnam, VN, VNM\n", "path": "holidays/countries/__init__.py"}, {"content": "# -*- coding: utf-8 -*-\n\n#  python-holidays\n#  ---------------\n#  A fast, efficient Python library for generating country, province and state\n#  specific sets of holidays on the fly. It aims to make determining whether a\n#  specific date is a holiday as fast and flexible as possible.\n#\n#  Author:  ryanss <ryanssdev@icloud.com> (c) 2014-2017\n#           dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020\n#  Website: https://github.com/dr-prodigy/python-holidays\n#  License: MIT (see LICENSE file)\n\nfrom datetime import date\n\nfrom dateutil.easter import easter\nfrom dateutil.relativedelta import relativedelta as rd\n\nfrom holidays.constants import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, \\\n    NOV, DEC\nfrom holidays.holiday_base import HolidayBase\n\n\nclass France(HolidayBase):\n    \"\"\"Official French holidays.\n\n    Some provinces have specific holidays, only those are included in the\n    PROVINCES, because these provinces have different administrative status,\n    which makes it difficult to enumerate.\n\n    For religious holidays usually happening on Sundays (Easter, Pentecost),\n    only the following Monday is considered a holiday.\n\n    Primary sources:\n        https://fr.wikipedia.org/wiki/F\u00eates_et_jours_f\u00e9ri\u00e9s_en_France\n        https://www.service-public.fr/particuliers/vosdroits/F2405\n    \"\"\"\n\n    PROVINCES = ['M\u00e9tropole', 'Alsace-Moselle', 'Guadeloupe', 'Guyane',\n                 'Martinique', 'Mayotte', 'Nouvelle-Cal\u00e9donie', 'La R\u00e9union',\n                 'Polyn\u00e9sie Fran\u00e7aise', 'Saint-Barth\u00e9l\u00e9my', 'Saint-Martin',\n                 'Wallis-et-Futuna']\n\n    def __init__(self, **kwargs):\n        self.country = 'FR'\n        self.prov = kwargs.pop('prov', 'M\u00e9tropole')\n        HolidayBase.__init__(self, **kwargs)\n\n    def _populate(self, year):\n        # Civil holidays\n        if year > 1810:\n            self[date(year, JAN, 1)] = \"Jour de l'an\"\n\n        if year > 1919:\n            name = 'F\u00eate du Travail'\n            if year <= 1948:\n                name += ' et de la Concorde sociale'\n            self[date(year, MAY, 1)] = name\n\n        if (1953 <= year <= 1959) or year > 1981:\n            self[date(year, MAY, 8)] = 'Armistice 1945'\n\n        if year >= 1880:\n            self[date(year, JUL, 14)] = 'F\u00eate nationale'\n\n        if year >= 1918:\n            self[date(year, NOV, 11)] = 'Armistice 1918'\n\n        # Religious holidays\n        if self.prov in ['Alsace-Moselle', 'Guadeloupe', 'Guyane',\n                         'Martinique', 'Polyn\u00e9sie Fran\u00e7aise']:\n            self[easter(year) - rd(days=2)] = 'Vendredi saint'\n\n        if self.prov == 'Alsace-Moselle':\n            self[date(year, DEC, 26)] = 'Deuxi\u00e8me jour de No\u00ebl'\n\n        if year >= 1886:\n            self[easter(year) + rd(days=1)] = 'Lundi de P\u00e2ques'\n            self[easter(year) + rd(days=50)] = 'Lundi de Pentec\u00f4te'\n\n        if year >= 1802:\n            self[easter(year) + rd(days=39)] = 'Ascension'\n            self[date(year, AUG, 15)] = 'Assomption'\n            self[date(year, NOV, 1)] = 'Toussaint'\n\n            name = 'No\u00ebl'\n            if self.prov == 'Alsace-Moselle':\n                name = 'Premier jour de ' + name\n            self[date(year, DEC, 25)] = name\n\n        # Non-metropolitan holidays (starting dates missing)\n        if self.prov == 'Mayotte':\n            self[date(year, APR, 27)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'Wallis-et-Futuna':\n            self[date(year, APR, 28)] = 'Saint Pierre Chanel'\n\n        if self.prov == 'Martinique':\n            self[date(year, MAY, 22)] = \"Abolition de l'esclavage\"\n\n        if self.prov in ['Guadeloupe', 'Saint-Martin']:\n            self[date(year, MAY, 27)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'Guyane':\n            self[date(year, JUN, 10)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'Polyn\u00e9sie Fran\u00e7aise':\n            self[date(year, JUN, 29)] = \"F\u00eate de l'autonomie\"\n\n        if self.prov in ['Guadeloupe', 'Martinique']:\n            self[date(year, JUL, 21)] = 'F\u00eate Victor Schoelcher'\n\n        if self.prov == 'Wallis-et-Futuna':\n            self[date(year, JUL, 29)] = 'F\u00eate du Territoire'\n\n        if self.prov == 'Nouvelle-Cal\u00e9donie':\n            self[date(year, SEP, 24)] = 'F\u00eate de la Citoyennet\u00e9'\n\n        if self.prov == 'Saint-Barth\u00e9l\u00e9my':\n            self[date(year, OCT, 9)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'La R\u00e9union' and year >= 1981:\n            self[date(year, DEC, 20)] = \"Abolition de l'esclavage\"\n\n\n# FR already exists (Friday), we don't want to mess it up\nclass FRA(France):\n    pass\n", "path": "holidays/countries/france.py"}], "after_files": [{"content": "#  python-holidays\n#  ---------------\n#  A fast, efficient Python library for generating country, province and state\n#  specific sets of holidays on the fly. It aims to make determining whether a\n#  specific date is a holiday as fast and flexible as possible.\n#\n#  Author:  ryanss <ryanssdev@icloud.com> (c) 2014-2017\n#           dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020\n#  Website: https://github.com/dr-prodigy/python-holidays\n#  License: MIT (see LICENSE file)\n\nfrom .argentina import Argentina, AR, ARG\nfrom .aruba import Aruba, AW, ABW\nfrom .australia import Australia, AU, AUS\nfrom .austria import Austria, AT, AUT\nfrom .belarus import Belarus, BY, BLR\nfrom .belgium import Belgium, BE, BEL\nfrom .brazil import Brazil, BR, BRA\nfrom .bulgaria import Bulgaria, BG, BLG\nfrom .burundi import Burundi, BI, BDI\nfrom .canada import Canada, CA, CAN\nfrom .chile import Chile, CL, CHL\nfrom .colombia import Colombia, CO, COL\nfrom .croatia import Croatia, HR, HRV\nfrom .czechia import Czechia, Czech, CZ, CZE\nfrom .denmark import Denmark, DK, DNK\nfrom .djibouti import Djibouti, DJ, DJI\nfrom .dominican_republic import DominicanRepublic, DO, DOM\nfrom .egypt import Egypt, EG, EGY\nfrom .estonia import Estonia, EE, EST\nfrom .european_central_bank import EuropeanCentralBank, ECB, TAR\nfrom .finland import Finland, FI, FIN\nfrom .france import France, FR, FRA\nfrom .germany import Germany, DE, DEU\nfrom .greece import Greece, GR, GRC\nfrom .honduras import Honduras, HN, HND\nfrom .hongkong import HongKong, HK, HKG\nfrom .hungary import Hungary, HU, HUN\nfrom .iceland import Iceland, IS, ISL\nfrom .india import India, IN, IND\nfrom .ireland import Ireland, IE, IRL\nfrom .italy import Italy, IT, ITA\nfrom .israel import Israel, IL, ISR\nfrom .japan import Japan, JP, JPN\nfrom .kenya import Kenya, KE, KEN\nfrom .korea import Korea, KR, KOR\nfrom .latvia import Latvia, LV, LVA\nfrom .lithuania import Lithuania, LT, LTU\nfrom .luxembourg import Luxembourg, LU, LUX\nfrom .mexico import Mexico, MX, MEX\nfrom .morocco import Morocco, MA, MOR\nfrom .netherlands import Netherlands, NL, NLD\nfrom .new_zealand import NewZealand, NZ, NZL\nfrom .nicaragua import Nicaragua, NI, NIC\nfrom .nigeria import Nigeria, NG, NGA\nfrom .norway import Norway, NO, NOR\nfrom .paraguay import Paraguay, PY, PRY\nfrom .peru import Peru, PE, PER\nfrom .poland import Poland, Polish, PL, POL\nfrom .portugal import Portugal, PT, PRT, PortugalExt, PTE\nfrom .romania import Romania, RO, ROU\nfrom .russia import Russia, RU, RUS\nfrom .serbia import Serbia, RS, SRB\nfrom .singapore import Singapore, SG, SGP\nfrom .slovakia import Slovakia, Slovak, SK, SVK\nfrom .slovenia import Slovenia, SI, SVN\nfrom .south_africa import SouthAfrica, ZA, ZAF\nfrom .spain import Spain, ES, ESP\nfrom .sweden import Sweden, SE, SWE\nfrom .switzerland import Switzerland, CH, CHE\nfrom .turkey import Turkey, TR, TUR\nfrom .ukraine import Ukraine, UA, UKR\nfrom .united_arab_emirates import UnitedArabEmirates, AE, ARE\nfrom .united_kingdom import UnitedKingdom, UK, GB, England, Wales, Scotland,\\\n    IsleOfMan, NorthernIreland, GBR\nfrom .united_states import UnitedStates, US, USA\nfrom .vietnam import Vietnam, VN, VNM\n", "path": "holidays/countries/__init__.py"}, {"content": "# -*- coding: utf-8 -*-\n\n#  python-holidays\n#  ---------------\n#  A fast, efficient Python library for generating country, province and state\n#  specific sets of holidays on the fly. It aims to make determining whether a\n#  specific date is a holiday as fast and flexible as possible.\n#\n#  Author:  ryanss <ryanssdev@icloud.com> (c) 2014-2017\n#           dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020\n#  Website: https://github.com/dr-prodigy/python-holidays\n#  License: MIT (see LICENSE file)\n\nfrom datetime import date\n\nfrom dateutil.easter import easter\nfrom dateutil.relativedelta import relativedelta as rd\n\nfrom holidays.constants import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, \\\n    NOV, DEC\nfrom holidays.holiday_base import HolidayBase\n\n\nclass France(HolidayBase):\n    \"\"\"Official French holidays.\n\n    Some provinces have specific holidays, only those are included in the\n    PROVINCES, because these provinces have different administrative status,\n    which makes it difficult to enumerate.\n\n    For religious holidays usually happening on Sundays (Easter, Pentecost),\n    only the following Monday is considered a holiday.\n\n    Primary sources:\n        https://fr.wikipedia.org/wiki/F\u00eates_et_jours_f\u00e9ri\u00e9s_en_France\n        https://www.service-public.fr/particuliers/vosdroits/F2405\n    \"\"\"\n\n    PROVINCES = ['M\u00e9tropole', 'Alsace-Moselle', 'Guadeloupe', 'Guyane',\n                 'Martinique', 'Mayotte', 'Nouvelle-Cal\u00e9donie', 'La R\u00e9union',\n                 'Polyn\u00e9sie Fran\u00e7aise', 'Saint-Barth\u00e9l\u00e9my', 'Saint-Martin',\n                 'Wallis-et-Futuna']\n\n    def __init__(self, **kwargs):\n        self.country = 'FR'\n        self.prov = kwargs.pop('prov', 'M\u00e9tropole')\n        HolidayBase.__init__(self, **kwargs)\n\n    def _populate(self, year):\n        # Civil holidays\n        if year > 1810:\n            self[date(year, JAN, 1)] = \"Jour de l'an\"\n\n        if year > 1919:\n            name = 'F\u00eate du Travail'\n            if year <= 1948:\n                name += ' et de la Concorde sociale'\n            self[date(year, MAY, 1)] = name\n\n        if (1953 <= year <= 1959) or year > 1981:\n            self[date(year, MAY, 8)] = 'Armistice 1945'\n\n        if year >= 1880:\n            self[date(year, JUL, 14)] = 'F\u00eate nationale'\n\n        if year >= 1918:\n            self[date(year, NOV, 11)] = 'Armistice 1918'\n\n        # Religious holidays\n        if self.prov in ['Alsace-Moselle', 'Guadeloupe', 'Guyane',\n                         'Martinique', 'Polyn\u00e9sie Fran\u00e7aise']:\n            self[easter(year) - rd(days=2)] = 'Vendredi saint'\n\n        if self.prov == 'Alsace-Moselle':\n            self[date(year, DEC, 26)] = 'Deuxi\u00e8me jour de No\u00ebl'\n\n        if year >= 1886:\n            self[easter(year) + rd(days=1)] = 'Lundi de P\u00e2ques'\n            self[easter(year) + rd(days=50)] = 'Lundi de Pentec\u00f4te'\n\n        if year >= 1802:\n            self[easter(year) + rd(days=39)] = 'Ascension'\n            self[date(year, AUG, 15)] = 'Assomption'\n            self[date(year, NOV, 1)] = 'Toussaint'\n\n            name = 'No\u00ebl'\n            if self.prov == 'Alsace-Moselle':\n                name = 'Premier jour de ' + name\n            self[date(year, DEC, 25)] = name\n\n        # Non-metropolitan holidays (starting dates missing)\n        if self.prov == 'Mayotte':\n            self[date(year, APR, 27)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'Wallis-et-Futuna':\n            self[date(year, APR, 28)] = 'Saint Pierre Chanel'\n\n        if self.prov == 'Martinique':\n            self[date(year, MAY, 22)] = \"Abolition de l'esclavage\"\n\n        if self.prov in ['Guadeloupe', 'Saint-Martin']:\n            self[date(year, MAY, 27)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'Guyane':\n            self[date(year, JUN, 10)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'Polyn\u00e9sie Fran\u00e7aise':\n            self[date(year, JUN, 29)] = \"F\u00eate de l'autonomie\"\n\n        if self.prov in ['Guadeloupe', 'Martinique']:\n            self[date(year, JUL, 21)] = 'F\u00eate Victor Schoelcher'\n\n        if self.prov == 'Wallis-et-Futuna':\n            self[date(year, JUL, 29)] = 'F\u00eate du Territoire'\n\n        if self.prov == 'Nouvelle-Cal\u00e9donie':\n            self[date(year, SEP, 24)] = 'F\u00eate de la Citoyennet\u00e9'\n\n        if self.prov == 'Saint-Barth\u00e9l\u00e9my':\n            self[date(year, OCT, 9)] = \"Abolition de l'esclavage\"\n\n        if self.prov == 'La R\u00e9union' and year >= 1981:\n            self[date(year, DEC, 20)] = \"Abolition de l'esclavage\"\n\n\n# *Warning* FR is also used by dateutlis (Friday), so be careful with its use\nclass FR(France):\n    pass\n\n\nclass FRA(France):\n    pass\n", "path": "holidays/countries/france.py"}]}