
    ih?                        d dl mZ d dlmZ d dlmZ d dlmZ 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 erd dlmZ  G d	 d
eeee      Z G d de      Z G d de      Z G d de      Zy)    )annotations)gettext)TYPE_CHECKING)_CustomIslamicHolidays)MARJUNJULAUG)ChristianHolidaysInternationalHolidaysIslamicHolidays)ObservedHolidayBaseSAT_TO_NEXT_WORKDAYSAT_SUN_TO_NEXT_WORKDAY)datec                  z     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 fdZdddZd Z xZS )Rwandau  Rwanda holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Rwanda>
        * [Presidential Order N° 06/01 of 16/02/2011](https://web.archive.org/web/20250601161219/https://archive.gazettes.africa/archive/rw/2011/rw-government-gazette-dated-2011-03-07-no-10.pdf)
        * [Presidential Order N° 42/03 of 30/06/2015](https://web.archive.org/web/20180417062635/http://www.igihe.com/IMG/pdf/iteka_rya_perezida_rigena_iminsi_y_ikiruhuko_rusange.pdf)
        * [Presidential Order N° 54/01 of 24/02/2017](https://web.archive.org/web/20220626143357/https://www.ngoma.gov.rw/index.php?eID=dumpFile&t=f&f=44336&token=fc82c76109af7950f8895d40ddd3e15bd8c57e8c)
        * [Presidential Order N° 62/01 of 19/10/2022](https://web.archive.org/web/20250815032533/https://mifotra.prod.risa.rw/index.php?eID=dumpFile&t=f&f=85230&token=bcf0bf166638c11f4bf3d2f8c629052db26d38b6)
    RWrwz%s (yagereranijwe)z%s (yizihijwe)z%s (yizihijwe, yagereranijwe))en_USfrr     T)islamic_show_estimatedc                   t        j                  |        t        j                  |        t        j                  | t        |       |j                  dd       t        |   |i | y )N)clsshow_estimatedobserved_since  )r   __init__r   r   RwandaIslamicHolidays
setdefaultsuper)selfr   argskwargs	__class__s       Y/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/rwanda.pyr   zRwanda.__init__6   s[    ""4(&&t,  +<R	
 	*D1$)&)    c                    | j                  d      | j                  d      h}t        |      D ]9  }| j                  |      D ]#  }| j                  ||||v rt        nt
               % ; y)z
        Applies `SAT_TO_NEXT_WORKDAY` instead of `SAT_SUN_TO_NEXT_WORKDAY`
        observed_rule for Day after New Year's Day and Boxing Day.
        Umunsi ukurikira UbunaniUmunsi ukurikira NoheliN)trsortedget_list_add_observedr   r   )r#   dtsmultiplespecial_casesdtnames         r'   _populate_observedzRwanda._populate_observed?   sj     GG./GG-.	
 +Bb)""+/=+@'F] * r(   c                D   t               }| j                  t        d            }| j                  dk\  r|j	                  |       | j                  dk\  r)|j	                  | j                  t        d                   |j	                  | j                  t        d                   | j                  t        d             | j                  t        d             | j                  dk\  r| j                  t        d	             |j	                  | j                  t        d
                   |j	                  | j                  t        d                   |j	                  | j                  t        d                   | j                  dk\  r| j                  t        d             |j	                  | j                  t        d                   |j	                  | j                  t        d                   |j	                  | j!                  t        d                   |j#                  | j%                  t        d                   | j                  dk\  r)|j#                  | j'                  t        d                   | j(                  r| j+                  |       y y )NUbunani    r*   zUmunsi w'Intwariz4Umunsi wo Kwibuka Jenoside yakorewe Abatutsi mu 1994zUmunsi wa Gatanu Mutagatifur   zKu wa mbere wa PasikazUmunsi Mukuru w'UmurimozUmunsi w'UbwigengezUmunsi wo Kwibohora  zUmunsi w'Umuganuraz!Ijyanwa mu Ijuru rya BikiramariyaNohelir+   zEid El FitrzEid al-Adha)set_add_new_years_dayr,   _yearadd_add_new_years_day_two_add_holiday_feb_1_add_holiday_apr_7_add_good_friday_add_easter_monday_add_labor_day_add_holiday_jul_1_add_holiday_jul_4_add_holiday_1st_fri_of_aug_add_assumption_of_mary_day_add_christmas_day_add_christmas_day_twoupdate_add_eid_al_fitr_day_add_eid_al_adha_dayobservedr5   )r#   dts_observedr3   s      r'   _populate_public_holidaysz Rwanda._populate_public_holidaysR   s!   u $$R	]3::R  ::T88<V9WXY 	004F1GHI 	#Y Z[ 	b!>?@ ::##B'>$?@ 	,,R0I-JKL 	004H1IJK 	004I1JKL ::,,R0D-EF 	99"=`:abc 	00H>? 	44R8Q5RST 	D55b6GHI :: 9 9"]:K LM==##L1 r(   )r   bool)F)r0   z	set[date]r1   rR   returnNone)__name__
__module____qualname____doc__countrydefault_languager,   estimated_labelobserved_labelobserved_estimated_labelsupported_languages
start_yearr   r5   rQ   __classcell__)r&   s   @r'   r   r      sT     G-.O()N!"AB/J=A *&;2r(   r   c                      e Zd Zy)r   NrU   rV   rW    r(   r'   r   r          r(   r   c                      e Zd Zy)RWANrb   rc   r(   r'   rf   rf      rd   r(   rf   c                  P    e Zd ZdZ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dZ
y)r    )r8              )r8   i  i  )r   rh                  )i  r:   r9   r   rh   N)rU   rV   rW   !EID_AL_ADHA_DATES_CONFIRMED_YEARSr
   r	   EID_AL_ADHA_DATES!EID_AL_FITR_DATES_CONFIRMED_YEARSr   r   EID_AL_FITR_DATESrc   r(   r'   r    r       sX    (4%BiBiBi )5%BiBiAhBiBir(   r    N)
__future__r   r   r,   typingr   holidays.calendarsr   holidays.calendars.gregorianr   r   r	   r
   holidays.groupsr   r   r   holidays.observed_holiday_baser   r   r   datetimer   r   r   rf   r    rc   r(   r'   <module>r|      sn    # !   5 ; ; U U  n2 "35JO n2b	 		& 	2 r(   