
    x7#ho                         d dl 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 d dl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)    )JANMARAPRMAYJUNAUGNOVDEC)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONc                   4     e Zd ZdZdZdZdZ fdZd Z xZ	S )SouthAfricaa  South Africa holidays.

    References:
        * <https://www.gov.za/about-sa/public-holidays>
        * <https://en.wikipedia.org/wiki/Public_holidays_in_South_Africa>
        * <https://www.gov.za/speeches/president-cyril-ramaphosa-progress-economic-recovery-30-oct-2023-0000>
        * <https://www.gov.za/documents/notices/public-holidays-act-declaration-29-may-2024-public-holiday-23-feb-2024>
    ZAz%s (observed)iv  c                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               |j                  dd       t        |   |i | y )Nobserved_ruleobserved_since  )r   __init__r   r   SouthAfricaStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      _/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/south_africa.pyr   zSouthAfrica.__init__!   sc    ""4(&&t,&?@/?;*D1$)&)    c                     | j                  | j                  d             | j                  d       | j                  | j                  dk\  rdnd       | j                  dk  rd}n&| j                  dk  rd	}n| j                  d
k  rd}nd}| j                  | j                  |             | j                  d       | j                  | j                  | j                  dk\  rdnd             | j                  dk\  r| j                  | j                  d             | j                  | j                  d             | j                  | j                  d             | j                  | j                  d             | j                  | j                  d             | j                  | j                  d             d| j                  cxk  rdk  rn n| j                  d       n)d| j                  cxk  rd
k  rn n| j                  d       d| j                  cxk  rdk  rn n| j                  d       | j                  dk  r| j!                  d       | j                  dk  r| j#                  d       | j                  d k  r| j%                  d!       n | j                  dk  r| j%                  d"       d| j                  cxk  rd k  rn n| j'                  d#       d$| j                  cxk  rdk  rn n| j)                  d       | j                  dk  r| j+                  d%       d| j                  cxk  rdk  rn n| j-                  d&       d| j                  cxk  rdk  rn y | j/                  d'       y y )(NzNew Year's DayzGood Fridayi  z
Family DayzEaster Mondayi  zDingaan's Dayi  zDay of the Covenanti  zDay of the VowzDay of ReconciliationzChristmas DayzDay of Goodwillz
Boxing Dayr   zHuman Rights DayzFreedom DayzWorkers' Dayz	Youth DayzNational Women's DayzHeritage Dayi  i  zVan Riebeeck's DayzFounder's Dayi  i  i  zAscension Dayz
Empire Dayi  z	Union DayzRepublic DayzQueen's Birthdayi  zKing's BirthdayzSettlers' Dayz
Kruger Day)_add_observed_add_new_years_day_add_good_friday_add_easter_monday_year_add_holiday_dec_16_add_christmas_day_add_christmas_day_two_add_holiday_mar_21_add_holiday_apr_27_add_labor_day_add_holiday_jun_16_add_holiday_aug_9_add_holiday_sep_24_add_holiday_apr_6_add_holiday_1st_fri_of_may_add_ascension_thursday_add_holiday_may_24_add_holiday_may_31_add_holiday_2nd_mon_of_jul_add_holiday_jul_10_add_holiday_1st_mon_of_aug_add_holiday_1st_mon_of_sep_add_holiday_oct_10)r   names     r   _populate_public_holidaysz%SouthAfrica._populate_public_holidays)   s   4223CDEm,

d0BX::"DZZ4(DZZ4#D*D433D9:0''TZZ4=O(9Uab	
 ::t778JKLt77FGt22>BCt77DEt667MNOt77GH 4::%%##$89TZZ'4'##O44::%%,,^<::((9::$$\2::$$[1ZZ4$$^44::%%,,-?@4::%%$$\2::,,->?4::%%,,_=4::%%$$\2 &r    )
__name__
__module____qualname____doc__countryobserved_label
start_yearr   r;   __classcell__)r   s   @r   r   r      s$     G$NJ*E3r    r   c                       e Zd Zy)r   Nr<   r=   r>    r    r   r   r   q       r    r   c                       e Zd Zy)ZAFNrE   rF   r    r   rI   rI   u   rG   r    rI   c                       e Zd ZdZdZdZdZdZedefe	deffe
defedefed	efedefed
efedefe	deffedefedefe	deffedefed	efe	defe	defedefdZde
defiZy)r   zLocal government electionszMunicipal electionsz,National and provincial government electionsz%Public holiday by presidential decreezY2K changeover                                    )i    i  i  i  i  i  i  i  i  i  i  i  i  rW   N)r<   r=   r>   local_electionsmunicipal_elections!national_and_provincial_electionspresidential_decree_holidayy2k_changeoverr   r
   r   r   r   r   r   r	   special_public_holidays special_public_holidays_observedrF   r    r   r   r   y   s	   2O/(V%"I%N !67"n%
 A~&B9:A'A23B9:"o&"12
 A89!_%"12
 A89A*+B34B34B9:1: 	sA~&($r    r   N)holidays.calendars.gregorianr   r   r   r   r   r   r	   r
   holidays.groupsr   r   r   holidays.observed_holiday_baser   r   r   r   rI   r   rF   r    r   <module>rb      sU    P O O T T O\3%'8:OQ_ \3~	 		+ 	$ $r    