@hebcal/core 3.32.1 → 3.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.32.1 */
1
+ /*! @hebcal/core v3.33.0 */
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -621,7 +621,7 @@ const monthNames0 = ['', 'Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tish
621
621
 
622
622
  const monthNames = [monthNames0.concat(['Adar', 'Nisan']), monthNames0.concat(['Adar I', 'Adar II', 'Nisan'])]; // eslint-disable-next-line require-jsdoc
623
623
 
624
- function throwTypeError$2(msg) {
624
+ function throwTypeError$3(msg) {
625
625
  throw new TypeError(msg);
626
626
  }
627
627
 
@@ -656,7 +656,7 @@ const UNITS_VALID = {
656
656
 
657
657
  /** Represents a Hebrew date */
658
658
 
659
- class HDate$1 {
659
+ class HDate {
660
660
  /**
661
661
  * Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
662
662
  *
@@ -725,13 +725,13 @@ class HDate$1 {
725
725
  } // 1 argument
726
726
 
727
727
 
728
- const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate$1.isHDate(day) ? {
728
+ const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate.isHDate(day) ? {
729
729
  dd: day.day,
730
730
  mm: day.month,
731
731
  yy: day.year
732
- } : throwTypeError$2(`HDate called with bad argument: ${day}`);
732
+ } : throwTypeError$3(`HDate called with bad argument: ${day}`);
733
733
  const isNumber = typeof abs0 === 'number';
734
- const d = isNumber ? HDate$1.abs2hebrew(abs0) : abs0;
734
+ const d = isNumber ? HDate.abs2hebrew(abs0) : abs0;
735
735
  /**
736
736
  * @private
737
737
  * @type {number}
@@ -776,7 +776,7 @@ class HDate$1 {
776
776
 
777
777
 
778
778
  isLeapYear() {
779
- return HDate$1.isLeapYear(this.year);
779
+ return HDate.isLeapYear(this.year);
780
780
  }
781
781
  /**
782
782
  * Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
@@ -794,7 +794,7 @@ class HDate$1 {
794
794
 
795
795
 
796
796
  getTishreiMonth() {
797
- const nummonths = HDate$1.monthsInYear(this.getFullYear());
797
+ const nummonths = HDate.monthsInYear(this.getFullYear());
798
798
  return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
799
799
  }
800
800
  /**
@@ -804,7 +804,7 @@ class HDate$1 {
804
804
 
805
805
 
806
806
  daysInMonth() {
807
- return HDate$1.daysInMonth(this.getMonth(), this.getFullYear());
807
+ return HDate.daysInMonth(this.getMonth(), this.getFullYear());
808
808
  }
809
809
  /**
810
810
  * Gets the day within the month (1-30)
@@ -847,7 +847,7 @@ class HDate$1 {
847
847
 
848
848
 
849
849
  setMonth(month) {
850
- this.month = HDate$1.monthNum(month);
850
+ this.month = HDate.monthNum(month);
851
851
  fix(this);
852
852
  return this;
853
853
  }
@@ -883,7 +883,7 @@ class HDate$1 {
883
883
 
884
884
  abs() {
885
885
  if (typeof this.abs0 !== 'number') {
886
- this.abs0 = HDate$1.hebrew2abs(this.year, this.month, this.day);
886
+ this.abs0 = HDate.hebrew2abs(this.year, this.month, this.day);
887
887
  }
888
888
 
889
889
  return this.abs0;
@@ -903,20 +903,20 @@ class HDate$1 {
903
903
  let tempabs = day;
904
904
 
905
905
  if (month < TISHREI$2) {
906
- for (let m = TISHREI$2; m <= HDate$1.monthsInYear(year); m++) {
907
- tempabs += HDate$1.daysInMonth(m, year);
906
+ for (let m = TISHREI$2; m <= HDate.monthsInYear(year); m++) {
907
+ tempabs += HDate.daysInMonth(m, year);
908
908
  }
909
909
 
910
910
  for (let m = NISAN$2; m < month; m++) {
911
- tempabs += HDate$1.daysInMonth(m, year);
911
+ tempabs += HDate.daysInMonth(m, year);
912
912
  }
913
913
  } else {
914
914
  for (let m = TISHREI$2; m < month; m++) {
915
- tempabs += HDate$1.daysInMonth(m, year);
915
+ tempabs += HDate.daysInMonth(m, year);
916
916
  }
917
917
  }
918
918
 
919
- return EPOCH + HDate$1.elapsedDays(year) + tempabs - 1;
919
+ return EPOCH + HDate.elapsedDays(year) + tempabs - 1;
920
920
  }
921
921
  /**
922
922
  * @private
@@ -926,7 +926,7 @@ class HDate$1 {
926
926
 
927
927
 
928
928
  static newYear(year) {
929
- return EPOCH + HDate$1.elapsedDays(year) + HDate$1.newYearDelay(year);
929
+ return EPOCH + HDate.elapsedDays(year) + HDate.newYearDelay(year);
930
930
  }
931
931
  /**
932
932
  * @private
@@ -936,13 +936,13 @@ class HDate$1 {
936
936
 
937
937
 
938
938
  static newYearDelay(year) {
939
- const ny1 = HDate$1.elapsedDays(year);
940
- const ny2 = HDate$1.elapsedDays(year + 1);
939
+ const ny1 = HDate.elapsedDays(year);
940
+ const ny2 = HDate.elapsedDays(year + 1);
941
941
 
942
942
  if (ny2 - ny1 === 356) {
943
943
  return 2;
944
944
  } else {
945
- const ny0 = HDate$1.elapsedDays(year - 1);
945
+ const ny0 = HDate.elapsedDays(year - 1);
946
946
  return ny1 - ny0 === 382 ? 1 : 0;
947
947
  }
948
948
  }
@@ -963,18 +963,18 @@ class HDate$1 {
963
963
 
964
964
  let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
965
965
 
966
- while (HDate$1.newYear(year) <= abs) {
966
+ while (HDate.newYear(year) <= abs) {
967
967
  ++year;
968
968
  }
969
969
 
970
970
  --year;
971
- let month = abs < HDate$1.hebrew2abs(year, 1, 1) ? 7 : 1;
971
+ let month = abs < HDate.hebrew2abs(year, 1, 1) ? 7 : 1;
972
972
 
973
- while (abs > HDate$1.hebrew2abs(year, month, HDate$1.daysInMonth(month, year))) {
973
+ while (abs > HDate.hebrew2abs(year, month, HDate.daysInMonth(month, year))) {
974
974
  ++month;
975
975
  }
976
976
 
977
- const day = 1 + abs - HDate$1.hebrew2abs(year, month, 1);
977
+ const day = 1 + abs - HDate.hebrew2abs(year, month, 1);
978
978
  return {
979
979
  yy: year,
980
980
  mm: month,
@@ -988,7 +988,7 @@ class HDate$1 {
988
988
 
989
989
 
990
990
  getMonthName() {
991
- return HDate$1.getMonthName(this.getMonth(), this.getFullYear());
991
+ return HDate.getMonthName(this.getMonth(), this.getFullYear());
992
992
  }
993
993
  /**
994
994
  * Renders this Hebrew date as a translated or transliterated string,
@@ -1010,7 +1010,7 @@ class HDate$1 {
1010
1010
  const day = this.getDate();
1011
1011
  const monthName = Locale.gettext(this.getMonthName(), locale0);
1012
1012
  const nth = Locale.ordinal(day, locale0);
1013
- const dayOf = HDate$1.getDayOfTranslation(locale0);
1013
+ const dayOf = HDate.getDayOfTranslation(locale0);
1014
1014
  const dateStr = `${nth}${dayOf} ${monthName}`;
1015
1015
 
1016
1016
  if (showYear) {
@@ -1143,7 +1143,7 @@ class HDate$1 {
1143
1143
 
1144
1144
 
1145
1145
  next() {
1146
- return new HDate$1(this.abs() + 1);
1146
+ return new HDate(this.abs() + 1);
1147
1147
  }
1148
1148
  /**
1149
1149
  * Returns the previous Hebrew date
@@ -1152,7 +1152,7 @@ class HDate$1 {
1152
1152
 
1153
1153
 
1154
1154
  prev() {
1155
- return new HDate$1(this.abs() - 1);
1155
+ return new HDate(this.abs() - 1);
1156
1156
  }
1157
1157
  /**
1158
1158
  * Returns a cloned `HDate` object with a specified amount of time added
@@ -1176,24 +1176,24 @@ class HDate$1 {
1176
1176
  number = parseInt(number, 10);
1177
1177
 
1178
1178
  if (!number) {
1179
- return new HDate$1(this);
1179
+ return new HDate(this);
1180
1180
  }
1181
1181
 
1182
- units = HDate$1.standardizeUnits(units);
1182
+ units = HDate.standardizeUnits(units);
1183
1183
 
1184
1184
  if (units === UNITS_DAY) {
1185
- return new HDate$1(this.abs() + number);
1185
+ return new HDate(this.abs() + number);
1186
1186
  } else if (units === UNITS_WEEK) {
1187
- return new HDate$1(this.abs() + 7 * number);
1187
+ return new HDate(this.abs() + 7 * number);
1188
1188
  } else if (units === UNITS_YEAR) {
1189
- return new HDate$1(this.getDate(), this.getMonth(), this.getFullYear() + number);
1189
+ return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + number);
1190
1190
  } else if (units === UNITS_MONTH) {
1191
- let hd = new HDate$1(this);
1191
+ let hd = new HDate(this);
1192
1192
  const sign = number > 0 ? 1 : -1;
1193
1193
  number = Math.abs(number);
1194
1194
 
1195
1195
  for (let i = 0; i < number; i++) {
1196
- hd = new HDate$1(hd.abs() + sign * hd.daysInMonth());
1196
+ hd = new HDate(hd.abs() + sign * hd.daysInMonth());
1197
1197
  }
1198
1198
 
1199
1199
  return hd;
@@ -1208,7 +1208,7 @@ class HDate$1 {
1208
1208
 
1209
1209
  static standardizeUnits(units) {
1210
1210
  const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
1211
- return UNITS_VALID[full] || throwTypeError$2(`Invalid units '${units}'`);
1211
+ return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
1212
1212
  }
1213
1213
  /**
1214
1214
  * Returns a cloned `HDate` object with a specified amount of time subracted
@@ -1257,7 +1257,7 @@ class HDate$1 {
1257
1257
 
1258
1258
 
1259
1259
  deltaDays(other) {
1260
- if (!HDate$1.isHDate(other)) {
1260
+ if (!HDate.isHDate(other)) {
1261
1261
  throw new TypeError(`Bad argument: ${other}`);
1262
1262
  }
1263
1263
 
@@ -1271,7 +1271,7 @@ class HDate$1 {
1271
1271
 
1272
1272
 
1273
1273
  isSameDate(other) {
1274
- if (HDate$1.isHDate(other)) {
1274
+ if (HDate.isHDate(other)) {
1275
1275
  return this.year == other.year && this.month == other.month && this.day == other.day;
1276
1276
  }
1277
1277
 
@@ -1304,7 +1304,7 @@ class HDate$1 {
1304
1304
 
1305
1305
 
1306
1306
  static monthsInYear(year) {
1307
- return 12 + HDate$1.isLeapYear(year); // boolean is cast to 1 or 0
1307
+ return 12 + HDate.isLeapYear(year); // boolean is cast to 1 or 0
1308
1308
  }
1309
1309
  /**
1310
1310
  * Number of days in Hebrew month in a given year (29 or 30)
@@ -1315,7 +1315,7 @@ class HDate$1 {
1315
1315
 
1316
1316
 
1317
1317
  static daysInMonth(month, year) {
1318
- if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate$1.isLeapYear(year) || month == CHESHVAN$2 && !HDate$1.longCheshvan(year) || month == KISLEV$2 && HDate$1.shortKislev(year)) {
1318
+ if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate.isLeapYear(year) || month == CHESHVAN$2 && !HDate.longCheshvan(year) || month == KISLEV$2 && HDate.shortKislev(year)) {
1319
1319
  return 29;
1320
1320
  } else {
1321
1321
  return 30;
@@ -1335,7 +1335,7 @@ class HDate$1 {
1335
1335
  throw new TypeError(`bad month argument ${month}`);
1336
1336
  }
1337
1337
 
1338
- return monthNames[+HDate$1.isLeapYear(year)][month];
1338
+ return monthNames[+HDate.isLeapYear(year)][month];
1339
1339
  }
1340
1340
  /**
1341
1341
  * Returns the Hebrew month number (NISAN=1, TISHREI=7)
@@ -1347,7 +1347,7 @@ class HDate$1 {
1347
1347
  static monthNum(month) {
1348
1348
  return typeof month === 'number' ? month : month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
1349
1349
  /* number */
1350
- parseInt(month, 10) : HDate$1.monthFromName(month);
1350
+ parseInt(month, 10) : HDate.monthFromName(month);
1351
1351
  }
1352
1352
  /**
1353
1353
  * Days from sunday prior to start of Hebrew calendar to mean
@@ -1358,7 +1358,7 @@ class HDate$1 {
1358
1358
 
1359
1359
 
1360
1360
  static elapsedDays(year) {
1361
- const elapsed = edCache[year] = edCache[year] || HDate$1.elapsedDays0(year);
1361
+ const elapsed = edCache[year] = edCache[year] || HDate.elapsedDays0(year);
1362
1362
  return elapsed;
1363
1363
  }
1364
1364
  /**
@@ -1380,7 +1380,7 @@ class HDate$1 {
1380
1380
  const hElapsed = 5 + 12 * mElapsed + 793 * Math.floor(mElapsed / 1080) + Math.floor(pElapsed / 1080);
1381
1381
  const parts = pElapsed % 1080 + 1080 * (hElapsed % 24);
1382
1382
  const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
1383
- const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate$1.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate$1.isLeapYear(prevYear));
1383
+ const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate.isLeapYear(prevYear));
1384
1384
  return altDay + (altDay % 7 === 0 || altDay % 7 == 3 || altDay % 7 == 5);
1385
1385
  }
1386
1386
  /**
@@ -1391,7 +1391,7 @@ class HDate$1 {
1391
1391
 
1392
1392
 
1393
1393
  static daysInYear(year) {
1394
- return HDate$1.elapsedDays(year + 1) - HDate$1.elapsedDays(year);
1394
+ return HDate.elapsedDays(year + 1) - HDate.elapsedDays(year);
1395
1395
  }
1396
1396
  /**
1397
1397
  * true if Cheshvan is long in Hebrew year
@@ -1401,7 +1401,7 @@ class HDate$1 {
1401
1401
 
1402
1402
 
1403
1403
  static longCheshvan(year) {
1404
- return HDate$1.daysInYear(year) % 10 == 5;
1404
+ return HDate.daysInYear(year) % 10 == 5;
1405
1405
  }
1406
1406
  /**
1407
1407
  * true if Kislev is short in Hebrew year
@@ -1411,7 +1411,7 @@ class HDate$1 {
1411
1411
 
1412
1412
 
1413
1413
  static shortKislev(year) {
1414
- return HDate$1.daysInYear(year) % 10 == 3;
1414
+ return HDate.daysInYear(year) % 10 == 3;
1415
1415
  }
1416
1416
  /**
1417
1417
  * Converts Hebrew month string name to numeric
@@ -1600,17 +1600,17 @@ function fixDate(date) {
1600
1600
  date.year -= 1;
1601
1601
  }
1602
1602
 
1603
- date.day += HDate$1.daysInMonth(date.month, date.year);
1603
+ date.day += HDate.daysInMonth(date.month, date.year);
1604
1604
  date.month -= 1;
1605
1605
  fix(date);
1606
1606
  }
1607
1607
 
1608
- if (date.day > HDate$1.daysInMonth(date.month, date.year)) {
1608
+ if (date.day > HDate.daysInMonth(date.month, date.year)) {
1609
1609
  if (date.month == ELUL$2) {
1610
1610
  date.year += 1;
1611
1611
  }
1612
1612
 
1613
- date.day -= HDate$1.daysInMonth(date.month, date.year);
1613
+ date.day -= HDate.daysInMonth(date.month, date.year);
1614
1614
  date.month += 1;
1615
1615
  fix(date);
1616
1616
  }
@@ -1629,11 +1629,11 @@ function fixMonth(date) {
1629
1629
 
1630
1630
  fix(date);
1631
1631
  } else if (date.month < 1) {
1632
- date.month += HDate$1.monthsInYear(date.year);
1632
+ date.month += HDate.monthsInYear(date.year);
1633
1633
  date.year -= 1;
1634
1634
  fix(date);
1635
- } else if (date.month > HDate$1.monthsInYear(date.year)) {
1636
- date.month -= HDate$1.monthsInYear(date.year);
1635
+ } else if (date.month > HDate.monthsInYear(date.year)) {
1636
+ date.month -= HDate.monthsInYear(date.year);
1637
1637
  date.year += 1;
1638
1638
  fix(date);
1639
1639
  }
@@ -1650,7 +1650,7 @@ function fixMonth(date) {
1650
1650
 
1651
1651
 
1652
1652
  function onOrBefore(day, t, offset) {
1653
- return new HDate$1(HDate$1.dayOnOrBefore(day, t.abs() + offset));
1653
+ return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
1654
1654
  }
1655
1655
 
1656
1656
  const CHAG$1 = 0x000001;
@@ -1677,6 +1677,7 @@ const HEBREW_DATE = 0x040000;
1677
1677
  const MINOR_HOLIDAY$2 = 0x080000;
1678
1678
  const EREV$2 = 0x100000;
1679
1679
  const CHOL_HAMOED$2 = 0x200000;
1680
+ const MISHNA_YOMI = 0x400000;
1680
1681
  /**
1681
1682
  * Holiday flags for Event
1682
1683
  * @readonly
@@ -1748,7 +1749,10 @@ const flags = {
1748
1749
  EREV: EREV$2,
1749
1750
 
1750
1751
  /** Chol haMoed, intermediate days of Pesach or Sukkot */
1751
- CHOL_HAMOED: CHOL_HAMOED$2
1752
+ CHOL_HAMOED: CHOL_HAMOED$2,
1753
+
1754
+ /** Mishna Yomi */
1755
+ MISHNA_YOMI
1752
1756
  };
1753
1757
  /** Represents an Event with a title, date, and flags */
1754
1758
 
@@ -2300,7 +2304,7 @@ function pad4(number) {
2300
2304
  return String(number);
2301
2305
  }
2302
2306
 
2303
- function throwTypeError$1(error) {
2307
+ function throwTypeError$2(error) {
2304
2308
  throw new TypeError(error);
2305
2309
  }
2306
2310
  /**
@@ -2361,7 +2365,7 @@ class Zmanim {
2361
2365
  throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
2362
2366
  }
2363
2367
 
2364
- const dt = greg.isDate(date) ? date : HDate$1.isHDate(date) ? date.greg() : throwTypeError$1(`invalid date: ${date}`);
2368
+ const dt = greg.isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
2365
2369
  this.date = dt;
2366
2370
  this.sun = new Sun_1(this.date, latitude, longitude);
2367
2371
  this.latitude = latitude;
@@ -3281,7 +3285,7 @@ class Molad {
3281
3285
  let m_adj = month - 7;
3282
3286
 
3283
3287
  if (m_adj < 0) {
3284
- m_adj += HDate$1.monthsInYear(year);
3288
+ m_adj += HDate.monthsInYear(year);
3285
3289
  }
3286
3290
 
3287
3291
  const m_elapsed = 235 * Math.floor((year - 1) / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
@@ -3324,7 +3328,7 @@ class Molad {
3324
3328
 
3325
3329
 
3326
3330
  getMonthName() {
3327
- return HDate$1.getMonthName(this.month, this.year);
3331
+ return HDate.getMonthName(this.month, this.year);
3328
3332
  }
3329
3333
  /**
3330
3334
  * @return {number} Day of Week (0=Sunday, 6=Saturday)
@@ -3505,18 +3509,23 @@ const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
3505
3509
  name: m[0],
3506
3510
  blatt: m[1]
3507
3511
  };
3508
- });
3512
+ }); // eslint-disable-next-line require-jsdoc
3513
+
3514
+ function throwTypeError$1(msg) {
3515
+ throw new TypeError(msg);
3516
+ }
3509
3517
  /**
3510
3518
  * Returns the Daf Yomi for given date
3511
3519
  */
3512
3520
 
3521
+
3513
3522
  class DafYomi {
3514
3523
  /**
3515
3524
  * Initializes a daf yomi instance
3516
- * @param {Date} gregdate Gregorian date
3525
+ * @param {Date|HDate|number} gregdate Gregorian date
3517
3526
  */
3518
3527
  constructor(gregdate) {
3519
- const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError(`non-date given to dafyomi: ${gregdate}`);
3528
+ const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$1(`non-date given to dafyomi: ${gregdate}`);
3520
3529
 
3521
3530
  if (cday < osday) {
3522
3531
  throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
@@ -3708,16 +3717,16 @@ class Sedra {
3708
3717
  constructor(hebYr, il) {
3709
3718
  // the Hebrew year
3710
3719
  hebYr = +hebYr;
3711
- const longC = HDate$1.longCheshvan(hebYr);
3712
- const shortK = HDate$1.shortKislev(hebYr);
3720
+ const longC = HDate.longCheshvan(hebYr);
3721
+ const shortK = HDate.shortKislev(hebYr);
3713
3722
  const type = this.type = longC && !shortK ? COMPLETE : !longC && shortK ? INCOMPLETE : REGULAR;
3714
3723
  this.year = hebYr;
3715
- const rh0 = new HDate$1(1, months.TISHREI, hebYr);
3724
+ const rh0 = new HDate(1, months.TISHREI, hebYr);
3716
3725
  const rh = rh0.abs();
3717
3726
  const rhDay = this.roshHashanaDay = rh0.getDay() + 1; // find the first Saturday on or after Rosh Hashana
3718
3727
 
3719
- this.firstSaturday = HDate$1.dayOnOrBefore(6, rh + 6);
3720
- const leap = this.leap = +HDate$1.isLeapYear(hebYr);
3728
+ this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);
3729
+ const leap = this.leap = +HDate.isLeapYear(hebYr);
3721
3730
  this.il = Boolean(il);
3722
3731
  const key = `${leap}${rhDay}${type}`;
3723
3732
 
@@ -3794,7 +3803,7 @@ class Sedra {
3794
3803
  return null; // doesn't occur this year
3795
3804
  }
3796
3805
 
3797
- return new HDate$1(this.firstSaturday + idx * 7);
3806
+ return new HDate(this.firstSaturday + idx * 7);
3798
3807
  } else if (typeof parsha === 'string') {
3799
3808
  const num = parsha2id[parsha];
3800
3809
 
@@ -3810,7 +3819,7 @@ class Sedra {
3810
3819
  return null; // doesn't occur this year
3811
3820
  }
3812
3821
 
3813
- return new HDate$1(this.firstSaturday + idx * 7);
3822
+ return new HDate(this.firstSaturday + idx * 7);
3814
3823
  }
3815
3824
  } else if (Array.isArray(parsha) && parsha.length === 1 && typeof parsha[0] === 'string') {
3816
3825
  return this.find(parsha[0]);
@@ -3861,9 +3870,9 @@ class Sedra {
3861
3870
 
3862
3871
 
3863
3872
  lookup(hDate) {
3864
- const absDate = typeof hDate === 'number' ? hDate : HDate$1.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
3873
+ const absDate = typeof hDate === 'number' ? hDate : HDate.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
3865
3874
 
3866
- const saturday = HDate$1.dayOnOrBefore(6, absDate + 6);
3875
+ const saturday = HDate.dayOnOrBefore(6, absDate + 6);
3867
3876
  const weekNum = (saturday - this.firstSaturday) / 7;
3868
3877
  const index = this.theSedraArray[weekNum];
3869
3878
 
@@ -4319,7 +4328,7 @@ class MevarchimChodeshEvent extends Event {
4319
4328
  this.monthName = monthName;
4320
4329
  const hyear = date.getFullYear();
4321
4330
  const hmonth = date.getMonth();
4322
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4331
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4323
4332
  const molad = new MoladEvent(date, hyear, monNext);
4324
4333
  this.memo = molad.render();
4325
4334
  }
@@ -4483,8 +4492,8 @@ function getHolidaysForYear(year) {
4483
4492
  return cached;
4484
4493
  }
4485
4494
 
4486
- const RH = new HDate$1(1, TISHREI$1, year);
4487
- const pesach = new HDate$1(15, NISAN$1, year);
4495
+ const RH = new HDate(1, TISHREI$1, year);
4496
+ const pesach = new HDate(15, NISAN$1, year);
4488
4497
  const h = new SimpleMap(); // eslint-disable-next-line require-jsdoc
4489
4498
 
4490
4499
  function add(...events) {
@@ -4508,7 +4517,7 @@ function getHolidaysForYear(year) {
4508
4517
 
4509
4518
  function addEvents(year, arr) {
4510
4519
  arr.forEach(a => {
4511
- add(new HolidayEvent(new HDate$1(a[0], a[1], year), a[2], a[3], a[4]));
4520
+ add(new HolidayEvent(new HDate(a[0], a[1], year), a[2], a[3], a[4]));
4512
4521
  });
4513
4522
  } // standard holidays that don't shift based on year
4514
4523
 
@@ -4520,7 +4529,7 @@ function getHolidaysForYear(year) {
4520
4529
  emoji: '📖✍️'
4521
4530
  }]]); // first SAT after RH
4522
4531
 
4523
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4532
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4524
4533
  addEvents(year, [[10, TISHREI$1, 'Yom Kippur', CHAG | YOM_TOV_ENDS$1 | MAJOR_FAST$1, {
4525
4534
  emoji: '📖✍️'
4526
4535
  }], [14, TISHREI$1, 'Erev Sukkot', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
@@ -4546,37 +4555,37 @@ function getHolidaysForYear(year) {
4546
4555
  cholHaMoedDay: -1
4547
4556
  }], [22, TISHREI$1, 'Shmini Atzeret', CHAG | LIGHT_CANDLES_TZEIS$1 | CHUL_ONLY$1], // [22, TISHREI, "Shmini Atzeret / Simchat Torah", YOM_TOV_ENDS | IL_ONLY],
4548
4557
  [22, TISHREI$1, 'Shmini Atzeret', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [23, TISHREI$1, 'Simchat Torah', CHAG | YOM_TOV_ENDS$1 | CHUL_ONLY$1]]);
4549
- add(new HolidayEvent(new HDate$1(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4558
+ add(new HolidayEvent(new HDate(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4550
4559
  emoji: chanukahEmoji + KEYCAP_DIGITS[1]
4551
4560
  })); // yes, we know Kislev 30-32 are wrong
4552
4561
  // HDate() corrects the month automatically
4553
4562
 
4554
4563
  for (let candles = 2; candles <= 8; candles++) {
4555
- const hd = new HDate$1(23 + candles, KISLEV$1, year);
4564
+ const hd = new HDate(23 + candles, KISLEV$1, year);
4556
4565
  add(new HolidayEvent(hd, `Chanukah: ${candles} Candles`, MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4557
4566
  chanukahDay: candles - 1,
4558
4567
  emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
4559
4568
  }));
4560
4569
  }
4561
4570
 
4562
- add(new HolidayEvent(new HDate$1(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4571
+ add(new HolidayEvent(new HDate(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4563
4572
  chanukahDay: 8,
4564
4573
  emoji: chanukahEmoji
4565
4574
  }));
4566
- add(new AsaraBTevetEvent(new HDate$1(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate$1(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
4575
+ add(new AsaraBTevetEvent(new HDate(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
4567
4576
  emoji: '🌳'
4568
4577
  }));
4569
4578
  const pesachAbs = pesach.abs();
4570
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4579
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4571
4580
  addEvents(year, [[13, ADAR_II$1, 'Erev Purim', EREV$1 | MINOR_HOLIDAY$1, {
4572
4581
  emoji: '🎭️📜'
4573
4582
  }], [14, ADAR_II$1, 'Purim', MINOR_HOLIDAY$1, {
4574
4583
  emoji: '🎭️📜'
4575
4584
  }]]);
4576
- add(new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4585
+ add(new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4577
4586
  emoji: '🎭️📜'
4578
- }), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
4579
- pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate$1(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4587
+ }), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
4588
+ pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4580
4589
  addEvents(year, [[14, NISAN$1, 'Erev Pesach', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
4581
4590
  [15, NISAN$1, 'Pesach I', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [16, NISAN$1, 'Pesach II (CH\'\'M)', IL_ONLY$1 | CHOL_HAMOED$1, {
4582
4591
  cholHaMoedDay: 1
@@ -4611,22 +4620,22 @@ function getHolidaysForYear(year) {
4611
4620
  }], [1, ELUL$1, 'Rosh Hashana LaBehemot', MINOR_HOLIDAY$1, {
4612
4621
  emoji: '🐑'
4613
4622
  }]]);
4614
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, new HDate$1(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4623
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4615
4624
  emoji: '🕍'
4616
4625
  }));
4617
- add(new HolidayEvent(new HDate$1(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4626
+ add(new HolidayEvent(new HDate(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4618
4627
  emoji: '🍏🍯'
4619
4628
  }));
4620
4629
 
4621
- if (HDate$1.isLeapYear(year)) {
4622
- add(new HolidayEvent(new HDate$1(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4630
+ if (HDate.isLeapYear(year)) {
4631
+ add(new HolidayEvent(new HDate(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4623
4632
  emoji: '🎭️'
4624
4633
  }));
4625
4634
  }
4626
4635
 
4627
4636
  if (year >= 5711) {
4628
4637
  // Yom HaShoah first observed in 1951
4629
- let nisan27dt = new HDate$1(27, NISAN$1, year);
4638
+ let nisan27dt = new HDate(27, NISAN$1, year);
4630
4639
  /* When the actual date of Yom Hashoah falls on a Friday, the
4631
4640
  * state of Israel observes Yom Hashoah on the preceding
4632
4641
  * Thursday. When it falls on a Sunday, Yom Hashoah is observed
@@ -4635,9 +4644,9 @@ function getHolidaysForYear(year) {
4635
4644
  */
4636
4645
 
4637
4646
  if (nisan27dt.getDay() == FRI$1) {
4638
- nisan27dt = new HDate$1(26, NISAN$1, year);
4647
+ nisan27dt = new HDate(26, NISAN$1, year);
4639
4648
  } else if (nisan27dt.getDay() == SUN) {
4640
- nisan27dt = new HDate$1(28, NISAN$1, year);
4649
+ nisan27dt = new HDate(28, NISAN$1, year);
4641
4650
  }
4642
4651
 
4643
4652
  add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
@@ -4659,34 +4668,34 @@ function getHolidaysForYear(year) {
4659
4668
  day = 4;
4660
4669
  }
4661
4670
 
4662
- add(new HolidayEvent(new HDate$1(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate$1(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
4671
+ add(new HolidayEvent(new HDate(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
4663
4672
  }
4664
4673
 
4665
4674
  if (year >= 5727) {
4666
4675
  // Yom Yerushalayim only celebrated after 1967
4667
- add(new HolidayEvent(new HDate$1(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4676
+ add(new HolidayEvent(new HDate(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4668
4677
  }
4669
4678
 
4670
4679
  if (year >= 5769) {
4671
- add(new HolidayEvent(new HDate$1(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4680
+ add(new HolidayEvent(new HDate(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4672
4681
  }
4673
4682
 
4674
4683
  if (year >= 5777) {
4675
- add(new HolidayEvent(new HDate$1(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate$1(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
4684
+ add(new HolidayEvent(new HDate(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
4676
4685
  }
4677
4686
 
4678
- let tamuz17 = new HDate$1(17, TAMUZ, year);
4687
+ let tamuz17 = new HDate(17, TAMUZ, year);
4679
4688
  let tamuz17attrs;
4680
4689
 
4681
4690
  if (tamuz17.getDay() == SAT$1) {
4682
- tamuz17 = new HDate$1(18, TAMUZ, year);
4691
+ tamuz17 = new HDate(18, TAMUZ, year);
4683
4692
  tamuz17attrs = {
4684
4693
  observed: true
4685
4694
  };
4686
4695
  }
4687
4696
 
4688
4697
  add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
4689
- let av9dt = new HDate$1(9, AV, year);
4698
+ let av9dt = new HDate(9, AV, year);
4690
4699
  let av9title = 'Tish\'a B\'Av';
4691
4700
  let av9attrs;
4692
4701
 
@@ -4699,17 +4708,17 @@ function getHolidaysForYear(year) {
4699
4708
  }
4700
4709
 
4701
4710
  const av9abs = av9dt.abs();
4702
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
4703
- const monthsInYear = HDate$1.monthsInYear(year);
4711
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
4712
+ const monthsInYear = HDate.monthsInYear(year);
4704
4713
 
4705
4714
  for (let month = 1; month <= monthsInYear; month++) {
4706
- const monthName = HDate$1.getMonthName(month, year);
4715
+ const monthName = HDate.getMonthName(month, year);
4707
4716
 
4708
- if ((month == NISAN$1 ? HDate$1.daysInMonth(HDate$1.monthsInYear(year - 1), year - 1) : HDate$1.daysInMonth(month - 1, year)) == 30) {
4709
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4710
- add(new RoshChodeshEvent(new HDate$1(30, month - 1, year), monthName));
4717
+ if ((month == NISAN$1 ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1) : HDate.daysInMonth(month - 1, year)) == 30) {
4718
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4719
+ add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));
4711
4720
  } else if (month !== TISHREI$1) {
4712
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4721
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4713
4722
  }
4714
4723
 
4715
4724
  if (month == ELUL$1) {
@@ -4717,8 +4726,8 @@ function getHolidaysForYear(year) {
4717
4726
  } // Don't worry about month overrun; will get "Nisan" for month=14
4718
4727
 
4719
4728
 
4720
- const nextMonthName = HDate$1.getMonthName(month + 1, year);
4721
- add(new MevarchimChodeshEvent(new HDate$1(29, month, year).onOrBefore(SAT$1), nextMonthName));
4729
+ const nextMonthName = HDate.getMonthName(month + 1, year);
4730
+ add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
4722
4731
  }
4723
4732
 
4724
4733
  const sedra = getSedra(year, false);
@@ -4728,14 +4737,14 @@ function getHolidaysForYear(year) {
4728
4737
  return h;
4729
4738
  }
4730
4739
 
4731
- var version="3.32.1";
4740
+ var version="3.33.0";
4732
4741
 
4733
- var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
4742
+ var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"],Berakhot:["Berakhos"],Sheviit:["Sheviis"],Terumot:["Terumos"],Maasrot:["Maasros"],Eduyot:["Eduyos"],Avot:["Avos"],Bekhorot:["Bekhoros"],Middot:["Middos"],Oholot:["Oholos"],Tahorot:["Tahoros"],Mikvaot:["Mikvaos"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
4734
4743
 
4735
4744
  Locale.addLocale('ashkenazi', poAshkenazi);
4736
4745
  Locale.addLocale('a', poAshkenazi);
4737
4746
 
4738
- var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מנחה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מנחה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"]}};var poHe = {headers:headers,contexts:contexts};
4747
+ var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מנחה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מנחה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],"Nightfall - End of ordained fasts":["לַיְלָה - גמר תעניות דרבנן"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"],Berakhot:["ברכות"],Peah:["פאה"],Demai:["דמאי"],Kilayim:["כלאים"],Sheviit:["שביעית"],Terumot:["תרומות"],Maasrot:["מעשרות"],"Maaser Sheni":["מעשר שני"],Challah:["חלה"],Orlah:["ערלה"],Bikkurim:["ביכורים"],"Rosh Hashanah":["ראש השנה"],Gittin:["גיטין"],"Bava Kamma":["בבא קמא"],"Bava Metzia":["בבא מציעא"],"Bava Batra":["בבא בתרא"],Eduyot:["עדיות"],Avot:["אבות"],Bekhorot:["בכורות"],Arakhin:["ערכין"],Middot:["מדות"],Kelim:["כלים"],Oholot:["אהלות"],Negaim:["נגעים"],Parah:["פרה"],Tahorot:["טהרות"],Mikvaot:["מקואות"],Makhshirin:["מכשירין"],Zavim:["זבים"],"Tevul Yom":["טבול יום"],Yadayim:["ידים"],Oktzin:["עוקצים"]}};var poHe = {headers:headers,contexts:contexts};
4739
4748
 
4740
4749
  Locale.addLocale('he', poHe);
4741
4750
  Locale.addLocale('h', poHe);
@@ -4756,6 +4765,164 @@ const poHeNoNikud = {
4756
4765
  };
4757
4766
  Locale.addLocale(localeName, poHeNoNikud);
4758
4767
 
4768
+ /**
4769
+ * @private
4770
+ * @param {MishnaYomi[]} mishnaYomi
4771
+ * @param {string} locale
4772
+ * @return {string}
4773
+ */
4774
+
4775
+ function formatMyomi(mishnaYomi, locale) {
4776
+ const k1 = mishnaYomi[0].k;
4777
+ const cv1 = mishnaYomi[0].v;
4778
+ const mishna1 = Locale.gettext(k1, locale) + ' ' + cv1;
4779
+ const k2 = mishnaYomi[1].k;
4780
+ const cv2 = mishnaYomi[1].v;
4781
+
4782
+ if (k1 !== k2) {
4783
+ return mishna1 + '-' + Locale.gettext(k2, locale) + ' ' + cv2;
4784
+ }
4785
+
4786
+ const p1 = cv1.split(':');
4787
+ const p2 = cv2.split(':');
4788
+
4789
+ if (p1[0] === p2[0]) {
4790
+ return mishna1 + '-' + p2[1];
4791
+ }
4792
+
4793
+ return mishna1 + '-' + cv2;
4794
+ }
4795
+ /**
4796
+ * Event wrapper around a Mishna Yomi instance
4797
+ */
4798
+
4799
+
4800
+ class MishnaYomiEvent extends Event {
4801
+ /**
4802
+ * @param {HDate} date
4803
+ * @param {MishnaYomi[]} mishnaYomi
4804
+ */
4805
+ constructor(date, mishnaYomi) {
4806
+ super(date, formatMyomi(mishnaYomi, null), flags.MISHNA_YOMI, {
4807
+ mishnaYomi
4808
+ });
4809
+ }
4810
+ /**
4811
+ * Returns Mishna Yomi name (e.g. "Bava Metzia 10:5-6" or "Berakhot 9:5-Peah 1:1").
4812
+ * @param {string} [locale] Optional locale name (defaults to active locale).
4813
+ * @return {string}
4814
+ */
4815
+
4816
+
4817
+ render(locale) {
4818
+ return formatMyomi(this.mishnaYomi, locale);
4819
+ }
4820
+ /**
4821
+ * Returns a link to sefaria.org
4822
+ * @return {string}
4823
+ */
4824
+
4825
+
4826
+ url() {
4827
+ const mishnaYomi = this.mishnaYomi;
4828
+ const k1 = mishnaYomi[0].k;
4829
+ const mishna = k1 === 'Avot' ? 'Pirkei' : 'Mishnah';
4830
+ const name = k1.replace(/ /g, '_');
4831
+ const prefix = `https://www.sefaria.org/${mishna}_${name}`;
4832
+ const cv1 = mishnaYomi[0].v;
4833
+
4834
+ if (k1 !== mishnaYomi[1].k) {
4835
+ return `${prefix}.${cv1}?lang=bi`;
4836
+ }
4837
+
4838
+ const cv2 = mishnaYomi[1].v;
4839
+ const p1 = cv1.split(':');
4840
+ const p2 = cv2.split(':');
4841
+ const verse1 = p1.join('.');
4842
+ const verse2 = p1[0] === p2[0] ? p2[1] : p2.join('.');
4843
+ return `${prefix}.${verse1}-${verse2}?lang=bi`;
4844
+ }
4845
+
4846
+ }
4847
+
4848
+ var mishnayot = [{k:"Berakhot",v:[5,8,6,7,5,8,5,8,5]},{k:"Peah",v:[6,8,8,11,8,11,8,9]},{k:"Demai",v:[4,5,6,7,11,12,8]},{k:"Kilayim",v:[9,11,7,9,8,9,8,6,10]},{k:"Sheviit",v:[8,10,10,10,9,6,7,11,9,9]},{k:"Terumot",v:[10,6,9,13,9,6,7,12,7,12,10]},{k:"Maasrot",v:[8,8,10,6,8]},{k:"Maaser Sheni",v:[7,10,13,12,15]},{k:"Challah",v:[9,8,10,11]},{k:"Orlah",v:[9,17,9]},{k:"Bikkurim",v:[11,11,12,5]},{k:"Shabbat",v:[11,7,6,2,4,10,4,7,7,6,6,6,7,4,3,8,8,3,6,5,3,6,5,5]},{k:"Eruvin",v:[10,6,9,11,9,10,11,11,4,15]},{k:"Pesachim",v:[7,8,8,9,10,6,13,8,11,9]},{k:"Shekalim",v:[7,5,4,9,6,6,7,8]},{k:"Yoma",v:[8,7,11,6,7,8,5,9]},{k:"Sukkah",v:[11,9,15,10,8]},{k:"Beitzah",v:[10,10,8,7,7]},{k:"Rosh Hashanah",v:[9,9,8,9]},{k:"Taanit",v:[7,10,9,8]},{k:"Megillah",v:[11,6,6,10]},{k:"Moed Katan",v:[10,5,9]},{k:"Chagigah",v:[8,7,8]},{k:"Yevamot",v:[4,10,10,13,6,6,6,6,6,9,7,6,13,9,10,7]},{k:"Ketubot",v:[10,10,9,12,9,7,10,8,9,6,6,4,11]},{k:"Nedarim",v:[4,5,11,8,6,10,9,7,10,8,12]},{k:"Nazir",v:[7,10,7,7,7,11,4,2,5]},{k:"Sotah",v:[9,6,8,5,5,4,8,7,15]},{k:"Gittin",v:[6,7,8,9,9,7,9,10,10]},{k:"Kiddushin",v:[10,10,13,14]},{k:"Bava Kamma",v:[4,6,11,9,7,6,7,7,12,10]},{k:"Bava Metzia",v:[8,11,12,12,11,8,11,9,13,6]},{k:"Bava Batra",v:[6,14,8,9,11,8,4,8,10,8]},{k:"Sanhedrin",v:[6,5,8,5,5,6,11,7,6,6,6]},{k:"Makkot",v:[10,8,16]},{k:"Shevuot",v:[7,5,11,13,5,7,8,6]},{k:"Eduyot",v:[14,10,12,12,7,3,9,7]},{k:"Avodah Zarah",v:[9,7,10,12,12]},{k:"Avot",v:[18,16,18,22,23,11]},{k:"Horayot",v:[5,7,8]},{k:"Zevachim",v:[4,5,6,6,8,7,6,12,7,8,8,6,8,10]},{k:"Menachot",v:[4,5,7,5,9,7,6,7,9,9,9,5,11]},{k:"Chullin",v:[7,10,7,7,5,7,6,6,8,4,2,5]},{k:"Bekhorot",v:[7,9,4,10,6,12,7,10,8]},{k:"Arakhin",v:[4,6,5,4,6,5,5,7,8]},{k:"Temurah",v:[6,3,5,4,6,5,6]},{k:"Keritot",v:[7,6,10,3,8,9]},{k:"Meilah",v:[4,9,8,6,5,6]},{k:"Tamid",v:[4,5,9,3,6,3,4]},{k:"Middot",v:[9,6,8,7,4]},{k:"Kinnim",v:[4,5,6]},{k:"Kelim",v:[9,8,8,4,11,4,6,11,8,8,9,8,8,8,6,8,17,9,10,7,3,10,5,17,9,9,12,10,8,4]},{k:"Oholot",v:[8,7,7,3,7,7,6,6,16,7,9,8,6,7,10,5,5,10]},{k:"Negaim",v:[6,5,8,11,5,8,5,10,3,10,12,7,12,13]},{k:"Parah",v:[4,5,11,4,9,5,12,11,9,6,9,11]},{k:"Tahorot",v:[9,8,8,13,9,10,9,9,9,8]},{k:"Mikvaot",v:[8,10,4,5,6,11,7,5,7,8]},{k:"Niddah",v:[7,7,7,7,9,14,5,4,11,8]},{k:"Makhshirin",v:[6,11,8,10,11,8]},{k:"Zavim",v:[6,4,3,7,12]},{k:"Tevul Yom",v:[5,8,6,7]},{k:"Yadayim",v:[5,4,5,8]},{k:"Oktzin",v:[6,10,12]}];
4849
+
4850
+ const cycleStartDate = new Date(1947, 4, 20);
4851
+ const mishnaYomiStart = greg.greg2abs(cycleStartDate);
4852
+ const numMishnayot = 4192;
4853
+ const numDays = numMishnayot / 2;
4854
+ /**
4855
+ * Options to configure which events are returned
4856
+ * @typedef {Object} MishnaYomi
4857
+ * @property {string} k tractate name in Sephardic transliteration (e.g. "Berakhot", "Moed Katan")
4858
+ * @property {string} v verse (e.g. "2:1")
4859
+ */
4860
+ // eslint-disable-next-line require-jsdoc
4861
+
4862
+ function throwTypeError(msg) {
4863
+ throw new TypeError(msg);
4864
+ }
4865
+ /**
4866
+ * A program of daily learning in which participants study two Mishnahs
4867
+ * each day in order to finish the entire Mishnah in ~6 years.
4868
+ */
4869
+
4870
+
4871
+ class MinshnaYomiIndex {
4872
+ /**
4873
+ * Initializes a Mishna Yomi instance
4874
+ */
4875
+ constructor() {
4876
+ const tmp = Array(numMishnayot);
4877
+ let i = 0;
4878
+
4879
+ for (const tractate of mishnayot) {
4880
+ const v = tractate.v;
4881
+
4882
+ for (let chap = 1; chap <= v.length; chap++) {
4883
+ const numv = v[chap - 1];
4884
+
4885
+ for (let verse = 1; verse <= numv; verse++) {
4886
+ tmp[i++] = {
4887
+ k: tractate.k,
4888
+ v: `${chap}:${verse}`
4889
+ };
4890
+ }
4891
+ }
4892
+ }
4893
+
4894
+ const days = Array(numDays);
4895
+
4896
+ for (let j = 0; j < numDays; j++) {
4897
+ const k = j * 2;
4898
+ days[j] = [tmp[k], tmp[k + 1]];
4899
+ }
4900
+ /** @type {MishnaYomi[]} */
4901
+
4902
+
4903
+ this.days = days;
4904
+ }
4905
+ /**
4906
+ * Looks up a Mishna Yomi
4907
+ * @param {Date|HDate|number} date Gregorian date
4908
+ * @return {MishnaYomi[]}
4909
+ */
4910
+
4911
+
4912
+ lookup(date) {
4913
+ const abs = typeof date === 'number' && !isNaN(date) ? date : greg.isDate(date) ? greg.greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
4914
+
4915
+ if (abs < mishnaYomiStart) {
4916
+ const s = date.toISOString().substring(0, 10);
4917
+ throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
4918
+ }
4919
+
4920
+ const dayNum = (abs - mishnaYomiStart) % numDays;
4921
+ return this.days[dayNum];
4922
+ }
4923
+
4924
+ }
4925
+
4759
4926
  /*
4760
4927
  Hebcal - A Jewish Calendar Generator
4761
4928
  Copyright (c) 1994-2020 Danny Sadinoff
@@ -4831,6 +4998,7 @@ const RECOGNIZED_OPTIONS = {
4831
4998
  noSpecialShabbat: 1,
4832
4999
  noHolidays: 1,
4833
5000
  dafyomi: 1,
5001
+ mishnaYomi: 1,
4834
5002
  omer: 1,
4835
5003
  molad: 1,
4836
5004
  ashkenazi: 1,
@@ -4931,6 +5099,7 @@ function checkCandleOptions(options) {
4931
5099
  * @property {boolean} noSpecialShabbat - suppress Special Shabbat
4932
5100
  * @property {boolean} noHolidays - suppress regular holidays
4933
5101
  * @property {boolean} dafyomi - include Daf Yomi
5102
+ * @property {boolean} mishnaYomi - include Mishna Yomi
4934
5103
  * @property {boolean} omer - include Days of the Omer
4935
5104
  * @property {boolean} molad - include event announcing the molad
4936
5105
  * @property {boolean} ashkenazi - use Ashkenazi transliterations for event titles (default Sephardi transliterations)
@@ -4954,7 +5123,7 @@ function checkCandleOptions(options) {
4954
5123
  function getAbs(d) {
4955
5124
  if (typeof d == 'number') return d;
4956
5125
  if (greg.isDate(d)) return greg.greg2abs(d);
4957
- if (HDate$1.isHDate(d)) return d.abs();
5126
+ if (HDate.isHDate(d)) return d.abs();
4958
5127
  throw new TypeError(`Invalid date type: ${d}`);
4959
5128
  }
4960
5129
  /**
@@ -4973,7 +5142,7 @@ function getStartAndEnd(options) {
4973
5142
  }
4974
5143
 
4975
5144
  const isHebrewYear = Boolean(options.isHebrewYear);
4976
- const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate$1().getFullYear() : new Date().getFullYear();
5145
+ const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate().getFullYear() : new Date().getFullYear();
4977
5146
 
4978
5147
  if (isNaN(theYear)) {
4979
5148
  throw new RangeError(`Invalid year ${options.year}`);
@@ -4987,7 +5156,7 @@ function getStartAndEnd(options) {
4987
5156
 
4988
5157
  if (options.month) {
4989
5158
  if (isHebrewYear) {
4990
- theMonth = HDate$1.monthNum(options.month);
5159
+ theMonth = HDate.monthNum(options.month);
4991
5160
  } else {
4992
5161
  theMonth = options.month;
4993
5162
  }
@@ -4996,9 +5165,9 @@ function getStartAndEnd(options) {
4996
5165
  const numYears = parseInt(options.numYears, 10) || 1;
4997
5166
 
4998
5167
  if (isHebrewYear) {
4999
- const startDate = new HDate$1(1, theMonth || TISHREI, theYear);
5168
+ const startDate = new HDate(1, theMonth || TISHREI, theYear);
5000
5169
  let startAbs = startDate.abs();
5001
- const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate$1(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
5170
+ const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
5002
5171
  // is technically in the previous Hebrew year
5003
5172
  // (but conveniently lets us get candle-lighting time for Erev)
5004
5173
 
@@ -5052,6 +5221,7 @@ function getMaskFromOptions(options) {
5052
5221
  if (m & DAF_YOMI) options.dafyomi = true;
5053
5222
  if (m & OMER_COUNT) options.omer = true;
5054
5223
  if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
5224
+ if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
5055
5225
  options.userMask = true;
5056
5226
  return m;
5057
5227
  }
@@ -5100,6 +5270,10 @@ function getMaskFromOptions(options) {
5100
5270
  mask |= DAF_YOMI;
5101
5271
  }
5102
5272
 
5273
+ if (options.mishnaYomi) {
5274
+ mask |= flags.MISHNA_YOMI;
5275
+ }
5276
+
5103
5277
  if (options.omer) {
5104
5278
  mask |= OMER_COUNT;
5105
5279
  }
@@ -5155,6 +5329,7 @@ const HebrewCalendar = {
5155
5329
  * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
5156
5330
  * * Counting of the Omer (`options.omer`)
5157
5331
  * * Daf Yomi (`options.dafyomi`)
5332
+ * * Mishna Yomi (`options.mishnaYomi`)
5158
5333
  * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
5159
5334
  * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
5160
5335
  *
@@ -5261,8 +5436,14 @@ const HebrewCalendar = {
5261
5436
  options.candlelighting = false;
5262
5437
  }
5263
5438
 
5439
+ let mishnaYomiIndex;
5440
+
5441
+ if (options.mishnaYomi) {
5442
+ mishnaYomiIndex = new MinshnaYomiIndex();
5443
+ }
5444
+
5264
5445
  for (let abs = startAbs; abs <= endAbs; abs++) {
5265
- const hd = new HDate$1(abs);
5446
+ const hd = new HDate(abs);
5266
5447
  const hyear = hd.getFullYear();
5267
5448
 
5268
5449
  if (hyear != currentYear) {
@@ -5274,8 +5455,8 @@ const HebrewCalendar = {
5274
5455
  }
5275
5456
 
5276
5457
  if (options.omer) {
5277
- beginOmer = HDate$1.hebrew2abs(currentYear, NISAN, 16);
5278
- endOmer = HDate$1.hebrew2abs(currentYear, SIVAN, 5);
5458
+ beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);
5459
+ endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);
5279
5460
  }
5280
5461
  }
5281
5462
 
@@ -5299,6 +5480,11 @@ const HebrewCalendar = {
5299
5480
  evts.push(new DafYomiEvent(hd));
5300
5481
  }
5301
5482
 
5483
+ if (options.mishnaYomi && abs >= mishnaYomiStart) {
5484
+ const mishnaYomi = mishnaYomiIndex.lookup(abs);
5485
+ evts.push(new MishnaYomiEvent(hd, mishnaYomi));
5486
+ }
5487
+
5302
5488
  if (options.omer && abs >= beginOmer && abs <= endOmer) {
5303
5489
  const omer = abs - beginOmer + 1;
5304
5490
  evts.push(new OmerEvent(hd, omer));
@@ -5307,7 +5493,7 @@ const HebrewCalendar = {
5307
5493
  const hmonth = hd.getMonth();
5308
5494
 
5309
5495
  if (options.molad && dow == SAT && hmonth != ELUL && hd.getDate() >= 23 && hd.getDate() <= 29) {
5310
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? NISAN : hmonth + 1;
5496
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;
5311
5497
  evts.push(new MoladEvent(hd, hyear, monNext));
5312
5498
  }
5313
5499
 
@@ -5369,7 +5555,7 @@ const HebrewCalendar = {
5369
5555
  * @return {HDate} anniversary occurring in `hyear`
5370
5556
  */
5371
5557
  getBirthdayOrAnniversary: function (hyear, gdate) {
5372
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5558
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5373
5559
  const origYear = orig.getFullYear();
5374
5560
 
5375
5561
  if (hyear <= origYear) {
@@ -5377,24 +5563,24 @@ const HebrewCalendar = {
5377
5563
  return undefined;
5378
5564
  }
5379
5565
 
5380
- const isOrigLeap = HDate$1.isLeapYear(origYear);
5566
+ const isOrigLeap = HDate.isLeapYear(origYear);
5381
5567
  let month = orig.getMonth();
5382
5568
  let day = orig.getDate();
5383
5569
 
5384
5570
  if (month == ADAR_I && !isOrigLeap || month == ADAR_II && isOrigLeap) {
5385
- month = HDate$1.monthsInYear(hyear);
5386
- } else if (month == CHESHVAN && day == 30 && !HDate$1.longCheshvan(hyear)) {
5571
+ month = HDate.monthsInYear(hyear);
5572
+ } else if (month == CHESHVAN && day == 30 && !HDate.longCheshvan(hyear)) {
5387
5573
  month = KISLEV;
5388
5574
  day = 1;
5389
- } else if (month == KISLEV && day == 30 && HDate$1.shortKislev(hyear)) {
5575
+ } else if (month == KISLEV && day == 30 && HDate.shortKislev(hyear)) {
5390
5576
  month = TEVET;
5391
5577
  day = 1;
5392
- } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate$1.isLeapYear(hyear)) {
5578
+ } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate.isLeapYear(hyear)) {
5393
5579
  month = NISAN;
5394
5580
  day = 1;
5395
5581
  }
5396
5582
 
5397
- return new HDate$1(day, month, hyear);
5583
+ return new HDate(day, month, hyear);
5398
5584
  },
5399
5585
 
5400
5586
  /**
@@ -5432,7 +5618,7 @@ const HebrewCalendar = {
5432
5618
  * @return {HDate} anniversary occurring in hyear
5433
5619
  */
5434
5620
  getYahrzeit: function (hyear, gdate) {
5435
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5621
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5436
5622
  let hDeath = {
5437
5623
  yy: orig.getFullYear(),
5438
5624
  mm: orig.getMonth(),
@@ -5444,18 +5630,18 @@ const HebrewCalendar = {
5444
5630
  return undefined;
5445
5631
  }
5446
5632
 
5447
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hDeath.yy + 1)) {
5633
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hDeath.yy + 1)) {
5448
5634
  // If it's Heshvan 30 it depends on the first anniversary;
5449
5635
  // if that was not Heshvan 30, use the day before Kislev 1.
5450
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, KISLEV, 1) - 1);
5451
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hDeath.yy + 1)) {
5636
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, KISLEV, 1) - 1);
5637
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hDeath.yy + 1)) {
5452
5638
  // If it's Kislev 30 it depends on the first anniversary;
5453
5639
  // if that was not Kislev 30, use the day before Teveth 1.
5454
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, TEVET, 1) - 1);
5640
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, TEVET, 1) - 1);
5455
5641
  } else if (hDeath.mm == ADAR_II) {
5456
5642
  // If it's Adar II, use the same day in last month of year (Adar or Adar II).
5457
- hDeath.mm = HDate$1.monthsInYear(hyear);
5458
- } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate$1.isLeapYear(hyear)) {
5643
+ hDeath.mm = HDate.monthsInYear(hyear);
5644
+ } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate.isLeapYear(hyear)) {
5459
5645
  // If it's the 30th in Adar I and year is not a leap year
5460
5646
  // (so Adar has only 29 days), use the last day in Shevat.
5461
5647
  hDeath.dd = 30;
@@ -5464,15 +5650,15 @@ const HebrewCalendar = {
5464
5650
  // advance day to rosh chodesh if needed
5465
5651
 
5466
5652
 
5467
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hyear)) {
5653
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hyear)) {
5468
5654
  hDeath.mm = KISLEV;
5469
5655
  hDeath.dd = 1;
5470
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hyear)) {
5656
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hyear)) {
5471
5657
  hDeath.mm = TEVET;
5472
5658
  hDeath.dd = 1;
5473
5659
  }
5474
5660
 
5475
- return new HDate$1(hDeath.dd, hDeath.mm, hyear);
5661
+ return new HDate(hDeath.dd, hDeath.mm, hyear);
5476
5662
  },
5477
5663
 
5478
5664
  /**
@@ -5493,12 +5679,12 @@ const HebrewCalendar = {
5493
5679
  */
5494
5680
  getHolidaysForYearArray: function (year, il) {
5495
5681
  const yearMap = HebrewCalendar.getHolidaysForYear(year);
5496
- const startAbs = HDate$1.hebrew2abs(year, TISHREI, 1);
5497
- const endAbs = HDate$1.hebrew2abs(year + 1, TISHREI, 1) - 1;
5682
+ const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
5683
+ const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
5498
5684
  const events = [];
5499
5685
 
5500
5686
  for (let absDt = startAbs; absDt <= endAbs; absDt++) {
5501
- const hd = new HDate$1(absDt);
5687
+ const hd = new HDate(absDt);
5502
5688
  const holidays = yearMap.get(hd.toString());
5503
5689
 
5504
5690
  if (holidays) {
@@ -5517,7 +5703,7 @@ const HebrewCalendar = {
5517
5703
  * @return {Event[]}
5518
5704
  */
5519
5705
  getHolidaysOnDate: function (date, il) {
5520
- const hd = HDate$1.isHDate(date) ? date : new HDate$1(date);
5706
+ const hd = HDate.isHDate(date) ? date : new HDate(date);
5521
5707
  const yearMap = HebrewCalendar.getHolidaysForYear(hd.getFullYear());
5522
5708
  const events = yearMap.get(hd.toString());
5523
5709
 
@@ -5652,7 +5838,7 @@ exports.CandleLightingEvent = CandleLightingEvent;
5652
5838
  exports.DafYomi = DafYomi;
5653
5839
  exports.DafYomiEvent = DafYomiEvent;
5654
5840
  exports.Event = Event;
5655
- exports.HDate = HDate$1;
5841
+ exports.HDate = HDate;
5656
5842
  exports.HavdalahEvent = HavdalahEvent;
5657
5843
  exports.HebrewCalendar = HebrewCalendar;
5658
5844
  exports.HebrewDateEvent = HebrewDateEvent;