
    x7#hm                         d dl mZmZ d dlmZmZmZ d dlmZm	Z	m
Z
mZmZmZ  G d deeee      Z G d de      Z G d d	e      Z G d
 d      Zy)    )SEPDEC)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseTUE_TO_PREV_MONWED_THU_TO_NEXT_FRISAT_SUN_TO_NEXT_MONSUN_TO_NEXT_MONSUN_TO_NEXT_TUEc                   4     e Zd ZdZdZdZdZ fdZd Z xZ	S )Bahamasae  Bahamas holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_the_Bahamas>
        * <https://laws.bahamas.gov.bs/cms/images/LEGISLATION/PRINCIPAL/1938/1938-0015/PublicHolidaysAct_1.pdf>
        * <https://laws.bahamas.gov.bs/cms/images/LEGISLATION/PRINCIPAL/2013/2013-0040/MajorityRulePublicHolidayAct2013_1.pdf>
        * <https://laws.bahamas.gov.bs/cms/images/LEGISLATION/PRINCIPAL/2013/2013-0009/RandolFawkesLabourDayAct2013_1.pdf>
        * <http://www.tribune242.com/news/2013/oct/12/national-heroes-day-formally-established/>
        * <https://eleutheranews.com/?p=3594>

    Checked With:
        * <https://www.bahamashclondon.net/consular-information/public-holidays/>
        * <https://bisxbahamas.com/wp-content/uploads/2020/12/Trading-Calendar-2021.pdf>
        * <https://publicholidays.la/the-bahamas/2022-dates/>
    BSz%s (observed)i  c                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               t        |   |i | y )Nobserved_rule)r   __init__r   r   BahamasStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      Z/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/bahamas.pyr   zBahamas.__init__/   sS    ""4(&&t,&;</+>?$)&)    c                 6   | j                  | j                  d      | j                  dk\  rt        nt        t
        z   t        z          | j                  dk\  r | j                  | j                  d             | j                  d       | j                  d       | j                  d       | j                  | j                  d	k\  rd
nd       | j                  | j                  d             | j                  d       | j                  d	k\  r| j                  d       n4| j                  | j                  d      t        t
        z   t        z          | j                  | j!                  d      t"               | j                  | j%                  d             y )NNew Year's Dayi  )rulei  zMajority Rule DayzGood FridayzEaster MondayzWhit Mondayi  zRandol Fawkes Labour Dayz
Labour DayzIndependence DayzEmancipation DayzNational Heroes DayzDiscovery DayzChristmas Dayz
Boxing Day)_add_observed_add_new_years_day_yearr   r   r	   r
   _add_holiday_jan_10_add_good_friday_add_easter_monday_add_whit_monday_add_holiday_1st_fri_of_jun_add_holiday_jul_10_add_holiday_1st_mon_of_aug_add_holiday_2nd_mon_of_oct_add_columbus_day_add_christmas_dayr   _add_christmas_day_two)r   s    r   _populate_public_holidaysz!Bahamas._populate_public_holidays6   sr    	##$45zzT! !$69LL	 	 	
 ::t778KLM 	m, 	0 	m, 	((*.***<&,	

 	4334FGH 	(();< ::,,-BC&&7(?:=PP   	422?C/Z 	466|DEr   )
__name__
__module____qualname____doc__countryobserved_label
start_yearr   r.   __classcell__)r   s   @r   r   r      s$      G$NJ*?Fr   r   c                       e Zd Zy)r   Nr/   r0   r1    r   r   r   r   x       r   r   c                       e Zd Zy)BHSNr8   r9   r   r   r<   r<   |   r:   r   r<   c                   H    e Zd ZdeddfiZeddfeddfeddfeddfeddfdZy)r   i     z#State Funeral of Queen Elizabeth II   r   )i  i  i  i  i  N)r/   r0   r1   r   special_public_holidaysr    special_public_holidays_observedr9   r   r   r   r      sZ     	sB=> B()B()B()B()B()($r   r   N)holidays.calendars.gregorianr   r   holidays.groupsr   r   r   holidays.observed_holiday_baser   r	   r
   r   r   r   r   r   r<   r   r9   r   r   <module>rE      sV    2 T T \F!#46K^ \F~	 		' 	 r   