
    iht%              
          d dl m Z d dlmZmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZmZ d dlmZmZmZmZ  G d deeeeee      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d d      Z y)    )gettext)_CustomChineseHolidays_CustomIslamicHolidays)
JANFEBMARAPRJUNJULAUGSEPOCTNOV)ChineseCalendarHolidaysChristianHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseMON_TO_NEXT_TUESAT_SUN_TO_NEXT_MONSAT_SUN_TO_NEXT_MON_TUEc                   t     e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
dZd	d
def fdZd Z xZS )ChristmasIslanda  Christmas Island holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Christmas_Island>
        * [2007](https://web.archive.org/web/20250612072036/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2006/01-2006_Public_Holidays_2007_CI.doc)
        * [2008](https://web.archive.org/web/20240224131231/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2007/05-2007_Public_Holidays_CI.pdf)
        * [2008 Hari Raya Puasa](https://web.archive.org/web/20240331104649/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2008/03_2008_Observance_of_Hari_Raya_Puasa_2008.pdf)
        * [2009](https://web.archive.org/web/20231211180406/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2008/02-2008_2009_public_holiday_CI_gazette.pdf)
        * [2010](https://web.archive.org/web/20250612051603/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2009/2009-Gazette_5-2009-CI-Proclamation_of_2010_Special_Public_and_Bank_Holidays.pdf)
        * [2013](https://web.archive.org/web/20240805060802/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2012/2012-Gazette_7-2012-CI-Proclamation_of_2013_Public_Holidays_for_Christmas_Island.pdf)
        * [2014](https://web.archive.org/web/20240718175750/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2013/2013-Gazette_2-2013-Christmas_Island_2014_Public_Holidays.pdf)
        * [2016 Hari Raya Puasa](https://web.archive.org/web/20240222235345/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2016/2016-Gazette_4-2016-CI-Proclamation_Special_Public_and_Bank_Holidays_2016.pdf)
        * [2017](https://web.archive.org/web/20240226014639/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2016/2016-Gazette_1-2016-CI-Proclamation_Special_Public_and_Bank_Holidays_2017.pdf)
        * [2019](https://web.archive.org/web/20250517064053/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2018/files/A37-2018.pdf)
        * [2020](https://web.archive.org/web/20240830230128/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2019/files/A52-2019.pdf)
        * [2021](https://web.archive.org/web/20240713155232/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2020/files/a40-ci-public-holidays-2021-proclamation.pdf)
        * [2022](https://web.archive.org/web/20240626092850/https://www.infrastructure.gov.au/sites/default/files/documents/a32-2021-2022-public-holidays-christmas-island.pdf)
        * [2023](https://web.archive.org/web/20250612044842/https://www.infrastructure.gov.au/sites/default/files/documents/A06-2022-notice-proclamation-special-public-bank-holidays-2023-ci.pdf)
        * [2023 Hari Raya Haji](https://web.archive.org/web/20240804112114/https://www.infrastructure.gov.au/sites/default/files/documents/a06-2023_community_bulletin_-_change_of_public_holiday_date_for_hari_raya_haji_2023.pdf)
        * [2024](https://web.archive.org/web/20240519034837/https://www.infrastructure.gov.au/sites/default/files/documents/a11-2023-2024-public-holidays-christmas-island.pdf)
        * [2025](https://web.archive.org/web/20250610185153/https://www.infrastructure.gov.au/sites/default/files/documents/a20-2024-administrator-community-bulletin-ci-public-holidays-2025.pdf)
    CXen_CXz%s (observed)z%s (estimated)z%s (observed, estimated))r   en_US  T)islamic_show_estimatedr   c                F   t        j                  | t               t        j                  |        t	        j                  |        t        j                  | t        |       t        j                  | t               |j                  dt               t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )cls)r!   show_estimatedobserved_ruleN)r   __init__ChristmasIslandChineseHolidaysr   r   r   ChristmasIslandIslamicHolidaysr   ChristmasIslandStaticHolidays
setdefaultr   super)selfr   argskwargs	__class__s       c/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/christmas_island.pyr$   zChristmasIsland.__init__J   s     	 ((3QR""4(&&t,  4E[	
 	&CD/+>?$)&)    c                 B   | j                  | j                  t        d                   | j                  | j                  t        d                   t        d      }| j                  dk7  rL| j                  | j                  |      t               | j                  | j                  |      t               t        d      }| j                  dv r| j                  |       n| j                  |       | j                  t        d             | j                  | j                  t        d	                   | j                  t        d
             | j                  | j                  t        d            t        t        z          | j                  | j                  t        d                   | j!                  t        d            D ]  }| j                  |        | j#                  t        d            D ]"  }| j                  dvs| j                  |       $ y )NzNew Year's DayzAustralia DayChinese New Year  )rulez
Labour Day>             zGood Fridayz	ANZAC DayzTerritory Dayz
Boxing DayzChristmas DayzHari Raya PuasaHari Raya Haji>   r7   r8   )_add_observed_add_new_years_daytr_add_holiday_jan_26_year_add_chinese_new_years_dayr   _add_chinese_new_years_day_two_add_holiday_4th_mon_of_mar_add_holiday_3rd_mon_of_mar_add_good_friday_add_anzac_day_add_holiday_1st_mon_of_oct_add_christmas_day_twor   _add_christmas_day_add_eid_al_fitr_day_add_eid_al_adha_day)r*   namedts      r.   _populate_public_holidaysz)ChristmasIsland._populate_public_holidays[   s   42226F3GHI 	433B4GHI $%::t>>tDKbc33D9@W  
 ,::77,,T2,,T2 	b/0 	4..r+?@ 	((O)<=''<(89(?: 	 	
 	4222o3FGH ++B/@,ABBr" C ++B/?,@ABzz-""2& Br/   )__name__
__module____qualname____doc__countrydefault_languager<   observed_labelestimated_labelobserved_estimated_labelsupported_languages
start_yearboolr$   rL   __classcell__)r-   s   @r.   r   r       sU    . G(N)*O!"<=,J=A *d *"/'r/   r   c                   .    e Zd ZdZedfedfedfedfdZy)r%   )r                 )r   r5   r6   r[   N)rM   rN   rO   $LUNAR_NEW_YEAR_DATES_CONFIRMED_YEARSr   r   LUNAR_NEW_YEAR_DATES r/   r.   r%   r%      s,    +7(BiBiBiBi	r/   r%   c            
           e Zd ZdZedfedfedfedfedfedfedfd	ZdZ	edfed
fe
dfedfedfedfedfedfedfd	Zy)r&   ))r   r6   )  r8      r^                  )r5     r7       i  r8                        )	r   r5   rk   r7   rl   rm   rd   r[   r8   N)rM   rN   rO   !EID_AL_ADHA_DATES_CONFIRMED_YEARSr   r   r   r
   EID_AL_ADHA_DATES!EID_AL_FITR_DATES_CONFIRMED_YEARSr   r   r	   r   EID_AL_FITR_DATESrb   r/   r.   r&   r&      s    (D%BiBiAhBiAhBiAh )E%BiBiAhBiAhBiAhBiBi
r/   r&   c                       e Zd Zy)r   NrM   rN   rO   rb   r/   r.   r   r          r/   r   c                       e Zd Zy)CXRNrz   rb   r/   r.   r}   r}      r{   r/   r}   c                   r    e Zd ZdZ ed      Z ed      Zded ed      fiZe	defe
defe
d	effed
efdZy)r'   zChristmas Island special holidays.

    References:
        * [National Day of Mourning 2022](https://web.archive.org/web/20240712013008/https://www.infrastructure.gov.au/sites/default/files/documents/03-2022-proclamation-ci-day-of-mourning.pdf)
    r1   r9   i  rs   z/National Day of Mourning for Queen Elizabeth IIrj   rp      rq   )r7   r2   r8   N)rM   rN   rO   rP   r<   chinese_new_yeareid_al_adhar   special_public_holidaysr   r   r
    special_public_holidays_observedrb   r/   r.   r'   r'      sy     ,- %&K 	sBLMN A{#"&'"&'
 A{#($r/   r'   N)!r   r<   holidays.calendarsr   r   holidays.calendars.gregorianr   r   r   r	   r
   r   r   r   r   r   holidays.groupsr   r   r   r   r   holidays.observed_holiday_baser   r   r   r   r   r%   r&   r   r}   r'   rb   r/   r.   <module>r      s    " M Y Y Y  j'j'Z%; %; 4	 		/ 	 r/   