
    ih7#                         d dl mZmZmZmZ d dlmZmZmZ d dl	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)    )APRJUNSEPNOV)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseSAT_TO_PREV_FRISUN_TO_NEXT_MONSAT_SUN_TO_NEXT_MON_TUEc                        e Zd ZdZdZdZdZdZddddd	d
ddddddZ fdZ	d Z
d Zd Zd Zd Zd Zd Zd Zd Zd Z xZS )SolomonIslandsa   Solomon Islands holidays.

    References:
        * [Public Holidays Act](https://web.archive.org/web/20250615054807/https://www.paclii.org/sb/legis/consol_act_1996/pha163.pdf)
        * [2016](https://web.archive.org/web/20250530230724/https://mehrd.gov.sb/documents?view=download&format=raw&fileId=4377)
        * [2020](https://web.archive.org/web/20240908025223/https://solomons.gov.sb/national-and-provincial-public-holidays-2020/)
        * [2021](https://web.archive.org/web/20241004035112/https://solomons.gov.sb/wp-content/uploads/2021/03/Gaz-No.-54-Sup-No.-50-Wednesday-10th-March-2021.pdf)
        * [2022](https://web.archive.org/web/20240727185307/https://solomons.gov.sb/wp-content/uploads/2021/10/Gaz-No.-246-Tuesday-19th-October-2021-.pdf)
        * [2023](https://web.archive.org/web/20240810050725/https://solomons.gov.sb/wp-content/uploads/2022/12/Gaz-No.-324-Wednesday-21st-December-2022-1.pdf)
        * [2024](https://web.archive.org/web/20240727124555/https://solomons.gov.sb/wp-content/uploads/2024/02/Gaz-No.-15-Monday-12th-FEBRUARY-2024.pdf)
        * [2025](https://web.archive.org/web/20250615054517/https://solomons.gov.sb/wp-content/uploads/2024/11/Gaz-No.-178-Monday-25th-November-2024.pdf)

    About the day appointed for the celebration of the Anniversary of the Birthday of the
    Sovereign:

    * Up to 2022, the Queen's Birthday was typically observed on the second Saturday of
        June, with the preceding Friday designated as a public holiday. From 2023 onward,
        the King's Birthday has been marked on the Friday before the third Saturday in
        June. Although there has been no amendment to the Public Holidays Act to explicitly
        state this change, the pattern is evident in the annual government gazettes and
        supported by information from the relevant [Wikipedia
        entry](https://en.wikipedia.org/wiki/King's_Official_Birthday#Solomon_Islands).
    * There are a few exceptions to this rule:
        * [Queen's Birthday 2022](https://web.archive.org/web/20240727184251/https://solomons.gov.sb/wp-content/uploads/2022/05/Gaz-No.-171-Friday-27th-May-2022.pdf)
        * According to the holidays schedule for 2024, King's Birthday was celebrated on
          the 3rd saturday of June (June 15) and the preceding Friday was observed as a
          public holiday.
        * [King's Birthday 2025](https://web.archive.org/web/20250615054519/https://solomons.gov.sb/wp-content/uploads/2025/04/Gaz-No.-33-Wednesday-9th-April-2025.pdf)

    Province Days are not listed in the Public Holidays Act but are consistently announced
    in the official gazette each year.

    While the Public Holidays Act specifies the Sunday to next Monday observance rule,
    gazettes dating back to 2016 also follow the Saturday to previous Friday rule for
    shifting public holidays.
    SBz%s (observed)i  )
CECHCTGUISMKMLRBTEWEr   r   r   r   r   r   r   r   r   r   )CentralChoiseulzCapital TerritoryHoniaraGuadalcanalIsabelzMakira-UlawaMalaitazRennell and BellonaTemotuWesternc                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt        t        z          t        |   |i | y )N)clsobserved_rule)	r   __init__r   r	   SolomonIslandsStaticHolidays
setdefaultr   r   super)selfargskwargs	__class__s      b/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/solomon_islands.pyr&   zSolomonIslands.__init__]   sW    ""4(&&t,*FG/?_+LM$)&)    c                 v   d}| j                  | j                  |             | j                  | j                  |t               | j	                  d       | j                  d       | j                  d       | j                  d       | j                  dk\  rdnd	}t        d
ft        dfd}|j                  | j                        x}r| j                  ||       nq| j                  dk(  r!| j                  | j                  |             nA| j                  dk\  r| j                  |       n | j                  | j                  |             | j                  | j                  d             | j                  | j!                  d      t"               | j                  | j%                  d      t"               y )NzNew Year's Day)namerulezGood FridayzHoly SaturdayzEaster MondayzWhit Mondayi  zKing's BirthdayzQueen's Birthday      )  i    zIndependence DayzChristmas Day)r2   zNational Day of Thanksgiving)_add_observed_add_new_years_day_next_year_new_years_dayr   _add_good_friday_add_holy_saturday_add_easter_monday_add_whit_monday_yearr   get_add_holiday_add_holiday_3rd_sat_of_jun'_add_holiday_1_day_prior_3rd_sat_of_jun_add_holiday_2nd_sat_of_jun_add_holiday_jul_7_add_christmas_dayr   _add_christmas_day_two)r*   r1   sovereign_birthday_datesdts       r.   _populate_public_holidaysz(SolomonIslands._populate_public_holidaysd   s   422489488t/Z 	m, 	0 	0 	m,
 zzT!  $ 	 ()$
  *--djj9929dB'ZZ4t??EFZZ488>t??EF 	4223EFG##O4( 	 	
 	''(FG( 	 	
r/   c                 D    | j                  | j                  d             y )NzCentral Province Day)r7   _add_holiday_jun_29r*   s    r.   #_populate_subdiv_ce_public_holidaysz2SolomonIslands._populate_subdiv_ce_public_holidays       4334JKLr/   c                 D    | j                  | j                  d             y )NzChoiseul Province Day)r7   _add_holiday_feb_25rL   s    r.   #_populate_subdiv_ch_public_holidaysz2SolomonIslands._populate_subdiv_ch_public_holidays   s    4334KLMr/   c                 D    | j                  | j                  d             y )NzGuadalcanal Province Day)r7   _add_holiday_aug_1rL   s    r.   #_populate_subdiv_gu_public_holidaysz2SolomonIslands._populate_subdiv_gu_public_holidays   s    4223MNOr/   c                 D    | j                  | j                  d             y )NzIsabel Province Day)r7   _add_holiday_jun_2rL   s    r.   #_populate_subdiv_is_public_holidaysz2SolomonIslands._populate_subdiv_is_public_holidays       4223HIJr/   c                 D    | j                  | j                  d             y )NzMakira-Ulawa Province Day)r7   _add_holiday_aug_3rL   s    r.   #_populate_subdiv_mk_public_holidaysz2SolomonIslands._populate_subdiv_mk_public_holidays   s    4223NOPr/   c                 D    | j                  | j                  d             y )NzMalaita Province Day)r7   _add_holiday_aug_15rL   s    r.   #_populate_subdiv_ml_public_holidaysz2SolomonIslands._populate_subdiv_ml_public_holidays   rN   r/   c                 D    | j                  | j                  d             y )Nz Rennell and Bellona Province Day)r7   _add_holiday_jul_20rL   s    r.   #_populate_subdiv_rb_public_holidaysz2SolomonIslands._populate_subdiv_rb_public_holidays   s    4334VWXr/   c                 D    | j                  | j                  d             y )NzTemotu Province Day)r7   _add_holiday_jun_8rL   s    r.   #_populate_subdiv_te_public_holidaysz2SolomonIslands._populate_subdiv_te_public_holidays   rX   r/   c                 D    | j                  | j                  d             y )NzWestern Province Day)r7   _add_holiday_dec_7rL   s    r.   #_populate_subdiv_we_public_holidaysz2SolomonIslands._populate_subdiv_we_public_holidays   s    4223IJKr/   )__name__
__module____qualname____doc__countryobserved_label
start_yearsubdivisionssubdivisions_aliasesr&   rI   rM   rQ   rT   rW   r[   r^   ra   rd   rg   __classcell__)r-   s   @r.   r   r      s    #J G$NJL !#*3
jMNPKQMYKLr/   r   c                       e Zd Zy)r   Nrh   ri   rj    r/   r.   r   r          r/   r   c                       e Zd Zy)SLBNrs   rt   r/   r.   rw   rw      ru   r/   rw   c                   F    e Zd ZdZdZedefedefdZdedefiZ	dedefiZ
y)	r'   a,  Solomon Islands special holidays.

    References:
        * [2024 General Election Holiday](https://web.archive.org/web/20240711032116/https://solomonchamber.com.sb/media/2618/gaz-no-61-monday-8th-april-2024.pdf)
        * [2020 By-election Holiday](https://web.archive.org/web/20241011021616/https://solomons.gov.sb/wp-content/uploads/2020/11/GAZ-173-11th-November-2020-1.pdf)
        * [Gazette No. 269 of 2022](https://web.archive.org/web/20240727183925/https://solomons.gov.sb/wp-content/uploads/2022/09/Gaz-No.-269-Friday-9th-September-2022.pdf)
    zPublic Holiday      )r5   r6   i     N)rh   ri   rj   rk   r1   r   r   special_public_holidaysr   special_ch_public_holidaysspecial_gu_public_holidaysrt   r/   r.   r'   r'      sR     DBoBo 	sBo"
 	sBo"r/   r'   N)holidays.calendars.gregorianr   r   r   r   holidays.groupsr   r   r	   holidays.observed_holiday_baser
   r   r   r   r   r   rw   r'   rt   r/   r.   <module>r      sY    < ; T T dL*,A>dLN	 		. 	 r/   