
    ihB,              	           d dl m Z d dl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mZ d dl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      Z G d d	e      Z G d
 de      Z G d de      Z G d d      Zy)    )gettext)_CustomIslamicHolidays)JANMARAPRMAYJUNJULAUGSEPOCTNOVDEC)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 )CocosIslandsa  Cocos (Keeling) Islands holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_the_Cocos_(Keeling)_Islands>
        * <https://web.archive.org/web/20250514044918/https://www.infrastructure.gov.au/territories-regions-cities/territories/indian-ocean-territories/community-bulletins>
        * <https://web.archive.org/web/20250417205202/https://www.infrastructure.gov.au/territories-regions-cities/territories/indian-ocean-territories/gazettes-bulletins>

        * [2007](https://web.archive.org/web/20250605022855/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2006/02_2006_Public_Holidays_2007_CKI.doc)
        * [2008](https://web.archive.org/web/20240718120923/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2007/06-2007_Public_Holidays_CKI.pdf)
        * [2008 Eid al-Fitr](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/20231208153529/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2008/01-2008-2009-public-holiday-CKI-gazette.pdf)
        * [2010](https://archive.org/details/cocos-island-2009-gazette-6-2009-cki-proclamation-of-2010-special-public-bank-holidays)
        * [2013](https://web.archive.org/web/20240805055409/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2012/2012-Gazette_8-2012-CKI-Proclamation_of_2013_Public_Holidays_for_Cocos_(Keeling)_Islands.pdf)
        * [2014](https://web.archive.org/web/20240718123844/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2013/2013-Gazette_3-2013-Cocos_K_Islands_2014_Public_Holidays.pdf)
        * [2016](https://archive.org/details/cocos-island-2015-gazette-4-2015-cki-proclamation-of-2016-special-public-bank-holidays)
        * [2016 Eid al-Fitr](https://web.archive.org/web/20231208203746/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2016/2016-Gazette_3-2016-CKI-Proclamation_Special_Public_and_Bank_Holidays_2016.pdf)
        * [2017](https://web.archive.org/web/20240303203132/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2016/2016-Gazette_2-2016-CKI-Proclamation_Special_Public_and_Bank_Holidays_2017.pdf)
        * [2019](https://web.archive.org/web/20241123131420/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2018/files/A38-2018.pdf)
        * [2019 Act of Self Determination Day](https://web.archive.org/web/20220518200522/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2019/files/A10-2019-bank-holidays.pdf)
        * [2020](https://web.archive.org/web/20240521203357/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2019/files/A53-2019.pdf)
        * [2021](https://web.archive.org/web/20250502204052/https://www.infrastructure.gov.au/territories-regions-cities/territories/indian_ocean/iot_bulletins/2020/A041-2020-cki-public-holidays)
        * [2022](https://web.archive.org/web/20250429071240/https://www.infrastructure.gov.au/sites/default/files/documents/a33-2021-2022-public-holidays-cocos-keeling-islands.pdf)
        * [2022 Eid al-Fitr](https://web.archive.org/web/20220810061351/https://www.infrastructure.gov.au/sites/default/files/documents/Gazette-Change-to-CKI-Hari-Raya-Puasa-2022.pdf)
        * [2023](https://web.archive.org/web/20240711221156/https://www.infrastructure.gov.au/sites/default/files/documents/a19-2022-community-bulletin-2023-kings-birthday-cocos-keeling-islands.pdf)
        * [2023 Eid al-Fitr](https://web.archive.org/web/20250627103728/https://www.infrastructure.gov.au/sites/default/files/documents/a02-2023-community-bulletin-change-of-public-holiday-date-for-hari-raya-puasa-2023-cocos-keeling-islands.pdf)
        * [2023 Eid al-Adha](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/20250207203100/https://www.infrastructure.gov.au/sites/default/files/documents/a12-2023-2024-public-holidays-cocos-k-islands.pdf)
        * [2025](https://web.archive.org/web/20250413083314/https://www.infrastructure.gov.au/sites/default/files/documents/a21-2024-administrator-community-bulletin-cki-public-holidays-2025.pdf)
    CCen_CCz%s (observed)z%s (estimated)z%s (observed, estimated))coa_CCr   en_USi  T)islamic_show_estimatedr   c                   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show_estimatedobserved_ruleN)
r   __init__r   r   CocosIslandsIslamicHolidaysr   CocosIslandsStaticHolidays
setdefaultr   super)selfr   argskwargs	__class__s       `/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/cocos_islands.pyr#   zCocosIslands.__init__L   sn     	""4(&&t,  1BX	
 	&@A/+>?$)&)    c                    | j                  | j                  t        d                   | j                  | j                  t        d                   dt        dfi}t        d      }|j                  | j                        x}r| j                  ||       n1| j                  |      }| j                  dk7  r| j                  |       | j                  t        d             | j                  t        d             | j                  | j                  t        d	                   t        d
ft        dft        dft        dfd}| j                  dk\  rt        d      n
t        d      }|j                  | j                        x}r| j                  ||       n| j                  |       | j                  | j                  t        d            t        t         z          | j                  | j#                  t        d                   | j                  dk  r0| j%                  t        d            D ]  }| j                  |        | j'                  t        d            D ]  }| j                  |        | j)                  t        d            D ]  }| j                  |        | j+                  t        d            D ]#  }| j                  dk7  s| j                  |       % y )NzNew Year's DayzAustralia Day     Act of Self Determination Day  zGood FridayzEaster Mondayz	ANZAC Day      )        r7   zKing's BirthdayzQueen's Birthdayz
Boxing Day)rulezChristmas DayzIslamic New YearzProphet's BirthdayzEid al-FitrEid al-Adha  )_add_observed_add_new_years_daytr_add_holiday_jan_26r   get_year_add_holiday_add_holiday_apr_6_add_good_friday_add_easter_monday_add_anzac_dayr	   _add_holiday_2nd_mon_of_jun_add_christmas_day_twor   r   _add_christmas_day_add_islamic_new_year_day_add_mawlid_day_add_eid_al_fitr_day_add_eid_al_adha_day)r(   act_of_self_determination_datesnamedtqueens_kings_birthday_datess        r,   _populate_public_holidaysz&CocosIslands._populate_public_holidays\   s   42226F3GHI 	433B4GHI 3(+
' 12044TZZ@@2@dB'((.BzzT!""2& 	b/0 	? 34 	4..r+?@ ((((	'
# zzT!  ! &' 	 -00<<2<dB',,T2 	''<(89(?: 	 	
 	4222o3FGH ::44R8J5KL""2& M &&r*>'?@Br" A ++B},=>Br" ? ++B},=>BzzT!""2& ?r-   )__name__
__module____qualname____doc__countrydefault_languager>   observed_labelestimated_labelobserved_estimated_labelsupported_languages
start_yearboolr#   rR   __classcell__)r+   s   @r,   r   r      sV    < G(N)*O!"<=6J=A *d * J'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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dZy)r$   )r/   i  r2   r;                     r3   )          r8   r;            r4      r0         )	r/   ri   rj   rk   rl   rm   r2   r6   r;   ra      
      )r/   i  rj   rk   rl   rm   r2               )r/   rj   rk   rl   rm   r5   r8   r;   N)rS   rT   rU   !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_DATES$HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARSr   HIJRI_NEW_YEAR_DATESMAWLID_DATES_CONFIRMED_YEARSr   r   MAWLID_DATES r-   r,   r$   r$      s   (D%BiBiAhBiAhBiAh )E%BiBiAhBiAhBiAhAhBi
 ,8(BiBiAhBiAhBiAh $@ AhBiBiBiAhBiBiAh	Lr-   r$   c                       e Zd Zy)r   NrS   rT   rU   r   r-   r,   r   r          r-   r   c                       e Zd Zy)CCKNr   r   r-   r,   r   r      r   r-   r   c                   X    e Zd ZdZded ed      fiZed ed      fed ed      fd	Z	y
)r%   a  Cocos (Keeling) Islands special holidays.

    References:
        * [National Day of Mourning 2022](https://web.archive.org/web/20240712213751/https://www.infrastructure.gov.au/sites/default/files/documents/04-2022-proclamation-cki-day-of-mourning.pdf)
    r6   rt   z/National Day of Mourning for Queen Elizabeth IIru   r1   r4   r:   rb   N)
rS   rT   rU   rV   r   r>   special_public_holidaysr   r	    special_public_holidays_observedr   r-   r,   r%   r%      sL     	sBLMN B:;<Ar-()($r-   r%   N)r   r>   holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r	   r
   r   r   r   r   r   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r   r   r   r$   r   r   r%   r   r-   r,   <module>r      sx    " 5 ^ ^ ^ ^  G'*,A?TbG'T."8 .b	 		, 	 r-   