module Duckling.Time.Computed
( chanukah, chineseNewYear, dhanteras, easterSunday, eidalAdha, eidalFitr
, lagBaOmer, mawlid, muharram, navaratri, orthodoxEaster, passover, rajab
, rakshaBandhan, ramadan, roshHashana, thaiPongal, thiruOnam, tishaBAv
, tuBishvat, vasantPanchami, yomHaatzmaut
) where
import Data.Maybe
import Prelude
import qualified Data.Time as Time
import Duckling.Time.Helpers (timeComputed)
import Duckling.Time.Types (TimeData(..), TimeObject(..), timedata')
import qualified Duckling.TimeGrain.Types as TG
toTimeObjectM :: (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM (year, month, day) = do
day <- Time.fromGregorianValid year month day
return TimeObject
{ start = Time.UTCTime day 0
, grain = TG.Day
, end = Nothing
}
computedDays :: [TimeObject] -> TimeData
computedDays xs = timedata'
{ timePred = timeComputed xs
, timeGrain = TG.Day
}
chanukah :: TimeData
chanukah = computedDays chanukah'
chanukah' :: [TimeObject]
chanukah' = mapMaybe toTimeObjectM
[ (1950, 12, 3)
, (1951, 12, 23)
, (1952, 12, 12)
, (1953, 12, 1)
, (1954, 12, 19)
, (1955, 12, 9)
, (1956, 11, 28)
, (1957, 12, 17)
, (1958, 12, 6)
, (1959, 12, 25)
, (1960, 12, 13)
, (1961, 12, 2)
, (1962, 12, 21)
, (1963, 12, 10)
, (1964, 11, 29)
, (1965, 12, 18)
, (1966, 12, 7)
, (1967, 12, 26)
, (1968, 12, 15)
, (1969, 12, 4)
, (1970, 12, 22)
, (1971, 12, 12)
, (1972, 11, 30)
, (1973, 12, 19)
, (1974, 12, 8)
, (1975, 11, 28)
, (1976, 12, 16)
, (1977, 12, 4)
, (1978, 12, 24)
, (1979, 12, 14)
, (1980, 12, 2)
, (1981, 12, 20)
, (1982, 12, 10)
, (1983, 11, 30)
, (1984, 12, 18)
, (1985, 12, 7)
, (1986, 12, 26)
, (1987, 12, 15)
, (1988, 12, 3)
, (1989, 12, 22)
, (1990, 12, 11)
, (1991, 12, 1)
, (1992, 12, 19)
, (1993, 12, 8)
, (1994, 11, 27)
, (1995, 12, 17)
, (1996, 12, 5)
, (1997, 12, 23)
, (1998, 12, 13)
, (1999, 12, 3)
, (2000, 12, 21)
, (2001, 12, 9)
, (2002, 11, 29)
, (2003, 12, 19)
, (2004, 12, 7)
, (2005, 12, 25)
, (2006, 12, 15)
, (2007, 12, 4)
, (2008, 12, 21)
, (2009, 12, 11)
, (2010, 12, 1)
, (2011, 12, 20)
, (2012, 12, 8)
, (2013, 11, 27)
, (2014, 12, 16)
, (2015, 12, 6)
, (2016, 12, 24)
, (2017, 12, 12)
, (2018, 12, 2)
, (2019, 12, 22)
, (2020, 12, 10)
, (2021, 11, 28)
, (2022, 12, 18)
, (2023, 12, 7)
, (2024, 12, 25)
, (2025, 12, 14)
, (2026, 12, 4)
, (2027, 12, 24)
, (2028, 12, 12)
, (2029, 12, 1)
, (2030, 12, 20)
, (2031, 12, 9)
, (2032, 11, 27)
, (2033, 12, 16)
, (2034, 12, 6)
, (2035, 12, 25)
, (2036, 12, 13)
, (2037, 12, 2)
, (2038, 12, 21)
, (2039, 12, 11)
, (2040, 11, 29)
, (2041, 12, 17)
, (2042, 12, 7)
, (2043, 12, 26)
, (2044, 12, 14)
, (2045, 12, 3)
, (2046, 12, 23)
, (2047, 12, 12)
, (2048, 11, 29)
, (2049, 12, 19)
, (2050, 12, 9)
]
chineseNewYear :: TimeData
chineseNewYear = computedDays chineseNewYear'
chineseNewYear' :: [TimeObject]
chineseNewYear' = mapMaybe toTimeObjectM
[ (1950, 2, 17)
, (1951, 2, 6)
, (1952, 1, 27)
, (1953, 2, 14)
, (1954, 2, 3)
, (1955, 1, 24)
, (1956, 2, 12)
, (1957, 1, 31)
, (1958, 2, 18)
, (1959, 2, 8)
, (1960, 1, 28)
, (1961, 2, 15)
, (1962, 2, 5)
, (1963, 1, 25)
, (1964, 2, 13)
, (1965, 2, 2)
, (1966, 1, 21)
, (1967, 2, 9)
, (1968, 1, 30)
, (1969, 2, 17)
, (1970, 2, 6)
, (1971, 1, 27)
, (1972, 2, 15)
, (1973, 2, 3)
, (1974, 1, 23)
, (1975, 2, 11)
, (1976, 1, 31)
, (1977, 2, 18)
, (1978, 2, 7)
, (1979, 1, 28)
, (1980, 2, 16)
, (1981, 2, 5)
, (1982, 1, 25)
, (1983, 2, 13)
, (1984, 2, 2)
, (1985, 2, 20)
, (1986, 2, 9)
, (1987, 1, 29)
, (1988, 2, 17)
, (1989, 2, 6)
, (1990, 1, 27)
, (1991, 2, 15)
, (1992, 2, 4)
, (1993, 1, 23)
, (1994, 2, 10)
, (1995, 1, 31)
, (1996, 2, 19)
, (1997, 2, 7)
, (1998, 1, 28)
, (1999, 2, 16)
, (2000, 2, 5)
, (2001, 1, 24)
, (2002, 2, 12)
, (2003, 2, 1)
, (2004, 1, 22)
, (2005, 2, 9)
, (2006, 1, 29)
, (2007, 2, 18)
, (2008, 2, 7)
, (2009, 1, 26)
, (2010, 2, 14)
, (2011, 2, 3)
, (2012, 1, 23)
, (2013, 2, 10)
, (2014, 1, 31)
, (2015, 2, 19)
, (2016, 2, 8)
, (2017, 1, 28)
, (2018, 2, 16)
, (2019, 2, 5)
, (2020, 1, 25)
, (2021, 2, 12)
, (2022, 2, 1)
, (2023, 1, 22)
, (2024, 2, 10)
, (2025, 1, 29)
, (2026, 2, 17)
, (2027, 2, 6)
, (2028, 1, 26)
, (2029, 2, 13)
, (2030, 2, 3)
, (2031, 1, 23)
, (2032, 2, 11)
, (2033, 1, 31)
, (2034, 2, 19)
, (2035, 2, 8)
, (2036, 1, 28)
, (2037, 2, 15)
, (2038, 2, 4)
, (2039, 1, 24)
, (2040, 2, 12)
, (2041, 2, 1)
, (2042, 1, 22)
, (2043, 2, 10)
, (2044, 1, 30)
, (2045, 2, 17)
, (2046, 2, 6)
, (2047, 1, 26)
, (2048, 2, 14)
, (2049, 2, 2)
, (2050, 1, 23)
]
easterSunday :: TimeData
easterSunday = computedDays easterSunday'
easterSunday' :: [TimeObject]
easterSunday' = mapMaybe toTimeObjectM
[ (1950, 4, 9)
, (1951, 3, 25)
, (1952, 4, 13)
, (1953, 4, 5)
, (1954, 4, 18)
, (1955, 4, 10)
, (1956, 4, 1)
, (1957, 4, 21)
, (1958, 4, 6)
, (1959, 3, 29)
, (1960, 4, 17)
, (1961, 4, 2)
, (1962, 4, 22)
, (1963, 4, 14)
, (1964, 3, 29)
, (1965, 4, 18)
, (1966, 4, 10)
, (1967, 3, 26)
, (1968, 4, 14)
, (1969, 4, 6)
, (1970, 3, 29)
, (1971, 4, 11)
, (1972, 4, 2)
, (1973, 4, 22)
, (1974, 4, 14)
, (1975, 3, 30)
, (1976, 4, 18)
, (1977, 4, 10)
, (1978, 3, 26)
, (1979, 4, 15)
, (1980, 4, 6)
, (1981, 4, 19)
, (1982, 4, 11)
, (1983, 4, 3)
, (1984, 4, 22)
, (1985, 4, 7)
, (1986, 3, 30)
, (1987, 4, 19)
, (1988, 4, 3)
, (1989, 3, 26)
, (1990, 4, 15)
, (1991, 3, 31)
, (1992, 4, 19)
, (1993, 4, 11)
, (1994, 4, 3)
, (1995, 4, 16)
, (1996, 4, 7)
, (1997, 3, 30)
, (1998, 4, 12)
, (1999, 4, 4)
, (2000, 4, 23)
, (2001, 4, 15)
, (2002, 3, 31)
, (2003, 4, 20)
, (2004, 4, 11)
, (2005, 3, 27)
, (2006, 4, 16)
, (2007, 4, 8)
, (2008, 3, 23)
, (2009, 4, 12)
, (2010, 4, 4)
, (2011, 4, 24)
, (2012, 4, 8)
, (2013, 3, 31)
, (2014, 4, 20)
, (2015, 4, 5)
, (2016, 3, 27)
, (2017, 4, 16)
, (2018, 4, 1)
, (2019, 4, 21)
, (2020, 4, 12)
, (2021, 4, 4)
, (2022, 4, 17)
, (2023, 4, 9)
, (2024, 3, 31)
, (2025, 4, 20)
, (2026, 4, 5)
, (2027, 3, 28)
, (2028, 4, 16)
, (2029, 4, 1)
, (2030, 4, 21)
, (2031, 4, 13)
, (2032, 3, 28)
, (2033, 4, 17)
, (2034, 4, 9)
, (2035, 3, 25)
, (2036, 4, 13)
, (2037, 4, 5)
, (2038, 4, 25)
, (2039, 4, 10)
, (2040, 4, 1)
, (2041, 4, 21)
, (2042, 4, 6)
, (2043, 3, 29)
, (2044, 4, 17)
, (2045, 4, 9)
, (2046, 3, 25)
, (2047, 4, 14)
, (2048, 4, 5)
, (2049, 4, 18)
, (2050, 4, 10)
]
lagBaOmer :: TimeData
lagBaOmer = computedDays lagBaOmer'
lagBaOmer' :: [TimeObject]
lagBaOmer' = mapMaybe toTimeObjectM
[ (1950, 5, 4)
, (1951, 5, 23)
, (1952, 5, 12)
, (1953, 5, 2)
, (1954, 5, 20)
, (1955, 5, 9)
, (1956, 4, 28)
, (1957, 5, 18)
, (1958, 5, 7)
, (1959, 5, 25)
, (1960, 5, 14)
, (1961, 5, 3)
, (1962, 5, 21)
, (1963, 5, 11)
, (1964, 4, 29)
, (1965, 5, 19)
, (1966, 5, 7)
, (1967, 5, 27)
, (1968, 5, 15)
, (1969, 5, 5)
, (1970, 5, 23)
, (1971, 5, 12)
, (1972, 5, 1)
, (1973, 5, 19)
, (1974, 5, 9)
, (1975, 4, 28)
, (1976, 5, 17)
, (1977, 5, 5)
, (1978, 5, 24)
, (1979, 5, 14)
, (1980, 5, 3)
, (1981, 5, 21)
, (1982, 5, 10)
, (1983, 4, 30)
, (1984, 5, 19)
, (1985, 5, 8)
, (1986, 5, 26)
, (1987, 5, 16)
, (1988, 5, 4)
, (1989, 5, 22)
, (1990, 5, 12)
, (1991, 5, 1)
, (1992, 5, 20)
, (1993, 5, 8)
, (1994, 4, 28)
, (1995, 5, 17)
, (1996, 5, 6)
, (1997, 5, 24)
, (1998, 5, 13)
, (1999, 5, 3)
, (2000, 5, 22)
, (2001, 5, 10)
, (2002, 4, 29)
, (2003, 5, 19)
, (2004, 5, 8)
, (2005, 5, 26)
, (2006, 5, 15)
, (2007, 5, 5)
, (2008, 5, 22)
, (2009, 5, 11)
, (2010, 5, 1)
, (2011, 5, 21)
, (2012, 5, 9)
, (2013, 4, 27)
, (2014, 5, 17)
, (2015, 5, 6)
, (2016, 5, 25)
, (2017, 5, 13)
, (2018, 5, 2)
, (2019, 5, 22)
, (2020, 5, 11)
, (2021, 4, 29)
, (2022, 5, 18)
, (2023, 5, 8)
, (2024, 5, 25)
, (2025, 5, 15)
, (2026, 5, 4)
, (2027, 5, 24)
, (2028, 5, 13)
, (2029, 5, 2)
, (2030, 5, 20)
, (2031, 5, 10)
, (2032, 4, 28)
, (2033, 5, 16)
, (2034, 5, 6)
, (2035, 5, 26)
, (2036, 5, 14)
, (2037, 5, 2)
, (2038, 5, 22)
, (2039, 5, 11)
, (2040, 4, 30)
, (2041, 5, 18)
, (2042, 5, 7)
, (2043, 5, 27)
, (2044, 5, 14)
, (2045, 5, 4)
, (2046, 5, 23)
, (2047, 5, 13)
, (2048, 4, 30)
, (2049, 5, 19)
, (2050, 5, 9)
]
orthodoxEaster :: TimeData
orthodoxEaster = computedDays orthodoxEaster'
orthodoxEaster' :: [TimeObject]
orthodoxEaster' = mapMaybe toTimeObjectM
[ (1950, 4, 9)
, (1951, 4, 29)
, (1952, 4, 20)
, (1953, 4, 5)
, (1954, 4, 25)
, (1955, 4, 17)
, (1956, 5, 6)
, (1957, 4, 21)
, (1958, 4, 13)
, (1959, 5, 3)
, (1960, 4, 17)
, (1961, 4, 9)
, (1962, 4, 29)
, (1963, 4, 14)
, (1964, 5, 3)
, (1965, 4, 25)
, (1966, 4, 10)
, (1967, 4, 30)
, (1968, 4, 21)
, (1969, 4, 13)
, (1970, 4, 26)
, (1971, 4, 18)
, (1972, 4, 9)
, (1973, 4, 29)
, (1974, 4, 14)
, (1975, 5, 4)
, (1976, 4, 25)
, (1977, 4, 10)
, (1978, 4, 30)
, (1979, 4, 22)
, (1980, 4, 6)
, (1981, 4, 26)
, (1982, 4, 18)
, (1983, 5, 8)
, (1984, 4, 22)
, (1985, 4, 14)
, (1986, 5, 4)
, (1987, 4, 19)
, (1988, 4, 10)
, (1989, 4, 30)
, (1990, 4, 15)
, (1991, 4, 7)
, (1992, 4, 26)
, (1993, 4, 18)
, (1994, 5, 1)
, (1995, 4, 23)
, (1996, 4, 14)
, (1997, 4, 27)
, (1998, 4, 19)
, (1999, 4, 11)
, (2000, 4, 30)
, (2001, 4, 15)
, (2002, 5, 5)
, (2003, 4, 27)
, (2004, 4, 11)
, (2005, 5, 1)
, (2006, 4, 23)
, (2007, 4, 8)
, (2008, 4, 27)
, (2009, 4, 19)
, (2010, 4, 4)
, (2011, 4, 24)
, (2012, 4, 15)
, (2013, 5, 5)
, (2014, 4, 20)
, (2015, 4, 12)
, (2016, 5, 1)
, (2017, 4, 16)
, (2018, 4, 8)
, (2019, 4, 28)
, (2020, 4, 19)
, (2021, 5, 2)
, (2022, 4, 24)
, (2023, 4, 16)
, (2024, 5, 5)
, (2025, 4, 20)
, (2026, 4, 12)
, (2027, 5, 2)
, (2028, 4, 16)
, (2029, 4, 8)
, (2030, 4, 28)
, (2031, 4, 13)
, (2032, 5, 2)
, (2033, 4, 24)
, (2034, 4, 9)
, (2035, 4, 29)
, (2036, 4, 20)
, (2037, 4, 5)
, (2038, 4, 25)
, (2039, 4, 17)
, (2040, 5, 6)
, (2041, 4, 21)
, (2042, 4, 13)
, (2043, 5, 3)
, (2044, 4, 24)
, (2045, 4, 9)
, (2046, 4, 29)
, (2047, 4, 21)
, (2048, 4, 5)
, (2049, 4, 25)
, (2050, 4, 17)
]
passover :: TimeData
passover = computedDays passover'
passover' :: [TimeObject]
passover' = mapMaybe toTimeObjectM
[ (1950, 4, 1)
, (1951, 4, 20)
, (1952, 4, 9)
, (1953, 3, 30)
, (1954, 4, 17)
, (1955, 4, 6)
, (1956, 3, 26)
, (1957, 4, 15)
, (1958, 4, 4)
, (1959, 4, 22)
, (1960, 4, 11)
, (1961, 3, 31)
, (1962, 4, 18)
, (1963, 4, 8)
, (1964, 3, 27)
, (1965, 4, 16)
, (1966, 4, 4)
, (1967, 4, 24)
, (1968, 4, 12)
, (1969, 4, 2)
, (1970, 4, 20)
, (1971, 4, 9)
, (1972, 3, 29)
, (1973, 4, 16)
, (1974, 4, 6)
, (1975, 3, 26)
, (1976, 4, 14)
, (1977, 4, 2)
, (1978, 4, 21)
, (1979, 4, 11)
, (1980, 3, 31)
, (1981, 4, 18)
, (1982, 4, 7)
, (1983, 3, 28)
, (1984, 4, 16)
, (1985, 4, 5)
, (1986, 4, 23)
, (1987, 4, 13)
, (1988, 4, 1)
, (1989, 4, 19)
, (1990, 4, 9)
, (1991, 3, 29)
, (1992, 4, 17)
, (1993, 4, 5)
, (1994, 3, 26)
, (1995, 4, 14)
, (1996, 4, 3)
, (1997, 4, 21)
, (1998, 4, 10)
, (1999, 3, 31)
, (2000, 4, 19)
, (2001, 4, 7)
, (2002, 3, 27)
, (2003, 4, 16)
, (2004, 4, 5)
, (2005, 4, 23)
, (2006, 4, 12)
, (2007, 4, 2)
, (2008, 4, 19)
, (2009, 4, 8)
, (2010, 3, 29)
, (2011, 4, 18)
, (2012, 4, 6)
, (2013, 3, 25)
, (2014, 4, 14)
, (2015, 4, 3)
, (2016, 4, 22)
, (2017, 4, 10)
, (2018, 3, 30)
, (2019, 4, 19)
, (2020, 4, 8)
, (2021, 3, 27)
, (2022, 4, 15)
, (2023, 4, 5)
, (2024, 4, 22)
, (2025, 4, 12)
, (2026, 4, 1)
, (2027, 4, 21)
, (2028, 4, 10)
, (2029, 3, 30)
, (2030, 4, 17)
, (2031, 4, 7)
, (2032, 3, 26)
, (2033, 4, 13)
, (2034, 4, 3)
, (2035, 4, 23)
, (2036, 4, 11)
, (2037, 3, 30)
, (2038, 4, 19)
, (2039, 4, 8)
, (2040, 3, 28)
, (2041, 4, 15)
, (2042, 4, 4)
, (2043, 4, 24)
, (2044, 4, 11)
, (2045, 4, 1)
, (2046, 4, 20)
, (2047, 4, 10)
, (2048, 3, 28)
, (2049, 4, 16)
, (2050, 4, 6)
]
roshHashana :: TimeData
roshHashana = computedDays roshHashana'
roshHashana' :: [TimeObject]
roshHashana' = mapMaybe toTimeObjectM
[ (1950, 9, 11)
, (1951, 9, 30)
, (1952, 9, 19)
, (1953, 9, 9)
, (1954, 9, 27)
, (1955, 9, 16)
, (1956, 9, 5)
, (1957, 9, 25)
, (1958, 9, 14)
, (1959, 10, 2)
, (1960, 9, 21)
, (1961, 9, 10)
, (1962, 9, 28)
, (1963, 9, 18)
, (1964, 9, 6)
, (1965, 9, 26)
, (1966, 9, 14)
, (1967, 10, 4)
, (1968, 9, 22)
, (1969, 9, 12)
, (1970, 9, 30)
, (1971, 9, 19)
, (1972, 9, 8)
, (1973, 9, 26)
, (1974, 9, 16)
, (1975, 9, 5)
, (1976, 9, 24)
, (1977, 9, 12)
, (1978, 10, 1)
, (1979, 9, 21)
, (1980, 9, 10)
, (1981, 9, 28)
, (1982, 9, 17)
, (1983, 9, 7)
, (1984, 9, 26)
, (1985, 9, 15)
, (1986, 10, 3)
, (1987, 9, 23)
, (1988, 9, 11)
, (1989, 9, 29)
, (1990, 9, 19)
, (1991, 9, 8)
, (1992, 9, 27)
, (1993, 9, 15)
, (1994, 9, 5)
, (1995, 9, 24)
, (1996, 9, 13)
, (1997, 10, 1)
, (1998, 9, 20)
, (1999, 9, 10)
, (2000, 9, 29)
, (2001, 9, 17)
, (2002, 9, 6)
, (2003, 9, 26)
, (2004, 9, 15)
, (2005, 10, 3)
, (2006, 9, 22)
, (2007, 9, 12)
, (2008, 9, 29)
, (2009, 9, 18)
, (2010, 9, 8)
, (2011, 9, 28)
, (2012, 9, 18)
, (2013, 9, 4)
, (2014, 9, 24)
, (2015, 9, 13)
, (2016, 10, 2)
, (2017, 9, 20)
, (2018, 9, 9)
, (2019, 9, 29)
, (2020, 9, 18)
, (2021, 9, 6)
, (2022, 9, 25)
, (2023, 9, 15)
, (2024, 10, 2)
, (2025, 9, 22)
, (2026, 9, 11)
, (2027, 10, 1)
, (2028, 9, 20)
, (2029, 9, 9)
, (2030, 9, 27)
, (2031, 9, 17)
, (2032, 9, 5)
, (2033, 9, 23)
, (2034, 9, 13)
, (2035, 10, 3)
, (2036, 9, 21)
, (2037, 9, 9)
, (2038, 9, 29)
, (2039, 9, 18)
, (2040, 9, 7)
, (2041, 9, 25)
, (2042, 9, 14)
, (2043, 10, 4)
, (2044, 9, 21)
, (2045, 9, 11)
, (2046, 9, 30)
, (2047, 9, 20)
, (2048, 9, 7)
, (2049, 9, 26)
, (2050, 9, 16)
]
tishaBAv :: TimeData
tishaBAv = computedDays tishaBAv'
tishaBAv' :: [TimeObject]
tishaBAv' = mapMaybe toTimeObjectM
[ (1950, 7, 22)
, (1951, 8, 11)
, (1952, 7, 30)
, (1953, 7, 20)
, (1954, 8, 7)
, (1955, 7, 27)
, (1956, 7, 16)
, (1957, 8, 5)
, (1958, 7, 26)
, (1959, 8, 12)
, (1960, 8, 1)
, (1961, 7, 22)
, (1962, 8, 8)
, (1963, 7, 29)
, (1964, 7, 18)
, (1965, 8, 7)
, (1966, 7, 25)
, (1967, 8, 14)
, (1968, 8, 3)
, (1969, 7, 23)
, (1970, 8, 10)
, (1971, 7, 31)
, (1972, 7, 19)
, (1973, 8, 6)
, (1974, 7, 27)
, (1975, 7, 16)
, (1976, 8, 4)
, (1977, 7, 23)
, (1978, 8, 12)
, (1979, 8, 1)
, (1980, 7, 21)
, (1981, 8, 8)
, (1982, 7, 28)
, (1983, 7, 18)
, (1984, 8, 6)
, (1985, 7, 27)
, (1986, 8, 13)
, (1987, 8, 3)
, (1988, 7, 23)
, (1989, 8, 9)
, (1990, 7, 30)
, (1991, 7, 20)
, (1992, 8, 8)
, (1993, 7, 26)
, (1994, 7, 16)
, (1995, 8, 5)
, (1996, 7, 24)
, (1997, 8, 11)
, (1998, 8, 1)
, (1999, 7, 21)
, (2000, 8, 9)
, (2001, 7, 28)
, (2002, 7, 17)
, (2003, 8, 6)
, (2004, 7, 26)
, (2005, 8, 13)
, (2006, 8, 2)
, (2007, 7, 23)
, (2008, 8, 9)
, (2009, 7, 29)
, (2010, 7, 19)
, (2011, 8, 8)
, (2012, 7, 28)
, (2013, 7, 15)
, (2014, 8, 4)
, (2015, 7, 25)
, (2016, 8, 13)
, (2017, 7, 31)
, (2018, 7, 21)
, (2019, 8, 10)
, (2020, 7, 29)
, (2021, 7, 17)
, (2022, 8, 6)
, (2023, 7, 26)
, (2024, 8, 12)
, (2025, 8, 2)
, (2026, 7, 22)
, (2027, 8, 11)
, (2028, 7, 31)
, (2029, 7, 21)
, (2030, 8, 7)
, (2031, 7, 28)
, (2032, 7, 17)
, (2033, 8, 3)
, (2034, 7, 24)
, (2035, 8, 13)
, (2036, 8, 2)
, (2037, 7, 20)
, (2038, 8, 9)
, (2039, 7, 30)
, (2040, 7, 18)
, (2041, 8, 5)
, (2042, 7, 26)
, (2043, 8, 15)
, (2044, 8, 1)
, (2045, 7, 22)
, (2046, 8, 11)
, (2047, 7, 31)
, (2048, 7, 18)
, (2049, 8, 7)
, (2050, 7, 27)
]
yomHaatzmaut :: TimeData
yomHaatzmaut = computedDays yomHaatzmaut'
yomHaatzmaut' :: [TimeObject]
yomHaatzmaut' = mapMaybe toTimeObjectM
[ (1950, 4, 19)
, (1951, 5, 9)
, (1952, 4, 29)
, (1953, 4, 19)
, (1954, 5, 5)
, (1955, 4, 26)
, (1956, 4, 15)
, (1957, 5, 5)
, (1958, 4, 23)
, (1959, 5, 12)
, (1960, 5, 1)
, (1961, 4, 19)
, (1962, 5, 8)
, (1963, 4, 28)
, (1964, 4, 15)
, (1965, 5, 5)
, (1966, 4, 24)
, (1967, 5, 14)
, (1968, 5, 1)
, (1969, 4, 22)
, (1970, 5, 10)
, (1971, 4, 28)
, (1972, 4, 18)
, (1973, 5, 6)
, (1974, 4, 24)
, (1975, 4, 15)
, (1976, 5, 4)
, (1977, 4, 20)
, (1978, 5, 10)
, (1979, 5, 1)
, (1980, 4, 20)
, (1981, 5, 6)
, (1982, 4, 27)
, (1983, 4, 17)
, (1984, 5, 6)
, (1985, 4, 24)
, (1986, 5, 13)
, (1987, 5, 3)
, (1988, 4, 20)
, (1989, 5, 9)
, (1990, 4, 29)
, (1991, 4, 17)
, (1992, 5, 6)
, (1993, 4, 25)
, (1994, 4, 13)
, (1995, 5, 3)
, (1996, 4, 23)
, (1997, 5, 11)
, (1998, 4, 29)
, (1999, 4, 20)
, (2000, 5, 9)
, (2001, 4, 25)
, (2002, 4, 16)
, (2003, 5, 6)
, (2004, 4, 26)
, (2005, 5, 11)
, (2006, 5, 2)
, (2007, 4, 23)
, (2008, 5, 7)
, (2009, 4, 28)
, (2010, 4, 19)
, (2011, 5, 9)
, (2012, 4, 25)
, (2013, 4, 15)
, (2014, 5, 5)
, (2015, 4, 22)
, (2016, 5, 11)
, (2017, 5, 1)
, (2018, 4, 18)
, (2019, 5, 8)
, (2020, 4, 28)
, (2021, 4, 14)
, (2022, 5, 4)
, (2023, 4, 25)
, (2024, 5, 13)
, (2025, 4, 30)
, (2026, 4, 21)
, (2027, 5, 11)
, (2028, 5, 1)
, (2029, 4, 18)
, (2030, 5, 7)
, (2031, 4, 28)
, (2032, 4, 14)
, (2033, 5, 3)
, (2034, 4, 24)
, (2035, 5, 14)
, (2036, 4, 30)
, (2037, 4, 20)
, (2038, 5, 10)
, (2039, 4, 27)
, (2040, 4, 17)
, (2041, 5, 6)
, (2042, 4, 23)
, (2043, 5, 13)
, (2044, 5, 2)
, (2045, 4, 19)
, (2046, 5, 9)
, (2047, 4, 30)
, (2048, 4, 15)
, (2049, 5, 5)
, (2050, 4, 26)
]
eidalAdha :: TimeData
eidalAdha = computedDays eidalAdha'
eidalAdha' :: [TimeObject]
eidalAdha' = mapMaybe toTimeObjectM
[ (2000, 3, 16)
, (2001, 3, 5)
, (2002, 2, 22)
, (2003, 2, 11)
, (2004, 2, 1)
, (2005, 1, 21)
, (2006, 1, 10)
, (2006, 12, 31)
, (2007, 12, 20)
, (2008, 12, 8)
, (2009, 11, 27)
, (2011, 11, 6)
, (2012, 10, 26)
, (2013, 10, 15)
, (2014, 10, 4)
, (2015, 8, 23)
, (2016, 9, 11)
, (2017, 9, 1)
, (2018, 8, 21)
, (2019, 8, 11)
, (2020, 7, 31)
, (2021, 7, 20)
, (2022, 7, 9)
, (2023, 6, 28)
, (2024, 6, 16)
, (2025, 6, 6)
, (2026, 5, 27)
, (2027, 5, 16)
, (2028, 5, 5)
, (2029, 4, 24)
]
eidalFitr :: TimeData
eidalFitr = computedDays eidalFitr'
eidalFitr' :: [TimeObject]
eidalFitr' = mapMaybe toTimeObjectM
[ (2000, 1, 8)
, (2000, 12, 27)
, (2001, 12, 16)
, (2002, 12, 5)
, (2003, 11, 25)
, (2004, 11, 14)
, (2005, 11, 3)
, (2006, 10, 23)
, (2007, 10, 13)
, (2008, 10, 1)
, (2009, 9, 20)
, (2010, 9, 10)
, (2011, 8, 30)
, (2012, 8, 19)
, (2013, 8, 8)
, (2014, 7, 28)
, (2015, 7, 17)
, (2016, 7, 6)
, (2017, 6, 25)
, (2018, 6, 15)
, (2019, 6, 4)
, (2020, 5, 24)
, (2021, 5, 13)
, (2022, 5, 2)
, (2023, 4, 21)
, (2024, 4, 10)
, (2025, 3, 30)
, (2026, 3, 20)
, (2027, 3, 9)
, (2028, 2, 26)
, (2029, 2, 14)
]
rajab :: TimeData
rajab = computedDays rajab'
rajab' :: [TimeObject]
rajab' = mapMaybe toTimeObjectM
[ (1999, 10, 10)
, (2000, 9, 28)
, (2001, 9, 18)
, (2002, 9, 8)
, (2003, 8, 29)
, (2004, 8, 17)
, (2005, 8, 6)
, (2006, 7, 26)
, (2007, 7, 15)
, (2008, 7, 4)
, (2009, 6, 24)
, (2010, 6, 13)
, (2011, 6, 3)
, (2012, 5, 22)
, (2013, 5, 11)
, (2014, 4, 30)
, (2015, 4, 20)
, (2016, 4, 8)
, (2017, 3, 29)
, (2018, 3, 18)
, (2019, 3, 8)
, (2020, 2, 25)
, (2021, 2, 13)
, (2022, 2, 2)
, (2023, 1, 23)
, (2024, 1, 13)
, (2025, 1, 1)
, (2025, 12, 21)
, (2026, 12, 10)
, (2027, 11, 29)
, (2028, 11, 18)
]
muharram :: TimeData
muharram = computedDays muharram'
muharram' :: [TimeObject]
muharram' = mapMaybe toTimeObjectM
[ (1998, 4, 27)
, (1999, 4, 17)
, (2000, 4, 6)
, (2001, 3, 26)
, (2002, 3, 15)
, (2003, 4, 4)
, (2004, 2, 21)
, (2005, 2, 10)
, (2006, 1, 31)
, (2007, 1, 20)
, (2008, 1, 10)
, (2009, 12, 18)
, (2010, 12, 7)
, (2011, 11, 26)
, (2012, 11, 15)
, (2013, 11, 4)
, (2014, 10, 25)
, (2015, 10, 14)
, (2016, 10, 2)
, (2017, 9, 21)
, (2018, 9, 11)
, (2019, 8, 31)
, (2020, 8, 20)
, (2021, 8, 9)
, (2022, 7, 30)
, (2023, 7, 19)
, (2024, 7, 7)
, (2025, 6, 26)
, (2026, 6, 16)
, (2027, 6, 6)
, (2028, 5, 25)
]
ramadan :: TimeData
ramadan = computedDays ramadan'
ramadan' :: [TimeObject]
ramadan' = mapMaybe toTimeObjectM
[ (1999, 12, 9)
, (2000, 11, 27)
, (2001, 11, 16)
, (2002, 11, 6)
, (2003, 10, 26)
, (2004, 10, 15)
, (2005, 10, 4)
, (2006, 9, 24)
, (2007, 9, 13)
, (2008, 9, 1)
, (2009, 8, 22)
, (2010, 8, 11)
, (2011, 8, 1)
, (2012, 7, 20)
, (2013, 7, 9)
, (2014, 6, 28)
, (2015, 6, 18)
, (2016, 6, 6)
, (2017, 5, 27)
, (2018, 5, 16)
, (2019, 5, 6)
, (2020, 4, 24)
, (2021, 4, 13)
, (2022, 4, 2)
, (2023, 3, 23)
, (2024, 3, 11)
, (2025, 3, 1)
, (2026, 2, 18)
, (2027, 2, 8)
, (2028, 1, 28)
, (2029, 1, 16)
]
mawlid :: TimeData
mawlid = computedDays mawlid'
mawlid' :: [TimeObject]
mawlid' = mapMaybe toTimeObjectM
[ (1999, 6, 26)
, (2000, 6, 14)
, (2001, 6, 4)
, (2002, 5, 24)
, (2003, 5, 13)
, (2004, 5, 1)
, (2005, 4, 21)
, (2006, 4, 10)
, (2007, 3, 31)
, (2008, 3, 20)
, (2009, 3, 9)
, (2010, 2, 26)
, (2011, 2, 15)
, (2012, 2, 4)
, (2013, 1, 24)
, (2014, 1, 13)
, (2015, 1, 3)
, (2015, 12, 23)
, (2016, 12, 11)
, (2017, 11, 30)
, (2018, 11, 20)
, (2019, 11, 9)
, (2020, 10, 29)
, (2021, 10, 18)
, (2022, 10, 8)
, (2023, 9, 27)
, (2024, 9, 15)
, (2025, 9, 4)
, (2026, 8, 25)
, (2027, 8, 14)
, (2028, 8, 3)
]
tuBishvat :: TimeData
tuBishvat = computedDays tuBishvat'
tuBishvat' :: [TimeObject]
tuBishvat' = mapMaybe toTimeObjectM
[ (1950, 2, 1)
, (1951, 1, 21)
, (1952, 2, 10)
, (1953, 1, 30)
, (1954, 1, 18)
, (1955, 2, 6)
, (1956, 1, 27)
, (1957, 1, 16)
, (1958, 2, 4)
, (1959, 1, 23)
, (1960, 2, 12)
, (1961, 1, 31)
, (1962, 1, 19)
, (1963, 2, 8)
, (1964, 1, 28)
, (1965, 1, 17)
, (1966, 2, 4)
, (1967, 1, 25)
, (1968, 2, 13)
, (1969, 2, 2)
, (1970, 1, 21)
, (1971, 2, 9)
, (1972, 1, 30)
, (1973, 1, 17)
, (1974, 2, 6)
, (1975, 1, 26)
, (1976, 1, 16)
, (1977, 2, 2)
, (1978, 1, 22)
, (1979, 2, 11)
, (1980, 2, 1)
, (1981, 1, 19)
, (1982, 2, 7)
, (1983, 1, 28)
, (1984, 1, 18)
, (1985, 2, 5)
, (1986, 1, 24)
, (1987, 2, 13)
, (1988, 2, 2)
, (1989, 1, 20)
, (1990, 2, 9)
, (1991, 1, 29)
, (1992, 1, 19)
, (1993, 2, 5)
, (1994, 1, 26)
, (1995, 1, 15)
, (1996, 2, 4)
, (1997, 1, 22)
, (1998, 2, 10)
, (1999, 1, 31)
, (2000, 1, 21)
, (2001, 2, 7)
, (2002, 1, 27)
, (2003, 1, 17)
, (2004, 2, 6)
, (2005, 1, 24)
, (2006, 2, 12)
, (2007, 2, 2)
, (2008, 1, 21)
, (2009, 2, 8)
, (2010, 1, 29)
, (2011, 1, 19)
, (2012, 2, 7)
, (2013, 1, 25)
, (2014, 1, 15)
, (2015, 2, 3)
, (2016, 1, 24)
, (2017, 2, 10)
, (2018, 1, 30)
, (2019, 1, 20)
, (2020, 2, 9)
, (2021, 1, 27)
, (2022, 1, 16)
, (2023, 2, 5)
, (2024, 1, 24)
, (2025, 2, 12)
, (2026, 2, 1)
, (2027, 1, 22)
, (2028, 2, 11)
, (2029, 1, 30)
, (2030, 1, 18)
, (2031, 2, 7)
, (2032, 1, 27)
, (2033, 1, 14)
, (2034, 2, 3)
, (2035, 1, 24)
, (2036, 2, 12)
, (2037, 1, 30)
, (2038, 1, 20)
, (2039, 2, 8)
, (2040, 1, 29)
, (2041, 1, 16)
, (2042, 2, 4)
, (2043, 1, 25)
, (2044, 2, 12)
, (2045, 2, 1)
, (2046, 1, 21)
, (2047, 2, 10)
, (2048, 1, 29)
, (2049, 1, 17)
, (2050, 2, 6)
]
dhanteras :: TimeData
dhanteras = computedDays dhanteras'
dhanteras' :: [TimeObject]
dhanteras' = mapMaybe toTimeObjectM
[ (2000, 10, 24)
, (2001, 11, 12)
, (2002, 11, 2)
, (2003, 10, 23)
, (2004, 11, 10)
, (2005, 10, 30)
, (2006, 10, 19)
, (2007, 11, 7)
, (2008, 10, 26)
, (2009, 10, 15)
, (2010, 11, 3)
, (2011, 10, 24)
, (2012, 11, 11)
, (2013, 11, 1)
, (2014, 10, 21)
, (2015, 11, 9)
, (2016, 10, 28)
, (2017, 10, 17)
, (2018, 11, 5)
, (2019, 10, 25)
, (2020, 11, 13)
, (2021, 11, 2)
, (2022, 10, 22)
, (2023, 11, 10)
, (2024, 10, 29)
, (2025, 10, 18)
, (2026, 11, 6)
, (2027, 10, 27)
, (2028, 10, 15)
, (2029, 11, 4)
, (2030, 10, 24)
]
navaratri :: TimeData
navaratri = computedDays navaratri'
navaratri' :: [TimeObject]
navaratri' = mapMaybe toTimeObjectM
[ (2000, 9, 28)
, (2001, 10, 17)
, (2002, 10, 7)
, (2003, 9, 26)
, (2004, 10, 14)
, (2005, 10, 4)
, (2006, 9, 23)
, (2007, 10, 12)
, (2008, 9, 30)
, (2009, 9, 19)
, (2010, 10, 8)
, (2011, 9, 28)
, (2012, 10, 16)
, (2013, 10, 5)
, (2014, 9, 25)
, (2015, 10, 13)
, (2016, 10, 1)
, (2017, 9, 21)
, (2018, 10, 9)
, (2019, 9, 29)
, (2020, 10, 17)
, (2021, 10, 6)
, (2022, 9, 26)
, (2023, 10, 15)
, (2024, 10, 3)
, (2025, 9, 22)
, (2026, 10, 11)
, (2027, 9, 30)
, (2028, 9, 19)
, (2029, 10, 8)
, (2030, 9, 27)
]
rakshaBandhan :: TimeData
rakshaBandhan = computedDays rakshaBandhan'
rakshaBandhan' :: [TimeObject]
rakshaBandhan' = mapMaybe toTimeObjectM
[ (2000, 8, 15)
, (2001, 8, 4)
, (2002, 8, 22)
, (2003, 8, 12)
, (2004, 8, 29)
, (2005, 8, 19)
, (2006, 8, 9)
, (2007, 8, 28)
, (2008, 8, 16)
, (2009, 8, 5)
, (2010, 8, 24)
, (2011, 8, 13)
, (2012, 8, 2)
, (2013, 8, 20)
, (2014, 8, 10)
, (2015, 8, 29)
, (2016, 8, 18)
, (2017, 8, 7)
, (2018, 8, 26)
, (2019, 8, 15)
, (2020, 8, 3)
, (2021, 8, 22)
, (2022, 8, 11)
, (2023, 8, 30)
, (2024, 8, 19)
, (2025, 8, 9)
, (2026, 8, 28)
, (2027, 8, 17)
, (2028, 8, 5)
, (2029, 8, 23)
, (2030, 8, 13)
]
thaiPongal :: TimeData
thaiPongal = computedDays thaiPongal'
thaiPongal' :: [TimeObject]
thaiPongal' = mapMaybe toTimeObjectM
[ (2000, 1, 15)
, (2001, 1, 14)
, (2002, 1, 14)
, (2003, 1, 14)
, (2004, 1, 15)
, (2005, 1, 14)
, (2006, 1, 14)
, (2007, 1, 15)
, (2008, 1, 15)
, (2009, 1, 14)
, (2010, 1, 14)
, (2011, 1, 15)
, (2012, 1, 15)
, (2013, 1, 14)
, (2014, 1, 14)
, (2015, 1, 15)
, (2016, 1, 15)
, (2017, 1, 14)
, (2018, 1, 14)
, (2019, 1, 15)
, (2020, 1, 15)
, (2021, 1, 14)
, (2022, 1, 14)
, (2023, 1, 15)
, (2024, 1, 15)
, (2025, 1, 14)
, (2026, 1, 14)
, (2027, 1, 15)
, (2028, 1, 15)
, (2029, 1, 14)
, (2030, 1, 14)
]
thiruOnam :: TimeData
thiruOnam = computedDays thiruOnam'
thiruOnam' :: [TimeObject]
thiruOnam' = mapMaybe toTimeObjectM
[ (2000, 9, 10)
, (2001, 8, 31)
, (2002, 8, 21)
, (2003, 9, 8)
, (2004, 8, 28)
, (2005, 9, 15)
, (2006, 9, 5)
, (2007, 8, 26)
, (2008, 9, 12)
, (2009, 9, 2)
, (2010, 8, 23)
, (2011, 9, 9)
, (2012, 8, 29)
, (2013, 8, 20)
, (2014, 9, 6)
, (2015, 8, 28)
, (2016, 9, 13)
, (2017, 9, 4)
, (2018, 8, 24)
, (2019, 9, 11)
, (2020, 8, 31)
, (2021, 8, 21)
, (2022, 9, 8)
, (2023, 8, 29)
, (2024, 9, 15)
, (2025, 9, 5)
, (2026, 8, 26)
, (2027, 9, 12)
, (2028, 9, 1)
, (2029, 8, 22)
, (2030, 9, 9)
]
vasantPanchami :: TimeData
vasantPanchami = computedDays vasantPanchami'
vasantPanchami' :: [TimeObject]
vasantPanchami' = mapMaybe toTimeObjectM
[ (2000, 2, 10)
, (2001, 1, 29)
, (2002, 2, 17)
, (2003, 2, 6)
, (2004, 1, 26)
, (2005, 2, 13)
, (2006, 2, 2)
, (2007, 1, 23)
, (2008, 2, 11)
, (2009, 1, 31)
, (2010, 1, 20)
, (2011, 2, 8)
, (2012, 1, 28)
, (2013, 2, 15)
, (2014, 2, 4)
, (2015, 1, 24)
, (2016, 2, 12)
, (2017, 2, 1)
, (2018, 1, 22)
, (2019, 2, 10)
, (2020, 1, 29)
, (2021, 2, 16)
, (2022, 2, 5)
, (2023, 1, 26)
, (2024, 2, 14)
, (2025, 2, 2)
, (2026, 1, 23)
, (2027, 2, 11)
, (2028, 1, 31)
, (2029, 1, 19)
, (2030, 2, 7)
]